Remove accidentally committed Gradle build cache files from the
JetBrains package, add the .gradle directory to .gitignore, and
update user-facing strings from "opencode.json" to "kilo.json".
Use providerID variable instead of provider.id in dialog-provider to
fix incorrect property access after destructuring. Update cancel method
in TaskPromptOps stubs to return Effect.void matching the expected
interface. Remove obsolete workspace-restore test file and add missing
fixture import.
Reformat multiline arrays, JSX props, CSS transitions, and test
indentation to comply with the project's prettier configuration.
Also reorder auto-generated SDK type imports alphabetically and
relocate type definitions to match updated openapi.json output.
Replace legacy "opencode" references with "kilo" in CLI output,
API metadata, SDK error messages, and documentation. Add automatic
labels to GitHub issue templates, expand triage agent with jetbrains
and extension teams, and update the github-triage tool to target the
Kilo-Org/kilocode repository.
Extract `disposeAllInstancesAfterProviderAuthCallback` into a dedicated
module and invoke it from the provider OAuth callback handler instead of
coupling it to the ProviderAuth layer. This removes the InstanceStore
dependency from `ProviderAuth.layer`.
Additional changes:
- Add `--cloud-fork` CLI option to the run command for fetching sessions
from cloud and continuing locally
- Replace the Zod-bridged `Schema.Any` indexing config with a native
Effect `IndexingSchema` definition in kilo-indexing, propagating typed
config through the SDK OpenAPI spec
- Use `optionalOmitUndefined` for `recommendedIndex` to emit clean JSON
- Fix `request.source.signal` access by guarding with `instanceof Request`
- Replace `Effect.catchAllCause` with `Effect.catchCause` in telemetry
- Migrate tests from `BashTool` to `ShellTool`, extract `TestConfig`
fixture, and convert stats-subagent-cost tests to use `testEffect`
- Reorder SDK event union members to match updated OpenAPI schema
- Export `aggregateSessionStats` for Kilo regression test coverage
- Widen `setViewedSessions` input to accept readonly arrays
Rename the `InstanceStore` module to `InstanceRuntime` across all consumer
sites to better reflect its role as a runtime lifecycle manager rather than
a persistence layer. Update the kilo-gateway route dependency key from
`InstanceStore` to `Instances` for clarity.
Additional changes:
- Replace `Schema.Number` with `Schema.Finite` for `recommendedIndex` in
both the provider and models schemas
- Inject `InstanceStore.Service` into the ProviderAuth layer and use its
`disposeAll()` method instead of escaping to a raw promise
- Remove obsolete `getBootstrapRunEffect` usage from indexing startup tests
- Add missing `warnings` method to the test config fixture
Replaces hardcoded opencode.ai/anomalyco URLs in production code paths:
LLM provider HTTP-Referer/X-Title attribution headers, the TUI error
dialog's bug-report URL, and the github-remote parser test fixtures.
Extends check-forbidden-strings with patterns for these leaks (with a
narrow allowlist for fork-lineage docs and upstream-merge tooling).
Reformat code with consistent line breaks, trailing commas, semicolons,
and line-length compliance. No logic changes — purely whitespace,
indentation, and punctuation adjustments driven by the project formatter.
- Break long function signatures and conditionals across multiple lines
- Remove trailing blank lines and stray leading newlines
- Replace string-expression JSX whitespace with literal spaces
- Convert quoted object keys to unquoted where valid
- Remove erroneous shell command prefix from openapi.json
- Deduplicate SessionNetworkWait1 schema and simplify Finite unions to
plain number type in OpenAPI spec
Replace hardcoded paddingTop approximation with justifyContent center
on the dialog overlay so dialogs are properly centered regardless of
terminal height.
Move Kilo-specific URL normalization logic out of shared upstream files
and into a mirror file under src/kilocode/, with kilocode_change markers
at each call site per the fork merge minimization convention.
Prevent homograph attacks where visually identical Unicode characters
(e.g. Cyrillic а vs Latin a) could trick users into approving malicious
URLs in bash and webfetch permission prompts.
This flag currently does nothing. Presumably, it was recently added by
OpenCode upstream, but since Kilo already has the `--auto` flag, the
code that would handle `--dangerously-skip-permissions` is wired into
`--auto` instead.
Removing this useless flag avoids confusion for users.
Addresses review feedback: Kilo-specific additions belong in Kilo-owned
packages so the diff against upstream OpenCode stays minimal.
- Icons: move thumbs-up/-down/-up-filled/-down-filled paths from
packages/ui/src/components/icon.tsx into packages/kilo-ui's icon
registry. Extend the kilo-ui Icon registry to carry per-icon viewBox
(Heroicons thumbs are 20x20; existing Kilo icons are 16x16). Replace
packages/kilo-ui/src/components/icon-button.tsx (previously a re-export
of @opencode-ai/ui/icon-button) with a local implementation that
uses the kilo-ui Icon so the new names resolve.
- i18n: move the three feedback strings (helpful, notHelpful,
clearRating) from each of 19 packages/ui/src/i18n/<locale>.ts files
into the corresponding packages/kilo-i18n/src/<locale>.ts. The
webview's language.tsx already merges kilo-i18n on top of upstream,
so the runtime keys remain available.
- TUI: extract submitFeedback from
packages/opencode/src/cli/cmd/tui/routes/session/index.tsx into a
new Kilo-owned helper at
packages/opencode/src/kilocode/cli/cmd/tui/feedback.ts. The session
route now imports and invokes it, passing { toast, session, messages }.
Also tightens the Kilo Gateway gate from startsWith("kilo") to
=== "kilo" to match the equivalent fix in the webview.
Adds thumbs up/down buttons next to the copy button on every assistant
message in the VS Code sidebar, and <leader>+/<leader>- keybinds in the
TUI. UI state is in-memory only — ratings reset on reload / session
switch. Persistence can be added later without changing the telemetry
contract.
Events are sent to PostHog via the existing telemetry pipeline. For
Kilo Gateway turns the payload includes session and message IDs so
feedback can be correlated against gateway logs; for direct providers
those IDs are omitted since we cannot correlate them to upstream data.