Commit Graph

20955 Commits

Author SHA1 Message Date
Marius ca6cf3346e Merge pull request #12842 from Kilo-Org/optimize-terminal-startup-speed
perf(vscode): defer Agent Manager terminal addons
2026-08-04 10:33:13 +02:00
Marius 2bf4cb0680 Merge pull request #12839 from Kilo-Org/fix-last-file-div-visibility
fix(vscode): keep final patch file visible
2026-08-04 10:29:28 +02:00
marius-kilocode 6bbbb5dadb fix(vscode): clarify deferred terminal frame handle 2026-08-04 10:22:14 +02:00
marius-kilocode 2613ff93c6 perf(vscode): defer agent manager terminal addons 2026-08-04 10:11:48 +02:00
kilo-maintainer[bot] c5e053d2ea chore: update kilo-vscode visual regression baselines 2026-08-04 08:06:03 +00:00
marius-kilocode 4af1d1c8ab fix(vscode): keep final patch file visible 2026-08-04 10:02:29 +02:00
kilo-maintainer[bot] 20aead0d87 release: v7.4.19 2026-08-04 07:56:10 +00:00
Marius 6575aebfd2 fix(cli): skip startup work for informational commands (#12659)
* fix(cli): skip startup work for informational commands

* fix(cli): use parsed informational flags
2026-08-04 09:49:45 +02:00
Marius dbaa32fb8e Merge pull request #12827 from Kilo-Org/investigate-npm-oidc-authentication-failure
revert(cli): stop promoting stable releases to rc
2026-08-04 09:40:20 +02:00
Mohammad Javad Naderi d6e7d8fc98 Merge branch 'main' into fix/cli-startup-performance 2026-08-04 10:50:24 +03:30
Iván Uruchurtu 4f7dfe65cc fix(vscode): remove duplicate sidebar border 2026-08-03 17:17:46 -06:00
Igor Šćekić 1740b03f53 feat(docs-sync): learn from maintainer corrections (#12823)
* feat(docs-sync): learn from maintainer corrections

* feat(docs-sync): apply learnings during sync

* fix(docs-sync): handle standalone review comments

* fix(docs-sync): cover extraction marker routes

* test(docs-sync): verify dry-run marker safety

* chore: retrigger review

* fix(docs-sync): harden extraction input

* fix(docs-sync): compare correction timestamps

* feat(docs-sync): assign and request review on new rolling PR
2026-08-03 16:05:56 -05:00
Igor Šćekić 63a38f5c7a feat(tui): expand a collapsed paste on a second identical paste (#12816)
* feat(tui): expand a collapsed paste on a second identical paste

* chore: retrigger review

* chore(tui): add paste expansion changeset

* fix(cli): target paste changeset

* fix(tui): refresh autocomplete after expanding a paste

Call auto()?.onInput on the expand-placeholder path so open autocomplete
matches onContentChange when a second identical paste expands text.
2026-08-03 19:46:57 +00:00
Josh Lambert 1864a79e03 revert(cli): stop promoting stable releases to rc 2026-08-03 14:55:22 -04:00
Emilie Lima Schario 3f7831f2a3 Merge pull request #12716 from Kilo-Org/docs/auto-sync
docs: auto-sync with merged PRs (through 2026-08-01)
2026-08-03 14:53:09 -04:00
kiloconnect[bot] 66df87d9b4 docs: dedupe Web Search section in settings page
Point to the canonical Web Search Availability section in
automate/tools/index.md instead of repeating the same setup
instructions in getting-started/settings/index.md.

Addresses review feedback from emilieschario on PR #12716.
2026-08-03 18:48:48 +00:00
kiloconnect[bot] c3e8d2ac29 docs: remove Navigating long sessions section from chat interface docs 2026-08-03 18:46:26 +00:00
cosi-conda b80f250990 Merge branch 'main' into feature/charts 2026-08-03 08:24:49 -07:00
Marius 3e88ec9fd0 fix(vscode): accelerate macOS speech capture (#12814) 2026-08-03 17:21:31 +02:00
cosi-conda 08fb783449 Merge branch 'main' into feature/charts 2026-08-03 08:16:29 -07:00
Marius e83ab0df4d Merge pull request #12803 from Kilo-Org/plan-multi-repo-section-drag-and-drop
feat(vscode): restore multi-project section and drag-and-drop support
2026-08-03 17:15:08 +02:00
cosi-conda ce4b391479 Merge branch 'main' into feature/charts 2026-08-03 08:14:05 -07:00
cmanu ad1e3f510d Merge branch 'feature/charts' of https://github.com/Kilo-Org/kilocode into feature/charts 2026-08-03 08:13:35 -07:00
cmanu 36073c7c62 fix(charts): Update tests after resolving main merge conflict 2026-08-03 08:11:17 -07:00
marius-kilocode cd7d053f03 fix(vscode): accelerate macOS speech capture 2026-08-03 17:10:25 +02:00
Marius 37559f8643 fix(agent-manager): restore focus to question options and prompt on session switch (#12795)
* fix(agent-manager): restore focus to question options and prompt on session switch

- Route keyboard tab switching (Meta+Alt+ArrowLeft/Right) through coordinated focus path
- Retry focus across render lifecycle to handle VS Code focus transitions
- Focus first enabled question option after question dock mounts
- Focus prompt textarea for sessions without pending questions
- Preserve focus when terminal, history, or review surfaces are active
- Add focusQuestionOption helper with unit tests
- Add changeset for patch release

Fixes race conditions where keyboard navigation would leave focus on webview body instead of the intended question option or prompt input.

* fix(agent-manager): preserve tab and question focus ownership

* fix(agent-manager): guard deferred focus during async questions
2026-08-03 15:08:10 +00:00
kilo-maintainer[bot] 1ca7d690b2 chore: update kilo-vscode visual regression baselines 2026-08-03 15:02:41 +00:00
cosi-conda 3e3f1cf481 Merge branch 'main' into feature/charts 2026-08-03 08:02:01 -07:00
cmanu 0db3ca52c9 Merge branch 'main' into 'feature/charts' 2026-08-03 07:58:54 -07:00
marius-kilocode a112823fad Merge origin/main into plan-multi-repo-section-drag-and-drop 2026-08-03 16:57:47 +02:00
Marius e04f6531bf fix(vscode): optimize model selector search and auto-jump to active match (#12810)
* fix(vscode): optimize model selector search and auto-jump to active match

Remove the 250 ms search debounce so the model list updates on every
keystroke. Add a latest-search-only animation-frame scroll that keeps
the active match visible when filtering from a deeply scrolled list,
and track pointer coordinates so rows moving beneath a stationary
pointer no longer steal selection while real hover still transfers
immediately.

* fix(vscode): stabilize model selector search navigation

* chore: update kilo-vscode visual regression baselines

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: kilo-maintainer[bot] <kilo-maintainer[bot]@users.noreply.github.com>
2026-08-03 14:57:39 +00:00
Marius ce7984fc42 feat(agent-manager): assign models to workflows (#12729)
* feat(agent-manager): assign models to workflows

* fix(agent-manager): address workflow model review findings

* fix(cli): handle command source aliases safely

* test(pty): allow slower macOS startup

* test(cli): tolerate transient Windows response reads

* test(cli): bound transient stall response retries

* test(pty): include replayed output in wait helper

* test(pty): stabilize buffered output waits

* test(pty): avoid locale-dependent UTF-8 fixture
2026-08-03 16:46:07 +02:00
Marius dfc1607693 feat(vscode): bind speech-to-text to Cmd/Ctrl+K with hold-to-send (#12798)
* feat(vscode): bind speech-to-text to Cmd/Ctrl+K with hold-to-send

* fix(vscode): complete speech shortcut localization and cleanup

* fix(vscode): preserve speech shortcut focus and tooltip state
2026-08-03 10:35:25 -04:00
Marius 4810766d05 fix(vscode): persist Agent Manager focus per session (#12801)
* fix(vscode): persist Agent Manager focus per session

Remember whether each session last focused the prompt or its right-side
embedded terminal, and restore that focus owner when switching back.

- Add a focus-owner map keyed by (context, session) in AgentManagerApp
  that records the last focused surface per session.
- Make side-terminal creation explicit: / focus
  the new terminal, while  and context switches do not.
- Suppress the PromptInput draft-change focus dispatch when the target
  session's remembered owner is the terminal.
- Side terminals opt out of auto-focus on activation via a new
   prop so context switches don't steal the cursor.
- Replace the unconditional  prompt dispatch with a
  restore-focus path that follows the saved owner.
- Add regression tests distinguishing explicit vs background side
  creates, and a changeset.

* fix(vscode): address Agent Manager focus review

* fix(vscode): self-heal stale Agent Manager focus

* fix(vscode): align Agent Manager focus visibility
2026-08-03 10:34:47 -04:00
Marius 68338122b2 perf(vscode): parallelize build validation and cache SDK generation (#12807)
Run extension typecheck, webview typecheck, ESLint, and esbuild
concurrently instead of serially. Replace tsc with the
repository-standard tsgo for both typechecks. Enable ESLint's
content-addressed cache. Run the esbuild driver with Bun instead
of Node.

Add a launch-only SDK generation cache keyed by CLI/API input
fingerprint and generated SDK output fingerprint. Explicit compile,
package, and rebuild-sdk commands still force full SDK regeneration.

Add CSS module declarations required by tsgo for the webview.
2026-08-03 10:33:27 -04:00
Marius 989f7f06a0 feat: add signal-to-noise controls to grep tool (#12811)
* feat: add signal-to-noise controls to grep tool

Add configurable options to reduce noise in grep results:
- context: show N lines before/after each match
- limit: bound maximum matches (default 100) with early termination
- literal: treat pattern as plain text instead of regex
- ignoreCase: case-insensitive matching

These controls help models avoid overwhelming context windows with too
many matches and provide clear guidance when results are truncated.

Implementation preserves upstream ripgrep structure with minimal Kilo
hooks for additive behavior only. Shared-file changes reduced from 183
to 60 lines compared to initial implementation.

* test(core): tolerate PTY event publication race

* fix(cli): count grep matches independently of context
2026-08-03 10:32:40 -04:00
Marius 3d4294e3bb feat(agent-manager): allow sessions to move their worktree between sections or ungroup (#12815)
* feat(agent-manager): allow sessions to move their worktree between sections or ungroup

Add a new  to the  tool so a session can
reassign its own worktree to another section or ungroup it by passing
. The move operation validates the target section and
the session's worktree, then pushes refreshed state to the panel.

Also tighten the model-facing contract so the list-to-move workflow is
unambiguous:  is required first, its result is the
source of truth for section and session IDs, and direct edits to
 are rejected by , , and
 with an explicit pointer to the  tool.

- New / in the Agent Manager protocol
- New  domain function with section/session validation
- New  OpenAPI hook so  stays
  nullable in the generated SDK
- Tool schema descriptions now spell out the list-first workflow and
  the no-direct-edit rule
- List output now includes an instruction block and is pretty-printed
- Optional nullable Task fields tolerate  from models
- Focused CLI tests, bridge unit test, and protection test

* chore: remove local PR screenshot

* style(vscode): format agent manager orchestration

* fix(agent-manager): protect state paths on Windows
2026-08-03 10:32:01 -04:00
kiloconnect[bot] 9dd2c0737f docs: remove experimental multi-project section from agent-manager docs 2026-08-03 14:10:16 +00:00
Marius 6ae16f9d62 fix(vscode): recover Agent Manager terminals after exit (#12812)
* fix(vscode): recover Agent Manager terminal with one input after exit

When an embedded Agent Manager terminal ends, the next typed input now
starts a fresh shell in the same tab and delivers that input exactly once
instead of requiring a second keystroke. The original scrollback remains
visible above a neutral divider so the ended shell is clearly separated
from the replacement.

- TerminalManager owns a logical terminal ID with a mutable PTY ID and
  exposes a deduplicated restart method that returns the fresh wsUrl.
- TerminalRouter posts one restarted message back to the webview.
- TerminalTab buffers input while the replacement attaches and flushes
  it only after replacement shell output settles, with a one-second
  fallback for silent shells.
- Restartable terminals show a distinct ended marker that advertises
  both typing and closing; Run/Setup terminals keep the original
  close-only text.
- Localized the new marker in all Agent Manager locales.
- Replaces the previous dispose-on-webview-reload behavior with a
  reconciliation pass so a fresh webview does not orphan running PTYs.

Verified end-to-end in an isolated VS Code instance: two consecutive
exit-then-one-input cycles both execute the original input without
requiring a second keystroke, and pwd confirms the replacement shell
starts in the original worktree cwd.

* fix(vscode): avoid duplicate prompt after terminal recovery
2026-08-03 13:14:11 +00:00
rakshith1928 63220e019c fix(vscode): keep skill remove buttons visible at narrow widths (#12733)
* fix(vscode): keep skill paths and urls contained at narrow panel widths

Folder path and URL rows in the Skills settings subtab used min-content width
on their value cells and a fixed-width input wrapper, so long paths and URLs
expanded the row past the panel at narrow widths, clipping the value and pushing
the remove (×) button off-screen.

Give the value cell flex:1 + min-width:0 with text-overflow ellipsis (mirroring
the working discovered-skills rows above) so it shrinks instead of overflowing,
and add min-width:0 to the input+Add wrapper so the TextField can shrink below
its intrinsic input width. Add a Playwright regression test that asserts no
horizontal overflow and a fully-visible × button at a 320px viewport.

* fix(vscode): expose full skill paths and urls via accessible tooltip

The previous responsive fix truncated long path and URL values to ellipsis
with a native title attribute. The native title is not consistently
reachable across keyboard and screen reader interactions, and stacking
it on top of an accessible tooltip would produce duplicate prompts.

Wrap each value cell in the kilo-ui Tooltip (Kobalte-backed, ARIA-compliant)
so the full value is exposed on hover and keyboard focus, and drop the
native title. Add a settings.css class so the Tooltip trigger grows in
the row flex layout and the inner span keeps its single-line ellipsis.

Extend the regression test to assert the trigger wraps each value and
that focusing the trigger surfaces the full value through the kilo-ui
tooltip content, keeping the overflow and × button assertions intact.

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

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

* Update packages/kilo-vscode/tests/skills-settings-responsive.spec.ts

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

* test(vscode): use hover to assert skills tooltip and cover both cards

* chore: update kilo-vscode visual regression baselines

* test(vscode): assert trigger focusability and label card in Add assertions

* fix(vscode): make skill tooltip triggers keyboard-focusable via tabindex prop

* fix(vscode): drop keyboard-focus assertion; full path is already in DOM

* Update .changeset/vscode-skills-settings-narrow-overflow.md

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

---------

Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-08-03 14:56:51 +02:00
Christiaan Arnoldus 52211a9a6f Merge pull request #12790 from Kilo-Org/button-barberry
fix(cli): omit persona from generated names
2026-08-03 13:55:30 +02:00
Marius 84901241c0 fix(vscode): prevent prompt toolbar height growth when training indicator is visible (#12805)
* fix(vscode): prevent prompt toolbar height growth when training indicator is visible

The prompt training icon (book-open-check) rendered at 16px inside compact
toolbar buttons caused the model selector button to grow taller than sibling
buttons. Constrain the icon to 14px so the toolbar row stays at a consistent
height regardless of whether the active model has mayTrainOnYourPrompts set.

Add 420px and 200px screenshot stories covering the training indicator so
visual regression catches future regressions.

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: kilo-maintainer[bot] <kilo-maintainer[bot]@users.noreply.github.com>
2026-08-03 11:38:43 +00:00
bagatao@anaconda.com afdb194274 Merge pull request #12802 from Kilo-Org/fix/skill-shell-inline-code-spans
fix(cli): stop inline skill-shell doc examples from triggering permission prompts
2026-08-03 13:29:50 +02:00
Marius 9955efd861 feat(cli): adopt upstream reasoningVariants from v1.18.11 (#12800) 2026-08-03 13:24:25 +02:00
Bruno Agatao 9fa992fd9b Merge branch 'fix/skill-shell-inline-code-spans' of github.com:Kilo-Org/kilocode into fix/skill-shell-inline-code-spans 2026-08-03 13:19:36 +02:00
Bruno Agatao 87eaf2ca7d docs(cli): trim skill-shell injection comment 2026-08-03 13:19:03 +02:00
bagatao@anaconda.com fa0e8b1bb7 Merge branch 'main' into fix/skill-shell-inline-code-spans 2026-08-03 13:15:34 +02:00
Bruno Agatao dbf50aa821 fix(cli): fix nested code-span ranges and flaky quadratic-scan test 2026-08-03 13:14:48 +02:00
Igor Šćekić 1f3a3b2d83 feat(attachments): add remote CLI file delivery (#12747)
* fix(cli): clarify remote binary attachment notice

* feat(cli): add remote send_file tool

* docs(mobile): explain remote session attachments

* fix(cli): keep delivered files out of model context

* fix(cli): mark delivery filter as kilocode change

* fix(cli): preserve delivered image files

* test(cli): narrow delivery attachment state

* fix(send-file): preserve filesystem failures

* test(send-file): assert propagated file read error
2026-08-03 13:12:11 +02:00
marius-kilocode 9819c1c315 feat(vscode): restore multi-project section and drag-and-drop support
Restore Agent Manager sections and worktree drag-and-drop when multiple
projects are shown, with ordering and section moves scoped to the owning
project.

- Extract shared worktree ordering/grouping logic used by both single and
  multi-project modes
- Add per-project drag-and-drop providers with scoped identifiers
- Preserve live run statuses when state payloads omit them
- Match single-project label resolution using ordered session titles
- Make section auto-rename tracking request-scoped to prevent stale
  renames
- Expand multi-project Storybook story with persisted ordering, sections,
  and grouped worktrees
- Add project-store isolation and ordering tests
2026-08-03 12:53:40 +02:00