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

Method _record_knowledge

src/server/agent_server.py:549–574  ·  view source on GitHub ↗

Extract entities from the latest exchange into the knowledge graph (the original's /knowledge auto-learning). Best-effort; gated by the flag.

(self)

Source from the content-addressed store, hash-verified

547 return ""
548
549 def _record_knowledge(self) -> None:
550 """Extract entities from the latest exchange into the knowledge graph
551 (the original's /knowledge auto-learning). Best-effort; gated by the flag."""
552 if not self._knowledge_enabled or self.session is None:
553 return
554 try:
555 from src.knowledge import KnowledgeGraph
556
557 if self._knowledge is None:
558 self._knowledge = KnowledgeGraph.load()
559 msgs = self.session.conversation.messages
560 text = "\n".join(self._message_text(m) for m in msgs[-2:]) # last user+assistant
561 recorded = False
562 if self._knowledge_semantic and self.provider is not None:
563 from src.knowledge import extract_entities_semantic
564
565 ents = extract_entities_semantic(text, self.provider)
566 for name, etype in ents:
567 self._knowledge.add(name, etype, now=time.time())
568 recorded = bool(ents)
569 if not recorded: # heuristic (default, and fallback if semantic yields nothing)
570 recorded = bool(self._knowledge.record_from_text(text, now=time.time()))
571 if recorded:
572 self._knowledge.save()
573 except Exception: # noqa: BLE001 — knowledge must never break a turn
574 logger.debug("[agent-server] knowledge record failed", exc_info=True)
575
576 def _do_set_provider(self, request_id: object, name: object) -> None:
577 """Switch the LLM provider mid-session (the original's /provider). Rebuilds

Callers 1

_save_sessionMethod · 0.95

Calls 7

_message_textMethod · 0.95
joinMethod · 0.80
record_from_textMethod · 0.80
loadMethod · 0.45
addMethod · 0.45
saveMethod · 0.45

Tested by

no test coverage detected