"""
PSDL Generated Code - Auto-generated from specifications.

DO NOT EDIT MANUALLY - These files are generated by tools/codegen.py
(Exception: validate.py is manually maintained)

To regenerate:
    python tools/codegen.py --all

Architecture Notes (RFC-0006):
==============================
This package contains two types of code:

1. AUTO-GENERATED (from spec files):
   - ast_types.py: AST node types from spec/ast-nodes.yaml
   - operators_meta.py: Operator metadata from spec/operators.yaml
   - schema_types.py: Schema types from spec/schema.json
   - sql_templates.py: SQL templates from spec/operators/backends/

2. MANUALLY MAINTAINED (validation utilities):
   - validate.py: Schema validation utilities

The generated types define the INPUT CONTRACT (what valid PSDL looks like).
For internal processing, use psdl.core.ir types.
"""

from .ast_types import *
from .operators_meta import *
from .schema_types import *
from .sql_templates import get_sql_template, is_windowed_operator
from .validate import (
    ValidationError,
    is_schema_validation_available,
    load_schema,
    validate_file,
    validate_yaml,
)
