diff --git a/frontend/packages/agent/src/app.js b/frontend/packages/agent/src/app.js index 4eee5ecc..5d5b05eb 100644 --- a/frontend/packages/agent/src/app.js +++ b/frontend/packages/agent/src/app.js @@ -1584,6 +1584,22 @@ window.marked = marked; if (input.lines != null) parts.push(input.lines + 'L'); return short + (parts.length ? ' ' + parts.join(' · ') : '()'); } + case 'mcp__hyperhive__remind': { + // Surface when the reminder fires + the first line of the message. + // `delay_seconds` → human-readable "+5m"; `at_unix_timestamp` → + // "at HH:MM"; message truncated to fit. + let when = ''; + if (input.delay_seconds != null) { + const s = input.delay_seconds; + when = '+' + (s < 60 ? s + 's' : s < 3600 ? Math.round(s / 60) + 'm' + : (s / 3600).toFixed(1) + 'h'); + } else if (input.at_unix_timestamp != null) { + when = 'at ' + new Date(input.at_unix_timestamp * 1000) + .toISOString().slice(11, 16) + 'Z'; + } + const msg = String(input.message || input.file_path || '').replace(/\s+/g, ' ').trim(); + return short + (when ? ' ' + when : '') + (msg ? ' "' + trim(msg, 60) + '"' : ''); + } case 'mcp__hyperhive__request_apply_commit': return short + ' ' + (input.agent || '') + ' @ ' + (input.commit_ref || '').slice(0, 12); case 'mcp__bash__run': {