"""Feature Packs may ship calculator IR without introducing an entity."""

MORTGAGE_PACK_SLUG = "calculator-mortgage"

_MORTGAGE_PHRASES = (
    "mortgage calculator",
    "mortgage payment calculator",
    "loan payment calculator",
    "loan calculator",
    "mortgage payment",
    "home loan calculator",
    "home loan payment calculator",
)


def calculator_packs_for_text(text: str) -> list[str]:
    haystack = text.lower()
    if "do not add" in haystack and "calculator" in haystack.split("do not add", 1)[-1]:
        return []
    if "no calculator" in haystack or "no mortgage" in haystack:
        return []
    if any(phrase in haystack for phrase in _MORTGAGE_PHRASES):
        return [MORTGAGE_PACK_SLUG]
    return []
