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'
#}
\ 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
-
-
-
+
+
{% 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]]