mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-11 13:41:53 +00:00
User feedback: "for all tools, i'd want all their output viewing enabled to be infinite by default." Flip envOutputLines (HERMES_TUI_TOOL_OUTPUT_LINES): unset -> Infinity (was 200); a positive integer RESTORES a cap (e.g. =200); 0 stays Infinity for back-compat with the old opt-in-unlimited value; garbage -> Infinity (unrecognized = no cap asked for). The semantic is now "cap only when the user asked for one". The store's raw-result preference follows the same rule: envOutputLinesSet becomes envOutputUnlimited — whenever the cap is unlimited (the default now) and a gateway tail-capped result_text (omittedNote) arrives with the always-full raw result on the wire, the raw result wins, since an uncapped view of a tail would silently miss the head. With an explicit finite cap the gateway tail + honest omitted note are kept. Memory safety is unchanged: tool bodies mount only while EXPANDED (rows default collapsed and free their Yoga nodes on collapse/unmount), and the rolling HERMES_TUI_MAX_MESSAGES cap bounds the transcript's high-water mark. Tests: env.test.ts expectations flipped (unset/garbage -> Infinity, 0 documented as back-compat); tools.test.tsx "flag unset caps at 200" becomes "unset renders all 250 lines", plus an explicit =50 cap (+note) test and =200 restored-cap test; the store preference matrix covers unset/0 (raw wins), =50 (tail+note kept), and no-raw (tail+note, no crash). Verified live: seq 1 220 expanded renders rows 201-220 with no "+N more lines" note. |
||
|---|---|---|
| .. | ||
| scripts | ||
| src | ||
| .gitignore | ||
| .prettierrc | ||
| eslint.config.mjs | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||
| vitest.config.ts | ||