"""a2p core functionality modules"""

from a2p.core.consent import (
    create_category_policy,
    create_consent_receipt,
    create_default_policy,
    evaluate_access,
    get_matching_policies,
    has_permission,
    is_consent_valid,
    merge_permissions,
    revoke_consent,
)
from a2p.core.profile import (
    add_memory,
    add_policy,
    add_sub_profile,
    archive_memory,
    create_profile,
    export_profile,
    get_filtered_profile,
    import_profile,
    remove_memory,
    remove_policy,
    remove_sub_profile,
    update_identity,
    update_memory,
    update_policy,
    update_preferences,
    update_sub_profile,
    validate_profile,
)
from a2p.core.proposal import (
    add_proposal,
    approve_proposal,
    cleanup_resolved_proposals,
    create_proposal,
    expire_proposals,
    find_similar_memories,
    get_pending_proposals,
    get_proposals_by_agent,
    reject_proposal,
    withdraw_proposal,
)

__all__ = [
    # Profile
    "create_profile",
    "update_identity",
    "update_preferences",
    "add_memory",
    "update_memory",
    "remove_memory",
    "archive_memory",
    "add_sub_profile",
    "update_sub_profile",
    "remove_sub_profile",
    "add_policy",
    "update_policy",
    "remove_policy",
    "get_filtered_profile",
    "validate_profile",
    "export_profile",
    "import_profile",
    # Proposal
    "create_proposal",
    "add_proposal",
    "approve_proposal",
    "reject_proposal",
    "withdraw_proposal",
    "get_pending_proposals",
    "get_proposals_by_agent",
    "expire_proposals",
    "cleanup_resolved_proposals",
    "find_similar_memories",
    # Consent
    "evaluate_access",
    "create_consent_receipt",
    "is_consent_valid",
    "revoke_consent",
    "create_default_policy",
    "create_category_policy",
    "get_matching_policies",
    "has_permission",
    "merge_permissions",
]
