from rights_filter.domain.records import (
    KnowledgeBaseEntry,
    KnowledgeEntryType,
    KnowledgeProvenance,
)


def create_manual_knowledge_entry(
    entry_type: KnowledgeEntryType,
    name: str,
    aliases: list[str] | None = None,
    related_keywords: list[str] | None = None,
    policy_memo: str = "",
    exception_conditions: str = "",
    sample_fingerprints: list[str] | None = None,
) -> KnowledgeBaseEntry:
    return KnowledgeBaseEntry.create(
        entry_type=entry_type,
        name=name,
        provenance=KnowledgeProvenance.MANUAL,
        aliases=aliases,
        related_keywords=related_keywords,
        policy_memo=policy_memo,
        exception_conditions=exception_conditions,
        sample_fingerprints=sample_fingerprints,
    )

__all__ = [
    "KnowledgeBaseEntry",
    "KnowledgeEntryType",
    "KnowledgeProvenance",
    "create_manual_knowledge_entry",
]
