"""Knowledge-base events published by the operations workflow.""" from __future__ import annotations KNOWLEDGE_UPDATE_EVENT = "event:knowledge_update" async def publish_knowledge_update( publisher, *, doc_id: str, collection_name: str, chunk_count: int, action: str | None = None ) -> None: """Publish only after the caller's atomic Milvus write has succeeded.""" payload = { "doc_id": doc_id, "collection_name": collection_name, "chunk_count": chunk_count, } if action is not None: payload["action"] = action await publisher(KNOWLEDGE_UPDATE_EVENT, payload)