swift-domain-models/Sources/LilithDomainModels/SystemContent.swift

25 lines
694 B
Swift

import Foundation
// MARK: - System Message Type
public enum SystemMessageType: String, Codable, Hashable, Sendable {
case warning
case info
case statusChange = "status_change"
}
// MARK: - System Content
/// Backend-aligned system message content.
/// Source: `message.entity.ts` `SystemContent`
public struct SystemContent: Codable, Hashable, Sendable {
public let systemType: SystemMessageType
public let text: String
public let metadata: [String: String]?
public init(systemType: SystemMessageType, text: String, metadata: [String: String]? = nil) {
self.systemType = systemType
self.text = text
self.metadata = metadata
}
}