@@ -516,6 +516,7 @@ enum CLSMessageType {
516516 case chatLimitReached
517517 case completionLimitReached
518518 case byokLimitedReached
519+ case monthlyAICreditsLimitReached
519520 case other
520521
521522 var summary : String {
@@ -526,6 +527,8 @@ enum CLSMessageType {
526527 return " Monthly Completion Limit Reached "
527528 case . byokLimitedReached:
528529 return " BYOK Limit Reached "
530+ case . monthlyAICreditsLimitReached:
531+ return " Monthly AI Credits Limit Reached "
529532 case . other:
530533 return " CLS Error "
531534 }
@@ -537,14 +540,6 @@ struct CLSMessage {
537540 let detail : String
538541}
539542
540- func extractDateFromCLSMessage( _ message: String ) -> String ? {
541- let pattern = #"until (\d{1,2}/\d{1,2}/\d{4}, \d{1,2}:\d{2}:\d{2} [AP]M)"#
542- if let range = message. range ( of: pattern, options: . regularExpression) {
543- return String ( message [ range] . dropFirst ( 6 ) )
544- }
545- return nil
546- }
547-
548543func getCLSMessageSummary( _ message: String ) -> CLSMessage {
549544 let messageType : CLSMessageType
550545
@@ -555,16 +550,11 @@ func getCLSMessageSummary(_ message: String) -> CLSMessage {
555550 messageType = . completionLimitReached
556551 } else if message. contains ( " BYOK " ) {
557552 messageType = . byokLimitedReached
553+ } else if message. contains ( " You've used your monthly AI Credits " ) {
554+ messageType = . monthlyAICreditsLimitReached
558555 } else {
559556 messageType = . other
560557 }
561558
562- let detail : String
563- if let date = extractDateFromCLSMessage ( message) {
564- detail = " Visit GitHub to check your usage and upgrade to Copilot Pro or wait until \( date) for your limit to reset. "
565- } else {
566- detail = message
567- }
568-
569- return CLSMessage ( summary: messageType. summary, detail: detail)
559+ return CLSMessage ( summary: messageType. summary, detail: message)
570560}
0 commit comments