From 153ea8e1abd9499937ac66b0d203db4f4248bfc8 Mon Sep 17 00:00:00 2001 From: Volodymyr Vreshch Date: Sun, 29 Mar 2026 16:38:47 +0200 Subject: [PATCH] feat: show current and latest version in `agentage status` --- src/commands/status.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/commands/status.ts b/src/commands/status.ts index eb184e5..3c9191a 100644 --- a/src/commands/status.ts +++ b/src/commands/status.ts @@ -5,6 +5,7 @@ import { ensureDaemon } from '../utils/ensure-daemon.js'; import { get } from '../utils/daemon-client.js'; import { getDaemonPid } from '../daemon/daemon.js'; import { loadConfig, saveConfig } from '../daemon/config.js'; +import { checkForUpdateSafe } from '../utils/update-checker.js'; interface HealthResponse { status: string; @@ -35,9 +36,12 @@ export const registerStatus = (program: Command): void => { } await ensureDaemon(); - const health = await get('/api/health'); - const agents = await get('/api/agents'); - const runs = await get('/api/runs'); + const [health, agents, runs, updateCheck] = await Promise.all([ + get('/api/health'), + get('/api/agents'), + get('/api/runs'), + checkForUpdateSafe(), + ]); const pid = getDaemonPid(); const config = loadConfig(); const dirs = config.discovery.dirs; @@ -47,6 +51,11 @@ export const registerStatus = (program: Command): void => { JSON.stringify( { daemon: { status: 'running', pid, port: config.daemon.port }, + version: { + current: health.version, + latest: updateCheck?.latestVersion ?? null, + updateAvailable: updateCheck?.updateAvailable ?? false, + }, uptime: health.uptime, hub: { connected: health.hubConnected, @@ -70,6 +79,10 @@ export const registerStatus = (program: Command): void => { const activeRuns = runs.length; console.log(`Daemon: ${chalk.green('running')} (PID ${pid}, port 4243)`); + const versionLine = updateCheck?.updateAvailable + ? `${health.version} ${chalk.yellow(`→ ${updateCheck.latestVersion} available`)}` + : health.version; + console.log(`Version: ${versionLine}`); console.log(`Uptime: ${uptime}`); if (health.hubConnected) {