# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ...core.pydantic_utilities import IS_PYDANTIC_V2
from ...core.unchecked_base_model import UncheckedBaseModel
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_base_template_id import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemBaseTemplateId,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_created_by_id import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemCreatedById,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_deployment_id import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemDeploymentId,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_description import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemDescription,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_entity_id import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemEntityId,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_hidden import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemHidden,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_id import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemId,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_is_template import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemIsTemplate,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_label import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemLabel,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_last_accessed_at import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemLastAccessedAt,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_last_updated_by_id import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemLastUpdatedById,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_limit import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemLimit,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_metadata import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemMetadata,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_name import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemName,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_preserve_on_migration import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemPreserveOnMigration,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_project_id import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemProjectId,
)
from .templates_create_agents_from_template_response_agents_item_memory_file_blocks_item_read_only import (
    TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemReadOnly,
)


class TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItem(UncheckedBaseModel):
    value: str
    limit: typing.Optional[TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemLimit] = None
    project_id: typing.Optional[TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemProjectId] = None
    name: typing.Optional[TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemName] = None
    is_template: typing.Optional[TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemIsTemplate] = (
        None
    )
    base_template_id: typing.Optional[
        TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemBaseTemplateId
    ] = None
    deployment_id: typing.Optional[
        TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemDeploymentId
    ] = None
    entity_id: typing.Optional[TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemEntityId] = None
    preserve_on_migration: typing.Optional[
        TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemPreserveOnMigration
    ] = None
    label: typing.Optional[TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemLabel] = None
    read_only: typing.Optional[TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemReadOnly] = None
    description: typing.Optional[TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemDescription] = (
        None
    )
    metadata: typing.Optional[TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemMetadata] = None
    hidden: typing.Optional[TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemHidden] = None
    id: typing.Optional[TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemId] = None
    created_by_id: typing.Optional[
        TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemCreatedById
    ] = None
    last_updated_by_id: typing.Optional[
        TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemLastUpdatedById
    ] = None
    file_id: str
    source_id: str
    is_open: bool
    last_accessed_at: typing.Optional[
        TemplatesCreateAgentsFromTemplateResponseAgentsItemMemoryFileBlocksItemLastAccessedAt
    ] = None

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
