Compare commits

...

3148 Commits

Author SHA1 Message Date
Christiaan Arnoldus f232e95a39 Merge pull request #11301 from Kilo-Org/console-explore-privacy-filter
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
Check Links / link-checker (push) Has been cancelled
typecheck / typecheck-js (push) Has been cancelled
typecheck / typecheck-jetbrains (push) Has been cancelled
typecheck / typecheck (push) Has been cancelled
feat(cli): add a privacy filter to Console model Explore
2026-06-19 17:22:47 +02:00
Marian Alexandru Alecu 0255a4a7eb Merge pull request #11155 from Kilo-Org/fix/local-review-scale-sub-agents
fix(cli): scale local-review sub-agents based on diff size and complexity
2026-06-19 18:03:00 +03:00
Alex Alecu a0305b337b test(review): update prompt assertions 2026-06-19 17:45:47 +03:00
Marian Alexandru Alecu db26772c67 Merge branch 'main' into fix/local-review-scale-sub-agents 2026-06-19 16:21:13 +03:00
Catriel Müller 646d2104cd Merge pull request #9795 from Fatty911/docs/chunk-idle-timeout-silent-dropout
docs(cli): propagate chunkTimeout to streamText and document provider options
2026-06-19 10:19:52 -03:00
Christiaan Arnoldus 55957a153f Merge pull request #11418 from Kilo-Org/docs/custom-provider-options
docs(vscode): clarify custom provider protocol selection
2026-06-19 15:14:52 +02:00
Christiaan Arnoldus 30e62509b7 Merge branch 'main' into docs/custom-provider-options 2026-06-19 14:57:13 +02:00
chrarnoldus 2edb3eeca5 fix(cli): limit privacy filtering to gateway models
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-19 12:51:10 +00:00
Catriel Müller c1589777ff Merge pull request #11212 from IamCoder18/fix/headless-docs-dialog
fix(cli): improve headless docs dialog UX
2026-06-19 09:49:42 -03:00
Christiaan Arnoldus 4d018deffd Merge branch 'main' into docs/custom-provider-options 2026-06-19 14:38:23 +02:00
Catriel Müller ab7c32d7d4 refactor: kilocode isolation 2026-06-19 09:33:33 -03:00
Catriel Müller 77a72858d1 refactor: merge main 2026-06-19 09:28:42 -03:00
Catriel Müller 5a18c2a468 Merge pull request #11319 from grandmaster451/fix/headless-docs-url
fix(tui): show docs URL in dialog when browser cannot open on headless systems
2026-06-19 09:19:58 -03:00
chrarnoldus baf5cea43e fix(cli): scope privacy filter to Kilo Gateway
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-19 12:13:59 +00:00
Marius c829642054 fix(vscode): keep chat streaming after revert (#11464) 2026-06-19 14:09:46 +02:00
Christiaan Arnoldus 2700c39eb1 Merge branch 'main' into console-explore-privacy-filter 2026-06-19 14:08:11 +02:00
Christiaan Arnoldus 32e124d55a Merge branch 'main' into docs/custom-provider-options 2026-06-19 14:07:49 +02:00
Christiaan Arnoldus 033aefec9a Apply suggestion from @chrarnoldus 2026-06-19 14:07:33 +02:00
Catriel Müller f2bb02dd83 Merge pull request #11446 from nyxst4ck/fix/settings-context-help
fix(console): add context to settings fields
2026-06-19 09:05:17 -03:00
Fatty911 12d20074bf fix(cli): fall back to item.options for chunkTimeout when not in merged options
ProviderTransform.options() does not merge arbitrary provider options into
the merged options object. Read chunkTimeout from item.options as a fallback
so provider.<id>.options.chunkTimeout works as documented.

Addresses kilo-code-bot review finding in PR #9795.
2026-06-19 08:59:21 -03:00
Fatty911 c3e15d1486 docs(cli): add chunkTimeout to provider options and propagate to streamText
Add chunkTimeout propagation to Vercel AI SDK streamText timeout.chunkMs
for silent stream dropout detection. The config option already existed in
the provider schema and worked at the fetch wrapper level, but was not
passed through to the streamText call. This adds dual-layer protection
at both the fetch layer and the SDK stream consumer layer.

Also updates docs to document chunkTimeout with failure scenario and
recommended values (15-30s).
2026-06-19 08:58:30 -03:00
Catriel Müller e8bcb70b9a fix: minimal css fix 2026-06-19 08:46:11 -03:00
Marius b0e7f4ac48 Merge pull request #11463 from Kilo-Org/uttermost-reindeer
fix(agent-manager): speed up worktree hover cards
2026-06-19 12:51:43 +02:00
Johnny Eric Amancio f714423511 fix: Add vercel bypass token to opencode release watcher (#11460) 2026-06-19 10:45:42 +00:00
Marius f67ea4dea6 Merge pull request #11455 from Kilo-Org/opaque-mole
fix: hide provider errors after session revert
2026-06-19 12:42:50 +02:00
marius-kilocode 909ec73b9c fix(agent-manager): speed up worktree hover cards 2026-06-19 12:35:39 +02:00
kilo-maintainer[bot] 4bfd65264f chore: update nix node_modules hashes 2026-06-19 10:12:49 +00:00
Christiaan Arnoldus ff7db0dab4 Merge pull request #11421 from Kilo-Org/feat/byok-model-badges
feat: indicate BYOK availability in model pickers
2026-06-19 12:08:19 +02:00
Marius 87b6b8e9f8 Merge pull request #11453 from Kilo-Org/wool-jeans
fix: silence subagent completion sounds
2026-06-19 12:05:30 +02:00
Marius c726f8776e Merge pull request #11433 from Kilo-Org/candy-mouth
fix(agent-manager): stabilize concurrent subagent rendering
2026-06-19 12:00:50 +02:00
Christiaan Arnoldus 9b6b7754f9 Merge pull request #11416 from Kilo-Org/docs/hide-prompt-training-models
docs: document prompt-training model visibility
2026-06-19 12:00:38 +02:00
Marius 576a6fb154 Merge pull request #11423 from Kilo-Org/honored-responsibility
fix(vscode): keep diff identifiers intact
2026-06-19 11:56:08 +02:00
marius-kilocode 4d0933371c fix: hide provider errors after session revert 2026-06-19 11:51:50 +02:00
marius-kilocode d3c58e6c1f test(cli): preserve promise facade ratchet 2026-06-19 11:47:48 +02:00
marius-kilocode f7e68d19d9 fix: silence subagent completion sounds 2026-06-19 11:41:57 +02:00
Marius 3a0a4a40cf Merge pull request #10940 from mjnaderi/fix/vscode-panel-command-registration
fix(vscode): tolerate duplicate panel command registration
2026-06-19 11:40:19 +02:00
Christiaan Arnoldus 5f54b5433d Merge branch 'main' into feat/byok-model-badges 2026-06-19 11:26:39 +02:00
Marius 02a728da52 Merge pull request #11451 from Kilo-Org/small-leaf
fix(vscode): widen chat readable lane
2026-06-19 11:24:28 +02:00
marius-kilocode 6bd1e79c58 fix(vscode): preserve panel command outcomes 2026-06-19 11:23:35 +02:00
github-actions[bot] d319acac10 chore: update kilo-vscode visual regression baselines 2026-06-19 09:07:06 +00:00
marius-kilocode 732fbc30dc fix(vscode): widen chat readable lane 2026-06-19 11:03:50 +02:00
Marian Alexandru Alecu 37026c392c Merge branch 'main' into fix/local-review-scale-sub-agents 2026-06-19 11:21:36 +03:00
Christiaan Arnoldus b78c9b5ad8 Merge branch 'main' into feat/byok-model-badges 2026-06-19 10:04:54 +02:00
nyxst4ck 5d7b1bf4a3 fix(console): add context to settings fields 2026-06-19 02:43:43 -03:00
Catriel Müller 6f86c95279 Merge pull request #11434 from Kilo-Org/zest-canoe
feat: add account profile to Kilo Console
2026-06-18 16:03:39 -03:00
Kirill Kalishev 7a1be0564a Merge pull request #11435 from Kilo-Org/jetbrains/release/v7.0.1-rc.12
release(jetbrains): v7.0.1-rc.12
2026-06-18 14:41:52 -04:00
Kirill Kalishev 33fb3a2f28 docs(jetbrains): edit changelog for v7.0.1-rc.12 2026-06-18 14:04:26 -04:00
kilo-maintainer[bot] d1bfd7dbee release(jetbrains): v7.0.1-rc.12 2026-06-18 17:50:34 +00:00
Catriel Müller b45dd9b303 feat: add account profile to Kilo Console 2026-06-18 14:10:09 -03:00
Rietie 1cd34f2e3e Merge pull request #11431 from Kilo-Org/docs/add-auto-efficient-tier
docs: add Auto Efficient tier to Auto Model documentation
2026-06-18 19:00:05 +02:00
marius-kilocode 2dcd90e176 test(agent-manager): cover rendered tool identity 2026-06-18 18:47:04 +02:00
marius-kilocode 9d2c8965ec test(agent-manager): remove implicit DOM dependency 2026-06-18 18:37:59 +02:00
marius-kilocode 8e622255d5 test(agent-manager): verify rendered tool identity 2026-06-18 18:31:47 +02:00
marius-kilocode 867beac3a1 fix(agent-manager): stabilize concurrent subagent rendering 2026-06-18 17:30:52 +02:00
kiloconnect[bot] c18baae9ca docs: add Auto Efficient tier to Auto Model documentation 2026-06-18 15:11:38 +00:00
chrarnoldus 4ff799f4ac docs: clarify BYOK badge applicability in documentation
Update documentation and changesets to specify that BYOK badges
apply specifically to Kilo Gateway models and do not apply to models
selected through other providers.

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 14:39:48 +00:00
chrarnoldus f0b432e1dc fix: prioritize BYOK model badges
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 14:04:40 +00:00
Christiaan Arnoldus 48b28e8195 Merge branch 'main' into feat/byok-model-badges 2026-06-18 15:40:58 +02:00
chrarnoldus f6a05fb3d4 fix(jetbrains): distinguish BYOK model badges
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 13:17:00 +00:00
chrarnoldus 2d9e55d914 docs: retain custom provider screenshots
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 13:15:26 +00:00
github-actions[bot] ac3550b76e chore: update kilo-vscode visual regression baselines 2026-06-18 13:10:23 +00:00
chrarnoldus 8b32375fe6 docs(vscode): clarify custom provider protocols
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 13:07:22 +00:00
marius-kilocode aa17a8a419 fix(vscode): keep diff identifiers intact 2026-06-18 15:01:12 +02:00
chrarnoldus ccec216238 feat: show BYOK availability in model pickers
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 12:42:54 +00:00
chrarnoldus c442402281 docs: clarify reasoning split API support
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 12:35:39 +00:00
chrarnoldus e5115c90e2 docs: scope provider API recommendations to VS Code
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 12:34:26 +00:00
Christiaan Arnoldus b930a19b7b Merge pull request #11412 from Kilo-Org/fix/kilo-gateway-data-collection
fix: deny Kilo Gateway data collection
2026-06-18 14:29:01 +02:00
chrarnoldus 0e614dd452 docs: refine custom provider recommendations
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 12:28:53 +00:00
Mark IJbema d59825c697 Merge pull request #11419 from Kilo-Org/revert-11379-add-top-level-announcement-notification
Revert "Add top-level announcement notification"
2026-06-18 14:11:33 +02:00
Mark IJbema 6190c704c8 Revert "Add top-level announcement notification" 2026-06-18 14:10:07 +02:00
grandmaster451 9569166fec fix(tui): use kilocode_change start/end markers for headless docs fallback
Per review feedback.
2026-06-18 15:10:00 +03:00
chrarnoldus 51f3a0a14d docs: document custom provider API options
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 12:09:01 +00:00
kilo-maintainer[bot] b134c1c18f release: v7.3.49 2026-06-18 12:00:41 +00:00
chrarnoldus c8a05db140 docs: document prompt-training model visibility
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 12:00:13 +00:00
Mark IJbema 47a302f346 Merge pull request #11303 from Kilo-Org/mark/replace-roo-code-session-import
feat(vscode): import sessions from Roo Code
2026-06-18 13:44:59 +02:00
kilo-maintainer[bot] 6187a557ba release: v7.3.48 2026-06-18 11:39:42 +00:00
kilo-maintainer[bot] bcae818d91 chore: update nix node_modules hashes 2026-06-18 11:38:06 +00:00
Imanol Maiztegui 036d1cf4f6 Merge pull request #11356 from Kilo-Org/imanolmaiztegui/kilo-opencode-v1.15.9
OpenCode v1.15.9
2026-06-18 13:26:40 +02:00
Christiaan Arnoldus a5277487fa Merge branch 'main' into fix/kilo-gateway-data-collection 2026-06-18 13:25:48 +02:00
Imanol Maiztegui b46a40d537 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.15.9 2026-06-18 13:09:27 +02:00
Marius ec00d6c9cd Merge pull request #11404 from Kilo-Org/toothsome-mask
fix(vscode): stop moved active sessions
2026-06-18 12:52:06 +02:00
chrarnoldus 3bb2b20268 refactor(gateway): transform request bodies once
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 10:45:30 +00:00
Marius bbd520dce2 Merge pull request #11410 from Kilo-Org/jungle-cobbler
fix(cli): share session runtime with HTTP listeners
2026-06-18 12:41:32 +02:00
marius-kilocode 09a7e89f5b refactor(vscode): extract session abort tracking 2026-06-18 12:37:11 +02:00
Mark IJbema f8156de65e style(vscode): format Roo import translations 2026-06-18 12:35:40 +02:00
chrarnoldus 2c9e72c14a fix: deny Kilo Gateway data collection
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 10:34:30 +00:00
Imanol Maiztegui 145a9b4e63 chore(sync): trim irrelevant upstream entries and rebrand env vars in changeset
Remove v2 HTTP API error-schema notes and `opencode login` default
that do not apply to the Kilo fork. Rename OPENCODE_PERMISSION to
KILO_PERMISSION to reflect the correct environment variable.
2026-06-18 12:28:02 +02:00
markijbema 44d427520b i18n(vscode): translate Roo Code import strings for all locales
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 10:25:48 +00:00
Marius 338630bd84 Merge pull request #11400 from Kilo-Org/docs/remove-managed-indexing
docs(kilo-docs): remove Managed Indexing documentation
2026-06-18 12:21:33 +02:00
markijbema d83fe7206e refactor(vscode): drop dead meta parameter from session migrate()
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 10:09:36 +00:00
marius-kilocode 344a6a5f0f fix(cli): share listener session runtime 2026-06-18 11:42:49 +02:00
markijbema 31f1f3118c fix(vscode): make Roo session discovery reliable
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 09:21:48 +00:00
Mark IJbema 7606ee893c Merge pull request #11401 from Kilo-Org/mark/stabilize-visual-regression
test(vscode): stabilize visual regression snapshots
2026-06-18 11:11:44 +02:00
Marius 30debe190c Merge pull request #11402 from Kilo-Org/humorous-manuscript
fix(vscode): prevent shell output from blanking webview
2026-06-18 11:05:27 +02:00
marius-kilocode d43df066d8 refactor(vscode): minimize moved session abort fix 2026-06-18 10:54:34 +02:00
marius-kilocode f35d9c5fa3 fix(vscode): stop moved active sessions 2026-06-18 10:37:34 +02:00
markijbema 9994679cfe test(vscode): fail fast when screenshots do not settle
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 08:25:49 +00:00
Mark IJbema 37d88a0f86 Merge pull request #11342 from Kilo-Org/ci/jetbrains-use-container
ci(jetbrains): run inside pre-built container, drop manual setup steps
2026-06-18 10:24:00 +02:00
github-actions[bot] 911e31dc42 chore: update kilo-vscode visual regression baselines 2026-06-18 08:21:29 +00:00
marius-kilocode 146c4f4396 fix(vscode): avoid animating shell output panels 2026-06-18 10:16:27 +02:00
marius-kilocode ee3846fe24 docs(kilo-docs): remove managed indexing docs 2026-06-18 10:11:30 +02:00
kilo-maintainer[bot] 3d26a7c52b chore: update nix node_modules hashes 2026-06-18 07:19:39 +00:00
Imanol Maiztegui 326ff35146 docs(changeset): add upstream sync notes for opencode v1.15.4 to v1.15.9
Document all incorporated upstream changes including native OpenAI
runtime preview, diff viewer redesign, Grok OAuth support, v2 HTTP API
error schemas, and numerous bugfixes across plugin loading, session
management, and TUI keybinds.
2026-06-18 09:19:19 +02:00
markijbema 9bb8a0ddf6 test(kilo-vscode): add settle function to visual regression tests
Introduce a `settle` helper function to improve the stability of visual
regression tests. The function ensures that fonts are loaded, animation
frames have processed, and specific dynamic elements (like code blocks)
have finished rendering before snapshots are taken. This helps reduce
flakiness caused by asynchronous rendering in Storybook.

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 07:14:15 +00:00
markijbema 7a17de11a3 refactor(vscode): drop unused data payload from migrationState message
The wizard always re-requests migration data via requestMigrationData on
mount, so the data attached to migrationState was never read. Send only
the needed flag and source.

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 07:10:48 +00:00
markijbema 77105faf38 fix(vscode): bound migration cache by evicting stale and completed operations
Each wizard mount generated a fresh operationId and left its cached
discovery in the per-provider map forever. Prune entries from abandoned
operations when a new data request arrives, and delete an operation's
entry once its migration finishes.

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 07:09:47 +00:00
Mark IJbema 576d71e4e2 Merge pull request #11387 from Kilo-Org/fix/console-pierre-dependency
fix(cli): restore Kilo Console release build
2026-06-18 09:07:03 +02:00
markijbema 0ae925230f fix(vscode): keep legacy session detection history-driven and stat-only
Split scanTaskStore into a history mode (legacy) that trusts taskHistory
and only stats each conversation file, and a discover mode (Roo) that
enumerates and parses task directories. This restores the prior legacy
behavior of not surfacing on-disk tasks missing from history and avoids
parsing every conversation file during detection.

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 07:06:42 +00:00
markijbema 45eab88930 docs(vscode): correct Roo import changeset to match settings UX
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-18 07:04:17 +00:00
Joshua Lambert 390de4b12a Merge pull request #9758 from Kilo-Org/sleepy-stoplight
fix(cli): restore source file when reverting a move across folders
2026-06-18 00:12:47 -04:00
Brian Turcotte ebac27ae62 Merge pull request #11379 from Kilo-Org/add-top-level-announcement-notification
Add top-level announcement notification
2026-06-17 18:23:59 -04:00
kiloconnect[bot] ba0f49ac45 style: fix prettier formatting in notifications.tsx 2026-06-17 21:50:38 +00:00
kiloconnect[bot] 42617c0009 chore: update source-links.md with notifications.tsx URLs 2026-06-17 21:50:16 +00:00
Josh Lambert 9ec1beb6e1 ci: cache console production build 2026-06-17 17:07:10 -04:00
Josh Lambert 89b1829199 fix(cli): declare console diff dependency 2026-06-17 16:33:08 -04:00
Catriel Müller 67655c47cd Merge pull request #10788 from noobezlol/fix/bash-permission-string-migration
fix(cli): handle string permission migration
2026-06-17 17:15:20 -03:00
Catriel Müller 7e1deaf1cf refactor: fix permission bypass 2026-06-17 16:46:14 -03:00
Catriel Müller 4ff5df9160 refactor: move test to kilo folder 2026-06-17 16:35:32 -03:00
Kirill Kalishev d07428d50a Merge pull request #11382 from Kilo-Org/jetbrains/release/v7.0.1-rc.11
release(jetbrains): v7.0.1-rc.11
2026-06-17 15:14:28 -04:00
github-actions[bot] a87906700c chore: update kilo-vscode visual regression baselines 2026-06-17 18:09:49 +00:00
Imanol Maiztegui 6b6b04bd96 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.15.9 2026-06-17 20:05:58 +02:00
noobezlol 941007b68d test(cli): cover json permission migration 2026-06-17 14:48:28 -03:00
noobezlol ab1c90b68c fix(cli): handle string permission migration 2026-06-17 14:48:28 -03:00
kiloconnect[bot] 7cd018af3a fix(vscode): update star giveaway notification message and make dismissible 2026-06-17 17:37:44 +00:00
Kirill Kalishev 4592ddd4be docs(jetbrains): edit changelog for v7.0.1-rc.11 2026-06-17 13:21:44 -04:00
kilo-maintainer[bot] 1e0df0cbc4 release(jetbrains): v7.0.1-rc.11 2026-06-17 17:20:54 +00:00
Imanol Maiztegui 9c182afcd0 fix(providers): enforce provider ID matching to isolate custom configurations
Provider plugins (llmgateway, nvidia, openrouter, vercel, zenmux) now
verify the provider ID before applying attribution headers, preventing
custom-defined providers sharing the same endpoint URL from being
mutated by built-in plugin logic.

Additional changes:
- Add auth-v2.json migration path for multi-account store continuity
- Remove obsolete @ai-sdk/xai patch and ConsoleCommand registration
- Add native LLM session recordings for anthropic, openai-oauth, and zen
- Update CLI help snapshots to reflect Kilo branding
- Expand i18n with usage-exceeded dialog strings (it, nl, uk)
2026-06-17 19:11:26 +02:00
Kirill Kalishev 2b5d4fef6e Merge pull request #11378 from Kilo-Org/fix/jetbrains-publish-install
ci(jetbrains): install deps before publish build
2026-06-17 13:06:15 -04:00
kiloconnect[bot] f02deb5517 feat(vscode): add top-level announcement notification 2026-06-17 16:57:12 +00:00
kirillk 90b90f0f04 docs(jetbrains): clarify release PR handoff 2026-06-17 12:48:06 -04:00
kirillk 05ed4b6a70 ci(jetbrains): install deps before publish build 2026-06-17 12:46:57 -04:00
Kirill Kalishev 4de69af48f Merge pull request #11374 from Kilo-Org/jetbrains/release/v7.0.1-rc.10
release(jetbrains): v7.0.1-rc.10
2026-06-17 12:25:39 -04:00
Kirill Kalishev 6ef2c111e5 docs(jetbrains): edit changelog for v7.0.1-rc.10 2026-06-17 12:09:33 -04:00
Mark IJbema fd4f66950d Merge pull request #11365 from Kilo-Org/mark/fork-cli-tips
refactor(cli): fork TUI tips
2026-06-17 18:04:06 +02:00
kilo-maintainer[bot] 7bfbca20e2 release(jetbrains): v7.0.1-rc.10 2026-06-17 16:03:22 +00:00
markijbema 68c7755f26 ci(jetbrains): rely on image-provided JBR libraries
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 16:02:01 +00:00
markijbema 31732111b0 Merge remote-tracking branch 'origin/main' into ci/jetbrains-use-container
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 16:01:20 +00:00
Mark IJbema 6f06eee326 Merge pull request #11372 from Kilo-Org/ci/complete-jetbrains-image
ci: complete the JetBrains test container
2026-06-17 17:51:13 +02:00
github-actions[bot] 45e3f552e7 chore: update kilo-vscode visual regression baselines 2026-06-17 15:48:34 +00:00
kiloconnect[bot] 57622a1f39 fix(cli): update kilocode_change markers in tips-view TIPS array 2026-06-17 15:47:50 +00:00
Mark IJbema 464fcb0a66 refactor(vscode): share session migration pipeline 2026-06-17 17:45:12 +02:00
Kirill Kalishev a91b33b6bc Merge pull request #11324 from Kilo-Org/leather-peace
feat(jetbrains): add session copy controls
2026-06-17 11:34:05 -04:00
Mark IJbema 45c6048312 Merge branch 'main' into mark/fork-cli-tips 2026-06-17 17:32:06 +02:00
Marius 52b3a01092 Merge pull request #11373 from Kilo-Org/poised-exoplanet
fix: silence interrupted session notifications
2026-06-17 17:32:03 +02:00
Kirill Kalishev 901ecd7c65 Merge pull request #11221 from Kilo-Org/tidy-antlion
Add JetBrains provider settings management
2026-06-17 11:31:53 -04:00
Kirill Kalishev 7fa2239ce5 Merge branch 'main' into leather-peace 2026-06-17 11:17:07 -04:00
markijbema 2ab9316913 ci: keep stable JetBrains image layers before dependency cache
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 15:15:51 +00:00
Kirill Kalishev b53183b658 Merge branch 'main' into tidy-antlion 2026-06-17 11:14:17 -04:00
Kirill Kalishev ca014e6907 Merge branch 'main' into poised-exoplanet 2026-06-17 11:13:59 -04:00
Marius 45dff0b7fa Merge pull request #11146 from Kilo-Org/feat/gitkilo
Polish VS Code tool call previews
2026-06-17 17:11:40 +02:00
markijbema 57b7177d7c ci: prewarm the JetBrains image Bun package cache
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 15:09:53 +00:00
marius-kilocode f21a34a1e6 fix: silence interrupted session notifications 2026-06-17 17:09:03 +02:00
Mark IJbema 3b1ff4f986 Merge pull request #9807 from truffle-dev/fix/cli-best-effort-telemetry-shutdown-on-exit-9788
fix(cli): bound Telemetry.shutdown so unreachable PostHog endpoint cannot block CLI exit
2026-06-17 17:04:42 +02:00
Imanol Maiztegui d5f1495f12 refactor(build): remove sidecar models-snapshot distribution
The models snapshot is now embedded directly in the compiled binary,
eliminating the need for a separate models-snapshot.json file alongside
the CLI executable.

- Delete script/kilocode/models-snapshot.ts build-time preparation
- Delete src/kilocode/provider/models-snapshot.ts runtime loader
- Remove snapshot copy steps from vscode, jetbrains, and opencode builds
- Remove snapshot existence checks from PrepareLocalCliTask/CheckCliTask
- Remove snapshot-related .gitignore and .prettierignore entries
- Simplify watch-cli, local-bin, and build scripts
- Update smoke test error messages to say "embedded" not "sidecar"
- Simplify models-snapshot tests to validate parsing only
- Remove models-snapshot from extract-source-links skip list
2026-06-17 17:03:15 +02:00
kirillk 0f9605dd48 Merge remote-tracking branch 'origin/leather-peace' into leather-peace 2026-06-17 11:01:47 -04:00
kirillk c541d849f7 fix(jetbrains): localize session copy strings 2026-06-17 11:01:01 -04:00
Kirill Kalishev f9c691dfe1 Merge branch 'main' into leather-peace 2026-06-17 11:00:27 -04:00
markijbema 9dd4711c9a ci: complete the JetBrains test container
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 14:55:20 +00:00
Brian Turcotte b384922444 Merge pull request #11335 from Kilo-Org/briant/addLanguages
adding alternate language readmes
2026-06-17 10:51:53 -04:00
github-actions[bot] b76752dd11 chore: update kilo-vscode visual regression baselines 2026-06-17 14:47:50 +00:00
Mark IJbema f59a0f1584 Merge branch 'main' into fix/cli-best-effort-telemetry-shutdown-on-exit-9788 2026-06-17 16:45:51 +02:00
markijbema 1cf9041541 test(kilocode): update command branding test file path
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 14:44:50 +00:00
marius-kilocode 5746b1e061 fix(vscode): restore tool preview motion 2026-06-17 16:43:31 +02:00
Imanol Maiztegui abdef9a7ee feat(opencode): add tool metadata buffering and migrate virtua to v0.42.3
Introduce a `metadata` method on SessionProcessor.Handle that buffers
metadata emitted before tool-call registration, then applies it on the
running transition. This decouples metadata emission timing from
tool-call lifecycle.

Downgrade virtua from 0.49.1 to 0.42.3 and migrate the virtualizer API:
- Replace `findItemIndex(scrollOffset)` with `findStartIndex()`
- Replace `bufferSize` prop with `overscan` (count-based)

Additional changes:
- Change Permission.reply return type from Promise<boolean> to Promise<void>
- Make Ruleset type readonly and remove unnecessary array spreads
- Update nvidia provider headers to reference Kilo branding
- Reorder SDK event type definitions for installation events
- Reduce promise facade allowlist in check script
2026-06-17 16:41:43 +02:00
Mark IJbema 9b12e1ca29 test(cli): avoid global runtime mock 2026-06-17 16:35:09 +02:00
marius-kilocode 9a8e271737 Merge remote-tracking branch 'origin/main' into feat/gitkilo 2026-06-17 16:25:24 +02:00
Mark IJbema d3aa48c707 refactor(cli): comment unused upstream tips 2026-06-17 16:17:33 +02:00
kirillk 00b795946a fix(jetbrains): preserve provider config scope 2026-06-17 10:16:18 -04:00
Mark IJbema 53940cbe7b refactor(cli): empty unused upstream tips 2026-06-17 16:15:36 +02:00
markijbema f40302719b ci(jetbrains): refresh apt indexes before installing font libraries
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 14:15:24 +00:00
Mark IJbema 93941001f6 chore: add telemetry shutdown changeset 2026-06-17 16:13:02 +02:00
Mark IJbema 0f2fc6f332 test(cli): cover rejected telemetry shutdown 2026-06-17 16:13:02 +02:00
Mark IJbema 549725be57 fix(cli): preserve successful exit when telemetry times out 2026-06-17 16:12:50 +02:00
Brian Turcotte d981c35e50 docs: fix readme source link 2026-06-17 10:12:10 -04:00
Brian Turcotte e208bfb5f6 docs: fix localized readme source links 2026-06-17 10:05:00 -04:00
Marius 565f740e1e Merge pull request #11351 from Kilo-Org/humorous-exhaust
fix: sync remote sessions across extension surfaces
2026-06-17 15:49:15 +02:00
Marius 97f115dbca Merge pull request #11352 from Kilo-Org/fix-a11y-model-navigation
fix(vscode): improve screen reader model navigation
2026-06-17 15:42:36 +02:00
Marius 26b36c80f8 Merge pull request #11366 from Kilo-Org/abrasive-scarer
fix(vscode): widen chat readable lane from 78ch to 88ch for more content space
2026-06-17 15:40:12 +02:00
Marius 41dcfb6528 Merge pull request #11367 from Kilo-Org/night-saltasaurus
feat(agent-manager): open pull requests with keyboard shortcut
2026-06-17 15:39:17 +02:00
Kirill Kalishev c5d8ae87b8 Merge branch 'main' into leather-peace 2026-06-17 09:21:30 -04:00
markijbema c1bef8604a ci(jetbrains): install font libs needed by JBR inside container
The JetBrains Runtime bundled with IntelliJ ships libfontmanager.so
but expects libfreetype.so.6 and libfontconfig1 on the host system.
The container image currently lacks these, causing UnsatisfiedLinkError
in any test that initialises Swing font metrics.

Install them explicitly until the updated container image (which will
include these packages in the Dockerfile) is available.

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 13:17:00 +00:00
kirillk c860f6c701 Merge remote-tracking branch 'origin/main' into leather-peace
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt
2026-06-17 09:16:52 -04:00
kirillk f6083176b1 Merge remote-tracking branch 'origin/main' into tidy-antlion
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/settings/profile/LoggedOutProfileUi.kt
2026-06-17 09:16:29 -04:00
Kirill Kalishev 2a74b20f65 Merge pull request #11310 from Kilo-Org/docs/jetbrains-eap-copyline
fix(kilo-docs): copy JetBrains EAP URL without newline
2026-06-17 09:13:54 -04:00
Kirill Kalishev f6589aaec6 Merge pull request #11332 from Kilo-Org/horn-icon
fix(jetbrains): harden release skill
2026-06-17 09:05:27 -04:00
markijbema 0b267c6bff ci(jetbrains): install bun dependencies inside container
The container image has bun pre-installed but not the project's
node_modules.  Gradle's generateOpenApiSpec task runs 'bun dev generate'
which needs drizzle-orm and other packages from node_modules.

Add an explicit 'bun install' step after checkout.

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 13:03:05 +00:00
github-actions[bot] 019ca99bf7 chore: update kilo-vscode visual regression baselines 2026-06-17 12:51:42 +00:00
Mark IJbema e93a65c0bc Merge branch 'main' into fix/cli-best-effort-telemetry-shutdown-on-exit-9788 2026-06-17 14:51:11 +02:00
marius-kilocode 1933cf7cab feat(agent-manager): open pull requests with keyboard shortcut 2026-06-17 14:49:27 +02:00
Marius ce7ec1deda Merge pull request #11358 from Kilo-Org/swamp-isthmus
fix(agent-manager): clean up failed session moves
2026-06-17 14:49:21 +02:00
Mark IJbema c04d47b479 Merge branch 'main' into mark/fork-cli-tips 2026-06-17 14:49:10 +02:00
marius-kilocode 47399547e1 fix(vscode): widen chat readable lane from 78ch to 88ch for more content space 2026-06-17 14:48:22 +02:00
Mark IJbema 1494f05123 refactor(cli): fork TUI tips 2026-06-17 14:43:42 +02:00
Mark IJbema 349aff8fb5 Merge branch 'main' into ci/jetbrains-use-container 2026-06-17 14:41:43 +02:00
Catriel Müller 4b624b9a2b Merge pull request #10781 from shssoichiro/title-bar-status
feat(cli): show terminal title status indicators
2026-06-17 09:39:37 -03:00
Imanol Maiztegui b1045ac091 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.15.9 2026-06-17 14:32:32 +02:00
Mark IJbema 910f198586 Merge pull request #11361 from Kilo-Org/fix/replace-oc-with-kilo-tip
fix(cli): comment out tips for GitHub Actions features Kilo doesn't offer
2026-06-17 14:27:29 +02:00
Mark IJbema f8052d939d Merge pull request #11343 from Kilo-Org/perf/jetbrains-test-synchronization
perf(jetbrains): eliminate fixed waits from session tests
2026-06-17 14:26:42 +02:00
Catriel Müller 7b97e4624c refactor: made this change configurable 2026-06-17 09:24:00 -03:00
Joshua Lambert 391a313a29 Merge pull request #11317 from Kilo-Org/feat/vscode-switch-deep-links
feat(vscode): support agent switch links
2026-06-17 08:22:56 -04:00
markijbema f7bc48e0bb fix(cli): comment out tips for GitHub Actions features Kilo doesn't offer
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 12:09:23 +00:00
markijbema dcb86c799d refactor(jetbrains): share coroutine test harness
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 12:05:20 +00:00
Imanol Maiztegui d2162d868a fix(opencode): remove duplicate import in httpapi-sdk test 2026-06-17 14:05:00 +02:00
Imanol Maiztegui 27d19a8deb Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.15.9 2026-06-17 14:03:20 +02:00
Mark IJbema 280fa5414e Merge branch 'main' into mark/replace-roo-code-session-import 2026-06-17 13:59:56 +02:00
Catriel Müller 1b25a4363d Merge branch 'main' into title-bar-status 2026-06-17 08:32:46 -03:00
Mark IJbema fb6b5ed63f Merge pull request #11347 from Kilo-Org/mark/fix-llm-user-agent-main
fix(cli): identify Kilo in LLM user agent
2026-06-17 13:32:18 +02:00
Marius fc92aa65dd Merge pull request #11357 from Kilo-Org/even-conifer
fix(vscode): show line numbers in edit approval diffs
2026-06-17 13:26:41 +02:00
Marius 3bf66b18e1 Merge pull request #11354 from Kilo-Org/solar-honeycrisp
fix(cli): skip bundled Atomic Chat in plugin loader
2026-06-17 13:20:35 +02:00
github-actions[bot] 757c4c7e8f chore: update kilo-vscode visual regression baselines 2026-06-17 11:10:28 +00:00
marius-kilocode 0920b3ffa8 fix(agent-manager): clean up failed session moves 2026-06-17 13:09:04 +02:00
Catriel Müller deb502482a Merge pull request #10758 from cooper-oai/codex/codex-refresh-process-lock
fix(cli): serialize Codex OAuth refresh across processes
2026-06-17 08:08:47 -03:00
marius-kilocode 14cb3dfd04 fix(vscode): show line numbers in edit approval diffs 2026-06-17 13:06:47 +02:00
Imanol Maiztegui 7a8626ad70 refactor(kilo): align codebase with upstream v1.15.9 API changes
Adapt Kilo-specific code to breaking changes introduced by the v1.15.9
merge:

- Migrate LLM test helpers to use LLMEvent factory constructors instead
  of raw event object literals
- Update provider cost extraction from `usage.raw` to native
  `usage.providerMetadata` keyed by provider name
- Preserve AI SDK raw usage in providerMetadata for billing continuity
- Replace `findStartIndex()` with `findItemIndex(scrollOffset)` in
  virtualizer calls
- Replace `overscan` prop with pixel-based `bufferSize` in virtual lists
- Change provider `all` data shape from array to Map
- Remove `useCommandPalette` dependency, replaced by mode stack pattern
- Fix ToolResultValue schema to avoid circular inference with tsgo
- Add missing test layer dependencies (HttpClient, RepositoryCache,
  Command)
- Remove obsolete models-snapshot files
- Fix Permission reply routing tests to expect NotFoundError instead of
  boolean false
- Normalize config references and fix nested type narrowing
2026-06-17 12:56:49 +02:00
marius-kilocode b2eef5cff4 chore(cli): add Atomic Chat fix changeset 2026-06-17 12:48:16 +02:00
marius-kilocode 2b304461f8 fix(cli): skip bundled Atomic Chat in plugin loader 2026-06-17 12:40:33 +02:00
marius-kilocode 5dd5c9a0de fix(vscode): improve screen reader model navigation 2026-06-17 12:38:40 +02:00
marius-kilocode 94bdfb9f8e fix: sync remote sessions across extension surfaces 2026-06-17 12:34:53 +02:00
Marius e9894141c5 Merge pull request #11349 from Kilo-Org/shadow-rhythm
fix(vscode): highlight exact changed characters in diffs
2026-06-17 12:20:15 +02:00
Marius d190725c3c fix(vscode): name compact settings tabs (#11348) 2026-06-17 10:18:02 +00:00
github-actions[bot] a5f2a84a62 chore: update kilo-vscode visual regression baselines 2026-06-17 10:06:11 +00:00
Marius 40cda29006 Merge branch 'main' into feat/gitkilo 2026-06-17 12:03:21 +02:00
marius-kilocode a5395a3521 fix(vscode): highlight exact changed characters in diffs 2026-06-17 12:02:53 +02:00
Marius 632cef9477 Merge pull request #11294 from Kilo-Org/mica-potassium
feat(agent-manager): add quick search for worktrees and sessions
2026-06-17 11:53:55 +02:00
Marius d82982d054 Merge pull request #11295 from Kilo-Org/quilt-asp
fix(vscode): restore authenticated speech input
2026-06-17 11:53:03 +02:00
Marius 27ac18b23e Merge pull request #11258 from Kilo-Org/utopian-approval
feat(vscode): render images in diff viewer
2026-06-17 11:38:38 +02:00
Mark IJbema a75da5542c test(cli): keep user agent marker focused 2026-06-17 11:27:46 +02:00
Mark IJbema 074a3363ea test(cli): annotate LLM user agent assertion 2026-06-17 11:26:43 +02:00
kilo-maintainer[bot] 6cff96c2e1 chore: update nix node_modules hashes 2026-06-17 09:25:57 +00:00
Mark IJbema b518a76aea fix(cli): identify Kilo in LLM user agent 2026-06-17 11:25:16 +02:00
Mark IJbema e50cd89758 Merge pull request #11345 from Kilo-Org/chore/remove-unused-hono-zod-validator
chore(cli): remove unused @hono/zod-validator dependency
2026-06-17 11:12:52 +02:00
Mark IJbema fb31e56f84 Merge pull request #11344 from Kilo-Org/chore/remove-stale-sst-env-types
chore: remove stale sst-env.d.ts artifacts
2026-06-17 11:12:34 +02:00
Marius cf94613c32 Merge pull request #10261 from singhvishalkr/fix/7216-ime-enter-submit
fix(webview-ui): ignore Enter during IME composition
2026-06-17 11:11:22 +02:00
github-actions[bot] 2d46adb54a chore: update kilo-vscode visual regression baselines 2026-06-17 08:59:54 +00:00
kilo-maintainer[bot] 9a9f9ad931 chore: update nix node_modules hashes 2026-06-17 08:59:33 +00:00
Marius 069685edc7 Merge branch 'main' into feat/gitkilo 2026-06-17 10:57:15 +02:00
Marius 5eff92154f Merge branch 'main' into sleepy-stoplight 2026-06-17 10:52:08 +02:00
markijbema e38c53e6e7 chore(cli): remove unused @hono/zod-validator dependency
Nothing imports @hono/zod-validator anywhere in the repo, and its peer dependency hono was removed in #10993, leaving an unmet peer. opencode was the only consumer, so the root catalog entry is dropped too.

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 08:46:49 +00:00
markijbema 33a82f23cb chore: remove stale sst-env.d.ts artifacts
These auto-generated SST type files reference a root sst-env.d.ts that does not exist and import the "sst" package, which was removed in #10993. Kilo is CLI-only with no hosted platform, so these are dead artifacts. The upstream-merge tooling already lists sst-env.d.ts in skipFiles, so they won't be re-added.

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 08:45:06 +00:00
Mark IJbema 96e6fdca4a Merge branch 'main' into perf/jetbrains-test-synchronization 2026-06-17 10:43:14 +02:00
Imanol Maiztegui b37a546450 resolve merge conflicts 2026-06-17 10:42:43 +02:00
Mark IJbema b586f1a345 Merge pull request #10993 from idreesmuhammadqazi-create/chore/remove-unused-deps
chore: remove 33 unused dependencies across monorepo
2026-06-17 10:42:35 +02:00
Marius ed565abb8a Merge branch 'main' into utopian-approval 2026-06-17 10:33:14 +02:00
Marius 74c48c902a Merge branch 'main' into quilt-asp 2026-06-17 10:33:07 +02:00
Marius f854c920af Merge branch 'main' into mica-potassium 2026-06-17 10:32:54 +02:00
Christiaan Arnoldus 474171a6a1 Merge pull request #10195 from truffle-dev/fix/custom-provider-picker-persists-after-add-10139
fix(vscode): keep custom provider picker open after partial add
2026-06-17 10:32:15 +02:00
Christiaan Arnoldus 7d6e2a5c57 Merge branch 'main' into console-explore-privacy-filter 2026-06-17 10:07:13 +02:00
Christiaan Arnoldus fab2faea9f Merge branch 'main' into fix/custom-provider-picker-persists-after-add-10139 2026-06-17 10:03:04 +02:00
Marius 0599442e08 Merge pull request #11331 from Kilo-Org/aged-front
feat(agent-manager): add close others tab action
2026-06-17 10:01:11 +02:00
markijbema 56205ea748 perf(jetbrains): eliminate fixed waits from session tests
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 07:42:15 +00:00
markijbema dbc3d2e884 chore: regenerate dependency lockfile
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 09:29:06 +02:00
markijbema af370bd56b ci(jetbrains): run inside pre-built container, drop manual setup steps
Switch the JetBrains unit job to run inside
ghcr.io/kilo-org/build/jetbrains:24.04, which already contains Bun,
Java 21, and the Gradle 9.4.1 distribution pre-cached in
GRADLE_USER_HOME.  The three manual setup steps (bun, java, gradle)
are no longer needed and are removed.

A 'Mark workspace as git-safe' step is added after checkout because
container jobs mount the workspace from the host with different file
ownership.  Git exit-128 errors otherwise occur when Gradle spawns a
'git tag' subprocess (build.gradle.kts:85).

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-17 07:21:19 +00:00
Mark IJbema 5767094edd Merge pull request #11339 from Kilo-Org/mark/extract-jetbrains-tests
ci: extract JetBrains test workflow
2026-06-17 09:15:07 +02:00
Mark IJbema c4e81f6271 Merge pull request #11309 from Kilo-Org/bead-moonstone
test(jetbrains): inject UI timers per test
2026-06-17 09:12:25 +02:00
Mark IJbema ab1e5b836d ci: extract JetBrains test workflow 2026-06-17 06:34:21 +00:00
Marius 0a50a5017e Merge pull request #11182 from Kilo-Org/skinny-poetry
feat(cli): share codebase indexes across worktrees
2026-06-17 08:21:31 +02:00
Mark IJbema cf820cdb82 Merge pull request #11306 from Kilo-Org/ci/use-prebuilt-jetbrains-container
ci: add jetbrains container image and fix containers.yml trigger
2026-06-17 08:19:12 +02:00
Joshua Lambert 7849909d50 Merge pull request #11141 from singhvishalkr/docs/agent-permission-rules
docs(customize): clarify agent permission rules
2026-06-16 23:29:54 -04:00
Joshua Lambert df6f7d1c6f Merge branch 'main' into docs/agent-permission-rules 2026-06-16 23:16:41 -04:00
Josh Holmer 8ff1550ee9 chore: change title bar symbols 2026-06-16 23:01:57 -04:00
Brian Turcotte 3bd11cfdc7 adding alternate language readmes 2026-06-16 22:42:28 -04:00
kirillk 2e056c980c chore(vscode): format provider catalog test 2026-06-16 22:39:43 -04:00
kirillk 1c7d5ca7d3 fix(jetbrains): restore popular provider settings 2026-06-16 22:21:24 -04:00
kirillk 9b73bf91e4 fix(vscode): restore popular provider settings 2026-06-16 22:02:19 -04:00
github-actions[bot] 0aaef83323 chore: update kilo-vscode visual regression baselines 2026-06-17 01:52:09 +00:00
Kirill Kalishev af92e1ee10 Merge branch 'main' into leather-peace 2026-06-16 21:52:01 -04:00
Iván Uruchurtu 2dcd5a42c4 Merge origin/feat/gitkilo into fix/vscode-tool-call-preview-polish 2026-06-16 19:48:13 -06:00
Iván Uruchurtu 33def8874a fix(vscode): restore tool preview behavior 2026-06-16 19:47:30 -06:00
Kirill Kalishev cb0a1ee447 Merge branch 'main' into aged-front 2026-06-16 21:36:55 -04:00
kirillk 53219a8d09 docs: skip routine Java preflight checks 2026-06-16 21:34:30 -04:00
kirillk 625c034360 fix(jetbrains): harden release skill 2026-06-16 21:32:26 -04:00
kirillk c5bd1b3e09 feat(agent-manager): add close others tab action 2026-06-16 21:31:39 -04:00
kirillk 9df96468d5 chore: remove session copy plan files 2026-06-16 21:25:21 -04:00
kirillk 6e69bac728 chore: remove provider settings plan files 2026-06-16 21:20:44 -04:00
Brian Turcotte 461c87576c Merge pull request #11326 from Kilo-Org/briant/updateREADME
Revise README for improved clarity and details
2026-06-16 20:40:53 -04:00
Joshua Lambert 33a2436f1b Merge branch 'main' into feat/vscode-switch-deep-links 2026-06-16 20:34:20 -04:00
Emilie Lima Schario d7c7b4cbd3 Merge pull request #11328 from Kilo-Org/fix/composio-toolkits-link 2026-06-16 19:33:37 -04:00
Brian Turcotte c763d31343 docs: fix README badge and table formatting 2026-06-16 19:28:20 -04:00
kirillk 29d2cc4df9 fix(jetbrains): stabilize session UI tests 2026-06-16 19:24:18 -04:00
kirillk ccbdb34eb0 fix(jetbrains): restore provider settings checks 2026-06-16 19:01:04 -04:00
Josh Lambert c8bad77f19 refactor(vscode): inline switch link parsing 2026-06-16 19:01:01 -04:00
kirillk 2cbd155ca7 fix(jetbrains): harden session copy UI 2026-06-16 18:57:52 -04:00
kirillk 6455aa0da4 fix: remove provider metadata duplication 2026-06-16 18:39:47 -04:00
Josh Lambert b3bb59c2c7 fix(docs): update Composio toolkits link 2026-06-16 18:24:49 -04:00
Joshua Lambert f703f7e3c0 Merge branch 'main' into feat/vscode-switch-deep-links 2026-06-16 18:16:09 -04:00
Brian Turcotte f45003a9c9 Update README.md
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-06-16 17:49:20 -04:00
Brian Turcotte 2673ff9ce0 Revise README for improved clarity and details
Updated README to enhance clarity and provide additional details about Kilo Code's features and installation.
2026-06-16 17:43:36 -04:00
Iván Uruchurtu 3623676d78 fix(vscode): eliminate phantom tool gaps 2026-06-16 15:11:07 -06:00
Josh Lambert 61729fd785 fix(vscode): require agent parameter in switch links 2026-06-16 16:59:57 -04:00
Josh Lambert 214b8da6c6 fix(vscode): allow agent-only switch links 2026-06-16 16:54:18 -04:00
kirillk 358135f69e feat(jetbrains): add session message copy toolbar 2026-06-16 16:28:18 -04:00
Catriel Müller 64ff1084c0 fix: fix tests 2026-06-16 17:25:55 -03:00
kirillk 46b24e0c07 Merge remote-tracking branch 'origin/main' into tidy-antlion 2026-06-16 16:13:20 -04:00
kirillk db96e31e65 fix(jetbrains): show provider in model picker trigger 2026-06-16 16:04:59 -04:00
kirillk b0183f9846 fix(jetbrains): prefer headless provider oauth 2026-06-16 15:49:13 -04:00
kirillk f90644471b fix(jetbrains): keep hover copy button opaque 2026-06-16 15:11:47 -04:00
grandmaster451 fb37d9c773 fix(tui): show docs URL in dialog when browser cannot open on headless systems
Resolve merge conflict with main (command structure refactored from
onSelect to run) and add missing changeset.
2026-06-16 22:03:16 +03:00
Catriel Müller e9bea70872 fix: fix typecheck 2026-06-16 16:02:28 -03:00
Catriel Müller 93dd00b6bc Merge pull request #11262 from Kilo-Org/console-model-training-filter
feat(cli): add prompt-training model filter to Kilo Console
2026-06-16 16:01:21 -03:00
Marius 1321d7eb14 Merge pull request #11318 from Kilo-Org/oceanic-angelfish
fix(vscode): remove chat input separator
2026-06-16 20:36:39 +02:00
Catriel Müller 3e20e43b3d refactor: prevent infinite lock 2026-06-16 15:34:48 -03:00
kirillk f11450c81c fix(jetbrains): stabilize session hover copy overlay 2026-06-16 14:27:46 -04:00
kirillk e13ee2fe23 fix(jetbrains): keep provider auth overlay fixed 2026-06-16 14:25:29 -04:00
kirillk bc7f9b05e8 feat(jetbrains): add session hover copy overlay 2026-06-16 14:17:37 -04:00
Kirill Kalishev 76555a96e5 Merge branch 'main' into bead-moonstone 2026-06-16 13:46:11 -04:00
github-actions[bot] eb000f3c8c chore: update kilo-vscode visual regression baselines 2026-06-16 17:43:30 +00:00
marius-kilocode 7f18708308 fix(vscode): remove chat input separator 2026-06-16 19:40:13 +02:00
Vishal Kumar Singh 0804178b9f docs(kilo-docs): keep permission examples in precedence order 2026-06-16 23:04:48 +05:30
kirillk f0ad6db182 fix(jetbrains): gate settings on CLI readiness 2026-06-16 13:31:12 -04:00
Marius 1b65317fca Merge pull request #11316 from Kilo-Org/delirious-lung
fix(cli): prevent tests from deleting session database
2026-06-16 19:19:09 +02:00
kirillk 5e853801cf Merge remote-tracking branch 'origin/main' into bead-moonstone 2026-06-16 13:18:48 -04:00
Vishal Kumar Singh 6e99eb0612 docs(kilo-docs): update Composio toolkit link 2026-06-16 22:48:30 +05:30
Vishal Kumar Singh 0770d1d288 docs(kilo-docs): align auto-approval examples with precedence 2026-06-16 22:47:47 +05:30
Vishal Kumar Singh 61f2d6cee2 docs(kilo-docs): clarify permission rule precedence 2026-06-16 22:47:47 +05:30
Vishal Kumar Singh 6afe3553ca docs: clarify agent permission rules 2026-06-16 22:47:46 +05:30
Vishal Kumar Singh 968c651051 docs(customize): clarify agent permission rules 2026-06-16 22:47:45 +05:30
Ligia Zanchet e629fd0823 Merge pull request #11313 from Kilo-Org/docs/kiloclaw-settings-linear-composio
docs: rename Development Tools to Settings, add Linear and Composio integration pages
2026-06-16 19:10:33 +02:00
marius-kilocode 714f1ad4e0 fix(cli): prevent tests from deleting session database 2026-06-16 19:02:20 +02:00
Ligia Zanchet 4efd7baee3 Merge branch 'main' into docs/kiloclaw-settings-linear-composio 2026-06-16 18:55:21 +02:00
Kirill Kalishev 2caccfcfee Merge pull request #11315 from Kilo-Org/puzzled-abacus
fix(cli): restore permission override tests
2026-06-16 12:54:08 -04:00
kiloconnect[bot] 80a54c4804 docs: rename Settings to Integrations, update Composio intro examples 2026-06-16 16:53:29 +00:00
kirillk 8e13875e29 Revert "fix(jetbrains): preserve copy selection on context menu"
This reverts commit 057c5b7fcc.
2026-06-16 12:40:59 -04:00
kiloconnect[bot] f56871e494 docs: move Tools nav section into Settings, rename to Settings Tools 2026-06-16 16:40:52 +00:00
kirillk b203b8ecdc fix(cli): use test instance fixture in permission override tests 2026-06-16 12:36:20 -04:00
kiloconnect[bot] 0878300880 docs(kilo-docs): rename Development Tools to Settings, add Linear and Composio integration pages 2026-06-16 16:25:25 +00:00
Josh Lambert a2ccf574a7 feat(vscode): support agent switch links 2026-06-16 12:07:21 -04:00
Kirill Kalishev 422d995c00 Merge branch 'main' into bead-moonstone 2026-06-16 11:47:37 -04:00
github-actions[bot] 6c7eb360f8 chore: update kilo-vscode visual regression baselines 2026-06-16 15:46:21 +00:00
marius-kilocode 5120e1510d refactor(agent-manager): extract worktree header actions 2026-06-16 17:38:39 +02:00
marius-kilocode c961f66bd4 feat(agent-manager): add worktree and session search 2026-06-16 17:38:39 +02:00
kirillk f89bbe3390 test(jetbrains): tighten test UI timers 2026-06-16 11:30:44 -04:00
Catriel Müller 273a4fcee8 Merge branch 'main' into codex/codex-refresh-process-lock 2026-06-16 12:30:07 -03:00
Marius 34f16a507f Merge pull request #10091 from shssoichiro/deny-system-agents-tools
fix(core): always deny tool calls for system agents
2026-06-16 16:57:37 +02:00
Mark IJbema 5fed0d72b3 Merge branch 'main' into chore/remove-unused-deps 2026-06-16 16:57:34 +02:00
kilo-maintainer[bot] 1807e26584 chore: update nix node_modules hashes 2026-06-16 14:53:34 +00:00
kirillk 23d60433c1 test(jetbrains): inject UI timers per test 2026-06-16 10:52:15 -04:00
Joshua Lambert 749f6655f3 Merge pull request #11189 from Kilo-Org/docs/model-deep-link-protocol-handler
docs: document VS Code model deep link protocol handler
2026-06-16 10:49:03 -04:00
Mark IJbema 53102237df Merge pull request #11293 from Kilo-Org/mark/filter-jetbrains-tests
ci: skip unrelated JetBrains tests
2026-06-16 16:45:13 +02:00
Mark IJbema 8c36dde027 Merge pull request #11299 from Kilo-Org/mark/stabilize-session-cancellation-tests
test(cli): remove session cancellation timing races
2026-06-16 16:44:15 +02:00
Marius 18b39abd5e Merge pull request #11305 from Kilo-Org/shadow-pharaoh
fix(cli): clean up slow snapshot progress
2026-06-16 16:41:05 +02:00
Mark IJbema 2c1a48393b Merge pull request #11288 from Kilo-Org/mark/kilo-console-ui-boundary
refactor(kilo-console): use Kilo UI boundary
2026-06-16 16:39:51 +02:00
Ligia Zanchet 7abe19a6d9 Merge pull request #10697 from Kilo-Org/docs/kilo-pass-links-approved-isolated
Docs: update Kilo Pass links
2026-06-16 16:33:50 +02:00
Ligia Zanchet 360598c003 Merge pull request #10699 from Kilo-Org/docs/dolthub-approved
Docs: add DoltHub coverage
2026-06-16 16:33:32 +02:00
Ligia Zanchet 420a7391f6 Merge pull request #10693 from Kilo-Org/docs/org-custom-modes-approved-isolated
Docs: document organization custom modes
2026-06-16 16:30:41 +02:00
Mark IJbema 38f33f1a3c ci: drop no-op docs/** filter exclusion
There is no top-level docs/ directory in the repo (docs live under
packages/kilo-docs/, already excluded), so the '!docs/**' entry never
matched anything. Remove the dead filter line.
2026-06-16 16:29:57 +02:00
Ligia Zanchet f43928aedb Merge pull request #10702 from Kilo-Org/docs/webhook-triggers-overview-approved
Docs: document webhook trigger overview
2026-06-16 16:28:48 +02:00
Ligia Zanchet e1b83e13a4 Merge pull request #10700 from Kilo-Org/docs/mobile-kilo-pass-link-approved
Docs: update mobile Kilo Pass link
2026-06-16 16:28:45 +02:00
kilo-code-bot[bot] 290d5f4a15 feat(vscode): remove dead layout setting from Display settings (#11312)
The layout (auto | stretch toggle) in the Display settings tab was dead
code: the backend schema marks it @deprecated with the note 'Always uses
stretch layout', and the engine ignores the user choice entirely.

Remove the setting from:
- DisplayTab.tsx (UI row + LAYOUT_OPTIONS array)
- Config type (layout field)
- settings-io.ts KNOWN_KEYS allowlist
- All 20 language i18n files (80 translation keys total)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 14:27:01 +00:00
Catriel Müller 6509034326 refactor: address comments 2026-06-16 11:23:18 -03:00
Marius 11be7dda63 Merge pull request #10929 from shssoichiro/fix/copy-command-scope
ux(cli): change `/copy` command to copy last message
2026-06-16 16:21:26 +02:00
marius-kilocode 017907febe Merge remote-tracking branch 'origin/main' into skinny-poetry
# Conflicts:
#	packages/kilo-indexing/test/kilocode/indexing/manager.test.ts
2026-06-16 16:19:52 +02:00
Catriel Müller 6291375d56 chore: remove out-of-scope PR files 2026-06-16 11:00:25 -03:00
Marius e02e532fa4 Merge pull request #11308 from Kilo-Org/tarry-henley
feat(vscode): align chat content in readable lane
2026-06-16 16:00:25 +02:00
kirillk 2ea9f0c24d fix(kilo-docs): copy JetBrains EAP URL without newline 2026-06-16 09:57:11 -04:00
marius-kilocode 42627729b4 fix(cli): refine shared index concurrency 2026-06-16 15:56:44 +02:00
Catriel Müller 0e2132f36b fix: file diff loading 2026-06-16 10:56:29 -03:00
Catriel Müller b5df14024b fix: fix persistence of sidebar width 2026-06-16 10:56:29 -03:00
Catriel Müller 2ee379a19f refactor: kilo-web-ui export required ui components 2026-06-16 10:56:29 -03:00
markijbema c68dbc952b refactor(kilo-console): use Kilo UI boundary
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 10:55:42 -03:00
Z User 8824fa0b35 fix: restore @opencode-ai/ui in kilo-console — it is actively imported
kilo-console's ProjectConsoleRoute.tsx imports @opencode-ai/ui/file,
@opencode-ai/ui/context/file, and @opencode-ai/ui/session-review.
The removal was a false positive from depcheck which failed to detect
the workspace package references. Count now 33 deps removed.
2026-06-16 13:54:46 +00:00
kirillk 0155b49617 test(jetbrains): make UI timers static 2026-06-16 09:53:47 -04:00
kirillk d319f7468e test(jetbrains): add fakeable UI timers 2026-06-16 09:37:49 -04:00
github-actions[bot] b4b445cb91 chore: update kilo-vscode visual regression baselines 2026-06-16 13:26:12 +00:00
marius-kilocode d56bfdd9aa feat(vscode): align chat content in readable lane 2026-06-16 15:22:24 +02:00
marius-kilocode 9240b506d9 test(cli): stabilize hosted timeout coverage 2026-06-16 15:18:06 +02:00
Mark IJbema 8fe0b8afc0 fix(vscode): use migration wizard for Roo import 2026-06-16 15:17:29 +02:00
markijbema 4a0117500e ci: annotate containers.yml branch change with kilocode_change
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 12:58:27 +00:00
markijbema 5686915e01 ci: add jetbrains container image and fix containers.yml trigger
- Add packages/containers/jetbrains/Dockerfile extending bun-node with
  Java 21 (apt-get, multi-arch safe) and Gradle 9.4.1 pre-cached in
  GRADLE_USER_HOME so the wrapper skips the network download
- Register the new image in build.ts (after bun-node, before rust) and
  update README
- Fix containers.yml branch trigger: dev → main so images are actually
  published from the default branch on every relevant push

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 12:55:41 +00:00
Mark IJbema c6f332e51c fix(vscode): import Roo sessions with UI-only history 2026-06-16 14:53:55 +02:00
Mark IJbema 3a360a8951 test(cli): replace remaining wall-clock sleeps in prompt tests
Convert the remaining `Effect.sleep(50)` synchronization hacks in
`prompt.test.ts` to either `Effect.yieldNow` or `waitFor` against
`SessionStatus`, mirroring the pattern already used elsewhere in the
file. Same motivation as the previous commit: stop making correctness
depend on how quickly CI schedules fibers.

- "concurrent loop callers all receive same error result": yieldNow
  before resolving the gate, so the queued caller joins the run on a
  scheduler turn instead of a 50ms window.
- "loop waits while shell runs ..." / "shell completion resumes
  queued loop callers": yieldNow before asserting `llm.calls === 0`
  while the shell is still running. The shell is already gated on
  `waitFor("shell busy", ...)`.
- "cancel interrupts loop queued behind shell": waitFor shell busy
  before forking the loop, then yieldNow before cancelling.
- "shell rejects when another shell is already running": waitFor
  shell busy before issuing the second shell call.

The `Effect.sleep(20)` at line 93 is the poll interval inside the
`waitFor` helper itself and is left unchanged.
2026-06-16 14:50:45 +02:00
marius-kilocode 04ed322aad fix(cli): clean up slow snapshot progress 2026-06-16 14:35:37 +02:00
Mark IJbema e49e5fef21 ci: keep existing VS Code path filters 2026-06-16 12:35:16 +00:00
chrarnoldus b4cdbf2052 docs: clarify Console privacy filter release note
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 12:32:20 +00:00
Mark IJbema a2efd4c8af feat(vscode): add Roo import to settings UI 2026-06-16 14:25:28 +02:00
Marius 2f8f652e0c Merge pull request #11302 from Kilo-Org/fix/vscode-code-edit-block-flicker
fix(vscode): stabilize expanded edit blocks
2026-06-16 14:21:28 +02:00
github-actions[bot] 1bffc5337c chore: update kilo-vscode visual regression baselines 2026-06-16 12:20:21 +00:00
marius-kilocode ac1f0c8bd9 chore(vscode): format speech model selector 2026-06-16 14:16:28 +02:00
Mark IJbema fd512efaad Merge remote-tracking branch 'origin/main' into mark/replace-roo-code-session-import 2026-06-16 14:14:37 +02:00
marius-kilocode e50bb7d1d3 refactor(vscode): simplify speech state lookups 2026-06-16 14:12:47 +02:00
marius-kilocode 2fa0890928 fix(vscode): restore speech input availability 2026-06-16 14:12:47 +02:00
Marius c734bb1625 Delete .changeset/steady-code-edit-blocks.md 2026-06-16 14:06:31 +02:00
marius-kilocode 87157ae99e fix(vscode): stabilize expanded edit blocks 2026-06-16 14:04:13 +02:00
chrarnoldus 081b65325f feat(cli): filter prompt-training models in Explore
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 11:53:42 +00:00
Mark IJbema 327eddb196 Merge pull request #11080 from Githubguy132010/codex/add-default-diff-expansion-setting
[codex] Add code edit block display setting
2026-06-16 13:52:02 +02:00
Mark IJbema c1865af86f Merge pull request #11201 from shssoichiro/agent-descriptions
fix(cli): improve guidelines for `kilo agent create`
2026-06-16 13:46:22 +02:00
Mark IJbema dca49f29b6 chore(ci): mark VS Code workflow as Kilo-only 2026-06-16 11:37:25 +00:00
Mark IJbema d82649a073 Merge branch 'main' into chore/remove-unused-deps 2026-06-16 13:36:04 +02:00
Z User df34a36446 fix: restore storybook addons and revert knip workaround per review feedback
Storybook addons (addon-docs, addon-a11y, addon-themes) are configured
features, not unused dependencies. Their removal disabled documentation,
accessibility, and theme panels rather than pruning dead code. This restores:
- kilo-ui: addon-docs, addon-themes, addon-a11y
- kilo-vscode: addon-docs, addon-a11y
- .storybook/main.ts configs to their original addon arrays
- knip.json: reverts story file entry point additions (addons serve as
  implicit entry points for story files)

Remaining removals (34 deps) are unaffected.
2026-06-16 11:29:06 +00:00
markijbema 670f2fad30 test(cli): remove session cancellation timing races
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 11:23:08 +00:00
Mark IJbema ca8515ade0 Merge pull request #11289 from Kilo-Org/mark/disable-issue-triage
ci: disable upstream issue maintenance workflows
2026-06-16 12:53:17 +02:00
Marius 33e26a1e7a Merge pull request #11297 from Kilo-Org/lime-supermarket
fix(vscode): remove diff viewer corner artifacts
2026-06-16 12:34:48 +02:00
marius-kilocode 45d1b63b84 fix(vscode): comply with Agent Manager CSS prefix guard 2026-06-16 12:20:20 +02:00
marius-kilocode 06da363599 fix(vscode): remove diff viewer corner artifacts 2026-06-16 12:16:06 +02:00
Mark IJbema 3095d990bb fix(ci): let paths-filter select event base 2026-06-16 10:13:22 +00:00
Mark IJbema 42ceb15e53 ci: filter editor-specific test suites 2026-06-16 10:06:16 +00:00
Christiaan Arnoldus f09ae31034 Merge pull request #11239 from Kilo-Org/feature/custom-provider-reasoning-options
feat(vscode): expand custom provider configuration
2026-06-16 12:04:19 +02:00
Mark IJbema cae7cd9d01 Merge pull request #11291 from Kilo-Org/mark/fix-atomic-chat-plugin-loading
fix(cli): load Atomic Chat as bundled plugin
2026-06-16 11:57:31 +02:00
Mark IJbema 07097d8020 Merge branch 'main' into mark/disable-issue-triage 2026-06-16 11:56:00 +02:00
Christiaan Arnoldus eb62097e65 Merge pull request #11236 from kapelame/feat/minimax-m3-thinking-toggle
feat(provider): add MiniMax M-series reasoning toggle
2026-06-16 11:55:50 +02:00
Mark IJbema 829466d99b Merge pull request #11292 from Kilo-Org/mark/stabilize-jetbrains-session-timeout-tests
test(jetbrains): make session timeout tests deterministic
2026-06-16 11:54:30 +02:00
Mark IJbema e6d2994651 fix(ci): use built-in JetBrains change detection 2026-06-16 09:45:19 +00:00
markijbema dd441e78ea fix(cli): keep bundled plugin initialization silent
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 09:43:09 +00:00
Mark IJbema 8b2612fa1d ci: skip unrelated JetBrains tests 2026-06-16 09:40:51 +00:00
Christiaan Arnoldus 6e019c4388 Merge pull request #11290 from Kilo-Org/docs/mistral-ai-byok-label
docs(kilo-docs): clarify Mistral AI BYOK label
2026-06-16 11:36:28 +02:00
markijbema 36998d26b9 test(jetbrains): make session timeout tests deterministic
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 09:23:26 +00:00
marius-kilocode 8d0c7dd606 Merge remote-tracking branch 'origin/main' into utopian-approval 2026-06-16 11:18:26 +02:00
Marius 3416b9222c Merge pull request #10824 from Kilo-Org/docs/session-renaming
docs(kilo-docs): document inline session renaming
2026-06-16 11:17:56 +02:00
Marius e1c5a55a5d Merge pull request #11242 from Kilo-Org/confirm-11208-indexing-api-key
fix: support unauthenticated OpenAI-compatible indexing
2026-06-16 11:16:58 +02:00
Marius 22d0c1e81e docs(kilo-docs): clarify snapshots without Git (#11233) 2026-06-16 11:16:19 +02:00
Marius 5561d90bd1 Merge pull request #11113 from Kilo-Org/fix/local-prompt-elapsed
fix(vscode): count pending submission time
2026-06-16 11:15:50 +02:00
Marius 5fc77819ad Merge pull request #11241 from Kilo-Org/stone-mind
feat(agent-manager): track feature button usage
2026-06-16 11:14:38 +02:00
Mark IJbema ca237c4252 Merge pull request #11257 from Kilo-Org/mark/opencode-changeset-script
Add opencode changeset generator
2026-06-16 11:13:57 +02:00
Mark Bema 01359fc52a ci: disable upstream issue maintenance workflows 2026-06-16 09:12:21 +00:00
markijbema 4436139fab fix(cli): load Atomic Chat as bundled plugin
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 09:10:32 +00:00
Mark Bema f6fe95d529 ci: restore disabled triage workflow from upstream 2026-06-16 09:08:52 +00:00
chrarnoldus d8b033d094 docs(kilo-docs): clarify Mistral AI BYOK label
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 09:04:13 +00:00
Mark Bema a49bcb7ed8 ci: disable automatic issue triage 2026-06-16 08:54:31 +00:00
kiloconnect[bot] 173837d097 style(vscode): fix prettier formatting in roo-import/service.ts 2026-06-16 08:44:52 +00:00
kiloconnect[bot] d34d91455f fix(vscode): inspect migrate() result and improve Roo Code session metadata
- command.ts: check migrate() return value, count failures, and surface
  error count in the completion notification instead of silently ignoring
  failed session imports (fixes bot WARNING)
- service.ts: read history_item.json for accurate title, workspace, and
  timestamp — falls back to parsing api_conversation_history.json when
  the file is absent
- service.ts: add rooveterinaryinc.roo-code and rooveterinaryinc.roo-code-nightly
  to the list of Roo Code extension IDs to probe
2026-06-16 08:41:31 +00:00
Mark IJbema af7228e846 fix binary name 2026-06-16 10:38:07 +02:00
Mark IJbema 05b59ba0f7 fix: validate upstream changeset range start 2026-06-16 10:35:35 +02:00
Mark IJbema b4f9904f15 fix: require named opencode changeset versions 2026-06-16 10:14:20 +02:00
Mark IJbema 01c25930f6 fix: harden upstream changeset generation 2026-06-16 10:06:49 +02:00
Mark IJbema a67d57b97f fix: strip all options except --from/--to 2026-06-16 09:57:53 +02:00
Mark IJbema cdb30bf14c fix: always overwrite generated changesets 2026-06-16 09:54:48 +02:00
Mark IJbema edd3fad1d7 fix: flatten upstream changeset notes 2026-06-16 09:31:42 +02:00
Githubguy132010 40ccca44a0 Merge upstream/main into codex/add-default-diff-expansion-setting
Resolve conflicts in:
- packages/opencode/src/config/config.ts
- packages/kilo-vscode/webview-ui/src/types/messages/config.ts
- packages/kilo-vscode/webview-ui/src/components/settings/settings-io.ts
- packages/sdk/js/src/v2/gen/types.gen.ts
- packages/sdk/openapi.json
- packages/opencode/test/kilocode/cli/error.test.ts
- packages/opencode/test/kilocode/config/indexing-default-plugin.test.ts

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-16 05:57:41 +00:00
Catriel Müller caae74d51f Merge pull request #11279 from Kilo-Org/catrielmuller/kilo-console-persist
fix(cli): stabilize Kilo Console worktree flows
2026-06-16 01:22:20 -03:00
Catriel Müller e17cab995e fix: kilo markers 2026-06-16 00:45:53 -03:00
Kirill Kalishev 17ed51d9b5 Merge pull request #11278 from Kilo-Org/towering-talk
fix(jetbrains): clean up restartless unload
2026-06-15 23:19:06 -04:00
Catriel Müller 339513190e fix: fix tests 2026-06-16 00:15:21 -03:00
Josh Holmer 7a1c908d5b fix(core): improve guidelines for kilo agent create
Currently the `kilo agent create` command generates extremely long agent
descriptions. This is because the system prompt for the `generate` agent
tells it to include multiple verbose examples of when the agent should
be used. This is unnecessary and increases system context bloat without
improving the parent agent's ability to choose a subagent.

This change updates the system prompt to exclude the guidance about
examples, and instead includes official guidance from Anthropic's
documentation on best practices for agent descriptions.
2026-06-15 22:07:32 -04:00
Catriel Müller fbdcc75d30 refactor: fix kilo markers 2026-06-15 21:44:31 -03:00
Catriel Müller 3ba0de1fc6 refactor: regenerate sdk 2026-06-15 21:42:35 -03:00
Catriel Müller 0c0b95fac6 fix: fix tests 2026-06-15 21:27:50 -03:00
Catriel Müller 04d25fdf6d fix(cli): prevent unsafe console worktree actions 2026-06-15 21:08:16 -03:00
Catriel Müller e91eef2b38 fix: session list on tui 2026-06-15 21:08:16 -03:00
Catriel Müller 8c1cdf53a9 fix: kilo console sidebar size 2026-06-15 21:03:15 -03:00
Catriel Müller 2f69c132b0 refactor: hot reload kilo console configs 2026-06-15 21:03:15 -03:00
Catriel Müller f82828a02f Merge pull request #11270 from Kilo-Org/warp-shell
fix(cli): rebrand OpenCode leftovers
2026-06-15 20:51:09 -03:00
kirillk 76b4930326 test(jetbrains): stabilize side panel timeout tests 2026-06-15 19:05:18 -04:00
kirillk 057c5b7fcc fix(jetbrains): preserve copy selection on context menu 2026-06-15 17:44:10 -04:00
Joshua Lambert b1b0797109 Merge branch 'main' into docs/model-deep-link-protocol-handler 2026-06-15 17:41:36 -04:00
Catriel Müller 371d0f0397 fix: fix jb test 2026-06-15 18:32:36 -03:00
Joshua Lambert 2fe8da18ab Merge branch 'main' into feat/gitkilo 2026-06-15 17:24:12 -04:00
kirillk dfd34405d1 fix(jetbrains): suppress intentional stderr cleanup warning 2026-06-15 17:02:09 -04:00
kirillk b4864ebd43 fix(jetbrains): scope session copy context 2026-06-15 16:55:01 -04:00
Catriel Müller 0675b201b7 refactor: fix markers 2026-06-15 17:32:32 -03:00
kirillk 62e42c1efb fix(jetbrains): clean up restartless unload 2026-06-15 16:29:30 -04:00
Catriel Müller 8b5261d2f1 fix: test 2026-06-15 17:12:55 -03:00
kirillk d8b6efd58c fix(jetbrains): show cancellable provider oauth progress 2026-06-15 15:58:36 -04:00
Catriel Müller 79e4af75fa test(cli): stabilize Windows session tests 2026-06-15 16:37:11 -03:00
Kirill Kalishev d13e4ff79b Merge pull request #11275 from Kilo-Org/lean-sidecar
fix(jetbrains): cap prompt input growth
2026-06-15 15:31:02 -04:00
kirillk 2b60686f11 docs(jetbrains): add provider settings plans 2026-06-15 15:22:30 -04:00
kirillk 0086e0dcb9 fix(jetbrains): widen provider api key dialog 2026-06-15 15:21:21 -04:00
kirillk bf7779d177 fix(jetbrains): keep provider toolbar fixed 2026-06-15 15:04:53 -04:00
chrarnoldus 9250846de3 Merge remote-tracking branch 'origin/main' into console-model-training-filter
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 19:03:02 +00:00
kirillk aa6cd198fe test(jetbrains): cover prompt enhance telemetry 2026-06-15 14:49:17 -04:00
kirillk 0aae6277a2 fix(jetbrains): hide prompt soft wrap glyphs 2026-06-15 14:34:02 -04:00
Kirill Kalishev ccd9890c46 Merge pull request #11271 from Kilo-Org/jetbrains/release/v7.0.1-rc.9
release(jetbrains): v7.0.1-rc.9
2026-06-15 14:27:48 -04:00
kirillk b92ae903d1 docs(jetbrains): clarify CLI artifact refresh guidance 2026-06-15 14:21:27 -04:00
kirillk 3c319a59a2 fix(jetbrains): cap prompt input growth 2026-06-15 14:09:24 -04:00
Kirill Kalishev 5f99f9be09 docs(jetbrains): edit changelog for v7.0.1-rc.9 2026-06-15 13:54:43 -04:00
kilo-maintainer[bot] b107604a72 release(jetbrains): v7.0.1-rc.9 2026-06-15 17:44:34 +00:00
V Keerthi Vikram 8baf3e3138 fix(ci): skip watch-opencode-releases on forks (#11269)
The schedule trigger fires on every repo where the file exists,
including contributor forks. Forks don't have access to
OPENCODE_WATCH_SLACK_WEBHOOK, so the Slack step fails. The previous
vars.OPENCODE_WATCH_ENABLED guard evaluated to true on forks (empty
!= 'false'), so it didn't protect anything.

Add the same github.repository == 'Kilo-Org/kilocode' guard used by
18 other workflows in this repo.
2026-06-15 19:43:44 +02:00
Iván Uruchurtu abaf048832 Merge remote-tracking branch 'origin/main' into fix/vscode-tool-call-preview-polish 2026-06-15 11:35:34 -06:00
Catriel Müller c5d39d090c fix(cli): rebrand opencode leftovers 2026-06-15 14:33:01 -03:00
kirillk 8fc46998f6 Merge remote-tracking branch 'origin/main' into tidy-antlion 2026-06-15 13:26:49 -04:00
Kirill Kalishev cb9b29c3b8 Merge pull request #11095 from Kilo-Org/truthful-allspice
feat(jetbrains): improve shell and markdown rendering
2026-06-15 13:23:21 -04:00
Joshua Lambert c06539145e Merge branch 'main' into docs/model-deep-link-protocol-handler 2026-06-15 12:57:36 -04:00
Iván Uruchurtu f394c5b6de Merge origin/feat/gitkilo into fix/vscode-tool-call-preview-polish 2026-06-15 10:53:54 -06:00
Iván Uruchurtu 486a709fc1 fix(vscode): restore shell command highlighting 2026-06-15 10:53:10 -06:00
Catriel Müller c7c95885ae Merge pull request #11264 from Kilo-Org/wind-wind
fix(cli): use Kilo packages for upgrades
2026-06-15 13:32:26 -03:00
kirillk 0b8c7228ca Merge remote-tracking branch 'origin/main' into truthful-allspice
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/prompt/PromptPanel.kt
#	packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/SessionUiUpdateTest.kt
2026-06-15 12:19:56 -04:00
Johnny Eric Amancio 046b03a19d fix(cli): prefix generated plan filenames with timestamp (#11245) 2026-06-15 18:19:41 +02:00
Mark IJbema 425ced4292 fix: omit SDK from upstream changesets 2026-06-15 18:14:20 +02:00
kirillk 681b8090f3 fix(jetbrains): consolidate shell terminal parsing 2026-06-15 12:12:43 -04:00
Mark IJbema f42789d0ef chore: add bundled opencode changeset 2026-06-15 18:08:38 +02:00
kiloconnect[bot] 1c39c4416e docs: address PR review comments on model deep link docs 2026-06-15 15:59:05 +00:00
Catriel Müller 312c3ab012 chore(cli): annotate Kilo upgrade switch 2026-06-15 12:53:39 -03:00
Catriel Müller f78e54c81c fix(cli): use Kilo packages for upgrades 2026-06-15 12:53:05 -03:00
kirillk 88bc6887c4 Merge remote-tracking branch 'origin/main' into tidy-antlion
# Conflicts:
#	packages/opencode/src/server/routes/instance/httpapi/handlers/provider.ts
2026-06-15 11:42:27 -04:00
chrarnoldus 0903183799 feat(cli): expose model training filter in console
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 15:40:30 +00:00
Mark IJbema b498488c4f fix: bundle upstream release changesets 2026-06-15 17:30:46 +02:00
Catriel Müller de0c3eb151 Merge pull request #11171 from Kilo-Org/fix/tui-news-read-state
fix(cli): persist read TUI news
2026-06-15 12:14:34 -03:00
Mark IJbema f5440b7c7f fix: filter upstream changeset notes 2026-06-15 17:14:09 +02:00
Christiaan Arnoldus 24083eb82b Merge branch 'main' into feat/minimax-m3-thinking-toggle 2026-06-15 17:08:15 +02:00
Kirill Kalishev 533323f6c2 Merge pull request #11077 from Kilo-Org/balanced-backpack
feat(jetbrains): support prompt and transcript attachments
2026-06-15 11:06:14 -04:00
kiloconnect[bot] 6faa3f14b6 feat(vscode): add Import Sessions from Roo Code command
Adds a new VS Code command 'kilo-code.new.importRooCodeSessions' that
discovers and imports conversation history from a Roo Code installation.

- Extend migrate() in legacy-migration/sessions/migrate.ts with optional
  overrides (custom dir + pre-resolved LegacyHistoryItem) so the existing
  parsing pipeline can be reused without modification for any extension's
  tasks directory.
- Add packages/kilo-vscode/src/roo-import/service.ts which locates Roo
  Code global storage as a sibling of the current extension's storage, scans
  the tasks/ directory, and derives session metadata (title from first user
  message, timestamp from numeric task ID).
- Add packages/kilo-vscode/src/roo-import/command.ts with a VS Code quick-pick
  + progress-notification flow.
- Register the command in extension.ts and package.json.

Closes #11243
2026-06-15 14:55:59 +00:00
Christiaan Arnoldus 83c7b08250 Merge branch 'main' into feature/custom-provider-reasoning-options 2026-06-15 16:48:06 +02:00
kilo-maintainer[bot] 105d3be8ae chore: update nix node_modules hashes 2026-06-15 14:30:32 +00:00
Mark IJbema 7ef41f5a9b chore: move opencode changesets into upstream scripts 2026-06-15 16:20:36 +02:00
Johnny Eric Amancio 38459184f2 feat(cli): align native plan with architect (#11170)
* feat(cli): align native plan with architect

* fix(cli): support repo-root plan files

* test(cli): focus native plan reminder assertions
2026-06-15 14:20:19 +00:00
marius-kilocode a081fe37f9 style(vscode): format image diff translations 2026-06-15 16:20:03 +02:00
Marius 884c54f4f8 Merge pull request #11098 from Kilo-Org/feat/vscode-attention-notifications
feat(vscode): add attention sounds
2026-06-15 16:12:12 +02:00
Z User f52ffab517 fix: restore htmlparser2 — accidentally dropped during rebase conflict
htmlparser2 was added by upstream but lost during rebase conflict
resolution in packages/opencode/package.json. It is actively
imported at packages/opencode/src/tool/webfetch.ts:3
2026-06-15 14:09:35 +00:00
marius-kilocode 148b324c94 fix(vscode): translate image diff labels 2026-06-15 16:08:50 +02:00
marius-kilocode 056e06911b feat(vscode): render images in diff viewer 2026-06-15 16:00:12 +02:00
Mark IJbema d880a536b7 fix: annotate opencode changeset script 2026-06-15 15:56:54 +02:00
Mark IJbema d3c0c03f3b feat: add opencode changeset generator 2026-06-15 15:54:49 +02:00
Z User b63d43cf81 chore: update bun.lock after rebase 2026-06-15 13:51:06 +00:00
Z User 5135ab95cf fix: add storybook story files to knip entry points
Story files in webview-ui/src/stories/ were flagged as unused by knip
after storybook addon references were removed from .storybook/main.ts.
Adding them as explicit knip entry points resolves the CI failure.
2026-06-15 13:50:34 +00:00
Z User 19e5d17821 fix: remove orphaned storybook addon references from .storybook/main.ts
packages/kilo-ui and packages/kilo-vscode still referenced
@storybook/addon-docs, @storybook/addon-a11y, @storybook/addon-themes
in their addons array after the deps were removed.
2026-06-15 13:50:34 +00:00
Z User 7753659911 chore: remove 39 unused dependencies across monorepo
Removed unused packages identified via depcheck static analysis
and verified with full codebase grep to confirm zero usage.

Root (5):
- @aws-sdk/client-s3, heap-snapshot-toolkit, @morphllm/morphsdk
- @actions/artifact, sst

packages/core (1):
- @types/semver

packages/ui (6):
- @shikijs/transformers, @solid-primitives/bounds, luxon
- marked-katex-extension, marked-shiki, @types/luxon

packages/kilo-gateway (1):
- @kilocode/sdk

packages/kilo-ui (3):
- @storybook/addon-a11y, @storybook/addon-docs, @storybook/addon-themes

packages/kilo-vscode (3):
- dotenv, @storybook/addon-a11y, @storybook/addon-docs

packages/kilo-console (1):
- @opencode-ai/ui

packages/opencode (20):
- @hono/node-server, @hono/node-ws, @hono/standard-validator
- @openauthjs/openauth, partial-json, zod-to-json-schema
- @standard-schema/spec, @babel/core, @types/babel__core
- @npmcli/config, @opentelemetry/context-async-hooks
- @opentelemetry/exporter-trace-otlp-http, @pierre/diffs
- chokidar, glob, hono, hono-openapi, minimatch
- rotating-file-stream, xdg-basedir, @types/npmcli__arborist

Result: 264 packages pruned from node_modules (3962 -> 3698)
2026-06-15 13:50:34 +00:00
Imanol Maiztegui cdae2ce7df merge: record upstream v1.15.9 2026-06-15 14:48:06 +02:00
Imanol Maiztegui 5b9e33cfef refactor: kilo compat for v1.15.9 2026-06-15 14:48:05 +02:00
marius-kilocode 04ad8d760b feat(vscode): add global sound selection 2026-06-15 14:47:31 +02:00
Christiaan Arnoldus 535da33164 Merge branch 'main' into feature/custom-provider-reasoning-options 2026-06-15 14:47:26 +02:00
Marius c9ffc0b7df Merge pull request #11249 from Kilo-Org/indecisive-uranium
fix: format provider rate limit errors
2026-06-15 14:36:45 +02:00
marius-kilocode 2c30dc75ce fix: format provider rate limit errors 2026-06-15 14:17:44 +02:00
marius-kilocode a4b967662b refactor(vscode): align sounds with opencode attention 2026-06-15 14:13:57 +02:00
chrarnoldus d22d773003 style(vscode): format custom provider settings
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 12:05:19 +00:00
Christiaan Arnoldus 2ddf6f6352 Merge pull request #11158 from Kilo-Org/hide-training-models
feat: hide Kilo Gateway models that may train on prompts
2026-06-15 14:04:28 +02:00
kape c4bcdc504f Merge branch 'main' into feat/minimax-m3-thinking-toggle 2026-06-15 19:59:18 +08:00
chrarnoldus 8f6a722895 refactor(vscode): extract provider form initialization
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 11:53:36 +00:00
chrarnoldus 239369a8e5 refactor(vscode): simplify custom provider dialog
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 11:45:29 +00:00
Marius 583bef064c Merge pull request #11246 from Kilo-Org/sprout-principal
fix: include prerelease notes in stable releases
2026-06-15 13:41:40 +02:00
chrarnoldus a10caf9195 fix(vscode): complete custom provider translations
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 11:32:04 +00:00
marius-kilocode 3f1c8fae36 fix: include prerelease notes in stable releases 2026-06-15 13:22:43 +02:00
chrarnoldus a65f780fdd feat(vscode): configure provider output effort
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 11:19:01 +00:00
Christiaan Arnoldus 33b13f810c Merge branch 'main' into hide-training-models 2026-06-15 13:15:38 +02:00
chrarnoldus f97b6bc1bc Merge remote-tracking branch 'origin/main' into feature/custom-provider-reasoning-options
# Conflicts:
#	packages/kilo-vscode/src/shared/custom-provider.ts

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 10:17:30 +00:00
kilo-maintainer[bot] 5fab7b38d7 release: v7.3.46 2026-06-15 10:14:38 +00:00
Christiaan Arnoldus 3ccd205a9f Merge pull request #11206 from IamCoder18/fix/triage-model-path
fix(agent): fix triage model provider path for gpt-5-nano
2026-06-15 12:09:39 +02:00
chrarnoldus f121d70a00 Merge remote-tracking branch 'origin/main' into hide-training-models
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 10:06:19 +00:00
Christiaan Arnoldus 5e3d3dd25e Merge branch 'main' into feat/minimax-m3-thinking-toggle 2026-06-15 12:03:11 +02:00
Christiaan Arnoldus 44f144c8fc Apply suggestions from code review
Co-authored-by: Christiaan Arnoldus <christiaan.arnoldus@outlook.com>
2026-06-15 12:02:48 +02:00
Marius fb2db2e018 fix(vscode): allow removing provider reasoning (#11238)
* fix(vscode): allow removing provider reasoning

* style(vscode): format provider regression test

---------

Co-authored-by: Christiaan Arnoldus <christiaan.arnoldus@outlook.com>
2026-06-15 10:00:37 +00:00
chrarnoldus 998fa212a7 style(vscode): format prompt-training translations
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 09:59:02 +00:00
marius-kilocode 87a7e80f6d fix: harden keyless indexing handling 2026-06-15 11:54:06 +02:00
chrarnoldus 02f1d12985 Merge branch 'main' into hide-training-models 2026-06-15 09:49:44 +00:00
Marius 7f886c75ef Merge pull request #11240 from Kilo-Org/confirm-11227-skill-removal
fix: prevent recursive skill removal
2026-06-15 11:47:43 +02:00
marius-kilocode 9211000aad fix: support unauthenticated indexing endpoints 2026-06-15 11:45:39 +02:00
Christiaan Arnoldus 08e5fbe5e5 Merge pull request #11234 from Kilo-Org/chore/regenerate-v2-sdk-types
chore(sdk): regenerate v2 client
2026-06-15 11:44:48 +02:00
marius-kilocode 048aebf1b8 feat(agent-manager): track feature button usage 2026-06-15 11:33:50 +02:00
marius-kilocode f820e57bab fix: prevent recursive skill removal 2026-06-15 11:31:52 +02:00
chrarnoldus 3ffb1ad64a fix(vscode): avoid variant tuple inference
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 09:28:25 +00:00
chrarnoldus ef3ad342fc feat(vscode): select custom provider API
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 09:25:44 +00:00
Christiaan Arnoldus 7126d8737b Merge branch 'main' into chore/regenerate-v2-sdk-types 2026-06-15 11:20:36 +02:00
chrarnoldus a5b87fafa3 feat(vscode): support custom reasoning options
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 09:13:52 +00:00
marius-kilocode c6b335c6e5 Merge remote-tracking branch 'origin/main' into skinny-poetry
# Conflicts:
#	packages/opencode/src/kilocode/indexing-worker-client.ts
#	packages/opencode/test/kilocode/indexing-worktree.test.ts
2026-06-15 11:09:32 +02:00
kapelame 1511d13b3f chore: add changeset for MiniMax M-series reasoning toggle 2026-06-15 16:59:00 +08:00
Marius 14a8018795 Merge pull request #11231 from Kilo-Org/cleanup/vscode-unused-code-2
refactor(vscode): remove unused extension code
2026-06-15 10:49:19 +02:00
kilo-maintainer[bot] 69ab318178 chore: update nix node_modules hashes 2026-06-15 08:43:43 +00:00
Imanol Maiztegui f326be4b6c fix(vscode): clarify doom loop permissions (#11232) 2026-06-15 10:41:21 +02:00
chrarnoldus 214985428c chore(sdk): regenerate v2 client types
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 08:38:51 +00:00
kapelame c6ead9137e feat(provider): add MiniMax M-series reasoning toggle
MiniMax models (id contains "minimax") were in the variants() exclusion
list, so M3 exposed no reasoning control on any route despite supporting
the Anthropic `thinking` field (type: adaptive | disabled).

Remove minimax from the exclusion list and add instant/thinking variants,
mirroring the glm/kimi/qwen toggle added in #8484:
- @ai-sdk/anthropic (direct provider): map to native
  thinking:{type:"disabled"} / thinking:{type:"adaptive"}
- @kilocode/kilo-gateway + @openrouter/ai-sdk-provider: reuse the
  reasoning:{enabled} shape, translated by kiloProviderOptions.

Replace the obsolete "minimax returns empty object" test with coverage
for the direct-anthropic and kilo-gateway routes.
2026-06-15 16:38:18 +08:00
chrarnoldus 33937dc7bc chore(sdk): prepare v2 client regeneration
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 08:36:09 +00:00
Marius 64d7b1a5dd Merge pull request #11090 from Kilo-Org/marius-kilocode/kilo-opencode-v1.15.4
OpenCode v1.15.4
2026-06-15 10:30:22 +02:00
marius-kilocode 019270e407 test(cli): await ordinary workspace indexing 2026-06-15 10:28:16 +02:00
Marius 488b886ace Merge pull request #11183 from Kilo-Org/fix/vscode-redo-session-state
fix(vscode): restore session state on first redo
2026-06-15 10:19:07 +02:00
marius-kilocode 38333f62fb refactor(vscode): remove unused extension code 2026-06-15 10:13:23 +02:00
chrarnoldus 8eea56eb0b docs(ui): simplify hide prompt training description in i18n
Refactor the description for the `settings.models.hidePromptTraining` setting across all supported languages to remove the redundant "across all Kilo clients" phrase, making the text more concise.

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-15 08:07:53 +00:00
Christiaan Arnoldus ccdcc3634c Merge pull request #11121 from truffle-dev/fix/custom-provider-fetch-uses-stored-key-10139
fix(vscode): use stored API key for model fetches when editing a custom provider
2026-06-15 10:03:08 +02:00
marius-kilocode bbdc1f15b4 Merge remote-tracking branch 'origin/main' into skinny-poetry 2026-06-15 10:01:18 +02:00
marius-kilocode a61f3e66d0 Merge remote-tracking branch 'origin/main' into review/upstream-11090
# Conflicts:
#	packages/opencode/src/snapshot/index.ts
2026-06-15 10:00:37 +02:00
Christiaan Arnoldus 1648e69830 Merge branch 'main' into hide-training-models 2026-06-15 09:49:48 +02:00
Josh Lambert b0ce1b0b12 test(cli): cover reverting moved files 2026-06-14 23:04:33 -04:00
Josh Lambert 650f81c826 Merge stale PR history onto current main 2026-06-14 21:48:56 -04:00
Josh Lambert 8db7b68583 fix(cli): restore moved files during snapshot revert 2026-06-14 21:48:49 -04:00
kirillk a2185f2335 fix(jetbrains): align session transcript padding 2026-06-14 21:46:24 -04:00
kirillk 1f44036e6c fix(jetbrains): address prompt attachment review 2026-06-14 21:42:04 -04:00
kirillk 9d00369439 refactor(jetbrains): share CLI tool tag parsing 2026-06-14 21:21:43 -04:00
kirillk 90ceadd70a fix(jetbrains): retain streamed terminal blocks 2026-06-14 19:11:41 -04:00
kirillk 389ad42a7c fix(jetbrains): address attachment review feedback 2026-06-14 18:56:54 -04:00
kirillk 9eddaf1712 fix(jetbrains): highlight shell tool commands 2026-06-14 13:46:50 -04:00
kirillk 89e44f92a1 Merge remote-tracking branch 'origin/main' into truthful-allspice
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/prompt/PromptPanel.kt
2026-06-14 13:44:42 -04:00
kirillk f4843ae506 Merge remote-tracking branch 'origin/main' into tidy-antlion 2026-06-14 13:41:48 -04:00
kirillk 887f58ccc7 fix(jetbrains): render provider descriptions 2026-06-14 13:41:39 -04:00
kirillk 97041973c8 fix(jetbrains): address attachment review fixes 2026-06-14 13:41:24 -04:00
Aarav Sharma 8649ab6dcd fix(cli): improve headless docs dialog UX
- Add dialog to show docs URL when no display server is detected on Linux
- Simplify dialog to show 'No display detected' with docs URL
- Remove unnecessary browser open attempt in headless environments
- Add kilocode_change markers for new dialog component

The previous implementation tried to open a browser even on headless systems,
which would fail silently. The new dialog clearly communicates the situation
and provides the docs URL for manual access.
2026-06-13 21:00:55 -06:00
kirillk 7df78e8cfc fix(jetbrains): resolve prompt panel merge fallout 2026-06-13 14:41:13 -04:00
kirillk e9517784f0 Merge remote-tracking branch 'origin/balanced-backpack' into balanced-backpack
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/controller/SessionController.kt
#	packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties
#	packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/PromptPanelTest.kt
2026-06-13 14:38:43 -04:00
kirillk 19842bc1aa Merge remote-tracking branch 'origin/main' into balanced-backpack
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/controller/SessionController.kt
#	packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties
#	packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/PromptPanelTest.kt
2026-06-13 14:37:39 -04:00
kirillk 38a40836d2 fix(jetbrains): open attachments through frontend vfs 2026-06-13 14:23:21 -04:00
Thomas Brugman 9498af281c chore: merge upstream main into code edit setting 2026-06-13 19:45:18 +02:00
Aarav Sharma 0846f9e24c chore(agent): fix triage model provider path for gpt-5-nano
Corrects the model identifier to `kilo/openai/gpt-5-nano`. Previously, running the triage agent failed because the prefix was missing, throwing an Model Not Found error. Resolved by explicitly using the `kilo/openai/gpt-5-nano` target path.
2026-06-13 07:32:45 -06:00
kirillk 683c32b742 Merge remote-tracking branch 'origin/balanced-backpack' into balanced-backpack
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/MessageView.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/ViewFactory.kt
#	packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/SessionUiUpdateTest.kt
2026-06-13 00:47:44 -04:00
kirillk 551b9e20b7 Merge remote-tracking branch 'origin/main' into balanced-backpack
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/controller/SessionController.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/SessionMessageListPanel.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/MessageView.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/TurnView.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/ViewFactory.kt
#	packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties
#	packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/ui/PromptPanelTest.kt
2026-06-13 00:42:49 -04:00
github-actions[bot] f8ee07f84c chore: update kilo-vscode visual regression baselines 2026-06-13 01:21:55 +00:00
Iván Uruchurtu 241f68b7ec Merge origin/main into fix/vscode-tool-call-preview-polish 2026-06-12 19:14:57 -06:00
Josh Holmer 66af690700 feat(cli): show terminal title status indicators 2026-06-12 18:41:26 -04:00
kiloconnect[bot] d0d1eee3f4 docs: document VS Code model deep link protocol handler 2026-06-12 21:09:09 +00:00
Iván Uruchurtu 8d243a35bd fix(vscode): soften tool output surfaces 2026-06-12 15:02:04 -06:00
Iván Uruchurtu d0167ebec5 fix(vscode): unify tool card rhythm 2026-06-12 14:48:19 -06:00
Vishal Kumar Singh 258b8bae13 style(vscode): format IME Enter guard files 2026-06-13 01:24:51 +05:30
Vishal Kumar Singh 8efc296ae5 chore(vscode): add changeset for IME Enter composition guard
Release notes entry for the webview-ui fix that ignores Enter during IME
composition (incl. Windows keyCode 229), per AGENTS.md / kilo-review.
2026-06-13 01:22:49 +05:30
Vishal Kumar Singh 38e27d4789 test(webview-ui): centralize IME Enter guard and add unit tests
Extract isEnterKeyCommitNotIme so PromptInput, docks, selectors, and KiloClaw
inputs share one definition. Bun tests cover Enter, composing, and keyCode 229.
2026-06-13 01:22:48 +05:30
Vishal Kumar Singh 7ada6206d6 fix(webview-ui): ignore Enter during IME composition
Treat keyCode 229 and isComposing like other stacks so Enter does not send, pick models, rename, or submit docks while an IME is confirming text.

Fixes #7216
2026-06-13 01:22:28 +05:30
kirillk 4aa2d429f9 fix(jetbrains): polish shell output layout 2026-06-12 15:48:44 -04:00
Iván Uruchurtu cd846d93d0 fix(vscode): normalize chat block output surfaces 2026-06-12 13:46:59 -06:00
Iván Uruchurtu 5a36af64df fix(vscode): align chat block preview surfaces 2026-06-12 13:29:20 -06:00
kirillk 987da27287 feat: share provider metadata 2026-06-12 15:25:46 -04:00
Catriel Müller fcb8802aa5 Merge pull request #11178 from Kilo-Org/perf/durable-snapshot-initialization
perf(cli): accelerate durable snapshot initialization
2026-06-12 16:08:51 -03:00
Marius 37a761839a Merge pull request #11184 from Kilo-Org/snow-recorder
feat: support subagent reasoning overrides
2026-06-12 20:57:57 +02:00
marius-kilocode 0f2fe8db9c perf(cli): optimize all root snapshot initialization 2026-06-12 20:38:23 +02:00
Marius 96a16102b2 fix(cli): validate external download inputs (#11179) 2026-06-12 20:37:56 +02:00
kirillk 98a14c3328 fix(jetbrains): open attachments as physical kilo files 2026-06-12 14:36:52 -04:00
marius-kilocode 0b34c14db8 perf(cli): avoid quadratic snapshot path matching 2026-06-12 20:36:05 +02:00
marius-kilocode 0e735ba7b6 test(cli): align semantic search registry coverage 2026-06-12 20:35:23 +02:00
marius-kilocode adf03a9824 feat: support subagent reasoning overrides 2026-06-12 20:35:02 +02:00
marius-kilocode 6e915601b2 fix(cli): stabilize shared worktree indexing 2026-06-12 20:28:01 +02:00
marius-kilocode 9870615130 test(cli): cover snapshot fallback and interruption edges 2026-06-12 20:13:53 +02:00
marius-kilocode 1380be41ef fix(cli): harden snapshot materialization cleanup 2026-06-12 20:13:53 +02:00
marius-kilocode c4f91031c8 test(cli): stabilize snapshot materialization checks 2026-06-12 20:13:52 +02:00
marius-kilocode f63e77153c perf(cli): accelerate durable snapshot initialization 2026-06-12 20:13:52 +02:00
marius-kilocode b9d0d838c8 style(vscode): format session event guard 2026-06-12 20:13:01 +02:00
marius-kilocode 1fd0960cbc fix(vscode): restore session state on first redo 2026-06-12 20:09:30 +02:00
marius-kilocode 973d02cfd1 feat(cli): share codebase indexes across worktrees 2026-06-12 20:08:02 +02:00
marius-kilocode 850a3e546f Merge remote-tracking branch 'origin/main' into review/upstream-11090 2026-06-12 20:03:12 +02:00
marius-kilocode 6880928994 fix: preserve latest main state after merge 2026-06-12 20:02:44 +02:00
kilo-maintainer[bot] c6d5325d65 release: v7.3.45 2026-06-12 17:50:21 +00:00
marius-kilocode 390b0c3eb7 Merge remote-tracking branch 'origin/main' into review/upstream-11090 2026-06-12 19:45:41 +02:00
marius-kilocode 06e87cf653 fix: resolve OpenCode v1.15.4 merge regressions 2026-06-12 19:45:14 +02:00
Marius 1362bcf76b Merge pull request #11169 from Kilo-Org/immediate-tricorne
fix(vscode): route questions through request directories
2026-06-12 19:36:46 +02:00
Marius 579caef24b Merge pull request #11152 from Kilo-Org/resisted-conchoraptor
fix: abort Agent Manager prompts during startup
2026-06-12 19:33:52 +02:00
kirillk f651e0819d fix(jetbrains): align code block gap with session views 2026-06-12 13:24:04 -04:00
kirillk c4aac528ef fix(jetbrains): balance markdown code padding 2026-06-12 13:16:44 -04:00
Marius f8b17e2f67 fix(jetbrains): clean up prompt enhancement lifecycle (#11176) 2026-06-12 17:10:29 +00:00
github-actions[bot] a55b661b7f chore: update kilo-vscode visual regression baselines 2026-06-12 17:03:54 +00:00
marius-kilocode fc68b934a8 fix: isolate runner startup ordering 2026-06-12 19:00:54 +02:00
Marius 21bcd4be49 Merge pull request #11175 from Kilo-Org/fix/vscode-hide-todo-outcome-warning
fix(vscode): hide unfinished todo warnings
2026-06-12 18:59:36 +02:00
marius-kilocode cacbcc6285 fix(vscode): prune stale question routes 2026-06-12 18:59:04 +02:00
kirillk bde3d6c149 fix(jetbrains): restore markdown code block defaults 2026-06-12 12:58:55 -04:00
Marius 555dc23593 feat(vscode): render submitted review comments across chat surfaces (#11173)
* feat(vscode): render submitted review comments interactively

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-12 16:45:47 +00:00
marius-kilocode fb62e61caf fix(vscode): hide unfinished todo warnings 2026-06-12 18:41:27 +02:00
Catriel Müller b38f87a03b Merge pull request #11138 from IamCoder18/cli-console-restart-on-port-mismatch
fix(cli): restart daemon when console requested host/port don't match
2026-06-12 13:33:36 -03:00
Marius 57f2e794ca Add agent autonomy presets (#9750)
* feat(vscode): add agent autonomy presets

* feat(work-style): simplify onboarding state to use config-only persistence and add skipped state

Replace globalState-based `onboardingShown` flag with a new `skipped`
enum value in the `agentWorkStyle` VS Code setting. This makes the
onboarding flow re-triggerable by setting the config back to `unset`
and removes the need for extension context in work-style handlers.

- Add `skipped` to WorkStyleState enum for dismissing without choosing
- Remove `onboardingShown` from messages and context provider
- Add `watchWorkStyleConfig` to reactively push changes to webview
- Extract `SidebarEmptyState` and `WelcomeEmptyState` components from
  MessageList for cleaner separation of concerns
- Pass `emptyState` prop through ChatView to allow sidebar-specific
  onboarding UI without coupling MessageList to WorkStyleProvider

* chore: update kilo-vscode visual regression baselines

* feat(work-style): refine onboarding preferences

* feat(webview): re-request work style on extensionDataReady if still loading

Add a listener for the extensionDataReady message so that the
WorkStyleProvider retries data fetching when the extension signals
readiness, preventing a stale loading state caused by race conditions
during webview initialization.

* chore: update kilo-vscode visual regression baselines

* feat(work-style): improve onboarding flow

* chore: update kilo-vscode visual regression baselines

* refactor(onboarding): extract work style display logic into pure state resolver

Decouple onboarding visibility from the persisted WorkStyleState by
introducing a dedicated `display` signal driven by
resolveWorkStyleOnboarding(). The onboarding panel now auto-persists
"skipped" on first render (one-off semantics) and dismisses itself on
newTaskRequest events. Unit tests cover the three resolution branches.

* style(welcome): widen responsive breakpoint for work-style empty state

* fix(vscode): make work style onboarding updates reliable

Persist skipped state only after onboarding is bypassed, apply presets through one rollback-aware extension operation, and use the human-in-the-loop identifier consistently.

* fix(work-style): remove duplicate payload post after apply handler

The apply handler already posts the updated work-style payload
internally, so the additional post here caused a redundant message
to be sent to the webview after each style application.

* refactor(onboarding): relocate settings access from toast into picker card

Move the "Go to Settings" call-to-action out of the post-save toast
and into a persistent inline link at the bottom of the WorkStylePicker.
Simplify the success toast to a short 2-second confirmation, tighten
choice descriptions for conciseness, drop the bash detail row, and
remove the small-viewport rule that hid mode details.

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: Imanol Maiztegui <imanol.mzd@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-12 16:17:01 +00:00
Catriel Müller 04ebc7413c fix(cli): persist read TUI news 2026-06-12 13:14:02 -03:00
Catriel Müller e2b56eb925 refactor: fix test 2026-06-12 13:12:24 -03:00
kirillk 370ddce5ae fix(jetbrains): refine tool header spacing 2026-06-12 12:02:31 -04:00
marius-kilocode e2939c7557 fix(vscode): route questions through request directories 2026-06-12 17:44:55 +02:00
Marius 35a708062d Merge pull request #11165 from Kilo-Org/occipital-element
Add prompt enhancement to JetBrains
2026-06-12 17:39:58 +02:00
kirillk a73ee5329c feat(jetbrains): render shell output as markdown 2026-06-12 11:36:16 -04:00
kirillk ad3be6cae9 fix(jetbrains): restore provider catalog sections 2026-06-12 11:26:13 -04:00
Joshua Lambert 518aa7866c Merge pull request #10827 from Kilo-Org/feat/opus-vscode-deep-link
feat(kilo-vscode): support promoted model deep links
2026-06-12 11:25:14 -04:00
marius-kilocode bf6715594b feat(jetbrains): add prompt enhancement 2026-06-12 17:23:51 +02:00
Catriel Müller 680f50581a refactor: fix test 2026-06-12 12:23:11 -03:00
marius-kilocode 6a1377abaa Merge origin/main into OpenCode v1.15.4 2026-06-12 17:04:00 +02:00
Joshua Lambert 7922c92784 Merge branch 'main' into feat/opus-vscode-deep-link 2026-06-12 11:03:46 -04:00
Catriel Müller d8671cc393 refactor: improve flaky test 2026-06-12 11:56:47 -03:00
Catriel Müller be0d5ef3bb Merge branch 'main' into cli-console-restart-on-port-mismatch 2026-06-12 11:33:46 -03:00
Catriel Müller 5413c807de refactor: refactor solution to include daemon command 2026-06-12 11:32:16 -03:00
Christiaan Arnoldus 6b3b26567d Merge branch 'main' into fix/custom-provider-fetch-uses-stored-key-10139 2026-06-12 16:21:55 +02:00
marius-kilocode 76518dd24f Merge origin/main into OpenCode v1.15.4 2026-06-12 16:19:19 +02:00
Johnny Eric Amancio b90ab85c3b ci: clarify auto-close reopen message (#11163) 2026-06-12 16:18:45 +02:00
marius-kilocode 941accc2fc Merge origin/main into OpenCode v1.15.4 2026-06-12 16:10:38 +02:00
kilo-maintainer[bot] 4711209072 release: v7.3.44 2026-06-12 13:51:52 +00:00
Catriel Müller 0edfcf3e3c Merge pull request #11147 from Kilo-Org/catrielmuller/kilo-console-ui-improvements
feat: improve Kilo Console worktree review
2026-06-12 10:34:37 -03:00
Imanol Maiztegui 9df58d79ab fix(vscode): correct changeset package name (#11162) 2026-06-12 15:25:10 +02:00
Catriel Müller 4b5e7e6229 refactor: fix merge 2026-06-12 10:17:51 -03:00
Catriel Müller ef017c528e Merge branch 'main' into cli-console-restart-on-port-mismatch 2026-06-12 10:10:59 -03:00
Catriel Müller 91eb3ed444 Merge pull request #11148 from senguangd/fix/powershell-encoding
fix(shell): use EncodedCommand for PowerShell to fix Windows encoding issues
2026-06-12 10:07:58 -03:00
Catriel Müller 2f7657fd83 Merge pull request #11143 from IamCoder18/feat/cli-port-discovery-warning
feat(cli): warn when --port is outside discovery range
2026-06-12 09:42:13 -03:00
Catriel Müller c220a75525 refactor: isolate the changes inside of the kilo folders 2026-06-12 09:40:39 -03:00
Catriel Müller 303b67a265 refactor: fix kilo marker 2026-06-12 09:30:00 -03:00
kiloconnect[bot] 5e02f67cb7 feat(cli): extend dead-code track to flag bloated functions and files 2026-06-12 12:20:26 +00:00
kiloconnect[bot] ba5f681b38 fix(cli): resolve conflicting instructions in local-review prompt files
- Replace 'Review only these things:' with an explicit statement that
  the six tracks are permitted topics but not all are spawned for every
  review, removing the contradiction with the tiered sub-agent system
- Align track names (duplication, dead code) between Review Focus and
  Required Workflow step 3 so both sections use the same identifiers
- Scope the deploy safety, duplication, and dead code rules to their
  respective tracks with 'apply only when this track is active' so they
  don't imply mandatory coverage when those tracks are not spawned
2026-06-12 11:35:58 +00:00
Catriel Müller eb4d2e6ff6 fix: fix kilo pierre theme 2026-06-12 07:49:44 -03:00
Marius 9129844225 perf(agent-manager): virtualize expanded diff reviews (#11154)
* perf(agent-manager): reuse metadata while loading diffs

* perf(agent-manager): virtualize expanded diff reviews

* fix(agent-manager): reset virtual rows between reviews

* test(agent-manager): preserve review comment scrolling

* test(agent-manager): explain review context reset

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-12 10:47:33 +00:00
Marius 78d83c0651 fix(cli): inherit reasoning in task subagents (#11160) 2026-06-12 10:45:36 +00:00
Imanol Maiztegui 7955f865d8 Render streaming assistant rows outside virtualizer (#11153)
* fix(vscode): render streaming assistant rows outside virtualizer to prevent layout jumps

Replace the `keepMounted` index-based approach with a direct rendering
suffix for active assistant turns. Rows belonging to the streaming turn
are partitioned out of the virtualizer and rendered as plain DOM elements,
eliminating measurement instability caused by rapidly growing content
while preserving virtualized history for completed turns.

* Update packages/kilo-vscode/webview-ui/src/components/chat/MessageList.tsx

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

* fix(vscode): complete direct row ID rename

* refactor(transcript-rows): restrict direct partition to only the latest visible turn

Simplify partitionRows so that older streaming turns are no longer
retained in the direct (non-virtualized) output once a newer turn
becomes visible. The lookup now checks only the final row's turn
against the direct set, ensuring completed assistant turns move back
into the virtualizer immediately when the conversation advances.

---------

Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-06-12 12:16:05 +02:00
chrarnoldus 4dc1fd9d86 fix: share prompt-training model filtering
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-12 10:11:03 +00:00
Catriel Müller 65e6d0c8ed refactor: address comments 2026-06-12 06:57:45 -03:00
Marius 0d026ef4cf Merge pull request #11104 from Kilo-Org/flicker-hockey
fix(vscode): speed up subagent transcript loading
2026-06-12 11:52:16 +02:00
github-actions[bot] 27624ce2cb chore: update kilo-vscode visual regression baselines 2026-06-12 09:41:52 +00:00
chrarnoldus 9b94818497 refactor(vscode): isolate gateway model filtering
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-12 09:39:01 +00:00
chrarnoldus 8ff8371176 feat(vscode): hide prompt-training gateway models
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-12 09:37:33 +00:00
senguangd 846505368b Merge branch 'main' into fix/powershell-encoding 2026-06-12 17:07:45 +08:00
kiloconnect[bot] 1af5639350 fix(cli): scale local-review sub-agents based on diff size and complexity
Small diffs (<100 LOC, ≤3 files) now use 1-2 sub-agents instead of always
spawning six, reducing cost for simple changes. Medium diffs (100-300 LOC)
use 3-4, and large/complex diffs retain the full six-agent workflow.
2026-06-12 08:49:07 +00:00
Remon Oldenbeuving 5128211fa6 Merge pull request #11144 from Kilo-Org/feat/terminal-integrated-font
feat(vscode): use terminal.integrated font settings in Agent Manager xterm
2026-06-12 10:43:53 +02:00
Marius 84a62a12c6 Merge pull request #11151 from Kilo-Org/fix/vscode-binary-diffs
fix(vscode): keep binary diffs collapsed
2026-06-12 10:40:56 +02:00
marius-kilocode 77fe7c9e3f fix(vscode): keep binary diffs collapsed 2026-06-12 10:25:43 +02:00
Kirill Kalishev 68fd8ccce4 fix(vscode): route permission replies through request directories (#11133)
* fix(vscode): route permission replies through request directories

* fix(vscode): preserve permission routes during recovery

---------

Co-authored-by: marius-kilocode <marius@kilocode.ai>
2026-06-12 07:59:02 +00:00
marius-kilocode b23d3dfd75 fix: abort prompts during startup 2026-06-12 09:57:49 +02:00
marius-kilocode 5ebd5fea99 refactor(vscode): focus notifications on sounds 2026-06-12 09:30:07 +02:00
marius-kilocode a5f1514685 test(vscode): isolate terminal font defaults 2026-06-12 09:08:04 +02:00
marius-kilocode 3cd4628a52 fix(vscode): complete Agent Manager terminal font sync 2026-06-12 08:55:45 +02:00
marius-kilocode a09dafe61b fix(vscode): abort moved active sessions 2026-06-12 08:54:50 +02:00
Senguang Ding 6e0639b8c0 fix(shell): use EncodedCommand for PowerShell to fix Windows encoding issues
On Windows, PowerShell commands with non-ASCII characters (e.g., Chinese, Japanese, Cyrillic) produce garbled output (mojibake) because the console encoding defaults to the system OEM code page rather than UTF-8.

Switch from `-Command` to `-EncodedCommand` with a Base64-encoded UTF-16LE payload that explicitly sets `[Console]::InputEncoding`, `[Console]::OutputEncoding`, and `$OutputEncoding` to UTF-8 before executing the original command. This ensures both input and output are properly encoded as UTF-8 regardless of the system locale.

Fixes #4138
Fixes #2422
Fixes #2939
2026-06-12 12:56:10 +08:00
Catriel Müller 9a187d5aad feat: improve Kilo Console project review 2026-06-12 01:08:09 -03:00
Iván Uruchurtu eaece449b1 chore: trim tool preview PR scope 2026-06-11 21:09:35 -06:00
Aarav Sharma 12144cf827 chore: add changeset for port discovery warning 2026-06-11 20:54:28 -06:00
Aarav Sharma e35430580b chore: add changeset for console restart fix 2026-06-11 20:52:43 -06:00
Catriel Müller 35dd730dcc feat: kilo console dialogs 2026-06-11 23:18:42 -03:00
Iván Uruchurtu e04593219a style(vscode): format tool call preview files 2026-06-11 20:05:32 -06:00
Aarav Sharma 63294a4b2a fix(cli): restart daemon when console requested host/port don't match
When `kilo console --port 4321` reuses an already-running daemon on a

different port (e.g. 4097), the new options were silently ignored. Now

`kilo console` checks if the running daemon matches the requested

host/port, and restarts if they differ.

The restart only occurs when explicit `--port` or `--hostname` options

are provided via CLI, not when using default values.
2026-06-11 19:51:19 -06:00
Iván Uruchurtu c9c4c794ae test(vscode): update shell preview contract 2026-06-11 19:50:25 -06:00
github-actions[bot] 0277983d6f chore: update kilo-vscode visual regression baselines 2026-06-12 01:41:08 +00:00
Iván Uruchurtu 481f8361cf fix(vscode): polish chat tool call previews 2026-06-11 19:37:26 -06:00
Aarav Sharma 4ba2bac7a2 feat(cli): warn when --port is outside discovery range
Print a yellow non-fatal warning when kilo console or kilo daemon
start/restart is invoked with an explicit --port outside 4097-4116.
Auto-discovery only scans that window, so an out-of-range port can
silently break later manual or auto-connect attempts.

Implementation stays entirely in Kilo-owned files to avoid touching
upstream shared code:

- Added packages/opencode/src/kilocode/cli/port-warning.ts helper
  exporting warnPort(port), which skips port 0 (auto-pick) and emits
  a yellow console.warn when the explicit port is outside
  Daemon.PortRange.
- Hooks the helper from console.ts and daemon.ts (start/restart)

The command still succeeds; the warning is informational only.
2026-06-11 19:14:39 -06:00
kirillk 709a53cda1 fix(jetbrains): keep kilo vfs editor state backend-owned 2026-06-11 19:22:13 -04:00
kirillk ef7aa7fdf8 fix(jetbrains): stabilize provider settings actions 2026-06-11 18:49:45 -04:00
kirillk 5058050167 fix(jetbrains): polish session markdown styling 2026-06-11 18:37:56 -04:00
Josh Lambert 14d0cc2b96 refactor(vscode): reuse model selection for deep links 2026-06-11 17:19:49 -04:00
kiloconnect[bot] 287f75aa2b feat(vscode): use terminal.integrated font settings in Agent Manager xterm terminals
Reads terminal.integrated.fontFamily and terminal.integrated.fontSize (with
editor font fallback) instead of the editor font CSS var. A config watcher
broadcasts fontChanged messages so live terminals update without a reload.
Nerd Font glyphs now render correctly in Agent Manager terminal tabs.
2026-06-11 21:16:26 +00:00
kirillk abacee3099 fix(jetbrains): adjust session inner padding 2026-06-11 16:40:35 -04:00
Catriel Müller 43f783b7dc Merge pull request #11139 from Kilo-Org/catrielmuller/fix-cli-upstream-jun-11
fix(cli): restore Kilo CLI initialization after upstream merge
2026-06-11 17:27:37 -03:00
Catriel Müller ff7537a9da Merge pull request #10866 from Kilo-Org/fix/10841-indexing-sidebar
fix(cli): move indexing status to sidebar
2026-06-11 17:27:10 -03:00
Johnny Eric Amancio 50b249e498 fix: improve auto close filter logic (#11119) 2026-06-11 20:26:37 +00:00
Catriel Müller 72266359d4 chore(cli): add release note for restored commands 2026-06-11 16:34:43 -03:00
Catriel Müller 988cb02fe8 fix: fix kilo cli init 2026-06-11 16:33:07 -03:00
Catriel Müller 71cc624f59 fix: fix test 2026-06-11 14:59:37 -03:00
Catriel Müller 4e0c7248a9 fix: fix facades 2026-06-11 14:37:18 -03:00
github-actions[bot] e41da65205 chore: update kilo-vscode visual regression baselines 2026-06-11 17:25:12 +00:00
Catriel Müller a4952b0836 fix: fix tests 2026-06-11 14:19:49 -03:00
kirillk b6bbb839e6 fix(jetbrains): add provider settings disconnect flow 2026-06-11 13:10:58 -04:00
kirillk c47cb365ce fix(jetbrains): simplify prompt input chrome 2026-06-11 13:09:21 -04:00
kirillk e06aa64d8d fix(jetbrains): polish session header spacing 2026-06-11 12:52:56 -04:00
Thomas Brugman 622658efae fix(cli): restore prompt loop formatting 2026-06-11 18:39:47 +02:00
Thomas Brugman b4aa8f1a71 fix(cli): avoid unannotated shared formatting churn 2026-06-11 18:35:27 +02:00
Thomas Brugman 55f1630413 Merge upstream/main into codex/add-default-diff-expansion-setting 2026-06-11 18:20:47 +02:00
Catriel Müller d5112edf90 fix: code indexing on kilo core 2026-06-11 12:29:01 -03:00
Catriel Müller 35e3cd1803 fix(cli): log indexing poll failures 2026-06-11 12:23:56 -03:00
Catriel Müller 22149292ea Merge pull request #11124 from Kilo-Org/clover-tuck
fix: prevent Bun downgrades during upstream merges
2026-06-11 11:46:41 -03:00
Marius 286d99cc38 Merge pull request #11126 from Kilo-Org/strong-question
fix(agent-manager): avoid blocked native autofocus
2026-06-11 16:34:11 +02:00
Josh Lambert 4c5b17a0e5 refactor(vscode): simplify model deep link handling 2026-06-11 10:33:06 -04:00
Catriel Müller 2e4b59399a fix: address Bun merge validation review 2026-06-11 11:31:04 -03:00
marius-kilocode 50dbbb30d1 fix(agent-manager): avoid blocked native autofocus 2026-06-11 16:19:23 +02:00
Marius 9c0e4f76e8 Merge pull request #10997 from Kilo-Org/telling-angora
fix(vscode): disable Copilot in extension dev host
2026-06-11 16:00:27 +02:00
Marius b64d7e0095 fix(agent-manager): preserve named worktrees on collision (#11001)
* fix(agent-manager): preserve named worktrees on collision

* fix(agent-manager): keep collision fallback deterministic

* style(agent-manager): format branch resolver
2026-06-11 15:56:14 +02:00
Marius cdef15c6ae Merge pull request #11075 from Kilo-Org/canyon-stage
perf: speed up large session forks
2026-06-11 15:55:07 +02:00
Marius 8a5a64becf Merge pull request #11074 from Kilo-Org/adjoining-quality
perf(agent-manager): overlap MCP startup with worktree creation
2026-06-11 15:52:04 +02:00
Catriel Müller ea92eb2244 chore: remove implementation plan 2026-06-11 10:46:28 -03:00
Catriel Müller fee5cf441a fix: prevent Bun downgrades during upstream merges 2026-06-11 10:44:33 -03:00
kirillk 517777da63 Merge remote-tracking branch 'origin/main' into balanced-backpack 2026-06-11 09:33:44 -04:00
Christiaan Arnoldus f1d07ad375 Merge pull request #11107 from Kilo-Org/docs/update-gateway-byok-providers
docs: update gateway BYOK providers
2026-06-11 15:20:09 +02:00
truffle 15ddb4122e fix(vscode): use stored API key for model fetches when editing a custom provider
Keys are stripped from provider payloads before they reach the webview,
so the model-fetch request for an existing provider always went out
unauthenticated and gated endpoints returned 401. Retain providerID->key
extension-side in fetchProviderData, send providerID from the dialog when
the key field is untouched, and resolve the stored key in the fetch
handler — only when the requested URL matches the provider's configured
baseURL, so a stored secret can never be redirected to a different host.

Addresses the API-key half of #10139.
2026-06-11 13:15:41 +00:00
kilo-maintainer[bot] e2b4be5bf8 chore: update nix node_modules hashes 2026-06-11 13:15:23 +00:00
kirillk a4b58411be Merge remote-tracking branch 'origin/main' into truthful-allspice 2026-06-11 09:09:45 -04:00
Joshua Lambert 83973c1217 Merge branch 'main' into docs/update-gateway-byok-providers 2026-06-11 09:06:02 -04:00
Marius fe4a1ffd70 Merge pull request #11118 from Kilo-Org/carnation-trilby
fix(vscode): dismiss stale permission responses
2026-06-11 15:02:58 +02:00
Marius d8457d28ad Merge pull request #11117 from Kilo-Org/fix/recover-vercel-provider-upgrades
fix(cli): recover Cerebras, xAI, and OpenAI-compatible SDK upgrades
2026-06-11 15:01:01 +02:00
marius-kilocode 143ae8e992 fix(vscode): dismiss stale permission responses 2026-06-11 14:46:57 +02:00
marius-kilocode b75af0de88 fix(cli): recover Vercel AI SDK provider upgrades 2026-06-11 14:44:04 +02:00
Marius d245b7c20c Merge pull request #11102 from Kilo-Org/fix-cli-notification-duplication
fix(cli): consolidate TUI notifications
2026-06-11 14:42:41 +02:00
marius-kilocode 6ae28b5504 Merge branch 'main' into review/upstream-11090 2026-06-11 14:18:08 +02:00
marius-kilocode 351741f912 docs(kilo-docs): document CLI attention sounds 2026-06-11 14:04:00 +02:00
chrarnoldus 28df9a416b docs: retain Codestral BYOK option
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-11 11:56:24 +00:00
Christiaan Arnoldus f150b8e8b9 Merge branch 'main' into docs/update-gateway-byok-providers 2026-06-11 13:36:10 +02:00
Imanol Maiztegui 4a953bb242 refactor(ui): extract user activity tracking from auto-scroll into dedicated module (#11115)
Split scroll-related concerns into smaller, focused units:
- Move user interaction detection (pointer, key, touch, wheel) into
  a new `createUserActivity` hook with mark/consume/isRecent API
- Extract `distanceFromBottom` and `canScroll` as pure utility helpers
- Simplify `createAutoScroll` by replacing inline state and event
  handlers with the composable user activity tracker
- Rename internal actions for clarity (scrollToBottom → follow/force)
2026-06-11 13:33:10 +02:00
Marius 9eac326768 Merge pull request #11111 from Kilo-Org/chore/celebrate-pr-11111
chore: celebrate PR 11111
2026-06-11 13:12:04 +02:00
marius-kilocode c758008181 fix(cli): restore local console command 2026-06-11 12:24:15 +02:00
marius-kilocode 5935fce9d5 fix(vscode): count pending submission time 2026-06-11 12:22:33 +02:00
chrarnoldus 797c3df265 docs: order gateway BYOK providers
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-11 10:15:54 +00:00
Marius 8b2a100084 fix(agent-manager): show local prompt feedback immediately (#11103)
* fix(agent-manager): show initial prompt feedback immediately

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-11 10:11:22 +00:00
Marius 13a3cf55c4 docs: update Kilo copyright year 2026-06-11 12:10:47 +02:00
Marius 604e6408fa chore: remove PR milestone marker 2026-06-11 12:08:53 +02:00
Marius c643013162 chore: celebrate PR 11111 2026-06-11 12:07:44 +02:00
chrarnoldus 1d6fde23f6 docs: update gateway BYOK providers
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-11 10:05:25 +00:00
Marius 294c532f6a fix(cli): prevent subagents asking questions (#11101) 2026-06-11 11:59:40 +02:00
marius-kilocode 514af4c361 fix(vscode): speed up subagent transcript loading
Paginate child histories and preserve reasoning updates that arrive while their initial transcript loads.
2026-06-11 11:53:44 +02:00
marius-kilocode d80c99b4ed fix(vscode): make notifications explicit opt-ins 2026-06-11 11:53:40 +02:00
marius-kilocode 8a727084ae fix(cli): consolidate TUI notifications 2026-06-11 11:52:00 +02:00
Marius 237fd10602 Merge pull request #11097 from Kilo-Org/fix/remove-vscode-paste-summary
fix(vscode): remove unsupported paste summary setting
2026-06-11 11:50:57 +02:00
Marius c922ca7f91 Merge pull request #11100 from Kilo-Org/neighborly-visitor
fix(vscode): keep HTTP status with error title
2026-06-11 11:23:29 +02:00
github-actions[bot] 2e9d1f7b77 chore: update kilo-vscode visual regression baselines 2026-06-11 08:49:03 +00:00
marius-kilocode 5f7e5e8bd5 fix(ui): align tool error text baselines 2026-06-11 10:45:27 +02:00
kilo-code-bot[bot] 5bc8df843a fix(cli): cap cloud-managed shell command timeouts (#10478)
* fix(cli): cap cloud-managed shell command timeouts

* refactor(cli): isolate hosted shell timeout policy

* chore(cli): annotate hosted timeout message

* test(cli): provide runtime flags to timeout coverage

---------

Co-authored-by: Evgeny Shurakov <eshurakov@users.noreply.github.com>
2026-06-11 10:40:17 +02:00
marius-kilocode 5b38d299c4 fix(vscode): keep HTTP status with error title 2026-06-11 10:29:30 +02:00
marius-kilocode 9162067743 fix(vscode): suppress focused session sounds 2026-06-11 10:22:21 +02:00
marius-kilocode b0ec91cef4 feat(vscode): add attention notifications 2026-06-11 10:06:23 +02:00
Christiaan Arnoldus f31d370ea1 Merge pull request #11085 from Kilo-Org/indicate-empty-model-list
Indicate when the model list is empty
2026-06-11 10:02:25 +02:00
marius-kilocode f8ec1dc7a8 fix(vscode): remove unsupported paste summary setting 2026-06-11 09:37:44 +02:00
kilo-maintainer[bot] 13fe106872 chore: update nix node_modules hashes 2026-06-11 07:26:56 +00:00
Christiaan Arnoldus d52fb8003a Merge pull request #11091 from Kilo-Org/fix/question-reply-locks
fix: prevent duplicate streamed tool calls
2026-06-11 09:16:34 +02:00
Joshua Lambert b06d91de45 Merge branch 'main' into feat/opus-vscode-deep-link 2026-06-11 00:28:56 -04:00
Joshua Lambert b16647471d Merge branch 'main' into fix/question-reply-locks 2026-06-10 21:12:26 -04:00
Joshua Lambert 3f9b5bed31 Merge pull request #11051 from Kilo-Org/fix/question-custom-answer-selection
fix(vscode): improve custom question answers
2026-06-10 21:12:10 -04:00
kirillk bb31723e73 fix(jetbrains): polish session header controls 2026-06-10 20:21:39 -04:00
Joshua Lambert f93fd619bd Merge branch 'main' into fix/question-custom-answer-selection 2026-06-10 19:54:56 -04:00
kirillk 7749efdbf2 fix(jetbrains): order editor disposal fallback 2026-06-10 18:48:33 -04:00
kirillk 3dc1ac5f51 fix(jetbrains): stabilize Kilo VFS keys 2026-06-10 18:44:58 -04:00
Joshua Lambert f798faf720 Merge branch 'main' into fix/question-reply-locks 2026-06-10 18:15:40 -04:00
Josh Lambert a58ec826d3 chore(gateway): remove provider regression test 2026-06-10 18:04:27 -04:00
Josh Lambert 3f9c025bbc fix(gateway): prevent duplicate streamed tool calls 2026-06-10 17:05:06 -04:00
Colin McDonnell 34f94e3b16 fix: bump @openrouter/ai-sdk-provider to 2.9.0 (#30800) 2026-06-10 17:02:32 -04:00
Marius 77ad0bdd9c Merge pull request #11094 from Kilo-Org/perf-opencode-transcript-model
perf(vscode): virtualize bounded transcript rows
2026-06-10 22:46:06 +02:00
marius-kilocode a823944798 style(vscode): format transcript virtualization 2026-06-10 22:08:08 +02:00
marius-kilocode cfb24f7db3 docs(vscode): describe shared transcript performance 2026-06-10 22:01:38 +02:00
marius-kilocode 4acc1f8bcc adopt row based virtualization 2026-06-10 21:47:13 +02:00
Christiaan Arnoldus 2aeb55934c Merge pull request #11081 from Kilo-Org/fix/model-selector-metadata-badges
fix: respect model badge metadata
2026-06-10 21:17:52 +02:00
Christiaan Arnoldus df0b145b35 Merge branch 'main' into fix/model-selector-metadata-badges 2026-06-10 20:04:19 +02:00
marius-kilocode b5a67e5e0f Merge remote-tracking branch 'origin/main' into marius-kilocode/kilo-opencode-v1.15.4 2026-06-10 20:03:59 +02:00
marius-kilocode 72a11b02af resolve merge conflicts 2026-06-10 20:03:42 +02:00
Josh Lambert c17588304b fix(vscode): simplify custom answer actions 2026-06-10 13:53:55 -04:00
Josh Lambert 57bef8ae68 fix(vscode): prevent question reply locks 2026-06-10 13:52:07 -04:00
sylwester-liljegren f180658b99 feat(vscode): add category labels and clarify command titles in packa… (#10084)
* feat(vscode): add category labels and clarify command titles in package.json

Add "Kilo Code" category to all command contributions for better
organization in the VS Code command palette. Clarify the "Open in Tab"
command title to be more descriptive instead of generic "Kilo Code".

This improves discoverability and user experience when browsing available
commands in VS Code.

* chore: add command palette changeset

---------

Co-authored-by: Sylwester Liljegren <sylwester.liljegren@softronic.se>
Co-authored-by: Johnny Amancio <johnnyeric@gmail.com>
2026-06-10 19:35:24 +02:00
Marius 6addc10c3e Merge pull request #11087 from Kilo-Org/fix-vscode-shared-session-db
fix(vscode): restore sessions after channel database regression
2026-06-10 19:15:12 +02:00
Marius e59f8863f6 Merge pull request #11086 from Kilo-Org/necessary-open
chore: remove codesearch tool
2026-06-10 18:48:15 +02:00
marius-kilocode 5969a4c210 fix(vscode): restore shared session database 2026-06-10 18:45:01 +02:00
chrarnoldus a367fa1e14 fix(cli): scope empty model warning to provider
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-10 16:43:48 +00:00
chrarnoldus c4d5f20964 fix(vscode): show training badge for paid models
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-10 16:42:34 +00:00
Marius 7edba02494 Merge pull request #11082 from Kilo-Org/feat/lancedb-default
feat: default semantic search to LanceDB
2026-06-10 18:40:03 +02:00
marius-kilocode e7d0f9ec78 chore: remove codesearch tool 2026-06-10 18:32:06 +02:00
Christiaan Arnoldus 81de7502ae Merge branch 'main' into fix/model-selector-metadata-badges 2026-06-10 18:24:34 +02:00
Catriel Müller 5d04b253b3 Merge pull request #10922 from Kilo-Org/laced-secure
fix(cli): avoid repeat compaction from stale totals
2026-06-10 13:15:46 -03:00
Josh Lambert 7b54044cce test(vscode): remove question dock browser spec 2026-06-10 11:58:33 -04:00
github-actions[bot] f6e18b7668 chore: update kilo-vscode visual regression baselines 2026-06-10 15:53:51 +00:00
marius-kilocode a16e82a77a feat: default semantic search to LanceDB 2026-06-10 17:47:57 +02:00
Josh Lambert f0a9977828 refactor(vscode): clarify custom answer selection 2026-06-10 11:47:22 -04:00
marius-kilocode 10f48c24c6 merge: record upstream v1.15.4 2026-06-10 17:38:11 +02:00
marius-kilocode 00554bd24c refactor: kilo compat for v1.15.4 2026-06-10 17:38:09 +02:00
Thomas Brugman 47467425bf Merge upstream/main into codex/add-default-diff-expansion-setting 2026-06-10 17:17:34 +02:00
chrarnoldus 2a6596b0c5 fix(cli): indicate an empty model list
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-10 15:16:00 +00:00
chrarnoldus c5ffbd1aed chore(sdk): regenerate model metadata types
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-10 15:13:41 +00:00
chrarnoldus 9c279a16b4 fix: respect model badge metadata
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-10 15:09:51 +00:00
Josh Lambert 94e8aba9f4 refactor(vscode): derive custom question selection 2026-06-10 11:05:59 -04:00
Marius 9e2994ca6b Merge pull request #11006 from Kilo-Org/intriguing-hurricane
fix(cli): refresh connected provider models
2026-06-10 16:50:35 +02:00
marius-kilocode fd566bbc69 fix(cli): detach background task references 2026-06-10 16:46:56 +02:00
marius-kilocode 31eb7e1c08 test(vscode): avoid TSX import in hydration unit test 2026-06-10 16:46:56 +02:00
marius-kilocode a86f60dc4f fix(cli): adapt fork writer to sync service 2026-06-10 16:46:56 +02:00
marius-kilocode e17ce0c9ec perf: speed up large session forks 2026-06-10 16:46:56 +02:00
Catriel Müller bc3af9a145 fix(cli): avoid repeat compaction from stale totals 2026-06-10 11:43:32 -03:00
Thomas Brugman e335f97856 Add code edit block display setting 2026-06-10 16:40:15 +02:00
kirillk 71484fb6c1 Merge remote-tracking branch 'origin/main' into balanced-backpack
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/SessionMessageListPanel.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/MessageView.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/TurnView.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/ViewFactory.kt
2026-06-10 09:32:32 -04:00
Marius 5637375874 Merge pull request #11072 from Kilo-Org/curious-swordtail
perf(cli): seed Agent Manager snapshots from worktree index
2026-06-10 15:27:05 +02:00
kirillk 2f9c6ecdd0 feat(jetbrains): open embedded attachments in editor tabs 2026-06-10 09:24:14 -04:00
marius-kilocode 884602b4d3 test(cli): normalize snapshot fixture line endings 2026-06-10 15:12:14 +02:00
Marius a261b7e016 chore: track local plans (#11062) 2026-06-10 08:50:13 -04:00
Josh Lambert 69f193d3f8 fix(vscode): submit selected question option 2026-06-10 08:46:47 -04:00
Josh Lambert 856fc66656 fix(vscode): sync custom question selection 2026-06-10 08:46:47 -04:00
kilo-maintainer[bot] 8df2f1e072 chore: update nix node_modules hashes 2026-06-10 12:43:59 +00:00
marius-kilocode c1166dd562 fix(cli): align snapshot seed with process runner 2026-06-10 14:41:32 +02:00
marius-kilocode 915ecfbefb perf(agent-manager): overlap MCP startup with worktree creation 2026-06-10 14:39:07 +02:00
marius-kilocode 69a0b384e6 fix(cli): refresh connected provider models 2026-06-10 14:37:40 +02:00
marius-kilocode 6920f37b77 perf(cli): seed Agent Manager snapshots from worktree index 2026-06-10 14:31:58 +02:00
Marius a17c167c03 Merge pull request #11031 from Kilo-Org/marius-kilocode/kilo-opencode-v1.14.51
OpenCode v1.14.51
2026-06-10 14:27:20 +02:00
kilo-maintainer[bot] a7a18b2e25 release: v7.3.42 2026-06-10 12:26:35 +00:00
Imanol Maiztegui b98fb9afdb fix(kilo-ui): preserve paused chat scroll position during non-overflow layouts (#11067)
Remove logic that automatically unpaused scroll when the container
temporarily stopped overflowing. Previously, layout changes that reduced
content height below the viewport would reset the userScrolled flag,
causing the chat to jump back to the bottom when the user had
intentionally scrolled up.

The stop/pause function now accepts a force parameter to bypass the
canScroll check, ensuring an explicit user pause is never cleared by
transient layout changes.
2026-06-10 13:51:54 +02:00
marius-kilocode b2798ef41e fix(vscode): preserve partial session updates 2026-06-10 13:47:46 +02:00
Catriel Müller 45c4902aae Merge pull request #11050 from Kilo-Org/tattered-echinodon
fix(cli): keep Console terminals in TUI mode
2026-06-10 08:38:48 -03:00
Imanol Maiztegui 339c70a947 fix(ui): pause chat auto-scroll on upward wheel over nested content (#11065)
Remove the `isNested` helper that previously allowed upward scrolling
inside nested scrollable regions (tool output, code blocks) without
disabling auto-scroll. Now any upward wheel input anywhere in the
transcript immediately pauses auto-scroll, reflecting the user's intent
to review earlier content even when a nested region would consume the
event.

The wheel handler is registered with `capture: true` so it fires before
nested elements can intercept the event, and `markUser` no longer
triggers on wheel events since the capture handler handles that intent.
2026-06-10 12:53:44 +02:00
Marius 1a7cae4266 Merge pull request #11063 from Kilo-Org/chocolate-lunaria
feat(agent-manager): add fork action to completed sessions
2026-06-10 12:52:13 +02:00
Marian Alexandru Alecu 9581c6afee Merge pull request #11064 from Kilo-Org/fix/review-prompt
fix(cli): allow review follow-up fixes
2026-06-10 13:40:00 +03:00
Alex Alecu db7707d49c fix(cli): allow review follow-up fixes 2026-06-10 13:20:20 +03:00
github-actions[bot] 8d248e9e34 chore: update kilo-vscode visual regression baselines 2026-06-10 10:15:33 +00:00
marius-kilocode 262ce0896d chore(agent-manager): remove PR screenshot asset 2026-06-10 12:12:40 +02:00
marius-kilocode 4446102dac feat(agent-manager): add completed session fork action 2026-06-10 12:10:17 +02:00
marius-kilocode abf9f79868 refactor(vscode): keep Copilot dev setting focused 2026-06-10 11:05:48 +02:00
marius-kilocode bbfd59b85c fix(cli): preserve Scout code search 2026-06-10 11:05:09 +02:00
marius-kilocode d6cde9fc4a Merge remote-tracking branch 'origin/main' into marius-kilocode/kilo-opencode-v1.14.51 2026-06-10 10:49:54 +02:00
marius-kilocode 28a26b11c1 fix(cli): restore TUI streaming and indexing layout 2026-06-10 10:46:18 +02:00
Joshua Lambert c7a06d2f4b Merge pull request #11016 from Kilo-Org/docs/accept-http-202-links
fix(kilo-docs): accept HTTP 202 links
2026-06-10 04:13:03 -04:00
Catriel Müller 8535d3d51b fix(cli): keep Console terminals in TUI mode 2026-06-10 00:29:16 -03:00
Joshua Lambert 729c06204e Merge pull request #10751 from Kilo-Org/fix/session-ingest-env-auth
fix(cli): sync sessions authenticated by KILO_API_KEY
2026-06-09 16:34:59 -04:00
Kirill Kalishev 419510cf5b Merge pull request #11045 from Kilo-Org/jetbrains/release/v7.0.1-rc.8
release(jetbrains): v7.0.1-rc.8
2026-06-09 15:14:17 -04:00
kirillk 22310e1dbb Merge branch 'glaze-fireplace' into balanced-backpack 2026-06-09 14:46:20 -04:00
Kirill Kalishev 6563aa789a docs(jetbrains): edit changelog for v7.0.1-rc.8 2026-06-09 14:43:47 -04:00
Kirill Kalishev 4bece69535 docs(jetbrains): edit changelog for v7.0.1-rc.8 2026-06-09 14:42:25 -04:00
Kirill Kalishev ac1451f130 docs(jetbrains): edit changelog for v7.0.1-rc.8 2026-06-09 14:39:16 -04:00
kilo-maintainer[bot] 707917c7f5 release(jetbrains): v7.0.1-rc.8 2026-06-09 18:35:29 +00:00
Kirill Kalishev 08c0ef63eb Merge pull request #11015 from Kilo-Org/tide-clipper
Improve JetBrains session usability
2026-06-09 14:26:02 -04:00
kirillk 9f8f698e38 fix(jetbrains): refine prompt attachment rendering 2026-06-09 14:15:34 -04:00
kirillk 5792f44e41 fix(jetbrains): release session UI editors in tests 2026-06-09 14:00:28 -04:00
kirillk c90846a989 fix(jetbrains): preserve session scroll intent 2026-06-09 14:00:28 -04:00
kirillk 52dfa5453e fix(jetbrains): sanitize read payloads in parser 2026-06-09 13:22:00 -04:00
Kirill Kalishev bfa719af55 Merge branch 'main' into tide-clipper 2026-06-09 12:58:53 -04:00
Joshua Lambert 9ae35e869d Merge pull request #11011 from Kilo-Org/revert/pr-10924-session-export
revert(cli): re-enable session export
2026-06-09 12:18:47 -04:00
kirillk 49339a2583 feat(jetbrains): support pasting prompt attachments 2026-06-09 11:30:21 -04:00
kirillk b7d4f7efed style(jetbrains): compact session spacing 2026-06-09 11:18:20 -04:00
kirillk 3658deaf4e fix(jetbrains): keep completed reasoning expanded 2026-06-09 10:54:34 -04:00
kirillk bbe6f25e21 fix(jetbrains): bound streaming reasoning resources 2026-06-09 10:49:47 -04:00
kilo-maintainer[bot] adb8d3e31e release: v7.3.41 2026-06-09 14:27:34 +00:00
Marius 7a50184fae Merge pull request #11037 from Kilo-Org/perf-agent-manager-timeline-renderer
perf(vscode): coalesce task timeline performance optimization
2026-06-09 16:25:23 +02:00
Johnny Eric Amancio 7f84c13bce feat: add Kilo auto close workflow isolated from upstream (#11040) 2026-06-09 16:09:09 +02:00
Marius 422bc8aca8 fix(vscode): remove stale speech setting (#11039) 2026-06-09 15:58:13 +02:00
kirillk b85ce6df66 fix(jetbrains): refine drop overlay icon spacing 2026-06-09 09:25:28 -04:00
marius-kilocode ace77d96a1 fix(cli): restore Kilo Gateway provider integration 2026-06-09 15:14:49 +02:00
Marius ff2e66ed3a Merge pull request #11038 from Kilo-Org/perf-renderer-self-test
perf(ui): render streamed markdown incrementally
2026-06-09 13:09:11 +02:00
marius-kilocode dfbcbfc4f2 fix(cli): use native ripgrep on Windows 2026-06-09 13:03:49 +02:00
marius-kilocode fd6fd50236 fix(cli): stabilize file search and event tests 2026-06-09 12:46:32 +02:00
marius-kilocode d363965df9 test(ui): restore incremental markdown coverage 2026-06-09 12:46:28 +02:00
marius-kilocode 9c490cfea8 test(ui): run markdown DOM coverage in browser 2026-06-09 12:32:12 +02:00
marius-kilocode fe1ac4bcc2 test(ui): declare markdown DOM test dependency 2026-06-09 12:19:46 +02:00
marius-kilocode 70f9441b50 perf(ui): render streamed markdown incrementally 2026-06-09 12:09:25 +02:00
marius-kilocode 1aabc41b13 docs(vscode): clarify shared timeline behavior 2026-06-09 12:02:04 +02:00
marius-kilocode 246ba995a7 docs(agent-manager): explain timeline scroll batching 2026-06-09 12:00:33 +02:00
marius-kilocode 15d771e8fa perf(agent-manager): coalesce timeline auto-scroll 2026-06-09 11:59:17 +02:00
marius-kilocode 56c9abc6a3 fix(kilo-docs): ignore DigitalOcean API base link 2026-06-09 11:56:30 +02:00
marius-kilocode 5ccde61b30 Merge remote-tracking branch 'origin/main' into marius-kilocode/kilo-opencode-v1.14.51 2026-06-09 11:54:48 +02:00
marius-kilocode 27d2c148d0 fix: complete OpenCode v1.14.51 integration 2026-06-09 11:53:08 +02:00
Marius c77aca3fa3 Merge pull request #11033 from Kilo-Org/groovy-brook
fix(vscode): keep concurrent Agent Manager streams responsive
2026-06-09 11:49:40 +02:00
Marius 574dc19204 Merge pull request #11034 from Kilo-Org/nova-success
fix(cli): reset forked session costs
2026-06-09 11:11:20 +02:00
Aarav 82b22f7858 feat: add .ods (OpenDocument Spreadsheet) support to read tool (#10761)
* feat: add .ods (OpenDocument Spreadsheet) support to read tool

* fix(cli): handle ODS compatibility edge cases

---------

Co-authored-by: marius-kilocode <marius@kilocode.ai>
2026-06-09 09:01:58 +00:00
marius-kilocode 0d76fa6273 fix(cli): reset forked session costs 2026-06-09 10:52:25 +02:00
Marius fd41e295dd Merge branch 'main' into groovy-brook 2026-06-09 10:45:28 +02:00
Marius feed20b72f Merge pull request #11032 from Kilo-Org/fix/session-prompt-queue-message-id
test(cli): fix prompt queue message ID fixture
2026-06-09 10:42:01 +02:00
marius-kilocode 10520d04e1 fix(vscode): avoid logging every streamed event 2026-06-09 10:38:40 +02:00
marius-kilocode 8addd087be test(cli): use valid prompt queue message ID 2026-06-09 10:26:21 +02:00
marius-kilocode 0e21edbca0 Merge remote-tracking branch 'origin/main' into marius-kilocode/kilo-opencode-v1.14.51 2026-06-09 10:18:20 +02:00
marius-kilocode 1d23dc2171 resolve merge conflicts 2026-06-09 10:17:21 +02:00
Marius d881bfcc68 Merge pull request #10094 from IamCoder18/fix/agent-manager-model-sync
fix: agent-manager model sync on config change
2026-06-09 09:48:18 +02:00
Marius dbddefd2df Merge pull request #10109 from IamCoder18/fix/session-prompt-queue-memory-leak
fix: prevent memory leak in KiloSessionPromptQueue.cancel for sessions without active tails
2026-06-09 09:29:05 +02:00
marius-kilocode f78492d73e merge: record upstream v1.14.51 2026-06-09 08:29:03 +02:00
marius-kilocode 6ecaaab48a refactor: kilo compat for v1.14.51 2026-06-09 08:29:02 +02:00
kirillk d1fa4506c8 fix(jetbrains): align session view icons 2026-06-08 20:52:36 -04:00
kirillk 793cf934b7 feat(jetbrains): add session file drop overlay 2026-06-08 20:51:27 -04:00
kirillk d8b40526ef chore(jetbrains): add UI implementation plans 2026-06-08 19:23:33 -04:00
kirillk 5cf95c548e fix(jetbrains): align reasoning toggle 2026-06-08 19:17:08 -04:00
kirillk 2c0b17678c fix(jetbrains): tune question card spacing 2026-06-08 19:10:01 -04:00
kirillk a0c3f4be27 fix(jetbrains): align session progress footer 2026-06-08 18:47:24 -04:00
kirillk 952241ee07 fix(jetbrains): refine session card outlines 2026-06-08 18:40:38 -04:00
kirillk 7481b6f8cb feat(jetbrains): refine attachment preview cards 2026-06-08 18:34:37 -04:00
kirillk b9bff3b69c fix(jetbrains): reset session card hover styling 2026-06-08 17:35:33 -04:00
kilo-maintainer[bot] 372a406298 chore: update nix node_modules hashes 2026-06-08 21:21:02 +00:00
kirillk a8b127e0ca feat(jetbrains): support prompt file attachments 2026-06-08 17:07:45 -04:00
Marius 21a808468b Merge pull request #10996 from Kilo-Org/marius-kilocode/kilo-opencode-v1.14.48
OpenCode v1.14.48
2026-06-08 23:04:28 +02:00
kirillk 1864e441d5 fix(jetbrains): render search targets as regular text 2026-06-08 17:01:20 -04:00
kirillk 8c4c3375b9 fix(jetbrains): show search paths relative to repo 2026-06-08 16:56:48 -04:00
Josh Lambert 6b2d879e50 Revert "Merge pull request #11017 from Kilo-Org/docs/fix-deepseek-link-check"
This reverts commit 9ca9489388, reversing
changes made to 0b0f0959e5.
2026-06-08 16:19:23 -04:00
Josh Lambert 8dbb830641 Merge branch 'main' of https://github.com/Kilo-Org/kilocode into docs/accept-http-202-links 2026-06-08 16:18:56 -04:00
kirillk e56e0f2450 chore: remove local plan files 2026-06-08 16:12:42 -04:00
kirillk 38c774ca86 fix(jetbrains): preserve scroll position on expand 2026-06-08 16:11:45 -04:00
kirillk 406f92afe3 fix(jetbrains): left-align search tool targets 2026-06-08 16:10:52 -04:00
Christiaan Arnoldus bb1cfcd27e Merge pull request #10992 from Kilo-Org/rename-mercury-autocomplete-labels
Rename Mercury autocomplete model labels
2026-06-08 21:50:30 +02:00
marius-kilocode da67373ad5 Merge remote-tracking branch 'origin/main' into marius-kilocode/kilo-opencode-v1.14.48
# Conflicts:
#	packages/opencode/src/session/processor.ts
2026-06-08 21:45:00 +02:00
Marius 08d0dd4c7a Merge pull request #11010 from Kilo-Org/button-viburnum
fix(cli): compact before configured context threshold
2026-06-08 21:38:11 +02:00
kirillk 5518d6636c feat(jetbrains): render tool output with editor bodies 2026-06-08 15:26:09 -04:00
kirillk df39c2cc14 feat(jetbrains): add editor tab VFS infrastructure 2026-06-08 14:52:59 -04:00
kirillk 7afccae4ec refactor(jetbrains): split tool view renderers 2026-06-08 14:06:28 -04:00
marius-kilocode 9a1f424e35 fix(cli): harden proactive compaction replay 2026-06-08 19:52:13 +02:00
kirillk 5736a39459 feat(jetbrains): render search tools with dedicated views 2026-06-08 13:47:15 -04:00
Marius 9ca9489388 Merge pull request #11017 from Kilo-Org/docs/fix-deepseek-link-check
fix(kilo-docs): use stable DeepSeek links
2026-06-08 19:42:42 +02:00
marius-kilocode 8c4636b613 fix(kilo-docs): use stable DeepSeek links 2026-06-08 19:23:34 +02:00
marius-kilocode e7ac3bf151 Merge remote-tracking branch 'origin/main' into marius-kilocode/kilo-opencode-v1.14.48
# Conflicts:
#	packages/opencode/test/kilocode/session-export/e2e.test.ts
2026-06-08 19:22:31 +02:00
Josh Lambert a40ca7aca8 fix(kilo-docs): accept HTTP 202 links 2026-06-08 13:07:53 -04:00
Joshua Lambert 0b0f0959e5 Merge pull request #10879 from Kilo-Org/feat/terminal-bench-model-details
feat: show Terminal Bench model details
2026-06-08 12:53:39 -04:00
Joshua Lambert 3ca1ab6280 Merge branch 'main' into revert/pr-10924-session-export 2026-06-08 12:45:41 -04:00
Joshua Lambert 621acf986b Merge branch 'main' into feat/terminal-bench-model-details 2026-06-08 12:33:31 -04:00
Marius ad93990ca9 fix(ui): restore pointer cursors for clickable controls (#10999)
* fix(ui): restore pointer cursors for clickable controls

* fix(ci): raise VS Code Storybook heap limit

* fix(ci): extend heap to visual test server
2026-06-08 16:32:49 +00:00
Joshua Lambert 79ca8e120d Merge pull request #11014 from Kilo-Org/fix/vscode-storybook-heap
ci: raise VS Code Storybook heap limit
2026-06-08 12:23:05 -04:00
marius-kilocode 79c6e1a1f9 Merge remote-tracking branch 'origin/main' into button-viburnum 2026-06-08 18:14:28 +02:00
kirillk c772cc4031 Merge remote-tracking branch 'origin/tiny-chokeberry' into tide-clipper 2026-06-08 12:14:16 -04:00
Marius 994cbc0023 fix(kilo-docs): link directly to MiniMax console (#11007) 2026-06-08 16:13:01 +00:00
Marius 0925eba8b0 Merge pull request #11012 from Kilo-Org/fix/remove-session-export-worker-e2e
test(cli): remove network-dependent session export case
2026-06-08 18:12:55 +02:00
Joshua Lambert ab37a7675c Merge branch 'main' into revert/pr-10924-session-export 2026-06-08 12:08:11 -04:00
marius-kilocode 18c3020ab2 fix(cli): annotate proactive compaction hooks 2026-06-08 18:06:17 +02:00
Joshua Lambert 4b8992112b Merge branch 'main' into feat/terminal-bench-model-details 2026-06-08 12:05:28 -04:00
Josh Lambert 636586a3e2 ci: apply Storybook heap limit to visual job 2026-06-08 11:58:55 -04:00
marius-kilocode 5505a567a7 Merge remote-tracking branch 'origin/main' into button-viburnum 2026-06-08 17:53:57 +02:00
marius-kilocode fd4b7a27d3 test(cli): remove network-dependent session export case 2026-06-08 17:52:38 +02:00
Josh Lambert 0d6f263bdd ci: raise VS Code Storybook heap limit 2026-06-08 11:52:08 -04:00
Igor Šćekić 6ee090b5a4 Restore cloud session diffs on import (#10948)
* feat(cli): restore cloud session diffs on import

* fix(cli): hide git diff restore subprocesses

* fix(cli): harden session diff path guard

* test(cli): keep diff restore test synchronous

* test(cli): normalize diff restore line endings

* fix(cli): preserve imported diffs across session forks

* chore: remove session ingest findings doc

* fix(cli): avoid duplicate cumulative session diffs

* test(cli): isolate session export test failures

* fix(cli): preserve cumulative cloud fork diffs

* fix(cli): avoid cumulative diff prefix duplication
2026-06-08 15:44:03 +00:00
kirillk 6add3130a9 Merge remote-tracking branch 'origin/main' into tide-clipper 2026-06-08 11:02:25 -04:00
kirillk 9fd22517ec Merge remote-tracking branch 'origin/main' into tiny-chokeberry 2026-06-08 11:01:53 -04:00
Josh Lambert 9f072b05d4 chore(cli): add session export changeset 2026-06-08 10:57:41 -04:00
Josh Lambert b1db6bb532 Revert "Merge pull request #10924 from Kilo-Org/fix/temporarily-disable-session-export"
This reverts commit e2e070da2f, reversing
changes made to e02efb5ce6.
2026-06-08 10:56:54 -04:00
marius-kilocode 39dbf7fd0b test(cli): remove redundant exit binding loop 2026-06-08 14:43:53 +02:00
marius-kilocode cc03ffc581 fix: harden OpenCode v1.14.48 integration 2026-06-08 14:38:13 +02:00
marius-kilocode a13064167d fix(cli): compact before context threshold overflow 2026-06-08 14:02:20 +02:00
Josh Holmer ece8453ad0 fix(core): avoid copying visible planning chat into new sessions (#10991) 2026-06-08 13:56:59 +02:00
Marius 2f3e32895d Merge pull request #11004 from Kilo-Org/fix-worktree-project-skills
fix(cli): discover project skills in worktree sessions
2026-06-08 13:45:58 +02:00
Marius 741b00f2e0 fix(cli): restore subagent isolation in session forks (#11000) 2026-06-08 11:36:44 +00:00
marius-kilocode 16e334ff8c fix(cli): discover project skills in worktree sessions 2026-06-08 13:30:20 +02:00
Christiaan Arnoldus 2d7c49d2a8 Update Mercury autocomplete model labels 2026-06-08 13:22:17 +02:00
Marius 12e83e1d3b Merge pull request #10998 from Kilo-Org/voltaic-veterinarian
fix(cli): restore automatic session titles
2026-06-08 13:21:41 +02:00
Marius 8918bb767a Merge pull request #10787 from Kilo-Org/picayune-yacht
fix(vscode): route worktree permission approvals correctly
2026-06-08 13:04:32 +02:00
Marius 65f0c3e44e Merge pull request #10995 from Kilo-Org/fix/ignore-legacy-model-snapshots
fix(cli): ignore legacy models snapshots
2026-06-08 13:03:37 +02:00
marius-kilocode a59b255b31 fix(cli): restore automatic session titles 2026-06-08 13:03:28 +02:00
marius-kilocode 5706abce76 chore(cli): normalize upstream annotations 2026-06-08 12:45:47 +02:00
marius-kilocode d71b1e3442 revert(sdk): keep generation on pinned Bun 2026-06-08 12:36:30 +02:00
marius-kilocode 26f3f72ab5 fix(vscode): disable Copilot in extension dev host 2026-06-08 12:33:10 +02:00
marius-kilocode 97dd460482 fix(sdk): stabilize generated event ordering 2026-06-08 12:31:59 +02:00
marius-kilocode 5b32c368c9 refactor(sdk): simplify Bun version lookup 2026-06-08 12:25:44 +02:00
marius-kilocode cc2167fc52 fix(sdk): reject mismatched Bun generation 2026-06-08 12:17:29 +02:00
marius-kilocode cf08de3f44 resolve merge conflicts 2026-06-08 12:04:21 +02:00
marius-kilocode 4550e0d883 fix(cli): ignore legacy models snapshots 2026-06-08 11:50:27 +02:00
marius-kilocode 1f5103cc1b merge: record upstream v1.14.48 2026-06-08 10:58:11 +02:00
marius-kilocode e610b1d390 refactor: kilo compat for v1.14.48 2026-06-08 10:58:10 +02:00
kirillk cdccebe279 fix(jetbrains): refine reasoning block spacing 2026-06-07 15:45:17 -04:00
kilo-maintainer[bot] 1181567b26 release: v7.3.40 2026-06-06 02:29:27 +00:00
Johnny Eric Amancio be5f42f158 fix: support custom plan exit paths (#10952) 2026-06-06 00:50:58 +02:00
kirillk 256fe3a819 fix(jetbrains): improve streaming reasoning display 2026-06-05 17:56:57 -04:00
Catriel Müller 011477a915 Merge pull request #10925 from Kilo-Org/improvement/cli-suggest-skills
Suggest skill slash commands in CLI
2026-06-05 18:38:30 -03:00
kilo-maintainer[bot] f018b8ffa9 release: v7.3.39 2026-06-05 21:13:04 +00:00
Catriel Müller 3b1549d20a Merge pull request #10961 from Kilo-Org/catrielmuller/remove-macos-intel
refactor: fix intel mac runner
2026-06-05 17:59:09 -03:00
Catriel Müller 17f5619c59 refactor: flag intel mac 2026-06-05 17:57:39 -03:00
Josh Lambert 706aa5fba6 Merge remote-tracking branch 'origin/main' into resolve-terminal-bench-kilo
# Conflicts:
#	packages/sdk/js/src/v2/gen/types.gen.ts
2026-06-05 16:51:49 -04:00
Catriel Müller 9a53a602d4 Merge pull request #10958 from Kilo-Org/fix/cli-disable-bun-splitting
fix(cli): disable Bun code-splitting to fix baseline release crash
2026-06-05 17:46:49 -03:00
Josh Lambert 210f587826 test: focus Terminal Bench coverage 2026-06-05 16:41:49 -04:00
Catriel Müller 8b5fd89708 refactor(cli): drop morphsdk compat layer and CJS build plugin
The compat re-export and the build's CJS-redirect plugin only existed to work
around the 'G9' crash that's actually a Bun --splitting bug (now fixed by
splitting:false). With splitting off the morphsdk ESM barrel bundles cleanly,
so import it directly in warpgrep.ts and remove the indirection.
2026-06-05 16:49:16 -03:00
Catriel Müller 4ca4700359 fix(cli): disable Bun code-splitting to fix baseline startup crash
The real cause of the 'Exported binding G9 needs to refer to a top-level
declared variable' SyntaxError is a Bun 1.3.14 --splitting codegen bug
(oven-sh/bun#25621), not @morphllm/morphsdk. With splitting:true Bun emits
invalid cross-chunk re-exports (import{vn as G9}) that crash the compiled
baseline binary at startup. Disabling splitting produces a valid binary;
verified the 'as G9' artifact is gone from the compiled output.
2026-06-05 16:35:18 -03:00
Catriel Müller fae783dc14 Merge pull request #10957 from Kilo-Org/fix/morphsdk-cjs-resolve-subpath
fix(cli): resolve morphsdk client.cjs via exported subpath
2026-06-05 16:23:24 -03:00
Catriel Müller d7df07a1eb fix(cli): resolve morphsdk client.cjs via exported subpath
The morphsdkCjsPlugin called require.resolve on the raw dist/.../client.cjs
path, which is not an exported subpath in the package's exports map, so Bun
aborted the release build with 'Cannot find module ...client.cjs'.

Resolve through the public specifier @morphllm/morphsdk/tools/warp-grep/client
instead — require.resolve uses the package's "require" condition, mapping it
straight to client.cjs.
2026-06-05 16:22:01 -03:00
Catriel Müller 7d241ee6ff Merge pull request #10956 from Kilo-Org/fix/morphsdk-cjs-build-plugin
fix(cli): use build plugin to redirect morphsdk ESM barrel to CJS
2026-06-05 16:09:12 -03:00
Catriel Müller bd1e3e4a14 fix(cli): use build plugin to redirect morphsdk ESM barrel to CJS
The createRequire approach from #10955 did not prevent the Bun ESM
splitter from generating invalid output. Bun 1.3.14 with
`conditions: ["browser"]` resolves @morphllm/morphsdk via the "import"
condition (pre-split ESM barrel) even inside createRequire() calls,
pulling in 52 chunk-*.js files that cause:

  SyntaxError: Exported binding 'G9' needs to refer to a top-level declared variable.

Fix: add a morphsdkCjsPlugin in script/build.ts using Bun's onResolve
API to redirect the module specifier to the absolute path of client.cjs
before the ESM splitter is invoked. client.cjs is a self-contained
~2300-line CJS bundle with no chunk-*.js imports.

morphsdk.ts is simplified to a plain re-export — the CJS redirection
happens at build time, no source-level workaround needed.
2026-06-05 15:52:14 -03:00
Catriel Müller d9cbaa31e6 Merge pull request #10955 from Kilo-Org/fix/cli-release-validation-runtime
fix(cli): prevent Bun ESM splitter crash and fix Alpine musl validation
2026-06-05 15:35:11 -03:00
kirillk 3411c37d99 Merge remote-tracking branch 'origin/main' into tide-clipper 2026-06-05 14:11:09 -04:00
Catriel Müller f7970c99ed fix(cli): prevent Bun ESM splitter crash and Alpine musl validation
Two independent release validation failures introduced by kilo-opencode-v1.14.33 (morphsdk) and the new all-arch validation jobs.

**@morphllm/morphsdk pre-split ESM (intermittent SyntaxError on Windows)**

@morphllm/morphsdk/tools/warp-grep/client ships as a 805-byte ESM barrel that
re-exports from 13 internal chunk-*.js files (52 chunks total). When Bun 1.3.14
bundles the CLI with splitting+minify enabled, merging these external pre-split
chunks into its own chunk graph intermittently produces invalid minified ESM:

  SyntaxError: Exported binding 'G9' needs to refer to a top-level declared variable.

Non-deterministic because Bun's parallel bundler uses different orderings per run;
same build sometimes succeeds, sometimes fails on Windows x64.

Fix: load morphsdk via createRequire (forces CJS bundle, client.cjs 2292 lines,
self-contained) instead of the ESM barrel. Wrapper lives in kilocode/compat/ with
a comment explaining how to detect and fix this pattern for future third-party deps.

Scanned all 40+ third-party packages imported by packages/opencode/src — morphsdk
is the only one with pre-split ESM; all others ship single-file ESM or CJS only.

**Alpine musl validation (libstdc++/libgcc missing)**

Bun's musl target (bun-linux-{arch}-musl) is not fully static — it links against
libstdc++.so.6 and libgcc_s.so.1 (GCC C++ runtime). Alpine base does not ship
these by default. The fix adds apk add --no-cache libstdc++ libgcc at the start of
the Alpine Docker smoke test, matching the runtime requirement that any Alpine user
of the CLI would also need.
2026-06-05 15:10:16 -03:00
Joshua Lambert 6ba7c84fc2 Merge pull request #10951 from Kilo-Org/fix/vscode-preserve-sidebar-on-reload
fix(vscode): preserve Explorer after window reload
2026-06-05 13:21:21 -04:00
Catriel Müller 2e2c07b292 Merge pull request #10949 from Kilo-Org/alder-xenoposeidon
Fix CLI models snapshot release validation
2026-06-05 13:48:56 -03:00
kirillk d505677d88 fix(jetbrains): prevent transcript scrollbar overlap 2026-06-05 12:45:02 -04:00
kirillk d1214fcc7a Merge remote-tracking branch 'origin/main' into tide-clipper 2026-06-05 12:17:52 -04:00
kirillk cd80323c0f test(jetbrains): add markdown stress leak coverage 2026-06-05 12:16:30 -04:00
kirillk 01f2886190 fix(jetbrains): speed up session mouse wheel scrolling 2026-06-05 12:03:35 -04:00
Kirill Kalishev 452a34d7a6 Merge pull request #10917 from Kilo-Org/plastic-munchkin
feat: add JetBrains release skill
2026-06-05 11:55:29 -04:00
kirillk 3b762484f3 fix(jetbrains): hide markdown separators 2026-06-05 11:28:42 -04:00
Ari Messer ed4c402fde Merge pull request #10911 from Kilo-Org/docs/update-nvidia-nemotron-model 2026-06-05 08:02:27 -07:00
kiloconnect[bot] 2a54288a26 docs: update NVIDIA Nemotron model ID and description in gateway models list 2026-06-05 07:45:29 -07:00
Josh Lambert ca5c4d9a91 test(vscode): remove sidebar reload regression guard 2026-06-05 10:27:45 -04:00
Josh Lambert 54534bd641 fix(vscode): preserve sidebar on window reload 2026-06-05 10:24:18 -04:00
Joshua Lambert e2e070da2f Merge pull request #10924 from Kilo-Org/fix/temporarily-disable-session-export
fix(cli): temporarily disable session export
2026-06-05 10:00:36 -04:00
Aarav e02efb5ce6 docs(security): reflect Security Agent availability in docs (#10898)
The previous docs stated Security Agent was restricted to Teams and
Enterprise plans, which no longer matches the product behavior.

The personal and organization sidebars both expose Security Agent
unconditionally, with no plan gate or feature flag. This keeps the
docs aligned with that behavior.

Reason for change: docs were out of sync with UI/backend access rules.
2026-06-05 15:52:01 +02:00
Catriel Müller f828478689 Merge pull request #10933 from Kilo-Org/fix/mcp-json-strict-output
fix(cli): write strict JSON for MCP config
2026-06-05 10:25:35 -03:00
Imanol Maiztegui 225b914b59 perf(chat): reserve layout space for working indicator to prevent content shift (#10950)
Wrap the WorkingIndicator in a persistent slot container with a fixed
min-height so that toggling between the spinner and session actions
does not cause the chat content to jump. This stabilizes the scroll
position when live output finishes.
2026-06-05 13:15:51 +00:00
Catriel Müller 2dd5100eea fix(vscode): validate local CLI snapshot sidecar 2026-06-05 09:40:38 -03:00
Catriel Müller 78117d1a25 fix: validate CLI models snapshot before release builds 2026-06-05 09:28:40 -03:00
Imanol Maiztegui 6a64794a5b fix(auto-scroll): ignore control interactions when detecting user scroll intent (#10946)
Extract helper utilities to identify interactive elements (buttons,
inputs, textareas, contenteditable) and nested scrollable containers.
Skip pausing auto-scroll when the user interacts with form controls
or question answer elements, preventing false positives that would
stop the chat from following new content.
2026-06-05 12:22:20 +00:00
Imanol Maiztegui f5b5797580 refactor(chat): use ResizeObserver to maintain scroll position on container resize (#10944)
Replace the custom event approach for resuming auto-scroll when the
permission dock disappears. Instead, observe the scroll container's
dimensions directly via createResizeObserver in the auto-scroll hook,
eliminating the coupling between ChatView and MessageList through
window events. The scroll ref is now tracked in the store to enable
resize observation alongside the existing content observer.
2026-06-05 13:11:01 +02:00
Imanol Maiztegui 049d567d13 fix(ui): prevent false auto-scroll pauses from programmatic scroll events (#10942)
Remove lastScrollTop tracking that incorrectly classified virtualization
and layout-driven scroll position changes as user-initiated scrolling.
Now only explicit user input (detected via recentlyInteracted()) can
pause the auto-scroll following behavior, keeping chat pinned to the
bottom during programmatic or layout-driven updates.
2026-06-05 09:41:04 +00:00
Christiaan Arnoldus b198441247 Merge pull request #10901 from Kilo-Org/fix/webfetch-unsupported-images
fix(cli): reject unsupported webfetch images
2026-06-05 10:56:13 +02:00
Mohammad Javad Naderi 4de82931ed fix(vscode): tolerate duplicate panel command registration 2026-06-05 11:31:32 +03:30
Evan Jacobson c992b92842 fix(cli): annotate command Kilo changes 2026-06-04 23:20:33 -06:00
Evan Jacobson 48466850a9 Undo extra changeset 2026-06-04 22:53:52 -06:00
Evan Jacobson 2099feba9b fix(cli): disambiguate skill slash commands 2026-06-04 22:38:19 -06:00
Josh Holmer be234fa926 fix(core): always deny tool calls for system agents 2026-06-04 23:50:49 -04:00
kilo-maintainer[bot] 5c6b83ad28 release: v7.3.33 2026-06-05 03:24:39 +00:00
Joshua Lambert 62ff9162ab Merge pull request #10935 from Kilo-Org/fix/cli-release-build-state
fix(cli): isolate release target builds
2026-06-04 23:15:54 -04:00
Joshua Lambert 7afef4aa85 Merge branch 'main' into fix/cli-release-build-state 2026-06-04 23:00:29 -04:00
Josh Lambert 254b070bb0 ci: limit CLI artifact validation to version 2026-06-04 22:55:22 -04:00
Josh Lambert 8295ab3096 ci: validate Linux CLI release artifacts 2026-06-04 22:52:27 -04:00
Josh Lambert 6cab5f18e7 fix(cli): isolate release target builds 2026-06-04 22:40:06 -04:00
kilo-maintainer[bot] 77c6b802c5 release: v7.3.32 2026-06-05 02:17:45 +00:00
Catriel Müller a0eb3b7cb6 fix(cli): write strict JSON for MCP config 2026-06-04 22:50:37 -03:00
Evan Jacobson 881a451f8a Changeset 2026-06-04 17:01:39 -06:00
Evan Jacobson 8094ba6ab3 feat(cli): suggest skill slash commands 2026-06-04 16:30:01 -06:00
kilo-maintainer[bot] 7341745449 release: v7.3.31 2026-06-04 22:12:32 +00:00
Josh Lambert 189f251866 fix(cli): temporarily disable session export 2026-06-04 17:28:28 -04:00
kilo-maintainer[bot] 3178592e0c release: v7.3.30 2026-06-04 19:53:43 +00:00
Catriel Müller b0f22d998e Merge pull request #10905 from Kilo-Org/npm-package-readme
docs(cli): refresh npm package README
2026-06-04 14:41:58 -03:00
Catriel Müller 0af454de08 fix(cli): preserve npm package metadata 2026-06-04 14:21:38 -03:00
kirillk 80be074c9c fix: ignore stale JetBrains publish runs 2026-06-04 12:44:04 -04:00
Kirill Kalishev c9c3341c8e Merge pull request #10916 from Kilo-Org/different-sunday
docs(kilo-docs): update JetBrains EAP guidance
2026-06-04 12:42:02 -04:00
kirillk 1060fa4e5e docs(jetbrains): reference release skill 2026-06-04 12:35:42 -04:00
kirillk a7a9ccee9c fix: make JetBrains release merge optional 2026-06-04 12:33:52 -04:00
kirillk 41ab86f42c fix: address JetBrains release skill review 2026-06-04 12:28:13 -04:00
kirillk 341c5f8bdc docs(kilo-docs): refine JetBrains EAP compatibility wording 2026-06-04 12:23:46 -04:00
Kirill Kalishev 103daf3e66 Merge pull request #10913 from Kilo-Org/fix/book-open-check-training-icon
fix(vscode): replace brain-circuit with book-open-check for training disclosure
2026-06-04 12:21:05 -04:00
Kirill Kalishev c45b8fbad1 Merge pull request #10915 from Kilo-Org/jetbrains/release/v7.0.1-rc.7
release(jetbrains): v7.0.1-rc.7
2026-06-04 12:20:54 -04:00
kirillk 8ee6caf512 feat: add JetBrains release skill 2026-06-04 12:15:45 -04:00
kirillk dc793e2cb3 docs(kilo-docs): clarify JetBrains auto-update setting 2026-06-04 12:11:52 -04:00
kirillk ddb6005e14 docs(kilo-docs): update JetBrains EAP guidance 2026-06-04 12:04:14 -04:00
Kirill Kalishev cbebc0294d Merge branch 'main' into fix/book-open-check-training-icon 2026-06-04 12:01:07 -04:00
Kirill Kalishev 77db3cb311 Update CHANGELOG.md 2026-06-04 11:58:17 -04:00
kilo-maintainer[bot] 88bc5d8af7 release(jetbrains): v7.0.1-rc.7 2026-06-04 15:50:26 +00:00
kiloconnect[bot] ae91a34525 fix(vscode): replace brain-circuit with book-open-check for training disclosure icon
Aligns the VSCode extension and kilo-ui with the JetBrains plugin, which
replaced the brain-circuit icon with the book-open-check icon for the
'may be used for training data' indicator in the model picker.
2026-06-04 14:55:06 +00:00
Kirill Kalishev c1c6ec9d34 Merge pull request #10910 from Kilo-Org/skitter-porkpie
fix(jetbrains): render multi-release change notes
2026-06-04 10:49:55 -04:00
Kirill Kalishev 58e8efd321 Merge branch 'main' into skitter-porkpie 2026-06-04 10:29:16 -04:00
Kirill Kalishev d6df2d5e98 Update packages/kilo-jetbrains/build.gradle.kts
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-06-04 10:29:04 -04:00
Josh Lambert c6ec517124 Merge remote-tracking branch 'origin/main' into feat/opus-vscode-deep-link 2026-06-04 10:29:02 -04:00
kilo-maintainer[bot] d38c2aaf8c chore: update nix node_modules hashes 2026-06-04 14:12:59 +00:00
yanalialiuk 2d109462db Add Atomic Chat as a first-class local provider. (#10555)
* Add Atomic Chat as a first-class local provider.

Ship the atomic-chat plugin with auto-discovery on localhost:1337, register the provider in models.dev fixtures, and document setup for VS Code and CLI.

* Remove dead code

Removed atomicChat provider mapping from legacy migration.

* Update Atomic Chat provider icon to theme-colored vector.

Replace the embedded raster icon with a currentColor SVG symbol so it matches provider icon styling and inherits UI color consistently.

* Allow optional API key for local Atomic Chat and LM Studio providers.

Load the atomic-chat plugin despite named constant exports, register local-server auth in the plugin, and let CLI and VS Code connect with an empty key on localhost.

* Gate Atomic Chat discovery behind explicit opt-in

* Update packages/plugin-atomic-chat/src/utils/should-probe-atomic-chat.ts

* Remove dead branch in atomic-chat model ref probe.

Drop the modelID check (never equals provider key) and the duplicate providerID branch.

* Fix PR CI: register atomic chat plugin and complete i18n.

Restore atomic-chat in default-plugins after main merge, add missing sidebar locale keys, and annotate shared upstream diffs.

* Format i18n locale files and ProviderConnectDialog with Prettier.

* Address PR review: docs order, narrow annotations, plugin fixes.

Reorder local-models providers per maintainer feedback; use inline kilocode_change markers in dialog-provider. Share ModelStatusCache, fix config discovery abort/timeout, throw on fetch failure, and resolve bot review warnings.

* Align dialog-provider with upstream keymap bindings after rebase.

Restore useBindings instead of useKeyboard so shared-file diff stays minimal and passes annotation checks.

* Update packages/kilo-vscode/webview-ui/src/components/settings/ProviderConnectDialog.tsx

* Deduplicate Atomic Chat /v1/models fetch on config discovery.

Use a single shared models endpoint request in enhanceConfig instead of separate health and discovery calls.

* Fix kilo-code-bot review: import provider key and log cache errors.

Export ATOMIC_CHAT_PROVIDER_KEY from local-providers for the webview, log cache warm failures, and throw on network errors in fetchModelsEndpoint.

* fix(plugin-atomic-chat): harden discovery and reduce chat toasts

Reuse auto-detect model list to avoid duplicate /v1/models calls, wire AbortSignal into fetch, replace silent catches with logging, and only surface validation errors in chat.params.

* fix(plugin-atomic-chat): refresh model cache on chat validation retries

Bypass the 15s model list cache after the first failed attempt so retryWithBackoff can observe newly loaded models.

* Update packages/plugin-atomic-chat/src/utils/index.ts

* fix(plugin-atomic-chat): repair categorizeError not_found branch

Restore return statement and map "not loaded" validation errors to not_found after bot commit broke the if block.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-06-04 16:03:00 +02:00
Kirill Kalishev 6cace2a29a Update packages/kilo-jetbrains/build.gradle.kts
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-06-04 09:58:46 -04:00
kirillk 49ccf6e45b fix(jetbrains): render multi-release change notes 2026-06-04 09:45:12 -04:00
Kirill Kalishev 3b3ce7e80a Merge pull request #10890 from Kilo-Org/thoracic-plume
test(jetbrains): stabilize backend SSE tests
2026-06-04 09:01:14 -04:00
Josh Lambert 7691373d86 fix(vscode): refresh catalog for model deep links 2026-06-04 08:59:45 -04:00
chrarnoldus 714f920b1e fix(cli): report unsupported icons as tool errors
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-04 12:43:30 +00:00
chrarnoldus 165009df5f refactor(cli): clarify icon mime handling
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-04 12:13:46 +00:00
kilo-maintainer[bot] facf8b6b89 chore: update nix node_modules hashes 2026-06-04 10:58:53 +00:00
Christiaan Arnoldus 674ae29022 Merge pull request #10906 from Kilo-Org/christiaan/nvidia
Add NVIDIA Trial Terms of Service to docs
2026-06-04 12:49:09 +02:00
Christiaan Arnoldus 0f61fd6724 Merge pull request #10881 from Kilo-Org/christiaan/mistral
Add Mistral Kilo gateway provider
2026-06-04 12:48:29 +02:00
chrarnoldus 1a1c0bd86a fix(cli): narrow webfetch image rejection
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-04 10:45:51 +00:00
chrarnoldus 627afaccf0 fix(kilo-docs): exclude xAI account link from checks
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-04 10:26:32 +00:00
Christiaan Arnoldus fa53e52392 Add NVIDIA Trial Terms of Service to docs 2026-06-04 12:14:40 +02:00
Joshua Lambert 2e1945c287 fix(cli): resolve plan exit approval submissions (#10895)
* fix(cli): resolve plan exit approval submissions

* refactor(cli): remove plan followup question fallback
2026-06-04 12:08:33 +02:00
Christiaan Arnoldus 38eb5879f5 Merge pull request #10862 from Kilo-Org/chrarnoldus-patch-1
Add additional Mistral model IDs for reasoning
2026-06-04 11:48:13 +02:00
chrarnoldus bbc80dfac9 fix(sdk): regenerate Mistral provider schema
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-04 09:33:24 +00:00
Job Rietbergen 60059d5e66 chore(cli): normalize npm keywords 2026-06-04 11:25:03 +02:00
Job Rietbergen 10bf693c8e chore(cli): mark npm package publishable 2026-06-04 11:22:58 +02:00
Job Rietbergen e60a7562b9 docs(cli): use npm-safe readme image URL 2026-06-04 11:22:17 +02:00
Job Rietbergen d8d16ccff0 docs(cli): refresh npm package readme 2026-06-04 11:17:12 +02:00
Christiaan Arnoldus d8217fcba9 Add Mistral 2026-06-04 11:15:05 +02:00
chrarnoldus a8a8dd8724 fix(cli): reject unsupported webfetch images
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-04 08:30:11 +00:00
kilo-maintainer[bot] b7ce077c91 release: v7.3.29 2026-06-04 07:50:57 +00:00
Josh Lambert 235e769fb3 fix(vscode): generalize model deep links 2026-06-03 23:31:59 -04:00
Josh Lambert d1b29009dd fix(vscode): harden promoted model deep links 2026-06-03 23:07:24 -04:00
Kirill Kalishev 1c8653130a Merge pull request #10892 from Kilo-Org/jetbrains/release/v7.0.1-rc.6
release(jetbrains): v7.0.1-rc.6
2026-06-03 19:58:48 -04:00
Kirill Kalishev 7970274229 Update CHANGELOG.md 2026-06-03 19:41:53 -04:00
kilo-maintainer[bot] 089770ad71 release(jetbrains): v7.0.1-rc.6 2026-06-03 23:37:26 +00:00
Kirill Kalishev a4cdb16495 Merge pull request #10889 from Kilo-Org/jetbrains/release/v7.0.1-rc.5
release(jetbrains): v7.0.1-rc.5
2026-06-03 19:25:58 -04:00
kirillk 287d154233 fix(jetbrains): use tooltip html helper 2026-06-03 18:47:52 -04:00
kirillk fbb118d8f7 fix(jetbrains): update model picker training disclosure 2026-06-03 18:41:26 -04:00
kirillk 3227a8ab2f fix(jetbrains): position session model picker above control 2026-06-03 18:41:26 -04:00
kirillk 806a2e6147 test(jetbrains): coordinate SSE callback contention 2026-06-03 18:37:02 -04:00
Kirill Kalishev 8bc1ea02fa Update CHANGELOG.md by removing 7.3.23 section
Removed the 7.3.23 section from the changelog and consolidated some entries under the 7.0.1-rc.5 section.
2026-06-03 18:10:25 -04:00
kirillk fd6c6a8584 docs(jetbrains): clarify rc changelog 2026-06-03 18:03:27 -04:00
Jean du Plessis 19db7e69cc Merge pull request #10887 from Kilo-Org/docs/security-architecture-content
docs(kilo-docs): clarify contributor architecture docs
2026-06-03 23:57:57 +02:00
kirillk e8b3f5e8bf test(jetbrains): stabilize backend SSE tests 2026-06-03 17:53:09 -04:00
Josh Holmer 9329682775 ux(cli): change /copy command to copy last message 2026-06-03 17:51:20 -04:00
kilo-maintainer[bot] 6feabcb1f0 release(jetbrains): v7.0.1-rc.5 2026-06-03 21:47:50 +00:00
Joshua Lambert 6fd42be1d0 Update .changeset/sync-api-key-sessions.md
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-06-03 17:42:33 -04:00
Kirill Kalishev e27ea8ab7f Merge pull request #9976 from Kilo-Org/crystalline-dive
fix(jetbrains): add editor-backed code blocks and optimize session UI
2026-06-03 17:41:09 -04:00
Imanol Maiztegui b89d4ea029 Extract Marketplace logic from KiloProvider (#10850)
* feat(marketplace): extract marketplace into standalone webview panel

* fix(marketplace): correct fetchData directory arg and add error logging

Replace swallowed catch block with console.warn for session status
sync failures, and pass `this.directory()` instead of `project` as the
second positional argument to `fetchMarketplaceData`.
2026-06-03 23:07:11 +02:00
kirillk 9e065d84cb docs(jetbrains): move log helper notes 2026-06-03 17:03:30 -04:00
Christiaan Arnoldus 9c5a461f81 Fix 2026-06-03 22:58:35 +02:00
kirillk 41e50ab5fd test(cli): rollback prompt timeout 2026-06-03 16:56:16 -04:00
kirillk aa5c0fbfaf chore(jetbrains): move dev log helper 2026-06-03 16:52:39 -04:00
kirillk 01df91d871 test: stabilize PR checks 2026-06-03 16:37:02 -04:00
kilo-maintainer[bot] b6ba97a09f release: v7.3.28 2026-06-03 19:24:41 +00:00
kilo-maintainer[bot] d8ee60adde chore: update nix node_modules hashes 2026-06-03 19:05:45 +00:00
Marius ac02d821b1 Merge pull request #10822 from Kilo-Org/marius-kilocode/kilo-opencode-v1.14.46
OpenCode v1.14.46
2026-06-03 20:54:22 +02:00
marius-kilocode 8b1ee6628c fix: restore routed APIs and task restrictions 2026-06-03 20:36:51 +02:00
Jean du Plessis ec6eebb858 docs(kilo-docs): clarify architecture documentation 2026-06-03 20:20:17 +02:00
Jean du Plessis 95b12ffcb1 docs(kilo-docs): expand architecture docs 2026-06-03 20:19:24 +02:00
kirillk 454b1a2197 Revert "fix(cli): add node types dependency"
This reverts commit 90ab22a006.
2026-06-03 13:43:48 -04:00
kirillk 90ab22a006 fix(cli): add node types dependency 2026-06-03 13:40:54 -04:00
Kirill Kalishev 73d641ae2c Merge pull request #10839 from Kilo-Org/generated-flame
feat(kilo-jetbrains): add model and config settings
2026-06-03 13:38:55 -04:00
kirillk 82cfbc0815 Merge remote-tracking branch 'origin/main' into crystalline-dive 2026-06-03 13:37:12 -04:00
kirillk e03be2b96e fix(cli): restore zstd worker bindings 2026-06-03 13:37:04 -04:00
kirillk 18e1ed99ef fix(jetbrains): align prompt view padding 2026-06-03 13:34:51 -04:00
kilo-maintainer[bot] 855a1015a6 chore: update nix node_modules hashes 2026-06-03 17:28:07 +00:00
Kirill Kalishev 31ea7bc795 Merge branch 'main' into generated-flame 2026-06-03 13:22:02 -04:00
kirillk f12f5b93dc build(types): remove direct node type dependency 2026-06-03 13:19:43 -04:00
kirillk 18493c6591 build(types): add node type dependency 2026-06-03 13:16:53 -04:00
kirillk b933703e17 fix(cli): restore native zstd imports 2026-06-03 13:12:28 -04:00
Imanol Maiztegui 6cfd2dd0b4 build(deps): bump bun from 1.3.13 to 1.3.14 (#10884)
Update Bun runtime and type definitions across the repository:
- package.json packageManager field
- @types/bun in root and script/upstream
- Nix flake pinned binary with updated hashes
- Container Dockerfile ARG
- Documentation and story fixtures referencing the version
2026-06-03 17:09:45 +00:00
kirillk 52a517e8be Merge remote-tracking branch 'origin/main' into generated-flame 2026-06-03 13:08:35 -04:00
kirillk 33333e44c6 fix(cli): type zstd runtime imports 2026-06-03 13:05:06 -04:00
kirillk a60db52ca6 fix(cli): remove zstd declaration shim 2026-06-03 13:04:04 -04:00
kirillk 3d648795e7 fix(jetbrains): refine session view styling 2026-06-03 13:01:29 -04:00
Joshua Lambert bb35fd7993 Merge pull request #10880 from Kilo-Org/useful-neem
fix: clarify free model training disclosure
2026-06-03 13:00:08 -04:00
kirillk 80bd352ecc Merge remote-tracking branch 'origin/main' into generated-flame 2026-06-03 12:54:17 -04:00
kilo-maintainer[bot] 8c5d24bf2c chore: update nix node_modules hashes 2026-06-03 16:12:07 +00:00
Catriel Müller 002e75570b Merge pull request #10883 from Kilo-Org/sophisticated-octave
fix(cli): restore packaged console startup
2026-06-03 13:11:35 -03:00
Josh Lambert 33a1f39494 fix(cli): expand free model training disclosure 2026-06-03 12:05:18 -04:00
Imanol Maiztegui b780553791 build(types): upgrade @types/node to 24.12.4 (#10860)
Update Node.js type definitions from 24.12.2 to 24.12.4
in package.json dependencies.
2026-06-03 15:58:09 +00:00
kirillk ae6f3c0e06 fix(jetbrains): refresh markdown after theme changes 2026-06-03 11:48:10 -04:00
Catriel Müller 1cdc39856f fix(cli): restore packaged console startup 2026-06-03 12:35:42 -03:00
kirillk ac5104ea49 fix(jetbrains): address session UI review feedback 2026-06-03 11:19:10 -04:00
Christiaan Arnoldus 495b73d588 Add Mistral Kilo gateway provider 2026-06-03 17:19:07 +02:00
Josh Lambert e356f068d4 fix: clarify free model training disclosure 2026-06-03 11:10:13 -04:00
Imanol Maiztegui 9a938ff5a3 Merge branch 'main' into chrarnoldus-patch-1 2026-06-03 17:05:21 +02:00
Kirill Kalishev 1a75325287 Merge branch 'main' into crystalline-dive 2026-06-03 11:01:39 -04:00
Imanol Maiztegui 57627c2e80 ci(codeql): split Kotlin analysis into dedicated workflow (#10869)
Extract java-kotlin language analysis from the shared CodeQL Advanced
workflow into a dedicated codeql-kotlin.yml workflow. This allows the
Kotlin analysis (which requires Java, Gradle, and a manual build) to
run independently with path filtering on packages/kilo-jetbrains,
reducing unnecessary CI runs for unrelated changes.

- Add new codeql-kotlin.yml with path-scoped triggers
- Remove java-kotlin from the matrix in codeql.yml
- Simplify codeql.yml by removing conditional Java/Gradle setup steps
- Register codeql-kotlin.yml in check-workflows.ts active set
2026-06-03 10:53:05 -04:00
Rietie 916c2d539a Merge pull request #10870 from Kilo-Org/add-opencode-keywords
vscode: add opencode and open code as keywords
2026-06-03 16:33:12 +02:00
Josh Lambert b0a4f03911 feat: show Terminal Bench model details 2026-06-03 10:32:27 -04:00
Marius 4ecef9e2f1 Merge pull request #10864 from Kilo-Org/fix-10857-gateway-statuses
fix(cli): preserve Kilo gateway error statuses
2026-06-03 16:31:25 +02:00
marius-kilocode eba939e412 fix(cli): address Kilo gateway review feedback 2026-06-03 16:00:42 +02:00
Marius 9a747af1d7 Merge pull request #10863 from Kilo-Org/fix-10858-kilo-next-edit
fix(cli): restore Kilo Gateway next edit proxying
2026-06-03 15:58:03 +02:00
marius-kilocode 5e32fe487a Merge remote-tracking branch 'origin/main' into fix-10857-gateway-statuses 2026-06-03 15:57:22 +02:00
kirillk 54a5d9f62a fix(cli): type node zstd bindings locally 2026-06-03 09:57:20 -04:00
Marius cadbe4018d Merge pull request #10861 from Kilo-Org/fix-10856-gateway-nullability
fix(sdk): preserve nullable Kilo gateway fields
2026-06-03 15:56:00 +02:00
kirillk 27eb82adcf Merge remote-tracking branch 'origin/main' into crystalline-dive
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/empty/EmptySessionPanel.kt
2026-06-03 09:45:23 -04:00
kirillk ad4263318d fix(jetbrains): add missing localized bundle keys 2026-06-03 09:42:27 -04:00
Marius ec51a8e953 Merge pull request #10853 from Kilo-Org/refactor/shared-diff-review-ui
refactor(vscode): extract shared diff review UI
2026-06-03 15:26:46 +02:00
kirillk 8b912f665e Merge remote-tracking branch 'origin/main' into generated-flame
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/model/ModelPicker.kt
2026-06-03 09:20:23 -04:00
Kirill Kalishev 77076dcb35 Merge pull request #10801 from Kilo-Org/certain-barnacle
feat(jetbrains): feedback UI
2026-06-03 09:17:35 -04:00
kiloconnect[bot] db16a80ed3 vscode: add opencode and open code as keywords 2026-06-03 13:13:14 +00:00
kirillk 492c85d705 fix(cli): move zstd typings to declaration 2026-06-03 09:12:32 -04:00
kilo-maintainer[bot] 3b5dc47c7b chore: update nix node_modules hashes 2026-06-03 13:11:32 +00:00
kirillk 124081df16 chore(cli): drop local zstd typing workaround 2026-06-03 09:10:38 -04:00
Marius b0e93eaa20 Merge branch 'main' into refactor/shared-diff-review-ui 2026-06-03 15:09:41 +02:00
kirillk df3119f64f chore: remove local planning artifacts 2026-06-03 09:08:35 -04:00
Catriel Müller a56c5471c9 Merge pull request #10865 from Kilo-Org/linen-dracorex
feat(cli): add animated console loading screens
2026-06-03 09:58:22 -03:00
marius-kilocode 557d6ad023 fix(cli): preserve Kilo gateway error statuses 2026-06-03 14:04:39 +02:00
Catriel Müller 9c561074b6 feat(cli): add animated console loading screens 2026-06-03 08:58:17 -03:00
chrarnoldus c4de1acdf0 chore(cli): add Mistral reasoning changeset
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-03 11:45:28 +00:00
Marius e0f9bae4f0 Merge pull request #10854 from Kilo-Org/fix/ci-unit-timeout
fix(ci): cap stalled unit jobs at 45 minutes
2026-06-03 13:41:44 +02:00
marius-kilocode 35aa9bbbb3 fix(cli): restore Kilo Gateway next edit proxying 2026-06-03 13:40:55 +02:00
Christiaan Arnoldus fa41bb7962 Add additional Mistral model IDs for reasoning 2026-06-03 13:39:17 +02:00
marius-kilocode fc4cf10b0a fix(sdk): preserve nullable Kilo gateway fields 2026-06-03 13:36:08 +02:00
marius-kilocode a0c91eb07a fix(ci): restore workflow change annotation 2026-06-03 13:25:36 +02:00
marius-kilocode 02f226d418 chore(ci): remove workflow change marker 2026-06-03 13:23:24 +02:00
Igor Šćekić cdf46c9735 fix(vscode): use brain circuit for data disclosure (#10847) 2026-06-03 07:19:51 -04:00
marius-kilocode 99407ef83b fix(ci): cap stalled unit jobs at 45 minutes 2026-06-03 13:18:18 +02:00
marius-kilocode 52aa8c0ee3 refactor(vscode): extract shared diff review UI 2026-06-03 13:12:20 +02:00
Marius ebc169d1ff Merge pull request #10849 from Kilo-Org/ultra-traffic
fix: restore cloud session previews
2026-06-03 13:08:26 +02:00
Marius 66f053a38a Merge pull request #10846 from Kilo-Org/rune-airship
fix(vscode): preserve inline review drafts across diff refreshes
2026-06-03 12:59:04 +02:00
marius-kilocode a6b005dfed fix: restore cloud session previews 2026-06-03 12:50:53 +02:00
marius-kilocode 94fc42255c fix(jetbrains): support numeric session summaries 2026-06-03 12:44:19 +02:00
marius-kilocode 0006072850 Merge remote-tracking branch 'origin/main' into marius-kilocode/kilo-opencode-v1.14.46 2026-06-03 12:44:02 +02:00
Emilie Lima Schario 2f7f23deac Add scanning (#10799)
* Add scanning

* ci: adjust CodeQL scanning for the repo

* ci: add bun in kotlin setup

---------

Co-authored-by: Johnny Amancio <johnnyeric@gmail.com>
2026-06-03 12:05:39 +02:00
Marius 312e98b20b Merge branch 'main' into rune-airship 2026-06-03 11:39:54 +02:00
Marius b1ade4b2ed Merge branch 'main' into marius-kilocode/kilo-opencode-v1.14.46 2026-06-03 11:39:20 +02:00
marius-kilocode 48340fe2ec fix(vscode): preserve inline review drafts across diff refreshes 2026-06-03 11:20:56 +02:00
Marius 0f87ebaa5d Merge pull request #10831 from Kilo-Org/omniscient-seed
fix: keep post-compaction replies ordered
2026-06-03 11:14:08 +02:00
kirillk b2b34a8032 test(kilo-jetbrains): align config action expectations 2026-06-03 00:28:18 -04:00
kirillk 3462fa0122 fix(kilo-jetbrains): address config review feedback 2026-06-02 23:59:53 -04:00
kirillk 2a05e02528 fix(jetbrains): reuse editor style font in markdown 2026-06-02 23:36:24 -04:00
kirillk 7d1f6ae5ff fix(cli): type zstd worker helpers 2026-06-02 23:32:40 -04:00
kirillk cf9a0a4881 fix(kilo-jetbrains): preserve empty model selection 2026-06-02 23:31:32 -04:00
kirillk 27feaa02b1 Merge remote-tracking branch 'origin/main' into crystalline-dive
# Conflicts:
#	packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/app/KiloBackendConnectionService.kt
#	packages/opencode/src/kilocode/worktree-family.ts
#	packages/opencode/test/kilocode/worktree-family-submodule.test.ts
2026-06-02 23:14:40 -04:00
kirillk 9479852891 Merge branch 'main' into generated-flame 2026-06-02 23:09:32 -04:00
kirillk 7c121dbbfd fix(cli): update worktree family effect test 2026-06-02 23:07:34 -04:00
kirillk e86d44514b fix(kilo-jetbrains): restore last kilo settings page 2026-06-02 23:02:16 -04:00
kirillk 87b0cf15dd fix(jetbrains): use semantic session timeline colors 2026-06-02 22:59:03 -04:00
kirillk d470859480 fix(kilo-jetbrains): shorten cli action labels 2026-06-02 22:41:37 -04:00
kirillk d3e189a903 fix(kilo-jetbrains): resolve config action labels 2026-06-02 22:36:14 -04:00
kirillk 8c06a3b784 fix(jetbrains): improve session UI retained updates 2026-06-02 22:26:29 -04:00
kirillk 138a58f80f feat(kilo-jetbrains): add settings config file actions 2026-06-02 21:07:20 -04:00
kirillk 750bb77899 fix(jetbrains): confine session subscriptions to EDT 2026-06-02 20:57:50 -04:00
kirillk 7e856a57c4 fix(kilo-jetbrains): polish profile and picker UI 2026-06-02 18:05:17 -04:00
kirillk 56b0834db5 fix(jetbrains): dispose hidden session UIs after timeout 2026-06-02 18:03:24 -04:00
kirillk ebeb65ad77 refactor(kilo-jetbrains): unify settings base lifecycle 2026-06-02 17:26:49 -04:00
kirillk b4ac8fac44 refactor(kilo-jetbrains): move settings workspace lifecycle to base 2026-06-02 17:19:45 -04:00
kirillk 7adb134f24 chore(jetbrains): add session event log helper 2026-06-02 17:15:20 -04:00
kirillk fe4d6b940f docs(jetbrains): document session event logging 2026-06-02 17:13:22 -04:00
kirillk d001785626 fix(jetbrains): preserve streamed chat markdown 2026-06-02 17:10:07 -04:00
Catriel Müller 5e7e158503 Merge pull request #10833 from Kilo-Org/worried-crabapple
Keep Kilo Console terminals stable during refresh
2026-06-02 18:06:56 -03:00
kirillk b2a989f5c3 refactor(kilo-jetbrains): centralize settings EDT checks 2026-06-02 16:54:32 -04:00
kirillk da86d255b0 refactor(kilo-jetbrains): extract base settings UI 2026-06-02 16:50:40 -04:00
Catriel Müller fbacc312f7 refactor: add favicon 2026-06-02 17:31:24 -03:00
Catriel Müller 8696edcb54 fix(cli): keep console terminals stable during refresh 2026-06-02 17:20:36 -03:00
kirillk 9d43f4dde6 fix(kilo-jetbrains): stabilize model settings saves 2026-06-02 15:59:07 -04:00
Aarav ab62726d38 fix(docs): correct skills.urls format to use .well-known/skills/ index.json (#10756) 2026-06-02 21:29:26 +02:00
Marius 7d23ad570d Merge pull request #10823 from Kilo-Org/perf/vscode-slim-transcript-payload
perf(vscode): reduce long-session switch overhead
2026-06-02 21:10:41 +02:00
Johnny Eric Amancio 60866a6383 fix(jetbrains): ignore stale SSE callbacks after restart (#10832) 2026-06-02 21:09:01 +02:00
kirillk 709efd09a2 fix(kilo-jetbrains): log settings saves 2026-06-02 14:38:14 -04:00
kirillk 2183102843 fix(kilo-jetbrains): stabilize model settings layout 2026-06-02 14:30:12 -04:00
marius-kilocode 1856776d8a revert(jetbrains): remove sync-only compatibility shim 2026-06-02 20:08:49 +02:00
kirillk 03029eea47 fix(kilo-jetbrains): surface model settings save failures 2026-06-02 13:56:23 -04:00
marius-kilocode 500c850564 fix(vscode): preserve inactive shimmer whitespace 2026-06-02 19:53:24 +02:00
marius-kilocode 837a87509c fix: keep post-compaction replies ordered 2026-06-02 19:49:24 +02:00
marius-kilocode ce3851f5bd Merge remote-tracking branch 'origin/main' into marius-kilocode/kilo-opencode-v1.14.46
# Conflicts:
#	packages/opencode/src/kilocode/session/processor.ts
#	packages/opencode/src/server/routes/instance/httpapi/groups/session.ts
#	packages/opencode/src/session/processor.ts
#	packages/opencode/src/session/prompt.ts
2026-06-02 19:49:05 +02:00
kirillk e17c4f936c fix(jetbrains): stop duplicated streaming text in chat code blocks
Replace the fragile covered/uncovered prefix dedup in SessionController with a stateless content-overlap glue: a text/reasoning delta only appends the portion that extends the current model tail. This eliminates the token-doubling (e.g. "importimport", "ReadRead a file") that occurred when multiple PartUpdated snapshots landed before the lagging PartDelta stream caught up.

Also adds a MdViewHybrid fast path that grows the trailing code view in place while inside an open fenced code block, skipping the full commonmark re-parse and block diff per token, with html() recomputed lazily when stale.
2026-06-02 13:31:03 -04:00
marius-kilocode ba9f6868dd docs(vscode): broaden session switch release note 2026-06-02 19:25:16 +02:00
marius-kilocode 47111c02c0 perf(vscode): avoid inactive shimmer markup 2026-06-02 19:23:38 +02:00
Marius f7641c1b4d Merge pull request #10829 from Kilo-Org/screeching-dedication
fix(cli): restore Agent Manager session forks
2026-06-02 19:17:36 +02:00
Marius 89a81416f1 Merge pull request #10806 from Kilo-Org/orderly-dinosaur
fix(vscode): harden marketplace skill installs
2026-06-02 19:15:20 +02:00
Joshua Lambert 4cf8e5307f Merge pull request #10692 from Kilo-Org/fix/shell-permission-show-description
fix(vscode): show shell command description in permission approval prompt
2026-06-02 13:15:06 -04:00
kirillk ede4369ba3 fix(kilo-jetbrains): show settings progress as overlay 2026-06-02 13:00:40 -04:00
marius-kilocode e6898387fb test(cli): stabilize shell cancellation wait 2026-06-02 18:58:09 +02:00
marius-kilocode e64c1fb65e fix(cli): restore bodyless session forks 2026-06-02 18:41:57 +02:00
marius-kilocode ad847d3e36 Merge branch 'main' into perf/vscode-slim-transcript-payload 2026-06-02 18:33:55 +02:00
Catriel Müller bff5546bdd Merge pull request #10826 from Kilo-Org/revert-10800-troubled-hawk
Revert "fix: suppress false incomplete response warnings"
2026-06-02 13:32:55 -03:00
marius-kilocode 344df31dcf Merge remote-tracking branch 'origin/main' into marius-kilocode/kilo-opencode-v1.14.46
# Conflicts:
#	packages/opencode/src/config/provider.ts
2026-06-02 18:30:26 +02:00
Catriel Müller 5a5a7524fc Revert "fix: suppress false incomplete response warnings" 2026-06-02 13:15:39 -03:00
Josh Lambert b06b42d2e3 feat(kilo-vscode): support promoted model deep links 2026-06-02 12:15:24 -04:00
marius-kilocode 6abcc0d071 docs(kilo-docs): document inline session renaming 2026-06-02 17:51:07 +02:00
marius-kilocode 623821ced5 perf(vscode): slim transcript payloads 2026-06-02 17:25:59 +02:00
kirillk 2a3975ea29 fix(jetbrains): support copying session text 2026-06-02 10:31:45 -04:00
kilo-code-bot[bot] 0e60d0fd7e revert: sort permission exceptions (#10808) (#10818)
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-06-02 16:28:38 +02:00
Marius a9988ba07c Merge pull request #10810 from Kilo-Org/prism-purchase
fix(vscode): defer collapsed historical tool details
2026-06-02 16:17:59 +02:00
marius-kilocode aeef0df2f9 resolve merge conflicts 2026-06-02 16:13:31 +02:00
kilo-maintainer[bot] 75ed1a1ebb chore: update nix node_modules hashes 2026-06-02 14:09:27 +00:00
marius-kilocode 394536837c style(vscode): mark timeline tooltip non-interactive 2026-06-02 15:59:19 +02:00
Igor Šćekić 8aaa62c794 Session export capture (#10611)
* feat(session-export): scaffold module with config constants

* feat(session-export): add zstd compression wrapper

* feat(session-export): event and envelope type definitions

* feat(session-export): eligibility check with kill-switch

* feat(session-export): org signal collector with auth resolver

* feat(session-export): worker SQLite schema and storage helpers

* feat(session-export): content-addressed chunker with zstd dedup

* feat(session-export): client-side light scrubber

* feat(session-export): IPC contract and inbox with back-pressure

* feat(session-export): persist scrubbed events with chunked payloads

* feat(session-export): worker entry point with inbox drain loop

* feat(session-export): main-thread capture module

* feat(session-export): workspace baseline and delta fibers

* feat(session-export): sync subscriber and tool io chunking

* feat(session-export): bootstrap wiring and compaction hook

* feat(session-export): wire capture hooks into sessions

* feat(session-export): uploader and buffer cap

* chore(session-export): annotate shared session hooks

* changeset(session-export): add release note

* fix(session-export): keep bootstrap non-blocking without instance context

* feat(session-export): respawn worker after failures

* test(session-export): add performance budget assertions

* test(session-export): add worker end-to-end smoke test

* fix(session-export): strip identity and high-risk baseline paths

* test(session-export): gate perf assertions for stable sweeps

* fix(session-export): bundle worker in single-file builds

* fix(session-export): make capture envelopes cloneable

* fix(session-export): drain worker on CLI shutdown

* feat(session-export): capture workspace baseline and deltas

* fix(session-export): preserve request metadata

* test(session-export): cover request metadata capture

* feat(cli): send indexed session export batches

* feat(cli): authorize session export uploads

* fix(cli): flush session export shutdown uploads

* feat(cli): optimize session export replay payloads

* fix(cli): include session export surface metadata

* fix(session-export): decrement chunk refs after upload

decRefChunks was never called, so chunk ref_count stayed at 1 (or
higher with dedup) and DELETE FROM chunk WHERE ref_count <= 0 never
matched. Chunks accumulated in the local SQLite buffer until the 50 GB
cap. Call decRefChunks alongside markUploaded so deleteUploaded can
reclaim the rows.

* fix(session-export): add periodic uploader flush timer

flushIntervalMs and retryBackoffMaxMs were both defined in config and
neither was referenced anywhere; scheduleFlush only ran on inbound
events or reconnect. After a 5xx or network failure the row was backed
off for 1 s, but if no further event arrived the retry never fired and
the events stranded until the CLI restarted. Drive a periodic flush
from a setInterval, unref the handle so it doesn't pin the process, and
clear it from a new dispose() hook the worker calls on shutdown.

* fix(session-export): stop emitting absolute workspace root in baseline

CaptureMetadata.root was the literal absolute filesystem path
(/Users/<name>/Projects/<repo>), shipped in every
workspace_baseline_completed event and not stripped by handlers'
identity filter. The field was set but never read anywhere downstream
— file paths in the baseline are already relative, so the root added
no replay signal. Remove the field outright.

* fix(session-export): cap pendingEvents result set

The SELECT had no LIMIT clause, so under a backlog (network outage,
crashed receiver) it would materialize the full pending table into a
JavaScript array before the byte-limit truncation applied. With a
50 GB buffer cap that is hundreds of MB of heap inside the worker per
drain. Add LIMIT 500 — the drain loop already re-queries until empty,
so no events are missed.

* fix(session-export): exponential retry backoff up to retryBackoffMaxMs

Both the 5xx and network-error branches always retried after the floor
delay regardless of how many attempts had already failed, and
retryBackoffMaxMs was unreferenced. During a sustained outage every
session re-tried at roughly 1 Hz against the dead receiver. Surface
upload_attempts on EventRow and compute the next delay as
min * 2^attempts capped at max.

* fix(session-export): evict superseded workspace snapshots on remember

createWorkspaceProvider retained every captured snapshot — in-memory
and inside the persisted state file — even after the session moved on
to a newer one. For a 1k-file repo over a 100-turn session that is
~2 GB of unreachable heap plus a state file that grows monotonically.
Drop the previous snapshot for the session on remember() when no other
session still references it.

* fix(session-export): anchor aws_secret_key scrubber to key name

The bare 40-char base64 pattern matched every 40-character hex string,
including all git commit SHAs. Tool outputs, diffs, and conversation
messages were silently rewritten as <<REDACTED:aws_secret_key>>,
destroying lineage information in training data. Require the key name
context — naked secrets in unstructured text are rare and the .env /
.aws/credentials high-risk path strip already covers the common case.

* fix(session-export): preserve root linkage in SyncSubscriber events

SyncSubscriber hardcoded rootSessionId = sessionId on every tool,
permission, and feedback event, so sub-agent sessions lost their root
linkage and a future training pipeline could not reconstruct the
agent topology from these side-channel events. Expose the rootSessionId
mapping from Capture and plumb it through the same pattern as
getTurnId.

* fix(session-export): atomic chunk GC after upload

markUploaded + decRefChunks + deleteUploaded were three separate SQL
statements; a crash between markUploaded and decRefChunks would leave
events flagged uploaded (never retried) and chunks with stale
ref_count (never reclaimed by deleteUploaded). Bundle the three calls
into a single transactional commitUploaded helper so either all three
land or none of them do.

* fix(session-export): wait on transient sqlite locks

* fix(session-export): snapshot current workspace directory

* fix(cli): preserve Kilo model export metadata

* fix(cli): send anon id for session export

* fix(cli): fallback to telemetry anon id

* chore(cli): annotate session export config test

* chore: remove session export docs

* fix(cli): harden session export uploads

* fix(cli): preserve stream lifecycle for session export

* fix(kilo-docs): exclude session export ingest link

* fix(cli): restrict session export workspace sync to git repos

* chore: remove session export changeset

* fix(cli): tighten session export payload types

* fix(cli): type session export model payloads

* fix(cli): simplify session export cleanup

* fix(cli): avoid session export shutdown race

* refactor(cli): use drizzle for session export storage

* fix(cli): finalize session export sqlite statements

* fix(cli): link compaction exports to root sessions

* fix(cli): stop exporting raw stream parts

* fix(cli): prune stale workspace snapshots

* refactor(cli): clarify chunk ref counting

* test(cli): clarify dropped upload assertions

* ci: avoid visual path filter action failure

* fix(cli): preserve in-flight workspace snapshots

* fix(cli): stop uploading baseline start events

* fix(cli): trim redundant export metadata

* fix(cli): trim workspace export bookkeeping

* fix(cli): fold terminal outcome into tool exports

* fix(cli): dedupe request context in export batches

* fix(cli): normalize compaction export payloads

* fix(cli): avoid duplicate tool result exports

* test(cli): align session export expectations

* fix(cli): run secretlint during session export scrubbing

* fix(cli): keep retried export batches contiguous

* fix(cli): include agent info in session exports

* fix(cli): flush pending session exports on serve startup

* fix(cli): drop exports when scrubbing fails

* fix(cli): narrow secretlint value extraction

* fix(cli): limit exported agent info

* test(cli): remove brittle agent export source assertion

* fix(cli): ignore corrupt session export workspace state

* fix(cli): keep session export close best effort

* fix(cli): avoid following session export symlinks

* fix(cli): preserve session export chunk ref counts

* fix(cli): retry transient session export uploads

* fix(cli): validate session export ingest endpoint

* fix(cli): tolerate missing export token details

* fix(cli): fail closed on session export org lookup

* fix(cli): decode session export permission replies

* fix(cli): finalize session export on stream close

* fix(cli): bound session export baseline timeout

* fix(cli): avoid persisting workspace file contents

* fix(cli): bound workspace snapshot capture

* fix(cli): validate session export worker messages

* fix(cli): revoke stale session export eligibility

* fix(cli): scope session export workspaces

* fix(cli): extend session export shutdown flush

* fix(cli): infer free Kilo models for export

* fix(cli): avoid duplicate chunk refs

* fix(cli): throttle session export uploads

* fix(cli): harden session export capture

* feat: disclose free model data collection (#10767)

* feat: disclose free model data collection

* chore(cli): document free model footer sorting

* fix(vscode): add free model data translations

* fix: simplify free model data label

* fix: simplify data collection badges

* fix: remove duplicate model info disclosure

* fix: restore composer data tooltip

* fix: align jetbrains data collection indicator

* fix: align free model data indicators

* fix(vscode): show data collection in model preview

* fix: limit data indicators to kilo gateway

* test(cli): relax prompt cancel timeout

* test(cli): annotate prompt cancel timeout

* test(cli): classify prompt queue runtime test

* fix(cli): defer session export startup
2026-06-02 13:58:42 +00:00
marius-kilocode 28fa37d5b1 perf(vscode): share timeline tooltip and lazy-mount historical bash output 2026-06-02 15:49:59 +02:00
Catriel Müller 19b2f31451 Merge pull request #10800 from Kilo-Org/troubled-hawk
fix: suppress false incomplete response warnings
2026-06-02 09:52:00 -03:00
Johnny Eric Amancio b7764d69c1 fix: correct architect use of plan exit to save the plan file correctly (#10798)
* fix: correct architect use of plan exit to save the plan file correctly

* fix: relax rule for file creation to allow other files under user request
2026-06-02 12:47:11 +00:00
Imanol Maiztegui 0e4f8bcdeb refactor(vscode): extract editor actions from KiloProvider (#10814)
* refactor(vscode): extract editor actions from provider

* refactor(vscode): use direct import for DiffVirtualFile type

Replace inline dynamic import type assertion with the already-imported
DiffVirtualFile type at the top of the file.
2026-06-02 14:35:22 +02:00
Catriel Müller 60f4c052a3 refactor: isolate the changes inside of the kilo folders 2026-06-02 09:35:02 -03:00
Imanol Maiztegui 16341a6647 fix(vscode): keep tool handoffs out of virtual history (#10816) 2026-06-02 14:34:26 +02:00
kilo-maintainer[bot] a51affea01 chore: update nix node_modules hashes 2026-06-02 12:31:31 +00:00
Johnny Eric Amancio 9926f38e4b fix: address vulnerability on vitest dependency (#10815) 2026-06-02 14:17:11 +02:00
Catriel Müller 5dd3dc72ad chore(cli): annotate session regression changes 2026-06-02 08:57:37 -03:00
marius-kilocode 729a1ae5e4 merge: record upstream v1.14.46 2026-06-02 13:51:24 +02:00
marius-kilocode 4472e6d769 refactor: kilo compat for v1.14.46 2026-06-02 13:51:23 +02:00
Catriel Müller 1212b05d62 Merge remote-tracking branch 'origin/main' into troubled-hawk
# Conflicts:
#	packages/opencode/src/kilocode/worktree-family.ts
#	packages/opencode/src/session/prompt.ts
#	packages/opencode/test/kilocode/worktree-family-submodule.test.ts
2026-06-02 08:50:26 -03:00
Catriel Müller c9b1ee0ef0 refactor: improve the session processor 2026-06-02 08:26:47 -03:00
kilo-maintainer[bot] 3feb9d69dc release: v7.3.22 2026-06-02 11:05:45 +00:00
kilo-maintainer[bot] 7433b0d752 chore: update nix node_modules hashes 2026-06-02 10:10:38 +00:00
marius-kilocode 3f8afe83d1 test(vscode): remove obsolete marketplace race setup 2026-06-02 12:07:53 +02:00
Imanol Maiztegui f6357d8446 fix(vscode): sort permission exceptions (#10808) 2026-06-02 12:06:06 +02:00
marius-kilocode 5b34dfce3d fix(vscode): defer collapsed historical tool details 2026-06-02 12:01:11 +02:00
Marius 00337a3c58 Merge pull request #10790 from Kilo-Org/trial/kilo-opencode-v1.14.42
OpenCode v1.14.42
2026-06-02 11:56:56 +02:00
Marius 63090067a2 Merge pull request #10809 from Kilo-Org/clever-slash
docs(cli): link Agent Manager guides from config skill
2026-06-02 11:50:08 +02:00
marius-kilocode 6a071d138b Merge remote-tracking branch 'origin/main' into trial/kilo-opencode-v1.14.42
# Conflicts:
#	packages/opencode/src/cli/cmd/run.ts
2026-06-02 11:41:28 +02:00
marius-kilocode a0f800d370 docs(cli): link Agent Manager guides from config skill 2026-06-02 11:35:04 +02:00
Catriel Müller 7a420b8187 Merge pull request #9653 from truffle-dev/fix/cli-run-leading-dash-positional
fix(cli): preserve --raw atoms verbatim in run handler (#9622)
2026-06-02 06:32:51 -03:00
marius-kilocode ea6a888205 fix(cli): omit empty TUI keybind patches 2026-06-02 10:54:52 +02:00
marius-kilocode ece920c1cc Merge remote-tracking branch 'origin/main' into trial/kilo-opencode-v1.14.42
# Conflicts:
#	bun.lock
#	packages/opencode/src/cli/cmd/run.ts
#	packages/opencode/src/cli/cmd/tui/context/tui-config.tsx
#	packages/opencode/src/cli/cmd/tui/thread.ts
#	packages/opencode/src/cli/cmd/tui/ui/dialog-alert.tsx
#	packages/opencode/src/kilocode/server/httpapi/instance.ts
#	packages/opencode/src/kilocode/server/instance.ts
#	packages/opencode/src/server/routes/global.ts
#	packages/opencode/src/server/routes/instance/index.ts
#	packages/opencode/src/server/routes/ui.ts
#	packages/opencode/test/kilocode/global-config-refresh.test.ts
#	packages/opencode/test/kilocode/server/httpapi-public.test.ts
2026-06-02 10:42:14 +02:00
marius-kilocode ed3e1ac99b fix(vscode): harden marketplace skill installs 2026-06-02 10:18:30 +02:00
kilo-maintainer[bot] 1fedf7f201 release: v7.3.21 2026-06-02 05:30:05 +00:00
Catriel Müller b8ca6f7363 Merge branch 'main' of github.com:Kilo-Org/kilocode into fix/cli-run-leading-dash-positional 2026-06-01 23:49:04 -03:00
Catriel Müller 859af5033b refactor: move new changes to kilo folders 2026-06-01 23:33:44 -03:00
Catriel Müller 5079813776 Merge pull request #10298 from Githubguy132010/seen-turnip
feat(cli): add profile command
2026-06-01 22:27:07 -03:00
Catriel Müller 4ad3aa26cf Merge branch 'main' into seen-turnip 2026-06-01 22:03:27 -03:00
Catriel Müller 83892191ab Merge pull request #10191 from IamCoder18/fix/dialog-alert-newlines
fix(tui): handle newlines in DialogAlert messages
2026-06-01 22:01:45 -03:00
Catriel Müller 35f30ad344 Merge pull request #10306 from IamCoder18/fix/export-dialog-checkbox-toggle
fix(cli): toggle export dialog checkboxes on mouse click
2026-06-01 22:00:39 -03:00
Catriel Müller bca27d61c7 Merge pull request #10310 from IamCoder18/feat/subagent-running-status
feat(cli): show running spinner in subagent footer
2026-06-01 21:59:01 -03:00
kirillk cf0fd63f0f fix(kilo-jetbrains): stabilize models settings pickers 2026-06-01 19:19:07 -04:00
kirillk bee54755ff fix(jetbrains): dispose embedded markdown editors 2026-06-01 18:29:22 -04:00
kirillk 910f4a6c3d fix(kilo-jetbrains): show sign-in banner in models settings 2026-06-01 18:23:32 -04:00
kirillk fdcfe107b0 Merge remote-tracking branch 'origin/main' into certain-barnacle
# Conflicts:
#	packages/kilo-jetbrains/backend/src/main/kotlin/ai/kilocode/backend/app/KiloBackendAppService.kt
2026-06-01 18:19:28 -04:00
kirillk 746b33e0ed fix(jetbrains): expand markdown code block language resolution 2026-06-01 18:11:36 -04:00
kirillk 8bbefb3300 fix(jetbrains): avoid config update SSE race 2026-06-01 18:02:30 -04:00
kirillk cb99e77ca0 fix(jetbrains): dispose empty session feedback balloon 2026-06-01 17:34:09 -04:00
kirillk d437a4d3b5 refactor(jetbrains): refine empty session feedback UI 2026-06-01 17:24:50 -04:00
kirillk 50f4d28e07 fix(jetbrains): expand markdown code blocks 2026-06-01 17:20:11 -04:00
Catriel Müller 5ee56e29fc fix(cli): restore worktree family typecheck 2026-06-01 18:04:39 -03:00
kilo-maintainer[bot] 9f909a17de chore: update nix node_modules hashes 2026-06-01 21:00:12 +00:00
Catriel Müller 2f93185b0c fix: suppress false incomplete response warnings 2026-06-01 17:59:14 -03:00
kilo-maintainer[bot] fafeb4ff73 release: v7.3.20 2026-06-01 20:50:17 +00:00
Catriel Müller 390588912b Merge pull request #10796 from Kilo-Org/catrielmuller/limit-background-process-port-scans
fix(cli): limit background process port scans
2026-06-01 17:12:20 -03:00
Catriel Müller 942b1eb308 Merge pull request #10753 from Kilo-Org/savory-act
fix(vscode): declare Pierre worker dependency for builds
2026-06-01 17:11:49 -03:00
kirillk 253f8351ec feat(kilo-jetbrains): add models settings 2026-06-01 15:32:13 -04:00
kirillk 076d8ab136 feat(jetbrains): add empty session feedback UI 2026-06-01 15:26:02 -04:00
Catriel Müller 7b70e8f438 fix(cli): clean background process port env 2026-06-01 16:20:41 -03:00
kilo-maintainer[bot] 096a394aa4 chore: update nix node_modules hashes 2026-06-01 19:05:10 +00:00
Catriel Müller 791515ea09 fix(cli): limit background process port scans 2026-06-01 16:01:28 -03:00
Catriel Müller f79f181bd7 Merge pull request #10754 from Kilo-Org/sharp-balance
feat: introduce experimental Kilo Console
2026-06-01 15:48:59 -03:00
Catriel Müller 9c618d224f fix: fix tests 2026-06-01 15:25:51 -03:00
Joshua Lambert 04e0df57dc Apply suggestion from @lambertjosh 2026-06-01 14:14:56 -04:00
Joshua Lambert 58f18e32e9 Apply suggestion from @lambertjosh 2026-06-01 14:14:30 -04:00
Catriel Müller ffee5815ee refactor: fix promises validations 2026-06-01 14:44:10 -03:00
kirillk 9d0b9d9ebc Merge remote-tracking branch 'origin/main' into crystalline-dive
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/TextView.kt
2026-06-01 13:38:15 -04:00
Catriel Müller 525737c4f1 refactor: fix typecheck and mistral link 2026-06-01 14:23:57 -03:00
Catriel Müller 9b07af0d20 Merge branch 'main' into sharp-balance 2026-06-01 14:09:40 -03:00
Catriel Müller 16a174dcde refactor: fix typecheck 2026-06-01 14:01:41 -03:00
Catriel Müller 79ac67b3c9 refactor: merge main 2026-06-01 13:54:53 -03:00
marius-kilocode 9d2171f111 fix(core): compare canonical spawned cwd paths 2026-06-01 18:03:57 +02:00
Catriel Müller 0c1cff22ec Merge pull request #9499 from truffle-dev/fix/tui-submodule-session-worktree-family
fix(cli): include working tree in WorktreeFamily.list for submodules
2026-06-01 12:58:54 -03:00
marius-kilocode 16f0a2034a fix(core): normalize spawned cwd assertion on Windows 2026-06-01 17:50:38 +02:00
Catriel Müller 24943b1fda Merge branch 'main' into sharp-balance 2026-06-01 12:48:04 -03:00
marius-kilocode d374ae97b5 fix(core): await flock worker cleanup on Windows 2026-06-01 17:41:39 +02:00
Catriel Müller 7de2613daa fix: subpath navigation 2026-06-01 12:09:06 -03:00
Kirill Kalishev 491e97ca0d Merge pull request #10748 from Kilo-Org/visual-gruyere
feat(jetbrains): expand telemetry and environment logging
2026-06-01 11:01:44 -04:00
marius-kilocode b5213921c1 fix: preserve Kilo identity after upstream merge 2026-06-01 16:58:26 +02:00
Catriel Müller a770114b07 Merge pull request #10789 from Kilo-Org/fix/cli-queued-plan-context
fix(cli): preserve context for queued plan prompts
2026-06-01 11:52:37 -03:00
Marius b2701a51a3 Merge pull request #10793 from Kilo-Org/tranquil-lemur
fix(kilo-docs): use stable external links
2026-06-01 16:52:23 +02:00
marius-kilocode ae2a0fea34 fix(kilo-docs): use stable external links 2026-06-01 16:34:00 +02:00
marius-kilocode 6016248c42 Revert "fix(kilo-docs): ignore unstable external link checks"
This reverts commit ad7377c6bb.
2026-06-01 16:22:03 +02:00
marius-kilocode ad7377c6bb fix(kilo-docs): ignore unstable external link checks 2026-06-01 16:19:11 +02:00
Marius 4faf255e84 Merge pull request #10792 from Kilo-Org/bejewled-grain
fix(cli): allow clearing agent variant overrides
2026-06-01 16:18:08 +02:00
marius-kilocode 78bfc700ea fix: harden upstream v1.14.42 integration 2026-06-01 16:11:59 +02:00
marius-kilocode 2a264819f4 fix(cli): annotate nullable agent variant schema 2026-06-01 15:57:20 +02:00
marius-kilocode cb1fdb3b1b fix(cli): allow clearing agent variant overrides 2026-06-01 15:56:48 +02:00
Kirill Kalishev bb7988b509 Merge pull request #10774 from Kilo-Org/jetbrains-disable-root-instrumentation
fix(jetbrains): reduce flaky CI builds
2026-06-01 09:37:38 -04:00
marius-kilocode 0f271a39d7 resolve merge conflicts 2026-06-01 15:20:54 +02:00
Catriel Müller 316a6627dc fix(cli): preserve context for queued plan prompts 2026-06-01 10:15:05 -03:00
Joshua Lambert 5eaae5fddd Merge branch 'main' into savory-act 2026-06-01 08:44:57 -04:00
Marius 1eeab10b25 Merge pull request #10786 from Kilo-Org/foul-oval
fix(cli): skip background port scans in VS Code
2026-06-01 13:29:34 +02:00
marius-kilocode 41606931f0 merge: record upstream v1.14.42 2026-06-01 12:51:32 +02:00
marius-kilocode 7cc6080646 refactor: kilo compat for v1.14.42 2026-06-01 12:51:31 +02:00
Marius 33249d7efd Merge pull request #10783 from Kilo-Org/gray-jet
fix(vscode): surface backend crash recovery
2026-06-01 11:56:37 +02:00
Marius d1c2fa3990 Merge pull request #10782 from Kilo-Org/dune-earwig
fix(vscode): preserve diff scroll during agent edits
2026-06-01 11:53:33 +02:00
marius-kilocode 7dd8aabade fix(cli): skip background port scans in VS Code 2026-06-01 11:50:11 +02:00
marius-kilocode c6679eaec5 fix(vscode): route worktree permission approvals correctly 2026-06-01 11:31:38 +02:00
kilo-maintainer[bot] e4b808e267 chore: update nix node_modules hashes 2026-06-01 08:59:32 +00:00
marius-kilocode d3f8a653a3 test(vscode): update connection service stubs 2026-06-01 10:57:39 +02:00
Christiaan Arnoldus 50c45dfd1f Merge pull request #10777 from Kilo-Org/sync-ai-sdk-openai-version
chore: sync @ai-sdk/openai version across packages
2026-06-01 10:47:12 +02:00
Christiaan Arnoldus 7b4af411a5 Merge pull request #10735 from Kilo-Org/cli/opus-4-8-adaptive-thinking
feat(cli): treat opus 4.8 as adaptive thinking model like 4.7
2026-06-01 10:47:00 +02:00
marius-kilocode 695d1d0dd3 refactor(vscode): clarify diff row cache names 2026-06-01 10:45:20 +02:00
marius-kilocode c44cd78668 fix(vscode): surface backend crash recovery 2026-06-01 10:44:36 +02:00
marius-kilocode 1c06a1dbc7 fix(vscode): preserve diff scroll during agent edits 2026-06-01 10:21:48 +02:00
kiloconnect[bot] 6e62d40103 chore: sync @ai-sdk/openai version across packages 2026-06-01 07:27:17 +00:00
kirillk 980e27cfab Merge branch 'jetbrains-disable-root-instrumentation' into visual-gruyere
# Conflicts:
#	packages/kilo-jetbrains/script/test-ci.ts
2026-05-31 21:55:20 -04:00
kirillk 34c9f6ec02 fix(jetbrains): print CI Gradle stack traces 2026-05-31 21:30:59 -04:00
kiloconnect[bot] 188d22afcf fix(cli): match old opus-4.7 id-form checks for 4.8 (dot-only where 4.7 was) 2026-05-31 21:20:26 +00:00
kirillk cb066d2f3c fix(jetbrains): log telemetry backpressure 2026-05-31 16:59:31 -04:00
kirillk c545c32a18 fix(jetbrains): harden telemetry threading 2026-05-31 16:09:09 -04:00
Kirill Kalishev 943d801a0a Merge branch 'main' into jetbrains-disable-root-instrumentation 2026-05-31 15:37:19 -04:00
kirillk affc5f80c7 fix(jetbrains): skip root instrumentation in CI 2026-05-31 15:29:51 -04:00
kirillk 099b85ae47 fix(jetbrains): avoid duplicate session open telemetry 2026-05-31 15:28:18 -04:00
kirillk f087379f89 fix(jetbrains): remove sandbox telemetry prefix 2026-05-31 15:24:48 -04:00
kirillk f755792baa fix(jetbrains): keep telemetry payload on logger 2026-05-31 13:51:29 -04:00
kirillk 2e2f3d924f fix(jetbrains): keep sandbox telemetry local 2026-05-31 12:22:41 -04:00
kirillk 0d9ea23ec3 fix(jetbrains): align logging environment payload 2026-05-31 10:11:09 -04:00
Thomas Brugman 16eae9ccb1 Merge branch 'main' into seen-turnip 2026-05-31 12:25:02 +02:00
kirillk 8aa109fff1 fix(jetbrains): address telemetry review feedback 2026-05-30 17:53:17 -04:00
kirillk 9864603853 fix(jetbrains): skip root instrumentation in CI 2026-05-30 14:14:15 -04:00
Joshua Lambert 5cc89c5898 Apply suggestion from @lambertjosh 2026-05-30 11:44:59 -04:00
Kirill Kalishev 0c519f97fb Merge branch 'main' into visual-gruyere 2026-05-30 10:51:47 -04:00
Cooper Gamble f202002c85 test(cli): isolate Kilo Codex refresh fixtures 2026-05-30 02:04:01 +00:00
Cooper Gamble 14cc0e76c3 test(cli): await Codex refresh server teardown 2026-05-30 01:58:01 +00:00
Cooper Gamble e511b230ab fix(cli): serialize Codex OAuth refresh across processes 2026-05-30 01:47:34 +00:00
Catriel Müller cf85e0d51f feat: embedded kilo console 2026-05-29 21:01:45 -03:00
Josh Lambert e140e40f06 fix(vscode): declare Pierre worker dependency for builds 2026-05-29 19:55:37 -04:00
Catriel Müller 623c9275f2 refactor: optional daemon mode 2026-05-29 19:50:09 -03:00
Catriel Müller 1c675ab241 refactor: update bun lock 2026-05-29 19:35:45 -03:00
Catriel Müller c0eda12dab feat: lsp & formatters pages 2026-05-29 19:35:30 -03:00
Joshua Lambert ad908e2839 Merge pull request #10750 from Kilo-Org/backfill-changelog-7.3.16-7.3.18
chore: backfill changelogs for v7.3.16 through v7.3.18
2026-05-29 18:26:56 -04:00
Joshua Lambert 065ece7883 Merge pull request #10749 from Kilo-Org/handsomely-wool
fix: stop publishing without changelog updates
2026-05-29 18:26:00 -04:00
Josh Lambert 6e8d6f7d53 docs(cli): clarify API key session sync scope 2026-05-29 18:17:31 -04:00
Josh Lambert eb4df315c1 fix(cli): sync headless sessions authenticated by API key 2026-05-29 17:52:32 -04:00
Josh Lambert 7dbc710725 chore: backfill changelogs for v7.3.16 through v7.3.18 2026-05-29 17:50:41 -04:00
Josh Lambert 6c6e10c1fb fix: stop publishing without changelog updates 2026-05-29 17:27:33 -04:00
github-actions[bot] 671340a5a4 chore: update kilo-vscode visual regression baselines 2026-05-29 21:00:13 +00:00
Josh Lambert eadfb2b80a fix(vscode): clarify shell permission command preview 2026-05-29 16:54:22 -04:00
Kirill Kalishev 8b2357a070 Merge branch 'main' into visual-gruyere 2026-05-29 16:27:56 -04:00
kirillk 846e6f656e fix(jetbrains): remove direct startup telemetry 2026-05-29 16:26:43 -04:00
Catriel Müller 528878c6b3 refactor: refactor settings 2026-05-29 17:20:27 -03:00
kirillk f0200f9224 feat(jetbrains): expand plugin telemetry coverage 2026-05-29 15:58:43 -04:00
Kirill Kalishev bad462990f Merge pull request #10747 from Kilo-Org/slime-grip
docs(kilo-docs): improve tabbed install docs
2026-05-29 15:56:49 -04:00
kirillk 0aaff89565 docs(jetbrains): update agent guidance 2026-05-29 15:23:08 -04:00
kirillk d97348757c fix(jetbrains): enable rc file logging 2026-05-29 15:13:38 -04:00
kirillk c23be8a170 docs(kilo-docs): address tab TOC review 2026-05-29 15:00:48 -04:00
kirillk bfe3ae9e3b feat(jetbrains): report cli connection failures 2026-05-29 14:49:32 -04:00
kirillk 91bbeca691 docs(kilo-docs): improve JetBrains install anchors 2026-05-29 14:49:19 -04:00
kirillk 6d76e3a3d7 fix(jetbrains): remove telemetry event prefix 2026-05-29 14:28:51 -04:00
Kirill Kalishev dc46dca885 Merge pull request #10745 from Kilo-Org/gilded-flower
docs(jetbrains): link v7 early access guide
2026-05-29 14:00:11 -04:00
kirillk e762c48ec8 feat(jetbrains): add telemetry reporting 2026-05-29 13:59:24 -04:00
kirillk 96bbac6a7a docs(jetbrains): rename early access anchor 2026-05-29 13:27:01 -04:00
kirillk 2f7996c600 docs(jetbrains): link v7 early access guide 2026-05-29 13:24:15 -04:00
Kirill Kalishev f366bb5241 Merge pull request #10706 from Kilo-Org/jetbrains/release/v7.0.1-rc.4
release(jetbrains): v7.0.1-rc.4
2026-05-29 12:42:33 -04:00
Imanol Maiztegui 69f8307da1 fix(jetbrains): emit log warnings before updating state values (#10743)
Reorder statements in KiloBackendAppService and KiloBackendWorkspace so
that warning/error logging occurs before the reactive state is updated.
This ensures observers reacting to state changes can rely on warnings
already being recorded in logs.
2026-05-29 16:30:01 +00:00
kilo-maintainer[bot] 9721cf9f4e release: v7.3.18 2026-05-29 16:27:57 +00:00
Kirill Kalishev e0e1501090 Merge branch 'main' into jetbrains/release/v7.0.1-rc.4 2026-05-29 12:26:44 -04:00
Marius cb5686dd38 Merge pull request #10730 from Kilo-Org/swamp-ornament
fix(vscode): keep large Changes diffs smooth while scrolling
2026-05-29 18:22:13 +02:00
kilo-maintainer[bot] 7bbac24c69 chore: update nix node_modules hashes 2026-05-29 16:16:02 +00:00
Imanol Maiztegui 57bc6eea58 fix(cli): route share links through Kilo session API (#10736)
* fix(cli): route share links through Kilo session API

Refactor shareSession and unshareSession to return Effect values using
EffectBridge.fromPromise and replace the ShareNext dependency in
SessionShare with KiloSession calls so CLI-generated share URLs point
to app.kilo.ai/s/ public links.

* test(session-share): replace EffectBridge usage with direct Storage service calls

Update session-share test to use Storage.Service directly instead of
wrapping Storage.write in EffectBridge.fromPromise, aligning test code
with the refactored service-based architecture. Add Storage.defaultLayer
to the test effect layer composition.
2026-05-29 12:15:42 -04:00
kirillk fb6e241b97 fix(jetbrains): use gradle release metadata 2026-05-29 12:14:43 -04:00
Marius f069c73006 Merge branch 'main' into swamp-ornament 2026-05-29 18:06:11 +02:00
Marius 979cb7e2ab Merge pull request #10740 from Kilo-Org/feature-read-xlsx-extraction
feat(cli): support XLSX text extraction in read tool
2026-05-29 18:02:30 +02:00
kirillk dfe3961087 fix(jetbrains): preserve plugin package version 2026-05-29 11:45:33 -04:00
Imanol Maiztegui 16d7caa23c feat(config): add kilo-jetbrains package to upstream merge config (#10742) 2026-05-29 15:45:24 +00:00
kilo-maintainer[bot] 4dd7b20d3f chore: update nix node_modules hashes 2026-05-29 15:33:58 +00:00
kirillk 4ee8b4b63f release(jetbrains): restore unreleased changelog marker 2026-05-29 11:29:49 -04:00
Marius 431baf09ef Merge pull request #10594 from Ipsumlorem/codex/fix-windows-speech-input
fix(vscode): detect Windows speech input devices
2026-05-29 17:25:41 +02:00
marius-kilocode 277d09d636 Merge remote-tracking branch 'origin/main' into feature-read-xlsx-extraction
# Conflicts:
#	packages/opencode/src/tool/read.ts
2026-05-29 17:22:42 +02:00
Rietie ebe04b9913 Merge pull request #10734 from Kilo-Org/readme-hero-refresh
docs: refresh README hero
2026-05-29 17:17:03 +02:00
Marius 1bdc24cebc Merge pull request #10737 from Kilo-Org/feature-read-docx-extraction
feat(cli): support DOCX text extraction in read tool
2026-05-29 17:13:53 +02:00
Rietie f04947b844 Merge pull request #10691 from Kilo-Org/fix/keywords-remove-dashes
fix(vscode): replace dashes with spaces in marketplace keywords
2026-05-29 17:09:19 +02:00
Marius aec4c4f0f0 Merge pull request #10727 from Kilo-Org/effect-question-facade-10720
refactor(cli): remove Question compatibility facade
2026-05-29 17:07:25 +02:00
marius-kilocode f7830cb7e5 fix(cli): bound XLSX read input size 2026-05-29 16:59:16 +02:00
marius-kilocode c1d315c987 refactor(cli): narrow DOCX read routing and surface warnings 2026-05-29 16:59:16 +02:00
Kirill Kalishev 7907754a7c Merge branch 'main' into jetbrains/release/v7.0.1-rc.4 2026-05-29 10:55:50 -04:00
Marius 2c7eeaa0b1 Merge pull request #10739 from Kilo-Org/fix/read-notebook-guard
refactor(cli): make notebook read routing explicit
2026-05-29 16:55:36 +02:00
Catriel Müller 0ef8e5e0a5 refactor: hot reload tui configs 2026-05-29 11:54:34 -03:00
Kirill Kalishev 3a8949a6bc Merge branch 'main' into jetbrains/release/v7.0.1-rc.4 2026-05-29 10:53:11 -04:00
marius-kilocode 752807394d Merge origin/main into effect-question-facade-10720 2026-05-29 16:52:49 +02:00
Thomas Brugman f061af639e fix(cli): use auth service for profile command 2026-05-29 16:50:53 +02:00
kilo-maintainer[bot] 3f6de75f36 release: v7.3.17 2026-05-29 14:49:26 +00:00
marius-kilocode 2081af2b33 feat(cli): support XLSX text extraction in read tool 2026-05-29 16:49:08 +02:00
marius-kilocode 6ab07aad60 fix(vscode): preserve DirectShow microphone display names 2026-05-29 16:45:52 +02:00
marius-kilocode 1ed120a15e Merge remote-tracking branch 'origin/main' into feature-read-docx-extraction
# Conflicts:
#	packages/opencode/src/tool/read.ts
2026-05-29 16:43:32 +02:00
marius-kilocode 8465e7707a refactor(cli): make notebook read routing explicit 2026-05-29 16:41:15 +02:00
kiloconnect[bot] 8b530ac768 docs(cli): clarify opus 4.8 changeset as bedrock reasoning fix 2026-05-29 14:37:56 +00:00
Marius ac4536a11c Merge pull request #10733 from Kilo-Org/feature-read-ipynb-content
feat(cli): read Jupyter notebooks as cell content
2026-05-29 16:36:05 +02:00
Thomas Brugman 04b54c0d9e Merge branch 'main' into seen-turnip 2026-05-29 16:31:03 +02:00
kiloconnect[bot] 56b40c9a6c chore: add temporary PR description file 2026-05-29 14:29:10 +00:00
marius-kilocode f5742940cc feat(cli): support DOCX text extraction in read tool 2026-05-29 16:24:48 +02:00
Imanol Maiztegui e4c9b4363e refactor(session): replace promise facade helpers with Effect service calls (#10731)
Migrate all Session.* promise-based helper usage (create, get, messages,
updateMessage, updatePart, setPermission, children, fork) to direct
Effect service consumption via Session.Service. This eliminates the
makeRuntime-backed legacy promise wrappers from session.ts and updates
all dependent modules and tests to use the Effect-based interface.

Key changes:
- Remove exported promise helpers (create, get, messages, etc.) from
  session/session.ts along with the module-level makeRuntime instance
- Update kilo-sessions, remote-sender, allow-everything permission,
  plan-followup, recall tool, and fork module to yield Session.Service
- Convert remapChildren from async function to Effect generator
- Add PlanFollowupRuntime.session helper for effectful session access
- Update all affected test files to use Effect.runPromise with
  Session.Service.use pattern
- Remove session/session.ts from the promise facade allowlist and
  update test allowlist counts accordingly
2026-05-29 16:19:15 +02:00
kiloconnect[bot] a55c854f4e fix(cli): annotate opus 4.8 changes and use array-form id checks 2026-05-29 14:10:54 +00:00
marius-kilocode f743b545b1 fix(vscode): restrict diff worker CSP source
The bundled Shiki worker is created only from its injected webview resource URI, and Pierre does not construct blob-backed workers. Restrict worker-src to the webview source and lock the narrower policy in unit coverage.
2026-05-29 16:10:33 +02:00
marius-kilocode cec9f6fc05 fix(cli): describe notebooks without readable cells 2026-05-29 16:09:24 +02:00
marius-kilocode 470e59fd52 fix(cli): tolerate malformed notebook cells 2026-05-29 15:58:52 +02:00
kiloconnect[bot] 593903fb5c feat(cli): treat opus 4.8 as adaptive thinking model like 4.7 2026-05-29 13:56:03 +00:00
Job Rietbergen 65ae6be7c6 docs(vscode): refresh marketplace README hero 2026-05-29 15:54:39 +02:00
Job Rietbergen 43cd552da2 docs: update README IDE link 2026-05-29 15:49:41 +02:00
Job Rietbergen 127c2c87c5 docs: refresh README hero 2026-05-29 15:44:14 +02:00
marius-kilocode 4967c22861 feat(cli): read Jupyter notebooks as cell content 2026-05-29 15:36:33 +02:00
Kirill Kalishev fb9bf6423d Merge branch 'main' into jetbrains/release/v7.0.1-rc.4 2026-05-29 09:32:08 -04:00
Kirill Kalishev 6c6e511e4a initial release change notes 2026-05-29 09:28:28 -04:00
marius-kilocode 830de58395 fix(vscode): register diff worker for knip
The webview worker adapter is reached through an esbuild alias rather than a TypeScript import, so Knip must treat it as an explicit entrypoint for the VS Code CI check to pass.
2026-05-29 15:10:16 +02:00
Marius ec3d7a3f67 Merge pull request #10721 from Kilo-Org/valley-hawk
fix(agent-manager): keep slow snapshot initialization non-blocking
2026-05-29 15:07:00 +02:00
marius-kilocode 588baec905 Merge remote-tracking branch 'origin/main' into swamp-ornament 2026-05-29 15:06:31 +02:00
marius-kilocode dbb7215cf9 docs(vscode): record diff rendering performance invariants
Document the patch-bounded rendering requirement and correct Chrome trace attribution so future optimizations do not reintroduce full-file gray placeholders or mistake profiler delivery threads for execution threads.
2026-05-29 15:01:38 +02:00
marius-kilocode 9df433cc27 fix(vscode): render review diffs from hunk patches
Eager review rendering must not rebuild complete before/after contents when a tiny patch occurs inside a large source file. Preserve existing unified patches through Changes sources, parse them behind the deferred visibility gate, and use eager rendering only for patch-backed detail so gray placeholders clear without regressing session switching.
2026-05-29 14:59:35 +02:00
kilo-maintainer[bot] 0280cfca99 chore: update nix node_modules hashes 2026-05-29 12:55:25 +00:00
marius-kilocode c4b2bb02de Merge remote-tracking branch 'origin/main' into valley-hawk 2026-05-29 14:52:30 +02:00
Marius bc2e7942f1 Merge pull request #10680 from Kilo-Org/test-vscode-a11y-coverage-10673
test(vscode): enforce scoped webview accessibility coverage
2026-05-29 14:44:24 +02:00
Marius 1fd2b9c945 Merge pull request #10686 from Kilo-Org/fix-a11y-history-10672
fix(vscode): make session history accessible to screen readers
2026-05-29 14:43:32 +02:00
Marius 9945eb6fba Merge pull request #10688 from Kilo-Org/fix-vscode-a11y-model-picker
fix(vscode): make model selection accessible to screen readers
2026-05-29 14:42:51 +02:00
marius-kilocode d836e84d5c Merge origin/main into effect-question-facade-10720 2026-05-29 13:26:46 +02:00
Catriel Müller 520ee03d80 refactor: scope and project settings links 2026-05-29 08:25:18 -03:00
Marius 1cc2c5b865 Merge pull request #10726 from Kilo-Org/effect-session-prompt-facade-10723
refactor(cli): remove SessionPrompt promise facade
2026-05-29 13:11:56 +02:00
github-actions[bot] 6731c1dd50 chore: update kilo-vscode visual regression baselines 2026-05-29 11:10:08 +00:00
marius-kilocode e9bbd4deaf fix(vscode): translate history accessibility labels in Italian 2026-05-29 13:07:00 +02:00
marius-kilocode fb5b5ebf17 Merge remote-tracking branch 'origin/main' into fix-a11y-history-10672 2026-05-29 13:05:04 +02:00
Marius 4d1439eb0c Merge pull request #10703 from barzhomi/fix/lancedb-metadata-type-corruption
fix(indexing): prevent LanceDB metadata type coercion causing full re-index on restart
2026-05-29 12:59:25 +02:00
Marius bc1176242b Merge pull request #10674 from Kilo-Org/session/agent_889409bf-00dd-4caf-a3a0-4b1f84fe03ba
feat(vscode): add BYOK Gateway link in provider connect dialog footer
2026-05-29 12:52:57 +02:00
Catriel Müller 2972acf0f5 refactor: simplify upstream mod 2026-05-29 07:52:12 -03:00
marius-kilocode a5781d1f11 Merge branch 'main' into session/agent_889409bf-00dd-4caf-a3a0-4b1f84fe03ba 2026-05-29 12:39:26 +02:00
marius-kilocode 41729dcb59 fix(vscode): localize BYOK gateway footer link 2026-05-29 12:28:44 +02:00
marius-kilocode 51ce1b82b3 fix(vscode): offload diff highlighting to a worker and render review diffs eagerly
Diff syntax highlighting ran synchronously on the webview main thread because the Shiki worker was stubbed out (the webview CSP blocked workers), so scrolling large diffs froze the UI. Bundle the Shiki worker as a dist asset, load it from an injected webview URI, and allow it via a scoped worker-src CSP directive so highlighting runs off the main thread. With highlighting off-thread, normal-sized review files now render their diffs eagerly instead of going through Pierre's per-instance virtualizer, which avoids the re-render-all storms that rebuilt thousands of rows on every height change. Large files and an aggregate per-review budget keep eager DOM bounded.
2026-05-29 12:21:15 +02:00
marius-kilocode 5980ac0272 test(cli): annotate Question migration coverage 2026-05-29 12:18:05 +02:00
marius-kilocode daef31e98a refactor(cli): remove SessionPrompt promise facade 2026-05-29 12:15:52 +02:00
marius-kilocode e4095af8d3 refactor(cli): remove Question compatibility facade 2026-05-29 12:15:48 +02:00
Aarav 3268badb6a docs: clarify per-directory AGENTS.md loading behavior (#10707)
Per-directory AGENTS.md files are dynamically loaded when the agent
reads files in that directory, not pre-loaded at session start. This
is injected as <system-reminder> tags during file access, providing
context-sensitive instructions for monorepos and large projects.
2026-05-29 12:10:27 +02:00
Marius 49062e7992 Merge pull request #10609 from Kilo-Org/neat-cyclamen
fix(vscode): add context handoff for forked sessions
2026-05-29 12:00:22 +02:00
Marius c18cd6fa4a Merge pull request #10668 from Kilo-Org/melodious-forest
feat: remove semantic indexing experimental gate
2026-05-29 11:58:36 +02:00
Marius 335dd925fe Merge pull request #10669 from Kilo-Org/peppered-behavior
feat(cli): guide Agent Manager recall usage
2026-05-29 11:56:49 +02:00
marius-kilocode f46a74a38d Merge remote-tracking branch 'origin/main' into valley-hawk
# Conflicts:
#	packages/opencode/src/snapshot/index.ts
2026-05-29 11:49:43 +02:00
marius-kilocode 2efa216ee5 fix(agent-manager): keep slow snapshot initialization non-blocking 2026-05-29 11:41:13 +02:00
Marius cf9b7ea421 Merge pull request #10715 from Kilo-Org/effect-permission-facade-10713
refactor(cli): remove Permission promise facade
2026-05-29 11:28:51 +02:00
Ligia Zanchet 4c773ebba1 Merge pull request #10698 from Kilo-Org/docs/vscode-proxy-ca-approved-isolated
Docs: add VS Code proxy and CA troubleshooting
2026-05-29 11:24:13 +02:00
Marius fd000ffadb Merge pull request #10718 from Kilo-Org/quaint-gate
docs: clarify shared snapshot guard scope
2026-05-29 11:21:42 +02:00
marius-kilocode e737fdda4a test(cli): remove runtime-coupled permission setup 2026-05-29 11:11:40 +02:00
marius-kilocode cd3dc7ed58 Merge remote-tracking branch 'origin/main' into effect-permission-facade-10713
# Conflicts:
#	script/check-opencode-promise-facades.ts
2026-05-29 11:07:27 +02:00
marius-kilocode 3dbf5f3454 test(cli): isolate Permission runtime boundaries 2026-05-29 11:05:54 +02:00
Marius 195f2c3679 Merge pull request #10717 from Kilo-Org/effect-vcs-facade-10712
refactor(cli): remove legacy Vcs facade
2026-05-29 10:51:45 +02:00
marius-kilocode 8dfa440c5c docs: clarify shared snapshot guard scope 2026-05-29 10:47:54 +02:00
marius-kilocode bcc2b486de Merge remote-tracking branch 'origin/main' into effect-vcs-facade-10712
# Conflicts:
#	script/check-opencode-promise-facades.ts
2026-05-29 10:24:54 +02:00
marius-kilocode 8511dcbd42 Merge remote-tracking branch 'origin/main' into effect-permission-facade-10713 2026-05-29 10:24:43 +02:00
Imanol Maiztegui 499cd78c0a chore: remove provider/provider.ts from promise facade allowlist (#10716) 2026-05-29 08:23:46 +00:00
Ligia Zanchet 719c3bc70c Merge pull request #10701 from Kilo-Org/docs/kiloclaw-approved-public
Docs: update KiloClaw public docs
2026-05-29 10:02:51 +02:00
marius-kilocode ff88d61175 refactor(cli): remove legacy Vcs facade 2026-05-29 09:57:41 +02:00
marius-kilocode e28cb43b7e refactor(cli): remove Permission promise facade 2026-05-29 09:55:59 +02:00
github-actions[bot] d62163ba9e chore: update kilo-vscode visual regression baselines 2026-05-29 07:34:53 +00:00
marius-kilocode 96d2d3addb fix(vscode): preserve model preview interactions 2026-05-29 09:32:07 +02:00
marius-kilocode e748140648 fix(vscode): restore focus after canceling history deletion 2026-05-29 09:29:28 +02:00
Imanol Maiztegui 8f225e2eec Remove wrappers for Provider service (#10658)
* refactor(opencode): remove legacy Provider promise wrappers in favor of Effect service usage

Replace static `Provider.list`, `Provider.getModel`, `Provider.getLanguage`,
`Provider.getSmallModel`, and `Provider.defaultModel` promise helpers with
direct `Provider.Service.use()` calls through `AppRuntime.runPromise`. This
eliminates the `makeRuntime` import and the wrapper functions that bypassed
the Effect dependency injection system.

- Remove legacy promise helpers from provider.ts
- Update kilo-sessions, roll-call, commit-message, enhance-prompt, and
  task tool to use Provider.Service via AppRuntime directly
- Thread Provider.Interface into KiloTask.select for proper DI
- Add Provider.defaultLayer to test layers that exercise TaskTool
- Update commit-message tests to spy on CommitMessageRuntime.model()

* docs(sdk): regenerate v2 SDK types and update edit endpoint description
2026-05-29 09:24:56 +02:00
Kirill Kalishev b28d5905d5 Update CHANGELOG.md 2026-05-28 23:27:03 -04:00
kilo-maintainer[bot] c54a5b370c release(jetbrains): v7.0.1-rc.4 2026-05-29 01:10:57 +00:00
Kirill Kalishev 2d03c428ea Merge pull request #10627 from Kilo-Org/oxidized-glasses
ci(jetbrains): lock release source before reviewed publish
2026-05-28 21:06:14 -04:00
Catriel Müller 7e4c297abd refactor: hot reload permissions 2026-05-28 21:58:00 -03:00
kilo-maintainer[bot] 8882b523e3 release: v7.3.16 2026-05-28 21:19:11 +00:00
Bazhen Rzheutskii eeff6d9df8 fix(indexing): address review — remove redundant String() casts, add changeset 2026-05-29 00:41:08 +04:00
Bazhen Rzheutskii 13cbb35977 fix(indexing): prevent LanceDB metadata type coercion causing full re-index on restart
LanceDB infers the value column type from the first row in _createMetadataData().
Since vector_size (1024) was stored as a number, all subsequent string values
(embedding_provider, embedding_model_id) and booleans (indexing_complete) were
silently coerced to NaN/0/1, corrupting metadata.

On restart, _getStoredEmbeddingProfile() received NaN values, causing
needsRecreation=true every time — the database was dropped and recreated,
the file-hash cache cleared, and a full re-index triggered on every VS Code reopen.

Store all metadata values as strings to ensure consistent column type.
2026-05-29 00:30:43 +04:00
kirillk 6fa2e7b21c Merge remote-tracking branch 'origin/oxidized-glasses' into oxidized-glasses 2026-05-28 16:23:00 -04:00
kirillk 9a6d4d8595 fix(jetbrains): harden release publishing 2026-05-28 16:21:43 -04:00
Evan Jacobson 820dfb0889 Docs: document webhook trigger overview 2026-05-28 14:06:31 -06:00
Evan Jacobson e9f5011987 Docs: update KiloClaw public docs 2026-05-28 14:06:19 -06:00
Evan Jacobson 762c6c3171 Docs: update mobile Kilo Pass link 2026-05-28 14:06:09 -06:00
Evan Jacobson 00882a01e6 Docs: add DoltHub coverage 2026-05-28 14:05:56 -06:00
Evan Jacobson 71936e6137 Docs: add VS Code proxy and CA troubleshooting 2026-05-28 14:05:43 -06:00
Evan Jacobson 60b29b9bc1 Docs: update Kilo Pass links 2026-05-28 14:05:31 -06:00
Evan Jacobson 42ef313c0f Docs: document organization custom modes 2026-05-28 14:04:44 -06:00
kirillk 4c65bf5751 Merge remote-tracking branch 'origin/main' into oxidized-glasses 2026-05-28 16:00:48 -04:00
Alessandro Saglia 663fbdb585 feat: add Italian language support (#9796)
* feat(i18n): support Italian in desktop app

Add Italian translations for the app, shared UI, and Kilo-specific strings.
Register the Italian locale in the app language picker.

* feat(vscode): add Italian language support

* fix(i18n): polish Italian translations

* fix(i18n): complete Italian translations

* style(vscode): format Italian locale files

* fix(i18n): add DeepSeek Italian provider note

---------

Co-authored-by: Johnny Amancio <johnnyeric@gmail.com>
2026-05-28 19:52:02 +00:00
Kirill Kalishev 4042872f77 Merge pull request #10638 from Kilo-Org/brave-newspaper
fix(jetbrains): address plugin verification and UI polish
2026-05-28 15:48:52 -04:00
Kirill Kalishev 35b9381a99 Merge branch 'main' into oxidized-glasses 2026-05-28 15:41:18 -04:00
Kirill Kalishev 6204006ee7 Merge branch 'main' into brave-newspaper 2026-05-28 15:30:23 -04:00
kilo-maintainer[bot] cd69bca8bf release: v7.3.15 2026-05-28 19:27:46 +00:00
kirillk 32b2b667b8 chore(jetbrains): update version build script 2026-05-28 15:27:09 -04:00
kirillk b87b4aa6f6 fix(jetbrains): refresh hidden session theme 2026-05-28 15:16:00 -04:00
kirillk dfcb623515 test(jetbrains): stabilize session controller construction 2026-05-28 15:11:45 -04:00
kirillk 7b6b0dceca fix(jetbrains): refresh session style when shown 2026-05-28 15:01:43 -04:00
kirillk 986b53211f Merge remote-tracking branch 'origin/main' into crystalline-dive
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/EmptySessionPanel.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/ReasoningView.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/ui/md/MdView.kt
#	packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/controller/SessionRecoveryTest.kt
2026-05-28 15:00:30 -04:00
kirillk 3f3b0171b7 fix(jetbrains): tune question scroll icon colors 2026-05-28 14:58:46 -04:00
kirillk 81eb3f3152 fix(jetbrains): preserve session scroll for question text 2026-05-28 14:52:33 -04:00
kiloconnect[bot] 9cc8fd3244 fix(vscode): show shell command description in permission approval prompt
When a shell command has a descriptive title (the  parameter
provided by the AI), include it in the permission approval dialog so users
can identify what the command will do, not just see the raw command string.
2026-05-28 18:49:45 +00:00
kirillk ac1fedabd1 build check fixes 2026-05-28 14:24:53 -04:00
Joshua Lambert d4b2b5e7cf Merge pull request #10637 from Kilo-Org/feat/deepseek-popular-providers
feat(vscode): replace GitHub Copilot with DeepSeek in popular providers list
2026-05-28 14:13:45 -04:00
github-actions[bot] d114406c1f chore: update kilo-vscode visual regression baselines 2026-05-28 17:59:52 +00:00
Joshua Lambert f776da084a Merge branch 'main' into feat/deepseek-popular-providers 2026-05-28 13:57:05 -04:00
Josh Lambert f48519be02 feat(vscode): describe DeepSeek in popular providers 2026-05-28 13:37:51 -04:00
Iván Uruchurtu f87a526d1b Merge pull request #10599 from Kilo-Org/fix/vscode-error-alert-polish
Improve VS Code chat error styling
2026-05-28 11:34:49 -06:00
kirillk c75456d2cb fix(jetbrains): use static SVG icon variants 2026-05-28 13:29:36 -04:00
Catriel Müller 3c96a7c8d3 refactor: fix merge main 2026-05-28 14:20:13 -03:00
Josh Lambert 7d8ec095c0 chore(vscode): add DeepSeek provider changeset 2026-05-28 13:17:58 -04:00
kiloconnect[bot] 5d78202190 fix(vscode): replace dashes with spaces in marketplace keywords 2026-05-28 16:54:44 +00:00
Josh Lambert 5dd59fb544 test(vscode): update DeepSeek provider priority expectation 2026-05-28 12:39:17 -04:00
kirillk 6ee4ed91b5 fix(jetbrains): construct prompt panel without blocking read 2026-05-28 12:37:59 -04:00
Marius fba40377cb Merge pull request #10683 from Kilo-Org/effect-session-summary-facade-10677
refactor(cli): remove SessionSummary promise facade
2026-05-28 17:46:07 +02:00
Marius a3ef151b2a Merge pull request #10684 from Kilo-Org/effect-project-facade-10676
refactor(cli): remove Project promise facade
2026-05-28 17:45:25 +02:00
Marius bd3cee8132 Merge pull request #10685 from Kilo-Org/effect-tool-registry-facade-10675
refactor(cli): remove legacy ToolRegistry facade
2026-05-28 17:44:06 +02:00
Rietie a92f5fe3b6 Merge pull request #10681 from Kilo-Org/add-roo-migration-callout
docs(vscode): add Roo Code migration callout to README
2026-05-28 17:43:55 +02:00
Brendan O'Leary 863ed5786a Merge branch 'main' into add-roo-migration-callout 2026-05-28 11:25:10 -04:00
marius-kilocode 38fcaa65e7 fix(vscode): make model selection accessible to screen readers 2026-05-28 17:12:43 +02:00
marius-kilocode d3c5f2886f fix(vscode): make session history accessible to screen readers 2026-05-28 17:11:31 +02:00
marius-kilocode 60051ea22a Merge remote-tracking branch 'origin/main' into effect-tool-registry-facade-10675 2026-05-28 17:10:13 +02:00
kilo-maintainer[bot] 13783d6f60 release: v7.3.14 2026-05-28 15:09:45 +00:00
marius-kilocode 2f49c6adbc refactor(cli): remove legacy ToolRegistry facade 2026-05-28 17:09:17 +02:00
marius-kilocode 977bf4ee39 refactor(cli): remove Project promise facade 2026-05-28 17:08:06 +02:00
marius-kilocode 16adbb6507 refactor(cli): remove SessionSummary promise facade 2026-05-28 17:07:53 +02:00
marius-kilocode ffad65db8e fix(vscode): address accessibility coverage feedback 2026-05-28 17:01:56 +02:00
Mark IJbema f7a24ae706 Merge pull request #10679 from Kilo-Org/fix/smoke-test-harbor-filter
fix: restore Harbor dataset filtering in smoke test
2026-05-28 16:55:42 +02:00
kiloconnect[bot] 834e544724 docs(vscode): add Roo Code migration callout to README 2026-05-28 14:51:35 +00:00
Josh Lambert 3823862d53 fix: restore smoke-test dataset filtering 2026-05-28 10:48:05 -04:00
marius-kilocode 63f39f6ae4 test(vscode): enforce scoped webview accessibility coverage 2026-05-28 16:47:54 +02:00
Marius 80c806384d Merge pull request #10666 from Kilo-Org/effect-storage-facade-10659
refactor(cli): remove Storage promise facade
2026-05-28 16:39:35 +02:00
Darko Gjorgjievski aaef29b283 Merge branch 'main' into session/agent_889409bf-00dd-4caf-a3a0-4b1f84fe03ba 2026-05-28 16:28:21 +02:00
marius-kilocode 5b886f3a52 Merge origin/main into effect-storage-facade-10659 2026-05-28 16:25:08 +02:00
Marius e3a9b25956 Merge pull request #10667 from Kilo-Org/effect-snapshot-facade-10660
refactor(cli): remove legacy Snapshot facade
2026-05-28 16:22:13 +02:00
kiloconnect[bot] cc5755d948 feat(vscode): add BYOK Gateway link in provider connect dialog footer 2026-05-28 14:19:32 +00:00
Catriel Müller 9efb241f43 refactor: merge main 2026-05-28 11:18:39 -03:00
kilo-maintainer[bot] b48e7c53c8 chore: update nix node_modules hashes 2026-05-28 14:17:05 +00:00
marius-kilocode 9653833697 test(cli): wait for disabled indexing startup status 2026-05-28 16:08:38 +02:00
marius-kilocode 0107a0163c feat(cli): guide Agent Manager recall usage 2026-05-28 16:06:54 +02:00
Brendan DeBeasi 74e01b1d48 fix(tui): dedupe solid-js and @opentui/solid to fix "No renderer found" startup crash (#8761)
* fix(tui): dedupe solid-js and @opentui/solid to fix "No renderer found" startup crash

The bundled CLI shipped with two copies of solid-js and two copies of
@opentui/solid since 7.2.1. Each duplicated copy of solid-js and
@opentui/solid creates its own RendererContext token via createContext(),
so the context provided by render() (using one copy) is invisible to
useRenderer() calls resolved against the other copy. A reactive setStore
early in boot triggers a cascade that crosses the copy boundary and
explodes with "Error: No renderer found", preceded by the warning
"You appear to have multiple instances of Solid."

Two duplications were responsible:

1. solid-js: @opentui/solid@0.1.87 declares an exact "solid-js": "1.9.9"
   dependency, so bun installed a nested solid-js@1.9.11 inside
   node_modules/@opentui/solid/node_modules while the rest of the
   workspace used the catalog solid-js@1.9.12 at the top level. Force
   dedupe via a root override.

2. @opentui/{core,solid}: packages/kilo-gateway pinned dev/peer
   versions to 0.1.75 while opencode used 0.1.87. With kilo-gateway's
   tui module imported by opencode in 7.2.1+, both versions were
   bundled side-by-side. Bump kilo-gateway's pins to 0.1.87 to match.

Verified locally with a --single build on macOS arm64: pre-fix the binary
crashes on startup with the Solid error; post-fix it boots cleanly. Bundle
shrinks ~16KB from removing the duplicated solid-js copy.

* fix: Upgrade stale version with catalog:

---------

Co-authored-by: Brendan DeBeasi <brendandebeasi@users.noreply.github.com>
Co-authored-by: Johnny Amancio <johnnyeric@gmail.com>
2026-05-28 14:05:12 +00:00
Marius 554ac0880c Merge pull request #10656 from Kilo-Org/glow-bolt
fix(vscode): prevent streaming replies from pulling scroll down
2026-05-28 16:02:01 +02:00
marius-kilocode ef2390d7a4 feat: remove semantic indexing experimental gate 2026-05-28 15:59:11 +02:00
Mark IJbema b080d59a75 Merge pull request #10665 from Kilo-Org/mark/agents-md-naming-examples
docs: remove good/bad code blocks from AGENTS.md style guide
2026-05-28 15:48:52 +02:00
marius-kilocode 3d3d68f37d refactor(cli): remove legacy Snapshot facade 2026-05-28 15:47:06 +02:00
marius-kilocode 02daf3aad0 refactor(cli): remove Storage promise facade 2026-05-28 15:45:51 +02:00
marius-kilocode 3893464630 Merge remote-tracking branch 'origin/main' into glow-bolt 2026-05-28 15:45:19 +02:00
kirillk e3bfbc7054 fix(jetbrains): avoid unsafe UI initialization 2026-05-28 09:42:05 -04:00
Catriel Müller 7fa61ad932 wip: permissions 2026-05-28 10:38:39 -03:00
Mark IJbema 4db4051d14 docs: remove remaining good/bad blocks in AGENTS.md style guide
Tightened the let / else / empty-catch rules into prose. The good/bad
code blocks added length without clarifying the rule.
2026-05-28 15:34:42 +02:00
Kirill Kalishev c0a551667b Merge branch 'main' into brave-newspaper 2026-05-28 09:20:33 -04:00
kirillk ad2bb21048 chore: remove plan files from PR 2026-05-28 09:20:09 -04:00
Mark IJbema 653bbad36a docs: tighten single-word naming rule in AGENTS.md
The foo/bar/baz good/bad examples didn't illustrate the rule (just
shorter nonsense vs. longer nonsense). Replace with prose that points
at the canonical 'Naming Enforcement' block, which already lists
realistic preferred names and anti-examples.
2026-05-28 15:16:11 +02:00
Marius 600d47a6d2 Merge pull request #10662 from Kilo-Org/effect-facade-ratchet-pr-10661
ci(cli): prevent new shared Effect promise facades
2026-05-28 15:07:48 +02:00
marius-kilocode ec3c7ba364 Merge remote-tracking branch 'origin/main' into glow-bolt
# Conflicts:
#	packages/kilo-vscode/eslint.config.mjs
2026-05-28 15:04:15 +02:00
Mark IJbema f0eac503ba Merge pull request #10644 from Kilo-Org/mark/nextedit-kilo-gateway
feat(vscode,gateway): route Mercury Next Edit through Kilo Gateway
2026-05-28 14:55:45 +02:00
marius-kilocode 2ad06b2eca ci(cli): require facade exceptions to shrink 2026-05-28 14:51:31 +02:00
marius-kilocode 3cb731230b Merge remote-tracking branch 'origin/main' into glow-bolt 2026-05-28 14:45:55 +02:00
marius-kilocode 2c09c93525 chore(vscode): exempt provider from line cap 2026-05-28 14:45:55 +02:00
marius-kilocode 2cb36f9275 ci(cli): prevent new shared Effect promise facades 2026-05-28 14:45:24 +02:00
Vishal Kumar Singh 084bbe9e3e docs: add free and budget model picks to model selection guide (#9287)
* docs: add free and budget model picks to model selection guide

Closes #7038. Links to Auto Model Free and Using Kilo for Free pages.

* docs: address review warnings for model pricing accuracy

* fix: remove stale models table

* Apply suggestions from code review

Co-authored-by: Johnny Amancio <johnnyeric@gmail.com>
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-05-28 12:42:00 +00:00
Catriel Müller 694f5dd7b5 refactor: rework agents list page 2026-05-28 09:40:41 -03:00
Marius 6a3a359af0 Merge pull request #10657 from Kilo-Org/grizzly-cycle
fix(cli): avoid indexing plugin blocking startup
2026-05-28 14:37:45 +02:00
marius-kilocode 0981194496 chore(vscode): keep provider within lint line cap 2026-05-28 14:34:55 +02:00
marius-kilocode 9b8ecf7bb0 Merge remote-tracking branch 'origin/main' into glow-bolt 2026-05-28 14:33:36 +02:00
Mark IJbema 9884b89394 chore(vscode): bump KiloProvider.ts max-lines cap to 3700 2026-05-28 14:29:49 +02:00
marius-kilocode e161c71483 refactor(vscode): avoid shadowing pending helper 2026-05-28 14:27:47 +02:00
Mark IJbema e4a57329bb Merge branch 'main' into mark/nextedit-kilo-gateway 2026-05-28 14:23:34 +02:00
marius-kilocode d883ad96ab fix(cli): avoid indexing plugin blocking startup 2026-05-28 14:21:40 +02:00
Mark IJbema f4d055e134 Merge pull request #10650 from Kilo-Org/feat/autocomplete-not-set-default
feat(vscode): add 'Not set' option to autocomplete model picker
2026-05-28 14:21:29 +02:00
Johnny Eric Amancio be9a7c9ccd feat: Add support for native agents from marketplace instead of modes (#10634)
* feat: Add support for native agents from marketplace instead of modes

* chore: update kilo-vscode visual regression baselines

* fix: add guard for case when user has pre-existing agent with same name

* chore: Clean up unused code

* chore: continue clean up of old code related to modes

* chore: add notification message informing users about migration from modes to agents

* fix: fix broken layout of remove dialog and update leftover mode string

* fix: adjust strings with mode string instead of agent

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-28 14:10:28 +02:00
Mark IJbema 8921a88d16 fix(vscode): only clear autocomplete defaults when stored at user scope
config.get() returns the merged effective value, so a workspace-level pin
or the schema default would falsely look like a stored global default.
Switch to config.inspect().globalValue so the migration only acts on
values actually stored in user settings, and update the test stub to
model scoped values.
2026-05-28 14:07:38 +02:00
Catriel Müller 7b655966b4 refactor: tools rework 2026-05-28 09:07:06 -03:00
marius-kilocode b575771497 chore: exclude unrelated SDK changes from scroll fix 2026-05-28 14:05:28 +02:00
Mark IJbema a6e4aa9a7b chore(vscode): mark autocomplete default migration for September removal 2026-05-28 14:01:49 +02:00
marius-kilocode d25d5ff473 fix scrolling 2026-05-28 14:01:23 +02:00
Mark IJbema ed41fdc3b4 test(gateway): drop tautological default-autocomplete-model test 2026-05-28 13:56:33 +02:00
Mark IJbema 1cc75733f4 refactor(gateway): pin DEFAULT_AUTOCOMPLETE_MODEL by explicit id
Looking up by provider+model id instead of relying on array index makes
the default robust to reordering of the AUTOCOMPLETE_MODELS list, and
fails loudly at module load if the referenced entry is ever removed.
Adds a test asserting the default resolves to a real entry.
2026-05-28 13:53:02 +02:00
Mark IJbema 21ef12227a fix(vscode): await autocomplete default migration before manager init
The migration cleared pinned default settings before the manager's first
readSettings() call, but firing it as a void promise let the manager's
constructor (which kicks off load() synchronously) race with the migration.
Awaiting the migration in registerAutocompleteProvider ensures the cleared
state is visible when the manager loads.
2026-05-28 13:53:02 +02:00
github-actions[bot] 301695af19 chore: update kilo-vscode visual regression baselines 2026-05-28 13:53:02 +02:00
kiloconnect[bot] f18a452082 feat(vscode): add 'Not set' option to autocomplete model picker
Aligns the autocomplete model selector with the small/subagent/per-mode
model selectors by exposing a 'Not set (use server default)' option.
Users who pick it follow future default-model changes automatically;
users who explicitly pin a model keep their selection.

Also runs a one-time migration that clears
`kilo-code.new.autocomplete.{provider,model}` when they exactly equal
the current `DEFAULT_AUTOCOMPLETE_MODEL` (Codestral via Kilo Gateway).
Many users have these stored only because it was the only thing visible
in the dropdown; without this they would stay pinned to the current
default and miss future improvements.
2026-05-28 13:53:02 +02:00
kirillk 449c740784 fix(jetbrains): address scroll icon review 2026-05-28 07:44:16 -04:00
Marius 17e0b2d6b5 Merge pull request #10652 from Kilo-Org/rustic-lightyear
fix(vscode): surface abnormal session endings
2026-05-28 13:41:56 +02:00
Catriel Müller d55a45064d refactor: remove omni server indicator 2026-05-28 08:38:13 -03:00
github-actions[bot] 2ecb7f7ccb chore: update kilo-vscode visual regression baselines 2026-05-28 10:58:26 +00:00
marius-kilocode 41ef4b505d test(vscode): cover terminal outcome stories 2026-05-28 12:55:41 +02:00
Imanol Maiztegui e8f104e619 Improve suggest bar responsiveness (#10651)
* fix(vscode): improve suggest bar responsiveness

Add min-width and text wrapping for action buttons and introduce a
responsive layout that stacks the suggest bar vertically on narrow
viewports.

* chore: update kilo-vscode visual regression baselines

* docs(mistral): update Codestral documentation link

Replace outdated code_generation capabilities URL with current
vibe/code/overview path in the Mistral provider documentation.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-28 10:47:56 +00:00
marius-kilocode 3af4c7ebab fix(vscode): surface abnormal session endings 2026-05-28 12:40:03 +02:00
Marius 7f35b6edb8 Merge pull request #10648 from Kilo-Org/serene-run
fix(cli): isolate semantic indexing in a worker
2026-05-28 11:48:44 +02:00
Marius a674181a2e Merge pull request #10641 from Kilo-Org/bottled-barometer
feat(vscode): support inline session renaming
2026-05-28 10:56:17 +02:00
marius-kilocode 9fbd5479b0 fix(cli): isolate semantic indexing in a worker 2026-05-28 10:47:41 +02:00
marius-kilocode 939399eef5 feat(vscode): expose history rename action 2026-05-28 10:39:57 +02:00
Marius b2797c1d41 Merge pull request #10645 from Kilo-Org/vivacious-soap
docs: allow detailed PR descriptions
2026-05-28 10:39:53 +02:00
marius-kilocode 3881c662fc Merge remote-tracking branch 'origin/main' into bottled-barometer
# Conflicts:
#	packages/kilo-vscode/webview-ui/src/components/history/SessionList.tsx
2026-05-28 10:36:57 +02:00
Marius aae8204a89 Merge pull request #10646 from Kilo-Org/fix/vscode-history-context-menu
fix(vscode): improve history context menu sizing
2026-05-28 10:32:47 +02:00
marius-kilocode 4d62651412 fix(vscode): defer history rename focus 2026-05-28 10:30:18 +02:00
marius-kilocode 5f2777bf82 fix(vscode): align history menu styles 2026-05-28 10:16:53 +02:00
Mark IJbema 2d65b3ffbc fix(gateway): rename /api/nextedit/completions to /api/edit/completions
Matches the renamed endpoint on the cloud side.
2026-05-28 10:15:35 +02:00
Marius 2ffb1ed7c8 Merge pull request #10643 from Kilo-Org/cheddar-rainbow
fix(vscode): center session history delete button
2026-05-28 10:09:47 +02:00
marius-kilocode d5a8989b81 fix(vscode): improve history context menu sizing 2026-05-28 10:09:38 +02:00
marius-kilocode 28dcdb4a2e fix(vscode): focus history session rename editor 2026-05-28 10:06:48 +02:00
marius-kilocode 54c2d1c45f docs: allow detailed PR descriptions 2026-05-28 09:59:01 +02:00
Mark IJbema db388889e8 feat(vscode,gateway): route Mercury Next Edit through Kilo Gateway
Adds a new "Mercury Next Edit via Kilo Gateway" autocomplete model so
users can get Next Edit predictions through their Kilo account without
needing a separate Inception API key. The gateway proxies to the
new /api/nextedit/completions endpoint added in cloud#3516.
2026-05-28 09:56:21 +02:00
github-actions[bot] b6b925af3f chore: update kilo-vscode visual regression baselines 2026-05-28 07:54:28 +00:00
marius-kilocode 10114c5e96 fix(vscode): unify history session rename UI 2026-05-28 09:51:31 +02:00
marius-kilocode 6d77d6bbf2 fix(vscode): center session history delete button 2026-05-28 09:51:23 +02:00
Marius 6bb8c901b7 Merge pull request #10642 from Kilo-Org/tangy-planarian
fix(vscode): restore readable diff highlighting
2026-05-28 09:37:58 +02:00
Marius eef0983495 Merge pull request #10619 from Kilo-Org/free-alyssum
fix: constrain Kilo indexing embedding models
2026-05-28 09:37:28 +02:00
github-actions[bot] 200d00d6b8 chore: update kilo-vscode visual regression baselines 2026-05-28 07:23:50 +00:00
Mark IJbema aebca33df7 Merge pull request #10635 from Kilo-Org/add-agent-manager-json-to-gitignore
fix(cli): add agent-manager.json to default .kilo .gitignore
2026-05-28 09:23:45 +02:00
github-actions[bot] f2e31265d1 chore: update kilo-vscode visual regression baselines 2026-05-28 07:23:38 +00:00
marius-kilocode 86654543f7 refactor(vscode): simplify session rename cancellation 2026-05-28 09:20:09 +02:00
marius-kilocode 5a8d6ae5dc fix(vscode): restore readable diff highlighting 2026-05-28 09:19:58 +02:00
marius-kilocode 117691e4d6 fix: constrain Kilo indexing embedding models 2026-05-28 09:19:25 +02:00
marius-kilocode 4869d8722b feat(vscode): support inline session renaming 2026-05-28 09:08:57 +02:00
Marius ac9f39fd6e Merge pull request #10618 from Kilo-Org/foil-fall
fix(cli): prevent stale global config reloads
2026-05-28 08:54:56 +02:00
kirillk e3d28120b2 fix(jetbrains): smooth scroll button icon 2026-05-28 00:18:37 -04:00
kiloconnect[bot] 9266d1ca0c feat(vscode): replace GitHub Copilot with DeepSeek in popular providers list 2026-05-28 03:51:38 +00:00
kirillk 391a6b95e6 fix(jetbrains): avoid verifier-blocked action APIs 2026-05-27 20:21:18 -04:00
kirillk 805a05009b build(jetbrains): add marketplace build script 2026-05-27 19:56:26 -04:00
kirillk 88f31230a6 fix(jetbrains): address toolbar and prompt initialization 2026-05-27 19:54:56 -04:00
Catriel Müller 9f3eeffcce fix: Omni Search Z-Index 2026-05-27 20:51:05 -03:00
Catriel Müller 49d36f483a feat: Omni Search 2026-05-27 20:44:36 -03:00
Catriel Müller fb4f5cc322 refactor: improve models config and explore pages 2026-05-27 19:11:46 -03:00
Kirill Kalishev 2e76e624a8 Merge pull request #10628 from Kilo-Org/turquoise-corn
docs(kilo-docs): document JetBrains v7 EAP install
2026-05-27 18:01:44 -04:00
Kirill Kalishev ead1c6611b Update packages/kilo-docs/markdoc/partials/install-jetbrains.md
Co-authored-by: Catriel Müller <catrielmuller@gmail.com>
2026-05-27 17:47:05 -04:00
Catriel Müller e4e1c253e9 refactor: improve default models screen 2026-05-27 18:46:03 -03:00
Kirill Kalishev a779c55fda Merge pull request #10633 from Kilo-Org/dog-hydrogen
fix(jetbrains): Show session status tags
2026-05-27 17:45:23 -04:00
Catriel Müller f626ed1411 refactor: fix terminal switch buffer 2026-05-27 18:26:41 -03:00
kiloconnect[bot] 682e96aaf8 fix(cli): add agent-manager.json to default .kilo .gitignore 2026-05-27 21:21:56 +00:00
Kirill Kalishev 3c9b35cfe3 Merge branch 'main' into dog-hydrogen 2026-05-27 17:00:32 -04:00
Kirill Kalishev 633489c857 Merge pull request #10630 from Kilo-Org/eastern-pullover
fix(jetbrains): refine session transcript links
2026-05-27 16:59:39 -04:00
Catriel Müller 1ca4659440 refactor: project sidebar 2026-05-27 17:58:21 -03:00
kirillk a4b2ff6fa4 fix(jetbrains): address session status review 2026-05-27 16:57:59 -04:00
Kirill Kalishev 894264c8d2 Merge branch 'main' into dog-hydrogen 2026-05-27 16:55:37 -04:00
kirillk a97756adae chore: remove committed plan file 2026-05-27 16:43:37 -04:00
kirillk 6dfe5fff8f fix(jetbrains): show question scroll overlay 2026-05-27 16:41:19 -04:00
kirillk 3cb6d77d8f fix(jetbrains): address session view review feedback 2026-05-27 16:18:33 -04:00
kirillk b16944ce24 feat(jetbrains): keep history activity metadata fresh 2026-05-27 16:09:20 -04:00
kirillk 2963dd712b fix(jetbrains): fix test compilation after ViewFactory and SessionUiStyle changes 2026-05-27 15:54:02 -04:00
kirillk 78141e031a fix(jetbrains): invalidate generated api compilation 2026-05-27 15:37:21 -04:00
Kirill Kalishev 977d61b372 Merge branch 'main' into eastern-pullover 2026-05-27 15:15:26 -04:00
kirillk 5bf7bd8bbb fix(jetbrains): open session markdown links 2026-05-27 14:59:01 -04:00
Ari Messer 6387308773 Update packages/kilo-docs/pages/ai-providers/xai.md
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-05-27 14:40:19 -04:00
kiloconnect[bot] 1efb794762 docs(kilo-docs): update xAI documentation to include X Premium subscription
Update the xAI Grok documentation to reflect that X Premium subscriptions can also be used via OAuth, in addition to SuperGrok subscriptions.
2026-05-27 14:40:19 -04:00
kirillk 98de19540c fix(jetbrains): refine session transcript styling 2026-05-27 14:28:19 -04:00
kirillk 01cc964196 fix(jetbrains): link read file rows 2026-05-27 14:08:07 -04:00
kirillk 855aec0f31 Revert "test(cli): stabilize shell cancellation test"
This reverts commit 070d82c833.
2026-05-27 13:51:31 -04:00
kirillk da47b98de3 fix(jetbrains): refine session card chrome 2026-05-27 13:41:25 -04:00
kirillk 070d82c833 test(cli): stabilize shell cancellation test 2026-05-27 13:36:39 -04:00
kirillk 6fa48b6edc fix(jetbrains): require merged release PR validation 2026-05-27 13:20:25 -04:00
Catriel Müller 7fc3bc09d4 feat: session to terminal sync // new cli kilo theme 2026-05-27 14:01:54 -03:00
kirillk 3b58e05e70 ci(jetbrains): lock release tag before publish 2026-05-27 13:01:11 -04:00
kirillk aeeb8eb5d4 feat(jetbrains): show running badges in session history 2026-05-27 13:00:13 -04:00
kirillk ebad4cdfd0 refactor(jetbrains): share session part chrome 2026-05-27 12:54:19 -04:00
kirillk c61040e9f0 docs(kilo-docs): document JetBrains v7 EAP install 2026-05-27 12:28:06 -04:00
kirillk beb8a406f0 fix(jetbrains): address release workflow review 2026-05-27 12:17:49 -04:00
kirillk a411ba9321 ci(jetbrains): add release PR publishing flow 2026-05-27 12:07:12 -04:00
Mark IJbema 3bb55b3768 Merge pull request #10621 from Kilo-Org/mark/mercury-next-edit-integration-v2
Add Mercury Next Edit as an opt-in autocomplete mode
2026-05-27 17:15:57 +02:00
Kirill Kalishev 444a066965 Merge pull request #10592 from Kilo-Org/vagabond-borogovia
feat(jetbrains): resize prompt editor and auto-scroll
2026-05-27 11:13:24 -04:00
kirillk f7c9f72d8b Merge remote-tracking branch 'origin/main' into vagabond-borogovia
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/prompt/PromptPanel.kt
2026-05-27 10:56:02 -04:00
kiloconnect[bot] 1bd5e729ff docs: update mercury-next-edit changeset description
Add contributor credit to the Mercury Next Edit changeset documentation.
2026-05-27 14:34:42 +00:00
Mark IJbema 35d568dc1c fix(vscode): namespace internal next edit command 2026-05-27 16:31:31 +02:00
Mark IJbema ecd6db5204 fix(cli): correct next edit API description 2026-05-27 16:30:44 +02:00
Mark IJbema b5aaa821e6 test(vscode): share unit vscode mock for next edit 2026-05-27 16:24:44 +02:00
Catriel Müller 01ac265646 feat: initial implementation of the terminal manager and new design 2026-05-27 11:19:14 -03:00
Mark IJbema 774b090905 chore(gateway): ignore CI test artifacts 2026-05-27 16:14:15 +02:00
Mark IJbema 70dc821219 test(vscode): isolate next edit vscode mocks 2026-05-27 16:13:46 +02:00
Mark IJbema eccea2bc9e test(vscode): cover denied next edit snippets 2026-05-27 16:11:23 +02:00
Mark IJbema e2dcf35e2f test(gateway): run edit suites in CI 2026-05-27 16:09:58 +02:00
Mark IJbema 2c3b6bb0af test(vscode): run next edit suites in CI 2026-05-27 16:09:01 +02:00
Imanol Maiztegui 8bc05fa9f5 test(opencode): replace mock.module stubs with Effect layer injection in kilo tests (#10615)
Extract KiloModelsService from model-cache to enable dependency injection
and rewrite test files to use Layer-based test harnesses instead of
process-wide mock.module() calls that caused flaky cross-test pollution
on CI.
2026-05-27 15:42:15 +02:00
Imanol Maiztegui 1a36cfbb10 Effect Migration for Kilo callsites (follow-up 2) (#10616)
* refactor(opencode): remove raw LLM interface in favor of stream-based text helper

Introduce KiloLLM.text() to consume Effect streams and extract text
while propagating error/abort events. Replace all usages of the removed
LLM.raw() method and the legacy LLM.stream() async wrapper with
dedicated runtime helpers (CommitMessageRuntime.generate,
PlanFollowupRuntime.handover) that leverage the new stream-based
approach.

- Add KiloLLM.text() stream combinator in kilocode/session/llm.ts
- Remove Interface.raw and the exported LLM.stream() async function
- Refactor commit-message generation to use CommitMessageRuntime
- Refactor plan-followup handover to use PlanFollowupRuntime.handover
- Update all test LLM mocks to remove raw() stubs
- Add unit tests for KiloLLM.text() covering text joining, error
  propagation, and abort handling

* feat(skill): migrate Skill module to Effect service pattern and remove legacy promise wrappers

Remove the makeRuntime-based promise helpers (Skill.all, Skill.get,
Skill.dirs) from the skill module and convert the builtin-skills test
suite to use Effect generators with the testEffect harness.

- Delete legacy runPromise wrappers from packages/opencode/src/skill/index.ts
- Rewrite builtin-skills.test.ts to use testEffect and Effect.gen
- Replace WithInstance.provide/tmpdir with TestInstance yield pattern
- Use Skill.Service directly within Effect generators for all assertions

* refactor(session-status): drop makeRuntime promise helpers and wire Service through Effect context

Replace the standalone `SessionStatus.list`, `.get`, `.set` promise
wrappers with direct `SessionStatus.Service` usage via Effect generators
and `AppRuntime.runPromise` at Kilo callsites that remain imperative.

- Remove makeRuntime-based exports from session/status.ts
- Update kilo-sessions.ts and plan-followup.ts to use AppRuntime.runPromise
  with SessionStatus.Service
- Thread SessionStatus.Service as a dependency through SuggestTool and
  ToolRegistry layers
- Replace spy-based mocks in suggestion tool tests with an in-memory
  service stub for deterministic assertions
2026-05-27 15:42:09 +02:00
Kirill Kalishev 33ff7cff47 Merge pull request #10591 from Kilo-Org/cotton-flyaway
fix(jetbrains): auto-approve mode
2026-05-27 09:14:36 -04:00
marius-kilocode dcfadac83e fix(cli): prevent stale global config reloads 2026-05-27 15:13:51 +02:00
kiloconnect[bot] 29c3798faa fix(vscode): send workspace-relative current file path for next edit
Match classic autocomplete's policy of never sending absolute fsPaths
upstream. Mercury only needs the path for language/context hints, and
the workspace-relative form is what recentlyViewedSnippets already uses.
2026-05-27 12:47:30 +00:00
Mark IJbema aa1f857ba4 style(vscode): format next edit integration files 2026-05-27 13:50:39 +02:00
Mark IJbema 9a0f38ade5 fix(vscode): namespace next edit commands 2026-05-27 13:49:40 +02:00
marius-kilocode 4e6f366a75 fix(vscode): add context handoff for forked sessions 2026-05-27 13:49:03 +02:00
Mark IJbema fcbdee46dc test(vscode): settle next edit history setup cleanly 2026-05-27 13:36:20 +02:00
Mark IJbema fadf72bdbf fix(vscode): fail closed for next edit file access 2026-05-27 13:29:01 +02:00
Mark IJbema 63fedf42a5 refactor(vscode): simplify next edit history access check 2026-05-27 13:18:29 +02:00
Marius aec43e919c Merge pull request #10608 from Kilo-Org/simple-sushi
Enable Agent Manager tool by default in VS Code
2026-05-27 13:16:29 +02:00
kiloconnect[bot] 0210a3b411 fix(vscode): dismiss next edit state when unregistered 2026-05-27 11:12:28 +00:00
kiloconnect[bot] c6d35f1987 fix(vscode): remove next edit deleted lines cleanly 2026-05-27 11:10:57 +00:00
kiloconnect[bot] 7834aeb2b3 fix(vscode): apply next edit insertions safely at eof 2026-05-27 11:08:12 +00:00
kiloconnect[bot] 50a91dccbc fix(gateway): suppress truncated next edit replacements 2026-05-27 10:59:54 +00:00
kiloconnect[bot] 57e359a302 fix(vscode): filter next edit history through access policy 2026-05-27 10:59:11 +00:00
marius-kilocode 3ffacc847b feat(agent-manager): enable tool by default in VS Code 2026-05-27 12:16:42 +02:00
Imanol Maiztegui 39a7305c97 Effect Migration for Kilo callsites (follow-up) (#10587)
* refactor(opencode): migrate ModelCache and Config to effect-native services

Remove legacy async wrapper functions from Config module and convert
ModelCache from a stateful namespace with module-level Maps into a
proper Effect service with Context/Layer semantics.

Key changes:
- Delete Config's `makeRuntime`-based async wrappers (get, getGlobal,
  update, warnings, etc.) — all callsites now use
  `Config.Service.use(...)` through AppRuntime
- Rewrite ModelCache as an Effect service with HttpClient dependency
  injection, replacing imperative Map-based caching with Effect-native
  Ref cells and TTL logic
- Convert KiloSessions.init and KilocodeBootstrap.init into proper
  Effect services with Layer-based dependency injection
- Wire ModelCache.Service into AppLayer, ProviderAuth, ModelsDev, and
  HTTP API handler layers
- Update Permission.layer to depend on Config.Service directly instead
  of calling Config async wrappers
- Add new test files for KiloSessions and ModelCache Effect integration
- Remove stale Config.get spyOn mocks from tests that no longer need
  them (experimental-session-list, recall)
- Fix indexing-auth to use typed IndexingConfig parameter instead of
  untyped record access

* fix(model-cache): resolve race conditions in concurrent fetch and cache invalidation

Introduce versioned cache cells with proper key derivation to prevent
stale responses from overwriting fresher data during concurrent fetches.

- Add version tracking to detect and discard outdated fetch results
- Derive cache keys from provider-specific options (baseURL, token, apiKey)
  to isolate concurrent requests with different credentials
- Make ModelCache.clear async to properly await invalidation across layers
- Update OrganizationDeps.clear signature to allow Promise<void> return
- Add concurrency and ordering tests for fetch/refresh race scenarios
- Rename local variable from `state` to `entry` in kilo-sessions sync loop

* chore(opencode): remove duplicate imports and fix test layer composition

Remove duplicate `AppRuntime` imports introduced during merge and update
kilo-sessions tests to use Effect-native Auth service instead of static
module calls.

- Remove duplicate `AppRuntime` import in index.ts and instance.ts
- Add Auth.defaultLayer to test layer helper
- Refactor test to yield Auth.Service and use instance methods
- Reorder Effect.provide/Effect.ensuring for correct resource cleanup

* style(opencode): normalize kilocode_change marker comments to block format

Standardize inline `// kilocode_change` annotations across source and
test files to use consistent `// kilocode_change start` / `// kilocode_change end`
block delimiters, improving readability and grep-ability of custom
modifications.
2026-05-27 11:43:32 +02:00
Mark IJbema 3db8e3ccae fix(vscode): remove unused next-edit context export 2026-05-27 11:32:42 +02:00
Mark IJbema 24b40391d6 docs(kilo-docs): index next-edit source link 2026-05-27 11:32:27 +02:00
Mark IJbema 30fbd0ab55 refactor(vscode): name chained next-edit delay 2026-05-27 11:31:37 +02:00
Mark IJbema 543d98ec17 refactor(vscode): dispose next-edit log directly 2026-05-27 11:31:19 +02:00
Mark IJbema 47bcb389c8 fix(vscode): hide internal next-edit acceptance command 2026-05-27 11:30:48 +02:00
Mark IJbema c25d60d68d fix(vscode): retain next-edit pre-cursor rewrites 2026-05-27 11:30:19 +02:00
Mark IJbema e4c2593118 fix(vscode): report selected next-edit telemetry model 2026-05-27 11:29:33 +02:00
Mark IJbema 27eaa97cdd test(vscode): preserve cross-file next-edit history 2026-05-27 11:29:11 +02:00
Mark IJbema ecbbe7faeb fix: remove noisy next-edit hot-path logs 2026-05-27 11:28:03 +02:00
Mark IJbema 2bbd4d7d7d fix(vscode): restore extension release version 2026-05-27 11:27:37 +02:00
Mark IJbema cb933859ff Merge pull request #10602 from Kilo-Org/revert-10593-design-source-submodule
Revert "docs(design): add shared design source"
2026-05-27 09:18:19 +02:00
Mark IJbema cadce9ad16 Revert "docs(design): add shared design source" 2026-05-27 09:15:57 +02:00
Iván Uruchurtu c62d6ccb1a Merge pull request #10593 from Kilo-Org/design-source-submodule
docs(design): add shared design source
2026-05-26 23:48:40 -06:00
Kirill Kalishev 927256fb06 Merge branch 'main' into vagabond-borogovia 2026-05-26 23:02:45 -04:00
Iván Uruchurtu 7d2dbb0ae2 chore(vscode): trim error story coverage 2026-05-26 20:56:07 -06:00
github-actions[bot] d02c3a6bf3 chore: update kilo-vscode visual regression baselines 2026-05-27 02:51:48 +00:00
Iván Uruchurtu 46213dcebd fix(vscode): improve chat error styling 2026-05-26 20:48:18 -06:00
Firas Trabelsi 7437f77374 Move NES prompt templating to the gateway + wire FileIgnoreController
Addresses the two remaining points from @markijbema's review.

Prompt templating now lives in the gateway
-------------------------------------------
The Mercury sentinel-prompt assembly moved out of the VSCode extension
into packages/kilo-gateway/src/edit-prompt.ts. Clients now send
structured editor context (currentFileContent, cursor position,
editable region, recently-viewed snippets, edit-diff history) and the
gateway builds the sentinel-tagged prompt. This keeps the entire
Mercury contract — endpoint, auth, prompt format, response parsing — in
one place that VS Code, JetBrains, and the TUI can all share, instead
of each editor re-implementing the templating.

- New EditBody is the structured context (was: a pre-built `content`
  string). Updated the opencode HttpApi schema, the hono zod validator,
  both handlers, and regenerated the SDK.
- Deleted the VSCode-side mercuryPromptTemplate.ts (+ spec); the tests
  moved to packages/kilo-gateway/test/edit-prompt.test.ts.
- VSCode constants.ts now holds only the editable-region sizing; the
  sentinel tokens live in the gateway.

FileIgnoreController
--------------------
NES must not send ignored files (.env, secrets, anything matched by
.gitignore/.kilocodeignore) to the server. The NES provider now:
- skips the request entirely if the active document fails
  ignoreController.validateAccess(), and
- filters recently-viewed snippets through the same controller before
  they go into the prompt.
It reuses the classic provider's FileIgnoreController instance (now
public) rather than building a second one.

Also: dropped the implicit nextEdit.debug config read in log.ts (debug
is env-only via KILO_NES_DEBUG) so no VSCode autocomplete config is
added — per the "config should move to the backend" guidance.

Validation: typecheck clean across kilo-gateway, opencode, kilo-vscode;
lint clean; gateway 46 tests, vscode next-edit 10 tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 17:04:07 -07:00
Kirill Kalishev b19b864cf8 Merge branch 'main' into cotton-flyaway 2026-05-26 19:52:34 -04:00
Firas Trabelsi ca2642438f Address review feedback: NES correctness, dedupe, tests
Two-agent review pass on the gateway-routed NES change. Fixes:

Correctness (🔴)
- MercuryEditProvider read the HTTP status off the parsed error body
  (`error.status`, always undefined), so 401/402 never reached
  onFatalError and NES had no credit-exhausted/auth backoff. Now reads
  `response.status` from the SDK result.
- NextEditSuggestionManager applied "insert" suggestions without the
  apply-time drift re-validation the "replace" path already had — edits
  between the anchor and insertion point could land the insert in the
  wrong place. Now re-checks the anchor line before inserting.
- The opencode Effect edit handler collapsed every upstream failure to
  HTTP 400; now passes the real status through (mirrors the FIM handler)
  so 401/402/429/5xx are distinguishable under the experimental backend.

Conciseness / DRY (🔴)
- Deleted dead module editCompletionParser.ts (+ spec): the gateway
  unwraps the fence server-side now, so the VSCode-side parser was unused.
- Hoisted the triplicated extractFencedBody into a single exported
  function in kilo-gateway/src/edit.ts; both the hono and Effect handlers
  import it. Added a shared EditUpstreamResponse type to replace three
  inline copies.

Robustness (🟡)
- extractFencedBody now keeps the body when the closing fence is missing
  (truncated/max_tokens output) instead of dropping the suggestion.
- EditHistoryTracker seeds snapshots on document open so the first edit
  in a freshly-opened file is captured (was previously dropped).
- Single-line inserts that span non-blank lines below the cursor (a
  multi-line→single-line collapse) now route to the decoration path
  instead of emitting a ghost item VSCode can't render.

Cleanup (🟡)
- Removed unused constants (MERCURY_EDIT_MODEL_ID, INCEPTION_API_BASE_URL,
  INCEPTION_EDIT_PATH).
- getProviderKey typed to DirectAutocompleteProviderID (matches FIM).
- resolveEditTarget keys on kind==="edit" defensively, so a future
  FIM-only Inception model can't resolve to the edit endpoint.
- AutocompleteModelDef doc comments made endpoint-neutral (not "FIM").
- Declared the internal accept command in contributes.commands.

Tests
- New packages/kilo-gateway/test/edit.test.ts: resolveEditTarget routing
  (incl. the mercury-edit-2 FIM model must NOT reach the edit endpoint)
  and extractFencedBody variants (lang tag, sentinels, truncation, blank
  lines, no-fence).
- typecheck clean across kilo-gateway, opencode, kilo-vscode; lint clean;
  all unit tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 16:14:29 -07:00
Roland 56d2ac40da fix(vscode): detect Windows speech input devices 2026-05-27 00:13:40 +02:00
kirillk 16bc165aa3 test(jetbrains): adjust question scroll assertions 2026-05-26 17:57:52 -04:00
kirillk 79204987b2 fix(jetbrains): use theme-safe auto-approve icons 2026-05-26 17:55:51 -04:00
Iván Uruchurtu f9a2db79f3 fix(design): use https design submodule url 2026-05-26 15:31:55 -06:00
Iván Uruchurtu bc50a8d3f0 docs(design): add shared design source 2026-05-26 15:27:48 -06:00
kirillk a8549804df feat(jetbrains): add prompt send shortcut 2026-05-26 17:11:04 -04:00
kirillk 1eeab9f5ff fix(jetbrains): show solid auto-approve shield 2026-05-26 17:06:57 -04:00
kirillk 11d5d2a67b fix(jetbrains): resize prompt editor with content 2026-05-26 17:05:58 -04:00
kilo-maintainer[bot] f68b778aa8 release: v7.3.12 2026-05-26 20:58:33 +00:00
kirillk 050ab05360 fix(jetbrains): restore permission state when auto-approve stops 2026-05-26 16:49:00 -04:00
kirillk ca55401d52 fix(jetbrains): harden session scroll following 2026-05-26 16:48:52 -04:00
kirillk 0117095178 fix(jetbrains): scroll question navigation to bottom 2026-05-26 16:36:26 -04:00
kirillk 4fcfaf5942 fix(jetbrains): keep auto-approve shield neutral 2026-05-26 16:24:14 -04:00
kirillk c45f727bab fix(jetbrains): keep session scroll following tail 2026-05-26 16:19:39 -04:00
Joshua Lambert 4316dcc829 Merge pull request #10582 from Kilo-Org/docs/xai-supergrok-subscription
docs(kilo-docs): add xAI SuperGrok subscription and OAuth login documentation
2026-05-26 16:18:37 -04:00
kirillk ba9bf5d14f feat(jetbrains): add auto-approve toggle 2026-05-26 16:09:05 -04:00
kilo-maintainer[bot] 7598495eac release: v7.3.11 2026-05-26 20:02:42 +00:00
Catriel Müller 10de9ebfe6 refactor: agent builder 2026-05-26 16:11:01 -03:00
Kirill Kalishev f617749b20 Merge pull request #10552 from Kilo-Org/quaint-airbus
feat(jetbrains): support plan follow-ups and todo rendering
2026-05-26 13:39:00 -04:00
kirillk 12bb821487 fix(jetbrains): preserve follow-up question state 2026-05-26 12:49:23 -04:00
kiloconnect[bot] b63dafe5a6 docs(kilo-docs): note 'Show more providers' step to find xAI in VSCode 2026-05-26 16:42:55 +00:00
kiloconnect[bot] d74e95ccf8 docs(kilo-docs): mention xAI BYOK on Gateway in SuperGrok callout 2026-05-26 16:41:01 +00:00
Kirill Kalishev 8c5305e094 Merge branch 'main' into quaint-airbus 2026-05-26 12:39:19 -04:00
Kirill Kalishev ce0caa6d1c Merge pull request #10586 from Kilo-Org/capricious-lychee
ci: parallelize JetBrains checks
2026-05-26 12:38:54 -04:00
kirillk 33eb9fae50 Merge branch 'capricious-lychee' into quaint-airbus 2026-05-26 12:29:02 -04:00
Firas Trabelsi fe60a467d1 Add Mercury Next Edit (NES) routed through the kilo gateway
Addresses @markijbema's architectural feedback on #10536: moves the HTTP
edit-completion call to the gateway, removes the standalone API-key
setting, and aligns with the provider/model selection design introduced
in #10559.

Wire-level changes
------------------
* New `/kilo/edit` endpoint added to the opencode HttpApi contract
  (`packages/opencode/src/kilocode/server/httpapi/groups/kilo-gateway.ts`)
  and mirrored into `packages/kilo-gateway/src/server/routes.ts` for the
  hono surface. SDK regenerated; `client.kilo.edit({ content, provider,
  model, maxTokens })` is now available.
* `packages/kilo-gateway/src/edit.ts` — `EditTarget` resolver mirroring
  the FIM pattern. Only the Inception provider is wired today (Mistral
  doesn't expose a comparable surface); Kilo Gateway has a placeholder
  branch that returns 400 until a server-side proxy exists.
* `packages/kilo-gateway/src/server/edit.ts` — `createEditHandler` reads
  the Inception BYOK key from `Auth.get("inception")` and falls back to
  `INCEPTION_API_KEY` from env, exactly like the FIM handler.
* The gateway unwraps Mercury's triple-backtick fence (and any
  `<|code_to_edit|>` sentinels) server-side so the VSCode response is
  just the rewritten code.
* `AutocompleteModelDef` gains an optional `kind: "fim" | "edit"`
  discriminator; new entry `inception/mercury-next-edit` (label "Mercury
  Next Edit") sets `kind: "edit"` and shares the wire model
  `mercury-edit-2`.

VSCode-side
-----------
* `MercuryEditProvider` no longer does its own HTTP — it's now a thin
  wrapper around `client.kilo.edit(...)` via `KiloConnectionService`.
* Dropped `kilo-code.new.autocomplete.nextEdit.apiKey` and
  `.nextEdit.baseUrl` settings. Auth and routing live in the gateway.
* The `AutocompleteServiceManager` dispatch now switches on the model's
  `kind` field (set by `getAutocompleteModel(provider, model)`) instead
  of string-comparing a model id, matching Mark's provider+model split.
* The `NextEditInlineCompletionProvider`,
  `NextEditSuggestionManager`, prompt template, parser, editable-region
  selector, edit-history tracker, recently-viewed-snippets adapter, and
  decoration-based jump-to-edit UX remain in the VSCode extension since
  they need editor-specific APIs (`InlineCompletionItem`,
  `TextEditorDecorationType`, keybinding context keys).

Bot review nits resolved
------------------------
* `INLINE_COMPLETION_ACCEPTED_COMMAND` renamed `kilocode.*` →
  `kilo-code.*` to match the project convention.
* `kilo-code.next-edit.acceptOrJump` and `.dismiss` now declared in
  `contributes.commands` so VS Code can resolve them in the palette.
* `disposeLog()` wired into `AutocompleteServiceManager.dispose()` so
  the dedicated "Kilo Code · Next Edit" OutputChannel doesn't leak.
* Per-keystroke "skip — no API key resolved" log removed (the entire
  API-key code path is gone).

Tests
-----
* `bun run check-types:extension` clean
* `bun run lint src` clean
* `bun test src/services/autocomplete/next-edit/__tests__/` — 23/23
  pass

Docs
----
* The partner walkthrough at
  `packages/kilo-vscode/docs/mercury-next-edit-testing.html` and the
  20-test playground under
  `packages/kilo-vscode/docs/nes-examples/` survive from the prior
  iteration. The walkthrough's "Install the PR locally" section still
  applies (the model dropdown choice is now "Mercury Next Edit
  (Inception)" — the API-key step is gone since BYOK is plumbed through
  the gateway's Auth store).

Known follow-ups (not in this commit)
-------------------------------------
* `FileIgnoreController` plumbing through the NES context builder so
  `.env`-style files don't get sent. Hook point identified in
  `NextEditInlineCompletionProvider.buildRequestContext`.
* Settings UI changes in the webview to expose Mercury Next Edit as a
  selectable provider/model pair alongside the FIM entries.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 09:17:53 -07:00
Kirill Kalishev fe7bc99986 Merge branch 'main' into capricious-lychee 2026-05-26 12:10:50 -04:00
kirillk 25b9007d3d Merge remote-tracking branch 'origin/main' into quaint-airbus
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt
#	packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionUiLayoutTest.kt
#	packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionUiTestBase.kt
2026-05-26 11:52:37 -04:00
Kirill Kalishev 878b16103b Merge pull request #10496 from Kilo-Org/prairie-crocus
feat(jetbrains): add legacy settings migration
2026-05-26 11:48:18 -04:00
kirillk 5961afbbe1 ci: serialize JetBrains Gradle tasks 2026-05-26 11:36:56 -04:00
kirillk 2d1ff2fd50 ci: parallelize JetBrains checks 2026-05-26 11:14:51 -04:00
Kirill Kalishev baf8aac232 Merge branch 'main' into prairie-crocus 2026-05-26 11:11:35 -04:00
kirillk bb4a76e6a1 fix(jetbrains): stabilize session UI tests 2026-05-26 10:55:25 -04:00
Catriel Müller 2ebdbb2fe5 Merge pull request #10413 from LifeJiggy/clean/windows-cli-6307
fix(cli): make bash tool description Windows-aware
2026-05-26 11:53:25 -03:00
kiloconnect[bot] e19665d151 docs(kilo-docs): add xAI SuperGrok subscription and OAuth login documentation 2026-05-26 14:35:08 +00:00
Marius 59762f5842 Merge pull request #10581 from Kilo-Org/uncovered-salary
feat(vscode): enable voice input for signed-in Kilo users
2026-05-26 16:16:09 +02:00
marius-kilocode 81777f1288 Revert "ci: use Node 24-compatible Bun cache action"
This reverts commit c6774947ed.
2026-05-26 15:57:23 +02:00
Catriel Müller ce80806bfa refactor: project filter / active projects on sidebar 2026-05-26 10:56:44 -03:00
marius-kilocode c6774947ed ci: use Node 24-compatible Bun cache action 2026-05-26 15:55:28 +02:00
Mark IJbema 022be2037d Merge pull request #10559 from Kilo-Org/mark/direct-autocomplete-fim-providers
Support backend-routed autocomplete FIM providers
2026-05-26 15:48:38 +02:00
marius-kilocode 722eb44d63 feat(vscode): enable voice input for signed-in Kilo users 2026-05-26 15:45:48 +02:00
Mark IJbema 21b5607bc8 chore: trigger CI 2026-05-26 15:17:40 +02:00
kirillk e96bbb50ae test(jetbrains): align migration UI fake 2026-05-26 09:09:56 -04:00
Catriel Müller 784c12ab3d refactor: keep platform as OS and added kilomarkers 2026-05-26 14:05:55 +01:00
LifeJiggy b4a10bb0e2 fix(cli): port Windows-aware bash tool description to refactored prompt.ts 2026-05-26 14:05:55 +01:00
kirillk 9dcc3fb8cc chore(jetbrains): remove migration mock script 2026-05-26 09:03:55 -04:00
kirillk e3b8f3b7e5 fix(jetbrains): surface partial migration failures 2026-05-26 09:00:52 -04:00
Kirill Kalishev 1d7023355e Merge branch 'main' into prairie-crocus 2026-05-26 08:52:23 -04:00
Mark IJbema 80f8781cbc refactor(gateway): make FimTarget a discriminated union
Replace `urls: string[]` with provider-specific shapes: kilo and inception
each carry a single `url`, mistral carries no urls (its dual-endpoint
fallback is encapsulated in requestMistralFim). Removes the non-null
assertion on `urls[0]` and the dead "No FIM endpoint configured" branch.
Also tightens `getProviderKey` to take `DirectAutocompleteProviderID`,
which now follows naturally from the narrowed union and prevents the
`DIRECT_FIM_ENV["kilo"]` undefined-lookup footgun.
2026-05-26 13:39:55 +02:00
Mark IJbema be5b4f9c45 fix(vscode): never infer direct autocomplete provider from model name
Previously `getAutocompleteModel` inferred the provider from a bare model
id like "codestral-2508" or "mercury-edit-2" when no provider was set.
That meant a user with a legacy `model` setting could be silently routed
to a direct BYOK provider without an explicit opt-in. Default to Kilo
Gateway whenever provider is unset; direct providers now require an
explicit `provider` setting.
2026-05-26 13:39:55 +02:00
Mark IJbema 80e39c29eb Merge branch 'main' into mark/direct-autocomplete-fim-providers 2026-05-26 13:25:04 +02:00
Mark IJbema 923d955c86 fix: address autocomplete FIM review findings 2026-05-26 13:08:19 +02:00
Marius 7aacbb0e8a Merge pull request #10441 from Kilo-Org/brazen-lingo
fix(vscode): speed up inline subagent streaming
2026-05-26 12:58:25 +02:00
Imanol Maiztegui bacfa4ae62 Effect Migration for Kilo callsites (#10572)
* refactor(opencode): migrate agent promise helpers to kilocode module and adopt Effect-based tests

Remove legacy promise-based helpers (`get`, `list`, `defaultAgent`, `remove`)
from the core agent module and update callsites to use the dedicated
`@/kilocode/agent` module directly. Migrate kilocode-specific tests from
`WithInstance.provide` patterns to the `testEffect` helper with Effect
generators for cleaner, more idiomatic test code.

- Remove `makeRuntime` import and exported promise helpers from agent.ts
- Update HTTP API handlers to import from `@/kilocode/agent` instead of
  re-exported `Agent` namespace
- Rewrite agent tests to use `load()` helper or Effect service access
- Convert agent-global-config-dirs and agent-skill-permissions tests to
  `testEffect` pattern
- Reorder SDK type definitions (BackgroundProcessLogs/WorkspaceWarpError)

* chore(auth): remove legacy promise helpers and replace with direct Effect service access

Eliminate the exported promise-based convenience functions (`get`, `all`,
`set`, `remove`) from the Auth module and replace all callsites with
explicit `AppRuntime.runPromise` or `makeRuntime` invocations that access
`Auth.Service` directly through Effect's service pattern.

- Delete `makeRuntime`-backed promise helpers from auth/index.ts
- Update CLI entrypoint, kilo-sessions, indexing, and server instance to
  use `AppRuntime.runPromise(Auth.Service.use(...))` for auth access
- Inject `Auth.Service` as a dependency into the ModelsDev layer and
  consume it via Effect generator instead of promise wrapper
- Create a local `makeRuntime` instance in model-cache.ts for non-Effect
  callsites that still need promise-based auth access
- Rewrite tests to manipulate auth.json directly on disk with proper
  save/restore semantics instead of relying on removed helpers

* refactor(suggestion): convert suggest tool to Effect-native with injected Command dependency

Transform the suggestion tool from async/promise-based implementation to
idiomatic Effect generators with explicit dependency injection of the
Command service rather than importing and calling module-level helpers.

- Convert `resolvePrompt` from async function to Effect generator that
  accepts a `Command.Interface` parameter
- Refactor `SuggestTool` definition to yield `Command.Service` from the
  Effect context and thread it through to `resolvePrompt`
- Add `Command.Service` as a dependency to the tool registry layer and
  provide `Command.defaultLayer` in both production and test wiring
- Remove unused `makeRuntime` import and exported `get` helper from
  command/index.ts
- Add explicit type annotations to Auth delegate in server instance
- Rewrite suggestion tests to use `testEffect` helper with a mock
  `Command.Service` layer instead of spying on module exports

* feat(git): migrate WorktreeFamily to Effect service and wire Git.Service as dependency

Convert WorktreeFamily.list from an async function using legacy promise
helpers to an Effect generator that yields Git.Service from context,
eliminating the need for the removed `run` promise wrapper in git/index.

- Replace `WorktreeFamily.list()` async function with Effect.fn generator
  that obtains Git.Service and InstanceState from the Effect context
- Remove legacy `makeRuntime`/`run`/`runPromise` exports from git module
- Update RecallTool to thread Git.Service through to WorktreeFamily calls
  via EffectBridge
- Add Git.Service as a required dependency in tool registry and HTTP
  server route layers
- Update all test layers to provide Git.defaultLayer

* chore(mcp): replace legacy promise helpers with Effect-native AppRuntime calls

Remove exported promise-based `status`, `connect`, and `disconnect`
helpers from MCP module and convert the network recovery callsite in
SessionNetwork to use AppRuntime.runPromise with Effect.gen directly.

* refactor(auth): adopt makeRuntime helper for Auth service resolution in kilo modules

Replace AppRuntime.runPromise with locally scoped makeRuntime instances
in kilo-sessions and kilocode/indexing modules, removing the dependency
on the global AppRuntime singleton for Auth service access.

* fix(test): simplify cleanup error handling in provider test

Replace try-catch block with promise .catch() for file unlink operation
during test teardown.
2026-05-26 12:51:21 +02:00
Marius 38d65ca793 Merge pull request #10505 from Kilo-Org/supersede-10089-agent-model-variant-dropdowns
feat(vscode): implement agent model and variant override dropdowns in VSCode settings
2026-05-26 12:49:08 +02:00
marius-kilocode a2575be238 fix(vscode): preserve live subagent stream metadata 2026-05-26 12:34:38 +02:00
marius-kilocode afd0550e34 Merge origin/main into supersede-10089-agent-model-variant-dropdowns 2026-05-26 12:31:47 +02:00
Marius 281d79a26a Merge pull request #10575 from Kilo-Org/vine-apogee
fix(vscode): restore readable Pierre diff highlights
2026-05-26 12:30:50 +02:00
Mark IJbema bbc57f6540 Merge branch 'main' into mark/direct-autocomplete-fim-providers 2026-05-26 12:29:21 +02:00
Mark IJbema 762eb224d9 refactor(gateway): share autocomplete provider types 2026-05-26 12:18:46 +02:00
Johnny Eric Amancio b123241ec3 docs: add details about contributor ownership and mass creation of PRs/Issues (#10574) 2026-05-26 10:16:18 +00:00
marius-kilocode 87bcf5ac52 refactor(vscode): isolate visible task streams 2026-05-26 12:13:59 +02:00
marius-kilocode 6415432d22 fix(vscode): restore readable Pierre diff highlights 2026-05-26 12:12:05 +02:00
Mark IJbema 5590b43418 refactor(gateway): simplify autocomplete model lookup 2026-05-26 12:03:59 +02:00
marius-kilocode 6c39f9670c refactor(vscode): extract subagent visibility binding 2026-05-26 12:03:46 +02:00
Mark IJbema 9b1407e336 refactor(gateway): remove unshipped autocomplete aliases 2026-05-26 11:59:23 +02:00
Mark IJbema d02145a549 refactor(gateway): simplify Mistral FIM endpoint cache 2026-05-26 11:44:13 +02:00
Marius fe14cafdc1 Merge pull request #10573 from Kilo-Org/sand-sage
fix(vscode): explain disabled speech input requirement
2026-05-26 11:37:39 +02:00
Mark IJbema c073dac91f refactor(gateway): clarify Mistral FIM endpoint helper 2026-05-26 11:25:32 +02:00
marius-kilocode 04702bad9e fix(vscode): clarify speech gateway requirement 2026-05-26 11:18:17 +02:00
marius-kilocode 559b85b5cb refactor(vscode): clarify stream cleanup 2026-05-26 11:10:01 +02:00
Mark IJbema 4ca226c83f fix(gateway): cache working Mistral FIM endpoint 2026-05-26 11:08:19 +02:00
Johnny Eric Amancio 2fd94da76c docs: clarify PR review readiness expectations (#10562) 2026-05-26 11:07:51 +02:00
marius-kilocode 8bb88aa514 Merge remote-tracking branch 'origin/main' into brazen-lingo
# Conflicts:
#	packages/kilo-vscode/tests/unit/session-utils.test.ts
2026-05-26 11:07:46 +02:00
Marius d00bdbf5df Merge pull request #10485 from Kilo-Org/fix-subagent-error-recovery
fix(cli): surface failed subagent task errors
2026-05-26 10:59:01 +02:00
Marius bcda744dfc Merge pull request #10443 from Kilo-Org/subagent-model-reasoning-config
feat: configure task subagent model defaults
2026-05-26 10:58:57 +02:00
marius-kilocode 48af33f940 fix(vscode): explain disabled speech input requirement 2026-05-26 10:56:15 +02:00
Marius 9de2edcdae Merge pull request #10486 from Kilo-Org/arrow-abstract
fix: stabilize streamed markdown code blocks
2026-05-26 10:54:12 +02:00
Marius e5a918eec1 Merge pull request #10483 from Kilo-Org/rift-rambutan
fix(vscode): hide sub-agent sessions from recents
2026-05-26 10:52:31 +02:00
Marius 83c486f840 Merge pull request #10439 from Kilo-Org/coffee-viscountess
Remove duplicate busy badge in Agent Manager tab search
2026-05-26 10:51:36 +02:00
marius-kilocode a416b40273 Merge remote-tracking branch 'origin/main' into fix-subagent-error-recovery
# Conflicts:
#	packages/opencode/src/tool/task.ts
#	packages/opencode/test/tool/task.test.ts
2026-05-26 10:42:07 +02:00
marius-kilocode 24d8311ab4 fix(ui): release interrupted markdown highlight jobs 2026-05-26 10:33:58 +02:00
marius-kilocode 6b96c987e7 Merge remote-tracking branch 'origin/main' into arrow-abstract 2026-05-26 10:31:56 +02:00
Marius 2a0c9c83b1 Merge pull request #10542 from Kilo-Org/docs/kilo-pi-provider
docs(kilo-docs): document Pi Gateway integration
2026-05-26 10:26:44 +02:00
Mark IJbema 6fb50a8942 fix(vscode): infer autocomplete provider from direct models 2026-05-26 10:25:36 +02:00
Mark IJbema e5b2bb8628 fix(gateway): preserve FIM gateway model passthrough 2026-05-26 10:22:16 +02:00
Mark IJbema 19719ba491 fix(gateway): use env keys for direct FIM providers 2026-05-26 10:20:55 +02:00
Mark IJbema cef6164c30 fix(vscode): use autocomplete provider for chat completions 2026-05-26 10:14:36 +02:00
Mark IJbema cc50d769b5 fix(kilo-docs): exclude FIM API endpoints from link check 2026-05-26 09:52:57 +02:00
Mark IJbema 08124be60b Merge remote-tracking branch 'origin/main' into mark/direct-autocomplete-fim-providers
# Conflicts:
#	packages/kilo-gateway/src/server/routes.ts
#	packages/sdk/js/src/v2/gen/sdk.gen.ts
#	packages/sdk/js/src/v2/gen/types.gen.ts
2026-05-26 09:43:57 +02:00
kilo-maintainer[bot] 20675fdbeb release: v7.3.10 2026-05-26 07:28:31 +00:00
Mark IJbema bfda8fecfd fix(vscode): import browser-safe autocomplete catalog 2026-05-26 09:21:13 +02:00
Mark IJbema 4cd463d619 refactor(gateway): split autocomplete provider and model 2026-05-26 09:15:42 +02:00
kirillk 6fbe070081 fix(jetbrains): simplify migration progress rows 2026-05-25 22:50:38 -04:00
kirillk 744b677899 fix(jetbrains): default CLI permissions to ask 2026-05-25 17:53:38 -04:00
kirillk 367d4f9cce fix(jetbrains): refine question panel layout 2026-05-25 17:47:31 -04:00
kirillk 351291d259 feat(jetbrains): render todo checklists 2026-05-25 17:40:28 -04:00
kirillk baa775b111 fix(jetbrains): show retry status in loading panel 2026-05-25 17:22:17 -04:00
Catriel Müller 30dc7fdde7 Merge pull request #10302 from IamCoder18/fix/tui-export-all-messages
fix(cli): export all messages from TUI instead of truncated store
2026-05-25 17:41:25 -03:00
kirillk 254d4e1519 fix(jetbrains): refresh migration modal layout 2026-05-25 15:30:47 -04:00
kirillk d9d406c1b1 fix(jetbrains): silently skip duplicate migrated sessions 2026-05-25 15:26:25 -04:00
kirillk 4a6ddb5d3a fix(jetbrains): finish legacy migration progress 2026-05-25 15:10:55 -04:00
kirillk dfd4f22a03 Merge remote-tracking branch 'origin/main' into quaint-airbus 2026-05-25 15:01:37 -04:00
kirillk 435232d5ba fix(jetbrains): open completed plan links 2026-05-25 15:00:52 -04:00
kirillk b37e3fd2a1 fix(jetbrains): refine migration wizard layout 2026-05-25 14:42:46 -04:00
kirillk a9b90cae3a fix(jetbrains): recover plan follow-up prefs from messages 2026-05-25 14:14:01 -04:00
kirillk d4b9f95381 fix(jetbrains): add persistent stack fillers 2026-05-25 13:50:01 -04:00
Kirill Kalishev e444705a61 Merge pull request #10539 from Kilo-Org/indigo-peak
ci(jetbrains): integrate JetBrains typecheck and tests into repo-wide checks
2026-05-25 13:30:00 -04:00
kirillk 0851f4024a fix(jetbrains): bound app load recovery 2026-05-25 13:17:07 -04:00
kirillk 9fa2198a0a ci(jetbrains): bound Gradle test execution 2026-05-25 13:11:41 -04:00
kirillk c0ede175f3 fix(jetbrains): make migration wizard modal 2026-05-25 12:04:01 -04:00
Mark IJbema e3ebbf7f35 Merge pull request #10560 from Kilo-Org/mark/source-links-no-count
chore: remove URL count from source-links.md to reduce merge conflicts
2026-05-25 17:40:59 +02:00
Johnny Eric Amancio 53a614554c docs: Improve documentation and pr template to request testing evidence (#10514)
* docs: Improve documentation and pr template to request testing evidence

* Apply suggestion from @markijbema

Co-authored-by: Mark IJbema <mark@kilocode.ai>

* docs: Remove command evidence section

---------

Co-authored-by: Mark IJbema <mark@kilocode.ai>
2026-05-25 15:39:06 +00:00
Mark IJbema afde386730 fix(gateway): preserve legacy autocomplete model ids 2026-05-25 17:35:15 +02:00
kirillk 936bb25f2a test(cli): annotate Windows skip call sites 2026-05-25 11:30:54 -04:00
kirillk 4c90e6f03b test(cli): skip Windows-incompatible opencode tests 2026-05-25 11:28:07 -04:00
Mark IJbema 25e89db233 refactor(gateway): own autocomplete model catalog 2026-05-25 17:16:00 +02:00
Mark IJbema 2bf49bddb6 refactor(gateway): extract FIM routing 2026-05-25 17:13:01 +02:00
Mark IJbema d635a15809 test(vscode): update autocomplete selector expectations 2026-05-25 17:03:35 +02:00
Mark IJbema c09c5c4639 refactor(vscode): route direct FIM through backend 2026-05-25 16:47:14 +02:00
kiloconnect[bot] 3157d1526c chore: remove URL count from source-links.md to reduce merge conflicts 2026-05-25 14:42:27 +00:00
Mark IJbema 900b1fcc46 docs(vscode): clarify autocomplete FIM changeset 2026-05-25 16:40:30 +02:00
Mark IJbema 33eb706c58 fix(vscode): support direct autocomplete FIM providers 2026-05-25 16:38:29 +02:00
kirillk e627d581c1 ci(jetbrains): warm up Gradle wrapper before turbo test:ci on Linux
On a fresh CI runner, multiple Turbo tasks starting in parallel can race
to extract the Gradle wrapper zip, producing ClosedFileSystemException.
Run ./gradlew --version before turbo test:ci to ensure the wrapper is
fully extracted before any parallel task touches it.
2026-05-25 09:31:13 -04:00
Kirill Kalishev 25f4172eb5 Merge branch 'main' into indigo-peak 2026-05-25 09:16:49 -04:00
Aarav d6dabdff62 Merge branch 'main' into fix/tui-export-all-messages 2026-05-25 07:09:05 -06:00
Johnny Eric Amancio 1bed976e8d docs: Update dev setup instructions (#10508) 2026-05-25 14:16:17 +02:00
Johnny Eric Amancio c944aacf95 fix: Fix external skills compatibility conditions (#10509) 2026-05-25 14:16:01 +02:00
kilo-maintainer[bot] 0da40bad26 release: v7.3.9 2026-05-25 12:14:16 +00:00
Mark IJbema cd915e8337 Merge pull request #10556 from Kilo-Org/revert-10516-review/opencode-v1.14.41-review-notes
Revert "review: OpenCode v1.14.41 upstream merge review (PR #10507)"
2026-05-25 10:54:09 +02:00
Mark IJbema cb0e3a943d Merge pull request #10392 from Kilo-Org/mark/add-upstream-merge-review-command
docs: add upstream merge review command
2026-05-25 10:49:07 +02:00
Mark IJbema 55ede19e0d Revert "review: OpenCode v1.14.41 upstream merge review (PR #10507)" 2026-05-25 10:38:05 +02:00
Mark IJbema 6234e9867e Merge pull request #10516 from Kilo-Org/review/opencode-v1.14.41-review-notes
review: OpenCode v1.14.41 upstream merge review (PR #10507)
2026-05-25 10:35:34 +02:00
Marian Alexandru Alecu 7569511312 Merge pull request #9951 from Kilo-Org/local-review-base-picker
feat(cli): ask for local-review base
2026-05-25 11:32:50 +03:00
Alex Alecu 9dbe1bb682 chore(cli): merge local-review changesets 2026-05-25 11:13:15 +03:00
Mark IJbema 25c966eddb Merge branch 'main' into indigo-peak 2026-05-25 10:09:31 +02:00
Marian Alexandru Alecu 0ef52d5d5a Merge branch 'main' into local-review-base-picker 2026-05-25 11:05:47 +03:00
kirillk c81397044c fix(jetbrains): hide single question progress 2026-05-24 21:43:06 -04:00
kirillk 7de669ee4b fix(jetbrains): render plan ready as transcript text 2026-05-24 21:34:14 -04:00
kirillk e4b610a4fc feat(jetbrains): add stack layout helper 2026-05-24 20:54:46 -04:00
kirillk 6e633692a2 feat(jetbrains): support plan follow-up implementation 2026-05-24 18:31:41 -04:00
Joshua Lambert 6b64a9d17d Merge pull request #10500 from Kilo-Org/rambunctious-chicory
feat(cli): add xAI Grok OAuth
2026-05-24 16:14:02 -04:00
Joshua Lambert ea1479ccb0 Merge branch 'main' into rambunctious-chicory 2026-05-24 15:55:34 -04:00
Josh Lambert 7335d8c0fd fix(kilo-docs): configure xAI endpoint link exclusions 2026-05-24 15:49:23 -04:00
Josh Lambert a4f6ef899a fix(cli): exclude xAI endpoints from link checking 2026-05-24 15:42:16 -04:00
kirillk 632893a958 feat(jetbrains): gate legacy migration from backend 2026-05-24 14:50:59 -04:00
kirillk db963bb57e Merge remote-tracking branch 'origin/main' into prairie-crocus
# Conflicts:
#	packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt
2026-05-24 13:33:21 -04:00
kirillk cf38cfb01e feat(jetbrains): add legacy migration wizard UI
Add the JetBrains frontend migration wizard for the legacy migration core. The wizard renders as a MODAL_LAYER blocking overlay inside every visible SessionUi and is driven by a shared KiloMigrationService app service.

- Shared: MigrationDto.kt with full DTO set, KiloMigrationRpcApi with status/detect/migrate/skip/finalize/cleanup
- Backend: KiloBackendLegacyMigrationStoreService (PropertiesComponent status persistence), MigrationRpcMapper (pure bidirectional mapper), KiloMigrationRpcApiImpl (channelFlow streaming off Dispatchers.IO), KiloMigrationRpcApiProvider; extend KiloBackendMigrationManager with status/mark
- Frontend service: KiloMigrationService with idempotent check, in-flight guard, progress collection from streamed events, skip/finish/force re-import; MigrationSelectionBuilder mirrors VS Code preselection rules
- SessionRootPanel: new Blocker class at MODAL_LAYER with setBlocker/setBlocked helpers; existing scroll overlay at PALETTE_LAYER unchanged
- Swing wizard: MigrationWizardPanel (What's New + Migrate screens, retained component tree), MigrationItemRow, MigrationStatusIcon, SessionMigrationProgressPanel, SessionMigrationSummaryPanel, MigrationOverlayPanel
- SessionUi: wired to MigrationUiController via coroutine state collection on Dispatchers.Main; check() called from addNotify() and AppChanged READY
- Tests: SessionRootPanelTest, SessionUiLayoutTest, KiloMigrationServiceTest, SessionUiMigrationTest, FakeMigrationRpcApi, FakeMigrationUiController
2026-05-24 13:24:29 -04:00
Alex Alecu 57c291f68c fix(cli): keep workspace patch test scoped 2026-05-23 22:43:00 +03:00
marius-kilocode 19b0bdea19 docs(kilo-docs): keep Pi integration guidance concise 2026-05-23 13:33:57 +02:00
marius-kilocode fcc5aaab3a docs(kilo-docs): document Pi Gateway integration 2026-05-23 13:20:28 +02:00
Alex Alecu 6d8c9b1d4e fix(cli): make untracked patches portable on Windows 2026-05-23 11:00:22 +03:00
Alex Alecu 51ee32f286 fix(cli): stabilize workspace patch test on Windows 2026-05-23 10:36:10 +03:00
Marian Alexandru Alecu e6290713f2 Merge branch 'main' into local-review-base-picker 2026-05-23 10:08:11 +03:00
Aarav 01040890d5 Merge branch 'main' into fix/tui-export-all-messages 2026-05-22 17:24:27 -06:00
Aarav 0c71f69cf7 Merge branch 'main' into fix/agent-manager-model-sync 2026-05-22 17:24:21 -06:00
Aarav Sharma a8f3a69444 fix(agent-manager): compare and reset worktree model against configModel
Use session.configModel() instead of session.selected() in NewWorktreeDialog
so the overridden comparison (line 124) and the reset handler (line 444) both
use the config-based model. This prevents stale overridden states from
session.selected() from leaking into the worktree dialog's override detection
and reset behaviour.

Partially fixes #9349.
2026-05-22 17:11:50 -06:00
Aarav Sharma 27a4137496 fix(cli): prevent data-loss in TUI transcript copy/export on SDK error
Both the copy and export handlers now pass `{ throwOnError: true }` to
`sdk.client.session.messages()` and drop the `?? []` fallback, so a failed
fetch (404/400/network) throws into the existing catch block and surfaces an
error toast instead of silently writing/returning an empty transcript.
2026-05-22 16:43:58 -06:00
kirillk 45362c0393 ci(jetbrains): integrate JetBrains typecheck and tests into repo-wide checks
- Add test:ci root script as alias for bun turbo test:ci
- Wire typecheck as a dependency of kilo-jetbrains#test:ci in turbo.json so compile runs before tests
- Exit with Gradle's code on Linux/macOS so failures block the repo-wide turbo test:ci run; Windows stays non-blocking due to inherent IntelliJ test flakiness there
2026-05-22 17:27:36 -04:00
opencode ce6c114d99 release: v1.15.9 2026-05-22 21:18:37 +00:00
Alex Alecu d41324c084 Merge remote-tracking branch 'origin/main' into local-review-base-picker
# Conflicts:
#	packages/opencode/test/acp/agent-interface.test.ts
2026-05-22 22:44:11 +03:00
Kirill Kalishev 59bf44712c Merge pull request #10398 from Kilo-Org/scythe-dust
feat(jetbrains): polish session permission prompts
2026-05-22 15:32:00 -04:00
opencode-agent[bot] 1a329e4e67 chore: generate 2026-05-22 19:31:59 +00:00
James Long bfb2d8dc76 fix(tui): when diff viewer closes always return to last route (#28903) 2026-05-22 15:30:31 -04:00
Alex Alecu f19d8ef6e5 fix(cli): harden local review suggestion handling 2026-05-22 22:14:53 +03:00
kirillk 8bbadd5f0e test(jetbrains): stabilize question view assertion 2026-05-22 15:11:02 -04:00
kirillk 2e753bb039 fix(jetbrains): address session review feedback 2026-05-22 14:48:12 -04:00
James Long 8f7a6c4a00 fix(tui): refine diff view keyboard shortcuts (#28896) 2026-05-22 14:40:14 -04:00
kirillk c9126435ff fix: remove jetbrains typecheck dependency from test:ci in turbo.json 2026-05-22 14:26:43 -04:00
kirillk c1c6971687 Merge remote-tracking branch 'origin/main' into scythe-dust 2026-05-22 14:26:10 -04:00
Kirill Kalishev 91bd6f16ce Merge pull request #10461 from Kilo-Org/conscious-jackrabbit
feat(jetbrains): native profile settings, account overlay, and paid-model login
2026-05-22 14:25:15 -04:00
opencode-agent[bot] 1857c73565 chore: generate 2026-05-22 18:25:01 +00:00
kirillk 988161001a chore: remove plan files from PR 2026-05-22 14:24:18 -04:00
Shoubhit Dash 5f42351159 fix(provider): type default model failures (#28881) 2026-05-22 23:53:23 +05:30
Shoubhit Dash 968aaa3cfe fix(pty): expose missing session errors (#28884) 2026-05-22 23:53:03 +05:30
opencode-agent[bot] b8266e5819 chore: generate 2026-05-22 18:22:48 +00:00
James Long ba746e36d8 fix(tui): empty states, context, and minor improvements to diff viewer (#28878) 2026-05-22 14:21:22 -04:00
Catriel Müller b52a2115d3 Merge pull request #10513 from Kilo-Org/dynamic-department
Add background process support
2026-05-22 15:17:54 -03:00
kirillk 5be82549ab fix(jetbrains): pad permission target 2026-05-22 14:09:13 -04:00
kirillk 82b1e52ef9 fix(jetbrains): remove prompt auto-approve 2026-05-22 14:03:32 -04:00
kirillk c4d85ca5ff refactor(jetbrains): move Permission views to views.permission, Align to ui.layout 2026-05-22 13:53:43 -04:00
opencode-agent[bot] d5068ba28e chore: generate 2026-05-22 17:50:23 +00:00
Shoubhit Dash 7265c46af6 fix(skill): type expected skill failures (#28885) 2026-05-22 23:18:52 +05:30
Shoubhit Dash 536ee857c6 fix(installation): type upgrade failures (#28883) 2026-05-22 23:18:17 +05:30
kirillk 20214bbfe9 refactor(jetbrains): drop Align shorthand helpers, keep only align(h, v) 2026-05-22 13:47:24 -04:00
opencode-agent[bot] dda69d77e8 chore: generate 2026-05-22 17:47:18 +00:00
Shoubhit Dash 0e14404e5f fix(sync): map workspace warp not found (#28882) 2026-05-22 23:15:53 +05:30
opencode-agent[bot] 05f51bfe45 chore: generate 2026-05-22 17:44:34 +00:00
Shoubhit Dash aee552c043 fix(repository): type expected reference failures (#28880) 2026-05-22 23:13:14 +05:30
kirillk dcfa1029c3 feat(jetbrains): add Align wrapper with TRACK mode, replace CenterShrinkPanel 2026-05-22 13:37:55 -04:00
kirillk fa4bc15117 fix(jetbrains): compact permission rows 2026-05-22 13:05:48 -04:00
opencode-agent[bot] 4f6eaf859b chore: generate 2026-05-22 16:39:58 +00:00
Alex Alecu df786a7264 fix(cli): type ACP runtime methods 2026-05-22 19:39:23 +03:00
Kit Langton d0cb58782f fix(llm): surface code, type, and nested fields on provider stream errors (#28757) 2026-05-22 12:37:55 -04:00
opencode-agent[bot] a3430db73a chore: generate 2026-05-22 16:37:46 +00:00
Shoubhit Dash 3e1972fd92 fix(httpapi): return project not found errors (#28856) 2026-05-22 22:06:20 +05:30
Alex Alecu 80f3d65e33 fix(cli): accept free-form local-review input 2026-05-22 19:35:37 +03:00
opencode-agent[bot] b368e5adbe chore: generate 2026-05-22 16:31:30 +00:00
James Long 69e4f52272 fix(tui): interaction improvements to diff viewer (#28851) 2026-05-22 12:30:10 -04:00
opencode-agent[bot] 8a55920531 chore: generate 2026-05-22 16:25:15 +00:00
Kit Langton 9db90a0b76 fix(llm): emit structured image blocks for tool-result media in Anthropic Messages (#28755) 2026-05-22 12:23:41 -04:00
Kit Langton 700d012025 fix(llm): emit structured input_image content for tool-result media in OpenAI Responses (#28754) 2026-05-22 12:23:23 -04:00
Catriel Müller b96bf3da31 fix: tests / gradle 2026-05-22 13:19:07 -03:00
Shoubhit Dash 59e486a917 fix(tui): restore question prompt key handling (#28835) 2026-05-22 21:47:13 +05:30
Marian Alexandru Alecu 538960f420 Merge branch 'main' into local-review-base-picker 2026-05-22 19:16:55 +03:00
Aiden Cline 8596967415 ci: "fix: exempt team members from compliance cleanup" (#28865) 2026-05-22 11:14:52 -05:00
opencode-agent[bot] 00038027c8 chore: generate 2026-05-22 15:31:46 +00:00
Shoubhit Dash 5cf597d583 fix(httpapi): return pty error bodies (#28838) 2026-05-22 21:00:20 +05:30
Catriel Müller 72854fab76 Merge pull request #10510 from Kilo-Org/dust-cork
fix(cli): reset terminal modes on TUI exit
2026-05-22 11:46:09 -03:00
Imanol Maiztegui 810905d99e Merge pull request #10517 from Kilo-Org/imanol/post-merge-fixes
chore: address post 1.14.41 merge review comments
2026-05-22 16:20:05 +02:00
Alex Alecu ab923c8ab5 fix(cli): focus local reviews on high-signal issues 2026-05-22 17:15:36 +03:00
Catriel Müller 697fa4e80f fix: format 2026-05-22 11:05:40 -03:00
Imanol Maiztegui fdc46ddfea chore: clean up post-merge artifacts and rebrand references
Remove accidentally committed Gradle build cache files from the
JetBrains package, add the .gradle directory to .gitignore, and
update user-facing strings from "opencode.json" to "kilo.json".
2026-05-22 15:58:59 +02:00
Marian Alexandru Alecu ccfec216a0 Merge pull request #10502 from Kilo-Org/track-accepted-suggestion-telemetry
feat: track accepted review suggestions
2026-05-22 16:56:27 +03:00
kilo-maintainer[bot] 3eaaa26b34 chore: update nix node_modules hashes 2026-05-22 13:53:29 +00:00
opencode-agent[bot] d92b8d8009 chore: generate 2026-05-22 13:52:40 +00:00
Catriel Müller 5696a1937e fix: test 2026-05-22 10:52:14 -03:00
Dax Raad 854c535536 fix(tui): enable diff viewer by default 2026-05-22 09:50:30 -04:00
Catriel Müller e0ee13290f fix: merge 2026-05-22 10:44:54 -03:00
Catriel Müller 2062335803 fix: fix test 2026-05-22 10:42:20 -03:00
Catriel Müller 9c003c4685 fix: fix vscode font size 2026-05-22 10:42:20 -03:00
Catriel Müller 8f6a7f75d1 Merge branch 'main' into dynamic-department 2026-05-22 10:42:00 -03:00
kilo-maintainer[bot] 1ada99588e release: v7.3.8 2026-05-22 13:41:52 +00:00
Catriel Müller a1ff9105a3 Merge branch 'main' into dynamic-department 2026-05-22 10:41:45 -03:00
kiloconnect[bot] 66326e10fe docs: add OpenCode v1.14.41 upstream merge review reports (PR #10507) 2026-05-22 13:40:26 +00:00
Imanol Maiztegui 8ee9512ac3 Merge pull request #10507 from Kilo-Org/imanolmaiztegui/kilo-opencode-v1.14.41
OpenCode v1.14.41
2026-05-22 15:31:34 +02:00
OpeOginni 3cf955e9ad fix(desktop): correct user code extraction when URL contains colons (#28837) 2026-05-22 21:16:33 +08:00
github-actions[bot] 33221b1711 chore: update kilo-vscode visual regression baselines 2026-05-22 13:02:41 +00:00
Catriel Müller 45f653f43d feat: background process on vscode 2026-05-22 09:50:50 -03:00
opencode-agent[bot] 63f3e84792 chore: generate 2026-05-22 12:17:49 +00:00
Shoubhit Dash 0beb4de3e8 fix(httpapi): return mcp server not found errors (#28817) 2026-05-22 17:46:30 +05:30
Catriel Müller 3e8f6d7bc7 fix: fix cleanup mouse events 2026-05-22 08:59:50 -03:00
Shoubhit Dash 51da3483a9 feat(tui): copy worktree path from palette (#28823) 2026-05-22 17:28:51 +05:30
opencode-agent[bot] 060fbc9ce7 chore: generate 2026-05-22 11:42:14 +00:00
Sebin 7a769dab3a fix(mcp): include scope in clientMetadata and add callbackPort option (#28810)
Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
2026-05-22 17:10:38 +05:30
Catriel Müller 656572c2cf fix: fix kitty proto on old terminals 2026-05-22 08:18:48 -03:00
Imanol Maiztegui 4a28a5f88f Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.14.41 2026-05-22 13:15:04 +02:00
Imanol Maiztegui d72406ce15 chore: remove generated JetBrains artifacts 2026-05-22 13:13:17 +02:00
Imanol Maiztegui bc99be418d fix(opencode): use named import for zod module
Switch from default to named import to align with the project's
import style and avoid potential issues with module resolution.
2026-05-22 13:03:31 +02:00
opencode-agent[bot] 2663ecd39d chore: generate 2026-05-22 11:00:29 +00:00
Shoubhit Dash 4ce247eaba fix(httpapi): return request not found errors (#28693) 2026-05-22 16:29:12 +05:30
Alex Alecu c6f3b9cba8 docs(cli): link base branch order 2026-05-22 13:50:43 +03:00
Imanol Maiztegui f915fdc058 test(ui): add file:// URL parsing tests and exclude jetbrains from typecheck
Expand extractFilePathFromHref test coverage to handle file:// URLs on
Unix, Windows drives, and encoded characters. Previously file:// URLs
were expected to return undefined; now they resolve to local paths.
Exclude @kilocode/kilo-jetbrains from turbo typecheck filter to avoid
build errors in that package.
2026-05-22 12:49:26 +02:00
Alex Alecu 2030323c64 feat: track shown review suggestions 2026-05-22 13:36:19 +03:00
Imanol Maiztegui 913d6cb07b fix(opencode): correct provider ID references and update TaskPromptOps cancel signature
Use providerID variable instead of provider.id in dialog-provider to
fix incorrect property access after destructuring. Update cancel method
in TaskPromptOps stubs to return Effect.void matching the expected
interface. Remove obsolete workspace-restore test file and add missing
fixture import.
2026-05-22 12:27:18 +02:00
Imanol Maiztegui 7b94fbb95b style: format code with prettier across multiple packages
Reformat multiline arrays, JSX props, CSS transitions, and test
indentation to comply with the project's prettier configuration.
Also reorder auto-generated SDK type imports alphabetically and
relocate type definitions to match updated openapi.json output.
2026-05-22 11:58:24 +02:00
Alex Alecu 0d12909a9e refactor(cli): make local-review commands regular 2026-05-22 12:36:24 +03:00
github-actions[bot] d218d67a70 chore: update kilo-vscode visual regression baselines 2026-05-22 09:19:19 +00:00
Josh Holmer 19f166dc71 feat(vscode): implement agent model and variant override dropdowns in VSCode settings 2026-05-22 09:12:39 +00:00
Alex Alecu c791ccf440 feat: track accepted review suggestions 2026-05-22 11:08:22 +03:00
Imanol Maiztegui b6523c0d91 resolve merge conflicts 2026-05-22 09:01:40 +02:00
Brendan Allan 76d9c2cd76 fix(app): debounce vcs refresh in session page (#28784) 2026-05-22 06:47:05 +00:00
Brendan Allan f6101aef8a refactor(app): consolidate sdk and sync contexts (#28782) 2026-05-22 06:40:56 +00:00
Brendan Allan f3874ec2f9 refactor(app): move tab navigation to titlebar and conditionally register project shortcuts (#28773) 2026-05-22 13:54:25 +08:00
Brendan Allan 6466fcfdea refactor(app): simplify session routing and tab close handling (#28767) 2026-05-22 12:48:09 +08:00
Josh Lambert 6a41985d5a fix(cli): brand xAI OAuth as Kilocode 2026-05-22 00:27:53 -04:00
Brendan Allan 1f0390cfbb app: wrap provider data in Map to avoid store (#28765) 2026-05-22 12:23:16 +08:00
Joshua Lambert 3d64f562be Update packages/opencode/src/plugin/xai.ts
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-05-22 00:15:51 -04:00
Joshua Lambert b3697f1d5d Update packages/opencode/src/plugin/xai.ts
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-05-22 00:15:45 -04:00
Joshua Lambert cb4088b2ab Update packages/opencode/src/plugin/xai.ts
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-05-22 00:15:39 -04:00
opencode-agent[bot] 9f06accfb4 chore: generate 2026-05-22 04:04:41 +00:00
JPFrancoia 7a9724496b fix(vertex): Vertex (Antropic) provider: use .rep.googleapis.com for continental multi-region endpoints (us, eu) (#28347)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-05-21 23:03:24 -05:00
Josh Lambert 4ef371768a feat(cli): add xAI Grok OAuth 2026-05-22 00:03:08 -04:00
Aiden Cline 3e931152d1 tweak(tui): remove italics from thinking labels (#28737) 2026-05-21 22:22:51 -05:00
Frank ad1d14775d sync 2026-05-21 19:11:33 -04:00
Frank fcf4dff2ce sync 2026-05-21 19:09:26 -04:00
Frank 56714327f4 sync 2026-05-21 19:02:24 -04:00
Frank 21f338652d sync 2026-05-21 18:49:52 -04:00
Frank 8115f0c661 sync 2026-05-21 18:43:48 -04:00
opencode-agent[bot] 87d4cb07b0 chore: generate 2026-05-21 22:36:00 +00:00
James Long ee008923f3 feat(tui): design revamp of diff viewer (#28728) 2026-05-21 18:34:32 -04:00
Frank bbbef0da1c sync 2026-05-21 18:27:45 -04:00
Catriel Müller c076058bfc fix: fix logo on old windows terminal 2026-05-21 18:26:01 -03:00
Aiden Cline 1268f8657e fix: exempt team members from compliance cleanup 2026-05-21 16:15:45 -05:00
Frank 39e7ff932d sync 2026-05-21 17:03:54 -04:00
Kit Langton e92c4fb460 chore: drop dead imports across opencode/core/llm (#28720) 2026-05-21 17:03:12 -04:00
OpeOginni 4b496066bf fix(opencode): update spinner color logic (#28032)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-05-21 16:02:08 -05:00
Frank e63dcd30f3 sync 2026-05-21 16:55:12 -04:00
Kit Langton 2935d1819e refactor(server): rename Fence.waitEffect to Fence.wait (#28717) 2026-05-21 20:48:15 +00:00
Kit Langton 86907e2e4a refactor(server): drop dead Fence.wait + redundant casts (#28710) 2026-05-21 16:35:44 -04:00
Frank 31d2d38d7a sync 2026-05-21 16:20:33 -04:00
Frank d21477d55a sync 2026-05-21 16:11:41 -04:00
Frank 80fa6e6c49 sync 2026-05-21 16:02:56 -04:00
Kit Langton b99787e95b refactor(opencode): fetch remote config with http client (#28661) 2026-05-21 15:53:44 -04:00
Frank 562d299a41 sync 2026-05-21 15:46:54 -04:00
kirillk 100bcc29b4 feat(jetbrains): add non-UI legacy migration core
Port VS Code v5 migration logic to JetBrains backend: provider mapping,
MCP/custom-mode/settings conversion, session parser with deterministic SHA-1
IDs, HTTP backend adapter, and LegacyMigrationEngine orchestration. No UI,
no EDT dependencies — callers own threading and sequencing. 72 tests passing.
2026-05-21 15:46:15 -04:00
kirillk 047e0c9172 test(jetbrains): cover custom question edge cases 2026-05-21 15:38:53 -04:00
kirillk 5291835139 fix(jetbrains): support custom question responses 2026-05-21 15:38:53 -04:00
kirillk cf1ffc00f0 refactor(jetbrains): centralize question card setup 2026-05-21 15:38:53 -04:00
kirillk d4757e8f00 refactor(jetbrains): rename BaseSessionQuestionPanel to BaseQuestionView, drop SessionQuestionButton 2026-05-21 15:38:52 -04:00
kirillk 930f2cf9bc refactor(jetbrains): move PartView, GenericView, BaseSessionQuestionPanel, SessionQuestionButton to views.base 2026-05-21 15:38:52 -04:00
opencode-agent[bot] 9ecb04e35b chore: generate 2026-05-21 19:19:25 +00:00
Kit Langton 231689c767 test(config): port env-var config tests to it.instance (#28706) 2026-05-21 19:17:29 +00:00
Frank d70942079a sync 2026-05-21 15:06:10 -04:00
Frank 0cc55c11ac sync 2026-05-21 14:53:56 -04:00
Kit Langton 40da77e77c test(opencode): cover native reasoning continuation (#28683) 2026-05-21 14:50:37 -04:00
Frank 0d2de7db65 sync 2026-05-21 14:25:43 -04:00
Frank a568f616c9 sync 2026-05-21 13:55:31 -04:00
Catriel Müller f2053dc8be refactor: address the comments 2026-05-21 14:38:18 -03:00
opencode-agent[bot] e4957a78ea chore: update nix node_modules hashes 2026-05-21 17:27:59 +00:00
opencode-agent[bot] 7e35cff4f5 chore: generate 2026-05-21 17:25:26 +00:00
Shoubhit Dash 82b796ce31 fix(httpapi): return session busy error bodies (#28684) 2026-05-21 22:53:49 +05:30
Vladimir Glafirov 6c24062d2f chore(deps): bump gitlab-ai-provider to 6.7.0 (#28218) 2026-05-21 12:12:39 -05:00
Kirill Kalishev 9014aa3bb0 Merge branch 'main' into scythe-dust 2026-05-21 13:07:36 -04:00
Catriel Müller 1f24a39ae9 refactor: address the comments 2026-05-21 14:04:39 -03:00
Catriel Müller 06a6bf715d refactor: improve implementation 2026-05-21 13:58:30 -03:00
kirillk 525bfc9b32 fix(jetbrains): collapse expandable session views 2026-05-21 12:54:18 -04:00
opencode-agent[bot] 3ca09ee3ef chore: generate 2026-05-21 16:50:49 +00:00
Kit Langton 003f1ce0f4 test(control-plane): finish porting workspace.test.ts to it.instance (#28665) 2026-05-21 12:48:59 -04:00
Kit Langton 61390dbb49 fix(llm): preserve native continuation metadata (#28678) 2026-05-21 11:57:45 -04:00
opencode a58c3c53a9 sync release versions for v1.15.7 2026-05-21 15:51:26 +00:00
Victor Navarro 75ce8feff5 chore: upgrade sst version (#26224) 2026-05-21 17:19:15 +02:00
kirillk 46b0ea1a17 fix(jetbrains): tune question panel typography 2026-05-21 10:35:23 -04:00
kirillk 20bae4f3d9 fix(jetbrains): align session question views 2026-05-21 10:26:23 -04:00
Kirill Kalishev 6e84c83000 Merge branch 'main' into conscious-jackrabbit 2026-05-21 10:17:00 -04:00
kirillk 835781830e refactor(jetbrains): align permission question cards 2026-05-21 09:33:59 -04:00
Imanol Maiztegui 10a69369ab merge: record upstream v1.14.41 2026-05-21 14:48:37 +02:00
Imanol Maiztegui f7816a9eeb refactor: kilo compat for v1.14.41 2026-05-21 14:48:36 +02:00
marius-kilocode 2d6fa73993 style(vscode): format streaming markdown regression 2026-05-21 14:31:23 +02:00
marius-kilocode 0ec80b0c6f fix: stabilize streamed markdown code blocks 2026-05-21 14:27:34 +02:00
marius-kilocode 2caa5489f2 chore(cli): annotate task failure test import 2026-05-21 14:15:50 +02:00
marius-kilocode 7025c779f7 fix(cli): surface failed subagent task errors 2026-05-21 14:15:04 +02:00
Catriel Müller cd009c3d8f feat: background process 2026-05-21 09:13:55 -03:00
marius-kilocode 637527d80e fix(vscode): hide sub-agent sessions from recents 2026-05-21 13:51:43 +02:00
Alex Alecu abf1c88b25 fix(cli): preserve local-review command context 2026-05-21 14:42:59 +03:00
opencode-agent[bot] 6bee6ee755 chore: generate 2026-05-21 11:01:36 +00:00
Shoubhit Dash 9739d75892 fix(httpapi): handle corrupt v2 session messages (#28633) 2026-05-21 16:30:04 +05:30
opencode-agent[bot] 4a976482b1 chore: generate 2026-05-21 10:46:02 +00:00
Brendan Allan 2caac055ef feat(desktop): add pinch zoom setting (#28632) 2026-05-21 10:44:30 +00:00
Shoubhit Dash 2697cb8001 fix(httpapi): remove config error middleware special case (#28631) 2026-05-21 15:57:25 +05:30
opencode-agent[bot] dbd709376b chore: generate 2026-05-21 10:15:54 +00:00
Shoubhit Dash fc08292136 fix(httpapi): add unknown error references (#28629) 2026-05-21 15:44:35 +05:30
Jack ee594ba55b docs: sync TUI config translations and Zen pricing (#28620) 2026-05-21 18:03:22 +08:00
marius-kilocode 54f81b6d4c merge main into brazen-lingo 2026-05-21 11:46:20 +02:00
opencode-agent[bot] 516af86d53 chore: generate 2026-05-21 09:43:40 +00:00
Shoubhit Dash f5d20c580b fix(httpapi): expose unavailable v2 session mutations (#28624) 2026-05-21 15:12:13 +05:30
Brendan Allan 7d5e91b801 opencode: provide channel to web build (#28612) 2026-05-21 17:22:27 +08:00
Marian Alexandru Alecu e6c2b33cfb Merge branch 'main' into local-review-base-picker 2026-05-21 11:33:38 +03:00
Alex Alecu 1fa486a268 fix(cli): preserve local-review placeholder guidance 2026-05-21 11:21:24 +03:00
Alex Alecu a5f6eea0ec fix(cli): keep quoted review guidance as instructions 2026-05-21 11:19:34 +03:00
Alex Alecu 8a8c6cde54 fix(cli): reject invalid local-review bases 2026-05-21 11:18:51 +03:00
Marian Alexandru Alecu 3e918225ef Merge branch 'main' into local-review-base-picker 2026-05-21 11:05:25 +03:00
opencode-agent[bot] f70afbea34 chore: generate 2026-05-21 07:58:37 +00:00
Shoubhit Dash b275b12e90 fix(httpapi): expose v2 session not found (#28511) 2026-05-21 13:27:20 +05:30
Kagura 4d900b2f46 fix(ui): preserve target attribute in DOMPurify config for markdown links (#28598) 2026-05-21 14:52:03 +08:00
Brendan Allan b2661c4a03 app: more new designs (#28603) 2026-05-21 14:42:13 +08:00
Frank 6de584f25c zen: fix affiliated header 2026-05-21 02:36:11 -04:00
opencode-agent[bot] 8c72edb3ff chore: generate 2026-05-21 05:49:32 +00:00
Luke Parker b207e32249 feat(app): add desktop v2 home, session entry, and titlebar (#28442)
Co-authored-by: Brendan Allan <git@brendonovich.dev>
2026-05-21 05:48:13 +00:00
opencode-agent[bot] 6602341c0d chore: generate 2026-05-21 05:14:43 +00:00
Milosz Jankiewicz b32debb8a3 feat(opencode): add xAI Grok OAuth (SuperGrok) + device-code login (#28557)
Co-authored-by: Jaaneek <Jaaneek@users.noreply.github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-05-21 00:13:28 -05:00
opencode-agent[bot] 7ff392abe3 chore: update nix node_modules hashes 2026-05-21 05:08:00 +00:00
opencode-agent[bot] 7566cfe602 chore: generate 2026-05-21 04:56:41 +00:00
Luke Parker bea3ca5b05 feat(desktop): Add Export Logs (#26262) 2026-05-21 14:55:23 +10:00
cooper-oai c64ac905e1 fix(opencode): dedupe concurrent Codex OAuth refreshes (#28236)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-05-20 23:34:31 -05:00
opencode-agent[bot] 7a554441b4 chore: generate 2026-05-21 04:02:29 +00:00
Kit Langton 14366af069 test(session): port llm.test.ts to it.instance (#28578) 2026-05-21 04:01:13 +00:00
opencode-agent[bot] d9ed62e51c chore: generate 2026-05-21 03:37:50 +00:00
Kit Langton 39ea816a72 refactor(opencode): roll out serviceUse proxy across 14 services + tests (#28576) 2026-05-21 03:36:27 +00:00
Kit Langton 69eee26f30 refactor(permission): drop redundant inner decode in Permission.ask (#28575) 2026-05-21 03:34:46 +00:00
opencode-agent[bot] 8f3949d235 chore: generate 2026-05-21 03:30:58 +00:00
Kit Langton facd207396 fix(opencode): support native OpenAI OAuth fetch (#28571) 2026-05-20 23:29:25 -04:00
opencode-agent[bot] 2b28cc9024 chore: generate 2026-05-21 03:24:51 +00:00
Kit Langton d37f9e770b test(control-plane): port workspace.test.ts to it.instance (#28572) 2026-05-21 03:23:26 +00:00
Kit Langton 8fc02b0130 refactor(question): tool-arg errors at the boundary, drop redundant inner decode (#28570) 2026-05-21 03:06:22 +00:00
Kit Langton ddf18a7f9c test(server): port event SSE tests to it.instance + testEffectShared (#28569) 2026-05-21 02:55:54 +00:00
opencode-agent[bot] fccfef1aaf chore: generate 2026-05-21 02:44:38 +00:00
Kit Langton e0e8159965 test(opencode): port provider.test.ts to it.instance (#28565) 2026-05-21 02:43:14 +00:00
opencode-agent[bot] 9cd6e07a50 chore: generate 2026-05-21 02:32:58 +00:00
Kit Langton c05ce3b725 test(opencode): port amazon-bedrock.test.ts to it.instance (#28559) 2026-05-20 22:31:42 -04:00
Kit Langton 26008696e1 fix(question): surface schema failures as friendly tool errors (#28563) 2026-05-21 02:03:03 +00:00
opencode-agent[bot] 6e177ee84a chore: update nix node_modules hashes 2026-05-21 02:02:12 +00:00
opencode-agent[bot] 172fd971c5 chore: generate 2026-05-21 01:53:45 +00:00
Aiden Cline 8bfa188e07 fix(tui): use colon for collapsed thinking labels (#28562) 2026-05-20 20:52:28 -05:00
Kit Langton 5079fed63a test(opencode): remove redundant global event casts (#28564) 2026-05-20 21:48:55 -04:00
opencode-agent[bot] 4fae476873 chore: generate 2026-05-21 01:47:51 +00:00
Aiden Cline 4487fbf52f fix(provider): support PDF attachments for xAI/Grok (#28561) 2026-05-20 20:46:31 -05:00
Kit Langton fb9d69ef62 refactor(opencode): extract session LLM request prep (#28560) 2026-05-20 21:44:33 -04:00
Kit Langton ddd6eb4496 fix(tui): separate question checkmark labels (#28558) 2026-05-20 21:35:59 -04:00
opencode-agent[bot] 12bbe84360 chore: generate 2026-05-21 01:30:35 +00:00
Kit Langton 661df8fcf8 fix(opencode): register account events in EventV2 bridge (#28555) 2026-05-20 21:29:12 -04:00
Kit Langton 16fb6dac8d fix(llm): restore OpenAI reasoning streams (#28552) 2026-05-20 21:02:59 -04:00
opencode-agent[bot] 93131b6e4c chore: generate 2026-05-21 00:55:10 +00:00
Dax 8643c0721e Rename v2 auth service to account (#28260) 2026-05-21 00:53:27 +00:00
opencode-agent[bot] bd41dac88f chore: update nix node_modules hashes 2026-05-21 00:26:08 +00:00
Kit Langton 41f6daf96a Refactor LLM route-first provider API (#28523) 2026-05-20 20:15:52 -04:00
Kit Langton 5381795844 feat(effect-drizzle-sqlite): add vendored sqlite adapter (#28547) 2026-05-20 20:09:07 -04:00
kirillk 6afa906219 feat(jetbrains): bubble subagent permission requests into root session UI
Track child session IDs discovered from task tool part metadata and subscribe
to their permission events so subagent permission prompts surface in the root
session UI instead of hanging silently. Also makes runtime auto-approve
non-persistent (no longer writes PropertiesComponent).
2026-05-20 19:49:34 -04:00
Frank 7b9d7a7b7d sync 2026-05-20 19:45:59 -04:00
kirillk b2bfe7ae05 Merge remote-tracking branch 'origin/conscious-jackrabbit' into scythe-dust 2026-05-20 19:39:14 -04:00
Frank 7b0fd9fed2 zen: grok build 0.1 2026-05-20 19:38:37 -04:00
kirillk e8d6bcb492 refactor(jetbrains): centralize all CLI JSON parsing in KiloCliDataParser
Move parseProviders, parseCommands, and parsePathState out of
KiloBackendWorkspace and KiloBackendModelStateManager into
KiloCliDataParser so no caller directly navigates JSON.

parseCommands intentionally ignores the template field, fixing
JetBrains startup when lazy CLI command templates serialize as {}.

Reorganize KiloCliDataParserTest into three @Nested groups
(SseEvents, HttpResponses, RequestBuilders) and add unit coverage
for all three new parser methods.
2026-05-20 19:37:24 -04:00
kirillk 3922a93000 fix(jetbrains): stabilize backend run startup 2026-05-20 18:53:44 -04:00
kirillk da896a11b6 Merge remote-tracking branch 'origin/panoramic-existence' into conscious-jackrabbit 2026-05-20 18:38:18 -04:00
opencode-agent[bot] b4a01cc3cd chore: generate 2026-05-20 22:37:29 +00:00
James Long a6e1aa085f fix(tui): default new sessions always to local project (#28541) 2026-05-20 18:35:37 -04:00
kirillk a3d13ee72f fix(jetbrains): fix test failures after panoramic-existence merge
- retryPrompt() now uses msg.info.providerID/modelID instead of
  model.model so login-resume preserves the original message's model
- Add AccountOverlayChanged to expected events in HistoryLoadingTest,
  ListenerLifecycleTest, and WorkspaceWatchingTest (replay now always
  fires the initial acctState on addListener)
- Update SessionUiLayoutTest overlay tests to set a logged-in profile
  since the overlay is now hidden when not logged in
- Expose appRpc in SessionUiTestBase so subclasses can mutate app state
2026-05-20 18:18:54 -04:00
opencode 6a9cbe7de0 sync release versions for v1.15.6 2026-05-20 21:44:08 +00:00
kirillk 48b77db120 Merge remote-tracking branch 'origin/panoramic-existence' into conscious-jackrabbit 2026-05-20 17:27:52 -04:00
opencode-agent[bot] 0e17c4f299 chore: update nix node_modules hashes 2026-05-20 21:01:29 +00:00
opencode-agent[bot] 7c121d48b9 chore: generate 2026-05-20 20:56:18 +00:00
Aiden Cline f5a8202b41 fix(tui): simplify thinking toggle styling (#28487) 2026-05-20 15:54:29 -05:00
Kit Langton 43c24d8d0f fix(tui): gate Zed context on terminal env (#28517) 2026-05-20 16:52:33 -04:00
opencode-agent[bot] 09603ed52f chore: generate 2026-05-20 20:50:28 +00:00
Kit Langton 38e3b4087b test(server): port event-diagnostics to Effect runner (#28520) 2026-05-20 16:48:41 -04:00
opencode-agent[bot] eb52362e96 chore: generate 2026-05-20 20:45:33 +00:00
Sebastian 2969a513ce upgrade opentui to 0.2.15 (#28510) 2026-05-20 22:44:09 +02:00
opencode-agent[bot] de672fd214 chore: generate 2026-05-20 20:23:54 +00:00
James Long d0779d2aca feat(tui): collapse directories when possible in file tree (#28512) 2026-05-20 16:22:04 -04:00
opencode-agent[bot] 650594e801 chore: update nix node_modules hashes 2026-05-20 20:13:43 +00:00
James Long 58143c4b07 feat(tui): focus first file in file tree (#28513) 2026-05-20 16:04:45 -04:00
kirillk fdf569df65 fix(jetbrains): use Dispatchers.IO for blocking OkHttp call and retain AsyncProcessIcon to prevent timer leak 2026-05-20 15:59:11 -04:00
Kit Langton 4cbeacbc76 chore: update Drizzle RC (#28506) 2026-05-20 15:55:36 -04:00
kirillk 479cfa044f test(jetbrains): harden EDT contracts, disposal, and profile/login test coverage 2026-05-20 15:48:20 -04:00
opencode-agent[bot] b0ca0419be chore: generate 2026-05-20 19:25:52 +00:00
Shoubhit Dash 4308dd75fb fix(httpapi): expose v2 catalog errors (#28498) 2026-05-21 00:53:35 +05:30
opencode-agent[bot] 7690481fc1 chore: update nix node_modules hashes 2026-05-20 19:23:14 +00:00
Kit Langton ec6d42d41d chore: update Effect beta (#28505) 2026-05-20 15:09:19 -04:00
opencode-agent[bot] 3553754083 chore: generate 2026-05-20 19:09:16 +00:00
Simon Klee ed839846d1 run: replace subagent tabs with on-demand picker (#28508)
Move subagent navigation into the existing palette: a
"View subagents" command entry, a dedicated picker panel, and a
Down-arrow shortcut from the empty composer.
2026-05-20 21:07:35 +02:00
Kit Langton ba803dd89a fix(sdk): unbreak typecheck on dev after v2 error widening (#28503) 2026-05-20 14:29:19 -04:00
opencode-agent[bot] 0e118d1961 chore: generate 2026-05-20 17:57:38 +00:00
Shoubhit Dash 40e73c4910 fix(httpapi): expose v2 request errors (#28495) 2026-05-20 23:23:23 +05:30
kirillk ffe562e489 fix(jetbrains): link root Kilo settings page 2026-05-20 13:32:33 -04:00
opencode-agent[bot] 9559e2425b chore: generate 2026-05-20 17:29:32 +00:00
Frank ac76af8c56 zen: add gemini 3.5 flash 2026-05-20 13:20:54 -04:00
Victor Navarro b67b03e0ae chore: simplify referral codes (#28491) 2026-05-20 19:15:20 +02:00
kirillk e8857e6445 fix(jetbrains): add Dismiss button to login-required prompt and move Open User Profile to the right 2026-05-20 13:08:58 -04:00
kirillk 49f710143a fix(jetbrains): improve session question panel actions 2026-05-20 12:49:03 -04:00
Sebastian ef82426e28 handle permanent file plugin errors (#27344) 2026-05-20 18:47:30 +02:00
Catriel Müller 3648e2e132 wip: kilo console 2026-05-20 13:43:02 -03:00
OpeOginni 14e9e5d9d6 fix(enterprise): message nav hovercard and active state (#23964) 2026-05-21 00:06:13 +08:00
kirillk 6aab217631 refactor(jetbrains): extract BaseSessionQuestionPanel shared card for question and login views
Add BaseSessionQuestionPanel in session/ui/shared as a shared rounded card shell for QuestionView and LoginRequiredView. The panel provides a consistent surface/outline, header and description text areas with editor-font styling, an optional top slot for navigation, and body/footer slots for view-specific content.
2026-05-20 11:56:59 -04:00
github-actions[bot] 1aea70a27f chore: update kilo-vscode visual regression baselines 2026-05-20 15:50:36 +00:00
marius-kilocode 218b4e3ae4 fix(cli): preserve explicit subagent model failures 2026-05-20 17:46:17 +02:00
Dax 9324ef0d08 fix(cli): default console login url (#28474) 2026-05-20 11:34:56 -04:00
opencode-agent[bot] 8940572098 chore: generate 2026-05-20 15:18:18 +00:00
James Long 17d66ee4fe feat(tui): initial impl of diff viewer (#28476) 2026-05-20 11:16:56 -04:00
marius-kilocode 554c07e8cf fix(vscode): align unset subagent variant state 2026-05-20 16:08:56 +02:00
marius-kilocode 8e7680794d feat: configure task subagent model defaults 2026-05-20 15:59:25 +02:00
marius-kilocode b95759dd6f perf(vscode): skip noop tool index copies 2026-05-20 15:28:10 +02:00
marius-kilocode 42995b2721 style(vscode): format subagent streaming helpers 2026-05-20 15:24:08 +02:00
marius-kilocode f26d55f2d3 fix(vscode): speed up inline subagent streaming 2026-05-20 15:14:53 +02:00
marius-kilocode 18a73672ea fix(agent-manager): remove busy tab search badge 2026-05-20 14:44:35 +02:00
opencode-agent[bot] 13006d6d7c chore: generate 2026-05-20 07:10:40 +00:00
Simon Klee 539b118690 run: add shell mode to prompt (#28315)
Press `!` on an empty prompt to enter shell mode and run a command
through session.shell instead of sending a message
2026-05-20 09:09:12 +02:00
opencode-agent[bot] 11f7e5a1b0 chore: generate 2026-05-20 06:41:26 +00:00
Brendan Allan 38b406fb35 app: Initial tabs impl (#28436) 2026-05-20 14:40:06 +08:00
opencode-agent[bot] 4702cddb3e chore: generate 2026-05-20 04:29:32 +00:00
Luke Parker 82c5d45601 Add Windows desktop app menu (#28420) 2026-05-20 14:28:15 +10:00
Aarav Sharma aca8aeb2b9 fix(cli): toggle export dialog checkboxes on mouse click
The export options dialog checkbox rows only set visual focus on mouse click but don't toggle the checkbox state. Update onMouseUp handlers to both set focus and toggle the corresponding boolean value.
2026-05-19 20:29:15 -06:00
OpeOginni 66d409d679 fix(opencode): Update directory and path fields of imported session (#27516) 2026-05-19 19:09:23 -05:00
kirillk 97bd268de2 fix(jetbrains): preserve model selection on login-resume after paid model auth error
When a session hit a PAID_MODEL_AUTH_REQUIRED (401) error, the login-resume
prompt was sent with null providerID/modelID because user messages never carry
those fields. This caused the backend to use its default model instead of the
originally selected one, resulting in silent sub-agent activity that appeared
as a UI hang. retryPrompt() now uses model.model parsed via parseModel(), the
same approach as promptDto().
2026-05-19 18:16:29 -04:00
Kit Langton 4ad261d8a7 Skip git setup for processor tool test (#28406) 2026-05-19 18:09:15 -04:00
Kit Langton 59c99dc62d Skip snapshot seed file commits (#28405) 2026-05-19 17:45:55 -04:00
Kit Langton a8f7c5ec93 Run CLI subprocess tests concurrently (#28399) 2026-05-19 17:26:41 -04:00
Kit Langton 34cae2f3cb fix(action): remove orphan symlink breaking GitHub Action staging (#28390) 2026-05-19 20:49:22 +00:00
Kit Langton e94d46af86 fix(config): resolve agent/command names from relative paths (#28359) 2026-05-19 20:48:32 +00:00
Kit Langton c035c35eba fix(config): tolerate invalid OPENCODE_PERMISSION JSON (#28388) 2026-05-19 20:37:50 +00:00
Kit Langton b70b45964a Skip LLM server for prompt tests without LLM calls (#28391) 2026-05-19 16:27:36 -04:00
opencode-agent[bot] e3c8d221ec chore: generate 2026-05-19 20:24:23 +00:00
Kit Langton 80e5fb11c2 refactor(test/cli): migrate harness short-lived path to AppProcess + FileSystem (#28366) 2026-05-19 16:18:19 -04:00
Dustin Deus bc6c4c72ab chore(triage): add 'starptech' to core and inference teams (#28376) 2026-05-19 15:15:04 -05:00
kirillk 69a991a386 Merge branch 'conscious-jackrabbit' into scythe-dust 2026-05-19 16:12:22 -04:00
Kit Langton 4db2746e31 Reduce snapshot batch test fixture sizes (#28381) 2026-05-19 16:10:43 -04:00
kirillk f151a55cfc Merge remote-tracking branch 'origin/military-fluorine' into scythe-dust 2026-05-19 15:54:41 -04:00
opencode-agent[bot] 71e90073d2 chore: generate 2026-05-19 19:04:32 +00:00
Frank ea27114eb9 go: update referral invite ui style 2026-05-19 15:01:27 -04:00
Frank 64d67f2134 sync 2026-05-19 14:29:55 -04:00
kirillk 5fc0829ee8 fix(jetbrains): hide account overlay when not logged in 2026-05-19 14:29:20 -04:00
opencode-agent[bot] a99337fbe1 chore: generate 2026-05-19 18:28:20 +00:00
Victor Navarro b20b569b0e chore(go): referral improvements (#28368) 2026-05-19 20:26:38 +02:00
kirillk 09572d3d47 feat(desktop): polish JetBrains account switcher 2026-05-19 13:23:45 -04:00
kirillk 663548da39 feat(kilo-jetbrains): add rich permission views and runtime auto-approve
- Extend PermissionRequestDto with command, filePath, rules, fileDiffs fields
- Parse rich permission metadata (command, diff previews, file diffs) in KiloCliDataParser
- Rewrite PermissionView as plain Swing with command/pattern/diff display; remove Kotlin UI DSL
- Add KiloAutoApproveService: client-side toggle persisted via PropertiesComponent
- Integrate auto-approve into SessionController (live events and recovery)
- Add shield toggle button to PromptPanel; wire auto-approve flow through SessionUi
- Add tests for parser metadata extraction, view rendering, controller auto-approve, and recovery
2026-05-19 12:12:41 -04:00
Kit Langton c449d3dc74 Migrate remaining legacy tools config tests (#28363) 2026-05-19 12:06:07 -04:00
opencode-agent[bot] e4eb98b991 chore: generate 2026-05-19 15:52:51 +00:00
Victor Navarro b32f071502 feat(go): referral support (#28345)
Co-authored-by: Jack <jack@anoma.ly>
2026-05-19 17:51:39 +02:00
kirillk 0a358a56a5 Merge remote-tracking branch 'origin/main' into conscious-jackrabbit 2026-05-19 11:46:04 -04:00
Kit Langton 512e34af83 Migrate MCP config tests to instance fixtures (#28338) 2026-05-19 11:45:13 -04:00
Kit Langton 7051796c38 test(cli): tier-A read-only command smoke tests (#28274) 2026-05-19 11:35:48 -04:00
Kit Langton b67f5d741f test(opencode/run): skip Windows-only scrollback replay failure (#28261) 2026-05-19 11:24:23 -04:00
opencode-agent[bot] eec0843ce4 chore: generate 2026-05-19 15:11:40 +00:00
Kit Langton 55baa16fbc test(lib): extract snapshot normalizer utility for cross-OS stability (#28356) 2026-05-19 11:09:49 -04:00
Kit Langton c79a9634d3 fix(tool): tolerate plugin tool defs with missing args (#28357) 2026-05-19 15:07:28 +00:00
Sebastian 8dd6448c90 use keymap state for layer visibility (#26246) 2026-05-19 17:07:26 +02:00
Kit Langton 18b9cec50d test(cli): help-text snapshots for every CLI command (#28267) 2026-05-19 10:58:12 -04:00
Mark IJbema 632b4a244a docs: add upstream merge review command 2026-05-19 16:16:08 +02:00
Shawn 2932a7a35d fix(app): invalidate provider queries after config update to show custom providers immediately (#28313) 2026-05-19 20:31:36 +08:00
Brendan Allan 922b2e10eb refactor(app): remove Accessor wrapping from timeline row renders (#28334) 2026-05-19 20:22:50 +08:00
opencode-agent[bot] a2ee437a0e chore: generate 2026-05-19 12:21:56 +00:00
Kit Langton 6618e2bce2 feat(native-llm): route Anthropic API-key models through native runtime (#28271) 2026-05-19 08:20:27 -04:00
Kit Langton cb15b3ad84 test(cli): subprocess integration tests for opencode acp (#28265) 2026-05-19 08:18:22 -04:00
Sebastian ee16f08ffa Fix legacy pgup/pgdown TUI keybind aliases (#28275) 2026-05-19 13:52:00 +02:00
Dustin Deus 9790a61f96 chore(docs): remove beta zen go (#28317)
Co-authored-by: starptech <starptech@starptechs-MBP.fritz.box>
2026-05-19 12:08:40 +02:00
Dustin Deus 2339aacbf2 chore(team): add starptech to the team members list (#28320) 2026-05-19 10:49:10 +02:00
opencode-agent[bot] 2d348da504 chore: generate 2026-05-19 06:47:00 +00:00
MYMDO cbd2620c46 feat(i18n): add Ukrainian (uk) locale support (#28061) 2026-05-19 14:45:39 +08:00
opencode-agent[bot] 3bd304796b chore: generate 2026-05-19 06:13:16 +00:00
Shoubhit Dash dac81cdb68 fix(httpapi): preserve v2 openapi errors (#28298) 2026-05-19 11:42:01 +05:30
Shoubhit Dash 2c3bcf3e41 feat(httpapi): add v2 public error schemas (#28297) 2026-05-19 11:26:56 +05:30
Kit Langton d9d43d8519 test: migrate plugin config fixtures 2026-05-18 22:14:01 -04:00
Kit Langton bcc69f0afb test: migrate managed config fixtures 2026-05-18 22:02:59 -04:00
Kit Langton e53563f402 test: migrate remaining simple config fixtures 2026-05-18 21:42:00 -04:00
Kit Langton 7e4b02f1bf test: migrate config legacy tool fixtures 2026-05-18 21:27:43 -04:00
Kit Langton 996928b32a Migrate config .opencode file tests to instance fixtures (#28268) 2026-05-18 21:17:11 -04:00
Kit Langton c032e821bc Migrate config update tests to instance fixtures (#28266) 2026-05-18 20:57:42 -04:00
opencode-agent[bot] 6f160bb48f chore: generate 2026-05-19 00:57:09 +00:00
Kit Langton ebb672ac39 test(cli): subprocess integration tests for opencode serve (#28263) 2026-05-19 00:55:58 +00:00
Kit Langton 9a19e84265 Migrate config agent tests to instance fixtures (#28213) 2026-05-18 23:55:33 +00:00
Kit Langton 338666d13e Migrate config template tests to instance fixtures (#28211) 2026-05-18 23:37:58 +00:00
Kit Langton 7b8a1037a0 refactor(test/lib): generalize run-process harness into cli-process (#28253) 2026-05-18 19:16:10 -04:00
Kit Langton ee5cf45ef9 Migrate simple config tests to instance fixtures (#28210) 2026-05-18 19:13:16 -04:00
opencode-agent[bot] 2e1593dea5 chore: generate 2026-05-18 22:33:32 +00:00
Kit Langton 0f3d168fdd test(cli): subprocess integration test harness + regression suite for opencode run (#28230) 2026-05-18 18:32:20 -04:00
opencode-agent[bot] ce09fc8356 chore: generate 2026-05-18 22:03:00 +00:00
Luke Parker 44a35c5895 test(app): add session timeline smoke coverage (#26619) 2026-05-18 22:01:29 +00:00
kirillk b72c8ee9f0 fix(jetbrains): replace hardcoded fonts and colors with IntelliJ platform APIs
Add UiStyle.Fonts tokens (display, heading, large) backed by JBFont
helpers that scale with the platform default font. Replace ad hoc
deriveFont(Font.BOLD, size * multiplier) calls in LoggedOutProfileUi
and the direct JBFont.h1().asBold() call in LoggedInProfileUi with the
new shared tokens.

Fix UiStyle.Colors.cardBg() which was hardcoded to Color.WHITE/BLACK,
breaking custom themes. Now uses JBColor.lazy resolving TextField.background
to follow the active theme's input surface color.
2026-05-18 17:59:00 -04:00
kirillk 588dfc72ac fix(jetbrains): polish profile login controls 2026-05-18 17:46:26 -04:00
Kit Langton 8a321c4536 fix(native-llm): prefer console opencode token (#28237) 2026-05-18 17:23:57 -04:00
kirillk cba158347d fix(jetbrains): prevent focus loss and crash during account switch in profile UI
- Rename Card.OUT/IN to LOGGED_OUT/LOGGED_IN for clarity
- Keep logged-in card visible during CONNECTING/LOADING to avoid focus loss
- Skip account.update() when prof is null during transient load (fixes NPE crash)
- preferredFocus() for logged-out always returns loginBtn; logged-in returns combo
- Add regression tests covering reconnect, loading, null-profile crash, and focus
2026-05-18 17:07:25 -04:00
opencode ef9e567e5f sync release versions for v1.15.5 2026-05-18 20:57:13 +00:00
Kit Langton b396b71c6f fix(ui): guard reasoning renderer against undefined text (#28222) 2026-05-18 16:04:07 -04:00
Aiden Cline d8efc575fa refactor(session): extract prompt tool resolution (#28204) 2026-05-18 14:50:31 -05:00
opencode-agent[bot] e1fbed8fb6 chore: update nix node_modules hashes 2026-05-18 19:12:18 +00:00
James Long 12ae22378f fix(plugin): ask in tools from plugins returns promise instead of effect (#28217) 2026-05-18 18:57:29 +00:00
kirillk 841cda30b6 fix(jetbrains): polish profile sign-in UI 2026-05-18 14:52:30 -04:00
opencode-agent[bot] a88b436eec chore: generate 2026-05-18 18:42:55 +00:00
Kit Langton dbe36851bc Preview native LLM runtime stack (#27114) 2026-05-18 14:41:36 -04:00
James Long ff9d7cab5c fix(core): fix file references in workspaces (#28209) 2026-05-18 18:23:35 +00:00
kirillk b93aca4cc5 feat(jetbrains): add QR code, countdown, and cancel/retry to login UI
Replace Kotlin UI DSL with bare Swing in LoggedOutProfileUi. Introduce
LoginState sealed interface with attempt-based cancellation to discard
stale completions after cancel. Add ZXing QR code generation from the
verification URL. New auth card shows title, URL row with copy/browse,
QR image, spaced device code, countdown timer (M:SS), and cancel.
Login errors compact HTML payloads and offer Try Again. Backend and
frontend tests cover auth mapping, QR generation, pending UI, cancel
invalidation, and error retry.
2026-05-18 14:04:57 -04:00
Kit Langton 88681d389b Migrate provider lookup tests to instance fixtures
Migrate provider env precedence, model lookup, and default model tests to Effect-aware instance fixtures while keeping behavior unchanged.
2026-05-18 18:01:53 +00:00
Kit Langton ae2ecd1ed3 Migrate custom provider tests to instance fixtures
Migrate the next custom provider/model config tests to Effect-aware instance fixtures while keeping timing neutral and behavior unchanged.
2026-05-18 17:49:26 +00:00
Kit Langton 159d271e1e refactor(sync): publish via EffectBridge.fork for codebase consistency (#28187) 2026-05-18 13:30:41 -04:00
Kit Langton 762850dfe5 Migrate provider config tests to instance fixtures
Convert the first provider env/config/filtering tests to Effect-aware instance fixtures while keeping behavior unchanged and documenting neutral timing.
2026-05-18 13:22:59 -04:00
Kit Langton b039702e8c feat(tui): add syntax highlighting for elixir, fsharp, r, make, vim, xml, agda (#28198) 2026-05-18 13:08:08 -04:00
opencode-agent[bot] 094886c848 chore: generate 2026-05-18 17:03:44 +00:00
Shoubhit Dash dc0297f4ac refactor(session): extract reference prompt helpers (#28197) 2026-05-18 22:32:18 +05:30
Kit Langton 3ab67f3280 Stabilize watcher test readiness (#28194) 2026-05-18 12:51:46 -04:00
Shoubhit Dash a2e6bd503b refactor(reference): split materialization state (#28190) 2026-05-18 22:14:33 +05:30
Aiden Cline 05ac345696 refactor(session): move prompt reminders out of core loop (#28082) 2026-05-18 11:36:38 -05:00
kirillk c58755b266 refactor(jetbrains): replace DSL with plain GridBagLayout in profile UI 2026-05-18 12:30:11 -04:00
kirillk 19cb33963d refactor(jetbrains): align profile UI to JetBrains guidelines 2026-05-18 12:21:42 -04:00
opencode-agent[bot] e3feca09b3 chore: generate 2026-05-18 16:20:46 +00:00
Kit Langton 896ad7b884 Speed up targeted opencode tests
Reduce avoidable setup costs in slow opencode tests while preserving reviewed coverage and recording the benchmark evidence for follow-up test-suite work.
2026-05-18 16:18:29 +00:00
opencode-agent[bot] 0a945219a9 chore: generate 2026-05-18 16:17:46 +00:00
Shoubhit Dash 94828eb44b refactor(repository): type cache failures (#28188) 2026-05-18 21:46:18 +05:30
kirillk a289e7ce1a fix(jetbrains): preserve profile account selection 2026-05-18 12:11:48 -04:00
kirillk 89b2e2a81b refactor(jetbrains): polish profile settings 2026-05-18 12:01:55 -04:00
Shoubhit Dash 96192495ae refactor(repository): add cache service (#28184) 2026-05-18 21:25:38 +05:30
opencode-agent[bot] f7b5576bcc chore: generate 2026-05-18 15:39:33 +00:00
Kit Langton cb35493242 fix(bus): acquire PubSub subscription eagerly to close /event race (#27959) 2026-05-18 11:38:05 -04:00
Shoubhit Dash 5bfd7fd16c refactor(repository): clarify reference domain (#28182) 2026-05-18 21:04:44 +05:30
opencode-agent[bot] 2932b41e64 chore: generate 2026-05-18 15:14:13 +00:00
Shoubhit Dash eb389c58eb refactor(reference): normalize config entries (#28178) 2026-05-18 20:42:41 +05:30
kirillk 80ccb18f8c refactor(jetbrains): retain profile settings UI 2026-05-18 10:44:08 -04:00
Shoubhit Dash 54ff0a669b test(reference): cover configured reference contracts (#28170) 2026-05-18 20:09:27 +05:30
opencode-agent[bot] e56999fd36 chore: generate 2026-05-18 12:31:37 +00:00
Simon Klee 1124315267 run: refresh prompt layout after paste (#28164)
Pasting into the prompt textarea left its layout stale until the next edit, so the visible content did not reflect the pasted text. Mark the layout dirty on paste and notify the content-change handler once the renderer is idle so the prompt updates immediately.
2026-05-18 12:30:20 +00:00
opencode-agent[bot] 2bf3f3041f chore: update nix node_modules hashes 2026-05-18 12:03:51 +00:00
Sebastian 6e4db5666a upgrade opentui to 0.2.14 (#28090) 2026-05-18 13:44:08 +02:00
Shoubhit Dash 564cde393e fix(tui): copy pasted prompt content (#28156) 2026-05-18 17:02:34 +05:30
opencode-agent[bot] c813927bb6 chore: generate 2026-05-18 11:07:52 +00:00
Simon Klee 5970c12d90 run: replay session history on interactive resume (#26880) 2026-05-18 13:06:27 +02:00
opencode-agent[bot] 116a4e33ba chore: generate 2026-05-18 11:06:05 +00:00
Shoubhit Dash 611e48c4ac fix(tui): collapse long tool output lines (#28148) 2026-05-18 16:34:34 +05:30
Brendan Allan 836a33198e fix(ui): fix question dock overflow and message part flex layout (#28142) 2026-05-18 17:55:27 +08:00
opencode-agent[bot] 7afd477d1a chore: generate 2026-05-18 09:28:20 +00:00
SpiritChen51 fe143df151 fix(ui): fallback to execCommand for clipboard copy when navigator.clipboard fails (#27993)
Co-authored-by: SpiritChen51 <spiritchen51@users.noreply.github.com>
2026-05-18 17:26:45 +08:00
Kagura e94aecaa08 fix(tui): use contrast-aware foreground for paste summary badge (#27969)
Co-authored-by: Simon Klee <hello@simonklee.dk>
2026-05-18 08:38:40 +00:00
Brendan Allan 418c0ea04a feat(desktop): add notification permission for renderer (#28119) 2026-05-18 15:43:28 +08:00
opencode-agent[bot] 4312e5df05 chore: generate 2026-05-18 07:21:25 +00:00
Brendan Allan f80f3e33ec desktop: add free limit + go usage exceeded dialogs to match tui (#27677) 2026-05-18 15:20:08 +08:00
opencode-agent[bot] 479206449e chore: generate 2026-05-18 06:41:17 +00:00
Zayd Krunz 6849059b00 fix(app): hide prompt placeholder for whitespace input (#28101)
Co-authored-by: ShrootBuck <ShrootBuck@users.noreply.github.com>
2026-05-18 14:39:51 +08:00
opencode-agent[bot] 43df145cd2 chore: update nix node_modules hashes 2026-05-18 03:59:28 +00:00
Frank 28a0bf6c8f sync 2026-05-17 23:43:23 -04:00
opencode-agent[bot] 30e4edffd5 chore: generate 2026-05-18 03:42:06 +00:00
Luke Parker 5452ab6db7 perf(app): virtualize session timeline rows (#26949)
Co-authored-by: Brendan Allan <git@brendonovich.dev>
2026-05-18 03:40:52 +00:00
Dax e85119aa64 Load models.dev snapshot from build global (#28077) 2026-05-17 21:59:44 -04:00
黑墨水鱼 71b27a1b0f fix: sync PWA status bar theme-color with app color scheme (#28006) 2026-05-18 00:12:02 +00:00
opencode-agent[bot] 32f37d86f0 chore: update nix node_modules hashes 2026-05-17 23:40:17 +00:00
opencode-agent[bot] b14ea406ba chore: generate 2026-05-17 23:25:50 +00:00
Luke Parker de846ca57d chore: Upgrade Bun to the final non-rust version (#27648) 2026-05-18 09:24:26 +10:00
Luke Parker f06b78751e fix(desktop): install the latest available update (#27953) 2026-05-18 09:23:32 +10:00
opencode-agent[bot] 969d0f48b2 chore: generate 2026-05-17 23:03:12 +00:00
Luke Parker fc19dcc70c fix: sort v2 session list by updated time (#27954) 2026-05-18 09:01:55 +10:00
opencode-agent[bot] 49c6b46afc chore: update nix node_modules hashes 2026-05-17 22:39:36 +00:00
Sebastian f97e115ee2 dialog prompt submit keybind + opentui event sink (#27945) 2026-05-18 00:23:19 +02:00
Dax Raad e92b1fe7d7 core: let models layer infer its own type so layer composition no longer requires matching explicit requirements 2026-05-17 17:37:11 -04:00
kirillk 4fbfe01b87 fix(jetbrains): refresh profile settings state 2026-05-17 15:34:55 -04:00
opencode f98449c9b5 sync release versions for v1.15.4 2026-05-17 17:44:50 +00:00
opencode 2b92c5677e release: v1.15.4 2026-05-17 17:44:40 +00:00
Frank 468eb68878 zen: update monitoring query 2026-05-17 13:15:39 -04:00
Dax 23b594de6e fix: preserve bus instance context (#28051) 2026-05-17 12:56:42 -04:00
Frank 5060577ee1 sync 2026-05-17 12:37:47 -04:00
Aiden Cline d3ebb1f7c0 ignore: cleanup readme (#28049)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2026-05-17 11:26:23 -05:00
Shoubhit Dash e4cc4e1682 fix(lsp): preserve instance ref for update events (#28016) 2026-05-17 16:37:00 +05:30
opencode-agent[bot] 53e89f9d52 chore: generate 2026-05-17 08:06:12 +00:00
Frank de247b7aae sync 2026-05-17 04:04:39 -04:00
Frank 0b8050d453 sync 2026-05-17 01:59:20 -04:00
Gustavo Viana be6a89a3b8 docs: update README.es.md (#27739)
Co-authored-by: Victor Navarro <vn4varro@gmail.com>
2026-05-16 19:33:24 +02:00
Thomas Brugman 2321ce7a5d Merge branch 'main' into seen-turnip 2026-05-16 18:26:02 +02:00
Aarav Sharma 7ac7c1e283 chore: add changeset for agent-manager model sync 2026-05-16 10:24:02 -06:00
Aarav Sharma df30123e54 chore: add changeset for session prompt queue memory leak fix 2026-05-16 10:23:37 -06:00
Aarav Sharma b590f8c25f chore: add changeset for dialog alert newlines 2026-05-16 10:23:13 -06:00
Aarav 7315d0d6d5 Merge branch 'main' into fix/agent-manager-model-sync 2026-05-16 10:21:27 -06:00
Aarav Sharma 8ba138def7 chore: add changeset for TUI export all messages 2026-05-16 10:21:11 -06:00
kiloconnect[bot] 0231a1f3c1 fix(cli): rename balance command to profile 2026-05-16 16:21:03 +00:00
Aarav Sharma c265fa4c4e chore: add changeset for subagent footer spinner 2026-05-16 10:20:02 -06:00
Kit Langton c0a8b509c7 style(tui): distinguish markdown h1 headings (#27814) 2026-05-16 11:18:17 -04:00
opencode f80651fa91 sync release versions for v1.15.3 2026-05-16 14:07:33 +00:00
Shoubhit Dash 68af95390d fix: hide task background instructions by default (#27872) 2026-05-16 19:18:15 +05:30
opencode-agent[bot] 321db7a819 chore: generate 2026-05-16 13:27:23 +00:00
Dax Raad 6d2219e001 fix(cli): preserve instance context in async commands 2026-05-16 09:25:45 -04:00
opencode-agent[bot] dd432e3cde chore: generate 2026-05-16 13:21:57 +00:00
Dax Raad 77db212a0a fix read stream byte cap 2026-05-16 09:20:35 -04:00
opencode f56263791c sync release versions for v1.15.2 2026-05-16 12:53:10 +00:00
Dax Raad 88363f1ed9 fixed issue in opencode run 2026-05-16 08:27:25 -04:00
Jack c5db39f626 Remove Ring 2.6 1T from Zen docs (#27849) 2026-05-16 17:55:32 +08:00
vimtor b5aed287ca chore: reduce alerts noise 2026-05-16 09:39:13 +02:00
Dax 53849bd866 fix(sync): publish events on injected project bus (#27825) 2026-05-16 05:56:49 +00:00
opencode e33912bfee sync release versions for v1.15.1 2026-05-16 05:44:44 +00:00
Aiden Cline 548648a3d9 core: reduce prompts for shell, todowrite, and task tools (#26821) 2026-05-16 00:18:47 -05:00
Caleb Norton 4643e13170 feat(nix): add opencode-electron derivation (#16163) 2026-05-15 23:20:48 -05:00
Dax Raad 042e6a5c86 tui: newly pinned sessions now append to the end of the list instead of jumping to the top 2026-05-15 23:57:40 -04:00
Aarav Sharma 8ba95b1f23 feat(cli): show running spinner in subagent footer
Add an animated spinner to the subagent session footer to indicate
when a subagent is actively working, matching the running status
indicator shown in the main session prompt.
2026-05-15 21:38:04 -06:00
Dax Raad e36d6a0cbe core: clarify postinstall error message when binary is missing
Users installing with pnpm or --ignore-scripts now see a clear explanation
of why the native binary is missing and exact steps to fix it. The shell
script wrapper provides more actionable guidance than the previous Node.js
fallback that only suggested running the postinstall script without context
about why it wasn't run automatically.
2026-05-15 23:12:00 -04:00
Sebastian cc9c0b15c7 Revert "add dialog prompt submit keybind (#27807)" (#27815) 2026-05-16 04:44:32 +02:00
Kit Langton f3b0d3d7ac fix(tui): dedupe consecutive prompt history entries (#27816) 2026-05-16 02:36:35 +00:00
opencode-agent[bot] 764c6bc517 chore: update nix node_modules hashes 2026-05-16 01:20:56 +00:00
Sebastian d441e931f9 add dialog prompt submit keybind (#27807) 2026-05-16 03:11:46 +02:00
Sebastian ad79ad9ea8 upgrade opentui to 0.2.11 (#27808) 2026-05-16 03:05:54 +02:00
opencode-agent[bot] d6b23fd8f6 chore: generate 2026-05-16 00:44:10 +00:00
Kit Langton 5911bd532d fix(tui): show config error details on startup (#27803) 2026-05-15 20:42:56 -04:00
Dax Raad 2385123f03 Fix thinking toggle defaults 2026-05-15 20:27:36 -04:00
Aarav Sharma 19dc9d04d2 fix(cli): address PR review issues for TUI transcript handlers
- Replace non-null assertions on allMessages.data with nullish coalescing
- Move kilocode_change end markers to after sessionMessages declaration
2026-05-15 16:50:38 -06:00
Dax 09549661e1 Fix npm CLI binary installation (#27801) 2026-05-15 18:43:37 -04:00
opencode-agent[bot] da495fd2e0 chore: generate 2026-05-15 22:09:43 +00:00
vimtor 85cd447910 chore: reduce alerts noise 2026-05-16 00:07:59 +02:00
Aarav Sharma 2113986133 fix(cli): export all messages from TUI instead of truncated store
The TUI's copy and export actions only included ~100 messages because they
read from the in-memory sync store which caps at 100 for display performance.
Now both actions fetch all messages directly from the server API.
2026-05-15 15:20:21 -06:00
Sebastian 0f31fd631b Fix multiline mentions (#27649) 2026-05-15 23:04:20 +02:00
Sebastian aa07e21945 handle undefined tips (#27635) 2026-05-15 23:04:00 +02:00
Shoubhit Dash f060874b29 feat(tui): add minimal thinking mode with click-to-expand (#27623) 2026-05-16 02:09:58 +05:30
vimtor f21c582db9 chore: reduce alerting noise 2026-05-15 22:18:50 +02:00
Shoubhit Dash 65f96a5851 refactor(instance): retire WithInstance adapter (#27782) 2026-05-16 01:30:07 +05:30
Aiden Cline 48122b31cc fix(tool): bridge custom tool zod metadata (#27770) 2026-05-15 14:50:21 -05:00
opencode-agent[bot] 0df2f5b45f chore: generate 2026-05-15 19:48:45 +00:00
Shoubhit Dash 499e8e4b78 test(instance): add effect-native fixture helpers (#27781) 2026-05-16 01:17:37 +05:30
Shoubhit Dash f33b4455a1 feat(tui): enable pinned session switching (#27780) 2026-05-16 01:10:16 +05:30
Shoubhit Dash a24abd2b11 refactor(lsp): require explicit instance context (#27767) 2026-05-16 00:46:27 +05:30
opencode-agent[bot] d44bef2107 chore: generate 2026-05-15 18:45:24 +00:00
Shoubhit Dash f99339e525 fix(tui): keep session switching pinned-only (#27775) 2026-05-16 00:14:07 +05:30
Thomas Brugman 58f9754a37 fix(cli): handle balance command errors 2026-05-15 20:37:49 +02:00
Shoubhit Dash 2b0e72ab79 refactor(workspace): centralize adapter invocation (#27768) 2026-05-15 23:59:01 +05:30
Shoubhit Dash 2fdee50b3b refactor(acp): extract runtime reentry (#27769) 2026-05-15 23:58:52 +05:30
opencode-agent[bot] 48293c5271 chore: generate 2026-05-15 17:37:07 +00:00
Shoubhit Dash 0c9cfe923f refactor(instance): remove legacy runtime fallback (#27757) 2026-05-15 23:05:44 +05:30
truffle 643810c5cb chore: add kilocode_change annotations to run-handler fix
Per AGENTS.md, every Kilo-specific change in shared opencode files must
carry kilocode_change markers so upstream merges can resolve mechanically.

Adds whole-file annotations to the new helper and test, single-line
annotations to the two modified lines in run.ts.
2026-05-15 17:19:18 +00:00
truffle 90ba442177 fix(cli): preserve --raw atoms verbatim in run handler (#9622)
Atoms in `args["--"]` are raw passthrough per yargs `populate--`
semantics: the user typed `--` to opt out of further parsing, so
the assembler must not synthesize quote bytes around them. Re-quoting
raw atoms breaks leading-dash inputs like

  kilo run -- "- Who are you?"

by emitting `"- Who are you?"` (literal quotes) into the model prompt.

Atoms before `--` keep the existing wrap-quote behavior from #4979 so
shell-bound multi-word positionals still preserve their boundaries.

Extracted the message assembler to `cli/cmd/run-message.ts` so it can
be unit-tested without pulling in the full handler's dependency tree.
2026-05-15 17:17:01 +00:00
Thomas Brugman ac7e46d67a feat(cli): add balance command 2026-05-15 18:51:10 +02:00
opencode-agent[bot] 9975c1ed1c chore: generate 2026-05-15 15:12:20 +00:00
Aiden Cline ef7d801271 fix(tool): preserve custom tool arg descriptions (#27750)
Co-authored-by: khimaros <231498+khimaros@users.noreply.github.com>
2026-05-15 10:11:01 -05:00
opencode-agent[bot] eb630075c3 chore: generate 2026-05-15 15:01:55 +00:00
Shoubhit Dash a2392ca60d refactor(worktree): provide runtime reentry refs (#27754) 2026-05-15 20:30:29 +05:30
opencode-agent[bot] f9371eb66c chore: generate 2026-05-15 14:36:04 +00:00
Shoubhit Dash fa9a2cb24d refactor(instance): remove remaining bind call sites (#27731) 2026-05-15 20:04:42 +05:30
Victor Navarro 2d90f325fc ci: catch provider errors across all opencode tiers (#27495) 2026-05-15 16:31:59 +02:00
Aiden Cline c2ffd7cf14 fix: markdown table rendering (#27747) 2026-05-15 09:22:24 -05:00
vimtor 104f5d5a14 chore: exclude provider from triggers 2026-05-15 16:01:11 +02:00
Shoubhit Dash 1c7c03332e test(workspace): avoid legacy instance reads (#27727) 2026-05-15 17:07:21 +05:30
opencode-agent[bot] 984eefa6f8 chore: generate 2026-05-15 11:02:14 +00:00
Shoubhit Dash bf64f8cbb5 refactor(cli): dispose bootstrap instance explicitly (#27721) 2026-05-15 16:30:54 +05:30
opencode-agent[bot] 727a83aa7a chore: generate 2026-05-15 10:46:06 +00:00
Shoubhit Dash e65383810a refactor(tool): read repo overview directory from instance state (#27717) 2026-05-15 16:14:49 +05:30
Shoubhit Dash 12b666e2c9 refactor(project): import instance context directly (#27714) 2026-05-15 15:59:56 +05:30
Shoubhit Dash eb5ef1c073 refactor(flags): remove unused flag exports (#27709) 2026-05-15 15:35:24 +05:30
Shoubhit Dash 356f684186 refactor(flags): migrate skip migrations flag (#27705) 2026-05-15 14:54:29 +05:30
Shoubhit Dash 7b370406a9 refactor(flags): migrate lsp download flag (#27699) 2026-05-15 14:35:31 +05:30
Shoubhit Dash 202cc863b4 refactor(flags): migrate claude code prompt flag (#27690) 2026-05-15 14:17:04 +05:30
Shoubhit Dash 22cb0395e2 refactor(flags): migrate external skills flag (#27685) 2026-05-15 13:24:56 +05:30
Shoubhit Dash 2d6bedecd4 refactor(flags): migrate output token max to runtime flags (#27680) 2026-05-15 13:07:35 +05:30
opencode-agent[bot] 2080390ca6 chore: generate 2026-05-15 07:36:10 +00:00
Kagura 1ac3f09468 fix(watcher): resolve symlinked .git path before subscribing (#27016)
Co-authored-by: Simon Klee <hello@simonklee.dk>
2026-05-15 09:34:53 +02:00
Aiden Cline ca8f578f2f ci: skip previously cleaned PRs (#27670) 2026-05-15 00:23:09 -05:00
Aiden Cline d59d99665b ci: Automate PR cleanup (#27667) 2026-05-14 23:47:59 -05:00
opencode c43edc5b71 sync release versions for v1.15.0 2026-05-15 04:03:54 +00:00
Dax Raad 7a012cac08 fix(tool): ignore invalid custom tool exports 2026-05-14 23:36:28 -04:00
James Long af06e52708 fix(session): ignore instruction lookup errors (#27656) 2026-05-14 23:12:30 -04:00
Dax Raad f807152724 core: fix event projector lookup to use versioned type keys
Fixes a bug where projectors were stored with Definition object references
as Map keys but lookups were failing due to object identity mismatches.
Now uses versioned type strings as keys, ensuring events are correctly
matched to their projectors during sync processing.

This fixes issues where certain events would not be properly projected
to the read model, causing stale or missing data in views.
2026-05-14 22:52:03 -04:00
Dax Raad b0ea7a5aa7 more test fixes 2026-05-14 22:45:09 -04:00
opencode-agent[bot] 34b1be5bcd chore: generate 2026-05-15 02:34:06 +00:00
Dax Raad 16639eee76 test fixes 2026-05-14 22:32:38 -04:00
opencode-agent[bot] 10c8493940 chore: generate 2026-05-15 02:14:56 +00:00
Dax Raad a50ff72f3f fix: remove debug logging 2026-05-14 22:13:15 -04:00
Dax Raad 5f4e5e6896 more typecheck fixes 2026-05-14 22:05:12 -04:00
Dax Raad f39cf911d7 fix missing event types in sdk 2026-05-14 21:57:25 -04:00
Brendan Allan f179dcbf02 fix(app): only run session.updated archive logic if archive state changes (#27637) 2026-05-15 09:42:47 +08:00
opencode-agent[bot] fd6a8520b8 chore: generate 2026-05-15 00:52:06 +00:00
Dax e11e089e42 Add Effect-native core event system (#27415) 2026-05-15 00:50:23 +00:00
Luna Seemann 73cdba959b feat(desktop): auto-hide menu bar on Linux and Windows (#27618) 2026-05-15 08:48:29 +08:00
opencode 4e7a60dac6 sync release versions for v1.14.51 2026-05-15 00:39:54 +00:00
opencode a462b1c101 release: v1.14.51 2026-05-15 00:39:43 +00:00
opencode-agent[bot] e62ebd8fec chore: generate 2026-05-15 00:02:04 +00:00
Kit Langton 195f592640 refactor(server): simplify listener lifecycle (#27413) 2026-05-15 00:00:52 +00:00
opencode-agent[bot] 78769010a1 chore: generate 2026-05-14 23:46:57 +00:00
Kit Langton 4e143e3a3e test(lib): promote pollWithTimeout/awaitWithTimeout helpers (#27626) 2026-05-14 23:45:32 +00:00
opencode-agent[bot] dab567aa2d chore: generate 2026-05-14 23:34:42 +00:00
Kit Langton 9d35b04e13 test(acp): replace fixed sleeps with pollUntil in event-subscription (#27624) 2026-05-14 23:33:06 +00:00
Kit Langton 273ab56949 test(bus): fix flaky subscriber races with readiness latch (#27625) 2026-05-14 19:32:25 -04:00
Kit Langton 302ba0ca0b test(session): de-flake shell-cancel tests by waiting for busy state (#27622) 2026-05-14 19:24:09 -04:00
Shoubhit Dash d35e09f1fc test(workspace): use runtime flags in workspace tests (#27612) 2026-05-15 04:19:39 +05:30
Shoubhit Dash fc34c74567 refactor(flags): move channel db flag to runtime flags (#27615) 2026-05-15 04:09:10 +05:30
Shoubhit Dash cb4f5cdea9 refactor(flags): move auto share to runtime flags (#27611) 2026-05-15 03:58:26 +05:30
nv-kasikritc d34a0194ec feat(provider): add NVIDIA endpoints origin header (#27394) 2026-05-14 17:21:58 -05:00
Shoubhit Dash 43310f4d8c refactor(flags): move embedded web ui flag to runtime flags (#27613) 2026-05-15 03:51:29 +05:30
Shoubhit Dash e22cfa435a refactor(lsp): move ty flag to runtime flags (#27610) 2026-05-15 03:40:30 +05:30
opencode-agent[bot] 93b1ccc029 chore: generate 2026-05-14 22:00:48 +00:00
Shoubhit Dash faca2b90c1 refactor(flags): migrate icon discovery runtime flag (#27609) 2026-05-15 03:24:14 +05:30
Shoubhit Dash 76ff18afde refactor(format): move oxfmt flag to runtime flags (#27608) 2026-05-15 03:03:37 +05:30
opencode-agent[bot] 9914c9af17 chore: generate 2026-05-14 21:32:52 +00:00
Shoubhit Dash f202226bbc refactor(flags): move bash timeout to runtime flags (#27607) 2026-05-15 02:49:14 +05:30
Shoubhit Dash 34198f422c refactor(provider): use runtime flag for experimental models (#27606) 2026-05-15 02:48:01 +05:30
Shoubhit Dash cccdeef294 refactor(flags): migrate claude code skills flag to RuntimeFlags (#27605) 2026-05-15 02:47:26 +05:30
Musa 83c145f889 fix(plugin): scope digitalocean oauth to genai (#27599) 2026-05-14 15:20:34 -05:00
Kit Langton d353a6bc24 fix(worktree): accept missing create payload (#27582) 2026-05-14 14:25:22 -04:00
bo-tato d25cc42d21 docs(app): stale reference to removed multi-edit tool (#27579) 2026-05-14 13:10:01 -05:00
opencode-agent[bot] 6039b894c5 chore: generate 2026-05-14 18:05:32 +00:00
Kit Langton b4fc5ef071 refactor(http-recorder): tighten cassette safety, fix WS leaks + docs (#26730) 2026-05-14 18:03:22 +00:00
opencode-agent[bot] f6c8e35383 chore: generate 2026-05-14 17:58:35 +00:00
Kit Langton 94564f3588 fix(session): prevent double auto-compaction from filterCompacted reorder (#27545) 2026-05-14 13:56:12 -04:00
Kit Langton 855bda8384 test(question): wait on question events (#27124) 2026-05-14 13:23:47 -04:00
opencode-agent[bot] 756488d534 chore: generate 2026-05-14 16:42:18 +00:00
Shoubhit Dash 22de34c4de feat: add experimental background subagents (#27084) 2026-05-14 22:10:15 +05:30
Adam bdb0c16a93 chore: update web stats 2026-05-14 11:26:59 -05:00
Sameer Kankute 7f7eb2e7f8 fix(provider): remove LiteLLM workarounds ported upstream, requires LiteLLM v1.85.0-rc.2+ (#26819)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 11:26:07 -05:00
opencode-agent[bot] e15fd0bb93 chore: generate 2026-05-14 13:33:44 +00:00
opencode-agent[bot] 8f90697df8 chore: generate 2026-05-14 13:32:19 +00:00
opencode-agent[bot] 17af25d1c1 chore: generate 2026-05-14 13:30:59 +00:00
Kit Langton 3c81326a5e docs(effect): refresh TODO with shipped P0 and RF work (#27536) 2026-05-14 09:29:32 -04:00
opencode-agent[bot] 9f8d8f5b0e chore: generate 2026-05-14 12:40:10 +00:00
OpeOginni 337993d53e feat(desktop): add mcp client registration status and authentication handling (#27525) 2026-05-14 20:38:52 +08:00
Shoubhit Dash e26abd8da9 fix(tool): close shell truncation stream (#27517) 2026-05-14 16:34:42 +05:30
Shoubhit Dash 8c1ce0b80c refactor(flags): simplify tui plugin runtime flags (#27506) 2026-05-14 15:56:02 +05:30
Brendan Allan f8c3f560d4 fix(desktop): await execFilePromise and read stdout properly (#27499) 2026-05-14 17:52:23 +08:00
Shoubhit Dash 7e43d3e3f5 refactor(lsp): type initialize errors (#27494) 2026-05-14 15:20:02 +05:30
opencode-agent[bot] 52db7a76e2 chore: update nix node_modules hashes 2026-05-14 09:28:30 +00:00
Shoubhit Dash be6e7b309e refactor(provider): type init errors (#27484) 2026-05-14 14:48:58 +05:30
Simon Klee 0af242974c deps: Upgrade OpenTUI to 0.2.10 (#27491) 2026-05-14 09:14:03 +00:00
Shoubhit Dash 27ac53aaac fix(server): stop exposing named defects (#27471) 2026-05-14 12:51:05 +05:30
Shoubhit Dash 78015571bf refactor(server): centralize session busy mapping (#27473) 2026-05-14 12:50:36 +05:30
Aiden Cline e76cf967e6 fix(session): finalize interrupted assistant messages (#27254) 2026-05-14 01:19:11 -05:00
opencode-agent[bot] c2723b5ea0 chore: generate 2026-05-14 04:25:32 +00:00
Frederik 9675579796 fix: bug encountered when using azure gpt-5.5 w/ completions api (#26222) 2026-05-13 23:24:16 -05:00
opencode-agent[bot] 4d8368970a chore: update nix node_modules hashes 2026-05-14 04:20:42 +00:00
Nikhil Patel 2a7af6acd8 fix(tui): preserve text selection on question prompt options (#24988)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-05-13 23:17:59 -05:00
opencode-agent[bot] bfd707abc9 chore: generate 2026-05-14 04:07:30 +00:00
Aiden Cline 981e00971a fix: image resizer wasm loading, reenable image resizing (#26805) 2026-05-13 23:06:07 -05:00
Aiden Cline c50d2b3656 Refactor event HTTP API route modules (#27441) 2026-05-13 22:41:17 -05:00
opencode ddad0988e7 sync release versions for v1.14.50 2026-05-14 03:03:23 +00:00
Kit Langton cda8cc7285 test(httpapi): simplify event stream regression coverage (#27427) 2026-05-14 02:18:40 +00:00
Kit Langton b928a1fff9 fix(httpapi): preserve event stream context (#27425)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: James Long <longster@gmail.com>
2026-05-13 22:02:30 -04:00
Kit Langton 04286d0415 docs(effect): plan Instance deletion path (#27424) 2026-05-13 21:58:54 -04:00
opencode-agent[bot] 33bb33ba90 chore: generate 2026-05-14 01:55:00 +00:00
Sebastian b0ade40265 flip back to markdown renderable (#27421) 2026-05-14 03:53:48 +02:00
Kit Langton 681594b551 refactor(storage): remove not found wire serializer (#27416) 2026-05-13 21:39:50 -04:00
Kit Langton edf7649400 fix(session): type busy errors (#27410) 2026-05-14 01:28:04 +00:00
Kit Langton 3fc7486d15 test(session): fix shell-cancel race when trap hasn't installed yet (#27408) 2026-05-14 01:10:40 +00:00
Kit Langton 8e353584c7 test(format): remove formatter check sleeps (#27407) 2026-05-13 21:02:34 -04:00
Sebastian 5c35ea2181 notification docs (#27406) 2026-05-14 03:01:25 +02:00
opencode-agent[bot] faf8713053 chore: generate 2026-05-14 00:59:33 +00:00
Dax 16c457e712 refactor(core): move models.dev into core (#27347) 2026-05-13 20:58:24 -04:00
Kit Langton 9818c9e8d0 fix(provider): make small model fallback optional (#27405) 2026-05-14 00:44:34 +00:00
Kit Langton 5e41dbbcbf test(effect): use Effect sleep in instance state tests (#27404) 2026-05-13 20:43:46 -04:00
Kit Langton ba5c8d3822 fix(llm): preserve tool error defects (#27403) 2026-05-13 20:43:32 -04:00
opencode-agent[bot] 10c90eb445 chore: generate 2026-05-14 00:33:32 +00:00
Kit Langton aa8a41d1b8 effect(patch,tool): migrate patch/index and tool/read to AppFileSystem (#27155) 2026-05-13 20:32:19 -04:00
Kit Langton 3f33be1928 effect(server): typed errors in session/sync handlers, fix concurrency (#27146) 2026-05-13 20:31:27 -04:00
Kit Langton 42e6b7d541 effect(core): track stderr truncation; polish AppProcess callers (#27353) 2026-05-13 20:31:03 -04:00
Kit Langton ccb207f946 effect(util): migrate filesystem callers to AppFileSystem.Service (#27152) 2026-05-13 20:25:37 -04:00
Kit Langton de1e0b5d6d test(workspace): effectify sync state cases (#27400) 2026-05-13 19:49:03 -04:00
Aiden Cline df3895d74f cleanup: make smallOptions rely on variants (#27390) 2026-05-13 18:30:36 -05:00
Kit Langton 55e0af1405 fix(provider): type model not found errors (#27334) 2026-05-13 22:23:09 +00:00
Kit Langton 5182a3698d test(workspace): use Effect for local session warp cases (#27393) 2026-05-13 22:22:51 +00:00
opencode 73e1de4513 sync release versions for v1.14.49 2026-05-13 22:18:40 +00:00
Frank 44b432c3fd sync 2026-05-13 18:05:06 -04:00
Kit Langton 0d8c9f3437 docs: add LayerMap example (#27388) 2026-05-13 17:46:47 -04:00
opencode-agent[bot] 0d074492df chore: update nix node_modules hashes 2026-05-13 21:20:10 +00:00
Sebastian 3b7a5e783d fix keymap fallback priority and TUI config diagnostics (#27384) 2026-05-13 23:00:48 +02:00
Frank c197fd92b7 sync 2026-05-13 15:58:34 -04:00
Shoubhit Dash 9ee1f6ceba fix(server): map busy sessions in http handlers (#27375) 2026-05-14 01:02:07 +05:30
Shoubhit Dash 20cec91550 fix(provider): restore model suggestions (#27372) 2026-05-14 00:38:38 +05:30
Aiden Cline 22a5e6cc50 fix(run): restore non-interactive exit behavior (#27371) 2026-05-13 18:45:34 +00:00
Shoubhit Dash 52f9bcbb82 refactor(flags): route installation client through runtime flags (#27369) 2026-05-14 00:10:31 +05:30
Shoubhit Dash a4ebb07c25 refactor(flags): route llm client through runtime flags (#27368) 2026-05-14 00:09:53 +05:30
opencode-agent[bot] 7cc968b05d chore: generate 2026-05-13 16:47:21 +00:00
Frank fa077b92b1 zen: update sticky session logic 2026-05-13 12:45:11 -04:00
Kit Langton 8ad3a4b217 test(util): migrate log cleanup test to Effect (#27357) 2026-05-13 16:43:23 +00:00
Kit Langton 533495ae20 test(mcp): migrate OAuth auto-connect tests (#27356) 2026-05-13 16:38:37 +00:00
Kit Langton f0635e365f test(session): use Effect polling in processor tests (#27354) 2026-05-13 16:33:19 +00:00
Kit Langton 25de3e407b test(acp): use shared instance fixture for event tests (#27351) 2026-05-13 12:30:13 -04:00
Frank 655b25bccf sync 2026-05-13 12:05:30 -04:00
Kit Langton e5d13d9519 effect(git): migrate to AppProcess.run (#27190) 2026-05-13 12:04:51 -04:00
Kit Langton 5cdbb7505e effect(installation): migrate to AppProcess.run (#27188) 2026-05-13 11:54:29 -04:00
Kit Langton e5319846ad test(server): migrate pty websocket input test (#27348) 2026-05-13 15:43:09 +00:00
Kit Langton 832aa94977 effect(worktree): migrate to AppProcess.run (#27186) 2026-05-13 11:39:35 -04:00
Kit Langton 6c7f35b49e effect(format): migrate to AppProcess (#27185) 2026-05-13 15:26:42 +00:00
Kit Langton 6e25720307 test(tool): use Effect sleep in edit concurrency test (#27349) 2026-05-13 15:18:35 +00:00
Kit Langton ca723f1cbc effect(core): add stdin option to AppProcess.run; migrate snapshot+clipboard (#27224) 2026-05-13 11:10:23 -04:00
Kit Langton 650f67a05a chore: delete unused util/lock module (#27223) 2026-05-13 15:08:35 +00:00
opencode-agent[bot] 50dccac915 chore: generate 2026-05-13 15:06:14 +00:00
Kit Langton 02b8b0ff93 test: migrate file watcher test to Effect (#27346) 2026-05-13 15:04:30 +00:00
Kit Langton 76c91c6e33 test: migrate mcp oauth browser tests (#27345) 2026-05-13 15:04:02 +00:00
opencode-agent[bot] ca17ca85cd chore: update nix node_modules hashes 2026-05-13 15:02:16 +00:00
opencode-agent[bot] e7aed64949 chore: generate 2026-05-13 14:59:13 +00:00
Dax Raad d43124abe0 ignore: notes 2026-05-13 10:57:22 -04:00
Kit Langton 7404664827 refactor: migrate installation tests to testEffect (#27342) 2026-05-13 14:56:51 +00:00
Kit Langton 0b112e5bcf test: migrate permission task config tests (#27343) 2026-05-13 14:56:26 +00:00
Shoubhit Dash 268d758130 refactor(flags): route control-plane workspaces through runtime flags (#27337) 2026-05-13 20:22:30 +05:30
opencode-agent[bot] 72acdf0505 chore: generate 2026-05-13 14:50:34 +00:00
Shoubhit Dash e28ef7b57c refactor(flags): route sync workspaces through runtime flags (#27336) 2026-05-13 20:18:06 +05:30
opencode-agent[bot] 5b5376a3fa chore: generate 2026-05-13 14:47:40 +00:00
Kit Langton 766318a4cf effect(snapshot): migrate to AppProcess.run (#27189) 2026-05-13 10:46:14 -04:00
Kit Langton 8d5aa584b4 test(workspace): effectify sync start coverage (#27338) 2026-05-13 14:45:43 +00:00
Shoubhit Dash eed0eddc63 refactor(flags): route session workspaces through runtime flags (#27335) 2026-05-13 20:14:40 +05:30
Dax 8345152319 core: expose v2 model listing API (#25821) 2026-05-13 14:43:08 +00:00
Kit Langton bebe5442a5 chore: delete unused util/color module (#27331) 2026-05-13 14:02:17 +00:00
Kit Langton bc25342f34 chore: delete util/scrap module (#27330) 2026-05-13 14:01:19 +00:00
Kit Langton 762020f63a chore: delete unused util/network module (#27329) 2026-05-13 13:56:15 +00:00
Shoubhit Dash f13fc5a8a8 refactor(flags): route event system through runtime flags (#27323) 2026-05-13 17:44:09 +05:30
Shoubhit Dash 098bdd8ae2 refactor(flags): route plan mode through runtime flags (#27320) 2026-05-13 17:17:04 +05:30
Shoubhit Dash 4d205027ca refactor(flags): route scout through runtime flags (#27318) 2026-05-13 17:07:53 +05:30
opencode-agent[bot] 5975547c84 chore: generate 2026-05-13 11:19:45 +00:00
Shoubhit Dash 5b2b300602 fix(session): tighten http error contracts (#27308) 2026-05-13 16:48:18 +05:30
opencode-agent[bot] d488e3fd2a chore: generate 2026-05-13 10:18:40 +00:00
Shoubhit Dash 809af5c590 fix(provider): type auth errors (#27301) 2026-05-13 15:47:13 +05:30
vimtor 733bd3c74e chore: activate low tps alerts 2026-05-13 12:12:03 +02:00
opencode-agent[bot] 374951bf60 chore: generate 2026-05-13 09:39:54 +00:00
Victor Navarro 2e94f505a4 chore: add low tps model alerts (#27055) 2026-05-13 09:38:31 +00:00
opencode-agent[bot] 4498fc983d chore: generate 2026-05-13 09:36:51 +00:00
Shoubhit Dash 2e7cf92c8b fix(worktree): type expected errors (#27296) 2026-05-13 15:05:30 +05:30
Shoubhit Dash ccf93f3523 fix(session): make message reads effectful (#27291) 2026-05-13 14:40:12 +05:30
Shoubhit Dash 4b041716fc fix(server): remove storage not found defect fallback (#27287) 2026-05-13 14:15:53 +05:30
Shoubhit Dash b0dc8e4638 fix(session): use typed message reads in tools (#27280) 2026-05-13 14:12:51 +05:30
OpeOginni 596f241db5 fix(app): enhance error handling by unwrapping SDK-wrapped errors in formatServerError (#27061) 2026-05-13 13:53:10 +05:30
Luke Parker 3a810fcb9a perf(ui): render icons through an svg sprite (#26950) 2026-05-13 17:57:13 +10:00
opencode-agent[bot] e5af7ab99a chore: generate 2026-05-13 07:53:28 +00:00
Shoubhit Dash f01c6b3e37 fix(session): type message list not found errors (#27275) 2026-05-13 13:22:12 +05:30
Shoubhit Dash fed043a1ad fix(session): add typed message lookup wrappers (#27269) 2026-05-13 13:04:07 +05:30
Truffle 69c158f3a7 fix(vscode): keep custom provider picker open after partial add
The picker called setFetchedModels(undefined) unconditionally after
"Add Selected", wiping the remaining un-picked models. Users had to
re-fetch to add a subset twice in a row.

Filter the picked IDs out of fetchedModels and clear the selection.
Only close the picker when every fetched model has been added.

Refs: #10139
2026-05-13 07:11:30 +00:00
Shoubhit Dash e9a29e4908 fix(storage): type not found errors (#27265) 2026-05-13 12:25:04 +05:30
Brendan Allan d93a06431e refactor(app): clarify session_working logic in child-store (#27267) 2026-05-13 14:36:00 +08:00
opencode-agent[bot] 9fe912439b chore: generate 2026-05-13 05:41:29 +00:00
Shoubhit Dash dd46fddf22 test(cli): cover config json diagnostics (#27257) 2026-05-13 05:40:12 +00:00
opencode-agent[bot] d3d7b44e73 chore: generate 2026-05-13 05:32:32 +00:00
Shoubhit Dash 367665dba2 fix(cli): render tagged config errors (#27256) 2026-05-13 11:01:18 +05:30
Brendan Allan 4aaece29d9 feat(desktop): reintroduce AppStream MetaInfo for Linux desktop builds (#27253) 2026-05-13 13:14:39 +08:00
opencode-agent[bot] bed88ce50e chore: generate 2026-05-13 04:56:52 +00:00
Aiden Cline 28204720dc temporarily revert: preserve permission ordering by accepting a layered array (#27258) 2026-05-12 23:55:45 -05:00
Brendan Allan 10b99b2f5a build(ci): use native arm64 runner for desktop linux arm64 builds (#27250) 2026-05-13 12:52:18 +08:00
Shoubhit Dash 90c13d93f3 fix(server): hide unknown 500 details (#27251) 2026-05-13 10:15:28 +05:30
Aiden Cline 67e6408cef fix: disable image module for now (#27248) 2026-05-12 23:21:31 -05:00
Brendan Allan 3be65dff46 fix: add optional chaining to session_status access (#27247) 2026-05-13 12:09:36 +08:00
opencode-agent[bot] c5961205ef chore: update nix node_modules hashes 2026-05-13 03:44:43 +00:00
Brendan Allan ad6a8a1850 fix: use htmlrewriter2 instead of HTMLRewriter for node compat (#26309) 2026-05-13 03:28:08 +00:00
Kit Langton 46daede10c test(pty): migrate output isolation to Effect runner (#27235) 2026-05-13 03:25:52 +00:00
Kit Langton 8249baeb4e test(pty): migrate shell tests to Effect runner (#27238) 2026-05-13 03:20:20 +00:00
Frank 77e51b0a32 zen: stat worker 2026-05-12 23:19:25 -04:00
Aarav Sharma d9d460c1af fix: add kilocode_change markers to dialog-alert.tsx for multi-line message support 2026-05-12 21:16:08 -06:00
opencode-agent[bot] 784796e27a chore: generate 2026-05-13 03:14:19 +00:00
Kit Langton 913ea36ae6 test(server): scope MCP HttpApi handler (#27226) 2026-05-13 03:13:05 +00:00
Kit Langton 68c4951318 test(mcp): migrate lifecycle tests to Effect runner (#27205) 2026-05-13 03:05:30 +00:00
Kit Langton 6d3b2fe08b test(server): stabilize SDK project skill prompt test (#27239) 2026-05-13 03:01:29 +00:00
Kit Langton d88cef6ada test(mcp): migrate headers tests to Effect runner (#27237) 2026-05-13 02:56:29 +00:00
Kit Langton 8370d0cef4 test(server): migrate httpapi ui tests to effect runner (#27236) 2026-05-13 02:55:36 +00:00
Kit Langton 0b67e1a046 test(server): migrate session messages to Effect runner (#27234) 2026-05-13 02:55:33 +00:00
Kit Langton 485ecbde18 test(server): migrate global session list to effect runner (#27233) 2026-05-13 02:52:59 +00:00
Kit Langton 03cf833236 test(provider): migrate DigitalOcean provider test to Effect runner (#27232) 2026-05-13 02:51:11 +00:00
Kit Langton e3684f36f9 chore: delete unused util/abort module + orphaned leak test (#27230) 2026-05-13 02:46:41 +00:00
Kit Langton 13fbc9acfc docs(effect): add cleanup roadmap (#27228) 2026-05-13 02:45:26 +00:00
Kit Langton 588b5240d0 test(server): migrate worktree endpoint repro to effect runner (#27220) 2026-05-13 02:43:41 +00:00
qunqin 80543fb5dc fix(desktop): resolve login shell when loading env (#26449)
Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com>
2026-05-13 10:40:36 +08:00
Kit Langton ff16eb8dea test(project): use Deferred for dispose handoff (#27225) 2026-05-13 02:32:50 +00:00
Aarav Sharma a7c12dca33 fix(tui): handle newlines in DialogAlert messages
The DialogAlert component was rendering '\n' literally instead of
converting it to actual line breaks. This fix:
- Imports For from solid-js for proper list rendering
- Uses flexDirection='column' to stack lines vertically
- Replaces escaped \n with actual newlines before splitting

This affects the Teams tab message which displays:
'You're not a member of any teams.\nVisit https://app.kilo.ai...'
2026-05-12 20:32:34 -06:00
Kit Langton 91a9514ed0 test(server): use AppFileSystem in provider tests (#27227) 2026-05-13 02:32:30 +00:00
Brendan Allan 2f4dce789f app: use session_working helper to simplify loading states (#27212) 2026-05-13 10:27:05 +08:00
opencode-agent[bot] b43147440c chore: generate 2026-05-13 02:16:48 +00:00
Kit Langton c96a77c60b test(pty): migrate session tests to Effect runner (#27222) 2026-05-13 02:15:38 +00:00
opencode-agent[bot] 6cd2a743b5 chore: generate 2026-05-13 02:10:48 +00:00
Luke Parker 0f8517208b perf(app): unmount closed review panel (#27221) 2026-05-13 12:09:34 +10:00
Kit Langton 0879f5e22d test(server): migrate project init git test to Effect runner (#27218) 2026-05-13 02:08:55 +00:00
opencode-agent[bot] 16333b5222 chore: generate 2026-05-13 02:08:16 +00:00
Kit Langton e16f4b6b99 test(permission): migrate next tests to effect runner (#27217) 2026-05-13 02:06:58 +00:00
Kit Langton 6fbb08b724 test(project): migrate instance tests to effect runner (#27215) 2026-05-13 02:06:16 +00:00
Kit Langton a26a2a95bd test(server): migrate provider httpapi test to effect runner (#27216) 2026-05-13 02:05:52 +00:00
Kit Langton 7f9268f147 test(server): migrate global bus helper to Effect (#27214) 2026-05-13 02:04:46 +00:00
Kit Langton 5c7af682b9 test(server): migrate MCP HTTP API test to Effect runner (#27213) 2026-05-13 02:03:52 +00:00
Kit Langton 911b2ac088 test(session): migrate prompt tests to effect runner (#27209) 2026-05-13 01:51:35 +00:00
Kit Langton da689d77c4 effect: move tool flags into RuntimeFlags (#27198) 2026-05-12 21:45:53 -04:00
opencode-agent[bot] c9df833d2c chore: generate 2026-05-13 01:45:20 +00:00
Aiden Cline c2b1ebd9dc feat: update pricing schema for models to ensure more accurate cost tracking (#27184) 2026-05-12 20:44:06 -05:00
Kit Langton d1356f509e test(server): migrate HTTP API SDK test to Effect runner (#27208) 2026-05-13 01:43:35 +00:00
opencode-agent[bot] 69feb224ba chore: update nix node_modules hashes 2026-05-13 01:43:08 +00:00
Kit Langton 7d9ac713a9 test(config): migrate TUI config tests to Effect runner (#27206) 2026-05-13 01:42:33 +00:00
Kit Langton 4d9c675b00 test(server): migrate httpapi session test to effect runner (#27207) 2026-05-13 01:40:25 +00:00
Kit Langton 604de70689 test(server): migrate experimental HttpApi test to Effect (#27204) 2026-05-13 01:40:07 +00:00
opencode-agent[bot] 673226d214 chore: generate 2026-05-13 01:39:46 +00:00
Kit Langton 2447f42294 test(server): migrate session select to effect runner (#27203) 2026-05-13 01:38:38 +00:00
Frank 005e64e7d8 zen: stat worker 2026-05-12 21:37:41 -04:00
Kit Langton 8310e7df70 test(server): migrate missing patch diff test (#27202) 2026-05-13 01:37:34 +00:00
Kit Langton c4e676b8a0 fix(task): preserve subagent self permissions (#27201) 2026-05-13 01:36:02 +00:00
opencode-agent[bot] c2c40b5b61 chore: generate 2026-05-13 01:28:35 +00:00
Kit Langton 456495289e fix(httpapi): drop redundant InstanceRef/WorkspaceRef in session prompt handler (#27196) 2026-05-13 01:27:08 +00:00
Sebastian d6367853ae Add TUI notifications and attention sounds (disabled by default) (#26980) 2026-05-13 03:26:25 +02:00
opencode-agent[bot] adccab5970 chore: generate 2026-05-13 01:26:12 +00:00
Kit Langton b6d3fa09bc effect(core): add AppProcess service (Phase 1) (#27178) 2026-05-13 01:24:53 +00:00
Kit Langton 31e2d72bf7 test(worktree): scope created worktree cleanup (#27191) 2026-05-12 21:09:58 -04:00
Kit Langton b7c6fa611f effect: add RuntimeFlags service (#27181) 2026-05-12 20:59:02 -04:00
opencode-agent[bot] d0b8ff0f22 chore: update nix node_modules hashes 2026-05-13 00:57:32 +00:00
Kit Langton 59b976b954 Remove TUI logo sound effects (#27183) 2026-05-12 20:37:16 -04:00
Luke Parker d1640c075b fix(app): use session status for busy state (#27166) 2026-05-13 10:25:28 +10:00
Kit Langton 17d4c366e6 test(worktree): dispose created instances before removal (#27182) 2026-05-12 20:23:20 -04:00
Kit Langton d0844c600b test(worktree): use timeoutOrElse for ready wait (#27180) 2026-05-12 20:14:05 -04:00
Dax Raad 1d243ce25a harden cache usage 2026-05-12 20:06:46 -04:00
Kit Langton d8c8322ddf test: migrate worktree tests to effect runner (#27177) 2026-05-12 19:55:07 -04:00
Kit Langton 1b6599f411 test(plugin): use noop dependency boundaries (#27148) 2026-05-12 19:53:46 -04:00
Aarav Sharma 0acf36b4c8 chore: add @internal JSDoc to test-only helper 2026-05-12 17:50:45 -06:00
opencode-agent[bot] 937a3c10b3 chore: generate 2026-05-12 23:49:28 +00:00
Kit Langton 72ce24c200 test: migrate effect cmd ALS test (#27173) 2026-05-12 23:48:17 +00:00
Kit Langton 3301fad8cd test: migrate app runtime logger effect tests (#27176) 2026-05-12 23:47:49 +00:00
Kit Langton 9c54255aeb fix: migrate sync http api test to effect runner (#27175) 2026-05-12 23:47:14 +00:00
Kit Langton b0674b473f test: migrate session action route to effect runner (#27174) 2026-05-12 23:46:51 +00:00
Kit Langton ded4da735b test: migrate webfetch tool tests to effect runner (#27171) 2026-05-12 23:46:23 +00:00
Kit Langton 2c334d9242 Migrate schema error body tests to Effect runner (#27172) 2026-05-12 23:46:19 +00:00
Kit Langton 81dd46abec test: migrate websearch tests to effect runner (#27170) 2026-05-12 23:45:01 +00:00
Aarav Sharma 1403b66092 test: add regression test for cancel memory leak
Adds a test that verifies cancel() on a session with no active tail
does not leave stale entries in the internal maps (versions, targets,
latest, activeSince). Also adds _hasInternalState() debug helper to
verify map cleanup.
2026-05-12 17:43:15 -06:00
opencode-agent[bot] baef5cd43b chore: generate 2026-05-12 22:11:13 +00:00
Andrew Suffield 65368f609d fix: preserve permission ordering by accepting a layered array (#23214)
Co-authored-by: Andrew Suffield <asuffield@cloudflare.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-05-12 17:09:06 -05:00
opencode-agent[bot] 2cb697b720 chore: generate 2026-05-12 21:24:39 +00:00
Aiden Cline cb511f78ff fix(plugin): preserve tool attachments (#27157) 2026-05-12 16:23:15 -05:00
Musa 159964b172 feat(plugin): add DigitalOcean OAuth + Inference Routers (#26095) 2026-05-12 16:22:40 -05:00
Kit Langton d9f9f1553b test: use Effect file services in migrated tests (#27154) 2026-05-12 20:48:07 +00:00
Kit Langton 0fb55b4f1a test(project): migrate global project tests to Effect runner (#27142) 2026-05-12 20:45:39 +00:00
Kit Langton 3c34f6704b test: migrate auth override plugin test (#27140) 2026-05-12 20:41:34 +00:00
Kit Langton 4cf088ae84 test: migrate instance bootstrap to Effect runner (#27144) 2026-05-12 20:34:12 +00:00
Aiden Cline ca28dd02ec fix(compaction): restore tail turns after summarization (#27145) 2026-05-12 15:33:16 -05:00
Kit Langton 2017dc165c test: migrate negative tokens regression to Effect runner (#27141) 2026-05-12 20:32:23 +00:00
Kit Langton dc9d6a08cb test: migrate agent color config tests (#27139) 2026-05-12 20:31:38 +00:00
Kit Langton af4ab017cb test(session): migrate structured output integration test (#27143) 2026-05-12 20:30:35 +00:00
Kit Langton dd14413a64 Preserve native LLM tool context (#27116) 2026-05-12 16:16:58 -04:00
Frank b9e7cbf13c sync 2026-05-12 16:06:19 -04:00
Kit Langton 3f74abc6cd test: simplify Effect migration follow-ups (#27136) 2026-05-12 20:00:54 +00:00
Kit Langton e0d0fe1ff7 test(bus): migrate integration tests to Effect runner (#27132) 2026-05-12 19:58:54 +00:00
opencode-agent[bot] f7dbb4dac4 chore: generate 2026-05-12 19:48:35 +00:00
Kit Langton c5849e56cc test(project): migrate project tests to Effect runner (#27134) 2026-05-12 19:47:17 +00:00
opencode-agent[bot] e46ab34d27 chore: generate 2026-05-12 19:44:26 +00:00
Kit Langton 1d4613006a test(project): migrate instance tests to Effect runner (#27130) 2026-05-12 19:41:46 +00:00
Kit Langton 71040c54aa test(plugin): migrate loader shared tests to Effect runner (#27129) 2026-05-12 19:41:44 +00:00
Kit Langton fec78154b5 test(bus): migrate bus tests to Effect runner (#27131) 2026-05-12 19:41:24 +00:00
Kit Langton 3e2ec192cf test(question): remove WithInstance bridge (#27128) 2026-05-12 19:40:01 +00:00
Kit Langton ec960da42a test(skill): migrate discovery tests to Effect runner (#27127) 2026-05-12 19:39:03 +00:00
Shoubhit Dash 45de4975de refactor(core): resolve default agent info (#27125) 2026-05-13 01:08:30 +05:30
Kit Langton e540daabc4 test(agent): migrate plan bypass tests to Effect runner (#27119) 2026-05-12 14:56:01 -04:00
opencode-agent[bot] f3c91c5f96 chore: generate 2026-05-12 18:52:25 +00:00
Kit Langton 549b146ea6 Stabilize session event tests (#27117) 2026-05-12 18:51:18 +00:00
Kit Langton 3c7569d852 test(tool): migrate external directory tests to Effect runner (#27122) 2026-05-12 18:50:56 +00:00
Kit Langton 8f1ded9e08 test(file): migrate ripgrep tests to Effect runner (#27120) 2026-05-12 18:50:26 +00:00
Kit Langton b668af29dd test(git): migrate git tests to Effect runner (#27121) 2026-05-12 18:50:07 +00:00
Kit Langton ec30ff9120 test(agent): migrate agent tests to Effect runner (#27118) 2026-05-12 18:49:30 +00:00
opencode-agent[bot] a3714d4399 chore: update nix node_modules hashes 2026-05-12 18:27:42 +00:00
Kit Langton 822eec0d62 Fix runner cancel completion (#27115) 2026-05-12 14:22:56 -04:00
Kit Langton 3974520742 Migrate UI cancel error to tagged error (#27112) 2026-05-12 18:09:00 +00:00
Kit Langton fda37b3609 Remove Zod from app global SDK (#27111) 2026-05-12 14:02:12 -04:00
Kit Langton 6b950b666a Remove Zod from core dependencies (#27107) 2026-05-12 13:51:08 -04:00
Kit Langton bc4fdb8370 Remove unused app ID schema (#27105) 2026-05-12 13:09:23 -04:00
Kit Langton 2b9af91568 Remove Zod from core log (#27102) 2026-05-12 13:08:57 -04:00
Kit Langton 53a3f95088 Make core fn Zod import type-only (#27103) 2026-05-12 12:58:50 -04:00
Dax Raad 5a4596c879 core: Wait 3 days before installing new package versions to reduce supply chain risk 2026-05-12 12:50:32 -04:00
opencode-agent[bot] 0ce614a280 chore: generate 2026-05-12 16:46:35 +00:00
Kit Langton e8125e9b42 test(server): migrate session list tests to Effect runner (#27101) 2026-05-12 16:45:05 +00:00
Kit Langton a7b5041674 test(file): migrate fsmonitor tests to Effect runner (#27099) 2026-05-12 16:44:04 +00:00
Kit Langton a16789dfdd test(tool): migrate apply patch tests to Effect runner (#27100) 2026-05-12 16:43:33 +00:00
Kit Langton 8115004c73 test(file): migrate path traversal tests to Effect runner (#27098) 2026-05-12 16:42:49 +00:00
Kit Langton ec4fdaf8e9 test(tool): migrate tool define tests to Effect runner (#27097) 2026-05-12 16:42:19 +00:00
Shoubhit Dash 3dc2c1d81c fix(session): preserve usage update timestamps (#27094) 2026-05-12 22:10:28 +05:30
Kit Langton d658e1e350 Remove local MCP Zod schema (#27095) 2026-05-12 12:38:27 -04:00
opencode-agent[bot] 30e3fa1de9 chore: generate 2026-05-12 16:33:06 +00:00
Aiden Cline 23f8b3eb3e fix: annotate Effect log metadata (#27093) 2026-05-12 11:31:18 -05:00
Kit Langton c7d8b0d565 Delete named schema error wrapper (#27066) 2026-05-12 12:04:28 -04:00
Kit Langton 257fcafc83 test(tool): migrate edit concurrency test (#26983) 2026-05-12 11:52:31 -04:00
Kit Langton 04aafe2bfc test(provider): migrate more config-backed cases (#27067) 2026-05-12 14:19:49 +00:00
opencode-agent[bot] 0fd0facc44 chore: generate 2026-05-12 13:31:03 +00:00
Kit Langton 0de3b67cc0 test(tool): migrate shell tests to Effect runner (#26968) 2026-05-12 13:28:46 +00:00
Kit Langton 28f38fc871 Remove Zod from named errors (#26982) 2026-05-12 09:20:15 -04:00
Shoubhit Dash 8feb4a31c7 feat(core): add background job service (#27033) 2026-05-12 15:22:38 +05:30
Simon Klee 8f05bbfaa6 prompt: fix cursor math for wide characters (#27017)
String.length counts code points, not display columns, so CJK
characters and emoji that occupy two terminal cells caused
misaligned cursors, broken mention triggers, and incorrect
history restoration offsets.

Use Bun.stringWidth for now, we need an alternative for this.

Fix #26716
Close #26922
2026-05-12 11:45:28 +02:00
Brendan Allan d276d96cdf fix(app): remember selected model variant when switching sessions/projects (#27029) 2026-05-12 17:44:50 +08:00
Luke Parker caf1151cb5 refactor(app): centralize sync query options (#25941)
Co-authored-by: Brendan Allan <git@brendonovich.dev>
Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com>
2026-05-12 16:40:21 +08:00
Brendan Allan ff38bbeeeb refactor(desktop): remove configureEnv callback from spawnLocalServer (#27022) 2026-05-12 16:39:56 +08:00
Shoubhit Dash 2481dde36d chore: remove codesearch tool (#27019) 2026-05-12 13:44:02 +05:30
Matt H 61174b7878 fix(tui): make websearch provider label reactive (#26943) 2026-05-12 08:01:16 +00:00
opencode-agent[bot] 907281a80a chore: generate 2026-05-12 06:44:09 +00:00
Brendan Allan 3992e2a76b feat(app): add ctrl/cmd+number keybinds to switch projects (#26280) 2026-05-12 14:43:07 +08:00
opencode-agent[bot] ea6eabe1d9 chore: generate 2026-05-12 05:20:22 +00:00
Dax 36d40fee4d Track session usage totals (#26644) 2026-05-12 01:18:57 -04:00
James Long e36bc20f84 fix(tui): fix flicker by avoiding redundant workspace session sync (#26997) 2026-05-12 00:30:03 -04:00
Aiden Cline 487575773d feat: create global opencode.jsonc if no configs exist (#26992) 2026-05-11 23:13:22 -05:00
opencode-agent[bot] 5cc84800dc chore: generate 2026-05-12 03:43:40 +00:00
James Long 2b432d9e03 fix(tui): scope events by project (#26936) 2026-05-11 23:42:04 -04:00
opencode-agent[bot] 591eb667d5 chore: generate 2026-05-12 03:26:47 +00:00
Aiden Cline ddce776225 ignore: add codebase skill to repo (#26990) 2026-05-12 03:25:41 +00:00
Aiden Cline 1a28924ed8 fix: grep external directory permission evaluation (#26958) 2026-05-11 21:47:35 -05:00
Brendan Allan 871374804f fix(app): use keyed Show for project in layout (#26985) 2026-05-12 10:39:36 +08:00
Brendan Allan 78a2639e5e fix(app): open next project when closing current one (#26987) 2026-05-12 10:38:21 +08:00
Kit Langton cc1835e0db test(provider): migrate config-backed cases to Effect runner (#26969) 2026-05-12 02:23:52 +00:00
Kit Langton 0f5d4ae648 test(project): stabilize VCS branch update test (#26979) 2026-05-11 22:12:07 -04:00
Kit Langton ce72020750 test(tool): migrate edit tests to Effect runner (#26977) 2026-05-11 21:42:17 -04:00
Kit Langton c43d606f8e agent: use Effect schema for generated agent object (#26973) 2026-05-11 21:42:04 -04:00
Kit Langton 1007630347 Migrate runtime validators to Effect Schema (#26975) 2026-05-11 21:41:56 -04:00
Kit Langton 9e8274d2da Remove internal Zod schemas (#26974) 2026-05-11 21:40:44 -04:00
Kit Langton 74aa735e6a fix(tui): guard prompt submit against concurrent invocation (#26972) 2026-05-12 01:35:28 +00:00
Kit Langton 8030a6c187 Emit LLM stream lifecycle events (#26971) 2026-05-11 21:31:48 -04:00
Kit Langton e5aa5161f2 Remove effect-zod bridge (#26956) 2026-05-11 21:14:55 -04:00
Kit Langton abb1ee6278 docs(test): add Effect migration orchestration notes (#26963) 2026-05-11 20:59:51 -04:00
Kit Langton c4003579bb test(project): migrate VCS tests to Effect runner (#26965) 2026-05-11 20:59:34 -04:00
Kit Langton 0d9c534184 test(snapshot): migrate snapshot tests to Effect runner (#26964) 2026-05-11 20:59:31 -04:00
Aiden Cline 5773d43cbf ci: GitHub Actions dependencies (#26962) 2026-05-11 19:50:35 -05:00
opencode-agent[bot] e0e9414cbd chore: generate 2026-05-12 00:41:30 +00:00
Kit Langton 44edb639c2 test(session): migrate message pagination to Effect runner (#26957) 2026-05-12 00:40:23 +00:00
Kit Langton fbd52ca2f4 test(file): migrate file tests to Effect runner (#26959) 2026-05-12 00:39:31 +00:00
opencode-agent[bot] 8015ff7ca5 chore: generate 2026-05-12 00:33:34 +00:00
Kit Langton ec9584177f docs(test): plan Effect test migration (#26954) 2026-05-11 20:32:27 -04:00
Kit Langton 061efc6cf2 Fix run JSON output draining (#26955) 2026-05-11 20:30:23 -04:00
Brendan Allan fe374aea46 feat(app): persist todo dock collapsed state (#26953) 2026-05-11 23:59:38 +00:00
Kit Langton 46edc98f10 Validate TUI config with Effect Schema (#26952) 2026-05-11 23:51:45 +00:00
Kit Langton fdeb2748e1 test(agent): isolate plugin agent regression (#26948) 2026-05-11 19:38:54 -04:00
Kit Langton 59e6967b8f Generate config schema from Effect Schema (#26939) 2026-05-11 19:24:58 -04:00
opencode-agent[bot] 0c619cb59c chore: generate 2026-05-11 22:34:04 +00:00
Frank 0cf90109dc zen: tps rate limit 2026-05-11 18:32:39 -04:00
Kit Langton 812668ae2f Generate TUI schema from Effect Schema (#26945) 2026-05-11 17:50:14 -04:00
Kit Langton a5c35bf182 Avoid bootstrapping server plugins from TUI plugin runtime (#26938) 2026-05-11 17:32:16 -04:00
opencode-agent[bot] bdd5a80886 chore: update nix node_modules hashes 2026-05-11 21:28:49 +00:00
Kit Langton fd65d29dcc Drop unused opencode Zod statics (#26935) 2026-05-11 17:14:18 -04:00
Kit Langton d3caac5270 chore(deps): upgrade effect to 4.0.0-beta.65 (#26934) 2026-05-11 21:09:57 +00:00
Kit Langton fe7ca3421e Drop Config Info Zod static (#26933) 2026-05-11 16:49:22 -04:00
Kit Langton cc95197d72 Drop prompt input Zod statics (#26923) 2026-05-11 16:49:08 -04:00
James Long 9067218b74 fix(core): always start worktrees as detached (#26931) 2026-05-11 16:22:25 -04:00
Kit Langton 42a0453945 Drop small session Zod statics (#26921) 2026-05-11 16:12:31 -04:00
Kit Langton 4d9eb6c320 Validate structured output tests with Effect Schema (#26919) 2026-05-11 16:11:25 -04:00
Kit Langton c060c436b6 Drop LSP config Zod statics (#26920) 2026-05-11 16:11:11 -04:00
Kit Langton 45adfedd64 Drop unused domain Zod statics (#26927) 2026-05-11 16:10:58 -04:00
opencode-agent[bot] 0bced8ec96 chore: update nix node_modules hashes 2026-05-11 17:32:56 +00:00
Kit Langton 8d9b9719be Drop unused small ID Zod statics (#26908) 2026-05-11 13:22:59 -04:00
Kit Langton c7e084c32c Simplify single-backend HttpApi exerciser (#26906) 2026-05-11 13:22:31 -04:00
Kit Langton 6f2f759fbb Clean up post-Hono references (#26903) 2026-05-11 13:20:54 -04:00
opencode-agent[bot] cddab63808 chore: generate 2026-05-11 17:17:38 +00:00
Shoubhit Dash 12583b18f0 feat(tui): pin, quick-switch, and cycle recent sessions (#26858) 2026-05-11 22:46:27 +05:30
Kit Langton df386bd651 feat(skill): enable customize-opencode by default, link full schema (#26899) 2026-05-11 13:13:41 -04:00
opencode-agent[bot] 25b12ed754 chore: generate 2026-05-11 17:06:57 +00:00
Kit Langton 023e1c711e refactor(llm): colocate per-type factories on their namespaces (#26799) 2026-05-11 13:05:41 -04:00
Kit Langton 52f7ba7d4d fix(llm): drop removed dispatch option from recorded cache tests (#26900) 2026-05-11 11:48:30 -04:00
opencode-agent[bot] 19fce2bc6f chore: generate 2026-05-11 15:21:20 +00:00
Shoubhit Dash 4bae84c8b0 feat(scout): autocomplete configured mentions (#26843) 2026-05-11 20:50:03 +05:30
Kit Langton f240bba8e7 chore(http-recorder): remove content-matching dispatch mode (#26792) 2026-05-11 11:10:18 -04:00
Kit Langton bcee247988 Define project update input with Effect Schema (#26803) 2026-05-11 15:05:31 +00:00
Kit Langton 64c504212a Parse command config with Effect Schema (#26801) 2026-05-11 10:22:45 -04:00
opencode-agent[bot] 6592d80460 chore: generate 2026-05-11 14:13:39 +00:00
Sebastian d821650b48 add default diff parser for markdown fenced code blocks (#26887) 2026-05-11 14:12:32 +00:00
Victor Navarro 6c9f12bb2d chore: exclude status 429 from free model alerts (#26879) 2026-05-11 16:04:54 +02:00
opencode-agent[bot] fca89e5e4d chore: generate 2026-05-11 13:44:39 +00:00
Frank 1eff01b6a5 sync 2026-05-11 09:43:12 -04:00
opencode-agent[bot] e93b1f3a7f chore: generate 2026-05-11 13:38:44 +00:00
Frank 8874d4a42f zen: deekseek v4 flash free 2026-05-11 09:37:14 -04:00
Brendan Allan c933504d9c fix(ui): better handle patch file support when rendering patch/edit tools (#26828) 2026-05-11 17:21:59 +08:00
Shoubhit Dash 2d0d3d596e feat(compaction): serialize compaction tail (#26830) 2026-05-11 13:40:36 +05:30
opencode-agent[bot] 3bd98ea055 chore: generate 2026-05-11 07:28:32 +00:00
Shoubhit Dash 7e997cfba4 refactor(scout): resolve configured reference mentions (#26701) 2026-05-11 12:57:26 +05:30
Brendan Allan 5d6f2a1524 fix(ui): use part_text_accum_delta to prevent markdown cutoff during streaming (#26822) 2026-05-11 15:15:03 +08:00
opencode-agent[bot] b1cb71856e chore: generate 2026-05-11 05:27:40 +00:00
Aiden Cline 518264fcd9 fix(opencode): fix full session fork (#26811) 2026-05-11 00:26:36 -05:00
Dax 7235c9c9b8 Trace data migrations (#26809) 2026-05-11 03:23:01 +00:00
Kit Langton 274033cd52 Validate prompt messages with Effect Schema (#26796) 2026-05-11 02:59:20 +00:00
Kit Langton 9b369ee815 chore(llm): make cache: 'auto' the default (#26798) 2026-05-10 22:46:01 -04:00
Sebastian 721ff5121e fix prompt history behaviour and session line up/down commands (#26797) 2026-05-11 02:27:46 +00:00
opencode-agent[bot] cfbf5d1c6f chore: update nix node_modules hashes 2026-05-11 02:20:35 +00:00
opencode-agent[bot] 02cb7e7b71 chore: generate 2026-05-11 02:11:07 +00:00
Kit Langton 942630eb4a feat(llm): cache-policy auto-placement (#26786) 2026-05-10 22:09:55 -04:00
opencode ce66b191d1 sync release versions for v1.14.48 2026-05-11 02:07:48 +00:00
opencode 4d8ac17c26 release: v1.14.48 2026-05-11 02:07:37 +00:00
Kit Langton 6f1f5944ce Delete unused opencode Zod helpers (#26793) 2026-05-10 21:57:18 -04:00
opencode-agent[bot] 1c49b2ed67 chore: generate 2026-05-11 01:55:22 +00:00
opencode-agent[bot] 3c6be604ec chore: update nix node_modules hashes 2026-05-11 01:54:13 +00:00
Kit Langton ddc02c2893 Drop synchronous SyncEvent facades (#26789) 2026-05-11 01:53:50 +00:00
Kit Langton 2703eff2e2 refactor(llm): normalize Usage as inclusive total + non-overlapping breakdown (#26735) 2026-05-10 21:52:50 -04:00
opencode-agent[bot] 38e4540119 chore: generate 2026-05-11 01:41:26 +00:00
Dax Raad 4100fcbd17 disable image resizing 2026-05-10 21:40:12 -04:00
Kit Langton 83cb0f60ec Drop EventV2 run facade (#26783) 2026-05-10 21:26:28 -04:00
Kit Langton effd96755e Use SyncEvent service at event call sites (#26782) 2026-05-10 21:20:13 -04:00
opencode-agent[bot] 5801cce1b5 chore: generate 2026-05-11 01:18:39 +00:00
Kit Langton 77e6c0d329 feat(llm): cache hint TTL, breakpoint cap, and tool placement (#26779) 2026-05-10 21:17:38 -04:00
Kit Langton fed716ada5 Clarify compaction test harness (#26777) 2026-05-10 20:41:21 -04:00
opencode 426d92e352 sync release versions for v1.14.47 2026-05-11 00:23:17 +00:00
opencode-agent[bot] d0412a213b chore: generate 2026-05-11 00:18:03 +00:00
Kit Langton 16aa67086b Effectify remaining compaction process tests (#26776) 2026-05-10 20:17:01 -04:00
Dax 7cea32ee08 Add background code migration service (#26652) 2026-05-11 00:16:42 +00:00
Kit Langton 128d10d9e9 Simplify compaction test helpers (#26742) 2026-05-10 20:03:11 -04:00
Kit Langton 5ef72e1101 Drop unused ID Zod statics (#26740) 2026-05-10 19:58:21 -04:00
Kit Langton d8060dc9ad Drop compaction create facade (#26739) 2026-05-10 19:54:16 -04:00
Kit Langton f71fb18d3d Replace compaction create test fixtures (#26738) 2026-05-10 19:53:22 -04:00
Sebastian 5654dd2aad restore managed textarea keymap handling (#26771) 2026-05-11 01:45:59 +02:00
Kit Langton 64dde0cb15 Migrate compaction tool-call test (#26737) 2026-05-10 19:44:42 -04:00
Kit Langton a658e43eeb Migrate compaction plugin test (#26736) 2026-05-10 19:42:44 -04:00
Kit Langton ca8a42c973 Migrate LLM compaction tail tests (#26734) 2026-05-10 19:41:28 -04:00
Kit Langton 8f5f75db12 Migrate compaction LLM test (#26733) 2026-05-10 19:20:44 -04:00
Kit Langton 4ff0d07b1d Migrate configurable compaction tests (#26732) 2026-05-10 19:18:02 -04:00
Kit Langton 2a571b3cee Migrate compaction overflow tests (#26731) 2026-05-10 19:12:49 -04:00
Dax 0fffcdfe46 Persist session model switches outside event flag (#26765) 2026-05-10 18:53:14 -04:00
Dax 2ba2ee52e8 docs: document bun dev tmux capture (#26764) 2026-05-10 17:41:20 -04:00
Frank 56d818fc34 zen: fix reasoning token for openai compatible endpoint 2026-05-10 13:36:02 -04:00
Kit Langton 9c8da69196 Use Effect timeout in compaction test (#26728) 2026-05-10 12:45:54 -04:00
opencode-agent[bot] a78018697c chore: generate 2026-05-10 16:44:40 +00:00
Kit Langton e45b6ef1de refactor(http-recorder): use Schema.TaggedErrorClass for cassette errors (#26729) 2026-05-10 16:43:33 +00:00
opencode-agent[bot] b616543ac2 chore: generate 2026-05-10 16:30:55 +00:00
Kit Langton 2bd3d9a696 refactor(http-recorder): hide cassette format behind Cassette seam (#26725) 2026-05-10 12:29:55 -04:00
Kit Langton fa15dbc5ec Migrate compaction process tests (#26723) 2026-05-10 12:25:44 -04:00
opencode-agent[bot] 312e5c7a7c chore: generate 2026-05-10 16:22:29 +00:00
Kit Langton 049502fac6 fix(server): return diagnosable body for schema rejections (#26631) 2026-05-10 16:21:32 +00:00
opencode-agent[bot] cc2915be16 chore: generate 2026-05-10 16:20:16 +00:00
Kit Langton ce061bf661 Add explicit LLM stream lifecycle events (#26722) 2026-05-10 12:19:13 -04:00
Frank 3b8790e034 zen: fix usage css on mobile 2026-05-10 12:14:11 -04:00
Kit Langton a4f3cedcdf Start effect-style compaction tests 2026-05-10 16:12:00 +00:00
opencode-agent[bot] 1c9a2eb239 chore: generate 2026-05-10 16:06:18 +00:00
Kit Langton 4fb417d3b5 feat(http-recorder): default mode to "auto" (#26719) 2026-05-10 16:05:11 +00:00
Kit Langton 11030c627b Scope boolean query overrides 2026-05-10 11:57:52 -04:00
opencode-agent[bot] c104098a66 chore: generate 2026-05-10 15:55:49 +00:00
Kit Langton 49ee3ba85a Source diff message query pattern (#26638) 2026-05-10 11:54:54 -04:00
Aarav Sharma 0bddf1e755 fix(cli): prevent memory leak in KiloSessionPromptQueue.cancel for sessions without active tails
The cancel() function was always incrementing and storing a version in the
versions map, even for sessions with no queued prompts. Since cleanup only
happens in enqueue's release phase, sessions without active tails left
permanent map entries.

Now cancel() checks if the session has an active tail before modifying state.
If no tail exists, it cleans up any existing versions/targets/latest/activeSince
entries instead of creating new ones.
2026-05-10 09:05:43 -06:00
opencode-agent[bot] 4fc538378d chore: generate 2026-05-10 14:50:21 +00:00
Kit Langton d28b5ad2f4 refactor(http-recorder): Redactor + Recorder seams, README (#26636) 2026-05-10 10:49:22 -04:00
opencode-agent[bot] 6589a66822 chore: generate 2026-05-10 12:28:11 +00:00
Shoubhit Dash 5cf9abe743 feat(scout): materialize configured reference repos (#26692) 2026-05-10 17:57:11 +05:30
Frank 903d81819d Zen: add Ring 2.6 1T 2026-05-10 03:51:34 -04:00
opencode-agent[bot] 472f9e64a6 chore: update nix node_modules hashes 2026-05-10 07:06:30 +00:00
Frank c04fa9e253 sync: revert
This reverts commit 3a7f617098.
2026-05-10 02:58:46 -04:00
opencode-agent[bot] 3a78fb1f42 chore: generate 2026-05-10 06:49:21 +00:00
Aiden Cline 85ce6a5f95 feat: better image handling (auto resize & max size constraints) (#26401) 2026-05-10 01:48:19 -05:00
opencode-agent[bot] 5217e6c1af chore: generate 2026-05-10 06:39:09 +00:00
Frank 3a7f617098 go: add tencent icon 2026-05-10 02:37:50 -04:00
opencode-agent[bot] d9150413cb chore: generate 2026-05-10 06:24:35 +00:00
Jack bcbc1dba22 Go add hy3 preview (#26533) 2026-05-10 02:23:34 -04:00
Frank ce3235e115 sync 2026-05-10 02:17:32 -04:00
opencode-agent[bot] a9a2a597d5 chore: generate 2026-05-10 04:30:04 +00:00
Dax 3753601f87 Format TUI paths relative to session directory (#26648) 2026-05-10 04:29:02 +00:00
Kit Langton fb4bab8a66 Remove redundant ID Zod overrides (#26633) 2026-05-09 23:12:21 -04:00
opencode-agent[bot] b3526f6ce9 chore: generate 2026-05-10 03:03:37 +00:00
Kit Langton f220f02a2f Source workspace path pattern (#26632) 2026-05-09 23:02:31 -04:00
opencode-agent[bot] 235a86fb60 chore: generate 2026-05-10 02:59:46 +00:00
Kit Langton 67b9c9c027 Source HTTP API ID path patterns (#26623) 2026-05-09 22:58:47 -04:00
opencode 2f11c9f7ed sync release versions for v1.14.46 2026-05-10 02:34:36 +00:00
opencode d802b0a277 release: v1.14.46 2026-05-10 02:34:25 +00:00
opencode-agent[bot] e1c1193f3e chore: generate 2026-05-10 02:11:45 +00:00
Kit Langton 29250a0efb fix(session): loosen remaining stored numeric schemas to tolerate legacy data (#26622) 2026-05-09 22:10:48 -04:00
Kit Langton c6e6bdf59f fix(session): tolerate negative token counts in stored parts (#26620) 2026-05-09 22:10:44 -04:00
opencode-agent[bot] d80e1199ca chore: generate 2026-05-10 02:06:39 +00:00
Kit Langton 10ea59066f feat(skill): built-in opencode-meta skill (#26617) 2026-05-09 22:05:37 -04:00
Kit Langton 79d6b10d7c fix(mcp): tolerate output schema ref failures (#26614) 2026-05-09 22:03:59 -04:00
Kit Langton 6e78f36a0f Narrow HTTP API numeric query overrides (#26618) 2026-05-09 22:02:51 -04:00
Kit Langton 16866e1180 Share HTTP API boolean query schema (#26615) 2026-05-09 21:41:15 -04:00
opencode-agent[bot] 6d130e5deb chore: generate 2026-05-10 01:13:41 +00:00
Kit Langton e30d8173c1 Fix OpenAPI workspace query drift (#26609) 2026-05-09 21:12:34 -04:00
kirillk 9e192da986 Merge remote-tracking branch 'origin/main' into crystalline-dive 2026-05-09 21:11:24 -04:00
opencode 7a79f3a5ea sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
Kit Langton b8ca71d309 fix(task): subagent inherits parent agent's deny rules (Plan Mode security bypass) (#26597)
Co-authored-by: Developer <temp@example.com>
2026-05-09 23:51:55 +00:00
Kit Langton 6849f96825 refactor(provider): share model status schema (#26595)
Co-authored-by: Developer <temp@example.com>
2026-05-09 19:20:31 -04:00
Kit Langton 00c3248295 fix(config): allow active provider model status (#26592)
Co-authored-by: Developer <temp@example.com>
2026-05-09 18:59:05 -04:00
opencode-agent[bot] 818b56dbd0 chore: generate 2026-05-09 22:47:54 +00:00
Kit Langton 29b5b24787 fix(tui): aggregate bootstrap request failures
TUI bootstrap now reports all parallel fetch failures together instead of losing sibling failures after the first rejection.
2026-05-09 18:46:52 -04:00
Kit Langton 11363170ca fix(sdk): wrap thrown error bodies in Error
SDK throwOnError paths now convert structured response bodies into real Error instances while preserving the original body and status in cause.
2026-05-09 18:46:43 -04:00
Kit Langton ba9e4b67ed fix(tool/read): match permission patterns against worktree-relative path
Read permission checks now use the same worktree-relative path basis as edit/write/apply_patch, so configured patterns apply consistently.
2026-05-09 18:46:29 -04:00
Kit Langton bd1029b19f test(server): cover HttpApi context inheritance
Adds regression coverage for request context inheritance in promptAsync and explicit context provisioning in stream bodies.
2026-05-09 18:46:10 -04:00
Kit Langton 43b51f09d0 fix(httpapi): align runtime query schemas with workspace routing params (#26581)
Co-authored-by: Developer <temp@example.com>
2026-05-09 16:50:30 -04:00
opencode-agent[bot] c61ab51886 chore: generate 2026-05-09 20:45:29 +00:00
Kit Langton d373c562f2 fix(session): accept legacy summary diffs (#26579)
Co-authored-by: Developer <temp@example.com>
2026-05-09 16:44:24 -04:00
opencode-agent[bot] 5fa5d876fc chore: generate 2026-05-09 20:31:32 +00:00
Kit Langton 805af011c9 test(session): regression test for #26574 + mirror loosening on Vcs.FileDiff (#26578)
Co-authored-by: Developer <temp@example.com>
2026-05-09 16:30:31 -04:00
opencode-agent[bot] 480aa8b23b chore: generate 2026-05-09 20:24:28 +00:00
OpeOginni d62442bb5d fix(sessions): allow optional patch field in diff for migrated sessions (#26574) 2026-05-09 16:23:28 -04:00
Kit Langton 8602937a37 test(session): cover workspace-routed messages (#26576) 2026-05-09 16:19:06 -04:00
Kit Langton 77da433e0a fix(session): accept routing params in message list (#26569)
Co-authored-by: Developer <temp@example.com>
2026-05-09 16:02:35 -04:00
opencode-agent[bot] ad79f3e0cf chore: generate 2026-05-09 19:59:00 +00:00
Kit Langton 6c2dfd2f52 fix(tui): guard messages.data in session.sync against undefined (#26566)
Co-authored-by: Developer <temp@example.com>
2026-05-09 19:58:03 +00:00
Sebastian 9a8b54fe62 Plugin command API shim (#26564) 2026-05-09 21:56:49 +02:00
Dax dcdbdb218f Move schema utilities into core (#26565) 2026-05-09 19:51:09 +00:00
Kit Langton 5e49029e70 fix(provider): isolate plugin model mutations (#26561)
Co-authored-by: Developer <temp@example.com>
2026-05-09 15:47:07 -04:00
opencode 19abadaf27 sync release versions for v1.14.44 2026-05-09 19:33:26 +00:00
Kit Langton 6fea0178eb fix(server): defer validation error body change 2026-05-09 14:50:45 -04:00
Kit Langton ebe9dcf27e fix(server): return validation error bodies 2026-05-09 14:39:25 -04:00
Kit Langton 57efec4429 fix(storage): default workspace time migration (#26556) 2026-05-09 14:18:55 -04:00
opencode e22144806f sync release versions for v1.14.43 2026-05-09 18:06:16 +00:00
Kit Langton 27fa297a42 fix(server): keep provider lists JSON-safe (#26550) 2026-05-09 13:40:46 -04:00
Aarav Sharma e1e75a382d style: format imports in session.tsx 2026-05-09 11:17:12 -06:00
Aarav Sharma e362e192ac agent-manager: use configModel for new worktree dialog and clear stale overrides on config change
- Replace session.selected() with session.configModel() in NewWorktreeDialog to reflect the configured model rather than the selected session model.
- Add configModel to SessionContext and implement an effect that clears session overrides matching the old config model when the global config model changes, ensuring sessions pick up the new config model.
2026-05-09 11:12:16 -06:00
Aiden Cline b1cd25de3d ignore: fix typerrs on dev (#26544) 2026-05-09 12:08:00 -05:00
opencode 780bbb0f3b sync release versions for v1.14.42 2026-05-09 16:54:43 +00:00
opencode 23c6b69abf release: v1.14.42 2026-05-09 16:54:32 +00:00
Steffen Deusch 817cb076a8 fix(acp): include tool image attachments in updates (#25128) 2026-05-09 11:45:44 -05:00
opencode-agent[bot] 347526e9fd chore: generate 2026-05-09 16:32:52 +00:00
Polo123456789 092bc674a5 fix(sidebar): fix logic and missleading message #26469 (#26470) 2026-05-09 11:31:46 -05:00
Kit Langton b24a4e897e chore(server): clean up post-Hono-deletion scar tissue (#26542) 2026-05-09 12:30:18 -04:00
opencode-agent[bot] 3afa622eab chore: update nix node_modules hashes 2026-05-09 13:22:38 +00:00
opencode-agent[bot] d01cb7f013 chore: generate 2026-05-09 13:11:45 +00:00
Kit Langton 28b03595bf research: delete Hono backend (do not merge) (#25667) 2026-05-09 13:10:42 +00:00
Kit Langton 32684e70e6 test(server): expect null body from HTTP API authorize() with no redirect (#26515) 2026-05-09 08:50:00 -04:00
truffle a1e487b044 test(cli): switch to disposeAllInstances fixture helper after Instance API migration
PR #25418 replaced Instance.disposeAll with the disposeAllInstances helper
re-exported from test/fixture/fixture. Match the pattern used by the
sister tests in test/kilocode/.
2026-05-09 05:13:38 +00:00
truffle 99b3169b63 Merge remote-tracking branch 'upstream/main' into fix/tui-submodule-session-worktree-family 2026-05-09 05:12:54 +00:00
truffle 4c8a4064fc test(cli): align Log import with @opencode-ai/core path after util refactor
The src/util barrel was split into per-file modules in main; every other
test in test/kilocode/ now imports Log from @opencode-ai/core/util/log
directly. Match the pattern.
2026-05-09 05:07:42 +00:00
opencode-agent[bot] b2baddcd37 chore: generate 2026-05-09 04:31:07 +00:00
Kit Langton dbd48d423d fix(server): match Hono wire format for authorize undefined and share errors (#26474) 2026-05-09 00:30:00 -04:00
Kit Langton e7cc8259b5 test(server): drop flaky account error-mapping test (#26475) 2026-05-09 00:29:31 -04:00
opencode-agent[bot] a9ccb0804f chore: generate 2026-05-09 04:22:25 +00:00
Kit Langton ebe6087e8f fix(server): return structured validation errors (#26457) 2026-05-09 00:21:19 -04:00
Kit Langton dc978cb889 fix(server): validate permission and question ids (#26456) 2026-05-09 00:20:28 -04:00
Kit Langton 8cbc43fbb0 fix(server): include auth challenge on typed 401 (#26455) 2026-05-09 00:15:20 -04:00
opencode-agent[bot] 82359c4b1b chore: generate 2026-05-09 04:06:08 +00:00
Kit Langton 7f3e51453b test(server): use Layer.mock for partial Account service stub (#26472) 2026-05-09 00:05:05 -04:00
Kit Langton cbdb2d9825 test(server): expand workspace routing fixed-id coverage (#26458) 2026-05-09 00:00:18 -04:00
Kit Langton 96bde05f6e docs(server): explain why HTTP API PTY handler has no early-frame buffer (#26464) 2026-05-08 23:58:33 -04:00
Kit Langton dcb8ed8eb0 test(server): cover workspace sync fence protocol (#26441) 2026-05-08 23:55:47 -04:00
Kit Langton aab82cc1a7 test(project): rescue non-Hono InstanceBootstrap boundary tests (#26453) 2026-05-08 23:53:42 -04:00
Kit Langton cd1d1e81a6 test(server): run httpapi exercise effect mode in test:httpapi (#26452) 2026-05-08 23:48:29 -04:00
opencode-agent[bot] cff441909a chore: generate 2026-05-09 03:45:35 +00:00
Kit Langton 3615d5aab1 fix(server): map Account failures to typed 500 instead of defect (#26448) 2026-05-08 23:44:28 -04:00
opencode-agent[bot] 11d9e82eaf chore: generate 2026-05-09 03:42:23 +00:00
Kit Langton eadda11ec9 refactor(server): use JSON response for OpenAPI doc route (#26447) 2026-05-08 23:41:20 -04:00
Kit Langton f73a56c223 fix(server): log instance disposal failures from HTTP API lifecycle (#26446) 2026-05-08 23:40:06 -04:00
opencode-agent[bot] c0acf5c43f chore: generate 2026-05-09 03:18:57 +00:00
Kit Langton 4d585464f3 fix(server): include Origin in CORS preflight Vary header (#26445) 2026-05-08 23:17:47 -04:00
Jose Vargas f0cb17a812 fix(tui): sort session picker by full updated timestamp (#24725)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-05-08 22:17:13 -05:00
Kit Langton 357a74714a fix(test): set OPENCODE_EXPERIMENTAL_WORKSPACES in fence header test (#26466) 2026-05-08 23:12:08 -04:00
Kit Langton ffea6c7974 feat(server): add HTTP API response compression (#26440) 2026-05-08 23:06:00 -04:00
Kit Langton 8e9550d90d fix(server): emit fixed workspace fence headers (#26443) 2026-05-08 22:45:54 -04:00
James Long 9b7b6cb30f feat(core): be smarter about generating a worktree name (#26368) 2026-05-08 22:45:44 -04:00
Kit Langton cc68afb2de test(server): lock fixed workspace routing context (#26454) 2026-05-08 22:35:32 -04:00
Kit Langton 11c33d52a5 test(server): cover REST API project skills (#26451) 2026-05-09 02:23:21 +00:00
opencode-agent[bot] 2a487ea990 chore: generate 2026-05-09 02:21:54 +00:00
Kit Langton 9c05d4e2fd fix(server): serve HttpApi OpenAPI document (#26438) 2026-05-08 22:20:50 -04:00
Kit Langton 0745162eab test(server): harden HttpApi exercise coverage (#26425) 2026-05-08 20:50:01 -04:00
Kit Langton 21d055be19 fix(workspace): claim detached sessions to source project (#26413) 2026-05-08 20:25:53 -04:00
Luke Parker d19f7bc77c fix(web): normalize shell output carriage returns (#26426) 2026-05-09 10:24:57 +10:00
opencode-agent[bot] 8694da9309 chore: update nix node_modules hashes 2026-05-08 23:46:19 +00:00
Sebastian a0fc27e424 flatten to keybind compatible config (#26421) 2026-05-09 01:29:13 +02:00
opencode-agent[bot] 35deef6175 chore: generate 2026-05-08 21:19:51 +00:00
vimtor 36f8b7e47d chore: reduce alerts false positives 2026-05-08 23:18:04 +02:00
opencode-agent[bot] f4337dff3c chore: update nix node_modules hashes 2026-05-08 21:11:02 +00:00
opencode-agent[bot] ba8c920639 chore: generate 2026-05-08 20:57:36 +00:00
Kit Langton 5bb7b23440 Add native LLM core foundation (#24712) 2026-05-08 16:56:20 -04:00
opencode-agent[bot] dc7d665e94 chore: generate 2026-05-08 20:22:22 +00:00
Shoubhit Dash 40d5ea1cf1 feat(core): add scout agent for repo research (#24149)
Co-authored-by: Dax Raad <d@ironbay.co>
2026-05-08 20:20:08 +00:00
Chris Huber 6e47ae769e fix(cli): forward signals from npm shim (#26259)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-05-08 14:00:51 -05:00
opencode-agent[bot] 9ca4be62bd chore: generate 2026-05-08 18:51:43 +00:00
Dax fed221e0b0 fix(skill): allow missing descriptions (#26391) 2026-05-08 18:50:06 +00:00
Kit Langton 75308ea47d test(server): add HttpApi auth exercise mode (#26386) 2026-05-08 14:05:46 -04:00
Kit Langton daa3116f4b refactor(server): split HttpApi exercise harness (#26385) 2026-05-08 17:58:14 +00:00
opencode-agent[bot] 9e7f7bf8e4 chore: generate 2026-05-08 17:46:57 +00:00
Simon Klee 4d43d584fe cli/run: switch to global event stream (#26383) 2026-05-08 19:44:31 +02:00
Kit Langton 3052a79b32 refactor(server): clarify HttpApi route auth layers (#26372) 2026-05-08 13:06:00 -04:00
Rajvardhan Patil 13b3117ca9 fix(server): require auth for effect root routes (#26361)
Co-authored-by: Rajvardhan Patil <243567420+RajvardhanPatil07@users.noreply.github.com>
2026-05-08 16:39:11 +00:00
Aiden Cline 83bb216486 fix: ensure tools are always in same order (#26370) 2026-05-08 10:59:41 -05:00
opencode-agent[bot] fc46cef5fd chore: generate 2026-05-08 15:49:37 +00:00
Aiden Cline 799996db76 fix: adjust tui retry dialog logic to be more provider specific and error case specific (#26366) 2026-05-08 10:48:19 -05:00
opencode-agent[bot] df75bfe07c chore: generate 2026-05-08 15:10:32 +00:00
James Long c818c9dcb6 feat(core): allow external workspace creation (#26212) 2026-05-08 11:09:12 -04:00
Kit Langton c36ab3f935 fix(provider): align Gemini thinking controls (#26279) 2026-05-08 10:22:45 -04:00
vimtor e3c983c21f chore: reduce provider alerts query frequency 2026-05-08 14:00:24 +02:00
opencode-agent[bot] a196569f51 chore: generate 2026-05-08 11:56:55 +00:00
Sebastian 19da27e1cb internal which-key plugin, inactive by default (#26337) 2026-05-08 13:55:49 +02:00
Frank 4a737493ac Revert "zen: update tpm rate limit algo"
This reverts commit 6869186fc6.
2026-05-08 06:31:12 -04:00
opencode-agent[bot] ec301f6a2c chore: update nix node_modules hashes 2026-05-08 10:31:03 +00:00
opencode-agent[bot] ac7a885ae9 chore: generate 2026-05-08 10:18:22 +00:00
Simon Klee 7f2b5ee8c2 feat(opencode): add interactive split-footer mode to run (#23557) 2026-05-08 12:17:14 +02:00
vimtor 15784aa036 chore: reduce alerts threshold 2026-05-08 12:06:39 +02:00
opencode-agent[bot] edbc02855d chore: generate 2026-05-08 08:50:42 +00:00
Shoubhit Dash a43d3e0e1e feat(websearch): add parallel provider rollout (#26227) 2026-05-08 14:19:36 +05:30
Shoubhit Dash ae25278eda test(session): update go retry fixture (#26312) 2026-05-08 14:10:18 +05:30
Frank 6869186fc6 zen: update tpm rate limit algo 2026-05-08 03:52:59 -04:00
Frank f8c6742e54 zen: lift default rate limit 2026-05-08 03:52:59 -04:00
opencode-agent[bot] 014dbd34c4 chore: generate 2026-05-08 06:20:21 +00:00
Brendan Allan 21ae91b4f2 refactor(desktop): convert main process to Effect-TS (#26148) 2026-05-08 14:19:09 +08:00
Frank bb3f14119b tui: update go upsell copy 2026-05-08 01:51:33 -04:00
Luke Parker 6f165e23de perf(ui): defer tool status width measurement (#26282) 2026-05-08 15:36:28 +10:00
opencode-agent[bot] cef0c8ac84 chore: generate 2026-05-08 05:36:06 +00:00
Brendan Allan dd8bb44d1d refactor(desktop): use electron-log in shell-env and simplify env merging (#26284) 2026-05-08 13:34:53 +08:00
Frank 30868f52ea go: update rate limit error copy 2026-05-08 00:27:28 -04:00
opencode-agent[bot] 9c88235121 chore: generate 2026-05-08 04:18:54 +00:00
Aiden Cline 4e14f79511 fix: tweaks to transform logic for anthropic and bedrock (#26276) 2026-05-07 23:17:43 -05:00
Kit Langton e0396b809a fix(provider): align Anthropic Opus 4.5 efforts (#26275) 2026-05-08 00:06:07 -04:00
Kit Langton 319498e2fd fix(provider): constrain OpenAI deep research efforts (#26273) 2026-05-07 23:43:42 -04:00
Erik Demaine 2ba9aa2196 feat(desktop): working indicator on project sidebar (#26223) 2026-05-08 11:42:39 +08:00
opencode-agent[bot] 114eeb21dc chore: generate 2026-05-08 03:33:55 +00:00
Kit Langton 1cf8123bc6 fix(provider): align GPT-5 reasoning variants (#26268) 2026-05-07 23:32:47 -04:00
Frank db6a038829 sync 2026-05-07 22:55:50 -04:00
opencode-agent[bot] 6ff833a22b chore: generate 2026-05-08 02:40:47 +00:00
Sebastian 5c401673b2 improve go sub animation perf (#26251) 2026-05-08 04:39:42 +02:00
Kit Langton e8ce5df414 fix(tui): retain cleared prompt drafts (#26258) 2026-05-08 02:08:29 +00:00
Luke Parker b8799be3c8 feat(desktop): allow silent install and only user-wide scope (#26253) 2026-05-07 23:58:16 +00:00
opencode-agent[bot] 7ded0ec9e9 chore: generate 2026-05-07 21:54:31 +00:00
Aiden Cline f5d0371efe tui: go plan payg msg (#26248) 2026-05-07 16:53:24 -05:00
Frank 22e64cac67 sync: cleanup 2026-05-07 15:27:36 -04:00
vimtor 2a1305f231 chore: increase alerting threshold 2026-05-07 21:07:26 +02:00
opencode-agent[bot] e691e8f274 chore: update nix node_modules hashes 2026-05-07 18:55:24 +00:00
vimtor cc6dd5321c chore: improve variant parsing for zen 2026-05-07 20:38:14 +02:00
opencode-agent[bot] 2c17e3a4db chore: generate 2026-05-07 18:36:42 +00:00
Sebastian 98f5e6e713 introduce opentui keymap as sole key/cmd engine (#26053) 2026-05-07 20:35:31 +02:00
Frank 474e311f6f sync 2026-05-07 14:23:23 -04:00
Victor Navarro 626a488fb8 chore: track model variant in honeycomb (#26188) 2026-05-07 19:38:04 +02:00
Dax Raad a300a6cc7a rebase migrations properly 2026-05-07 12:38:29 -04:00
opencode fe594693a4 sync release versions for v1.14.41 2026-05-07 14:52:09 +00:00
opencode 8ba2a91715 release: v1.14.41 2026-05-07 14:51:57 +00:00
opencode-agent[bot] 98e091796b chore: generate 2026-05-07 14:25:30 +00:00
James Long 3c4b4d5faf feat(core): copy file changes when warping (#26190) 2026-05-07 10:24:17 -04:00
Alex Alecu 39c9a8fe8d fix(cli): accept local-review input 2026-05-07 15:49:17 +03:00
vimtor b6ff1b18c7 chore: activate free tier requests query 2026-05-07 14:10:47 +02:00
vimtor 9c9bc09f52 chore: fix free tier query 2026-05-07 13:58:41 +02:00
vimtor d6e06c8950 chore: fix free tier query 2026-05-07 13:41:14 +02:00
opencode-agent[bot] 844fb71938 chore: generate 2026-05-07 11:37:34 +00:00
vimtor fbb7b5b1bf chore: add free tier usage alert 2026-05-07 13:36:18 +02:00
Shoubhit Dash 95280ebec9 fix(tui): restore custom provider in /connect (#26168) 2026-05-07 17:05:35 +05:30
YGoetschel fea9a0bd4c fix: guard undefined contents in diff renderer to fix share viewer SSR crash (#21763) 2026-05-07 18:55:40 +08:00
vimtor 30c4fcb1a5 chore: fix honeycomb query frequency 2026-05-07 11:10:36 +02:00
vimtor 193c169ca5 chore: improve provider down query 2026-05-07 11:00:43 +02:00
vimtor cee04f2924 chore: make provider down queries live 2026-05-07 10:56:37 +02:00
Brendan Allan 1219691c11 docs(desktop): update README from Tauri to Electron (#26146) 2026-05-07 16:31:37 +08:00
vimtor b2cc40f09c chore: first provider alert version 2026-05-07 10:30:29 +02:00
vimtor 0b2e65f16d chore: reactivate alerts 2026-05-07 10:15:52 +02:00
opencode-agent[bot] 1ea01fdad0 chore: update nix node_modules hashes 2026-05-07 08:08:37 +00:00
Victor Navarro f8aa4a3be0 chore: simplify honeycomb alerts (#26142) 2026-05-07 07:56:10 +00:00
Bence Ferdinandy 293bb422fa fix(format): restore stdout/stderr ignore for formatter processes (#26037)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-05-07 00:52:07 -05:00
Brendan Allan 54a78c9224 feat(desktop): move server to utilityProcess (#25962)
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
2026-05-07 13:48:56 +08:00
Jesse 9b30ee2db2 fix(desktop): add macOS settings menu entry (#26081)
Co-authored-by: jesse.mahnken <jesse.mahnken@tiefox.de>
2026-05-07 13:39:14 +08:00
carmit hershman ba1ec62caf docs: add opencode-jfrog-plugin to ecosystem list for JFrog integration (#26019) 2026-05-07 00:37:14 -05:00
Frank 72ec05d0be go: rate limit metadata 2026-05-07 00:32:33 -04:00
Frank 0b702704ae zen: nano not used for title gen 2026-05-06 23:01:16 -04:00
opencode-agent[bot] 3480cef52e chore: update nix node_modules hashes 2026-05-07 00:46:33 +00:00
opencode dcfe4b0d51 sync release versions for v1.14.40 2026-05-07 00:34:09 +00:00
Aiden Cline b2e3dc87ea feat: Update ACP support, modernize and fix misc issues (#25663) 2026-05-06 19:33:52 -05:00
André Cruz 233fc5b910 fix(provider): preserve assistant message content when reasoning blocks present (#21370)
Co-authored-by: Omer Koren <54630488+omer-koren@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-05-06 18:57:56 -05:00
Luke Parker 2dffdfff4a fix(server): apply cors before legacy auth (#26092) 2026-05-07 08:55:09 +10:00
Frank a4ab1408eb zen: update rate limiter 2026-05-06 15:32:08 -04:00
Frank e41843eaf7 sync 2026-05-06 15:20:38 -04:00
kirillk ee727b8bc7 fix(jetbrains): render markdown code blocks with scrollable components 2026-05-06 15:02:09 -04:00
vimtor bf979413f9 chore: change alert type for honeycomb triggers 2026-05-06 19:27:25 +02:00
Frank 38b0cdc149 go: deprecate old models 2026-05-06 13:10:48 -04:00
Aiden Cline 344ccc647b ignore: vimtor to team members list 2026-05-06 11:45:11 -05:00
opencode-agent[bot] b9b854bf9f chore: generate 2026-05-06 15:13:34 +00:00
Dax d9c18381a6 feat(config): support well-known remote_config (#26054) 2026-05-06 15:12:23 +00:00
Kit Langton 63a175b50d fix(cli): avoid AppRuntime re-entry for network options (#26052) 2026-05-06 11:02:08 -04:00
Victor Navarro 889f979c0b chore: fix model alerts (#25990) 2026-05-06 16:57:34 +02:00
James Long 2abc4507b2 fix(tui): filter only connected workspaces in dialog; add warp synthetic message (#25915) 2026-05-06 10:25:42 -04:00
Marian Alexandru Alecu a8a07da8d8 Merge branch 'main' into fix/tui-submodule-session-worktree-family 2026-05-06 15:43:07 +03:00
Marian Alexandru Alecu 6637a88988 Merge branch 'main' into fix/tui-submodule-session-worktree-family 2026-05-06 14:52:07 +03:00
Alex Alecu b9014b496e fix(cli): annotate local-review hook 2026-05-06 13:08:43 +03:00
Alex Alecu 838670adbe feat(cli): ask for local-review base 2026-05-06 12:19:20 +03:00
opencode-agent[bot] aa3c99a3c0 chore: update nix node_modules hashes 2026-05-06 08:50:56 +00:00
Shoubhit Dash d49d217e9d fix(tui): preserve selected model on refresh (#25993) 2026-05-06 14:14:31 +05:30
Brendan Allan 043a5c7c0d feat(desktop): implement clipboard write permission handling (#25998) 2026-05-06 08:40:45 +00:00
Brendan Allan 901d1171a6 chore(desktop): add @parcel/watcher platform packages to optionalDependencies (#25996) 2026-05-06 08:37:10 +00:00
Sergei Zharinov 518503b29b fix(ui): preserve SVG tags in DOMPurify config for KaTeX math rendering (#25866) 2026-05-06 16:06:37 +08:00
Guiii c235ba1bef docs: fix CLI attach section order (#25749) 2026-05-06 15:56:38 +08:00
Brendan Allan 754a1fb712 fix(desktop): suppress EPIPE errors in console transport (#25980) 2026-05-06 15:30:18 +08:00
Brendan Allan acca2e92dc fix(desktop): disable auto install on app quit (#25976) 2026-05-06 14:39:20 +08:00
Frank 9d178e0944 sync 2026-05-06 01:05:09 -04:00
Brendan Allan 7c8cf6ca5b fix(desktop): suppress browser API Sentry errors in prod (#25972) 2026-05-06 12:44:40 +08:00
Jack 89afac3d9d go: restore Kimi K2.6 limits (#25969) 2026-05-06 12:39:52 +08:00
opencode-agent[bot] b4c60e1b21 chore: generate 2026-05-06 04:32:49 +00:00
Brendan Allan efd8024430 feat(desktop): add OPENCODE_TEST_ONBOARDING env (#25968) 2026-05-06 04:30:20 +00:00
opencode-agent[bot] 2f05676e04 chore: generate 2026-05-06 04:17:05 +00:00
imduchuyyy 🐬 5013e8a8ec docs: update desktop app references from Tauri to Electron (#25965) 2026-05-06 12:15:59 +08:00
opencode-agent[bot] 6e7c9eb820 chore: generate 2026-05-06 01:35:13 +00:00
Kit Langton 8555de8189 Type session not-found errors (#25818) 2026-05-05 21:33:47 -04:00
Luke Parker f5c3d352a1 fix(app): require query functions for sync queries (#25939) 2026-05-06 10:09:32 +10:00
Luke Parker e117397d0f fix(server): restore web terminal CSP allowances (#25937) 2026-05-06 09:32:51 +10:00
opencode-agent[bot] 1fbc13a1b4 chore: generate 2026-05-05 23:08:37 +00:00
Aiden Cline 6409aceb1a fix: sanitize surrogates (#25934) 2026-05-05 18:07:23 -05:00
opencode-agent[bot] 837cc92586 chore: generate 2026-05-05 21:56:18 +00:00
Nathan Nguyen ca77b8f8e9 fix(cf-ai-gateway): route provider options through openaiCompatible key (#24432) (#25573) 2026-05-05 16:55:08 -05:00
opencode-agent[bot] 25547e9337 chore: generate 2026-05-05 20:41:12 +00:00
James Long 12f3d1f505 fix(core): use current workspace with /new; fix warping into local project (#25894) 2026-05-05 16:39:37 -04:00
James Long 8e182c7782 fix(core): better state handling of editor context (#25911) 2026-05-05 15:53:05 -04:00
OpeOginni 8a797ed9a1 fix(TUI): update agent create target path from "/agent" to "/agents" (#14427) 2026-05-05 14:51:40 -05:00
Aiden Cline 25ecf0af6b fix: retry server_is_overloaded errors (#25888) 2026-05-05 10:39:25 -05:00
Aiden Cline 576480b5dc fix: ensure mistral medium 3.5 has variants properly setup (#25887) 2026-05-05 10:34:20 -05:00
opencode-agent[bot] fdb4b7c4a5 chore: update nix node_modules hashes 2026-05-05 14:27:06 +00:00
Victor Navarro 726ae6f541 chore: configure alerting and monitoring (#25857) 2026-05-05 16:08:28 +02:00
opencode 773078e81f sync release versions for v1.14.39 2026-05-05 10:57:52 +00:00
Shoubhit Dash 811954880e fix(compaction): order compaction summary before retained tail (#25851) 2026-05-05 16:12:37 +05:30
Luke Parker 465c83cf82 fix(desktop): respect proxy environment (#25846) 2026-05-05 20:34:28 +10:00
Brendan Allan bb9b81aa37 fix(desktop): add error handling to store-get IPC handler (#25850) 2026-05-05 18:24:21 +08:00
opencode a20446fcc8 sync release versions for v1.14.38 2026-05-05 09:48:25 +00:00
opencode-agent[bot] 292c2aa458 chore: update nix node_modules hashes 2026-05-05 09:06:37 +00:00
Brendan Allan 52bb088753 fix(server): allow all connect-src origins in CSP for embedded UI (#25838) 2026-05-05 17:06:30 +08:00
Luke Parker b8f8f5d3a8 fix(desktop): trust system certificates (#25837) 2026-05-05 18:47:38 +10:00
opencode 8df3ef10fc sync release versions for v1.14.37 2026-05-05 07:26:49 +00:00
opencode-agent[bot] 301ab36159 chore: update nix node_modules hashes 2026-05-05 06:06:32 +00:00
Brendan Allan 03544a26cd fix(desktop): update main process (#25825) 2026-05-05 13:44:53 +08:00
Brendan Allan b4147c8d08 refactor(desktop): consolidate desktop-electron into desktop package (#25822) 2026-05-05 13:43:36 +08:00
opencode-agent[bot] 6f7d63e9ce chore: generate 2026-05-05 04:27:38 +00:00
Luke Parker 07f1c8c0ac fix(desktop): stabilize Windows titlebar zoom (#25813) 2026-05-05 04:26:35 +00:00
opencode-agent[bot] 2d0a757eb2 chore: generate 2026-05-05 02:37:07 +00:00
Kit Langton 75d141b574 fix(session): cancel subtask child sessions (#25798) 2026-05-04 22:36:06 -04:00
Dax 39c88f9afb Improve v2 session message rendering (#25634) 2026-05-05 02:35:21 +00:00
Dax Raad 0df2bb0f3b docs: restore v2 todo 2026-05-04 22:22:39 -04:00
Brendan Allan f6a3615f59 fix(console): remove Cloudflare cache config from download fetch (#25804) 2026-05-05 10:15:00 +08:00
James Long edd480f56b fix(tui): fix type error for calling workspace.warp (#25801) 2026-05-04 22:06:33 -04:00
Luke Parker 2740d398fa devex: Enable Electron MCP servers with DevTools debug port (#25795) 2026-05-05 11:37:18 +10:00
opencode-agent[bot] f33b17e8ac chore: generate 2026-05-05 01:29:49 +00:00
James Long 22a4a9df8b feat(core): session warping (#25768) 2026-05-04 21:28:38 -04:00
Brendan Allan 84afd2bef8 update: normalize download asset names to match new naming convention (#25796) 2026-05-05 09:19:13 +08:00
Luke Parker ca2411d332 Run UI unit tests in CI (#25792) 2026-05-05 11:05:53 +10:00
opencode 6b852774e1 sync release versions for v1.14.35 2026-05-05 01:01:47 +00:00
opencode-agent[bot] f14784d531 chore: generate 2026-05-05 00:35:18 +00:00
Luke Parker 6a5e329427 fix(vcs): preserve batched patch boundaries (#25787) 2026-05-05 00:34:06 +00:00
opencode 4b65b1e053 sync release versions for v1.14.34 2026-05-04 23:26:02 +00:00
truffle 2723c08b9d test(telemetry): isolate shutdown timeout test in its own file
The new shutdown timeout test in telemetry.test.ts shares a file with
tests that statically import `Telemetry` (and thus `client.ts` and
`posthog-node`). Bun's `mock.module()` invalidates the dependency
cache for subsequent dynamic imports so the test passes today, but the
behavior depends on test ordering and mock-cache-invalidation timing
rather than test isolation. Extract the shutdown test into its own file
where `mock.module("posthog-node", ...)` runs before any client.ts
import, so the mock is the source of truth from module load.
2026-05-04 07:03:11 +00:00
truffle 5f16547cab fix(cli): bound Telemetry.shutdown so unreachable PostHog endpoint cannot block CLI exit
When the PostHog endpoint is unreachable (offline, firewall, DNS adblock
resolving us.i.posthog.com to 0.0.0.0), `kilo --help` and other short-
lived commands hang in the finally-block telemetry shutdown for tens of
seconds before the process exits.

Two issues:

1. `Client.shutdown()` called `await client.flush()` before
   `await client.shutdown()`. The explicit flush() is unbounded:
   posthog-node 4.4.0 retries each request up to 3x with 3s delays plus
   10s per attempt before throwing PostHogFetchNetworkError, blocking
   process exit before shutdown's outer cap kicks in.

2. `Telemetry.shutdown()` took no timeout, so the CLI bootstrap had no
   way to bound the wait at the call site. PostHog's
   `shutdown(shutdownTimeoutMs = 30000)` defaults to 30 seconds.

Fix:

- Drop the explicit `flush()` call. PostHog's `shutdown(timeoutMs)`
  drains the queue internally and is bounded by `shutdownTimeoutMs`.
- Add an optional `timeoutMs` parameter to both `Client.shutdown` and
  `Telemetry.shutdown`, threaded through to PostHog.
- Pass `2000` from the CLI bootstrap so short-lived commands exit
  quickly when telemetry is unreachable, while keeping a generous
  budget for the working-endpoint case.

Test: `Telemetry.shutdown timeout (#9788)` mocks `posthog-node` so the
fake `flush()` would hang for 60s if called. The test asserts (a)
`flush()` is never invoked and (b) the supplied `timeoutMs` (50ms) is
threaded through to PostHog's `shutdown(timeoutMs)`. Total elapsed time
stays well under 1s.

Closes #9788
2026-05-04 06:19:23 +00:00
Josh Lambert b92677a58e fix(cli): restore source file when reverting a move across folders
Git's default rename detection in 'diff --cached --name-only' collapses a
file move (A/foo -> B/foo) into a single destination entry. The snapshot
revert iterates this list and deletes files that aren't in the pre-step
tree — so B/foo was removed but A/foo was never restored, losing data.

Pass --no-renames so both the source and destination paths appear in
the patch, matching diffFull()'s behavior. Revert now deletes the new
location and restores the original.

Fixes #9741
2026-05-01 14:22:52 -04:00
truffle c1c3af8bf4 fix(cli): include working tree in WorktreeFamily.list for submodules
Inside a git submodule `git worktree list --porcelain` reports the
gitdir (`<repo>/.git/modules/<sub>`) rather than the actual working
tree, so the worktree-family filter for the experimental session
listing endpoint dropped every session whose directory was the real
submodule path. The CLI `kilo session list` was unaffected because
it filters on `project_id` only.

Append `Instance.worktree` to the parsed dirs so the working tree is
always in scope. Normal repos and linked worktrees already include it,
so the [...new Set(...)] dedup keeps those cases unchanged.

Closes #9267
2026-04-25 15:18:06 +00:00
3507 changed files with 439526 additions and 139822 deletions
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Improve the JetBrains model picker with sections, favorites, and smart filtering.
+7
View File
@@ -0,0 +1,7 @@
---
"@kilocode/cli": minor
"@kilocode/kilo-gateway": minor
"kilo-code": minor
---
Show a BYOK badge for Kilo Gateway models that can use an enabled personal or organization provider key.
+5
View File
@@ -0,0 +1,5 @@
---
"kilo-code": patch
---
Describe custom providers independently of their selected API protocol.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Add a JetBrains tool window action for starting new sessions and let recent sessions reopen in the side panel without duplicate views.
@@ -0,0 +1,6 @@
---
"@kilocode/cli": patch
"@kilocode/kilo-gateway": patch
---
Deny provider data collection for Kilo Gateway requests when prompt-training models are hidden.
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Scale JetBrains chat transcript fonts from the editor font settings.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Keep the JetBrains model picker at the same row position when models are favorited or unfavorited.
@@ -0,0 +1,5 @@
---
"@kilocode/cli": patch
---
Add a privacy filter to the Console model explorer that hides Kilo Gateway models whose providers may use prompts for training.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Show JetBrains session connection status inline above the prompt, cap expanded connection details, and keep empty sessions in the shared chat scroll area.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Show detailed JetBrains session connection and configuration issues in the connection panel, and make retry recover app-side problems more reliably.
+5
View File
@@ -0,0 +1,5 @@
---
"@kilocode/cli": patch
---
Show docs URL in dialog when no display server is detected on headless Linux systems
+5
View File
@@ -0,0 +1,5 @@
---
"@kilocode/cli": patch
---
Show the docs URL in an alert dialog when the browser cannot be opened on headless systems instead of silently failing.
@@ -0,0 +1,6 @@
---
"@kilocode/cli": patch
"kilo-code": patch
---
Hide reverted provider errors so Redo controls remain visible after rewinding a session.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Match VS Code-style reasoning and tool run rendering in JetBrains chat.
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Center description text and remove the fixed-width cap from the empty session panel so recent sessions can stretch naturally.
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Open existing JetBrains sessions scrolled to the latest message after history loads.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Remember the JetBrains session header metrics expansion preference and show file names in read/write timeline tooltips.
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Improve JetBrains history navigation with Back support and a Show History action in recent sessions.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Improve the JetBrains history panel with native tabs, independent local and cloud search, and date-grouped cloud sessions.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Improve the JetBrains mode picker with descriptions, deprecated badges, and native IntelliJ selection behavior.
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Show JetBrains question prompts one question at a time with aligned native option rows.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Keep the JetBrains chat transcript pinned to bottom reliably while responses stream.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Show a scroll-to-bottom button when JetBrains chat sessions are scrolled away from the latest message.
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Render active question and permission prompts inside the scrollable JetBrains chat transcript.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Support rebinding the JetBrains prompt Send action in the IntelliJ keymap.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Show collapsible session metadata, context usage, token usage, and compaction controls in the JetBrains session header.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Add a native session history panel to the JetBrains plugin.
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Control JetBrains chat transcript spacing from the session layout.
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Show loading immediately when opening JetBrains sessions without showing duplicate progress for new sessions.
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Reduce redundant JetBrains chat scroll layout work while keeping bottom-follow behavior.
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Show completed assistant steps in the JetBrains session timeline.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Support stopping active JetBrains sessions from the prompt action button.
@@ -0,0 +1,5 @@
---
"kilo-code": patch
---
Keep changed identifiers intact when highlighting edits within diff lines.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/cli": patch
---
Accept `env` as an alias for `environment` in local MCP server configuration. Configurations using the more common `env` key (matching Docker, npm, and VS Code conventions) are now normalised on load instead of failing strict validation.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Size the JetBrains model picker from its rendered model rows instead of fixed popup dimensions.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/cli": patch
---
Show recent and favorited models in provider-specific model lists.
-5
View File
@@ -1,5 +0,0 @@
---
"kilo-code": patch
---
Fix token usage display to show usage for entire session
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Support reasoning effort selection and resetting JetBrains chat model overrides to the default model.
+7
View File
@@ -0,0 +1,7 @@
---
"@kilocode/cli": patch
"@kilocode/sdk": patch
"kilo-code": patch
---
Limit completion sounds to parent agent sessions.
+5
View File
@@ -0,0 +1,5 @@
---
"kilo-code": patch
---
Avoid failing Agent Manager startup when another extension already registered VS Code panel commands.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Align checked and unchecked reasoning picker rows in the JetBrains plugin.
+5
View File
@@ -0,0 +1,5 @@
---
"kilo-code": patch
---
Keep chat output updating after reverting and resubmitting a prompt.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Keep the JetBrains session connection status above the prompt without shifting the chat layout.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Refine JetBrains session loading UI and settings actions.
@@ -0,0 +1,5 @@
---
"kilo-code": patch
---
Prevent concurrent subagent updates from blanking the Agent Manager webview.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Preserve JetBrains chat scroll position when reviewing earlier session output.
+5
View File
@@ -0,0 +1,5 @@
---
"kilo-code": patch
---
Speed up Agent Manager worktree hover cards so pull request details appear and dismiss more quickly.
-5
View File
@@ -1,5 +0,0 @@
---
"@kilocode/kilo-jetbrains": patch
---
Avoid flickering transient loading and connection error states in JetBrains sessions.
+5
View File
@@ -0,0 +1,5 @@
---
"kilo-code": patch
---
Widen the chat readable lane from 88ch to 98ch so conversations, tools, and diffs can use more editor space.
+11 -3
View File
@@ -23,7 +23,7 @@ runs:
fi
- name: Setup Bun
uses: oven-sh/setup-bun@v2
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version-file: ${{ !steps.bun-url.outputs.url && 'package.json' || '' }}
bun-download-url: ${{ steps.bun-url.outputs.url }}
@@ -33,8 +33,9 @@ runs:
shell: bash
run: echo "dir=$(bun pm cache)" >> "$GITHUB_OUTPUT"
- name: Cache Bun dependencies
uses: actions/cache@v4
- name: Restore Bun dependencies
id: bun-cache
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ${{ steps.cache.outputs.dir }}
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
@@ -56,3 +57,10 @@ runs:
bun install ${{ inputs.install-flags }}
fi
shell: bash
- name: Save Bun dependencies
if: steps.bun-cache.outputs.cache-hit != 'true' && github.event_name != 'pull_request' && github.event_name != 'pull_request_target'
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ${{ steps.cache.outputs.dir }}
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
@@ -21,7 +21,7 @@ runs:
steps:
- name: Create app token
id: apptoken
uses: actions/create-github-app-token@v2
uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2.2.2
with:
# kilocode_change start
app-id: ${{ inputs['kilo-maintainer-app-id'] }}
+12
View File
@@ -0,0 +1,12 @@
# kilocode_change - new file
name: Critical-only CodeQL config
query-filters:
- include:
kind:
- problem
- path-problem
- alert
- path-alert
tags contain: security
security-severity: /^(9(\.[0-9])?|10(\.0)?)$/
+50 -11
View File
@@ -1,3 +1,9 @@
## Issue
<!-- Reference an existing issue with `Fixes #123`, `Closes #123`, or equivalent linked issue wording. -->
Fixes #
## Context
<!-- Brief description of WHAT youre doing and WHY. -->
@@ -6,11 +12,13 @@
<!--
Some description of HOW you achieved it. Perhaps give a high level description of the program flow. Did you need to refactor something? What tradeoffs did you take? Are there things in here which youd particularly like people to pay close attention to?
Some description of HOW you achieved it. Perhaps give a high level description of the program flow. Did you need to refactor something? What tradeoffs did you take? Are there things in here which youd particularly like people to pay close attention to? Keep this focused on context reviewers cannot infer from the diff; skip file-by-file summaries, placeholders, and other filler.
-->
## Screenshots
## Screenshots / Video
<!-- Required for visual changes. Include the relevant before/after or resulting state. -->
| before | after |
|---|---|
@@ -18,18 +26,49 @@ Some description of HOW you achieved it. Perhaps give a high level description o
## How to Test
### Manual/local verification
<!--
A straightforward scenario of how to test your changes will help reviewers that are not familiar with the part of the code that you are changing but want to see it in action. This section can include a description or step-by-step instructions of how to get to the state of v2 that your change affects.
A "How To Test" section can look something like this:
- Sign in with a user with tracks
- Activate `show_awesome_cat_gifs` feature (add `?feature.show_awesome_cat_gifs=1` to your URL)
- You should see a GIF with cats dancing
Describe local CLI, extension, or docs verification. Example:
- Opened the updated settings page and confirmed the new copy appears
-->
-
### Reviewer test steps
<!--
Provide steps reviewers can retrace. Example:
1. Sign in with a user with tracks
2. Activate `show_awesome_cat_gifs` feature by adding `?feature.show_awesome_cat_gifs=1` to your URL
3. Confirm you see a GIF with cats dancing
-->
-
### Blocked checks and substitute verification
<!--
If a relevant command could not be completed, name the command, explain the blocker or failure, and describe the substitute verification performed. Example:
- `bun run test:integration` could not complete because the required API key is unavailable; substitute verification was testing the affected flow manually in the development extension
-->
-
<!--
Every PR marked ready for review must include testing evidence. A bare "Not tested" or "N/A" answer is not sufficient. For each piece of evidence make clear if the test was executed by the agent or by a human
Docs-only, config-only, and similar changes still need concrete evidence. For examples, see [Testing Evidence for Pull Requests](https://kilo.ai/docs/contributing/development-environment#testing-evidence-for-pull-requests). Draft PRs may be incomplete until marked ready for review.
-->
## Checklist
- [ ] Issue linked above, or exception explained
- [ ] Tests/verification described
- [ ] Screenshots/video included for visual changes, or marked N/A
- [ ] Changeset considered for user-facing changes
- [ ] I personally reviewed the diff and can explain the changes, including any AI-assisted work.
## Get in Touch
<!-- We'd love to have a way to chat with you about your changes if necessary. If you're in the [Kilo Code Discord](https://kilo.ai/discord), please share your handle here. -->
@@ -38,6 +38,9 @@ jobs:
fi
# kilocode_change start
- name: Check Effect Promise facade allowlist
run: bun run script/check-opencode-promise-facades.ts
- name: Check workflow allowlist
run: bun run script/check-workflows.ts
# kilocode_change end
-236
View File
@@ -1,236 +0,0 @@
name: close-stale-prs # kilocode_change
on:
workflow_dispatch:
inputs:
dryRun:
description: "Log actions without closing PRs"
type: boolean
default: false
schedule:
- cron: "0 6 * * *"
permissions:
contents: read
issues: write
pull-requests: write
jobs:
close-stale-prs:
if: github.repository == 'Kilo-Org/kilocode'
runs-on: blacksmith-2vcpu-ubuntu-2404 # kilocode_change
timeout-minutes: 15
steps:
- name: Close inactive PRs
uses: actions/github-script@v8
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const DAYS_INACTIVE = 60
const MAX_RETRIES = 3
// Adaptive delay: fast for small batches, slower for large to respect
// GitHub's 80 content-generating requests/minute limit
const SMALL_BATCH_THRESHOLD = 10
const SMALL_BATCH_DELAY_MS = 1000 // 1s for daily operations (≤10 PRs)
const LARGE_BATCH_DELAY_MS = 2000 // 2s for backlog (>10 PRs) = ~30 ops/min, well under 80 limit
const startTime = Date.now()
const cutoff = new Date(Date.now() - DAYS_INACTIVE * 24 * 60 * 60 * 1000)
const { owner, repo } = context.repo
const dryRun = context.payload.inputs?.dryRun === "true"
core.info(`Dry run mode: ${dryRun}`)
core.info(`Cutoff date: ${cutoff.toISOString()}`)
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
async function withRetry(fn, description = 'API call') {
let lastError
for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
try {
const result = await fn()
return result
} catch (error) {
lastError = error
const isRateLimited = error.status === 403 &&
(error.message?.includes('rate limit') || error.message?.includes('secondary'))
if (!isRateLimited) {
throw error
}
// Parse retry-after header, default to 60 seconds
const retryAfter = error.response?.headers?.['retry-after']
? parseInt(error.response.headers['retry-after'])
: 60
// Exponential backoff: retryAfter * 2^attempt
const backoffMs = retryAfter * 1000 * Math.pow(2, attempt)
core.warning(`${description}: Rate limited (attempt ${attempt + 1}/${MAX_RETRIES}). Waiting ${backoffMs / 1000}s before retry...`)
await sleep(backoffMs)
}
}
core.error(`${description}: Max retries (${MAX_RETRIES}) exceeded`)
throw lastError
}
const query = `
query($owner: String!, $repo: String!, $cursor: String) {
repository(owner: $owner, name: $repo) {
pullRequests(first: 100, states: OPEN, after: $cursor) {
pageInfo {
hasNextPage
endCursor
}
nodes {
number
title
author {
login
}
createdAt
commits(last: 1) {
nodes {
commit {
committedDate
}
}
}
comments(last: 1) {
nodes {
createdAt
}
}
reviews(last: 1) {
nodes {
createdAt
}
}
}
}
}
}
`
const allPrs = []
let cursor = null
let hasNextPage = true
let pageCount = 0
while (hasNextPage) {
pageCount++
core.info(`Fetching page ${pageCount} of open PRs...`)
const result = await withRetry(
() => github.graphql(query, { owner, repo, cursor }),
`GraphQL page ${pageCount}`
)
allPrs.push(...result.repository.pullRequests.nodes)
hasNextPage = result.repository.pullRequests.pageInfo.hasNextPage
cursor = result.repository.pullRequests.pageInfo.endCursor
core.info(`Page ${pageCount}: fetched ${result.repository.pullRequests.nodes.length} PRs (total: ${allPrs.length})`)
// Delay between pagination requests (use small batch delay for reads)
if (hasNextPage) {
await sleep(SMALL_BATCH_DELAY_MS)
}
}
core.info(`Found ${allPrs.length} open pull requests`)
const stalePrs = allPrs.filter((pr) => {
const dates = [
new Date(pr.createdAt),
pr.commits.nodes[0] ? new Date(pr.commits.nodes[0].commit.committedDate) : null,
pr.comments.nodes[0] ? new Date(pr.comments.nodes[0].createdAt) : null,
pr.reviews.nodes[0] ? new Date(pr.reviews.nodes[0].createdAt) : null,
].filter((d) => d !== null)
const lastActivity = dates.sort((a, b) => b.getTime() - a.getTime())[0]
if (!lastActivity || lastActivity > cutoff) {
core.info(`PR #${pr.number} is fresh (last activity: ${lastActivity?.toISOString() || "unknown"})`)
return false
}
core.info(`PR #${pr.number} is STALE (last activity: ${lastActivity.toISOString()})`)
return true
})
if (!stalePrs.length) {
core.info("No stale pull requests found.")
return
}
core.info(`Found ${stalePrs.length} stale pull requests`)
// ============================================
// Close stale PRs
// ============================================
const requestDelayMs = stalePrs.length > SMALL_BATCH_THRESHOLD
? LARGE_BATCH_DELAY_MS
: SMALL_BATCH_DELAY_MS
core.info(`Using ${requestDelayMs}ms delay between operations (${stalePrs.length > SMALL_BATCH_THRESHOLD ? 'large' : 'small'} batch mode)`)
let closedCount = 0
let skippedCount = 0
for (const pr of stalePrs) {
const issue_number = pr.number
const closeComment = `Closing this pull request because it has had no updates for more than ${DAYS_INACTIVE} days. If you plan to continue working on it, feel free to reopen or open a new PR.`
if (dryRun) {
core.info(`[dry-run] Would close PR #${issue_number} from ${pr.author?.login || 'unknown'}: ${pr.title}`)
continue
}
try {
// Add comment
await withRetry(
() => github.rest.issues.createComment({
owner,
repo,
issue_number,
body: closeComment,
}),
`Comment on PR #${issue_number}`
)
// Close PR
await withRetry(
() => github.rest.pulls.update({
owner,
repo,
pull_number: issue_number,
state: "closed",
}),
`Close PR #${issue_number}`
)
closedCount++
core.info(`Closed PR #${issue_number} from ${pr.author?.login || 'unknown'}: ${pr.title}`)
// Delay before processing next PR
await sleep(requestDelayMs)
} catch (error) {
skippedCount++
core.error(`Failed to close PR #${issue_number}: ${error.message}`)
}
}
const elapsed = Math.round((Date.now() - startTime) / 1000)
core.info(`\n========== Summary ==========`)
core.info(`Total open PRs found: ${allPrs.length}`)
core.info(`Stale PRs identified: ${stalePrs.length}`)
core.info(`PRs closed: ${closedCount}`)
core.info(`PRs skipped (errors): ${skippedCount}`)
core.info(`Elapsed time: ${elapsed}s`)
core.info(`=============================`)
+62
View File
@@ -0,0 +1,62 @@
# kilocode_change - new file
name: "CodeQL Kotlin"
on:
push:
branches: ["main"]
paths:
- "packages/kilo-jetbrains/**"
- ".github/workflows/codeql-kotlin.yml"
pull_request:
branches: ["main"]
paths:
- "packages/kilo-jetbrains/**"
- ".github/workflows/codeql-kotlin.yml"
schedule:
- cron: "29 10 * * 5"
workflow_dispatch:
jobs:
analyze:
name: Analyze (java-kotlin)
runs-on: ubuntu-latest
permissions:
security-events: write
packages: read
actions: read
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup Bun
uses: ./.github/actions/setup-bun
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21"
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: java-kotlin
build-mode: manual
config-file: ./.github/codeql/codeql-config.yml
- name: Build Java/Kotlin
shell: bash
run: ./gradlew typecheck --rerun-tasks --no-build-cache
working-directory: packages/kilo-jetbrains
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:java-kotlin"
+81
View File
@@ -0,0 +1,81 @@
# kilocode_change - new file
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL Advanced"
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
schedule:
- cron: "29 10 * * 5"
workflow_dispatch:
jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
# only required for workflows in private repositories
actions: read
contents: read
strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: javascript-typescript
build-mode: none
# CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v6
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql/codeql-config.yml
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{matrix.language}}"
+4 -4
View File
@@ -3,7 +3,7 @@ name: containers
on:
push:
branches:
- dev
- main # kilocode_change
paths:
- packages/containers/**
- .github/workflows/containers.yml
@@ -31,13 +31,13 @@ jobs:
- uses: ./.github/actions/setup-bun
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
- name: Login to GHCR
uses: docker/login-action@v3
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -12,9 +12,9 @@ jobs:
contents: read
issues: write
steps:
- uses: actions/checkout@v6 # kilocode_change
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- uses: oven-sh/setup-bun@v2
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: latest
@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Close non-compliant issues and PRs after 2 hours
uses: actions/github-script@v7
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
with:
script: |
const { data: items } = await github.rest.issues.listForRepo({
@@ -6,28 +6,25 @@ on:
jobs:
check-duplicates:
if: false # kilocode_change - disabled: not needed in kilocode repo
if: github.event.action == 'opened'
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: read
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v6 # kilocode_change
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 1
- uses: ./.github/actions/setup-bun
# kilocode_change start
- name: Setup Kilo
uses: ./.github/actions/setup-kilo
# kilocode_change end
- name: Install opencode
run: curl -fsSL https://kilo.ai/install | bash
- name: Check duplicates and compliance
env:
KILO_API_KEY: ${{ secrets.KILO_API_KEY }}
KILO_ORG_ID: ${{ secrets.KILO_ORG_ID }}
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
KILO_PERMISSION: |
{
@@ -38,7 +35,7 @@ jobs:
"webfetch": "deny"
}
run: |
kilo run -m "kilo/anthropic/claude-haiku-4.5" "A new issue has been created:
opencode run -m opencode/claude-sonnet-4-6 "A new issue has been created:
Issue number: ${{ github.event.issue.number }}
@@ -128,23 +125,18 @@ jobs:
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v6 # kilocode_change
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 1
- uses: ./.github/actions/setup-bun
# kilocode_change start
- name: Setup Kilo
uses: ./.github/actions/setup-kilo
# kilocode_change end
- name: Install opencode
run: curl -fsSL https://kilo.ai/install | bash
- name: Recheck compliance
env:
# kilocode_change start
KILO_API_KEY: ${{ secrets.KILO_API_KEY }}
KILO_ORG_ID: ${{ secrets.KILO_ORG_ID }}
# kilocode_change end
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
KILO_PERMISSION: |
{
@@ -155,7 +147,7 @@ jobs:
"webfetch": "deny"
}
run: |
kilo run -m "kilo/anthropic/claude-haiku-4.5" "Issue #${{ github.event.issue.number }} was previously flagged as non-compliant and has been edited.
opencode run -m opencode/claude-sonnet-4-6 "Issue #${{ github.event.issue.number }} was previously flagged as non-compliant and has been edited.
Lookup this issue with gh issue view ${{ github.event.issue.number }}.
@@ -12,6 +12,6 @@ jobs:
runs-on: depot-ubuntu-24.04
steps:
- name: Send nicely-formatted embed to Discord
uses: SethCohen/github-releases-to-discord@v1
uses: SethCohen/github-releases-to-discord@24d166886aee4646d448c8a389ff9e1ebcab3682 # v1.20.0
with:
webhook_url: ${{ secrets.DISCORD_WEBHOOK }}
@@ -12,7 +12,7 @@ jobs:
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 1
@@ -78,7 +78,7 @@ jobs:
issues: write
steps:
- name: Add Contributor Label
uses: actions/github-script@v8
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
const isPR = !!context.payload.pull_request;
@@ -12,7 +12,7 @@ jobs:
pull-requests: write
steps:
- name: Check PR standards
uses: actions/github-script@v7
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
with:
script: |
const pr = context.payload.pull_request;
@@ -159,7 +159,7 @@ jobs:
pull-requests: write
steps:
- name: Check PR template compliance
uses: actions/github-script@v7
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
with:
script: |
const pr = context.payload.pull_request;
@@ -16,7 +16,7 @@ jobs:
publish:
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
with:
fetch-depth: 0
@@ -16,7 +16,7 @@ jobs:
release:
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 0
@@ -29,7 +29,7 @@ jobs:
fi
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 1
@@ -15,7 +15,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- name: Setup Bun
uses: ./.github/actions/setup-bun
@@ -29,7 +29,7 @@ jobs:
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- name: Setup Bun
uses: ./.github/actions/setup-bun
@@ -10,7 +10,7 @@ jobs:
name: Release Zed Extension
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 0
@@ -6,33 +6,31 @@ on:
jobs:
triage:
if: github.repository == 'Kilo-Org/kilocode'
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: read
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v6 # kilocode_change
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 1
- name: Setup Bun
uses: ./.github/actions/setup-bun
- name: Setup Kilo
uses: ./.github/actions/setup-kilo
- name: Install opencode
run: curl -fsSL https://kilo.ai/install | bash
- name: Triage issue
env:
KILO_API_KEY: ${{ secrets.KILO_API_KEY }}
KILO_ORG_ID: ${{ secrets.KILO_ORG_ID }}
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
ISSUE_TITLE: ${{ github.event.issue.title }}
ISSUE_BODY: ${{ github.event.issue.body }}
run: |
kilo run --agent triage "The following issue was just opened, triage it:
opencode run --agent triage "The following issue was just opened, triage it:
Title: $ISSUE_TITLE
+366
View File
@@ -0,0 +1,366 @@
# kilocode_change - new file
name: kilo-auto-close
on:
workflow_dispatch:
inputs:
dryRun:
description: "Log actions without closing items"
type: boolean
default: true
schedule:
- cron: "0 6 * * *"
permissions:
contents: read
issues: write
pull-requests: write
jobs:
close:
if: github.repository == 'Kilo-Org/kilocode'
runs-on: blacksmith-2vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- name: Close inactive PRs and issues
uses: actions/github-script@v8
env:
KILO_AUTO_CLOSE_ENABLED: ${{ vars.KILO_AUTO_CLOSE_ENABLED }}
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const PR_DAYS_INACTIVE = 30
const ISSUE_DAYS_INACTIVE = 60
const MAX_RETRIES = 3
// Adaptive delay: fast for small batches, slower for large to respect
// GitHub's 80 content-generating requests/minute limit
const SMALL_BATCH_THRESHOLD = 10
const SMALL_BATCH_DELAY_MS = 1000 // 1s for daily operations (≤10 items)
const LARGE_BATCH_DELAY_MS = 2000 // 2s for backlog (>10 items) = ~30 ops/min, well under 80 limit
const startTime = Date.now()
const prCutoff = new Date(Date.now() - PR_DAYS_INACTIVE * 24 * 60 * 60 * 1000)
const issueCutoff = new Date(Date.now() - ISSUE_DAYS_INACTIVE * 24 * 60 * 60 * 1000)
const { owner, repo } = context.repo
const dryRunInput = context.payload.inputs?.dryRun
const enabled = process.env.KILO_AUTO_CLOSE_ENABLED === "true"
const dryRun = dryRunInput === undefined
? !enabled
: dryRunInput !== "false"
core.info(`Dry run mode: ${dryRun}`)
core.info(`PR cutoff date: ${prCutoff.toISOString()}`)
core.info(`Issue cutoff date: ${issueCutoff.toISOString()}`)
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
async function withRetry(fn, description = 'API call') {
let lastError
for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
try {
const result = await fn()
return result
} catch (error) {
lastError = error
const isRateLimited = error.status === 403 &&
(error.message?.includes('rate limit') || error.message?.includes('secondary'))
if (!isRateLimited) {
throw error
}
if (attempt === MAX_RETRIES - 1) {
break
}
// Parse retry-after header, default to 60 seconds
const retryAfter = error.response?.headers?.['retry-after']
? parseInt(error.response.headers['retry-after'])
: 60
// Exponential backoff: retryAfter * 2^attempt
const backoffMs = retryAfter * 1000 * Math.pow(2, attempt)
core.warning(`${description}: Rate limited (attempt ${attempt + 1}/${MAX_RETRIES}). Waiting ${backoffMs / 1000}s before retry...`)
await sleep(backoffMs)
}
}
core.error(`${description}: Max retries (${MAX_RETRIES}) exceeded`)
throw lastError
}
const query = `
query($owner: String!, $repo: String!, $cursor: String) {
repository(owner: $owner, name: $repo) {
pullRequests(first: 100, states: OPEN, after: $cursor) {
pageInfo {
hasNextPage
endCursor
}
nodes {
number
title
author {
login
}
createdAt
commits(last: 1) {
nodes {
commit {
committedDate
}
}
}
comments(last: 1) {
nodes {
createdAt
}
}
reviews(last: 1) {
nodes {
createdAt
}
}
reviewThreads(last: 100) {
nodes {
comments(last: 1) {
nodes {
createdAt
}
}
}
}
}
}
}
}
`
const allPrs = []
let cursor = null
let hasNextPage = true
let pageCount = 0
while (hasNextPage) {
pageCount++
core.info(`Fetching page ${pageCount} of open PRs...`)
const result = await withRetry(
() => github.graphql(query, { owner, repo, cursor }),
`GraphQL page ${pageCount}`
)
allPrs.push(...result.repository.pullRequests.nodes)
hasNextPage = result.repository.pullRequests.pageInfo.hasNextPage
cursor = result.repository.pullRequests.pageInfo.endCursor
core.info(`Page ${pageCount}: fetched ${result.repository.pullRequests.nodes.length} PRs (total: ${allPrs.length})`)
// Delay between pagination requests (use small batch delay for reads)
if (hasNextPage) {
await sleep(SMALL_BATCH_DELAY_MS)
}
}
core.info(`Found ${allPrs.length} open pull requests`)
function entry(source, date) {
if (!date) return null
return { source, date: new Date(date) }
}
function latest(items) {
return items.filter(Boolean).sort((a, b) => b.date.getTime() - a.date.getTime())[0]
}
const stalePrs = allPrs.flatMap((pr) => {
const activity = latest([
entry("created", pr.createdAt),
entry("commit", pr.commits.nodes[0]?.commit.committedDate),
entry("comment", pr.comments.nodes[0]?.createdAt),
entry("review", pr.reviews.nodes[0]?.createdAt),
...pr.reviewThreads.nodes.map((t) => entry("review comment", t.comments.nodes[0]?.createdAt)),
])
const text = activity
? `${activity.date.toISOString()} via ${activity.source}`
: "unknown"
if (!activity || activity.date > prCutoff) {
core.info(`PR #${pr.number} is fresh (last activity: ${text})`)
return []
}
core.info(`PR #${pr.number} is STALE (last activity: ${text})`)
return [{ ...pr, activity }]
})
core.info(`Found ${stalePrs.length} stale pull requests`)
const prDelayMs = stalePrs.length > SMALL_BATCH_THRESHOLD
? LARGE_BATCH_DELAY_MS
: SMALL_BATCH_DELAY_MS
core.info(`Using ${prDelayMs}ms delay between PR operations (${stalePrs.length > SMALL_BATCH_THRESHOLD ? 'large' : 'small'} batch mode)`)
let closedPrCount = 0
let skippedPrCount = 0
for (const pr of stalePrs) {
const issue_number = pr.number
const closeComment = `To stay organized pull requests are automatically closed after ${PR_DAYS_INACTIVE} days of inactivity. If the pull request is still relevant please reopen it or create a fresh new one.`
if (dryRun) {
core.info(`[dry-run] Would close PR #${issue_number} from ${pr.author?.login || 'unknown'} (last activity: ${pr.activity.date.toISOString()} via ${pr.activity.source}): ${pr.title}`)
continue
}
try {
// Add comment
await withRetry(
() => github.rest.issues.createComment({
owner,
repo,
issue_number,
body: closeComment,
}),
`Comment on PR #${issue_number}`
)
// Close PR
await withRetry(
() => github.rest.pulls.update({
owner,
repo,
pull_number: issue_number,
state: "closed",
}),
`Close PR #${issue_number}`
)
closedPrCount++
core.info(`Closed PR #${issue_number} from ${pr.author?.login || 'unknown'} (last activity: ${pr.activity.date.toISOString()} via ${pr.activity.source}): ${pr.title}`)
// Delay before processing next PR
await sleep(prDelayMs)
} catch (error) {
skippedPrCount++
core.error(`Failed to close PR #${issue_number}: ${error.message}`)
}
}
let page = 1
let stop = false
const staleIssues = []
while (!stop) {
core.info(`Fetching page ${page} of open issues...`)
const result = await withRetry(
() => github.rest.issues.listForRepo({
owner,
repo,
state: "open",
sort: "updated",
direction: "asc",
per_page: 100,
page,
}),
`Issues page ${page}`
)
if (!result.data.length) {
break
}
core.info(`Page ${page}: fetched ${result.data.length} issues`)
for (const issue of result.data) {
const updated = new Date(issue.updated_at)
if (updated >= issueCutoff) {
core.info(`Found fresh issue/PR #${issue.number} (${updated.toISOString()}), stopping issue scan`)
stop = true
break
}
if (issue.pull_request) {
core.info(`Skipping PR #${issue.number} in issue scan`)
continue
}
staleIssues.push({ ...issue, activity: updated })
}
if (!stop) {
page++
await sleep(SMALL_BATCH_DELAY_MS)
}
}
core.info(`Found ${staleIssues.length} stale issues`)
const issueDelayMs = staleIssues.length > SMALL_BATCH_THRESHOLD
? LARGE_BATCH_DELAY_MS
: SMALL_BATCH_DELAY_MS
core.info(`Using ${issueDelayMs}ms delay between issue operations (${staleIssues.length > SMALL_BATCH_THRESHOLD ? 'large' : 'small'} batch mode)`)
let closedIssueCount = 0
let skippedIssueCount = 0
for (const issue of staleIssues) {
const closeComment = `To stay organized issues are automatically closed after ${ISSUE_DAYS_INACTIVE} days of no activity. If the issue is still relevant please reopen it or create a fresh new one.`
if (dryRun) {
core.info(`[dry-run] Would close issue #${issue.number} (last activity: ${issue.activity.toISOString()} via updated): ${issue.title}`)
continue
}
try {
await withRetry(
() => github.rest.issues.createComment({
owner,
repo,
issue_number: issue.number,
body: closeComment,
}),
`Comment on issue #${issue.number}`
)
await withRetry(
() => github.rest.issues.update({
owner,
repo,
issue_number: issue.number,
state: "closed",
state_reason: "not_planned",
}),
`Close issue #${issue.number}`
)
closedIssueCount++
core.info(`Closed issue #${issue.number} (last activity: ${issue.activity.toISOString()} via updated): ${issue.title}`)
await sleep(issueDelayMs)
} catch (error) {
skippedIssueCount++
core.error(`Failed to close issue #${issue.number}: ${error.message}`)
}
}
const elapsed = Math.round((Date.now() - startTime) / 1000)
core.info(`\n========== Summary ==========`)
core.info(`Total open PRs found: ${allPrs.length}`)
core.info(`Stale PRs identified: ${stalePrs.length}`)
core.info(`PRs closed: ${closedPrCount}`)
core.info(`PRs skipped (errors): ${skippedPrCount}`)
core.info(`Stale issues identified: ${staleIssues.length}`)
core.info(`Issues closed: ${closedIssueCount}`)
core.info(`Issues skipped (errors): ${skippedIssueCount}`)
core.info(`Elapsed time: ${elapsed}s`)
core.info(`=============================`)
+2 -2
View File
@@ -21,10 +21,10 @@ jobs:
timeout-minutes: 15
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Nix
uses: nixbuild/nix-quick-install-action@v34
uses: nixbuild/nix-quick-install-action@2c9db80fb984ceb1bcaa77cdda3fdf8cfba92035 # v34
- name: Evaluate flake outputs (all systems)
run: |
+2 -2
View File
@@ -42,10 +42,10 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup Nix
uses: nixbuild/nix-quick-install-action@v34
uses: nixbuild/nix-quick-install-action@2c9db80fb984ceb1bcaa77cdda3fdf8cfba92035 # v34
- name: Compute node_modules hash
id: hash
@@ -0,0 +1,64 @@
# kilocode_change - new file
name: prepare-jetbrains-release
on:
workflow_dispatch:
inputs:
kind:
description: "Release kind"
required: true
type: choice
options:
- rc
- stable
version:
description: "Version, e.g. 7.3.13-rc.1 or 7.3.13"
required: true
type: string
from_tag:
description: "Optional previous tag for changelog range"
required: false
type: string
permissions:
contents: write
pull-requests: write
concurrency:
group: prepare-jetbrains-release-${{ inputs.version }}
cancel-in-progress: false
jobs:
prepare:
if: github.repository == 'Kilo-Org/kilocode'
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
persist-credentials: false
fetch-depth: 0
- name: Setup Bun
uses: ./.github/actions/setup-bun
- name: Setup Git Committer
id: committer
uses: ./.github/actions/setup-git-committer
with:
kilo-maintainer-app-id: ${{ secrets.KILO_MAINTAINER_APP_ID }}
kilo-maintainer-app-secret: ${{ secrets.KILO_MAINTAINER_APP_SECRET }}
- name: Create release tag and PR
run: |
args=(--kind "$KIND" --version "$VERSION")
if [[ -n "$FROM_TAG" ]]; then
args+=(--from-tag "$FROM_TAG")
fi
bun script/jetbrains-release-pr.ts "${args[@]}"
env:
GH_TOKEN: ${{ steps.committer.outputs.token }}
GH_REPO: ${{ github.repository }}
KIND: ${{ inputs.kind }}
VERSION: ${{ inputs.version }}
FROM_TAG: ${{ inputs.from_tag }}
+77 -50
View File
@@ -2,27 +2,65 @@
name: publish-jetbrains
on:
push:
tags:
- "jetbrains/*"
pull_request:
types:
- closed
branches:
- main
concurrency:
group: publish-jetbrains-${{ github.ref }}
group: publish-jetbrains-pr-${{ github.event.pull_request.number }}
cancel-in-progress: false
permissions:
contents: write
pull-requests: read
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
publish:
if: github.repository == 'Kilo-Org/kilocode'
if: >-
github.repository == 'Kilo-Org/kilocode' &&
github.event.pull_request.merged == true &&
startsWith(github.event.pull_request.head.ref, 'jetbrains/release/') &&
contains(github.event.pull_request.labels.*.name, 'jetbrains-release') &&
github.event.pull_request.head.repo.full_name == github.repository
runs-on: blacksmith-8vcpu-ubuntu-2404
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Checkout merged release PR
uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.merge_commit_sha }}
- name: Setup Bun for validation
uses: ./.github/actions/setup-bun
- name: Validate release PR and tag
id: release
run: bun script/jetbrains-release-validate.ts --pr "$PR_NUMBER"
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
- name: Save reviewed release metadata
run: |
cp packages/kilo-jetbrains/CHANGELOG.md "$RUNNER_TEMP/jetbrains-CHANGELOG.md"
cp packages/kilo-jetbrains/gradle.properties "$RUNNER_TEMP/jetbrains-gradle.properties"
- name: Checkout release tag
uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ steps.release.outputs.tag }}
- name: Restore reviewed release metadata
run: |
cp "$RUNNER_TEMP/jetbrains-CHANGELOG.md" packages/kilo-jetbrains/CHANGELOG.md
cp "$RUNNER_TEMP/jetbrains-gradle.properties" packages/kilo-jetbrains/gradle.properties
- name: Setup Node
uses: actions/setup-node@v4
@@ -32,6 +70,9 @@ jobs:
- name: Setup Bun
uses: ./.github/actions/setup-bun
- name: Install dependencies
run: bun install
- name: Setup Java
uses: actions/setup-java@v4
with:
@@ -46,40 +87,6 @@ jobs:
sudo apt-get update
sudo apt-get install -y patchelf zip
- name: Validate version tag
id: version
run: |
tag="$GITHUB_REF_NAME"
if [[ "$tag" != jetbrains/v* ]]; then
echo "Unsupported tag '$tag'. Expected jetbrains/v<version>." >&2
exit 1
fi
version="${tag#jetbrains/v}"
if [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$ ]]; then
{
echo "version=$version"
echo "kind=rc"
echo "marketplace_channel=eap"
echo "cli_channel=rc"
} >> "$GITHUB_OUTPUT"
exit 0
fi
if [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
{
echo "version=$version"
echo "kind=stable"
echo "marketplace_channel=default"
echo "cli_channel=latest"
} >> "$GITHUB_OUTPUT"
echo "Stable JetBrains Marketplace publishing is implemented but intentionally disabled; use an rc tag such as jetbrains/v7.0.1-rc.1." >&2
exit 1
fi
echo "Unsupported JetBrains plugin version '$version'. Expected jetbrains/vx.y.z-rc.n or jetbrains/vx.y.z." >&2
exit 1
- name: Validate publishing secrets
run: |
missing=0
@@ -100,8 +107,8 @@ jobs:
working-directory: packages/kilo-jetbrains
run: bun script/build.ts --production --prepare-cli
env:
KILO_VERSION: ${{ steps.version.outputs.version }}
KILO_CHANNEL: ${{ steps.version.outputs.cli_channel }}
KILO_VERSION: ${{ steps.release.outputs.version }}
KILO_CHANNEL: ${{ steps.release.outputs.cli_channel }}
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
@@ -109,13 +116,26 @@ jobs:
working-directory: packages/kilo-jetbrains
run: ./gradlew verifyPlugin -Pproduction=true -Pkilo.channel="$CHANNEL"
env:
CHANNEL: ${{ steps.version.outputs.marketplace_channel }}
VERSION: ${{ steps.release.outputs.version }}
CHANNEL: ${{ steps.release.outputs.marketplace_channel }}
- name: Render release notes
working-directory: packages/kilo-jetbrains
run: |
if ! grep -Fq "## [$VERSION]" CHANGELOG.md; then
echo "Missing packages/kilo-jetbrains/CHANGELOG.md entry for $VERSION. Review and merge a release PR before publishing." >&2
exit 1
fi
./gradlew getChangelog --project-version "$VERSION" --no-header --no-empty-sections --output-file=build/release-notes.md
env:
VERSION: ${{ steps.release.outputs.version }}
- name: Publish to JetBrains Marketplace
working-directory: packages/kilo-jetbrains
run: ./gradlew publishPlugin -Pproduction=true -Pkilo.channel="$CHANNEL"
env:
CHANNEL: ${{ steps.version.outputs.marketplace_channel }}
VERSION: ${{ steps.release.outputs.version }}
CHANNEL: ${{ steps.release.outputs.marketplace_channel }}
JETBRAINS_MARKETPLACE_TOKEN: ${{ secrets.JETBRAINS_MARKETPLACE_TOKEN }}
JETBRAINS_CERTIFICATE_CHAIN: ${{ secrets.JETBRAINS_CERTIFICATE_CHAIN }}
JETBRAINS_PRIVATE_KEY: ${{ secrets.JETBRAINS_PRIVATE_KEY }}
@@ -145,23 +165,30 @@ jobs:
- name: Upload to GitHub Release
run: |
tag="$GITHUB_REF_NAME"
tag="$TAG"
title="JetBrains $VERSION"
notes="JetBrains plugin $VERSION."
flags=(--title "$title" --notes-file "$NOTES")
if [[ "$KIND" == "rc" ]]; then
flags+=(--prerelease)
fi
if gh release view "$tag" --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then
gh release upload "$tag" "$ARCHIVE" --clobber --repo "$GITHUB_REPOSITORY"
gh release edit "$tag" "${flags[@]}" --repo "$GITHUB_REPOSITORY"
exit 0
fi
gh release create "$tag" "$ARCHIVE" --title "$title" --notes "$notes" --prerelease --repo "$GITHUB_REPOSITORY"
gh release create "$tag" "$ARCHIVE" "${flags[@]}" --repo "$GITHUB_REPOSITORY"
env:
GH_TOKEN: ${{ github.token }}
VERSION: ${{ steps.version.outputs.version }}
TAG: ${{ steps.release.outputs.tag }}
VERSION: ${{ steps.release.outputs.version }}
KIND: ${{ steps.release.outputs.kind }}
ARCHIVE: ${{ steps.archive.outputs.path }}
NOTES: packages/kilo-jetbrains/build/release-notes.md
- name: Upload workflow artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: kilo-jetbrains-${{ steps.version.outputs.version }}
name: kilo-jetbrains-${{ steps.release.outputs.version }}
path: packages/kilo-jetbrains/build/distributions/*.zip
if-no-files-found: ignore
+182 -1
View File
@@ -118,8 +118,187 @@ jobs:
outputs:
version: ${{ needs.version.outputs.version }}
build-vscode:
# kilocode_change start - execute supported Unix CLI binaries before packaging VSIX artifacts
validate-cli-unix:
name: Validate CLI (${{ matrix.target }})
needs: build-cli
runs-on: ${{ matrix.runner }}
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
include:
- target: darwin-arm64
runner: macos-15
uname: arm64
package: "@kilocode/cli-darwin-arm64"
mode: host
- target: darwin-x64
runner: macos-15-intel
uname: x86_64
package: "@kilocode/cli-darwin-x64"
mode: host
- target: linux-arm64
runner: ubuntu-24.04-arm
uname: aarch64
package: "@kilocode/cli-linux-arm64"
mode: host
- target: linux-x64
runner: ubuntu-24.04
uname: x86_64
package: "@kilocode/cli-linux-x64"
mode: host
- target: alpine-arm64
runner: ubuntu-24.04-arm
uname: aarch64
package: "@kilocode/cli-linux-arm64-musl"
mode: alpine
platform: linux/arm64
- target: alpine-x64
runner: ubuntu-24.04
uname: x86_64
package: "@kilocode/cli-linux-x64-musl"
mode: alpine
platform: linux/amd64
steps:
- uses: actions/download-artifact@v8
with:
name: kilo-cli.tar.zst
path: /tmp
skip-decompress: true
- name: Unpack CLI dist
run: |
mkdir -p dist
tar --zstd -xf /tmp/kilo-cli.tar.zst -C dist
- name: Run CLI smoke test
run: |
test "$(uname -m)" = "${{ matrix.uname }}"
smoke_host() {
binary="$1"
"$binary" --version
root="$(mktemp -d)"
trap 'rm -rf "$root"' RETURN
(
unset KILO_MODELS_PATH KILO_MODELS_URL KILO_CONFIG KILO_CONFIG_DIR
export XDG_DATA_HOME="$root/data"
export XDG_CACHE_HOME="$root/cache"
export XDG_CONFIG_HOME="$root/config"
export XDG_STATE_HOME="$root/state"
export KILO_DISABLE_MODELS_FETCH=1
export KILO_DISABLE_PROJECT_CONFIG=1
export KILO_CONFIG_CONTENT='{"enabled_providers":["anthropic"]}'
export ANTHROPIC_API_KEY=dummy
"$binary" --pure models anthropic | grep -q '^anthropic/'
)
}
if [ "${{ matrix.mode }}" = "host" ]; then
smoke_host "./dist/${{ matrix.package }}/bin/kilo"
exit 0
fi
docker run --rm \
--platform "${{ matrix.platform }}" \
-v "$PWD/dist:/dist:ro" \
-e PACKAGE="${{ matrix.package }}" \
alpine:3.22 \
sh -c '
set -eu
# kilocode_change start - Bun musl binaries link against libstdc++ and libgcc_s
# (GCC C++ runtime). Alpine does not ship these by default; they are available
# as optional packages and must be installed for any Bun-compiled musl binary to run.
apk add --no-cache libstdc++ libgcc
# kilocode_change end
binary="/dist/$PACKAGE/bin/kilo"
"$binary" --version
root="$(mktemp -d)"
trap '\''rm -rf "$root"'\'' EXIT
unset KILO_MODELS_PATH KILO_MODELS_URL KILO_CONFIG KILO_CONFIG_DIR
export XDG_DATA_HOME="$root/data"
export XDG_CACHE_HOME="$root/cache"
export XDG_CONFIG_HOME="$root/config"
export XDG_STATE_HOME="$root/state"
export KILO_DISABLE_MODELS_FETCH=1
export KILO_DISABLE_PROJECT_CONFIG=1
export KILO_CONFIG_CONTENT='\''{"enabled_providers":["anthropic"]}'\''
export ANTHROPIC_API_KEY=dummy
"$binary" --pure models anthropic | grep -q "^anthropic/"
'
validate-cli-windows:
name: Validate CLI (windows-${{ matrix.arch }})
needs: build-cli
runs-on: ${{ matrix.runner }}
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
include:
- arch: arm64
runner: windows-11-arm
package: "@kilocode/cli-windows-arm64"
- arch: x64
runner: windows-2025
package: "@kilocode/cli-windows-x64"
steps:
- uses: actions/download-artifact@v8
with:
name: kilo-cli.tar.zst
path: ${{ runner.temp }}
skip-decompress: true
- name: Install zstd
shell: pwsh
run: |
if (-not (Get-Command zstd -ErrorAction SilentlyContinue)) {
choco install zstandard -y --no-progress
}
- name: Unpack CLI dist
shell: pwsh
run: |
New-Item -ItemType Directory -Force -Path dist | Out-Null
zstd -d --stdout "$env:RUNNER_TEMP\kilo-cli.tar.zst" | tar -xf - -C dist
- name: Run CLI smoke test
shell: pwsh
run: |
$package = "${{ matrix.package }}".Replace("/", "\")
$binary = ".\dist\$package\bin\kilo.exe"
& $binary --version
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
$root = Join-Path $env:RUNNER_TEMP ([guid]::NewGuid().ToString())
New-Item -ItemType Directory -Force -Path $root | Out-Null
try {
foreach ($name in "KILO_MODELS_PATH", "KILO_MODELS_URL", "KILO_CONFIG", "KILO_CONFIG_DIR") {
Remove-Item "Env:$name" -ErrorAction SilentlyContinue
}
$env:XDG_DATA_HOME = Join-Path $root "data"
$env:XDG_CACHE_HOME = Join-Path $root "cache"
$env:XDG_CONFIG_HOME = Join-Path $root "config"
$env:XDG_STATE_HOME = Join-Path $root "state"
$env:KILO_DISABLE_MODELS_FETCH = "1"
$env:KILO_DISABLE_PROJECT_CONFIG = "1"
$env:KILO_CONFIG_CONTENT = '{"enabled_providers":["anthropic"]}'
$env:ANTHROPIC_API_KEY = "dummy"
$output = & $binary --pure models anthropic
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
if (-not ($output -match "(?m)^anthropic/")) {
throw "Compiled Windows binary did not list Anthropic models from the embedded snapshot"
}
} finally {
Remove-Item -Recurse -Force $root -ErrorAction SilentlyContinue
}
# kilocode_change end
build-vscode:
needs:
- build-cli
- validate-cli-unix
- validate-cli-windows
runs-on: blacksmith-4vcpu-ubuntu-2404
if: github.repository == 'Kilo-Org/kilocode'
steps:
@@ -181,6 +360,8 @@ jobs:
- version
- build-cli
- build-vscode
- validate-cli-unix # kilocode_change
- validate-cli-windows # kilocode_change
- smoke-test
runs-on: ubuntu-24.04
steps:
+1 -1
View File
@@ -125,7 +125,7 @@ jobs:
./scripts/run_eval.sh \
-m kilo/anthropic/claude-sonnet-4.6 \
-d terminal-bench-sample \
-t "log-summary-date-ranges" \
--include-task-name "log-summary-date-ranges" \
--job-name smoke-test-log-summary \
--timeout-multiplier 2
+103
View File
@@ -0,0 +1,103 @@
# kilocode_change - new file
name: test-jetbrains
on:
workflow_call:
workflow_dispatch:
permissions:
contents: read
checks: write
pull-requests: read
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
changes:
name: detect JetBrains changes
runs-on: blacksmith-4vcpu-ubuntu-2404
outputs:
jetbrains: ${{ github.event_name == 'workflow_dispatch' && 'true' || steps.filter.outputs.jetbrains }}
steps:
- name: Checkout repository
if: github.event_name != 'workflow_dispatch'
uses: actions/checkout@v6
- name: Detect JetBrains changes
if: github.event_name != 'workflow_dispatch'
id: filter
uses: Kilo-Org/paths-filter@668c092af3649c4b664c54e4b704aa46782f6f7c # v3
with:
predicate-quantifier: every
filters: |
jetbrains:
- '**'
- '!packages/kilo-vscode/**'
- '!packages/kilo-docs/**'
unit:
name: jetbrains
needs: changes
if: github.event_name == 'workflow_dispatch' || needs.changes.outputs.jetbrains == 'true'
runs-on: blacksmith-4vcpu-ubuntu-2404
container:
image: ghcr.io/kilo-org/build/jetbrains:24.04
defaults:
run:
shell: bash
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Mark workspace as git-safe
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Install dependencies
run: bun install
- name: Run JetBrains unit tests
run: bun script/test-ci.ts
working-directory: packages/kilo-jetbrains
- name: Publish JetBrains unit reports
if: always()
uses: mikepenz/action-junit-report@bccf2e31636835cf0874589931c4116687171386 # v6.4.0
with:
report_paths: packages/kilo-jetbrains/.artifacts/unit/junit.xml
check_name: "unit results (jetbrains)"
detailed_summary: true
include_time_in_summary: true
fail_on_failure: false
- name: Upload JetBrains unit artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: unit-jetbrains-${{ github.run_attempt }}
include-hidden-files: true
if-no-files-found: ignore
retention-days: 7
path: packages/kilo-jetbrains/.artifacts/unit/junit.xml
required:
name: result
needs:
- changes
- unit
if: always()
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Verify JetBrains jobs passed
run: |
echo "changes=${{ needs.changes.result }}"
echo "jetbrains=${{ needs.unit.result }}"
test "${{ needs.changes.result }}" = "success"
if [ "${{ needs.changes.outputs.jetbrains }}" = "true" ]; then
test "${{ needs.unit.result }}" = "success"
else
test "${{ needs.changes.outputs.jetbrains }}" = "false"
test "${{ needs.unit.result }}" = "skipped"
fi
+26 -11
View File
@@ -21,6 +21,7 @@ env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
# kilocode_change start
unit:
name: unit (${{ matrix.settings.name }})
strategy:
@@ -32,6 +33,7 @@ jobs:
- name: windows
host: blacksmith-4vcpu-windows-2025 # kilocode_change
runs-on: ${{ matrix.settings.host }}
timeout-minutes: 45 # kilocode_change
defaults:
run:
shell: bash
@@ -45,7 +47,7 @@ jobs:
- name: Setup Node
id: setup-node
continue-on-error: ${{ runner.os == 'Windows' }}
uses: actions/setup-node@v6
uses: actions/setup-node@v6 # kilocode_change
with:
node-version: "24"
@@ -59,14 +61,6 @@ jobs:
- name: Setup Bun
uses: ./.github/actions/setup-bun
# kilocode_change start
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21"
# kilocode_change end
- name: Configure git identity
run: |
git config --global user.email "kilo-maintainer[bot]@users.noreply.github.com"
@@ -82,13 +76,18 @@ jobs:
turbo-${{ runner.os }}-
- name: Run unit tests
run: bun turbo test:ci
run: bun turbo test:ci --filter='!@kilocode/kilo-jetbrains'
env:
KILO_EXPERIMENTAL_DISABLE_FILEWATCHER: ${{ runner.os == 'Windows' && 'true' || 'false' }}
- name: Run HttpApi exerciser gates
if: runner.os == 'Linux'
working-directory: packages/opencode
run: bun run test:httpapi
- name: Publish unit reports
if: always()
uses: mikepenz/action-junit-report@v6
uses: mikepenz/action-junit-report@bccf2e31636835cf0874589931c4116687171386 # v6.4.0
with:
report_paths: packages/*/.artifacts/unit/junit.xml
check_name: "unit results (${{ matrix.settings.name }})"
@@ -105,15 +104,31 @@ jobs:
if-no-files-found: ignore
retention-days: 7
path: packages/*/.artifacts/unit/junit.xml
# kilocode_change end
# kilocode_change start
jetbrains:
name: jetbrains
permissions:
contents: read
checks: write
pull-requests: read
uses: ./.github/workflows/test-jetbrains.yml
# kilocode_change end
# kilocode_change start
required:
name: test (linux)
runs-on: blacksmith-4vcpu-ubuntu-2404
needs:
- unit
- jetbrains
if: always()
steps:
- name: Verify upstream test jobs passed
run: |
echo "unit=${{ needs.unit.result }}"
echo "jetbrains=${{ needs.jetbrains.result }}"
test "${{ needs.unit.result }}" = "success"
test "${{ needs.jetbrains.result }}" = "success"
# kilocode_change end
+44 -4
View File
@@ -8,7 +8,8 @@ on:
workflow_dispatch:
jobs:
typecheck:
typecheck-js:
name: typecheck-js
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout repository
@@ -18,12 +19,51 @@ jobs:
uses: ./.github/actions/setup-bun
# kilocode_change start
- name: Run TypeScript typecheck
run: bun turbo typecheck --filter='!@kilocode/kilo-jetbrains'
- name: Build Kilo Console
run: bun turbo build --filter=@kilocode/kilo-console
# kilocode_change end
# kilocode_change start
typecheck-jetbrains:
name: typecheck-jetbrains
runs-on: blacksmith-4vcpu-ubuntu-2404
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup Bun
uses: ./.github/actions/setup-bun
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21"
# kilocode_change end
- name: Run typecheck
run: bun typecheck
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ github.ref != 'refs/heads/main' }}
- name: Run JetBrains typecheck
run: ./gradlew typecheck
working-directory: packages/kilo-jetbrains
required:
name: typecheck
runs-on: blacksmith-4vcpu-ubuntu-2404
needs:
- typecheck-js
- typecheck-jetbrains
if: always()
steps:
- name: Verify typecheck jobs passed
run: |
echo "typecheck-js=${{ needs.typecheck-js.result }}"
echo "typecheck-jetbrains=${{ needs.typecheck-jetbrains.result }}"
test "${{ needs.typecheck-js.result }}" = "success"
test "${{ needs.typecheck-jetbrains.result }}" = "success"
# kilocode_change end
+28 -15
View File
@@ -13,21 +13,25 @@ jobs:
is_fork: ${{ steps.fork-check.outputs.is_fork }}
steps:
- uses: actions/checkout@v6 # kilocode_change
- uses: Kilo-Org/paths-filter@master
# kilocode_change start
- name: Check changed files
id: filter
with:
filters: |
matched:
- "packages/kilo-ui/**"
- "packages/ui/**"
- "packages/util/**"
- "packages/sdk/js/**"
- "packages/kilo-vscode/webview-ui/**"
- "packages/kilo-vscode/.storybook/**"
- "packages/kilo-vscode/tests/visual-regression*"
- "packages/kilo-vscode/tests/permission-dock-dropdown*"
- "packages/kilo-docs/public/img/screenshot-tests/**"
- ".github/workflows/visual-regression.yml"
env:
GH_TOKEN: ${{ github.token }}
PR: ${{ github.event.pull_request.number }}
run: |
matched=false
while IFS= read -r file; do
case "$file" in
packages/kilo-ui/*|packages/ui/*|packages/util/*|packages/sdk/js/*|packages/kilo-vscode/webview-ui/*|packages/kilo-vscode/.storybook/*|packages/kilo-vscode/tests/visual-regression*|packages/kilo-vscode/tests/permission-dock-dropdown*|packages/kilo-vscode/tests/accessibility*|packages/kilo-docs/public/img/screenshot-tests/*|.github/workflows/visual-regression.yml)
matched=true
break
;;
esac
done < <(gh api --paginate "repos/${GITHUB_REPOSITORY}/pulls/${PR}/files" --jq '.[].filename')
echo "matched=$matched" >> "$GITHUB_OUTPUT"
echo "matched=$matched"
# kilocode_change end
- name: Check if PR is from a fork
id: fork-check
run: |
@@ -207,6 +211,10 @@ jobs:
name: Visual Regression (kilo-vscode webview)
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 15
# kilocode_change start
env:
NODE_OPTIONS: --max-old-space-size=4096
# kilocode_change end
steps:
- name: Checkout (internal)
@@ -276,13 +284,18 @@ jobs:
if: steps.storybook-cache-vscode.outputs.cache-hit != 'true'
run: bun run build-storybook
working-directory: packages/kilo-vscode
# kilocode_change start
env:
NODE_OPTIONS: --max-old-space-size=4096
# kilocode_change end
- name: Generate baselines for new/missing stories
- name: Generate baselines and enforce webview accessibility checks # kilocode_change
run: bun run test:visual:update
working-directory: packages/kilo-vscode
env:
CI: true
PLAYWRIGHT_WORKERS: "4"
NODE_OPTIONS: --max-old-space-size=4096 # kilocode_change
- name: Remove stale baselines for deleted stories
run: |
@@ -12,7 +12,7 @@ permissions:
jobs:
check-release:
if: vars.OPENCODE_WATCH_ENABLED != 'false'
if: github.repository == 'Kilo-Org/kilocode' && vars.OPENCODE_WATCH_ENABLED != 'false'
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
@@ -40,9 +40,12 @@ jobs:
env:
URL: ${{ secrets.OPENCODE_WATCH_SYNC_URL }}
SECRET: ${{ secrets.OPENCODE_WATCH_SYNC_SECRET }}
VERCEL: ${{ secrets.OPENCODE_WATCH_VERCEL_SECRET }}
run: |
if [ -n "$URL" ] && [ -n "$SECRET" ]; then
curl -sf -X POST "$URL" -H "x-sync-secret: $SECRET" -H "Content-Type: application/json" -d '{}' || true
headers=(-H "x-sync-secret: $SECRET" -H "Content-Type: application/json")
[ -n "$VERCEL" ] && headers+=(-H "x-vercel-protection-bypass: $VERCEL")
curl -sf -X POST "$URL" "${headers[@]}" -d '{}' || true
fi
- if: steps.fetch.outputs.tag != '' && steps.cache.outputs.cache-hit != 'true'
+2
View File
@@ -5,6 +5,7 @@ node_modules
.worktrees
.sst
.env
.env.local
.idea/*
!.idea/gradle.xml
!.idea/.run
@@ -34,6 +35,7 @@ a.out
target
.scripts
.direnv/
packages/kilo-jetbrains/build-tasks/.gradle/
# Local dev files
opencode-dev
+5
View File
@@ -0,0 +1,5 @@
# Fake secret-looking strings used by HTTP recorder redaction tests.
afa57acfda894e0ebf3c637dd710310b705c0a2f:packages/http-recorder/test/record-replay.test.ts:generic-api-key:69
afa57acfda894e0ebf3c637dd710310b705c0a2f:packages/http-recorder/test/record-replay.test.ts:generic-api-key:92
afa57acfda894e0ebf3c637dd710310b705c0a2f:packages/http-recorder/test/record-replay.test.ts:generic-api-key:146
afa57acfda894e0ebf3c637dd710310b705c0a2f:packages/http-recorder/test/record-replay.test.ts:gcp-api-key:71
+69
View File
@@ -0,0 +1,69 @@
---
description: Review an upstream merge PR and write reports
---
Review $1.
Branch off so we have all the code for the reviewed PR. Then run the following reviews in parallel, using one subagent per review, and save each result in the named markdown file at the repository root. A human will read those files, so if in doubt add a finding for human verification.
When all subagents are done, commit the report files and create a draft PR with the reviewed PR branch as base.
Do not include exhaustive per-file checklists in the report files. Summarize the scope and methodology, then list only findings, notable non-findings, command outputs, and limitations.
## KILOCODE_CHANGE_MARKERS.md
Review carefully, file by file, whether we accidentally removed any `kilocode_change` marker.
Get the full list of files changed in the reviewed PR. Check each changed file. For each file, compare both our `main` branch and the upstream-merged version in the reviewed PR. Determine whether any marker removal, marker move, or Kilo-specific change makes sense, and comment on that.
Do not include a full "Files Checked" section. Mention the number of changed files checked, but only list files that have findings or need human verification.
## INFRASTRUCTURE_CHANGE.md
Review whether this PR adds, removes, or changes any infrastructure, such as GitHub Actions, CI config, release/deploy scripts, Docker/build infrastructure, package manager/workspace infrastructure, repository automation, issue templates, changelog automation, or generated SDK/build automation.
We want to merge upstream code but keep our own infrastructure, so flag anything infrastructure-related. When in doubt, add a finding and say a human should check manually.
Do not include a full "Files Checked" section. Only list infrastructure-relevant files and findings.
## OPENCODE_MENTIONS.md
Check whether the merge now mentions OpenCode somewhere user-facing instead of Kilo, or links to OpenCode web properties.
Focus on UI strings, docs, help text, package metadata shown to users, URLs, CLI output, config docs, generated SDK/OpenAPI descriptions, and error messages.
## UNNECESSARY_MARKERS.md
Check whether any merged files now use `kilocode_change` markers without any actual difference to upstream.
Use `script/upstream/find-reset-candidates.ts --dry-run` to see whether any files changed in the PR are actually now identical to upstream. If you find candidates, verify them with `script/upstream/reset-to-upstream.ts --dry-run`.
## BROKEN_PIPELINE_CHAINS.md
Review this PR for broken end-to-end chains where our custom functionality requires changes across multiple files or layers, but the merge may have removed or altered an intermediate step. The code may still compile, so these issues can be silent.
Look for cases like:
- A parameter that is set but never read.
- A field that is populated but never passed through.
- An event that is emitted but no longer handled.
- A config option that is defined but never propagated to where it is used.
- A type definition extended on one side but not consumed on the other.
For each `kilocode_change` in this PR, trace the full chain: where the value or behavior is introduced, where it needs to flow through, and where it is ultimately consumed. Verify every link in the chain still exists after the merge.
Pay special attention to:
- Props or parameters passed through multiple component or function layers.
- Values written to state, context, or storage that are read elsewhere.
- Message types, events, or IPC handlers where sender and receiver must match.
- Configuration or feature flags defined in one place and checked in another.
- Type definitions extended on one side but consumed on the other.
When in doubt, add a finding. A human will verify it. Compiling code is not proof the chain is intact.
## TESTS.md
Check whether this PR removed any Kilo-specific tests.
Kilo-specific tests may live in paths containing `kilo` or `kilocode`, or may include Kilo-specific assertions, fixtures, or `kilocode_change` markers.
+37
View File
@@ -0,0 +1,37 @@
# Sample Plan With Todos
## Goal
Create a clear sample plan that breaks work into actionable todos.
## Todos
1. Define the objective
- Clarify the desired outcome.
- Identify the target audience.
- List success criteria.
2. Gather requirements
- Collect relevant inputs.
- Note constraints and assumptions.
- Identify dependencies.
3. Break down the work
- Split the goal into smaller tasks.
- Prioritize tasks by importance.
- Estimate effort for each task.
4. Execute the tasks
- Complete the highest-priority items first.
- Track progress as todos are finished.
- Adjust the plan if new information appears.
5. Review and validate
- Check that all todos are complete.
- Verify the result matches the goal.
- Document any follow-up work.
## Acceptance Criteria
- The plan has a clear goal.
- The plan includes a list of actionable todos.
- The todos are ordered logically.
- The plan includes a way to confirm completion.
+38
View File
@@ -0,0 +1,38 @@
# Sample Plan With Todos
## Goal
Create a simple sample plan that demonstrates how to organize work into clear, actionable todos.
## Implementation Steps
1. Define the objective
- State the desired outcome in one sentence.
- Identify who the plan is for.
- List the criteria that indicate success.
2. Gather requirements
- Capture relevant inputs and context.
- Note constraints, assumptions, and dependencies.
- Identify any missing information that may affect execution.
3. Break down the work
- Split the objective into smaller tasks.
- Order tasks by dependency and priority.
- Keep each todo specific enough to complete independently.
4. Execute the todos
- Work through the highest-priority tasks first.
- Mark todos complete as progress is made.
- Update the plan if new information changes the scope.
5. Review the result
- Confirm every todo has been addressed.
- Verify the result matches the original objective.
- Record any follow-up work separately.
## Acceptance Criteria
- The plan has a clear goal.
- The plan includes actionable todos.
- The todos are ordered logically.
- The plan includes a review step to confirm completion.
@@ -0,0 +1,37 @@
# Sample Plan: Add Todo-Based Workflow
## Goal
Create a small, traceable workflow for implementing a feature with clear todos, validation steps, and completion criteria.
## Scope
- Identify the affected package or feature area.
- Make the smallest correct code change.
- Add or update tests only where they verify behavior.
- Run the smallest relevant checks before completion.
## Todos
- [ ] Inspect the relevant files and existing patterns.
- [ ] Confirm whether the change belongs in Kilo-owned code or shared upstream code.
- [ ] Implement the minimal code change.
- [ ] Add or update targeted tests if behavior changes.
- [ ] Run formatting or linting if the touched package requires it.
- [ ] Run the smallest relevant typecheck or test command.
- [ ] Fix any failures introduced by the change.
- [ ] Summarize changed files and verification results.
## Implementation Notes
- Prefer Kilo-owned directories for Kilo-specific behavior.
- If shared upstream files must be edited, keep the change narrow and add `kilocode_change` markers where required.
- Avoid broad refactors unless they are necessary for the requested behavior.
- Preserve existing style, naming, and package conventions.
## Verification
- Run the targeted test for the changed behavior when available.
- Run the package typecheck if TypeScript code changes.
- Run any repo-specific guard required by touched files, such as annotation or source-link checks.
## Completion Criteria
- The requested behavior is implemented.
- Tests or checks relevant to the change pass, or any inability to run them is documented.
- No unrelated files are modified.
- The final response includes a concise summary and verification status.
+35
View File
@@ -0,0 +1,35 @@
# Sample Plan
## Goal
Create a small example feature or change using a clear implementation workflow and tracked todo list.
## Scope
- Add or update a minimal code path.
- Add focused tests for the changed behavior.
- Run the smallest relevant verification command.
- Summarize the result and any follow-up work.
## Todo
- [ ] Inspect the relevant files and existing patterns.
- [ ] Identify the smallest safe implementation approach.
- [ ] Make the code change.
- [ ] Add or update tests for the behavior.
- [ ] Run targeted tests or typecheck.
- [ ] Fix any failures introduced by the change.
- [ ] Provide a concise final summary with verification results.
## Implementation Notes
- Prefer the smallest correct change over broad refactors.
- Preserve existing style and naming conventions.
- Avoid touching unrelated files.
- If shared upstream-owned files are involved, use the repositorys `kilocode_change` marker guidance.
## Verification
Run the most specific applicable check for the touched area, such as:
- CLI: `bun test ./path/to/test.ts` from `packages/opencode/`
- VS Code extension: `bun run test:unit` from `packages/kilo-vscode/`
- Cross-package changes: `bun run typecheck` from the repo root
## Risks
- The sample scope may need adjustment once the real target files are known.
- Verification commands depend on which package is touched.
+69
View File
@@ -0,0 +1,69 @@
# Plan: Replace Internal SVGLoader Usage
## Context
The JetBrains plugin currently imports `com.intellij.util.SVGLoader` in `packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/ui/SvgIconColorizer.kt` and calls `SVGLoader.load(ByteArrayInputStream(patch()), scale.toFloat())` from `SvgIcon.image(Graphics)`.
Inspection reports this as an internal API usage because `SVGLoader` and its `load(InputStream, float)` method are marked `@ApiStatus.Internal`.
I checked the local IntelliJ source reference via `$INTELLIJ_REPO=/Users/kirillk/products/intellij-community`:
- `platform/util/ui/src/com/intellij/util/SVGLoader.kt`
- `platform/util/ui/src/com/intellij/ui/svg/svg.kt`
- `platform/util/ui/src/com/intellij/ui/svg/jsvg.kt`
- `libraries/jsvg/intellij.libraries.jsvg.iml`
Important findings:
- IntelliJ `SVGLoader.load(stream, scale)` delegates to internal `loadSvg(...)` in `com.intellij.ui.svg`.
- The actual renderer uses `com.github.weisj:jsvg:2.1.0` and renders into a `BufferedImage` with antialiasing, bicubic interpolation, and pure stroke control.
- Copying `SVGLoader.kt` directly would keep references to other internal IntelliJ APIs (`IconLoader`, `ScaleContext`, `ImageUtil`, `SvgAttributePatcher`, `createJSvgDocument`, `renderSvgWithSize`, cache classes, etc.) and would be broader than needed.
## Implementation Plan
1. Add Kilo-owned SVG rendering code under the frontend UI package, for example:
- `packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/ui/SvgLoader.kt`
- Package: `ai.kilocode.client.ui`
- Suggested internal object name: `SvgLoader`
2. Keep the copied implementation minimal and purpose-specific:
- Accept `InputStream` and `scale: Float`.
- Parse the SVG with `com.github.weisj.jsvg.parser.SVGLoader().load(stream)` or the equivalent public jsvg API available in version `2.1.0`.
- Determine image dimensions from the root SVG `width` and `height` already parsed by existing `SvgIconColorizer.size(...)`, or by passing dimensions into the loader if the public jsvg API does not expose reliable intrinsic size.
- Render into `BufferedImage(width * scale, height * scale, BufferedImage.TYPE_INT_ARGB)` using `Graphics2D` rendering hints matching IntelliJs `jsvg.kt`:
- `KEY_ANTIALIASING = VALUE_ANTIALIAS_ON`
- `KEY_INTERPOLATION = VALUE_INTERPOLATION_BICUBIC`
- `KEY_STROKE_CONTROL = VALUE_STROKE_PURE`
- Return `Image`/`BufferedImage`.
3. If jsvg does not expose intrinsic size cleanly from public API, adjust the API to avoid duplicating SVG parsing:
- Add `width` and `height` parameters to the Kilo loader.
- In `SvgIcon.image(Graphics)`, call the loader with the already-computed `size.first` and `size.second`.
- This is the likely smallest stable solution because current icons already require explicit `width` and `height` for `SvgIconColorizer.size(...)`.
4. Add the jsvg dependency explicitly to the plugin frontend module instead of relying on the IntelliJ-bundled library:
- In `packages/kilo-jetbrains/gradle/libs.versions.toml`, add `jsvg = "2.1.0"` and `jsvg = { module = "com.github.weisj:jsvg", version.ref = "jsvg" }`.
- In `packages/kilo-jetbrains/frontend/build.gradle.kts`, add `implementation(libs.jsvg)`.
- This follows the package instruction to bundle third-party libraries with the plugin rather than relying on IDE-bundled versions.
5. Update `SvgIconColorizer.kt`:
- Remove `import com.intellij.util.SVGLoader`.
- Replace `SVGLoader.load(ByteArrayInputStream(patch()), scale.toFloat())` with the Kilo-owned loader call.
- Keep the existing color patching, cache key, scale calculation, and size parsing intact.
6. Add a focused frontend unit test:
- New test file: `frontend/src/test/kotlin/ai/kilocode/client/ui/SvgIconColorizerTest.kt` or `SvgLoaderTest.kt`.
- Exercise the actual loader/colorizer with a small SVG resource or inline SVG bytes.
- Assert that rendering returns a non-empty image at scale `1f` and `2f`, and that scaled dimensions are correct.
- If testing the colorizer, paint the icon into a `BufferedImage` and verify at least one expected patched pixel color appears.
7. Run verification from `packages/kilo-jetbrains/`:
- `./gradlew typecheck`
- A targeted frontend test if Gradle supports one cleanly, otherwise `./gradlew test`.
- The requested DevKit internal API inspection is IDE-based; note in final response that the code no longer references `com.intellij.util.SVGLoader`, and typecheck/tests were run.
## Notes And Risks
- The user said “copy SaveLoaer”; I interpret this as “copy `SVGLoader`”. The implementation should copy the relevant rendering behavior, not IntelliJs full internal `SVGLoader` object, because the full source depends on multiple other internal APIs and cache infrastructure.
- This change is in `packages/kilo-jetbrains/`, a Kilo-owned package, so `kilocode_change` markers are not needed.
- jsvg package names and constructors should be confirmed during implementation against the downloaded dependency/API available to Gradle. If the API differs from IntelliJ source usage, inspect the source jar or compile error and adapt the minimal wrapper accordingly.
+60
View File
@@ -0,0 +1,60 @@
# Remove JetBrains SVG Runtime Colorization
## Goal
Stop runtime SVG recoloring in the JetBrains plugin and rely on IntelliJ's standard light/dark icon asset resolution. Ensure every SVG asset used by the plugin has a light/dark pair.
## Findings
- Runtime colorization exists only in `frontend/src/main/kotlin/ai/kilocode/client/ui/SvgIconColorizer.kt`.
- The only production caller is `frontend/src/main/kotlin/ai/kilocode/client/session/scroll/ScrollButtonIcon.kt`.
- `ScrollButtonIcon` colorizes two icons at runtime:
- `/icons/scroll-bottom.svg`
- `/icons/scroll-question.svg`
- Both already have dark variants:
- `scroll-bottom_dark.svg`
- `scroll-question_dark.svg`
- Other used frontend icons already have light/dark pairs:
- `send.svg` / `send_dark.svg`
- `stop.svg` / `stop_dark.svg`
- `shield.svg` / `shield_dark.svg`
- `shield-filled.svg` / `shield-filled_dark.svg`
- `compress.svg` / `compress_dark.svg`
- `chevron-down.svg` / `chevron-down_dark.svg`
- `arrow-up.svg` / `arrow-up_dark.svg`
- `arrow-down-to-line.svg` / `arrow-down-to-line_dark.svg`
- `kilo.svg` / `kilo_dark.svg`
- `kilo-content.svg` / `kilo-content_dark.svg`
- `plus.svg` / `plus_dark.svg` exists, though no current direct source reference was found.
- `kilo@20x20.svg` / `kilo@20x20_dark.svg` exists, though no current direct source reference was found.
- `src/main/resources/META-INF/pluginIcon.svg` is present and has no `pluginIcon_dark.svg`. It is not referenced in source/XML, but JetBrains treats this filename conventionally as plugin metadata/marketplace icon, so it should be paired for completeness.
- The SVG assets use literal colors and no `currentColor`, `<style>`, CSS classes, or CSS variables were found in `frontend/src/main/resources/icons/*.svg`.
## Implementation Plan
1. Replace `ScrollButtonIcon` runtime colorization with standard `IconLoader.getIcon(...)` loading.
- Remove imports for `colorizedSvgIcon`, `SessionUiStyle`, `UiStyle`, `JBUI`, and `Color` from `ScrollButtonIcon.kt`.
- Add `IconLoader` import.
- Load `bottom` with `IconLoader.getIcon("/icons/scroll-bottom.svg", ScrollButtonIcon::class.java)`.
- Load `prompt` with `IconLoader.getIcon("/icons/scroll-question.svg", ScrollButtonIcon::class.java)`.
- Keep `create(question: Boolean = false)` unchanged so callers continue to receive the appropriate icon.
- IntelliJ should automatically resolve `_dark.svg` variants when the look and feel is dark.
2. Delete `frontend/src/main/kotlin/ai/kilocode/client/ui/SvgIconColorizer.kt` after confirming no callers remain.
3. Remove now-unused scroll icon source palette constants from `SessionUiStyle.ScrollIcon`.
- Delete the `ScrollIcon` object if no references remain.
- This also removes stale comments about runtime colorization.
4. Add `src/main/resources/META-INF/pluginIcon_dark.svg` as the dark-mode pair for `pluginIcon.svg`.
- Use the same artwork/colors as `pluginIcon.svg` unless there is a desired brand-specific dark variant; the current icon already has a black background and yellow mark, so an identical dark pair is acceptable and satisfies IntelliJ's expected pair convention.
5. Re-scan the JetBrains package after edits.
- Confirm there are no `colorizedSvgIcon` or `SvgIconColorizer` references.
- Confirm every used SVG path has a sibling `_dark.svg` where IntelliJ expects one.
- Confirm no frontend SVG uses `currentColor`, `<style>`, CSS classes, or CSS variables.
6. Run the smallest relevant verification from `packages/kilo-jetbrains/`:
- `bun run typecheck` or `./gradlew typecheck`.
## Files Expected To Change
- `packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/scroll/ScrollButtonIcon.kt`
- `packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/style/SessionUiStyle.kt`
- Delete `packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/ui/SvgIconColorizer.kt`
- Add `packages/kilo-jetbrains/src/main/resources/META-INF/pluginIcon_dark.svg`
## Risks
- The scroll icons will no longer follow arbitrary runtime theme colors; they will use the static light/dark SVG asset colors. This matches the requested behavior.
- If a non-default theme expects palette overrides, static literal SVG colors still follow normal IntelliJ SVG handling better than custom byte-patching, but the exact custom-color behavior may differ from the old colorizer.
+49
View File
@@ -0,0 +1,49 @@
# Fix JetBrains Session Question Scroll
## Goal
When a question-like active view first appears in the JetBrains session UI, do not auto-scroll the transcript if the user is already away from the tail and the scroll-to-bottom button is visible. This applies to permission prompts and question-based views. Existing behavior should remain: if the transcript is already at the bottom, new questions/permissions keep the view at the bottom; explicit question navigation can still jump to the active card.
## Current Findings
- `SessionUi` wires `QuestionView` with:
- `follow = { scroll.following() }`
- `scroll = { scroll.followBottom(it) }`
- `QuestionView.show()` runs on first display and calls:
- `val tail = follow()` before rendering the card
- `scroll(tail)` after rendering
- `SessionScroll.following()` currently returns `component.viewport.view === messages && tail`.
- This can use stale internal follow state instead of the live scrollbar state. The user-visible condition is better represented by `SessionScroll.atBottom()`, which is also what `SessionController.beforeUpdate` uses for normal transcript updates.
- Existing `SessionScrollTest` already covers question and login-required middle-scroll preservation, but it does not cover permission first appearance and likely does not cover a stale-tail/live-not-at-bottom edge.
## Implementation Plan
1. Update question first-show follow sampling to use live bottom state.
- In `SessionUi.buildUi()`, change the `QuestionView` `follow` lambda from `scroll.following()` to `scroll.atBottom()`.
- Alternatively, if a single semantic API is preferred, change `SessionScroll.following()` to return `component.viewport.view === messages && atBottom()` and keep the `SessionUi` call site unchanged. Prefer the smaller, clearer call-site change unless tests show other `following()` behavior should change too.
2. Add permission scroll regression tests in `SessionScrollTest`.
- Add `test permission appearing at bottom keeps scroll at bottom`.
- Add `test permission appearing while user is in middle preserves scroll position`.
- Emit `ChatEventDto.PermissionAsked("ses_test", PermissionRequestDto(...))` using the same DTO style as the existing recovered permission test.
- Assert the scrollbar value is preserved and `jumpButton().isVisible` stays true when initially away from bottom.
3. Strengthen question regression coverage if needed.
- Keep the existing `test question appearing while user is in middle preserves scroll position`.
- If the bug reproduces only when the jump button is visible but `tail` can be stale, add a targeted regression that creates the visible jump state before `QuestionAsked` and asserts first display does not jump.
- Avoid adding production-only test hooks; use existing `setValue`, `setValuePassive`, `drainScroll`, and event helpers.
4. Preserve intentional explicit navigation behavior.
- Do not change `QuestionView.goForward()`, `goBack()`, or `goReview()`, which intentionally call `scroll(true)` and are covered by existing tests that expect navigation to jump to the active question card.
- Do not change prompt growth or normal streaming follow behavior unless a failing test shows the same stale-state issue applies there.
5. Verification.
- Run the targeted JetBrains frontend session scroll tests from `packages/kilo-jetbrains/` using Gradle test filtering for `SessionScrollTest` if supported.
- Run `./gradlew typecheck` from `packages/kilo-jetbrains/` if the targeted tests pass or if Gradle filtering is unavailable.
- If Java 21 is unavailable, first check/report that blocker as instructed by the repo docs.
## Expected Files To Touch
- `packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt`
- `packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionScrollTest.kt`
## Non-Goals
- No backend or RPC protocol changes.
- No redesign of the session scroll algorithm.
- No changes to explicit question navigation auto-scroll behavior.
+81
View File
@@ -0,0 +1,81 @@
# Plan: JetBrains Question-Style Scroll Button
## Goal
Fix JetBrains session scrolling so that when any inline prompt card appears while the scroll/jump button is already visible, the transcript scroll position is preserved and only the scroll button state changes. This applies to all current `BaseQuestionView`-backed session cards: questions, permissions, and login-required prompts. Preserve existing behavior that question navigation, review/back/next, and bottom-following content changes auto-scroll when they are supposed to.
## Findings
- The relevant files are `packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionUi.kt`, `.../scroll/SessionScroll.kt`, `.../views/question/QuestionView.kt`, `.../views/permission/PermissionView.kt`, `.../views/LoginRequiredView.kt`, `.../views/base/BaseQuestionView.kt`, and `frontend/src/test/kotlin/ai/kilocode/client/session/SessionScrollTest.kt`.
- `QuestionView`, `PermissionView`, and `LoginRequiredView` do not inherit from `BaseQuestionView`; they compose it as the shared card shell. Scroll behavior should stay outside `BaseQuestionView` because it is a pure visual component with no session scroll context.
- The current uncommitted `SessionUi.kt` attempt changes `QuestionView` from `follow = { scroll.following() }` to `follow = { scroll.atBottom() }`.
- That fixes initial question appearance when the user is visibly away from bottom, but it is too broad because `QuestionView.follow()` is also used after custom editor growth, selection refresh, reply/reject, and other internal updates.
- `QuestionView` already intentionally calls `scroll(true)` in `goBack`, `goForward`, and `goReview`; those forced calls are the behavior that preserves auto-scroll when switching question pages.
- `PermissionView.show()` and `LoginRequiredView.show()` do not call scroll directly. They rely on `SessionController.beforeUpdate` / `afterUpdate`, which samples `scroll.atBottom()` before the state change and calls `scroll.followBottom(follow)` afterward. With the stale-tail fix, this path can preserve scroll for all non-question inline prompt cards.
- The uncommitted `SessionScroll.followBottom(false)` change that clears stale `tail` when the transcript is visible and not actually at bottom is directionally correct. It prevents later `following()` calls from resurrecting auto-follow after a non-follow decision.
- The current scroll button pending state is named `question` / `setQuestionPending` and is only enabled for non-plan `AwaitingQuestion`. To cover all `BaseQuestionView`-backed prompts, this should become a generic pending-input/attention state and include `AwaitingPermission` and `LoginRequired`.
- Existing behavior intentionally keeps plan follow-up questions using the normal scroll icon (`test plan followup question keeps scroll icon`), so preserve that exception unless product intent changes separately.
- The uncommitted `build.gradle.kts` and `script/build-sign-check.sh` changes are unrelated to this bug and should not be touched as part of this fix.
## Implementation Plan
1. In `QuestionView.kt`, split the scroll-follow decision into two callbacks.
- Keep the existing `follow` callback for question-internal updates.
- Add a second callback for initial question appearance, with a default that delegates to `follow` so existing tests/call sites remain compatible.
- In `show(q)`, sample the new initial callback before making the question visible or rebuilding the card, then call `scroll(tail)` after `syncPage()` as today.
- Leave `scroll(true)` in `goBack`, `goForward`, and `goReview` unchanged.
- Leave existing `scroll(follow())` calls in custom editor changes, option selection, reply, and reject paths unchanged.
2. In `SessionUi.kt`, wire the callbacks with distinct meanings.
- Use `follow = { scroll.following() }` for question-internal updates.
- Use the new initial callback as `{ scroll.atBottom() }` for initial question appearance.
- Keep `scroll = { scroll.followBottom(it) }`.
3. Generalize the scroll button pending state for all inline prompt cards.
- Rename `SessionScroll.setQuestionPending` and the backing `question` boolean to a generic name such as `setInputPending` / `pending` or `setAttentionPending` / `pending`.
- Rename `questionPending(state)` in `SessionUi.kt` to match the broader meaning.
- Return `true` for non-plan `SessionState.AwaitingQuestion`, `SessionState.AwaitingPermission`, and `SessionState.LoginRequired`.
- Keep returning `false` for plan follow-up questions so the existing plan-specific icon behavior is preserved.
- Reuse the existing question-style icon and tooltip for now, unless a separate product decision asks for a different permission/login-specific icon or string.
4. In `SessionScroll.kt`, keep the stale-tail reconciliation in `followBottom(false)`.
- When `follow` is false, increment `seq`, and if the active view is the transcript and `!atBottom()`, set `tail = false` before `updateJump()`.
- Do not change `following()` to use `atBottom()`, because `tail` is needed to preserve bottom-follow behavior across deferred layout/height growth.
5. Do not add scroll callbacks to `PermissionView`, `LoginRequiredView`, or `BaseQuestionView` unless tests prove the controller-level path is insufficient.
- `PermissionView` and `LoginRequiredView` should remain retained visual views that show/hide themselves and refresh their parent.
- `BaseQuestionView` should stay a scroll-unaware card shell.
- The shared behavior for those cards should come from the controller-level state-change follow decision plus the generalized pending-button state.
6. In `SessionScrollTest.kt`, update tests around question-style prompt appearance and preserved behavior.
- Keep or add an assertion that the jump button is visible before emitting a question in the middle-scroll test.
- Keep a regression for stale `tail` plus visible jump button if no public-only scenario can reproduce the failed state; keep the reflective helper local to this test file and avoid adding production test hooks.
- Keep existing behavior tests for question navigation from the middle, forced navigation resuming follow, custom question answer growth at bottom, custom question answer growth in the middle, and option selection not resuming follow.
- Add or keep permission bottom/middle tests to prove `AwaitingPermission` preserves scroll when away from bottom and follows when at bottom.
- Add or keep login-required bottom/middle tests to prove `LoginRequired` preserves scroll when away from bottom and follows when at bottom.
- Add explicit button-state assertions for permission and login-required while away from bottom: the button remains visible, switches to the pending-input icon/tooltip, and clicking it still scrolls to bottom.
- Keep the plan follow-up test proving plan prompts do not switch to the pending-input icon.
7. Add a patch changeset for the JetBrains plugin unless an existing branch changeset is intentionally covering this exact fix.
- Suggested release note: `Preserve JetBrains chat scroll position when inline prompts appear while the scroll button is visible.`
## Verification
- From `packages/kilo-jetbrains/`, run `./gradlew test --tests "ai.kilocode.client.session.SessionScrollTest"`.
- From `packages/kilo-jetbrains/`, run `./gradlew typecheck`.
- Do not run root `bun test`.
## Expected Outcome
- If the transcript is away from bottom and the jump button is visible, a newly appearing question, permission prompt, or login-required prompt changes the button state without moving `bar.value`.
- If the transcript is at bottom, a newly appearing question, permission prompt, or login-required prompt follows to the new bottom.
- Clicking the visible pending-input scroll button still jumps to the bottom for every inline prompt card.
- Question carousel next/back/review still jumps to the bottom even if the transcript was previously in the middle.
- Custom question editor growth still follows when the transcript was following and preserves position when it was not.
+109
View File
@@ -0,0 +1,109 @@
# Plan: JetBrains Feedback & Support Button
## Goal
Add the VS Code empty-state `Feedback & Support` affordance to the JetBrains plugin, including a non-modal popup with the same three destinations:
- GitHub issues: `https://github.com/Kilo-Org/kilocode/issues/new/choose`
- Discord: `https://kilo.ai/discord`
- Customer support: `https://kilo.ai/support`
The popup must hide when clicking outside or pressing Escape.
## Findings
- The JetBrains empty state is `packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/ui/EmptySessionPanel.kt`.
- It already renders the logo, welcome copy, recents, and `Show History`; this is the right place to add the button.
- The VS Code implementation is:
- Button: `packages/kilo-vscode/webview-ui/src/components/chat/MessageList.tsx`
- Popup content: `packages/kilo-vscode/webview-ui/src/components/chat/FeedbackDialog.tsx`
- Styling: `packages/kilo-vscode/webview-ui/src/styles/welcome.css`
- Local IntelliJ API source is available at `$INTELLIJ_REPO=/Users/kirillk/products/intellij-community`.
- IntelliJ popup API confirmed in local source:
- `JBPopupFactory.getInstance().createComponentPopupBuilder(content, focusComponent)`
- `setModalContext(false)` for non-modal context
- `setRequestFocus(false)` / `setFocusable(false)` if we want the popup not to steal focus
- `setCancelOnClickOutside(true)` for outside-click dismissal
- `setCancelKeyEnabled(true)` for Escape dismissal
- `setCancelOnWindowDeactivation(true)` and `setCancelOnOtherWindowOpen(true)` are available and appropriate for cleanup
- IntelliJ platform icons found in `AllIcons`:
- Feedback button: `AllIcons.Ide.Feedback`
- GitHub action: `AllIcons.Vcs.Vendors.Github`
- Support/help action: `AllIcons.Actions.Help` or `AllIcons.General.ContextHelp`
- Discord: no platform icon found. Add a Discord icon by borrowing the existing VS Code/kilo-ui Discord SVG artwork and adapting it into the JetBrains plugin resources with IntelliJ-compatible SVG colors and dark variant if needed.
## Implementation Steps
1. Add localized JetBrains bundle keys.
- Add base English strings to `frontend/src/main/resources/messages/KiloBundle.properties`:
- `feedback.button=Feedback & Support`
- `feedback.dialog.message=We'd love to hear your feedback or help with any issues you're experiencing.`
- `feedback.dialog.github=Report an issue on GitHub`
- `feedback.dialog.discord=Join our Discord community`
- `feedback.dialog.support=Customer Support`
- Reuse existing cancel text if present; otherwise add `common.cancel=Cancel` only if needed.
- Add matching keys to localized `KiloBundle_*.properties` files. If accurate translations are not already available from the VS Code i18n files, copy the VS Code translations for matching locales where practical and leave English fallback only if the JetBrains bundle mechanism supports it cleanly.
2. Extend `EmptySessionPanel` UI.
- Add a new retained `FeedbackButton`, styled to match VS Code conceptually:
- feedback icon + `Feedback & Support` text
- dashed link-colored border
- transparent background
- hand cursor
- hover state fills with link color and flips foreground/background for contrast
- Use IntelliJ theme APIs instead of raw colors:
- link color: `JBUI.CurrentTheme.Link.Foreground.ENABLED`
- hover link color: `JBUI.CurrentTheme.Link.Foreground.HOVERED` if useful
- editor/panel background from existing session style or `UiStyle.Colors.editorBackground()` / component background
- spacing via `UiStyle.Gap` / `JBUI.Borders`
- rounded arc via `UiStyle.Arc.component()` or `JBUI.getInt("Button.arc", 6)` at paint time
- Add the feedback button below the existing `Show History` button in the empty-state south area, keeping the current centered layout.
- Keep Swing mutations on EDT and preserve retained-component behavior.
3. Implement the feedback popup in frontend Swing code.
- Add a small popup builder method/class inside `EmptySessionPanel.kt` or a new nearby UI file if the file would become too large.
- Content should mirror VS Code:
- Kilo logo at top using existing `/icons/kilo-content.svg`
- message text
- three action buttons/rows for GitHub, Discord, and Customer Support
- every action should have an icon: `AllIcons.Vcs.Vendors.Github` for GitHub, the borrowed Discord SVG for Discord, and `AllIcons.Actions.Help` or `AllIcons.General.ContextHelp` for Customer Support
- optional Cancel button if it fits the JetBrains UX; Escape/outside click already dismisses
- Add the Discord icon asset under `frontend/src/main/resources/icons/` using the plugin's existing icon naming pattern, for example `discord.svg` and `discord_dark.svg` if the borrowed asset needs separate theme variants.
- Load the Discord icon with `IconLoader.getIcon("/icons/discord.svg", EmptySessionPanel::class.java)` or a small Kilo-owned icon object if multiple call sites need it.
- Use `BrowserUtil.browse(url)` to open links.
- Close the popup after opening a URL.
- Use `JBPopupFactory.createComponentPopupBuilder(content, null)` and configure:
- `.setModalContext(false)`
- `.setRequestFocus(false)`
- `.setFocusable(false)` unless keyboard tabbing inside popup is desired; if buttons need keyboard focus, use `.setFocusable(true)` with `.setRequestFocus(false)`
- `.setCancelOnClickOutside(true)`
- `.setCancelKeyEnabled(true)`
- `.setCancelOnWindowDeactivation(true)`
- `.setCancelOnOtherWindowOpen(true)`
- `.setResizable(false)`
- `.setMovable(false)`
- Show with `popup.showUnderneathOf(feedbackButton)`.
4. Add test coverage in `EmptySessionPanelTest.kt`.
- Assert feedback button text uses `KiloBundle.message("feedback.button")`.
- Assert feedback button has hand cursor and visible border semantics.
- Add an injectable browse callback or popup action callback only if needed for testing without launching browsers; keep it minimal and avoid production-only test hooks if component traversal can exercise enough behavior.
- Add a test that clicking the feedback button creates/shows popup content, if feasible in `BasePlatformTestCase`; otherwise test the retained popup content builder/action rows directly through package-internal methods.
- Assert the three action labels exist and URL callbacks map to the same URLs as VS Code.
- Assert the Discord action has an icon, so the plan cannot regress to a text-only Discord row.
5. Add release note.
- This is user-facing for the JetBrains plugin, so add a patch changeset under `.changeset/` unless the repo has a JetBrains-specific release-note mechanism that supersedes changesets.
- Suggested text: `Add Feedback & Support to the JetBrains empty session screen.`
6. Verify.
- Run the focused frontend/JetBrains tests first, preferably from `packages/kilo-jetbrains/`:
- `./gradlew :frontend:test --tests "ai.kilocode.client.session.ui.EmptySessionPanelTest"`
- Run JetBrains typecheck from `packages/kilo-jetbrains/`:
- `bun run typecheck` or `./gradlew typecheck`
- If touching only frontend UI and tests pass, no backend/SDK generation is needed.
## Notes
- Do not add Kotlin UI DSL, Compose, or JCEF.
- Do not modify shared opencode files; this work is entirely under `packages/kilo-jetbrains/` plus a changeset.
- Prefer platform icons where available, but explicitly borrow/add the Discord icon because `AllIcons` does not provide one and the popup should match the VS Code button set visually.
@@ -0,0 +1,67 @@
# JetBrains MdView Editor Theme Colors Plan
## Goal
Keep JetBrains markdown layout compact while making markdown colors and backgrounds come from the active editor color scheme, and ensure existing theme/editor-setting listeners refresh all existing `MdView` instances after changes.
## Findings
- `SessionUi` already subscribes to `EditorColorsManager.TOPIC` and `LafManagerListener.TOPIC`, then calls `applyStyle(SessionEditorStyle.current())` on the session tree.
- Most markdown consumers already propagate that style through `MdView.applyStyle(style)` via `TextView`, `ReasoningView`, message lists, and session panels.
- `PlanExitView.applyStyle()` sets only font/code font/foreground and does not call `md.applyStyle(style)`, so internal markdown role colors can stay tied to the initial style.
- `MdViewHybrid.applyStyle()` restyles retained HTML panes and code block containers, but retained `CodeField` editors need explicit reapplication of `SessionEditorStyle.applyToEditor()` after creation so syntax highlighting and editor colors follow scheme changes.
- `MdCommon.defaults()` currently mixes editor colors, UI theme colors, and one literal inline-code color fallback. The literal fallback should be removed, and markdown roles should derive from `EditorColorsScheme`/syntax attributes wherever possible.
- `TextView` currently overrides markdown background with `SessionUiStyle.Transcript.bgColor()` (`UiStyle.Colors.bg()`), while prompt markdown already uses `style.editorBackground`. If markdown surfaces should consistently use editor background, normal text views need to use `style.editorBackground` too.
## Implementation Plan
1. Keep compact CSS unchanged.
- Do not reintroduce line-height, margin, padding, heading sizing, or other geometry rules.
- Keep the current role color/background selectors only.
2. Derive markdown role defaults from editor settings.
- Update `MdCommon.defaults(style)` to use `style.editorForeground` and `style.editorBackground` for primary text/background.
- Add small local helper functions for editor attributes, for example foreground/background from `style.editorScheme.getAttributes(key)` and color keys from `style.editorScheme.getColor(key)`.
- Use public IntelliJ editor keys for role colors:
- Links: `CodeInsightColors.HYPERLINK_ATTRIBUTES.foregroundColor`, fallback to platform link color if absent.
- Inline code foreground/background: `DefaultLanguageHighlighterColors.DOC_CODE_INLINE`, fallback to `STRING`, then editor foreground/background.
- Code block foreground/background: `DefaultLanguageHighlighterColors.DOC_CODE_BLOCK`, fallback to editor foreground/background.
- Quote/emphasis/list weak text: comment/doc-comment attributes, fallback to editor foreground or `UIUtil.getContextHelpForeground()` only when the scheme has no useful value.
- Borders/HR/table/code border: editor preview/border color keys such as `EditorColors.PREVIEW_BORDER_COLOR`, fallback to `UiStyle.Colors.contentBorder()`.
- Remove `JBColor(0x...)` or other literal runtime color fallbacks from `MdCommon`.
- Keep public `MdView` API unchanged; role colors stay internal unless a concrete external override need appears.
3. Ensure style propagation reaches every markdown instance.
- Update `PlanExitView.applyStyle(style)` to call `md.applyStyle(style)` before applying its explicit font/code-font/foreground overrides.
- Audit existing markdown callers after the change; keep using the existing `SessionEditorStyleTarget` propagation path rather than adding per-`MdView` theme listeners.
- Keep explicit foreground overrides in `TextView`, `ReasoningView`, and `PlanExitView` where they intentionally set body text role, but let internal markdown role colors refresh from the new style snapshot.
4. Ensure retained hybrid code blocks update after editor setting changes.
- In `MdViewHybrid.CodeView.style(opts)`, for retained `CodeField` blocks, reapply `style.applyToEditor(editor)` to the underlying editor if it exists.
- Reapply code editor background/scroll pane/viewport backgrounds from `opts.preBg` in the same path.
- Preserve retained component/editor reuse: do not rebuild code block panes just to update style.
5. Align markdown backgrounds with editor settings.
- Keep `MdCommon` default background as `style.editorBackground`.
- Change normal `TextView` markdown background to `style.editorBackground` if the intent is that all markdown surfaces use editor background, matching `PromptView` and session root behavior.
- Preserve `transparent` handling: when `md.opaque = false`, background should still be the editor-derived value for child/code surfaces, but the Swing component should remain non-opaque.
6. Update tests.
- Extend `MdViewTest` to verify markdown role CSS changes when applying a `SessionEditorStyle` backed by a customized editor scheme, especially inline code, code block, link, and border colors.
- Extend `MdViewHybridTest` to assert `applyStyle()` updates retained HTML panes and retained code editors without replacing them, including editor scheme/background changes.
- Add or extend `PlanExitViewTest` so `applyStyle()` refreshes the nested markdown style, not just foreground/font overrides.
- Keep existing compactness expectations: tests should not assert new spacing, padding, margin, line-height, or size rules.
## Verification
- From `packages/kilo-jetbrains/`, run `./gradlew frontend:test --tests '*MdView*'`.
- From `packages/kilo-jetbrains/`, run `./gradlew frontend:test --tests '*PlanExitViewTest*'` if the focused test is not covered by the MdView filter.
- From `packages/kilo-jetbrains/`, run `bun run typecheck`.
## Constraints
- Do not introduce JCEF, Compose, or Kotlin UI DSL.
- Do not add new theme/editor listeners in `MdView`; use the existing `SessionUi` listener and `SessionEditorStyleTarget` propagation path.
- Avoid hardcoded runtime colors in markdown styling; prefer editor scheme attributes/color keys, then platform/theme APIs as non-literal fallbacks.
- Preserve retained Swing behavior and `MdViewHybrid.sync()` component reuse.
- Keep the public `MdView` override API stable unless implementation proves a new external override is required.
@@ -0,0 +1,69 @@
# JetBrains MdView VS Code Styling Plan
## Goal
Improve JetBrains markdown output so assistant/user transcript markdown visually matches the VS Code webview markdown style while keeping the existing Swing/JBHtmlPane + editor-backed code block architecture.
## Findings
- VS Code markdown styling is split across `packages/ui/src/components/markdown.css`, `packages/kilo-ui/src/components/markdown.css`, `packages/kilo-ui/src/styles/vscode-bridge.css`, and message-part overrides.
- Base VS Code markdown uses 14px sans text, 160% line height, tight first/last margins, same-size medium headings, 12px paragraph spacing, link-colored anchors, compact lists, weak list markers, weak blockquotes with a 2px left border, invisible HR spacing, bordered/padded code blocks, green inline code, and lightly bordered tables.
- The VS Code theme bridge maps markdown roles to editor/theme tokens: heading/link/list/image use `textLinkForeground`, text/strong/code-block use editor foreground, inline code uses charts/syntax green, quote/emphasis use description foreground, HR uses panel border.
- JetBrains markdown is rendered by `MdViewHybrid` and `MdViewHtmlPane`, with shared CSS from `MdCommon.rules()` and defaults from `MdCommon.defaults()`.
- JetBrains currently styles only broad tag font/color, links, code/pre colors, blockquote border/text color, and table border. It lacks VS Code-equivalent spacing, heading/strong/emphasis/list marker/table cell rules, inline-code foreground, blockquote geometry, HR spacing, and code block surface polish.
- JetBrains fenced code blocks are already stronger than VS Code in one respect: they use `EditorTextField` with real IDE syntax highlighting and streaming retention. Preserve this instead of switching to web/JCEF rendering.
## Implementation Plan
1. Expand JetBrains markdown style tokens.
- Add internal fields to `MdStyle` for heading, strong, emphasis, inline code foreground, list marker, HR, table/header, and code block border colors.
- Keep the public `MdView` override API stable unless a new external override is clearly needed.
- Compute defaults in `MdCommon.defaults(style)` from IntelliJ/editor theme sources and centralized Kilo semantic colors where no platform key matches.
- Use `JBColor.namedColor("Kilo.Markdown.*", fallback)` for Kilo-specific markdown palette fallbacks, so themes can override them and runtime code avoids scattered hardcoded colors.
2. Mirror VS Code markdown CSS in `MdCommon.rules()`.
- Add root/body wrapping rules: max width behavior, break-word wrapping, base line-height, and first/last-child margin trimming where supported by `JBHtmlPane` CSS.
- Add heading rules: same base size, medium/bold weight, role-specific color, line height, and bottom spacing.
- Add paragraph, list, list item, nested list, and marker rules. If Swing HTML does not support `::marker`, fall back to `li { color: ... }` plus child text color reset only if supported; otherwise keep list text normal and document the limitation in tests.
- Add strong/emphasis colors matching VS Code token roles.
- Add anchor styling matching VS Code: themed link color, no forced background, and underline behavior where `JBHtmlPane` supports it.
- Add blockquote geometry: 2px left border, 24px vertical margin, 8px left padding, weak text, and normal style.
- Add table layout rules: collapse borders, full width where possible, 24px vertical margin, 12px cell padding, weak row borders, stronger header text.
- Keep HRs visually hidden but spaced consistently with VS Code if the renderer includes them. `MdViewHybrid` currently filters thematic breaks, so this mainly benefits `MdViewHtmlPane` and future reuse.
- Add inline-code foreground and medium font weight. Avoid inline code backgrounds unless the current `JBHtmlPane` configuration already draws them acceptably.
3. Polish JetBrains code block containers without losing IDE highlighting.
- Keep `EditorTextField` for fenced/indented blocks and `JBTextArea` fallback.
- Style `JBScrollPane` code blocks to match VS Codes `markdown-code` wrapper feel: subtle background, subtle border, rounded-ish platform arc if feasible, 12px-ish padding, and thin horizontal scrollbar behavior.
- Use `SessionUiStyle.View.Code` for geometry constants. Add only minimal new constants there if current values cannot represent the VS Code spacing.
- Separate code block border color from table border internally so table styling can change without affecting code boxes.
- Continue applying `SessionEditorStyle.applyToEditor(ed)` so code blocks follow IDE syntax highlighting and editor font changes.
4. Add file/path affordance parity where safe.
- For markdown links whose `href` looks like a relative file path, keep existing link dispatch so the current caller can open files/URLs appropriately.
- Consider decorating inline code that looks like a path with a `file-link` class only when an `openFile` callback is available through the existing usage path. If the current `MdView` abstraction only has `openUrl`, do not widen it unless the call sites can pass file opening cleanly.
- At minimum, make inline code/path-looking content visually closer to VS Code by using the inline-code foreground and dotted underline for explicit file links where generated HTML contains link/code classes.
5. Preserve retained Swing behavior.
- Keep `MdViewHybrid.sync()` prefix reuse logic unchanged unless necessary.
- Ensure style updates call `reloadCssStylesheets()` and reassign text only for retained `JBHtmlPane` blocks, not by rebuilding all blocks.
- Keep streaming fenced-code fast path and editor disposal behavior intact.
6. Add focused tests.
- Extend `MdViewTest` and/or `MdViewHybridTest` to assert `overrideSheet()` contains the new VS Code-equivalent rules for headings, strong/emphasis, links, inline code foreground, list/table/blockquote spacing, HR, and code block/table border separation.
- Add component tests for code block pane styling: background, viewport background, border color, padding, scrollbar policy, and retained editor instance after `applyStyle()`.
- Keep existing stress/leak tests green. Add a small stress assertion only if the implementation changes style application semantics.
- Add a changeset: `@kilocode/kilo-jetbrains` patch with user-facing wording such as `Improve markdown readability in JetBrains chat transcripts.`
## Verification
- Run targeted JetBrains markdown tests first from `packages/kilo-jetbrains/`: `./gradlew frontend:test --tests '*MdView*'` if the Gradle module supports it; otherwise run the closest supported targeted Gradle test command.
- Run `bun run typecheck` from `packages/kilo-jetbrains/`.
- If targeted Gradle filtering is unreliable, run `./gradlew test` from `packages/kilo-jetbrains/`.
## Constraints
- Do not introduce JCEF, Compose, or Kotlin UI DSL.
- Keep changes inside `packages/kilo-jetbrains/` and `.changeset/` unless a shared Kilo UI source of truth is explicitly required.
- No `kilocode_change` markers are needed for JetBrains or Kilo UI paths.
- Prefer IntelliJ theme APIs and centralized semantic tokens over scattered literal colors.
@@ -0,0 +1,63 @@
# JetBrains Session UI Icons And Header Layout Plan
## Goal
Improve JetBrains session UI icon consistency and reduce accidental header interactions:
- Use Kilo/VS Code-aligned session icons in session views.
- Fix the reasoning header icon.
- Normalize session part collapse/expand chevrons so collapsed/expanded states do not jump between differently sized glyphs.
- Move the session-details toggle away from compaction and place it before the session title.
## Findings
- Session view icons are centralized in `packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/views/SessionViewIcons.kt` and loaded from `frontend/src/main/resources/icons/views/*.svg`.
- The JetBrains `views` SVGs already mirror the shared VS Code/UI icon paths from `packages/ui/src/components/icon.tsx` for the audited names, including `brain`, `chevron-down`, `chevron-right`, `checklist`, `console`, `warning`, etc.
- The reasoning view currently renders `SessionViewIcons.eye` in `ReasoningView.kt`; VS Code/shared UI uses the `brain` icon for reasoning/thinking surfaces, and `SessionViewIcons.brain` already exists.
- Standard collapsible session parts use `SessionViewIcons.chevronDown` when expanded and `SessionViewIcons.chevronRight` when collapsed in `AbstractSessionPartView.kt`; `QuestionResultView.kt` repeats this pattern manually. The down/right SVG paths have different visual extents.
- The session header currently places the details toggle next to the compact button in the right-side controls in `SessionHeaderPanel.kt`, making the two actions easy to confuse.
## Implementation Steps
1. **Keep icon sources aligned with VS Code/shared UI**
- Treat `packages/ui/src/components/icon.tsx` as the source for Kilo web/session glyph shapes.
- Re-check `SessionViewIcons.kt` entries against available JetBrains assets; only update or add SVGs if a session view uses a Kilo icon missing from `frontend/src/main/resources/icons/views/`.
- Preserve JetBrains SVG theming rules: no `currentColor`; use literal palette colors and dark variants where assets are added or changed.
2. **Fix reasoning icon**
- In `ReasoningView.kt`, change the reasoning header glyph from `SessionViewIcons.eye` to `SessionViewIcons.brain`.
- Add or update test coverage in `ReasoningViewTest.kt` by inspecting the rendered Swing label tree and asserting the reasoning icon is `SessionViewIcons.brain`.
3. **Normalize collapse/expand chevrons for session parts**
- Stop using the mixed `chevronRight`/`chevronDown` pair for collapsible session content.
- Use a single base Kilo chevron glyph for both states, matching the current custom chevron used by the session header (`/icons/chevron-down.svg` / equivalent `SessionViewIcons.chevronDown`).
- Add a shared rotated icon for the opposite state instead of switching to a differently sized right-facing asset. Prefer a small reusable helper or centralized icon field rather than importing header-specific UI into session views.
- Update `AbstractSessionPartView.kt` and `QuestionResultView.kt` to use the normalized chevron pair.
- Leave `QuestionView.kt` navigation chevrons alone unless auditing shows they are being used for collapse/expand; those are previous/next controls, not expand/collapse controls.
4. **Relocate and change header show/hide details toggle**
- In `SessionHeaderPanel.kt`, replace the custom header details chevron with platform `AllIcons` arrows/chevrons, e.g. collapsed = `AllIcons.General.ArrowRight`, expanded = `AllIcons.General.ArrowDown`.
- Move the details toggle out of the right-side controls and into `BorderLayout.WEST` of the header row.
- Rebuild the top header as:
- outer border layout
- west: details toggle button
- center: inner border layout
- inner center: session title
- inner east: horizontal stack/row with price/context and compact button
- Remove the details toggle from the right-side row so compaction remains visually separate from show/hide details.
- Keep existing tooltip/accessibility strings and expansion persistence behavior unchanged.
5. **Tests**
- Update `SessionHeaderPanelTest.kt` to assert:
- collapsed/expanded header details icons use the selected `AllIcons` constants;
- the details toggle persists expansion state as before;
- the details toggle is parented/laid out separately from the compact button.
- Update `AbstractSessionPartViewTest.kt` to assert collapsible parts keep the same icon dimensions across collapsed/expanded states and no longer use the mismatched right/down pair.
- Update `QuestionResultViewTest.kt` similarly because it has its own chevron implementation.
- Update `ReasoningViewTest.kt` for the brain icon.
6. **Verification**
- Run the smallest relevant JetBrains checks from `packages/kilo-jetbrains/`:
- `./gradlew test --tests "ai.kilocode.client.session.views.ReasoningViewTest" --tests "ai.kilocode.client.session.views.base.AbstractSessionPartViewTest" --tests "ai.kilocode.client.session.views.QuestionResultViewTest" --tests "ai.kilocode.client.session.ui.header.SessionHeaderPanelTest"`
- `./gradlew typecheck`
- If the filtered Gradle test syntax is not accepted by the project, run `./gradlew test` from `packages/kilo-jetbrains/` instead.
## Notes
- No shared upstream `opencode` files are involved; changes stay under `packages/kilo-jetbrains/`.
- A changeset may be needed because this is user-facing JetBrains UI polish; confirm existing changeset policy for the private JetBrains package during implementation.
+172
View File
@@ -0,0 +1,172 @@
---
name: release-jetbrains
description: Use when releasing the Kilo JetBrains plugin -- resolve a version ("next rc" or explicit), run the prepare workflow, edit and commit a filtered human-readable changelog on the release PR, then watch publish to completion.
---
# JetBrains Release
Use this skill when releasing the Kilo JetBrains plugin.
This skill drives the existing JetBrains release workflows. It must not move, delete, or recreate JetBrains release tags. It must always confirm the resolved version with the user before dispatching the prepare workflow because the prepare workflow creates an immutable `jetbrains/v<version>` tag.
## Preconditions
- Run from the repository root.
- `gh` must be authenticated for `Kilo-Org/kilocode` with permission to dispatch workflows, read PRs, and write contents. Merge permission is only required if the user asks the skill to merge the release PR automatically.
- Check auth with `gh auth status`. For GitHub CLI OAuth, refresh common release scopes with `gh auth refresh -s repo -s workflow`; `repo` covers private-repo contents and PR operations, and `workflow` allows workflow dispatch. If using a fine-grained token instead, grant repository permissions for Actions read/write, Contents read/write, and Pull requests read/write. Merging still requires normal repository collaborator permission or a token/user allowed by branch protection.
- Reference `packages/kilo-jetbrains/RELEASING.md` for manual recovery rules.
- Do not locally check out the generated release branch. The helper scripts update the release branch through GitHub to avoid disturbing the current worktree.
## Version Resolution
Resolve the user's version request:
```bash
bun .kilo/skills/release-jetbrains/script/resolve-version.ts --spec "next rc"
```
Accepted specs:
| Spec | Meaning |
|---|---|
| `next rc` | If the latest JetBrains tag is an RC, increment its `rc.n`; otherwise start the next patch RC at `rc.1`. |
| `next stable` | If the latest JetBrains tag is an RC, use its base version; otherwise use the next patch stable. |
| `x.y.z-rc.n` | Explicit RC release. |
| `x.y.z` | Explicit stable release. |
Show the resolved `version`, `kind`, and default `fromTagDefault` to the user and ask for confirmation before continuing.
## Prepare Workflow
After confirmation, dispatch and watch the prepare workflow:
```bash
bun .kilo/skills/release-jetbrains/script/dispatch-prepare.ts --kind rc --version 7.0.1-rc.7
```
Pass a generous Bash timeout, such as `1800000` ms, because the script blocks on `gh run watch --exit-status`. If the shell times out but the workflow is still running, re-attach with:
```bash
bun .kilo/skills/release-jetbrains/script/dispatch-prepare.ts --kind rc --version 7.0.1-rc.7 --run-id <run-id>
```
The script prints `prNumber`, `prUrl`, `runUrl`, and `branch` on success. Immediately show the `prUrl` to the user so they can open the release PR without asking for it later.
## Changelog Draft
Create a changelog draft after the prepare PR exists:
1. Read the PR body with `gh pr view <pr> --json body`.
2. Extract `JetBrains-From-Tag`, `JetBrains-Tag`, and `## Generated Notes`.
3. Fetch the release range tags if they are missing locally:
```bash
git fetch origin refs/tags/<from-tag>:refs/tags/<from-tag> refs/tags/<tag>:refs/tags/<tag>
```
4. Use the release range and path filter as the primary relevance signal:
```bash
git log --oneline <from-tag>..<tag> -- packages/opencode packages/kilo-jetbrains
```
Keep JetBrains and CLI/runtime changes. Drop unrelated VS Code, docs, gateway, telemetry, i18n, desktop, and webview-only changes unless they affect the CLI bundled into the JetBrains plugin.
Rewrite terse commit or PR titles into user-facing bullets grouped under `### Added`, `### Fixed`, and `### Changed`. Keep the exact generated header format:
```markdown
## [<version>] - <date>
```
Write the editable draft to:
```text
packages/kilo-jetbrains/build/release/<version>-changelog.md
```
Include source context in an HTML comment so it is easy to edit but not shipped:
```markdown
<!-- CONTEXT - deleted automatically on commit. Source PRs in range:
- #1234 feat(jetbrains): ... https://github.com/Kilo-Org/kilocode/pull/1234
- #1235 fix(cli): ... https://github.com/Kilo-Org/kilocode/pull/1235
-->
```
Ask the user to edit the file and confirm when done.
## Commit Changelog
After the user confirms the draft is ready, strip the `<!-- CONTEXT ... -->` block into a temporary cleaned file, then commit the cleaned section to the release branch:
```bash
bun .kilo/skills/release-jetbrains/script/update-changelog.ts --version 7.0.1-rc.7 --file /path/to/clean-section.md
```
The script updates `packages/kilo-jetbrains/CHANGELOG.md` on `jetbrains/release/v<version>` through the GitHub contents API and commits with:
```text
docs(jetbrains): edit changelog for v<version>
```
If `update-changelog.ts` fails with `gh: Not Found (HTTP 404)`, verify the release branch and changelog path with:
```bash
gh api "repos/Kilo-Org/kilocode/contents/packages/kilo-jetbrains/CHANGELOG.md?ref=jetbrains/release/v<version>"
```
Then either fix and retry the helper, or perform the equivalent contents API update using `ref` in the query string.
After the changelog commit succeeds, show the release PR URL again and tell the user that the PR needs manual approval and merge before publishing can continue.
## Approve And Publish
Ask the user to approve the release changelog and metadata. Before merging or publishing, verify the PR approval and required checks are green:
```bash
gh pr view <pr> --json mergeStateStatus,reviewDecision,statusCheckRollup
gh pr checks <pr> --watch --interval 10
```
Do not merge or publish while required checks are failing unless the user explicitly gives a maintainer override.
If a required check fails from an apparent flake, rerun only the failed jobs and wait for the run to finish:
```bash
gh run rerun <run-id> --failed
gh run watch <run-id> --exit-status
```
By default, have the user merge the release PR manually in GitHub, then watch the publish workflow:
```bash
bun .kilo/skills/release-jetbrains/script/watch-publish.ts --pr <number> --version 7.0.1-rc.7
```
Only merge automatically when the user explicitly asks for it and `gh` has merge permission:
```bash
bun .kilo/skills/release-jetbrains/script/watch-publish.ts --pr <number> --version 7.0.1-rc.7 --merge
```
Pass a generous Bash timeout, such as `1800000` ms. If the shell times out, re-attach with:
```bash
bun .kilo/skills/release-jetbrains/script/watch-publish.ts --pr <number> --version 7.0.1-rc.7 --run-id <run-id>
```
If `watch-publish.ts --merge` reports that the PR is already merged, or a transient GitHub API `5xx` interrupts publish-run discovery, rerun without `--merge`:
```bash
bun .kilo/skills/release-jetbrains/script/watch-publish.ts --pr <number> --version <version>
```
Report the Marketplace channel and GitHub Release URL. RC versions publish to the `eap` channel; stable versions publish to the default Marketplace channel.
## Recovery
- If prepare created the tag but failed before creating a PR, rerun prepare for the same version. The existing workflow reuses the tag if it points to the same commit.
- If a tag points to an unexpected SHA, stop and inspect manually. Do not move or delete release tags casually.
- If release PR checks fail from an apparent flake, use `gh run rerun <run-id> --failed`, then `gh run watch <run-id> --exit-status` before publishing.
- If publish fails after merge, rerun the failed workflow only if Marketplace did not already accept the version.
- If Marketplace succeeds but GitHub Release upload fails, manually create or edit the GitHub Release for `jetbrains/v<version>` using the reviewed changelog.
@@ -0,0 +1,75 @@
#!/usr/bin/env bun
import { $ } from "bun"
import { parseArgs } from "util"
const repo = process.env.GH_REPO ?? process.env.GITHUB_REPOSITORY ?? "Kilo-Org/kilocode"
const workflow = "prepare-jetbrains-release.yml"
const { values } = parseArgs({
args: Bun.argv.slice(2),
options: {
kind: { type: "string" },
version: { type: "string" },
"from-tag": { type: "string" },
"run-id": { type: "string" },
help: { type: "boolean", short: "h", default: false },
},
})
if (values.help) {
console.log(
`Usage: bun .kilo/skills/release-jetbrains/script/dispatch-prepare.ts --kind <rc|stable> --version <version> [--from-tag <tag>] [--run-id <id>]`,
)
process.exit(0)
}
const kind = values.kind
const ver = values.version
const branch = `jetbrains/release/v${ver}`
if (kind !== "rc" && kind !== "stable") throw new Error("--kind must be rc or stable")
if (!ver) throw new Error("--version is required")
const id = values["run-id"] ?? (await dispatch())
const url = `https://github.com/${repo}/actions/runs/${id}`
console.log(`prepareRunId=${id}`)
console.log(`runUrl=${url}`)
await $`gh run watch ${id} --repo ${repo} --exit-status`
const pr = (await $`gh pr view ${branch} --repo ${repo} --json number,url`.json()) as { number: number; url: string }
console.log(
JSON.stringify(
{
prNumber: pr.number,
prUrl: pr.url,
runUrl: url,
branch,
},
null,
2,
),
)
async function dispatch() {
const before = new Set((await runs()).map((run) => run.databaseId))
const args = ["workflow", "run", workflow, "--repo", repo, "-f", `kind=${kind}`, "-f", `version=${ver}`]
if (values["from-tag"]) args.push("-f", `from_tag=${values["from-tag"]}`)
await $`gh ${args}`
for (const _ of Array.from({ length: 60 })) {
const run = (await runs()).find((item) => !before.has(item.databaseId))
if (run) return String(run.databaseId)
await Bun.sleep(1000)
}
throw new Error(`No new ${workflow} run appeared after dispatch`)
}
async function runs() {
return (await $`gh run list --repo ${repo} --workflow ${workflow} --event workflow_dispatch --json databaseId,createdAt,status --limit 100`.json()) as {
databaseId: number
createdAt: string
status: string
}[]
}

Some files were not shown because too many files have changed in this diff Show More