@retrivora-ai/rag-engine 2.1.2 → 2.1.4
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 +278 -69
- package/dist/handlers/index.mjs +278 -69
- 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 +280 -69
- package/dist/server.mjs +279 -69
- package/package.json +1 -1
- package/src/components/DocumentUpload.tsx +50 -18
- package/src/config/serverConfig.ts +7 -7
- package/src/core/Pipeline.ts +23 -1
- package/src/handlers/index.ts +34 -10
- 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/handlers/index.mjs
CHANGED
|
@@ -576,26 +576,54 @@ function cleanApiKeyOverride(apiKeyOverride) {
|
|
|
576
576
|
}
|
|
577
577
|
return key;
|
|
578
578
|
}
|
|
579
|
+
async function resolveUserGatewayConfig(apiKeyOverride) {
|
|
580
|
+
var _a2;
|
|
581
|
+
if (!apiKeyOverride || !process.env.NEXT_PUBLIC_SUPABASE_URL || !process.env.SUPABASE_SERVICE_ROLE_KEY) {
|
|
582
|
+
return {};
|
|
583
|
+
}
|
|
584
|
+
try {
|
|
585
|
+
const { createAdminClient } = await import("@/lib/supabase-server");
|
|
586
|
+
const supabase = createAdminClient();
|
|
587
|
+
const { data: licenseRecord } = await supabase.from("licenses").select("project_id, customer_name, tier").eq("license_key", apiKeyOverride.trim()).single();
|
|
588
|
+
if (!licenseRecord) {
|
|
589
|
+
return {};
|
|
590
|
+
}
|
|
591
|
+
const projectId = licenseRecord.project_id;
|
|
592
|
+
const { data: configs } = await supabase.from("gateway_config").select("project_id, default_model, provider_keys, is_active").in("project_id", [projectId, "global"]).eq("is_active", true);
|
|
593
|
+
if (!configs || configs.length === 0) {
|
|
594
|
+
return {};
|
|
595
|
+
}
|
|
596
|
+
const matchedConfig = configs.find((c) => c.project_id === projectId) || configs.find((c) => c.project_id === "global");
|
|
597
|
+
const customGroqKey = (_a2 = matchedConfig == null ? void 0 : matchedConfig.provider_keys) == null ? void 0 : _a2.groq;
|
|
598
|
+
const targetModel = matchedConfig == null ? void 0 : matchedConfig.default_model;
|
|
599
|
+
return { customGroqKey, targetModel };
|
|
600
|
+
} catch (err) {
|
|
601
|
+
console.warn("[LLM Gateway Router] Error resolving user gateway_config:", err.message);
|
|
602
|
+
return {};
|
|
603
|
+
}
|
|
604
|
+
}
|
|
579
605
|
async function dispatchChatCompletion(req, apiKeyOverride) {
|
|
580
|
-
const
|
|
581
|
-
const
|
|
582
|
-
|
|
606
|
+
const { customGroqKey, targetModel } = await resolveUserGatewayConfig(apiKeyOverride);
|
|
607
|
+
const effectiveKey = customGroqKey || cleanApiKeyOverride(apiKeyOverride);
|
|
608
|
+
const activeModel = req.model || targetModel || "llama-3.1-8b-instant";
|
|
609
|
+
const provider = resolveProvider(activeModel);
|
|
610
|
+
console.log(`[LLM Gateway Router] Dispatching chat request: model=${activeModel}, provider=${provider}, hasCustomKey=${Boolean(customGroqKey)}, hasGlobalGroqKey=${Boolean(process.env.GROQ_API_KEY)}`);
|
|
583
611
|
try {
|
|
584
612
|
switch (provider) {
|
|
585
613
|
case "groq":
|
|
586
|
-
return await handleGroqRequest(req, effectiveKey);
|
|
614
|
+
return await handleGroqRequest(__spreadProps(__spreadValues({}, req), { model: activeModel }), effectiveKey);
|
|
587
615
|
case "openai":
|
|
588
|
-
return await handleOpenAIRequest(req, effectiveKey);
|
|
616
|
+
return await handleOpenAIRequest(__spreadProps(__spreadValues({}, req), { model: activeModel }), effectiveKey);
|
|
589
617
|
case "gemini":
|
|
590
|
-
return await handleGeminiRequest(req, effectiveKey);
|
|
618
|
+
return await handleGeminiRequest(__spreadProps(__spreadValues({}, req), { model: activeModel }), effectiveKey);
|
|
591
619
|
case "anthropic":
|
|
592
|
-
return await handleAnthropicRequest(req, effectiveKey);
|
|
620
|
+
return await handleAnthropicRequest(__spreadProps(__spreadValues({}, req), { model: activeModel }), effectiveKey);
|
|
593
621
|
case "ollama":
|
|
594
|
-
return await handleOllamaRequest(req);
|
|
622
|
+
return await handleOllamaRequest(__spreadProps(__spreadValues({}, req), { model: activeModel }));
|
|
595
623
|
case "huggingface":
|
|
596
|
-
return await handleHuggingFaceChatRequest(req, effectiveKey);
|
|
624
|
+
return await handleHuggingFaceChatRequest(__spreadProps(__spreadValues({}, req), { model: activeModel }), effectiveKey);
|
|
597
625
|
default:
|
|
598
|
-
throw new Error(`Unsupported LLM provider for model: ${
|
|
626
|
+
throw new Error(`Unsupported LLM provider for model: ${activeModel}`);
|
|
599
627
|
}
|
|
600
628
|
} catch (error) {
|
|
601
629
|
console.error(`[LLM Gateway Router] Provider '${provider}' failed for model '${req.model}':`, {
|
|
@@ -3017,7 +3045,7 @@ function readEnum(env, name, fallback, allowed) {
|
|
|
3017
3045
|
throw new Error(`[getRagConfig] ${name} must be one of: ${allowed.join(", ")}`);
|
|
3018
3046
|
}
|
|
3019
3047
|
function getEnvConfig(env = process.env, base) {
|
|
3020
|
-
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;
|
|
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;
|
|
3021
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__";
|
|
3022
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;
|
|
3023
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);
|
|
@@ -3025,38 +3053,38 @@ function getEnvConfig(env = process.env, base) {
|
|
|
3025
3053
|
const embeddingDimensions = readNumber(env, "EMBEDDING_DIMENSIONS", 768);
|
|
3026
3054
|
const vectorDbOptions = {};
|
|
3027
3055
|
if (vectorProvider === "pinecone") {
|
|
3028
|
-
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 : "";
|
|
3029
|
-
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";
|
|
3030
3058
|
} else if (vectorProvider === "pgvector" || vectorProvider === "postgresql") {
|
|
3031
|
-
vectorDbOptions.connectionString = (
|
|
3032
|
-
vectorDbOptions.tables = (
|
|
3033
|
-
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;
|
|
3034
3062
|
vectorDbOptions.dimensions = embeddingDimensions;
|
|
3035
3063
|
} else if (vectorProvider === "mongodb") {
|
|
3036
|
-
vectorDbOptions.uri = (
|
|
3037
|
-
vectorDbOptions.database = (
|
|
3038
|
-
vectorDbOptions.collection = (
|
|
3039
|
-
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";
|
|
3040
3068
|
} else if (vectorProvider === "qdrant") {
|
|
3041
|
-
vectorDbOptions.baseUrl = (
|
|
3042
|
-
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;
|
|
3043
3071
|
vectorDbOptions.dimensions = embeddingDimensions;
|
|
3044
3072
|
} else if (vectorProvider === "milvus") {
|
|
3045
|
-
vectorDbOptions.baseUrl = (
|
|
3073
|
+
vectorDbOptions.baseUrl = (_fa = readString(env, "MILVUS_URL")) != null ? _fa : "http://localhost:19530";
|
|
3046
3074
|
vectorDbOptions.apiKey = readString(env, "MILVUS_API_KEY");
|
|
3047
3075
|
} else if (vectorProvider === "chromadb") {
|
|
3048
|
-
vectorDbOptions.baseUrl = (
|
|
3076
|
+
vectorDbOptions.baseUrl = (_ga = readString(env, "CHROMADB_URL")) != null ? _ga : "http://localhost:8000";
|
|
3049
3077
|
} else if (vectorProvider === "weaviate") {
|
|
3050
|
-
vectorDbOptions.baseUrl = (
|
|
3078
|
+
vectorDbOptions.baseUrl = (_ha = readString(env, "WEAVIATE_URL")) != null ? _ha : "http://localhost:8080";
|
|
3051
3079
|
vectorDbOptions.apiKey = readString(env, "WEAVIATE_API_KEY");
|
|
3052
3080
|
} else if (vectorProvider === "redis") {
|
|
3053
|
-
vectorDbOptions.baseUrl = (
|
|
3081
|
+
vectorDbOptions.baseUrl = (_ia = readString(env, "REDIS_URL")) != null ? _ia : "";
|
|
3054
3082
|
vectorDbOptions.apiKey = readString(env, "REDIS_API_KEY");
|
|
3055
3083
|
} else if (vectorProvider === "rest") {
|
|
3056
|
-
vectorDbOptions.baseUrl = (
|
|
3084
|
+
vectorDbOptions.baseUrl = (_ja = readString(env, "VECTOR_DB_REST_URL")) != null ? _ja : "";
|
|
3057
3085
|
vectorDbOptions.headers = readString(env, "VECTOR_DB_REST_API_KEY") ? { "api-key": readString(env, "VECTOR_DB_REST_API_KEY") } : {};
|
|
3058
3086
|
} else if (vectorProvider === "universal_rest") {
|
|
3059
|
-
vectorDbOptions.baseUrl = (
|
|
3087
|
+
vectorDbOptions.baseUrl = (_la = (_ka = readString(env, "VECTOR_BASE_URL")) != null ? _ka : readString(env, "VECTOR_DB_REST_URL")) != null ? _la : "";
|
|
3060
3088
|
vectorDbOptions.profile = readString(env, "VECTOR_UNIVERSAL_PROFILE");
|
|
3061
3089
|
vectorDbOptions.headers = readString(env, "VECTOR_DB_REST_API_KEY") ? { Authorization: `Bearer ${readString(env, "VECTOR_DB_REST_API_KEY")}` } : {};
|
|
3062
3090
|
}
|
|
@@ -3075,8 +3103,8 @@ function getEnvConfig(env = process.env, base) {
|
|
|
3075
3103
|
// Anthropic needs a separate embedding provider; key kept for completeness
|
|
3076
3104
|
gemini: readString(env, "GEMINI_API_KEY"),
|
|
3077
3105
|
ollama: void 0,
|
|
3078
|
-
universal_rest: (
|
|
3079
|
-
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")
|
|
3080
3108
|
};
|
|
3081
3109
|
const DEFAULT_MODEL_BY_PROVIDER = {
|
|
3082
3110
|
openai: "gpt-4o",
|
|
@@ -3097,25 +3125,25 @@ function getEnvConfig(env = process.env, base) {
|
|
|
3097
3125
|
return true;
|
|
3098
3126
|
}
|
|
3099
3127
|
})();
|
|
3100
|
-
const
|
|
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";
|
|
3101
3129
|
const defaultLlmProvider = isFreeTier ? "universal_rest" : "universal_rest";
|
|
3102
|
-
const llmProvider = (
|
|
3103
|
-
const llmBaseUrl = (
|
|
3104
|
-
const llmModel = (
|
|
3105
|
-
const llmApiKey = (
|
|
3106
|
-
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";
|
|
3107
3135
|
const defaultEmbeddingProvider = isFreeTier ? "universal_rest" : "universal_rest";
|
|
3108
|
-
const embeddingProvider = (
|
|
3109
|
-
const embeddingBaseUrl = (
|
|
3110
|
-
const embeddingModel = (
|
|
3111
|
-
const embeddingApiKey = (
|
|
3112
|
-
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";
|
|
3113
3141
|
return __spreadProps(__spreadValues({
|
|
3114
3142
|
projectId,
|
|
3115
3143
|
licenseKey,
|
|
3116
3144
|
vectorDb: {
|
|
3117
3145
|
provider: vectorProvider,
|
|
3118
|
-
indexName: (
|
|
3146
|
+
indexName: (_gb = (_fb = readString(env, "VECTOR_DB_INDEX")) != null ? _fb : vectorDbOptions.indexName) != null ? _gb : "rag-index",
|
|
3119
3147
|
options: vectorDbOptions
|
|
3120
3148
|
},
|
|
3121
3149
|
llm: {
|
|
@@ -3145,30 +3173,30 @@ function getEnvConfig(env = process.env, base) {
|
|
|
3145
3173
|
}
|
|
3146
3174
|
},
|
|
3147
3175
|
ui: {
|
|
3148
|
-
title: (
|
|
3149
|
-
subtitle: (
|
|
3150
|
-
primaryColor: (
|
|
3151
|
-
accentColor: (
|
|
3152
|
-
logoUrl: (
|
|
3153
|
-
placeholder: (
|
|
3154
|
-
showSources: ((
|
|
3155
|
-
welcomeMessage: (
|
|
3156
|
-
visualStyle: (
|
|
3157
|
-
borderRadius: (
|
|
3158
|
-
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"
|
|
3159
3187
|
},
|
|
3160
3188
|
rag: {
|
|
3161
3189
|
topK: readNumber(env, "RAG_TOP_K", 5),
|
|
3162
3190
|
scoreThreshold: readNumber(env, "RAG_SCORE_THRESHOLD", 0),
|
|
3163
3191
|
chunkSize: readNumber(env, "RAG_CHUNK_SIZE", 1e3),
|
|
3164
3192
|
chunkOverlap: readNumber(env, "RAG_CHUNK_OVERLAP", 200),
|
|
3165
|
-
filterableFields: (
|
|
3193
|
+
filterableFields: (_Cb = readString(env, "RAG_FILTERABLE_FIELDS")) == null ? void 0 : _Cb.split(",").map((f) => f.trim()),
|
|
3166
3194
|
// Query pipeline toggles — read from .env.local
|
|
3167
3195
|
useQueryTransformation: readString(env, "RAG_USE_QUERY_TRANSFORMATION") === "true",
|
|
3168
3196
|
useReranking: readString(env, "RAG_USE_RERANKING") === "true",
|
|
3169
3197
|
useGraphRetrieval: readString(env, "RAG_USE_GRAPH_RETRIEVAL") === "true",
|
|
3170
|
-
architecture: (
|
|
3171
|
-
chunkingStrategy: (
|
|
3198
|
+
architecture: (_Db = readString(env, "RAG_ARCHITECTURE")) != null ? _Db : "simple",
|
|
3199
|
+
chunkingStrategy: (_Eb = readString(env, "RAG_CHUNKING_STRATEGY")) != null ? _Eb : "recursive",
|
|
3172
3200
|
uiMapping: (() => {
|
|
3173
3201
|
const raw = readString(env, "RAG_UI_MAPPING");
|
|
3174
3202
|
if (!raw) return void 0;
|
|
@@ -3181,7 +3209,7 @@ function getEnvConfig(env = process.env, base) {
|
|
|
3181
3209
|
},
|
|
3182
3210
|
telemetry: {
|
|
3183
3211
|
enabled: telemetryEnabled,
|
|
3184
|
-
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"
|
|
3185
3213
|
}
|
|
3186
3214
|
}, readString(env, "GRAPH_DB_PROVIDER") ? {
|
|
3187
3215
|
graphDb: {
|
|
@@ -5181,6 +5209,147 @@ var ConfigValidator = class {
|
|
|
5181
5209
|
}
|
|
5182
5210
|
};
|
|
5183
5211
|
|
|
5212
|
+
// package.json
|
|
5213
|
+
var package_default = {
|
|
5214
|
+
name: "@retrivora-ai/rag-engine",
|
|
5215
|
+
version: "2.1.4",
|
|
5216
|
+
description: "Retrivora AI is a plug-and-play AI engine for RAG chat experiences \u2014 generic vector DB + LLM provider, embeddable or standalone.",
|
|
5217
|
+
author: "Abhinav Alkuchi",
|
|
5218
|
+
license: "UNLICENSED",
|
|
5219
|
+
keywords: [
|
|
5220
|
+
"rag",
|
|
5221
|
+
"retrieval-augmented-generation",
|
|
5222
|
+
"chatbot",
|
|
5223
|
+
"vector-database",
|
|
5224
|
+
"pinecone",
|
|
5225
|
+
"pgvector",
|
|
5226
|
+
"postgresql",
|
|
5227
|
+
"milvus",
|
|
5228
|
+
"qdrant",
|
|
5229
|
+
"chromadb",
|
|
5230
|
+
"redis",
|
|
5231
|
+
"weaviate",
|
|
5232
|
+
"mongodb",
|
|
5233
|
+
"openai",
|
|
5234
|
+
"anthropic",
|
|
5235
|
+
"ollama",
|
|
5236
|
+
"nextjs",
|
|
5237
|
+
"react",
|
|
5238
|
+
"ai",
|
|
5239
|
+
"llm",
|
|
5240
|
+
"embeddings"
|
|
5241
|
+
],
|
|
5242
|
+
main: "dist/index.js",
|
|
5243
|
+
module: "dist/index.mjs",
|
|
5244
|
+
types: "dist/index.d.ts",
|
|
5245
|
+
exports: {
|
|
5246
|
+
".": {
|
|
5247
|
+
types: "./dist/index.d.ts",
|
|
5248
|
+
require: "./dist/index.js",
|
|
5249
|
+
import: "./dist/index.mjs"
|
|
5250
|
+
},
|
|
5251
|
+
"./style.css": "./dist/index.css",
|
|
5252
|
+
"./handlers": {
|
|
5253
|
+
types: "./dist/handlers/index.d.ts",
|
|
5254
|
+
require: "./dist/handlers/index.js",
|
|
5255
|
+
import: "./dist/handlers/index.mjs"
|
|
5256
|
+
},
|
|
5257
|
+
"./server": {
|
|
5258
|
+
types: "./dist/server.d.ts",
|
|
5259
|
+
require: "./dist/server.js",
|
|
5260
|
+
import: "./dist/server.mjs"
|
|
5261
|
+
}
|
|
5262
|
+
},
|
|
5263
|
+
browser: {
|
|
5264
|
+
child_process: false,
|
|
5265
|
+
fs: false,
|
|
5266
|
+
net: false,
|
|
5267
|
+
tls: false,
|
|
5268
|
+
crypto: false,
|
|
5269
|
+
os: false,
|
|
5270
|
+
path: false,
|
|
5271
|
+
stream: false,
|
|
5272
|
+
http: false,
|
|
5273
|
+
https: false,
|
|
5274
|
+
zlib: false,
|
|
5275
|
+
mongodb: false,
|
|
5276
|
+
pg: false,
|
|
5277
|
+
"pdf-parse": false,
|
|
5278
|
+
mammoth: false
|
|
5279
|
+
},
|
|
5280
|
+
files: [
|
|
5281
|
+
"dist",
|
|
5282
|
+
"src",
|
|
5283
|
+
".env.example",
|
|
5284
|
+
"README.md",
|
|
5285
|
+
"FREE_TIER_ARCHITECTURE.md"
|
|
5286
|
+
],
|
|
5287
|
+
scripts: {
|
|
5288
|
+
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",
|
|
5289
|
+
build: "npm run build:pkg",
|
|
5290
|
+
"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",
|
|
5291
|
+
lint: "eslint",
|
|
5292
|
+
clean: "rm -rf dist"
|
|
5293
|
+
},
|
|
5294
|
+
peerDependencies: {
|
|
5295
|
+
next: ">=15.0.0",
|
|
5296
|
+
react: ">=18.0.0",
|
|
5297
|
+
"react-dom": ">=18.0.0"
|
|
5298
|
+
},
|
|
5299
|
+
peerDependenciesMeta: {
|
|
5300
|
+
next: {
|
|
5301
|
+
optional: true
|
|
5302
|
+
}
|
|
5303
|
+
},
|
|
5304
|
+
dependencies: {
|
|
5305
|
+
"@anthropic-ai/sdk": "^0.95.1",
|
|
5306
|
+
"@google/genai": "^0.8.0",
|
|
5307
|
+
"@google/generative-ai": "^0.24.1",
|
|
5308
|
+
"@pinecone-database/pinecone": "^7.2.0",
|
|
5309
|
+
"@types/papaparse": "^5.5.2",
|
|
5310
|
+
axios: "^1.15.0",
|
|
5311
|
+
"lucide-react": "^1.8.0",
|
|
5312
|
+
"next-themes": "^0.4.6",
|
|
5313
|
+
openai: "^6.34.0",
|
|
5314
|
+
papaparse: "^5.5.3",
|
|
5315
|
+
"react-is": "^18.3.1",
|
|
5316
|
+
"react-markdown": "^10.1.0",
|
|
5317
|
+
recharts: "^3.8.1",
|
|
5318
|
+
"remark-gfm": "^4.0.1",
|
|
5319
|
+
xlsx: "^0.18.5"
|
|
5320
|
+
},
|
|
5321
|
+
optionalDependencies: {
|
|
5322
|
+
"@langchain/core": "^1.1.42",
|
|
5323
|
+
"@langchain/openai": "^1.4.5",
|
|
5324
|
+
langchain: "^1.3.5",
|
|
5325
|
+
llamaindex: "^0.11.9",
|
|
5326
|
+
mammoth: "^1.8.0",
|
|
5327
|
+
mongodb: "^7.1.1",
|
|
5328
|
+
"pdf-parse": "^1.1.1",
|
|
5329
|
+
pg: "^8.20.0"
|
|
5330
|
+
},
|
|
5331
|
+
devDependencies: {
|
|
5332
|
+
"@tailwindcss/cli": "^4",
|
|
5333
|
+
"@tailwindcss/postcss": "^4",
|
|
5334
|
+
"@types/estree": "^1.0.9",
|
|
5335
|
+
"@types/node": "^20",
|
|
5336
|
+
"@types/pdf-parse": "^1.1.5",
|
|
5337
|
+
"@types/pg": "^8.20.0",
|
|
5338
|
+
"@types/react": "^19.2.14",
|
|
5339
|
+
"@types/react-dom": "^19.2.3",
|
|
5340
|
+
dotenv: "^17.4.2",
|
|
5341
|
+
eslint: "^9",
|
|
5342
|
+
"eslint-config-next": "16.2.4",
|
|
5343
|
+
next: "16.2.10",
|
|
5344
|
+
tailwindcss: "^4",
|
|
5345
|
+
tsup: "^8.5.1",
|
|
5346
|
+
typescript: "^5"
|
|
5347
|
+
}
|
|
5348
|
+
};
|
|
5349
|
+
|
|
5350
|
+
// src/version.ts
|
|
5351
|
+
var SDK_VERSION = package_default.version || "2.1.3";
|
|
5352
|
+
|
|
5184
5353
|
// src/rag/DocumentChunker.ts
|
|
5185
5354
|
var DocumentChunker = class {
|
|
5186
5355
|
constructor(chunkSize = 1e3, chunkOverlap = 200, separators = ["\n# ", "\n## ", "\n### ", "\n#### ", "\n\n", "\n", " ", ""]) {
|
|
@@ -9450,6 +9619,7 @@ ${context}`;
|
|
|
9450
9619
|
const telemetryUrl = ((_B = this.config.telemetry) == null ? void 0 : _B.url) || process.env.TELEMETRY_URL || process.env.NEXT_PUBLIC_TELEMETRY_URL || defaultUrl;
|
|
9451
9620
|
const absoluteUrl = telemetryUrl.startsWith("http") ? telemetryUrl : (process.env.NEXT_PUBLIC_APP_URL || `http://localhost:${process.env.PORT || 3e3}`) + telemetryUrl;
|
|
9452
9621
|
(async () => {
|
|
9622
|
+
var _a3, _b2, _c2, _d2, _e2;
|
|
9453
9623
|
try {
|
|
9454
9624
|
let finalTrace = trace;
|
|
9455
9625
|
if (!awaitHallucination && runHallucination) {
|
|
@@ -9458,6 +9628,12 @@ ${context}`;
|
|
|
9458
9628
|
finalTrace = buildTrace(backgroundScoreResult);
|
|
9459
9629
|
}
|
|
9460
9630
|
}
|
|
9631
|
+
const modelName = (finalTrace == null ? void 0 : finalTrace.model) || ((_a3 = this.config.llm) == null ? void 0 : _a3.model) || "llama-3.1-8b-instant";
|
|
9632
|
+
const providerName = (finalTrace == null ? void 0 : finalTrace.provider) || ((_b2 = this.config.llm) == null ? void 0 : _b2.provider) || "groq";
|
|
9633
|
+
const tokenCount = Number(((_c2 = finalTrace == null ? void 0 : finalTrace.tokens) == null ? void 0 : _c2.totalTokens) || 0);
|
|
9634
|
+
const costEst = Number(((_d2 = finalTrace == null ? void 0 : finalTrace.tokens) == null ? void 0 : _d2.estimatedCostUsd) || 0);
|
|
9635
|
+
const latencyDuration = Number(((_e2 = finalTrace == null ? void 0 : finalTrace.latency) == null ? void 0 : _e2.totalMs) || 0);
|
|
9636
|
+
console.log(`[Retrivora Pipeline Telemetry] \u{1F4CA} Dispatching RAG telemetry -> Project: "${ns}", Model: "${providerName}/${modelName}", Tokens: ${tokenCount}, Latency: ${latencyDuration}ms`);
|
|
9461
9637
|
await fetch(absoluteUrl, {
|
|
9462
9638
|
method: "POST",
|
|
9463
9639
|
headers: {
|
|
@@ -9466,7 +9642,20 @@ ${context}`;
|
|
|
9466
9642
|
body: JSON.stringify({
|
|
9467
9643
|
trace: finalTrace,
|
|
9468
9644
|
licenseKey: this.config.licenseKey,
|
|
9469
|
-
projectId: ns
|
|
9645
|
+
projectId: ns,
|
|
9646
|
+
organization: process.env.RETRIVORA_ORGANIZATION || "default-org",
|
|
9647
|
+
sdkVersion: SDK_VERSION,
|
|
9648
|
+
model: modelName,
|
|
9649
|
+
provider: providerName,
|
|
9650
|
+
tokens: tokenCount,
|
|
9651
|
+
cost: costEst,
|
|
9652
|
+
costUsd: costEst,
|
|
9653
|
+
latencyMs: latencyDuration,
|
|
9654
|
+
status: "success",
|
|
9655
|
+
action: "RAG_QUERY",
|
|
9656
|
+
feature: "RAG",
|
|
9657
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
9658
|
+
details: `Org: default-org | Model: ${providerName}/${modelName} | Tokens: ${tokenCount} | Latency: ${latencyDuration}ms | Cost: $${costEst} | SDK: v${SDK_VERSION} | Feature: RAG`
|
|
9470
9659
|
})
|
|
9471
9660
|
});
|
|
9472
9661
|
} catch (err) {
|
|
@@ -10563,7 +10752,7 @@ function getOrCreatePlugin(configOrPlugin) {
|
|
|
10563
10752
|
return _g[cacheKey];
|
|
10564
10753
|
}
|
|
10565
10754
|
function reportTelemetry(req, plugin, action, status, details, trace) {
|
|
10566
|
-
var _a2;
|
|
10755
|
+
var _a2, _b, _c, _d, _e, _f, _g2, _h;
|
|
10567
10756
|
try {
|
|
10568
10757
|
const config = plugin.getConfig();
|
|
10569
10758
|
const licenseKey = config.licenseKey || process.env.RAG_LICENSE_KEY || process.env.RETRIVORA_LICENSE_KEY || process.env.NEXT_PUBLIC_RETRIVORA_LICENSE_KEY;
|
|
@@ -10572,29 +10761,49 @@ function reportTelemetry(req, plugin, action, status, details, trace) {
|
|
|
10572
10761
|
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";
|
|
10573
10762
|
const telemetryUrl = (telemetryConfig == null ? void 0 : telemetryConfig.url) || process.env.TELEMETRY_URL || process.env.NEXT_PUBLIC_TELEMETRY_URL || defaultUrl;
|
|
10574
10763
|
const host = req.headers.get("host") || "localhost";
|
|
10764
|
+
const userAgent = req.headers.get("user-agent") || `Retrivora-SDK/${SDK_VERSION}`;
|
|
10575
10765
|
let absoluteUrl = telemetryUrl;
|
|
10576
10766
|
if (!telemetryUrl.startsWith("http")) {
|
|
10577
10767
|
const proto = req.headers.get("x-forwarded-proto") || "http";
|
|
10578
10768
|
absoluteUrl = `${proto}://${host}${telemetryUrl}`;
|
|
10579
10769
|
}
|
|
10580
10770
|
const projectId = config.projectId || "default";
|
|
10771
|
+
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";
|
|
10772
|
+
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";
|
|
10773
|
+
const tokens = Number(((_f = trace == null ? void 0 : trace.tokens) == null ? void 0 : _f.totalTokens) || (trace == null ? void 0 : trace.totalTokens) || 0);
|
|
10774
|
+
const costUsd = Number(((_g2 = trace == null ? void 0 : trace.tokens) == null ? void 0 : _g2.estimatedCostUsd) || (trace == null ? void 0 : trace.costUsd) || 0);
|
|
10775
|
+
const latencyMs = Number(((_h = trace == null ? void 0 : trace.latency) == null ? void 0 : _h.totalMs) || (trace == null ? void 0 : trace.latencyMs) || 0);
|
|
10776
|
+
const payload = {
|
|
10777
|
+
trace,
|
|
10778
|
+
licenseKey,
|
|
10779
|
+
projectId,
|
|
10780
|
+
organization: process.env.RETRIVORA_ORGANIZATION || "default-org",
|
|
10781
|
+
sdkVersion: SDK_VERSION,
|
|
10782
|
+
model,
|
|
10783
|
+
provider,
|
|
10784
|
+
tokens,
|
|
10785
|
+
cost: costUsd,
|
|
10786
|
+
costUsd,
|
|
10787
|
+
latencyMs,
|
|
10788
|
+
status,
|
|
10789
|
+
action,
|
|
10790
|
+
feature: action,
|
|
10791
|
+
userAgent,
|
|
10792
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
10793
|
+
details
|
|
10794
|
+
};
|
|
10795
|
+
console.log(`[Retrivora SDK Telemetry] \u{1F4CA} Dispatching telemetry -> Feature: "${action}", Status: "${status}", Project: "${projectId}", Model: "${provider}/${model}", Latency: ${latencyMs}ms`);
|
|
10581
10796
|
fetch(absoluteUrl, {
|
|
10582
10797
|
method: "POST",
|
|
10583
10798
|
headers: {
|
|
10584
10799
|
"Content-Type": "application/json",
|
|
10585
10800
|
"x-forwarded-for": req.headers.get("x-forwarded-for") || "",
|
|
10586
|
-
"x-real-ip": req.headers.get("x-real-ip") || ""
|
|
10801
|
+
"x-real-ip": req.headers.get("x-real-ip") || "",
|
|
10802
|
+
"user-agent": userAgent
|
|
10587
10803
|
},
|
|
10588
|
-
body: JSON.stringify(
|
|
10589
|
-
trace,
|
|
10590
|
-
licenseKey,
|
|
10591
|
-
projectId,
|
|
10592
|
-
action,
|
|
10593
|
-
status,
|
|
10594
|
-
details
|
|
10595
|
-
})
|
|
10804
|
+
body: JSON.stringify(payload)
|
|
10596
10805
|
}).catch((err) => {
|
|
10597
|
-
console.warn("[Retrivora Telemetry] Async report warning:", err.message);
|
|
10806
|
+
console.warn("[Retrivora SDK Telemetry] Async report warning:", err.message);
|
|
10598
10807
|
});
|
|
10599
10808
|
} catch (e) {
|
|
10600
10809
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CSSProperties, MouseEvent, ReactNode, ElementType } from 'react';
|
|
2
|
-
import { y as Product, m as UIConfig, j as RagMessage, q as VectorMatch, J as UITransformationResponse, i as RagConfig, I as ILLMProvider, f as IngestDocument, C as ChatMessage, c as ChatResponse, z as RetrievalResult, n as UniversalRagConfig } from './ILLMProvider-
|
|
2
|
+
import { y as Product, m as UIConfig, j as RagMessage, q as VectorMatch, J as UITransformationResponse, i as RagConfig, I as ILLMProvider, f as IngestDocument, C as ChatMessage, c as ChatResponse, z as RetrievalResult, n as UniversalRagConfig } from './ILLMProvider-BWa68XX5.js';
|
|
3
3
|
|
|
4
4
|
interface ArchitectureCardProps {
|
|
5
5
|
icon: ReactNode;
|
|
@@ -100,6 +100,10 @@ interface ProductCarouselProps {
|
|
|
100
100
|
interface DocumentUploadProps {
|
|
101
101
|
/** Optional namespace for the upload */
|
|
102
102
|
namespace?: string;
|
|
103
|
+
/** Custom upload API endpoint URL (defaults to /api/retrivora/upload or /api/upload) */
|
|
104
|
+
uploadUrl?: string;
|
|
105
|
+
/** Base URL for Retrivora SDK endpoints (defaults to /api/retrivora) */
|
|
106
|
+
retrivoraApiBase?: string;
|
|
103
107
|
/** Callback when upload completes */
|
|
104
108
|
onUploadComplete?: (results: unknown) => void;
|
|
105
109
|
/** Additional className */
|
|
@@ -129,6 +133,11 @@ interface ConfigProviderProps {
|
|
|
129
133
|
children: ReactNode;
|
|
130
134
|
}
|
|
131
135
|
|
|
136
|
+
/**
|
|
137
|
+
* Dynamically resolved SDK Version from package.json
|
|
138
|
+
*/
|
|
139
|
+
declare const SDK_VERSION: string;
|
|
140
|
+
|
|
132
141
|
/**
|
|
133
142
|
* Primary rendering outcome types supported by the decision engine.
|
|
134
143
|
*/
|
|
@@ -529,4 +538,4 @@ declare class AuthenticationException extends RetrivoraError {
|
|
|
529
538
|
*/
|
|
530
539
|
declare function wrapError(err: unknown, defaultCode: RetrivoraErrorCode, defaultMessage?: string): RetrivoraError;
|
|
531
540
|
|
|
532
|
-
export { AuthenticationException as A,
|
|
541
|
+
export { AuthenticationException as A, type ChatViewportSize as B, type ChatWidgetProps as C, type DocumentUploadProps as D, EmbeddingFailedException as E, DocumentChunker as F, MixedRendererStrategy as G, Pipeline as H, type IRenderRule as I, type PipelineStep as J, type ProviderPill as K, type RenderSectionDecision as L, type MessageBubbleProps as M, type Snippet as N, TextRendererStrategy as O, type ProductCardProps as P, wrapError as Q, RateLimitException as R, type SourceCardProps as S, TableRendererStrategy as T, VisualizationDecisionEngine as V, type ChatWindowProps as a, type ConfigProviderProps as b, type ClientConfig as c, type ProductCarouselProps as d, type ChartType as e, type Chunk as f, type ChunkOptions as g, ConfigurationException as h, type DecisionContext as i, type IRendererStrategy as j, type IntentCategory as k, IntentClassifier as l, ProviderNotFoundException as m, type RenderDecision as n, type RenderType as o, RendererRegistry as p, RetrievalException as q, Retrivora as r, RetrivoraError as s, type RetrivoraErrorCode as t, RuleEngine as u, SDK_VERSION as v, decideVisualization as w, type ArchitectureCardProps as x, CarouselRendererStrategy as y, ChartRendererStrategy as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CSSProperties, MouseEvent, ReactNode, ElementType } from 'react';
|
|
2
|
-
import { y as Product, m as UIConfig, j as RagMessage, q as VectorMatch, J as UITransformationResponse, i as RagConfig, I as ILLMProvider, f as IngestDocument, C as ChatMessage, c as ChatResponse, z as RetrievalResult, n as UniversalRagConfig } from './ILLMProvider-
|
|
2
|
+
import { y as Product, m as UIConfig, j as RagMessage, q as VectorMatch, J as UITransformationResponse, i as RagConfig, I as ILLMProvider, f as IngestDocument, C as ChatMessage, c as ChatResponse, z as RetrievalResult, n as UniversalRagConfig } from './ILLMProvider-BWa68XX5.mjs';
|
|
3
3
|
|
|
4
4
|
interface ArchitectureCardProps {
|
|
5
5
|
icon: ReactNode;
|
|
@@ -100,6 +100,10 @@ interface ProductCarouselProps {
|
|
|
100
100
|
interface DocumentUploadProps {
|
|
101
101
|
/** Optional namespace for the upload */
|
|
102
102
|
namespace?: string;
|
|
103
|
+
/** Custom upload API endpoint URL (defaults to /api/retrivora/upload or /api/upload) */
|
|
104
|
+
uploadUrl?: string;
|
|
105
|
+
/** Base URL for Retrivora SDK endpoints (defaults to /api/retrivora) */
|
|
106
|
+
retrivoraApiBase?: string;
|
|
103
107
|
/** Callback when upload completes */
|
|
104
108
|
onUploadComplete?: (results: unknown) => void;
|
|
105
109
|
/** Additional className */
|
|
@@ -129,6 +133,11 @@ interface ConfigProviderProps {
|
|
|
129
133
|
children: ReactNode;
|
|
130
134
|
}
|
|
131
135
|
|
|
136
|
+
/**
|
|
137
|
+
* Dynamically resolved SDK Version from package.json
|
|
138
|
+
*/
|
|
139
|
+
declare const SDK_VERSION: string;
|
|
140
|
+
|
|
132
141
|
/**
|
|
133
142
|
* Primary rendering outcome types supported by the decision engine.
|
|
134
143
|
*/
|
|
@@ -529,4 +538,4 @@ declare class AuthenticationException extends RetrivoraError {
|
|
|
529
538
|
*/
|
|
530
539
|
declare function wrapError(err: unknown, defaultCode: RetrivoraErrorCode, defaultMessage?: string): RetrivoraError;
|
|
531
540
|
|
|
532
|
-
export { AuthenticationException as A,
|
|
541
|
+
export { AuthenticationException as A, type ChatViewportSize as B, type ChatWidgetProps as C, type DocumentUploadProps as D, EmbeddingFailedException as E, DocumentChunker as F, MixedRendererStrategy as G, Pipeline as H, type IRenderRule as I, type PipelineStep as J, type ProviderPill as K, type RenderSectionDecision as L, type MessageBubbleProps as M, type Snippet as N, TextRendererStrategy as O, type ProductCardProps as P, wrapError as Q, RateLimitException as R, type SourceCardProps as S, TableRendererStrategy as T, VisualizationDecisionEngine as V, type ChatWindowProps as a, type ConfigProviderProps as b, type ClientConfig as c, type ProductCarouselProps as d, type ChartType as e, type Chunk as f, type ChunkOptions as g, ConfigurationException as h, type DecisionContext as i, type IRendererStrategy as j, type IntentCategory as k, IntentClassifier as l, ProviderNotFoundException as m, type RenderDecision as n, type RenderType as o, RendererRegistry as p, RetrievalException as q, Retrivora as r, RetrivoraError as s, type RetrivoraErrorCode as t, RuleEngine as u, SDK_VERSION as v, decideVisualization as w, type ArchitectureCardProps as x, CarouselRendererStrategy as y, ChartRendererStrategy as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NextRequest } from 'next/server';
|
|
2
|
-
import { i as RagConfig, I as ILLMProvider, C as ChatMessage, c as ChatResponse, f as IngestDocument } from './ILLMProvider-
|
|
2
|
+
import { i as RagConfig, I as ILLMProvider, C as ChatMessage, c as ChatResponse, f as IngestDocument } from './ILLMProvider-BWa68XX5.js';
|
|
3
3
|
|
|
4
4
|
interface ValidationError {
|
|
5
5
|
field: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NextRequest } from 'next/server';
|
|
2
|
-
import { i as RagConfig, I as ILLMProvider, C as ChatMessage, c as ChatResponse, f as IngestDocument } from './ILLMProvider-
|
|
2
|
+
import { i as RagConfig, I as ILLMProvider, C as ChatMessage, c as ChatResponse, f as IngestDocument } from './ILLMProvider-BWa68XX5.mjs';
|
|
3
3
|
|
|
4
4
|
interface ValidationError {
|
|
5
5
|
field: string;
|