@@ -2,6 +2,7 @@ import { Hono } from "hono"
22import { cors } from "hono/cors"
33import { logger } from "hono/logger"
44
5+ import { state } from "./lib/state"
56import { completionRoutes } from "./routes/chat-completions/route"
67import { embeddingRoutes } from "./routes/embeddings/route"
78import { messageRoutes } from "./routes/messages/route"
@@ -10,12 +11,40 @@ import { responsesRoutes } from "./routes/responses/route"
1011import { tokenRoute } from "./routes/token/route"
1112import { usageRoute } from "./routes/usage/route"
1213
14+ function formatUptime ( milliseconds : number ) : string {
15+ const seconds = Math . floor ( milliseconds / 1000 )
16+ const minutes = Math . floor ( seconds / 60 )
17+ const hours = Math . floor ( minutes / 60 )
18+ const days = Math . floor ( hours / 24 )
19+
20+ if ( days > 0 ) {
21+ const remainingHours = hours % 24
22+ return `${ days } d ${ remainingHours } h`
23+ }
24+ if ( hours > 0 ) {
25+ const remainingMinutes = minutes % 60
26+ return `${ hours } h ${ remainingMinutes } m`
27+ }
28+ if ( minutes > 0 ) {
29+ const remainingSeconds = seconds % 60
30+ return `${ minutes } m ${ remainingSeconds } s`
31+ }
32+ return `${ seconds } s`
33+ }
34+
1335export const server = new Hono ( )
1436
1537server . use ( logger ( ) )
1638server . use ( cors ( ) )
1739
18- server . get ( "/" , ( c ) => c . text ( "Server running" ) )
40+ server . get ( "/" , ( c ) => {
41+ if ( state . serverStartTime ) {
42+ const uptime = Date . now ( ) - state . serverStartTime
43+ const uptimeStr = formatUptime ( uptime )
44+ return c . text ( `Already running since ${ uptimeStr } ago` )
45+ }
46+ return c . text ( "Server running" )
47+ } )
1948
2049server . route ( "/chat/completions" , completionRoutes )
2150server . route ( "/models" , modelRoutes )
0 commit comments