@@ -307,6 +307,22 @@ function buildDashboardInteractionSessionDetailResponse(sessionId?: string) {
307307 filesModified : [ ] as string [ ] ,
308308 checkpointId : null ,
309309 toolUses : [ ] as Array < Record < string , unknown > > ,
310+ transcriptEntries : [
311+ {
312+ entryId : 'stub-turn-01-e0' ,
313+ sessionId : 'sess-01' ,
314+ turnId : 'turn-01' ,
315+ order : 0 ,
316+ timestamp : '2025-02-14T10:12:00.000Z' ,
317+ actor : 'USER' ,
318+ variant : 'CHAT' ,
319+ source : 'TRANSCRIPT' ,
320+ text : FIRST_SESSION_TURN_ONE_PROMPT ,
321+ toolUseId : null ,
322+ toolKind : null ,
323+ isError : false ,
324+ } ,
325+ ] ,
310326 } ,
311327 {
312328 turnId : 'turn-02' ,
@@ -323,6 +339,22 @@ function buildDashboardInteractionSessionDetailResponse(sessionId?: string) {
323339 filesModified : [ ] as string [ ] ,
324340 checkpointId : null ,
325341 toolUses : [ ] as Array < Record < string , unknown > > ,
342+ transcriptEntries : [
343+ {
344+ entryId : 'stub-turn-02-e0' ,
345+ sessionId : 'sess-01' ,
346+ turnId : 'turn-02' ,
347+ order : 0 ,
348+ timestamp : '2025-02-14T10:28:00.000Z' ,
349+ actor : 'USER' ,
350+ variant : 'CHAT' ,
351+ source : 'TRANSCRIPT' ,
352+ text : FIRST_SESSION_TURN_TWO_PROMPT ,
353+ toolUseId : null ,
354+ toolKind : null ,
355+ isError : false ,
356+ } ,
357+ ] ,
326358 } ,
327359 ]
328360 : ( [ ] as Array < Record < string , unknown > > )
@@ -333,6 +365,7 @@ function buildDashboardInteractionSessionDetailResponse(sessionId?: string) {
333365 summary,
334366 turns,
335367 rawEvents : [ ] as Array < Record < string , unknown > > ,
368+ sessionTranscriptEntries : [ ] as Array < Record < string , unknown > > ,
336369 }
337370 : null ,
338371 } ,
@@ -1051,7 +1084,7 @@ test.describe('Session detail', () => {
10511084 await expect ( page . getByText ( FIRST_SESSION_PROMPT ) . last ( ) ) . toBeVisible ( )
10521085 } )
10531086
1054- test ( 'sidebar turns tab falls back to turn prompts when transcript fragments are unavailable ' , async ( {
1087+ test ( 'sidebar turns tab renders canonical transcript entries per turn ' , async ( {
10551088 page,
10561089 } ) => {
10571090 await stubApiRoutes ( page )
0 commit comments