syntaxmatrix 2.2.5__tar.gz → 2.5.8__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.
Files changed (82) hide show
  1. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/PKG-INFO +18 -19
  2. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/SyntaxMatrix.egg-info/PKG-INFO +18 -19
  3. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/SyntaxMatrix.egg-info/SOURCES.txt +9 -1
  4. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/SyntaxMatrix.egg-info/requires.txt +9 -9
  5. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/setup.py +38 -22
  6. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/__init__.py +5 -5
  7. syntaxmatrix-2.5.8/syntaxmatrix/agentic/agent_tools.py +24 -0
  8. syntaxmatrix-2.5.8/syntaxmatrix/agentic/agents.py +765 -0
  9. syntaxmatrix-2.5.8/syntaxmatrix/agentic/code_tools_registry.py +37 -0
  10. syntaxmatrix-2.5.8/syntaxmatrix/agentic/model_templates.py +1790 -0
  11. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/auth.py +144 -8
  12. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/commentary.py +148 -114
  13. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/core.py +619 -284
  14. syntaxmatrix-2.5.8/syntaxmatrix/dataset_preprocessing.py +218 -0
  15. syntaxmatrix-2.5.8/syntaxmatrix/display.py +106 -0
  16. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/generate_page.py +17 -7
  17. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/gpt_models_latest.py +5 -4
  18. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/history_store.py +26 -29
  19. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/kernel_manager.py +2 -2
  20. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/llm_store.py +1 -1
  21. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/plottings.py +3 -0
  22. syntaxmatrix-2.5.8/syntaxmatrix/preface.py +550 -0
  23. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/profiles.py +19 -4
  24. syntaxmatrix-2.5.8/syntaxmatrix/project_root.py +73 -0
  25. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/routes.py +1774 -545
  26. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/settings/model_map.py +42 -33
  27. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/settings/prompts.py +3 -3
  28. syntaxmatrix-2.5.8/syntaxmatrix/templates/change_password.html +124 -0
  29. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/templates/dashboard.html +436 -122
  30. syntaxmatrix-2.5.8/syntaxmatrix/templates/dataset_resize.html +535 -0
  31. syntaxmatrix-2.5.8/syntaxmatrix/templates/docs.html +71 -0
  32. syntaxmatrix-2.5.8/syntaxmatrix/utils.py +3054 -0
  33. syntaxmatrix-2.5.8/syntaxmatrix/vectordb/adapters/pgvector_adapter.py +0 -0
  34. syntaxmatrix-2.2.5/syntaxmatrix/display.py +0 -54
  35. syntaxmatrix-2.2.5/syntaxmatrix/model_templates.py +0 -29
  36. syntaxmatrix-2.2.5/syntaxmatrix/project_root.py +0 -61
  37. syntaxmatrix-2.2.5/syntaxmatrix/templates/docs.html +0 -72
  38. syntaxmatrix-2.2.5/syntaxmatrix/utils.py +0 -993
  39. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/LICENSE.txt +0 -0
  40. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/README.md +0 -0
  41. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/SyntaxMatrix.egg-info/dependency_links.txt +0 -0
  42. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/SyntaxMatrix.egg-info/top_level.txt +0 -0
  43. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/pyproject.toml +0 -0
  44. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/setup.cfg +0 -0
  45. {syntaxmatrix-2.2.5/syntaxmatrix/settings → syntaxmatrix-2.5.8/syntaxmatrix/agentic}/__init__.py +0 -0
  46. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/bootstrap.py +0 -0
  47. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/db.py +0 -0
  48. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/emailer.py +0 -0
  49. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/file_processor.py +0 -0
  50. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/models.py +0 -0
  51. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/session.py +0 -0
  52. {syntaxmatrix-2.2.5/syntaxmatrix/vectordb/adapters → syntaxmatrix-2.5.8/syntaxmatrix/settings}/__init__.py +0 -0
  53. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/settings/default.yaml +0 -0
  54. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/settings/logging.py +0 -0
  55. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/settings/string_navbar.py +0 -0
  56. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/smiv.py +0 -0
  57. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/smpv.py +0 -0
  58. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/static/css/style.css +0 -0
  59. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/static/docs.md +0 -0
  60. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/static/icons/favicon.png +0 -0
  61. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/static/icons/hero_bg.jpg +0 -0
  62. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/static/icons/logo.png +0 -0
  63. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/static/icons/svg_497526.svg +0 -0
  64. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/static/icons/svg_497528.svg +0 -0
  65. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/static/js/chat.js +0 -0
  66. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/static/js/sidebar.js +0 -0
  67. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/static/js/widgets.js +0 -0
  68. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/templates/code_cell.html +0 -0
  69. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/templates/error.html +0 -0
  70. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/templates/login.html +0 -0
  71. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/templates/register.html +0 -0
  72. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/themes.py +0 -0
  73. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/ui_modes.py +0 -0
  74. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/vector_db.py +0 -0
  75. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/vectordb/__init__.py +0 -0
  76. /syntaxmatrix-2.2.5/syntaxmatrix/vectordb/adapters/milvus_adapter.py → /syntaxmatrix-2.5.8/syntaxmatrix/vectordb/adapters/__init__.py +0 -0
  77. /syntaxmatrix-2.2.5/syntaxmatrix/vectordb/adapters/pgvector_adapter.py → /syntaxmatrix-2.5.8/syntaxmatrix/vectordb/adapters/milvus_adapter.py +0 -0
  78. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/vectordb/adapters/sqlite_adapter.py +0 -0
  79. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/vectordb/base.py +0 -0
  80. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/vectordb/registry.py +0 -0
  81. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/vectorizer.py +0 -0
  82. {syntaxmatrix-2.2.5 → syntaxmatrix-2.5.8}/syntaxmatrix/workspace_db.py +0 -0
@@ -1,10 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: syntaxmatrix
3
- Version: 2.2.5
3
+ Version: 2.5.8
4
4
  Summary: SyntaxMUI: A customizable framework for Python AI Assistant Projects.
5
- Home-page: https://github.com/bobganti/syntaxmatrix_demo
6
5
  Author: Bob Nti
7
- Author-email: bob.nti@syntaxmatrix.com
6
+ Author-email: bob.nti@syntaxmatrix.net
8
7
  Classifier: Programming Language :: Python :: 3.9
9
8
  Classifier: License :: OSI Approved :: MIT License
10
9
  Classifier: Operating System :: OS Independent
@@ -24,28 +23,28 @@ Requires-Dist: openai>=1.84.0
24
23
  Requires-Dist: google-genai>=1.19.0
25
24
  Requires-Dist: anthropic>=0.67.0
26
25
  Requires-Dist: reportlab>=4.4.3
27
- Provides-Extra: mlearning
28
- Requires-Dist: pandas>=2.2.3; extra == "mlearning"
29
- Requires-Dist: numpy>=2.0.2; extra == "mlearning"
30
- Requires-Dist: matplotlib>=3.9.4; extra == "mlearning"
31
- Requires-Dist: plotly>=6.3.0; extra == "mlearning"
32
- Requires-Dist: seaborn>=0.13.2; extra == "mlearning"
33
- Requires-Dist: scikit-learn>=1.6.1; extra == "mlearning"
34
- Requires-Dist: jupyter_client>=8.6.3; extra == "mlearning"
35
- Requires-Dist: ipykernel>=6.29.5; extra == "mlearning"
36
- Requires-Dist: statsmodels; extra == "mlearning"
37
- Requires-Dist: ipython; extra == "mlearning"
38
- Provides-Extra: auth
39
- Requires-Dist: sqlalchemy>=2.0.42; extra == "auth"
40
- Requires-Dist: cryptography>=45.0.6; extra == "auth"
26
+ Requires-Dist: lxml>=6.0.2
27
+ Requires-Dist: flask-login>=0.6.3
28
+ Requires-Dist: pandas>=2.2.3
29
+ Requires-Dist: numpy>=2.0.2
30
+ Requires-Dist: matplotlib>=3.9.4
31
+ Requires-Dist: plotly>=6.3.0
32
+ Requires-Dist: seaborn>=0.13.2
33
+ Requires-Dist: scikit-learn>=1.6.1
34
+ Requires-Dist: jupyter_client>=8.6.3
35
+ Requires-Dist: ipykernel>=6.29.5
36
+ Requires-Dist: statsmodels
37
+ Requires-Dist: ipython
38
+ Requires-Dist: sqlalchemy>=2.0.42
39
+ Requires-Dist: cryptography>=45.0.6
40
+ Requires-Dist: regex>=2025.11.3
41
+ Requires-Dist: tiktoken>=0.12.0
41
42
  Dynamic: author
42
43
  Dynamic: author-email
43
44
  Dynamic: classifier
44
45
  Dynamic: description
45
46
  Dynamic: description-content-type
46
- Dynamic: home-page
47
47
  Dynamic: license-file
48
- Dynamic: provides-extra
49
48
  Dynamic: requires-dist
50
49
  Dynamic: requires-python
51
50
  Dynamic: summary
@@ -1,10 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: syntaxmatrix
3
- Version: 2.2.5
3
+ Version: 2.5.8
4
4
  Summary: SyntaxMUI: A customizable framework for Python AI Assistant Projects.
5
- Home-page: https://github.com/bobganti/syntaxmatrix_demo
6
5
  Author: Bob Nti
7
- Author-email: bob.nti@syntaxmatrix.com
6
+ Author-email: bob.nti@syntaxmatrix.net
8
7
  Classifier: Programming Language :: Python :: 3.9
9
8
  Classifier: License :: OSI Approved :: MIT License
10
9
  Classifier: Operating System :: OS Independent
@@ -24,28 +23,28 @@ Requires-Dist: openai>=1.84.0
24
23
  Requires-Dist: google-genai>=1.19.0
25
24
  Requires-Dist: anthropic>=0.67.0
26
25
  Requires-Dist: reportlab>=4.4.3
27
- Provides-Extra: mlearning
28
- Requires-Dist: pandas>=2.2.3; extra == "mlearning"
29
- Requires-Dist: numpy>=2.0.2; extra == "mlearning"
30
- Requires-Dist: matplotlib>=3.9.4; extra == "mlearning"
31
- Requires-Dist: plotly>=6.3.0; extra == "mlearning"
32
- Requires-Dist: seaborn>=0.13.2; extra == "mlearning"
33
- Requires-Dist: scikit-learn>=1.6.1; extra == "mlearning"
34
- Requires-Dist: jupyter_client>=8.6.3; extra == "mlearning"
35
- Requires-Dist: ipykernel>=6.29.5; extra == "mlearning"
36
- Requires-Dist: statsmodels; extra == "mlearning"
37
- Requires-Dist: ipython; extra == "mlearning"
38
- Provides-Extra: auth
39
- Requires-Dist: sqlalchemy>=2.0.42; extra == "auth"
40
- Requires-Dist: cryptography>=45.0.6; extra == "auth"
26
+ Requires-Dist: lxml>=6.0.2
27
+ Requires-Dist: flask-login>=0.6.3
28
+ Requires-Dist: pandas>=2.2.3
29
+ Requires-Dist: numpy>=2.0.2
30
+ Requires-Dist: matplotlib>=3.9.4
31
+ Requires-Dist: plotly>=6.3.0
32
+ Requires-Dist: seaborn>=0.13.2
33
+ Requires-Dist: scikit-learn>=1.6.1
34
+ Requires-Dist: jupyter_client>=8.6.3
35
+ Requires-Dist: ipykernel>=6.29.5
36
+ Requires-Dist: statsmodels
37
+ Requires-Dist: ipython
38
+ Requires-Dist: sqlalchemy>=2.0.42
39
+ Requires-Dist: cryptography>=45.0.6
40
+ Requires-Dist: regex>=2025.11.3
41
+ Requires-Dist: tiktoken>=0.12.0
41
42
  Dynamic: author
42
43
  Dynamic: author-email
43
44
  Dynamic: classifier
44
45
  Dynamic: description
45
46
  Dynamic: description-content-type
46
- Dynamic: home-page
47
47
  Dynamic: license-file
48
- Dynamic: provides-extra
49
48
  Dynamic: requires-dist
50
49
  Dynamic: requires-python
51
50
  Dynamic: summary
@@ -12,6 +12,7 @@ syntaxmatrix/auth.py
12
12
  syntaxmatrix/bootstrap.py
13
13
  syntaxmatrix/commentary.py
14
14
  syntaxmatrix/core.py
15
+ syntaxmatrix/dataset_preprocessing.py
15
16
  syntaxmatrix/db.py
16
17
  syntaxmatrix/display.py
17
18
  syntaxmatrix/emailer.py
@@ -21,9 +22,9 @@ syntaxmatrix/gpt_models_latest.py
21
22
  syntaxmatrix/history_store.py
22
23
  syntaxmatrix/kernel_manager.py
23
24
  syntaxmatrix/llm_store.py
24
- syntaxmatrix/model_templates.py
25
25
  syntaxmatrix/models.py
26
26
  syntaxmatrix/plottings.py
27
+ syntaxmatrix/preface.py
27
28
  syntaxmatrix/profiles.py
28
29
  syntaxmatrix/project_root.py
29
30
  syntaxmatrix/routes.py
@@ -41,6 +42,11 @@ syntaxmatrix.egg-info/SOURCES.txt
41
42
  syntaxmatrix.egg-info/dependency_links.txt
42
43
  syntaxmatrix.egg-info/requires.txt
43
44
  syntaxmatrix.egg-info/top_level.txt
45
+ syntaxmatrix/agentic/__init__.py
46
+ syntaxmatrix/agentic/agent_tools.py
47
+ syntaxmatrix/agentic/agents.py
48
+ syntaxmatrix/agentic/code_tools_registry.py
49
+ syntaxmatrix/agentic/model_templates.py
44
50
  syntaxmatrix/settings/__init__.py
45
51
  syntaxmatrix/settings/default.yaml
46
52
  syntaxmatrix/settings/logging.py
@@ -57,8 +63,10 @@ syntaxmatrix/static/icons/svg_497528.svg
57
63
  syntaxmatrix/static/js/chat.js
58
64
  syntaxmatrix/static/js/sidebar.js
59
65
  syntaxmatrix/static/js/widgets.js
66
+ syntaxmatrix/templates/change_password.html
60
67
  syntaxmatrix/templates/code_cell.html
61
68
  syntaxmatrix/templates/dashboard.html
69
+ syntaxmatrix/templates/dataset_resize.html
62
70
  syntaxmatrix/templates/docs.html
63
71
  syntaxmatrix/templates/error.html
64
72
  syntaxmatrix/templates/login.html
@@ -10,15 +10,8 @@ openai>=1.84.0
10
10
  google-genai>=1.19.0
11
11
  anthropic>=0.67.0
12
12
  reportlab>=4.4.3
13
-
14
- [:sys_platform == "win32"]
15
- pywin32>=311
16
-
17
- [auth]
18
- sqlalchemy>=2.0.42
19
- cryptography>=45.0.6
20
-
21
- [mlearning]
13
+ lxml>=6.0.2
14
+ flask-login>=0.6.3
22
15
  pandas>=2.2.3
23
16
  numpy>=2.0.2
24
17
  matplotlib>=3.9.4
@@ -29,3 +22,10 @@ jupyter_client>=8.6.3
29
22
  ipykernel>=6.29.5
30
23
  statsmodels
31
24
  ipython
25
+ sqlalchemy>=2.0.42
26
+ cryptography>=45.0.6
27
+ regex>=2025.11.3
28
+ tiktoken>=0.12.0
29
+
30
+ [:sys_platform == "win32"]
31
+ pywin32>=311
@@ -8,20 +8,20 @@ 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.2.5",
11
+ version="2.5.8",
12
12
  author="Bob Nti",
13
- author_email="bob.nti@syntaxmatrix.com",
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",
17
- url="https://github.com/bobganti/syntaxmatrix_demo",
18
17
  packages=find_packages(),
19
18
  include_package_data=True,
20
19
  package_data={
21
20
  "syntaxmatrix": [
22
21
  "static/**/*",
23
22
  "settings/*",
24
- "templates/*",
23
+ "templates/*",
24
+ "agentic/*",
25
25
  ]
26
26
  },
27
27
  install_requires=[
@@ -38,25 +38,41 @@ setup(
38
38
  "google-genai>=1.19.0",
39
39
  "anthropic>=0.67.0",
40
40
  "reportlab>=4.4.3",
41
+ "lxml>=6.0.2",
42
+ "flask-login>=0.6.3",
43
+ "pandas>=2.2.3",
44
+ "numpy>=2.0.2",
45
+ "matplotlib>=3.9.4",
46
+ "plotly>=6.3.0",
47
+ "seaborn>=0.13.2",
48
+ "scikit-learn>=1.6.1",
49
+ "jupyter_client>=8.6.3",
50
+ "ipykernel>=6.29.5",
51
+ "statsmodels",
52
+ "ipython",
53
+ "sqlalchemy>=2.0.42",
54
+ "cryptography>=45.0.6",
55
+ "regex>=2025.11.3",
56
+ "tiktoken>=0.12.0",
41
57
  ],
42
- extras_require={
43
- "mlearning": [
44
- "pandas>=2.2.3",
45
- "numpy>=2.0.2",
46
- "matplotlib>=3.9.4",
47
- "plotly>=6.3.0",
48
- "seaborn>=0.13.2",
49
- "scikit-learn>=1.6.1",
50
- "jupyter_client>=8.6.3",
51
- "ipykernel>=6.29.5",
52
- "statsmodels",
53
- "ipython",
54
- ],
55
- "auth": [
56
- "sqlalchemy>=2.0.42",
57
- "cryptography>=45.0.6",
58
- ]
59
- },
58
+ # extras_require={
59
+ # "mlearning": [
60
+ # "pandas>=2.2.3",
61
+ # "numpy>=2.0.2",
62
+ # "matplotlib>=3.9.4",
63
+ # "plotly>=6.3.0",
64
+ # "seaborn>=0.13.2",
65
+ # "scikit-learn>=1.6.1",
66
+ # "jupyter_client>=8.6.3",
67
+ # "ipykernel>=6.29.5",
68
+ # "statsmodels",
69
+ # "ipython",
70
+ # ],
71
+ # "auth": [
72
+ # "sqlalchemy>=2.0.42",
73
+ # "cryptography>=45.0.6",
74
+ # ]
75
+ # },
60
76
  classifiers=[
61
77
  "Programming Language :: Python :: 3.9",
62
78
  "License :: OSI Approved :: MIT License",
@@ -25,7 +25,6 @@ warning = _app_instance.warning
25
25
 
26
26
  set_user_icon = _app_instance.set_user_icon
27
27
  set_bot_icon = _app_instance.set_bot_icon
28
- get_favicon = _app_instance.get_favicon
29
28
  set_favicon = _app_instance.set_favicon
30
29
  set_project_name = _app_instance.set_project_name
31
30
  set_site_title = _app_instance.set_site_title
@@ -45,8 +44,8 @@ get_widget_value = _app_instance.get_widget_value
45
44
  save_embed_model = _app_instance.save_embed_model
46
45
  load_embed_model = _app_instance.load_embed_model
47
46
  delete_embed_key = _app_instance.delete_embed_key
48
- set_prompt_profile = _app_instance.set_prompt_profile
49
- set_prompt_instructions = _app_instance.set_prompt_instructions
47
+ set_smxai_identity = _app_instance.set_smxai_identity
48
+ set_smxai_instructions = _app_instance.set_smxai_instructions
50
49
  set_website_description = _app_instance.set_website_description
51
50
  smiv_index = _app_instance.smiv_index
52
51
  smpv_search = _app_instance.smpv_search
@@ -55,10 +54,11 @@ process_query_stream = _app_instance.process_query_stream
55
54
  process_query = _app_instance.process_query
56
55
  embed_query = _app_instance.embed_query
57
56
  enable_user_files = _app_instance.enable_user_files
57
+ enable_registration = _app_instance.enable_registration
58
58
  stream_write = _app_instance.stream_write
59
59
  enable_stream = _app_instance.enable_stream
60
60
  stream = _app_instance.stream
61
61
  get_stream_args = _app_instance.get_stream_args
62
- # set_stream_args = _app_instance.set_stream_args
63
62
 
64
- app = _app_instance.app
63
+
64
+ app = _app_instance.app
@@ -0,0 +1,24 @@
1
+ # syntaxmatrix/agent_tools.py
2
+ from dataclasses import dataclass
3
+ from typing import Callable, Optional, Dict, Any, List, Literal
4
+
5
+ Phase = Literal["sanitize_early", "domain_patches", "syntax_fixes", "final_repair"]
6
+
7
+ @dataclass
8
+ class CodeTool:
9
+ name: str
10
+ phase: Phase
11
+ fn: Callable[[str, Dict[str, Any]], str]
12
+ when: Optional[Callable[[str, Dict[str, Any]], bool]] = None
13
+ priority: int = 100 # lower runs earlier within the phase
14
+
15
+ class ToolRunner:
16
+ def __init__(self, tools: List[CodeTool]):
17
+ # stable order: phase → priority → name
18
+ self.tools = sorted(tools, key=lambda t: (t.phase, t.priority, t.name))
19
+
20
+ def run(self, code: str, ctx: Dict[str, Any]) -> str:
21
+ for t in self.tools:
22
+ if t.when is None or t.when(code, ctx):
23
+ code = t.fn(code, ctx)
24
+ return code