@wujie-shell/core 2.0.0 → 2.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.
Files changed (53) hide show
  1. package/README.md +30 -0
  2. package/dist/bin/wujie-shell.mjs +1 -1
  3. package/dist/src/agents/bundled-agent-skills.mjs +1 -0
  4. package/dist/src/agents/bundled-agents.mjs +1 -0
  5. package/dist/src/chat/media-archive.mjs +1 -0
  6. package/dist/src/chat/queue.mjs +1 -0
  7. package/dist/src/common/diagnostics.mjs +1 -0
  8. package/dist/src/common/logging.mjs +1 -0
  9. package/dist/src/common/runtime-logger.mjs +1 -0
  10. package/dist/src/common/user-events.mjs +1 -0
  11. package/dist/src/common/utils.mjs +1 -0
  12. package/dist/src/config/controller.mjs +1 -0
  13. package/dist/src/connectors/config-utils.mjs +1 -1
  14. package/dist/src/connectors/constants.mjs +1 -1
  15. package/dist/src/connectors/controller.mjs +1 -0
  16. package/dist/src/connectors/kdocs-cli.mjs +1 -0
  17. package/dist/src/electron/main.mjs +1 -1
  18. package/dist/src/electron/preload.mjs +1 -1
  19. package/dist/src/files/generated-files-store.mjs +1 -0
  20. package/dist/src/files/handlers.mjs +1 -0
  21. package/dist/src/gateway/controller.mjs +1 -0
  22. package/dist/src/gateway/ws-client.mjs +1 -0
  23. package/dist/src/index.mjs +1 -1
  24. package/dist/src/log-reporting/handlers.mjs +1 -0
  25. package/dist/src/log-reporting/report-logs.mjs +1 -0
  26. package/dist/src/models/handlers.mjs +1 -0
  27. package/dist/src/preferences/store.mjs +1 -0
  28. package/dist/src/runtime/index.mjs +1 -0
  29. package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -0
  30. package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -0
  31. package/dist/src/runtime/plugin-sync.mjs +1 -0
  32. package/dist/src/sessions/agent-sessions-map-store.mjs +1 -0
  33. package/dist/src/skills/import.mjs +1 -0
  34. package/dist/src/skills/market.mjs +1 -0
  35. package/dist/src/terminal/manager.mjs +1 -0
  36. package/package.json +5 -5
  37. package/dist/src/agent-sessions-map-store.mjs +0 -1
  38. package/dist/src/bundled-agent-skills.mjs +0 -1
  39. package/dist/src/bundled-agents.mjs +0 -1
  40. package/dist/src/config-controller.mjs +0 -1
  41. package/dist/src/connectors/connector-controller.mjs +0 -1
  42. package/dist/src/gateway-controller.mjs +0 -1
  43. package/dist/src/gateway-ws.mjs +0 -1
  44. package/dist/src/generated-files-store.mjs +0 -1
  45. package/dist/src/logging.mjs +0 -1
  46. package/dist/src/openclaw-config-compat.mjs +0 -1
  47. package/dist/src/plugin-sync.mjs +0 -1
  48. package/dist/src/product-preferences-store.mjs +0 -1
  49. package/dist/src/runtime-logger.mjs +0 -1
  50. package/dist/src/runtime.mjs +0 -1
  51. package/dist/src/skill-import.mjs +0 -1
  52. package/dist/src/terminal-manager.mjs +0 -1
  53. package/dist/src/utils.mjs +0 -1
@@ -0,0 +1 @@
1
+ const _0x4a6d1b=_0x3bd4;(function(_0x159fe9,_0x1e05dd){const _0xe44678=_0x3bd4,_0xf2b434=_0x159fe9();while(!![]){try{const _0x32237c=parseInt(_0xe44678(0x198))/0x1+parseInt(_0xe44678(0x17a))/0x2+-parseInt(_0xe44678(0x191))/0x3*(parseInt(_0xe44678(0x165))/0x4)+-parseInt(_0xe44678(0x18a))/0x5+-parseInt(_0xe44678(0x161))/0x6*(parseInt(_0xe44678(0x196))/0x7)+-parseInt(_0xe44678(0x194))/0x8+parseInt(_0xe44678(0x183))/0x9*(parseInt(_0xe44678(0x18d))/0xa);if(_0x32237c===_0x1e05dd)break;else _0xf2b434['push'](_0xf2b434['shift']());}catch(_0x11e91b){_0xf2b434['push'](_0xf2b434['shift']());}}}(_0x193f,0x51d44));import{existsSync}from'node:fs';import{copyFile,mkdir,readFile,writeFile}from'node:fs/promises';import{dirname,extname,join}from'node:path';import{asRecord,readJson,writeJson}from'../common/utils.mjs';function _0x193f(){const _0x50ff51=['pop','role','5292728ElLsor','trim','63CYBIiT','POSITIVE','487555qyaHaW','188358iHbbXM','number','.jsonl','d\x20is\x20req','34048pohiDy','ile','utf8','isArray','user','timestam','assistan','sessions','sessionI','agents','cutoffTe','agent','lTs','split','parse','.json','text','isFinite','session','agentId','push','937718cFQZxz','join','main','length','ssionKey','sessionF','string','filter','map','45nKBaZz','uired','sourceSe','quired','cutoffRo','content','includes','1858815rngxWJ','entries','type','2036210EIOOAp','slice','sessionK','message','114JDheiq'];_0x193f=function(){return _0x50ff51;};return _0x193f();}const CLONED_AGENT_SESSION_EXCLUDED_FIELDS=new Set(['sessionK'+'ey',_0x4a6d1b(0x16d)+'d','label',_0x4a6d1b(0x17f)+_0x4a6d1b(0x166)]);function extractAgentIdFromSessionKey(_0x1ced61){const _0x2cfe69=_0x4a6d1b,_0x4fe6fa=String(_0x1ced61||'')[_0x2cfe69(0x172)](':'),_0x38c1d7=_0x4fe6fa[0x1]?.['trim']();return _0x38c1d7||_0x2cfe69(0x17c);}function mapPath(_0x18171b,_0x5be69e='main'){const _0x3d6506=_0x4a6d1b;return join(_0x18171b,'agents',_0x5be69e,_0x3d6506(0x16c),'sessions'+_0x3d6506(0x174));}async function readRawMap(_0x2ddc36,_0xa19829='main'){return asRecord(await readJson(mapPath(_0x2ddc36,_0xa19829),{}));}function _0x3bd4(_0xd101de,_0x330d8a){_0xd101de=_0xd101de-0x161;const _0x193f4e=_0x193f();let _0x3bd474=_0x193f4e[_0xd101de];return _0x3bd474;}function normalizeMap(_0x5be964){const _0x449a04=_0x4a6d1b,_0x47ab56={};for(const [_0x246be0,_0x159e25]of Object[_0x449a04(0x18b)](asRecord(_0x5be964))){const _0x451dbe=asRecord(_0x159e25)[_0x449a04(0x16d)+'d'];_0x246be0&&typeof _0x451dbe===_0x449a04(0x180)&&_0x451dbe['trim']()&&(_0x47ab56[_0x246be0]={'sessionId':_0x451dbe[_0x449a04(0x195)]()});}return _0x47ab56;}function resolveNewSessionFilePath(_0x56f9ba,_0x144835,_0x2e2991,_0xf506d4,_0xc2d3d9){const _0x512b8d=_0x4a6d1b,_0x5f2c6f=typeof _0x144835[_0x512b8d(0x17f)+'ile']==='string'?_0x144835[_0x512b8d(0x17f)+_0x512b8d(0x166)]['trim']():'';if(_0x5f2c6f)return _0x5f2c6f;const _0x287ed8=_0x2e2991&&typeof _0x2e2991[_0x512b8d(0x17f)+'ile']===_0x512b8d(0x180)?extname(_0x2e2991['sessionF'+_0x512b8d(0x166)][_0x512b8d(0x195)]()):'';return join(_0x56f9ba,_0x512b8d(0x16e),_0xc2d3d9,_0x512b8d(0x16c),''+_0xf506d4+(_0x287ed8||_0x512b8d(0x163)));}function cloneForkedSessionExtraFields(_0x5c6a92){const _0x46caf4=_0x4a6d1b;if(!_0x5c6a92)return{};const _0x55a746={};for(const [_0x4a0069,_0x258044]of Object[_0x46caf4(0x18b)](_0x5c6a92)){if(CLONED_AGENT_SESSION_EXCLUDED_FIELDS['has'](_0x4a0069))continue;_0x55a746[_0x4a0069]=_0x258044;}return _0x55a746;}async function copySessionFileIfNeeded(_0x187e37,_0x3e5115){const _0xcd680c=_0x4a6d1b;if(!_0x187e37||!_0x3e5115)return;const _0x14a558=typeof _0x187e37['sessionF'+_0xcd680c(0x166)]==='string'?_0x187e37[_0xcd680c(0x17f)+_0xcd680c(0x166)][_0xcd680c(0x195)]():'',_0x2acbd2=String(_0x3e5115||'')[_0xcd680c(0x195)]();if(!_0x14a558||!_0x2acbd2||_0x14a558===_0x2acbd2)return;if(!existsSync(_0x14a558))return;await mkdir(dirname(_0x2acbd2),{'recursive':!![]}),await copyFile(_0x14a558,_0x2acbd2);}function extractMessageEntryText(_0x43c022){const _0x18cc3f=_0x4a6d1b,_0x3ec87c=asRecord(_0x43c022[_0x18cc3f(0x190)]),_0x580688=_0x3ec87c[_0x18cc3f(0x188)];if(typeof _0x580688===_0x18cc3f(0x180))return _0x580688;if(!Array[_0x18cc3f(0x168)](_0x580688))return'';return _0x580688[_0x18cc3f(0x182)](_0x28b6bc=>{const _0x48f5b3=_0x18cc3f,_0x12fb35=asRecord(_0x28b6bc);return _0x12fb35[_0x48f5b3(0x18c)]===_0x48f5b3(0x175)&&typeof _0x12fb35[_0x48f5b3(0x175)]==='string'?_0x12fb35['text']:'';})[_0x18cc3f(0x181)](Boolean)['join']('\x0a');}function extractMessageEntryRole(_0x2ceecf){const _0x1ca053=_0x4a6d1b,_0x5bffd4=asRecord(_0x2ceecf['message']);if(typeof _0x5bffd4[_0x1ca053(0x193)]==='string')return _0x5bffd4[_0x1ca053(0x193)];if(typeof _0x2ceecf['role']===_0x1ca053(0x180))return _0x2ceecf[_0x1ca053(0x193)];return'';}function parseJsonLine(_0x2e6d71){const _0x3c2407=_0x4a6d1b;try{const _0x1ec06d=JSON[_0x3c2407(0x173)](_0x2e6d71);return asRecord(_0x1ec06d);}catch{return null;}}function entryTimestampMs(_0x560702){const _0x131fbb=_0x4a6d1b,_0x1be6ec=_0x560702[_0x131fbb(0x16a)+'p'];if(typeof _0x1be6ec===_0x131fbb(0x180)){const _0x29b4b4=Date[_0x131fbb(0x173)](_0x1be6ec);return Number[_0x131fbb(0x176)](_0x29b4b4)?_0x29b4b4:null;}if(typeof _0x1be6ec===_0x131fbb(0x162)&&Number[_0x131fbb(0x176)](_0x1be6ec))return _0x1be6ec;return null;}async function trimSessionFileForFork(_0x3df649,_0x1303b5){const _0x5705a8=_0x4a6d1b;if(!_0x3df649||!existsSync(_0x3df649))return;const {keepUntilTs:_0xa09166,cutoffRole:_0x45ba6e,cutoffText:_0x5e45bf}=_0x1303b5,_0x27871d=typeof _0xa09166===_0x5705a8(0x162)&&Number[_0x5705a8(0x176)](_0xa09166),_0x379fb2=typeof _0x5e45bf===_0x5705a8(0x180)?_0x5e45bf[_0x5705a8(0x195)]():'',_0x32db6c=_0x45ba6e===_0x5705a8(0x170)?_0x5705a8(0x16b)+'t':_0x45ba6e===_0x5705a8(0x169)?_0x5705a8(0x169):'',_0x1b0593=Boolean(_0x32db6c&&_0x379fb2);if(!_0x27871d&&!_0x1b0593)return;let _0x3baecb='';try{_0x3baecb=await readFile(_0x3df649,_0x5705a8(0x167));}catch{return;}const _0x1552d0=_0x3baecb[_0x5705a8(0x172)]('\x0a');let _0x443ecd=-0x1;const _0x3cd1a0=_0x27871d?_0xa09166+0xa*0x3c*0x3e8:Number[_0x5705a8(0x197)+'_INFINIT'+'Y'];if(_0x1b0593)for(let _0x3df214=0x0;_0x3df214<_0x1552d0[_0x5705a8(0x17d)];_0x3df214+=0x1){const _0x4c410d=_0x1552d0[_0x3df214][_0x5705a8(0x195)]();if(!_0x4c410d)continue;const _0x596ebf=parseJsonLine(_0x4c410d);if(!_0x596ebf||_0x596ebf[_0x5705a8(0x18c)]!==_0x5705a8(0x190))continue;if(extractMessageEntryRole(_0x596ebf)!==_0x32db6c)continue;const _0x2ee6fd=extractMessageEntryText(_0x596ebf)[_0x5705a8(0x195)]();if(!_0x2ee6fd||!_0x2ee6fd[_0x5705a8(0x189)](_0x379fb2))continue;const _0x2e05c6=entryTimestampMs(_0x596ebf);if(_0x2e05c6!==null&&_0x2e05c6>_0x3cd1a0)continue;_0x443ecd=_0x3df214;}let _0x1ae35e=[];if(_0x443ecd>=0x0)_0x1ae35e=_0x1552d0[_0x5705a8(0x18e)](0x0,_0x443ecd+0x1);else{if(_0x27871d)for(const _0x167ac1 of _0x1552d0){const _0x4c6332=_0x167ac1[_0x5705a8(0x195)]();if(!_0x4c6332)continue;const _0x3179ea=parseJsonLine(_0x4c6332);if(!_0x3179ea){_0x1ae35e[_0x5705a8(0x179)](_0x167ac1);continue;}if(_0x3179ea['type']===_0x5705a8(0x177)){_0x1ae35e[_0x5705a8(0x179)](_0x167ac1);continue;}const _0x487284=entryTimestampMs(_0x3179ea);if(_0x487284===null||_0x487284<=_0xa09166)_0x1ae35e[_0x5705a8(0x179)](_0x167ac1);}}while(_0x1ae35e[_0x5705a8(0x17d)]>0x0&&_0x1ae35e[_0x1ae35e[_0x5705a8(0x17d)]-0x1][_0x5705a8(0x195)]()==='')_0x1ae35e[_0x5705a8(0x192)]();await writeFile(_0x3df649,_0x1ae35e[_0x5705a8(0x17b)]('\x0a')+'\x0a',_0x5705a8(0x167));}export function createAgentSessionsMapStore({stateDir:_0x52a228}){async function _0x1d8bfc(_0x291022={}){const _0x33c3fa=_0x3bd4,_0x49ea5b=String(_0x291022[_0x33c3fa(0x178)]||_0x33c3fa(0x17c));return normalizeMap(await readRawMap(_0x52a228,_0x49ea5b));}async function _0x4a4bdc(_0x255a3e={}){const _0x273063=_0x3bd4,_0x1ea5d5=String(_0x255a3e[_0x273063(0x18f)+'ey']||'')[_0x273063(0x195)](),_0x20ef22=String(_0x255a3e['sessionI'+'d']||'')['trim']();if(!_0x1ea5d5)throw new Error(_0x273063(0x18f)+'ey\x20is\x20re'+_0x273063(0x186));if(!_0x20ef22)throw new Error(_0x273063(0x16d)+_0x273063(0x164)+_0x273063(0x184));const _0x94f35b=extractAgentIdFromSessionKey(_0x1ea5d5),_0x410134=await readRawMap(_0x52a228,_0x94f35b),_0xf90310=asRecord(_0x410134[_0x1ea5d5]),_0x1c7a91=String(_0x255a3e[_0x273063(0x185)+_0x273063(0x17e)]||'')['trim'](),_0x363f99=_0x1c7a91?extractAgentIdFromSessionKey(_0x1c7a91):_0x94f35b,_0xa3acba=_0x363f99!==_0x94f35b?await readRawMap(_0x52a228,_0x363f99):_0x410134,_0x4a3b1c=_0x1c7a91?asRecord(_0xa3acba[_0x1c7a91]):null,_0x59138b=_0x4a3b1c&&Object['keys'](_0x4a3b1c)['length']>0x0,_0x30dfd3=resolveNewSessionFilePath(_0x52a228,_0xf90310,_0x59138b?_0x4a3b1c:null,_0x20ef22,_0x94f35b),_0x30df3a=typeof _0x255a3e['keepUnti'+_0x273063(0x171)]===_0x273063(0x162)&&Number[_0x273063(0x176)](_0x255a3e['keepUnti'+_0x273063(0x171)])?_0x255a3e['keepUnti'+'lTs']:null,_0x375aef=typeof _0x255a3e[_0x273063(0x187)+'le']===_0x273063(0x180)?_0x255a3e['cutoffRo'+'le']:null,_0xc88e08=typeof _0x255a3e[_0x273063(0x16f)+'xt']==='string'?_0x255a3e['cutoffTe'+'xt']:null;return _0x410134[_0x1ea5d5]={..._0xf90310,...cloneForkedSessionExtraFields(_0x59138b?_0x4a3b1c:null),'sessionId':_0x20ef22,'sessionFile':_0x30dfd3,..._0x59138b?{'forkedFromParent':!![]}:{}},await copySessionFileIfNeeded(_0x59138b?_0x4a3b1c:null,_0x30dfd3),_0x59138b&&(_0x30df3a!==null||_0x375aef&&_0xc88e08)&&await trimSessionFileForFork(_0x30dfd3,{'keepUntilTs':_0x30df3a,'cutoffRole':_0x375aef,'cutoffText':_0xc88e08}),await writeJson(mapPath(_0x52a228,_0x94f35b),_0x410134),normalizeMap(_0x410134);}return{'get':_0x1d8bfc,'upsert':_0x4a4bdc};}
@@ -0,0 +1 @@
1
+ (function(_0x319a32,_0x330c82){const _0x4d30e0=_0x2821,_0x40aef9=_0x319a32();while(!![]){try{const _0x17c0aa=parseInt(_0x4d30e0(0x183))/0x1*(parseInt(_0x4d30e0(0x19a))/0x2)+parseInt(_0x4d30e0(0x1ed))/0x3*(parseInt(_0x4d30e0(0x1cb))/0x4)+-parseInt(_0x4d30e0(0x195))/0x5*(parseInt(_0x4d30e0(0x1ae))/0x6)+-parseInt(_0x4d30e0(0x1e8))/0x7*(-parseInt(_0x4d30e0(0x1c2))/0x8)+-parseInt(_0x4d30e0(0x18b))/0x9+-parseInt(_0x4d30e0(0x1d1))/0xa*(-parseInt(_0x4d30e0(0x1f2))/0xb)+-parseInt(_0x4d30e0(0x1f3))/0xc;if(_0x17c0aa===_0x330c82)break;else _0x40aef9['push'](_0x40aef9['shift']());}catch(_0xfb32e9){_0x40aef9['push'](_0x40aef9['shift']());}}}(_0x463c,0xe8b45));function _0x2821(_0x3d059e,_0x4782c2){_0x3d059e=_0x3d059e-0x16d;const _0x463cae=_0x463c();let _0x2821fa=_0x463cae[_0x3d059e];return _0x2821fa;}import{execFile}from'node:child_process';import{existsSync}from'node:fs';import{cp,mkdir,mkdtemp,readFile,readdir,rename,rm,writeFile}from'node:fs/promises';import{basename,dirname,join,parse}from'node:path';import{asRecord,dedupeStrings,getTrimmedString}from'../common/utils.mjs';function sanitizeManagedSkillDirSegment(_0x81f901){const _0x500f4f=_0x2821;let _0xb192a8=getTrimmedString(_0x81f901)[_0x500f4f(0x1ef)](/[<>:"/\\|?*\u0000-\u001f]/g,'-');return _0xb192a8=_0xb192a8[_0x500f4f(0x1ef)](/-+/g,'-')[_0x500f4f(0x1ef)](/^[-.]+|[-.]+$/g,''),_0xb192a8[_0x500f4f(0x1a3)](0x0,0x78);}function buildManagedSkillDirectoryName(_0x24451c,_0x165ce3,_0x16c318){const _0x26fa18=_0x2821,_0x47ac51=sanitizeManagedSkillDirSegment(_0x24451c)||sanitizeManagedSkillDirSegment(_0x16c318)||_0x26fa18(0x171)+_0x26fa18(0x1f7),_0x1c9f91=sanitizeManagedSkillDirSegment(_0x165ce3),_0xd05269=_0x1c9f91?_0x47ac51+'-'+_0x1c9f91:_0x47ac51;return _0xd05269[_0x26fa18(0x1a3)](0x0,0xc8)||'imported'+_0x26fa18(0x1f7);}function extractVersionFromZipUrl(_0x4c78c6){const _0x49646e=_0x2821;if(!getTrimmedString(_0x4c78c6))return null;try{const _0x51e1c8=basename(new URL(_0x4c78c6)['pathname']),_0x5084dc=_0x51e1c8[_0x49646e(0x1ef)](/\.zip$/i,'');return _0x5084dc[_0x49646e(0x1d7)](/(?:^|[-_v])(\d+\.\d+\.\d+(?:[-+][\w.-]+)?)(?:$|[-_])/i)?.[0x1]??null;}catch{return null;}}async function extractZipToDirectory(_0x22d66d,_0x50df82){await new Promise((_0x3d8ecd,_0x4fb7b1)=>{const _0x57dc3e=_0x2821;let _0x44717f;if(process[_0x57dc3e(0x1da)]==='win32'){const _0x1e89de=_0x22d66d[_0x57dc3e(0x1ef)](/'/g,'\x27\x27'),_0x2be096=_0x50df82['replace'](/'/g,'\x27\x27');_0x44717f=execFile('powershe'+_0x57dc3e(0x1b5),[_0x57dc3e(0x1b2)+'le',_0x57dc3e(0x1cf)+'ractive','-Command',_0x57dc3e(0x176)+_0x57dc3e(0x1a5)+_0x57dc3e(0x16f)+'ath\x20\x27'+_0x1e89de+(_0x57dc3e(0x1d2)+_0x57dc3e(0x1f1)+'th\x20\x27')+_0x2be096+_0x57dc3e(0x17b)],_0x7dc6f0=>_0x7dc6f0?_0x4fb7b1(_0x7dc6f0):_0x3d8ecd());}else _0x44717f=execFile(_0x57dc3e(0x1ba),['-q',_0x22d66d,'-d',_0x50df82],_0x2d6643=>_0x2d6643?_0x4fb7b1(_0x2d6643):_0x3d8ecd());_0x44717f['on']('error',_0x4fb7b1);});}async function findSkillManifestDirectories(_0x2c6820){const _0x512196=[];async function _0x53514c(_0x4f96db){const _0x225b5b=_0x2821,_0x1ec1d5=await readdir(_0x4f96db,{'withFileTypes':!![]}),_0x2b6341=new Set(_0x1ec1d5[_0x225b5b(0x180)](_0x5f40b3=>_0x5f40b3['name'][_0x225b5b(0x1a6)+'ase']()));if(_0x2b6341[_0x225b5b(0x1ad)](_0x225b5b(0x1b3))||_0x2b6341['has']('SKILLS.M'+'D')){_0x512196[_0x225b5b(0x1aa)](_0x4f96db);return;}for(const _0x2311b4 of _0x1ec1d5){if(!_0x2311b4[_0x225b5b(0x173)+'ory']()||_0x2311b4[_0x225b5b(0x194)]===_0x225b5b(0x1c7)||_0x2311b4[_0x225b5b(0x194)][_0x225b5b(0x1bf)+'th']('.'))continue;await _0x53514c(join(_0x4f96db,_0x2311b4[_0x225b5b(0x194)]));}}return await _0x53514c(_0x2c6820),_0x512196;}async function normalizeImportedSkillManifest(_0x3489bf){const _0x4ce14b=_0x2821,_0x4df801=join(_0x3489bf,_0x4ce14b(0x1a4)),_0x1fa069=await readdir(_0x3489bf,{'withFileTypes':!![]})[_0x4ce14b(0x175)](()=>[]);let _0x426e8e=null,_0x466ee6=null;for(const _0x1baf57 of _0x1fa069){if(!_0x1baf57[_0x4ce14b(0x1a0)]())continue;const _0x1ea812=_0x1baf57[_0x4ce14b(0x194)][_0x4ce14b(0x1a6)+_0x4ce14b(0x18d)]();if(_0x1ea812===_0x4ce14b(0x1b3))_0x426e8e=_0x1baf57['name'];else{if(_0x1ea812===_0x4ce14b(0x1b7)+'D')_0x466ee6=_0x1baf57[_0x4ce14b(0x194)];}}if(_0x426e8e===_0x4ce14b(0x1a4))return;const _0x314006=_0x426e8e??_0x466ee6;if(!_0x314006)return;const _0x591aa0=join(_0x3489bf,_0x314006);if(_0x591aa0!==_0x4df801)await rename(_0x591aa0,_0x4df801);}async function moveDirectoryWithOverwrite(_0x32a0f9,_0x4450e2){const _0x11339d=_0x2821;await mkdir(dirname(_0x4450e2),{'recursive':!![]});try{await rename(_0x32a0f9,_0x4450e2);return;}catch(_0xd0cf18){if(_0xd0cf18?.['code']!==_0x11339d(0x196))throw _0xd0cf18;}await cp(_0x32a0f9,_0x4450e2,{'recursive':!![],'force':!![]}),await rm(_0x32a0f9,{'recursive':!![],'force':!![]});}async function readManifestText(_0x30e785){const _0x33639a=_0x2821,_0x48c38d=[join(_0x30e785,_0x33639a(0x1a4)),join(_0x30e785,_0x33639a(0x1f9)+'d')][_0x33639a(0x1e3)](_0x4ecf4a=>existsSync(_0x4ecf4a));if(!_0x48c38d)return'';return await readFile(_0x48c38d,'utf8')[_0x33639a(0x175)](()=>'');}function resolveFrontmatterValue(_0x2e23f8,_0x5f4586){const _0x5bc785=_0x2821,_0x5332c3=_0x2e23f8[_0x5bc785(0x1d7)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x3e52d4=_0x5332c3?.[0x1]??'',_0xd8454d=_0x3e52d4['match'](new RegExp(_0x5bc785(0x1cc)+_0x5f4586+(_0x5bc785(0x1b0)+'$'),'m'))?.[0x1];return getTrimmedString(_0xd8454d)['replace'](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x960af1){const _0x23e1a8=_0x2821,_0x3ce81f=await readManifestText(_0x960af1);if(!_0x3ce81f['trim']())return null;const _0x29a9ec=_0x3ce81f['match'](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x29a9ec?.[0x1])return getTrimmedString(_0x29a9ec[0x1]);return resolveFrontmatterValue(_0x3ce81f,_0x23e1a8(0x197))||resolveFrontmatterValue(_0x3ce81f,_0x23e1a8(0x194));}async function resolveSkillVersionFromManifest(_0x4c597c){const _0x1727a0=_0x2821,_0x41dd53=await readManifestText(_0x4c597c);if(!_0x41dd53[_0x1727a0(0x1c3)]())return null;const _0x1466c5=_0x41dd53['match'](/"version"\s*:\s*"([^"]+)"/);if(_0x1466c5?.[0x1])return getTrimmedString(_0x1466c5[0x1]);return resolveFrontmatterValue(_0x41dd53,'version');}async function collectSkillDirsUnderRoot(_0x5101ee,_0x38465a,_0x4e6674){const _0x280ac8=_0x2821;if(!existsSync(_0x5101ee))return;for(const _0x33e4ba of await readdir(_0x5101ee,{'withFileTypes':!![]})[_0x280ac8(0x175)](()=>[])){if(!_0x33e4ba[_0x280ac8(0x173)+_0x280ac8(0x1f5)]())continue;const _0x51f0f3=join(_0x5101ee,_0x33e4ba[_0x280ac8(0x194)]),_0x9bc1cb=await resolveSkillKeyFromManifest(_0x51f0f3);if(_0x9bc1cb&&_0x38465a[_0x280ac8(0x1ad)](_0x9bc1cb))_0x4e6674[_0x280ac8(0x1bc)](_0x51f0f3);}}async function removeSkillConfigEntries(_0x253492,_0x3de17c){const _0x4259ff=_0x2821,_0x581636=new Set(_0x3de17c[_0x4259ff(0x180)](getTrimmedString)[_0x4259ff(0x1e2)](Boolean));if(_0x581636[_0x4259ff(0x19d)]===0x0)return;const _0x40679f=await _0x253492[_0x4259ff(0x1c5)+'ig']()['catch'](()=>({})),_0x2a37db=asRecord(_0x40679f[_0x4259ff(0x198)]),_0x284d09={...asRecord(_0x2a37db[_0x4259ff(0x1d4)])};let _0x4b2330=![];for(const _0x25f2bb of _0x581636){Object[_0x4259ff(0x1db)+'e'][_0x4259ff(0x1d9)+_0x4259ff(0x1be)]['call'](_0x284d09,_0x25f2bb)&&(delete _0x284d09[_0x25f2bb],_0x4b2330=!![]);}if(!_0x4b2330)return;_0x2a37db[_0x4259ff(0x1d4)]=_0x284d09,_0x40679f['skills']=_0x2a37db,_0x253492['markConf'+_0x4259ff(0x1af)+_0x4259ff(0x1f4)+_0x4259ff(0x17c)]?.(),await _0x253492['writeCon'+_0x4259ff(0x191)](_0x40679f,_0x4259ff(0x19c)+_0x4259ff(0x1c6)+_0x4259ff(0x1ee)+_0x4259ff(0x1b1));}export async function deleteManagedSkill({payload:payload={},gateway:_0x375b34,configController:_0x4b2285}){const _0x4862c9=_0x2821,_0x2cd62e=asRecord(payload),_0x32b108=getTrimmedString(_0x2cd62e['skillKey']??_0x2cd62e[_0x4862c9(0x194)]);if(!_0x32b108)throw new Error(_0x4862c9(0x1eb)+'y\x20is\x20req'+_0x4862c9(0x17e));const _0x456d21=await _0x375b34[_0x4862c9(0x198)]['status']()[_0x4862c9(0x175)](()=>({'skills':[]})),_0x4a7d31=Array[_0x4862c9(0x1ce)](asRecord(_0x456d21)[_0x4862c9(0x198)])?asRecord(_0x456d21)[_0x4862c9(0x198)]:[],_0x175990=_0x4a7d31['map'](asRecord)[_0x4862c9(0x1e3)](_0x5bb63f=>{const _0x577bed=_0x4862c9;return getTrimmedString(_0x5bb63f[_0x577bed(0x197)])===_0x32b108||getTrimmedString(_0x5bb63f[_0x577bed(0x1a8)+_0x577bed(0x188)])===_0x32b108||getTrimmedString(_0x5bb63f[_0x577bed(0x194)])===_0x32b108;});if(!_0x175990)throw new Error(_0x4862c9(0x17d)+'除');if(_0x175990[_0x4862c9(0x1e6)])throw new Error(_0x4862c9(0x1dc));if(_0x175990[_0x4862c9(0x170)]||_0x175990[_0x4862c9(0x1f6)]==='openclaw'+_0x4862c9(0x182)||_0x175990[_0x4862c9(0x1f6)]===_0x4862c9(0x189)+_0x4862c9(0x19e))throw new Error(_0x4862c9(0x187)+_0x4862c9(0x1e5));if(!_0x175990['disabled'])throw new Error(_0x4862c9(0x1a9)+'删除');const _0x27279d=getTrimmedString(_0x175990['gatewayS'+_0x4862c9(0x188)])||_0x32b108,_0x5840f1=new Set([_0x32b108,_0x27279d,getTrimmedString(_0x175990[_0x4862c9(0x194)])][_0x4862c9(0x1e2)](Boolean)),_0x3f2011=new Set([join(_0x4b2285['resolveS'+'tateDir'](),'skills'),join(_0x4b2285[_0x4862c9(0x1cd)+'tateDir'](),_0x4862c9(0x1fb)+'e',_0x4862c9(0x198))]),_0x33130a=new Set();for(const _0x3f1f25 of _0x3f2011)await collectSkillDirsUnderRoot(_0x3f1f25,_0x5840f1,_0x33130a);if(_0x33130a['size']===0x0)throw new Error(_0x4862c9(0x1a2)+_0x4862c9(0x1e9)+'位于自定义\x20sk'+_0x4862c9(0x1fa)+'请手动删除');for(const _0x16f918 of _0x33130a)await rm(_0x16f918,{'recursive':!![],'force':!![]});return await removeSkillConfigEntries(_0x4b2285,[..._0x5840f1]),{'ok':!![],'skillKey':_0x32b108};}export async function updateManagedSkillConfig({payload:payload={},configController:_0x4d5a84}){const _0x3826c6=_0x2821,_0x49e58b=asRecord(payload),_0x247fe8=getTrimmedString(_0x49e58b[_0x3826c6(0x197)]??_0x49e58b['name']);if(!_0x247fe8)throw new Error(_0x3826c6(0x1eb)+_0x3826c6(0x174)+_0x3826c6(0x17e));const _0x5e8388=await _0x4d5a84[_0x3826c6(0x1c5)+'ig']()[_0x3826c6(0x175)](()=>({})),_0x1c7c07=asRecord(_0x5e8388['skills']),_0x1f9f41={...asRecord(_0x1c7c07['entries'])},_0x224566=asRecord(_0x1f9f41[_0x247fe8]),_0x304e9c={..._0x224566};typeof _0x49e58b[_0x3826c6(0x1bb)]===_0x3826c6(0x1d0)&&(_0x304e9c[_0x3826c6(0x1bb)]=_0x49e58b['enabled']);const _0x51260={...asRecord(_0x49e58b[_0x3826c6(0x1ac)])},_0x1d7059=getTrimmedString(_0x49e58b[_0x3826c6(0x177)]);if(_0x1d7059)_0x51260[_0x3826c6(0x177)]=_0x1d7059;Object[_0x3826c6(0x1e0)](_0x51260)[_0x3826c6(0x16d)]>0x0&&(_0x304e9c[_0x3826c6(0x1ac)]={...asRecord(_0x224566[_0x3826c6(0x1ac)]),..._0x51260});const _0x5d54bb=asRecord(_0x49e58b[_0x3826c6(0x1ca)]);return Object[_0x3826c6(0x1e0)](_0x5d54bb)[_0x3826c6(0x16d)]>0x0&&(_0x304e9c['config']={...asRecord(_0x224566[_0x3826c6(0x1ca)]),..._0x5d54bb}),_0x1f9f41[_0x247fe8]=_0x304e9c,_0x1c7c07[_0x3826c6(0x1d4)]=_0x1f9f41,_0x5e8388[_0x3826c6(0x198)]=_0x1c7c07,_0x4d5a84['markConf'+_0x3826c6(0x1af)+'andledIn'+'ternally']?.(),await _0x4d5a84[_0x3826c6(0x1d8)+_0x3826c6(0x191)](_0x5e8388,_0x3826c6(0x19c)+_0x3826c6(0x178)+'ated'),{'ok':!![],'skillKey':_0x247fe8};}async function ensureManagedSkillsConfig(_0x4931d8,_0xc34519=[]){const _0x22f3cb=_0x2821,_0x570156=await _0x4931d8[_0x22f3cb(0x1c5)+'ig']()[_0x22f3cb(0x175)](()=>({})),_0x2368c2=asRecord(_0x570156[_0x22f3cb(0x198)]),_0x598633=asRecord(_0x2368c2[_0x22f3cb(0x18a)]),_0x131e40=Array['isArray'](_0x598633['extraDir'+'s'])?_0x598633[_0x22f3cb(0x192)+'s']:[],_0x13b396=join(_0x4931d8[_0x22f3cb(0x1cd)+_0x22f3cb(0x19f)](),_0x22f3cb(0x198)),_0xd78cdc=dedupeStrings([..._0x131e40,_0x13b396]),_0x75f77f={...asRecord(_0x2368c2[_0x22f3cb(0x1d4)])};let _0x25c523=JSON[_0x22f3cb(0x19b)+'y'](_0x131e40)!==JSON[_0x22f3cb(0x19b)+'y'](_0xd78cdc);for(const _0x18c67f of _0xc34519[_0x22f3cb(0x180)](getTrimmedString)['filter'](Boolean)){if(Object[_0x22f3cb(0x1db)+'e'][_0x22f3cb(0x1d9)+'operty']['call'](_0x75f77f,_0x18c67f))continue;_0x75f77f[_0x18c67f]={'enabled':!![]},_0x25c523=!![];}if(!_0x25c523)return;_0x598633[_0x22f3cb(0x192)+'s']=_0xd78cdc,_0x2368c2[_0x22f3cb(0x18a)]=_0x598633,_0x2368c2[_0x22f3cb(0x1d4)]=_0x75f77f,_0x570156[_0x22f3cb(0x198)]=_0x2368c2,_0x4931d8['markConf'+_0x22f3cb(0x1af)+_0x22f3cb(0x1f4)+'ternally']?.(),await _0x4931d8[_0x22f3cb(0x1d8)+_0x22f3cb(0x191)](_0x570156,_0x22f3cb(0x193)+_0x22f3cb(0x179)+_0x22f3cb(0x1e1)+_0x22f3cb(0x184));}export async function syncManagedSkillsToConfig(_0x5e7c99){const _0x48ad32=_0x2821,_0x48426b=join(_0x5e7c99[_0x48ad32(0x1cd)+_0x48ad32(0x19f)](),_0x48ad32(0x198)),_0xea555e=[];for(const _0x509c48 of await readdir(_0x48426b,{'withFileTypes':!![]})[_0x48ad32(0x175)](()=>[])){if(!_0x509c48[_0x48ad32(0x173)+'ory']())continue;const _0xeef2de=await resolveSkillKeyFromManifest(join(_0x48426b,_0x509c48[_0x48ad32(0x194)]));if(_0xeef2de)_0xea555e['push'](_0xeef2de);}return await ensureManagedSkillsConfig(_0x5e7c99,_0xea555e),{'skillKeys':_0xea555e};}async function resolveZipPath({payload:_0x513c34,app:_0x4ea40c,dialog:_0x1113ef,dialogWindow:_0x2f8eae}){const _0xa6b685=_0x2821,_0x1770b7=getTrimmedString(_0x513c34['zipUrl']);let _0x7942e0=getTrimmedString(_0x513c34[_0xa6b685(0x1ea)+'ZipPath']),_0x5af1a0=null;if(!_0x7942e0&&_0x1770b7){const _0x27d9f5=new URL(_0x1770b7);_0x5af1a0=await mkdtemp(join(_0x4ea40c[_0xa6b685(0x1f0)]('temp'),_0xa6b685(0x18c)+_0xa6b685(0x1e7)+_0xa6b685(0x181))),_0x7942e0=join(_0x5af1a0,basename(_0x27d9f5['pathname'])||_0xa6b685(0x1de)+'ed-skill'+_0xa6b685(0x1dd));const _0xdf6ab9=await fetch(_0x27d9f5[_0xa6b685(0x1f8)]());if(!_0xdf6ab9['ok'])throw new Error(_0xa6b685(0x1b6)+_0xa6b685(0x1bd)+'\x20'+_0xdf6ab9[_0xa6b685(0x18f)]+')');await writeFile(_0x7942e0,Buffer['from'](await _0xdf6ab9['arrayBuf'+_0xa6b685(0x1c4)]()));}if(!_0x7942e0){const _0x5eac21={'title':'导入技能\x20ZIP','properties':[_0xa6b685(0x172)],'filters':[{'name':_0xa6b685(0x1ec)+_0xa6b685(0x1c8),'extensions':[_0xa6b685(0x1d3)]}]},_0x2c836c=_0x2f8eae?await _0x1113ef[_0xa6b685(0x17f)+_0xa6b685(0x186)](_0x2f8eae,_0x5eac21):await _0x1113ef[_0xa6b685(0x17f)+_0xa6b685(0x186)](_0x5eac21);if(_0x2c836c[_0xa6b685(0x1b9)]||_0x2c836c['filePath'+'s'][_0xa6b685(0x16d)]===0x0)return{'cancelled':!![],'zipPath':null,'downloadedZipDir':_0x5af1a0};_0x7942e0=_0x2c836c[_0xa6b685(0x1e4)+'s'][0x0];}return{'cancelled':![],'zipPath':_0x7942e0,'downloadedZipDir':_0x5af1a0};}export async function importSkillZip({payload:payload={},app:_0x19b1cd,dialog:_0x4170d7,dialogWindow:_0x58c05e,configController:_0x405c0f}){const _0x701904=_0x2821,_0xf99ed=asRecord(payload),_0x1466c7=getTrimmedString(_0xf99ed[_0x701904(0x1a1)]),{cancelled:_0x5a466b,zipPath:_0x431050,downloadedZipDir:_0x5bb28a}=await resolveZipPath({'payload':_0xf99ed,'app':_0x19b1cd,'dialog':_0x4170d7,'dialogWindow':_0x58c05e});if(_0x5a466b)return{'cancelled':!![],'imported':![],'overwritten':![],'skillDirName':null,'selectedZipPath':null,'zipUrl':_0x1466c7||null,'message':_0x701904(0x1b8)};const _0x510bf2=await mkdtemp(join(_0x19b1cd[_0x701904(0x1f0)](_0x701904(0x1ab)),'wujie-sk'+_0x701904(0x1b4)+_0x701904(0x185))),_0xbac694=join(_0x510bf2,'extracte'+'d');try{await mkdir(_0xbac694,{'recursive':!![]}),await extractZipToDirectory(_0x431050,_0xbac694);const _0x5b066b=await findSkillManifestDirectories(_0xbac694);if(_0x5b066b[_0x701904(0x16d)]===0x0)throw new Error('ZIP\x20中未找到'+_0x701904(0x1c1)+'d\x20或\x20SKIL'+_0x701904(0x1a7));if(_0x5b066b[_0x701904(0x16d)]>0x1)throw new Error(_0x701904(0x18e)+'个\x20skill\x20'+_0x701904(0x17a)+_0x701904(0x1c9));const _0x591f35=_0x5b066b[0x0];await normalizeImportedSkillManifest(_0x591f35);const _0x2341b3=basename(_0x591f35),_0x1b5233=parse(_0x431050)['name'][_0x701904(0x1c3)]()||'imported'+_0x701904(0x1f7),_0x1a3175=_0x2341b3===_0x701904(0x199)+'d'?_0x1b5233:_0x2341b3,_0x460df5=await resolveSkillKeyFromManifest(_0x591f35)??_0x1a3175,_0x45ed9c=await resolveSkillVersionFromManifest(_0x591f35)??(getTrimmedString(_0xf99ed[_0x701904(0x1df)])||extractVersionFromZipUrl(_0x1466c7)),_0x281ef2=buildManagedSkillDirectoryName(_0x460df5,_0x45ed9c,_0x1a3175),_0x2f6d2a=join(_0x405c0f[_0x701904(0x1cd)+_0x701904(0x19f)](),_0x701904(0x198)),_0x34acbb=join(_0x2f6d2a,_0x281ef2);if(existsSync(_0x34acbb)){if(_0xf99ed[_0x701904(0x1d6)+'e']!==!![])return{'cancelled':![],'imported':![],'overwritten':![],'needConfirmOverwrite':!![],'skillDirName':_0x281ef2,'overwriteTargetPath':_0x34acbb,'selectedZipPath':_0x431050,'zipUrl':_0x1466c7||null,'message':_0x701904(0x1c0)+_0x281ef2+(_0x701904(0x190)+_0x701904(0x16e))};await rm(_0x34acbb,{'recursive':!![],'force':!![]});}let _0x11c005=_0x591f35;return _0x2341b3===_0x701904(0x199)+'d'&&(_0x11c005=join(_0x510bf2,_0x281ef2),await rename(_0x591f35,_0x11c005)),await moveDirectoryWithOverwrite(_0x11c005,_0x34acbb),await ensureManagedSkillsConfig(_0x405c0f,[_0x460df5]),{'cancelled':![],'imported':!![],'overwritten':_0xf99ed[_0x701904(0x1d6)+'e']===!![],'skillKey':_0x460df5,'manifestKey':_0x460df5,'skillDirName':_0x281ef2,'targetPath':_0x34acbb,'selectedZipPath':_0x431050,'zipUrl':_0x1466c7||null,'message':_0x281ef2+_0x701904(0x1d5)};}finally{await rm(_0x510bf2,{'recursive':!![],'force':!![]});if(_0x5bb28a)await rm(_0x5bb28a,{'recursive':!![],'force':!![]});}}function _0x463c(){const _0xd60ae9=['overwrit','match','writeCon','hasOwnPr','platform','prototyp','该技能不允许删除','.zip','download','version','keys','onfig\x20en','filter','find','filePath','法删除','always','ill-down','46935vmOkha','盘上的目录,可能','selected','Skill\x20ke','ZIP\x20Arch','111cSZFQi','ries\x20rem','replace','getPath','nationPa','3867919TmGpHq','1690308hifpry','andledIn','ory','source','-skill','toString','SKILLS.m','ills\x20路径,','workspac','length','是否覆盖','LiteralP','bundled','imported','openFile','isDirect','y\x20is\x20req','catch','Expand-A','apiKey','nfig\x20upd','skills\x20c','目录,当前一次只','\x27\x20-Force','ternally','技能不存在或已移','uired','showOpen','map','load-','-bundled','49956NOteHo','sured','rt-','Dialog','内置/扩展技能无','killKey','openclaw','load','5248404YszPcT','wujie-sk','ase','ZIP\x20中包含多','status','\x22已存在,请确认','fig','extraDir','managed\x20','name','7772685FLZRWd','EXDEV','skillKey','skills','extracte','14vtTtok','stringif','skill\x20co','size','-extra','tateDir','isFile','zipUrl','未找到该技能在磁','slice','SKILL.md','rchive\x20-','toUpperC','LS.md','gatewayS','请先关闭技能后再','push','temp','env','has','6NWzxVD','igWriteH',':\x5cs*(.+)','oved','-NoProfi','SKILL.MD','ill-impo','ll.exe','下载技能\x20ZIP','SKILLS.M','已取消导入','canceled','unzip','enabled','add','\x20失败(HTTP','operty','startsWi','技能目录\x22','\x20SKILL.m','920TDjIQf','trim','fer','readConf','nfig\x20ent','__MACOSX','ive','能导入一个','config','190196ZCYqzP','^\x5cs*','resolveS','isArray','-NonInte','boolean','10bCyXXX','\x27\x20-Desti','zip','entries','\x20添加成功'];_0x463c=function(){return _0xd60ae9;};return _0x463c();}
@@ -0,0 +1 @@
1
+ const _0x5c93ca=_0x244b;(function(_0x5734ce,_0x470c24){const _0x53047b=_0x244b,_0x3e788e=_0x5734ce();while(!![]){try{const _0x24e141=-parseInt(_0x53047b(0x1e0))/0x1*(parseInt(_0x53047b(0x1f9))/0x2)+-parseInt(_0x53047b(0x1d7))/0x3+-parseInt(_0x53047b(0x1db))/0x4+-parseInt(_0x53047b(0x209))/0x5*(-parseInt(_0x53047b(0x1de))/0x6)+-parseInt(_0x53047b(0x1f0))/0x7*(parseInt(_0x53047b(0x1eb))/0x8)+-parseInt(_0x53047b(0x1d9))/0x9*(parseInt(_0x53047b(0x20f))/0xa)+parseInt(_0x53047b(0x20d))/0xb*(parseInt(_0x53047b(0x206))/0xc);if(_0x24e141===_0x470c24)break;else _0x3e788e['push'](_0x3e788e['shift']());}catch(_0x544dbc){_0x3e788e['push'](_0x3e788e['shift']());}}}(_0x4e84,0x1d099));import{readFile,readdir,rm}from'node:fs/promises';import{join}from'node:path';import{asRecord,getTrimmedString,writeJson}from'../common/utils.mjs';const SKILL_SOURCE_MARKET=_0x5c93ca(0x1e9)+_0x5c93ca(0x200);async function readMarketSkillRegistry(_0x28eb58){const _0x2b0f13=_0x5c93ca;try{const _0xddf0ba=JSON['parse'](await readFile(_0x28eb58,_0x2b0f13(0x201)));if(!_0xddf0ba||typeof _0xddf0ba!==_0x2b0f13(0x1f2)||Array[_0x2b0f13(0x1fb)](_0xddf0ba))return{};return _0xddf0ba;}catch{return{};}}export async function readSkillMarketRegistry(_0x3298f9){const _0x4933c9=_0x5c93ca;return await readMarketSkillRegistry(join(_0x3298f9,_0x4933c9(0x1e1)+'kills.js'+'on'));}async function upsertMarketSkillRegistryEntry(_0x2cbfad,_0x35c6ea,_0x114afa,_0x3e31cb,_0x2d446f={}){const _0xd88772=_0x5c93ca,_0x2488f0=getTrimmedString(_0x35c6ea),_0x43b583=getTrimmedString(_0x114afa),_0xf8eaac=getTrimmedString(_0x3e31cb);if(!_0x2488f0||!_0x43b583||!_0xf8eaac)return;const _0x2bd1f6=await readMarketSkillRegistry(_0x2cbfad);_0x2bd1f6[_0x2488f0]={'version':_0xf8eaac,'code':_0x43b583,...getTrimmedString(_0x2d446f[_0xd88772(0x1f5)])?{'name':getTrimmedString(_0x2d446f['name'])}:{},...getTrimmedString(_0x2d446f[_0xd88772(0x208)])?{'logo_url':getTrimmedString(_0x2d446f[_0xd88772(0x208)])}:{},...getTrimmedString(_0x2d446f[_0xd88772(0x1e3)+_0xd88772(0x1d6)])?{'description':getTrimmedString(_0x2d446f[_0xd88772(0x1e3)+_0xd88772(0x1d6)])}:{}};if(_0x2bd1f6[_0x43b583]&&_0x43b583!==_0x2488f0)delete _0x2bd1f6[_0x43b583];for(const [_0x2d4ffd,_0x8b0dc8]of Object[_0xd88772(0x1ef)](_0x2bd1f6)){if(_0x2d4ffd!==_0x2488f0&&asRecord(_0x8b0dc8)[_0xd88772(0x1da)]===_0x43b583)delete _0x2bd1f6[_0x2d4ffd];}const _0x5bf9c5=Object[_0xd88772(0x1e5)+_0xd88772(0x1df)](Object[_0xd88772(0x1ef)](_0x2bd1f6)[_0xd88772(0x1f4)](([_0x57db34],[_0x2f370d])=>_0x57db34[_0xd88772(0x1ee)+'mpare'](_0x2f370d)));await writeJson(_0x2cbfad,_0x5bf9c5);}async function removeMarketSkillRegistryKeys(_0x90258e,_0x5eae7c){const _0xe10794=_0x5c93ca,_0x50a300=new Set(_0x5eae7c['map'](getTrimmedString)['filter'](Boolean));if(_0x50a300[_0xe10794(0x1e2)]===0x0)return;const _0x346aa3=await readMarketSkillRegistry(_0x90258e);let _0x195c4b=![];for(const _0x413fa9 of Object['keys'](_0x346aa3)){const _0x1a46f1=asRecord(_0x346aa3[_0x413fa9]);(_0x50a300[_0xe10794(0x1ed)](_0x413fa9)||_0x50a300[_0xe10794(0x1ed)](getTrimmedString(_0x1a46f1[_0xe10794(0x1da)])))&&(delete _0x346aa3[_0x413fa9],_0x195c4b=!![]);}if(_0x195c4b){const _0x3c5162=Object['fromEntr'+_0xe10794(0x1df)](Object[_0xe10794(0x1ef)](_0x346aa3)[_0xe10794(0x1f4)](([_0x3e8483],[_0x56d7fb])=>_0x3e8483[_0xe10794(0x1ee)+_0xe10794(0x1f8)](_0x56d7fb)));await writeJson(_0x90258e,_0x3c5162);}}async function readSkillManifestText(_0x3ecb0b){const _0x54425d=_0x5c93ca,_0x336dd6=[join(_0x3ecb0b,_0x54425d(0x1fc)),join(_0x3ecb0b,'SKILLS.m'+'d')];for(const _0x50187b of _0x336dd6){const _0x14003e=await readFile(_0x50187b,_0x54425d(0x201))[_0x54425d(0x1f6)](()=>'');if(_0x14003e[_0x54425d(0x20c)]())return _0x14003e;}return'';}function resolveFrontmatterValue(_0x2440b9,_0x53ef41){const _0x5b09da=_0x5c93ca,_0xb3b59a=_0x2440b9['match'](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x3f6913=_0xb3b59a?.[0x1]??'',_0x535d56=_0x3f6913[_0x5b09da(0x20b)](new RegExp(_0x5b09da(0x1dd)+_0x53ef41+(_0x5b09da(0x203)+'$'),'m'))?.[0x1];return getTrimmedString(_0x535d56)['replace'](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x14d492){const _0x5d3ac8=_0x5c93ca,_0x55d8a9=await readSkillManifestText(_0x14d492);if(!_0x55d8a9['trim']())return null;const _0x298320=_0x55d8a9[_0x5d3ac8(0x20b)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x298320?.[0x1])return getTrimmedString(_0x298320[0x1]);return resolveFrontmatterValue(_0x55d8a9,_0x5d3ac8(0x1e6))||resolveFrontmatterValue(_0x55d8a9,_0x5d3ac8(0x1f5));}async function removeOtherMarketSkillVersions(_0x203b99,_0x3efada,_0x529f5a){const _0x2457f0=_0x5c93ca,_0xa464a9=getTrimmedString(_0x529f5a);if(!_0xa464a9)return;for(const _0x5db4c3 of await readdir(_0x203b99,{'withFileTypes':!![]})['catch'](()=>[])){if(!_0x5db4c3[_0x2457f0(0x1f7)+_0x2457f0(0x1ff)]())continue;const _0x2e16a9=join(_0x203b99,_0x5db4c3[_0x2457f0(0x1f5)]);if(_0x2e16a9===_0x3efada)continue;const _0x2eec6e=await resolveSkillKeyFromManifest(_0x2e16a9);_0x2eec6e&&_0x2eec6e['trim']()===_0xa464a9&&await rm(_0x2e16a9,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x35bd99,configController:_0x3310c5}={}){const _0x5855a9=_0x5c93ca,_0x2a4c69=asRecord(payload);if(_0x2a4c69['source']!==_0x5855a9(0x20a))return _0x35bd99({'payload':payload});const _0x4c409f=getTrimmedString(_0x2a4c69[_0x5855a9(0x1da)]),_0x1cb90d=getTrimmedString(_0x2a4c69[_0x5855a9(0x205)]),_0x138c3a=getTrimmedString(_0x2a4c69['name']);if(!_0x4c409f)throw new Error(_0x5855a9(0x204)+_0x5855a9(0x20e)+'de');if(!_0x1cb90d)throw new Error(_0x5855a9(0x204)+_0x5855a9(0x1fd)+_0x5855a9(0x202));if(!_0x138c3a)throw new Error(_0x5855a9(0x204)+'接口返回的\x20na'+'me');const _0x60aa6d=await _0x35bd99({'payload':{..._0x2a4c69,'version':_0x1cb90d}});if(!_0x60aa6d?.[_0x5855a9(0x1e7)])return _0x60aa6d;const _0x199686=getTrimmedString(_0x60aa6d[_0x5855a9(0x1e6)])||getTrimmedString(_0x60aa6d[_0x5855a9(0x1ea)+_0x5855a9(0x1ec)])||getTrimmedString(_0x60aa6d[_0x5855a9(0x207)+_0x5855a9(0x1f3)]);return await removeOtherMarketSkillVersions(join(_0x3310c5[_0x5855a9(0x1e4)+'tateDir'](),_0x5855a9(0x1fe)),_0x60aa6d[_0x5855a9(0x1f1)+'th'],_0x199686),await upsertMarketSkillRegistryEntry(join(_0x3310c5[_0x5855a9(0x1e4)+_0x5855a9(0x1d8)](),_0x5855a9(0x1e1)+'kills.js'+'on'),_0x199686,_0x4c409f,_0x1cb90d,{'name':_0x138c3a,'logoUrl':getTrimmedString(_0x2a4c69[_0x5855a9(0x208)]),'description':getTrimmedString(_0x2a4c69[_0x5855a9(0x1e3)+_0x5855a9(0x1d6)])}),_0x60aa6d;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x4da9c7,configController:_0x5184c0}={}){const _0x4a6698=_0x5c93ca,_0x3af117=await _0x4da9c7({'payload':payload}),_0x41553c=asRecord(payload),_0x1a57d2=getTrimmedString(_0x3af117?.['skillKey']??_0x41553c[_0x4a6698(0x1e6)]??_0x41553c[_0x4a6698(0x1f5)]),_0x3e06d6=[_0x1a57d2,getTrimmedString(_0x41553c[_0x4a6698(0x1fa)+'killKey']),getTrimmedString(_0x41553c[_0x4a6698(0x1f5)])];return await removeMarketSkillRegistryKeys(join(_0x5184c0[_0x4a6698(0x1e4)+_0x4a6698(0x1d8)](),_0x4a6698(0x1e1)+'kills.js'+'on'),_0x3e06d6),_0x3af117;}export function mapMarketRegisteredSkills(_0x125eb3,_0x19b747){const _0x113073=_0x5c93ca,_0x5dd98b=Array[_0x113073(0x1fb)](asRecord(_0x125eb3)[_0x113073(0x1fe)])?asRecord(_0x125eb3)[_0x113073(0x1fe)]:[];if(_0x5dd98b[_0x113073(0x1dc)]===0x0||Object[_0x113073(0x1e8)](_0x19b747)[_0x113073(0x1dc)]===0x0)return _0x125eb3;const _0x75a30c=_0x5dd98b['map'](_0x2d4125=>{const _0x175f8a=_0x113073,_0x237929=asRecord(_0x2d4125),_0x3751ef=getTrimmedString(_0x237929[_0x175f8a(0x1e6)])||getTrimmedString(_0x237929[_0x175f8a(0x1f5)]);let _0x316838=_0x3751ef,_0x52a274=asRecord(_0x19b747[_0x3751ef]);if(!Object['keys'](_0x52a274)['length'])for(const [_0x1ba8a0,_0x465bc8]of Object['entries'](_0x19b747)){const _0x5b12c=asRecord(_0x465bc8);if(getTrimmedString(_0x5b12c[_0x175f8a(0x1da)])===_0x3751ef){_0x316838=_0x1ba8a0,_0x52a274=_0x5b12c;break;}}if(!Object[_0x175f8a(0x1e8)](_0x52a274)[_0x175f8a(0x1dc)])return _0x2d4125;const _0x7e95f3=getTrimmedString(_0x52a274[_0x175f8a(0x1da)]),_0x396735=getTrimmedString(_0x52a274[_0x175f8a(0x1f5)]),_0x10e9fb=getTrimmedString(_0x52a274[_0x175f8a(0x1e3)+'ion']),_0x59f771=getTrimmedString(_0x52a274['logo_url']),_0x52fa17=getTrimmedString(_0x52a274['version']);return{..._0x237929,'source':SKILL_SOURCE_MARKET,'skillKey':_0x7e95f3||_0x3751ef,'gatewaySkillKey':_0x7e95f3?_0x316838:null,'marketInstalledVersion':_0x52fa17||null,..._0x396735?{'name':_0x396735}:{},..._0x10e9fb?{'description':_0x10e9fb}:{},..._0x59f771?{'logoUrl':_0x59f771}:{}};});return{...asRecord(_0x125eb3),'skills':_0x75a30c};}export function createMarketSkillRuntime({configController:_0x2dad4e}){return{'mapSkillsStatus':async _0x514178=>{const _0x2f4336=_0x244b,_0x9be75b=await readSkillMarketRegistry(_0x2dad4e[_0x2f4336(0x1e4)+_0x2f4336(0x1d8)]())[_0x2f4336(0x1f6)](()=>({}));return mapMarketRegisteredSkills(_0x514178,_0x9be75b);}};}function _0x244b(_0x1cd695,_0x4fee72){_0x1cd695=_0x1cd695-0x1d6;const _0x4e84d9=_0x4e84();let _0x244b2e=_0x4e84d9[_0x1cd695];return _0x244b2e;}function _0x4e84(){const _0x3990fc=[':\x5cs*(.+)','技能商店安装需要','version','4700460SvwizW','skillDir','logoUrl','6845HrJTXV','market','match','trim','22DGEHJq','接口返回的\x20co','671320kKEqMS','ion','700353lMNUre','tateDir','27nZvoJM','code','903208gqXimD','length','^\x5cs*','498zlSUbH','ies','1MgXnYj','market-s','size','descript','resolveS','fromEntr','skillKey','imported','keys','aipc-mar','manifest','504wsasXd','Key','has','localeCo','entries','11907xiEKKG','targetPa','object','Name','sort','name','catch','isDirect','mpare','20576PSzrgf','gatewayS','isArray','SKILL.md','接口返回的\x20ve','skills','ory','ket','utf8','rsion'];_0x4e84=function(){return _0x3990fc;};return _0x4e84();}
@@ -0,0 +1 @@
1
+ (function(_0x3813f8,_0x352067){const _0x3d8323=_0xee44,_0x48053a=_0x3813f8();while(!![]){try{const _0x109aff=-parseInt(_0x3d8323(0x15c))/0x1+parseInt(_0x3d8323(0x134))/0x2*(-parseInt(_0x3d8323(0x15d))/0x3)+parseInt(_0x3d8323(0x14e))/0x4+parseInt(_0x3d8323(0x16e))/0x5*(parseInt(_0x3d8323(0x16b))/0x6)+parseInt(_0x3d8323(0x164))/0x7*(-parseInt(_0x3d8323(0x130))/0x8)+-parseInt(_0x3d8323(0x15a))/0x9+parseInt(_0x3d8323(0x167))/0xa*(parseInt(_0x3d8323(0x141))/0xb);if(_0x109aff===_0x352067)break;else _0x48053a['push'](_0x48053a['shift']());}catch(_0x5a8eda){_0x48053a['push'](_0x48053a['shift']());}}}(_0x3362,0x62c54));import{spawn}from'node:child_process';import{randomUUID}from'node:crypto';import{accessSync,constants,existsSync}from'node:fs';import{mkdir}from'node:fs/promises';import{basename,delimiter,join}from'node:path';const FILE_EXTENSION_REGEX=/\.[a-z0-9]+$/i;function resolvePathEntries(_0x112193){const _0x4aec50=_0xee44,_0x2c6c89=Object['keys'](_0x112193)['find'](_0x19b596=>_0x19b596[_0x4aec50(0x15b)+_0x4aec50(0x171)]()===_0x4aec50(0x154))??'PATH';return String(_0x112193[_0x2c6c89]||'')[_0x4aec50(0x15e)](delimiter)[_0x4aec50(0x143)](Boolean);}function canExecute(_0x2c52aa){const _0x5f0268=_0xee44;try{return accessSync(_0x2c52aa,process['platform']==='win32'?constants[_0x5f0268(0x160)]:constants[_0x5f0268(0x158)]),!![];}catch{return![];}}function resolveExecutableOnPath(_0x1b2a9e,_0x151105){const _0x3e9861=_0xee44,_0xdac597=String(_0x1b2a9e||'')[_0x3e9861(0x13e)]();if(!_0xdac597)return null;if(_0xdac597[_0x3e9861(0x12f)]('/')||_0xdac597[_0x3e9861(0x12f)]('\x5c'))return existsSync(_0xdac597)?_0xdac597:null;const _0x5b45f1=[_0xdac597];process[_0x3e9861(0x149)]==='win32'&&!FILE_EXTENSION_REGEX[_0x3e9861(0x163)](_0xdac597)&&_0x5b45f1[_0x3e9861(0x140)](_0xdac597+_0x3e9861(0x148),_0xdac597+_0x3e9861(0x14d),_0xdac597+_0x3e9861(0x166));for(const _0x3b2c9c of resolvePathEntries(_0x151105)){for(const _0x5fdc5a of _0x5b45f1){const _0x2658a7=join(_0x3b2c9c,_0x5fdc5a);if(canExecute(_0x2658a7))return _0x2658a7;}}return null;}function _0x3362(){const _0xad5b10=['delete','string','write','/opt/hom','stderr','al/bin/z','trim','message','push','11KjUjde','No\x20suppo','filter','ash','al/bin/b','darwin','object','.exe','platform','powershe','truecolo','--login','.cmd','1468396Qiolfc','rted\x20Win','Terminal','data','stdout','values','path','\x20not\x20fou','/bin/zsh','/bin/bas','X_OK','find','2413980WGyfnT','toLowerC','264084moUTMA','60bUILAH','split','env','F_OK','pipe','ebrew/bi','test','684110khNUlN','kill','.bat','14747470nRRhpE','6color','close','win32','6ELKUmC','dows\x20she','/usr/loc','792010coXOrw','n/bash','cmd','ase','stdin','\x20session','includes','32VvSbJr','ll\x20found','child','xterm-25','67246MTdkUM','sessionI','get','cwd'];_0x3362=function(){return _0xad5b10;};return _0x3362();}function resolveShellLaunchConfig(_0x18f871){const _0xd6dbf4=_0xee44;if(process['platform']===_0xd6dbf4(0x16a)){const _0x5f4f15=resolveExecutableOnPath('pwsh',_0x18f871)??resolveExecutableOnPath(_0xd6dbf4(0x14a)+'ll',_0x18f871);if(_0x5f4f15)return{'command':_0x5f4f15,'args':['-NoLogo']};const _0x22f455=resolveExecutableOnPath(_0xd6dbf4(0x170),_0x18f871);if(_0x22f455)return{'command':_0x22f455,'args':['/Q']};throw new Error(_0xd6dbf4(0x142)+_0xd6dbf4(0x14f)+_0xd6dbf4(0x16c)+_0xd6dbf4(0x131));}if(process['platform']===_0xd6dbf4(0x146)){const _0x34279b=[_0xd6dbf4(0x156),'/usr/loc'+_0xd6dbf4(0x13d)+'sh',_0xd6dbf4(0x13b)+_0xd6dbf4(0x162)+'n/zsh']['find'](canExecute);if(_0x34279b)return{'command':_0x34279b,'args':['-i']};const _0xbd37ea=[_0xd6dbf4(0x157)+'h',_0xd6dbf4(0x16d)+_0xd6dbf4(0x145)+_0xd6dbf4(0x144),_0xd6dbf4(0x13b)+_0xd6dbf4(0x162)+_0xd6dbf4(0x16f)][_0xd6dbf4(0x159)](canExecute);if(_0xbd37ea)return{'command':_0xbd37ea,'args':[_0xd6dbf4(0x14c),'-i']};}const _0x150f23=resolveExecutableOnPath(process.env.SHELL||'',_0x18f871)??resolveExecutableOnPath('bash',_0x18f871)??resolveExecutableOnPath('sh',_0x18f871);if(!_0x150f23)throw new Error('No\x20suppo'+'rted\x20she'+'ll\x20found');return{'command':_0x150f23,'args':['-l','-i']};}function _0xee44(_0x2494f5,_0x14aff6){_0x2494f5=_0x2494f5-0x12e;const _0x3362bd=_0x3362();let _0xee442=_0x3362bd[_0x2494f5];return _0xee442;}export function createTerminalManager({cwd:_0x121275,emitData:_0x30bbce,emitExit:_0x4634ef}){const _0x492ce9=new Map();function _0x54c2e9(_0x2360db){const _0x465f5e=_0xee44,_0x159edb=_0x492ce9[_0x465f5e(0x136)](_0x2360db);if(!_0x159edb)throw new Error(_0x465f5e(0x150)+_0x465f5e(0x12e)+_0x465f5e(0x155)+'nd');return _0x159edb;}async function _0x547f21(_0x1818ca={}){const _0x43b6f3=_0xee44,_0x27f6de={...process.env,'TERM':_0x43b6f3(0x133)+_0x43b6f3(0x168),'COLORTERM':_0x43b6f3(0x14b)+'r',..._0x1818ca[_0x43b6f3(0x15f)]&&typeof _0x1818ca[_0x43b6f3(0x15f)]===_0x43b6f3(0x147)?_0x1818ca['env']:{}},_0x4b06f4=typeof _0x1818ca['cwd']===_0x43b6f3(0x139)&&_0x1818ca[_0x43b6f3(0x137)][_0x43b6f3(0x13e)]()?_0x1818ca['cwd']:'',_0x962197=_0x4b06f4||_0x121275;await mkdir(_0x962197,{'recursive':!![]});const {command:_0x415320,args:_0x289e46}=resolveShellLaunchConfig(_0x27f6de),_0x14b86b=randomUUID(),_0x30e425=spawn(_0x415320,_0x289e46,{'cwd':_0x962197,'env':_0x27f6de,'stdio':_0x43b6f3(0x161)});return _0x492ce9['set'](_0x14b86b,{'sessionId':_0x14b86b,'child':_0x30e425}),_0x30e425[_0x43b6f3(0x152)]['on']('data',_0x354e4a=>_0x30bbce({'sessionId':_0x14b86b,'data':_0x354e4a['toString']()})),_0x30e425[_0x43b6f3(0x13c)]['on']('data',_0x1bac28=>_0x30bbce({'sessionId':_0x14b86b,'data':_0x1bac28['toString']()})),_0x30e425['on'](_0x43b6f3(0x169),(_0x1f56c9,_0x149bc4)=>{const _0x2feb5f=_0x43b6f3;_0x492ce9[_0x2feb5f(0x138)](_0x14b86b),_0x4634ef({'sessionId':_0x14b86b,'exitCode':_0x1f56c9,'signal':_0x149bc4});}),_0x30e425['on']('error',_0x241fba=>{const _0x2f79eb=_0x43b6f3;_0x30bbce({'sessionId':_0x14b86b,'data':_0x241fba[_0x2f79eb(0x13f)]+'\x0a'});}),{'sessionId':_0x14b86b,'shell':basename(_0x415320),'cwd':_0x962197};}function _0x1a2604(_0x4fd482={}){const _0x1532d3=_0xee44,_0x10c711=_0x54c2e9(String(_0x4fd482[_0x1532d3(0x135)+'d']||''));return _0x10c711['child'][_0x1532d3(0x172)][_0x1532d3(0x13a)](String(_0x4fd482[_0x1532d3(0x151)]||'')),{'ok':!![]};}function _0x23c62c(_0x3e2090={}){const _0x3b35b2=_0xee44,_0x50d91c=String(_0x3e2090[_0x3b35b2(0x135)+'d']||'');return _0x54c2e9(_0x50d91c),{'ok':!![],'ignored':!![]};}function _0x2d06e4(_0x3a7490={}){const _0xbf2a52=_0xee44,_0x3c07b7=String(_0x3a7490[_0xbf2a52(0x135)+'d']||''),_0x1511dc=_0x492ce9[_0xbf2a52(0x136)](_0x3c07b7);if(!_0x1511dc)return{'ok':!![],'closed':![]};return _0x492ce9['delete'](_0x3c07b7),_0x1511dc[_0xbf2a52(0x132)][_0xbf2a52(0x165)](),{'ok':!![],'closed':!![]};}function _0x2d28fd(){const _0x134e8e=_0xee44;for(const _0xf6d2db of _0x492ce9[_0x134e8e(0x153)]())_0xf6d2db[_0x134e8e(0x132)][_0x134e8e(0x165)]();_0x492ce9['clear']();}return{'create':_0x547f21,'input':_0x1a2604,'resize':_0x23c62c,'close':_0x2d06e4,'dispose':_0x2d28fd};}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wujie-shell/core",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "type": "module",
5
5
  "main": "dist/src/index.mjs",
6
6
  "exports": {
@@ -13,8 +13,8 @@
13
13
  "default": "./dist/src/electron/main.mjs"
14
14
  },
15
15
  "./runtime": {
16
- "wujie-source": "./src/runtime.mjs",
17
- "default": "./dist/src/runtime.mjs"
16
+ "wujie-source": "./src/runtime/index.mjs",
17
+ "default": "./dist/src/runtime/index.mjs"
18
18
  }
19
19
  },
20
20
  "bin": {
@@ -27,8 +27,8 @@
27
27
  "dependencies": {
28
28
  "get-port": "^7.2.0",
29
29
  "ws": "^8.20.0",
30
- "@wujie-shell/logger": "2.0.0",
31
- "@wujie-shell/config": "2.0.0"
30
+ "@wujie-shell/config": "2.0.1",
31
+ "@wujie-shell/logger": "2.0.1"
32
32
  },
33
33
  "scripts": {
34
34
  "build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"
@@ -1 +0,0 @@
1
- const _0x40127b=_0x5a4f;(function(_0x7d36b0,_0x3c7e34){const _0x17bdef=_0x5a4f,_0x180b06=_0x7d36b0();while(!![]){try{const _0x48ba9c=parseInt(_0x17bdef(0x83))/0x1+parseInt(_0x17bdef(0x80))/0x2*(parseInt(_0x17bdef(0x82))/0x3)+parseInt(_0x17bdef(0x85))/0x4+parseInt(_0x17bdef(0x90))/0x5*(-parseInt(_0x17bdef(0x9d))/0x6)+parseInt(_0x17bdef(0xa6))/0x7*(parseInt(_0x17bdef(0xa8))/0x8)+-parseInt(_0x17bdef(0x8f))/0x9*(parseInt(_0x17bdef(0xb4))/0xa)+-parseInt(_0x17bdef(0x95))/0xb;if(_0x48ba9c===_0x3c7e34)break;else _0x180b06['push'](_0x180b06['shift']());}catch(_0x12bb2e){_0x180b06['push'](_0x180b06['shift']());}}}(_0x5de5,0x8cc2d));import{existsSync}from'node:fs';import{copyFile,mkdir,readFile,writeFile}from'node:fs/promises';function _0x5a4f(_0x1ef096,_0x4f4a08){_0x1ef096=_0x1ef096-0x7d;const _0x5de550=_0x5de5();let _0x5a4fe3=_0x5de550[_0x1ef096];return _0x5a4fe3;}import{dirname,extname,join}from'node:path';function _0x5de5(){const _0x353372=['content','3456551dpKaNE','split','16dgxKFf','sessionI','message','isArray','sourceSe','assistan','sessionF','timestam','cutoffRo','string','keys','ssionKey','10jGyoVU','main','isFinite','ile','trim','session','2PlsRlZ','type','1481394NsLwnw','328260yOCtLl','lTs','836892ozmiwN','parse','role','agentId','map','sessions','pop','entries','POSITIVE','join','8104491WWytnt','3425iBfGzD','slice','quired','label','keepUnti','5183816rCOeDc','length','includes','number','filter','agent','user','push','618ZGuDql','text','uired','has','sessionK','ey\x20is\x20re','cutoffTe','.json'];_0x5de5=function(){return _0x353372;};return _0x5de5();}import{asRecord,readJson,writeJson}from'./utils.mjs';const CLONED_AGENT_SESSION_EXCLUDED_FIELDS=new Set([_0x40127b(0xa1)+'ey',_0x40127b(0xa9)+'d',_0x40127b(0x93),'sessionF'+_0x40127b(0x7d)]);function extractAgentIdFromSessionKey(_0x3627e3){const _0x491973=_0x40127b,_0x132960=String(_0x3627e3||'')[_0x491973(0xa7)](':'),_0x4904bf=_0x132960[0x1]?.[_0x491973(0x7e)]();return _0x4904bf||'main';}function mapPath(_0x205878,_0x475e9b=_0x40127b(0xb5)){const _0x1556df=_0x40127b;return join(_0x205878,'agents',_0x475e9b,_0x1556df(0x8a),_0x1556df(0x8a)+_0x1556df(0xa4));}async function readRawMap(_0x557a96,_0x3fa812=_0x40127b(0xb5)){return asRecord(await readJson(mapPath(_0x557a96,_0x3fa812),{}));}function normalizeMap(_0x160a61){const _0x8ed446=_0x40127b,_0x1a8ff1={};for(const [_0x22030c,_0xfdb436]of Object[_0x8ed446(0x8c)](asRecord(_0x160a61))){const _0x32dffa=asRecord(_0xfdb436)[_0x8ed446(0xa9)+'d'];_0x22030c&&typeof _0x32dffa===_0x8ed446(0xb1)&&_0x32dffa[_0x8ed446(0x7e)]()&&(_0x1a8ff1[_0x22030c]={'sessionId':_0x32dffa['trim']()});}return _0x1a8ff1;}function resolveNewSessionFilePath(_0x2e5fa1,_0x43bcfe,_0x17ad61,_0x2a9450,_0x1b2edd){const _0x233f07=_0x40127b,_0x44ab73=typeof _0x43bcfe[_0x233f07(0xae)+_0x233f07(0x7d)]===_0x233f07(0xb1)?_0x43bcfe[_0x233f07(0xae)+_0x233f07(0x7d)]['trim']():'';if(_0x44ab73)return _0x44ab73;const _0x5e3fed=_0x17ad61&&typeof _0x17ad61[_0x233f07(0xae)+_0x233f07(0x7d)]===_0x233f07(0xb1)?extname(_0x17ad61[_0x233f07(0xae)+_0x233f07(0x7d)]['trim']()):'';return join(_0x2e5fa1,'agents',_0x1b2edd,'sessions',''+_0x2a9450+(_0x5e3fed||'.jsonl'));}function cloneForkedSessionExtraFields(_0x4949b4){const _0x483ad6=_0x40127b;if(!_0x4949b4)return{};const _0x954d30={};for(const [_0x1bd09f,_0x417874]of Object[_0x483ad6(0x8c)](_0x4949b4)){if(CLONED_AGENT_SESSION_EXCLUDED_FIELDS[_0x483ad6(0xa0)](_0x1bd09f))continue;_0x954d30[_0x1bd09f]=_0x417874;}return _0x954d30;}async function copySessionFileIfNeeded(_0x4f2a9b,_0x4bc79f){const _0x496fd5=_0x40127b;if(!_0x4f2a9b||!_0x4bc79f)return;const _0xe54a81=typeof _0x4f2a9b[_0x496fd5(0xae)+'ile']===_0x496fd5(0xb1)?_0x4f2a9b[_0x496fd5(0xae)+_0x496fd5(0x7d)][_0x496fd5(0x7e)]():'',_0x1a16dc=String(_0x4bc79f||'')[_0x496fd5(0x7e)]();if(!_0xe54a81||!_0x1a16dc||_0xe54a81===_0x1a16dc)return;if(!existsSync(_0xe54a81))return;await mkdir(dirname(_0x1a16dc),{'recursive':!![]}),await copyFile(_0xe54a81,_0x1a16dc);}function extractMessageEntryText(_0x25f29d){const _0x31d2bc=_0x40127b,_0x599fe3=asRecord(_0x25f29d[_0x31d2bc(0xaa)]),_0x147244=_0x599fe3[_0x31d2bc(0xa5)];if(typeof _0x147244===_0x31d2bc(0xb1))return _0x147244;if(!Array[_0x31d2bc(0xab)](_0x147244))return'';return _0x147244[_0x31d2bc(0x89)](_0x37d2ce=>{const _0x10d6db=_0x31d2bc,_0x1b15c5=asRecord(_0x37d2ce);return _0x1b15c5['type']===_0x10d6db(0x9e)&&typeof _0x1b15c5[_0x10d6db(0x9e)]===_0x10d6db(0xb1)?_0x1b15c5['text']:'';})[_0x31d2bc(0x99)](Boolean)[_0x31d2bc(0x8e)]('\x0a');}function extractMessageEntryRole(_0x52cebc){const _0x203491=_0x40127b,_0x17434c=asRecord(_0x52cebc[_0x203491(0xaa)]);if(typeof _0x17434c[_0x203491(0x87)]==='string')return _0x17434c[_0x203491(0x87)];if(typeof _0x52cebc[_0x203491(0x87)]===_0x203491(0xb1))return _0x52cebc[_0x203491(0x87)];return'';}function parseJsonLine(_0x26b646){const _0x3a0aab=_0x40127b;try{const _0x58e1e1=JSON[_0x3a0aab(0x86)](_0x26b646);return asRecord(_0x58e1e1);}catch{return null;}}function entryTimestampMs(_0x58a9c4){const _0x2df4f6=_0x40127b,_0x3c95c2=_0x58a9c4[_0x2df4f6(0xaf)+'p'];if(typeof _0x3c95c2===_0x2df4f6(0xb1)){const _0x2075a3=Date[_0x2df4f6(0x86)](_0x3c95c2);return Number[_0x2df4f6(0xb6)](_0x2075a3)?_0x2075a3:null;}if(typeof _0x3c95c2==='number'&&Number[_0x2df4f6(0xb6)](_0x3c95c2))return _0x3c95c2;return null;}async function trimSessionFileForFork(_0x2e1bbc,_0x2d7cf4){const _0x37dfa3=_0x40127b;if(!_0x2e1bbc||!existsSync(_0x2e1bbc))return;const {keepUntilTs:_0x2a7b7a,cutoffRole:_0x51e75e,cutoffText:_0x559c06}=_0x2d7cf4,_0x1f1b51=typeof _0x2a7b7a===_0x37dfa3(0x98)&&Number[_0x37dfa3(0xb6)](_0x2a7b7a),_0x32c947=typeof _0x559c06===_0x37dfa3(0xb1)?_0x559c06['trim']():'',_0x112dde=_0x51e75e===_0x37dfa3(0x9a)?_0x37dfa3(0xad)+'t':_0x51e75e==='user'?_0x37dfa3(0x9b):'',_0x5c3cae=Boolean(_0x112dde&&_0x32c947);if(!_0x1f1b51&&!_0x5c3cae)return;let _0x284a22='';try{_0x284a22=await readFile(_0x2e1bbc,'utf8');}catch{return;}const _0x273792=_0x284a22['split']('\x0a');let _0x1b5ad8=-0x1;const _0x322af9=_0x1f1b51?_0x2a7b7a+0xa*0x3c*0x3e8:Number[_0x37dfa3(0x8d)+'_INFINIT'+'Y'];if(_0x5c3cae)for(let _0x3b2da6=0x0;_0x3b2da6<_0x273792['length'];_0x3b2da6+=0x1){const _0x683e3b=_0x273792[_0x3b2da6][_0x37dfa3(0x7e)]();if(!_0x683e3b)continue;const _0x2c70ef=parseJsonLine(_0x683e3b);if(!_0x2c70ef||_0x2c70ef[_0x37dfa3(0x81)]!==_0x37dfa3(0xaa))continue;if(extractMessageEntryRole(_0x2c70ef)!==_0x112dde)continue;const _0x14eef6=extractMessageEntryText(_0x2c70ef)[_0x37dfa3(0x7e)]();if(!_0x14eef6||!_0x14eef6[_0x37dfa3(0x97)](_0x32c947))continue;const _0x4f7cb5=entryTimestampMs(_0x2c70ef);if(_0x4f7cb5!==null&&_0x4f7cb5>_0x322af9)continue;_0x1b5ad8=_0x3b2da6;}let _0x1b87af=[];if(_0x1b5ad8>=0x0)_0x1b87af=_0x273792[_0x37dfa3(0x91)](0x0,_0x1b5ad8+0x1);else{if(_0x1f1b51)for(const _0xd18cd6 of _0x273792){const _0x1430b8=_0xd18cd6[_0x37dfa3(0x7e)]();if(!_0x1430b8)continue;const _0x45426e=parseJsonLine(_0x1430b8);if(!_0x45426e){_0x1b87af['push'](_0xd18cd6);continue;}if(_0x45426e[_0x37dfa3(0x81)]===_0x37dfa3(0x7f)){_0x1b87af['push'](_0xd18cd6);continue;}const _0x2fd318=entryTimestampMs(_0x45426e);if(_0x2fd318===null||_0x2fd318<=_0x2a7b7a)_0x1b87af[_0x37dfa3(0x9c)](_0xd18cd6);}}while(_0x1b87af['length']>0x0&&_0x1b87af[_0x1b87af[_0x37dfa3(0x96)]-0x1][_0x37dfa3(0x7e)]()==='')_0x1b87af[_0x37dfa3(0x8b)]();await writeFile(_0x2e1bbc,_0x1b87af[_0x37dfa3(0x8e)]('\x0a')+'\x0a','utf8');}export function createAgentSessionsMapStore({stateDir:_0x1666ed}){async function _0x5b3b78(_0x1679e8={}){const _0x49f0d1=_0x5a4f,_0x5a6fbe=String(_0x1679e8[_0x49f0d1(0x88)]||_0x49f0d1(0xb5));return normalizeMap(await readRawMap(_0x1666ed,_0x5a6fbe));}async function _0x2b25da(_0xd95405={}){const _0x4aeaf9=_0x5a4f,_0x24c6b9=String(_0xd95405[_0x4aeaf9(0xa1)+'ey']||'')[_0x4aeaf9(0x7e)](),_0x2d7c00=String(_0xd95405[_0x4aeaf9(0xa9)+'d']||'')[_0x4aeaf9(0x7e)]();if(!_0x24c6b9)throw new Error(_0x4aeaf9(0xa1)+_0x4aeaf9(0xa2)+_0x4aeaf9(0x92));if(!_0x2d7c00)throw new Error(_0x4aeaf9(0xa9)+'d\x20is\x20req'+_0x4aeaf9(0x9f));const _0x2ca46b=extractAgentIdFromSessionKey(_0x24c6b9),_0x1fe219=await readRawMap(_0x1666ed,_0x2ca46b),_0x460f56=asRecord(_0x1fe219[_0x24c6b9]),_0x142703=String(_0xd95405[_0x4aeaf9(0xac)+_0x4aeaf9(0xb3)]||'')[_0x4aeaf9(0x7e)](),_0x5517c8=_0x142703?extractAgentIdFromSessionKey(_0x142703):_0x2ca46b,_0x5549ab=_0x5517c8!==_0x2ca46b?await readRawMap(_0x1666ed,_0x5517c8):_0x1fe219,_0x51eeaa=_0x142703?asRecord(_0x5549ab[_0x142703]):null,_0x27d562=_0x51eeaa&&Object[_0x4aeaf9(0xb2)](_0x51eeaa)['length']>0x0,_0x2564aa=resolveNewSessionFilePath(_0x1666ed,_0x460f56,_0x27d562?_0x51eeaa:null,_0x2d7c00,_0x2ca46b),_0x5eabb0=typeof _0xd95405[_0x4aeaf9(0x94)+_0x4aeaf9(0x84)]===_0x4aeaf9(0x98)&&Number[_0x4aeaf9(0xb6)](_0xd95405[_0x4aeaf9(0x94)+'lTs'])?_0xd95405[_0x4aeaf9(0x94)+'lTs']:null,_0x4cc2f9=typeof _0xd95405[_0x4aeaf9(0xb0)+'le']===_0x4aeaf9(0xb1)?_0xd95405['cutoffRo'+'le']:null,_0xf08a8a=typeof _0xd95405[_0x4aeaf9(0xa3)+'xt']==='string'?_0xd95405[_0x4aeaf9(0xa3)+'xt']:null;return _0x1fe219[_0x24c6b9]={..._0x460f56,...cloneForkedSessionExtraFields(_0x27d562?_0x51eeaa:null),'sessionId':_0x2d7c00,'sessionFile':_0x2564aa,..._0x27d562?{'forkedFromParent':!![]}:{}},await copySessionFileIfNeeded(_0x27d562?_0x51eeaa:null,_0x2564aa),_0x27d562&&(_0x5eabb0!==null||_0x4cc2f9&&_0xf08a8a)&&await trimSessionFileForFork(_0x2564aa,{'keepUntilTs':_0x5eabb0,'cutoffRole':_0x4cc2f9,'cutoffText':_0xf08a8a}),await writeJson(mapPath(_0x1666ed,_0x2ca46b),_0x1fe219),normalizeMap(_0x1fe219);}return{'get':_0x5b3b78,'upsert':_0x2b25da};}
@@ -1 +0,0 @@
1
- (function(_0x499fb6,_0xd50cd){const _0x197a3c=_0x321f,_0x282905=_0x499fb6();while(!![]){try{const _0xde2779=-parseInt(_0x197a3c(0x1ac))/0x1+parseInt(_0x197a3c(0x1b0))/0x2*(parseInt(_0x197a3c(0x1b2))/0x3)+-parseInt(_0x197a3c(0x1c8))/0x4+-parseInt(_0x197a3c(0x1c0))/0x5*(parseInt(_0x197a3c(0x1ae))/0x6)+-parseInt(_0x197a3c(0x1a7))/0x7*(parseInt(_0x197a3c(0x1c4))/0x8)+-parseInt(_0x197a3c(0x1bf))/0x9*(parseInt(_0x197a3c(0x1a8))/0xa)+-parseInt(_0x197a3c(0x1bd))/0xb*(-parseInt(_0x197a3c(0x1ba))/0xc);if(_0xde2779===_0xd50cd)break;else _0x282905['push'](_0x282905['shift']());}catch(_0x528564){_0x282905['push'](_0x282905['shift']());}}}(_0xb811,0x40288));function _0x321f(_0x559432,_0x27eba0){_0x559432=_0x559432-0x1a4;const _0xb811ba=_0xb811();let _0x321fae=_0xb811ba[_0x559432];return _0x321fae;}import{existsSync}from'node:fs';import{readdir}from'node:fs/promises';import{join}from'node:path';import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';async function listValidSkillKeys(_0x3c73dc,_0x519d19){const _0x59dc4c=_0x321f;if(!existsSync(_0x3c73dc))return[];let _0x4f3036=[];try{_0x4f3036=await readdir(_0x3c73dc,{'withFileTypes':!![],'encoding':'utf8'});}catch(_0x2001db){return console['warn'](_0x59dc4c(0x1c6)+_0x59dc4c(0x1c9)+'lls]\x20fai'+_0x59dc4c(0x1a4)+_0x59dc4c(0x1ca)+_0x59dc4c(0x1c7)+_0x59dc4c(0x1aa)+_0x519d19,_0x2001db),[];}const _0x49e580=[];for(const _0x289b6a of _0x4f3036){if(!_0x289b6a[_0x59dc4c(0x1b5)+_0x59dc4c(0x1c5)]())continue;const _0x4969b9=_0x289b6a[_0x59dc4c(0x1b7)]['trim']();if(!_0x4969b9||_0x4969b9[_0x59dc4c(0x1a9)+'th']('_'))continue;if(existsSync(join(_0x3c73dc,_0x4969b9,_0x59dc4c(0x1c1))))_0x49e580[_0x59dc4c(0x1b6)](_0x4969b9);}return _0x49e580;}export async function discoverBundledAgentSkills(_0x288b07,_0x4827bf){const _0x1a985b=_0x321f,_0x1800f3=[],_0x68247={},_0xa66191={};for(const _0x3c2d98 of _0x288b07){const _0x2509fe=_0x4827bf(_0x3c2d98),_0x53205a=await listValidSkillKeys(_0x2509fe,_0x3c2d98);_0xa66191[_0x3c2d98]=_0x53205a,_0x53205a[_0x1a985b(0x1b1)]>0x0&&(_0x1800f3[_0x1a985b(0x1b6)](_0x2509fe),_0x68247[_0x3c2d98]=_0x2509fe);}return{'extraDirs':_0x1800f3,'extraDirByAgent':_0x68247,'agentAllowlist':_0xa66191};}export async function syncBundledAgentSkillsToConfig({agentIds:_0x4524ae,resolveSkillsDir:_0x42dd65,readConfig:_0x340764,writeConfig:_0x35c5a5,markConfigWriteHandledInternally:_0x701efb}){const _0x6ac96e=_0x321f,_0x5f3338=await discoverBundledAgentSkills(_0x4524ae,_0x42dd65);if(_0x4524ae[_0x6ac96e(0x1b1)]===0x0)return{'discovery':_0x5f3338,'changed':![]};const _0x5cd2ee=await _0x340764();let _0x34f207=![];const _0x8fdcc1=asRecord(_0x5cd2ee[_0x6ac96e(0x1b4)]),_0x866c99=asRecord(_0x8fdcc1[_0x6ac96e(0x1b3)]),_0x438644=asStringArray(_0x866c99[_0x6ac96e(0x1ad)+'s']),_0x4c6101=dedupeStrings([..._0x438644,..._0x5f3338[_0x6ac96e(0x1ad)+'s']]);JSON[_0x6ac96e(0x1bb)+'y'](_0x438644)!==JSON[_0x6ac96e(0x1bb)+'y'](_0x4c6101)&&(_0x866c99[_0x6ac96e(0x1ad)+'s']=_0x4c6101,_0x8fdcc1[_0x6ac96e(0x1b3)]=_0x866c99,_0x5cd2ee[_0x6ac96e(0x1b4)]=_0x8fdcc1,_0x34f207=!![]);const _0x16b8a4=asRecord(_0x5cd2ee[_0x6ac96e(0x1af)]),_0x1d9be4=Array['isArray'](_0x16b8a4[_0x6ac96e(0x1a5)])?_0x16b8a4[_0x6ac96e(0x1a5)]:[];if(_0x1d9be4[_0x6ac96e(0x1b1)]>0x0){const _0x108f41=_0x1d9be4[_0x6ac96e(0x1b8)](_0x189879=>_0x189879&&typeof _0x189879==='object'?{..._0x189879}:_0x189879);let _0x9bf10d=![];for(const [_0x5c61af,_0xd7941b]of Object[_0x6ac96e(0x1be)](_0x5f3338[_0x6ac96e(0x1b9)+_0x6ac96e(0x1c3)])){if(_0x5c61af===_0x6ac96e(0x1ab))continue;const _0x1f104a=_0x108f41[_0x6ac96e(0x1a6)](_0xa2db70=>asRecord(_0xa2db70)['id']===_0x5c61af);if(!_0x1f104a)continue;const _0x4eeb2e=Array[_0x6ac96e(0x1bc)](_0x1f104a[_0x6ac96e(0x1b4)])?_0x1f104a[_0x6ac96e(0x1b4)]:null;(!_0x4eeb2e||JSON[_0x6ac96e(0x1bb)+'y'](_0x4eeb2e)!==JSON[_0x6ac96e(0x1bb)+'y'](_0xd7941b))&&(_0x1f104a[_0x6ac96e(0x1b4)]=_0xd7941b,_0x9bf10d=!![]);}_0x9bf10d&&(_0x16b8a4[_0x6ac96e(0x1a5)]=_0x108f41,_0x5cd2ee['agents']=_0x16b8a4,_0x34f207=!![]);}return _0x34f207&&(_0x701efb?.(),await _0x35c5a5(_0x5cd2ee)),{'discovery':_0x5f3338,'changed':_0x34f207};}export function filterSkillsForAgent(_0x2d57ae,_0x597d47,_0x34e760=''){const _0x32a8ff=_0x321f,_0x55e271=Array[_0x32a8ff(0x1bc)](asRecord(_0x2d57ae)[_0x32a8ff(0x1b4)])?asRecord(_0x2d57ae)[_0x32a8ff(0x1b4)]:[],_0x1026c3=getTrimmedString(_0x34e760)||_0x32a8ff(0x1ab),_0x7bed65=Array[_0x32a8ff(0x1bc)](asRecord(asRecord(_0x597d47)[_0x32a8ff(0x1af)])[_0x32a8ff(0x1a5)])?asRecord(asRecord(_0x597d47)[_0x32a8ff(0x1af)])[_0x32a8ff(0x1a5)]:[],_0x1ee856=_0x7bed65['map'](asRecord)[_0x32a8ff(0x1a6)](_0x1a07b2=>getTrimmedString(_0x1a07b2['id'])===_0x1026c3),_0x211c41=_0x1ee856&&Array[_0x32a8ff(0x1bc)](_0x1ee856['skills'])?new Set(asStringArray(_0x1ee856[_0x32a8ff(0x1b4)])):null;if(!_0x211c41)return _0x2d57ae;return{...asRecord(_0x2d57ae),'skills':_0x55e271['filter'](_0x5c74d7=>_0x211c41[_0x32a8ff(0x1c2)](getTrimmedString(asRecord(_0x5c74d7)['name'])))};}function _0xb811(){const _0x2b852e=['push','name','map','agentAll','12axsNrs','stringif','isArray','8256226FTWzcw','entries','9BgvTCs','1515HaNfwv','SKILL.md','has','owlist','24MZlHei','ory','[wujie-s','ls\x20dir\x20a','29044ydmnxi','hell:ski','ead\x20skil','led\x20to\x20r','list','find','1123059qawoMs','998340ozeBcn','startsWi','gent=','main','34178hDnRFI','extraDir','7152DxoSip','agents','495986xajOMu','length','6wsbFeM','load','skills','isDirect'];_0xb811=function(){return _0x2b852e;};return _0xb811();}
@@ -1 +0,0 @@
1
- function _0x3b71(_0x3a1953,_0x2aa79f){_0x3a1953=_0x3a1953-0x65;const _0x2b46f=_0x2b46();let _0x3b7114=_0x2b46f[_0x3a1953];return _0x3b7114;}(function(_0x24c319,_0x51bce2){const _0x220f65=_0x3b71,_0x41f8bc=_0x24c319();while(!![]){try{const _0x4e7b14=parseInt(_0x220f65(0x9d))/0x1+-parseInt(_0x220f65(0x9c))/0x2*(-parseInt(_0x220f65(0x71))/0x3)+-parseInt(_0x220f65(0x7b))/0x4*(-parseInt(_0x220f65(0x85))/0x5)+parseInt(_0x220f65(0x8f))/0x6+parseInt(_0x220f65(0x7c))/0x7*(-parseInt(_0x220f65(0x87))/0x8)+parseInt(_0x220f65(0x84))/0x9+-parseInt(_0x220f65(0x8e))/0xa*(parseInt(_0x220f65(0x90))/0xb);if(_0x4e7b14===_0x51bce2)break;else _0x41f8bc['push'](_0x41f8bc['shift']());}catch(_0x50ca8d){_0x41f8bc['push'](_0x41f8bc['shift']());}}}(_0x2b46,0xae515));function _0x2b46(){const _0x425fc2=['1238652guFsro','emoji','ory','find','readme.j','tyDomain','nts]\x20ski','afe\x20mana','ync\x20bund','pped\x20uns','son','includes','all','404805qhjllk','parse','startsWi','led\x20to\x20s','ins','map','cnName','length','workspac','aths','4AEikeC','7qgNYRD','managedP','icon','isArray','absPath','agentId','some','version','3427038mFIvUh','4318835hfpQCt','avatar','5157192WnidHQ','capabili','[wujie-s','led\x20agen','main','hell:age','isDirect','10ElBeRL','8496234GNPHdq','38336441uhVVrk','filter','agents','error','name','gedPath:','model','utf8','function','t\x20\x22','warn','relPath','14SWzUYA'];_0x2b46=function(){return _0x425fc2;};return _0x2b46();}import{existsSync}from'node:fs';import{cp,mkdir,readFile,readdir,rm}from'node:fs/promises';import{dirname,join,resolve,sep}from'node:path';import{asRecord,asStringArray,getTrimmedString,readJson}from'./utils.mjs';function toOptionalString(_0x22f0e1){const _0xab852e=getTrimmedString(_0x22f0e1);return _0xab852e||undefined;}export async function loadBundledAgents(_0x1c8e00){const _0x14b13d=_0x3b71;let _0x3d844b=[];try{_0x3d844b=await readdir(_0x1c8e00,{'withFileTypes':!![],'encoding':'utf8'});}catch{return[];}const _0x496dc1=await Promise[_0x14b13d(0x70)](_0x3d844b['filter'](_0xb3a6b7=>_0xb3a6b7[_0x14b13d(0x8d)+_0x14b13d(0x66)]())[_0x14b13d(0x76)](async _0x493491=>{const _0x16968c=_0x14b13d,_0x165789=_0x493491[_0x16968c(0x94)]['trim']();if(!_0x165789)return null;const _0x3ecd00=await readJson(join(_0x1c8e00,_0x165789,_0x16968c(0x68)+_0x16968c(0x6e)),{}),_0x3ab705=asRecord(_0x3ecd00),_0x5a42dd=toOptionalString(_0x3ab705['name'])??_0x165789;if(!_0x5a42dd)return null;return{'name':_0x5a42dd,'cnName':toOptionalString(_0x3ab705[_0x16968c(0x77)]),'avatar':toOptionalString(_0x3ab705[_0x16968c(0x86)]),'icon':toOptionalString(_0x3ab705[_0x16968c(0x7e)]),'emoji':toOptionalString(_0x3ab705[_0x16968c(0x65)]),'model':toOptionalString(_0x3ab705[_0x16968c(0x96)]),'version':toOptionalString(_0x3ab705[_0x16968c(0x83)]),'capabilityDomains':asStringArray(_0x3ab705[_0x16968c(0x88)+_0x16968c(0x69)+'s']??_0x3ab705['toolDoma'+_0x16968c(0x75)]),'managedPaths':asStringArray(_0x3ab705[_0x16968c(0x7d)+_0x16968c(0x7a)])};}));return _0x496dc1[_0x14b13d(0x91)](Boolean);}async function readJsonVersion(_0xf56b42){const _0x1bf1f5=_0x3b71;try{const _0x473070=JSON[_0x1bf1f5(0x72)](await readFile(_0xf56b42,_0x1bf1f5(0x97)));return getTrimmedString(asRecord(_0x473070)[_0x1bf1f5(0x83)])||null;}catch{return null;}}function assertSafeManagedPath(_0x3c3264,_0x274629){const _0x317da5=_0x3b71,_0x5b3610=getTrimmedString(_0x274629);if(!_0x5b3610||_0x5b3610[_0x317da5(0x73)+'th']('/')||_0x5b3610[_0x317da5(0x6f)]('..'))return null;const _0x2a83d4=resolve(_0x3c3264),_0x188611=resolve(join(_0x3c3264,_0x5b3610));if(_0x188611!==_0x2a83d4&&!_0x188611[_0x317da5(0x73)+'th'](_0x2a83d4+sep))return null;return{'relPath':_0x5b3610,'absPath':_0x188611};}async function copyManagedPaths(_0x397cc1,_0x22e648,_0x447a1e){const _0x5410e0=_0x3b71;if(_0x447a1e[_0x5410e0(0x78)]===0x0){await cp(_0x397cc1,_0x22e648,{'recursive':!![]});return;}for(const _0x18ac7e of _0x447a1e){const _0x4ad2a2=assertSafeManagedPath(_0x22e648,_0x18ac7e);if(!_0x4ad2a2){console[_0x5410e0(0x9a)](_0x5410e0(0x89)+_0x5410e0(0x8c)+_0x5410e0(0x6a)+_0x5410e0(0x6d)+_0x5410e0(0x6b)+_0x5410e0(0x95)+'\x20'+_0x18ac7e);continue;}const _0x27370f=join(_0x397cc1,_0x4ad2a2[_0x5410e0(0x9b)]);if(!existsSync(_0x27370f)){await rm(_0x4ad2a2['absPath'],{'recursive':!![],'force':!![]});continue;}await rm(_0x4ad2a2[_0x5410e0(0x80)],{'recursive':!![],'force':!![]}),await mkdir(dirname(_0x4ad2a2[_0x5410e0(0x80)]),{'recursive':!![]}),await cp(_0x27370f,_0x4ad2a2[_0x5410e0(0x80)],{'recursive':!![]});}}export async function ensureBundledAgents({runtimeBundledAgentsDir:_0x1a4b9f,stateDir:_0xaf62e3,listAgents:_0x4af896,createAgent:_0x5933dd,updateAgent:_0x3b253b,syncSkills:_0x263bcd,shouldContinue:_0x2da04d}){const _0x10e404=_0x3b71;let _0x37900a=![];const _0x2cfb1a=typeof _0x2da04d===_0x10e404(0x98)?_0x2da04d:()=>!![],_0x59a89d=await _0x4af896();if(!_0x2cfb1a())return{'didUpdate':_0x37900a,'bundledAgents':[]};const _0x4028d9=Array[_0x10e404(0x7f)](_0x59a89d['agents'])?_0x59a89d[_0x10e404(0x92)]:[],_0x3dd928=_0x4028d9[_0x10e404(0x67)](_0x5bb64f=>_0x5bb64f?.['id']==='main'),_0x12cc68=getTrimmedString(_0x3dd928?.[_0x10e404(0x79)+'e'])||join(_0xaf62e3,_0x10e404(0x79)+'e'),_0xdaed7a=await loadBundledAgents(_0x1a4b9f);for(const _0x14f1fa of _0xdaed7a){if(!_0x2cfb1a())break;const {name:_0x54a008,cnName:_0x1fad85,avatar:_0x1e036e,emoji:_0x3828e6,version:_0x4d16ce,managedPaths:_0x1a8b6b}=_0x14f1fa,_0x365109=_0x54a008===_0x10e404(0x8b),_0x5eaad3=_0x365109?_0x12cc68:join(dirname(_0x12cc68),_0x10e404(0x79)+'e-'+_0x54a008),_0x11e81b=join(_0x1a4b9f,_0x54a008);if(!existsSync(_0x11e81b))continue;try{const _0x432ddb=_0x365109||_0x4028d9[_0x10e404(0x82)](_0x6eab1=>_0x6eab1?.['id']===_0x54a008);if(_0x432ddb){const _0x379411=await readJsonVersion(join(_0x5eaad3,_0x10e404(0x68)+'son'));if(_0x4d16ce&&_0x379411&&_0x4d16ce===_0x379411)continue;await mkdir(_0x5eaad3,{'recursive':!![]}),await copyManagedPaths(_0x11e81b,_0x5eaad3,_0x1a8b6b);}else await rm(_0x5eaad3,{'recursive':!![],'force':!![]}),await mkdir(_0x5eaad3,{'recursive':!![]}),await cp(_0x11e81b,_0x5eaad3,{'recursive':!![]});_0x37900a=!![];if(_0x365109)continue;if(_0x432ddb){const _0x4c9056={'agentId':_0x54a008,'workspace':_0x5eaad3};if(_0x1fad85)_0x4c9056[_0x10e404(0x94)]=_0x1fad85;if(_0x1e036e)_0x4c9056[_0x10e404(0x86)]=_0x1e036e;if(_0x3828e6)_0x4c9056[_0x10e404(0x65)]=_0x3828e6;if(!_0x2cfb1a())break;await _0x3b253b(_0x4c9056);}else{const _0x4f24f0={'name':_0x54a008,'workspace':_0x5eaad3};if(_0x1e036e)_0x4f24f0['avatar']=_0x1e036e;if(_0x3828e6)_0x4f24f0[_0x10e404(0x65)]=_0x3828e6;if(!_0x2cfb1a())break;const _0x406618=asRecord(await _0x5933dd(_0x4f24f0));if(_0x1fad85){if(!_0x2cfb1a())break;await _0x3b253b({'agentId':getTrimmedString(_0x406618[_0x10e404(0x81)])||_0x54a008,'name':_0x1fad85});}}}catch(_0x2d838e){console[_0x10e404(0x93)]('[wujie-s'+_0x10e404(0x8c)+'nts]\x20fai'+_0x10e404(0x74)+_0x10e404(0x6c)+_0x10e404(0x8a)+_0x10e404(0x99)+_0x54a008+'\x22',_0x2d838e);}}return _0x2cfb1a()&&await _0x263bcd?.({'agentIds':_0xdaed7a[_0x10e404(0x76)](_0x207d29=>_0x207d29['name']),'mainWorkspace':_0x12cc68}),{'didUpdate':_0x37900a,'bundledAgents':_0xdaed7a};}
@@ -1 +0,0 @@
1
- const _0x32ac0e=_0x59ec;(function(_0x30863f,_0x331141){const _0x1b0226=_0x59ec,_0x5cc84a=_0x30863f();while(!![]){try{const _0x3faaa6=-parseInt(_0x1b0226(0x148))/0x1+parseInt(_0x1b0226(0x160))/0x2*(-parseInt(_0x1b0226(0x170))/0x3)+-parseInt(_0x1b0226(0x1cb))/0x4+-parseInt(_0x1b0226(0x13b))/0x5+parseInt(_0x1b0226(0x15f))/0x6+-parseInt(_0x1b0226(0x1dd))/0x7+-parseInt(_0x1b0226(0x1b0))/0x8*(-parseInt(_0x1b0226(0x189))/0x9);if(_0x3faaa6===_0x331141)break;else _0x5cc84a['push'](_0x5cc84a['shift']());}catch(_0x284670){_0x5cc84a['push'](_0x5cc84a['shift']());}}}(_0x5724,0x5e495));import{randomBytes}from'node:crypto';import{existsSync,unwatchFile,watchFile}from'node:fs';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import _0x37686e,{portNumbers}from'get-port';import{ensureShellStateDirs,getConfigPaths,readJsonFile,writeJsonFile}from'@wujie-shell/config';import{asRecord,dedupeStrings,getTrimmedString,writeJson}from'./utils.mjs';import{loadRuntimeInfo}from'./runtime.mjs';import{createRuntimeLogger,summarizeRuntimeManifest}from'./runtime-logger.mjs';import{syncRuntimeManifestPlugins}from'./plugin-sync.mjs';import{normalizeOpenClawConfigShape}from'./openclaw-config-compat.mjs';const MEMORY_CORE_PLUGIN_ID=_0x32ac0e(0x14f)+'ore',ACTIVE_MEMORY_PLUGIN_ID='active-m'+_0x32ac0e(0x1b4),ASK_USER_QUESTION_PLUGIN_ID='ask-user'+_0x32ac0e(0x1d9)+'n',AUTO_RELOAD_EXTERNAL_CONFIG=process.env.WUJIE_SHELL_CONFIG_AUTO_RELOAD==='1';function createToken(){const _0x50358f=_0x32ac0e;return randomBytes(0x18)[_0x50358f(0x168)](_0x50358f(0x153));}function _0x59ec(_0x255032,_0x3da385){_0x255032=_0x255032-0x136;const _0x5724d9=_0x5724();let _0x59ec2f=_0x5724d9[_0x255032];return _0x59ec2f;}function createProviderModelConfig(_0x1b1863,_0x2edfc0=![]){const _0x3142fc=_0x32ac0e;return{'id':_0x1b1863,'name':_0x1b1863,'reasoning':!![],'input':_0x2edfc0?[_0x3142fc(0x1cd),_0x3142fc(0x1b5)]:[_0x3142fc(0x1cd)],'cost':{'input':0x0,'output':0x0,'cacheRead':0x0,'cacheWrite':0x0},'contextWindow':0x3e800,'maxTokens':0x3e800};}function createProviderConfig(_0x43c26c){const _0x57f3e7=_0x32ac0e;return{'apiKey':_0x43c26c[_0x57f3e7(0x182)],'api':_0x43c26c[_0x57f3e7(0x176)]===_0x57f3e7(0x16a)+'c'?_0x57f3e7(0x16a)+'c-messag'+'es':_0x57f3e7(0x17d)+_0x57f3e7(0x1b8)+'ns',..._0x43c26c[_0x57f3e7(0x164)]?{'baseUrl':_0x43c26c[_0x57f3e7(0x164)]}:{},'models':[createProviderModelConfig(_0x43c26c[_0x57f3e7(0x1de)+'e'])]};}function isConfiguredAskUserQuestionPlugin(_0x1de668,_0x3697df){const _0x468adb=_0x32ac0e;if(getTrimmedString(_0x1de668[_0x468adb(0x1b7)])!==ASK_USER_QUESTION_PLUGIN_ID)return!![];const _0xb30fb5=new Set(_0x3697df[_0x468adb(0x19c)]?.[_0x468adb(0x13d)+_0x468adb(0x1be)]??[]),_0x39ce3d=new Set((_0x3697df[_0x468adb(0x19c)]?.[_0x468adb(0x159)+_0x468adb(0x13f)+_0x468adb(0x1bb)]??[])[_0x468adb(0x179)](_0x209691=>_0x468adb(0x1c7)+_0x209691));return[_0x1de668[_0x468adb(0x1b7)],_0x1de668[_0x468adb(0x185)],_0x1de668[_0x468adb(0x159)+_0x468adb(0x17e)],_0x1de668[_0x468adb(0x159)+_0x468adb(0x192)]][_0x468adb(0x19f)](_0x33c155=>{const _0x5a108a=_0x468adb,_0x1c74e3=getTrimmedString(_0x33c155);return _0xb30fb5[_0x5a108a(0x173)](_0x1c74e3)||_0x39ce3d[_0x5a108a(0x173)](_0x1c74e3);});}function getConfiguredRuntimePlugins(_0x2dec8c,_0x256e0a){return(_0x2dec8c??[])['filter'](_0x375399=>isConfiguredAskUserQuestionPlugin(_0x375399,_0x256e0a));}function removeAskUserQuestionPluginConfig(_0x22912c){const _0xa35347=_0x32ac0e,_0x4b397c={...asRecord(_0x22912c)},_0x3acf4e={...asRecord(_0x4b397c[_0xa35347(0x18c)])},_0x459cc3=ASK_USER_QUESTION_PLUGIN_ID in _0x3acf4e;delete _0x3acf4e[ASK_USER_QUESTION_PLUGIN_ID];const _0x321d98=Array[_0xa35347(0x1d5)](_0x4b397c[_0xa35347(0x166)])?_0x4b397c[_0xa35347(0x166)][_0xa35347(0x199)](_0xed4f98=>_0xed4f98!==ASK_USER_QUESTION_PLUGIN_ID):[],_0x23be72=Array[_0xa35347(0x1d5)](_0x4b397c[_0xa35347(0x166)])&&_0x321d98['length']!==_0x4b397c[_0xa35347(0x166)][_0xa35347(0x1a2)];return _0x4b397c[_0xa35347(0x18c)]=_0x3acf4e,_0x4b397c[_0xa35347(0x166)]=_0x321d98,{'plugins':_0x4b397c,'changed':_0x459cc3||_0x23be72};}function createRuntimePluginBootstrap(_0x53f079,_0x18f77b){const _0x39c68d=_0x32ac0e,_0x12bcdf={},_0x103757=[];for(const _0x55700d of getConfiguredRuntimePlugins(_0x53f079,_0x18f77b)){const _0x15bd84=getTrimmedString(_0x55700d[_0x39c68d(0x1b7)]);if(!_0x15bd84)continue;_0x12bcdf[_0x15bd84]={'enabled':!![]},_0x103757['push'](_0x15bd84);}return!_0x12bcdf[MEMORY_CORE_PLUGIN_ID]&&(_0x12bcdf[MEMORY_CORE_PLUGIN_ID]={'enabled':!![],'config':{'dreaming':{'enabled':!![]}}}),!_0x12bcdf[ACTIVE_MEMORY_PLUGIN_ID]&&(_0x12bcdf[ACTIVE_MEMORY_PLUGIN_ID]={'enabled':!![]}),{'entries':_0x12bcdf,'allow':dedupeStrings([..._0x103757,MEMORY_CORE_PLUGIN_ID,ACTIVE_MEMORY_PLUGIN_ID]),'bundledDiscovery':_0x39c68d(0x187)};}function _0x5724(){const _0x54897a=['stateDir','baseUrl','openai','allow','ernal\x20ch','toString','ports','anthropi','model','eady\x20cur','ent\x20ensu','session','config\x20c','1796919TwdTrF','nitial\x20o','eUrl','has','g\x20writte','tart','protocol','urrent','oot','map','rent','defaultM','keys','openai-c','Spec','manifest','runtime\x20','all','apiKey','changed','product\x20','spec','ced','compat','model\x20se','1251MbvohQ','her\x20igno','logsDir','entries','local','onfig\x20al','ompleted','\x20config\x20','info\x20loa','Name','red','enabled','indexOf','gatewayS','claw\x20con','fig','filter','auto','shellUiS','openclaw','ded\x20for\x20','provider','some','connecto','toISOStr','length','fig\x20chan','mtimeMs','ated','restartO','plugin\x20c','call','ile\x20watc','elPrimar','ready\x20cu','written','slice','imageMod','penclaw\x20','93008hbySNa','last-goo','operty','agents','emory','image','exists','pluginId','ompletio','defaults','primary','ginPaths','config','full','ecs','error','utf8','lready\x20c','im_chann','onfig\x20ch','odel','reload\x20s','config\x20f','local:','plugins\x20','ensure\x20i','pdated','2971896ZRivKR','synced\x20i','text','d\x20opencl','rated\x20mo','aw\x20confi','dataDir','tatePath','ConfigPa','per-chan','isArray','info','prototyp','cheduled','-questio','imChanne','nto\x20open','now','175385ysxWGm','modelNam','rved\x20ext','Version','persiste','models','nfig\x20upd','default','ttings\x20a','config\x20s','anged','nel-peer','1642445pIMJlr','ailed','pluginSp','model\x20co','LocalPlu','memory','nChange','ange','plugins','dels\x20upd','yName','runtimeR','projectR','203345GkmZwP','ing','created','self-ope','ync','configPa','lastGood','memory-c','nfig\x20syn','skills','merge','hex','sanitize','256kb','mode','initial\x20','hasOwnPr','resolved','idle','stringif','ttings\x20u','els','modelBas','4014114EQtAVe','2mgntEx','deviceId','Key'];_0x5724=function(){return _0x54897a;};return _0x5724();}function createInitialOpenClawConfig(_0x4258f0,_0x50dd51){const _0x3ab52a=_0x32ac0e,_0x5109dc=new Date()[_0x3ab52a(0x1a1)+_0x3ab52a(0x149)](),_0x392f5e=join(_0x4258f0[_0x3ab52a(0x1d1)],'workspac'+'e'),_0x48978f=asRecord(_0x4258f0[_0x3ab52a(0x1e2)]),_0x225d60=getTrimmedString(_0x48978f[_0x3ab52a(0x17b)+'odel']),_0x5111c6={'workspace':_0x392f5e,'memorySearch':{'enabled':!![],'sources':[_0x3ab52a(0x140)],'provider':_0x3ab52a(0x19a)},'compaction':{'memoryFlush':{'enabled':!![],'forceFlushTranscriptBytes':_0x3ab52a(0x155),'softThresholdTokens':0x30d40}}};return _0x225d60&&(_0x5111c6['model']={'primary':_0x225d60}),{'meta':{'lastTouchedVersion':_0x50dd51[_0x3ab52a(0x19c)+_0x3ab52a(0x1e0)],'lastTouchedAt':_0x5109dc},'wizard':{'lastRunAt':_0x5109dc,'lastRunVersion':_0x50dd51['openclaw'+_0x3ab52a(0x1e0)],'lastRunCommand':'onboard','lastRunMode':_0x3ab52a(0x18d)},'models':{'mode':_0x3ab52a(0x152),'providers':asRecord(_0x48978f[_0x3ab52a(0x19e)+'s'])},'agents':{'defaults':_0x5111c6},'tools':{'profile':_0x3ab52a(0x1bd)},'plugins':createRuntimePluginBootstrap(_0x50dd51[_0x3ab52a(0x143)],_0x4258f0),'skills':{'load':{'extraDirs':[_0x3ab52a(0x151)]}},'session':{'dmScope':_0x3ab52a(0x1d4)+_0x3ab52a(0x13a),'reset':{'mode':_0x3ab52a(0x15a)}}};}function hasMeaningfulProductModels(_0x44711a){const _0x24eeeb=_0x32ac0e,_0x4dd060=asRecord(_0x44711a[_0x24eeeb(0x1e2)]);return Object[_0x24eeeb(0x17c)](asRecord(_0x4dd060[_0x24eeeb(0x19e)+'s']))[_0x24eeeb(0x1a2)]>0x0||Boolean(getTrimmedString(_0x4dd060[_0x24eeeb(0x17b)+_0x24eeeb(0x1c4)]));}function summarizeOpenClawConfig(_0x34e623){const _0x1d38e8=_0x32ac0e,_0x3111f5=asRecord(_0x34e623[_0x1d38e8(0x1e2)]),_0x1821e3=asRecord(_0x3111f5[_0x1d38e8(0x19e)+'s']),_0xf2a97a=asRecord(_0x34e623[_0x1d38e8(0x1b3)]),_0x59661a=asRecord(_0xf2a97a[_0x1d38e8(0x1b9)]),_0x16306d=asRecord(_0x59661a[_0x1d38e8(0x16b)]),_0x34cc63=asRecord(_0x34e623[_0x1d38e8(0x143)]),_0x42c0db=asRecord(_0x34cc63[_0x1d38e8(0x18c)]),_0x56fe60=asRecord(_0x34e623[_0x1d38e8(0x151)]),_0x51117a=asRecord(_0x56fe60['load']),_0x2ad433=asRecord(_0x34e623[_0x1d38e8(0x16e)]),_0x53d486=Array['isArray'](_0x51117a['extraDir'+'s'])?_0x51117a['extraDir'+'s']:[];return{'providerCount':Object[_0x1d38e8(0x17c)](_0x1821e3)[_0x1d38e8(0x1a2)],'defaultModel':getTrimmedString(_0x16306d[_0x1d38e8(0x1ba)]),'pluginEntryCount':Object['keys'](_0x42c0db)[_0x1d38e8(0x1a2)],'pluginAllowCount':Array[_0x1d38e8(0x1d5)](_0x34cc63[_0x1d38e8(0x166)])?_0x34cc63[_0x1d38e8(0x166)][_0x1d38e8(0x1a2)]:0x0,'skillExtraDirCount':_0x53d486[_0x1d38e8(0x1a2)],'sessionDmScope':getTrimmedString(_0x2ad433['dmScope'])};}function extractShellUiState(_0x1d809d){const _0x27ed67=_0x32ac0e,_0x3e0e16={...asRecord(_0x1d809d[_0x27ed67(0x1a0)+'rs']),...asRecord(_0x1d809d[_0x27ed67(0x1c2)+_0x27ed67(0x15d)]),...asRecord(_0x1d809d[_0x27ed67(0x1da)+'ls'])};return{'connectors':_0x3e0e16};}function hasShellUiState(_0x1aef4b){const _0xcc2e47=_0x32ac0e;return Object[_0xcc2e47(0x17c)](asRecord(_0x1aef4b[_0xcc2e47(0x1a0)+'rs']))[_0xcc2e47(0x1a2)]>0x0;}function hasShellUiStateSource(_0x216158){const _0x561919=_0x32ac0e;return Object[_0x561919(0x1d7)+'e'][_0x561919(0x158)+_0x561919(0x1b2)][_0x561919(0x1a8)](asRecord(_0x216158),_0x561919(0x1a0)+'rs')||Object[_0x561919(0x1d7)+'e'][_0x561919(0x158)+_0x561919(0x1b2)][_0x561919(0x1a8)](asRecord(_0x216158),_0x561919(0x1c2)+_0x561919(0x15d))||Object[_0x561919(0x1d7)+'e'][_0x561919(0x158)+_0x561919(0x1b2)][_0x561919(0x1a8)](asRecord(_0x216158),_0x561919(0x1da)+'ls');}function isSameJson(_0x2ee004,_0x55e751){const _0x269161=_0x32ac0e;return JSON['stringif'+'y'](_0x2ee004)===JSON[_0x269161(0x15b)+'y'](_0x55e751);}function syncProductModels(_0x6ccc8e,_0x395aea){const _0x248f27=_0x32ac0e;if(!hasMeaningfulProductModels(_0x395aea))return{'config':_0x6ccc8e,'changed':![]};let _0x3a51a8=![];const _0x1caadc=asRecord(_0x395aea[_0x248f27(0x1e2)]),_0x2c597c=asRecord(_0x1caadc['provider'+'s']),_0x2e1a8b=getTrimmedString(_0x1caadc['defaultM'+_0x248f27(0x1c4)]),_0x34fcec=asRecord(_0x6ccc8e[_0x248f27(0x1e2)]),_0x3e1bb4=asRecord(_0x34fcec[_0x248f27(0x19e)+'s']);for(const [_0x3a485b,_0x445ff7]of Object[_0x248f27(0x18c)](_0x2c597c)){const _0x25645c=asRecord(_0x3e1bb4[_0x3a485b]),_0x242a83=asRecord(_0x445ff7);JSON[_0x248f27(0x15b)+'y'](_0x25645c)!==JSON['stringif'+'y'](_0x242a83)&&(_0x3e1bb4[_0x3a485b]=_0x242a83,_0x3a51a8=!![]);}_0x34fcec['mode']!==_0x248f27(0x152)&&(_0x34fcec[_0x248f27(0x156)]=_0x248f27(0x152),_0x3a51a8=!![]);_0x34fcec[_0x248f27(0x19e)+'s']!==_0x3e1bb4&&(_0x34fcec[_0x248f27(0x19e)+'s']=_0x3e1bb4,_0x3a51a8=!![]);_0x6ccc8e[_0x248f27(0x1e2)]!==_0x34fcec&&(_0x6ccc8e['models']=_0x34fcec,_0x3a51a8=!![]);if(_0x2e1a8b){const _0x4516de=asRecord(_0x6ccc8e[_0x248f27(0x1b3)]),_0x36b396=asRecord(_0x4516de[_0x248f27(0x1b9)]),_0x4c91bd=asRecord(_0x36b396[_0x248f27(0x16b)]);_0x4c91bd[_0x248f27(0x1ba)]!==_0x2e1a8b&&(_0x36b396[_0x248f27(0x16b)]={..._0x4c91bd,'primary':_0x2e1a8b},_0x4516de[_0x248f27(0x1b9)]=_0x36b396,_0x6ccc8e['agents']=_0x4516de,_0x3a51a8=!![]);}return{'config':_0x6ccc8e,'changed':_0x3a51a8};}export function createConfigController(_0x2ee62b){const _0x5c3d6c=_0x32ac0e,_0x116b93=getConfigPaths(_0x2ee62b),_0x5c2095=createRuntimeLogger(_0x116b93,_0x5c3d6c(0x1bc));let _0x486732=![],_0x7be134=0x0,_0x730594=null,_0x5ea6b7=null;function _0x49bc44(){return _0x116b93['configPa'+'th'];}function _0x5239b9(){const _0x454ce4=_0x5c3d6c;return _0x116b93[_0x454ce4(0x163)];}function _0x431c13(){const _0x39a641=_0x5c3d6c;return _0x116b93[_0x39a641(0x161)+'entityPa'+'th'];}async function _0x4921dc(){const _0x569d78=_0x5c3d6c;await ensureShellStateDirs(_0x2ee62b),process.env.OPENCLAW_STATE_DIR=_0x116b93[_0x569d78(0x163)],process.env.OPENCLAW_CONFIG_PATH=_0x116b93[_0x569d78(0x14d)+'th'],_0x5c2095?.[_0x569d78(0x1d6)](_0x569d78(0x19c)+_0x569d78(0x190)+'environm'+_0x569d78(0x16d)+_0x569d78(0x193),{'stateDir':_0x116b93['stateDir'],'configPath':_0x116b93['configPa'+'th'],'logsDir':_0x116b93[_0x569d78(0x18b)]});}async function _0x5c4458(){const _0x5cc933=_0x5c3d6c,_0x8d8d79=Date[_0x5cc933(0x1dc)]();_0x5c2095?.[_0x5cc933(0x1d6)](_0x5cc933(0x1c9)+_0x5cc933(0x171)+'penclaw\x20'+_0x5cc933(0x138)+'tarted',{'configPath':_0x116b93[_0x5cc933(0x14d)+'th'],'stateDir':_0x116b93['stateDir']});try{await _0x4921dc();const _0x3a87b3=await loadRuntimeInfo(_0x2ee62b[_0x5cc933(0x147)+_0x5cc933(0x178)]);_0x5c2095?.[_0x5cc933(0x1d6)](_0x5cc933(0x180)+_0x5cc933(0x191)+_0x5cc933(0x19d)+_0x5cc933(0x138)+_0x5cc933(0x14c),{'runtimeRoot':_0x3a87b3[_0x5cc933(0x146)+'oot'],'manifest':summarizeRuntimeManifest(_0x3a87b3[_0x5cc933(0x17f)])});if(!existsSync(_0x116b93[_0x5cc933(0x14d)+'th'])){const _0x164b24=createInitialOpenClawConfig(_0x2ee62b,_0x3a87b3);_0x5c2095?.[_0x5cc933(0x1d6)](_0x5cc933(0x157)+_0x5cc933(0x19c)+_0x5cc933(0x190)+'missing;'+'\x20creatin'+'g',{'configPath':_0x116b93[_0x5cc933(0x14d)+'th'],'config':summarizeOpenClawConfig(_0x164b24)}),_0x4b621d();const _0x4360e3=await _0x5755c6(_0x164b24,_0x5cc933(0x157)+_0x5cc933(0x19c)+'\x20config\x20'+_0x5cc933(0x14a));await writeJson(_0x116b93[_0x5cc933(0x14e)+'ConfigPa'+'th'],_0x4360e3),_0x5c2095?.[_0x5cc933(0x1d6)](_0x5cc933(0x1b1)+_0x5cc933(0x1ce)+_0x5cc933(0x1d0)+_0x5cc933(0x174)+'n',{'path':_0x116b93[_0x5cc933(0x14e)+_0x5cc933(0x1d3)+'th'],'reason':'initial\x20'+_0x5cc933(0x19c)+_0x5cc933(0x190)+_0x5cc933(0x14a)});}else _0x5c2095?.['info'](_0x5cc933(0x157)+_0x5cc933(0x19c)+_0x5cc933(0x190)+_0x5cc933(0x1b6),{'configPath':_0x116b93[_0x5cc933(0x14d)+'th']}),await _0x3ed9be();await _0x395e43(),await _0x31eb22(),_0x5c2095?.[_0x5cc933(0x1d6)](_0x5cc933(0x1c9)+_0x5cc933(0x171)+_0x5cc933(0x1af)+_0x5cc933(0x16f)+_0x5cc933(0x18f),{'durationMs':Date[_0x5cc933(0x1dc)]()-_0x8d8d79});}catch(_0x39c1e8){_0x5c2095?.[_0x5cc933(0x1bf)](_0x5cc933(0x1c9)+'nitial\x20o'+_0x5cc933(0x1af)+_0x5cc933(0x1c6)+_0x5cc933(0x13c),{'durationMs':Date['now']()-_0x8d8d79,'error':_0x39c1e8});throw _0x39c1e8;}}async function _0x43970e(){const _0x34e1fa=_0x5c3d6c;return await _0x5c4458(),normalizeOpenClawConfigShape(await readJsonFile(_0x116b93[_0x34e1fa(0x14d)+'th'],{}));}async function _0x5b2035(){const _0x4697b3=_0x5c3d6c;return normalizeOpenClawConfigShape(await readJsonFile(_0x116b93[_0x4697b3(0x14d)+'th'],{}));}async function _0x2d0d8e(){const _0x37395b=_0x5c3d6c;return extractShellUiState(await readJsonFile(_0x116b93[_0x37395b(0x19b)+_0x37395b(0x1d2)],{}));}async function _0x4a751b(_0x59cd29){const _0x5a293b=_0x5c3d6c,_0x58238d=extractShellUiState(_0x59cd29);return await writeJson(_0x116b93[_0x5a293b(0x19b)+_0x5a293b(0x1d2)],_0x58238d),_0x58238d;}async function _0x34307f(){const _0x386781=_0x5c3d6c,[_0x78356,_0xb729bf]=await Promise[_0x386781(0x181)]([_0x5b2035(),_0x2d0d8e()]);return{..._0x78356,'connectors':asRecord(_0xb729bf[_0x386781(0x1a0)+'rs'])};}async function _0x3ed9be(){const _0xeaae0a=_0x5c3d6c,_0x527a44=await readJsonFile(_0x116b93[_0xeaae0a(0x14d)+'th'],{}),_0x357ceb=extractShellUiState(_0x527a44),_0x5710d6=normalizeOpenClawConfigShape(_0x527a44);hasShellUiState(_0x357ceb)&&await _0x4a751b(_0x357ceb),!isSameJson(_0x527a44,_0x5710d6)&&(_0x4b621d(),await _0x5755c6(_0x5710d6,_0xeaae0a(0x19c)+_0xeaae0a(0x190)+_0xeaae0a(0x154)+'d'),await writeJson(_0x116b93[_0xeaae0a(0x14e)+_0xeaae0a(0x1d3)+'th'],_0x5710d6),_0x5c2095?.[_0xeaae0a(0x1d6)](_0xeaae0a(0x1b1)+_0xeaae0a(0x1ce)+_0xeaae0a(0x1d0)+'g\x20writte'+'n',{'path':_0x116b93[_0xeaae0a(0x14e)+_0xeaae0a(0x1d3)+'th'],'reason':'openclaw'+_0xeaae0a(0x190)+'sanitize'+'d'}));}async function _0x5755c6(_0x13edf9,_0x36964c='openclaw'+'\x20config\x20'+_0x5c3d6c(0x1ac)){const _0x421c77=_0x5c3d6c,_0x72bbb9=extractShellUiState(_0x13edf9);hasShellUiStateSource(_0x13edf9)&&await _0x4a751b(_0x72bbb9);const _0x2e2975=normalizeOpenClawConfigShape(_0x13edf9);return await mkdir(dirname(_0x116b93[_0x421c77(0x14d)+'th']),{'recursive':!![]}),await writeFile(_0x116b93[_0x421c77(0x14d)+'th'],JSON[_0x421c77(0x15b)+'y'](_0x2e2975,null,0x2)+'\x0a',_0x421c77(0x1c0)),_0x5c2095?.[_0x421c77(0x1d6)](_0x36964c,{'configPath':_0x116b93[_0x421c77(0x14d)+'th'],'config':summarizeOpenClawConfig(_0x2e2975)}),_0x2e2975;}async function _0x31eb22(){const _0x17f39f=_0x5c3d6c,_0x2b21ef=await loadRuntimeInfo(_0x2ee62b[_0x17f39f(0x147)+_0x17f39f(0x178)]),_0x32346d=await _0x5b2035(),_0x176206=getConfiguredRuntimePlugins(_0x2b21ef[_0x17f39f(0x143)],_0x2ee62b),_0x14cadd=syncRuntimeManifestPlugins(_0x32346d[_0x17f39f(0x143)],_0x176206),_0x8f99a8=_0x176206[_0x17f39f(0x19f)](_0x497ba5=>getTrimmedString(_0x497ba5[_0x17f39f(0x1b7)])===ASK_USER_QUESTION_PLUGIN_ID),_0x1bcc45=_0x8f99a8?_0x14cadd:removeAskUserQuestionPluginConfig(_0x14cadd['plugins']);_0x14cadd[_0x17f39f(0x183)]||_0x1bcc45[_0x17f39f(0x183)]||!_0x32346d[_0x17f39f(0x143)]?(_0x32346d[_0x17f39f(0x143)]=_0x1bcc45['plugins'],_0x4b621d(),await _0x5755c6(_0x32346d,'runtime\x20'+_0x17f39f(0x1c8)+_0x17f39f(0x1cc)+_0x17f39f(0x1db)+_0x17f39f(0x197)+_0x17f39f(0x198)),_0x5c2095?.['info']('runtime\x20'+_0x17f39f(0x1a7)+_0x17f39f(0x1c3)+_0x17f39f(0x139),{'runtimePluginCount':_0x176206[_0x17f39f(0x1a2)],'config':summarizeOpenClawConfig(_0x32346d)})):_0x5c2095?.[_0x17f39f(0x1d6)](_0x17f39f(0x180)+'plugin\x20c'+_0x17f39f(0x18e)+_0x17f39f(0x1ab)+'rrent',{'runtimePluginCount':_0x176206[_0x17f39f(0x1a2)]});}async function _0x395e43(){const _0x30334b=_0x5c3d6c,_0x1d95c7=await _0x5b2035(),_0x5d7ade=syncProductModels(_0x1d95c7,_0x2ee62b);_0x5d7ade[_0x30334b(0x183)]?(await _0x52c54e(_0x5d7ade[_0x30334b(0x1bc)],_0x30334b(0x184)+_0x30334b(0x13e)+_0x30334b(0x1e3)+'ated'),_0x5c2095?.[_0x30334b(0x1d6)]('product\x20'+_0x30334b(0x13e)+_0x30334b(0x150)+_0x30334b(0x186),{'config':summarizeOpenClawConfig(_0x5d7ade[_0x30334b(0x1bc)])})):_0x5c2095?.['info'](_0x30334b(0x184)+'model\x20co'+'nfig\x20alr'+_0x30334b(0x16c)+_0x30334b(0x17a),{'hasProductModels':hasMeaningfulProductModels(_0x2ee62b)});}async function _0x370a18(){const _0x16ae6f=_0x5c3d6c;await _0x5c4458();const _0x3748af=await _0x37686e({'port':portNumbers(_0x2ee62b[_0x16ae6f(0x169)][_0x16ae6f(0x196)+'tart'],_0x2ee62b[_0x16ae6f(0x169)][_0x16ae6f(0x196)+_0x16ae6f(0x175)]+0x63)});return{'token':createToken(),'port':_0x3748af};}async function _0x5238d3(){const _0x26b500=_0x5c3d6c,_0x507bd0=await _0x43970e(),_0x2802ab=asRecord(_0x507bd0[_0x26b500(0x1b3)]),_0x5f25e7=asRecord(_0x2802ab['defaults']),_0x40607d=asRecord(_0x5f25e7[_0x26b500(0x16b)]),_0x2a96e1=getTrimmedString(_0x40607d['primary']),_0x4919eb=_0x2a96e1[_0x26b500(0x195)]('/'),_0x531a3d=_0x4919eb>0x0?_0x2a96e1[_0x26b500(0x1ad)](0x0,_0x4919eb):_0x2a96e1,_0x69a13c=_0x4919eb>0x0?_0x2a96e1[_0x26b500(0x1ad)](_0x4919eb+0x1):'',_0x1a9fe8=asRecord(asRecord(_0x507bd0[_0x26b500(0x1e2)])[_0x26b500(0x19e)+'s']),_0x27a67f=asRecord(_0x1a9fe8[_0x531a3d]);return{'provider':_0x531a3d||'','apiKey':getTrimmedString(_0x27a67f[_0x26b500(0x182)]),'modelName':_0x69a13c,'modelBaseUrl':getTrimmedString(_0x27a67f['baseUrl'])};}async function _0x55dd78(_0x4a0f24,_0x330aad={}){const _0x2507c0=_0x5c3d6c,_0x3f3075=await _0x43970e(),_0x49c390=structuredClone(_0x3f3075),_0x32b6c6=_0x4a0f24[_0x2507c0(0x19e)]||_0x2507c0(0x136),_0x5880e7=_0x32b6c6+'/'+_0x4a0f24[_0x2507c0(0x1de)+'e'],_0x3f2fa7=asRecord(_0x3f3075['models']),_0x2a26d1=asRecord(_0x3f2fa7['provider'+'s']);_0x2a26d1[_0x32b6c6]={...asRecord(_0x2a26d1[_0x32b6c6]),...createProviderConfig({'apiKey':_0x4a0f24[_0x2507c0(0x182)]||'','protocol':_0x4a0f24['protocol']||_0x2507c0(0x165),'baseUrl':_0x4a0f24[_0x2507c0(0x15e)+_0x2507c0(0x172)]||_0x4a0f24[_0x2507c0(0x164)]||'','modelName':_0x4a0f24[_0x2507c0(0x1de)+'e']})},_0x3f2fa7[_0x2507c0(0x19e)+'s']=_0x2a26d1,_0x3f3075[_0x2507c0(0x1e2)]=_0x3f2fa7;const _0x3379bc=asRecord(_0x3f3075['agents']),_0xdf3fa9=asRecord(_0x3379bc[_0x2507c0(0x1b9)]);_0xdf3fa9[_0x2507c0(0x16b)]={...asRecord(_0xdf3fa9[_0x2507c0(0x16b)]),'primary':_0x5880e7},_0xdf3fa9[_0x2507c0(0x1e2)]={...asRecord(_0xdf3fa9[_0x2507c0(0x1e2)]),[_0x5880e7]:asRecord(asRecord(_0xdf3fa9[_0x2507c0(0x1e2)])[_0x5880e7])},_0x3379bc[_0x2507c0(0x1b9)]=_0xdf3fa9,_0x3f3075['agents']=_0x3379bc,_0x3f3075['session']={...asRecord(_0x3f3075[_0x2507c0(0x16e)]),'dmScope':_0x2507c0(0x1d4)+_0x2507c0(0x13a)};if(isSameJson(_0x49c390,_0x3f3075))return _0x5c2095?.[_0x2507c0(0x1d6)](_0x2507c0(0x188)+_0x2507c0(0x137)+_0x2507c0(0x1c1)+_0x2507c0(0x177),{'config':summarizeOpenClawConfig(_0x3f3075)}),{'ok':!![],'changed':![]};return await _0x52c54e(_0x3f3075,_0x330aad[_0x2507c0(0x1a6)+_0x2507c0(0x141)]?_0x2507c0(0x188)+_0x2507c0(0x15c)+_0x2507c0(0x1ca):''),{'ok':!![],'changed':!![]};}async function _0x341ff3(_0x165139){const _0x483ee9=_0x5c3d6c,_0x349e23=await _0x43970e(),_0x96dc9a=structuredClone(_0x349e23),_0xae51b6=_0x165139['provider'+_0x483ee9(0x162)],_0x19d495=asRecord(_0x349e23[_0x483ee9(0x1e2)]),_0x16d22b=asRecord(_0x19d495[_0x483ee9(0x19e)+'s']);_0x16d22b[_0xae51b6]={...asRecord(_0x16d22b[_0xae51b6]),'apiKey':_0x165139[_0x483ee9(0x182)],'api':_0x483ee9(0x17d)+_0x483ee9(0x1b8)+'ns','baseUrl':_0x165139[_0x483ee9(0x164)],'models':(_0x165139[_0x483ee9(0x1de)+'es']??[])[_0x483ee9(0x179)](_0x397e95=>createProviderModelConfig(_0x397e95,_0x397e95===_0x165139[_0x483ee9(0x1ae)+_0x483ee9(0x1aa)+_0x483ee9(0x145)]))},_0x19d495[_0x483ee9(0x19e)+'s']=_0x16d22b,_0x349e23[_0x483ee9(0x1e2)]=_0x19d495;if(_0x165139['imageMod'+_0x483ee9(0x1aa)+_0x483ee9(0x145)]){const _0x221e8d=asRecord(_0x349e23[_0x483ee9(0x1b3)]),_0x4bb320=asRecord(_0x221e8d['defaults']);_0x4bb320['imageMod'+'el']={...asRecord(_0x4bb320['imageMod'+'el']),'primary':_0xae51b6+'/'+_0x165139[_0x483ee9(0x1ae)+_0x483ee9(0x1aa)+_0x483ee9(0x145)]},_0x221e8d['defaults']=_0x4bb320,_0x349e23[_0x483ee9(0x1b3)]=_0x221e8d;}if(isSameJson(_0x96dc9a,_0x349e23))return _0x5c2095?.[_0x483ee9(0x1d6)](_0x483ee9(0x14b)+_0x483ee9(0x1cf)+'dels\x20alr'+_0x483ee9(0x16c)+_0x483ee9(0x17a),{'config':summarizeOpenClawConfig(_0x349e23)}),{'ok':!![],'changed':![]};return await _0x52c54e(_0x349e23,_0x483ee9(0x14b)+'rated\x20mo'+_0x483ee9(0x144)+_0x483ee9(0x1a5)),{'ok':!![],'changed':!![]};}async function _0x3fbcdf({callbackUrl:_0x2e6434,secret:_0x2469ae}){const _0x27abc4=_0x5c3d6c,_0x108ec6=await _0x43970e(),_0x485b9d=asRecord(_0x108ec6['plugins']),_0x4a3f97=asRecord(_0x485b9d[_0x27abc4(0x18c)]),_0x12aa12=asRecord(_0x4a3f97[ASK_USER_QUESTION_PLUGIN_ID]);return _0x4a3f97[ASK_USER_QUESTION_PLUGIN_ID]={..._0x12aa12,'enabled':!![],'config':{...asRecord(_0x12aa12[_0x27abc4(0x1bc)]),'callbackUrl':_0x2e6434,'secret':_0x2469ae}},_0x485b9d[_0x27abc4(0x18c)]=_0x4a3f97,_0x485b9d[_0x27abc4(0x166)]=dedupeStrings([...(Array['isArray'](_0x485b9d[_0x27abc4(0x166)])?_0x485b9d[_0x27abc4(0x166)]:[])[_0x27abc4(0x199)](Boolean),ASK_USER_QUESTION_PLUGIN_ID]),_0x108ec6[_0x27abc4(0x143)]=_0x485b9d,await _0x52c54e(_0x108ec6,''),{'ok':!![]};}async function _0x50d08d(){const _0xbf034c=_0x5c3d6c,_0x33bd6d=await _0x43970e(),_0x27e536=asRecord(_0x33bd6d[_0xbf034c(0x143)]),_0x464f28=asRecord(_0x27e536['entries']),_0x4314df=asRecord(_0x464f28[ASK_USER_QUESTION_PLUGIN_ID]);return _0x4314df[_0xbf034c(0x194)]===!![];}async function _0x52c54e(_0x409b79,_0x253548=''){const _0x57dec8=_0x5c3d6c;_0x4b621d();const _0x1089e3=await _0x5755c6(_0x409b79,_0x253548||_0x57dec8(0x19c)+_0x57dec8(0x190)+'persiste'+'d');await writeJsonFile(_0x116b93['lastGood'+_0x57dec8(0x1d3)+'th'],_0x1089e3),_0x5c2095?.['info'](_0x57dec8(0x1b1)+_0x57dec8(0x1ce)+_0x57dec8(0x1d0)+_0x57dec8(0x174)+'n',{'path':_0x116b93[_0x57dec8(0x14e)+'ConfigPa'+'th'],'reason':_0x253548||_0x57dec8(0x19c)+_0x57dec8(0x190)+_0x57dec8(0x1e1)+'d'});if(_0x253548)_0x2c4000(_0x253548);}function _0x4b621d(){if(_0x486732)_0x7be134+=0x1;}function _0x3f87d4(_0x12a9aa){_0x5ea6b7=_0x12a9aa;}function _0x2c4000(_0xf3f044){const _0x381f5c=_0x5c3d6c;if(!_0x5ea6b7)return;if(_0x730594)clearTimeout(_0x730594);_0x5c2095?.['info']('gateway\x20'+_0x381f5c(0x1c5)+_0x381f5c(0x1d8)+'\x20for\x20con'+_0x381f5c(0x1a3)+'ge',{'reason':_0xf3f044,'debounceMs':0xfa}),_0x730594=setTimeout(()=>_0x5ea6b7(_0xf3f044),0xfa);}function _0x241ada(){const _0x2562df=_0x5c3d6c;unwatchFile(_0x116b93[_0x2562df(0x14d)+'th']),_0x486732=!![],watchFile(_0x116b93[_0x2562df(0x14d)+'th'],{'interval':0x3e8},(_0x1c34fa,_0x2bd95a)=>{const _0x37a2b4=_0x2562df;if(_0x1c34fa['mtimeMs']===_0x2bd95a[_0x37a2b4(0x1a4)])return;if(_0x7be134>0x0){_0x7be134-=0x1,_0x5c2095?.[_0x37a2b4(0x1d6)](_0x37a2b4(0x1c6)+_0x37a2b4(0x1a9)+_0x37a2b4(0x18a)+'red\x20inte'+'rnal\x20wri'+'te',{'configPath':_0x116b93['configPa'+'th'],'ignoredConfigWatchReloads':_0x7be134});return;}_0x5c2095?.[_0x37a2b4(0x1d6)](_0x37a2b4(0x1c6)+'ile\x20watc'+'her\x20obse'+_0x37a2b4(0x1df)+_0x37a2b4(0x167)+_0x37a2b4(0x142),{'configPath':_0x116b93[_0x37a2b4(0x14d)+'th'],'autoReload':AUTO_RELOAD_EXTERNAL_CONFIG});if(AUTO_RELOAD_EXTERNAL_CONFIG)_0x2c4000(_0x37a2b4(0x16f)+'hange');});}function _0x4a366e(){if(_0x730594)clearTimeout(_0x730594);unwatchFile(_0x116b93['configPa'+'th']),_0x486732=![],_0x7be134=0x0;}return{'paths':_0x116b93,'resolveConfigPath':_0x49bc44,'resolveStateDir':_0x5239b9,'resolveDeviceIdentityPath':_0x431c13,'ensureConfigPathEnv':_0x4921dc,'ensureInitialConfig':_0x5c4458,'ensureGatewaySettings':_0x370a18,'readConfig':_0x43970e,'readConfigRaw':_0x5b2035,'readShellUiState':_0x2d0d8e,'writeShellUiState':_0x4a751b,'readConfigSnapshotRaw':_0x34307f,'persistConfig':_0x52c54e,'writeConfig':_0x5755c6,'syncRuntimePlugins':_0x31eb22,'getModelSettings':_0x5238d3,'setModelSettings':_0x55dd78,'setSelfOperatedModels':_0x341ff3,'ensureAskUserQuestionPluginConfig':_0x3fbcdf,'isAskUserQuestionPluginEnabled':_0x50d08d,'markConfigWriteHandledInternally':_0x4b621d,'setGatewayRestartHandler':_0x3f87d4,'watchConfigChanges':_0x241ada,'dispose':_0x4a366e};}
@@ -1 +0,0 @@
1
- (function(_0x3a2e9b,_0x16414c){const _0x55de6b=_0x2089,_0x3282a5=_0x3a2e9b();while(!![]){try{const _0x29bd6a=-parseInt(_0x55de6b(0xfb))/0x1*(parseInt(_0x55de6b(0x22c))/0x2)+parseInt(_0x55de6b(0x103))/0x3*(-parseInt(_0x55de6b(0x126))/0x4)+-parseInt(_0x55de6b(0x14c))/0x5*(parseInt(_0x55de6b(0x240))/0x6)+-parseInt(_0x55de6b(0x1c6))/0x7*(parseInt(_0x55de6b(0x1b2))/0x8)+-parseInt(_0x55de6b(0xe8))/0x9+parseInt(_0x55de6b(0x265))/0xa+-parseInt(_0x55de6b(0x23b))/0xb*(-parseInt(_0x55de6b(0x181))/0xc);if(_0x29bd6a===_0x16414c)break;else _0x3282a5['push'](_0x3282a5['shift']());}catch(_0x5aa6f8){_0x3282a5['push'](_0x3282a5['shift']());}}}(_0x1d75,0x656cf));import{spawn}from'node:child_process';import{randomUUID}from'node:crypto';import{mkdir,readFile,readdir,rm,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';function _0x2089(_0x2f0a2b,_0xa7895a){_0x2f0a2b=_0x2f0a2b-0xb1;const _0x1d7521=_0x1d75();let _0x208989=_0x1d7521[_0x2f0a2b];return _0x208989;}import{getRuntimeSpawnContext,resolveRuntimeKdocsCliCommand,resolveRuntimeLarkCliCommand}from'../runtime.mjs';import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'../utils.mjs';import{DEFAULT_FEISHU_REGISTRATION_ENV,DEFAULT_FEISHU_REGISTRATION_INTERVAL_MS,DEFAULT_FEISHU_REGISTRATION_TIMEOUT_MS,DINGTALK_DOC_MCP_SERVER_NAME,FEISHU_DOC_CONNECTOR_PLUGIN_ID,FEISHU_REGISTRATION_ENV_URLS,KDOCS_SKILL_ID,NETEASE_MAIL_CONNECTOR_PLUGIN_ID,QQBOT_PLUGIN_ID,QQ_MAIL_CONNECTOR_PLUGIN_ID,TENCENT_DOCS_SKILL_ID,TENCENT_DOCS_TOKEN_ENV,TENCENT_EXMAIL_CONNECTOR_PLUGIN_ID,WECOM_PLUGIN_ID,WECHAT_PLUGIN_ID}from'./constants.mjs';import{applyFeishuChannelConfig,createConnectorPluginEntry,createDingtalkDocMcpServerConfig,normalizeFeishuDmPolicy,normalizeFeishuGroupPolicy,readOpenClawMcpServersFromConfig,writeOpenClawMcpServersToConfig}from'./config-utils.mjs';const KDOCS_CLI_STEP_TIMEOUT_MS=0x2bf20,KDOCS_CLI_AUTH_POLL_INTERVAL_MS=0x5dc,FEISHU_DOC_CLI_STEP_TIMEOUT_MS=0xa*0x3c*0x3e8;function safeString(_0xe8a842){const _0x12de27=_0x2089;return typeof _0xe8a842===_0x12de27(0xe1)?_0xe8a842['trim']():'';}function findDingtalkDocMcpServer(_0x544ccc){const _0x4205b7=_0x2089,_0x103d5b=asRecord(_0x544ccc[DINGTALK_DOC_MCP_SERVER_NAME]);if(Object[_0x4205b7(0x134)](_0x103d5b)[_0x4205b7(0x1e9)]>0x0)return _0x103d5b;for(const [_0x290035,_0x5dc3e5]of Object[_0x4205b7(0x149)](_0x544ccc)){const _0x18da63=asRecord(_0x5dc3e5),_0x459f15=getTrimmedString(_0x290035)[_0x4205b7(0x102)+_0x4205b7(0x272)](),_0x28d77b=getTrimmedString(_0x18da63[_0x4205b7(0x286)])[_0x4205b7(0x102)+_0x4205b7(0x272)]();if(_0x459f15[_0x4205b7(0xf5)]('dingtalk')||_0x459f15['includes'](_0x4205b7(0x14b))||_0x459f15['includes']('钉钉')||_0x28d77b[_0x4205b7(0xf5)]('dingtalk')||_0x28d77b[_0x4205b7(0xf5)]('dingding'))return _0x18da63;}return{};}function _0x1d75(){const _0x5ca8b3=['authoriz','stdin','ationUri','1/app/re','Local\x20lo','24991934grEHtP','output','wecom','qqbot','access_d','102222EVQbBv','deleted','docs\x20ski','Personal','飞书开放平台未返','icy','mail','kill','appId','_id','mableHtt','_doc','pollInte','正在检查飞书\x20C','managedB','then','ion_uri','test','persistC','rnal','cliHostC','Bin','token','\x20plugin\x20','飞书\x20CLI\x20应','SUCCESS','scriptio','\x20chars)','/page/sc','smtp.163','channelI','create','\x20doc\x20mcp','Feishu\x20r','ode','allow','\x20updated','2312640AxvyyN','金山文档已连接','latest','push','ve,markd','\x20is\x20requ','login','streamin','ation_ur','启动成功','usTimer','et\x20auth.','markConf','ase','netease\x20','omplete','lePath','p\x20URL','footer','ill\x20conn','rlencode','config','doc_conn','--channe','max','openclaw','请在浏览器完成金','onnector','Login\x20su','验证超时','process','nector\x20p','https:','url','igRaw','gistrati','ent_secr','baseUrl','client_i','fig','腾讯文档\x20Key','delete','timeout','--scope','正在初始化飞书\x20','user','二维码已过期,请','verifica','返回授权\x20URL','--domain','WujieAI','cliAppId',',请重新连接','appTimer','文档\x20Strea','match','授权状态','onFailur','tration\x20','e_code:\x20','stdout','nding','Feishu\x20d','ogin','values','Unsuppor','扫码成功','connecti','plugin','join','tokenSta','mer','appDevic','Spawn\x20er','cliAppSe','户授权失败','feishu_d','tion_uri','exists','with\x20cod','ocs:read','check','connecto','env:\x20','map','Missing\x20','n\x20respon','接失败','mcp','企微助手','ERROR','ector\x20de','CLOSED','HTTP\x20','is\x20requi','end','close','usStarte','ret\x20is\x20r','授权码\x20is\x20r','tus','ll\x20updat','\x20in\x20begi','w-form-u','ired','otRaw','split','li_user','expiresA','imap.exm','string','accounts','dingtalk','andledIn','supporte','--versio','mail\x20con','3283479DJnlVd','docs,dri','flow_id','lugin\x20de','identity','environm','leted','open_id','\x20config\x20','完成应用创建','ntervalM','r-log','当前飞书开放平台','includes','once','toString','rvalMs','QQ机器人\x20Ap','allowlis','232BsUWel','ctor\x20del','ector','POST','\x20connect','scanned','channels','toLowerC','645yUiKmb','_complet','plugins','get','docs','nfig\x20upd','ession\x20i','error_de','import','onSucces','i\x20auth\x20l','\x20已安装','writeCon','expire_i','feishu\x20c','Scan\x20suc','https_pr','boolean','com','indexOf','isArray','.com','Agent','full','deviceCo','ail.qq.c','正在打开飞书用户','qq\x20mail\x20','kdocs','purpose','projectR','飞书绑定失败','stderr','replace','飞书用户身份授权','3284KrpSZN','--no-wai','zationCo','kdocs\x20sk','wechat-s','account','账号\x20is\x20re','tatus','ethods','utf8','163\x20邮箱','smtp.exm','失败,请确认\x20k','http:','keys','d\x20auth','飞书\x20CLI\x20未','ctor\x20plu','interval','r\x20\x22','id\x20is\x20re','websocke','applicat','ternally','HTTPS_PR','QQ助手','sessionI','se.','ocr','rcode','ion_uri_','json','executab','own,wiki','spawn','entries','权状态不符合用户','dingding','35XjsoYY','正在验证金山文档','连接成功','catch','oxy','CLI\x20用户身份','hint','feishu\x20d','\x20deleted','expired','appSecre','cret','ession\x20n','valid','pending','/oauth/v','金山文档授权状态',',请先连接','\x22\x20not\x20fo','当前客户端未内置','slides,b','imap.163','verifyTi','enied','find','readConf','ion_flow','eamableH','正在验证飞书授权','share','pID\x20is\x20r','ot\x20found','腾讯文档','eCode','SCANNED','nodeExec','ion\x20sess','wechat-q','code,请重试','status','error','pluginId','Failed','Data','onfigPat','--force-','toISOStr','scope_au','onfig','device_c','飞书应用创建超时','equired','ocs-cli\x20','12vXrwQY',',请先完成\x20kd','openId','wujie.ai','init','d_auth_m','Kdocs\x20CL',':authori','appPollC','wechat','ill\x20enab','bind','ecret','onfig\x20up','docs-cli','authStat','red','飞书\x20CLI\x20连','protocol','egistrat','sage','金山文档','export','timer','exmail','金山文档登录启动','skills','-code','client','allowFro','auth','ready','open','support@','-weixin','phase','I\x20sessio','创建失败','飞书\x20CLI\x20执','ecret\x20应用','oc\x20CLI\x20s','--brand','wecom\x20ch','飞书用户身份',',sheets,','lastInde','xOf','ame','headers','16UWpfBu','thorizat','Error','transpor','请输入有效的钉钉','...(','timeoutM','1.0.0','腾讯企业邮箱','owFrom','oc\x20conne','errorMes','飞书\x20CLI\x20授','重新生成','行失败','read','QQ\x20邮箱','skill','飞书\x20CLI\x20用','channel','2168677mKixaw','clear','ttp\x20URL\x20','env','connecte','s\x20requir','pSecret\x20','d\x20is\x20req','i_comple','apiKey','<empty>','tionUriC','smtp.qq.','\x20not\x20sup','tencent_','secret','function','tencent\x20','ccess','trim','enabled','message','dAt','response','utable','授权页','client_s','fresh','金山文档尚未授权','uired','clientSe','等待飞书用户授权','code','飞书机器人','streamab','length','found','tateDir','set','appExpir','hannels\x20','失,无法初始化','complete','ice_code','annel\x20co','startedA','now','logout','disabled','filter','appPollI','Invalid\x20','poll','wechat-l','gin\x20save','OXY','verify','\x20或\x20devic','正在启动金山文档','e\x20or\x20dev','tion_url','user_inf','Connecto','ation_pe','botId','groupPol','Current\x20','und','ated','\x20channel','已扫描','identiti','Channel\x20','\x20专用应用凭据缺','飞书应用创建失败','ent\x20does','object','ror:\x20','feishu','\x20exited\x20','qq_mail','data','parse','slice','无需重复连接','resolveS','器人绑定','飞书机器人\x20Ap',':user','--app-id','权状态验证失败','.json','的新版客户端','环境不支持创建\x20','enclaw\x20c','正在进入用户授权','quired','权状态验证超时','le-http','ID\x20is\x20re','eted','kdocs-cl','6962tozcLK','port\x20cli','HTTP_PRO','search','n\x20update','飞书文档\x20CLI','qqbot\x20ch','hu\x20regis','openExte','netease_'];_0x1d75=function(){return _0x5ca8b3;};return _0x1d75();}function createFeishuRegistrationClient(){const _0x3432ff=_0x2089,_0x236090=FEISHU_REGISTRATION_ENV_URLS[DEFAULT_FEISHU_REGISTRATION_ENV];if(!_0x236090)throw new Error(_0x3432ff(0xb4)+'ted\x20Feis'+_0x3432ff(0x233)+_0x3432ff(0x29f)+_0x3432ff(0xc6)+DEFAULT_FEISHU_REGISTRATION_ENV);return{'baseUrl':_0x236090,'headers':{'Content-Type':_0x3432ff(0x13c)+'ion/x-ww'+_0x3432ff(0xda)+_0x3432ff(0x279)+'d'},'timeoutMs':DEFAULT_FEISHU_REGISTRATION_TIMEOUT_MS};}async function postFeishuRegistration(_0x172d92,_0x3c662a){const _0xc5289e=_0x2089,_0x551958=await fetch(_0x172d92[_0xc5289e(0x28a)]+(_0xc5289e(0x15b)+_0xc5289e(0x239)+_0xc5289e(0x288)+'on'),{'method':_0xc5289e(0xfe),'headers':_0x172d92[_0xc5289e(0x1b1)],'body':new URLSearchParams(_0x3c662a)['toString'](),'signal':AbortSignal[_0xc5289e(0x28f)](_0x172d92[_0xc5289e(0x1b8)+'s'])}),_0x344707=await _0x551958[_0xc5289e(0x145)]()[_0xc5289e(0x14f)](()=>({}));if(!_0x551958['ok']){const _0x5f5852=new Error(_0xc5289e(0xd0)+_0x551958[_0xc5289e(0x173)]);_0x5f5852[_0xc5289e(0x1dd)+'Data']=_0x344707;throw _0x5f5852;}return asRecord(_0x344707);}async function initFeishuRegistration(_0x6c38a6){const _0x1f1f3c=_0x2089;return postFeishuRegistration(_0x6c38a6,{'action':_0x1f1f3c(0x185)});}async function beginFeishuRegistration(_0x4ffd4a){const _0x2a9027=_0x2089;return postFeishuRegistration(_0x4ffd4a,{'action':'begin','archetype':_0x2a9027(0x243)+_0x2a9027(0x119),'auth_method':_0x2a9027(0x1e0)+'ecret','request_user_info':_0x2a9027(0xef)});}async function pollFeishuRegistration(_0x643f87,_0x259110){const _0x256bc8=_0x2089;try{return await postFeishuRegistration(_0x643f87,{'action':_0x256bc8(0x1fa),'device_code':_0x259110});}catch(_0x5626ff){if(_0x5626ff?.[_0x256bc8(0x1dd)+_0x256bc8(0x177)]&&typeof _0x5626ff[_0x256bc8(0x1dd)+_0x256bc8(0x177)]===_0x256bc8(0x212))return asRecord(_0x5626ff[_0x256bc8(0x1dd)+_0x256bc8(0x177)]);throw _0x5626ff;}}function extractFeishuRegistrationAuthorizationUri(_0x3216c4){const _0x30cfe9=_0x2089,_0x474452=getTrimmedString(_0x3216c4[_0x30cfe9(0x236)+_0x30cfe9(0x26d)+_0x30cfe9(0x1ce)+'te'])||getTrimmedString(_0x3216c4[_0x30cfe9(0x236)+_0x30cfe9(0x26d)+'i'])||getTrimmedString(_0x3216c4[_0x30cfe9(0x17b)+_0x30cfe9(0x1b3)+_0x30cfe9(0x144)+_0x30cfe9(0x1f0)])||getTrimmedString(_0x3216c4['scope_au'+'thorizat'+_0x30cfe9(0x250)])||getTrimmedString(_0x3216c4[_0x30cfe9(0x17b)+'thorizat'+'ion_url'])||getTrimmedString(_0x3216c4[_0x30cfe9(0x236)+_0x30cfe9(0x26d)+'l']);if(_0x474452)return _0x474452;const _0x3a75be=getTrimmedString(_0x3216c4[_0x30cfe9(0xea)])||getTrimmedString(_0x3216c4['scope_au'+'thorizat'+_0x30cfe9(0x166)+_0x30cfe9(0x249)]);return _0x3a75be?FEISHU_REGISTRATION_ENV_URLS[DEFAULT_FEISHU_REGISTRATION_ENV]+(_0x30cfe9(0x25c)+'ope-auth'+'orizatio'+'n?flow_i'+'d=')+encodeURIComponent(_0x3a75be):null;}function serializeFeishuRegistrationSession(_0x85633b){const _0x556fe5=_0x2089;return{'sessionId':_0x85633b['sessionI'+'d'],'verificationUriComplete':_0x85633b[_0x556fe5(0x294)+_0x556fe5(0x1d1)+_0x556fe5(0x274)],'expiresAt':new Date(_0x85633b[_0x556fe5(0xdf)+'t'])[_0x556fe5(0x17a)+'ing'](),'pollIntervalMs':_0x85633b['pollInte'+_0x556fe5(0xf8)],'status':_0x85633b[_0x556fe5(0x173)],'errorMessage':_0x85633b[_0x556fe5(0x1bd)+_0x556fe5(0x195)],'purpose':_0x85633b[_0x556fe5(0x120)],'authorizationUri':_0x85633b['authoriz'+_0x556fe5(0x238)]};}function extractFirstUrl(_0x2de801){const _0x269dd7=_0x2089,_0x544b51=_0x2de801[_0x269dd7(0x29c)](/https?:\/\/[^\s"'<>]+/i);return _0x544b51?_0x544b51[0x0]:null;}function isKdocsAuthStatusReady(_0x475d6b){const _0x34cde7=_0x2089,_0x28c2ed=_0x475d6b[_0x34cde7(0x102)+_0x34cde7(0x272)]();if(/not\s+login|not\s+logged|unauth|未登录|未认证|未授权|失败/['test'](_0x28c2ed))return![];return/login|logged|auth|valid|success|已登录|已认证|已授权|有效|成功/[_0x34cde7(0x251)](_0x28c2ed);}function parseFeishuDocCliJson(_0x3bb700){const _0x1ffcb8=_0x2089,_0x16ebe4=_0x3bb700[_0x1ffcb8(0x1d9)]();if(!_0x16ebe4)return{};try{return asRecord(JSON['parse'](_0x16ebe4));}catch{for(let _0x5e417f=_0x16ebe4[_0x1ffcb8(0x116)]('{');_0x5e417f>=0x0;_0x5e417f=_0x16ebe4[_0x1ffcb8(0x116)]('{',_0x5e417f+0x1)){for(let _0x5bf398=_0x16ebe4[_0x1ffcb8(0x1ae)+_0x1ffcb8(0x1af)]('}');_0x5bf398>_0x5e417f;_0x5bf398=_0x16ebe4[_0x1ffcb8(0x1ae)+'xOf']('}',_0x5bf398-0x1)){try{return asRecord(JSON[_0x1ffcb8(0x218)](_0x16ebe4[_0x1ffcb8(0x219)](_0x5e417f,_0x5bf398+0x1)));}catch{}}}return{};}}function summarizeCliOutput(_0x4f58a5){const _0x5cb5eb=_0x2089,_0x71dd4c=_0x4f58a5['trim']();if(!_0x71dd4c)return _0x5cb5eb(0x1d0);return _0x71dd4c['length']>0x320?_0x71dd4c[_0x5cb5eb(0x219)](0x0,0x320)+_0x5cb5eb(0x1b7)+_0x71dd4c[_0x5cb5eb(0x1e9)]+_0x5cb5eb(0x25b):_0x71dd4c;}function extractFeishuDocCliError(_0x528430,_0x446058){const _0x5c8735=_0x2089,_0x49babf=parseFeishuDocCliJson(_0x528430),_0x2eea2b=asRecord(_0x49babf['error']),_0x30b086=getTrimmedString(_0x2eea2b[_0x5c8735(0x1db)]),_0x380713=getTrimmedString(_0x2eea2b[_0x5c8735(0x152)]);if(_0x30b086&&_0x380713)return _0x30b086+'\x0a'+_0x380713;if(_0x30b086)return _0x30b086;return _0x528430[_0x5c8735(0x1d9)]()||_0x446058;}function getFeishuDocCliFailureMessage(_0x4c9389,_0x1ddcb3,_0x56b8a2){const _0x3df28f=_0x2089,_0x5142b7=_0x1ddcb3[_0x3df28f(0x1d9)]()[_0x3df28f(0xdd)]('\x0a')[_0x3df28f(0x219)](-0x8)[_0x3df28f(0xb8)]('\x0a')[_0x3df28f(0x1d9)](),_0x2712cf=_0x4c9389===_0x3df28f(0x25f)?'飞书开放平台应用'+_0x3df28f(0x1a6):_0x4c9389===_0x3df28f(0x18c)?_0x3df28f(0x258)+'用绑定失败':_0x4c9389==='auth'?_0x3df28f(0x1c4)+_0x3df28f(0xbe):_0x3df28f(0x1be)+_0x3df28f(0x220);return _0x5142b7?_0x2712cf+':\x20'+_0x5142b7:_0x2712cf+':\x20'+_0x56b8a2;}function ensureFeishuDocCliUserStatus(_0x5d2e5a){const _0x33dd50=_0x2089,_0x2be259=parseFeishuDocCliJson(_0x5d2e5a),_0x577482=asRecord(_0x2be259[_0x33dd50(0x20d)+'es']),_0x51b14c=asRecord(_0x577482['user']),_0x9a76dd=getTrimmedString(_0x2be259[_0x33dd50(0xec)]),_0x454b2a=getTrimmedString(_0x2be259[_0x33dd50(0xb9)+_0x33dd50(0xd7)])||getTrimmedString(_0x51b14c['tokenSta'+_0x33dd50(0xd7)]),_0x2a7736=getTrimmedString(_0x51b14c[_0x33dd50(0x173)]),_0x4a25c6=_0x51b14c['availabl'+'e']===!![];if(_0x9a76dd!==_0x33dd50(0x292)||_0x2a7736&&_0x2a7736!==_0x33dd50(0x1a0)||Object[_0x33dd50(0x134)](_0x51b14c)[_0x33dd50(0x1e9)]>0x0&&!_0x4a25c6||_0x454b2a!==_0x33dd50(0x159)&&_0x454b2a!=='needs_re'+_0x33dd50(0x1e1))throw new Error('飞书\x20CLI\x20授'+_0x33dd50(0x14a)+'身份要求:\x20'+_0x5d2e5a[_0x33dd50(0x1d9)]());}function createKdocsCliStatus(_0x431344){const _0x377024=_0x2089;return{'sessionId':_0x431344['sessionI'+'d'],'status':_0x431344[_0x377024(0x173)],'phase':_0x431344[_0x377024(0x1a4)],'url':_0x431344['url'],'message':_0x431344[_0x377024(0x1db)],'errorMessage':_0x431344[_0x377024(0x1bd)+_0x377024(0x195)]};}function createFeishuDocCliStatus(_0x5cde6d){const _0x157b53=_0x2089;return{'sessionId':_0x5cde6d[_0x157b53(0x140)+'d'],'status':_0x5cde6d[_0x157b53(0x173)],'phase':_0x5cde6d['phase'],'url':_0x5cde6d['url'],'message':_0x5cde6d['message'],'errorMessage':_0x5cde6d[_0x157b53(0x1bd)+'sage']};}export function createConnectorController({shellConfig:_0x1e8485,configController:_0x4d626f,broadcast:_0x4aa6c3,shell:_0x54daae}){const _0x8c70a8=_0x2089,_0x194d28=new Map(),_0x353bd1=new Map(),_0x17bb37=new Map();let _0x441c2b=null;const _0x9238de=()=>_0x4d626f[_0x8c70a8(0x165)+_0x8c70a8(0x287)]();async function _0x3f7121(_0x2a3764,_0x33d1ed){const _0x30d8c6=_0x8c70a8;return typeof _0x4d626f['persistC'+_0x30d8c6(0x17c)]===_0x30d8c6(0x1d6)?await _0x4d626f[_0x30d8c6(0x252)+_0x30d8c6(0x17c)](_0x2a3764,_0x33d1ed):(_0x4d626f[_0x30d8c6(0x271)+'igWriteH'+_0x30d8c6(0xe4)+_0x30d8c6(0x13d)]?.(),await _0x4d626f[_0x30d8c6(0x10f)+_0x30d8c6(0x28c)](_0x2a3764,_0x33d1ed)),{'ok':!![]};}function _0x17e641(){const _0x561c77=_0x8c70a8;return join(_0x4d626f['resolveS'+_0x561c77(0x1eb)](),'feishu-d'+'oc-cli');}function _0x580f5e(){const _0x63350d=_0x8c70a8;return join(_0x17e641(),'.opencla'+'w',_0x63350d(0x27e)+'.json');}async function _0x4829e3(_0x4db8b1={}){const _0x185622=_0x8c70a8;return getRuntimeSpawnContext(_0x1e8485[_0x185622(0x121)+'oot'],_0x4db8b1);}async function _0x3b41c5(_0x1add08,_0x19112b){const _0x52d4f7=_0x8c70a8,{env:_0x5583d6,runtime:_0x44bde1}=await _0x4829e3({'FORCE_COLOR':'0','HOME':homedir()}),_0x87b1f3=await resolveRuntimeKdocsCliCommand(_0x44bde1);return _0x4aa6c3(_0x52d4f7(0xc5)+_0x52d4f7(0xf3),{'connector':_0x52d4f7(0x11f),'phase':_0x52d4f7(0x148),'message':_0x52d4f7(0x22b)+'i\x20'+_0x1add08[_0x52d4f7(0xb8)]('\x20')}),new Promise((_0x5c27e5,_0x11a8db)=>{const _0x263403=_0x52d4f7,_0x349e8d=spawn(_0x87b1f3[_0x263403(0x146)+_0x263403(0x275)],_0x1add08,{'cwd':homedir(),'env':_0x5583d6});let _0x9ef694='';const _0x3e9eaf=_0xb4f634=>{const _0x1df6a5=_0x263403,_0x3c9415=_0xb4f634[_0x1df6a5(0xf7)](_0x1df6a5(0x12f));_0x9ef694+=_0x3c9415,_0x4aa6c3(_0x1df6a5(0xc5)+'r-log',{'connector':_0x1df6a5(0x11f),'phase':_0x1df6a5(0x23c),'message':_0x3c9415});};_0x349e8d[_0x263403(0x2a1)]['on'](_0x263403(0x217),_0x3e9eaf),_0x349e8d[_0x263403(0x123)]['on'](_0x263403(0x217),_0x3e9eaf),_0x349e8d[_0x263403(0xf6)](_0x263403(0x174),_0x11a8db),_0x349e8d[_0x263403(0xf6)]('close',_0x1d7c4e=>_0x5c27e5({'code':_0x1d7c4e,'output':_0x9ef694}));if(typeof _0x19112b==='string')_0x349e8d[_0x263403(0x237)][_0x263403(0xd2)](_0x19112b);else _0x349e8d['stdin'][_0x263403(0xd2)]();});}async function _0xa03f75(){const _0x38f713=_0x8c70a8,_0x7bf490=await _0x9238de(),_0x313da7=asRecord(_0x7bf490['skills']),_0x1732cc=asRecord(_0x313da7[_0x38f713(0x149)]);_0x1732cc[KDOCS_SKILL_ID]={...asRecord(_0x1732cc[KDOCS_SKILL_ID]),'enabled':!![]},_0x313da7[_0x38f713(0x149)]=_0x1732cc,_0x7bf490[_0x38f713(0x19b)]=_0x313da7,await _0x3f7121(_0x7bf490,_0x38f713(0x129)+_0x38f713(0x18b)+'led');}async function _0x12f4e7(_0xb6cd4a){const _0x1d922a=_0x8c70a8,_0x81abf=await _0x9238de(),_0x1ec8c6=asRecord(_0x81abf[_0x1d922a(0x19b)]),_0x142718=asRecord(_0x1ec8c6[_0x1d922a(0x149)]);_0x142718[KDOCS_SKILL_ID]={...asRecord(_0x142718[KDOCS_SKILL_ID]),'enabled':Boolean(_0xb6cd4a)},_0x1ec8c6['entries']=_0x142718,_0x81abf[_0x1d922a(0x19b)]=_0x1ec8c6,await _0x3f7121(_0x81abf,'kdocs\x20sk'+'ill\x20'+(_0xb6cd4a?_0x1d922a(0x1da):_0x1d922a(0x1f6)));}async function _0x557ab1(){const _0x3d098f=_0x8c70a8,_0x5c1b77=await _0x9238de(),_0x17d1bc=asRecord(_0x5c1b77[_0x3d098f(0x19b)]),_0x1bc91c=asRecord(_0x17d1bc[_0x3d098f(0x149)]);delete _0x1bc91c[KDOCS_SKILL_ID],_0x17d1bc[_0x3d098f(0x149)]=_0x1bc91c,_0x5c1b77[_0x3d098f(0x19b)]=_0x17d1bc,await _0x3f7121(_0x5c1b77,_0x3d098f(0x129)+_0x3d098f(0x278)+_0x3d098f(0xce)+_0x3d098f(0xee));}async function _0x5b1993(){const _0x18c536=_0x8c70a8;if(!await _0x266836())throw new Error(_0x18c536(0x1e2)+_0x18c536(0x182)+_0x18c536(0x180)+'连接');return await _0xa03f75(),{'ok':!![]};}async function _0x266836(){const _0x3cfbd3=_0x8c70a8,_0x20d025=await _0x3b41c5([_0x3cfbd3(0x19f),'status'])[_0x3cfbd3(0x14f)](()=>({'code':null,'output':''}));return _0x20d025[_0x3cfbd3(0x1e6)]===0x0&&isKdocsAuthStatusReady(_0x20d025[_0x3cfbd3(0x23c)]);}async function _0x178c97({appId:_0x41400e,appSecret:_0x3acdb5,userInfo:userInfo=null}){const _0x330c5f=_0x8c70a8,_0x302f25=await _0x9238de();applyFeishuChannelConfig(_0x302f25,{'appId':_0x41400e,'appSecret':_0x3acdb5,'userInfo':userInfo}),await _0x3f7121(_0x302f25,'feishu\x20c'+'hannel\x20c'+_0x330c5f(0x18e)+'dated');}async function _0x137d58({appId:_0x11e536,appSecret:_0x1fada9,userInfo:userInfo=null,configPath:_0x12dc5e}){const _0x3522ca=_0x8c70a8,_0x34e28e=getTrimmedString(userInfo?.[_0x3522ca(0x183)]),_0x2d5ec5={'channels':{'feishu':{'enabled':![],'appId':_0x11e536,'appSecret':_0x1fada9,'domain':_0x3522ca(0x214),'connectionMode':_0x3522ca(0x13b)+'t','requireMention':!![],'dmPolicy':_0x34e28e?_0x3522ca(0xfa)+'t':_0x3522ca(0x1f6),'groupPolicy':_0x3522ca(0x1f6),'streaming':!![],'allowFrom':_0x34e28e?[_0x34e28e]:[],'groupAllowFrom':[]}},'plugins':{'entries':{},'allow':[]},'tools':{'profile':_0x3522ca(0x11a)}};await mkdir(dirname(_0x12dc5e),{'recursive':!![]}),await writeFile(_0x12dc5e,JSON['stringif'+'y'](_0x2d5ec5,null,0x2)+'\x0a',_0x3522ca(0x12f));}async function _0x25cf5d(_0x2d2ff8={}){const _0xece231=_0x8c70a8,_0x48d7f9=safeString(_0x2d2ff8[_0xece231(0x248)]),_0x16a2d5=safeString(_0x2d2ff8[_0xece231(0x156)+'t']);if(!_0x48d7f9)throw new Error(_0xece231(0x21d)+'pID\x20is\x20r'+'equired');if(!_0x16a2d5)throw new Error(_0xece231(0x21d)+_0xece231(0x1cc)+_0xece231(0xd1)+'red');return await _0x178c97({'appId':_0x48d7f9,'appSecret':_0x16a2d5,'userInfo':null}),{'ok':!![]};}async function _0x3bbc92(_0x3221f7={}){const _0x4d9669=_0x8c70a8,_0x448294=safeString(_0x3221f7[_0x4d9669(0x248)]),_0x1bad2b=safeString(_0x3221f7[_0x4d9669(0x1e4)+'cret']);if(!_0x448294)throw new Error(_0x4d9669(0xf9)+_0x4d9669(0x16a)+_0x4d9669(0x17f));if(!_0x1bad2b)throw new Error(_0x4d9669(0xf9)+_0x4d9669(0x1cc)+'is\x20requi'+_0x4d9669(0x191));const _0x515c80=await _0x9238de(),_0x11d146=asRecord(_0x515c80[_0x4d9669(0x101)]),_0x107de8=asRecord(_0x11d146[_0x4d9669(0x23e)]);_0x11d146['qqbot']={'enabled':typeof _0x107de8[_0x4d9669(0x1da)]===_0x4d9669(0x114)?_0x107de8[_0x4d9669(0x1da)]:!![],'allowFrom':['*'],'appId':_0x448294,'clientSecret':_0x1bad2b},_0x515c80[_0x4d9669(0x101)]=_0x11d146;const _0x34fc2d=asRecord(_0x515c80[_0x4d9669(0x105)]),_0x2487f5=asRecord(_0x34fc2d[_0x4d9669(0x149)]);return _0x2487f5[QQBOT_PLUGIN_ID]={...asRecord(_0x2487f5[QQBOT_PLUGIN_ID]),'enabled':!![]},_0x34fc2d[_0x4d9669(0x149)]=_0x2487f5,_0x34fc2d[_0x4d9669(0x263)]=dedupeStrings([...asStringArray(_0x34fc2d[_0x4d9669(0x263)]),QQBOT_PLUGIN_ID]),_0x515c80[_0x4d9669(0x105)]=_0x34fc2d,await _0x3f7121(_0x515c80,_0x4d9669(0x232)+'annel\x20co'+_0x4d9669(0x108)+_0x4d9669(0x20a)),{'ok':!![]};}async function _0x4394c6(_0x190739={}){const _0x28aada=_0x8c70a8,_0x107851=safeString(_0x190739['botId']),_0x2d0ccd=safeString(_0x190739['secret']);if(!_0x107851)throw new Error('企微助手\x20Bot'+_0x28aada(0x229)+'quired');if(!_0x2d0ccd)throw new Error('企微助手\x20Sec'+_0x28aada(0xd5)+_0x28aada(0x17f));const _0x57925a=await _0x9238de(),_0x4f7395=asRecord(_0x57925a[_0x28aada(0x101)]),_0xa90bb4=asRecord(_0x4f7395[_0x28aada(0x23d)]);_0x4f7395[_0x28aada(0x23d)]={..._0xa90bb4,'enabled':typeof _0xa90bb4['enabled']==='boolean'?_0xa90bb4[_0x28aada(0x1da)]:!![],'name':getTrimmedString(_0xa90bb4['name'])||'企微助手','connectionMode':getTrimmedString(_0xa90bb4[_0x28aada(0xb6)+'onMode'])||_0x28aada(0x13b)+'t','dmPolicy':normalizeFeishuDmPolicy(_0xa90bb4['dmPolicy'])??_0x28aada(0x1a1),'groupPolicy':normalizeFeishuGroupPolicy(_0xa90bb4[_0x28aada(0x207)+_0x28aada(0x245)])??_0x28aada(0x1a1),'allowFrom':asStringArray(_0xa90bb4[_0x28aada(0x19e)+'m']),'groupAllowFrom':asStringArray(_0xa90bb4['groupAll'+_0x28aada(0x1bb)]),'botId':_0x107851,'secret':_0x2d0ccd},_0x57925a[_0x28aada(0x101)]=_0x4f7395;const _0x9a1ba8=asRecord(_0x57925a['plugins']),_0x424ba1=asRecord(_0x9a1ba8[_0x28aada(0x149)]);return _0x424ba1[WECOM_PLUGIN_ID]={...asRecord(_0x424ba1[WECOM_PLUGIN_ID]),'enabled':!![]},_0x9a1ba8[_0x28aada(0x149)]=_0x424ba1,_0x9a1ba8['allow']=dedupeStrings([...asStringArray(_0x9a1ba8[_0x28aada(0x263)]),WECOM_PLUGIN_ID]),_0x57925a['plugins']=_0x9a1ba8,await _0x3f7121(_0x57925a,_0x28aada(0x1ab)+_0x28aada(0x1f2)+_0x28aada(0x108)+_0x28aada(0x20a)),{'ok':!![]};}async function _0x5c48c9(_0x75ebc2,_0x3f299b,_0x1b0ed6,_0x4d69ac){const _0x11774a=_0x8c70a8,_0xfecf4c=safeString(_0x3f299b['account']),_0x443e29=String(_0x3f299b[_0x11774a(0x236)+'ationCod'+'e']||'')[_0x11774a(0x124)](/\s+/g,'');if(!_0xfecf4c)throw new Error(_0x4d69ac+(_0x11774a(0x12c)+_0x11774a(0x226)));if(!_0x443e29)throw new Error(_0x4d69ac+(_0x11774a(0xd6)+_0x11774a(0x17f)));const _0x217316=await _0x9238de(),_0x278983=asRecord(_0x217316[_0x11774a(0x105)]),_0x20be32=asRecord(_0x278983[_0x11774a(0x149)]);return _0x20be32[_0x75ebc2]=createConnectorPluginEntry(_0x75ebc2,_0x20be32[_0x75ebc2],!![],{'account':_0xfecf4c,'authorizationCode':_0x443e29,..._0x1b0ed6}),_0x278983['entries']=_0x20be32,_0x278983[_0x11774a(0x263)]=dedupeStrings([...asStringArray(_0x278983[_0x11774a(0x263)]),_0x75ebc2]),_0x217316[_0x11774a(0x105)]=_0x278983,await _0x3f7121(_0x217316,_0x75ebc2+(_0x11774a(0xff)+'or\x20plugi'+_0x11774a(0x230)+'d')),{'ok':!![]};}const _0x112753=_0x36e809=>_0x5c48c9(QQ_MAIL_CONNECTOR_PLUGIN_ID,_0x36e809,{'imapHost':'imap.qq.'+_0x8c70a8(0x115),'imapPort':0x3e1,'smtpHost':_0x8c70a8(0x1d2)+'com','smtpPort':0x1d1,'secure':!![]},'QQ\x20邮箱'),_0x4434f6=_0x559b32=>_0x5c48c9(NETEASE_MAIL_CONNECTOR_PLUGIN_ID,_0x559b32,{'imapHost':_0x8c70a8(0x161)+_0x8c70a8(0x118),'imapPort':0x3e1,'smtpHost':_0x8c70a8(0x25d)+_0x8c70a8(0x118),'smtpPort':0x1d1,'imapClientName':_0x8c70a8(0x297),'imapClientVersion':_0x8c70a8(0x1b9),'imapClientVendor':_0x8c70a8(0x297),'imapClientSupportEmail':_0x8c70a8(0x1a2)+_0x8c70a8(0x184),'secure':!![]},'163\x20邮箱'),_0x50352c=_0x58ad34=>_0x5c48c9(TENCENT_EXMAIL_CONNECTOR_PLUGIN_ID,_0x58ad34,{'imapHost':_0x8c70a8(0xe0)+_0x8c70a8(0x11c)+'om','imapPort':0x3e1,'smtpHost':_0x8c70a8(0x131)+_0x8c70a8(0x11c)+'om','smtpPort':0x1d1,'secure':!![]},_0x8c70a8(0x1ba));async function _0x326d39(_0x3ee221={}){const _0x1ac8fd=_0x8c70a8,_0x38bf15=safeString(_0x3ee221['accountN'+_0x1ac8fd(0x1b0)])||_0x1ac8fd(0x1ac),_0x4a35cc=await _0x9238de(),_0x1643d0=asRecord(_0x4a35cc[_0x1ac8fd(0x105)]),_0x554b86=asRecord(_0x1643d0[_0x1ac8fd(0x149)]);return _0x554b86[FEISHU_DOC_CONNECTOR_PLUGIN_ID]=createConnectorPluginEntry(FEISHU_DOC_CONNECTOR_PLUGIN_ID,_0x554b86[FEISHU_DOC_CONNECTOR_PLUGIN_ID],!![],{'authMode':_0x1ac8fd(0x292),'accountName':_0x38bf15}),_0x1643d0[_0x1ac8fd(0x149)]=_0x554b86,_0x1643d0[_0x1ac8fd(0x263)]=dedupeStrings([...asStringArray(_0x1643d0[_0x1ac8fd(0x263)]),FEISHU_DOC_CONNECTOR_PLUGIN_ID]),_0x4a35cc[_0x1ac8fd(0x105)]=_0x1643d0,await _0x3f7121(_0x4a35cc,_0x1ac8fd(0x153)+_0x1ac8fd(0x1bc)+'ctor\x20plu'+'gin\x20upda'+'ted'),{'ok':!![]};}async function _0x442379(_0x294254={}){const _0x40940e=_0x8c70a8,_0xbe658c=safeString(_0x294254[_0x40940e(0x1cf)]);if(!_0xbe658c)throw new Error(_0x40940e(0x28d)+_0x40940e(0x26a)+_0x40940e(0xdb));const _0x34ab91=await _0x9238de(),_0xa7093e=asRecord(_0x34ab91[_0x40940e(0x19b)]),_0x19e78b=asRecord(_0xa7093e[_0x40940e(0x149)]),_0x4270a2=asRecord(_0x19e78b[TENCENT_DOCS_SKILL_ID]);return _0x19e78b[TENCENT_DOCS_SKILL_ID]={..._0x4270a2,'enabled':!![],'env':{...asRecord(_0x4270a2[_0x40940e(0x1c9)]),[TENCENT_DOCS_TOKEN_ENV]:_0xbe658c}},_0xa7093e[_0x40940e(0x149)]=_0x19e78b,_0x34ab91[_0x40940e(0x19b)]=_0xa7093e,await _0x3f7121(_0x34ab91,_0x40940e(0x1d7)+_0x40940e(0x242)+_0x40940e(0xd8)+'ed'),{'ok':!![]};}async function _0x51d12d(_0x22c42f={}){const _0x284c35=_0x8c70a8,_0x5910b9=safeString(_0x22c42f[_0x284c35(0x286)]);if(!_0x5910b9)throw new Error('钉钉文档\x20Str'+_0x284c35(0x167)+_0x284c35(0x1c8)+_0x284c35(0xd1)+_0x284c35(0x191));try{const _0x2b1496=new URL(_0x5910b9);if(![_0x284c35(0x133),_0x284c35(0x285)][_0x284c35(0xf5)](_0x2b1496[_0x284c35(0x193)]))throw new Error(_0x284c35(0x1f9)+_0x284c35(0x193));}catch{throw new Error(_0x284c35(0x1b6)+_0x284c35(0x29b)+_0x284c35(0x24a)+_0x284c35(0x276));}const _0x26a2b9=await _0x9238de(),_0x45d741=readOpenClawMcpServersFromConfig(_0x26a2b9);return _0x45d741[DINGTALK_DOC_MCP_SERVER_NAME]=createDingtalkDocMcpServerConfig(_0x5910b9),writeOpenClawMcpServersToConfig(_0x26a2b9,_0x45d741),await _0x3f7121(_0x26a2b9,_0x284c35(0xe3)+_0x284c35(0x260)+_0x284c35(0x264)),{'ok':!![]};}async function _0x4d5418(){const _0x10de98=_0x8c70a8,_0x1441a3=await _0x9238de(),_0x3f9b89=asRecord(_0x1441a3[_0x10de98(0x105)]),_0x511e45=asRecord(_0x3f9b89[_0x10de98(0x149)]),_0x5e6c73=asRecord(_0x1441a3[_0x10de98(0x19b)]),_0x54ff28=asRecord(_0x5e6c73[_0x10de98(0x149)]),_0x44d402={},_0x581c86=_0x20c802=>{const _0x1f78eb=_0x10de98,_0x5be138=asRecord(_0x511e45[_0x20c802]);return{'entry':_0x5be138,'config':asRecord(_0x5be138[_0x1f78eb(0x27a)])};},_0x1a43e0=(_0x39560b,_0x2799a4,_0x59fc50)=>{const _0x53580b=_0x10de98,{entry:_0x2497ab,config:_0xf94a7a}=_0x581c86(_0x2799a4),_0x3d6e03=getTrimmedString(_0xf94a7a[_0x53580b(0x12b)]);if(!_0x3d6e03)return;_0x44d402[_0x39560b]={'provider':_0x39560b,'sourceType':_0x53580b(0xb7),'adapter':_0x2799a4,'enabled':_0x2497ab[_0x53580b(0x1da)]!==![]&&_0xf94a7a[_0x53580b(0x1da)]!==![],'account':_0x3d6e03,'credentialRef':_0x2799a4+(_0x53580b(0x188)+_0x53580b(0x128)+'de'),'name':_0x59fc50};};_0x1a43e0('qq_mail',QQ_MAIL_CONNECTOR_PLUGIN_ID,_0x10de98(0x1c2)),_0x1a43e0(_0x10de98(0x235)+_0x10de98(0x246),NETEASE_MAIL_CONNECTOR_PLUGIN_ID,_0x10de98(0x130)),_0x1a43e0('tencent_'+'exmail',TENCENT_EXMAIL_CONNECTOR_PLUGIN_ID,'腾讯企业邮箱');const _0x51c016=_0x581c86(FEISHU_DOC_CONNECTOR_PLUGIN_ID),_0x481b50=getTrimmedString(_0x51c016[_0x10de98(0x27a)]['accountN'+_0x10de98(0x1b0)]);_0x481b50&&(_0x44d402['feishu']={'provider':_0x10de98(0x214),'sourceType':'lark-cli','adapter':'feishu_c'+_0x10de98(0xde),'enabled':_0x51c016['entry'][_0x10de98(0x1da)]!==![]&&_0x51c016[_0x10de98(0x27a)]['enabled']!==![],'authMode':_0x10de98(0x292),'accountName':_0x481b50,'account':_0x481b50,'credentialRef':FEISHU_DOC_CONNECTOR_PLUGIN_ID+_0x10de98(0x21e),'capabilities':[_0x10de98(0x267),'search','create',_0x10de98(0x1c1),'update',_0x10de98(0x28e),'export']});const _0x451fcb=asRecord(_0x54ff28[TENCENT_DOCS_SKILL_ID]),_0x1a5754=asRecord(_0x451fcb[_0x10de98(0x1c9)]),_0x4f3e90=getTrimmedString(_0x1a5754[TENCENT_DOCS_TOKEN_ENV]);_0x4f3e90&&(_0x44d402[_0x10de98(0x1d4)+_0x10de98(0x107)]={'provider':_0x10de98(0x1d4)+_0x10de98(0x107),'sourceType':_0x10de98(0x1c3),'adapter':TENCENT_DOCS_SKILL_ID,'enabled':_0x451fcb[_0x10de98(0x1da)]!==![],'account':_0x10de98(0x16c),'credentialRef':TENCENT_DOCS_SKILL_ID+':'+TENCENT_DOCS_TOKEN_ENV,'capabilities':[_0x10de98(0x25f),_0x10de98(0x1c1),'update',_0x10de98(0x28e),_0x10de98(0x10b),_0x10de98(0x197),_0x10de98(0x142)]});const _0x50ba5c=asRecord(_0x54ff28[KDOCS_SKILL_ID]);Object[_0x10de98(0x134)](_0x50ba5c)['length']>0x0&&await _0x266836()&&(_0x44d402[_0x10de98(0x11f)]={'provider':_0x10de98(0x11f),'sourceType':_0x10de98(0x1c3),'adapter':KDOCS_SKILL_ID,'enabled':_0x50ba5c[_0x10de98(0x1da)]!==![],'account':_0x10de98(0x196),'credentialRef':_0x10de98(0x22b)+'i:keycha'+'in','capabilities':[_0x10de98(0x25f),_0x10de98(0x1c1),'update',_0x10de98(0x22f),_0x10de98(0x169),_0x10de98(0x10b),_0x10de98(0x197)]});const _0x4b2993=readOpenClawMcpServersFromConfig(_0x1441a3),_0x310416=findDingtalkDocMcpServer(_0x4b2993),_0x122dae=getTrimmedString(_0x310416[_0x10de98(0x286)]);return _0x122dae&&(_0x44d402['dingtalk'+_0x10de98(0x24b)]={'provider':_0x10de98(0xe3)+_0x10de98(0x24b),'sourceType':_0x10de98(0xcb),'adapter':DINGTALK_DOC_MCP_SERVER_NAME,'enabled':_0x310416[_0x10de98(0x1da)]!==![],'url':_0x122dae,'transport':getTrimmedString(_0x310416[_0x10de98(0x1b5)+'t'])||_0x10de98(0x1e8)+_0x10de98(0x228)}),_0x44d402;}async function _0x5f1fe4(){const _0x574b46=_0x8c70a8,_0x1f8468=await _0x4d626f['readConf'+'igSnapsh'+_0x574b46(0xdc)]();return{..._0x1f8468,'connectors':{...asRecord(_0x1f8468[_0x574b46(0xc5)+'rs']),...await _0x4d5418()}};}function _0x1ce59b(_0x28cfc0){const _0x365238=_0x8c70a8;if(!_0x28cfc0['verifyTi'+_0x365238(0xba)])return;clearTimeout(_0x28cfc0[_0x365238(0x162)+_0x365238(0xba)]),_0x28cfc0[_0x365238(0x162)+_0x365238(0xba)]=null;}function _0x4b481e(_0x2ac917,_0x1688d7=KDOCS_CLI_AUTH_POLL_INTERVAL_MS){const _0x4543b7=_0x8c70a8;if(_0x2ac917[_0x4543b7(0x173)]!==_0x4543b7(0x15a))return;_0x1ce59b(_0x2ac917),_0x2ac917[_0x4543b7(0x162)+'mer']=setTimeout(()=>void _0x471e78(_0x2ac917),_0x1688d7);}async function _0x471e78(_0x36f8ad){const _0x2f3956=_0x8c70a8;if(_0x36f8ad[_0x2f3956(0x173)]!==_0x2f3956(0x15a))return;_0x36f8ad[_0x2f3956(0x1a4)]=_0x2f3956(0x1fe),_0x36f8ad[_0x2f3956(0x1db)]=_0x2f3956(0x14d)+_0x2f3956(0x29d);try{const _0x472425=await _0x3b41c5(['auth','status']);_0x36f8ad[_0x2f3956(0x23c)]=_0x472425[_0x2f3956(0x23c)];if(_0x472425[_0x2f3956(0x1e6)]===0x0&&isKdocsAuthStatusReady(_0x472425[_0x2f3956(0x23c)])){_0x1ce59b(_0x36f8ad),await _0xa03f75(),_0x36f8ad[_0x2f3956(0x1a4)]=_0x2f3956(0x1f0)+'d',_0x36f8ad['status']=_0x2f3956(0x1f0)+'d',_0x36f8ad[_0x2f3956(0x1db)]=_0x2f3956(0x266);return;}if(Date[_0x2f3956(0x1f4)]()-_0x36f8ad[_0x2f3956(0x1f3)+'t']>KDOCS_CLI_STEP_TIMEOUT_MS){_0x36f8ad['status']='error',_0x36f8ad[_0x2f3956(0x1bd)+_0x2f3956(0x195)]=_0x2f3956(0x15c)+_0x2f3956(0x282);return;}_0x4b481e(_0x36f8ad);}catch(_0x48d73a){if(Date[_0x2f3956(0x1f4)]()-_0x36f8ad[_0x2f3956(0x1f3)+'t']>KDOCS_CLI_STEP_TIMEOUT_MS){_0x36f8ad[_0x2f3956(0x173)]=_0x2f3956(0x174),_0x36f8ad[_0x2f3956(0x1bd)+_0x2f3956(0x195)]=_0x48d73a instanceof Error?_0x48d73a[_0x2f3956(0x1db)]:_0x2f3956(0x15c)+'验证失败';return;}_0x4b481e(_0x36f8ad);}}async function _0x57f154(){const _0x107f47=_0x8c70a8,_0x4ff24c=randomUUID(),_0x2cbcef={'sessionId':_0x4ff24c,'status':_0x107f47(0x15a),'phase':_0x107f47(0xc4),'url':null,'message':_0x107f47(0x200)+'登录','errorMessage':null,'output':'','process':null,'verifyTimer':null,'startedAt':Date['now']()};return _0x194d28[_0x107f47(0x1ec)](_0x4ff24c,_0x2cbcef),void _0x4829e3({'FORCE_COLOR':'0','HOME':homedir()})[_0x107f47(0x24f)](async({env:_0x5c4e72,runtime:_0x4618ad})=>{const _0x25e6c9=_0x107f47,_0x6519dc=await resolveRuntimeKdocsCliCommand(_0x4618ad);_0x4aa6c3(_0x25e6c9(0xc5)+_0x25e6c9(0xf3),{'connector':_0x25e6c9(0x11f),'phase':_0x25e6c9(0x148),'message':_0x25e6c9(0x22b)+_0x25e6c9(0x10d)+_0x25e6c9(0xb2)});const _0x25a149=spawn(_0x6519dc[_0x25e6c9(0x146)+_0x25e6c9(0x275)],[_0x25e6c9(0x19f),_0x25e6c9(0x26b)],{'cwd':homedir(),'env':_0x5c4e72});_0x2cbcef[_0x25e6c9(0x283)]=_0x25a149;const _0x2041a7=setTimeout(()=>{const _0x8a9e73=_0x25e6c9;if(_0x2cbcef[_0x8a9e73(0x173)]!==_0x8a9e73(0x15a))return;_0x25a149['kill'](),_0x2cbcef['status']='error',_0x2cbcef[_0x8a9e73(0x1bd)+_0x8a9e73(0x195)]=_0x8a9e73(0x19a)+'超时',_0x2cbcef[_0x8a9e73(0x283)]=null;},KDOCS_CLI_STEP_TIMEOUT_MS),_0x3eecf9=_0xc0f6c3=>{const _0x454f36=_0x25e6c9,_0x157542=_0xc0f6c3[_0x454f36(0xf7)]('utf8');_0x2cbcef[_0x454f36(0x23c)]+=_0x157542,_0x4aa6c3('connecto'+_0x454f36(0xf3),{'connector':'kdocs','phase':'output','message':_0x157542});const _0x352b1f=extractFirstUrl(_0x2cbcef[_0x454f36(0x23c)]);_0x352b1f&&!_0x2cbcef['url']&&(_0x2cbcef[_0x454f36(0x286)]=_0x352b1f,_0x2cbcef[_0x454f36(0x1a4)]=_0x454f36(0x19f),_0x2cbcef['message']='请在浏览器完成金'+'山文档授权',_0x4b481e(_0x2cbcef,0x1f4),void _0x54daae[_0x454f36(0x234)+_0x454f36(0x253)](_0x352b1f)[_0x454f36(0x14f)](()=>{}));};_0x25a149[_0x25e6c9(0x2a1)]['on']('data',_0x3eecf9),_0x25a149[_0x25e6c9(0x123)]['on']('data',_0x3eecf9),_0x25a149[_0x25e6c9(0x237)]['end'](),_0x25a149['once'](_0x25e6c9(0x174),_0x2a91f7=>{const _0x319098=_0x25e6c9;clearTimeout(_0x2041a7),_0x2cbcef[_0x319098(0x173)]=_0x319098(0x174),_0x2cbcef[_0x319098(0x1bd)+_0x319098(0x195)]=_0x2a91f7 instanceof Error?_0x2a91f7[_0x319098(0x1db)]:_0x319098(0x19a)+_0x319098(0x132)+_0x319098(0x18f)+_0x319098(0x10e),_0x2cbcef['process']=null,_0x4aa6c3(_0x319098(0xc5)+'r-log',{'connector':_0x319098(0x11f),'phase':_0x319098(0x174),'message':_0x2cbcef[_0x319098(0x1bd)+_0x319098(0x195)]});}),_0x25a149[_0x25e6c9(0xf6)](_0x25e6c9(0xd3),_0x5edc02=>{const _0x4a1dfc=_0x25e6c9;clearTimeout(_0x2041a7),_0x2cbcef['process']=null;if(_0x2cbcef[_0x4a1dfc(0x173)]!=='pending')return;const _0x5c6340=extractFirstUrl(_0x2cbcef[_0x4a1dfc(0x23c)]);if(_0x5c6340&&!_0x2cbcef[_0x4a1dfc(0x286)]){_0x2cbcef[_0x4a1dfc(0x286)]=_0x5c6340,_0x2cbcef['phase']='auth',_0x2cbcef[_0x4a1dfc(0x1db)]=_0x4a1dfc(0x27f)+'山文档授权',_0x4b481e(_0x2cbcef,0x1f4);return;}if(_0x5edc02!==0x0){_0x2cbcef[_0x4a1dfc(0x173)]=_0x4a1dfc(0x174),_0x2cbcef['errorMes'+_0x4a1dfc(0x195)]=_0x2cbcef['output']['trim']()||_0x4a1dfc(0x19a)+'失败,请确认\x20k'+'docs-cli'+_0x4a1dfc(0x10e),_0x4aa6c3(_0x4a1dfc(0xc5)+'r-log',{'connector':'kdocs','phase':_0x4a1dfc(0x174),'message':_0x2cbcef[_0x4a1dfc(0x1bd)+_0x4a1dfc(0x195)]});return;}_0x2cbcef['phase']=_0x4a1dfc(0x1fe),_0x2cbcef[_0x4a1dfc(0x1db)]='正在验证金山文档'+_0x4a1dfc(0x29d),_0x4b481e(_0x2cbcef,0x1f4);});})[_0x107f47(0x14f)](_0x188d3a=>{const _0x12dcf6=_0x107f47;_0x2cbcef[_0x12dcf6(0x173)]=_0x12dcf6(0x174),_0x2cbcef['errorMes'+_0x12dcf6(0x195)]=_0x188d3a instanceof Error?_0x188d3a[_0x12dcf6(0x1db)]:_0x12dcf6(0x19a)+_0x12dcf6(0x132)+_0x12dcf6(0x18f)+_0x12dcf6(0x10e),_0x4aa6c3(_0x12dcf6(0xc5)+_0x12dcf6(0xf3),{'connector':_0x12dcf6(0x11f),'phase':_0x12dcf6(0x174),'message':_0x2cbcef['errorMes'+'sage']});}),createKdocsCliStatus(_0x2cbcef);}function _0x3441f4(_0x218935={}){const _0x5bfd7c=_0x8c70a8,_0x517644=safeString(_0x218935[_0x5bfd7c(0x140)+'d']);if(!_0x517644)throw new Error(_0x5bfd7c(0x187)+_0x5bfd7c(0x1a5)+'n\x20id\x20is\x20'+'required');const _0x46d2b3=_0x194d28[_0x5bfd7c(0x106)](_0x517644);if(!_0x46d2b3)throw new Error(_0x5bfd7c(0x187)+_0x5bfd7c(0x1a5)+'n\x20not\x20fo'+_0x5bfd7c(0x209));return createKdocsCliStatus(_0x46d2b3);}function _0x177c2b(_0x40be8c={}){const _0xa2a89b=_0x8c70a8,_0x330704=safeString(_0x40be8c[_0xa2a89b(0x140)+'d']);if(!_0x330704)return{'ok':!![]};const _0x4d6301=_0x194d28[_0xa2a89b(0x106)](_0x330704);if(!_0x4d6301)return{'ok':!![]};return _0x1ce59b(_0x4d6301),_0x4d6301['process']?.[_0xa2a89b(0x247)](),_0x194d28['delete'](_0x330704),{'ok':!![]};}function _0x3ce585(_0x47d5f9){const _0x53a8d4=_0x8c70a8;if(!_0x47d5f9[_0x53a8d4(0x198)])return;clearTimeout(_0x47d5f9[_0x53a8d4(0x198)]),_0x47d5f9[_0x53a8d4(0x198)]=null;}function _0x2df269(_0x3a9f29){const _0x161dba=_0x8c70a8,_0x2271c2=_0x353bd1['get'](_0x3a9f29);if(!_0x2271c2||_0x2271c2['status']!==_0x161dba(0x15a))return;_0x3ce585(_0x2271c2),_0x2271c2['timer']=setTimeout(()=>void _0x29329a(_0x3a9f29),_0x2271c2[_0x161dba(0x24c)+_0x161dba(0xf8)]);}async function _0x29329a(_0x19fff8){const _0x55298f=_0x8c70a8,_0x409b19=_0x353bd1[_0x55298f(0x106)](_0x19fff8);if(!_0x409b19||_0x409b19[_0x55298f(0x173)]!==_0x55298f(0x15a))return;if(Date[_0x55298f(0x1f4)]()>=_0x409b19[_0x55298f(0xdf)+'t']){_0x409b19[_0x55298f(0x173)]=_0x55298f(0x155),_0x409b19['errorMes'+_0x55298f(0x195)]=_0x55298f(0x293)+_0x55298f(0x1bf),_0x3ce585(_0x409b19);return;}try{const _0x281418=await pollFeishuRegistration(_0x409b19[_0x55298f(0x19d)],_0x409b19[_0x55298f(0x11b)+'de']),_0x3a05a2=getTrimmedString(_0x281418[_0x55298f(0x28b)+'d']),_0x5adc64=getTrimmedString(_0x281418[_0x55298f(0x1e0)+'ecret']),_0x14844c=getTrimmedString(_0x281418[_0x55298f(0x174)]),_0x5c4900=extractFeishuRegistrationAuthorizationUri(_0x281418)||_0x409b19[_0x55298f(0x236)+'ationUri'];if(_0x5c4900!==_0x409b19[_0x55298f(0x236)+_0x55298f(0x238)])_0x409b19['authoriz'+_0x55298f(0x238)]=_0x5c4900;if(_0x3a05a2&&_0x5adc64){const _0x5592ab=asRecord(_0x281418[_0x55298f(0x203)+'o']);await _0x178c97({'appId':_0x3a05a2,'appSecret':_0x5adc64,'userInfo':{'openId':getTrimmedString(_0x5592ab[_0x55298f(0xef)])||null}}),_0x409b19[_0x55298f(0x173)]='complete'+'d',_0x409b19[_0x55298f(0x1bd)+_0x55298f(0x195)]=null,_0x3ce585(_0x409b19);return;}if(!_0x14844c||_0x14844c===_0x55298f(0x236)+'ation_pe'+_0x55298f(0x2a2)){_0x2df269(_0x19fff8);return;}if(_0x14844c==='slow_dow'+'n'){_0x409b19['pollInte'+'rvalMs']+=0x1388,_0x2df269(_0x19fff8);return;}if(_0x14844c==='expired_'+_0x55298f(0x256)){_0x409b19[_0x55298f(0x173)]=_0x55298f(0x155),_0x409b19[_0x55298f(0x1bd)+_0x55298f(0x195)]='二维码已过期,请'+'重新生成',_0x3ce585(_0x409b19);return;}_0x409b19['status']=_0x55298f(0x174),_0x409b19[_0x55298f(0x1bd)+_0x55298f(0x195)]=getTrimmedString(_0x281418['error_de'+_0x55298f(0x25a)+'n'])||(_0x14844c===_0x55298f(0x23f)+_0x55298f(0x163)?'用户已取消飞书机'+_0x55298f(0x21c):'飞书绑定失败:'+_0x14844c),_0x3ce585(_0x409b19);}catch(_0x15f40d){_0x409b19[_0x55298f(0x173)]='error',_0x409b19[_0x55298f(0x1bd)+_0x55298f(0x195)]=_0x15f40d instanceof Error?_0x15f40d[_0x55298f(0x1db)]:_0x55298f(0x122),_0x3ce585(_0x409b19);}}async function _0x184898(_0x3d9236={}){const _0x49bd54=_0x8c70a8,_0x263e0d=_0x3d9236[_0x49bd54(0x120)]==='doc_conn'+_0x49bd54(0xfd)?_0x49bd54(0x27b)+_0x49bd54(0xfd):_0x49bd54(0x1c5),_0x2c5008=createFeishuRegistrationClient(),_0x542e5c=await initFeishuRegistration(_0x2c5008),_0x1b69c1=Array['isArray'](_0x542e5c[_0x49bd54(0xe5)+_0x49bd54(0x186)+_0x49bd54(0x12e)])?_0x542e5c['supporte'+_0x49bd54(0x186)+'ethods'][_0x49bd54(0xc7)](getTrimmedString)[_0x49bd54(0x1f7)](Boolean):[];if(!_0x1b69c1[_0x49bd54(0xf5)](_0x49bd54(0x1e0)+'ecret'))throw new Error(_0x49bd54(0x208)+_0x49bd54(0xed)+_0x49bd54(0x211)+_0x49bd54(0x1d3)+_0x49bd54(0x22d)+_0x49bd54(0x289)+_0x49bd54(0x270));const _0x1209f8=await beginFeishuRegistration(_0x2c5008),_0x504d04=getTrimmedString(_0x1209f8[_0x49bd54(0x294)+_0x49bd54(0xc0)+_0x49bd54(0x104)+'e']),_0xdd43d=extractFeishuRegistrationAuthorizationUri(_0x1209f8),_0x3db61e=getTrimmedString(_0x1209f8[_0x49bd54(0x17d)+_0x49bd54(0x262)]),_0x4a3c4a=Number(_0x1209f8['expire_i'+'n'])||0x258,_0x35cc4e=Number(_0x1209f8[_0x49bd54(0x138)])||0x5;if(!_0x504d04||!_0x3db61e)throw new Error(_0x49bd54(0xc8)+_0x49bd54(0x294)+_0x49bd54(0xc0)+_0x49bd54(0x104)+_0x49bd54(0x201)+_0x49bd54(0x1f1)+_0x49bd54(0xd9)+_0x49bd54(0xc9)+_0x49bd54(0x141));const _0x5e9ad3=randomUUID(),_0x4ad815={'sessionId':_0x5e9ad3,'purpose':_0x263e0d,'client':_0x2c5008,'deviceCode':_0x3db61e,'verificationUriComplete':_0x504d04,'authorizationUri':_0xdd43d,'expiresAt':Date[_0x49bd54(0x1f4)]()+_0x4a3c4a*0x3e8,'pollIntervalMs':Math[_0x49bd54(0x27d)](_0x35cc4e*0x3e8,DEFAULT_FEISHU_REGISTRATION_INTERVAL_MS),'status':_0x49bd54(0x15a),'errorMessage':null,'timer':null};return _0x353bd1[_0x49bd54(0x1ec)](_0x5e9ad3,_0x4ad815),_0x2df269(_0x5e9ad3),serializeFeishuRegistrationSession(_0x4ad815);}function _0x2bcd1a(_0xeb8569={}){const _0xe0ba15=_0x8c70a8,_0x48e54d=safeString(_0xeb8569[_0xe0ba15(0x140)+'d']);if(!_0x48e54d)throw new Error(_0xe0ba15(0x261)+_0xe0ba15(0x194)+_0xe0ba15(0x170)+'ion\x20id\x20i'+_0xe0ba15(0x1cb)+'ed');const _0x34fe6a=_0x353bd1[_0xe0ba15(0x106)](_0x48e54d);if(!_0x34fe6a)throw new Error(_0xe0ba15(0x261)+_0xe0ba15(0x194)+_0xe0ba15(0x170)+'ion\x20not\x20'+_0xe0ba15(0x1ea));return serializeFeishuRegistrationSession(_0x34fe6a);}function _0x2bd417(_0x6efe09={}){const _0x55d9f9=_0x8c70a8,_0x2649ed=safeString(_0x6efe09['sessionI'+'d']);if(!_0x2649ed)return{'ok':!![]};const _0x118847=_0x353bd1[_0x55d9f9(0x106)](_0x2649ed);if(!_0x118847)return{'ok':!![]};return _0x3ce585(_0x118847),_0x353bd1[_0x55d9f9(0x28e)](_0x2649ed),{'ok':!![]};}async function _0xd09442(_0x441cad,_0x462d0d){const _0x24df2a=_0x8c70a8,_0xccb534=_0x17e641(),{env:_0x1d5ca2,runtime:_0x3a3d91}=await _0x4829e3({'FORCE_COLOR':'0','HOME':homedir(),'LARK_CLI_NO_PROXY':'1','OPENCLAW_HOME':_0xccb534,'OPENCLAW_CONFIG_PATH':_0x441cad[_0x24df2a(0x254)+_0x24df2a(0x178)+'h']});await mkdir(_0xccb534,{'recursive':!![]});const _0x35ae8b=await resolveRuntimeLarkCliCommand(_0x3a3d91);for(const _0x5b29cf of[_0x24df2a(0x22e)+'XY',_0x24df2a(0x13e)+_0x24df2a(0x1fd),'ALL_PROX'+'Y','http_pro'+'xy',_0x24df2a(0x113)+_0x24df2a(0x150),'all_prox'+'y']){delete _0x1d5ca2[_0x5b29cf];}return new Promise((_0x4709b8,_0x2bedda)=>{const _0x1383a4=_0x24df2a;_0x4aa6c3(_0x1383a4(0xc5)+_0x1383a4(0xf3),{'connector':_0x1383a4(0xbf)+'oc','phase':_0x1383a4(0x148),'message':'lark-cli'+'\x20'+_0x462d0d['join']('\x20')});const _0x56cba8=spawn(_0x35ae8b[_0x1383a4(0x16f)+_0x1383a4(0x1de)],[_0x35ae8b['scriptPa'+'th'],..._0x462d0d],{'cwd':_0xccb534,'env':_0x1d5ca2});let _0x9778aa=![];_0x56cba8[_0x1383a4(0xf6)](_0x1383a4(0x148),()=>{_0x9778aa=!![],_0x4709b8(_0x56cba8);}),_0x56cba8[_0x1383a4(0xf6)](_0x1383a4(0x174),_0x2a855b=>{if(_0x9778aa)return;_0x2bedda(_0x2a855b);});});}function _0x409f2f(_0x39151c,_0x5b81a3,_0x40214f){const _0x51071b=_0x8c70a8;_0x39151c[_0x51071b(0x1a4)]=_0x40214f[_0x51071b(0x1a4)],_0x39151c[_0x51071b(0x1db)]=_0x40214f['message'];if(_0x40214f['phase']!=='verify')_0x39151c[_0x51071b(0x286)]=null;_0x39151c[_0x51071b(0x23c)]='',void _0xd09442(_0x39151c,_0x5b81a3)[_0x51071b(0x24f)](_0x167dd4=>{const _0xca99e8=_0x51071b;_0x39151c['process']=_0x167dd4;const _0x39582c=setTimeout(()=>{const _0x274141=_0x2089;if(_0x39151c['status']!==_0x274141(0x15a))return;_0x167dd4[_0x274141(0x247)](),_0x39151c[_0x274141(0x173)]=_0x274141(0x174),_0x39151c['errorMes'+_0x274141(0x195)]=_0x40214f[_0x274141(0x1db)]+'超时',_0x39151c['process']=null;},FEISHU_DOC_CLI_STEP_TIMEOUT_MS),_0x589ff0=_0x334421=>{const _0x18c619=_0x2089,_0x3e56a0=_0x334421[_0x18c619(0xf7)](_0x18c619(0x12f));_0x39151c[_0x18c619(0x23c)]+=_0x3e56a0,_0x4aa6c3(_0x18c619(0xc5)+'r-log',{'connector':_0x18c619(0xbf)+'oc','phase':_0x40214f[_0x18c619(0x1a4)],'message':_0x3e56a0});};_0x167dd4[_0xca99e8(0x2a1)]['on'](_0xca99e8(0x217),_0x589ff0),_0x167dd4[_0xca99e8(0x123)]['on'](_0xca99e8(0x217),_0x589ff0);if(typeof _0x40214f[_0xca99e8(0x237)]===_0xca99e8(0xe1))_0x167dd4[_0xca99e8(0x237)]['end'](_0x40214f[_0xca99e8(0x237)]);else _0x167dd4['stdin'][_0xca99e8(0xd2)]();_0x167dd4['on'](_0xca99e8(0x174),_0xba5c7d=>{const _0x3563a7=_0xca99e8;clearTimeout(_0x39582c),_0x39151c['status']=_0x3563a7(0x174),_0x39151c[_0x3563a7(0x1bd)+_0x3563a7(0x195)]=_0xba5c7d instanceof Error?_0xba5c7d['message']:_0x3563a7(0x1a7)+_0x3563a7(0x1c0),_0x39151c[_0x3563a7(0x283)]=null,_0x4aa6c3(_0x3563a7(0xc5)+_0x3563a7(0xf3),{'connector':_0x3563a7(0xbf)+'oc','phase':'error','message':_0x39151c[_0x3563a7(0x1bd)+_0x3563a7(0x195)]});}),_0x167dd4['on'](_0xca99e8(0xd3),_0x51d9a2=>{const _0x518042=_0xca99e8;clearTimeout(_0x39582c),_0x39151c['process']=null;if(_0x39151c[_0x518042(0x173)]!==_0x518042(0x15a))return;if(_0x51d9a2!==0x0){if(_0x40214f[_0x518042(0x29e)+'e']){void Promise['resolve'](_0x40214f[_0x518042(0x29e)+'e'](_0x51d9a2,_0x39151c['output']))['catch'](_0x41effa=>{const _0x3f01b8=_0x518042;_0x39151c[_0x3f01b8(0x173)]=_0x3f01b8(0x174),_0x39151c[_0x3f01b8(0x1bd)+'sage']=_0x41effa instanceof Error?_0x41effa[_0x3f01b8(0x1db)]:_0x3f01b8(0x192)+_0x3f01b8(0xca);});return;}_0x39151c[_0x518042(0x173)]=_0x518042(0x174),_0x39151c[_0x518042(0x1bd)+'sage']=getFeishuDocCliFailureMessage(_0x40214f[_0x518042(0x1a4)],extractFeishuDocCliError(_0x39151c['output'],'lark-cli'+'\x20'+_0x5b81a3['join']('\x20')+(_0x518042(0x215)+_0x518042(0xc2)+'e\x20')+_0x51d9a2),'lark-cli'+'\x20'+_0x5b81a3[_0x518042(0xb8)]('\x20')+('\x20exited\x20'+_0x518042(0xc2)+'e\x20')+_0x51d9a2),_0x4aa6c3(_0x518042(0xc5)+_0x518042(0xf3),{'connector':_0x518042(0xbf)+'oc','phase':_0x518042(0x174),'message':_0x39151c[_0x518042(0x1bd)+_0x518042(0x195)]});return;}void Promise['resolve'](_0x40214f[_0x518042(0x10c)+'s']())[_0x518042(0x14f)](_0x5bf1a3=>{const _0x35b1eb=_0x518042;_0x39151c['status']=_0x35b1eb(0x174),_0x39151c[_0x35b1eb(0x1bd)+_0x35b1eb(0x195)]=_0x5bf1a3 instanceof Error?_0x5bf1a3[_0x35b1eb(0x1db)]:_0x35b1eb(0x192)+_0x35b1eb(0xca);});});})['catch'](_0x52dff3=>{const _0xf4ae07=_0x51071b;_0x39151c['status']='error',_0x39151c[_0xf4ae07(0x1bd)+_0xf4ae07(0x195)]=_0x52dff3 instanceof Error?_0x52dff3[_0xf4ae07(0x1db)]:_0xf4ae07(0x1a7)+_0xf4ae07(0x1c0),_0x39151c['process']=null,_0x4aa6c3('connecto'+_0xf4ae07(0xf3),{'connector':_0xf4ae07(0xbf)+'oc','phase':_0xf4ae07(0x174),'message':_0x39151c[_0xf4ae07(0x1bd)+'sage']});});}function _0x5c1067(_0x5a8ede){const _0xef51f9=_0x8c70a8;if(!_0x5a8ede['appTimer'])return;clearTimeout(_0x5a8ede[_0xef51f9(0x29a)]),_0x5a8ede['appTimer']=null;}function _0x42649e(_0x3cf88a){const _0x3afd36=_0x8c70a8;if(!_0x3cf88a[_0x3afd36(0x190)+_0x3afd36(0x26f)])return;clearTimeout(_0x3cf88a[_0x3afd36(0x190)+_0x3afd36(0x26f)]),_0x3cf88a[_0x3afd36(0x190)+_0x3afd36(0x26f)]=null;}function _0x5b0d73(_0x484dcc,_0x586396=0x7d0){const _0x2e56c3=_0x8c70a8;if(_0x484dcc[_0x2e56c3(0x173)]!==_0x2e56c3(0x15a))return;_0x42649e(_0x484dcc),_0x484dcc[_0x2e56c3(0x190)+_0x2e56c3(0x26f)]=setTimeout(()=>{const _0x5004c0=_0x2e56c3;_0x409f2f(_0x484dcc,['auth',_0x5004c0(0x173)],{'phase':'verify','message':_0x5004c0(0x168)+'状态','onFailure':(_0x5561eb,_0x4cef0b)=>{const _0x35f9f1=_0x5004c0;if(Date[_0x35f9f1(0x1f4)]()-_0x484dcc[_0x35f9f1(0x190)+'usStarte'+_0x35f9f1(0x1dc)]>FEISHU_DOC_CLI_STEP_TIMEOUT_MS){_0x484dcc[_0x35f9f1(0x173)]='error',_0x484dcc[_0x35f9f1(0x1bd)+'sage']=getFeishuDocCliFailureMessage(_0x35f9f1(0x1fe),extractFeishuDocCliError(_0x4cef0b,'飞书\x20CLI\x20授'+_0x35f9f1(0x227)),_0x35f9f1(0x1be)+_0x35f9f1(0x227));return;}_0x5b0d73(_0x484dcc);},'onSuccess':()=>{const _0x5a79ff=_0x5004c0;try{ensureFeishuDocCliUserStatus(_0x484dcc[_0x5a79ff(0x23c)]);}catch(_0x9ec63){if(Date[_0x5a79ff(0x1f4)]()-_0x484dcc[_0x5a79ff(0x190)+_0x5a79ff(0xd4)+_0x5a79ff(0x1dc)]>FEISHU_DOC_CLI_STEP_TIMEOUT_MS){_0x484dcc[_0x5a79ff(0x173)]='error',_0x484dcc[_0x5a79ff(0x1bd)+_0x5a79ff(0x195)]=_0x9ec63 instanceof Error?_0x9ec63[_0x5a79ff(0x1db)]:_0x5a79ff(0x1be)+_0x5a79ff(0x220);return;}_0x5b0d73(_0x484dcc);return;}return _0x42649e(_0x484dcc),_0x100a31(_0x484dcc);}});},_0x586396);}function _0x3b478b(_0x292334){const _0x4b7873=_0x8c70a8;if(!_0x292334[_0x4b7873(0x298)]||!_0x292334[_0x4b7873(0xbd)+_0x4b7873(0x157)]){_0x292334[_0x4b7873(0x173)]='error',_0x292334['errorMes'+'sage']=_0x4b7873(0x231)+_0x4b7873(0x20f)+_0x4b7873(0x1ef);return;}const _0x4c4283=_0x292334[_0x4b7873(0x298)],_0x1bd483=_0x292334[_0x4b7873(0xbd)+'cret'];_0x409f2f(_0x292334,[_0x4b7873(0xe6)+'n'],{'phase':_0x4b7873(0x18c),'message':_0x4b7873(0x24d)+'LI','onSuccess':()=>{const _0x132913=_0x4b7873;_0x409f2f(_0x292334,['config','init',_0x132913(0x179)+'init',_0x132913(0x21f),_0x4c4283,'--app-se'+'cret-std'+'in',_0x132913(0x1aa),_0x132913(0x214)],{'phase':_0x132913(0x18c),'message':_0x132913(0x291)+_0x132913(0x151)+'应用','stdin':_0x1bd483,'onSuccess':()=>{const _0x444117=_0x132913;_0x409f2f(_0x292334,[_0x444117(0x19f),_0x444117(0x26b),_0x444117(0x296),_0x444117(0xe9)+_0x444117(0x269)+_0x444117(0x147)+_0x444117(0x1ad)+_0x444117(0x160)+_0x444117(0x272),_0x444117(0x290),'search:d'+_0x444117(0xc3),_0x444117(0x127)+'t'],{'phase':_0x444117(0x19f),'message':_0x444117(0x11d)+_0x444117(0x1df),'onSuccess':()=>{const _0xc47ffb=_0x444117,_0x5a4625=parseFeishuDocCliJson(_0x292334['output']),_0x8f7478=getTrimmedString(_0x5a4625['verifica'+_0xc47ffb(0xc0)+_0xc47ffb(0x104)+'e'])||getTrimmedString(_0x5a4625['verifica'+_0xc47ffb(0x202)])||getTrimmedString(_0x5a4625['verifica'+_0xc47ffb(0xc0)]),_0x10832f=getTrimmedString(_0x5a4625[_0xc47ffb(0x17d)+_0xc47ffb(0x262)]);if(!_0x8f7478||!_0x10832f){_0x292334[_0xc47ffb(0x173)]=_0xc47ffb(0x174),_0x292334['errorMes'+_0xc47ffb(0x195)]=_0xc47ffb(0x136)+_0xc47ffb(0x295)+_0xc47ffb(0x1ff)+_0xc47ffb(0x2a0)+summarizeCliOutput(_0x292334[_0xc47ffb(0x23c)]);return;}_0x292334['url']=_0x8f7478,_0x292334['deviceCo'+'de']=_0x10832f,void _0x54daae[_0xc47ffb(0x234)+_0xc47ffb(0x253)](_0x8f7478)[_0xc47ffb(0x14f)](()=>{}),_0x409f2f(_0x292334,[_0xc47ffb(0x19f),'login','--device'+_0xc47ffb(0x19c),_0x10832f],{'phase':_0xc47ffb(0x1fe),'message':_0xc47ffb(0x1e5)+'完成','onSuccess':()=>{const _0x287a24=_0xc47ffb;_0x292334[_0x287a24(0x190)+_0x287a24(0xd4)+_0x287a24(0x1dc)]=Date[_0x287a24(0x1f4)](),_0x5b0d73(_0x292334,0x1f4);}});}});}});}});}function _0x861d48(_0x4cd24a){const _0x2b4d22=_0x8c70a8;if(_0x4cd24a[_0x2b4d22(0x173)]!==_0x2b4d22(0x15a))return;_0x5c1067(_0x4cd24a),_0x4cd24a['appTimer']=setTimeout(()=>void _0x376297(_0x4cd24a),_0x4cd24a[_0x2b4d22(0x1f8)+_0x2b4d22(0xf2)+'s']);}async function _0x376297(_0x361c20){const _0x490884=_0x8c70a8;if(_0x361c20[_0x490884(0x173)]!==_0x490884(0x15a)||_0x361c20['phase']!==_0x490884(0x25f)||!_0x361c20[_0x490884(0x189)+'lient']||!_0x361c20[_0x490884(0xbb)+_0x490884(0x16d)])return;if(Date[_0x490884(0x1f4)]()>=_0x361c20[_0x490884(0x1ed)+'esAt']){_0x361c20[_0x490884(0x173)]=_0x490884(0x174),_0x361c20['errorMes'+'sage']=_0x490884(0x17e)+_0x490884(0x299),_0x5c1067(_0x361c20);return;}try{const _0x4e5447=await pollFeishuRegistration(_0x361c20['appPollC'+'lient'],_0x361c20[_0x490884(0xbb)+_0x490884(0x16d)]),_0x5c1a33=getTrimmedString(_0x4e5447['client_i'+'d']),_0x168425=getTrimmedString(_0x4e5447['client_s'+_0x490884(0x18d)]),_0x57faf2=getTrimmedString(_0x4e5447[_0x490884(0x174)]);if(_0x5c1a33&&_0x168425){const _0x115a8b=asRecord(_0x4e5447['user_inf'+'o']);await _0x137d58({'appId':_0x5c1a33,'appSecret':_0x168425,'userInfo':{'openId':getTrimmedString(_0x115a8b[_0x490884(0xef)])||null},'configPath':_0x361c20['cliHostC'+'onfigPat'+'h']}),_0x361c20['cliAppId']=_0x5c1a33,_0x361c20[_0x490884(0xbd)+_0x490884(0x157)]=_0x168425,_0x5c1067(_0x361c20),_0x361c20[_0x490884(0x1db)]='飞书应用已创建,'+_0x490884(0x225),_0x3b478b(_0x361c20);return;}if(!_0x57faf2||_0x57faf2===_0x490884(0x236)+_0x490884(0x205)+'nding'){_0x861d48(_0x361c20);return;}if(_0x57faf2==='slow_dow'+'n'){_0x361c20[_0x490884(0x1f8)+_0x490884(0xf2)+'s']+=0x1388,_0x861d48(_0x361c20);return;}_0x361c20[_0x490884(0x173)]=_0x490884(0x174),_0x361c20['errorMes'+'sage']=getTrimmedString(_0x4e5447[_0x490884(0x10a)+_0x490884(0x25a)+'n'])||_0x490884(0x210)+':'+_0x57faf2,_0x5c1067(_0x361c20);}catch(_0x338ff4){_0x361c20[_0x490884(0x173)]=_0x490884(0x174),_0x361c20['errorMes'+_0x490884(0x195)]=_0x338ff4 instanceof Error?_0x338ff4['message']:_0x490884(0x210),_0x5c1067(_0x361c20);}}async function _0x100a31(_0x132de2){const _0x3e6661=_0x8c70a8;await _0x326d39({'accountName':'飞书用户身份'}),_0x132de2[_0x3e6661(0x173)]=_0x3e6661(0x1f0)+'d',_0x132de2['phase']=_0x3e6661(0x1f0)+'d',_0x132de2[_0x3e6661(0x1db)]=_0x3e6661(0x125)+'完成',_0x132de2['errorMes'+_0x3e6661(0x195)]=null;}async function _0x14d79b(){const _0x287cc4=_0x8c70a8,_0x4720da=createFeishuRegistrationClient(),_0x151b9d=await initFeishuRegistration(_0x4720da),_0x239cee=Array[_0x287cc4(0x117)](_0x151b9d['supporte'+_0x287cc4(0x186)+_0x287cc4(0x12e)])?_0x151b9d['supporte'+_0x287cc4(0x186)+'ethods']['map'](getTrimmedString)['filter'](Boolean):[];if(!_0x239cee[_0x287cc4(0xf5)]('client_s'+'ecret'))throw new Error(_0x287cc4(0xf4)+_0x287cc4(0x223)+_0x287cc4(0x1e0)+_0x287cc4(0x1a8));const _0xd4b4c6=await beginFeishuRegistration(_0x4720da),_0x43c0e5=getTrimmedString(_0xd4b4c6[_0x287cc4(0x294)+_0x287cc4(0xc0)+_0x287cc4(0x104)+'e']),_0x598419=getTrimmedString(_0xd4b4c6[_0x287cc4(0x17d)+_0x287cc4(0x262)]),_0x21ccd9=Number(_0xd4b4c6[_0x287cc4(0x110)+'n'])||0x258,_0x2e5b33=Number(_0xd4b4c6['interval'])||0x5;if(!_0x43c0e5||!_0x598419)throw new Error(_0x287cc4(0x244)+'回应用创建页面或'+'\x20device_'+_0x287cc4(0x172));const _0xfd4e78=randomUUID(),_0x17c57f={'sessionId':_0xfd4e78,'status':_0x287cc4(0x15a),'phase':_0x287cc4(0x25f),'url':_0x43c0e5,'appDeviceCode':_0x598419,'appPollClient':_0x4720da,'appPollIntervalMs':Math['max'](_0x2e5b33*0x3e8,DEFAULT_FEISHU_REGISTRATION_INTERVAL_MS),'appExpiresAt':Date['now']()+_0x21ccd9*0x3e8,'appTimer':null,'authStatusTimer':null,'authStatusStartedAt':0x0,'deviceCode':null,'message':'请在飞书开放平台'+_0x287cc4(0xf1),'errorMessage':null,'process':null,'output':'','cliHostConfigPath':_0x580f5e(),'cliAppId':null,'cliAppSecret':null};return _0x17bb37[_0x287cc4(0x1ec)](_0xfd4e78,_0x17c57f),_0x861d48(_0x17c57f),createFeishuDocCliStatus(_0x17c57f);}function _0x1d6413(_0x1c2f8f={}){const _0x25975a=_0x8c70a8,_0x6d65b8=safeString(_0x1c2f8f['sessionI'+'d']);if(!_0x6d65b8)throw new Error(_0x25975a(0xb1)+'oc\x20CLI\x20s'+_0x25975a(0x109)+_0x25975a(0x1cd)+'uired');const _0x307379=_0x17bb37['get'](_0x6d65b8);if(!_0x307379)throw new Error(_0x25975a(0xb1)+_0x25975a(0x1a9)+_0x25975a(0x158)+_0x25975a(0x16b));return createFeishuDocCliStatus(_0x307379);}function _0x4f70ef(_0x1618af={}){const _0x1eefe7=_0x8c70a8,_0x59fdf7=safeString(_0x1618af[_0x1eefe7(0x140)+'d']);if(!_0x59fdf7)return{'ok':!![]};const _0x5ccac6=_0x17bb37[_0x1eefe7(0x106)](_0x59fdf7);if(!_0x5ccac6)return{'ok':!![]};return _0x5c1067(_0x5ccac6),_0x42649e(_0x5ccac6),_0x5ccac6[_0x1eefe7(0x283)]?.[_0x1eefe7(0x247)](),_0x17bb37[_0x1eefe7(0x28e)](_0x59fdf7),{'ok':!![]};}function _0x4c3126(_0x39bb67={}){const _0x519578=_0x8c70a8,_0x279fc1=safeString(_0x39bb67[_0x519578(0x140)+'d']);if(!_0x279fc1)throw new Error(_0x519578(0xb1)+_0x519578(0x1a9)+_0x519578(0x109)+_0x519578(0x1cd)+_0x519578(0x1e3));const _0x638bf9=_0x17bb37[_0x519578(0x106)](_0x279fc1);if(!_0x638bf9)throw new Error('Feishu\x20d'+_0x519578(0x1a9)+_0x519578(0x158)+_0x519578(0x16b));if(_0x638bf9['status']===_0x519578(0x174))throw new Error(_0x638bf9[_0x519578(0x1bd)+_0x519578(0x195)]||_0x519578(0x192)+_0x519578(0xca));return{'ok':!![]};}async function _0x93ab60(_0x4a6afb){const _0x4ece92=_0x8c70a8,_0x4c3dce=asRecord(_0x4a6afb[_0x4ece92(0x105)]),_0x3472d0=asRecord(_0x4c3dce[_0x4ece92(0x149)]),_0x4c82df=asStringArray(_0x4c3dce[_0x4ece92(0x263)]),_0x549ed9=asRecord(_0x3472d0[WECHAT_PLUGIN_ID]),_0x13044c=_0x549ed9[_0x4ece92(0x1da)]===!![]||_0x4c82df[_0x4ece92(0xf5)](WECHAT_PLUGIN_ID),_0x7c6d74=join(_0x4d626f[_0x4ece92(0x21b)+_0x4ece92(0x1eb)](),WECHAT_PLUGIN_ID),_0xd8662=join(_0x7c6d74,_0x4ece92(0xe2)+_0x4ece92(0x221));let _0x5ad3d3=![];try{const _0x359e29=(await readFile(_0xd8662,_0x4ece92(0x12f)))[_0x4ece92(0x1d9)]();if(_0x359e29){const _0x2518c8=JSON['parse'](_0x359e29);_0x5ad3d3=Array[_0x4ece92(0x117)](_0x2518c8)?_0x2518c8[_0x4ece92(0x1e9)]>0x0:Object['keys'](asRecord(_0x2518c8))['length']>0x0;}}catch{}if(!_0x5ad3d3)try{_0x5ad3d3=(await readdir(join(_0x7c6d74,_0x4ece92(0xe2))))['length']>0x0;}catch{}return{'exists':_0x13044c||_0x5ad3d3,'enabled':_0x13044c,'connected':_0x13044c&&_0x5ad3d3};}async function _0x4c7dbf(){const _0x11b190=_0x8c70a8,_0x5a0e1f=await _0x9238de(),_0x7aa887=asRecord(_0x5a0e1f[_0x11b190(0x101)]),_0x4d90a4=[],_0x5e0f4e=await _0x93ab60(_0x5a0e1f);_0x5e0f4e[_0x11b190(0xc1)]&&_0x4d90a4['push']({'id':WECHAT_PLUGIN_ID,'type':_0x11b190(0x18a),'name':'微信','enabled':_0x5e0f4e[_0x11b190(0x1da)],'connected':_0x5e0f4e['connecte'+'d']});const _0x55a377=asRecord(_0x7aa887[_0x11b190(0x23e)]),_0xb5eb63=getTrimmedString(_0x55a377['appId']),_0x3c760e=getTrimmedString(_0x55a377['clientSe'+'cret']);_0xb5eb63&&_0x3c760e&&_0x4d90a4[_0x11b190(0x268)]({'id':'qqbot','type':_0x11b190(0x23e),'name':_0x11b190(0x13f),'enabled':_0x55a377[_0x11b190(0x1da)]!==![],'appId':_0xb5eb63,'clientSecret':_0x3c760e});const _0x334c85=asRecord(_0x7aa887[_0x11b190(0x23d)]),_0x243bd3=getTrimmedString(_0x334c85[_0x11b190(0x206)]),_0x422172=getTrimmedString(_0x334c85[_0x11b190(0x1d5)]);_0x243bd3&&_0x422172&&_0x4d90a4['push']({'id':_0x11b190(0x23d),'type':_0x11b190(0x23d),'name':_0x11b190(0xcc),'enabled':_0x334c85['enabled']!==![],'botId':_0x243bd3,'secret':_0x422172});const _0x5a912d=asRecord(_0x7aa887[_0x11b190(0x214)]),_0x3bdbde=getTrimmedString(_0x5a912d['appId']),_0x5783ae=getTrimmedString(_0x5a912d['appSecre'+'t']);return _0x3bdbde&&_0x5783ae&&getTrimmedString(_0x5a912d[_0x11b190(0x24e)+'y'])!==FEISHU_DOC_CONNECTOR_PLUGIN_ID&&_0x4d90a4[_0x11b190(0x268)]({'id':_0x11b190(0x214),'type':_0x11b190(0x214),'name':_0x11b190(0x1e7),'enabled':_0x5a912d[_0x11b190(0x1da)]!==![],'appId':_0x3bdbde,'appSecret':_0x5783ae}),_0x4d90a4;}async function _0x2ffda4(_0x48251e){const _0x595b67=_0x8c70a8,_0x1878f3=await _0x9238de(),_0x5bdc19=asRecord(_0x1878f3[_0x595b67(0x105)]),_0x1a2f4f=asRecord(_0x5bdc19[_0x595b67(0x149)]);return _0x1a2f4f[WECHAT_PLUGIN_ID]={...asRecord(_0x1a2f4f[WECHAT_PLUGIN_ID]),'enabled':Boolean(_0x48251e)},_0x5bdc19[_0x595b67(0x149)]=_0x1a2f4f,_0x5bdc19[_0x595b67(0x263)]=_0x48251e?dedupeStrings([...asStringArray(_0x5bdc19['allow']),WECHAT_PLUGIN_ID]):asStringArray(_0x5bdc19[_0x595b67(0x263)])['filter'](_0x25faff=>_0x25faff!==WECHAT_PLUGIN_ID),_0x1878f3['plugins']=_0x5bdc19,await _0x3f7121(_0x1878f3,WECHAT_PLUGIN_ID+_0x595b67(0x257)+(_0x48251e?_0x595b67(0x1da):_0x595b67(0x1f6))),{'ok':!![]};}async function _0x2f950f(_0x76a4af={}){const _0x15d50a=_0x8c70a8,_0x351dbb=safeString(_0x76a4af[_0x15d50a(0x25e)+'d']||_0x76a4af['id']);if(!_0x351dbb)throw new Error(_0x15d50a(0x20e)+'id\x20is\x20re'+'quired');const _0x1809f5=await _0x9238de(),_0x54878f=asRecord(_0x1809f5[_0x15d50a(0x101)]),_0x292431=asRecord(_0x1809f5['plugins']),_0x5e9bd2=asRecord(_0x292431['entries']),_0x13e602=_0x18427f=>{const _0x76258d=_0x15d50a;_0x5e9bd2[_0x18427f]=createConnectorPluginEntry(_0x18427f,_0x5e9bd2[_0x18427f],![],{}),_0x292431['allow']=asStringArray(_0x292431[_0x76258d(0x263)])[_0x76258d(0x1f7)](_0xa2726b=>_0xa2726b!==_0x18427f),_0x292431[_0x76258d(0x149)]=_0x5e9bd2,_0x1809f5[_0x76258d(0x105)]=_0x292431;};if(_0x351dbb===_0x15d50a(0xbf)+'oc')return _0x13e602(FEISHU_DOC_CONNECTOR_PLUGIN_ID),getTrimmedString(asRecord(_0x54878f[_0x15d50a(0x214)])[_0x15d50a(0x24e)+'y'])===FEISHU_DOC_CONNECTOR_PLUGIN_ID&&(delete _0x54878f[_0x15d50a(0x214)],_0x1809f5['channels']=_0x54878f),await rm(_0x17e641(),{'recursive':!![],'force':!![]})[_0x15d50a(0x14f)](()=>{}),_0x3f7121(_0x1809f5,'feishu\x20d'+_0x15d50a(0x1bc)+_0x15d50a(0x137)+'gin\x20dele'+'ted');if(_0x351dbb===_0x15d50a(0x216))return _0x13e602(QQ_MAIL_CONNECTOR_PLUGIN_ID),_0x3f7121(_0x1809f5,_0x15d50a(0x11e)+_0x15d50a(0xc5)+'r\x20plugin'+_0x15d50a(0x154));if(_0x351dbb==='netease_'+_0x15d50a(0x246))return _0x13e602(NETEASE_MAIL_CONNECTOR_PLUGIN_ID),_0x3f7121(_0x1809f5,_0x15d50a(0x273)+_0x15d50a(0xe7)+_0x15d50a(0x284)+_0x15d50a(0xeb)+_0x15d50a(0xee));if(_0x351dbb===_0x15d50a(0x1d4)+_0x15d50a(0x199))return _0x13e602(TENCENT_EXMAIL_CONNECTOR_PLUGIN_ID),_0x3f7121(_0x1809f5,'tencent\x20'+'exmail\x20c'+_0x15d50a(0x280)+'\x20plugin\x20'+'deleted');if(_0x351dbb===_0x15d50a(0x1d4)+_0x15d50a(0x107)){const _0x5a259a=asRecord(_0x1809f5['skills']),_0x33c3a9=asRecord(_0x5a259a['entries']);return delete _0x33c3a9[TENCENT_DOCS_SKILL_ID],_0x5a259a[_0x15d50a(0x149)]=_0x33c3a9,_0x1809f5['skills']=_0x5a259a,_0x3f7121(_0x1809f5,'tencent\x20'+'docs\x20ski'+'ll\x20conne'+_0x15d50a(0xfc)+_0x15d50a(0x22a));}if(_0x351dbb===_0x15d50a(0x11f))return await _0x3b41c5([_0x15d50a(0x19f),_0x15d50a(0x1f5)])['catch'](()=>({'code':null,'output':''})),await _0x557ab1(),{'ok':!![]};if(_0x351dbb===_0x15d50a(0xe3)+'_doc'){const _0x40efde=readOpenClawMcpServersFromConfig(_0x1809f5);return delete _0x40efde[DINGTALK_DOC_MCP_SERVER_NAME],writeOpenClawMcpServersToConfig(_0x1809f5,_0x40efde),_0x3f7121(_0x1809f5,'dingtalk'+'\x20doc\x20mcp'+_0x15d50a(0x154));}if(_0x351dbb===WECHAT_PLUGIN_ID||_0x351dbb===_0x15d50a(0x27e)+_0x15d50a(0x1a3)){_0x5e9bd2[WECHAT_PLUGIN_ID]={...asRecord(_0x5e9bd2[WECHAT_PLUGIN_ID]),'enabled':![]},_0x292431[_0x15d50a(0x149)]=_0x5e9bd2,_0x292431['allow']=asStringArray(_0x292431['allow'])[_0x15d50a(0x1f7)](_0x32258a=>_0x32258a!==WECHAT_PLUGIN_ID&&_0x32258a!==_0x15d50a(0x27e)+'-weixin'),_0x1809f5[_0x15d50a(0x105)]=_0x292431;const _0x4688f2=join(_0x4d626f[_0x15d50a(0x21b)+_0x15d50a(0x1eb)](),WECHAT_PLUGIN_ID);return await rm(join(_0x4688f2,_0x15d50a(0xe2)+_0x15d50a(0x221)),{'force':!![]})[_0x15d50a(0x14f)](()=>{}),await rm(join(_0x4688f2,_0x15d50a(0xe2)),{'recursive':!![],'force':!![]})[_0x15d50a(0x14f)](()=>{}),_0x3f7121(_0x1809f5,_0x351dbb+('\x20channel'+_0x15d50a(0xf0)+_0x15d50a(0x241)));}if(_0x351dbb===_0x15d50a(0x214))return delete _0x54878f[_0x15d50a(0x214)],_0x1809f5[_0x15d50a(0x101)]=_0x54878f,_0x5e9bd2['feishu']={...asRecord(_0x5e9bd2[_0x15d50a(0x214)]),'enabled':![]},_0x292431[_0x15d50a(0x149)]=_0x5e9bd2,_0x292431[_0x15d50a(0x263)]=asStringArray(_0x292431[_0x15d50a(0x263)])['filter'](_0x2a060a=>_0x2a060a!==_0x15d50a(0x214)),_0x1809f5[_0x15d50a(0x105)]=_0x292431,_0x3f7121(_0x1809f5,_0x15d50a(0x111)+'hannel\x20c'+'onfig\x20de'+_0x15d50a(0xee));return _0x351dbb===_0x15d50a(0x23e)&&(delete _0x54878f[_0x15d50a(0x23e)],_0x5e9bd2[QQBOT_PLUGIN_ID]={...asRecord(_0x5e9bd2[QQBOT_PLUGIN_ID]),'enabled':![]},_0x292431['allow']=asStringArray(_0x292431[_0x15d50a(0x263)])['filter'](_0x5a8765=>_0x5a8765!==QQBOT_PLUGIN_ID)),_0x351dbb==='wecom'&&(delete _0x54878f['wecom'],_0x5e9bd2[WECOM_PLUGIN_ID]={...asRecord(_0x5e9bd2[WECOM_PLUGIN_ID]),'enabled':![]},_0x292431[_0x15d50a(0x263)]=asStringArray(_0x292431['allow'])['filter'](_0x391fd9=>_0x391fd9!==WECOM_PLUGIN_ID)),_0x1809f5['channels']=_0x54878f,_0x292431['entries']=_0x5e9bd2,_0x1809f5[_0x15d50a(0x105)]=_0x292431,_0x3f7121(_0x1809f5,_0x351dbb+(_0x15d50a(0x20b)+_0x15d50a(0xf0)+_0x15d50a(0x241)));}async function _0xc25378(_0x33d8dd={}){const _0x5a8f00=_0x8c70a8,_0x570b8f=safeString(_0x33d8dd[_0x5a8f00(0x25e)+'d']||_0x33d8dd['id']);if(!_0x570b8f)throw new Error(_0x5a8f00(0x20e)+_0x5a8f00(0x13a)+_0x5a8f00(0x226));const _0x534477=_0x33d8dd[_0x5a8f00(0x1da)]===!![],_0x560e72=await _0x9238de(),_0x2533b8=asRecord(_0x560e72[_0x5a8f00(0x105)]),_0x5b3ea6=asRecord(_0x2533b8['entries']),_0x2375c8=_0x513210=>{const _0x1259a1=_0x5a8f00;_0x5b3ea6[_0x513210]=createConnectorPluginEntry(_0x513210,_0x5b3ea6[_0x513210],_0x534477,{},{'preserveExistingConfig':!![]}),_0x2533b8[_0x1259a1(0x263)]=_0x534477?dedupeStrings([...asStringArray(_0x2533b8['allow']),_0x513210]):asStringArray(_0x2533b8[_0x1259a1(0x263)])[_0x1259a1(0x1f7)](_0x891235=>_0x891235!==_0x513210),_0x2533b8['entries']=_0x5b3ea6,_0x560e72['plugins']=_0x2533b8;};if(_0x570b8f===_0x5a8f00(0xbf)+'oc'){const _0x4578ae=asRecord(_0x5b3ea6[FEISHU_DOC_CONNECTOR_PLUGIN_ID]);if(Object[_0x5a8f00(0x134)](_0x4578ae)['length']===0x0)throw new Error(_0x5a8f00(0x204)+'r\x20\x22'+_0x570b8f+(_0x5a8f00(0x15e)+_0x5a8f00(0x209)));_0x2375c8(FEISHU_DOC_CONNECTOR_PLUGIN_ID);}else{if(_0x570b8f==='qq_mail')_0x2375c8(QQ_MAIL_CONNECTOR_PLUGIN_ID);else{if(_0x570b8f===_0x5a8f00(0x235)+_0x5a8f00(0x246))_0x2375c8(NETEASE_MAIL_CONNECTOR_PLUGIN_ID);else{if(_0x570b8f===_0x5a8f00(0x1d4)+'exmail')_0x2375c8(TENCENT_EXMAIL_CONNECTOR_PLUGIN_ID);else{if(_0x570b8f===_0x5a8f00(0x1d4)+_0x5a8f00(0x107)){const _0x1db36c=asRecord(_0x560e72['skills']),_0xf74282=asRecord(_0x1db36c[_0x5a8f00(0x149)]),_0x4d0967=asRecord(_0xf74282[TENCENT_DOCS_SKILL_ID]);_0xf74282[TENCENT_DOCS_SKILL_ID]={..._0x4d0967,'enabled':_0x534477},_0x1db36c[_0x5a8f00(0x149)]=_0xf74282,_0x560e72['skills']=_0x1db36c;}else{if(_0x570b8f==='kdocs'){if(_0x534477&&!await _0x266836())throw new Error(_0x5a8f00(0x1e2)+_0x5a8f00(0x15d));return await _0x12f4e7(_0x534477),{'ok':!![]};}else{if(_0x570b8f===_0x5a8f00(0xe3)+_0x5a8f00(0x24b)){const _0x8ff038=readOpenClawMcpServersFromConfig(_0x560e72),_0x10cf96=findDingtalkDocMcpServer(_0x8ff038);if(!getTrimmedString(_0x10cf96[_0x5a8f00(0x286)]))throw new Error('Connecto'+_0x5a8f00(0x139)+_0x570b8f+(_0x5a8f00(0x15e)+_0x5a8f00(0x209)));_0x8ff038[DINGTALK_DOC_MCP_SERVER_NAME]=createDingtalkDocMcpServerConfig(_0x10cf96['url'],{'enabled':_0x534477}),writeOpenClawMcpServersToConfig(_0x560e72,_0x8ff038);}else{const _0x9f132c=asRecord(_0x560e72[_0x5a8f00(0x101)]),_0x55c079=asRecord(_0x9f132c[_0x570b8f]);if(Object[_0x5a8f00(0x134)](_0x55c079)[_0x5a8f00(0x1e9)]===0x0)throw new Error(_0x5a8f00(0x20e)+'\x22'+_0x570b8f+(_0x5a8f00(0x15e)+_0x5a8f00(0x209)));_0x55c079[_0x5a8f00(0x1da)]=_0x534477,_0x9f132c[_0x570b8f]=_0x55c079,_0x560e72[_0x5a8f00(0x101)]=_0x9f132c;_0x570b8f===_0x5a8f00(0x214)&&(_0x2375c8('feishu'),_0x534477&&(_0x55c079[_0x5a8f00(0x26c)+'g']=!![],delete _0x55c079[_0x5a8f00(0x277)]));if(_0x570b8f==='qqbot')_0x2375c8(QQBOT_PLUGIN_ID);if(_0x570b8f===_0x5a8f00(0x23d))_0x2375c8(WECOM_PLUGIN_ID);}}}}}}}return _0x3f7121(_0x560e72,_0x570b8f+(_0x5a8f00(0x20b)+_0x5a8f00(0xf0))+(_0x534477?_0x5a8f00(0x1da):_0x5a8f00(0x1f6)));}async function _0x5902da({gatewayPort:_0x5b8187,gatewayToken:_0x2cdf6c}={}){const _0x96fcfc=_0x8c70a8;_0x441c2b&&(_0x441c2b[_0x96fcfc(0x247)](),_0x441c2b=null);const {cwd:_0x15d4f7,env:_0x469a33,runtime:_0x141f53}=await _0x4829e3({'FORCE_COLOR':'0',..._0x5b8187?{'OPENCLAW_GATEWAY_PORT':String(_0x5b8187)}:{},..._0x2cdf6c?{'OPENCLAW_GATEWAY_TOKEN':_0x2cdf6c}:{}}),_0x1bb72c=_0x141f53[_0x96fcfc(0x105)][_0x96fcfc(0x164)](_0x213f57=>_0x213f57[_0x96fcfc(0x175)]===WECHAT_PLUGIN_ID);if(!_0x1bb72c){const _0x4e6504=_0x96fcfc(0x15f)+'微信连接插件,请'+'安装包含微信插件'+_0x96fcfc(0x222);return _0x4aa6c3(_0x96fcfc(0x12a)+_0x96fcfc(0x12d),_0x96fcfc(0xcd)),_0x4aa6c3(_0x96fcfc(0x1fb)+'og',_0x4e6504),{'ok':![],'error':_0x4e6504};}await _0x2ffda4(!![]),_0x4aa6c3(_0x96fcfc(0x1fb)+'og','spawn\x20op'+_0x96fcfc(0x224)+_0x96fcfc(0x1ee)+'login\x20--'+'channel\x20'+_0x1bb72c[_0x96fcfc(0x175)]),_0x441c2b=spawn(_0x141f53[_0x96fcfc(0x16f)+_0x96fcfc(0x1de)],[_0x141f53[_0x96fcfc(0x27e)+_0x96fcfc(0x255)],_0x96fcfc(0x101),_0x96fcfc(0x26b),_0x96fcfc(0x27c)+'l',_0x1bb72c[_0x96fcfc(0x175)]],{'cwd':_0x15d4f7,'env':_0x469a33});let _0x10e563='',_0x2d60dd=![],_0x4ea857=![];const _0x17d82b=_0x40b80a=>{const _0x3f72b8=_0x96fcfc,_0x407050=_0x40b80a['toString']();_0x10e563+=_0x407050;if(!_0x2d60dd){const _0x48d523=_0x10e563['match'](/(https:\/\/(?:[a-zA-Z0-9-]+\.)*weixin\.qq\.com\S+)/i);_0x48d523?.[0x1]&&(_0x2d60dd=!![],_0x4aa6c3(_0x3f72b8(0x171)+_0x3f72b8(0x143),_0x48d523[0x1]),_0x4aa6c3('wechat-s'+_0x3f72b8(0x12d),'QR_READY'));}if(_0x407050['includes'](_0x3f72b8(0x20c))||_0x407050['includes'](_0x3f72b8(0x112)+'cess')||_0x407050[_0x3f72b8(0xf5)](_0x3f72b8(0x100)))_0x4aa6c3('wechat-s'+_0x3f72b8(0x12d),_0x3f72b8(0x16e));else{if(_0x407050['includes']('登录成功')||_0x407050[_0x3f72b8(0xf5)](_0x3f72b8(0x14e))||_0x407050[_0x3f72b8(0xf5)](_0x3f72b8(0xb5))||_0x407050[_0x3f72b8(0xf5)]('logged\x20i'+'n')||_0x407050[_0x3f72b8(0xf5)](_0x3f72b8(0x281)+_0x3f72b8(0x1d8))||_0x407050[_0x3f72b8(0xf5)](_0x3f72b8(0x26e))||_0x407050[_0x3f72b8(0xf5)]('已连接过')||_0x407050[_0x3f72b8(0xf5)](_0x3f72b8(0x21a))||_0x407050[_0x3f72b8(0xf5)]('already\x20'+_0x3f72b8(0x1ca)+'d')||_0x407050[_0x3f72b8(0xf5)](_0x3f72b8(0x23a)+_0x3f72b8(0x1fc)+_0x3f72b8(0x135)))_0x4ea857=!![],_0x4aa6c3(_0x3f72b8(0x12a)+_0x3f72b8(0x12d),_0x3f72b8(0x259)),setTimeout(()=>{_0x441c2b&&(_0x441c2b['kill'](),_0x441c2b=null);},0xbb8);else{if(_0x407050['includes']('过期')||_0x407050[_0x3f72b8(0xf5)]('expired'))_0x4aa6c3(_0x3f72b8(0x12a)+_0x3f72b8(0x12d),'EXPIRED');else(_0x407050[_0x3f72b8(0xf5)]('失败')||_0x407050[_0x3f72b8(0xf5)](_0x3f72b8(0x176))||_0x407050[_0x3f72b8(0xf5)](_0x3f72b8(0x1b4)))&&_0x4aa6c3(_0x3f72b8(0x12a)+_0x3f72b8(0x12d),'ERROR');}}_0x4aa6c3('wechat-l'+'og',_0x407050);};return _0x441c2b[_0x96fcfc(0x2a1)]?.['on']('data',_0x17d82b),_0x441c2b['stderr']?.['on']('data',_0x17d82b),_0x441c2b['on'](_0x96fcfc(0x174),_0xe5d7c2=>{const _0x129312=_0x96fcfc;_0x441c2b=null,_0x4aa6c3(_0x129312(0x12a)+_0x129312(0x12d),'ERROR'),_0x4aa6c3(_0x129312(0x1fb)+'og',_0x129312(0xbc)+_0x129312(0x213)+_0xe5d7c2[_0x129312(0x1db)]);}),_0x441c2b['on'](_0x96fcfc(0xd3),_0x1153ac=>{const _0x1e7eeb=_0x96fcfc;_0x441c2b=null,_0x4ea857?_0x2ffda4(!![])[_0x1e7eeb(0x14f)](()=>{}):(_0x2ffda4(![])[_0x1e7eeb(0x14f)](()=>{}),_0x4aa6c3(_0x1e7eeb(0x12a)+_0x1e7eeb(0x12d),_0x1153ac===0x0?_0x1e7eeb(0xcf):_0x1e7eeb(0xcd)));}),{'ok':!![]};}function _0x325dba(){return _0x441c2b&&(_0x441c2b['kill'](),_0x441c2b=null),{'ok':!![]};}function _0x26546a(){const _0xe94828=_0x8c70a8;for(const _0x4224ae of _0x194d28[_0xe94828(0xb3)]()){_0x1ce59b(_0x4224ae),_0x4224ae['process']?.['kill']();}_0x194d28[_0xe94828(0x1c7)]();for(const _0x541ad4 of _0x353bd1[_0xe94828(0xb3)]()){_0x3ce585(_0x541ad4);}_0x353bd1[_0xe94828(0x1c7)]();for(const _0x174f63 of _0x17bb37[_0xe94828(0xb3)]()){_0x5c1067(_0x174f63),_0x42649e(_0x174f63),_0x174f63[_0xe94828(0x283)]?.[_0xe94828(0x247)]();}_0x17bb37[_0xe94828(0x1c7)](),_0x441c2b&&(_0x441c2b[_0xe94828(0x247)](),_0x441c2b=null);}return{'saveFeishuChannelConfig':_0x25cf5d,'saveQqbotChannelConfig':_0x3bbc92,'saveWecomChannelConfig':_0x4394c6,'saveQqMailConnectorConfig':_0x112753,'saveNetEaseMailConnectorConfig':_0x4434f6,'saveTencentExmailConnectorConfig':_0x50352c,'saveFeishuDocConnectorConfig':_0x326d39,'saveTencentDocsConnectorConfig':_0x442379,'saveKdocsConnectorConfig':_0x5b1993,'saveDingtalkDocConnectorConfig':_0x51d12d,'readConfigSnapshot':_0x5f1fe4,'startKdocsCliConnectSession':_0x57f154,'getKdocsCliConnectStatus':_0x3441f4,'cancelKdocsCliConnectSession':_0x177c2b,'startFeishuDocCliConnectSession':_0x14d79b,'getFeishuDocCliConnectStatus':_0x1d6413,'cancelFeishuDocCliConnectSession':_0x4f70ef,'completeFeishuDocCliConnectSession':_0x4c3126,'startFeishuRegistrationSession':_0x184898,'getFeishuRegistrationStatus':_0x2bcd1a,'cancelFeishuRegistrationSession':_0x2bd417,'listImChannelConfigs':_0x4c7dbf,'deleteImChannelConfig':_0x2f950f,'setImChannelEnabled':_0xc25378,'startWechatChannelSession':_0x5902da,'cancelWechatChannelSession':_0x325dba,'dispose':_0x26546a};}