Commit Graph

637 Commits

Author SHA1 Message Date
Igor Šćekić cb84cb0439 fix(session): align close reason type and publish turn close reliably
Unify ingest queue and session close reasons via `Session.CloseReason` and
ensure `TurnOpen`/`TurnClose` publishing is awaited; mark close reason as
`error` on unexpected exceptions and handle abort-induced stops correctly.

Add ingest queue tests for stable-key coalescing of session open/close and for
including `?v=1` on flush requests.
2026-02-09 13:58:09 +01:00
Igor Šćekić 4a179f85c0 fix(session): mark turn close reason as interrupted on abort 2026-02-06 23:16:11 +01:00
Igor Šćekić 6ba626be19 fix(session): set turn close reason on abort/error
Ensure TurnClose is published with an accurate reason by marking aborted
turns as "interrupted" and stop-with-error turns as "error".
2026-02-06 23:02:51 +01:00
Igor Šćekić de05fea01b feat(session): track turn open/close in kilo ingest
Add session.turn.open and session.turn.close bus events and publish them
from the prompt loop with a close reason (completed/error/interrupted).
Extend the ingest queue to sync session_open/session_close items and
version the ingest endpoint with ?v=1.
2026-02-06 23:00:49 +01:00
Catriel Müller f137ce623d feat: merge opencode v1.1.51 2026-02-05 09:50:16 -03:00
Catriel Müller dd7da05bd9 feat: merge opencode v1.1.50 2026-02-04 18:24:00 -03:00
Catriel Müller 452320af42 feat: merge opencode v1.1.49 2026-02-04 17:06:38 -03:00
Catriel Müller 1a0b0077dc feat: merge opencode v1.1.48 2026-02-04 14:48:20 -03:00
Catriel Müller e4163a0ff0 feat: merge opencode v1.1.46 2026-02-04 13:46:48 -03:00
Łukasz Gładysz 6daa962aaa fix: prioritize OPENCODE_CONFIG_DIR for AGENTS.md (#11536) 2026-02-04 01:35:22 +00:00
Aiden Cline b5a4671c64 Revert "feat: add Trinity model system prompt support" (#12029) 2026-02-03 16:39:03 -06:00
Mariam Jabara 015cd404e4 feat: add Trinity model system prompt support (#12025)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-03 16:33:27 -06:00
Tyler Gannon a30696f9bf feat(plugin): add shell.env hook for manipulating environment in tools and shell (#12012) 2026-02-03 15:18:41 -06:00
Aiden Cline b7b734f51f fix: ensure mcp tools are sanitized (#11984) 2026-02-03 12:22:00 -06:00
Igor Šćekić 5e729cd4f7 Merge branch 'dev' into add-auto-model 2026-02-03 14:26:28 +01:00
Catriel Müller 9ab79857ce Code Agent (#84)
* refactor: rename build agent to code

* refactor: add backward compat for build config
2026-02-03 08:04:27 +01:00
Igor Šćekić b8daf18f39 feat(llm): send x-kilocode-mode header for gateway 2026-02-03 00:29:35 +01:00
Aiden Cline aa6b552c39 Revert pr that was mistakenly merged (#11844) 2026-02-02 15:28:02 -06:00
Catriel Müller 1b5ef0737f Merge OpenCode v1.1.42 (#67)
* chore: details

* fix(tui): add visual feedback for diff wrap and conceal toggles (#10655)

* fix: await SessionRevert.cleanup for shell (#10669)

* fix: Make diff wrapping toggle always available in command_list and correct a type error (resolves #10682) (#10683)

* feat(app): default servers on web

* fix(app): handle non-tool call permissions

* fix(app): line selection waits on ready

* wip(app): model settings

* feat(app): model settings

* chore: generate

* wip(app): sidebar hover full

* wip(app): full-height sidebar

* wip(app): full-height sidebar

* feat(app): better sidebar hover when collapsed

* fix(app): query selector with non-latin chars

* chore: stale-while-revalidate headers for changelog

* chore: generate

* feat(opencode): add agent description (#10680)

* feat: dynamically resolve AGENTS.md files from subdirectories as agent explores them (#10678)

* chore: gen changelog page off changelog json

* upgrade opentui to v0.1.75

* chore: update nix node_modules hashes

* fix: move changelog footer outside content div to fix padding (#10712)

* fix(app): Order themes alphabetically (#10698)

* fix(app): restore external link opening in system browser (#10697)

* fix(ui): use focus-visible instead of focus to prevent sticky hover effect on click (#10651)

* fix: add 44px top padding to sticky version header on changelog (#10715)

* feat(app): file tree

* wip(app): file tree mode

* wip(app): file tree mode

* chore: cleanup

* chore: cleanup

* chore(app): createStore over signals

* fix(enterprise): add message navigation to share page desktop view (#10071)

Co-authored-by: Claude <noreply@anthropic.com>

* chore: fix changelog page

* Revert "fix(app): restore external link opening in system browser (#10697)"

This reverts commit 984518b1c0.

* ignore: tweak ai deps

* feat: use anthropic compat messages api for anthropic models through copilot

* chore: debug changelog

* fix: ensure openai 404 errors are retried (#10590)

* chore: generate

* test(app): e2e test for sidebar nav

* chore: refactor changelog

* fix(app): session load cap

* chore(app): missing i18n strings

* chore: cleanup

* fix(app): session sync issue

* chore: generate

* fix(ui): update button styles and disconnect button size

* fix(app): set provider row height to 56px

* fix(app): add hover text for env-connected providers

* fix(app): use default cursor for env provider text

* feat(ui): add providers icon and use in settings

* feat(ui): add models icon and use in settings

* fix(app): style view all button with interactive color and margin

* feat(ui): add optional transition animations to dialog

* fix(ui): prevent double-close and fix dialog replacement

* feat(app): add transition to select provider dialog

* feat(app): add transition to command palette

* fix(ui): reduce dialog transition in time to 150ms

* feat(app): add provider descriptions to settings

* feat(app): add Vercel AI Gateway provider description

* fix(ui): scope filetree pill tabs styling

* fix(app): adjust filetree panel padding

* fix(app): tighten filetree row spacing

* fix(app): use chevron icons for filetree folders

* fix(app): use medium font for filetree items

* fix(app): refine filetree row spacing and indent

* fix(app): reduce filetree folder indent

* fix(app): dim non-deep filetree guide lines

* fix(app): fade filetree guide lines on hover

* fix(app): move file tree toggle to right

* fix(app): disable tooltips in filetree tabs

* test(app): fix e2e test

* ci: add stale pr job

* ci: add dry-run option to stale PR closer workflow

Allows testing stale PR closure without actually closing PRs

* tweak: retry logic to catch certain provider problems

* fix(app): disconnect zen provider

* fix(app): zen disconnect not working

* chore: generate

* chore: cleanup

* fix: search clear icon

* wip: new release modal

- highlight key updates or new features
- needs some transition love
- all copy including text and video placeholder

* chore: cleanup

* wip: highlights

* wip: highlights

* wip: highlights

* tweak: when using messages api for copilot, attach anthropic beta headers

* chore: don't flip github draft release automatically

* fix(app): file tree performance

* fix(app): reactive file tree

* chore: generate

* chore: cleanup

* fix(app): enable file watcher

* chore: cleanup

* chore: cleanup

* test(app): file tree spec

* feat(release): add highlights template to draft releases (#10745)

* docs: add Italian README (#10732)

* chore: generate

* fix(app): add connect provier in model selector (#10706)

* fix(desktop): disable magnification gestures on macOS (#10605)

* feat: add /learn command to extract session learnings to scoped AGENTS.md files (#10717)

* fix: use Instance.directory instead of process.cwd() in read tool

* fix(core): expose Instance.directory to custom tools

* fix(app): only show files in select dialog when clicking + tab

* desktop: deduplicate tauri configs

* ignore: update download stats 2026-01-27

* fix(app): auto-scroll button sometimes sticks

* chore(app): missing tooltips

* feat(app): forward and back buttons

* chore: cleanup

* feat(core): add worktree to plugin tool context

* fix(app): agent fallback colors

* fix(app): non-fatal error handling

* docs(core): plugin tool context updates

* fix(ui): set filetree tablist height to 48px with centered content

* fix(app): center filetree empty state with 32px top margin

* fix(app): update review empty states to 14px and align select file empty state

* fix(app): only show left border on plus button when sticky

* fix(app): use smaller close icon on tabs to match comment cards

* fix(ui): add max-width 280px to tabs with text truncation

* fix(app): don't show session skeleton after workspace reset

* perf(app): don't keep parts in memory

* perf(app): cleanup connect provider timers

* perf(app): shared terminal ghostty-web instance

* fix(app): select model anchor

* Revert "fix(app): select model anchor"

This reverts commit 36babf5fc390fd9a892ad3742690740296d94a23.

* fix(app): open markdown links in external browser

* fix(app): navigate to tabs when opening file

* chore(app): cleanup tailwind vs pure css

* fix(app): tooltips causing getComputedStyle errors in model select

* fix(app): swallow file search errors

* feat(opencode): Handle Venice cache creation tokens (#10735)

Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>

* chore: generate

* chore(docs): Better explanation on how to allow tools in external directories (#10862)

* tweak: adjust retry check to be more defensive

* ci: make tests passing a requirement pre-release

* zen: kimi k2.5 and minimax m2.1

* feat(app): update settings in general settings

* chore(app): translations

* test(app): new e2e smoke tests

* feat(app): show loaded agents.md files

* fix(app): session diffs not always loading

* feat(app): improved layout

* chore: generate

* tweak: add recommended topP/temp for kimi k2.5

* Set temperature for kimi k2.5

* Revert "ci: make tests passing a requirement pre-release"

This reverts commit 8c00818108.

* Revert "Set temperature for kimi k2.5"

This reverts commit bb63d16fa8.

* feat(app): color filetree change dots by diff kind

* feat(app): add filetree tooltips with diff labels

* fix(app): shorten nav tooltips

* fix(app): adjust titlebar left spacing

* fix(app): delay nav tooltips

* fix(app): align filetree change styling

* fix(app): set filetree padding to 6px

* fix(app): highlight selected change

Track clicked file in the Changes tree and apply selection styling to the matching review diff.

* chore(app): show 5 highlights

* fix(app): auto-scroll

* fix(app): don't connect to localhost through vpn

* perf(app): better memory management

* chore: cleanup

* feat(desktop): i18n for tauri side

* feat(desktop): tauri locales

* fix(app): not auto-navigating to last project

* chore: update nix node_modules hashes

* fix(tui): handle 4-5 codes too in c to copy logic

* fix(app): spinner color

* fix(app): file tree not always loading

* test(app): fix outdated e2e test

* test(app): fix outdated e2e test

* fix(app): file tree not always loading

* fix(app): terminal corruption

* feat(app): add 'connect provider' button to the manage models dialog (#10887)

* fix(app): auto-scroll

* feat: support headless authentication for chatgpt/codex (#10890)

Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>

* fix(app): reintroduce review tab

* release: v1.1.37

* feat(app): use opentui markdown component behind experimental flag (#10900)

* chore: generate

* docs: add Daytona OpenCode plugin to ecosystem (#10917)

* chore: generate

* fix(cli): restore brand integrity of CLI wordmark (#10912)

* zen: kimi k2.5

* fix(opencode): ensure unsub(PartUpdated) is always called in TaskTool (#9992)

* chore: generate

* ignore: adjust flag

* bump plugin version

* ci

* fix: ensure parallel tool calls dont double load AGENTS.md

* release: v1.1.38

* fix: ensure copilot plugin properly sets headers for new messages api

* chore: generate

* release: v1.1.39

* bump: plugins

* ignore: update download stats 2026-01-28

* chore(app): global config changes

* feat(app): custom provider

* chore: cleanup

* wip(app): global config

* chore: cleanup

* chore: cleanup

* chore: generate

* feat(i18n): add th locale support (#10809)

* chore: generate

* fix(desktop): enable ctrl+n and ctrl+p for popover navigation (#10777)

* fix: add SubtaskPart with metadata reference (#10990)

Co-authored-by: yangtianzhe <yangtianzhe@corp.netease.com>

* chore: generate

* fix(app): close review pane

* fix(markdown): Add streaming prop to markdown element (#11025)

* release: v1.1.40

* fix(script): remove highlights template from release notes (#11052)

* chore: generate

* fix(ui): allow KaTeX inline math to be followed by punctuation (#11033)

* fix(app): alignment and padding in dialogs (#10866)

* fix(app): fill missing zh keys to avoid English fallback (#10841)

* chore: generate

* fix(opencode): normalize zh punctuation for Chinese UI (#10842)

* fix(ui): improve zh duration display formatting (#10844)

* fix(opencode): add `AbortSignal` support to `Ripgrep.files()` and `GlobTool` (#10833)

* fix(typescript errors): remove duplicate keys causing typescript failures (#11071)

* fix(app): file tabs - auto scroll on open & scroll via mouse wheel (#11070)

* tweak: add ctx.abort to grep tool

* fix(app): types

* docs: update experimental environment variables in CLI docs (#11030)

* fix(app): make settings more responsive for mobile and small web/desktop (#10775)

* chore: generate

* fix(opencode): allow media-src data: URL for small audio files (#11082)

* fix(provider): include providerID in SDK cache key (#11020)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

* fix: maxOutputTokens was accidentally hardcoded to undefined  (#10995)

* fix: ensure variants for copilot models work w/ maxTokens being set

* release: v1.1.41

* test: fix test

* chore: generate

* feat(cli): include cache tokens in stats (#10582)

* ci: adjust team

* guard destroyed input field in timeout

* feat: Sequential numbering for forked session titles (Issue #10105) (#10321)

* more timeout race guards

* fix: ensure that kimi doesnt have fake variants available

* fix: frontmatter was adding newlines in some cases causing invalid model ids (#11095)

Co-authored-by: aptdnfapt <aptdnfapt@users.noreply.github.com>

* fix: undo change that used anthropic messages endpoint for anthropic models on copilot due to ratelimiting issues, go back to completions endpoint instead

* release: v1.1.42

* fix: fix types

* fix: fix kilocode/sdk type

* chore: update nix node_modules hashes

---------

Co-authored-by: adamelmore <2363879+adamdottv@users.noreply.github.com>
Co-authored-by: Idris Gadi <85882535+IdrisGit@users.noreply.github.com>
Co-authored-by: Noam Bressler <noamzbr@gmail.com>
Co-authored-by: Ariane Emory <97994360+ariane-emory@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Steffen Deusch <steffen@deusch.me>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Sebastian Herrlinger <hasta84@gmail.com>
Co-authored-by: Ryan Vogel <ryan@mandarin3d.com>
Co-authored-by: Sam Huckaby <samhuckaby@gmail.com>
Co-authored-by: Alex Yaroshuk <34632190+alexyaroshuk@users.noreply.github.com>
Co-authored-by: Rahul A Mistry <149420892+ProdigyRahul@users.noreply.github.com>
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
Co-authored-by: zerone0x <hi@trine.dev>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Tim <hello@timsmart.co>
Co-authored-by: David Hill <iamdavidhill@gmail.com>
Co-authored-by: Fabio Martino <fabiomartino@users.noreply.github.com>
Co-authored-by: Chris Yang <18487241+ysm-dev@users.noreply.github.com>
Co-authored-by: Brendan Allan <git@brendonovich.dev>
Co-authored-by: dpuyosa <dpuyosa@users.noreply.github.com>
Co-authored-by: OpeOginni <107570612+OpeOginni@users.noreply.github.com>
Co-authored-by: Frank <frank@anoma.ly>
Co-authored-by: Rohan Godha <git@rohangodha.com>
Co-authored-by: opencode <opencode@sst.dev>
Co-authored-by: Tommy D. Rossi <beats.by.morse@gmail.com>
Co-authored-by: James Murdza <james@jamesmurdza.com>
Co-authored-by: Tito <github@mynameistito.com>
Co-authored-by: Goni Zahavy <goni1993@gmail.com>
Co-authored-by: Dax Raad <d@ironbay.co>
Co-authored-by: Nattawee Phantawong <crozzio@gmail.com>
Co-authored-by: Sairaj <sairaj2119@gmail.com>
Co-authored-by: RenegadeE <37529469+YangTianz@users.noreply.github.com>
Co-authored-by: yangtianzhe <yangtianzhe@corp.netease.com>
Co-authored-by: Max Kong <kongzheyuan@outlook.com>
Co-authored-by: Julian Coy <julian@juliancoy.com>
Co-authored-by: Babou <42550761+bbabou@users.noreply.github.com>
Co-authored-by: Devin Griffin <31415269+DNGriffin@users.noreply.github.com>
Co-authored-by: tan <zerotanapok@gmail.com>
Co-authored-by: Saba Tchikhinashvili <38084512+saba-ch@users.noreply.github.com>
Co-authored-by: ideallove <20013535+ideallove@users.noreply.github.com>
Co-authored-by: Benjamin Oldenburg <benjamin.oldenburg@ordis.co.th>
Co-authored-by: aptdnfapt <aptdnfapt@users.noreply.github.com>
Co-authored-by: marius-kilocode <marius@kilocode.ai>
2026-02-02 12:47:09 +01:00
Igor Šćekić b4b05db389 refactor(share): rename ShareNext to KiloSessions
Move share/ingest modules under kilo-sessions and update bootstrap and
session share/unshare/remove flows to use KiloSessions. Update ingest
queue test imports accordingly.
2026-02-02 12:39:24 +01:00
Dax c69474846f Simplify directory tree output for prompts (#11731) 2026-02-01 23:37:07 -05:00
Dax Raad 6c9b2c37a5 core: allow starting new sessions after errors by fixing stuck session status 2026-02-01 20:39:58 -05:00
Aiden Cline 612b656d36 fix: adjust resolve parts so that when messages with multiple @ references occur, the tool calls are properly ordered 2026-02-01 19:26:23 -05:00
Filip 91f2ac3cb2 test(app): workspace tests (#11659) 2026-02-01 15:39:50 -06:00
Aiden Cline ec720145fa fix: when using codex sub, send the custom agent prompts as a separate developer message (previously sent as user message but api allows for instructions AND developer messages) (#11667)
Co-authored-by: Carlos <carloscanas942@gmail.com>
2026-02-01 14:57:47 -06:00
neavo f15755684f fix(opencode): scope agent variant to model (#11410) 2026-02-01 14:12:30 -06:00
YeonGyu-Kim 16145af480 fix: prevent duplicate AGENTS.md injection when reading instruction files (#11581)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-01 13:46:08 -06:00
Aiden Cline da7c874808 tweak: show actual retry error message instead of generic error msg (#11520) 2026-01-31 13:15:42 -06:00
Steffen Deusch d9f18e4006 feat(opencode): add copilot specific provider to properly handle copilot reasoning tokens (#8900)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-01-30 19:53:22 -06:00
Aiden Cline 11d486707c fix: rm ai sdk middleware that was preventing <think> blocks from being sent back as assistant message content (#11270)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2026-01-30 09:36:57 -05:00
Igor Šćekić e99573595e chore: annotate files with kilocode_change markers 2026-01-29 18:38:33 +01:00
Ravi Kumar 03ba49af4e fix(telemetry): restore userId and sessionId metadata in experimental_telemetry (#8195) 2026-01-29 10:14:28 -06:00
Ariane Emory e84d92da28 feat: Sequential numbering for forked session titles (Issue #10105) (#10321) 2026-01-28 23:08:35 -06:00
Aiden Cline 29ea9fcf25 fix: ensure variants for copilot models work w/ maxTokens being set 2026-01-28 21:55:50 -06:00
ideallove 870c38a6aa fix: maxOutputTokens was accidentally hardcoded to undefined (#10995) 2026-01-28 21:28:15 -06:00
RenegadeE 26e14ce628 fix: add SubtaskPart with metadata reference (#10990)
Co-authored-by: yangtianzhe <yangtianzhe@corp.netease.com>
2026-01-28 11:11:43 -05:00
Igor Šćekić c43b5b3a29 fix(session): lazy-load ShareNext during removal
Avoid eager import of ShareNext by dynamically importing it only when
removing a session, reducing initialization coupling and preventing
import-time issues.
2026-01-28 16:15:15 +01:00
Igor Šćekić d431c1622d Merge branch 'dev' into add-session-sync 2026-01-28 16:08:58 +01:00
Igor Šćekić 2c86edd29b Merge branch 'dev' into add-session-sync 2026-01-28 15:55:25 +01:00
Catriel Müller 23db4efb9d refactor: rename git repo 2026-01-28 15:05:42 +01:00
Igor Šćekić 7082648ac5 fix(session): use ShareNext when removing shared sessions 2026-01-28 12:37:40 +01:00
GitHub Action 905d4bc104 chore: generate 2026-01-28 11:05:56 +00:00
Marius f07cb54245 Merge pull request #43 from Kilo-Org/fix-pricing
fix: correct Kilo provider pricing calculation with proper field names and types
2026-01-28 12:04:48 +01:00
Marius Wichtner 7bbfe19ac8 fix: correct Kilo provider pricing calculation with proper field names and types 2026-01-28 09:33:49 +01:00
Aiden Cline 558590712d fix: ensure parallel tool calls dont double load AGENTS.md 2026-01-28 01:38:10 -05:00
Igor Šćekić 5c88b996f1 feat(share): add unshare flow via session api
Add ShareNext.unshare to call the session unshare endpoint and clear the
stored share url, and update Session.unshare to use the new method.
2026-01-27 20:40:23 +01:00
Catriel Müller 03c4bfb9e8 feat: telemetry 2026-01-27 19:04:35 +01:00
Aiden Cline f12f7e7718 tweak: adjust retry check to be more defensive 2026-01-27 11:31:02 -05:00
GitHub Action dbc8d7edca chore: generate 2026-01-27 15:59:54 +00:00
dpuyosa d8e7e915e2 feat(opencode): Handle Venice cache creation tokens (#10735)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-01-27 10:59:12 -05:00