From 0a9f9a4fa643a9824c2fb0625197d623a295c58c Mon Sep 17 00:00:00 2001 From: iris Date: Sat, 4 Jul 2026 11:53:13 +0200 Subject: [PATCH] feat(agent-term): complete tool-icon and fmtToolUse coverage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Several MCP tools appeared with the generic wrench icon (๐Ÿ”ง) making them hard to identify in the scrollback. fmtToolUse also lacked specific formatters for some frequently-used tools, falling through to fmtArgsGeneric. Icons added: - ack_until โ†’ โœ… (mark-as-read semantics) - get_logs โ†’ ๐Ÿ“œ (log viewer) - get_host_journal โ†’ ๐Ÿ“œ (journal reader) fmtToolUse cases added: - ack_until โ†’ "ack_until* โ‰คN" (message-id bound) - get_logs โ†’ "get_logs* [NL]" - get_host_journal โ†’ "get_host_journal* [/grep/] [NL]" - restart/start/update โ†’ "restart* " etc. (previously used fmtArgsGeneric; now match kill's pattern) Closes #2188. --- frontend/packages/agent/src/app.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/frontend/packages/agent/src/app.js b/frontend/packages/agent/src/app.js index 013fe80b..4eee5ecc 100644 --- a/frontend/packages/agent/src/app.js +++ b/frontend/packages/agent/src/app.js @@ -1514,6 +1514,7 @@ window.marked = marked; 'mcp__hyperhive__set_status': '๐Ÿท๏ธ', 'mcp__hyperhive__get_loose_ends': '๐Ÿชข', 'mcp__hyperhive__cancel_loose_end': 'โœ‚๏ธ', + 'mcp__hyperhive__ack_until': 'โœ…', 'mcp__hyperhive__get_agent_meta': 'โ„น๏ธ', 'mcp__hyperhive__request_next_turn': 'โฉ', 'mcp__hyperhive__restart': 'โ†ป', @@ -1521,6 +1522,8 @@ window.marked = marked; 'mcp__hyperhive__start': 'โ–ถ๏ธ', 'mcp__hyperhive__update': '๐Ÿ”„', 'mcp__hyperhive__list_containers': '๐Ÿ“‹', + 'mcp__hyperhive__get_logs': '๐Ÿ“œ', + 'mcp__hyperhive__get_host_journal': '๐Ÿ“œ', Read: '๐Ÿ“–', Write: '๐Ÿ’พ', Edit: 'โœ๏ธ', Glob: '๐Ÿ”', Grep: '๐Ÿ”', }; function toolIcon(name) { @@ -1565,6 +1568,22 @@ window.marked = marked; return short + (parts.length ? ' ' + parts.join(' ยท ') : '()'); } case 'mcp__hyperhive__kill': return short + ' ' + (input.name || ''); + case 'mcp__hyperhive__restart': return short + ' ' + (input.name || ''); + case 'mcp__hyperhive__start': return short + ' ' + (input.name || ''); + case 'mcp__hyperhive__update': return short + ' ' + (input.name || ''); + case 'mcp__hyperhive__ack_until': + return short + ' โ‰ค' + (input.up_to != null ? input.up_to : '?'); + case 'mcp__hyperhive__get_logs': + return short + ' ' + (input.agent || '?') + + (input.lines != null ? ' ยท ' + input.lines + 'L' : ''); + case 'mcp__hyperhive__get_host_journal': { + const parts = []; + if (input.container) parts.push(input.container); + else if (input.unit) parts.push(input.unit); + if (input.grep) parts.push('/' + input.grep + '/'); + if (input.lines != null) parts.push(input.lines + 'L'); + return short + (parts.length ? ' ' + parts.join(' ยท ') : '()'); + } case 'mcp__hyperhive__request_apply_commit': return short + ' ' + (input.agent || '') + ' @ ' + (input.commit_ref || '').slice(0, 12); case 'mcp__bash__run': {