@retrivora-ai/rag-engine 1.9.6 → 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 (44) hide show
  1. package/README.md +32 -7
  2. package/dist/{ILLMProvider-DNhyOYoK.d.mts → ILLMProvider-Bhk6zJOK.d.mts} +2 -6
  3. package/dist/{ILLMProvider-DNhyOYoK.d.ts → ILLMProvider-Bhk6zJOK.d.ts} +2 -6
  4. package/dist/handlers/index.d.mts +2 -2
  5. package/dist/handlers/index.d.ts +2 -2
  6. package/dist/handlers/index.js +213 -67
  7. package/dist/handlers/index.mjs +212 -67
  8. package/dist/{index-CjQdL0cX.d.ts → index-B9J_XEh0.d.ts} +6 -2
  9. package/dist/{index-C9v7-tWd.d.mts → index-BJ4cd-t5.d.mts} +6 -2
  10. package/dist/{index-Hgbwl9X4.d.ts → index-Bu7T6xgr.d.ts} +20 -3
  11. package/dist/{index-CHL1jdYm.d.mts → index-C3SVtPYg.d.mts} +20 -3
  12. package/dist/index.css +197 -10
  13. package/dist/index.d.mts +13 -5
  14. package/dist/index.d.ts +13 -5
  15. package/dist/index.js +39 -6
  16. package/dist/index.mjs +38 -7
  17. package/dist/server.d.mts +5 -5
  18. package/dist/server.d.ts +5 -5
  19. package/dist/server.js +310 -113
  20. package/dist/server.mjs +307 -112
  21. package/package.json +2 -4
  22. package/src/app/constants.tsx +183 -218
  23. package/src/app/layout.tsx +4 -28
  24. package/src/app/types.ts +17 -17
  25. package/src/components/ChatWidget.tsx +3 -1
  26. package/src/components/ChatWindow.tsx +5 -1
  27. package/src/components/DocViewer.tsx +71 -5
  28. package/src/components/Documentation.tsx +74 -11
  29. package/src/components/constants.tsx +275 -0
  30. package/src/config/RagConfig.ts +10 -10
  31. package/src/config/constants.ts +1 -0
  32. package/src/core/ConfigResolver.ts +24 -25
  33. package/src/core/Pipeline.ts +2 -1
  34. package/src/core/ProviderRegistry.ts +5 -5
  35. package/src/core/Retrivora.ts +46 -6
  36. package/src/core/VectorPlugin.ts +62 -8
  37. package/src/exceptions/index.ts +52 -0
  38. package/src/handlers/index.ts +71 -0
  39. package/src/hooks/useRagChat.ts +4 -1
  40. package/src/index.ts +2 -0
  41. package/src/llm/LLMFactory.ts +6 -5
  42. package/src/server.ts +16 -13
  43. package/src/types/chat.ts +2 -0
  44. package/src/types/props.ts +38 -1
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;
@@ -976,9 +982,6 @@
976
982
  .gap-8 {
977
983
  gap: calc(var(--spacing) * 8);
978
984
  }
979
- .gap-10 {
980
- gap: calc(var(--spacing) * 10);
981
- }
982
985
  .gap-12 {
983
986
  gap: calc(var(--spacing) * 12);
984
987
  }
@@ -1013,6 +1016,13 @@
1013
1016
  margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
1014
1017
  }
1015
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
+ }
1016
1026
  .space-y-3 {
1017
1027
  :where(& > :not(:last-child)) {
1018
1028
  --tw-space-y-reverse: 0;
@@ -1034,13 +1044,6 @@
1034
1044
  margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
1035
1045
  }
1036
1046
  }
1037
- .space-y-6 {
1038
- :where(& > :not(:last-child)) {
1039
- --tw-space-y-reverse: 0;
1040
- margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
1041
- margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
1042
- }
1043
- }
1044
1047
  .space-y-12 {
1045
1048
  :where(& > :not(:last-child)) {
1046
1049
  --tw-space-y-reverse: 0;
@@ -1062,6 +1065,9 @@
1062
1065
  border-color: var(--color-slate-100);
1063
1066
  }
1064
1067
  }
1068
+ .self-center {
1069
+ align-self: center;
1070
+ }
1065
1071
  .truncate {
1066
1072
  overflow: hidden;
1067
1073
  text-overflow: ellipsis;
@@ -1231,6 +1237,12 @@
1231
1237
  .border-transparent {
1232
1238
  border-color: transparent;
1233
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
+ }
1234
1246
  .border-white {
1235
1247
  border-color: var(--color-white);
1236
1248
  }
@@ -1276,6 +1288,12 @@
1276
1288
  .bg-indigo-500 {
1277
1289
  background-color: var(--color-indigo-500);
1278
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
+ }
1279
1297
  .bg-indigo-600 {
1280
1298
  background-color: var(--color-indigo-600);
1281
1299
  }
@@ -1339,6 +1357,15 @@
1339
1357
  .bg-transparent {
1340
1358
  background-color: transparent;
1341
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
+ }
1342
1369
  .bg-white {
1343
1370
  background-color: var(--color-white);
1344
1371
  }
@@ -1363,6 +1390,23 @@
1363
1390
  .bg-yellow-500 {
1364
1391
  background-color: var(--color-yellow-500);
1365
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
+ }
1366
1410
  .bg-clip-text {
1367
1411
  background-clip: text;
1368
1412
  }
@@ -1450,6 +1494,9 @@
1450
1494
  .py-12 {
1451
1495
  padding-block: calc(var(--spacing) * 12);
1452
1496
  }
1497
+ .pt-0\.5 {
1498
+ padding-top: calc(var(--spacing) * 0.5);
1499
+ }
1453
1500
  .pt-1 {
1454
1501
  padding-top: calc(var(--spacing) * 1);
1455
1502
  }
@@ -1459,6 +1506,9 @@
1459
1506
  .pt-4 {
1460
1507
  padding-top: calc(var(--spacing) * 4);
1461
1508
  }
1509
+ .pt-6 {
1510
+ padding-top: calc(var(--spacing) * 6);
1511
+ }
1462
1512
  .pr-1 {
1463
1513
  padding-right: calc(var(--spacing) * 1);
1464
1514
  }
@@ -1557,6 +1607,10 @@
1557
1607
  --tw-font-weight: var(--font-weight-bold);
1558
1608
  font-weight: var(--font-weight-bold);
1559
1609
  }
1610
+ .font-extrabold {
1611
+ --tw-font-weight: var(--font-weight-extrabold);
1612
+ font-weight: var(--font-weight-extrabold);
1613
+ }
1560
1614
  .font-medium {
1561
1615
  --tw-font-weight: var(--font-weight-medium);
1562
1616
  font-weight: var(--font-weight-medium);
@@ -1679,6 +1733,12 @@
1679
1733
  .text-transparent {
1680
1734
  color: transparent;
1681
1735
  }
1736
+ .text-violet-500 {
1737
+ color: var(--color-violet-500);
1738
+ }
1739
+ .text-violet-600 {
1740
+ color: var(--color-violet-600);
1741
+ }
1682
1742
  .text-white {
1683
1743
  color: var(--color-white);
1684
1744
  }
@@ -1729,6 +1789,10 @@
1729
1789
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
1730
1790
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1731
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
+ }
1732
1796
  .shadow-lg {
1733
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));
1734
1798
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1755,6 +1819,12 @@
1755
1819
  --tw-shadow-color: color-mix(in oklab, var(--color-indigo-200) var(--tw-shadow-alpha), transparent);
1756
1820
  }
1757
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
+ }
1758
1828
  .shadow-indigo-500\/20 {
1759
1829
  --tw-shadow-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 20%, transparent);
1760
1830
  @supports (color: color-mix(in lab, red, red)) {
@@ -1767,6 +1837,12 @@
1767
1837
  --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-rose-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
1768
1838
  }
1769
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
+ }
1770
1846
  .blur-3xl {
1771
1847
  --tw-blur: blur(var(--blur-3xl));
1772
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,);
@@ -2006,6 +2082,13 @@
2006
2082
  }
2007
2083
  }
2008
2084
  }
2085
+ .hover\:border-indigo-700 {
2086
+ &:hover {
2087
+ @media (hover: hover) {
2088
+ border-color: var(--color-indigo-700);
2089
+ }
2090
+ }
2091
+ }
2009
2092
  .hover\:border-slate-300 {
2010
2093
  &:hover {
2011
2094
  @media (hover: hover) {
@@ -2013,6 +2096,13 @@
2013
2096
  }
2014
2097
  }
2015
2098
  }
2099
+ .hover\:bg-indigo-700 {
2100
+ &:hover {
2101
+ @media (hover: hover) {
2102
+ background-color: var(--color-indigo-700);
2103
+ }
2104
+ }
2105
+ }
2016
2106
  .hover\:bg-rose-600 {
2017
2107
  &:hover {
2018
2108
  @media (hover: hover) {
@@ -2239,6 +2329,11 @@
2239
2329
  grid-template-columns: repeat(3, minmax(0, 1fr));
2240
2330
  }
2241
2331
  }
2332
+ .sm\:flex-nowrap {
2333
+ @media (width >= 40rem) {
2334
+ flex-wrap: nowrap;
2335
+ }
2336
+ }
2242
2337
  .md\:block {
2243
2338
  @media (width >= 48rem) {
2244
2339
  display: block;
@@ -2378,6 +2473,14 @@
2378
2473
  }
2379
2474
  }
2380
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
+ }
2381
2484
  .dark\:border-red-500\/20 {
2382
2485
  @media (prefers-color-scheme: dark) {
2383
2486
  border-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 20%, transparent);
@@ -2394,6 +2497,14 @@
2394
2497
  }
2395
2498
  }
2396
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
+ }
2397
2508
  .dark\:border-white\/5 {
2398
2509
  @media (prefers-color-scheme: dark) {
2399
2510
  border-color: color-mix(in srgb, #fff 5%, transparent);
@@ -2580,6 +2691,14 @@
2580
2691
  background-color: transparent;
2581
2692
  }
2582
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
+ }
2583
2702
  .dark\:bg-white {
2584
2703
  @media (prefers-color-scheme: dark) {
2585
2704
  background-color: var(--color-white);
@@ -2670,6 +2789,11 @@
2670
2789
  color: var(--color-slate-900);
2671
2790
  }
2672
2791
  }
2792
+ .dark\:text-violet-400 {
2793
+ @media (prefers-color-scheme: dark) {
2794
+ color: var(--color-violet-400);
2795
+ }
2796
+ }
2673
2797
  .dark\:text-white {
2674
2798
  @media (prefers-color-scheme: dark) {
2675
2799
  color: var(--color-white);
@@ -2810,6 +2934,18 @@
2810
2934
  }
2811
2935
  }
2812
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
+ }
2813
2949
  .dark\:hover\:border-white\/20 {
2814
2950
  @media (prefers-color-scheme: dark) {
2815
2951
  &:hover {
@@ -3157,6 +3293,48 @@
3157
3293
  inherits: false;
3158
3294
  initial-value: solid;
3159
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
+ }
3160
3338
  @property --tw-leading {
3161
3339
  syntax: "*";
3162
3340
  inherits: false;
@@ -3437,6 +3615,15 @@
3437
3615
  --tw-space-y-reverse: 0;
3438
3616
  --tw-divide-y-reverse: 0;
3439
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%;
3440
3627
  --tw-leading: initial;
3441
3628
  --tw-font-weight: initial;
3442
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-DNhyOYoK.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-DNhyOYoK.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-C9v7-tWd.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-DNhyOYoK.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-DNhyOYoK.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-CjQdL0cX.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