MAX_TOKEN_LIMIT = 10000

RETRIEVE_DOCUMENTATION_DESCRIPTION = (
    "Searches for and returns context to answer the user question. "
    "Always call this tool to find factual answers to any user question not clearly answered in the conversation."
    "For simple questions, use 1-2 queries; use more than two queries only for complex or multi-part questions. "
    "If the question is unclear or you don't have enough information to properly call this tool, first ask the user to clarify."
)

HOTEL_RETRIEVE_DOCUMENTATION_DESCRIPTION = (
    "Searches hotel knowledge in the vector database and returns context to answer the guest question. "
    "Always call this tool for factual questions about amenities, policies, services, or hotel information "
    "not clearly answered in the conversation. Do not call for simple greetings. "
    "Do NOT call this for product/add-on requests such as wine in room, early check-in price, "
    "late checkout, resort pass, parking space, or similar paid extras — use get_available_addons instead. "
    "Standard hotel check-in/check-out hours questions may use this tool. "
    "If the question is unclear, ask the guest to clarify before searching."
)

HUMAN_ESCALATION_DESCRIPTION = (
    "Escalate the guest to a human hotel representative ONLY in the following cases: "
    "(1) the guest requests a reservation modification or any other change that requires staff/system action, "
    "AFTER any required catalog lookup and guest confirmation for product/add-on requests; "
    "(2) the guest is clearly angry, upset, frustrated, or dissatisfied and human assistance is appropriate; "
    "(3) the guest explicitly asks to speak with a human, support agent, representative, or staff member. "
    "CRITICAL: Do NOT escalate on the first message for product/add-on requests such as wine in room, "
    "early check-in, late checkout, resort pass, parking, drinks/food in room, or similar extras. "
    "For those, call get_available_addons first, share options, and wait for the guest to confirm. "
    "Escalate for an add-on ONLY after the guest clearly confirms they want it added. "
    "Do not escalate for simple clarifying questions, general information, or requests that can be fully answered from retrieved documentation. "
    "Do not escalate solely because a request involves a lookup, payment, room service, housekeeping, maintenance, or another staff/system action unless it is also a modification case, the guest is clearly angry/upset, or the guest explicitly asks for human/support assistance."
)

GET_RESERVATION_DETAILS_DESCRIPTION = (
    "Call this tool when the guest asks about their reservation details, booking, stay, or personal information."
    "Do not call for general hotel policy or amenity questions."
)

GET_AVAILABLE_ADDONS_DESCRIPTION = (
    "ALWAYS call this tool when the guest asks about hotel products, add-ons, extras, or paid options "
    "from the retail catalog. Use it for questions like: "
    "wine / drinks / food in the room, early check-in (or early check-in price), late checkout, "
    "resort pass, parking / parking space, upgrades, and similar add-on requests. "
    "Also call it when the guest asks whether something can be added to their stay "
    "(for example: 'I'd like to request 1 parking space for my full stay. Is this possible?'). "
    "Do NOT use retrieve_documentation for these product/add-on questions. "
    "Do NOT call human_escalation in the same turn — first share matching options (name/price when present) "
    "and ask the guest to confirm. Only after the guest clearly confirms "
    "(yes / I want that / please add it), call human_escalation for the modification."
)
