syntaxmatrix 2.5.6.1__py3-none-any.whl → 2.5.8__py3-none-any.whl

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.
@@ -0,0 +1,535 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>Dataset Resizer · SyntaxMatrix ML Lab</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1">
7
+
8
+ <style>
9
+ :root {
10
+ --smx-bg: #0f172a;
11
+ --smx-bg-soft: #020617;
12
+ --smx-card: #020617;
13
+ --smx-card-soft: #020617;
14
+ --smx-border: #1f2937;
15
+ --smx-border-soft: #111827;
16
+ --smx-accent: #38bdf8;
17
+ --smx-accent-soft: rgba(56, 189, 248, 0.16);
18
+ --smx-accent-strong: #0ea5e9;
19
+ --smx-text-main: #e5e7eb;
20
+ --smx-text-soft: #9ca3af;
21
+ --smx-danger: #f97373;
22
+ --smx-success: #22c55e;
23
+ }
24
+
25
+ * {
26
+ box-sizing: border-box;
27
+ }
28
+
29
+ body {
30
+ margin: 0;
31
+ padding: 0;
32
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
33
+ background: radial-gradient(circle at 0 0, #1e293b 0, #020617 55%, #000000 100%);
34
+ color: var(--smx-text-main);
35
+ min-height: 100vh;
36
+ }
37
+
38
+ .smx-shell {
39
+ max-width: 1120px;
40
+ margin: 0 auto;
41
+ padding: 24px 16px 32px;
42
+ }
43
+
44
+ .smx-topbar {
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: space-between;
48
+ gap: 12px;
49
+ margin-bottom: 20px;
50
+ }
51
+
52
+ .smx-topbar-left {
53
+ display: flex;
54
+ align-items: center;
55
+ gap: 10px;
56
+ min-width: 0;
57
+ }
58
+
59
+ .smx-logo-pill {
60
+ width: 32px;
61
+ height: 32px;
62
+ border-radius: 999px;
63
+ background: radial-gradient(circle at 30% 20%, #38bdf8 0, #0ea5e9 35%, #22c55e 80%);
64
+ display: flex;
65
+ align-items: center;
66
+ justify-content: center;
67
+ font-size: 0.85rem;
68
+ font-weight: 700;
69
+ colour: #0b1120;
70
+ }
71
+
72
+ .smx-topbar-title {
73
+ display: flex;
74
+ flex-direction: column;
75
+ gap: 2px;
76
+ }
77
+
78
+ .smx-topbar-title-main {
79
+ font-size: 1.1rem;
80
+ font-weight: 600;
81
+ letter-spacing: 0.02em;
82
+ }
83
+
84
+ .smx-topbar-title-sub {
85
+ font-size: 0.8rem;
86
+ colour: var(--smx-text-soft);
87
+ }
88
+
89
+ .smx-back-link {
90
+ display: inline-flex;
91
+ align-items: center;
92
+ gap: 6px;
93
+ padding: 6px 12px;
94
+ border-radius: 999px;
95
+ border: 1px solid rgba(148, 163, 184, 0.5);
96
+ text-decoration: none;
97
+ font-size: 0.8rem;
98
+ colour: var(--smx-text-main);
99
+ background: rgba(15, 23, 42, 0.7);
100
+ backdrop-filter: blur(10px);
101
+ }
102
+
103
+ .smx-back-link:hover {
104
+ border-colour: var(--smx-accent);
105
+ colour: var(--smx-accent-strong);
106
+ }
107
+
108
+ .smx-layout {
109
+ display: grid;
110
+ grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.1fr);
111
+ gap: 18px;
112
+ align-items: flex-start;
113
+ }
114
+
115
+ .smx-card {
116
+ background: radial-gradient(circle at 0 0, rgba(56, 189, 248, 0.08), rgba(15, 23, 42, 0.98));
117
+ border-radius: 16px;
118
+ border: 1px solid rgba(15, 23, 42, 0.9);
119
+ padding: 18px 18px 18px;
120
+ box-shadow:
121
+ 0 18px 40px rgba(15, 23, 42, 0.80),
122
+ 0 0 0 0.5px rgba(148, 163, 184, 0.35);
123
+ }
124
+
125
+ .smx-card-secondary {
126
+ background: radial-gradient(circle at 100% 0, rgba(56, 189, 248, 0.15), rgba(15, 23, 42, 0.98));
127
+ border-radius: 16px;
128
+ border: 1px solid rgba(30, 64, 175, 0.7);
129
+ padding: 18px 18px;
130
+ box-shadow:
131
+ 0 16px 32px rgba(15, 23, 42, 0.85),
132
+ 0 0 0 0.5px rgba(30, 64, 175, 0.55);
133
+ }
134
+
135
+ .smx-card-header {
136
+ display: flex;
137
+ align-items: center;
138
+ justify-content: space-between;
139
+ gap: 10px;
140
+ margin-bottom: 12px;
141
+ }
142
+
143
+ .smx-card-title {
144
+ font-size: 1rem;
145
+ font-weight: 600;
146
+ display: inline-flex;
147
+ align-items: center;
148
+ gap: 8px;
149
+ }
150
+
151
+ .smx-pill {
152
+ padding: 2px 8px;
153
+ border-radius: 999px;
154
+ background: rgba(56, 189, 248, 0.12);
155
+ border: 1px solid rgba(56, 189, 248, 0.5);
156
+ font-size: 0.7rem;
157
+ font-weight: 500;
158
+ letter-spacing: 0.04em;
159
+ text-transform: uppercase;
160
+ colour: var(--smx-accent-strong);
161
+ }
162
+
163
+ .smx-card-body {
164
+ font-size: 0.85rem;
165
+ colour: var(--smx-text-soft);
166
+ }
167
+
168
+ .smx-description {
169
+ margin: 0 0 10px;
170
+ line-height: 1.5;
171
+ }
172
+
173
+ label {
174
+ display: block;
175
+ font-weight: 500;
176
+ font-size: 0.82rem;
177
+ margin-bottom: 4px;
178
+ }
179
+
180
+ .smx-field {
181
+ margin-bottom: 10px;
182
+ }
183
+
184
+ input[type="file"],
185
+ input[type="number"],
186
+ input[type="text"] {
187
+ width: 100%;
188
+ padding: 7px 10px;
189
+ border-radius: 10px;
190
+ border: 1px solid rgba(148, 163, 184, 0.55);
191
+ background: rgba(15, 23, 42, 0.9);
192
+ colour: var(--smx-text-main);
193
+ font-size: 0.85rem;
194
+ color: #fff5;
195
+ }
196
+
197
+ input[type="file"] {
198
+ padding: 6px 0;
199
+ }
200
+
201
+ input[type="number"]:focus,
202
+ input[type="text"]:focus {
203
+ outline: none;
204
+ border-colour: var(--smx-accent);
205
+ box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.45);
206
+ }
207
+
208
+ .smx-hint {
209
+ font-size: 0.75rem;
210
+ colour: var(--smx-text-soft);
211
+ margin: 0 0 6px;
212
+ }
213
+
214
+ .smx-actions {
215
+ margin-top: 10px;
216
+ display: flex;
217
+ align-items: center;
218
+ justify-content: flex-start;
219
+ gap: 10px;
220
+ }
221
+
222
+ .btn-primary {
223
+ display: inline-flex;
224
+ align-items: center;
225
+ justify-content: center;
226
+ padding: 7px 16px;
227
+ border-radius: 999px;
228
+ border: none;
229
+ background: linear-gradient(135deg, #0ea5e9, #22c55e);
230
+ colour: #0b1120;
231
+ font-size: 0.85rem;
232
+ font-weight: 600;
233
+ cursor: pointer;
234
+ box-shadow: 0 10px 22px rgba(8, 47, 73, 0.7);
235
+ }
236
+
237
+ .btn-primary:hover {
238
+ filter: brightness(1.05);
239
+ box-shadow: 0 14px 28px rgba(8, 47, 73, 0.85);
240
+ }
241
+
242
+ .smx-adv-toggle {
243
+ font-size: 0.8rem;
244
+ colour: var(--smx-accent);
245
+ cursor: pointer;
246
+ text-decoration: none;
247
+ display: inline-flex;
248
+ align-items: centre;
249
+ gap: 4px;
250
+ }
251
+
252
+ .smx-adv-toggle:hover {
253
+ text-decoration: underline;
254
+ }
255
+
256
+ #advanced-box {
257
+ display: none;
258
+ margin-top: 8px;
259
+ padding: 10px 10px 8px;
260
+ border-radius: 10px;
261
+ border: 1px dashed rgba(148, 163, 184, 0.6);
262
+ background: rgba(15, 23, 42, 0.8);
263
+ }
264
+
265
+ .flashes {
266
+ list-style: none;
267
+ padding-left: 0;
268
+ margin: 0 0 10px;
269
+ font-size: 0.78rem;
270
+ }
271
+
272
+ .flashes li {
273
+ margin-bottom: 4px;
274
+ padding: 6px 8px;
275
+ border-radius: 8px;
276
+ border: 1px solid rgba(250, 204, 21, 0.8);
277
+ background: rgba(251, 191, 36, 0.06);
278
+ colour: #facc15;
279
+ }
280
+
281
+ .flashes li.error {
282
+ border-colour: rgba(248, 113, 113, 0.9);
283
+ background: rgba(248, 113, 113, 0.08);
284
+ colour: #fecaca;
285
+ }
286
+
287
+ .flashes li.success {
288
+ border-colour: rgba(34, 197, 94, 0.9);
289
+ background: rgba(22, 163, 74, 0.08);
290
+ colour: #bbf7d0;
291
+ }
292
+
293
+ .flashes li.warning {
294
+ border-colour: rgba(234, 179, 8, 0.9);
295
+ background: rgba(234, 179, 8, 0.08);
296
+ colour: #fef3c7;
297
+ }
298
+
299
+ .meta-list {
300
+ list-style: none;
301
+ padding-left: 0;
302
+ margin: 0 0 10px;
303
+ font-size: 0.8rem;
304
+ colour: var(--smx-text-soft);
305
+ }
306
+
307
+ .meta-list li {
308
+ margin-bottom: 3px;
309
+ }
310
+
311
+ .download-link {
312
+ display: inline-flex;
313
+ align-items: center;
314
+ justify-content: center;
315
+ padding: 7px 16px;
316
+ border-radius: 999px;
317
+ border: 1px solid rgba(34, 197, 94, 0.9);
318
+ colour: #bbf7d0;
319
+ font-weight: 600;
320
+ font-size: 0.85rem;
321
+ text-decoration: none;
322
+ background: rgba(22, 163, 74, 0.23);
323
+ box-shadow: 0 10px 22px rgba(4, 52, 35, 0.8);
324
+ }
325
+
326
+ .download-link:hover {
327
+ background: rgba(21, 128, 61, 0.9);
328
+ colour: #ecfdf5;
329
+ }
330
+
331
+ .smx-side-note-title {
332
+ font-size: 0.9rem;
333
+ font-weight: 600;
334
+ margin-bottom: 6px;
335
+ }
336
+
337
+ .smx-side-note-text {
338
+ font-size: 0.8rem;
339
+ colour: var(--smx-text-soft);
340
+ margin: 0 0 10px;
341
+ line-height: 1.5;
342
+ }
343
+
344
+ .smx-badge-dot {
345
+ display: inline-block;
346
+ width: 7px;
347
+ height: 7px;
348
+ border-radius: 999px;
349
+ background: var(--smx-accent);
350
+ margin-right: 6px;
351
+ }
352
+
353
+ @media (max-width: 880px) {
354
+ .smx-layout {
355
+ grid-template-columns: minmax(0, 1fr);
356
+ }
357
+ }
358
+
359
+ @media (max-width: 640px) {
360
+ .smx-shell {
361
+ padding-top: 16px;
362
+ }
363
+ .smx-card,
364
+ .smx-card-secondary {
365
+ border-radius: 12px;
366
+ }
367
+ }
368
+ </style>
369
+ </head>
370
+ <body>
371
+ <div class="smx-shell">
372
+ <div class="smx-topbar">
373
+ <div class="smx-topbar-left">
374
+ <div class="smx-logo-pill">SM</div>
375
+ <div class="smx-topbar-title">
376
+ <div class="smx-topbar-title-main">Dataset Resizer</div>
377
+ <div class="smx-topbar-title-sub">Subset of Explore · ML Lab</div>
378
+ </div>
379
+ </div>
380
+ <a href="{{ url_for('dashboard', section='explore') }}" class="smx-back-link">
381
+ <span aria-hidden="true">←</span>
382
+ <span>Back to ML Lab</span>
383
+ </a>
384
+ </div>
385
+
386
+ <div class="smx-layout">
387
+ <!-- Main card: form -->
388
+ <div class="smx-card">
389
+ {% with msgs = get_flashed_messages(with_categories=true) %}
390
+ {% if msgs %}
391
+ <ul class="flashes">
392
+ {% for category, msg in msgs %}
393
+ <li class="{{ category }}">{{ msg }}</li>
394
+ {% endfor %}
395
+ </ul>
396
+ {% endif %}
397
+ {% endwith %}
398
+
399
+ <div class="smx-card-header">
400
+ <div class="smx-card-title">
401
+ <span>Resize a dataset</span>
402
+ <span class="smx-pill">Explore subset</span>
403
+ </div>
404
+ </div>
405
+ <div class="smx-card-body">
406
+ <p class="smx-description">
407
+ Upload any CSV that feels too large to work with. Choose the percentage you want to keep,
408
+ and the resizer will return a smaller sample that preserves the overall feel of the data.
409
+ </p>
410
+
411
+ <form method="post" enctype="multipart/form-data">
412
+ <div class="smx-field">
413
+ <label for="dataset_file">CSV file</label>
414
+ <input id="dataset_file" type="file" name="dataset_file" accept=".csv" required>
415
+ <p class="smx-hint">
416
+ This is independent of the datasets listed in the ML Lab sidebar. You can bring in any CSV here.
417
+ </p>
418
+ </div>
419
+
420
+ <div class="smx-field">
421
+ <label for="target_pct">Target size (%)</label>
422
+ <input
423
+ id="target_pct"
424
+ name="target_pct"
425
+ type="number"
426
+ min="1"
427
+ max="100"
428
+ step="1"
429
+ placeholder="For example: 20 for 20% of the rows"
430
+ required
431
+ >
432
+ <p class="smx-hint">
433
+ We will sample roughly this share of rows. For very large files, even 5–10&nbsp;% can be enough
434
+ to explore patterns.
435
+ </p>
436
+ </div>
437
+
438
+ <a href="#" id="advToggle" class="smx-adv-toggle">
439
+ <span aria-hidden="true">▸</span>
440
+ <span>Show advanced options</span>
441
+ </a>
442
+
443
+ <div id="advanced-box">
444
+ <div class="smx-field" style="margin-top:4px;">
445
+ <label for="strat_col">Stratify by column (optional)</label>
446
+ <input
447
+ id="strat_col"
448
+ name="strat_col"
449
+ type="text"
450
+ placeholder="Type a label/segment column to keep class balance"
451
+ >
452
+ <p class="smx-hint">
453
+ If you supply a valid column name (for example a target label), the resizer will allocate rows per
454
+ class so proportions remain close to the original.
455
+ </p>
456
+ </div>
457
+ </div>
458
+
459
+ <div class="smx-actions">
460
+ <button type="submit" class="btn-primary">
461
+ Create resized CSV
462
+ </button>
463
+ </div>
464
+ </form>
465
+ </div>
466
+ </div>
467
+
468
+ <!-- Side card: summary + download -->
469
+ <div class="smx-card-secondary">
470
+ <div class="smx-card-header">
471
+ <div class="smx-card-title">
472
+ <span class="smx-badge-dot"></span>
473
+ <span>Resize summary</span>
474
+ </div>
475
+ </div>
476
+ <div class="smx-card-body">
477
+ {% if resize_info %}
478
+ <p class="smx-side-note-text">
479
+ Here is a quick view of what was produced from your last run. You can download the resized CSV
480
+ and pass it straight into your modelling workflow.
481
+ </p>
482
+ <ul class="meta-list">
483
+ <li><strong>Original rows:</strong> {{ resize_info.rows_in }}</li>
484
+ <li><strong>Resized rows:</strong> {{ resize_info.rows_out }}</li>
485
+ <li><strong>Target size:</strong> {{ "%.1f"|format(resize_info.pct) }}&nbsp;%</li>
486
+ {% if resize_info.used_strat and resize_info.strat_col %}
487
+ <li><strong>Stratified by:</strong> {{ resize_info.strat_col }}</li>
488
+ {% endif %}
489
+ </ul>
490
+ <a href="{{ url_for('download_resized_dataset') }}" class="download-link">
491
+ Download resized CSV
492
+ </a>
493
+ {% else %}
494
+ <p class="smx-side-note-title">No resized dataset yet</p>
495
+ <p class="smx-side-note-text">
496
+ Once you upload a file and choose a percentage, this panel will display the row counts and a download
497
+ button for the resized sample.
498
+ </p>
499
+ {% endif %}
500
+ </div>
501
+ </div>
502
+ </div>
503
+ </div>
504
+
505
+ <script>
506
+ (function () {
507
+ const toggle = document.getElementById("advToggle");
508
+ const box = document.getElementById("advanced-box");
509
+ if (!toggle || !box) return;
510
+
511
+ let open = false;
512
+ const labelSpan = toggle.querySelector("span:nth-child(2)");
513
+ const arrowSpan = toggle.querySelector("span:nth-child(1)");
514
+
515
+ function refresh() {
516
+ box.style.display = open ? "block" : "none";
517
+ if (labelSpan) {
518
+ labelSpan.textContent = open ? "Hide advanced options" : "Show advanced options";
519
+ }
520
+ if (arrowSpan) {
521
+ arrowSpan.textContent = open ? "▾" : "▸";
522
+ }
523
+ }
524
+
525
+ toggle.addEventListener("click", function (ev) {
526
+ ev.preventDefault();
527
+ open = !open;
528
+ refresh();
529
+ });
530
+
531
+ refresh();
532
+ })();
533
+ </script>
534
+ </body>
535
+ </html>
syntaxmatrix/utils.py CHANGED
@@ -629,6 +629,15 @@ def harden_ai_code(code: str) -> str:
629
629
  # 6) Final safety wrapper
630
630
  fixed = fixed.replace("\t", " ")
631
631
  fixed = textwrap.dedent(fixed).strip("\n")
632
+
633
+ # Normalise any mistaken template imports the LLM may have invented.
634
+ # If the model writes "from syntaxmatrix.templates import viz_count_bar",
635
+ # redirect that import to the real template module.
636
+ fixed = re.sub(
637
+ r"from\s+syntaxmatrix\.templates\s+import\s+([^\n]+)",
638
+ r"from syntaxmatrix.agentic.model_templates import \1",
639
+ fixed,
640
+ )
632
641
  fixed = _ensure_metrics_imports(fixed)
633
642
  fixed = _strip_stray_backrefs(fixed)
634
643
  fixed = _wrap_metric_calls(fixed)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: syntaxmatrix
3
- Version: 2.5.6.1
3
+ Version: 2.5.8
4
4
  Summary: SyntaxMUI: A customizable framework for Python AI Assistant Projects.
5
5
  Author: Bob Nti
6
6
  Author-email: bob.nti@syntaxmatrix.net
@@ -2,7 +2,7 @@ syntaxmatrix/__init__.py,sha256=_LnTrYAW2tbYA37Y233Vv4OMOk8NUnoJi-1yzFyHxEI,2573
2
2
  syntaxmatrix/auth.py,sha256=SCD6uWojXjj9yjUTKzgV5kBYe6ZkXASEG2VopLFkEtM,18140
3
3
  syntaxmatrix/bootstrap.py,sha256=Y7ZNg-Z3ecrr1iYem5EMzPmGstXnEKmO9kqKVoOoljo,817
4
4
  syntaxmatrix/commentary.py,sha256=3uSlbaQ1zl-gYtEtEpFbv2M-IH-HSdFdMvhxa7UCNHk,12025
5
- syntaxmatrix/core.py,sha256=eIqstFz0shYggr9jPyLTMJyS42xACz3hJ6V40iT8wDQ,61389
5
+ syntaxmatrix/core.py,sha256=7o5givPq7Io9DCnJQjTy-izgYvJivE2POxvG45i3dBk,61338
6
6
  syntaxmatrix/dataset_preprocessing.py,sha256=wtV4MWzkyfOsBHTsS0H1gqHho77ZQHGDI9skJryyZWA,8732
7
7
  syntaxmatrix/db.py,sha256=xkCpyhFxnAwrnZCTd13NkJsahVze0i4egjMcbB7kPfs,5000
8
8
  syntaxmatrix/display.py,sha256=TgMrE5WW80VlLcL_XvEz936mekFccJgLTfzbCIozSc8,3728
@@ -18,25 +18,25 @@ syntaxmatrix/plottings.py,sha256=MjHQ9T1_oC5oyr4_wkM2GJDrpjp0sbvudbs2lGaMyzk,610
18
18
  syntaxmatrix/preface.py,sha256=EOK3lflMJ-0B6SRJtVXhzZjhvu-bfXzw-sy1TbTYOVs,17009
19
19
  syntaxmatrix/profiles.py,sha256=0-lky7Wj-WQlP5CbvTyw1tI2M0FiqhhTkLZYLRhD5AU,2251
20
20
  syntaxmatrix/project_root.py,sha256=1ckvbFVV1szHtHsfSCoGcImHkRwbfszmPG1kGh9ZZlE,2227
21
- syntaxmatrix/routes.py,sha256=tGBSccUs9iNuMnjpZmtvn8jDRc1Sy2aAb0t0sKoBUmE,302995
21
+ syntaxmatrix/routes.py,sha256=z8ANOl2MQIzcLGbFxiUNviE4E4xQwOWH_gb8zZgU2dA,310998
22
22
  syntaxmatrix/session.py,sha256=v0qgxnVM_LEaNvZQJSa-13Q2eiwc3RDnjd2SahNnHQk,599
23
23
  syntaxmatrix/smiv.py,sha256=1lSN3UYpXvYoVNd6VrkY5iZuF_nDxD6xxvLnTn9wcbQ,1405
24
24
  syntaxmatrix/smpv.py,sha256=rrCgYqfjBaK2n5qzfQyXK3bHFMvgNcCIqPaXquOLtDM,3600
25
25
  syntaxmatrix/themes.py,sha256=qa90vPZTuNNKB37loZhChQfu5QqkaJG4JxgI_4QgCxw,3576
26
26
  syntaxmatrix/ui_modes.py,sha256=5lfKK3AKAB-JQCWfi1GRYp4sQqg4Z0fC3RJ8G3VGCMw,152
27
- syntaxmatrix/utils.py,sha256=0iTu9XbUN1HsZModWmyexYrXAzjox7gpHyYV7SmW-PM,123555
27
+ syntaxmatrix/utils.py,sha256=NrClmFCAoPO7Rgd93SAaWTrMjLNkY1zPf7b8aoK8Ohw,123940
28
28
  syntaxmatrix/vector_db.py,sha256=ozvOcMHt52xFAvcp-vAqT69kECPq9BwL8Rzgq3AJaMs,5824
29
29
  syntaxmatrix/vectorizer.py,sha256=5w_UQiUIirm_W-Q9TcaEI8LTcTYIuDBdKfz79T1aZ8g,1366
30
30
  syntaxmatrix/workspace_db.py,sha256=Xu9OlW8wo3iaH5Y88ZMdLOf-fiZxF1NBb5rAw3KcbfY,4715
31
31
  syntaxmatrix/agentic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  syntaxmatrix/agentic/agent_tools.py,sha256=yQwavONP23ziMxNQf3j2Y4TVo_LxEsiAWecKuBK8WDg,866
33
- syntaxmatrix/agentic/agents.py,sha256=SKYoBO-iVPRVpvMP6BOYp7axsiCs1ve9J_cNyf3utCw,30808
33
+ syntaxmatrix/agentic/agents.py,sha256=sK_lgmZTBah-8B86yuRowUGjpLjUsNPmlWKhjSuP75A,29380
34
34
  syntaxmatrix/agentic/code_tools_registry.py,sha256=Wp4-KHtp0BUVciqSbmionBsQMVFOnvJPruBJeNiuwkk,1564
35
35
  syntaxmatrix/agentic/model_templates.py,sha256=A3ROE3BHkvnU9cxqSGjlCBIw9U15zRaTKgK-WxcZtUI,76033
36
36
  syntaxmatrix/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
37
  syntaxmatrix/settings/default.yaml,sha256=BznvF1D06VMPbT6UX3MQ4zUkXxTXLnAA53aUu8G4O38,569
38
38
  syntaxmatrix/settings/logging.py,sha256=U8iTDFv0H1ECdIzH9He2CtOVlK1x5KHCk126Zn5Vi7M,1362
39
- syntaxmatrix/settings/model_map.py,sha256=of49J294XnPRXYXUtdApg1t9VRajwZoZplVD9mBDSIc,11990
39
+ syntaxmatrix/settings/model_map.py,sha256=wuVfjAs6R35ILdi384fJtOfdOGwV7LNkMjcIUkNFIdc,12001
40
40
  syntaxmatrix/settings/prompts.py,sha256=dLNijnw9UHlAg5qxcSaLPhTmR7SdDDyOFcMKhlCA4eQ,21695
41
41
  syntaxmatrix/settings/string_navbar.py,sha256=NqgTzo3J9rRI4c278VG6kpoViFfmi2FKmL6sO0R-bus,83
42
42
  syntaxmatrix/static/docs.md,sha256=rWlKjNcpS2cs5DElGNYuaA-XXdGZnRGMXx62nACvDwE,11105
@@ -51,7 +51,8 @@ syntaxmatrix/static/js/sidebar.js,sha256=zHp4skKLY2Dlqx7aLPQ8_cR0iTRT17W0SC2TR38
51
51
  syntaxmatrix/static/js/widgets.js,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
52
  syntaxmatrix/templates/change_password.html,sha256=YWEcnwJLccLyKGzQxIrc0xuP-p00BtEIwcYq4oFvJ-0,3332
53
53
  syntaxmatrix/templates/code_cell.html,sha256=LOr9VjvNQcOGKKJ1ecpcZh3C3qsUxBHueg2iQtpdxl8,638
54
- syntaxmatrix/templates/dashboard.html,sha256=MhB8m5EQVuWQ5f6gRECtsoUfeyvew_z5nZz5FTg4Pmo,31015
54
+ syntaxmatrix/templates/dashboard.html,sha256=_uYNtfUzO71ZMRduQ07vB9CkYa2BYB7Ed3k7Kf_Dsb0,35599
55
+ syntaxmatrix/templates/dataset_resize.html,sha256=MRDbEGTjuMASdMn1yhnwKRyyM70-bL7u05i5EtrNVQg,14909
55
56
  syntaxmatrix/templates/docs.html,sha256=KVi5JrZD3gwOduiZhAz7hQrKY9SrQ_bsHOODj0Nj09s,3552
56
57
  syntaxmatrix/templates/error.html,sha256=Iu5ykHnhw8jrxVBNn6B95e90W5u9I2hySCiLtaoOJMs,3290
57
58
  syntaxmatrix/templates/login.html,sha256=V_bWHozS1xCeHPsvAAfaGG-_2lAE7K8d05IarQN1PS8,2677
@@ -63,8 +64,8 @@ syntaxmatrix/vectordb/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
63
64
  syntaxmatrix/vectordb/adapters/milvus_adapter.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
65
  syntaxmatrix/vectordb/adapters/pgvector_adapter.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
66
  syntaxmatrix/vectordb/adapters/sqlite_adapter.py,sha256=L8M2qHfwZRAFVxWeurUVdHaJXz6F5xTUSWh3uy6TSUs,6035
66
- syntaxmatrix-2.5.6.1.dist-info/licenses/LICENSE.txt,sha256=j1P8naTdy1JMxTC80XYQjbyAQnuOlpDusCUhncrvpy8,1083
67
- syntaxmatrix-2.5.6.1.dist-info/METADATA,sha256=KNptOa1RWzCBh139s4QqtGu696Pgm2_ykp_5r7Lkjik,18092
68
- syntaxmatrix-2.5.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
69
- syntaxmatrix-2.5.6.1.dist-info/top_level.txt,sha256=HKP_zkl4V_nt7osC15DlacoBZktHrbZYOqf_pPkF3T8,13
70
- syntaxmatrix-2.5.6.1.dist-info/RECORD,,
67
+ syntaxmatrix-2.5.8.dist-info/licenses/LICENSE.txt,sha256=j1P8naTdy1JMxTC80XYQjbyAQnuOlpDusCUhncrvpy8,1083
68
+ syntaxmatrix-2.5.8.dist-info/METADATA,sha256=0n7w_0wpDvswlDt7bSklNnXuA2CrL3pZns-9ZSRbkVQ,18090
69
+ syntaxmatrix-2.5.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
70
+ syntaxmatrix-2.5.8.dist-info/top_level.txt,sha256=HKP_zkl4V_nt7osC15DlacoBZktHrbZYOqf_pPkF3T8,13
71
+ syntaxmatrix-2.5.8.dist-info/RECORD,,