2.1 KiB
2.1 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| dynamic-provider-options-01 | Add model-aware capability probe | done | 1 | docs/plans/dynamic-provider-options/plan.md | docs/specs/agents/requirements/dynamic-provider-options.md |
Add model-aware capability probe
Scope
Extend the sessionless ACP utility probe so it can apply a requested model and return the provider's complete normalized configuration-option snapshot. Keep the existing no-context probe behavior unchanged.
Acceptance conditions
- A model-aware probe applies the requested model through the generic ACP session-model path and returns the full post-model config-option snapshot.
- A provider that reports the snapshot through a config-update notification is handled within a bounded wait; unsupported or incomplete responses are reported without being presented as authoritative.
- Utility tests cover response snapshots, notification fallback, model application failure, and ACP compatibility normalization.
Files
apps/backend/internal/agentctl/server/utility/types.goapps/backend/internal/agentctl/server/utility/acp_executor.goapps/backend/internal/agentctl/server/utility/model_apply_test.goapps/backend/internal/agentctl/server/utility/acp_probe_capabilities_test.goapps/backend/internal/agentctl/server/utility/acp_executor_test.goapps/backend/internal/agentctl/acpcompat/(only the shared normalization helper files that need extraction or reuse)
Dependencies and inputs
- Existing ACP probe/session initialization and
sessionmodelAPIs. - Existing
ClientCapabilityMetaand ACP dialect normalization. - The dynamic-provider-options spec and ADR.
Output contract
Expose a utility-level model-resolution request/result that the host utility manager can call without knowing provider-specific option identifiers. The result distinguishes a complete empty snapshot from an error or incomplete provider response.
Checks
cd apps/backend && go test ./internal/agentctl/server/utility ./internal/agentctl/acpcompat
Results: cd apps/backend && go test ./internal/agentctl/server/utility -count=1 — passed.