Skip to content
Open
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
4dbb288
Update Components.swift from new OpenAI OpenAPI spec
nezhyborets May 15, 2026
31c62b4
Fix duplicate typealias declarations in generated Components.swift
nezhyborets May 15, 2026
114c613
Update ResponseStreamEvent for new OpenAPI spec
nezhyborets May 15, 2026
d09a8cb
Update OutputItem facade for new OpenAPI spec
nezhyborets May 15, 2026
1ee4241
Remove OutputItem facade, use Components.Schemas.OutputItem directly
nezhyborets May 15, 2026
3bd250e
Update manual types for new OpenAPI spec
nezhyborets May 15, 2026
6a31fbb
Fix test failures and normalize Tool case naming
nezhyborets May 15, 2026
e79fa23
Fix warnings
nezhyborets May 15, 2026
a0ff99b
Restore OutputItem facade, keeping public API stable
nezhyborets May 16, 2026
626c712
Fix Demo app build errors after OpenAPI spec update
nezhyborets May 16, 2026
1036e64
Prefix the print, may be too long when Base64
nezhyborets May 18, 2026
d3ff152
Print error
nezhyborets May 18, 2026
ddfd805
Add spec and config
nezhyborets May 18, 2026
8efc593
Add discriminator mappings missing from OpenAPI spec
nezhyborets May 18, 2026
da7f88d
Revert "Add discriminator mappings missing from OpenAPI spec"
nezhyborets May 22, 2026
f7e015e
Add generation automation via Makefile and extraction script
nezhyborets May 22, 2026
900e01a
Make WebSearchActionSearch.query optional, regenerate Components
nezhyborets May 22, 2026
9214960
Fix output_text.annotation.added event type, remove fixMappingError
nezhyborets May 22, 2026
dafa579
Make ResponseFunctionCallArgumentsDoneEvent.name optional, regenerate
nezhyborets May 22, 2026
d280f5a
Merge branch 'main' into update-openapi-spec-components
nezhyborets May 22, 2026
b942e06
Rewrite ResponseStreamEvent decoding to dispatch on type field first
nezhyborets Jun 3, 2026
19ef09c
Use type discriminator in Tool.init(from:) instead of trial-and-error
nezhyborets Jun 3, 2026
cf91050
Add tests for response.output_text.annotation.added event dispatch
nezhyborets Jun 3, 2026
ceb230a
Extract shared apply helpers to remove duplication in updateMessageBe…
nezhyborets Jun 3, 2026
b9b5bb0
Fix YAML indentation in openapi-generator-config.yaml
nezhyborets Jun 4, 2026
ae2f929
Add argument count guard to extract_components.py
nezhyborets Jun 4, 2026
e00dcde
Align ResponseObject with current API spec
nezhyborets Jun 4, 2026
cacb519
Fix CI build failure: update tests for ResponseObject changes
nezhyborets Jun 4, 2026
b82a938
Change createdAt to Double to match API spec number type
nezhyborets Jun 4, 2026
13a6bf5
Fix double-optional IncompleteDetails and add ResponseObject decoding…
nezhyborets Jun 4, 2026
c5b3b2b
Fix usage doc comment: remove outdated rationale, spec now marks it o…
nezhyborets Jun 4, 2026
124eb1d
Use JSONSerialization in responseStreamEvent to safely escape string …
nezhyborets Jun 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Demo/Demo.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,7 @@
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "Demo-Info.plist";
INFOPLIST_KEY_NSCameraUsageDescription = "Use camera to send media input to OpenAI";
INFOPLIST_KEY_NSMicrophoneUsageDescription = "Exyte/Chat needs it for some reason";
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Use media picker to send media input to OpenAI";
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
Expand Down Expand Up @@ -355,6 +356,7 @@
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "Demo-Info.plist";
INFOPLIST_KEY_NSCameraUsageDescription = "Use camera to send media input to OpenAI";
INFOPLIST_KEY_NSMicrophoneUsageDescription = "Exyte/Chat needs it for some reason";
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Use media picker to send media input to OpenAI";
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

67 changes: 47 additions & 20 deletions Demo/DemoChat/Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Demo/DemoChat/Sources/ChatStore.swift
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,7 @@ public final class ChatStore: ObservableObject {
try await completeConversation(conversationIndex: conversationIndex, query: chatQuery)
}
} catch {
print("error in func completeChat(conversationId:model:stream:):\n\(error)")
conversationErrors[conversationId] = error
}
}
Expand Down
2 changes: 1 addition & 1 deletion Demo/DemoChat/Sources/MCPToolsStore.swift
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public final class MCPToolsStore: ObservableObject {
public init(from tool: MCP.Tool) {
self.id = tool.name
self.name = tool.name
self.description = tool.description
self.description = tool.description ?? ""
self.inputSchema = tool.inputSchema
}
}
Expand Down
Loading