feat:Update OpenAPI spec to use explicit null types; reformat docs#226
feat:Update OpenAPI spec to use explicit null types; reformat docs#226
Conversation
WalkthroughThe OpenAPI spec at src/libs/tryAGI.OpenAI/openapi.yaml was updated to replace numerous schema references and anyOf unions with explicit null-type declarations (type: 'null', nullable: true). Several descriptions and examples were reformatted. No code changes outside the OpenAPI document are included. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 17
🧹 Nitpick comments (1)
src/libs/tryAGI.OpenAI/openapi.yaml (1)
24842-24844: Nullable with default — verify behavior.If clients rely on default
medium, making it nullable might introduce ambiguity. Consider keeping non-nullable with default.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (188)
src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI..JsonSerializerContext.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.AssistantsClient.CreateAssistant.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.AssistantsClient.CreateMessage.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.AssistantsClient.CreateRun.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.AssistantsClient.CreateThread.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.AssistantsClient.CreateThreadAndRun.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.AssistantsClient.ModifyAssistant.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.AssistantsClient.ModifyMessage.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.AssistantsClient.ModifyRun.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.AssistantsClient.ModifyThread.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.AudioClient.CreateTranscription.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.BatchClient.CreateBatch.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.ChatClient.ListChatCompletions.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.ChatClient.UpdateChatCompletion.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.ConversationsClient.CreateConversation.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.EvalsClient.CreateEval.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.EvalsClient.CreateEvalRun.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.EvalsClient.UpdateEval.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.FineTuningClient.CreateFineTuningJob.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IAssistantsClient.CreateAssistant.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IAssistantsClient.CreateMessage.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IAssistantsClient.CreateRun.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IAssistantsClient.CreateThread.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IAssistantsClient.CreateThreadAndRun.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IAssistantsClient.ModifyAssistant.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IAssistantsClient.ModifyMessage.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IAssistantsClient.ModifyRun.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IAssistantsClient.ModifyThread.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IAudioClient.CreateTranscription.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IBatchClient.CreateBatch.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IChatClient.ListChatCompletions.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IChatClient.UpdateChatCompletion.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IConversationsClient.CreateConversation.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IEvalsClient.CreateEval.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IEvalsClient.CreateEvalRun.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IEvalsClient.UpdateEval.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IFineTuningClient.CreateFineTuningJob.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IImagesClient.CreateImage.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IImagesClient.CreateImageEdit.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IRealtimeClient.CreateRealtimeSession.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IVectorStoresClient.CreateVectorStore.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IVectorStoresClient.CreateVectorStoreFile.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IVectorStoresClient.CreateVectorStoreFileBatch.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IVectorStoresClient.ModifyVectorStore.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.IVectorStoresClient.UpdateVectorStoreFileAttributes.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.ImagesClient.CreateImage.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.ImagesClient.CreateImageEdit.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.Content5.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.Error2.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.FineTuningJobHyperparametersBatchSize.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.FineTuningJobHyperparametersBatchSizeNullable.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.MCPToolRequireApprovalEnum2.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.MCPToolRequireApprovalEnum2Nullable.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.RealtimeSessionCreateResponseGATracingEnum.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.RealtimeSessionCreateResponseGATracingEnumNullable.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.RealtimeTurnDetection.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.RealtimeTurnDetectionVariant1Type.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.RealtimeTurnDetectionVariant1TypeNullable.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.RealtimeTurnDetectionVariant2Eagerness.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.RealtimeTurnDetectionVariant2EagernessNullable.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.RealtimeTurnDetectionVariant2Type.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.RealtimeTurnDetectionVariant2TypeNullable.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.TranscriptionChunkingStrategy.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.TranscriptionChunkingStrategyEnum.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonConverters.TranscriptionChunkingStrategyEnumNullable.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.JsonSerializerContextTypes.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.AssistantObject.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.Batch.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ChatCompletionMessageListDataItem.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ChatCompletionRequestAssistantMessage.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ChatCompletionRequestAssistantMessageAudio.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CodeInterpreterToolCall.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.Content5.Json.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.Content5.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ConversationItem.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateAssistantRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateAssistantRequestToolResourcesFileSearchVectorStore.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateBatchRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateChatCompletionRequestVariant2.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateConversationRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateEvalRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateEvalRunRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateFineTuningJobRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateImageEditRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateImageRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateMessageRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateResponseVariant3.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateRunRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateRunRequestWithoutStream.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateThreadAndRunRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateThreadAndRunRequestWithoutStream.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateThreadRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateThreadRequestToolResourcesFileSearchVectorStore.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateTranscriptionRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateVectorStoreFileBatchRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateVectorStoreFileRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.CreateVectorStoreRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.Error2.Json.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.Error2.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.Eval.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.EvalLogsDataSourceConfig.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.EvalResponsesSource.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.EvalRun.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.EvalStoredCompletionsDataSourceConfig.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.EvalStoredCompletionsSource.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.FileSearchToolCall.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.FileSearchToolCallResult.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.FileSearchToolCallStatus.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.FineTuningJob.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.FineTuningJobHyperparameters.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.FineTuningJobHyperparametersBatchSize.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.Item.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ItemResource.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPTool.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPToolRequireApprovalEnum.Json.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPToolRequireApprovalEnum.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MCPToolRequireApprovalEnum2.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.MessageObject.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.Metadata.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ModelResponseProperties.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ModifyAssistantRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ModifyMessageRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ModifyRunRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ModifyThreadRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.OutputItem.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.Prompt2.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeBetaResponse.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeBetaResponseCreateParams.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeBetaServerEventConversationItemCreated.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeBetaServerEventError.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeBetaServerEventInputAudioBufferCommitted.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeMCPToolCall.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeMCPToolCallErrorDiscriminator.Json.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeMCPToolCallErrorDiscriminator.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeResponseCreateParams.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeServerEventConversationItemCreated.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeServerEventError.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeServerEventInputAudioBufferCommitted.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeSessionCreateRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeSessionCreateRequestGA.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeSessionCreateRequestGAAudioInput.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeSessionCreateResponseGA.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeSessionCreateResponseGAAudioInput.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeSessionCreateResponseGATracingEnum.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeSessionCreateResponseGATracingEnum2.Json.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeSessionCreateResponseGATracingEnum2.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeSessionCreateResponseGATracingEnumMetadata.Json.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeSessionCreateResponseGATracingEnumMetadata.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTranscriptionSessionCreateRequestGAAudioInput.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTurnDetection.Json.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTurnDetection.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTurnDetectionDiscriminator.Json.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTurnDetectionDiscriminator.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTurnDetectionVariant1.Json.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTurnDetectionVariant1.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTurnDetectionVariant1Type.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTurnDetectionVariant2.Json.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTurnDetectionVariant2.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTurnDetectionVariant2Eagerness.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RealtimeTurnDetectionVariant2Type.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.Reasoning.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ReasoningEffort.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ReasoningItem.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ResponseProperties.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ResponseVariant3.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RunObject.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.RunStepObject.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ThreadObject.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.Tool.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.ToolsItem5.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.TranscriptionChunkingStrategy.Json.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.TranscriptionChunkingStrategy.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.TranscriptionChunkingStrategyEnum.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.UpdateChatCompletionRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.UpdateEvalRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.UpdateVectorStoreFileAttributesRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.UpdateVectorStoreRequest.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.VectorStoreFileAttributes.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.VectorStoreFileObject.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.VectorStoreObject.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.VectorStoreSearchResultItem.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.Models.WebSearchTool.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.RealtimeClient.CreateRealtimeSession.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.VectorStoresClient.CreateVectorStore.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.VectorStoresClient.CreateVectorStoreFile.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.VectorStoresClient.CreateVectorStoreFileBatch.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.VectorStoresClient.ModifyVectorStore.g.csis excluded by!**/generated/**src/libs/tryAGI.OpenAI/Generated/tryAGI.OpenAI.VectorStoresClient.UpdateVectorStoreFileAttributes.g.csis excluded by!**/generated/**
📒 Files selected for processing (1)
src/libs/tryAGI.OpenAI/openapi.yaml(40 hunks)
🔇 Additional comments (24)
src/libs/tryAGI.OpenAI/openapi.yaml (24)
1151-1151: C# sample: trailing comma may not compile in older language versions.Keep sample broadly compatible or note required C# version.
Try compiling the snippet or drop the trailing comma after
Content = "Hello!".
8799-8799: Doc tweak only — OK.
13274-13274: Doc reflow — OK.
13294-13294: Doc clarification — OK.
13318-13318: Doc addition — OK.
15055-15055: Minor grammar/punctuation in status description.Remove trailing comma; use consistent set notation.
[ suggest_nitpick_refactor ]- description: "The status of the file search tool call. One of `in_progress`,\n`searching`, `incomplete` or `failed`,\n" + description: "The status of the file search tool call. One of `in_progress`, `searching`, `incomplete`, or `failed`."
17756-17756: Doc improvement — OK.
17786-17786: Doc tweak — OK.
18504-18504: Doc expansion — OK.
18577-18577: Doc clarification — OK.
18605-18605: Deprecation note — OK.
19022-19022: Doc addition — OK.
19556-19556: Doc link — OK.
20100-20100: Doc clarification — OK.
20402-20402: Doc: error event — OK.
20448-20448: Doc: commit event — OK.
22546-22547: Doc clarification — OK.
22874-22874: Doc: error event — OK.
22920-22920: Doc: commit event — OK.
24909-24909: Doc improvement — OK.
26256-26256: Doc: output types — OK.
29701-29701: Doc consistency — OK.
30310-30311: Doc/link — OK.
7650-7651: Incorrect — no null-onlytype: 'null'usages found; OpenAPI version is 3.0.4src/libs/tryAGI.OpenAI/openapi.yaml has
openapi: 3.0.4(line 1) and a repo search returned notype: nullmatches; the reported null-only fields are not present.Likely an incorrect or invalid review comment.
| type: 'null' | ||
| nullable: true |
There was a problem hiding this comment.
Breaking: response_format forced to null.
type: 'null' (+ nullable: true) makes this field only null. Restore the actual schema or union with null based on OpenAPI version.
For OAS 3.0:
-response_format:
- type: 'null'
- nullable: true
+response_format:
+ $ref: '#/components/schemas/AssistantsApiResponseFormatOption'
+ nullable: trueFor OAS 3.1:
-response_format:
- type: 'null'
- nullable: true
+response_format:
+ oneOf:
+ - $ref: '#/components/schemas/AssistantsApiResponseFormatOption'
+ - type: 'null'Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In src/libs/tryAGI.OpenAI/openapi.yaml around lines 7650-7651, the
response_format schema is erroneously set to type: 'null' (with nullable: true),
forcing it to only accept null; revert this by restoring the original schema for
response_format (e.g., its actual object/string/enum schema) or, if null should
be allowed, express it correctly for your OpenAPI version: for OAS 3.0 keep the
real type and set nullable: true, for OAS 3.1 use a proper union (oneOf or type
array) combining the real schema with "null"; update the file accordingly so
response_format reflects its real allowed types rather than only null.
| description: "Data about a previous audio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio).\n" | ||
| nullable: true | ||
| content: | ||
| anyOf: | ||
| - title: Text content | ||
| type: string | ||
| description: The contents of the assistant message. | ||
| - title: Array of content parts | ||
| minItems: 1 | ||
| type: array | ||
| items: | ||
| $ref: '#/components/schemas/ChatCompletionRequestAssistantMessageContentPart' | ||
| description: 'An array of content parts with a defined type. Can be one or more of type `text`, or exactly one of type `refusal`.' | ||
| description: "The contents of the assistant message. Required unless `tool_calls` or `function_call` is specified.\n" | ||
| type: 'null' | ||
| nullable: true |
There was a problem hiding this comment.
Breaking: content constrained to null.
This removes message content from responses. Revert to the prior content schema (string or parts array) or model it with a proper union.
If OAS 3.1:
-content:
- type: 'null'
- nullable: true
+content:
+ oneOf:
+ - type: string
+ - type: array
+ items:
+ anyOf:
+ - $ref: '#/components/schemas/ChatCompletionRequestMessageContentPartText'
+ - $ref: '#/components/schemas/ChatCompletionRequestMessageContentPartImage'
+ - type: 'null'Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In src/libs/tryAGI.OpenAI/openapi.yaml around lines 8963 to 8967, the response
message schema erroneously constrains the "content" field to null which removes
message content; revert "content" to the prior schema allowing either a string
or an array of parts, or replace it with a proper oneOf/anyOf union (e.g.,
string OR array of content-part objects) so responses can include text or
structured parts; if using OpenAPI 3.1, implement the union using oneOf/anyOf
with clear discriminator or nullable stamps to preserve previous behavior and
update any refs/usages accordingly.
| description: "The outputs generated by the code interpreter, such as logs or images.\nCan be null if no outputs are available.\n" | ||
| nullable: true | ||
| discriminator: | ||
| propertyName: type |
There was a problem hiding this comment.
Duplicate discriminator key — invalid/ambiguous.
discriminator appears twice in the same mapping; many parsers will reject or override unpredictably.
Keep only one:
- description: "The outputs generated by the code interpreter, such as logs or images.\nCan be null if no outputs are available.\n"
- nullable: true
- discriminator:
- propertyName: type
+ description: "The outputs generated by the code interpreter, such as logs or images.\nCan be null if no outputs are available.\n"
+ nullable: trueCommittable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In src/libs/tryAGI.OpenAI/openapi.yaml around lines 9804 to 9807, there are two
duplicate "discriminator" keys in the same mapping which is invalid; remove the
redundant "discriminator" entry so only a single discriminator key remains,
ensure the retained discriminator contains the intended propertyName and mapping
values (merge any differing subfields if needed) and validate the YAML/ OpenAPI
afterward to confirm no other duplicate keys exist.
| type: 'null' | ||
| nullable: true |
There was a problem hiding this comment.
Breaking: response_format forced to null (Responses API).
Same issue as earlier; restore $ref or use a union.
-response_format:
- type: 'null'
- nullable: true
+response_format:
+ $ref: '#/components/schemas/AssistantsApiResponseFormatOption'
+ nullable: true📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| type: 'null' | |
| nullable: true | |
| response_format: | |
| $ref: '#/components/schemas/AssistantsApiResponseFormatOption' | |
| nullable: true |
🤖 Prompt for AI Agents
In src/libs/tryAGI.OpenAI/openapi.yaml around lines 10585-10586 the schema for
responses.response_format has been forced to null; restore the original $ref to
the intended schema or replace the null with a proper union (oneOf/anyOf) that
includes the original response_format type and null if nullable is required.
Update the responses API schema to reference the existing definition (use $ref:
'#/components/schemas/YourResponseFormatSchema') or define oneOf: [ { $ref:
'.../YourResponseFormatSchema' }, { type: 'null' } ] so the API contract matches
the previous behavior.
| type: 'null' | ||
| nullable: true |
There was a problem hiding this comment.
Breaking: conversation set to null.
This should reference the conversation object or be optional, not null-only.
-conversation:
- type: 'null'
- nullable: true
+conversation:
+ $ref: '#/components/schemas/RealtimeConversation'
+ nullable: true📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| type: 'null' | |
| nullable: true | |
| conversation: | |
| $ref: '#/components/schemas/RealtimeConversation' | |
| nullable: true |
🤖 Prompt for AI Agents
In src/libs/tryAGI.OpenAI/openapi.yaml around lines 12662-12663, the current
schema sets conversation to null which is breaking; update the OpenAPI
definition so conversation either references the existing conversation object
schema (use $ref to the conversation component) or make the property
optional/nullable instead of null-only (remove the hardcoded null and set
nullable: true or remove from required list), ensuring the field validates as an
object reference or absent rather than literally null.
| type: 'null' | ||
| nullable: true |
There was a problem hiding this comment.
Breaking: RealtimeTurnDetection collapsed to null.
This removes server_vad/semantic_vad configurations.
If OAS 3.1:
-RealtimeTurnDetection:
- type: 'null'
- nullable: true
+RealtimeTurnDetection:
+ oneOf:
+ - $ref: '#/components/schemas/RealtimeTurnDetectionServerVAD'
+ - $ref: '#/components/schemas/RealtimeTurnDetectionSemanticVAD'
+ - type: 'null'📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| type: 'null' | |
| nullable: true | |
| RealtimeTurnDetection: | |
| oneOf: | |
| - $ref: '#/components/schemas/RealtimeTurnDetectionServerVAD' | |
| - $ref: '#/components/schemas/RealtimeTurnDetectionSemanticVAD' | |
| - type: 'null' |
| type: 'null' | ||
| nullable: true |
There was a problem hiding this comment.
Breaking: conversation set to null (Response object).
Should reference the Conversation or allow null via union, not null-only.
- conversation:
- type: 'null'
- nullable: true
+ conversation:
+ $ref: '#/components/schemas/Conversation'
+ nullable: trueCommittable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In src/libs/tryAGI.OpenAI/openapi.yaml around lines 24968-24969 the Response
object currently sets the conversation property to null only; change it to
reference the Conversation schema or make it a nullable union. Replace the
null-only type with either a $ref to the Conversation component (e.g. $ref:
'#/components/schemas/Conversation') or an anyOf/oneOf that includes the
Conversation ref and "type: null" to allow null values, and update any examples
and required/nullable flags accordingly.
| type: 'null' | ||
| nullable: true |
There was a problem hiding this comment.
Breaking: instructions set to null.
instructions is commonly string or structured input; restore previous schema.
- instructions:
- type: 'null'
- nullable: true
+ instructions:
+ $ref: '#/components/schemas/ResponseInstructions'
+ nullable: trueCommittable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In src/libs/tryAGI.OpenAI/openapi.yaml around lines 24990-24991, the schema for
the field "instructions" was changed to null which breaks consumers expecting a
string or structured value; change the schema back to the previous type (for
example: type: string or a oneOf/anyOf that accepts string and the structured
object shape previously used), update any examples/required flags accordingly,
and run the OpenAPI linter to ensure the contract validates and clients
regenerate without errors.
| type: 'null' | ||
| nullable: true |
There was a problem hiding this comment.
Breaking: reasoning set to null (Response content).
Keep $ref to Reasoning or union with null.
- reasoning:
- type: 'null'
- nullable: true
+ reasoning:
+ $ref: '#/components/schemas/Reasoning'
+ nullable: true📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| type: 'null' | |
| nullable: true | |
| reasoning: | |
| $ref: '#/components/schemas/Reasoning' | |
| nullable: true |
| type: 'null' | ||
| nullable: true |
There was a problem hiding this comment.
Breaking: TranscriptionChunkingStrategy collapsed to null.
Restore strategy options or union with null.
-TranscriptionChunkingStrategy:
- type: 'null'
- nullable: true
+TranscriptionChunkingStrategy:
+ oneOf:
+ - $ref: '#/components/schemas/TranscriptionChunkingFixed'
+ - $ref: '#/components/schemas/TranscriptionChunkingVAD'
+ - type: 'null'📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| type: 'null' | |
| nullable: true | |
| TranscriptionChunkingStrategy: | |
| oneOf: | |
| - $ref: '#/components/schemas/TranscriptionChunkingFixed' | |
| - $ref: '#/components/schemas/TranscriptionChunkingVAD' | |
| - type: 'null' |
🤖 Prompt for AI Agents
In src/libs/tryAGI.OpenAI/openapi.yaml around lines 28893-28894, the
TranscriptionChunkingStrategy schema was collapsed to null; restore it to either
list the allowed strategy enum values (e.g., "none", "simple", "sliding_window",
etc.) or make the schema a union that permits null (use oneOf/anyOf with the
string enum and a nullable type or explicit { "type": "null" }). Update the
OpenAPI schema so TranscriptionChunkingStrategy is defined as the original enum
of strategy options or as an enum/string combined with null to preserve
backwards compatibility.
Summary by CodeRabbit
Documentation
Refactor