@@ -916,26 +916,34 @@ export class AIProviderService implements Disposable {
916916
917917 return result ;
918918 } catch ( ex ) {
919- this . container . telemetry . sendEvent (
920- telementry . key ,
921- {
922- ...telementry . data ,
923- duration : Date . now ( ) - start ,
924- ...( ex instanceof CancellationError
925- ? { 'failed.reason' : 'user-cancelled' }
926- : { 'failed.reason' : 'error' , 'failed.error' : String ( ex ) } ) ,
927- } ,
928- source ,
929- ) ;
919+ if ( ex instanceof CancellationError ) {
920+ this . container . telemetry . sendEvent (
921+ telementry . key ,
922+ { ...telementry . data , duration : Date . now ( ) - start , 'failed.reason' : 'user-cancelled' } ,
923+ source ,
924+ ) ;
930925
931- if ( ex instanceof CancellationError ) return undefined ;
926+ return undefined ;
927+ }
932928 if ( ex instanceof AIError ) {
929+ this . container . telemetry . sendEvent (
930+ telementry . key ,
931+ {
932+ ...telementry . data ,
933+ duration : Date . now ( ) - start ,
934+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
935+ 'failed.error' : String ( ex ) ,
936+ 'failed.error.detail' : String ( ex . original ) ,
937+ } ,
938+ source ,
939+ ) ;
940+
933941 switch ( ex . reason ) {
934942 case AIErrorReason . NoRequestData :
935943 void window . showErrorMessage ( ex . message ) ;
936944 return undefined ;
937945
938- case AIErrorReason . Entitlement : {
946+ case AIErrorReason . NoEntitlement : {
939947 const sub = await this . container . subscription . getSubscription ( ) ;
940948
941949 const plan = isSubscriptionPaid ( sub )
@@ -1021,7 +1029,7 @@ export class AIProviderService implements Disposable {
10211029 }
10221030 return undefined ;
10231031 }
1024- case AIErrorReason . ModelUserUnauthorized : {
1032+ case AIErrorReason . Unauthorized : {
10251033 const switchModel : MessageItem = { title : 'Switch Model' } ;
10261034 const result = await window . showErrorMessage (
10271035 'You do not have access to the selected model. Please select a different model and try again.' ,
@@ -1032,7 +1040,7 @@ export class AIProviderService implements Disposable {
10321040 }
10331041 return undefined ;
10341042 }
1035- case AIErrorReason . ModelUserDeniedAccess : {
1043+ case AIErrorReason . DeniedByUser : {
10361044 const switchModel : MessageItem = { title : 'Switch Model' } ;
10371045 const result = await window . showErrorMessage (
10381046 'You have denied access to the selected model. Please provide access or select a different model, and then try again.' ,
@@ -1048,6 +1056,16 @@ export class AIProviderService implements Disposable {
10481056 return undefined ;
10491057 }
10501058
1059+ this . container . telemetry . sendEvent (
1060+ telementry . key ,
1061+ {
1062+ ...telementry . data ,
1063+ duration : Date . now ( ) - start ,
1064+ 'failed.error' : String ( ex ) ,
1065+ 'failed.error.detail' : ex . original ? String ( ex . original ) : undefined ,
1066+ } ,
1067+ source ,
1068+ ) ;
10511069 throw ex ;
10521070 }
10531071 }
0 commit comments