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
Move the IndexingStatus Effect schema out of the KiloIndexing namespace into
a dedicated `indexing-event.ts` module so it can be shared between the bus
event system and the HttpApi layer without circular imports.
Additionally fix several OpenAPI spec inconsistencies:
- Inline PermissionReplyBody into the endpoint payload schema
- Make `organizationId` nullable in the organization set endpoint
- Replace opaque string response for `/kilo/fim` with a structured
streaming completion schema
- Register `indexing.status` as a typed SSE event in the global event union
- Add `matchLegacyKiloOpenApi` post-processor for backward-compatible
nullable fields and FIM response shape
- Relocate Kilo-specific bridge tests to `test/kilocode/server/` and trim
duplicated assertions from the core bridge test file
Replace direct `Instance.provide` usage with `WithInstance.provide` across
source modules and test files to decouple runtime context provisioning
from the core Instance singleton.
- Update kilo-sessions, remote-sender, roll-call, and plan-followup source
- Remove unused `Instance` imports where only `WithInstance` is needed
- Drop unnecessary `init` param from indexing-worktree test calls
- Add missing `WithInstance` import in fixture-dependent test files
Introduce several new Effect HttpApi endpoints across the kilo-gateway
and experimental API groups to support agent manager workflows and
enhanced gateway proxying.
- Add worktree diff endpoints (diff, diff/summary, diff/file) for
comparing worktree changes against a base branch
- Add FIM completion proxy endpoint with streaming SSE response and
timeout handling
- Add audio transcriptions proxy endpoint forwarding to Kilo Gateway
- Add organization modes endpoint to fetch custom modes config
- Add session/viewed endpoint to track which sessions the user has open
- Extend session list query with projectID and worktrees parameters
- Register all new routes in Hono instance router
- Regenerate SDK types and OpenAPI spec
Move inline cloud-sessions fetch logic from Hono route handler into a
reusable getCloudSessions function in handlers.ts, and introduce new
Effect HttpApi endpoints for fetching and importing individual cloud
sessions.
- Extract getCloudSessions handler from routes.ts inline implementation
- Export fetchCloudSession, fetchCloudSessionForImport, importSessionToDb
from kilo-gateway package
- Add cloudSession (GET /kilo/cloud/session/:id) endpoint for previewing
remote session data
- Add cloudSessionImport (POST /kilo/cloud/session/import) endpoint to
download and persist cloud sessions locally
- Define CloudSession, CloudSessionData, CloudMessage schemas in the
kilo-gateway API group
- Change claw status error response from 500 InternalServerError to
503 ServiceUnavailable
- Register new cloud routes in instance router
- Add test coverage for route disambiguation between import and :id paths
- Regenerate SDK types and OpenAPI spec
Extract shared handler logic from Hono routes into reusable functions in
kilo-gateway/server/handlers.ts and wire up new Effect HttpApi endpoints
for profile, notifications, organization switching, claw status, and
claw chat credentials.
- Add handlers.ts with pure business logic (getProfile, getNotifications,
setOrganization, getClawStatus, getClawChatCredentials)
- Define KiloGatewayApi group with typed schemas for all endpoints
- Implement Effect-based handler layer in httpapi/handlers/kilo-gateway.ts
- Register kilo gateway routes in instance router and HttpApi composition
- Add config/warnings endpoint to config group and handler
- Regenerate SDK types and client methods for new endpoints
- Update OpenAPI spec with /kilo/* and /config/warnings paths
- Export new constants (KILO_CHAT_URL, KILO_EVENT_SERVICE_URL) and
handler utilities from kilo-gateway package index
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
Introduce a structured Effect HttpApi surface for all Kilo-specific
endpoints, replacing inline Hono handler logic with declarative group
definitions, typed schemas, and composable handler layers.
Key changes:
- Add HttpApi group and handler modules for commit-message, enhance-prompt,
indexing, kilocode, network, remote, session-import, suggestion, and
telemetry
- Extract allow-everything permission logic into a reusable Effect function
- Register all Kilo HttpApi groups in InstanceHttpApi and wire route
forwarding in the Hono instance router
- Export Suggestion.RequestSchema and annotate schemas with identifiers
- Use NonNegativeInt for indexing status fields and Schema.Finite for
network wait timestamps
- Add httpapi-bridge test asserting parity between Hono and Effect specs
for all 22 Kilo overlay routes
- Regenerate SDK types and openapi.json to reflect the new endpoints
aria-hidden only hides from screen readers; pointer-events: none only
blocks the mouse. Tab focus could still traverse into the hidden
sidebar's worktree buttons and session items. inert handles all three
at once: removes from the a11y tree, blocks pointer events, and prevents
keyboard focus.
Adds a toggle button left of the active session/tab title that collapses
the worktrees & sessions sidebar. The collapsed state is persisted to
.kilo/agent-manager.json, restored on panel reload and VS Code restart,
and auto-expands when the user creates a new session or worktree so the
new entry is visible. The first paint after restart skips the width
animation so the panel never flashes from open to closed.