{
	"$defs": {
		"Conversation": {
			"properties": {
				"turns": {
					"description": "List of conversation turns",
					"items": { "$ref": "#/$defs/ConversationTurn" },
					"title": "Turns",
					"type": "array"
				},
				"context": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Conversation context (system prompt)",
					"title": "Context"
				},
				"topic": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Conversation topic",
					"title": "Topic"
				},
				"metadata": {
					"additionalProperties": true,
					"description": "Additional metadata",
					"title": "Metadata",
					"type": "object"
				}
			},
			"title": "Conversation",
			"type": "object"
		},
		"ConversationTurn": {
			"properties": {
				"speaker": {
					"description": "Identifier for speaker (user/assistant/system)",
					"title": "Speaker",
					"type": "string"
				},
				"message": {
					"description": "The message content",
					"title": "Message",
					"type": "string"
				},
				"timestamp": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "ISO timestamp of the message",
					"title": "Timestamp"
				},
				"metadata": {
					"additionalProperties": true,
					"description": "Additional metadata",
					"title": "Metadata",
					"type": "object"
				}
			},
			"required": ["speaker", "message"],
			"title": "ConversationTurn",
			"type": "object"
		},
		"EOUMetrics": {
			"properties": {
				"timestamp": {
					"description": "Timestamp of metric collection",
					"title": "Timestamp",
					"type": "number"
				},
				"model_name": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "EOU model name",
					"title": "Model Name"
				},
				"model_provider": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "EOU model provider",
					"title": "Model Provider"
				},
				"end_of_utterance_delay": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Delay to detect end of utterance in seconds",
					"title": "End Of Utterance Delay"
				},
				"transcription_delay": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Transcription delay in seconds",
					"title": "Transcription Delay"
				},
				"on_user_turn_completed_delay": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Delay until user turn completed in seconds",
					"title": "On User Turn Completed Delay"
				},
				"confidence": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Confidence score",
					"title": "Confidence"
				},
				"speech_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Speech identifier",
					"title": "Speech Id"
				},
				"trace_context": {
					"anyOf": [{ "$ref": "#/$defs/TraceContext" }, { "type": "null" }],
					"default": null,
					"description": "Trace context"
				},
				"metadata": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"description": "Additional metadata",
					"title": "Metadata"
				}
			},
			"required": ["timestamp"],
			"title": "EOUMetrics",
			"type": "object"
		},
		"LLMMetrics": {
			"properties": {
				"timestamp": {
					"description": "Timestamp of metric collection",
					"title": "Timestamp",
					"type": "number"
				},
				"model_name": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "LLM model name",
					"title": "Model Name"
				},
				"model_provider": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "LLM model provider",
					"title": "Model Provider"
				},
				"label": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Label for this metric",
					"title": "Label"
				},
				"request_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Request identifier",
					"title": "Request Id"
				},
				"duration": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Total duration in seconds",
					"title": "Duration"
				},
				"ttft": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Time to first token in seconds",
					"title": "Ttft"
				},
				"cancelled": {
					"anyOf": [{ "type": "boolean" }, { "type": "null" }],
					"default": null,
					"description": "Whether cancelled",
					"title": "Cancelled"
				},
				"completion_tokens": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Completion token count",
					"title": "Completion Tokens"
				},
				"prompt_tokens": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Prompt token count",
					"title": "Prompt Tokens"
				},
				"prompt_cached_tokens": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Cached prompt token count",
					"title": "Prompt Cached Tokens"
				},
				"total_tokens": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Total token count",
					"title": "Total Tokens"
				},
				"tokens_per_second": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Tokens per second throughput",
					"title": "Tokens Per Second"
				},
				"speech_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Speech identifier",
					"title": "Speech Id"
				},
				"trace_context": {
					"anyOf": [{ "$ref": "#/$defs/TraceContext" }, { "type": "null" }],
					"default": null,
					"description": "Trace context"
				},
				"metadata": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"description": "Additional metadata",
					"title": "Metadata"
				}
			},
			"required": ["timestamp"],
			"title": "LLMMetrics",
			"type": "object"
		},
		"RawCompleteAudio": {
			"properties": {
				"audio_duration": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Total audio duration in seconds",
					"title": "Audio Duration"
				},
				"audio_uuid": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Unique identifier for audio",
					"title": "Audio Uuid"
				},
				"sample_rate": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Audio sample rate in Hz",
					"title": "Sample Rate"
				},
				"channels": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Number of audio channels",
					"title": "Channels"
				},
				"bit_depth": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Bit depth of audio",
					"title": "Bit Depth"
				},
				"format": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Audio format (e.g., 'wav', 'mp3')",
					"title": "Format"
				},
				"file_size": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "File size in bytes",
					"title": "File Size"
				},
				"complete_transcript": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Complete transcript of the audio content",
					"title": "Complete Transcript"
				},
				"timeline": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"description": "Timeline information for the audio content",
					"title": "Timeline"
				},
				"metadata": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"description": "Additional metadata",
					"title": "Metadata"
				},
				"audio_url": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Pre-signed URL for direct audio download",
					"title": "Audio Url"
				}
			},
			"title": "RawCompleteAudio",
			"type": "object"
		},
		"STTData": {
			"properties": {
				"provider": {
					"description": "STT provider (e.g., 'deepgram', 'whisper')",
					"title": "Provider",
					"type": "string"
				},
				"model": {
					"description": "Model used for STT",
					"title": "Model",
					"type": "string"
				},
				"transcript": {
					"description": "Transcribed text",
					"title": "Transcript",
					"type": "string"
				},
				"confidence": {
					"description": "Confidence score of transcription",
					"title": "Confidence",
					"type": "number"
				},
				"audio_uuid": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Unique identifier for the audio the STT engine actually consumed (the noise-filter OUTPUT / post-suppression / 'cleaned' audio). This is the audio that produced `transcript`.",
					"title": "Audio Uuid"
				},
				"audio_duration_ms": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Duration of audio in milliseconds",
					"title": "Audio Duration Ms"
				},
				"raw_audio_uuid": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Unique identifier for the PRE-filter / pre-suppression ('raw') audio \u2014 the noise-filter INPUT, before noise suppression was applied. Paired with `audio_uuid` (the filter OUTPUT) this enables pairwise over-suppression scoring. Must be the same recording as `audio_uuid` tapped on the same side of any codec (compare the filter's input vs its output, NOT against a pristine reference).",
					"title": "Raw Audio Uuid"
				},
				"raw_audio_url": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Pre-signed URL for direct download of the pre-filter ('raw') audio",
					"title": "Raw Audio Url"
				},
				"start_time": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Start time in seconds",
					"title": "Start Time"
				},
				"end_time": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "End time in seconds",
					"title": "End Time"
				},
				"language": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Language code (e.g., 'en-US')",
					"title": "Language"
				},
				"is_final": {
					"default": true,
					"description": "Whether this is the final transcript",
					"title": "Is Final",
					"type": "boolean"
				},
				"mode": {
					"default": "streaming",
					"description": "Mode: 'streaming' or 'batch'",
					"title": "Mode",
					"type": "string"
				},
				"event_type": {
					"default": "final_transcript",
					"description": "Type of event (e.g., 'final_transcript')",
					"title": "Event Type",
					"type": "string"
				},
				"request_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Request identifier",
					"title": "Request Id"
				},
				"speaker_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Speaker identifier",
					"title": "Speaker Id"
				},
				"is_primary_speaker": {
					"anyOf": [{ "type": "boolean" }, { "type": "null" }],
					"default": null,
					"description": "Whether this is the primary speaker",
					"title": "Is Primary Speaker"
				},
				"span_start_time": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Span start time (ISO format)",
					"title": "Span Start Time"
				},
				"span_end_time": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Span end time (ISO format)",
					"title": "Span End Time"
				},
				"span_duration_ms": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Span duration in milliseconds",
					"title": "Span Duration Ms"
				},
				"sample_rate": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Audio sample rate in Hz",
					"title": "Sample Rate"
				},
				"channels": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Number of audio channels",
					"title": "Channels"
				},
				"metadata": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"description": "Additional metadata",
					"title": "Metadata"
				},
				"audio_url": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Pre-signed URL for direct audio download",
					"title": "Audio Url"
				},
				"stt_guidelines": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Deployment-specific instructions for STT judge scorers (e.g. expected locale, domain vocabulary, proper nouns, what not to penalize). Appended to the judge's criteria; overrides the scorer's general rules where they conflict. Ignored by non-LLM STT scorers.",
					"title": "Stt Guidelines"
				}
			},
			"required": ["provider", "model", "transcript", "confidence"],
			"title": "STTData",
			"type": "object"
		},
		"STTMetrics": {
			"properties": {
				"timestamp": {
					"description": "Timestamp of metric collection",
					"title": "Timestamp",
					"type": "number"
				},
				"model_name": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "STT model name",
					"title": "Model Name"
				},
				"model_provider": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "STT model provider",
					"title": "Model Provider"
				},
				"label": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Label for this metric",
					"title": "Label"
				},
				"request_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Request identifier",
					"title": "Request Id"
				},
				"duration": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Processing time in seconds",
					"title": "Duration"
				},
				"audio_duration": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Audio length in seconds",
					"title": "Audio Duration"
				},
				"streamed": {
					"anyOf": [{ "type": "boolean" }, { "type": "null" }],
					"default": null,
					"description": "Whether streamed",
					"title": "Streamed"
				},
				"transcript": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Transcribed text",
					"title": "Transcript"
				},
				"confidence": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Confidence score",
					"title": "Confidence"
				},
				"language": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Language code",
					"title": "Language"
				},
				"speaker_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Speaker identifier",
					"title": "Speaker Id"
				},
				"is_primary_speaker": {
					"anyOf": [{ "type": "boolean" }, { "type": "null" }],
					"default": null,
					"description": "Whether primary speaker",
					"title": "Is Primary Speaker"
				},
				"start_time": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Segment start time in audio",
					"title": "Start Time"
				},
				"end_time": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Segment end time in audio",
					"title": "End Time"
				},
				"metadata": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"description": "Additional metadata",
					"title": "Metadata"
				},
				"trace_context": {
					"anyOf": [{ "$ref": "#/$defs/TraceContext" }, { "type": "null" }],
					"default": null,
					"description": "Trace context"
				}
			},
			"required": ["timestamp"],
			"title": "STTMetrics",
			"type": "object"
		},
		"TTSData": {
			"properties": {
				"provider": {
					"description": "TTS provider (e.g., 'elevenlabs', 'azure')",
					"title": "Provider",
					"type": "string"
				},
				"model": {
					"description": "Model used for TTS",
					"title": "Model",
					"type": "string"
				},
				"input_text": {
					"description": "Input text for synthesis",
					"title": "Input Text",
					"type": "string"
				},
				"audio_uuid": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Unique identifier for audio",
					"title": "Audio Uuid"
				},
				"audio_duration_ms": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Duration of output audio in milliseconds",
					"title": "Audio Duration Ms"
				},
				"sample_rate": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Output audio sample rate in Hz",
					"title": "Sample Rate"
				},
				"num_channels": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Number of output audio channels",
					"title": "Num Channels"
				},
				"mode": {
					"default": "streaming",
					"description": "Mode: 'streaming' or 'batch'",
					"title": "Mode",
					"type": "string"
				},
				"is_final": {
					"default": true,
					"description": "Whether this is the final output",
					"title": "Is Final",
					"type": "boolean"
				},
				"segment_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Segment identifier",
					"title": "Segment Id"
				},
				"request_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Request identifier",
					"title": "Request Id"
				},
				"delta_text": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Text for streaming chunks",
					"title": "Delta Text"
				},
				"span_start_time": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Span start time (ISO format)",
					"title": "Span Start Time"
				},
				"span_end_time": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Span end time (ISO format)",
					"title": "Span End Time"
				},
				"span_duration_ms": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Span duration in milliseconds",
					"title": "Span Duration Ms"
				},
				"speed": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Speech speed multiplier",
					"title": "Speed"
				},
				"pitch": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Speech pitch adjustment",
					"title": "Pitch"
				},
				"metadata": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"description": "Additional metadata",
					"title": "Metadata"
				},
				"audio_url": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Pre-signed URL for direct audio download",
					"title": "Audio Url"
				},
				"tts_guidelines": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Deployment-specific instructions for TTS judge scorers (e.g. expected locale, brand-name pronunciations, how numbers should be read). Appended to the judge's criteria; overrides the scorer's general rules where they conflict. Ignored by non-LLM TTS scorers.",
					"title": "Tts Guidelines"
				}
			},
			"required": ["provider", "model", "input_text"],
			"title": "TTSData",
			"type": "object"
		},
		"TTSMetrics": {
			"properties": {
				"timestamp": {
					"description": "Timestamp of metric collection",
					"title": "Timestamp",
					"type": "number"
				},
				"model_name": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "TTS model name",
					"title": "Model Name"
				},
				"model_provider": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "TTS model provider",
					"title": "Model Provider"
				},
				"label": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Label for this metric",
					"title": "Label"
				},
				"request_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Request identifier",
					"title": "Request Id"
				},
				"segment_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Segment identifier",
					"title": "Segment Id"
				},
				"ttfb": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Time to first byte/audio in seconds",
					"title": "Ttfb"
				},
				"duration": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Synthesis time in seconds",
					"title": "Duration"
				},
				"audio_duration": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Output audio length in seconds",
					"title": "Audio Duration"
				},
				"speaking_duration": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "The duration for which the agent spoke in seconds",
					"title": "Speaking Duration"
				},
				"streamed": {
					"anyOf": [{ "type": "boolean" }, { "type": "null" }],
					"default": null,
					"description": "Whether streamed",
					"title": "Streamed"
				},
				"cancelled": {
					"anyOf": [{ "type": "boolean" }, { "type": "null" }],
					"default": null,
					"description": "Whether cancelled",
					"title": "Cancelled"
				},
				"input_text": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Input text",
					"title": "Input Text"
				},
				"delta_text": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Streaming chunk text",
					"title": "Delta Text"
				},
				"characters_count": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Character count",
					"title": "Characters Count"
				},
				"sample_rate": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Sample rate in Hz",
					"title": "Sample Rate"
				},
				"num_channels": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Number of channels",
					"title": "Num Channels"
				},
				"metadata": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"description": "Additional metadata",
					"title": "Metadata"
				},
				"trace_context": {
					"anyOf": [{ "$ref": "#/$defs/TraceContext" }, { "type": "null" }],
					"default": null,
					"description": "Trace context"
				}
			},
			"required": ["timestamp"],
			"title": "TTSMetrics",
			"type": "object"
		},
		"ToolCall": {
			"properties": {
				"tool_name": { "title": "Tool Name", "type": "string" },
				"parameters": {
					"additionalProperties": true,
					"title": "Parameters",
					"type": "object"
				},
				"call_id": { "title": "Call Id", "type": "string" }
			},
			"required": ["tool_name", "parameters", "call_id"],
			"title": "ToolCall",
			"type": "object"
		},
		"ToolResult": {
			"properties": {
				"call_id": { "title": "Call Id", "type": "string" },
				"result": { "title": "Result" },
				"success": { "title": "Success", "type": "boolean" },
				"error_message": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"title": "Error Message"
				}
			},
			"required": ["call_id", "result", "success"],
			"title": "ToolResult",
			"type": "object"
		},
		"ToolSchema": {
			"properties": {
				"name": { "title": "Name", "type": "string" },
				"description": { "title": "Description", "type": "string" },
				"args_schema": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"title": "Args Schema"
				},
				"return_schema": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"title": "Return Schema"
				}
			},
			"required": ["name", "description"],
			"title": "ToolSchema",
			"type": "object"
		},
		"TraceContext": {
			"properties": {
				"span_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"title": "Span Id"
				},
				"trace_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"title": "Trace Id"
				},
				"parent_span_id": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"title": "Parent Span Id"
				},
				"metadata": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"title": "Metadata"
				}
			},
			"title": "TraceContext",
			"type": "object"
		},
		"VADMetrics": {
			"properties": {
				"timestamp": {
					"description": "Timestamp of metric collection",
					"title": "Timestamp",
					"type": "number"
				},
				"model_name": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "VAD model name",
					"title": "Model Name"
				},
				"model_provider": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "VAD model provider",
					"title": "Model Provider"
				},
				"label": {
					"anyOf": [{ "type": "string" }, { "type": "null" }],
					"default": null,
					"description": "Label for this metric",
					"title": "Label"
				},
				"idle_time": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Idle time in seconds",
					"title": "Idle Time"
				},
				"inference_count": {
					"anyOf": [{ "type": "integer" }, { "type": "null" }],
					"default": null,
					"description": "Number of inferences",
					"title": "Inference Count"
				},
				"inference_duration_total": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Total inference duration in seconds",
					"title": "Inference Duration Total"
				},
				"speech_detected": {
					"anyOf": [{ "type": "boolean" }, { "type": "null" }],
					"default": null,
					"description": "Whether speech detected",
					"title": "Speech Detected"
				},
				"confidence": {
					"anyOf": [{ "type": "number" }, { "type": "null" }],
					"default": null,
					"description": "Confidence score",
					"title": "Confidence"
				},
				"trace_context": {
					"anyOf": [{ "$ref": "#/$defs/TraceContext" }, { "type": "null" }],
					"default": null,
					"description": "Trace context"
				},
				"metadata": {
					"anyOf": [
						{ "additionalProperties": true, "type": "object" },
						{ "type": "null" }
					],
					"default": null,
					"description": "Additional metadata",
					"title": "Metadata"
				}
			},
			"required": ["timestamp"],
			"title": "VADMetrics",
			"type": "object"
		}
	},
	"description": "StandardData model for representing unified evaluation data.\n\nCombines AgentData fields with additional fields for format validation\nand conversational data to support RAG, conversational, and agent scorers.\n\nAll fields use self-validating types (FlexStr, JsonDict, FlexBool, etc.)\nthat automatically coerce messy input (JSON strings, dicts-as-strings,\nnumeric IDs, etc.) into correct Python types via Pydantic BeforeValidators.\n\nScorer-wise required fields (from AgentData):\n\n- tool_correctness_scorer: expected_tool_call, tool_calls\n- parameter_correctness_scorer: tool_calls, parameters_passed, tool_call_results\n- task_progression_scorer: agent_task, agent_role, system_prompt, agent_response\n- context_relevancy_scorer: agent_role, agent_response\n- agent_role_adherence_scorer: agent_role, agent_response, tool_calls\n- goal_achievement_scorer: agent_exit, trace (requires agent_exit=True)\n- conversation_coherence_scorer: agent_exit, trace (requires agent_exit=True)",
	"properties": {
		"user_id": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "User Id"
		},
		"task_id": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Task Id"
		},
		"turn_id": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Turn Id"
		},
		"source_trace_id": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"description": "Trace ID for linking dataset items to traces (platform/dataset field)",
			"title": "Source Trace Id"
		},
		"ground_truth": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Ground Truth"
		},
		"expected_tool_call": {
			"anyOf": [
				{ "$ref": "#/$defs/ToolCall" },
				{ "type": "string" },
				{ "type": "null" }
			],
			"default": null,
			"title": "Expected Tool Call"
		},
		"agent_name": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Agent Name"
		},
		"agent_role": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Agent Role"
		},
		"agent_task": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Agent Task"
		},
		"system_prompt": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "System Prompt"
		},
		"agent_response": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Agent Response"
		},
		"trace": {
			"anyOf": [
				{
					"items": { "additionalProperties": true, "type": "object" },
					"type": "array"
				},
				{ "type": "string" },
				{ "type": "null" }
			],
			"default": null,
			"title": "Trace"
		},
		"tools_available": {
			"anyOf": [
				{ "items": { "$ref": "#/$defs/ToolSchema" }, "type": "array" },
				{ "type": "string" }
			],
			"default": [],
			"title": "Tools Available"
		},
		"tool_calls": {
			"anyOf": [
				{ "items": { "$ref": "#/$defs/ToolCall" }, "type": "array" },
				{ "type": "string" }
			],
			"default": [],
			"title": "Tool Calls"
		},
		"parameters_passed": {
			"anyOf": [
				{ "additionalProperties": true, "type": "object" },
				{ "type": "string" }
			],
			"default": {},
			"title": "Parameters Passed"
		},
		"tool_call_results": {
			"anyOf": [
				{ "items": { "$ref": "#/$defs/ToolResult" }, "type": "array" },
				{ "type": "string" },
				{ "type": "null" }
			],
			"default": null,
			"title": "Tool Call Results"
		},
		"retrieval_query": {
			"anyOf": [
				{ "items": { "type": "string" }, "type": "array" },
				{ "type": "null" }
			],
			"default": null,
			"title": "Retrieval Query"
		},
		"retrieved_context": {
			"anyOf": [
				{
					"items": { "items": { "type": "string" }, "type": "array" },
					"type": "array"
				},
				{ "type": "null" }
			],
			"default": null,
			"title": "Retrieved Context"
		},
		"exit_status": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Exit Status"
		},
		"agent_exit": {
			"default": false,
			"title": "Agent Exit",
			"type": "boolean"
		},
		"metadata": {
			"anyOf": [
				{ "additionalProperties": true, "type": "object" },
				{ "type": "null" }
			],
			"default": null,
			"title": "Metadata"
		},
		"expected_format": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Expected Format"
		},
		"extracted_content": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Extracted Content"
		},
		"speaker": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Speaker"
		},
		"message": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Message"
		},
		"conversation_context": {
			"anyOf": [{ "$ref": "#/$defs/Conversation" }, { "type": "null" }],
			"default": null
		},
		"turn_position": {
			"anyOf": [{ "type": "integer" }, { "type": "null" }],
			"default": null,
			"title": "Turn Position"
		},
		"context": {
			"anyOf": [
				{ "type": "string" },
				{ "additionalProperties": true, "type": "object" },
				{ "type": "null" }
			],
			"default": null,
			"title": "Context"
		},
		"novaeval_item_type": {
			"anyOf": [
				{ "enum": ["conversational", "agent", "novasynth"], "type": "string" },
				{ "type": "null" }
			],
			"default": null,
			"title": "Novaeval Item Type"
		},
		"input_text": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Input Text"
		},
		"output_text": {
			"anyOf": [{ "type": "string" }, { "type": "null" }],
			"default": null,
			"title": "Output Text"
		},
		"tts_data": {
			"anyOf": [
				{ "$ref": "#/$defs/TTSData" },
				{
					"additionalProperties": { "$ref": "#/$defs/TTSData" },
					"type": "object"
				},
				{ "items": { "$ref": "#/$defs/TTSData" }, "type": "array" },
				{ "type": "null" }
			],
			"default": null,
			"description": "Text-to-Speech data: one TTSData, a per-turn map (e.g. turn_1, turn_2), or a list of TTS payloads coerced to turn_1..n",
			"title": "Tts Data"
		},
		"stt_data": {
			"anyOf": [
				{ "$ref": "#/$defs/STTData" },
				{
					"additionalProperties": { "$ref": "#/$defs/STTData" },
					"type": "object"
				},
				{ "items": { "$ref": "#/$defs/STTData" }, "type": "array" },
				{ "type": "null" }
			],
			"default": null,
			"description": "Speech-to-Text data: one STTData, a per-turn map (e.g. turn_1, turn_2), or a list of STT payloads coerced to turn_1..n",
			"title": "Stt Data"
		},
		"metrics_collected": {
			"anyOf": [
				{
					"items": {
						"anyOf": [
							{ "$ref": "#/$defs/VADMetrics" },
							{ "$ref": "#/$defs/EOUMetrics" },
							{ "$ref": "#/$defs/STTMetrics" },
							{ "$ref": "#/$defs/TTSMetrics" },
							{ "$ref": "#/$defs/LLMMetrics" }
						]
					},
					"type": "array"
				},
				{
					"additionalProperties": {
						"items": {
							"anyOf": [
								{ "$ref": "#/$defs/VADMetrics" },
								{ "$ref": "#/$defs/EOUMetrics" },
								{ "$ref": "#/$defs/STTMetrics" },
								{ "$ref": "#/$defs/TTSMetrics" },
								{ "$ref": "#/$defs/LLMMetrics" }
							]
						},
						"type": "array"
					},
					"type": "object"
				},
				{ "type": "null" }
			],
			"default": null,
			"description": "Collected metrics as a flat list, or input as per-turn map {turn_k: [metric, ...]} (JSON) which is normalized to a list with labels",
			"title": "Metrics Collected"
		},
		"raw_complete_audio": {
			"anyOf": [{ "$ref": "#/$defs/RawCompleteAudio" }, { "type": "null" }],
			"default": null,
			"description": "Raw audio metadata"
		},
		"latency": {
			"anyOf": [
				{ "additionalProperties": true, "type": "object" },
				{ "type": "null" }
			],
			"default": null,
			"description": "Primarily for audio data. Aggregated latency metrics dictionary.",
			"title": "Latency"
		}
	},
	"title": "StandardData",
	"type": "object",
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://noveum.ai/schemas/standard-data.json"
}
