Skip to content

Commit cd3a860

Browse files
committed
style(health): remove any cast with HealthResponse interface
Define HealthResponse interface to properly type health response object, including optional responseTime field. Eliminates no-explicit-any warning by avoiding cast.
1 parent 5d26d40 commit cd3a860

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

‎src/web/server/handlers/health.ts‎

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,25 @@ import moment from 'moment'
22
import { manager } from '../../../plugin/pty/manager.ts'
33
import { JsonResponse } from './responses.ts'
44

5-
export function handleHealth(server: Bun.Server<any>) {
5+
interface HealthResponse {
6+
status: 'healthy'
7+
timestamp: string
8+
uptime: number
9+
sessions: { total: number; active: number }
10+
websocket: { connections: number }
11+
memory?: { rss: number; heapUsed: number; heapTotal: number }
12+
responseTime?: number
13+
}
14+
15+
export function handleHealth(server: Bun.Server<undefined>) {
616
const sessions = manager.list()
717
const activeSessions = sessions.filter((s) => s.status === 'running').length
818
const totalSessions = sessions.length
919

1020
// Calculate response time (rough approximation)
1121
const startTime = Date.now()
1222

13-
const healthResponse = {
23+
const healthResponse: HealthResponse = {
1424
status: 'healthy',
1525
timestamp: moment().toISOString(true),
1626
uptime: process.uptime(),
@@ -32,7 +42,7 @@ export function handleHealth(server: Bun.Server<any>) {
3242

3343
// Add response time
3444
const responseTime = Date.now() - startTime
35-
;(healthResponse as any).responseTime = responseTime
45+
healthResponse.responseTime = responseTime
3646

3747
return new JsonResponse(healthResponse)
3848
}

0 commit comments

Comments
 (0)