# generated by datamodel-codegen:
#   filename:  creative/get_creative_features_response.json
#   timestamp: 2026-02-28T17:39:50+00:00

from __future__ import annotations

from typing import Annotated

from adcp.types.base import AdCPBaseModel
from pydantic import AnyUrl, Field, RootModel

from ..core import context as context_1
from ..core import error
from ..core import ext as ext_1
from . import creative_feature_result


class GetCreativeFeaturesResponse2(AdCPBaseModel):
    context: context_1.ContextObject | None = None
    errors: list[error.Error]
    ext: ext_1.ExtensionObject | None = None


class GetCreativeFeaturesResponse1(AdCPBaseModel):
    context: context_1.ContextObject | None = None
    detail_url: Annotated[
        AnyUrl | None,
        Field(
            description="URL to the vendor's full assessment report. The vendor controls what information is disclosed and access control."
        ),
    ] = None
    ext: ext_1.ExtensionObject | None = None
    results: Annotated[
        list[creative_feature_result.CreativeFeatureResult],
        Field(description='Feature values for the evaluated creative'),
    ]


class GetCreativeFeaturesResponse(
    RootModel[GetCreativeFeaturesResponse1 | GetCreativeFeaturesResponse2]
):
    root: Annotated[
        GetCreativeFeaturesResponse1 | GetCreativeFeaturesResponse2,
        Field(
            description="Response payload for the get_creative_features task. Returns scored feature values from the governance agent's evaluation of the submitted creative manifest.",
            title='Get Creative Features Response',
        ),
    ]
