"""安全 API schema:一炁 tool.* 事件详情(策略面已由百工域 capabilities 承接)。""" from pydantic import BaseModel, ConfigDict, Field class ToolCallDetail(BaseModel): """单次工具调用事件详情(GET /tools/calls/{tool_call_id})。 `tool_call_id` 对应一炁事件存储中 tool.* 事件的主键;一次调用会产生 started / completed / failed 多个事件,每个均可单独查询。 """ model_config = ConfigDict(from_attributes=True) event_id: str = Field(description="事件 ID(即路径 tool_call_id}。") type: str = Field(description="事件类型:tool.started / tool.completed / tool.failed 等。") tool: str | None = Field(default=None, description="工具名(payload 解出)。") run_id: str | None = Field(default=None) character_id: str | None = Field(default=None) trace_id: str | None = Field(default=None) payload: dict = Field(default_factory=dict, description="事件原始负载。") created_at: str = Field(description="事件时间,UTC ISO 8601。")