@retrivora-ai/rag-engine 1.9.3 → 1.9.7

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 (69) hide show
  1. package/README.md +59 -7
  2. package/dist/{ILLMProvider-Bw2A28nU.d.mts → ILLMProvider-Bhk6zJOK.d.mts} +43 -7
  3. package/dist/{ILLMProvider-Bw2A28nU.d.ts → ILLMProvider-Bhk6zJOK.d.ts} +43 -7
  4. package/dist/handlers/index.d.mts +2 -2
  5. package/dist/handlers/index.d.ts +2 -2
  6. package/dist/handlers/index.js +737 -237
  7. package/dist/handlers/index.mjs +736 -237
  8. package/dist/index-B9J_XEh0.d.ts +187 -0
  9. package/dist/index-BJ4cd-t5.d.mts +187 -0
  10. package/dist/{index-B70ZLkfG.d.mts → index-Bu7T6xgr.d.ts} +20 -3
  11. package/dist/{index-DVu-mkAM.d.ts → index-C3SVtPYg.d.mts} +20 -3
  12. package/dist/index.css +237 -10
  13. package/dist/index.d.mts +13 -5
  14. package/dist/index.d.ts +13 -5
  15. package/dist/index.js +365 -164
  16. package/dist/index.mjs +350 -158
  17. package/dist/server.d.mts +15 -94
  18. package/dist/server.d.ts +15 -94
  19. package/dist/server.js +850 -239
  20. package/dist/server.mjs +839 -238
  21. package/package.json +2 -4
  22. package/src/app/api/chat/route.ts +2 -2
  23. package/src/app/api/health/route.ts +3 -2
  24. package/src/app/api/ingest/route.ts +3 -2
  25. package/src/app/api/suggestions/route.ts +3 -2
  26. package/src/app/api/upload/route.ts +3 -2
  27. package/src/app/constants.tsx +168 -148
  28. package/src/app/layout.tsx +5 -18
  29. package/src/app/types.ts +17 -17
  30. package/src/components/ChatWidget.tsx +3 -1
  31. package/src/components/ChatWindow.tsx +5 -1
  32. package/src/components/DocViewer.tsx +71 -5
  33. package/src/components/Documentation.tsx +74 -11
  34. package/src/components/MessageBubble.tsx +39 -2
  35. package/src/components/ThinkingBlock.tsx +75 -0
  36. package/src/components/VisualizationRenderer.tsx +27 -1
  37. package/src/components/constants.tsx +275 -0
  38. package/src/config/RagConfig.ts +47 -0
  39. package/src/config/constants.ts +1 -0
  40. package/src/config/serverConfig.ts +25 -0
  41. package/src/core/ConfigResolver.ts +73 -22
  42. package/src/core/ConfigValidator.ts +2 -1
  43. package/src/core/Pipeline.ts +226 -68
  44. package/src/core/ProviderRegistry.ts +16 -7
  45. package/src/core/QueryProcessor.ts +38 -4
  46. package/src/core/Retrivora.ts +91 -0
  47. package/src/core/VectorPlugin.ts +62 -8
  48. package/src/exceptions/index.ts +111 -0
  49. package/src/handlers/index.ts +73 -0
  50. package/src/hooks/useRagChat.ts +30 -5
  51. package/src/index.ts +27 -1
  52. package/src/lib/plugin.ts +24 -0
  53. package/src/llm/LLMFactory.ts +8 -4
  54. package/src/llm/providers/AnthropicProvider.ts +70 -20
  55. package/src/llm/providers/GeminiProvider.ts +14 -15
  56. package/src/llm/providers/OllamaProvider.ts +13 -16
  57. package/src/llm/providers/OpenAIProvider.ts +9 -14
  58. package/src/llm/providers/UniversalLLMAdapter.ts +5 -5
  59. package/src/llm/utils.ts +46 -0
  60. package/src/providers/vectordb/MongoDBProvider.ts +9 -4
  61. package/src/providers/vectordb/MultiTablePostgresProvider.ts +45 -13
  62. package/src/rag/EntityExtractor.ts +2 -2
  63. package/src/rag/Reranker.ts +9 -16
  64. package/src/server.ts +30 -1
  65. package/src/types/chat.ts +9 -0
  66. package/src/types/props.ts +38 -1
  67. package/src/utils/UITransformer.ts +73 -4
  68. package/dist/DocumentChunker-Dh9TvmGG.d.mts +0 -45
  69. package/dist/DocumentChunker-Dh9TvmGG.d.ts +0 -45
package/dist/index.css CHANGED
@@ -37,6 +37,11 @@
37
37
  --color-indigo-400: oklch(67.3% 0.182 276.935);
38
38
  --color-indigo-500: oklch(58.5% 0.233 277.117);
39
39
  --color-indigo-600: oklch(51.1% 0.262 276.966);
40
+ --color-indigo-700: oklch(45.7% 0.24 277.023);
41
+ --color-violet-200: oklch(89.4% 0.057 293.283);
42
+ --color-violet-400: oklch(70.2% 0.183 293.541);
43
+ --color-violet-500: oklch(60.6% 0.25 292.717);
44
+ --color-violet-600: oklch(54.1% 0.281 293.009);
40
45
  --color-rose-50: oklch(96.9% 0.015 12.422);
41
46
  --color-rose-100: oklch(94.1% 0.03 12.58);
42
47
  --color-rose-200: oklch(89.2% 0.058 10.001);
@@ -84,6 +89,7 @@
84
89
  --font-weight-medium: 500;
85
90
  --font-weight-semibold: 600;
86
91
  --font-weight-bold: 700;
92
+ --font-weight-extrabold: 800;
87
93
  --font-weight-black: 900;
88
94
  --tracking-tight: -0.025em;
89
95
  --tracking-wider: 0.05em;
@@ -409,6 +415,9 @@
409
415
  .mx-auto {
410
416
  margin-inline: auto;
411
417
  }
418
+ .my-1\.5 {
419
+ margin-block: calc(var(--spacing) * 1.5);
420
+ }
412
421
  .my-2 {
413
422
  margin-block: calc(var(--spacing) * 2);
414
423
  }
@@ -607,6 +616,9 @@
607
616
  .h-16 {
608
617
  height: calc(var(--spacing) * 16);
609
618
  }
619
+ .h-28 {
620
+ height: calc(var(--spacing) * 28);
621
+ }
610
622
  .h-32 {
611
623
  height: calc(var(--spacing) * 32);
612
624
  }
@@ -637,6 +649,9 @@
637
649
  .max-h-56 {
638
650
  max-height: calc(var(--spacing) * 56);
639
651
  }
652
+ .max-h-60 {
653
+ max-height: calc(var(--spacing) * 60);
654
+ }
640
655
  .max-h-64 {
641
656
  max-height: calc(var(--spacing) * 64);
642
657
  }
@@ -712,9 +727,21 @@
712
727
  .w-16 {
713
728
  width: calc(var(--spacing) * 16);
714
729
  }
730
+ .w-20 {
731
+ width: calc(var(--spacing) * 20);
732
+ }
733
+ .w-28 {
734
+ width: calc(var(--spacing) * 28);
735
+ }
736
+ .w-36 {
737
+ width: calc(var(--spacing) * 36);
738
+ }
715
739
  .w-40 {
716
740
  width: calc(var(--spacing) * 40);
717
741
  }
742
+ .w-44 {
743
+ width: calc(var(--spacing) * 44);
744
+ }
718
745
  .w-\[400\%\] {
719
746
  width: 400%;
720
747
  }
@@ -955,9 +982,6 @@
955
982
  .gap-8 {
956
983
  gap: calc(var(--spacing) * 8);
957
984
  }
958
- .gap-10 {
959
- gap: calc(var(--spacing) * 10);
960
- }
961
985
  .gap-12 {
962
986
  gap: calc(var(--spacing) * 12);
963
987
  }
@@ -992,6 +1016,13 @@
992
1016
  margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
993
1017
  }
994
1018
  }
1019
+ .space-y-2\.5 {
1020
+ :where(& > :not(:last-child)) {
1021
+ --tw-space-y-reverse: 0;
1022
+ margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
1023
+ margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
1024
+ }
1025
+ }
995
1026
  .space-y-3 {
996
1027
  :where(& > :not(:last-child)) {
997
1028
  --tw-space-y-reverse: 0;
@@ -1013,13 +1044,6 @@
1013
1044
  margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
1014
1045
  }
1015
1046
  }
1016
- .space-y-6 {
1017
- :where(& > :not(:last-child)) {
1018
- --tw-space-y-reverse: 0;
1019
- margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
1020
- margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
1021
- }
1022
- }
1023
1047
  .space-y-12 {
1024
1048
  :where(& > :not(:last-child)) {
1025
1049
  --tw-space-y-reverse: 0;
@@ -1041,6 +1065,9 @@
1041
1065
  border-color: var(--color-slate-100);
1042
1066
  }
1043
1067
  }
1068
+ .self-center {
1069
+ align-self: center;
1070
+ }
1044
1071
  .truncate {
1045
1072
  overflow: hidden;
1046
1073
  text-overflow: ellipsis;
@@ -1210,6 +1237,12 @@
1210
1237
  .border-transparent {
1211
1238
  border-color: transparent;
1212
1239
  }
1240
+ .border-violet-200 {
1241
+ border-color: var(--color-violet-200);
1242
+ }
1243
+ .border-violet-600 {
1244
+ border-color: var(--color-violet-600);
1245
+ }
1213
1246
  .border-white {
1214
1247
  border-color: var(--color-white);
1215
1248
  }
@@ -1234,6 +1267,9 @@
1234
1267
  background-color: color-mix(in oklab, var(--color-emerald-50) 50%, transparent);
1235
1268
  }
1236
1269
  }
1270
+ .bg-emerald-100 {
1271
+ background-color: var(--color-emerald-100);
1272
+ }
1237
1273
  .bg-emerald-500 {
1238
1274
  background-color: var(--color-emerald-500);
1239
1275
  }
@@ -1252,6 +1288,12 @@
1252
1288
  .bg-indigo-500 {
1253
1289
  background-color: var(--color-indigo-500);
1254
1290
  }
1291
+ .bg-indigo-500\/10 {
1292
+ background-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 10%, transparent);
1293
+ @supports (color: color-mix(in lab, red, red)) {
1294
+ background-color: color-mix(in oklab, var(--color-indigo-500) 10%, transparent);
1295
+ }
1296
+ }
1255
1297
  .bg-indigo-600 {
1256
1298
  background-color: var(--color-indigo-600);
1257
1299
  }
@@ -1270,6 +1312,18 @@
1270
1312
  .bg-slate-50 {
1271
1313
  background-color: var(--color-slate-50);
1272
1314
  }
1315
+ .bg-slate-50\/20 {
1316
+ background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 20%, transparent);
1317
+ @supports (color: color-mix(in lab, red, red)) {
1318
+ background-color: color-mix(in oklab, var(--color-slate-50) 20%, transparent);
1319
+ }
1320
+ }
1321
+ .bg-slate-50\/50 {
1322
+ background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 50%, transparent);
1323
+ @supports (color: color-mix(in lab, red, red)) {
1324
+ background-color: color-mix(in oklab, var(--color-slate-50) 50%, transparent);
1325
+ }
1326
+ }
1273
1327
  .bg-slate-100 {
1274
1328
  background-color: var(--color-slate-100);
1275
1329
  }
@@ -1303,6 +1357,15 @@
1303
1357
  .bg-transparent {
1304
1358
  background-color: transparent;
1305
1359
  }
1360
+ .bg-violet-500\/10 {
1361
+ background-color: color-mix(in srgb, oklch(60.6% 0.25 292.717) 10%, transparent);
1362
+ @supports (color: color-mix(in lab, red, red)) {
1363
+ background-color: color-mix(in oklab, var(--color-violet-500) 10%, transparent);
1364
+ }
1365
+ }
1366
+ .bg-violet-600 {
1367
+ background-color: var(--color-violet-600);
1368
+ }
1306
1369
  .bg-white {
1307
1370
  background-color: var(--color-white);
1308
1371
  }
@@ -1327,6 +1390,23 @@
1327
1390
  .bg-yellow-500 {
1328
1391
  background-color: var(--color-yellow-500);
1329
1392
  }
1393
+ .bg-gradient-to-r {
1394
+ --tw-gradient-position: to right in oklab;
1395
+ background-image: linear-gradient(var(--tw-gradient-stops));
1396
+ }
1397
+ .from-indigo-500 {
1398
+ --tw-gradient-from: var(--color-indigo-500);
1399
+ --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));
1400
+ }
1401
+ .via-indigo-600 {
1402
+ --tw-gradient-via: var(--color-indigo-600);
1403
+ --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);
1404
+ --tw-gradient-stops: var(--tw-gradient-via-stops);
1405
+ }
1406
+ .to-violet-600 {
1407
+ --tw-gradient-to: var(--color-violet-600);
1408
+ --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));
1409
+ }
1330
1410
  .bg-clip-text {
1331
1411
  background-clip: text;
1332
1412
  }
@@ -1414,6 +1494,9 @@
1414
1494
  .py-12 {
1415
1495
  padding-block: calc(var(--spacing) * 12);
1416
1496
  }
1497
+ .pt-0\.5 {
1498
+ padding-top: calc(var(--spacing) * 0.5);
1499
+ }
1417
1500
  .pt-1 {
1418
1501
  padding-top: calc(var(--spacing) * 1);
1419
1502
  }
@@ -1423,6 +1506,9 @@
1423
1506
  .pt-4 {
1424
1507
  padding-top: calc(var(--spacing) * 4);
1425
1508
  }
1509
+ .pt-6 {
1510
+ padding-top: calc(var(--spacing) * 6);
1511
+ }
1426
1512
  .pr-1 {
1427
1513
  padding-right: calc(var(--spacing) * 1);
1428
1514
  }
@@ -1521,6 +1607,10 @@
1521
1607
  --tw-font-weight: var(--font-weight-bold);
1522
1608
  font-weight: var(--font-weight-bold);
1523
1609
  }
1610
+ .font-extrabold {
1611
+ --tw-font-weight: var(--font-weight-extrabold);
1612
+ font-weight: var(--font-weight-extrabold);
1613
+ }
1524
1614
  .font-medium {
1525
1615
  --tw-font-weight: var(--font-weight-medium);
1526
1616
  font-weight: var(--font-weight-medium);
@@ -1643,6 +1733,12 @@
1643
1733
  .text-transparent {
1644
1734
  color: transparent;
1645
1735
  }
1736
+ .text-violet-500 {
1737
+ color: var(--color-violet-500);
1738
+ }
1739
+ .text-violet-600 {
1740
+ color: var(--color-violet-600);
1741
+ }
1646
1742
  .text-white {
1647
1743
  color: var(--color-white);
1648
1744
  }
@@ -1693,6 +1789,10 @@
1693
1789
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
1694
1790
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1695
1791
  }
1792
+ .shadow-\[0_0_8px_rgba\(99\,102\,241\,0\.5\)\] {
1793
+ --tw-shadow: 0 0 8px var(--tw-shadow-color, rgba(99,102,241,0.5));
1794
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1795
+ }
1696
1796
  .shadow-lg {
1697
1797
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1698
1798
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1719,6 +1819,12 @@
1719
1819
  --tw-shadow-color: color-mix(in oklab, var(--color-indigo-200) var(--tw-shadow-alpha), transparent);
1720
1820
  }
1721
1821
  }
1822
+ .shadow-indigo-500\/10 {
1823
+ --tw-shadow-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 10%, transparent);
1824
+ @supports (color: color-mix(in lab, red, red)) {
1825
+ --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-indigo-500) 10%, transparent) var(--tw-shadow-alpha), transparent);
1826
+ }
1827
+ }
1722
1828
  .shadow-indigo-500\/20 {
1723
1829
  --tw-shadow-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 20%, transparent);
1724
1830
  @supports (color: color-mix(in lab, red, red)) {
@@ -1731,6 +1837,12 @@
1731
1837
  --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-rose-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
1732
1838
  }
1733
1839
  }
1840
+ .shadow-violet-500\/20 {
1841
+ --tw-shadow-color: color-mix(in srgb, oklch(60.6% 0.25 292.717) 20%, transparent);
1842
+ @supports (color: color-mix(in lab, red, red)) {
1843
+ --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-violet-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
1844
+ }
1845
+ }
1734
1846
  .blur-3xl {
1735
1847
  --tw-blur: blur(var(--blur-3xl));
1736
1848
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
@@ -1815,6 +1927,10 @@
1815
1927
  -webkit-user-select: none;
1816
1928
  user-select: none;
1817
1929
  }
1930
+ .select-text {
1931
+ -webkit-user-select: text;
1932
+ user-select: text;
1933
+ }
1818
1934
  .\[animation-delay\:0ms\] {
1819
1935
  animation-delay: 0ms;
1820
1936
  }
@@ -1966,6 +2082,13 @@
1966
2082
  }
1967
2083
  }
1968
2084
  }
2085
+ .hover\:border-indigo-700 {
2086
+ &:hover {
2087
+ @media (hover: hover) {
2088
+ border-color: var(--color-indigo-700);
2089
+ }
2090
+ }
2091
+ }
1969
2092
  .hover\:border-slate-300 {
1970
2093
  &:hover {
1971
2094
  @media (hover: hover) {
@@ -1973,6 +2096,13 @@
1973
2096
  }
1974
2097
  }
1975
2098
  }
2099
+ .hover\:bg-indigo-700 {
2100
+ &:hover {
2101
+ @media (hover: hover) {
2102
+ background-color: var(--color-indigo-700);
2103
+ }
2104
+ }
2105
+ }
1976
2106
  .hover\:bg-rose-600 {
1977
2107
  &:hover {
1978
2108
  @media (hover: hover) {
@@ -2199,6 +2329,11 @@
2199
2329
  grid-template-columns: repeat(3, minmax(0, 1fr));
2200
2330
  }
2201
2331
  }
2332
+ .sm\:flex-nowrap {
2333
+ @media (width >= 40rem) {
2334
+ flex-wrap: nowrap;
2335
+ }
2336
+ }
2202
2337
  .md\:block {
2203
2338
  @media (width >= 48rem) {
2204
2339
  display: block;
@@ -2338,6 +2473,14 @@
2338
2473
  }
2339
2474
  }
2340
2475
  }
2476
+ .dark\:border-indigo-500\/30 {
2477
+ @media (prefers-color-scheme: dark) {
2478
+ border-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 30%, transparent);
2479
+ @supports (color: color-mix(in lab, red, red)) {
2480
+ border-color: color-mix(in oklab, var(--color-indigo-500) 30%, transparent);
2481
+ }
2482
+ }
2483
+ }
2341
2484
  .dark\:border-red-500\/20 {
2342
2485
  @media (prefers-color-scheme: dark) {
2343
2486
  border-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 20%, transparent);
@@ -2354,6 +2497,14 @@
2354
2497
  }
2355
2498
  }
2356
2499
  }
2500
+ .dark\:border-violet-500\/30 {
2501
+ @media (prefers-color-scheme: dark) {
2502
+ border-color: color-mix(in srgb, oklch(60.6% 0.25 292.717) 30%, transparent);
2503
+ @supports (color: color-mix(in lab, red, red)) {
2504
+ border-color: color-mix(in oklab, var(--color-violet-500) 30%, transparent);
2505
+ }
2506
+ }
2507
+ }
2357
2508
  .dark\:border-white\/5 {
2358
2509
  @media (prefers-color-scheme: dark) {
2359
2510
  border-color: color-mix(in srgb, #fff 5%, transparent);
@@ -2540,6 +2691,14 @@
2540
2691
  background-color: transparent;
2541
2692
  }
2542
2693
  }
2694
+ .dark\:bg-violet-500\/10 {
2695
+ @media (prefers-color-scheme: dark) {
2696
+ background-color: color-mix(in srgb, oklch(60.6% 0.25 292.717) 10%, transparent);
2697
+ @supports (color: color-mix(in lab, red, red)) {
2698
+ background-color: color-mix(in oklab, var(--color-violet-500) 10%, transparent);
2699
+ }
2700
+ }
2701
+ }
2543
2702
  .dark\:bg-white {
2544
2703
  @media (prefers-color-scheme: dark) {
2545
2704
  background-color: var(--color-white);
@@ -2630,6 +2789,11 @@
2630
2789
  color: var(--color-slate-900);
2631
2790
  }
2632
2791
  }
2792
+ .dark\:text-violet-400 {
2793
+ @media (prefers-color-scheme: dark) {
2794
+ color: var(--color-violet-400);
2795
+ }
2796
+ }
2633
2797
  .dark\:text-white {
2634
2798
  @media (prefers-color-scheme: dark) {
2635
2799
  color: var(--color-white);
@@ -2770,6 +2934,18 @@
2770
2934
  }
2771
2935
  }
2772
2936
  }
2937
+ .dark\:hover\:border-white\/10 {
2938
+ @media (prefers-color-scheme: dark) {
2939
+ &:hover {
2940
+ @media (hover: hover) {
2941
+ border-color: color-mix(in srgb, #fff 10%, transparent);
2942
+ @supports (color: color-mix(in lab, red, red)) {
2943
+ border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
2944
+ }
2945
+ }
2946
+ }
2947
+ }
2948
+ }
2773
2949
  .dark\:hover\:border-white\/20 {
2774
2950
  @media (prefers-color-scheme: dark) {
2775
2951
  &:hover {
@@ -3117,6 +3293,48 @@
3117
3293
  inherits: false;
3118
3294
  initial-value: solid;
3119
3295
  }
3296
+ @property --tw-gradient-position {
3297
+ syntax: "*";
3298
+ inherits: false;
3299
+ }
3300
+ @property --tw-gradient-from {
3301
+ syntax: "<color>";
3302
+ inherits: false;
3303
+ initial-value: #0000;
3304
+ }
3305
+ @property --tw-gradient-via {
3306
+ syntax: "<color>";
3307
+ inherits: false;
3308
+ initial-value: #0000;
3309
+ }
3310
+ @property --tw-gradient-to {
3311
+ syntax: "<color>";
3312
+ inherits: false;
3313
+ initial-value: #0000;
3314
+ }
3315
+ @property --tw-gradient-stops {
3316
+ syntax: "*";
3317
+ inherits: false;
3318
+ }
3319
+ @property --tw-gradient-via-stops {
3320
+ syntax: "*";
3321
+ inherits: false;
3322
+ }
3323
+ @property --tw-gradient-from-position {
3324
+ syntax: "<length-percentage>";
3325
+ inherits: false;
3326
+ initial-value: 0%;
3327
+ }
3328
+ @property --tw-gradient-via-position {
3329
+ syntax: "<length-percentage>";
3330
+ inherits: false;
3331
+ initial-value: 50%;
3332
+ }
3333
+ @property --tw-gradient-to-position {
3334
+ syntax: "<length-percentage>";
3335
+ inherits: false;
3336
+ initial-value: 100%;
3337
+ }
3120
3338
  @property --tw-leading {
3121
3339
  syntax: "*";
3122
3340
  inherits: false;
@@ -3397,6 +3615,15 @@
3397
3615
  --tw-space-y-reverse: 0;
3398
3616
  --tw-divide-y-reverse: 0;
3399
3617
  --tw-border-style: solid;
3618
+ --tw-gradient-position: initial;
3619
+ --tw-gradient-from: #0000;
3620
+ --tw-gradient-via: #0000;
3621
+ --tw-gradient-to: #0000;
3622
+ --tw-gradient-stops: initial;
3623
+ --tw-gradient-via-stops: initial;
3624
+ --tw-gradient-from-position: 0%;
3625
+ --tw-gradient-via-position: 50%;
3626
+ --tw-gradient-to-position: 100%;
3400
3627
  --tw-leading: initial;
3401
3628
  --tw-font-weight: initial;
3402
3629
  --tw-tracking: initial;
package/dist/index.d.mts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { CSSProperties, MouseEvent, ReactNode } from 'react';
3
- import { P as Product, U as UIConfig, R as RagMessage, V as VectorMatch, O as ObservabilityTrace, a as UseRagChatOptions, b as UseRagChatReturn } from './ILLMProvider-Bw2A28nU.mjs';
4
- export { C as ChatMessage, c as ChatOptions, d as ChatResponse, E as EmbedOptions, e as EmbeddingConfig, f as EmbeddingProvider, I as ILLMProvider, g as IngestDocument, L as LLMConfig, h as LLMProvider, i as LatencyBreakdown, j as RAGConfig, k as RagConfig, l as RetrievedChunk, T as TokenUsage, m as UpsertDocument, n as VectorDBConfig, o as VectorDBProvider } from './ILLMProvider-Bw2A28nU.mjs';
5
- export { C as Chunk, a as ChunkOptions } from './DocumentChunker-Dh9TvmGG.mjs';
3
+ import { P as Product, U as UIConfig, R as RagMessage, V as VectorMatch, O as ObservabilityTrace, a as UseRagChatOptions, b as UseRagChatReturn } from './ILLMProvider-Bhk6zJOK.mjs';
4
+ export { C as ChatMessage, c as ChatOptions, d as ChatResponse, E as EmbedOptions, e as EmbeddingConfig, f as EmbeddingProvider, I as ILLMProvider, g as IngestDocument, L as LLMConfig, h as LLMProvider, i as LatencyBreakdown, j as RAGConfig, k as RagConfig, l as RetrievalConfig, m as RetrievedChunk, T as TokenUsage, n as UniversalRagConfig, o as UpsertDocument, p as VectorDBConfig, q as VectorDBProvider, W as WorkflowConfig } from './ILLMProvider-Bhk6zJOK.mjs';
5
+ export { A as AuthenticationException, C as Chunk, a as ChunkOptions, b as ConfigurationException, E as EmbeddingFailedException, P as ProviderNotFoundException, R as RateLimitException, c as RetrievalException, d as Retrivora, e as RetrivoraError, f as RetrivoraErrorCode } from './index-BJ4cd-t5.mjs';
6
6
 
7
7
  type ChatViewportSize = 'compact' | 'medium' | 'large';
8
8
  interface ChatWindowProps {
@@ -26,12 +26,20 @@ interface ChatWindowProps {
26
26
  isMaximized?: boolean;
27
27
  /** Called when the user clicks 'Add to Cart' on a product */
28
28
  onAddToCart?: (product: Product) => void;
29
+ /** Optional custom API URL to send chat messages to */
30
+ apiUrl?: string;
31
+ /** Optional custom headers to send with the chat request */
32
+ headers?: Record<string, string>;
29
33
  }
30
34
  interface ChatWidgetProps {
31
35
  /** Position of the floating button. Defaults to bottom-right. */
32
36
  position?: 'bottom-right' | 'bottom-left';
33
37
  /** Called when the user clicks 'Add to Cart' on a product */
34
38
  onAddToCart?: (product: Product) => void;
39
+ /** Optional custom API URL to send chat messages to */
40
+ apiUrl?: string;
41
+ /** Optional custom headers to send with the chat request */
42
+ headers?: Record<string, string>;
35
43
  }
36
44
  interface MessageBubbleProps {
37
45
  message: RagMessage;
@@ -84,9 +92,9 @@ interface ConfigProviderProps {
84
92
  children: ReactNode;
85
93
  }
86
94
 
87
- declare function ChatWidget({ position, onAddToCart }: ChatWidgetProps): react_jsx_runtime.JSX.Element | null;
95
+ declare function ChatWidget({ position, onAddToCart, apiUrl, headers }: ChatWidgetProps): react_jsx_runtime.JSX.Element | null;
88
96
 
89
- declare function ChatWindow({ className, style, onClose, showClose, onResizeStart, onResetResize, isResized, onMaximize, isMaximized, onAddToCart }: ChatWindowProps): react_jsx_runtime.JSX.Element;
97
+ declare function ChatWindow({ className, style, onClose, showClose, onResizeStart, onResetResize, isResized, onMaximize, isMaximized, onAddToCart, apiUrl, headers }: ChatWindowProps): react_jsx_runtime.JSX.Element;
90
98
 
91
99
  declare function DocumentUpload({ namespace, onUploadComplete, className }: DocumentUploadProps): react_jsx_runtime.JSX.Element;
92
100
 
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { CSSProperties, MouseEvent, ReactNode } from 'react';
3
- import { P as Product, U as UIConfig, R as RagMessage, V as VectorMatch, O as ObservabilityTrace, a as UseRagChatOptions, b as UseRagChatReturn } from './ILLMProvider-Bw2A28nU.js';
4
- export { C as ChatMessage, c as ChatOptions, d as ChatResponse, E as EmbedOptions, e as EmbeddingConfig, f as EmbeddingProvider, I as ILLMProvider, g as IngestDocument, L as LLMConfig, h as LLMProvider, i as LatencyBreakdown, j as RAGConfig, k as RagConfig, l as RetrievedChunk, T as TokenUsage, m as UpsertDocument, n as VectorDBConfig, o as VectorDBProvider } from './ILLMProvider-Bw2A28nU.js';
5
- export { C as Chunk, a as ChunkOptions } from './DocumentChunker-Dh9TvmGG.js';
3
+ import { P as Product, U as UIConfig, R as RagMessage, V as VectorMatch, O as ObservabilityTrace, a as UseRagChatOptions, b as UseRagChatReturn } from './ILLMProvider-Bhk6zJOK.js';
4
+ export { C as ChatMessage, c as ChatOptions, d as ChatResponse, E as EmbedOptions, e as EmbeddingConfig, f as EmbeddingProvider, I as ILLMProvider, g as IngestDocument, L as LLMConfig, h as LLMProvider, i as LatencyBreakdown, j as RAGConfig, k as RagConfig, l as RetrievalConfig, m as RetrievedChunk, T as TokenUsage, n as UniversalRagConfig, o as UpsertDocument, p as VectorDBConfig, q as VectorDBProvider, W as WorkflowConfig } from './ILLMProvider-Bhk6zJOK.js';
5
+ export { A as AuthenticationException, C as Chunk, a as ChunkOptions, b as ConfigurationException, E as EmbeddingFailedException, P as ProviderNotFoundException, R as RateLimitException, c as RetrievalException, d as Retrivora, e as RetrivoraError, f as RetrivoraErrorCode } from './index-B9J_XEh0.js';
6
6
 
7
7
  type ChatViewportSize = 'compact' | 'medium' | 'large';
8
8
  interface ChatWindowProps {
@@ -26,12 +26,20 @@ interface ChatWindowProps {
26
26
  isMaximized?: boolean;
27
27
  /** Called when the user clicks 'Add to Cart' on a product */
28
28
  onAddToCart?: (product: Product) => void;
29
+ /** Optional custom API URL to send chat messages to */
30
+ apiUrl?: string;
31
+ /** Optional custom headers to send with the chat request */
32
+ headers?: Record<string, string>;
29
33
  }
30
34
  interface ChatWidgetProps {
31
35
  /** Position of the floating button. Defaults to bottom-right. */
32
36
  position?: 'bottom-right' | 'bottom-left';
33
37
  /** Called when the user clicks 'Add to Cart' on a product */
34
38
  onAddToCart?: (product: Product) => void;
39
+ /** Optional custom API URL to send chat messages to */
40
+ apiUrl?: string;
41
+ /** Optional custom headers to send with the chat request */
42
+ headers?: Record<string, string>;
35
43
  }
36
44
  interface MessageBubbleProps {
37
45
  message: RagMessage;
@@ -84,9 +92,9 @@ interface ConfigProviderProps {
84
92
  children: ReactNode;
85
93
  }
86
94
 
87
- declare function ChatWidget({ position, onAddToCart }: ChatWidgetProps): react_jsx_runtime.JSX.Element | null;
95
+ declare function ChatWidget({ position, onAddToCart, apiUrl, headers }: ChatWidgetProps): react_jsx_runtime.JSX.Element | null;
88
96
 
89
- declare function ChatWindow({ className, style, onClose, showClose, onResizeStart, onResetResize, isResized, onMaximize, isMaximized, onAddToCart }: ChatWindowProps): react_jsx_runtime.JSX.Element;
97
+ declare function ChatWindow({ className, style, onClose, showClose, onResizeStart, onResetResize, isResized, onMaximize, isMaximized, onAddToCart, apiUrl, headers }: ChatWindowProps): react_jsx_runtime.JSX.Element;
90
98
 
91
99
  declare function DocumentUpload({ namespace, onUploadComplete, className }: DocumentUploadProps): react_jsx_runtime.JSX.Element;
92
100