openapi-generator is already at the latest version (7.21.0).
kotlinx-serialization 1.9.0+ requires Kotlin 2.2.0, so 1.8.1 is the
correct ceiling for our Kotlin 2.1.20 toolchain.
health() was hardcoding healthy=true instead of forwarding the server's
response. fetchProfile() was catching all exceptions as NOT_LOGGED_IN,
silently hiding 500s, timeouts, and deserialization failures. Now only
401 is treated as not-logged-in; other failures surface as Error state
with a profile LoadError.
Extract CliServer interface and KiloLog abstraction to decouple backend
classes from IntelliJ platform APIs, enabling tests that run as plain
JVM/JUnit without the IDE test framework. Includes a raw-socket mock
HTTP+SSE server, 41 tests covering connection lifecycle, data loading,
retry logic, serialization roundtrips, and HTTP client configuration.
Rename agent identity from "OpenCode" to "Kilo" in the kimi system
prompt and delete the large models-api.json test fixture file that is
no longer needed.
* fix: pass resourceName to Azure provider from env or config
The azure custom loader was returning empty options, causing the
@ai-sdk/azure SDK to fail with 'Azure OpenAI resource name setting is
missing' when AZURE_RESOURCE_NAME is set in the environment.
Read resourceName from provider config options, AZURE_RESOURCE_NAME, or
AZURE_OPENAI_RESOURCE_NAME env vars (in that order of precedence) and
pass it explicitly to the SDK options, consistent with how
azure-cognitive-services handles its resource name.
Fixes#8273
* fix: also support baseURL for azure provider to avoid resourceName requirement
Users with a full endpoint URL (e.g. https://resource.openai.azure.com/openai/v1)
can now set baseURL in provider options or AZURE_OPENAI_ENDPOINT env var.
Per @ai-sdk/azure docs, baseURL takes precedence over resourceName and makes
it optional, fixing the 'resource name setting is missing' error for both
configuration styles.
* fix: add xhigh reasoning effort to Azure provider for GPT-5.4+
Azure variant logic was missing xhigh even though @ai-sdk/openai adds it
for models with release_date >= 2025-12-04. Azure GPT-5.4 now exposes
the same xhigh effort level as OpenAI/Kilo Gateway.
* fix(cli): annotate Azure reasoning changes
---------
Co-authored-by: marius-kilocode <marius@kilocode.ai>
Propagate recommendedIndex, prompt, isFree, and ai_sdk_provider
properties when merging model configurations, and simplify the
changelog generation script.
Cover both the few-subagents case (all shown individually in reverse
order) and the many-subagents case (older sessions aggregated into a
summary line). This commit can be cherry-picked independently.
Show the most recent subsessions on top in the cost tooltip and
aggregate older entries into a summary line when there are more than 8
child sessions, keeping the tooltip readable with many subagents.
Fixes#8787
The api and npm fields are internal/advanced and not needed for typical
custom provider setup — remove them to keep the docs focused. Clarify
that name and limit are recommended (not required) since the schema
accepts partial models, but note the defaults to 0 will limit context
management.
The api field is a URL (fallback base URL), not a protocol identifier like
"openai". Remove it from the example since options.baseURL takes priority,
correct the field description, and document the npm field which controls
SDK/protocol selection.
Remove box-drawing section comments from build scripts, task classes,
and KiloBackendAppService. Simplify build-tasks plugin ID and fix
circular property evaluation in CheckCliTask configuration.
Extract all custom Gradle task classes (FixGeneratedApiTask,
PrepareLocalCliTask, CheckCliTask) into a build-tasks/ composite build
exposed via includeBuild. This keeps backend/build.gradle.kts purely
declarative and co-locates build logic in its own compilable module.
Upgrade openapi-generator 7.12.0 → 7.21.0 and switch the generated API
client serialization library from Moshi to kotlinx.serialization to unify
with the RPC DTOs in shared/ which already use kotlinx.
- Extract PrepareLocalCliTask to buildSrc/ to fix Gradle configuration
cache error (non-static inner class)
- Remove moshi/moshi-kotlin deps, add kotlinx-serialization-json
- Map bare number types to kotlin.Double (avoids BigDecimal + @Contextual)
- Rewrite fixGeneratedApi task for 7 kotlinx codegen bugs: boolean const
enums, double-parens on HashMap classes, private Double constructor,
missing @Contextual on Any, nullable OkHttp body, AnySerializer for
dynamic JSON, and empty anyOf wrapper classes replaced with JsonElement
Add findBun() to build.gradle.kts to probe common install locations
(/opt/homebrew/bin, ~/.bun/bin, etc.) so localCli task works even
when Gradle daemon's PATH doesn't include bun.
Fix Config.model and Config.small_model deserialization: the spec
defines these as anyOf[string, null] but codegen produced empty wrapper
classes. Extend fixGeneratedApi to delete ConfigModel/ConfigSmallModel
and replace field types with kotlin.String?.
Add response body logging on fetch failures for easier debugging.
Introduce KiloAppState lifecycle: Disconnected → Connecting → Loading →
Ready → Error. Config and notifications are required (retried 3×),
profile 401 is treated as not-logged-in (not an error).
Each failed fetch captures HTTP status code and error detail from
ClientException/ServerException. The tool window displays granular
loading progress per resource and detailed error information including
HTTP status and response messages.