import trodo
from trodo import (
AgentCallProps, ToolUseProps, AgentResponseProps, AgentErrorProps
)
import traceback as tb
agent_id = 'agt_abc12345'
message_id = f'msg_{int(time.time() * 1000)}'
trodo.track_agent_call(AgentCallProps(
agent_id=agent_id, conversation_id=conversation_id,
message_id=message_id, distinct_id=user_id,
prompt=user_message, model='claude-3-5-sonnet',
))
try:
trodo.track_tool_use(ToolUseProps(
agent_id=agent_id, conversation_id=conversation_id,
message_id=message_id, distinct_id=user_id,
tool_name='fetch_billing', status='success', latency_ms=82,
))
response = client.messages.create(...)
trodo.track_agent_response(AgentResponseProps(
agent_id=agent_id, conversation_id=conversation_id,
message_id=message_id, distinct_id=user_id,
model='claude-3-5-sonnet',
input_tokens=response.usage.input_tokens,
output_tokens=response.usage.output_tokens,
))
except Exception as exc:
trodo.track_agent_error(AgentErrorProps(
agent_id=agent_id, conversation_id=conversation_id,
message_id=message_id, distinct_id=user_id,
error_type=type(exc).__name__,
error_message=str(exc),
traceback=tb.format_exc(),
))
raise