-
Notifications
You must be signed in to change notification settings - Fork 31
Add ability to have a conversation with the AI assistant #2024
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements a conversational AI feature for the documentation site, transforming the existing search modal from a simple search interface into a tabbed modal with both search and AI chat capabilities. The change adds the ability for users to have multi-turn conversations with an AI assistant about documentation topics.
Key changes:
- Refactored the modal from a single search interface to a tabbed system with "Search" and "Ask AI" tabs
- Implemented a complete chat system with message history, streaming responses, and conversation management
- Added comprehensive test coverage with 38 tests across 5 test files
Reviewed Changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
SearchOrAskAiModal.tsx |
Converted from single search interface to tabbed modal with search and chat tabs |
Chat.tsx |
New chat interface component with message display, input handling, and conversation management |
ChatMessage.tsx |
Message rendering component supporting user/AI messages with streaming states and markdown |
ChatMessageList.tsx |
Container for rendering conversation history with proper message orchestration |
StreamingAiMessage.tsx |
Handles AI message streaming and LLM gateway integration |
chat.store.ts |
Zustand store for chat state management with conversation and message tracking |
Search.tsx |
New dedicated search component with AI handoff functionality |
search.store.ts |
Simplified search state store (moved to Search subdirectory) |
modal.store.ts |
Enhanced modal store to support tab mode switching |
TESTING.md |
Comprehensive testing documentation covering 38 tests |
Various test files | Complete test coverage for stores and components |
UI/styling updates | Font consistency, visual improvements, and icon additions |
src/Elastic.Documentation.Site/Assets/web-components/SearchOrAskAi/SearchOrAskAiButton.tsx
Outdated
Show resolved
Hide resolved
src/Elastic.Documentation.Site/Assets/web-components/SearchOrAskAi/Search/SearchResults.tsx
Show resolved
Hide resolved
🔍 Preview links for changed docs |
136559f
to
c961f62
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, love the heavy investment on testing infra.
Changes
Screenshots