Update discriminator to have the correct mapping (#881)

See
https://swagger.io/docs/specification/v3_0/data-models/inheritance-and-polymorphism/#discriminator

When specifying discriminators, mapping must be specified unless the
value of the discriminator is the subtype itself (which in our case is
not.)

The changes in the YAML are self-explanatory.
This commit is contained in:
Ashwin Bharambe 2025-01-27 09:18:13 -08:00 committed by GitHub
parent a6d20e0f53
commit e5936a8df8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 642 additions and 420 deletions

View file

@ -3812,7 +3812,11 @@
}
],
"discriminator": {
"propertyName": "type"
"propertyName": "type",
"mapping": {
"image": "#/components/schemas/ImageContentItem",
"text": "#/components/schemas/TextContentItem"
}
}
},
"Message": {
@ -3831,7 +3835,13 @@
}
],
"discriminator": {
"propertyName": "role"
"propertyName": "role",
"mapping": {
"user": "#/components/schemas/UserMessage",
"system": "#/components/schemas/SystemMessage",
"tool": "#/components/schemas/ToolResponseMessage",
"assistant": "#/components/schemas/CompletionMessage"
}
}
},
"SamplingParams": {
@ -3850,7 +3860,12 @@
}
],
"discriminator": {
"propertyName": "type"
"propertyName": "type",
"mapping": {
"greedy": "#/components/schemas/GreedySamplingStrategy",
"top_p": "#/components/schemas/TopPSamplingStrategy",
"top_k": "#/components/schemas/TopKSamplingStrategy"
}
}
},
"max_tokens": {
@ -4313,91 +4328,101 @@
"job_uuid"
]
},
"GrammarResponseFormat": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "grammar",
"default": "grammar"
},
"bnf": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
}
},
"additionalProperties": false,
"required": [
"type",
"bnf"
]
},
"JsonSchemaResponseFormat": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "json_schema",
"default": "json_schema"
},
"json_schema": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
}
},
"additionalProperties": false,
"required": [
"type",
"json_schema"
]
},
"ResponseFormat": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "json_schema",
"default": "json_schema"
},
"json_schema": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
}
},
"additionalProperties": false,
"required": [
"type",
"json_schema"
]
"$ref": "#/components/schemas/JsonSchemaResponseFormat"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "grammar",
"default": "grammar"
},
"bnf": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
}
},
"additionalProperties": false,
"required": [
"type",
"bnf"
]
"$ref": "#/components/schemas/GrammarResponseFormat"
}
],
"discriminator": {
"propertyName": "type"
"propertyName": "type",
"mapping": {
"json_schema": "#/components/schemas/JsonSchemaResponseFormat",
"grammar": "#/components/schemas/GrammarResponseFormat"
}
}
},
"ChatCompletionRequest": {
@ -4529,7 +4554,12 @@
}
],
"discriminator": {
"propertyName": "type"
"propertyName": "type",
"mapping": {
"text": "#/components/schemas/TextDelta",
"image": "#/components/schemas/ImageDelta",
"tool_call": "#/components/schemas/ToolCallDelta"
}
}
},
"ImageDelta": {
@ -4737,8 +4767,7 @@
"default": "auto"
},
"tool_prompt_format": {
"$ref": "#/components/schemas/ToolPromptFormat",
"default": "json"
"$ref": "#/components/schemas/ToolPromptFormat"
},
"max_infer_iters": {
"type": "integer",
@ -5018,33 +5047,42 @@
"type": "object",
"properties": {
"payload": {
"oneOf": [
{
"$ref": "#/components/schemas/AgentTurnResponseStepStartPayload"
},
{
"$ref": "#/components/schemas/AgentTurnResponseStepProgressPayload"
},
{
"$ref": "#/components/schemas/AgentTurnResponseStepCompletePayload"
},
{
"$ref": "#/components/schemas/AgentTurnResponseTurnStartPayload"
},
{
"$ref": "#/components/schemas/AgentTurnResponseTurnCompletePayload"
}
],
"discriminator": {
"propertyName": "event_type"
}
"$ref": "#/components/schemas/AgentTurnResponseEventPayload"
}
},
"additionalProperties": false,
"required": [
"payload"
]
},
"AgentTurnResponseEventPayload": {
"oneOf": [
{
"$ref": "#/components/schemas/AgentTurnResponseStepStartPayload"
},
{
"$ref": "#/components/schemas/AgentTurnResponseStepProgressPayload"
},
{
"$ref": "#/components/schemas/AgentTurnResponseStepCompletePayload"
},
{
"$ref": "#/components/schemas/AgentTurnResponseTurnStartPayload"
},
{
"$ref": "#/components/schemas/AgentTurnResponseTurnCompletePayload"
}
],
"title": "Streamed agent execution response."
"discriminator": {
"propertyName": "event_type",
"mapping": {
"step_start": "#/components/schemas/AgentTurnResponseStepStartPayload",
"step_progress": "#/components/schemas/AgentTurnResponseStepProgressPayload",
"step_complete": "#/components/schemas/AgentTurnResponseStepCompletePayload",
"turn_start": "#/components/schemas/AgentTurnResponseTurnStartPayload",
"turn_complete": "#/components/schemas/AgentTurnResponseTurnCompletePayload"
}
}
},
"AgentTurnResponseStepCompletePayload": {
"type": "object",
@ -5082,7 +5120,13 @@
}
],
"discriminator": {
"propertyName": "step_type"
"propertyName": "step_type",
"mapping": {
"inference": "#/components/schemas/InferenceStep",
"tool_execution": "#/components/schemas/ToolExecutionStep",
"shield_call": "#/components/schemas/ShieldCallStep",
"memory_retrieval": "#/components/schemas/MemoryRetrievalStep"
}
}
}
},
@ -5485,7 +5529,13 @@
}
],
"discriminator": {
"propertyName": "step_type"
"propertyName": "step_type",
"mapping": {
"inference": "#/components/schemas/InferenceStep",
"tool_execution": "#/components/schemas/ToolExecutionStep",
"shield_call": "#/components/schemas/ShieldCallStep",
"memory_retrieval": "#/components/schemas/MemoryRetrievalStep"
}
}
}
},
@ -5629,35 +5679,12 @@
"default": "app"
},
"eval_candidate": {
"oneOf": [
{
"$ref": "#/components/schemas/ModelCandidate"
},
{
"$ref": "#/components/schemas/AgentCandidate"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/EvalCandidate"
},
"scoring_params": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"$ref": "#/components/schemas/LLMAsJudgeScoringFnParams"
},
{
"$ref": "#/components/schemas/RegexParserScoringFnParams"
},
{
"$ref": "#/components/schemas/BasicScoringFnParams"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/ScoringFnParams"
}
},
"num_examples": {
@ -5700,17 +5727,7 @@
"default": "benchmark"
},
"eval_candidate": {
"oneOf": [
{
"$ref": "#/components/schemas/ModelCandidate"
},
{
"$ref": "#/components/schemas/AgentCandidate"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/EvalCandidate"
},
"num_examples": {
"type": "integer"
@ -5722,6 +5739,40 @@
"eval_candidate"
]
},
"EvalCandidate": {
"oneOf": [
{
"$ref": "#/components/schemas/ModelCandidate"
},
{
"$ref": "#/components/schemas/AgentCandidate"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"model": "#/components/schemas/ModelCandidate",
"agent": "#/components/schemas/AgentCandidate"
}
}
},
"EvalTaskConfig": {
"oneOf": [
{
"$ref": "#/components/schemas/BenchmarkEvalTaskConfig"
},
{
"$ref": "#/components/schemas/AppEvalTaskConfig"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"benchmark": "#/components/schemas/BenchmarkEvalTaskConfig",
"app": "#/components/schemas/AppEvalTaskConfig"
}
}
},
"LLMAsJudgeScoringFnParams": {
"type": "object",
"properties": {
@ -5806,6 +5857,27 @@
"type"
]
},
"ScoringFnParams": {
"oneOf": [
{
"$ref": "#/components/schemas/LLMAsJudgeScoringFnParams"
},
{
"$ref": "#/components/schemas/RegexParserScoringFnParams"
},
{
"$ref": "#/components/schemas/BasicScoringFnParams"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"llm_as_judge": "#/components/schemas/LLMAsJudgeScoringFnParams",
"regex_parser": "#/components/schemas/RegexParserScoringFnParams",
"basic": "#/components/schemas/BasicScoringFnParams"
}
}
},
"EvaluateRowsRequest": {
"type": "object",
"properties": {
@ -5844,17 +5916,7 @@
}
},
"task_config": {
"oneOf": [
{
"$ref": "#/components/schemas/BenchmarkEvalTaskConfig"
},
{
"$ref": "#/components/schemas/AppEvalTaskConfig"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/EvalTaskConfig"
}
},
"additionalProperties": false,
@ -6019,7 +6081,13 @@
}
],
"discriminator": {
"propertyName": "step_type"
"propertyName": "step_type",
"mapping": {
"inference": "#/components/schemas/InferenceStep",
"tool_execution": "#/components/schemas/ToolExecutionStep",
"shield_call": "#/components/schemas/ShieldCallStep",
"memory_retrieval": "#/components/schemas/MemoryRetrievalStep"
}
}
}
},
@ -6237,7 +6305,19 @@
}
],
"discriminator": {
"propertyName": "type"
"propertyName": "type",
"mapping": {
"string": "#/components/schemas/StringType",
"number": "#/components/schemas/NumberType",
"boolean": "#/components/schemas/BooleanType",
"array": "#/components/schemas/ArrayType",
"object": "#/components/schemas/ObjectType",
"json": "#/components/schemas/JsonType",
"union": "#/components/schemas/UnionType",
"chat_completion_input": "#/components/schemas/ChatCompletionInputType",
"completion_input": "#/components/schemas/CompletionInputType",
"agent_turn_input": "#/components/schemas/AgentTurnInputType"
}
}
},
"StringType": {
@ -6488,20 +6568,7 @@
"$ref": "#/components/schemas/ParamType"
},
"params": {
"oneOf": [
{
"$ref": "#/components/schemas/LLMAsJudgeScoringFnParams"
},
{
"$ref": "#/components/schemas/RegexParserScoringFnParams"
},
{
"$ref": "#/components/schemas/BasicScoringFnParams"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/ScoringFnParams"
}
},
"additionalProperties": false,
@ -7415,6 +7482,27 @@
"data"
]
},
"Event": {
"oneOf": [
{
"$ref": "#/components/schemas/UnstructuredLogEvent"
},
{
"$ref": "#/components/schemas/MetricEvent"
},
{
"$ref": "#/components/schemas/StructuredLogEvent"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"unstructured_log": "#/components/schemas/UnstructuredLogEvent",
"metric": "#/components/schemas/MetricEvent",
"structured_log": "#/components/schemas/StructuredLogEvent"
}
}
},
"LogSeverity": {
"type": "string",
"enum": [
@ -7580,17 +7668,7 @@
"default": "structured_log"
},
"payload": {
"oneOf": [
{
"$ref": "#/components/schemas/SpanStartPayload"
},
{
"$ref": "#/components/schemas/SpanEndPayload"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/StructuredLogPayload"
}
},
"additionalProperties": false,
@ -7602,6 +7680,23 @@
"payload"
]
},
"StructuredLogPayload": {
"oneOf": [
{
"$ref": "#/components/schemas/SpanStartPayload"
},
{
"$ref": "#/components/schemas/SpanEndPayload"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"span_start": "#/components/schemas/SpanStartPayload",
"span_end": "#/components/schemas/SpanEndPayload"
}
}
},
"UnstructuredLogEvent": {
"type": "object",
"properties": {
@ -7666,20 +7761,7 @@
"type": "object",
"properties": {
"event": {
"oneOf": [
{
"$ref": "#/components/schemas/UnstructuredLogEvent"
},
{
"$ref": "#/components/schemas/MetricEvent"
},
{
"$ref": "#/components/schemas/StructuredLogEvent"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/Event"
},
"ttl_seconds": {
"type": "integer"
@ -8011,7 +8093,11 @@
}
],
"discriminator": {
"propertyName": "type"
"propertyName": "type",
"mapping": {
"default": "#/components/schemas/DefaultRAGQueryGeneratorConfig",
"llm": "#/components/schemas/LLMRAGQueryGeneratorConfig"
}
}
},
"QueryRequest": {
@ -8394,20 +8480,7 @@
"type": "string"
},
"params": {
"oneOf": [
{
"$ref": "#/components/schemas/LLMAsJudgeScoringFnParams"
},
{
"$ref": "#/components/schemas/RegexParserScoringFnParams"
},
{
"$ref": "#/components/schemas/BasicScoringFnParams"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/ScoringFnParams"
}
},
"additionalProperties": false,
@ -8533,17 +8606,7 @@
"type": "object",
"properties": {
"task_config": {
"oneOf": [
{
"$ref": "#/components/schemas/BenchmarkEvalTaskConfig"
},
{
"$ref": "#/components/schemas/AppEvalTaskConfig"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/EvalTaskConfig"
}
},
"additionalProperties": false,
@ -8682,20 +8745,7 @@
"additionalProperties": {
"oneOf": [
{
"oneOf": [
{
"$ref": "#/components/schemas/LLMAsJudgeScoringFnParams"
},
{
"$ref": "#/components/schemas/RegexParserScoringFnParams"
},
{
"$ref": "#/components/schemas/BasicScoringFnParams"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/ScoringFnParams"
},
{
"type": "null"
@ -8736,20 +8786,7 @@
"additionalProperties": {
"oneOf": [
{
"oneOf": [
{
"$ref": "#/components/schemas/LLMAsJudgeScoringFnParams"
},
{
"$ref": "#/components/schemas/RegexParserScoringFnParams"
},
{
"$ref": "#/components/schemas/BasicScoringFnParams"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/ScoringFnParams"
},
{
"type": "null"
@ -8786,6 +8823,23 @@
"results"
]
},
"AlgorithmConfig": {
"oneOf": [
{
"$ref": "#/components/schemas/LoraFinetuningConfig"
},
{
"$ref": "#/components/schemas/QATFinetuningConfig"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"LoRA": "#/components/schemas/LoraFinetuningConfig",
"QAT": "#/components/schemas/QATFinetuningConfig"
}
}
},
"LoraFinetuningConfig": {
"type": "object",
"properties": {
@ -8919,17 +8973,7 @@
"type": "string"
},
"algorithm_config": {
"oneOf": [
{
"$ref": "#/components/schemas/LoraFinetuningConfig"
},
{
"$ref": "#/components/schemas/QATFinetuningConfig"
}
],
"discriminator": {
"propertyName": "type"
}
"$ref": "#/components/schemas/AlgorithmConfig"
}
},
"additionalProperties": false,
@ -9086,7 +9130,11 @@
},
{
"name": "AgentTurnResponseEvent",
"description": "Streamed agent execution response.\n\n<SchemaDefinition schemaRef=\"#/components/schemas/AgentTurnResponseEvent\" />"
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/AgentTurnResponseEvent\" />"
},
{
"name": "AgentTurnResponseEventPayload",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/AgentTurnResponseEventPayload\" />"
},
{
"name": "AgentTurnResponseStepCompletePayload",
@ -9119,6 +9167,10 @@
"name": "AggregationFunctionType",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/AggregationFunctionType\" />"
},
{
"name": "AlgorithmConfig",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/AlgorithmConfig\" />"
},
{
"name": "AppEvalTaskConfig",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/AppEvalTaskConfig\" />"
@ -9275,10 +9327,18 @@
{
"name": "Eval"
},
{
"name": "EvalCandidate",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/EvalCandidate\" />"
},
{
"name": "EvalTask",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/EvalTask\" />"
},
{
"name": "EvalTaskConfig",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/EvalTaskConfig\" />"
},
{
"name": "EvalTasks"
},
@ -9290,6 +9350,14 @@
"name": "EvaluateRowsRequest",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/EvaluateRowsRequest\" />"
},
{
"name": "Event",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/Event\" />"
},
{
"name": "GrammarResponseFormat",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/GrammarResponseFormat\" />"
},
{
"name": "GreedySamplingStrategy",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/GreedySamplingStrategy\" />"
@ -9344,6 +9412,10 @@
"name": "JobStatus",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/JobStatus\" />"
},
{
"name": "JsonSchemaResponseFormat",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/JsonSchemaResponseFormat\" />"
},
{
"name": "JsonType",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/JsonType\" />"
@ -9628,6 +9700,10 @@
"name": "ScoringFn",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/ScoringFn\" />"
},
{
"name": "ScoringFnParams",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/ScoringFnParams\" />"
},
{
"name": "ScoringFunctions"
},
@ -9682,6 +9758,10 @@
"name": "StructuredLogEvent",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/StructuredLogEvent\" />"
},
{
"name": "StructuredLogPayload",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/StructuredLogPayload\" />"
},
{
"name": "SupervisedFineTuneRequest",
"description": "<SchemaDefinition schemaRef=\"#/components/schemas/SupervisedFineTuneRequest\" />"
@ -9878,6 +9958,7 @@
"AgentTool",
"AgentTurnInputType",
"AgentTurnResponseEvent",
"AgentTurnResponseEventPayload",
"AgentTurnResponseStepCompletePayload",
"AgentTurnResponseStepProgressPayload",
"AgentTurnResponseStepStartPayload",
@ -9885,6 +9966,7 @@
"AgentTurnResponseTurnCompletePayload",
"AgentTurnResponseTurnStartPayload",
"AggregationFunctionType",
"AlgorithmConfig",
"AppEvalTaskConfig",
"AppendRowsRequest",
"ArrayType",
@ -9921,9 +10003,13 @@
"EfficiencyConfig",
"EmbeddingsRequest",
"EmbeddingsResponse",
"EvalCandidate",
"EvalTask",
"EvalTaskConfig",
"EvaluateResponse",
"EvaluateRowsRequest",
"Event",
"GrammarResponseFormat",
"GreedySamplingStrategy",
"HealthInfo",
"ImageContentItem",
@ -9936,6 +10022,7 @@
"InvokeToolRequest",
"Job",
"JobStatus",
"JsonSchemaResponseFormat",
"JsonType",
"LLMAsJudgeScoringFnParams",
"LLMRAGQueryGeneratorConfig",
@ -10004,6 +10091,7 @@
"ScoreRequest",
"ScoreResponse",
"ScoringFn",
"ScoringFnParams",
"ScoringResult",
"Session",
"Shield",
@ -10016,6 +10104,7 @@
"StopReason",
"StringType",
"StructuredLogEvent",
"StructuredLogPayload",
"SupervisedFineTuneRequest",
"SyntheticDataGenerateRequest",
"SyntheticDataGenerationResponse",