@@ -35,7 +35,7 @@ async function handleChatStream(req: Request, res: Response) {
3535 const { chatPrompt, version } = promptConfig
3636
3737 try {
38- const { messages : rawMessages , userId , sessionId } = req . body as ChatRequest
38+ const { messages : rawMessages , sessionId } = req . body as ChatRequest
3939
4040 if (
4141 ! rawMessages ||
@@ -61,7 +61,6 @@ async function handleChatStream(req: Request, res: Response) {
6161 } )
6262
6363 let traceId = ''
64- let generationId = ''
6564
6665 // Setup observation and stream using AI SDK
6766 const result = await startActiveObservation (
@@ -70,7 +69,7 @@ async function handleChatStream(req: Request, res: Response) {
7069 trace . updateTrace ( {
7170 name : 'ai-chat-stream' ,
7271 sessionId : sessionId || 'unknown' ,
73- userId : userId || 'anonymous' ,
72+ userId : context . currentUser . email || 'anonymous' ,
7473 input : { messages, prompt : lastUserMessage } ,
7574 tags : [ 'stream' , 'rest-api' ] ,
7675 environment : appConfig . appEnv ,
@@ -91,8 +90,6 @@ async function handleChatStream(req: Request, res: Response) {
9190
9291 // Capture IDs for client
9392 traceId = trace . traceId
94- // @ts -expect-error - observationId exists but not in types
95- generationId = generation . observationId
9693
9794 return streamText ( {
9895 model,
@@ -106,10 +103,14 @@ async function handleChatStream(req: Request, res: Response) {
106103 onFinish : ( event ) => {
107104 logger . info ( 'Stream finished' , {
108105 traceId,
109- generationId,
110106 textLength : event . text . length ,
111107 } )
112108
109+ trace . update ( {
110+ output : { result : event . text } ,
111+ level : 'DEFAULT' ,
112+ } )
113+
113114 generation
114115 . update ( {
115116 output : event . text ,
@@ -120,33 +121,27 @@ async function handleChatStream(req: Request, res: Response) {
120121 } ,
121122 } )
122123 . end ( )
123-
124- trace . update ( {
125- output : { result : event . text } ,
126- level : 'DEFAULT' ,
127- } )
128124 } ,
129125 onError : ( error ) => {
130126 const errorMessage =
131127 error instanceof Error ? error . message : String ( error )
132128
133129 logger . error ( 'Error generating chat response' , {
134130 traceId,
135- generationId,
136131 error : errorMessage ,
137132 } )
138133
134+ trace . update ( {
135+ output : { error : errorMessage } ,
136+ level : 'ERROR' ,
137+ } )
138+
139139 generation
140140 . update ( {
141141 output : errorMessage ,
142142 level : 'ERROR' ,
143143 } )
144144 . end ( )
145-
146- trace . update ( {
147- output : { error : errorMessage } ,
148- level : 'ERROR' ,
149- } )
150145 } ,
151146 } )
152147 } ,
@@ -155,9 +150,11 @@ async function handleChatStream(req: Request, res: Response) {
155150 // Pipe the UI message stream to Express response
156151 // This uses the data stream protocol that DefaultChatTransport expects
157152 result . pipeUIMessageStreamToResponse ( res , {
158- headers : {
159- ...( traceId && { 'X-Trace-Id' : traceId } ) ,
160- ...( generationId && { 'X-Generation-Id' : generationId } ) ,
153+ messageMetadata : ( ) => {
154+ return {
155+ traceId,
156+ model : MODEL_TYPE ,
157+ }
161158 } ,
162159 } )
163160 } catch ( error ) {
0 commit comments