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