"""Ex SDK 本地演示。无网络请求、无第三方依赖。MIT Example License."""
from dataclasses import dataclass
from uuid import uuid4


@dataclass(frozen=True)
class TaskResult:
    text: str
    trace_id: str
    status: str = "demo_completed"


class ExClient:
    def __init__(self, api_key: str = "demo-key"):
        if not api_key:
            raise ValueError("api_key 不能为空")
        self.api_key = api_key

    def run(self, task: str) -> TaskResult:
        if not task.strip():
            raise ValueError("task 不能为空")
        return TaskResult(
            text=f"[Ex 本地演示] 已接收任务：{task.strip()}",
            trace_id=f"demo-{uuid4().hex[:12]}",
        )


if __name__ == "__main__":
    client = ExClient()
    result = client.run("总结这份文档的三个要点")
    print(result.text)
    print(f"状态：{result.status} / 追踪号：{result.trace_id}")
