cc-ding 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- 'use strict';function a5_0x235f(_0x4736c5,_0x518c04){_0x4736c5=_0x4736c5-0x10a;const _0xf36b69=a5_0xf36b();let _0x235fea=_0xf36b69[_0x4736c5];return _0x235fea;}const a5_0x10eba8=a5_0x235f;(function(_0x168923,_0x245e1e){const _0x1a9571=a5_0x235f,_0x1259b6=_0x168923();while(!![]){try{const _0x1aa585=-parseInt(_0x1a9571(0x10c))/0x1*(-parseInt(_0x1a9571(0x12d))/0x2)+-parseInt(_0x1a9571(0x14c))/0x3+parseInt(_0x1a9571(0x135))/0x4+parseInt(_0x1a9571(0x112))/0x5+-parseInt(_0x1a9571(0x153))/0x6+parseInt(_0x1a9571(0x19a))/0x7*(parseInt(_0x1a9571(0x185))/0x8)+parseInt(_0x1a9571(0x197))/0x9*(parseInt(_0x1a9571(0x164))/0xa);if(_0x1aa585===_0x245e1e)break;else _0x1259b6['push'](_0x1259b6['shift']());}catch(_0x2b9fc1){_0x1259b6['push'](_0x1259b6['shift']());}}}(a5_0xf36b,0x7c713));var __importDefault=this&&this[a5_0x10eba8(0x175)]||function(_0x27d739){return _0x27d739&&_0x27d739['__esModule']?_0x27d739:{'default':_0x27d739};};Object['defineProperty'](exports,a5_0x10eba8(0x171),{'value':!![]}),exports['CronEngine']=void 0x0,exports[a5_0x10eba8(0x190)]=isValidCronExpression,exports['formatCronJobList']=formatCronJobList,exports[a5_0x10eba8(0x189)]=formatCronJobInfo;const fs_1=__importDefault(require('fs')),readline_1=__importDefault(require(a5_0x10eba8(0x115))),child_process_1=require('child_process'),utils_ok_1=require(a5_0x10eba8(0x157)),messaging_1=require(a5_0x10eba8(0x11f)),claude_process_1=require(a5_0x10eba8(0x11b)),task_1=require(a5_0x10eba8(0x14d)),session_1=require(a5_0x10eba8(0x15c));function getCronFile(_0x3edae4){const _0x22fb04=a5_0x10eba8;return(0x0,session_1[_0x22fb04(0x141)])(_0x3edae4)+'/cron.json';}function loadCronJobs(_0x4d08e5){const _0x25c693=a5_0x10eba8,_0x808ffe=getCronFile(_0x4d08e5);try{const _0x5e97da=JSON[_0x25c693(0x125)](fs_1[_0x25c693(0x130)][_0x25c693(0x1a6)](_0x808ffe,'utf-8'));return Array[_0x25c693(0x120)](_0x5e97da)?_0x5e97da:_0x5e97da[_0x25c693(0x159)]||[];}catch{return[];}}function saveCronJobs(_0x4c3d8e,_0x58263b){const _0x32abd4=a5_0x10eba8,_0x390677=getCronFile(_0x4c3d8e);fs_1['default'][_0x32abd4(0x18d)](_0x390677,JSON['stringify'](_0x58263b,null,0x2),_0x32abd4(0x1ae));}function matchesCronField(_0x588384,_0x163180,_0x48bcfa,_0x34e73d){const _0x123bae=a5_0x10eba8;if(_0x588384==='*')return!![];if(_0x588384['includes'](','))return _0x588384[_0x123bae(0x132)](',')[_0x123bae(0x194)](_0x36504e=>matchesCronField(_0x36504e[_0x123bae(0x14b)](),_0x163180,_0x48bcfa,_0x34e73d));if(_0x588384[_0x123bae(0x15f)]('/')){const _0x260af7=_0x588384[_0x123bae(0x1ad)]('/'),_0x5de4e7=_0x588384[_0x123bae(0x117)](0x0,_0x260af7),_0x586462=parseInt(_0x588384[_0x123bae(0x117)](_0x260af7+0x1),0xa);if(isNaN(_0x586462)||_0x586462<=0x0)return![];let _0x532d27=_0x48bcfa,_0x496485=_0x34e73d;if(_0x5de4e7!=='*'){if(_0x5de4e7[_0x123bae(0x15f)]('-')){const _0x423552=_0x5de4e7['split']('-')[_0x123bae(0x1a4)](Number);_0x532d27=_0x423552[0x0],_0x496485=_0x423552[0x1];}else _0x532d27=parseInt(_0x5de4e7,0xa),_0x496485=_0x34e73d;}if(_0x163180<_0x532d27||_0x163180>_0x496485)return![];return(_0x163180-_0x532d27)%_0x586462===0x0;}if(_0x588384[_0x123bae(0x15f)]('-')){const _0x3d2079=_0x588384[_0x123bae(0x132)]('-')['map'](Number);return _0x163180>=_0x3d2079[0x0]&&_0x163180<=_0x3d2079[0x1];}const _0x44914c=parseInt(_0x588384,0xa);return!isNaN(_0x44914c)&&_0x163180===_0x44914c;}function matchesCron(_0x45e2d8,_0x51d41f){const _0x56428e=a5_0x10eba8,_0x2c6e0e=_0x45e2d8[_0x56428e(0x14b)]()[_0x56428e(0x132)](/\s+/);if(_0x2c6e0e['length']!==0x5)return![];const _0x1a0f48=_0x51d41f[_0x56428e(0x137)](),_0x3f6686=_0x51d41f[_0x56428e(0x19f)](),_0x38a97e=_0x51d41f[_0x56428e(0x193)](),_0x1cda40=_0x51d41f['getMonth']()+0x1,_0x33c766=_0x51d41f['getDay']();if(!matchesCronField(_0x2c6e0e[0x0],_0x1a0f48,0x0,0x3b))return![];if(!matchesCronField(_0x2c6e0e[0x1],_0x3f6686,0x0,0x17))return![];if(!matchesCronField(_0x2c6e0e[0x3],_0x1cda40,0x1,0xc))return![];const _0x37dc69=matchesCronField(_0x2c6e0e[0x2],_0x38a97e,0x1,0x1f),_0x58004e=matchesCronField(_0x2c6e0e[0x4],_0x33c766,0x0,0x7)||_0x33c766===0x0&&matchesCronField(_0x2c6e0e[0x4],0x7,0x0,0x7),_0x1c583e=_0x2c6e0e[0x2]==='*',_0x4a18d9=_0x2c6e0e[0x4]==='*';if(_0x1c583e&&_0x4a18d9)return!![];if(_0x1c583e)return _0x58004e;if(_0x4a18d9)return _0x37dc69;return _0x37dc69||_0x58004e;}function isValidCronExpression(_0x681011){const _0x40f690=a5_0x10eba8,_0x5bcb5b=_0x681011[_0x40f690(0x14b)]()['split'](/\s+/);if(_0x5bcb5b[_0x40f690(0x154)]!==0x5)return![];const _0x1d52f7=/^(\*|\d+|\d+-\d+|\*\/\d+|\d+\/\d+|\d+-\d+\/\d+|\d+(,\d+)+)$/;return _0x5bcb5b['every'](_0x13bd59=>_0x1d52f7[_0x40f690(0x169)](_0x13bd59));}const ANALYSIS_PROMPT=a5_0x10eba8(0x10a);async function analyzeCronWithClaude(_0x30d745,_0x385903,_0x4309d8){const _0x5da4ca=a5_0x10eba8,_0x4191e5=_0x30d745[_0x5da4ca(0x1b1)](_0x385903),_0x1fb65b=_0x5da4ca(0x121),_0x1dae5e=ANALYSIS_PROMPT[_0x5da4ca(0x165)](_0x5da4ca(0x178),_0x4309d8),_0x1477a4=[_0x5da4ca(0x1a5),_0x5da4ca(0x13d),'--print','--output-format',_0x5da4ca(0x1a2),_0x5da4ca(0x111)],_0x51bf01=(0x0,claude_process_1[_0x5da4ca(0x173)])(_0x30d745,_0x4191e5);return _0x51bf01&&_0x1477a4[_0x5da4ca(0x16b)](_0x5da4ca(0x13e),_0x51bf01),console[_0x5da4ca(0x1a1)]('['+(0x0,session_1[_0x5da4ca(0x138)])()+_0x5da4ca(0x1a9)+_0x1fb65b+'\x20'+_0x1477a4['join']('\x20')),new Promise((_0x16dbe2,_0x346cb3)=>{const _0x4a8959=_0x5da4ca,_0xf534=(0x0,child_process_1[_0x4a8959(0x182)])(_0x1fb65b,_0x1477a4,{'cwd':_0x4191e5,'stdio':['pipe','pipe',_0x4a8959(0x118)]});_0xf534[_0x4a8959(0x15a)]?.[_0x4a8959(0x12e)](_0x1dae5e+'\x0a'),_0xf534['stdin']?.[_0x4a8959(0x158)]();let _0x474310='',_0x4de444='';const _0x236669=readline_1['default'][_0x4a8959(0x16e)]({'input':_0xf534['stdout']});_0x236669['on'](_0x4a8959(0x176),_0x43479f=>{const _0x3ce182=_0x4a8959,_0x5a4593=(0x0,claude_process_1[_0x3ce182(0x10b)])(_0x43479f);_0x5a4593?.[_0x3ce182(0x10f)]===_0x3ce182(0x1a0)&&_0x5a4593['content']&&(_0x474310=_0x5a4593[_0x3ce182(0x1aa)]);}),_0xf534['stderr']?.['on'](_0x4a8959(0x1a8),_0x12c67b=>{const _0x2bd4cd=_0x4a8959;_0x4de444+=_0x12c67b[_0x2bd4cd(0x145)]();});const _0x31de2a=setTimeout(()=>{const _0x5b3b3c=_0x4a8959;_0xf534['kill'](),_0x346cb3(new Error(_0x5b3b3c(0x12a)));},0xea60);_0xf534['on'](_0x4a8959(0x128),_0x39e650=>{const _0x345cd4=_0x4a8959;clearTimeout(_0x31de2a);if(_0x39e650===0x0&&_0x474310)try{const _0x1d8354=_0x474310[_0x345cd4(0x10d)](/\{[\s\S]*\}/);if(_0x1d8354){const _0x311c7e=JSON[_0x345cd4(0x125)](_0x1d8354[0x0]);if(_0x311c7e[_0x345cd4(0x11c)]&&_0x311c7e[_0x345cd4(0x170)]){_0x16dbe2(_0x311c7e);return;}}_0x346cb3(new Error(_0x345cd4(0x13f)));}catch{_0x346cb3(new Error(_0x345cd4(0x18a)));}else{const _0x592518=_0x4de444[_0x345cd4(0x14b)]()?'\x20('+_0x4de444['trim']()[_0x345cd4(0x117)](0x0,0xc8)+')':'';console[_0x345cd4(0x13c)]('['+(0x0,session_1[_0x345cd4(0x138)])()+_0x345cd4(0x13a)+_0x39e650+')'+_0x592518);const _0x183ca9=_0x4de444;if(/\b429\b/['test'](_0x183ca9))_0x346cb3(new Error('Claude\x20配额已耗尽(429),请稍后重试或明天再试'));else{if(/\b422\b/['test'](_0x183ca9)||/TPM|额度超限/i[_0x345cd4(0x169)](_0x183ca9))_0x346cb3(new Error(_0x345cd4(0x13b)));else{if(/\b401\b/[_0x345cd4(0x169)](_0x183ca9)||/auth|认证|permission/i[_0x345cd4(0x169)](_0x183ca9))_0x346cb3(new Error(_0x345cd4(0x17c)));else _0x39e650===0x1&&!_0x474310&&!_0x4de444['trim']()?_0x346cb3(new Error(_0x345cd4(0x177))):_0x346cb3(new Error(_0x345cd4(0x123)+_0x39e650+')'+_0x592518));}}}}),_0xf534['on']('error',_0x2be0f7=>{const _0x113d45=_0x4a8959;clearTimeout(_0x31de2a),_0x346cb3(new Error(_0x113d45(0x19b)+_0x2be0f7[_0x113d45(0x131)]));});});}function formatCronJobList(_0x2e0f99){const _0x3cc2a6=a5_0x10eba8;if(_0x2e0f99['length']===0x0)return _0x3cc2a6(0x11a);const _0x247100=[_0x3cc2a6(0x144)];for(const _0x4ac74c of _0x2e0f99){const _0x40def5=_0x4ac74c['enabled']?'✅':'⏸️',_0x359081=_0x4ac74c[_0x3cc2a6(0x180)]||'-';_0x247100[_0x3cc2a6(0x16b)]('**'+_0x40def5+'\x20'+_0x4ac74c['id']+'**'),_0x247100['push'](_0x3cc2a6(0x110)+_0x4ac74c[_0x3cc2a6(0x1af)]+'`'),_0x247100['push'](_0x3cc2a6(0x18e)+_0x4ac74c['description']),_0x247100[_0x3cc2a6(0x16b)](_0x3cc2a6(0x1b0)+_0x4ac74c[_0x3cc2a6(0x170)]),_0x247100[_0x3cc2a6(0x16b)](_0x3cc2a6(0x181)+_0x4ac74c[_0x3cc2a6(0x151)]),_0x247100[_0x3cc2a6(0x16b)]('-\x20上次执行:\x20'+_0x359081),_0x247100[_0x3cc2a6(0x16b)]('');}return _0x247100[_0x3cc2a6(0x16b)](_0x3cc2a6(0x161)),_0x247100[_0x3cc2a6(0x133)]('\x0a');}function formatCronJobInfo(_0x490c0a){const _0x5cea30=a5_0x10eba8,_0x48712c=_0x490c0a[_0x5cea30(0x166)]?_0x5cea30(0x122):_0x5cea30(0x156);return['###\x20⏰\x20定时任务\x20'+_0x490c0a['id'],'',_0x5cea30(0x163)+_0x48712c,_0x5cea30(0x11e)+_0x490c0a['cronExpression']+'`',_0x5cea30(0x18c)+_0x490c0a['description'],_0x5cea30(0x19d)+_0x490c0a['prompt'],_0x5cea30(0x11d)+_0x490c0a[_0x5cea30(0x151)],_0x5cea30(0x18f)+_0x490c0a[_0x5cea30(0x124)],_0x5cea30(0x143)+(_0x490c0a[_0x5cea30(0x180)]||'-')]['join']('\x0a');}function a5_0xf36b(){const _0xcbf2a=['./claude-process','cron','-\x20**创建者:**\x20','-\x20**Cron:**\x20`','./messaging','isArray','claude','✅\x20启用','分析失败\x20(退出码:\x20','createdAt','parse','desc','findIndex','close','delete','分析超时(60s)',']\x20Cron并发上限(',']\x20Cron引擎已启动,\x20共\x20','2xftfcA','write','conversationId','default','message','split','join',']\x20Cron执行Claude查询失败:\x20','2542536JGjyAu','config','getMinutes','timestamp','MAX_CONCURRENT_JOBS',']\x20Cron分析进程退出(','Claude\x20TPM\x20限流(422),请稍后重试','error','bypassPermissions','--settings','Claude\x20返回格式不正确','executeClaudeQuery','getClientDir','\x20的会话配置不存在,\x20跳过执行','-\x20**上次执行:**\x20','###\x20⏰\x20定时任务列表\x0a','toString','[cron]','mkdirSync',']\x20删除定时任务:\x20',']\x20[SYSTEM]:\x20定时任务触发:\x20','addJob','trim','2505444sigUIf','./task',']\x20Cron执行失败:\x20','checkJobsAt','\x20已降级到任务队列:\x20','senderNick','find','1766082InDfgr','length','description','⏸️\x20暂停','utils-ok','end','jobs','stdin','size','./session','startScheduler','已恢复','includes',']\x20新增定时任务:\x20','💡\x20`/cron\x20pause\x20<id>`\x20暂停\x20|\x20`/cron\x20resume\x20<id>`\x20恢复\x20|\x20`/cron\x20delete\x20<id>`\x20删除','dingToken','-\x20**状态:**\x20','7330mjXEwb','replace','enabled','executeJob',']\x20Cron任务\x20','test','toggleJob','push','tick','CronEngine','createInterface','runningJobIds','prompt','__esModule','/session.log','resolveClaudeSettingsPath','destroy','__importDefault','line','Claude\x20进程异常退出,无输出。请检查\x20claude\x20命令是否可用','{INPUT}','warn','taskCfg','filter','Claude\x20认证失败(401),请检查\x20API\x20Key\x20配置','agent','activeSessions','appendFileSync','lastRunAt','-\x20创建者:\x20','spawn','\x20的检查','senderStaffId','5395272JYtbkQ','lastCheckedTime','toISOString','\x20启用)','formatCronJobInfo','JSON\x20解析失败','getJob','-\x20**描述:**\x20','writeFileSync','-\x20描述:\x20','-\x20**创建时间:**\x20','isValidCronExpression','start','saveTask','getDate','some','now','已暂停','639hAVenN','persist','timer','7KZyiAb','启动\x20Claude\x20进程失败:\x20','listJobs','-\x20**任务:**\x20','enqueueAsTask','getHours','result','log','stream-json','catch','map','--permission-mode','readFileSync','findActiveSession','data',']\x20Cron分析:\x20','content','saveActiveSession','has','indexOf','utf-8','cronExpression','-\x20任务:\x20','getConversationDir','分析以下定时任务描述,提取cron表达式和任务内容。\x0a\x0a用户输入:\x20{INPUT}\x0a\x0a请严格返回以下JSON格式(不要返回其他任何内容):\x0a{\x22cron\x22:\x225位cron表达式(分\x20时\x20日\x20月\x20周)\x22,\x22prompt\x22:\x22要执行的任务提示词\x22,\x22desc\x22:\x22简短的中文描述\x22}\x0a\x0a常见cron格式:\x0a-\x20每天早上9点:\x20\x220\x209\x20*\x20*\x20*\x22\x0a-\x20每周一早上9点:\x20\x220\x209\x20*\x20*\x201\x22\x0a-\x20工作日早上9点:\x20\x220\x209\x20*\x20*\x201-5\x22\x0a-\x20每小时:\x20\x220\x20*\x20*\x20*\x20*\x22\x0a-\x20每30分钟:\x20\x22*/30\x20*\x20*\x20*\x20*\x22\x0a-\x20每天中午12点:\x20\x220\x2012\x20*\x20*\x20*\x22\x0a-\x20每月1号早上9点:\x20\x220\x209\x201\x20*\x20*\x22\x0a-\x20每周五下午3点:\x20\x220\x2015\x20*\x20*\x205\x22','parseClaudeStreamLine','28709KdmQWf','match','format','type','-\x20Cron:\x20`','--verbose','1242075oiCMOk','splice','stopScheduler','readline','add','substring','pipe','defaultDingToken','📭\x20暂无定时任务'];a5_0xf36b=function(){return _0xcbf2a;};return a5_0xf36b();}class CronEngine{constructor(_0x5bc2eb){const _0x3500f9=a5_0x10eba8;this[_0x3500f9(0x159)]=[],this[_0x3500f9(0x199)]=null,this[_0x3500f9(0x186)]=-0x1,this[_0x3500f9(0x16f)]=new Set(),this[_0x3500f9(0x139)]=0x3,this['dc']=_0x5bc2eb,this[_0x3500f9(0x159)]=loadCronJobs(_0x5bc2eb);}[a5_0x10eba8(0x191)](){const _0x1557a2=a5_0x10eba8;this[_0x1557a2(0x15d)]();const _0x2ba53c=this[_0x1557a2(0x159)][_0x1557a2(0x17b)](_0x4647a5=>_0x4647a5[_0x1557a2(0x166)])[_0x1557a2(0x154)];console[_0x1557a2(0x1a1)]('['+(0x0,session_1[_0x1557a2(0x138)])()+_0x1557a2(0x12c)+this[_0x1557a2(0x159)]['length']+'\x20个任务\x20('+_0x2ba53c+_0x1557a2(0x188));}[a5_0x10eba8(0x174)](){const _0x57f7c0=a5_0x10eba8;this[_0x57f7c0(0x114)]();}[a5_0x10eba8(0x14a)](_0x756da6){const _0x4674c7=a5_0x10eba8,_0x1bbf89={'id':'cron_'+Date[_0x4674c7(0x195)](),'conversationId':_0x756da6[_0x4674c7(0x12f)],'cronExpression':_0x756da6[_0x4674c7(0x1af)],'description':_0x756da6[_0x4674c7(0x155)],'prompt':_0x756da6[_0x4674c7(0x170)],'enabled':!![],'createdAt':(0x0,session_1[_0x4674c7(0x138)])(),'senderStaffId':_0x756da6[_0x4674c7(0x184)],'senderNick':_0x756da6[_0x4674c7(0x151)]};return this[_0x4674c7(0x159)][_0x4674c7(0x16b)](_0x1bbf89),this[_0x4674c7(0x198)](),console[_0x4674c7(0x1a1)]('['+(0x0,session_1['timestamp'])()+_0x4674c7(0x160)+_0x1bbf89['id']+'\x20['+_0x1bbf89[_0x4674c7(0x1af)]+']\x20'+_0x1bbf89[_0x4674c7(0x155)]),_0x1bbf89;}['removeJob'](_0x39ab2a){const _0x282bc9=a5_0x10eba8,_0x4791ab=this[_0x282bc9(0x159)][_0x282bc9(0x127)](_0x3edfd6=>_0x3edfd6['id']===_0x39ab2a);if(_0x4791ab===-0x1)return![];const _0x4788e0=this[_0x282bc9(0x159)][_0x282bc9(0x113)](_0x4791ab,0x1)[0x0];return this['persist'](),console[_0x282bc9(0x1a1)]('['+(0x0,session_1['timestamp'])()+_0x282bc9(0x148)+_0x4788e0['id']),!![];}[a5_0x10eba8(0x16a)](_0x309c26,_0x1f2b6b){const _0x1086fb=a5_0x10eba8,_0x4bc849=this[_0x1086fb(0x159)]['find'](_0x246da7=>_0x246da7['id']===_0x309c26);if(!_0x4bc849)return![];return _0x4bc849['enabled']=_0x1f2b6b,this[_0x1086fb(0x198)](),console[_0x1086fb(0x1a1)]('['+(0x0,session_1[_0x1086fb(0x138)])()+']\x20定时任务\x20'+_0x4bc849['id']+'\x20'+(_0x1f2b6b?_0x1086fb(0x15e):_0x1086fb(0x196))),!![];}[a5_0x10eba8(0x19c)](_0x1be84b){const _0x39436b=a5_0x10eba8;if(_0x1be84b)return this[_0x39436b(0x159)][_0x39436b(0x17b)](_0x5c639b=>_0x5c639b[_0x39436b(0x12f)]===_0x1be84b);return[...this[_0x39436b(0x159)]];}[a5_0x10eba8(0x18b)](_0x3dc289){const _0x1b0192=a5_0x10eba8;return this[_0x1b0192(0x159)][_0x1b0192(0x152)](_0x1b70c1=>_0x1b70c1['id']===_0x3dc289);}async['analyzeAndCreate'](_0x2bfd04,_0xc0b151,_0x4cb364,_0x2888cb){const _0x36378a=a5_0x10eba8;try{const _0x110288=await analyzeCronWithClaude(this['dc'],_0x2bfd04,_0xc0b151);if(!isValidCronExpression(_0x110288['cron']))return{'error':'Claude\x20返回的cron表达式无效:\x20'+_0x110288[_0x36378a(0x11c)]};const _0x53bc63=this[_0x36378a(0x14a)]({'conversationId':_0x2bfd04,'cronExpression':_0x110288[_0x36378a(0x11c)],'description':_0x110288[_0x36378a(0x126)]||_0xc0b151['substring'](0x0,0x32),'prompt':_0x110288[_0x36378a(0x170)],'senderStaffId':_0x4cb364,'senderNick':_0x2888cb});return{'job':_0x53bc63};}catch(_0x179b76){return{'error':_0x179b76 instanceof Error?_0x179b76[_0x36378a(0x131)]:String(_0x179b76)};}}[a5_0x10eba8(0x198)](){const _0x4a2007=a5_0x10eba8;saveCronJobs(this['dc'],this[_0x4a2007(0x159)]);}['startScheduler'](){const _0x51bcaf=a5_0x10eba8,_0x2857f4=Date[_0x51bcaf(0x195)](),_0x52c7d0=0xea60-_0x2857f4%0xea60;setTimeout(()=>{const _0x168d93=_0x51bcaf;this['tick'](),this[_0x168d93(0x199)]=setInterval(()=>this[_0x168d93(0x16c)](),0xea60);},_0x52c7d0);}['stopScheduler'](){const _0x4b1be1=a5_0x10eba8;this[_0x4b1be1(0x199)]&&(clearInterval(this[_0x4b1be1(0x199)]),this[_0x4b1be1(0x199)]=null);}[a5_0x10eba8(0x16c)](){const _0x521cf3=a5_0x10eba8,_0x521b65=Date[_0x521cf3(0x195)](),_0x7e0559=this[_0x521cf3(0x186)]<0x0?_0x521b65-_0x521b65%0xea60:this[_0x521cf3(0x186)]+0xea60-this['lastCheckedTime']%0xea60,_0x54911f=_0x521b65-_0x521b65%0xea60;for(let _0x37e7d9=_0x7e0559;_0x37e7d9<=_0x54911f;_0x37e7d9+=0xea60){const _0x452a93=new Date(_0x37e7d9);if(!this[_0x521cf3(0x14f)](_0x452a93))break;}this[_0x521cf3(0x186)]=_0x521b65;}[a5_0x10eba8(0x14f)](_0x51179f){const _0x2a21ee=a5_0x10eba8;if(this['runningJobIds'][_0x2a21ee(0x15b)]>=this[_0x2a21ee(0x139)])return console['warn']('['+(0x0,session_1[_0x2a21ee(0x138)])()+_0x2a21ee(0x12b)+this[_0x2a21ee(0x139)]+'),\x20跳过\x20'+_0x51179f[_0x2a21ee(0x187)]()+_0x2a21ee(0x183)),![];for(const _0x59fb39 of this['jobs']){if(!_0x59fb39['enabled'])continue;if(this['runningJobIds'][_0x2a21ee(0x1ac)](_0x59fb39['id']))continue;if(this[_0x2a21ee(0x16f)][_0x2a21ee(0x15b)]>=this[_0x2a21ee(0x139)])break;if(!matchesCron(_0x59fb39[_0x2a21ee(0x1af)],_0x51179f))continue;console[_0x2a21ee(0x1a1)]('['+(0x0,session_1[_0x2a21ee(0x138)])()+']\x20Cron触发:\x20'+_0x59fb39['id']+'\x20['+_0x59fb39[_0x2a21ee(0x1af)]+']\x20'+_0x59fb39[_0x2a21ee(0x155)]),this[_0x2a21ee(0x167)](_0x59fb39)[_0x2a21ee(0x1a3)](_0xe8180=>{const _0x3cafe9=_0x2a21ee;console['error']('['+(0x0,session_1[_0x3cafe9(0x138)])()+_0x3cafe9(0x14e)+_0x59fb39['id'],_0xe8180);});}return!![];}async['executeJob'](_0x10d6c4){const _0x208306=a5_0x10eba8;this[_0x208306(0x16f)][_0x208306(0x116)](_0x10d6c4['id']);try{const _0x31a661=this['dc']['getConversationConfig'](_0x10d6c4[_0x208306(0x12f)]);if(!_0x31a661){console[_0x208306(0x179)]('['+(0x0,session_1[_0x208306(0x138)])()+_0x208306(0x168)+_0x10d6c4['id']+_0x208306(0x142));return;}const _0x4e5a94=!!(_0x31a661[_0x208306(0x162)]||this['dc'][_0x208306(0x136)][_0x208306(0x119)]);if(!_0x4e5a94){console[_0x208306(0x179)]('['+(0x0,session_1[_0x208306(0x138)])()+_0x208306(0x168)+_0x10d6c4['id']+'\x20无通知能力(无dingToken且无defaultDingToken),\x20跳过执行');return;}const _0x4b4400=(0x0,session_1[_0x208306(0x1a7)])(this['dc'],_0x10d6c4[_0x208306(0x12f)]);if(_0x4b4400){console[_0x208306(0x1a1)]('['+(0x0,session_1[_0x208306(0x138)])()+_0x208306(0x168)+_0x10d6c4['id']+'\x20的会话有活跃session,\x20降级到任务队列'),await this[_0x208306(0x19e)](_0x10d6c4);return;}const _0x34047e=Date[_0x208306(0x195)](),_0x1c98b2={'conversationId':_0x10d6c4[_0x208306(0x12f)],'sessionWebhook':'','startTime':_0x34047e,'startTimeStr':utils_ok_1['dateUtil']['mm'](_0x34047e)[_0x208306(0x10e)]('YYYY-MM-DD-HH-mm-ss'),'startStaffId':_0x10d6c4[_0x208306(0x184)],'startNickName':'[cron]'+_0x10d6c4[_0x208306(0x151)]},_0x4b0615=(0x0,session_1['getSessionDir'])(this['dc'],_0x1c98b2);fs_1[_0x208306(0x130)][_0x208306(0x147)](_0x4b0615,{'recursive':!![]}),fs_1['default'][_0x208306(0x18d)](_0x4b0615+'/session.json',JSON['stringify'](_0x1c98b2,null,0x2),_0x208306(0x1ae)),this['dc']['activeSessions']['set'](_0x10d6c4['conversationId'],{'session':_0x1c98b2,'lastSenderStaffId':_0x10d6c4[_0x208306(0x184)],'isProcessing':!![],'conversationConfig':_0x31a661}),(0x0,session_1['saveActiveSession'])(this['dc'],_0x10d6c4[_0x208306(0x12f)]),console['log']('['+(0x0,session_1[_0x208306(0x138)])()+']\x20Cron任务\x20'+_0x10d6c4['id']+'\x20开始执行:\x20'+_0x10d6c4[_0x208306(0x155)]),fs_1[_0x208306(0x130)][_0x208306(0x17f)](_0x4b0615+_0x208306(0x172),'['+(0x0,session_1['timestamp'])()+_0x208306(0x149)+_0x10d6c4[_0x208306(0x155)]+'\x0a',_0x208306(0x1ae));try{await(0x0,claude_process_1[_0x208306(0x140)])(this['dc'],_0x1c98b2,_0x10d6c4[_0x208306(0x170)],{'skill':_0x31a661[_0x208306(0x17a)]?.['skill'],'agent':_0x31a661[_0x208306(0x17d)],'senderNick':_0x10d6c4['senderNick'],'senderStaffId':_0x10d6c4[_0x208306(0x184)]});}catch(_0x3fd392){console[_0x208306(0x13c)]('['+(0x0,session_1[_0x208306(0x138)])()+_0x208306(0x134)+_0x10d6c4['id'],_0x3fd392),await(0x0,messaging_1['sendDingMessage'])(this['dc'],{'conversationId':_0x10d6c4['conversationId'],'sessionWebhook':'','atUserId':_0x10d6c4['senderStaffId'],'content':'❌\x20定时任务执行失败:\x20'+(_0x3fd392 instanceof Error?_0x3fd392['message']:String(_0x3fd392))});}finally{this['dc'][_0x208306(0x17e)][_0x208306(0x129)](_0x10d6c4['conversationId']),(0x0,session_1[_0x208306(0x1ab)])(this['dc'],_0x10d6c4[_0x208306(0x12f)]);}_0x10d6c4['lastRunAt']=(0x0,session_1[_0x208306(0x138)])(),this[_0x208306(0x198)]();}finally{this[_0x208306(0x16f)]['delete'](_0x10d6c4['id']);}}async[a5_0x10eba8(0x19e)](_0x4721d3){const _0x358c39=a5_0x10eba8;try{await(0x0,task_1[_0x358c39(0x192)])(this['dc'],{'conversationId':_0x4721d3[_0x358c39(0x12f)],'prompt':_0x4721d3[_0x358c39(0x170)],'senderStaffId':_0x4721d3[_0x358c39(0x184)],'senderNickName':_0x358c39(0x146)+_0x4721d3['senderNick'],'sessionWebhook':'','type':_0x358c39(0x11c)}),console['log']('['+(0x0,session_1[_0x358c39(0x138)])()+_0x358c39(0x168)+_0x4721d3['id']+_0x358c39(0x150)+_0x4721d3[_0x358c39(0x155)]);}catch(_0x28446c){console[_0x358c39(0x13c)]('['+(0x0,session_1[_0x358c39(0x138)])()+_0x358c39(0x168)+_0x4721d3['id']+'\x20降级到任务队列失败:',_0x28446c);}_0x4721d3[_0x358c39(0x180)]=(0x0,session_1[_0x358c39(0x138)])(),this[_0x358c39(0x198)]();}}exports[a5_0x10eba8(0x16d)]=CronEngine;
1
+ 'use strict';const a5_0x1544ce=a5_0x337a;(function(_0x3e25c2,_0x3bbc65){const _0x115a3d=a5_0x337a,_0x57465b=_0x3e25c2();while(!![]){try{const _0x49a1ff=parseInt(_0x115a3d(0xd3))/0x1+-parseInt(_0x115a3d(0x109))/0x2*(parseInt(_0x115a3d(0xac))/0x3)+parseInt(_0x115a3d(0x147))/0x4*(parseInt(_0x115a3d(0x11e))/0x5)+parseInt(_0x115a3d(0x132))/0x6*(-parseInt(_0x115a3d(0x146))/0x7)+parseInt(_0x115a3d(0x12a))/0x8*(parseInt(_0x115a3d(0x10b))/0x9)+-parseInt(_0x115a3d(0xf8))/0xa*(-parseInt(_0x115a3d(0xe5))/0xb)+-parseInt(_0x115a3d(0x138))/0xc*(parseInt(_0x115a3d(0xd1))/0xd);if(_0x49a1ff===_0x3bbc65)break;else _0x57465b['push'](_0x57465b['shift']());}catch(_0x5539b9){_0x57465b['push'](_0x57465b['shift']());}}}(a5_0x45a5,0xa7a51));var __importDefault=this&&this[a5_0x1544ce(0xef)]||function(_0x4d1421){const _0x36a663=a5_0x1544ce;return _0x4d1421&&_0x4d1421[_0x36a663(0x11f)]?_0x4d1421:{'default':_0x4d1421};};Object[a5_0x1544ce(0x122)](exports,a5_0x1544ce(0x11f),{'value':!![]}),exports['CronEngine']=void 0x0,exports[a5_0x1544ce(0x12d)]=isValidCronExpression,exports[a5_0x1544ce(0x12b)]=formatCronJobList,exports[a5_0x1544ce(0xcf)]=formatCronJobInfo;const fs_1=__importDefault(require('fs')),readline_1=__importDefault(require(a5_0x1544ce(0xb5))),child_process_1=require('child_process'),utils_ok_1=require(a5_0x1544ce(0xce)),messaging_1=require('./messaging'),claude_process_1=require(a5_0x1544ce(0xaa)),task_1=require(a5_0x1544ce(0xfd)),session_1=require(a5_0x1544ce(0x13f));function getCronFile(_0x55797f){const _0x21f4bb=a5_0x1544ce;return(0x0,session_1[_0x21f4bb(0x13b)])(_0x55797f)+'/cron.json';}function a5_0x45a5(){const _0x2a22c0=['./task','end','已暂停','log','desc','lastRunAt','trim','❌\x20定时任务执行失败:\x20','start','agent','分析超时(60s)','Claude\x20TPM\x20限流(422),请稍后重试','22IAeKXf','destroy','4879503RRWKpQ','MAX_CONCURRENT_JOBS','taskCfg','lastCheckedTime','-\x20任务:\x20','filter','\x20开始执行:\x20','prompt','dateUtil','default','claude','cron',']\x20Cron任务\x20','getJob','test','-\x20描述:\x20','jobs','Claude\x20返回格式不正确','message','5bKTbAb','__esModule','senderStaffId','executeClaudeQuery','defineProperty','--settings','result','isArray','addJob','###\x20⏰\x20定时任务列表\x0a','indexOf','toString','16LWSJEW','formatCronJobList','\x20个任务\x20(','isValidCronExpression','startScheduler','Claude\x20认证失败(401),请检查\x20API\x20Key\x20配置','substring','-\x20**描述:**\x20','288276fLnSPE','checkJobsAt','getDay','pipe','executeJob','runningJobIds','72aIlViN','-\x20**创建时间:**\x20','enabled','getClientDir','find','YYYY-MM-DD-HH-mm-ss','getHours','./session','enqueueAsTask',']\x20Cron引擎已启动,\x20共\x20','kill','splice','toggleJob','persist','161fQUEhe','1231564xvyDbW','readFileSync','mkdirSync','resolveClaudeSettingsPath','activeSessions','Claude\x20进程异常退出,无输出。请检查\x20claude\x20命令是否可用','data','./claude-process','📭\x20暂无定时任务','315402ECqyUO','-\x20创建者:\x20','toISOString','-\x20**创建者:**\x20','stdin','stderr','write','warn','已恢复','readline','getConversationDir','\x20降级到任务队列失败:','saveActiveSession','\x20的会话有活跃session,\x20降级到任务队列','line','-\x20Cron:\x20`','-\x20**任务:**\x20','stringify','[cron]','parse','\x20启用)','--verbose','--permission-mode','tick','includes','spawn','length','timer','Claude\x20返回的cron表达式无效:\x20','getDate','-\x20上次执行:\x20','\x20无通知能力(无dingToken且无defaultDingToken),\x20跳过执行','error','--output-format','utils-ok','formatCronJobInfo',']\x20Cron并发上限(','1755507pomLWa','分析失败\x20(退出码:\x20','1369911vbCGeT','description','push','findActiveSession','sendDingMessage','--print','join','now','senderNick','writeFileSync',']\x20[SYSTEM]:\x20定时任务触发:\x20','cronExpression',']\x20Cron执行Claude查询失败:\x20',']\x20删除定时任务:\x20','###\x20⏰\x20定时任务\x20','appendFileSync','split','delete','77zJbIgJ','has','\x20的会话配置不存在,\x20跳过执行','timestamp','💡\x20`/cron\x20pause\x20<id>`\x20暂停\x20|\x20`/cron\x20resume\x20<id>`\x20恢复\x20|\x20`/cron\x20delete\x20<id>`\x20删除','size','CronEngine','map','some',']\x20Cron触发:\x20','__importDefault','analyzeAndCreate','content','skill','stream-json','conversationId',']\x20Cron分析:\x20','parseClaudeStreamLine',']\x20新增定时任务:\x20','1423290dHxAno','utf-8','{INPUT}','bypassPermissions',']\x20定时任务\x20'];a5_0x45a5=function(){return _0x2a22c0;};return a5_0x45a5();}function loadCronJobs(_0x4a245b){const _0x27b44b=a5_0x1544ce,_0xb0f9e=getCronFile(_0x4a245b);try{const _0x452fbc=JSON['parse'](fs_1['default'][_0x27b44b(0x148)](_0xb0f9e,'utf-8'));return Array[_0x27b44b(0x125)](_0x452fbc)?_0x452fbc:_0x452fbc[_0x27b44b(0x11b)]||[];}catch{return[];}}function saveCronJobs(_0x205072,_0x4b3c3b){const _0x460ec3=a5_0x1544ce,_0x4a622b=getCronFile(_0x205072);fs_1[_0x460ec3(0x114)][_0x460ec3(0xdc)](_0x4a622b,JSON[_0x460ec3(0xbd)](_0x4b3c3b,null,0x2),'utf-8');}function a5_0x337a(_0x3fa5f0,_0x59b9ea){_0x3fa5f0=_0x3fa5f0-0xa7;const _0x45a51f=a5_0x45a5();let _0x337ac1=_0x45a51f[_0x3fa5f0];return _0x337ac1;}function matchesCronField(_0x471f6a,_0x3bd5fe,_0x1cc001,_0x53739e){const _0x32dc2e=a5_0x1544ce;if(_0x471f6a==='*')return!![];if(_0x471f6a[_0x32dc2e(0xc4)](','))return _0x471f6a[_0x32dc2e(0xe3)](',')[_0x32dc2e(0xed)](_0x4809f4=>matchesCronField(_0x4809f4[_0x32dc2e(0x103)](),_0x3bd5fe,_0x1cc001,_0x53739e));if(_0x471f6a[_0x32dc2e(0xc4)]('/')){const _0x10cf05=_0x471f6a[_0x32dc2e(0x128)]('/'),_0x275b2d=_0x471f6a[_0x32dc2e(0x130)](0x0,_0x10cf05),_0x56b7bb=parseInt(_0x471f6a[_0x32dc2e(0x130)](_0x10cf05+0x1),0xa);if(isNaN(_0x56b7bb)||_0x56b7bb<=0x0)return![];let _0x4f2799=_0x1cc001,_0x201629=_0x53739e;if(_0x275b2d!=='*'){if(_0x275b2d[_0x32dc2e(0xc4)]('-')){const _0x5616cb=_0x275b2d[_0x32dc2e(0xe3)]('-')[_0x32dc2e(0xec)](Number);_0x4f2799=_0x5616cb[0x0],_0x201629=_0x5616cb[0x1];}else _0x4f2799=parseInt(_0x275b2d,0xa),_0x201629=_0x53739e;}if(_0x3bd5fe<_0x4f2799||_0x3bd5fe>_0x201629)return![];return(_0x3bd5fe-_0x4f2799)%_0x56b7bb===0x0;}if(_0x471f6a[_0x32dc2e(0xc4)]('-')){const _0x462c19=_0x471f6a['split']('-')[_0x32dc2e(0xec)](Number);return _0x3bd5fe>=_0x462c19[0x0]&&_0x3bd5fe<=_0x462c19[0x1];}const _0x37828d=parseInt(_0x471f6a,0xa);return!isNaN(_0x37828d)&&_0x3bd5fe===_0x37828d;}function matchesCron(_0xd3026d,_0x233758){const _0x2f03a4=a5_0x1544ce,_0x5b4c63=_0xd3026d[_0x2f03a4(0x103)]()[_0x2f03a4(0xe3)](/\s+/);if(_0x5b4c63[_0x2f03a4(0xc6)]!==0x5)return![];const _0x55c3d0=_0x233758['getMinutes'](),_0x2321a7=_0x233758[_0x2f03a4(0x13e)](),_0x7e43c3=_0x233758[_0x2f03a4(0xc9)](),_0x5b86f3=_0x233758['getMonth']()+0x1,_0x91fd2=_0x233758[_0x2f03a4(0x134)]();if(!matchesCronField(_0x5b4c63[0x0],_0x55c3d0,0x0,0x3b))return![];if(!matchesCronField(_0x5b4c63[0x1],_0x2321a7,0x0,0x17))return![];if(!matchesCronField(_0x5b4c63[0x3],_0x5b86f3,0x1,0xc))return![];const _0x415b96=matchesCronField(_0x5b4c63[0x2],_0x7e43c3,0x1,0x1f),_0x1c8a6d=matchesCronField(_0x5b4c63[0x4],_0x91fd2,0x0,0x7)||_0x91fd2===0x0&&matchesCronField(_0x5b4c63[0x4],0x7,0x0,0x7),_0x59610c=_0x5b4c63[0x2]==='*',_0x376512=_0x5b4c63[0x4]==='*';if(_0x59610c&&_0x376512)return!![];if(_0x59610c)return _0x1c8a6d;if(_0x376512)return _0x415b96;return _0x415b96||_0x1c8a6d;}function isValidCronExpression(_0xcd16ea){const _0x3efbb6=a5_0x1544ce,_0x361985=_0xcd16ea[_0x3efbb6(0x103)]()[_0x3efbb6(0xe3)](/\s+/);if(_0x361985[_0x3efbb6(0xc6)]!==0x5)return![];const _0x5c3cf4=/^(\*|\d+|\d+-\d+|\*\/\d+|\d+\/\d+|\d+-\d+\/\d+|\d+(,\d+)+)$/;return _0x361985['every'](_0x296f6a=>_0x5c3cf4['test'](_0x296f6a));}const ANALYSIS_PROMPT='分析以下定时任务描述,提取cron表达式和任务内容。\x0a\x0a用户输入:\x20{INPUT}\x0a\x0a请严格返回以下JSON格式(不要返回其他任何内容):\x0a{\x22cron\x22:\x225位cron表达式(分\x20时\x20日\x20月\x20周)\x22,\x22prompt\x22:\x22要执行的任务提示词\x22,\x22desc\x22:\x22简短的中文描述\x22}\x0a\x0a常见cron格式:\x0a-\x20每天早上9点:\x20\x220\x209\x20*\x20*\x20*\x22\x0a-\x20每周一早上9点:\x20\x220\x209\x20*\x20*\x201\x22\x0a-\x20工作日早上9点:\x20\x220\x209\x20*\x20*\x201-5\x22\x0a-\x20每小时:\x20\x220\x20*\x20*\x20*\x20*\x22\x0a-\x20每30分钟:\x20\x22*/30\x20*\x20*\x20*\x20*\x22\x0a-\x20每天中午12点:\x20\x220\x2012\x20*\x20*\x20*\x22\x0a-\x20每月1号早上9点:\x20\x220\x209\x201\x20*\x20*\x22\x0a-\x20每周五下午3点:\x20\x220\x2015\x20*\x20*\x205\x22';async function analyzeCronWithClaude(_0x53d590,_0x2ac96e,_0x2ec836){const _0x1ef25f=a5_0x1544ce,_0x5daecb=_0x53d590[_0x1ef25f(0xb6)](_0x2ac96e),_0x29f901=_0x1ef25f(0x115),_0x4c2440=ANALYSIS_PROMPT['replace'](_0x1ef25f(0xfa),_0x2ec836),_0x3ba00a=[_0x1ef25f(0xc2),_0x1ef25f(0xfb),_0x1ef25f(0xd8),_0x1ef25f(0xcd),_0x1ef25f(0xf3),_0x1ef25f(0xc1)],_0x3fda6f=(0x0,claude_process_1[_0x1ef25f(0x14a)])(_0x53d590,_0x5daecb);return _0x3fda6f&&_0x3ba00a['push'](_0x1ef25f(0x123),_0x3fda6f),console[_0x1ef25f(0x100)]('['+(0x0,session_1['timestamp'])()+_0x1ef25f(0xf5)+_0x29f901+'\x20'+_0x3ba00a[_0x1ef25f(0xd9)]('\x20')),new Promise((_0x1b90ec,_0x2a7371)=>{const _0x4afa07=_0x1ef25f,_0x5720df=(0x0,child_process_1[_0x4afa07(0xc5)])(_0x29f901,_0x3ba00a,{'cwd':_0x5daecb,'stdio':[_0x4afa07(0x135),'pipe',_0x4afa07(0x135)]});_0x5720df['stdin']?.[_0x4afa07(0xb2)](_0x4c2440+'\x0a'),_0x5720df[_0x4afa07(0xb0)]?.[_0x4afa07(0xfe)]();let _0x54f15e='',_0x4b06d6='';const _0x370030=readline_1['default']['createInterface']({'input':_0x5720df['stdout']});_0x370030['on'](_0x4afa07(0xba),_0x594300=>{const _0x3876f6=_0x4afa07,_0x4014ef=(0x0,claude_process_1[_0x3876f6(0xf6)])(_0x594300);_0x4014ef?.['type']===_0x3876f6(0x124)&&_0x4014ef[_0x3876f6(0xf1)]&&(_0x54f15e=_0x4014ef[_0x3876f6(0xf1)]);}),_0x5720df[_0x4afa07(0xb1)]?.['on'](_0x4afa07(0xa9),_0x5a108b=>{const _0x3dbc42=_0x4afa07;_0x4b06d6+=_0x5a108b[_0x3dbc42(0x129)]();});const _0x4c4beb=setTimeout(()=>{const _0x17d17e=_0x4afa07;_0x5720df[_0x17d17e(0x142)](),_0x2a7371(new Error(_0x17d17e(0x107)));},0xea60);_0x5720df['on']('close',_0x592a69=>{const _0x5821f0=_0x4afa07;clearTimeout(_0x4c4beb);if(_0x592a69===0x0&&_0x54f15e)try{const _0x5546d0=_0x54f15e['match'](/\{[\s\S]*\}/);if(_0x5546d0){const _0x4317be=JSON[_0x5821f0(0xbf)](_0x5546d0[0x0]);if(_0x4317be['cron']&&_0x4317be[_0x5821f0(0x112)]){_0x1b90ec(_0x4317be);return;}}_0x2a7371(new Error(_0x5821f0(0x11c)));}catch{_0x2a7371(new Error('JSON\x20解析失败'));}else{const _0x2f3d5e=_0x4b06d6[_0x5821f0(0x103)]()?'\x20('+_0x4b06d6[_0x5821f0(0x103)]()[_0x5821f0(0x130)](0x0,0xc8)+')':'';console[_0x5821f0(0xcc)]('['+(0x0,session_1[_0x5821f0(0xe8)])()+']\x20Cron分析进程退出('+_0x592a69+')'+_0x2f3d5e);const _0x31acb7=_0x4b06d6;if(/\b429\b/[_0x5821f0(0x119)](_0x31acb7))_0x2a7371(new Error('Claude\x20配额已耗尽(429),请稍后重试或明天再试'));else{if(/\b422\b/[_0x5821f0(0x119)](_0x31acb7)||/TPM|额度超限/i[_0x5821f0(0x119)](_0x31acb7))_0x2a7371(new Error(_0x5821f0(0x108)));else{if(/\b401\b/[_0x5821f0(0x119)](_0x31acb7)||/auth|认证|permission/i[_0x5821f0(0x119)](_0x31acb7))_0x2a7371(new Error(_0x5821f0(0x12f)));else _0x592a69===0x1&&!_0x54f15e&&!_0x4b06d6[_0x5821f0(0x103)]()?_0x2a7371(new Error(_0x5821f0(0xa8))):_0x2a7371(new Error(_0x5821f0(0xd2)+_0x592a69+')'+_0x2f3d5e));}}}}),_0x5720df['on'](_0x4afa07(0xcc),_0xed220a=>{const _0x44edb4=_0x4afa07;clearTimeout(_0x4c4beb),_0x2a7371(new Error('启动\x20Claude\x20进程失败:\x20'+_0xed220a[_0x44edb4(0x11d)]));});});}function formatCronJobList(_0x1f8bb7){const _0x402825=a5_0x1544ce;if(_0x1f8bb7[_0x402825(0xc6)]===0x0)return _0x402825(0xab);const _0x201d6d=[_0x402825(0x127)];for(const _0x2387c3 of _0x1f8bb7){const _0x108168=_0x2387c3[_0x402825(0x13a)]?'✅':'⏸️',_0x192706=_0x2387c3[_0x402825(0x102)]||'-';_0x201d6d[_0x402825(0xd5)]('**'+_0x108168+'\x20'+_0x2387c3['id']+'**'),_0x201d6d[_0x402825(0xd5)](_0x402825(0xbb)+_0x2387c3[_0x402825(0xde)]+'`'),_0x201d6d[_0x402825(0xd5)](_0x402825(0x11a)+_0x2387c3[_0x402825(0xd4)]),_0x201d6d[_0x402825(0xd5)](_0x402825(0x10f)+_0x2387c3[_0x402825(0x112)]),_0x201d6d[_0x402825(0xd5)](_0x402825(0xad)+_0x2387c3[_0x402825(0xdb)]),_0x201d6d[_0x402825(0xd5)](_0x402825(0xca)+_0x192706),_0x201d6d['push']('');}return _0x201d6d[_0x402825(0xd5)](_0x402825(0xe9)),_0x201d6d[_0x402825(0xd9)]('\x0a');}function formatCronJobInfo(_0x32e560){const _0x59ed85=a5_0x1544ce,_0x589dfb=_0x32e560[_0x59ed85(0x13a)]?'✅\x20启用':'⏸️\x20暂停';return[_0x59ed85(0xe1)+_0x32e560['id'],'','-\x20**状态:**\x20'+_0x589dfb,'-\x20**Cron:**\x20`'+_0x32e560[_0x59ed85(0xde)]+'`',_0x59ed85(0x131)+_0x32e560['description'],_0x59ed85(0xbc)+_0x32e560[_0x59ed85(0x112)],_0x59ed85(0xaf)+_0x32e560[_0x59ed85(0xdb)],_0x59ed85(0x139)+_0x32e560['createdAt'],'-\x20**上次执行:**\x20'+(_0x32e560[_0x59ed85(0x102)]||'-')][_0x59ed85(0xd9)]('\x0a');}class CronEngine{constructor(_0x8510a9){const _0x208f34=a5_0x1544ce;this[_0x208f34(0x11b)]=[],this[_0x208f34(0xc7)]=null,this[_0x208f34(0x10e)]=-0x1,this['runningJobIds']=new Set(),this['MAX_CONCURRENT_JOBS']=0x3,this['dc']=_0x8510a9,this[_0x208f34(0x11b)]=loadCronJobs(_0x8510a9);}[a5_0x1544ce(0x105)](){const _0x4ec1d3=a5_0x1544ce;this['startScheduler']();const _0x453943=this['jobs']['filter'](_0x2e7262=>_0x2e7262[_0x4ec1d3(0x13a)])[_0x4ec1d3(0xc6)];console[_0x4ec1d3(0x100)]('['+(0x0,session_1['timestamp'])()+_0x4ec1d3(0x141)+this[_0x4ec1d3(0x11b)]['length']+_0x4ec1d3(0x12c)+_0x453943+_0x4ec1d3(0xc0));}[a5_0x1544ce(0x10a)](){this['stopScheduler']();}[a5_0x1544ce(0x126)](_0xc60c22){const _0x473386=a5_0x1544ce,_0x512c7b={'id':'cron_'+Date[_0x473386(0xda)](),'conversationId':_0xc60c22[_0x473386(0xf4)],'cronExpression':_0xc60c22[_0x473386(0xde)],'description':_0xc60c22[_0x473386(0xd4)],'prompt':_0xc60c22[_0x473386(0x112)],'enabled':!![],'createdAt':(0x0,session_1['timestamp'])(),'senderStaffId':_0xc60c22['senderStaffId'],'senderNick':_0xc60c22[_0x473386(0xdb)]};return this[_0x473386(0x11b)][_0x473386(0xd5)](_0x512c7b),this[_0x473386(0x145)](),console[_0x473386(0x100)]('['+(0x0,session_1[_0x473386(0xe8)])()+_0x473386(0xf7)+_0x512c7b['id']+'\x20['+_0x512c7b[_0x473386(0xde)]+']\x20'+_0x512c7b['description']),_0x512c7b;}['removeJob'](_0x59a04a){const _0x1942d6=a5_0x1544ce,_0x52208c=this[_0x1942d6(0x11b)]['findIndex'](_0xf34ca5=>_0xf34ca5['id']===_0x59a04a);if(_0x52208c===-0x1)return![];const _0xc7135e=this['jobs'][_0x1942d6(0x143)](_0x52208c,0x1)[0x0];return this[_0x1942d6(0x145)](),console['log']('['+(0x0,session_1[_0x1942d6(0xe8)])()+_0x1942d6(0xe0)+_0xc7135e['id']),!![];}[a5_0x1544ce(0x144)](_0x227833,_0x30c680){const _0x3e18da=a5_0x1544ce,_0x3b8ff0=this[_0x3e18da(0x11b)]['find'](_0x249f48=>_0x249f48['id']===_0x227833);if(!_0x3b8ff0)return![];return _0x3b8ff0['enabled']=_0x30c680,this[_0x3e18da(0x145)](),console[_0x3e18da(0x100)]('['+(0x0,session_1[_0x3e18da(0xe8)])()+_0x3e18da(0xfc)+_0x3b8ff0['id']+'\x20'+(_0x30c680?_0x3e18da(0xb4):_0x3e18da(0xff))),!![];}['listJobs'](_0x38956f){const _0x363cff=a5_0x1544ce;if(_0x38956f)return this[_0x363cff(0x11b)][_0x363cff(0x110)](_0x4be18b=>_0x4be18b[_0x363cff(0xf4)]===_0x38956f);return[...this[_0x363cff(0x11b)]];}[a5_0x1544ce(0x118)](_0x376dea){const _0x316f03=a5_0x1544ce;return this['jobs'][_0x316f03(0x13c)](_0x481a2e=>_0x481a2e['id']===_0x376dea);}async[a5_0x1544ce(0xf0)](_0x42226c,_0x59a46a,_0x2ec307,_0x57f046){const _0x14b180=a5_0x1544ce;try{const _0x48aafb=await analyzeCronWithClaude(this['dc'],_0x42226c,_0x59a46a);if(!isValidCronExpression(_0x48aafb['cron']))return{'error':_0x14b180(0xc8)+_0x48aafb['cron']};const _0x57957c=this[_0x14b180(0x126)]({'conversationId':_0x42226c,'cronExpression':_0x48aafb[_0x14b180(0x116)],'description':_0x48aafb[_0x14b180(0x101)]||_0x59a46a[_0x14b180(0x130)](0x0,0x32),'prompt':_0x48aafb[_0x14b180(0x112)],'senderStaffId':_0x2ec307,'senderNick':_0x57f046});return{'job':_0x57957c};}catch(_0x2e6a22){return{'error':_0x2e6a22 instanceof Error?_0x2e6a22[_0x14b180(0x11d)]:String(_0x2e6a22)};}}[a5_0x1544ce(0x145)](){const _0x1b0a96=a5_0x1544ce;saveCronJobs(this['dc'],this[_0x1b0a96(0x11b)]);}[a5_0x1544ce(0x12e)](){const _0xcbb98=a5_0x1544ce,_0xbba2d4=Date[_0xcbb98(0xda)](),_0x31befd=0xea60-_0xbba2d4%0xea60;setTimeout(()=>{const _0x45d106=_0xcbb98;this['tick'](),this[_0x45d106(0xc7)]=setInterval(()=>this[_0x45d106(0xc3)](),0xea60);},_0x31befd);}['stopScheduler'](){const _0x560378=a5_0x1544ce;this[_0x560378(0xc7)]&&(clearInterval(this[_0x560378(0xc7)]),this[_0x560378(0xc7)]=null);}['tick'](){const _0x438a25=a5_0x1544ce,_0x226664=Date[_0x438a25(0xda)](),_0x58564d=this[_0x438a25(0x10e)]<0x0?_0x226664-_0x226664%0xea60:this[_0x438a25(0x10e)]+0xea60-this[_0x438a25(0x10e)]%0xea60,_0x276609=_0x226664-_0x226664%0xea60;for(let _0x24562d=_0x58564d;_0x24562d<=_0x276609;_0x24562d+=0xea60){const _0x207444=new Date(_0x24562d);if(!this[_0x438a25(0x133)](_0x207444))break;}this[_0x438a25(0x10e)]=_0x226664;}[a5_0x1544ce(0x133)](_0x33b4c7){const _0x8e4033=a5_0x1544ce;if(this['runningJobIds']['size']>=this['MAX_CONCURRENT_JOBS'])return console[_0x8e4033(0xb3)]('['+(0x0,session_1[_0x8e4033(0xe8)])()+_0x8e4033(0xd0)+this[_0x8e4033(0x10c)]+'),\x20跳过\x20'+_0x33b4c7[_0x8e4033(0xae)]()+'\x20的检查'),![];for(const _0x12c51d of this[_0x8e4033(0x11b)]){if(!_0x12c51d[_0x8e4033(0x13a)])continue;if(this[_0x8e4033(0x137)][_0x8e4033(0xe6)](_0x12c51d['id']))continue;if(this[_0x8e4033(0x137)][_0x8e4033(0xea)]>=this[_0x8e4033(0x10c)])break;if(!matchesCron(_0x12c51d[_0x8e4033(0xde)],_0x33b4c7))continue;console[_0x8e4033(0x100)]('['+(0x0,session_1['timestamp'])()+_0x8e4033(0xee)+_0x12c51d['id']+'\x20['+_0x12c51d[_0x8e4033(0xde)]+']\x20'+_0x12c51d[_0x8e4033(0xd4)]),this[_0x8e4033(0x136)](_0x12c51d)['catch'](_0x4fe5e9=>{const _0x5889fb=_0x8e4033;console[_0x5889fb(0xcc)]('['+(0x0,session_1['timestamp'])()+']\x20Cron执行失败:\x20'+_0x12c51d['id'],_0x4fe5e9);});}return!![];}async[a5_0x1544ce(0x136)](_0x15c054){const _0x955ccc=a5_0x1544ce;this[_0x955ccc(0x137)]['add'](_0x15c054['id']);try{const _0x54a031=this['dc']['getConversationConfig'](_0x15c054['conversationId']);if(!_0x54a031){console[_0x955ccc(0xb3)]('['+(0x0,session_1[_0x955ccc(0xe8)])()+_0x955ccc(0x117)+_0x15c054['id']+_0x955ccc(0xe7));return;}const _0x1c3184=!!(_0x54a031['dingToken']||this['dc']['config']['defaultDingToken']);if(!_0x1c3184){console[_0x955ccc(0xb3)]('['+(0x0,session_1[_0x955ccc(0xe8)])()+_0x955ccc(0x117)+_0x15c054['id']+_0x955ccc(0xcb));return;}const _0x50ea14=(0x0,session_1[_0x955ccc(0xd6)])(this['dc'],_0x15c054[_0x955ccc(0xf4)]);if(_0x50ea14){console['log']('['+(0x0,session_1[_0x955ccc(0xe8)])()+_0x955ccc(0x117)+_0x15c054['id']+_0x955ccc(0xb9)),await this[_0x955ccc(0x140)](_0x15c054);return;}const _0x4b6b1b=Date['now'](),_0x33aa28={'conversationId':_0x15c054[_0x955ccc(0xf4)],'sessionWebhook':'','startTime':_0x4b6b1b,'startTimeStr':utils_ok_1[_0x955ccc(0x113)]['mm'](_0x4b6b1b)['format'](_0x955ccc(0x13d)),'startStaffId':_0x15c054[_0x955ccc(0x120)],'startNickName':'[cron]'+_0x15c054[_0x955ccc(0xdb)]},_0x15941e=(0x0,session_1['getSessionDir'])(this['dc'],_0x33aa28);fs_1[_0x955ccc(0x114)][_0x955ccc(0x149)](_0x15941e,{'recursive':!![]}),fs_1[_0x955ccc(0x114)][_0x955ccc(0xdc)](_0x15941e+'/session.json',JSON[_0x955ccc(0xbd)](_0x33aa28,null,0x2),_0x955ccc(0xf9)),this['dc'][_0x955ccc(0xa7)]['set'](_0x15c054[_0x955ccc(0xf4)],{'session':_0x33aa28,'lastSenderStaffId':_0x15c054[_0x955ccc(0x120)],'isProcessing':!![],'messageQueue':[],'conversationConfig':_0x54a031}),(0x0,session_1[_0x955ccc(0xb8)])(this['dc'],_0x15c054[_0x955ccc(0xf4)]),console['log']('['+(0x0,session_1[_0x955ccc(0xe8)])()+']\x20Cron任务\x20'+_0x15c054['id']+_0x955ccc(0x111)+_0x15c054['description']),fs_1['default'][_0x955ccc(0xe2)](_0x15941e+'/session.log','['+(0x0,session_1[_0x955ccc(0xe8)])()+_0x955ccc(0xdd)+_0x15c054[_0x955ccc(0xd4)]+'\x0a',_0x955ccc(0xf9));try{await(0x0,claude_process_1[_0x955ccc(0x121)])(this['dc'],_0x33aa28,_0x15c054[_0x955ccc(0x112)],{'skill':_0x54a031[_0x955ccc(0x10d)]?.[_0x955ccc(0xf2)],'agent':_0x54a031[_0x955ccc(0x106)],'senderNick':_0x15c054['senderNick'],'senderStaffId':_0x15c054[_0x955ccc(0x120)]});}catch(_0x3b6e2f){console[_0x955ccc(0xcc)]('['+(0x0,session_1[_0x955ccc(0xe8)])()+_0x955ccc(0xdf)+_0x15c054['id'],_0x3b6e2f),await(0x0,messaging_1[_0x955ccc(0xd7)])(this['dc'],{'conversationId':_0x15c054[_0x955ccc(0xf4)],'sessionWebhook':'','atUserId':_0x15c054['senderStaffId'],'content':_0x955ccc(0x104)+(_0x3b6e2f instanceof Error?_0x3b6e2f[_0x955ccc(0x11d)]:String(_0x3b6e2f))});}finally{this['dc']['activeSessions'][_0x955ccc(0xe4)](_0x15c054['conversationId']),(0x0,session_1['saveActiveSession'])(this['dc'],_0x15c054[_0x955ccc(0xf4)]);}_0x15c054[_0x955ccc(0x102)]=(0x0,session_1[_0x955ccc(0xe8)])(),this['persist']();}finally{this[_0x955ccc(0x137)]['delete'](_0x15c054['id']);}}async['enqueueAsTask'](_0x23636d){const _0x2821e7=a5_0x1544ce;try{await(0x0,task_1['saveTask'])(this['dc'],{'conversationId':_0x23636d['conversationId'],'prompt':_0x23636d['prompt'],'senderStaffId':_0x23636d[_0x2821e7(0x120)],'senderNickName':_0x2821e7(0xbe)+_0x23636d[_0x2821e7(0xdb)],'sessionWebhook':'','type':_0x2821e7(0x116)}),console[_0x2821e7(0x100)]('['+(0x0,session_1['timestamp'])()+_0x2821e7(0x117)+_0x23636d['id']+'\x20已降级到任务队列:\x20'+_0x23636d['description']);}catch(_0x4d0fa7){console[_0x2821e7(0xcc)]('['+(0x0,session_1[_0x2821e7(0xe8)])()+']\x20Cron任务\x20'+_0x23636d['id']+_0x2821e7(0xb7),_0x4d0fa7);}_0x23636d[_0x2821e7(0x102)]=(0x0,session_1['timestamp'])(),this[_0x2821e7(0x145)]();}}exports[a5_0x1544ce(0xeb)]=CronEngine;
@@ -1 +1 @@
1
- 'use strict';const a6_0x3694a0=a6_0x5d3f;(function(_0x5494ad,_0x2dafba){const _0x3771c6=a6_0x5d3f,_0x2fee51=_0x5494ad();while(!![]){try{const _0x451d13=-parseInt(_0x3771c6(0xf1))/0x1+-parseInt(_0x3771c6(0x121))/0x2+-parseInt(_0x3771c6(0xef))/0x3*(parseInt(_0x3771c6(0x129))/0x4)+-parseInt(_0x3771c6(0x112))/0x5*(-parseInt(_0x3771c6(0xe5))/0x6)+parseInt(_0x3771c6(0x117))/0x7+parseInt(_0x3771c6(0x123))/0x8+parseInt(_0x3771c6(0x128))/0x9;if(_0x451d13===_0x2dafba)break;else _0x2fee51['push'](_0x2fee51['shift']());}catch(_0x3f4dbc){_0x2fee51['push'](_0x2fee51['shift']());}}}(a6_0x423e,0x8d703));var __importDefault=this&&this[a6_0x3694a0(0x101)]||function(_0x3d4318){return _0x3d4318&&_0x3d4318['__esModule']?_0x3d4318:{'default':_0x3d4318};};Object[a6_0x3694a0(0xdf)](exports,a6_0x3694a0(0x116),{'value':!![]}),exports[a6_0x3694a0(0xdb)]=printDoctorResults,exports['runDoctor']=runDoctor;function a6_0x423e(){const _0x267e31=['object','config.json','printDoctorResults','(空)','缺少必填字段:\x20',']\x20缺少\x20cronExpression','defineProperty','string','\x20启用)','WARN','------------------------------------','cron.json\x20格式异常,无法解析为任务数组','1141482NIxVtE','\x20仍为占位符:\x20','.doctor-check','config.json\x20解析失败:\x20','\x20致命','\x20警告,\x20','path','some','settings-tpl.json\x20根元素不是对象','\x20缺少\x20conversationId','183hGiHsU','owner\x20未配置,管理命令(/clean,\x20/open,\x20/reset-apikeycfg,\x20/reg,\x20/auth)不可用','970392XlLzKe','baseUrl','has','model','\x22\x20未在\x20config.json\x20conversations\x20中找到','\x20\x20✅\x20所有检查通过','\x20apiKey\x20重复:\x20','conversations','FATAL','\x20conversationId\x20仍为占位符:\x20','apiKeyCfg.claudeSettings\x20为空,无备用\x20Key','进程运行中\x20(PID:\x20',']\x20缺少\x20conversationId','conversationId','PID\x20锁文件读取异常:\x20','cron.json','__importDefault','trim','split','resetTime','====================================\x0a','apiKeyCfg\x20未配置,无法使用\x20API\x20Key\x20池化轮换','defaultDingToken','\x20项,有效\x20','getHomeDir','\x20已退出(过期锁文件)','\x20缺少\x20apiKey','linkConversationId','clientSecret','.pid.lock','cron.json\x20共\x20','\x20缺少\x20model','slice','25hKDfvt','cc-ding','dingSecret','dingToken','__esModule','1184435ZhwFZA','apiKeyCfg','cron.json\x20解析失败:\x20',']\x20缺少\x20id','isArray','\x20个定时任务\x20(','claudeSettings','\x20通过,\x20','客户端目录存在:\x20','客户端目录不可写:\x20','429284dmribQ','conversations\x20应为数组','5337952dkHjKD','existsSync','settingLabel','apiKeyCfg.claudeSettings\x20共\x20','cron.json[','9602406aTcEcO','71492SbQljg','./api-key-manager','claude\x20命令可用',']\x20conversationId\x20\x22','\x20为空数组','message','isValid','settings-tpl.json\x20不存在,创建\x20settings-ding.json\x20时将使用空模板','level','apiKey','无运行中的进程','settings-tpl.json\x20缺少\x20env\x20字段','which\x20claude','test','child_process','startsWith','./session','conversations[','\x20\x20合计:\x20','\x20\x20❌\x20存在致命问题,请修复后重新运行','\x20缺少\x20baseUrl','客户端目录不存在:\x20','\x20conversationId\x20重复:\x20','claude\x20命令不可用,请确认\x20Claude\x20Code\x20CLI\x20已安装','owner:\x20','parse','execSync','length','\x22\x20未在\x20conversations\x20中找到','env','apiKeyCfg.claudeSettings[','add','whiteUserList','settings-tpl.json\x20有效,env\x20包含:\x20','conversations\x20共\x20','owner','settings-tpl.json','default','.anycli','push','readFileSync','Node\x20版本:','锁文件存在但进程\x20','join','Node\x20版本过低:','log','cronExpression','utf-8','PASS','enabled','settings-tpl.json\x20解析失败:\x20','filter','kill','pipe','apiKeyCfg.claudeSettings\x20不是数组'];a6_0x423e=function(){return _0x267e31;};return a6_0x423e();}function a6_0x5d3f(_0x2fb5b5,_0x51a081){_0x2fb5b5=_0x2fb5b5-0xdb;const _0x423e15=a6_0x423e();let _0x5d3fd7=_0x423e15[_0x2fb5b5];return _0x5d3fd7;}const session_1=require(a6_0x3694a0(0x139)),api_key_manager_1=require(a6_0x3694a0(0x12a)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a6_0x3694a0(0xeb))),child_process_1=require(a6_0x3694a0(0x137));function printDoctorResults(_0x4ba045){const _0x518d4d=a6_0x3694a0;console['log'](''),console[_0x518d4d(0x156)]('==========\x20cc-ding\x20doctor\x20==========');const _0x3b09f6=_0x4ba045[_0x518d4d(0xec)](_0x172694=>_0x172694[_0x518d4d(0x131)]===_0x518d4d(0xf9));for(const _0x1a5dba of _0x4ba045){const _0x402bbe=_0x1a5dba[_0x518d4d(0x131)]===_0x518d4d(0x159)?'✓':_0x1a5dba[_0x518d4d(0x131)]===_0x518d4d(0xf9)?'✗':'⚠',_0x53eb7f=_0x1a5dba[_0x518d4d(0x131)]===_0x518d4d(0x159)?'':'['+_0x1a5dba[_0x518d4d(0x131)]+']\x20';console['log']('\x20\x20'+_0x402bbe+'\x20'+_0x53eb7f+_0x1a5dba[_0x518d4d(0x12e)]);}const _0x3b7c36=_0x4ba045[_0x518d4d(0x15c)](_0x523dbe=>_0x523dbe[_0x518d4d(0x131)]===_0x518d4d(0x159))[_0x518d4d(0x144)],_0x1e41e7=_0x4ba045[_0x518d4d(0x15c)](_0x3fe5f3=>_0x3fe5f3['level']==='WARN')['length'],_0x35f884=_0x4ba045[_0x518d4d(0x15c)](_0x48dcc6=>_0x48dcc6['level']==='FATAL')[_0x518d4d(0x144)];console[_0x518d4d(0x156)](_0x518d4d(0xe3)),console['log'](_0x518d4d(0x13b)+_0x3b7c36+_0x518d4d(0x11e)+_0x1e41e7+_0x518d4d(0xea)+_0x35f884+_0x518d4d(0xe9));_0x3b09f6?console[_0x518d4d(0x156)](_0x518d4d(0x13c)):console[_0x518d4d(0x156)](_0x518d4d(0xf6));console[_0x518d4d(0x156)](_0x518d4d(0x105));if(_0x3b09f6)process['exit'](0x1);}function runDoctor(_0x8b9be7){const _0x56e274=a6_0x3694a0,_0x4730dc=[],_0x30e1d9=process['version'][_0x56e274(0x111)](0x1),_0x18c66b=parseInt(_0x30e1d9[_0x56e274(0x103)]('.')[0x0],0xa);_0x18c66b<0x18?_0x4730dc['push'](check(_0x56e274(0xf9),_0x56e274(0x155)+_0x30e1d9+',要求\x20Node\x20>=\x2024')):_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x152)+_0x30e1d9));if(!fs_1[_0x56e274(0x14e)][_0x56e274(0x124)](_0x8b9be7))return _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x56e274(0x13e)+_0x8b9be7)),_0x4730dc;_0x4730dc['push'](check(_0x56e274(0x159),_0x56e274(0x11f)+_0x8b9be7));const _0x42478e=path_1[_0x56e274(0x14e)][_0x56e274(0x154)](_0x8b9be7,_0x56e274(0x10e));if(fs_1[_0x56e274(0x14e)]['existsSync'](_0x42478e))try{const _0x80d124=parseInt(fs_1[_0x56e274(0x14e)]['readFileSync'](_0x42478e,_0x56e274(0x158))['trim'](),0xa);if(!isNaN(_0x80d124))try{process[_0x56e274(0x15d)](_0x80d124,0x0),_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0xfc)+_0x80d124+')'));}catch{_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x153)+_0x80d124+_0x56e274(0x10a)));}}catch{_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0xff)+_0x42478e));}else _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x133)));const _0xb9f7f2=path_1[_0x56e274(0x14e)]['join'](_0x8b9be7,_0x56e274(0x161));if(!fs_1[_0x56e274(0x14e)][_0x56e274(0x124)](_0xb9f7f2))return _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),'config.json\x20不存在')),_0x4730dc;let _0x4fd942;try{_0x4fd942=JSON[_0x56e274(0x142)](fs_1[_0x56e274(0x14e)][_0x56e274(0x151)](_0xb9f7f2,_0x56e274(0x158)));}catch(_0x56d968){return _0x4730dc['push'](check(_0x56e274(0xf9),_0x56e274(0xe8)+(_0x56d968 instanceof Error?_0x56d968[_0x56e274(0x12e)]:_0x56d968))),_0x4730dc;}_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),'config.json\x20解析成功'));const _0x2f65bb=[{'key':_0x56e274(0x10d),'label':'clientSecret'},{'key':_0x56e274(0x114),'label':'dingSecret'},{'key':_0x56e274(0x107),'label':'defaultDingToken'},{'key':'whiteUserList','label':_0x56e274(0x149),'isArr':!![]},{'key':_0x56e274(0xf8),'label':_0x56e274(0xf8),'isArr':!![]}];for(const {key:_0x35df76,label:_0x2889f4,isArr:_0x540b67}of _0x2f65bb){const _0x43d3ed=_0x4fd942[_0x35df76];if(_0x43d3ed===undefined||_0x43d3ed===null||_0x43d3ed==='')_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x56e274(0xdd)+_0x2889f4));else{if(_0x540b67&&!Array[_0x56e274(0x11b)](_0x43d3ed))_0x4730dc[_0x56e274(0x150)](check('FATAL',_0x2889f4+'\x20应为数组'));else{if(_0x35df76!==_0x56e274(0xf8)&&_0x540b67&&_0x43d3ed[_0x56e274(0x144)]===0x0)_0x4730dc['push'](check(_0x56e274(0xe2),_0x2889f4+_0x56e274(0x12d)));else!_0x540b67&&typeof _0x43d3ed===_0x56e274(0xe0)&&_0x43d3ed[_0x56e274(0x138)]('<')?_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x2889f4+_0x56e274(0xe6)+_0x43d3ed)):_0x4730dc['push'](check(_0x56e274(0x159),_0x2889f4+'\x20✓'));}}}_0x4fd942[_0x56e274(0x14c)]?_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x141)+_0x4fd942[_0x56e274(0x14c)])):_0x4730dc[_0x56e274(0x150)](check('FATAL',_0x56e274(0xf0)));const _0x136dd0=['clientSecret','dingSecret','defaultDingToken'];for(const _0x48c667 of _0x136dd0){const _0x332fe1=_0x4fd942[_0x48c667];typeof _0x332fe1===_0x56e274(0xe0)&&/^<.*>$/['test'](_0x332fe1[_0x56e274(0x102)]())&&_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x48c667+_0x56e274(0xe6)+_0x332fe1));}const _0x42332b=new Set();if(!Array[_0x56e274(0x11b)](_0x4fd942[_0x56e274(0xf8)]))_0x4730dc['push'](check(_0x56e274(0xf9),_0x56e274(0x122)));else{if(_0x4fd942[_0x56e274(0xf8)]['length']===0x0)_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),'conversations\x20为空数组,至少配置一个群'));else{for(let _0x2e997a=0x0;_0x2e997a<_0x4fd942[_0x56e274(0xf8)]['length'];_0x2e997a++){const _0x128af2=_0x4fd942['conversations'][_0x2e997a],_0x236042=_0x56e274(0x13a)+_0x2e997a+']';if(!_0x128af2[_0x56e274(0xfe)])_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x236042+_0x56e274(0xee)));else{if(typeof _0x128af2[_0x56e274(0xfe)]===_0x56e274(0xe0)&&/^<.*>$/[_0x56e274(0x136)](_0x128af2[_0x56e274(0xfe)][_0x56e274(0x102)]()))_0x4730dc['push'](check(_0x56e274(0xf9),_0x236042+_0x56e274(0xfa)+_0x128af2[_0x56e274(0xfe)]));else _0x42332b[_0x56e274(0xf3)](_0x128af2[_0x56e274(0xfe)])?_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x236042+_0x56e274(0x13f)+_0x128af2[_0x56e274(0xfe)])):_0x42332b['add'](_0x128af2['conversationId']);}_0x128af2[_0x56e274(0x10c)]&&!_0x4fd942[_0x56e274(0xf8)][_0x56e274(0xec)](_0x5f0464=>_0x5f0464[_0x56e274(0xfe)]===_0x128af2['linkConversationId'])&&_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x236042+'\x20linkConversationId\x20\x22'+_0x128af2[_0x56e274(0x10c)]+_0x56e274(0x145))),_0x128af2['dingToken']&&typeof _0x128af2['dingToken']===_0x56e274(0xe0)&&/^<.*>$/['test'](_0x128af2[_0x56e274(0x115)][_0x56e274(0x102)]())&&_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x236042+'\x20dingToken\x20仍为占位符'));}_0x4730dc['push'](check(_0x56e274(0x159),_0x56e274(0x14b)+_0x4fd942['conversations']['length']+'\x20个群配置'));}}if(_0x4fd942[_0x56e274(0x118)]){const _0x9c6eab=_0x4fd942[_0x56e274(0x118)];_0x9c6eab[_0x56e274(0x104)]&&_0x4730dc['push'](check(_0x56e274(0x159),'apiKeyCfg.resetTime:\x20'+_0x9c6eab[_0x56e274(0x104)]));if(!Array['isArray'](_0x9c6eab['claudeSettings']))_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x15f)));else{if(_0x9c6eab[_0x56e274(0x11d)][_0x56e274(0x144)]===0x0)_0x4730dc['push'](check(_0x56e274(0xe2),_0x56e274(0xfb)));else{const _0x2593ff=new Set();for(let _0x495537=0x0;_0x495537<_0x9c6eab[_0x56e274(0x11d)]['length'];_0x495537++){const _0x47e552=_0x9c6eab[_0x56e274(0x11d)][_0x495537],_0x474f6e=_0x56e274(0x147)+_0x495537+']';if(!_0x47e552[_0x56e274(0x132)])_0x4730dc['push'](check(_0x56e274(0xf9),_0x474f6e+_0x56e274(0x10b)));else _0x2593ff[_0x56e274(0xf3)](_0x47e552[_0x56e274(0x132)])?_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x474f6e+_0x56e274(0xf7)+(0x0,api_key_manager_1[_0x56e274(0x125)])(_0x47e552))):_0x2593ff[_0x56e274(0x148)](_0x47e552[_0x56e274(0x132)]);if(!_0x47e552[_0x56e274(0xf2)])_0x4730dc['push'](check('WARN',_0x474f6e+_0x56e274(0x13d)));if(!_0x47e552[_0x56e274(0xf4)])_0x4730dc['push'](check(_0x56e274(0xe2),_0x474f6e+_0x56e274(0x110)));if(typeof _0x47e552[_0x56e274(0x12f)]!=='boolean')_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x474f6e+'\x20isValid\x20类型异常:\x20'+typeof _0x47e552['isValid']));}const _0xd50079=_0x9c6eab[_0x56e274(0x11d)][_0x56e274(0x15c)](_0x111819=>_0x111819[_0x56e274(0x12f)])[_0x56e274(0x144)];_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x126)+_0x9c6eab[_0x56e274(0x11d)][_0x56e274(0x144)]+_0x56e274(0x108)+_0xd50079));}}}else _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x106)));const _0x3708b4=path_1['default'][_0x56e274(0x154)](_0x8b9be7,_0x56e274(0x100));if(fs_1['default']['existsSync'](_0x3708b4))try{const _0x5899b2=JSON['parse'](fs_1[_0x56e274(0x14e)][_0x56e274(0x151)](_0x3708b4,_0x56e274(0x158))),_0x5dc8e3=Array[_0x56e274(0x11b)](_0x5899b2)?_0x5899b2:_0x5899b2['jobs'];if(Array[_0x56e274(0x11b)](_0x5dc8e3)){const _0x55e602=_0x5dc8e3['filter'](_0x29d444=>_0x29d444[_0x56e274(0x15a)]!==![])[_0x56e274(0x144)];_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x10f)+_0x5dc8e3[_0x56e274(0x144)]+_0x56e274(0x11c)+_0x55e602+_0x56e274(0xe1)));for(let _0x4d9675=0x0;_0x4d9675<_0x5dc8e3[_0x56e274(0x144)];_0x4d9675++){const _0x15636f=_0x5dc8e3[_0x4d9675];if(!_0x15636f['id'])_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x127)+_0x4d9675+_0x56e274(0x11a)));if(!_0x15636f[_0x56e274(0x157)])_0x4730dc[_0x56e274(0x150)](check('WARN',_0x56e274(0x127)+_0x4d9675+_0x56e274(0xde)));if(!_0x15636f['prompt'])_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x127)+_0x4d9675+']\x20缺少\x20prompt'));if(!_0x15636f[_0x56e274(0xfe)])_0x4730dc[_0x56e274(0x150)](check('WARN',_0x56e274(0x127)+_0x4d9675+_0x56e274(0xfd)));else!_0x42332b[_0x56e274(0xf3)](_0x15636f[_0x56e274(0xfe)])&&_0x4730dc['push'](check('WARN',_0x56e274(0x127)+_0x4d9675+_0x56e274(0x12c)+_0x15636f[_0x56e274(0xfe)]+_0x56e274(0xf5)));}}else _0x4730dc[_0x56e274(0x150)](check('WARN',_0x56e274(0xe4)));}catch(_0xab25b3){_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x119)+(_0xab25b3 instanceof Error?_0xab25b3[_0x56e274(0x12e)]:_0xab25b3)));}else _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),'cron.json\x20不存在\x20(无定时任务)'));const _0x3ce4c5=path_1[_0x56e274(0x14e)][_0x56e274(0x154)]((0x0,session_1[_0x56e274(0x109)])(),_0x56e274(0x14f),_0x56e274(0x113),_0x56e274(0x14d));if(fs_1[_0x56e274(0x14e)]['existsSync'](_0x3ce4c5))try{const _0x527a2e=JSON[_0x56e274(0x142)](fs_1[_0x56e274(0x14e)][_0x56e274(0x151)](_0x3ce4c5,'utf-8'));if(typeof _0x527a2e!=='object'||_0x527a2e===null)_0x4730dc['push'](check(_0x56e274(0xe2),_0x56e274(0xed)));else{if(!_0x527a2e[_0x56e274(0x146)]||typeof _0x527a2e[_0x56e274(0x146)]!==_0x56e274(0x160))_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x134)));else{const _0x5f191d=Object['keys'](_0x527a2e[_0x56e274(0x146)]);_0x4730dc['push'](check(_0x56e274(0x159),_0x56e274(0x14a)+(_0x5f191d[_0x56e274(0x154)](',\x20')||_0x56e274(0xdc))));}}}catch(_0x1e263f){_0x4730dc['push'](check(_0x56e274(0xe2),_0x56e274(0x15b)+(_0x1e263f instanceof Error?_0x1e263f[_0x56e274(0x12e)]:_0x1e263f)));}else _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x130)));try{(0x0,child_process_1[_0x56e274(0x143)])(_0x56e274(0x135),{'stdio':_0x56e274(0x15e)}),_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x12b)));}catch{_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x56e274(0x140)));}try{const _0x49910f=path_1[_0x56e274(0x14e)][_0x56e274(0x154)](_0x8b9be7,_0x56e274(0xe7));fs_1[_0x56e274(0x14e)]['writeFileSync'](_0x49910f,'ok',_0x56e274(0x158)),fs_1['default']['unlinkSync'](_0x49910f),_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),'客户端目录可写'));}catch(_0x2e0199){_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x56e274(0x120)+(_0x2e0199 instanceof Error?_0x2e0199[_0x56e274(0x12e)]:_0x2e0199)));}return _0x4730dc;}function check(_0x10187f,_0x1babab){return{'level':_0x10187f,'message':_0x1babab};}
1
+ 'use strict';function a6_0x2da8(_0xe00728,_0x1f1533){_0xe00728=_0xe00728-0xde;const _0x4cdfdf=a6_0x4cdf();let _0x2da8f0=_0x4cdfdf[_0xe00728];return _0x2da8f0;}const a6_0x5c0e0b=a6_0x2da8;(function(_0x51605e,_0x3d4932){const _0x3f7901=a6_0x2da8,_0x36f494=_0x51605e();while(!![]){try{const _0x5a869a=-parseInt(_0x3f7901(0x10b))/0x1*(-parseInt(_0x3f7901(0xf0))/0x2)+parseInt(_0x3f7901(0x103))/0x3+-parseInt(_0x3f7901(0x151))/0x4+parseInt(_0x3f7901(0x11e))/0x5*(-parseInt(_0x3f7901(0x120))/0x6)+parseInt(_0x3f7901(0x12b))/0x7+parseInt(_0x3f7901(0x102))/0x8*(-parseInt(_0x3f7901(0x161))/0x9)+-parseInt(_0x3f7901(0x144))/0xa;if(_0x5a869a===_0x3d4932)break;else _0x36f494['push'](_0x36f494['shift']());}catch(_0x4c2d9b){_0x36f494['push'](_0x36f494['shift']());}}}(a6_0x4cdf,0x53602));var __importDefault=this&&this[a6_0x5c0e0b(0x127)]||function(_0x54c389){const _0x381bfd=a6_0x5c0e0b;return _0x54c389&&_0x54c389[_0x381bfd(0x111)]?_0x54c389:{'default':_0x54c389};};Object[a6_0x5c0e0b(0xee)](exports,a6_0x5c0e0b(0x111),{'value':!![]}),exports[a6_0x5c0e0b(0x138)]=printDoctorResults,exports[a6_0x5c0e0b(0xef)]=runDoctor;const session_1=require(a6_0x5c0e0b(0x145)),api_key_manager_1=require(a6_0x5c0e0b(0xf1)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require('path')),child_process_1=require(a6_0x5c0e0b(0x130));function a6_0x4cdf(){const _0xa68620=['runDoctor','1720EdQQoi','./api-key-manager','\x20应为数组','\x20通过,\x20','getHomeDir','cron.json\x20不存在\x20(无定时任务)','cron.json\x20格式异常,无法解析为任务数组','trim','env','\x20缺少\x20conversationId','PASS','some','Node\x20版本:','==========\x20cc-ding\x20doctor\x20==========','\x20dingToken\x20仍为占位符','isValid','slice','settings-tpl.json\x20有效,env\x20包含:\x20','8ajHGle','1249128lLlKty','客户端目录不存在:\x20','.doctor-check','model','owner','utf-8',']\x20缺少\x20conversationId','.pid.lock','705JQejan',']\x20conversationId\x20\x22','conversations\x20为空数组,可通过\x20/reg\x20命令动态注册','\x20conversationId\x20重复:\x20','\x20apiKey\x20重复:\x20','readFileSync','__esModule','object','apiKeyCfg.claudeSettings\x20共\x20','writeFileSync','add','\x22\x20未在\x20conversations\x20中找到','join','push','apiKeyCfg','conversationId','jobs','conversations\x20应为数组','dingToken','150lCcEoP','缺少必填字段:\x20','27870PhcZCs','split','客户端目录可写','log','锁文件存在但进程\x20','FATAL','string','__importDefault','filter','\x20conversationId\x20仍为占位符:\x20','\x20仍为占位符:\x20','1985851ntFHov','config.json\x20解析成功','baseUrl','length','\x20启用)','child_process','settings-tpl.json\x20根元素不是对象',']\x20缺少\x20prompt','conversations','客户端目录存在:\x20','cronExpression','claudeSettings','boolean','printDoctorResults','resetTime',']\x20缺少\x20id','无运行中的进程','whiteUserList','\x20为空数组','enabled','config.json','test','客户端目录不可写:\x20','default','conversations\x20共\x20','1738430jcNoAh','./session','------------------------------------','claude\x20命令可用','WARN','.cc-ding','exit','PID\x20锁文件读取异常:\x20','claude\x20命令不可用,请确认\x20Claude\x20Code\x20CLI\x20已安装','existsSync','\x20缺少\x20apiKey','settings-tpl.json','conversations[','2495492SgnhdX','\x20已退出(过期锁文件)','isArray','进程运行中\x20(PID:\x20','\x20致命','pipe','has','level','execSync','\x20缺少\x20model','clientSecret','settingLabel','apiKey','cron.json[','linkConversationId','which\x20claude','250173KPkpvk','owner\x20未配置,管理命令(/clean,\x20/open,\x20/reset-apikeycfg,\x20/reg,\x20/auth)不可用','\x20个群配置',',要求\x20Node\x20>=\x2024','cron.json','apiKeyCfg\x20未配置,无法使用\x20API\x20Key\x20池化轮换','message','settings-tpl.json\x20解析失败:\x20','cron.json\x20解析失败:\x20','\x20\x20✅\x20所有检查通过','\x20缺少\x20baseUrl','settings-tpl.json\x20缺少\x20env\x20字段','startsWith','(空)','defaultDingToken','version','keys','Node\x20版本过低:','defineProperty'];a6_0x4cdf=function(){return _0xa68620;};return a6_0x4cdf();}function printDoctorResults(_0x4321eb){const _0x3c1283=a6_0x5c0e0b;console[_0x3c1283(0x123)](''),console['log'](_0x3c1283(0xfd));const _0x3517a4=_0x4321eb[_0x3c1283(0xfb)](_0x20183c=>_0x20183c['level']===_0x3c1283(0x125));for(const _0x1f7131 of _0x4321eb){const _0x5ba1bb=_0x1f7131[_0x3c1283(0x158)]===_0x3c1283(0xfa)?'✓':_0x1f7131['level']===_0x3c1283(0x125)?'✗':'⚠',_0x465432=_0x1f7131[_0x3c1283(0x158)]==='PASS'?'':'['+_0x1f7131[_0x3c1283(0x158)]+']\x20';console[_0x3c1283(0x123)]('\x20\x20'+_0x5ba1bb+'\x20'+_0x465432+_0x1f7131[_0x3c1283(0xe2)]);}const _0x210eeb=_0x4321eb[_0x3c1283(0x128)](_0x320af5=>_0x320af5[_0x3c1283(0x158)]==='PASS')[_0x3c1283(0x12e)],_0x441356=_0x4321eb[_0x3c1283(0x128)](_0x36d8f0=>_0x36d8f0[_0x3c1283(0x158)]==='WARN')[_0x3c1283(0x12e)],_0x41e78a=_0x4321eb[_0x3c1283(0x128)](_0x4b1b92=>_0x4b1b92['level']==='FATAL')['length'];console[_0x3c1283(0x123)](_0x3c1283(0x146)),console[_0x3c1283(0x123)]('\x20\x20合计:\x20'+_0x210eeb+_0x3c1283(0xf3)+_0x441356+'\x20警告,\x20'+_0x41e78a+_0x3c1283(0x155));_0x3517a4?console[_0x3c1283(0x123)]('\x20\x20❌\x20存在致命问题,请修复后重新运行'):console[_0x3c1283(0x123)](_0x3c1283(0xe5));console[_0x3c1283(0x123)]('====================================\x0a');if(_0x3517a4)process[_0x3c1283(0x14a)](0x1);}function runDoctor(_0x5ef620){const _0x20fba2=a6_0x5c0e0b,_0x846b9a=[],_0x72bbd8=process[_0x20fba2(0xeb)][_0x20fba2(0x100)](0x1),_0x2276a0=parseInt(_0x72bbd8[_0x20fba2(0x121)]('.')[0x0],0xa);_0x2276a0<0x18?_0x846b9a['push'](check(_0x20fba2(0x125),_0x20fba2(0xed)+_0x72bbd8+_0x20fba2(0xdf))):_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0xfa),_0x20fba2(0xfc)+_0x72bbd8));if(!fs_1[_0x20fba2(0x142)][_0x20fba2(0x14d)](_0x5ef620))return _0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x125),_0x20fba2(0x104)+_0x5ef620)),_0x846b9a;_0x846b9a['push'](check(_0x20fba2(0xfa),_0x20fba2(0x134)+_0x5ef620));const _0x1eb563=path_1[_0x20fba2(0x142)][_0x20fba2(0x117)](_0x5ef620,_0x20fba2(0x10a));if(fs_1[_0x20fba2(0x142)][_0x20fba2(0x14d)](_0x1eb563))try{const _0x3b6658=parseInt(fs_1[_0x20fba2(0x142)][_0x20fba2(0x110)](_0x1eb563,_0x20fba2(0x108))['trim'](),0xa);if(!isNaN(_0x3b6658))try{process['kill'](_0x3b6658,0x0),_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0xfa),_0x20fba2(0x154)+_0x3b6658+')'));}catch{_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x20fba2(0x124)+_0x3b6658+_0x20fba2(0x152)));}}catch{_0x846b9a[_0x20fba2(0x118)](check('WARN',_0x20fba2(0x14b)+_0x1eb563));}else _0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0xfa),_0x20fba2(0x13b)));const _0x24ad68=path_1['default']['join'](_0x5ef620,_0x20fba2(0x13f));if(!fs_1[_0x20fba2(0x142)][_0x20fba2(0x14d)](_0x24ad68))return _0x846b9a[_0x20fba2(0x118)](check('FATAL','config.json\x20不存在')),_0x846b9a;let _0x22875e;try{_0x22875e=JSON['parse'](fs_1['default'][_0x20fba2(0x110)](_0x24ad68,'utf-8'));}catch(_0x4015a9){return _0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x125),'config.json\x20解析失败:\x20'+(_0x4015a9 instanceof Error?_0x4015a9['message']:_0x4015a9))),_0x846b9a;}_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0xfa),_0x20fba2(0x12c)));const _0x37075=[{'key':_0x20fba2(0x15b),'label':_0x20fba2(0x15b)},{'key':'defaultDingToken','label':_0x20fba2(0xea)},{'key':_0x20fba2(0x13c),'label':_0x20fba2(0x13c),'isArr':!![]},{'key':'owner','label':'owner'}];for(const {key:_0x33cc9e,label:_0x1a3807,isArr:_0x3d1134}of _0x37075){const _0x105459=_0x22875e[_0x33cc9e];if(_0x105459===undefined||_0x105459===null||_0x105459==='')_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x125),_0x20fba2(0x11f)+_0x1a3807));else{if(_0x3d1134&&!Array[_0x20fba2(0x153)](_0x105459))_0x846b9a['push'](check(_0x20fba2(0x125),_0x1a3807+_0x20fba2(0xf2)));else{if(_0x33cc9e!==_0x20fba2(0x133)&&_0x3d1134&&_0x105459[_0x20fba2(0x12e)]===0x0)_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x1a3807+_0x20fba2(0x13d)));else!_0x3d1134&&typeof _0x105459===_0x20fba2(0x126)&&_0x105459[_0x20fba2(0xe8)]('<')?_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x125),_0x1a3807+_0x20fba2(0x12a)+_0x105459)):_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0xfa),_0x1a3807+'\x20✓'));}}}_0x22875e[_0x20fba2(0x107)]?_0x846b9a['push'](check(_0x20fba2(0xfa),'owner:\x20'+_0x22875e[_0x20fba2(0x107)])):_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x125),_0x20fba2(0x162)));const _0x4000a1=[_0x20fba2(0x15b),'defaultDingToken'];for(const _0x27a3a0 of _0x4000a1){const _0x512923=_0x22875e[_0x27a3a0];typeof _0x512923===_0x20fba2(0x126)&&/^<.*>$/[_0x20fba2(0x140)](_0x512923[_0x20fba2(0xf7)]())&&_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x125),_0x27a3a0+_0x20fba2(0x12a)+_0x512923));}const _0x1b9cd8=new Set();if(!Array['isArray'](_0x22875e[_0x20fba2(0x133)]))_0x846b9a['push'](check(_0x20fba2(0x125),_0x20fba2(0x11c)));else{if(_0x22875e[_0x20fba2(0x133)]['length']===0x0)_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0xfa),_0x20fba2(0x10d)));else{for(let _0x332ff9=0x0;_0x332ff9<_0x22875e[_0x20fba2(0x133)]['length'];_0x332ff9++){const _0x30f1e8=_0x22875e['conversations'][_0x332ff9],_0x26166b=_0x20fba2(0x150)+_0x332ff9+']';if(!_0x30f1e8[_0x20fba2(0x11a)])_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x125),_0x26166b+_0x20fba2(0xf9)));else{if(typeof _0x30f1e8[_0x20fba2(0x11a)]==='string'&&/^<.*>$/[_0x20fba2(0x140)](_0x30f1e8['conversationId'][_0x20fba2(0xf7)]()))_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x125),_0x26166b+_0x20fba2(0x129)+_0x30f1e8[_0x20fba2(0x11a)]));else _0x1b9cd8['has'](_0x30f1e8[_0x20fba2(0x11a)])?_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x26166b+_0x20fba2(0x10e)+_0x30f1e8[_0x20fba2(0x11a)])):_0x1b9cd8[_0x20fba2(0x115)](_0x30f1e8['conversationId']);}_0x30f1e8[_0x20fba2(0x15f)]&&!_0x22875e[_0x20fba2(0x133)][_0x20fba2(0xfb)](_0x430162=>_0x430162[_0x20fba2(0x11a)]===_0x30f1e8[_0x20fba2(0x15f)])&&_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x26166b+'\x20linkConversationId\x20\x22'+_0x30f1e8[_0x20fba2(0x15f)]+_0x20fba2(0x116))),_0x30f1e8[_0x20fba2(0x11d)]&&typeof _0x30f1e8[_0x20fba2(0x11d)]===_0x20fba2(0x126)&&/^<.*>$/[_0x20fba2(0x140)](_0x30f1e8[_0x20fba2(0x11d)]['trim']())&&_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x26166b+_0x20fba2(0xfe)));}_0x846b9a[_0x20fba2(0x118)](check('PASS',_0x20fba2(0x143)+_0x22875e[_0x20fba2(0x133)]['length']+_0x20fba2(0xde)));}}if(_0x22875e[_0x20fba2(0x119)]){const _0x128176=_0x22875e[_0x20fba2(0x119)];_0x128176[_0x20fba2(0x139)]&&_0x846b9a[_0x20fba2(0x118)](check('PASS','apiKeyCfg.resetTime:\x20'+_0x128176[_0x20fba2(0x139)]));if(!Array[_0x20fba2(0x153)](_0x128176[_0x20fba2(0x136)]))_0x846b9a['push'](check('WARN','apiKeyCfg.claudeSettings\x20不是数组'));else{if(_0x128176[_0x20fba2(0x136)][_0x20fba2(0x12e)]===0x0)_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),'apiKeyCfg.claudeSettings\x20为空,无备用\x20Key'));else{const _0x30e8ac=new Set();for(let _0x34195f=0x0;_0x34195f<_0x128176[_0x20fba2(0x136)]['length'];_0x34195f++){const _0x154d11=_0x128176[_0x20fba2(0x136)][_0x34195f],_0x53f535='apiKeyCfg.claudeSettings['+_0x34195f+']';if(!_0x154d11[_0x20fba2(0x15d)])_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x125),_0x53f535+_0x20fba2(0x14e)));else _0x30e8ac['has'](_0x154d11[_0x20fba2(0x15d)])?_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x53f535+_0x20fba2(0x10f)+(0x0,api_key_manager_1[_0x20fba2(0x15c)])(_0x154d11))):_0x30e8ac[_0x20fba2(0x115)](_0x154d11[_0x20fba2(0x15d)]);if(!_0x154d11[_0x20fba2(0x12d)])_0x846b9a[_0x20fba2(0x118)](check('WARN',_0x53f535+_0x20fba2(0xe6)));if(!_0x154d11[_0x20fba2(0x106)])_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x53f535+_0x20fba2(0x15a)));if(typeof _0x154d11[_0x20fba2(0xff)]!==_0x20fba2(0x137))_0x846b9a[_0x20fba2(0x118)](check('WARN',_0x53f535+'\x20isValid\x20类型异常:\x20'+typeof _0x154d11['isValid']));}const _0x66d4b0=_0x128176[_0x20fba2(0x136)][_0x20fba2(0x128)](_0x4508a0=>_0x4508a0[_0x20fba2(0xff)])[_0x20fba2(0x12e)];_0x846b9a['push'](check(_0x20fba2(0xfa),_0x20fba2(0x113)+_0x128176[_0x20fba2(0x136)][_0x20fba2(0x12e)]+'\x20项,有效\x20'+_0x66d4b0));}}}else _0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x20fba2(0xe1)));const _0x1f076e=path_1[_0x20fba2(0x142)][_0x20fba2(0x117)](_0x5ef620,_0x20fba2(0xe0));if(fs_1['default'][_0x20fba2(0x14d)](_0x1f076e))try{const _0x12455d=JSON['parse'](fs_1['default'][_0x20fba2(0x110)](_0x1f076e,_0x20fba2(0x108))),_0x160bad=Array[_0x20fba2(0x153)](_0x12455d)?_0x12455d:_0x12455d[_0x20fba2(0x11b)];if(Array[_0x20fba2(0x153)](_0x160bad)){const _0x330eb6=_0x160bad[_0x20fba2(0x128)](_0xcb7362=>_0xcb7362[_0x20fba2(0x13e)]!==![])[_0x20fba2(0x12e)];_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0xfa),'cron.json\x20共\x20'+_0x160bad[_0x20fba2(0x12e)]+'\x20个定时任务\x20('+_0x330eb6+_0x20fba2(0x12f)));for(let _0x168ebe=0x0;_0x168ebe<_0x160bad['length'];_0x168ebe++){const _0x201ee6=_0x160bad[_0x168ebe];if(!_0x201ee6['id'])_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x20fba2(0x15e)+_0x168ebe+_0x20fba2(0x13a)));if(!_0x201ee6[_0x20fba2(0x135)])_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x20fba2(0x15e)+_0x168ebe+']\x20缺少\x20cronExpression'));if(!_0x201ee6['prompt'])_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x20fba2(0x15e)+_0x168ebe+_0x20fba2(0x132)));if(!_0x201ee6[_0x20fba2(0x11a)])_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x20fba2(0x15e)+_0x168ebe+_0x20fba2(0x109)));else!_0x1b9cd8[_0x20fba2(0x157)](_0x201ee6[_0x20fba2(0x11a)])&&_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),'cron.json['+_0x168ebe+_0x20fba2(0x10c)+_0x201ee6[_0x20fba2(0x11a)]+'\x22\x20未在\x20config.json\x20conversations\x20中找到'));}}else _0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x20fba2(0xf6)));}catch(_0x5924e5){_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x20fba2(0xe4)+(_0x5924e5 instanceof Error?_0x5924e5[_0x20fba2(0xe2)]:_0x5924e5)));}else _0x846b9a['push'](check(_0x20fba2(0xfa),_0x20fba2(0xf5)));const _0x2d3de6=path_1[_0x20fba2(0x142)][_0x20fba2(0x117)]((0x0,session_1[_0x20fba2(0xf4)])(),_0x20fba2(0x149),_0x20fba2(0x14f));if(fs_1[_0x20fba2(0x142)][_0x20fba2(0x14d)](_0x2d3de6))try{const _0x298b65=JSON['parse'](fs_1[_0x20fba2(0x142)]['readFileSync'](_0x2d3de6,_0x20fba2(0x108)));if(typeof _0x298b65!=='object'||_0x298b65===null)_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x20fba2(0x131)));else{if(!_0x298b65['env']||typeof _0x298b65[_0x20fba2(0xf8)]!==_0x20fba2(0x112))_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x20fba2(0xe7)));else{const _0x3ac84a=Object[_0x20fba2(0xec)](_0x298b65['env']);_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0xfa),_0x20fba2(0x101)+(_0x3ac84a[_0x20fba2(0x117)](',\x20')||_0x20fba2(0xe9))));}}}catch(_0x49150b){_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x148),_0x20fba2(0xe3)+(_0x49150b instanceof Error?_0x49150b['message']:_0x49150b)));}else _0x846b9a['push'](check(_0x20fba2(0x148),'settings-tpl.json\x20不存在,创建\x20settings-ding.json\x20时将使用空模板'));try{(0x0,child_process_1[_0x20fba2(0x159)])(_0x20fba2(0x160),{'stdio':_0x20fba2(0x156)}),_0x846b9a[_0x20fba2(0x118)](check('PASS',_0x20fba2(0x147)));}catch{_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x125),_0x20fba2(0x14c)));}try{const _0x1a583b=path_1[_0x20fba2(0x142)]['join'](_0x5ef620,_0x20fba2(0x105));fs_1['default'][_0x20fba2(0x114)](_0x1a583b,'ok','utf-8'),fs_1['default']['unlinkSync'](_0x1a583b),_0x846b9a[_0x20fba2(0x118)](check('PASS',_0x20fba2(0x122)));}catch(_0xaf027c){_0x846b9a[_0x20fba2(0x118)](check(_0x20fba2(0x125),_0x20fba2(0x141)+(_0xaf027c instanceof Error?_0xaf027c[_0x20fba2(0xe2)]:_0xaf027c)));}return _0x846b9a;}function check(_0x9431b,_0x45fbec){return{'level':_0x9431b,'message':_0x45fbec};}
@@ -1 +1 @@
1
- 'use strict';function a7_0x3943(){const _0x296096=['getResourcePath','arch','length','then','userId','buffer','./session',']\x20downloadImageBuffer\x20下载失败:','warn',']\x20图片保存失败:\x20','image/gif','default','set','image/png',']\x20图片已保存:\x20',']\x20OCR\x20无识别结果','child_process','get','trim','https://api.dingtalk.com','processPictureMessage','execFile','pictureDownloadCode','824192hpThYR',']\x20downloadImageBuffer\x20下载结果为空','runOcr','__importDefault','push','[图片\x20OCR]','status','\x20OCR]',']\x20OCR\x20执行失败:\x20','gif','\x20超过限制\x20','mention','\x20bytes)','/v1.0/robot/messageFiles/download','webp','application/json',']\x20getImageDownloadUrl\x20请求失败:','.images','[富文本消息内容为空]','[图片]','16010MAloeV','getAccessToken','3582357wFFWPL','slice',']\x20当前平台(','data','all','filePath','downloadCode','png','message',']\x20downloadImageBuffer\x20下载失败:\x20status=','1647140yLxppM','6xnBwpz','every','1187132Kmouir','word','urllib','isArray','image/jpeg','[图片\x20','mkdirSync','path','../common','parse','3028109OfUeGg','win32','getImageDownloadUrl\x20API\x20返回非200:\x20status=','projUtil','__esModule','13491kkSVLC','processRichTextMessage','test',']\x20OCR\x20二进制不存在:\x20','text','GET','[��片下载失败]','\x0a---','log','x64',']\x20OCR\x20输出解析失败:\x20','stringify','479611GiGISk','picture',']\x20图片大小\x20','jpg','substring','writeFileSync','type',',\x20data=','join',']\x20OCR\x20失败,仅传原图路径:\x20','以下图片\x20OCR\x20识别结果来自对用户消息中图片的预处理(非用户原始输入),如识别不准确可直接查看原图路径','debugLog','map','filter','defineProperty','10XSdrMp',']\x20OCR\x20stderr:\x20','request','timestamp'];a7_0x3943=function(){return _0x296096;};return a7_0x3943();}const a7_0x5e457c=a7_0x19a2;(function(_0x3c923a,_0x263a12){const _0x479f80=a7_0x19a2,_0x461119=_0x3c923a();while(!![]){try{const _0x5c89d9=parseInt(_0x479f80(0x170))/0x1+-parseInt(_0x479f80(0x152))/0x2+-parseInt(_0x479f80(0x148))/0x3+parseInt(_0x479f80(0x155))/0x4*(-parseInt(_0x479f80(0x117))/0x5)+-parseInt(_0x479f80(0x153))/0x6*(-parseInt(_0x479f80(0x15f))/0x7)+-parseInt(_0x479f80(0x132))/0x8+parseInt(_0x479f80(0x164))/0x9*(parseInt(_0x479f80(0x146))/0xa);if(_0x5c89d9===_0x263a12)break;else _0x461119['push'](_0x461119['shift']());}catch(_0x3ef504){_0x461119['push'](_0x461119['shift']());}}}(a7_0x3943,0x91f3a));var __importDefault=this&&this[a7_0x5e457c(0x135)]||function(_0x39d1b9){return _0x39d1b9&&_0x39d1b9['__esModule']?_0x39d1b9:{'default':_0x39d1b9};};Object[a7_0x5e457c(0x116)](exports,a7_0x5e457c(0x163),{'value':!![]}),exports[a7_0x5e457c(0x134)]=runOcr,exports[a7_0x5e457c(0x12f)]=processPictureMessage,exports[a7_0x5e457c(0x165)]=processRichTextMessage;const child_process_1=require(a7_0x5e457c(0x12b)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a7_0x5e457c(0x15c))),urllib_1=__importDefault(require(a7_0x5e457c(0x157))),session_1=require(a7_0x5e457c(0x121)),common_1=require(a7_0x5e457c(0x15d)),MAX_IMAGE_SIZE=0xa*0x400*0x400,DING_API_BASE=a7_0x5e457c(0x12e),OCR_PREAMBLE=a7_0x5e457c(0x112),OCR_BIN_DIR=(0x0,common_1[a7_0x5e457c(0x162)])()[a7_0x5e457c(0x11b)](),cachedOcrBinPath=((()=>{const _0x83fc6e=a7_0x5e457c;if(process['platform']===_0x83fc6e(0x160))return null;const _0x7e7882=process[_0x83fc6e(0x11c)];if(_0x7e7882==='arm64')return path_1[_0x83fc6e(0x126)][_0x83fc6e(0x110)](OCR_BIN_DIR,'ocr-arm64');if(_0x7e7882===_0x83fc6e(0x16d))return path_1['default']['join'](OCR_BIN_DIR,'ocr-x64');return null;})());let ocrBinExists=null;async function runOcr(_0x5b2d33){const _0x15c8a7=a7_0x5e457c;if(!cachedOcrBinPath)return console[_0x15c8a7(0x16c)]('['+(0x0,session_1[_0x15c8a7(0x11a)])()+_0x15c8a7(0x14a)+process['platform']+'/'+process[_0x15c8a7(0x11c)]+')不支持本地OCR,使用模型识别'),null;ocrBinExists===null&&(ocrBinExists=fs_1[_0x15c8a7(0x126)]['existsSync'](cachedOcrBinPath),!ocrBinExists&&console[_0x15c8a7(0x123)]('['+(0x0,session_1['timestamp'])()+_0x15c8a7(0x167)+cachedOcrBinPath));if(!ocrBinExists)return null;return new Promise(_0x515d0e=>{const _0x3663bb=_0x15c8a7;(0x0,child_process_1[_0x3663bb(0x130)])(cachedOcrBinPath,[_0x5b2d33],{'timeout':0x7530,'maxBuffer':0x5*0x400*0x400},(_0x5fb498,_0x3e406a,_0x41ef48)=>{const _0x517d8b=_0x3663bb;if(_0x5fb498){console[_0x517d8b(0x123)]('['+(0x0,session_1[_0x517d8b(0x11a)])()+_0x517d8b(0x13a)+_0x5fb498[_0x517d8b(0x150)]);if(_0x41ef48)console[_0x517d8b(0x123)]('['+(0x0,session_1[_0x517d8b(0x11a)])()+_0x517d8b(0x118)+_0x41ef48[_0x517d8b(0x174)](0x0,0xc8));_0x515d0e(null);return;}try{const _0x484259=JSON[_0x517d8b(0x15e)](_0x3e406a);if(!Array[_0x517d8b(0x158)](_0x484259)||_0x484259['length']===0x0){console[_0x517d8b(0x16c)]('['+(0x0,session_1[_0x517d8b(0x11a)])()+_0x517d8b(0x12a)),_0x515d0e(null);return;}const _0x3f7c2f=_0x484259[_0x517d8b(0x114)](_0x491375=>_0x491375[_0x517d8b(0x156)])[_0x517d8b(0x115)](Boolean)[_0x517d8b(0x110)]('\x20');console['log']('['+(0x0,session_1[_0x517d8b(0x11a)])()+']\x20OCR\x20识别结果:\x20'+_0x3f7c2f['substring'](0x0,0xc8)+(_0x3f7c2f['length']>0xc8?'...':'')),_0x515d0e(_0x3f7c2f||null);}catch{console[_0x517d8b(0x123)]('['+(0x0,session_1[_0x517d8b(0x11a)])()+_0x517d8b(0x16e)+_0x3e406a['substring'](0x0,0xc8)),_0x515d0e(null);}});});}function a7_0x19a2(_0x5b47fb,_0x46fa44){_0x5b47fb=_0x5b47fb-0x10e;const _0x394383=a7_0x3943();let _0x19a294=_0x394383[_0x5b47fb];return _0x19a294;}const MAGIC_NUMBERS=[{'bytes':[0x89,0x50,0x4e,0x47],'mediaType':a7_0x5e457c(0x128),'ext':a7_0x5e457c(0x14f)},{'bytes':[0xff,0xd8,0xff],'mediaType':a7_0x5e457c(0x159),'ext':a7_0x5e457c(0x173)},{'bytes':[0x47,0x49,0x46],'mediaType':a7_0x5e457c(0x125),'ext':a7_0x5e457c(0x13b)},{'bytes':[0x52,0x49,0x46,0x46],'mediaType':'image/webp','ext':a7_0x5e457c(0x140)}];function detectImageMediaType(_0x275fb4){const _0x1c194b=a7_0x5e457c;for(const {bytes:_0xcac839,mediaType:_0x5d749a,ext:_0x3768b9}of MAGIC_NUMBERS){if(_0x275fb4['length']>=_0xcac839[_0x1c194b(0x11d)]&&_0xcac839[_0x1c194b(0x154)]((_0x3afa84,_0x268c4d)=>_0x275fb4[_0x268c4d]===_0x3afa84))return{'mediaType':_0x5d749a,'ext':_0x3768b9};}return{'mediaType':_0x1c194b(0x159),'ext':_0x1c194b(0x173)};}async function getImageDownloadUrl(_0x260495,_0x5bd1b7,_0x5ebedd){const _0x2d8c9c=a7_0x5e457c;try{const _0x44655e=await _0x260495['dingStreamClient'][_0x2d8c9c(0x147)](),_0x2c22d7=DING_API_BASE+_0x2d8c9c(0x13f),_0x215aed=await urllib_1[_0x2d8c9c(0x126)][_0x2d8c9c(0x119)](_0x2c22d7,{'method':'POST','headers':{'x-acs-dingtalk-access-token':_0x44655e,'Content-Type':_0x2d8c9c(0x141)},'data':{'downloadCode':_0x5bd1b7,'robotCode':_0x5ebedd},'dataType':'json','timeout':0x2710});if(_0x215aed[_0x2d8c9c(0x138)]!==0xc8||!_0x215aed['data'])return _0x260495['debugLog'](_0x2d8c9c(0x161)+_0x215aed[_0x2d8c9c(0x138)]+_0x2d8c9c(0x10f)+JSON[_0x2d8c9c(0x16f)](_0x215aed['data'])),null;const _0x52aef7=_0x215aed[_0x2d8c9c(0x14b)],_0x1a8a15=_0x52aef7?.['downloadUrl'];if(!_0x1a8a15)return _0x260495[_0x2d8c9c(0x113)]('getImageDownloadUrl\x20响应无\x20downloadUrl:\x20'+JSON[_0x2d8c9c(0x16f)](_0x52aef7)),null;return _0x1a8a15;}catch(_0xd31685){return console[_0x2d8c9c(0x123)]('['+(0x0,session_1['timestamp'])()+_0x2d8c9c(0x142),_0xd31685),null;}}async function downloadImageBuffer(_0x32073e){const _0x4d8494=a7_0x5e457c;try{const _0x42f296=await urllib_1[_0x4d8494(0x126)][_0x4d8494(0x119)](_0x32073e,{'method':_0x4d8494(0x169),'dataType':_0x4d8494(0x120),'timeout':0x7530});if(_0x42f296[_0x4d8494(0x138)]!==0xc8)return console['warn']('['+(0x0,session_1[_0x4d8494(0x11a)])()+_0x4d8494(0x151)+_0x42f296[_0x4d8494(0x138)]),null;const _0x6ec067=_0x42f296[_0x4d8494(0x14b)];if(!_0x6ec067||_0x6ec067['length']===0x0)return console[_0x4d8494(0x123)]('['+(0x0,session_1[_0x4d8494(0x11a)])()+_0x4d8494(0x133)),null;if(_0x6ec067['length']>MAX_IMAGE_SIZE)return console['warn']('['+(0x0,session_1[_0x4d8494(0x11a)])()+_0x4d8494(0x172)+_0x6ec067[_0x4d8494(0x11d)]+_0x4d8494(0x13c)+MAX_IMAGE_SIZE),null;return _0x6ec067;}catch(_0x46ade6){return console[_0x4d8494(0x123)]('['+(0x0,session_1[_0x4d8494(0x11a)])()+_0x4d8494(0x122),_0x46ade6),null;}}async function downloadAndProcessImage(_0x39a00c,_0x556ad6,_0x15e6e9,_0x626d77){const _0x1a8e7a=a7_0x5e457c,_0x5cef1d=await getImageDownloadUrl(_0x39a00c,_0x556ad6,_0x15e6e9);if(!_0x5cef1d)return null;const _0x190778=await downloadImageBuffer(_0x5cef1d);if(!_0x190778)return null;const {mediaType:_0x181662,ext:_0x4c38f4}=detectImageMediaType(_0x190778),_0x8b78a7=path_1[_0x1a8e7a(0x126)][_0x1a8e7a(0x110)](_0x626d77,_0x1a8e7a(0x143)),_0x1612bd=_0x556ad6[_0x1a8e7a(0x149)](-0x8),_0x231ee9=Date['now']()+'-'+_0x1612bd+'.'+_0x4c38f4,_0x216126=path_1[_0x1a8e7a(0x126)][_0x1a8e7a(0x110)](_0x8b78a7,_0x231ee9);try{fs_1[_0x1a8e7a(0x126)][_0x1a8e7a(0x15b)](_0x8b78a7,{'recursive':!![]}),fs_1[_0x1a8e7a(0x126)][_0x1a8e7a(0x175)](_0x216126,_0x190778);}catch(_0xbb6789){return console['warn']('['+(0x0,session_1[_0x1a8e7a(0x11a)])()+_0x1a8e7a(0x124)+_0x216126,_0xbb6789),null;}return console[_0x1a8e7a(0x16c)]('['+(0x0,session_1['timestamp'])()+_0x1a8e7a(0x129)+_0x216126+'\x20('+_0x181662+',\x20'+_0x190778['length']+_0x1a8e7a(0x13e)),{'mediaType':_0x181662,'filePath':_0x216126,'sizeBytes':_0x190778[_0x1a8e7a(0x11d)]};}async function buildImagePrompt(_0x3c1dc2,_0xa0548e,_0x4b1aaa){const _0x538b16=a7_0x5e457c,_0xa318a9=_0x4b1aaa!=null?'[图片\x20'+_0x4b1aaa+']':_0x538b16(0x145);if(_0xa0548e){const _0x77b91f=await runOcr(_0x3c1dc2[_0x538b16(0x14d)]);if(_0x77b91f){const _0x1aa556=_0x4b1aaa!=null?_0x538b16(0x15a)+_0x4b1aaa+_0x538b16(0x139):_0x538b16(0x137);return _0xa318a9+'\x20'+_0x3c1dc2[_0x538b16(0x14d)]+'\x0a'+_0x1aa556+'\x0a---\x0a'+_0x77b91f+_0x538b16(0x16b);}console[_0x538b16(0x123)]('['+(0x0,session_1['timestamp'])()+_0x538b16(0x111)+_0x3c1dc2[_0x538b16(0x14d)]);}return _0xa318a9+'\x20'+_0x3c1dc2[_0x538b16(0x14d)];}async function processPictureMessage(_0x51fe16,_0x2ced6e,_0x1affd4,_0x6cbdc3,_0xcb3a1e=!![],_0x1505c5){const _0x23fd80=a7_0x5e457c,_0x160ec3=await downloadAndProcessImage(_0x51fe16,_0x2ced6e,_0x1affd4,_0x6cbdc3);if(!_0x160ec3)return null;const _0x4af6bf=await buildImagePrompt(_0x160ec3,_0xcb3a1e),_0x460bb2=[];_0xcb3a1e&&_0x460bb2[_0x23fd80(0x136)](OCR_PREAMBLE);if(_0x1505c5)_0x460bb2[_0x23fd80(0x136)](_0x1505c5);return _0x460bb2[_0x23fd80(0x136)](_0x4af6bf),_0x460bb2[_0x23fd80(0x110)]('\x0a');}async function processRichTextMessage(_0x39c31e,_0x42ae92,_0x5bafc3,_0x2d4882,_0x332399=!![]){const _0x47d5c6=a7_0x5e457c,_0xc6736e=_0x42ae92[_0x47d5c6(0x115)](_0x3f8fea=>_0x3f8fea[_0x47d5c6(0x10e)]===_0x47d5c6(0x171)&&(_0x3f8fea[_0x47d5c6(0x14e)]||_0x3f8fea[_0x47d5c6(0x131)]))[_0x47d5c6(0x11d)],_0x3a47ad=_0x42ae92[_0x47d5c6(0x114)](async(_0x1caa2c,_0x610123)=>{const _0x5c2397=_0x47d5c6;if(_0x1caa2c[_0x5c2397(0x10e)]===_0x5c2397(0x171)){const _0x22cceb=_0x1caa2c[_0x5c2397(0x14e)]||_0x1caa2c[_0x5c2397(0x131)];if(_0x22cceb){const _0x4fefa9=await downloadAndProcessImage(_0x39c31e,_0x22cceb,_0x5bafc3,_0x2d4882);return{'index':_0x610123,'result':_0x4fefa9};}}return{'index':_0x610123,'result':null};}),_0xb215df=await Promise['all'](_0x3a47ad),_0x189874=new Map();for(const {index:_0x498a78,result:_0x4a6fa5}of _0xb215df){_0x189874[_0x47d5c6(0x127)](_0x498a78,_0x4a6fa5);}const _0x54bb77=new Map();if(_0x332399&&_0xc6736e>0x0){const _0x30b1cf=[];for(const [_0x3b02c8,_0x3a5020]of _0x189874){_0x3a5020&&_0x30b1cf['push'](runOcr(_0x3a5020[_0x47d5c6(0x14d)])[_0x47d5c6(0x11e)](_0x3ab251=>({'index':_0x3b02c8,'ocrText':_0x3ab251})));}const _0x15f9f7=await Promise[_0x47d5c6(0x14c)](_0x30b1cf);for(const {index:_0x5a5705,ocrText:_0x53f38f}of _0x15f9f7){_0x54bb77[_0x47d5c6(0x127)](_0x5a5705,_0x53f38f);}}const _0x4870a9=[];let _0x3cf50c=0x0;for(let _0x50221c=0x0;_0x50221c<_0x42ae92[_0x47d5c6(0x11d)];_0x50221c++){const _0x897a20=_0x42ae92[_0x50221c];if(_0x897a20[_0x47d5c6(0x10e)]===_0x47d5c6(0x168)&&_0x897a20[_0x47d5c6(0x168)]){if(/^@\S+$/[_0x47d5c6(0x166)](_0x897a20[_0x47d5c6(0x168)][_0x47d5c6(0x12d)]()))continue;_0x4870a9[_0x47d5c6(0x136)](_0x897a20[_0x47d5c6(0x168)]);}else{if(_0x897a20[_0x47d5c6(0x10e)]===_0x47d5c6(0x13d)&&_0x897a20[_0x47d5c6(0x11f)])_0x4870a9[_0x47d5c6(0x136)]('@'+_0x897a20[_0x47d5c6(0x11f)]);else{if(_0x897a20[_0x47d5c6(0x10e)]===_0x47d5c6(0x171)){const _0x5037be=_0x189874[_0x47d5c6(0x12c)](_0x50221c);if(_0x5037be){_0x3cf50c++;const _0x2bb81d=_0xc6736e>0x1?_0x3cf50c:undefined,_0x4509f8=_0x332399?_0x54bb77['get'](_0x50221c):null,_0x34ef76=_0x2bb81d!=null?_0x47d5c6(0x15a)+_0x2bb81d+']':_0x47d5c6(0x145);if(_0x4509f8){const _0x3a8399=_0x2bb81d!=null?_0x47d5c6(0x15a)+_0x2bb81d+_0x47d5c6(0x139):_0x47d5c6(0x137);_0x4870a9[_0x47d5c6(0x136)](_0x34ef76+'\x20'+_0x5037be[_0x47d5c6(0x14d)]+'\x0a'+_0x3a8399+'\x0a---\x0a'+_0x4509f8+_0x47d5c6(0x16b));}else _0x4870a9['push'](_0x34ef76+'\x20'+_0x5037be[_0x47d5c6(0x14d)]);}else{const _0x5a9c40=_0x897a20[_0x47d5c6(0x14e)]||_0x897a20['pictureDownloadCode'];_0x5a9c40&&_0x4870a9[_0x47d5c6(0x136)](_0x47d5c6(0x16a));}}}}}const _0x26dbb1=_0x4870a9['join']('\x0a')||_0x47d5c6(0x144);if(_0x332399&&_0x3cf50c>0x0)return OCR_PREAMBLE+'\x0a'+_0x26dbb1;return _0x26dbb1;}
1
+ 'use strict';const a7_0x16fd1b=a7_0x309d;(function(_0x57642e,_0x17a2a9){const _0x4475b2=a7_0x309d,_0x37dfbc=_0x57642e();while(!![]){try{const _0x52ab91=parseInt(_0x4475b2(0x1dc))/0x1*(parseInt(_0x4475b2(0x1a9))/0x2)+parseInt(_0x4475b2(0x1e8))/0x3+parseInt(_0x4475b2(0x1cc))/0x4*(-parseInt(_0x4475b2(0x1e9))/0x5)+-parseInt(_0x4475b2(0x204))/0x6*(-parseInt(_0x4475b2(0x1fc))/0x7)+-parseInt(_0x4475b2(0x1fd))/0x8*(-parseInt(_0x4475b2(0x1cf))/0x9)+parseInt(_0x4475b2(0x1f3))/0xa+parseInt(_0x4475b2(0x20a))/0xb*(-parseInt(_0x4475b2(0x1ae))/0xc);if(_0x52ab91===_0x17a2a9)break;else _0x37dfbc['push'](_0x37dfbc['shift']());}catch(_0x305a6a){_0x37dfbc['push'](_0x37dfbc['shift']());}}}(a7_0x1b77,0x1e22d));var __importDefault=this&&this[a7_0x16fd1b(0x201)]||function(_0x517f7a){const _0x277eb7=a7_0x16fd1b;return _0x517f7a&&_0x517f7a[_0x277eb7(0x1f0)]?_0x517f7a:{'default':_0x517f7a};};Object[a7_0x16fd1b(0x1ed)](exports,a7_0x16fd1b(0x1f0),{'value':!![]}),exports[a7_0x16fd1b(0x1d1)]=runOcr,exports[a7_0x16fd1b(0x1bd)]=processPictureMessage,exports[a7_0x16fd1b(0x20c)]=processRichTextMessage;const child_process_1=require(a7_0x16fd1b(0x1bf)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require('path')),urllib_1=__importDefault(require(a7_0x16fd1b(0x1b7))),session_1=require(a7_0x16fd1b(0x1f9)),common_1=require('../common'),MAX_IMAGE_SIZE=0xa*0x400*0x400,DING_API_BASE=a7_0x16fd1b(0x209),OCR_PREAMBLE=a7_0x16fd1b(0x1b3),OCR_BIN_DIR=(0x0,common_1[a7_0x16fd1b(0x1ca)])()[a7_0x16fd1b(0x1b1)](),cachedOcrBinPath=((()=>{const _0x3a7e9e=a7_0x16fd1b;if(process[_0x3a7e9e(0x1c1)]==='win32')return null;const _0x30264=process[_0x3a7e9e(0x1ff)];if(_0x30264==='arm64')return path_1[_0x3a7e9e(0x1c4)][_0x3a7e9e(0x1c5)](OCR_BIN_DIR,'ocr-arm64');if(_0x30264===_0x3a7e9e(0x1fb))return path_1[_0x3a7e9e(0x1c4)][_0x3a7e9e(0x1c5)](OCR_BIN_DIR,_0x3a7e9e(0x1a8));return null;})());function a7_0x1b77(){const _0x4d6e97=['pictureDownloadCode','request','1318734EJYDJh',',\x20data=','runOcr',']\x20图片大小\x20','\x0a---','trim',']\x20OCR\x20无识别结果','[图片\x20','POST','image/png','mkdirSync',']\x20downloadImageBuffer\x20下载失败:','jpg','8037Rddedv','\x20bytes)','set','log',']\x20图片保存失败:\x20','json','downloadCode','type','push','length','...','substring','363978kEthlg','517955vDVZer','[富文本消息内容为空]','data','then','defineProperty','[图片]','gif','__esModule',']\x20图片已保存:\x20','existsSync','583740lCyEXa',']\x20OCR\x20二进制不存在:\x20',']\x20当前平台(','status','\x20OCR]','timestamp','./session','filter','x64','66171dpGcUk','8GWgKuN','map','arch','filePath','__importDefault','application/json','webp','150BfTnNZ','downloadUrl','/v1.0/robot/messageFiles/download','stringify','buffer','https://api.dingtalk.com','1701755mdzEgI','userId','processRichTextMessage','slice',']\x20getImageDownloadUrl\x20请求失败:','ocr-x64','32fuxnEI','text','getImageDownloadUrl\x20响应无\x20downloadUrl:\x20','getImageDownloadUrl\x20API\x20返回非200:\x20status=',']\x20OCR\x20stderr:\x20','36jwKqmm',')不支持本地OCR,使用模型识别','image/jpeg','getResourcePath','debugLog','以下图片\x20OCR\x20识别结果来自对用户消息中图片的预处理(非用户原始输入),如识别不准确可直接查看原图路径',']\x20downloadImageBuffer\x20下载失败:\x20status=','all',']\x20OCR\x20输出解析失败:\x20','urllib','parse','dingStreamClient','\x0a---\x0a','test','[��片下载失败]','processPictureMessage','isArray','child_process','get','platform','picture','GET','default','join','image/gif','warn','[图片\x20OCR]','getAccessToken','projUtil','execFile','4PPMUrv'];a7_0x1b77=function(){return _0x4d6e97;};return a7_0x1b77();}let ocrBinExists=null;async function runOcr(_0x299355){const _0x591fc8=a7_0x16fd1b;if(!cachedOcrBinPath)return console[_0x591fc8(0x1df)]('['+(0x0,session_1['timestamp'])()+_0x591fc8(0x1f5)+process[_0x591fc8(0x1c1)]+'/'+process[_0x591fc8(0x1ff)]+_0x591fc8(0x1af)),null;ocrBinExists===null&&(ocrBinExists=fs_1[_0x591fc8(0x1c4)][_0x591fc8(0x1f2)](cachedOcrBinPath),!ocrBinExists&&console[_0x591fc8(0x1c7)]('['+(0x0,session_1[_0x591fc8(0x1f8)])()+_0x591fc8(0x1f4)+cachedOcrBinPath));if(!ocrBinExists)return null;return new Promise(_0x517617=>{const _0x293d3a=_0x591fc8;(0x0,child_process_1[_0x293d3a(0x1cb)])(cachedOcrBinPath,[_0x299355],{'timeout':0x7530,'maxBuffer':0x5*0x400*0x400},(_0x2218a5,_0x2f9ab0,_0x9287ad)=>{const _0x29e9fe=_0x293d3a;if(_0x2218a5){console[_0x29e9fe(0x1c7)]('['+(0x0,session_1[_0x29e9fe(0x1f8)])()+']\x20OCR\x20执行失败:\x20'+_0x2218a5['message']);if(_0x9287ad)console[_0x29e9fe(0x1c7)]('['+(0x0,session_1[_0x29e9fe(0x1f8)])()+_0x29e9fe(0x1ad)+_0x9287ad[_0x29e9fe(0x1e7)](0x0,0xc8));_0x517617(null);return;}try{const _0x5466d1=JSON[_0x29e9fe(0x1b8)](_0x2f9ab0);if(!Array[_0x29e9fe(0x1be)](_0x5466d1)||_0x5466d1[_0x29e9fe(0x1e5)]===0x0){console['log']('['+(0x0,session_1['timestamp'])()+_0x29e9fe(0x1d5)),_0x517617(null);return;}const _0x3f2e02=_0x5466d1[_0x29e9fe(0x1fe)](_0x29e027=>_0x29e027['word'])['filter'](Boolean)['join']('\x20');console[_0x29e9fe(0x1df)]('['+(0x0,session_1[_0x29e9fe(0x1f8)])()+']\x20OCR\x20识别结果:\x20'+_0x3f2e02[_0x29e9fe(0x1e7)](0x0,0xc8)+(_0x3f2e02[_0x29e9fe(0x1e5)]>0xc8?_0x29e9fe(0x1e6):'')),_0x517617(_0x3f2e02||null);}catch{console[_0x29e9fe(0x1c7)]('['+(0x0,session_1[_0x29e9fe(0x1f8)])()+_0x29e9fe(0x1b6)+_0x2f9ab0[_0x29e9fe(0x1e7)](0x0,0xc8)),_0x517617(null);}});});}const MAGIC_NUMBERS=[{'bytes':[0x89,0x50,0x4e,0x47],'mediaType':a7_0x16fd1b(0x1d8),'ext':'png'},{'bytes':[0xff,0xd8,0xff],'mediaType':a7_0x16fd1b(0x1b0),'ext':a7_0x16fd1b(0x1db)},{'bytes':[0x47,0x49,0x46],'mediaType':a7_0x16fd1b(0x1c6),'ext':a7_0x16fd1b(0x1ef)},{'bytes':[0x52,0x49,0x46,0x46],'mediaType':'image/webp','ext':a7_0x16fd1b(0x203)}];function detectImageMediaType(_0x5caf61){const _0x5a2c2b=a7_0x16fd1b;for(const {bytes:_0x1d3150,mediaType:_0x2d38fb,ext:_0x24dc2e}of MAGIC_NUMBERS){if(_0x5caf61[_0x5a2c2b(0x1e5)]>=_0x1d3150['length']&&_0x1d3150['every']((_0xea961b,_0x36526c)=>_0x5caf61[_0x36526c]===_0xea961b))return{'mediaType':_0x2d38fb,'ext':_0x24dc2e};}return{'mediaType':'image/jpeg','ext':'jpg'};}async function getImageDownloadUrl(_0x52fb2c,_0x374b80,_0x3cfd5d){const _0x351735=a7_0x16fd1b;try{const _0x3449ae=await _0x52fb2c[_0x351735(0x1b9)][_0x351735(0x1c9)](),_0x4835d2=DING_API_BASE+_0x351735(0x206),_0x5421cd=await urllib_1[_0x351735(0x1c4)][_0x351735(0x1ce)](_0x4835d2,{'method':_0x351735(0x1d7),'headers':{'x-acs-dingtalk-access-token':_0x3449ae,'Content-Type':_0x351735(0x202)},'data':{'downloadCode':_0x374b80,'robotCode':_0x3cfd5d},'dataType':_0x351735(0x1e1),'timeout':0x2710});if(_0x5421cd[_0x351735(0x1f6)]!==0xc8||!_0x5421cd['data'])return _0x52fb2c[_0x351735(0x1b2)](_0x351735(0x1ac)+_0x5421cd[_0x351735(0x1f6)]+_0x351735(0x1d0)+JSON[_0x351735(0x207)](_0x5421cd[_0x351735(0x1eb)])),null;const _0x262d21=_0x5421cd[_0x351735(0x1eb)],_0x3b81dd=_0x262d21?.[_0x351735(0x205)];if(!_0x3b81dd)return _0x52fb2c[_0x351735(0x1b2)](_0x351735(0x1ab)+JSON[_0x351735(0x207)](_0x262d21)),null;return _0x3b81dd;}catch(_0x1dd3f5){return console['warn']('['+(0x0,session_1[_0x351735(0x1f8)])()+_0x351735(0x20e),_0x1dd3f5),null;}}async function downloadImageBuffer(_0x537472){const _0x254763=a7_0x16fd1b;try{const _0x308f72=await urllib_1[_0x254763(0x1c4)][_0x254763(0x1ce)](_0x537472,{'method':_0x254763(0x1c3),'dataType':_0x254763(0x208),'timeout':0x7530});if(_0x308f72[_0x254763(0x1f6)]!==0xc8)return console['warn']('['+(0x0,session_1[_0x254763(0x1f8)])()+_0x254763(0x1b4)+_0x308f72[_0x254763(0x1f6)]),null;const _0x5b8264=_0x308f72[_0x254763(0x1eb)];if(!_0x5b8264||_0x5b8264[_0x254763(0x1e5)]===0x0)return console[_0x254763(0x1c7)]('['+(0x0,session_1['timestamp'])()+']\x20downloadImageBuffer\x20下载结果为空'),null;if(_0x5b8264['length']>MAX_IMAGE_SIZE)return console[_0x254763(0x1c7)]('['+(0x0,session_1[_0x254763(0x1f8)])()+_0x254763(0x1d2)+_0x5b8264[_0x254763(0x1e5)]+'\x20超过限制\x20'+MAX_IMAGE_SIZE),null;return _0x5b8264;}catch(_0x5bcb35){return console[_0x254763(0x1c7)]('['+(0x0,session_1[_0x254763(0x1f8)])()+_0x254763(0x1da),_0x5bcb35),null;}}function a7_0x309d(_0x2c246d,_0x28bc83){_0x2c246d=_0x2c246d-0x1a8;const _0x1b7731=a7_0x1b77();let _0x309df3=_0x1b7731[_0x2c246d];return _0x309df3;}async function downloadAndProcessImage(_0x1f3517,_0x4fc628,_0x4ca42,_0x111860){const _0x29733c=a7_0x16fd1b,_0x3a8315=await getImageDownloadUrl(_0x1f3517,_0x4fc628,_0x4ca42);if(!_0x3a8315)return null;const _0x2b0952=await downloadImageBuffer(_0x3a8315);if(!_0x2b0952)return null;const {mediaType:_0x36d65a,ext:_0x10fc72}=detectImageMediaType(_0x2b0952),_0x4574ae=path_1[_0x29733c(0x1c4)]['join'](_0x111860,'.images'),_0x22095a=_0x4fc628[_0x29733c(0x20d)](-0x8),_0x8ef492=Date['now']()+'-'+_0x22095a+'.'+_0x10fc72,_0x2144bc=path_1[_0x29733c(0x1c4)][_0x29733c(0x1c5)](_0x4574ae,_0x8ef492);try{fs_1[_0x29733c(0x1c4)][_0x29733c(0x1d9)](_0x4574ae,{'recursive':!![]}),fs_1[_0x29733c(0x1c4)]['writeFileSync'](_0x2144bc,_0x2b0952);}catch(_0x5d6f6f){return console[_0x29733c(0x1c7)]('['+(0x0,session_1[_0x29733c(0x1f8)])()+_0x29733c(0x1e0)+_0x2144bc,_0x5d6f6f),null;}return console[_0x29733c(0x1df)]('['+(0x0,session_1[_0x29733c(0x1f8)])()+_0x29733c(0x1f1)+_0x2144bc+'\x20('+_0x36d65a+',\x20'+_0x2b0952['length']+_0x29733c(0x1dd)),{'mediaType':_0x36d65a,'filePath':_0x2144bc,'sizeBytes':_0x2b0952[_0x29733c(0x1e5)]};}async function buildImagePrompt(_0xc0a484,_0x5b0bc9,_0x6663fc){const _0x2b440a=a7_0x16fd1b,_0x41c604=_0x6663fc!=null?_0x2b440a(0x1d6)+_0x6663fc+']':'[图片]';if(_0x5b0bc9){const _0x5dcd93=await runOcr(_0xc0a484[_0x2b440a(0x200)]);if(_0x5dcd93){const _0xf0b7e9=_0x6663fc!=null?_0x2b440a(0x1d6)+_0x6663fc+_0x2b440a(0x1f7):_0x2b440a(0x1c8);return _0x41c604+'\x20'+_0xc0a484[_0x2b440a(0x200)]+'\x0a'+_0xf0b7e9+_0x2b440a(0x1ba)+_0x5dcd93+_0x2b440a(0x1d3);}console['warn']('['+(0x0,session_1[_0x2b440a(0x1f8)])()+']\x20OCR\x20失败,仅传原图路径:\x20'+_0xc0a484[_0x2b440a(0x200)]);}return _0x41c604+'\x20'+_0xc0a484['filePath'];}async function processPictureMessage(_0x1d6a50,_0x4168d0,_0x4b224d,_0xc719d9,_0x52bcd4=!![],_0x4f84d5){const _0x48f47d=a7_0x16fd1b,_0x3a4bb2=await downloadAndProcessImage(_0x1d6a50,_0x4168d0,_0x4b224d,_0xc719d9);if(!_0x3a4bb2)return null;const _0x1facd0=await buildImagePrompt(_0x3a4bb2,_0x52bcd4),_0x112ca2=[];_0x52bcd4&&_0x112ca2['push'](OCR_PREAMBLE);if(_0x4f84d5)_0x112ca2[_0x48f47d(0x1e4)](_0x4f84d5);return _0x112ca2[_0x48f47d(0x1e4)](_0x1facd0),_0x112ca2[_0x48f47d(0x1c5)]('\x0a');}async function processRichTextMessage(_0x16080b,_0x384efb,_0x43783b,_0x16f513,_0x836c09=!![]){const _0x5eb72e=a7_0x16fd1b,_0x1d4b94=_0x384efb[_0x5eb72e(0x1fa)](_0xea25f0=>_0xea25f0[_0x5eb72e(0x1e3)]===_0x5eb72e(0x1c2)&&(_0xea25f0[_0x5eb72e(0x1e2)]||_0xea25f0[_0x5eb72e(0x1cd)]))[_0x5eb72e(0x1e5)],_0x4287f1=_0x384efb[_0x5eb72e(0x1fe)](async(_0x1ba1e0,_0x547384)=>{const _0x2455a9=_0x5eb72e;if(_0x1ba1e0[_0x2455a9(0x1e3)]===_0x2455a9(0x1c2)){const _0x460242=_0x1ba1e0[_0x2455a9(0x1e2)]||_0x1ba1e0[_0x2455a9(0x1cd)];if(_0x460242){const _0x5d3f52=await downloadAndProcessImage(_0x16080b,_0x460242,_0x43783b,_0x16f513);return{'index':_0x547384,'result':_0x5d3f52};}}return{'index':_0x547384,'result':null};}),_0x5e95fa=await Promise[_0x5eb72e(0x1b5)](_0x4287f1),_0x2dfbe8=new Map();for(const {index:_0x7c4f30,result:_0x167bde}of _0x5e95fa){_0x2dfbe8[_0x5eb72e(0x1de)](_0x7c4f30,_0x167bde);}const _0x5b5fda=new Map();if(_0x836c09&&_0x1d4b94>0x0){const _0x2d3eea=[];for(const [_0x194b86,_0x3147ff]of _0x2dfbe8){_0x3147ff&&_0x2d3eea['push'](runOcr(_0x3147ff['filePath'])[_0x5eb72e(0x1ec)](_0x1d82b0=>({'index':_0x194b86,'ocrText':_0x1d82b0})));}const _0x4a29d8=await Promise['all'](_0x2d3eea);for(const {index:_0x35b995,ocrText:_0x46c754}of _0x4a29d8){_0x5b5fda[_0x5eb72e(0x1de)](_0x35b995,_0x46c754);}}const _0x524411=[];let _0x271af8=0x0;for(let _0x397133=0x0;_0x397133<_0x384efb['length'];_0x397133++){const _0x326ba0=_0x384efb[_0x397133];if(_0x326ba0[_0x5eb72e(0x1e3)]===_0x5eb72e(0x1aa)&&_0x326ba0[_0x5eb72e(0x1aa)]){if(/^@\S+$/[_0x5eb72e(0x1bb)](_0x326ba0['text'][_0x5eb72e(0x1d4)]()))continue;_0x524411[_0x5eb72e(0x1e4)](_0x326ba0['text']);}else{if(_0x326ba0['type']==='mention'&&_0x326ba0[_0x5eb72e(0x20b)])_0x524411[_0x5eb72e(0x1e4)]('@'+_0x326ba0['userId']);else{if(_0x326ba0['type']===_0x5eb72e(0x1c2)){const _0x532b92=_0x2dfbe8[_0x5eb72e(0x1c0)](_0x397133);if(_0x532b92){_0x271af8++;const _0x1b5d19=_0x1d4b94>0x1?_0x271af8:undefined,_0x2f1417=_0x836c09?_0x5b5fda[_0x5eb72e(0x1c0)](_0x397133):null,_0x45ea61=_0x1b5d19!=null?_0x5eb72e(0x1d6)+_0x1b5d19+']':_0x5eb72e(0x1ee);if(_0x2f1417){const _0x4db198=_0x1b5d19!=null?_0x5eb72e(0x1d6)+_0x1b5d19+_0x5eb72e(0x1f7):'[图片\x20OCR]';_0x524411[_0x5eb72e(0x1e4)](_0x45ea61+'\x20'+_0x532b92[_0x5eb72e(0x200)]+'\x0a'+_0x4db198+_0x5eb72e(0x1ba)+_0x2f1417+_0x5eb72e(0x1d3));}else _0x524411['push'](_0x45ea61+'\x20'+_0x532b92[_0x5eb72e(0x200)]);}else{const _0x56be5e=_0x326ba0[_0x5eb72e(0x1e2)]||_0x326ba0['pictureDownloadCode'];_0x56be5e&&_0x524411[_0x5eb72e(0x1e4)](_0x5eb72e(0x1bc));}}}}}const _0x21393a=_0x524411[_0x5eb72e(0x1c5)]('\x0a')||_0x5eb72e(0x1ea);if(_0x836c09&&_0x271af8>0x0)return OCR_PREAMBLE+'\x0a'+_0x21393a;return _0x21393a;}
@@ -1 +1 @@
1
- 'use strict';function a8_0x3aa1(){const _0xb47223=['2387112vLpzXO','\x22\x20已有运行中的进程\x20(PID:\x20','join','SIGTERM','path','584966JjcnAK','trim','writeFileSync','2072dGXAab','timestamp','4Yqbjec','defineProperty','./session','.pid.lock','3010089WIYbPe','190WgznHY',']\x20检测到过期锁文件\x20(PID:\x20','1tdTQaG','SIGINT','350802KwpoaA','\x20已退出),自动清理','kill','exit','\x20\x20如需强制启动,请先停止已有进程或删除锁文件:\x20','__esModule','error','3504JIuZJd','existsSync','utf-8','readFileSync','pid','3442210dKilIw','55EyedrA','default','845584bgFEQN','acquirePidLock','[FATAL]\x20clientId\x20\x22'];a8_0x3aa1=function(){return _0xb47223;};return a8_0x3aa1();}const a8_0x2db2fa=a8_0x17f7;(function(_0x323b91,_0x46c1dc){const _0x5b657c=a8_0x17f7,_0x4d158e=_0x323b91();while(!![]){try{const _0x31414f=parseInt(_0x5b657c(0xcd))/0x1*(parseInt(_0x5b657c(0xc1))/0x2)+-parseInt(_0x5b657c(0xca))/0x3+parseInt(_0x5b657c(0xc6))/0x4*(parseInt(_0x5b657c(0xb6))/0x5)+parseInt(_0x5b657c(0xd6))/0x6*(parseInt(_0x5b657c(0xc4))/0x7)+parseInt(_0x5b657c(0xb9))/0x8+-parseInt(_0x5b657c(0xcf))/0x9*(parseInt(_0x5b657c(0xcb))/0xa)+parseInt(_0x5b657c(0xb7))/0xb*(parseInt(_0x5b657c(0xbc))/0xc);if(_0x31414f===_0x46c1dc)break;else _0x4d158e['push'](_0x4d158e['shift']());}catch(_0x5de162){_0x4d158e['push'](_0x4d158e['shift']());}}}(a8_0x3aa1,0x7c8dc));function a8_0x17f7(_0x3f5ca0,_0x56216d){_0x3f5ca0=_0x3f5ca0-0xb4;const _0x3aa1e8=a8_0x3aa1();let _0x17f7f1=_0x3aa1e8[_0x3f5ca0];return _0x17f7f1;}var __importDefault=this&&this['__importDefault']||function(_0x9bf17c){return _0x9bf17c&&_0x9bf17c['__esModule']?_0x9bf17c:{'default':_0x9bf17c};};Object[a8_0x2db2fa(0xc7)](exports,a8_0x2db2fa(0xd4),{'value':!![]}),exports[a8_0x2db2fa(0xba)]=acquirePidLock;const session_1=require(a8_0x2db2fa(0xc8)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a8_0x2db2fa(0xc0)));function acquirePidLock(_0x27d487,_0x1a07a7){const _0x45ee53=a8_0x2db2fa,_0x15bb9d=path_1[_0x45ee53(0xb8)][_0x45ee53(0xbe)](_0x27d487,_0x45ee53(0xc9));if(fs_1[_0x45ee53(0xb8)][_0x45ee53(0xd7)](_0x15bb9d))try{const _0x2041a2=parseInt(fs_1[_0x45ee53(0xb8)][_0x45ee53(0xb4)](_0x15bb9d,'utf-8')[_0x45ee53(0xc2)](),0xa);if(!isNaN(_0x2041a2))try{process[_0x45ee53(0xd1)](_0x2041a2,0x0),console[_0x45ee53(0xd5)](_0x45ee53(0xbb)+_0x1a07a7+_0x45ee53(0xbd)+_0x2041a2+')'),console['error'](_0x45ee53(0xd3)+_0x15bb9d),process[_0x45ee53(0xd2)](0x1);}catch{console['log']('['+(0x0,session_1[_0x45ee53(0xc5)])()+_0x45ee53(0xcc)+_0x2041a2+_0x45ee53(0xd0));}}catch{}fs_1[_0x45ee53(0xb8)][_0x45ee53(0xc3)](_0x15bb9d,String(process[_0x45ee53(0xb5)]),_0x45ee53(0xd8));const _0x2865e0=()=>{try{fs_1['default']['unlinkSync'](_0x15bb9d);}catch{}};process['on'](_0x45ee53(0xd2),_0x2865e0),process['on'](_0x45ee53(0xce),()=>{_0x2865e0(),process['exit'](0x82);}),process['on'](_0x45ee53(0xbf),()=>{const _0x4e258d=_0x45ee53;_0x2865e0(),process[_0x4e258d(0xd2)](0x8f);});}
1
+ 'use strict';const a8_0x333189=a8_0x4a85;function a8_0x4029(){const _0x33fe8b=['\x20已退出),自动清理','path','1179804EXxseS','defineProperty','29226070xEkFQR','20OKZpdq','\x22\x20已有运行中的进程\x20(PID:\x20','acquirePidLock','join',']\x20检测到过期锁文件\x20(PID:\x20','__importDefault','SIGINT','6097617ZjyPum','exit','readFileSync','1930422TORmkp','252kafvip','37120boVKTJ','1UeWtdE','__esModule','[FATAL]\x20clientId\x20\x22','4069188pPKamF','5567132oTxkxX','writeFileSync','.pid.lock','default','\x20\x20如需强制启动,请先停止已有进程或删除锁文件:\x20','log','./session'];a8_0x4029=function(){return _0x33fe8b;};return a8_0x4029();}(function(_0xdc9b48,_0x2ba6c4){const _0x5f1667=a8_0x4a85,_0x45b6a3=_0xdc9b48();while(!![]){try{const _0x3b83a3=parseInt(_0x5f1667(0x16b))/0x1*(parseInt(_0x5f1667(0x168))/0x2)+parseInt(_0x5f1667(0x16e))/0x3+parseInt(_0x5f1667(0x16f))/0x4+parseInt(_0x5f1667(0x15e))/0x5*(parseInt(_0x5f1667(0x15b))/0x6)+parseInt(_0x5f1667(0x169))/0x7*(-parseInt(_0x5f1667(0x16a))/0x8)+-parseInt(_0x5f1667(0x165))/0x9+-parseInt(_0x5f1667(0x15d))/0xa;if(_0x3b83a3===_0x2ba6c4)break;else _0x45b6a3['push'](_0x45b6a3['shift']());}catch(_0x52a177){_0x45b6a3['push'](_0x45b6a3['shift']());}}}(a8_0x4029,0xb2e5e));function a8_0x4a85(_0x1f777f,_0x117f81){_0x1f777f=_0x1f777f-0x158;const _0x40296e=a8_0x4029();let _0x4a851e=_0x40296e[_0x1f777f];return _0x4a851e;}var __importDefault=this&&this[a8_0x333189(0x163)]||function(_0x3ebd04){const _0x3a74cc=a8_0x333189;return _0x3ebd04&&_0x3ebd04[_0x3a74cc(0x16c)]?_0x3ebd04:{'default':_0x3ebd04};};Object[a8_0x333189(0x15c)](exports,a8_0x333189(0x16c),{'value':!![]}),exports[a8_0x333189(0x160)]=acquirePidLock;const session_1=require(a8_0x333189(0x158)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a8_0x333189(0x15a)));function acquirePidLock(_0x16df7c,_0x371c5d){const _0x4ac01d=a8_0x333189,_0x5558dd=path_1['default'][_0x4ac01d(0x161)](_0x16df7c,_0x4ac01d(0x171));if(fs_1[_0x4ac01d(0x172)]['existsSync'](_0x5558dd))try{const _0x55e6a4=parseInt(fs_1[_0x4ac01d(0x172)][_0x4ac01d(0x167)](_0x5558dd,'utf-8')['trim'](),0xa);if(!isNaN(_0x55e6a4))try{process['kill'](_0x55e6a4,0x0),console['error'](_0x4ac01d(0x16d)+_0x371c5d+_0x4ac01d(0x15f)+_0x55e6a4+')'),console['error'](_0x4ac01d(0x173)+_0x5558dd),process[_0x4ac01d(0x166)](0x1);}catch{console[_0x4ac01d(0x174)]('['+(0x0,session_1['timestamp'])()+_0x4ac01d(0x162)+_0x55e6a4+_0x4ac01d(0x159));}}catch{}fs_1[_0x4ac01d(0x172)][_0x4ac01d(0x170)](_0x5558dd,String(process['pid']),'utf-8');const _0x3777c1=()=>{try{fs_1['default']['unlinkSync'](_0x5558dd);}catch{}};process['on']('exit',_0x3777c1),process['on'](_0x4ac01d(0x164),()=>{_0x3777c1(),process['exit'](0x82);}),process['on']('SIGTERM',()=>{_0x3777c1(),process['exit'](0x8f);});}
@@ -1 +1 @@
1
- 'use strict';const a9_0x5c6f28=a9_0x3553;(function(_0x23a20d,_0x3cc4fe){const _0x54cd39=a9_0x3553,_0x4e7540=_0x23a20d();while(!![]){try{const _0x190aa5=-parseInt(_0x54cd39(0x1bc))/0x1*(parseInt(_0x54cd39(0x18a))/0x2)+-parseInt(_0x54cd39(0x1b4))/0x3+parseInt(_0x54cd39(0x1d3))/0x4*(parseInt(_0x54cd39(0x1c9))/0x5)+-parseInt(_0x54cd39(0x19f))/0x6*(parseInt(_0x54cd39(0x1ab))/0x7)+-parseInt(_0x54cd39(0x187))/0x8+parseInt(_0x54cd39(0x1a4))/0x9+-parseInt(_0x54cd39(0x192))/0xa*(-parseInt(_0x54cd39(0x1cf))/0xb);if(_0x190aa5===_0x3cc4fe)break;else _0x4e7540['push'](_0x4e7540['shift']());}catch(_0x2532dd){_0x4e7540['push'](_0x4e7540['shift']());}}}(a9_0x4cf7,0x6f345));function a9_0x3553(_0x35099e,_0x19025e){_0x35099e=_0x35099e-0x17d;const _0x4cf70f=a9_0x4cf7();let _0x3553e8=_0x4cf70f[_0x35099e];return _0x3553e8;}var __importDefault=this&&this[a9_0x5c6f28(0x1bd)]||function(_0x53c756){const _0x9ae273=a9_0x5c6f28;return _0x53c756&&_0x53c756[_0x9ae273(0x1a8)]?_0x53c756:{'default':_0x53c756};};Object[a9_0x5c6f28(0x1b9)](exports,a9_0x5c6f28(0x1a8),{'value':!![]}),exports[a9_0x5c6f28(0x1a7)]=fetchQuotedMessage,exports[a9_0x5c6f28(0x1b7)]=filterToolUseContent,exports[a9_0x5c6f28(0x1d4)]=splitMessage,exports[a9_0x5c6f28(0x17e)]=sendDingMessage,exports[a9_0x5c6f28(0x193)]=sendClaudeResponseToDing;const utils_ok_1=require(a9_0x5c6f28(0x1bb)),utils_ok_2=require('utils-ok'),urllib_1=__importDefault(require('urllib')),DING_API_BASE=a9_0x5c6f28(0x1ad);async function fetchQuotedMessage(_0xc914fb,_0x301389){const _0xad6050=a9_0x5c6f28;try{const _0x344b97=await _0xc914fb[_0xad6050(0x1be)][_0xad6050(0x1d2)](),_0x570035=DING_API_BASE+_0xad6050(0x1a2)+encodeURIComponent(_0x301389),_0x4add58=await urllib_1['default'][_0xad6050(0x1a5)](_0x570035,{'method':_0xad6050(0x190),'headers':{'x-acs-dingtalk-access-token':_0x344b97},'dataType':_0xad6050(0x1ae),'timeout':0x1388});if(_0x4add58['status']!==0xc8||!_0x4add58['data'])return _0xc914fb[_0xad6050(0x1c6)](_0xad6050(0x1d5)+_0x4add58['status']+_0xad6050(0x19d)+JSON[_0xad6050(0x1ca)](_0x4add58['data'])),null;const _0x2c15ac=_0x4add58[_0xad6050(0x185)];if(_0x2c15ac[_0xad6050(0x18f)]&&typeof _0x2c15ac[_0xad6050(0x18f)]==='object'){const _0x482b59=_0x2c15ac[_0xad6050(0x18f)][_0xad6050(0x180)];if(typeof _0x482b59===_0xad6050(0x1c1)&&_0x482b59)return _0x482b59[_0xad6050(0x1b0)]();}if(typeof _0x2c15ac[_0xad6050(0x180)]===_0xad6050(0x1c1)&&_0x2c15ac['content'])try{const _0x1eb358=JSON['parse'](_0x2c15ac[_0xad6050(0x180)]);if(typeof _0x1eb358===_0xad6050(0x1c1))return _0x1eb358[_0xad6050(0x1b0)]();if(_0x1eb358[_0xad6050(0x18f)])return String(_0x1eb358[_0xad6050(0x18f)])[_0xad6050(0x1b0)]();if(_0x1eb358[_0xad6050(0x180)])return String(_0x1eb358['content'])['trim']();}catch{return _0x2c15ac[_0xad6050(0x180)][_0xad6050(0x1b0)]();}if(_0x2c15ac[_0xad6050(0x1aa)]&&typeof _0x2c15ac['body']===_0xad6050(0x182)){const _0x291216=_0x2c15ac[_0xad6050(0x1aa)];if(typeof _0x291216[_0xad6050(0x180)]===_0xad6050(0x1c1)&&_0x291216[_0xad6050(0x180)])return _0x291216['content']['trim']();}return _0xc914fb[_0xad6050(0x1c6)](_0xad6050(0x197)+Object['keys'](_0x2c15ac)[_0xad6050(0x19b)](',')),null;}catch(_0x57a33e){return console[_0xad6050(0x1d0)](_0xad6050(0x1c4),_0x57a33e),null;}}const TOOL_TAGS=[a9_0x5c6f28(0x188),a9_0x5c6f28(0x18d),a9_0x5c6f28(0x1a3),a9_0x5c6f28(0x199),a9_0x5c6f28(0x1a1),a9_0x5c6f28(0x191),a9_0x5c6f28(0x1a6),a9_0x5c6f28(0x1ce),a9_0x5c6f28(0x1cc),a9_0x5c6f28(0x1c7),'TaskOutput',a9_0x5c6f28(0x18b),a9_0x5c6f28(0x1b1),a9_0x5c6f28(0x1b8),a9_0x5c6f28(0x19e),a9_0x5c6f28(0x1b2),'TaskUpdate',a9_0x5c6f28(0x1d1),a9_0x5c6f28(0x184),a9_0x5c6f28(0x1d6),'CronCreate','CronDelete',a9_0x5c6f28(0x1af),a9_0x5c6f28(0x196),a9_0x5c6f28(0x1c5)][a9_0x5c6f28(0x19b)]('|'),TOOL_USE_SELF_CLOSE_RE=new RegExp('<('+TOOL_TAGS+a9_0x5c6f28(0x186),'g'),TOOL_USE_OPEN_CLOSE_RE=new RegExp('<('+TOOL_TAGS+a9_0x5c6f28(0x1bf),'g'),MULTI_NEWLINE_RE=/\n{3,}/g;function filterToolUseContent(_0x2a7d56){const _0x1e7055=a9_0x5c6f28;let _0x3e5e89=_0x2a7d56[_0x1e7055(0x18c)](TOOL_USE_SELF_CLOSE_RE,'');return _0x3e5e89=_0x3e5e89[_0x1e7055(0x18c)](TOOL_USE_OPEN_CLOSE_RE,''),_0x3e5e89=_0x3e5e89[_0x1e7055(0x18c)](MULTI_NEWLINE_RE,'\x0a\x0a'),_0x3e5e89[_0x1e7055(0x1b0)]();}function splitMessage(_0x545404,_0x285b09){const _0x273949=a9_0x5c6f28,_0x80ad34=[];while(_0x545404['length']>_0x285b09){let _0x44ade0=_0x545404[_0x273949(0x1c3)]('\x0a',_0x285b09);(_0x44ade0===-0x1||_0x44ade0<_0x285b09*0.5)&&(_0x44ade0=_0x545404[_0x273949(0x1c3)]('。',_0x285b09)),(_0x44ade0===-0x1||_0x44ade0<_0x285b09*0.5)&&(_0x44ade0=_0x545404[_0x273949(0x1c3)]('\x20',_0x285b09)),_0x44ade0===-0x1||_0x44ade0<_0x285b09*0.5?_0x44ade0=_0x285b09:_0x44ade0+=0x1,_0x80ad34['push'](_0x545404[_0x273949(0x17d)](0x0,_0x44ade0)[_0x273949(0x1b0)]()),_0x545404=_0x545404[_0x273949(0x17d)](_0x44ade0)['trim']();}return _0x545404[_0x273949(0x1c2)]>0x0&&_0x80ad34[_0x273949(0x1a9)](_0x545404),_0x80ad34;}function a9_0x4cf7(){const _0x16321b=['Agent','fetchQuotedMessage','__esModule','push','body','8834xHifkT','defaultDingToken','https://api.dingtalk.com','json','CronList','trim','EnterPlanMode','TaskGet','未能获取机器人信息发送途径','2220213FmvokR',']**\x0a','config','filterToolUseContent','ExitPlanMode','defineProperty','DingClient','utils-ok','3005fZPpXK','__importDefault','dingStreamClient',')[^>]*>[\x5cs\x5cS]*?<\x5c/\x5c1>','ai-reply','string','length','lastIndexOf','fetchQuotedMessage\x20请求失败:','NotebookEdit','debugLog','WebSearch','sendMd','3676730XvzYpl','stringify','reply','WebFetch','markdown','Skill','22USRNKP','warn','TaskList','getAccessToken','4UPjfen','splitMessage','fetchQuotedMessage\x20API\x20返回非200:\x20status=','ExitWorktree','substring','sendDingMessage','default','content','**[','object','send','EnterWorktree','data',')[^>]*\x5c/>','143088ZYJxgp','Write','find','222FBUokB','AskUserQuestion','replace','Read','dingSecret','text','GET','Glob','5205910NalrYd','sendClaudeResponseToDing','conversations','过滤后内容为空,跳过发送','LSP','fetchQuotedMessage\x20无法从响应中提取文本:\x20keys=','conversationId','Bash','POST','join','baseUtil',',\x20data=','TaskCreate','2004cZJzHb','sleep','Grep','/v1.0/im/api/messages/','Edit','1727865chYmpg','request'];a9_0x4cf7=function(){return _0x16321b;};return a9_0x4cf7();}async function sendDingMessage(_0x20592c,_0x3d12cc){const _0x3173e0=a9_0x5c6f28,{conversationId:_0x33ed05,sessionWebhook:_0x105ff8,atUserId:_0x4c772d,content:_0x1ab46e,msgType:msgType=_0x3173e0(0x18f)}=_0x3d12cc,_0x213b4b=_0x4c772d?[_0x4c772d]:[],_0x3dbde1=_0x20592c[_0x3173e0(0x1b6)][_0x3173e0(0x194)][_0x3173e0(0x189)](_0x2ddb2e=>_0x2ddb2e[_0x3173e0(0x198)]===_0x33ed05),_0x56df9f=_0x3dbde1?.['dingToken'],_0x486cc4=_0x20592c[_0x3173e0(0x1b6)][_0x3173e0(0x18e)];if(_0x56df9f){const _0x395ebf=new utils_ok_1[(_0x3173e0(0x1ba))](_0x56df9f,_0x486cc4);msgType===_0x3173e0(0x1cd)?await _0x395ebf['sendMd'](_0x3173e0(0x1c0),_0x1ab46e+'\x20'+(_0x4c772d?'@'+_0x4c772d:''),[],_0x213b4b):await _0x395ebf['send'](_0x1ab46e+'\x20'+(_0x4c772d?'@'+_0x4c772d:''),[],_0x213b4b);}else{if(_0x105ff8){const _0x243573=await _0x20592c[_0x3173e0(0x1be)][_0x3173e0(0x1d2)](),_0x573076=msgType===_0x3173e0(0x1cd)?{'msgtype':_0x3173e0(0x1cd),'markdown':{'title':_0x3173e0(0x1cb),'text':_0x1ab46e},'at':{'atUserIds':_0x213b4b,'isAtAll':![]}}:{'msgtype':_0x3173e0(0x18f),'text':{'content':_0x1ab46e},'at':{'atUserIds':_0x213b4b,'isAtAll':![]}};try{await urllib_1[_0x3173e0(0x17f)][_0x3173e0(0x1a5)](_0x105ff8,{'method':_0x3173e0(0x19a),'data':_0x573076,'contentType':_0x3173e0(0x1ae),'headers':{'x-acs-dingtalk-access-token':_0x243573},'dataType':'json'});}catch(_0x5d3cc3){console['error']('通过\x20sessionWebhook\x20发送钉钉消息失败:',_0x5d3cc3);}}else{if(_0x20592c[_0x3173e0(0x1b6)][_0x3173e0(0x1ac)]){const _0x2dc559=new utils_ok_1[(_0x3173e0(0x1ba))](_0x20592c['config'][_0x3173e0(0x1ac)],_0x486cc4);msgType===_0x3173e0(0x1cd)?await _0x2dc559[_0x3173e0(0x1c8)](_0x3173e0(0x1c0),_0x1ab46e+'\x20'+(_0x4c772d?'@'+_0x4c772d:''),[],_0x213b4b):await _0x2dc559[_0x3173e0(0x183)](_0x1ab46e+'\x20'+(_0x4c772d?'@'+_0x4c772d:''),[],_0x213b4b);}else console['error'](_0x3173e0(0x1b3));}}}async function sendClaudeResponseToDing(_0x52bae2,_0x3457cb,_0x1efaf8,_0x3dd74d,_0x39e804){const _0x53479a=a9_0x5c6f28,_0x59e088=0x4650,_0x54914e=filterToolUseContent(_0x39e804);if(!_0x54914e){_0x52bae2[_0x53479a(0x1c6)](_0x53479a(0x195));return;}if(_0x54914e[_0x53479a(0x1c2)]<=_0x59e088)await sendDingMessage(_0x52bae2,{'conversationId':_0x3457cb,'sessionWebhook':_0x1efaf8,'atUserId':_0x3dd74d,'content':_0x54914e,'msgType':_0x53479a(0x1cd)});else{const _0xc72aba=splitMessage(_0x54914e,_0x59e088);for(let _0x393d22=0x0;_0x393d22<_0xc72aba['length'];_0x393d22++){const _0x39b0ec=_0xc72aba[_0x53479a(0x1c2)]>0x1?_0x53479a(0x181)+(_0x393d22+0x1)+'/'+_0xc72aba[_0x53479a(0x1c2)]+_0x53479a(0x1b5):'';await sendDingMessage(_0x52bae2,{'conversationId':_0x3457cb,'sessionWebhook':_0x1efaf8,'atUserId':_0x393d22===_0xc72aba[_0x53479a(0x1c2)]-0x1?_0x3dd74d:'','content':_0x39b0ec+_0xc72aba[_0x393d22],'msgType':_0x53479a(0x1cd)}),_0x393d22<_0xc72aba['length']-0x1&&await utils_ok_2[_0x53479a(0x19c)][_0x53479a(0x1a0)](0x1f4);}}}
1
+ 'use strict';const a9_0xe4b6ab=a9_0x13bc;(function(_0x47512f,_0x5e5784){const _0x2b9892=a9_0x13bc,_0x444941=_0x47512f();while(!![]){try{const _0x39a776=-parseInt(_0x2b9892(0x112))/0x1*(parseInt(_0x2b9892(0xeb))/0x2)+parseInt(_0x2b9892(0x11b))/0x3*(parseInt(_0x2b9892(0x10a))/0x4)+-parseInt(_0x2b9892(0xd5))/0x5*(-parseInt(_0x2b9892(0x100))/0x6)+parseInt(_0x2b9892(0xcc))/0x7+-parseInt(_0x2b9892(0x119))/0x8*(-parseInt(_0x2b9892(0xcf))/0x9)+-parseInt(_0x2b9892(0xfc))/0xa+parseInt(_0x2b9892(0xf4))/0xb*(-parseInt(_0x2b9892(0x10c))/0xc);if(_0x39a776===_0x5e5784)break;else _0x444941['push'](_0x444941['shift']());}catch(_0x22b1c9){_0x444941['push'](_0x444941['shift']());}}}(a9_0x3f49,0xa46e7));var __importDefault=this&&this[a9_0xe4b6ab(0xfe)]||function(_0x560b4d){const _0x37c994=a9_0xe4b6ab;return _0x560b4d&&_0x560b4d[_0x37c994(0xce)]?_0x560b4d:{'default':_0x560b4d};};Object[a9_0xe4b6ab(0x106)](exports,a9_0xe4b6ab(0xce),{'value':!![]}),exports['fetchQuotedMessage']=fetchQuotedMessage,exports[a9_0xe4b6ab(0xdf)]=queryDingUser,exports['queryUserIdByMobile']=queryUserIdByMobile,exports[a9_0xe4b6ab(0xf1)]=filterToolUseContent,exports['splitMessage']=splitMessage,exports[a9_0xe4b6ab(0xc9)]=sendDingMessage,exports['sendClaudeResponseToDing']=sendClaudeResponseToDing;function a9_0x3f49(){const _0x5409ad=['NotebookEdit','GET','default','WebSearch','status','content','errcode','getAccessToken','join','/v1.0/im/api/messages/','TaskList',']**\x0a','sendDingMessage','push','/topapi/v2/user/get?access_token=','7880796fNmXSh','body','__esModule','6723396MMNGFK','data','TaskCreate','TaskOutput','**[','config','20665WTHFlT',')[^>]*>[\x5cs\x5cS]*?<\x5c/\x5c1>',')[^>]*\x5c/>','defaultDingToken','EnterPlanMode','markdown','未能获取机器人信息发送途径','json',',\x20data=','https://oapi.dingtalk.com/robot/send?access_token=','queryDingUser','TaskGet','debugLog','lastIndexOf','EnterWorktree',',\x20errmsg=','sleep','queryUserIdByMobile\x20API\x20返回非200:\x20status=','substring','atSender','conversationId','stringify','779998MsZqoN','queryDingUser\x20接口返回错误:\x20errcode=','Agent','find','LSP','object','filterToolUseContent','parse','conversations','5126xtFTAx','queryDingUser\x20API\x20返回非200:\x20status=','CronDelete','replace','keys','ExitWorktree','queryDingUser\x20请求失败:','trim','4553690RdzEVj','AskUserQuestion','__importDefault','POST','552lzuwIE','error','https://oapi.dingtalk.com','Bash','Grep','Edit','defineProperty','result','fetchQuotedMessage\x20无法从响应中提取文本:\x20keys=','length','4GCbcNs','TaskUpdate','10116FqeVNV','通过\x20dingToken\x20发送钉钉消息失败:','CronCreate','errmsg','dingStreamClient','WebFetch','2nkByzB','text','request','warn','string','Read','userid','8JEBlcI','https://api.dingtalk.com','145824ygvONr'];a9_0x3f49=function(){return _0x5409ad;};return a9_0x3f49();}function a9_0x13bc(_0x599d3d,_0x208c72){_0x599d3d=_0x599d3d-0xbf;const _0x3f498c=a9_0x3f49();let _0x13bc91=_0x3f498c[_0x599d3d];return _0x13bc91;}const utils_ok_1=require('utils-ok'),urllib_1=__importDefault(require('urllib')),DING_API_BASE=a9_0xe4b6ab(0x11a),DING_OAPI_BASE=a9_0xe4b6ab(0x102);async function fetchQuotedMessage(_0x41b2c8,_0x13b262){const _0x12cbf0=a9_0xe4b6ab;try{const _0x8b9778=await _0x41b2c8[_0x12cbf0(0x110)]['getAccessToken'](),_0x528591=DING_API_BASE+_0x12cbf0(0xc6)+encodeURIComponent(_0x13b262),_0x2582c0=await urllib_1[_0x12cbf0(0xbf)]['request'](_0x528591,{'method':_0x12cbf0(0x11d),'headers':{'x-acs-dingtalk-access-token':_0x8b9778},'dataType':_0x12cbf0(0xdc),'timeout':0x1388});if(_0x2582c0[_0x12cbf0(0xc1)]!==0xc8||!_0x2582c0[_0x12cbf0(0xd0)])return _0x41b2c8[_0x12cbf0(0xe1)]('fetchQuotedMessage\x20API\x20返回非200:\x20status='+_0x2582c0[_0x12cbf0(0xc1)]+_0x12cbf0(0xdd)+JSON[_0x12cbf0(0xea)](_0x2582c0['data'])),null;const _0x4988b5=_0x2582c0[_0x12cbf0(0xd0)];if(_0x4988b5[_0x12cbf0(0x113)]&&typeof _0x4988b5[_0x12cbf0(0x113)]===_0x12cbf0(0xf0)){const _0x6e5146=_0x4988b5[_0x12cbf0(0x113)][_0x12cbf0(0xc2)];if(typeof _0x6e5146===_0x12cbf0(0x116)&&_0x6e5146)return _0x6e5146['trim']();}if(typeof _0x4988b5[_0x12cbf0(0xc2)]===_0x12cbf0(0x116)&&_0x4988b5[_0x12cbf0(0xc2)])try{const _0x436ca6=JSON[_0x12cbf0(0xf2)](_0x4988b5[_0x12cbf0(0xc2)]);if(typeof _0x436ca6===_0x12cbf0(0x116))return _0x436ca6['trim']();if(_0x436ca6[_0x12cbf0(0x113)])return String(_0x436ca6[_0x12cbf0(0x113)])[_0x12cbf0(0xfb)]();if(_0x436ca6[_0x12cbf0(0xc2)])return String(_0x436ca6[_0x12cbf0(0xc2)])['trim']();}catch{return _0x4988b5[_0x12cbf0(0xc2)][_0x12cbf0(0xfb)]();}if(_0x4988b5[_0x12cbf0(0xcd)]&&typeof _0x4988b5[_0x12cbf0(0xcd)]===_0x12cbf0(0xf0)){const _0x3676b6=_0x4988b5['body'];if(typeof _0x3676b6[_0x12cbf0(0xc2)]===_0x12cbf0(0x116)&&_0x3676b6[_0x12cbf0(0xc2)])return _0x3676b6[_0x12cbf0(0xc2)][_0x12cbf0(0xfb)]();}return _0x41b2c8[_0x12cbf0(0xe1)](_0x12cbf0(0x108)+Object[_0x12cbf0(0xf8)](_0x4988b5)[_0x12cbf0(0xc5)](',')),null;}catch(_0x1b63d0){return console[_0x12cbf0(0x115)]('fetchQuotedMessage\x20请求失败:',_0x1b63d0),null;}}async function queryDingUser(_0xaa4544,_0x1e960d){const _0xaffb6d=a9_0xe4b6ab;try{const _0x42480f=await _0xaa4544[_0xaffb6d(0x110)][_0xaffb6d(0xc4)](),_0x599238=DING_OAPI_BASE+_0xaffb6d(0xcb)+_0x42480f,_0x44adf3=await urllib_1[_0xaffb6d(0xbf)]['request'](_0x599238,{'method':_0xaffb6d(0xff),'data':{'userid':_0x1e960d},'contentType':_0xaffb6d(0xdc),'dataType':_0xaffb6d(0xdc),'timeout':0x1388});if(_0x44adf3[_0xaffb6d(0xc1)]!==0xc8||!_0x44adf3[_0xaffb6d(0xd0)])return _0xaa4544['debugLog'](_0xaffb6d(0xf5)+_0x44adf3[_0xaffb6d(0xc1)]+',\x20data='+JSON['stringify'](_0x44adf3[_0xaffb6d(0xd0)])),null;const _0x254c97=_0x44adf3[_0xaffb6d(0xd0)];if(_0x254c97[_0xaffb6d(0xc3)]!==0x0)return console[_0xaffb6d(0x115)](_0xaffb6d(0xec)+_0x254c97[_0xaffb6d(0xc3)]+_0xaffb6d(0xe4)+_0x254c97[_0xaffb6d(0x10f)]),null;return _0x254c97['result']||null;}catch(_0x356258){return console[_0xaffb6d(0x115)](_0xaffb6d(0xfa),_0x356258),null;}}async function queryUserIdByMobile(_0x483d60,_0x43325c){const _0x594347=a9_0xe4b6ab;try{const _0x5bb719=await _0x483d60[_0x594347(0x110)][_0x594347(0xc4)](),_0x6f2653=DING_OAPI_BASE+'/topapi/v2/user/getbymobile?access_token='+_0x5bb719,_0x25f5f0=await urllib_1[_0x594347(0xbf)][_0x594347(0x114)](_0x6f2653,{'method':_0x594347(0xff),'data':{'mobile':_0x43325c},'contentType':_0x594347(0xdc),'dataType':'json','timeout':0x1388});if(_0x25f5f0[_0x594347(0xc1)]!==0xc8||!_0x25f5f0['data'])return _0x483d60[_0x594347(0xe1)](_0x594347(0xe6)+_0x25f5f0['status']+_0x594347(0xdd)+JSON[_0x594347(0xea)](_0x25f5f0[_0x594347(0xd0)])),null;const _0x4eb3f7=_0x25f5f0[_0x594347(0xd0)];if(_0x4eb3f7[_0x594347(0xc3)]!==0x0)return console['warn']('queryUserIdByMobile\x20接口返回错误:\x20errcode='+_0x4eb3f7[_0x594347(0xc3)]+_0x594347(0xe4)+_0x4eb3f7[_0x594347(0x10f)]),null;const _0xbf42de=_0x4eb3f7[_0x594347(0x107)];return _0xbf42de?.[_0x594347(0x118)]||null;}catch(_0x131151){return console[_0x594347(0x115)]('queryUserIdByMobile\x20请求失败:',_0x131151),null;}}const TOOL_TAGS=['Write',a9_0xe4b6ab(0x117),a9_0xe4b6ab(0x105),a9_0xe4b6ab(0x103),a9_0xe4b6ab(0x104),'Glob',a9_0xe4b6ab(0xed),'Skill',a9_0xe4b6ab(0x111),a9_0xe4b6ab(0xc0),a9_0xe4b6ab(0xd2),a9_0xe4b6ab(0xfd),a9_0xe4b6ab(0xd9),'ExitPlanMode',a9_0xe4b6ab(0xd1),a9_0xe4b6ab(0xe0),a9_0xe4b6ab(0x10b),a9_0xe4b6ab(0xc7),a9_0xe4b6ab(0xe3),a9_0xe4b6ab(0xf9),a9_0xe4b6ab(0x10e),a9_0xe4b6ab(0xf6),'CronList',a9_0xe4b6ab(0xef),a9_0xe4b6ab(0x11c)][a9_0xe4b6ab(0xc5)]('|'),TOOL_USE_SELF_CLOSE_RE=new RegExp('<('+TOOL_TAGS+a9_0xe4b6ab(0xd7),'g'),TOOL_USE_OPEN_CLOSE_RE=new RegExp('<('+TOOL_TAGS+a9_0xe4b6ab(0xd6),'g'),MULTI_NEWLINE_RE=/\n{3,}/g;function filterToolUseContent(_0x1220b6){const _0xc8645a=a9_0xe4b6ab;let _0x464b3d=_0x1220b6[_0xc8645a(0xf7)](TOOL_USE_SELF_CLOSE_RE,'');return _0x464b3d=_0x464b3d[_0xc8645a(0xf7)](TOOL_USE_OPEN_CLOSE_RE,''),_0x464b3d=_0x464b3d[_0xc8645a(0xf7)](MULTI_NEWLINE_RE,'\x0a\x0a'),_0x464b3d[_0xc8645a(0xfb)]();}function splitMessage(_0x4988f6,_0x1bf0cb){const _0xcbf21d=a9_0xe4b6ab,_0x2b94c6=[];while(_0x4988f6[_0xcbf21d(0x109)]>_0x1bf0cb){let _0x1664e5=_0x4988f6['lastIndexOf']('\x0a',_0x1bf0cb);(_0x1664e5===-0x1||_0x1664e5<_0x1bf0cb*0.5)&&(_0x1664e5=_0x4988f6['lastIndexOf']('。',_0x1bf0cb)),(_0x1664e5===-0x1||_0x1664e5<_0x1bf0cb*0.5)&&(_0x1664e5=_0x4988f6[_0xcbf21d(0xe2)]('\x20',_0x1bf0cb)),_0x1664e5===-0x1||_0x1664e5<_0x1bf0cb*0.5?_0x1664e5=_0x1bf0cb:_0x1664e5+=0x1,_0x2b94c6[_0xcbf21d(0xca)](_0x4988f6[_0xcbf21d(0xe7)](0x0,_0x1664e5)[_0xcbf21d(0xfb)]()),_0x4988f6=_0x4988f6[_0xcbf21d(0xe7)](_0x1664e5)['trim']();}return _0x4988f6[_0xcbf21d(0x109)]>0x0&&_0x2b94c6['push'](_0x4988f6),_0x2b94c6;}async function sendDingMessage(_0x3504a3,_0x1171d0){const _0x45c880=a9_0xe4b6ab,{conversationId:_0x14db64,sessionWebhook:_0x450c5e,atUserId:_0x11dda8,content:_0x34fada,msgType:msgType=_0x45c880(0x113)}=_0x1171d0,_0x4e2862=_0x3504a3[_0x45c880(0xd4)][_0x45c880(0xf3)][_0x45c880(0xee)](_0x1ba13a=>_0x1ba13a[_0x45c880(0xe9)]===_0x14db64);let _0x3eb13d=_0x11dda8;_0x4e2862?.[_0x45c880(0xe8)]===![]&&(_0x3eb13d=undefined);const _0x57d792=_0x3eb13d?[_0x3eb13d]:[],_0x58e97d=_0x4e2862?.['dingToken'];let _0x25f4b6=_0x34fada;_0x3eb13d&&msgType===_0x45c880(0xda)&&(_0x25f4b6=_0x34fada+'\x0a@'+_0x3eb13d);const _0x85adcb=msgType===_0x45c880(0xda)?{'msgtype':_0x45c880(0xda),'markdown':{'title':_0x25f4b6,'text':_0x25f4b6},'at':{'atUserIds':_0x57d792,'isAtAll':![]}}:{'msgtype':_0x45c880(0x113),'text':{'content':_0x34fada},'at':{'atUserIds':_0x57d792,'isAtAll':![]}};if(_0x58e97d){const _0x344a69=await _0x3504a3['dingStreamClient'][_0x45c880(0xc4)](),_0x5188a9=_0x45c880(0xde)+_0x58e97d;try{await urllib_1[_0x45c880(0xbf)][_0x45c880(0x114)](_0x5188a9,{'method':_0x45c880(0xff),'data':_0x85adcb,'contentType':_0x45c880(0xdc),'headers':{'x-acs-dingtalk-access-token':_0x344a69},'dataType':_0x45c880(0xdc)});}catch(_0x2f595c){console['error'](_0x45c880(0x10d),_0x2f595c);}}else{if(_0x450c5e){const _0x4da4e7=await _0x3504a3['dingStreamClient']['getAccessToken']();try{await urllib_1[_0x45c880(0xbf)][_0x45c880(0x114)](_0x450c5e,{'method':'POST','data':_0x85adcb,'contentType':_0x45c880(0xdc),'headers':{'x-acs-dingtalk-access-token':_0x4da4e7},'dataType':_0x45c880(0xdc)});}catch(_0x49c7f7){console['error']('通过\x20sessionWebhook\x20发送钉钉消息失败:',_0x49c7f7);}}else{if(_0x3504a3[_0x45c880(0xd4)][_0x45c880(0xd8)]){const _0x5a521e=await _0x3504a3[_0x45c880(0x110)][_0x45c880(0xc4)](),_0x385678=_0x45c880(0xde)+_0x3504a3[_0x45c880(0xd4)][_0x45c880(0xd8)];try{await urllib_1['default'][_0x45c880(0x114)](_0x385678,{'method':_0x45c880(0xff),'data':_0x85adcb,'contentType':'json','headers':{'x-acs-dingtalk-access-token':_0x5a521e},'dataType':_0x45c880(0xdc)});}catch(_0x2a2a37){console['error']('通过\x20defaultDingToken\x20发送钉钉消息失败:',_0x2a2a37);}}else console[_0x45c880(0x101)](_0x45c880(0xdb));}}}async function sendClaudeResponseToDing(_0x2d34a4,_0x3f8362,_0x408b0c,_0x38900f,_0x54140e){const _0xfd8176=a9_0xe4b6ab,_0x42c0df=0x4650,_0x19d710=filterToolUseContent(_0x54140e);if(!_0x19d710){_0x2d34a4[_0xfd8176(0xe1)]('过滤后内容为空,跳过发送');return;}if(_0x19d710[_0xfd8176(0x109)]<=_0x42c0df)await sendDingMessage(_0x2d34a4,{'conversationId':_0x3f8362,'sessionWebhook':_0x408b0c,'atUserId':_0x38900f,'content':_0x19d710,'msgType':_0xfd8176(0xda)});else{const _0x5aadd1=splitMessage(_0x19d710,_0x42c0df);for(let _0x35bbe0=0x0;_0x35bbe0<_0x5aadd1[_0xfd8176(0x109)];_0x35bbe0++){const _0x2e9984=_0x5aadd1[_0xfd8176(0x109)]>0x1?_0xfd8176(0xd3)+(_0x35bbe0+0x1)+'/'+_0x5aadd1[_0xfd8176(0x109)]+_0xfd8176(0xc8):'';await sendDingMessage(_0x2d34a4,{'conversationId':_0x3f8362,'sessionWebhook':_0x408b0c,'atUserId':_0x35bbe0===_0x5aadd1[_0xfd8176(0x109)]-0x1?_0x38900f:'','content':_0x2e9984+_0x5aadd1[_0x35bbe0],'msgType':_0xfd8176(0xda)}),_0x35bbe0<_0x5aadd1[_0xfd8176(0x109)]-0x1&&await utils_ok_1['baseUtil'][_0xfd8176(0xe5)](0x1f4);}}}
@@ -1 +1 @@
1
- 'use strict';function a10_0x2bad(){const _0x392d66=['__esModule','repliedMsg','3543090anYvaT','string','──\x20引用消息','quoteSenderNick','defineProperty','extractQuoteInfo','msgId','trim','7Ouvirk','\x0a──\x20引用结束\x20──\x0a\x0a','14439Qavzyb','4969456aqCBTl','senderNick','192BzzELa','5134563Prhyrr','content','878754GwOWXr','\x20──\x0a','39220SFyWom','quoteText','491285qDETWK','text','\x20(来自:\x20'];a10_0x2bad=function(){return _0x392d66;};return a10_0x2bad();}const a10_0x1687ea=a10_0x1d37;(function(_0x1819d8,_0x310541){const _0x25f2c6=a10_0x1d37,_0x1d8c15=_0x1819d8();while(!![]){try{const _0x46c9dd=-parseInt(_0x25f2c6(0x159))/0x1+parseInt(_0x25f2c6(0x155))/0x2+-parseInt(_0x25f2c6(0x14f))/0x3*(parseInt(_0x25f2c6(0x152))/0x4)+parseInt(_0x25f2c6(0x157))/0x5+parseInt(_0x25f2c6(0x15e))/0x6+parseInt(_0x25f2c6(0x14d))/0x7*(parseInt(_0x25f2c6(0x150))/0x8)+-parseInt(_0x25f2c6(0x153))/0x9;if(_0x46c9dd===_0x310541)break;else _0x1d8c15['push'](_0x1d8c15['shift']());}catch(_0x58f1ec){_0x1d8c15['push'](_0x1d8c15['shift']());}}}(a10_0x2bad,0x59616));function a10_0x1d37(_0x28748d,_0x1325f7){_0x28748d=_0x28748d-0x14c;const _0x2bad5d=a10_0x2bad();let _0x1d37c0=_0x2bad5d[_0x28748d];return _0x1d37c0;}Object[a10_0x1687ea(0x162)](exports,a10_0x1687ea(0x15c),{'value':!![]}),exports[a10_0x1687ea(0x163)]=extractQuoteInfo,exports['formatPromptWithQuote']=formatPromptWithQuote;function extractQuoteInfo(_0x54c1d8){const _0x5f966b=a10_0x1687ea,_0x539ff2=_0x54c1d8[_0x5f966b(0x15a)];if(!_0x539ff2?.[_0x5f966b(0x15d)])return null;const _0x1ba784=_0x539ff2[_0x5f966b(0x15d)];let _0x524c9e='';const _0x277d26=_0x1ba784[_0x5f966b(0x164)],_0x5bbeb6=_0x1ba784[_0x5f966b(0x151)];if(_0x1ba784[_0x5f966b(0x154)]){if(typeof _0x1ba784[_0x5f966b(0x154)][_0x5f966b(0x15a)]==='string')_0x524c9e=_0x1ba784[_0x5f966b(0x154)][_0x5f966b(0x15a)][_0x5f966b(0x14c)]();else typeof _0x1ba784[_0x5f966b(0x154)]===_0x5f966b(0x15f)&&(_0x524c9e=_0x1ba784['content'][_0x5f966b(0x14c)]());}if(!_0x524c9e&&!_0x277d26)return null;return{'quoteText':_0x524c9e,'quoteMessageId':_0x277d26,'quoteSenderNick':_0x5bbeb6};}function formatPromptWithQuote(_0x53b81c,_0x5b1138){const _0x1b9c08=a10_0x1687ea;if(!_0x5b1138[_0x1b9c08(0x158)])return _0x53b81c;const _0x275f3b=_0x5b1138[_0x1b9c08(0x161)]?_0x1b9c08(0x15b)+_0x5b1138['quoteSenderNick']+')':'';return _0x1b9c08(0x160)+_0x275f3b+_0x1b9c08(0x156)+_0x5b1138[_0x1b9c08(0x158)]+_0x1b9c08(0x14e)+_0x53b81c;}
1
+ 'use strict';const a10_0x7c5a8c=a10_0x169a;(function(_0x333cd5,_0x207301){const _0x105396=a10_0x169a,_0x216318=_0x333cd5();while(!![]){try{const _0x3bad61=-parseInt(_0x105396(0xf4))/0x1*(-parseInt(_0x105396(0x107))/0x2)+parseInt(_0x105396(0xf0))/0x3+-parseInt(_0x105396(0x100))/0x4+parseInt(_0x105396(0x103))/0x5+-parseInt(_0x105396(0xf3))/0x6+-parseInt(_0x105396(0xf7))/0x7*(-parseInt(_0x105396(0xfb))/0x8)+-parseInt(_0x105396(0xfd))/0x9*(parseInt(_0x105396(0xfe))/0xa);if(_0x3bad61===_0x207301)break;else _0x216318['push'](_0x216318['shift']());}catch(_0x5c361a){_0x216318['push'](_0x216318['shift']());}}}(a10_0x1a09,0xd973d));function a10_0x1a09(){const _0x5c741c=['repliedMsg','2822942wWTHLR','quoteText','trim','1638684IPmeuT','extractQuoteInfo','string','7690542PJXWdF','1JYDYLK','text','msgId','14UCdqKK','\x20──\x0a','content','\x0a──\x20引用结束\x20──\x0a\x0a','6838328UxyOdx','\x20(来自:\x20','63FEupiQ','2762920sibssW','quoteSenderNick','1262676VPgoUS','__esModule','──\x20引用消息','3774370HZIBtM','formatPromptWithQuote','defineProperty'];a10_0x1a09=function(){return _0x5c741c;};return a10_0x1a09();}Object[a10_0x7c5a8c(0x105)](exports,a10_0x7c5a8c(0x101),{'value':!![]}),exports[a10_0x7c5a8c(0xf1)]=extractQuoteInfo,exports[a10_0x7c5a8c(0x104)]=formatPromptWithQuote;function a10_0x169a(_0x1ae14b,_0x281c73){_0x1ae14b=_0x1ae14b-0xef;const _0x1a09a2=a10_0x1a09();let _0x169a01=_0x1a09a2[_0x1ae14b];return _0x169a01;}function extractQuoteInfo(_0x4335a5){const _0x6decc0=a10_0x7c5a8c,_0x754889=_0x4335a5[_0x6decc0(0xf5)];if(!_0x754889?.[_0x6decc0(0x106)])return null;const _0x358183=_0x754889[_0x6decc0(0x106)];let _0x4e4ccd='';const _0x45d2af=_0x358183[_0x6decc0(0xf6)],_0x120dc0=_0x358183['senderNick'];if(_0x358183['content']){if(typeof _0x358183[_0x6decc0(0xf9)][_0x6decc0(0xf5)]===_0x6decc0(0xf2))_0x4e4ccd=_0x358183[_0x6decc0(0xf9)][_0x6decc0(0xf5)][_0x6decc0(0xef)]();else typeof _0x358183[_0x6decc0(0xf9)]==='string'&&(_0x4e4ccd=_0x358183['content'][_0x6decc0(0xef)]());}if(!_0x4e4ccd&&!_0x45d2af)return null;return{'quoteText':_0x4e4ccd,'quoteMessageId':_0x45d2af,'quoteSenderNick':_0x120dc0};}function formatPromptWithQuote(_0x4af3b3,_0x400116){const _0x57bee2=a10_0x7c5a8c;if(!_0x400116[_0x57bee2(0x108)])return _0x4af3b3;const _0x10806b=_0x400116[_0x57bee2(0xff)]?_0x57bee2(0xfc)+_0x400116[_0x57bee2(0xff)]+')':'';return _0x57bee2(0x102)+_0x10806b+_0x57bee2(0xf8)+_0x400116[_0x57bee2(0x108)]+_0x57bee2(0xfa)+_0x4af3b3;}
@@ -1 +1 @@
1
- 'use strict';const a11_0x114a85=a11_0x3896;(function(_0x5d76f9,_0x1746fd){const _0x33b556=a11_0x3896,_0x119b53=_0x5d76f9();while(!![]){try{const _0x30f227=parseInt(_0x33b556(0x17b))/0x1+-parseInt(_0x33b556(0x130))/0x2*(parseInt(_0x33b556(0x147))/0x3)+parseInt(_0x33b556(0x1ae))/0x4*(parseInt(_0x33b556(0x13f))/0x5)+-parseInt(_0x33b556(0x1cc))/0x6*(-parseInt(_0x33b556(0x174))/0x7)+parseInt(_0x33b556(0x1a9))/0x8*(-parseInt(_0x33b556(0x19d))/0x9)+-parseInt(_0x33b556(0x1a0))/0xa+-parseInt(_0x33b556(0x175))/0xb*(-parseInt(_0x33b556(0x15d))/0xc);if(_0x30f227===_0x1746fd)break;else _0x119b53['push'](_0x119b53['shift']());}catch(_0x1c68d6){_0x119b53['push'](_0x119b53['shift']());}}}(a11_0x5ca9,0x83c33));var __importDefault=this&&this[a11_0x114a85(0x165)]||function(_0x1dcace){const _0xe44a41=a11_0x114a85;return _0x1dcace&&_0x1dcace[_0xe44a41(0x18e)]?_0x1dcace:{'default':_0x1dcace};};Object[a11_0x114a85(0x1d9)](exports,a11_0x114a85(0x18e),{'value':!![]}),exports['timestamp']=timestamp,exports[a11_0x114a85(0x1b8)]=getHomeDir,exports[a11_0x114a85(0x1d8)]=getClientDir,exports[a11_0x114a85(0x192)]=initClientDir,exports['ensureClientDir']=ensureClientDir,exports['getClientConfig']=getClientConfig,exports[a11_0x114a85(0x1b0)]=authCheck,exports[a11_0x114a85(0x144)]=isOwner,exports[a11_0x114a85(0x1e2)]=debugLog,exports[a11_0x114a85(0x155)]=hashConversationId,exports[a11_0x114a85(0x19a)]=getReplyWebhook,exports[a11_0x114a85(0x159)]=getReplyConversationId,exports['findActiveSession']=findActiveSession,exports[a11_0x114a85(0x15c)]=getConversationConfig,exports[a11_0x114a85(0x1c6)]=getConversationDir,exports['getSessionsDir']=getSessionsDir,exports[a11_0x114a85(0x18c)]=getTasksDir,exports[a11_0x114a85(0x149)]=getImagesDir,exports[a11_0x114a85(0x1e4)]=getSessionDir,exports[a11_0x114a85(0x1e5)]=getSessionId,exports['formatSessionInfo']=formatSessionInfo,exports[a11_0x114a85(0x173)]=readSessionLogTail,exports[a11_0x114a85(0x1d5)]=findHistorySession,exports[a11_0x114a85(0x16c)]=findLatestSession,exports[a11_0x114a85(0x18b)]=updateSessionFile,exports[a11_0x114a85(0x15f)]=appendSessionLog,exports['getActiveSessionsFile']=getActiveSessionsFile,exports[a11_0x114a85(0x1c1)]=saveActiveSession,exports[a11_0x114a85(0x135)]=loadActiveSessions,exports[a11_0x114a85(0x16d)]=endSession,exports[a11_0x114a85(0x1a7)]=switchToSession,exports[a11_0x114a85(0x184)]=startNewSession,exports[a11_0x114a85(0x14c)]=handleSessionMessage,exports[a11_0x114a85(0x1ca)]=cleanCache;const utils_ok_1=require('utils-ok'),fs_1=__importDefault(require('fs')),os_1=__importDefault(require('os')),assert_1=__importDefault(require(a11_0x114a85(0x1a8))),crypto_1=__importDefault(require(a11_0x114a85(0x133))),path_1=__importDefault(require(a11_0x114a85(0x1d2))),commands_1=require('./commands'),messaging_1=require('./messaging'),claude_process_1=require(a11_0x114a85(0x14f));function timestamp(){const _0x34386c=a11_0x114a85;return utils_ok_1['dateUtil']['mm'](Date['now']())[_0x34386c(0x15b)](_0x34386c(0x179));}function getHomeDir(){const _0x9d3d52=a11_0x114a85;return os_1[_0x9d3d52(0x19b)][_0x9d3d52(0x19f)]();}function getClientDir(_0x584ca7){const _0x169579=a11_0x114a85;return path_1[_0x169579(0x19b)][_0x169579(0x18d)](getHomeDir(),_0x169579(0x154),_0x169579(0x138),_0x584ca7['clientId']);}function initClientDir(_0xaa8f5,_0xa458f2){const _0x156600=a11_0x114a85,_0x2d72c3=path_1[_0x156600(0x19b)][_0x156600(0x18d)](getHomeDir(),_0x156600(0x154),'cc-ding',_0xaa8f5),_0x264d74=path_1['default'][_0x156600(0x18d)](_0x2d72c3,_0x156600(0x17d));return fs_1[_0x156600(0x19b)][_0x156600(0x1ac)](_0x2d72c3,{'recursive':!![]}),fs_1[_0x156600(0x19b)][_0x156600(0x185)](_0x264d74,JSON[_0x156600(0x178)](_0xa458f2,null,0x2),_0x156600(0x13e)),_0x264d74;}function ensureClientDir(_0xfde5e5){const _0x35ac5c=a11_0x114a85,_0x5c8720=path_1[_0x35ac5c(0x19b)][_0x35ac5c(0x18d)](getHomeDir(),_0x35ac5c(0x154),_0x35ac5c(0x138),_0xfde5e5),_0x4ebb5e=path_1[_0x35ac5c(0x19b)][_0x35ac5c(0x18d)](_0x5c8720,_0x35ac5c(0x17d));if(fs_1['default'][_0x35ac5c(0x13d)](_0x4ebb5e))return;console[_0x35ac5c(0x14a)]('['+timestamp()+']\x20客户端目录未初始化:\x20'+_0x5c8720),console[_0x35ac5c(0x14a)]('['+timestamp()+']\x20正在自动初始化...');const _0x4015c6={'clientName':_0x35ac5c(0x151),'whiteUserList':[],'clientSecret':'<clientSecret-钉钉Stream连接密钥>','dingSecret':_0x35ac5c(0x164),'defaultDingToken':_0x35ac5c(0x1da),'conversations':[]};initClientDir(_0xfde5e5,_0x4015c6),console[_0x35ac5c(0x14a)]('['+timestamp()+_0x35ac5c(0x1a1)+_0x4ebb5e),console['log']('['+timestamp()+']\x20请编辑\x20config.json\x20填写必要的配置项后重新启动'),process['exit'](0x1);}function getClientConfig(_0x4d076e){const _0x523c2d=a11_0x114a85,_0x3c8e6e=getClientDir(_0x4d076e)+_0x523c2d(0x170);(0x0,assert_1[_0x523c2d(0x19b)])(fs_1[_0x523c2d(0x19b)]['existsSync'](_0x3c8e6e),_0x523c2d(0x1d4)+_0x3c8e6e);const _0x3210af=utils_ok_1[_0x523c2d(0x1db)]['getJSON'](_0x3c8e6e);return(0x0,assert_1['default'])(_0x3210af[_0x523c2d(0x1d0)],_0x523c2d(0x14e)),(0x0,assert_1['default'])(_0x3210af[_0x523c2d(0x1d1)],_0x523c2d(0x16b)),_0x3210af;}function authCheck(_0x1282e9,_0x4d0973,_0x261fee){const _0x3a91a4=a11_0x114a85;if(_0x261fee){const _0xd8fbb0=_0x1282e9[_0x3a91a4(0x198)][_0x3a91a4(0x194)]['find'](_0x389508=>_0x389508[_0x3a91a4(0x162)]===_0x261fee);if(_0xd8fbb0?.['whiteUserList']&&_0xd8fbb0[_0x3a91a4(0x1d1)][_0x3a91a4(0x1d6)]>0x0)return _0xd8fbb0[_0x3a91a4(0x1d1)][_0x3a91a4(0x1b6)](_0x4d0973);}return _0x1282e9[_0x3a91a4(0x198)]['whiteUserList']['includes'](_0x4d0973);}function isOwner(_0x1cf386,_0xd69ed8){const _0x141798=a11_0x114a85;return!!_0x1cf386[_0x141798(0x198)]['owner']&&_0x1cf386['config'][_0x141798(0x1bb)]===_0xd69ed8;}function debugLog(_0x135335,_0xb5f7f7,..._0xd07d5e){const _0x2f8c9d=a11_0x114a85;_0x135335[_0x2f8c9d(0x198)][_0x2f8c9d(0x1e8)]&&console[_0x2f8c9d(0x14a)](_0x2f8c9d(0x1dc)+_0xb5f7f7,..._0xd07d5e);}function hashConversationId(_0x76f008,_0x1854c0){const _0x4beb2b=a11_0x114a85,_0x124b20=getConversationConfig(_0x76f008,_0x1854c0),_0x3c3be8=_0x124b20[_0x4beb2b(0x156)]||_0x1854c0;return crypto_1[_0x4beb2b(0x19b)][_0x4beb2b(0x1c4)](_0x4beb2b(0x1de))['update'](_0x3c3be8)[_0x4beb2b(0x137)](_0x4beb2b(0x17e));}function getReplyWebhook(_0x48dcba){const _0x52c405=a11_0x114a85;return _0x48dcba[_0x52c405(0x199)]||_0x48dcba[_0x52c405(0x1a3)];}function getReplyConversationId(_0x2f2e07){const _0x158d58=a11_0x114a85;return _0x2f2e07[_0x158d58(0x1c3)]||_0x2f2e07['conversationId'];}function findActiveSession(_0x4346d3,_0x34aa8f){const _0x2865f8=a11_0x114a85,_0x3cdf89=_0x4346d3[_0x2865f8(0x15e)]['get'](_0x34aa8f);if(_0x3cdf89)return{'key':_0x34aa8f,'session':_0x3cdf89};const _0x229c8f=getConversationConfig(_0x4346d3,_0x34aa8f);if(_0x229c8f?.[_0x2865f8(0x156)])for(const _0x14058a of _0x4346d3[_0x2865f8(0x15e)]){const _0x476e14=getConversationConfig(_0x4346d3,_0x14058a[0x0]);if(_0x476e14?.[_0x2865f8(0x156)]===_0x229c8f[_0x2865f8(0x156)])return{'key':_0x14058a[0x0],'session':_0x14058a[0x1]};}return undefined;}function getConversationConfig(_0x544916,_0xb1e8d2){const _0x5a0496=a11_0x114a85;return _0x544916[_0x5a0496(0x198)]['conversations']['find'](_0x15d981=>_0x15d981[_0x5a0496(0x162)]===_0xb1e8d2);}function getConversationDir(_0x95f585,_0x4ad2a3){const _0x457f0e=hashConversationId(_0x95f585,_0x4ad2a3);return getClientDir(_0x95f585)+'/'+_0x457f0e;}function a11_0x3896(_0x56a316,_0x4c81ab){_0x56a316=_0x56a316-0x12d;const _0x5ca921=a11_0x5ca9();let _0x3896cb=_0x5ca921[_0x56a316];return _0x3896cb;}function getSessionsDir(_0x1b7302,_0x2dc385){const _0x1353b6=a11_0x114a85;return getConversationDir(_0x1b7302,_0x2dc385)+_0x1353b6(0x189);}function getTasksDir(_0x4c900c,_0x133fe9){const _0x4a55cc=a11_0x114a85;return getConversationDir(_0x4c900c,_0x133fe9)+_0x4a55cc(0x14b);}function getImagesDir(_0x29ff4b,_0x3331df){const _0x5dcab5=a11_0x114a85;return getConversationDir(_0x29ff4b,_0x3331df)+_0x5dcab5(0x145);}function getSessionDir(_0x17fda8,_0x48ae71){const _0x2d2906=a11_0x114a85,_0x2f819c=_0x48ae71[_0x2d2906(0x1b7)]||_0x48ae71[_0x2d2906(0x1bf)];return getSessionsDir(_0x17fda8,_0x48ae71[_0x2d2906(0x162)])+'/'+_0x2f819c;}function getSessionId(_0x4e4451){const _0x9be195=a11_0x114a85;return _0x4e4451['claudeSessionId']||_0x4e4451[_0x9be195(0x1bf)];}function formatSessionInfo(_0x38ced1,_0xb135c3){const _0x108da6=a11_0x114a85,_0x4e2317=findActiveSession(_0x38ced1,_0xb135c3);if(!_0x4e2317)return null;const {session:_0x302939,isProcessing:_0x1ef3e6}=_0x4e2317['session'],_0x2872f1=['-\x20**会话ID:**\x20'+getSessionId(_0x302939),'-\x20**发起者:**\x20'+_0x302939[_0x108da6(0x1a6)]+'('+_0x302939['startStaffId']+')',_0x108da6(0x13c)+_0x302939['startTimeStr'],_0x108da6(0x172)+_0x4e2317['session'][_0x108da6(0x157)],'-\x20**处理中:**\x20'+_0x1ef3e6];return _0x2872f1['join']('\x0a');}function readSessionLogTail(_0x49beed,_0x139617,_0x55a0b8){const _0x2020b9=a11_0x114a85,_0x595d6b=findActiveSession(_0x49beed,_0x139617);if(!_0x595d6b)return null;const _0x4cef7e=_0x595d6b[_0x2020b9(0x1b9)],_0x176a60=getSessionDir(_0x49beed,_0x4cef7e[_0x2020b9(0x1b9)])+_0x2020b9(0x1dd);if(!fs_1[_0x2020b9(0x19b)][_0x2020b9(0x13d)](_0x176a60))return null;try{const _0x124e73=fs_1[_0x2020b9(0x19b)][_0x2020b9(0x1a5)](_0x176a60,_0x2020b9(0x13e)),_0x2c2be2=_0x124e73[_0x2020b9(0x15a)]('\x0a')[_0x2020b9(0x191)](_0x2e6456=>_0x2e6456[_0x2020b9(0x1d6)]>0x0);return _0x2c2be2[_0x2020b9(0x1b1)](-_0x55a0b8)[_0x2020b9(0x18d)]('\x0a');}catch{return null;}}function findHistorySession(_0x4f5732,_0x573989,_0x1fb8d6){const _0x25ad3a=a11_0x114a85,_0x5c2777=getSessionsDir(_0x4f5732,_0x573989),_0x1e5ae6=_0x5c2777+'/'+_0x1fb8d6+_0x25ad3a(0x148);try{return utils_ok_1[_0x25ad3a(0x1db)][_0x25ad3a(0x142)](_0x1e5ae6);}catch{}const _0x1e4925=parseInt(_0x1fb8d6,0xa);if(!isNaN(_0x1e4925)&&_0x1e4925>0x0){const _0xbc7142=utils_ok_1[_0x25ad3a(0x1af)]['mm'](_0x1e4925)[_0x25ad3a(0x15b)](_0x25ad3a(0x17c)),_0x3409f6=_0x5c2777+'/'+_0xbc7142+_0x25ad3a(0x148);try{return utils_ok_1[_0x25ad3a(0x1db)][_0x25ad3a(0x142)](_0x3409f6);}catch{}}return null;}function a11_0x5ca9(){const _0x2b518b=['isOwner','/.images',',该会话可能已被清理,请发送新消息开始新会话','297XOxgZB','/session.json','getImagesDir','log','/.tasks','handleSessionMessage','结束会话时中断正在执行的\x20Claude\x20进程','config.json\x20missing\x20required\x20field:\x20clientSecret','./claude-process','set','cc助手','读取sessions目录失败:\x20','sendDingMessage','.anycli','hashConversationId','linkConversationId','lastSenderStaffId','(关联群,会话归属=','getReplyConversationId','split','format','getConversationConfig','3144ADoyrB','activeSessions','appendSessionLog','删除活跃会话文件失败:\x20','name','conversationId','DEFAULT_SESSION_MAX_CONCURRENCY','<dingSecret-钉钉签名密钥>','__importDefault','rmSync','执行\x20Claude\x20查询失败:','删除图片失败:\x20','conversationConfig','⏳\x20正在处理上一条消息,请稍候...','config.json\x20missing\x20required\x20field:\x20whiteUserList','findLatestSession','endSession','创建新会话:\x20群=','sessionMaxConcurrency','/config.json',']:\x20','-\x20**最后发送者:**\x20','readSessionLogTail','795557nqkBdW','86119tEJMXu','message','key','stringify','YYYY-MM-DD\x20HH:mm:ss','读取images目录失败:\x20','249916mvpfup','YYYY-MM-DD-HH-mm-ss','config.json','hex','加载活跃会话失败:\x20','sessionsDeleted','agent','✅\x20已切换到历史会话\x20(会话ID:\x20','活跃会话目录已被清理:\x20群=','startNewSession','writeFileSync','\x0a💡\x20回复\x20/end\x20可结束本轮对话','delete','恢复活跃会话:\x20群=','/.sessions','\x20的数据已被清理,无法继续。已自动结束该会话,请重新发送消息开始新会话','updateSessionFile','getTasksDir','join','__esModule','has','basename','filter','initClientDir','isProcessing','conversations','appendFileSync',']\x20[SYSTEM]:\x20用户请求结束会话\x0a','renameSync','config','currentWebhook','getReplyWebhook','default','活跃会话已持久化:\x20群=','1755PENXoW',',\x20会话ID=','homedir','8031320MPGFfV',']\x20已生成默认配置文件:\x20','删除会话目录失败:\x20','sessionWebhook','dirname','readFileSync','startNickName','switchToSession','assert','30232gTknDL','⚠️\x20会话\x20','/active.json','mkdirSync','startStaffId','4GHsGVV','dateUtil','authCheck','slice','已切换到历史会话:\x20群=','🤯\x20当前繁忙,请稍后再试...','⚠️\x20该会话无历史上下文,将从头开始','\x20->\x20','includes','claudeSessionId','getHomeDir','session','startTime','owner','skill','✅\x20收到,我来处理...','error','startTimeStr','isDirectory','saveActiveSession','会话\x20','currentConversationId','createHash','unlinkSync','getConversationDir','push','❌\x20处理消息时发生错误:\x20','切换会话时中断正在执行的\x20Claude\x20进程','cleanCache','errors','6DnRKdT','持久化活跃会话失败:\x20群=',',\x20有Claude上下文=','🚀\x20会话已开始!\x0a处理中...\x0a💡\x20回复\x20/end\x20可结束本轮对话','clientSecret','whiteUserList','path','结束会话:\x20群=','Could\x20not\x20find\x20client\x20config\x20file:\x20','findHistorySession','length',']\x20会话文件已保存:\x20','getClientDir','defineProperty','<兜底钉钉机器人Token>','fileUtil','[DEBUG]\x20','/session.log','md5',',\x20当前并发=',']\x20[',']\x20会话目录重命名:\x20','debugLog','executeClaudeQuery','getSessionDir','getSessionId','taskCfg','readdirSync','debug','imagesDeleted','删除任务目录失败:\x20','❌\x20未找到会话\x20','size','\x20的数据已被清理,无法恢复,请发送新消息开始新会话','活跃会话目录已不存在,清理持久化文件:\x20','21108LfrzEd','活跃会话文件无效,跳过:\x20','❌\x20会话\x20','crypto','达到最大并发数\x20(','loadActiveSessions','🔄\x20已恢复对话上下文','digest','cc-ding','parseEndCommand',',结束当前会话\x0a','get','-\x20**开始时间:**\x20','existsSync','utf-8','3549085HxtSoJ','interruptClaudeProcess',']\x20[SYSTEM]:\x20结束会话时中断\x20Claude\x20进程\x0a','getJSON','\x20正在处理中,忽略新消息'];a11_0x5ca9=function(){return _0x2b518b;};return a11_0x5ca9();}function findLatestSession(_0x432d12,_0x41df8a){const _0x500c0f=a11_0x114a85,_0x504617=getSessionsDir(_0x432d12,_0x41df8a);if(!fs_1[_0x500c0f(0x19b)][_0x500c0f(0x13d)](_0x504617))return null;const _0x3de782=findActiveSession(_0x432d12,_0x41df8a),_0x5498d0=_0x3de782?getSessionId(_0x3de782[_0x500c0f(0x1b9)][_0x500c0f(0x1b9)]):null;let _0x4ba7ec=null,_0x213bc1=0x0;try{const _0x3448e9=fs_1[_0x500c0f(0x19b)]['readdirSync'](_0x504617,{'withFileTypes':!![]});for(const _0x944b95 of _0x3448e9){if(!_0x944b95[_0x500c0f(0x1c0)]())continue;const _0x4668c1=path_1[_0x500c0f(0x19b)]['join'](_0x504617,_0x944b95[_0x500c0f(0x161)],'session.json');if(!fs_1[_0x500c0f(0x19b)]['existsSync'](_0x4668c1))continue;try{const _0x4c95ec=utils_ok_1[_0x500c0f(0x1db)][_0x500c0f(0x142)](_0x4668c1);if(_0x5498d0&&getSessionId(_0x4c95ec)===_0x5498d0)continue;_0x4c95ec[_0x500c0f(0x1ba)]>_0x213bc1&&(_0x213bc1=_0x4c95ec[_0x500c0f(0x1ba)],_0x4ba7ec=_0x4c95ec);}catch{continue;}}}catch{}return _0x4ba7ec;}function updateSessionFile(_0x3b74c5,_0x4bf823,_0x252a96){const _0x28ce36=a11_0x114a85;if(_0x252a96['claudeSessionId']&&!_0x4bf823[_0x28ce36(0x1b7)]){const _0x2d58c7=getSessionDir(_0x3b74c5,_0x4bf823);_0x4bf823['claudeSessionId']=_0x252a96['claudeSessionId'];const _0x50176a=getSessionDir(_0x3b74c5,_0x4bf823);_0x2d58c7!==_0x50176a&&fs_1[_0x28ce36(0x19b)][_0x28ce36(0x13d)](_0x2d58c7)&&(fs_1['default'][_0x28ce36(0x197)](_0x2d58c7,_0x50176a),console[_0x28ce36(0x14a)]('['+timestamp()+_0x28ce36(0x1e1)+path_1['default'][_0x28ce36(0x190)](_0x2d58c7)+_0x28ce36(0x1b5)+path_1[_0x28ce36(0x19b)][_0x28ce36(0x190)](_0x50176a)));}const _0x2f0010=getSessionDir(_0x3b74c5,_0x4bf823)+_0x28ce36(0x148);try{if(_0x252a96[_0x28ce36(0x1a3)])_0x4bf823[_0x28ce36(0x1a3)]=_0x252a96[_0x28ce36(0x1a3)];if(_0x252a96[_0x28ce36(0x199)]!==undefined)_0x4bf823['currentWebhook']=_0x252a96[_0x28ce36(0x199)]||undefined;if(_0x252a96[_0x28ce36(0x1c3)]!==undefined)_0x4bf823[_0x28ce36(0x1c3)]=_0x252a96[_0x28ce36(0x1c3)]||undefined;fs_1[_0x28ce36(0x19b)][_0x28ce36(0x185)](_0x2f0010,JSON['stringify'](_0x4bf823,null,0x2),'utf-8');const _0x17e962=_0x252a96[_0x28ce36(0x1b7)]?_0x28ce36(0x1b7):_0x252a96[_0x28ce36(0x199)]!==undefined?_0x28ce36(0x199):_0x28ce36(0x1a3);console['log']('['+timestamp()+_0x28ce36(0x1d7)+_0x17e962),saveActiveSession(_0x3b74c5,_0x4bf823[_0x28ce36(0x162)]);}catch(_0x2ef365){console[_0x28ce36(0x1be)]('更新\x20session.json\x20失败:',_0x2ef365);}}function appendSessionLog(_0x3f15bc,_0x57286d,_0x28cf7b){const _0x15561c=a11_0x114a85,_0x401ae5=_0x3f15bc+'/session.log',_0x540062=timestamp(),_0xe26723='['+_0x540062+_0x15561c(0x1e0)+_0x57286d['toUpperCase']()+_0x15561c(0x171)+_0x28cf7b+'\x0a';fs_1[_0x15561c(0x19b)][_0x15561c(0x195)](_0x401ae5,_0xe26723,'utf-8');}function getActiveSessionsFile(_0x2d3511,_0x501261){const _0x48071b=a11_0x114a85;return getSessionsDir(_0x2d3511,_0x501261)+_0x48071b(0x1ab);}function saveActiveSession(_0xa86dd4,_0xf1cb8){const _0x410f80=a11_0x114a85,_0x46614b=_0xa86dd4['activeSessions'][_0x410f80(0x13b)](_0xf1cb8),_0x4c51e4=getActiveSessionsFile(_0xa86dd4,_0xf1cb8);try{if(!_0x46614b){if(fs_1[_0x410f80(0x19b)][_0x410f80(0x13d)](_0x4c51e4))fs_1[_0x410f80(0x19b)][_0x410f80(0x1c5)](_0x4c51e4);return;}const _0x382c57={'session':_0x46614b[_0x410f80(0x1b9)],'lastSenderStaffId':_0x46614b[_0x410f80(0x157)],'conversationConfig':_0x46614b[_0x410f80(0x169)]};fs_1[_0x410f80(0x19b)][_0x410f80(0x1ac)](path_1[_0x410f80(0x19b)][_0x410f80(0x1a4)](_0x4c51e4),{'recursive':!![]}),fs_1[_0x410f80(0x19b)][_0x410f80(0x185)](_0x4c51e4,JSON[_0x410f80(0x178)](_0x382c57,null,0x2),'utf-8'),debugLog(_0xa86dd4,_0x410f80(0x19c)+_0xf1cb8);}catch(_0x1dc1f1){console[_0x410f80(0x1be)](_0x410f80(0x1cd)+_0xf1cb8,_0x1dc1f1);}}function loadActiveSessions(_0x1c7242){const _0x2cba84=a11_0x114a85;for(const _0x25cf07 of _0x1c7242[_0x2cba84(0x198)][_0x2cba84(0x194)]){const _0x151d0f=getActiveSessionsFile(_0x1c7242,_0x25cf07[_0x2cba84(0x162)]);if(!fs_1[_0x2cba84(0x19b)][_0x2cba84(0x13d)](_0x151d0f))continue;try{const _0x307592=utils_ok_1['fileUtil'][_0x2cba84(0x142)](_0x151d0f);if(!_0x307592?.[_0x2cba84(0x1b9)]){console[_0x2cba84(0x14a)](_0x2cba84(0x131)+_0x151d0f);continue;}const _0xe4b833=getSessionDir(_0x1c7242,_0x307592[_0x2cba84(0x1b9)]);if(!fs_1['default']['existsSync'](_0xe4b833)){console[_0x2cba84(0x14a)](_0x2cba84(0x12f)+_0x151d0f),fs_1['default'][_0x2cba84(0x1c5)](_0x151d0f);continue;}_0x1c7242[_0x2cba84(0x15e)][_0x2cba84(0x150)](_0x25cf07[_0x2cba84(0x162)],{'session':_0x307592['session'],'lastSenderStaffId':_0x307592[_0x2cba84(0x157)]||_0x307592['session'][_0x2cba84(0x1ad)],'isProcessing':![],'conversationConfig':_0x307592[_0x2cba84(0x169)]}),console['log'](_0x2cba84(0x188)+_0x25cf07['conversationId']+_0x2cba84(0x19e)+getSessionId(_0x307592[_0x2cba84(0x1b9)]));}catch(_0x5abeb9){console[_0x2cba84(0x1be)](_0x2cba84(0x17f)+_0x151d0f,_0x5abeb9);}}}async function endSession(_0xef68c9,_0x19f8df,_0x3b4e42){const _0x1b1ade=a11_0x114a85,_0x5cc085=findActiveSession(_0xef68c9,_0x19f8df);if(!_0x5cc085){console[_0x1b1ade(0x14a)]('群\x20'+_0x19f8df+'\x20无活跃会话');return;}const {key:_0x4e608c,session:_0x87d46b}=_0x5cc085,{session:_0x2beb8e}=_0x87d46b,_0x25d297=getSessionDir(_0xef68c9,_0x2beb8e),_0x3481eb=getSessionId(_0x2beb8e);console['log'](_0x1b1ade(0x1d3)+_0x19f8df+_0x1b1ade(0x19e)+_0x3481eb),(0x0,claude_process_1[_0x1b1ade(0x140)])(_0x87d46b,_0x1b1ade(0x14d))&&fs_1[_0x1b1ade(0x19b)][_0x1b1ade(0x195)](_0x25d297+_0x1b1ade(0x1dd),'['+timestamp()+_0x1b1ade(0x141),_0x1b1ade(0x13e)),await(0x0,messaging_1[_0x1b1ade(0x153)])(_0xef68c9,{'conversationId':_0x19f8df,'sessionWebhook':_0x3b4e42,'atUserId':_0x2beb8e[_0x1b1ade(0x1ad)],'content':'💬\x20会话已结束\x0a📋\x20会话ID:\x20'+_0x3481eb}),_0xef68c9[_0x1b1ade(0x15e)][_0x1b1ade(0x187)](_0x4e608c),saveActiveSession(_0xef68c9,_0x4e608c),fs_1[_0x1b1ade(0x19b)][_0x1b1ade(0x195)](_0x25d297+_0x1b1ade(0x1dd),'['+timestamp()+_0x1b1ade(0x196),_0x1b1ade(0x13e));}async function switchToSession(_0x1b2439,_0x56c136,_0x303009,_0x3143e5,_0x3f5c09,_0x335775){const _0x1b53af=a11_0x114a85,_0x40e903=findHistorySession(_0x1b2439,_0x56c136,_0x3143e5);if(!_0x40e903)return await(0x0,messaging_1[_0x1b53af(0x153)])(_0x1b2439,{'conversationId':_0x56c136,'sessionWebhook':_0x303009,'atUserId':_0x3f5c09,'content':_0x1b53af(0x1eb)+_0x3143e5+_0x1b53af(0x146)}),![];const _0xb326b6=getSessionDir(_0x1b2439,_0x40e903);if(!fs_1[_0x1b53af(0x19b)][_0x1b53af(0x13d)](_0xb326b6))return await(0x0,messaging_1[_0x1b53af(0x153)])(_0x1b2439,{'conversationId':_0x56c136,'sessionWebhook':_0x303009,'atUserId':_0x3f5c09,'content':_0x1b53af(0x132)+_0x3143e5+_0x1b53af(0x12e)}),![];const _0xd4e4fb=findActiveSession(_0x1b2439,_0x56c136);_0xd4e4fb&&(console[_0x1b53af(0x14a)]('切换会话,先结束当前会话:\x20'+getSessionId(_0xd4e4fb[_0x1b53af(0x1b9)][_0x1b53af(0x1b9)])),(0x0,claude_process_1[_0x1b53af(0x140)])(_0xd4e4fb[_0x1b53af(0x1b9)],_0x1b53af(0x1c9)),_0x1b2439[_0x1b53af(0x15e)]['delete'](_0xd4e4fb[_0x1b53af(0x177)]),saveActiveSession(_0x1b2439,_0xd4e4fb['key']),fs_1[_0x1b53af(0x19b)][_0x1b53af(0x195)](getSessionDir(_0x1b2439,_0xd4e4fb[_0x1b53af(0x1b9)][_0x1b53af(0x1b9)])+_0x1b53af(0x1dd),'['+timestamp()+']\x20[SYSTEM]:\x20会话被切换到\x20'+_0x3143e5+_0x1b53af(0x13a),_0x1b53af(0x13e)));_0x1b2439[_0x1b53af(0x15e)]['set'](_0x56c136,{'session':_0x40e903,'lastSenderStaffId':_0x3f5c09,'isProcessing':![],'conversationConfig':_0x335775}),saveActiveSession(_0x1b2439,_0x56c136);const _0x80bf4a=!!_0x40e903[_0x1b53af(0x1b7)],_0x1131a8=getSessionId(_0x40e903);return await(0x0,messaging_1[_0x1b53af(0x153)])(_0x1b2439,{'conversationId':_0x56c136,'sessionWebhook':_0x303009,'atUserId':_0x3f5c09,'content':_0x1b53af(0x182)+_0x1131a8+')\x0a'+(_0x80bf4a?_0x1b53af(0x136):_0x1b53af(0x1b4))+_0x1b53af(0x186)}),console['log'](_0x1b53af(0x1b2)+_0x56c136+_0x1b53af(0x19e)+_0x1131a8+_0x1b53af(0x1ce)+_0x80bf4a),!![];}async function startNewSession(_0x2071c1,_0x241179){const _0x549edd=a11_0x114a85,{conversationId:_0x373c5c,sessionWebhook:_0x437cc2,senderStaffId:_0x1431e0,senderNick:_0x4ae1fb,message:_0x2172f3,conversationConfig:_0x97366a}=_0x241179,_0x156764=_0x2071c1[_0x549edd(0x198)][_0x549edd(0x16f)]??_0x2071c1[_0x549edd(0x163)];if(_0x2071c1[_0x549edd(0x15e)][_0x549edd(0x12d)]>=_0x156764){console[_0x549edd(0x14a)](_0x549edd(0x134)+_0x156764+'),拒绝新会话:\x20群='+_0x373c5c),await(0x0,messaging_1[_0x549edd(0x153)])(_0x2071c1,{'conversationId':_0x373c5c,'sessionWebhook':_0x437cc2,'atUserId':_0x1431e0,'content':_0x549edd(0x1b3)});return;}const _0x59340b=Date['now'](),_0x44bba9={'conversationId':_0x373c5c,'sessionWebhook':_0x437cc2,'startTime':_0x59340b,'startTimeStr':utils_ok_1[_0x549edd(0x1af)]['mm'](_0x59340b)[_0x549edd(0x15b)](_0x549edd(0x17c)),'startStaffId':_0x1431e0,'startNickName':_0x4ae1fb};console['log'](_0x549edd(0x16e)+_0x373c5c+_0x549edd(0x19e)+getSessionId(_0x44bba9)+',\x20发起者='+_0x1431e0+_0x549edd(0x1df)+(_0x2071c1[_0x549edd(0x15e)]['size']+0x1)+'/'+_0x156764);const _0x5d2ec8=getSessionDir(_0x2071c1,_0x44bba9);fs_1[_0x549edd(0x19b)][_0x549edd(0x1ac)](_0x5d2ec8,{'recursive':!![]}),fs_1[_0x549edd(0x19b)][_0x549edd(0x185)](_0x5d2ec8+'/session.json',JSON[_0x549edd(0x178)](_0x44bba9,null,0x2),_0x549edd(0x13e)),_0x2071c1['activeSessions'][_0x549edd(0x150)](_0x373c5c,{'session':_0x44bba9,'lastSenderStaffId':_0x1431e0,'isProcessing':!![],'conversationConfig':_0x97366a}),saveActiveSession(_0x2071c1,_0x373c5c),await(0x0,messaging_1['sendDingMessage'])(_0x2071c1,{'conversationId':_0x373c5c,'sessionWebhook':_0x437cc2,'atUserId':_0x1431e0,'content':_0x549edd(0x1cf)});try{await(0x0,claude_process_1[_0x549edd(0x1e3)])(_0x2071c1,_0x44bba9,_0x2172f3,{'skill':_0x97366a[_0x549edd(0x1e6)]?.[_0x549edd(0x1bc)],'agent':_0x97366a[_0x549edd(0x181)],'senderNick':_0x4ae1fb,'senderStaffId':_0x1431e0});}catch(_0x153bfc){console[_0x549edd(0x1be)](_0x549edd(0x167),_0x153bfc),await(0x0,messaging_1[_0x549edd(0x153)])(_0x2071c1,{'conversationId':_0x373c5c,'sessionWebhook':_0x437cc2,'atUserId':_0x1431e0,'content':_0x549edd(0x1c8)+(_0x153bfc instanceof Error?_0x153bfc['message']:String(_0x153bfc))});}finally{const _0x336896=_0x2071c1[_0x549edd(0x15e)]['get'](_0x373c5c);if(_0x336896)_0x336896['isProcessing']=![];}}async function handleSessionMessage(_0x4e6936,_0x5161d7){const _0x12065a=a11_0x114a85,{conversationId:_0x4bc10f,sessionWebhook:_0xb7f279,senderStaffId:_0x12b42b,senderNick:_0x368535,message:_0xac64be,conversationConfig:_0x2a0b6a}=_0x5161d7;if((0x0,commands_1[_0x12065a(0x139)])(_0xac64be)){await endSession(_0x4e6936,_0x4bc10f,_0xb7f279);return;}const _0x5bb494=findActiveSession(_0x4e6936,_0x4bc10f),_0x46d65a=_0x5bb494?.[_0x12065a(0x1b9)];if(_0x46d65a){const _0x35cf08=getSessionDir(_0x4e6936,_0x46d65a['session']);if(!fs_1[_0x12065a(0x19b)][_0x12065a(0x13d)](_0x35cf08)){const _0x47c5c0=getSessionId(_0x46d65a[_0x12065a(0x1b9)]);console[_0x12065a(0x14a)](_0x12065a(0x183)+_0x4bc10f+',\x20会话ID='+_0x47c5c0),_0x4e6936[_0x12065a(0x15e)][_0x12065a(0x187)](_0x5bb494['key']),saveActiveSession(_0x4e6936,_0x5bb494['key']),await(0x0,messaging_1['sendDingMessage'])(_0x4e6936,{'conversationId':_0x4bc10f,'sessionWebhook':_0xb7f279,'atUserId':_0x12b42b,'content':_0x12065a(0x1aa)+_0x47c5c0+_0x12065a(0x18a)});return;}if(_0x46d65a[_0x12065a(0x193)]){console[_0x12065a(0x14a)](_0x12065a(0x1c2)+_0x4bc10f+_0x12065a(0x143)),await(0x0,messaging_1['sendDingMessage'])(_0x4e6936,{'conversationId':_0x4bc10f,'sessionWebhook':_0xb7f279,'atUserId':_0x12b42b,'content':_0x12065a(0x16a)});return;}const _0x3b5262=_0x46d65a[_0x12065a(0x1b9)][_0x12065a(0x162)]===_0x4bc10f;console[_0x12065a(0x14a)]('追加消息到活跃会话:\x20群='+_0x4bc10f+_0x12065a(0x19e)+getSessionId(_0x46d65a[_0x12065a(0x1b9)])+(_0x3b5262?'':_0x12065a(0x158)+_0x46d65a['session']['conversationId']+')')),_0x46d65a[_0x12065a(0x157)]=_0x12b42b,_0x46d65a[_0x12065a(0x193)]=!![],saveActiveSession(_0x4e6936,_0x5bb494['key']);_0x3b5262&&_0xb7f279!==_0x46d65a[_0x12065a(0x1b9)][_0x12065a(0x1a3)]&&(_0x46d65a[_0x12065a(0x1b9)]['sessionWebhook']=_0xb7f279,updateSessionFile(_0x4e6936,_0x46d65a['session'],{'sessionWebhook':_0xb7f279}));_0x46d65a['session'][_0x12065a(0x199)]=_0xb7f279,_0x46d65a[_0x12065a(0x1b9)][_0x12065a(0x1c3)]=_0x4bc10f,updateSessionFile(_0x4e6936,_0x46d65a[_0x12065a(0x1b9)],{'currentWebhook':_0xb7f279,'currentConversationId':_0x4bc10f}),await(0x0,messaging_1[_0x12065a(0x153)])(_0x4e6936,{'conversationId':_0x4bc10f,'sessionWebhook':_0xb7f279,'atUserId':_0x12b42b,'content':_0x12065a(0x1bd)});try{await(0x0,claude_process_1['executeClaudeQuery'])(_0x4e6936,_0x46d65a[_0x12065a(0x1b9)],_0xac64be,{'skill':_0x2a0b6a[_0x12065a(0x1e6)]?.[_0x12065a(0x1bc)],'agent':_0x2a0b6a[_0x12065a(0x181)],'senderNick':_0x368535,'senderStaffId':_0x12b42b});}catch(_0x33a289){console[_0x12065a(0x1be)]('执行\x20Claude\x20查询失败:',_0x33a289),await(0x0,messaging_1['sendDingMessage'])(_0x4e6936,{'conversationId':_0x4bc10f,'sessionWebhook':_0xb7f279,'atUserId':_0x12b42b,'content':_0x12065a(0x1c8)+(_0x33a289 instanceof Error?_0x33a289[_0x12065a(0x176)]:String(_0x33a289))});}finally{_0x46d65a[_0x12065a(0x193)]=![];}}else await startNewSession(_0x4e6936,{'conversationId':_0x4bc10f,'sessionWebhook':_0xb7f279,'senderStaffId':_0x12b42b,'senderNick':_0x368535,'message':_0xac64be,'conversationConfig':_0x2a0b6a});}function cleanCache(_0x5baf73,_0x5c5bd8,_0x75f3a1=!![]){const _0x3b07d8=a11_0x114a85,_0x1c4105={'sessionsDeleted':0x0,'tasksDeleted':0x0,'imagesDeleted':0x0,'errors':[]},_0x393366=_0x5c5bd8?[_0x5c5bd8]:_0x5baf73[_0x3b07d8(0x198)][_0x3b07d8(0x194)]['map'](_0x1f8512=>_0x1f8512[_0x3b07d8(0x162)]);for(const _0x5a7282 of _0x393366){let _0x5e5899=null;if(_0x75f3a1){const _0x1c990d=findActiveSession(_0x5baf73,_0x5a7282);_0x1c990d&&(_0x5e5899=getSessionId(_0x1c990d[_0x3b07d8(0x1b9)]['session']));}const _0x4504e0=getSessionsDir(_0x5baf73,_0x5a7282);if(fs_1['default'][_0x3b07d8(0x13d)](_0x4504e0))try{const _0x17fb9a=fs_1[_0x3b07d8(0x19b)]['readdirSync'](_0x4504e0,{'withFileTypes':!![]});for(const _0x3027a0 of _0x17fb9a){if(!_0x3027a0[_0x3b07d8(0x1c0)]())continue;if(_0x5e5899&&_0x3027a0['name']===_0x5e5899)continue;const _0x165b0c=path_1[_0x3b07d8(0x19b)]['join'](_0x4504e0,_0x3027a0[_0x3b07d8(0x161)]);try{fs_1['default']['rmSync'](_0x165b0c,{'recursive':!![],'force':!![]}),_0x1c4105[_0x3b07d8(0x180)]++;}catch(_0x36e3f1){_0x1c4105[_0x3b07d8(0x1cb)][_0x3b07d8(0x1c7)](_0x3b07d8(0x1a2)+_0x165b0c);}}}catch(_0x294e74){_0x1c4105['errors']['push'](_0x3b07d8(0x152)+_0x4504e0);}const _0x10a46e=getTasksDir(_0x5baf73,_0x5a7282);if(fs_1[_0x3b07d8(0x19b)][_0x3b07d8(0x13d)](_0x10a46e))try{const _0x577ca9=fs_1[_0x3b07d8(0x19b)]['readdirSync'](_0x10a46e,{'withFileTypes':!![]});for(const _0x19d06c of _0x577ca9){if(!_0x19d06c[_0x3b07d8(0x1c0)]())continue;const _0x440065=path_1[_0x3b07d8(0x19b)][_0x3b07d8(0x18d)](_0x10a46e,_0x19d06c[_0x3b07d8(0x161)]);try{fs_1['default'][_0x3b07d8(0x166)](_0x440065,{'recursive':!![],'force':!![]}),_0x1c4105['tasksDeleted']++;}catch(_0x998018){_0x1c4105[_0x3b07d8(0x1cb)][_0x3b07d8(0x1c7)](_0x3b07d8(0x1ea)+_0x440065);}}}catch(_0x545df9){_0x1c4105[_0x3b07d8(0x1cb)][_0x3b07d8(0x1c7)]('读取tasks目录失败:\x20'+_0x10a46e);}const _0x56c74f=getImagesDir(_0x5baf73,_0x5a7282);if(fs_1[_0x3b07d8(0x19b)]['existsSync'](_0x56c74f))try{const _0x15a9b4=fs_1[_0x3b07d8(0x19b)][_0x3b07d8(0x1e7)](_0x56c74f,{'withFileTypes':!![]});for(const _0x46eede of _0x15a9b4){const _0x261ad6=path_1['default']['join'](_0x56c74f,_0x46eede[_0x3b07d8(0x161)]);try{fs_1[_0x3b07d8(0x19b)][_0x3b07d8(0x1c5)](_0x261ad6),_0x1c4105[_0x3b07d8(0x1e9)]++;}catch(_0x4fe433){_0x1c4105['errors'][_0x3b07d8(0x1c7)](_0x3b07d8(0x168)+_0x261ad6);}}}catch(_0x3cb328){_0x1c4105[_0x3b07d8(0x1cb)]['push'](_0x3b07d8(0x17a)+_0x56c74f);}if(!_0x75f3a1){const _0x5b5de7=getActiveSessionsFile(_0x5baf73,_0x5a7282);if(fs_1['default'][_0x3b07d8(0x13d)](_0x5b5de7))try{fs_1['default'][_0x3b07d8(0x1c5)](_0x5b5de7);}catch(_0x38ca04){_0x1c4105['errors']['push'](_0x3b07d8(0x160)+_0x5b5de7);}_0x5baf73[_0x3b07d8(0x15e)][_0x3b07d8(0x18f)](_0x5a7282)&&_0x5baf73['activeSessions']['delete'](_0x5a7282);}}return _0x1c4105;}
1
+ 'use strict';const a11_0x3b30a8=a11_0x2189;(function(_0x14cdc4,_0xb5be0a){const _0x40f9cd=a11_0x2189,_0x1f821d=_0x14cdc4();while(!![]){try{const _0x24bf72=parseInt(_0x40f9cd(0x97))/0x1*(parseInt(_0x40f9cd(0x95))/0x2)+-parseInt(_0x40f9cd(0x80))/0x3+parseInt(_0x40f9cd(0x12c))/0x4*(-parseInt(_0x40f9cd(0xd4))/0x5)+-parseInt(_0x40f9cd(0xa2))/0x6+-parseInt(_0x40f9cd(0x7e))/0x7*(parseInt(_0x40f9cd(0xf3))/0x8)+-parseInt(_0x40f9cd(0x93))/0x9+parseInt(_0x40f9cd(0x134))/0xa*(parseInt(_0x40f9cd(0x88))/0xb);if(_0x24bf72===_0xb5be0a)break;else _0x1f821d['push'](_0x1f821d['shift']());}catch(_0x905af1){_0x1f821d['push'](_0x1f821d['shift']());}}}(a11_0x352b,0x4d3e6));var __importDefault=this&&this[a11_0x3b30a8(0xc7)]||function(_0x4c6cff){return _0x4c6cff&&_0x4c6cff['__esModule']?_0x4c6cff:{'default':_0x4c6cff};};Object[a11_0x3b30a8(0x89)](exports,'__esModule',{'value':!![]}),exports[a11_0x3b30a8(0xe6)]=timestamp,exports[a11_0x3b30a8(0x112)]=getHomeDir,exports['getClientDir']=getClientDir,exports[a11_0x3b30a8(0x108)]=initClientDir,exports[a11_0x3b30a8(0xae)]=ensureClientDir,exports[a11_0x3b30a8(0x11e)]=getClientConfig,exports['resolveToUserId']=resolveToUserId,exports['authCheck']=authCheck,exports[a11_0x3b30a8(0x132)]=isOwner,exports[a11_0x3b30a8(0xc6)]=debugLog,exports[a11_0x3b30a8(0xb3)]=isMobile,exports[a11_0x3b30a8(0x7d)]=getPhoneMapFile,exports[a11_0x3b30a8(0x105)]=loadPhoneMap,exports[a11_0x3b30a8(0x9e)]=savePhoneMap,exports[a11_0x3b30a8(0xa6)]=userIdToPhone,exports[a11_0x3b30a8(0x13d)]=resolveUserId,exports['resolveAllPhonesInConfig']=resolveAllPhonesInConfig,exports['hashConversationId']=hashConversationId,exports[a11_0x3b30a8(0xe1)]=getReplyWebhook,exports[a11_0x3b30a8(0xef)]=getReplyConversationId,exports['findActiveSession']=findActiveSession,exports[a11_0x3b30a8(0xab)]=getConversationConfig,exports[a11_0x3b30a8(0xf1)]=getConversationDir,exports['getSessionsDir']=getSessionsDir,exports[a11_0x3b30a8(0xa0)]=getTasksDir,exports[a11_0x3b30a8(0x12e)]=getImagesDir,exports[a11_0x3b30a8(0xf6)]=getSessionDir,exports[a11_0x3b30a8(0xbd)]=getSessionId,exports['formatSessionInfo']=formatSessionInfo,exports[a11_0x3b30a8(0x110)]=readSessionLogTail,exports[a11_0x3b30a8(0xfb)]=findHistorySession,exports[a11_0x3b30a8(0xeb)]=findLatestSession,exports[a11_0x3b30a8(0x139)]=updateSessionFile,exports['appendSessionLog']=appendSessionLog,exports[a11_0x3b30a8(0x140)]=getActiveSessionsFile,exports[a11_0x3b30a8(0x135)]=saveActiveSession,exports[a11_0x3b30a8(0x82)]=loadActiveSessions,exports[a11_0x3b30a8(0x113)]=endSession,exports[a11_0x3b30a8(0x116)]=switchToSession,exports[a11_0x3b30a8(0x147)]=startNewSession,exports['processMessageQueue']=processMessageQueue,exports[a11_0x3b30a8(0xc2)]=handleSessionMessage,exports[a11_0x3b30a8(0x11b)]=cleanCache;const utils_ok_1=require(a11_0x3b30a8(0xe5)),fs_1=__importDefault(require('fs')),os_1=__importDefault(require('os')),assert_1=__importDefault(require('assert')),crypto_1=__importDefault(require(a11_0x3b30a8(0x78))),path_1=__importDefault(require('path')),commands_1=require(a11_0x3b30a8(0xc0)),messaging_1=require(a11_0x3b30a8(0xbb)),claude_process_1=require(a11_0x3b30a8(0xc9));function timestamp(){const _0x118376=a11_0x3b30a8;return utils_ok_1['dateUtil']['mm'](Date['now']())[_0x118376(0x99)](_0x118376(0xcd));}function getHomeDir(){const _0x55ab46=a11_0x3b30a8;return os_1['default'][_0x55ab46(0x123)]();}function getClientDir(_0x56676e){const _0x2406ad=a11_0x3b30a8;return path_1[_0x2406ad(0xb0)][_0x2406ad(0xa3)](getHomeDir(),_0x2406ad(0xf5),_0x56676e[_0x2406ad(0xe8)]);}function initClientDir(_0x2c7fcb,_0x18f690){const _0xc492db=a11_0x3b30a8,_0x14ebaa=path_1[_0xc492db(0xb0)][_0xc492db(0xa3)](getHomeDir(),_0xc492db(0xf5),_0x2c7fcb),_0x28d88b=path_1[_0xc492db(0xb0)][_0xc492db(0xa3)](_0x14ebaa,_0xc492db(0x100));return fs_1[_0xc492db(0xb0)][_0xc492db(0xc5)](_0x14ebaa,{'recursive':!![]}),fs_1[_0xc492db(0xb0)]['writeFileSync'](_0x28d88b,JSON[_0xc492db(0x142)](_0x18f690,null,0x2),'utf-8'),_0x28d88b;}function ensureClientDir(_0x34de84){const _0x24eeff=a11_0x3b30a8,_0x1a669d=path_1[_0x24eeff(0xb0)][_0x24eeff(0xa3)](getHomeDir(),_0x24eeff(0xf5),_0x34de84),_0x34e53f=path_1[_0x24eeff(0xb0)][_0x24eeff(0xa3)](_0x1a669d,_0x24eeff(0x100));if(fs_1[_0x24eeff(0xb0)][_0x24eeff(0x104)](_0x34e53f))return;console[_0x24eeff(0xd2)]('['+timestamp()+_0x24eeff(0xee)+_0x1a669d),console[_0x24eeff(0xd2)]('['+timestamp()+']\x20正在自动初始化...');const _0x29aad5={'clientName':_0x24eeff(0x12a),'owner':'<owner手机号>','whiteUserList':[],'clientSecret':_0x24eeff(0xa8),'defaultDingToken':_0x24eeff(0x111),'conversations':[]};initClientDir(_0x34de84,_0x29aad5),console[_0x24eeff(0xd2)]('['+timestamp()+_0x24eeff(0xa7)+_0x34e53f),console[_0x24eeff(0xd2)]('['+timestamp()+_0x24eeff(0x76)),process[_0x24eeff(0xcc)](0x1);}function getClientConfig(_0x2aa716){const _0x5bdf97=a11_0x3b30a8,_0x35b9e2=getClientDir(_0x2aa716)+_0x5bdf97(0xfa);(0x0,assert_1['default'])(fs_1[_0x5bdf97(0xb0)]['existsSync'](_0x35b9e2),_0x5bdf97(0x12d)+_0x35b9e2);const _0x9a9b2a=utils_ok_1[_0x5bdf97(0x133)][_0x5bdf97(0xb5)](_0x35b9e2);return(0x0,assert_1[_0x5bdf97(0xb0)])(_0x9a9b2a[_0x5bdf97(0xca)],_0x5bdf97(0xd5)),(0x0,assert_1[_0x5bdf97(0xb0)])(_0x9a9b2a[_0x5bdf97(0xe3)],_0x5bdf97(0x96)),_0x9a9b2a;}function resolveToUserId(_0x135770,_0x117ac7){const _0x171f6e=a11_0x3b30a8;return isMobile(_0x117ac7)?_0x135770[_0x171f6e(0xa1)][_0x117ac7]||_0x117ac7:_0x117ac7;}function authCheck(_0x1c42e7,_0x5c5f72,_0x3a7a55){const _0x1b6289=a11_0x3b30a8;if(isOwner(_0x1c42e7,_0x5c5f72))return!![];if(_0x3a7a55){const _0x5ba82c=_0x1c42e7[_0x1b6289(0x8d)]['conversations'][_0x1b6289(0xb6)](_0x22e312=>_0x22e312['conversationId']===_0x3a7a55);if(_0x5ba82c?.[_0x1b6289(0xe3)]&&_0x5ba82c[_0x1b6289(0xe3)][_0x1b6289(0x125)]>0x0)return _0x5ba82c['whiteUserList'][_0x1b6289(0x13a)](_0x189c46=>resolveToUserId(_0x1c42e7,_0x189c46)===_0x5c5f72);}return _0x1c42e7[_0x1b6289(0x8d)][_0x1b6289(0xe3)][_0x1b6289(0x13a)](_0x1f2d20=>resolveToUserId(_0x1c42e7,_0x1f2d20)===_0x5c5f72);}function isOwner(_0xad8df0,_0x2d3602){const _0xe78484=a11_0x3b30a8,_0x23710e=_0xad8df0[_0xe78484(0x8d)][_0xe78484(0xbc)];if(!_0x23710e||!isMobile(_0x23710e))return![];const _0x4f4c0f=_0xad8df0[_0xe78484(0xa1)][_0x23710e];return!!_0x4f4c0f&&_0x4f4c0f===_0x2d3602;}function debugLog(_0x37eb56,_0x5c427f,..._0x5a92b0){const _0x209be3=a11_0x3b30a8;_0x37eb56[_0x209be3(0x8d)][_0x209be3(0xad)]&&console[_0x209be3(0xd2)](_0x209be3(0x10a)+_0x5c427f,..._0x5a92b0);}const PHONE_RE=/^1\d{10}$/;function isMobile(_0x3ca803){return PHONE_RE['test'](_0x3ca803);}function getPhoneMapFile(_0x490619){const _0x4f6907=a11_0x3b30a8;return path_1[_0x4f6907(0xb0)][_0x4f6907(0xa3)](getClientDir(_0x490619),'phone-map.json');}function loadPhoneMap(_0xe6b2a3){const _0x25795f=a11_0x3b30a8,_0x201849=getPhoneMapFile(_0xe6b2a3);if(!fs_1[_0x25795f(0xb0)][_0x25795f(0x104)](_0x201849))return{};try{const _0x3e3899=JSON[_0x25795f(0xbe)](fs_1['default'][_0x25795f(0x77)](_0x201849,_0x25795f(0x103)));if(typeof _0x3e3899==='object'&&_0x3e3899!==null)return _0x3e3899;}catch{}return{};}function savePhoneMap(_0x2eb5d0,_0x32a0fd){const _0x1e6593=a11_0x3b30a8,_0x443e0d=getPhoneMapFile(_0x2eb5d0);try{fs_1['default'][_0x1e6593(0x7a)](_0x443e0d,JSON[_0x1e6593(0x142)](_0x32a0fd,null,0x2),'utf-8');}catch(_0x42ee27){console[_0x1e6593(0xff)](_0x1e6593(0x14a),_0x42ee27);}}function userIdToPhone(_0x3107a9,_0x293ed8){const _0x375c98=a11_0x3b30a8;for(const [_0x914315,_0x2b719f]of Object[_0x375c98(0xb1)](_0x3107a9['resolvedPhones'])){if(_0x2b719f===_0x293ed8)return _0x914315;}return null;}async function resolveUserId(_0x5b5c55,_0x2a1cfc){const _0x4ddaea=a11_0x3b30a8;if(!_0x2a1cfc)return null;if(!isMobile(_0x2a1cfc))return _0x2a1cfc;if(_0x5b5c55[_0x4ddaea(0xa1)][_0x2a1cfc])return _0x5b5c55[_0x4ddaea(0xa1)][_0x2a1cfc];const _0x8285e4=await(0x0,messaging_1[_0x4ddaea(0xfd)])(_0x5b5c55,_0x2a1cfc);return _0x8285e4&&(_0x5b5c55['resolvedPhones'][_0x2a1cfc]=_0x8285e4,savePhoneMap(_0x5b5c55,_0x5b5c55['resolvedPhones'])),_0x8285e4;}async function resolveAllPhonesInConfig(_0x308e86){const _0x2a228f=a11_0x3b30a8;_0x308e86[_0x2a228f(0xa1)]=loadPhoneMap(_0x308e86);const _0x363a58=[],_0x4a6ee6=async _0xa11352=>{const _0x53c389=_0x2a228f;if(_0x308e86[_0x53c389(0xa1)][_0xa11352])return;const _0x566e04=await(0x0,messaging_1['queryUserIdByMobile'])(_0x308e86,_0xa11352);_0x566e04&&(_0x308e86[_0x53c389(0xa1)][_0xa11352]=_0x566e04,_0x363a58[_0x53c389(0xea)](_0xa11352));};_0x308e86[_0x2a228f(0x8d)][_0x2a228f(0xbc)]&&(isMobile(_0x308e86[_0x2a228f(0x8d)]['owner'])?(await _0x4a6ee6(_0x308e86['config'][_0x2a228f(0xbc)]),!_0x308e86[_0x2a228f(0xa1)][_0x308e86['config'][_0x2a228f(0xbc)]]&&console[_0x2a228f(0x145)](_0x2a228f(0x138)+_0x308e86[_0x2a228f(0x8d)][_0x2a228f(0xbc)])):console[_0x2a228f(0x145)]('[WARN]\x20owner\x20必须为手机号,当前值无效:\x20'+_0x308e86[_0x2a228f(0x8d)][_0x2a228f(0xbc)]));for(const _0x3f23da of _0x308e86[_0x2a228f(0x8d)][_0x2a228f(0xe3)]){isMobile(_0x3f23da)&&(await _0x4a6ee6(_0x3f23da),!_0x308e86['resolvedPhones'][_0x3f23da]&&console[_0x2a228f(0x145)]('[WARN]\x20无法解析\x20whiteUserList\x20手机号:\x20'+_0x3f23da));}for(const _0x59e883 of _0x308e86[_0x2a228f(0x8d)][_0x2a228f(0x101)]){if(_0x59e883[_0x2a228f(0xe3)])for(const _0x1b6119 of _0x59e883[_0x2a228f(0xe3)]){isMobile(_0x1b6119)&&(await _0x4a6ee6(_0x1b6119),!_0x308e86[_0x2a228f(0xa1)][_0x1b6119]&&console['warn']('[WARN]\x20无法解析群白名单手机号:\x20'+_0x1b6119));}}_0x363a58['length']>0x0&&savePhoneMap(_0x308e86,_0x308e86['resolvedPhones']),console[_0x2a228f(0xd2)](_0x2a228f(0x8c)+Object[_0x2a228f(0x8a)](_0x308e86[_0x2a228f(0xa1)])[_0x2a228f(0x125)]+_0x2a228f(0xc4)+_0x363a58[_0x2a228f(0x125)]+_0x2a228f(0xc8));}function hashConversationId(_0x532313,_0x369e9b){const _0x396939=a11_0x3b30a8,_0x24eb30=getConversationConfig(_0x532313,_0x369e9b),_0x4257d0=_0x24eb30?.[_0x396939(0xb2)]||_0x369e9b;return crypto_1['default'][_0x396939(0x115)](_0x396939(0x13e))[_0x396939(0x126)](_0x4257d0)[_0x396939(0xfe)](_0x396939(0xd1));}function getReplyWebhook(_0x26c577){const _0x1f5a80=a11_0x3b30a8;return _0x26c577[_0x1f5a80(0xf9)]||_0x26c577[_0x1f5a80(0x11a)];}function getReplyConversationId(_0x1ee76e){const _0x35b3a2=a11_0x3b30a8;return _0x1ee76e['currentConversationId']||_0x1ee76e[_0x35b3a2(0x79)];}function findActiveSession(_0x2f03d2,_0x1fa584){const _0x2cb96c=a11_0x3b30a8,_0x480e7b=_0x2f03d2[_0x2cb96c(0xac)]['get'](_0x1fa584);if(_0x480e7b)return{'key':_0x1fa584,'session':_0x480e7b};const _0x5868f2=getConversationConfig(_0x2f03d2,_0x1fa584);if(_0x5868f2?.['linkConversationId'])for(const _0x4ec675 of _0x2f03d2['activeSessions']){const _0x135fd1=getConversationConfig(_0x2f03d2,_0x4ec675[0x0]);if(_0x135fd1?.[_0x2cb96c(0xb2)]===_0x5868f2[_0x2cb96c(0xb2)])return{'key':_0x4ec675[0x0],'session':_0x4ec675[0x1]};}return undefined;}function getConversationConfig(_0x170709,_0x1b3f04){const _0x1fbe80=a11_0x3b30a8;return _0x170709[_0x1fbe80(0x8d)][_0x1fbe80(0x101)]['find'](_0x50cb11=>_0x50cb11[_0x1fbe80(0x79)]===_0x1b3f04);}function getConversationDir(_0x2675a0,_0x4653ed){const _0x499ce1=hashConversationId(_0x2675a0,_0x4653ed);return getClientDir(_0x2675a0)+'/'+_0x499ce1;}function getSessionsDir(_0x34c574,_0xa87ca6){return getConversationDir(_0x34c574,_0xa87ca6)+'/.sessions';}function getTasksDir(_0x4ae5f1,_0x537182){const _0xdee172=a11_0x3b30a8;return getConversationDir(_0x4ae5f1,_0x537182)+_0xdee172(0x146);}function getImagesDir(_0x465bc2,_0x5ada78){const _0x1f7810=a11_0x3b30a8;return getConversationDir(_0x465bc2,_0x5ada78)+_0x1f7810(0x122);}function getSessionDir(_0x261c74,_0xea32b7){const _0x32536f=a11_0x3b30a8,_0x2e3be2=_0xea32b7['claudeSessionId']||_0xea32b7[_0x32536f(0xc3)];return getSessionsDir(_0x261c74,_0xea32b7[_0x32536f(0x79)])+'/'+_0x2e3be2;}function getSessionId(_0x53f5ad){const _0x50c888=a11_0x3b30a8;return _0x53f5ad[_0x50c888(0x7f)]||_0x53f5ad[_0x50c888(0xc3)];}function formatSessionInfo(_0x311672,_0x1b5b19){const _0xcf64ab=a11_0x3b30a8,_0x378728=findActiveSession(_0x311672,_0x1b5b19);if(!_0x378728)return null;const {session:_0x2b567e,isProcessing:_0x28dacc,messageQueue:_0xc0eca3}=_0x378728[_0xcf64ab(0x9b)],_0x534ae4=[_0xcf64ab(0x12b)+getSessionId(_0x2b567e),'-\x20**发起者:**\x20'+_0x2b567e[_0xcf64ab(0x121)]+'('+_0x2b567e[_0xcf64ab(0xdc)]+')','-\x20**开始时间:**\x20'+_0x2b567e[_0xcf64ab(0xc3)],'-\x20**最后发送者:**\x20'+_0x378728[_0xcf64ab(0x9b)][_0xcf64ab(0xe7)],_0xcf64ab(0x84)+_0x28dacc,_0xcf64ab(0xaf)+(_0xc0eca3?.[_0xcf64ab(0x125)]||0x0)+'\x20条'];return _0x534ae4[_0xcf64ab(0xa3)]('\x0a');}function readSessionLogTail(_0x520c3f,_0x1e0d3a,_0x26079e){const _0x360a12=a11_0x3b30a8,_0x10889b=findActiveSession(_0x520c3f,_0x1e0d3a);if(!_0x10889b)return null;const _0x2e3a59=_0x10889b[_0x360a12(0x9b)],_0x11d8e3=getSessionDir(_0x520c3f,_0x2e3a59[_0x360a12(0x9b)])+'/session.log';if(!fs_1['default'][_0x360a12(0x104)](_0x11d8e3))return null;try{const _0x3caa38=fs_1[_0x360a12(0xb0)]['readFileSync'](_0x11d8e3,_0x360a12(0x103)),_0x345b46=_0x3caa38[_0x360a12(0x119)]('\x0a')[_0x360a12(0x144)](_0x5e2522=>_0x5e2522['length']>0x0);return _0x345b46[_0x360a12(0x136)](-_0x26079e)[_0x360a12(0xa3)]('\x0a');}catch{return null;}}function a11_0x352b(){const _0xb8c773=['-\x20**处理中:**\x20','basename','rmSync','errors','3901634hnxBcj','defineProperty','keys','message','[手机解析]\x20已加载\x20','config','size','处理队列消息:\x20群=','appendFileSync','dirname','\x20的数据已被清理,无法恢复,请发送新消息开始新会话','4694067iFeyby',']:\x20','141352OMbaaM','config.json\x20missing\x20required\x20field:\x20whiteUserList','7ZBhfsV','imagesDeleted','format','sessionsDeleted','session','恢复活跃会话:\x20群=','🚀\x20会话已开始!\x0a处理中...\x0a💡\x20回复\x20/end\x20可结束本轮对话','savePhoneMap','/active.json','getTasksDir','resolvedPhones','395844RbpRLh','join','DEFAULT_SESSION_MAX_CONCURRENCY','conversationConfig','userIdToPhone',']\x20已生成默认配置文件:\x20','<clientSecret-钉钉Stream连接密钥>','会话\x20','\x0a💡\x20回复\x20/end\x20可结束本轮对话','getConversationConfig','activeSessions','debug','ensureClientDir','-\x20**排队消息:**\x20','default','entries','linkConversationId','isMobile','currentConversationId','getJSON','find','messageQueue','达到最大并发数\x20(','已切换到历史会话:\x20群=','tasksDeleted','./messaging','owner','getSessionId','parse','🔄\x20已恢复对话上下文','./commands',',结束当前会话\x0a','handleSessionMessage','startTimeStr','\x20条记录\x20(','mkdirSync','debugLog','__importDefault','\x20条新解析)','./claude-process','clientSecret','unlinkSync','exit','YYYY-MM-DD\x20HH:mm:ss','isProcessing','删除任务目录失败:\x20',',\x20剩余\x20','hex','log','skill','275xvpwut','config.json\x20missing\x20required\x20field:\x20clientSecret','dateUtil','追加消息到活跃会话:\x20群=','set',',\x20当前并发=','catch','\x20->\x20','startStaffId','startTime','结束会话时中断正在执行的\x20Claude\x20进程','❌\x20未找到会话\x20','key','getReplyWebhook','\x20无活跃会话','whiteUserList','get','utils-ok','timestamp','lastSenderStaffId','clientId','删除会话目录失败:\x20','push','findLatestSession','session.json','parseEndCommand',']\x20客户端目录未初始化:\x20','getReplyConversationId','✅\x20已切换到历史会话\x20(会话ID:\x20','getConversationDir',']\x20会话目录重命名:\x20','2116392xbufbE','sessionMaxConcurrency','.cc-ding','getSessionDir','sendDingMessage','重试执行\x20Claude\x20查询失败:','currentWebhook','/config.json','findHistorySession',',\x20路径=','queryUserIdByMobile','digest','error','config.json','conversations','\x20消息已入队,排队第\x20','utf-8','existsSync','loadPhoneMap','执行队列\x20Claude\x20查询失败:','创建新会话:\x20群=','initClientDir','✅\x20收到,我来处理...','[DEBUG]\x20','now','删除活跃会话文件失败:\x20','),拒绝新会话:\x20群=','执行\x20Claude\x20查询失败:','读取images目录失败:\x20','readSessionLogTail','<兜底钉钉机器人Token>','getHomeDir','endSession','receiveReply','createHash','switchToSession','YYYY-MM-DD-HH-mm-ss','agent','split','sessionWebhook','cleanCache','taskCfg','name','getClientConfig','toUpperCase','加载活跃会话失败:\x20','startNickName','/.images','homedir','(关联群,会话归属=','length','update',']\x20[SYSTEM]:\x20会话被切换到\x20','/session.json','\x20条)','cc助手','-\x20**会话ID:**\x20','12684YpDFVn','Could\x20not\x20find\x20client\x20config\x20file:\x20','getImagesDir','更新\x20session.json\x20失败:','interruptClaudeProcess','readdirSync','isOwner','fileUtil','30FUTkFo','saveActiveSession','slice','executeClaudeQuery','[WARN]\x20无法解析\x20owner\x20手机号:\x20','updateSessionFile','some','会话目录已重建:\x20群=','[会话恢复失败]\x20清除\x20claudeSessionId\x20并重新发起:\x20','resolveUserId','md5','读取sessions目录失败:\x20','getActiveSessionsFile','切换会话,先结束当前会话:\x20','stringify','/session.log','filter','warn','/.tasks','startNewSession',',\x20有Claude上下文=','❌\x20处理消息时发生错误:\x20','保存\x20phone-map.json\x20失败:',']\x20请编辑\x20config.json\x20填写必要的配置项后重新启动','readFileSync','crypto','conversationId','writeFileSync',',\x20会话ID=','renameSync','getPhoneMapFile','7PbtDlI','claudeSessionId','647799DHxelA','delete','loadActiveSessions','isDirectory'];a11_0x352b=function(){return _0xb8c773;};return a11_0x352b();}function findHistorySession(_0x4b1329,_0x1a7cf4,_0x50cca8){const _0xda81bc=a11_0x3b30a8,_0x4c43db=getSessionsDir(_0x4b1329,_0x1a7cf4),_0x121a6a=_0x4c43db+'/'+_0x50cca8+_0xda81bc(0x128);try{return utils_ok_1[_0xda81bc(0x133)]['getJSON'](_0x121a6a);}catch{}const _0x33eb3a=parseInt(_0x50cca8,0xa);if(!isNaN(_0x33eb3a)&&_0x33eb3a>0x0){const _0x109521=utils_ok_1[_0xda81bc(0xd6)]['mm'](_0x33eb3a)['format']('YYYY-MM-DD-HH-mm-ss'),_0x208b50=_0x4c43db+'/'+_0x109521+_0xda81bc(0x128);try{return utils_ok_1['fileUtil']['getJSON'](_0x208b50);}catch{}}return null;}function findLatestSession(_0x41cf02,_0x3ae04f){const _0x5c6284=a11_0x3b30a8,_0x36b8d3=getSessionsDir(_0x41cf02,_0x3ae04f);if(!fs_1[_0x5c6284(0xb0)][_0x5c6284(0x104)](_0x36b8d3))return null;const _0x2fe863=findActiveSession(_0x41cf02,_0x3ae04f),_0x323beb=_0x2fe863?getSessionId(_0x2fe863[_0x5c6284(0x9b)][_0x5c6284(0x9b)]):null;let _0x566907=null,_0x165bfc=0x0;try{const _0x5ed666=fs_1[_0x5c6284(0xb0)][_0x5c6284(0x131)](_0x36b8d3,{'withFileTypes':!![]});for(const _0x543172 of _0x5ed666){if(!_0x543172[_0x5c6284(0x83)]())continue;const _0x178a31=path_1[_0x5c6284(0xb0)][_0x5c6284(0xa3)](_0x36b8d3,_0x543172[_0x5c6284(0x11d)],_0x5c6284(0xec));if(!fs_1[_0x5c6284(0xb0)][_0x5c6284(0x104)](_0x178a31))continue;try{const _0xdbdba=utils_ok_1['fileUtil'][_0x5c6284(0xb5)](_0x178a31);if(_0x323beb&&getSessionId(_0xdbdba)===_0x323beb)continue;_0xdbdba['startTime']>_0x165bfc&&(_0x165bfc=_0xdbdba[_0x5c6284(0xdd)],_0x566907=_0xdbdba);}catch{continue;}}}catch{}return _0x566907;}function updateSessionFile(_0x33f674,_0x3e0267,_0x37a4ac){const _0x14aa2d=a11_0x3b30a8;if(_0x37a4ac[_0x14aa2d(0x7f)]&&!_0x3e0267[_0x14aa2d(0x7f)]){const _0x129a65=getSessionDir(_0x33f674,_0x3e0267);_0x3e0267[_0x14aa2d(0x7f)]=_0x37a4ac[_0x14aa2d(0x7f)];const _0x545819=getSessionDir(_0x33f674,_0x3e0267);_0x129a65!==_0x545819&&fs_1['default'][_0x14aa2d(0x104)](_0x129a65)&&(fs_1[_0x14aa2d(0xb0)][_0x14aa2d(0x7c)](_0x129a65,_0x545819),console['log']('['+timestamp()+_0x14aa2d(0xf2)+path_1[_0x14aa2d(0xb0)]['basename'](_0x129a65)+_0x14aa2d(0xdb)+path_1[_0x14aa2d(0xb0)][_0x14aa2d(0x85)](_0x545819)));}const _0x408439=getSessionDir(_0x33f674,_0x3e0267)+_0x14aa2d(0x128);try{if(_0x37a4ac[_0x14aa2d(0x11a)])_0x3e0267[_0x14aa2d(0x11a)]=_0x37a4ac['sessionWebhook'];if(_0x37a4ac[_0x14aa2d(0xf9)]!==undefined)_0x3e0267[_0x14aa2d(0xf9)]=_0x37a4ac[_0x14aa2d(0xf9)]||undefined;if(_0x37a4ac['currentConversationId']!==undefined)_0x3e0267[_0x14aa2d(0xb4)]=_0x37a4ac['currentConversationId']||undefined;fs_1[_0x14aa2d(0xb0)][_0x14aa2d(0x7a)](_0x408439,JSON[_0x14aa2d(0x142)](_0x3e0267,null,0x2),_0x14aa2d(0x103));const _0x32cf59=_0x37a4ac[_0x14aa2d(0x7f)]?'claudeSessionId':_0x37a4ac[_0x14aa2d(0xf9)]!==undefined?_0x14aa2d(0xf9):'sessionWebhook';console['log']('['+timestamp()+']\x20会话文件已保存:\x20'+_0x32cf59),saveActiveSession(_0x33f674,_0x3e0267['conversationId']);}catch(_0x4f7a34){console[_0x14aa2d(0xff)](_0x14aa2d(0x12f),_0x4f7a34);}}function appendSessionLog(_0x5549cf,_0x1ee64a,_0x4acbc6){const _0x1ada9=a11_0x3b30a8,_0x2eb416=_0x5549cf+'/session.log',_0x122f3b=timestamp(),_0x4647d7='['+_0x122f3b+']\x20['+_0x1ee64a[_0x1ada9(0x11f)]()+_0x1ada9(0x94)+_0x4acbc6+'\x0a';try{fs_1[_0x1ada9(0xb0)][_0x1ada9(0x90)](_0x2eb416,_0x4647d7,_0x1ada9(0x103));}catch{}}function getActiveSessionsFile(_0x18120a,_0x34b501){const _0x1f43be=a11_0x3b30a8;return getSessionsDir(_0x18120a,_0x34b501)+_0x1f43be(0x9f);}function saveActiveSession(_0x544bc2,_0x2dd7bf){const _0x411e78=a11_0x3b30a8,_0xea7543=_0x544bc2[_0x411e78(0xac)]['get'](_0x2dd7bf),_0x2bc70d=getActiveSessionsFile(_0x544bc2,_0x2dd7bf);try{if(!_0xea7543){if(fs_1[_0x411e78(0xb0)][_0x411e78(0x104)](_0x2bc70d))fs_1[_0x411e78(0xb0)]['unlinkSync'](_0x2bc70d);return;}const _0x1d0054={'session':_0xea7543[_0x411e78(0x9b)],'lastSenderStaffId':_0xea7543['lastSenderStaffId'],'conversationConfig':_0xea7543[_0x411e78(0xa5)]};fs_1[_0x411e78(0xb0)][_0x411e78(0xc5)](path_1[_0x411e78(0xb0)][_0x411e78(0x91)](_0x2bc70d),{'recursive':!![]}),fs_1[_0x411e78(0xb0)]['writeFileSync'](_0x2bc70d,JSON[_0x411e78(0x142)](_0x1d0054,null,0x2),_0x411e78(0x103)),debugLog(_0x544bc2,'活跃会话已持久化:\x20群='+_0x2dd7bf);}catch(_0x367b61){console['error']('持久化活跃会话失败:\x20群='+_0x2dd7bf,_0x367b61);}}function a11_0x2189(_0x56ba1a,_0x437a81){_0x56ba1a=_0x56ba1a-0x76;const _0x352b4d=a11_0x352b();let _0x21891c=_0x352b4d[_0x56ba1a];return _0x21891c;}function loadActiveSessions(_0x518e65){const _0x50257e=a11_0x3b30a8;for(const _0x17104a of _0x518e65['config'][_0x50257e(0x101)]){const _0x230c71=getActiveSessionsFile(_0x518e65,_0x17104a[_0x50257e(0x79)]);if(!fs_1['default'][_0x50257e(0x104)](_0x230c71))continue;try{const _0x35298e=utils_ok_1[_0x50257e(0x133)][_0x50257e(0xb5)](_0x230c71);if(!_0x35298e?.[_0x50257e(0x9b)]){console['log']('活跃会话文件无效,跳过:\x20'+_0x230c71);continue;}const _0x33af44=getSessionDir(_0x518e65,_0x35298e['session']);if(!fs_1[_0x50257e(0xb0)][_0x50257e(0x104)](_0x33af44)){console[_0x50257e(0xd2)]('活跃会话目录已不存在,清理持久化文件:\x20'+_0x230c71),fs_1[_0x50257e(0xb0)][_0x50257e(0xcb)](_0x230c71);continue;}_0x518e65[_0x50257e(0xac)]['set'](_0x17104a[_0x50257e(0x79)],{'session':_0x35298e[_0x50257e(0x9b)],'lastSenderStaffId':_0x35298e[_0x50257e(0xe7)]||_0x35298e[_0x50257e(0x9b)]['startStaffId'],'isProcessing':![],'messageQueue':[],'conversationConfig':_0x35298e[_0x50257e(0xa5)]}),console[_0x50257e(0xd2)](_0x50257e(0x9c)+_0x17104a[_0x50257e(0x79)]+_0x50257e(0x7b)+getSessionId(_0x35298e[_0x50257e(0x9b)]));}catch(_0x4031d){console[_0x50257e(0xff)](_0x50257e(0x120)+_0x230c71,_0x4031d);}}}async function endSession(_0x50b5df,_0xa6ec48,_0x3f1691){const _0x291679=a11_0x3b30a8,_0x5cc55e=findActiveSession(_0x50b5df,_0xa6ec48);if(!_0x5cc55e){console['log']('群\x20'+_0xa6ec48+_0x291679(0xe2));return;}const {key:_0x16f844,session:_0x373095}=_0x5cc55e,{session:_0x24e1fc}=_0x373095,_0x53dbfa=getSessionDir(_0x50b5df,_0x24e1fc),_0x1d83e9=getSessionId(_0x24e1fc);console[_0x291679(0xd2)]('结束会话:\x20群='+_0xa6ec48+_0x291679(0x7b)+_0x1d83e9),(0x0,claude_process_1[_0x291679(0x130)])(_0x373095,_0x291679(0xde))&&fs_1[_0x291679(0xb0)][_0x291679(0x90)](_0x53dbfa+_0x291679(0x143),'['+timestamp()+']\x20[SYSTEM]:\x20结束会话时中断\x20Claude\x20进程\x0a','utf-8'),await(0x0,messaging_1[_0x291679(0xf7)])(_0x50b5df,{'conversationId':_0xa6ec48,'sessionWebhook':_0x3f1691,'atUserId':_0x24e1fc[_0x291679(0xdc)],'content':'💬\x20会话已结束\x0a📋\x20会话ID:\x20'+_0x1d83e9}),_0x50b5df[_0x291679(0xac)]['delete'](_0x16f844),saveActiveSession(_0x50b5df,_0x16f844),fs_1[_0x291679(0xb0)][_0x291679(0x90)](_0x53dbfa+_0x291679(0x143),'['+timestamp()+']\x20[SYSTEM]:\x20用户请求结束会话\x0a','utf-8');}async function switchToSession(_0x5e69b4,_0xb11f0e,_0x5c4a20,_0x2e2d4a,_0x5bf104,_0x2e08fd){const _0x2a5f4d=a11_0x3b30a8,_0x5a358a=findHistorySession(_0x5e69b4,_0xb11f0e,_0x2e2d4a);if(!_0x5a358a)return await(0x0,messaging_1['sendDingMessage'])(_0x5e69b4,{'conversationId':_0xb11f0e,'sessionWebhook':_0x5c4a20,'atUserId':_0x5bf104,'content':_0x2a5f4d(0xdf)+_0x2e2d4a+',该会话可能已被清理,请发送新消息开始新会话'}),![];const _0x52a419=getSessionDir(_0x5e69b4,_0x5a358a);if(!fs_1[_0x2a5f4d(0xb0)][_0x2a5f4d(0x104)](_0x52a419))return await(0x0,messaging_1[_0x2a5f4d(0xf7)])(_0x5e69b4,{'conversationId':_0xb11f0e,'sessionWebhook':_0x5c4a20,'atUserId':_0x5bf104,'content':'❌\x20会话\x20'+_0x2e2d4a+_0x2a5f4d(0x92)}),![];const _0x29fc2a=findActiveSession(_0x5e69b4,_0xb11f0e);_0x29fc2a&&(console['log'](_0x2a5f4d(0x141)+getSessionId(_0x29fc2a[_0x2a5f4d(0x9b)][_0x2a5f4d(0x9b)])),(0x0,claude_process_1['interruptClaudeProcess'])(_0x29fc2a[_0x2a5f4d(0x9b)],'切换会话时中断正在执行的\x20Claude\x20进程'),_0x5e69b4[_0x2a5f4d(0xac)][_0x2a5f4d(0x81)](_0x29fc2a['key']),saveActiveSession(_0x5e69b4,_0x29fc2a[_0x2a5f4d(0xe0)]),fs_1['default'][_0x2a5f4d(0x90)](getSessionDir(_0x5e69b4,_0x29fc2a[_0x2a5f4d(0x9b)]['session'])+'/session.log','['+timestamp()+_0x2a5f4d(0x127)+_0x2e2d4a+_0x2a5f4d(0xc1),_0x2a5f4d(0x103)));_0x5e69b4[_0x2a5f4d(0xac)][_0x2a5f4d(0xd8)](_0xb11f0e,{'session':_0x5a358a,'lastSenderStaffId':_0x5bf104,'isProcessing':![],'messageQueue':[],'conversationConfig':_0x2e08fd}),saveActiveSession(_0x5e69b4,_0xb11f0e);const _0x439c00=!!_0x5a358a[_0x2a5f4d(0x7f)],_0x5894b4=getSessionId(_0x5a358a);return await(0x0,messaging_1['sendDingMessage'])(_0x5e69b4,{'conversationId':_0xb11f0e,'sessionWebhook':_0x5c4a20,'atUserId':_0x5bf104,'content':_0x2a5f4d(0xf0)+_0x5894b4+')\x0a'+(_0x439c00?_0x2a5f4d(0xbf):'⚠️\x20该会话无历史上下文,将从头开始')+_0x2a5f4d(0xaa)}),console[_0x2a5f4d(0xd2)](_0x2a5f4d(0xb9)+_0xb11f0e+',\x20会话ID='+_0x5894b4+_0x2a5f4d(0x148)+_0x439c00),!![];}async function startNewSession(_0x5c289f,_0xbb90f3){const _0x4e5b07=a11_0x3b30a8,{conversationId:_0x2dcdf4,sessionWebhook:_0x355d98,senderStaffId:_0x3a75d2,senderNick:_0x3b0a21,message:_0x441666,conversationConfig:_0x29fcb6}=_0xbb90f3,_0x1a2c40=_0x5c289f[_0x4e5b07(0x8d)][_0x4e5b07(0xf4)]??_0x5c289f[_0x4e5b07(0xa4)];if(_0x5c289f[_0x4e5b07(0xac)][_0x4e5b07(0x8e)]>=_0x1a2c40){console['log'](_0x4e5b07(0xb8)+_0x1a2c40+_0x4e5b07(0x10d)+_0x2dcdf4),await(0x0,messaging_1[_0x4e5b07(0xf7)])(_0x5c289f,{'conversationId':_0x2dcdf4,'sessionWebhook':_0x355d98,'atUserId':_0x3a75d2,'content':'🤯\x20当前繁忙,请稍后再试...'});return;}const _0x5b43fe=Date[_0x4e5b07(0x10b)](),_0x20a5b8={'conversationId':_0x2dcdf4,'sessionWebhook':_0x355d98,'startTime':_0x5b43fe,'startTimeStr':utils_ok_1[_0x4e5b07(0xd6)]['mm'](_0x5b43fe)[_0x4e5b07(0x99)](_0x4e5b07(0x117)),'startStaffId':_0x3a75d2,'startNickName':_0x3b0a21};console['log'](_0x4e5b07(0x107)+_0x2dcdf4+',\x20会话ID='+getSessionId(_0x20a5b8)+',\x20发起者='+_0x3a75d2+_0x4e5b07(0xd9)+(_0x5c289f[_0x4e5b07(0xac)][_0x4e5b07(0x8e)]+0x1)+'/'+_0x1a2c40);const _0xd34405=getSessionDir(_0x5c289f,_0x20a5b8);fs_1['default']['mkdirSync'](_0xd34405,{'recursive':!![]}),fs_1[_0x4e5b07(0xb0)][_0x4e5b07(0x7a)](_0xd34405+'/session.json',JSON['stringify'](_0x20a5b8,null,0x2),_0x4e5b07(0x103)),_0x5c289f[_0x4e5b07(0xac)][_0x4e5b07(0xd8)](_0x2dcdf4,{'session':_0x20a5b8,'lastSenderStaffId':_0x3a75d2,'isProcessing':!![],'messageQueue':[],'conversationConfig':_0x29fcb6}),saveActiveSession(_0x5c289f,_0x2dcdf4);_0x29fcb6['receiveReply']!==![]&&await(0x0,messaging_1['sendDingMessage'])(_0x5c289f,{'conversationId':_0x2dcdf4,'sessionWebhook':_0x355d98,'atUserId':_0x3a75d2,'content':_0x4e5b07(0x9d)});try{await(0x0,claude_process_1[_0x4e5b07(0x137)])(_0x5c289f,_0x20a5b8,_0x441666,{'skill':_0x29fcb6['taskCfg']?.['skill'],'agent':_0x29fcb6['agent'],'senderNick':_0x3b0a21,'senderStaffId':_0x3a75d2});}catch(_0x40326f){console['error'](_0x4e5b07(0x10e),_0x40326f),await(0x0,messaging_1['sendDingMessage'])(_0x5c289f,{'conversationId':_0x2dcdf4,'sessionWebhook':_0x355d98,'atUserId':_0x3a75d2,'content':'❌\x20处理消息时发生错误:\x20'+(_0x40326f instanceof Error?_0x40326f[_0x4e5b07(0x8b)]:String(_0x40326f))});}finally{const _0x45f8cc=_0x5c289f[_0x4e5b07(0xac)][_0x4e5b07(0xe4)](_0x2dcdf4);_0x45f8cc&&(_0x45f8cc[_0x4e5b07(0xce)]=![]);}await processMessageQueue(_0x5c289f,_0x2dcdf4);}async function processMessageQueue(_0x1b4fe4,_0x538140){const _0x5a7fe2=a11_0x3b30a8,_0x479ce2=_0x1b4fe4[_0x5a7fe2(0xac)][_0x5a7fe2(0xe4)](_0x538140);if(!_0x479ce2||_0x479ce2[_0x5a7fe2(0xb7)][_0x5a7fe2(0x125)]===0x0)return;const _0x34fd92=_0x479ce2[_0x5a7fe2(0xb7)]['shift'](),{message:_0x30a883,senderStaffId:_0x3a8950,senderNick:_0x16dcd9}=_0x34fd92,_0x58b318=_0x479ce2['session']['sessionWebhook'];console[_0x5a7fe2(0xd2)](_0x5a7fe2(0x8f)+_0x538140+_0x5a7fe2(0xd0)+_0x479ce2[_0x5a7fe2(0xb7)]['length']+'\x20条'),_0x479ce2[_0x5a7fe2(0xce)]=!![],_0x479ce2[_0x5a7fe2(0xe7)]=_0x3a8950,saveActiveSession(_0x1b4fe4,_0x538140);_0x479ce2[_0x5a7fe2(0xa5)]['receiveReply']!==![]&&await(0x0,messaging_1[_0x5a7fe2(0xf7)])(_0x1b4fe4,{'conversationId':_0x538140,'sessionWebhook':_0x58b318,'atUserId':_0x3a8950,'content':_0x5a7fe2(0x109)})[_0x5a7fe2(0xda)](()=>{});try{await(0x0,claude_process_1[_0x5a7fe2(0x137)])(_0x1b4fe4,_0x479ce2[_0x5a7fe2(0x9b)],_0x30a883,{'skill':_0x479ce2[_0x5a7fe2(0xa5)][_0x5a7fe2(0x11c)]?.[_0x5a7fe2(0xd3)],'agent':_0x479ce2[_0x5a7fe2(0xa5)][_0x5a7fe2(0x118)],'senderNick':_0x16dcd9,'senderStaffId':_0x3a8950});}catch(_0x34d3f0){console[_0x5a7fe2(0xff)](_0x5a7fe2(0x106),_0x34d3f0),await(0x0,messaging_1['sendDingMessage'])(_0x1b4fe4,{'conversationId':_0x538140,'sessionWebhook':_0x58b318,'atUserId':_0x3a8950,'content':_0x5a7fe2(0x149)+(_0x34d3f0 instanceof Error?_0x34d3f0[_0x5a7fe2(0x8b)]:String(_0x34d3f0))});}finally{_0x479ce2[_0x5a7fe2(0xce)]=![];}_0x479ce2[_0x5a7fe2(0xb7)][_0x5a7fe2(0x125)]>0x0&&await processMessageQueue(_0x1b4fe4,_0x538140);}async function handleSessionMessage(_0x20f5ab,_0x8426d0){const _0x37d9b1=a11_0x3b30a8,{conversationId:_0x1666dd,sessionWebhook:_0x105d51,senderStaffId:_0x52f952,senderNick:_0xc7a5e3,message:_0x93adc,conversationConfig:_0xd64931}=_0x8426d0;if((0x0,commands_1[_0x37d9b1(0xed)])(_0x93adc)){await endSession(_0x20f5ab,_0x1666dd,_0x105d51);return;}const _0x2cb9f5=findActiveSession(_0x20f5ab,_0x1666dd),_0x464ce6=_0x2cb9f5?.[_0x37d9b1(0x9b)];if(_0x464ce6){const _0x581b21=getSessionDir(_0x20f5ab,_0x464ce6[_0x37d9b1(0x9b)]);!fs_1[_0x37d9b1(0xb0)][_0x37d9b1(0x104)](_0x581b21)&&(fs_1[_0x37d9b1(0xb0)][_0x37d9b1(0xc5)](_0x581b21,{'recursive':!![]}),fs_1[_0x37d9b1(0xb0)][_0x37d9b1(0x7a)](_0x581b21+'/session.json',JSON['stringify'](_0x464ce6[_0x37d9b1(0x9b)],null,0x2),'utf-8'),console[_0x37d9b1(0xd2)](_0x37d9b1(0x13b)+_0x1666dd+_0x37d9b1(0xfc)+_0x581b21));if(_0x464ce6[_0x37d9b1(0xce)]){const _0x45cd36={'message':_0x93adc,'senderStaffId':_0x52f952,'senderNick':_0xc7a5e3};_0x464ce6[_0x37d9b1(0xb7)][_0x37d9b1(0xea)](_0x45cd36);const _0xb552ee=_0x464ce6['messageQueue'][_0x37d9b1(0x125)];console[_0x37d9b1(0xd2)](_0x37d9b1(0xa9)+_0x1666dd+_0x37d9b1(0x102)+_0xb552ee+'\x20条'),await(0x0,messaging_1[_0x37d9b1(0xf7)])(_0x20f5ab,{'conversationId':_0x1666dd,'sessionWebhook':_0x105d51,'atUserId':_0x52f952,'content':'⏳\x20正在处理中,已加入队列(排队第\x20'+_0xb552ee+_0x37d9b1(0x129)});return;}const _0x331d90=_0x464ce6['session'][_0x37d9b1(0x79)]===_0x1666dd;console[_0x37d9b1(0xd2)](_0x37d9b1(0xd7)+_0x1666dd+_0x37d9b1(0x7b)+getSessionId(_0x464ce6[_0x37d9b1(0x9b)])+(_0x331d90?'':_0x37d9b1(0x124)+_0x464ce6[_0x37d9b1(0x9b)][_0x37d9b1(0x79)]+')')),_0x464ce6[_0x37d9b1(0xe7)]=_0x52f952,_0x464ce6['isProcessing']=!![],saveActiveSession(_0x20f5ab,_0x2cb9f5[_0x37d9b1(0xe0)]);_0x331d90&&_0x105d51!==_0x464ce6[_0x37d9b1(0x9b)][_0x37d9b1(0x11a)]&&(_0x464ce6[_0x37d9b1(0x9b)]['sessionWebhook']=_0x105d51,updateSessionFile(_0x20f5ab,_0x464ce6[_0x37d9b1(0x9b)],{'sessionWebhook':_0x105d51}));_0x464ce6['session'][_0x37d9b1(0xf9)]=_0x105d51,_0x464ce6[_0x37d9b1(0x9b)][_0x37d9b1(0xb4)]=_0x1666dd,updateSessionFile(_0x20f5ab,_0x464ce6[_0x37d9b1(0x9b)],{'currentWebhook':_0x105d51,'currentConversationId':_0x1666dd});_0xd64931[_0x37d9b1(0x114)]!==![]&&await(0x0,messaging_1['sendDingMessage'])(_0x20f5ab,{'conversationId':_0x1666dd,'sessionWebhook':_0x105d51,'atUserId':_0x52f952,'content':_0x37d9b1(0x109)});try{await(0x0,claude_process_1[_0x37d9b1(0x137)])(_0x20f5ab,_0x464ce6['session'],_0x93adc,{'skill':_0xd64931[_0x37d9b1(0x11c)]?.['skill'],'agent':_0xd64931['agent'],'senderNick':_0xc7a5e3,'senderStaffId':_0x52f952});}catch(_0x3ff8d2){if(_0x464ce6[_0x37d9b1(0x9b)]['claudeSessionId']){console[_0x37d9b1(0xd2)](_0x37d9b1(0x13c)+_0x464ce6[_0x37d9b1(0x9b)][_0x37d9b1(0x7f)]),_0x464ce6['session'][_0x37d9b1(0x7f)]=undefined,_0x20f5ab['updateSessionFile'](_0x464ce6[_0x37d9b1(0x9b)],{});try{await(0x0,claude_process_1[_0x37d9b1(0x137)])(_0x20f5ab,_0x464ce6[_0x37d9b1(0x9b)],_0x93adc,{'skill':_0xd64931[_0x37d9b1(0x11c)]?.['skill'],'agent':_0xd64931[_0x37d9b1(0x118)],'senderNick':_0xc7a5e3,'senderStaffId':_0x52f952});return;}catch(_0x578d){console[_0x37d9b1(0xff)](_0x37d9b1(0xf8),_0x578d),await(0x0,messaging_1[_0x37d9b1(0xf7)])(_0x20f5ab,{'conversationId':_0x1666dd,'sessionWebhook':_0x105d51,'atUserId':_0x52f952,'content':_0x37d9b1(0x149)+(_0x578d instanceof Error?_0x578d[_0x37d9b1(0x8b)]:String(_0x578d))}),_0x464ce6[_0x37d9b1(0xce)]=![],await processMessageQueue(_0x20f5ab,_0x1666dd);return;}}console[_0x37d9b1(0xff)](_0x37d9b1(0x10e),_0x3ff8d2),await(0x0,messaging_1[_0x37d9b1(0xf7)])(_0x20f5ab,{'conversationId':_0x1666dd,'sessionWebhook':_0x105d51,'atUserId':_0x52f952,'content':_0x37d9b1(0x149)+(_0x3ff8d2 instanceof Error?_0x3ff8d2['message']:String(_0x3ff8d2))});}finally{_0x464ce6[_0x37d9b1(0xce)]=![];}await processMessageQueue(_0x20f5ab,_0x1666dd);}else await startNewSession(_0x20f5ab,{'conversationId':_0x1666dd,'sessionWebhook':_0x105d51,'senderStaffId':_0x52f952,'senderNick':_0xc7a5e3,'message':_0x93adc,'conversationConfig':_0xd64931});}function cleanCache(_0x1852e3,_0x1d181d,_0x563115=!![]){const _0x21a7a2=a11_0x3b30a8,_0x2f578b={'sessionsDeleted':0x0,'tasksDeleted':0x0,'imagesDeleted':0x0,'errors':[]},_0x270631=_0x1d181d?[_0x1d181d]:_0x1852e3['config'][_0x21a7a2(0x101)]['map'](_0x242614=>_0x242614['conversationId']);for(const _0x5e4799 of _0x270631){let _0x14247f=null;if(_0x563115){const _0x112736=findActiveSession(_0x1852e3,_0x5e4799);_0x112736&&(_0x14247f=getSessionId(_0x112736[_0x21a7a2(0x9b)]['session']));}const _0x264d5e=getSessionsDir(_0x1852e3,_0x5e4799);if(fs_1[_0x21a7a2(0xb0)][_0x21a7a2(0x104)](_0x264d5e))try{const _0x5b5235=fs_1['default']['readdirSync'](_0x264d5e,{'withFileTypes':!![]});for(const _0x2b3343 of _0x5b5235){if(!_0x2b3343['isDirectory']())continue;if(_0x14247f&&_0x2b3343['name']===_0x14247f)continue;const _0x5adbfd=path_1[_0x21a7a2(0xb0)]['join'](_0x264d5e,_0x2b3343[_0x21a7a2(0x11d)]);try{fs_1[_0x21a7a2(0xb0)][_0x21a7a2(0x86)](_0x5adbfd,{'recursive':!![],'force':!![]}),_0x2f578b[_0x21a7a2(0x9a)]++;}catch(_0xb24032){_0x2f578b[_0x21a7a2(0x87)][_0x21a7a2(0xea)](_0x21a7a2(0xe9)+_0x5adbfd);}}}catch(_0x576d0a){_0x2f578b['errors'][_0x21a7a2(0xea)](_0x21a7a2(0x13f)+_0x264d5e);}const _0x35e08a=getTasksDir(_0x1852e3,_0x5e4799);if(fs_1[_0x21a7a2(0xb0)][_0x21a7a2(0x104)](_0x35e08a))try{const _0x19f60a=fs_1[_0x21a7a2(0xb0)][_0x21a7a2(0x131)](_0x35e08a,{'withFileTypes':!![]});for(const _0x5ca26e of _0x19f60a){if(!_0x5ca26e[_0x21a7a2(0x83)]())continue;const _0x13be00=path_1[_0x21a7a2(0xb0)][_0x21a7a2(0xa3)](_0x35e08a,_0x5ca26e[_0x21a7a2(0x11d)]);try{fs_1[_0x21a7a2(0xb0)][_0x21a7a2(0x86)](_0x13be00,{'recursive':!![],'force':!![]}),_0x2f578b[_0x21a7a2(0xba)]++;}catch(_0x81617){_0x2f578b[_0x21a7a2(0x87)][_0x21a7a2(0xea)](_0x21a7a2(0xcf)+_0x13be00);}}}catch(_0x2eb219){_0x2f578b[_0x21a7a2(0x87)][_0x21a7a2(0xea)]('读取tasks目录失败:\x20'+_0x35e08a);}const _0x31b118=getImagesDir(_0x1852e3,_0x5e4799);if(fs_1['default'][_0x21a7a2(0x104)](_0x31b118))try{const _0x218786=fs_1[_0x21a7a2(0xb0)][_0x21a7a2(0x131)](_0x31b118,{'withFileTypes':!![]});for(const _0x10990d of _0x218786){const _0x4d3409=path_1[_0x21a7a2(0xb0)][_0x21a7a2(0xa3)](_0x31b118,_0x10990d[_0x21a7a2(0x11d)]);try{fs_1[_0x21a7a2(0xb0)][_0x21a7a2(0xcb)](_0x4d3409),_0x2f578b[_0x21a7a2(0x98)]++;}catch(_0x50b083){_0x2f578b[_0x21a7a2(0x87)][_0x21a7a2(0xea)]('删除图片失败:\x20'+_0x4d3409);}}}catch(_0x4f8e66){_0x2f578b['errors'][_0x21a7a2(0xea)](_0x21a7a2(0x10f)+_0x31b118);}if(!_0x563115){const _0x26774f=getActiveSessionsFile(_0x1852e3,_0x5e4799);if(fs_1[_0x21a7a2(0xb0)][_0x21a7a2(0x104)](_0x26774f))try{fs_1['default']['unlinkSync'](_0x26774f);}catch(_0x51d736){_0x2f578b[_0x21a7a2(0x87)][_0x21a7a2(0xea)](_0x21a7a2(0x10c)+_0x26774f);}_0x1852e3[_0x21a7a2(0xac)]['has'](_0x5e4799)&&_0x1852e3[_0x21a7a2(0xac)][_0x21a7a2(0x81)](_0x5e4799);}}return _0x2f578b;}