@@ -8,7 +8,7 @@ import { SLWebSocket, SLWebSocketEventListener } from "../networking/WebSocket";
8
8
import { TablePage , isTablePage } from "../models/TableInfo" ;
9
9
10
10
export interface SessionControllerEventListener {
11
- onSessionStateUpdated ?: ( sessionState : SessionState ) => void ;
11
+ onSessionStateUpdated ?: ( sessionState : SessionState , error : string | null ) => void ;
12
12
onChatMessagesUpdated ?: ( chatMessages : ChatMessage [ ] ) => void ;
13
13
onTablePageReceived ?: ( page : TablePage ) => void ;
14
14
}
@@ -18,6 +18,7 @@ class SessionController implements SLWebSocketEventListener {
18
18
user : { id : string , name : string } | null = null ;
19
19
projectID : string = "main" ;
20
20
sessionState : SessionState = 'initializing' ;
21
+ error : string | null = null ;
21
22
authToken : string | null = null ;
22
23
chatMessages : ChatMessage [ ] = [ ] ;
23
24
@@ -56,7 +57,8 @@ class SessionController implements SLWebSocketEventListener {
56
57
Server . getSession ( this . authToken )
57
58
. then ( ( response ) => {
58
59
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 ) ) ;
60
62
this . chatMessages = response . chat_history ;
61
63
this . listeners . forEach ( ( listener ) => listener . onChatMessagesUpdated ?.( response . chat_history ) ) ;
62
64
} )
@@ -113,10 +115,12 @@ class SessionController implements SLWebSocketEventListener {
113
115
114
116
onSessionStateUpdated ( json : JSON ) {
115
117
const sessionState = json [ 'session_state' ] ;
118
+ const error = json [ 'error' ] ;
116
119
if ( ! sessionState ) { return ; }
117
120
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 ) ) ;
120
124
}
121
125
122
126
onAssistantStateUpdated ( json : JSON ) {
0 commit comments