Commit Graph
5369 Commits
Author SHA1 Message Date
Marius 28a0eae4b0 fix(cli): keep semantic indexing startup responsive (#9613)
* fix(cli): keep semantic indexing startup responsive

* test(cli): allow slower shell queue tests on windows

* fix(cli): stop indexing work after disposal
2026-04-28 13:27:09 +02:00
Marius 0907c6f46e fix(cli): isolate indexing from tool registry (#9615) 2026-04-28 13:02:31 +02:00
Marian Alexandru Alecu 7a6fbb7d9e Merge branch 'main' into fix/windows-worktree-cleanup-retry 2026-04-28 13:53:55 +03:00
Mark IJbema f9ca3f72e2 Merge branch 'main' into mark/md-table-padding-check 2026-04-28 11:18:28 +02:00
Mark IJbema 8078944add Merge pull request #9574 from Kilo-Org/imanolmaiztegui/kilo-opencode-v1.14.23
OpenCode v1.14.23
2026-04-28 11:11:57 +02:00
Alex Alecu 6794b4c008 chore(cli): annotate cleanup helper usage 2026-04-28 12:05:26 +03:00
Alex Alecu d44f65576b refactor(cli): isolate Windows cleanup helpers 2026-04-28 12:04:46 +03:00
Alex Alecu 4145e48e82 fix(cli): retry Windows worktree cleanup locks 2026-04-28 11:54:37 +03:00
Mark IJbema 8671a57087 Fix semantic merge with indexing code 2026-04-28 10:44:56 +02:00
Alex Alecu 9e67b52e7e fix(cli): mark context synthetic 2026-04-28 10:46:26 +03:00
kiloconnect[bot] 06cd80d1bd chore: enforce minimal markdown table formatting
Prettier pads markdown table cells for column alignment, which turns any
content change into a table-wide realignment diff. Markdown was only in
prettierignore for packages/kilo-vscode/; the root formatter still
repadded docs elsewhere (e.g. TESTING.md, kilo-docs, AGENTS.md).

Adds *.md to the root .prettierignore, documents the convention in
AGENTS.md, and adds script/check-md-table-padding.ts + a workflow to
enforce it. Existing padded tables in Kilo-owned docs have been
rewritten via the script's --fix mode.
2026-04-28 07:45:49 +00:00
Marian Alexandru Alecu 49a0d7815f Merge branch 'main' into fix/infinite-compact-upload-limit 2026-04-28 10:22:27 +03:00
Marian Alexandru Alecu 5bd891cea0 Merge branch 'main' into feat/cli-local-run 2026-04-28 10:07:32 +03:00
Imanol Maiztegui 5ac8a7c973 build(opencode): replace models-snapshot inline data with stub and ignore generated files
The large auto-generated models-snapshot.ts is replaced with a minimal
stub, and its compiled outputs (.js, .d.ts) are added to .prettierignore
to prevent formatting of generated files.
2026-04-27 20:02:44 +02:00
Imanol Maiztegui bb7ee00b07 refactor(kilo-indexing): migrate BusEvent and SemanticSearchTool schemas from zod to effect Schema
Replace zod-based schema definitions with Effect Schema equivalents in
the indexing status event and semantic-search tool parameters. This
aligns both modules with the broader zod-to-effect migration underway
across kilo packages.

- Add Effect Schema mirror of IndexingStatus for BusEvent.define
- Import INDEXING_STATUS_STATES literal union from kilo-indexing/status
- Convert SemanticSearchTool parameters from z.object to Schema.Struct
- Inline explicit type annotations on the tool execute callback to
  satisfy the new generic inference after dropping the type parameter
- Reformat long single-line expressions for readability
2026-04-27 19:31:58 +02:00
Imanol Maiztegui 27a4db57e9 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.14.23 2026-04-27 19:15:03 +02:00
Imanol Maiztegui 85eb4fa69b chore: regenerate SDK 2026-04-27 19:00:21 +02:00
Imanol Maiztegui d4e44b6128 fix(kilo-sessions): apply type-erasure workaround for Bus.subscribe schema mismatches
Introduce a local `watch` helper that erases strict schema types when
subscribing to MessageV2.Event.Updated, MessageV2.Event.PartUpdated,
and Session.Event.Diff events. This mirrors the pattern used upstream
in share/share-next.ts and resolves type errors caused by the zod-to-
effect Schema migration where event definition types no longer align
with the Bus.subscribe generic constraint.
2026-04-27 18:59:54 +02:00
Imanol Maiztegui 24d1f693ef refactor(opencode): migrate zod schemas to effect Schema across kilo modules
Replace zod schema definitions with effect Schema equivalents in
BusEvent definitions, tool parameters, session network, suggestions,
and related modules. This aligns Kilo-specific code with the upstream
v1.14.23 migration from zod to effect Schema.

- Convert BusEvent property schemas from zod objects to Schema.Struct
- Migrate tool parameter definitions (recall, warpgrep, suggest) to
  Schema.Struct with annotated descriptions
- Replace zod-based SessionNetwork.Wait with effect Schema and add
  zod interop via withStatics helper
- Extract shared EditorContext schema in message-v2 and reuse in
  prompt input
- Replace `fn()` wrappers in session.ts with explicit
  Schema.decodeUnknownSync calls for type safety
- Use branded SessionID/QuestionID types in place of raw z.string()
- Update pending map in SessionNetwork from Record to Map<QuestionID>
- Update tests to use SessionID.make() for branded identifiers
2026-04-27 18:34:48 +02:00
Josh HolmerandMarius f74d54c431 feat: implement codebase indexing (#6966)
* feat(core): implement codebase indexing

* feat(core): gate indexing behind experimental flag

* fix: improvements to slow provider startups and indexing init blocking the world

* test(cli): stabilize indexing startup tests

* test(cli): avoid indexing startup hang

* test(cli): avoid CI startup leaks

* test(cli): annotate provider test change

* fix(indexing): tighten dependency surface

* refactor(cli): move indexing logic into kilocode paths

* test(cli): skip flaky shell cancel prompt cases

* fix(cli): tolerate slow Windows worktree cleanup

* fix(vscode): authenticate indexing status fetch

---------

Co-authored-by: Marius <marius@kilocode.ai>
2026-04-27 17:43:27 +02:00
Imanol Maiztegui fd8818e48c resolve merge conflicts 2026-04-27 15:57:16 +02:00
Alex Alecu 034f4d4e8d Merge remote-tracking branch 'origin/main' into feat/cli-local-run
# Conflicts:
#	package.json
2026-04-27 15:08:21 +03:00
Imanol Maiztegui 108dfe3238 refactor: kilo compat for v1.14.23 2026-04-27 13:56:08 +02:00
hdcode.dev 438316b09a fix(cli): stop hardcoding opencode in kilo pr (#6824)
* fix(cli): stop hardcoding opencode in kilo pr

* fix(cli): stop hardcoding opencode in kilo pr

* fix pr command cli resolution for subcommand args
2026-04-27 13:14:47 +02:00
Alex Alecu 2704656e39 refactor(cli): simplify stats cost 2026-04-27 13:14:10 +02:00
Alex Alecu 12e92fa247 chore(cli): mark stats cost line 2026-04-27 13:14:10 +02:00
Alex Alecu 9e419b3e86 fix(cli): count subagent stats 2026-04-27 13:14:10 +02:00
Alex Alecu 2a94a0cc11 fix(cli): ignore deleted cost sync 2026-04-27 13:14:10 +02:00
Alex Alecu af0227b1ab fix(cli): exclude subagent sessions from stats aggregate
The task tool propagates each child session's total cost into the parent's tool-wrapper assistant message. Counting both root and child sessions in `kilo stats` would double-count that contribution. Filter `getAllSessions()` to root sessions (parent_id IS NULL), matching how the TUI session list and web sidebar already treat child sessions.
2026-04-27 13:14:10 +02:00
Alex Alecu d9bed85e78 fix(cli): sync processor cost after subagent propagation
finish-step and cleanup previously re-wrote the parent assistant message with a stale in-memory cost, clobbering the subagent cost written by task.ts during tool execution. Refresh from DB before each write so the propagated cost is preserved across steps. Verified live via side-by-side `kilo serve` vs dev `bun serve` with 2 parallel subagents; parent now shows own LLM + children, matching real spend.
2026-04-27 13:14:10 +02:00
Alex Alecu f57479c657 fix(cli): serialize concurrent subagent cost propagation 2026-04-27 13:14:10 +02:00
Alex Alecu aaaa191b76 fix(cli): include subagent costs in session total (#6321)
When a session spawned subagents via the task tool, the displayed cost reflected only the parent's own LLM steps. Propagate each subagent's total up to the invoking assistant message so every UI sums the full tree.
2026-04-27 13:14:10 +02:00
Marian Alexandru Alecu 99ffef184a Merge branch 'main' into feat/cli-local-run 2026-04-27 13:46:23 +03:00
Alex Alecu 41e63f6d68 chore: fix annotation markers after main merge 2026-04-27 13:21:47 +03:00
Alex Alecu a42dd7ea19 Merge remote-tracking branch 'origin/main' into fix/infinite-compact-upload-limit 2026-04-27 13:03:18 +03:00
Alex Alecu bb81bca909 Merge remote-tracking branch 'origin/main' into feat/cli-local-run 2026-04-27 13:03:16 +03:00
Alex Alecu 67993d094e Merge remote-tracking branch 'origin/main' into fix/costs-of-subagents 2026-04-27 13:03:15 +03:00
Imanol Maiztegui a63a27a366 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.14.22 2026-04-27 11:23:37 +02:00
Marius a5bca011a1 Allow ChatGPT login over OpenAI provider config (#9549)
* fix: allow ChatGPT login over OpenAI provider config

Let users with inherited or globally configured OpenAI API keys sign in with ChatGPT for Codex without first removing their existing provider setup.

* fix: satisfy provider login ci checks

Annotate Kilo-specific shared CLI changes and apply webview formatting so the existing ChatGPT login flow passes CI.
2026-04-27 11:17:04 +02:00
Marius dbf113524e fix(cli): guard external directory boundaries (#9484)
* fix(cli): guard external directory boundaries

* test(cli): move boundary regressions to kilocode tests

* fix(cli): scope root guard to permission prompts

* test(cli): isolate boundary regression fixtures

* test(cli): simplify boundary regression coverage
2026-04-27 11:15:57 +02:00
Imanol Maiztegui 94f47d452e Merge branch 'main' into fix/openrouter-deepseek-reasoning 2026-04-27 09:54:31 +02:00
kiloconnect[bot] f631338576 chore(cli): add kilocode_change markers to ported shell cwd fix 2026-04-27 07:38:01 +00:00
kiloconnect[bot] e8c13e0ee8 fix(cli): preserve shell cwd after login startup 2026-04-27 07:31:57 +00:00
Alex Alecu 1eaf409143 refactor(cli): simplify stats cost 2026-04-27 10:21:36 +03:00
Josh Lambert 55ddf87040 Revert "fix(cli): also skip interleaved reasoning transform for @kilocode/kilo-gateway"
This reverts commit 1dd436d61a.
2026-04-26 19:55:56 -04:00
Josh Lambert 1dd436d61a fix(cli): also skip interleaved reasoning transform for @kilocode/kilo-gateway
The gateway wraps @openrouter/ai-sdk-provider internally, so the same
openrouter SDK-side reasoning handling applies. Without this, users
routing through api.kilo.ai still see DeepSeek 400 'reasoning_content
must be passed back' errors.
2026-04-26 11:29:26 -04:00
Josh Lambert a1557d1a1f chore: annotate cherry-picked upstream changes with kilocode_change markers 2026-04-26 11:09:07 -04:00
Aiden Cline c884cea5ba fix: ensure openrouter behaves correctly 2026-04-26 10:55:41 -04:00
Aiden Cline f724b8f3af fix: ensure assistant messages always have reasoning on them for deepseek (#24180) 2026-04-26 10:54:59 -04:00
Aiden Cline 3d219b5ff0 fix: support max for deepseek (#24163) 2026-04-26 10:54:54 -04:00