Watch
0
0
Fork
You've already forked hyperhive
0

hive-runtime, hive-agent: model/effort picker for ACP agents from configOptions

An ACP agent's model and effort pickers now list what its session offers
(its `model` and `thought_level` config options) instead of the claude
model list and EFFORT_LEVELS. A pick goes through the same Bus::set_model /
Bus::set_effort -> Config.model / Config.effort path as on claude; before
each prompt the ACP runtime sets it with `session/set_config_option`, model
first, and only when the session offers that value. Options are re-read
from the set response and from `config_option_update`, so the effort picker
disappears when the chosen model offers no effort levels, and is hidden
while a newly picked model waits for the next turn.

The session's options reach the web UI through a `Choices` handle from a
new `Runtime::choices`, registered on the bus the way `canceller` is.
/api/model and /api/effort accept only offered values on ACP. The claude
path is unchanged.

Refs #4391
This commit is contained in:
atlas 2026-09-30 07:59:27 +02:00
commit f189724a4c
13 changed files with 559 additions and 44 deletions

View file

@ -82,8 +82,8 @@
//! session id is kept in a per-name file under the harness dir
//! (`acp_session_file`): the agent process lives for one run, `interrupt`
//! sends `session/cancel` rather than a signal, a failed turn is `Failed`
//! and never `Killed`, and `model`/`effort` are not applied — the ACP agent
//! runs whatever model it is configured with.
//! and never `Killed`, and `model`/`effort` apply only as values the ACP
//! session offers.
use std::collections::HashMap;
use std::os::unix::process::ExitStatusExt as _;