55import * as readline from "readline" ;
66import { getClient } from "../../utils/client.js" ;
77import { output , outputError } from "../../utils/output.js" ;
8+ import { formatRelativeTime } from "../../utils/time.js" ;
89import type { Blueprint } from "../../store/blueprintStore.js" ;
910
1011interface PruneBlueprintsOptions {
@@ -87,29 +88,6 @@ function categorizeBlueprints(blueprints: Blueprint[], keepCount: number) {
8788 } ;
8889}
8990
90- /**
91- * Format a timestamp for display
92- */
93- function formatTimestamp ( createTimeMs ?: number ) : string {
94- if ( ! createTimeMs ) {
95- return "unknown time" ;
96- }
97-
98- const now = Date . now ( ) ;
99- const diffMs = now - createTimeMs ;
100- const diffMinutes = Math . floor ( diffMs / 60000 ) ;
101- const diffHours = Math . floor ( diffMs / 3600000 ) ;
102- const diffDays = Math . floor ( diffMs / 86400000 ) ;
103-
104- if ( diffMinutes < 60 ) {
105- return `${ diffMinutes } minute${ diffMinutes !== 1 ? "s" : "" } ago` ;
106- } else if ( diffHours < 24 ) {
107- return `${ diffHours } hour${ diffHours !== 1 ? "s" : "" } ago` ;
108- } else {
109- return `${ diffDays } day${ diffDays !== 1 ? "s" : "" } ago` ;
110- }
111- }
112-
11391/**
11492 * Display a summary of what will be kept and deleted
11593 */
@@ -145,7 +123,7 @@ function displaySummary(
145123 } else {
146124 for ( const blueprint of result . toKeep ) {
147125 console . log (
148- ` ✓ ${ blueprint . id } - Created ${ formatTimestamp ( blueprint . create_time_ms ) } ` ,
126+ ` ✓ ${ blueprint . id } - Created ${ formatRelativeTime ( blueprint . create_time_ms ) } ` ,
149127 ) ;
150128 }
151129 }
@@ -163,7 +141,7 @@ function displaySummary(
163141 const statusLabel =
164142 blueprint . status === "build_complete" ? "successful" : "failed" ;
165143 console . log (
166- ` ${ icon } ${ blueprint . id } - Created ${ formatTimestamp ( blueprint . create_time_ms ) } (${ statusLabel } )` ,
144+ ` ${ icon } ${ blueprint . id } - Created ${ formatRelativeTime ( blueprint . create_time_ms ) } (${ statusLabel } )` ,
167145 ) ;
168146 }
169147 }
@@ -183,7 +161,7 @@ function displayDeletedBlueprints(deleted: Blueprint[]) {
183161 const statusLabel =
184162 blueprint . status === "build_complete" ? "successful" : "failed" ;
185163 console . log (
186- ` ${ icon } ${ blueprint . id } - Created ${ formatTimestamp ( blueprint . create_time_ms ) } (${ statusLabel } )` ,
164+ ` ${ icon } ${ blueprint . id } - Created ${ formatRelativeTime ( blueprint . create_time_ms ) } (${ statusLabel } )` ,
187165 ) ;
188166 }
189167}
0 commit comments