File size: 728 Bytes
b8370f5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import Foundation

extension OpenClawChatSQLiteTranscriptCache {
    nonisolated static func encodeSessionSettingsExpectation(
        _ expectation: OpenClawChatSessionSettingsExpectation?) -> String?
    {
        guard let expectation,
              let data = try? JSONEncoder().encode(expectation)
        else { return nil }
        return String(bytes: data, encoding: .utf8)
    }

    nonisolated static func decodeSessionSettingsExpectation(
        _ raw: String?) throws -> OpenClawChatSessionSettingsExpectation?
    {
        guard let raw, !raw.isEmpty else { return nil }
        return try JSONDecoder().decode(
            OpenClawChatSessionSettingsExpectation.self,
            from: Data(raw.utf8))
    }
}