mirror of
http://88.130.71.182:3000/BlitTech/contexta_be.git
synced 2026-06-12 23:23:21 +00:00
feat: add appointments, campaigns, admin, storage, tests and various updates
- Add new routers: admin, appointments, campaigns - Add storage service and logging config - Add migrations directory and test suite with pytest config - Add supabase_migration_features.sql - Update models, dependencies, config, and existing routers - Remove whatsapp_service (deleted) - Update pyproject.toml and uv.lock dependencies Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -124,6 +124,19 @@ async def chat(
|
||||
# Get conversation history
|
||||
history = _get_conversation_history(conversation["id"], supabase)
|
||||
|
||||
# If an agent has taken over this conversation, stop the bot from responding
|
||||
conv_status = conversation.get("status", "open")
|
||||
if conv_status == "agent_handling":
|
||||
return ChatResponse(
|
||||
response="",
|
||||
session_id=session_id,
|
||||
sources=[],
|
||||
model_used="",
|
||||
tokens_used=0,
|
||||
needs_lead_capture=False,
|
||||
handoff=False,
|
||||
)
|
||||
|
||||
# Get company info for context
|
||||
company_data = chatbot.get("companies", {}) or {}
|
||||
chatbot_config = {
|
||||
@@ -131,6 +144,19 @@ async def chat(
|
||||
"company_name": company_data.get("name", ""),
|
||||
}
|
||||
|
||||
# If booking is enabled, inject a note into the system prompt so the bot
|
||||
# can guide users to the booking page
|
||||
if chatbot.get("booking_enabled"):
|
||||
from app.config import settings as _cfg
|
||||
booking_url = f"{_cfg.app_url}/book/{chatbot_id}"
|
||||
booking_note = (
|
||||
f"\n\nAppointment booking: This business accepts appointments online. "
|
||||
f"If the user wants to book an appointment, meeting, or consultation, "
|
||||
f"provide them this booking link: {booking_url}"
|
||||
)
|
||||
existing_prompt = chatbot_config.get("system_prompt") or ""
|
||||
chatbot_config["system_prompt"] = existing_prompt + booking_note
|
||||
|
||||
# Run RAG
|
||||
result = await rag_engine.process_query(
|
||||
query=message.message,
|
||||
|
||||
Reference in New Issue
Block a user