cc-ding 0.0.1

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/README.md ADDED
@@ -0,0 +1,10 @@
1
+ # cc-ding
2
+
3
+ 钉钉机器人对接本地Claude工具
4
+
5
+ ## usage
6
+
7
+ ```bash
8
+ npm i cc-ding -g
9
+ cc-ding --help
10
+ ```
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';const a0_0x959a85=a0_0x22da;function a0_0x22da(_0x291b82,_0x5cbb21){_0x291b82=_0x291b82-0x1a4;const _0x170085=a0_0x1700();let _0x22daa1=_0x170085[_0x291b82];return _0x22daa1;}(function(_0xab15a3,_0x2967ce){const _0x4d4d28=a0_0x22da,_0x1c009b=_0xab15a3();while(!![]){try{const _0x46d3ae=-parseInt(_0x4d4d28(0x1be))/0x1*(parseInt(_0x4d4d28(0x1db))/0x2)+parseInt(_0x4d4d28(0x1a6))/0x3*(-parseInt(_0x4d4d28(0x1d3))/0x4)+-parseInt(_0x4d4d28(0x1c9))/0x5*(parseInt(_0x4d4d28(0x1e4))/0x6)+-parseInt(_0x4d4d28(0x1b5))/0x7*(parseInt(_0x4d4d28(0x1a4))/0x8)+parseInt(_0x4d4d28(0x1b7))/0x9*(-parseInt(_0x4d4d28(0x1b6))/0xa)+-parseInt(_0x4d4d28(0x1c5))/0xb*(parseInt(_0x4d4d28(0x1e5))/0xc)+-parseInt(_0x4d4d28(0x1ec))/0xd*(-parseInt(_0x4d4d28(0x1d6))/0xe);if(_0x46d3ae===_0x2967ce)break;else _0x1c009b['push'](_0x1c009b['shift']());}catch(_0x4af118){_0x1c009b['push'](_0x1c009b['shift']());}}}(a0_0x1700,0x77413));var __importDefault=this&&this[a0_0x959a85(0x1ba)]||function(_0x4a3471){const _0x4cd8d3=a0_0x959a85;return _0x4a3471&&_0x4a3471[_0x4cd8d3(0x1cf)]?_0x4a3471:{'default':_0x4a3471};};function a0_0x1700(){const _0x15b9cf=['136080ANPHeS','20KEjBEe','1061946ckgvAm','clientSecret','exit','__importDefault','removeAllListeners','-ci,\x20--clientId\x20<value>','<兜底钉钉机器人Token-用于无dingToken群的消息接收>','3231aqwALx','initClientDir','DingClaude','<群成员工号2>','userId\x20(自己的工号,\x20自动加入白名单)','clientName\x20(机器人名称,\x20可选)','../src/biz/cc-ding-cli','7777JHdawN','\x20\x20当前版本:','单聊-个人助手(建议只给自己授权)','doctor','28010CTekBx','action','后续步骤:','defineProperty','option','run','__esModule','argv','warning','userId','68NxpmYD','../src/biz/doctor','setMaxListeners','145894Avvkov','\x20\x202.\x20启动机器人:\x20cc-ding\x20run\x20-ci','runDoctor','\x22\x20npx\x20--\x20-p\x20cc-ding\x20cc-ding\x20run\x20-ci\x20','-cn,\x20--clientName\x20<value>','478ZCSCss','clientSecret\x20(钉钉Stream连接密钥)','slice','工作群(AI提效)','acquirePidLock','path','\x0a💡\x20请升级\x20Node\x20版本后重新运行\x0a','<群聊机器人dingToken>','parse','234DHkqAD','1128fnTxoQ','version','description','init','loadEnv','-ds,\x20--dingSecret\x20<value>','command','3367HdcWrq','clientName','log','uncaughtException','\x20\x203.\x20推荐PM2启动:','\x0a\x20\x20\x20\x20cc-ding\x20for\x20connect\x20ClaudeCode\x20to\x20DingDingRobot\x0a\x20\x20','clientId','<单聊conversationId>','printDoctorResults','-uid,\x20--userId\x20<value>','default','join','\x20\x201.\x20编辑\x20config.json\x20添加更多工号到\x20whiteUserList','/.anycli/cc-ding/','\x20\x20\x20\x20\x20pm2\x20start\x20--name\x20\x22cc-ding-','after','272QolEEU','addHelpText','45261mgSxxV','dingSecret','projUtil','检查指定client的配置文件schema合法性和有效性','getPkgVersion','Command','../src/common','dingSecret\x20(钉钉签名密钥)','../src/biz/lock','<群聊conversationId>','getHomeDir','requiredOption','.cc-ding','配置文件已生成:','\x0a❌\x20Node\x20版本过低,无法执行\x20init\x20命令'];a0_0x1700=function(){return _0x15b9cf;};return a0_0x1700();}Object[a0_0x959a85(0x1cc)](exports,a0_0x959a85(0x1cf),{'value':!![]});const common_1=require(a0_0x959a85(0x1ac)),commander_1=require('commander'),session_1=require('../src/biz/session'),path_1=__importDefault(require(a0_0x959a85(0x1e0))),cc_ding_cli_1=require(a0_0x959a85(0x1c4)),lock_1=require(a0_0x959a85(0x1ae)),doctor_1=require(a0_0x959a85(0x1d4)),fs_1=__importDefault(require('fs'));(0x0,common_1[a0_0x959a85(0x1e9)])(),process[a0_0x959a85(0x1bb)](a0_0x959a85(0x1d1)),process[a0_0x959a85(0x1d5)](0x0),process['on'](a0_0x959a85(0x1ef),function(_0x41a1b3){const _0x5081dc=a0_0x959a85;console['log']('Caught\x20exception:\x20'+_0x41a1b3),process[_0x5081dc(0x1b9)](0x1);});const program=new commander_1[(a0_0x959a85(0x1ab))]();program[a0_0x959a85(0x1a5)]('before',a0_0x959a85(0x1f1))['addHelpText'](a0_0x959a85(0x1fb),'\x0aExamples:\x0a\x20\x20$\x20cc-ding\x20init\x20-ci\x20{clientId}\x0a\x20\x20$\x20cc-ding\x20run\x20-ci\x20{clientId}\x0a')['version']((0x0,common_1[a0_0x959a85(0x1a8)])()[a0_0x959a85(0x1aa)]()),program['command'](a0_0x959a85(0x1e8))[a0_0x959a85(0x1e7)]('初始化cc-ding配置文件,\x20生成最简config.json')[a0_0x959a85(0x1b1)](a0_0x959a85(0x1bc),a0_0x959a85(0x1f2))['requiredOption']('-cs,\x20--clientSecret\x20<value>',a0_0x959a85(0x1dc))[a0_0x959a85(0x1b1)](a0_0x959a85(0x1ea),a0_0x959a85(0x1ad))[a0_0x959a85(0x1b1)](a0_0x959a85(0x1f5),a0_0x959a85(0x1c2))[a0_0x959a85(0x1cd)](a0_0x959a85(0x1da),a0_0x959a85(0x1c3))[a0_0x959a85(0x1ca)](async _0x1f0b2a=>{const _0x354a9f=a0_0x959a85,_0x361e65=process[_0x354a9f(0x1e6)][_0x354a9f(0x1dd)](0x1),_0x575952=parseInt(_0x361e65['split']('.')[0x0],0xa);_0x575952<0x18&&(console[_0x354a9f(0x1ee)](_0x354a9f(0x1b4)),console['log'](_0x354a9f(0x1c6)+_0x361e65),console[_0x354a9f(0x1ee)]('\x20\x20要求:Node\x20>=\x2024'),console[_0x354a9f(0x1ee)](_0x354a9f(0x1e1)),process['exit'](0x1));const _0x4ca06f=(0x0,session_1[_0x354a9f(0x1b0)])()+_0x354a9f(0x1f9)+_0x1f0b2a[_0x354a9f(0x1f2)],_0x183f89=_0x4ca06f+'/config.json';fs_1[_0x354a9f(0x1f6)]['existsSync'](_0x183f89)&&(console[_0x354a9f(0x1ee)]('配置文件已存在:\x20'+_0x183f89),console[_0x354a9f(0x1ee)]('如需重新初始化,\x20请先删除已有配置文件'),process[_0x354a9f(0x1b9)](0x1));const _0x542bac={'clientName':_0x1f0b2a[_0x354a9f(0x1ed)]||'cc助手','whiteUserList':[_0x1f0b2a[_0x354a9f(0x1d2)]],'clientSecret':_0x1f0b2a[_0x354a9f(0x1b8)],'dingSecret':_0x1f0b2a[_0x354a9f(0x1a7)],'defaultDingToken':_0x354a9f(0x1bd),'conversations':[{'conversationTitle':_0x354a9f(0x1c7),'conversationId':_0x354a9f(0x1f3),'whiteUserList':[_0x1f0b2a['userId']],'sessionCfg':{},'useLocalOcr':!![]},{'conversationTitle':_0x354a9f(0x1de),'conversationId':_0x354a9f(0x1af),'dingToken':_0x354a9f(0x1e2),'whiteUserList':[_0x1f0b2a['userId'],_0x354a9f(0x1c1)],'sessionCfg':{}}],'includeThinking':![],'resultOnly':!![],'debug':![],'taskQueueSize':0xa,'taskHandlerCount':0x1,'sessionMaxConcurrency':0x14};(0x0,session_1[_0x354a9f(0x1bf)])(_0x1f0b2a['clientId'],_0x542bac),console[_0x354a9f(0x1ee)](_0x354a9f(0x1b3),_0x183f89),console[_0x354a9f(0x1ee)](''),console[_0x354a9f(0x1ee)](_0x354a9f(0x1cb)),console[_0x354a9f(0x1ee)](_0x354a9f(0x1f8)),console[_0x354a9f(0x1ee)](_0x354a9f(0x1d7),_0x1f0b2a[_0x354a9f(0x1f2)]),console[_0x354a9f(0x1ee)](_0x354a9f(0x1f0)),console[_0x354a9f(0x1ee)](_0x354a9f(0x1fa)+_0x1f0b2a[_0x354a9f(0x1f2)]+_0x354a9f(0x1d9)+_0x1f0b2a[_0x354a9f(0x1f2)]);}),program[a0_0x959a85(0x1eb)](a0_0x959a85(0x1ce))[a0_0x959a85(0x1e7)]('\x0a\x20\x20\x20\x20\x20\x20\x20\x20-\x20功能:\x20钉钉机器人对接本地Claude,\x20支持会话模式和任务队列模式\x0a\x20\x20\x20\x20\x20\x20\x20\x20-\x20会话数据路径:\x20~/.cc-ding/{clientId}/{MD5}/.sessions/{claudeSessionId}/session.{json|log}\x0a\x20\x20\x20\x20\x20\x20\x20\x20-\x20任务数据路径:\x20~/.cc-ding/{clientId}/{MD5}/.tasks/{时间戳}/task.{json|log}\x0a\x20\x20\x20\x20\x20\x20\x20\x20-\x20定时任务数据:\x20~/.cc-ding/{clientId}/cron.json\x0a\x20\x20\x20\x20\x20\x20\x20\x20-\x20启动方式:\x20pm2\x20start\x20--name\x20\x22cc-ding-{clientId}\x22\x20npx\x20--\x20-p\x20cc-ding\x20run\x20-ci\x20{clientId}\x0a\x20\x20\x20\x20\x20\x20\x20\x20-\x20会话模式说明\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20会话ID:\x20由\x20Claude\x20分配的\x20claudeSessionId\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20结束会话:\x20/end\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20新会话:\x20/new\x20[初始消息]\x20强制结束当前会话并开启新会话\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20恢复会话:\x20/resume\x20[会话ID]\x20恢复指定历史会话,\x20不指定则恢复最近一个\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20会话持久化:\x20活跃会话自动保存到\x20active.json,\x20服务重启后自动恢复\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20群内多用户:\x20允许群内所有白名单用户参与对话\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20/help:\x20查看所有可用命令(含版本、作者、文档链接);\x20/{命令}\x20--help\x20查看命令详细用法\x0a\x20\x20\x20\x20\x20\x20\x20\x20-\x20图片消息支持\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20支持接收钉钉图片消息(picture)和富文本消息(richText,\x20含内嵌图片)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20图片自动下载保存到\x20<会话目录>/.images/\x20下\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20useLocalOcr:\x20默认开启,\x20使用本地OCR识别图片文字,\x20同时传入原图路径供Claude自主查看\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20配置方式:\x20conversations[].useLocalOcr\x20=\x20false\x20可关闭OCR(适用于支持图片识别的模型)\x0a\x20\x20\x20\x20\x20\x20\x20\x20-\x20任务模式说明\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20任务ID:\x20任务接收时间戳\x0a\x20\x20\x20\x20\x20\x20\x20\x20-\x20API\x20Key\x20池化管理(可选,\x20配置apiKeyCfg后启用)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20429自动切换:\x20自动切换到API\x20Key模式\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Key轮换:\x20API\x20Key遇到429或连续TPM不稳定时自动换Key\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20跨天重置:\x20每日自动重置API\x20Key状态\x0a\x20\x20\x20\x20\x20\x20')[a0_0x959a85(0x1b1)]('-ci,\x20--clientId\x20<value>',a0_0x959a85(0x1f2))['action'](async _0x2d0ddd=>{const _0x1a3e2f=a0_0x959a85;(0x0,session_1['ensureClientDir'])(_0x2d0ddd[_0x1a3e2f(0x1f2)]);const _0x52c360=path_1[_0x1a3e2f(0x1f6)]['join']((0x0,session_1[_0x1a3e2f(0x1b0)])(),'.cc-ding',_0x2d0ddd[_0x1a3e2f(0x1f2)]);(0x0,lock_1[_0x1a3e2f(0x1df)])(_0x52c360,_0x2d0ddd['clientId']),await new cc_ding_cli_1[(_0x1a3e2f(0x1c0))](_0x2d0ddd['clientId'])[_0x1a3e2f(0x1ce)]();}),program[a0_0x959a85(0x1eb)](a0_0x959a85(0x1c8))['description'](a0_0x959a85(0x1a9))['requiredOption'](a0_0x959a85(0x1bc),a0_0x959a85(0x1f2))[a0_0x959a85(0x1ca)](async _0x41d7a6=>{const _0xd03060=a0_0x959a85,_0x24b89e=path_1[_0xd03060(0x1f6)][_0xd03060(0x1f7)]((0x0,session_1[_0xd03060(0x1b0)])(),_0xd03060(0x1b2),_0x41d7a6[_0xd03060(0x1f2)]),_0x2c8cfd=(0x0,doctor_1[_0xd03060(0x1d8)])(_0x24b89e);(0x0,doctor_1[_0xd03060(0x1f4)])(_0x2c8cfd);}),program[a0_0x959a85(0x1e3)](process[a0_0x959a85(0x1d0)]);
@@ -0,0 +1 @@
1
+ 'use strict';const a1_0x16c992=a1_0x47d2;(function(_0x54667e,_0x1950fc){const _0x1cdfd4=a1_0x47d2,_0x3bf4c5=_0x54667e();while(!![]){try{const _0x426a83=-parseInt(_0x1cdfd4(0x22c))/0x1*(parseInt(_0x1cdfd4(0x251))/0x2)+parseInt(_0x1cdfd4(0x220))/0x3*(parseInt(_0x1cdfd4(0x266))/0x4)+-parseInt(_0x1cdfd4(0x21f))/0x5+-parseInt(_0x1cdfd4(0x216))/0x6*(parseInt(_0x1cdfd4(0x243))/0x7)+-parseInt(_0x1cdfd4(0x206))/0x8*(parseInt(_0x1cdfd4(0x20c))/0x9)+parseInt(_0x1cdfd4(0x249))/0xa*(-parseInt(_0x1cdfd4(0x254))/0xb)+parseInt(_0x1cdfd4(0x1f3))/0xc;if(_0x426a83===_0x1950fc)break;else _0x3bf4c5['push'](_0x3bf4c5['shift']());}catch(_0x56e524){_0x3bf4c5['push'](_0x3bf4c5['shift']());}}}(a1_0x5085,0x719f9));var __importDefault=this&&this[a1_0x16c992(0x210)]||function(_0x45ea32){return _0x45ea32&&_0x45ea32['__esModule']?_0x45ea32:{'default':_0x45ea32};};Object[a1_0x16c992(0x20d)](exports,'__esModule',{'value':!![]}),exports[a1_0x16c992(0x261)]=saveClientConfig,exports[a1_0x16c992(0x23f)]=resetApiKeyCfg,exports[a1_0x16c992(0x271)]=scheduleApiKeyCfgDailyReset,exports['settingLabel']=settingLabel,exports[a1_0x16c992(0x276)]=rotateApiKey,exports['pickValidApiKey']=pickValidApiKey,exports['ensureSettingsWithApiKey']=ensureSettingsWithApiKey,exports[a1_0x16c992(0x221)]=isQuotaExhaustedError,exports['isAuthenticationError']=isAuthenticationError,exports[a1_0x16c992(0x26c)]=readApiKeyFromSettings,exports['getForceEnabledSettingsPath']=getForceEnabledSettingsPath,exports[a1_0x16c992(0x207)]=startupCheck;const fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a1_0x16c992(0x265))),child_process_1=require(a1_0x16c992(0x234)),session_1=require(a1_0x16c992(0x205)),utils_ok_1=require(a1_0x16c992(0x20a));function saveClientConfig(_0x5db16c){const _0x1e1b40=a1_0x16c992,_0x583b4d=_0x5db16c[_0x1e1b40(0x22e)]()+'/config.json';try{fs_1['default'][_0x1e1b40(0x267)](_0x583b4d,JSON[_0x1e1b40(0x21e)](_0x5db16c[_0x1e1b40(0x24e)],null,0x2),'utf-8');}catch(_0x33d99b){console[_0x1e1b40(0x223)]('['+(0x0,session_1['timestamp'])()+']\x20保存\x20config.json\x20失败:',_0x33d99b);}}function a1_0x47d2(_0x1fba32,_0x1d5f82){_0x1fba32=_0x1fba32-0x1f1;const _0x508572=a1_0x5085();let _0x47d2fd=_0x508572[_0x1fba32];return _0x47d2fd;}function resetApiKeyCfg(_0x5e5ce3){const _0x389268=a1_0x16c992,_0x398c29=_0x5e5ce3[_0x389268(0x24e)]['apiKeyCfg'];if(!_0x398c29)return;const _0x4c5706=new Date();_0x398c29['resetTime']=utils_ok_1[_0x389268(0x239)]['mm'](_0x4c5706[_0x389268(0x24a)]())[_0x389268(0x277)](_0x389268(0x214));let _0x18aed3=0x0;for(const _0x121380 of _0x398c29[_0x389268(0x274)]){!_0x121380[_0x389268(0x24b)]&&(_0x121380[_0x389268(0x24b)]=!![],_0x18aed3++);}_0x18aed3>0x0&&console[_0x389268(0x1fa)]('['+(0x0,session_1['timestamp'])()+']\x20'+_0x18aed3+_0x389268(0x21b)),saveClientConfig(_0x5e5ce3),console[_0x389268(0x1fa)]('['+(0x0,session_1[_0x389268(0x26b)])()+_0x389268(0x241));}function scheduleApiKeyCfgDailyReset(_0x38c4a1){const _0x42d3c3=()=>{const _0x3eb0e4=a1_0x47d2,_0x39a44c=new Date(),_0x300bb8=new Date(_0x39a44c[_0x3eb0e4(0x1fe)](),_0x39a44c[_0x3eb0e4(0x208)](),_0x39a44c['getDate']()+0x1,0x0,0x0,0x0,0x0),_0x4b2f9c=_0x300bb8[_0x3eb0e4(0x24a)]()-_0x39a44c[_0x3eb0e4(0x24a)]();setTimeout(()=>{const _0x40da59=_0x3eb0e4;console[_0x40da59(0x1fa)]('['+(0x0,session_1['timestamp'])()+_0x40da59(0x257)),resetApiKeyCfg(_0x38c4a1),_0x42d3c3();},_0x4b2f9c),console[_0x3eb0e4(0x1fa)]('['+(0x0,session_1[_0x3eb0e4(0x26b)])()+_0x3eb0e4(0x219)+_0x300bb8['toISOString']());};_0x42d3c3();}function settingLabel(_0x2c96d0){const _0x2afad7=a1_0x16c992;return _0x2c96d0[_0x2afad7(0x215)]?_0x2c96d0[_0x2afad7(0x215)]:_0x2afad7(0x25b)+_0x2c96d0['apiKey']['slice'](-0x6);}function findSettingLabel(_0x1e7fd3,_0x1ce1f1){const _0x11df7d=a1_0x16c992,_0x36060e=_0x1e7fd3[_0x11df7d(0x25e)](_0x5e8f92=>_0x5e8f92[_0x11df7d(0x222)]===_0x1ce1f1);return _0x36060e?settingLabel(_0x36060e):_0x11df7d(0x25b)+_0x1ce1f1[_0x11df7d(0x231)](-0x6);}function rotateApiKey(_0x8f643b,_0x27405b){const _0x355f0a=a1_0x16c992,_0x5bb8b9=_0x8f643b['config'][_0x355f0a(0x225)];if(!_0x5bb8b9)return null;for(const _0x334b7c of _0x5bb8b9['claudeSettings']){if(_0x334b7c['apiKey']===_0x27405b&&_0x334b7c[_0x355f0a(0x24b)]){_0x334b7c[_0x355f0a(0x24b)]=![];break;}}const _0x70ceb3=_0x5bb8b9['claudeSettings'][_0x355f0a(0x21d)](_0x5e172f=>_0x5e172f['isValid'])[_0x355f0a(0x245)],_0xd4a4e=findSettingLabel(_0x5bb8b9[_0x355f0a(0x274)],_0x27405b);return console[_0x355f0a(0x1fa)]('['+(0x0,session_1[_0x355f0a(0x26b)])()+_0x355f0a(0x24d)+_0xd4a4e+',\x20剩余有效:\x20'+_0x70ceb3),saveClientConfig(_0x8f643b),pickValidApiKey(_0x8f643b);}function pickValidApiKey(_0x3bd97b){const _0x3e9347=a1_0x16c992,_0x364603=_0x3bd97b[_0x3e9347(0x24e)][_0x3e9347(0x225)];if(!_0x364603)return null;const _0x41a741=_0x364603['claudeSettings'][_0x3e9347(0x21d)](_0x26d6db=>_0x26d6db[_0x3e9347(0x24b)]);if(_0x41a741['length']===0x0)return null;return _0x41a741[Math['floor'](Math['random']()*_0x41a741['length'])];}function a1_0x5085(){const _0x1db872=['isArray','linkConversationId','baseUrl','YYYY-MM-DD\x20HH:mm:ss','memo','2790516rJVkqC','ANTHROPIC_AUTH_TOKEN','apiKeyCfg\x20上次重置时间:\x20',']\x20apiKeyCfg\x20每日重置已调度,下次重置:\x20',',创建\x20settings-ding.json\x20时将使用空模板','\x20个已失效\x20Claude\x20Setting\x20重新标记为有效','keys','filter','stringify','4095935DrOQVQ','390xDuOCr','isQuotaExhaustedError','apiKey','error','clientSecret\x20(钉钉\x20Stream\x20Client\x20密钥)','apiKeyCfg','settings-tpl.json','add','object','settings-ding.json','level',',强制使用该配置','68477wdoQVR','claude\x20命令不可用,请确认\x20Claude\x20Code\x20CLI\x20已安装','getClientDir',']\x20已写入\x20Claude\x20配置到\x20','\x20致命','slice','settings-tpl.json\x20不存在:\x20','conversationId','child_process','[WARN]\x20','mkdirSync','dingSecret\x20(钉钉加签密钥)','\x20—\x20','dateUtil',']\x20检测到\x20settings-ding.json\x20FORCE_ENABLE=',']\x20==========\x20启动自检\x20==========','conversations[','exit','getConversationDir','resetApiKeyCfg','parse',']\x20apiKeyCfg\x20已重置\x20(所有\x20Claude\x20Setting\x20isValid=true)','\x20缺少\x20baseUrl','7JbjgGz','dingSecret','length','conversations\x20(群配置列表)','conversations','test','70gqQDWa','getTime','isValid','\x20缺少\x20conversationId',']\x20Claude\x20Setting\x20已失效:\x20','config','FATAL','\x20linkConversationId\x20\x22','2muFZUB',',\x20smallModel:\x20','WARN','781671WngTlw','env','settings-tpl.json\x20有效,env\x20包含:\x20',']\x20定时重置\x20apiKeyCfg\x20(每天0点)','.healthcheck','join','.claude','...','some','\x20项,有效\x20','find','which\x20claude','utf-8','saveClientConfig','\x20通过,\x20','message','[FATAL]\x20','path','12568dxarLs','writeFileSync','config.json\x20','ANTHROPIC_MODEL','.anycli','timestamp','readApiKeyFromSettings','\x20isValid\x20类型异常:\x20','FORCE_ENABLE','push','\x20警告,\x20','scheduleApiKeyCfgDailyReset','claude\x20命令可用','\x20conversationId\x20重复:\x20','claudeSettings','readFileSync','rotateApiKey','format','settings-tpl.json\x20根元素不是对象','whiteUserList\x20(白名单用户)','24810492jLIYXQ','settings-tpl.json\x20缺少\x20env\x20字段,创建\x20settings-ding.json\x20时将不包含预配置环境变量','settings-tpl.json\x20解析失败:\x20','PASS','default','conversationTitle','unlinkSync','log','whiteUserList','\x20缺少\x20model','pipe','getFullYear',']\x20从模板创建\x20settings-ding.json:\x20','cc-ding','existsSync','apiKeyCfg.claudeSettings\x20共\x20','has','ANTHROPIC_BASE_URL','./session','1283384NCfKrV','startupCheck','getMonth','model','utils-ok','CLAUDE_SMALL_FAST_MODEL','9hfIkZM','defineProperty','resetTime',']\x20自检完成:\x20','__importDefault'];a1_0x5085=function(){return _0x1db872;};return a1_0x5085();}function ensureSettingsWithApiKey(_0x39def7,_0x15e853){const _0x4e3e13=a1_0x16c992,_0x2f68a8=path_1[_0x4e3e13(0x1f7)][_0x4e3e13(0x259)](_0x39def7,_0x4e3e13(0x25a)),_0x3daee1=path_1[_0x4e3e13(0x1f7)][_0x4e3e13(0x259)](_0x2f68a8,_0x4e3e13(0x229));let _0x43d398={};if(fs_1[_0x4e3e13(0x1f7)]['existsSync'](_0x3daee1))try{_0x43d398=JSON[_0x4e3e13(0x240)](fs_1[_0x4e3e13(0x1f7)][_0x4e3e13(0x275)](_0x3daee1,'utf-8'));}catch{_0x43d398={};}else{const _0x2843e2=path_1[_0x4e3e13(0x1f7)][_0x4e3e13(0x259)]((0x0,session_1['getHomeDir'])(),_0x4e3e13(0x26a),_0x4e3e13(0x200),_0x4e3e13(0x226));if(fs_1[_0x4e3e13(0x1f7)][_0x4e3e13(0x201)](_0x2843e2))try{_0x43d398=JSON['parse'](fs_1[_0x4e3e13(0x1f7)][_0x4e3e13(0x275)](_0x2843e2,_0x4e3e13(0x260))),console[_0x4e3e13(0x1fa)]('['+(0x0,session_1[_0x4e3e13(0x26b)])()+_0x4e3e13(0x1ff)+_0x2843e2);}catch{_0x43d398={};}}!_0x43d398[_0x4e3e13(0x255)]&&(_0x43d398['env']={});let _0x43f56f=![];_0x43d398['env'][_0x4e3e13(0x217)]!==_0x15e853['apiKey']&&(_0x43d398['env']['ANTHROPIC_AUTH_TOKEN']=_0x15e853[_0x4e3e13(0x222)],_0x43f56f=!![]);_0x15e853[_0x4e3e13(0x213)]&&_0x43d398[_0x4e3e13(0x255)][_0x4e3e13(0x204)]!==_0x15e853['baseUrl']&&(_0x43d398[_0x4e3e13(0x255)][_0x4e3e13(0x204)]=_0x15e853[_0x4e3e13(0x213)],_0x43f56f=!![]);_0x15e853[_0x4e3e13(0x209)]&&_0x43d398['env'][_0x4e3e13(0x269)]!==_0x15e853[_0x4e3e13(0x209)]&&(_0x43d398[_0x4e3e13(0x255)]['ANTHROPIC_MODEL']=_0x15e853[_0x4e3e13(0x209)],_0x43f56f=!![]);const _0xd9b4c=_0x15e853['smallModel']||_0x15e853['model'];return _0xd9b4c&&_0x43d398[_0x4e3e13(0x255)]['CLAUDE_SMALL_FAST_MODEL']!==_0xd9b4c&&(_0x43d398[_0x4e3e13(0x255)][_0x4e3e13(0x20b)]=_0xd9b4c,_0x43f56f=!![]),_0x43f56f&&(fs_1['default'][_0x4e3e13(0x236)](_0x2f68a8,{'recursive':!![]}),fs_1[_0x4e3e13(0x1f7)][_0x4e3e13(0x267)](_0x3daee1,JSON[_0x4e3e13(0x21e)](_0x43d398,null,0x2),_0x4e3e13(0x260)),console[_0x4e3e13(0x1fa)]('['+(0x0,session_1[_0x4e3e13(0x26b)])()+_0x4e3e13(0x22f)+_0x3daee1+'\x20('+settingLabel(_0x15e853)+',\x20model:\x20'+_0x15e853[_0x4e3e13(0x209)]+_0x4e3e13(0x252)+_0xd9b4c+')')),_0x3daee1;}function isQuotaExhaustedError(_0x5f4757){const _0x1c883a=a1_0x16c992;if(/Request\s+rejected.*429/i[_0x1c883a(0x248)](_0x5f4757))return!![];if(/429.*Request\s+rejected/i[_0x1c883a(0x248)](_0x5f4757))return!![];if(/429.*(?:超过.*上限|使用上限|配额|quota|capacity)/i[_0x1c883a(0x248)](_0x5f4757))return!![];if(/(?:超过.*上限|使用上限|配额|quota|capacity).*429/i[_0x1c883a(0x248)](_0x5f4757))return!![];return![];}function isAuthenticationError(_0x18f272){const _0x4a42b0=a1_0x16c992;if(/authentication_error/i[_0x4a42b0(0x248)](_0x18f272))return!![];if(/401.*(?:未授权|unauthorized|invalid\s*(?:key|token|api)|auth)/i[_0x4a42b0(0x248)](_0x18f272))return!![];if(/(?:未授权|unauthorized|invalid\s*(?:key|token|api)|auth).*401/i['test'](_0x18f272))return!![];return![];}function readApiKeyFromSettings(_0x1e8878){const _0x324dbd=a1_0x16c992,_0x30207f=path_1[_0x324dbd(0x1f7)][_0x324dbd(0x259)](_0x1e8878,_0x324dbd(0x25a),_0x324dbd(0x229));if(!fs_1[_0x324dbd(0x1f7)][_0x324dbd(0x201)](_0x30207f))return null;try{const _0x873d9a=JSON[_0x324dbd(0x240)](fs_1['default'][_0x324dbd(0x275)](_0x30207f,_0x324dbd(0x260)));return _0x873d9a[_0x324dbd(0x255)]?.[_0x324dbd(0x217)]||null;}catch{return null;}}function getForceEnabledSettingsPath(_0x376990){const _0x1a4c7f=a1_0x16c992,_0x19b8d1=path_1[_0x1a4c7f(0x1f7)][_0x1a4c7f(0x259)](_0x376990,'.claude',_0x1a4c7f(0x229));if(!fs_1['default']['existsSync'](_0x19b8d1))return null;try{const _0x268608=JSON[_0x1a4c7f(0x240)](fs_1[_0x1a4c7f(0x1f7)]['readFileSync'](_0x19b8d1,_0x1a4c7f(0x260))),_0x42ba32=_0x268608[_0x1a4c7f(0x255)]?.[_0x1a4c7f(0x26e)];if(_0x42ba32!==undefined&&_0x42ba32!==![]&&_0x42ba32!=='')return console[_0x1a4c7f(0x1fa)]('['+(0x0,session_1['timestamp'])()+_0x1a4c7f(0x23a)+_0x42ba32+_0x1a4c7f(0x22b)),_0x19b8d1;return null;}catch{return null;}}function startupCheck(_0x17df76){const _0xe9a65=a1_0x16c992,_0x555e63=[],_0x417142=_0x17df76[_0xe9a65(0x24e)],_0x44542a=_0x17df76['getClientDir'](),_0x468b22=[{'key':'clientSecret','label':_0xe9a65(0x224)},{'key':_0xe9a65(0x244),'label':_0xe9a65(0x237)},{'key':_0xe9a65(0x1fb),'label':_0xe9a65(0x1f2)},{'key':_0xe9a65(0x247),'label':_0xe9a65(0x246)}];for(const {key:_0x1df6b6,label:_0x16e4e2}of _0x468b22){const _0x1417b7=_0x417142[_0x1df6b6];_0x1417b7===undefined||_0x1417b7===null||_0x1417b7===''||Array['isArray'](_0x1417b7)&&_0x1417b7[_0xe9a65(0x245)]===0x0?_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x24f),'message':'config.json\x20缺少必填字段:\x20'+_0x16e4e2}):_0x555e63['push']({'level':'PASS','message':_0xe9a65(0x268)+_0x16e4e2+'\x20✓'});}if(Array[_0xe9a65(0x211)](_0x417142['conversations'])){const _0x3e3b3c=new Set();for(let _0xc450d0=0x0;_0xc450d0<_0x417142[_0xe9a65(0x247)]['length'];_0xc450d0++){const _0x5a7bca=_0x417142[_0xe9a65(0x247)][_0xc450d0],_0x3c5258=_0xe9a65(0x23c)+_0xc450d0+']';if(!_0x5a7bca[_0xe9a65(0x233)])_0x555e63['push']({'level':_0xe9a65(0x24f),'message':_0x3c5258+_0xe9a65(0x24c)});else _0x3e3b3c[_0xe9a65(0x203)](_0x5a7bca[_0xe9a65(0x233)])?_0x555e63[_0xe9a65(0x26f)]({'level':'WARN','message':_0x3c5258+_0xe9a65(0x273)+_0x5a7bca[_0xe9a65(0x233)]}):_0x3e3b3c[_0xe9a65(0x227)](_0x5a7bca[_0xe9a65(0x233)]);_0x5a7bca[_0xe9a65(0x212)]&&!_0x417142[_0xe9a65(0x247)][_0xe9a65(0x25c)](_0x2f0e18=>_0x2f0e18[_0xe9a65(0x233)]===_0x5a7bca[_0xe9a65(0x212)])&&_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x253),'message':_0x3c5258+_0xe9a65(0x250)+_0x5a7bca[_0xe9a65(0x212)]+'\x22\x20未在\x20conversations\x20中找到'});}_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x1f6),'message':'conversations\x20共\x20'+_0x417142[_0xe9a65(0x247)][_0xe9a65(0x245)]+'\x20个群配置'});}if(_0x417142[_0xe9a65(0x225)]){const _0x1af130=_0x417142['apiKeyCfg'];_0x1af130[_0xe9a65(0x20e)]&&_0x555e63[_0xe9a65(0x26f)]({'level':'PASS','message':_0xe9a65(0x218)+_0x1af130[_0xe9a65(0x20e)]});if(!Array['isArray'](_0x1af130[_0xe9a65(0x274)]))_0x555e63['push']({'level':_0xe9a65(0x253),'message':'apiKeyCfg.claudeSettings\x20不是数组,API\x20Key\x20轮换功能不可用'});else{if(_0x1af130[_0xe9a65(0x274)][_0xe9a65(0x245)]===0x0)_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x253),'message':'apiKeyCfg.claudeSettings\x20为空,无可用\x20Key'});else{const _0xea7282=new Set();for(let _0x381adf=0x0;_0x381adf<_0x1af130[_0xe9a65(0x274)][_0xe9a65(0x245)];_0x381adf++){const _0x3f9f45=_0x1af130[_0xe9a65(0x274)][_0x381adf],_0x379eb8='apiKeyCfg.claudeSettings['+_0x381adf+']';if(!_0x3f9f45[_0xe9a65(0x222)])_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x24f),'message':_0x379eb8+'\x20缺少\x20apiKey'});else _0xea7282[_0xe9a65(0x203)](_0x3f9f45[_0xe9a65(0x222)])?_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x253),'message':_0x379eb8+'\x20apiKey\x20重复:\x20'+settingLabel(_0x3f9f45)}):_0xea7282[_0xe9a65(0x227)](_0x3f9f45[_0xe9a65(0x222)]);!_0x3f9f45[_0xe9a65(0x213)]&&_0x555e63[_0xe9a65(0x26f)]({'level':'WARN','message':_0x379eb8+_0xe9a65(0x242)}),!_0x3f9f45[_0xe9a65(0x209)]&&_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x253),'message':_0x379eb8+_0xe9a65(0x1fc)}),typeof _0x3f9f45[_0xe9a65(0x24b)]!=='boolean'&&_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x253),'message':_0x379eb8+_0xe9a65(0x26d)+typeof _0x3f9f45['isValid']});}const _0x5229c8=_0x1af130[_0xe9a65(0x274)][_0xe9a65(0x21d)](_0x42410e=>_0x42410e['isValid'])[_0xe9a65(0x245)];_0x555e63['push']({'level':_0xe9a65(0x1f6),'message':_0xe9a65(0x202)+_0x1af130[_0xe9a65(0x274)][_0xe9a65(0x245)]+_0xe9a65(0x25d)+_0x5229c8});}}}const _0x194071=path_1[_0xe9a65(0x1f7)][_0xe9a65(0x259)]((0x0,session_1['getHomeDir'])(),_0xe9a65(0x26a),_0xe9a65(0x200),'settings-tpl.json');if(fs_1[_0xe9a65(0x1f7)][_0xe9a65(0x201)](_0x194071))try{const _0x881b21=JSON[_0xe9a65(0x240)](fs_1[_0xe9a65(0x1f7)]['readFileSync'](_0x194071,'utf-8'));if(typeof _0x881b21!==_0xe9a65(0x228)||_0x881b21===null)_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x253),'message':_0xe9a65(0x1f1)});else{if(!_0x881b21['env']||typeof _0x881b21['env']!==_0xe9a65(0x228))_0x555e63['push']({'level':_0xe9a65(0x253),'message':_0xe9a65(0x1f4)});else{const _0x158c58=Object[_0xe9a65(0x21c)](_0x881b21['env']);_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x1f6),'message':_0xe9a65(0x256)+(_0x158c58['join'](',\x20')||'(空)')});}}}catch(_0x45dc1c){_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x253),'message':_0xe9a65(0x1f5)+(_0x45dc1c instanceof Error?_0x45dc1c[_0xe9a65(0x263)]:_0x45dc1c)});}else _0x555e63['push']({'level':_0xe9a65(0x253),'message':_0xe9a65(0x232)+_0x194071+_0xe9a65(0x21a)});try{(0x0,child_process_1['execSync'])(_0xe9a65(0x25f),{'stdio':_0xe9a65(0x1fd)}),_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x1f6),'message':_0xe9a65(0x272)});}catch{_0x555e63[_0xe9a65(0x26f)]({'level':'FATAL','message':_0xe9a65(0x22d)});}try{const _0x265871=path_1['default'][_0xe9a65(0x259)](_0x44542a,_0xe9a65(0x258));fs_1['default']['writeFileSync'](_0x265871,'ok',_0xe9a65(0x260)),fs_1['default'][_0xe9a65(0x1f9)](_0x265871),_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x1f6),'message':'工作目录可写:\x20'+_0x44542a});}catch(_0x18e292){_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x24f),'message':'工作目录不可写:\x20'+_0x44542a+'\x20—\x20'+(_0x18e292 instanceof Error?_0x18e292['message']:_0x18e292)});}if(Array[_0xe9a65(0x211)](_0x417142[_0xe9a65(0x247)]))for(const _0x12ba0e of _0x417142['conversations']){const _0x357e14=_0x17df76[_0xe9a65(0x23e)](_0x12ba0e[_0xe9a65(0x233)]);try{fs_1['default'][_0xe9a65(0x236)](_0x357e14,{'recursive':!![]}),_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x1f6),'message':'群工作目录已就绪:\x20'+(_0x12ba0e[_0xe9a65(0x1f8)]||_0x12ba0e[_0xe9a65(0x233)])});}catch(_0x3e55d6){_0x555e63[_0xe9a65(0x26f)]({'level':_0xe9a65(0x253),'message':'群工作目录创建失败:\x20'+_0x357e14+_0xe9a65(0x238)+(_0x3e55d6 instanceof Error?_0x3e55d6[_0xe9a65(0x263)]:_0x3e55d6)});}}console[_0xe9a65(0x1fa)]('\x0a['+(0x0,session_1[_0xe9a65(0x26b)])()+_0xe9a65(0x23b));const _0x4b969a=_0x555e63[_0xe9a65(0x25c)](_0x53e7d2=>_0x53e7d2[_0xe9a65(0x22a)]==='FATAL');for(const _0x2e52f4 of _0x555e63){const _0x332278=_0x2e52f4[_0xe9a65(0x22a)]===_0xe9a65(0x1f6)?'✓':_0x2e52f4[_0xe9a65(0x22a)]===_0xe9a65(0x24f)?'✗':'⚠',_0x3daa0b=_0x2e52f4['level']===_0xe9a65(0x1f6)?_0x2e52f4[_0xe9a65(0x263)]:_0x2e52f4[_0xe9a65(0x22a)]===_0xe9a65(0x24f)?_0xe9a65(0x264)+_0x2e52f4[_0xe9a65(0x263)]:_0xe9a65(0x235)+_0x2e52f4[_0xe9a65(0x263)];console[_0xe9a65(0x1fa)]('\x20\x20'+_0x332278+'\x20'+_0x3daa0b);}const _0x210d35=_0x555e63[_0xe9a65(0x21d)](_0x21b058=>_0x21b058[_0xe9a65(0x22a)]==='PASS')['length'],_0x17c7e8=_0x555e63[_0xe9a65(0x21d)](_0x38f40f=>_0x38f40f[_0xe9a65(0x22a)]==='WARN')['length'],_0x36075c=_0x555e63[_0xe9a65(0x21d)](_0x1659ab=>_0x1659ab['level']===_0xe9a65(0x24f))[_0xe9a65(0x245)];console[_0xe9a65(0x1fa)]('['+(0x0,session_1['timestamp'])()+_0xe9a65(0x20f)+_0x210d35+_0xe9a65(0x262)+_0x17c7e8+_0xe9a65(0x270)+_0x36075c+_0xe9a65(0x230)),console['log']('['+(0x0,session_1[_0xe9a65(0x26b)])()+']\x20==============================\x0a'),_0x4b969a&&(console[_0xe9a65(0x223)]('['+(0x0,session_1[_0xe9a65(0x26b)])()+']\x20启动自检发现致命错误,进程退出'),process[_0xe9a65(0x23d)](0x1));}
@@ -0,0 +1 @@
1
+ 'use strict';const a2_0xd2a2b5=a2_0x4888;(function(_0x5493d9,_0x11d022){const _0xc6cdd1=a2_0x4888,_0x4f4170=_0x5493d9();while(!![]){try{const _0x5db2f9=parseInt(_0xc6cdd1(0x183))/0x1*(-parseInt(_0xc6cdd1(0x1b6))/0x2)+-parseInt(_0xc6cdd1(0x218))/0x3+-parseInt(_0xc6cdd1(0x10c))/0x4*(-parseInt(_0xc6cdd1(0x1d4))/0x5)+-parseInt(_0xc6cdd1(0x1d1))/0x6+-parseInt(_0xc6cdd1(0x1fb))/0x7*(parseInt(_0xc6cdd1(0x1e1))/0x8)+-parseInt(_0xc6cdd1(0x168))/0x9+parseInt(_0xc6cdd1(0x15e))/0xa;if(_0x5db2f9===_0x11d022)break;else _0x4f4170['push'](_0x4f4170['shift']());}catch(_0x1bb21d){_0x4f4170['push'](_0x4f4170['shift']());}}}(a2_0x14cd,0x3b870));function a2_0x14cd(){const _0x42047a=['\x0a💡\x20可编辑\x20config.json\x20补充更多配置','resolve','1KXbQCS','dirname','\x20个定时任务','###\x20💬\x20当前会话信息\x0a','getOrCreateLogSession','config','errors','✅\x20定时任务\x20**','hashConversationId','📋\x20**当前群白名单**\x0a','▶️\x20定时任务\x20**','⚠️\x20图片下载失败,请重试或使用文字描述','hasNotifyCapability','existsSync','substring','\x20不在当前群白名单中','getDirectoryStructure','handleMkdirCommand','registerCallbackListener','quoteText','delete','formatCronJobInfo','/cron\x20list','parseTouchCommand','error','\x20已在当前群白名单中',']\x20任务处理器数量:\x20','`\x0a原因:\x20','connect','dingStreamClient','parseHelpCommand','\x20(展开','✅\x20目录创建成功:\x20`','timestamp','switchToSession','replace','(无历史数据)','###\x20📝\x20任务队列信息\x0a','❌\x20文件创建失败:\x20`','statSync','headers','trim','includes','call','./image','interruptClaudeProcess','__setModuleDefault','imagesDeleted',']\x20群配置:\x20','./task','resolveAndValidatePath','167190qzLqpZ','messageId','platform','__esModule','/cron\x20resume\x20','toggleJob','Fatal\x20error','listJobs','../common','findLatestSession','❌\x20路径超出工作目录范围','**\x20已恢复','✅\x20apiKeyCfg\x20已重置\x0a-\x20有效\x20Key\x20数:\x20','🧹\x20缓存清理完成','toLowerCase','✅\x20文件创建成功:\x20`','sessionDir','isOwner','YYYY-MM-DD\x20HH:mm:ss','text','isValid','isDirectory','/cron\x20pause\x20','defineProperty','getSessionsDir','projUtil','unlinkSync','1149102keStqr','当前工作目录','handleCronCommand','340mcBuGv','getOwnPropertyDescriptor','now','map','explorer\x20\x22','handleRmCommand','📂\x20已在文件管理器中打开:\x0a```\x0a','prototype','\x20错误:',']\x20注册新群:\x20','❌\x20路径已存在但不是文件:\x20`','parse','create_cron','3324616AXnJvP','-\x20**dingToken:**\x20','**\x0a\x0a💡\x20输入\x20`/help`\x20查看所有可用命令','resume','resetTime','apiKeyCfg','isFile','create','saveActiveSession','conversationId','assistant','./commands','❌\x20未找到定时任务:\x20','❌\x20定时任务分析失败:\x20','description','writeFileSync','\x20到当前群白名单\x0a当前白名单:\x20','❌\x20当前群未配置\x20dingToken\x20且无客户端级\x20defaultDingToken,\x20定时任务无法主动发送消息,\x20请联系管理员配置','content','mtime','cronEngine','📋\x20任务已收到,完成后我会回复','./api-key-manager','findActiveSession','getSessionDir','darwin','7gdDZmo','./cron','finishTask','start','formatSessionInfo','getActiveSessionsFile','processRichTextMessage','-\x20**群名称:**\x20','parsePwdCommand','❌\x20未找到名为\x20**','YYYY-MM-DD-HH-mm-ss','debug',']\x20钉钉机器人服务启动,clientId:\x20','session','sendClaudeResponseToDing','conversationTitle','-\x20**whiteUserList:**\x20','⏳\x20正在分析定时任务描述...','parseContinueSessionCommand','pictureDownloadCode','),\x20类型=','/cron\x20delete\x20','extractQuoteInfo','formatTaskInfo','tasksDeleted','loadActiveSessions','./session','\x0a**作者:**\x20owner','/cron\x20','520728eevint','检测到引用消息:\x20quoteMessageId=','push','parseRmCommand','executeClaudeQuery','getClientConfig','sendCronNoNotifyError','dingToken','authCheck','debugLog','\x0a```','prompt','socketCallBackResponse','`\x0a最后修改时间:\x20','层):\x0a```\x0a','sessionsDeleted','linkConversationId','parseVersionCommand','resetApiKeyCfg','log','handleTask','⚠️\x20未找到已结束的会话','dateUtil','handleSessionMessage','activeSessions',',\x20会话ID=','DingStreamClient','💻\x20已在终端中打开:\x0a```\x0a','key','del','richText','❌\x20打开失败:\x20','length','✅\x20群已注册','type','startupCheck','[cron]','❌\x20无效的cron表达式:\x20`','add','getCommandByName','DEFAULT_TASK_HANDLER_COUNT','parseCronCommand','\x0a⚠️\x20错误:\x20','未注册的机器人,群:','join','formatCommandHelp','runTaskHandlerLoop','收到消息:\x20群=','✅\x20已从当前群白名单移除userId\x20','20116nijAzU','❌\x20目录创建失败:\x20`','parseClaudeStreamLine','parseCleanCommand','catch','./quote','../','getConversationDir','countTodoTask','open\x20\x22','⚠️\x20文件已存在:\x20`','mkdirSync','\x20行日志:\x0a```\x0a','parseInfoCommand','task','__createBinding','all','getSessionId','getConversationConfig','botMsgGetCallback','✅\x20已删除','**\x20的目录','任务处理器\x20#','path','readSessionLogTail','/new','getClientDir','useLocalOcr','sanitizeLogContent','job','claudeSettings','parseTaskCancelCommand','analyzeAndCreate','updateSessionFile','saveTask','抱歉,该群的机器人未在服务端注册,请联系应用机器人owner注册(','parseMkdirCommand','folder','-\x20任务目录:\x20','appendSessionLog','❌\x20未找到命令:\x20**','删除定时任务\x20','create_nl','start\x20cmd\x20/k\x20\x22cd\x20/d\x20','writable','./messaging','./claude-process','markdown','Error:\x20DingStreamClient\x20init\x20failed.','⚠️\x20未配置\x20apiKeyCfg,无需重置','formatConversationInfo','CronEngine','cleanCache','stringify','run','taskHandlerCount','clientId','❌\x20路径不存在或不是目录:\x20**','staffId','⚠️\x20userId\x20','message','cronExpression','getPkgVersion','findHistorySession','processPictureMessage','exit','DEFAULT_SESSION_MAX_CONCURRENCY','###\x20💬\x20当前会话信息\x0a无活跃会话','创建定时任务:\x20','📂\x20当前工作目录:\x0a```\x0a','parseOpenCommand','\x0a-\x20重置时间:\x20','addJob','formatPromptWithQuote','getTasksDir','data','quoteMessageId','saveClientConfig','default','/v1.0/im/bot/messages/get','定时任务分析失败:\x20','❌\x20路径已存在但不是目录:\x20`','9760280anAHHb','**\x20已暂停','filter','endSession','utf-8','requireOwner','⚠️\x20目录已存在:\x20`','conversations','DingClaude',']\x20启动任务处理器\x20#','1889199HHucYo','hasOwnProperty','⏸️\x20定时任务\x20**','user','❌\x20删除失败:\x20`','-\x20**群ID:**\x20','defaultDingToken','whiteUserList','root','###\x20🤖\x20群配置信息\x0a','parseAuthCommand','getOneTodoTask','conversationConfig','input','findSubdirByName','startsWith','sendDingMessage','\x0a当前白名单:\x20','robotCode','/session.json','cancelTask','startNewSession','list','parseResetApiKeyCfgCommand','-\x20会话目录:\x20'];a2_0x14cd=function(){return _0x42047a;};return a2_0x14cd();}function a2_0x4888(_0x174a4c,_0x13b69f){_0x174a4c=_0x174a4c-0x107;const _0x14cd5b=a2_0x14cd();let _0x48888f=_0x14cd5b[_0x174a4c];return _0x48888f;}var __createBinding=this&&this[a2_0xd2a2b5(0x11b)]||(Object[a2_0xd2a2b5(0x1e8)]?function(_0x31b420,_0x6a7656,_0x44c5a2,_0x1930d6){const _0x340c1d=a2_0xd2a2b5;if(_0x1930d6===undefined)_0x1930d6=_0x44c5a2;var _0x142858=Object[_0x340c1d(0x1d5)](_0x6a7656,_0x44c5a2);(!_0x142858||('get'in _0x142858?!_0x6a7656[_0x340c1d(0x1b9)]:_0x142858[_0x340c1d(0x138)]||_0x142858['configurable']))&&(_0x142858={'enumerable':!![],'get':function(){return _0x6a7656[_0x44c5a2];}}),Object[_0x340c1d(0x1cd)](_0x31b420,_0x1930d6,_0x142858);}:function(_0x5db60c,_0x461f11,_0xad223d,_0x2bd4cb){if(_0x2bd4cb===undefined)_0x2bd4cb=_0xad223d;_0x5db60c[_0x2bd4cb]=_0x461f11[_0xad223d];}),__setModuleDefault=this&&this[a2_0xd2a2b5(0x1b1)]||(Object[a2_0xd2a2b5(0x1e8)]?function(_0xa0ae18,_0x1ba048){const _0xe7ab31=a2_0xd2a2b5;Object[_0xe7ab31(0x1cd)](_0xa0ae18,_0xe7ab31(0x15a),{'enumerable':!![],'value':_0x1ba048});}:function(_0x4116d1,_0x55d25c){_0x4116d1['default']=_0x55d25c;}),__importStar=this&&this['__importStar']||(function(){var _0x26d5f0=function(_0x35424e){return _0x26d5f0=Object['getOwnPropertyNames']||function(_0x1243da){const _0x1d6f39=a2_0x4888;var _0x58ab9c=[];for(var _0x399904 in _0x1243da)if(Object[_0x1d6f39(0x1db)][_0x1d6f39(0x169)][_0x1d6f39(0x1ae)](_0x1243da,_0x399904))_0x58ab9c[_0x58ab9c['length']]=_0x399904;return _0x58ab9c;},_0x26d5f0(_0x35424e);};return function(_0x24fdb9){const _0x506e37=a2_0x4888;if(_0x24fdb9&&_0x24fdb9['__esModule'])return _0x24fdb9;var _0x30409d={};if(_0x24fdb9!=null){for(var _0x3b7124=_0x26d5f0(_0x24fdb9),_0x3de90e=0x0;_0x3de90e<_0x3b7124[_0x506e37(0x238)];_0x3de90e++)if(_0x3b7124[_0x3de90e]!==_0x506e37(0x15a))__createBinding(_0x30409d,_0x24fdb9,_0x3b7124[_0x3de90e]);}return __setModuleDefault(_0x30409d,_0x24fdb9),_0x30409d;};}()),__importDefault=this&&this['__importDefault']||function(_0x30a7dc){const _0x1960da=a2_0xd2a2b5;return _0x30a7dc&&_0x30a7dc[_0x1960da(0x1b9)]?_0x30a7dc:{'default':_0x30a7dc};};Object[a2_0xd2a2b5(0x1cd)](exports,a2_0xd2a2b5(0x1b9),{'value':!![]}),exports[a2_0xd2a2b5(0x166)]=void 0x0;const utils_ok_1=require('utils-ok'),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a2_0xd2a2b5(0x123))),common_1=require(a2_0xd2a2b5(0x1be)),quote_1=require(a2_0xd2a2b5(0x111)),messaging_1=require(a2_0xd2a2b5(0x139)),image_1=require(a2_0xd2a2b5(0x1af)),commands_1=require(a2_0xd2a2b5(0x1ec)),messaging_2=require(a2_0xd2a2b5(0x139)),claude_process_1=require(a2_0xd2a2b5(0x13a)),session_1=require(a2_0xd2a2b5(0x215)),task_1=require(a2_0xd2a2b5(0x1b4)),api_key_manager_1=require(a2_0xd2a2b5(0x1f7)),cron_1=require(a2_0xd2a2b5(0x1fc)),TOOL_VERSION=(0x0,common_1[a2_0xd2a2b5(0x1cf)])()[a2_0xd2a2b5(0x14a)]();class DingClaude{constructor(_0x2ff8cc){const _0x43e885=a2_0xd2a2b5;this[_0x43e885(0x230)]=new Map(),this[_0x43e885(0x14e)]=0x5,this[_0x43e885(0x240)]=0x1,this['DEFAULT_TASK_QUEUE_SIZE']=0x32,this[_0x43e885(0x178)]=_0xe5ef7f=>(0x0,messaging_2[_0x43e885(0x178)])(this,_0xe5ef7f),this[_0x43e885(0x209)]=(_0x408fd4,_0x2b7d4b,_0x20a452,_0x4a1895)=>(0x0,messaging_2[_0x43e885(0x209)])(this,_0x408fd4,_0x2b7d4b,_0x20a452,_0x4a1895),this[_0x43e885(0x10e)]=claude_process_1[_0x43e885(0x10e)],this['interruptClaudeProcess']=(_0x5c5384,_0x13b3cb)=>(0x0,claude_process_1[_0x43e885(0x1b0)])(_0x5c5384,_0x13b3cb),this[_0x43e885(0x21c)]=(_0x272aed,_0x4c638a,_0x379d5c)=>(0x0,claude_process_1[_0x43e885(0x21c)])(this,_0x272aed,_0x4c638a,_0x379d5c),this[_0x43e885(0x126)]=()=>(0x0,session_1[_0x43e885(0x126)])(this),this['getClientConfig']=()=>(0x0,session_1[_0x43e885(0x21d)])(this),this['authCheck']=(_0x43fb34,_0x3873f1)=>(0x0,session_1[_0x43e885(0x220)])(this,_0x43fb34,_0x3873f1),this[_0x43e885(0x1c7)]=_0xf6054d=>(0x0,session_1[_0x43e885(0x1c7)])(this,_0xf6054d),this[_0x43e885(0x221)]=(_0x51cfba,..._0x3e0c26)=>(0x0,session_1[_0x43e885(0x221)])(this,_0x51cfba,..._0x3e0c26),this[_0x43e885(0x18b)]=_0x7e5af7=>(0x0,session_1[_0x43e885(0x18b)])(this,_0x7e5af7),this['getConversationConfig']=_0xf138f=>(0x0,session_1[_0x43e885(0x11e)])(this,_0xf138f),this[_0x43e885(0x113)]=_0x527761=>(0x0,session_1['getConversationDir'])(this,_0x527761),this[_0x43e885(0x1ce)]=_0xbf895b=>(0x0,session_1[_0x43e885(0x1ce)])(this,_0xbf895b),this['getTasksDir']=_0x1384bf=>(0x0,session_1[_0x43e885(0x156)])(this,_0x1384bf),this['getSessionDir']=_0x1b4644=>(0x0,session_1[_0x43e885(0x1f9)])(this,_0x1b4644),this[_0x43e885(0x11d)]=session_1[_0x43e885(0x11d)],this[_0x43e885(0x1ff)]=_0xb46acd=>(0x0,session_1[_0x43e885(0x1ff)])(this,_0xb46acd),this[_0x43e885(0x124)]=(_0x4e6487,_0x11d0c6)=>(0x0,session_1[_0x43e885(0x124)])(this,_0x4e6487,_0x11d0c6),this[_0x43e885(0x1f8)]=_0x51dcdd=>(0x0,session_1['findActiveSession'])(this,_0x51dcdd),this[_0x43e885(0x14b)]=(_0x533818,_0x29bd0a)=>(0x0,session_1[_0x43e885(0x14b)])(this,_0x533818,_0x29bd0a),this[_0x43e885(0x1bf)]=_0x492d00=>(0x0,session_1[_0x43e885(0x1bf)])(this,_0x492d00),this[_0x43e885(0x12d)]=(_0x27b4d3,_0x2fc978)=>(0x0,session_1[_0x43e885(0x12d)])(this,_0x27b4d3,_0x2fc978),this[_0x43e885(0x133)]=session_1['appendSessionLog'],this[_0x43e885(0x200)]=_0x551094=>(0x0,session_1[_0x43e885(0x200)])(this,_0x551094),this[_0x43e885(0x1e9)]=_0x3194c2=>(0x0,session_1['saveActiveSession'])(this,_0x3194c2),this['loadActiveSessions']=()=>(0x0,session_1[_0x43e885(0x214)])(this),this[_0x43e885(0x161)]=(_0x292b44,_0xb940b1)=>(0x0,session_1['endSession'])(this,_0x292b44,_0xb940b1),this[_0x43e885(0x1a5)]=(_0x73443f,_0xefcf70,_0x1ad732,_0x589832,_0x50554e)=>(0x0,session_1[_0x43e885(0x1a5)])(this,_0x73443f,_0xefcf70,_0x1ad732,_0x589832,_0x50554e),this[_0x43e885(0x17d)]=_0x2bd07b=>(0x0,session_1[_0x43e885(0x17d)])(this,_0x2bd07b),this['handleSessionMessage']=_0x4dbf5b=>(0x0,session_1['handleSessionMessage'])(this,_0x4dbf5b),this[_0x43e885(0x140)]=(_0x180293,_0x791a5f=!![])=>(0x0,session_1[_0x43e885(0x140)])(this,_0x180293,_0x791a5f),this[_0x43e885(0x212)]=()=>(0x0,task_1['formatTaskInfo'])(this),this['cancelTask']=(_0x6bf190,_0xc5081c)=>(0x0,task_1['cancelTask'])(this,_0x6bf190,_0xc5081c),this[_0x43e885(0x114)]=()=>(0x0,task_1[_0x43e885(0x114)])(this),this[_0x43e885(0x173)]=()=>(0x0,task_1[_0x43e885(0x173)])(this),this[_0x43e885(0x1fd)]=_0xa9bff4=>(0x0,task_1[_0x43e885(0x1fd)])(this,_0xa9bff4),this[_0x43e885(0x22c)]=()=>(0x0,task_1[_0x43e885(0x22c)])(this),this[_0x43e885(0x109)]=()=>(0x0,task_1['runTaskHandlerLoop'])(this),this[_0x43e885(0x12e)]=_0x46dfac=>(0x0,task_1['saveTask'])(this,_0x46dfac),this[_0x43e885(0x144)]=_0x2ff8cc,this[_0x43e885(0x188)]=(0x0,session_1[_0x43e885(0x21d)])(this);try{this[_0x43e885(0x1a0)]=new utils_ok_1[(_0x43e885(0x232))]({'clientId':_0x2ff8cc,'clientSecret':this[_0x43e885(0x188)]['clientSecret'],'keepAlive':!![],'debug':this['config'][_0x43e885(0x206)]??![]});}catch(_0x1b88ce){console[_0x43e885(0x19b)](_0x43e885(0x13c),_0x1b88ce),process['exit'](0x1);}this[_0x43e885(0x1f5)]=new cron_1[(_0x43e885(0x13f))](this);}async[a2_0xd2a2b5(0x163)](_0x3fa564,_0x863955,_0x29a522){const _0x1fb9df=a2_0xd2a2b5;if(!this[_0x1fb9df(0x1c7)](_0x29a522))return await this['sendDingMessage']({'conversationId':_0x3fa564,'sessionWebhook':_0x863955,'content':'❌\x20只有机器人\x20owner\x20才能执行此操作','msgType':_0x1fb9df(0x13b)}),![];return!![];}async[a2_0xd2a2b5(0x1d3)](_0x393d08,_0x3de392){const _0x4adb7e=a2_0xd2a2b5,{conversationId:_0x2ff007,sessionWebhook:_0x43ee51,senderStaffId:_0x8a8387,senderNick:_0x17a619,conversationConfig:_0x10af9b}=_0x3de392;switch(_0x393d08[_0x4adb7e(0x23a)]){case _0x4adb7e(0x17e):{const _0x513125=await this[_0x4adb7e(0x187)](_0x2ff007,_0x43ee51,_0x8a8387,_0x17a619,_0x10af9b,!![]),_0x2061d3=this[_0x4adb7e(0x1f5)][_0x4adb7e(0x1bd)](_0x2ff007);_0x513125[_0x4adb7e(0x1c6)]&&(this['appendSessionLog'](_0x513125[_0x4adb7e(0x1c6)],_0x4adb7e(0x16b),_0x4adb7e(0x199)),this[_0x4adb7e(0x133)](_0x513125[_0x4adb7e(0x1c6)],_0x4adb7e(0x1eb),'列出\x20'+_0x2061d3[_0x4adb7e(0x238)]+_0x4adb7e(0x185)));await this['sendDingMessage']({'conversationId':_0x2ff007,'sessionWebhook':_0x43ee51,'content':(0x0,cron_1['formatCronJobList'])(_0x2061d3),'msgType':'markdown'});return;}case _0x4adb7e(0x197):{const _0x55389f=this[_0x4adb7e(0x1f5)]['removeJob'](_0x393d08['id']),_0x27c40c=await this[_0x4adb7e(0x187)](_0x2ff007,_0x43ee51,_0x8a8387,_0x17a619,_0x10af9b);_0x27c40c[_0x4adb7e(0x1c6)]&&(this[_0x4adb7e(0x133)](_0x27c40c[_0x4adb7e(0x1c6)],_0x4adb7e(0x16b),_0x4adb7e(0x210)+_0x393d08['id']),this['appendSessionLog'](_0x27c40c[_0x4adb7e(0x1c6)],_0x4adb7e(0x1eb),_0x55389f?_0x4adb7e(0x135)+_0x393d08['id']:'未找到定时任务:\x20'+_0x393d08['id']));await this[_0x4adb7e(0x178)]({'conversationId':_0x2ff007,'sessionWebhook':_0x43ee51,'content':_0x55389f?_0x4adb7e(0x18a)+_0x393d08['id']+'**\x20已删除':'❌\x20未找到定时任务:\x20'+_0x393d08['id'],'msgType':_0x4adb7e(0x13b)});return;}case'pause':{const _0x1b96ea=this[_0x4adb7e(0x1f5)][_0x4adb7e(0x1bb)](_0x393d08['id'],![]),_0x1bb1ee=await this['getOrCreateLogSession'](_0x2ff007,_0x43ee51,_0x8a8387,_0x17a619,_0x10af9b);_0x1bb1ee[_0x4adb7e(0x1c6)]&&(this[_0x4adb7e(0x133)](_0x1bb1ee['sessionDir'],_0x4adb7e(0x16b),_0x4adb7e(0x1cc)+_0x393d08['id']),this['appendSessionLog'](_0x1bb1ee[_0x4adb7e(0x1c6)],_0x4adb7e(0x1eb),_0x1b96ea?'暂停定时任务\x20'+_0x393d08['id']:'未找到定时任务:\x20'+_0x393d08['id']));await this[_0x4adb7e(0x178)]({'conversationId':_0x2ff007,'sessionWebhook':_0x43ee51,'content':_0x1b96ea?_0x4adb7e(0x16a)+_0x393d08['id']+_0x4adb7e(0x15f):_0x4adb7e(0x1ed)+_0x393d08['id'],'msgType':_0x4adb7e(0x13b)});return;}case _0x4adb7e(0x1e4):{const _0x5a30a5=this[_0x4adb7e(0x1f5)][_0x4adb7e(0x1bb)](_0x393d08['id'],!![]),_0x5bd856=await this['getOrCreateLogSession'](_0x2ff007,_0x43ee51,_0x8a8387,_0x17a619,_0x10af9b);_0x5bd856['sessionDir']&&(this[_0x4adb7e(0x133)](_0x5bd856[_0x4adb7e(0x1c6)],_0x4adb7e(0x16b),_0x4adb7e(0x1ba)+_0x393d08['id']),this[_0x4adb7e(0x133)](_0x5bd856[_0x4adb7e(0x1c6)],_0x4adb7e(0x1eb),_0x5a30a5?'恢复定时任务\x20'+_0x393d08['id']:'未找到定时任务:\x20'+_0x393d08['id']));await this['sendDingMessage']({'conversationId':_0x2ff007,'sessionWebhook':_0x43ee51,'content':_0x5a30a5?_0x4adb7e(0x18d)+_0x393d08['id']+_0x4adb7e(0x1c1):'❌\x20未找到定时任务:\x20'+_0x393d08['id'],'msgType':_0x4adb7e(0x13b)});return;}case _0x4adb7e(0x1e0):{if(!(0x0,cron_1['isValidCronExpression'])(_0x393d08[_0x4adb7e(0x149)])){await this[_0x4adb7e(0x178)]({'conversationId':_0x2ff007,'sessionWebhook':_0x43ee51,'content':_0x4adb7e(0x23d)+_0x393d08[_0x4adb7e(0x149)]+'`\x0a\x0a💡\x20格式:\x20`分\x20时\x20日\x20月\x20周`,如\x20`0\x209\x20*\x20*\x20*`','msgType':'markdown'});return;}if(!this[_0x4adb7e(0x18f)](_0x3de392[_0x4adb7e(0x174)])){await this[_0x4adb7e(0x21e)](_0x2ff007,_0x43ee51);return;}const _0x5f55fe=this['cronEngine'][_0x4adb7e(0x154)]({'conversationId':_0x2ff007,'cronExpression':_0x393d08[_0x4adb7e(0x149)],'description':this[_0x4adb7e(0x128)](_0x393d08[_0x4adb7e(0x223)][_0x4adb7e(0x191)](0x0,0x32)),'prompt':_0x393d08['prompt'],'senderStaffId':_0x8a8387,'senderNick':_0x17a619}),_0x4760bd=await this[_0x4adb7e(0x187)](_0x2ff007,_0x43ee51,_0x8a8387,_0x17a619,_0x10af9b);_0x4760bd[_0x4adb7e(0x1c6)]&&(this[_0x4adb7e(0x133)](_0x4760bd[_0x4adb7e(0x1c6)],'user',_0x4adb7e(0x217)+_0x393d08[_0x4adb7e(0x149)]+'\x20'+this[_0x4adb7e(0x128)](_0x393d08['prompt'])),this[_0x4adb7e(0x133)](_0x4760bd[_0x4adb7e(0x1c6)],_0x4adb7e(0x1eb),_0x4adb7e(0x150)+_0x5f55fe['id']+'\x20['+_0x5f55fe[_0x4adb7e(0x149)]+']\x20'+_0x5f55fe['description']));await this['sendDingMessage']({'conversationId':_0x2ff007,'sessionWebhook':_0x43ee51,'content':(0x0,cron_1[_0x4adb7e(0x198)])(_0x5f55fe),'msgType':_0x4adb7e(0x13b)});return;}case _0x4adb7e(0x136):{if(!this[_0x4adb7e(0x18f)](_0x3de392[_0x4adb7e(0x174)])){await this[_0x4adb7e(0x21e)](_0x2ff007,_0x43ee51);return;}await this[_0x4adb7e(0x178)]({'conversationId':_0x2ff007,'sessionWebhook':_0x43ee51,'content':_0x4adb7e(0x20c)});const _0x8c065d=await this[_0x4adb7e(0x1f5)][_0x4adb7e(0x12c)](_0x2ff007,_0x393d08[_0x4adb7e(0x175)],_0x8a8387,_0x17a619),_0x503f0f=await this['getOrCreateLogSession'](_0x2ff007,_0x43ee51,_0x8a8387,_0x17a619,_0x10af9b);_0x8c065d['job']?(_0x503f0f['sessionDir']&&(this[_0x4adb7e(0x133)](_0x503f0f['sessionDir'],_0x4adb7e(0x16b),'/cron\x20'+this[_0x4adb7e(0x128)](_0x393d08['input'])),this[_0x4adb7e(0x133)](_0x503f0f[_0x4adb7e(0x1c6)],'assistant','创建定时任务:\x20'+_0x8c065d['job']['id']+'\x20['+_0x8c065d[_0x4adb7e(0x129)]['cronExpression']+']\x20'+_0x8c065d[_0x4adb7e(0x129)][_0x4adb7e(0x1ef)])),await this[_0x4adb7e(0x178)]({'conversationId':_0x2ff007,'sessionWebhook':_0x43ee51,'content':(0x0,cron_1['formatCronJobInfo'])(_0x8c065d['job']),'msgType':_0x4adb7e(0x13b)})):(_0x503f0f[_0x4adb7e(0x1c6)]&&(this[_0x4adb7e(0x133)](_0x503f0f[_0x4adb7e(0x1c6)],_0x4adb7e(0x16b),'/cron\x20'+this[_0x4adb7e(0x128)](_0x393d08[_0x4adb7e(0x175)])),this[_0x4adb7e(0x133)](_0x503f0f['sessionDir'],'assistant',_0x4adb7e(0x15c)+_0x8c065d[_0x4adb7e(0x19b)])),await this[_0x4adb7e(0x178)]({'conversationId':_0x2ff007,'sessionWebhook':_0x43ee51,'content':_0x4adb7e(0x1ee)+_0x8c065d[_0x4adb7e(0x19b)]+'\x0a\x0a💡\x20你也可以直接指定cron表达式:\x20`/cron\x200\x209\x20*\x20*\x20*\x20任务描述`','msgType':_0x4adb7e(0x13b)}));return;}}}[a2_0xd2a2b5(0x128)](_0x419591){const _0x48286d=a2_0xd2a2b5;return _0x419591[_0x48286d(0x1a6)](/\n/g,'\x5cn')['replace'](/\r/g,'\x5cr');}async['getOrCreateLogSession'](_0x16090a,_0x266df0,_0x316d48,_0x447d4e,_0x1ea710,_0xc12dbf=![]){const _0x1a9d9d=a2_0xd2a2b5,_0x26290f=this[_0x1a9d9d(0x1f8)](_0x16090a);if(_0x26290f){const _0xda59b7=this['getSessionDir'](_0x26290f[_0x1a9d9d(0x208)]['session']);return{'sessionDir':_0xda59b7,'isNew':![]};}if(_0xc12dbf)return{'sessionDir':null,'isNew':![]};const _0x4c81d8=Date[_0x1a9d9d(0x1d6)](),_0x2958ae={'conversationId':_0x16090a,'sessionWebhook':_0x266df0,'startTime':_0x4c81d8,'startTimeStr':utils_ok_1[_0x1a9d9d(0x22e)]['mm'](_0x4c81d8)['format'](_0x1a9d9d(0x205)),'startStaffId':_0x316d48,'startNickName':_0x1a9d9d(0x23c)+_0x447d4e},_0x2304d9=this[_0x1a9d9d(0x1f9)](_0x2958ae);return fs_1[_0x1a9d9d(0x15a)][_0x1a9d9d(0x117)](_0x2304d9,{'recursive':!![]}),fs_1[_0x1a9d9d(0x15a)][_0x1a9d9d(0x1f0)](_0x2304d9+_0x1a9d9d(0x17b),JSON[_0x1a9d9d(0x141)](_0x2958ae,null,0x2),_0x1a9d9d(0x162)),fs_1[_0x1a9d9d(0x15a)]['appendFileSync'](_0x2304d9+'/session.log','['+(0x0,session_1['timestamp'])()+']\x20[SYSTEM]:\x20创建会话用于记录\x20/cron\x20命令操作\x0a','utf-8'),{'sessionDir':_0x2304d9,'isNew':!![]};}[a2_0xd2a2b5(0x18f)](_0x7b00d6){const _0x576cfb=a2_0xd2a2b5;return!!(_0x7b00d6['dingToken']||this[_0x576cfb(0x188)][_0x576cfb(0x16e)]);}async[a2_0xd2a2b5(0x21e)](_0xeee2f7,_0x13baf8){const _0x24ab2a=a2_0xd2a2b5;await this['sendDingMessage']({'conversationId':_0xeee2f7,'sessionWebhook':_0x13baf8,'content':_0x24ab2a(0x1f2),'msgType':_0x24ab2a(0x13b)});}[a2_0xd2a2b5(0x1b5)](_0x173c69,_0x411c1c){const _0x40d97a=a2_0xd2a2b5,_0x5bdbbe=this[_0x40d97a(0x113)](_0x173c69);if(_0x411c1c[_0x40d97a(0x177)]('/'))return{'absolutePath':'','error':'❌\x20路径不能使用绝对路径(不能以\x20/\x20开头)'};const _0x11d5ac=path_1['default'][_0x40d97a(0x182)](_0x5bdbbe,_0x411c1c);if(!_0x11d5ac[_0x40d97a(0x177)](_0x5bdbbe))return{'absolutePath':'','error':_0x40d97a(0x1c0)};return{'absolutePath':_0x11d5ac};}async[a2_0xd2a2b5(0x194)](_0x3985f8,_0x5b40c0,_0x174d48){const _0x29f5af=a2_0xd2a2b5,{absolutePath:_0x5e9cfe,error:_0xdac955}=this[_0x29f5af(0x1b5)](_0x3985f8,_0x174d48);if(_0xdac955){await this[_0x29f5af(0x178)]({'conversationId':_0x3985f8,'sessionWebhook':_0x5b40c0,'content':_0xdac955,'msgType':_0x29f5af(0x13b)});return;}try{const _0x3f07c9=fs_1['default'][_0x29f5af(0x1aa)](_0x5e9cfe);_0x3f07c9[_0x29f5af(0x1cb)]()?await this[_0x29f5af(0x178)]({'conversationId':_0x3985f8,'sessionWebhook':_0x5b40c0,'content':_0x29f5af(0x164)+_0x174d48+'`','msgType':'markdown'}):await this[_0x29f5af(0x178)]({'conversationId':_0x3985f8,'sessionWebhook':_0x5b40c0,'content':_0x29f5af(0x15d)+_0x174d48+'`','msgType':_0x29f5af(0x13b)});return;}catch{}try{fs_1[_0x29f5af(0x15a)]['mkdirSync'](_0x5e9cfe,{'recursive':!![]}),await this[_0x29f5af(0x178)]({'conversationId':_0x3985f8,'sessionWebhook':_0x5b40c0,'content':_0x29f5af(0x1a3)+_0x174d48+'`','msgType':_0x29f5af(0x13b)});}catch(_0x2c70da){await this['sendDingMessage']({'conversationId':_0x3985f8,'sessionWebhook':_0x5b40c0,'content':_0x29f5af(0x10d)+_0x174d48+_0x29f5af(0x19e)+(_0x2c70da instanceof Error?_0x2c70da['message']:String(_0x2c70da)),'msgType':_0x29f5af(0x13b)});}}async[a2_0xd2a2b5(0x1d9)](_0x46c94b,_0x13bc25,_0xc57e18){const _0x3b3097=a2_0xd2a2b5,{absolutePath:_0x1e5d31,error:_0x24b711}=this[_0x3b3097(0x1b5)](_0x46c94b,_0xc57e18);if(_0x24b711){await this['sendDingMessage']({'conversationId':_0x46c94b,'sessionWebhook':_0x13bc25,'content':_0x24b711,'msgType':_0x3b3097(0x13b)});return;}let _0x55fbe2;try{_0x55fbe2=fs_1[_0x3b3097(0x15a)][_0x3b3097(0x1aa)](_0x1e5d31);}catch{await this['sendDingMessage']({'conversationId':_0x46c94b,'sessionWebhook':_0x13bc25,'content':'❌\x20路径不存在:\x20`'+_0xc57e18+'`','msgType':_0x3b3097(0x13b)});return;}const _0x4a7c50=_0x55fbe2[_0x3b3097(0x1cb)]();try{_0x4a7c50?fs_1[_0x3b3097(0x15a)]['rmSync'](_0x1e5d31,{'recursive':!![],'force':!![]}):fs_1[_0x3b3097(0x15a)][_0x3b3097(0x1d0)](_0x1e5d31),await this[_0x3b3097(0x178)]({'conversationId':_0x46c94b,'sessionWebhook':_0x13bc25,'content':_0x3b3097(0x120)+(_0x4a7c50?'目录':'文件')+':\x20`'+_0xc57e18+'`','msgType':'markdown'});}catch(_0x13f26d){await this[_0x3b3097(0x178)]({'conversationId':_0x46c94b,'sessionWebhook':_0x13bc25,'content':_0x3b3097(0x16c)+_0xc57e18+'`\x0a原因:\x20'+(_0x13f26d instanceof Error?_0x13f26d['message']:String(_0x13f26d)),'msgType':_0x3b3097(0x13b)});}}async['handleTouchCommand'](_0x1556e3,_0x2ed064,_0x48119d){const _0x4829ac=a2_0xd2a2b5,{absolutePath:_0x351f2e,error:_0x7a322f}=this[_0x4829ac(0x1b5)](_0x1556e3,_0x48119d);if(_0x7a322f){await this[_0x4829ac(0x178)]({'conversationId':_0x1556e3,'sessionWebhook':_0x2ed064,'content':_0x7a322f,'msgType':_0x4829ac(0x13b)});return;}try{const _0x26dbbb=fs_1[_0x4829ac(0x15a)][_0x4829ac(0x1aa)](_0x351f2e);_0x26dbbb[_0x4829ac(0x1e7)]()?await this[_0x4829ac(0x178)]({'conversationId':_0x1556e3,'sessionWebhook':_0x2ed064,'content':_0x4829ac(0x116)+_0x48119d+_0x4829ac(0x225)+utils_ok_1[_0x4829ac(0x22e)]['mm'](_0x26dbbb[_0x4829ac(0x1f4)])['format'](_0x4829ac(0x1c8)),'msgType':_0x4829ac(0x13b)}):await this[_0x4829ac(0x178)]({'conversationId':_0x1556e3,'sessionWebhook':_0x2ed064,'content':_0x4829ac(0x1de)+_0x48119d+'`','msgType':'markdown'});return;}catch{}try{const _0x3ba94c=path_1[_0x4829ac(0x15a)][_0x4829ac(0x184)](_0x351f2e);fs_1[_0x4829ac(0x15a)][_0x4829ac(0x117)](_0x3ba94c,{'recursive':!![]}),fs_1[_0x4829ac(0x15a)]['writeFileSync'](_0x351f2e,'','utf-8'),await this['sendDingMessage']({'conversationId':_0x1556e3,'sessionWebhook':_0x2ed064,'content':_0x4829ac(0x1c5)+_0x48119d+'`','msgType':'markdown'});}catch(_0x1ebeff){await this[_0x4829ac(0x178)]({'conversationId':_0x1556e3,'sessionWebhook':_0x2ed064,'content':_0x4829ac(0x1a9)+_0x48119d+_0x4829ac(0x19e)+(_0x1ebeff instanceof Error?_0x1ebeff[_0x4829ac(0x148)]:String(_0x1ebeff)),'msgType':_0x4829ac(0x13b)});}}async['botMsgGetCallback'](_0x380555){const _0x3f0501=a2_0xd2a2b5;this[_0x3f0501(0x1a0)][_0x3f0501(0x224)](_0x380555[_0x3f0501(0x1ab)][_0x3f0501(0x1b7)],'');const _0x1a81f4=JSON[_0x3f0501(0x1df)](_0x380555[_0x3f0501(0x157)]),{senderNick:_0x513b2e,senderStaffId:_0x641995,conversationId:_0x2d3a95,conversationTitle:_0x1d1df1,sessionWebhook:_0xf8b31e,msgtype:_0x2983c9}=_0x1a81f4,_0x2a4cdc=_0x1a81f4[_0x3f0501(0x1c9)]?.[_0x3f0501(0x1f3)]?.[_0x3f0501(0x1ac)]()??'';this['debugLog'](_0x3f0501(0x10a)+_0x1d1df1+'('+_0x2d3a95+'),\x20发送者='+_0x513b2e+'('+_0x641995+_0x3f0501(0x20f)+_0x2983c9+',\x20内容='+_0x2a4cdc['substring'](0x0,0x32));if(!this[_0x3f0501(0x220)](_0x641995,_0x2d3a95)){await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'atUserId':_0x641995,'content':'抱歉,您暂无使用权限,请联系应用机器人owner授权...'});return;}const _0x17017b=this['getConversationConfig'](_0x2d3a95);let _0xc0f838;if(_0x2983c9==='picture'&&_0x1a81f4[_0x3f0501(0x20e)]){const _0xa537d8=this[_0x3f0501(0x113)](_0x2d3a95),_0x5eb417=_0x17017b?.[_0x3f0501(0x127)]!==![],_0x2fef2a=await(0x0,image_1[_0x3f0501(0x14c)])(this,_0x1a81f4[_0x3f0501(0x20e)],_0x1a81f4[_0x3f0501(0x17a)],_0xa537d8,_0x5eb417,_0x2a4cdc||undefined);if(!_0x2fef2a){await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'atUserId':_0x641995,'content':_0x3f0501(0x18e)});return;}_0xc0f838=_0x2fef2a;}else{if(_0x2983c9===_0x3f0501(0x236)&&_0x1a81f4[_0x3f0501(0x1f3)]?.['richText']){const _0x2c10d7=this[_0x3f0501(0x113)](_0x2d3a95),_0x23dc0c=_0x17017b?.[_0x3f0501(0x127)]!==![];_0xc0f838=await(0x0,image_1[_0x3f0501(0x201)])(this,_0x1a81f4[_0x3f0501(0x1f3)][_0x3f0501(0x236)],_0x1a81f4[_0x3f0501(0x17a)],_0x2c10d7,_0x23dc0c);}else{_0xc0f838=_0x2a4cdc;if(!_0xc0f838)return;}}if(!_0xc0f838[_0x3f0501(0x177)]('/')&&_0x2983c9===_0x3f0501(0x1c9)){const _0x14eed5=(0x0,quote_1[_0x3f0501(0x211)])(_0x1a81f4);if(_0x14eed5){this[_0x3f0501(0x221)](_0x3f0501(0x219)+_0x14eed5['quoteMessageId']);if(_0x14eed5[_0x3f0501(0x158)]&&!_0x14eed5[_0x3f0501(0x196)]){const _0x2c2459=await(0x0,messaging_1['fetchQuotedMessage'])(this,_0x14eed5[_0x3f0501(0x158)]);if(_0x2c2459)_0x14eed5[_0x3f0501(0x196)]=_0x2c2459;}_0x14eed5[_0x3f0501(0x196)]&&(_0xc0f838=(0x0,quote_1[_0x3f0501(0x155)])(_0xc0f838,_0x14eed5));}}const _0x2f6f19=_0x17017b?null:(0x0,commands_1['parseRegCommand'])(_0xc0f838);if(_0x2f6f19!==null){if(!await this[_0x3f0501(0x163)](_0x2d3a95,_0xf8b31e,_0x641995))return;const _0x29194d={'conversationId':_0x2d3a95,'conversationTitle':_0x2f6f19['conversationTitle']||_0x1d1df1};if(_0x2f6f19['dingToken'])_0x29194d[_0x3f0501(0x21f)]=_0x2f6f19[_0x3f0501(0x21f)];if(_0x2f6f19[_0x3f0501(0x228)])_0x29194d['linkConversationId']=_0x2f6f19[_0x3f0501(0x228)];_0x2f6f19[_0x3f0501(0x16f)]&&_0x2f6f19[_0x3f0501(0x16f)][_0x3f0501(0x238)]>0x0&&(_0x29194d[_0x3f0501(0x16f)]=_0x2f6f19[_0x3f0501(0x16f)]);this[_0x3f0501(0x188)][_0x3f0501(0x165)]['push'](_0x29194d),(0x0,api_key_manager_1['saveClientConfig'])(this);const _0x2e1c71=[_0x3f0501(0x239),_0x3f0501(0x202)+(_0x29194d[_0x3f0501(0x20a)]||'-'),_0x3f0501(0x16d)+_0x2d3a95];if(_0x29194d[_0x3f0501(0x21f)])_0x2e1c71['push'](_0x3f0501(0x1e2)+_0x29194d['dingToken'][_0x3f0501(0x191)](0x0,0x8)+'...');else _0x2e1c71[_0x3f0501(0x21a)]('-\x20**dingToken:**\x20(未指定,\x20使用\x20defaultDingToken)');if(_0x29194d[_0x3f0501(0x228)])_0x2e1c71[_0x3f0501(0x21a)]('-\x20**linkConversationId:**\x20'+_0x29194d[_0x3f0501(0x228)]);if(_0x29194d[_0x3f0501(0x16f)]?.[_0x3f0501(0x238)])_0x2e1c71[_0x3f0501(0x21a)](_0x3f0501(0x20b)+_0x29194d[_0x3f0501(0x16f)][_0x3f0501(0x107)](',\x20'));_0x2e1c71[_0x3f0501(0x21a)](_0x3f0501(0x181)),console[_0x3f0501(0x22b)]('['+(0x0,session_1[_0x3f0501(0x1a4)])()+_0x3f0501(0x1dd)+_0x29194d[_0x3f0501(0x20a)]+'('+_0x2d3a95+')'),await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x2e1c71[_0x3f0501(0x107)]('\x0a'),'msgType':_0x3f0501(0x13b)});return;}if(!_0x17017b){console[_0x3f0501(0x22b)](_0x3f0501(0x243)+_0x1d1df1+','+_0x2d3a95),await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'atUserId':_0x641995,'content':_0x3f0501(0x12f)+_0x2d3a95+')...'});return;}if((0x0,commands_1[_0x3f0501(0x1a1)])(_0xc0f838)){await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':(0x0,commands_1['formatHelpOverview'])(TOOL_VERSION,this[_0x3f0501(0x1c7)](_0x641995)),'msgType':_0x3f0501(0x13b)});return;}if((0x0,commands_1[_0x3f0501(0x229)])(_0xc0f838)){await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':'**版本:**\x20'+TOOL_VERSION+_0x3f0501(0x216),'msgType':'markdown'});return;}const _0x308fdb=(0x0,commands_1[_0x3f0501(0x10f)])(_0xc0f838);if(_0x308fdb!==null){if(!await this['requireOwner'](_0x2d3a95,_0xf8b31e,_0x641995))return;const _0x525719=_0x308fdb===_0x3f0501(0x11c)?null:_0x2d3a95,_0x3fc9fc=this[_0x3f0501(0x140)](_0x525719,!![]),_0x22486e=[];_0x22486e[_0x3f0501(0x21a)](_0x3f0501(0x1c3));if(_0x3fc9fc[_0x3f0501(0x227)]>0x0)_0x22486e[_0x3f0501(0x21a)](_0x3f0501(0x180)+_0x3fc9fc[_0x3f0501(0x227)]+'\x20个');if(_0x3fc9fc['tasksDeleted']>0x0)_0x22486e[_0x3f0501(0x21a)](_0x3f0501(0x132)+_0x3fc9fc[_0x3f0501(0x213)]+'\x20个');if(_0x3fc9fc['imagesDeleted']>0x0)_0x22486e[_0x3f0501(0x21a)]('-\x20图片文件:\x20'+_0x3fc9fc[_0x3f0501(0x1b2)]+'\x20个');_0x3fc9fc['sessionsDeleted']===0x0&&_0x3fc9fc['tasksDeleted']===0x0&&_0x3fc9fc[_0x3f0501(0x1b2)]===0x0&&_0x22486e[_0x3f0501(0x21a)](_0x3f0501(0x1a7));_0x22486e[_0x3f0501(0x21a)]('\x0a💡\x20活跃会话已保留');_0x3fc9fc[_0x3f0501(0x189)]['length']>0x0&&_0x22486e[_0x3f0501(0x21a)](_0x3f0501(0x242)+_0x3fc9fc[_0x3f0501(0x189)][_0x3f0501(0x107)](';\x20'));await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x22486e[_0x3f0501(0x107)]('\x0a'),'msgType':_0x3f0501(0x13b)});return;}if((0x0,commands_1[_0x3f0501(0x17f)])(_0xc0f838)){if(!await this[_0x3f0501(0x163)](_0x2d3a95,_0xf8b31e,_0x641995))return;if(!this[_0x3f0501(0x188)][_0x3f0501(0x1e6)]){await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x13d),'msgType':_0x3f0501(0x13b)});return;}(0x0,api_key_manager_1[_0x3f0501(0x22a)])(this);const _0x455b50=this[_0x3f0501(0x188)][_0x3f0501(0x1e6)][_0x3f0501(0x12a)][_0x3f0501(0x160)](_0x1bb136=>_0x1bb136[_0x3f0501(0x1ca)])[_0x3f0501(0x238)];await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x1c2)+_0x455b50+'/'+this['config'][_0x3f0501(0x1e6)][_0x3f0501(0x12a)]['length']+_0x3f0501(0x153)+(this[_0x3f0501(0x188)][_0x3f0501(0x1e6)][_0x3f0501(0x1e5)]||'-'),'msgType':_0x3f0501(0x13b)});return;}const _0x431126=(0x0,commands_1[_0x3f0501(0x172)])(_0xc0f838);if(_0x431126){if(!await this[_0x3f0501(0x163)](_0x2d3a95,_0xf8b31e,_0x641995))return;if(!_0x17017b){await this['sendDingMessage']({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':'⚠️\x20当前群未注册,请先使用\x20/reg\x20注册','msgType':_0x3f0501(0x13b)});return;}const _0x58debd=_0x17017b[_0x3f0501(0x16f)];if(_0x431126['type']==='list'){const _0x16b19b=_0x58debd&&_0x58debd[_0x3f0501(0x238)]>0x0?_0x58debd[_0x3f0501(0x1d7)](_0x46566d=>'-\x20'+_0x46566d)[_0x3f0501(0x107)]('\x0a'):'(未配置群级白名单,使用全局白名单)';await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x18c)+_0x16b19b,'msgType':_0x3f0501(0x13b)});return;}if(_0x431126[_0x3f0501(0x23a)]===_0x3f0501(0x23e)){if(_0x58debd&&_0x58debd[_0x3f0501(0x1ad)](_0x431126[_0x3f0501(0x146)])){await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':'⚠️\x20userId\x20'+_0x431126[_0x3f0501(0x146)]+_0x3f0501(0x19c),'msgType':'markdown'});return;}!_0x17017b['whiteUserList']&&(_0x17017b[_0x3f0501(0x16f)]=[]);_0x17017b['whiteUserList']['push'](_0x431126['staffId']),(0x0,api_key_manager_1['saveClientConfig'])(this),await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':'✅\x20已添加userId\x20'+_0x431126['staffId']+_0x3f0501(0x1f1)+_0x17017b[_0x3f0501(0x16f)][_0x3f0501(0x107)](',\x20'),'msgType':_0x3f0501(0x13b)});return;}if(_0x431126[_0x3f0501(0x23a)]===_0x3f0501(0x235)){if(!_0x58debd||!_0x58debd[_0x3f0501(0x1ad)](_0x431126[_0x3f0501(0x146)])){await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x147)+_0x431126['staffId']+_0x3f0501(0x192),'msgType':_0x3f0501(0x13b)});return;}_0x17017b['whiteUserList']=_0x58debd['filter'](_0x367cae=>_0x367cae!==_0x431126[_0x3f0501(0x146)]);_0x17017b[_0x3f0501(0x16f)][_0x3f0501(0x238)]===0x0&&delete _0x17017b[_0x3f0501(0x16f)];(0x0,api_key_manager_1[_0x3f0501(0x159)])(this);const _0x22a559=_0x17017b[_0x3f0501(0x16f)]?.[_0x3f0501(0x238)]?_0x17017b[_0x3f0501(0x16f)][_0x3f0501(0x107)](',\x20'):'(空,使用全局白名单)';await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x10b)+_0x431126[_0x3f0501(0x146)]+_0x3f0501(0x179)+_0x22a559,'msgType':'markdown'});return;}}const _0x23d43b=(0x0,commands_1[_0x3f0501(0x152)])(_0xc0f838);if(_0x23d43b!==null){if(!await this[_0x3f0501(0x163)](_0x2d3a95,_0xf8b31e,_0x641995))return;const _0x366bda=this[_0x3f0501(0x113)](_0x2d3a95),{exec:_0x974f20}=await Promise['resolve']()['then'](()=>__importStar(require('child_process'))),_0x5cc978=process[_0x3f0501(0x1b8)];try{_0x23d43b===_0x3f0501(0x131)?(_0x5cc978===_0x3f0501(0x1fa)?_0x974f20(_0x3f0501(0x115)+_0x366bda+'\x22'):_0x974f20(_0x3f0501(0x1d8)+_0x366bda+'\x22'),await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x1da)+_0x366bda+_0x3f0501(0x222),'msgType':_0x3f0501(0x13b)})):(_0x5cc978===_0x3f0501(0x1fa)?_0x974f20('open\x20-a\x20Terminal\x20\x22'+_0x366bda+'\x22'):_0x974f20(_0x3f0501(0x137)+_0x366bda+'\x22',{'shell':'cmd.exe'}),await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x233)+_0x366bda+_0x3f0501(0x222),'msgType':_0x3f0501(0x13b)}));}catch(_0x30083a){await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x237)+(_0x30083a instanceof Error?_0x30083a['message']:String(_0x30083a)),'msgType':_0x3f0501(0x13b)});}return;}const _0x2990ad=(0x0,commands_1['parseCommandHelp'])(_0xc0f838);if(_0x2990ad){const _0x3b4c6d=(0x0,commands_1[_0x3f0501(0x23f)])(_0x2990ad);_0x3b4c6d?await this['sendDingMessage']({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':(0x0,commands_1[_0x3f0501(0x108)])(_0x3b4c6d),'msgType':_0x3f0501(0x13b)}):await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x134)+_0x2990ad+_0x3f0501(0x1e3),'msgType':_0x3f0501(0x13b)});return;}const _0x4b15a9=(0x0,commands_1[_0x3f0501(0x241)])(_0xc0f838);if(_0x4b15a9){await this[_0x3f0501(0x1d3)](_0x4b15a9,{'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'senderStaffId':_0x641995,'senderNick':_0x513b2e,'conversationConfig':_0x17017b});return;}if((0x0,commands_1[_0x3f0501(0x203)])(_0xc0f838)){const _0x537b2c=this[_0x3f0501(0x113)](_0x2d3a95);await this['sendDingMessage']({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x151)+_0x537b2c+_0x3f0501(0x222),'msgType':'markdown'});return;}const _0x2eefb0=(0x0,commands_1[_0x3f0501(0x130)])(_0xc0f838);if(_0x2eefb0!==null){await this[_0x3f0501(0x194)](_0x2d3a95,_0xf8b31e,_0x2eefb0);return;}const _0x4c60df=(0x0,commands_1[_0x3f0501(0x19a)])(_0xc0f838);if(_0x4c60df!==null){await this['handleTouchCommand'](_0x2d3a95,_0xf8b31e,_0x4c60df);return;}const _0x16cdda=(0x0,commands_1[_0x3f0501(0x21b)])(_0xc0f838);if(_0x16cdda!==null){await this[_0x3f0501(0x1d9)](_0x2d3a95,_0xf8b31e,_0x16cdda);return;}if(_0xc0f838[_0x3f0501(0x1c4)]()['startsWith'](_0x3f0501(0x125))){const _0xc77ab9=this[_0x3f0501(0x1f8)](_0x2d3a95);_0xc77ab9&&(console[_0x3f0501(0x22b)]('收到新会话命令,结束旧会话:\x20群='+_0xc77ab9['session']['session']['conversationId']+_0x3f0501(0x231)+this['getSessionId'](_0xc77ab9[_0x3f0501(0x208)][_0x3f0501(0x208)])),this[_0x3f0501(0x1b0)](_0xc77ab9['session'],'新会话命令中断正在执行的\x20Claude\x20进程'),this[_0x3f0501(0x230)]['delete'](_0xc77ab9[_0x3f0501(0x234)]),this[_0x3f0501(0x1e9)](_0xc77ab9['key']));const _0x28753b=_0xc0f838[_0x3f0501(0x1a6)](/^\/new\s*/i,'')[_0x3f0501(0x1ac)]();_0x28753b?await this['startNewSession']({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'senderStaffId':_0x641995,'senderNick':_0x513b2e,'message':_0x28753b,'conversationConfig':_0x17017b}):await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'atUserId':_0x641995,'content':'🚀\x20请输入您的问题开始新会话'});return;}const _0x5501bf=(0x0,commands_1[_0x3f0501(0x20d)])(_0xc0f838);if(_0x5501bf!==null&&_0x17017b){let _0x510261=_0x5501bf;if(!_0x510261){const _0x14f6ea=(0x0,session_1[_0x3f0501(0x1bf)])(this,_0x2d3a95);if(!_0x14f6ea){await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'atUserId':_0x641995,'content':_0x3f0501(0x22d),'msgType':_0x3f0501(0x13b)});return;}_0x510261=(0x0,session_1[_0x3f0501(0x11d)])(_0x14f6ea);}await this[_0x3f0501(0x1a5)](_0x2d3a95,_0xf8b31e,_0x510261,_0x641995,_0x17017b);return;}const _0x5b75b9=(0x0,commands_1['parseLogCommand'])(_0xc0f838);if(_0x5b75b9!==null){const _0x1cdda7=this[_0x3f0501(0x124)](_0x2d3a95,_0x5b75b9);_0x1cdda7?await this['sendDingMessage']({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':'📋\x20最近\x20'+_0x5b75b9+_0x3f0501(0x118)+_0x1cdda7+_0x3f0501(0x222),'msgType':_0x3f0501(0x13b)}):await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':'⚠️\x20当前无活跃会话或暂无日志'});return;}const _0x195836=(0x0,commands_1[_0x3f0501(0x119)])(_0xc0f838);if(_0x195836!==null){const _0x17639d=[];(_0x195836===_0x3f0501(0x11c)||_0x195836==='robot')&&_0x17639d['push'](_0x3f0501(0x171)+(0x0,commands_1[_0x3f0501(0x13e)])(_0x17017b,_0x2d3a95));if(_0x195836===_0x3f0501(0x11c)||_0x195836==='session'){const _0x47d237=this['formatSessionInfo'](_0x2d3a95);_0x47d237?_0x17639d[_0x3f0501(0x21a)](_0x3f0501(0x186)+_0x47d237):_0x17639d[_0x3f0501(0x21a)](_0x3f0501(0x14f));}(_0x195836==='all'||_0x195836===_0x3f0501(0x11a))&&_0x17639d['push'](_0x3f0501(0x1a8)+this['formatTaskInfo']());await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x17639d[_0x3f0501(0x107)]('\x0a\x0a'),'msgType':_0x3f0501(0x13b)});return;}const _0x372d41=(0x0,commands_1['parseLsCommand'])(_0xc0f838);if(_0x372d41!==null){const {target:_0x5775a3,depth:_0x7ed4b8}=_0x372d41,_0x447e89=this[_0x3f0501(0x113)](_0x2d3a95);let _0x320eaf=_0x447e89,_0x118bb2=_0x3f0501(0x1d2);if(_0x5775a3&&_0x5775a3!==_0x3f0501(0x170)){if(_0x5775a3['startsWith']('./')||_0x5775a3['startsWith'](_0x3f0501(0x112))||_0x5775a3[_0x3f0501(0x177)]('/')){const _0x5df961=path_1[_0x3f0501(0x15a)][_0x3f0501(0x182)](_0x447e89,_0x5775a3);if(fs_1[_0x3f0501(0x15a)][_0x3f0501(0x190)](_0x5df961)&&fs_1[_0x3f0501(0x15a)][_0x3f0501(0x1aa)](_0x5df961)[_0x3f0501(0x1cb)]()){if(!_0x5df961['startsWith'](_0x447e89)){await this['sendDingMessage']({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':'❌\x20路径超出工作目录范围','msgType':_0x3f0501(0x13b)});return;}_0x320eaf=_0x5df961,_0x118bb2=_0x5775a3;}else{await this['sendDingMessage']({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x145)+_0x5775a3+'**','msgType':_0x3f0501(0x13b)});return;}}else{const _0x4d71dd=(0x0,commands_1[_0x3f0501(0x176)])(_0x447e89,_0x5775a3);if(_0x4d71dd)_0x320eaf=_0x4d71dd,_0x118bb2=_0x5775a3;else{await this['sendDingMessage']({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0x3f0501(0x204)+_0x5775a3+_0x3f0501(0x121),'msgType':_0x3f0501(0x13b)});return;}}}const _0x7c6c1=(0x0,commands_1[_0x3f0501(0x193)])(_0x320eaf,0x0,_0x7ed4b8);await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':'📂\x20'+_0x118bb2+_0x3f0501(0x1a2)+_0x7ed4b8+_0x3f0501(0x226)+_0x7c6c1+_0x3f0501(0x222),'msgType':_0x3f0501(0x13b)});return;}const _0x30e913=(0x0,task_1[_0x3f0501(0x12b)])(_0xc0f838);if(_0x30e913){const _0xee0f67=this[_0x3f0501(0x17c)](_0x30e913,_0x2d3a95);await this['sendDingMessage']({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'content':_0xee0f67,'msgType':_0x3f0501(0x13b)});return;}if(_0xc0f838[_0x3f0501(0x177)]('/task\x20')){const _0x3b1b1c=_0xc0f838['substring'](0x6)[_0x3f0501(0x1ac)]();_0x3b1b1c&&(await this[_0x3f0501(0x178)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'atUserId':_0x641995,'content':_0x3f0501(0x1f6)}),await this[_0x3f0501(0x12e)]({'conversationId':_0x2d3a95,'prompt':_0x3b1b1c,'senderStaffId':_0x641995,'senderNickName':_0x513b2e,'sessionWebhook':_0xf8b31e}));return;}await this[_0x3f0501(0x22f)]({'conversationId':_0x2d3a95,'sessionWebhook':_0xf8b31e,'senderStaffId':_0x641995,'senderNick':_0x513b2e,'message':_0xc0f838,'conversationConfig':_0x17017b});}async[a2_0xd2a2b5(0x142)](){const _0x4a9882=a2_0xd2a2b5,_0x177ea8=this['config'][_0x4a9882(0x143)]??this[_0x4a9882(0x240)],_0x43b10a=this[_0x4a9882(0x188)][_0x4a9882(0x165)]['length']>0x0;console[_0x4a9882(0x22b)]('['+(0x0,session_1[_0x4a9882(0x1a4)])()+_0x4a9882(0x207)+this[_0x4a9882(0x144)]),console[_0x4a9882(0x22b)]('['+(0x0,session_1[_0x4a9882(0x1a4)])()+_0x4a9882(0x1b3)+this[_0x4a9882(0x188)][_0x4a9882(0x165)]['map'](_0x355a68=>_0x355a68[_0x4a9882(0x20a)]||_0x355a68[_0x4a9882(0x1ea)])[_0x4a9882(0x107)](',\x20')),(0x0,api_key_manager_1[_0x4a9882(0x23b)])(this),(0x0,api_key_manager_1['resetApiKeyCfg'])(this),(0x0,api_key_manager_1['scheduleApiKeyCfgDailyReset'])(this),this[_0x4a9882(0x214)](),this[_0x4a9882(0x1f5)][_0x4a9882(0x1fe)]();_0x43b10a&&console[_0x4a9882(0x22b)]('['+(0x0,session_1[_0x4a9882(0x1a4)])()+_0x4a9882(0x19d)+_0x177ea8);this[_0x4a9882(0x1a0)][_0x4a9882(0x195)](_0x4a9882(0x15b),async _0x4bff42=>{const _0x46ae0d=_0x4a9882;await this[_0x46ae0d(0x11f)](_0x4bff42);});const _0x4dc1d9=[];if(_0x43b10a)for(let _0x59ebeb=0x0;_0x59ebeb<_0x177ea8;_0x59ebeb++){console[_0x4a9882(0x22b)]('['+(0x0,session_1['timestamp'])()+_0x4a9882(0x167)+(_0x59ebeb+0x1)),_0x4dc1d9[_0x4a9882(0x21a)](this[_0x4a9882(0x109)]()[_0x4a9882(0x110)](_0x2d51b3=>console['error'](_0x4a9882(0x122)+(_0x59ebeb+0x1)+_0x4a9882(0x1dc),_0x2d51b3)));}const _0x434ac6=this[_0x4a9882(0x1a0)][_0x4a9882(0x19f)]()[_0x4a9882(0x110)](_0x288a64=>{const _0x422a31=_0x4a9882;console[_0x422a31(0x19b)](_0x422a31(0x1bc),_0x288a64),process[_0x422a31(0x14d)](0x1);});await Promise[_0x4a9882(0x11c)]([_0x434ac6,..._0x4dc1d9]);}}exports['DingClaude']=DingClaude;
@@ -0,0 +1 @@
1
+ 'use strict';const a3_0xba3382=a3_0x399c;(function(_0x58d7ce,_0x5ea0eb){const _0x1f37a3=a3_0x399c,_0x6bf79d=_0x58d7ce();while(!![]){try{const _0x14ad6f=parseInt(_0x1f37a3(0x1fd))/0x1*(parseInt(_0x1f37a3(0x1e8))/0x2)+parseInt(_0x1f37a3(0x273))/0x3*(-parseInt(_0x1f37a3(0x214))/0x4)+-parseInt(_0x1f37a3(0x20b))/0x5*(parseInt(_0x1f37a3(0x282))/0x6)+parseInt(_0x1f37a3(0x215))/0x7+-parseInt(_0x1f37a3(0x28f))/0x8*(parseInt(_0x1f37a3(0x226))/0x9)+parseInt(_0x1f37a3(0x276))/0xa*(-parseInt(_0x1f37a3(0x207))/0xb)+parseInt(_0x1f37a3(0x256))/0xc*(parseInt(_0x1f37a3(0x220))/0xd);if(_0x14ad6f===_0x5ea0eb)break;else _0x6bf79d['push'](_0x6bf79d['shift']());}catch(_0x1d791f){_0x6bf79d['push'](_0x6bf79d['shift']());}}}(a3_0x2277,0x5932e));var __importDefault=this&&this['__importDefault']||function(_0x416a39){const _0x269d33=a3_0x399c;return _0x416a39&&_0x416a39[_0x269d33(0x21d)]?_0x416a39:{'default':_0x416a39};};Object[a3_0xba3382(0x293)](exports,a3_0xba3382(0x21d),{'value':!![]}),exports['resolveClaudeSettingsPath']=resolveClaudeSettingsPath,exports[a3_0xba3382(0x228)]=isRetryableApiError,exports[a3_0xba3382(0x271)]=parseClaudeStreamLine,exports[a3_0xba3382(0x1ec)]=interruptClaudeProcess,exports[a3_0xba3382(0x21e)]=executeClaudeQuery;function a3_0x399c(_0x14aeb8,_0x594243){_0x14aeb8=_0x14aeb8-0x1e2;const _0x227715=a3_0x2277();let _0x399c3b=_0x227715[_0x14aeb8];return _0x399c3b;}const fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a3_0xba3382(0x22b))),readline_1=__importDefault(require(a3_0xba3382(0x292))),child_process_1=require('child_process'),messaging_1=require(a3_0xba3382(0x1f1)),session_1=require('./session'),api_key_manager_1=require(a3_0xba3382(0x213)),MAX_FAST_FAIL=0x14,API_RETRY_DELAY_MS=0x2710,FAST_FAIL_THRESHOLD_MS=0x2710;function resolveClaudeSettingsPath(_0x2ded7b,_0x5f5124,_0x8d9a8a){const _0x10ed55=a3_0xba3382,_0x428bb4=(0x0,api_key_manager_1['getForceEnabledSettingsPath'])(_0x5f5124);if(_0x428bb4)return _0x428bb4;if(_0x2ded7b[_0x10ed55(0x26c)][_0x10ed55(0x269)]){const _0x4dff58=(0x0,api_key_manager_1['readApiKeyFromSettings'])(_0x5f5124);let _0x13ef1e=null;_0x4dff58&&(_0x13ef1e=_0x2ded7b['config'][_0x10ed55(0x269)][_0x10ed55(0x26b)][_0x10ed55(0x263)](_0x4e0af6=>_0x4e0af6[_0x10ed55(0x212)]===_0x4dff58&&_0x4e0af6['isValid'])||null);!_0x13ef1e&&(_0x13ef1e=(0x0,api_key_manager_1[_0x10ed55(0x258)])(_0x2ded7b));if(_0x13ef1e)return(0x0,api_key_manager_1[_0x10ed55(0x26f)])(_0x5f5124,_0x13ef1e);}if(_0x2ded7b[_0x10ed55(0x26c)][_0x10ed55(0x269)])return undefined;if(_0x8d9a8a)return _0x8d9a8a;const _0x4e20bb=path_1[_0x10ed55(0x24d)]['join'](_0x5f5124,_0x10ed55(0x257),_0x10ed55(0x280));if(fs_1[_0x10ed55(0x24d)][_0x10ed55(0x27c)](_0x4e20bb))return console[_0x10ed55(0x1f4)]('['+(0x0,session_1[_0x10ed55(0x270)])()+_0x10ed55(0x1f8)+_0x4e20bb),_0x4e20bb;return undefined;}function isRetryableApiError(_0x5b69db){const _0x2442fe=a3_0xba3382;if(/\b429\b/[_0x2442fe(0x27b)](_0x5b69db)&&!(0x0,api_key_manager_1['isQuotaExhaustedError'])(_0x5b69db))return!![];if(/API\s*Error.*422/i['test'](_0x5b69db))return!![];if(/\b422\b.*(?:TPM|额度超限|rate\s*limit|tokens?\s*per\s*minute)/i[_0x2442fe(0x27b)](_0x5b69db))return!![];if(/(?:TPM|额度超限).*\b422\b/i[_0x2442fe(0x27b)](_0x5b69db))return!![];const _0x30827f=_0x5b69db[_0x2442fe(0x242)](),_0x46520c=['rate\x20limit',_0x2442fe(0x254),'ratelimit',_0x2442fe(0x210),'tokens\x20per\x20minute',_0x2442fe(0x25f),'rpm\x20limit','overloaded',_0x2442fe(0x28b),'temporarily\x20unavailable'];return _0x46520c['some'](_0x1794ef=>_0x30827f[_0x2442fe(0x277)](_0x1794ef));}function sleep(_0x3b96de){return new Promise(_0x9c12ca=>setTimeout(_0x9c12ca,_0x3b96de));}class RetryableApiError extends Error{constructor(_0x771211,_0x1d2119=''){const _0x33323d=a3_0xba3382;super(_0x33323d(0x28c)+(_0x771211?_0x33323d(0x26a):'')),this[_0x33323d(0x247)]=_0x33323d(0x204),this['isFastFail']=_0x771211,this[_0x33323d(0x237)]=_0x1d2119;}}function isPermissionError(_0x418d4f){const _0x5e3865=a3_0xba3382,_0x3d3c4c=_0x418d4f[_0x5e3865(0x242)](),_0x27b328=[_0x5e3865(0x26e),'permission_required','needs\x20permission',_0x5e3865(0x201),'authorization\x20required',_0x5e3865(0x249),_0x5e3865(0x240),_0x5e3865(0x239),_0x5e3865(0x21b),_0x5e3865(0x1e5),'没有权限'];return _0x27b328[_0x5e3865(0x21a)](_0xaca8d2=>_0x3d3c4c['includes'](_0xaca8d2));}function parseClaudeStreamLine(_0x52e913,_0x572f47=![]){const _0x240c99=a3_0xba3382;if(!_0x52e913[_0x240c99(0x27f)]())return null;try{const _0x1feb7b=JSON['parse'](_0x52e913);if(_0x1feb7b[_0x240c99(0x1e2)]===_0x240c99(0x291)&&_0x1feb7b[_0x240c99(0x25d)]==='init'&&_0x1feb7b[_0x240c99(0x262)])return{'type':_0x240c99(0x291),'sessionId':_0x1feb7b[_0x240c99(0x262)]};if(_0x1feb7b[_0x240c99(0x1e2)]==='assistant'){const _0x135748=_0x1feb7b[_0x240c99(0x248)]?.[_0x240c99(0x289)];if(Array[_0x240c99(0x272)](_0x135748)){const _0x2b992e=[];for(const _0x4c0114 of _0x135748){if(_0x4c0114[_0x240c99(0x1e2)]==='text'&&_0x4c0114[_0x240c99(0x25e)])_0x2b992e[_0x240c99(0x21f)](_0x4c0114[_0x240c99(0x25e)]);else _0x4c0114['type']===_0x240c99(0x227)&&_0x4c0114[_0x240c99(0x227)]&&_0x572f47&&_0x2b992e[_0x240c99(0x21f)](_0x240c99(0x1ed)+_0x4c0114[_0x240c99(0x227)]+_0x240c99(0x27e));}if(_0x2b992e[_0x240c99(0x1ea)]>0x0)return{'type':_0x240c99(0x244),'content':_0x2b992e[_0x240c99(0x1f5)]('\x0a')};}else{if(_0x1feb7b[_0x240c99(0x289)])return{'type':_0x240c99(0x244),'content':typeof _0x1feb7b[_0x240c99(0x289)]===_0x240c99(0x1fb)?_0x1feb7b[_0x240c99(0x289)]:JSON['stringify'](_0x1feb7b['content'])};}return{'type':_0x240c99(0x244)};}if(_0x1feb7b[_0x240c99(0x1e2)]===_0x240c99(0x294)){const _0xdf2062=_0x1feb7b[_0x240c99(0x294)]||'';return{'type':_0x240c99(0x294),'content':typeof _0xdf2062===_0x240c99(0x1fb)?_0xdf2062:JSON[_0x240c99(0x274)](_0xdf2062)};}return{'type':_0x1feb7b['type']||_0x240c99(0x28d)};}catch{return{'type':_0x240c99(0x25e),'content':_0x52e913};}}function a3_0x2277(){const _0x277d0e=['startStaffId','assistant','now','[Claude\x20stderr]:\x20','name','message','authorize','claudeSessionId',']\x20执行\x20Claude\x20查询[原生claude\x20模式]:\x20',']\x20[SYSTEM]:\x20TPM\x20限流,发送\x22继续\x22重试\x20(快速失败连续','default','toString','description','--settings','⚠️\x20当前无可用配额(无可用\x20API\x20Key),请明天再试或联系管理员','has','warn','rate_limit','pattern','5878452sflvmt','.claude','pickValidApiKey',',\x20stderr匹配=','lastSenderStaffId','resultOnly','mkdirSync','subtype','text','requests\x20per\x20minute','--output-format','conversationId','session_id','find','--verbose','interrupted','tool','发送消息:\x20',']\x20API\x20Key\x20配额耗尽(429),切换到新\x20Key:\x20','apiKeyCfg','\x20[fast\x20fail]','claudeSettings','config','settingLabel','permission\x20denied','ensureSettingsWithApiKey','timestamp','parseClaudeStreamLine','isArray','1538667OJliJy','stringify','isFastFail','170NJhKol','includes',']\x20检测到需要授权,通知用户','sendDingMessage','...','test','existsSync','次,放弃','\x0a```','trim','settings.json','\x20──\x20消息来自:\x20','6fjgJgq','updateSessionFile','stderr','次,放弃\x0a','/session.log',']\x20Claude\x20进程退出,代码:\x20','pipe','content','isQuotaExhaustedError','capacity','Retryable\x20API\x20error\x20(TPM\x20limit\x20etc.)','unknown',']\x20[SYSTEM]:\x20Claude\x20查询结束,退出码:\x20','32yHmsLg',']\x20用户主动中断,忽略错误','system','readline','defineProperty','result','stdin','type','input','⚠️\x20认证失败(401),API\x20Key\x20无效或服务未授权,请检查配置','权限不足',']\x20TPM\x20限流快速失败连续','\x20次,切换到新\x20Key:\x20','5342NBSTCb',']\x20[Claude\x20stderr]\x20配额耗尽错误(429):\x20','length','getReplyConversationId','interruptClaudeProcess','💭\x20**思考过程**\x0a```\x0a','s\x20后重试\x0a','command','end','./messaging','getSessionDir','sessionId','log','join','kill','get',']\x20自动检测到\x20settings.json:\x20','activeSessions','settings','string','utf-8','127nRTWPN','write',']\x20[WARN]:\x20','s\x20后重试\x20(','requires\x20permission',']\x20检测到\x20TPM\x20限流(进程已运行一段时间),重置快速失败计数,','sendClaudeResponseToDing','RetryableApiError',']\x20[RAW]:\x20','SIGINT','19393eveCvu','currentProcess',']\x20Claude\x20进程正常退出但未产生任何回复内容','Claude\x20进程退出,代码:\x20','404290ylOSYJ','substring','getReplyWebhook','error','⚠️\x20当前无可用配额/API\x20Key,请明天再试或联系管理员','too\x20many\x20requests','file_path','apiKey','./api-key-manager','4FZgDbq','1622495aJLbaE','Claude\x20进程错误:','⚠️\x20Claude\x20需要授权,请人工介入',']\x20恢复\x20Claude\x20会话:\x20','spawn','some','需要授权',']\x20[ERROR]:\x20','__esModule','executeClaudeQuery','push','26IriovW','stream-json','isValid',']\x20[SYSTEM]:\x20TPM\x20限流连续快速失败,切换到新\x20Key\x0a','add','appendSessionLog','1263753NMFwjZ','thinking','isRetryableApiError','--agent',']\x20[SYSTEM]:\x20TPM\x20限流,','path','debug','debugLog','\x20(重试)','appendFileSync','发送钉钉消息失败:','--permission-mode','getForceEnabledSettingsPath','readApiKeyFromSettings','includeThinking','line','user','output','catch','access\x20denied',']\x20[WARN]:\x20Claude\x20进程正常退出但未产生任何回复内容\x0a',']\x20检测到配额耗尽错误(429),stdout匹配=','rotateApiKey',']\x20[SYSTEM]:\x20API\x20Key\x20配额耗尽(429),切换到新\x20Key\x0a','--resume','⚠️\x20Claude\x20处理完成但未返回任何内容,请重试或换种方式提问','not\x20authorized','prompt','toLowerCase'];a3_0x2277=function(){return _0x277d0e;};return a3_0x2277();}function interruptClaudeProcess(_0x4101e2,_0xae2f56){const _0x3928eb=a3_0xba3382;if(!_0x4101e2[_0x3928eb(0x208)])return![];return console[_0x3928eb(0x1f4)]('['+(0x0,session_1[_0x3928eb(0x270)])()+']\x20'+_0xae2f56),_0x4101e2[_0x3928eb(0x265)]=!![],_0x4101e2[_0x3928eb(0x208)][_0x3928eb(0x1f6)](_0x3928eb(0x206)),!![];}function runClaudeOnce(_0xf1a8a1,_0x4e4657,_0x47ca1b,_0x577a1a,_0x372cff,_0x16e4c5,_0x2d6a1e){const _0x16772d=a3_0xba3382;let _0x37497e=_0xf1a8a1['getSessionDir'](_0x4e4657),_0x2feb97=_0x37497e+_0x16772d(0x286);const _0x241200=Date[_0x16772d(0x245)]();return new Promise((_0x4739af,_0x5f0fef)=>{const _0x5c61bb=_0x16772d,_0xdad55d=(0x0,child_process_1[_0x5c61bb(0x219)])(_0x577a1a,_0x47ca1b,{'cwd':_0x372cff,'stdio':[_0x5c61bb(0x288),_0x5c61bb(0x288),'pipe']}),_0x54e19a=_0xf1a8a1['activeSessions'][_0x5c61bb(0x1f7)](_0x4e4657[_0x5c61bb(0x261)]);_0x54e19a&&(_0x54e19a[_0x5c61bb(0x208)]=_0xdad55d);fs_1[_0x5c61bb(0x24d)][_0x5c61bb(0x22f)](_0x2feb97,'['+(0x0,session_1[_0x5c61bb(0x270)])()+']\x20[SYSTEM]:\x20Claude\x20查询启动'+(_0x2d6a1e?_0x5c61bb(0x22e):'')+'\x0a',_0x5c61bb(0x1fc)),_0xdad55d[_0x5c61bb(0x295)]?.[_0x5c61bb(0x1fe)](_0x16e4c5+'\x0a'),_0xdad55d[_0x5c61bb(0x295)]?.[_0x5c61bb(0x1f0)]();let _0x3007fc=!_0x2d6a1e&&!!_0x4e4657[_0x5c61bb(0x24a)],_0x5d6ab5=[],_0x38cfda='',_0x1f5526='',_0x37e4d5=![];const _0x8b094d=new Set(),_0x5683bc=readline_1['default']['createInterface']({'input':_0xdad55d['stdout']});_0x5683bc['on'](_0x5c61bb(0x235),_0x6ee30e=>{const _0x524511=_0x5c61bb;_0x1f5526+=_0x6ee30e+'\x0a',_0xf1a8a1[_0x524511(0x22d)]('Claude\x20stdout:\x20'+_0x6ee30e[_0x524511(0x20c)](0x0,0xc8)+(_0x6ee30e['length']>0xc8?_0x524511(0x27a):''));if(_0xf1a8a1[_0x524511(0x26c)][_0x524511(0x22c)])try{fs_1['default'][_0x524511(0x22f)](_0x2feb97,'['+(0x0,session_1['timestamp'])()+_0x524511(0x205)+_0x6ee30e+'\x0a',_0x524511(0x1fc));}catch{}const _0xd269ef=parseClaudeStreamLine(_0x6ee30e,_0xf1a8a1['config'][_0x524511(0x234)]??![]);if(_0xd269ef){_0xd269ef['type']===_0x524511(0x291)&&_0xd269ef['sessionId']&&!_0x3007fc&&(_0xf1a8a1[_0x524511(0x283)](_0x4e4657,{'claudeSessionId':_0xd269ef[_0x524511(0x1f3)]}),_0x3007fc=!![],_0x37497e=_0xf1a8a1[_0x524511(0x1f2)](_0x4e4657),_0x2feb97=_0x37497e+_0x524511(0x286));if(_0xd269ef[_0x524511(0x1e2)]==='assistant'){try{const _0x533cf2=JSON['parse'](_0x6ee30e),_0x143cfb=_0x533cf2?.[_0x524511(0x248)]?.[_0x524511(0x289)];if(Array[_0x524511(0x272)](_0x143cfb))for(const _0xc8626f of _0x143cfb){if(_0xc8626f[_0x524511(0x1e2)]==='tool_use'&&_0xc8626f['id']&&!_0x8b094d[_0x524511(0x252)](_0xc8626f['id'])){_0x8b094d[_0x524511(0x224)](_0xc8626f['id']);const _0x4d6b06=_0xc8626f[_0x524511(0x247)]||'unknown';let _0x228303='';if(_0xc8626f[_0x524511(0x1e3)]){if(_0xc8626f[_0x524511(0x1e3)][_0x524511(0x1ef)])_0x228303=_0xc8626f[_0x524511(0x1e3)][_0x524511(0x1ef)]['substring'](0x0,0xc8);else{if(_0xc8626f[_0x524511(0x1e3)][_0x524511(0x211)])_0x228303=_0xc8626f[_0x524511(0x1e3)][_0x524511(0x211)];else{if(_0xc8626f['input'][_0x524511(0x255)])_0x228303=_0xc8626f['input'][_0x524511(0x255)];else{if(_0xc8626f[_0x524511(0x1e3)]['query'])_0x228303=_0xc8626f[_0x524511(0x1e3)]['query'];else{if(_0xc8626f[_0x524511(0x1e3)][_0x524511(0x24f)])_0x228303=_0xc8626f[_0x524511(0x1e3)][_0x524511(0x24f)];else{if(_0xc8626f[_0x524511(0x1e3)][_0x524511(0x241)])_0x228303=_0xc8626f[_0x524511(0x1e3)][_0x524511(0x241)][_0x524511(0x20c)](0x0,0xc8);else _0x228303=JSON[_0x524511(0x274)](_0xc8626f[_0x524511(0x1e3)])[_0x524511(0x20c)](0x0,0xc8);}}}}}}_0xf1a8a1['appendSessionLog'](_0x37497e,_0x524511(0x266),''+_0x4d6b06+(_0x228303?':\x20'+_0x228303:''));}}}catch{}_0xd269ef[_0x524511(0x289)]&&_0x5d6ab5[_0x524511(0x21f)](_0xd269ef['content']);}if(_0xd269ef['type']==='result'){const _0x569820=_0xf1a8a1['config'][_0x524511(0x25b)]??!![],_0x521903=(_0xd269ef[_0x524511(0x289)]||'')[_0x524511(0x27f)](),_0x5deca6=_0x5d6ab5[_0x524511(0x1f5)]('\x0a')[_0x524511(0x27f)](),_0x335898=_0x569820?_0x521903||_0x5deca6:_0x5deca6;if(_0x335898){try{_0xf1a8a1[_0x524511(0x225)](_0x37497e,'assistant',_0x335898);}catch{}const _0x4cba09=_0xf1a8a1['activeSessions'][_0x524511(0x1f7)](_0x4e4657[_0x524511(0x261)]),_0x1a650f=_0x4cba09?.[_0x524511(0x25a)]||_0x4e4657[_0x524511(0x243)];_0x37e4d5=!![],(0x0,messaging_1[_0x524511(0x203)])(_0xf1a8a1,(0x0,session_1['getReplyConversationId'])(_0x4e4657),(0x0,session_1['getReplyWebhook'])(_0x4e4657),_0x1a650f,_0x335898)[_0x524511(0x238)](_0x195f1b=>console['error'](_0x524511(0x230),_0x195f1b));}else console[_0x524511(0x253)]('['+(0x0,session_1['timestamp'])()+']\x20Claude\x20返回了空的\x20result\x20且\x20responseBuffer\x20也为空,无内容可发送');_0x5d6ab5=[];}}}),_0xdad55d[_0x5c61bb(0x284)]?.['on']('data',_0x22dee8=>{const _0x58df07=_0x5c61bb,_0x51d97a=_0x22dee8[_0x58df07(0x24e)]();_0x38cfda+=_0x51d97a;if((0x0,api_key_manager_1['isQuotaExhaustedError'])(_0x51d97a)){console[_0x58df07(0x1f4)]('['+(0x0,session_1[_0x58df07(0x270)])()+_0x58df07(0x1e9)+_0x51d97a['trim']());try{fs_1[_0x58df07(0x24d)]['appendFileSync'](_0x2feb97,'['+(0x0,session_1[_0x58df07(0x270)])()+_0x58df07(0x1ff)+_0x51d97a,'utf-8');}catch{}}else{if(isRetryableApiError(_0x51d97a)){console[_0x58df07(0x1f4)]('['+(0x0,session_1[_0x58df07(0x270)])()+']\x20[Claude\x20stderr]\x20可重试API错误(422\x20TPM限流):\x20'+_0x51d97a[_0x58df07(0x27f)]());try{fs_1[_0x58df07(0x24d)][_0x58df07(0x22f)](_0x2feb97,'['+(0x0,session_1[_0x58df07(0x270)])()+']\x20[WARN]:\x20'+_0x51d97a,_0x58df07(0x1fc));}catch{}}else{console['error'](_0x58df07(0x246)+_0x51d97a);try{fs_1[_0x58df07(0x24d)]['appendFileSync'](_0x2feb97,'['+(0x0,session_1['timestamp'])()+_0x58df07(0x21c)+_0x51d97a,'utf-8');}catch{}}}}),_0xdad55d['on']('close',_0x354e3c=>{const _0x49e506=_0x5c61bb;console['log']('['+(0x0,session_1[_0x49e506(0x270)])()+_0x49e506(0x287)+_0x354e3c);try{fs_1[_0x49e506(0x24d)][_0x49e506(0x22f)](_0x2feb97,'['+(0x0,session_1[_0x49e506(0x270)])()+_0x49e506(0x28e)+_0x354e3c+'\x0a','utf-8');}catch{}const _0x159c63=_0xf1a8a1[_0x49e506(0x1f9)][_0x49e506(0x1f7)](_0x4e4657[_0x49e506(0x261)]);_0x159c63&&(_0x159c63['currentProcess']=undefined);if(_0x5d6ab5[_0x49e506(0x1ea)]>0x0){const _0x522127=_0x5d6ab5[_0x49e506(0x1f5)]('\x0a')[_0x49e506(0x27f)]();if(_0x522127){try{_0xf1a8a1['appendSessionLog'](_0x37497e,_0x49e506(0x244),_0x522127);}catch{}const _0x45ae8b=_0x159c63?.[_0x49e506(0x25a)]||_0x4e4657[_0x49e506(0x243)];_0x37e4d5=!![],(0x0,messaging_1[_0x49e506(0x203)])(_0xf1a8a1,(0x0,session_1[_0x49e506(0x1eb)])(_0x4e4657),(0x0,session_1[_0x49e506(0x20d)])(_0x4e4657),_0x45ae8b,_0x522127)[_0x49e506(0x238)](_0x5d87e2=>console['error'](_0x49e506(0x230),_0x5d87e2));}}if(_0x354e3c===0x0&&!_0x37e4d5&&!_0x159c63?.[_0x49e506(0x265)]){console[_0x49e506(0x253)]('['+(0x0,session_1[_0x49e506(0x270)])()+_0x49e506(0x209));try{fs_1[_0x49e506(0x24d)]['appendFileSync'](_0x2feb97,'['+(0x0,session_1[_0x49e506(0x270)])()+_0x49e506(0x23a),'utf-8');}catch{}const _0x2c91f2=_0x159c63?.['lastSenderStaffId']||_0x4e4657[_0x49e506(0x243)];(0x0,messaging_1['sendDingMessage'])(_0xf1a8a1,{'conversationId':(0x0,session_1[_0x49e506(0x1eb)])(_0x4e4657),'sessionWebhook':(0x0,session_1[_0x49e506(0x20d)])(_0x4e4657),'atUserId':_0x2c91f2,'content':_0x49e506(0x23f)})['catch'](_0x29a3d9=>console['error'](_0x49e506(0x230),_0x29a3d9));}if(_0x354e3c===0x0){_0x4739af(0x0);return;}if(_0x159c63?.['interrupted']){console[_0x49e506(0x1f4)]('['+(0x0,session_1[_0x49e506(0x270)])()+_0x49e506(0x290)),_0x159c63['interrupted']=![],_0x4739af(0x0);return;}const _0x3a850a=_0x38cfda+'\x0a'+_0x1f5526;if((0x0,api_key_manager_1[_0x49e506(0x28a)])(_0x3a850a)){const _0x238897=Date[_0x49e506(0x245)]()-_0x241200,_0x6becc3=_0x238897<FAST_FAIL_THRESHOLD_MS;console[_0x49e506(0x1f4)]('['+(0x0,session_1[_0x49e506(0x270)])()+_0x49e506(0x23b)+(0x0,api_key_manager_1[_0x49e506(0x28a)])(_0x1f5526)+_0x49e506(0x259)+(0x0,api_key_manager_1['isQuotaExhaustedError'])(_0x38cfda)),_0x5f0fef(new RetryableApiError(_0x6becc3,_0x3a850a));return;}if((0x0,api_key_manager_1['isAuthenticationError'])(_0x3a850a)){console[_0x49e506(0x1f4)]('['+(0x0,session_1[_0x49e506(0x270)])()+']\x20检测到认证错误(401),通知用户');const _0x19a895=_0x159c63?.[_0x49e506(0x25a)]||_0x4e4657[_0x49e506(0x243)];(0x0,messaging_1[_0x49e506(0x279)])(_0xf1a8a1,{'conversationId':(0x0,session_1[_0x49e506(0x1eb)])(_0x4e4657),'sessionWebhook':(0x0,session_1[_0x49e506(0x20d)])(_0x4e4657),'atUserId':_0x19a895,'content':_0x49e506(0x1e4)})[_0x49e506(0x238)](_0x2a8a88=>console['error']('发送钉钉消息失败:',_0x2a8a88)),_0x4739af(_0x354e3c??0x1);return;}if(isRetryableApiError(_0x3a850a)){const _0x5c68aa=Date['now']()-_0x241200,_0x4310ee=_0x5c68aa<FAST_FAIL_THRESHOLD_MS;_0x5f0fef(new RetryableApiError(_0x4310ee,_0x3a850a));return;}if(isPermissionError(_0x3a850a)){console[_0x49e506(0x1f4)]('['+(0x0,session_1[_0x49e506(0x270)])()+_0x49e506(0x278));const _0x23e6b6=_0x159c63?.[_0x49e506(0x25a)]||_0x4e4657[_0x49e506(0x243)];(0x0,messaging_1[_0x49e506(0x279)])(_0xf1a8a1,{'conversationId':(0x0,session_1[_0x49e506(0x1eb)])(_0x4e4657),'sessionWebhook':(0x0,session_1[_0x49e506(0x20d)])(_0x4e4657),'atUserId':_0x23e6b6,'content':_0x49e506(0x217)})[_0x49e506(0x238)](_0x51490a=>console['error']('发送钉钉消息失败:',_0x51490a)),_0x4739af(_0x354e3c??0x1);return;}_0x5f0fef(new Error(_0x49e506(0x20a)+_0x354e3c));}),_0xdad55d['on']('error',_0x5416cd=>{const _0x55e83b=_0x5c61bb;console[_0x55e83b(0x20e)](_0x55e83b(0x216),_0x5416cd),fs_1[_0x55e83b(0x24d)]['appendFileSync'](_0x2feb97,'['+(0x0,session_1[_0x55e83b(0x270)])()+']\x20[ERROR]:\x20进程错误:\x20'+_0x5416cd[_0x55e83b(0x248)]+'\x0a',_0x55e83b(0x1fc)),_0x5f0fef(_0x5416cd);});});}async function executeClaudeQuery(_0x2c2b45,_0x5a9d63,_0x30ec61,_0x2b441f){const _0x19207b=a3_0xba3382,{skill:_0x10b3a3,agent:_0x5200fb,senderNick:_0xac1fe1,senderStaffId:_0x394893}=_0x2b441f||{};let _0x3937f5=_0x2c2b45[_0x19207b(0x1f2)](_0x5a9d63),_0x84a84b=_0x3937f5+_0x19207b(0x286);const _0x3726c7=_0x2c2b45['getConversationDir'](_0x5a9d63[_0x19207b(0x261)]);fs_1[_0x19207b(0x24d)][_0x19207b(0x25c)](_0x3937f5,{'recursive':!![]});let _0x40fc55=null;const _0x1bc79d=(0x0,api_key_manager_1[_0x19207b(0x233)])(_0x3726c7);_0x1bc79d&&_0x2c2b45['config']['apiKeyCfg']&&(_0x40fc55=_0x2c2b45['config'][_0x19207b(0x269)]['claudeSettings'][_0x19207b(0x263)](_0x4d6648=>_0x4d6648[_0x19207b(0x212)]===_0x1bc79d&&_0x4d6648[_0x19207b(0x222)])||null,_0x40fc55&&console['log']('['+(0x0,session_1[_0x19207b(0x270)])()+']\x20从\x20settings-ding.json\x20恢复\x20Claude\x20Setting:\x20'+(0x0,api_key_manager_1[_0x19207b(0x26d)])(_0x40fc55)));const _0x4c065c=(0x0,api_key_manager_1[_0x19207b(0x232)])(_0x3726c7);if(!_0x4c065c&&_0x2c2b45[_0x19207b(0x26c)][_0x19207b(0x269)]){_0x40fc55=(0x0,api_key_manager_1['pickValidApiKey'])(_0x2c2b45);if(!_0x40fc55){const _0x2feee4=_0x394893||_0x5a9d63['startStaffId'];await(0x0,messaging_1['sendDingMessage'])(_0x2c2b45,{'conversationId':(0x0,session_1['getReplyConversationId'])(_0x5a9d63),'sessionWebhook':(0x0,session_1[_0x19207b(0x20d)])(_0x5a9d63),'atUserId':_0x2feee4,'content':_0x19207b(0x251)});return;}}const _0xceb26c=_0xac1fe1&&_0x394893?_0xac1fe1+'('+_0x394893+')':_0x19207b(0x28d),_0x41771f=_0x30ec61+_0x19207b(0x281)+_0xceb26c;_0x2c2b45[_0x19207b(0x225)](_0x3937f5,_0x19207b(0x236),_0x41771f);const _0x2cca80='claude',_0x129eab=[_0x19207b(0x231),'bypassPermissions','--print',_0x19207b(0x260),_0x19207b(0x221),_0x19207b(0x264)];_0x5200fb&&_0x129eab[_0x19207b(0x21f)](_0x19207b(0x229),_0x5200fb);_0x5a9d63[_0x19207b(0x24a)]&&(_0x129eab[_0x19207b(0x21f)](_0x19207b(0x23e),_0x5a9d63[_0x19207b(0x24a)]),console[_0x19207b(0x1f4)]('['+(0x0,session_1['timestamp'])()+_0x19207b(0x218)+_0x5a9d63[_0x19207b(0x24a)]));const _0x498b9f=_0x10b3a3?'/'+_0x10b3a3+'\x20'+_0x41771f:_0x41771f;let _0x33f459=0x0;while(!![]){const _0x2bb520=_0x33f459>0x0,_0x1a122c=[..._0x129eab],_0x445b5e=resolveClaudeSettingsPath(_0x2c2b45,_0x3726c7,_0x2b441f?.[_0x19207b(0x1fa)]);_0x445b5e&&_0x1a122c[_0x19207b(0x21f)](_0x19207b(0x250),_0x445b5e);let _0x45635c;_0x2bb520?(_0x5a9d63[_0x19207b(0x24a)]&&!_0x1a122c[_0x19207b(0x277)](_0x19207b(0x23e))&&_0x1a122c[_0x19207b(0x21f)](_0x19207b(0x23e),_0x5a9d63[_0x19207b(0x24a)]),_0x45635c='继续',console['log']('['+(0x0,session_1['timestamp'])()+']\x20发送\x22继续\x22重试\x20(快速失败连续'+_0x33f459+'/'+MAX_FAST_FAIL+'次)'),fs_1[_0x19207b(0x24d)][_0x19207b(0x22f)](_0x84a84b,'['+(0x0,session_1[_0x19207b(0x270)])()+_0x19207b(0x24c)+_0x33f459+'/'+MAX_FAST_FAIL+')\x0a',_0x19207b(0x1fc))):_0x45635c=_0x498b9f;console['log']('['+(0x0,session_1[_0x19207b(0x270)])()+_0x19207b(0x24b)+_0x2cca80+'\x20'+_0x1a122c[_0x19207b(0x1f5)]('\x20')),_0x2c2b45[_0x19207b(0x22d)](_0x19207b(0x267)+_0x45635c[_0x19207b(0x20c)](0x0,0x64)+_0x19207b(0x27a));try{await runClaudeOnce(_0x2c2b45,_0x5a9d63,_0x1a122c,_0x2cca80,_0x3726c7,_0x45635c,_0x2bb520);return;}catch(_0x2c30db){_0x3937f5=_0x2c2b45[_0x19207b(0x1f2)](_0x5a9d63),_0x84a84b=_0x3937f5+_0x19207b(0x286);if(_0x2c30db instanceof RetryableApiError){if((0x0,api_key_manager_1[_0x19207b(0x28a)])(_0x2c30db['output'])&&_0x2c2b45[_0x19207b(0x26c)]['apiKeyCfg']){if(_0x40fc55){const _0xb6327b=(0x0,api_key_manager_1[_0x19207b(0x23c)])(_0x2c2b45,_0x40fc55[_0x19207b(0x212)]);if(_0xb6327b){_0x40fc55=_0xb6327b,_0x33f459=0x0,console[_0x19207b(0x1f4)]('['+(0x0,session_1[_0x19207b(0x270)])()+_0x19207b(0x268)+(0x0,api_key_manager_1[_0x19207b(0x26d)])(_0xb6327b)),fs_1['default'][_0x19207b(0x22f)](_0x84a84b,'['+(0x0,session_1['timestamp'])()+_0x19207b(0x23d),_0x19207b(0x1fc));continue;}}const _0x1f4c4a=_0x394893||_0x5a9d63['startStaffId'];await(0x0,messaging_1['sendDingMessage'])(_0x2c2b45,{'conversationId':(0x0,session_1['getReplyConversationId'])(_0x5a9d63),'sessionWebhook':(0x0,session_1[_0x19207b(0x20d)])(_0x5a9d63),'atUserId':_0x1f4c4a,'content':_0x19207b(0x20f)});return;}if(_0x2c30db[_0x19207b(0x275)]){_0x33f459++;if(_0x33f459>=MAX_FAST_FAIL){if(_0x40fc55&&_0x2c2b45[_0x19207b(0x26c)]['apiKeyCfg']){const _0x226989=(0x0,api_key_manager_1['rotateApiKey'])(_0x2c2b45,_0x40fc55[_0x19207b(0x212)]);if(_0x226989){_0x40fc55=_0x226989,_0x33f459=0x0,console[_0x19207b(0x1f4)]('['+(0x0,session_1[_0x19207b(0x270)])()+']\x20TPM\x20限流连续快速失败\x20'+MAX_FAST_FAIL+_0x19207b(0x1e7)+(0x0,api_key_manager_1[_0x19207b(0x26d)])(_0x226989)),fs_1['default']['appendFileSync'](_0x84a84b,'['+(0x0,session_1[_0x19207b(0x270)])()+_0x19207b(0x223),'utf-8');continue;}}console[_0x19207b(0x1f4)]('['+(0x0,session_1[_0x19207b(0x270)])()+_0x19207b(0x1e6)+MAX_FAST_FAIL+_0x19207b(0x27d)),fs_1[_0x19207b(0x24d)][_0x19207b(0x22f)](_0x84a84b,'['+(0x0,session_1[_0x19207b(0x270)])()+']\x20[SYSTEM]:\x20TPM\x20限流快速失败连续'+MAX_FAST_FAIL+_0x19207b(0x285),_0x19207b(0x1fc));throw new Error('TPM\x20限流,快速失败连续\x20'+MAX_FAST_FAIL+'\x20次');}console['log']('['+(0x0,session_1[_0x19207b(0x270)])()+']\x20检测到\x20TPM\x20限流(快速失败),'+API_RETRY_DELAY_MS/0x3e8+_0x19207b(0x200)+_0x33f459+'/'+MAX_FAST_FAIL+')');}else _0x33f459=0x0,console[_0x19207b(0x1f4)]('['+(0x0,session_1[_0x19207b(0x270)])()+_0x19207b(0x202)+API_RETRY_DELAY_MS/0x3e8+'s\x20后重试');fs_1[_0x19207b(0x24d)]['appendFileSync'](_0x84a84b,'['+(0x0,session_1[_0x19207b(0x270)])()+_0x19207b(0x22a)+API_RETRY_DELAY_MS/0x3e8+_0x19207b(0x1ee),'utf-8'),await sleep(API_RETRY_DELAY_MS);continue;}throw _0x2c30db;}}}
@@ -0,0 +1 @@
1
+ 'use strict';const a4_0x4bfcb3=a4_0x3d0b;(function(_0x54f52a,_0x31ac09){const _0x4fe824=a4_0x3d0b,_0x36e67c=_0x54f52a();while(!![]){try{const _0x2034a6=parseInt(_0x4fe824(0x137))/0x1+-parseInt(_0x4fe824(0x15e))/0x2*(parseInt(_0x4fe824(0x14b))/0x3)+parseInt(_0x4fe824(0x1a2))/0x4*(-parseInt(_0x4fe824(0x1bf))/0x5)+-parseInt(_0x4fe824(0x16d))/0x6*(-parseInt(_0x4fe824(0x140))/0x7)+-parseInt(_0x4fe824(0x13f))/0x8+parseInt(_0x4fe824(0x1ab))/0x9*(parseInt(_0x4fe824(0x1bb))/0xa)+parseInt(_0x4fe824(0x1a5))/0xb*(parseInt(_0x4fe824(0x181))/0xc);if(_0x2034a6===_0x31ac09)break;else _0x36e67c['push'](_0x36e67c['shift']());}catch(_0x1c8595){_0x36e67c['push'](_0x36e67c['shift']());}}}(a4_0x4c09,0x25d6b));var __importDefault=this&&this[a4_0x4bfcb3(0x1c3)]||function(_0x443289){const _0x5da708=a4_0x4bfcb3;return _0x443289&&_0x443289[_0x5da708(0x176)]?_0x443289:{'default':_0x443289};};Object[a4_0x4bfcb3(0x1d5)](exports,'__esModule',{'value':!![]}),exports[a4_0x4bfcb3(0x13c)]=parseHelpCommand,exports[a4_0x4bfcb3(0x1b7)]=parseCommandHelp,exports['getCommandByName']=getCommandByName,exports[a4_0x4bfcb3(0x149)]=formatHelpOverview,exports[a4_0x4bfcb3(0x135)]=formatCommandHelp,exports[a4_0x4bfcb3(0x1b6)]=parseEndCommand,exports[a4_0x4bfcb3(0x178)]=parseInfoCommand,exports[a4_0x4bfcb3(0x15f)]=formatConversationInfo,exports[a4_0x4bfcb3(0x15c)]=parseLogCommand,exports[a4_0x4bfcb3(0x17d)]=parseLsCommand,exports[a4_0x4bfcb3(0x194)]=findSubdirByName,exports['getDirectoryStructure']=getDirectoryStructure,exports[a4_0x4bfcb3(0x1d9)]=parseContinueSessionCommand,exports[a4_0x4bfcb3(0x1d1)]=parseCronCommand,exports[a4_0x4bfcb3(0x19a)]=parsePwdCommand,exports[a4_0x4bfcb3(0x1cb)]=parseVersionCommand,exports[a4_0x4bfcb3(0x19b)]=parseMkdirCommand,exports['parseTouchCommand']=parseTouchCommand,exports[a4_0x4bfcb3(0x185)]=parseRmCommand,exports[a4_0x4bfcb3(0x182)]=parseOpenCommand,exports[a4_0x4bfcb3(0x165)]=parseCleanCommand,exports[a4_0x4bfcb3(0x15d)]=parseResetApiKeyCfgCommand,exports['parseRegCommand']=parseRegCommand,exports[a4_0x4bfcb3(0x175)]=parseAuthCommand;const fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a4_0x4bfcb3(0x18d))),COMMAND_REGISTRY=[{'name':a4_0x4bfcb3(0x1b9),'description':a4_0x4bfcb3(0x158),'usage':a4_0x4bfcb3(0x1b9),'examples':[a4_0x4bfcb3(0x1b9)],'category':'系统'},{'name':a4_0x4bfcb3(0x145),'description':'查看群配置、会话和任务信息','usage':a4_0x4bfcb3(0x1a7),'examples':[a4_0x4bfcb3(0x145),'/info\x20robot','/info\x20session',a4_0x4bfcb3(0x163)],'category':'系统'},{'name':a4_0x4bfcb3(0x15b),'description':a4_0x4bfcb3(0x131),'usage':a4_0x4bfcb3(0x13e),'examples':[a4_0x4bfcb3(0x15b),a4_0x4bfcb3(0x183)],'category':'会话'},{'name':a4_0x4bfcb3(0x14d),'description':a4_0x4bfcb3(0x17c),'usage':'/new\x20[初始消息]','examples':['/new',a4_0x4bfcb3(0x157)],'category':'会话'},{'name':a4_0x4bfcb3(0x1aa),'description':a4_0x4bfcb3(0x1da),'usage':a4_0x4bfcb3(0x164),'examples':[a4_0x4bfcb3(0x1aa),'/resume\x20abc123'],'category':'会话'},{'name':a4_0x4bfcb3(0x153),'description':a4_0x4bfcb3(0x1bc),'usage':a4_0x4bfcb3(0x153),'examples':['/end'],'category':'会话'},{'name':'/task','description':a4_0x4bfcb3(0x17a),'usage':a4_0x4bfcb3(0x141),'examples':[a4_0x4bfcb3(0x177)],'category':'任务'},{'name':a4_0x4bfcb3(0x1a6),'description':a4_0x4bfcb3(0x1ca),'usage':a4_0x4bfcb3(0x1ba),'examples':[a4_0x4bfcb3(0x189),'/cron\x200\x209\x20*\x20*\x20*\x20查看dima任务',a4_0x4bfcb3(0x1b1),a4_0x4bfcb3(0x144),'/cron\x20delete\x20cron_123'],'category':'任务'},{'name':a4_0x4bfcb3(0x1be),'description':a4_0x4bfcb3(0x1c9),'usage':a4_0x4bfcb3(0x1be),'examples':[a4_0x4bfcb3(0x1be)],'category':'文件'},{'name':a4_0x4bfcb3(0x1d6),'description':a4_0x4bfcb3(0x155),'usage':'/ls\x20[目标目录]\x20[展开层数]','examples':['/ls',a4_0x4bfcb3(0x14c),'/ls\x20product\x201'],'category':'文件'},{'name':a4_0x4bfcb3(0x187),'description':'在工作目录下创建文件夹(支持相对路径,不能超出工作目录范围)','usage':a4_0x4bfcb3(0x1a1),'examples':[a4_0x4bfcb3(0x1d3),a4_0x4bfcb3(0x166),a4_0x4bfcb3(0x1d4)],'category':'文件'},{'name':a4_0x4bfcb3(0x142),'description':a4_0x4bfcb3(0x193),'usage':a4_0x4bfcb3(0x191),'examples':[a4_0x4bfcb3(0x16f),'/touch\x20src/cc-ding-cli.ts','/touch\x20./config.json'],'category':'文件'},{'name':a4_0x4bfcb3(0x173),'description':a4_0x4bfcb3(0x1c2),'usage':a4_0x4bfcb3(0x186),'examples':['/rm\x20temp.txt',a4_0x4bfcb3(0x1a9),a4_0x4bfcb3(0x18f)],'category':'文件'},{'name':'/version','description':a4_0x4bfcb3(0x139),'usage':a4_0x4bfcb3(0x147),'examples':[a4_0x4bfcb3(0x147)],'category':'系统'},{'name':a4_0x4bfcb3(0x150),'description':a4_0x4bfcb3(0x1ae),'usage':a4_0x4bfcb3(0x17f),'examples':['/open',a4_0x4bfcb3(0x1ce)],'category':'管理','ownerOnly':!![]},{'name':a4_0x4bfcb3(0x1d7),'description':a4_0x4bfcb3(0x1d8),'usage':'/clean','examples':['/clean'],'category':'管理','ownerOnly':!![]},{'name':'/reset-apikeycfg','description':'重置API\x20Key配置(将所有Key标记为有效)','usage':a4_0x4bfcb3(0x1cf),'examples':[a4_0x4bfcb3(0x1cf)],'category':'管理','ownerOnly':!![]},{'name':a4_0x4bfcb3(0x143),'description':a4_0x4bfcb3(0x180),'usage':'/reg\x20[--dingToken\x20xxx]\x20[--linkConversationId\x20yyy]\x20[--whiteUserList\x20123,456]\x20[--conversationTitle\x20名称]','examples':[a4_0x4bfcb3(0x143),a4_0x4bfcb3(0x146),a4_0x4bfcb3(0x19c)],'category':'管理','ownerOnly':!![]},{'name':'/auth','description':a4_0x4bfcb3(0x14f),'usage':'/auth\x20[add|del\x20<userId>]','examples':['/auth',a4_0x4bfcb3(0x19d),'/auth\x20del\x20123456'],'category':'管理','ownerOnly':!![]}],CATEGORY_DISPLAY=[{'category':'会话','icon':'💬'},{'category':'任务','icon':'📋'},{'category':'文件','icon':'📂'},{'category':'系统','icon':'⚙️'},{'category':'管理','icon':'🔧'}];function parseHelpCommand(_0x420e2a){const _0x59ef93=a4_0x4bfcb3;return _0x420e2a[_0x59ef93(0x138)]()['toLowerCase']()===_0x59ef93(0x1b9);}function parseCommandHelp(_0x36af3a){const _0x5a7e72=a4_0x4bfcb3,_0x43e4ca=_0x36af3a[_0x5a7e72(0x138)](),_0x2fc398=_0x43e4ca[_0x5a7e72(0x1a3)](/^(\/\w+|\S+)\s+--help$/i);if(!_0x2fc398)return null;return _0x2fc398[0x1][_0x5a7e72(0x171)]();}function getCommandByName(_0x352af4){const _0xcd4aa7=a4_0x4bfcb3,_0x25095d=_0x352af4[_0xcd4aa7(0x171)]();return COMMAND_REGISTRY['find'](_0x534be3=>_0x534be3[_0xcd4aa7(0x1b4)]['toLowerCase']()===_0x25095d||_0x534be3['aliases']?.[_0xcd4aa7(0x1c1)](_0x29351d=>_0x29351d[_0xcd4aa7(0x171)]()===_0x25095d));}function formatHelpOverview(_0x4fe223,_0x49caf7){const _0x58d746=a4_0x4bfcb3,_0x3fba64=COMMAND_REGISTRY[_0x58d746(0x1b5)](_0x5dcdd4=>_0x49caf7||!_0x5dcdd4[_0x58d746(0x1b0)]),_0x247ee2=[_0x58d746(0x14e),_0x58d746(0x16c),_0x58d746(0x17b)+_0x4fe223,_0x58d746(0x152),_0x58d746(0x1bd),'-\x20**反馈:**\x20缺陷&需求请反馈给作者',_0x58d746(0x16c)];for(const {category:_0x30c418,icon:_0x4dc4d8}of CATEGORY_DISPLAY){const _0xa77178=_0x3fba64['filter'](_0xdf48ab=>_0xdf48ab[_0x58d746(0x159)]===_0x30c418);if(_0xa77178['length']===0x0)continue;_0x247ee2[_0x58d746(0x16e)](_0x4dc4d8+_0x58d746(0x170)+_0x30c418+'**');for(const _0x5821da of _0xa77178){_0x247ee2['push'](_0x58d746(0x1c4)+_0x5821da[_0x58d746(0x1b4)]+'`\x20'+_0x5821da[_0x58d746(0x17e)]);}_0x247ee2[_0x58d746(0x16e)]('');}return _0x247ee2['push'](_0x58d746(0x198)),_0x247ee2[_0x58d746(0x1a4)]('\x0a');}function formatCommandHelp(_0x1a6125){const _0xf24b9f=a4_0x4bfcb3,_0x44ce15=[_0xf24b9f(0x1a8)+_0x1a6125[_0xf24b9f(0x1b4)],'','**描述:**\x20'+_0x1a6125[_0xf24b9f(0x17e)],'',_0xf24b9f(0x1d2)+_0x1a6125[_0xf24b9f(0x1cc)]+'`'];_0x1a6125[_0xf24b9f(0x196)]?.[_0xf24b9f(0x136)]&&_0x44ce15[_0xf24b9f(0x16e)]('','**别名:**\x20'+_0x1a6125[_0xf24b9f(0x196)][_0xf24b9f(0x1a4)](',\x20'));_0x44ce15[_0xf24b9f(0x16e)]('',_0xf24b9f(0x134));for(const _0x4cadb7 of _0x1a6125[_0xf24b9f(0x154)]){_0x44ce15[_0xf24b9f(0x16e)](_0xf24b9f(0x1c4)+_0x4cadb7+'`');}return _0x44ce15[_0xf24b9f(0x1a4)]('\x0a');}function parseEndCommand(_0x530ce5){const _0x52e423=a4_0x4bfcb3;return _0x530ce5[_0x52e423(0x138)]()[_0x52e423(0x171)]()===_0x52e423(0x153);}function parseInfoCommand(_0x4bc9f8){const _0x12c8e8=a4_0x4bfcb3,_0x499bc7=_0x4bc9f8[_0x12c8e8(0x138)]()[_0x12c8e8(0x171)]();if(_0x499bc7===_0x12c8e8(0x145))return _0x12c8e8(0x1af);if(_0x499bc7==='/info\x20robot')return'robot';if(_0x499bc7==='/info\x20session')return _0x12c8e8(0x19e);if(_0x499bc7===_0x12c8e8(0x163))return _0x12c8e8(0x1b8);return null;}function formatConversationInfo(_0x321019,_0x11de28){const _0x33d631=a4_0x4bfcb3,_0x4dc07e=['-\x20**群ID:**\x20'+_0x11de28];if(_0x321019[_0x33d631(0x1c6)])_0x4dc07e[_0x33d631(0x16e)](_0x33d631(0x133)+_0x321019[_0x33d631(0x1c6)]);if(_0x321019[_0x33d631(0x169)])_0x4dc07e['push']('-\x20**关联会话ID:**\x20'+_0x321019[_0x33d631(0x169)]);if(_0x321019[_0x33d631(0x1b2)])_0x4dc07e[_0x33d631(0x16e)](_0x33d631(0x1a0)+_0x321019[_0x33d631(0x1b2)]);if(_0x321019[_0x33d631(0x13a)])_0x4dc07e[_0x33d631(0x16e)](_0x33d631(0x167)+_0x321019['dingToken']+_0x33d631(0x192));if(_0x321019['whiteUserList']?.[_0x33d631(0x136)])_0x4dc07e[_0x33d631(0x16e)](_0x33d631(0x174)+_0x321019[_0x33d631(0x179)]['join'](',\x20'));if(_0x321019[_0x33d631(0x199)]?.[_0x33d631(0x13d)])_0x4dc07e[_0x33d631(0x16e)](_0x33d631(0x172)+_0x321019[_0x33d631(0x199)][_0x33d631(0x13d)]);return _0x4dc07e[_0x33d631(0x1a4)]('\x0a');}function a4_0x3d0b(_0x35c684,_0x8c2f6b){_0x35c684=_0x35c684-0x131;const _0x4c0995=a4_0x4c09();let _0x3d0bf1=_0x4c0995[_0x35c684];return _0x3d0bf1;}function parseLogCommand(_0x59600a){const _0x1b5062=a4_0x4bfcb3,_0x637296=_0x59600a[_0x1b5062(0x138)](),_0x498da1=_0x637296[_0x1b5062(0x1a3)](/^\/log(?:\s+(\d+))?$/i);if(!_0x498da1)return null;const _0x412014=parseInt(_0x498da1[0x1],0xa);return isNaN(_0x412014)||_0x412014<=0x0?0xa:_0x412014;}function parseLsCommand(_0x1000c8){const _0x24e8d5=a4_0x4bfcb3,_0x3f0c91=_0x1000c8[_0x24e8d5(0x138)](),_0x53a4af=_0x3f0c91[_0x24e8d5(0x1a3)](/^\/ls(?:\s+(.+))?$/i);if(!_0x53a4af)return null;if(_0x53a4af[0x1]===undefined)return{'target':'','depth':0x1};const _0x311b05=_0x53a4af[0x1]['trim']()[_0x24e8d5(0x19f)](/\s+/),_0xd0a9f=_0x311b05[0x0]||'',_0x26c1f0=_0x311b05[0x1]?parseInt(_0x311b05[0x1],0xa):0x1;return{'target':_0xd0a9f,'depth':isNaN(_0x26c1f0)||_0x26c1f0<0x0?0x1:Math[_0x24e8d5(0x1d0)](_0x26c1f0,0x5)};}function a4_0x4c09(){const _0x564b6b=['-\x20**dingToken:**\x20','resume','linkConversationId','del','create_cron','----','7566iPInSO','push','/touch\x20README.md','\x20**','toLowerCase','-\x20**taskSkill:**\x20','/rm','-\x20**群白名单:**\x20','parseAuthCommand','__esModule','/task\x20帮我重构登录模块','parseInfoCommand','whiteUserList','提交任务到队列','-\x20**版本:**\x20','开始新的对话会话(结束当前会话)','parseLsCommand','description','/open\x20[shell]','注册当前群到配置(未注册群可用)','1434696QBvuhP','parseOpenCommand','/log\x2020','❌\x20无法读取目录','parseRmCommand','/rm\x20<相对路径>','/mkdir','folder','/cron\x20每天早上9点查看dima任务','📁\x20','repeat','substring','path','current','/rm\x20./docs/obsolete/','sort','/touch\x20<相对路径>','...','在工作目录下创建空文件(支持相对路径,不能超出工作目录范围)','findSubdirByName','pause','aliases','list','💡\x20输入\x20`/{命令}\x20--help`\x20查看命令详细用法','taskCfg','parsePwdCommand','parseMkdirCommand','/reg\x20--conversationTitle\x20工作群','/auth\x20add\x20123456','session','split','-\x20**agent:**\x20','/mkdir\x20<相对路径>','8vZvJZQ','match','join','44CWVtZO','/cron','/info\x20[robot|session|task]','###\x20📖\x20','/rm\x20src/old.ts','/resume','9aTgNrY','\x5cs+(.+)$','test','在文件管理器或终端中打开工作目录','all','ownerOnly','/cron\x20list','agent','--conversationTitle','name','filter','parseEndCommand','parseCommandHelp','task','/help','/cron\x20<自然语言描述>\x20|\x20/cron\x20<cron表达式>\x20<任务描述>\x20|\x20/cron\x20list|pause|resume|delete\x20<id>','341570RjNVOH','结束当前会话','-\x20**文档:**\x20https://doc-to/cc-ding','/pwd','582815sqOtdo','default','some','删除工作目录下的文件或目录(支持相对路径,不能超出工作目录范围)','__importDefault','-\x20`','📂\x20目录为空','conversationTitle','📄\x20','shift','显示当前工作目录的绝对路径','创建和管理定时任务(Claude自动分析自然语言)','parseVersionCommand','usage','create_nl','/open\x20shell','/reset-apikeycfg','min','parseCronCommand','**用法:**\x20`','/mkdir\x20src','/mkdir\x20./docs','defineProperty','/ls','/clean','清除历史会话和缓存(.sessions/.tasks/.images)','parseContinueSessionCommand','继续指定的历史会话(可指定会话ID,不指定则恢复最近一个)','查看最近会话日志','isDirectory','-\x20**群名称:**\x20','**示例:**','formatCommandHelp','length','206708SLbLYF','trim','查看工具版本信息','dingToken','add','parseHelpCommand','skill','/log\x20[行数]','1470744XEQKqE','63iJXfHZ','/task\x20<任务描述>','/touch','/reg','/cron\x20pause\x20cron_123','/info','/reg\x20--dingToken\x20myToken\x20--whiteUserList\x20123,456','/version','startsWith','formatHelpOverview','touch','810MCEzhP','/ls\x20root\x202','/new','###\x20🤗','管理当前群白名单(add/del,默认list)','/open','localeCompare','-\x20**作者:**\x20owner','/end','examples','查看工作目录结构','--whiteUserList','/new\x20帮我分析一下这个项目','查看所有可用命令','category','delete','/log','parseLogCommand','parseResetApiKeyCfgCommand','1174kSCmyf','formatConversationInfo','/clean\x20all','^\x5c/','mkdir','/info\x20task','/resume\x20[会话ID]','parseCleanCommand','/mkdir\x20src/components'];a4_0x4c09=function(){return _0x564b6b;};return a4_0x4c09();}function findSubdirByName(_0x292b76,_0x3bba11,_0x1ca1fe=0x3){const _0x347d1b=a4_0x4bfcb3,_0x8c218=[{'dir':_0x292b76,'depth':0x0}];while(_0x8c218[_0x347d1b(0x136)]>0x0){const {dir:_0x367102,depth:_0x360628}=_0x8c218[_0x347d1b(0x1c8)]();if(_0x360628>_0x1ca1fe)continue;try{const _0x1a5af3=fs_1['default']['readdirSync'](_0x367102,{'withFileTypes':!![]});for(const _0x18b414 of _0x1a5af3){if(!_0x18b414[_0x347d1b(0x132)]()||_0x18b414[_0x347d1b(0x1b4)][_0x347d1b(0x148)]('.'))continue;if(_0x18b414[_0x347d1b(0x1b4)]===_0x3bba11)return path_1['default'][_0x347d1b(0x1a4)](_0x367102,_0x18b414[_0x347d1b(0x1b4)]);_0x8c218['push']({'dir':path_1[_0x347d1b(0x1c0)]['join'](_0x367102,_0x18b414[_0x347d1b(0x1b4)]),'depth':_0x360628+0x1});}}catch{continue;}}return null;}function getDirectoryStructure(_0x3c80a1,_0x2a4a01=0x0,_0x3fc03e=0x1){const _0x47601f=a4_0x4bfcb3;try{const _0x24ff64=fs_1[_0x47601f(0x1c0)]['readdirSync'](_0x3c80a1,{'withFileTypes':!![]})[_0x47601f(0x1b5)](_0x40bf4f=>!_0x40bf4f['name'][_0x47601f(0x148)]('.'));if(_0x24ff64['length']===0x0)return _0x2a4a01===0x0?_0x47601f(0x1c5):'';_0x24ff64[_0x47601f(0x190)]((_0x132f04,_0x549064)=>{const _0x192768=_0x47601f;if(_0x132f04[_0x192768(0x132)]()!==_0x549064['isDirectory']())return _0x132f04[_0x192768(0x132)]()?-0x1:0x1;return _0x132f04[_0x192768(0x1b4)][_0x192768(0x151)](_0x549064[_0x192768(0x1b4)]);});const _0x47d725=[],_0x3aeb0a='.\x20'[_0x47601f(0x18b)](_0x2a4a01);for(const _0x3c7969 of _0x24ff64){const _0x1a4e5b=_0x3c7969[_0x47601f(0x132)]()?_0x47601f(0x18a):_0x47601f(0x1c7),_0x368b34=_0x3c7969[_0x47601f(0x132)]()?'/':'';_0x47d725[_0x47601f(0x16e)](''+_0x3aeb0a+_0x1a4e5b+_0x3c7969[_0x47601f(0x1b4)]+_0x368b34);if(_0x3c7969[_0x47601f(0x132)]()&&_0x2a4a01<_0x3fc03e){const _0x5d0421=path_1[_0x47601f(0x1c0)][_0x47601f(0x1a4)](_0x3c80a1,_0x3c7969[_0x47601f(0x1b4)]),_0x72fb47=getDirectoryStructure(_0x5d0421,_0x2a4a01+0x1,_0x3fc03e);_0x72fb47&&_0x47d725[_0x47601f(0x16e)](_0x72fb47);}}return _0x47d725['join']('\x0a');}catch{return _0x2a4a01===0x0?_0x47601f(0x184):'';}}function parseContinueSessionCommand(_0x88d223){const _0x2d109c=a4_0x4bfcb3,_0x2dfd34=_0x88d223[_0x2d109c(0x138)]()[_0x2d109c(0x1a3)](/^\/resume(?:\s+(\S+))?$/i);if(!_0x2dfd34)return null;return _0x2dfd34[0x1]!==undefined?_0x2dfd34[0x1]:'';}function looksLikeCronExpression(_0x48ed81){const _0x257d9c=a4_0x4bfcb3,_0x116b78=_0x48ed81[_0x257d9c(0x138)]()[_0x257d9c(0x19f)](/\s+/);if(_0x116b78[_0x257d9c(0x136)]!==0x5)return![];return _0x116b78['every'](_0x2fe71a=>/^[\d*/\-]+$/[_0x257d9c(0x1ad)](_0x2fe71a));}function parseCronCommand(_0x3886f7){const _0x149999=a4_0x4bfcb3,_0x7ab088=_0x3886f7[_0x149999(0x138)]();if(!_0x7ab088[_0x149999(0x171)]()[_0x149999(0x148)]('/cron'))return null;const _0x3e2e9a=_0x7ab088[_0x149999(0x18c)](0x5)[_0x149999(0x138)]();if(!_0x3e2e9a)return null;if(/^(list|ls)$/i['test'](_0x3e2e9a))return{'type':_0x149999(0x197)};const _0x28ac99=_0x3e2e9a[_0x149999(0x1a3)](/^(?:delete|rm)\s+(\S+)$/i);if(_0x28ac99)return{'type':_0x149999(0x15a),'id':_0x28ac99[0x1]};const _0x292bf4=_0x3e2e9a[_0x149999(0x1a3)](/^pause\s+(\S+)$/i);if(_0x292bf4)return{'type':_0x149999(0x195),'id':_0x292bf4[0x1]};const _0x4fee98=_0x3e2e9a[_0x149999(0x1a3)](/^resume\s+(\S+)$/i);if(_0x4fee98)return{'type':_0x149999(0x168),'id':_0x4fee98[0x1]};const _0xbe2700=_0x3e2e9a['match'](/^(\S+\s+\S+\s+\S+\s+\S+\s+\S+)\s+(.+)$/);if(_0xbe2700&&looksLikeCronExpression(_0xbe2700[0x1]))return{'type':_0x149999(0x16b),'cronExpression':_0xbe2700[0x1],'prompt':_0xbe2700[0x2]};return{'type':_0x149999(0x1cd),'input':_0x3e2e9a};}function parsePwdCommand(_0x341aff){const _0xcdd028=a4_0x4bfcb3;return _0x341aff[_0xcdd028(0x138)]()===_0xcdd028(0x1be);}function parseVersionCommand(_0x5dd200){const _0x1dfcae=a4_0x4bfcb3;return _0x5dd200[_0x1dfcae(0x138)]()===_0x1dfcae(0x147);}function parsePathCommand(_0x487997,_0x3f7efb){const _0x2b878f=a4_0x4bfcb3,_0x433ec=_0x487997[_0x2b878f(0x138)](),_0x323aed=_0x433ec[_0x2b878f(0x1a3)](new RegExp(_0x2b878f(0x161)+_0x3f7efb+_0x2b878f(0x1ac)));if(!_0x323aed)return null;const _0x4f6184=_0x323aed[0x1][_0x2b878f(0x138)]();return _0x4f6184||null;}function parseMkdirCommand(_0x5bc421){const _0x6ec1a0=a4_0x4bfcb3;return parsePathCommand(_0x5bc421,_0x6ec1a0(0x162));}function parseTouchCommand(_0x2f6916){const _0x592702=a4_0x4bfcb3;return parsePathCommand(_0x2f6916,_0x592702(0x14a));}function parseRmCommand(_0x1ac5f6){return parsePathCommand(_0x1ac5f6,'rm');}function parseOpenCommand(_0x5b4beb){const _0x353871=a4_0x4bfcb3,_0x1d8ea4=_0x5b4beb[_0x353871(0x138)]()[_0x353871(0x171)]();if(_0x1d8ea4===_0x353871(0x150))return _0x353871(0x188);if(_0x1d8ea4==='/open\x20shell')return'shell';return null;}function parseCleanCommand(_0x2e3851){const _0x426e5b=a4_0x4bfcb3,_0x2884db=_0x2e3851[_0x426e5b(0x138)]()[_0x426e5b(0x171)]();if(_0x2884db==='/clean')return _0x426e5b(0x18e);if(_0x2884db===_0x426e5b(0x160))return _0x426e5b(0x1af);return null;}function parseResetApiKeyCfgCommand(_0x27427a){const _0x84db20=a4_0x4bfcb3;return _0x27427a[_0x84db20(0x138)]()[_0x84db20(0x171)]()===_0x84db20(0x1cf);}function parseRegCommand(_0x22c79b){const _0x5d520d=a4_0x4bfcb3,_0xcf9a5d=_0x22c79b['trim']();if(!/^\/reg(?:\s|$)/i['test'](_0xcf9a5d))return null;const _0x2d42b1={},_0x4ae46f=_0xcf9a5d[_0x5d520d(0x18c)](0x4)[_0x5d520d(0x138)]();if(!_0x4ae46f)return _0x2d42b1;const _0x5c60ca=_0x4ae46f[_0x5d520d(0x19f)](/\s+/);for(let _0x3ad260=0x0;_0x3ad260<_0x5c60ca['length'];_0x3ad260++){const _0x10aea8=_0x5c60ca[_0x3ad260];if(_0x10aea8==='--dingToken'&&_0x5c60ca[_0x3ad260+0x1])_0x2d42b1[_0x5d520d(0x13a)]=_0x5c60ca[++_0x3ad260];else{if(_0x10aea8==='--linkConversationId'&&_0x5c60ca[_0x3ad260+0x1])_0x2d42b1[_0x5d520d(0x169)]=_0x5c60ca[++_0x3ad260];else{if(_0x10aea8===_0x5d520d(0x156)&&_0x5c60ca[_0x3ad260+0x1])_0x2d42b1[_0x5d520d(0x179)]=_0x5c60ca[++_0x3ad260][_0x5d520d(0x19f)](',')['map'](_0x2bd18e=>_0x2bd18e[_0x5d520d(0x138)]())['filter'](Boolean);else{if(_0x10aea8===_0x5d520d(0x1b3)&&_0x5c60ca[_0x3ad260+0x1]){const _0x5a3283=[];while(_0x3ad260+0x1<_0x5c60ca[_0x5d520d(0x136)]&&!_0x5c60ca[_0x3ad260+0x1][_0x5d520d(0x148)]('--')){_0x5a3283['push'](_0x5c60ca[++_0x3ad260]);}_0x5a3283[_0x5d520d(0x136)]>0x0&&(_0x2d42b1[_0x5d520d(0x1c6)]=_0x5a3283['join']('\x20'));}}}}}return _0x2d42b1;}function parseAuthCommand(_0xc211d6){const _0x4dd514=a4_0x4bfcb3,_0x155697=_0xc211d6[_0x4dd514(0x138)](),_0x18f66f=_0x155697['match'](/^\/auth\s+add\s+(\S+)$/i);if(_0x18f66f)return{'type':_0x4dd514(0x13b),'staffId':_0x18f66f[0x1]};const _0x127fd7=_0x155697[_0x4dd514(0x1a3)](/^\/auth\s+del(?:ete)?\s+(\S+)$/i);if(_0x127fd7)return{'type':_0x4dd514(0x16a),'staffId':_0x127fd7[0x1]};if(/^\/auth(?:\s+list)?$/i[_0x4dd514(0x1ad)](_0x155697))return{'type':_0x4dd514(0x197)};return null;}
@@ -0,0 +1 @@
1
+ 'use strict';function a5_0x235f(_0x4736c5,_0x518c04){_0x4736c5=_0x4736c5-0x10a;const _0xf36b69=a5_0xf36b();let _0x235fea=_0xf36b69[_0x4736c5];return _0x235fea;}const a5_0x10eba8=a5_0x235f;(function(_0x168923,_0x245e1e){const _0x1a9571=a5_0x235f,_0x1259b6=_0x168923();while(!![]){try{const _0x1aa585=-parseInt(_0x1a9571(0x10c))/0x1*(-parseInt(_0x1a9571(0x12d))/0x2)+-parseInt(_0x1a9571(0x14c))/0x3+parseInt(_0x1a9571(0x135))/0x4+parseInt(_0x1a9571(0x112))/0x5+-parseInt(_0x1a9571(0x153))/0x6+parseInt(_0x1a9571(0x19a))/0x7*(parseInt(_0x1a9571(0x185))/0x8)+parseInt(_0x1a9571(0x197))/0x9*(parseInt(_0x1a9571(0x164))/0xa);if(_0x1aa585===_0x245e1e)break;else _0x1259b6['push'](_0x1259b6['shift']());}catch(_0x2b9fc1){_0x1259b6['push'](_0x1259b6['shift']());}}}(a5_0xf36b,0x7c713));var __importDefault=this&&this[a5_0x10eba8(0x175)]||function(_0x27d739){return _0x27d739&&_0x27d739['__esModule']?_0x27d739:{'default':_0x27d739};};Object['defineProperty'](exports,a5_0x10eba8(0x171),{'value':!![]}),exports['CronEngine']=void 0x0,exports[a5_0x10eba8(0x190)]=isValidCronExpression,exports['formatCronJobList']=formatCronJobList,exports[a5_0x10eba8(0x189)]=formatCronJobInfo;const fs_1=__importDefault(require('fs')),readline_1=__importDefault(require(a5_0x10eba8(0x115))),child_process_1=require('child_process'),utils_ok_1=require(a5_0x10eba8(0x157)),messaging_1=require(a5_0x10eba8(0x11f)),claude_process_1=require(a5_0x10eba8(0x11b)),task_1=require(a5_0x10eba8(0x14d)),session_1=require(a5_0x10eba8(0x15c));function getCronFile(_0x3edae4){const _0x22fb04=a5_0x10eba8;return(0x0,session_1[_0x22fb04(0x141)])(_0x3edae4)+'/cron.json';}function loadCronJobs(_0x4d08e5){const _0x25c693=a5_0x10eba8,_0x808ffe=getCronFile(_0x4d08e5);try{const _0x5e97da=JSON[_0x25c693(0x125)](fs_1[_0x25c693(0x130)][_0x25c693(0x1a6)](_0x808ffe,'utf-8'));return Array[_0x25c693(0x120)](_0x5e97da)?_0x5e97da:_0x5e97da[_0x25c693(0x159)]||[];}catch{return[];}}function saveCronJobs(_0x4c3d8e,_0x58263b){const _0x32abd4=a5_0x10eba8,_0x390677=getCronFile(_0x4c3d8e);fs_1['default'][_0x32abd4(0x18d)](_0x390677,JSON['stringify'](_0x58263b,null,0x2),_0x32abd4(0x1ae));}function matchesCronField(_0x588384,_0x163180,_0x48bcfa,_0x34e73d){const _0x123bae=a5_0x10eba8;if(_0x588384==='*')return!![];if(_0x588384['includes'](','))return _0x588384[_0x123bae(0x132)](',')[_0x123bae(0x194)](_0x36504e=>matchesCronField(_0x36504e[_0x123bae(0x14b)](),_0x163180,_0x48bcfa,_0x34e73d));if(_0x588384[_0x123bae(0x15f)]('/')){const _0x260af7=_0x588384[_0x123bae(0x1ad)]('/'),_0x5de4e7=_0x588384[_0x123bae(0x117)](0x0,_0x260af7),_0x586462=parseInt(_0x588384[_0x123bae(0x117)](_0x260af7+0x1),0xa);if(isNaN(_0x586462)||_0x586462<=0x0)return![];let _0x532d27=_0x48bcfa,_0x496485=_0x34e73d;if(_0x5de4e7!=='*'){if(_0x5de4e7[_0x123bae(0x15f)]('-')){const _0x423552=_0x5de4e7['split']('-')[_0x123bae(0x1a4)](Number);_0x532d27=_0x423552[0x0],_0x496485=_0x423552[0x1];}else _0x532d27=parseInt(_0x5de4e7,0xa),_0x496485=_0x34e73d;}if(_0x163180<_0x532d27||_0x163180>_0x496485)return![];return(_0x163180-_0x532d27)%_0x586462===0x0;}if(_0x588384[_0x123bae(0x15f)]('-')){const _0x3d2079=_0x588384[_0x123bae(0x132)]('-')['map'](Number);return _0x163180>=_0x3d2079[0x0]&&_0x163180<=_0x3d2079[0x1];}const _0x44914c=parseInt(_0x588384,0xa);return!isNaN(_0x44914c)&&_0x163180===_0x44914c;}function matchesCron(_0x45e2d8,_0x51d41f){const _0x56428e=a5_0x10eba8,_0x2c6e0e=_0x45e2d8[_0x56428e(0x14b)]()[_0x56428e(0x132)](/\s+/);if(_0x2c6e0e['length']!==0x5)return![];const _0x1a0f48=_0x51d41f[_0x56428e(0x137)](),_0x3f6686=_0x51d41f[_0x56428e(0x19f)](),_0x38a97e=_0x51d41f[_0x56428e(0x193)](),_0x1cda40=_0x51d41f['getMonth']()+0x1,_0x33c766=_0x51d41f['getDay']();if(!matchesCronField(_0x2c6e0e[0x0],_0x1a0f48,0x0,0x3b))return![];if(!matchesCronField(_0x2c6e0e[0x1],_0x3f6686,0x0,0x17))return![];if(!matchesCronField(_0x2c6e0e[0x3],_0x1cda40,0x1,0xc))return![];const _0x37dc69=matchesCronField(_0x2c6e0e[0x2],_0x38a97e,0x1,0x1f),_0x58004e=matchesCronField(_0x2c6e0e[0x4],_0x33c766,0x0,0x7)||_0x33c766===0x0&&matchesCronField(_0x2c6e0e[0x4],0x7,0x0,0x7),_0x1c583e=_0x2c6e0e[0x2]==='*',_0x4a18d9=_0x2c6e0e[0x4]==='*';if(_0x1c583e&&_0x4a18d9)return!![];if(_0x1c583e)return _0x58004e;if(_0x4a18d9)return _0x37dc69;return _0x37dc69||_0x58004e;}function isValidCronExpression(_0x681011){const _0x40f690=a5_0x10eba8,_0x5bcb5b=_0x681011[_0x40f690(0x14b)]()['split'](/\s+/);if(_0x5bcb5b[_0x40f690(0x154)]!==0x5)return![];const _0x1d52f7=/^(\*|\d+|\d+-\d+|\*\/\d+|\d+\/\d+|\d+-\d+\/\d+|\d+(,\d+)+)$/;return _0x5bcb5b['every'](_0x13bd59=>_0x1d52f7[_0x40f690(0x169)](_0x13bd59));}const ANALYSIS_PROMPT=a5_0x10eba8(0x10a);async function analyzeCronWithClaude(_0x30d745,_0x385903,_0x4309d8){const _0x5da4ca=a5_0x10eba8,_0x4191e5=_0x30d745[_0x5da4ca(0x1b1)](_0x385903),_0x1fb65b=_0x5da4ca(0x121),_0x1dae5e=ANALYSIS_PROMPT[_0x5da4ca(0x165)](_0x5da4ca(0x178),_0x4309d8),_0x1477a4=[_0x5da4ca(0x1a5),_0x5da4ca(0x13d),'--print','--output-format',_0x5da4ca(0x1a2),_0x5da4ca(0x111)],_0x51bf01=(0x0,claude_process_1[_0x5da4ca(0x173)])(_0x30d745,_0x4191e5);return _0x51bf01&&_0x1477a4[_0x5da4ca(0x16b)](_0x5da4ca(0x13e),_0x51bf01),console[_0x5da4ca(0x1a1)]('['+(0x0,session_1[_0x5da4ca(0x138)])()+_0x5da4ca(0x1a9)+_0x1fb65b+'\x20'+_0x1477a4['join']('\x20')),new Promise((_0x16dbe2,_0x346cb3)=>{const _0x4a8959=_0x5da4ca,_0xf534=(0x0,child_process_1[_0x4a8959(0x182)])(_0x1fb65b,_0x1477a4,{'cwd':_0x4191e5,'stdio':['pipe','pipe',_0x4a8959(0x118)]});_0xf534[_0x4a8959(0x15a)]?.[_0x4a8959(0x12e)](_0x1dae5e+'\x0a'),_0xf534['stdin']?.[_0x4a8959(0x158)]();let _0x474310='',_0x4de444='';const _0x236669=readline_1['default'][_0x4a8959(0x16e)]({'input':_0xf534['stdout']});_0x236669['on'](_0x4a8959(0x176),_0x43479f=>{const _0x3ce182=_0x4a8959,_0x5a4593=(0x0,claude_process_1[_0x3ce182(0x10b)])(_0x43479f);_0x5a4593?.[_0x3ce182(0x10f)]===_0x3ce182(0x1a0)&&_0x5a4593['content']&&(_0x474310=_0x5a4593[_0x3ce182(0x1aa)]);}),_0xf534['stderr']?.['on'](_0x4a8959(0x1a8),_0x12c67b=>{const _0x2bd4cd=_0x4a8959;_0x4de444+=_0x12c67b[_0x2bd4cd(0x145)]();});const _0x31de2a=setTimeout(()=>{const _0x5b3b3c=_0x4a8959;_0xf534['kill'](),_0x346cb3(new Error(_0x5b3b3c(0x12a)));},0xea60);_0xf534['on'](_0x4a8959(0x128),_0x39e650=>{const _0x345cd4=_0x4a8959;clearTimeout(_0x31de2a);if(_0x39e650===0x0&&_0x474310)try{const _0x1d8354=_0x474310[_0x345cd4(0x10d)](/\{[\s\S]*\}/);if(_0x1d8354){const _0x311c7e=JSON[_0x345cd4(0x125)](_0x1d8354[0x0]);if(_0x311c7e[_0x345cd4(0x11c)]&&_0x311c7e[_0x345cd4(0x170)]){_0x16dbe2(_0x311c7e);return;}}_0x346cb3(new Error(_0x345cd4(0x13f)));}catch{_0x346cb3(new Error(_0x345cd4(0x18a)));}else{const _0x592518=_0x4de444[_0x345cd4(0x14b)]()?'\x20('+_0x4de444['trim']()[_0x345cd4(0x117)](0x0,0xc8)+')':'';console[_0x345cd4(0x13c)]('['+(0x0,session_1[_0x345cd4(0x138)])()+_0x345cd4(0x13a)+_0x39e650+')'+_0x592518);const _0x183ca9=_0x4de444;if(/\b429\b/['test'](_0x183ca9))_0x346cb3(new Error('Claude\x20配额已耗尽(429),请稍后重试或明天再试'));else{if(/\b422\b/['test'](_0x183ca9)||/TPM|额度超限/i[_0x345cd4(0x169)](_0x183ca9))_0x346cb3(new Error(_0x345cd4(0x13b)));else{if(/\b401\b/[_0x345cd4(0x169)](_0x183ca9)||/auth|认证|permission/i[_0x345cd4(0x169)](_0x183ca9))_0x346cb3(new Error(_0x345cd4(0x17c)));else _0x39e650===0x1&&!_0x474310&&!_0x4de444['trim']()?_0x346cb3(new Error(_0x345cd4(0x177))):_0x346cb3(new Error(_0x345cd4(0x123)+_0x39e650+')'+_0x592518));}}}}),_0xf534['on']('error',_0x2be0f7=>{const _0x113d45=_0x4a8959;clearTimeout(_0x31de2a),_0x346cb3(new Error(_0x113d45(0x19b)+_0x2be0f7[_0x113d45(0x131)]));});});}function formatCronJobList(_0x2e0f99){const _0x3cc2a6=a5_0x10eba8;if(_0x2e0f99['length']===0x0)return _0x3cc2a6(0x11a);const _0x247100=[_0x3cc2a6(0x144)];for(const _0x4ac74c of _0x2e0f99){const _0x40def5=_0x4ac74c['enabled']?'✅':'⏸️',_0x359081=_0x4ac74c[_0x3cc2a6(0x180)]||'-';_0x247100[_0x3cc2a6(0x16b)]('**'+_0x40def5+'\x20'+_0x4ac74c['id']+'**'),_0x247100['push'](_0x3cc2a6(0x110)+_0x4ac74c[_0x3cc2a6(0x1af)]+'`'),_0x247100['push'](_0x3cc2a6(0x18e)+_0x4ac74c['description']),_0x247100[_0x3cc2a6(0x16b)](_0x3cc2a6(0x1b0)+_0x4ac74c[_0x3cc2a6(0x170)]),_0x247100[_0x3cc2a6(0x16b)](_0x3cc2a6(0x181)+_0x4ac74c[_0x3cc2a6(0x151)]),_0x247100[_0x3cc2a6(0x16b)]('-\x20上次执行:\x20'+_0x359081),_0x247100[_0x3cc2a6(0x16b)]('');}return _0x247100[_0x3cc2a6(0x16b)](_0x3cc2a6(0x161)),_0x247100[_0x3cc2a6(0x133)]('\x0a');}function formatCronJobInfo(_0x490c0a){const _0x5cea30=a5_0x10eba8,_0x48712c=_0x490c0a[_0x5cea30(0x166)]?_0x5cea30(0x122):_0x5cea30(0x156);return['###\x20⏰\x20定时任务\x20'+_0x490c0a['id'],'',_0x5cea30(0x163)+_0x48712c,_0x5cea30(0x11e)+_0x490c0a['cronExpression']+'`',_0x5cea30(0x18c)+_0x490c0a['description'],_0x5cea30(0x19d)+_0x490c0a['prompt'],_0x5cea30(0x11d)+_0x490c0a[_0x5cea30(0x151)],_0x5cea30(0x18f)+_0x490c0a[_0x5cea30(0x124)],_0x5cea30(0x143)+(_0x490c0a[_0x5cea30(0x180)]||'-')]['join']('\x0a');}function a5_0xf36b(){const _0xcbf2a=['./claude-process','cron','-\x20**创建者:**\x20','-\x20**Cron:**\x20`','./messaging','isArray','claude','✅\x20启用','分析失败\x20(退出码:\x20','createdAt','parse','desc','findIndex','close','delete','分析超时(60s)',']\x20Cron并发上限(',']\x20Cron引擎已启动,\x20共\x20','2xftfcA','write','conversationId','default','message','split','join',']\x20Cron执行Claude查询失败:\x20','2542536JGjyAu','config','getMinutes','timestamp','MAX_CONCURRENT_JOBS',']\x20Cron分析进程退出(','Claude\x20TPM\x20限流(422),请稍后重试','error','bypassPermissions','--settings','Claude\x20返回格式不正确','executeClaudeQuery','getClientDir','\x20的会话配置不存在,\x20跳过执行','-\x20**上次执行:**\x20','###\x20⏰\x20定时任务列表\x0a','toString','[cron]','mkdirSync',']\x20删除定时任务:\x20',']\x20[SYSTEM]:\x20定时任务触发:\x20','addJob','trim','2505444sigUIf','./task',']\x20Cron执行失败:\x20','checkJobsAt','\x20已降级到任务队列:\x20','senderNick','find','1766082InDfgr','length','description','⏸️\x20暂停','utils-ok','end','jobs','stdin','size','./session','startScheduler','已恢复','includes',']\x20新增定时任务:\x20','💡\x20`/cron\x20pause\x20<id>`\x20暂停\x20|\x20`/cron\x20resume\x20<id>`\x20恢复\x20|\x20`/cron\x20delete\x20<id>`\x20删除','dingToken','-\x20**状态:**\x20','7330mjXEwb','replace','enabled','executeJob',']\x20Cron任务\x20','test','toggleJob','push','tick','CronEngine','createInterface','runningJobIds','prompt','__esModule','/session.log','resolveClaudeSettingsPath','destroy','__importDefault','line','Claude\x20进程异常退出,无输出。请检查\x20claude\x20命令是否可用','{INPUT}','warn','taskCfg','filter','Claude\x20认证失败(401),请检查\x20API\x20Key\x20配置','agent','activeSessions','appendFileSync','lastRunAt','-\x20创建者:\x20','spawn','\x20的检查','senderStaffId','5395272JYtbkQ','lastCheckedTime','toISOString','\x20启用)','formatCronJobInfo','JSON\x20解析失败','getJob','-\x20**描述:**\x20','writeFileSync','-\x20描述:\x20','-\x20**创建时间:**\x20','isValidCronExpression','start','saveTask','getDate','some','now','已暂停','639hAVenN','persist','timer','7KZyiAb','启动\x20Claude\x20进程失败:\x20','listJobs','-\x20**任务:**\x20','enqueueAsTask','getHours','result','log','stream-json','catch','map','--permission-mode','readFileSync','findActiveSession','data',']\x20Cron分析:\x20','content','saveActiveSession','has','indexOf','utf-8','cronExpression','-\x20任务:\x20','getConversationDir','分析以下定时任务描述,提取cron表达式和任务内容。\x0a\x0a用户输入:\x20{INPUT}\x0a\x0a请严格返回以下JSON格式(不要返回其他任何内容):\x0a{\x22cron\x22:\x225位cron表达式(分\x20时\x20日\x20月\x20周)\x22,\x22prompt\x22:\x22要执行的任务提示词\x22,\x22desc\x22:\x22简短的中文描述\x22}\x0a\x0a常见cron格式:\x0a-\x20每天早上9点:\x20\x220\x209\x20*\x20*\x20*\x22\x0a-\x20每周一早上9点:\x20\x220\x209\x20*\x20*\x201\x22\x0a-\x20工作日早上9点:\x20\x220\x209\x20*\x20*\x201-5\x22\x0a-\x20每小时:\x20\x220\x20*\x20*\x20*\x20*\x22\x0a-\x20每30分钟:\x20\x22*/30\x20*\x20*\x20*\x20*\x22\x0a-\x20每天中午12点:\x20\x220\x2012\x20*\x20*\x20*\x22\x0a-\x20每月1号早上9点:\x20\x220\x209\x201\x20*\x20*\x22\x0a-\x20每周五下午3点:\x20\x220\x2015\x20*\x20*\x205\x22','parseClaudeStreamLine','28709KdmQWf','match','format','type','-\x20Cron:\x20`','--verbose','1242075oiCMOk','splice','stopScheduler','readline','add','substring','pipe','defaultDingToken','📭\x20暂无定时任务'];a5_0xf36b=function(){return _0xcbf2a;};return a5_0xf36b();}class CronEngine{constructor(_0x5bc2eb){const _0x3500f9=a5_0x10eba8;this[_0x3500f9(0x159)]=[],this[_0x3500f9(0x199)]=null,this[_0x3500f9(0x186)]=-0x1,this[_0x3500f9(0x16f)]=new Set(),this[_0x3500f9(0x139)]=0x3,this['dc']=_0x5bc2eb,this[_0x3500f9(0x159)]=loadCronJobs(_0x5bc2eb);}[a5_0x10eba8(0x191)](){const _0x1557a2=a5_0x10eba8;this[_0x1557a2(0x15d)]();const _0x2ba53c=this[_0x1557a2(0x159)][_0x1557a2(0x17b)](_0x4647a5=>_0x4647a5[_0x1557a2(0x166)])[_0x1557a2(0x154)];console[_0x1557a2(0x1a1)]('['+(0x0,session_1[_0x1557a2(0x138)])()+_0x1557a2(0x12c)+this[_0x1557a2(0x159)]['length']+'\x20个任务\x20('+_0x2ba53c+_0x1557a2(0x188));}[a5_0x10eba8(0x174)](){const _0x57f7c0=a5_0x10eba8;this[_0x57f7c0(0x114)]();}[a5_0x10eba8(0x14a)](_0x756da6){const _0x4674c7=a5_0x10eba8,_0x1bbf89={'id':'cron_'+Date[_0x4674c7(0x195)](),'conversationId':_0x756da6[_0x4674c7(0x12f)],'cronExpression':_0x756da6[_0x4674c7(0x1af)],'description':_0x756da6[_0x4674c7(0x155)],'prompt':_0x756da6[_0x4674c7(0x170)],'enabled':!![],'createdAt':(0x0,session_1[_0x4674c7(0x138)])(),'senderStaffId':_0x756da6[_0x4674c7(0x184)],'senderNick':_0x756da6[_0x4674c7(0x151)]};return this[_0x4674c7(0x159)][_0x4674c7(0x16b)](_0x1bbf89),this[_0x4674c7(0x198)](),console[_0x4674c7(0x1a1)]('['+(0x0,session_1['timestamp'])()+_0x4674c7(0x160)+_0x1bbf89['id']+'\x20['+_0x1bbf89[_0x4674c7(0x1af)]+']\x20'+_0x1bbf89[_0x4674c7(0x155)]),_0x1bbf89;}['removeJob'](_0x39ab2a){const _0x282bc9=a5_0x10eba8,_0x4791ab=this[_0x282bc9(0x159)][_0x282bc9(0x127)](_0x3edfd6=>_0x3edfd6['id']===_0x39ab2a);if(_0x4791ab===-0x1)return![];const _0x4788e0=this[_0x282bc9(0x159)][_0x282bc9(0x113)](_0x4791ab,0x1)[0x0];return this['persist'](),console[_0x282bc9(0x1a1)]('['+(0x0,session_1['timestamp'])()+_0x282bc9(0x148)+_0x4788e0['id']),!![];}[a5_0x10eba8(0x16a)](_0x309c26,_0x1f2b6b){const _0x1086fb=a5_0x10eba8,_0x4bc849=this[_0x1086fb(0x159)]['find'](_0x246da7=>_0x246da7['id']===_0x309c26);if(!_0x4bc849)return![];return _0x4bc849['enabled']=_0x1f2b6b,this[_0x1086fb(0x198)](),console[_0x1086fb(0x1a1)]('['+(0x0,session_1[_0x1086fb(0x138)])()+']\x20定时任务\x20'+_0x4bc849['id']+'\x20'+(_0x1f2b6b?_0x1086fb(0x15e):_0x1086fb(0x196))),!![];}[a5_0x10eba8(0x19c)](_0x1be84b){const _0x39436b=a5_0x10eba8;if(_0x1be84b)return this[_0x39436b(0x159)][_0x39436b(0x17b)](_0x5c639b=>_0x5c639b[_0x39436b(0x12f)]===_0x1be84b);return[...this[_0x39436b(0x159)]];}[a5_0x10eba8(0x18b)](_0x3dc289){const _0x1b0192=a5_0x10eba8;return this[_0x1b0192(0x159)][_0x1b0192(0x152)](_0x1b70c1=>_0x1b70c1['id']===_0x3dc289);}async['analyzeAndCreate'](_0x2bfd04,_0xc0b151,_0x4cb364,_0x2888cb){const _0x36378a=a5_0x10eba8;try{const _0x110288=await analyzeCronWithClaude(this['dc'],_0x2bfd04,_0xc0b151);if(!isValidCronExpression(_0x110288['cron']))return{'error':'Claude\x20返回的cron表达式无效:\x20'+_0x110288[_0x36378a(0x11c)]};const _0x53bc63=this[_0x36378a(0x14a)]({'conversationId':_0x2bfd04,'cronExpression':_0x110288[_0x36378a(0x11c)],'description':_0x110288[_0x36378a(0x126)]||_0xc0b151['substring'](0x0,0x32),'prompt':_0x110288[_0x36378a(0x170)],'senderStaffId':_0x4cb364,'senderNick':_0x2888cb});return{'job':_0x53bc63};}catch(_0x179b76){return{'error':_0x179b76 instanceof Error?_0x179b76[_0x36378a(0x131)]:String(_0x179b76)};}}[a5_0x10eba8(0x198)](){const _0x4a2007=a5_0x10eba8;saveCronJobs(this['dc'],this[_0x4a2007(0x159)]);}['startScheduler'](){const _0x51bcaf=a5_0x10eba8,_0x2857f4=Date[_0x51bcaf(0x195)](),_0x52c7d0=0xea60-_0x2857f4%0xea60;setTimeout(()=>{const _0x168d93=_0x51bcaf;this['tick'](),this[_0x168d93(0x199)]=setInterval(()=>this[_0x168d93(0x16c)](),0xea60);},_0x52c7d0);}['stopScheduler'](){const _0x4b1be1=a5_0x10eba8;this[_0x4b1be1(0x199)]&&(clearInterval(this[_0x4b1be1(0x199)]),this[_0x4b1be1(0x199)]=null);}[a5_0x10eba8(0x16c)](){const _0x521cf3=a5_0x10eba8,_0x521b65=Date[_0x521cf3(0x195)](),_0x7e0559=this[_0x521cf3(0x186)]<0x0?_0x521b65-_0x521b65%0xea60:this[_0x521cf3(0x186)]+0xea60-this['lastCheckedTime']%0xea60,_0x54911f=_0x521b65-_0x521b65%0xea60;for(let _0x37e7d9=_0x7e0559;_0x37e7d9<=_0x54911f;_0x37e7d9+=0xea60){const _0x452a93=new Date(_0x37e7d9);if(!this[_0x521cf3(0x14f)](_0x452a93))break;}this[_0x521cf3(0x186)]=_0x521b65;}[a5_0x10eba8(0x14f)](_0x51179f){const _0x2a21ee=a5_0x10eba8;if(this['runningJobIds'][_0x2a21ee(0x15b)]>=this[_0x2a21ee(0x139)])return console['warn']('['+(0x0,session_1[_0x2a21ee(0x138)])()+_0x2a21ee(0x12b)+this[_0x2a21ee(0x139)]+'),\x20跳过\x20'+_0x51179f[_0x2a21ee(0x187)]()+_0x2a21ee(0x183)),![];for(const _0x59fb39 of this['jobs']){if(!_0x59fb39['enabled'])continue;if(this['runningJobIds'][_0x2a21ee(0x1ac)](_0x59fb39['id']))continue;if(this[_0x2a21ee(0x16f)][_0x2a21ee(0x15b)]>=this[_0x2a21ee(0x139)])break;if(!matchesCron(_0x59fb39[_0x2a21ee(0x1af)],_0x51179f))continue;console[_0x2a21ee(0x1a1)]('['+(0x0,session_1[_0x2a21ee(0x138)])()+']\x20Cron触发:\x20'+_0x59fb39['id']+'\x20['+_0x59fb39[_0x2a21ee(0x1af)]+']\x20'+_0x59fb39[_0x2a21ee(0x155)]),this[_0x2a21ee(0x167)](_0x59fb39)[_0x2a21ee(0x1a3)](_0xe8180=>{const _0x3cafe9=_0x2a21ee;console['error']('['+(0x0,session_1[_0x3cafe9(0x138)])()+_0x3cafe9(0x14e)+_0x59fb39['id'],_0xe8180);});}return!![];}async['executeJob'](_0x10d6c4){const _0x208306=a5_0x10eba8;this[_0x208306(0x16f)][_0x208306(0x116)](_0x10d6c4['id']);try{const _0x31a661=this['dc']['getConversationConfig'](_0x10d6c4[_0x208306(0x12f)]);if(!_0x31a661){console[_0x208306(0x179)]('['+(0x0,session_1[_0x208306(0x138)])()+_0x208306(0x168)+_0x10d6c4['id']+_0x208306(0x142));return;}const _0x4e5a94=!!(_0x31a661[_0x208306(0x162)]||this['dc'][_0x208306(0x136)][_0x208306(0x119)]);if(!_0x4e5a94){console[_0x208306(0x179)]('['+(0x0,session_1[_0x208306(0x138)])()+_0x208306(0x168)+_0x10d6c4['id']+'\x20无通知能力(无dingToken且无defaultDingToken),\x20跳过执行');return;}const _0x4b4400=(0x0,session_1[_0x208306(0x1a7)])(this['dc'],_0x10d6c4[_0x208306(0x12f)]);if(_0x4b4400){console[_0x208306(0x1a1)]('['+(0x0,session_1[_0x208306(0x138)])()+_0x208306(0x168)+_0x10d6c4['id']+'\x20的会话有活跃session,\x20降级到任务队列'),await this[_0x208306(0x19e)](_0x10d6c4);return;}const _0x34047e=Date[_0x208306(0x195)](),_0x1c98b2={'conversationId':_0x10d6c4[_0x208306(0x12f)],'sessionWebhook':'','startTime':_0x34047e,'startTimeStr':utils_ok_1['dateUtil']['mm'](_0x34047e)[_0x208306(0x10e)]('YYYY-MM-DD-HH-mm-ss'),'startStaffId':_0x10d6c4[_0x208306(0x184)],'startNickName':'[cron]'+_0x10d6c4[_0x208306(0x151)]},_0x4b0615=(0x0,session_1['getSessionDir'])(this['dc'],_0x1c98b2);fs_1[_0x208306(0x130)][_0x208306(0x147)](_0x4b0615,{'recursive':!![]}),fs_1['default'][_0x208306(0x18d)](_0x4b0615+'/session.json',JSON['stringify'](_0x1c98b2,null,0x2),_0x208306(0x1ae)),this['dc']['activeSessions']['set'](_0x10d6c4['conversationId'],{'session':_0x1c98b2,'lastSenderStaffId':_0x10d6c4[_0x208306(0x184)],'isProcessing':!![],'conversationConfig':_0x31a661}),(0x0,session_1['saveActiveSession'])(this['dc'],_0x10d6c4[_0x208306(0x12f)]),console['log']('['+(0x0,session_1[_0x208306(0x138)])()+']\x20Cron任务\x20'+_0x10d6c4['id']+'\x20开始执行:\x20'+_0x10d6c4[_0x208306(0x155)]),fs_1[_0x208306(0x130)][_0x208306(0x17f)](_0x4b0615+_0x208306(0x172),'['+(0x0,session_1['timestamp'])()+_0x208306(0x149)+_0x10d6c4[_0x208306(0x155)]+'\x0a',_0x208306(0x1ae));try{await(0x0,claude_process_1[_0x208306(0x140)])(this['dc'],_0x1c98b2,_0x10d6c4[_0x208306(0x170)],{'skill':_0x31a661[_0x208306(0x17a)]?.['skill'],'agent':_0x31a661[_0x208306(0x17d)],'senderNick':_0x10d6c4['senderNick'],'senderStaffId':_0x10d6c4[_0x208306(0x184)]});}catch(_0x3fd392){console[_0x208306(0x13c)]('['+(0x0,session_1[_0x208306(0x138)])()+_0x208306(0x134)+_0x10d6c4['id'],_0x3fd392),await(0x0,messaging_1['sendDingMessage'])(this['dc'],{'conversationId':_0x10d6c4['conversationId'],'sessionWebhook':'','atUserId':_0x10d6c4['senderStaffId'],'content':'❌\x20定时任务执行失败:\x20'+(_0x3fd392 instanceof Error?_0x3fd392['message']:String(_0x3fd392))});}finally{this['dc'][_0x208306(0x17e)][_0x208306(0x129)](_0x10d6c4['conversationId']),(0x0,session_1[_0x208306(0x1ab)])(this['dc'],_0x10d6c4[_0x208306(0x12f)]);}_0x10d6c4['lastRunAt']=(0x0,session_1[_0x208306(0x138)])(),this[_0x208306(0x198)]();}finally{this[_0x208306(0x16f)]['delete'](_0x10d6c4['id']);}}async[a5_0x10eba8(0x19e)](_0x4721d3){const _0x358c39=a5_0x10eba8;try{await(0x0,task_1[_0x358c39(0x192)])(this['dc'],{'conversationId':_0x4721d3[_0x358c39(0x12f)],'prompt':_0x4721d3[_0x358c39(0x170)],'senderStaffId':_0x4721d3[_0x358c39(0x184)],'senderNickName':_0x358c39(0x146)+_0x4721d3['senderNick'],'sessionWebhook':'','type':_0x358c39(0x11c)}),console['log']('['+(0x0,session_1[_0x358c39(0x138)])()+_0x358c39(0x168)+_0x4721d3['id']+_0x358c39(0x150)+_0x4721d3[_0x358c39(0x155)]);}catch(_0x28446c){console[_0x358c39(0x13c)]('['+(0x0,session_1[_0x358c39(0x138)])()+_0x358c39(0x168)+_0x4721d3['id']+'\x20降级到任务队列失败:',_0x28446c);}_0x4721d3[_0x358c39(0x180)]=(0x0,session_1[_0x358c39(0x138)])(),this[_0x358c39(0x198)]();}}exports[a5_0x10eba8(0x16d)]=CronEngine;
@@ -0,0 +1 @@
1
+ 'use strict';const a6_0x3694a0=a6_0x5d3f;(function(_0x5494ad,_0x2dafba){const _0x3771c6=a6_0x5d3f,_0x2fee51=_0x5494ad();while(!![]){try{const _0x451d13=-parseInt(_0x3771c6(0xf1))/0x1+-parseInt(_0x3771c6(0x121))/0x2+-parseInt(_0x3771c6(0xef))/0x3*(parseInt(_0x3771c6(0x129))/0x4)+-parseInt(_0x3771c6(0x112))/0x5*(-parseInt(_0x3771c6(0xe5))/0x6)+parseInt(_0x3771c6(0x117))/0x7+parseInt(_0x3771c6(0x123))/0x8+parseInt(_0x3771c6(0x128))/0x9;if(_0x451d13===_0x2dafba)break;else _0x2fee51['push'](_0x2fee51['shift']());}catch(_0x3f4dbc){_0x2fee51['push'](_0x2fee51['shift']());}}}(a6_0x423e,0x8d703));var __importDefault=this&&this[a6_0x3694a0(0x101)]||function(_0x3d4318){return _0x3d4318&&_0x3d4318['__esModule']?_0x3d4318:{'default':_0x3d4318};};Object[a6_0x3694a0(0xdf)](exports,a6_0x3694a0(0x116),{'value':!![]}),exports[a6_0x3694a0(0xdb)]=printDoctorResults,exports['runDoctor']=runDoctor;function a6_0x423e(){const _0x267e31=['object','config.json','printDoctorResults','(空)','缺少必填字段:\x20',']\x20缺少\x20cronExpression','defineProperty','string','\x20启用)','WARN','------------------------------------','cron.json\x20格式异常,无法解析为任务数组','1141482NIxVtE','\x20仍为占位符:\x20','.doctor-check','config.json\x20解析失败:\x20','\x20致命','\x20警告,\x20','path','some','settings-tpl.json\x20根元素不是对象','\x20缺少\x20conversationId','183hGiHsU','owner\x20未配置,管理命令(/clean,\x20/open,\x20/reset-apikeycfg,\x20/reg,\x20/auth)不可用','970392XlLzKe','baseUrl','has','model','\x22\x20未在\x20config.json\x20conversations\x20中找到','\x20\x20✅\x20所有检查通过','\x20apiKey\x20重复:\x20','conversations','FATAL','\x20conversationId\x20仍为占位符:\x20','apiKeyCfg.claudeSettings\x20为空,无备用\x20Key','进程运行中\x20(PID:\x20',']\x20缺少\x20conversationId','conversationId','PID\x20锁文件读取异常:\x20','cron.json','__importDefault','trim','split','resetTime','====================================\x0a','apiKeyCfg\x20未配置,无法使用\x20API\x20Key\x20池化轮换','defaultDingToken','\x20项,有效\x20','getHomeDir','\x20已退出(过期锁文件)','\x20缺少\x20apiKey','linkConversationId','clientSecret','.pid.lock','cron.json\x20共\x20','\x20缺少\x20model','slice','25hKDfvt','cc-ding','dingSecret','dingToken','__esModule','1184435ZhwFZA','apiKeyCfg','cron.json\x20解析失败:\x20',']\x20缺少\x20id','isArray','\x20个定时任务\x20(','claudeSettings','\x20通过,\x20','客户端目录存在:\x20','客户端目录不可写:\x20','429284dmribQ','conversations\x20应为数组','5337952dkHjKD','existsSync','settingLabel','apiKeyCfg.claudeSettings\x20共\x20','cron.json[','9602406aTcEcO','71492SbQljg','./api-key-manager','claude\x20命令可用',']\x20conversationId\x20\x22','\x20为空数组','message','isValid','settings-tpl.json\x20不存在,创建\x20settings-ding.json\x20时将使用空模板','level','apiKey','无运行中的进程','settings-tpl.json\x20缺少\x20env\x20字段','which\x20claude','test','child_process','startsWith','./session','conversations[','\x20\x20合计:\x20','\x20\x20❌\x20存在致命问题,请修复后重新运行','\x20缺少\x20baseUrl','客户端目录不存在:\x20','\x20conversationId\x20重复:\x20','claude\x20命令不可用,请确认\x20Claude\x20Code\x20CLI\x20已安装','owner:\x20','parse','execSync','length','\x22\x20未在\x20conversations\x20中找到','env','apiKeyCfg.claudeSettings[','add','whiteUserList','settings-tpl.json\x20有效,env\x20包含:\x20','conversations\x20共\x20','owner','settings-tpl.json','default','.anycli','push','readFileSync','Node\x20版本:','锁文件存在但进程\x20','join','Node\x20版本过低:','log','cronExpression','utf-8','PASS','enabled','settings-tpl.json\x20解析失败:\x20','filter','kill','pipe','apiKeyCfg.claudeSettings\x20不是数组'];a6_0x423e=function(){return _0x267e31;};return a6_0x423e();}function a6_0x5d3f(_0x2fb5b5,_0x51a081){_0x2fb5b5=_0x2fb5b5-0xdb;const _0x423e15=a6_0x423e();let _0x5d3fd7=_0x423e15[_0x2fb5b5];return _0x5d3fd7;}const session_1=require(a6_0x3694a0(0x139)),api_key_manager_1=require(a6_0x3694a0(0x12a)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a6_0x3694a0(0xeb))),child_process_1=require(a6_0x3694a0(0x137));function printDoctorResults(_0x4ba045){const _0x518d4d=a6_0x3694a0;console['log'](''),console[_0x518d4d(0x156)]('==========\x20cc-ding\x20doctor\x20==========');const _0x3b09f6=_0x4ba045[_0x518d4d(0xec)](_0x172694=>_0x172694[_0x518d4d(0x131)]===_0x518d4d(0xf9));for(const _0x1a5dba of _0x4ba045){const _0x402bbe=_0x1a5dba[_0x518d4d(0x131)]===_0x518d4d(0x159)?'✓':_0x1a5dba[_0x518d4d(0x131)]===_0x518d4d(0xf9)?'✗':'⚠',_0x53eb7f=_0x1a5dba[_0x518d4d(0x131)]===_0x518d4d(0x159)?'':'['+_0x1a5dba[_0x518d4d(0x131)]+']\x20';console['log']('\x20\x20'+_0x402bbe+'\x20'+_0x53eb7f+_0x1a5dba[_0x518d4d(0x12e)]);}const _0x3b7c36=_0x4ba045[_0x518d4d(0x15c)](_0x523dbe=>_0x523dbe[_0x518d4d(0x131)]===_0x518d4d(0x159))[_0x518d4d(0x144)],_0x1e41e7=_0x4ba045[_0x518d4d(0x15c)](_0x3fe5f3=>_0x3fe5f3['level']==='WARN')['length'],_0x35f884=_0x4ba045[_0x518d4d(0x15c)](_0x48dcc6=>_0x48dcc6['level']==='FATAL')[_0x518d4d(0x144)];console[_0x518d4d(0x156)](_0x518d4d(0xe3)),console['log'](_0x518d4d(0x13b)+_0x3b7c36+_0x518d4d(0x11e)+_0x1e41e7+_0x518d4d(0xea)+_0x35f884+_0x518d4d(0xe9));_0x3b09f6?console[_0x518d4d(0x156)](_0x518d4d(0x13c)):console[_0x518d4d(0x156)](_0x518d4d(0xf6));console[_0x518d4d(0x156)](_0x518d4d(0x105));if(_0x3b09f6)process['exit'](0x1);}function runDoctor(_0x8b9be7){const _0x56e274=a6_0x3694a0,_0x4730dc=[],_0x30e1d9=process['version'][_0x56e274(0x111)](0x1),_0x18c66b=parseInt(_0x30e1d9[_0x56e274(0x103)]('.')[0x0],0xa);_0x18c66b<0x18?_0x4730dc['push'](check(_0x56e274(0xf9),_0x56e274(0x155)+_0x30e1d9+',要求\x20Node\x20>=\x2024')):_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x152)+_0x30e1d9));if(!fs_1[_0x56e274(0x14e)][_0x56e274(0x124)](_0x8b9be7))return _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x56e274(0x13e)+_0x8b9be7)),_0x4730dc;_0x4730dc['push'](check(_0x56e274(0x159),_0x56e274(0x11f)+_0x8b9be7));const _0x42478e=path_1[_0x56e274(0x14e)][_0x56e274(0x154)](_0x8b9be7,_0x56e274(0x10e));if(fs_1[_0x56e274(0x14e)]['existsSync'](_0x42478e))try{const _0x80d124=parseInt(fs_1[_0x56e274(0x14e)]['readFileSync'](_0x42478e,_0x56e274(0x158))['trim'](),0xa);if(!isNaN(_0x80d124))try{process[_0x56e274(0x15d)](_0x80d124,0x0),_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0xfc)+_0x80d124+')'));}catch{_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x153)+_0x80d124+_0x56e274(0x10a)));}}catch{_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0xff)+_0x42478e));}else _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x133)));const _0xb9f7f2=path_1[_0x56e274(0x14e)]['join'](_0x8b9be7,_0x56e274(0x161));if(!fs_1[_0x56e274(0x14e)][_0x56e274(0x124)](_0xb9f7f2))return _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),'config.json\x20不存在')),_0x4730dc;let _0x4fd942;try{_0x4fd942=JSON[_0x56e274(0x142)](fs_1[_0x56e274(0x14e)][_0x56e274(0x151)](_0xb9f7f2,_0x56e274(0x158)));}catch(_0x56d968){return _0x4730dc['push'](check(_0x56e274(0xf9),_0x56e274(0xe8)+(_0x56d968 instanceof Error?_0x56d968[_0x56e274(0x12e)]:_0x56d968))),_0x4730dc;}_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),'config.json\x20解析成功'));const _0x2f65bb=[{'key':_0x56e274(0x10d),'label':'clientSecret'},{'key':_0x56e274(0x114),'label':'dingSecret'},{'key':_0x56e274(0x107),'label':'defaultDingToken'},{'key':'whiteUserList','label':_0x56e274(0x149),'isArr':!![]},{'key':_0x56e274(0xf8),'label':_0x56e274(0xf8),'isArr':!![]}];for(const {key:_0x35df76,label:_0x2889f4,isArr:_0x540b67}of _0x2f65bb){const _0x43d3ed=_0x4fd942[_0x35df76];if(_0x43d3ed===undefined||_0x43d3ed===null||_0x43d3ed==='')_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x56e274(0xdd)+_0x2889f4));else{if(_0x540b67&&!Array[_0x56e274(0x11b)](_0x43d3ed))_0x4730dc[_0x56e274(0x150)](check('FATAL',_0x2889f4+'\x20应为数组'));else{if(_0x35df76!==_0x56e274(0xf8)&&_0x540b67&&_0x43d3ed[_0x56e274(0x144)]===0x0)_0x4730dc['push'](check(_0x56e274(0xe2),_0x2889f4+_0x56e274(0x12d)));else!_0x540b67&&typeof _0x43d3ed===_0x56e274(0xe0)&&_0x43d3ed[_0x56e274(0x138)]('<')?_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x2889f4+_0x56e274(0xe6)+_0x43d3ed)):_0x4730dc['push'](check(_0x56e274(0x159),_0x2889f4+'\x20✓'));}}}_0x4fd942[_0x56e274(0x14c)]?_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x141)+_0x4fd942[_0x56e274(0x14c)])):_0x4730dc[_0x56e274(0x150)](check('FATAL',_0x56e274(0xf0)));const _0x136dd0=['clientSecret','dingSecret','defaultDingToken'];for(const _0x48c667 of _0x136dd0){const _0x332fe1=_0x4fd942[_0x48c667];typeof _0x332fe1===_0x56e274(0xe0)&&/^<.*>$/['test'](_0x332fe1[_0x56e274(0x102)]())&&_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x48c667+_0x56e274(0xe6)+_0x332fe1));}const _0x42332b=new Set();if(!Array[_0x56e274(0x11b)](_0x4fd942[_0x56e274(0xf8)]))_0x4730dc['push'](check(_0x56e274(0xf9),_0x56e274(0x122)));else{if(_0x4fd942[_0x56e274(0xf8)]['length']===0x0)_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),'conversations\x20为空数组,至少配置一个群'));else{for(let _0x2e997a=0x0;_0x2e997a<_0x4fd942[_0x56e274(0xf8)]['length'];_0x2e997a++){const _0x128af2=_0x4fd942['conversations'][_0x2e997a],_0x236042=_0x56e274(0x13a)+_0x2e997a+']';if(!_0x128af2[_0x56e274(0xfe)])_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x236042+_0x56e274(0xee)));else{if(typeof _0x128af2[_0x56e274(0xfe)]===_0x56e274(0xe0)&&/^<.*>$/[_0x56e274(0x136)](_0x128af2[_0x56e274(0xfe)][_0x56e274(0x102)]()))_0x4730dc['push'](check(_0x56e274(0xf9),_0x236042+_0x56e274(0xfa)+_0x128af2[_0x56e274(0xfe)]));else _0x42332b[_0x56e274(0xf3)](_0x128af2[_0x56e274(0xfe)])?_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x236042+_0x56e274(0x13f)+_0x128af2[_0x56e274(0xfe)])):_0x42332b['add'](_0x128af2['conversationId']);}_0x128af2[_0x56e274(0x10c)]&&!_0x4fd942[_0x56e274(0xf8)][_0x56e274(0xec)](_0x5f0464=>_0x5f0464[_0x56e274(0xfe)]===_0x128af2['linkConversationId'])&&_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x236042+'\x20linkConversationId\x20\x22'+_0x128af2[_0x56e274(0x10c)]+_0x56e274(0x145))),_0x128af2['dingToken']&&typeof _0x128af2['dingToken']===_0x56e274(0xe0)&&/^<.*>$/['test'](_0x128af2[_0x56e274(0x115)][_0x56e274(0x102)]())&&_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x236042+'\x20dingToken\x20仍为占位符'));}_0x4730dc['push'](check(_0x56e274(0x159),_0x56e274(0x14b)+_0x4fd942['conversations']['length']+'\x20个群配置'));}}if(_0x4fd942[_0x56e274(0x118)]){const _0x9c6eab=_0x4fd942[_0x56e274(0x118)];_0x9c6eab[_0x56e274(0x104)]&&_0x4730dc['push'](check(_0x56e274(0x159),'apiKeyCfg.resetTime:\x20'+_0x9c6eab[_0x56e274(0x104)]));if(!Array['isArray'](_0x9c6eab['claudeSettings']))_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x15f)));else{if(_0x9c6eab[_0x56e274(0x11d)][_0x56e274(0x144)]===0x0)_0x4730dc['push'](check(_0x56e274(0xe2),_0x56e274(0xfb)));else{const _0x2593ff=new Set();for(let _0x495537=0x0;_0x495537<_0x9c6eab[_0x56e274(0x11d)]['length'];_0x495537++){const _0x47e552=_0x9c6eab[_0x56e274(0x11d)][_0x495537],_0x474f6e=_0x56e274(0x147)+_0x495537+']';if(!_0x47e552[_0x56e274(0x132)])_0x4730dc['push'](check(_0x56e274(0xf9),_0x474f6e+_0x56e274(0x10b)));else _0x2593ff[_0x56e274(0xf3)](_0x47e552[_0x56e274(0x132)])?_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x474f6e+_0x56e274(0xf7)+(0x0,api_key_manager_1[_0x56e274(0x125)])(_0x47e552))):_0x2593ff[_0x56e274(0x148)](_0x47e552[_0x56e274(0x132)]);if(!_0x47e552[_0x56e274(0xf2)])_0x4730dc['push'](check('WARN',_0x474f6e+_0x56e274(0x13d)));if(!_0x47e552[_0x56e274(0xf4)])_0x4730dc['push'](check(_0x56e274(0xe2),_0x474f6e+_0x56e274(0x110)));if(typeof _0x47e552[_0x56e274(0x12f)]!=='boolean')_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x474f6e+'\x20isValid\x20类型异常:\x20'+typeof _0x47e552['isValid']));}const _0xd50079=_0x9c6eab[_0x56e274(0x11d)][_0x56e274(0x15c)](_0x111819=>_0x111819[_0x56e274(0x12f)])[_0x56e274(0x144)];_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x126)+_0x9c6eab[_0x56e274(0x11d)][_0x56e274(0x144)]+_0x56e274(0x108)+_0xd50079));}}}else _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x106)));const _0x3708b4=path_1['default'][_0x56e274(0x154)](_0x8b9be7,_0x56e274(0x100));if(fs_1['default']['existsSync'](_0x3708b4))try{const _0x5899b2=JSON['parse'](fs_1[_0x56e274(0x14e)][_0x56e274(0x151)](_0x3708b4,_0x56e274(0x158))),_0x5dc8e3=Array[_0x56e274(0x11b)](_0x5899b2)?_0x5899b2:_0x5899b2['jobs'];if(Array[_0x56e274(0x11b)](_0x5dc8e3)){const _0x55e602=_0x5dc8e3['filter'](_0x29d444=>_0x29d444[_0x56e274(0x15a)]!==![])[_0x56e274(0x144)];_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x10f)+_0x5dc8e3[_0x56e274(0x144)]+_0x56e274(0x11c)+_0x55e602+_0x56e274(0xe1)));for(let _0x4d9675=0x0;_0x4d9675<_0x5dc8e3[_0x56e274(0x144)];_0x4d9675++){const _0x15636f=_0x5dc8e3[_0x4d9675];if(!_0x15636f['id'])_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x127)+_0x4d9675+_0x56e274(0x11a)));if(!_0x15636f[_0x56e274(0x157)])_0x4730dc[_0x56e274(0x150)](check('WARN',_0x56e274(0x127)+_0x4d9675+_0x56e274(0xde)));if(!_0x15636f['prompt'])_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x127)+_0x4d9675+']\x20缺少\x20prompt'));if(!_0x15636f[_0x56e274(0xfe)])_0x4730dc[_0x56e274(0x150)](check('WARN',_0x56e274(0x127)+_0x4d9675+_0x56e274(0xfd)));else!_0x42332b[_0x56e274(0xf3)](_0x15636f[_0x56e274(0xfe)])&&_0x4730dc['push'](check('WARN',_0x56e274(0x127)+_0x4d9675+_0x56e274(0x12c)+_0x15636f[_0x56e274(0xfe)]+_0x56e274(0xf5)));}}else _0x4730dc[_0x56e274(0x150)](check('WARN',_0x56e274(0xe4)));}catch(_0xab25b3){_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x119)+(_0xab25b3 instanceof Error?_0xab25b3[_0x56e274(0x12e)]:_0xab25b3)));}else _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),'cron.json\x20不存在\x20(无定时任务)'));const _0x3ce4c5=path_1[_0x56e274(0x14e)][_0x56e274(0x154)]((0x0,session_1[_0x56e274(0x109)])(),_0x56e274(0x14f),_0x56e274(0x113),_0x56e274(0x14d));if(fs_1[_0x56e274(0x14e)]['existsSync'](_0x3ce4c5))try{const _0x527a2e=JSON[_0x56e274(0x142)](fs_1[_0x56e274(0x14e)][_0x56e274(0x151)](_0x3ce4c5,'utf-8'));if(typeof _0x527a2e!=='object'||_0x527a2e===null)_0x4730dc['push'](check(_0x56e274(0xe2),_0x56e274(0xed)));else{if(!_0x527a2e[_0x56e274(0x146)]||typeof _0x527a2e[_0x56e274(0x146)]!==_0x56e274(0x160))_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x134)));else{const _0x5f191d=Object['keys'](_0x527a2e[_0x56e274(0x146)]);_0x4730dc['push'](check(_0x56e274(0x159),_0x56e274(0x14a)+(_0x5f191d[_0x56e274(0x154)](',\x20')||_0x56e274(0xdc))));}}}catch(_0x1e263f){_0x4730dc['push'](check(_0x56e274(0xe2),_0x56e274(0x15b)+(_0x1e263f instanceof Error?_0x1e263f[_0x56e274(0x12e)]:_0x1e263f)));}else _0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xe2),_0x56e274(0x130)));try{(0x0,child_process_1[_0x56e274(0x143)])(_0x56e274(0x135),{'stdio':_0x56e274(0x15e)}),_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),_0x56e274(0x12b)));}catch{_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x56e274(0x140)));}try{const _0x49910f=path_1[_0x56e274(0x14e)][_0x56e274(0x154)](_0x8b9be7,_0x56e274(0xe7));fs_1[_0x56e274(0x14e)]['writeFileSync'](_0x49910f,'ok',_0x56e274(0x158)),fs_1['default']['unlinkSync'](_0x49910f),_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0x159),'客户端目录可写'));}catch(_0x2e0199){_0x4730dc[_0x56e274(0x150)](check(_0x56e274(0xf9),_0x56e274(0x120)+(_0x2e0199 instanceof Error?_0x2e0199[_0x56e274(0x12e)]:_0x2e0199)));}return _0x4730dc;}function check(_0x10187f,_0x1babab){return{'level':_0x10187f,'message':_0x1babab};}
@@ -0,0 +1 @@
1
+ 'use strict';function a7_0x3943(){const _0x296096=['getResourcePath','arch','length','then','userId','buffer','./session',']\x20downloadImageBuffer\x20下载失败:','warn',']\x20图片保存失败:\x20','image/gif','default','set','image/png',']\x20图片已保存:\x20',']\x20OCR\x20无识别结果','child_process','get','trim','https://api.dingtalk.com','processPictureMessage','execFile','pictureDownloadCode','824192hpThYR',']\x20downloadImageBuffer\x20下载结果为空','runOcr','__importDefault','push','[图片\x20OCR]','status','\x20OCR]',']\x20OCR\x20执行失败:\x20','gif','\x20超过限制\x20','mention','\x20bytes)','/v1.0/robot/messageFiles/download','webp','application/json',']\x20getImageDownloadUrl\x20请求失败:','.images','[富文本消息内容为空]','[图片]','16010MAloeV','getAccessToken','3582357wFFWPL','slice',']\x20当前平台(','data','all','filePath','downloadCode','png','message',']\x20downloadImageBuffer\x20下载失败:\x20status=','1647140yLxppM','6xnBwpz','every','1187132Kmouir','word','urllib','isArray','image/jpeg','[图片\x20','mkdirSync','path','../common','parse','3028109OfUeGg','win32','getImageDownloadUrl\x20API\x20返回非200:\x20status=','projUtil','__esModule','13491kkSVLC','processRichTextMessage','test',']\x20OCR\x20二进制不存在:\x20','text','GET','[��片下载失败]','\x0a---','log','x64',']\x20OCR\x20输出解析失败:\x20','stringify','479611GiGISk','picture',']\x20图片大小\x20','jpg','substring','writeFileSync','type',',\x20data=','join',']\x20OCR\x20失败,仅传原图路径:\x20','以下图片\x20OCR\x20识别结果来自对用户消息中图片的预处理(非用户原始输入),如识别不准确可直接查看原图路径','debugLog','map','filter','defineProperty','10XSdrMp',']\x20OCR\x20stderr:\x20','request','timestamp'];a7_0x3943=function(){return _0x296096;};return a7_0x3943();}const a7_0x5e457c=a7_0x19a2;(function(_0x3c923a,_0x263a12){const _0x479f80=a7_0x19a2,_0x461119=_0x3c923a();while(!![]){try{const _0x5c89d9=parseInt(_0x479f80(0x170))/0x1+-parseInt(_0x479f80(0x152))/0x2+-parseInt(_0x479f80(0x148))/0x3+parseInt(_0x479f80(0x155))/0x4*(-parseInt(_0x479f80(0x117))/0x5)+-parseInt(_0x479f80(0x153))/0x6*(-parseInt(_0x479f80(0x15f))/0x7)+-parseInt(_0x479f80(0x132))/0x8+parseInt(_0x479f80(0x164))/0x9*(parseInt(_0x479f80(0x146))/0xa);if(_0x5c89d9===_0x263a12)break;else _0x461119['push'](_0x461119['shift']());}catch(_0x3ef504){_0x461119['push'](_0x461119['shift']());}}}(a7_0x3943,0x91f3a));var __importDefault=this&&this[a7_0x5e457c(0x135)]||function(_0x39d1b9){return _0x39d1b9&&_0x39d1b9['__esModule']?_0x39d1b9:{'default':_0x39d1b9};};Object[a7_0x5e457c(0x116)](exports,a7_0x5e457c(0x163),{'value':!![]}),exports[a7_0x5e457c(0x134)]=runOcr,exports[a7_0x5e457c(0x12f)]=processPictureMessage,exports[a7_0x5e457c(0x165)]=processRichTextMessage;const child_process_1=require(a7_0x5e457c(0x12b)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a7_0x5e457c(0x15c))),urllib_1=__importDefault(require(a7_0x5e457c(0x157))),session_1=require(a7_0x5e457c(0x121)),common_1=require(a7_0x5e457c(0x15d)),MAX_IMAGE_SIZE=0xa*0x400*0x400,DING_API_BASE=a7_0x5e457c(0x12e),OCR_PREAMBLE=a7_0x5e457c(0x112),OCR_BIN_DIR=(0x0,common_1[a7_0x5e457c(0x162)])()[a7_0x5e457c(0x11b)](),cachedOcrBinPath=((()=>{const _0x83fc6e=a7_0x5e457c;if(process['platform']===_0x83fc6e(0x160))return null;const _0x7e7882=process[_0x83fc6e(0x11c)];if(_0x7e7882==='arm64')return path_1[_0x83fc6e(0x126)][_0x83fc6e(0x110)](OCR_BIN_DIR,'ocr-arm64');if(_0x7e7882===_0x83fc6e(0x16d))return path_1['default']['join'](OCR_BIN_DIR,'ocr-x64');return null;})());let ocrBinExists=null;async function runOcr(_0x5b2d33){const _0x15c8a7=a7_0x5e457c;if(!cachedOcrBinPath)return console[_0x15c8a7(0x16c)]('['+(0x0,session_1[_0x15c8a7(0x11a)])()+_0x15c8a7(0x14a)+process['platform']+'/'+process[_0x15c8a7(0x11c)]+')不支持本地OCR,使用模型识别'),null;ocrBinExists===null&&(ocrBinExists=fs_1[_0x15c8a7(0x126)]['existsSync'](cachedOcrBinPath),!ocrBinExists&&console[_0x15c8a7(0x123)]('['+(0x0,session_1['timestamp'])()+_0x15c8a7(0x167)+cachedOcrBinPath));if(!ocrBinExists)return null;return new Promise(_0x515d0e=>{const _0x3663bb=_0x15c8a7;(0x0,child_process_1[_0x3663bb(0x130)])(cachedOcrBinPath,[_0x5b2d33],{'timeout':0x7530,'maxBuffer':0x5*0x400*0x400},(_0x5fb498,_0x3e406a,_0x41ef48)=>{const _0x517d8b=_0x3663bb;if(_0x5fb498){console[_0x517d8b(0x123)]('['+(0x0,session_1[_0x517d8b(0x11a)])()+_0x517d8b(0x13a)+_0x5fb498[_0x517d8b(0x150)]);if(_0x41ef48)console[_0x517d8b(0x123)]('['+(0x0,session_1[_0x517d8b(0x11a)])()+_0x517d8b(0x118)+_0x41ef48[_0x517d8b(0x174)](0x0,0xc8));_0x515d0e(null);return;}try{const _0x484259=JSON[_0x517d8b(0x15e)](_0x3e406a);if(!Array[_0x517d8b(0x158)](_0x484259)||_0x484259['length']===0x0){console[_0x517d8b(0x16c)]('['+(0x0,session_1[_0x517d8b(0x11a)])()+_0x517d8b(0x12a)),_0x515d0e(null);return;}const _0x3f7c2f=_0x484259[_0x517d8b(0x114)](_0x491375=>_0x491375[_0x517d8b(0x156)])[_0x517d8b(0x115)](Boolean)[_0x517d8b(0x110)]('\x20');console['log']('['+(0x0,session_1[_0x517d8b(0x11a)])()+']\x20OCR\x20识别结果:\x20'+_0x3f7c2f['substring'](0x0,0xc8)+(_0x3f7c2f['length']>0xc8?'...':'')),_0x515d0e(_0x3f7c2f||null);}catch{console[_0x517d8b(0x123)]('['+(0x0,session_1[_0x517d8b(0x11a)])()+_0x517d8b(0x16e)+_0x3e406a['substring'](0x0,0xc8)),_0x515d0e(null);}});});}function a7_0x19a2(_0x5b47fb,_0x46fa44){_0x5b47fb=_0x5b47fb-0x10e;const _0x394383=a7_0x3943();let _0x19a294=_0x394383[_0x5b47fb];return _0x19a294;}const MAGIC_NUMBERS=[{'bytes':[0x89,0x50,0x4e,0x47],'mediaType':a7_0x5e457c(0x128),'ext':a7_0x5e457c(0x14f)},{'bytes':[0xff,0xd8,0xff],'mediaType':a7_0x5e457c(0x159),'ext':a7_0x5e457c(0x173)},{'bytes':[0x47,0x49,0x46],'mediaType':a7_0x5e457c(0x125),'ext':a7_0x5e457c(0x13b)},{'bytes':[0x52,0x49,0x46,0x46],'mediaType':'image/webp','ext':a7_0x5e457c(0x140)}];function detectImageMediaType(_0x275fb4){const _0x1c194b=a7_0x5e457c;for(const {bytes:_0xcac839,mediaType:_0x5d749a,ext:_0x3768b9}of MAGIC_NUMBERS){if(_0x275fb4['length']>=_0xcac839[_0x1c194b(0x11d)]&&_0xcac839[_0x1c194b(0x154)]((_0x3afa84,_0x268c4d)=>_0x275fb4[_0x268c4d]===_0x3afa84))return{'mediaType':_0x5d749a,'ext':_0x3768b9};}return{'mediaType':_0x1c194b(0x159),'ext':_0x1c194b(0x173)};}async function getImageDownloadUrl(_0x260495,_0x5bd1b7,_0x5ebedd){const _0x2d8c9c=a7_0x5e457c;try{const _0x44655e=await _0x260495['dingStreamClient'][_0x2d8c9c(0x147)](),_0x2c22d7=DING_API_BASE+_0x2d8c9c(0x13f),_0x215aed=await urllib_1[_0x2d8c9c(0x126)][_0x2d8c9c(0x119)](_0x2c22d7,{'method':'POST','headers':{'x-acs-dingtalk-access-token':_0x44655e,'Content-Type':_0x2d8c9c(0x141)},'data':{'downloadCode':_0x5bd1b7,'robotCode':_0x5ebedd},'dataType':'json','timeout':0x2710});if(_0x215aed[_0x2d8c9c(0x138)]!==0xc8||!_0x215aed['data'])return _0x260495['debugLog'](_0x2d8c9c(0x161)+_0x215aed[_0x2d8c9c(0x138)]+_0x2d8c9c(0x10f)+JSON[_0x2d8c9c(0x16f)](_0x215aed['data'])),null;const _0x52aef7=_0x215aed[_0x2d8c9c(0x14b)],_0x1a8a15=_0x52aef7?.['downloadUrl'];if(!_0x1a8a15)return _0x260495[_0x2d8c9c(0x113)]('getImageDownloadUrl\x20响应无\x20downloadUrl:\x20'+JSON[_0x2d8c9c(0x16f)](_0x52aef7)),null;return _0x1a8a15;}catch(_0xd31685){return console[_0x2d8c9c(0x123)]('['+(0x0,session_1['timestamp'])()+_0x2d8c9c(0x142),_0xd31685),null;}}async function downloadImageBuffer(_0x32073e){const _0x4d8494=a7_0x5e457c;try{const _0x42f296=await urllib_1[_0x4d8494(0x126)][_0x4d8494(0x119)](_0x32073e,{'method':_0x4d8494(0x169),'dataType':_0x4d8494(0x120),'timeout':0x7530});if(_0x42f296[_0x4d8494(0x138)]!==0xc8)return console['warn']('['+(0x0,session_1[_0x4d8494(0x11a)])()+_0x4d8494(0x151)+_0x42f296[_0x4d8494(0x138)]),null;const _0x6ec067=_0x42f296[_0x4d8494(0x14b)];if(!_0x6ec067||_0x6ec067['length']===0x0)return console[_0x4d8494(0x123)]('['+(0x0,session_1[_0x4d8494(0x11a)])()+_0x4d8494(0x133)),null;if(_0x6ec067['length']>MAX_IMAGE_SIZE)return console['warn']('['+(0x0,session_1[_0x4d8494(0x11a)])()+_0x4d8494(0x172)+_0x6ec067[_0x4d8494(0x11d)]+_0x4d8494(0x13c)+MAX_IMAGE_SIZE),null;return _0x6ec067;}catch(_0x46ade6){return console[_0x4d8494(0x123)]('['+(0x0,session_1[_0x4d8494(0x11a)])()+_0x4d8494(0x122),_0x46ade6),null;}}async function downloadAndProcessImage(_0x39a00c,_0x556ad6,_0x15e6e9,_0x626d77){const _0x1a8e7a=a7_0x5e457c,_0x5cef1d=await getImageDownloadUrl(_0x39a00c,_0x556ad6,_0x15e6e9);if(!_0x5cef1d)return null;const _0x190778=await downloadImageBuffer(_0x5cef1d);if(!_0x190778)return null;const {mediaType:_0x181662,ext:_0x4c38f4}=detectImageMediaType(_0x190778),_0x8b78a7=path_1[_0x1a8e7a(0x126)][_0x1a8e7a(0x110)](_0x626d77,_0x1a8e7a(0x143)),_0x1612bd=_0x556ad6[_0x1a8e7a(0x149)](-0x8),_0x231ee9=Date['now']()+'-'+_0x1612bd+'.'+_0x4c38f4,_0x216126=path_1[_0x1a8e7a(0x126)][_0x1a8e7a(0x110)](_0x8b78a7,_0x231ee9);try{fs_1[_0x1a8e7a(0x126)][_0x1a8e7a(0x15b)](_0x8b78a7,{'recursive':!![]}),fs_1[_0x1a8e7a(0x126)][_0x1a8e7a(0x175)](_0x216126,_0x190778);}catch(_0xbb6789){return console['warn']('['+(0x0,session_1[_0x1a8e7a(0x11a)])()+_0x1a8e7a(0x124)+_0x216126,_0xbb6789),null;}return console[_0x1a8e7a(0x16c)]('['+(0x0,session_1['timestamp'])()+_0x1a8e7a(0x129)+_0x216126+'\x20('+_0x181662+',\x20'+_0x190778['length']+_0x1a8e7a(0x13e)),{'mediaType':_0x181662,'filePath':_0x216126,'sizeBytes':_0x190778[_0x1a8e7a(0x11d)]};}async function buildImagePrompt(_0x3c1dc2,_0xa0548e,_0x4b1aaa){const _0x538b16=a7_0x5e457c,_0xa318a9=_0x4b1aaa!=null?'[图片\x20'+_0x4b1aaa+']':_0x538b16(0x145);if(_0xa0548e){const _0x77b91f=await runOcr(_0x3c1dc2[_0x538b16(0x14d)]);if(_0x77b91f){const _0x1aa556=_0x4b1aaa!=null?_0x538b16(0x15a)+_0x4b1aaa+_0x538b16(0x139):_0x538b16(0x137);return _0xa318a9+'\x20'+_0x3c1dc2[_0x538b16(0x14d)]+'\x0a'+_0x1aa556+'\x0a---\x0a'+_0x77b91f+_0x538b16(0x16b);}console[_0x538b16(0x123)]('['+(0x0,session_1['timestamp'])()+_0x538b16(0x111)+_0x3c1dc2[_0x538b16(0x14d)]);}return _0xa318a9+'\x20'+_0x3c1dc2[_0x538b16(0x14d)];}async function processPictureMessage(_0x51fe16,_0x2ced6e,_0x1affd4,_0x6cbdc3,_0xcb3a1e=!![],_0x1505c5){const _0x23fd80=a7_0x5e457c,_0x160ec3=await downloadAndProcessImage(_0x51fe16,_0x2ced6e,_0x1affd4,_0x6cbdc3);if(!_0x160ec3)return null;const _0x4af6bf=await buildImagePrompt(_0x160ec3,_0xcb3a1e),_0x460bb2=[];_0xcb3a1e&&_0x460bb2[_0x23fd80(0x136)](OCR_PREAMBLE);if(_0x1505c5)_0x460bb2[_0x23fd80(0x136)](_0x1505c5);return _0x460bb2[_0x23fd80(0x136)](_0x4af6bf),_0x460bb2[_0x23fd80(0x110)]('\x0a');}async function processRichTextMessage(_0x39c31e,_0x42ae92,_0x5bafc3,_0x2d4882,_0x332399=!![]){const _0x47d5c6=a7_0x5e457c,_0xc6736e=_0x42ae92[_0x47d5c6(0x115)](_0x3f8fea=>_0x3f8fea[_0x47d5c6(0x10e)]===_0x47d5c6(0x171)&&(_0x3f8fea[_0x47d5c6(0x14e)]||_0x3f8fea[_0x47d5c6(0x131)]))[_0x47d5c6(0x11d)],_0x3a47ad=_0x42ae92[_0x47d5c6(0x114)](async(_0x1caa2c,_0x610123)=>{const _0x5c2397=_0x47d5c6;if(_0x1caa2c[_0x5c2397(0x10e)]===_0x5c2397(0x171)){const _0x22cceb=_0x1caa2c[_0x5c2397(0x14e)]||_0x1caa2c[_0x5c2397(0x131)];if(_0x22cceb){const _0x4fefa9=await downloadAndProcessImage(_0x39c31e,_0x22cceb,_0x5bafc3,_0x2d4882);return{'index':_0x610123,'result':_0x4fefa9};}}return{'index':_0x610123,'result':null};}),_0xb215df=await Promise['all'](_0x3a47ad),_0x189874=new Map();for(const {index:_0x498a78,result:_0x4a6fa5}of _0xb215df){_0x189874[_0x47d5c6(0x127)](_0x498a78,_0x4a6fa5);}const _0x54bb77=new Map();if(_0x332399&&_0xc6736e>0x0){const _0x30b1cf=[];for(const [_0x3b02c8,_0x3a5020]of _0x189874){_0x3a5020&&_0x30b1cf['push'](runOcr(_0x3a5020[_0x47d5c6(0x14d)])[_0x47d5c6(0x11e)](_0x3ab251=>({'index':_0x3b02c8,'ocrText':_0x3ab251})));}const _0x15f9f7=await Promise[_0x47d5c6(0x14c)](_0x30b1cf);for(const {index:_0x5a5705,ocrText:_0x53f38f}of _0x15f9f7){_0x54bb77[_0x47d5c6(0x127)](_0x5a5705,_0x53f38f);}}const _0x4870a9=[];let _0x3cf50c=0x0;for(let _0x50221c=0x0;_0x50221c<_0x42ae92[_0x47d5c6(0x11d)];_0x50221c++){const _0x897a20=_0x42ae92[_0x50221c];if(_0x897a20[_0x47d5c6(0x10e)]===_0x47d5c6(0x168)&&_0x897a20[_0x47d5c6(0x168)]){if(/^@\S+$/[_0x47d5c6(0x166)](_0x897a20[_0x47d5c6(0x168)][_0x47d5c6(0x12d)]()))continue;_0x4870a9[_0x47d5c6(0x136)](_0x897a20[_0x47d5c6(0x168)]);}else{if(_0x897a20[_0x47d5c6(0x10e)]===_0x47d5c6(0x13d)&&_0x897a20[_0x47d5c6(0x11f)])_0x4870a9[_0x47d5c6(0x136)]('@'+_0x897a20[_0x47d5c6(0x11f)]);else{if(_0x897a20[_0x47d5c6(0x10e)]===_0x47d5c6(0x171)){const _0x5037be=_0x189874[_0x47d5c6(0x12c)](_0x50221c);if(_0x5037be){_0x3cf50c++;const _0x2bb81d=_0xc6736e>0x1?_0x3cf50c:undefined,_0x4509f8=_0x332399?_0x54bb77['get'](_0x50221c):null,_0x34ef76=_0x2bb81d!=null?_0x47d5c6(0x15a)+_0x2bb81d+']':_0x47d5c6(0x145);if(_0x4509f8){const _0x3a8399=_0x2bb81d!=null?_0x47d5c6(0x15a)+_0x2bb81d+_0x47d5c6(0x139):_0x47d5c6(0x137);_0x4870a9[_0x47d5c6(0x136)](_0x34ef76+'\x20'+_0x5037be[_0x47d5c6(0x14d)]+'\x0a'+_0x3a8399+'\x0a---\x0a'+_0x4509f8+_0x47d5c6(0x16b));}else _0x4870a9['push'](_0x34ef76+'\x20'+_0x5037be[_0x47d5c6(0x14d)]);}else{const _0x5a9c40=_0x897a20[_0x47d5c6(0x14e)]||_0x897a20['pictureDownloadCode'];_0x5a9c40&&_0x4870a9[_0x47d5c6(0x136)](_0x47d5c6(0x16a));}}}}}const _0x26dbb1=_0x4870a9['join']('\x0a')||_0x47d5c6(0x144);if(_0x332399&&_0x3cf50c>0x0)return OCR_PREAMBLE+'\x0a'+_0x26dbb1;return _0x26dbb1;}
@@ -0,0 +1 @@
1
+ 'use strict';function a8_0x3aa1(){const _0xb47223=['2387112vLpzXO','\x22\x20已有运行中的进程\x20(PID:\x20','join','SIGTERM','path','584966JjcnAK','trim','writeFileSync','2072dGXAab','timestamp','4Yqbjec','defineProperty','./session','.pid.lock','3010089WIYbPe','190WgznHY',']\x20检测到过期锁文件\x20(PID:\x20','1tdTQaG','SIGINT','350802KwpoaA','\x20已退出),自动清理','kill','exit','\x20\x20如需强制启动,请先停止已有进程或删除锁文件:\x20','__esModule','error','3504JIuZJd','existsSync','utf-8','readFileSync','pid','3442210dKilIw','55EyedrA','default','845584bgFEQN','acquirePidLock','[FATAL]\x20clientId\x20\x22'];a8_0x3aa1=function(){return _0xb47223;};return a8_0x3aa1();}const a8_0x2db2fa=a8_0x17f7;(function(_0x323b91,_0x46c1dc){const _0x5b657c=a8_0x17f7,_0x4d158e=_0x323b91();while(!![]){try{const _0x31414f=parseInt(_0x5b657c(0xcd))/0x1*(parseInt(_0x5b657c(0xc1))/0x2)+-parseInt(_0x5b657c(0xca))/0x3+parseInt(_0x5b657c(0xc6))/0x4*(parseInt(_0x5b657c(0xb6))/0x5)+parseInt(_0x5b657c(0xd6))/0x6*(parseInt(_0x5b657c(0xc4))/0x7)+parseInt(_0x5b657c(0xb9))/0x8+-parseInt(_0x5b657c(0xcf))/0x9*(parseInt(_0x5b657c(0xcb))/0xa)+parseInt(_0x5b657c(0xb7))/0xb*(parseInt(_0x5b657c(0xbc))/0xc);if(_0x31414f===_0x46c1dc)break;else _0x4d158e['push'](_0x4d158e['shift']());}catch(_0x5de162){_0x4d158e['push'](_0x4d158e['shift']());}}}(a8_0x3aa1,0x7c8dc));function a8_0x17f7(_0x3f5ca0,_0x56216d){_0x3f5ca0=_0x3f5ca0-0xb4;const _0x3aa1e8=a8_0x3aa1();let _0x17f7f1=_0x3aa1e8[_0x3f5ca0];return _0x17f7f1;}var __importDefault=this&&this['__importDefault']||function(_0x9bf17c){return _0x9bf17c&&_0x9bf17c['__esModule']?_0x9bf17c:{'default':_0x9bf17c};};Object[a8_0x2db2fa(0xc7)](exports,a8_0x2db2fa(0xd4),{'value':!![]}),exports[a8_0x2db2fa(0xba)]=acquirePidLock;const session_1=require(a8_0x2db2fa(0xc8)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a8_0x2db2fa(0xc0)));function acquirePidLock(_0x27d487,_0x1a07a7){const _0x45ee53=a8_0x2db2fa,_0x15bb9d=path_1[_0x45ee53(0xb8)][_0x45ee53(0xbe)](_0x27d487,_0x45ee53(0xc9));if(fs_1[_0x45ee53(0xb8)][_0x45ee53(0xd7)](_0x15bb9d))try{const _0x2041a2=parseInt(fs_1[_0x45ee53(0xb8)][_0x45ee53(0xb4)](_0x15bb9d,'utf-8')[_0x45ee53(0xc2)](),0xa);if(!isNaN(_0x2041a2))try{process[_0x45ee53(0xd1)](_0x2041a2,0x0),console[_0x45ee53(0xd5)](_0x45ee53(0xbb)+_0x1a07a7+_0x45ee53(0xbd)+_0x2041a2+')'),console['error'](_0x45ee53(0xd3)+_0x15bb9d),process[_0x45ee53(0xd2)](0x1);}catch{console['log']('['+(0x0,session_1[_0x45ee53(0xc5)])()+_0x45ee53(0xcc)+_0x2041a2+_0x45ee53(0xd0));}}catch{}fs_1[_0x45ee53(0xb8)][_0x45ee53(0xc3)](_0x15bb9d,String(process[_0x45ee53(0xb5)]),_0x45ee53(0xd8));const _0x2865e0=()=>{try{fs_1['default']['unlinkSync'](_0x15bb9d);}catch{}};process['on'](_0x45ee53(0xd2),_0x2865e0),process['on'](_0x45ee53(0xce),()=>{_0x2865e0(),process['exit'](0x82);}),process['on'](_0x45ee53(0xbf),()=>{const _0x4e258d=_0x45ee53;_0x2865e0(),process[_0x4e258d(0xd2)](0x8f);});}
@@ -0,0 +1 @@
1
+ 'use strict';const a9_0x5c6f28=a9_0x3553;(function(_0x23a20d,_0x3cc4fe){const _0x54cd39=a9_0x3553,_0x4e7540=_0x23a20d();while(!![]){try{const _0x190aa5=-parseInt(_0x54cd39(0x1bc))/0x1*(parseInt(_0x54cd39(0x18a))/0x2)+-parseInt(_0x54cd39(0x1b4))/0x3+parseInt(_0x54cd39(0x1d3))/0x4*(parseInt(_0x54cd39(0x1c9))/0x5)+-parseInt(_0x54cd39(0x19f))/0x6*(parseInt(_0x54cd39(0x1ab))/0x7)+-parseInt(_0x54cd39(0x187))/0x8+parseInt(_0x54cd39(0x1a4))/0x9+-parseInt(_0x54cd39(0x192))/0xa*(-parseInt(_0x54cd39(0x1cf))/0xb);if(_0x190aa5===_0x3cc4fe)break;else _0x4e7540['push'](_0x4e7540['shift']());}catch(_0x2532dd){_0x4e7540['push'](_0x4e7540['shift']());}}}(a9_0x4cf7,0x6f345));function a9_0x3553(_0x35099e,_0x19025e){_0x35099e=_0x35099e-0x17d;const _0x4cf70f=a9_0x4cf7();let _0x3553e8=_0x4cf70f[_0x35099e];return _0x3553e8;}var __importDefault=this&&this[a9_0x5c6f28(0x1bd)]||function(_0x53c756){const _0x9ae273=a9_0x5c6f28;return _0x53c756&&_0x53c756[_0x9ae273(0x1a8)]?_0x53c756:{'default':_0x53c756};};Object[a9_0x5c6f28(0x1b9)](exports,a9_0x5c6f28(0x1a8),{'value':!![]}),exports[a9_0x5c6f28(0x1a7)]=fetchQuotedMessage,exports[a9_0x5c6f28(0x1b7)]=filterToolUseContent,exports[a9_0x5c6f28(0x1d4)]=splitMessage,exports[a9_0x5c6f28(0x17e)]=sendDingMessage,exports[a9_0x5c6f28(0x193)]=sendClaudeResponseToDing;const utils_ok_1=require(a9_0x5c6f28(0x1bb)),utils_ok_2=require('utils-ok'),urllib_1=__importDefault(require('urllib')),DING_API_BASE=a9_0x5c6f28(0x1ad);async function fetchQuotedMessage(_0xc914fb,_0x301389){const _0xad6050=a9_0x5c6f28;try{const _0x344b97=await _0xc914fb[_0xad6050(0x1be)][_0xad6050(0x1d2)](),_0x570035=DING_API_BASE+_0xad6050(0x1a2)+encodeURIComponent(_0x301389),_0x4add58=await urllib_1['default'][_0xad6050(0x1a5)](_0x570035,{'method':_0xad6050(0x190),'headers':{'x-acs-dingtalk-access-token':_0x344b97},'dataType':_0xad6050(0x1ae),'timeout':0x1388});if(_0x4add58['status']!==0xc8||!_0x4add58['data'])return _0xc914fb[_0xad6050(0x1c6)](_0xad6050(0x1d5)+_0x4add58['status']+_0xad6050(0x19d)+JSON[_0xad6050(0x1ca)](_0x4add58['data'])),null;const _0x2c15ac=_0x4add58[_0xad6050(0x185)];if(_0x2c15ac[_0xad6050(0x18f)]&&typeof _0x2c15ac[_0xad6050(0x18f)]==='object'){const _0x482b59=_0x2c15ac[_0xad6050(0x18f)][_0xad6050(0x180)];if(typeof _0x482b59===_0xad6050(0x1c1)&&_0x482b59)return _0x482b59[_0xad6050(0x1b0)]();}if(typeof _0x2c15ac[_0xad6050(0x180)]===_0xad6050(0x1c1)&&_0x2c15ac['content'])try{const _0x1eb358=JSON['parse'](_0x2c15ac[_0xad6050(0x180)]);if(typeof _0x1eb358===_0xad6050(0x1c1))return _0x1eb358[_0xad6050(0x1b0)]();if(_0x1eb358[_0xad6050(0x18f)])return String(_0x1eb358[_0xad6050(0x18f)])[_0xad6050(0x1b0)]();if(_0x1eb358[_0xad6050(0x180)])return String(_0x1eb358['content'])['trim']();}catch{return _0x2c15ac[_0xad6050(0x180)][_0xad6050(0x1b0)]();}if(_0x2c15ac[_0xad6050(0x1aa)]&&typeof _0x2c15ac['body']===_0xad6050(0x182)){const _0x291216=_0x2c15ac[_0xad6050(0x1aa)];if(typeof _0x291216[_0xad6050(0x180)]===_0xad6050(0x1c1)&&_0x291216[_0xad6050(0x180)])return _0x291216['content']['trim']();}return _0xc914fb[_0xad6050(0x1c6)](_0xad6050(0x197)+Object['keys'](_0x2c15ac)[_0xad6050(0x19b)](',')),null;}catch(_0x57a33e){return console[_0xad6050(0x1d0)](_0xad6050(0x1c4),_0x57a33e),null;}}const TOOL_TAGS=[a9_0x5c6f28(0x188),a9_0x5c6f28(0x18d),a9_0x5c6f28(0x1a3),a9_0x5c6f28(0x199),a9_0x5c6f28(0x1a1),a9_0x5c6f28(0x191),a9_0x5c6f28(0x1a6),a9_0x5c6f28(0x1ce),a9_0x5c6f28(0x1cc),a9_0x5c6f28(0x1c7),'TaskOutput',a9_0x5c6f28(0x18b),a9_0x5c6f28(0x1b1),a9_0x5c6f28(0x1b8),a9_0x5c6f28(0x19e),a9_0x5c6f28(0x1b2),'TaskUpdate',a9_0x5c6f28(0x1d1),a9_0x5c6f28(0x184),a9_0x5c6f28(0x1d6),'CronCreate','CronDelete',a9_0x5c6f28(0x1af),a9_0x5c6f28(0x196),a9_0x5c6f28(0x1c5)][a9_0x5c6f28(0x19b)]('|'),TOOL_USE_SELF_CLOSE_RE=new RegExp('<('+TOOL_TAGS+a9_0x5c6f28(0x186),'g'),TOOL_USE_OPEN_CLOSE_RE=new RegExp('<('+TOOL_TAGS+a9_0x5c6f28(0x1bf),'g'),MULTI_NEWLINE_RE=/\n{3,}/g;function filterToolUseContent(_0x2a7d56){const _0x1e7055=a9_0x5c6f28;let _0x3e5e89=_0x2a7d56[_0x1e7055(0x18c)](TOOL_USE_SELF_CLOSE_RE,'');return _0x3e5e89=_0x3e5e89[_0x1e7055(0x18c)](TOOL_USE_OPEN_CLOSE_RE,''),_0x3e5e89=_0x3e5e89[_0x1e7055(0x18c)](MULTI_NEWLINE_RE,'\x0a\x0a'),_0x3e5e89[_0x1e7055(0x1b0)]();}function splitMessage(_0x545404,_0x285b09){const _0x273949=a9_0x5c6f28,_0x80ad34=[];while(_0x545404['length']>_0x285b09){let _0x44ade0=_0x545404[_0x273949(0x1c3)]('\x0a',_0x285b09);(_0x44ade0===-0x1||_0x44ade0<_0x285b09*0.5)&&(_0x44ade0=_0x545404[_0x273949(0x1c3)]('。',_0x285b09)),(_0x44ade0===-0x1||_0x44ade0<_0x285b09*0.5)&&(_0x44ade0=_0x545404[_0x273949(0x1c3)]('\x20',_0x285b09)),_0x44ade0===-0x1||_0x44ade0<_0x285b09*0.5?_0x44ade0=_0x285b09:_0x44ade0+=0x1,_0x80ad34['push'](_0x545404[_0x273949(0x17d)](0x0,_0x44ade0)[_0x273949(0x1b0)]()),_0x545404=_0x545404[_0x273949(0x17d)](_0x44ade0)['trim']();}return _0x545404[_0x273949(0x1c2)]>0x0&&_0x80ad34[_0x273949(0x1a9)](_0x545404),_0x80ad34;}function a9_0x4cf7(){const _0x16321b=['Agent','fetchQuotedMessage','__esModule','push','body','8834xHifkT','defaultDingToken','https://api.dingtalk.com','json','CronList','trim','EnterPlanMode','TaskGet','未能获取机器人信息发送途径','2220213FmvokR',']**\x0a','config','filterToolUseContent','ExitPlanMode','defineProperty','DingClient','utils-ok','3005fZPpXK','__importDefault','dingStreamClient',')[^>]*>[\x5cs\x5cS]*?<\x5c/\x5c1>','ai-reply','string','length','lastIndexOf','fetchQuotedMessage\x20请求失败:','NotebookEdit','debugLog','WebSearch','sendMd','3676730XvzYpl','stringify','reply','WebFetch','markdown','Skill','22USRNKP','warn','TaskList','getAccessToken','4UPjfen','splitMessage','fetchQuotedMessage\x20API\x20返回非200:\x20status=','ExitWorktree','substring','sendDingMessage','default','content','**[','object','send','EnterWorktree','data',')[^>]*\x5c/>','143088ZYJxgp','Write','find','222FBUokB','AskUserQuestion','replace','Read','dingSecret','text','GET','Glob','5205910NalrYd','sendClaudeResponseToDing','conversations','过滤后内容为空,跳过发送','LSP','fetchQuotedMessage\x20无法从响应中提取文本:\x20keys=','conversationId','Bash','POST','join','baseUtil',',\x20data=','TaskCreate','2004cZJzHb','sleep','Grep','/v1.0/im/api/messages/','Edit','1727865chYmpg','request'];a9_0x4cf7=function(){return _0x16321b;};return a9_0x4cf7();}async function sendDingMessage(_0x20592c,_0x3d12cc){const _0x3173e0=a9_0x5c6f28,{conversationId:_0x33ed05,sessionWebhook:_0x105ff8,atUserId:_0x4c772d,content:_0x1ab46e,msgType:msgType=_0x3173e0(0x18f)}=_0x3d12cc,_0x213b4b=_0x4c772d?[_0x4c772d]:[],_0x3dbde1=_0x20592c[_0x3173e0(0x1b6)][_0x3173e0(0x194)][_0x3173e0(0x189)](_0x2ddb2e=>_0x2ddb2e[_0x3173e0(0x198)]===_0x33ed05),_0x56df9f=_0x3dbde1?.['dingToken'],_0x486cc4=_0x20592c[_0x3173e0(0x1b6)][_0x3173e0(0x18e)];if(_0x56df9f){const _0x395ebf=new utils_ok_1[(_0x3173e0(0x1ba))](_0x56df9f,_0x486cc4);msgType===_0x3173e0(0x1cd)?await _0x395ebf['sendMd'](_0x3173e0(0x1c0),_0x1ab46e+'\x20'+(_0x4c772d?'@'+_0x4c772d:''),[],_0x213b4b):await _0x395ebf['send'](_0x1ab46e+'\x20'+(_0x4c772d?'@'+_0x4c772d:''),[],_0x213b4b);}else{if(_0x105ff8){const _0x243573=await _0x20592c[_0x3173e0(0x1be)][_0x3173e0(0x1d2)](),_0x573076=msgType===_0x3173e0(0x1cd)?{'msgtype':_0x3173e0(0x1cd),'markdown':{'title':_0x3173e0(0x1cb),'text':_0x1ab46e},'at':{'atUserIds':_0x213b4b,'isAtAll':![]}}:{'msgtype':_0x3173e0(0x18f),'text':{'content':_0x1ab46e},'at':{'atUserIds':_0x213b4b,'isAtAll':![]}};try{await urllib_1[_0x3173e0(0x17f)][_0x3173e0(0x1a5)](_0x105ff8,{'method':_0x3173e0(0x19a),'data':_0x573076,'contentType':_0x3173e0(0x1ae),'headers':{'x-acs-dingtalk-access-token':_0x243573},'dataType':'json'});}catch(_0x5d3cc3){console['error']('通过\x20sessionWebhook\x20发送钉钉消息失败:',_0x5d3cc3);}}else{if(_0x20592c[_0x3173e0(0x1b6)][_0x3173e0(0x1ac)]){const _0x2dc559=new utils_ok_1[(_0x3173e0(0x1ba))](_0x20592c['config'][_0x3173e0(0x1ac)],_0x486cc4);msgType===_0x3173e0(0x1cd)?await _0x2dc559[_0x3173e0(0x1c8)](_0x3173e0(0x1c0),_0x1ab46e+'\x20'+(_0x4c772d?'@'+_0x4c772d:''),[],_0x213b4b):await _0x2dc559[_0x3173e0(0x183)](_0x1ab46e+'\x20'+(_0x4c772d?'@'+_0x4c772d:''),[],_0x213b4b);}else console['error'](_0x3173e0(0x1b3));}}}async function sendClaudeResponseToDing(_0x52bae2,_0x3457cb,_0x1efaf8,_0x3dd74d,_0x39e804){const _0x53479a=a9_0x5c6f28,_0x59e088=0x4650,_0x54914e=filterToolUseContent(_0x39e804);if(!_0x54914e){_0x52bae2[_0x53479a(0x1c6)](_0x53479a(0x195));return;}if(_0x54914e[_0x53479a(0x1c2)]<=_0x59e088)await sendDingMessage(_0x52bae2,{'conversationId':_0x3457cb,'sessionWebhook':_0x1efaf8,'atUserId':_0x3dd74d,'content':_0x54914e,'msgType':_0x53479a(0x1cd)});else{const _0xc72aba=splitMessage(_0x54914e,_0x59e088);for(let _0x393d22=0x0;_0x393d22<_0xc72aba['length'];_0x393d22++){const _0x39b0ec=_0xc72aba[_0x53479a(0x1c2)]>0x1?_0x53479a(0x181)+(_0x393d22+0x1)+'/'+_0xc72aba[_0x53479a(0x1c2)]+_0x53479a(0x1b5):'';await sendDingMessage(_0x52bae2,{'conversationId':_0x3457cb,'sessionWebhook':_0x1efaf8,'atUserId':_0x393d22===_0xc72aba[_0x53479a(0x1c2)]-0x1?_0x3dd74d:'','content':_0x39b0ec+_0xc72aba[_0x393d22],'msgType':_0x53479a(0x1cd)}),_0x393d22<_0xc72aba['length']-0x1&&await utils_ok_2[_0x53479a(0x19c)][_0x53479a(0x1a0)](0x1f4);}}}
@@ -0,0 +1 @@
1
+ 'use strict';function a10_0x2bad(){const _0x392d66=['__esModule','repliedMsg','3543090anYvaT','string','──\x20引用消息','quoteSenderNick','defineProperty','extractQuoteInfo','msgId','trim','7Ouvirk','\x0a──\x20引用结束\x20──\x0a\x0a','14439Qavzyb','4969456aqCBTl','senderNick','192BzzELa','5134563Prhyrr','content','878754GwOWXr','\x20──\x0a','39220SFyWom','quoteText','491285qDETWK','text','\x20(来自:\x20'];a10_0x2bad=function(){return _0x392d66;};return a10_0x2bad();}const a10_0x1687ea=a10_0x1d37;(function(_0x1819d8,_0x310541){const _0x25f2c6=a10_0x1d37,_0x1d8c15=_0x1819d8();while(!![]){try{const _0x46c9dd=-parseInt(_0x25f2c6(0x159))/0x1+parseInt(_0x25f2c6(0x155))/0x2+-parseInt(_0x25f2c6(0x14f))/0x3*(parseInt(_0x25f2c6(0x152))/0x4)+parseInt(_0x25f2c6(0x157))/0x5+parseInt(_0x25f2c6(0x15e))/0x6+parseInt(_0x25f2c6(0x14d))/0x7*(parseInt(_0x25f2c6(0x150))/0x8)+-parseInt(_0x25f2c6(0x153))/0x9;if(_0x46c9dd===_0x310541)break;else _0x1d8c15['push'](_0x1d8c15['shift']());}catch(_0x58f1ec){_0x1d8c15['push'](_0x1d8c15['shift']());}}}(a10_0x2bad,0x59616));function a10_0x1d37(_0x28748d,_0x1325f7){_0x28748d=_0x28748d-0x14c;const _0x2bad5d=a10_0x2bad();let _0x1d37c0=_0x2bad5d[_0x28748d];return _0x1d37c0;}Object[a10_0x1687ea(0x162)](exports,a10_0x1687ea(0x15c),{'value':!![]}),exports[a10_0x1687ea(0x163)]=extractQuoteInfo,exports['formatPromptWithQuote']=formatPromptWithQuote;function extractQuoteInfo(_0x54c1d8){const _0x5f966b=a10_0x1687ea,_0x539ff2=_0x54c1d8[_0x5f966b(0x15a)];if(!_0x539ff2?.[_0x5f966b(0x15d)])return null;const _0x1ba784=_0x539ff2[_0x5f966b(0x15d)];let _0x524c9e='';const _0x277d26=_0x1ba784[_0x5f966b(0x164)],_0x5bbeb6=_0x1ba784[_0x5f966b(0x151)];if(_0x1ba784[_0x5f966b(0x154)]){if(typeof _0x1ba784[_0x5f966b(0x154)][_0x5f966b(0x15a)]==='string')_0x524c9e=_0x1ba784[_0x5f966b(0x154)][_0x5f966b(0x15a)][_0x5f966b(0x14c)]();else typeof _0x1ba784[_0x5f966b(0x154)]===_0x5f966b(0x15f)&&(_0x524c9e=_0x1ba784['content'][_0x5f966b(0x14c)]());}if(!_0x524c9e&&!_0x277d26)return null;return{'quoteText':_0x524c9e,'quoteMessageId':_0x277d26,'quoteSenderNick':_0x5bbeb6};}function formatPromptWithQuote(_0x53b81c,_0x5b1138){const _0x1b9c08=a10_0x1687ea;if(!_0x5b1138[_0x1b9c08(0x158)])return _0x53b81c;const _0x275f3b=_0x5b1138[_0x1b9c08(0x161)]?_0x1b9c08(0x15b)+_0x5b1138['quoteSenderNick']+')':'';return _0x1b9c08(0x160)+_0x275f3b+_0x1b9c08(0x156)+_0x5b1138[_0x1b9c08(0x158)]+_0x1b9c08(0x14e)+_0x53b81c;}
@@ -0,0 +1 @@
1
+ 'use strict';const a11_0x114a85=a11_0x3896;(function(_0x5d76f9,_0x1746fd){const _0x33b556=a11_0x3896,_0x119b53=_0x5d76f9();while(!![]){try{const _0x30f227=parseInt(_0x33b556(0x17b))/0x1+-parseInt(_0x33b556(0x130))/0x2*(parseInt(_0x33b556(0x147))/0x3)+parseInt(_0x33b556(0x1ae))/0x4*(parseInt(_0x33b556(0x13f))/0x5)+-parseInt(_0x33b556(0x1cc))/0x6*(-parseInt(_0x33b556(0x174))/0x7)+parseInt(_0x33b556(0x1a9))/0x8*(-parseInt(_0x33b556(0x19d))/0x9)+-parseInt(_0x33b556(0x1a0))/0xa+-parseInt(_0x33b556(0x175))/0xb*(-parseInt(_0x33b556(0x15d))/0xc);if(_0x30f227===_0x1746fd)break;else _0x119b53['push'](_0x119b53['shift']());}catch(_0x1c68d6){_0x119b53['push'](_0x119b53['shift']());}}}(a11_0x5ca9,0x83c33));var __importDefault=this&&this[a11_0x114a85(0x165)]||function(_0x1dcace){const _0xe44a41=a11_0x114a85;return _0x1dcace&&_0x1dcace[_0xe44a41(0x18e)]?_0x1dcace:{'default':_0x1dcace};};Object[a11_0x114a85(0x1d9)](exports,a11_0x114a85(0x18e),{'value':!![]}),exports['timestamp']=timestamp,exports[a11_0x114a85(0x1b8)]=getHomeDir,exports[a11_0x114a85(0x1d8)]=getClientDir,exports[a11_0x114a85(0x192)]=initClientDir,exports['ensureClientDir']=ensureClientDir,exports['getClientConfig']=getClientConfig,exports[a11_0x114a85(0x1b0)]=authCheck,exports[a11_0x114a85(0x144)]=isOwner,exports[a11_0x114a85(0x1e2)]=debugLog,exports[a11_0x114a85(0x155)]=hashConversationId,exports[a11_0x114a85(0x19a)]=getReplyWebhook,exports[a11_0x114a85(0x159)]=getReplyConversationId,exports['findActiveSession']=findActiveSession,exports[a11_0x114a85(0x15c)]=getConversationConfig,exports[a11_0x114a85(0x1c6)]=getConversationDir,exports['getSessionsDir']=getSessionsDir,exports[a11_0x114a85(0x18c)]=getTasksDir,exports[a11_0x114a85(0x149)]=getImagesDir,exports[a11_0x114a85(0x1e4)]=getSessionDir,exports[a11_0x114a85(0x1e5)]=getSessionId,exports['formatSessionInfo']=formatSessionInfo,exports[a11_0x114a85(0x173)]=readSessionLogTail,exports[a11_0x114a85(0x1d5)]=findHistorySession,exports[a11_0x114a85(0x16c)]=findLatestSession,exports[a11_0x114a85(0x18b)]=updateSessionFile,exports[a11_0x114a85(0x15f)]=appendSessionLog,exports['getActiveSessionsFile']=getActiveSessionsFile,exports[a11_0x114a85(0x1c1)]=saveActiveSession,exports[a11_0x114a85(0x135)]=loadActiveSessions,exports[a11_0x114a85(0x16d)]=endSession,exports[a11_0x114a85(0x1a7)]=switchToSession,exports[a11_0x114a85(0x184)]=startNewSession,exports[a11_0x114a85(0x14c)]=handleSessionMessage,exports[a11_0x114a85(0x1ca)]=cleanCache;const utils_ok_1=require('utils-ok'),fs_1=__importDefault(require('fs')),os_1=__importDefault(require('os')),assert_1=__importDefault(require(a11_0x114a85(0x1a8))),crypto_1=__importDefault(require(a11_0x114a85(0x133))),path_1=__importDefault(require(a11_0x114a85(0x1d2))),commands_1=require('./commands'),messaging_1=require('./messaging'),claude_process_1=require(a11_0x114a85(0x14f));function timestamp(){const _0x34386c=a11_0x114a85;return utils_ok_1['dateUtil']['mm'](Date['now']())[_0x34386c(0x15b)](_0x34386c(0x179));}function getHomeDir(){const _0x9d3d52=a11_0x114a85;return os_1[_0x9d3d52(0x19b)][_0x9d3d52(0x19f)]();}function getClientDir(_0x584ca7){const _0x169579=a11_0x114a85;return path_1[_0x169579(0x19b)][_0x169579(0x18d)](getHomeDir(),_0x169579(0x154),_0x169579(0x138),_0x584ca7['clientId']);}function initClientDir(_0xaa8f5,_0xa458f2){const _0x156600=a11_0x114a85,_0x2d72c3=path_1[_0x156600(0x19b)][_0x156600(0x18d)](getHomeDir(),_0x156600(0x154),'cc-ding',_0xaa8f5),_0x264d74=path_1['default'][_0x156600(0x18d)](_0x2d72c3,_0x156600(0x17d));return fs_1[_0x156600(0x19b)][_0x156600(0x1ac)](_0x2d72c3,{'recursive':!![]}),fs_1[_0x156600(0x19b)][_0x156600(0x185)](_0x264d74,JSON[_0x156600(0x178)](_0xa458f2,null,0x2),_0x156600(0x13e)),_0x264d74;}function ensureClientDir(_0xfde5e5){const _0x35ac5c=a11_0x114a85,_0x5c8720=path_1[_0x35ac5c(0x19b)][_0x35ac5c(0x18d)](getHomeDir(),_0x35ac5c(0x154),_0x35ac5c(0x138),_0xfde5e5),_0x4ebb5e=path_1[_0x35ac5c(0x19b)][_0x35ac5c(0x18d)](_0x5c8720,_0x35ac5c(0x17d));if(fs_1['default'][_0x35ac5c(0x13d)](_0x4ebb5e))return;console[_0x35ac5c(0x14a)]('['+timestamp()+']\x20客户端目录未初始化:\x20'+_0x5c8720),console[_0x35ac5c(0x14a)]('['+timestamp()+']\x20正在自动初始化...');const _0x4015c6={'clientName':_0x35ac5c(0x151),'whiteUserList':[],'clientSecret':'<clientSecret-钉钉Stream连接密钥>','dingSecret':_0x35ac5c(0x164),'defaultDingToken':_0x35ac5c(0x1da),'conversations':[]};initClientDir(_0xfde5e5,_0x4015c6),console[_0x35ac5c(0x14a)]('['+timestamp()+_0x35ac5c(0x1a1)+_0x4ebb5e),console['log']('['+timestamp()+']\x20请编辑\x20config.json\x20填写必要的配置项后重新启动'),process['exit'](0x1);}function getClientConfig(_0x4d076e){const _0x523c2d=a11_0x114a85,_0x3c8e6e=getClientDir(_0x4d076e)+_0x523c2d(0x170);(0x0,assert_1[_0x523c2d(0x19b)])(fs_1[_0x523c2d(0x19b)]['existsSync'](_0x3c8e6e),_0x523c2d(0x1d4)+_0x3c8e6e);const _0x3210af=utils_ok_1[_0x523c2d(0x1db)]['getJSON'](_0x3c8e6e);return(0x0,assert_1['default'])(_0x3210af[_0x523c2d(0x1d0)],_0x523c2d(0x14e)),(0x0,assert_1['default'])(_0x3210af[_0x523c2d(0x1d1)],_0x523c2d(0x16b)),_0x3210af;}function authCheck(_0x1282e9,_0x4d0973,_0x261fee){const _0x3a91a4=a11_0x114a85;if(_0x261fee){const _0xd8fbb0=_0x1282e9[_0x3a91a4(0x198)][_0x3a91a4(0x194)]['find'](_0x389508=>_0x389508[_0x3a91a4(0x162)]===_0x261fee);if(_0xd8fbb0?.['whiteUserList']&&_0xd8fbb0[_0x3a91a4(0x1d1)][_0x3a91a4(0x1d6)]>0x0)return _0xd8fbb0[_0x3a91a4(0x1d1)][_0x3a91a4(0x1b6)](_0x4d0973);}return _0x1282e9[_0x3a91a4(0x198)]['whiteUserList']['includes'](_0x4d0973);}function isOwner(_0x1cf386,_0xd69ed8){const _0x141798=a11_0x114a85;return!!_0x1cf386[_0x141798(0x198)]['owner']&&_0x1cf386['config'][_0x141798(0x1bb)]===_0xd69ed8;}function debugLog(_0x135335,_0xb5f7f7,..._0xd07d5e){const _0x2f8c9d=a11_0x114a85;_0x135335[_0x2f8c9d(0x198)][_0x2f8c9d(0x1e8)]&&console[_0x2f8c9d(0x14a)](_0x2f8c9d(0x1dc)+_0xb5f7f7,..._0xd07d5e);}function hashConversationId(_0x76f008,_0x1854c0){const _0x4beb2b=a11_0x114a85,_0x124b20=getConversationConfig(_0x76f008,_0x1854c0),_0x3c3be8=_0x124b20[_0x4beb2b(0x156)]||_0x1854c0;return crypto_1[_0x4beb2b(0x19b)][_0x4beb2b(0x1c4)](_0x4beb2b(0x1de))['update'](_0x3c3be8)[_0x4beb2b(0x137)](_0x4beb2b(0x17e));}function getReplyWebhook(_0x48dcba){const _0x52c405=a11_0x114a85;return _0x48dcba[_0x52c405(0x199)]||_0x48dcba[_0x52c405(0x1a3)];}function getReplyConversationId(_0x2f2e07){const _0x158d58=a11_0x114a85;return _0x2f2e07[_0x158d58(0x1c3)]||_0x2f2e07['conversationId'];}function findActiveSession(_0x4346d3,_0x34aa8f){const _0x2865f8=a11_0x114a85,_0x3cdf89=_0x4346d3[_0x2865f8(0x15e)]['get'](_0x34aa8f);if(_0x3cdf89)return{'key':_0x34aa8f,'session':_0x3cdf89};const _0x229c8f=getConversationConfig(_0x4346d3,_0x34aa8f);if(_0x229c8f?.[_0x2865f8(0x156)])for(const _0x14058a of _0x4346d3[_0x2865f8(0x15e)]){const _0x476e14=getConversationConfig(_0x4346d3,_0x14058a[0x0]);if(_0x476e14?.[_0x2865f8(0x156)]===_0x229c8f[_0x2865f8(0x156)])return{'key':_0x14058a[0x0],'session':_0x14058a[0x1]};}return undefined;}function getConversationConfig(_0x544916,_0xb1e8d2){const _0x5a0496=a11_0x114a85;return _0x544916[_0x5a0496(0x198)]['conversations']['find'](_0x15d981=>_0x15d981[_0x5a0496(0x162)]===_0xb1e8d2);}function getConversationDir(_0x95f585,_0x4ad2a3){const _0x457f0e=hashConversationId(_0x95f585,_0x4ad2a3);return getClientDir(_0x95f585)+'/'+_0x457f0e;}function a11_0x3896(_0x56a316,_0x4c81ab){_0x56a316=_0x56a316-0x12d;const _0x5ca921=a11_0x5ca9();let _0x3896cb=_0x5ca921[_0x56a316];return _0x3896cb;}function getSessionsDir(_0x1b7302,_0x2dc385){const _0x1353b6=a11_0x114a85;return getConversationDir(_0x1b7302,_0x2dc385)+_0x1353b6(0x189);}function getTasksDir(_0x4c900c,_0x133fe9){const _0x4a55cc=a11_0x114a85;return getConversationDir(_0x4c900c,_0x133fe9)+_0x4a55cc(0x14b);}function getImagesDir(_0x29ff4b,_0x3331df){const _0x5dcab5=a11_0x114a85;return getConversationDir(_0x29ff4b,_0x3331df)+_0x5dcab5(0x145);}function getSessionDir(_0x17fda8,_0x48ae71){const _0x2d2906=a11_0x114a85,_0x2f819c=_0x48ae71[_0x2d2906(0x1b7)]||_0x48ae71[_0x2d2906(0x1bf)];return getSessionsDir(_0x17fda8,_0x48ae71[_0x2d2906(0x162)])+'/'+_0x2f819c;}function getSessionId(_0x4e4451){const _0x9be195=a11_0x114a85;return _0x4e4451['claudeSessionId']||_0x4e4451[_0x9be195(0x1bf)];}function formatSessionInfo(_0x38ced1,_0xb135c3){const _0x108da6=a11_0x114a85,_0x4e2317=findActiveSession(_0x38ced1,_0xb135c3);if(!_0x4e2317)return null;const {session:_0x302939,isProcessing:_0x1ef3e6}=_0x4e2317['session'],_0x2872f1=['-\x20**会话ID:**\x20'+getSessionId(_0x302939),'-\x20**发起者:**\x20'+_0x302939[_0x108da6(0x1a6)]+'('+_0x302939['startStaffId']+')',_0x108da6(0x13c)+_0x302939['startTimeStr'],_0x108da6(0x172)+_0x4e2317['session'][_0x108da6(0x157)],'-\x20**处理中:**\x20'+_0x1ef3e6];return _0x2872f1['join']('\x0a');}function readSessionLogTail(_0x49beed,_0x139617,_0x55a0b8){const _0x2020b9=a11_0x114a85,_0x595d6b=findActiveSession(_0x49beed,_0x139617);if(!_0x595d6b)return null;const _0x4cef7e=_0x595d6b[_0x2020b9(0x1b9)],_0x176a60=getSessionDir(_0x49beed,_0x4cef7e[_0x2020b9(0x1b9)])+_0x2020b9(0x1dd);if(!fs_1[_0x2020b9(0x19b)][_0x2020b9(0x13d)](_0x176a60))return null;try{const _0x124e73=fs_1[_0x2020b9(0x19b)][_0x2020b9(0x1a5)](_0x176a60,_0x2020b9(0x13e)),_0x2c2be2=_0x124e73[_0x2020b9(0x15a)]('\x0a')[_0x2020b9(0x191)](_0x2e6456=>_0x2e6456[_0x2020b9(0x1d6)]>0x0);return _0x2c2be2[_0x2020b9(0x1b1)](-_0x55a0b8)[_0x2020b9(0x18d)]('\x0a');}catch{return null;}}function findHistorySession(_0x4f5732,_0x573989,_0x1fb8d6){const _0x25ad3a=a11_0x114a85,_0x5c2777=getSessionsDir(_0x4f5732,_0x573989),_0x1e5ae6=_0x5c2777+'/'+_0x1fb8d6+_0x25ad3a(0x148);try{return utils_ok_1[_0x25ad3a(0x1db)][_0x25ad3a(0x142)](_0x1e5ae6);}catch{}const _0x1e4925=parseInt(_0x1fb8d6,0xa);if(!isNaN(_0x1e4925)&&_0x1e4925>0x0){const _0xbc7142=utils_ok_1[_0x25ad3a(0x1af)]['mm'](_0x1e4925)[_0x25ad3a(0x15b)](_0x25ad3a(0x17c)),_0x3409f6=_0x5c2777+'/'+_0xbc7142+_0x25ad3a(0x148);try{return utils_ok_1[_0x25ad3a(0x1db)][_0x25ad3a(0x142)](_0x3409f6);}catch{}}return null;}function a11_0x5ca9(){const _0x2b518b=['isOwner','/.images',',该会话可能已被清理,请发送新消息开始新会话','297XOxgZB','/session.json','getImagesDir','log','/.tasks','handleSessionMessage','结束会话时中断正在执行的\x20Claude\x20进程','config.json\x20missing\x20required\x20field:\x20clientSecret','./claude-process','set','cc助手','读取sessions目录失败:\x20','sendDingMessage','.anycli','hashConversationId','linkConversationId','lastSenderStaffId','(关联群,会话归属=','getReplyConversationId','split','format','getConversationConfig','3144ADoyrB','activeSessions','appendSessionLog','删除活跃会话文件失败:\x20','name','conversationId','DEFAULT_SESSION_MAX_CONCURRENCY','<dingSecret-钉钉签名密钥>','__importDefault','rmSync','执行\x20Claude\x20查询失败:','删除图片失败:\x20','conversationConfig','⏳\x20正在处理上一条消息,请稍候...','config.json\x20missing\x20required\x20field:\x20whiteUserList','findLatestSession','endSession','创建新会话:\x20群=','sessionMaxConcurrency','/config.json',']:\x20','-\x20**最后发送者:**\x20','readSessionLogTail','795557nqkBdW','86119tEJMXu','message','key','stringify','YYYY-MM-DD\x20HH:mm:ss','读取images目录失败:\x20','249916mvpfup','YYYY-MM-DD-HH-mm-ss','config.json','hex','加载活跃会话失败:\x20','sessionsDeleted','agent','✅\x20已切换到历史会话\x20(会话ID:\x20','活跃会话目录已被清理:\x20群=','startNewSession','writeFileSync','\x0a💡\x20回复\x20/end\x20可结束本轮对话','delete','恢复活跃会话:\x20群=','/.sessions','\x20的数据已被清理,无法继续。已自动结束该会话,请重新发送消息开始新会话','updateSessionFile','getTasksDir','join','__esModule','has','basename','filter','initClientDir','isProcessing','conversations','appendFileSync',']\x20[SYSTEM]:\x20用户请求结束会话\x0a','renameSync','config','currentWebhook','getReplyWebhook','default','活跃会话已持久化:\x20群=','1755PENXoW',',\x20会话ID=','homedir','8031320MPGFfV',']\x20已生成默认配置文件:\x20','删除会话目录失败:\x20','sessionWebhook','dirname','readFileSync','startNickName','switchToSession','assert','30232gTknDL','⚠️\x20会话\x20','/active.json','mkdirSync','startStaffId','4GHsGVV','dateUtil','authCheck','slice','已切换到历史会话:\x20群=','🤯\x20当前繁忙,请稍后再试...','⚠️\x20该会话无历史上下文,将从头开始','\x20->\x20','includes','claudeSessionId','getHomeDir','session','startTime','owner','skill','✅\x20收到,我来处理...','error','startTimeStr','isDirectory','saveActiveSession','会话\x20','currentConversationId','createHash','unlinkSync','getConversationDir','push','❌\x20处理消息时发生错误:\x20','切换会话时中断正在执行的\x20Claude\x20进程','cleanCache','errors','6DnRKdT','持久化活跃会话失败:\x20群=',',\x20有Claude上下文=','🚀\x20会话已开始!\x0a处理中...\x0a💡\x20回复\x20/end\x20可结束本轮对话','clientSecret','whiteUserList','path','结束会话:\x20群=','Could\x20not\x20find\x20client\x20config\x20file:\x20','findHistorySession','length',']\x20会话文件已保存:\x20','getClientDir','defineProperty','<兜底钉钉机器人Token>','fileUtil','[DEBUG]\x20','/session.log','md5',',\x20当前并发=',']\x20[',']\x20会话目录重命名:\x20','debugLog','executeClaudeQuery','getSessionDir','getSessionId','taskCfg','readdirSync','debug','imagesDeleted','删除任务目录失败:\x20','❌\x20未找到会话\x20','size','\x20的数据已被清理,无法恢复,请发送新消息开始新会话','活跃会话目录已不存在,清理持久化文件:\x20','21108LfrzEd','活跃会话文件无效,跳过:\x20','❌\x20会话\x20','crypto','达到最大并发数\x20(','loadActiveSessions','🔄\x20已恢复对话上下文','digest','cc-ding','parseEndCommand',',结束当前会话\x0a','get','-\x20**开始时间:**\x20','existsSync','utf-8','3549085HxtSoJ','interruptClaudeProcess',']\x20[SYSTEM]:\x20结束会话时中断\x20Claude\x20进程\x0a','getJSON','\x20正在处理中,忽略新消息'];a11_0x5ca9=function(){return _0x2b518b;};return a11_0x5ca9();}function findLatestSession(_0x432d12,_0x41df8a){const _0x500c0f=a11_0x114a85,_0x504617=getSessionsDir(_0x432d12,_0x41df8a);if(!fs_1[_0x500c0f(0x19b)][_0x500c0f(0x13d)](_0x504617))return null;const _0x3de782=findActiveSession(_0x432d12,_0x41df8a),_0x5498d0=_0x3de782?getSessionId(_0x3de782[_0x500c0f(0x1b9)][_0x500c0f(0x1b9)]):null;let _0x4ba7ec=null,_0x213bc1=0x0;try{const _0x3448e9=fs_1[_0x500c0f(0x19b)]['readdirSync'](_0x504617,{'withFileTypes':!![]});for(const _0x944b95 of _0x3448e9){if(!_0x944b95[_0x500c0f(0x1c0)]())continue;const _0x4668c1=path_1[_0x500c0f(0x19b)]['join'](_0x504617,_0x944b95[_0x500c0f(0x161)],'session.json');if(!fs_1[_0x500c0f(0x19b)]['existsSync'](_0x4668c1))continue;try{const _0x4c95ec=utils_ok_1[_0x500c0f(0x1db)][_0x500c0f(0x142)](_0x4668c1);if(_0x5498d0&&getSessionId(_0x4c95ec)===_0x5498d0)continue;_0x4c95ec[_0x500c0f(0x1ba)]>_0x213bc1&&(_0x213bc1=_0x4c95ec[_0x500c0f(0x1ba)],_0x4ba7ec=_0x4c95ec);}catch{continue;}}}catch{}return _0x4ba7ec;}function updateSessionFile(_0x3b74c5,_0x4bf823,_0x252a96){const _0x28ce36=a11_0x114a85;if(_0x252a96['claudeSessionId']&&!_0x4bf823[_0x28ce36(0x1b7)]){const _0x2d58c7=getSessionDir(_0x3b74c5,_0x4bf823);_0x4bf823['claudeSessionId']=_0x252a96['claudeSessionId'];const _0x50176a=getSessionDir(_0x3b74c5,_0x4bf823);_0x2d58c7!==_0x50176a&&fs_1[_0x28ce36(0x19b)][_0x28ce36(0x13d)](_0x2d58c7)&&(fs_1['default'][_0x28ce36(0x197)](_0x2d58c7,_0x50176a),console[_0x28ce36(0x14a)]('['+timestamp()+_0x28ce36(0x1e1)+path_1['default'][_0x28ce36(0x190)](_0x2d58c7)+_0x28ce36(0x1b5)+path_1[_0x28ce36(0x19b)][_0x28ce36(0x190)](_0x50176a)));}const _0x2f0010=getSessionDir(_0x3b74c5,_0x4bf823)+_0x28ce36(0x148);try{if(_0x252a96[_0x28ce36(0x1a3)])_0x4bf823[_0x28ce36(0x1a3)]=_0x252a96[_0x28ce36(0x1a3)];if(_0x252a96[_0x28ce36(0x199)]!==undefined)_0x4bf823['currentWebhook']=_0x252a96[_0x28ce36(0x199)]||undefined;if(_0x252a96[_0x28ce36(0x1c3)]!==undefined)_0x4bf823[_0x28ce36(0x1c3)]=_0x252a96[_0x28ce36(0x1c3)]||undefined;fs_1[_0x28ce36(0x19b)][_0x28ce36(0x185)](_0x2f0010,JSON['stringify'](_0x4bf823,null,0x2),'utf-8');const _0x17e962=_0x252a96[_0x28ce36(0x1b7)]?_0x28ce36(0x1b7):_0x252a96[_0x28ce36(0x199)]!==undefined?_0x28ce36(0x199):_0x28ce36(0x1a3);console['log']('['+timestamp()+_0x28ce36(0x1d7)+_0x17e962),saveActiveSession(_0x3b74c5,_0x4bf823[_0x28ce36(0x162)]);}catch(_0x2ef365){console[_0x28ce36(0x1be)]('更新\x20session.json\x20失败:',_0x2ef365);}}function appendSessionLog(_0x3f15bc,_0x57286d,_0x28cf7b){const _0x15561c=a11_0x114a85,_0x401ae5=_0x3f15bc+'/session.log',_0x540062=timestamp(),_0xe26723='['+_0x540062+_0x15561c(0x1e0)+_0x57286d['toUpperCase']()+_0x15561c(0x171)+_0x28cf7b+'\x0a';fs_1[_0x15561c(0x19b)][_0x15561c(0x195)](_0x401ae5,_0xe26723,'utf-8');}function getActiveSessionsFile(_0x2d3511,_0x501261){const _0x48071b=a11_0x114a85;return getSessionsDir(_0x2d3511,_0x501261)+_0x48071b(0x1ab);}function saveActiveSession(_0xa86dd4,_0xf1cb8){const _0x410f80=a11_0x114a85,_0x46614b=_0xa86dd4['activeSessions'][_0x410f80(0x13b)](_0xf1cb8),_0x4c51e4=getActiveSessionsFile(_0xa86dd4,_0xf1cb8);try{if(!_0x46614b){if(fs_1[_0x410f80(0x19b)][_0x410f80(0x13d)](_0x4c51e4))fs_1[_0x410f80(0x19b)][_0x410f80(0x1c5)](_0x4c51e4);return;}const _0x382c57={'session':_0x46614b[_0x410f80(0x1b9)],'lastSenderStaffId':_0x46614b[_0x410f80(0x157)],'conversationConfig':_0x46614b[_0x410f80(0x169)]};fs_1[_0x410f80(0x19b)][_0x410f80(0x1ac)](path_1[_0x410f80(0x19b)][_0x410f80(0x1a4)](_0x4c51e4),{'recursive':!![]}),fs_1[_0x410f80(0x19b)][_0x410f80(0x185)](_0x4c51e4,JSON[_0x410f80(0x178)](_0x382c57,null,0x2),'utf-8'),debugLog(_0xa86dd4,_0x410f80(0x19c)+_0xf1cb8);}catch(_0x1dc1f1){console[_0x410f80(0x1be)](_0x410f80(0x1cd)+_0xf1cb8,_0x1dc1f1);}}function loadActiveSessions(_0x1c7242){const _0x2cba84=a11_0x114a85;for(const _0x25cf07 of _0x1c7242[_0x2cba84(0x198)][_0x2cba84(0x194)]){const _0x151d0f=getActiveSessionsFile(_0x1c7242,_0x25cf07[_0x2cba84(0x162)]);if(!fs_1[_0x2cba84(0x19b)][_0x2cba84(0x13d)](_0x151d0f))continue;try{const _0x307592=utils_ok_1['fileUtil'][_0x2cba84(0x142)](_0x151d0f);if(!_0x307592?.[_0x2cba84(0x1b9)]){console[_0x2cba84(0x14a)](_0x2cba84(0x131)+_0x151d0f);continue;}const _0xe4b833=getSessionDir(_0x1c7242,_0x307592[_0x2cba84(0x1b9)]);if(!fs_1['default']['existsSync'](_0xe4b833)){console[_0x2cba84(0x14a)](_0x2cba84(0x12f)+_0x151d0f),fs_1['default'][_0x2cba84(0x1c5)](_0x151d0f);continue;}_0x1c7242[_0x2cba84(0x15e)][_0x2cba84(0x150)](_0x25cf07[_0x2cba84(0x162)],{'session':_0x307592['session'],'lastSenderStaffId':_0x307592[_0x2cba84(0x157)]||_0x307592['session'][_0x2cba84(0x1ad)],'isProcessing':![],'conversationConfig':_0x307592[_0x2cba84(0x169)]}),console['log'](_0x2cba84(0x188)+_0x25cf07['conversationId']+_0x2cba84(0x19e)+getSessionId(_0x307592[_0x2cba84(0x1b9)]));}catch(_0x5abeb9){console[_0x2cba84(0x1be)](_0x2cba84(0x17f)+_0x151d0f,_0x5abeb9);}}}async function endSession(_0xef68c9,_0x19f8df,_0x3b4e42){const _0x1b1ade=a11_0x114a85,_0x5cc085=findActiveSession(_0xef68c9,_0x19f8df);if(!_0x5cc085){console[_0x1b1ade(0x14a)]('群\x20'+_0x19f8df+'\x20无活跃会话');return;}const {key:_0x4e608c,session:_0x87d46b}=_0x5cc085,{session:_0x2beb8e}=_0x87d46b,_0x25d297=getSessionDir(_0xef68c9,_0x2beb8e),_0x3481eb=getSessionId(_0x2beb8e);console['log'](_0x1b1ade(0x1d3)+_0x19f8df+_0x1b1ade(0x19e)+_0x3481eb),(0x0,claude_process_1[_0x1b1ade(0x140)])(_0x87d46b,_0x1b1ade(0x14d))&&fs_1[_0x1b1ade(0x19b)][_0x1b1ade(0x195)](_0x25d297+_0x1b1ade(0x1dd),'['+timestamp()+_0x1b1ade(0x141),_0x1b1ade(0x13e)),await(0x0,messaging_1[_0x1b1ade(0x153)])(_0xef68c9,{'conversationId':_0x19f8df,'sessionWebhook':_0x3b4e42,'atUserId':_0x2beb8e[_0x1b1ade(0x1ad)],'content':'💬\x20会话已结束\x0a📋\x20会话ID:\x20'+_0x3481eb}),_0xef68c9[_0x1b1ade(0x15e)][_0x1b1ade(0x187)](_0x4e608c),saveActiveSession(_0xef68c9,_0x4e608c),fs_1[_0x1b1ade(0x19b)][_0x1b1ade(0x195)](_0x25d297+_0x1b1ade(0x1dd),'['+timestamp()+_0x1b1ade(0x196),_0x1b1ade(0x13e));}async function switchToSession(_0x1b2439,_0x56c136,_0x303009,_0x3143e5,_0x3f5c09,_0x335775){const _0x1b53af=a11_0x114a85,_0x40e903=findHistorySession(_0x1b2439,_0x56c136,_0x3143e5);if(!_0x40e903)return await(0x0,messaging_1[_0x1b53af(0x153)])(_0x1b2439,{'conversationId':_0x56c136,'sessionWebhook':_0x303009,'atUserId':_0x3f5c09,'content':_0x1b53af(0x1eb)+_0x3143e5+_0x1b53af(0x146)}),![];const _0xb326b6=getSessionDir(_0x1b2439,_0x40e903);if(!fs_1[_0x1b53af(0x19b)][_0x1b53af(0x13d)](_0xb326b6))return await(0x0,messaging_1[_0x1b53af(0x153)])(_0x1b2439,{'conversationId':_0x56c136,'sessionWebhook':_0x303009,'atUserId':_0x3f5c09,'content':_0x1b53af(0x132)+_0x3143e5+_0x1b53af(0x12e)}),![];const _0xd4e4fb=findActiveSession(_0x1b2439,_0x56c136);_0xd4e4fb&&(console[_0x1b53af(0x14a)]('切换会话,先结束当前会话:\x20'+getSessionId(_0xd4e4fb[_0x1b53af(0x1b9)][_0x1b53af(0x1b9)])),(0x0,claude_process_1[_0x1b53af(0x140)])(_0xd4e4fb[_0x1b53af(0x1b9)],_0x1b53af(0x1c9)),_0x1b2439[_0x1b53af(0x15e)]['delete'](_0xd4e4fb[_0x1b53af(0x177)]),saveActiveSession(_0x1b2439,_0xd4e4fb['key']),fs_1[_0x1b53af(0x19b)][_0x1b53af(0x195)](getSessionDir(_0x1b2439,_0xd4e4fb[_0x1b53af(0x1b9)][_0x1b53af(0x1b9)])+_0x1b53af(0x1dd),'['+timestamp()+']\x20[SYSTEM]:\x20会话被切换到\x20'+_0x3143e5+_0x1b53af(0x13a),_0x1b53af(0x13e)));_0x1b2439[_0x1b53af(0x15e)]['set'](_0x56c136,{'session':_0x40e903,'lastSenderStaffId':_0x3f5c09,'isProcessing':![],'conversationConfig':_0x335775}),saveActiveSession(_0x1b2439,_0x56c136);const _0x80bf4a=!!_0x40e903[_0x1b53af(0x1b7)],_0x1131a8=getSessionId(_0x40e903);return await(0x0,messaging_1[_0x1b53af(0x153)])(_0x1b2439,{'conversationId':_0x56c136,'sessionWebhook':_0x303009,'atUserId':_0x3f5c09,'content':_0x1b53af(0x182)+_0x1131a8+')\x0a'+(_0x80bf4a?_0x1b53af(0x136):_0x1b53af(0x1b4))+_0x1b53af(0x186)}),console['log'](_0x1b53af(0x1b2)+_0x56c136+_0x1b53af(0x19e)+_0x1131a8+_0x1b53af(0x1ce)+_0x80bf4a),!![];}async function startNewSession(_0x2071c1,_0x241179){const _0x549edd=a11_0x114a85,{conversationId:_0x373c5c,sessionWebhook:_0x437cc2,senderStaffId:_0x1431e0,senderNick:_0x4ae1fb,message:_0x2172f3,conversationConfig:_0x97366a}=_0x241179,_0x156764=_0x2071c1[_0x549edd(0x198)][_0x549edd(0x16f)]??_0x2071c1[_0x549edd(0x163)];if(_0x2071c1[_0x549edd(0x15e)][_0x549edd(0x12d)]>=_0x156764){console[_0x549edd(0x14a)](_0x549edd(0x134)+_0x156764+'),拒绝新会话:\x20群='+_0x373c5c),await(0x0,messaging_1[_0x549edd(0x153)])(_0x2071c1,{'conversationId':_0x373c5c,'sessionWebhook':_0x437cc2,'atUserId':_0x1431e0,'content':_0x549edd(0x1b3)});return;}const _0x59340b=Date['now'](),_0x44bba9={'conversationId':_0x373c5c,'sessionWebhook':_0x437cc2,'startTime':_0x59340b,'startTimeStr':utils_ok_1[_0x549edd(0x1af)]['mm'](_0x59340b)[_0x549edd(0x15b)](_0x549edd(0x17c)),'startStaffId':_0x1431e0,'startNickName':_0x4ae1fb};console['log'](_0x549edd(0x16e)+_0x373c5c+_0x549edd(0x19e)+getSessionId(_0x44bba9)+',\x20发起者='+_0x1431e0+_0x549edd(0x1df)+(_0x2071c1[_0x549edd(0x15e)]['size']+0x1)+'/'+_0x156764);const _0x5d2ec8=getSessionDir(_0x2071c1,_0x44bba9);fs_1[_0x549edd(0x19b)][_0x549edd(0x1ac)](_0x5d2ec8,{'recursive':!![]}),fs_1[_0x549edd(0x19b)][_0x549edd(0x185)](_0x5d2ec8+'/session.json',JSON[_0x549edd(0x178)](_0x44bba9,null,0x2),_0x549edd(0x13e)),_0x2071c1['activeSessions'][_0x549edd(0x150)](_0x373c5c,{'session':_0x44bba9,'lastSenderStaffId':_0x1431e0,'isProcessing':!![],'conversationConfig':_0x97366a}),saveActiveSession(_0x2071c1,_0x373c5c),await(0x0,messaging_1['sendDingMessage'])(_0x2071c1,{'conversationId':_0x373c5c,'sessionWebhook':_0x437cc2,'atUserId':_0x1431e0,'content':_0x549edd(0x1cf)});try{await(0x0,claude_process_1[_0x549edd(0x1e3)])(_0x2071c1,_0x44bba9,_0x2172f3,{'skill':_0x97366a[_0x549edd(0x1e6)]?.[_0x549edd(0x1bc)],'agent':_0x97366a[_0x549edd(0x181)],'senderNick':_0x4ae1fb,'senderStaffId':_0x1431e0});}catch(_0x153bfc){console[_0x549edd(0x1be)](_0x549edd(0x167),_0x153bfc),await(0x0,messaging_1[_0x549edd(0x153)])(_0x2071c1,{'conversationId':_0x373c5c,'sessionWebhook':_0x437cc2,'atUserId':_0x1431e0,'content':_0x549edd(0x1c8)+(_0x153bfc instanceof Error?_0x153bfc['message']:String(_0x153bfc))});}finally{const _0x336896=_0x2071c1[_0x549edd(0x15e)]['get'](_0x373c5c);if(_0x336896)_0x336896['isProcessing']=![];}}async function handleSessionMessage(_0x4e6936,_0x5161d7){const _0x12065a=a11_0x114a85,{conversationId:_0x4bc10f,sessionWebhook:_0xb7f279,senderStaffId:_0x12b42b,senderNick:_0x368535,message:_0xac64be,conversationConfig:_0x2a0b6a}=_0x5161d7;if((0x0,commands_1[_0x12065a(0x139)])(_0xac64be)){await endSession(_0x4e6936,_0x4bc10f,_0xb7f279);return;}const _0x5bb494=findActiveSession(_0x4e6936,_0x4bc10f),_0x46d65a=_0x5bb494?.[_0x12065a(0x1b9)];if(_0x46d65a){const _0x35cf08=getSessionDir(_0x4e6936,_0x46d65a['session']);if(!fs_1[_0x12065a(0x19b)][_0x12065a(0x13d)](_0x35cf08)){const _0x47c5c0=getSessionId(_0x46d65a[_0x12065a(0x1b9)]);console[_0x12065a(0x14a)](_0x12065a(0x183)+_0x4bc10f+',\x20会话ID='+_0x47c5c0),_0x4e6936[_0x12065a(0x15e)][_0x12065a(0x187)](_0x5bb494['key']),saveActiveSession(_0x4e6936,_0x5bb494['key']),await(0x0,messaging_1['sendDingMessage'])(_0x4e6936,{'conversationId':_0x4bc10f,'sessionWebhook':_0xb7f279,'atUserId':_0x12b42b,'content':_0x12065a(0x1aa)+_0x47c5c0+_0x12065a(0x18a)});return;}if(_0x46d65a[_0x12065a(0x193)]){console[_0x12065a(0x14a)](_0x12065a(0x1c2)+_0x4bc10f+_0x12065a(0x143)),await(0x0,messaging_1['sendDingMessage'])(_0x4e6936,{'conversationId':_0x4bc10f,'sessionWebhook':_0xb7f279,'atUserId':_0x12b42b,'content':_0x12065a(0x16a)});return;}const _0x3b5262=_0x46d65a[_0x12065a(0x1b9)][_0x12065a(0x162)]===_0x4bc10f;console[_0x12065a(0x14a)]('追加消息到活跃会话:\x20群='+_0x4bc10f+_0x12065a(0x19e)+getSessionId(_0x46d65a[_0x12065a(0x1b9)])+(_0x3b5262?'':_0x12065a(0x158)+_0x46d65a['session']['conversationId']+')')),_0x46d65a[_0x12065a(0x157)]=_0x12b42b,_0x46d65a[_0x12065a(0x193)]=!![],saveActiveSession(_0x4e6936,_0x5bb494['key']);_0x3b5262&&_0xb7f279!==_0x46d65a[_0x12065a(0x1b9)][_0x12065a(0x1a3)]&&(_0x46d65a[_0x12065a(0x1b9)]['sessionWebhook']=_0xb7f279,updateSessionFile(_0x4e6936,_0x46d65a['session'],{'sessionWebhook':_0xb7f279}));_0x46d65a['session'][_0x12065a(0x199)]=_0xb7f279,_0x46d65a[_0x12065a(0x1b9)][_0x12065a(0x1c3)]=_0x4bc10f,updateSessionFile(_0x4e6936,_0x46d65a[_0x12065a(0x1b9)],{'currentWebhook':_0xb7f279,'currentConversationId':_0x4bc10f}),await(0x0,messaging_1[_0x12065a(0x153)])(_0x4e6936,{'conversationId':_0x4bc10f,'sessionWebhook':_0xb7f279,'atUserId':_0x12b42b,'content':_0x12065a(0x1bd)});try{await(0x0,claude_process_1['executeClaudeQuery'])(_0x4e6936,_0x46d65a[_0x12065a(0x1b9)],_0xac64be,{'skill':_0x2a0b6a[_0x12065a(0x1e6)]?.[_0x12065a(0x1bc)],'agent':_0x2a0b6a[_0x12065a(0x181)],'senderNick':_0x368535,'senderStaffId':_0x12b42b});}catch(_0x33a289){console[_0x12065a(0x1be)]('执行\x20Claude\x20查询失败:',_0x33a289),await(0x0,messaging_1['sendDingMessage'])(_0x4e6936,{'conversationId':_0x4bc10f,'sessionWebhook':_0xb7f279,'atUserId':_0x12b42b,'content':_0x12065a(0x1c8)+(_0x33a289 instanceof Error?_0x33a289[_0x12065a(0x176)]:String(_0x33a289))});}finally{_0x46d65a[_0x12065a(0x193)]=![];}}else await startNewSession(_0x4e6936,{'conversationId':_0x4bc10f,'sessionWebhook':_0xb7f279,'senderStaffId':_0x12b42b,'senderNick':_0x368535,'message':_0xac64be,'conversationConfig':_0x2a0b6a});}function cleanCache(_0x5baf73,_0x5c5bd8,_0x75f3a1=!![]){const _0x3b07d8=a11_0x114a85,_0x1c4105={'sessionsDeleted':0x0,'tasksDeleted':0x0,'imagesDeleted':0x0,'errors':[]},_0x393366=_0x5c5bd8?[_0x5c5bd8]:_0x5baf73[_0x3b07d8(0x198)][_0x3b07d8(0x194)]['map'](_0x1f8512=>_0x1f8512[_0x3b07d8(0x162)]);for(const _0x5a7282 of _0x393366){let _0x5e5899=null;if(_0x75f3a1){const _0x1c990d=findActiveSession(_0x5baf73,_0x5a7282);_0x1c990d&&(_0x5e5899=getSessionId(_0x1c990d[_0x3b07d8(0x1b9)]['session']));}const _0x4504e0=getSessionsDir(_0x5baf73,_0x5a7282);if(fs_1['default'][_0x3b07d8(0x13d)](_0x4504e0))try{const _0x17fb9a=fs_1[_0x3b07d8(0x19b)]['readdirSync'](_0x4504e0,{'withFileTypes':!![]});for(const _0x3027a0 of _0x17fb9a){if(!_0x3027a0[_0x3b07d8(0x1c0)]())continue;if(_0x5e5899&&_0x3027a0['name']===_0x5e5899)continue;const _0x165b0c=path_1[_0x3b07d8(0x19b)]['join'](_0x4504e0,_0x3027a0[_0x3b07d8(0x161)]);try{fs_1['default']['rmSync'](_0x165b0c,{'recursive':!![],'force':!![]}),_0x1c4105[_0x3b07d8(0x180)]++;}catch(_0x36e3f1){_0x1c4105[_0x3b07d8(0x1cb)][_0x3b07d8(0x1c7)](_0x3b07d8(0x1a2)+_0x165b0c);}}}catch(_0x294e74){_0x1c4105['errors']['push'](_0x3b07d8(0x152)+_0x4504e0);}const _0x10a46e=getTasksDir(_0x5baf73,_0x5a7282);if(fs_1[_0x3b07d8(0x19b)][_0x3b07d8(0x13d)](_0x10a46e))try{const _0x577ca9=fs_1[_0x3b07d8(0x19b)]['readdirSync'](_0x10a46e,{'withFileTypes':!![]});for(const _0x19d06c of _0x577ca9){if(!_0x19d06c[_0x3b07d8(0x1c0)]())continue;const _0x440065=path_1[_0x3b07d8(0x19b)][_0x3b07d8(0x18d)](_0x10a46e,_0x19d06c[_0x3b07d8(0x161)]);try{fs_1['default'][_0x3b07d8(0x166)](_0x440065,{'recursive':!![],'force':!![]}),_0x1c4105['tasksDeleted']++;}catch(_0x998018){_0x1c4105[_0x3b07d8(0x1cb)][_0x3b07d8(0x1c7)](_0x3b07d8(0x1ea)+_0x440065);}}}catch(_0x545df9){_0x1c4105[_0x3b07d8(0x1cb)][_0x3b07d8(0x1c7)]('读取tasks目录失败:\x20'+_0x10a46e);}const _0x56c74f=getImagesDir(_0x5baf73,_0x5a7282);if(fs_1[_0x3b07d8(0x19b)]['existsSync'](_0x56c74f))try{const _0x15a9b4=fs_1[_0x3b07d8(0x19b)][_0x3b07d8(0x1e7)](_0x56c74f,{'withFileTypes':!![]});for(const _0x46eede of _0x15a9b4){const _0x261ad6=path_1['default']['join'](_0x56c74f,_0x46eede[_0x3b07d8(0x161)]);try{fs_1[_0x3b07d8(0x19b)][_0x3b07d8(0x1c5)](_0x261ad6),_0x1c4105[_0x3b07d8(0x1e9)]++;}catch(_0x4fe433){_0x1c4105['errors'][_0x3b07d8(0x1c7)](_0x3b07d8(0x168)+_0x261ad6);}}}catch(_0x3cb328){_0x1c4105[_0x3b07d8(0x1cb)]['push'](_0x3b07d8(0x17a)+_0x56c74f);}if(!_0x75f3a1){const _0x5b5de7=getActiveSessionsFile(_0x5baf73,_0x5a7282);if(fs_1['default'][_0x3b07d8(0x13d)](_0x5b5de7))try{fs_1['default'][_0x3b07d8(0x1c5)](_0x5b5de7);}catch(_0x38ca04){_0x1c4105['errors']['push'](_0x3b07d8(0x160)+_0x5b5de7);}_0x5baf73[_0x3b07d8(0x15e)][_0x3b07d8(0x18f)](_0x5a7282)&&_0x5baf73['activeSessions']['delete'](_0x5a7282);}}return _0x1c4105;}
@@ -0,0 +1 @@
1
+ 'use strict';const a12_0x4c4952=a12_0x27de;(function(_0x4a6cb1,_0x5ad422){const _0x2346ca=a12_0x27de,_0x3b2eba=_0x4a6cb1();while(!![]){try{const _0x267861=parseInt(_0x2346ca(0x214))/0x1+-parseInt(_0x2346ca(0x24b))/0x2+parseInt(_0x2346ca(0x228))/0x3+parseInt(_0x2346ca(0x1ef))/0x4+-parseInt(_0x2346ca(0x244))/0x5+-parseInt(_0x2346ca(0x25e))/0x6*(-parseInt(_0x2346ca(0x267))/0x7)+parseInt(_0x2346ca(0x24f))/0x8;if(_0x267861===_0x5ad422)break;else _0x3b2eba['push'](_0x3b2eba['shift']());}catch(_0x49cb8c){_0x3b2eba['push'](_0x3b2eba['shift']());}}}(a12_0x5970,0xb8330));var __importDefault=this&&this['__importDefault']||function(_0x218b08){const _0x24c491=a12_0x27de;return _0x218b08&&_0x218b08[_0x24c491(0x1d1)]?_0x218b08:{'default':_0x218b08};};Object[a12_0x4c4952(0x1d9)](exports,'__esModule',{'value':!![]}),exports[a12_0x4c4952(0x270)]=formatTaskInfo,exports['countTodoTask']=countTodoTask,exports[a12_0x4c4952(0x259)]=getOneTodoTask,exports[a12_0x4c4952(0x262)]=finishTask,exports['cancelTask']=cancelTask,exports[a12_0x4c4952(0x1d3)]=parseTaskCancelCommand,exports['handleTask']=handleTask,exports['runTaskHandlerLoop']=runTaskHandlerLoop,exports['saveTask']=saveTask;function a12_0x27de(_0x4c121e,_0xf74a21){_0x4c121e=_0x4c121e-0x1cb;const _0x59707a=a12_0x5970();let _0x27deaf=_0x59707a[_0x4c121e];return _0x27deaf;}const utils_ok_1=require(a12_0x4c4952(0x269)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a12_0x4c4952(0x25c))),child_process_1=require(a12_0x4c4952(0x246)),common_1=require(a12_0x4c4952(0x23a)),messaging_1=require(a12_0x4c4952(0x22a)),claude_process_1=require(a12_0x4c4952(0x21e)),session_1=require(a12_0x4c4952(0x22b)),api_key_manager_1=require(a12_0x4c4952(0x243)),MAX_RETRY_COUNT=0x3;function formatTaskInfo(_0x2f043e){const _0x2facb2=a12_0x4c4952,_0x5946eb=[],_0x343f10=[],_0xbc2e4f=[],_0x559b63=[];for(const _0x14d5f9 of _0x2f043e['config']['conversations']){const _0x113617=(0x0,session_1[_0x2facb2(0x27d)])(_0x2f043e,_0x14d5f9[_0x2facb2(0x22e)]);if(!fs_1['default'][_0x2facb2(0x257)](_0x113617))continue;const _0x2404c9=utils_ok_1['fileUtil'][_0x2facb2(0x237)](_0x113617);for(const _0x3e11e4 of _0x2404c9){const _0x444796=path_1[_0x2facb2(0x234)][_0x2facb2(0x22d)](_0x3e11e4);try{const _0x3c62c4=utils_ok_1[_0x2facb2(0x26d)][_0x2facb2(0x1fb)](_0x3e11e4);if(!_0x3c62c4)continue;if(_0x444796===_0x2facb2(0x1e7))_0x5946eb['push'](_0x3c62c4);else{if(_0x444796===_0x2facb2(0x203))_0x343f10[_0x2facb2(0x238)](_0x3c62c4);else{if(_0x444796==='task-done.json')_0xbc2e4f['push'](_0x3c62c4);else _0x444796===_0x2facb2(0x219)&&_0x559b63[_0x2facb2(0x238)](_0x3c62c4);}}}catch{}}}_0x5946eb[_0x2facb2(0x1e5)]((_0x2fade2,_0x25aa62)=>_0x2fade2[_0x2facb2(0x20b)]-_0x25aa62[_0x2facb2(0x20b)]),_0x343f10['sort']((_0x364627,_0x271031)=>_0x364627['startTime']-_0x271031[_0x2facb2(0x20b)]),_0xbc2e4f['sort']((_0x325994,_0x4e9056)=>_0x4e9056[_0x2facb2(0x20b)]-_0x325994[_0x2facb2(0x20b)]),_0x559b63[_0x2facb2(0x1e5)]((_0x48b3d4,_0x5eb755)=>_0x5eb755[_0x2facb2(0x20b)]-_0x48b3d4[_0x2facb2(0x20b)]);const _0x294d49=[];if(_0x343f10[_0x2facb2(0x1e0)]>0x0){const _0x58d83a=_0x343f10[_0x2facb2(0x20e)](_0x53f24d=>'#'+_0x53f24d[_0x2facb2(0x20b)]+'\x20'+(_0x53f24d[_0x2facb2(0x1eb)]||_0x53f24d['senderStaffId'])+':\x20'+taskDisplayName(_0x53f24d));_0x294d49[_0x2facb2(0x238)](_0x2facb2(0x20f)+_0x343f10[_0x2facb2(0x1e0)]+')**\x0a'+_0x58d83a[_0x2facb2(0x1f4)]('\x0a'));}else _0x294d49[_0x2facb2(0x238)](_0x2facb2(0x1ee));if(_0x5946eb[_0x2facb2(0x1e0)]>0x0){const _0x11838d=_0x5946eb[_0x2facb2(0x20e)](_0x3116ac=>'#'+_0x3116ac[_0x2facb2(0x20b)]+'\x20'+(_0x3116ac[_0x2facb2(0x1eb)]||_0x3116ac[_0x2facb2(0x245)])+':\x20'+taskDisplayName(_0x3116ac));_0x294d49[_0x2facb2(0x238)](_0x2facb2(0x25a)+_0x5946eb[_0x2facb2(0x1e0)]+_0x2facb2(0x21b)+_0x11838d['join']('\x0a'));}else _0x294d49[_0x2facb2(0x238)]('**📋\x20待办队列**\x0a无');const _0x147700=_0xbc2e4f[_0x2facb2(0x1e2)](0x0,0x5);if(_0x147700[_0x2facb2(0x1e0)]>0x0){const _0x1e57f0=_0x147700[_0x2facb2(0x20e)](_0x1afb07=>'#'+_0x1afb07[_0x2facb2(0x20b)]+'\x20'+(_0x1afb07[_0x2facb2(0x1eb)]||_0x1afb07[_0x2facb2(0x245)])+':\x20'+taskDisplayName(_0x1afb07));_0x294d49[_0x2facb2(0x238)](_0x2facb2(0x272)+_0x147700[_0x2facb2(0x1e0)]+'/'+_0xbc2e4f[_0x2facb2(0x1e0)]+_0x2facb2(0x21b)+_0x1e57f0[_0x2facb2(0x1f4)]('\x0a'));}else _0x294d49[_0x2facb2(0x238)](_0x2facb2(0x1e8));if(_0x559b63[_0x2facb2(0x1e0)]>0x0){const _0x679f2=_0x559b63[_0x2facb2(0x20e)](_0x4a94cc=>'#'+_0x4a94cc[_0x2facb2(0x20b)]+'\x20'+(_0x4a94cc[_0x2facb2(0x1eb)]||_0x4a94cc[_0x2facb2(0x245)])+':\x20'+taskDisplayName(_0x4a94cc)+(_0x4a94cc[_0x2facb2(0x274)]?_0x2facb2(0x217)+_0x4a94cc[_0x2facb2(0x274)]+'次)':''));_0x294d49[_0x2facb2(0x238)](_0x2facb2(0x207)+_0x559b63['length']+_0x2facb2(0x21b)+_0x679f2[_0x2facb2(0x1f4)]('\x0a'));}return _0x294d49[_0x2facb2(0x1f4)]('\x0a\x0a');}function truncatePrompt(_0x359d51,_0x342438=0x50){const _0xdc1cbb=a12_0x4c4952,_0x599d1f=_0x359d51[_0xdc1cbb(0x263)](/\n/g,'\x20')['trim']();return _0x599d1f['length']>_0x342438?_0x599d1f[_0xdc1cbb(0x1e2)](0x0,_0x342438)+'...':_0x599d1f;}function taskDisplayName(_0xec5c01){const _0x448477=a12_0x4c4952;if(_0xec5c01[_0x448477(0x1dc)])return _0xec5c01[_0x448477(0x1dc)];return truncatePrompt(_0xec5c01['prompt']);}async function preprocessTask(_0x55154e,_0x41fb53,_0x59b55f){const _0x3ebd94=a12_0x4c4952,_0x234b08=(0x0,session_1[_0x3ebd94(0x209)])(_0x55154e,_0x41fb53),_0x48b368=_0x3ebd94(0x258),_0x3158b9=['--permission-mode',_0x3ebd94(0x1fa),_0x3ebd94(0x1e4)],_0x5d990c=(0x0,claude_process_1[_0x3ebd94(0x278)])(_0x55154e,_0x234b08);_0x5d990c&&_0x3158b9['push'](_0x3ebd94(0x215),_0x5d990c);const _0x59aeae=['请对以下任务需求进行预处理,生成简短标题和优化后的需求描述。','直接返回JSON,不要markdown代码块或其他内容。','格式:\x20{\x22title\x22:\x22简短标题(15字以内)\x22,\x22promptSimply\x22:\x22优化后的需求描述,保留原始需求的所有关键信息,使描述更清晰、结构化\x22}','',_0x3ebd94(0x20c)+_0x59b55f][_0x3ebd94(0x1f4)]('\x0a');_0x3158b9[_0x3ebd94(0x238)](_0x59aeae);const _0x2872d2=0x7530;return new Promise(_0x24b676=>{const _0x1b5b21=_0x3ebd94;let _0x261f41='';const _0x323276=(0x0,child_process_1['spawn'])(_0x48b368,_0x3158b9,{'cwd':_0x234b08,'stdio':['ignore',_0x1b5b21(0x261),_0x1b5b21(0x261)]}),_0x4cf26c=setTimeout(()=>{const _0x547132=_0x1b5b21;_0x323276[_0x547132(0x232)]('SIGTERM'),setTimeout(()=>{const _0x3a3b59=_0x547132;try{_0x323276[_0x3a3b59(0x232)](_0x3a3b59(0x221));}catch{}},0xbb8);},_0x2872d2);_0x323276[_0x1b5b21(0x276)]['on'](_0x1b5b21(0x275),_0x55220e=>{_0x261f41+=_0x55220e['toString']();}),_0x323276[_0x1b5b21(0x27c)]['on'](_0x1b5b21(0x275),()=>{}),_0x323276['on'](_0x1b5b21(0x23e),_0x12acbd=>{const _0xee68fd=_0x1b5b21;clearTimeout(_0x4cf26c);if(_0x12acbd!==0x0||!_0x261f41[_0xee68fd(0x1ff)]()){console[_0xee68fd(0x236)]('['+(0x0,session_1['timestamp'])()+_0xee68fd(0x21d)+_0x12acbd+_0xee68fd(0x1f8)),_0x24b676(null);return;}try{let _0x43543b=_0x261f41[_0xee68fd(0x1ff)]();const _0x23e343=_0x43543b[_0xee68fd(0x222)](/\{[\s\S]*\}/);if(_0x23e343)_0x43543b=_0x23e343[0x0];const _0x5d2fe4=JSON[_0xee68fd(0x1ea)](_0x43543b);_0x5d2fe4[_0xee68fd(0x1dc)]&&_0x5d2fe4[_0xee68fd(0x227)]?(console[_0xee68fd(0x236)]('['+(0x0,session_1[_0xee68fd(0x266)])()+_0xee68fd(0x248)+_0x5d2fe4['title']+'\x22'),_0x24b676({'title':String(_0x5d2fe4[_0xee68fd(0x1dc)]),'promptSimply':String(_0x5d2fe4['promptSimply'])})):(console[_0xee68fd(0x236)]('['+(0x0,session_1[_0xee68fd(0x266)])()+_0xee68fd(0x212)),_0x24b676(null));}catch(_0x345e66){console['log']('['+(0x0,session_1['timestamp'])()+_0xee68fd(0x226)+_0x345e66),_0x24b676(null);}}),_0x323276['on'](_0x1b5b21(0x256),_0x512d9f=>{const _0x4e9945=_0x1b5b21;clearTimeout(_0x4cf26c),console[_0x4e9945(0x256)]('['+(0x0,session_1[_0x4e9945(0x266)])()+_0x4e9945(0x231),_0x512d9f),_0x24b676(null);});});}function a12_0x5970(){const _0x18b2fc=['trim','):\x20','prompt','toString','task-doing.json','utf-8','apiKeyCfg',']\x20退出码:\x20','**❌\x20失败\x20(',';\x20最后将回复内容保存至:\x20','getConversationDir','type','startTime','原始需求:\x20','\x20个待办任务:\x0a','map','**⏳\x20处理中\x20(','执行失败(退出码:\x20','pickValidApiKey',']\x20任务预处理返回格式不正确,使用原始prompt','/result.md','258206GVQXSZ','--settings',']\x20任务执行超时,重置为待办','\x20(重试','task','task-failed.json','getConversationConfig',')**\x0a',']\x20API\x20Key\x20配额耗尽(429),切换到新\x20Key:\x20',']\x20任务预处理失败(退出码:','./claude-process','unknown','then','SIGKILL','match','isRetryableApiError','\x20用户:\x20',']\x20切换到\x20API\x20Key\x20模式',']\x20任务预处理JSON解析失败,使用原始prompt:\x20','promptSimply','1184028dioLRV','/task-doing.json','./messaging','./session','/task.log','basename','conversationId',']\x20任务重置为待办\x20(重试','任务文件解析失败,跳过:\x20',']\x20任务预处理进程错误:','kill','ensureSettingsWithApiKey','default',']\x20更新任务重试计数失败:','log','dirWalker','push','normal','../common',']\x20已取消任务:\x20#','dateUtil','\x20个任务','close','settingLabel','-failed.json','baseUtil','writeFileSync','./api-key-manager','5398235YyMIgM','senderStaffId','child_process','conversations',']\x20任务预处理完成:\x20title=\x22',']\x20执行命令:\x20','skill','483112mKRFtM',']\x20检测到认证错误(401),标记任务失败','未发现待办任务...','进程执行错误:\x20','3230848kMwcSt','markdown','SIGTERM','includes','抱歉,任务处理异常...','未生成结果文件','已取消\x20','error','existsSync','claude','getOneTodoTask','**📋\x20待办队列\x20(','--agent','path','saveFileStr','198winiJY','--permission-mode',']\x20取消任务失败:\x20','pipe','finishTask','replace','sessionWebhook','s\x20后重试','timestamp','54684XGAcEo','now','utils-ok',',\x20需求:\x20',']\x20任务预处理异常:',']\x20超时(','fileUtil','agent','rotateApiKey','formatTaskInfo','settings.json','**✅\x20最近完成\x20(top\x20','执行超时','retryCount','data','stdout','format','resolveClaudeSettingsPath','TPM限流快速失败次数过多','sendDingMessage','无可用配额(429)','stderr','getTasksDir','),\x20','ignore','catch','splice','任务执行超时(10分钟),终止进程','timedOut','spawn','__esModule',']\x20任务处理中:\x20','parseTaskCancelCommand','rename',']\x20无可用配额,任务重置为待办','debugLog','getForceEnabledSettingsPath','stringify','defineProperty','taskCfg','读取任务文件失败:\x20','title','isAuthenticationError','apiKey','filter','length','write','slice','isQuotaExhaustedError','--print','sort','s\x20后重试\x20(','task.json','**✅\x20最近完成**\x0a无','unlinkSync','parse','senderNickName',']\x20检测到\x20FORCE_ENABLE,强制使用\x20settings-ding.json','\x0a...共取消\x20','**⏳\x20处理中**\x0a无','3044596MGLyEx','config',']\x20任务处理完成','utils','\x20次,切换到新\x20Key:\x20','join','-doing.json','indexOf','getFileStr','),使用原始prompt',']\x20TPM\x20限流快速失败连续','bypassPermissions','getJSON','\x20(已重试','sleep','-done.json'];a12_0x5970=function(){return _0x18b2fc;};return a12_0x5970();}function countTodoTask(_0x24512c){const _0x407093=a12_0x4c4952;let _0x39dada=0x0;for(const _0x27b21c of _0x24512c['config'][_0x407093(0x247)]){const _0x40344f=(0x0,session_1[_0x407093(0x27d)])(_0x24512c,_0x27b21c[_0x407093(0x22e)]);if(fs_1[_0x407093(0x234)][_0x407093(0x257)](_0x40344f)){const _0x2d2132=utils_ok_1[_0x407093(0x26d)][_0x407093(0x237)](_0x40344f),_0x5997ca=_0x2d2132[_0x407093(0x1df)](_0x1a2273=>path_1[_0x407093(0x234)]['basename'](_0x1a2273)===_0x407093(0x1e7));_0x39dada+=_0x5997ca[_0x407093(0x1e0)];}}return _0x39dada;}async function getOneTodoTask(_0x460dfd){const _0x551d5a=a12_0x4c4952;for(const _0x29aac5 of _0x460dfd[_0x551d5a(0x1f0)][_0x551d5a(0x247)]){const _0x277bd9=(0x0,session_1[_0x551d5a(0x27d)])(_0x460dfd,_0x29aac5['conversationId']);if(!fs_1[_0x551d5a(0x234)][_0x551d5a(0x257)](_0x277bd9))continue;const _0x2113e7=utils_ok_1[_0x551d5a(0x26d)][_0x551d5a(0x237)](_0x277bd9),_0x21fc7b=_0x2113e7[_0x551d5a(0x1df)](_0x39332a=>path_1[_0x551d5a(0x234)][_0x551d5a(0x22d)](_0x39332a)===_0x551d5a(0x1e7));if(_0x21fc7b[_0x551d5a(0x1e0)]===0x0)continue;const _0xc1d096=_0x21fc7b[_0x551d5a(0x20e)](_0x4e4296=>{const _0x37416c=_0x551d5a;try{const _0x469386=utils_ok_1[_0x37416c(0x26d)][_0x37416c(0x1fb)](_0x4e4296);return _0x469386?{'file':_0x4e4296,'task':_0x469386}:null;}catch{return console[_0x37416c(0x256)](_0x37416c(0x230)+_0x4e4296),null;}})[_0x551d5a(0x1df)](_0x3b302f=>_0x3b302f!==null)[_0x551d5a(0x1e5)]((_0x4bc369,_0x4fc09b)=>_0x4bc369[_0x551d5a(0x218)]['startTime']-_0x4fc09b['task'][_0x551d5a(0x20b)]);if(_0xc1d096['length']>0x0){const {file:_0x220cd8,task:_0xec5737}=_0xc1d096[0x0];return common_1[_0x551d5a(0x1f2)]['addSuffixToFile'](_0x220cd8,'-doing'),_0xec5737;}}return undefined;}async function finishTask(_0x119ed2,_0x404d6b){const _0xeb477d=a12_0x4c4952,_0x31ea8c=_0x404d6b+_0xeb477d(0x229);let _0x12cad5;try{_0x12cad5=utils_ok_1['fileUtil'][_0xeb477d(0x1fb)](_0x31ea8c);}catch(_0xa7472e){console['error'](_0xeb477d(0x1db)+_0x31ea8c,_0xa7472e);return;}const _0x407b77=_0x404d6b+_0xeb477d(0x213),_0x101457=fs_1[_0xeb477d(0x234)][_0xeb477d(0x257)](_0x407b77)?utils_ok_1[_0xeb477d(0x26d)][_0xeb477d(0x1f7)](_0x407b77):_0xeb477d(0x253);await(0x0,messaging_1[_0xeb477d(0x27a)])(_0x119ed2,{'conversationId':_0x12cad5['conversationId'],'sessionWebhook':_0x12cad5[_0xeb477d(0x264)],'atUserId':_0x12cad5['senderStaffId'],'content':_0x101457,'msgType':_0xeb477d(0x250)});const _0x5b0d0f=_0x31ea8c['replace']('-doing.json',_0xeb477d(0x1fe));utils_ok_1[_0xeb477d(0x26d)][_0xeb477d(0x1d4)](_0x31ea8c,_0x5b0d0f);}async function failTask(_0x13fd0d,_0x2e3a4e,_0x3151da){const _0x2d84e5=a12_0x4c4952,_0x2e1343=_0x2e3a4e+_0x2d84e5(0x229);let _0x5e7065;try{_0x5e7065=utils_ok_1[_0x2d84e5(0x26d)][_0x2d84e5(0x1fb)](_0x2e1343);}catch(_0x5bff9a){console['error'](_0x2d84e5(0x1db)+_0x2e1343,_0x5bff9a);return;}await(0x0,messaging_1['sendDingMessage'])(_0x13fd0d,{'conversationId':_0x5e7065[_0x2d84e5(0x22e)],'sessionWebhook':_0x5e7065[_0x2d84e5(0x264)],'atUserId':_0x5e7065[_0x2d84e5(0x245)],'content':'❌\x20任务失败:\x20'+taskDisplayName(_0x5e7065)+'\x0a原因:\x20'+_0x3151da,'msgType':_0x2d84e5(0x250)});const _0x2c02c4=_0x2e1343['replace'](_0x2d84e5(0x1f5),_0x2d84e5(0x240));utils_ok_1[_0x2d84e5(0x26d)][_0x2d84e5(0x1d4)](_0x2e1343,_0x2c02c4);}async function resetTaskToTodo(_0x3828f9,_0x182b2d,_0x4b431d){const _0x2f047f=a12_0x4c4952,_0x4327f3=_0x182b2d+_0x2f047f(0x229),_0x152370=_0x182b2d+'/task.json';if(!fs_1['default'][_0x2f047f(0x257)](_0x4327f3))return![];try{const _0x113b81=utils_ok_1[_0x2f047f(0x26d)][_0x2f047f(0x1fb)](_0x4327f3),_0x3c21e9=(_0x113b81['retryCount']||0x0)+0x1;if(_0x3c21e9>=MAX_RETRY_COUNT)return console[_0x2f047f(0x236)]('['+(0x0,session_1[_0x2f047f(0x266)])()+']\x20任务重试次数已达上限('+_0x3c21e9+'/'+MAX_RETRY_COUNT+'),标记为失败:\x20'+(_0x113b81[_0x2f047f(0x1dc)]||_0x113b81[_0x2f047f(0x201)])),_0x113b81[_0x2f047f(0x274)]=_0x3c21e9,fs_1[_0x2f047f(0x234)][_0x2f047f(0x242)](_0x4327f3,JSON[_0x2f047f(0x1d8)](_0x113b81,null,0x2),_0x2f047f(0x204)),await failTask(_0x3828f9,_0x182b2d,_0x4b431d+_0x2f047f(0x1fc)+_0x3c21e9+'次)'),![];_0x113b81[_0x2f047f(0x274)]=_0x3c21e9,fs_1[_0x2f047f(0x234)]['writeFileSync'](_0x4327f3,JSON['stringify'](_0x113b81,null,0x2),_0x2f047f(0x204)),console[_0x2f047f(0x236)]('['+(0x0,session_1['timestamp'])()+_0x2f047f(0x22f)+_0x3c21e9+'/'+MAX_RETRY_COUNT+_0x2f047f(0x200)+(_0x113b81['title']||_0x113b81['prompt']));}catch(_0x2bd668){console['error']('['+(0x0,session_1[_0x2f047f(0x266)])()+_0x2f047f(0x235),_0x2bd668);}return fs_1['default'][_0x2f047f(0x257)](_0x4327f3)&&utils_ok_1['fileUtil'][_0x2f047f(0x1d4)](_0x4327f3,_0x152370),!![];}function cancelTask(_0x551731,_0x2e068e,_0x2cb845){const _0x2ba1dc=a12_0x4c4952,_0x33e8fa=[],_0x40e377=_0x2e068e[_0x2ba1dc(0x1ff)](),_0x35d263=_0x2cb845?_0x551731[_0x2ba1dc(0x1f0)][_0x2ba1dc(0x247)][_0x2ba1dc(0x1df)](_0xe7f706=>_0xe7f706[_0x2ba1dc(0x22e)]===_0x2cb845):_0x551731[_0x2ba1dc(0x1f0)][_0x2ba1dc(0x247)];for(const _0x526139 of _0x35d263){const _0x5e3823=(0x0,session_1[_0x2ba1dc(0x27d)])(_0x551731,_0x526139[_0x2ba1dc(0x22e)]);if(!fs_1[_0x2ba1dc(0x234)][_0x2ba1dc(0x257)](_0x5e3823))continue;const _0x532697=utils_ok_1[_0x2ba1dc(0x26d)][_0x2ba1dc(0x237)](_0x5e3823),_0x4b96da=_0x532697[_0x2ba1dc(0x1df)](_0x1bcb53=>path_1[_0x2ba1dc(0x234)][_0x2ba1dc(0x22d)](_0x1bcb53)===_0x2ba1dc(0x1e7));for(const _0x2cac87 of _0x4b96da){try{const _0x2d7b77=utils_ok_1[_0x2ba1dc(0x26d)]['getJSON'](_0x2cac87);if(!_0x2d7b77)continue;if(String(_0x2d7b77[_0x2ba1dc(0x20b)])===_0x40e377){_0x33e8fa['push']({'file':_0x2cac87,'task':_0x2d7b77});continue;}if(_0x2d7b77[_0x2ba1dc(0x1dc)]&&_0x2d7b77[_0x2ba1dc(0x1dc)][_0x2ba1dc(0x252)](_0x40e377)){_0x33e8fa[_0x2ba1dc(0x238)]({'file':_0x2cac87,'task':_0x2d7b77});continue;}}catch{}}}if(_0x33e8fa[_0x2ba1dc(0x1e0)]===0x0)return'未找到匹配的待办任务:\x20'+_0x40e377;let _0x123f4c=0x0;for(const {file:_0x595393,task:_0x25d2bd}of _0x33e8fa){try{fs_1[_0x2ba1dc(0x234)][_0x2ba1dc(0x1e9)](_0x595393),_0x123f4c++,console[_0x2ba1dc(0x236)]('['+(0x0,session_1[_0x2ba1dc(0x266)])()+_0x2ba1dc(0x23b)+_0x25d2bd['startTime']+'\x20'+(_0x25d2bd[_0x2ba1dc(0x1dc)]||_0x25d2bd[_0x2ba1dc(0x201)]));}catch(_0x10f345){console[_0x2ba1dc(0x256)]('['+(0x0,session_1[_0x2ba1dc(0x266)])()+_0x2ba1dc(0x260)+_0x595393,_0x10f345);}}const _0x4d5c25=_0x33e8fa[_0x2ba1dc(0x1e2)](0x0,0x5)[_0x2ba1dc(0x20e)](_0x19a9d9=>'#'+_0x19a9d9[_0x2ba1dc(0x218)][_0x2ba1dc(0x20b)]+'\x20'+taskDisplayName(_0x19a9d9['task']))['join']('\x0a'),_0x1a3a22=_0x123f4c>0x5?_0x2ba1dc(0x1ed)+_0x123f4c+_0x2ba1dc(0x23d):'';return _0x2ba1dc(0x255)+_0x123f4c+_0x2ba1dc(0x20d)+_0x4d5c25+_0x1a3a22;}function parseTaskCancelCommand(_0x48afce){const _0x3d93e6=a12_0x4c4952,_0x1c7d68=_0x48afce[_0x3d93e6(0x1ff)](),_0x11c11f=_0x1c7d68[_0x3d93e6(0x222)](/^\/task\s+cancel\s+(.+)$/i);return _0x11c11f?_0x11c11f[0x1][_0x3d93e6(0x1ff)]():null;}function updateCmdArgsSettings(_0x5d54b7,_0x46fc22){const _0x467675=a12_0x4c4952,_0x5dc5f3=_0x5d54b7[_0x467675(0x1f6)]('--settings');_0x5dc5f3!==-0x1&&_0x5d54b7[_0x467675(0x1cd)](_0x5dc5f3,0x2),_0x46fc22&&_0x5d54b7[_0x467675(0x238)](_0x467675(0x215),_0x46fc22);}async function handleTask(_0x483e55){const _0x5f361d=a12_0x4c4952,_0x18f95d=await getOneTodoTask(_0x483e55);if(!_0x18f95d){(0x0,session_1[_0x5f361d(0x1d6)])(_0x483e55,_0x5f361d(0x24d));return;}const _0x2372ed=(0x0,session_1[_0x5f361d(0x21a)])(_0x483e55,_0x18f95d['conversationId']),_0x5e6931=(0x0,session_1['getConversationDir'])(_0x483e55,_0x18f95d[_0x5f361d(0x22e)]),_0x5a88d8=(0x0,session_1[_0x5f361d(0x27d)])(_0x483e55,_0x18f95d[_0x5f361d(0x22e)])+'/'+_0x18f95d['startTimeStr'];if(!fs_1[_0x5f361d(0x234)][_0x5f361d(0x257)](_0x5a88d8)){console[_0x5f361d(0x256)]('任务目录不存在:\x20'+_0x5a88d8);return;}_0x18f95d[_0x5f361d(0x20a)]!=='cron'&&await(0x0,messaging_1[_0x5f361d(0x27a)])(_0x483e55,{'conversationId':_0x18f95d['conversationId'],'sessionWebhook':_0x18f95d[_0x5f361d(0x264)],'atUserId':_0x18f95d[_0x5f361d(0x245)],'content':'🔄\x20开始处理任务:\x20'+taskDisplayName(_0x18f95d)});const _0x55a346=_0x5a88d8+_0x5f361d(0x213),_0x19971a=_0x5a88d8+_0x5f361d(0x22c);console[_0x5f361d(0x236)]('['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x1d2)+(_0x18f95d[_0x5f361d(0x1dc)]||_0x18f95d[_0x5f361d(0x201)]));const _0x3cbd78=_0x18f95d[_0x5f361d(0x1eb)]&&_0x18f95d['senderStaffId']?_0x18f95d[_0x5f361d(0x1eb)]+'('+_0x18f95d[_0x5f361d(0x245)]+_0x5f361d(0x27e):_0x5f361d(0x21f),_0x4ee1c7=_0x483e55['config'][_0x5f361d(0x205)],_0x5c424e=(0x0,api_key_manager_1[_0x5f361d(0x1d7)])(_0x5e6931);let _0x471aaa=![],_0x3ca7b0=null;if(_0x5c424e)console['log']('['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x1ec));else{if(_0x4ee1c7){_0x3ca7b0=(0x0,api_key_manager_1[_0x5f361d(0x211)])(_0x483e55);if(!_0x3ca7b0){console[_0x5f361d(0x236)]('['+(0x0,session_1['timestamp'])()+']\x20无可用配额,任务重置为待办'),await resetTaskToTodo(_0x483e55,_0x5a88d8,'无可用配额');return;}_0x471aaa=!![],console['log']('['+(0x0,session_1[_0x5f361d(0x266)])()+']\x20切换到\x20API\x20Key\x20模式');}}const _0x314077=_0x2372ed?.[_0x5f361d(0x1da)]?.[_0x5f361d(0x24a)],_0x35365e=_0x2372ed?.[_0x5f361d(0x26e)],_0x437de4=_0x18f95d['promptSimply']||_0x18f95d[_0x5f361d(0x201)],_0x13cc2b=((_0x314077?'/'+_0x314077:'')+_0x5f361d(0x224)+_0x3cbd78+_0x5f361d(0x26a)+_0x437de4+_0x5f361d(0x208)+_0x55a346)[_0x5f361d(0x1ff)](),_0x4f2557=[_0x5f361d(0x25f),_0x5f361d(0x1fa),_0x5f361d(0x1e4),_0x13cc2b];if(_0x5c424e)_0x4f2557[_0x5f361d(0x238)](_0x5f361d(0x215),_0x5c424e);else{if(_0x471aaa&&_0x3ca7b0){const _0x14aa02=(0x0,api_key_manager_1[_0x5f361d(0x233)])(_0x5e6931,_0x3ca7b0);_0x4f2557[_0x5f361d(0x238)](_0x5f361d(0x215),_0x14aa02);}else{if(!_0x4ee1c7){const _0x39fc4e=path_1['default'][_0x5f361d(0x1f4)](_0x5e6931,'.claude',_0x5f361d(0x271));fs_1[_0x5f361d(0x234)][_0x5f361d(0x257)](_0x39fc4e)&&(_0x4f2557[_0x5f361d(0x238)]('--settings',_0x39fc4e),console[_0x5f361d(0x236)]('['+(0x0,session_1[_0x5f361d(0x266)])()+']\x20自动检测到\x20settings.json:\x20'+_0x39fc4e));}}}_0x35365e&&_0x4f2557[_0x5f361d(0x238)](_0x5f361d(0x25b),_0x35365e);(0x0,session_1['debugLog'])(_0x483e55,'执行命令:\x20claude\x20'+_0x4f2557[_0x5f361d(0x1f4)]('\x20'));const _0x2d5ea3=0xa*0x3c*0x3e8,_0x27f8ac=0x14,_0x50c3ef=0x2710,_0x2f1aba=0x2710,_0x1fdee5=_0x5f361d(0x258),_0x3e520a=_0xb0d667=>{const _0x2a5966=_0x5f361d,_0x4e901d=Date[_0x2a5966(0x268)]();return new Promise(_0x3f37f7=>{const _0x16710a=_0x2a5966,_0x19cef8=[];let _0x591f32=![],_0x7c17ca=![];const _0x205cf7=(0x0,child_process_1[_0x16710a(0x1d0)])(_0x1fdee5,_0xb0d667,{'cwd':_0x5e6931,'stdio':[_0x16710a(0x1cb),_0x16710a(0x261),_0x16710a(0x261)]}),_0x54892c=setTimeout(()=>{const _0x314a65=_0x16710a;!_0x591f32&&(_0x7c17ca=!![],console[_0x314a65(0x256)](_0x314a65(0x1ce)),_0x205cf7[_0x314a65(0x232)](_0x314a65(0x251)),setTimeout(()=>{const _0x324184=_0x314a65;if(!_0x591f32)_0x205cf7[_0x324184(0x232)](_0x324184(0x221));},0x1388));},_0x2d5ea3);_0x205cf7[_0x16710a(0x276)]['on'](_0x16710a(0x275),_0x5e1c53=>{const _0x79d3cc=_0x16710a,_0x301e0e=_0x5e1c53[_0x79d3cc(0x202)]();process[_0x79d3cc(0x276)]['write'](_0x301e0e),_0x19cef8[_0x79d3cc(0x238)](_0x301e0e);}),_0x205cf7[_0x16710a(0x27c)]['on'](_0x16710a(0x275),_0x2d6a67=>{const _0x48b35d=_0x16710a,_0x3a4df1=_0x2d6a67[_0x48b35d(0x202)]();process[_0x48b35d(0x27c)][_0x48b35d(0x1e1)](_0x3a4df1),_0x19cef8[_0x48b35d(0x238)](_0x3a4df1);}),_0x205cf7['on'](_0x16710a(0x23e),_0x7a4a7b=>{const _0x1bd63a=_0x16710a;_0x591f32=!![],clearTimeout(_0x54892c),_0x3f37f7({'exitCode':_0x7a4a7b??0x1,'output':_0x19cef8[_0x1bd63a(0x1f4)](''),'elapsed':Date[_0x1bd63a(0x268)]()-_0x4e901d,'timedOut':_0x7c17ca});}),_0x205cf7['on']('error',_0x56b2c0=>{const _0x39222e=_0x16710a;console[_0x39222e(0x256)]('进程执行错误:',_0x56b2c0),_0x19cef8[_0x39222e(0x238)](_0x39222e(0x24e)+_0x56b2c0['message']);});});};let _0x147838,_0x24ca95,_0x4bf84f=![],_0x401db4=0x0;while(!![]){const _0x5de344=await _0x3e520a(_0x4f2557);_0x147838=_0x5de344['exitCode'],_0x24ca95=_0x5de344['output'],_0x4bf84f=_0x5de344[_0x5f361d(0x1cf)];if(_0x147838!==0x0){if(_0x4bf84f){console[_0x5f361d(0x236)]('['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x216));const _0x5d0803=['['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x249)+_0x1fdee5+'\x20'+_0x4f2557[_0x5f361d(0x1f4)]('\x20'),'['+(0x0,session_1['timestamp'])()+_0x5f361d(0x26c)+_0x2d5ea3/0x3e8+'s)',_0x24ca95]['join']('\x0a');fs_1[_0x5f361d(0x234)][_0x5f361d(0x242)](_0x19971a,_0x5d0803),await resetTaskToTodo(_0x483e55,_0x5a88d8,_0x5f361d(0x273));return;}if((0x0,api_key_manager_1[_0x5f361d(0x1e3)])(_0x24ca95)&&_0x4ee1c7){if(!_0x471aaa){_0x3ca7b0=(0x0,api_key_manager_1[_0x5f361d(0x211)])(_0x483e55);if(_0x3ca7b0){_0x471aaa=!![],_0x401db4=0x0;const _0x20ce28=(0x0,api_key_manager_1[_0x5f361d(0x233)])(_0x5e6931,_0x3ca7b0);updateCmdArgsSettings(_0x4f2557,_0x20ce28),console['log']('['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x225));continue;}}else{if(_0x3ca7b0){const _0x408945=(0x0,api_key_manager_1[_0x5f361d(0x26f)])(_0x483e55,_0x3ca7b0[_0x5f361d(0x1de)]);if(_0x408945){_0x3ca7b0=_0x408945,_0x401db4=0x0;const _0x15baeb=(0x0,api_key_manager_1[_0x5f361d(0x233)])(_0x5e6931,_0x3ca7b0);updateCmdArgsSettings(_0x4f2557,_0x15baeb),console[_0x5f361d(0x236)]('['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x21c)+(0x0,api_key_manager_1[_0x5f361d(0x23f)])(_0x408945));continue;}}}console[_0x5f361d(0x236)]('['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x1d5));const _0x5d5573=['['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x249)+_0x1fdee5+'\x20'+_0x4f2557[_0x5f361d(0x1f4)]('\x20'),'['+(0x0,session_1[_0x5f361d(0x266)])()+']\x20退出码:\x20'+_0x147838,_0x24ca95][_0x5f361d(0x1f4)]('\x0a');fs_1['default'][_0x5f361d(0x242)](_0x19971a,_0x5d5573),await resetTaskToTodo(_0x483e55,_0x5a88d8,_0x5f361d(0x27b));return;}if((0x0,api_key_manager_1[_0x5f361d(0x1dd)])(_0x24ca95)){console[_0x5f361d(0x236)]('['+(0x0,session_1['timestamp'])()+_0x5f361d(0x24c));const _0x165fd8=['['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x249)+_0x1fdee5+'\x20'+_0x4f2557[_0x5f361d(0x1f4)]('\x20'),'['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x206)+_0x147838,_0x24ca95][_0x5f361d(0x1f4)]('\x0a');fs_1['default'][_0x5f361d(0x242)](_0x19971a,_0x165fd8),await failTask(_0x483e55,_0x5a88d8,'认证失败(401),API\x20Key\x20无效或服务未授权');return;}if((0x0,claude_process_1[_0x5f361d(0x223)])(_0x24ca95)){if(_0x5de344['elapsed']<_0x2f1aba&&_0x471aaa&&_0x3ca7b0&&_0x4ee1c7){_0x401db4++;if(_0x401db4>=_0x27f8ac){const _0x2b7f4f=(0x0,api_key_manager_1[_0x5f361d(0x26f)])(_0x483e55,_0x3ca7b0[_0x5f361d(0x1de)]);if(_0x2b7f4f){_0x3ca7b0=_0x2b7f4f,_0x401db4=0x0;const _0xf02eea=(0x0,api_key_manager_1[_0x5f361d(0x233)])(_0x5e6931,_0x3ca7b0);updateCmdArgsSettings(_0x4f2557,_0xf02eea),console[_0x5f361d(0x236)]('['+(0x0,session_1[_0x5f361d(0x266)])()+']\x20TPM\x20限流连续快速失败\x20'+_0x27f8ac+_0x5f361d(0x1f3)+(0x0,api_key_manager_1[_0x5f361d(0x23f)])(_0x2b7f4f)),await utils_ok_1[_0x5f361d(0x241)][_0x5f361d(0x1fd)](_0x50c3ef);continue;}}}else{if(_0x5de344['elapsed']<_0x2f1aba){_0x401db4++;if(_0x401db4>=_0x27f8ac){console[_0x5f361d(0x236)]('['+(0x0,session_1['timestamp'])()+_0x5f361d(0x1f9)+_0x27f8ac+'次,重置任务为待办');const _0xd95620=['['+(0x0,session_1[_0x5f361d(0x266)])()+']\x20执行命令:\x20'+_0x1fdee5+'\x20'+_0x4f2557['join']('\x20'),'['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x206)+_0x147838,_0x24ca95]['join']('\x0a');fs_1[_0x5f361d(0x234)][_0x5f361d(0x242)](_0x19971a,_0xd95620),await resetTaskToTodo(_0x483e55,_0x5a88d8,_0x5f361d(0x279));return;}console[_0x5f361d(0x236)]('['+(0x0,session_1[_0x5f361d(0x266)])()+']\x20检测到\x20TPM\x20限流(快速失败),'+_0x50c3ef/0x3e8+_0x5f361d(0x1e6)+_0x401db4+'/'+_0x27f8ac+')');}else _0x401db4=0x0,console[_0x5f361d(0x236)]('['+(0x0,session_1[_0x5f361d(0x266)])()+']\x20检测到\x20TPM\x20限流(进程已运行一段时间),重置快速失败计数,'+_0x50c3ef/0x3e8+_0x5f361d(0x265));}await utils_ok_1[_0x5f361d(0x241)][_0x5f361d(0x1fd)](_0x50c3ef);continue;}}break;}const _0x47100e=['['+(0x0,session_1['timestamp'])()+']\x20执行命令:\x20'+_0x1fdee5+'\x20'+_0x4f2557[_0x5f361d(0x1f4)]('\x20'),'['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x206)+_0x147838,_0x24ca95][_0x5f361d(0x1f4)]('\x0a');fs_1[_0x5f361d(0x234)][_0x5f361d(0x242)](_0x19971a,_0x47100e);if(_0x147838!==0x0){console['error']('命令执行失败,\x20退出码:\x20'+_0x147838),await failTask(_0x483e55,_0x5a88d8,_0x5f361d(0x210)+_0x147838+')');return;}if(fs_1[_0x5f361d(0x234)]['existsSync'](_0x55a346))console[_0x5f361d(0x236)]('['+(0x0,session_1[_0x5f361d(0x266)])()+_0x5f361d(0x1f1));else{console['error']('任务未按预期处理'),await failTask(_0x483e55,_0x5a88d8,_0x5f361d(0x254));return;}await finishTask(_0x483e55,_0x5a88d8);}async function runTaskHandlerLoop(_0x3ad1af){const _0x238dd3=a12_0x4c4952;while(!![]){await handleTask(_0x3ad1af)[_0x238dd3(0x1cc)](_0x3295d5=>console[_0x238dd3(0x256)](_0x3295d5)),await utils_ok_1[_0x238dd3(0x241)][_0x238dd3(0x1fd)](0x2710);}}async function saveTask(_0x5e3410,_0x3c5849){const _0x579fa7=a12_0x4c4952,{conversationId:_0x7b60d6,prompt:_0x5740bd,senderStaffId:_0x38322d,senderNickName:_0x15f491,sessionWebhook:_0x511f61,type:type=_0x579fa7(0x239)}=_0x3c5849,_0x5a43ad=Date[_0x579fa7(0x268)](),_0xeb8e2f=utils_ok_1[_0x579fa7(0x23c)]['mm'](_0x5a43ad)[_0x579fa7(0x277)]('YYYY-MM-DD-HH-mm-ss'),_0x3cb164=(0x0,session_1[_0x579fa7(0x27d)])(_0x5e3410,_0x7b60d6)+'/'+_0xeb8e2f,_0x532730=_0x3cb164+'/task.json',_0x10faa2={'conversationId':_0x7b60d6,'startTime':_0x5a43ad,'startTimeStr':_0xeb8e2f,'prompt':_0x5740bd,'senderStaffId':_0x38322d,'senderNickName':_0x15f491||'','sessionWebhook':_0x511f61,'type':type};await utils_ok_1[_0x579fa7(0x26d)][_0x579fa7(0x25d)](JSON[_0x579fa7(0x1d8)](_0x10faa2,null,0x2),_0x532730),(0x0,session_1[_0x579fa7(0x1d6)])(_0x5e3410,'任务已保存:\x20'+_0x532730),preprocessTask(_0x5e3410,_0x7b60d6,_0x5740bd)[_0x579fa7(0x220)](_0x1eca38=>{const _0x26af60=_0x579fa7;if(!_0x1eca38)return;try{const _0x593f9e=_0x3cb164+_0x26af60(0x229),_0x2ddb5d=fs_1[_0x26af60(0x234)]['existsSync'](_0x593f9e)?_0x593f9e:fs_1['default'][_0x26af60(0x257)](_0x532730)?_0x532730:null;if(!_0x2ddb5d){console['log']('['+(0x0,session_1[_0x26af60(0x266)])()+']\x20预处理完成但任务文件已不存在:\x20'+_0x3cb164);return;}const _0x22e6a7=utils_ok_1['fileUtil']['getJSON'](_0x2ddb5d);_0x22e6a7['title']=_0x1eca38['title'],_0x22e6a7[_0x26af60(0x227)]=_0x1eca38['promptSimply'],fs_1[_0x26af60(0x234)]['writeFileSync'](_0x2ddb5d,JSON[_0x26af60(0x1d8)](_0x22e6a7,null,0x2),_0x26af60(0x204)),console[_0x26af60(0x236)]('['+(0x0,session_1[_0x26af60(0x266)])()+']\x20任务预处理结果已更新:\x20'+_0x1eca38['title']);}catch(_0x35a624){console[_0x26af60(0x256)]('['+(0x0,session_1['timestamp'])()+']\x20更新任务预处理结果失败:',_0x35a624);}})['catch'](_0x216cd5=>{const _0x52f890=_0x579fa7;console[_0x52f890(0x256)]('['+(0x0,session_1[_0x52f890(0x266)])()+_0x52f890(0x26b),_0x216cd5);});}
@@ -0,0 +1 @@
1
+ 'use strict';function a13_0x36f1(_0xced972,_0x13316a){_0xced972=_0xced972-0x131;var _0x4435d2=a13_0x4435();var _0x36f14d=_0x4435d2[_0xced972];return _0x36f14d;}var a13_0xc77a42=a13_0x36f1;(function(_0x2bfaf5,_0x43f34e){var _0xba1651=a13_0x36f1,_0x6f31de=_0x2bfaf5();while(!![]){try{var _0x30ca95=parseInt(_0xba1651(0x136))/0x1*(parseInt(_0xba1651(0x131))/0x2)+parseInt(_0xba1651(0x13b))/0x3*(-parseInt(_0xba1651(0x139))/0x4)+parseInt(_0xba1651(0x135))/0x5*(-parseInt(_0xba1651(0x13c))/0x6)+-parseInt(_0xba1651(0x137))/0x7+parseInt(_0xba1651(0x138))/0x8+parseInt(_0xba1651(0x134))/0x9+parseInt(_0xba1651(0x13a))/0xa;if(_0x30ca95===_0x43f34e)break;else _0x6f31de['push'](_0x6f31de['shift']());}catch(_0x382af6){_0x6f31de['push'](_0x6f31de['shift']());}}}(a13_0x4435,0xd69ff));function a13_0x4435(){var _0xd93c7d=['6817257OwGkqz','78345IErVCU','1546861HUoYdg','1874999YPJpqA','2445152CxFOjM','92116mxGlzd','11297480GnIHek','201gqcqIs','402Jpjohz','2WZLDLn','__esModule','defineProperty'];a13_0x4435=function(){return _0xd93c7d;};return a13_0x4435();}Object[a13_0xc77a42(0x133)](exports,a13_0xc77a42(0x132),{'value':!![]});
@@ -0,0 +1 @@
1
+ 'use strict';const a14_0x38ebd3=a14_0x5bc1;function a14_0x54c1(){const _0x5ce697=['dirname','renameSync','21499819zYdDsO','2847341ItOgRm','1340360rUnKVl','26652bjquqM','242952hFdcCa','480427JLUmhi','projUtil','845bocoLb','resolve','utils-ok','loadEnv','default','/.cc-ding/.env','cookie缓存文件不存在:\x20','utils','671019TgBqcr','9broJDZ','extname','2JgVycr','10ipmezM','dotenv','__esModule','../','getJSON','cookies','existsSync','helper','config','defineProperty','join','assert','basename'];a14_0x54c1=function(){return _0x5ce697;};return a14_0x54c1();}function a14_0x5bc1(_0x19fb36,_0xfd39d6){_0x19fb36=_0x19fb36-0x1d1;const _0x54c1cc=a14_0x54c1();let _0x5bc152=_0x54c1cc[_0x19fb36];return _0x5bc152;}(function(_0x1d10b7,_0x7282a1){const _0x31a361=a14_0x5bc1,_0x2774f6=_0x1d10b7();while(!![]){try{const _0x5cfb37=-parseInt(_0x31a361(0x1df))/0x1*(parseInt(_0x31a361(0x1ec))/0x2)+-parseInt(_0x31a361(0x1e9))/0x3+parseInt(_0x31a361(0x1dc))/0x4+parseInt(_0x31a361(0x1e1))/0x5*(-parseInt(_0x31a361(0x1dd))/0x6)+-parseInt(_0x31a361(0x1db))/0x7+-parseInt(_0x31a361(0x1de))/0x8*(parseInt(_0x31a361(0x1ea))/0x9)+parseInt(_0x31a361(0x1ed))/0xa*(parseInt(_0x31a361(0x1da))/0xb);if(_0x5cfb37===_0x7282a1)break;else _0x2774f6['push'](_0x2774f6['shift']());}catch(_0x4334ef){_0x2774f6['push'](_0x2774f6['shift']());}}}(a14_0x54c1,0x61179));var __importDefault=this&&this['__importDefault']||function(_0x375bfa){return _0x375bfa&&_0x375bfa['__esModule']?_0x375bfa:{'default':_0x375bfa};};Object[a14_0x38ebd3(0x1d4)](exports,a14_0x38ebd3(0x1ef),{'value':!![]}),exports['utils']=exports[a14_0x38ebd3(0x1d2)]=exports[a14_0x38ebd3(0x1e0)]=void 0x0,exports[a14_0x38ebd3(0x1e4)]=loadEnv;const utils_ok_1=require(a14_0x38ebd3(0x1e3)),path_1=__importDefault(require('path')),assert_1=__importDefault(require(a14_0x38ebd3(0x1d6))),fs_1=__importDefault(require('fs'));function loadEnv(){const _0x46e0c4=a14_0x38ebd3;fs_1[_0x46e0c4(0x1e5)][_0x46e0c4(0x1d1)](process.env.HOME+_0x46e0c4(0x1e6))&&require(_0x46e0c4(0x1ee))[_0x46e0c4(0x1d3)]({'path':process.env.HOME+_0x46e0c4(0x1e6)}),require(_0x46e0c4(0x1ee))[_0x46e0c4(0x1d3)]();}exports[a14_0x38ebd3(0x1e0)]=((()=>{let _0x392f79;return()=>{const _0x18090a=a14_0x5bc1;return!_0x392f79&&(_0x392f79=new utils_ok_1['ProjUtil'](path_1[_0x18090a(0x1e5)][_0x18090a(0x1e2)](__dirname,_0x18090a(0x1f0)))),_0x392f79;};})()),exports[a14_0x38ebd3(0x1d2)]={'getCookiesByFile'(_0x120b42){const _0x233593=a14_0x38ebd3;(0x0,assert_1['default'])(fs_1[_0x233593(0x1e5)][_0x233593(0x1d1)](_0x120b42),_0x233593(0x1e7)+_0x120b42);const _0x5bcb05=utils_ok_1['fileUtil'][_0x233593(0x1f1)](_0x120b42);return _0x5bcb05[_0x233593(0x1f2)];}},exports[a14_0x38ebd3(0x1e8)]={'addSuffixToFile'(_0x1cc7ed,_0x43852b){const _0x389481=a14_0x38ebd3,_0x82c64b=path_1['default'][_0x389481(0x1d8)](_0x1cc7ed),_0x538d2e=path_1[_0x389481(0x1e5)][_0x389481(0x1eb)](_0x1cc7ed),_0x3b9f90=path_1['default'][_0x389481(0x1d7)](_0x1cc7ed,_0x538d2e),_0x751cc5=''+_0x3b9f90+_0x43852b+_0x538d2e,_0x178b57=path_1[_0x389481(0x1e5)][_0x389481(0x1d5)](_0x82c64b,_0x751cc5);fs_1[_0x389481(0x1e5)][_0x389481(0x1d9)](_0x1cc7ed,_0x178b57);}};
@@ -0,0 +1 @@
1
+ 'use strict';const a15_0x5f1072=a15_0x511e;(function(_0x307d9c,_0xbdb0d0){const _0x116a0d=a15_0x511e,_0x591f27=_0x307d9c();while(!![]){try{const _0x509705=parseInt(_0x116a0d(0x161))/0x1*(parseInt(_0x116a0d(0x156))/0x2)+parseInt(_0x116a0d(0x168))/0x3*(-parseInt(_0x116a0d(0x15a))/0x4)+-parseInt(_0x116a0d(0x162))/0x5+parseInt(_0x116a0d(0x157))/0x6+parseInt(_0x116a0d(0x15e))/0x7+parseInt(_0x116a0d(0x160))/0x8*(parseInt(_0x116a0d(0x163))/0x9)+-parseInt(_0x116a0d(0x15b))/0xa*(parseInt(_0x116a0d(0x167))/0xb);if(_0x509705===_0xbdb0d0)break;else _0x591f27['push'](_0x591f27['shift']());}catch(_0x21f4d6){_0x591f27['push'](_0x591f27['shift']());}}}(a15_0x4029,0x4e47c));function a15_0x4029(){const _0x1ea5fb=['3972WRpQXt','7703470ewRPqt','__esModule','DEBUG','419286RPVCdM','DEV','410792EecZKP','214562gEoYdY','1567680yIVdDH','54MvFuFr','platform','safeBoolean','darwin','11eyMdBj','63slrIkW','utils-ok','4szyXdT','3769536FELzYJ','defineProperty','strUtil'];a15_0x4029=function(){return _0x1ea5fb;};return a15_0x4029();}function a15_0x511e(_0x1e1f29,_0x3b4f7f){_0x1e1f29=_0x1e1f29-0x155;const _0x4029c2=a15_0x4029();let _0x511ea5=_0x4029c2[_0x1e1f29];return _0x511ea5;}Object[a15_0x5f1072(0x158)](exports,a15_0x5f1072(0x15c),{'value':!![]}),exports[a15_0x5f1072(0x15f)]=exports[a15_0x5f1072(0x15d)]=void 0x0;const utils_ok_1=require(a15_0x5f1072(0x155)),platform=require('os')[a15_0x5f1072(0x164)](),isOSX=platform===a15_0x5f1072(0x166);exports[a15_0x5f1072(0x15d)]=utils_ok_1[a15_0x5f1072(0x159)][a15_0x5f1072(0x165)](process.env.DEBUG||''),exports[a15_0x5f1072(0x15f)]=isOSX;
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "cc-ding",
3
+ "version": "0.0.1",
4
+ "description": "钉钉机器人对接本地Claude工具",
5
+ "keywords": [
6
+ "cli",
7
+ "claude",
8
+ "ding"
9
+ ],
10
+ "main": "dist/index",
11
+ "dependencies": {
12
+ "commander": "^7.2.0",
13
+ "dotenv": "^16.0.3",
14
+ "shelljs": "^0.10.0",
15
+ "urllib": "^4.9.0",
16
+ "utils-ok": "1"
17
+ },
18
+ "devDependencies": {
19
+ "@types/chai": "^5.2.3",
20
+ "@types/mocha": "^9.0.0",
21
+ "@types/node": "^16.11.12",
22
+ "@types/shelljs": "^0.10.0",
23
+ "blacklint": "^1.0.0",
24
+ "chai": "^6.2.2",
25
+ "eslint": "9",
26
+ "eslint-config-egg": "^14.1.0",
27
+ "globals": "^17.4.0",
28
+ "husky": "8",
29
+ "javascript-obfuscator": "^5.4.2",
30
+ "mocha": "^8.0.1",
31
+ "ts-node": "^10.9.1",
32
+ "typescript": "5"
33
+ },
34
+ "author": "yhn",
35
+ "bin": {
36
+ "cc-ding": "./dist/bin/cc-ding.js"
37
+ },
38
+ "scripts": {
39
+ "lint": "eslint . && tsc && npm run blacklint",
40
+ "lint:fix": "eslint . --fix",
41
+ "blacklint": "utils-ok blacklint -bd 'src bin'",
42
+ "test": "mocha 'test/**/*.test.ts'",
43
+ "build": "npm run lint && sh build.sh",
44
+ "prepublishOnly": "npm run build"
45
+ },
46
+ "files": [
47
+ "dist"
48
+ ],
49
+ "husky": {
50
+ "hooks": {
51
+ "pre-commit": "npm run lint"
52
+ }
53
+ }
54
+ }