diff --git a/src/backend/core/tools.py b/src/backend/core/tools.py index d0bddec..68a8051 100644 --- a/src/backend/core/tools.py +++ b/src/backend/core/tools.py @@ -1,5 +1,3 @@ -from pprint import pformat - import httpx from bs4 import BeautifulSoup as soup from pydantic_ai import RunContext @@ -119,10 +117,12 @@ async def run_agent( f"Perform a comprehensive SWOT analysis for this product: {url}", deps=deps, ) - logger.info(f"Agent Result: {pformat(result.data.model_dump())}") + # logger.debug(f"Agent Result: {pformat(result.data.model_dump())}") if deps.update_status_func: await deps.update_status_func(deps.request, "Analysis Complete") + + return result.data except Exception as e: logger.exception(f"Error during agent run: {type(e), e, e.args}") diff --git a/src/backend/site/router.py b/src/backend/site/router.py index bec8081..fc640d2 100644 --- a/src/backend/site/router.py +++ b/src/backend/site/router.py @@ -84,17 +84,17 @@ async def get_status(request: Request): context = {"request": request, "messages": [], "result": False} session_id = request.session.get("analysis_id") if session_id: - logger.info(f"Found session id! {session_id}") + # logger.info(f"Found session id! {session_id}") messages = status_store.get(session_id, []) result = ANALYSIS_COMPLETE_MESSAGE in messages - logger.info( - f"Status check - Session ID: {session_id}, Messages: " - f"{messages}", - ) + # logger.info( + # f"Status check - Session ID: {session_id}, Messages: " + # f"{messages}", + # ) context.update({"messages": messages, "result": result}) - logger.info(context) + # logger.info(context) return templates.TemplateResponse("status.html", context=context) diff --git a/src/backend/site/utils.py b/src/backend/site/utils.py index 369829a..189db7f 100644 --- a/src/backend/site/utils.py +++ b/src/backend/site/utils.py @@ -1,6 +1,7 @@ import asyncio import random import time +from pprint import pformat from typing import Any from loguru import logger @@ -30,10 +31,14 @@ async def update_status(session_id: str, message: Any) -> None: :param message: Any :return: None """ - logger.info(f"Updating status for session {session_id}: {message}") + logger.debug(f"Updating status for session {session_id}: {message}") # Handle SWOT analysis result if isinstance(message, SwotAnalysis): + logger.info(f"SWOT analysis result for session {session_id}: {message}") + logger.info( + f"adding to the result store. Existing values: {result_store}" + ) result_store[session_id] = message.model_dump() status_store[session_id].append(ANALYSIS_COMPLETE_MESSAGE) return @@ -79,6 +84,7 @@ async def run_agent_with_progress(session_id, url): if not isinstance(result, Exception): logger.info(f"Successfully analyzed URL: {url}") + logger.debug(pformat(f"Result object: {result}")) result_store[session_id] = result except Exception as e: logger.error( diff --git a/src/frontend/templates/components/forms/Form.jinja b/src/frontend/templates/components/forms/Form.jinja index bcca40b..cee4651 100644 --- a/src/frontend/templates/components/forms/Form.jinja +++ b/src/frontend/templates/components/forms/Form.jinja @@ -5,19 +5,17 @@ target: str, method: str = 'GET', trigger: str = 'submit' #} -
-
- {{ content }} -
-
\ No newline at end of file +
+ {{ content }} +
\ No newline at end of file diff --git a/src/frontend/templates/components/forms/Search.jinja b/src/frontend/templates/components/forms/Search.jinja index 47ebdb1..2adb580 100644 --- a/src/frontend/templates/components/forms/Search.jinja +++ b/src/frontend/templates/components/forms/Search.jinja @@ -1,22 +1,21 @@ {# def - form_id: str, - action: str, - target: str, - method: str = 'GET' + input_name: str = 'url', + label: bool = False, + label_name: str = 'Search', + input_type: str = 'text', + class_name: str = 'input is-rounded', + placeholder: str = 'URL' #} -
-
- - -
- {{ content }} -
\ No newline at end of file +
+ {% if label %} + + {% endif %} + +
+{{ content }} \ No newline at end of file diff --git a/src/frontend/templates/components/snippets/ResultEntry.jinja b/src/frontend/templates/components/snippets/ResultEntry.jinja index cd3b977..d87e7cb 100644 --- a/src/frontend/templates/components/snippets/ResultEntry.jinja +++ b/src/frontend/templates/components/snippets/ResultEntry.jinja @@ -2,7 +2,7 @@ result, #} -
  • +
  • {{ content }} diff --git a/src/frontend/templates/home.html b/src/frontend/templates/home.html index 322e4c7..f850260 100644 --- a/src/frontend/templates/home.html +++ b/src/frontend/templates/home.html @@ -12,23 +12,25 @@

    Search Here

    - -
    -
    - -
    -
    -
    +
    +
    + +
    + +
    +
    + +
    -

    - {{ result }} -

    Analysis Complete

    -
    +
    - {% for cat, val in result.items() %} + {% for cat, val in result.dict().items() %} + {% if not loop.last %}
    -
    -
      - {% for value in val %} - - {% if cat == 'strengths' %} - - {% elif cat == 'weaknesses' %} - - {% elif cat == 'opportunities' %} - - {% else %} - - {% endif %} - -
    + {% set panel_class = 'success' if cat == 'strengths' else ('warning' if cat == 'weaknesses' else ('info' if cat == 'opportunities' else 'danger')) %} + {% set i_class = 'fas fa-solid fa-arrow-up' if cat == 'strengths' else ('fas fa-solid fa-arrow-down' if cat == 'weaknesses' else ('fas fa-regular fa-lightbulb' if cat == 'opportunities' else 'fas fa-solid fa-triangle-exclamation')) %} +
    +

    {{ cat.title() }}

    +
    +
      + {% for value in val %} + + + + {% endfor %} +
    +
    - {% endfor %} + {% else %} +
    +
    +

    {{ cat.title() }}

    +
    + {{ val }} +
    +
    +
    + {% endif %} {% endfor %}