@@ -40,6 +40,10 @@ public struct UserPreferenceChatGPTConfiguration: ChatGPTConfiguration {
4040 public var runFunctionsAutomatically : Bool {
4141 true
4242 }
43+
44+ public var shouldEndTextWindow : ( String ) -> Bool {
45+ { _ in true }
46+ }
4347
4448 public init ( chatModelKey: KeyPath < UserDefaultPreferenceKeys , PreferenceKey < String > > ? = nil ) {
4549 self . chatModelKey = chatModelKey
@@ -56,7 +60,7 @@ public class OverridingChatGPTConfiguration: ChatGPTConfiguration {
5660 public var minimumReplyTokens : Int ?
5761 public var runFunctionsAutomatically : Bool ?
5862 public var apiKey : String ?
59-
63+
6064 public init (
6165 temperature: Double ? = nil ,
6266 modelId: String ? = nil ,
@@ -80,6 +84,7 @@ public class OverridingChatGPTConfiguration: ChatGPTConfiguration {
8084
8185 private let configuration : ChatGPTConfiguration
8286 public var overriding = Overriding ( )
87+ public var textWindowTerminator : ( ( String ) -> Bool ) ?
8388
8489 public init (
8590 overriding configuration: any ChatGPTConfiguration ,
@@ -126,5 +131,9 @@ public class OverridingChatGPTConfiguration: ChatGPTConfiguration {
126131 guard let name = model? . info. apiKeyName else { return configuration. apiKey }
127132 return ( try ? Keychain . apiKey. get ( name) ) ?? configuration. apiKey
128133 }
134+
135+ public var shouldEndTextWindow : ( String ) -> Bool {
136+ textWindowTerminator ?? configuration. shouldEndTextWindow
137+ }
129138}
130139
0 commit comments