cc-ding 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +103 -97
- package/dist/bin/cc-ding.js +1 -1
- package/dist/src/biz/api-key-manager.js +1 -1
- package/dist/src/biz/cc-ding-cli.js +1 -1
- package/dist/src/biz/claude-process.js +1 -1
- package/dist/src/biz/commands.js +1 -1
- package/dist/src/biz/cron.js +1 -1
- package/dist/src/biz/doctor.js +1 -1
- package/dist/src/biz/image.js +1 -1
- package/dist/src/biz/lock.js +1 -1
- package/dist/src/biz/messaging.js +1 -1
- package/dist/src/biz/quote.js +1 -1
- package/dist/src/biz/session.js +1 -1
- package/dist/src/biz/task.js +1 -1
- package/dist/src/biz/types.js +1 -1
- package/dist/src/common.js +1 -1
- package/dist/src/constants.js +1 -1
- package/package.json +5 -1
package/dist/src/biz/cron.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a5_0x4570cc=a5_0x248e;(function(_0x11d57d,_0x230a44){const _0xfe1e1e=a5_0x248e,_0x23325b=_0x11d57d();while(!![]){try{const _0x7fc432=parseInt(_0xfe1e1e(0x237))/0x1+parseInt(_0xfe1e1e(0x266))/0x2+parseInt(_0xfe1e1e(0x265))/0x3+parseInt(_0xfe1e1e(0x231))/0x4+-parseInt(_0xfe1e1e(0x283))/0x5+-parseInt(_0xfe1e1e(0x210))/0x6+-parseInt(_0xfe1e1e(0x289))/0x7;if(_0x7fc432===_0x230a44)break;else _0x23325b['push'](_0x23325b['shift']());}catch(_0x18f3b0){_0x23325b['push'](_0x23325b['shift']());}}}(a5_0x4b87,0x66821));var __importDefault=this&&this[a5_0x4570cc(0x20d)]||function(_0x2fc57d){const _0x33dbdc=a5_0x4570cc;return _0x2fc57d&&_0x2fc57d[_0x33dbdc(0x269)]?_0x2fc57d:{'default':_0x2fc57d};};Object[a5_0x4570cc(0x207)](exports,a5_0x4570cc(0x269),{'value':!![]}),exports[a5_0x4570cc(0x232)]=void 0x0,exports[a5_0x4570cc(0x200)]=isValidCronExpression,exports['formatCronJobList']=formatCronJobList,exports[a5_0x4570cc(0x28d)]=formatCronJobInfo;function a5_0x248e(_0x143afd,_0x2e1413){_0x143afd=_0x143afd-0x1ea;const _0x4b87b9=a5_0x4b87();let _0x248eb9=_0x4b87b9[_0x143afd];return _0x248eb9;}const fs_1=__importDefault(require('fs')),readline_1=__importDefault(require(a5_0x4570cc(0x1f2))),child_process_1=require(a5_0x4570cc(0x223)),utils_ok_1=require('utils-ok'),messaging_1=require(a5_0x4570cc(0x267)),claude_process_1=require(a5_0x4570cc(0x26a)),task_1=require(a5_0x4570cc(0x259)),session_1=require('./session');function getCronFile(_0x2958b8){const _0x474d1f=a5_0x4570cc;return(0x0,session_1['getClientDir'])(_0x2958b8)+_0x474d1f(0x228);}function loadCronJobs(_0x1ecdc1){const _0x3b3c5a=a5_0x4570cc,_0xedb616=getCronFile(_0x1ecdc1);try{const _0x3e187b=JSON[_0x3b3c5a(0x26f)](fs_1['default'][_0x3b3c5a(0x20b)](_0xedb616,_0x3b3c5a(0x235)));return Array[_0x3b3c5a(0x27f)](_0x3e187b)?_0x3e187b:_0x3e187b[_0x3b3c5a(0x263)]||[];}catch{return[];}}function saveCronJobs(_0x2d589d,_0x283b4a){const _0x25e851=a5_0x4570cc,_0x1047f3=getCronFile(_0x2d589d);fs_1['default'][_0x25e851(0x264)](_0x1047f3,JSON[_0x25e851(0x246)](_0x283b4a,null,0x2),'utf-8');}function matchesCronField(_0x42c3b5,_0x94dee8,_0x1f5768,_0x14eb68){const _0x43911d=a5_0x4570cc;if(_0x42c3b5==='*')return!![];if(_0x42c3b5[_0x43911d(0x1f7)](','))return _0x42c3b5['split'](',')[_0x43911d(0x1fb)](_0x3595bc=>matchesCronField(_0x3595bc['trim'](),_0x94dee8,_0x1f5768,_0x14eb68));if(_0x42c3b5[_0x43911d(0x1f7)]('/')){const _0x231b87=_0x42c3b5[_0x43911d(0x24d)]('/'),_0x3a1c28=_0x42c3b5[_0x43911d(0x284)](0x0,_0x231b87),_0x272e4e=parseInt(_0x42c3b5[_0x43911d(0x284)](_0x231b87+0x1),0xa);if(isNaN(_0x272e4e)||_0x272e4e<=0x0)return![];let _0x4b117d=_0x1f5768,_0x8e82a0=_0x14eb68;if(_0x3a1c28!=='*'){if(_0x3a1c28[_0x43911d(0x1f7)]('-')){const _0x4d5e8a=_0x3a1c28['split']('-')['map'](Number);_0x4b117d=_0x4d5e8a[0x0],_0x8e82a0=_0x4d5e8a[0x1];}else _0x4b117d=parseInt(_0x3a1c28,0xa),_0x8e82a0=_0x14eb68;}if(_0x94dee8<_0x4b117d||_0x94dee8>_0x8e82a0)return![];return(_0x94dee8-_0x4b117d)%_0x272e4e===0x0;}if(_0x42c3b5[_0x43911d(0x1f7)]('-')){const _0x323ab1=_0x42c3b5[_0x43911d(0x250)]('-')[_0x43911d(0x216)](Number);return _0x94dee8>=_0x323ab1[0x0]&&_0x94dee8<=_0x323ab1[0x1];}const _0x1d50bc=parseInt(_0x42c3b5,0xa);return!isNaN(_0x1d50bc)&&_0x94dee8===_0x1d50bc;}function matchesCron(_0x39950b,_0x3f3a17){const _0x25389e=a5_0x4570cc,_0x17d117=_0x39950b[_0x25389e(0x288)]()[_0x25389e(0x250)](/\s+/);if(_0x17d117[_0x25389e(0x22f)]!==0x5)return![];const _0x4c7a07=_0x3f3a17['getMinutes'](),_0x896635=_0x3f3a17[_0x25389e(0x27c)](),_0x32eb4e=_0x3f3a17[_0x25389e(0x1ef)](),_0x22360f=_0x3f3a17[_0x25389e(0x1fc)]()+0x1,_0x38554f=_0x3f3a17[_0x25389e(0x1eb)]();if(!matchesCronField(_0x17d117[0x0],_0x4c7a07,0x0,0x3b))return![];if(!matchesCronField(_0x17d117[0x1],_0x896635,0x0,0x17))return![];if(!matchesCronField(_0x17d117[0x3],_0x22360f,0x1,0xc))return![];const _0x2eaa69=matchesCronField(_0x17d117[0x2],_0x32eb4e,0x1,0x1f),_0x3aabf9=matchesCronField(_0x17d117[0x4],_0x38554f,0x0,0x7)||_0x38554f===0x0&&matchesCronField(_0x17d117[0x4],0x7,0x0,0x7),_0x1b8964=_0x17d117[0x2]==='*',_0x3c7b04=_0x17d117[0x4]==='*';if(_0x1b8964&&_0x3c7b04)return!![];if(_0x1b8964)return _0x3aabf9;if(_0x3c7b04)return _0x2eaa69;return _0x2eaa69||_0x3aabf9;}function isValidCronExpression(_0x30592f){const _0x1b4339=a5_0x4570cc,_0x3fd029=_0x30592f[_0x1b4339(0x288)]()[_0x1b4339(0x250)](/\s+/);if(_0x3fd029[_0x1b4339(0x22f)]!==0x5)return![];const _0x245423=/^(\*|\d+|\d+-\d+|\*\/\d+|\d+\/\d+|\d+-\d+\/\d+|\d+(,\d+)+)$/;return _0x3fd029[_0x1b4339(0x239)](_0x56d95d=>_0x245423['test'](_0x56d95d));}const ANALYSIS_PROMPT=a5_0x4570cc(0x229);async function analyzeCronWithClaude(_0x502e7d,_0x4a86cd,_0x4016d8){const _0x46eb6a=a5_0x4570cc,_0x429d5e=_0x502e7d[_0x46eb6a(0x28c)](_0x4a86cd),_0x1b071d='claude',_0x595759=ANALYSIS_PROMPT[_0x46eb6a(0x217)]('{INPUT}',_0x4016d8),_0x21f151=['--permission-mode',_0x46eb6a(0x256),'--print',_0x46eb6a(0x1f9),_0x46eb6a(0x258),_0x46eb6a(0x254)],_0x3384f4=(0x0,claude_process_1[_0x46eb6a(0x257)])(_0x502e7d,_0x429d5e);return _0x3384f4&&_0x21f151[_0x46eb6a(0x243)](_0x46eb6a(0x22c),_0x3384f4),console[_0x46eb6a(0x20c)]('['+(0x0,session_1['timestamp'])()+_0x46eb6a(0x201)+_0x1b071d+'\x20'+_0x21f151[_0x46eb6a(0x1f8)]('\x20')),new Promise((_0xd7201e,_0x12d3a2)=>{const _0x55b145=_0x46eb6a,_0x6de307=(0x0,child_process_1[_0x55b145(0x205)])(_0x1b071d,_0x21f151,{'cwd':_0x429d5e,'stdio':[_0x55b145(0x1ed),_0x55b145(0x1ed),_0x55b145(0x1ed)]});_0x6de307[_0x55b145(0x22b)]?.['write'](_0x595759+'\x0a'),_0x6de307['stdin']?.[_0x55b145(0x21c)]();let _0x4ef153='',_0x1b6a32='';const _0xb084dd=readline_1[_0x55b145(0x245)][_0x55b145(0x27e)]({'input':_0x6de307[_0x55b145(0x211)]});_0xb084dd['on'](_0x55b145(0x208),_0x39edbb=>{const _0x5d470f=_0x55b145,_0x5f5a97=(0x0,claude_process_1[_0x5d470f(0x27d)])(_0x39edbb);_0x5f5a97?.[_0x5d470f(0x28a)]===_0x5d470f(0x27a)&&_0x5f5a97[_0x5d470f(0x230)]&&(_0x4ef153=_0x5f5a97['content']);}),_0x6de307[_0x55b145(0x260)]?.['on'](_0x55b145(0x22d),_0x2c3dd7=>{const _0x40521c=_0x55b145;_0x1b6a32+=_0x2c3dd7[_0x40521c(0x253)]();});const _0x5479b6=setTimeout(()=>{const _0x596584=_0x55b145;_0x6de307[_0x596584(0x276)](),_0x12d3a2(new Error(_0x596584(0x25c)));},0xea60);_0x6de307['on'](_0x55b145(0x271),_0x375f11=>{const _0x3f12aa=_0x55b145;clearTimeout(_0x5479b6);if(_0x375f11===0x0&&_0x4ef153)try{const _0x569685=_0x4ef153[_0x3f12aa(0x287)](/\{[\s\S]*\}/);if(_0x569685){const _0x13b853=JSON[_0x3f12aa(0x26f)](_0x569685[0x0]);if(_0x13b853[_0x3f12aa(0x23f)]&&_0x13b853[_0x3f12aa(0x220)]){_0xd7201e(_0x13b853);return;}}_0x12d3a2(new Error('Claude\x20返回格式不正确'));}catch{_0x12d3a2(new Error(_0x3f12aa(0x27b)));}else{const _0x4dca8e=_0x1b6a32['trim']()?'\x20('+_0x1b6a32[_0x3f12aa(0x288)]()[_0x3f12aa(0x284)](0x0,0xc8)+')':'';console[_0x3f12aa(0x24f)]('['+(0x0,session_1[_0x3f12aa(0x281)])()+_0x3f12aa(0x23a)+_0x375f11+')'+_0x4dca8e);const _0x55aedc=_0x1b6a32;if(/\b429\b/[_0x3f12aa(0x280)](_0x55aedc))_0x12d3a2(new Error(_0x3f12aa(0x23b)));else{if(/\b422\b/[_0x3f12aa(0x280)](_0x55aedc)||/TPM|额度超限/i[_0x3f12aa(0x280)](_0x55aedc))_0x12d3a2(new Error(_0x3f12aa(0x270)));else{if(/\b401\b/[_0x3f12aa(0x280)](_0x55aedc)||/auth|认证|permission/i['test'](_0x55aedc))_0x12d3a2(new Error(_0x3f12aa(0x209)));else _0x375f11===0x1&&!_0x4ef153&&!_0x1b6a32[_0x3f12aa(0x288)]()?_0x12d3a2(new Error(_0x3f12aa(0x1f1))):_0x12d3a2(new Error(_0x3f12aa(0x24a)+_0x375f11+')'+_0x4dca8e));}}}}),_0x6de307['on']('error',_0x1128a5=>{const _0x21ce95=_0x55b145;clearTimeout(_0x5479b6),_0x12d3a2(new Error(_0x21ce95(0x26b)+_0x1128a5[_0x21ce95(0x21a)]));});});}function a5_0x4b87(){const _0x434784=['bypassPermissions','resolveClaudeSettingsPath','stream-json','./task','tick','-\x20Cron:\x20`','分析超时(60s)','stopScheduler','dateUtil','executeJob','stderr','-\x20**创建时间:**\x20',']\x20Cron引擎已启动,\x20共\x20','jobs','writeFileSync','1666542ZiooUp','1629538XSfKwT','./messaging','size','__esModule','./claude-process','启动\x20Claude\x20进程失败:\x20','saveActiveSession','filter','delete','parse','Claude\x20TPM\x20限流(422),请稍后重试','close','runningJobIds','sendDingMessage','-\x20**上次执行:**\x20','start','kill','cron_','findIndex','\x20个任务\x20(','result','JSON\x20解析失败','getHours','parseClaudeStreamLine','createInterface','isArray','test','timestamp','activeSessions','3885580OMkaSX','substring','taskCfg','timer','match','trim','7170590jyGWcu','type','getConversationConfig','getConversationDir','formatCronJobInfo','[cron]','getDay','startScheduler','pipe','\x20无通知能力(无dingToken且无defaultDingToken),\x20跳过执行','getDate','/session.json','Claude\x20进程异常退出,无输出。请检查\x20claude\x20命令是否可用','readline','warn','mkdirSync','persist','listJobs','includes','join','--output-format','/session.log','some','getMonth','lastCheckedTime','find','addJob','isValidCronExpression',']\x20Cron分析:\x20','MAX_CONCURRENT_JOBS','lastRunAt','toggleJob','spawn','dingToken','defineProperty','line','Claude\x20认证失败(401),请检查\x20API\x20Key\x20配置','now','readFileSync','log','__importDefault','✅\x20启用','catch','959958dHpLPD','stdout','getSessionDir','format','YYYY-MM-DD-HH-mm-ss',']\x20Cron并发上限(','map','replace','cronExpression',']\x20Cron触发:\x20','message','Claude\x20返回的cron表达式无效:\x20','end','enabled','-\x20上次执行:\x20','📭\x20暂无定时任务','prompt','skill','senderStaffId','child_process','splice',']\x20删除定时任务:\x20','senderNick','destroy','/cron.json','分析以下定时任务描述,提取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','已恢复','stdin','--settings','data','已暂停','length','content','1192828aaAbOV','CronEngine','-\x20**任务:**\x20','conversationId','utf-8','appendFileSync','712862IaBbbW','-\x20**状态:**\x20','every',']\x20Cron分析进程退出(','Claude\x20配额已耗尽(429),请稍后重试或明天再试','set','-\x20**创建者:**\x20','has','cron','enqueueAsTask','getJob','checkJobsAt','push','\x20降级到任务队列失败:','default','stringify',']\x20Cron任务\x20','saveTask','description','分析失败\x20(退出码:\x20','agent','analyzeAndCreate','indexOf','-\x20描述:\x20','error','split',']\x20[SYSTEM]:\x20定时任务触发:\x20','###\x20⏰\x20定时任务列表\x0a','toString','--verbose','\x20启用)'];a5_0x4b87=function(){return _0x434784;};return a5_0x4b87();}function formatCronJobList(_0x1a4929){const _0x323754=a5_0x4570cc;if(_0x1a4929[_0x323754(0x22f)]===0x0)return _0x323754(0x21f);const _0x433cc6=[_0x323754(0x252)];for(const _0x2c327d of _0x1a4929){const _0x2253ef=_0x2c327d[_0x323754(0x21d)]?'✅':'⏸️',_0x3d3087=_0x2c327d[_0x323754(0x203)]||'-';_0x433cc6[_0x323754(0x243)]('**'+_0x2253ef+'\x20'+_0x2c327d['id']+'**'),_0x433cc6[_0x323754(0x243)](_0x323754(0x25b)+_0x2c327d[_0x323754(0x218)]+'`'),_0x433cc6[_0x323754(0x243)](_0x323754(0x24e)+_0x2c327d[_0x323754(0x249)]),_0x433cc6[_0x323754(0x243)]('-\x20任务:\x20'+_0x2c327d[_0x323754(0x220)]),_0x433cc6[_0x323754(0x243)]('-\x20创建者:\x20'+_0x2c327d[_0x323754(0x226)]),_0x433cc6['push'](_0x323754(0x21e)+_0x3d3087),_0x433cc6['push']('');}return _0x433cc6[_0x323754(0x243)]('💡\x20`/cron\x20pause\x20<id>`\x20暂停\x20|\x20`/cron\x20resume\x20<id>`\x20恢复\x20|\x20`/cron\x20delete\x20<id>`\x20删除'),_0x433cc6[_0x323754(0x1f8)]('\x0a');}function formatCronJobInfo(_0x1c4853){const _0x576146=a5_0x4570cc,_0x29dc75=_0x1c4853[_0x576146(0x21d)]?_0x576146(0x20e):'⏸️\x20暂停';return['###\x20⏰\x20定时任务\x20'+_0x1c4853['id'],'',_0x576146(0x238)+_0x29dc75,'-\x20**Cron:**\x20`'+_0x1c4853[_0x576146(0x218)]+'`','-\x20**描述:**\x20'+_0x1c4853['description'],_0x576146(0x233)+_0x1c4853[_0x576146(0x220)],_0x576146(0x23d)+_0x1c4853['senderNick'],_0x576146(0x261)+_0x1c4853['createdAt'],_0x576146(0x274)+(_0x1c4853[_0x576146(0x203)]||'-')][_0x576146(0x1f8)]('\x0a');}class CronEngine{constructor(_0x284a1f){const _0xcb6c46=a5_0x4570cc;this[_0xcb6c46(0x263)]=[],this[_0xcb6c46(0x286)]=null,this[_0xcb6c46(0x1fd)]=-0x1,this['runningJobIds']=new Set(),this['MAX_CONCURRENT_JOBS']=0x3,this['dc']=_0x284a1f,this[_0xcb6c46(0x263)]=loadCronJobs(_0x284a1f);}[a5_0x4570cc(0x275)](){const _0x1ae4d2=a5_0x4570cc;this[_0x1ae4d2(0x1ec)]();const _0x2a0564=this['jobs'][_0x1ae4d2(0x26d)](_0x420142=>_0x420142['enabled'])[_0x1ae4d2(0x22f)];console[_0x1ae4d2(0x20c)]('['+(0x0,session_1['timestamp'])()+_0x1ae4d2(0x262)+this[_0x1ae4d2(0x263)][_0x1ae4d2(0x22f)]+_0x1ae4d2(0x279)+_0x2a0564+_0x1ae4d2(0x255));}[a5_0x4570cc(0x227)](){const _0x86b39f=a5_0x4570cc;this[_0x86b39f(0x25d)]();}[a5_0x4570cc(0x1ff)](_0x2a976d){const _0x4e9248=a5_0x4570cc,_0x37c64d={'id':_0x4e9248(0x277)+Date[_0x4e9248(0x20a)](),'conversationId':_0x2a976d[_0x4e9248(0x234)],'cronExpression':_0x2a976d['cronExpression'],'description':_0x2a976d[_0x4e9248(0x249)],'prompt':_0x2a976d['prompt'],'enabled':!![],'createdAt':(0x0,session_1[_0x4e9248(0x281)])(),'senderStaffId':_0x2a976d[_0x4e9248(0x222)],'senderNick':_0x2a976d['senderNick']};return this[_0x4e9248(0x263)][_0x4e9248(0x243)](_0x37c64d),this['persist'](),console[_0x4e9248(0x20c)]('['+(0x0,session_1[_0x4e9248(0x281)])()+']\x20新增定时任务:\x20'+_0x37c64d['id']+'\x20['+_0x37c64d[_0x4e9248(0x218)]+']\x20'+_0x37c64d[_0x4e9248(0x249)]),_0x37c64d;}['removeJob'](_0x441aa7){const _0x5ef400=a5_0x4570cc,_0x4ee9ab=this[_0x5ef400(0x263)][_0x5ef400(0x278)](_0x4c93e9=>_0x4c93e9['id']===_0x441aa7);if(_0x4ee9ab===-0x1)return![];const _0x5e5a50=this[_0x5ef400(0x263)][_0x5ef400(0x224)](_0x4ee9ab,0x1)[0x0];return this[_0x5ef400(0x1f5)](),console['log']('['+(0x0,session_1['timestamp'])()+_0x5ef400(0x225)+_0x5e5a50['id']),!![];}[a5_0x4570cc(0x204)](_0x340ca3,_0x3a885e){const _0x7933a9=a5_0x4570cc,_0xd8defb=this[_0x7933a9(0x263)][_0x7933a9(0x1fe)](_0x4dc61d=>_0x4dc61d['id']===_0x340ca3);if(!_0xd8defb)return![];return _0xd8defb[_0x7933a9(0x21d)]=_0x3a885e,this[_0x7933a9(0x1f5)](),console['log']('['+(0x0,session_1[_0x7933a9(0x281)])()+']\x20定时任务\x20'+_0xd8defb['id']+'\x20'+(_0x3a885e?_0x7933a9(0x22a):_0x7933a9(0x22e))),!![];}[a5_0x4570cc(0x1f6)](_0x4b2218){const _0x176ab9=a5_0x4570cc;if(_0x4b2218)return this[_0x176ab9(0x263)][_0x176ab9(0x26d)](_0xeb43ca=>_0xeb43ca['conversationId']===_0x4b2218);return[...this['jobs']];}[a5_0x4570cc(0x241)](_0x5a1501){const _0x1b81bc=a5_0x4570cc;return this[_0x1b81bc(0x263)]['find'](_0xbd72f8=>_0xbd72f8['id']===_0x5a1501);}async[a5_0x4570cc(0x24c)](_0x4b1245,_0x3f3de8,_0x5206ec,_0xbd2d03){const _0x559ab4=a5_0x4570cc;try{const _0x370680=await analyzeCronWithClaude(this['dc'],_0x4b1245,_0x3f3de8);if(!isValidCronExpression(_0x370680[_0x559ab4(0x23f)]))return{'error':_0x559ab4(0x21b)+_0x370680['cron']};const _0x115221=this['addJob']({'conversationId':_0x4b1245,'cronExpression':_0x370680[_0x559ab4(0x23f)],'description':_0x370680['desc']||_0x3f3de8['substring'](0x0,0x32),'prompt':_0x370680['prompt'],'senderStaffId':_0x5206ec,'senderNick':_0xbd2d03});return{'job':_0x115221};}catch(_0xf67111){return{'error':_0xf67111 instanceof Error?_0xf67111[_0x559ab4(0x21a)]:String(_0xf67111)};}}['persist'](){const _0x14fc88=a5_0x4570cc;saveCronJobs(this['dc'],this[_0x14fc88(0x263)]);}[a5_0x4570cc(0x1ec)](){const _0x54eea4=Date['now'](),_0x38e8a6=0xea60-_0x54eea4%0xea60;setTimeout(()=>{const _0x285601=a5_0x248e;this[_0x285601(0x25a)](),this[_0x285601(0x286)]=setInterval(()=>this[_0x285601(0x25a)](),0xea60);},_0x38e8a6);}['stopScheduler'](){const _0xc89aec=a5_0x4570cc;this[_0xc89aec(0x286)]&&(clearInterval(this[_0xc89aec(0x286)]),this[_0xc89aec(0x286)]=null);}['tick'](){const _0x9c14a1=a5_0x4570cc,_0x45eb0b=Date['now'](),_0x2898c5=this['lastCheckedTime']<0x0?_0x45eb0b-_0x45eb0b%0xea60:this[_0x9c14a1(0x1fd)]+0xea60-this[_0x9c14a1(0x1fd)]%0xea60,_0x348a38=_0x45eb0b-_0x45eb0b%0xea60;for(let _0x209470=_0x2898c5;_0x209470<=_0x348a38;_0x209470+=0xea60){const _0x2d66c1=new Date(_0x209470);if(!this[_0x9c14a1(0x242)](_0x2d66c1))break;}this['lastCheckedTime']=_0x45eb0b;}[a5_0x4570cc(0x242)](_0x4a59ac){const _0x179c5b=a5_0x4570cc;if(this[_0x179c5b(0x272)][_0x179c5b(0x268)]>=this[_0x179c5b(0x202)])return console[_0x179c5b(0x1f3)]('['+(0x0,session_1[_0x179c5b(0x281)])()+_0x179c5b(0x215)+this['MAX_CONCURRENT_JOBS']+'),\x20跳过\x20'+_0x4a59ac['toISOString']()+'\x20的检查'),![];for(const _0x3b595c of this['jobs']){if(!_0x3b595c['enabled'])continue;if(this[_0x179c5b(0x272)][_0x179c5b(0x23e)](_0x3b595c['id']))continue;if(this[_0x179c5b(0x272)][_0x179c5b(0x268)]>=this[_0x179c5b(0x202)])break;if(!matchesCron(_0x3b595c['cronExpression'],_0x4a59ac))continue;console['log']('['+(0x0,session_1['timestamp'])()+_0x179c5b(0x219)+_0x3b595c['id']+'\x20['+_0x3b595c[_0x179c5b(0x218)]+']\x20'+_0x3b595c[_0x179c5b(0x249)]),this[_0x179c5b(0x25f)](_0x3b595c)[_0x179c5b(0x20f)](_0x2e6ece=>{const _0xbbd4cc=_0x179c5b;console['error']('['+(0x0,session_1[_0xbbd4cc(0x281)])()+']\x20Cron执行失败:\x20'+_0x3b595c['id'],_0x2e6ece);});}return!![];}async['executeJob'](_0xa7d08f){const _0x19492e=a5_0x4570cc;this[_0x19492e(0x272)]['add'](_0xa7d08f['id']);try{const _0x314c9f=this['dc'][_0x19492e(0x28b)](_0xa7d08f[_0x19492e(0x234)]);if(!_0x314c9f){console['warn']('['+(0x0,session_1[_0x19492e(0x281)])()+']\x20Cron任务\x20'+_0xa7d08f['id']+'\x20的会话配置不存在,\x20跳过执行');return;}const _0xadc9ae=!!(_0x314c9f[_0x19492e(0x206)]||this['dc']['config']['defaultDingToken']);if(!_0xadc9ae){console[_0x19492e(0x1f3)]('['+(0x0,session_1[_0x19492e(0x281)])()+_0x19492e(0x247)+_0xa7d08f['id']+_0x19492e(0x1ee));return;}const _0x4ff10d=(0x0,session_1['findActiveSession'])(this['dc'],_0xa7d08f[_0x19492e(0x234)]);if(_0x4ff10d){console[_0x19492e(0x20c)]('['+(0x0,session_1['timestamp'])()+_0x19492e(0x247)+_0xa7d08f['id']+'\x20的会话有活跃session,\x20降级到任务队列'),await this[_0x19492e(0x240)](_0xa7d08f);return;}const _0x3faf84=Date[_0x19492e(0x20a)](),_0x1f232c={'conversationId':_0xa7d08f['conversationId'],'sessionWebhook':'','startTime':_0x3faf84,'startTimeStr':utils_ok_1[_0x19492e(0x25e)]['mm'](_0x3faf84)[_0x19492e(0x213)](_0x19492e(0x214)),'startStaffId':_0xa7d08f[_0x19492e(0x222)],'startNickName':_0x19492e(0x1ea)+_0xa7d08f[_0x19492e(0x226)]},_0x2d8232=(0x0,session_1[_0x19492e(0x212)])(this['dc'],_0x1f232c);fs_1['default'][_0x19492e(0x1f4)](_0x2d8232,{'recursive':!![]}),fs_1[_0x19492e(0x245)][_0x19492e(0x264)](_0x2d8232+_0x19492e(0x1f0),JSON[_0x19492e(0x246)](_0x1f232c,null,0x2),_0x19492e(0x235)),this['dc'][_0x19492e(0x282)][_0x19492e(0x23c)](_0xa7d08f['conversationId'],{'session':_0x1f232c,'lastSenderStaffId':_0xa7d08f[_0x19492e(0x222)],'isProcessing':!![],'conversationConfig':_0x314c9f}),(0x0,session_1[_0x19492e(0x26c)])(this['dc'],_0xa7d08f['conversationId']),console[_0x19492e(0x20c)]('['+(0x0,session_1[_0x19492e(0x281)])()+_0x19492e(0x247)+_0xa7d08f['id']+'\x20开始执行:\x20'+_0xa7d08f['description']),fs_1[_0x19492e(0x245)][_0x19492e(0x236)](_0x2d8232+_0x19492e(0x1fa),'['+(0x0,session_1['timestamp'])()+_0x19492e(0x251)+_0xa7d08f['description']+'\x0a',_0x19492e(0x235));try{await(0x0,claude_process_1['executeClaudeQuery'])(this['dc'],_0x1f232c,_0xa7d08f[_0x19492e(0x220)],{'skill':_0x314c9f[_0x19492e(0x285)]?.[_0x19492e(0x221)],'agent':_0x314c9f[_0x19492e(0x24b)],'senderNick':_0xa7d08f[_0x19492e(0x226)],'senderStaffId':_0xa7d08f[_0x19492e(0x222)]});}catch(_0x5abf6e){console[_0x19492e(0x24f)]('['+(0x0,session_1['timestamp'])()+']\x20Cron执行Claude查询失败:\x20'+_0xa7d08f['id'],_0x5abf6e),await(0x0,messaging_1[_0x19492e(0x273)])(this['dc'],{'conversationId':_0xa7d08f[_0x19492e(0x234)],'sessionWebhook':'','atUserId':_0xa7d08f[_0x19492e(0x222)],'content':'❌\x20定时任务执行失败:\x20'+(_0x5abf6e instanceof Error?_0x5abf6e[_0x19492e(0x21a)]:String(_0x5abf6e))});}finally{this['dc'][_0x19492e(0x282)][_0x19492e(0x26e)](_0xa7d08f[_0x19492e(0x234)]),(0x0,session_1[_0x19492e(0x26c)])(this['dc'],_0xa7d08f['conversationId']);}_0xa7d08f[_0x19492e(0x203)]=(0x0,session_1[_0x19492e(0x281)])(),this[_0x19492e(0x1f5)]();}finally{this[_0x19492e(0x272)][_0x19492e(0x26e)](_0xa7d08f['id']);}}async['enqueueAsTask'](_0x2b56bd){const _0x5e7033=a5_0x4570cc;try{await(0x0,task_1[_0x5e7033(0x248)])(this['dc'],{'conversationId':_0x2b56bd['conversationId'],'prompt':_0x2b56bd['prompt'],'senderStaffId':_0x2b56bd[_0x5e7033(0x222)],'senderNickName':_0x5e7033(0x1ea)+_0x2b56bd[_0x5e7033(0x226)],'sessionWebhook':'','type':_0x5e7033(0x23f)}),console['log']('['+(0x0,session_1[_0x5e7033(0x281)])()+_0x5e7033(0x247)+_0x2b56bd['id']+'\x20已降级到任务队列:\x20'+_0x2b56bd[_0x5e7033(0x249)]);}catch(_0x4d85d1){console[_0x5e7033(0x24f)]('['+(0x0,session_1['timestamp'])()+_0x5e7033(0x247)+_0x2b56bd['id']+_0x5e7033(0x244),_0x4d85d1);}_0x2b56bd['lastRunAt']=(0x0,session_1['timestamp'])(),this[_0x5e7033(0x1f5)]();}}exports['CronEngine']=CronEngine;
|
|
1
|
+
'use strict';const a5_0x272c8=a5_0x26a3;(function(_0x33cc60,_0x118e46){const _0x1b69cf=a5_0x26a3,_0x77ddce=_0x33cc60();while(!![]){try{const _0x499929=parseInt(_0x1b69cf(0x207))/0x1*(-parseInt(_0x1b69cf(0x1f8))/0x2)+parseInt(_0x1b69cf(0x211))/0x3+-parseInt(_0x1b69cf(0x1ef))/0x4+parseInt(_0x1b69cf(0x246))/0x5+-parseInt(_0x1b69cf(0x242))/0x6+parseInt(_0x1b69cf(0x1e5))/0x7*(-parseInt(_0x1b69cf(0x24d))/0x8)+-parseInt(_0x1b69cf(0x218))/0x9*(-parseInt(_0x1b69cf(0x230))/0xa);if(_0x499929===_0x118e46)break;else _0x77ddce['push'](_0x77ddce['shift']());}catch(_0x4400c8){_0x77ddce['push'](_0x77ddce['shift']());}}}(a5_0x1d2c,0xe3dc8));var __importDefault=this&&this[a5_0x272c8(0x1cd)]||function(_0x204167){return _0x204167&&_0x204167['__esModule']?_0x204167:{'default':_0x204167};};Object[a5_0x272c8(0x1ff)](exports,'__esModule',{'value':!![]}),exports[a5_0x272c8(0x241)]=void 0x0,exports['isValidCronExpression']=isValidCronExpression,exports[a5_0x272c8(0x220)]=formatCronJobList,exports[a5_0x272c8(0x238)]=formatCronJobInfo;const fs_1=__importDefault(require('fs')),readline_1=__importDefault(require(a5_0x272c8(0x239))),child_process_1=require('child_process'),utils_ok_1=require(a5_0x272c8(0x247)),messaging_1=require('./messaging'),claude_process_1=require(a5_0x272c8(0x1ea)),task_1=require('./task'),session_1=require('./session');function getCronFile(_0x8f9587){const _0x2e0a49=a5_0x272c8;return(0x0,session_1[_0x2e0a49(0x1d1)])(_0x8f9587)+_0x2e0a49(0x255);}function loadCronJobs(_0x5f226d){const _0x1c57b3=a5_0x272c8,_0x188838=getCronFile(_0x5f226d);try{const _0x5b5c03=JSON[_0x1c57b3(0x22a)](fs_1[_0x1c57b3(0x23e)]['readFileSync'](_0x188838,_0x1c57b3(0x21e)));return Array[_0x1c57b3(0x25c)](_0x5b5c03)?_0x5b5c03:_0x5b5c03[_0x1c57b3(0x226)]||[];}catch{return[];}}function saveCronJobs(_0x40a4c1,_0x5066f2){const _0xe7e746=a5_0x272c8,_0x167cfa=getCronFile(_0x40a4c1);fs_1[_0xe7e746(0x23e)][_0xe7e746(0x252)](_0x167cfa,JSON[_0xe7e746(0x249)](_0x5066f2,null,0x2),_0xe7e746(0x21e));}function matchesCronField(_0x71ca11,_0x3fa972,_0x9f1b74,_0x495235){const _0x8bc802=a5_0x272c8;if(_0x71ca11==='*')return!![];if(_0x71ca11[_0x8bc802(0x23b)](','))return _0x71ca11[_0x8bc802(0x1e0)](',')[_0x8bc802(0x1d7)](_0x315c14=>matchesCronField(_0x315c14[_0x8bc802(0x225)](),_0x3fa972,_0x9f1b74,_0x495235));if(_0x71ca11[_0x8bc802(0x23b)]('/')){const _0x59c073=_0x71ca11['indexOf']('/'),_0x36f2b6=_0x71ca11['substring'](0x0,_0x59c073),_0x4ef556=parseInt(_0x71ca11['substring'](_0x59c073+0x1),0xa);if(isNaN(_0x4ef556)||_0x4ef556<=0x0)return![];let _0x2f03d7=_0x9f1b74,_0x3d7236=_0x495235;if(_0x36f2b6!=='*'){if(_0x36f2b6[_0x8bc802(0x23b)]('-')){const _0x16c3cb=_0x36f2b6[_0x8bc802(0x1e0)]('-')['map'](Number);_0x2f03d7=_0x16c3cb[0x0],_0x3d7236=_0x16c3cb[0x1];}else _0x2f03d7=parseInt(_0x36f2b6,0xa),_0x3d7236=_0x495235;}if(_0x3fa972<_0x2f03d7||_0x3fa972>_0x3d7236)return![];return(_0x3fa972-_0x2f03d7)%_0x4ef556===0x0;}if(_0x71ca11['includes']('-')){const _0x2b914a=_0x71ca11[_0x8bc802(0x1e0)]('-')[_0x8bc802(0x23f)](Number);return _0x3fa972>=_0x2b914a[0x0]&&_0x3fa972<=_0x2b914a[0x1];}const _0x387215=parseInt(_0x71ca11,0xa);return!isNaN(_0x387215)&&_0x3fa972===_0x387215;}function a5_0x1d2c(){const _0x3e6d68=['-\x20**上次执行:**\x20','timer','-\x20**创建者:**\x20','7138988WvSzpP','getConversationConfig','stream-json','getHours','enabled','cron_',']\x20定时任务\x20','persist','catch','37648KnrDAm','size','stopScheduler','mkdirSync','senderStaffId','Claude\x20返回格式不正确','/session.json','defineProperty','\x20个任务\x20(','now','parseClaudeStreamLine','toggleJob','getDay','test','resolveClaudeSettingsPath','68UPpvTo','{INPUT}','Claude\x20TPM\x20限流(422),请稍后重试','message','###\x20⏰\x20定时任务列表\x0a','desc','find','--print','stdout','content','5354826TFEAtw','cronExpression','analyzeAndCreate','conversationId','-\x20上次执行:\x20','join','saveActiveSession','9uZZFIf','toString','spawn','description',']\x20删除定时任务:\x20',']\x20Cron任务\x20','utf-8','error','formatCronJobList','listJobs','executeJob','splice','log','trim','jobs','\x20降级到任务队列失败:','tick','-\x20**Cron:**\x20`','parse','addJob','启动\x20Claude\x20进程失败:\x20','YYYY-MM-DD-HH-mm-ss',']\x20Cron分析进程退出(','\x20的会话配置不存在,\x20跳过执行','29351650cXXvMj','-\x20创建者:\x20','getMonth','config','⏸️\x20暂停','-\x20**状态:**\x20','cron','substring','formatCronJobInfo','readline','timestamp','includes','type','enqueueAsTask','default','map','getMinutes','CronEngine','3551148eMrePm','kill','--verbose','runningJobIds','6730395mAJeVz','utils-ok','Claude\x20进程异常退出,无输出。请检查\x20claude\x20命令是否可用','stringify','分析失败\x20(退出码:\x20','📭\x20暂无定时任务','Claude\x20配额已耗尽(429),请稍后重试或明天再试','8XUfsVT','createInterface','❌\x20定时任务执行失败:\x20','),\x20跳过\x20','startScheduler','writeFileSync','-\x20**任务:**\x20','dingToken','/cron.json','start','\x20的检查','write','push','JSON\x20解析失败','getSessionDir','isArray','stdin','saveTask','prompt','defaultDingToken','delete','result','skill','warn','stderr','getJob','bypassPermissions','removeJob','MAX_CONCURRENT_JOBS','分析以下定时任务描述,提取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',']\x20Cron并发上限(','__importDefault','checkJobsAt','dateUtil','lastCheckedTime','getClientDir','lastRunAt','sendDingMessage','\x20已降级到任务队列:\x20','已暂停','add','some','[cron]','\x20无通知能力(无dingToken且无defaultDingToken),\x20跳过执行',']\x20Cron分析:\x20','pipe','senderNick','destroy','format','activeSessions','split','line','claude','已恢复','toISOString','10333603fRTiMI','length',']\x20Cron触发:\x20','every','-\x20描述:\x20','./claude-process','filter'];a5_0x1d2c=function(){return _0x3e6d68;};return a5_0x1d2c();}function matchesCron(_0x5bdc50,_0xc966fc){const _0xf6597f=a5_0x272c8,_0x14c527=_0x5bdc50['trim']()[_0xf6597f(0x1e0)](/\s+/);if(_0x14c527[_0xf6597f(0x1e6)]!==0x5)return![];const _0x2fe7de=_0xc966fc[_0xf6597f(0x240)](),_0x54f868=_0xc966fc[_0xf6597f(0x1f2)](),_0x382d05=_0xc966fc['getDate'](),_0x1a624a=_0xc966fc[_0xf6597f(0x232)]()+0x1,_0x67d375=_0xc966fc[_0xf6597f(0x204)]();if(!matchesCronField(_0x14c527[0x0],_0x2fe7de,0x0,0x3b))return![];if(!matchesCronField(_0x14c527[0x1],_0x54f868,0x0,0x17))return![];if(!matchesCronField(_0x14c527[0x3],_0x1a624a,0x1,0xc))return![];const _0x3568ec=matchesCronField(_0x14c527[0x2],_0x382d05,0x1,0x1f),_0x259505=matchesCronField(_0x14c527[0x4],_0x67d375,0x0,0x7)||_0x67d375===0x0&&matchesCronField(_0x14c527[0x4],0x7,0x0,0x7),_0x1324e5=_0x14c527[0x2]==='*',_0x4af02d=_0x14c527[0x4]==='*';if(_0x1324e5&&_0x4af02d)return!![];if(_0x1324e5)return _0x259505;if(_0x4af02d)return _0x3568ec;return _0x3568ec||_0x259505;}function isValidCronExpression(_0x2c6e7){const _0x2422e4=a5_0x272c8,_0x31d946=_0x2c6e7[_0x2422e4(0x225)]()[_0x2422e4(0x1e0)](/\s+/);if(_0x31d946['length']!==0x5)return![];const _0x3bac2d=/^(\*|\d+|\d+-\d+|\*\/\d+|\d+\/\d+|\d+-\d+\/\d+|\d+(,\d+)+)$/;return _0x31d946[_0x2422e4(0x1e8)](_0x17ea43=>_0x3bac2d[_0x2422e4(0x205)](_0x17ea43));}const ANALYSIS_PROMPT=a5_0x272c8(0x1cb);async function analyzeCronWithClaude(_0x15c1c6,_0x1831b2,_0x24eae2){const _0x3e186f=a5_0x272c8,_0x438cf4=_0x15c1c6['getConversationDir'](_0x1831b2),_0x50fcc0=_0x3e186f(0x1e2),_0x59a8dd=ANALYSIS_PROMPT['replace'](_0x3e186f(0x208),_0x24eae2),_0x4e6970=['--permission-mode',_0x3e186f(0x1c8),_0x3e186f(0x20e),'--output-format',_0x3e186f(0x1f1),_0x3e186f(0x244)],_0xe2979d=(0x0,claude_process_1[_0x3e186f(0x206)])(_0x15c1c6,_0x438cf4);return _0xe2979d&&_0x4e6970[_0x3e186f(0x259)]('--settings',_0xe2979d),console[_0x3e186f(0x224)]('['+(0x0,session_1[_0x3e186f(0x23a)])()+_0x3e186f(0x1da)+_0x50fcc0+'\x20'+_0x4e6970[_0x3e186f(0x216)]('\x20')),new Promise((_0x284cbe,_0x1909b6)=>{const _0x51b6c2=_0x3e186f,_0x1e3cd0=(0x0,child_process_1[_0x51b6c2(0x21a)])(_0x50fcc0,_0x4e6970,{'cwd':_0x438cf4,'stdio':[_0x51b6c2(0x1db),_0x51b6c2(0x1db),_0x51b6c2(0x1db)]});_0x1e3cd0[_0x51b6c2(0x25d)]?.[_0x51b6c2(0x258)](_0x59a8dd+'\x0a'),_0x1e3cd0[_0x51b6c2(0x25d)]?.['end']();let _0x45a093='',_0x3806ff='';const _0x45d006=readline_1[_0x51b6c2(0x23e)][_0x51b6c2(0x24e)]({'input':_0x1e3cd0[_0x51b6c2(0x20f)]});_0x45d006['on'](_0x51b6c2(0x1e1),_0x17f924=>{const _0x2f027d=_0x51b6c2,_0x15980e=(0x0,claude_process_1[_0x2f027d(0x202)])(_0x17f924);_0x15980e?.[_0x2f027d(0x23c)]===_0x2f027d(0x262)&&_0x15980e['content']&&(_0x45a093=_0x15980e[_0x2f027d(0x210)]);}),_0x1e3cd0[_0x51b6c2(0x265)]?.['on']('data',_0x1e8425=>{const _0x3fbae9=_0x51b6c2;_0x3806ff+=_0x1e8425[_0x3fbae9(0x219)]();});const _0x20449e=setTimeout(()=>{const _0x152215=_0x51b6c2;_0x1e3cd0[_0x152215(0x243)](),_0x1909b6(new Error('分析超时(60s)'));},0xea60);_0x1e3cd0['on']('close',_0x47a046=>{const _0x23f26d=_0x51b6c2;clearTimeout(_0x20449e);if(_0x47a046===0x0&&_0x45a093)try{const _0x29b9a7=_0x45a093['match'](/\{[\s\S]*\}/);if(_0x29b9a7){const _0x1f083a=JSON[_0x23f26d(0x22a)](_0x29b9a7[0x0]);if(_0x1f083a['cron']&&_0x1f083a['prompt']){_0x284cbe(_0x1f083a);return;}}_0x1909b6(new Error(_0x23f26d(0x1fd)));}catch{_0x1909b6(new Error(_0x23f26d(0x25a)));}else{const _0x5d85c8=_0x3806ff['trim']()?'\x20('+_0x3806ff['trim']()[_0x23f26d(0x237)](0x0,0xc8)+')':'';console[_0x23f26d(0x21f)]('['+(0x0,session_1[_0x23f26d(0x23a)])()+_0x23f26d(0x22e)+_0x47a046+')'+_0x5d85c8);const _0x2b9171=_0x3806ff;if(/\b429\b/[_0x23f26d(0x205)](_0x2b9171))_0x1909b6(new Error(_0x23f26d(0x24c)));else{if(/\b422\b/[_0x23f26d(0x205)](_0x2b9171)||/TPM|额度超限/i[_0x23f26d(0x205)](_0x2b9171))_0x1909b6(new Error(_0x23f26d(0x209)));else{if(/\b401\b/[_0x23f26d(0x205)](_0x2b9171)||/auth|认证|permission/i[_0x23f26d(0x205)](_0x2b9171))_0x1909b6(new Error('Claude\x20认证失败(401),请检查\x20API\x20Key\x20配置'));else _0x47a046===0x1&&!_0x45a093&&!_0x3806ff['trim']()?_0x1909b6(new Error(_0x23f26d(0x248))):_0x1909b6(new Error(_0x23f26d(0x24a)+_0x47a046+')'+_0x5d85c8));}}}}),_0x1e3cd0['on'](_0x51b6c2(0x21f),_0x32db86=>{const _0x118a5d=_0x51b6c2;clearTimeout(_0x20449e),_0x1909b6(new Error(_0x118a5d(0x22c)+_0x32db86[_0x118a5d(0x20a)]));});});}function a5_0x26a3(_0x30eafb,_0x50ff5c){_0x30eafb=_0x30eafb-0x1c8;const _0x1d2c60=a5_0x1d2c();let _0x26a37c=_0x1d2c60[_0x30eafb];return _0x26a37c;}function formatCronJobList(_0x26ff77){const _0x41299f=a5_0x272c8;if(_0x26ff77[_0x41299f(0x1e6)]===0x0)return _0x41299f(0x24b);const _0x5a0d16=[_0x41299f(0x20b)];for(const _0x5c3188 of _0x26ff77){const _0x15d057=_0x5c3188['enabled']?'✅':'⏸️',_0x3f51e1=_0x5c3188[_0x41299f(0x1d2)]||'-';_0x5a0d16[_0x41299f(0x259)]('**'+_0x15d057+'\x20'+_0x5c3188['id']+'**'),_0x5a0d16[_0x41299f(0x259)]('-\x20Cron:\x20`'+_0x5c3188[_0x41299f(0x212)]+'`'),_0x5a0d16['push'](_0x41299f(0x1e9)+_0x5c3188['description']),_0x5a0d16['push']('-\x20任务:\x20'+_0x5c3188[_0x41299f(0x25f)]),_0x5a0d16['push'](_0x41299f(0x231)+_0x5c3188['senderNick']),_0x5a0d16[_0x41299f(0x259)](_0x41299f(0x215)+_0x3f51e1),_0x5a0d16[_0x41299f(0x259)]('');}return _0x5a0d16[_0x41299f(0x259)]('💡\x20`/cron\x20pause\x20<id>`\x20暂停\x20|\x20`/cron\x20resume\x20<id>`\x20恢复\x20|\x20`/cron\x20delete\x20<id>`\x20删除'),_0x5a0d16[_0x41299f(0x216)]('\x0a');}function formatCronJobInfo(_0x43ebf8){const _0x3165ee=a5_0x272c8,_0x37f0d0=_0x43ebf8['enabled']?'✅\x20启用':_0x3165ee(0x234);return['###\x20⏰\x20定时任务\x20'+_0x43ebf8['id'],'',_0x3165ee(0x235)+_0x37f0d0,_0x3165ee(0x229)+_0x43ebf8[_0x3165ee(0x212)]+'`','-\x20**描述:**\x20'+_0x43ebf8[_0x3165ee(0x21b)],_0x3165ee(0x253)+_0x43ebf8[_0x3165ee(0x25f)],_0x3165ee(0x1ee)+_0x43ebf8[_0x3165ee(0x1dc)],'-\x20**创建时间:**\x20'+_0x43ebf8['createdAt'],_0x3165ee(0x1ec)+(_0x43ebf8[_0x3165ee(0x1d2)]||'-')][_0x3165ee(0x216)]('\x0a');}class CronEngine{constructor(_0x283780){const _0x4d08f9=a5_0x272c8;this[_0x4d08f9(0x226)]=[],this[_0x4d08f9(0x1ed)]=null,this['lastCheckedTime']=-0x1,this['runningJobIds']=new Set(),this['MAX_CONCURRENT_JOBS']=0x3,this['dc']=_0x283780,this[_0x4d08f9(0x226)]=loadCronJobs(_0x283780);}[a5_0x272c8(0x256)](){const _0x1190a2=a5_0x272c8;this['startScheduler']();const _0x144d00=this[_0x1190a2(0x226)]['filter'](_0x3ae8ad=>_0x3ae8ad['enabled'])[_0x1190a2(0x1e6)];console['log']('['+(0x0,session_1['timestamp'])()+']\x20Cron引擎已启动,\x20共\x20'+this[_0x1190a2(0x226)][_0x1190a2(0x1e6)]+_0x1190a2(0x200)+_0x144d00+'\x20启用)');}[a5_0x272c8(0x1dd)](){const _0x36fc5d=a5_0x272c8;this[_0x36fc5d(0x1fa)]();}[a5_0x272c8(0x22b)](_0x57b27d){const _0x158df8=a5_0x272c8,_0x10bff5={'id':_0x158df8(0x1f4)+Date[_0x158df8(0x201)](),'conversationId':_0x57b27d['conversationId'],'cronExpression':_0x57b27d[_0x158df8(0x212)],'description':_0x57b27d[_0x158df8(0x21b)],'prompt':_0x57b27d['prompt'],'enabled':!![],'createdAt':(0x0,session_1[_0x158df8(0x23a)])(),'senderStaffId':_0x57b27d[_0x158df8(0x1fc)],'senderNick':_0x57b27d[_0x158df8(0x1dc)]};return this[_0x158df8(0x226)][_0x158df8(0x259)](_0x10bff5),this[_0x158df8(0x1f6)](),console[_0x158df8(0x224)]('['+(0x0,session_1[_0x158df8(0x23a)])()+']\x20新增定时任务:\x20'+_0x10bff5['id']+'\x20['+_0x10bff5[_0x158df8(0x212)]+']\x20'+_0x10bff5[_0x158df8(0x21b)]),_0x10bff5;}[a5_0x272c8(0x1c9)](_0x40e26e){const _0x434daa=a5_0x272c8,_0x282182=this[_0x434daa(0x226)]['findIndex'](_0x55fdfd=>_0x55fdfd['id']===_0x40e26e);if(_0x282182===-0x1)return![];const _0x1b6a67=this[_0x434daa(0x226)][_0x434daa(0x223)](_0x282182,0x1)[0x0];return this[_0x434daa(0x1f6)](),console[_0x434daa(0x224)]('['+(0x0,session_1[_0x434daa(0x23a)])()+_0x434daa(0x21c)+_0x1b6a67['id']),!![];}[a5_0x272c8(0x203)](_0x4585a8,_0xcba338){const _0x2cc30f=a5_0x272c8,_0x30361e=this[_0x2cc30f(0x226)][_0x2cc30f(0x20d)](_0xccdc65=>_0xccdc65['id']===_0x4585a8);if(!_0x30361e)return![];return _0x30361e[_0x2cc30f(0x1f3)]=_0xcba338,this['persist'](),console['log']('['+(0x0,session_1[_0x2cc30f(0x23a)])()+_0x2cc30f(0x1f5)+_0x30361e['id']+'\x20'+(_0xcba338?_0x2cc30f(0x1e3):_0x2cc30f(0x1d5))),!![];}[a5_0x272c8(0x221)](_0x3f630b){const _0x44833a=a5_0x272c8;if(_0x3f630b)return this['jobs'][_0x44833a(0x1eb)](_0x15a0b2=>_0x15a0b2[_0x44833a(0x214)]===_0x3f630b);return[...this[_0x44833a(0x226)]];}[a5_0x272c8(0x266)](_0x2eb9ae){const _0x5958ce=a5_0x272c8;return this[_0x5958ce(0x226)][_0x5958ce(0x20d)](_0x599533=>_0x599533['id']===_0x2eb9ae);}async[a5_0x272c8(0x213)](_0x3d2f9d,_0x4f448e,_0x473526,_0x295466){const _0x5f3054=a5_0x272c8;try{const _0x23f6c3=await analyzeCronWithClaude(this['dc'],_0x3d2f9d,_0x4f448e);if(!isValidCronExpression(_0x23f6c3[_0x5f3054(0x236)]))return{'error':'Claude\x20返回的cron表达式无效:\x20'+_0x23f6c3[_0x5f3054(0x236)]};const _0x3254ec=this[_0x5f3054(0x22b)]({'conversationId':_0x3d2f9d,'cronExpression':_0x23f6c3['cron'],'description':_0x23f6c3[_0x5f3054(0x20c)]||_0x4f448e[_0x5f3054(0x237)](0x0,0x32),'prompt':_0x23f6c3[_0x5f3054(0x25f)],'senderStaffId':_0x473526,'senderNick':_0x295466});return{'job':_0x3254ec};}catch(_0x3ecc10){return{'error':_0x3ecc10 instanceof Error?_0x3ecc10[_0x5f3054(0x20a)]:String(_0x3ecc10)};}}[a5_0x272c8(0x1f6)](){saveCronJobs(this['dc'],this['jobs']);}[a5_0x272c8(0x251)](){const _0x2b8c05=a5_0x272c8,_0x321b65=Date[_0x2b8c05(0x201)](),_0x1473c1=0xea60-_0x321b65%0xea60;setTimeout(()=>{const _0x1da89b=_0x2b8c05;this[_0x1da89b(0x228)](),this['timer']=setInterval(()=>this['tick'](),0xea60);},_0x1473c1);}[a5_0x272c8(0x1fa)](){const _0x429ea7=a5_0x272c8;this[_0x429ea7(0x1ed)]&&(clearInterval(this[_0x429ea7(0x1ed)]),this[_0x429ea7(0x1ed)]=null);}[a5_0x272c8(0x228)](){const _0x20e803=a5_0x272c8,_0x2bef25=Date['now'](),_0x302ef8=this[_0x20e803(0x1d0)]<0x0?_0x2bef25-_0x2bef25%0xea60:this[_0x20e803(0x1d0)]+0xea60-this[_0x20e803(0x1d0)]%0xea60,_0x1422f4=_0x2bef25-_0x2bef25%0xea60;for(let _0x14ed00=_0x302ef8;_0x14ed00<=_0x1422f4;_0x14ed00+=0xea60){const _0x345dc0=new Date(_0x14ed00);if(!this[_0x20e803(0x1ce)](_0x345dc0))break;}this[_0x20e803(0x1d0)]=_0x2bef25;}[a5_0x272c8(0x1ce)](_0xc15f37){const _0x28a3f8=a5_0x272c8;if(this['runningJobIds'][_0x28a3f8(0x1f9)]>=this[_0x28a3f8(0x1ca)])return console[_0x28a3f8(0x264)]('['+(0x0,session_1[_0x28a3f8(0x23a)])()+_0x28a3f8(0x1cc)+this[_0x28a3f8(0x1ca)]+_0x28a3f8(0x250)+_0xc15f37[_0x28a3f8(0x1e4)]()+_0x28a3f8(0x257)),![];for(const _0x5d891f of this[_0x28a3f8(0x226)]){if(!_0x5d891f[_0x28a3f8(0x1f3)])continue;if(this[_0x28a3f8(0x245)]['has'](_0x5d891f['id']))continue;if(this['runningJobIds'][_0x28a3f8(0x1f9)]>=this[_0x28a3f8(0x1ca)])break;if(!matchesCron(_0x5d891f['cronExpression'],_0xc15f37))continue;console['log']('['+(0x0,session_1[_0x28a3f8(0x23a)])()+_0x28a3f8(0x1e7)+_0x5d891f['id']+'\x20['+_0x5d891f[_0x28a3f8(0x212)]+']\x20'+_0x5d891f[_0x28a3f8(0x21b)]),this['executeJob'](_0x5d891f)[_0x28a3f8(0x1f7)](_0x4ee691=>{const _0x10935f=_0x28a3f8;console['error']('['+(0x0,session_1[_0x10935f(0x23a)])()+']\x20Cron执行失败:\x20'+_0x5d891f['id'],_0x4ee691);});}return!![];}async[a5_0x272c8(0x222)](_0x2f3df0){const _0x16a52c=a5_0x272c8;this[_0x16a52c(0x245)][_0x16a52c(0x1d6)](_0x2f3df0['id']);try{const _0x1d6537=this['dc'][_0x16a52c(0x1f0)](_0x2f3df0[_0x16a52c(0x214)]);if(!_0x1d6537){console[_0x16a52c(0x264)]('['+(0x0,session_1['timestamp'])()+']\x20Cron任务\x20'+_0x2f3df0['id']+_0x16a52c(0x22f));return;}const _0x209b56=!!(_0x1d6537[_0x16a52c(0x254)]||this['dc'][_0x16a52c(0x233)][_0x16a52c(0x260)]);if(!_0x209b56){console[_0x16a52c(0x264)]('['+(0x0,session_1[_0x16a52c(0x23a)])()+_0x16a52c(0x21d)+_0x2f3df0['id']+_0x16a52c(0x1d9));return;}const _0xd333d2=(0x0,session_1['findActiveSession'])(this['dc'],_0x2f3df0[_0x16a52c(0x214)]);if(_0xd333d2){console['log']('['+(0x0,session_1[_0x16a52c(0x23a)])()+_0x16a52c(0x21d)+_0x2f3df0['id']+'\x20的会话有活跃session,\x20降级到任务队列'),await this[_0x16a52c(0x23d)](_0x2f3df0);return;}const _0x322f87=Date[_0x16a52c(0x201)](),_0x27ae95={'conversationId':_0x2f3df0['conversationId'],'sessionWebhook':'','startTime':_0x322f87,'startTimeStr':utils_ok_1[_0x16a52c(0x1cf)]['mm'](_0x322f87)[_0x16a52c(0x1de)](_0x16a52c(0x22d)),'startStaffId':_0x2f3df0[_0x16a52c(0x1fc)],'startNickName':_0x16a52c(0x1d8)+_0x2f3df0[_0x16a52c(0x1dc)]},_0x4c8160=(0x0,session_1[_0x16a52c(0x25b)])(this['dc'],_0x27ae95);fs_1[_0x16a52c(0x23e)][_0x16a52c(0x1fb)](_0x4c8160,{'recursive':!![]}),fs_1[_0x16a52c(0x23e)][_0x16a52c(0x252)](_0x4c8160+_0x16a52c(0x1fe),JSON['stringify'](_0x27ae95,null,0x2),_0x16a52c(0x21e)),this['dc'][_0x16a52c(0x1df)]['set'](_0x2f3df0['conversationId'],{'session':_0x27ae95,'lastSenderStaffId':_0x2f3df0[_0x16a52c(0x1fc)],'isProcessing':!![],'messageQueue':[],'conversationConfig':_0x1d6537}),(0x0,session_1[_0x16a52c(0x217)])(this['dc'],_0x2f3df0['conversationId']),console[_0x16a52c(0x224)]('['+(0x0,session_1['timestamp'])()+_0x16a52c(0x21d)+_0x2f3df0['id']+'\x20开始执行:\x20'+_0x2f3df0[_0x16a52c(0x21b)]),fs_1[_0x16a52c(0x23e)]['appendFileSync'](_0x4c8160+'/session.log','['+(0x0,session_1[_0x16a52c(0x23a)])()+']\x20[SYSTEM]:\x20定时任务触发:\x20'+_0x2f3df0['description']+'\x0a',_0x16a52c(0x21e));try{await(0x0,claude_process_1['executeClaudeQuery'])(this['dc'],_0x27ae95,_0x2f3df0[_0x16a52c(0x25f)],{'skill':_0x1d6537['taskCfg']?.[_0x16a52c(0x263)],'agent':_0x1d6537['agent'],'senderNick':_0x2f3df0[_0x16a52c(0x1dc)],'senderStaffId':_0x2f3df0[_0x16a52c(0x1fc)]});}catch(_0x38bd05){console[_0x16a52c(0x21f)]('['+(0x0,session_1[_0x16a52c(0x23a)])()+']\x20Cron执行Claude查询失败:\x20'+_0x2f3df0['id'],_0x38bd05),await(0x0,messaging_1[_0x16a52c(0x1d3)])(this['dc'],{'conversationId':_0x2f3df0['conversationId'],'sessionWebhook':'','atUserId':_0x2f3df0[_0x16a52c(0x1fc)],'content':_0x16a52c(0x24f)+(_0x38bd05 instanceof Error?_0x38bd05[_0x16a52c(0x20a)]:String(_0x38bd05))});}finally{this['dc'][_0x16a52c(0x1df)][_0x16a52c(0x261)](_0x2f3df0[_0x16a52c(0x214)]),(0x0,session_1[_0x16a52c(0x217)])(this['dc'],_0x2f3df0[_0x16a52c(0x214)]);}_0x2f3df0['lastRunAt']=(0x0,session_1[_0x16a52c(0x23a)])(),this['persist']();}finally{this[_0x16a52c(0x245)][_0x16a52c(0x261)](_0x2f3df0['id']);}}async[a5_0x272c8(0x23d)](_0x9342b0){const _0x1f5a7d=a5_0x272c8;try{await(0x0,task_1[_0x1f5a7d(0x25e)])(this['dc'],{'conversationId':_0x9342b0['conversationId'],'prompt':_0x9342b0[_0x1f5a7d(0x25f)],'senderStaffId':_0x9342b0[_0x1f5a7d(0x1fc)],'senderNickName':_0x1f5a7d(0x1d8)+_0x9342b0[_0x1f5a7d(0x1dc)],'sessionWebhook':'','type':_0x1f5a7d(0x236)}),console[_0x1f5a7d(0x224)]('['+(0x0,session_1[_0x1f5a7d(0x23a)])()+']\x20Cron任务\x20'+_0x9342b0['id']+_0x1f5a7d(0x1d4)+_0x9342b0['description']);}catch(_0x1eb0cd){console[_0x1f5a7d(0x21f)]('['+(0x0,session_1[_0x1f5a7d(0x23a)])()+_0x1f5a7d(0x21d)+_0x9342b0['id']+_0x1f5a7d(0x227),_0x1eb0cd);}_0x9342b0[_0x1f5a7d(0x1d2)]=(0x0,session_1[_0x1f5a7d(0x23a)])(),this[_0x1f5a7d(0x1f6)]();}}exports['CronEngine']=CronEngine;
|
package/dist/src/biz/doctor.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a6_0x5cfb92=a6_0x3109;(function(_0x3e5ecc,_0x12c06f){const _0x58c4be=a6_0x3109,_0x43e59a=_0x3e5ecc();while(!![]){try{const _0x34b000=parseInt(_0x58c4be(0x16b))/0x1+-parseInt(_0x58c4be(0x114))/0x2+parseInt(_0x58c4be(0x153))/0x3+-parseInt(_0x58c4be(0x119))/0x4+parseInt(_0x58c4be(0xf7))/0x5+parseInt(_0x58c4be(0x138))/0x6+parseInt(_0x58c4be(0x14f))/0x7;if(_0x34b000===_0x12c06f)break;else _0x43e59a['push'](_0x43e59a['shift']());}catch(_0xb6bd3d){_0x43e59a['push'](_0x43e59a['shift']());}}}(a6_0x37b4,0x9a120));var __importDefault=this&&this['__importDefault']||function(_0xad8d58){const _0x4009be=a6_0x3109;return _0xad8d58&&_0xad8d58[_0x4009be(0x16e)]?_0xad8d58:{'default':_0xad8d58};};Object['defineProperty'](exports,a6_0x5cfb92(0x16e),{'value':!![]}),exports[a6_0x5cfb92(0x10f)]=printDoctorResults,exports[a6_0x5cfb92(0x139)]=runDoctor;const session_1=require(a6_0x5cfb92(0xff)),api_key_manager_1=require(a6_0x5cfb92(0xfa)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a6_0x5cfb92(0xf6))),child_process_1=require(a6_0x5cfb92(0xf5));function a6_0x37b4(){const _0x1691f3=['boolean','.cc-ding','default','cron.json\x20格式异常,无法解析为任务数组','951468vEfDFO','runDoctor',']\x20缺少\x20cronExpression','existsSync','PID\x20锁文件读取异常:\x20','config.json\x20不存在','baseUrl','\x20通过,\x20','linkConversationId','\x20缺少\x20apiKey','==========\x20cc-ding\x20doctor\x20==========','conversations\x20共\x20','\x20应为数组','settings-tpl.json\x20有效,env\x20包含:\x20','conversations\x20为空数组,可通过\x20/reg\x20命令动态注册','push','\x20conversationId\x20重复:\x20','log','jobs','test','filter','config.json\x20解析失败:\x20','.doctor-check','758821HsEszn','enabled','FATAL','join','2537082YsedkC','(空)','isValid','keys','conversations[','level','apiKeyCfg\x20未配置,无法使用\x20API\x20Key\x20池化轮换','apiKeyCfg.claudeSettings\x20不是数组','WARN','pipe','\x22\x20未在\x20config.json\x20conversations\x20中找到','PASS','\x20个定时任务\x20(','env','some','slice','exit','length','cron.json\x20共\x20','which\x20claude','version','parse','add','\x20缺少\x20baseUrl','781245PxWFos','客户端目录可写','cron.json','__esModule','settings-tpl.json','settings-tpl.json\x20不存在,创建\x20settings-ding.json\x20时将使用空模板','====================================\x0a','claude\x20命令不可用,请确认\x20Claude\x20Code\x20CLI\x20已安装','execSync','trim','\x20缺少\x20model','conversations','child_process','path','2007265oEQXgG','has','settings-tpl.json\x20根元素不是对象','./api-key-manager','model','Node\x20版本过低:','\x20已退出(过期锁文件)','dingToken','./session','config.json\x20解析成功','claudeSettings','\x20\x20❌\x20存在致命问题,请修复后重新运行','\x20apiKey\x20重复:\x20','cron.json\x20不存在\x20(无定时任务)','unlinkSync','apiKeyCfg','getHomeDir','split','claude\x20命令可用','\x20缺少\x20conversationId','utf-8','apiKeyCfg.claudeSettings[',']\x20缺少\x20prompt','\x20\x20✅\x20所有检查通过','printDoctorResults','string',',要求\x20Node\x20>=\x2024','message','\x20dingToken\x20仍为占位符','1311992CgQisG','apiKeyCfg.claudeSettings\x20为空,无备用\x20Key',']\x20缺少\x20conversationId','客户端目录不存在:\x20','无运行中的进程','4033220DLAzQc','owner:\x20','.pid.lock','cron.json[','apiKey','settings-tpl.json\x20解析失败:\x20','\x20isValid\x20类型异常:\x20','\x20个群配置','\x20启用)','resetTime','object','------------------------------------','缺少必填字段:\x20','config.json','defaultDingToken','锁文件存在但进程\x20','\x20仍为占位符:\x20','settingLabel','conversationId',']\x20缺少\x20id','\x20linkConversationId\x20\x22','whiteUserList','客户端目录存在:\x20','readFileSync','isArray','owner','prompt'];a6_0x37b4=function(){return _0x1691f3;};return a6_0x37b4();}function a6_0x3109(_0xaa4e80,_0x1b7796){_0xaa4e80=_0xaa4e80-0xf0;const _0x37b446=a6_0x37b4();let _0x3109c5=_0x37b446[_0xaa4e80];return _0x3109c5;}function printDoctorResults(_0x3271d6){const _0x3744af=a6_0x5cfb92;console[_0x3744af(0x149)](''),console[_0x3744af(0x149)](_0x3744af(0x142));const _0x45f194=_0x3271d6[_0x3744af(0x161)](_0x53cd74=>_0x53cd74[_0x3744af(0x158)]===_0x3744af(0x151));for(const _0x3c9889 of _0x3271d6){const _0x42d540=_0x3c9889[_0x3744af(0x158)]===_0x3744af(0x15e)?'✓':_0x3c9889[_0x3744af(0x158)]==='FATAL'?'✗':'⚠',_0x27e812=_0x3c9889['level']===_0x3744af(0x15e)?'':'['+_0x3c9889[_0x3744af(0x158)]+']\x20';console[_0x3744af(0x149)]('\x20\x20'+_0x42d540+'\x20'+_0x27e812+_0x3c9889['message']);}const _0x4e4adb=_0x3271d6['filter'](_0x73adf=>_0x73adf[_0x3744af(0x158)]===_0x3744af(0x15e))['length'],_0x46d0ab=_0x3271d6['filter'](_0x245b7d=>_0x245b7d['level']===_0x3744af(0x15b))[_0x3744af(0x164)],_0x4490b1=_0x3271d6[_0x3744af(0x14c)](_0x2e4208=>_0x2e4208[_0x3744af(0x158)]===_0x3744af(0x151))[_0x3744af(0x164)];console['log'](_0x3744af(0x124)),console[_0x3744af(0x149)]('\x20\x20合计:\x20'+_0x4e4adb+_0x3744af(0x13f)+_0x46d0ab+'\x20警告,\x20'+_0x4490b1+'\x20致命');_0x45f194?console[_0x3744af(0x149)](_0x3744af(0x102)):console['log'](_0x3744af(0x10e));console[_0x3744af(0x149)](_0x3744af(0x171));if(_0x45f194)process[_0x3744af(0x163)](0x1);}function runDoctor(_0x5317c6){const _0x42654b=a6_0x5cfb92,_0x22c9ad=[],_0x5ce4e3=process[_0x42654b(0x167)][_0x42654b(0x162)](0x1),_0x5a0179=parseInt(_0x5ce4e3[_0x42654b(0x108)]('.')[0x0],0xa);_0x5a0179<0x18?_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),_0x42654b(0xfc)+_0x5ce4e3+_0x42654b(0x111))):_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15e),'Node\x20版本:'+_0x5ce4e3));if(!fs_1[_0x42654b(0x136)][_0x42654b(0x13b)](_0x5317c6))return _0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),_0x42654b(0x117)+_0x5317c6)),_0x22c9ad;_0x22c9ad['push'](check(_0x42654b(0x15e),_0x42654b(0x12f)+_0x5317c6));const _0x4c26c9=path_1[_0x42654b(0x136)]['join'](_0x5317c6,_0x42654b(0x11b));if(fs_1[_0x42654b(0x136)][_0x42654b(0x13b)](_0x4c26c9))try{const _0x336d3f=parseInt(fs_1['default'][_0x42654b(0x130)](_0x4c26c9,_0x42654b(0x10b))[_0x42654b(0xf2)](),0xa);if(!isNaN(_0x336d3f))try{process['kill'](_0x336d3f,0x0),_0x22c9ad[_0x42654b(0x147)](check('PASS','进程运行中\x20(PID:\x20'+_0x336d3f+')'));}catch{_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),_0x42654b(0x128)+_0x336d3f+_0x42654b(0xfd)));}}catch{_0x22c9ad['push'](check('WARN',_0x42654b(0x13c)+_0x4c26c9));}else _0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15e),_0x42654b(0x118)));const _0x1a3612=path_1[_0x42654b(0x136)][_0x42654b(0x152)](_0x5317c6,_0x42654b(0x126));if(!fs_1[_0x42654b(0x136)][_0x42654b(0x13b)](_0x1a3612))return _0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),_0x42654b(0x13d))),_0x22c9ad;let _0x42e0f7;try{_0x42e0f7=JSON[_0x42654b(0x168)](fs_1[_0x42654b(0x136)][_0x42654b(0x130)](_0x1a3612,_0x42654b(0x10b)));}catch(_0x9030d2){return _0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),_0x42654b(0x14d)+(_0x9030d2 instanceof Error?_0x9030d2['message']:_0x9030d2))),_0x22c9ad;}_0x22c9ad['push'](check('PASS',_0x42654b(0x100)));const _0x10445d=[{'key':'clientSecret','label':'clientSecret'},{'key':_0x42654b(0x127),'label':_0x42654b(0x127)},{'key':_0x42654b(0x12e),'label':_0x42654b(0x12e),'isArr':!![]},{'key':_0x42654b(0x132),'label':_0x42654b(0x132)}];for(const {key:_0x1bae45,label:_0x1f86bd,isArr:_0x21fcc7}of _0x10445d){const _0x4b3d69=_0x42e0f7[_0x1bae45];if(_0x4b3d69===undefined||_0x4b3d69===null||_0x4b3d69==='')_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),_0x42654b(0x125)+_0x1f86bd));else{if(_0x21fcc7&&!Array[_0x42654b(0x131)](_0x4b3d69))_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),_0x1f86bd+_0x42654b(0x144)));else{if(_0x1bae45!==_0x42654b(0xf4)&&_0x21fcc7&&_0x4b3d69[_0x42654b(0x164)]===0x0)_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),_0x1f86bd+'\x20为空数组'));else!_0x21fcc7&&typeof _0x4b3d69===_0x42654b(0x110)&&_0x4b3d69['startsWith']('<')?_0x22c9ad['push'](check('FATAL',_0x1f86bd+_0x42654b(0x129)+_0x4b3d69)):_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15e),_0x1f86bd+'\x20✓'));}}}_0x42e0f7['owner']?_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15e),_0x42654b(0x11a)+_0x42e0f7[_0x42654b(0x132)])):_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),'owner\x20未配置,管理命令(/clean,\x20/open,\x20/reset-apikeycfg,\x20/reg,\x20/auth)不可用'));const _0x5563fb=['clientSecret',_0x42654b(0x127)];for(const _0x33ca0c of _0x5563fb){const _0x3b8e07=_0x42e0f7[_0x33ca0c];typeof _0x3b8e07==='string'&&/^<.*>$/[_0x42654b(0x14b)](_0x3b8e07[_0x42654b(0xf2)]())&&_0x22c9ad['push'](check(_0x42654b(0x151),_0x33ca0c+_0x42654b(0x129)+_0x3b8e07));}const _0x3ed8b6=new Set();if(!Array[_0x42654b(0x131)](_0x42e0f7[_0x42654b(0xf4)]))_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),'conversations\x20应为数组'));else{if(_0x42e0f7[_0x42654b(0xf4)]['length']===0x0)_0x22c9ad['push'](check(_0x42654b(0x15e),_0x42654b(0x146)));else{for(let _0x5a1a1b=0x0;_0x5a1a1b<_0x42e0f7[_0x42654b(0xf4)][_0x42654b(0x164)];_0x5a1a1b++){const _0x2826dd=_0x42e0f7[_0x42654b(0xf4)][_0x5a1a1b],_0x1105f2=_0x42654b(0x157)+_0x5a1a1b+']';if(!_0x2826dd[_0x42654b(0x12b)])_0x22c9ad[_0x42654b(0x147)](check('FATAL',_0x1105f2+_0x42654b(0x10a)));else{if(typeof _0x2826dd[_0x42654b(0x12b)]===_0x42654b(0x110)&&/^<.*>$/[_0x42654b(0x14b)](_0x2826dd[_0x42654b(0x12b)][_0x42654b(0xf2)]()))_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),_0x1105f2+'\x20conversationId\x20仍为占位符:\x20'+_0x2826dd[_0x42654b(0x12b)]));else _0x3ed8b6[_0x42654b(0xf8)](_0x2826dd[_0x42654b(0x12b)])?_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),_0x1105f2+_0x42654b(0x148)+_0x2826dd['conversationId'])):_0x3ed8b6[_0x42654b(0x169)](_0x2826dd[_0x42654b(0x12b)]);}_0x2826dd[_0x42654b(0x140)]&&!_0x42e0f7[_0x42654b(0xf4)][_0x42654b(0x161)](_0x350015=>_0x350015[_0x42654b(0x12b)]===_0x2826dd[_0x42654b(0x140)])&&_0x22c9ad[_0x42654b(0x147)](check('WARN',_0x1105f2+_0x42654b(0x12d)+_0x2826dd[_0x42654b(0x140)]+'\x22\x20未在\x20conversations\x20中找到')),_0x2826dd['dingToken']&&typeof _0x2826dd[_0x42654b(0xfe)]===_0x42654b(0x110)&&/^<.*>$/[_0x42654b(0x14b)](_0x2826dd[_0x42654b(0xfe)][_0x42654b(0xf2)]())&&_0x22c9ad['push'](check(_0x42654b(0x15b),_0x1105f2+_0x42654b(0x113)));}_0x22c9ad[_0x42654b(0x147)](check('PASS',_0x42654b(0x143)+_0x42e0f7[_0x42654b(0xf4)][_0x42654b(0x164)]+_0x42654b(0x120)));}}if(_0x42e0f7['apiKeyCfg']){const _0x2c1530=_0x42e0f7[_0x42654b(0x106)];_0x2c1530[_0x42654b(0x122)]&&_0x22c9ad['push'](check(_0x42654b(0x15e),'apiKeyCfg.resetTime:\x20'+_0x2c1530[_0x42654b(0x122)]));if(!Array['isArray'](_0x2c1530[_0x42654b(0x101)]))_0x22c9ad[_0x42654b(0x147)](check('WARN',_0x42654b(0x15a)));else{if(_0x2c1530[_0x42654b(0x101)]['length']===0x0)_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),_0x42654b(0x115)));else{const _0x2bedea=new Set();for(let _0x38e3b6=0x0;_0x38e3b6<_0x2c1530['claudeSettings'][_0x42654b(0x164)];_0x38e3b6++){const _0x4221eb=_0x2c1530[_0x42654b(0x101)][_0x38e3b6],_0x28cd77=_0x42654b(0x10c)+_0x38e3b6+']';if(!_0x4221eb[_0x42654b(0x11d)])_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),_0x28cd77+_0x42654b(0x141)));else _0x2bedea['has'](_0x4221eb[_0x42654b(0x11d)])?_0x22c9ad['push'](check(_0x42654b(0x15b),_0x28cd77+_0x42654b(0x103)+(0x0,api_key_manager_1[_0x42654b(0x12a)])(_0x4221eb))):_0x2bedea['add'](_0x4221eb[_0x42654b(0x11d)]);if(!_0x4221eb[_0x42654b(0x13e)])_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),_0x28cd77+_0x42654b(0x16a)));if(!_0x4221eb[_0x42654b(0xfb)])_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),_0x28cd77+_0x42654b(0xf3)));if(typeof _0x4221eb[_0x42654b(0x155)]!==_0x42654b(0x134))_0x22c9ad['push'](check(_0x42654b(0x15b),_0x28cd77+_0x42654b(0x11f)+typeof _0x4221eb['isValid']));}const _0x11d5f2=_0x2c1530['claudeSettings'][_0x42654b(0x14c)](_0x159a53=>_0x159a53[_0x42654b(0x155)])[_0x42654b(0x164)];_0x22c9ad[_0x42654b(0x147)](check('PASS','apiKeyCfg.claudeSettings\x20共\x20'+_0x2c1530[_0x42654b(0x101)][_0x42654b(0x164)]+'\x20项,有效\x20'+_0x11d5f2));}}}else _0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),_0x42654b(0x159)));const _0x2e368d=path_1[_0x42654b(0x136)]['join'](_0x5317c6,_0x42654b(0x16d));if(fs_1[_0x42654b(0x136)]['existsSync'](_0x2e368d))try{const _0x5ce107=JSON[_0x42654b(0x168)](fs_1['default'][_0x42654b(0x130)](_0x2e368d,_0x42654b(0x10b))),_0x5f1161=Array[_0x42654b(0x131)](_0x5ce107)?_0x5ce107:_0x5ce107[_0x42654b(0x14a)];if(Array[_0x42654b(0x131)](_0x5f1161)){const _0x169ae6=_0x5f1161['filter'](_0x59b886=>_0x59b886[_0x42654b(0x150)]!==![])['length'];_0x22c9ad['push'](check(_0x42654b(0x15e),_0x42654b(0x165)+_0x5f1161[_0x42654b(0x164)]+_0x42654b(0x15f)+_0x169ae6+_0x42654b(0x121)));for(let _0x236db2=0x0;_0x236db2<_0x5f1161['length'];_0x236db2++){const _0x453afb=_0x5f1161[_0x236db2];if(!_0x453afb['id'])_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),_0x42654b(0x11c)+_0x236db2+_0x42654b(0x12c)));if(!_0x453afb['cronExpression'])_0x22c9ad['push'](check('WARN','cron.json['+_0x236db2+_0x42654b(0x13a)));if(!_0x453afb[_0x42654b(0x133)])_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),_0x42654b(0x11c)+_0x236db2+_0x42654b(0x10d)));if(!_0x453afb['conversationId'])_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),'cron.json['+_0x236db2+_0x42654b(0x116)));else!_0x3ed8b6[_0x42654b(0xf8)](_0x453afb[_0x42654b(0x12b)])&&_0x22c9ad['push'](check(_0x42654b(0x15b),_0x42654b(0x11c)+_0x236db2+']\x20conversationId\x20\x22'+_0x453afb['conversationId']+_0x42654b(0x15d)));}}else _0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),_0x42654b(0x137)));}catch(_0x23941f){_0x22c9ad['push'](check(_0x42654b(0x15b),'cron.json\x20解析失败:\x20'+(_0x23941f instanceof Error?_0x23941f[_0x42654b(0x112)]:_0x23941f)));}else _0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15e),_0x42654b(0x104)));const _0x4cb73b=path_1['default'][_0x42654b(0x152)]((0x0,session_1[_0x42654b(0x107)])(),_0x42654b(0x135),_0x42654b(0x16f));if(fs_1['default'][_0x42654b(0x13b)](_0x4cb73b))try{const _0x380d2d=JSON[_0x42654b(0x168)](fs_1['default'][_0x42654b(0x130)](_0x4cb73b,_0x42654b(0x10b)));if(typeof _0x380d2d!==_0x42654b(0x123)||_0x380d2d===null)_0x22c9ad[_0x42654b(0x147)](check('WARN',_0x42654b(0xf9)));else{if(!_0x380d2d[_0x42654b(0x160)]||typeof _0x380d2d[_0x42654b(0x160)]!==_0x42654b(0x123))_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),'settings-tpl.json\x20缺少\x20env\x20字段'));else{const _0x20639b=Object[_0x42654b(0x156)](_0x380d2d[_0x42654b(0x160)]);_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15e),_0x42654b(0x145)+(_0x20639b['join'](',\x20')||_0x42654b(0x154))));}}}catch(_0x40694d){_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15b),_0x42654b(0x11e)+(_0x40694d instanceof Error?_0x40694d[_0x42654b(0x112)]:_0x40694d)));}else _0x22c9ad['push'](check(_0x42654b(0x15b),_0x42654b(0x170)));try{(0x0,child_process_1[_0x42654b(0xf1)])(_0x42654b(0x166),{'stdio':_0x42654b(0x15c)}),_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15e),_0x42654b(0x109)));}catch{_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),_0x42654b(0xf0)));}try{const _0x228cbf=path_1[_0x42654b(0x136)]['join'](_0x5317c6,_0x42654b(0x14e));fs_1[_0x42654b(0x136)]['writeFileSync'](_0x228cbf,'ok',_0x42654b(0x10b)),fs_1[_0x42654b(0x136)][_0x42654b(0x105)](_0x228cbf),_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x15e),_0x42654b(0x16c)));}catch(_0x56ca35){_0x22c9ad[_0x42654b(0x147)](check(_0x42654b(0x151),'客户端目录不可写:\x20'+(_0x56ca35 instanceof Error?_0x56ca35[_0x42654b(0x112)]:_0x56ca35)));}return _0x22c9ad;}function check(_0x592152,_0x530553){return{'level':_0x592152,'message':_0x530553};}
|
|
1
|
+
'use strict';const a6_0x573932=a6_0x5bbe;(function(_0x248b6c,_0x1f1fa6){const _0x5f4086=a6_0x5bbe,_0x6ca87d=_0x248b6c();while(!![]){try{const _0x6b82f7=-parseInt(_0x5f4086(0x19a))/0x1+-parseInt(_0x5f4086(0x199))/0x2*(parseInt(_0x5f4086(0x1bd))/0x3)+parseInt(_0x5f4086(0x1bf))/0x4+-parseInt(_0x5f4086(0x1f6))/0x5+-parseInt(_0x5f4086(0x1ff))/0x6*(parseInt(_0x5f4086(0x1af))/0x7)+parseInt(_0x5f4086(0x1ec))/0x8*(-parseInt(_0x5f4086(0x1b4))/0x9)+parseInt(_0x5f4086(0x1d1))/0xa*(parseInt(_0x5f4086(0x20b))/0xb);if(_0x6b82f7===_0x1f1fa6)break;else _0x6ca87d['push'](_0x6ca87d['shift']());}catch(_0x2b487c){_0x6ca87d['push'](_0x6ca87d['shift']());}}}(a6_0x4eb3,0x8ef9b));function a6_0x5bbe(_0x431516,_0x273f1b){_0x431516=_0x431516-0x197;const _0x4eb329=a6_0x4eb3();let _0x5bbe30=_0x4eb329[_0x431516];return _0x5bbe30;}var __importDefault=this&&this[a6_0x573932(0x1d4)]||function(_0x343204){const _0x5baf20=a6_0x573932;return _0x343204&&_0x343204[_0x5baf20(0x1cc)]?_0x343204:{'default':_0x343204};};Object[a6_0x573932(0x211)](exports,a6_0x573932(0x1cc),{'value':!![]}),exports[a6_0x573932(0x1e4)]=printDoctorResults,exports['runDoctor']=runDoctor;const session_1=require(a6_0x573932(0x1f3)),api_key_manager_1=require(a6_0x573932(0x1a7)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a6_0x573932(0x1eb))),child_process_1=require(a6_0x573932(0x1b6));function a6_0x4eb3(){const _0x2d7f4c=['\x20应为数组','linkConversationId','claude\x20命令可用','boolean','./session','settingLabel','log','4627675wuAkcc','pipe','version','客户端目录可写','锁文件存在但进程\x20','trim','utf-8','cron.json[','\x20已退出(过期锁文件)','156KnKsMs','PID\x20锁文件读取异常:\x20','settings-tpl.json\x20缺少\x20env\x20字段','model','settings-tpl.json\x20有效,env\x20包含:\x20','config.json\x20解析失败:\x20','\x22\x20未在\x20conversations\x20中找到','cron.json\x20共\x20','进程运行中\x20(PID:\x20','apiKey','isValid','Node\x20版本过低:','48499DXeVtP','settings-tpl.json\x20根元素不是对象','clientSecret','\x20dingToken\x20仍为占位符','config.json','\x20\x20合计:\x20','defineProperty',',要求\x20Node\x20>=\x2024','has','apiKeyCfg\x20未配置,无法使用\x20API\x20Key\x20池化轮换','writeFileSync','\x20conversationId\x20重复:\x20','filter','apiKeyCfg.claudeSettings\x20为空,无备用\x20Key','parse','26bRspVF','700150gYfKlz','PASS','客户端目录不可写:\x20',']\x20缺少\x20cronExpression','default','\x20apiKey\x20重复:\x20','push','existsSync','string','apiKeyCfg','\x20警告,\x20','add','.cc-ding','./api-key-manager','\x20\x20❌\x20存在致命问题,请修复后重新运行','\x20conversationId\x20仍为占位符:\x20','length','(空)','owner','whiteUserList','\x20isValid\x20类型异常:\x20','30926PYpWyP','conversationId','\x20\x20✅\x20所有检查通过','isArray','无运行中的进程','1394217UoczOM','\x20项,有效\x20','child_process','conversations','cronExpression','\x20linkConversationId\x20\x22','\x20缺少\x20apiKey','\x20仍为占位符:\x20','.pid.lock','248142dVoxIW','dingToken','980864gsjQSa','conversations\x20为空数组,可通过\x20/reg\x20命令动态注册','baseUrl','------------------------------------','test',']\x20缺少\x20id','claude\x20命令不可用,请确认\x20Claude\x20Code\x20CLI\x20已安装','which\x20claude','客户端目录存在:\x20','\x20通过,\x20','exit','settings-tpl.json\x20不存在,创建\x20settings-ding.json\x20时将使用空模板','defaultDingToken','__esModule','resetTime','conversations\x20共\x20','\x20为空数组','jobs','7510ZZFdPc','message','cron.json\x20格式异常,无法解析为任务数组','__importDefault',']\x20conversationId\x20\x22','conversations\x20应为数组','claudeSettings','WARN','owner:\x20','apiKeyCfg.claudeSettings\x20共\x20','getHomeDir','config.json\x20解析成功','join','env','object','缺少必填字段:\x20','keys','FATAL','\x20个定时任务\x20(','printDoctorResults','readFileSync','some','apiKeyCfg.claudeSettings\x20不是数组','settings-tpl.json\x20解析失败:\x20','owner\x20未配置,管理命令(/clean,\x20/open,\x20/reset-apikeycfg,\x20/reg,\x20/auth)不可用','level','path','8NiQzJv','\x20个群配置','unlinkSync'];a6_0x4eb3=function(){return _0x2d7f4c;};return a6_0x4eb3();}function printDoctorResults(_0x137ed2){const _0x333260=a6_0x573932;console['log'](''),console[_0x333260(0x1f5)]('==========\x20cc-ding\x20doctor\x20==========');const _0xfb2b41=_0x137ed2[_0x333260(0x1e6)](_0xff1cc2=>_0xff1cc2[_0x333260(0x1ea)]===_0x333260(0x1e2));for(const _0x381f63 of _0x137ed2){const _0x14edcc=_0x381f63['level']===_0x333260(0x19b)?'✓':_0x381f63[_0x333260(0x1ea)]===_0x333260(0x1e2)?'✗':'⚠',_0x4bac44=_0x381f63[_0x333260(0x1ea)]==='PASS'?'':'['+_0x381f63[_0x333260(0x1ea)]+']\x20';console[_0x333260(0x1f5)]('\x20\x20'+_0x14edcc+'\x20'+_0x4bac44+_0x381f63[_0x333260(0x1d2)]);}const _0x4ebfe4=_0x137ed2[_0x333260(0x217)](_0x4012dc=>_0x4012dc['level']===_0x333260(0x19b))['length'],_0x4a9d37=_0x137ed2[_0x333260(0x217)](_0x4a40d7=>_0x4a40d7['level']===_0x333260(0x1d8))['length'],_0x1036f1=_0x137ed2[_0x333260(0x217)](_0x5280f5=>_0x5280f5[_0x333260(0x1ea)]===_0x333260(0x1e2))[_0x333260(0x1aa)];console['log'](_0x333260(0x1c2)),console[_0x333260(0x1f5)](_0x333260(0x210)+_0x4ebfe4+_0x333260(0x1c8)+_0x4a9d37+_0x333260(0x1a4)+_0x1036f1+'\x20致命');_0xfb2b41?console[_0x333260(0x1f5)](_0x333260(0x1a8)):console[_0x333260(0x1f5)](_0x333260(0x1b1));console['log']('====================================\x0a');if(_0xfb2b41)process[_0x333260(0x1c9)](0x1);}function runDoctor(_0x57fad7){const _0x385f0e=a6_0x573932,_0x41749c=[],_0x5094c5=process[_0x385f0e(0x1f8)]['slice'](0x1),_0x129744=parseInt(_0x5094c5['split']('.')[0x0],0xa);_0x129744<0x18?_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1e2),_0x385f0e(0x20a)+_0x5094c5+_0x385f0e(0x212))):_0x41749c['push'](check(_0x385f0e(0x19b),'Node\x20版本:'+_0x5094c5));if(!fs_1[_0x385f0e(0x19e)][_0x385f0e(0x1a1)](_0x57fad7))return _0x41749c['push'](check('FATAL','客户端目录不存在:\x20'+_0x57fad7)),_0x41749c;_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x19b),_0x385f0e(0x1c7)+_0x57fad7));const _0x1f8b74=path_1[_0x385f0e(0x19e)]['join'](_0x57fad7,_0x385f0e(0x1bc));if(fs_1[_0x385f0e(0x19e)]['existsSync'](_0x1f8b74))try{const _0x8074c1=parseInt(fs_1[_0x385f0e(0x19e)][_0x385f0e(0x1e5)](_0x1f8b74,_0x385f0e(0x1fc))[_0x385f0e(0x1fb)](),0xa);if(!isNaN(_0x8074c1))try{process['kill'](_0x8074c1,0x0),_0x41749c['push'](check(_0x385f0e(0x19b),_0x385f0e(0x207)+_0x8074c1+')'));}catch{_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x385f0e(0x1fa)+_0x8074c1+_0x385f0e(0x1fe)));}}catch{_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x385f0e(0x200)+_0x1f8b74));}else _0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x19b),_0x385f0e(0x1b3)));const _0xb1a6c0=path_1[_0x385f0e(0x19e)][_0x385f0e(0x1dd)](_0x57fad7,_0x385f0e(0x20f));if(!fs_1[_0x385f0e(0x19e)][_0x385f0e(0x1a1)](_0xb1a6c0))return _0x41749c[_0x385f0e(0x1a0)](check('FATAL','config.json\x20不存在')),_0x41749c;let _0x146ed0;try{_0x146ed0=JSON[_0x385f0e(0x198)](fs_1[_0x385f0e(0x19e)][_0x385f0e(0x1e5)](_0xb1a6c0,_0x385f0e(0x1fc)));}catch(_0x536c91){return _0x41749c[_0x385f0e(0x1a0)](check('FATAL',_0x385f0e(0x204)+(_0x536c91 instanceof Error?_0x536c91['message']:_0x536c91))),_0x41749c;}_0x41749c[_0x385f0e(0x1a0)](check('PASS',_0x385f0e(0x1dc)));const _0x9a2b34=[{'key':_0x385f0e(0x20d),'label':_0x385f0e(0x20d)},{'key':'defaultDingToken','label':_0x385f0e(0x1cb)},{'key':'whiteUserList','label':_0x385f0e(0x1ad),'isArr':!![]},{'key':'owner','label':'owner'}];for(const {key:_0x3063ab,label:_0x28fa87,isArr:_0x1df2ff}of _0x9a2b34){const _0x278104=_0x146ed0[_0x3063ab];if(_0x278104===undefined||_0x278104===null||_0x278104==='')_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1e2),_0x385f0e(0x1e0)+_0x28fa87));else{if(_0x1df2ff&&!Array[_0x385f0e(0x1b2)](_0x278104))_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1e2),_0x28fa87+_0x385f0e(0x1ef)));else{if(_0x3063ab!==_0x385f0e(0x1b7)&&_0x1df2ff&&_0x278104[_0x385f0e(0x1aa)]===0x0)_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x28fa87+_0x385f0e(0x1cf)));else!_0x1df2ff&&typeof _0x278104===_0x385f0e(0x1a2)&&_0x278104['startsWith']('<')?_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1e2),_0x28fa87+_0x385f0e(0x1bb)+_0x278104)):_0x41749c['push'](check(_0x385f0e(0x19b),_0x28fa87+'\x20✓'));}}}_0x146ed0[_0x385f0e(0x1ac)]?_0x41749c[_0x385f0e(0x1a0)](check('PASS',_0x385f0e(0x1d9)+_0x146ed0[_0x385f0e(0x1ac)])):_0x41749c['push'](check('FATAL',_0x385f0e(0x1e9)));const _0xab60ad=[_0x385f0e(0x20d),_0x385f0e(0x1cb)];for(const _0x41e581 of _0xab60ad){const _0x380cb3=_0x146ed0[_0x41e581];typeof _0x380cb3===_0x385f0e(0x1a2)&&/^<.*>$/[_0x385f0e(0x1c3)](_0x380cb3[_0x385f0e(0x1fb)]())&&_0x41749c['push'](check('FATAL',_0x41e581+'\x20仍为占位符:\x20'+_0x380cb3));}const _0x23ddbd=new Set();if(!Array['isArray'](_0x146ed0[_0x385f0e(0x1b7)]))_0x41749c['push'](check('FATAL',_0x385f0e(0x1d6)));else{if(_0x146ed0[_0x385f0e(0x1b7)][_0x385f0e(0x1aa)]===0x0)_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x19b),_0x385f0e(0x1c0)));else{for(let _0x35646e=0x0;_0x35646e<_0x146ed0['conversations']['length'];_0x35646e++){const _0x4dc9e5=_0x146ed0[_0x385f0e(0x1b7)][_0x35646e],_0x5ad144='conversations['+_0x35646e+']';if(!_0x4dc9e5[_0x385f0e(0x1b0)])_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1e2),_0x5ad144+'\x20缺少\x20conversationId'));else{if(typeof _0x4dc9e5[_0x385f0e(0x1b0)]===_0x385f0e(0x1a2)&&/^<.*>$/[_0x385f0e(0x1c3)](_0x4dc9e5[_0x385f0e(0x1b0)][_0x385f0e(0x1fb)]()))_0x41749c['push'](check(_0x385f0e(0x1e2),_0x5ad144+_0x385f0e(0x1a9)+_0x4dc9e5['conversationId']));else _0x23ddbd[_0x385f0e(0x213)](_0x4dc9e5[_0x385f0e(0x1b0)])?_0x41749c[_0x385f0e(0x1a0)](check('WARN',_0x5ad144+_0x385f0e(0x216)+_0x4dc9e5[_0x385f0e(0x1b0)])):_0x23ddbd[_0x385f0e(0x1a5)](_0x4dc9e5[_0x385f0e(0x1b0)]);}_0x4dc9e5[_0x385f0e(0x1f0)]&&!_0x146ed0[_0x385f0e(0x1b7)]['some'](_0x189ae5=>_0x189ae5[_0x385f0e(0x1b0)]===_0x4dc9e5[_0x385f0e(0x1f0)])&&_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x5ad144+_0x385f0e(0x1b9)+_0x4dc9e5[_0x385f0e(0x1f0)]+_0x385f0e(0x205))),_0x4dc9e5[_0x385f0e(0x1be)]&&typeof _0x4dc9e5[_0x385f0e(0x1be)]===_0x385f0e(0x1a2)&&/^<.*>$/[_0x385f0e(0x1c3)](_0x4dc9e5['dingToken'][_0x385f0e(0x1fb)]())&&_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x5ad144+_0x385f0e(0x20e)));}_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x19b),_0x385f0e(0x1ce)+_0x146ed0[_0x385f0e(0x1b7)]['length']+_0x385f0e(0x1ed)));}}if(_0x146ed0[_0x385f0e(0x1a3)]){const _0x5929c5=_0x146ed0[_0x385f0e(0x1a3)];_0x5929c5['resetTime']&&_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x19b),'apiKeyCfg.resetTime:\x20'+_0x5929c5[_0x385f0e(0x1cd)]));if(!Array['isArray'](_0x5929c5[_0x385f0e(0x1d7)]))_0x41749c[_0x385f0e(0x1a0)](check('WARN',_0x385f0e(0x1e7)));else{if(_0x5929c5[_0x385f0e(0x1d7)][_0x385f0e(0x1aa)]===0x0)_0x41749c[_0x385f0e(0x1a0)](check('WARN',_0x385f0e(0x197)));else{const _0x2c1743=new Set();for(let _0x5f53df=0x0;_0x5f53df<_0x5929c5['claudeSettings'][_0x385f0e(0x1aa)];_0x5f53df++){const _0x267ad8=_0x5929c5[_0x385f0e(0x1d7)][_0x5f53df],_0x419018='apiKeyCfg.claudeSettings['+_0x5f53df+']';if(!_0x267ad8['apiKey'])_0x41749c['push'](check(_0x385f0e(0x1e2),_0x419018+_0x385f0e(0x1ba)));else _0x2c1743[_0x385f0e(0x213)](_0x267ad8['apiKey'])?_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x419018+_0x385f0e(0x19f)+(0x0,api_key_manager_1[_0x385f0e(0x1f4)])(_0x267ad8))):_0x2c1743['add'](_0x267ad8[_0x385f0e(0x208)]);if(!_0x267ad8[_0x385f0e(0x1c1)])_0x41749c['push'](check(_0x385f0e(0x1d8),_0x419018+'\x20缺少\x20baseUrl'));if(!_0x267ad8[_0x385f0e(0x202)])_0x41749c['push'](check(_0x385f0e(0x1d8),_0x419018+'\x20缺少\x20model'));if(typeof _0x267ad8[_0x385f0e(0x209)]!==_0x385f0e(0x1f2))_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x419018+_0x385f0e(0x1ae)+typeof _0x267ad8[_0x385f0e(0x209)]));}const _0x3d77cf=_0x5929c5[_0x385f0e(0x1d7)][_0x385f0e(0x217)](_0x20a4c3=>_0x20a4c3[_0x385f0e(0x209)])[_0x385f0e(0x1aa)];_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x19b),_0x385f0e(0x1da)+_0x5929c5[_0x385f0e(0x1d7)][_0x385f0e(0x1aa)]+_0x385f0e(0x1b5)+_0x3d77cf));}}}else _0x41749c['push'](check('WARN',_0x385f0e(0x214)));const _0x592166=path_1[_0x385f0e(0x19e)][_0x385f0e(0x1dd)](_0x57fad7,'cron.json');if(fs_1[_0x385f0e(0x19e)]['existsSync'](_0x592166))try{const _0x53019d=JSON['parse'](fs_1['default'][_0x385f0e(0x1e5)](_0x592166,'utf-8')),_0x19e91a=Array['isArray'](_0x53019d)?_0x53019d:_0x53019d[_0x385f0e(0x1d0)];if(Array['isArray'](_0x19e91a)){const _0x31e8d6=_0x19e91a['filter'](_0x5df3b4=>_0x5df3b4['enabled']!==![])[_0x385f0e(0x1aa)];_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x19b),_0x385f0e(0x206)+_0x19e91a[_0x385f0e(0x1aa)]+_0x385f0e(0x1e3)+_0x31e8d6+'\x20启用)'));for(let _0x59e3eb=0x0;_0x59e3eb<_0x19e91a[_0x385f0e(0x1aa)];_0x59e3eb++){const _0x4ec75e=_0x19e91a[_0x59e3eb];if(!_0x4ec75e['id'])_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x385f0e(0x1fd)+_0x59e3eb+_0x385f0e(0x1c4)));if(!_0x4ec75e[_0x385f0e(0x1b8)])_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x385f0e(0x1fd)+_0x59e3eb+_0x385f0e(0x19d)));if(!_0x4ec75e['prompt'])_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x385f0e(0x1fd)+_0x59e3eb+']\x20缺少\x20prompt'));if(!_0x4ec75e[_0x385f0e(0x1b0)])_0x41749c['push'](check(_0x385f0e(0x1d8),_0x385f0e(0x1fd)+_0x59e3eb+']\x20缺少\x20conversationId'));else!_0x23ddbd[_0x385f0e(0x213)](_0x4ec75e['conversationId'])&&_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x385f0e(0x1fd)+_0x59e3eb+_0x385f0e(0x1d5)+_0x4ec75e[_0x385f0e(0x1b0)]+'\x22\x20未在\x20config.json\x20conversations\x20中找到'));}}else _0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x385f0e(0x1d3)));}catch(_0x2f7a41){_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),'cron.json\x20解析失败:\x20'+(_0x2f7a41 instanceof Error?_0x2f7a41[_0x385f0e(0x1d2)]:_0x2f7a41)));}else _0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x19b),'cron.json\x20不存在\x20(无定时任务)'));const _0x54b1e7=path_1[_0x385f0e(0x19e)][_0x385f0e(0x1dd)]((0x0,session_1[_0x385f0e(0x1db)])(),_0x385f0e(0x1a6),'settings-tpl.json');if(fs_1[_0x385f0e(0x19e)][_0x385f0e(0x1a1)](_0x54b1e7))try{const _0x5ed2ba=JSON[_0x385f0e(0x198)](fs_1[_0x385f0e(0x19e)][_0x385f0e(0x1e5)](_0x54b1e7,'utf-8'));if(typeof _0x5ed2ba!=='object'||_0x5ed2ba===null)_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x385f0e(0x20c)));else{if(!_0x5ed2ba['env']||typeof _0x5ed2ba[_0x385f0e(0x1de)]!==_0x385f0e(0x1df))_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1d8),_0x385f0e(0x201)));else{const _0x54961a=Object[_0x385f0e(0x1e1)](_0x5ed2ba[_0x385f0e(0x1de)]);_0x41749c[_0x385f0e(0x1a0)](check('PASS',_0x385f0e(0x203)+(_0x54961a[_0x385f0e(0x1dd)](',\x20')||_0x385f0e(0x1ab))));}}}catch(_0xde0a6){_0x41749c['push'](check('WARN',_0x385f0e(0x1e8)+(_0xde0a6 instanceof Error?_0xde0a6[_0x385f0e(0x1d2)]:_0xde0a6)));}else _0x41749c[_0x385f0e(0x1a0)](check('WARN',_0x385f0e(0x1ca)));try{(0x0,child_process_1['execSync'])(_0x385f0e(0x1c6),{'stdio':_0x385f0e(0x1f7)}),_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x19b),_0x385f0e(0x1f1)));}catch{_0x41749c[_0x385f0e(0x1a0)](check(_0x385f0e(0x1e2),_0x385f0e(0x1c5)));}try{const _0x1a271b=path_1[_0x385f0e(0x19e)]['join'](_0x57fad7,'.doctor-check');fs_1[_0x385f0e(0x19e)][_0x385f0e(0x215)](_0x1a271b,'ok','utf-8'),fs_1[_0x385f0e(0x19e)][_0x385f0e(0x1ee)](_0x1a271b),_0x41749c['push'](check(_0x385f0e(0x19b),_0x385f0e(0x1f9)));}catch(_0xcd46ee){_0x41749c['push'](check(_0x385f0e(0x1e2),_0x385f0e(0x19c)+(_0xcd46ee instanceof Error?_0xcd46ee[_0x385f0e(0x1d2)]:_0xcd46ee)));}return _0x41749c;}function check(_0x3c2645,_0x3463b2){return{'level':_0x3c2645,'message':_0x3463b2};}
|
package/dist/src/biz/image.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a7_0x4ac058=a7_0x1fee;(function(_0x5acc13,_0xe4d7e3){const _0x26b44e=a7_0x1fee,_0x2e37e4=_0x5acc13();while(!![]){try{const _0x5c3cf4=parseInt(_0x26b44e(0xae))/0x1*(parseInt(_0x26b44e(0xa2))/0x2)+-parseInt(_0x26b44e(0xc9))/0x3*(parseInt(_0x26b44e(0x8b))/0x4)+-parseInt(_0x26b44e(0x92))/0x5*(-parseInt(_0x26b44e(0xb2))/0x6)+-parseInt(_0x26b44e(0x95))/0x7+parseInt(_0x26b44e(0x7c))/0x8+-parseInt(_0x26b44e(0x91))/0x9*(parseInt(_0x26b44e(0xc0))/0xa)+parseInt(_0x26b44e(0x8d))/0xb*(parseInt(_0x26b44e(0x98))/0xc);if(_0x5c3cf4===_0xe4d7e3)break;else _0x2e37e4['push'](_0x2e37e4['shift']());}catch(_0x428db6){_0x2e37e4['push'](_0x2e37e4['shift']());}}}(a7_0x100a,0xd2356));var __importDefault=this&&this[a7_0x4ac058(0x7b)]||function(_0x44ec8e){return _0x44ec8e&&_0x44ec8e['__esModule']?_0x44ec8e:{'default':_0x44ec8e};};Object[a7_0x4ac058(0x9f)](exports,a7_0x4ac058(0x6c),{'value':!![]}),exports[a7_0x4ac058(0xaa)]=runOcr,exports['processPictureMessage']=processPictureMessage,exports[a7_0x4ac058(0xbe)]=processRichTextMessage;const child_process_1=require(a7_0x4ac058(0x90)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require('path')),urllib_1=__importDefault(require(a7_0x4ac058(0x75))),session_1=require(a7_0x4ac058(0x89)),common_1=require(a7_0x4ac058(0xc4)),MAX_IMAGE_SIZE=0xa*0x400*0x400,DING_API_BASE=a7_0x4ac058(0x9b),OCR_PREAMBLE=a7_0x4ac058(0xa8),OCR_BIN_DIR=(0x0,common_1[a7_0x4ac058(0xba)])()[a7_0x4ac058(0xbd)](),cachedOcrBinPath=((()=>{const _0x210fdf=a7_0x4ac058;if(process[_0x210fdf(0x68)]==='win32')return null;const _0x2bf002=process[_0x210fdf(0xc1)];if(_0x2bf002==='arm64')return path_1['default'][_0x210fdf(0x7d)](OCR_BIN_DIR,'ocr-arm64');if(_0x2bf002===_0x210fdf(0xa6))return path_1[_0x210fdf(0xb9)][_0x210fdf(0x7d)](OCR_BIN_DIR,'ocr-x64');return null;})());let ocrBinExists=null;async function runOcr(_0x5232b4){const _0x2a3ccd=a7_0x4ac058;if(!cachedOcrBinPath)return console[_0x2a3ccd(0x81)]('['+(0x0,session_1[_0x2a3ccd(0x8e)])()+_0x2a3ccd(0xc2)+process[_0x2a3ccd(0x68)]+'/'+process[_0x2a3ccd(0xc1)]+_0x2a3ccd(0xa5)),null;ocrBinExists===null&&(ocrBinExists=fs_1[_0x2a3ccd(0xb9)][_0x2a3ccd(0x96)](cachedOcrBinPath),!ocrBinExists&&console[_0x2a3ccd(0x8f)]('['+(0x0,session_1['timestamp'])()+']\x20OCR\x20二进制不存在:\x20'+cachedOcrBinPath));if(!ocrBinExists)return null;return new Promise(_0xfd9722=>{const _0x34f3af=_0x2a3ccd;(0x0,child_process_1[_0x34f3af(0x9a)])(cachedOcrBinPath,[_0x5232b4],{'timeout':0x7530,'maxBuffer':0x5*0x400*0x400},(_0x41ddae,_0x19332f,_0x40b560)=>{const _0x56411d=_0x34f3af;if(_0x41ddae){console[_0x56411d(0x8f)]('['+(0x0,session_1[_0x56411d(0x8e)])()+_0x56411d(0x8a)+_0x41ddae[_0x56411d(0x72)]);if(_0x40b560)console['warn']('['+(0x0,session_1[_0x56411d(0x8e)])()+_0x56411d(0x83)+_0x40b560[_0x56411d(0x87)](0x0,0xc8));_0xfd9722(null);return;}try{const _0xb688f0=JSON[_0x56411d(0xa4)](_0x19332f);if(!Array[_0x56411d(0x6e)](_0xb688f0)||_0xb688f0[_0x56411d(0xa3)]===0x0){console['log']('['+(0x0,session_1[_0x56411d(0x8e)])()+_0x56411d(0x86)),_0xfd9722(null);return;}const _0x40585e=_0xb688f0[_0x56411d(0x97)](_0x25684c=>_0x25684c['word'])['filter'](Boolean)[_0x56411d(0x7d)]('\x20');console['log']('['+(0x0,session_1[_0x56411d(0x8e)])()+_0x56411d(0xab)+_0x40585e['substring'](0x0,0xc8)+(_0x40585e[_0x56411d(0xa3)]>0xc8?_0x56411d(0x88):'')),_0xfd9722(_0x40585e||null);}catch{console[_0x56411d(0x8f)]('['+(0x0,session_1['timestamp'])()+_0x56411d(0x79)+_0x19332f[_0x56411d(0x87)](0x0,0xc8)),_0xfd9722(null);}});});}const MAGIC_NUMBERS=[{'bytes':[0x89,0x50,0x4e,0x47],'mediaType':'image/png','ext':a7_0x4ac058(0xc8)},{'bytes':[0xff,0xd8,0xff],'mediaType':a7_0x4ac058(0xb1),'ext':a7_0x4ac058(0x69)},{'bytes':[0x47,0x49,0x46],'mediaType':'image/gif','ext':a7_0x4ac058(0xcb)},{'bytes':[0x52,0x49,0x46,0x46],'mediaType':'image/webp','ext':a7_0x4ac058(0x84)}];function detectImageMediaType(_0xa0da9d){const _0xece8e0=a7_0x4ac058;for(const {bytes:_0xa01989,mediaType:_0x3f08a8,ext:_0x48a7a8}of MAGIC_NUMBERS){if(_0xa0da9d[_0xece8e0(0xa3)]>=_0xa01989[_0xece8e0(0xa3)]&&_0xa01989['every']((_0x2e33c6,_0x37f1bc)=>_0xa0da9d[_0x37f1bc]===_0x2e33c6))return{'mediaType':_0x3f08a8,'ext':_0x48a7a8};}return{'mediaType':_0xece8e0(0xb1),'ext':_0xece8e0(0x69)};}async function getImageDownloadUrl(_0x98eda4,_0x43ba76,_0x115e14){const _0x2735f4=a7_0x4ac058;try{const _0x265025=await _0x98eda4[_0x2735f4(0xb5)]['getAccessToken'](),_0xbebd22=DING_API_BASE+_0x2735f4(0xa1),_0x52ddba=await urllib_1[_0x2735f4(0xb9)][_0x2735f4(0xc3)](_0xbebd22,{'method':_0x2735f4(0x6b),'headers':{'x-acs-dingtalk-access-token':_0x265025,'Content-Type':_0x2735f4(0xb7)},'data':{'downloadCode':_0x43ba76,'robotCode':_0x115e14},'dataType':_0x2735f4(0x76),'timeout':0x2710});if(_0x52ddba[_0x2735f4(0x7a)]!==0xc8||!_0x52ddba[_0x2735f4(0x71)])return _0x98eda4['debugLog'](_0x2735f4(0x82)+_0x52ddba[_0x2735f4(0x7a)]+_0x2735f4(0x74)+JSON['stringify'](_0x52ddba[_0x2735f4(0x71)])),null;const _0x5acee9=_0x52ddba['data'],_0x3ef815=_0x5acee9?.[_0x2735f4(0x73)];if(!_0x3ef815)return _0x98eda4[_0x2735f4(0x77)]('getImageDownloadUrl\x20响应无\x20downloadUrl:\x20'+JSON['stringify'](_0x5acee9)),null;return _0x3ef815;}catch(_0x44000b){return console[_0x2735f4(0x8f)]('['+(0x0,session_1['timestamp'])()+_0x2735f4(0x6f),_0x44000b),null;}}function a7_0x1fee(_0x12a3f2,_0x1ff07f){_0x12a3f2=_0x12a3f2-0x68;const _0x100a94=a7_0x100a();let _0x1feee1=_0x100a94[_0x12a3f2];return _0x1feee1;}async function downloadImageBuffer(_0x33c760){const _0x146d83=a7_0x4ac058;try{const _0x2aac3f=await urllib_1[_0x146d83(0xb9)][_0x146d83(0xc3)](_0x33c760,{'method':_0x146d83(0xb3),'dataType':_0x146d83(0xbc),'timeout':0x7530});if(_0x2aac3f[_0x146d83(0x7a)]!==0xc8)return console['warn']('['+(0x0,session_1[_0x146d83(0x8e)])()+_0x146d83(0xbf)+_0x2aac3f[_0x146d83(0x7a)]),null;const _0x26c8f5=_0x2aac3f[_0x146d83(0x71)];if(!_0x26c8f5||_0x26c8f5[_0x146d83(0xa3)]===0x0)return console['warn']('['+(0x0,session_1[_0x146d83(0x8e)])()+']\x20downloadImageBuffer\x20下载结果为空'),null;if(_0x26c8f5[_0x146d83(0xa3)]>MAX_IMAGE_SIZE)return console[_0x146d83(0x8f)]('['+(0x0,session_1[_0x146d83(0x8e)])()+_0x146d83(0x6a)+_0x26c8f5[_0x146d83(0xa3)]+'\x20超过限制\x20'+MAX_IMAGE_SIZE),null;return _0x26c8f5;}catch(_0x1c26d4){return console[_0x146d83(0x8f)]('['+(0x0,session_1[_0x146d83(0x8e)])()+_0x146d83(0xa7),_0x1c26d4),null;}}function a7_0x100a(){const _0x4d1711=['trim','filter','[��片下载失败]','log','getImageDownloadUrl\x20API\x20返回非200:\x20status=',']\x20OCR\x20stderr:\x20','webp','mkdirSync',']\x20OCR\x20无识别结果','substring','...','./session',']\x20OCR\x20执行失败:\x20','4mHfxEw','\x20OCR]','59477NlHISu','timestamp','warn','child_process','8631sCMCGn','135rwLRZc','push','userId','3533488cWcyVQ','existsSync','map','1884ZfOvRK','filePath','execFile','https://api.dingtalk.com','pictureDownloadCode','\x0a---\x0a',']\x20图片保存失败:\x20','defineProperty','now','/v1.0/robot/messageFiles/download','10YmvtSN','length','parse',')不支持本地OCR,使用模型识别','x64',']\x20downloadImageBuffer\x20下载失败:','以下图片\x20OCR\x20识别结果来自对用户消息中图片的预处理(非用户原始输入),如识别不准确可直接查看原图路径','\x20bytes)','runOcr',']\x20OCR\x20识别结果:\x20','picture','[图片\x20OCR]','115683zYsLwS','get','downloadCode','image/jpeg','12498kpdQBu','GET','[图片]','dingStreamClient','text','application/json','set','default','projUtil','all','buffer','getResourcePath','processRichTextMessage',']\x20downloadImageBuffer\x20下载失败:\x20status=','10460EvhclU','arch',']\x20当前平台(','request','../common','writeFileSync','[图片\x20',']\x20OCR\x20失败,仅传原图路径:\x20','png','132474CXLUyn','test','gif','platform','jpg',']\x20图片大小\x20','POST','__esModule','type','isArray',']\x20getImageDownloadUrl\x20请求失败:','[富文本消息内容为空]','data','message','downloadUrl',',\x20data=','urllib','json','debugLog','\x0a---',']\x20OCR\x20输出解析失败:\x20','status','__importDefault','7436120XLtgPg','join'];a7_0x100a=function(){return _0x4d1711;};return a7_0x100a();}async function downloadAndProcessImage(_0x26c8b7,_0x4a64b4,_0x3c0d9d,_0x26435f){const _0x494439=a7_0x4ac058,_0x364b57=await getImageDownloadUrl(_0x26c8b7,_0x4a64b4,_0x3c0d9d);if(!_0x364b57)return null;const _0x5c47a2=await downloadImageBuffer(_0x364b57);if(!_0x5c47a2)return null;const {mediaType:_0x2c9916,ext:_0x4206e0}=detectImageMediaType(_0x5c47a2),_0x5556ed=path_1[_0x494439(0xb9)][_0x494439(0x7d)](_0x26435f,'.images'),_0x323382=_0x4a64b4['slice'](-0x8),_0x4adbb3=Date[_0x494439(0xa0)]()+'-'+_0x323382+'.'+_0x4206e0,_0x299bb4=path_1[_0x494439(0xb9)][_0x494439(0x7d)](_0x5556ed,_0x4adbb3);try{fs_1[_0x494439(0xb9)][_0x494439(0x85)](_0x5556ed,{'recursive':!![]}),fs_1['default'][_0x494439(0xc5)](_0x299bb4,_0x5c47a2);}catch(_0x14259d){return console[_0x494439(0x8f)]('['+(0x0,session_1[_0x494439(0x8e)])()+_0x494439(0x9e)+_0x299bb4,_0x14259d),null;}return console['log']('['+(0x0,session_1[_0x494439(0x8e)])()+']\x20图片已保存:\x20'+_0x299bb4+'\x20('+_0x2c9916+',\x20'+_0x5c47a2[_0x494439(0xa3)]+_0x494439(0xa9)),{'mediaType':_0x2c9916,'filePath':_0x299bb4,'sizeBytes':_0x5c47a2[_0x494439(0xa3)]};}async function buildImagePrompt(_0x28890a,_0x5f0b7f,_0x559cac){const _0xb77a58=a7_0x4ac058,_0x5a350a=_0x559cac!=null?_0xb77a58(0xc6)+_0x559cac+']':_0xb77a58(0xb4);if(_0x5f0b7f){const _0x4799e4=await runOcr(_0x28890a['filePath']);if(_0x4799e4){const _0x125e78=_0x559cac!=null?_0xb77a58(0xc6)+_0x559cac+_0xb77a58(0x8c):_0xb77a58(0xad);return _0x5a350a+'\x20'+_0x28890a['filePath']+'\x0a'+_0x125e78+_0xb77a58(0x9d)+_0x4799e4+_0xb77a58(0x78);}console[_0xb77a58(0x8f)]('['+(0x0,session_1[_0xb77a58(0x8e)])()+_0xb77a58(0xc7)+_0x28890a[_0xb77a58(0x99)]);}return _0x5a350a+'\x20'+_0x28890a['filePath'];}async function processPictureMessage(_0x13ecfc,_0x40aa90,_0x468996,_0x19f5b7,_0xe76461=!![],_0x453ee5){const _0x2a66bb=a7_0x4ac058,_0x4640a9=await downloadAndProcessImage(_0x13ecfc,_0x40aa90,_0x468996,_0x19f5b7);if(!_0x4640a9)return null;const _0x3d2e4f=await buildImagePrompt(_0x4640a9,_0xe76461),_0x464aa9=[];_0xe76461&&_0x464aa9[_0x2a66bb(0x93)](OCR_PREAMBLE);if(_0x453ee5)_0x464aa9[_0x2a66bb(0x93)](_0x453ee5);return _0x464aa9[_0x2a66bb(0x93)](_0x3d2e4f),_0x464aa9[_0x2a66bb(0x7d)]('\x0a');}async function processRichTextMessage(_0x266ed0,_0x152044,_0x2ae0f3,_0x450861,_0x43ed30=!![]){const _0x3cc93c=a7_0x4ac058,_0x291351=_0x152044[_0x3cc93c(0x7f)](_0x16e2ac=>_0x16e2ac[_0x3cc93c(0x6d)]==='picture'&&(_0x16e2ac[_0x3cc93c(0xb0)]||_0x16e2ac[_0x3cc93c(0x9c)]))['length'],_0x188c4b=_0x152044[_0x3cc93c(0x97)](async(_0x22ef10,_0x1c9e4a)=>{const _0x537f40=_0x3cc93c;if(_0x22ef10[_0x537f40(0x6d)]==='picture'){const _0x26308b=_0x22ef10['downloadCode']||_0x22ef10[_0x537f40(0x9c)];if(_0x26308b){const _0x2e6c9d=await downloadAndProcessImage(_0x266ed0,_0x26308b,_0x2ae0f3,_0x450861);return{'index':_0x1c9e4a,'result':_0x2e6c9d};}}return{'index':_0x1c9e4a,'result':null};}),_0x58d2c8=await Promise['all'](_0x188c4b),_0x36cc52=new Map();for(const {index:_0x5b54d6,result:_0x4b5527}of _0x58d2c8){_0x36cc52['set'](_0x5b54d6,_0x4b5527);}const _0x5baf55=new Map();if(_0x43ed30&&_0x291351>0x0){const _0x22cddf=[];for(const [_0x303735,_0x14505d]of _0x36cc52){_0x14505d&&_0x22cddf['push'](runOcr(_0x14505d[_0x3cc93c(0x99)])['then'](_0x52cb5b=>({'index':_0x303735,'ocrText':_0x52cb5b})));}const _0x5144af=await Promise[_0x3cc93c(0xbb)](_0x22cddf);for(const {index:_0x850f50,ocrText:_0x2869fc}of _0x5144af){_0x5baf55[_0x3cc93c(0xb8)](_0x850f50,_0x2869fc);}}const _0x416ac5=[];let _0x39dbf5=0x0;for(let _0x2af77d=0x0;_0x2af77d<_0x152044['length'];_0x2af77d++){const _0xafa470=_0x152044[_0x2af77d];if(_0xafa470[_0x3cc93c(0x6d)]===_0x3cc93c(0xb6)&&_0xafa470[_0x3cc93c(0xb6)]){if(/^@\S+$/[_0x3cc93c(0xca)](_0xafa470['text'][_0x3cc93c(0x7e)]()))continue;_0x416ac5[_0x3cc93c(0x93)](_0xafa470[_0x3cc93c(0xb6)]);}else{if(_0xafa470[_0x3cc93c(0x6d)]==='mention'&&_0xafa470['userId'])_0x416ac5[_0x3cc93c(0x93)]('@'+_0xafa470[_0x3cc93c(0x94)]);else{if(_0xafa470[_0x3cc93c(0x6d)]===_0x3cc93c(0xac)){const _0xe0a88c=_0x36cc52[_0x3cc93c(0xaf)](_0x2af77d);if(_0xe0a88c){_0x39dbf5++;const _0x2e5d88=_0x291351>0x1?_0x39dbf5:undefined,_0x380260=_0x43ed30?_0x5baf55[_0x3cc93c(0xaf)](_0x2af77d):null,_0x332dfa=_0x2e5d88!=null?_0x3cc93c(0xc6)+_0x2e5d88+']':_0x3cc93c(0xb4);if(_0x380260){const _0x375945=_0x2e5d88!=null?'[图片\x20'+_0x2e5d88+_0x3cc93c(0x8c):'[图片\x20OCR]';_0x416ac5[_0x3cc93c(0x93)](_0x332dfa+'\x20'+_0xe0a88c[_0x3cc93c(0x99)]+'\x0a'+_0x375945+_0x3cc93c(0x9d)+_0x380260+_0x3cc93c(0x78));}else _0x416ac5['push'](_0x332dfa+'\x20'+_0xe0a88c[_0x3cc93c(0x99)]);}else{const _0x21a0a5=_0xafa470[_0x3cc93c(0xb0)]||_0xafa470['pictureDownloadCode'];_0x21a0a5&&_0x416ac5['push'](_0x3cc93c(0x80));}}}}}const _0x2bf38b=_0x416ac5[_0x3cc93c(0x7d)]('\x0a')||_0x3cc93c(0x70);if(_0x43ed30&&_0x39dbf5>0x0)return OCR_PREAMBLE+'\x0a'+_0x2bf38b;return _0x2bf38b;}
|
|
1
|
+
'use strict';const a7_0x3b64ea=a7_0x1b0b;function a7_0x2312(){const _0x54bb71=['__esModule','child_process','urllib','9549045jpbFzb','../common','picture','getResourcePath','webp','log','get',']\x20图片保存失败:\x20','processRichTextMessage',')不支持本地OCR,使用模型识别','image/jpeg','substring','message','join','image/png','\x0a---\x0a','test',']\x20当前平台(','execFile','writeFileSync','then','[富文本消息内容为空]','[图片\x20','projUtil','stringify','push','warn','filePath','\x20OCR]','46iNPiRZ','default',']\x20OCR\x20二进制不存在:\x20',']\x20downloadImageBuffer\x20下载失败:','parse','length','...','runOcr','image/webp','12297000BOsUWz',']\x20downloadImageBuffer\x20下载失败:\x20status=',']\x20OCR\x20无识别结果',']\x20downloadImageBuffer\x20下载结果为空','9934498CuiTDX','ocr-x64',']\x20getImageDownloadUrl\x20请求失败:','getAccessToken','application/json','map','\x20bytes)',']\x20OCR\x20stderr:\x20','187389sFaHcL','data','request','61379Sfuoid','userId','mention','x64','dingStreamClient',',\x20data=','every','timestamp','debugLog',']\x20OCR\x20识别结果:\x20','\x20超过限制\x20','platform','[图片\x20OCR]','4fneyJW','arch','getImageDownloadUrl\x20响应无\x20downloadUrl:\x20','buffer','status','type','6HPxBuh','defineProperty','10KvbBmT',']\x20OCR\x20执行失败:\x20','gif','slice','win32','20998989UmtQap','jpg','word','trim','existsSync','arm64','text',']\x20图片已保存:\x20','downloadUrl','filter','processPictureMessage','downloadCode','以下图片\x20OCR\x20识别结果来自对用户消息中图片的预处理(非用户原始输入),如识别不准确可直接查看原图路径','POST','1378865TkIDqt','getImageDownloadUrl\x20API\x20返回非200:\x20status=','pictureDownloadCode','__importDefault','all'];a7_0x2312=function(){return _0x54bb71;};return a7_0x2312();}(function(_0x38191e,_0x1ea55a){const _0x136f04=a7_0x1b0b,_0x40c082=_0x38191e();while(!![]){try{const _0x36ac79=parseInt(_0x136f04(0x11a))/0x1*(parseInt(_0x136f04(0x102))/0x2)+parseInt(_0x136f04(0x117))/0x3+parseInt(_0x136f04(0x127))/0x4*(parseInt(_0x136f04(0x142))/0x5)+parseInt(_0x136f04(0x12d))/0x6*(parseInt(_0x136f04(0x10f))/0x7)+-parseInt(_0x136f04(0x10b))/0x8+-parseInt(_0x136f04(0x14a))/0x9*(-parseInt(_0x136f04(0x12f))/0xa)+-parseInt(_0x136f04(0x134))/0xb;if(_0x36ac79===_0x1ea55a)break;else _0x40c082['push'](_0x40c082['shift']());}catch(_0x4646b0){_0x40c082['push'](_0x40c082['shift']());}}}(a7_0x2312,0xbf6b0));var __importDefault=this&&this[a7_0x3b64ea(0x145)]||function(_0x341b3e){const _0x3b2b82=a7_0x3b64ea;return _0x341b3e&&_0x341b3e[_0x3b2b82(0x147)]?_0x341b3e:{'default':_0x341b3e};};Object[a7_0x3b64ea(0x12e)](exports,a7_0x3b64ea(0x147),{'value':!![]}),exports[a7_0x3b64ea(0x109)]=runOcr,exports[a7_0x3b64ea(0x13e)]=processPictureMessage,exports[a7_0x3b64ea(0xed)]=processRichTextMessage;const child_process_1=require(a7_0x3b64ea(0x148)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require('path')),urllib_1=__importDefault(require(a7_0x3b64ea(0x149))),session_1=require('./session'),common_1=require(a7_0x3b64ea(0xe6)),MAX_IMAGE_SIZE=0xa*0x400*0x400,DING_API_BASE='https://api.dingtalk.com',OCR_PREAMBLE=a7_0x3b64ea(0x140),OCR_BIN_DIR=(0x0,common_1[a7_0x3b64ea(0xfc)])()[a7_0x3b64ea(0xe8)](),cachedOcrBinPath=((()=>{const _0x5818ff=a7_0x3b64ea;if(process[_0x5818ff(0x125)]===_0x5818ff(0x133))return null;const _0x3acd81=process[_0x5818ff(0x128)];if(_0x3acd81===_0x5818ff(0x139))return path_1[_0x5818ff(0x103)]['join'](OCR_BIN_DIR,'ocr-arm64');if(_0x3acd81===_0x5818ff(0x11d))return path_1[_0x5818ff(0x103)][_0x5818ff(0xf2)](OCR_BIN_DIR,_0x5818ff(0x110));return null;})());let ocrBinExists=null;async function runOcr(_0x5b2c01){const _0x5af98c=a7_0x3b64ea;if(!cachedOcrBinPath)return console[_0x5af98c(0xea)]('['+(0x0,session_1[_0x5af98c(0x121)])()+_0x5af98c(0xf6)+process[_0x5af98c(0x125)]+'/'+process[_0x5af98c(0x128)]+_0x5af98c(0xee)),null;ocrBinExists===null&&(ocrBinExists=fs_1[_0x5af98c(0x103)][_0x5af98c(0x138)](cachedOcrBinPath),!ocrBinExists&&console['warn']('['+(0x0,session_1[_0x5af98c(0x121)])()+_0x5af98c(0x104)+cachedOcrBinPath));if(!ocrBinExists)return null;return new Promise(_0x280462=>{const _0x4bb524=_0x5af98c;(0x0,child_process_1[_0x4bb524(0xf7)])(cachedOcrBinPath,[_0x5b2c01],{'timeout':0x7530,'maxBuffer':0x5*0x400*0x400},(_0x51bf1c,_0x531359,_0x26c30e)=>{const _0x46b03a=_0x4bb524;if(_0x51bf1c){console['warn']('['+(0x0,session_1[_0x46b03a(0x121)])()+_0x46b03a(0x130)+_0x51bf1c[_0x46b03a(0xf1)]);if(_0x26c30e)console['warn']('['+(0x0,session_1[_0x46b03a(0x121)])()+_0x46b03a(0x116)+_0x26c30e[_0x46b03a(0xf0)](0x0,0xc8));_0x280462(null);return;}try{const _0x1a627c=JSON[_0x46b03a(0x106)](_0x531359);if(!Array['isArray'](_0x1a627c)||_0x1a627c[_0x46b03a(0x107)]===0x0){console[_0x46b03a(0xea)]('['+(0x0,session_1['timestamp'])()+_0x46b03a(0x10d)),_0x280462(null);return;}const _0x4c0b28=_0x1a627c[_0x46b03a(0x114)](_0x1224bc=>_0x1224bc[_0x46b03a(0x136)])[_0x46b03a(0x13d)](Boolean)[_0x46b03a(0xf2)]('\x20');console[_0x46b03a(0xea)]('['+(0x0,session_1[_0x46b03a(0x121)])()+_0x46b03a(0x123)+_0x4c0b28['substring'](0x0,0xc8)+(_0x4c0b28[_0x46b03a(0x107)]>0xc8?_0x46b03a(0x108):'')),_0x280462(_0x4c0b28||null);}catch{console['warn']('['+(0x0,session_1[_0x46b03a(0x121)])()+']\x20OCR\x20输出解析失败:\x20'+_0x531359[_0x46b03a(0xf0)](0x0,0xc8)),_0x280462(null);}});});}function a7_0x1b0b(_0x386db7,_0x487597){_0x386db7=_0x386db7-0xe6;const _0x23120d=a7_0x2312();let _0x1b0b69=_0x23120d[_0x386db7];return _0x1b0b69;}const MAGIC_NUMBERS=[{'bytes':[0x89,0x50,0x4e,0x47],'mediaType':a7_0x3b64ea(0xf3),'ext':'png'},{'bytes':[0xff,0xd8,0xff],'mediaType':a7_0x3b64ea(0xef),'ext':a7_0x3b64ea(0x135)},{'bytes':[0x47,0x49,0x46],'mediaType':'image/gif','ext':a7_0x3b64ea(0x131)},{'bytes':[0x52,0x49,0x46,0x46],'mediaType':a7_0x3b64ea(0x10a),'ext':a7_0x3b64ea(0xe9)}];function detectImageMediaType(_0x3950c0){const _0x8a0d6d=a7_0x3b64ea;for(const {bytes:_0x469a3e,mediaType:_0x541a78,ext:_0x17ab9b}of MAGIC_NUMBERS){if(_0x3950c0[_0x8a0d6d(0x107)]>=_0x469a3e['length']&&_0x469a3e[_0x8a0d6d(0x120)]((_0x3aa5fa,_0x503f0d)=>_0x3950c0[_0x503f0d]===_0x3aa5fa))return{'mediaType':_0x541a78,'ext':_0x17ab9b};}return{'mediaType':_0x8a0d6d(0xef),'ext':_0x8a0d6d(0x135)};}async function getImageDownloadUrl(_0x229166,_0x3d14c9,_0x37107f){const _0x2196d8=a7_0x3b64ea;try{const _0x1d115a=await _0x229166[_0x2196d8(0x11e)][_0x2196d8(0x112)](),_0x5047b4=DING_API_BASE+'/v1.0/robot/messageFiles/download',_0x16fa06=await urllib_1['default'][_0x2196d8(0x119)](_0x5047b4,{'method':_0x2196d8(0x141),'headers':{'x-acs-dingtalk-access-token':_0x1d115a,'Content-Type':_0x2196d8(0x113)},'data':{'downloadCode':_0x3d14c9,'robotCode':_0x37107f},'dataType':'json','timeout':0x2710});if(_0x16fa06[_0x2196d8(0x12b)]!==0xc8||!_0x16fa06['data'])return _0x229166['debugLog'](_0x2196d8(0x143)+_0x16fa06['status']+_0x2196d8(0x11f)+JSON[_0x2196d8(0xfd)](_0x16fa06[_0x2196d8(0x118)])),null;const _0x49c640=_0x16fa06['data'],_0x127623=_0x49c640?.[_0x2196d8(0x13c)];if(!_0x127623)return _0x229166[_0x2196d8(0x122)](_0x2196d8(0x129)+JSON[_0x2196d8(0xfd)](_0x49c640)),null;return _0x127623;}catch(_0x44cfb9){return console[_0x2196d8(0xff)]('['+(0x0,session_1[_0x2196d8(0x121)])()+_0x2196d8(0x111),_0x44cfb9),null;}}async function downloadImageBuffer(_0x2df87e){const _0x5b5be4=a7_0x3b64ea;try{const _0x20bee5=await urllib_1[_0x5b5be4(0x103)]['request'](_0x2df87e,{'method':'GET','dataType':_0x5b5be4(0x12a),'timeout':0x7530});if(_0x20bee5[_0x5b5be4(0x12b)]!==0xc8)return console[_0x5b5be4(0xff)]('['+(0x0,session_1[_0x5b5be4(0x121)])()+_0x5b5be4(0x10c)+_0x20bee5[_0x5b5be4(0x12b)]),null;const _0x1c3795=_0x20bee5['data'];if(!_0x1c3795||_0x1c3795[_0x5b5be4(0x107)]===0x0)return console[_0x5b5be4(0xff)]('['+(0x0,session_1[_0x5b5be4(0x121)])()+_0x5b5be4(0x10e)),null;if(_0x1c3795['length']>MAX_IMAGE_SIZE)return console[_0x5b5be4(0xff)]('['+(0x0,session_1[_0x5b5be4(0x121)])()+']\x20图片大小\x20'+_0x1c3795[_0x5b5be4(0x107)]+_0x5b5be4(0x124)+MAX_IMAGE_SIZE),null;return _0x1c3795;}catch(_0x52af99){return console[_0x5b5be4(0xff)]('['+(0x0,session_1[_0x5b5be4(0x121)])()+_0x5b5be4(0x105),_0x52af99),null;}}async function downloadAndProcessImage(_0xff216,_0x58e990,_0x1df7fa,_0x5b0fb5){const _0x43cc02=a7_0x3b64ea,_0x35167a=await getImageDownloadUrl(_0xff216,_0x58e990,_0x1df7fa);if(!_0x35167a)return null;const _0x2b56a5=await downloadImageBuffer(_0x35167a);if(!_0x2b56a5)return null;const {mediaType:_0x506a27,ext:_0x45a342}=detectImageMediaType(_0x2b56a5),_0x5d63f7=path_1[_0x43cc02(0x103)][_0x43cc02(0xf2)](_0x5b0fb5,'.images'),_0x4669d3=_0x58e990[_0x43cc02(0x132)](-0x8),_0x1985dd=Date['now']()+'-'+_0x4669d3+'.'+_0x45a342,_0x38d840=path_1[_0x43cc02(0x103)][_0x43cc02(0xf2)](_0x5d63f7,_0x1985dd);try{fs_1[_0x43cc02(0x103)]['mkdirSync'](_0x5d63f7,{'recursive':!![]}),fs_1[_0x43cc02(0x103)][_0x43cc02(0xf8)](_0x38d840,_0x2b56a5);}catch(_0x22a417){return console[_0x43cc02(0xff)]('['+(0x0,session_1[_0x43cc02(0x121)])()+_0x43cc02(0xec)+_0x38d840,_0x22a417),null;}return console['log']('['+(0x0,session_1[_0x43cc02(0x121)])()+_0x43cc02(0x13b)+_0x38d840+'\x20('+_0x506a27+',\x20'+_0x2b56a5[_0x43cc02(0x107)]+_0x43cc02(0x115)),{'mediaType':_0x506a27,'filePath':_0x38d840,'sizeBytes':_0x2b56a5['length']};}async function buildImagePrompt(_0x3aacbc,_0x3b97c3,_0x351ac6){const _0xcec7e1=a7_0x3b64ea,_0x374d5a=_0x351ac6!=null?_0xcec7e1(0xfb)+_0x351ac6+']':'[图片]';if(_0x3b97c3){const _0x5288c8=await runOcr(_0x3aacbc['filePath']);if(_0x5288c8){const _0x1a6d52=_0x351ac6!=null?_0xcec7e1(0xfb)+_0x351ac6+_0xcec7e1(0x101):_0xcec7e1(0x126);return _0x374d5a+'\x20'+_0x3aacbc[_0xcec7e1(0x100)]+'\x0a'+_0x1a6d52+_0xcec7e1(0xf4)+_0x5288c8+'\x0a---';}console[_0xcec7e1(0xff)]('['+(0x0,session_1['timestamp'])()+']\x20OCR\x20失败,仅传原图路径:\x20'+_0x3aacbc['filePath']);}return _0x374d5a+'\x20'+_0x3aacbc[_0xcec7e1(0x100)];}async function processPictureMessage(_0xd79f70,_0x49859d,_0x10c715,_0x5a5a01,_0x1c2ef9=!![],_0x211fcb){const _0x26dc22=a7_0x3b64ea,_0x1c2074=await downloadAndProcessImage(_0xd79f70,_0x49859d,_0x10c715,_0x5a5a01);if(!_0x1c2074)return null;const _0x39f899=await buildImagePrompt(_0x1c2074,_0x1c2ef9),_0x6a70e0=[];_0x1c2ef9&&_0x6a70e0[_0x26dc22(0xfe)](OCR_PREAMBLE);if(_0x211fcb)_0x6a70e0[_0x26dc22(0xfe)](_0x211fcb);return _0x6a70e0['push'](_0x39f899),_0x6a70e0[_0x26dc22(0xf2)]('\x0a');}async function processRichTextMessage(_0x2308a0,_0x4e16b4,_0x3784de,_0x14fca7,_0x11d382=!![]){const _0x1e36bf=a7_0x3b64ea,_0x56efd5=_0x4e16b4[_0x1e36bf(0x13d)](_0x3add57=>_0x3add57[_0x1e36bf(0x12c)]===_0x1e36bf(0xe7)&&(_0x3add57[_0x1e36bf(0x13f)]||_0x3add57[_0x1e36bf(0x144)]))[_0x1e36bf(0x107)],_0x426899=_0x4e16b4['map'](async(_0x31186e,_0x240f3b)=>{const _0x2ad236=_0x1e36bf;if(_0x31186e['type']===_0x2ad236(0xe7)){const _0x47b9fe=_0x31186e[_0x2ad236(0x13f)]||_0x31186e[_0x2ad236(0x144)];if(_0x47b9fe){const _0x15aa86=await downloadAndProcessImage(_0x2308a0,_0x47b9fe,_0x3784de,_0x14fca7);return{'index':_0x240f3b,'result':_0x15aa86};}}return{'index':_0x240f3b,'result':null};}),_0x5a45eb=await Promise['all'](_0x426899),_0x346c74=new Map();for(const {index:_0x47f8ca,result:_0x535e48}of _0x5a45eb){_0x346c74['set'](_0x47f8ca,_0x535e48);}const _0x4e9572=new Map();if(_0x11d382&&_0x56efd5>0x0){const _0x46c90a=[];for(const [_0x1f7706,_0xbc5197]of _0x346c74){_0xbc5197&&_0x46c90a[_0x1e36bf(0xfe)](runOcr(_0xbc5197[_0x1e36bf(0x100)])[_0x1e36bf(0xf9)](_0x1117b8=>({'index':_0x1f7706,'ocrText':_0x1117b8})));}const _0x2bccb1=await Promise[_0x1e36bf(0x146)](_0x46c90a);for(const {index:_0x24b41b,ocrText:_0x20a1b5}of _0x2bccb1){_0x4e9572['set'](_0x24b41b,_0x20a1b5);}}const _0x2e3cb6=[];let _0xee81ff=0x0;for(let _0xe2f2d=0x0;_0xe2f2d<_0x4e16b4[_0x1e36bf(0x107)];_0xe2f2d++){const _0x3102a4=_0x4e16b4[_0xe2f2d];if(_0x3102a4['type']===_0x1e36bf(0x13a)&&_0x3102a4[_0x1e36bf(0x13a)]){if(/^@\S+$/[_0x1e36bf(0xf5)](_0x3102a4['text'][_0x1e36bf(0x137)]()))continue;_0x2e3cb6[_0x1e36bf(0xfe)](_0x3102a4[_0x1e36bf(0x13a)]);}else{if(_0x3102a4[_0x1e36bf(0x12c)]===_0x1e36bf(0x11c)&&_0x3102a4[_0x1e36bf(0x11b)])_0x2e3cb6[_0x1e36bf(0xfe)]('@'+_0x3102a4[_0x1e36bf(0x11b)]);else{if(_0x3102a4[_0x1e36bf(0x12c)]===_0x1e36bf(0xe7)){const _0x2b0d9e=_0x346c74['get'](_0xe2f2d);if(_0x2b0d9e){_0xee81ff++;const _0x3c7c6c=_0x56efd5>0x1?_0xee81ff:undefined,_0x5dd340=_0x11d382?_0x4e9572[_0x1e36bf(0xeb)](_0xe2f2d):null,_0x2d253e=_0x3c7c6c!=null?_0x1e36bf(0xfb)+_0x3c7c6c+']':'[图片]';if(_0x5dd340){const _0x1a9259=_0x3c7c6c!=null?'[图片\x20'+_0x3c7c6c+'\x20OCR]':_0x1e36bf(0x126);_0x2e3cb6[_0x1e36bf(0xfe)](_0x2d253e+'\x20'+_0x2b0d9e[_0x1e36bf(0x100)]+'\x0a'+_0x1a9259+_0x1e36bf(0xf4)+_0x5dd340+'\x0a---');}else _0x2e3cb6[_0x1e36bf(0xfe)](_0x2d253e+'\x20'+_0x2b0d9e[_0x1e36bf(0x100)]);}else{const _0x5dad57=_0x3102a4[_0x1e36bf(0x13f)]||_0x3102a4[_0x1e36bf(0x144)];_0x5dad57&&_0x2e3cb6[_0x1e36bf(0xfe)]('[��片下载失败]');}}}}}const _0x14296f=_0x2e3cb6[_0x1e36bf(0xf2)]('\x0a')||_0x1e36bf(0xfa);if(_0x11d382&&_0xee81ff>0x0)return OCR_PREAMBLE+'\x0a'+_0x14296f;return _0x14296f;}
|
package/dist/src/biz/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a8_0x20a658=a8_0x4acb;function a8_0xb512(){const _0xb5aae3=['3056ADpAAT','\x20已退出),自动清理','.pid.lock','__esModule','829155VfdPnM','12185UmuTVq','1213460Dyxhzx','log','1427664NOAwtn','6174mreACN','utf-8','default','SIGINT','666nzjjZr','\x20\x20如需强制启动,请先停止已有进程或删除锁文件:\x20','error','11uOewnh','./session','243lEUGcq','acquirePidLock','readFileSync','timestamp','__importDefault','504wRgYLc','unlinkSync','exit','1449288vzcAvH','writeFileSync','\x22\x20已有运行中的进程\x20(PID:\x20',']\x20检测到过期锁文件\x20(PID:\x20'];a8_0xb512=function(){return _0xb5aae3;};return a8_0xb512();}(function(_0x5b0ca9,_0x4b0a6c){const _0x327877=a8_0x4acb,_0x1c8257=_0x5b0ca9();while(!![]){try{const _0x5b4794=-parseInt(_0x327877(0x11a))/0x1*(-parseInt(_0x327877(0x11f))/0x2)+-parseInt(_0x327877(0x10c))/0x3+parseInt(_0x327877(0x104))/0x4+parseInt(_0x327877(0x10d))/0x5*(-parseInt(_0x327877(0x115))/0x6)+parseInt(_0x327877(0x110))/0x7+parseInt(_0x327877(0x108))/0x8*(parseInt(_0x327877(0x111))/0x9)+parseInt(_0x327877(0x10e))/0xa*(-parseInt(_0x327877(0x118))/0xb);if(_0x5b4794===_0x4b0a6c)break;else _0x1c8257['push'](_0x1c8257['shift']());}catch(_0x41858a){_0x1c8257['push'](_0x1c8257['shift']());}}}(a8_0xb512,0x3608c));var __importDefault=this&&this[a8_0x20a658(0x11e)]||function(_0x5d2f8a){const _0x26e6ea=a8_0x20a658;return _0x5d2f8a&&_0x5d2f8a[_0x26e6ea(0x10b)]?_0x5d2f8a:{'default':_0x5d2f8a};};Object['defineProperty'](exports,a8_0x20a658(0x10b),{'value':!![]}),exports[a8_0x20a658(0x11b)]=acquirePidLock;function a8_0x4acb(_0x407681,_0x1bca05){_0x407681=_0x407681-0x104;const _0xb5125b=a8_0xb512();let _0x4acb8c=_0xb5125b[_0x407681];return _0x4acb8c;}const session_1=require(a8_0x20a658(0x119)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require('path'));function acquirePidLock(_0x336e06,_0x5b874b){const _0x20ea29=a8_0x20a658,_0x5065f7=path_1[_0x20ea29(0x113)]['join'](_0x336e06,_0x20ea29(0x10a));if(fs_1[_0x20ea29(0x113)]['existsSync'](_0x5065f7))try{const _0xb3dbfc=parseInt(fs_1['default'][_0x20ea29(0x11c)](_0x5065f7,_0x20ea29(0x112))['trim'](),0xa);if(!isNaN(_0xb3dbfc))try{process['kill'](_0xb3dbfc,0x0),console[_0x20ea29(0x117)]('[FATAL]\x20clientId\x20\x22'+_0x5b874b+_0x20ea29(0x106)+_0xb3dbfc+')'),console['error'](_0x20ea29(0x116)+_0x5065f7),process[_0x20ea29(0x121)](0x1);}catch{console[_0x20ea29(0x10f)]('['+(0x0,session_1[_0x20ea29(0x11d)])()+_0x20ea29(0x107)+_0xb3dbfc+_0x20ea29(0x109));}}catch{}fs_1[_0x20ea29(0x113)][_0x20ea29(0x105)](_0x5065f7,String(process['pid']),_0x20ea29(0x112));const _0x383516=()=>{const _0x2937dd=_0x20ea29;try{fs_1['default'][_0x2937dd(0x120)](_0x5065f7);}catch{}};process['on'](_0x20ea29(0x121),_0x383516),process['on'](_0x20ea29(0x114),()=>{const _0x5463ce=_0x20ea29;_0x383516(),process[_0x5463ce(0x121)](0x82);}),process['on']('SIGTERM',()=>{const _0x53a2b0=_0x20ea29;_0x383516(),process[_0x53a2b0(0x121)](0x8f);});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a9_0x4c5be1=a9_0x3da8;(function(_0x1ebc50,_0x1ceca5){const _0x27b037=a9_0x3da8,_0x3b8744=_0x1ebc50();while(!![]){try{const _0x4b5fc2=-parseInt(_0x27b037(0xa0))/0x1*(-parseInt(_0x27b037(0xae))/0x2)+parseInt(_0x27b037(0xda))/0x3*(-parseInt(_0x27b037(0xad))/0x4)+parseInt(_0x27b037(0xc2))/0x5+-parseInt(_0x27b037(0xa8))/0x6+parseInt(_0x27b037(0xd1))/0x7+parseInt(_0x27b037(0x9c))/0x8+-parseInt(_0x27b037(0xd5))/0x9;if(_0x4b5fc2===_0x1ceca5)break;else _0x3b8744['push'](_0x3b8744['shift']());}catch(_0x36bb3b){_0x3b8744['push'](_0x3b8744['shift']());}}}(a9_0x42be,0xbd761));var __importDefault=this&&this[a9_0x4c5be1(0xd8)]||function(_0x7c58d7){return _0x7c58d7&&_0x7c58d7['__esModule']?_0x7c58d7:{'default':_0x7c58d7};};Object[a9_0x4c5be1(0xa5)](exports,a9_0x4c5be1(0xdc),{'value':!![]}),exports[a9_0x4c5be1(0xc1)]=fetchQuotedMessage,exports[a9_0x4c5be1(0x9f)]=queryDingUser,exports[a9_0x4c5be1(0xdd)]=queryUserIdByMobile,exports[a9_0x4c5be1(0xcb)]=filterToolUseContent,exports['splitMessage']=splitMessage,exports[a9_0x4c5be1(0xc4)]=sendDingMessage,exports[a9_0x4c5be1(0x9e)]=sendClaudeResponseToDing;const utils_ok_1=require('utils-ok'),urllib_1=__importDefault(require(a9_0x4c5be1(0xd2))),DING_API_BASE=a9_0x4c5be1(0xc5),DING_OAPI_BASE=a9_0x4c5be1(0xd6);async function fetchQuotedMessage(_0x4b0fed,_0x5bb3b8){const _0x10773e=a9_0x4c5be1;try{const _0x2e49b7=await _0x4b0fed['dingStreamClient'][_0x10773e(0x88)](),_0x46cca4=DING_API_BASE+'/v1.0/im/api/messages/'+encodeURIComponent(_0x5bb3b8),_0x5794b6=await urllib_1[_0x10773e(0x97)][_0x10773e(0xb4)](_0x46cca4,{'method':_0x10773e(0xaf),'headers':{'x-acs-dingtalk-access-token':_0x2e49b7},'dataType':_0x10773e(0xbc),'timeout':0x1388});if(_0x5794b6['status']!==0xc8||!_0x5794b6[_0x10773e(0xc0)])return _0x4b0fed[_0x10773e(0xa2)]('fetchQuotedMessage\x20API\x20返回非200:\x20status='+_0x5794b6['status']+_0x10773e(0xc9)+JSON[_0x10773e(0xb0)](_0x5794b6[_0x10773e(0xc0)])),null;const _0xc318f9=_0x5794b6[_0x10773e(0xc0)];if(_0xc318f9[_0x10773e(0x93)]&&typeof _0xc318f9[_0x10773e(0x93)]===_0x10773e(0xb7)){const _0x2b145b=_0xc318f9[_0x10773e(0x93)][_0x10773e(0xc6)];if(typeof _0x2b145b===_0x10773e(0x8c)&&_0x2b145b)return _0x2b145b['trim']();}if(typeof _0xc318f9[_0x10773e(0xc6)]===_0x10773e(0x8c)&&_0xc318f9['content'])try{const _0x608c82=JSON[_0x10773e(0x85)](_0xc318f9[_0x10773e(0xc6)]);if(typeof _0x608c82==='string')return _0x608c82[_0x10773e(0xcc)]();if(_0x608c82['text'])return String(_0x608c82[_0x10773e(0x93)])[_0x10773e(0xcc)]();if(_0x608c82[_0x10773e(0xc6)])return String(_0x608c82[_0x10773e(0xc6)])[_0x10773e(0xcc)]();}catch{return _0xc318f9[_0x10773e(0xc6)][_0x10773e(0xcc)]();}if(_0xc318f9['body']&&typeof _0xc318f9[_0x10773e(0xab)]===_0x10773e(0xb7)){const _0x555f4b=_0xc318f9[_0x10773e(0xab)];if(typeof _0x555f4b[_0x10773e(0xc6)]==='string'&&_0x555f4b[_0x10773e(0xc6)])return _0x555f4b[_0x10773e(0xc6)][_0x10773e(0xcc)]();}return _0x4b0fed[_0x10773e(0xa2)]('fetchQuotedMessage\x20无法从响应中提取文本:\x20keys='+Object['keys'](_0xc318f9)[_0x10773e(0xbd)](',')),null;}catch(_0x14c0e0){return console[_0x10773e(0x96)]('fetchQuotedMessage\x20请求失败:',_0x14c0e0),null;}}async function queryDingUser(_0x23ea65,_0x52e0e2){const _0x359b6f=a9_0x4c5be1;try{const _0x2cf68b=await _0x23ea65[_0x359b6f(0xde)][_0x359b6f(0x88)](),_0x2bba27=DING_OAPI_BASE+_0x359b6f(0xd3)+_0x2cf68b,_0xb51ed=await urllib_1[_0x359b6f(0x97)][_0x359b6f(0xb4)](_0x2bba27,{'method':'POST','data':{'userid':_0x52e0e2},'contentType':_0x359b6f(0xbc),'dataType':_0x359b6f(0xbc),'timeout':0x1388});if(_0xb51ed[_0x359b6f(0x86)]!==0xc8||!_0xb51ed['data'])return _0x23ea65[_0x359b6f(0xa2)]('queryDingUser\x20API\x20返回非200:\x20status='+_0xb51ed[_0x359b6f(0x86)]+',\x20data='+JSON[_0x359b6f(0xb0)](_0xb51ed[_0x359b6f(0xc0)])),null;const _0x5eb599=_0xb51ed[_0x359b6f(0xc0)];if(_0x5eb599[_0x359b6f(0xb2)]!==0x0)return console[_0x359b6f(0x96)](_0x359b6f(0xac)+_0x5eb599[_0x359b6f(0xb2)]+_0x359b6f(0x8e)+_0x5eb599[_0x359b6f(0xbe)]),null;return _0x5eb599[_0x359b6f(0xa1)]||null;}catch(_0x534bb0){return console[_0x359b6f(0x96)](_0x359b6f(0xaa),_0x534bb0),null;}}async function queryUserIdByMobile(_0x435a37,_0x19018d){const _0x5b0750=a9_0x4c5be1;try{const _0x414221=await _0x435a37['dingStreamClient'][_0x5b0750(0x88)](),_0x5f2212=DING_OAPI_BASE+_0x5b0750(0x89)+_0x414221,_0x40d877=await urllib_1[_0x5b0750(0x97)][_0x5b0750(0xb4)](_0x5f2212,{'method':_0x5b0750(0xbf),'data':{'mobile':_0x19018d},'contentType':_0x5b0750(0xbc),'dataType':'json','timeout':0x1388});if(_0x40d877[_0x5b0750(0x86)]!==0xc8||!_0x40d877[_0x5b0750(0xc0)])return _0x435a37['debugLog'](_0x5b0750(0xbb)+_0x40d877[_0x5b0750(0x86)]+_0x5b0750(0xc9)+JSON[_0x5b0750(0xb0)](_0x40d877['data'])),null;const _0x445a73=_0x40d877['data'];if(_0x445a73[_0x5b0750(0xb2)]!==0x0)return console[_0x5b0750(0x96)]('queryUserIdByMobile\x20接口返回错误:\x20errcode='+_0x445a73[_0x5b0750(0xb2)]+_0x5b0750(0x8e)+_0x445a73[_0x5b0750(0xbe)]),null;const _0x152681=_0x445a73[_0x5b0750(0xa1)];return _0x152681?.['userid']||null;}catch(_0x1cfb3d){return console[_0x5b0750(0x96)](_0x5b0750(0xdb),_0x1cfb3d),null;}}function a9_0x3da8(_0x1dbdf3,_0x27fd48){_0x1dbdf3=_0x1dbdf3-0x84;const _0x42be0a=a9_0x42be();let _0x3da81f=_0x42be0a[_0x1dbdf3];return _0x3da81f;}function a9_0x42be(){const _0x4ec0fc=['LSP','EnterWorktree',',\x20data=','CronDelete','filterToolUseContent','trim','TaskGet','markdown','config','Agent','9158345MgInNU','urllib','/topapi/v2/user/get?access_token=','https://oapi.dingtalk.com/robot/send?access_token=','15346134AOYTyx','https://oapi.dingtalk.com','baseUtil','__importDefault','通过\x20defaultDingToken\x20发送钉钉消息失败:','6kGBgKg','queryUserIdByMobile\x20请求失败:','__esModule','queryUserIdByMobile','dingStreamClient','defaultDingToken','parse','status','TaskCreate','getAccessToken','/topapi/v2/user/getbymobile?access_token=','WebSearch','conversations','string','NotebookEdit',',\x20errmsg=','通过\x20sessionWebhook\x20发送钉钉消息失败:','replace','CronCreate',')[^>]*>[\x5cs\x5cS]*?<\x5c/\x5c1>','text','substring','ExitPlanMode','warn','default','Read','lastIndexOf','error','ExitWorktree','7263472VeUBQs','push','sendClaudeResponseToDing','queryDingUser','357874sXIeUq','result','debugLog','Write','Edit','defineProperty',')[^>]*\x5c/>','Skill','2027106wtwVsi','过滤后内容为空,跳过发送','queryDingUser\x20请求失败:','body','queryDingUser\x20接口返回错误:\x20errcode=','1119308xiKwXD','2ewYpSx','GET','stringify','Bash','errcode','**[','request','sleep','WebFetch','object','TaskUpdate','TaskOutput','未能获取机器人信息发送途径','queryUserIdByMobile\x20API\x20返回非200:\x20status=','json','join','errmsg','POST','data','fetchQuotedMessage','4022605FLOEyG','length','sendDingMessage','https://api.dingtalk.com','content'];a9_0x42be=function(){return _0x4ec0fc;};return a9_0x42be();}const TOOL_TAGS=[a9_0x4c5be1(0xa3),a9_0x4c5be1(0x98),a9_0x4c5be1(0xa4),a9_0x4c5be1(0xb1),'Grep','Glob',a9_0x4c5be1(0xd0),a9_0x4c5be1(0xa7),a9_0x4c5be1(0xb6),a9_0x4c5be1(0x8a),a9_0x4c5be1(0xb9),'AskUserQuestion','EnterPlanMode',a9_0x4c5be1(0x95),a9_0x4c5be1(0x87),a9_0x4c5be1(0xcd),a9_0x4c5be1(0xb8),'TaskList',a9_0x4c5be1(0xc8),a9_0x4c5be1(0x9b),a9_0x4c5be1(0x91),a9_0x4c5be1(0xca),'CronList',a9_0x4c5be1(0xc7),a9_0x4c5be1(0x8d)]['join']('|'),TOOL_USE_SELF_CLOSE_RE=new RegExp('<('+TOOL_TAGS+a9_0x4c5be1(0xa6),'g'),TOOL_USE_OPEN_CLOSE_RE=new RegExp('<('+TOOL_TAGS+a9_0x4c5be1(0x92),'g'),MULTI_NEWLINE_RE=/\n{3,}/g;function filterToolUseContent(_0x330828){const _0x1d337c=a9_0x4c5be1;let _0xc7cd46=_0x330828[_0x1d337c(0x90)](TOOL_USE_SELF_CLOSE_RE,'');return _0xc7cd46=_0xc7cd46[_0x1d337c(0x90)](TOOL_USE_OPEN_CLOSE_RE,''),_0xc7cd46=_0xc7cd46[_0x1d337c(0x90)](MULTI_NEWLINE_RE,'\x0a\x0a'),_0xc7cd46[_0x1d337c(0xcc)]();}function splitMessage(_0x1107b0,_0x5a3a7b){const _0x492d4a=a9_0x4c5be1,_0x41fa65=[];while(_0x1107b0[_0x492d4a(0xc3)]>_0x5a3a7b){let _0x495c05=_0x1107b0['lastIndexOf']('\x0a',_0x5a3a7b);(_0x495c05===-0x1||_0x495c05<_0x5a3a7b*0.5)&&(_0x495c05=_0x1107b0['lastIndexOf']('。',_0x5a3a7b)),(_0x495c05===-0x1||_0x495c05<_0x5a3a7b*0.5)&&(_0x495c05=_0x1107b0[_0x492d4a(0x99)]('\x20',_0x5a3a7b)),_0x495c05===-0x1||_0x495c05<_0x5a3a7b*0.5?_0x495c05=_0x5a3a7b:_0x495c05+=0x1,_0x41fa65['push'](_0x1107b0[_0x492d4a(0x94)](0x0,_0x495c05)[_0x492d4a(0xcc)]()),_0x1107b0=_0x1107b0[_0x492d4a(0x94)](_0x495c05)[_0x492d4a(0xcc)]();}return _0x1107b0[_0x492d4a(0xc3)]>0x0&&_0x41fa65[_0x492d4a(0x9d)](_0x1107b0),_0x41fa65;}async function sendDingMessage(_0xc75f64,_0x16dc90){const _0x27164e=a9_0x4c5be1,{conversationId:_0x5b72e6,sessionWebhook:_0x1073b1,atUserId:_0x41667b,content:_0x1c2a2a,msgType:msgType='text'}=_0x16dc90,_0x579fbf=_0x41667b?[_0x41667b]:[],_0x523bb4=_0xc75f64['config'][_0x27164e(0x8b)]['find'](_0x45ad82=>_0x45ad82['conversationId']===_0x5b72e6),_0x1cf043=_0x523bb4?.['dingToken'],_0x57dcb3=msgType===_0x27164e(0xce)?{'msgtype':'markdown','markdown':{'title':_0x1c2a2a,'text':_0x1c2a2a},'at':{'atUserIds':_0x579fbf,'isAtAll':![]}}:{'msgtype':'text','text':{'content':_0x1c2a2a},'at':{'atUserIds':_0x579fbf,'isAtAll':![]}};if(_0x1cf043){const _0x276c3b=await _0xc75f64['dingStreamClient'][_0x27164e(0x88)](),_0x4ccde1=_0x27164e(0xd4)+_0x1cf043;try{await urllib_1[_0x27164e(0x97)]['request'](_0x4ccde1,{'method':'POST','data':_0x57dcb3,'contentType':_0x27164e(0xbc),'headers':{'x-acs-dingtalk-access-token':_0x276c3b},'dataType':_0x27164e(0xbc)});}catch(_0x502ad9){console['error']('通过\x20dingToken\x20发送钉钉消息失败:',_0x502ad9);}}else{if(_0x1073b1){const _0x28d4c3=await _0xc75f64[_0x27164e(0xde)][_0x27164e(0x88)]();try{await urllib_1['default'][_0x27164e(0xb4)](_0x1073b1,{'method':_0x27164e(0xbf),'data':_0x57dcb3,'contentType':_0x27164e(0xbc),'headers':{'x-acs-dingtalk-access-token':_0x28d4c3},'dataType':_0x27164e(0xbc)});}catch(_0xad9600){console[_0x27164e(0x9a)](_0x27164e(0x8f),_0xad9600);}}else{if(_0xc75f64[_0x27164e(0xcf)][_0x27164e(0x84)]){const _0x365fb5=await _0xc75f64['dingStreamClient'][_0x27164e(0x88)](),_0x5d597e='https://oapi.dingtalk.com/robot/send?access_token='+_0xc75f64[_0x27164e(0xcf)][_0x27164e(0x84)];try{await urllib_1['default'][_0x27164e(0xb4)](_0x5d597e,{'method':_0x27164e(0xbf),'data':_0x57dcb3,'contentType':_0x27164e(0xbc),'headers':{'x-acs-dingtalk-access-token':_0x365fb5},'dataType':'json'});}catch(_0x901c3f){console['error'](_0x27164e(0xd9),_0x901c3f);}}else console['error'](_0x27164e(0xba));}}}async function sendClaudeResponseToDing(_0x32f729,_0x1e41c3,_0x3fa6af,_0x21ee10,_0x6240ff){const _0x2ccbbe=a9_0x4c5be1,_0x40c3b8=0x4650,_0x40216c=filterToolUseContent(_0x6240ff);if(!_0x40216c){_0x32f729[_0x2ccbbe(0xa2)](_0x2ccbbe(0xa9));return;}if(_0x40216c[_0x2ccbbe(0xc3)]<=_0x40c3b8)await sendDingMessage(_0x32f729,{'conversationId':_0x1e41c3,'sessionWebhook':_0x3fa6af,'atUserId':_0x21ee10,'content':_0x40216c,'msgType':_0x2ccbbe(0xce)});else{const _0x493a74=splitMessage(_0x40216c,_0x40c3b8);for(let _0x3d6ce9=0x0;_0x3d6ce9<_0x493a74['length'];_0x3d6ce9++){const _0x2221e3=_0x493a74[_0x2ccbbe(0xc3)]>0x1?_0x2ccbbe(0xb3)+(_0x3d6ce9+0x1)+'/'+_0x493a74['length']+']**\x0a':'';await sendDingMessage(_0x32f729,{'conversationId':_0x1e41c3,'sessionWebhook':_0x3fa6af,'atUserId':_0x3d6ce9===_0x493a74[_0x2ccbbe(0xc3)]-0x1?_0x21ee10:'','content':_0x2221e3+_0x493a74[_0x3d6ce9],'msgType':_0x2ccbbe(0xce)}),_0x3d6ce9<_0x493a74[_0x2ccbbe(0xc3)]-0x1&&await utils_ok_1[_0x2ccbbe(0xd7)][_0x2ccbbe(0xb5)](0x1f4);}}}
|
|
1
|
+
'use strict';const a9_0x192281=a9_0x3698;(function(_0x135970,_0x2ebc65){const _0x42604f=a9_0x3698,_0x7f376f=_0x135970();while(!![]){try{const _0x1ad12f=-parseInt(_0x42604f(0x1d8))/0x1*(-parseInt(_0x42604f(0x1ad))/0x2)+parseInt(_0x42604f(0x1e3))/0x3*(-parseInt(_0x42604f(0x1ca))/0x4)+parseInt(_0x42604f(0x1f0))/0x5+-parseInt(_0x42604f(0x1ed))/0x6*(-parseInt(_0x42604f(0x1e0))/0x7)+-parseInt(_0x42604f(0x1af))/0x8*(parseInt(_0x42604f(0x1b9))/0x9)+-parseInt(_0x42604f(0x1ea))/0xa+parseInt(_0x42604f(0x1f9))/0xb*(parseInt(_0x42604f(0x1bb))/0xc);if(_0x1ad12f===_0x2ebc65)break;else _0x7f376f['push'](_0x7f376f['shift']());}catch(_0x13e31a){_0x7f376f['push'](_0x7f376f['shift']());}}}(a9_0xd309,0x93902));var __importDefault=this&&this['__importDefault']||function(_0x3519f3){const _0x524b5d=a9_0x3698;return _0x3519f3&&_0x3519f3[_0x524b5d(0x1d5)]?_0x3519f3:{'default':_0x3519f3};};Object[a9_0x192281(0x1ec)](exports,a9_0x192281(0x1d5),{'value':!![]}),exports[a9_0x192281(0x1b2)]=fetchQuotedMessage,exports[a9_0x192281(0x1ae)]=queryDingUser,exports[a9_0x192281(0x1a8)]=queryUserIdByMobile,exports[a9_0x192281(0x1d1)]=filterToolUseContent,exports[a9_0x192281(0x1c3)]=splitMessage,exports['sendDingMessage']=sendDingMessage,exports[a9_0x192281(0x1e4)]=sendClaudeResponseToDing;const utils_ok_1=require(a9_0x192281(0x1d0)),urllib_1=__importDefault(require('urllib')),DING_API_BASE=a9_0x192281(0x1bc),DING_OAPI_BASE=a9_0x192281(0x1b0);async function fetchQuotedMessage(_0x53442f,_0x340496){const _0x2e10e5=a9_0x192281;try{const _0x15ab06=await _0x53442f[_0x2e10e5(0x1c7)][_0x2e10e5(0x202)](),_0x9ddb17=DING_API_BASE+'/v1.0/im/api/messages/'+encodeURIComponent(_0x340496),_0x2a928e=await urllib_1[_0x2e10e5(0x1db)][_0x2e10e5(0x1f4)](_0x9ddb17,{'method':_0x2e10e5(0x1da),'headers':{'x-acs-dingtalk-access-token':_0x15ab06},'dataType':_0x2e10e5(0x1dd),'timeout':0x1388});if(_0x2a928e[_0x2e10e5(0x1f3)]!==0xc8||!_0x2a928e[_0x2e10e5(0x1df)])return _0x53442f[_0x2e10e5(0x1e9)](_0x2e10e5(0x1ab)+_0x2a928e[_0x2e10e5(0x1f3)]+',\x20data='+JSON[_0x2e10e5(0x1eb)](_0x2a928e[_0x2e10e5(0x1df)])),null;const _0x307cb6=_0x2a928e[_0x2e10e5(0x1df)];if(_0x307cb6['text']&&typeof _0x307cb6[_0x2e10e5(0x1be)]==='object'){const _0x2dc492=_0x307cb6[_0x2e10e5(0x1be)]['content'];if(typeof _0x2dc492===_0x2e10e5(0x1ff)&&_0x2dc492)return _0x2dc492['trim']();}if(typeof _0x307cb6['content']===_0x2e10e5(0x1ff)&&_0x307cb6['content'])try{const _0x29ddd3=JSON['parse'](_0x307cb6[_0x2e10e5(0x204)]);if(typeof _0x29ddd3===_0x2e10e5(0x1ff))return _0x29ddd3[_0x2e10e5(0x1bf)]();if(_0x29ddd3['text'])return String(_0x29ddd3['text'])[_0x2e10e5(0x1bf)]();if(_0x29ddd3['content'])return String(_0x29ddd3[_0x2e10e5(0x204)])[_0x2e10e5(0x1bf)]();}catch{return _0x307cb6['content'][_0x2e10e5(0x1bf)]();}if(_0x307cb6[_0x2e10e5(0x1cc)]&&typeof _0x307cb6[_0x2e10e5(0x1cc)]==='object'){const _0x199d0b=_0x307cb6[_0x2e10e5(0x1cc)];if(typeof _0x199d0b[_0x2e10e5(0x204)]===_0x2e10e5(0x1ff)&&_0x199d0b[_0x2e10e5(0x204)])return _0x199d0b[_0x2e10e5(0x204)]['trim']();}return _0x53442f[_0x2e10e5(0x1e9)](_0x2e10e5(0x1e7)+Object[_0x2e10e5(0x200)](_0x307cb6)['join'](',')),null;}catch(_0x10e856){return console[_0x2e10e5(0x1c2)]('fetchQuotedMessage\x20请求失败:',_0x10e856),null;}}async function queryDingUser(_0x5912e3,_0x3ba1ea){const _0x2cac73=a9_0x192281;try{const _0x4f58ae=await _0x5912e3[_0x2cac73(0x1c7)]['getAccessToken'](),_0x2229be=DING_OAPI_BASE+_0x2cac73(0x1e2)+_0x4f58ae,_0x2be740=await urllib_1[_0x2cac73(0x1db)]['request'](_0x2229be,{'method':_0x2cac73(0x1b5),'data':{'userid':_0x3ba1ea},'contentType':_0x2cac73(0x1dd),'dataType':_0x2cac73(0x1dd),'timeout':0x1388});if(_0x2be740['status']!==0xc8||!_0x2be740[_0x2cac73(0x1df)])return _0x5912e3[_0x2cac73(0x1e9)]('queryDingUser\x20API\x20返回非200:\x20status='+_0x2be740[_0x2cac73(0x1f3)]+_0x2cac73(0x1ef)+JSON[_0x2cac73(0x1eb)](_0x2be740['data'])),null;const _0x2cf51b=_0x2be740['data'];if(_0x2cf51b[_0x2cac73(0x1bd)]!==0x0)return console[_0x2cac73(0x1c2)](_0x2cac73(0x1b4)+_0x2cf51b[_0x2cac73(0x1bd)]+_0x2cac73(0x1f5)+_0x2cf51b[_0x2cac73(0x1b6)]),null;return _0x2cf51b[_0x2cac73(0x1cb)]||null;}catch(_0x323e7b){return console['warn'](_0x2cac73(0x1f7),_0x323e7b),null;}}async function queryUserIdByMobile(_0x327e08,_0x2b838f){const _0xb9a0cc=a9_0x192281;try{const _0x382e99=await _0x327e08[_0xb9a0cc(0x1c7)]['getAccessToken'](),_0x21873e=DING_OAPI_BASE+_0xb9a0cc(0x1ba)+_0x382e99,_0x1823e3=await urllib_1['default'][_0xb9a0cc(0x1f4)](_0x21873e,{'method':_0xb9a0cc(0x1b5),'data':{'mobile':_0x2b838f},'contentType':_0xb9a0cc(0x1dd),'dataType':_0xb9a0cc(0x1dd),'timeout':0x1388});if(_0x1823e3[_0xb9a0cc(0x1f3)]!==0xc8||!_0x1823e3[_0xb9a0cc(0x1df)])return _0x327e08[_0xb9a0cc(0x1e9)](_0xb9a0cc(0x1f8)+_0x1823e3[_0xb9a0cc(0x1f3)]+_0xb9a0cc(0x1ef)+JSON['stringify'](_0x1823e3[_0xb9a0cc(0x1df)])),null;const _0x155e88=_0x1823e3['data'];if(_0x155e88['errcode']!==0x0)return console[_0xb9a0cc(0x1c2)](_0xb9a0cc(0x1ce)+_0x155e88[_0xb9a0cc(0x1bd)]+_0xb9a0cc(0x1f5)+_0x155e88[_0xb9a0cc(0x1b6)]),null;const _0x45a0a0=_0x155e88[_0xb9a0cc(0x1cb)];return _0x45a0a0?.[_0xb9a0cc(0x1f1)]||null;}catch(_0x152b52){return console['warn'](_0xb9a0cc(0x1ee),_0x152b52),null;}}const TOOL_TAGS=['Write',a9_0x192281(0x1f6),'Edit',a9_0x192281(0x1fe),a9_0x192281(0x1aa),'Glob',a9_0x192281(0x1cf),a9_0x192281(0x1c8),'WebFetch',a9_0x192281(0x1dc),a9_0x192281(0x1d7),a9_0x192281(0x1d9),a9_0x192281(0x1b1),'ExitPlanMode',a9_0x192281(0x203),a9_0x192281(0x1d6),a9_0x192281(0x1c0),a9_0x192281(0x1c6),a9_0x192281(0x1b7),a9_0x192281(0x1fd),'CronCreate',a9_0x192281(0x1e6),a9_0x192281(0x1a9),a9_0x192281(0x1c4),a9_0x192281(0x1c1)][a9_0x192281(0x1b3)]('|'),TOOL_USE_SELF_CLOSE_RE=new RegExp('<('+TOOL_TAGS+')[^>]*\x5c/>','g'),TOOL_USE_OPEN_CLOSE_RE=new RegExp('<('+TOOL_TAGS+a9_0x192281(0x1c9),'g'),MULTI_NEWLINE_RE=/\n{3,}/g;function filterToolUseContent(_0x52aafa){const _0x323003=a9_0x192281;let _0x5bf2ab=_0x52aafa[_0x323003(0x201)](TOOL_USE_SELF_CLOSE_RE,'');return _0x5bf2ab=_0x5bf2ab[_0x323003(0x201)](TOOL_USE_OPEN_CLOSE_RE,''),_0x5bf2ab=_0x5bf2ab[_0x323003(0x201)](MULTI_NEWLINE_RE,'\x0a\x0a'),_0x5bf2ab[_0x323003(0x1bf)]();}function splitMessage(_0x32bd4c,_0x4aac76){const _0x1ad41a=a9_0x192281,_0x56bda6=[];while(_0x32bd4c[_0x1ad41a(0x1fb)]>_0x4aac76){let _0x5ca7fa=_0x32bd4c[_0x1ad41a(0x1d2)]('\x0a',_0x4aac76);(_0x5ca7fa===-0x1||_0x5ca7fa<_0x4aac76*0.5)&&(_0x5ca7fa=_0x32bd4c[_0x1ad41a(0x1d2)]('。',_0x4aac76)),(_0x5ca7fa===-0x1||_0x5ca7fa<_0x4aac76*0.5)&&(_0x5ca7fa=_0x32bd4c[_0x1ad41a(0x1d2)]('\x20',_0x4aac76)),_0x5ca7fa===-0x1||_0x5ca7fa<_0x4aac76*0.5?_0x5ca7fa=_0x4aac76:_0x5ca7fa+=0x1,_0x56bda6['push'](_0x32bd4c[_0x1ad41a(0x1fa)](0x0,_0x5ca7fa)[_0x1ad41a(0x1bf)]()),_0x32bd4c=_0x32bd4c[_0x1ad41a(0x1fa)](_0x5ca7fa)[_0x1ad41a(0x1bf)]();}return _0x32bd4c['length']>0x0&&_0x56bda6[_0x1ad41a(0x1f2)](_0x32bd4c),_0x56bda6;}function a9_0xd309(){const _0x126894=['warn','splitMessage','LSP','https://oapi.dingtalk.com/robot/send?access_token=','TaskList','dingStreamClient','Skill',')[^>]*>[\x5cs\x5cS]*?<\x5c/\x5c1>','148doMUJj','result','body','conversationId','queryUserIdByMobile\x20接口返回错误:\x20errcode=','Agent','utils-ok','filterToolUseContent','lastIndexOf','config','find','__esModule','TaskGet','TaskOutput','397EMhzut','AskUserQuestion','GET','default','WebSearch','json','通过\x20sessionWebhook\x20发送钉钉消息失败:','data','2086KltCXe','baseUtil','/topapi/v2/user/get?access_token=','40557DEfCet','sendClaudeResponseToDing','通过\x20dingToken\x20发送钉钉消息失败:','CronDelete','fetchQuotedMessage\x20无法从响应中提取文本:\x20keys=','markdown','debugLog','4471100vcJnVM','stringify','defineProperty','22662YsYwgr','queryUserIdByMobile\x20请求失败:',',\x20data=','613730mmbkCf','userid','push','status','request',',\x20errmsg=','Read','queryDingUser\x20请求失败:','queryUserIdByMobile\x20API\x20返回非200:\x20status=','10168565YNUhUQ','substring','length','error','ExitWorktree','Bash','string','keys','replace','getAccessToken','TaskCreate','content','queryUserIdByMobile','CronList','Grep','fetchQuotedMessage\x20API\x20返回非200:\x20status=','conversations','914lSlueL','queryDingUser','6419240JYzkcV','https://oapi.dingtalk.com','EnterPlanMode','fetchQuotedMessage','join','queryDingUser\x20接口返回错误:\x20errcode=','POST','errmsg','EnterWorktree',']**\x0a','9lQMsiT','/topapi/v2/user/getbymobile?access_token=','12bIOFEe','https://api.dingtalk.com','errcode','text','trim','TaskUpdate','NotebookEdit'];a9_0xd309=function(){return _0x126894;};return a9_0xd309();}function a9_0x3698(_0x2a4f0b,_0x147cc7){_0x2a4f0b=_0x2a4f0b-0x1a8;const _0xd30918=a9_0xd309();let _0x3698a1=_0xd30918[_0x2a4f0b];return _0x3698a1;}async function sendDingMessage(_0x14f6d4,_0x154878){const _0x50cdce=a9_0x192281,{conversationId:_0x5d40d1,sessionWebhook:_0x2352ae,atUserId:_0x4fcead,content:_0x42d292,msgType:msgType=_0x50cdce(0x1be)}=_0x154878,_0x580395=_0x14f6d4[_0x50cdce(0x1d3)][_0x50cdce(0x1ac)][_0x50cdce(0x1d4)](_0x22087e=>_0x22087e[_0x50cdce(0x1cd)]===_0x5d40d1);let _0x42af10=_0x4fcead;_0x580395?.['atSender']===![]&&(_0x42af10=undefined);const _0x31fad1=_0x42af10?[_0x42af10]:[],_0x479a39=_0x580395?.['dingToken'];let _0x13c84e=_0x42d292;_0x42af10&&msgType===_0x50cdce(0x1e8)&&(_0x13c84e=_0x42d292+'\x0a@'+_0x42af10);const _0x5c9a5f=msgType==='markdown'?{'msgtype':_0x50cdce(0x1e8),'markdown':{'title':_0x13c84e,'text':_0x13c84e},'at':{'atUserIds':_0x31fad1,'isAtAll':![]}}:{'msgtype':_0x50cdce(0x1be),'text':{'content':_0x42d292},'at':{'atUserIds':_0x31fad1,'isAtAll':![]}};if(_0x479a39){const _0x11f2d3=await _0x14f6d4[_0x50cdce(0x1c7)][_0x50cdce(0x202)](),_0x250ad3=_0x50cdce(0x1c5)+_0x479a39;try{await urllib_1[_0x50cdce(0x1db)][_0x50cdce(0x1f4)](_0x250ad3,{'method':_0x50cdce(0x1b5),'data':_0x5c9a5f,'contentType':_0x50cdce(0x1dd),'headers':{'x-acs-dingtalk-access-token':_0x11f2d3},'dataType':_0x50cdce(0x1dd)});}catch(_0x2887e5){console['error'](_0x50cdce(0x1e5),_0x2887e5);}}else{if(_0x2352ae){const _0x34199b=await _0x14f6d4['dingStreamClient']['getAccessToken']();try{await urllib_1['default'][_0x50cdce(0x1f4)](_0x2352ae,{'method':_0x50cdce(0x1b5),'data':_0x5c9a5f,'contentType':_0x50cdce(0x1dd),'headers':{'x-acs-dingtalk-access-token':_0x34199b},'dataType':'json'});}catch(_0x3a5190){console[_0x50cdce(0x1fc)](_0x50cdce(0x1de),_0x3a5190);}}else{if(_0x14f6d4[_0x50cdce(0x1d3)]['defaultDingToken']){const _0xa9f9cf=await _0x14f6d4[_0x50cdce(0x1c7)]['getAccessToken'](),_0x11d2fc=_0x50cdce(0x1c5)+_0x14f6d4[_0x50cdce(0x1d3)]['defaultDingToken'];try{await urllib_1[_0x50cdce(0x1db)][_0x50cdce(0x1f4)](_0x11d2fc,{'method':'POST','data':_0x5c9a5f,'contentType':_0x50cdce(0x1dd),'headers':{'x-acs-dingtalk-access-token':_0xa9f9cf},'dataType':_0x50cdce(0x1dd)});}catch(_0x418da1){console[_0x50cdce(0x1fc)]('通过\x20defaultDingToken\x20发送钉钉消息失败:',_0x418da1);}}else console[_0x50cdce(0x1fc)]('未能获取机器人信息发送途径');}}}async function sendClaudeResponseToDing(_0x483493,_0x2f3398,_0x15ffe6,_0x32c8db,_0x2e80cc){const _0x3210bb=a9_0x192281,_0x2ebeb7=0x4650,_0x4b9439=filterToolUseContent(_0x2e80cc);if(!_0x4b9439){_0x483493[_0x3210bb(0x1e9)]('过滤后内容为空,跳过发送');return;}if(_0x4b9439[_0x3210bb(0x1fb)]<=_0x2ebeb7)await sendDingMessage(_0x483493,{'conversationId':_0x2f3398,'sessionWebhook':_0x15ffe6,'atUserId':_0x32c8db,'content':_0x4b9439,'msgType':_0x3210bb(0x1e8)});else{const _0x3dd20a=splitMessage(_0x4b9439,_0x2ebeb7);for(let _0x87a3e2=0x0;_0x87a3e2<_0x3dd20a[_0x3210bb(0x1fb)];_0x87a3e2++){const _0xae5182=_0x3dd20a['length']>0x1?'**['+(_0x87a3e2+0x1)+'/'+_0x3dd20a[_0x3210bb(0x1fb)]+_0x3210bb(0x1b8):'';await sendDingMessage(_0x483493,{'conversationId':_0x2f3398,'sessionWebhook':_0x15ffe6,'atUserId':_0x87a3e2===_0x3dd20a[_0x3210bb(0x1fb)]-0x1?_0x32c8db:'','content':_0xae5182+_0x3dd20a[_0x87a3e2],'msgType':_0x3210bb(0x1e8)}),_0x87a3e2<_0x3dd20a['length']-0x1&&await utils_ok_1[_0x3210bb(0x1e1)]['sleep'](0x1f4);}}}
|
package/dist/src/biz/quote.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a10_0x3a8d08=a10_0x5e06;function a10_0x5e06(_0x391798,_0xf7429a){_0x391798=_0x391798-0x6a;const _0x320340=a10_0x3203();let _0x5e0641=_0x320340[_0x391798];return _0x5e0641;}function a10_0x3203(){const _0x12a27a=['__esModule','repliedMsg','content','\x20──\x0a','132718wEtqeg','6VrthBD','5cPzJoy','6804336HodtEs','defineProperty','4833672AasOFo','5799774NQlHWu','──\x20引用消息','text','\x20(来自:\x20','1388260CQzqnf','quoteText','quoteSenderNick','479919DMxTGb','string','trim','extractQuoteInfo','msgId','8361765FGmxeq'];a10_0x3203=function(){return _0x12a27a;};return a10_0x3203();}(function(_0x1333e6,_0x138f85){const _0x400d12=a10_0x5e06,_0x3d2586=_0x1333e6();while(!![]){try{const _0x570dd5=parseInt(_0x400d12(0x7e))/0x1*(parseInt(_0x400d12(0x7f))/0x2)+parseInt(_0x400d12(0x74))/0x3+-parseInt(_0x400d12(0x71))/0x4*(-parseInt(_0x400d12(0x80))/0x5)+-parseInt(_0x400d12(0x6d))/0x6+parseInt(_0x400d12(0x6a))/0x7+parseInt(_0x400d12(0x6c))/0x8+-parseInt(_0x400d12(0x79))/0x9;if(_0x570dd5===_0x138f85)break;else _0x3d2586['push'](_0x3d2586['shift']());}catch(_0x4ad130){_0x3d2586['push'](_0x3d2586['shift']());}}}(a10_0x3203,0x8f007));Object[a10_0x3a8d08(0x6b)](exports,a10_0x3a8d08(0x7a),{'value':!![]}),exports[a10_0x3a8d08(0x77)]=extractQuoteInfo,exports['formatPromptWithQuote']=formatPromptWithQuote;function extractQuoteInfo(_0x101841){const _0x211bfc=a10_0x3a8d08,_0x1bde51=_0x101841[_0x211bfc(0x6f)];if(!_0x1bde51?.['repliedMsg'])return null;const _0x4c62a9=_0x1bde51[_0x211bfc(0x7b)];let _0x99e3a6='';const _0x49ef45=_0x4c62a9[_0x211bfc(0x78)],_0x6eaeb3=_0x4c62a9['senderNick'];if(_0x4c62a9[_0x211bfc(0x7c)]){if(typeof _0x4c62a9[_0x211bfc(0x7c)][_0x211bfc(0x6f)]===_0x211bfc(0x75))_0x99e3a6=_0x4c62a9[_0x211bfc(0x7c)][_0x211bfc(0x6f)][_0x211bfc(0x76)]();else typeof _0x4c62a9['content']===_0x211bfc(0x75)&&(_0x99e3a6=_0x4c62a9[_0x211bfc(0x7c)][_0x211bfc(0x76)]());}if(!_0x99e3a6&&!_0x49ef45)return null;return{'quoteText':_0x99e3a6,'quoteMessageId':_0x49ef45,'quoteSenderNick':_0x6eaeb3};}function formatPromptWithQuote(_0x95b90a,_0x1f021c){const _0x1ba70d=a10_0x3a8d08;if(!_0x1f021c[_0x1ba70d(0x72)])return _0x95b90a;const _0x163201=_0x1f021c['quoteSenderNick']?_0x1ba70d(0x70)+_0x1f021c[_0x1ba70d(0x73)]+')':'';return _0x1ba70d(0x6e)+_0x163201+_0x1ba70d(0x7d)+_0x1f021c[_0x1ba70d(0x72)]+'\x0a──\x20引用结束\x20──\x0a\x0a'+_0x95b90a;}
|