@@ -906,26 +906,34 @@ export class AIProviderService implements Disposable {
906906
907907 return result ;
908908 } catch ( ex ) {
909- this . container . telemetry . sendEvent (
910- telementry . key ,
911- {
912- ...telementry . data ,
913- duration : Date . now ( ) - start ,
914- ...( ex instanceof CancellationError
915- ? { 'failed.reason' : 'user-cancelled' }
916- : { 'failed.reason' : 'error' , 'failed.error' : String ( ex ) } ) ,
917- } ,
918- source ,
919- ) ;
909+ if ( ex instanceof CancellationError ) {
910+ this . container . telemetry . sendEvent (
911+ telementry . key ,
912+ { ...telementry . data , duration : Date . now ( ) - start , 'failed.reason' : 'user-cancelled' } ,
913+ source ,
914+ ) ;
920915
921- if ( ex instanceof CancellationError ) return undefined ;
916+ return undefined ;
917+ }
922918 if ( ex instanceof AIError ) {
919+ this . container . telemetry . sendEvent (
920+ telementry . key ,
921+ {
922+ ...telementry . data ,
923+ duration : Date . now ( ) - start ,
924+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
925+ 'failed.error' : String ( ex ) ,
926+ 'failed.error.detail' : String ( ex . original ) ,
927+ } ,
928+ source ,
929+ ) ;
930+
923931 switch ( ex . reason ) {
924932 case AIErrorReason . NoRequestData :
925933 void window . showErrorMessage ( ex . message ) ;
926934 return undefined ;
927935
928- case AIErrorReason . Entitlement : {
936+ case AIErrorReason . NoEntitlement : {
929937 const sub = await this . container . subscription . getSubscription ( ) ;
930938
931939 const plan = isSubscriptionPaid ( sub )
@@ -1011,7 +1019,7 @@ export class AIProviderService implements Disposable {
10111019 }
10121020 return undefined ;
10131021 }
1014- case AIErrorReason . ModelUserUnauthorized : {
1022+ case AIErrorReason . Unauthorized : {
10151023 const switchModel : MessageItem = { title : 'Switch Model' } ;
10161024 const result = await window . showErrorMessage (
10171025 'You do not have access to the selected model. Please select a different model and try again.' ,
@@ -1022,7 +1030,7 @@ export class AIProviderService implements Disposable {
10221030 }
10231031 return undefined ;
10241032 }
1025- case AIErrorReason . ModelUserDeniedAccess : {
1033+ case AIErrorReason . DeniedByUser : {
10261034 const switchModel : MessageItem = { title : 'Switch Model' } ;
10271035 const result = await window . showErrorMessage (
10281036 'You have denied access to the selected model. Please provide access or select a different model, and then try again.' ,
@@ -1038,6 +1046,16 @@ export class AIProviderService implements Disposable {
10381046 return undefined ;
10391047 }
10401048
1049+ this . container . telemetry . sendEvent (
1050+ telementry . key ,
1051+ {
1052+ ...telementry . data ,
1053+ duration : Date . now ( ) - start ,
1054+ 'failed.error' : String ( ex ) ,
1055+ 'failed.error.detail' : ex . original ? String ( ex . original ) : undefined ,
1056+ } ,
1057+ source ,
1058+ ) ;
10411059 throw ex ;
10421060 }
10431061 }
0 commit comments