* Add Atomic Chat as a first-class local provider.
Ship the atomic-chat plugin with auto-discovery on localhost:1337, register the provider in models.dev fixtures, and document setup for VS Code and CLI.
* Remove dead code
Removed atomicChat provider mapping from legacy migration.
* Update Atomic Chat provider icon to theme-colored vector.
Replace the embedded raster icon with a currentColor SVG symbol so it matches provider icon styling and inherits UI color consistently.
* Allow optional API key for local Atomic Chat and LM Studio providers.
Load the atomic-chat plugin despite named constant exports, register local-server auth in the plugin, and let CLI and VS Code connect with an empty key on localhost.
* Gate Atomic Chat discovery behind explicit opt-in
* Update packages/plugin-atomic-chat/src/utils/should-probe-atomic-chat.ts
* Remove dead branch in atomic-chat model ref probe.
Drop the modelID check (never equals provider key) and the duplicate providerID branch.
* Fix PR CI: register atomic chat plugin and complete i18n.
Restore atomic-chat in default-plugins after main merge, add missing sidebar locale keys, and annotate shared upstream diffs.
* Format i18n locale files and ProviderConnectDialog with Prettier.
* Address PR review: docs order, narrow annotations, plugin fixes.
Reorder local-models providers per maintainer feedback; use inline kilocode_change markers in dialog-provider. Share ModelStatusCache, fix config discovery abort/timeout, throw on fetch failure, and resolve bot review warnings.
* Align dialog-provider with upstream keymap bindings after rebase.
Restore useBindings instead of useKeyboard so shared-file diff stays minimal and passes annotation checks.
* Update packages/kilo-vscode/webview-ui/src/components/settings/ProviderConnectDialog.tsx
* Deduplicate Atomic Chat /v1/models fetch on config discovery.
Use a single shared models endpoint request in enhanceConfig instead of separate health and discovery calls.
* Fix kilo-code-bot review: import provider key and log cache errors.
Export ATOMIC_CHAT_PROVIDER_KEY from local-providers for the webview, log cache warm failures, and throw on network errors in fetchModelsEndpoint.
* fix(plugin-atomic-chat): harden discovery and reduce chat toasts
Reuse auto-detect model list to avoid duplicate /v1/models calls, wire AbortSignal into fetch, replace silent catches with logging, and only surface validation errors in chat.params.
* fix(plugin-atomic-chat): refresh model cache on chat validation retries
Bypass the 15s model list cache after the first failed attempt so retryWithBackoff can observe newly loaded models.
* Update packages/plugin-atomic-chat/src/utils/index.ts
* fix(plugin-atomic-chat): repair categorizeError not_found branch
Restore return statement and map "not loaded" validation errors to not_found after bot commit broke the if block.
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
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
Allow Azure provider connections to capture resource names or endpoint URLs so GPT-5 deployments can use the native Azure path instead of generic OpenAI-compatible setup.
Mechanical follow-up to the v1.14.33 merge:
- src/server/routes/ui.ts: remove dead proxy fallback (proxy/createHash/csp were intentionally commented out by Kilo; the Effect/Promise paths still referenced them)
- src/kilocode/{plan-followup,session/prompt}.ts: pass Instance.current to Session.plan(input, instance)
- src/server/routes/instance/httpapi/handlers/session.ts: cast PromptPayload spread to PromptInput (readonly→mutable schema/runtime mismatch)
- src/plugin/index.ts: cast external @opencode-ai/plugin auth plugins through unknown to bridge to local @kilocode/plugin types
- script/build.ts: drop duplicate sourcemap key (Kilo's release-aware version wins)
- test/kilocode/indexing-{startup,worktree}.test.ts: switch from Instance.disposeAll/InstanceBootstrap-as-effect to disposeAllInstances/getBootstrapRunEffect
- test/kilocode/model-cache-org.test.ts: convert Instance.provide init from async fn to Effect
- test/kilocode/kilo-loader-auth.test.ts: drop ModelsDev.Data.reset() (no longer exists)
- test/kilocode/plan-exit-detection.test.ts, plan-followup.test.ts: pass Instance.current to Session.plan
- test/kilocode/{plan-followup,session-list}.test.ts: replace Session.list() with AppRuntime.runPromise(Session.Service.use((svc) => svc.list()))
Move the Global module from packages/opencode/src/global to packages/core/src/global
to provide a unified location for managing XDG directories and application paths.
This eliminates duplicate path definitions across packages and ensures consistent
access to data, config, cache, state, log, and bin directories throughout the codebase.
Moves effect logging, observability, runtime utilities, flags, installation
version info, and process utilities from opencode to core package. This
enables better code sharing across packages and establishes core as the
single source of truth for foundational utilities.
All internal imports updated to use @opencode-ai/core paths for consistency.