From 58708befdb67592bdeb187f9409abeaf30bd524d Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Thu, 3 Sep 2026 03:15:59 -0700 Subject: [PATCH] =?UTF-8?q?refactor(tui=5Fgateway):=20W4=20wave2=20pass=20?= =?UTF-8?q?21=20=E2=80=94=20yolo/fast=20folds?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tui_gateway/methods_config_set.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/tui_gateway/methods_config_set.py b/tui_gateway/methods_config_set.py index aa5a404120..a18d5864de 100644 --- a/tui_gateway/methods_config_set.py +++ b/tui_gateway/methods_config_set.py @@ -161,8 +161,7 @@ def _set_fast(rid, params, key, value, session): current_tier = _load_service_tier() if raw == "status": return _kv(rid, key, {"priority": "fast", None: "normal"}.get(current_tier, current_tier)) - toggled = ("normal" if current_tier == "priority" else "fast") if raw in {"", "toggle"} else None - nv = _FAST_WORDS.get(raw, toggled) + nv = _FAST_WORDS.get(raw, ("normal" if current_tier == "priority" else "fast") if raw in {"", "toggle"} else None) if nv is None: return _err(rid, 4002, f"unknown fast mode: {value}") overrides = None @@ -180,9 +179,8 @@ def _set_fast(rid, params, key, value, session): if overrides is None: return _err(rid, 4002, "fast mode is not available for this model") if session is not None: - # Session-scoped like `reasoning` (global = `--global` / Settings → Model): writing - # config.yaml here flipped fast mode for every surface. The create override survives lazy - # builds and rebuilds; "" pins normal. + # Session-scoped like `reasoning` (global = `--global` / Settings → Model): writing config.yaml + # here flipped fast mode for every surface. The create override survives rebuilds; "" pins normal. session["create_service_tier_override"] = {"fast": "priority", "normal": ""}.get(nv, nv) else: _write_config_key("agent.service_tier", nv) @@ -257,23 +255,20 @@ def _set_yolo(rid, params, key, value, session): scope = _word(params.get("scope") or "session") from tools.approval import disable_session_yolo, enable_session_yolo, is_session_yolo_enabled raw = _word(value) - - def _resolve_toggle(current: bool) -> bool: - return _BOOL_WORDS.get(raw, not current) if scope == "global": from tools.approval import _normalize_approval_mode appr = _load_cfg().get("approvals") appr = appr if isinstance(appr, dict) else {} - enable = _resolve_toggle(_normalize_approval_mode(appr.get("mode", "manual")) == "off") + enable = _BOOL_WORDS.get(raw, _normalize_approval_mode(appr.get("mode", "manual")) != "off") _write_config_key("approvals.mode", "off" if enable else "manual") # binary: no "smart" restore _emit_all_session_info() # reflect the flip in every live indicator elif session: skey = session["session_key"] - enable = _resolve_toggle(is_session_yolo_enabled(skey)) + enable = _BOOL_WORDS.get(raw, not is_session_yolo_enabled(skey)) (enable_session_yolo if enable else disable_session_yolo)(skey) _emit_session_info(params.get("session_id", ""), session) else: - enable = _resolve_toggle(is_truthy_value(os.environ.get("HERMES_YOLO_MODE"))) + enable = _BOOL_WORDS.get(raw, not is_truthy_value(os.environ.get("HERMES_YOLO_MODE"))) if enable: os.environ["HERMES_YOLO_MODE"] = "1" else: