mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-07-15 12:10:19 +00:00
20d258d552
* fix(reasoning): stop date-stamped Claude 3.0 ids from reading reasoning-capable _candidate_supports_reasoning captured a trailing date stamp as the minor version so bare date-stamped Claude 3.0 ids like claude-3-opus-20240229 satisfied the major==3 and minor>=7 gate and wrongly surfaced reasoning-effort controls. Cap the minor group to 1-2 digits with a (?!\d) guard so the date stamp is not read as a minor version -- the same date-stamp defense _is_pre_adaptive_anthropic already uses. Claude 3.0/3.5 now correctly report no reasoning support; 3.7+ and 4.x (incl. date-stamped builds) are unaffected. * test(reasoning): cover date-stamped Claude 3.0 not reasoning-capable Locks the heuristic so claude-3-opus-20240229 (and sibling date-stamped 3.0 ids) report no reasoning support while 3.7+/4.x stay capable. * fix(session): classify ACP adapter sessions into the CLI sidebar family Gateway ACP adapter sessions (source='acp' in state.db — Zed, external device bridges like a Rabbit R1) normalised to session_source 'other', which fell through BOTH sidebar buckets: sidebar_source=webui skips the state.db projection entirely (and ACP rows have no WebUI sidecar), while sidebar_source=cli keeps only CLI-classified rows. Result: ACP conversations were invisible and could never be clicked/imported. Classify 'acp' as a CLI-family source, mirroring 'tui' (a local interactive agent client): normalize_agent_session_source maps it to session_source 'cli' with label 'ACP', is_cli_session_row recognises the raw source, is_cli_session_row_visible keeps ended/untitled ACP rows visible (they are always user-driven), and frontend _isCliSession accepts raw === 'acp'. Zero-message ACP connect/reconnect stubs stay hidden via the existing message-count guard. Claim policy is untouched: ACP stays claimable like CLI/TUI per the documented 'future local agent sources' allowance in _is_claimable_cli_source. Rollback: revert this commit (pre-change file copies also in ~/.hermes/backups/acp-sidebar-fix-20260711/), then restart WebUI. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(session): require a user turn before surfacing ACP rows An ended ACP connection can record only assistant/tool/system messages (replayed or aborted turn), which the blanket TUI-style visibility exception would surface despite not being user-driven. Gate the ACP branch on _count_user_turns(row) > 0, per Greptile review on #5939. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Release exp-v0.52.40: ACP sessions in sidebar (#5939) + date-stamped Claude 3.0 reasoning-control fix (#5934) --------- Co-authored-by: 黄云龙 <76432572+nankingjing@users.noreply.github.com> Co-authored-by: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: nesquena-hermes <agent@nesquena-hermes>