llms-py 3.0.0b8__py3-none-any.whl → 3.0.0b9__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.
Binary file
llms/extensions/app/db.py CHANGED
@@ -62,6 +62,11 @@ class AppDB:
62
62
 
63
63
  self.ctx = ctx
64
64
  self.db_path = str(db_path)
65
+
66
+ dirname = os.path.dirname(self.db_path)
67
+ if dirname:
68
+ os.makedirs(dirname, exist_ok=True)
69
+
65
70
  self.db = DbManager(ctx, self.db_path)
66
71
  self.columns = {
67
72
  "thread": {
@@ -142,9 +147,6 @@ class AppDB:
142
147
  self.ctx.err(f"adding {table} column {col}", e)
143
148
 
144
149
  def init_db(self, conn):
145
- dirname = os.path.dirname(self.db_path)
146
- if dirname:
147
- os.makedirs(dirname, exist_ok=True)
148
150
  # Create table with all columns
149
151
  # Note: default SQLite timestamp has different tz to datetime.now()
150
152
  overrides = {
@@ -12,10 +12,10 @@ def create_reader_connection(db_path):
12
12
 
13
13
  def create_writer_connection(db_path):
14
14
  conn = sqlite3.connect(db_path)
15
+ conn.execute("PRAGMA busy_timeout=5000") # Reasonable timeout for busy connections
15
16
  conn.execute("PRAGMA journal_mode=WAL") # Enable WAL mode for better concurrency
16
17
  conn.execute("PRAGMA cache_size=-128000") # Increase cache size for better performance
17
18
  conn.execute("PRAGMA synchronous=NORMAL") # Reasonable durability/performance balance
18
- conn.execute("PRAGMA busy_timeout=5000") # Reasonable timeout for busy connections
19
19
  return conn
20
20
 
21
21
 
llms/main.py CHANGED
@@ -41,7 +41,7 @@ try:
41
41
  except ImportError:
42
42
  HAS_PIL = False
43
43
 
44
- VERSION = "3.0.0b8"
44
+ VERSION = "3.0.0b9"
45
45
  _ROOT = None
46
46
  DEBUG = os.getenv("DEBUG") == "1"
47
47
  MOCK = os.getenv("MOCK") == "1"
llms/ui/ai.mjs CHANGED
@@ -6,7 +6,7 @@ const headers = { 'Accept': 'application/json' }
6
6
  const prefsKey = 'llms.prefs'
7
7
 
8
8
  export const o = {
9
- version: '3.0.0b8',
9
+ version: '3.0.0b9',
10
10
  base,
11
11
  prefsKey,
12
12
  welcome: 'Welcome to llms.py',
llms/ui/app.css CHANGED
@@ -95,6 +95,7 @@
95
95
  --color-fuchsia-900: oklch(40.1% 0.17 325.612);
96
96
  --color-slate-50: oklch(98.4% 0.003 247.858);
97
97
  --color-slate-200: oklch(92.9% 0.013 255.508);
98
+ --color-slate-300: oklch(86.9% 0.022 252.894);
98
99
  --color-slate-400: oklch(70.4% 0.04 256.788);
99
100
  --color-slate-500: oklch(55.4% 0.046 257.417);
100
101
  --color-slate-700: oklch(37.2% 0.044 257.287);
@@ -186,6 +187,7 @@
186
187
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
187
188
  --default-font-family: var(--font-sans);
188
189
  --default-mono-font-family: var(--font-mono);
190
+ --default-ring-color: hsl(var(--ring));
189
191
  }
190
192
  }
191
193
  @layer base {
@@ -393,6 +395,9 @@
393
395
  .top-0 {
394
396
  top: calc(var(--spacing) * 0);
395
397
  }
398
+ .top-1 {
399
+ top: calc(var(--spacing) * 1);
400
+ }
396
401
  .top-1\/2 {
397
402
  top: calc(1/2 * 100%);
398
403
  }
@@ -429,6 +434,9 @@
429
434
  .left-0 {
430
435
  left: calc(var(--spacing) * 0);
431
436
  }
437
+ .left-1 {
438
+ left: calc(var(--spacing) * 1);
439
+ }
432
440
  .left-1\/2 {
433
441
  left: calc(1/2 * 100%);
434
442
  }
@@ -501,9 +509,15 @@
501
509
  max-width: 96rem;
502
510
  }
503
511
  }
512
+ .-m-2 {
513
+ margin: calc(var(--spacing) * -2);
514
+ }
504
515
  .-m-2\.5 {
505
516
  margin: calc(var(--spacing) * -2.5);
506
517
  }
518
+ .-mx-1 {
519
+ margin-inline: calc(var(--spacing) * -1);
520
+ }
507
521
  .-mx-1\.5 {
508
522
  margin-inline: calc(var(--spacing) * -1.5);
509
523
  }
@@ -516,6 +530,9 @@
516
530
  .mx-auto {
517
531
  margin-inline: auto;
518
532
  }
533
+ .-my-1 {
534
+ margin-block: calc(var(--spacing) * -1);
535
+ }
519
536
  .-my-1\.5 {
520
537
  margin-block: calc(var(--spacing) * -1.5);
521
538
  }
@@ -537,6 +554,9 @@
537
554
  .-mt-36 {
538
555
  margin-top: calc(var(--spacing) * -36);
539
556
  }
557
+ .mt-0 {
558
+ margin-top: calc(var(--spacing) * 0);
559
+ }
540
560
  .mt-0\.5 {
541
561
  margin-top: calc(var(--spacing) * 0.5);
542
562
  }
@@ -714,6 +734,9 @@
714
734
  width: calc(var(--spacing) * 20);
715
735
  height: calc(var(--spacing) * 20);
716
736
  }
737
+ .h-1 {
738
+ height: calc(var(--spacing) * 1);
739
+ }
717
740
  .h-1\.5 {
718
741
  height: calc(var(--spacing) * 1.5);
719
742
  }
@@ -979,6 +1002,10 @@
979
1002
  .origin-top-right {
980
1003
  transform-origin: 100% 0;
981
1004
  }
1005
+ .-translate-x-1 {
1006
+ --tw-translate-x: calc(var(--spacing) * -1);
1007
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1008
+ }
982
1009
  .-translate-x-1\/2 {
983
1010
  --tw-translate-x: calc(calc(1/2 * 100%) * -1);
984
1011
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -995,6 +1022,10 @@
995
1022
  --tw-translate-x: calc(var(--spacing) * 0);
996
1023
  translate: var(--tw-translate-x) var(--tw-translate-y);
997
1024
  }
1025
+ .translate-x-1 {
1026
+ --tw-translate-x: calc(var(--spacing) * 1);
1027
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1028
+ }
998
1029
  .translate-x-1\/4 {
999
1030
  --tw-translate-x: calc(1/4 * 100%);
1000
1031
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -1007,6 +1038,10 @@
1007
1038
  --tw-translate-x: 100%;
1008
1039
  translate: var(--tw-translate-x) var(--tw-translate-y);
1009
1040
  }
1041
+ .-translate-y-1 {
1042
+ --tw-translate-y: calc(var(--spacing) * -1);
1043
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1044
+ }
1010
1045
  .-translate-y-1\/2 {
1011
1046
  --tw-translate-y: calc(calc(1/2 * 100%) * -1);
1012
1047
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -1019,6 +1054,10 @@
1019
1054
  --tw-translate-y: calc(var(--spacing) * 0);
1020
1055
  translate: var(--tw-translate-x) var(--tw-translate-y);
1021
1056
  }
1057
+ .translate-y-1 {
1058
+ --tw-translate-y: calc(var(--spacing) * 1);
1059
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1060
+ }
1022
1061
  .translate-y-1\/4 {
1023
1062
  --tw-translate-y: calc(1/4 * 100%);
1024
1063
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -1180,6 +1219,9 @@
1180
1219
  margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
1181
1220
  }
1182
1221
  }
1222
+ .gap-x-1 {
1223
+ column-gap: calc(var(--spacing) * 1);
1224
+ }
1183
1225
  .gap-x-1\.5 {
1184
1226
  column-gap: calc(var(--spacing) * 1.5);
1185
1227
  }
@@ -1445,6 +1487,9 @@
1445
1487
  .border-red-400 {
1446
1488
  border-color: var(--color-red-400);
1447
1489
  }
1490
+ .border-red-800 {
1491
+ border-color: var(--color-red-800);
1492
+ }
1448
1493
  .border-red-800\/20 {
1449
1494
  border-color: color-mix(in srgb, oklch(44.4% 0.177 26.899) 20%, transparent);
1450
1495
  @supports (color: color-mix(in lab, red, red)) {
@@ -1454,6 +1499,9 @@
1454
1499
  .border-transparent {
1455
1500
  border-color: transparent;
1456
1501
  }
1502
+ .border-white {
1503
+ border-color: var(--color-white);
1504
+ }
1457
1505
  .border-white\/10 {
1458
1506
  border-color: color-mix(in srgb, #fff 10%, transparent);
1459
1507
  @supports (color: color-mix(in lab, red, red)) {
@@ -1475,12 +1523,18 @@
1475
1523
  .border-yellow-400 {
1476
1524
  border-color: var(--color-yellow-400);
1477
1525
  }
1526
+ .border-yellow-500 {
1527
+ border-color: var(--color-yellow-500);
1528
+ }
1478
1529
  .border-yellow-500\/30 {
1479
1530
  border-color: color-mix(in srgb, oklch(79.5% 0.184 86.047) 30%, transparent);
1480
1531
  @supports (color: color-mix(in lab, red, red)) {
1481
1532
  border-color: color-mix(in oklab, var(--color-yellow-500) 30%, transparent);
1482
1533
  }
1483
1534
  }
1535
+ .border-yellow-600 {
1536
+ border-color: var(--color-yellow-600);
1537
+ }
1484
1538
  .border-yellow-600\/30 {
1485
1539
  border-color: color-mix(in srgb, oklch(68.1% 0.162 75.834) 30%, transparent);
1486
1540
  @supports (color: color-mix(in lab, red, red)) {
@@ -1490,6 +1544,9 @@
1490
1544
  .bg-\[\#fdfbf7\] {
1491
1545
  background-color: #fdfbf7;
1492
1546
  }
1547
+ .bg-black {
1548
+ background-color: var(--color-black);
1549
+ }
1493
1550
  .bg-black\/40 {
1494
1551
  background-color: color-mix(in srgb, #000 40%, transparent);
1495
1552
  @supports (color: color-mix(in lab, red, red)) {
@@ -1556,6 +1613,9 @@
1556
1613
  .bg-gray-400 {
1557
1614
  background-color: var(--color-gray-400);
1558
1615
  }
1616
+ .bg-gray-500 {
1617
+ background-color: var(--color-gray-500);
1618
+ }
1559
1619
  .bg-gray-500\/75 {
1560
1620
  background-color: color-mix(in srgb, oklch(55.1% 0.027 264.364) 75%, transparent);
1561
1621
  @supports (color: color-mix(in lab, red, red)) {
@@ -1619,9 +1679,15 @@
1619
1679
  .bg-sky-600 {
1620
1680
  background-color: var(--color-sky-600);
1621
1681
  }
1682
+ .bg-slate-50 {
1683
+ background-color: var(--color-slate-50);
1684
+ }
1622
1685
  .bg-slate-50\! {
1623
1686
  background-color: var(--color-slate-50) !important;
1624
1687
  }
1688
+ .bg-slate-400 {
1689
+ background-color: var(--color-slate-400);
1690
+ }
1625
1691
  .bg-slate-400\/10 {
1626
1692
  background-color: color-mix(in srgb, oklch(70.4% 0.04 256.788) 10%, transparent);
1627
1693
  @supports (color: color-mix(in lab, red, red)) {
@@ -1686,6 +1752,10 @@
1686
1752
  --tw-gradient-position: to top in oklab;
1687
1753
  background-image: linear-gradient(var(--tw-gradient-stops));
1688
1754
  }
1755
+ .from-black {
1756
+ --tw-gradient-from: var(--color-black);
1757
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1758
+ }
1689
1759
  .from-black\/80 {
1690
1760
  --tw-gradient-from: color-mix(in srgb, #000 80%, transparent);
1691
1761
  @supports (color: color-mix(in lab, red, red)) {
@@ -1717,6 +1787,11 @@
1717
1787
  --tw-gradient-from: var(--color-yellow-400);
1718
1788
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1719
1789
  }
1790
+ .via-black {
1791
+ --tw-gradient-via: var(--color-black);
1792
+ --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
1793
+ --tw-gradient-stops: var(--tw-gradient-via-stops);
1794
+ }
1720
1795
  .via-black\/20 {
1721
1796
  --tw-gradient-via: color-mix(in srgb, #000 20%, transparent);
1722
1797
  @supports (color: color-mix(in lab, red, red)) {
@@ -1841,6 +1916,9 @@
1841
1916
  .px-12 {
1842
1917
  padding-inline: calc(var(--spacing) * 12);
1843
1918
  }
1919
+ .py-0 {
1920
+ padding-block: calc(var(--spacing) * 0);
1921
+ }
1844
1922
  .py-0\.5 {
1845
1923
  padding-block: calc(var(--spacing) * 0.5);
1846
1924
  }
@@ -1877,6 +1955,9 @@
1877
1955
  .py-12 {
1878
1956
  padding-block: calc(var(--spacing) * 12);
1879
1957
  }
1958
+ .pt-0 {
1959
+ padding-top: calc(var(--spacing) * 0);
1960
+ }
1880
1961
  .pt-0\.5 {
1881
1962
  padding-top: calc(var(--spacing) * 0.5);
1882
1963
  }
@@ -2243,6 +2324,9 @@
2243
2324
  .text-sky-600 {
2244
2325
  color: var(--color-sky-600);
2245
2326
  }
2327
+ .text-slate-300 {
2328
+ color: var(--color-slate-300);
2329
+ }
2246
2330
  .text-slate-500 {
2247
2331
  color: var(--color-slate-500);
2248
2332
  }
@@ -2270,6 +2354,9 @@
2270
2354
  .text-yellow-400 {
2271
2355
  color: var(--color-yellow-400);
2272
2356
  }
2357
+ .text-yellow-500 {
2358
+ color: var(--color-yellow-500);
2359
+ }
2273
2360
  .text-yellow-500\/60 {
2274
2361
  color: color-mix(in srgb, oklch(79.5% 0.184 86.047) 60%, transparent);
2275
2362
  @supports (color: color-mix(in lab, red, red)) {
@@ -2429,24 +2516,45 @@
2429
2516
  --tw-inset-ring-shadow: inset 0 0 0 1px var(--tw-inset-ring-color, currentcolor);
2430
2517
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2431
2518
  }
2519
+ .shadow-black {
2520
+ --tw-shadow-color: #000;
2521
+ @supports (color: color-mix(in lab, red, red)) {
2522
+ --tw-shadow-color: color-mix(in oklab, var(--color-black) var(--tw-shadow-alpha), transparent);
2523
+ }
2524
+ }
2432
2525
  .shadow-black\/5 {
2433
2526
  --tw-shadow-color: color-mix(in srgb, #000 5%, transparent);
2434
2527
  @supports (color: color-mix(in lab, red, red)) {
2435
2528
  --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 5%, transparent) var(--tw-shadow-alpha), transparent);
2436
2529
  }
2437
2530
  }
2531
+ .shadow-fuchsia-500 {
2532
+ --tw-shadow-color: oklch(66.7% 0.295 322.15);
2533
+ @supports (color: color-mix(in lab, red, red)) {
2534
+ --tw-shadow-color: color-mix(in oklab, var(--color-fuchsia-500) var(--tw-shadow-alpha), transparent);
2535
+ }
2536
+ }
2438
2537
  .shadow-fuchsia-500\/10 {
2439
2538
  --tw-shadow-color: color-mix(in srgb, oklch(66.7% 0.295 322.15) 10%, transparent);
2440
2539
  @supports (color: color-mix(in lab, red, red)) {
2441
2540
  --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-fuchsia-500) 10%, transparent) var(--tw-shadow-alpha), transparent);
2442
2541
  }
2443
2542
  }
2543
+ .shadow-gray-200 {
2544
+ --tw-shadow-color: oklch(92.8% 0.006 264.531);
2545
+ @supports (color: color-mix(in lab, red, red)) {
2546
+ --tw-shadow-color: color-mix(in oklab, var(--color-gray-200) var(--tw-shadow-alpha), transparent);
2547
+ }
2548
+ }
2444
2549
  .shadow-gray-200\/50 {
2445
2550
  --tw-shadow-color: color-mix(in srgb, oklch(92.8% 0.006 264.531) 50%, transparent);
2446
2551
  @supports (color: color-mix(in lab, red, red)) {
2447
2552
  --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gray-200) 50%, transparent) var(--tw-shadow-alpha), transparent);
2448
2553
  }
2449
2554
  }
2555
+ .ring-black {
2556
+ --tw-ring-color: var(--color-black);
2557
+ }
2450
2558
  .ring-black\/5 {
2451
2559
  --tw-ring-color: color-mix(in srgb, #000 5%, transparent);
2452
2560
  @supports (color: color-mix(in lab, red, red)) {
@@ -2468,12 +2576,18 @@
2468
2576
  .ring-indigo-500 {
2469
2577
  --tw-ring-color: var(--color-indigo-500);
2470
2578
  }
2579
+ .ring-yellow-400 {
2580
+ --tw-ring-color: var(--color-yellow-400);
2581
+ }
2471
2582
  .ring-yellow-400\/30 {
2472
2583
  --tw-ring-color: color-mix(in srgb, oklch(85.2% 0.199 91.936) 30%, transparent);
2473
2584
  @supports (color: color-mix(in lab, red, red)) {
2474
2585
  --tw-ring-color: color-mix(in oklab, var(--color-yellow-400) 30%, transparent);
2475
2586
  }
2476
2587
  }
2588
+ .inset-ring-gray-900 {
2589
+ --tw-inset-ring-color: var(--color-gray-900);
2590
+ }
2477
2591
  .inset-ring-gray-900\/5 {
2478
2592
  --tw-inset-ring-color: color-mix(in srgb, oklch(21% 0.034 264.665) 5%, transparent);
2479
2593
  @supports (color: color-mix(in lab, red, red)) {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: llms-py
3
- Version: 3.0.0b8
3
+ Version: 3.0.0b9
4
4
  Summary: A lightweight CLI tool and OpenAI-compatible server for querying multiple Large Language Model (LLM) providers
5
5
  Home-page: https://github.com/ServiceStack/llms
6
6
  Author: ServiceStack
@@ -2,7 +2,7 @@ llms/__init__.py,sha256=DKwTZDsyYL_wHe7yvLw49Nf8PSgPSyWaeVdotUqSvrQ,84
2
2
  llms/__main__.py,sha256=hrBulHIt3lmPm1BCyAEVtB6DQ0Hvc3gnIddhHCmJasg,151
3
3
  llms/index.html,sha256=nGk1Djtn9p7l6LuKp4Kg0JIB9fCzxtTWXFfmDb4ggpc,1658
4
4
  llms/llms.json,sha256=tONG9JJsEXSRaXp-L_q9ds-_5mnL9O4u1MJaqEoIXGo,11136
5
- llms/main.py,sha256=ArVL2ZX0moS2FCr4Gh1T_KePcSAVwzY7fOpdwXejLZI,153533
5
+ llms/main.py,sha256=zIL-glIwhKF2goitx9tdZTNd-yP0Fn4b82D9vwfU1CQ,153533
6
6
  llms/providers-extra.json,sha256=w7_5gB0YUPK0PJNeViM7vRDfNGChXUKMHfGHenVxEkM,10165
7
7
  llms/providers.json,sha256=mP4vQ37LeRAZCpT3WPO2GZaZ3YsXodXBV5OVbVMBAmo,256222
8
8
  llms/__pycache__/__init__.cpython-312.pyc,sha256=lg2oFc0aKgj536NOJxcIpbCpEWi47ptF8NufPphgUUk,204
@@ -13,17 +13,17 @@ llms/__pycache__/__main__.cpython-314.pyc,sha256=IFxtGVpJq_3whKuM5Ln7YMweKFNbHVp
13
13
  llms/__pycache__/llms.cpython-312.pyc,sha256=S5dFI79JdUe2dQW4ogdB-CCNhudQeFaFGcfKxgJGBms,72080
14
14
  llms/__pycache__/main.cpython-312.pyc,sha256=HrqApYAiiBmYN73HIx_Hl2-Xm1Gy7I_0zuR5j86qoRM,104940
15
15
  llms/__pycache__/main.cpython-313.pyc,sha256=6NQ__SJ2rC9ItFLKLHL5ewb5RqxLzZabwgczA9wZd-w,74814
16
- llms/__pycache__/main.cpython-314.pyc,sha256=wz3Kj4xsvzSXEAkiIDvdLQX2wy5I8s9W2OCGG65x3CA,198508
16
+ llms/__pycache__/main.cpython-314.pyc,sha256=f-kRvP_ai0SidMk2j9L3JgvjvxLLrRcy1OoKH2PToWY,198508
17
17
  llms/__pycache__/plugins.cpython-314.pyc,sha256=fer8nTkidG_vQSx80tL2bAvMS0opDom93bewjseFcyg,3560
18
18
  llms/extensions/analytics/ui/index.mjs,sha256=cr9dPmEJjha2xX6A_7xbJxkOolWFP1p6TgIoO8M8juI,69540
19
19
  llms/extensions/app/__init__.py,sha256=X-UrI7kvGkWn7LCLDJTm1y5fW7ZlDjx_tZXlgEBts08,18977
20
- llms/extensions/app/db.py,sha256=UClE37WjfGKc1JhF0TWNAF3TozD-RtgVEe-sRsJESTE,24161
21
- llms/extensions/app/db_manager.py,sha256=yOSu8OXRovVWdSpEC03QHpJXB5PJJlsVnCLfw_VRPVA,7046
20
+ llms/extensions/app/db.py,sha256=TTxiQup4RYuqlzUsOfrshW-89YyGCzK590wo0ySn8xA,24163
21
+ llms/extensions/app/db_manager.py,sha256=NcdOK_FzEmzCYEoQjdivZTrgJdFf9dGlAelJvP4VecA,7046
22
22
  llms/extensions/app/requests.json,sha256=xMQ_FgMaBxbrCcTnsdkaBvufy40yFT7U1kR6nn_GaNE,264556
23
23
  llms/extensions/app/threads.json,sha256=f_xPjkmY2OGbGnSXxVTcSGKRU-2rvfAXnHbf2pH1K5Q,741352
24
24
  llms/extensions/app/__pycache__/__init__.cpython-314.pyc,sha256=xpU2rCIqsC19tihBMJcd41FTMq08Hhr3fTtuLwknMn0,26695
25
- llms/extensions/app/__pycache__/db.cpython-314.pyc,sha256=vtd_bfssg_Vu3i8bqMk3EfJLZfQa2rwG4LJ1SC2EB_E,35538
26
- llms/extensions/app/__pycache__/db_manager.cpython-314.pyc,sha256=sqEKnwYaWDHtDkMdZboLX7qaXtsmSzbBdnI8Do2Zi5c,11071
25
+ llms/extensions/app/__pycache__/db.cpython-314.pyc,sha256=RPDnz59j1I1AXWanfQvKpe5x5NeITTCVKj_AC5HDJjc,35533
26
+ llms/extensions/app/__pycache__/db_manager.cpython-314.pyc,sha256=mS-NkAbnGYTDQfsKXZufkI9LnOBSWD5fYNMqTVjQrnE,11071
27
27
  llms/extensions/app/ui/Recents.mjs,sha256=HT9R2IEus3dGEqtKPGrgX1eMp4EQ2j2jLwv-Fn1Us5E,9253
28
28
  llms/extensions/app/ui/index.mjs,sha256=XAHNYiAYHo8dRbsA5Q-FwiNFI5wY6YNgRf6exVykQAA,13255
29
29
  llms/extensions/app/ui/threadStore.mjs,sha256=oHsgiigafgT4j8XeF9taOSOL8dRCkrhBa-ZhcPUQtAs,11283
@@ -164,8 +164,8 @@ llms/extensions/tools/__init__.py,sha256=yfIK7dVqYiZGX5VeJ3x7HQWLPQfuPqeNYJsd0lp
164
164
  llms/extensions/tools/__pycache__/__init__.cpython-314.pyc,sha256=3H5i6ooI1LCCdVjZPDBteU2Ov6nYSeLAk9kUl6F9pZg,641
165
165
  llms/extensions/tools/ui/index.mjs,sha256=Nu69U6odCUh8uu1i8d5f8ryO4Lj_OFbPX2LnVyYu1fk,9602
166
166
  llms/ui/App.mjs,sha256=zU-GtbcSMREizjUS9nWiMK6m_oT14MNJ-p_RCz2RVqA,7445
167
- llms/ui/ai.mjs,sha256=osq_0N-2lXWAk8qgcjJLH_Clnbi5MTrq-4jxjQJWnsg,6087
168
- llms/ui/app.css,sha256=6-TDhyxmgcMlDTZES8gPUIFFsNonAeW9z-S-xa1AyN0,170573
167
+ llms/ui/ai.mjs,sha256=OHde8wtLWX-LH9Z2vlxVAvsKODiVlWg0hD9-l24ZukY,6087
168
+ llms/ui/app.css,sha256=VcyYn6-qinFH7iOkIxUb5dmPDjLDcDBvgEOaRaeyg1E,173909
169
169
  llms/ui/ctx.mjs,sha256=pygZxLcscWqRT54xDEcFDw-wIaS63E0OuMqDhJPrKLE,10568
170
170
  llms/ui/fav.svg,sha256=_R6MFeXl6wBFT0lqcUxYQIDWgm246YH_3hSTW0oO8qw,734
171
171
  llms/ui/index.mjs,sha256=j2rkXwpxPpBsurWLvvN6a25cVu7r9s9avP9ozKOpzMA,4253
@@ -190,9 +190,9 @@ llms/ui/modules/chat/ChatBody.mjs,sha256=ISZy1D63gpd9PpJ0EiZQYFf10LC2uI5Xt0SS3qQ
190
190
  llms/ui/modules/chat/HomeTools.mjs,sha256=Jak12OvR8DZ6CmrWMMxELoNS8864EtMrhmiQp4SFfoM,213
191
191
  llms/ui/modules/chat/SettingsDialog.mjs,sha256=HMBJTwrapKrRIAstIIqp0QlJL5O-ho4hzgvfagPfsX8,19930
192
192
  llms/ui/modules/chat/index.mjs,sha256=TFxdCN7qw8JW1OphkhZUX8KxKJdBIwsL7QkavKuYDwQ,34516
193
- llms_py-3.0.0b8.dist-info/licenses/LICENSE,sha256=bus9cuAOWeYqBk2OuhSABVV1P4z7hgrEFISpyda_H5w,1532
194
- llms_py-3.0.0b8.dist-info/METADATA,sha256=-ALKI6cNJfV5ZEuMki6K9UybHybvxDUOFspF7SbPboA,2193
195
- llms_py-3.0.0b8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
196
- llms_py-3.0.0b8.dist-info/entry_points.txt,sha256=WswyE7PfnkZMIxboC-MS6flBD6wm-CYU7JSUnMhqMfM,40
197
- llms_py-3.0.0b8.dist-info/top_level.txt,sha256=gC7hk9BKSeog8gyg-EM_g2gxm1mKHwFRfK-10BxOsa4,5
198
- llms_py-3.0.0b8.dist-info/RECORD,,
193
+ llms_py-3.0.0b9.dist-info/licenses/LICENSE,sha256=bus9cuAOWeYqBk2OuhSABVV1P4z7hgrEFISpyda_H5w,1532
194
+ llms_py-3.0.0b9.dist-info/METADATA,sha256=-XTdbNmAvk6mJtZXS8Lt_qs0Asm5x5_Ety_dwCmTmGk,2193
195
+ llms_py-3.0.0b9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
196
+ llms_py-3.0.0b9.dist-info/entry_points.txt,sha256=WswyE7PfnkZMIxboC-MS6flBD6wm-CYU7JSUnMhqMfM,40
197
+ llms_py-3.0.0b9.dist-info/top_level.txt,sha256=gC7hk9BKSeog8gyg-EM_g2gxm1mKHwFRfK-10BxOsa4,5
198
+ llms_py-3.0.0b9.dist-info/RECORD,,