@@ -3110,68 +3110,5 @@ export const webviewMessageHandler = async (
31103110 } )
31113111 break
31123112 }
3113- case "getUsagePreview" : {
3114- try {
3115- // Get the CloudAPI instance and fetch usage preview
3116- const cloudApi = CloudService . instance . cloudAPI
3117- if ( ! cloudApi ) {
3118- // User is not authenticated
3119- provider . log ( "[webviewMessageHandler] User not authenticated for usage preview" )
3120- await provider . postMessageToWebview ( {
3121- type : "usagePreviewData" ,
3122- error : "Authentication required" ,
3123- data : null ,
3124- } )
3125- break
3126- }
3127-
3128- // Fetch usage preview data
3129- const rawUsageData = await cloudApi . getUsagePreview ( )
3130-
3131- // Transform the data to match UI expectations
3132- // The API returns data with separate arrays, but UI expects an array of day objects
3133- const dates = rawUsageData . data ?. dates ?? [ ]
3134- const tasks = rawUsageData . data ?. tasks ?? [ ]
3135- const tokens = rawUsageData . data ?. tokens ?? [ ]
3136- const costs = rawUsageData . data ?. costs ?? [ ]
3137- const len = Math . min ( dates . length , tasks . length , tokens . length , costs . length )
3138-
3139- const transformedData = {
3140- days : Array . from ( { length : len } ) . map ( ( _ , index ) => ( {
3141- date : dates [ index ] ?? "" ,
3142- taskCount : tasks [ index ] ?? 0 ,
3143- tokenCount : tokens [ index ] ?? 0 ,
3144- cost : costs [ index ] ?? 0 ,
3145- } ) ) ,
3146- totals : rawUsageData . data ?. totals || {
3147- tasks : 0 ,
3148- tokens : 0 ,
3149- cost : 0 ,
3150- } ,
3151- }
3152-
3153- // Send the transformed data back to the webview
3154- await provider . postMessageToWebview ( {
3155- type : "usagePreviewData" ,
3156- data : transformedData ,
3157- error : undefined ,
3158- } )
3159- } catch ( error ) {
3160- provider . log (
3161- `[webviewMessageHandler] Failed to fetch usage preview: ${ error instanceof Error ? error . message : String ( error ) } ` ,
3162- )
3163- provider . log (
3164- `[webviewMessageHandler] Error stack trace: ${ error instanceof Error ? error . stack : "No stack trace" } ` ,
3165- )
3166-
3167- // Send error back to webview
3168- await provider . postMessageToWebview ( {
3169- type : "usagePreviewData" ,
3170- error : error instanceof Error ? error . message : "Failed to load usage data" ,
3171- data : null ,
3172- } )
3173- }
3174- break
3175- }
31763113 }
31773114}
0 commit comments