Files
2026-09-11 15:45:13 +08:00

23 lines
847 B
Python

import logging
from typing import Any
from strands.hooks import BeforeToolCallEvent, HookProvicer, HookRegistry
logger = logging.getLogger("agent_demo.hooks")
class ToolLoggingHook(HookProvicer):
"""A hook that logs tool calls and their results."""
def register(self, registry: HookRegistry, **kwargs: Any) -> None:
registry.add_callback(BeforeToolCallEvent, self._on_before_tool)
def _on_before_tool(self, event: BeforeToolCallEvent) -> None:
tool_use = getattr(event, "tool_use", None) or {}
name = tool_use.get("name") if isinstance(tool_use, dict) else None
logger.info("[hook] about to call tool: %s", name or "<unknown>")
def default_hooks() -> list:
"""Hooks registered on every agent by default. Add consent/audit hooks here."""
return [ToolLoggingHook()]