Commit Graph
24932 Commits
Author SHA1 Message Date
kiloconnect[bot] 02cc08a884 docs(kilo-docs): match Authentication page title to nav label 2026-07-07 11:06:02 +00:00
Emilie Schario 6ffd201bce docs(kilo-docs): improve onboarding flow 2026-07-06 21:43:43 -04:00
Catriel Müller 08f2e96a62 Merge pull request #11428 from drye/feat/cli-vim-mode-prompt
feat(cli): add vim modal editing to the prompt input
2026-07-06 16:41:36 -03:00
Catriel Müller 9ce665d3ee Merge remote-tracking branch 'origin/main' into feat/cli-vim-mode-prompt 2026-07-06 16:03:20 -03:00
Catriel Müller ea0f5a044f Merge pull request #11223 from maphew/fix/cli-cloud-fork-session-import
fix(cli): import cloud sessions before validation
2026-07-06 14:44:53 -03:00
Kirill Kalishev 65ead5a892 Merge pull request #11971 from Kilo-Org/jetbrains/release/v7.0.1
release(jetbrains): v7.0.1
2026-07-06 12:19:37 -04:00
kilo-maintainer[bot] 11dd8abdf9 chore: update nix node_modules hashes 2026-07-06 16:10:34 +00:00
Kirill Kalishev 2bf41a8b13 docs(jetbrains): edit changelog for v7.0.1 2026-07-06 12:10:07 -04:00
Kirill Kalishev 556623c034 docs(jetbrains): edit changelog for v7.0.1 2026-07-06 12:07:31 -04:00
kilo-maintainer[bot] f8252028f6 release(jetbrains): v7.0.1 2026-07-06 16:01:51 +00:00
Johnny Eric Amancio b976b5a013 feat(cli): opt-in project memory (#11921)
* feat(memory): opt-in project memory — capture, recall, CLI + TUI integration

Add project memory: the standalone @kilocode/kilo-memory effect layer plus the
opencode CLI/server/TUI integration. Memory is disabled by default, so it is a
no-op until enabled (no behavior change when off).

Capture (turn-close consolidation): per-op parse salvage, secret redaction that
skips the offending op instead of aborting the batch, supersede-only auto-updates
(never model-driven deletes), correction-aware echo handling, non-LLM fallback
digests on interrupted/error turns, a shared interval throttle with idle-flush.

Recall + injection: keyword tokenizer with camelCase/compound splitting, light
stemming, and an English-first stopword filter (Unicode-aware; non-English falls
back to plain token-overlap), a live relevance floor, a budget-reserved startup
index, a session-digest catalog, and per-session prompt-cache pinning of the
injected memory block.

Surfaces: kilo_memory_save / kilo_memory_recall tools, the memory HTTP API
(contract schemas live in the package), and a status-focused TUI sidebar showing
auto-save, loaded context, and active recall, plus the /memory dialog.

* fix(memory): address PR review feedback

- C1: bump @kilocode/kilo-memory in the changeset
- C2: redact secrets before they hit the audit log (skip + salvage paths);
  redact before truncating in salvageTyped so a secret straddling the
  500-char cap can't leak an unmatched fragment; opText -> salvageText
- C3: de-abbreviate savedOperations, "changes" wording, ops.ts -> operations.ts
- C4: log.warn on the remaining silent-catch fallbacks (turn diff, memory
  context injection, tool-visibility check)
- C5: relocate memory storage from ~/.kilo to Global.Path.data, delete the
  now-dead needsDependencyInstall guard, add /memory status (root path) and
  /memory edit ($VISUAL/$EDITOR + auto-rebuild)
- C6: replace the hardcoded English stopword list with corpus-derived
  ubiquitous-term filtering (df across the user's own entries) and the
  English suffix stemmer with suffix-tolerant term matching, so recall
  noise-filtering works in any language
- C8: delete the CORRECTION_INTENT English regex; echo turns now run typed
  capture (digest stays echo-gated), bounded by the interval throttle, with
  the typed prompt as the language-agnostic content filter
- C9: exclude generated paths (dist/build/coverage/*.gen.*/*.map/snapshots)
  from the durable-diff churn fallback so generated churn can't burn a
  consolidation call
- C11: fix duplicated assert in httpapi-memory test; assert the error body
- kilo-code-bot batch: clause-boundary regex fix, byte-safe catalog
  truncation, max-length guards on remember/correct/forget payloads (text,
  query, key, sessionID), trim consistency in reconcile, param-shadowing
  rename, missing doc entry for kilo_memory_recall, dead-code removal,
  dialog UI fixes, memoryEnabledCache eviction bound, dedicated Configure
  schema, recall permission renderer, covered-session pointer cap, redact
  chat transcript before the consolidation model call, split configProtected
  metadata from disableAlways so memory-save prompts don't show config-file
  copy, drop unused MemoryService.layer provide from tool registry
- redact colon-separated low-entropy secrets too (password: hunterx),
  accepting the prose false-positive tradeoff (secret: enabled) in favor of
  not missing a real secret
- rename lastConsolidatedAt -> lastTypedConsolidationAt to make its narrow
  scope (typed-consolidation throttle clock) explicit; regen openapi/SDK
- drop now-dead home/config fields from MemoryPaths.Host after the data-dir
  relocation; add Process.splitCommand for quoted $EDITOR/$VISUAL paths with
  spaces, used by /memory edit and the pre-existing Editor.open utility

* refactor(memory): shared client helpers, capture hardening, /memory UX rework

- extract client-side derivations into kilo-memory so both frontends share
  one implementation: MemoryDecisions.summarize (decision-log summary),
  MemoryAutosaveStatus.summarize (autosave-status semantics), and
  MemoryMarkerMeta (marker wire contract encode/decode)
- match exact-key upserts via the canonical stored id (slugged key,
  normalized section) so a re-emitted spaced/uppercase key updates the
  entry instead of falling to fuzzy dedupe
- salvageTyped throws on valid JSON without an operations array so the
  caller's fallback path records a parse error instead of a silent
  zero-op success
- rename memory tool metadata files -> sources (stripPartMetadata rewrites
  tool-part metadata.files assuming apply_patch records, mangling string[])
- read state instead of status for tool enabled checks; dedupe TUI helpers
  (errorMessage, shared route(), Locale.number, relativeTime)
- /memory UX: bare /memory opens a help modal driven by a structured
  command catalog in kilo-memory; /memory on|off become the canonical
  toggle verbs (enable/disable kept as quiet aliases); /memory status opens
  a clean overview dialog (root path, autosave, startup context, source
  counts, index size) instead of a toast; /memory show is the single full
  audit view (inspect removed)
jetbrains/v7.0.1
2026-07-06 17:45:49 +02:00
Kirill Kalishev 71b352ab61 Merge pull request #11970 from Kilo-Org/jetbrains/release/v7.0.1-rc.15
release(jetbrains): v7.0.1-rc.15
2026-07-06 11:21:02 -04:00
Kirill Kalishevandkilo-code-bot[bot] d24b8e700d Update packages/kilo-jetbrains/CHANGELOG.md
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-07-06 11:08:18 -04:00
Kirill Kalishev b9d00e42a9 docs(jetbrains): edit changelog for v7.0.1-rc.15 2026-07-06 11:02:20 -04:00
kilo-maintainer[bot] d4eab7e3bb release(jetbrains): v7.0.1-rc.15 2026-07-06 14:54:57 +00:00
Kirill Kalishev 3673ac41b1 Merge pull request #11932 from Kilo-Org/massive-fontina
fix(jetbrains): polish transcript and settings interactions
jetbrains/v7.0.1-rc.15
2026-07-06 10:49:32 -04:00
kirillk 0ae9519682 Merge remote-tracking branch 'origin/main' into massive-fontina 2026-07-06 09:52:17 -04:00
kirillk 04600b63c2 chore: remove plan file from pr 2026-07-06 08:57:04 -04:00
Evgeny Shurakov cd49ae633c CLI - Remote model catalog and WebSocket reconnection fixes (#11835)
* feat(cli): remote model catalog and WebSocket reconnection fixes

* fix(cli): preserve provider default semantics under truncation and deflake reconnect test

* fix(cli): omit provider default when per-provider truncation removes preferred model

* refactor(cli): simplify remote model catalog by removing size limits

* refactor(cli): strip remote model catalog to sanitize-and-shape only

* fix(cli): cap remote model catalog at MAX_MODELS

* fix(cli): preserve model metadata and enforce remote catalog limits

* fix(cli): omit currentModel and defaultModel when truncation drops them

* fix(cli): keep stable connection identity across reconnects

* feat(cli): include protocol version in remote session heartbeat
2026-07-06 14:48:30 +02:00
kilo-maintainer[bot] a857f569e8 chore: update nix node_modules hashes 2026-07-06 12:43:49 +00:00
Christiaan Arnoldus f2639e9d23 Merge pull request #11968 from Kilo-Org/fix/bedrock-empty-output
fix(cli): restore Amazon Bedrock output by pinning @smithy/util-buffer-from
2026-07-06 14:29:05 +02:00
Christiaan Arnoldus 75715088b1 fix(cli): restore Amazon Bedrock output by pinning @smithy/util-buffer-from
@smithy/util-buffer-from >=4.3.0 became a re-export shim of @smithy/core/serde.
Under the browser build condition, @smithy/core's serde exposes fromArrayBuffer
as Symbol.for("node-only"), so @smithy/util-utf8's toUtf8 throws inside the
Bedrock event-stream decoder, whose catch { break } silently ends the stream.
Every Bedrock request completed with empty output on HTTP 200.

Pin to 4.2.2 (last self-contained 4.x) so fromArrayBuffer stays a real function.
2026-07-06 14:02:57 +02:00
Mark IJbema cc418f4437 Merge pull request #11966 from Kilo-Org/mark/notification-version-headers
feat(gateway): send version headers on notification requests
2026-07-06 13:33:34 +02:00
Vishal Kumar Singh 835500b4eb docs: clarify local Ollama setup (#11652) 2026-07-06 13:04:58 +02:00
Mark IJbema 1d69a2b442 feat(gateway): send version headers on notification requests
Wire fetchKilocodeNotifications up to the shared header helpers
(getDefaultHeaders + buildKiloHeaders) so notification requests carry
User-Agent, X-KILOCODE-EDITORNAME, and org headers instead of only
Authorization/Content-Type. Also set KILOCODE_VERSION to the extension
version when spawning kilo serve so the extension version flows into the
User-Agent, letting the backend discriminate on extension version.
2026-07-06 12:33:26 +02:00
kirillk 5a60c9c0fb test(jetbrains): cover prompt focus outline 2026-07-05 23:22:15 -04:00
kirillk 819cef526d feat(jetbrains): outline focused prompt input 2026-07-05 21:26:45 -04:00
kirillk dd0a6323fb feat(jetbrains): highlight focused prompt input 2026-07-05 21:12:21 -04:00
kirillk e79f4a5582 Merge remote-tracking branch 'origin/main' into massive-fontina 2026-07-05 20:54:59 -04:00
kirillk bf41013402 fix(jetbrains): simplify prompt toolbar suppression 2026-07-05 20:46:37 -04:00
kirillk 6e388ea23b fix(jetbrains): hide prompt floating toolbar 2026-07-05 13:13:01 -04:00
kirillk 6138b102fb fix(jetbrains): address transcript review feedback 2026-07-05 12:09:33 -04:00
kirillk dafe38fbd0 fix(jetbrains): stabilize task tool body indent 2026-07-04 15:59:50 -04:00
kirillk 8361d246ee fix(jetbrains): render compaction marker without prompt chrome 2026-07-04 15:36:43 -04:00
kirillk 59baa02340 fix(jetbrains): use transcript font for prompt text 2026-07-04 14:03:44 -04:00
kirillk d14412943b fix(jetbrains): tighten task tool coverage 2026-07-04 13:39:42 -04:00
kirillk 30407a3e12 fix(jetbrains): improve prompt picker interactions 2026-07-04 12:07:00 -04:00
kirillk 6469e9c196 fix(jetbrains): make settings list action buttons fully clickable
Hit-testing for inline action cells (Connect/OAuth/Disconnect/Enable)
re-derived cell rectangles by hand, ignoring the horizontal insets the
platform SelectablePanel adds in the New UI. The click target was offset
from the drawn button, so only a small strip responded to clicks.

Read the rectangles back from the actual rendered component tree instead,
giving one source of geometry shared by the provider, agent, and MCP
settings lists.
2026-07-04 11:57:35 -04:00
kirillk eb59ad6b13 fix(jetbrains): balance shell tooltip padding 2026-07-03 22:57:40 -04:00
kirillk 66cef1b662 fix(jetbrains): increase todo checklist padding 2026-07-03 22:47:36 -04:00
kirillk f3c886b3fa fix(jetbrains): avoid blocking prompt mention expansion 2026-07-03 22:22:52 -04:00
kirillk 810c65dcdc Merge branch 'handsomely-aspen' into massive-fontina 2026-07-03 21:54:57 -04:00
kirillk 166fe23ca4 fix(jetbrains): preserve collapsed subagent views 2026-07-03 21:48:54 -04:00
kirillk c37d14da7f refactor(jetbrains): extract markdown projector 2026-07-03 20:51:50 -04:00
kirillk fde3671780 fix(jetbrains): scroll wide markdown tables instead of cropping them
Render markdown tables in their own horizontal scroll block, mirroring
the code-block pattern, so a wide table shrinks to the panel width and
scrolls horizontally instead of stretching the message and cropping
content. Derive the pane height from the rendered view's preferred size
so the table is not clipped vertically.
2026-07-03 20:11:29 -04:00
Catriel Müller 10951d68ea Merge remote-tracking branch 'origin/main' into fix/cli-cloud-fork-session-import
# Conflicts:
#	packages/opencode/src/cli/cmd/tui/thread.ts
#	packages/opencode/src/kilocode/cli/cmd/tui/thread.ts
#	packages/opencode/test/kilocode/cli/tui/thread.test.ts
2026-07-03 18:05:01 -03:00
Catriel Müller 2be834fbfc refactor(cli): extract vim prompt logic into kilocode mirror
Move the vim modal editing engine and prompt integration out of shared
upstream files and into src/kilocode/ mirrors per the Fork Isolation Rule:

- src/kilocode/cli/cmd/tui/component/prompt/vim.ts (engine, moved)
- src/kilocode/cli/cmd/tui/component/prompt/index.tsx (new mirror with
  useVim, VimModeIndicator, vimToggleCommand)
- test/kilocode/cli/cmd/tui/prompt/vim.test.ts (moved)

The shared prompt/index.tsx now calls into the mirror behind minimal
kilocode_change markers instead of inlining ~200 lines of vim logic.
2026-07-03 17:54:37 -03:00
Catriel Müller 1fc8f066fd Merge pull request #11506 from mvanhorn/fix/11480-tui-live-spent-cost
fix(cli): show live session spend in TUI sidebar during active turn
2026-07-03 16:57:00 -03:00
Catriel Müller da84f24b6d Merge pull request #11559 from IamCoder18/fix/console-profile-external-link-icons
fix(console): show external link icon on profile sidebar shortcuts
2026-07-03 16:56:02 -03:00
Catriel Müller 19e48a6baf Merge pull request #11561 from IamCoder18/trusting-property
fix(console): show real Kilo logo in navbar
2026-07-03 16:55:05 -03:00