diff --git a/packages/agent/src/server/agent-server.test.ts b/packages/agent/src/server/agent-server.test.ts index 9cbcdb8506..5d73535ab2 100644 --- a/packages/agent/src/server/agent-server.test.ts +++ b/packages/agent/src/server/agent-server.test.ts @@ -423,7 +423,11 @@ describe("AgentServer HTTP Mode", () => { const body = await response.json(); expect(response.status).toBe(200); - expect(body).toEqual({ status: "ok", hasSession: true }); + expect(body).toEqual({ + status: "ok", + hasSession: true, + bootMs: expect.any(Number), + }); }, 30000); }); diff --git a/packages/agent/src/server/agent-server.ts b/packages/agent/src/server/agent-server.ts index 0c30dc5b14..c55c3f50bb 100644 --- a/packages/agent/src/server/agent-server.ts +++ b/packages/agent/src/server/agent-server.ts @@ -249,6 +249,7 @@ function getTaskRunStateString( export class AgentServer { private config: AgentServerConfig; + private sessionReadyBootMs?: number; private logger: Logger; private server: ServerType | null = null; private session: ActiveSession | null = null; @@ -364,7 +365,11 @@ export class AgentServer { const app = new Hono(); app.get("/health", (c) => { - return c.json({ status: "ok", hasSession: !!this.session }); + return c.json({ + status: "ok", + hasSession: !!this.session, + bootMs: this.sessionReadyBootMs, + }); }); app.get("/events", async (c) => { @@ -558,6 +563,7 @@ export class AgentServer { () => { this.logger.debug( `HTTP server listening on port ${this.config.port}`, + { bootMs: Math.round(process.uptime() * 1000) }, ); resolve(); }, @@ -1225,7 +1231,10 @@ export class AgentServer { }, }); - this.logger.debug("Session initialized successfully"); + this.sessionReadyBootMs = Math.round(process.uptime() * 1000); + this.logger.debug("Session initialized successfully", { + bootMs: this.sessionReadyBootMs, + }); this.logger.debug( `Agent version: ${this.config.version ?? packageJson.version}`, );