validateStructuredOutput static method
Validate structured output format
format
- The structured output format to validate
Returns true if valid, throws StructuredOutputError if invalid
Implementation
static bool validateStructuredOutput(StructuredOutputFormat format) {
if (format.name.isEmpty) {
throw const StructuredOutputError(
'Structured output name cannot be empty');
}
if (format.schema != null) {
final schema = format.schema!;
// Basic JSON schema validation
if (schema['type'] == null) {
throw StructuredOutputError(
'Schema must have a type field',
schemaName: format.name,
schema: schema,
);
}
// Validate required properties for object type
if (schema['type'] == 'object') {
if (schema['properties'] == null) {
throw StructuredOutputError(
'Object schema must have properties field',
schemaName: format.name,
schema: schema,
);
}
}
}
return true;
}