2026-02-15 05:38:07 +01:00
|
|
|
import Foundation
|
2026-01-30 03:15:10 +01:00
|
|
|
import OpenClawKit
|
2025-12-20 23:41:37 +01:00
|
|
|
|
2026-01-30 03:15:10 +01:00
|
|
|
// Prefer the OpenClawKit wrapper to keep gateway request payloads consistent.
|
|
|
|
|
typealias AnyCodable = OpenClawKit.AnyCodable
|
|
|
|
|
typealias InstanceIdentity = OpenClawKit.InstanceIdentity
|
2026-01-20 14:20:02 +00:00
|
|
|
|
2025-12-20 23:41:37 +01:00
|
|
|
extension AnyCodable {
|
2026-02-15 05:38:07 +01:00
|
|
|
var stringValue: String? {
|
|
|
|
|
self.value as? String
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var boolValue: Bool? {
|
|
|
|
|
self.value as? Bool
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var intValue: Int? {
|
|
|
|
|
self.value as? Int
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var doubleValue: Double? {
|
|
|
|
|
self.value as? Double
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var dictionaryValue: [String: AnyCodable]? {
|
|
|
|
|
self.value as? [String: AnyCodable]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var arrayValue: [AnyCodable]? {
|
|
|
|
|
self.value as? [AnyCodable]
|
|
|
|
|
}
|
2025-12-20 23:41:37 +01:00
|
|
|
|
|
|
|
|
var foundationValue: Any {
|
|
|
|
|
switch self.value {
|
|
|
|
|
case let dict as [String: AnyCodable]:
|
|
|
|
|
dict.mapValues { $0.foundationValue }
|
|
|
|
|
case let array as [AnyCodable]:
|
|
|
|
|
array.map(\.foundationValue)
|
|
|
|
|
default:
|
|
|
|
|
self.value
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|