MCPcopy Create free account
hub / github.com/agentforce314/clawcodex / _do_knowledge

Method _do_knowledge

src/server/agent_server.py:793–835  ·  view source on GitHub ↗

/knowledge: status (default) | list | clear | enable | disable. Surfaces the auto-populated knowledge graph (the original's Knowledge Graph engine).

(self, request_id: object, action: object)

Source from the content-addressed store, hash-verified

791 self._reply(request_id, {"ok": False, "error": str(exc)})
792
793 def _do_knowledge(self, request_id: object, action: object) -> None:
794 """/knowledge: status (default) | list | clear | enable | disable. Surfaces
795 the auto-populated knowledge graph (the original's Knowledge Graph engine)."""
796 try:
797 from src.knowledge import KnowledgeGraph
798
799 if self._knowledge is None:
800 self._knowledge = KnowledgeGraph.load()
801 act = str(action or "status").strip().lower()
802 if act == "clear":
803 self._knowledge.clear()
804 self._knowledge.save()
805 self._reply(request_id, {"ok": True, "enabled": self._knowledge_enabled, "stats": self._knowledge.stats()})
806 return
807 if act in ("enable", "disable"):
808 self._knowledge_enabled = act == "enable"
809 self._reply(request_id, {"ok": True, "enabled": self._knowledge_enabled, "stats": self._knowledge.stats()})
810 return
811 if act in ("semantic", "heuristic"):
812 self._knowledge_semantic = act == "semantic"
813 self._reply(
814 request_id,
815 {"ok": True, "enabled": self._knowledge_enabled, "semantic": self._knowledge_semantic, "stats": self._knowledge.stats()},
816 )
817 return
818 entities = (
819 [{"name": e.name, "type": e.type, "count": e.count} for e in self._knowledge.top(20)]
820 if act == "list"
821 else []
822 )
823 self._reply(
824 request_id,
825 {
826 "ok": True,
827 "enabled": self._knowledge_enabled,
828 "semantic": self._knowledge_semantic,
829 "stats": self._knowledge.stats(),
830 "entities": entities,
831 },
832 )
833 except Exception as exc: # noqa: BLE001
834 logger.exception("[agent-server] knowledge failed")
835 self._reply(request_id, {"ok": False, "error": str(exc)})
836
837 def _do_set_output_style(self, request_id: object, style: object) -> None:
838 """Switch the output style mid-session (the original's /output-style).

Callers 1

Calls 6

_replyMethod · 0.95
statsMethod · 0.80
topMethod · 0.80
loadMethod · 0.45
clearMethod · 0.45
saveMethod · 0.45

Tested by

no test coverage detected