The catalog: protocol only resolves when the package is part of the root
workspace. script/upstream is intentionally decoupled from the monorepo
so it can run during upstream merges (when the workspace may be in a
half-broken state), which means 'cd script/upstream && bun install'
failed with 'failed to resolve catalog:'. Pin to the version currently
in the root catalog.
Swap --text-strong for --text-base so the Auto-Approve tool headers
use the same CSS variable pattern as other settings pages (Providers,
Agent Behaviour, etc.).
Replace undefined --text-strong-base CSS variable (which fell back to
literal white) with the actual --text-strong token and a theme-aware
VS Code foreground fallback, so tool headers on the Auto-Approve
settings page stay readable under light themes.
Fixes#8879
Add an explicit initialDiffStyle field to the openDiffVirtual message flow so each caller declares the desired diff style up front while having `unified` diff as default to prevent regressions.
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.
Update installation tests to reference @kilocode/cli instead of
opencode-ai for npm/bun/pnpm version lookup assertions. Adjust
session schema decoding test to omit the patch field from
SummaryFileDiff, matching the kilo-specific schema shape.
Route the autocomplete model setting through getAutocompleteModel() in
settings.ts, AutocompleteServiceManager, and ChatTextAreaAutocomplete so
that missing, empty, or removed model IDs all resolve to codestral
instead of being passed through to the FIM call.
Refresh JSON Schema snapshots and adjust unit tests to reflect recent
schema modifications in the opencode tool definitions.
- Mark bash `description` field as optional and update its prefix text
- Add i18n key fields (headerKey, questionKey, labelKey, descriptionKey)
to the question tool snapshot
- Flip bash parameter test from rejecting to accepting missing description
- Remove stale blank line in snapshot file
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
Remove the hardcoded default value for `kilo-code.new.autocomplete.model` in package.json to prevent VS Code from stripping user overrides that match the schema default. Update corresponding unit tests to verify that no default is declared.
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.
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
The training grep only matched uppercase 'Resolve merge conflict', missing the
lowercase convention used by most historical upstream merges. This dropped ~70
past merges from the rerere training set on kilocode, leaving the cache mostly
empty and causing rerere to miss resolutions that involve the opencode -> kilo
rename.