Sequence Diagrams

Simplified sequence diagrams showing the essential interactions between components for the Web Search module. These diagrams illustrate the chronological flow of operations and message exchanges between different components in the system.

Diagrams

  1. sequence-get-web-search-results.md - Web search results endpoint

    • Shows direct flow from Client → WebService → Hybrid Firecrawl → LLM Service

    • Includes result-type decision logic (description vs snippets/keypoints/summary)

    • Shows WebSocket event emissions for real-time updates

  2. sequence-get-web-search-urls.md - Web search URLs endpoint

    • Simple flow: search → extract URLs → return

    • No page scraping or content processing required

    • Efficient URL-only extraction for quick results

  3. sequence-get-web-search-map.md - Website mapping endpoint

    • Maps a website to get all URLs on the site

    • Shows Firecrawl map API interaction

    • Handles link extraction and conversion to MapLink objects

  4. sequence-get-web-page.md - Single web page fetching

    • Shows PDF URL validation and error handling

    • Scrapes page via Hybrid Firecrawl and extracts metadata

    • Returns page content with structured metadata

  5. sequence-get-web-page-snippets.md - Snippet extraction from web page

    • Scrapes page → LLM extracts snippets → creates chunks

    • Shows confidence score calculation for extracted snippets

    • Demonstrates chunk creation process

  6. sequence-get-web-page-keypoints.md - Keypoint extraction from web page

    • Scrapes page → LLM extracts keypoints → creates chunks

    • Shows keypoint extraction and confidence scoring

    • Demonstrates structured keypoint chunk creation

Usage

These diagrams can be viewed:

  • In any Markdown viewer that supports Mermaid (GitHub, GitLab, etc.)

  • In VS Code with the Mermaid extension

  • Online at https://mermaid.live/

  • In documentation tools like MkDocs, Docusaurus, etc.

Updating Diagrams

When updating the codebase, please update the relevant diagrams to reflect architectural changes. The diagrams should be kept in sync with the implementation.

Last updated