"""Bridge Agent Event Bus events into Agent Observability metrics.""" from .agent_observability_hooks import AgentObservabilityHooks class AgentEventObservabilityBridge: def __init__(self, hooks: AgentObservabilityHooks | None = None): self.hooks = hooks or AgentObservabilityHooks() def consume(self, event: dict): kind = event.get("kind") payload = event.get("payload", {}) if kind == "agent_started": return self.hooks.start( user_id=payload.get("user_id", "unknown"), visible_scope=payload.get("scope", "self"), entry_agent=payload.get("agent", "unknown"), execution_id=event.get("id"), ) if kind == "agent_delegated": return self.hooks.delegate(event["execution_id"], payload.get("agent", "unknown")) if kind == "token_consumed": return self.hooks.tokens( event["execution_id"], payload.get("input_tokens", 0), payload.get("output_tokens", 0), ) if kind in {"agent_completed", "agent_failed"}: return self.hooks.finish( event["execution_id"], payload.get("closed_by"), "failed" if kind == "agent_failed" else "completed", ) return {"status": "ignored", "kind": kind} __all__ = ["AgentEventObservabilityBridge"]