@@ -1002,23 +1002,28 @@ export function parseSelectRestTimelineEvents(
10021002 events : OctokitCommon . ListEventsForTimelineResponse [ ]
10031003) : Common . TimelineEvent [ ] {
10041004 const parsedEvents : Common . TimelineEvent [ ] = [ ] ;
1005- const sessionLink : Common . SessionPullInfo = {
1005+
1006+ const prSessionLink = {
10061007 host : issueModel . githubRepository . remote . gitProtocol . host ,
10071008 owner : issueModel . githubRepository . remote . owner ,
10081009 repo : issueModel . githubRepository . remote . repositoryName ,
1009- pullId : issueModel . number
1010+ pullId : issueModel . number ,
10101011 } ;
1011- let indexLastStart = - 1 ;
1012+
1013+ let sessionIndex = 0 ;
10121014 for ( const event of events ) {
10131015 const eventNode = event as { created_at ?: string ; node_id ?: string ; actor : RestAccount } ;
10141016 if ( eventNode . created_at && eventNode . node_id ) {
10151017 if ( event . event === 'copilot_work_started' ) {
1016- indexLastStart = parsedEvents . length ;
10171018 parsedEvents . push ( {
10181019 id : eventNode . node_id ,
10191020 event : Common . EventType . CopilotStarted ,
10201021 createdAt : eventNode . created_at ,
1021- onBehalfOf : parseAccount ( eventNode . actor )
1022+ onBehalfOf : parseAccount ( eventNode . actor ) ,
1023+ sessionLink : {
1024+ ...prSessionLink ,
1025+ sessionIndex
1026+ }
10221027 } ) ;
10231028 } else if ( event . event === 'copilot_work_finished' ) {
10241029 parsedEvents . push ( {
@@ -1027,21 +1032,23 @@ export function parseSelectRestTimelineEvents(
10271032 createdAt : eventNode . created_at ,
10281033 onBehalfOf : parseAccount ( eventNode . actor )
10291034 } ) ;
1035+ sessionIndex ++ ;
10301036 } else if ( event . event === 'copilot_work_finished_failure' ) {
1037+ sessionIndex ++ ;
10311038 parsedEvents . push ( {
10321039 id : eventNode . node_id ,
10331040 event : Common . EventType . CopilotFinishedError ,
10341041 createdAt : eventNode . created_at ,
10351042 onBehalfOf : parseAccount ( eventNode . actor ) ,
1036- sessionLink
1043+ sessionLink : {
1044+ ...prSessionLink ,
1045+ sessionIndex
1046+ }
10371047 } ) ;
10381048 }
10391049 }
10401050 }
1041- if ( indexLastStart > - 1 ) {
1042- const startEvent : Common . CopilotStartedEvent = parsedEvents [ indexLastStart ] as Common . CopilotStartedEvent ;
1043- startEvent . sessionLink = sessionLink ;
1044- }
1051+
10451052 return parsedEvents ;
10461053}
10471054
0 commit comments