Commit Graph
4499 Commits
Author SHA1 Message Date
Christiaan Arnoldus cada8a95bc Fix typecheck 2026-04-15 11:55:17 +02:00
Christiaan Arnoldus ee66ba1984 Merge branch 'main' into session/agent_9864f1dc-ca7c-4243-877b-14d089b66f92 2026-04-15 11:49:58 +02:00
Christiaan Arnoldus e01716a2d8 Pick variants from the model 2026-04-15 11:48:57 +02:00
Marius 22806d4966 fix(cli): avoid worktree diff patch generation (#8953) 2026-04-15 10:41:00 +02:00
Marius 7939a021cb fix(cli): re-apply dead-stream detection to SSE endpoints to prevent memory leak on Windows (#8952)
* fix(cli): re-apply dead-stream detection to SSE endpoints to prevent memory leak on Windows

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

* fix(cli): log dead-stream cleanup in SSE endpoints
2026-04-15 10:40:20 +02:00
Marian Alexandru Alecu 5182ea6a44 Merge pull request #8919 from Kilo-Org/fix/internal-skills
fix(cli): restore built-in skill registration
2026-04-15 11:35:36 +03:00
Marius 9a0f30ecbd chore(cli): untrack models-snapshot files (#8947)
These files are already in .gitignore but were committed before the
rule was added. Remove them from tracking so the gitignore takes
effect and build-generated changes stop appearing in diffs.
2026-04-15 07:59:51 +00:00
Marian Alexandru Alecu b0a658ed11 Merge pull request #8671 from Kilo-Org/fix/skill-read-config-protection
fix(cli): stop config protection from blocking skill reads
2026-04-15 10:38:04 +03:00
Christiaan Arnoldus 7d932c347d Merge branch 'main' into session/agent_9864f1dc-ca7c-4243-877b-14d089b66f92 2026-04-15 09:07:22 +02:00
Marian Alexandru Alecu b882d352e6 Merge branch 'main' into fix/internal-skills 2026-04-15 09:45:43 +03:00
Catriel Müller 87ca280011 fix: typechecks 2026-04-14 17:25:37 -03:00
Catriel Müller 1c67e0fe71 resolve merge conflicts 2026-04-14 17:05:48 -03:00
Catriel Müller c9e0060e2a refactor: kilo compat for v1.4.3 2026-04-14 14:46:57 -03:00
Catriel Müller f3bc6e04f4 Merge pull request #8923 from Kilo-Org/imanolmaiztegui/kilo-opencode-v1.4.0
OpenCode v1.4.0
2026-04-14 14:42:45 -03:00
Marian Alexandru Alecu 5b98391dd5 Merge branch 'main' into tui-usage-info 2026-04-14 20:13:07 +03:00
Catriel Müller 7df2904b60 fix: vscode read tool align title 2026-04-14 13:52:10 -03:00
Alex Alecu 316a6473b6 fix(cli): add kilocode_change markers 2026-04-14 19:41:50 +03:00
Imanol Maiztegui 7ccf624a82 feat(vscode): resolve diff content from patch field in UI components
Update DiffVirtualApp and PermissionDiff to reconstruct before/after
content from the patch field when explicit before/after values are not
provided. Export the `text` helper from kilo-ui session-diff and add
`patch` to the PermissionFileDiff type.

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

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

Additional changes:
- Add session-diff module export to kilo-ui package
- Remove batch tool (batch.ts deleted)
- Fix WebSocket proxy to convert Uint8Array to ArrayBuffer
- Switch VscodeSessionTurn from useDiffComponent to useFileComponent
- Update SnapshotFileDiff type references in vscode extension
2026-04-14 17:33:06 +02:00
Josh Holmer 08be022cca Merge branch 'main' into tui-usage-info 2026-04-14 10:31:55 -04:00
Alex Alecu d3a7a857f5 fix(cli): whitelist global config dirs in external_directory permissions
Add Global.Path.config and legacy global dirs (~/.kilo, ~/.kilocode) to
the external_directory whitelist so agents can read global config,
commands, and skills without triggering a permission prompt.
2026-04-14 17:30:26 +03:00
Imanol Maiztegui fb48b5eae4 feat(sdk): add before and after fields to WorktreeDiffItem schema
Extend WorktreeDiffItem with `before` and `after` string properties
across the OpenAPI spec, generated TypeScript types, and the Zod
schema in worktree-diff.ts. Both fields are marked as required in
the JSON schema definition.
2026-04-14 16:28:45 +02:00
Marian Alexandru Alecu c36e91f278 Merge pull request #8782 from Kilo-Org/fix/cli-error-boundary-no-renderer
fix(cli): guard ErrorComponent against missing renderer context
2026-04-14 17:26:48 +03:00
Alex Alecu b45811d7ae Merge origin/main and adapt token usage to plugin architecture 2026-04-14 17:20:25 +03:00
Alex Alecu a828e1a1ee fix(cli): restore onBeforeExit in ErrorComponent 2026-04-14 17:10:03 +03:00
Imanol Maiztegui cc2a03b2a0 refactor: align codebase with v1.4.0 upstream and update SDK schema
Remove stale ai-sdk patched dependencies, reformat code style
across i18n files, docs markdown tables, and TypeScript sources.
Update OpenAPI schema to rename FileDiff to SnapshotFileDiff,
replace before/after fields with patch, rebrand SDK code samples
from opencode to kilo, and add --dangerously-skip-permissions
CLI flag. Regenerate models snapshot.
2026-04-14 16:05:22 +02:00
Alex Alecu f2cb0d7055 fix(cli): add kilocode_change markers and regenerate source-links 2026-04-14 17:02:11 +03:00
Thomas BrugmanandClaude Sonnet 4.6 ddb2bba027 fix(tui): show progress indicators while subagent is initializing (#8807)
* fix(tui): show progress indicators while subagent is initializing

Show '↳ Starting...' in the parent session's Task entry when the
subagent is running but has not yet made any tool calls, and show
'↳ Initializing...' in the subagent session view when it has no
messages yet. Prevents the UI from appearing frozen during the
LLM thinking phase on startup.

Closes #8422

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(tui): annotate kilocode changes for CI

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(webview): show progress indicators while subagent is initializing

Mirror the TUI fix for the VS Code extension webview:

- TaskToolExpanded: show "Starting..." when the task tool is running
  but the child session has no tool calls yet (previously the expanded
  body was empty/blank).

- MessageList/ChatView: propagate the readonly flag so the subagent
  viewer shows "Initializing..." instead of the generic welcome screen
  when the session has no messages yet.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: add i18n translations for Initializing and Starting strings

Replace hardcoded 'Initializing...' and 'Starting...' strings in
webview components with language.t() calls. Add
session.messages.initializing and session.messages.taskStarting keys
to all 19 locale files.

Note: The TUI (packages/opencode) has no i18n framework — all strings
are hardcoded throughout the codebase, so the 'Initializing...' string
in the TUI session view remains as-is.

* fix: localize Initializing/Starting strings in all locale files

Replace English placeholder strings with proper translations in all
19 non-English locale files.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 16:00:39 +02:00
Imanol Maiztegui 9f4f0ba899 resolve merge conflicts 2026-04-14 15:58:28 +02:00
Alex Alecu 407f601373 Merge remote-tracking branch 'origin/main' into fix/cli-error-boundary-no-renderer
# Conflicts:
#	packages/opencode/src/cli/cmd/tui/app.tsx
2026-04-14 16:53:21 +03:00
Alex Alecu 54fe077158 Merge remote-tracking branch 'origin/main' into fix/skill-read-config-protection
# Conflicts:
#	packages/opencode/src/agent/agent.ts
#	packages/opencode/src/tool/apply_patch.ts
#	packages/opencode/test/agent/agent.test.ts
2026-04-14 16:25:32 +03:00
Christiaan Arnoldus 75207ad11c Merge branch 'main' into remove-fix-duplicate-reasoning 2026-04-14 14:38:39 +02:00
kiloconnect[bot] 2547c73264 chore: resolve merge conflict in provider.ts 2026-04-14 12:28:31 +00:00
Marius 4a69a3e0d1 fix(cli): invalidate provider state after auth changes (#8898)
* fix(cli): invalidate provider state after auth changes

After the Effect migration in #8870, provider state is cached via
InstanceState/ScopedCache. The hasKey check that determines which
models are available ran once at init and was never re-evaluated.
When auth changed (login, logout, org switch), only ModelCache was
cleared but the provider state retained the stale hasKey decision,
causing authenticated users to be stuck on the free model.

* chore: add changeset

* fix(gateway): scope disposeAll to KiloRoutesDeps, not ImportDeps
2026-04-14 10:57:44 +00:00
Imanol Maiztegui 4fc1e0263c refactor: kilo compat for v1.4.0 2026-04-14 12:17:20 +02:00
Imanol Maiztegui a1bd03d773 Merge pull request #8893 from Kilo-Org/imanolmaiztegui/kilo-opencode-v1.3.17
OpenCode v1.3.17
2026-04-14 12:16:22 +02:00
kiloconnect[bot] 32e9c2934d fix(cli): remove fixDuplicateReasoning workaround now that @openrouter/ai-sdk-provider is updated 2026-04-14 09:45:21 +00:00
Imanol Maiztegui cd79db8a8d refactor: update sdk imports and fix type signatures for v1.3.17 compat
- Update `@kilocode/sdk` imports to use `@kilocode/sdk/v2` path
- Replace `@opencode-ai/sdk/v2` import with `@kilocode/sdk/v2`
- Change theme color types from `string` to `RGBA` in renderApiDescription
- Fix `build` return type in KiloToolRegistry to `Effect.Effect<T, never, any>`
2026-04-14 10:52:25 +02:00
Imanol Maiztegui 170889e951 resolve merge conflicts 2026-04-14 10:44:13 +02:00
Marius 1b0ccd52f4 fix(vscode): keep worktree sessions across project id changes (#8875)
* fix(vscode): keep worktree sessions across project id changes

* fix(cli): isolate session directory fallback
2026-04-14 10:35:04 +02:00
Imanol Maiztegui 73b6d9a6c9 refactor: kilo compat for v1.3.17 2026-04-14 09:35:34 +02:00
Catriel Müller 528ec937ab refactor: fix home test config mocks 2026-04-14 03:06:12 -03:00
Catriel Müller d7515f6aec refactor: fix prompt / config tests 2026-04-14 02:25:00 -03:00
Catriel Müller da8f05ec75 fix: core tests 2026-04-13 23:58:00 -03:00
Catriel Müller bfec6b7945 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.3.14 2026-04-13 15:44:28 -03:00