@retrivora-ai/rag-engine 1.9.8 → 2.0.0
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.
- package/README.md +36 -28
- package/dist/{ILLMProvider-B8ROITYK.d.mts → ILLMProvider-DMxLyTdq.d.mts} +2 -2
- package/dist/{ILLMProvider-B8ROITYK.d.ts → ILLMProvider-DMxLyTdq.d.ts} +2 -2
- package/dist/handlers/index.d.mts +2 -2
- package/dist/handlers/index.d.ts +2 -2
- package/dist/handlers/index.js +248 -74
- package/dist/handlers/index.mjs +254 -74
- package/dist/{index-DNvoi-sV.d.ts → index-CfkqZd2Y.d.ts} +1 -1
- package/dist/{index-BCPKUAVL.d.ts → index-DHsFLJXQ.d.mts} +2 -31
- package/dist/{index-CrxCy36A.d.mts → index-tzwc7UhY.d.ts} +2 -31
- package/dist/{index-B8PbEFSY.d.mts → index-xygonxpW.d.mts} +1 -1
- package/dist/index.css +485 -557
- package/dist/index.d.mts +16 -10
- package/dist/index.d.ts +16 -10
- package/dist/index.js +36 -768
- package/dist/index.mjs +32 -782
- package/dist/server.d.mts +8 -5
- package/dist/server.d.ts +8 -5
- package/dist/server.js +249 -74
- package/dist/server.mjs +255 -74
- package/package.json +3 -2
- package/src/app/page.tsx +2 -0
- package/src/components/ChatWindow.tsx +14 -3
- package/src/components/constants.tsx +224 -0
- package/src/config/RagConfig.ts +2 -2
- package/src/config/serverConfig.ts +14 -1
- package/src/core/ConfigResolver.ts +32 -6
- package/src/core/LicenseVerifier.ts +106 -0
- package/src/core/Pipeline.ts +11 -8
- package/src/core/Retrivora.ts +1 -0
- package/src/handlers/index.ts +84 -48
- package/src/index.ts +3 -5
- package/src/components/AmbientBackground.tsx +0 -29
- package/src/components/ArchitectureCard.tsx +0 -53
- package/src/components/ArchitectureCardsSection.tsx +0 -48
- package/src/components/DocViewer.tsx +0 -97
- package/src/components/Documentation.tsx +0 -141
- package/src/components/Hero.tsx +0 -142
- package/src/components/Lifecycle.tsx +0 -77
- package/src/components/Navbar.tsx +0 -55
package/src/components/Hero.tsx
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import Link from 'next/link';
|
|
5
|
-
import { useConfig } from '@/components/ConfigProvider';
|
|
6
|
-
import { ChatWindow } from '@/components/ChatWindow';
|
|
7
|
-
import { LANDING_PAGE_CONTENT, VECTOR_DATABASES, AI_MODELS } from '@/app/constants';
|
|
8
|
-
import { ArrowRight, Package, GitBranch, Shield, Zap, CheckCircle } from 'lucide-react';
|
|
9
|
-
|
|
10
|
-
export function Hero() {
|
|
11
|
-
const { ui } = useConfig();
|
|
12
|
-
|
|
13
|
-
return (
|
|
14
|
-
<div className="grid lg:grid-cols-2 gap-12 xl:gap-16 items-start">
|
|
15
|
-
{/* ── Left Column ─────────────────────────────── */}
|
|
16
|
-
<div className="flex flex-col gap-7 pt-4">
|
|
17
|
-
{/* Badge */}
|
|
18
|
-
<div
|
|
19
|
-
className="inline-flex items-center gap-2.5 px-4 py-2 rounded-full text-xs font-semibold border w-fit"
|
|
20
|
-
style={{
|
|
21
|
-
borderColor: `${ui.primaryColor}30`,
|
|
22
|
-
color: ui.primaryColor,
|
|
23
|
-
background: `${ui.primaryColor}08`,
|
|
24
|
-
}}
|
|
25
|
-
>
|
|
26
|
-
<span
|
|
27
|
-
className="w-2 h-2 rounded-full"
|
|
28
|
-
style={{ background: ui.primaryColor, animation: 'pulseRing 2.5s ease-in-out infinite' }}
|
|
29
|
-
/>
|
|
30
|
-
{LANDING_PAGE_CONTENT.hero.badge}
|
|
31
|
-
</div>
|
|
32
|
-
|
|
33
|
-
{/* Headline */}
|
|
34
|
-
<h1 className="text-5xl md:text-6xl xl:text-7xl font-black text-slate-900 tracking-tight leading-[1.05]">
|
|
35
|
-
{LANDING_PAGE_CONTENT.hero.title.split('for')[0]}
|
|
36
|
-
<br />
|
|
37
|
-
<span
|
|
38
|
-
className="text-transparent bg-clip-text"
|
|
39
|
-
style={{ backgroundImage: `linear-gradient(135deg, ${ui.primaryColor} 0%, ${ui.accentColor} 60%, #a855f7 100%)` }}
|
|
40
|
-
>
|
|
41
|
-
for {LANDING_PAGE_CONTENT.hero.title.split('for')[1]}
|
|
42
|
-
</span>
|
|
43
|
-
</h1>
|
|
44
|
-
|
|
45
|
-
{/* Subtitle */}
|
|
46
|
-
<p className="text-lg md:text-xl text-slate-500 max-w-lg leading-relaxed">
|
|
47
|
-
{LANDING_PAGE_CONTENT.hero.subtitle}
|
|
48
|
-
</p>
|
|
49
|
-
|
|
50
|
-
{/* Trust pills */}
|
|
51
|
-
{/* <div className="flex flex-wrap items-center gap-2 mt-1">
|
|
52
|
-
{[
|
|
53
|
-
// { icon: Shield, color: 'text-emerald-600', bg: 'bg-emerald-50 border-emerald-100', label: 'MIT Licensed' },
|
|
54
|
-
{ icon: Package, color: 'text-red-500', bg: 'bg-red-50 border-red-100', label: 'npm install @retrivora-ai/rag-engine' },
|
|
55
|
-
// { icon: CheckCircle, color: 'text-indigo-600', bg: 'bg-indigo-50 border-indigo-100', label: 'TypeScript First' },
|
|
56
|
-
].map(({ icon: Icon, color, bg, label }) => (
|
|
57
|
-
<span key={label} className={`flex items-center gap-1.5 px-3 py-1.5 rounded-lg border text-[11px] font-semibold text-slate-600 ${bg}`}>
|
|
58
|
-
<Icon className={`h-3 w-3 ${color}`} /> {label}
|
|
59
|
-
</span>
|
|
60
|
-
))}
|
|
61
|
-
</div> */}
|
|
62
|
-
|
|
63
|
-
{/* Provider ecosystem */}
|
|
64
|
-
<div className="flex flex-col gap-4 border-t border-slate-100">
|
|
65
|
-
<div className="flex flex-col gap-2.5">
|
|
66
|
-
<span className="text-[10px] font-black text-slate-400 uppercase tracking-[0.22em] ml-1">
|
|
67
|
-
Vector Ecosystem
|
|
68
|
-
</span>
|
|
69
|
-
<div className="flex flex-wrap gap-2">
|
|
70
|
-
{VECTOR_DATABASES.map(({ Icon, label }) => (
|
|
71
|
-
<span
|
|
72
|
-
key={label}
|
|
73
|
-
className="flex items-center gap-1.5 px-3 py-1.5 rounded-lg bg-white border border-slate-200 text-slate-600 text-[11px] font-semibold hover:border-indigo-300 hover:bg-indigo-50 hover:text-indigo-700 transition-all cursor-default group shadow-sm"
|
|
74
|
-
>
|
|
75
|
-
<Icon className="w-3 h-3 transition-transform group-hover:scale-110" style={{ color: ui.primaryColor }} />
|
|
76
|
-
{label}
|
|
77
|
-
</span>
|
|
78
|
-
))}
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
|
|
82
|
-
<div className="flex flex-col gap-2.5">
|
|
83
|
-
<span className="text-[10px] font-black text-slate-400 uppercase tracking-[0.22em] ml-1">
|
|
84
|
-
AI Model Garden
|
|
85
|
-
</span>
|
|
86
|
-
<div className="flex flex-wrap gap-2">
|
|
87
|
-
{AI_MODELS.map(({ Icon, label }) => (
|
|
88
|
-
<span
|
|
89
|
-
key={label}
|
|
90
|
-
className="flex items-center gap-1.5 px-3 py-1.5 rounded-lg bg-white border border-slate-200 text-slate-600 text-[11px] font-semibold hover:border-violet-300 hover:bg-violet-50 hover:text-violet-700 transition-all cursor-default group shadow-sm"
|
|
91
|
-
>
|
|
92
|
-
<Icon className="w-3 h-3 transition-transform group-hover:scale-110" style={{ color: ui.accentColor }} />
|
|
93
|
-
{label}
|
|
94
|
-
</span>
|
|
95
|
-
))}
|
|
96
|
-
</div>
|
|
97
|
-
</div>
|
|
98
|
-
</div>
|
|
99
|
-
|
|
100
|
-
{/* CTAs */}
|
|
101
|
-
<div className="flex flex-wrap items-center gap-3 mt-1">
|
|
102
|
-
<Link
|
|
103
|
-
href="/register"
|
|
104
|
-
className="group flex items-center gap-2 px-6 py-3.5 rounded-xl text-sm font-bold text-white transition-all duration-200 shadow-lg hover:-translate-y-0.5"
|
|
105
|
-
style={{
|
|
106
|
-
background: `linear-gradient(135deg, ${ui.primaryColor}, ${ui.accentColor})`,
|
|
107
|
-
boxShadow: `0 8px 24px -6px ${ui.primaryColor}45`,
|
|
108
|
-
}}
|
|
109
|
-
>
|
|
110
|
-
Get Started Free
|
|
111
|
-
<ArrowRight className="h-4 w-4 transition-transform group-hover:translate-x-1" />
|
|
112
|
-
</Link>
|
|
113
|
-
{/* <a
|
|
114
|
-
href="https://github.com/abhinav1201/ai-accelerator"
|
|
115
|
-
target="_blank" rel="noreferrer"
|
|
116
|
-
className="flex items-center gap-2 px-6 py-3.5 rounded-xl text-sm font-semibold text-slate-700 hover:text-slate-900 border border-slate-200 hover:border-slate-300 bg-white hover:bg-slate-50 transition-all shadow-sm"
|
|
117
|
-
>
|
|
118
|
-
<GitBranch className="h-4 w-4" />
|
|
119
|
-
View on GitHub
|
|
120
|
-
</a> */}
|
|
121
|
-
</div>
|
|
122
|
-
</div>
|
|
123
|
-
|
|
124
|
-
{/* ── Right Column — Live Demo ─────────────────── */}
|
|
125
|
-
<div className="relative lg:sticky lg:top-6 h-[480px] lg:h-[calc(100vh-6rem)] min-h-[400px] lg:min-h-[520px] max-h-[800px]">
|
|
126
|
-
{/* Decorative glow ring */}
|
|
127
|
-
<div
|
|
128
|
-
className="absolute -inset-3 rounded-3xl pointer-events-none"
|
|
129
|
-
style={{ background: `radial-gradient(ellipse at center, ${ui.primaryColor}12 0%, transparent 70%)` }}
|
|
130
|
-
/>
|
|
131
|
-
<div className="relative h-full rounded-2xl overflow-hidden border border-slate-200 shadow-xl shadow-slate-200/80">
|
|
132
|
-
<ChatWindow className="w-full h-full" />
|
|
133
|
-
</div>
|
|
134
|
-
{/* "Live demo" tag */}
|
|
135
|
-
<div className="absolute -bottom-3 left-1/2 -translate-x-1/2 flex items-center gap-1.5 px-3.5 py-1.5 bg-white border border-slate-200 rounded-full text-[10px] font-semibold text-slate-500 shadow-md whitespace-nowrap">
|
|
136
|
-
<span className="w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse" />
|
|
137
|
-
Live Retrivora demo — powered by this SDK
|
|
138
|
-
</div>
|
|
139
|
-
</div>
|
|
140
|
-
</div>
|
|
141
|
-
);
|
|
142
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { LANDING_PAGE_CONTENT, PIPELINE_STEPS } from '@/app/constants';
|
|
5
|
-
|
|
6
|
-
export function Lifecycle() {
|
|
7
|
-
return (
|
|
8
|
-
<div className="relative">
|
|
9
|
-
{/* Section header */}
|
|
10
|
-
<div className="text-center mb-14">
|
|
11
|
-
<span className="inline-flex items-center gap-2 px-3 py-1.5 rounded-full bg-indigo-50 border border-indigo-100 text-[10px] font-bold uppercase tracking-widest text-indigo-600 mb-5">
|
|
12
|
-
<span className="w-1.5 h-1.5 rounded-full bg-indigo-500 animate-pulse" />
|
|
13
|
-
How It Works
|
|
14
|
-
</span>
|
|
15
|
-
<h2 className="text-3xl md:text-4xl font-black text-slate-900 mb-4">
|
|
16
|
-
{LANDING_PAGE_CONTENT.lifecycle.title}
|
|
17
|
-
</h2>
|
|
18
|
-
<p className="text-slate-500 max-w-lg mx-auto text-base leading-relaxed">
|
|
19
|
-
Four composable stages from raw documents to grounded AI responses.
|
|
20
|
-
</p>
|
|
21
|
-
</div>
|
|
22
|
-
|
|
23
|
-
{/* Steps grid */}
|
|
24
|
-
<div className="grid sm:grid-cols-2 lg:grid-cols-4 gap-5 max-w-6xl mx-auto">
|
|
25
|
-
{PIPELINE_STEPS.map(({ step, Icon, title, desc, colors }, index) => (
|
|
26
|
-
<div
|
|
27
|
-
key={step}
|
|
28
|
-
className="group relative bg-white rounded-2xl border border-slate-200 p-6 transition-all duration-300 hover:-translate-y-1 hover:shadow-lg hover:shadow-slate-200/80 overflow-hidden cursor-default"
|
|
29
|
-
>
|
|
30
|
-
{/* Gradient top border */}
|
|
31
|
-
<div
|
|
32
|
-
className="absolute top-0 left-0 right-0 h-0.5 rounded-t-2xl"
|
|
33
|
-
style={{ background: `linear-gradient(90deg, ${colors.from}, ${colors.to})` }}
|
|
34
|
-
/>
|
|
35
|
-
|
|
36
|
-
{/* Step number watermark */}
|
|
37
|
-
<div
|
|
38
|
-
className="absolute -right-2 -bottom-4 text-8xl font-black opacity-[0.05] select-none pointer-events-none group-hover:opacity-[0.08] transition-opacity"
|
|
39
|
-
style={{ color: colors.from }}
|
|
40
|
-
>
|
|
41
|
-
{step}
|
|
42
|
-
</div>
|
|
43
|
-
|
|
44
|
-
{/* Icon container */}
|
|
45
|
-
<div
|
|
46
|
-
className="relative z-10 w-11 h-11 rounded-xl flex items-center justify-center mb-5 transition-transform duration-300 group-hover:scale-105"
|
|
47
|
-
style={{
|
|
48
|
-
background: `linear-gradient(135deg, ${colors.from}18, ${colors.to}10)`,
|
|
49
|
-
border: `1px solid ${colors.from}25`,
|
|
50
|
-
}}
|
|
51
|
-
>
|
|
52
|
-
<Icon className="w-5 h-5" style={{ color: colors.from }} />
|
|
53
|
-
</div>
|
|
54
|
-
|
|
55
|
-
{/* Content */}
|
|
56
|
-
<div className="relative z-10">
|
|
57
|
-
<div
|
|
58
|
-
className="text-[10px] font-black uppercase tracking-widest mb-1.5"
|
|
59
|
-
style={{ color: colors.from }}
|
|
60
|
-
>
|
|
61
|
-
Step {index + 1}
|
|
62
|
-
</div>
|
|
63
|
-
<h3 className="text-base font-bold text-slate-900 mb-2">{title}</h3>
|
|
64
|
-
<p className="text-sm text-slate-500 leading-relaxed">{desc}</p>
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
{/* Hover glow */}
|
|
68
|
-
<div
|
|
69
|
-
className="absolute inset-0 rounded-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-500 pointer-events-none"
|
|
70
|
-
style={{ background: `radial-gradient(ellipse at 50% 0%, ${colors.from}07 0%, transparent 70%)` }}
|
|
71
|
-
/>
|
|
72
|
-
</div>
|
|
73
|
-
))}
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
);
|
|
77
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { Zap, Package, GitBranch, HeartPulse } from 'lucide-react';
|
|
5
|
-
import { ThemeToggle } from '@/components/ThemeToggle';
|
|
6
|
-
import { useConfig } from '@/components/ConfigProvider';
|
|
7
|
-
import pkg from '../../package.json';
|
|
8
|
-
|
|
9
|
-
export function Navbar() {
|
|
10
|
-
const { ui } = useConfig();
|
|
11
|
-
|
|
12
|
-
return (
|
|
13
|
-
<nav className="sticky top-0 z-50 flex items-center justify-between px-8 py-5 border-b border-slate-200 dark:border-white/5 bg-white/80 dark:bg-[#080811]/80 backdrop-blur-md">
|
|
14
|
-
<div className="flex items-center gap-3 group cursor-default">
|
|
15
|
-
<div className="relative">
|
|
16
|
-
<div
|
|
17
|
-
className="w-10 h-10 rounded-xl flex items-center justify-center shadow-lg relative z-10 overflow-hidden transition-transform group-hover:scale-110 duration-500"
|
|
18
|
-
style={{ background: `linear-gradient(135deg, ${ui.primaryColor}, ${ui.accentColor})` }}
|
|
19
|
-
>
|
|
20
|
-
<Zap className="w-5 h-5 text-white animate-pulse" />
|
|
21
|
-
<div className="absolute inset-0 bg-white/20 opacity-0 group-hover:opacity-100 transition-opacity" />
|
|
22
|
-
</div>
|
|
23
|
-
<div
|
|
24
|
-
className="absolute inset-0 blur-lg opacity-40 group-hover:opacity-80 transition-opacity"
|
|
25
|
-
style={{ background: ui.primaryColor }}
|
|
26
|
-
/>
|
|
27
|
-
</div>
|
|
28
|
-
<div className="flex flex-col -gap-0.5">
|
|
29
|
-
<span className="font-black text-transparent bg-clip-text text-xl tracking-tight leading-none"
|
|
30
|
-
style={{ backgroundImage: `linear-gradient(to right, ${ui.primaryColor}, ${ui.accentColor})` }}
|
|
31
|
-
>
|
|
32
|
-
Retrivora AI
|
|
33
|
-
</span>
|
|
34
|
-
<div className="flex items-center gap-1.5">
|
|
35
|
-
<span className="font-bold text-slate-900 dark:text-white text-[10px] tracking-[0.15em] uppercase opacity-70">Accelerator</span>
|
|
36
|
-
<span className="text-[9px] px-1.5 py-0.5 rounded-full bg-slate-100 dark:bg-white/5 text-slate-500 dark:text-white/40 font-mono border border-slate-200/50 dark:border-white/10">v{pkg?.version}</span>
|
|
37
|
-
</div>
|
|
38
|
-
</div>
|
|
39
|
-
</div>
|
|
40
|
-
|
|
41
|
-
<div className="flex items-center gap-3">
|
|
42
|
-
<ThemeToggle />
|
|
43
|
-
<a href="https://www.npmjs.com/package/@retrivora-ai/rag-engine" target="_blank" rel="noreferrer" className="text-slate-500 hover:text-[#CB3837] dark:text-white/40 dark:hover:text-[#CB3837] text-sm transition-colors flex items-center gap-1.5">
|
|
44
|
-
<Package className="w-4 h-4" /> NPM
|
|
45
|
-
</a>
|
|
46
|
-
<a href="https://github.com/abhinav1201/ai-accelerator" target="_blank" rel="noreferrer" className="text-slate-500 hover:text-slate-900 dark:text-white/40 dark:hover:text-white/70 text-sm transition-colors flex items-center gap-1.5">
|
|
47
|
-
<GitBranch className="w-4 h-4" /> GitHub
|
|
48
|
-
</a>
|
|
49
|
-
<a href="/api/health" target="_blank" rel="noreferrer" className="px-3 py-1.5 rounded-lg text-xs border border-slate-200 dark:border-white/10 text-slate-600 dark:text-white/50 hover:text-slate-900 dark:hover:text-white/80 hover:bg-slate-100 dark:hover:bg-white/5 transition-all flex items-center gap-1.5">
|
|
50
|
-
<HeartPulse className="w-3.5 h-3.5" /> Health
|
|
51
|
-
</a>
|
|
52
|
-
</div>
|
|
53
|
-
</nav>
|
|
54
|
-
);
|
|
55
|
-
}
|