From fc59d7c49c1e3950794030c87ec0a411fc45e372 Mon Sep 17 00:00:00 2001 From: Wx-2025 <351320169@qq.com> Date: Fri, 19 Sep 2025 16:54:46 +0800 Subject: [PATCH] Update rag-processor.js --- core/rag-processor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/rag-processor.js b/core/rag-processor.js index c098264..f8efbc9 100644 --- a/core/rag-processor.js +++ b/core/rag-processor.js @@ -1 +1 @@ -'use strict';const _0x468c3a=_0x5109;(function(_0x4cafd9,_0x5b8e51){const _0x3c5930=_0x5109,_0x3967f6=_0x4cafd9();while(!![]){try{const _0x5c9a38=-parseInt(_0x3c5930(0x17d))/0x1+-parseInt(_0x3c5930(0x167))/0x2+-parseInt(_0x3c5930(0x126))/0x3+-parseInt(_0x3c5930(0x159))/0x4*(parseInt(_0x3c5930(0x1ee))/0x5)+-parseInt(_0x3c5930(0x184))/0x6*(-parseInt(_0x3c5930(0x1b0))/0x7)+parseInt(_0x3c5930(0x121))/0x8*(-parseInt(_0x3c5930(0x1b9))/0x9)+parseInt(_0x3c5930(0x142))/0xa*(parseInt(_0x3c5930(0x160))/0xb);if(_0x5c9a38===_0x5b8e51)break;else _0x3967f6['push'](_0x3967f6['shift']());}catch(_0xc8b8df){_0x3967f6['push'](_0x3967f6['shift']());}}}(_0x5abd,0xf1a11));function _0x5109(_0x12e9f5,_0x11e87e){const _0x5abd46=_0x5abd();return _0x5109=function(_0x51095a,_0x67ba8){_0x51095a=_0x51095a-0x118;let _0x41c784=_0x5abd46[_0x51095a];return _0x41c784;},_0x5109(_0x12e9f5,_0x11e87e);}import{extension_prompt_roles,setExtensionPrompt}from'/script.js';import*as _0x36cde4 from'./utils/context-utils.js';import{getCollectionIdInfo,getCharacterId,getCharacterStableId}from'./utils/context-utils.js';import{defaultSettings as _0x12e010}from'./rag-settings.js';import*as _0x16fcfd from'./ingestion-manager.js';import{getEmbeddings,fetchEmbeddingModels as _0x270350,fetchRerankModels as _0xaf9e02,executeRerank,testApiConnection as _0x5397dd}from'./rag-api.js';const MODULE_NAME=_0x468c3a(0x13d),OFFICIAL_REARRANGE_CHAT_FUNCTION_NAME='vectors_rearrangeChat',GLOBAL_SCOPE_ID=_0x468c3a(0x175);let context=null,settings=null,lockedCollectionId=null;export{initialize,getSettings,saveSettings,resetSettings,_0x5397dd as testApiConnection,_0x270350 as fetchEmbeddingModels,_0xaf9e02 as fetchRerankModels,getVectorCount,purgeStorage,getMessagesForCondensation,processCondensation,ingestTextToHanlinyuan,getCollectionId,toggleSessionLock,isSessionLocked,getLockedSessionInfo,addKnowledgeBase,removeKnowledgeBase,getLocalKnowledgeBases,getGlobalKnowledgeBases,toggleKnowledgeBase,moveKnowledgeBase};function initialize(){const _0x27d9da=_0x468c3a;context=SillyTavern['getContext']();if(!context){console[_0x27d9da(0x173)](_0x27d9da(0x1f8));return;}settings=getSettings(),!window[_0x27d9da(0x171)]&&(window[_0x27d9da(0x171)]={}),window['hanlinyuanRagProcessor'][_0x27d9da(0x141)]=rearrangeChat,window[_0x27d9da(0x171)][_0x27d9da(0x165)]=!![],console[_0x27d9da(0x187)](_0x27d9da(0x11c));}async function ingestTextToHanlinyuan(_0x3ba7af,_0x578c53=_0x468c3a(0x130),_0x14e43f={},_0x24c022=()=>{},_0x2f2451=null,_0x233087=()=>{},_0x87f819=()=>{},_0xfd6cb8=null,_0x409ded=0x0){const _0x404fb5=_0x468c3a;if(!_0x3ba7af||!_0x3ba7af[_0x404fb5(0x1c9)]())return{'success':![],'error':_0x404fb5(0x1a6)};if(!settings)return{'success':![],'error':_0x404fb5(0x1df)};try{const _0x3b439e=getCollectionIdInfo(),_0x2f9711=await _0x2f878b();if(_0x3b439e[_0x404fb5(0x1ce)]&&_0x3b439e[_0x404fb5(0x1ce)]===_0x2f9711&&_0x3b439e[_0x404fb5(0x1ce)]!==_0x3b439e['newId']){const _0x4ad7c9=confirm(_0x404fb5(0x123));if(_0x4ad7c9)_0x233087(_0x404fb5(0x1f4)+_0x3b439e['oldId'],_0x404fb5(0x172)),await purgeStorage(_0x3b439e[_0x404fb5(0x1ce)]),_0x233087(_0x404fb5(0x197),_0x404fb5(0x185));else return _0x233087('[翰林院-迁移]\x20用户取消了迁移操作。',_0x404fb5(0x1bc)),toastr['info']('操作已取消。'),{'success':![],'error':_0x404fb5(0x161)};}let _0x87d125,_0x57070d;const _0xc9c683=new Date()['toLocaleString'](_0x404fb5(0x13a),{'hour12':![]}),_0x591ee8=getCharacterName()||'未知角色';switch(_0x578c53){case _0x404fb5(0x1e2):const _0x372dc0=_0x14e43f[_0x404fb5(0x1e7)]||{},_0x5b1d1c=_0x372dc0[_0x404fb5(0x1d4)]??'?',_0x870d6=_0x372dc0[_0x404fb5(0x139)]===0x0?'末':_0x372dc0[_0x404fb5(0x139)]??'?';_0x87d125=_0x591ee8+':\x20'+_0x5b1d1c+'楼-'+_0x870d6+'楼';break;case'lorebook':const _0x342262=_0x14e43f[_0x404fb5(0x1da)]||_0x404fb5(0x180),_0x24af59=_0x14e43f[_0x404fb5(0x145)]||_0x404fb5(0x1ea);_0x87d125=_0x342262+':\x20'+_0x24af59;break;case'novel':_0x87d125='小说:\x20'+(_0x14e43f['sourceName']||'未知小说');break;case _0x404fb5(0x130):default:_0x87d125='手动录入:\x20'+_0xc9c683;break;}const _0x1f71b9=Object[_0x404fb5(0x1b5)](getKnowledgeBases()),_0x2dbe49=_0x1f71b9[_0x404fb5(0x1a0)](_0x5e2d76=>_0x5e2d76[_0x404fb5(0x17f)]===_0x87d125);if(_0x2dbe49)_0x57070d=_0x2dbe49['id'],_0x233087(_0x404fb5(0x168)+_0x87d125+_0x404fb5(0x1a2),_0x404fb5(0x1bc));else{_0x233087(_0x404fb5(0x1ae)+_0x87d125+_0x404fb5(0x14c),_0x404fb5(0x1bc));const _0x557d84=addKnowledgeBase(_0x87d125);_0x57070d=_0x557d84['id'];}const _0x3750dd=getCharacterStableId(),_0x2f2d61=_0x3750dd+'_'+_0x57070d;_0x233087(_0x404fb5(0x194)+_0x87d125+'\x20(集合ID:\x20'+_0x2f2d61+')',_0x404fb5(0x185)),_0x233087(_0x404fb5(0x183)+_0x2f2d61,_0x404fb5(0x1bc)),_0x24c022({'message':'正在智能分块...','processed':0x0,'total':0x1});const _0x24cc7e=splitIntoChunks(_0x3ba7af,_0x578c53,_0x14e43f),_0x40b090=_0x24cc7e[_0x404fb5(0x1be)];if(_0x2f2451?.[_0x404fb5(0x19a)])throw new Error('AbortError');_0x233087(_0x404fb5(0x1f6)+_0x87d125+_0x404fb5(0x1cb)+_0x40b090+_0x404fb5(0x151),'info');if(_0x40b090===0x0)return{'success':!![],'count':0x0};const _0x31790b=settings[_0x404fb5(0x18e)][_0x404fb5(0x1fe)]||0x5;let _0xc69787=_0x409ded;for(let _0x373f3d=_0x409ded;_0x373f3d<_0x40b090;_0x373f3d+=_0x31790b){if(_0x2f2451?.['aborted'])throw new Error(_0x404fb5(0x11e));const _0x4f4641=_0x24cc7e[_0x404fb5(0x1e0)](_0x373f3d,_0x373f3d+_0x31790b);_0x24c022({'message':_0x404fb5(0x1de)+(_0x373f3d+0x1)+'-'+(_0x373f3d+_0x4f4641[_0x404fb5(0x1be)])+'\x20块','processed':_0x373f3d,'total':_0x40b090});const _0x141e3b=_0x4f4641[_0x404fb5(0x118)](_0x5a9e7b=>_0x5a9e7b[_0x404fb5(0x153)]),_0x40ff4d=await getEmbeddings(_0x141e3b,_0x2f2451);if(_0x2f2451?.[_0x404fb5(0x19a)])throw new Error(_0x404fb5(0x11e));if(_0x4f4641[_0x404fb5(0x1be)]!==_0x40ff4d['length'])throw new Error('文本块和向量数量不匹配');const _0x2c1d8a=_0x4f4641[_0x404fb5(0x118)]((_0x4a602c,_0x1fd2b0)=>({..._0x4a602c,'vector':_0x40ff4d[_0x1fd2b0]}));await insertVectors(_0x2c1d8a,_0x2f2451,_0x2f2d61),_0xc69787+=_0x4f4641['length'],_0xfd6cb8&&_0x16fcfd['saveProgress'](_0xfd6cb8,_0xc69787,_0x40b090),await _0x87f819();}return _0xfd6cb8&&_0x16fcfd['clearJob'](_0xfd6cb8),_0x233087(_0x404fb5(0x12b)+_0xc69787+_0x404fb5(0x208),'success'),{'success':!![],'count':_0xc69787};}catch(_0x34f2d6){if(_0x34f2d6[_0x404fb5(0x17f)]==='AbortError'){_0x233087(_0x404fb5(0x14a),_0x404fb5(0x172));throw _0x34f2d6;}return console[_0x404fb5(0x173)](_0x404fb5(0x1bf),_0x34f2d6),_0x233087(_0x404fb5(0x14e)+_0x34f2d6[_0x404fb5(0x1e4)],_0x404fb5(0x173)),{'success':![],'error':_0x34f2d6['message']};}}function getSettings(){const _0x215b6e=_0x468c3a;if(!context||!context[_0x215b6e(0x1cf)])return structuredClone(_0x12e010);let _0xbd416c=context['extensionSettings'][MODULE_NAME];!_0xbd416c&&(_0xbd416c={},context[_0x215b6e(0x1cf)][MODULE_NAME]=_0xbd416c);_0xbd416c[_0x215b6e(0x1a4)]===undefined&&(_0xbd416c[_0x215b6e(0x1a4)]={});_0xbd416c[_0x215b6e(0x1bd)]===undefined&&(_0xbd416c[_0x215b6e(0x1bd)]={});for(const _0x4a808f in _0x12e010){if(_0xbd416c[_0x4a808f]===undefined)_0xbd416c[_0x4a808f]=structuredClone(_0x12e010[_0x4a808f]);else{if(typeof _0x12e010[_0x4a808f]===_0x215b6e(0x19c)&&!Array[_0x215b6e(0x174)](_0x12e010[_0x4a808f])&&_0x12e010[_0x4a808f]!==null)for(const _0x2b9311 in _0x12e010[_0x4a808f]){_0xbd416c[_0x4a808f][_0x2b9311]===undefined&&(_0xbd416c[_0x4a808f][_0x2b9311]=_0x12e010[_0x4a808f][_0x2b9311]);}}}return _0xbd416c;}function saveSettings(){const _0x64237=_0x468c3a;if(context)context[_0x64237(0x1a3)]();}function _0x5abd(){const _0x2f31c6=['enabled','chat','[翰林院-日志]\x20统计目标集合ID:\x20','rerank','在源作用域\x20\x27','trim','删除知识库失败,未能清空后端数据。','\x27的文本分割成\x20','user','[翰林院-核心]\x20已为角色\x20','oldId','extensionSettings','[翰林院]\x20检索或注入时发生错误:','send_date','scope','[翰林院-核心]\x20清空向量集合\x20','start','第1章','reduce','[翰林院-核心]\x20准备删除知识库\x20',',将清空集合:\x20','外部Rerank完成','bookName','push','replace','substring','正在处理\x20','核心未初始化','slice','score','chat_history','is_user','message','手动录入','[翰林院-日志]\x20无法确定要清空的目标集合ID。','range','旧版宝库\x20(Legacy)','\x20及其向量数据。','未知条目','部分]','[翰林院-日志]\x20集合\x20','[翰林院-日志]\x20获取集合\x20','4179850niVWdG','[翰林院-核心]\x20已将\x20','\x20列表API时出现问题\x20(状态:\x20','owner','local','filter','[翰林院-迁移]\x20用户确认迁移,正在处理旧宝库:\x20','[翰林院-核心]\x20成功删除知识库\x20','[翰林院-核心]\x20将来源\x27','[来源:\x20聊天记录,\x20楼层:\x20#','[翰林院]\x20未能获取SillyTavern上下文,初始化失败。','injection','世界书条目','%%HANLINYUAN_RAG_INJECTION%%','random','[翰林院-日志]\x20开始获取所有知识库的向量总数...','batchSize','\x20(范围:\x20','toISOString','[翰林院-配置]\x20为旧版知识库\x20','[翰林院-Rerank]\x20开始元数据加权最终排序...','Rerank失败:\x20','notify','mes','移动失败:没有当前角色,无法移入局部知识库。','\x20的知识库。','\x20个向量条目。','map','top_n','[翰林院-日志]\x20清空目标集合ID:\x20','移动失败:未找到源条目。','翰林院忆识核心已启动\x20(V5.2-集成版),已注册到全局\x20hanlinyuanRagProcessor\x20对象。','\x20不存在,返回空数组。','AbortError','all','[翰林院-日志]\x20查询知识库\x20','482904aeFLUw','results','检测到旧版数据。此操作将把旧数据迁移到新格式,过程不可逆,是否继续?','[翰林院-日志]\x20没有启用的新知识库,尝试查询旧版单体宝库...','小说录入','538785TIHqyF','[翰林院-日志]\x20所有知识库查询完毕,共获得\x20','[翰林院-核心]\x20凝识任务已锁定知识库:\x20',',\x20第1卷,\x20第1章,\x20第','No\x20messages\x20to\x20process.','[翰林院-核心]\x20成功插入\x20','rerank_score','[翰林院-迁移]\x20集合\x20','sourceName','[翰林院-日志]\x20清空宝库API调用成功。','manual','messageTypes','\x20失败:\x20','{{text}}','/api/vector/insert','abs','未知角色','文本块和向量数量不匹配','[翰林院-配置]\x20','end','zh-CN','\x20个条目。','floor','hanlinyuan-rag-core','metadata','[翰林院-Rerank]\x20外部Rerank失败,将仅使用内部加权。','then','rearrangeChat','3753800RniVfW','unknown',',\x20第','entryName','凝识之权未开启','知识库【','/api/vector/query','vector','[翰林院-核心]\x20文本录入任务被用户中止。','now','\x22\x20创建专属知识库...','\x27,使用通用分块逻辑。','[翰林院-核心]\x20文本录入失败:\x20','forEach','[来源:\x20','\x20个块。','getTime','text','/api/vector/purge','[翰林院-Rerank]\x20元数据加权排序完成。','getRequestHeaders','json','聊天记录:\x20','8fydyzk','position','relevance_score','POST','\x20个知识块,准备入库。','\x27\x20中未找到ID为\x20',')\x20的状态已切换为:\x20','121FheHoN','用户取消了迁移操作','[翰林院-日志]\x20开始清空宝库...','\x20(集合ID:\x20','第1卷','initialized','original_index','2417238xTSDDq','[翰林院-核心]\x20检测到同名知识库\x20\x22','忆识存入API错误\x20','findIndex','legacy','webllm','source','\x20(ID:\x20','[翰林院-核心]\x20聊天记录凝识失败:\x20','聊天记录','hanlinyuanRagProcessor','warn','error','isArray','_global','global','[翰林院-核心]\x20已为宝库\x20','知识库\x20\x22','\x20时发生网络错误:','[翰林院-计数]\x20在作用域\x20\x27','(已锁定:\x20','min','1585011VOljWC','hashes','name','未分类世界书','无法确定要清空的目标宝库。','\x20失败,删除操作中止。','[翰林院-核心]\x20已锁定忆识宝库ID:\x20','10120722HUgyHZ','success','[翰林院-日志]\x20清空宝库API错误:','log','\x0a0x0){const _0x5ca35c={'source':_0x1853ae(0x1a9),'sourceName':sourceName,'timestamp':new Date()[_0x1853ae(0x200)](),'globalIndex':_0x2daa41++,'volume':_0x30c47a,'chapter':_0x382966,'section':_0xb1c047},_0x169c13=getTagForSource(_0x1853ae(0x1a9)),_0x162a67=_0x1853ae(0x150)+sourceName+',\x20'+_0x30c47a+',\x20'+_0x382966+_0x1853ae(0x144)+_0xb1c047+'节]',_0x524e43='<'+_0x169c13+'>\x0a'+_0x162a67+'\x0a'+_0x16e4e5+_0x1853ae(0x188)+_0x169c13+'>';_0x3e7c41[_0x1853ae(0x1db)]({'text':_0x524e43,'metadata':_0x5ca35c}),_0xb1c047++;}_0x595b44+=_0x52b605-_0x3bee5a;if(_0x595b44>=_0x472862[_0x1853ae(0x1be)])break;}_0x3e29ed=[];}for(const _0x1a6432 of _0x31df65){const _0x3df284=_0x1a6432[_0x3aa47a(0x1c9)]();if(_0x3d012e[_0x3aa47a(0x19e)](_0x3df284))_0xb86dc6(),_0x30c47a=_0x3df284,_0x382966=_0x3aa47a(0x1d5);else _0x2c1e0c[_0x3aa47a(0x19e)](_0x3df284)?(_0xb86dc6(),_0x382966=_0x3df284):_0x3e29ed['push'](_0x1a6432);}_0xb86dc6();if(_0x3e7c41[_0x3aa47a(0x1be)]===0x0&&_0x159b05[_0x3aa47a(0x1be)]>0x0){let _0x1c2e04=0x0,_0x694a72=0x1;while(_0x1c2e04<_0x159b05[_0x3aa47a(0x1be)]){const _0x4c2ee0=Math['min'](_0x1c2e04+_0x52b605,_0x159b05[_0x3aa47a(0x1be)]),_0x118160=_0x159b05[_0x3aa47a(0x1dd)](_0x1c2e04,_0x4c2ee0),_0x49469d={'source':_0x3aa47a(0x1a9),'sourceName':sourceName,'timestamp':new Date()[_0x3aa47a(0x200)](),'globalIndex':_0x3e7c41[_0x3aa47a(0x1be)],'volume':_0x3aa47a(0x164),'chapter':_0x3aa47a(0x1d5),'section':_0x694a72},_0x303960=getTagForSource(_0x3aa47a(0x1a9)),_0x4c245f='[来源:\x20'+sourceName+_0x3aa47a(0x129)+_0x694a72+'节]',_0x1afedf='<'+_0x303960+'>\x0a'+_0x4c245f+'\x0a'+_0x118160+'\x0a';_0x3e7c41[_0x3aa47a(0x1db)]({'text':_0x1afedf,'metadata':_0x49469d}),_0x694a72++,_0x1c2e04+=_0x52b605-_0x3bee5a;}}return _0x3e7c41;}function _chunkForChatHistory(_0x2b28a2,_0x3155d3){const _0x20648e=_0x468c3a,{chunkSize:_0x5a411c,overlap:_0x32cc59}=settings[_0x20648e(0x196)],{floor:_0x14715a,is_user:_0x2f6b17,timestamp:_0x37db92}=_0x3155d3,_0x277a6f=[];if(!_0x2b28a2||_0x5a411c<=0x0)return _0x277a6f;let _0x1204fb=0x1,_0x59669e=0x0;while(_0x59669e<_0x2b28a2['length']){const _0x2338e9=Math[_0x20648e(0x17c)](_0x59669e+_0x5a411c,_0x2b28a2['length']),_0x32aace=_0x2b28a2[_0x20648e(0x1dd)](_0x59669e,_0x2338e9),_0x491cae=_0x20648e(0x1f7)+_0x14715a+_0x20648e(0x144)+_0x1204fb+_0x20648e(0x1eb),_0x7016d5=getTagForSource(_0x20648e(0x1e2)),_0x222375='<'+_0x7016d5+'>\x0a'+_0x491cae+'\x0a'+_0x32aace+_0x20648e(0x188)+_0x7016d5+'>';_0x277a6f[_0x20648e(0x1db)]({'text':_0x222375,'metadata':{'source':_0x20648e(0x1e2),'sourceName':'聊天记录\x20#'+_0x14715a,'floor':_0x14715a,'part':_0x1204fb,'is_user':_0x2f6b17,'timestamp':_0x37db92}}),_0x1204fb++,_0x59669e+=_0x5a411c-_0x32cc59;if(_0x59669e>=_0x2b28a2['length'])break;}return _0x277a6f;}function _chunkForLorebook(_0x418b34,_0x39e2ea){const _0x207880=_0x468c3a,{chunkSize:_0x658110,overlap:_0xb6e86b}=settings['advanced'],{sourceName:sourceName=_0x207880(0x1fa)}=_0x39e2ea,_0x5f0fb7=[];if(!_0x418b34||_0x658110<=0x0)return _0x5f0fb7;let _0x4d76b9=0x1,_0x393840=0x0;while(_0x393840<_0x418b34[_0x207880(0x1be)]){const _0x5cf712=Math[_0x207880(0x17c)](_0x393840+_0x658110,_0x418b34['length']),_0x2e1d48=_0x418b34[_0x207880(0x1dd)](_0x393840,_0x5cf712),_0x2ffa50=_0x207880(0x1c2)+sourceName+_0x207880(0x144)+_0x4d76b9+_0x207880(0x1eb),_0x279f82=getTagForSource('lorebook'),_0x35ba04='<'+_0x279f82+'>\x0a'+_0x2ffa50+'\x0a'+_0x2e1d48+_0x207880(0x188)+_0x279f82+'>';_0x5f0fb7[_0x207880(0x1db)]({'text':_0x35ba04,'metadata':{'source':_0x207880(0x189),'sourceName':sourceName,'part':_0x4d76b9,'timestamp':new Date()[_0x207880(0x200)]()}}),_0x4d76b9++,_0x393840+=_0x658110-_0xb6e86b;if(_0x393840>=_0x418b34['length'])break;}return _0x5f0fb7;}function _chunkForManual(_0x201430,_0x735b5){const _0x68ec94=_0x468c3a,{chunkSize:_0x4a1534,overlap:_0x5ca975}=settings[_0x68ec94(0x196)],{sourceName:sourceName=_0x68ec94(0x1e5)}=_0x735b5,_0x1d631a=[];if(!_0x201430||_0x4a1534<=0x0)return _0x1d631a;const _0x27bbb8=new Date(),_0x2202d7=_0x27bbb8[_0x68ec94(0x1bb)](_0x68ec94(0x13a));let _0x5318c2=0x1,_0x2221f2=0x0;while(_0x2221f2<_0x201430[_0x68ec94(0x1be)]){const _0x3a0d80=Math[_0x68ec94(0x17c)](_0x2221f2+_0x4a1534,_0x201430[_0x68ec94(0x1be)]),_0x2439b9=_0x201430[_0x68ec94(0x1dd)](_0x2221f2,_0x3a0d80),_0x4595a6=_0x68ec94(0x150)+sourceName+',\x20向量化录入时间:\x20'+_0x2202d7+_0x68ec94(0x144)+_0x5318c2+_0x68ec94(0x1eb),_0x2db1a1=getTagForSource('manual'),_0x4394d3='<'+_0x2db1a1+'>\x0a'+_0x4595a6+'\x0a'+_0x2439b9+'\x0a';_0x1d631a[_0x68ec94(0x1db)]({'text':_0x4394d3,'metadata':{'source':'manual','sourceName':sourceName,'part':_0x5318c2,'timestamp':_0x27bbb8['toISOString']()}}),_0x5318c2++,_0x2221f2+=_0x4a1534-_0x5ca975;if(_0x2221f2>=_0x201430[_0x68ec94(0x1be)])break;}return _0x1d631a;}import{getCollectionId as _0x2f878b,getCharacterName}from'./utils/context-utils.js';async function getCollectionId(){return lockedCollectionId||await _0x2f878b();}async function toggleSessionLock(){return lockedCollectionId?(lockedCollectionId=null,![]):(lockedCollectionId=await _0x2f878b(),!![]);}function isSessionLocked(){return lockedCollectionId!==null;}function getLockedSessionInfo(){const _0x2437fb=_0x468c3a;if(!lockedCollectionId)return null;return{'id':lockedCollectionId,'name':_0x2437fb(0x17b)+lockedCollectionId['substring'](0x0,0x8)+'...)'};}function getLocalKnowledgeBases(){const _0x25b829=_0x468c3a,_0x2bc854=getCharacterStableId();return!settings[_0x25b829(0x1bd)][_0x2bc854]&&(settings[_0x25b829(0x1bd)][_0x2bc854]={}),settings[_0x25b829(0x1bd)][_0x2bc854];}function getGlobalKnowledgeBases(){const _0x43a896=_0x468c3a;return!settings[_0x43a896(0x1bd)][GLOBAL_SCOPE_ID]&&(settings['knowledgeBases'][GLOBAL_SCOPE_ID]={}),settings[_0x43a896(0x1bd)][GLOBAL_SCOPE_ID];}function getKnowledgeBases(){const _0x21680e=getLocalKnowledgeBases(),_0x227c95=getGlobalKnowledgeBases();return{..._0x227c95,..._0x21680e};}function addKnowledgeBase(_0x204ff7){const _0x44e7f5=_0x468c3a;if(!_0x204ff7||!_0x204ff7[_0x44e7f5(0x1c9)]())throw new Error('知识库名称不能为空');const _0x1fffbf=getCharacterStableId(),_0x2c55c8=getLocalKnowledgeBases(),_0x1964ef='task_'+Date['now']()+'_'+Math[_0x44e7f5(0x1fc)]()[_0x44e7f5(0x1b8)](0x24)[_0x44e7f5(0x1dd)](0x2,0x9),_0x5968e7={'id':_0x1964ef,'name':_0x204ff7[_0x44e7f5(0x1c9)](),'enabled':!![],'createdAt':new Date()[_0x44e7f5(0x200)](),'owner':_0x1fffbf};return _0x2c55c8[_0x1964ef]=_0x5968e7,saveSettings(),console['log'](_0x44e7f5(0x1cd)+_0x1fffbf+_0x44e7f5(0x1c1)+_0x204ff7+_0x44e7f5(0x16e)+_0x1964ef+')'),_0x5968e7;}async function removeKnowledgeBase(_0x5f36b8,_0x5b6f88){const _0x23f2cc=_0x468c3a,_0x12463f=getCharacterStableId(),_0x2f4602=_0x5b6f88===_0x23f2cc(0x176)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x1df496=_0x2f4602[_0x5f36b8],_0xb733bc=_0x1df496?.[_0x23f2cc(0x17f)]||_0x5f36b8;if(!_0x1df496){console[_0x23f2cc(0x172)]('[翰林院-核心]\x20尝试删除一个不存在的知识库:\x20'+_0x5f36b8+_0x23f2cc(0x1ff)+_0x5b6f88+')');return;}const _0x41a73=_0x5b6f88===_0x23f2cc(0x176)?_0x1df496[_0x23f2cc(0x1f1)]||GLOBAL_SCOPE_ID:_0x12463f,_0xb8a181=_0x41a73+'_'+_0x5f36b8;console[_0x23f2cc(0x187)](_0x23f2cc(0x1d7)+_0x5f36b8+_0x23f2cc(0x1d8)+_0xb8a181);const _0x4125fa=await purgeStorage(_0xb8a181);_0x4125fa?(delete _0x2f4602[_0x5f36b8],saveSettings(),console[_0x23f2cc(0x187)](_0x23f2cc(0x1f5)+_0x5f36b8+_0x23f2cc(0x1e9)),toastr[_0x23f2cc(0x185)](_0x23f2cc(0x178)+_0xb733bc+'\x22\x20已删除。')):(console[_0x23f2cc(0x173)](_0x23f2cc(0x1d3)+_0xb8a181+_0x23f2cc(0x182)),toastr[_0x23f2cc(0x173)](_0x23f2cc(0x1ca)));}function toggleKnowledgeBase(_0x53e845,_0x38abd8){const _0xd96320=_0x468c3a,_0x96fbd8=_0x38abd8==='global'?getGlobalKnowledgeBases():getLocalKnowledgeBases();_0x96fbd8[_0x53e845]&&(_0x96fbd8[_0x53e845][_0xd96320(0x1c4)]=!_0x96fbd8[_0x53e845][_0xd96320(0x1c4)],saveSettings(),console[_0xd96320(0x187)]('[翰林院-核心]\x20知识库\x20'+_0x53e845+_0xd96320(0x1ff)+_0x38abd8+_0xd96320(0x15f)+(_0x96fbd8[_0x53e845][_0xd96320(0x1c4)]?'启用':'禁用')));}function generateHash(_0xfb92ab){const _0x22355b=_0x468c3a;let _0x251288=0x0;for(let _0x2954e5=0x0;_0x2954e5<_0xfb92ab[_0x22355b(0x1be)];_0x2954e5++){const _0x1b8e60=_0xfb92ab[_0x22355b(0x19f)](_0x2954e5);_0x251288=(_0x251288<<0x5)-_0x251288+_0x1b8e60,_0x251288=_0x251288&_0x251288;}return Math[_0x22355b(0x135)](_0x251288)['toString'](0x24);}async function queryVectors(_0x5160d3){const _0x33b40d=_0x468c3a;console[_0x33b40d(0x187)]('[翰林院-日志]\x20开始多知识库向量查询...');const _0x45397b=getCharacterStableId(),_0x46b2d1=getLocalKnowledgeBases(),_0x7e21b7=getGlobalKnowledgeBases(),_0x407f9d=Object[_0x33b40d(0x1b5)](_0x46b2d1)[_0x33b40d(0x1f3)](_0x1b98c0=>_0x1b98c0[_0x33b40d(0x1c4)]),_0x51ef43=Object['values'](_0x7e21b7)['filter'](_0x11d9b8=>_0x11d9b8[_0x33b40d(0x1c4)]),_0x52f16b=[..._0x407f9d[_0x33b40d(0x118)](_0x44b79f=>({..._0x44b79f,'scope':'local'})),..._0x51ef43[_0x33b40d(0x118)](_0x4b16f6=>({..._0x4b16f6,'scope':_0x33b40d(0x176)}))];if(_0x52f16b[_0x33b40d(0x1be)]===0x0){console[_0x33b40d(0x187)](_0x33b40d(0x124));const _0x289e2a=await _0x2f878b();if(!_0x289e2a)return[];_0x52f16b[_0x33b40d(0x1db)]({'id':null,'name':_0x33b40d(0x1e8),'scope':'legacy'});}const _0x56c3aa=(await getEmbeddings([_0x5160d3]))[0x0];let _0x5b726c=[];const _0x2cd380=_0x52f16b[_0x33b40d(0x118)](_0x4472d6=>{const _0x1a9b52=_0x33b40d;let _0x108f09;if(_0x4472d6['scope']===_0x1a9b52(0x16b))_0x108f09=_0x2f878b();else{const _0x48a031=_0x4472d6[_0x1a9b52(0x1d2)]===_0x1a9b52(0x176)?_0x4472d6[_0x1a9b52(0x1f1)]||GLOBAL_SCOPE_ID:_0x45397b;_0x108f09=Promise['resolve'](_0x48a031+'_'+_0x4472d6['id']);}return _0x108f09[_0x1a9b52(0x140)](_0x2b7159=>{const _0x112830=_0x1a9b52;if(!_0x2b7159)return[];console[_0x112830(0x187)](_0x112830(0x1af)+_0x4472d6[_0x112830(0x17f)]+_0x112830(0x16e)+_0x2b7159+')');const _0x5d7b59={'collectionId':_0x2b7159,'searchText':_0x5160d3,'topK':settings[_0x112830(0x196)][_0x112830(0x1b4)],'threshold':settings[_0x112830(0x196)][_0x112830(0x19b)],'source':_0x112830(0x16c),'embeddings':{[_0x5160d3]:_0x56c3aa}};return fetch(_0x112830(0x148),{'method':_0x112830(0x15c),'headers':context[_0x112830(0x156)](),'body':JSON[_0x112830(0x1ba)](_0x5d7b59)})[_0x112830(0x140)](async _0x58e242=>{const _0x4ff87f=_0x112830;if(!_0x58e242['ok']){const _0x13b2e3=await _0x58e242['text']();return console[_0x4ff87f(0x173)](_0x4ff87f(0x120)+_0x2b7159+_0x4ff87f(0x195),_0x13b2e3),[];}const _0x4616be=await _0x58e242[_0x4ff87f(0x157)](),_0x197f4b=_0x4616be[_0x4ff87f(0x13e)]||_0x4616be[_0x4ff87f(0x122)]||_0x4616be['data']||[];return console[_0x4ff87f(0x187)]('[翰林院-日志]\x20知识库\x20'+_0x4472d6[_0x4ff87f(0x17f)]+'\x20返回\x20'+_0x197f4b['length']+_0x4ff87f(0x18b)),_0x197f4b;})['catch'](_0x1ae501=>{const _0x75d33b=_0x112830;return console[_0x75d33b(0x173)](_0x75d33b(0x120)+_0x2b7159+_0x75d33b(0x179),_0x1ae501),[];});});}),_0x34ab63=await Promise[_0x33b40d(0x11f)](_0x2cd380);_0x5b726c=_0x34ab63['flat'](),console[_0x33b40d(0x187)](_0x33b40d(0x127)+_0x5b726c[_0x33b40d(0x1be)]+_0x33b40d(0x1a5));const _0x23edf5=[],_0x3288b8=new Set();for(const _0x2f2e5b of _0x5b726c){_0x2f2e5b&&_0x2f2e5b['text']&&!_0x3288b8[_0x33b40d(0x18a)](_0x2f2e5b[_0x33b40d(0x153)])&&(_0x3288b8['add'](_0x2f2e5b[_0x33b40d(0x153)]),_0x23edf5[_0x33b40d(0x1db)](_0x2f2e5b));}return console['log'](_0x33b40d(0x1aa)+_0x23edf5[_0x33b40d(0x1be)]+_0x33b40d(0x18b)),_0x23edf5[_0x33b40d(0x1ad)]((_0x3f06bf,_0x56ac3a)=>(_0x56ac3a[_0x33b40d(0x1e1)]||0x0)-(_0x3f06bf['score']||0x0)),_0x23edf5;}async function insertVectors(_0x15fc9b,_0x399a99=null,_0x5e2133){const _0x3e921a=_0x468c3a;if(!_0x5e2133)throw new Error(_0x3e921a(0x18c));if(_0x15fc9b[_0x3e921a(0x1be)]===0x0)return{'success':!![],'count':0x0};const _0x1bc993=_0x15fc9b[_0x3e921a(0x118)]((_0xb2a934,_0x3c33d4)=>({'hash':generateHash(_0xb2a934['text']+Date[_0x3e921a(0x14b)]()+_0x3c33d4),'text':_0xb2a934[_0x3e921a(0x153)],'metadata':_0xb2a934[_0x3e921a(0x13e)]||{'source':_0x3e921a(0x143),'timestamp':new Date()[_0x3e921a(0x200)]()}})),_0x3c7fc0=_0x1bc993[_0x3e921a(0x1d6)]((_0x4ad07f,_0x2ef130,_0x49918d)=>{const _0x1643ec=_0x3e921a;return _0x4ad07f[_0x2ef130[_0x1643ec(0x153)]]=_0x15fc9b[_0x49918d][_0x1643ec(0x149)],_0x4ad07f;},{}),_0x206655={'collectionId':_0x5e2133,'items':_0x1bc993,'source':_0x3e921a(0x16c),'embeddings':_0x3c7fc0},_0x256240=await fetch(_0x3e921a(0x134),{'method':_0x3e921a(0x15c),'headers':context[_0x3e921a(0x156)](),'body':JSON['stringify'](_0x206655),'signal':_0x399a99});if(!_0x256240['ok']){const _0x57b3d8=await _0x256240[_0x3e921a(0x153)]();console[_0x3e921a(0x173)]('[翰林院-日志]\x20忆识存入API错误:',_0x57b3d8);throw new Error(_0x3e921a(0x169)+_0x256240['status']+':\x20'+_0x57b3d8);}return{'success':!![],'count':_0x1bc993[_0x3e921a(0x1be)]};}async function getVectorCount(_0x449b62=null,_0x3d2c50=_0x468c3a(0x1f2)){const _0x38e075=_0x468c3a,_0x56deba=getCharacterStableId();if(_0x449b62){const _0x5ecf65=_0x3d2c50===_0x38e075(0x176)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x4e551d=_0x5ecf65[_0x449b62];if(!_0x4e551d)return console[_0x38e075(0x172)](_0x38e075(0x17a)+_0x3d2c50+_0x38e075(0x15e)+_0x449b62+_0x38e075(0x207)),0x0;const _0x164f0c=_0x3d2c50===_0x38e075(0x176)?_0x4e551d[_0x38e075(0x1f1)]||GLOBAL_SCOPE_ID:_0x56deba,_0xa1773c=_0x164f0c+'_'+_0x449b62;return await countVectorsInCollection(_0xa1773c);}else{console[_0x38e075(0x187)](_0x38e075(0x1fd));const _0x4812b5=Object['values'](getLocalKnowledgeBases()),_0x4e4cd4=Object[_0x38e075(0x1b5)](getGlobalKnowledgeBases()),_0x51a4db=[];_0x4812b5[_0x38e075(0x14f)](_0xa55206=>{const _0x41bcf4=_0x56deba+'_'+_0xa55206['id'];_0x51a4db['push'](countVectorsInCollection(_0x41bcf4));}),_0x4e4cd4['forEach'](_0x18ae39=>{const _0x1ddd7d=_0x38e075,_0x43ed99=_0x18ae39[_0x1ddd7d(0x1f1)]||GLOBAL_SCOPE_ID,_0x319aba=_0x43ed99+'_'+_0x18ae39['id'];_0x51a4db[_0x1ddd7d(0x1db)](countVectorsInCollection(_0x319aba));});const _0x32c43c=await _0x2f878b();_0x51a4db['push'](countVectorsInCollection(_0x32c43c));const _0x2a20d3=await Promise[_0x38e075(0x11f)](_0x51a4db),_0x1d4eca=_0x2a20d3['reduce']((_0x1c90cb,_0x178efa)=>_0x1c90cb+_0x178efa,0x0);return console[_0x38e075(0x187)](_0x38e075(0x192)+_0x1d4eca),_0x1d4eca;}}async function countVectorsInCollection(_0x5a8a01){const _0xa564ec=_0x468c3a;if(!_0x5a8a01)return 0x0;console[_0xa564ec(0x187)](_0xa564ec(0x1c6)+_0x5a8a01);const _0x9e9c9f={'collectionId':_0x5a8a01,'source':_0xa564ec(0x16c),'embeddings':{}};try{const _0x20bd44=await fetch(_0xa564ec(0x1c0),{'method':_0xa564ec(0x15c),'headers':context[_0xa564ec(0x156)](),'body':JSON[_0xa564ec(0x1ba)](_0x9e9c9f)});if(!_0x20bd44['ok']){if(_0x20bd44[_0xa564ec(0x1ab)]===0x194)console[_0xa564ec(0x187)](_0xa564ec(0x1ec)+_0x5a8a01+_0xa564ec(0x1a8));else{const _0x34b8c0=await _0x20bd44[_0xa564ec(0x153)]();console[_0xa564ec(0x172)](_0xa564ec(0x1ed)+_0x5a8a01+_0xa564ec(0x1f0)+_0x20bd44[_0xa564ec(0x1ab)]+'):',_0x34b8c0);}return 0x0;}const _0x4437df=await _0x20bd44[_0xa564ec(0x157)]();let _0x4896a3=0x0;if(Array[_0xa564ec(0x174)](_0x4437df))_0x4896a3=_0x4437df[_0xa564ec(0x1be)];else _0x4437df&&_0x4437df['hashes']&&(_0x4896a3=_0x4437df[_0xa564ec(0x17e)][_0xa564ec(0x1be)]);return _0x4896a3;}catch(_0x1750f1){return console[_0xa564ec(0x173)](_0xa564ec(0x1c3)+_0x5a8a01+_0xa564ec(0x179),_0x1750f1),0x0;}}async function purgeStorage(_0xd68128=null){const _0x49ab8f=_0x468c3a;console[_0x49ab8f(0x187)](_0x49ab8f(0x162));const _0x507d41=_0xd68128||await getCollectionId();if(!_0x507d41)return console[_0x49ab8f(0x173)](_0x49ab8f(0x1e6)),toastr[_0x49ab8f(0x173)](_0x49ab8f(0x181)),![];console['log'](_0x49ab8f(0x11a)+_0x507d41);const _0x39eb0d={'collectionId':_0x507d41};console[_0x49ab8f(0x187)]('[翰林院-日志]\x20发送到\x20/api/vector/purge\x20的请求体:',JSON[_0x49ab8f(0x1ba)](_0x39eb0d,null,0x2));const _0x5bd96e=await fetch(_0x49ab8f(0x154),{'method':_0x49ab8f(0x15c),'headers':context[_0x49ab8f(0x156)](),'body':JSON[_0x49ab8f(0x1ba)](_0x39eb0d)});console[_0x49ab8f(0x187)]('[翰林院-日志]\x20/api/vector/purge\x20响应状态:\x20'+_0x5bd96e[_0x49ab8f(0x1ab)]);if(!_0x5bd96e['ok']){const _0x3eb24c=await _0x5bd96e[_0x49ab8f(0x153)]();console[_0x49ab8f(0x173)](_0x49ab8f(0x186),_0x3eb24c);}else console[_0x49ab8f(0x187)](_0x49ab8f(0x12f));return _0x5bd96e['ok'];}function getMessagesForCondensation(_0x29a0ff=null){const _0x3fba01=_0x468c3a;if(!settings['condensation'][_0x3fba01(0x1c4)])return showNotification(_0x3fba01(0x146),'warning'),[];const {layerStart:_0x31ec3d,layerEnd:_0x5bfe51}=settings['condensation'],_0x5b7c29=_0x29a0ff||settings[_0x3fba01(0x193)][_0x3fba01(0x131)],_0x34df2c=context['chat'][_0x3fba01(0x1be)],_0x50e4f1=Math[_0x3fba01(0x1b6)](0x0,_0x31ec3d-0x1),_0x47beec=_0x5bfe51===0x0||_0x5bfe51>_0x34df2c?_0x34df2c:Math[_0x3fba01(0x17c)](_0x34df2c,_0x5bfe51),_0x69e2f6=context[_0x3fba01(0x1c5)]['slice'](_0x50e4f1,_0x47beec);return _0x69e2f6['filter'](_0x3a3704=>{const _0x473669=_0x3fba01,_0x27ac6a=_0x3a3704[_0x473669(0x1e3)]===!![],_0x2ea104=_0x3a3704[_0x473669(0x1e3)]===![];if(!_0x3a3704[_0x473669(0x205)]||!_0x3a3704[_0x473669(0x205)][_0x473669(0x1c9)]())return![];return _0x5b7c29[_0x473669(0x1cc)]&&_0x27ac6a||_0x5b7c29['ai']&&_0x2ea104;});}async function processCondensation(_0x2a8ae9,_0x14f669=()=>{},_0x582bca=null){const _0x1afcf5=_0x468c3a;if(!_0x2a8ae9||_0x2a8ae9['length']===0x0)return{'success':![],'error':_0x1afcf5(0x12a)};try{let _0x1acf7e,_0x415da4;const _0x343811=getCharacterName()||_0x1afcf5(0x136);if(_0x582bca){const _0x4ba6b9=_0x582bca['start']??'?',_0x23ad1f=_0x582bca[_0x1afcf5(0x139)]===0x0?'末':_0x582bca[_0x1afcf5(0x139)]??'?';_0x1acf7e=_0x343811+':\x20'+_0x4ba6b9+'楼-'+_0x23ad1f+'楼';}else{const _0x1bf1b7=new Date()[_0x1afcf5(0x1bb)](_0x1afcf5(0x13a),{'hour12':![]});_0x1acf7e=_0x1afcf5(0x158)+_0x1bf1b7;}const _0x330590=Object[_0x1afcf5(0x1b5)](getLocalKnowledgeBases()),_0x4d85a8=_0x330590['find'](_0x2df4f6=>_0x2df4f6['name']===_0x1acf7e);if(_0x4d85a8)_0x415da4=_0x4d85a8['id'],_0x14f669(_0x1afcf5(0x168)+_0x1acf7e+_0x1afcf5(0x1a2),_0x1afcf5(0x1bc));else{_0x14f669(_0x1afcf5(0x1ae)+_0x1acf7e+_0x1afcf5(0x14c),_0x1afcf5(0x1bc));const _0x5b99d0=addKnowledgeBase(_0x1acf7e);_0x415da4=_0x5b99d0['id'];}const _0x2ff303=getCharacterStableId(),_0x255e21=_0x2ff303+'_'+_0x415da4;_0x14f669(_0x1afcf5(0x128)+_0x1acf7e+_0x1afcf5(0x163)+_0x255e21+')',_0x1afcf5(0x185));const _0x57542e=[],_0x21a2e0=context[_0x1afcf5(0x1c5)];for(const _0x497477 of _0x2a8ae9){const _0x363b5e=(_0x497477[_0x1afcf5(0x205)]||'')[_0x1afcf5(0x1dc)](/<[^>]*>/g,'')[_0x1afcf5(0x1c9)]();if(_0x363b5e[_0x1afcf5(0x1be)]===0x0)continue;let _0x3f56b0;if(_0x497477['floor']!==undefined&&_0x497477['floor']!==null)_0x3f56b0=_0x497477[_0x1afcf5(0x13c)];else{const _0x3a08de=_0x21a2e0[_0x1afcf5(0x16a)](_0x2e2cb5=>_0x2e2cb5===_0x497477);_0x3f56b0=_0x3a08de!==-0x1?_0x3a08de+0x1:-0x1;}const _0x239a41=new Date(_0x497477[_0x1afcf5(0x1d1)]),_0x204a66=isNaN(_0x239a41[_0x1afcf5(0x152)]())?new Date()[_0x1afcf5(0x200)]():_0x239a41[_0x1afcf5(0x200)](),_0x486adb=splitIntoChunks(_0x363b5e,_0x1afcf5(0x1e2),{'floor':_0x3f56b0,'is_user':_0x497477[_0x1afcf5(0x1e3)],'timestamp':_0x204a66});_0x57542e[_0x1afcf5(0x1db)](..._0x486adb);}if(_0x57542e['length']===0x0)return{'success':!![],'count':0x0};_0x14f669(_0x1afcf5(0x1ef)+_0x2a8ae9[_0x1afcf5(0x1be)]+'\x20条消息分解为\x20'+_0x57542e[_0x1afcf5(0x1be)]+_0x1afcf5(0x15d),_0x1afcf5(0x1bc));const _0x127b13=settings[_0x1afcf5(0x18e)][_0x1afcf5(0x1fe)]||0x5;let _0x521d19=0x0;for(let _0x313607=0x0;_0x313607<_0x57542e['length'];_0x313607+=_0x127b13){const _0x3a0e63=_0x57542e['slice'](_0x313607,_0x313607+_0x127b13),_0x13756e=_0x3a0e63[_0x1afcf5(0x118)](_0x1fbf12=>_0x1fbf12[_0x1afcf5(0x153)]),_0x375619=await getEmbeddings(_0x13756e);if(_0x3a0e63[_0x1afcf5(0x1be)]!==_0x375619['length'])throw new Error(_0x1afcf5(0x137));const _0x388118=_0x3a0e63[_0x1afcf5(0x118)]((_0x2b8b79,_0x54b07e)=>({..._0x2b8b79,'vector':_0x375619[_0x54b07e]}));await insertVectors(_0x388118,null,_0x255e21),_0x521d19+=_0x3a0e63[_0x1afcf5(0x1be)];}if(_0x582bca){const _0x184bf7=_0x582bca[_0x1afcf5(0x139)]===0x0?context['chat']['length']:_0x582bca[_0x1afcf5(0x139)],_0x407c38=getCharacterStableId();!settings[_0x1afcf5(0x1a4)][_0x407c38]&&(settings[_0x1afcf5(0x1a4)][_0x407c38]={}),settings['condensationHistory'][_0x407c38][_0x255e21]={'start':_0x582bca[_0x1afcf5(0x1d4)],'end':_0x184bf7,'timestamp':new Date()['toISOString']()},saveSettings(),_0x14f669(_0x1afcf5(0x177)+_0x255e21+_0x1afcf5(0x198)+_0x582bca[_0x1afcf5(0x1d4)]+'-'+_0x184bf7,'info');}_0x14f669(_0x1afcf5(0x1b7)+_0x521d19+_0x1afcf5(0x13b),_0x1afcf5(0x185));const _0x373840=_0x2a8ae9['map'](_0x22156a=>{const _0x5a2a42=_0x1afcf5,_0x335b3f=_0x21a2e0[_0x5a2a42(0x16a)](_0x28a46e=>_0x28a46e===_0x22156a),_0x33c836=_0x335b3f!==-0x1?_0x335b3f+0x1:-0x1,_0x134ae8=_0x22156a[_0x5a2a42(0x1e3)]?'用户':getCharacterName()||'AI';return'['+_0x134ae8+_0x5a2a42(0x191)+_0x33c836+']\x20的消息已成功凝识。';});return{'success':!![],'count':_0x521d19,'messages':_0x373840};}catch(_0x9803dd){return console[_0x1afcf5(0x173)]('[翰林院-核心]\x20processCondensation\x20失败:',_0x9803dd),_0x14f669(_0x1afcf5(0x16f)+_0x9803dd['message'],_0x1afcf5(0x173)),{'success':![],'error':_0x9803dd[_0x1afcf5(0x1e4)]};}}async function rerankResults(_0x5e3145,_0x380a9c,_0x3d27c7){const _0x4402b0=_0x468c3a;let _0x1eb84a=_0x5e3145;if(_0x3d27c7[_0x4402b0(0x1c7)][_0x4402b0(0x1c4)]&&_0x5e3145['length']>0x0){console[_0x4402b0(0x187)](_0x4402b0(0x1ac));try{const _0x451fa3=_0x5e3145['map'](_0x3b6c96=>_0x3b6c96[_0x4402b0(0x153)]),_0x113788=await executeRerank(_0x380a9c,_0x451fa3,_0x3d27c7[_0x4402b0(0x1c7)]),_0x1a2686=_0x5e3145['map']((_0x154c0a,_0x490e28)=>({..._0x154c0a,'original_index':_0x490e28}));_0x1eb84a=_0x1a2686['map'](_0x5ab493=>{const _0x140985=_0x4402b0,_0x44ae68=_0x113788[_0x140985(0x122)]['find'](_0x30e425=>_0x30e425[_0x140985(0x1b3)]===_0x5ab493[_0x140985(0x166)]),_0x5ae1b3=_0x44ae68?_0x44ae68[_0x140985(0x15b)]:0x0;return{..._0x5ab493,'rerank_score':_0x5ae1b3};});if(_0x3d27c7[_0x4402b0(0x1c7)][_0x4402b0(0x204)])showNotification(_0x4402b0(0x1d9),_0x4402b0(0x185));}catch(_0x25c4f2){console[_0x4402b0(0x173)](_0x4402b0(0x13f),_0x25c4f2);if(_0x3d27c7[_0x4402b0(0x1c7)]['notify'])showNotification(_0x4402b0(0x203)+_0x25c4f2[_0x4402b0(0x1e4)],_0x4402b0(0x173));_0x1eb84a[_0x4402b0(0x14f)](_0x4f0649=>_0x4f0649[_0x4402b0(0x12c)]=0x0);}}else _0x1eb84a[_0x4402b0(0x14f)](_0xb14f7b=>_0xb14f7b['rerank_score']=0x0);console['log'](_0x4402b0(0x202));const _0x5af8eb=context[_0x4402b0(0x1c5)][_0x4402b0(0x1be)],_0x15081a=_0x3d27c7[_0x4402b0(0x1c7)]['hybrid_alpha'],_0x197a20=_0x1eb84a['map'](_0x28b16a=>{const _0x4d2bb7=_0x4402b0;let _0x1f65e3=0x1;const _0x339672=_0x28b16a[_0x4d2bb7(0x13e)]||{};switch(_0x339672[_0x4d2bb7(0x16d)]){case _0x4d2bb7(0x189):_0x1f65e3*=1.2;break;case'manual':_0x1f65e3*=1.1;break;case _0x4d2bb7(0x1e2):if(_0x339672[_0x4d2bb7(0x13c)]&&_0x5af8eb>0x0){const _0x4bc5af=_0x339672[_0x4d2bb7(0x13c)]/_0x5af8eb;_0x1f65e3*=0x1+_0x4bc5af;}break;}const _0x5a11fd=_0x28b16a[_0x4d2bb7(0x12c)]*_0x15081a+(_0x28b16a['score']||0x0)*(0x1-_0x15081a),_0x3522a4=_0x5a11fd*_0x1f65e3;return{..._0x28b16a,'final_score':_0x3522a4};});return _0x197a20[_0x4402b0(0x1ad)]((_0x288202,_0x20cf6b)=>(_0x20cf6b[_0x4402b0(0x1b2)]||0x0)-(_0x288202[_0x4402b0(0x1b2)]||0x0)),console[_0x4402b0(0x187)](_0x4402b0(0x155)),_0x197a20['slice'](0x0,_0x3d27c7[_0x4402b0(0x1c7)][_0x4402b0(0x119)]);}async function rearrangeChat(_0x14e40b,_0x43ae59,_0x8739ea,_0x5b5a56){const _0x59af49=_0x468c3a;setExtensionPrompt('HANLINYUAN_RAG','',settings[_0x59af49(0x1f9)]['position'],settings[_0x59af49(0x1f9)]['depth'],![],settings[_0x59af49(0x1f9)][_0x59af49(0x1b1)]);if(_0x5b5a56==='quiet'||!settings[_0x59af49(0x18e)][_0x59af49(0x1c4)])return;const _0x2e1fa6=_0x14e40b['slice'](-settings['advanced']['queryMessageCount']);if(_0x2e1fa6['length']===0x0)return;const _0x259d42=_0x2e1fa6[_0x59af49(0x118)](_0x1f092c=>_0x1f092c[_0x59af49(0x205)])[_0x59af49(0x1a7)]('\x20')['replace'](/<[^>]*>/g,'')[_0x59af49(0x1c9)]();if(!_0x259d42)return;try{const _0x50c556=await queryVectors(_0x259d42);if(_0x50c556['length']===0x0)return;const _0x1c41c5=await rerankResults(_0x50c556,_0x259d42,settings);if(_0x1c41c5['length']===0x0)return;const _0x459ead=_0x1c41c5['map'](_0x1a93d4=>_0x1a93d4['text'])['join']('\x0a\x0a');let _0x10bfca=settings[_0x59af49(0x1f9)]['template']['replace'](_0x59af49(0x133),_0x459ead);_0x10bfca[_0x59af49(0x1c9)]()&&(_0x10bfca=_0x59af49(0x1fb)+_0x10bfca),setExtensionPrompt(_0x59af49(0x190),_0x10bfca,settings['injection'][_0x59af49(0x15a)],settings[_0x59af49(0x1f9)]['depth'],![],settings['injection']['depth_role']);}catch(_0x468cf7){console['error'](_0x59af49(0x1d0),_0x468cf7);if(settings[_0x59af49(0x18e)][_0x59af49(0x204)])showNotification(_0x59af49(0x199)+_0x468cf7['message'],_0x59af49(0x173));}}async function moveKnowledgeBase(_0x538516,_0x296b92){const _0x1855ec=_0x468c3a,_0x15bc55=_0x296b92===_0x1855ec(0x176)?_0x1855ec(0x1f2):_0x1855ec(0x176),_0x481d45=getCharacterStableId();if(!_0x481d45&&_0x15bc55===_0x1855ec(0x1f2)){toastr['error'](_0x1855ec(0x206));return;}const _0x221355=_0x296b92===_0x1855ec(0x176)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x14d962=_0x15bc55===_0x1855ec(0x176)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x84cacf=_0x221355[_0x538516];if(!_0x84cacf){const _0x2c76e4=_0x1855ec(0x1c8)+_0x296b92+'\x27\x20中未找到ID为\x20'+_0x538516+_0x1855ec(0x207);console[_0x1855ec(0x173)]('[翰林院-配置]\x20'+_0x2c76e4),toastr[_0x1855ec(0x173)](_0x1855ec(0x11b));return;}_0x296b92==='local'&&_0x15bc55===_0x1855ec(0x176)&&!_0x84cacf[_0x1855ec(0x1f1)]&&(console[_0x1855ec(0x187)](_0x1855ec(0x201)+_0x538516+_0x1855ec(0x18f)+_0x481d45),_0x84cacf[_0x1855ec(0x1f1)]=_0x481d45);delete _0x221355[_0x538516],_0x14d962[_0x538516]=_0x84cacf,saveSettings();const _0x17410a=_0x1855ec(0x147)+_0x84cacf[_0x1855ec(0x17f)]+'】已成功移动到'+(_0x15bc55===_0x1855ec(0x176)?'全局':'局部')+'。';console[_0x1855ec(0x187)](_0x1855ec(0x138)+_0x17410a);}async function getAllVectorsFromCollection(_0x11f259){const _0xda5df=_0x468c3a,_0x28c362='*',_0x318cd4={'collectionId':_0x11f259,'searchText':_0x28c362,'topK':0x2710,'threshold':0x0,'source':_0xda5df(0x16c),'embeddings':{}},_0x1bdd73=(await getEmbeddings([_0x28c362]))[0x0];_0x318cd4[_0xda5df(0x18d)]={[_0x28c362]:_0x1bdd73};const _0x5c2433=await fetch(_0xda5df(0x148),{'method':_0xda5df(0x15c),'headers':context['getRequestHeaders'](),'body':JSON[_0xda5df(0x1ba)](_0x318cd4)});if(!_0x5c2433['ok']){if(_0x5c2433[_0xda5df(0x1ab)]===0x194)return console[_0xda5df(0x187)](_0xda5df(0x12d)+_0x11f259+_0xda5df(0x11d)),[];const _0x4cfe95=await _0x5c2433[_0xda5df(0x153)]();throw new Error('查询集合\x20'+_0x11f259+_0xda5df(0x132)+_0x4cfe95);}const _0x5602f7=await _0x5c2433[_0xda5df(0x157)]();return _0x5602f7['metadata']||_0x5602f7[_0xda5df(0x122)]||_0x5602f7['data']||[];} +'use strict';const _0x54d6e8=_0x2723;function _0x2723(_0x365403,_0x34c11d){const _0xef8892=_0xef88();return _0x2723=function(_0x2723ee,_0x1e27bd){_0x2723ee=_0x2723ee-0x1d2;let _0x5240ea=_0xef8892[_0x2723ee];return _0x5240ea;},_0x2723(_0x365403,_0x34c11d);}(function(_0x26278a,_0x505b6d){const _0x32edcb=_0x2723,_0x128734=_0x26278a();while(!![]){try{const _0x5f4d12=-parseInt(_0x32edcb(0x237))/0x1+-parseInt(_0x32edcb(0x207))/0x2*(-parseInt(_0x32edcb(0x271))/0x3)+parseInt(_0x32edcb(0x1ef))/0x4*(parseInt(_0x32edcb(0x272))/0x5)+-parseInt(_0x32edcb(0x204))/0x6+-parseInt(_0x32edcb(0x268))/0x7*(parseInt(_0x32edcb(0x1d3))/0x8)+-parseInt(_0x32edcb(0x2b2))/0x9+parseInt(_0x32edcb(0x29b))/0xa*(parseInt(_0x32edcb(0x2c0))/0xb);if(_0x5f4d12===_0x505b6d)break;else _0x128734['push'](_0x128734['shift']());}catch(_0x5a3b7f){_0x128734['push'](_0x128734['shift']());}}}(_0xef88,0x41c0d));import{extension_prompt_roles,setExtensionPrompt}from'/script.js';import*as _0x3831fa from'./utils/context-utils.js';import{getCollectionIdInfo,getCharacterId,getCharacterStableId}from'./utils/context-utils.js';import{defaultSettings as _0x547a57}from'./rag-settings.js';import*as _0x4cea90 from'./ingestion-manager.js';import{getEmbeddings,fetchEmbeddingModels as _0x4895f3,fetchRerankModels as _0x121473,executeRerank,testApiConnection as _0x4c225a}from'./rag-api.js';const MODULE_NAME='hanlinyuan-rag-core',OFFICIAL_REARRANGE_CHAT_FUNCTION_NAME='vectors_rearrangeChat',GLOBAL_SCOPE_ID=_0x54d6e8(0x291);let context=null,settings=null,lockedCollectionId=null;function filterWorldbooks(_0x4b4f89,_0x33e06a){const _0xbbfba=_0x54d6e8;if(!_0x4b4f89||!_0x4b4f89[_0xbbfba(0x1f3)]())return _0x33e06a;const _0x3e7eab=_0x4b4f89[_0xbbfba(0x20f)]()[_0xbbfba(0x1f3)]();return _0x33e06a['filter'](_0x4f9333=>{const _0x176d96=_0xbbfba;return _0x4f9333[_0x176d96(0x20f)]()[_0x176d96(0x1d2)](_0x3e7eab)||containsPinyinMatch(_0x4f9333,_0x3e7eab);});}function filterWorldbookEntries(_0x4813ab,_0x431c5b){const _0x1bb3b0=_0x54d6e8;if(!_0x4813ab||!_0x4813ab[_0x1bb3b0(0x1f3)]())return _0x431c5b;const _0x5bbf92=_0x4813ab[_0x1bb3b0(0x20f)]()['trim']();return _0x431c5b['filter'](_0x10aeb8=>{const _0x1c3b39=_0x1bb3b0,_0x443257=[_0x10aeb8[_0x1c3b39(0x212)]||'',_0x10aeb8[_0x1c3b39(0x22e)]||'',_0x10aeb8['content']||'']['join']('\x20')['toLowerCase']();return _0x443257[_0x1c3b39(0x1d2)](_0x5bbf92)||containsPinyinMatch(_0x10aeb8[_0x1c3b39(0x212)]||'',_0x5bbf92);});}function containsPinyinMatch(_0x485416,_0xfd8f5f){const _0x499aaa=_0x54d6e8,_0x433d4c={'世界书':'sjshu','条目':'tiaomu','编纂':_0x499aaa(0x2c7),'搜索':'sousuo'},_0x55303d=_0x433d4c[_0x485416];return _0x55303d&&_0x55303d[_0x499aaa(0x1d2)](_0xfd8f5f);}function highlightSearchMatch(_0x43210c,_0x160e75){const _0x4b599d=_0x54d6e8;if(!_0x160e75||!_0x160e75[_0x4b599d(0x1f3)]())return _0x43210c;const _0x5dd2b4=new RegExp('('+_0x160e75[_0x4b599d(0x23a)](/[.*+?^${}()|[\]\\]/g,'\x5c$&')+')','gi');return _0x43210c[_0x4b599d(0x23a)](_0x5dd2b4,_0x4b599d(0x1ed));}function debounce(_0x2911af,_0x2b7dcd){let _0x2a10d6;return function _0x546ee2(..._0x42dd59){const _0x4a14b2=()=>{clearTimeout(_0x2a10d6),_0x2911af(..._0x42dd59);};clearTimeout(_0x2a10d6),_0x2a10d6=setTimeout(_0x4a14b2,_0x2b7dcd);};}export{initialize,getSettings,saveSettings,resetSettings,_0x4c225a as testApiConnection,_0x4895f3 as fetchEmbeddingModels,_0x121473 as fetchRerankModels,getVectorCount,purgeStorage,getMessagesForCondensation,processCondensation,ingestTextToHanlinyuan,getCollectionId,toggleSessionLock,isSessionLocked,getLockedSessionInfo,addKnowledgeBase,removeKnowledgeBase,getLocalKnowledgeBases,getGlobalKnowledgeBases,toggleKnowledgeBase,moveKnowledgeBase,filterWorldbooks,filterWorldbookEntries,highlightSearchMatch,debounce};function initialize(){const _0x720856=_0x54d6e8;context=SillyTavern[_0x720856(0x214)]();if(!context){console[_0x720856(0x203)](_0x720856(0x200));return;}settings=getSettings(),!window[_0x720856(0x22c)]&&(window[_0x720856(0x22c)]={}),window[_0x720856(0x22c)][_0x720856(0x21b)]=rearrangeChat,window['hanlinyuanRagProcessor'][_0x720856(0x294)]=!![],console[_0x720856(0x28b)](_0x720856(0x21c));}async function ingestTextToHanlinyuan(_0x348741,_0x14747e='manual',_0x48aff6={},_0x15d822=()=>{},_0x2b1f3c=null,_0x27d252=()=>{},_0x43c6b2=()=>{},_0x10ba40=null,_0x311661=0x0){const _0x5f2968=_0x54d6e8;if(!_0x348741||!_0x348741['trim']())return{'success':![],'error':'输入文本为空'};if(!settings)return{'success':![],'error':_0x5f2968(0x245)};try{const _0xd90518=getCollectionIdInfo(),_0x15ace9=await _0x5bce7c();if(_0xd90518[_0x5f2968(0x243)]&&_0xd90518[_0x5f2968(0x243)]===_0x15ace9&&_0xd90518[_0x5f2968(0x243)]!==_0xd90518[_0x5f2968(0x1ea)]){const _0x2a7326=confirm(_0x5f2968(0x222));if(_0x2a7326)_0x27d252(_0x5f2968(0x208)+_0xd90518['oldId'],_0x5f2968(0x29a)),await purgeStorage(_0xd90518[_0x5f2968(0x243)]),_0x27d252(_0x5f2968(0x247),_0x5f2968(0x2b1));else return _0x27d252(_0x5f2968(0x264),_0x5f2968(0x292)),toastr[_0x5f2968(0x292)]('操作已取消。'),{'success':![],'error':_0x5f2968(0x1e8)};}let _0x316ff4,_0x530cbc;const _0x59829f=new Date()['toLocaleString'](_0x5f2968(0x2b4),{'hour12':![]}),_0x28b428=getCharacterName()||_0x5f2968(0x20e);switch(_0x14747e){case'chat_history':const _0x5a9fea=_0x48aff6['range']||{},_0x14e8af=_0x5a9fea['start']??'?',_0x2438f5=_0x5a9fea[_0x5f2968(0x262)]===0x0?'末':_0x5a9fea[_0x5f2968(0x262)]??'?';_0x316ff4=_0x28b428+':\x20'+_0x14e8af+'楼-'+_0x2438f5+'楼';break;case _0x5f2968(0x1ee):const _0x5be9f3=_0x48aff6[_0x5f2968(0x201)]||_0x5f2968(0x270),_0x34b747=_0x48aff6[_0x5f2968(0x297)]||'未知条目';_0x316ff4=_0x5be9f3+':\x20'+_0x34b747;break;case'novel':_0x316ff4=_0x5f2968(0x25f)+(_0x48aff6[_0x5f2968(0x254)]||_0x5f2968(0x227));break;case _0x5f2968(0x23e):default:_0x316ff4=_0x5f2968(0x2a8)+_0x59829f;break;}const _0x1debf2=Object[_0x5f2968(0x267)](getKnowledgeBases()),_0x2a29ab=_0x1debf2[_0x5f2968(0x259)](_0x1f5d9b=>_0x1f5d9b[_0x5f2968(0x1fe)]===_0x316ff4);if(_0x2a29ab)_0x530cbc=_0x2a29ab['id'],_0x27d252(_0x5f2968(0x248)+_0x316ff4+_0x5f2968(0x282),_0x5f2968(0x292));else{_0x27d252(_0x5f2968(0x27d)+_0x316ff4+_0x5f2968(0x2a7),_0x5f2968(0x292));const _0x2a57f8=addKnowledgeBase(_0x316ff4);_0x530cbc=_0x2a57f8['id'];}const _0x49d822=getCharacterStableId(),_0x4fdd3e=_0x49d822+'_'+_0x530cbc;_0x27d252('[翰林院-核心]\x20已创建并锁定知识库:\x20'+_0x316ff4+_0x5f2968(0x26c)+_0x4fdd3e+')',_0x5f2968(0x2b1)),_0x27d252(_0x5f2968(0x260)+_0x4fdd3e,'info'),_0x15d822({'message':'正在智能分块...','processed':0x0,'total':0x1});const _0x5481dc=splitIntoChunks(_0x348741,_0x14747e,_0x48aff6),_0x402aad=_0x5481dc[_0x5f2968(0x241)];if(_0x2b1f3c?.['aborted'])throw new Error(_0x5f2968(0x23f));_0x27d252(_0x5f2968(0x25b)+_0x316ff4+_0x5f2968(0x209)+_0x402aad+_0x5f2968(0x265),'info');if(_0x402aad===0x0)return{'success':!![],'count':0x0};const _0x400ad3=settings[_0x5f2968(0x1da)][_0x5f2968(0x287)]||0x5;let _0x34cec2=_0x311661;for(let _0xa3c57b=_0x311661;_0xa3c57b<_0x402aad;_0xa3c57b+=_0x400ad3){if(_0x2b1f3c?.[_0x5f2968(0x1fc)])throw new Error(_0x5f2968(0x23f));const _0x3dea49=_0x5481dc['slice'](_0xa3c57b,_0xa3c57b+_0x400ad3);_0x15d822({'message':'正在处理\x20'+(_0xa3c57b+0x1)+'-'+(_0xa3c57b+_0x3dea49[_0x5f2968(0x241)])+'\x20块','processed':_0xa3c57b,'total':_0x402aad});const _0x311989=_0x3dea49[_0x5f2968(0x2a5)](_0xbcacaf=>_0xbcacaf[_0x5f2968(0x220)]),_0x599be5=await getEmbeddings(_0x311989,_0x2b1f3c);if(_0x2b1f3c?.[_0x5f2968(0x1fc)])throw new Error(_0x5f2968(0x23f));if(_0x3dea49[_0x5f2968(0x241)]!==_0x599be5['length'])throw new Error(_0x5f2968(0x25a));const _0x14114a=_0x3dea49[_0x5f2968(0x2a5)]((_0x3f62e9,_0x155950)=>({..._0x3f62e9,'vector':_0x599be5[_0x155950]}));await insertVectors(_0x14114a,_0x2b1f3c,_0x4fdd3e),_0x34cec2+=_0x3dea49['length'],_0x10ba40&&_0x4cea90[_0x5f2968(0x2b7)](_0x10ba40,_0x34cec2,_0x402aad),await _0x43c6b2();}return _0x10ba40&&_0x4cea90[_0x5f2968(0x24e)](_0x10ba40),_0x27d252(_0x5f2968(0x2bb)+_0x34cec2+_0x5f2968(0x28e),_0x5f2968(0x2b1)),{'success':!![],'count':_0x34cec2};}catch(_0x33e3e9){if(_0x33e3e9[_0x5f2968(0x1fe)]===_0x5f2968(0x23f)){_0x27d252(_0x5f2968(0x2a9),_0x5f2968(0x29a));throw _0x33e3e9;}return console['error'](_0x5f2968(0x2c2),_0x33e3e9),_0x27d252(_0x5f2968(0x1df)+_0x33e3e9['message'],_0x5f2968(0x203)),{'success':![],'error':_0x33e3e9['message']};}}function getSettings(){const _0x543ee4=_0x54d6e8;if(!context||!context[_0x543ee4(0x252)])return structuredClone(_0x547a57);let _0x9cde81=context[_0x543ee4(0x252)][MODULE_NAME];!_0x9cde81&&(_0x9cde81={},context[_0x543ee4(0x252)][MODULE_NAME]=_0x9cde81);_0x9cde81['condensationHistory']===undefined&&(_0x9cde81[_0x543ee4(0x235)]={});_0x9cde81['knowledgeBases']===undefined&&(_0x9cde81[_0x543ee4(0x2a2)]={});for(const _0x1c5eb6 in _0x547a57){if(_0x9cde81[_0x1c5eb6]===undefined)_0x9cde81[_0x1c5eb6]=structuredClone(_0x547a57[_0x1c5eb6]);else{if(typeof _0x547a57[_0x1c5eb6]===_0x543ee4(0x26b)&&!Array[_0x543ee4(0x240)](_0x547a57[_0x1c5eb6])&&_0x547a57[_0x1c5eb6]!==null)for(const _0x5275be in _0x547a57[_0x1c5eb6]){_0x9cde81[_0x1c5eb6][_0x5275be]===undefined&&(_0x9cde81[_0x1c5eb6][_0x5275be]=_0x547a57[_0x1c5eb6][_0x5275be]);}}}return _0x9cde81;}function saveSettings(){if(context)context['saveSettingsDebounced']();}function resetSettings(){const _0x18beb=_0x54d6e8;context&&(context[_0x18beb(0x252)][MODULE_NAME]=structuredClone(_0x547a57),saveSettings());}function showNotification(_0x28352c,_0x5b9128=_0x54d6e8(0x292)){toastr[_0x5b9128](_0x28352c);}function getTagForSource(_0x512c21){const _0x5cc072=_0x54d6e8;switch(_0x512c21){case _0x5cc072(0x258):return _0x5cc072(0x295);case _0x5cc072(0x1ee):return _0x5cc072(0x1e4);case _0x5cc072(0x23e):return _0x5cc072(0x26e);case _0x5cc072(0x1fd):return'小说录入';default:return'资料';}}function splitIntoChunks(_0x57e35f,_0x48274e,_0x1ed2c2={}){const _0x3ec870=_0x54d6e8;switch(_0x48274e){case _0x3ec870(0x1fd):return _chunkForNovel(_0x57e35f,_0x1ed2c2);case _0x3ec870(0x258):return _chunkForChatHistory(_0x57e35f,_0x1ed2c2);case _0x3ec870(0x1ee):return _chunkForLorebook(_0x57e35f,_0x1ed2c2);case'manual':return _chunkForManual(_0x57e35f,_0x1ed2c2);default:console['warn'](_0x3ec870(0x224)+_0x48274e+_0x3ec870(0x26a));return _chunkForManual(_0x57e35f,{..._0x1ed2c2,'sourceName':_0x1ed2c2['sourceName']||'未知来源'});}}function _chunkForNovel(_0x2f10ff,_0x644479){const _0x2cdedf=_0x54d6e8,{chunkSize:_0x46ac20,overlap:_0x546555}=settings[_0x2cdedf(0x277)],{sourceName:sourceName='小说'}=_0x644479,_0x216af5=[];if(!_0x2f10ff||_0x46ac20<=0x0)return _0x216af5;const _0x1aa2b0=/(第\s*[一二三四五六七八九十百千万零\d]+\s*卷)/gim,_0x198b64=/(第\s*[一二三四五六七八九十百千万零\d]+\s*[章回节部])|^(Chapter\s+\d+)/gim;let _0x102b80=0x0;const _0x49c2b6=_0x2f10ff['split']('\x0a');let _0x1e7b02=_0x2cdedf(0x2b0),_0x367c9f='第1章',_0x4204fe=[];function _0x2e981c(){const _0x3e1331=_0x2cdedf;if(_0x4204fe[_0x3e1331(0x241)]===0x0)return;const _0x511f04=_0x4204fe[_0x3e1331(0x28c)]('\x0a');let _0x4f3dc6=0x0,_0xbe37a2=0x1;while(_0x4f3dc6<_0x511f04['length']){const _0xc42d46=Math['min'](_0x4f3dc6+_0x46ac20,_0x511f04['length']),_0x56a59b=_0x511f04[_0x3e1331(0x288)](_0x4f3dc6,_0xc42d46);if(_0x56a59b['trim']()['length']>0x0){const _0x1b9f40={'source':_0x3e1331(0x1fd),'sourceName':sourceName,'timestamp':new Date()[_0x3e1331(0x296)](),'globalIndex':_0x102b80++,'volume':_0x1e7b02,'chapter':_0x367c9f,'section':_0xbe37a2},_0x5c5caf=getTagForSource(_0x3e1331(0x1fd)),_0x57026b='[来源:\x20'+sourceName+',\x20'+_0x1e7b02+',\x20'+_0x367c9f+_0x3e1331(0x21f)+_0xbe37a2+'节]',_0x1d20d4='<'+_0x5c5caf+'>\x0a'+_0x57026b+'\x0a'+_0x56a59b+'\x0a';_0x216af5[_0x3e1331(0x1e1)]({'text':_0x1d20d4,'metadata':_0x1b9f40}),_0xbe37a2++;}_0x4f3dc6+=_0x46ac20-_0x546555;if(_0x4f3dc6>=_0x511f04['length'])break;}_0x4204fe=[];}for(const _0x1c0963 of _0x49c2b6){const _0x3fdd24=_0x1c0963[_0x2cdedf(0x1f3)]();if(_0x1aa2b0['test'](_0x3fdd24))_0x2e981c(),_0x1e7b02=_0x3fdd24,_0x367c9f=_0x2cdedf(0x1e5);else _0x198b64[_0x2cdedf(0x249)](_0x3fdd24)?(_0x2e981c(),_0x367c9f=_0x3fdd24):_0x4204fe['push'](_0x1c0963);}_0x2e981c();if(_0x216af5[_0x2cdedf(0x241)]===0x0&&_0x2f10ff[_0x2cdedf(0x241)]>0x0){let _0x4c4e66=0x0,_0x869160=0x1;while(_0x4c4e66<_0x2f10ff[_0x2cdedf(0x241)]){const _0x3d550f=Math[_0x2cdedf(0x1dc)](_0x4c4e66+_0x46ac20,_0x2f10ff[_0x2cdedf(0x241)]),_0x170332=_0x2f10ff['substring'](_0x4c4e66,_0x3d550f),_0x42cfa0={'source':_0x2cdedf(0x1fd),'sourceName':sourceName,'timestamp':new Date()[_0x2cdedf(0x296)](),'globalIndex':_0x216af5[_0x2cdedf(0x241)],'volume':_0x2cdedf(0x2b0),'chapter':_0x2cdedf(0x1e5),'section':_0x869160},_0x180c37=getTagForSource(_0x2cdedf(0x1fd)),_0x1d408b='[来源:\x20'+sourceName+_0x2cdedf(0x27f)+_0x869160+'节]',_0x48bcd1='<'+_0x180c37+'>\x0a'+_0x1d408b+'\x0a'+_0x170332+_0x2cdedf(0x217)+_0x180c37+'>';_0x216af5[_0x2cdedf(0x1e1)]({'text':_0x48bcd1,'metadata':_0x42cfa0}),_0x869160++,_0x4c4e66+=_0x46ac20-_0x546555;}}return _0x216af5;}function _chunkForChatHistory(_0xb3d0fc,_0x5ba0c4){const _0x5193c0=_0x54d6e8,{chunkSize:_0x4e4b84,overlap:_0x20a1ad}=settings['advanced'],{floor:_0x4df28d,is_user:_0x5d6bf6,timestamp:_0x6b6478}=_0x5ba0c4,_0x3584cc=[];if(!_0xb3d0fc||_0x4e4b84<=0x0)return _0x3584cc;let _0x48c0d0=0x1,_0xf31c66=0x0;while(_0xf31c66<_0xb3d0fc[_0x5193c0(0x241)]){const _0x2dad01=Math[_0x5193c0(0x1dc)](_0xf31c66+_0x4e4b84,_0xb3d0fc['length']),_0x540051=_0xb3d0fc[_0x5193c0(0x288)](_0xf31c66,_0x2dad01),_0xcec89b=_0x5193c0(0x257)+_0x4df28d+_0x5193c0(0x21f)+_0x48c0d0+'部分]',_0x3e2df6=getTagForSource(_0x5193c0(0x258)),_0x29b3df='<'+_0x3e2df6+'>\x0a'+_0xcec89b+'\x0a'+_0x540051+_0x5193c0(0x217)+_0x3e2df6+'>';_0x3584cc['push']({'text':_0x29b3df,'metadata':{'source':'chat_history','sourceName':_0x5193c0(0x24d)+_0x4df28d,'floor':_0x4df28d,'part':_0x48c0d0,'is_user':_0x5d6bf6,'timestamp':_0x6b6478}}),_0x48c0d0++,_0xf31c66+=_0x4e4b84-_0x20a1ad;if(_0xf31c66>=_0xb3d0fc['length'])break;}return _0x3584cc;}function _chunkForLorebook(_0x4e0154,_0x189fb6){const _0x13bcad=_0x54d6e8,{chunkSize:_0x3c54f3,overlap:_0x487ced}=settings[_0x13bcad(0x277)],{sourceName:sourceName='世界书条目'}=_0x189fb6,_0x51a085=[];if(!_0x4e0154||_0x3c54f3<=0x0)return _0x51a085;let _0x3dfe22=0x1,_0x1bd457=0x0;while(_0x1bd457<_0x4e0154[_0x13bcad(0x241)]){const _0x2ee4d5=Math[_0x13bcad(0x1dc)](_0x1bd457+_0x3c54f3,_0x4e0154[_0x13bcad(0x241)]),_0x1bf894=_0x4e0154[_0x13bcad(0x288)](_0x1bd457,_0x2ee4d5),_0x1ff0bb='[来源:\x20世界书,\x20条目:\x20'+sourceName+_0x13bcad(0x21f)+_0x3dfe22+_0x13bcad(0x21d),_0x4d66a5=getTagForSource(_0x13bcad(0x1ee)),_0x2d3ada='<'+_0x4d66a5+'>\x0a'+_0x1ff0bb+'\x0a'+_0x1bf894+'\x0a';_0x51a085[_0x13bcad(0x1e1)]({'text':_0x2d3ada,'metadata':{'source':_0x13bcad(0x1ee),'sourceName':sourceName,'part':_0x3dfe22,'timestamp':new Date()[_0x13bcad(0x296)]()}}),_0x3dfe22++,_0x1bd457+=_0x3c54f3-_0x487ced;if(_0x1bd457>=_0x4e0154[_0x13bcad(0x241)])break;}return _0x51a085;}function _chunkForManual(_0xcbcb2d,_0x3c1471){const _0x5c0130=_0x54d6e8,{chunkSize:_0x15362f,overlap:_0x12a721}=settings['advanced'],{sourceName:sourceName=_0x5c0130(0x26e)}=_0x3c1471,_0x2b692e=[];if(!_0xcbcb2d||_0x15362f<=0x0)return _0x2b692e;const _0x42cf3c=new Date(),_0x1122fc=_0x42cf3c[_0x5c0130(0x2a0)](_0x5c0130(0x2b4));let _0x13a965=0x1,_0x229aa8=0x0;while(_0x229aa8<_0xcbcb2d[_0x5c0130(0x241)]){const _0x1e2a95=Math[_0x5c0130(0x1dc)](_0x229aa8+_0x15362f,_0xcbcb2d[_0x5c0130(0x241)]),_0x3c0241=_0xcbcb2d[_0x5c0130(0x288)](_0x229aa8,_0x1e2a95),_0x15e4c3='[来源:\x20'+sourceName+',\x20向量化录入时间:\x20'+_0x1122fc+_0x5c0130(0x21f)+_0x13a965+'部分]',_0x10532d=getTagForSource(_0x5c0130(0x23e)),_0x36e4bb='<'+_0x10532d+'>\x0a'+_0x15e4c3+'\x0a'+_0x3c0241+_0x5c0130(0x217)+_0x10532d+'>';_0x2b692e[_0x5c0130(0x1e1)]({'text':_0x36e4bb,'metadata':{'source':_0x5c0130(0x23e),'sourceName':sourceName,'part':_0x13a965,'timestamp':_0x42cf3c[_0x5c0130(0x296)]()}}),_0x13a965++,_0x229aa8+=_0x15362f-_0x12a721;if(_0x229aa8>=_0xcbcb2d[_0x5c0130(0x241)])break;}return _0x2b692e;}import{getCollectionId as _0x5bce7c,getCharacterName}from'./utils/context-utils.js';async function getCollectionId(){return lockedCollectionId||await _0x5bce7c();}async function toggleSessionLock(){return lockedCollectionId?(lockedCollectionId=null,![]):(lockedCollectionId=await _0x5bce7c(),!![]);}function isSessionLocked(){return lockedCollectionId!==null;}function getLockedSessionInfo(){const _0x2b8b5d=_0x54d6e8;if(!lockedCollectionId)return null;return{'id':lockedCollectionId,'name':_0x2b8b5d(0x253)+lockedCollectionId[_0x2b8b5d(0x288)](0x0,0x8)+'...)'};}function getLocalKnowledgeBases(){const _0x4ab27b=_0x54d6e8,_0x2b9c0c=getCharacterStableId();return!settings[_0x4ab27b(0x2a2)][_0x2b9c0c]&&(settings[_0x4ab27b(0x2a2)][_0x2b9c0c]={}),settings[_0x4ab27b(0x2a2)][_0x2b9c0c];}function getGlobalKnowledgeBases(){const _0x551d10=_0x54d6e8;return!settings[_0x551d10(0x2a2)][GLOBAL_SCOPE_ID]&&(settings['knowledgeBases'][GLOBAL_SCOPE_ID]={}),settings[_0x551d10(0x2a2)][GLOBAL_SCOPE_ID];}function getKnowledgeBases(){const _0x4d303c=getLocalKnowledgeBases(),_0x2baf64=getGlobalKnowledgeBases();return{..._0x2baf64,..._0x4d303c};}function addKnowledgeBase(_0x5c2a76){const _0x466309=_0x54d6e8;if(!_0x5c2a76||!_0x5c2a76['trim']())throw new Error(_0x466309(0x261));const _0x3b9a6b=getCharacterStableId(),_0x2026d7=getLocalKnowledgeBases(),_0x2e401d=_0x466309(0x275)+Date['now']()+'_'+Math[_0x466309(0x1d8)]()[_0x466309(0x230)](0x24)[_0x466309(0x288)](0x2,0x9),_0x11ac80={'id':_0x2e401d,'name':_0x5c2a76['trim'](),'enabled':!![],'createdAt':new Date()[_0x466309(0x296)](),'owner':_0x3b9a6b};return _0x2026d7[_0x2e401d]=_0x11ac80,saveSettings(),console[_0x466309(0x28b)]('[翰林院-核心]\x20已为角色\x20'+_0x3b9a6b+_0x466309(0x210)+_0x5c2a76+'\x20(ID:\x20'+_0x2e401d+')'),_0x11ac80;}async function removeKnowledgeBase(_0xf14a1d,_0x2d18bd){const _0x46f056=_0x54d6e8,_0x4d5c58=getCharacterStableId(),_0x16791a=_0x2d18bd===_0x46f056(0x20d)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x1b1cfd=_0x16791a[_0xf14a1d],_0x26c38f=_0x1b1cfd?.[_0x46f056(0x1fe)]||_0xf14a1d;if(!_0x1b1cfd){console[_0x46f056(0x29a)]('[翰林院-核心]\x20尝试删除一个不存在的知识库:\x20'+_0xf14a1d+_0x46f056(0x285)+_0x2d18bd+')');return;}const _0x2c6888=_0x2d18bd==='global'?_0x1b1cfd[_0x46f056(0x2c6)]||GLOBAL_SCOPE_ID:_0x4d5c58,_0x1e427a=_0x2c6888+'_'+_0xf14a1d;console[_0x46f056(0x28b)](_0x46f056(0x276)+_0xf14a1d+_0x46f056(0x215)+_0x1e427a);const _0x37b8b2=await purgeStorage(_0x1e427a);_0x37b8b2?(delete _0x16791a[_0xf14a1d],saveSettings(),console['log'](_0x46f056(0x228)+_0xf14a1d+_0x46f056(0x1f7)),toastr[_0x46f056(0x2b1)](_0x46f056(0x280)+_0x26c38f+_0x46f056(0x1e3))):(console['error'](_0x46f056(0x2a3)+_0x1e427a+_0x46f056(0x1f2)),toastr[_0x46f056(0x203)](_0x46f056(0x216)));}function toggleKnowledgeBase(_0x4dce9d,_0x504e60){const _0x24df44=_0x54d6e8,_0x1a001b=_0x504e60==='global'?getGlobalKnowledgeBases():getLocalKnowledgeBases();_0x1a001b[_0x4dce9d]&&(_0x1a001b[_0x4dce9d]['enabled']=!_0x1a001b[_0x4dce9d][_0x24df44(0x251)],saveSettings(),console['log'](_0x24df44(0x1ec)+_0x4dce9d+_0x24df44(0x285)+_0x504e60+_0x24df44(0x2af)+(_0x1a001b[_0x4dce9d][_0x24df44(0x251)]?'启用':'禁用')));}function generateHash(_0x291e42){const _0x39d5ef=_0x54d6e8;let _0x4a6bf0=0x0;for(let _0x199ffc=0x0;_0x199ffc<_0x291e42['length'];_0x199ffc++){const _0x10021b=_0x291e42[_0x39d5ef(0x213)](_0x199ffc);_0x4a6bf0=(_0x4a6bf0<<0x5)-_0x4a6bf0+_0x10021b,_0x4a6bf0=_0x4a6bf0&_0x4a6bf0;}return Math[_0x39d5ef(0x1d5)](_0x4a6bf0)[_0x39d5ef(0x230)](0x24);}async function queryVectors(_0x16afb7){const _0x53f168=_0x54d6e8;console[_0x53f168(0x28b)](_0x53f168(0x219));const _0x4c852d=getCharacterStableId(),_0x505962=getLocalKnowledgeBases(),_0x46aa15=getGlobalKnowledgeBases(),_0x4d1d27=Object[_0x53f168(0x267)](_0x505962)[_0x53f168(0x211)](_0x55e9e5=>_0x55e9e5['enabled']),_0x5a7622=Object[_0x53f168(0x267)](_0x46aa15)[_0x53f168(0x211)](_0x4fa18e=>_0x4fa18e[_0x53f168(0x251)]),_0x449683=[..._0x4d1d27[_0x53f168(0x2a5)](_0x3e0b1d=>({..._0x3e0b1d,'scope':_0x53f168(0x22a)})),..._0x5a7622[_0x53f168(0x2a5)](_0x17b19e=>({..._0x17b19e,'scope':_0x53f168(0x20d)}))];if(_0x449683['length']===0x0){console[_0x53f168(0x28b)]('[翰林院-日志]\x20没有启用的新知识库,尝试查询旧版单体宝库...');const _0x1ac3a9=await _0x5bce7c();if(!_0x1ac3a9)return[];_0x449683[_0x53f168(0x1e1)]({'id':null,'name':'旧版宝库\x20(Legacy)','scope':_0x53f168(0x1f5)});}const _0x24c645=(await getEmbeddings([_0x16afb7]))[0x0];let _0x5e084b=[];const _0x15aa0f=_0x449683[_0x53f168(0x2a5)](_0x4ff2bf=>{const _0x1bce73=_0x53f168;let _0x43eeff;if(_0x4ff2bf['scope']===_0x1bce73(0x1f5))_0x43eeff=_0x5bce7c();else{const _0x33e5bd=_0x4ff2bf[_0x1bce73(0x263)]===_0x1bce73(0x20d)?_0x4ff2bf['owner']||GLOBAL_SCOPE_ID:_0x4c852d;_0x43eeff=Promise['resolve'](_0x33e5bd+'_'+_0x4ff2bf['id']);}return _0x43eeff['then'](_0x3f199a=>{const _0x922c8e=_0x1bce73;if(!_0x3f199a)return[];console[_0x922c8e(0x28b)](_0x922c8e(0x1f9)+_0x4ff2bf[_0x922c8e(0x1fe)]+_0x922c8e(0x1f6)+_0x3f199a+')');const _0x4069e7={'collectionId':_0x3f199a,'searchText':_0x16afb7,'topK':settings['advanced']['maxResults'],'threshold':settings[_0x922c8e(0x277)]['matchThreshold'],'source':'webllm','embeddings':{[_0x16afb7]:_0x24c645}};return fetch(_0x922c8e(0x20a),{'method':'POST','headers':context[_0x922c8e(0x246)](),'body':JSON[_0x922c8e(0x29c)](_0x4069e7)})['then'](async _0xb6b3b8=>{const _0x25ad3b=_0x922c8e;if(!_0xb6b3b8['ok']){const _0x298a2b=await _0xb6b3b8[_0x25ad3b(0x220)]();return console[_0x25ad3b(0x203)](_0x25ad3b(0x1f1)+_0x3f199a+_0x25ad3b(0x29f),_0x298a2b),[];}const _0x204656=await _0xb6b3b8[_0x25ad3b(0x223)](),_0x38efd5=_0x204656['metadata']||_0x204656[_0x25ad3b(0x29d)]||_0x204656[_0x25ad3b(0x2a1)]||[];return console[_0x25ad3b(0x28b)](_0x25ad3b(0x281)+_0x4ff2bf[_0x25ad3b(0x1fe)]+_0x25ad3b(0x1dd)+_0x38efd5[_0x25ad3b(0x241)]+_0x25ad3b(0x2c3)),_0x38efd5;})['catch'](_0x55ccef=>{const _0x477af0=_0x922c8e;return console['error'](_0x477af0(0x1f1)+_0x3f199a+_0x477af0(0x269),_0x55ccef),[];});});}),_0x3354c3=await Promise[_0x53f168(0x20b)](_0x15aa0f);_0x5e084b=_0x3354c3[_0x53f168(0x1e6)](),console[_0x53f168(0x28b)](_0x53f168(0x2ac)+_0x5e084b['length']+_0x53f168(0x2bc));const _0x8d42ec=[],_0x49bc4a=new Set();for(const _0x313700 of _0x5e084b){_0x313700&&_0x313700['text']&&!_0x49bc4a[_0x53f168(0x218)](_0x313700[_0x53f168(0x220)])&&(_0x49bc4a[_0x53f168(0x232)](_0x313700['text']),_0x8d42ec[_0x53f168(0x1e1)](_0x313700));}return console['log'](_0x53f168(0x229)+_0x8d42ec[_0x53f168(0x241)]+_0x53f168(0x2c3)),_0x8d42ec[_0x53f168(0x2b8)]((_0x2d88ea,_0x2979eb)=>(_0x2979eb['score']||0x0)-(_0x2d88ea['score']||0x0)),_0x8d42ec;}async function insertVectors(_0x45bd06,_0x456508=null,_0x3405dc){const _0x133bc3=_0x54d6e8;if(!_0x3405dc)throw new Error(_0x133bc3(0x26f));if(_0x45bd06[_0x133bc3(0x241)]===0x0)return{'success':!![],'count':0x0};const _0xb0b597=_0x45bd06[_0x133bc3(0x2a5)]((_0x4564bc,_0x351eea)=>({'hash':generateHash(_0x4564bc[_0x133bc3(0x220)]+Date[_0x133bc3(0x25e)]()+_0x351eea),'text':_0x4564bc[_0x133bc3(0x220)],'metadata':_0x4564bc[_0x133bc3(0x293)]||{'source':'unknown','timestamp':new Date()['toISOString']()}})),_0x3827d3=_0xb0b597[_0x133bc3(0x250)]((_0x167af3,_0x1ff0b9,_0x5c2c54)=>{const _0x539ed9=_0x133bc3;return _0x167af3[_0x1ff0b9[_0x539ed9(0x220)]]=_0x45bd06[_0x5c2c54][_0x539ed9(0x2aa)],_0x167af3;},{}),_0x185575={'collectionId':_0x3405dc,'items':_0xb0b597,'source':_0x133bc3(0x1e2),'embeddings':_0x3827d3},_0x3bee26=await fetch(_0x133bc3(0x205),{'method':'POST','headers':context[_0x133bc3(0x246)](),'body':JSON[_0x133bc3(0x29c)](_0x185575),'signal':_0x456508});if(!_0x3bee26['ok']){const _0x3adbb2=await _0x3bee26[_0x133bc3(0x220)]();console[_0x133bc3(0x203)]('[翰林院-日志]\x20忆识存入API错误:',_0x3adbb2);throw new Error(_0x133bc3(0x244)+_0x3bee26['status']+':\x20'+_0x3adbb2);}return{'success':!![],'count':_0xb0b597[_0x133bc3(0x241)]};}async function getVectorCount(_0xd0f383=null,_0x317c18=_0x54d6e8(0x22a)){const _0xa27903=_0x54d6e8,_0x5eeb4d=getCharacterStableId();if(_0xd0f383){const _0x5e4960=_0x317c18===_0xa27903(0x20d)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x2dfce3=_0x5e4960[_0xd0f383];if(!_0x2dfce3)return console[_0xa27903(0x29a)](_0xa27903(0x23d)+_0x317c18+_0xa27903(0x27e)+_0xd0f383+_0xa27903(0x225)),0x0;const _0x241832=_0x317c18===_0xa27903(0x20d)?_0x2dfce3[_0xa27903(0x2c6)]||GLOBAL_SCOPE_ID:_0x5eeb4d,_0x1ab412=_0x241832+'_'+_0xd0f383;return await countVectorsInCollection(_0x1ab412);}else{console[_0xa27903(0x28b)](_0xa27903(0x2b9));const _0x48b323=Object[_0xa27903(0x267)](getLocalKnowledgeBases()),_0x17f796=Object[_0xa27903(0x267)](getGlobalKnowledgeBases()),_0x29fb6f=[];_0x48b323[_0xa27903(0x286)](_0x2905f0=>{const _0x118e3f=_0xa27903,_0x8c3760=_0x5eeb4d+'_'+_0x2905f0['id'];_0x29fb6f[_0x118e3f(0x1e1)](countVectorsInCollection(_0x8c3760));}),_0x17f796[_0xa27903(0x286)](_0x5df13a=>{const _0x5ba7e3=_0xa27903,_0x133eb8=_0x5df13a['owner']||GLOBAL_SCOPE_ID,_0x530082=_0x133eb8+'_'+_0x5df13a['id'];_0x29fb6f[_0x5ba7e3(0x1e1)](countVectorsInCollection(_0x530082));});const _0x3fc305=await _0x5bce7c();_0x29fb6f[_0xa27903(0x1e1)](countVectorsInCollection(_0x3fc305));const _0x5a9cbd=await Promise[_0xa27903(0x20b)](_0x29fb6f),_0x6ab812=_0x5a9cbd['reduce']((_0x59aa08,_0x2595bc)=>_0x59aa08+_0x2595bc,0x0);return console[_0xa27903(0x28b)](_0xa27903(0x1db)+_0x6ab812),_0x6ab812;}}async function countVectorsInCollection(_0x4f3edc){const _0x1d4a6e=_0x54d6e8;if(!_0x4f3edc)return 0x0;console[_0x1d4a6e(0x28b)](_0x1d4a6e(0x1f0)+_0x4f3edc);const _0x356795={'collectionId':_0x4f3edc,'source':_0x1d4a6e(0x1e2),'embeddings':{}};try{const _0x51c8f5=await fetch(_0x1d4a6e(0x2b6),{'method':_0x1d4a6e(0x21e),'headers':context[_0x1d4a6e(0x246)](),'body':JSON['stringify'](_0x356795)});if(!_0x51c8f5['ok']){if(_0x51c8f5['status']===0x194)console[_0x1d4a6e(0x28b)](_0x1d4a6e(0x1fa)+_0x4f3edc+_0x1d4a6e(0x23b));else{const _0x8e0a9a=await _0x51c8f5[_0x1d4a6e(0x220)]();console['warn'](_0x1d4a6e(0x234)+_0x4f3edc+_0x1d4a6e(0x238)+_0x51c8f5['status']+'):',_0x8e0a9a);}return 0x0;}const _0x35e7dd=await _0x51c8f5[_0x1d4a6e(0x223)]();let _0x1b45a3=0x0;if(Array[_0x1d4a6e(0x240)](_0x35e7dd))_0x1b45a3=_0x35e7dd[_0x1d4a6e(0x241)];else _0x35e7dd&&_0x35e7dd['hashes']&&(_0x1b45a3=_0x35e7dd[_0x1d4a6e(0x279)][_0x1d4a6e(0x241)]);return _0x1b45a3;}catch(_0x3e4704){return console['error'](_0x1d4a6e(0x25c)+_0x4f3edc+_0x1d4a6e(0x269),_0x3e4704),0x0;}}async function purgeStorage(_0x2da48e=null){const _0x362ebe=_0x54d6e8;console[_0x362ebe(0x28b)](_0x362ebe(0x2a6));const _0x6c81d1=_0x2da48e||await getCollectionId();if(!_0x6c81d1)return console[_0x362ebe(0x203)](_0x362ebe(0x2ae)),toastr[_0x362ebe(0x203)](_0x362ebe(0x2ba)),![];console[_0x362ebe(0x28b)](_0x362ebe(0x255)+_0x6c81d1);const _0x27ce3d={'collectionId':_0x6c81d1};console[_0x362ebe(0x28b)](_0x362ebe(0x24f),JSON[_0x362ebe(0x29c)](_0x27ce3d,null,0x2));const _0x34f6ac=await fetch('/api/vector/purge',{'method':_0x362ebe(0x21e),'headers':context[_0x362ebe(0x246)](),'body':JSON[_0x362ebe(0x29c)](_0x27ce3d)});console[_0x362ebe(0x28b)](_0x362ebe(0x278)+_0x34f6ac[_0x362ebe(0x1e9)]);if(!_0x34f6ac['ok']){const _0x444887=await _0x34f6ac[_0x362ebe(0x220)]();console[_0x362ebe(0x203)](_0x362ebe(0x206),_0x444887);}else console[_0x362ebe(0x28b)](_0x362ebe(0x24a));return _0x34f6ac['ok'];}function _0xef88(){const _0x5d6b2b=['mes','includes','61112rcxDHS','start','abs','\x20失败:\x20','rerank_score','random','findIndex','retrieval','[翰林院-日志]\x20所有知识库统计完成,总向量数:\x20','min','\x20返回\x20','top_n','[翰林院-核心]\x20文本录入失败:\x20','queryMessageCount','push','webllm','\x22\x20已删除。','世界书','第1章','flat','[翰林院-核心]\x20凝识任务已锁定知识库:\x20','用户取消了迁移操作','status','newId','\x20记录凝识范围:\x20','[翰林院-核心]\x20知识库\x20','$1','lorebook','14668VCEQfi','[翰林院-日志]\x20统计目标集合ID:\x20','[翰林院-日志]\x20查询知识库\x20','\x20失败,删除操作中止。','trim','[翰林院-核心]\x20已为宝库\x20','legacy','\x20(ID:\x20','\x20及其向量数据。','embeddings','[翰林院-日志]\x20正在查询知识库:\x20','[翰林院-日志]\x20集合\x20','[翰林院-Rerank]\x20元数据加权排序完成。','aborted','novel','name','index','[翰林院]\x20未能获取SillyTavern上下文,初始化失败。','bookName','[翰林院-核心]\x20聊天记录凝识失败:\x20','error','262662eXVfFR','/api/vector/insert','[翰林院-日志]\x20清空宝库API错误:','84WxgOjN','[翰林院-迁移]\x20用户确认迁移,正在处理旧宝库:\x20','\x27的文本分割成\x20','/api/vector/query','all','\x20不存在,返回空数组。','global','未知角色','toLowerCase','\x20添加新知识库:\x20','filter','comment','charCodeAt','getContext',',将清空集合:\x20','删除知识库失败,未能清空后端数据。','\x0a_0x4bcd25?_0x4bcd25:Math[_0x3e7d50(0x1dc)](_0x4bcd25,_0x3606e0),_0x161be2=context[_0x3e7d50(0x242)]['slice'](_0x26d5d5,_0x43f03b);return _0x161be2['filter'](_0x79a5e0=>{const _0x1937b0=_0x3e7d50,_0x157ced=_0x79a5e0[_0x1937b0(0x236)]===!![],_0x58ba7a=_0x79a5e0[_0x1937b0(0x236)]===![];if(!_0x79a5e0[_0x1937b0(0x2c8)]||!_0x79a5e0[_0x1937b0(0x2c8)][_0x1937b0(0x1f3)]())return![];return _0x19beb2[_0x1937b0(0x226)]&&_0x157ced||_0x19beb2['ai']&&_0x58ba7a;});}async function processCondensation(_0x4d5bfa,_0x35d52b=()=>{},_0x296f54=null){const _0x2fe584=_0x54d6e8;if(!_0x4d5bfa||_0x4d5bfa[_0x2fe584(0x241)]===0x0)return{'success':![],'error':'No\x20messages\x20to\x20process.'};try{let _0x181d3f,_0x9d939c;const _0x33a404=getCharacterName()||'未知角色';if(_0x296f54){const _0x36a089=_0x296f54[_0x2fe584(0x1d4)]??'?',_0x16aeb5=_0x296f54[_0x2fe584(0x262)]===0x0?'末':_0x296f54[_0x2fe584(0x262)]??'?';_0x181d3f=_0x33a404+':\x20'+_0x36a089+'楼-'+_0x16aeb5+'楼';}else{const _0x55a42c=new Date()[_0x2fe584(0x2a0)]('zh-CN',{'hour12':![]});_0x181d3f=_0x2fe584(0x256)+_0x55a42c;}const _0x252de2=Object['values'](getLocalKnowledgeBases()),_0x5420c1=_0x252de2[_0x2fe584(0x259)](_0x3bbf44=>_0x3bbf44['name']===_0x181d3f);if(_0x5420c1)_0x9d939c=_0x5420c1['id'],_0x35d52b('[翰林院-核心]\x20检测到同名知识库\x20\x22'+_0x181d3f+_0x2fe584(0x282),_0x2fe584(0x292));else{_0x35d52b('[翰林院-核心]\x20准备为任务\x20\x22'+_0x181d3f+'\x22\x20创建专属知识库...',_0x2fe584(0x292));const _0x1ce0b5=addKnowledgeBase(_0x181d3f);_0x9d939c=_0x1ce0b5['id'];}const _0x50e7a5=getCharacterStableId(),_0x2bf790=_0x50e7a5+'_'+_0x9d939c;_0x35d52b(_0x2fe584(0x1e7)+_0x181d3f+_0x2fe584(0x26c)+_0x2bf790+')','success');const _0x1eb868=[],_0x1c0773=context['chat'];for(const _0xb3dece of _0x4d5bfa){const _0x3a06d7=(_0xb3dece[_0x2fe584(0x2c8)]||'')[_0x2fe584(0x23a)](/<[^>]*>/g,'')['trim']();if(_0x3a06d7['length']===0x0)continue;let _0x5a8356;if(_0xb3dece[_0x2fe584(0x298)]!==undefined&&_0xb3dece[_0x2fe584(0x298)]!==null)_0x5a8356=_0xb3dece['floor'];else{const _0x10c644=_0x1c0773[_0x2fe584(0x1d9)](_0xa96391=>_0xa96391===_0xb3dece);_0x5a8356=_0x10c644!==-0x1?_0x10c644+0x1:-0x1;}const _0x5c0556=new Date(_0xb3dece[_0x2fe584(0x2ab)]),_0x44cbf6=isNaN(_0x5c0556[_0x2fe584(0x273)]())?new Date()[_0x2fe584(0x296)]():_0x5c0556[_0x2fe584(0x296)](),_0x34d3dd=splitIntoChunks(_0x3a06d7,_0x2fe584(0x258),{'floor':_0x5a8356,'is_user':_0xb3dece['is_user'],'timestamp':_0x44cbf6});_0x1eb868[_0x2fe584(0x1e1)](..._0x34d3dd);}if(_0x1eb868[_0x2fe584(0x241)]===0x0)return{'success':!![],'count':0x0};_0x35d52b('[翰林院-核心]\x20已将\x20'+_0x4d5bfa['length']+'\x20条消息分解为\x20'+_0x1eb868['length']+_0x2fe584(0x22d),_0x2fe584(0x292));const _0x2eae52=settings[_0x2fe584(0x1da)][_0x2fe584(0x287)]||0x5;let _0x35b8df=0x0;for(let _0x226e40=0x0;_0x226e40<_0x1eb868[_0x2fe584(0x241)];_0x226e40+=_0x2eae52){const _0x41fd88=_0x1eb868[_0x2fe584(0x2a4)](_0x226e40,_0x226e40+_0x2eae52),_0x1f467d=_0x41fd88[_0x2fe584(0x2a5)](_0x4e4fea=>_0x4e4fea[_0x2fe584(0x220)]),_0x58ebe6=await getEmbeddings(_0x1f467d);if(_0x41fd88[_0x2fe584(0x241)]!==_0x58ebe6[_0x2fe584(0x241)])throw new Error(_0x2fe584(0x25a));const _0x483083=_0x41fd88[_0x2fe584(0x2a5)]((_0x2ae9f7,_0x7ae9a3)=>({..._0x2ae9f7,'vector':_0x58ebe6[_0x7ae9a3]}));await insertVectors(_0x483083,null,_0x2bf790),_0x35b8df+=_0x41fd88[_0x2fe584(0x241)];}if(_0x296f54){const _0x599789=_0x296f54[_0x2fe584(0x262)]===0x0?context['chat'][_0x2fe584(0x241)]:_0x296f54[_0x2fe584(0x262)],_0xe8b048=getCharacterStableId();!settings[_0x2fe584(0x235)][_0xe8b048]&&(settings[_0x2fe584(0x235)][_0xe8b048]={}),settings[_0x2fe584(0x235)][_0xe8b048][_0x2bf790]={'start':_0x296f54[_0x2fe584(0x1d4)],'end':_0x599789,'timestamp':new Date()['toISOString']()},saveSettings(),_0x35d52b(_0x2fe584(0x1f4)+_0x2bf790+_0x2fe584(0x1eb)+_0x296f54[_0x2fe584(0x1d4)]+'-'+_0x599789,_0x2fe584(0x292));}_0x35d52b(_0x2fe584(0x22f)+_0x35b8df+'\x20个条目。',_0x2fe584(0x2b1));const _0x216f7d=_0x4d5bfa[_0x2fe584(0x2a5)](_0x19a2d4=>{const _0xbe8fdf=_0x2fe584,_0x5f5b6b=_0x1c0773['findIndex'](_0xb7660d=>_0xb7660d===_0x19a2d4),_0x5e0ee5=_0x5f5b6b!==-0x1?_0x5f5b6b+0x1:-0x1,_0x2c94e0=_0x19a2d4[_0xbe8fdf(0x236)]?'用户':getCharacterName()||'AI';return'['+_0x2c94e0+'\x20-\x20楼层\x20#'+_0x5e0ee5+_0xbe8fdf(0x26d);});return{'success':!![],'count':_0x35b8df,'messages':_0x216f7d};}catch(_0x4bf0a3){return console[_0x2fe584(0x203)](_0x2fe584(0x2b5),_0x4bf0a3),_0x35d52b(_0x2fe584(0x202)+_0x4bf0a3[_0x2fe584(0x283)],_0x2fe584(0x203)),{'success':![],'error':_0x4bf0a3['message']};}}async function rerankResults(_0x5dba89,_0xae171c,_0x2304e3){const _0x4bd2bb=_0x54d6e8;let _0x3b655f=_0x5dba89;if(_0x2304e3[_0x4bd2bb(0x27a)]['enabled']&&_0x5dba89[_0x4bd2bb(0x241)]>0x0){console[_0x4bd2bb(0x28b)]('[翰林院-Rerank]\x20开始外部API重排序...');try{const _0x24c499=_0x5dba89[_0x4bd2bb(0x2a5)](_0x139803=>_0x139803[_0x4bd2bb(0x220)]),_0x48f475=await executeRerank(_0xae171c,_0x24c499,_0x2304e3[_0x4bd2bb(0x27a)]),_0x2270dd=_0x5dba89['map']((_0x2b8cb2,_0x487016)=>({..._0x2b8cb2,'original_index':_0x487016}));_0x3b655f=_0x2270dd[_0x4bd2bb(0x2a5)](_0x5b2277=>{const _0x4895f5=_0x4bd2bb,_0x1f3ad5=_0x48f475[_0x4895f5(0x29d)][_0x4895f5(0x259)](_0x47e8ab=>_0x47e8ab[_0x4895f5(0x1ff)]===_0x5b2277[_0x4895f5(0x21a)]),_0x1745ea=_0x1f3ad5?_0x1f3ad5[_0x4895f5(0x2be)]:0x0;return{..._0x5b2277,'rerank_score':_0x1745ea};});if(_0x2304e3[_0x4bd2bb(0x27a)][_0x4bd2bb(0x24c)])showNotification(_0x4bd2bb(0x29e),_0x4bd2bb(0x2b1));}catch(_0x5a0289){console[_0x4bd2bb(0x203)]('[翰林院-Rerank]\x20外部Rerank失败,将仅使用内部加权。',_0x5a0289);if(_0x2304e3[_0x4bd2bb(0x27a)][_0x4bd2bb(0x24c)])showNotification(_0x4bd2bb(0x22b)+_0x5a0289[_0x4bd2bb(0x283)],_0x4bd2bb(0x203));_0x3b655f['forEach'](_0x5aecec=>_0x5aecec[_0x4bd2bb(0x1d7)]=0x0);}}else _0x3b655f[_0x4bd2bb(0x286)](_0x412d55=>_0x412d55[_0x4bd2bb(0x1d7)]=0x0);console[_0x4bd2bb(0x28b)](_0x4bd2bb(0x2c5));const _0x3e3567=context[_0x4bd2bb(0x242)][_0x4bd2bb(0x241)],_0x503273=_0x2304e3[_0x4bd2bb(0x27a)][_0x4bd2bb(0x24b)],_0x447c47=_0x3b655f[_0x4bd2bb(0x2a5)](_0x57380d=>{const _0x100336=_0x4bd2bb;let _0x21dd56=0x1;const _0x14197e=_0x57380d[_0x100336(0x293)]||{};switch(_0x14197e[_0x100336(0x290)]){case _0x100336(0x1ee):_0x21dd56*=1.2;break;case'manual':_0x21dd56*=1.1;break;case _0x100336(0x258):if(_0x14197e['floor']&&_0x3e3567>0x0){const _0x5ec00e=_0x14197e[_0x100336(0x298)]/_0x3e3567;_0x21dd56*=0x1+_0x5ec00e;}break;}const _0x4ca68d=_0x57380d[_0x100336(0x1d7)]*_0x503273+(_0x57380d[_0x100336(0x284)]||0x0)*(0x1-_0x503273),_0x44e284=_0x4ca68d*_0x21dd56;return{..._0x57380d,'final_score':_0x44e284};});return _0x447c47[_0x4bd2bb(0x2b8)]((_0x33e93b,_0x767ab7)=>(_0x767ab7[_0x4bd2bb(0x231)]||0x0)-(_0x33e93b[_0x4bd2bb(0x231)]||0x0)),console[_0x4bd2bb(0x28b)](_0x4bd2bb(0x1fb)),_0x447c47[_0x4bd2bb(0x2a4)](0x0,_0x2304e3[_0x4bd2bb(0x27a)][_0x4bd2bb(0x1de)]);}async function rearrangeChat(_0x570493,_0x45a138,_0x4ec855,_0xc03d27){const _0x458262=_0x54d6e8;setExtensionPrompt(_0x458262(0x28a),'',settings['injection'][_0x458262(0x2c1)],settings[_0x458262(0x299)][_0x458262(0x2b3)],![],settings[_0x458262(0x299)]['depth_role']);if(_0xc03d27===_0x458262(0x27b)||!settings[_0x458262(0x1da)]['enabled'])return;const _0x48c98e=_0x570493[_0x458262(0x2a4)](-settings['advanced'][_0x458262(0x1e0)]);if(_0x48c98e[_0x458262(0x241)]===0x0)return;const _0x41b971=_0x48c98e[_0x458262(0x2a5)](_0x3b6956=>_0x3b6956[_0x458262(0x2c8)])[_0x458262(0x28c)]('\x20')['replace'](/<[^>]*>/g,'')[_0x458262(0x1f3)]();if(!_0x41b971)return;try{const _0x4d67f9=await queryVectors(_0x41b971);if(_0x4d67f9[_0x458262(0x241)]===0x0)return;const _0x12f34a=await rerankResults(_0x4d67f9,_0x41b971,settings);if(_0x12f34a[_0x458262(0x241)]===0x0)return;const _0xa02313=_0x12f34a['map'](_0x1b5fd4=>_0x1b5fd4['text'])[_0x458262(0x28c)]('\x0a\x0a');let _0x39c725=settings[_0x458262(0x299)][_0x458262(0x221)]['replace']('{{text}}',_0xa02313);_0x39c725[_0x458262(0x1f3)]()&&(_0x39c725=_0x458262(0x28d)+_0x39c725),setExtensionPrompt(_0x458262(0x28a),_0x39c725,settings[_0x458262(0x299)][_0x458262(0x2c1)],settings[_0x458262(0x299)][_0x458262(0x2b3)],![],settings['injection']['depth_role']);}catch(_0x183208){console[_0x458262(0x203)](_0x458262(0x2bf),_0x183208);if(settings[_0x458262(0x1da)]['notify'])showNotification('忆识检索失败:\x20'+_0x183208['message'],_0x458262(0x203));}}async function moveKnowledgeBase(_0x322826,_0x53ed8c){const _0x3a3d93=_0x54d6e8,_0x31160a=_0x53ed8c===_0x3a3d93(0x20d)?_0x3a3d93(0x22a):'global',_0x5be5eb=getCharacterStableId();if(!_0x5be5eb&&_0x31160a===_0x3a3d93(0x22a)){toastr[_0x3a3d93(0x203)]('移动失败:没有当前角色,无法移入局部知识库。');return;}const _0x1372e2=_0x53ed8c===_0x3a3d93(0x20d)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x5c5d20=_0x31160a==='global'?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x142069=_0x1372e2[_0x322826];if(!_0x142069){const _0x1937be=_0x3a3d93(0x2ad)+_0x53ed8c+_0x3a3d93(0x27e)+_0x322826+_0x3a3d93(0x225);console[_0x3a3d93(0x203)](_0x3a3d93(0x23c)+_0x1937be),toastr['error'](_0x3a3d93(0x28f));return;}_0x53ed8c===_0x3a3d93(0x22a)&&_0x31160a===_0x3a3d93(0x20d)&&!_0x142069['owner']&&(console[_0x3a3d93(0x28b)](_0x3a3d93(0x239)+_0x322826+_0x3a3d93(0x266)+_0x5be5eb),_0x142069[_0x3a3d93(0x2c6)]=_0x5be5eb);delete _0x1372e2[_0x322826],_0x5c5d20[_0x322826]=_0x142069,saveSettings();const _0x212c0c=_0x3a3d93(0x274)+_0x142069['name']+_0x3a3d93(0x233)+(_0x31160a===_0x3a3d93(0x20d)?'全局':'局部')+'。';console[_0x3a3d93(0x28b)]('[翰林院-配置]\x20'+_0x212c0c);}async function getAllVectorsFromCollection(_0x31242c){const _0x5b7bf6=_0x54d6e8,_0x79d14e='*',_0x424a54={'collectionId':_0x31242c,'searchText':_0x79d14e,'topK':0x2710,'threshold':0x0,'source':_0x5b7bf6(0x1e2),'embeddings':{}},_0x1b93f5=(await getEmbeddings([_0x79d14e]))[0x0];_0x424a54[_0x5b7bf6(0x1f8)]={[_0x79d14e]:_0x1b93f5};const _0x3d18a4=await fetch(_0x5b7bf6(0x20a),{'method':_0x5b7bf6(0x21e),'headers':context[_0x5b7bf6(0x246)](),'body':JSON['stringify'](_0x424a54)});if(!_0x3d18a4['ok']){if(_0x3d18a4[_0x5b7bf6(0x1e9)]===0x194)return console['log'](_0x5b7bf6(0x2bd)+_0x31242c+_0x5b7bf6(0x20c)),[];const _0x794023=await _0x3d18a4[_0x5b7bf6(0x220)]();throw new Error('查询集合\x20'+_0x31242c+_0x5b7bf6(0x1d6)+_0x794023);}const _0x522a99=await _0x3d18a4[_0x5b7bf6(0x223)]();return _0x522a99[_0x5b7bf6(0x293)]||_0x522a99[_0x5b7bf6(0x29d)]||_0x522a99[_0x5b7bf6(0x2a1)]||[];}