syntaxmatrix 2.3.5__tar.gz → 2.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/PKG-INFO +2 -2
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/SyntaxMatrix.egg-info/PKG-INFO +2 -2
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/SyntaxMatrix.egg-info/SOURCES.txt +0 -1
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/setup.py +2 -2
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/__init__.py +2 -2
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/routes.py +25 -20
- syntaxmatrix-2.3.5/syntaxmatrix/core.py +0 -1263
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/LICENSE.txt +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/README.md +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/SyntaxMatrix.egg-info/dependency_links.txt +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/SyntaxMatrix.egg-info/requires.txt +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/SyntaxMatrix.egg-info/top_level.txt +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/pyproject.toml +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/setup.cfg +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/auth.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/bootstrap.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/commentary.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/db.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/display.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/emailer.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/file_processor.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/generate_page.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/gpt_models_latest.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/history_store.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/kernel_manager.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/llm_store.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/model_templates.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/models.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/plottings.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/profiles.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/project_root.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/session.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/settings/__init__.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/settings/default.yaml +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/settings/logging.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/settings/model_map.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/settings/prompts.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/settings/string_navbar.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/smiv.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/smpv.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/static/css/style.css +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/static/docs.md +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/static/icons/favicon.png +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/static/icons/logo.png +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/static/icons/svg_497526.svg +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/static/icons/svg_497528.svg +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/static/js/chat.js +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/static/js/sidebar.js +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/static/js/widgets.js +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/templates/code_cell.html +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/templates/dashboard.html +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/templates/docs.html +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/templates/error.html +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/templates/login.html +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/templates/register.html +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/themes.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/ui_modes.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/utils.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/vector_db.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/vectordb/__init__.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/vectordb/adapters/__init__.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/vectordb/adapters/milvus_adapter.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/vectordb/adapters/pgvector_adapter.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/vectordb/adapters/sqlite_adapter.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/vectordb/base.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/vectordb/registry.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/vectorizer.py +0 -0
- {syntaxmatrix-2.3.5 → syntaxmatrix-2.5}/syntaxmatrix/workspace_db.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: syntaxmatrix
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.5
|
|
4
4
|
Summary: SyntaxMUI: A customizable framework for Python AI Assistant Projects.
|
|
5
5
|
Author: Bob Nti
|
|
6
|
-
Author-email: bob.nti@syntaxmatrix.
|
|
6
|
+
Author-email: bob.nti@syntaxmatrix.net
|
|
7
7
|
Classifier: Programming Language :: Python :: 3.9
|
|
8
8
|
Classifier: License :: OSI Approved :: MIT License
|
|
9
9
|
Classifier: Operating System :: OS Independent
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: syntaxmatrix
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.5
|
|
4
4
|
Summary: SyntaxMUI: A customizable framework for Python AI Assistant Projects.
|
|
5
5
|
Author: Bob Nti
|
|
6
|
-
Author-email: bob.nti@syntaxmatrix.
|
|
6
|
+
Author-email: bob.nti@syntaxmatrix.net
|
|
7
7
|
Classifier: Programming Language :: Python :: 3.9
|
|
8
8
|
Classifier: License :: OSI Approved :: MIT License
|
|
9
9
|
Classifier: Operating System :: OS Independent
|
|
@@ -8,9 +8,9 @@ with open(os.path.join(this_directory, "README.md"), encoding="utf-8") as f:
|
|
|
8
8
|
|
|
9
9
|
setup(
|
|
10
10
|
name="syntaxmatrix",
|
|
11
|
-
version="2.
|
|
11
|
+
version="2.5",
|
|
12
12
|
author="Bob Nti",
|
|
13
|
-
author_email="bob.nti@syntaxmatrix.
|
|
13
|
+
author_email="bob.nti@syntaxmatrix.net",
|
|
14
14
|
description="SyntaxMUI: A customizable framework for Python AI Assistant Projects.",
|
|
15
15
|
long_description=long_description,
|
|
16
16
|
long_description_content_type="text/markdown",
|
|
@@ -44,8 +44,8 @@ get_widget_value = _app_instance.get_widget_value
|
|
|
44
44
|
save_embed_model = _app_instance.save_embed_model
|
|
45
45
|
load_embed_model = _app_instance.load_embed_model
|
|
46
46
|
delete_embed_key = _app_instance.delete_embed_key
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
set_smxai_identity = _app_instance.set_smxai_identity
|
|
48
|
+
set_smxai_instructions = _app_instance.set_smxai_instructions
|
|
49
49
|
set_website_description = _app_instance.set_website_description
|
|
50
50
|
smiv_index = _app_instance.smiv_index
|
|
51
51
|
smpv_search = _app_instance.smpv_search
|
|
@@ -24,9 +24,7 @@ from syntaxmatrix.vector_db import *
|
|
|
24
24
|
from syntaxmatrix.settings.string_navbar import string_navbar_items
|
|
25
25
|
from syntaxmatrix.settings.model_map import PROVIDERS_MODELS, MODEL_DESCRIPTIONS, PURPOSE_TAGS, EMBEDDING_MODELS
|
|
26
26
|
from .project_root import detect_project_root
|
|
27
|
-
from . import profiles as _prof
|
|
28
27
|
from . import generate_page as _genpage
|
|
29
|
-
from . import profiles as _prof
|
|
30
28
|
from . import auth as _auth
|
|
31
29
|
from syntaxmatrix import profiles as _prof
|
|
32
30
|
from syntaxmatrix.gpt_models_latest import set_args, extract_output_text as _out
|
|
@@ -3769,7 +3767,7 @@ def setup_routes(smx):
|
|
|
3769
3767
|
|
|
3770
3768
|
|
|
3771
3769
|
# if any live cached profile on smx matches this name, clear it
|
|
3772
|
-
for attr in ("_chat_profile", "_admin_profile", "_coding_profile", "_classification_profile", "_summarization_profile"):
|
|
3770
|
+
for attr in ("_chat_profile", "_admin_profile", "_coding_profile", "_classification_profile", "_summarization_profile", "_vision2text_profile"):
|
|
3773
3771
|
prof = getattr(smx, attr, None)
|
|
3774
3772
|
if isinstance(prof, dict) and prof.get("name") == name:
|
|
3775
3773
|
setattr(smx, attr, {})
|
|
@@ -3944,7 +3942,7 @@ def setup_routes(smx):
|
|
|
3944
3942
|
<label for="catalog_model">Model</label>
|
|
3945
3943
|
<select id="catalog_model" name="catalog_model" required></select>
|
|
3946
3944
|
|
|
3947
|
-
<label for="catalog_purpose">
|
|
3945
|
+
<label for="catalog_purpose">Agency</label>
|
|
3948
3946
|
<select id="catalog_purpose" name="catalog_purpose" required></select>
|
|
3949
3947
|
|
|
3950
3948
|
<label class="form-label mb-1" style="display:block; position:relative;">
|
|
@@ -4066,7 +4064,7 @@ def setup_routes(smx):
|
|
|
4066
4064
|
|
|
4067
4065
|
models_catalog_list_card = f"""
|
|
4068
4066
|
<div class="card span-4">
|
|
4069
|
-
<h4>Models
|
|
4067
|
+
<h4>Models Catalogue</h4>
|
|
4070
4068
|
<ul class="catalog-list">
|
|
4071
4069
|
{cat_items or "<li class='li-row'>No models yet.</li>"}
|
|
4072
4070
|
</ul>
|
|
@@ -4080,15 +4078,15 @@ def setup_routes(smx):
|
|
|
4080
4078
|
<div class='card span-4'>
|
|
4081
4079
|
<h4>Setup Profiles</h4>
|
|
4082
4080
|
<form method="post" style="margin-bottom:0.5rem;">
|
|
4083
|
-
<label for="profile_name" class="form-label mb-1">
|
|
4084
|
-
Confirm
|
|
4081
|
+
<label for="profile_name" class="form-label mb-1" style="margin-bottom:12px;">
|
|
4082
|
+
Confirm Agency
|
|
4085
4083
|
<button id="name-help" type="button" class="info-btn btn-link p-0 text-muted"
|
|
4086
4084
|
style="font-size:0.8rem; line-height:1; padding:2px; display:inline-block;"
|
|
4087
4085
|
aria-haspopup="true" aria-expanded="false"
|
|
4088
|
-
title="Click to see
|
|
4086
|
+
title="Click to see agencies">ⓘ</button>
|
|
4089
4087
|
</label>
|
|
4090
4088
|
<input id="profile_name" name="profile_name" type="text" class="form-control"
|
|
4091
|
-
placeholder="
|
|
4089
|
+
placeholder="Agency" required>
|
|
4092
4090
|
|
|
4093
4091
|
<div id="name-suggestions" role="tooltip"
|
|
4094
4092
|
class="suggestion-popover card shadow-sm p-2"
|
|
@@ -4175,9 +4173,9 @@ def setup_routes(smx):
|
|
|
4175
4173
|
|
|
4176
4174
|
manage_sys_files_card = f"""
|
|
4177
4175
|
<div class='card span-6'>
|
|
4178
|
-
<h4>Manage
|
|
4176
|
+
<h4>Manage Company Files</h4>
|
|
4179
4177
|
<ul class="catalog-list" style="list-style:none; padding-left:0; margin:0;">
|
|
4180
|
-
{sys_files_html or "<li>No
|
|
4178
|
+
{sys_files_html or "<li>No company file has been uploaded yet.</li>"}
|
|
4181
4179
|
</ul>
|
|
4182
4180
|
</div>
|
|
4183
4181
|
"""
|
|
@@ -5422,9 +5420,15 @@ def setup_routes(smx):
|
|
|
5422
5420
|
).strip()
|
|
5423
5421
|
|
|
5424
5422
|
elif prof["provider"] == "openai" and _model in smx.gpt_models_latest():
|
|
5425
|
-
args = set_args(
|
|
5426
|
-
|
|
5427
|
-
|
|
5423
|
+
args = set_args(
|
|
5424
|
+
model=prof.get("model"),
|
|
5425
|
+
instructions=_CELL_REPAIR_RULES,
|
|
5426
|
+
input=_prompt,
|
|
5427
|
+
previous_id=None,
|
|
5428
|
+
store=False,
|
|
5429
|
+
reasoning_effort="minimal",
|
|
5430
|
+
verbosity="low"
|
|
5431
|
+
)
|
|
5428
5432
|
fixed = _out(_client.responses.create(**args)).strip()
|
|
5429
5433
|
|
|
5430
5434
|
elif prof["provider"] == "anthropic":
|
|
@@ -5446,7 +5450,8 @@ def setup_routes(smx):
|
|
|
5446
5450
|
).strip()
|
|
5447
5451
|
|
|
5448
5452
|
try:
|
|
5449
|
-
ast.parse(fixed);
|
|
5453
|
+
ast.parse(fixed);
|
|
5454
|
+
return fixed
|
|
5450
5455
|
except SyntaxError:
|
|
5451
5456
|
return code
|
|
5452
5457
|
################################################################
|
|
@@ -5544,15 +5549,15 @@ def setup_routes(smx):
|
|
|
5544
5549
|
# ----- Build a single HTML with Result + Commentary + AI Code ----------
|
|
5545
5550
|
_buf_out, _buf_err = io.StringIO(), io.StringIO()
|
|
5546
5551
|
with contextlib.redirect_stdout(_buf_out), contextlib.redirect_stderr(_buf_err):
|
|
5547
|
-
#
|
|
5552
|
+
# Exact result blocks (already cleaned by kernel_manager)
|
|
5548
5553
|
result_html = rendered_html if rendered_html.strip() else "<pre>No output.</pre>"
|
|
5549
5554
|
|
|
5550
|
-
#
|
|
5555
|
+
# Commentary (we already have the raw HTML via wrap_html)
|
|
5551
5556
|
commentary_html = wrap_html(commentary_text)
|
|
5552
5557
|
|
|
5553
5558
|
code_html = _render_code_block("AI Generated Code", ai_code)
|
|
5554
5559
|
|
|
5555
|
-
full_body_html = "\n" + askai_question + "\n" + result_html + "\n" +
|
|
5560
|
+
full_body_html = "\n" + askai_question + "\n" + result_html + "\n" + code_html + "\n" + commentary_html
|
|
5556
5561
|
|
|
5557
5562
|
html_doc = (
|
|
5558
5563
|
"<!doctype html>"
|
|
@@ -5576,7 +5581,7 @@ def setup_routes(smx):
|
|
|
5576
5581
|
|
|
5577
5582
|
_last_result_html[session_id] = html_doc
|
|
5578
5583
|
|
|
5579
|
-
#
|
|
5584
|
+
# Append a single download button (explicit click → fetch → download)
|
|
5580
5585
|
download_url = url_for("download_result_html", session_id=session_id)
|
|
5581
5586
|
dl_html = f"""
|
|
5582
5587
|
<a href="{download_url}">
|
|
@@ -5602,7 +5607,7 @@ def setup_routes(smx):
|
|
|
5602
5607
|
"output": num_records,
|
|
5603
5608
|
"code": "df.shape"
|
|
5604
5609
|
})
|
|
5605
|
-
preview_cols = df.columns
|
|
5610
|
+
preview_cols = df.columns
|
|
5606
5611
|
data_cells.append({
|
|
5607
5612
|
"title": "Data Preview",
|
|
5608
5613
|
"output": Markup(datatable_box(df[preview_cols].head(8))),
|