feat(reactions): add tool_display config for tool call visibility#658
Merged
feat(reactions): add tool_display config for tool call visibility#658
Conversation
ac2150a to
8c953e5
Compare
Add a `tool_display` configuration option under `[reactions]` to control how tool calls are rendered in chat messages. Three modes: - `full`: show complete tool title including arguments (original behavior) - `compact`: show only a count summary, e.g. `✅ 3 · 🔧 1 tool(s)` (default) - `none`: hide tool lines entirely, only show final response Config example: [reactions] tool_display = "compact" # full | compact | none Changes: - src/config.rs: add ToolDisplay enum (Full/Compact/None, default Compact) with serde deserialization, add tool_display field to ReactionsConfig - src/adapter.rs: update compose_display() — Compact always renders a count summary line, Full retains per-entry display with threshold-based collapse, None hides tool lines entirely. Add 4 unit tests covering all three modes. - charts/openab: add toolDisplay to configmap.yaml [reactions] with enum validation, add documentation to values.yaml Closes #216 Supersedes #263, #296
8c953e5 to
e83c378
Compare
thepagent
approved these changes
Apr 30, 2026
thepagent
pushed a commit
that referenced
this pull request
Apr 30, 2026
* fix(reactions): restore tool_display default to full (BC fix) PR #658 changed the default from full to compact, which is a breaking change for existing deployments — users who never set tool_display would silently get different behavior after upgrading. Restore the original default (full) so upgrades are non-breaking. Users who want compact can opt in explicitly. Ref: #658 * docs: update config-reference and tool-display to reflect full as default Addresses review feedback from 擺渡法師 — these two docs still referenced compact as the default after the config.rs change. - docs/config-reference.md: update default column to "full" - docs/tool-display.md: reorder modes (full first), fix examples, replace "Default changed" note with accurate description * test: add regression guard for ToolDisplay default Ensures ToolDisplay::default() == Full so any future change to the default will break CI and require explicit acknowledgment. Suggested-by: 擺渡法師 --------- Co-authored-by: chaodu-agent <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a
tool_displayconfiguration option under[reactions]to control how tool calls are rendered in chat messages.Closes #216
Supersedes #263, #296
Discord Discussion URL: https://discord.com/channels/1486155598964719616/1499505047845736458
Three modes
full✅ Running: curl -s "https://..." | python3 ...compact✅ 3 · 🔧 1 tool(s)noneConfig example
Helm values
Changes
src/config.rs: AddToolDisplayenum (Full/Compact/None, defaultCompact) with serde deserialization, addtool_displayfield toReactionsConfigsrc/adapter.rs: Updatecompose_display()to acceptToolDisplayparameter —Compactalways renders a count summary line,Fullretains per-entry display with threshold-based collapse,Nonehides tool lines entirely. Add 4 unit tests.charts/openab/templates/configmap.yaml: AddtoolDisplayto[reactions]section with enum validation (full/compact/none)charts/openab/values.yaml: AddtoolDisplaydocumentation to all reactions sectionsContext
compose_display()changes, layering the configurable display modes on top of the existing streaming collapse behaviorTesting
rustfmt --edition 2021 --checkpasses on modified filescargo test— all 185 tests pass, including 4 newcompose_displaytests covering Full, Compact (count summary + running count), and None modesallowBotMessagesvalidation pattern