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

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from .structured_indexing_tool_parameters import StructuredIndexingToolParameters


class InlineStructuredIndexingToolConfiguration(UniversalBaseModel):
    """
    A structured indexing tool configuration defined inline in the agent for indexing into the Vectara platform.
    """

    type: typing.Literal["structured_indexing"] = "structured_indexing"
    argument_override: typing.Optional[StructuredIndexingToolParameters] = pydantic.Field(default=None)
    """
    Optional hardcoded arguments for the structured indexing tool call such as corpus_key etc. When specified, these values will be used instead of allowing the LLM to fill in those parameters.
    """

    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
