@@ -8,7 +8,7 @@ import { SLWebSocket, SLWebSocketEventListener } from "../networking/WebSocket";
88import { TablePage , isTablePage } from "../models/TableInfo" ;
99
1010export interface SessionControllerEventListener {
11- onSessionStateUpdated ?: ( sessionState : SessionState ) => void ;
11+ onSessionStateUpdated ?: ( sessionState : SessionState , error : string | null ) => void ;
1212 onChatMessagesUpdated ?: ( chatMessages : ChatMessage [ ] ) => void ;
1313 onTablePageReceived ?: ( page : TablePage ) => void ;
1414}
@@ -18,6 +18,7 @@ class SessionController implements SLWebSocketEventListener {
1818 user : { id : string , name : string } | null = null ;
1919 projectID : string = "main" ;
2020 sessionState : SessionState = 'initializing' ;
21+ error : string | null = null ;
2122 authToken : string | null = null ;
2223 chatMessages : ChatMessage [ ] = [ ] ;
2324
@@ -56,7 +57,8 @@ class SessionController implements SLWebSocketEventListener {
5657 Server . getSession ( this . authToken )
5758 . then ( ( response ) => {
5859 this . sessionState = response . session_state ;
59- this . listeners . forEach ( ( listener ) => listener . onSessionStateUpdated ?.( response . session_state ) ) ;
60+ this . error = response . error ;
61+ this . listeners . forEach ( ( listener ) => listener . onSessionStateUpdated ?.( response . session_state , response . error ) ) ;
6062 this . chatMessages = response . chat_history ;
6163 this . listeners . forEach ( ( listener ) => listener . onChatMessagesUpdated ?.( response . chat_history ) ) ;
6264 } )
@@ -113,10 +115,12 @@ class SessionController implements SLWebSocketEventListener {
113115
114116 onSessionStateUpdated ( json : JSON ) {
115117 const sessionState = json [ 'session_state' ] ;
118+ const error = json [ 'error' ] ;
116119 if ( ! sessionState ) { return ; }
117120 this . sessionState = sessionState ;
118- console . log ( `Session state: ${ sessionState } ` ) ;
119- this . listeners . forEach ( ( listener ) => listener . onSessionStateUpdated ?.( sessionState ) ) ;
121+ this . error = error ;
122+ console . log ( `Session state: ${ sessionState } ` + ( error ? ` (${ error } )` : '' ) ) ;
123+ this . listeners . forEach ( ( listener ) => listener . onSessionStateUpdated ?.( sessionState , error ) ) ;
120124 }
121125
122126 onAssistantStateUpdated ( json : JSON ) {
0 commit comments