gitextract_oinuzyhk/ ├── .github/ │ └── workflows/ │ └── ci.yml ├── .gitignore ├── CONTRIBUTING.md ├── Examples/ │ ├── RealtimeExample/ │ │ ├── README.md │ │ └── RealtimeExample.swift │ └── SwiftOpenAIExample/ │ ├── SwiftOpenAIExample/ │ │ ├── AIProxyIntroView.swift │ │ ├── ApiKeyIntroView.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AccentColor.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Assistants/ │ │ │ ├── AssistantConfigurationDemoView.swift │ │ │ ├── AssistantConfigurationProvider.swift │ │ │ ├── AssistantStreamDemoScreen.swift │ │ │ ├── AssistantThreadConfigurationProvider.swift │ │ │ └── AssistantsListDemoView.swift │ │ ├── AudioDemo/ │ │ │ ├── AudioDemoView.swift │ │ │ └── AudioProvider.swift │ │ ├── ChatDemo/ │ │ │ ├── ChatDemoView.swift │ │ │ └── ChatProvider.swift │ │ ├── ChatFunctionsCall/ │ │ │ ├── ChatMessageDisplayModel.swift │ │ │ ├── ChatMessageView.swift │ │ │ ├── Completion/ │ │ │ │ ├── ChatFunctionCallDemoView.swift │ │ │ │ └── ChatFunctionCallProvider.swift │ │ │ └── Stream/ │ │ │ ├── ChatFunctionsCallStreamProvider.swift │ │ │ └── ChatFunctionsCalllStreamDemoView.swift │ │ ├── ChatStreamFluidConversationDemo/ │ │ │ ├── ChatFluidConversationProvider.swift │ │ │ └── ChatStreamFluidConversationDemoView.swift │ │ ├── ChatStructureOutputTool/ │ │ │ ├── ChatStructureOutputToolDemoView.swift │ │ │ └── ChatStructuredOutputToolProvider.swift │ │ ├── ChatStructuredOutputs/ │ │ │ ├── ChatStructuredOutputDemoView.swift │ │ │ └── ChatStructuredOutputProvider.swift │ │ ├── EmbeddingsDemo/ │ │ │ ├── EmbeddingsDemoView.swift │ │ │ └── Embeddingsprovider.swift │ │ ├── Files/ │ │ │ ├── AttachmentView.swift │ │ │ ├── FileAttachmentView.swift │ │ │ ├── FilesPicker.swift │ │ │ └── FilesPickerProvider.swift │ │ ├── FilesDemo/ │ │ │ ├── FilesDemoView.swift │ │ │ └── FilesProvider.swift │ │ ├── FineTuningDemo/ │ │ │ ├── FineTuningJobDemoView.swift │ │ │ └── FineTuningJobProvider.swift │ │ ├── ImagesDemo/ │ │ │ ├── ImagesDemoView.swift │ │ │ └── ImagesProvider.swift │ │ ├── LocalChatDemo/ │ │ │ └── LocalChatDemoView.swift │ │ ├── LocalHostEntryView.swift │ │ ├── ModelsDemo/ │ │ │ ├── ModelsDemoView.swift │ │ │ └── ModelsProvider.swift │ │ ├── ModerationsDemo/ │ │ │ ├── ModerationDemoView.swift │ │ │ └── ModerationProvider.swift │ │ ├── OptionsListView.swift │ │ ├── PredictedOutputsDemo/ │ │ │ └── ChatPredictedOutputDemoView.swift │ │ ├── Preview Content/ │ │ │ └── Preview Assets.xcassets/ │ │ │ └── Contents.json │ │ ├── Resources/ │ │ │ ├── WorldCupData.jsonl │ │ │ ├── german.m4a │ │ │ └── narcos.m4a │ │ ├── ResponseAPIDemo/ │ │ │ ├── ResponseStreamDemoView.swift │ │ │ └── ResponseStreamProvider.swift │ │ ├── ServiceSelectionView.swift │ │ ├── SharedModels/ │ │ │ └── ChatDisplayMessage.swift │ │ ├── SharedUI/ │ │ │ ├── ChatDisplayMessageView.swift │ │ │ ├── ChatMessageLoadingView.swift │ │ │ ├── LoadingView.swift │ │ │ ├── Theme/ │ │ │ │ ├── Sizes.swift │ │ │ │ └── ThemeColor.swift │ │ │ └── URLImageView.swift │ │ ├── SwiftOpenAIExample.entitlements │ │ ├── SwiftOpenAIExampleApp.swift │ │ ├── Utilities/ │ │ │ └── ContentLoader.swift │ │ └── Vision/ │ │ ├── ChatVisionDemoView.swift │ │ └── ChatVisionProvider.swift │ ├── SwiftOpenAIExample.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── SwiftOpenAIExample.xcscheme │ ├── SwiftOpenAIExampleTests/ │ │ └── SwiftOpenAIExampleTests.swift │ └── SwiftOpenAIExampleUITests/ │ ├── SwiftOpenAIExampleUITests.swift │ └── SwiftOpenAIExampleUITestsLaunchTests.swift ├── LICENSE ├── Package.swift ├── README.md ├── Sources/ │ └── OpenAI/ │ ├── AIProxy/ │ │ ├── AIProxyCertificatePinning.swift │ │ ├── AIProxyService.swift │ │ └── Endpoint+AIProxy.swift │ ├── Azure/ │ │ ├── AzureOpenAIAPI.swift │ │ ├── AzureOpenAIConfiguration.swift │ │ └── DefaultOpenAIAzureService.swift │ ├── LocalModelService/ │ │ ├── LocalModelAPI.swift │ │ └── LocalModelService.swift │ ├── Private/ │ │ ├── Audio/ │ │ │ ├── AudioPCMPlayer.swift │ │ │ ├── AudioPCMPlayerError.swift │ │ │ ├── AudioUtils.swift │ │ │ ├── MicrophonePCMSampleVendor.swift │ │ │ ├── MicrophonePCMSampleVendorAE.swift │ │ │ ├── MicrophonePCMSampleVendorAT.swift │ │ │ ├── MicrophonePCMSampleVendorCommon.swift │ │ │ └── MicrophonePCMSampleVendorError.swift │ │ ├── Networking/ │ │ │ ├── AsyncHTTPClientAdapter.swift │ │ │ ├── Endpoint.swift │ │ │ ├── HTTPClient.swift │ │ │ ├── MultipartFormDataBuilder.swift │ │ │ ├── OpenAIAPI.swift │ │ │ └── URLSessionHTTPClientAdapter.swift │ │ └── Realtime/ │ │ ├── OpenAIRealtimeSession.swift │ │ └── RealtimeActor.swift │ └── Public/ │ ├── Parameters/ │ │ ├── Assistant/ │ │ │ └── AssistantParameters.swift │ │ ├── Audio/ │ │ │ ├── AudioSpeechParameters.swift │ │ │ ├── AudioTranscriptionParameters.swift │ │ │ └── AudioTranslationParameters.swift │ │ ├── Batch/ │ │ │ └── BatchParameter.swift │ │ ├── Chat/ │ │ │ └── ChatCompletionParameters.swift │ │ ├── Conversations/ │ │ │ ├── CreateConversationItemsParameter.swift │ │ │ ├── CreateConversationParameter.swift │ │ │ ├── GetConversationItemParameter.swift │ │ │ ├── GetConversationItemsParameter.swift │ │ │ └── UpdateConversationParameter.swift │ │ ├── Embedding/ │ │ │ └── EmbeddingParameter.swift │ │ ├── File/ │ │ │ └── FileParameter.swift │ │ ├── FineTuning/ │ │ │ └── FineTuningJobParameters.swift │ │ ├── Image/ │ │ │ ├── Dalle.swift │ │ │ ├── ImageCreateParameters.swift │ │ │ ├── ImageEditParameters.swift │ │ │ └── ImageVariationParameters.swift │ │ ├── ImageGen/ │ │ │ ├── CreateImageEditParameters.swift │ │ │ ├── CreateImageParameters.swift │ │ │ └── CreateImageVariationParameters.swift │ │ ├── Message/ │ │ │ ├── MessageParameter.swift │ │ │ └── ModifyMessageParameters.swift │ │ ├── Model.swift │ │ ├── Moderation/ │ │ │ └── ModerationParameter.swift │ │ ├── MultipartFormDataParameters.swift │ │ ├── Realtime/ │ │ │ ├── OpenAIRealtimeConversationItemCreate.swift │ │ │ ├── OpenAIRealtimeInputAudioBufferAppend.swift │ │ │ ├── OpenAIRealtimeResponseCreate.swift │ │ │ ├── OpenAIRealtimeSessionConfiguration.swift │ │ │ └── OpenAIRealtimeSessionUpdate.swift │ │ ├── Response/ │ │ │ ├── Conversation.swift │ │ │ ├── GetInputItemsParameter.swift │ │ │ ├── GetResponseParameter.swift │ │ │ ├── InputType.swift │ │ │ ├── ModelResponseParameter.swift │ │ │ ├── Prompt.swift │ │ │ ├── ResponseInclude.swift │ │ │ └── StreamOptions.swift │ │ ├── Runs/ │ │ │ ├── CreateThreadAndRunParameter.swift │ │ │ ├── ModifyRunParameters.swift │ │ │ ├── RunParameter.swift │ │ │ └── RunToolsOutputParameter.swift │ │ ├── Threads/ │ │ │ ├── CreateThreadParameters.swift │ │ │ └── ModifyThreadParameters.swift │ │ ├── VectorStore/ │ │ │ └── VectorStoreParameter.swift │ │ ├── VectorStoreFileBatch/ │ │ │ └── VectorStoreFileBatchParameter.swift │ │ └── VectorStoreFiles/ │ │ └── VectorStoreFileParameter.swift │ ├── ResponseModels/ │ │ ├── Assistants/ │ │ │ ├── AssistantObject.swift │ │ │ ├── AssistantStreamEvent.swift │ │ │ └── AssistantStreamEventObject.swift │ │ ├── Audio/ │ │ │ ├── AudioObject.swift │ │ │ └── AudioSpeechObject.swift │ │ ├── Batch/ │ │ │ └── BatchObject.swift │ │ ├── Chat/ │ │ │ ├── ChatCompletionChunkObject.swift │ │ │ ├── ChatCompletionObject.swift │ │ │ └── ChatUsage.swift │ │ ├── Conversations/ │ │ │ └── ConversationModel.swift │ │ ├── Delta.swift │ │ ├── Embedding/ │ │ │ └── EmbeddingObject.swift │ │ ├── File/ │ │ │ └── FileObject.swift │ │ ├── FineTuning/ │ │ │ ├── FineTuningJobEventObject.swift │ │ │ └── FineTuningJobObject.swift │ │ ├── Image/ │ │ │ └── ImageObject.swift │ │ ├── ImageGen/ │ │ │ └── CreateImageResponse.swift │ │ ├── Messages/ │ │ │ ├── MessageContent.swift │ │ │ ├── MessageDeltaObject.swift │ │ │ └── MessageObject.swift │ │ ├── Model/ │ │ │ └── ModelObject.swift │ │ ├── Moderation/ │ │ │ └── ModerationObject.swift │ │ ├── OpenAIErrorResponse.swift │ │ ├── OpenAIResponse.swift │ │ ├── Realtime/ │ │ │ ├── OpenAIRealtimeInputAudioBufferSpeechStarted.swift │ │ │ ├── OpenAIRealtimeMessage.swift │ │ │ └── OpenAIRealtimeResponseFunctionCallArgumentsDone.swift │ │ ├── Response/ │ │ │ ├── OutputItem.swift │ │ │ ├── ResponseModel.swift │ │ │ └── ResponseStreamEvent.swift │ │ ├── Runs/ │ │ │ ├── RunObject.swift │ │ │ ├── RunStepDeltaObject.swift │ │ │ ├── RunStepDetails.swift │ │ │ └── RunStepObject.swift │ │ ├── Threads/ │ │ │ └── ThreadObject.swift │ │ ├── VectorStore/ │ │ │ └── VectorStoreObject.swift │ │ ├── VectorStoreFile/ │ │ │ └── VectorStoreFileObject.swift │ │ └── VectorStoreFileBatch/ │ │ └── VectorStoreFileBatchObject.swift │ ├── Service/ │ │ ├── DefaultOpenAIService.swift │ │ ├── OpenAIService.swift │ │ └── OpenAIServiceFactory.swift │ └── Shared/ │ ├── AudioController.swift │ ├── DeletionStatus.swift │ ├── ExpirationPolicy.swift │ ├── FileCount.swift │ ├── IncompleteDetails.swift │ ├── JSONSchema.swift │ ├── LastError.swift │ ├── MessageAttachment.swift │ ├── OpenAIError.swift │ ├── OpenAIJSONValue.swift │ ├── Reasoning.swift │ ├── ResponseFormat.swift │ ├── TextConfiguration.swift │ ├── Tool.swift │ ├── ToolCall.swift │ ├── ToolChoice.swift │ ├── ToolChoiceMode.swift │ ├── ToolResources.swift │ ├── TruncationStrategy.swift │ └── Usage.swift ├── Tests/ │ └── OpenAITests/ │ ├── InputTypeTests.swift │ ├── ModelResponseParameterTests.swift │ ├── OpenAITests.swift │ ├── OutputItemTests.swift │ ├── ResponseModelValidationTests.swift │ └── ResponseStreamEventTests.swift └── rules.swiftformat