# Copyright (c) Huawei Technologies Co., Ltd. 2023-2025. All rights reserved.
"""Convert工具的Schema"""

from typing import Any

from pydantic import Field

from apps.scheduler.call.core import DataBase


class ConvertInput(DataBase):
    """定义Convert工具的输入"""

    text_template: str | None = Field(description="自然语言信息的格式化模板,jinja2语法", default=None)
    data_template: str | None = Field(description="原始数据的格式化模板,jinja2语法", default=None)
    extras: dict[str, Any] = Field(description="额外参数", default={})


class ConvertOutput(DataBase):
    """定义Convert工具的输出"""

    text: str = Field(description="格式化后的文字信息")
    data: dict = Field(description="格式化后的结果")