Skip to content

Commit 3bf4958

Browse files
committed
Move ChatProvider to ChatTab
1 parent e142fef commit 3bf4958

2 files changed

Lines changed: 10 additions & 123 deletions

File tree

Core/Sources/ChatTab/ChatGPT/ChatProvider.swift

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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() }

Core/Sources/Service/GUI/ChatProvider+Service.swift

Lines changed: 0 additions & 115 deletions
This file was deleted.

0 commit comments

Comments
 (0)