@digilogiclabs/create-saas-app 2.11.0 โ 2.12.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/CHANGELOG.md +6 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/generators/template-generator.d.ts.map +1 -1
- package/dist/generators/template-generator.js +15 -8
- package/dist/generators/template-generator.js.map +1 -1
- package/dist/templates/shared/admin/web/src/components/admin-nav.tsx +3 -3
- package/dist/templates/shared/auth/supabase/web/src/lib/auth-session.ts +36 -16
- package/dist/templates/shared/auth/supabase/web/src/middleware.ts +6 -0
- package/dist/templates/shared/cookie-consent/web/components/cookie-consent.tsx +5 -5
- package/dist/templates/shared/design/web/src/components/ui/button.tsx +56 -0
- package/dist/templates/shared/email/web/src/lib/email/client.ts +1 -1
- package/dist/templates/shared/error-pages/web/src/app/error.tsx +13 -11
- package/dist/templates/shared/error-pages/web/src/app/global-error.tsx +2 -0
- package/dist/templates/shared/error-pages/web/src/app/not-found.tsx +6 -6
- package/dist/templates/shared/legal/web/src/app/(legal)/privacy/page.tsx +4 -4
- package/dist/templates/shared/legal/web/src/app/(legal)/terms/page.tsx +4 -4
- package/dist/templates/shared/loading/web/components/skeleton.tsx +4 -4
- package/dist/templates/shared/mock/web/.env.local +55 -0
- package/dist/templates/shared/mock/web/src/components/mock-auth-provider.tsx +72 -0
- package/dist/templates/shared/mock/web/src/components/mock-banner.tsx +29 -0
- package/dist/templates/shared/mock/web/src/lib/mock.ts +147 -0
- package/dist/templates/shared/payments/web/src/app/api/webhooks/stripe/route.ts +10 -4
- package/dist/templates/shared/redis/web/src/lib/redis.ts +1 -1
- package/dist/templates/web/base/template/eslint.config.mjs +14 -0
- package/dist/templates/web/base/template/src/app/auth/callback/route.ts +1 -1
- package/dist/templates/web/base/template/src/app/checkout/page.tsx +76 -103
- package/dist/templates/web/base/template/src/app/dashboard/page.tsx +145 -329
- package/dist/templates/web/base/template/src/app/layout.tsx +40 -38
- package/dist/templates/web/base/template/src/app/login/page.tsx +116 -66
- package/dist/templates/web/base/template/src/app/page.tsx +97 -193
- package/dist/templates/web/base/template/src/app/settings/page.tsx +154 -0
- package/dist/templates/web/base/template/src/app/signup/page.tsx +117 -66
- package/dist/templates/web/base/template/src/components/providers/app-providers.tsx +8 -3
- package/dist/templates/web/base/template/src/components/shared/header.tsx +229 -63
- package/dist/templates/web/ui-auth/template/eslint.config.mjs +14 -0
- package/dist/templates/web/ui-auth/template/src/app/checkout/page.tsx +3 -3
- package/dist/templates/web/ui-auth/template/src/app/dev-setup/page.tsx +81 -91
- package/dist/templates/web/ui-auth/template/src/app/layout.tsx +38 -36
- package/dist/templates/web/ui-auth/template/src/app/login/page.tsx +22 -45
- package/dist/templates/web/ui-auth/template/src/app/page.tsx +106 -306
- package/dist/templates/web/ui-auth/template/src/app/setup/page.tsx +387 -402
- package/dist/templates/web/ui-auth/template/src/app/signup/page.tsx +24 -47
- package/dist/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +8 -3
- package/dist/templates/web/ui-auth/template/src/components/shared/header.tsx +229 -94
- package/dist/templates/web/ui-auth-ai/template/src/app/layout.tsx +38 -45
- package/dist/templates/web/ui-auth-ai/template/src/app/login/page.tsx +86 -0
- package/dist/templates/web/ui-auth-ai/template/src/app/page.tsx +107 -193
- package/dist/templates/web/ui-auth-ai/template/src/app/signup/page.tsx +105 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +144 -140
- package/dist/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +156 -157
- package/dist/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +7 -3
- package/dist/templates/web/ui-auth-ai/template/src/components/providers/app-providers.tsx +25 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/shared/footer.tsx +36 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/shared/header.tsx +228 -0
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +5 -5
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +1 -1
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +1 -1
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +1 -1
- package/dist/templates/web/ui-auth-ai/template/src/components/ui/theme-toggle.tsx +34 -0
- package/dist/templates/web/ui-auth-ai/template/src/lib/supabase.ts +6 -4
- package/dist/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +7 -5
- package/dist/templates/web/ui-auth-payments/template/src/app/billing/page.tsx +63 -192
- package/dist/templates/web/ui-auth-payments/template/src/app/checkout/page.tsx +104 -296
- package/dist/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +27 -27
- package/dist/templates/web/ui-auth-payments/template/src/app/dev-setup/page.tsx +70 -81
- package/dist/templates/web/ui-auth-payments/template/src/app/layout.tsx +38 -36
- package/dist/templates/web/ui-auth-payments/template/src/app/login/loading.tsx +9 -9
- package/dist/templates/web/ui-auth-payments/template/src/app/login/page.tsx +4 -104
- package/dist/templates/web/ui-auth-payments/template/src/app/page.tsx +69 -337
- package/dist/templates/web/ui-auth-payments/template/src/app/setup/page.tsx +55 -68
- package/dist/templates/web/ui-auth-payments/template/src/app/signup/loading.tsx +13 -13
- package/dist/templates/web/ui-auth-payments/template/src/app/signup/page.tsx +4 -123
- package/dist/templates/web/ui-auth-payments/template/src/components/client/auth-status.tsx +37 -52
- package/dist/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +49 -103
- package/dist/templates/web/ui-auth-payments/template/src/components/client/newsletter-signup.tsx +4 -4
- package/dist/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +60 -140
- package/dist/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +25 -28
- package/dist/templates/web/ui-auth-payments/template/src/components/shared/header.tsx +229 -230
- package/dist/templates/web/ui-auth-payments/template/src/lib/actions/auth.ts +245 -245
- package/dist/templates/web/ui-auth-payments/template/src/lib/actions/index.ts +339 -339
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/ai/page.tsx +305 -309
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +62 -312
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/checkout/page.tsx +109 -125
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +27 -27
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/dev-setup/page.tsx +68 -83
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/layout.tsx +40 -38
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +20 -20
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/page.tsx +140 -394
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +28 -27
- package/dist/templates/web/ui-auth-payments-ai/template/src/app/setup/page.tsx +51 -66
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/auth-status.tsx +37 -52
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +50 -79
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +58 -111
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +8 -3
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +229 -252
- package/dist/templates/web/ui-auth-payments-ai/template/src/lib/actions/auth.ts +245 -245
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/billing/page.tsx +63 -192
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/checkout/page.tsx +109 -125
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +27 -27
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/layout.tsx +40 -38
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +122 -385
- package/dist/templates/web/ui-auth-payments-audio/template/src/app/setup/page.tsx +340 -344
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +37 -52
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +49 -103
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +60 -140
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +8 -3
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +229 -252
- package/dist/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +3 -3
- package/dist/templates/web/ui-auth-payments-video/template/src/app/billing/page.tsx +63 -192
- package/dist/templates/web/ui-auth-payments-video/template/src/app/checkout/page.tsx +109 -125
- package/dist/templates/web/ui-auth-payments-video/template/src/app/layout.tsx +38 -36
- package/dist/templates/web/ui-auth-payments-video/template/src/app/login/page.tsx +9 -109
- package/dist/templates/web/ui-auth-payments-video/template/src/app/page.tsx +132 -392
- package/dist/templates/web/ui-auth-payments-video/template/src/app/setup/page.tsx +346 -350
- package/dist/templates/web/ui-auth-payments-video/template/src/app/signup/page.tsx +9 -128
- package/dist/templates/web/ui-auth-payments-video/template/src/components/client/login-form.tsx +90 -0
- package/dist/templates/web/ui-auth-payments-video/template/src/components/client/signup-form.tsx +105 -0
- package/dist/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +8 -3
- package/dist/templates/web/ui-auth-payments-video/template/src/components/shared/header.tsx +229 -246
- package/dist/templates/web/ui-only/template/eslint.config.mjs +14 -0
- package/dist/templates/web/ui-only/template/src/app/checkout/page.tsx +2 -2
- package/dist/templates/web/ui-only/template/src/app/login/page.tsx +69 -63
- package/dist/templates/web/ui-only/template/src/app/page.tsx +69 -91
- package/dist/templates/web/ui-only/template/src/app/signup/page.tsx +94 -79
- package/dist/templates/web/ui-only/template/src/components/providers/app-providers.tsx +1 -6
- package/dist/templates/web/ui-only/template/src/components/shared/header.tsx +90 -53
- package/dist/templates/web/ui-package-test/template/package.json +19 -23
- package/dist/templates/web/ui-package-test/template/postcss.config.mjs +8 -0
- package/dist/templates/web/ui-package-test/template/src/app/globals.css +88 -0
- package/dist/templates/web/ui-package-test/template/src/app/layout.tsx +27 -0
- package/dist/templates/web/ui-package-test/template/src/app/page.tsx +46 -106
- package/package.json +1 -1
- package/src/templates/shared/admin/web/src/components/admin-nav.tsx +3 -3
- package/src/templates/shared/auth/supabase/web/src/lib/auth-session.ts +36 -16
- package/src/templates/shared/auth/supabase/web/src/middleware.ts +6 -0
- package/src/templates/shared/cookie-consent/web/components/cookie-consent.tsx +5 -5
- package/src/templates/shared/design/web/src/components/ui/button.tsx +56 -0
- package/src/templates/shared/email/web/src/lib/email/client.ts +1 -1
- package/src/templates/shared/error-pages/web/src/app/error.tsx +13 -11
- package/src/templates/shared/error-pages/web/src/app/global-error.tsx +2 -0
- package/src/templates/shared/error-pages/web/src/app/not-found.tsx +6 -6
- package/src/templates/shared/legal/web/src/app/(legal)/privacy/page.tsx +4 -4
- package/src/templates/shared/legal/web/src/app/(legal)/terms/page.tsx +4 -4
- package/src/templates/shared/loading/web/components/skeleton.tsx +4 -4
- package/src/templates/shared/mock/web/.env.local +55 -0
- package/src/templates/shared/mock/web/src/components/mock-auth-provider.tsx +72 -0
- package/src/templates/shared/mock/web/src/components/mock-banner.tsx +29 -0
- package/src/templates/shared/mock/web/src/lib/mock.ts +147 -0
- package/src/templates/shared/payments/web/src/app/api/webhooks/stripe/route.ts +10 -4
- package/src/templates/shared/redis/web/src/lib/redis.ts +1 -1
- package/src/templates/web/base/template/eslint.config.mjs +14 -0
- package/src/templates/web/base/template/src/app/auth/callback/route.ts +1 -1
- package/src/templates/web/base/template/src/app/checkout/page.tsx +76 -103
- package/src/templates/web/base/template/src/app/dashboard/page.tsx +145 -329
- package/src/templates/web/base/template/src/app/layout.tsx +40 -38
- package/src/templates/web/base/template/src/app/login/page.tsx +116 -66
- package/src/templates/web/base/template/src/app/page.tsx +97 -193
- package/src/templates/web/base/template/src/app/settings/page.tsx +154 -0
- package/src/templates/web/base/template/src/app/signup/page.tsx +117 -66
- package/src/templates/web/base/template/src/components/providers/app-providers.tsx +8 -3
- package/src/templates/web/base/template/src/components/shared/header.tsx +229 -63
- package/src/templates/web/ui-auth/template/eslint.config.mjs +14 -0
- package/src/templates/web/ui-auth/template/src/app/checkout/page.tsx +3 -3
- package/src/templates/web/ui-auth/template/src/app/dev-setup/page.tsx +81 -91
- package/src/templates/web/ui-auth/template/src/app/layout.tsx +38 -36
- package/src/templates/web/ui-auth/template/src/app/login/page.tsx +22 -45
- package/src/templates/web/ui-auth/template/src/app/page.tsx +106 -306
- package/src/templates/web/ui-auth/template/src/app/setup/page.tsx +387 -402
- package/src/templates/web/ui-auth/template/src/app/signup/page.tsx +24 -47
- package/src/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +8 -3
- package/src/templates/web/ui-auth/template/src/components/shared/header.tsx +229 -94
- package/src/templates/web/ui-auth-ai/template/src/app/layout.tsx +38 -45
- package/src/templates/web/ui-auth-ai/template/src/app/login/page.tsx +86 -0
- package/src/templates/web/ui-auth-ai/template/src/app/page.tsx +107 -193
- package/src/templates/web/ui-auth-ai/template/src/app/signup/page.tsx +105 -0
- package/src/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +144 -140
- package/src/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +156 -157
- package/src/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +7 -3
- package/src/templates/web/ui-auth-ai/template/src/components/providers/app-providers.tsx +25 -0
- package/src/templates/web/ui-auth-ai/template/src/components/shared/footer.tsx +36 -0
- package/src/templates/web/ui-auth-ai/template/src/components/shared/header.tsx +228 -0
- package/src/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +5 -5
- package/src/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +1 -1
- package/src/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +1 -1
- package/src/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +1 -1
- package/src/templates/web/ui-auth-ai/template/src/components/ui/theme-toggle.tsx +34 -0
- package/src/templates/web/ui-auth-ai/template/src/lib/supabase.ts +6 -4
- package/src/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +7 -5
- package/src/templates/web/ui-auth-payments/template/src/app/billing/page.tsx +63 -192
- package/src/templates/web/ui-auth-payments/template/src/app/checkout/page.tsx +104 -296
- package/src/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +27 -27
- package/src/templates/web/ui-auth-payments/template/src/app/dev-setup/page.tsx +70 -81
- package/src/templates/web/ui-auth-payments/template/src/app/layout.tsx +38 -36
- package/src/templates/web/ui-auth-payments/template/src/app/login/loading.tsx +9 -9
- package/src/templates/web/ui-auth-payments/template/src/app/login/page.tsx +4 -104
- package/src/templates/web/ui-auth-payments/template/src/app/page.tsx +69 -337
- package/src/templates/web/ui-auth-payments/template/src/app/setup/page.tsx +55 -68
- package/src/templates/web/ui-auth-payments/template/src/app/signup/loading.tsx +13 -13
- package/src/templates/web/ui-auth-payments/template/src/app/signup/page.tsx +4 -123
- package/src/templates/web/ui-auth-payments/template/src/components/client/auth-status.tsx +37 -52
- package/src/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +49 -103
- package/src/templates/web/ui-auth-payments/template/src/components/client/newsletter-signup.tsx +4 -4
- package/src/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +60 -140
- package/src/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +25 -28
- package/src/templates/web/ui-auth-payments/template/src/components/shared/header.tsx +229 -230
- package/src/templates/web/ui-auth-payments/template/src/lib/actions/auth.ts +245 -245
- package/src/templates/web/ui-auth-payments/template/src/lib/actions/index.ts +339 -339
- package/src/templates/web/ui-auth-payments-ai/template/src/app/ai/page.tsx +305 -309
- package/src/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +62 -312
- package/src/templates/web/ui-auth-payments-ai/template/src/app/checkout/page.tsx +109 -125
- package/src/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +27 -27
- package/src/templates/web/ui-auth-payments-ai/template/src/app/dev-setup/page.tsx +68 -83
- package/src/templates/web/ui-auth-payments-ai/template/src/app/layout.tsx +40 -38
- package/src/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +20 -20
- package/src/templates/web/ui-auth-payments-ai/template/src/app/page.tsx +140 -394
- package/src/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +28 -27
- package/src/templates/web/ui-auth-payments-ai/template/src/app/setup/page.tsx +51 -66
- package/src/templates/web/ui-auth-payments-ai/template/src/components/client/auth-status.tsx +37 -52
- package/src/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +50 -79
- package/src/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +58 -111
- package/src/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +8 -3
- package/src/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +229 -252
- package/src/templates/web/ui-auth-payments-ai/template/src/lib/actions/auth.ts +245 -245
- package/src/templates/web/ui-auth-payments-audio/template/src/app/billing/page.tsx +63 -192
- package/src/templates/web/ui-auth-payments-audio/template/src/app/checkout/page.tsx +109 -125
- package/src/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +27 -27
- package/src/templates/web/ui-auth-payments-audio/template/src/app/layout.tsx +40 -38
- package/src/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +122 -385
- package/src/templates/web/ui-auth-payments-audio/template/src/app/setup/page.tsx +340 -344
- package/src/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +37 -52
- package/src/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +49 -103
- package/src/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +60 -140
- package/src/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +8 -3
- package/src/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +229 -252
- package/src/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +3 -3
- package/src/templates/web/ui-auth-payments-video/template/src/app/billing/page.tsx +63 -192
- package/src/templates/web/ui-auth-payments-video/template/src/app/checkout/page.tsx +109 -125
- package/src/templates/web/ui-auth-payments-video/template/src/app/layout.tsx +38 -36
- package/src/templates/web/ui-auth-payments-video/template/src/app/login/page.tsx +9 -109
- package/src/templates/web/ui-auth-payments-video/template/src/app/page.tsx +132 -392
- package/src/templates/web/ui-auth-payments-video/template/src/app/setup/page.tsx +346 -350
- package/src/templates/web/ui-auth-payments-video/template/src/app/signup/page.tsx +9 -128
- package/src/templates/web/ui-auth-payments-video/template/src/components/client/login-form.tsx +90 -0
- package/src/templates/web/ui-auth-payments-video/template/src/components/client/signup-form.tsx +105 -0
- package/src/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +8 -3
- package/src/templates/web/ui-auth-payments-video/template/src/components/shared/header.tsx +229 -246
- package/src/templates/web/ui-only/template/eslint.config.mjs +14 -0
- package/src/templates/web/ui-only/template/src/app/checkout/page.tsx +2 -2
- package/src/templates/web/ui-only/template/src/app/login/page.tsx +69 -63
- package/src/templates/web/ui-only/template/src/app/page.tsx +69 -91
- package/src/templates/web/ui-only/template/src/app/signup/page.tsx +94 -79
- package/src/templates/web/ui-only/template/src/components/providers/app-providers.tsx +1 -6
- package/src/templates/web/ui-only/template/src/components/shared/header.tsx +90 -53
- package/src/templates/web/ui-package-test/template/package.json +19 -23
- package/src/templates/web/ui-package-test/template/postcss.config.mjs +8 -0
- package/src/templates/web/ui-package-test/template/src/app/globals.css +88 -0
- package/src/templates/web/ui-package-test/template/src/app/layout.tsx +27 -0
- package/src/templates/web/ui-package-test/template/src/app/page.tsx +46 -106
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/README.md +0 -655
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +0 -683
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +0 -124
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app.json +0 -74
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +0 -25
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +0 -787
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +0 -25
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +0 -3
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -346
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +0 -37
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -180
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +0 -11
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/package.json +0 -122
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -599
- package/dist/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +0 -32
- package/dist/templates/web/base/template/.eslintrc.js +0 -8
- package/dist/templates/web/base/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/base/template/src/test/setup.ts +0 -74
- package/dist/templates/web/base/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-auth/template/.eslintrc.js +0 -8
- package/dist/templates/web/ui-auth/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-auth/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-auth/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-auth-payments/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-auth-payments/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-auth-payments/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-auth-payments-ai/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-auth-payments-ai/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-auth-payments-ai/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-auth-payments-ai-rag/template/README.md +0 -434
- package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +0 -642
- package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +0 -466
- package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +0 -393
- package/dist/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +0 -457
- package/dist/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -478
- package/dist/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -250
- package/dist/templates/web/ui-auth-payments-ai-rag/template/package.json +0 -73
- package/dist/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -622
- package/dist/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +0 -396
- package/dist/templates/web/ui-auth-payments-audio/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-auth-payments-audio/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-auth-payments-audio/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-auth-payments-video/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-auth-payments-video/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-auth-payments-video/template/vitest.config.ts +0 -17
- package/dist/templates/web/ui-only/template/.eslintrc.js +0 -8
- package/dist/templates/web/ui-only/template/src/components/__tests__/example.test.tsx +0 -49
- package/dist/templates/web/ui-only/template/src/test/setup.ts +0 -74
- package/dist/templates/web/ui-only/template/vitest.config.ts +0 -17
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/README.md +0 -655
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +0 -683
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +0 -124
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/app.json +0 -74
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +0 -25
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +0 -787
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +0 -25
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +0 -3
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -346
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +0 -37
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -180
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +0 -11
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/package.json +0 -122
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -599
- package/src/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +0 -32
- package/src/templates/web/base/template/.eslintrc.js +0 -8
- package/src/templates/web/base/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/base/template/src/test/setup.ts +0 -74
- package/src/templates/web/base/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-auth/template/.eslintrc.js +0 -8
- package/src/templates/web/ui-auth/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-auth/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-auth/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-auth-payments/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-auth-payments/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-auth-payments/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-auth-payments-ai/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-auth-payments-ai/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-auth-payments-ai/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-auth-payments-ai-rag/template/README.md +0 -434
- package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +0 -642
- package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +0 -466
- package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +0 -393
- package/src/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +0 -457
- package/src/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +0 -478
- package/src/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +0 -250
- package/src/templates/web/ui-auth-payments-ai-rag/template/package.json +0 -73
- package/src/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +0 -622
- package/src/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +0 -396
- package/src/templates/web/ui-auth-payments-audio/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-auth-payments-audio/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-auth-payments-audio/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-auth-payments-video/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-auth-payments-video/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-auth-payments-video/template/vitest.config.ts +0 -17
- package/src/templates/web/ui-only/template/.eslintrc.js +0 -8
- package/src/templates/web/ui-only/template/src/components/__tests__/example.test.tsx +0 -49
- package/src/templates/web/ui-only/template/src/test/setup.ts +0 -74
- package/src/templates/web/ui-only/template/vitest.config.ts +0 -17
|
@@ -1,434 +0,0 @@
|
|
|
1
|
-
# AI Knowledge Platform with RAG v4.0.0
|
|
2
|
-
|
|
3
|
-
A comprehensive Next.js application with AI-powered knowledge base using Retrieval-Augmented Generation (RAG), complete with authentication, payments, and advanced analytics.
|
|
4
|
-
|
|
5
|
-
## ๐ Features
|
|
6
|
-
|
|
7
|
-
### AI & Knowledge Base
|
|
8
|
-
- **RAG-Powered Chat**: Intelligent conversations with your knowledge base
|
|
9
|
-
- **Semantic Search**: Vector-based document discovery
|
|
10
|
-
- **Knowledge Management**: Full CRUD operations for documents
|
|
11
|
-
- **Real-time Analytics**: Usage insights and performance metrics
|
|
12
|
-
- **Streaming Responses**: Real-time AI response generation
|
|
13
|
-
- **Source Citations**: Always know where information comes from
|
|
14
|
-
|
|
15
|
-
### Built-in Infrastructure
|
|
16
|
-
- **Authentication**: Secure user management with Supabase
|
|
17
|
-
- **Payments**: Stripe integration for subscriptions
|
|
18
|
-
- **Database**: PostgreSQL with vector embeddings
|
|
19
|
-
- **UI Components**: Modern glassmorphic design system
|
|
20
|
-
- **TypeScript**: Full type safety throughout
|
|
21
|
-
|
|
22
|
-
### Advanced Capabilities
|
|
23
|
-
- **Multi-domain Support**: Configure for different domains (plants, e-commerce, education)
|
|
24
|
-
- **Offline Caching**: Cached responses for better performance
|
|
25
|
-
- **Bulk Operations**: Import/export knowledge in batch
|
|
26
|
-
- **Confidence Scoring**: AI response quality indicators
|
|
27
|
-
- **Feedback System**: User satisfaction tracking
|
|
28
|
-
|
|
29
|
-
## ๐๏ธ Architecture
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
src/
|
|
33
|
-
โโโ app/ # Next.js 15 App Router
|
|
34
|
-
โ โโโ ai/ # AI dashboard and chat interface
|
|
35
|
-
โ โโโ api/ # API routes for RAG operations
|
|
36
|
-
โ โโโ auth/ # Authentication pages
|
|
37
|
-
โโโ components/
|
|
38
|
-
โ โโโ rag/ # RAG-specific components
|
|
39
|
-
โ โโโ RAGChatInterface.tsx
|
|
40
|
-
โ โโโ KnowledgeManager.tsx
|
|
41
|
-
โ โโโ RAGAnalytics.tsx
|
|
42
|
-
โโโ hooks/
|
|
43
|
-
โ โโโ useRAGSystem.ts # Main RAG hook
|
|
44
|
-
โโโ lib/
|
|
45
|
-
โ โโโ rag/
|
|
46
|
-
โ โโโ config.ts # RAG configuration
|
|
47
|
-
โโโ types/
|
|
48
|
-
โโโ supabase.ts # Generated database types
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## ๐ ๏ธ Quick Start
|
|
52
|
-
|
|
53
|
-
### 1. Installation
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
# Create new project
|
|
57
|
-
npm create saas-app my-ai-app --template=web-ai-rag
|
|
58
|
-
|
|
59
|
-
# Navigate to project
|
|
60
|
-
cd my-ai-app
|
|
61
|
-
|
|
62
|
-
# Install dependencies
|
|
63
|
-
npm install
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### 2. Environment Setup
|
|
67
|
-
|
|
68
|
-
Create `.env.local`:
|
|
69
|
-
|
|
70
|
-
```env
|
|
71
|
-
# Supabase Configuration
|
|
72
|
-
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
|
|
73
|
-
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
|
|
74
|
-
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
|
|
75
|
-
|
|
76
|
-
# OpenAI Configuration
|
|
77
|
-
OPENAI_API_KEY=your_openai_api_key
|
|
78
|
-
|
|
79
|
-
# App Configuration
|
|
80
|
-
NEXT_PUBLIC_APP_NAME=my-ai-app
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### 3. Database Setup
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
# Setup RAG system (creates tables, functions, sample data)
|
|
87
|
-
npm run setup:rag
|
|
88
|
-
|
|
89
|
-
# Generate TypeScript types
|
|
90
|
-
npm run db:types
|
|
91
|
-
|
|
92
|
-
# Seed with sample knowledge
|
|
93
|
-
npm run seed:knowledge
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### 4. Development
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
# Start development server
|
|
100
|
-
npm run dev
|
|
101
|
-
|
|
102
|
-
# Visit your AI dashboard
|
|
103
|
-
open http://localhost:3000/ai
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
## ๐ฏ Domain Configuration
|
|
107
|
-
|
|
108
|
-
The RAG system supports multiple pre-configured domains:
|
|
109
|
-
|
|
110
|
-
### Generic AI Assistant (Default)
|
|
111
|
-
```typescript
|
|
112
|
-
const ragSystem = useRAGSystem({
|
|
113
|
-
domain: 'generic',
|
|
114
|
-
enableStreaming: true,
|
|
115
|
-
enableCache: true
|
|
116
|
-
})
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
### Plant Care Assistant
|
|
120
|
-
```typescript
|
|
121
|
-
const ragSystem = useRAGSystem({
|
|
122
|
-
domain: 'plants',
|
|
123
|
-
// Optimized for botanical queries
|
|
124
|
-
})
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### E-commerce Assistant
|
|
128
|
-
```typescript
|
|
129
|
-
const ragSystem = useRAGSystem({
|
|
130
|
-
domain: 'ecommerce',
|
|
131
|
-
// Optimized for product queries
|
|
132
|
-
})
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### Education Platform
|
|
136
|
-
```typescript
|
|
137
|
-
const ragSystem = useRAGSystem({
|
|
138
|
-
domain: 'education',
|
|
139
|
-
// Optimized for learning content
|
|
140
|
-
})
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## ๐ RAG System Usage
|
|
144
|
-
|
|
145
|
-
### Basic Chat Interface
|
|
146
|
-
|
|
147
|
-
```typescript
|
|
148
|
-
import { RAGChatInterface } from '@/components/rag/RAGChatInterface'
|
|
149
|
-
|
|
150
|
-
export default function ChatPage() {
|
|
151
|
-
const ragSystem = useRAGSystem({ domain: 'generic' })
|
|
152
|
-
|
|
153
|
-
return (
|
|
154
|
-
<RAGChatInterface
|
|
155
|
-
ragSystem={ragSystem}
|
|
156
|
-
enableStreaming={true}
|
|
157
|
-
showSources={true}
|
|
158
|
-
showConfidence={true}
|
|
159
|
-
/>
|
|
160
|
-
)
|
|
161
|
-
}
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### Knowledge Management
|
|
165
|
-
|
|
166
|
-
```typescript
|
|
167
|
-
import { KnowledgeManager } from '@/components/rag/KnowledgeManager'
|
|
168
|
-
|
|
169
|
-
export default function KnowledgePage() {
|
|
170
|
-
const ragSystem = useRAGSystem()
|
|
171
|
-
|
|
172
|
-
return (
|
|
173
|
-
<KnowledgeManager
|
|
174
|
-
ragSystem={ragSystem}
|
|
175
|
-
enableBulkOperations={true}
|
|
176
|
-
enableExport={true}
|
|
177
|
-
/>
|
|
178
|
-
)
|
|
179
|
-
}
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### Analytics Dashboard
|
|
183
|
-
|
|
184
|
-
```typescript
|
|
185
|
-
import { RAGAnalytics } from '@/components/rag/RAGAnalytics'
|
|
186
|
-
|
|
187
|
-
export default function AnalyticsPage() {
|
|
188
|
-
const ragSystem = useRAGSystem()
|
|
189
|
-
|
|
190
|
-
return (
|
|
191
|
-
<RAGAnalytics
|
|
192
|
-
ragSystem={ragSystem}
|
|
193
|
-
timeRange="7d"
|
|
194
|
-
showDetailedMetrics={true}
|
|
195
|
-
/>
|
|
196
|
-
)
|
|
197
|
-
}
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
## ๐ง API Routes
|
|
201
|
-
|
|
202
|
-
The template includes ready-to-use API endpoints:
|
|
203
|
-
|
|
204
|
-
### Chat with RAG
|
|
205
|
-
```bash
|
|
206
|
-
POST /api/rag/chat
|
|
207
|
-
{
|
|
208
|
-
"query": "How do I get started?",
|
|
209
|
-
"category": "faq",
|
|
210
|
-
"stream": true
|
|
211
|
-
}
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
### Search Knowledge Base
|
|
215
|
-
```bash
|
|
216
|
-
GET /api/rag/search?q=getting+started&category=faq&limit=10
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
### Manage Knowledge
|
|
220
|
-
```bash
|
|
221
|
-
# Add document
|
|
222
|
-
POST /api/knowledge
|
|
223
|
-
{
|
|
224
|
-
"content": "Document content...",
|
|
225
|
-
"category": "faq",
|
|
226
|
-
"fields": { "title": "Getting Started" }
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
# Update document
|
|
230
|
-
PUT /api/knowledge/[id]
|
|
231
|
-
{
|
|
232
|
-
"content": "Updated content..."
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
# Delete document
|
|
236
|
-
DELETE /api/knowledge/[id]
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
## ๐จ UI Components
|
|
240
|
-
|
|
241
|
-
### RAG Chat Interface
|
|
242
|
-
- Streaming responses with typing indicators
|
|
243
|
-
- Source citations with confidence scores
|
|
244
|
-
- Voice input support
|
|
245
|
-
- Message history and feedback
|
|
246
|
-
- Copy/share functionality
|
|
247
|
-
|
|
248
|
-
### Knowledge Manager
|
|
249
|
-
- Document CRUD operations
|
|
250
|
-
- Bulk import/export
|
|
251
|
-
- Category filtering
|
|
252
|
-
- Full-text search
|
|
253
|
-
- Metadata management
|
|
254
|
-
|
|
255
|
-
### Analytics Dashboard
|
|
256
|
-
- Query volume trends
|
|
257
|
-
- Response time metrics
|
|
258
|
-
- Popular queries analysis
|
|
259
|
-
- User satisfaction tracking
|
|
260
|
-
- System health monitoring
|
|
261
|
-
|
|
262
|
-
## ๐ Performance Features
|
|
263
|
-
|
|
264
|
-
### Caching Strategy
|
|
265
|
-
- **Response Caching**: Frequently asked queries cached locally
|
|
266
|
-
- **Vector Caching**: Embedding reuse for similar queries
|
|
267
|
-
- **Incremental Updates**: Only sync changed documents
|
|
268
|
-
|
|
269
|
-
### Optimization
|
|
270
|
-
- **Streaming**: Real-time response generation
|
|
271
|
-
- **Debouncing**: Reduced API calls for search
|
|
272
|
-
- **Lazy Loading**: Components loaded on demand
|
|
273
|
-
- **Background Sync**: Non-blocking knowledge updates
|
|
274
|
-
|
|
275
|
-
## ๐ Security & Privacy
|
|
276
|
-
|
|
277
|
-
### Data Protection
|
|
278
|
-
- **RLS Policies**: Row-level security on all tables
|
|
279
|
-
- **Input Sanitization**: XSS protection on user inputs
|
|
280
|
-
- **Rate Limiting**: API abuse prevention
|
|
281
|
-
- **Audit Logging**: Track all knowledge operations
|
|
282
|
-
|
|
283
|
-
### API Security
|
|
284
|
-
- **Authentication Required**: Protected endpoints
|
|
285
|
-
- **CORS Configuration**: Controlled access
|
|
286
|
-
- **Environment Separation**: Dev/staging/production configs
|
|
287
|
-
|
|
288
|
-
## ๐ Deployment
|
|
289
|
-
|
|
290
|
-
### Vercel (Recommended)
|
|
291
|
-
```bash
|
|
292
|
-
# Build and deploy
|
|
293
|
-
npm run build
|
|
294
|
-
vercel --prod
|
|
295
|
-
|
|
296
|
-
# Environment variables
|
|
297
|
-
vercel env add OPENAI_API_KEY
|
|
298
|
-
vercel env add SUPABASE_SERVICE_ROLE_KEY
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
### Docker
|
|
302
|
-
```dockerfile
|
|
303
|
-
FROM node:18-alpine
|
|
304
|
-
WORKDIR /app
|
|
305
|
-
COPY package*.json ./
|
|
306
|
-
RUN npm install
|
|
307
|
-
COPY . .
|
|
308
|
-
RUN npm run build
|
|
309
|
-
CMD ["npm", "start"]
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
### Environment-specific Configs
|
|
313
|
-
```typescript
|
|
314
|
-
// lib/rag/config.ts
|
|
315
|
-
export const getEnvironmentConfig = () => ({
|
|
316
|
-
development: {
|
|
317
|
-
logging: 'debug',
|
|
318
|
-
rateLimitRpm: 300
|
|
319
|
-
},
|
|
320
|
-
production: {
|
|
321
|
-
logging: 'info',
|
|
322
|
-
rateLimitRpm: 60
|
|
323
|
-
}
|
|
324
|
-
})
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
## ๐ Monitoring & Analytics
|
|
328
|
-
|
|
329
|
-
### Built-in Metrics
|
|
330
|
-
- Query response times
|
|
331
|
-
- Confidence score distributions
|
|
332
|
-
- User satisfaction ratings
|
|
333
|
-
- Knowledge base growth
|
|
334
|
-
- System health indicators
|
|
335
|
-
|
|
336
|
-
### Custom Analytics
|
|
337
|
-
```typescript
|
|
338
|
-
const analytics = await ragSystem.getAnalytics('30d')
|
|
339
|
-
console.log({
|
|
340
|
-
totalQueries: analytics.usage.totalQueries,
|
|
341
|
-
averageConfidence: analytics.performance.averageConfidence,
|
|
342
|
-
popularQueries: analytics.performance.popularQueries
|
|
343
|
-
})
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
## ๐ฏ Customization
|
|
347
|
-
|
|
348
|
-
### Custom Domain Logic
|
|
349
|
-
```typescript
|
|
350
|
-
// lib/rag/customConfig.ts
|
|
351
|
-
export const createCustomRAGConfig = (namespace: string) => {
|
|
352
|
-
return createGenericRAGConfig(namespace, supabaseConfig, openAIKey, {
|
|
353
|
-
retrieval: {
|
|
354
|
-
topK: 8,
|
|
355
|
-
confidenceThreshold: 0.8,
|
|
356
|
-
// Custom retrieval logic
|
|
357
|
-
},
|
|
358
|
-
generation: {
|
|
359
|
-
systemPrompt: "You are a specialized assistant for...",
|
|
360
|
-
temperature: 0.2,
|
|
361
|
-
// Custom generation parameters
|
|
362
|
-
}
|
|
363
|
-
})
|
|
364
|
-
}
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
### UI Customization
|
|
368
|
-
```typescript
|
|
369
|
-
// Custom styling
|
|
370
|
-
<RAGChatInterface
|
|
371
|
-
className="custom-chat-styles"
|
|
372
|
-
theme={{
|
|
373
|
-
primary: '#your-brand-color',
|
|
374
|
-
background: 'custom-gradient'
|
|
375
|
-
}}
|
|
376
|
-
/>
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
## ๐งช Testing
|
|
380
|
-
|
|
381
|
-
### Unit Tests
|
|
382
|
-
```bash
|
|
383
|
-
npm run test
|
|
384
|
-
```
|
|
385
|
-
|
|
386
|
-
### Integration Tests
|
|
387
|
-
```bash
|
|
388
|
-
npm run test:integration
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
### E2E Tests
|
|
392
|
-
```bash
|
|
393
|
-
npm run test:e2e
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
## ๐ Advanced Topics
|
|
397
|
-
|
|
398
|
-
### Vector Embeddings
|
|
399
|
-
The system uses OpenAI's text-embedding-ada-002 model (1536 dimensions) for semantic search. Embeddings are generated server-side and stored in PostgreSQL with the pgvector extension.
|
|
400
|
-
|
|
401
|
-
### Hybrid Search
|
|
402
|
-
Combines vector similarity search with traditional full-text search for optimal results:
|
|
403
|
-
- Vector search: Semantic understanding
|
|
404
|
-
- Text search: Keyword matching
|
|
405
|
-
- Combined scoring: Weighted relevance
|
|
406
|
-
|
|
407
|
-
### Knowledge Synchronization
|
|
408
|
-
Supports incremental sync strategies:
|
|
409
|
-
- **Immediate**: Real-time updates
|
|
410
|
-
- **Batch**: Scheduled bulk updates
|
|
411
|
-
- **Manual**: User-triggered sync
|
|
412
|
-
|
|
413
|
-
## ๐ค Contributing
|
|
414
|
-
|
|
415
|
-
1. Fork the repository
|
|
416
|
-
2. Create a feature branch
|
|
417
|
-
3. Make your changes
|
|
418
|
-
4. Add tests
|
|
419
|
-
5. Submit a pull request
|
|
420
|
-
|
|
421
|
-
## ๐ License
|
|
422
|
-
|
|
423
|
-
MIT License - see LICENSE file for details
|
|
424
|
-
|
|
425
|
-
## ๐ Support
|
|
426
|
-
|
|
427
|
-
- ๐ [Documentation](https://docs.example.com/rag)
|
|
428
|
-
- ๐ฌ [Discord Community](https://discord.gg/example)
|
|
429
|
-
- ๐ [Issue Tracker](https://github.com/example/issues)
|
|
430
|
-
- โ๏ธ [Email Support](mailto:support@example.com)
|
|
431
|
-
|
|
432
|
-
---
|
|
433
|
-
|
|
434
|
-
Built with โค๏ธ using Next.js 15, Supabase, OpenAI, and RAG v4.0.0
|