Add more functionality to signature description parsing
This commit is contained in:
52
claude_dspy/trace.py
Normal file
52
claude_dspy/trace.py
Normal file
@@ -0,0 +1,52 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import Any
|
||||
|
||||
|
||||
@dataclass
|
||||
class TraceItem:
|
||||
"""Base class for trace items."""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
@dataclass
|
||||
class AgentMessageItem(TraceItem):
|
||||
"""Agent's text response."""
|
||||
|
||||
text: str
|
||||
model: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class ThinkingItem(TraceItem):
|
||||
"""Agent's internal reasoning (extended thinking)."""
|
||||
|
||||
text: str
|
||||
model: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class ToolUseItem(TraceItem):
|
||||
"""Tool invocation request."""
|
||||
|
||||
tool_name: str
|
||||
tool_input: dict[str, Any]
|
||||
tool_use_id: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class ToolResultItem(TraceItem):
|
||||
"""Tool execution result."""
|
||||
|
||||
tool_name: str
|
||||
tool_use_id: str
|
||||
content: str | list[dict[str, Any]] | None = None
|
||||
is_error: bool = False
|
||||
|
||||
|
||||
@dataclass
|
||||
class ErrorItem(TraceItem):
|
||||
"""Error that occurred during execution."""
|
||||
|
||||
message: str
|
||||
error_type: str | None = None
|
||||
Reference in New Issue
Block a user