llm-agent-runtime 0.1.16 → 0.1.21
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/USAGE.md +14 -6
- package/dist/agent.d.ts +0 -1
- package/dist/agent.js +1 -69
- package/dist/create-runtime.d.ts +5 -3
- package/dist/create-runtime.js +1 -321
- package/dist/embeddings/xenova.d.ts +0 -1
- package/dist/embeddings/xenova.js +1 -69
- package/dist/env-llm.d.ts +8 -6
- package/dist/env-llm.js +1 -98
- package/dist/errors.d.ts +0 -1
- package/dist/errors.js +1 -17
- package/dist/index.d.ts +2 -3
- package/dist/index.js +1 -15
- package/dist/intents/define.d.ts +0 -1
- package/dist/intents/define.js +1 -52
- package/dist/intents/general.d.ts +0 -1
- package/dist/intents/general.js +1 -67
- package/dist/llm.d.ts +0 -1
- package/dist/llm.js +1 -112
- package/dist/rag/index.d.ts +0 -1
- package/dist/rag/index.js +1 -138
- package/dist/rag/loaders.d.ts +0 -1
- package/dist/rag/loaders.js +1 -80
- package/dist/rag/sources.d.ts +0 -1
- package/dist/rag/sources.js +1 -101
- package/dist/redis.d.ts +0 -1
- package/dist/redis.js +1 -18
- package/dist/services/agent-runner.d.ts +0 -1
- package/dist/services/agent-runner.js +1 -18
- package/dist/services/chat-cache.d.ts +0 -1
- package/dist/services/chat-cache.js +1 -70
- package/dist/services/conversation.d.ts +0 -1
- package/dist/services/conversation.js +1 -68
- package/dist/services/extract.d.ts +0 -1
- package/dist/services/extract.js +1 -64
- package/dist/services/flow-router.d.ts +0 -1
- package/dist/services/flow-router.js +1 -191
- package/dist/services/intent-embeddings.d.ts +0 -1
- package/dist/services/intent-embeddings.js +1 -45
- package/dist/services/intent-router.d.ts +0 -1
- package/dist/services/intent-router.js +1 -98
- package/dist/services/simple-config.d.ts +0 -1
- package/dist/services/simple-config.js +1 -70
- package/dist/services/token-usage.d.ts +10 -5
- package/dist/services/token-usage.js +1 -63
- package/dist/services/usage-store.d.ts +15 -3
- package/dist/services/usage-store.js +1 -92
- package/dist/types.d.ts +4 -4
- package/dist/types.js +1 -1
- package/dist/utils/message.d.ts +0 -1
- package/dist/utils/message.js +1 -13
- package/dist/utils/normalize.d.ts +0 -1
- package/dist/utils/normalize.js +1 -8
- package/package.json +6 -3
- package/dist/agent.d.ts.map +0 -1
- package/dist/create-runtime.d.ts.map +0 -1
- package/dist/embeddings/xenova.d.ts.map +0 -1
- package/dist/env-llm.d.ts.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/intents/define.d.ts.map +0 -1
- package/dist/intents/general.d.ts.map +0 -1
- package/dist/llm.d.ts.map +0 -1
- package/dist/rag/index.d.ts.map +0 -1
- package/dist/rag/loaders.d.ts.map +0 -1
- package/dist/rag/sources.d.ts.map +0 -1
- package/dist/redis.d.ts.map +0 -1
- package/dist/services/agent-runner.d.ts.map +0 -1
- package/dist/services/chat-cache.d.ts.map +0 -1
- package/dist/services/conversation.d.ts.map +0 -1
- package/dist/services/extract.d.ts.map +0 -1
- package/dist/services/flow-router.d.ts.map +0 -1
- package/dist/services/intent-embeddings.d.ts.map +0 -1
- package/dist/services/intent-router.d.ts.map +0 -1
- package/dist/services/simple-config.d.ts.map +0 -1
- package/dist/services/token-usage.d.ts.map +0 -1
- package/dist/services/usage-store.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/utils/message.d.ts.map +0 -1
- package/dist/utils/normalize.d.ts.map +0 -1
package/dist/env-llm.js
CHANGED
|
@@ -1,98 +1 @@
|
|
|
1
|
-
const asChatProvider = (
|
|
2
|
-
const normalized = value?.trim().toLowerCase();
|
|
3
|
-
if (normalized === "openai" ||
|
|
4
|
-
normalized === "gpt" ||
|
|
5
|
-
normalized === "chatgpt") {
|
|
6
|
-
return "openai";
|
|
7
|
-
}
|
|
8
|
-
if (normalized === "openrouter" || normalized === "or") {
|
|
9
|
-
return "openrouter";
|
|
10
|
-
}
|
|
11
|
-
if (normalized === "ollama")
|
|
12
|
-
return "ollama";
|
|
13
|
-
return fallback;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Resolve embeddings backend.
|
|
17
|
-
*
|
|
18
|
-
* - Explicit EMBEDDINGS_PROVIDER wins (ollama | openai | xenova).
|
|
19
|
-
* - openrouter is not an embeddings backend → xenova (free).
|
|
20
|
-
* - If unset: ollama chat → ollama embeddings; otherwise → xenova
|
|
21
|
-
* (so OpenRouter/OpenAI chat works in production without local Ollama).
|
|
22
|
-
*/
|
|
23
|
-
export function resolveEmbeddingsProvider(env, chatProvider) {
|
|
24
|
-
const raw = env.EMBEDDINGS_PROVIDER?.trim().toLowerCase();
|
|
25
|
-
if (raw === "openai" || raw === "gpt" || raw === "chatgpt")
|
|
26
|
-
return "openai";
|
|
27
|
-
if (raw === "ollama")
|
|
28
|
-
return "ollama";
|
|
29
|
-
if (raw === "xenova" ||
|
|
30
|
-
raw === "transformers" ||
|
|
31
|
-
raw === "local" ||
|
|
32
|
-
raw === "minilm") {
|
|
33
|
-
return "xenova";
|
|
34
|
-
}
|
|
35
|
-
// OpenRouter has chat only — use free in-process embeddings.
|
|
36
|
-
if (raw === "openrouter" || raw === "or")
|
|
37
|
-
return "xenova";
|
|
38
|
-
// Unset / unknown: prefer ollama only when chat is already ollama.
|
|
39
|
-
if (chatProvider === "ollama")
|
|
40
|
-
return "ollama";
|
|
41
|
-
return "xenova";
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Build LlmConfig from process.env.
|
|
45
|
-
*
|
|
46
|
-
* Env knobs:
|
|
47
|
-
* - LLM_PROVIDER — ollama | openai | openrouter
|
|
48
|
-
* - EMBEDDINGS_PROVIDER — ollama | openai | xenova
|
|
49
|
-
* (default: ollama if LLM is ollama, else xenova)
|
|
50
|
-
* - OLLAMA_MODEL / OPENAI_MODEL / OPENROUTER_MODEL
|
|
51
|
-
* - XENOVA_EMBEDDINGS_MODEL / OLLAMA_EMBEDDINGS_MODEL / OPENAI_EMBEDDINGS_MODEL
|
|
52
|
-
* - OLLAMA_BASE_URL / OPENAI_API_KEY / OPENROUTER_API_KEY / OPENROUTER_BASE_URL
|
|
53
|
-
*/
|
|
54
|
-
export function llmConfigFromEnv(env = process.env) {
|
|
55
|
-
const provider = asChatProvider(env.LLM_PROVIDER, "ollama");
|
|
56
|
-
const embeddingsProvider = resolveEmbeddingsProvider(env, provider);
|
|
57
|
-
const openrouterBaseUrl = env.OPENROUTER_BASE_URL ?? "https://openrouter.ai/api/v1";
|
|
58
|
-
const ollamaBaseUrl = env.OLLAMA_BASE_URL ?? "http://localhost:11434";
|
|
59
|
-
const resolvedEmbeddingsModel = embeddingsProvider === "openai"
|
|
60
|
-
? (env.OPENAI_EMBEDDINGS_MODEL ?? "text-embedding-3-small")
|
|
61
|
-
: embeddingsProvider === "xenova"
|
|
62
|
-
? (env.XENOVA_EMBEDDINGS_MODEL ?? "Xenova/all-MiniLM-L6-v2")
|
|
63
|
-
: (env.OLLAMA_EMBEDDINGS_MODEL ?? "mxbai-embed-large:latest");
|
|
64
|
-
if (provider === "openrouter") {
|
|
65
|
-
return {
|
|
66
|
-
provider,
|
|
67
|
-
embeddingsProvider,
|
|
68
|
-
model: env.OPENROUTER_MODEL ?? "meta-llama/llama-4-scout",
|
|
69
|
-
intentRouterModel: env.OPENROUTER_INTENT_ROUTER_MODEL ??
|
|
70
|
-
env.OPENROUTER_MODEL ??
|
|
71
|
-
"meta-llama/llama-4-scout",
|
|
72
|
-
embeddingsModel: resolvedEmbeddingsModel,
|
|
73
|
-
baseUrl: openrouterBaseUrl,
|
|
74
|
-
embeddingsBaseUrl: embeddingsProvider === "ollama" ? ollamaBaseUrl : undefined,
|
|
75
|
-
apiKey: env.OPENROUTER_API_KEY,
|
|
76
|
-
embeddingsApiKey: env.OPENAI_API_KEY,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
return {
|
|
80
|
-
provider,
|
|
81
|
-
embeddingsProvider,
|
|
82
|
-
model: provider === "openai"
|
|
83
|
-
? (env.OPENAI_MODEL ?? "gpt-4o-mini")
|
|
84
|
-
: (env.OLLAMA_MODEL ?? "qwen2.5:7b"),
|
|
85
|
-
intentRouterModel: provider === "openai"
|
|
86
|
-
? (env.OPENAI_INTENT_ROUTER_MODEL ??
|
|
87
|
-
env.OPENAI_MODEL ??
|
|
88
|
-
"gpt-4o-mini")
|
|
89
|
-
: (env.INTENT_ROUTER_MODEL ??
|
|
90
|
-
env.OLLAMA_INTENT_ROUTER_MODEL ??
|
|
91
|
-
"qwen2.5:7b"),
|
|
92
|
-
embeddingsModel: resolvedEmbeddingsModel,
|
|
93
|
-
baseUrl: provider === "openai" ? undefined : ollamaBaseUrl,
|
|
94
|
-
embeddingsBaseUrl: embeddingsProvider === "ollama" ? ollamaBaseUrl : undefined,
|
|
95
|
-
apiKey: env.OPENAI_API_KEY,
|
|
96
|
-
embeddingsApiKey: env.OPENAI_API_KEY,
|
|
97
|
-
};
|
|
98
|
-
}
|
|
1
|
+
const a3_0x4d1b98=a3_0x4661;(function(_0x33c81f,_0x7466d7){const _0x33fc8f=a3_0x4661,_0x223b96=_0x33c81f();while(!![]){try{const _0x1ded5a=parseInt(_0x33fc8f(0x1b8))/0x1+parseInt(_0x33fc8f(0x1c1))/0x2*(parseInt(_0x33fc8f(0x186))/0x3)+-parseInt(_0x33fc8f(0x183))/0x4*(-parseInt(_0x33fc8f(0x1c8))/0x5)+parseInt(_0x33fc8f(0x1b0))/0x6*(parseInt(_0x33fc8f(0x192))/0x7)+-parseInt(_0x33fc8f(0x1a6))/0x8+-parseInt(_0x33fc8f(0x194))/0x9*(-parseInt(_0x33fc8f(0x1cf))/0xa)+parseInt(_0x33fc8f(0x1d2))/0xb*(-parseInt(_0x33fc8f(0x198))/0xc);if(_0x1ded5a===_0x7466d7)break;else _0x223b96['push'](_0x223b96['shift']());}catch(_0x339982){_0x223b96['push'](_0x223b96['shift']());}}}(a3_0x1e24,0xeaad9));const asChatProvider=(_0x19e862,_0x2d797e)=>{const _0x3930b5=a3_0x4661,_0x6834a3={'CIpLv':function(_0x1ea2f9,_0x447379){return _0x1ea2f9===_0x447379;},'YnHOd':_0x3930b5(0x1b1),'jlLjz':_0x3930b5(0x1ab),'eAhTG':function(_0x3d6108,_0x4ef82b){return _0x3d6108===_0x4ef82b;},'LiuSr':_0x3930b5(0x1c5),'UYWBz':function(_0x42bc35,_0x3253f6){return _0x42bc35===_0x3253f6;},'oscxX':_0x3930b5(0x1bd),'ZjDok':function(_0x756daf,_0x46cf8c){return _0x756daf===_0x46cf8c;},'kIWmi':_0x3930b5(0x1c3)},_0x5b5fe2=_0x19e862?.[_0x3930b5(0x1d0)]()[_0x3930b5(0x196)]();if(_0x6834a3[_0x3930b5(0x1c9)](_0x5b5fe2,_0x6834a3[_0x3930b5(0x1d1)])||_0x6834a3[_0x3930b5(0x1c9)](_0x5b5fe2,_0x6834a3[_0x3930b5(0x181)])||_0x6834a3['eAhTG'](_0x5b5fe2,_0x6834a3[_0x3930b5(0x19e)]))return _0x6834a3[_0x3930b5(0x1d1)];if(_0x6834a3[_0x3930b5(0x1b3)](_0x5b5fe2,_0x6834a3['oscxX'])||_0x5b5fe2==='or')return _0x6834a3[_0x3930b5(0x1be)];if(_0x6834a3['ZjDok'](_0x5b5fe2,_0x6834a3['kIWmi']))return _0x6834a3[_0x3930b5(0x199)];return _0x2d797e;};function a3_0x1e24(){const _0x46e454=['25YeAGji','CIpLv','rfHaY','KWeOd','OPENAI_INTENT_ROUTER_MODEL','transformers','DEHML','20GNkfBs','trim','YnHOd','48015hXFgGJ','text-embedding-3-small','minilm','XMerY','irbSF','INTENT_ROUTER_MODEL','wMDHw','xenova','jlLjz','aomil','1269580LTzkzF','hPuiD','OPENAI_MODEL','351gekBSE','bWjpZ','EMBEDDINGS_PROVIDER','qwen2.5:7b','HtdPe','xAXKG','wHCNx','KsJgs','iONus','OLLAMA_BASE_URL','oobMD','OPENAI_EMBEDDINGS_MODEL','11980927leJpzV','OPENROUTER_MODEL','1913121GLMgUT','qfKWj','toLowerCase','zGyAI','6252bbUAWX','kIWmi','OLLAMA_INTENT_ROUTER_MODEL','VERCEL_ENV','mxbai-embed-large:latest','MvRLI','LiuSr','aKqza','PJZQe','CgDHF','VERCEL','env','XENOVA_EMBEDDINGS_MODEL','APzyv','10042064aDMAOg','ZYTRa','LLM_PROVIDER','http://localhost:11434','wJLIq','gpt','bLLCW','NETLIFY_DEV','ApIti','Fxfjz','6lkSMeN','openai','https://openrouter.ai/api/v1','UYWBz','TQTPb','CdLYG','sQQAW','NETLIFY','192988MfOgHu','meta-llama/llama-4-scout','AWS_LAMBDA_FUNCTION_NAME','HIEDo','IYLRS','openrouter','oscxX','gpt-4o-mini','ppAal','9812ReXzjC','OPENAI_API_KEY','ollama','htjOy','chatgpt','SGvYj','OPENROUTER_BASE_URL'];a3_0x1e24=function(){return _0x46e454;};return a3_0x1e24();}export function isServerlessRuntime(_0x5deed3=process[a3_0x4d1b98(0x1a3)]){const _0x5e86b2=a3_0x4d1b98;return Boolean(_0x5deed3[_0x5e86b2(0x1a2)]||_0x5deed3[_0x5e86b2(0x19b)]||_0x5deed3[_0x5e86b2(0x1ba)]||_0x5deed3[_0x5e86b2(0x1b7)]||_0x5deed3[_0x5e86b2(0x1ad)]);}function preferOpenAiOnServerless(_0x27b128){const _0x1712e7=a3_0x4d1b98,_0x2a4d7b={'ppAal':function(_0x775d56,_0x1853e6){return _0x775d56(_0x1853e6);}};return _0x2a4d7b[_0x1712e7(0x1c0)](isServerlessRuntime,_0x27b128)&&Boolean(_0x27b128[_0x1712e7(0x1c2)]?.[_0x1712e7(0x1d0)]());}function a3_0x4661(_0x352dc3,_0x478773){_0x352dc3=_0x352dc3-0x17a;const _0x1e2432=a3_0x1e24();let _0x4661f5=_0x1e2432[_0x352dc3];return _0x4661f5;}export function resolveEmbeddingsProvider(_0x5f0eed,_0x3ee354){const _0x1fe231=a3_0x4d1b98,_0x335435={'aKqza':_0x1fe231(0x1b1),'wMDHw':_0x1fe231(0x1b9),'tYAGg':function(_0x2ba185,_0x48c0e4){return _0x2ba185===_0x48c0e4;},'CgDHF':function(_0x2c0756,_0x5b1c2c){return _0x2c0756(_0x5b1c2c);},'CdLYG':function(_0x5b3c38,_0x1f0855){return _0x5b3c38===_0x1f0855;},'zGyAI':function(_0x4fe61d,_0x503f8e){return _0x4fe61d===_0x503f8e;},'xAXKG':_0x1fe231(0x1ab),'wqeEc':_0x1fe231(0x1c5),'qfKWj':function(_0x271251,_0x3f0fc9){return _0x271251===_0x3f0fc9;},'hPuiD':_0x1fe231(0x1c3),'MvRLI':function(_0x5b18c2,_0x57ec63){return _0x5b18c2===_0x57ec63;},'rfHaY':_0x1fe231(0x180),'ZYTRa':_0x1fe231(0x1cd),'KsJgs':function(_0xfdf2d4,_0x59ba21){return _0xfdf2d4!==_0x59ba21;},'IYLRS':_0x1fe231(0x17d),'HIEDo':_0x1fe231(0x17c),'SGvYj':function(_0x40d6f8,_0x1f2d28){return _0x40d6f8===_0x1f2d28;},'APzyv':_0x1fe231(0x1bd),'sQQAW':'zReXs','wJLIq':_0x1fe231(0x1c4),'kGdyd':function(_0x3d9b8f,_0x532bf3){return _0x3d9b8f===_0x532bf3;}},_0x2d8d57=_0x5f0eed[_0x1fe231(0x188)]?.[_0x1fe231(0x1d0)]()[_0x1fe231(0x196)](),_0x4cd1dc=_0x335435[_0x1fe231(0x1a1)](preferOpenAiOnServerless,_0x5f0eed);if(_0x335435[_0x1fe231(0x1b5)](_0x2d8d57,'openai')||_0x335435[_0x1fe231(0x197)](_0x2d8d57,_0x335435[_0x1fe231(0x18b)])||_0x335435['CdLYG'](_0x2d8d57,_0x335435['wqeEc']))return _0x335435[_0x1fe231(0x19f)];if(_0x335435[_0x1fe231(0x195)](_0x2d8d57,_0x335435[_0x1fe231(0x184)]))return _0x335435['hPuiD'];if(_0x335435[_0x1fe231(0x19d)](_0x2d8d57,_0x335435[_0x1fe231(0x1ca)])||_0x335435['qfKWj'](_0x2d8d57,_0x335435[_0x1fe231(0x1a7)])||_0x2d8d57==='local'||_0x2d8d57===_0x1fe231(0x17b))return _0x335435[_0x1fe231(0x18d)](_0x335435[_0x1fe231(0x1bc)],_0x335435[_0x1fe231(0x1bb)])?_0x4cd1dc?'openai':_0x335435['rfHaY']:_0x55f820?_0x335435[_0x1fe231(0x19f)]:_0x1fe231(0x180);if(_0x335435[_0x1fe231(0x1c6)](_0x2d8d57,_0x335435[_0x1fe231(0x1a5)])||_0x335435['tYAGg'](_0x2d8d57,'or'))return _0x335435[_0x1fe231(0x197)](_0x335435[_0x1fe231(0x1b6)],_0x335435[_0x1fe231(0x1aa)])?{'provider':_0x3c5a5a,'embeddingsProvider':_0x2976a3,'model':_0x59da24['OPENROUTER_MODEL']??_0x335435['wMDHw'],'intentRouterModel':_0x4606f8['OPENROUTER_INTENT_ROUTER_MODEL']??_0x391330[_0x1fe231(0x193)]??_0x335435[_0x1fe231(0x17f)],'embeddingsModel':_0x194e38,'baseUrl':_0x3970c6,'embeddingsBaseUrl':_0x335435['tYAGg'](_0x4eb6bd,'ollama')?_0x19367f:_0x7090e2,'apiKey':_0x3773d5['OPENROUTER_API_KEY'],'embeddingsApiKey':_0x459913[_0x1fe231(0x1c2)]}:_0x4cd1dc?_0x335435['aKqza']:_0x1fe231(0x180);if(_0x335435['kGdyd'](_0x3ee354,_0x335435[_0x1fe231(0x184)]))return _0x1fe231(0x1c3);if(_0x4cd1dc)return _0x335435['aKqza'];return _0x335435[_0x1fe231(0x1ca)];}export function llmConfigFromEnv(_0x17d314=process[a3_0x4d1b98(0x1a3)]){const _0x427664=a3_0x4d1b98,_0x5df271={'KWeOd':_0x427664(0x1b1),'bLLCW':function(_0xf17490,_0x396612,_0x1eb394){return _0xf17490(_0x396612,_0x1eb394);},'ApIti':_0x427664(0x1c3),'iONus':function(_0xa5d25e,_0x47242){return _0xa5d25e===_0x47242;},'Fxfjz':'Xenova/all-MiniLM-L6-v2','bWjpZ':_0x427664(0x19c),'DEHML':_0x427664(0x1bd),'TQTPb':function(_0x214e22,_0x14e7b7){return _0x214e22===_0x14e7b7;},'PJZQe':_0x427664(0x18a),'FrJIU':_0x427664(0x1b9),'aomil':_0x427664(0x189),'oobMD':_0x427664(0x1bf),'wHCNx':function(_0x37f45d,_0x2e1c25){return _0x37f45d===_0x2e1c25;}},_0x266deb=_0x5df271[_0x427664(0x1ac)](asChatProvider,_0x17d314[_0x427664(0x1a8)],_0x5df271[_0x427664(0x1ae)]),_0x553cbe=_0x5df271['bLLCW'](resolveEmbeddingsProvider,_0x17d314,_0x266deb),_0x38b10c=_0x17d314[_0x427664(0x1c7)]??_0x427664(0x1b2),_0x3d780e=_0x17d314[_0x427664(0x18f)]??_0x427664(0x1a9),_0x4c2797=_0x5df271[_0x427664(0x18e)](_0x553cbe,_0x5df271[_0x427664(0x1cb)])?_0x17d314[_0x427664(0x191)]??_0x427664(0x17a):_0x553cbe==='xenova'?_0x17d314[_0x427664(0x1a4)]??_0x5df271[_0x427664(0x1af)]:_0x17d314['OLLAMA_EMBEDDINGS_MODEL']??_0x5df271[_0x427664(0x187)];if(_0x266deb===_0x5df271[_0x427664(0x1ce)])return _0x5df271['TQTPb'](_0x5df271[_0x427664(0x1a0)],_0x5df271['PJZQe'])?{'provider':_0x266deb,'embeddingsProvider':_0x553cbe,'model':_0x17d314['OPENROUTER_MODEL']??'meta-llama/llama-4-scout','intentRouterModel':_0x17d314['OPENROUTER_INTENT_ROUTER_MODEL']??_0x17d314[_0x427664(0x193)]??_0x5df271['FrJIU'],'embeddingsModel':_0x4c2797,'baseUrl':_0x38b10c,'embeddingsBaseUrl':_0x553cbe===_0x5df271[_0x427664(0x1ae)]?_0x3d780e:undefined,'apiKey':_0x17d314['OPENROUTER_API_KEY'],'embeddingsApiKey':_0x17d314['OPENAI_API_KEY']}:_0x5df271[_0x427664(0x1cb)];return{'provider':_0x266deb,'embeddingsProvider':_0x553cbe,'model':_0x266deb===_0x5df271[_0x427664(0x1cb)]?_0x17d314[_0x427664(0x185)]??_0x427664(0x1bf):_0x17d314['OLLAMA_MODEL']??_0x5df271[_0x427664(0x182)],'intentRouterModel':_0x5df271[_0x427664(0x18e)](_0x266deb,_0x5df271[_0x427664(0x1cb)])?_0x17d314[_0x427664(0x1cc)]??_0x17d314[_0x427664(0x185)]??_0x5df271[_0x427664(0x190)]:_0x17d314[_0x427664(0x17e)]??_0x17d314[_0x427664(0x19a)]??'qwen2.5:7b','embeddingsModel':_0x4c2797,'baseUrl':_0x5df271[_0x427664(0x1b4)](_0x266deb,_0x5df271['KWeOd'])?undefined:_0x3d780e,'embeddingsBaseUrl':_0x5df271[_0x427664(0x18c)](_0x553cbe,_0x427664(0x1c3))?_0x3d780e:undefined,'apiKey':_0x17d314['OPENAI_API_KEY'],'embeddingsApiKey':_0x17d314[_0x427664(0x1c2)]};}
|
package/dist/errors.d.ts
CHANGED
package/dist/errors.js
CHANGED
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export class AgentRuntimeError extends Error {
|
|
3
|
-
code;
|
|
4
|
-
constructor(code, message) {
|
|
5
|
-
super(message);
|
|
6
|
-
this.name = "AgentRuntimeError";
|
|
7
|
-
this.code = code;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
export function assertInvokeInput(input) {
|
|
11
|
-
if (typeof input.message !== "string" || !input.message.trim()) {
|
|
12
|
-
throw new AgentRuntimeError("INVALID_MESSAGE", 'invoke() requires a non-empty string "message".');
|
|
13
|
-
}
|
|
14
|
-
if (typeof input.threadId !== "string" || !input.threadId.trim()) {
|
|
15
|
-
throw new AgentRuntimeError("MISSING_THREAD_ID", 'invoke() requires a non-empty string "threadId" so the checkpointer can persist conversation state. Example: runtime.invoke({ message, threadId: "user-123" })');
|
|
16
|
-
}
|
|
17
|
-
}
|
|
1
|
+
function a4_0x3338(){var _0xdc36fb=['100295ySgBdX','string','36KTXwlW','6814sGyzwa','threadId','673828CoXMzU','code','18950890fBzGpd','bZwFq','INVALID_MESSAGE','name','2187664HlzotX','4601364easdQr','invoke()\x20requires\x20a\x20non-empty\x20string\x20\x22message\x22.','dthtX','28UKGeHx','trim','LRCkt','invoke()\x20requires\x20a\x20non-empty\x20string\x20\x22threadId\x22\x20so\x20the\x20checkpointer\x20can\x20persist\x20conversation\x20state.\x20Example:\x20runtime.invoke({\x20message,\x20threadId:\x20\x22user-123\x22\x20})','MjXam','AgentRuntimeError','33lbkArH','3177801lIzeil','MISSING_THREAD_ID'];a4_0x3338=function(){return _0xdc36fb;};return a4_0x3338();}var a4_0x1e7723=a4_0x1a3d;(function(_0x1a9fa3,_0x6d6da0){var _0x85f1f7=a4_0x1a3d,_0x5c3af2=_0x1a9fa3();while(!![]){try{var _0x385d4b=parseInt(_0x85f1f7(0x1f4))/0x1+-parseInt(_0x85f1f7(0x1f2))/0x2*(-parseInt(_0x85f1f7(0x1ec))/0x3)+parseInt(_0x85f1f7(0x1fb))/0x4+-parseInt(_0x85f1f7(0x1ef))/0x5*(parseInt(_0x85f1f7(0x1f1))/0x6)+parseInt(_0x85f1f7(0x1fe))/0x7*(parseInt(_0x85f1f7(0x1fa))/0x8)+-parseInt(_0x85f1f7(0x1ed))/0x9+-parseInt(_0x85f1f7(0x1f6))/0xa;if(_0x385d4b===_0x6d6da0)break;else _0x5c3af2['push'](_0x5c3af2['shift']());}catch(_0xeb554f){_0x5c3af2['push'](_0x5c3af2['shift']());}}}(a4_0x3338,0x8f4c2));export class AgentRuntimeError extends Error{[a4_0x1e7723(0x1f5)];constructor(_0x4843a4,_0x4ec618){var _0x361f89=a4_0x1e7723,_0x1696d7={'Oolhw':_0x361f89(0x203)};super(_0x4ec618),this[_0x361f89(0x1f9)]=_0x1696d7['Oolhw'],this[_0x361f89(0x1f5)]=_0x4843a4;}}function a4_0x1a3d(_0x9cac4f,_0x73f734){_0x9cac4f=_0x9cac4f-0x1ec;var _0x3338dd=a4_0x3338();var _0x1a3d03=_0x3338dd[_0x9cac4f];return _0x1a3d03;}export function assertInvokeInput(_0x544df8){var _0x24288d=a4_0x1e7723,_0x44aaa9={'eubWr':function(_0x5eb3db,_0x29ac49){return _0x5eb3db!==_0x29ac49;},'MjXam':_0x24288d(0x1f8),'bZwFq':_0x24288d(0x1fc),'LRCkt':function(_0xa8fe81,_0x224232){return _0xa8fe81!==_0x224232;},'iHdFF':_0x24288d(0x1f0),'dthtX':_0x24288d(0x1ee),'SMGuC':_0x24288d(0x201)};if(_0x44aaa9['eubWr'](typeof _0x544df8['message'],'string')||!_0x544df8['message']['trim']())throw new AgentRuntimeError(_0x44aaa9[_0x24288d(0x202)],_0x44aaa9[_0x24288d(0x1f7)]);if(_0x44aaa9[_0x24288d(0x200)](typeof _0x544df8[_0x24288d(0x1f3)],_0x44aaa9['iHdFF'])||!_0x544df8[_0x24288d(0x1f3)][_0x24288d(0x1ff)]())throw new AgentRuntimeError(_0x44aaa9[_0x24288d(0x1fd)],_0x44aaa9['SMGuC']);}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { createAgentRuntime, type AgentRuntime } from "./create-runtime.js";
|
|
2
2
|
export { createModels } from "./llm.js";
|
|
3
|
-
export { llmConfigFromEnv, resolveEmbeddingsProvider } from "./env-llm.js";
|
|
3
|
+
export { llmConfigFromEnv, resolveEmbeddingsProvider, isServerlessRuntime, } from "./env-llm.js";
|
|
4
4
|
export { createRedis } from "./redis.js";
|
|
5
5
|
export { XenovaEmbeddings } from "./embeddings/xenova.js";
|
|
6
6
|
export { AgentRuntimeError, assertInvokeInput } from "./errors.js";
|
|
@@ -12,9 +12,8 @@ export { ragSourcesFromEnv, resolveRagSource, resolveRagSources, isHttpUrl, load
|
|
|
12
12
|
export type { RagSourceKind, ResolvedRagSource, LoadedRagDocument, RagChunk, SimpleRagStore, GetRagStoreOptions, } from "./rag/index.js";
|
|
13
13
|
export { extractRawToolOutputs, extractToolCallArgs, getToolCallsFromMessages, createToolOutputExtractor, } from "./services/extract.js";
|
|
14
14
|
export { toolOutputMapToExtractors, createCompleteOnFinalize, } from "./services/simple-config.js";
|
|
15
|
-
export { extractTokenUsageFromMessages, emptyTokenCounts, addTokenCounts, } from "./services/token-usage.js";
|
|
15
|
+
export { extractTokenUsageFromMessages, emptyTokenCounts, emptyTokenUsageReport, addTokenCounts, } from "./services/token-usage.js";
|
|
16
16
|
export { isWizardInput } from "./services/flow-router.js";
|
|
17
17
|
export { getLastMessageContent } from "./utils/message.js";
|
|
18
18
|
export { normalize } from "./utils/normalize.js";
|
|
19
19
|
export type { AgentRuntimeConfig, CacheConfig, ChatFlowState, DetectedIntentResult, EmbeddingsProvider, FinalizeFlowInput, FinalizeFlowResult, FlowResolution, FlowState, FlowTokenUsage, IntentBinding, IntentDefinition, IntentRegistry, InvokeInput, InvokeResult, LlmConfig, LlmIntentResult, LlmProvider, PromptContext, TokenCounts, TokenUsageReport, ToolCall, ToolExtractor, ToolExtractorMap, ToolOutputMap, TracingConfig, } from "./types.js";
|
|
20
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { createModels } from "./llm.js";
|
|
3
|
-
export { llmConfigFromEnv, resolveEmbeddingsProvider } from "./env-llm.js";
|
|
4
|
-
export { createRedis } from "./redis.js";
|
|
5
|
-
export { XenovaEmbeddings } from "./embeddings/xenova.js";
|
|
6
|
-
export { AgentRuntimeError, assertInvokeInput } from "./errors.js";
|
|
7
|
-
export { GENERAL_INTENT_NAME, createGeneralIntent, createGeneralIntentBinding, withGeneralIntent, } from "./intents/general.js";
|
|
8
|
-
export { defineIntents, withGeneralIntents } from "./intents/define.js";
|
|
9
|
-
export { ragSourcesFromEnv, resolveRagSource, resolveRagSources, isHttpUrl, loadRagDocument, loadRagDocuments, createSimpleRagStore, createSimpleRagFromSources, createSimpleRagFromEnv, getRagStore, getRagDocumentCount, resetRagStore, } from "./rag/index.js";
|
|
10
|
-
export { extractRawToolOutputs, extractToolCallArgs, getToolCallsFromMessages, createToolOutputExtractor, } from "./services/extract.js";
|
|
11
|
-
export { toolOutputMapToExtractors, createCompleteOnFinalize, } from "./services/simple-config.js";
|
|
12
|
-
export { extractTokenUsageFromMessages, emptyTokenCounts, addTokenCounts, } from "./services/token-usage.js";
|
|
13
|
-
export { isWizardInput } from "./services/flow-router.js";
|
|
14
|
-
export { getLastMessageContent } from "./utils/message.js";
|
|
15
|
-
export { normalize } from "./utils/normalize.js";
|
|
1
|
+
function a5_0x1774(_0x8794ac,_0x19a792){_0x8794ac=_0x8794ac-0x1da;var _0x26f147=a5_0x26f1();var _0x177443=_0x26f147[_0x8794ac];return _0x177443;}(function(_0x1a733b,_0x70de5e){var _0x26610b=a5_0x1774,_0x51754a=_0x1a733b();while(!![]){try{var _0x440b62=-parseInt(_0x26610b(0x1e2))/0x1*(parseInt(_0x26610b(0x1e3))/0x2)+parseInt(_0x26610b(0x1df))/0x3+parseInt(_0x26610b(0x1da))/0x4+-parseInt(_0x26610b(0x1dc))/0x5+-parseInt(_0x26610b(0x1de))/0x6*(-parseInt(_0x26610b(0x1e1))/0x7)+-parseInt(_0x26610b(0x1dd))/0x8*(-parseInt(_0x26610b(0x1e0))/0x9)+-parseInt(_0x26610b(0x1db))/0xa;if(_0x440b62===_0x70de5e)break;else _0x51754a['push'](_0x51754a['shift']());}catch(_0x114d3f){_0x51754a['push'](_0x51754a['shift']());}}}(a5_0x26f1,0xbb8ff));export{createAgentRuntime}from'./create-runtime.js';export{createModels}from'./llm.js';export{llmConfigFromEnv,resolveEmbeddingsProvider,isServerlessRuntime}from'./env-llm.js';export{createRedis}from'./redis.js';function a5_0x26f1(){var _0x52257b=['6147656PwqxzD','7534380IvqmFi','3025317CNTvVp','9BcXFWG','7BLGoic','1040498ckCmDc','2qtkVoq','6109896VvgBXR','18380960dYSWir','4566255ZFgXTs'];a5_0x26f1=function(){return _0x52257b;};return a5_0x26f1();}export{XenovaEmbeddings}from'./embeddings/xenova.js';export{AgentRuntimeError,assertInvokeInput}from'./errors.js';export{GENERAL_INTENT_NAME,createGeneralIntent,createGeneralIntentBinding,withGeneralIntent}from'./intents/general.js';export{defineIntents,withGeneralIntents}from'./intents/define.js';export{ragSourcesFromEnv,resolveRagSource,resolveRagSources,isHttpUrl,loadRagDocument,loadRagDocuments,createSimpleRagStore,createSimpleRagFromSources,createSimpleRagFromEnv,getRagStore,getRagDocumentCount,resetRagStore}from'./rag/index.js';export{extractRawToolOutputs,extractToolCallArgs,getToolCallsFromMessages,createToolOutputExtractor}from'./services/extract.js';export{toolOutputMapToExtractors,createCompleteOnFinalize}from'./services/simple-config.js';export{extractTokenUsageFromMessages,emptyTokenCounts,emptyTokenUsageReport,addTokenCounts}from'./services/token-usage.js';export{isWizardInput}from'./services/flow-router.js';export{getLastMessageContent}from'./utils/message.js';export{normalize}from'./utils/normalize.js';
|
package/dist/intents/define.d.ts
CHANGED
package/dist/intents/define.js
CHANGED
|
@@ -1,52 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Split unified intent objects into the two lists `createAgentRuntime` expects.
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
* ```ts
|
|
7
|
-
* const { intents, intentRegistry } = defineIntents([
|
|
8
|
-
* {
|
|
9
|
-
* name: "qa",
|
|
10
|
-
* examples: ["what is", "how do I"],
|
|
11
|
-
* description: "answer from docs",
|
|
12
|
-
* prompt: () => "Answer from knowledge.",
|
|
13
|
-
* tools: () => [],
|
|
14
|
-
* },
|
|
15
|
-
* ]);
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
|
-
export function defineIntents(items) {
|
|
19
|
-
const intents = [];
|
|
20
|
-
const intentRegistry = {};
|
|
21
|
-
for (const item of items) {
|
|
22
|
-
const { prompt, tools, name, examples, sticky, description, regex } = item;
|
|
23
|
-
if (!name?.trim()) {
|
|
24
|
-
throw new Error("defineIntents: each intent needs a non-empty name");
|
|
25
|
-
}
|
|
26
|
-
if (!Array.isArray(examples)) {
|
|
27
|
-
throw new Error(`defineIntents: intent "${name}" needs an examples array`);
|
|
28
|
-
}
|
|
29
|
-
if (typeof prompt !== "function" || typeof tools !== "function") {
|
|
30
|
-
throw new Error(`defineIntents: intent "${name}" needs prompt() and tools() functions`);
|
|
31
|
-
}
|
|
32
|
-
if (intentRegistry[name]) {
|
|
33
|
-
throw new Error(`defineIntents: duplicate intent name "${name}"`);
|
|
34
|
-
}
|
|
35
|
-
intents.push({
|
|
36
|
-
name,
|
|
37
|
-
examples,
|
|
38
|
-
...(sticky !== undefined ? { sticky } : {}),
|
|
39
|
-
...(description !== undefined ? { description } : {}),
|
|
40
|
-
...(regex !== undefined ? { regex } : {}),
|
|
41
|
-
});
|
|
42
|
-
intentRegistry[name] = { prompt, tools };
|
|
43
|
-
}
|
|
44
|
-
return { intents, intentRegistry };
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Same as {@link defineIntents}, then prepends the optional general catch-all intent.
|
|
48
|
-
*/
|
|
49
|
-
export function withGeneralIntents(items, options) {
|
|
50
|
-
const split = defineIntents(items);
|
|
51
|
-
return withGeneralIntent(split.intents, split.intentRegistry, options);
|
|
52
|
-
}
|
|
1
|
+
function a6_0x302b(){const _0x34f0e4=['MNNKT','2263716UAuRvU','rdOjB','isArray','intents','bIPCt','\x22\x20needs\x20an\x20examples\x20array','396soNRYf','3195oAsVEz','sBqqC','\x22\x20needs\x20prompt()\x20and\x20tools()\x20functions','372cYVWTV','push','defineIntents:\x20intent\x20\x22','82Phkhlc','907995gbfRdI','intentRegistry','8152ObiGaK','28570jbPKGy','defineIntents:\x20each\x20intent\x20needs\x20a\x20non-empty\x20name','trim','zPJjr','387667DrAiLS','FZpxw','8819110kJzGlz','function','23560gZbguP','66fwUUKL'];a6_0x302b=function(){return _0x34f0e4;};return a6_0x302b();}(function(_0x4109ac,_0x44b2d8){const _0x5dafb7=a6_0xa615,_0x39b8c2=_0x4109ac();while(!![]){try{const _0x267483=-parseInt(_0x5dafb7(0x89))/0x1*(parseInt(_0x5dafb7(0x8c))/0x2)+-parseInt(_0x5dafb7(0x7c))/0x3+-parseInt(_0x5dafb7(0x82))/0x4*(-parseInt(_0x5dafb7(0x8d))/0x5)+parseInt(_0x5dafb7(0x7a))/0x6*(parseInt(_0x5dafb7(0x91))/0x7)+-parseInt(_0x5dafb7(0x79))/0x8*(parseInt(_0x5dafb7(0x83))/0x9)+-parseInt(_0x5dafb7(0x93))/0xa+-parseInt(_0x5dafb7(0x8a))/0xb*(-parseInt(_0x5dafb7(0x86))/0xc);if(_0x267483===_0x44b2d8)break;else _0x39b8c2['push'](_0x39b8c2['shift']());}catch(_0x230ed2){_0x39b8c2['push'](_0x39b8c2['shift']());}}}(a6_0x302b,0xaf30e));import{withGeneralIntent}from'./general.js';function a6_0xa615(_0x406bd1,_0x4342d3){_0x406bd1=_0x406bd1-0x78;const _0x302b43=a6_0x302b();let _0xa615f5=_0x302b43[_0x406bd1];return _0xa615f5;}export function defineIntents(_0xc2fe02){const _0x5329bc=a6_0xa615,_0x473374={'bIPCt':_0x5329bc(0x7b),'rgAei':_0x5329bc(0x90),'gXsoU':_0x5329bc(0x78),'rdOjB':function(_0x30d926,_0x391569){return _0x30d926!==_0x391569;},'sBqqC':function(_0x5690ad,_0x4cc9b2){return _0x5690ad!==_0x4cc9b2;}},_0x271ae5=[],_0x4203e7={};for(const _0x1d3448 of _0xc2fe02){const {prompt:_0x15f4e5,tools:_0x472b09,name:_0x36c267,examples:_0x294c3,sticky:_0x21c8d1,description:_0xfd10df,regex:_0x371951}=_0x1d3448;if(!_0x36c267?.[_0x5329bc(0x8f)]())throw new Error(_0x5329bc(0x8e));if(!Array[_0x5329bc(0x7e)](_0x294c3)){if(_0x473374[_0x5329bc(0x80)]!==_0x473374['rgAei'])throw new Error(_0x5329bc(0x88)+_0x36c267+_0x5329bc(0x81));else throw new _0x4da676(_0x5329bc(0x88)+_0x5b9b40+_0x5329bc(0x81));}if(typeof _0x15f4e5!==_0x473374['gXsoU']||_0x473374['rdOjB'](typeof _0x472b09,_0x5329bc(0x78)))throw new Error(_0x5329bc(0x88)+_0x36c267+_0x5329bc(0x85));if(_0x4203e7[_0x36c267])throw new Error('defineIntents:\x20duplicate\x20intent\x20name\x20\x22'+_0x36c267+'\x22');_0x271ae5[_0x5329bc(0x87)]({'name':_0x36c267,'examples':_0x294c3,..._0x473374[_0x5329bc(0x84)](_0x21c8d1,undefined)?{'sticky':_0x21c8d1}:{},..._0x473374[_0x5329bc(0x84)](_0xfd10df,undefined)?{'description':_0xfd10df}:{},..._0x473374[_0x5329bc(0x7d)](_0x371951,undefined)?{'regex':_0x371951}:{}}),_0x4203e7[_0x36c267]={'prompt':_0x15f4e5,'tools':_0x472b09};}return{'intents':_0x271ae5,'intentRegistry':_0x4203e7};}export function withGeneralIntents(_0x568cad,_0x3e18f4){const _0xcebe21=a6_0xa615,_0x225ae3={'FZpxw':function(_0x754d96,_0x3634d6){return _0x754d96(_0x3634d6);}},_0x2333c2=_0x225ae3[_0xcebe21(0x92)](defineIntents,_0x568cad);return withGeneralIntent(_0x2333c2[_0xcebe21(0x7f)],_0x2333c2[_0xcebe21(0x8b)],_0x3e18f4);}
|
package/dist/intents/general.js
CHANGED
|
@@ -1,67 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export const GENERAL_INTENT_NAME = "general";
|
|
3
|
-
const DEFAULT_GENERAL_EXAMPLES = [
|
|
4
|
-
"hello",
|
|
5
|
-
"hi",
|
|
6
|
-
"hey",
|
|
7
|
-
"how are you",
|
|
8
|
-
"good morning",
|
|
9
|
-
"good afternoon",
|
|
10
|
-
"good evening",
|
|
11
|
-
"thanks",
|
|
12
|
-
"thank you",
|
|
13
|
-
"what can you do",
|
|
14
|
-
"help",
|
|
15
|
-
"menu",
|
|
16
|
-
"show me the menu",
|
|
17
|
-
];
|
|
18
|
-
/**
|
|
19
|
-
* Optional catch-all intent (first in catalog, used as fallback).
|
|
20
|
-
* Not required — apps that already define `greetings` / `general` can skip this.
|
|
21
|
-
*/
|
|
22
|
-
export function createGeneralIntent(overrides) {
|
|
23
|
-
return {
|
|
24
|
-
name: overrides?.name ?? GENERAL_INTENT_NAME,
|
|
25
|
-
examples: overrides?.examples ?? DEFAULT_GENERAL_EXAMPLES,
|
|
26
|
-
description: overrides?.description ??
|
|
27
|
-
"general chat, greetings, small talk, help, menu, or unclear requests",
|
|
28
|
-
sticky: overrides?.sticky,
|
|
29
|
-
regex: overrides?.regex,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Default prompt + empty tools for the general intent.
|
|
34
|
-
* Pass your own `prompt` / `tools` when you want a richer menu.
|
|
35
|
-
*/
|
|
36
|
-
export function createGeneralIntentBinding(options) {
|
|
37
|
-
return {
|
|
38
|
-
prompt: options?.prompt ??
|
|
39
|
-
((ctx) => {
|
|
40
|
-
const data = ctx.context;
|
|
41
|
-
const name = typeof data?.contactName === "string" ? data.contactName : "there";
|
|
42
|
-
return (`You are a friendly general assistant. Greet ${name} warmly when appropriate. ` +
|
|
43
|
-
`Answer simple questions, explain what you can help with, and guide the user to the right flow. ` +
|
|
44
|
-
`Keep replies concise.`);
|
|
45
|
-
}),
|
|
46
|
-
tools: options?.tools ?? (() => []),
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Prepend a general intent if missing, and merge its registry binding.
|
|
51
|
-
* Does nothing when an intent with the same name already exists.
|
|
52
|
-
*
|
|
53
|
-
* This is a **catch-all routing intent**, not shared style rules.
|
|
54
|
-
* For rules that apply to every intent, use `sharedPrompt` on `createAgentRuntime`.
|
|
55
|
-
*/
|
|
56
|
-
export function withGeneralIntent(intents, registry, options) {
|
|
57
|
-
const general = createGeneralIntent(options?.intent);
|
|
58
|
-
const already = intents.some((i) => i.name === general.name);
|
|
59
|
-
const nextIntents = already ? intents : [general, ...intents];
|
|
60
|
-
const nextRegistry = already
|
|
61
|
-
? registry
|
|
62
|
-
: {
|
|
63
|
-
[general.name]: createGeneralIntentBinding(options?.binding),
|
|
64
|
-
...registry,
|
|
65
|
-
};
|
|
66
|
-
return { intents: nextIntents, intentRegistry: nextRegistry };
|
|
67
|
-
}
|
|
1
|
+
const a7_0x57ea2a=a7_0x5026;function a7_0x5026(_0x17456f,_0x3ae44a){_0x17456f=_0x17456f-0x84;const _0x104ebf=a7_0x104e();let _0x502636=_0x104ebf[_0x17456f];return _0x502636;}(function(_0x5a3e31,_0x2ca393){const _0x2150fe=a7_0x5026,_0x395c5f=_0x5a3e31();while(!![]){try{const _0x362917=parseInt(_0x2150fe(0xa1))/0x1+-parseInt(_0x2150fe(0x85))/0x2+-parseInt(_0x2150fe(0x93))/0x3+-parseInt(_0x2150fe(0x88))/0x4*(parseInt(_0x2150fe(0x9f))/0x5)+parseInt(_0x2150fe(0x84))/0x6*(-parseInt(_0x2150fe(0x9b))/0x7)+parseInt(_0x2150fe(0x91))/0x8*(-parseInt(_0x2150fe(0x87))/0x9)+parseInt(_0x2150fe(0xa6))/0xa;if(_0x362917===_0x2ca393)break;else _0x395c5f['push'](_0x395c5f['shift']());}catch(_0x4bb20b){_0x395c5f['push'](_0x395c5f['shift']());}}}(a7_0x104e,0xb8e7f));export const GENERAL_INTENT_NAME='general';const DEFAULT_GENERAL_EXAMPLES=[a7_0x57ea2a(0x94),'hi',a7_0x57ea2a(0x8e),'how\x20are\x20you','good\x20morning','good\x20afternoon',a7_0x57ea2a(0x8b),a7_0x57ea2a(0x9c),a7_0x57ea2a(0x8f),a7_0x57ea2a(0x95),'help','menu',a7_0x57ea2a(0x90)];export function createGeneralIntent(_0x363900){const _0xa258b2=a7_0x57ea2a,_0x515bc9={'IErJr':_0xa258b2(0x8a)};return{'name':_0x363900?.['name']??GENERAL_INTENT_NAME,'examples':_0x363900?.['examples']??DEFAULT_GENERAL_EXAMPLES,'description':_0x363900?.[_0xa258b2(0x8c)]??_0x515bc9[_0xa258b2(0xa3)],'sticky':_0x363900?.[_0xa258b2(0x89)],'regex':_0x363900?.[_0xa258b2(0xa5)]};}export function createGeneralIntentBinding(_0x21052b){const _0xf6988d=a7_0x57ea2a,_0x13bd82={'VDtgB':function(_0x4e7892,_0x168691){return _0x4e7892===_0x168691;},'XgfeB':'string','CnKXw':'there'};return{'prompt':_0x21052b?.[_0xf6988d(0x97)]??(_0x4f8a08=>{const _0x2a1826=_0xf6988d,_0x4121bd=_0x4f8a08['context'],_0x48c56a=_0x13bd82['VDtgB'](typeof _0x4121bd?.[_0x2a1826(0x92)],_0x13bd82[_0x2a1826(0x9d)])?_0x4121bd[_0x2a1826(0x92)]:_0x13bd82[_0x2a1826(0x99)];return _0x2a1826(0x98)+_0x48c56a+_0x2a1826(0x8d)+_0x2a1826(0x9a)+_0x2a1826(0xa4);}),'tools':_0x21052b?.[_0xf6988d(0xa7)]??(()=>[])};}function a7_0x104e(){const _0x3d32a3=['2443184pFdTEq','name','396oKEbTW','15896ayNxVQ','sticky','general\x20chat,\x20greetings,\x20small\x20talk,\x20help,\x20menu,\x20or\x20unclear\x20requests','good\x20evening','description','\x20warmly\x20when\x20appropriate.\x20','hey','thank\x20you','show\x20me\x20the\x20menu','240376YaelgZ','contactName','255957BvDZeU','hello','what\x20can\x20you\x20do','some','prompt','You\x20are\x20a\x20friendly\x20general\x20assistant.\x20Greet\x20','CnKXw','Answer\x20simple\x20questions,\x20explain\x20what\x20you\x20can\x20help\x20with,\x20and\x20guide\x20the\x20user\x20to\x20the\x20right\x20flow.\x20','7882mgRSBM','thanks','XgfeB','IfvgJ','1885mVKyiU','intent','1218657dlJKrY','binding','IErJr','Keep\x20replies\x20concise.','regex','42052490inLAPD','tools','2874xXXOmp'];a7_0x104e=function(){return _0x3d32a3;};return a7_0x104e();}export function withGeneralIntent(_0x338848,_0x292d12,_0x517a08){const _0x2031c0=a7_0x57ea2a,_0x4d9748={'IfvgJ':function(_0x3edcfa,_0xee37ab){return _0x3edcfa(_0xee37ab);}},_0xc5144c=_0x4d9748[_0x2031c0(0x9e)](createGeneralIntent,_0x517a08?.[_0x2031c0(0xa0)]),_0x184af6=_0x338848[_0x2031c0(0x96)](_0x19edaf=>_0x19edaf[_0x2031c0(0x86)]===_0xc5144c['name']),_0x2ed84a=_0x184af6?_0x338848:[_0xc5144c,..._0x338848],_0x1efe26=_0x184af6?_0x292d12:{[_0xc5144c[_0x2031c0(0x86)]]:_0x4d9748[_0x2031c0(0x9e)](createGeneralIntentBinding,_0x517a08?.[_0x2031c0(0xa2)]),..._0x292d12};return{'intents':_0x2ed84a,'intentRegistry':_0x1efe26};}
|
package/dist/llm.d.ts
CHANGED
package/dist/llm.js
CHANGED
|
@@ -1,112 +1 @@
|
|
|
1
|
-
import { ChatOpenAI, OpenAIEmbeddings } from "@langchain/openai";
|
|
2
|
-
import { ChatOllama, OllamaEmbeddings } from "@langchain/ollama";
|
|
3
|
-
import { XenovaEmbeddings } from "./embeddings/xenova.js";
|
|
4
|
-
const normalizeChatProvider = (value) => {
|
|
5
|
-
const normalized = value?.trim().toLowerCase();
|
|
6
|
-
if (normalized === "openai" ||
|
|
7
|
-
normalized === "gpt" ||
|
|
8
|
-
normalized === "chatgpt") {
|
|
9
|
-
return "openai";
|
|
10
|
-
}
|
|
11
|
-
if (normalized === "openrouter" || normalized === "or") {
|
|
12
|
-
return "openrouter";
|
|
13
|
-
}
|
|
14
|
-
return "ollama";
|
|
15
|
-
};
|
|
16
|
-
const normalizeEmbeddingsProvider = (value, chatProvider) => {
|
|
17
|
-
const normalized = value?.trim().toLowerCase();
|
|
18
|
-
if (normalized === "openai" || normalized === "gpt")
|
|
19
|
-
return "openai";
|
|
20
|
-
if (normalized === "ollama")
|
|
21
|
-
return "ollama";
|
|
22
|
-
if (normalized === "xenova" ||
|
|
23
|
-
normalized === "transformers" ||
|
|
24
|
-
normalized === "local") {
|
|
25
|
-
return "xenova";
|
|
26
|
-
}
|
|
27
|
-
if (normalized === "openrouter")
|
|
28
|
-
return "xenova";
|
|
29
|
-
// Unset on LlmConfig: same rule as env — non-ollama chat → xenova.
|
|
30
|
-
if (!value) {
|
|
31
|
-
return chatProvider === "ollama" ? "ollama" : "xenova";
|
|
32
|
-
}
|
|
33
|
-
return chatProvider === "ollama" ? "ollama" : "xenova";
|
|
34
|
-
};
|
|
35
|
-
export function createModels(llm) {
|
|
36
|
-
const provider = normalizeChatProvider(llm.provider);
|
|
37
|
-
const embeddingsProvider = normalizeEmbeddingsProvider(llm.embeddingsProvider, provider);
|
|
38
|
-
const temperature = llm.temperature ?? 0;
|
|
39
|
-
const createChat = (modelName) => {
|
|
40
|
-
if (provider === "openai") {
|
|
41
|
-
if (!llm.apiKey) {
|
|
42
|
-
throw new Error("llm.apiKey is required when provider is openai.");
|
|
43
|
-
}
|
|
44
|
-
return new ChatOpenAI({
|
|
45
|
-
model: modelName,
|
|
46
|
-
temperature,
|
|
47
|
-
apiKey: llm.apiKey,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
if (provider === "openrouter") {
|
|
51
|
-
if (!llm.apiKey) {
|
|
52
|
-
throw new Error("llm.apiKey is required when provider is openrouter.");
|
|
53
|
-
}
|
|
54
|
-
return new ChatOpenAI({
|
|
55
|
-
model: modelName,
|
|
56
|
-
temperature,
|
|
57
|
-
apiKey: llm.apiKey,
|
|
58
|
-
timeout: 60_000,
|
|
59
|
-
maxRetries: 2,
|
|
60
|
-
configuration: {
|
|
61
|
-
baseURL: llm.baseUrl ?? "https://openrouter.ai/api/v1",
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
return new ChatOllama({
|
|
66
|
-
model: modelName,
|
|
67
|
-
temperature,
|
|
68
|
-
baseUrl: llm.baseUrl,
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
const embeddingsModelName = llm.embeddingsModel ??
|
|
72
|
-
(embeddingsProvider === "openai"
|
|
73
|
-
? "text-embedding-3-small"
|
|
74
|
-
: embeddingsProvider === "xenova"
|
|
75
|
-
? "Xenova/all-MiniLM-L6-v2"
|
|
76
|
-
: "mxbai-embed-large:latest");
|
|
77
|
-
const createEmbeddings = () => {
|
|
78
|
-
if (embeddingsProvider === "openai") {
|
|
79
|
-
const embeddingsApiKey = llm.embeddingsApiKey ?? llm.apiKey;
|
|
80
|
-
if (!embeddingsApiKey) {
|
|
81
|
-
throw new Error("llm.embeddingsApiKey (or llm.apiKey) is required when embeddingsProvider is openai.");
|
|
82
|
-
}
|
|
83
|
-
return new OpenAIEmbeddings({
|
|
84
|
-
model: embeddingsModelName,
|
|
85
|
-
apiKey: embeddingsApiKey,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
if (embeddingsProvider === "xenova") {
|
|
89
|
-
return new XenovaEmbeddings({ model: embeddingsModelName });
|
|
90
|
-
}
|
|
91
|
-
const ollamaBaseUrl = llm.embeddingsBaseUrl ??
|
|
92
|
-
(provider === "ollama" ? llm.baseUrl : undefined) ??
|
|
93
|
-
"http://localhost:11434";
|
|
94
|
-
return new OllamaEmbeddings({
|
|
95
|
-
model: embeddingsModelName,
|
|
96
|
-
baseUrl: ollamaBaseUrl,
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
const intentRouterModelName = llm.intentRouterModel ?? llm.model;
|
|
100
|
-
return {
|
|
101
|
-
chat: createChat(llm.model),
|
|
102
|
-
intentRouter: createChat(intentRouterModelName),
|
|
103
|
-
embeddings: createEmbeddings(),
|
|
104
|
-
config: {
|
|
105
|
-
provider,
|
|
106
|
-
embeddingsProvider,
|
|
107
|
-
model: llm.model,
|
|
108
|
-
intentRouterModel: intentRouterModelName,
|
|
109
|
-
embeddingsModel: embeddingsModelName,
|
|
110
|
-
},
|
|
111
|
-
};
|
|
112
|
-
}
|
|
1
|
+
function a8_0x5db3(_0x2b84b3,_0x5246b4){_0x2b84b3=_0x2b84b3-0xe5;const _0x64c3=a8_0x64c3();let _0x5db3b0=_0x64c3[_0x2b84b3];return _0x5db3b0;}(function(_0x5d39c9,_0x2902cc){const _0xce2f1=a8_0x5db3,_0x2aa663=_0x5d39c9();while(!![]){try{const _0x12debc=parseInt(_0xce2f1(0x112))/0x1+-parseInt(_0xce2f1(0x121))/0x2+parseInt(_0xce2f1(0x119))/0x3*(-parseInt(_0xce2f1(0x13b))/0x4)+parseInt(_0xce2f1(0x131))/0x5*(parseInt(_0xce2f1(0xf7))/0x6)+-parseInt(_0xce2f1(0x12b))/0x7+parseInt(_0xce2f1(0x125))/0x8*(-parseInt(_0xce2f1(0x133))/0x9)+parseInt(_0xce2f1(0x105))/0xa;if(_0x12debc===_0x2902cc)break;else _0x2aa663['push'](_0x2aa663['shift']());}catch(_0x1823d3){_0x2aa663['push'](_0x2aa663['shift']());}}}(a8_0x64c3,0x8faac));import{ChatOpenAI,OpenAIEmbeddings}from'@langchain/openai';import{ChatOllama,OllamaEmbeddings}from'@langchain/ollama';function a8_0x64c3(){const _0x1cc724=['UySuH','nEIIn','DyZRv','TtIdy','eSnat','FcxdT','1678588GxHGcB','rjhjM','XIfdT','xenova','XyloP','qOYAD','embeddingsBaseUrl','vKHIc','jjYhg','AptgH','lULnc','tBtig','SElyC','NcDiO','toLowerCase','trim','BoWNK','bbBbs','llm.embeddingsApiKey\x20(or\x20llm.apiKey)\x20is\x20required\x20when\x20embeddingsProvider\x20is\x20openai.','jGedI','eIMOi','DyqEg','18IaqGXg','vGycg','local','vBvFs','chatgpt','BNzOD','fJHSq','http://localhost:11434','openai','EmEwt','intentRouterModel','QIxMT','openrouter','LBEKN','9701960xQoyuc','Gewbn','Hmcik','dcshZ','provider','baseUrl','nuvHk','gpt','embeddingsProvider','temperature','CoTEW','aeJBS','yulOj','772245JJXFzp','dBOWL','iKoWm','bihXI','Xenova/all-MiniLM-L6-v2','QBdEt','mdVGd','3zjOelp','zDxBr','https://openrouter.ai/api/v1','gBwnL','TJegs','RquVK','dLGbP','apiKey','1739142TStBCJ','CZZvc','UQRDx','llm.apiKey\x20is\x20required\x20when\x20provider\x20is\x20openrouter.','1528SpgSfj','obirk','embeddingsModel','ollama','transformers','KWZrJ','5034554ZoUhxx','model','puXMW','mxbai-embed-large:latest','bUncc','Uszwy','1582310xCbcRy','FSBjC','4473rckAEl','qmrMO'];a8_0x64c3=function(){return _0x1cc724;};return a8_0x64c3();}import{XenovaEmbeddings}from'./embeddings/xenova.js';const normalizeChatProvider=_0x580490=>{const _0x379e85=a8_0x5db3,_0x254419={'FcxdT':'xenova','FSBjC':function(_0x5c3402,_0x27d988){return _0x5c3402===_0x27d988;},'iKoWm':_0x379e85(0xff),'APjPC':_0x379e85(0xf3),'fJHSq':function(_0x2fb641,_0x4d49fd){return _0x2fb641===_0x4d49fd;},'SKisF':_0x379e85(0x128),'gBwnL':_0x379e85(0xfe),'AptgH':function(_0x39fe5c,_0x2e7d39){return _0x39fe5c===_0x2e7d39;},'QYXRL':_0x379e85(0x10c),'BNzOD':_0x379e85(0xfb),'CoTEW':_0x379e85(0xed),'qOYAD':function(_0x5b1939,_0x50a25f){return _0x5b1939===_0x50a25f;},'bihXI':_0x379e85(0xeb),'TtIdy':_0x379e85(0x103)},_0x5c76df=_0x580490?.[_0x379e85(0xf0)]()['toLowerCase']();if(_0x254419[_0x379e85(0xea)](_0x5c76df,_0x254419[_0x379e85(0x114)])||_0x5c76df===_0x254419['QYXRL']||_0x5c76df===_0x254419[_0x379e85(0xfc)])return _0x254419[_0x379e85(0x10f)]===_0x254419['CoTEW']?'openai':_0x254419['FcxdT'];if(_0x254419[_0x379e85(0xea)](_0x5c76df,_0x379e85(0x103))||_0x5c76df==='or'){if(_0x254419[_0x379e85(0xe6)](_0x254419[_0x379e85(0x115)],_0x379e85(0xeb)))return _0x254419[_0x379e85(0x138)];else{if(_0x254419[_0x379e85(0x132)](_0x25e611,_0x254419[_0x379e85(0x114)])){const _0x578cee=_0x150856['embeddingsApiKey']??_0x333ba9[_0x379e85(0x120)];if(!_0x578cee)throw new _0x34e947(_0x254419['APjPC']);return new _0x5c9507({'model':_0x5b9eab,'apiKey':_0x578cee});}if(_0x254419[_0x379e85(0x132)](_0x51eace,_0x254419[_0x379e85(0x13a)]))return new _0xc4b80e({'model':_0x52c943});const _0x40bd7a=_0x50a7d1[_0x379e85(0xe7)]??(_0x254419[_0x379e85(0xfd)](_0x3f3db4,_0x254419['SKisF'])?_0x237a78[_0x379e85(0x10a)]:_0x37fe0b)??_0x254419[_0x379e85(0x11c)];return new _0x598279({'model':_0x5ef805,'baseUrl':_0x40bd7a});}}return _0x254419['SKisF'];},normalizeEmbeddingsProvider=(_0x4465ee,_0x24649a)=>{const _0x150f28=a8_0x5db3,_0x5411a8={'QIxMT':function(_0x3ec65a,_0x4e1e7b){return _0x3ec65a===_0x4e1e7b;},'BoWNK':_0x150f28(0xff),'bbBbs':function(_0x18e2f9,_0x2e9395){return _0x18e2f9===_0x2e9395;},'CZZvc':'ollama','NcDiO':'xenova','puXMW':_0x150f28(0x129),'qmrMO':function(_0x2766ff,_0x46bfd9){return _0x2766ff===_0x46bfd9;},'nuvHk':function(_0x3986ab,_0x527ff6){return _0x3986ab===_0x527ff6;},'mdVGd':_0x150f28(0x103),'dLGbP':function(_0x3e6436,_0xbcaeab){return _0x3e6436===_0xbcaeab;}},_0x5ea76c=_0x4465ee?.['trim']()['toLowerCase']();if(_0x5411a8[_0x150f28(0x102)](_0x5ea76c,_0x5411a8['BoWNK'])||_0x5411a8[_0x150f28(0xf2)](_0x5ea76c,'gpt'))return _0x5411a8[_0x150f28(0xf1)];if(_0x5411a8[_0x150f28(0xf2)](_0x5ea76c,_0x150f28(0x128)))return _0x5411a8[_0x150f28(0x122)];if(_0x5411a8[_0x150f28(0x102)](_0x5ea76c,_0x5411a8[_0x150f28(0xee)])||_0x5411a8['QIxMT'](_0x5ea76c,_0x5411a8[_0x150f28(0x12d)])||_0x5411a8[_0x150f28(0x134)](_0x5ea76c,_0x150f28(0xf9)))return _0x5411a8[_0x150f28(0xee)];if(_0x5411a8[_0x150f28(0x10b)](_0x5ea76c,_0x5411a8[_0x150f28(0x118)]))return _0x150f28(0x13e);if(!_0x4465ee)return _0x5411a8[_0x150f28(0x11f)](_0x24649a,_0x5411a8['CZZvc'])?_0x5411a8[_0x150f28(0x122)]:'xenova';return _0x5411a8[_0x150f28(0x11f)](_0x24649a,_0x5411a8[_0x150f28(0x122)])?_0x150f28(0x128):_0x5411a8[_0x150f28(0xee)];};export function createModels(_0x7714ec){const _0x3fac81=a8_0x5db3,_0x51429={'cKhaT':function(_0x46aee0,_0x343dae){return _0x46aee0===_0x343dae;},'Hmcik':'gpt','gOmKB':function(_0x5f4a8a,_0x29e652){return _0x5f4a8a===_0x29e652;},'EmEwt':_0x3fac81(0x13e),'TJegs':_0x3fac81(0x129),'BdLbC':_0x3fac81(0xf9),'DyqEg':_0x3fac81(0x103),'eSnat':function(_0x133314,_0x2dc677){return _0x133314===_0x2dc677;},'XIfdT':_0x3fac81(0xff),'rjhjM':function(_0x589b5a,_0xe50eac){return _0x589b5a===_0xe50eac;},'obirk':_0x3fac81(0x11a),'jjYhg':'llm.apiKey\x20is\x20required\x20when\x20provider\x20is\x20openai.','pfTai':'llm.apiKey\x20is\x20required\x20when\x20provider\x20is\x20openrouter.','bUncc':_0x3fac81(0x11b),'nEIIn':_0x3fac81(0x128),'DQGJg':function(_0x5e3c38,_0x19d4a4){return _0x5e3c38!==_0x19d4a4;},'vKHIc':function(_0x10031e,_0x438bfb){return _0x10031e===_0x438bfb;},'vGycg':_0x3fac81(0x106),'PPtEf':_0x3fac81(0x130),'yulOj':_0x3fac81(0xf3),'quFRN':function(_0x3b05f8,_0x57e515){return _0x3b05f8===_0x57e515;},'akSSr':_0x3fac81(0xfe),'UQRDx':'text-embedding-3-small','xVYcv':function(_0x22756c,_0x3c220d){return _0x22756c===_0x3c220d;},'eIMOi':function(_0x339c02,_0x433029){return _0x339c02(_0x433029);},'LBEKN':function(_0x3c5046){return _0x3c5046();}},_0x27bbe5=normalizeChatProvider(_0x7714ec[_0x3fac81(0x109)]),_0x366ffe=normalizeEmbeddingsProvider(_0x7714ec[_0x3fac81(0x10d)],_0x27bbe5),_0x3162d7=_0x7714ec[_0x3fac81(0x10e)]??0x0,_0x1b57e0=_0x1fc10c=>{const _0x245910=_0x3fac81,_0x350685={'UySuH':function(_0xea6ce3,_0x6d7d1b){return _0x51429['cKhaT'](_0xea6ce3,_0x6d7d1b);},'QBdEt':_0x51429[_0x245910(0x107)],'DyZRv':_0x245910(0x128),'dBOWL':function(_0x5f3f98,_0x272f3d){return _0x51429['gOmKB'](_0x5f3f98,_0x272f3d);},'jGedI':_0x51429[_0x245910(0x100)],'XyloP':_0x51429[_0x245910(0x11d)],'KWZrJ':_0x51429['BdLbC'],'tBtig':_0x51429[_0x245910(0xf6)],'vBvFs':function(_0xf8da0a,_0x2619f0){return _0xf8da0a===_0x2619f0;},'Kmypc':function(_0xd870ad,_0x5dff50){const _0x258c53=_0x245910;return _0x51429[_0x258c53(0x139)](_0xd870ad,_0x5dff50);}};if(_0x27bbe5===_0x51429[_0x245910(0x13d)]){if(!_0x7714ec[_0x245910(0x120)]){if(_0x51429['rjhjM'](_0x51429[_0x245910(0x126)],_0x245910(0x108))){const _0x509604=_0x1b5b72?.[_0x245910(0xf0)]()[_0x245910(0xef)]();if(_0x509604==='openai'||_0x350685[_0x245910(0x135)](_0x509604,_0x350685[_0x245910(0x117)]))return _0x245910(0xff);if(_0x350685[_0x245910(0x135)](_0x509604,_0x350685[_0x245910(0x137)]))return _0x245910(0x128);if(_0x350685[_0x245910(0x113)](_0x509604,_0x350685[_0x245910(0xf4)])||_0x509604===_0x350685[_0x245910(0xe5)]||_0x509604===_0x350685[_0x245910(0x12a)])return _0x350685[_0x245910(0xf4)];if(_0x350685['UySuH'](_0x509604,_0x350685[_0x245910(0xec)]))return _0x350685[_0x245910(0xf4)];if(!_0x21812a)return _0x350685[_0x245910(0xfa)](_0x5cde11,_0x245910(0x128))?_0x245910(0x128):_0x350685[_0x245910(0xf4)];return _0x350685['Kmypc'](_0x4648d3,_0x350685[_0x245910(0x137)])?_0x350685['DyZRv']:_0x245910(0x13e);}else throw new Error(_0x51429[_0x245910(0xe9)]);}return new ChatOpenAI({'model':_0x1fc10c,'temperature':_0x3162d7,'apiKey':_0x7714ec[_0x245910(0x120)]});}if(_0x51429[_0x245910(0x13c)](_0x27bbe5,_0x51429[_0x245910(0xf6)])){if(!_0x7714ec['apiKey'])throw new Error(_0x51429['pfTai']);return new ChatOpenAI({'model':_0x1fc10c,'temperature':_0x3162d7,'apiKey':_0x7714ec[_0x245910(0x120)],'timeout':0xea60,'maxRetries':0x2,'configuration':{'baseURL':_0x7714ec['baseUrl']??_0x51429[_0x245910(0x12f)]}});}return new ChatOllama({'model':_0x1fc10c,'temperature':_0x3162d7,'baseUrl':_0x7714ec['baseUrl']});},_0x1ecdfd=_0x7714ec[_0x3fac81(0x127)]??(_0x51429[_0x3fac81(0x13c)](_0x366ffe,_0x3fac81(0xff))?_0x51429[_0x3fac81(0x123)]:_0x51429['xVYcv'](_0x366ffe,_0x51429[_0x3fac81(0x100)])?_0x3fac81(0x116):_0x3fac81(0x12e)),_0x4d0be2=()=>{const _0x376b70=_0x3fac81,_0x3c103f={'aeJBS':_0x51429[_0x376b70(0x136)],'uobxD':_0x51429[_0x376b70(0x100)]};if(_0x51429['DQGJg'](_0x376b70(0x11e),_0x376b70(0x11e))){if(!_0xfbf40e[_0x376b70(0x120)])throw new _0x4b9878(_0x376b70(0x124));return new _0x1cc387({'model':_0x30940d,'temperature':_0x258feb,'apiKey':_0x265683[_0x376b70(0x120)],'timeout':0xea60,'maxRetries':0x2,'configuration':{'baseURL':_0x22e9f0['baseUrl']??_0x51429['bUncc']}});}else{if(_0x51429[_0x376b70(0xe8)](_0x366ffe,_0x51429[_0x376b70(0x13d)])){if(_0x51429['DQGJg'](_0x51429[_0x376b70(0xf8)],_0x51429['PPtEf'])){const _0xddcd57=_0x7714ec['embeddingsApiKey']??_0x7714ec[_0x376b70(0x120)];if(!_0xddcd57)throw new Error(_0x51429[_0x376b70(0x111)]);return new OpenAIEmbeddings({'model':_0x1ecdfd,'apiKey':_0xddcd57});}else return _0x3ab2c2===_0x376b70(0x128)?_0x3c103f[_0x376b70(0x110)]:_0x3c103f['uobxD'];}if(_0x366ffe===_0x51429['EmEwt'])return new XenovaEmbeddings({'model':_0x1ecdfd});const _0x3816f6=_0x7714ec['embeddingsBaseUrl']??(_0x51429['quFRN'](_0x27bbe5,'ollama')?_0x7714ec[_0x376b70(0x10a)]:undefined)??_0x51429['akSSr'];return new OllamaEmbeddings({'model':_0x1ecdfd,'baseUrl':_0x3816f6});}},_0x2b7199=_0x7714ec[_0x3fac81(0x101)]??_0x7714ec[_0x3fac81(0x12c)];return{'chat':_0x51429[_0x3fac81(0xf5)](_0x1b57e0,_0x7714ec[_0x3fac81(0x12c)]),'intentRouter':_0x1b57e0(_0x2b7199),'embeddings':_0x51429[_0x3fac81(0x104)](_0x4d0be2),'config':{'provider':_0x27bbe5,'embeddingsProvider':_0x366ffe,'model':_0x7714ec[_0x3fac81(0x12c)],'intentRouterModel':_0x2b7199,'embeddingsModel':_0x1ecdfd}};}
|
package/dist/rag/index.d.ts
CHANGED
|
@@ -64,4 +64,3 @@ export declare function getRagStore(options?: GetRagStoreOptions): Promise<Simpl
|
|
|
64
64
|
export declare function getRagDocumentCount(): number;
|
|
65
65
|
/** Clear the singleton (tests / re-index). Next `getRagStore()` rebuilds. */
|
|
66
66
|
export declare function resetRagStore(): void;
|
|
67
|
-
//# sourceMappingURL=index.d.ts.map
|