@@ -11,6 +11,7 @@ import { cors } from 'hono/cors'
1111import { throttle } from 'kontroll'
1212import { z } from 'zod'
1313import { getAgentModel } from '../../utils/agent'
14+ import { getErrorMessage , normalizePossibleSDKError } from '../../utils/error'
1415import { buildAiSdkMessage , buildSystemPrompt } from '../../utils/message'
1516import { api , components , internal } from '../_generated/api'
1617
@@ -191,10 +192,7 @@ aiApp
191192 model : getAgentModel ( { provider, model, apiKey } ) ,
192193 system : buildSystemPrompt ( { provider, model } ) ,
193194 messages : messagesContext ,
194- onError : ( ev ) => {
195- console . error ( ev . error )
196- throw ev . error
197- } ,
195+ onError : ( ev ) => { throw ev . error } ,
198196 } )
199197
200198 for await ( const textDelta of aiStream . textStream ) {
@@ -217,16 +215,18 @@ aiApp
217215 controller . enqueue ( encoder . encode ( `o: ${ JSON . stringify ( { done : true } ) } \n` ) )
218216 controller . close ( )
219217 }
220- catch ( error : any ) {
218+ catch ( err : any ) {
219+ const error = normalizePossibleSDKError ( err )
220+ const errorMessage = getErrorMessage ( error ) ?? ''
221221 console . error ( error )
222222
223- aiResponse += `\n\nError encountered, stream stopped`
223+ aiResponse += `\n\nError encountered, stream stopped: ${ error ?. name ? `[ ${ error . name } ]: ` : '' } ${ errorMessage } `
224224
225225 doSave ( )
226226 await waitForSave ( )
227227 await c . env . runMutation ( internal . messages . finishStreaming , { streamId } )
228228
229- controller . enqueue ( encoder . encode ( `o: ${ JSON . stringify ( { error : error . message } ) } \n` ) )
229+ controller . enqueue ( encoder . encode ( `o: ${ JSON . stringify ( { error : `\`\`\`\n ${ errorMessage } \n\`\`\`` } ) } \n` ) )
230230 controller . close ( )
231231 }
232232 } ,
0 commit comments