Files
kandev/apps/backend
João Salavisa f6f6fc3877 fix(agentctl): read models from configOptions fallback (#1291)
* fix(agentctl): read models/modes from configOptions fallback

claude-agent-acp v0.42 dropped the unstable `models` field from
session/new and publishes models only via `configOptions[]` with
category=model. The probe still relied on the legacy field, so
the inference-agents endpoint reported zero models and the UI
showed "Claude advertised no models."

Read the legacy fields first, then fall back to configOptions
when they are absent. Same fallback applied to modes for parity
with future agents.

* fix(agentctl): gate configOptions fallback on nil legacy field

Switch the fallback guard in `applySessionProbeFields` from
`len(out.Models) == 0` to `sessionResp.Models == nil` (same for
modes). A non-nil `Models` struct with an empty `AvailableModels`
slice is schema-valid: the legacy branch already stamps
`CurrentModelID`, and the previous guard would then fire the
configOptions fallback and overwrite it with a different source.

Adds `TestApplySessionProbeFields_LegacyEmptyModelsBlocksFallback`
covering the edge case.

---------

Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-06-07 14:36:51 +01:00
..