cc-ding 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +188 -3
- package/dist/bin/cc-ding.js +1 -1
- package/dist/src/biz/api-key-manager.js +1 -1
- package/dist/src/biz/cc-ding-cli.js +1 -1
- package/dist/src/biz/claude-process.js +1 -1
- package/dist/src/biz/commands.js +1 -1
- package/dist/src/biz/cron.js +1 -1
- package/dist/src/biz/doctor.js +1 -1
- package/dist/src/biz/image.js +1 -1
- package/dist/src/biz/lock.js +1 -1
- package/dist/src/biz/messaging.js +1 -1
- package/dist/src/biz/quote.js +1 -1
- package/dist/src/biz/session.js +1 -1
- package/dist/src/biz/task.js +1 -1
- package/dist/src/biz/types.js +1 -1
- package/dist/src/common.js +1 -1
- package/dist/src/constants.js +1 -1
- package/package.json +11 -11
package/dist/src/biz/task.js
CHANGED
|
@@ -1 +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);});}
|
|
1
|
+
'use strict';const a12_0x14594a=a12_0x55f5;(function(_0x2ea7cd,_0x218925){const _0x528903=a12_0x55f5,_0xf3b287=_0x2ea7cd();while(!![]){try{const _0x41e32c=parseInt(_0x528903(0x1ca))/0x1*(parseInt(_0x528903(0x227))/0x2)+-parseInt(_0x528903(0x1d6))/0x3+-parseInt(_0x528903(0x1ab))/0x4+-parseInt(_0x528903(0x217))/0x5+-parseInt(_0x528903(0x21d))/0x6*(-parseInt(_0x528903(0x22c))/0x7)+parseInt(_0x528903(0x21e))/0x8+parseInt(_0x528903(0x221))/0x9*(parseInt(_0x528903(0x1dd))/0xa);if(_0x41e32c===_0x218925)break;else _0xf3b287['push'](_0xf3b287['shift']());}catch(_0x4943f8){_0xf3b287['push'](_0xf3b287['shift']());}}}(a12_0x5855,0x2c074));function a12_0x55f5(_0x56b4e3,_0x48fa43){_0x56b4e3=_0x56b4e3-0x1aa;const _0x585519=a12_0x5855();let _0x55f556=_0x585519[_0x56b4e3];return _0x55f556;}var __importDefault=this&&this[a12_0x14594a(0x1c7)]||function(_0x357fd1){const _0x5b68c8=a12_0x14594a;return _0x357fd1&&_0x357fd1[_0x5b68c8(0x22d)]?_0x357fd1:{'default':_0x357fd1};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['formatTaskInfo']=formatTaskInfo,exports[a12_0x14594a(0x265)]=countTodoTask,exports['getOneTodoTask']=getOneTodoTask,exports['finishTask']=finishTask,exports[a12_0x14594a(0x1fd)]=cancelTask,exports[a12_0x14594a(0x1e1)]=parseTaskCancelCommand,exports[a12_0x14594a(0x237)]=handleTask,exports[a12_0x14594a(0x1ec)]=runTaskHandlerLoop,exports[a12_0x14594a(0x24c)]=saveTask;const utils_ok_1=require(a12_0x14594a(0x212)),fs_1=__importDefault(require('fs')),path_1=__importDefault(require(a12_0x14594a(0x209))),child_process_1=require(a12_0x14594a(0x1d8)),common_1=require('../common'),messaging_1=require(a12_0x14594a(0x257)),claude_process_1=require('./claude-process'),session_1=require(a12_0x14594a(0x201)),api_key_manager_1=require('./api-key-manager'),MAX_RETRY_COUNT=0x3;function formatTaskInfo(_0x28aa86){const _0x4a9c24=a12_0x14594a,_0x23b293=[],_0x9e6c18=[],_0x301c66=[],_0x3bb870=[];for(const _0xc978ac of _0x28aa86['config']['conversations']){const _0x189e53=(0x0,session_1[_0x4a9c24(0x23c)])(_0x28aa86,_0xc978ac['conversationId']);if(!fs_1[_0x4a9c24(0x258)][_0x4a9c24(0x1d5)](_0x189e53))continue;const _0x244293=utils_ok_1[_0x4a9c24(0x1b5)][_0x4a9c24(0x25b)](_0x189e53);for(const _0x1b6406 of _0x244293){const _0xd57227=path_1[_0x4a9c24(0x258)][_0x4a9c24(0x248)](_0x1b6406);try{const _0x82a9cc=utils_ok_1[_0x4a9c24(0x1b5)][_0x4a9c24(0x1cb)](_0x1b6406);if(!_0x82a9cc)continue;if(_0xd57227===_0x4a9c24(0x1f9))_0x23b293[_0x4a9c24(0x1ee)](_0x82a9cc);else{if(_0xd57227===_0x4a9c24(0x261))_0x9e6c18[_0x4a9c24(0x1ee)](_0x82a9cc);else{if(_0xd57227===_0x4a9c24(0x1af))_0x301c66[_0x4a9c24(0x1ee)](_0x82a9cc);else _0xd57227===_0x4a9c24(0x1b9)&&_0x3bb870[_0x4a9c24(0x1ee)](_0x82a9cc);}}}catch{}}}_0x23b293[_0x4a9c24(0x1f8)]((_0x3483cf,_0x4d5aa9)=>_0x3483cf[_0x4a9c24(0x260)]-_0x4d5aa9[_0x4a9c24(0x260)]),_0x9e6c18['sort']((_0x53108c,_0x204ba0)=>_0x53108c[_0x4a9c24(0x260)]-_0x204ba0[_0x4a9c24(0x260)]),_0x301c66['sort']((_0x51311c,_0x4eaef7)=>_0x4eaef7[_0x4a9c24(0x260)]-_0x51311c[_0x4a9c24(0x260)]),_0x3bb870[_0x4a9c24(0x1f8)]((_0x209328,_0x1b274e)=>_0x1b274e[_0x4a9c24(0x260)]-_0x209328[_0x4a9c24(0x260)]);const _0x7c8abe=[];if(_0x9e6c18[_0x4a9c24(0x1eb)]>0x0){const _0x550257=_0x9e6c18[_0x4a9c24(0x220)](_0x2df2f4=>'#'+_0x2df2f4[_0x4a9c24(0x260)]+'\x20'+(_0x2df2f4['senderNickName']||_0x2df2f4[_0x4a9c24(0x23f)])+':\x20'+taskDisplayName(_0x2df2f4));_0x7c8abe[_0x4a9c24(0x1ee)](_0x4a9c24(0x25d)+_0x9e6c18[_0x4a9c24(0x1eb)]+')**\x0a'+_0x550257[_0x4a9c24(0x1cd)]('\x0a'));}else _0x7c8abe[_0x4a9c24(0x1ee)]('**⏳\x20处理中**\x0a无');if(_0x23b293[_0x4a9c24(0x1eb)]>0x0){const _0x2d5c3b=_0x23b293[_0x4a9c24(0x220)](_0x57d73f=>'#'+_0x57d73f[_0x4a9c24(0x260)]+'\x20'+(_0x57d73f[_0x4a9c24(0x22f)]||_0x57d73f[_0x4a9c24(0x23f)])+':\x20'+taskDisplayName(_0x57d73f));_0x7c8abe[_0x4a9c24(0x1ee)](_0x4a9c24(0x1fe)+_0x23b293[_0x4a9c24(0x1eb)]+_0x4a9c24(0x213)+_0x2d5c3b['join']('\x0a'));}else _0x7c8abe[_0x4a9c24(0x1ee)]('**📋\x20待办队列**\x0a无');const _0x5cb398=_0x301c66[_0x4a9c24(0x1be)](0x0,0x5);if(_0x5cb398['length']>0x0){const _0x42c02a=_0x5cb398[_0x4a9c24(0x220)](_0x43e2e7=>'#'+_0x43e2e7['startTime']+'\x20'+(_0x43e2e7['senderNickName']||_0x43e2e7[_0x4a9c24(0x23f)])+':\x20'+taskDisplayName(_0x43e2e7));_0x7c8abe[_0x4a9c24(0x1ee)](_0x4a9c24(0x259)+_0x5cb398[_0x4a9c24(0x1eb)]+'/'+_0x301c66[_0x4a9c24(0x1eb)]+')**\x0a'+_0x42c02a[_0x4a9c24(0x1cd)]('\x0a'));}else _0x7c8abe['push']('**✅\x20最近完成**\x0a无');if(_0x3bb870[_0x4a9c24(0x1eb)]>0x0){const _0x53135c=_0x3bb870[_0x4a9c24(0x220)](_0x59df23=>'#'+_0x59df23['startTime']+'\x20'+(_0x59df23[_0x4a9c24(0x22f)]||_0x59df23['senderStaffId'])+':\x20'+taskDisplayName(_0x59df23)+(_0x59df23[_0x4a9c24(0x1d0)]?_0x4a9c24(0x1d4)+_0x59df23[_0x4a9c24(0x1d0)]+'次)':''));_0x7c8abe[_0x4a9c24(0x1ee)](_0x4a9c24(0x20d)+_0x3bb870[_0x4a9c24(0x1eb)]+_0x4a9c24(0x213)+_0x53135c[_0x4a9c24(0x1cd)]('\x0a'));}return _0x7c8abe[_0x4a9c24(0x1cd)]('\x0a\x0a');}function truncatePrompt(_0x3af2e3,_0x2187c2=0x50){const _0x5ee1c9=a12_0x14594a,_0x29c442=_0x3af2e3[_0x5ee1c9(0x238)](/\n/g,'\x20')[_0x5ee1c9(0x224)]();return _0x29c442[_0x5ee1c9(0x1eb)]>_0x2187c2?_0x29c442[_0x5ee1c9(0x1be)](0x0,_0x2187c2)+_0x5ee1c9(0x1ba):_0x29c442;}function taskDisplayName(_0x151794){const _0xa720a5=a12_0x14594a;if(_0x151794[_0xa720a5(0x1c6)])return _0x151794[_0xa720a5(0x1c6)];return truncatePrompt(_0x151794[_0xa720a5(0x1bd)]);}async function preprocessTask(_0x56d09e,_0x1cd170,_0x1a99a3){const _0x4800b8=a12_0x14594a,_0x598b4e=(0x0,session_1['getConversationDir'])(_0x56d09e,_0x1cd170),_0x43b0de='claude',_0x1ce670=[_0x4800b8(0x235),_0x4800b8(0x228),_0x4800b8(0x1fa)],_0x11e221=(0x0,claude_process_1[_0x4800b8(0x204)])(_0x56d09e,_0x598b4e);_0x11e221&&_0x1ce670[_0x4800b8(0x1ee)](_0x4800b8(0x25a),_0x11e221);const _0x7d97a4=[_0x4800b8(0x1e9),'直接返回JSON,不要markdown代码块或其他内容。',_0x4800b8(0x246),'',_0x4800b8(0x206)+_0x1a99a3][_0x4800b8(0x1cd)]('\x0a');_0x1ce670['push'](_0x7d97a4);const _0x392bba=0x7530;return new Promise(_0x4d5b18=>{const _0x22c485=_0x4800b8;let _0x39d41b='';const _0x57fc05=(0x0,child_process_1['spawn'])(_0x43b0de,_0x1ce670,{'cwd':_0x598b4e,'stdio':[_0x22c485(0x216),'pipe',_0x22c485(0x205)]}),_0xd02ab0=setTimeout(()=>{const _0x3a5691=_0x22c485;_0x57fc05[_0x3a5691(0x1c8)]('SIGTERM'),setTimeout(()=>{const _0xf72eea=_0x3a5691;try{_0x57fc05[_0xf72eea(0x1c8)](_0xf72eea(0x225));}catch{}},0xbb8);},_0x392bba);_0x57fc05[_0x22c485(0x1e7)]['on'](_0x22c485(0x249),_0x540562=>{const _0x3402ed=_0x22c485;_0x39d41b+=_0x540562[_0x3402ed(0x1e0)]();}),_0x57fc05['stderr']['on'](_0x22c485(0x249),()=>{}),_0x57fc05['on'](_0x22c485(0x1de),_0x1dda42=>{const _0x30e811=_0x22c485;clearTimeout(_0xd02ab0);if(_0x1dda42!==0x0||!_0x39d41b[_0x30e811(0x224)]()){console[_0x30e811(0x239)]('['+(0x0,session_1[_0x30e811(0x1b7)])()+_0x30e811(0x1da)+_0x1dda42+'),使用原始prompt'),_0x4d5b18(null);return;}try{let _0x1f7643=_0x39d41b[_0x30e811(0x224)]();const _0x3385cf=_0x1f7643[_0x30e811(0x20a)](/\{[\s\S]*\}/);if(_0x3385cf)_0x1f7643=_0x3385cf[0x0];const _0x2d9abd=JSON[_0x30e811(0x1f2)](_0x1f7643);_0x2d9abd[_0x30e811(0x1c6)]&&_0x2d9abd[_0x30e811(0x219)]?(console[_0x30e811(0x239)]('['+(0x0,session_1[_0x30e811(0x1b7)])()+_0x30e811(0x1ad)+_0x2d9abd['title']+'\x22'),_0x4d5b18({'title':String(_0x2d9abd[_0x30e811(0x1c6)]),'promptSimply':String(_0x2d9abd['promptSimply'])})):(console[_0x30e811(0x239)]('['+(0x0,session_1[_0x30e811(0x1b7)])()+']\x20任务预处理返回格式不正确,使用原始prompt'),_0x4d5b18(null));}catch(_0x1921cf){console[_0x30e811(0x239)]('['+(0x0,session_1[_0x30e811(0x1b7)])()+_0x30e811(0x23a)+_0x1921cf),_0x4d5b18(null);}}),_0x57fc05['on'](_0x22c485(0x1e2),_0x52053e=>{const _0x2a3859=_0x22c485;clearTimeout(_0xd02ab0),console[_0x2a3859(0x1e2)]('['+(0x0,session_1[_0x2a3859(0x1b7)])()+_0x2a3859(0x1b8),_0x52053e),_0x4d5b18(null);});});}function countTodoTask(_0x3e20c4){const _0x205536=a12_0x14594a;let _0x2d6ffd=0x0;for(const _0x5773a4 of _0x3e20c4[_0x205536(0x1ae)][_0x205536(0x23e)]){const _0x21f098=(0x0,session_1[_0x205536(0x23c)])(_0x3e20c4,_0x5773a4['conversationId']);if(fs_1[_0x205536(0x258)][_0x205536(0x1d5)](_0x21f098)){const _0x42300d=utils_ok_1[_0x205536(0x1b5)]['dirWalker'](_0x21f098),_0x9e9f1a=_0x42300d[_0x205536(0x23b)](_0x5da634=>path_1[_0x205536(0x258)][_0x205536(0x248)](_0x5da634)===_0x205536(0x1f9));_0x2d6ffd+=_0x9e9f1a['length'];}}return _0x2d6ffd;}async function getOneTodoTask(_0xc04fad){const _0x24689f=a12_0x14594a;for(const _0x42a32f of _0xc04fad[_0x24689f(0x1ae)][_0x24689f(0x23e)]){const _0xe1127=(0x0,session_1[_0x24689f(0x23c)])(_0xc04fad,_0x42a32f[_0x24689f(0x1ce)]);if(!fs_1[_0x24689f(0x258)]['existsSync'](_0xe1127))continue;const _0x485388=utils_ok_1['fileUtil']['dirWalker'](_0xe1127),_0x3549bf=_0x485388[_0x24689f(0x23b)](_0x4ae23f=>path_1[_0x24689f(0x258)][_0x24689f(0x248)](_0x4ae23f)===_0x24689f(0x1f9));if(_0x3549bf[_0x24689f(0x1eb)]===0x0)continue;const _0xa99aac=_0x3549bf[_0x24689f(0x220)](_0x537d77=>{const _0x452cb5=_0x24689f;try{const _0x17e91a=utils_ok_1[_0x452cb5(0x1b5)]['getJSON'](_0x537d77);return _0x17e91a?{'file':_0x537d77,'task':_0x17e91a}:null;}catch{return console['error']('任务文件解析失败,跳过:\x20'+_0x537d77),null;}})[_0x24689f(0x23b)](_0x414d4a=>_0x414d4a!==null)[_0x24689f(0x1f8)]((_0x58c037,_0x5b81be)=>_0x58c037[_0x24689f(0x1fb)][_0x24689f(0x260)]-_0x5b81be[_0x24689f(0x1fb)][_0x24689f(0x260)]);if(_0xa99aac[_0x24689f(0x1eb)]>0x0){const {file:_0x30007c,task:_0x848d6f}=_0xa99aac[0x0];return common_1[_0x24689f(0x253)]['addSuffixToFile'](_0x30007c,_0x24689f(0x1c9)),_0x848d6f;}}return undefined;}async function finishTask(_0x5a8b98,_0x9d7c71){const _0x49b615=a12_0x14594a,_0x541789=_0x9d7c71+_0x49b615(0x236);let _0xb82d30;try{_0xb82d30=utils_ok_1[_0x49b615(0x1b5)][_0x49b615(0x1cb)](_0x541789);}catch(_0x23bc1f){console[_0x49b615(0x1e2)](_0x49b615(0x1bc)+_0x541789,_0x23bc1f);return;}const _0x55f439=_0x9d7c71+'/result.md',_0x183e48=fs_1[_0x49b615(0x258)][_0x49b615(0x1d5)](_0x55f439)?utils_ok_1[_0x49b615(0x1b5)][_0x49b615(0x1bb)](_0x55f439):'抱歉,任务处理异常...';await(0x0,messaging_1[_0x49b615(0x1bf)])(_0x5a8b98,{'conversationId':_0xb82d30['conversationId'],'sessionWebhook':_0xb82d30['sessionWebhook'],'atUserId':_0xb82d30[_0x49b615(0x23f)],'content':_0x183e48,'msgType':'markdown'});const _0x3f71cd=_0x541789['replace'](_0x49b615(0x24b),_0x49b615(0x262));utils_ok_1[_0x49b615(0x1b5)][_0x49b615(0x20e)](_0x541789,_0x3f71cd);}async function failTask(_0x58a848,_0x1e019a,_0x57e50f){const _0x28754=a12_0x14594a,_0x4ee791=_0x1e019a+_0x28754(0x236);let _0x5bd242;try{_0x5bd242=utils_ok_1['fileUtil'][_0x28754(0x1cb)](_0x4ee791);}catch(_0x6ea548){console[_0x28754(0x1e2)]('读取任务文件失败:\x20'+_0x4ee791,_0x6ea548);return;}await(0x0,messaging_1[_0x28754(0x1bf)])(_0x58a848,{'conversationId':_0x5bd242[_0x28754(0x1ce)],'sessionWebhook':_0x5bd242[_0x28754(0x230)],'atUserId':_0x5bd242[_0x28754(0x23f)],'content':_0x28754(0x1ac)+taskDisplayName(_0x5bd242)+_0x28754(0x208)+_0x57e50f,'msgType':_0x28754(0x1b2)});const _0x3ae6ad=_0x4ee791[_0x28754(0x238)](_0x28754(0x24b),'-failed.json');utils_ok_1[_0x28754(0x1b5)][_0x28754(0x20e)](_0x4ee791,_0x3ae6ad);}async function resetTaskToTodo(_0x1e4867,_0x145649,_0x33a22a){const _0x3ff78a=a12_0x14594a,_0x24a9d8=_0x145649+_0x3ff78a(0x236),_0x5f3e28=_0x145649+'/task.json';if(!fs_1['default'][_0x3ff78a(0x1d5)](_0x24a9d8))return![];try{const _0x27acb5=utils_ok_1[_0x3ff78a(0x1b5)][_0x3ff78a(0x1cb)](_0x24a9d8),_0x82b5e7=(_0x27acb5[_0x3ff78a(0x1d0)]||0x0)+0x1;if(_0x82b5e7>=MAX_RETRY_COUNT)return console['log']('['+(0x0,session_1['timestamp'])()+']\x20任务重试次数已达上限('+_0x82b5e7+'/'+MAX_RETRY_COUNT+'),标记为失败:\x20'+(_0x27acb5['title']||_0x27acb5[_0x3ff78a(0x1bd)])),_0x27acb5[_0x3ff78a(0x1d0)]=_0x82b5e7,fs_1[_0x3ff78a(0x258)][_0x3ff78a(0x1c3)](_0x24a9d8,JSON[_0x3ff78a(0x1b6)](_0x27acb5,null,0x2),'utf-8'),await failTask(_0x1e4867,_0x145649,_0x33a22a+_0x3ff78a(0x1f3)+_0x82b5e7+'次)'),![];_0x27acb5[_0x3ff78a(0x1d0)]=_0x82b5e7,fs_1[_0x3ff78a(0x258)][_0x3ff78a(0x1c3)](_0x24a9d8,JSON[_0x3ff78a(0x1b6)](_0x27acb5,null,0x2),_0x3ff78a(0x1ea)),console['log']('['+(0x0,session_1[_0x3ff78a(0x1b7)])()+_0x3ff78a(0x21a)+_0x82b5e7+'/'+MAX_RETRY_COUNT+_0x3ff78a(0x1aa)+(_0x27acb5['title']||_0x27acb5[_0x3ff78a(0x1bd)]));}catch(_0x423321){console[_0x3ff78a(0x1e2)]('['+(0x0,session_1[_0x3ff78a(0x1b7)])()+_0x3ff78a(0x21c),_0x423321);}return fs_1[_0x3ff78a(0x258)]['existsSync'](_0x24a9d8)&&utils_ok_1[_0x3ff78a(0x1b5)][_0x3ff78a(0x20e)](_0x24a9d8,_0x5f3e28),!![];}function cancelTask(_0x28af13,_0x5229c3,_0x546901){const _0x46918a=a12_0x14594a,_0x6150a9=[],_0x311144=_0x5229c3[_0x46918a(0x224)](),_0x113e44=_0x546901?_0x28af13[_0x46918a(0x1ae)][_0x46918a(0x23e)]['filter'](_0x4eedd4=>_0x4eedd4[_0x46918a(0x1ce)]===_0x546901):_0x28af13[_0x46918a(0x1ae)][_0x46918a(0x23e)];for(const _0x7afca1 of _0x113e44){const _0x5c45ba=(0x0,session_1['getTasksDir'])(_0x28af13,_0x7afca1['conversationId']);if(!fs_1[_0x46918a(0x258)][_0x46918a(0x1d5)](_0x5c45ba))continue;const _0x56d29e=utils_ok_1['fileUtil']['dirWalker'](_0x5c45ba),_0x2916cd=_0x56d29e[_0x46918a(0x23b)](_0x4fc810=>path_1[_0x46918a(0x258)]['basename'](_0x4fc810)===_0x46918a(0x1f9));for(const _0x1bae18 of _0x2916cd){try{const _0x534d33=utils_ok_1['fileUtil'][_0x46918a(0x1cb)](_0x1bae18);if(!_0x534d33)continue;if(String(_0x534d33[_0x46918a(0x260)])===_0x311144){_0x6150a9[_0x46918a(0x1ee)]({'file':_0x1bae18,'task':_0x534d33});continue;}if(_0x534d33['title']&&_0x534d33['title'][_0x46918a(0x1e6)](_0x311144)){_0x6150a9[_0x46918a(0x1ee)]({'file':_0x1bae18,'task':_0x534d33});continue;}}catch{}}}if(_0x6150a9[_0x46918a(0x1eb)]===0x0)return _0x46918a(0x255)+_0x311144;let _0x56bebe=0x0;for(const {file:_0x244d50,task:_0xb43f0}of _0x6150a9){try{fs_1[_0x46918a(0x258)][_0x46918a(0x242)](_0x244d50),_0x56bebe++,console[_0x46918a(0x239)]('['+(0x0,session_1['timestamp'])()+']\x20已取消任务:\x20#'+_0xb43f0[_0x46918a(0x260)]+'\x20'+(_0xb43f0['title']||_0xb43f0['prompt']));}catch(_0x1515f1){console[_0x46918a(0x1e2)]('['+(0x0,session_1[_0x46918a(0x1b7)])()+_0x46918a(0x1ef)+_0x244d50,_0x1515f1);}}const _0x3e3caf=_0x6150a9[_0x46918a(0x1be)](0x0,0x5)[_0x46918a(0x220)](_0xc701bf=>'#'+_0xc701bf['task']['startTime']+'\x20'+taskDisplayName(_0xc701bf[_0x46918a(0x1fb)]))[_0x46918a(0x1cd)]('\x0a'),_0x5e219b=_0x56bebe>0x5?_0x46918a(0x211)+_0x56bebe+'\x20个任务':'';return _0x46918a(0x203)+_0x56bebe+_0x46918a(0x1f7)+_0x3e3caf+_0x5e219b;}function parseTaskCancelCommand(_0xe8bfa0){const _0x386a50=a12_0x14594a,_0x2cbe4d=_0xe8bfa0[_0x386a50(0x224)](),_0x45086a=_0x2cbe4d[_0x386a50(0x20a)](/^\/task\s+cancel\s+(.+)$/i);return _0x45086a?_0x45086a[0x1][_0x386a50(0x224)]():null;}function updateCmdArgsSettings(_0xba2b01,_0x4c0539){const _0x180046=a12_0x14594a,_0x1ddaca=_0xba2b01[_0x180046(0x254)](_0x180046(0x25a));_0x1ddaca!==-0x1&&_0xba2b01[_0x180046(0x1d1)](_0x1ddaca,0x2),_0x4c0539&&_0xba2b01[_0x180046(0x1ee)](_0x180046(0x25a),_0x4c0539);}function a12_0x5855(){const _0x3f37db=['任务未按预期处理','**⏳\x20处理中\x20(','catch','/task.log','startTime','task-doing.json','-done.json','getConversationConfig','sleep','countTodoTask','):\x20','974324NmDqtM','❌\x20任务失败:\x20',']\x20任务预处理完成:\x20title=\x22','config','task-done.json',']\x20TPM\x20限流连续快速失败\x20',']\x20执行命令:\x20','markdown','s\x20后重试','getForceEnabledSettingsPath','fileUtil','stringify','timestamp',']\x20任务预处理进程错误:','task-failed.json','...','getFileStr','读取任务文件失败:\x20','prompt','slice','sendDingMessage',']\x20预处理完成但任务文件已不存在:\x20','startTimeStr','unknown','writeFileSync','format','skill','title','__importDefault','kill','-doing','76655IPWiVY','getJSON','claude','join','conversationId','settingLabel','retryCount','splice',']\x20自动检测到\x20settings.json:\x20','未发现待办任务...','\x20(重试','existsSync','1034286pTeSXQ',']\x20退出码:\x20','child_process','),\x20',']\x20任务预处理失败(退出码:','未生成结果文件','执行超时','5617330EyzauM','close','\x20用户:\x20','toString','parseTaskCancelCommand','error','任务执行超时(10分钟),终止进程','TPM限流快速失败次数过多',']\x20任务预处理异常:','includes','stdout','ensureSettingsWithApiKey','请对以下任务需求进行预处理,生成简短标题和优化后的需求描述。','utf-8','length','runTaskHandlerLoop','s\x20后重试\x20(','push',']\x20取消任务失败:\x20','elapsed',']\x20切换到\x20API\x20Key\x20模式','parse','\x20(已重试','无可用配额(429)',']\x20检测到\x20FORCE_ENABLE,强制使用\x20settings-ding.json','认证失败(401),API\x20Key\x20无效或服务未授权','\x20个待办任务:\x0a','sort','task.json','--print','task','.claude','cancelTask','**📋\x20待办队列\x20(',']\x20无可用配额,任务重置为待办','任务已保存:\x20','./session','settings.json','已取消\x20','resolveClaudeSettingsPath','pipe','原始需求:\x20','进程执行错误:','\x0a原因:\x20','path','match','/result.md','write','**❌\x20失败\x20(','rename','exitCode','getConversationDir','\x0a...共取消\x20','utils-ok',')**\x0a','🔄\x20开始处理任务:\x20','isQuotaExhaustedError','ignore','770830VaCYEO',']\x20检测到\x20TPM\x20限流(快速失败),','promptSimply',']\x20任务重置为待办\x20(重试','进程执行错误:\x20',']\x20更新任务重试计数失败:','6gQpghA','66232ndGdTH','SIGTERM','map','9rWHzqc','apiKeyCfg',']\x20任务预处理结果已更新:\x20','trim','SIGKILL','--agent','4pAaZfQ','bypassPermissions','output','message','执行命令:\x20claude\x20','1396689UzWhyb','__esModule','rotateApiKey','senderNickName','sessionWebhook','now','baseUtil','次,重置任务为待办','debugLog','--permission-mode','/task-doing.json','handleTask','replace','log',']\x20任务预处理JSON解析失败,使用原始prompt:\x20','filter','getTasksDir','stderr','conversations','senderStaffId','agent','无可用配额','unlinkSync','then','pickValidApiKey',']\x20任务处理中:\x20','格式:\x20{\x22title\x22:\x22简短标题(15字以内)\x22,\x22promptSimply\x22:\x22优化后的需求描述,保留原始需求的所有关键信息,使描述更清晰、结构化\x22}','saveFileStr','basename','data','timedOut','-doing.json','saveTask','normal',';\x20最后将回复内容保存至:\x20','dateUtil','spawn',']\x20API\x20Key\x20配额耗尽(429),切换到新\x20Key:\x20','apiKey','utils','indexOf','未找到匹配的待办任务:\x20','isAuthenticationError','./messaging','default','**✅\x20最近完成\x20(top\x20','--settings','dirWalker'];a12_0x5855=function(){return _0x3f37db;};return a12_0x5855();}async function handleTask(_0x29a59c){const _0x48237c=a12_0x14594a,_0x5aee48=await getOneTodoTask(_0x29a59c);if(!_0x5aee48){(0x0,session_1[_0x48237c(0x234)])(_0x29a59c,_0x48237c(0x1d3));return;}const _0x79e187=(0x0,session_1[_0x48237c(0x263)])(_0x29a59c,_0x5aee48[_0x48237c(0x1ce)]),_0x284c79=(0x0,session_1[_0x48237c(0x210)])(_0x29a59c,_0x5aee48[_0x48237c(0x1ce)]),_0x539a62=(0x0,session_1[_0x48237c(0x23c)])(_0x29a59c,_0x5aee48[_0x48237c(0x1ce)])+'/'+_0x5aee48[_0x48237c(0x1c1)];if(!fs_1[_0x48237c(0x258)][_0x48237c(0x1d5)](_0x539a62)){console[_0x48237c(0x1e2)]('任务目录不存在:\x20'+_0x539a62);return;}_0x5aee48['type']!=='cron'&&await(0x0,messaging_1[_0x48237c(0x1bf)])(_0x29a59c,{'conversationId':_0x5aee48['conversationId'],'sessionWebhook':_0x5aee48[_0x48237c(0x230)],'atUserId':_0x5aee48[_0x48237c(0x23f)],'content':_0x48237c(0x214)+taskDisplayName(_0x5aee48)});const _0x50a6ff=_0x539a62+_0x48237c(0x20b),_0x281c31=_0x539a62+_0x48237c(0x25f);console[_0x48237c(0x239)]('['+(0x0,session_1['timestamp'])()+_0x48237c(0x245)+(_0x5aee48['title']||_0x5aee48[_0x48237c(0x1bd)]));const _0x414895=_0x5aee48['senderNickName']&&_0x5aee48[_0x48237c(0x23f)]?_0x5aee48[_0x48237c(0x22f)]+'('+_0x5aee48['senderStaffId']+_0x48237c(0x1d9):_0x48237c(0x1c2),_0x5b41a0=_0x29a59c['config'][_0x48237c(0x222)],_0x57464d=(0x0,api_key_manager_1[_0x48237c(0x1b4)])(_0x284c79);let _0xdec8cc=![],_0x5128e2=null;if(_0x57464d)console[_0x48237c(0x239)]('['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1f5));else{if(_0x5b41a0){_0x5128e2=(0x0,api_key_manager_1[_0x48237c(0x244)])(_0x29a59c);if(!_0x5128e2){console[_0x48237c(0x239)]('['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1ff)),await resetTaskToTodo(_0x29a59c,_0x539a62,_0x48237c(0x241));return;}_0xdec8cc=!![],console['log']('['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1f1));}}const _0x3531ca=_0x79e187?.['taskCfg']?.[_0x48237c(0x1c5)],_0x126ae0=_0x79e187?.[_0x48237c(0x240)],_0x55fdb5=_0x5aee48['promptSimply']||_0x5aee48[_0x48237c(0x1bd)],_0x4a2420=((_0x3531ca?'/'+_0x3531ca:'')+_0x48237c(0x1df)+_0x414895+',\x20需求:\x20'+_0x55fdb5+_0x48237c(0x24e)+_0x50a6ff)[_0x48237c(0x224)](),_0x48d75a=[_0x48237c(0x235),_0x48237c(0x228),_0x48237c(0x1fa),_0x4a2420];if(_0x57464d)_0x48d75a['push'](_0x48237c(0x25a),_0x57464d);else{if(_0xdec8cc&&_0x5128e2){const _0x113931=(0x0,api_key_manager_1[_0x48237c(0x1e8)])(_0x284c79,_0x5128e2);_0x48d75a[_0x48237c(0x1ee)](_0x48237c(0x25a),_0x113931);}else{if(!_0x5b41a0){const _0x4970da=path_1['default'][_0x48237c(0x1cd)](_0x284c79,_0x48237c(0x1fc),_0x48237c(0x202));fs_1['default'][_0x48237c(0x1d5)](_0x4970da)&&(_0x48d75a[_0x48237c(0x1ee)]('--settings',_0x4970da),console[_0x48237c(0x239)]('['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1d2)+_0x4970da));}}}_0x126ae0&&_0x48d75a['push'](_0x48237c(0x226),_0x126ae0);(0x0,session_1[_0x48237c(0x234)])(_0x29a59c,_0x48237c(0x22b)+_0x48d75a['join']('\x20'));const _0x3e75f7=0xa*0x3c*0x3e8,_0x17c932=0x14,_0x11d47f=0x2710,_0x43aa13=0x2710,_0x355d84=_0x48237c(0x1cc),_0xb74fee=_0x45a9ee=>{const _0x2d14da=Date['now']();return new Promise(_0x4cf00a=>{const _0x2cc850=a12_0x55f5,_0x191899=[];let _0x457734=![],_0x5014ed=![];const _0x47f1ea=(0x0,child_process_1[_0x2cc850(0x250)])(_0x355d84,_0x45a9ee,{'cwd':_0x284c79,'stdio':[_0x2cc850(0x216),_0x2cc850(0x205),'pipe']}),_0x599e5f=setTimeout(()=>{const _0x461349=_0x2cc850;!_0x457734&&(_0x5014ed=!![],console[_0x461349(0x1e2)](_0x461349(0x1e3)),_0x47f1ea[_0x461349(0x1c8)](_0x461349(0x21f)),setTimeout(()=>{const _0x278df7=_0x461349;if(!_0x457734)_0x47f1ea['kill'](_0x278df7(0x225));},0x1388));},_0x3e75f7);_0x47f1ea['stdout']['on'](_0x2cc850(0x249),_0x290a48=>{const _0x33114c=_0x2cc850,_0x3f44a5=_0x290a48['toString']();process[_0x33114c(0x1e7)][_0x33114c(0x20c)](_0x3f44a5),_0x191899['push'](_0x3f44a5);}),_0x47f1ea[_0x2cc850(0x23d)]['on']('data',_0x2bafac=>{const _0x36c8ab=_0x2cc850,_0x54d8d9=_0x2bafac[_0x36c8ab(0x1e0)]();process[_0x36c8ab(0x23d)]['write'](_0x54d8d9),_0x191899['push'](_0x54d8d9);}),_0x47f1ea['on']('close',_0x425170=>{const _0x68cb90=_0x2cc850;_0x457734=!![],clearTimeout(_0x599e5f),_0x4cf00a({'exitCode':_0x425170??0x1,'output':_0x191899[_0x68cb90(0x1cd)](''),'elapsed':Date[_0x68cb90(0x231)]()-_0x2d14da,'timedOut':_0x5014ed});}),_0x47f1ea['on'](_0x2cc850(0x1e2),_0xcacfea=>{const _0x1a6332=_0x2cc850;console[_0x1a6332(0x1e2)](_0x1a6332(0x207),_0xcacfea),_0x191899['push'](_0x1a6332(0x21b)+_0xcacfea[_0x1a6332(0x22a)]);});});};let _0x45f6bd,_0x24fb4f,_0x1ade60=![],_0x72c514=0x0;while(!![]){const _0x20ae09=await _0xb74fee(_0x48d75a);_0x45f6bd=_0x20ae09[_0x48237c(0x20f)],_0x24fb4f=_0x20ae09[_0x48237c(0x229)],_0x1ade60=_0x20ae09[_0x48237c(0x24a)];if(_0x45f6bd!==0x0){if(_0x1ade60){console['log']('['+(0x0,session_1[_0x48237c(0x1b7)])()+']\x20任务执行超时,重置为待办');const _0x24eda4=['['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1b1)+_0x355d84+'\x20'+_0x48d75a['join']('\x20'),'['+(0x0,session_1[_0x48237c(0x1b7)])()+']\x20超时('+_0x3e75f7/0x3e8+'s)',_0x24fb4f]['join']('\x0a');fs_1[_0x48237c(0x258)]['writeFileSync'](_0x281c31,_0x24eda4),await resetTaskToTodo(_0x29a59c,_0x539a62,_0x48237c(0x1dc));return;}if((0x0,api_key_manager_1[_0x48237c(0x215)])(_0x24fb4f)&&_0x5b41a0){if(!_0xdec8cc){_0x5128e2=(0x0,api_key_manager_1[_0x48237c(0x244)])(_0x29a59c);if(_0x5128e2){_0xdec8cc=!![],_0x72c514=0x0;const _0x3f90d5=(0x0,api_key_manager_1[_0x48237c(0x1e8)])(_0x284c79,_0x5128e2);updateCmdArgsSettings(_0x48d75a,_0x3f90d5),console[_0x48237c(0x239)]('['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1f1));continue;}}else{if(_0x5128e2){const _0x1d75a6=(0x0,api_key_manager_1[_0x48237c(0x22e)])(_0x29a59c,_0x5128e2['apiKey']);if(_0x1d75a6){_0x5128e2=_0x1d75a6,_0x72c514=0x0;const _0x23691b=(0x0,api_key_manager_1[_0x48237c(0x1e8)])(_0x284c79,_0x5128e2);updateCmdArgsSettings(_0x48d75a,_0x23691b),console['log']('['+(0x0,session_1['timestamp'])()+_0x48237c(0x251)+(0x0,api_key_manager_1[_0x48237c(0x1cf)])(_0x1d75a6));continue;}}}console[_0x48237c(0x239)]('['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1ff));const _0x473a20=['['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1b1)+_0x355d84+'\x20'+_0x48d75a[_0x48237c(0x1cd)]('\x20'),'['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1d7)+_0x45f6bd,_0x24fb4f][_0x48237c(0x1cd)]('\x0a');fs_1[_0x48237c(0x258)][_0x48237c(0x1c3)](_0x281c31,_0x473a20),await resetTaskToTodo(_0x29a59c,_0x539a62,_0x48237c(0x1f4));return;}if((0x0,api_key_manager_1[_0x48237c(0x256)])(_0x24fb4f)){console[_0x48237c(0x239)]('['+(0x0,session_1[_0x48237c(0x1b7)])()+']\x20检测到认证错误(401),标记任务失败');const _0x2074a9=['['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1b1)+_0x355d84+'\x20'+_0x48d75a['join']('\x20'),'['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1d7)+_0x45f6bd,_0x24fb4f][_0x48237c(0x1cd)]('\x0a');fs_1['default'][_0x48237c(0x1c3)](_0x281c31,_0x2074a9),await failTask(_0x29a59c,_0x539a62,_0x48237c(0x1f6));return;}if((0x0,claude_process_1['isRetryableApiError'])(_0x24fb4f)){if(_0x20ae09['elapsed']<_0x43aa13&&_0xdec8cc&&_0x5128e2&&_0x5b41a0){_0x72c514++;if(_0x72c514>=_0x17c932){const _0x43a3ad=(0x0,api_key_manager_1[_0x48237c(0x22e)])(_0x29a59c,_0x5128e2[_0x48237c(0x252)]);if(_0x43a3ad){_0x5128e2=_0x43a3ad,_0x72c514=0x0;const _0x1b2664=(0x0,api_key_manager_1['ensureSettingsWithApiKey'])(_0x284c79,_0x5128e2);updateCmdArgsSettings(_0x48d75a,_0x1b2664),console[_0x48237c(0x239)]('['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1b0)+_0x17c932+'\x20次,切换到新\x20Key:\x20'+(0x0,api_key_manager_1[_0x48237c(0x1cf)])(_0x43a3ad)),await utils_ok_1[_0x48237c(0x232)]['sleep'](_0x11d47f);continue;}}}else{if(_0x20ae09[_0x48237c(0x1f0)]<_0x43aa13){_0x72c514++;if(_0x72c514>=_0x17c932){console['log']('['+(0x0,session_1[_0x48237c(0x1b7)])()+']\x20TPM\x20限流快速失败连续'+_0x17c932+_0x48237c(0x233));const _0x210991=['['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1b1)+_0x355d84+'\x20'+_0x48d75a[_0x48237c(0x1cd)]('\x20'),'['+(0x0,session_1[_0x48237c(0x1b7)])()+']\x20退出码:\x20'+_0x45f6bd,_0x24fb4f][_0x48237c(0x1cd)]('\x0a');fs_1[_0x48237c(0x258)][_0x48237c(0x1c3)](_0x281c31,_0x210991),await resetTaskToTodo(_0x29a59c,_0x539a62,_0x48237c(0x1e4));return;}console[_0x48237c(0x239)]('['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x218)+_0x11d47f/0x3e8+_0x48237c(0x1ed)+_0x72c514+'/'+_0x17c932+')');}else _0x72c514=0x0,console[_0x48237c(0x239)]('['+(0x0,session_1[_0x48237c(0x1b7)])()+']\x20检测到\x20TPM\x20限流(进程已运行一段时间),重置快速失败计数,'+_0x11d47f/0x3e8+_0x48237c(0x1b3));}await utils_ok_1[_0x48237c(0x232)]['sleep'](_0x11d47f);continue;}}break;}const _0x330662=['['+(0x0,session_1[_0x48237c(0x1b7)])()+_0x48237c(0x1b1)+_0x355d84+'\x20'+_0x48d75a[_0x48237c(0x1cd)]('\x20'),'['+(0x0,session_1['timestamp'])()+_0x48237c(0x1d7)+_0x45f6bd,_0x24fb4f][_0x48237c(0x1cd)]('\x0a');fs_1[_0x48237c(0x258)][_0x48237c(0x1c3)](_0x281c31,_0x330662);if(_0x45f6bd!==0x0){console[_0x48237c(0x1e2)]('命令执行失败,\x20退出码:\x20'+_0x45f6bd),await failTask(_0x29a59c,_0x539a62,'执行失败(退出码:\x20'+_0x45f6bd+')');return;}if(fs_1[_0x48237c(0x258)][_0x48237c(0x1d5)](_0x50a6ff))console[_0x48237c(0x239)]('['+(0x0,session_1[_0x48237c(0x1b7)])()+']\x20任务处理完成');else{console['error'](_0x48237c(0x25c)),await failTask(_0x29a59c,_0x539a62,_0x48237c(0x1db));return;}await finishTask(_0x29a59c,_0x539a62);}async function runTaskHandlerLoop(_0x162eb8){const _0x42cf1f=a12_0x14594a;while(!![]){await handleTask(_0x162eb8)[_0x42cf1f(0x25e)](_0x3c14eb=>console[_0x42cf1f(0x1e2)](_0x3c14eb)),await utils_ok_1['baseUtil'][_0x42cf1f(0x264)](0x2710);}}async function saveTask(_0x121e24,_0x1fdd38){const _0x5980dd=a12_0x14594a,{conversationId:_0x451bbe,prompt:_0x2923b7,senderStaffId:_0x310c26,senderNickName:_0x1e587c,sessionWebhook:_0x2897f9,type:type=_0x5980dd(0x24d)}=_0x1fdd38,_0x5c0976=Date[_0x5980dd(0x231)](),_0xdd3011=utils_ok_1[_0x5980dd(0x24f)]['mm'](_0x5c0976)[_0x5980dd(0x1c4)]('YYYY-MM-DD-HH-mm-ss'),_0x44ea1b=(0x0,session_1['getTasksDir'])(_0x121e24,_0x451bbe)+'/'+_0xdd3011,_0x1fe814=_0x44ea1b+'/task.json',_0x1bce95={'conversationId':_0x451bbe,'startTime':_0x5c0976,'startTimeStr':_0xdd3011,'prompt':_0x2923b7,'senderStaffId':_0x310c26,'senderNickName':_0x1e587c||'','sessionWebhook':_0x2897f9,'type':type};await utils_ok_1[_0x5980dd(0x1b5)][_0x5980dd(0x247)](JSON[_0x5980dd(0x1b6)](_0x1bce95,null,0x2),_0x1fe814),(0x0,session_1['debugLog'])(_0x121e24,_0x5980dd(0x200)+_0x1fe814),preprocessTask(_0x121e24,_0x451bbe,_0x2923b7)[_0x5980dd(0x243)](_0x224bc9=>{const _0x30e189=_0x5980dd;if(!_0x224bc9)return;try{const _0x2e503e=_0x44ea1b+'/task-doing.json',_0x4cccd4=fs_1[_0x30e189(0x258)][_0x30e189(0x1d5)](_0x2e503e)?_0x2e503e:fs_1['default'][_0x30e189(0x1d5)](_0x1fe814)?_0x1fe814:null;if(!_0x4cccd4){console[_0x30e189(0x239)]('['+(0x0,session_1['timestamp'])()+_0x30e189(0x1c0)+_0x44ea1b);return;}const _0x5cfcc7=utils_ok_1[_0x30e189(0x1b5)]['getJSON'](_0x4cccd4);_0x5cfcc7[_0x30e189(0x1c6)]=_0x224bc9['title'],_0x5cfcc7[_0x30e189(0x219)]=_0x224bc9['promptSimply'],fs_1[_0x30e189(0x258)][_0x30e189(0x1c3)](_0x4cccd4,JSON[_0x30e189(0x1b6)](_0x5cfcc7,null,0x2),_0x30e189(0x1ea)),console[_0x30e189(0x239)]('['+(0x0,session_1['timestamp'])()+_0x30e189(0x223)+_0x224bc9[_0x30e189(0x1c6)]);}catch(_0x5564df){console['error']('['+(0x0,session_1[_0x30e189(0x1b7)])()+']\x20更新任务预处理结果失败:',_0x5564df);}})['catch'](_0x43bb08=>{const _0x28eb8b=_0x5980dd;console[_0x28eb8b(0x1e2)]('['+(0x0,session_1[_0x28eb8b(0x1b7)])()+_0x28eb8b(0x1e5),_0x43bb08);});}
|
package/dist/src/biz/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';var a13_0x1ea36a=a13_0x2c1b;(function(_0x3e7a54,_0xec5966){var _0x4f60cb=a13_0x2c1b,_0x5f5831=_0x3e7a54();while(!![]){try{var _0x3636a3=parseInt(_0x4f60cb(0x164))/0x1+-parseInt(_0x4f60cb(0x16d))/0x2+parseInt(_0x4f60cb(0x16a))/0x3+-parseInt(_0x4f60cb(0x16b))/0x4*(parseInt(_0x4f60cb(0x165))/0x5)+parseInt(_0x4f60cb(0x16c))/0x6+-parseInt(_0x4f60cb(0x167))/0x7*(parseInt(_0x4f60cb(0x169))/0x8)+-parseInt(_0x4f60cb(0x16e))/0x9*(parseInt(_0x4f60cb(0x166))/0xa);if(_0x3636a3===_0xec5966)break;else _0x5f5831['push'](_0x5f5831['shift']());}catch(_0x3395d0){_0x5f5831['push'](_0x5f5831['shift']());}}}(a13_0x57c3,0x67824));function a13_0x57c3(){var _0x368143=['4527762vGylWv','704840ENaMoJ','162uaqOIA','__esModule','417184wUJHsj','1286380NuDdBI','375010qlXken','536648GDnppt','defineProperty','24RAluXW','2300601xrdSXp','4sYnunL'];a13_0x57c3=function(){return _0x368143;};return a13_0x57c3();}function a13_0x2c1b(_0x3b3087,_0x5134d4){_0x3b3087=_0x3b3087-0x164;var _0x57c369=a13_0x57c3();var _0x2c1b16=_0x57c369[_0x3b3087];return _0x2c1b16;}Object[a13_0x1ea36a(0x168)](exports,a13_0x1ea36a(0x16f),{'value':!![]});
|
package/dist/src/common.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a14_0xbdb66e=a14_0x5328;function a14_0x4c8a(){const _0x44748d=['/.cc-ding/.env','getJSON','renameSync','5763947abUyZC','existsSync','72472DgmfSy','688314ZJpAZB','default','../','loadEnv','dotenv','105750sFdKWu','ProjUtil','cookie缓存文件不存在:\x20','defineProperty','resolve','813956yAyGOa','path','__esModule','1960266RQvSDP','join','dirname','utils','config','518028NvZneH','helper'];a14_0x4c8a=function(){return _0x44748d;};return a14_0x4c8a();}(function(_0x404628,_0x2a5322){const _0x4352f8=a14_0x5328,_0x55e587=_0x404628();while(!![]){try{const _0x257b4b=parseInt(_0x4352f8(0x1d0))/0x1+-parseInt(_0x4352f8(0x1c9))/0x2+-parseInt(_0x4352f8(0x1d1))/0x3+parseInt(_0x4352f8(0x1c1))/0x4+-parseInt(_0x4352f8(0x1d6))/0x5+-parseInt(_0x4352f8(0x1c4))/0x6+parseInt(_0x4352f8(0x1ce))/0x7;if(_0x257b4b===_0x2a5322)break;else _0x55e587['push'](_0x55e587['shift']());}catch(_0x21f2fa){_0x55e587['push'](_0x55e587['shift']());}}}(a14_0x4c8a,0x4039d));var __importDefault=this&&this['__importDefault']||function(_0x3845ed){const _0x398cdf=a14_0x5328;return _0x3845ed&&_0x3845ed[_0x398cdf(0x1c3)]?_0x3845ed:{'default':_0x3845ed};};function a14_0x5328(_0x4f65e6,_0x1829a3){_0x4f65e6=_0x4f65e6-0x1c1;const _0x4c8aa6=a14_0x4c8a();let _0x53285b=_0x4c8aa6[_0x4f65e6];return _0x53285b;}Object[a14_0xbdb66e(0x1d9)](exports,'__esModule',{'value':!![]}),exports['utils']=exports['helper']=exports['projUtil']=void 0x0,exports[a14_0xbdb66e(0x1d4)]=loadEnv;const utils_ok_1=require('utils-ok'),path_1=__importDefault(require(a14_0xbdb66e(0x1c2))),assert_1=__importDefault(require('assert')),fs_1=__importDefault(require('fs'));function loadEnv(){const _0x3c7b4e=a14_0xbdb66e;fs_1[_0x3c7b4e(0x1d2)][_0x3c7b4e(0x1cf)](process.env.HOME+_0x3c7b4e(0x1cb))&&require('dotenv')[_0x3c7b4e(0x1c8)]({'path':process.env.HOME+_0x3c7b4e(0x1cb)}),require(_0x3c7b4e(0x1d5))[_0x3c7b4e(0x1c8)]();}exports['projUtil']=((()=>{let _0x26307c;return()=>{const _0x388ba2=a14_0x5328;return!_0x26307c&&(_0x26307c=new utils_ok_1[(_0x388ba2(0x1d7))](path_1[_0x388ba2(0x1d2)][_0x388ba2(0x1da)](__dirname,_0x388ba2(0x1d3)))),_0x26307c;};})()),exports[a14_0xbdb66e(0x1ca)]={'getCookiesByFile'(_0x4520a3){const _0xd50d50=a14_0xbdb66e;(0x0,assert_1['default'])(fs_1[_0xd50d50(0x1d2)][_0xd50d50(0x1cf)](_0x4520a3),_0xd50d50(0x1d8)+_0x4520a3);const _0x591fcf=utils_ok_1['fileUtil'][_0xd50d50(0x1cc)](_0x4520a3);return _0x591fcf['cookies'];}},exports[a14_0xbdb66e(0x1c7)]={'addSuffixToFile'(_0x2d7907,_0x4e5cf6){const _0x4db446=a14_0xbdb66e,_0x316be3=path_1[_0x4db446(0x1d2)][_0x4db446(0x1c6)](_0x2d7907),_0x48e91d=path_1[_0x4db446(0x1d2)]['extname'](_0x2d7907),_0x18c712=path_1[_0x4db446(0x1d2)]['basename'](_0x2d7907,_0x48e91d),_0x525799=''+_0x18c712+_0x4e5cf6+_0x48e91d,_0x34a1cc=path_1['default'][_0x4db446(0x1c5)](_0x316be3,_0x525799);fs_1['default'][_0x4db446(0x1cd)](_0x2d7907,_0x34a1cc);}};
|
package/dist/src/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';function a15_0x3356(){const _0x54e6b2=['1488PSmXJh','DEV','567029hyGzKA','strUtil','3105532Dnjgwm','DEBUG','1937586ySylqD','3641016MBoXfg','platform','5bGqjzk','132720BmBFSa','1056208NyXimZ','defineProperty','48771TWOzHb','safeBoolean','darwin'];a15_0x3356=function(){return _0x54e6b2;};return a15_0x3356();}const a15_0x20980a=a15_0x57fa;(function(_0x23e159,_0xd477ca){const _0x40d83d=a15_0x57fa,_0x44a97b=_0x23e159();while(!![]){try{const _0x3e0cd3=parseInt(_0x40d83d(0x192))/0x1+parseInt(_0x40d83d(0x18b))/0x2+-parseInt(_0x40d83d(0x18a))/0x3+-parseInt(_0x40d83d(0x194))/0x4*(parseInt(_0x40d83d(0x189))/0x5)+-parseInt(_0x40d83d(0x197))/0x6+-parseInt(_0x40d83d(0x196))/0x7+parseInt(_0x40d83d(0x190))/0x8*(parseInt(_0x40d83d(0x18d))/0x9);if(_0x3e0cd3===_0xd477ca)break;else _0x44a97b['push'](_0x44a97b['shift']());}catch(_0x54544a){_0x44a97b['push'](_0x44a97b['shift']());}}}(a15_0x3356,0x615da));Object[a15_0x20980a(0x18c)](exports,'__esModule',{'value':!![]}),exports[a15_0x20980a(0x191)]=exports[a15_0x20980a(0x195)]=void 0x0;function a15_0x57fa(_0x264974,_0x2d1b44){_0x264974=_0x264974-0x188;const _0x33568d=a15_0x3356();let _0x57fa59=_0x33568d[_0x264974];return _0x57fa59;}const utils_ok_1=require('utils-ok'),platform=require('os')[a15_0x20980a(0x188)](),isOSX=platform===a15_0x20980a(0x18f);exports['DEBUG']=utils_ok_1[a15_0x20980a(0x193)][a15_0x20980a(0x18e)](process.env.DEBUG||''),exports[a15_0x20980a(0x191)]=isOSX;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cc-ding",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "钉钉机器人对接本地Claude工具",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -10,26 +10,26 @@
|
|
|
10
10
|
"main": "dist/index",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"commander": "^7.2.0",
|
|
13
|
-
"dotenv": "^16.
|
|
13
|
+
"dotenv": "^16.6.1",
|
|
14
14
|
"shelljs": "^0.10.0",
|
|
15
15
|
"urllib": "^4.9.0",
|
|
16
|
-
"utils-ok": "1"
|
|
16
|
+
"utils-ok": "^1.1.2"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@types/chai": "^5.2.3",
|
|
20
|
-
"@types/mocha": "^9.
|
|
21
|
-
"@types/node": "^16.
|
|
20
|
+
"@types/mocha": "^9.1.1",
|
|
21
|
+
"@types/node": "^16.18.126",
|
|
22
22
|
"@types/shelljs": "^0.10.0",
|
|
23
23
|
"blacklint": "^1.0.0",
|
|
24
24
|
"chai": "^6.2.2",
|
|
25
|
-
"eslint": "9",
|
|
25
|
+
"eslint": "^9.39.4",
|
|
26
26
|
"eslint-config-egg": "^14.1.0",
|
|
27
|
-
"globals": "^17.
|
|
28
|
-
"husky": "8",
|
|
27
|
+
"globals": "^17.6.0",
|
|
28
|
+
"husky": "^8.0.3",
|
|
29
29
|
"javascript-obfuscator": "^5.4.2",
|
|
30
|
-
"mocha": "^8.0
|
|
31
|
-
"ts-node": "^10.9.
|
|
32
|
-
"typescript": "5"
|
|
30
|
+
"mocha": "^8.4.0",
|
|
31
|
+
"ts-node": "^10.9.2",
|
|
32
|
+
"typescript": "^5.9.3"
|
|
33
33
|
},
|
|
34
34
|
"author": "yhn",
|
|
35
35
|
"bin": {
|