Files
ST-Amily2-Chat-Optimisation…/core/historiographer.js
2025-07-16 04:11:38 +08:00

2 lines
19 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.
const _0x59ddf4=_0x5552;(function(_0x50058c,_0x204f8c){const _0x2b3ffb=_0x5552,_0x439270=_0x50058c();while(!![]){try{const _0x16743f=-parseInt(_0x2b3ffb(0x156))/0x1*(-parseInt(_0x2b3ffb(0x19a))/0x2)+-parseInt(_0x2b3ffb(0x1af))/0x3+-parseInt(_0x2b3ffb(0x15d))/0x4+-parseInt(_0x2b3ffb(0x162))/0x5*(parseInt(_0x2b3ffb(0x1d7))/0x6)+-parseInt(_0x2b3ffb(0x1b3))/0x7*(-parseInt(_0x2b3ffb(0x1c7))/0x8)+-parseInt(_0x2b3ffb(0x16a))/0x9+parseInt(_0x2b3ffb(0x183))/0xa;if(_0x16743f===_0x204f8c)break;else _0x439270['push'](_0x439270['shift']());}catch(_0x4aa542){_0x439270['push'](_0x439270['shift']());}}}(_0x202a,0xc9360));import{getContext,extension_settings}from'/scripts/extensions.js';import{characters}from'/script.js';import{world_names,loadWorldInfo,createNewWorldInfo,createWorldInfoEntry,saveWorldInfo}from'/scripts/world-info.js';import{extensionName}from'../utils/settings.js';import{getChatIdentifier}from'./lore.js';import{isGoogleEndpoint,convertToGoogleRequest,parseGoogleResponse,buildGoogleApiUrl}from'../core/utils/googleAdapter.js';import{intelligentPoll,createGooglePollingTask}from'../core/utils/pollingManager.js';let ChatCompletionService=undefined;function _0x5552(_0x4094ed,_0x4365f7){const _0x202aa0=_0x202a();return _0x5552=function(_0x5552ac,_0x44d856){_0x5552ac=_0x5552ac-0x147;let _0x2a2fb2=_0x202aa0[_0x5552ac];return _0x2a2fb2;},_0x5552(_0x4094ed,_0x4365f7);}try{const module=await import(_0x59ddf4(0x188));ChatCompletionService=module[_0x59ddf4(0x1d3)],console[_0x59ddf4(0x15e)](_0x59ddf4(0x153));}catch(_0x4e0eca){console[_0x59ddf4(0x1cb)]('[大史官]\x20未能领取“皇家信使”的兵符部分高级功能将受限。',_0x4e0eca);}let isExpeditionRunning=![],manualStopRequested=![];async function callAmily2Model(_0x453765){const _0x4cfceb=_0x59ddf4,_0x1332f6=extension_settings[extensionName],{apiUrl:_0x4c71cf,apiKey:_0x3c36dc,model:_0xbe0cee,temperature:_0x224e45,maxTokens:_0x47f3a4,forceProxyForCustomApi:_0x1a7324}=_0x1332f6;if(!_0x4c71cf||!_0xbe0cee)return toastr[_0x4cfceb(0x17b)](_0x4cfceb(0x1d2),_0x4cfceb(0x189)),null;console[_0x4cfceb(0x1c1)](_0x4cfceb(0x14e)+new Date()[_0x4cfceb(0x1d9)]()),console['log'](_0x4cfceb(0x168)),console[_0x4cfceb(0x1a7)](_0x453765),console['groupEnd']();try{let _0x298e6d;if(_0x1a7324){console[_0x4cfceb(0x15e)](_0x4cfceb(0x16c));if(typeof ChatCompletionService==='undefined'||!ChatCompletionService?.['processRequest'])throw new Error(_0x4cfceb(0x16e));const _0x407d45=isGoogleEndpoint(_0x4c71cf);let _0x1feb9d=_0x4c71cf;_0x407d45&&(_0x1feb9d=buildGoogleApiUrl(_0x4c71cf,_0xbe0cee),console[_0x4cfceb(0x15e)](_0x4cfceb(0x191)+_0x1feb9d));const _0x3ca628={'stream':![],'messages':_0x453765,'max_tokens':_0x47f3a4,'temperature':_0x224e45,'model':_0xbe0cee,'chat_completion_source':_0x4cfceb(0x16d),'custom_url':_0x1feb9d,'reverse_proxy':_0x4cfceb(0x164)},_0x109d4c=await ChatCompletionService[_0x4cfceb(0x1a8)](_0x3ca628,{},!![]);if(!_0x109d4c||!_0x109d4c[_0x4cfceb(0x16b)])throw new Error(_0x4cfceb(0x15f));_0x298e6d=_0x109d4c[_0x4cfceb(0x16b)];}else{console[_0x4cfceb(0x15e)](_0x4cfceb(0x196));const _0x19a889=isGoogleEndpoint(_0x4c71cf);let _0x18e56e;if(_0x19a889)_0x18e56e=buildGoogleApiUrl(_0x4c71cf,_0xbe0cee);else{let _0x44a846=_0x4c71cf['trim']();_0x44a846[_0x4cfceb(0x1bf)](_0x4cfceb(0x18f))||_0x44a846[_0x4cfceb(0x1bf)]('/v1beta/openai')?_0x18e56e=_0x44a846:(_0x44a846[_0x4cfceb(0x1bf)]('/')&&(_0x44a846=_0x44a846['slice'](0x0,-0x1)),_0x44a846['endsWith'](_0x4cfceb(0x1cf))&&(_0x44a846=_0x44a846[_0x4cfceb(0x181)](0x0,-0x3)),_0x18e56e=_0x44a846+_0x4cfceb(0x18f));}let _0x1ca0ef={'Content-Type':_0x4cfceb(0x1c2)};_0x19a889?_0x4c71cf[_0x4cfceb(0x152)](_0x4cfceb(0x171))||_0x4c71cf['includes'](_0x4cfceb(0x1c9))?_0x1ca0ef[_0x4cfceb(0x182)]='Bearer\x20'+_0x3c36dc:_0x1ca0ef['X-goog-api-key']=_0x3c36dc:_0x1ca0ef[_0x4cfceb(0x182)]=_0x4cfceb(0x1ce)+_0x3c36dc;let _0x40f18c;_0x19a889?_0x40f18c=JSON[_0x4cfceb(0x169)](convertToGoogleRequest({'model':_0xbe0cee,'messages':_0x453765,'temperature':_0x224e45,'max_tokens':_0x47f3a4})):_0x40f18c=JSON[_0x4cfceb(0x169)]({'model':_0xbe0cee,'messages':_0x453765,'temperature':_0x224e45,'max_tokens':_0x47f3a4,'stream':![]});const _0x1a4523=await fetch(_0x18e56e,{'method':_0x4cfceb(0x1c0),'headers':_0x1ca0ef,'body':_0x40f18c});if(!_0x1a4523['ok']){const _0x3ab64f=await _0x1a4523['text']();throw new Error(_0x4cfceb(0x1a6)+_0x1a4523[_0x4cfceb(0x1dd)]+_0x4cfceb(0x19e)+_0x3ab64f);}let _0x243f09=await _0x1a4523[_0x4cfceb(0x147)]();if(_0x19a889&&_0x243f09['name']&&_0x243f09['metadata']){let _0xf09f39;try{const _0x527255=new URL(_0x4c71cf);_0xf09f39=_0x527255[_0x4cfceb(0x1a3)]+'//'+_0x527255[_0x4cfceb(0x1a5)];}catch{_0xf09f39=_0x4c71cf;}const _0x6f2f03=createGooglePollingTask(_0x243f09[_0x4cfceb(0x1b6)],_0xf09f39,_0x1ca0ef),_0x489ec6={'maxAttempts':0x5,'baseDelay':0xbb8,'shouldStop':_0x5873ad=>_0x5873ad[_0x4cfceb(0x17c)],'onError':_0x363910=>console[_0x4cfceb(0x17b)](_0x4cfceb(0x14b),_0x363910)},_0x27758a=await intelligentPoll(_0x6f2f03,_0x489ec6);if(!_0x27758a['response'])throw new Error(_0x4cfceb(0x161));_0x243f09=_0x27758a['response'];}_0x298e6d=_0x19a889?parseGoogleResponse(_0x243f09)?.['choices']?.[0x0]?.[_0x4cfceb(0x18d)]?.[_0x4cfceb(0x16b)]:_0x243f09?.[_0x4cfceb(0x15a)]?.[0x0]?.[_0x4cfceb(0x18d)]?.[_0x4cfceb(0x16b)];}return _0x298e6d;}catch(_0x5866d7){return console[_0x4cfceb(0x17b)](_0x4cfceb(0x1ca),_0x5866d7),toastr[_0x4cfceb(0x17b)](_0x4cfceb(0x1ab)+_0x5866d7[_0x4cfceb(0x18d)],_0x4cfceb(0x1ac)),null;}}function _0x202a(){const _0x16c9e0=['7qUoRPD','split','圣谕不明','name','\x0a</对话记录>','远征已在准备阶段遵令暂停!','amily2-expedition-state-change','》中的【微言录合集】...','》时出错:','chat','微言录\x20(自动)','data','endsWith','POST','groupCollapsed','application/json','[大史官-远征失败]','info','[大史官]\x20检阅《','disable','1697272vhSDdH','Amily2-Lore-','us-central1','[大史官-通讯异常]','warn','楼总结已完成】否则后续总结无法进行。','entries','Bearer\x20','/v1','ceil','name1','API\x20URL或模型未配置大史官无法召唤模型B。','ChatCompletionService','未知的史册写入指令','遵旨!正在为您熔铸\x20','loreKeywords','1305762OWeFtP','国史馆','toLocaleTimeString','[大史官]\x20','圣谕传达','historiographyLargeRefinePrompt','status','system','json','当前角色未绑定主世界书,无法写入总结。','宏史卷重铸','match','[轮询错误]','character_main','values','[Amily2-大史官]\x20准备向模型B发送机密信函...\x20@\x20','characterId','选定的楼层范围内无有效对话。','圣谕悉知','includes','[大史官]\x20已成功获颁“皇家信使”的召唤兵符。','鸣金收兵','秒后接敌)','270653mhZKjL','historiographySmallAutoEnable','trim','map','choices','world','filter','1160428BnfFCf','log','皇家信使未能从模型B带回有效情报。','未知的史册写入目标,远征军无法开拔!','轮询完成但未获得有效响应','15yHKuLu','historiographyLargeJailbreakPrompt','/api/proxy','assign','\x20批次战役准备中...\x20(','停战敕令已下达!远征军将在完成当前批次的任务后休整。','【信函正文\x20(messages)】:','stringify','2677338ZtpUbY','content','[大史官-外交部]\x20接到圣谕执行“皇家密道”协议...','custom','大史官无法使用“皇家密道”:缺少皇家信使(ChatCompletionService)。','楼】已发生的剧情回顾。\x0a\x0a---\x0a\x0a','\x20层历史分\x20','aiplatform.googleapis.com','mes','warning','编年史已成功更新!','dedicated','historiographySmallJailbreakPrompt','国史已是最新,远征军无需出动。','圣谕有误','extensions','replace','error','done','重铸史册时发生错误。','以下内容是【1楼-','\x20至\x20','\x20(宏史卷重铸)','slice','Authorization','22025210qFjUDn','dispatchEvent','时发生错误。','name2','请严格根据以下“对话记录”中的内容进行总结,不要添加任何额外信息。\x0a\x0a<对话记录>\x0a','/scripts/custom-request.js','通讯中断','微言录\x20(手动)','请将以下多个零散的“详细总结记录”提炼并融合成一段连贯的章节历史。原文如下:\x0a\x0a','远征失败','message','lorebookTarget','/v1/chat/completions','always','[大史官-皇家密道]\x20已为GoogleAPI构建完整路径:\x20','loreInsertionPosition','comment','historiographySmallTriggerThreshold','\x20批次征服','[大史官-外交部]\x20执行“帝国直通车”协议直接通讯...','is_user','远征已遵从您的敕令暂停!随时可以【继续远征】。','远征军已开拔!目标:','6kDVZEi','\x0a\x0a本条勿动【前','》天机时出错:','success','\x20-\x20','join','loreActivationMode','无标题条目','遵旨!正在为您重铸《','protocol','凯旋!远征大捷!所有未载之史均已化为帝国永恒的记忆!','host','模型B召唤失败:\x20','table','processRequest','find','length','与模型B通讯时发生异常:\x20','通讯异常','史册已成功重铸,并保存于《','user','3486027sBtlci','min','\x0a\x0a---\x0a\x0a【','\x20层的对话历史...'];_0x202a=function(){return _0x16c9e0;};return _0x202a();}const RUNNING_LOG_COMMENT='【敕史局】对话流水总帐',PROGRESS_SEAL_REGEX=/本条勿动【前(\d+)楼总结已完成】否则后续总结无法进行。$/;async function readGoldenLedgerProgress(_0x553d58){const _0x523195=_0x59ddf4;if(!_0x553d58)return 0x0;try{const _0x39f243=await loadWorldInfo(_0x553d58);if(!_0x39f243||!_0x39f243[_0x523195(0x1cd)])return 0x0;const _0x1d5903=Object[_0x523195(0x14d)](_0x39f243[_0x523195(0x1cd)])[_0x523195(0x1a9)](_0x129883=>_0x129883[_0x523195(0x193)]===RUNNING_LOG_COMMENT&&!_0x129883['disable']);if(!_0x1d5903)return 0x0;const _0x285a0c=_0x1d5903['content'][_0x523195(0x14a)](PROGRESS_SEAL_REGEX);return _0x285a0c?parseInt(_0x285a0c[0x1],0xa):0x0;}catch(_0x24430b){return console[_0x523195(0x17b)]('[大史官]\x20阅览《'+_0x553d58+_0x523195(0x19c),_0x24430b),0x0;}}export async function checkAndTriggerAutoSummary(){const _0x44c927=_0x59ddf4,_0x345e8d=extension_settings[extensionName];if(!_0x345e8d[_0x44c927(0x157)])return;const _0x35f4d1=getContext();let _0x11f9cc=null;switch(_0x345e8d['lorebookTarget']){case _0x44c927(0x14c):_0x11f9cc=characters[_0x35f4d1['characterId']]?.[_0x44c927(0x1be)]?.[_0x44c927(0x179)]?.[_0x44c927(0x15b)];break;case'dedicated':const _0x4546f0=await getChatIdentifier();_0x11f9cc=_0x44c927(0x1c8)+_0x4546f0;break;default:return;}if(!_0x11f9cc)return;const _0x159797=await readGoldenLedgerProgress(_0x11f9cc),_0x3ebe47=_0x35f4d1['chat'][_0x44c927(0x1aa)],_0x501627=_0x3ebe47-_0x159797;if(_0x501627>=_0x345e8d[_0x44c927(0x194)]){const _0x5c41ec=_0x159797+0x1,_0x44dcd7=_0x3ebe47;await executeManualSummary(_0x5c41ec,_0x44dcd7,!![]);}}export async function getAvailableWorldbooks(){return[...world_names];}export async function getLoresForWorldbook(_0x14d8e7){const _0x4de13a=_0x59ddf4;if(!_0x14d8e7)return[];try{const _0x3dc480=await loadWorldInfo(_0x14d8e7);if(!_0x3dc480||!_0x3dc480[_0x4de13a(0x1cd)])return[];return Object[_0x4de13a(0x1cd)](_0x3dc480[_0x4de13a(0x1cd)])[_0x4de13a(0x15c)](([,_0x48ac63])=>!_0x48ac63[_0x4de13a(0x1c6)])[_0x4de13a(0x159)](([_0xf0975a,_0x44c51c])=>({'key':_0xf0975a,'comment':_0x44c51c['comment']||_0x4de13a(0x1a1)}));}catch(_0x222a61){return console[_0x4de13a(0x17b)](_0x4de13a(0x1c5)+_0x14d8e7+_0x4de13a(0x1bb),_0x222a61),[];}}export async function executeManualSummary(_0xd72962,_0x210ade,_0x3bdb7f=![]){const _0xb4e356=_0x59ddf4,_0x3f0a7d=_0x3bdb7f?_0xb4e356(0x1bd):_0xb4e356(0x18a);toastr[_0xb4e356(0x1c4)](_0xb4e356(0x1d5)+_0xd72962+_0xb4e356(0x17f)+_0x210ade+_0xb4e356(0x1b2),_0x3f0a7d);const _0x468dc9=getContext(),_0x463e16=_0x468dc9[_0xb4e356(0x1bc)],_0x45c6e8=extension_settings[extensionName],_0x2e2bb0=_0x463e16[_0xb4e356(0x181)](_0xd72962,_0x210ade+0x1);if(_0x2e2bb0[_0xb4e356(0x1aa)]===0x0){toastr[_0xb4e356(0x173)](_0xb4e356(0x150),_0xb4e356(0x178));return;}const _0x1635b9=_0x468dc9[_0xb4e356(0x1d1)]||'用户',_0x568451=_0x468dc9[_0xb4e356(0x186)]||'角色',_0x4898a1=_0x2e2bb0[_0xb4e356(0x159)](_0x61036d=>{const _0x440786=_0xb4e356,_0x3f8a39=_0x61036d[_0x440786(0x197)]?_0x1635b9:_0x568451;return _0x3f8a39+':\x20'+_0x61036d[_0x440786(0x172)][_0x440786(0x158)]();})[_0xb4e356(0x19f)]('\x0a'),_0x434298=[{'role':_0xb4e356(0x1de),'content':_0x45c6e8[_0xb4e356(0x176)]},{'role':_0xb4e356(0x1de),'content':_0x45c6e8['historiographySmallSummaryPrompt']},{'role':_0xb4e356(0x1ae),'content':_0xb4e356(0x187)+_0x4898a1+_0xb4e356(0x1b7)}],_0x1d11de=await callAmily2Model(_0x434298);if(!_0x1d11de)return;try{let _0x409d23=null;switch(_0x45c6e8[_0xb4e356(0x18e)]){case'character_main':_0x409d23=characters[_0x468dc9[_0xb4e356(0x14f)]]?.[_0xb4e356(0x1be)]?.[_0xb4e356(0x179)]?.[_0xb4e356(0x15b)];if(!_0x409d23){toastr[_0xb4e356(0x17b)](_0xb4e356(0x148),_0xb4e356(0x1d8));return;}break;case'dedicated':const _0x5caeab=await getChatIdentifier();_0x409d23=_0xb4e356(0x1c8)+_0x5caeab;!world_names['includes'](_0x409d23)&&await createNewWorldInfo(_0x409d23);break;default:toastr[_0xb4e356(0x17b)](_0xb4e356(0x1d4),_0xb4e356(0x1b5));return;}const _0x2223c3=await loadWorldInfo(_0x409d23),_0x4ddbcf=Object[_0xb4e356(0x14d)](_0x2223c3[_0xb4e356(0x1cd)])[_0xb4e356(0x1a9)](_0x29cc84=>_0x29cc84['comment']===RUNNING_LOG_COMMENT&&!_0x29cc84[_0xb4e356(0x1c6)]),_0x31fd2c=_0xb4e356(0x19b)+_0x210ade+_0xb4e356(0x1cc),_0x15b836=_0xb4e356(0x1b1)+_0xd72962+'楼至'+_0x210ade+'楼详细总结记录】\x0a'+_0x1d11de;if(_0x4ddbcf){const _0x590e43=_0x4ddbcf[_0xb4e356(0x16b)]['replace'](PROGRESS_SEAL_REGEX,'')[_0xb4e356(0x158)]();_0x4ddbcf['content']=_0x590e43+_0x15b836+_0x31fd2c;}else{const _0x2b84de='以下是依照顺序已发生剧情'+_0x15b836,_0x24fd46=createWorldInfoEntry(_0x409d23,_0x2223c3),_0x3d48a6=_0x45c6e8[_0xb4e356(0x1d6)][_0xb4e356(0x1b4)](',')[_0xb4e356(0x159)](_0x38fb38=>_0x38fb38[_0xb4e356(0x158)]())[_0xb4e356(0x15c)](Boolean),_0x25df23=_0x45c6e8[_0xb4e356(0x1a0)]===_0xb4e356(0x190),_0x59fd24={'before_char':0x0,'after_char':0x1,'before_an':0x2,'after_an':0x3,'at_depth':0x4};Object[_0xb4e356(0x165)](_0x24fd46,{'comment':RUNNING_LOG_COMMENT,'content':_0x2b84de+_0x31fd2c,'key':_0x3d48a6,'constant':_0x25df23,'position':_0x59fd24[_0x45c6e8[_0xb4e356(0x192)]]??0x4,'depth':_0x45c6e8['loreDepth'],'disable':![]});}await saveWorldInfo(_0x409d23,_0x2223c3,!![]),toastr['success'](_0xb4e356(0x174),_0x3f0a7d+'完毕');}catch(_0x28d103){console[_0xb4e356(0x17b)](_0xb4e356(0x1da)+_0x3f0a7d+'写入失败:',_0x28d103),toastr[_0xb4e356(0x17b)]('写入'+_0x3f0a7d+_0xb4e356(0x185),_0xb4e356(0x1d8));}}export async function executeRefinement(_0x4e1590,_0x45ddb2){const _0x26ca5e=_0x59ddf4;toastr['info'](_0x26ca5e(0x1a2)+_0x4e1590+_0x26ca5e(0x1ba),_0x26ca5e(0x149));try{const _0x3c80b4=await loadWorldInfo(_0x4e1590),_0x1eba2c=_0x3c80b4?.[_0x26ca5e(0x1cd)][_0x45ddb2];if(!_0x1eba2c){toastr['error']('找不到指定的史册条目,重铸任务中止。',_0x26ca5e(0x178));return;}const _0x2e7bf9=_0x1eba2c[_0x26ca5e(0x16b)],_0x24976f=extension_settings[extensionName];let _0x4a39e2=_0x2e7bf9,_0x2000c7='',_0x3aeaca=0x0;const _0x2c79c3=_0x2e7bf9[_0x26ca5e(0x14a)](PROGRESS_SEAL_REGEX);_0x2c79c3&&(_0x2000c7=_0x2c79c3[0x0],_0x3aeaca=parseInt(_0x2c79c3[0x1],0xa),_0x4a39e2=_0x2e7bf9['replace'](PROGRESS_SEAL_REGEX,'')[_0x26ca5e(0x158)]());if(!_0x4a39e2[_0x26ca5e(0x158)]()){toastr['warning']('史册条目中无可供重铸的内容。','国库空虚');return;}const _0x3ba3cb=[{'role':_0x26ca5e(0x1de),'content':_0x24976f[_0x26ca5e(0x163)]},{'role':_0x26ca5e(0x1de),'content':_0x24976f[_0x26ca5e(0x1dc)]},{'role':_0x26ca5e(0x1ae),'content':_0x26ca5e(0x18b)+_0x4a39e2}],_0x54604d=await callAmily2Model(_0x3ba3cb);if(!_0x54604d)return;const _0x411c83=_0x26ca5e(0x17e)+_0x3aeaca+_0x26ca5e(0x16f),_0x3cc01e=_0x411c83+_0x54604d;_0x1eba2c[_0x26ca5e(0x16b)]=_0x3cc01e+('\x0a\x0a'+_0x2000c7),_0x1eba2c[_0x26ca5e(0x193)]=_0x1eba2c[_0x26ca5e(0x193)][_0x26ca5e(0x17a)](/\s*\(已精炼\)|\s*\(宏史卷重铸\)/g,''),_0x1eba2c[_0x26ca5e(0x193)]+=_0x26ca5e(0x180),await saveWorldInfo(_0x4e1590,_0x3c80b4,!![]),toastr[_0x26ca5e(0x19d)](_0x26ca5e(0x1ad)+_0x4e1590+'》!','宏史卷重铸完毕');}catch(_0x2bdf64){console[_0x26ca5e(0x17b)]('[大史官]\x20重铸任务失败:',_0x2bdf64),toastr[_0x26ca5e(0x17b)](_0x26ca5e(0x17d),_0x26ca5e(0x1d8));}}export async function executeExpedition(){const _0x4d0f9f=_0x59ddf4;if(isExpeditionRunning){toastr[_0x4d0f9f(0x1c4)]('远征军已在途中,无需重复下令。',_0x4d0f9f(0x151));return;}isExpeditionRunning=!![],manualStopRequested=![],document[_0x4d0f9f(0x184)](new CustomEvent(_0x4d0f9f(0x1b9),{'detail':{'isRunning':!![]}}));try{const _0x51ceed=extension_settings[extensionName],_0x520256=getContext();let _0x598717=null;switch(_0x51ceed[_0x4d0f9f(0x18e)]){case _0x4d0f9f(0x14c):_0x598717=characters[_0x520256[_0x4d0f9f(0x14f)]]?.['data']?.['extensions']?.[_0x4d0f9f(0x15b)];if(!_0x598717){toastr['error']('当前角色未绑定主世界书,远征军无法开拔!',_0x4d0f9f(0x1b5)),isExpeditionRunning=![],document[_0x4d0f9f(0x184)](new CustomEvent(_0x4d0f9f(0x1b9),{'detail':{'isRunning':![],'manualStop':![]}}));return;}break;case _0x4d0f9f(0x175):const _0x315df7=await getChatIdentifier();_0x598717=_0x4d0f9f(0x1c8)+_0x315df7;break;default:toastr['error'](_0x4d0f9f(0x160),_0x4d0f9f(0x1b5)),isExpeditionRunning=![],document['dispatchEvent'](new CustomEvent(_0x4d0f9f(0x1b9),{'detail':{'isRunning':![],'manualStop':![]}}));return;}const _0x42ebe0=await readGoldenLedgerProgress(_0x598717),_0x594747=_0x520256[_0x4d0f9f(0x1bc)][_0x4d0f9f(0x1aa)],_0x5d0aed=_0x594747-_0x42ebe0;if(_0x5d0aed<=0x0){toastr[_0x4d0f9f(0x1c4)](_0x4d0f9f(0x177),'凯旋'),isExpeditionRunning=![],document['dispatchEvent'](new CustomEvent('amily2-expedition-state-change',{'detail':{'isRunning':![],'manualStop':![]}}));return;}const _0x1ac2f7=_0x51ceed[_0x4d0f9f(0x194)],_0x2539b6=Math[_0x4d0f9f(0x1d0)](_0x5d0aed/_0x1ac2f7);toastr[_0x4d0f9f(0x1c4)](_0x4d0f9f(0x199)+_0x5d0aed+_0x4d0f9f(0x170)+_0x2539b6+_0x4d0f9f(0x195),'远征开始');let _0x468edf=_0x42ebe0;for(let _0x2e9561=0x0;_0x2e9561<_0x2539b6;_0x2e9561++){if(manualStopRequested){toastr[_0x4d0f9f(0x173)](_0x4d0f9f(0x198),_0x4d0f9f(0x154));break;}const _0x5cbeb1=_0x468edf+0x1,_0x104091=Math[_0x4d0f9f(0x1b0)](_0x468edf+_0x1ac2f7,_0x594747),_0x270f4d='远征战役\x20('+(_0x2e9561+0x1)+'/'+_0x2539b6+')',_0x3a3b34=0x7d0;_0x2e9561>0x0&&(toastr[_0x4d0f9f(0x1c4)]('第\x20'+(_0x2e9561+0x1)+_0x4d0f9f(0x166)+_0x3a3b34/0x3e8+_0x4d0f9f(0x155),_0x270f4d),await new Promise(_0x24302c=>setTimeout(_0x24302c,_0x3a3b34)));if(manualStopRequested){toastr['warning'](_0x4d0f9f(0x1b8),_0x4d0f9f(0x154));break;}await executeManualSummary(_0x5cbeb1,_0x104091,!![]),_0x468edf=_0x104091;}!manualStopRequested&&toastr['success'](_0x4d0f9f(0x1a4),'远征完毕');}catch(_0x27a4f4){console['error'](_0x4d0f9f(0x1c3),_0x27a4f4),toastr['error']('远征途中遭遇重大挫折,任务中止!您可以随时【继续远征】。',_0x4d0f9f(0x18c));}finally{isExpeditionRunning=![],document[_0x4d0f9f(0x184)](new CustomEvent(_0x4d0f9f(0x1b9),{'detail':{'isRunning':![],'manualStop':manualStopRequested}}));}}export function stopExpedition(){const _0xc60e93=_0x59ddf4;isExpeditionRunning?(manualStopRequested=!![],toastr[_0xc60e93(0x1c4)](_0xc60e93(0x167),_0xc60e93(0x1db))):toastr['warning']('远征军已在营中,无需下达停战敕令。','圣谕悉知');}