Description
When display.platforms.feishu.tool_progress is enabled, tool progress bubbles on Feishu show a preview of the tool output. However, tools with short structured outputs (like fact_store returning {"fact_id": 136, "status": "added"}) get truncated to just the tool name:
⚙️ fact_store... — shows nothing useful
- vs
🧠 memory: "-memory: "some content"" — shows meaningful context
The same truncation length is applied uniformly, but short JSON outputs lose all information value while longer outputs still convey useful snippets.
Expected Behavior
Tool progress bubbles should show at minimum the tool name + a brief summary that is always informative, even for short outputs:
- For tools returning JSON with
"status" fields: show the status
- For tools returning short results: show at least the first meaningful line or key-value pair
- Consider a minimum display length that guarantees the bubble always shows something beyond the tool name
Current Behavior
fact_store calls display as ⚙️ fact_store... with zero context, indistinguishable from a pending/loading state.
Affected Tools
Any tool with compact JSON output: fact_store, fact_feedback, or similar structured-data tools.
Environment
- Platform: Feishu
- Gateway mode
Suggested Approach
Option A: Smart truncation — detect if output is JSON and extract status/summary fields for the preview
Option B: Minimum preview length — guarantee at least N meaningful chars beyond the tool name
Option C: Tool-specific display hints — allow tools to declare a progress_summary in their output for gateway display
Description
When
display.platforms.feishu.tool_progressis enabled, tool progress bubbles on Feishu show a preview of the tool output. However, tools with short structured outputs (likefact_storereturning{"fact_id": 136, "status": "added"}) get truncated to just the tool name:⚙️ fact_store...— shows nothing useful🧠 memory: "-memory: "some content""— shows meaningful contextThe same truncation length is applied uniformly, but short JSON outputs lose all information value while longer outputs still convey useful snippets.
Expected Behavior
Tool progress bubbles should show at minimum the tool name + a brief summary that is always informative, even for short outputs:
"status"fields: show the statusCurrent Behavior
fact_storecalls display as⚙️ fact_store...with zero context, indistinguishable from a pending/loading state.Affected Tools
Any tool with compact JSON output:
fact_store,fact_feedback, or similar structured-data tools.Environment
Suggested Approach
Option A: Smart truncation — detect if output is JSON and extract status/summary fields for the preview
Option B: Minimum preview length — guarantee at least N meaningful chars beyond the tool name
Option C: Tool-specific display hints — allow tools to declare a
progress_summaryin their output for gateway display