Commit Graph
2598 Commits
Author SHA1 Message Date
Josh Lambert 34e787e5ac fix: enable web search by default 2026-07-27 11:48:09 -04:00
Josh Lambert 91d87588bf fix: address web search review feedback 2026-07-21 09:11:20 -04:00
Josh Lambert 44f13738a3 feat: configure web search availability for all providers
Adds an experimental.websearch config flag that exposes the websearch
tool to models from any provider, not only the Kilo gateway. The flag
is editable from the VS Code Web Tools settings tab (renamed from
Browser) and the Kilo Console Tools page, with project/global overlay
inheritance and revert support. Environment flags KILO_ENABLE_EXA and
KILO_ENABLE_PARALLEL keep working as before.
2026-07-18 08:43:45 -04:00
Marius a4aceaa2b9 test(cli): stabilize compaction interruption tests on loaded CI runners (#12311)
The two compaction interruption tests ("stops quickly when aborted during
retry backoff" and "does not leave a summary assistant when aborted before
processor setup") intermittently fail on the Windows CI shard with an
uncaught TimeoutError.

Root cause: Effect 4.x changed Effect.timeout to throw a TimeoutError on
the error channel instead of returning Option (as in Effect 3.x). The
tests wrapped Deferred.await(ready) and Fiber.await(fiber) in
Effect.timeout as a guard against the fiber never reaching the trigger
state, but on loaded Windows runners the fiber can take longer than the
1 second / 250 millis deadlines to reach that state. When the deadline
expired the TimeoutError propagated uncaught and failed the test, even
though the interrupt assertions would still hold.

Swallow the TimeoutError from the ready wait so the test proceeds to
interrupt the fiber regardless of whether the trigger fired in time, and
drop the inner Fiber.await timeout since Fiber.interrupt already waits for
termination. The assertions verify the interrupt exit either way.
2026-07-17 13:41:07 +02:00
marius-kilocode c081f582ab feat(indexing): support custom file extensions 2026-07-17 11:48:54 +02:00
Jean du Plessis e7e31bdd5a Merge pull request #12303 from Kilo-Org/fix/cli-sidebar-usage
fix(cli): improve sidebar usage display
2026-07-17 11:06:53 +02:00
Jean du Plessis 256c965f1b test(cli): exercise production usage rows 2026-07-17 10:35:26 +02:00
Jean du Plessis 7c07a47466 fix(cli): improve sidebar usage display 2026-07-17 10:07:32 +02:00
Marius 62cf08c81f Merge branch 'main' into agent-manager-stop-session 2026-07-17 09:12:18 +02:00
Igor Šćekić df9e1fb1e9 feat(cli): support remote slash commands and session creation (#12224)
* feat(cli): support remote slash commands

* feat(cli): create sessions from remote clients

* fix(cli): harden remote session attach and command boundaries

* chore: trigger latest-head review

* feat(cli): support remote exit

* fix(cli): isolate remote exit bridge
2026-07-17 03:19:32 +02:00
Marius 5180c10c4f fix: show messages after reverting and resubmitting (#12274)
* fix: show messages after reverting and resubmitting

* chore(vscode): format revert synchronization test

* test(cli): cover omitted revert snapshots
2026-07-16 13:51:24 +02:00
marius-kilocode 1db40dcf14 fix(agent-manager): harden stop session action 2026-07-16 13:25:01 +02:00
Johnny Eric Amancio e084ab7492 feat(cli): improve memory CLI UX (#12255) 2026-07-16 12:59:15 +02:00
dengbushiandmarius-kilocode 88afe3d3c2 fix(cli): clean test runner temp environments (#12232)
* fix(cli): clean test runner temp environments

* fix(cli): clean test environments on runner shutdown

---------

Co-authored-by: marius-kilocode <marius@kilocode.ai>
2026-07-16 12:42:54 +02:00
Christiaan Arnoldus c6e64deef4 Merge pull request #12233 from Kilo-Org/fix/gateway-stream-metadata
fix(gateway): surface routed model and cost
2026-07-16 11:57:34 +02:00
Johnny Eric Amancio bd69158131 feat(memory): add verbose flag and marker content snippets (#12250) 2026-07-16 11:52:24 +02:00
Marius 55070b784c Merge pull request #12252 from Kilo-Org/fix-issue-12241
fix(cli): restore directory @-mention expansion
2026-07-16 11:21:03 +02:00
Christiaan Arnoldus c021ced1ad Merge branch 'main' into fix/gateway-stream-metadata 2026-07-16 10:43:33 +02:00
marius-kilocode 38013f70fa feat(agent-manager): stop managed sessions from tool 2026-07-16 10:41:42 +02:00
marius-kilocode c00b298cac merge: sync main into directory mention fix 2026-07-16 10:16:54 +02:00
marius-kilocode 9c57681a6f test(cli): relax Windows permission timing 2026-07-16 10:12:27 +02:00
Marius d1ccb227d4 Merge branch 'main' into investigate-premature-stop-issue 2026-07-16 09:57:41 +02:00
Christiaan Arnoldus a0ffa3ed03 Merge pull request #12086 from rakshith1928/fix/grok-4.5-reasoning-variants
fix(provider): enable reasoning variants for Grok 4.5
2026-07-16 09:37:01 +02:00
marius-kilocode e3124d3147 fix(cli): retry empty incomplete responses 2026-07-16 09:36:28 +02:00
Marius 29277b16bd test(cli): stabilize global skill permission test on slow CI (#12248)
* test(cli): stabilize global skill permission test on slow CI

The global skill permission test runs two full agent loops with real
bash subprocess execution but used much tighter timeouts than every
other test in the file:

- Test timeout 15s vs 30s elsewhere
- pollWithTimeout default 5s vs 15s elsewhere
- awaitWithTimeout default 2s for fiber completion vs Fiber.await
  with the 30s test-level backstop

On Windows CI (where the file took 64s), these bounds caused
intermittent timeouts. Align all three with the rest of the file
and add a best-effort finalizer to clean up the skill directory
created under the global config path.

* test(cli): focus global skill timeout fix
2026-07-16 09:36:18 +02:00
Marius 06c23379d8 perf(cli): speed up local recall searches (#12242)
* perf(cli): speed up local recall searches

* fix(cli): bound local recall batches
2026-07-16 06:58:42 +00:00
rakshith1928 4ae9981199 Merge branch 'main' into fix/grok-4.5-reasoning-variants 2026-07-16 01:43:51 +05:30
marius-kilocode e67635d270 fix(cli): restore directory @-mention expansion
PR #12158 enforced read permissions for file mentions by routing
directory attachments through the permission resolver with
denyDirectory: true. That flag is set for every prompt-mention
attachment, so the read tool denied all directory listings, including
directories inside the current workspace.

Only deny directory attachments whose canonical path changed after
permission approval. A symlink swap during the permission wait moves
the resolved target, so the approved permission no longer applies and
the listing is denied. Unchanged in-workspace directories are listed
as before.

Fixes #12241
2026-07-15 21:11:28 +02:00
chrarnoldusandkiloconnect[bot] 1b126c2fa7 fix(cli): flatten agent manager tool schema
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-07-15 18:03:02 +00:00
chrarnoldusandkiloconnect[bot] fe4142630c fix(cli): add object type to agent manager schema
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-07-15 17:14:55 +00:00
chrarnoldusandkiloconnect[bot] 9aa7e7e534 refactor(gateway): remove dead metadata paths
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-07-15 15:36:27 +00:00
Christiaan Arnoldus 20f564ca58 Merge branch 'main' into fix/grok-4.5-reasoning-variants 2026-07-15 13:25:32 +02:00
Marius 72f73eec03 Merge pull request #12174 from Kilo-Org/feat-agent-manager-orchestration-api
feat(agent-manager): add native orchestration API
2026-07-14 17:29:07 +02:00
Florian Hines 675d970990 feat(cli): bump session ingest version to v2 (#12117) 2026-07-14 09:12:49 -05:00
Marius bb1faec0e1 Merge pull request #12203 from Kilo-Org/fix-model-cache-race
fix(cli): isolate model cache refresh from caller cancellation
2026-07-14 15:15:28 +02:00
Igor Šćekić 0ced872ed3 Fix remote CLI session control from mobile (#12189)
* fix(remote): unblock mobile CLI sessions

* fix(remote): keep terminal restriction ephemeral

* fix(remote): preserve client tool toggles

* chore: annotate remote prompt changes

* fix(remote): keep tool restriction internal
2026-07-14 12:21:38 +02:00
marius-kilocode 750b622f48 fix(cli): isolate model cache refresh from caller cancellation
A new Agent Manager worktree session can fail before its first model
response with "All fibers interrupted without error" when automatic
branch-name generation runs concurrently and the Kilo model cache is
expired. Branch-name generation has a 10-second timeout; when it fires,
it interrupted the shared cached model refresh, and every waiter on that
refresh received an interrupt-only cause. SessionPrompt.getModel squashed
that cause into a generic error, which promptAsync published as
UnknownError.

The model cache previously used Effect.cachedInvalidateWithTTL, which
coupled the shared refresh lifetime to the first caller. A timeout or
interruption from one waiter could interrupt the computation observed by
every waiter.

Move the in-flight refresh to the ModelCache service scope:
- A refresh fiber is forked into the service scope, not the caller.
- Each caller awaits the shared deferred interruptibly.
- Caller interruption detaches only that waiter; the service-owned
  refresh continues for remaining callers.
- The service-owned fiber commits successful results even when no waiter
  survives, so a timed-out branch-name request no longer leaves the
  session without a model.
- Overlapping refreshes share one request instead of duplicating.
- Cached stale-version results are promoted to the public provider view
  when a newer option load has superseded and failed.
- Clear and invalidate still prevent obsolete flights from restoring
  stale data, and existing version checks still prevent stale refreshes
  from overwriting newer values.
- Service disposal still interrupts owned background refresh fibers.

Treat pure interruption as cancellation rather than an error:
- SessionPrompt.getModel propagates interrupt-only causes as interruption
  instead of squashing them into a generic defect.
- The promptAsync HTTP handler suppresses interrupt-only causes instead
  of publishing UnknownError with "All fibers interrupted without error".
- Mixed interruption plus failure or defect remains reportable.

Classification lives in a Kilo-owned helper
(packages/opencode/src/kilocode/effect/cause.ts) using
Cause.hasInterruptsOnly, so only pure interruption is treated as
cancellation.
2026-07-14 12:14:08 +02:00
marius-kilocode f652aa49aa chore(cli): resolve latest main merge conflict 2026-07-14 10:31:22 +02:00
Marius ba6e5b9dfc fix(cli): allow trusting global skill directories (#12160)
* fix(cli): allow trusting global skill directories

* test(cli): stabilize global skill permission coverage

* fix(cli): harden global skill approvals

* fix(cli): avoid locking global config reads
2026-07-14 08:25:57 +00:00
marius-kilocode 3df234c9a9 test(cli): allow Windows process tree budget 2026-07-14 10:25:30 +02:00
marius-kilocode 1950d503cb test(cli): relax cancellation race timeout 2026-07-14 10:25:02 +02:00
marius-kilocode 66dad15fcf fix(cli): resolve merge and release read streams 2026-07-14 10:05:47 +02:00
marius-kilocode 4b6b7ac1f0 Merge remote-tracking branch 'origin/main' into feat-agent-manager-orchestration-api
# Conflicts:
#	packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts
#	packages/opencode/src/kilocode/tool/agent-manager.ts
#	packages/opencode/src/server/routes/instance/httpapi/server.ts
2026-07-14 10:04:43 +02:00
Marius a4e1dd72ce Merge pull request #12128 from rakshith1928/fix/indexing-model-validation
fix(cli): surface invalid Kilo indexing.model as an error instead of silently falling back
2026-07-14 10:03:24 +02:00
Marius 7639a09c7b Merge pull request #11424 from Kilo-Org/dust-ranunculus
fix(agent-manager): stop sessions when closing tabs
2026-07-14 09:58:30 +02:00
Marius 326b3dd3ff Merge pull request #11783 from Kilo-Org/bittersweet-height
fix(agent-manager): inherit sandbox for tool-started sessions
2026-07-14 09:53:55 +02:00
marius-kilocode f68b0055b7 chore(cli): resolve main merge conflicts 2026-07-14 09:46:01 +02:00
marius-kilocode d6d529147f chore(agent-manager): resolve main merge conflicts 2026-07-14 09:44:21 +02:00
Marius cb654e52cb Merge pull request #12097 from Kilo-Org/fix/windows-file-handles
fix(cli): release Windows file handles after reads
2026-07-14 09:35:26 +02:00
Evgeny Shurakov 1083bb82b6 feat: report active CLI and VS Code app and session presence (#12159) 2026-07-14 09:05:22 +02:00