@retrivora-ai/rag-engine 2.1.3 → 2.1.5
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/dist/{ILLMProvider-0rRBYbVW.d.mts → ILLMProvider-BWa68XX5.d.mts} +2 -0
- package/dist/{ILLMProvider-0rRBYbVW.d.ts → ILLMProvider-BWa68XX5.d.ts} +2 -0
- package/dist/handlers/index.d.mts +2 -2
- package/dist/handlers/index.d.ts +2 -2
- package/dist/handlers/index.js +271 -67
- package/dist/handlers/index.mjs +271 -67
- package/dist/{index-B1wGUlSL.d.mts → index-BCbeeh74.d.ts} +11 -2
- package/dist/{index-DcklhThn.d.ts → index-BbJGyNmW.d.mts} +11 -2
- package/dist/{index-BIHHp_f6.d.ts → index-C6ehmP0b.d.ts} +1 -1
- package/dist/{index-BvODr57d.d.mts → index-DFc_Ll9z.d.mts} +1 -1
- package/dist/index.css +23 -0
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +191 -21
- package/dist/index.mjs +190 -21
- package/dist/server.d.mts +6 -6
- package/dist/server.d.ts +6 -6
- package/dist/server.js +273 -67
- package/dist/server.mjs +272 -67
- package/package.json +1 -1
- package/src/components/DocumentUpload.tsx +50 -18
- package/src/config/serverConfig.ts +2 -2
- package/src/core/Pipeline.ts +23 -1
- package/src/handlers/index.ts +65 -15
- package/src/index.css +23 -0
- package/src/index.ts +1 -0
- package/src/server.ts +1 -0
- package/src/types/index.ts +2 -0
- package/src/types/props.ts +4 -0
- package/src/version.ts +6 -0
package/dist/server.mjs
CHANGED
|
@@ -3045,7 +3045,7 @@ function getRagConfig(baseConfig, env = process.env) {
|
|
|
3045
3045
|
return getEnvConfig(env, baseConfig);
|
|
3046
3046
|
}
|
|
3047
3047
|
function getEnvConfig(env = process.env, base) {
|
|
3048
|
-
var _a2, _b, _c, _d, _e, _f, _g2, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca, _da, _ea, _fa, _ga, _ha, _ia, _ja, _ka, _la, _ma, _na, _oa, _pa, _qa, _ra, _sa, _ta, _ua, _va, _wa, _xa, _ya, _za, _Aa, _Ba, _Ca, _Da, _Ea, _Fa, _Ga, _Ha, _Ia, _Ja, _Ka, _La, _Ma, _Na, _Oa, _Pa, _Qa, _Ra, _Sa, _Ta, _Ua, _Va, _Wa, _Xa, _Ya, _Za, __a, _$a, _ab, _bb, _cb, _db, _eb, _fb, _gb, _hb, _ib, _jb, _kb, _lb, _mb, _nb, _ob, _pb, _qb, _rb, _sb, _tb, _ub, _vb, _wb, _xb, _yb, _zb, _Ab, _Bb, _Cb, _Db, _Eb, _Fb;
|
|
3048
|
+
var _a2, _b, _c, _d, _e, _f, _g2, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca, _da, _ea, _fa, _ga, _ha, _ia, _ja, _ka, _la, _ma, _na, _oa, _pa, _qa, _ra, _sa, _ta, _ua, _va, _wa, _xa, _ya, _za, _Aa, _Ba, _Ca, _Da, _Ea, _Fa, _Ga, _Ha, _Ia, _Ja, _Ka, _La, _Ma, _Na, _Oa, _Pa, _Qa, _Ra, _Sa, _Ta, _Ua, _Va, _Wa, _Xa, _Ya, _Za, __a, _$a, _ab, _bb, _cb, _db, _eb, _fb, _gb, _hb, _ib, _jb, _kb, _lb, _mb, _nb, _ob, _pb, _qb, _rb, _sb, _tb, _ub, _vb, _wb, _xb, _yb, _zb, _Ab, _Bb, _Cb, _Db, _Eb, _Fb, _Gb, _Hb, _Ib;
|
|
3049
3049
|
const projectId = (_c = (_b = (_a2 = readString(env, "RAG_PROJECT_ID")) != null ? _a2 : readString(env, "NEXT_PUBLIC_PROJECT_ID")) != null ? _b : base == null ? void 0 : base.projectId) != null ? _c : "__default__";
|
|
3050
3050
|
const licenseKey = (_g2 = (_f = (_e = (_d = readString(env, "RAG_LICENSE_KEY")) != null ? _d : readString(env, "RETRIVORA_LICENSE_KEY")) != null ? _e : readString(env, "NEXT_PUBLIC_RETRIVORA_LICENSE_KEY")) != null ? _f : readString(env, "LICENSE_KEY")) != null ? _g2 : base == null ? void 0 : base.licenseKey;
|
|
3051
3051
|
const telemetryEnabled = readString(env, "TELEMETRY_ENABLED") === "true" || readString(env, "NEXT_PUBLIC_TELEMETRY_ENABLED") === "true" || ((_h = base == null ? void 0 : base.telemetry) == null ? void 0 : _h.enabled) || Boolean(licenseKey);
|
|
@@ -3053,38 +3053,38 @@ function getEnvConfig(env = process.env, base) {
|
|
|
3053
3053
|
const embeddingDimensions = readNumber(env, "EMBEDDING_DIMENSIONS", 768);
|
|
3054
3054
|
const vectorDbOptions = {};
|
|
3055
3055
|
if (vectorProvider === "pinecone") {
|
|
3056
|
-
vectorDbOptions.apiKey = (_l = (_k = readString(env, "PINECONE_API_KEY")) != null ? _k : (_j = (_i = base == null ? void 0 : base.vectorDb) == null ? void 0 : _i.options) == null ? void 0 : _j.apiKey) != null ? _l : "";
|
|
3057
|
-
vectorDbOptions.indexName = (
|
|
3056
|
+
vectorDbOptions.apiKey = (_m = (_l = (_k = readString(env, "PINECONE_API_KEY")) != null ? _k : (_j = (_i = base == null ? void 0 : base.vectorDb) == null ? void 0 : _i.options) == null ? void 0 : _j.apiKey) != null ? _l : process.env.PINECONE_API_KEY) != null ? _m : "";
|
|
3057
|
+
vectorDbOptions.indexName = (_t = (_s = (_r = (_o = readString(env, "PINECONE_INDEX")) != null ? _o : (_n = base == null ? void 0 : base.vectorDb) == null ? void 0 : _n.indexName) != null ? _r : (_q = (_p = base == null ? void 0 : base.vectorDb) == null ? void 0 : _p.options) == null ? void 0 : _q.indexName) != null ? _s : process.env.PINECONE_INDEX) != null ? _t : "retrivora-free";
|
|
3058
3058
|
} else if (vectorProvider === "pgvector" || vectorProvider === "postgresql") {
|
|
3059
|
-
vectorDbOptions.connectionString = (
|
|
3060
|
-
vectorDbOptions.tables = (
|
|
3061
|
-
vectorDbOptions.searchFields = (
|
|
3059
|
+
vectorDbOptions.connectionString = (_y = (_x = (_u = readString(env, "PGVECTOR_CONNECTION_STRING")) != null ? _u : readString(env, "POSTGRES_URL")) != null ? _x : (_w = (_v = base == null ? void 0 : base.vectorDb) == null ? void 0 : _v.options) == null ? void 0 : _w.connectionString) != null ? _y : "";
|
|
3060
|
+
vectorDbOptions.tables = (_D = (_A = (_z = readString(env, "VECTOR_DB_TABLES")) != null ? _z : readString(env, "POSTGRES_TABLES")) == null ? void 0 : _A.split(",").map((t) => t.trim())) != null ? _D : (_C = (_B = base == null ? void 0 : base.vectorDb) == null ? void 0 : _B.options) == null ? void 0 : _C.tables;
|
|
3061
|
+
vectorDbOptions.searchFields = (_H = (_E = readString(env, "POSTGRES_SEARCH_FIELDS")) == null ? void 0 : _E.split(",").map((f) => f.trim())) != null ? _H : (_G = (_F = base == null ? void 0 : base.vectorDb) == null ? void 0 : _F.options) == null ? void 0 : _G.searchFields;
|
|
3062
3062
|
vectorDbOptions.dimensions = embeddingDimensions;
|
|
3063
3063
|
} else if (vectorProvider === "mongodb") {
|
|
3064
|
-
vectorDbOptions.uri = (
|
|
3065
|
-
vectorDbOptions.database = (
|
|
3066
|
-
vectorDbOptions.collection = (
|
|
3067
|
-
vectorDbOptions.indexName = (
|
|
3064
|
+
vectorDbOptions.uri = (_L = (_K = readString(env, "MONGODB_URI")) != null ? _K : (_J = (_I = base == null ? void 0 : base.vectorDb) == null ? void 0 : _I.options) == null ? void 0 : _J.uri) != null ? _L : "";
|
|
3065
|
+
vectorDbOptions.database = (_P = (_O = readString(env, "MONGODB_DB")) != null ? _O : (_N = (_M = base == null ? void 0 : base.vectorDb) == null ? void 0 : _M.options) == null ? void 0 : _N.database) != null ? _P : "";
|
|
3066
|
+
vectorDbOptions.collection = (_T = (_S = readString(env, "MONGODB_COLLECTION")) != null ? _S : (_R = (_Q = base == null ? void 0 : base.vectorDb) == null ? void 0 : _Q.options) == null ? void 0 : _R.collection) != null ? _T : "";
|
|
3067
|
+
vectorDbOptions.indexName = (_Z = (_Y = (_V = readString(env, "MONGODB_INDEX_NAME")) != null ? _V : (_U = base == null ? void 0 : base.vectorDb) == null ? void 0 : _U.indexName) != null ? _Y : (_X = (_W = base == null ? void 0 : base.vectorDb) == null ? void 0 : _W.options) == null ? void 0 : _X.indexName) != null ? _Z : "vector_index";
|
|
3068
3068
|
} else if (vectorProvider === "qdrant") {
|
|
3069
|
-
vectorDbOptions.baseUrl = (
|
|
3070
|
-
vectorDbOptions.apiKey = (
|
|
3069
|
+
vectorDbOptions.baseUrl = (_ba = (_aa = readString(env, "QDRANT_URL")) != null ? _aa : (_$ = (__ = base == null ? void 0 : base.vectorDb) == null ? void 0 : __.options) == null ? void 0 : _$.baseUrl) != null ? _ba : "http://localhost:6333";
|
|
3070
|
+
vectorDbOptions.apiKey = (_ea = readString(env, "QDRANT_API_KEY")) != null ? _ea : (_da = (_ca = base == null ? void 0 : base.vectorDb) == null ? void 0 : _ca.options) == null ? void 0 : _da.apiKey;
|
|
3071
3071
|
vectorDbOptions.dimensions = embeddingDimensions;
|
|
3072
3072
|
} else if (vectorProvider === "milvus") {
|
|
3073
|
-
vectorDbOptions.baseUrl = (
|
|
3073
|
+
vectorDbOptions.baseUrl = (_fa = readString(env, "MILVUS_URL")) != null ? _fa : "http://localhost:19530";
|
|
3074
3074
|
vectorDbOptions.apiKey = readString(env, "MILVUS_API_KEY");
|
|
3075
3075
|
} else if (vectorProvider === "chromadb") {
|
|
3076
|
-
vectorDbOptions.baseUrl = (
|
|
3076
|
+
vectorDbOptions.baseUrl = (_ga = readString(env, "CHROMADB_URL")) != null ? _ga : "http://localhost:8000";
|
|
3077
3077
|
} else if (vectorProvider === "weaviate") {
|
|
3078
|
-
vectorDbOptions.baseUrl = (
|
|
3078
|
+
vectorDbOptions.baseUrl = (_ha = readString(env, "WEAVIATE_URL")) != null ? _ha : "http://localhost:8080";
|
|
3079
3079
|
vectorDbOptions.apiKey = readString(env, "WEAVIATE_API_KEY");
|
|
3080
3080
|
} else if (vectorProvider === "redis") {
|
|
3081
|
-
vectorDbOptions.baseUrl = (
|
|
3081
|
+
vectorDbOptions.baseUrl = (_ia = readString(env, "REDIS_URL")) != null ? _ia : "";
|
|
3082
3082
|
vectorDbOptions.apiKey = readString(env, "REDIS_API_KEY");
|
|
3083
3083
|
} else if (vectorProvider === "rest") {
|
|
3084
|
-
vectorDbOptions.baseUrl = (
|
|
3084
|
+
vectorDbOptions.baseUrl = (_ja = readString(env, "VECTOR_DB_REST_URL")) != null ? _ja : "";
|
|
3085
3085
|
vectorDbOptions.headers = readString(env, "VECTOR_DB_REST_API_KEY") ? { "api-key": readString(env, "VECTOR_DB_REST_API_KEY") } : {};
|
|
3086
3086
|
} else if (vectorProvider === "universal_rest") {
|
|
3087
|
-
vectorDbOptions.baseUrl = (
|
|
3087
|
+
vectorDbOptions.baseUrl = (_la = (_ka = readString(env, "VECTOR_BASE_URL")) != null ? _ka : readString(env, "VECTOR_DB_REST_URL")) != null ? _la : "";
|
|
3088
3088
|
vectorDbOptions.profile = readString(env, "VECTOR_UNIVERSAL_PROFILE");
|
|
3089
3089
|
vectorDbOptions.headers = readString(env, "VECTOR_DB_REST_API_KEY") ? { Authorization: `Bearer ${readString(env, "VECTOR_DB_REST_API_KEY")}` } : {};
|
|
3090
3090
|
}
|
|
@@ -3103,8 +3103,8 @@ function getEnvConfig(env = process.env, base) {
|
|
|
3103
3103
|
// Anthropic needs a separate embedding provider; key kept for completeness
|
|
3104
3104
|
gemini: readString(env, "GEMINI_API_KEY"),
|
|
3105
3105
|
ollama: void 0,
|
|
3106
|
-
universal_rest: (
|
|
3107
|
-
custom: (
|
|
3106
|
+
universal_rest: (_ma = readString(env, "EMBEDDING_API_KEY")) != null ? _ma : readString(env, "OPENAI_API_KEY"),
|
|
3107
|
+
custom: (_na = readString(env, "EMBEDDING_API_KEY")) != null ? _na : readString(env, "OPENAI_API_KEY")
|
|
3108
3108
|
};
|
|
3109
3109
|
const DEFAULT_MODEL_BY_PROVIDER = {
|
|
3110
3110
|
openai: "gpt-4o",
|
|
@@ -3125,25 +3125,25 @@ function getEnvConfig(env = process.env, base) {
|
|
|
3125
3125
|
return true;
|
|
3126
3126
|
}
|
|
3127
3127
|
})();
|
|
3128
|
-
const defaultGatewayUrl = (
|
|
3128
|
+
const defaultGatewayUrl = (_pa = (_oa = readString(env, "LITELLM_BASE_URL")) != null ? _oa : readString(env, "LLM_BASE_URL")) != null ? _pa : "https://llm.retrivora.com/api/v1";
|
|
3129
3129
|
const defaultLlmProvider = isFreeTier ? "universal_rest" : "universal_rest";
|
|
3130
|
-
const llmProvider = (
|
|
3131
|
-
const llmBaseUrl = (
|
|
3132
|
-
const llmModel = (
|
|
3133
|
-
const llmApiKey = (
|
|
3134
|
-
const llmProfile = (
|
|
3130
|
+
const llmProvider = (_sa = (_ra = readEnum(env, "LLM_PROVIDER", defaultLlmProvider, LLM_PROVIDERS)) != null ? _ra : (_qa = base == null ? void 0 : base.llm) == null ? void 0 : _qa.provider) != null ? _sa : defaultLlmProvider;
|
|
3131
|
+
const llmBaseUrl = (_wa = (_va = (_ta = readString(env, "LITELLM_BASE_URL")) != null ? _ta : readString(env, "LLM_BASE_URL")) != null ? _va : (_ua = base == null ? void 0 : base.llm) == null ? void 0 : _ua.baseUrl) != null ? _wa : defaultGatewayUrl;
|
|
3132
|
+
const llmModel = (_Aa = (_ya = readString(env, "LLM_MODEL")) != null ? _ya : (_xa = base == null ? void 0 : base.llm) == null ? void 0 : _xa.model) != null ? _Aa : isFreeTier ? "llama-3.1-8b-instant" : (_za = DEFAULT_MODEL_BY_PROVIDER[llmProvider]) != null ? _za : "gpt-4o";
|
|
3133
|
+
const llmApiKey = (_Ga = (_Fa = (_Da = (_Ca = (_Ba = llmApiKeyByProvider[llmProvider]) != null ? _Ba : readString(env, "LLM_API_KEY")) != null ? _Ca : readString(env, "LITELLM_MASTER_KEY")) != null ? _Da : readString(env, "LITELLM_API_KEY")) != null ? _Fa : (_Ea = base == null ? void 0 : base.llm) == null ? void 0 : _Ea.apiKey) != null ? _Ga : licenseKey;
|
|
3134
|
+
const llmProfile = (_Ka = (_Ja = readString(env, "LLM_UNIVERSAL_PROFILE")) != null ? _Ja : (_Ia = (_Ha = base == null ? void 0 : base.llm) == null ? void 0 : _Ha.options) == null ? void 0 : _Ia.profile) != null ? _Ka : "litellm";
|
|
3135
3135
|
const defaultEmbeddingProvider = isFreeTier ? "universal_rest" : "universal_rest";
|
|
3136
|
-
const embeddingProvider = (
|
|
3137
|
-
const embeddingBaseUrl = (
|
|
3138
|
-
const embeddingModel = (
|
|
3139
|
-
const embeddingApiKey = (
|
|
3140
|
-
const embeddingProfile = (
|
|
3136
|
+
const embeddingProvider = (_Na = (_Ma = readEnum(env, "EMBEDDING_PROVIDER", defaultEmbeddingProvider, EMBEDDING_PROVIDERS)) != null ? _Ma : (_La = base == null ? void 0 : base.embedding) == null ? void 0 : _La.provider) != null ? _Na : defaultEmbeddingProvider;
|
|
3137
|
+
const embeddingBaseUrl = (_Sa = (_Ra = (_Pa = (_Oa = readString(env, "LITELLM_BASE_URL")) != null ? _Oa : readString(env, "EMBEDDING_BASE_URL")) != null ? _Pa : readString(env, "LLM_BASE_URL")) != null ? _Ra : (_Qa = base == null ? void 0 : base.embedding) == null ? void 0 : _Qa.baseUrl) != null ? _Sa : defaultGatewayUrl;
|
|
3138
|
+
const embeddingModel = (_Va = (_Ua = readString(env, "EMBEDDING_MODEL")) != null ? _Ua : (_Ta = base == null ? void 0 : base.embedding) == null ? void 0 : _Ta.model) != null ? _Va : "text-embedding-004";
|
|
3139
|
+
const embeddingApiKey = (_ab = (_$a = (_Za = (_Ya = (_Xa = (_Wa = embeddingApiKeyByProvider[embeddingProvider]) != null ? _Wa : readString(env, "EMBEDDING_API_KEY")) != null ? _Xa : readString(env, "LLM_API_KEY")) != null ? _Ya : readString(env, "LITELLM_MASTER_KEY")) != null ? _Za : readString(env, "LITELLM_API_KEY")) != null ? _$a : (__a = base == null ? void 0 : base.embedding) == null ? void 0 : __a.apiKey) != null ? _ab : licenseKey;
|
|
3140
|
+
const embeddingProfile = (_eb = (_db = readString(env, "EMBEDDING_UNIVERSAL_PROFILE")) != null ? _db : (_cb = (_bb = base == null ? void 0 : base.embedding) == null ? void 0 : _bb.options) == null ? void 0 : _cb.profile) != null ? _eb : "litellm";
|
|
3141
3141
|
return __spreadProps(__spreadValues({
|
|
3142
3142
|
projectId,
|
|
3143
3143
|
licenseKey,
|
|
3144
3144
|
vectorDb: {
|
|
3145
3145
|
provider: vectorProvider,
|
|
3146
|
-
indexName: (
|
|
3146
|
+
indexName: (_gb = (_fb = readString(env, "VECTOR_DB_INDEX")) != null ? _fb : vectorDbOptions.indexName) != null ? _gb : "rag-index",
|
|
3147
3147
|
options: vectorDbOptions
|
|
3148
3148
|
},
|
|
3149
3149
|
llm: {
|
|
@@ -3173,30 +3173,30 @@ function getEnvConfig(env = process.env, base) {
|
|
|
3173
3173
|
}
|
|
3174
3174
|
},
|
|
3175
3175
|
ui: {
|
|
3176
|
-
title: (
|
|
3177
|
-
subtitle: (
|
|
3178
|
-
primaryColor: (
|
|
3179
|
-
accentColor: (
|
|
3180
|
-
logoUrl: (
|
|
3181
|
-
placeholder: (
|
|
3182
|
-
showSources: ((
|
|
3183
|
-
welcomeMessage: (
|
|
3184
|
-
visualStyle: (
|
|
3185
|
-
borderRadius: (
|
|
3186
|
-
allowUpload: ((
|
|
3176
|
+
title: (_ib = (_hb = readString(env, "NEXT_PUBLIC_UI_TITLE")) != null ? _hb : readString(env, "UI_TITLE")) != null ? _ib : "AI Assistant",
|
|
3177
|
+
subtitle: (_kb = (_jb = readString(env, "NEXT_PUBLIC_UI_SUBTITLE")) != null ? _jb : readString(env, "UI_SUBTITLE")) != null ? _kb : "Powered by RAG",
|
|
3178
|
+
primaryColor: (_mb = (_lb = readString(env, "NEXT_PUBLIC_PRIMARY_COLOR")) != null ? _lb : readString(env, "UI_PRIMARY_COLOR")) != null ? _mb : "#10b981",
|
|
3179
|
+
accentColor: (_ob = (_nb = readString(env, "NEXT_PUBLIC_ACCENT_COLOR")) != null ? _nb : readString(env, "UI_ACCENT_COLOR")) != null ? _ob : "#3b82f6",
|
|
3180
|
+
logoUrl: (_pb = readString(env, "NEXT_PUBLIC_LOGO_URL")) != null ? _pb : readString(env, "UI_LOGO_URL"),
|
|
3181
|
+
placeholder: (_rb = (_qb = readString(env, "NEXT_PUBLIC_PLACEHOLDER")) != null ? _qb : readString(env, "UI_PLACEHOLDER")) != null ? _rb : "Ask me anything\u2026",
|
|
3182
|
+
showSources: ((_tb = (_sb = readString(env, "NEXT_PUBLIC_SHOW_SOURCES")) != null ? _sb : readString(env, "UI_SHOW_SOURCES")) != null ? _tb : "true") !== "false",
|
|
3183
|
+
welcomeMessage: (_vb = (_ub = readString(env, "NEXT_PUBLIC_WELCOME_MESSAGE")) != null ? _ub : readString(env, "UI_WELCOME_MESSAGE")) != null ? _vb : "Hello! I'm your AI assistant. Ask me anything about your documents.",
|
|
3184
|
+
visualStyle: (_xb = (_wb = readString(env, "NEXT_PUBLIC_UI_VISUAL_STYLE")) != null ? _wb : readString(env, "UI_VISUAL_STYLE")) != null ? _xb : "glass",
|
|
3185
|
+
borderRadius: (_zb = (_yb = readString(env, "NEXT_PUBLIC_UI_BORDER_RADIUS")) != null ? _yb : readString(env, "UI_BORDER_RADIUS")) != null ? _zb : "xl",
|
|
3186
|
+
allowUpload: ((_Bb = (_Ab = readString(env, "NEXT_PUBLIC_ALLOW_UPLOAD")) != null ? _Ab : readString(env, "UI_ALLOW_UPLOAD")) != null ? _Bb : "false") === "true"
|
|
3187
3187
|
},
|
|
3188
3188
|
rag: {
|
|
3189
3189
|
topK: readNumber(env, "RAG_TOP_K", 5),
|
|
3190
3190
|
scoreThreshold: readNumber(env, "RAG_SCORE_THRESHOLD", 0),
|
|
3191
3191
|
chunkSize: readNumber(env, "RAG_CHUNK_SIZE", 1e3),
|
|
3192
3192
|
chunkOverlap: readNumber(env, "RAG_CHUNK_OVERLAP", 200),
|
|
3193
|
-
filterableFields: (
|
|
3193
|
+
filterableFields: (_Cb = readString(env, "RAG_FILTERABLE_FIELDS")) == null ? void 0 : _Cb.split(",").map((f) => f.trim()),
|
|
3194
3194
|
// Query pipeline toggles — read from .env.local
|
|
3195
3195
|
useQueryTransformation: readString(env, "RAG_USE_QUERY_TRANSFORMATION") === "true",
|
|
3196
3196
|
useReranking: readString(env, "RAG_USE_RERANKING") === "true",
|
|
3197
3197
|
useGraphRetrieval: readString(env, "RAG_USE_GRAPH_RETRIEVAL") === "true",
|
|
3198
|
-
architecture: (
|
|
3199
|
-
chunkingStrategy: (
|
|
3198
|
+
architecture: (_Db = readString(env, "RAG_ARCHITECTURE")) != null ? _Db : "simple",
|
|
3199
|
+
chunkingStrategy: (_Eb = readString(env, "RAG_CHUNKING_STRATEGY")) != null ? _Eb : "recursive",
|
|
3200
3200
|
uiMapping: (() => {
|
|
3201
3201
|
const raw = readString(env, "RAG_UI_MAPPING");
|
|
3202
3202
|
if (!raw) return void 0;
|
|
@@ -3209,7 +3209,7 @@ function getEnvConfig(env = process.env, base) {
|
|
|
3209
3209
|
},
|
|
3210
3210
|
telemetry: {
|
|
3211
3211
|
enabled: telemetryEnabled,
|
|
3212
|
-
url: (
|
|
3212
|
+
url: (_Ib = (_Hb = (_Fb = readString(env, "TELEMETRY_URL")) != null ? _Fb : readString(env, "NEXT_PUBLIC_TELEMETRY_URL")) != null ? _Hb : (_Gb = base == null ? void 0 : base.telemetry) == null ? void 0 : _Gb.url) != null ? _Ib : process.env.NODE_ENV === "development" ? "http://localhost:3001/api/telemetry" : "https://retrivora.com/api/telemetry"
|
|
3213
3213
|
}
|
|
3214
3214
|
}, readString(env, "GRAPH_DB_PROVIDER") ? {
|
|
3215
3215
|
graphDb: {
|
|
@@ -5248,6 +5248,147 @@ var ConfigValidator = class {
|
|
|
5248
5248
|
}
|
|
5249
5249
|
};
|
|
5250
5250
|
|
|
5251
|
+
// package.json
|
|
5252
|
+
var package_default = {
|
|
5253
|
+
name: "@retrivora-ai/rag-engine",
|
|
5254
|
+
version: "2.1.5",
|
|
5255
|
+
description: "Retrivora AI is a plug-and-play AI engine for RAG chat experiences \u2014 generic vector DB + LLM provider, embeddable or standalone.",
|
|
5256
|
+
author: "Abhinav Alkuchi",
|
|
5257
|
+
license: "UNLICENSED",
|
|
5258
|
+
keywords: [
|
|
5259
|
+
"rag",
|
|
5260
|
+
"retrieval-augmented-generation",
|
|
5261
|
+
"chatbot",
|
|
5262
|
+
"vector-database",
|
|
5263
|
+
"pinecone",
|
|
5264
|
+
"pgvector",
|
|
5265
|
+
"postgresql",
|
|
5266
|
+
"milvus",
|
|
5267
|
+
"qdrant",
|
|
5268
|
+
"chromadb",
|
|
5269
|
+
"redis",
|
|
5270
|
+
"weaviate",
|
|
5271
|
+
"mongodb",
|
|
5272
|
+
"openai",
|
|
5273
|
+
"anthropic",
|
|
5274
|
+
"ollama",
|
|
5275
|
+
"nextjs",
|
|
5276
|
+
"react",
|
|
5277
|
+
"ai",
|
|
5278
|
+
"llm",
|
|
5279
|
+
"embeddings"
|
|
5280
|
+
],
|
|
5281
|
+
main: "dist/index.js",
|
|
5282
|
+
module: "dist/index.mjs",
|
|
5283
|
+
types: "dist/index.d.ts",
|
|
5284
|
+
exports: {
|
|
5285
|
+
".": {
|
|
5286
|
+
types: "./dist/index.d.ts",
|
|
5287
|
+
require: "./dist/index.js",
|
|
5288
|
+
import: "./dist/index.mjs"
|
|
5289
|
+
},
|
|
5290
|
+
"./style.css": "./dist/index.css",
|
|
5291
|
+
"./handlers": {
|
|
5292
|
+
types: "./dist/handlers/index.d.ts",
|
|
5293
|
+
require: "./dist/handlers/index.js",
|
|
5294
|
+
import: "./dist/handlers/index.mjs"
|
|
5295
|
+
},
|
|
5296
|
+
"./server": {
|
|
5297
|
+
types: "./dist/server.d.ts",
|
|
5298
|
+
require: "./dist/server.js",
|
|
5299
|
+
import: "./dist/server.mjs"
|
|
5300
|
+
}
|
|
5301
|
+
},
|
|
5302
|
+
browser: {
|
|
5303
|
+
child_process: false,
|
|
5304
|
+
fs: false,
|
|
5305
|
+
net: false,
|
|
5306
|
+
tls: false,
|
|
5307
|
+
crypto: false,
|
|
5308
|
+
os: false,
|
|
5309
|
+
path: false,
|
|
5310
|
+
stream: false,
|
|
5311
|
+
http: false,
|
|
5312
|
+
https: false,
|
|
5313
|
+
zlib: false,
|
|
5314
|
+
mongodb: false,
|
|
5315
|
+
pg: false,
|
|
5316
|
+
"pdf-parse": false,
|
|
5317
|
+
mammoth: false
|
|
5318
|
+
},
|
|
5319
|
+
files: [
|
|
5320
|
+
"dist",
|
|
5321
|
+
"src",
|
|
5322
|
+
".env.example",
|
|
5323
|
+
"README.md",
|
|
5324
|
+
"FREE_TIER_ARCHITECTURE.md"
|
|
5325
|
+
],
|
|
5326
|
+
scripts: {
|
|
5327
|
+
dev: "npx @tailwindcss/cli -i src/tailwind.css -o src/index.css && tsup src/index.ts src/handlers/index.ts src/server.ts --format cjs,esm --watch --tsconfig tsconfig.build.json --external react,react-dom,next,mongodb,pg,openai,@anthropic-ai/sdk,@pinecone-database/pinecone,axios,lucide-react,mammoth,pdf-parse,xlsx,react-markdown,remark-gfm,next-themes,langchain,@langchain/core,@langchain/openai,llamaindex --inject-style",
|
|
5328
|
+
build: "npm run build:pkg",
|
|
5329
|
+
"build:pkg": "npx @tailwindcss/cli -i src/tailwind.css -o src/index.css && tsup src/index.ts src/handlers/index.ts src/server.ts --format cjs,esm --dts --clean --no-splitting --tsconfig tsconfig.build.json --external react,react-dom,next,mongodb,pg,openai,@anthropic-ai/sdk,@pinecone-database/pinecone,axios,lucide-react,mammoth,pdf-parse,xlsx,react-markdown,remark-gfm,next-themes,langchain,@langchain/core,@langchain/openai,llamaindex --inject-style && npx @tailwindcss/cli -i src/tailwind.css -o dist/index.css",
|
|
5330
|
+
lint: "eslint",
|
|
5331
|
+
clean: "rm -rf dist"
|
|
5332
|
+
},
|
|
5333
|
+
peerDependencies: {
|
|
5334
|
+
next: ">=15.0.0",
|
|
5335
|
+
react: ">=18.0.0",
|
|
5336
|
+
"react-dom": ">=18.0.0"
|
|
5337
|
+
},
|
|
5338
|
+
peerDependenciesMeta: {
|
|
5339
|
+
next: {
|
|
5340
|
+
optional: true
|
|
5341
|
+
}
|
|
5342
|
+
},
|
|
5343
|
+
dependencies: {
|
|
5344
|
+
"@anthropic-ai/sdk": "^0.95.1",
|
|
5345
|
+
"@google/genai": "^0.8.0",
|
|
5346
|
+
"@google/generative-ai": "^0.24.1",
|
|
5347
|
+
"@pinecone-database/pinecone": "^7.2.0",
|
|
5348
|
+
"@types/papaparse": "^5.5.2",
|
|
5349
|
+
axios: "^1.15.0",
|
|
5350
|
+
"lucide-react": "^1.8.0",
|
|
5351
|
+
"next-themes": "^0.4.6",
|
|
5352
|
+
openai: "^6.34.0",
|
|
5353
|
+
papaparse: "^5.5.3",
|
|
5354
|
+
"react-is": "^18.3.1",
|
|
5355
|
+
"react-markdown": "^10.1.0",
|
|
5356
|
+
recharts: "^3.8.1",
|
|
5357
|
+
"remark-gfm": "^4.0.1",
|
|
5358
|
+
xlsx: "^0.18.5"
|
|
5359
|
+
},
|
|
5360
|
+
optionalDependencies: {
|
|
5361
|
+
"@langchain/core": "^1.1.42",
|
|
5362
|
+
"@langchain/openai": "^1.4.5",
|
|
5363
|
+
langchain: "^1.3.5",
|
|
5364
|
+
llamaindex: "^0.11.9",
|
|
5365
|
+
mammoth: "^1.8.0",
|
|
5366
|
+
mongodb: "^7.1.1",
|
|
5367
|
+
"pdf-parse": "^1.1.1",
|
|
5368
|
+
pg: "^8.20.0"
|
|
5369
|
+
},
|
|
5370
|
+
devDependencies: {
|
|
5371
|
+
"@tailwindcss/cli": "^4",
|
|
5372
|
+
"@tailwindcss/postcss": "^4",
|
|
5373
|
+
"@types/estree": "^1.0.9",
|
|
5374
|
+
"@types/node": "^20",
|
|
5375
|
+
"@types/pdf-parse": "^1.1.5",
|
|
5376
|
+
"@types/pg": "^8.20.0",
|
|
5377
|
+
"@types/react": "^19.2.14",
|
|
5378
|
+
"@types/react-dom": "^19.2.3",
|
|
5379
|
+
dotenv: "^17.4.2",
|
|
5380
|
+
eslint: "^9",
|
|
5381
|
+
"eslint-config-next": "16.2.4",
|
|
5382
|
+
next: "16.2.10",
|
|
5383
|
+
tailwindcss: "^4",
|
|
5384
|
+
tsup: "^8.5.1",
|
|
5385
|
+
typescript: "^5"
|
|
5386
|
+
}
|
|
5387
|
+
};
|
|
5388
|
+
|
|
5389
|
+
// src/version.ts
|
|
5390
|
+
var SDK_VERSION = package_default.version || "2.1.3";
|
|
5391
|
+
|
|
5251
5392
|
// src/rag/DocumentChunker.ts
|
|
5252
5393
|
var DocumentChunker = class {
|
|
5253
5394
|
constructor(chunkSize = 1e3, chunkOverlap = 200, separators = ["\n# ", "\n## ", "\n### ", "\n#### ", "\n\n", "\n", " ", ""]) {
|
|
@@ -9531,6 +9672,7 @@ ${context}`;
|
|
|
9531
9672
|
const telemetryUrl = ((_B = this.config.telemetry) == null ? void 0 : _B.url) || process.env.TELEMETRY_URL || process.env.NEXT_PUBLIC_TELEMETRY_URL || defaultUrl;
|
|
9532
9673
|
const absoluteUrl = telemetryUrl.startsWith("http") ? telemetryUrl : (process.env.NEXT_PUBLIC_APP_URL || `http://localhost:${process.env.PORT || 3e3}`) + telemetryUrl;
|
|
9533
9674
|
(async () => {
|
|
9675
|
+
var _a3, _b2, _c2, _d2, _e2;
|
|
9534
9676
|
try {
|
|
9535
9677
|
let finalTrace = trace;
|
|
9536
9678
|
if (!awaitHallucination && runHallucination) {
|
|
@@ -9539,6 +9681,12 @@ ${context}`;
|
|
|
9539
9681
|
finalTrace = buildTrace(backgroundScoreResult);
|
|
9540
9682
|
}
|
|
9541
9683
|
}
|
|
9684
|
+
const modelName = (finalTrace == null ? void 0 : finalTrace.model) || ((_a3 = this.config.llm) == null ? void 0 : _a3.model) || "llama-3.1-8b-instant";
|
|
9685
|
+
const providerName = (finalTrace == null ? void 0 : finalTrace.provider) || ((_b2 = this.config.llm) == null ? void 0 : _b2.provider) || "groq";
|
|
9686
|
+
const tokenCount = Number(((_c2 = finalTrace == null ? void 0 : finalTrace.tokens) == null ? void 0 : _c2.totalTokens) || 0);
|
|
9687
|
+
const costEst = Number(((_d2 = finalTrace == null ? void 0 : finalTrace.tokens) == null ? void 0 : _d2.estimatedCostUsd) || 0);
|
|
9688
|
+
const latencyDuration = Number(((_e2 = finalTrace == null ? void 0 : finalTrace.latency) == null ? void 0 : _e2.totalMs) || 0);
|
|
9689
|
+
console.log(`[Retrivora Pipeline Telemetry] \u{1F4CA} Dispatching RAG telemetry -> Project: "${ns}", Model: "${providerName}/${modelName}", Tokens: ${tokenCount}, Latency: ${latencyDuration}ms`);
|
|
9542
9690
|
await fetch(absoluteUrl, {
|
|
9543
9691
|
method: "POST",
|
|
9544
9692
|
headers: {
|
|
@@ -9547,7 +9695,20 @@ ${context}`;
|
|
|
9547
9695
|
body: JSON.stringify({
|
|
9548
9696
|
trace: finalTrace,
|
|
9549
9697
|
licenseKey: this.config.licenseKey,
|
|
9550
|
-
projectId: ns
|
|
9698
|
+
projectId: ns,
|
|
9699
|
+
organization: process.env.RETRIVORA_ORGANIZATION || "default-org",
|
|
9700
|
+
sdkVersion: SDK_VERSION,
|
|
9701
|
+
model: modelName,
|
|
9702
|
+
provider: providerName,
|
|
9703
|
+
tokens: tokenCount,
|
|
9704
|
+
cost: costEst,
|
|
9705
|
+
costUsd: costEst,
|
|
9706
|
+
latencyMs: latencyDuration,
|
|
9707
|
+
status: "success",
|
|
9708
|
+
action: "RAG_QUERY",
|
|
9709
|
+
feature: "RAG",
|
|
9710
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
9711
|
+
details: `Org: default-org | Model: ${providerName}/${modelName} | Tokens: ${tokenCount} | Latency: ${latencyDuration}ms | Cost: $${costEst} | SDK: v${SDK_VERSION} | Feature: RAG`
|
|
9551
9712
|
})
|
|
9552
9713
|
});
|
|
9553
9714
|
} catch (err) {
|
|
@@ -10943,7 +11104,7 @@ function getOrCreatePlugin(configOrPlugin) {
|
|
|
10943
11104
|
return _g[cacheKey];
|
|
10944
11105
|
}
|
|
10945
11106
|
function reportTelemetry(req, plugin, action, status, details, trace) {
|
|
10946
|
-
var _a2;
|
|
11107
|
+
var _a2, _b, _c, _d, _e, _f, _g2, _h;
|
|
10947
11108
|
try {
|
|
10948
11109
|
const config = plugin.getConfig();
|
|
10949
11110
|
const licenseKey = config.licenseKey || process.env.RAG_LICENSE_KEY || process.env.RETRIVORA_LICENSE_KEY || process.env.NEXT_PUBLIC_RETRIVORA_LICENSE_KEY;
|
|
@@ -10952,29 +11113,49 @@ function reportTelemetry(req, plugin, action, status, details, trace) {
|
|
|
10952
11113
|
const defaultUrl = process.env.NODE_ENV === "development" && !process.env.TELEMETRY_URL && !process.env.NEXT_PUBLIC_TELEMETRY_URL ? "http://localhost:3001/api/telemetry" : "https://retrivora.com/api/telemetry";
|
|
10953
11114
|
const telemetryUrl = (telemetryConfig == null ? void 0 : telemetryConfig.url) || process.env.TELEMETRY_URL || process.env.NEXT_PUBLIC_TELEMETRY_URL || defaultUrl;
|
|
10954
11115
|
const host = req.headers.get("host") || "localhost";
|
|
11116
|
+
const userAgent = req.headers.get("user-agent") || `Retrivora-SDK/${SDK_VERSION}`;
|
|
10955
11117
|
let absoluteUrl = telemetryUrl;
|
|
10956
11118
|
if (!telemetryUrl.startsWith("http")) {
|
|
10957
11119
|
const proto = req.headers.get("x-forwarded-proto") || "http";
|
|
10958
11120
|
absoluteUrl = `${proto}://${host}${telemetryUrl}`;
|
|
10959
11121
|
}
|
|
10960
11122
|
const projectId = config.projectId || "default";
|
|
11123
|
+
const model = (trace == null ? void 0 : trace.model) || ((_b = config.llm) == null ? void 0 : _b.model) || ((_c = config.embedding) == null ? void 0 : _c.model) || "llama-3.1-8b-instant";
|
|
11124
|
+
const provider = (trace == null ? void 0 : trace.provider) || ((_d = config.llm) == null ? void 0 : _d.provider) || ((_e = config.embedding) == null ? void 0 : _e.provider) || "groq";
|
|
11125
|
+
const tokens = Number(((_f = trace == null ? void 0 : trace.tokens) == null ? void 0 : _f.totalTokens) || (trace == null ? void 0 : trace.totalTokens) || 0);
|
|
11126
|
+
const costUsd = Number(((_g2 = trace == null ? void 0 : trace.tokens) == null ? void 0 : _g2.estimatedCostUsd) || (trace == null ? void 0 : trace.costUsd) || 0);
|
|
11127
|
+
const latencyMs = Number(((_h = trace == null ? void 0 : trace.latency) == null ? void 0 : _h.totalMs) || (trace == null ? void 0 : trace.latencyMs) || 0);
|
|
11128
|
+
const payload = {
|
|
11129
|
+
trace,
|
|
11130
|
+
licenseKey,
|
|
11131
|
+
projectId,
|
|
11132
|
+
organization: process.env.RETRIVORA_ORGANIZATION || "default-org",
|
|
11133
|
+
sdkVersion: SDK_VERSION,
|
|
11134
|
+
model,
|
|
11135
|
+
provider,
|
|
11136
|
+
tokens,
|
|
11137
|
+
cost: costUsd,
|
|
11138
|
+
costUsd,
|
|
11139
|
+
latencyMs,
|
|
11140
|
+
status,
|
|
11141
|
+
action,
|
|
11142
|
+
feature: action,
|
|
11143
|
+
userAgent,
|
|
11144
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
11145
|
+
details
|
|
11146
|
+
};
|
|
11147
|
+
console.log(`[Retrivora SDK Telemetry] \u{1F4CA} Dispatching telemetry -> Feature: "${action}", Status: "${status}", Project: "${projectId}", Model: "${provider}/${model}", Latency: ${latencyMs}ms`);
|
|
10961
11148
|
fetch(absoluteUrl, {
|
|
10962
11149
|
method: "POST",
|
|
10963
11150
|
headers: {
|
|
10964
11151
|
"Content-Type": "application/json",
|
|
10965
11152
|
"x-forwarded-for": req.headers.get("x-forwarded-for") || "",
|
|
10966
|
-
"x-real-ip": req.headers.get("x-real-ip") || ""
|
|
11153
|
+
"x-real-ip": req.headers.get("x-real-ip") || "",
|
|
11154
|
+
"user-agent": userAgent
|
|
10967
11155
|
},
|
|
10968
|
-
body: JSON.stringify(
|
|
10969
|
-
trace,
|
|
10970
|
-
licenseKey,
|
|
10971
|
-
projectId,
|
|
10972
|
-
action,
|
|
10973
|
-
status,
|
|
10974
|
-
details
|
|
10975
|
-
})
|
|
11156
|
+
body: JSON.stringify(payload)
|
|
10976
11157
|
}).catch((err) => {
|
|
10977
|
-
console.warn("[Retrivora Telemetry] Async report warning:", err.message);
|
|
11158
|
+
console.warn("[Retrivora SDK Telemetry] Async report warning:", err.message);
|
|
10978
11159
|
});
|
|
10979
11160
|
} catch (e) {
|
|
10980
11161
|
}
|
|
@@ -11077,12 +11258,19 @@ function createStreamHandler(configOrPlugin, options) {
|
|
|
11077
11258
|
const storage = new DatabaseStorage(plugin.getConfig());
|
|
11078
11259
|
const onAuthorize = options == null ? void 0 : options.onAuthorize;
|
|
11079
11260
|
return async function POST(req) {
|
|
11261
|
+
var _a2;
|
|
11080
11262
|
const authResult = await checkAuth(req, onAuthorize);
|
|
11081
11263
|
if (authResult) return authResult;
|
|
11082
11264
|
const rateLimited = checkRateLimit(req);
|
|
11083
11265
|
if (rateLimited) return rateLimited;
|
|
11084
11266
|
let body;
|
|
11085
11267
|
try {
|
|
11268
|
+
if ((_a2 = req.headers.get("content-type")) == null ? void 0 : _a2.includes("multipart/form-data")) {
|
|
11269
|
+
return new Response(JSON.stringify({ error: { code: "INVALID_ENDPOINT", message: "Multipart file upload requests must be sent to the /upload endpoint." } }), {
|
|
11270
|
+
status: 400,
|
|
11271
|
+
headers: { "Content-Type": "application/json" }
|
|
11272
|
+
});
|
|
11273
|
+
}
|
|
11086
11274
|
body = await req.json();
|
|
11087
11275
|
} catch (e) {
|
|
11088
11276
|
return new Response(JSON.stringify({ error: { code: "INVALID_JSON", message: "Invalid JSON body" } }), {
|
|
@@ -11120,7 +11308,7 @@ function createStreamHandler(configOrPlugin, options) {
|
|
|
11120
11308
|
let isActive = true;
|
|
11121
11309
|
const stream = new ReadableStream({
|
|
11122
11310
|
async start(controller) {
|
|
11123
|
-
var
|
|
11311
|
+
var _a3, _b, _c, _d, _e;
|
|
11124
11312
|
const enqueue = (text) => {
|
|
11125
11313
|
if (!isActive) return;
|
|
11126
11314
|
try {
|
|
@@ -11153,7 +11341,7 @@ function createStreamHandler(configOrPlugin, options) {
|
|
|
11153
11341
|
let uiTransformation = responseChunk == null ? void 0 : responseChunk.ui_transformation;
|
|
11154
11342
|
if (sources.length > 0) {
|
|
11155
11343
|
try {
|
|
11156
|
-
uiTransformation = (
|
|
11344
|
+
uiTransformation = (_a3 = responseChunk == null ? void 0 : responseChunk.ui_transformation) != null ? _a3 : UITransformer.transform(message, sources, plugin.getConfig());
|
|
11157
11345
|
if (uiTransformation) {
|
|
11158
11346
|
enqueue(sseUIFrame(uiTransformation));
|
|
11159
11347
|
}
|
|
@@ -11550,16 +11738,32 @@ function createRagHandler(configOrPlugin, options) {
|
|
|
11550
11738
|
return NextResponse.json({ error: `Method Not Allowed: GET segment "${segment}" not supported.` }, { status: 405 });
|
|
11551
11739
|
}
|
|
11552
11740
|
}
|
|
11553
|
-
async function getSegment(context) {
|
|
11554
|
-
var _a2;
|
|
11741
|
+
async function getSegment(req, context) {
|
|
11742
|
+
var _a2, _b;
|
|
11743
|
+
const contentType = req.headers.get("content-type") || "";
|
|
11744
|
+
if (contentType.includes("multipart/form-data")) {
|
|
11745
|
+
return "upload";
|
|
11746
|
+
}
|
|
11747
|
+
try {
|
|
11748
|
+
const url = new URL(req.url);
|
|
11749
|
+
const pathname = url.pathname;
|
|
11750
|
+
if (pathname.endsWith("/upload")) return "upload";
|
|
11751
|
+
if (pathname.endsWith("/chat") || pathname.endsWith("/chat-sync")) return "chat";
|
|
11752
|
+
if (pathname.endsWith("/health")) return "health";
|
|
11753
|
+
if (pathname.endsWith("/suggestions")) return "suggestions";
|
|
11754
|
+
if (pathname.endsWith("/feedback")) return "feedback";
|
|
11755
|
+
if (pathname.endsWith("/history")) return "history";
|
|
11756
|
+
} catch (e) {
|
|
11757
|
+
}
|
|
11555
11758
|
const resolvedParams = typeof ((_a2 = context == null ? void 0 : context.params) == null ? void 0 : _a2.then) === "function" ? await context.params : context == null ? void 0 : context.params;
|
|
11556
|
-
const segments = (resolvedParams == null ? void 0 : resolvedParams.retrivora) || [];
|
|
11557
|
-
|
|
11759
|
+
const segments = (resolvedParams == null ? void 0 : resolvedParams.retrivora) || ((_b = resolvedParams == null ? void 0 : resolvedParams.params) == null ? void 0 : _b.retrivora) || [];
|
|
11760
|
+
const joined = segments.join("/");
|
|
11761
|
+
return joined || "chat";
|
|
11558
11762
|
}
|
|
11559
11763
|
return {
|
|
11560
11764
|
GET: async (req, context) => {
|
|
11561
11765
|
try {
|
|
11562
|
-
const segment = await getSegment(context);
|
|
11766
|
+
const segment = await getSegment(req, context);
|
|
11563
11767
|
return await routeGetRequest(req, segment);
|
|
11564
11768
|
} catch (err) {
|
|
11565
11769
|
const msg = err instanceof Error ? err.message : "GET Routing failed";
|
|
@@ -11568,7 +11772,7 @@ function createRagHandler(configOrPlugin, options) {
|
|
|
11568
11772
|
},
|
|
11569
11773
|
POST: async (req, context) => {
|
|
11570
11774
|
try {
|
|
11571
|
-
const segment = await getSegment(context);
|
|
11775
|
+
const segment = await getSegment(req, context);
|
|
11572
11776
|
return await routePostRequest(req, segment);
|
|
11573
11777
|
} catch (err) {
|
|
11574
11778
|
const msg = err instanceof Error ? err.message : "POST Routing failed";
|
|
@@ -11628,6 +11832,7 @@ export {
|
|
|
11628
11832
|
Rule6SmallResultSetRule,
|
|
11629
11833
|
Rule7LargeTableRule,
|
|
11630
11834
|
RuleEngine,
|
|
11835
|
+
SDK_VERSION,
|
|
11631
11836
|
TableRendererStrategy,
|
|
11632
11837
|
TextRendererStrategy,
|
|
11633
11838
|
UniversalLLMAdapter,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@retrivora-ai/rag-engine",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.5",
|
|
4
4
|
"description": "Retrivora AI is a plug-and-play AI engine for RAG chat experiences — generic vector DB + LLM provider, embeddable or standalone.",
|
|
5
5
|
"author": "Abhinav Alkuchi",
|
|
6
6
|
"license": "UNLICENSED",
|