validateStructuredOutput static method

bool validateStructuredOutput(
  1. StructuredOutputFormat format
)

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;
}