Skip to content

Commit 4ca0591

Browse files
committed
Support OpenRouter models endpoint
1 parent d6b6271 commit 4ca0591

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

Sources/OpenAI/Public/Models/Models/ModelResult.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public struct ModelResult: Codable, Equatable, Sendable {
3838
let parsingOptions = decoder.userInfo[.parsingOptions] as? ParsingOptions ?? []
3939
self.id = try container.decode(String.self, forKey: .id)
4040
self.created = try container.decodeTimeInterval(forKey: .created, parsingOptions: parsingOptions)
41-
self.object = try container.decode(String.self, forKey: .object)
42-
self.ownedBy = try container.decode(String.self, forKey: .ownedBy)
41+
self.object = try container.decode(String.self, forKey: .object, parsingOptions: parsingOptions, defaultValue: "model")
42+
self.ownedBy = try container.decode(String.self, forKey: .ownedBy, parsingOptions: parsingOptions, defaultValue: "")
4343
}
4444
}

Sources/OpenAI/Public/Models/Models/ModelsResult.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,16 @@ public struct ModelsResult: Codable, Equatable, Sendable {
1414
public let data: [ModelResult]
1515
/// The object type, which is always `list`
1616
public let object: String
17+
18+
public init(data: [ModelResult], object: String) {
19+
self.data = data
20+
self.object = object
21+
}
22+
23+
public init(from decoder: any Decoder) throws {
24+
let container = try decoder.container(keyedBy: CodingKeys.self)
25+
let parsingOptions = decoder.userInfo[.parsingOptions] as? ParsingOptions ?? []
26+
self.data = try container.decode([ModelResult].self, forKey: .data)
27+
self.object = try container.decode(String.self, forKey: .object, parsingOptions: parsingOptions, defaultValue: "list")
28+
}
1729
}

0 commit comments

Comments
 (0)