def METHOD_NAME(self, knowledge_name: str) -> Dict[str, Dict[str, int]]:
    is_knowledge_valid = self.session.query(Knowledges.id).filter_by(name=knowledge_name).filter(Knowledges.organisation_id == self.organisation_id).first()
    if not is_knowledge_valid:
        raise HTTPException(status_code=404, detail="Knowledge not found")
    EventAlias = aliased(Event)
    knowledge_used_event = self.session.query(
        Event.event_property['knowledge_name'].label('knowledge_name'),
        func.count(Event.agent_id.distinct()).label('knowledge_unique_agents')
    ).filter(
        Event.event_name == 'knowledge_picked',
        Event.org_id == self.organisation_id,
        Event.event_property['knowledge_name'].astext == knowledge_name
    ).group_by(
        Event.event_property['knowledge_name']
    ).first()
    if knowledge_used_event is None:
        return {}
    knowledge_data = {
            'knowledge_unique_agents': knowledge_used_event.knowledge_unique_agents,
            'knowledge_calls': self.session.query(
                EventAlias
            ).filter(
                EventAlias.event_property['tool_name'].astext == 'knowledgesearch',
                EventAlias.event_name == 'tool_used',
                EventAlias.org_id == self.organisation_id,
                EventAlias.agent_id.in_(self.session.query(Event.agent_id).filter(
                    Event.event_name == 'knowledge_picked',
                    Event.org_id == self.organisation_id,
                    Event.event_property['knowledge_name'].astext == knowledge_name
                ))
            ).count()
        }
    return knowledge_data