Files
ST-Amily2-Chat-Optimisation…/core/rag-processor.js
2025-08-06 10:52:41 +08:00

2 lines
33 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use strict';const _0x3ed94e=_0x1dec;(function(_0xf901a8,_0x3e5b54){const _0x25fad9=_0x1dec,_0x4558ab=_0xf901a8();while(!![]){try{const _0x23a24e=parseInt(_0x25fad9(0x205))/0x1+parseInt(_0x25fad9(0x15e))/0x2+-parseInt(_0x25fad9(0x1ff))/0x3*(parseInt(_0x25fad9(0x163))/0x4)+parseInt(_0x25fad9(0x210))/0x5*(-parseInt(_0x25fad9(0x19c))/0x6)+-parseInt(_0x25fad9(0x16b))/0x7*(-parseInt(_0x25fad9(0x1c6))/0x8)+-parseInt(_0x25fad9(0x169))/0x9*(parseInt(_0x25fad9(0x1df))/0xa)+parseInt(_0x25fad9(0x1ae))/0xb;if(_0x23a24e===_0x3e5b54)break;else _0x4558ab['push'](_0x4558ab['shift']());}catch(_0x382f8d){_0x4558ab['push'](_0x4558ab['shift']());}}}(_0x3c54,0xcfc3d));import{extension_prompt_roles,setExtensionPrompt}from'/script.js';import*as _0xeff614 from'./utils/context-utils.js';import{getCollectionIdInfo}from'./utils/context-utils.js';import{defaultSettings as _0x3c173d}from'./rag-settings.js';import*as _0x516397 from'./ingestion-manager.js';const MODULE_NAME=_0x3ed94e(0x176),OFFICIAL_REARRANGE_CHAT_FUNCTION_NAME=_0x3ed94e(0x1d3);let context=null,settings=null,lockedCollectionId=null;export{initialize,getSettings,saveSettings,resetSettings,testApiConnection,fetchEmbeddingModels,fetchRerankModels,getVectorCount,purgeStorage,getMessagesForCondensation,processCondensation,ingestTextToHanlinyuan,getCollectionId,toggleSessionLock,isSessionLocked,getLockedSessionInfo};function initialize(){const _0x2d1099=_0x3ed94e;context=SillyTavern[_0x2d1099(0x184)]();if(!context){console[_0x2d1099(0x1be)](_0x2d1099(0x1b2));return;}settings=getSettings();const _0x29cd09=window[OFFICIAL_REARRANGE_CHAT_FUNCTION_NAME];typeof _0x29cd09===_0x2d1099(0x20a)?(window[OFFICIAL_REARRANGE_CHAT_FUNCTION_NAME]=async function(..._0x11d07c){await rearrangeChat(..._0x11d07c),await _0x29cd09(..._0x11d07c);},console[_0x2d1099(0x22b)]('翰林院忆识核心已启动\x20(V5.1-和平共存版),已代理\x20'+OFFICIAL_REARRANGE_CHAT_FUNCTION_NAME)):(window[OFFICIAL_REARRANGE_CHAT_FUNCTION_NAME]=rearrangeChat,console[_0x2d1099(0x22b)](_0x2d1099(0x212)+OFFICIAL_REARRANGE_CHAT_FUNCTION_NAME));}async function ingestTextToHanlinyuan(_0x515db7,_0x3197a6=_0x3ed94e(0x194),_0x390264='',_0x10f680=()=>{},_0x267d7d=null,_0x5e3e89=()=>{},_0x1a7839=()=>{},_0x2a25e8=null,_0x5dcbf3=0x0,_0x484b68=null){const _0x17767a=_0x3ed94e;if(!_0x515db7||!_0x515db7['trim']())return{'success':![],'error':_0x17767a(0x1f9)};if(!settings)return{'success':![],'error':_0x17767a(0x229)};try{let _0xd00eea=await getCollectionId();const _0x1eb5e8=getCollectionIdInfo();if(_0x1eb5e8[_0x17767a(0x193)]&&_0x1eb5e8[_0x17767a(0x193)]===_0xd00eea&&_0x1eb5e8[_0x17767a(0x193)]!==_0x1eb5e8[_0x17767a(0x215)]){const _0x4fcad1=confirm(_0x17767a(0x171));if(_0x4fcad1)_0x5e3e89(_0x17767a(0x222)+_0x1eb5e8['oldId'],'warn'),await purgeStorage(_0x1eb5e8['oldId']),_0xd00eea=_0x1eb5e8[_0x17767a(0x215)],_0x5e3e89(_0x17767a(0x1b4)+_0xd00eea,'success');else return _0x5e3e89(_0x17767a(0x1a1),_0x17767a(0x188)),toastr[_0x17767a(0x188)]('操作已取消。'),{'success':![],'error':_0x17767a(0x1b8)};}if(!_0xd00eea)throw new Error('无法确定当前忆识宝库的ID请确认角色已正确加载。');_0x5e3e89(_0x17767a(0x1c9)+_0xd00eea,_0x17767a(0x188)),_0x10f680({'message':_0x17767a(0x177),'processed':0x0,'total':0x1});const _0x4a6ce2=splitIntoChunks(_0x515db7,_0x3197a6,_0x390264),_0x1a9cf3=_0x4a6ce2[_0x17767a(0x1ca)];if(_0x267d7d?.[_0x17767a(0x206)])throw new Error(_0x17767a(0x1f2));_0x5e3e89(_0x17767a(0x170)+(_0x390264||_0x3197a6)+_0x17767a(0x1db)+_0x1a9cf3+_0x17767a(0x225),_0x17767a(0x188));if(_0x1a9cf3===0x0)return{'success':!![],'count':0x0};const _0x1481a5=settings[_0x17767a(0x1c2)][_0x17767a(0x180)]||0x5;let _0x37261c=_0x5dcbf3;for(let _0x28d685=_0x5dcbf3;_0x28d685<_0x1a9cf3;_0x28d685+=_0x1481a5){if(_0x267d7d?.['aborted'])throw new Error(_0x17767a(0x1f2));const _0x886407=_0x4a6ce2[_0x17767a(0x1aa)](_0x28d685,_0x28d685+_0x1481a5);_0x10f680({'message':'正在处理\x20'+(_0x28d685+0x1)+'-'+(_0x28d685+_0x886407[_0x17767a(0x1ca)])+'\x20块','processed':_0x28d685,'total':_0x1a9cf3});const _0x4a0665=_0x886407[_0x17767a(0x227)](_0x41cc36=>_0x41cc36[_0x17767a(0x1bc)]),_0x2b45cb=await getEmbeddings(_0x4a0665,_0x267d7d);if(_0x267d7d?.[_0x17767a(0x206)])throw new Error(_0x17767a(0x1f2));if(_0x886407[_0x17767a(0x1ca)]!==_0x2b45cb[_0x17767a(0x1ca)])throw new Error(_0x17767a(0x219));const _0xbfdc8=_0x886407[_0x17767a(0x227)]((_0x5adca7,_0x2607b2)=>({..._0x5adca7,'vector':_0x2b45cb[_0x2607b2]}));await insertVectors(_0xbfdc8,_0x267d7d,_0xd00eea),_0x37261c+=_0x886407[_0x17767a(0x1ca)],_0x2a25e8&&_0x516397[_0x17767a(0x18e)](_0x2a25e8,_0x37261c,_0x1a9cf3),_0x1a7839();}_0x2a25e8&&_0x516397[_0x17767a(0x1b7)](_0x2a25e8);if(_0x484b68){const _0x127e7d=await getCollectionId(),_0xdc5f7d=_0x484b68['end']===0x0?context[_0x17767a(0x19b)]['length']:_0x484b68[_0x17767a(0x160)];settings['condensationHistory'][_0x127e7d]={'start':_0x484b68[_0x17767a(0x1ec)],'end':_0xdc5f7d,'timestamp':new Date()[_0x17767a(0x1f6)]()},saveSettings(),_0x5e3e89(_0x17767a(0x201)+_0x127e7d+_0x17767a(0x1b0)+_0x484b68[_0x17767a(0x1ec)]+'-'+_0xdc5f7d,_0x17767a(0x188));}return _0x5e3e89(_0x17767a(0x1ef)+_0x37261c+_0x17767a(0x19f),'success'),{'success':!![],'count':_0x37261c};}catch(_0x265ecb){if(_0x265ecb['name']===_0x17767a(0x1f2)){_0x5e3e89(_0x17767a(0x208),_0x17767a(0x1d4));throw _0x265ecb;}return console['error'](_0x17767a(0x214),_0x265ecb),_0x5e3e89(_0x17767a(0x21d)+_0x265ecb['message'],_0x17767a(0x1be)),{'success':![],'error':_0x265ecb[_0x17767a(0x17a)]};}}function getSettings(){const _0x5ee9a6=_0x3ed94e;if(!context||!context[_0x5ee9a6(0x200)])return structuredClone(_0x3c173d);let _0x23154e=context[_0x5ee9a6(0x200)][MODULE_NAME];!_0x23154e&&(_0x23154e={},context['extensionSettings'][MODULE_NAME]=_0x23154e);_0x23154e[_0x5ee9a6(0x1bb)]===undefined&&(_0x23154e['condensationHistory']={});for(const _0x37f432 in _0x3c173d){if(_0x23154e[_0x37f432]===undefined)_0x23154e[_0x37f432]=structuredClone(_0x3c173d[_0x37f432]);else{if(typeof _0x3c173d[_0x37f432]===_0x5ee9a6(0x1fc)&&!Array[_0x5ee9a6(0x1bd)](_0x3c173d[_0x37f432])&&_0x3c173d[_0x37f432]!==null)for(const _0x5c200a in _0x3c173d[_0x37f432]){_0x23154e[_0x37f432][_0x5c200a]===undefined&&(_0x23154e[_0x37f432][_0x5c200a]=_0x3c173d[_0x37f432][_0x5c200a]);}}}return _0x23154e;}function saveSettings(){const _0x53b88c=_0x3ed94e;if(context)context[_0x53b88c(0x1a9)]();}function resetSettings(){context&&(context['extensionSettings'][MODULE_NAME]=structuredClone(_0x3c173d),saveSettings());}function _0x1dec(_0x3b40cb,_0x5bd71f){const _0x3c54ff=_0x3c54();return _0x1dec=function(_0x1dec58,_0x57ec5b){_0x1dec58=_0x1dec58-0x15e;let _0x475eaa=_0x3c54ff[_0x1dec58];return _0x475eaa;},_0x1dec(_0x3b40cb,_0x5bd71f);}function showNotification(_0x56328f,_0x4f88f3=_0x3ed94e(0x188)){toastr[_0x4f88f3](_0x56328f);}function getTagForSource(_0x136b18){const _0x4396c0=_0x3ed94e;switch(_0x136b18){case _0x4396c0(0x1cf):return _0x4396c0(0x1c8);case _0x4396c0(0x1c1):return _0x4396c0(0x185);case _0x4396c0(0x194):return _0x4396c0(0x1d7);case _0x4396c0(0x1af):return _0x4396c0(0x1c7);default:return'资料';}}function splitIntoChunks(_0x5217a1,_0x409941,_0x2197c8){const _0x15f105=_0x3ed94e,{chunkSize:_0x3bfabc,overlap:_0x2a85ec}=settings[_0x15f105(0x223)],_0x58a457=[];if(!_0x5217a1||_0x3bfabc<=0x0)return _0x58a457;const _0x67f6e2=/(第\s*[一二三四五六七八九十百千万零\d]+\s*卷)/gim,_0x43b5e3=/(第\s*[一二三四五六七八九十百千万零\d]+\s*[章回节部])|^(Chapter\s+\d+)/gim;let _0x39e38e=0x0,_0x5e7ec4=0x1,_0x5076de=0x1,_0x31dbd2=![];const _0x44c467=_0x5217a1[_0x15f105(0x186)]('\x0a');let _0x46ca2f='第1卷',_0x3be98c=_0x15f105(0x1f1),_0xab3d1=[];function _0x208db9(){const _0x56369c=_0x15f105;if(_0xab3d1[_0x56369c(0x1ca)]===0x0)return;const _0x201581=_0xab3d1[_0x56369c(0x1a4)]('\x0a');let _0x316f0d=0x0,_0x215080=0x1;while(_0x316f0d<_0x201581['length']){const _0x4a2e28=Math[_0x56369c(0x1cc)](_0x316f0d+_0x3bfabc,_0x201581[_0x56369c(0x1ca)]),_0x42b7b=_0x201581['substring'](_0x316f0d,_0x4a2e28);if(_0x42b7b[_0x56369c(0x1b9)]()['length']>0x0){const _0x1217ac={'source':_0x409941,'sourceName':_0x2197c8,'timestamp':new Date()[_0x56369c(0x1f6)](),'globalIndex':_0x39e38e++,'volume':_0x46ca2f,'chapter':_0x3be98c,'section':_0x215080},_0x4c66e5=getTagForSource(_0x409941),_0x43c5a3=_0x56369c(0x1ba)+_0x2197c8+',\x20'+_0x46ca2f+',\x20'+_0x3be98c+_0x56369c(0x21c)+_0x215080+'节]',_0x1135c6='<'+_0x4c66e5+'>\x0a'+_0x43c5a3+'\x0a'+_0x42b7b+_0x56369c(0x1f4)+_0x4c66e5+'>';_0x58a457[_0x56369c(0x21e)]({'text':_0x1135c6,'metadata':_0x1217ac}),_0x215080++;}_0x316f0d+=_0x3bfabc-_0x2a85ec;if(_0x316f0d>=_0x201581[_0x56369c(0x1ca)])break;}_0xab3d1=[];}for(const _0xb50c46 of _0x44c467){const _0x10f606=_0xb50c46[_0x15f105(0x1b9)]();if(_0x67f6e2[_0x15f105(0x224)](_0x10f606))_0x208db9(),_0x46ca2f=_0x10f606,_0x3be98c=_0x15f105(0x1f1),_0x5e7ec4++,_0x5076de=0x1,_0x31dbd2=!![];else _0x43b5e3['test'](_0x10f606)?(_0x208db9(),_0x3be98c=_0x10f606,_0x5076de++):_0xab3d1[_0x15f105(0x21e)](_0xb50c46);}_0x208db9();if(_0x58a457[_0x15f105(0x1ca)]===0x0&&_0x5217a1[_0x15f105(0x1ca)]>0x0){let _0xe1203d=0x0,_0x45ee3e=0x1;while(_0xe1203d<_0x5217a1['length']){const _0x5dc165=Math[_0x15f105(0x1cc)](_0xe1203d+_0x3bfabc,_0x5217a1[_0x15f105(0x1ca)]),_0x3ecbb5=_0x5217a1[_0x15f105(0x20e)](_0xe1203d,_0x5dc165),_0x88bdc0={'source':_0x409941,'sourceName':_0x2197c8,'timestamp':new Date()['toISOString'](),'globalIndex':_0x58a457[_0x15f105(0x1ca)],'volume':_0x15f105(0x197),'chapter':_0x15f105(0x1f1),'section':_0x45ee3e},_0x1c007a=getTagForSource(_0x409941),_0x35998e=_0x15f105(0x1ba)+_0x2197c8+_0x15f105(0x1ab)+_0x45ee3e+'节]',_0x5cdd95='<'+_0x1c007a+'>\x0a'+_0x35998e+'\x0a'+_0x3ecbb5+_0x15f105(0x1f4)+_0x1c007a+'>';_0x58a457[_0x15f105(0x21e)]({'text':_0x5cdd95,'metadata':_0x88bdc0}),_0x45ee3e++,_0xe1203d+=_0x3bfabc-_0x2a85ec;}}return _0x58a457;}import{getCollectionId as _0x1d1362,getCharacterName}from'./utils/context-utils.js';async function getCollectionId(){return lockedCollectionId||await _0x1d1362();}async function toggleSessionLock(){return lockedCollectionId?(lockedCollectionId=null,![]):(lockedCollectionId=await _0x1d1362(),!![]);}function isSessionLocked(){return lockedCollectionId!==null;}function getLockedSessionInfo(){const _0x222711=_0x3ed94e;if(!lockedCollectionId)return null;return{'id':lockedCollectionId,'name':_0x222711(0x182)+lockedCollectionId['substring'](0x0,0x8)+'...)'};}function generateHash(_0x13e4ac){const _0x2d150c=_0x3ed94e;let _0x4efc70=0x0;for(let _0x8c077d=0x0;_0x8c077d<_0x13e4ac[_0x2d150c(0x1ca)];_0x8c077d++){const _0x2e47d6=_0x13e4ac[_0x2d150c(0x17f)](_0x8c077d);_0x4efc70=(_0x4efc70<<0x5)-_0x4efc70+_0x2e47d6,_0x4efc70=_0x4efc70&_0x4efc70;}return Math[_0x2d150c(0x1d8)](_0x4efc70)[_0x2d150c(0x1ee)](0x24);}function getSanitizedBaseUrl(_0x4549e5){const _0x565916=_0x3ed94e;let _0x2476b6=_0x4549e5[_0x565916(0x1b9)]();return _0x2476b6['endsWith']('/')&&(_0x2476b6=_0x2476b6[_0x565916(0x1aa)](0x0,-0x1)),_0x2476b6[_0x565916(0x178)](_0x565916(0x19d))&&(_0x2476b6=_0x2476b6[_0x565916(0x1aa)](0x0,-0x3)),_0x2476b6[_0x565916(0x178)](_0x565916(0x162))&&(_0x2476b6=_0x2476b6['slice'](0x0,-0xb)),_0x2476b6;}async function fetchEmbeddingModels(){const _0x41fb4e=_0x3ed94e,{apiKey:_0x59deb7}=settings[_0x41fb4e(0x1c2)],_0x2cb8c6=getApiEndpointUrl(!![]);if(!_0x2cb8c6||!_0x59deb7)throw new Error(_0x41fb4e(0x1cb));const _0x4410ab=getSanitizedBaseUrl(_0x2cb8c6),_0x4ae960=_0x4410ab+'/v1/models';console['log'](_0x41fb4e(0x1fe)+_0x4ae960+_0x41fb4e(0x1dd));const _0x3a79d1=await fetch(_0x4ae960,{'method':_0x41fb4e(0x1a2),'headers':getApiHeaders()});if(!_0x3a79d1['ok']){const _0x5035d7=await _0x3a79d1[_0x41fb4e(0x1bc)]();throw new Error(_0x41fb4e(0x192)+_0x3a79d1[_0x41fb4e(0x216)]+_0x41fb4e(0x16f)+_0x5035d7);}const _0x3a04e6=await _0x3a79d1['json']();if(!_0x3a04e6[_0x41fb4e(0x173)]||!Array[_0x41fb4e(0x1bd)](_0x3a04e6[_0x41fb4e(0x173)]))throw new Error(_0x41fb4e(0x1d6));return _0x3a04e6[_0x41fb4e(0x173)][_0x41fb4e(0x227)](_0x1a50e3=>_0x1a50e3['id'])[_0x41fb4e(0x1ad)]();}function _0x3c54(){const _0x1ae7cb=['[翰林院-迁移]\x20用户确认迁移正在清空旧宝库:\x20','advanced','test','\x20个块。','[翰林院-日志]\x20/api/vector/purge\x20响应状态:\x20','map','unknown','核心未初始化','enabled','log','embedding','injection','vector','\x20-\x20楼层\x20#','1464834vmEUdw','floor','end','操作已取消。','/embeddings','1316dTogZL','\x0a</聊天记录>','Rerank\x20API\x20URL\x20或\x20Key\x20未提供。','webllm','url','/rerank','54VWKEeO','[翰林院-日志]\x20发送到\x20/api/vector/query\x20的请求体:','98714slcDMz','[翰林院-核心]\x20insertVectors被调用时未提供collectionId','model','notify','):\x20','[翰林院-核心]\x20将来源\x27','此操作将清空旧版数据,并开始使用新版数据库。此过程不可逆,是否继续?','[翰林院-Rerank]\x20开始外部API重排序...','data','[翰林院-日志]\x20查询成功返回\x20','[翰林院-日志]\x20/api/vector/query\x20响应内容:','hanlinyuan-rag-core','正在智能分块...','endsWith','send_date','message','json','聊天记录\x20#','success','忆识检索失败:\x20','charCodeAt','batchSize','depth','(已锁定:\x20','quiet','getContext','世界书','split','now','info','metadata','getRequestHeaders','embeddingModel','无法确定当前忆识宝库的ID请确认角色已正确加载。','https://api.openai.com','saveProgress','maxResults','\x20个知识块准备入库。','宝库查询API错误\x20','获取模型列表失败\x20(','oldId','manual','测试连接','hashes','第1卷','sourceName','final_score','/api/vector/insert','chat','54arIBTN','/v1','source','\x20个向量条目。','Bearer\x20','[翰林院-迁移]\x20用户取消了迁移操作。','GET','stringify','join','/api/vector/list','apiKey','condensation','\x20条消息分解为\x20','saveSettingsDebounced','slice',',\x20第1卷,\x20第1章,\x20第','[翰林院-Rerank]\x20元数据加权排序完成。','sort','2492611JgXTPQ','novel','\x20记录凝识范围:\x20','template','[翰林院]\x20未能获取SillyTavern上下文初始化失败。','/v1/models','[翰林院-迁移]\x20旧宝库已清空将向新宝库写入数据:\x20','[翰林院-日志]\x20发送到\x20/api/vector/list\x20的请求体:','filter','clearJob','用户取消了迁移操作','trim','[来源:\x20','condensationHistory','text','isArray','error','findIndex','[翰林院-日志]\x20/api/vector/list\x20响应状态:\x20','lorebook','retrieval','application/json','is_user','{{text}}','584WGqXtw','小说录入','聊天记录','[翰林院-核心]\x20已锁定忆识宝库ID:\x20','length','API\x20URL\x20或\x20Key\x20未提供。','min','[翰林院-核心]\x20聊天记录凝识失败:\x20','[翰林院-日志]\x20开始清空宝库...','chat_history','[翰林院-日志]\x20/api/vector/query\x20响应状态:\x20','results','神力获取失败\x20','vectors_rearrangeChat','warn','[翰林院-日志]\x20发送到\x20/api/vector/purge\x20的请求体:','模型API的响应格式无效:\x20未找到\x20\x27data\x27\x20数组。','手动录入','abs','[翰林院-核心]\x20processCondensation\x20失败:','[翰林院-日志]\x20查询目标集合ID:\x20','\x27的文本分割成\x20','/v1/rerank','\x20获取模型列表...','HANLINYUAN_RAG','895930yLqeVX','warning','[翰林院-日志]\x20统计成功向量总数:\x20','position','rerank_score','[翰林院-日志]\x20清空宝库API调用成功。','top_n','无法确定要清空的目标宝库。','Rerank失败:\x20','Rerank\x20API\x20请求失败\x20(','replace','在insertVectors内部也无法获取collectionId','POST','start',']\x20的消息已成功凝识。','toString','[翰林院-核心]\x20成功插入\x20','外部Rerank完成','第1章','AbortError','score','\x0a</','凝识之权未开启','toISOString','\x20条结果。','[翰林院]\x20检索或注入时发生错误:','输入文本为空','matchThreshold','openai','object','depth_role','[翰林院]\x20正在从\x20','7413zbqURj','extensionSettings','[翰林院-核心]\x20已为宝库\x20','custom','max','<聊天记录>\x0a[来源:\x20','1375435wKtQMa','aborted','Authorization','[翰林院-核心]\x20文本录入任务被用户中止。','获取Rerank模型列表失败\x20(','function','[翰林院-日志]\x20宝库查询API错误:','index','[翰林院-日志]\x20忆识存入API错误:','substring','\x20个条目。','645765CcPgPQ','mes','翰林院忆识核心已启动\x20(V5.1-借壳上市版),已注册全局函数:\x20','[翰林院-Rerank]\x20正在从\x20','[翰林院-核心]\x20ingestTextToHanlinyuan\x20失败:','newId','status','/v1/embeddings','rerank','文本块和向量数量不匹配','[翰林院-日志]\x20获取向量列表API错误:','[翰林院-核心]\x20已将\x20',',\x20第','[翰林院-核心]\x20文本录入失败:\x20','push','[翰林院-Rerank]\x20外部Rerank失败将仅使用内部加权。','/api/vector/query','find'];_0x3c54=function(){return _0x1ae7cb;};return _0x3c54();}function getRerankBaseUrl(_0x1aa18c){const _0xd9aedb=_0x3ed94e;let _0x244dd2=_0x1aa18c[_0xd9aedb(0x1b9)]();return _0x244dd2['endsWith']('/')&&(_0x244dd2=_0x244dd2['slice'](0x0,-0x1)),_0x244dd2[_0xd9aedb(0x178)](_0xd9aedb(0x19d))&&(_0x244dd2=_0x244dd2[_0xd9aedb(0x1aa)](0x0,-0x3)),_0x244dd2[_0xd9aedb(0x178)](_0xd9aedb(0x168))&&(_0x244dd2=_0x244dd2[_0xd9aedb(0x1aa)](0x0,-0x7)),_0x244dd2;}async function fetchRerankModels(){const _0x5efd4b=_0x3ed94e,{url:_0x28d2d3,apiKey:_0x1459ea}=settings['rerank'];if(!_0x28d2d3||!_0x1459ea)throw new Error(_0x5efd4b(0x165));const _0x3acc9f=getRerankBaseUrl(_0x28d2d3),_0x57e178=_0x3acc9f+_0x5efd4b(0x1b3);console[_0x5efd4b(0x22b)](_0x5efd4b(0x213)+_0x57e178+'\x20获取模型列表...');const _0x2c38b4=await fetch(_0x57e178,{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x1459ea}});if(!_0x2c38b4['ok']){const _0x2bf936=await _0x2c38b4[_0x5efd4b(0x1bc)]();throw new Error(_0x5efd4b(0x209)+_0x2c38b4[_0x5efd4b(0x216)]+_0x5efd4b(0x16f)+_0x2bf936);}const _0x1dc535=await _0x2c38b4[_0x5efd4b(0x17b)]();if(!_0x1dc535[_0x5efd4b(0x173)]||!Array[_0x5efd4b(0x1bd)](_0x1dc535[_0x5efd4b(0x173)]))throw new Error('Rerank模型API的响应格式无效:\x20未找到\x20\x27data\x27\x20数组。');return _0x1dc535[_0x5efd4b(0x173)]['map'](_0x5358b0=>_0x5358b0['id'])[_0x5efd4b(0x1ad)]();}function getApiEndpointUrl(_0x818c42=![]){const _0x159a9e=_0x3ed94e,{apiEndpoint:_0x508ced,customApiUrl:_0x1a9e15}=settings['retrieval'];let _0x267333;switch(_0x508ced){case _0x159a9e(0x1fb):_0x267333=_0x159a9e(0x18d);break;case'azure':case _0x159a9e(0x202):_0x267333=_0x1a9e15;break;default:_0x267333=_0x159a9e(0x18d);break;}if(_0x818c42)return _0x267333;return getSanitizedBaseUrl(_0x267333)+_0x159a9e(0x217);}function getApiHeaders(){const _0x32e445=_0x3ed94e,_0x4efa35={'Content-Type':_0x32e445(0x1c3)},{apiKey:_0x326caa,apiEndpoint:_0x18d348}=settings['retrieval'];switch(_0x18d348){case'openai':case _0x32e445(0x202):_0x4efa35[_0x32e445(0x207)]=_0x32e445(0x1a0)+_0x326caa;break;case'azure':_0x4efa35['api-key']=_0x326caa;break;}return _0x4efa35;}async function getEmbeddings(_0x4859fe,_0x5af437=null){const _0x28772e=_0x3ed94e;if(!settings[_0x28772e(0x1c2)]['apiKey'])throw new Error('请先配置API\x20Key');const _0x4b6dfe=getApiEndpointUrl(),_0x5cfcd6=getApiHeaders(),_0x2d44d8=settings[_0x28772e(0x1c2)][_0x28772e(0x18b)],_0x20de67=settings[_0x28772e(0x1c2)][_0x28772e(0x180)]||0x5,_0x52c9ad=[];for(let _0x2cb5d3=0x0;_0x2cb5d3<_0x4859fe[_0x28772e(0x1ca)];_0x2cb5d3+=_0x20de67){if(_0x5af437?.[_0x28772e(0x206)])throw new Error(_0x28772e(0x1f2));const _0x412a18=_0x4859fe['slice'](_0x2cb5d3,_0x2cb5d3+_0x20de67),_0x597c89=await fetch(_0x4b6dfe,{'method':'POST','headers':_0x5cfcd6,'body':JSON[_0x28772e(0x1a3)]({'input':_0x412a18,'model':_0x2d44d8}),'signal':_0x5af437});if(!_0x597c89['ok']){const _0x143b1c=await _0x597c89['text']();throw new Error(_0x28772e(0x1d2)+_0x597c89['status']+':\x20'+_0x143b1c);}const _0x32bbf1=await _0x597c89[_0x28772e(0x17b)]();_0x52c9ad[_0x28772e(0x21e)](..._0x32bbf1[_0x28772e(0x173)][_0x28772e(0x227)](_0x5e6d58=>_0x5e6d58[_0x28772e(0x22c)])),_0x2cb5d3+_0x20de67<_0x4859fe['length']&&await new Promise(_0x2d8453=>setTimeout(_0x2d8453,0xc8));}return _0x52c9ad;}async function queryVectors(_0x149671){const _0x10afd3=_0x3ed94e;console[_0x10afd3(0x22b)]('[翰林院-日志]\x20开始向量查询\x20(采用最终API交互模式)...');const _0x4ccec5=await getCollectionId();console[_0x10afd3(0x22b)](_0x10afd3(0x1da)+_0x4ccec5);const _0x427f03=(await getEmbeddings([_0x149671]))[0x0],_0x11f9eb={'collectionId':_0x4ccec5,'searchText':_0x149671,'topK':settings[_0x10afd3(0x223)][_0x10afd3(0x18f)],'threshold':settings[_0x10afd3(0x223)][_0x10afd3(0x1fa)],'source':_0x10afd3(0x166),'embeddings':{[_0x149671]:_0x427f03}};console[_0x10afd3(0x22b)](_0x10afd3(0x16a),JSON[_0x10afd3(0x1a3)](_0x11f9eb,null,0x2));const _0x245004=await fetch(_0x10afd3(0x220),{'method':_0x10afd3(0x1eb),'headers':context['getRequestHeaders'](),'body':JSON['stringify'](_0x11f9eb)});console[_0x10afd3(0x22b)](_0x10afd3(0x1d0)+_0x245004[_0x10afd3(0x216)]);if(!_0x245004['ok']){const _0x5e8a2c=await _0x245004[_0x10afd3(0x1bc)]();console['error'](_0x10afd3(0x20b),_0x5e8a2c);throw new Error(_0x10afd3(0x191)+_0x245004[_0x10afd3(0x216)]+':\x20'+_0x5e8a2c);}const _0x488f4f=await _0x245004[_0x10afd3(0x17b)]();console[_0x10afd3(0x22b)](_0x10afd3(0x175),_0x488f4f);const _0x197280=_0x488f4f[_0x10afd3(0x189)]||_0x488f4f['results']||_0x488f4f[_0x10afd3(0x173)]||[];return console['log'](_0x10afd3(0x174)+_0x197280[_0x10afd3(0x1ca)]+_0x10afd3(0x1f7)),_0x197280;}async function insertVectors(_0xbae44f,_0x7ff9ad=null,_0x57072a){const _0xeac383=_0x3ed94e;if(!_0x57072a){console['error'](_0xeac383(0x16c)),_0x57072a=await getCollectionId();if(!_0x57072a)throw new Error(_0xeac383(0x1ea));}if(_0xbae44f[_0xeac383(0x1ca)]===0x0)return{'success':!![],'count':0x0};const _0x54af99=_0xbae44f[_0xeac383(0x227)]((_0x1df100,_0x42add0)=>({'hash':generateHash(_0x1df100[_0xeac383(0x1bc)]+Date[_0xeac383(0x187)]()+_0x42add0),'text':_0x1df100[_0xeac383(0x1bc)],'metadata':_0x1df100[_0xeac383(0x189)]||{'source':_0xeac383(0x228),'timestamp':new Date()[_0xeac383(0x1f6)]()}})),_0x2b5d45=_0x54af99['reduce']((_0x9ed977,_0x45218b,_0x1ff36c)=>{const _0x3a3377=_0xeac383;return _0x9ed977[_0x45218b[_0x3a3377(0x1bc)]]=_0xbae44f[_0x1ff36c][_0x3a3377(0x22e)],_0x9ed977;},{}),_0x21d8fe={'collectionId':_0x57072a,'items':_0x54af99,'source':_0xeac383(0x166),'embeddings':_0x2b5d45},_0x3ca66e=await fetch(_0xeac383(0x19a),{'method':_0xeac383(0x1eb),'headers':context[_0xeac383(0x18a)](),'body':JSON[_0xeac383(0x1a3)](_0x21d8fe),'signal':_0x7ff9ad});if(!_0x3ca66e['ok']){const _0x5537c1=await _0x3ca66e[_0xeac383(0x1bc)]();console[_0xeac383(0x1be)](_0xeac383(0x20d),_0x5537c1);throw new Error('忆识存入API错误\x20'+_0x3ca66e[_0xeac383(0x216)]+':\x20'+_0x5537c1);}return{'success':!![],'count':_0x54af99['length']};}async function testApiConnection(){const _0x47ec94=_0x3ed94e;await getEmbeddings([_0x47ec94(0x195)]);}async function getVectorCount(){const _0x22e980=_0x3ed94e;console[_0x22e980(0x22b)]('[翰林院-日志]\x20开始获取向量总数...');const _0x3bd06d=await getCollectionId();console[_0x22e980(0x22b)]('[翰林院-日志]\x20统计目标集合ID:\x20'+_0x3bd06d);const _0x2445d7={'collectionId':_0x3bd06d,'source':'webllm','embeddings':{}};console[_0x22e980(0x22b)](_0x22e980(0x1b5),JSON['stringify'](_0x2445d7,null,0x2));const _0x47ea99=await fetch(_0x22e980(0x1a5),{'method':_0x22e980(0x1eb),'headers':context[_0x22e980(0x18a)](),'body':JSON['stringify'](_0x2445d7)});console[_0x22e980(0x22b)](_0x22e980(0x1c0)+_0x47ea99['status']);if(!_0x47ea99['ok']){const _0x79b46d=await _0x47ea99['text']();return console[_0x22e980(0x1be)](_0x22e980(0x21a),_0x79b46d),0x0;}const _0x1224e6=await _0x47ea99[_0x22e980(0x17b)]();let _0x29be12=0x0;if(Array['isArray'](_0x1224e6))_0x29be12=_0x1224e6[_0x22e980(0x1ca)];else _0x1224e6&&_0x1224e6['hashes']&&(_0x29be12=_0x1224e6[_0x22e980(0x196)][_0x22e980(0x1ca)]);return console[_0x22e980(0x22b)](_0x22e980(0x1e1)+_0x29be12),_0x29be12;}async function purgeStorage(_0x49bd61=null){const _0x3a0952=_0x3ed94e;console[_0x3a0952(0x22b)](_0x3a0952(0x1ce));const _0x38ec16=_0x49bd61||await getCollectionId();if(!_0x38ec16)return console['error']('[翰林院-日志]\x20无法确定要清空的目标集合ID。'),toastr[_0x3a0952(0x1be)](_0x3a0952(0x1e6)),![];console[_0x3a0952(0x22b)]('[翰林院-日志]\x20清空目标集合ID:\x20'+_0x38ec16);const _0x21babf={'collectionId':_0x38ec16};console[_0x3a0952(0x22b)](_0x3a0952(0x1d5),JSON[_0x3a0952(0x1a3)](_0x21babf,null,0x2));const _0x4eedfb=await fetch('/api/vector/purge',{'method':_0x3a0952(0x1eb),'headers':context['getRequestHeaders'](),'body':JSON[_0x3a0952(0x1a3)](_0x21babf)});console[_0x3a0952(0x22b)](_0x3a0952(0x226)+_0x4eedfb[_0x3a0952(0x216)]);if(!_0x4eedfb['ok']){const _0x54fe45=await _0x4eedfb['text']();console[_0x3a0952(0x1be)]('[翰林院-日志]\x20清空宝库API错误:',_0x54fe45);}else console[_0x3a0952(0x22b)](_0x3a0952(0x1e4));return _0x4eedfb['ok'];}function getMessagesForCondensation(_0x5d4e34=null){const _0x51f772=_0x3ed94e;if(!settings[_0x51f772(0x1a7)]['enabled'])return showNotification(_0x51f772(0x1f5),_0x51f772(0x1e0)),[];const {layerStart:_0x3634e6,layerEnd:_0xf62c70}=settings[_0x51f772(0x1a7)],_0x65d3b1=_0x5d4e34||settings[_0x51f772(0x1a7)]['messageTypes'],_0x85da4=context[_0x51f772(0x19b)][_0x51f772(0x1ca)],_0x111531=Math[_0x51f772(0x203)](0x0,_0x3634e6-0x1),_0x197b9e=_0xf62c70===0x0||_0xf62c70>_0x85da4?_0x85da4:Math[_0x51f772(0x1cc)](_0x85da4,_0xf62c70),_0xcec780=context[_0x51f772(0x19b)][_0x51f772(0x1aa)](_0x111531,_0x197b9e);return _0xcec780[_0x51f772(0x1b6)](_0x1a0ce6=>{const _0x4ec95e=_0x51f772,_0x112568=_0x1a0ce6['is_user']===!![],_0x231d20=_0x1a0ce6[_0x4ec95e(0x1c4)]===![];if(!_0x1a0ce6['mes']||!_0x1a0ce6[_0x4ec95e(0x211)]['trim']())return![];return _0x65d3b1['user']&&_0x112568||_0x65d3b1['ai']&&_0x231d20;});}async function processCondensation(_0x3e45b2,_0x2d5eb5=()=>{},_0x181ba2=null){const _0x33fa31=_0x3ed94e;if(!_0x3e45b2||_0x3e45b2[_0x33fa31(0x1ca)]===0x0)return{'success':![],'error':'No\x20messages\x20to\x20process.'};try{let _0xc65cb1=await getCollectionId();const _0x2956ce=getCollectionIdInfo();if(_0x2956ce['oldId']&&_0x2956ce[_0x33fa31(0x193)]===_0xc65cb1&&_0x2956ce[_0x33fa31(0x193)]!==_0x2956ce[_0x33fa31(0x215)]){const _0x365a7c=confirm(_0x33fa31(0x171));if(_0x365a7c)_0x2d5eb5(_0x33fa31(0x222)+_0x2956ce[_0x33fa31(0x193)],_0x33fa31(0x1d4)),await purgeStorage(_0x2956ce[_0x33fa31(0x193)]),_0xc65cb1=_0x2956ce[_0x33fa31(0x215)],_0x2d5eb5(_0x33fa31(0x1b4)+_0xc65cb1,_0x33fa31(0x17d));else return _0x2d5eb5(_0x33fa31(0x1a1),_0x33fa31(0x188)),toastr['info'](_0x33fa31(0x161)),{'success':![],'error':'用户取消了迁移操作'};}if(!_0xc65cb1)throw new Error(_0x33fa31(0x18c));_0x2d5eb5('[翰林院-核心]\x20凝识任务已锁定忆识宝库ID:\x20'+_0xc65cb1,_0x33fa31(0x188));const _0x3830c5=[],_0x14339e=context[_0x33fa31(0x19b)],{chunkSize:_0xf48cb5,overlap:_0x127f09}=settings[_0x33fa31(0x223)];for(const _0x27a7da of _0x3e45b2){const _0x503852=(_0x27a7da[_0x33fa31(0x211)]||'')[_0x33fa31(0x1e9)](/<[^>]*>/g,'')[_0x33fa31(0x1b9)]();if(_0x503852[_0x33fa31(0x1ca)]===0x0)continue;const _0x4f1dca=_0x14339e[_0x33fa31(0x1bf)](_0x3ad860=>_0x3ad860===_0x27a7da),_0x29a377=_0x4f1dca!==-0x1?_0x4f1dca+0x1:-0x1,_0x2715a5={'source':'chat_history','sourceName':_0x33fa31(0x17c)+_0x29a377,'floor':_0x29a377,'is_user':_0x27a7da[_0x33fa31(0x1c4)],'timestamp':new Date(_0x27a7da[_0x33fa31(0x179)])['toISOString']()};let _0x48ed04=0x0;while(_0x48ed04<_0x503852[_0x33fa31(0x1ca)]){const _0x102290=Math[_0x33fa31(0x1cc)](_0x48ed04+_0xf48cb5,_0x503852[_0x33fa31(0x1ca)]),_0x12e3e8=_0x503852['substring'](_0x48ed04,_0x102290),_0x3364cd=_0x33fa31(0x204)+_0x2715a5[_0x33fa31(0x198)]+']\x0a'+_0x12e3e8+_0x33fa31(0x164);_0x3830c5[_0x33fa31(0x21e)]({'text':_0x3364cd,'metadata':_0x2715a5}),_0x48ed04+=_0xf48cb5-_0x127f09;if(_0x48ed04>=_0x503852['length'])break;}}if(_0x3830c5[_0x33fa31(0x1ca)]===0x0)return{'success':!![],'count':0x0};_0x2d5eb5(_0x33fa31(0x21b)+_0x3e45b2[_0x33fa31(0x1ca)]+_0x33fa31(0x1a8)+_0x3830c5[_0x33fa31(0x1ca)]+_0x33fa31(0x190),_0x33fa31(0x188));const _0x152cc6=settings[_0x33fa31(0x1c2)][_0x33fa31(0x180)]||0x5;let _0xdc4dd=0x0;for(let _0x2dc160=0x0;_0x2dc160<_0x3830c5['length'];_0x2dc160+=_0x152cc6){const _0x4f8d33=_0x3830c5[_0x33fa31(0x1aa)](_0x2dc160,_0x2dc160+_0x152cc6),_0x45780d=_0x4f8d33['map'](_0x1f6a16=>_0x1f6a16['text']),_0x13b742=await getEmbeddings(_0x45780d);if(_0x4f8d33['length']!==_0x13b742[_0x33fa31(0x1ca)])throw new Error(_0x33fa31(0x219));const _0x170141=_0x4f8d33[_0x33fa31(0x227)]((_0x4e89d7,_0x1f59fa)=>({..._0x4e89d7,'vector':_0x13b742[_0x1f59fa]}));await insertVectors(_0x170141,null,_0xc65cb1),_0xdc4dd+=_0x4f8d33[_0x33fa31(0x1ca)];}if(_0x181ba2){const _0x41c943=_0x181ba2[_0x33fa31(0x160)]===0x0?context[_0x33fa31(0x19b)][_0x33fa31(0x1ca)]:_0x181ba2[_0x33fa31(0x160)];settings['condensationHistory'][_0xc65cb1]={'start':_0x181ba2[_0x33fa31(0x1ec)],'end':_0x41c943,'timestamp':new Date()[_0x33fa31(0x1f6)]()},saveSettings(),_0x2d5eb5(_0x33fa31(0x201)+_0xc65cb1+_0x33fa31(0x1b0)+_0x181ba2[_0x33fa31(0x1ec)]+'-'+_0x41c943,'info');}_0x2d5eb5('[翰林院-核心]\x20聊天记录凝识完成成功插入\x20'+_0xdc4dd+_0x33fa31(0x20f),_0x33fa31(0x17d));const _0x4dcf36=_0x3e45b2[_0x33fa31(0x227)](_0x95965=>{const _0x4f075b=_0x33fa31,_0x4bfb1f=_0x14339e[_0x4f075b(0x1bf)](_0x3197ff=>_0x3197ff===_0x95965),_0x138b98=_0x4bfb1f!==-0x1?_0x4bfb1f+0x1:-0x1,_0x1d40e8=_0x95965[_0x4f075b(0x1c4)]?'用户':getCharacterName()||'AI';return'['+_0x1d40e8+_0x4f075b(0x22f)+_0x138b98+_0x4f075b(0x1ed);});return{'success':!![],'count':_0xdc4dd,'messages':_0x4dcf36};}catch(_0x4da02d){return console[_0x33fa31(0x1be)](_0x33fa31(0x1d9),_0x4da02d),_0x2d5eb5(_0x33fa31(0x1cd)+_0x4da02d['message'],_0x33fa31(0x1be)),{'success':![],'error':_0x4da02d['message']};}}async function rerankResults(_0x53b2cb,_0x4eddd0,_0x584baf){const _0x35536f=_0x3ed94e;let _0x45c30f=_0x53b2cb;if(_0x584baf[_0x35536f(0x218)][_0x35536f(0x22a)]&&_0x53b2cb[_0x35536f(0x1ca)]>0x0){console['log'](_0x35536f(0x172));try{const _0x560db6=_0x53b2cb['map']((_0x47f487,_0x255122)=>({'text':_0x47f487[_0x35536f(0x1bc)],'original_index':_0x255122})),_0x168c2c=getRerankBaseUrl(_0x584baf['rerank'][_0x35536f(0x167)]),_0x51b3ef=_0x168c2c+_0x35536f(0x1dc),_0xc70768=await fetch(_0x51b3ef,{'method':_0x35536f(0x1eb),'headers':{'Content-Type':_0x35536f(0x1c3),'Authorization':_0x35536f(0x1a0)+_0x584baf['rerank'][_0x35536f(0x1a6)]},'body':JSON[_0x35536f(0x1a3)]({'query':_0x4eddd0,'documents':_0x560db6[_0x35536f(0x227)](_0x265e02=>_0x265e02[_0x35536f(0x1bc)]),'model':_0x584baf['rerank'][_0x35536f(0x16d)],'top_n':_0x584baf[_0x35536f(0x218)][_0x35536f(0x1e5)]})});if(!_0xc70768['ok'])throw new Error(_0x35536f(0x1e8)+_0xc70768[_0x35536f(0x216)]+_0x35536f(0x16f)+await _0xc70768[_0x35536f(0x1bc)]());const _0x323bb1=await _0xc70768[_0x35536f(0x17b)](),_0x2a0526=_0x53b2cb[_0x35536f(0x227)]((_0x24a7e7,_0x3cd285)=>({..._0x24a7e7,'original_index':_0x3cd285}));_0x45c30f=_0x2a0526[_0x35536f(0x227)](_0xc46f23=>{const _0x1d31de=_0x35536f,_0x178f2c=_0x323bb1[_0x1d31de(0x1d1)][_0x1d31de(0x221)](_0x5e3507=>_0x5e3507[_0x1d31de(0x20c)]===_0xc46f23['original_index']),_0x42b4b9=_0x178f2c?_0x178f2c['relevance_score']:0x0;return{..._0xc46f23,'rerank_score':_0x42b4b9};});if(_0x584baf[_0x35536f(0x218)]['notify'])showNotification(_0x35536f(0x1f0),_0x35536f(0x17d));}catch(_0x229af7){console[_0x35536f(0x1be)](_0x35536f(0x21f),_0x229af7);if(_0x584baf['rerank'][_0x35536f(0x16e)])showNotification(_0x35536f(0x1e7)+_0x229af7['message'],'error');_0x45c30f['forEach'](_0x3b75ae=>_0x3b75ae['rerank_score']=0x0);}}else _0x45c30f['forEach'](_0xd7f81c=>_0xd7f81c[_0x35536f(0x1e3)]=0x0);console[_0x35536f(0x22b)]('[翰林院-Rerank]\x20开始元数据加权最终排序...');const _0xfed83f=context[_0x35536f(0x19b)]['length'],_0x218630=_0x584baf[_0x35536f(0x218)]['hybrid_alpha'],_0x17d636=_0x45c30f[_0x35536f(0x227)](_0x3b5df2=>{const _0x2d5acf=_0x35536f;let _0x10b7e5=0x1;const _0x5ac42f=_0x3b5df2[_0x2d5acf(0x189)]||{};switch(_0x5ac42f[_0x2d5acf(0x19e)]){case'lorebook':_0x10b7e5*=1.2;break;case _0x2d5acf(0x194):_0x10b7e5*=1.1;break;case _0x2d5acf(0x1cf):if(_0x5ac42f[_0x2d5acf(0x15f)]&&_0xfed83f>0x0){const _0x5b6c19=_0x5ac42f['floor']/_0xfed83f;_0x10b7e5*=0x1+_0x5b6c19;}break;}const _0x1fd074=_0x3b5df2['rerank_score']*_0x218630+(_0x3b5df2[_0x2d5acf(0x1f3)]||0x0)*(0x1-_0x218630),_0x40fee6=_0x1fd074*_0x10b7e5;return{..._0x3b5df2,'final_score':_0x40fee6};});return _0x17d636['sort']((_0x565ca6,_0x233956)=>(_0x233956['final_score']||0x0)-(_0x565ca6[_0x35536f(0x199)]||0x0)),console[_0x35536f(0x22b)](_0x35536f(0x1ac)),_0x17d636['slice'](0x0,_0x584baf[_0x35536f(0x218)][_0x35536f(0x1e5)]);}async function rearrangeChat(_0x378499,_0x5c228b,_0x46e209,_0x48ed55){const _0x2e8756=_0x3ed94e;setExtensionPrompt('HANLINYUAN_RAG','',settings['injection'][_0x2e8756(0x1e2)],settings[_0x2e8756(0x22d)][_0x2e8756(0x181)],![],settings['injection'][_0x2e8756(0x1fd)]);if(_0x48ed55===_0x2e8756(0x183)||!settings[_0x2e8756(0x1c2)][_0x2e8756(0x22a)])return;const _0x5b1f46=_0x378499[_0x2e8756(0x1aa)](-settings[_0x2e8756(0x223)]['queryMessageCount']);if(_0x5b1f46['length']===0x0)return;const _0x18257c=_0x5b1f46[_0x2e8756(0x227)](_0x4de8d1=>_0x4de8d1['mes'])['join']('\x20')[_0x2e8756(0x1e9)](/<[^>]*>/g,'')[_0x2e8756(0x1b9)]();if(!_0x18257c)return;try{const _0x34c3b9=await queryVectors(_0x18257c);if(_0x34c3b9[_0x2e8756(0x1ca)]===0x0)return;const _0x41a6c2=await rerankResults(_0x34c3b9,_0x18257c,settings);if(_0x41a6c2['length']===0x0)return;const _0x15b7d8=_0x41a6c2[_0x2e8756(0x227)](_0x5e3f08=>_0x5e3f08[_0x2e8756(0x1bc)])[_0x2e8756(0x1a4)]('\x0a\x0a'),_0xc15a54=settings[_0x2e8756(0x22d)][_0x2e8756(0x1b1)]['replace'](_0x2e8756(0x1c5),_0x15b7d8);setExtensionPrompt(_0x2e8756(0x1de),_0xc15a54,settings[_0x2e8756(0x22d)]['position'],settings['injection'][_0x2e8756(0x181)],![],settings['injection'][_0x2e8756(0x1fd)]);}catch(_0x35977c){console[_0x2e8756(0x1be)](_0x2e8756(0x1f8),_0x35977c);if(settings[_0x2e8756(0x1c2)]['notify'])showNotification(_0x2e8756(0x17e)+_0x35977c[_0x2e8756(0x17a)],_0x2e8756(0x1be));}}