@@ -10,12 +10,20 @@ public final class ChatProvider: ObservableObject {
1010 @Published public var isReceivingMessage = false
1111 public var pluginIdentifiers : [ String ] = [ ]
1212 public var systemPrompt = " "
13+ public var title : String {
14+ let defaultTitle = " Chat "
15+ guard let lastMessageText = history
16+ . filter ( { $0. role == . assistant || $0. role == . user } )
17+ . last?
18+ . text else { return defaultTitle }
19+ if lastMessageText. isEmpty { return defaultTitle }
20+ return lastMessageText
21+ }
22+
1323 public var extraSystemPrompt = " "
1424 public var onMessageSend : ( String ) -> Void
1525 public var onStop : ( ) -> Void
1626 public var onClear : ( ) -> Void
17- public var onClose : ( ) -> Void
18- public var onSwitchContext : ( ) -> Void
1927 public var onDeleteMessage : ( MessageID ) -> Void
2028 public var onResendMessage : ( MessageID ) -> Void
2129 public var onResetPrompt : ( ) -> Void
@@ -29,8 +37,6 @@ public final class ChatProvider: ObservableObject {
2937 onMessageSend: @escaping ( String ) -> Void = { _ in } ,
3038 onStop: @escaping ( ) -> Void = { } ,
3139 onClear: @escaping ( ) -> Void = { } ,
32- onClose: @escaping ( ) -> Void = { } ,
33- onSwitchContext: @escaping ( ) -> Void = { } ,
3440 onDeleteMessage: @escaping ( MessageID ) -> Void = { _ in } ,
3541 onResendMessage: @escaping ( MessageID ) -> Void = { _ in } ,
3642 onResetPrompt: @escaping ( ) -> Void = { } ,
@@ -43,8 +49,6 @@ public final class ChatProvider: ObservableObject {
4349 self . onMessageSend = onMessageSend
4450 self . onStop = onStop
4551 self . onClear = onClear
46- self . onClose = onClose
47- self . onSwitchContext = onSwitchContext
4852 self . onDeleteMessage = onDeleteMessage
4953 self . onResendMessage = onResendMessage
5054 self . onResetPrompt = onResetPrompt
@@ -55,8 +59,6 @@ public final class ChatProvider: ObservableObject {
5559 public func send( _ message: String ) { onMessageSend ( message) }
5660 public func stop( ) { onStop ( ) }
5761 public func clear( ) { onClear ( ) }
58- public func close( ) { onClose ( ) }
59- public func switchContext( ) { onSwitchContext ( ) }
6062 public func deleteMessage( id: MessageID ) { onDeleteMessage ( id) }
6163 public func resendMessage( id: MessageID ) { onResendMessage ( id) }
6264 public func resetPrompt( ) { onResetPrompt ( ) }
0 commit comments