diff --git a/compose.yaml b/compose.yaml index 7f72823..71caa0d 100644 --- a/compose.yaml +++ b/compose.yaml @@ -18,7 +18,7 @@ services: - traefik.enable=true - traefik.docker.network=proxy - traefik.http.routers.pygentic_ai.entrypoints=websecure - - traefik.http.routers.pygentic_ai.rule=Host(`rankedjobsmicroservice.francissecada.com`) + - traefik.http.routers.pygentic_ai.rule=Host(`pygenticai.francissecada.com`) - traefik.http.routers.pygentic_ai.tls=true healthcheck: test: curl --fail http://localhost:5051/ || exit 1 @@ -48,7 +48,7 @@ services: - traefik.enable=true - traefik.docker.network=proxy - traefik.http.routers.celery_ranked_jobs.entrypoints=websecure - - traefik.http.routers.celery_ranked_jobs.rule=Host(`celery.rankedjobsmicroservice.francissecada.com`) + - traefik.http.routers.celery_ranked_jobs.rule=Host(`celery.pygenticai.francissecada.com`) networks: - proxy depends_on: diff --git a/core_requirements.txt b/core_requirements.txt index 3e61d98..6a472aa 100644 --- a/core_requirements.txt +++ b/core_requirements.txt @@ -191,7 +191,7 @@ markupsafe==3.0.2 # jinjax mdurl==0.1.2 # via markdown-it-py -mistralai==1.3.1 +mistralai==1.4.0 # via pydantic-ai-slim mypy-extensions==1.0.0 # via typing-inspect diff --git a/pyproject.toml b/pyproject.toml index d7f5b75..6697c50 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -139,7 +139,7 @@ dependencies = [ "markdown-it-py==3.0.0", "markupsafe==3.0.2", "mdurl==0.1.2", - "mistralai==1.3.1", + "mistralai==1.4.0", "mypy-extensions==1.0.0", "openai==1.59.9", "opentelemetry-api==1.29.0", diff --git a/src/frontend/templates/components/forms/Form.jinja b/src/frontend/templates/components/forms/Form.jinja index 9d212f0..6c07679 100644 --- a/src/frontend/templates/components/forms/Form.jinja +++ b/src/frontend/templates/components/forms/Form.jinja @@ -2,7 +2,8 @@ form_id: str, action: str, target: str, -method: str = 'GET' +method: str = 'GET', +trigger: str = 'submit' #}
{{ content }} -
-
- -
-
\ No newline at end of file diff --git a/src/frontend/templates/components/snippets/Result.jinja b/src/frontend/templates/components/snippets/Result.jinja new file mode 100644 index 0000000..e69de29 diff --git a/src/frontend/templates/components/snippets/ResultEntry.jinja b/src/frontend/templates/components/snippets/ResultEntry.jinja new file mode 100644 index 0000000..cd3b977 --- /dev/null +++ b/src/frontend/templates/components/snippets/ResultEntry.jinja @@ -0,0 +1,12 @@ +{# def + result, +#} + +
  • + + {{ content }} + + + {{ result }} + +
  • \ No newline at end of file diff --git a/src/frontend/templates/components/snippets/StatusResult.jinja b/src/frontend/templates/components/snippets/StatusResult.jinja new file mode 100644 index 0000000..5e196bf --- /dev/null +++ b/src/frontend/templates/components/snippets/StatusResult.jinja @@ -0,0 +1,13 @@ +{# def + div_class: str, + +#} + +
    +
    +

    +
    +
    + {{ content }} +
    +
    \ No newline at end of file diff --git a/src/frontend/templates/components/snippets/result.html b/src/frontend/templates/components/snippets/result.html new file mode 100644 index 0000000..6f2b675 --- /dev/null +++ b/src/frontend/templates/components/snippets/result.html @@ -0,0 +1,33 @@ +
    +
    +

    Analysis Complete

    +
    +
    + {% for cat in results %} +
    +
    +
      + {% for result in cat %} + + {% if cat == 'strengths' %} + + {% elif cat == 'weaknesses' %} + + {% elif cat == 'opportunities' %} + + {% else %} + + {% endif %} + + +
    +
    +
    + {% endfor %} + {% endfor %} +
    +
    +
    +
    \ No newline at end of file diff --git a/src/frontend/templates/components/snippets/status.html b/src/frontend/templates/components/snippets/status.html new file mode 100644 index 0000000..4924096 --- /dev/null +++ b/src/frontend/templates/components/snippets/status.html @@ -0,0 +1,22 @@ +{% if messages %} +
    + {% for message in messages %} + {% set is_error = message.startswith('Error:') %} + {% set is_loading = loop.last and not result %} + {% set is_tool_message = message.startswith('Using tool') %} +
    + {% set bg_color = 'danger' if is_error else ('dark' if is_loading else "info" + %} + {% if is_error %} + {% set content = message.split('body:', 1)[1] %} + {% elif is_tool_message %} + {% set content = message.split('', 2)[2].split('...', 1)[1] %} + {% else %} + {% set content = message %} + {% endif %} + {{ message }} +
    + {% endfor %} +
    +{% endif %} \ No newline at end of file diff --git a/src/frontend/templates/home.html b/src/frontend/templates/home.html index c13d93e..8c9adad 100644 --- a/src/frontend/templates/home.html +++ b/src/frontend/templates/home.html @@ -5,16 +5,53 @@

    SWOT ANALYZER

    Strengths, Weaknesses, Opportunities and Threats breakdown, courtesy of Generative AI-driven insights.

    -

    Try it out now!

    -
    -

    Search Here

    - - -
    +
    +
    +

    Search Here

    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    {% endblock content %} \ No newline at end of file diff --git a/uv.lock b/uv.lock index a7576af..0f0903f 100644 --- a/uv.lock +++ b/uv.lock @@ -341,7 +341,7 @@ requires-dist = [ { name = "markdown-it-py", specifier = "==3.0.0" }, { name = "markupsafe", specifier = "==3.0.2" }, { name = "mdurl", specifier = "==0.1.2" }, - { name = "mistralai", specifier = "==1.3.1" }, + { name = "mistralai", specifier = "==1.4.0" }, { name = "mypy-extensions", specifier = "==1.0.0" }, { name = "openai", specifier = "==1.59.9" }, { name = "opentelemetry-api", specifier = "==1.29.0" }, @@ -1971,7 +1971,7 @@ wheels = [ [[package]] name = "mistralai" -version = "1.3.1" +version = "1.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "eval-type-backport" }, @@ -1981,9 +1981,9 @@ dependencies = [ { name = "python-dateutil" }, { name = "typing-inspect" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2f/50/59669ee8d21fd27a4f887148b1efb19d9be5ed22ec19c8e6eb842407ac0f/mistralai-1.3.1.tar.gz", hash = "sha256:1c30385656393f993625943045ad20de2aff4c6ab30fc6e8c727d735c22b1c08", size = 133338 } +sdist = { url = "https://files.pythonhosted.org/packages/f1/ca/9aedf3142b2f989e1e5992ba913c96ca3e3459259aa40d870dfc4007be23/mistralai-1.4.0.tar.gz", hash = "sha256:b8a09eda1864cba02ebf70439ca1925025e073d3f6f3eeccfdd146ad0f2260fb", size = 125775 } wheels = [ - { url = "https://files.pythonhosted.org/packages/1a/b4/a76b6942b78383d5499f776d880a166296542383f6f952feeef96d0ea692/mistralai-1.3.1-py3-none-any.whl", hash = "sha256:35e74feadf835b7d2145095114b9cf3ba86c4cf1044f28f49b02cd6ddd0a5733", size = 261271 }, + { url = "https://files.pythonhosted.org/packages/1e/9b/67647d4d384016e2941765c5e860a89c83341546af098bb197763492a354/mistralai-1.4.0-py3-none-any.whl", hash = "sha256:74a8b8f5b737b199c83ccc89721cb82a71e8b093b38b27c99d38cbcdf550668c", size = 262460 }, ] [[package]]