@@ -123,16 +123,44 @@ enum AIErrorHandler {
123123 /// Handles specific GenerationError cases.
124124 private static func handleGenerationError( _ error: LanguageModelSession . GenerationError ) -> AIError {
125125 switch error {
126- case let . exceededContextWindowSize( info ) :
127- self . logger. warning ( " Context window exceeded: \\ (String(describing: info)) " )
126+ case . exceededContextWindowSize:
127+ self . logger. warning ( " Context window exceeded " )
128128 return . contextWindowExceeded
129129
130130 case . guardrailViolation:
131131 self . logger. warning ( " Content blocked by guardrails " )
132132 return . contentBlocked
133133
134+ case . assetsUnavailable:
135+ self . logger. warning ( " Model assets unavailable " )
136+ return . notAvailable( reason: " Model assets are not available " )
137+
138+ case . unsupportedGuide:
139+ self . logger. warning ( " Unsupported generation guide " )
140+ return . unknown( underlying: error)
141+
142+ case . unsupportedLanguageOrLocale:
143+ self . logger. warning ( " Unsupported language or locale " )
144+ return . notAvailable( reason: " Language not supported " )
145+
146+ case . decodingFailure:
147+ self . logger. warning ( " Failed to decode model response " )
148+ return . unknown( underlying: error)
149+
150+ case . rateLimited:
151+ self . logger. warning ( " Rate limited by model " )
152+ return . sessionBusy
153+
154+ case . concurrentRequests:
155+ self . logger. warning ( " Concurrent request limit exceeded " )
156+ return . sessionBusy
157+
158+ case . refusal:
159+ self . logger. warning ( " Model refused to respond " )
160+ return . contentBlocked
161+
134162 @unknown default :
135- self . logger. error ( " Unknown generation error: \\ (error.localizedDescription) " )
163+ self . logger. error ( " Unknown generation error: \( error. localizedDescription) " )
136164 return . unknown( underlying: error)
137165 }
138166 }
@@ -145,9 +173,9 @@ enum AIErrorHandler {
145173 /// - Returns: A formatted string suitable for UI display.
146174 static func userMessage( for error: AIError ) -> String {
147175 if let suggestion = error. recoverySuggestion {
148- return " \( error. localizedDescription ?? " Error " ) . \( suggestion) "
176+ return " \( error. errorDescription ?? " Error " ) . \( suggestion) "
149177 }
150- return error. localizedDescription ?? " An error occurred "
178+ return error. errorDescription ?? " An error occurred "
151179 }
152180
153181 /// Logs an error with appropriate severity and returns a display message.
0 commit comments