# generated by datamodel-codegen:
#   filename:  core/creative_brief_ref.json
#   timestamp: 2026-02-18T17:56:28+00:00

from __future__ import annotations

from typing import Annotated

from pydantic import AnyUrl, Field, RootModel

from . import creative_brief


class CreativeBriefReference(RootModel[creative_brief.CreativeBrief | AnyUrl]):
    root: Annotated[
        creative_brief.CreativeBrief | AnyUrl,
        Field(
            description='Creative brief provided either as an inline object or a URL string pointing to a hosted brief',
            examples=[
                {
                    'data': {
                        'audience': 'Gift shoppers aged 25-55',
                        'messaging': {
                            'cta': 'Shop Holiday Deals',
                            'headline': 'Give the Gift of Style',
                        },
                        'name': 'Holiday Campaign 2025',
                        'objective': 'conversion',
                    },
                    'description': 'Inline creative brief',
                },
                {
                    'data': 'https://cdn.example.com/briefs/holiday-2025.json',
                    'description': 'URL string reference to hosted brief',
                },
            ],
            title='Creative Brief Reference',
        ),
    ]
