- Add `_extract_mcp_content_text()` helper in naliia_tools.py to safely
extract text from MCP results, preventing IndexError on empty content
- Replace all direct `result.content[0].text` accesses with safe helper
- Improve customer identification with preservation of existing state
- Add proper JSON parsing with fallback and error handling
- Simplify webhook state management (use agent's checkpointer internally)
- Update system prompt to remove check_mcp_connection tool reference
- Fix tests to use async mocks and correct expected values
- Agent now auto-calls find_customer_by_identifier when user provides identifier
- Added register_customer and check_mcp_connection tools
- Refactored chat_hook to resume existing conversations from state
- Reduced default max_iterations (100) and timeout (15s)
- Rename Dockerfile to DockerfileTest for development variant
- Remove poetry.lock from COPY (regenerated during build)
- Add --reload flag to uvicorn for development
- Add src volume mount in docker-compose for hot-reload
- Update docker-compose to use DockerfileTest
- Update prompt to use customer name for personalized greetings
- Pass state to tools via agent execution
- schedule_appointment now gets customer_id from state if not provided
- Add identify_customer_node to Agent class for customer lookup
- Webhook now only passes customer_phone to agent state
- Customer identification happens in agent flow: START -> identify_customer -> llm_call -> tool_node -> END
- Add find_customer_by_identifier tool to NaliiaTools
- Add customer_name and customer_id to MessagesState schema
- Update NALIIA_PROMPT template with new tools
- Integrate customer lookup in chat webhook using phone number