@loxia-labs/loxia-autopilot-one 1.0.13 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/agentActivityService.js +1 -0
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x577c68=a0_0x5384;(function(_0x427d39,_0x1cec05){const _0x291d18=a0_0x5384,_0x266e3f=_0x427d39();while(!![]){try{const _0x21308e=parseInt(_0x291d18(0x29e))/0x1*(parseInt(_0x291d18(0x2c4))/0x2)+parseInt(_0x291d18(0x20f))/0x3*(-parseInt(_0x291d18(0x261))/0x4)+parseInt(_0x291d18(0x1cb))/0x5*(-parseInt(_0x291d18(0x1af))/0x6)+parseInt(_0x291d18(0x2dc))/0x7*(-parseInt(_0x291d18(0x29f))/0x8)+parseInt(_0x291d18(0x1b3))/0x9*(-parseInt(_0x291d18(0x2ca))/0xa)+parseInt(_0x291d18(0x25d))/0xb*(parseInt(_0x291d18(0x1fe))/0xc)+parseInt(_0x291d18(0x1eb))/0xd*(parseInt(_0x291d18(0x2c0))/0xe);if(_0x21308e===_0x1cec05)break;else _0x266e3f['push'](_0x266e3f['shift']());}catch(_0x5341f8){_0x266e3f['push'](_0x266e3f['shift']());}}}(a0_0x4113,0xbbc4e));import{BaseTool}from'./baseTool.js';import a0_0x3dda76 from'../utilities/tagParser.js';import a0_0x5985b7 from'../utilities/directoryAccessManager.js';import{spawn,exec}from'child_process';import a0_0x4aff06 from'path';import a0_0x40d079 from'fs/promises';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x5384(_0x5f21a1,_0x15e60f){_0x5f21a1=_0x5f21a1-0x19e;const _0x41133d=a0_0x4113();let _0x53846b=_0x41133d[_0x5f21a1];if(a0_0x5384['MdODuj']===undefined){var _0x42f9a6=function(_0x359f72){const _0x5ab0ce='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3dda76='',_0x5985b7='';for(let _0x4aff06=0x0,_0x40d079,_0x2ac0da,_0x317957=0x0;_0x2ac0da=_0x359f72['charAt'](_0x317957++);~_0x2ac0da&&(_0x40d079=_0x4aff06%0x4?_0x40d079*0x40+_0x2ac0da:_0x2ac0da,_0x4aff06++%0x4)?_0x3dda76+=String['fromCharCode'](0xff&_0x40d079>>(-0x2*_0x4aff06&0x6)):0x0){_0x2ac0da=_0x5ab0ce['indexOf'](_0x2ac0da);}for(let _0x4ae687=0x0,_0x33827b=_0x3dda76['length'];_0x4ae687<_0x33827b;_0x4ae687++){_0x5985b7+='%'+('00'+_0x3dda76['charCodeAt'](_0x4ae687)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5985b7);};a0_0x5384['yVOAeC']=_0x42f9a6,a0_0x5384['vkbiga']={},a0_0x5384['MdODuj']=!![];}const _0x57bd7e=_0x41133d[0x0],_0x18ec8d=_0x5f21a1+_0x57bd7e,_0x5ddb52=a0_0x5384['vkbiga'][_0x18ec8d];return!_0x5ddb52?(_0x53846b=a0_0x5384['yVOAeC'](_0x53846b),a0_0x5384['vkbiga'][_0x18ec8d]=_0x53846b):_0x53846b=_0x5ddb52,_0x53846b;}class PromptDetector{constructor(){const _0x2d5174=a0_0x5384;this[_0x2d5174(0x213)]=[{'pattern':/\(y\/n\)/i,'type':_0x2d5174(0x1cd),'description':_0x2d5174(0x1a6)},{'pattern':/\(Y\/n\)/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\(y\/N\)/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/\[y\/n\]/i,'type':_0x2d5174(0x1cd),'description':'Yes/No\x20question'},{'pattern':/\[Y\/n\]/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\[y\/N\]/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/continue\?/i,'type':_0x2d5174(0x26a),'description':'Continue\x20prompt'},{'pattern':/proceed\?/i,'type':'continue','description':'Proceed\x20prompt'},{'pattern':/press any key to continue/i,'type':_0x2d5174(0x1f7),'description':_0x2d5174(0x2e2)},{'pattern':/press enter to continue/i,'type':'keypress','description':'Press\x20enter'},{'pattern':/hit enter to continue/i,'type':'keypress','description':'Hit\x20enter'},{'pattern':/password:/i,'type':_0x2d5174(0x21a),'description':_0x2d5174(0x269)},{'pattern':/enter password/i,'type':'password','description':'Password\x20prompt'},{'pattern':/passphrase:/i,'type':'password','description':'Passphrase\x20prompt'},{'pattern':/username:/i,'type':'username','description':_0x2d5174(0x1ea)},{'pattern':/enter username/i,'type':_0x2d5174(0x2bb),'description':'Username\x20prompt'},{'pattern':/enter\s+\w+:/i,'type':'input','description':'Generic\x20input\x20prompt'},{'pattern':/please enter/i,'type':_0x2d5174(0x2be),'description':_0x2d5174(0x244)},{'pattern':/input:/i,'type':'input','description':_0x2d5174(0x244)},{'pattern':/are you sure\?/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/do you want to/i,'type':'confirmation','description':_0x2d5174(0x1dc)},{'pattern':/would you like to/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/select an option/i,'type':'selection','description':_0x2d5174(0x26f)},{'pattern':/choose/i,'type':'selection','description':_0x2d5174(0x26f)},{'pattern':/\d+\)\s+\w+/g,'type':'menu','description':'Menu\x20selection'}];}['detectPrompt'](_0x2ac0da,_0x317957=a0_0x577c68(0x1ad)){const _0x35766a=a0_0x577c68;if(!_0x2ac0da||_0x2ac0da['trim']()['length']===0x0)return null;const _0x4ae687=_0x2ac0da['split']('\x0a'),_0x33827b=_0x4ae687[_0x35766a(0x28e)](-0x5)[_0x35766a(0x216)]('\x0a');for(const _0x54478a of this[_0x35766a(0x213)]){const _0x26562e=_0x33827b['match'](_0x54478a[_0x35766a(0x271)]);if(_0x26562e)return{'detected':!![],'type':_0x54478a['type'],'description':_0x54478a['description'],'matchedText':_0x26562e[0x0],'matchIndex':_0x26562e[_0x35766a(0x1ca)],'source':_0x317957,'fullContext':_0x33827b,'timestamp':Date['now']()};}const _0x296208=_0x4ae687[_0x4ae687['length']-0x1]||'';if(_0x296208[_0x35766a(0x245)]()[_0x35766a(0x2bf)]>0x0){const _0x5ef755=/:\s*$/[_0x35766a(0x1b2)](_0x296208),_0x4ee686=/\?\s*$/[_0x35766a(0x1b2)](_0x296208);if(_0x5ef755||_0x4ee686){const _0xd4063d=/\b(enter|type|provide|specify|input)\b/i[_0x35766a(0x1b2)](_0x296208);if(_0xd4063d)return{'detected':!![],'type':_0x35766a(0x1f2),'description':_0x35766a(0x2c9),'matchedText':_0x296208[_0x35766a(0x245)](),'source':_0x317957,'fullContext':_0x33827b,'timestamp':Date[_0x35766a(0x1a4)](),'confidence':0.7};}}return null;}[a0_0x577c68(0x27b)](_0x471f56,_0x54eedd=0x7530){const _0x2422e6=a0_0x577c68,_0x5bfa33=Date[_0x2422e6(0x1a4)](),_0x52328f=_0x5bfa33-_0x471f56;return{'isHanging':_0x52328f>=_0x54eedd,'timeSinceLastOutput':_0x52328f,'threshold':_0x54eedd,'likelyWaiting':_0x52328f>=_0x54eedd/0x2};}}class TerminalTool extends BaseTool{constructor(_0x196599={},_0x129945=null){const _0x9723ac=a0_0x577c68;super(_0x196599,_0x129945),this['requiresProject']=![],this['isAsync']=![],this['timeout']=_0x196599[_0x9723ac(0x24b)]||0x1d4c0,this[_0x9723ac(0x230)]=_0x196599[_0x9723ac(0x230)]||0x3,this[_0x9723ac(0x2e6)]=new Map(),this['commandHistory']=[],this[_0x9723ac(0x2a8)]=_0x196599[_0x9723ac(0x2a8)]||null,this[_0x9723ac(0x1b7)]=_0x196599['blockedCommands']||['rm\x20-rf\x20/',_0x9723ac(0x2a9),_0x9723ac(0x242),_0x9723ac(0x1ab),_0x9723ac(0x2aa),'halt'],this['directoryAccessManager']=new a0_0x5985b7(_0x196599,_0x129945),this['promptDetector']=new PromptDetector(),this['commandTracker']=new Map(),this[_0x9723ac(0x1cf)]=0x0,this['MAX_BACKGROUND_COMMANDS_PER_AGENT']=_0x196599[_0x9723ac(0x1d6)]||0x5,this['MAX_BACKGROUND_COMMANDS_GLOBAL']=_0x196599[_0x9723ac(0x2db)]||0x14,this[_0x9723ac(0x1d9)]=_0x196599['maxCommandAgeMinutes']||0x3c,this[_0x9723ac(0x1ed)]=null,this['platformType']=null,this['initializeTerminalDetection']();}[a0_0x577c68(0x226)](){const _0x3b50c7=a0_0x577c68;return _0x3b50c7(0x253)+this[_0x3b50c7(0x24b)]+_0x3b50c7(0x1e5);}['parseParameters'](_0x13cb97){const _0x3fe0d3=a0_0x577c68;try{const _0x1ab9ab={},_0x105d01=a0_0x3dda76[_0x3fe0d3(0x1d3)](_0x13cb97,'run-command'),_0x11296=a0_0x3dda76[_0x3fe0d3(0x1d3)](_0x13cb97,'change-directory'),_0x1e81be=a0_0x3dda76[_0x3fe0d3(0x1d3)](_0x13cb97,'list-directory'),_0x24cf8a=a0_0x3dda76[_0x3fe0d3(0x1d3)](_0x13cb97,_0x3fe0d3(0x214)),_0x5d1b21=a0_0x3dda76[_0x3fe0d3(0x1d3)](_0x13cb97,_0x3fe0d3(0x212)),_0x1e1039=a0_0x3dda76['extractContent'](_0x13cb97,'timeout'),_0x36dc11=a0_0x3dda76['extractContent'](_0x13cb97,'async'),_0x719f1e=[];return _0x105d01['length']>0x0&&_0x719f1e['push']({'type':_0x3fe0d3(0x27f),'command':_0x105d01[0x0]['trim']()}),_0x11296[_0x3fe0d3(0x2bf)]>0x0&&_0x719f1e['push']({'type':'change-directory','directory':_0x11296[0x0]['trim']()}),_0x1e81be['length']>0x0&&_0x719f1e['push']({'type':_0x3fe0d3(0x247),'directory':_0x1e81be[0x0]['trim']()||'.'}),_0x24cf8a['length']>0x0&&_0x719f1e[_0x3fe0d3(0x294)]({'type':_0x3fe0d3(0x214),'directory':_0x24cf8a[0x0][_0x3fe0d3(0x245)]()}),_0x5d1b21[_0x3fe0d3(0x2bf)]>0x0&&_0x719f1e['push']({'type':'get-working-directory'}),_0x1ab9ab[_0x3fe0d3(0x2d4)]=_0x719f1e,_0x1e1039[_0x3fe0d3(0x2bf)]>0x0&&(_0x1ab9ab[_0x3fe0d3(0x24b)]=parseInt(_0x1e1039[0x0],0xa)),_0x36dc11[_0x3fe0d3(0x2bf)]>0x0&&(_0x1ab9ab[_0x3fe0d3(0x241)]=_0x36dc11[0x0]['toLowerCase']()===_0x3fe0d3(0x1a7)),_0x1ab9ab['rawContent']=_0x13cb97[_0x3fe0d3(0x245)](),_0x1ab9ab;}catch(_0x4f4d14){throw new Error(_0x3fe0d3(0x238)+_0x4f4d14['message']);}}[a0_0x577c68(0x2cd)](){const _0x4b0192=a0_0x577c68;return[_0x4b0192(0x2d4)];}['customValidateParameters'](_0x431f97){const _0x48b8f4=a0_0x577c68,_0xa89cef=[];if(!_0x431f97[_0x48b8f4(0x2d4)]||!Array['isArray'](_0x431f97[_0x48b8f4(0x2d4)])||_0x431f97['actions']['length']===0x0)_0xa89cef[_0x48b8f4(0x294)]('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x3e73b5,_0x394b90]of _0x431f97[_0x48b8f4(0x2d4)][_0x48b8f4(0x1be)]()){if(!_0x394b90[_0x48b8f4(0x2d2)]){_0xa89cef[_0x48b8f4(0x294)]('Action\x20'+(_0x3e73b5+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x394b90[_0x48b8f4(0x2d2)]){case _0x48b8f4(0x27f):if(!_0x394b90['command']||!_0x394b90[_0x48b8f4(0x276)][_0x48b8f4(0x245)]())_0xa89cef['push']('Action\x20'+(_0x3e73b5+0x1)+':\x20command\x20is\x20required\x20for\x20run-command');else{if(this[_0x48b8f4(0x21e)](_0x394b90[_0x48b8f4(0x276)]))_0xa89cef['push'](_0x48b8f4(0x1d2)+(_0x3e73b5+0x1)+_0x48b8f4(0x289)+_0x394b90['command']);else this[_0x48b8f4(0x2a8)]&&!this[_0x48b8f4(0x248)](_0x394b90['command'])&&_0xa89cef[_0x48b8f4(0x294)]('Action\x20'+(_0x3e73b5+0x1)+':\x20command\x20is\x20not\x20in\x20allowed\x20list:\x20'+_0x394b90[_0x48b8f4(0x276)]);}break;case'change-directory':case _0x48b8f4(0x247):case'create-directory':(!_0x394b90['directory']||!_0x394b90[_0x48b8f4(0x28a)]['trim']())&&_0xa89cef['push']('Action\x20'+(_0x3e73b5+0x1)+_0x48b8f4(0x2c8)+_0x394b90[_0x48b8f4(0x2d2)]);break;case'get-working-directory':break;default:_0xa89cef['push'](_0x48b8f4(0x1d2)+(_0x3e73b5+0x1)+_0x48b8f4(0x293)+_0x394b90[_0x48b8f4(0x2d2)]);}}return _0x431f97['timeout']&&(_0x431f97[_0x48b8f4(0x24b)]<0x3e8||_0x431f97['timeout']>this['timeout'])&&_0xa89cef['push']('Timeout\x20must\x20be\x20between\x201000\x20and\x20'+this[_0x48b8f4(0x24b)]+'\x20milliseconds'),{'valid':_0xa89cef[_0x48b8f4(0x2bf)]===0x0,'errors':_0xa89cef};}async['execute'](_0x37f7ac,_0x14c042){const _0x430c74=a0_0x577c68,{actions:_0x4970c0,timeout:_0x1d603a,async:_0x491133}=_0x37f7ac,{agentId:_0x243a72,projectDir:_0x38ae82,directoryAccess:_0x4b581a}=_0x14c042,_0x2c492f=_0x4b581a||this[_0x430c74(0x1f6)]['createDirectoryAccess']({'workingDirectory':_0x38ae82||process['cwd'](),'writeEnabledDirectories':[_0x38ae82||process[_0x430c74(0x1a1)]()],'restrictToProject':!![]});_0x4b581a&&_0x4b581a['workingDirectory']?console['log']('Terminal\x20DEBUG:\x20Using\x20agent\x20configured\x20working\x20directory:',_0x4b581a['workingDirectory']):console[_0x430c74(0x223)]('Terminal\x20DEBUG:\x20Using\x20fallback\x20working\x20directory:',_0x38ae82||process['cwd']());const _0x184e65=_0x243a72+'-'+(_0x38ae82||'default');let _0x21adad=this[_0x430c74(0x2e6)]['get'](_0x184e65)||this['directoryAccessManager']['getWorkingDirectory'](_0x2c492f);const _0x4a9eba=[];for(const _0x3064cd of _0x4970c0){try{let _0x16513f;switch(_0x3064cd[_0x430c74(0x2d2)]){case'run-command':_0x16513f=await this['executeCommand'](_0x3064cd[_0x430c74(0x276)],_0x21adad,{'timeout':_0x1d603a||this[_0x430c74(0x24b)],'async':_0x491133||![],'agentId':_0x243a72,'context':{'toolsRegistry':_0x14c042['toolsRegistry'],'aiService':_0x14c042[_0x430c74(0x25f)],'apiKey':_0x14c042['apiKey'],'customApiKeys':_0x14c042[_0x430c74(0x283)],'platformProvided':_0x14c042['platformProvided']}});break;case _0x430c74(0x2a6):_0x16513f=await this[_0x430c74(0x1f8)](_0x3064cd[_0x430c74(0x28a)],_0x21adad,_0x2c492f),_0x21adad=_0x16513f['newDirectory'],this[_0x430c74(0x2e6)][_0x430c74(0x1dd)](_0x184e65,_0x21adad);break;case _0x430c74(0x247):_0x16513f=await this['listDirectory'](_0x3064cd['directory']==='.'?_0x21adad:_0x3064cd[_0x430c74(0x28a)]);break;case _0x430c74(0x214):_0x16513f=await this['createDirectory'](_0x3064cd[_0x430c74(0x28a)],_0x21adad);break;case'get-working-directory':_0x16513f={'success':!![],'action':_0x430c74(0x212),'workingDirectory':_0x21adad,'message':'Current\x20working\x20directory:\x20'+_0x21adad};break;default:throw new Error(_0x430c74(0x270)+_0x3064cd[_0x430c74(0x2d2)]);}_0x4a9eba[_0x430c74(0x294)](_0x16513f),this[_0x430c74(0x2e7)](_0x3064cd,_0x16513f,_0x243a72);}catch(_0x392719){const _0x1d039e={'success':![],'action':_0x3064cd['type'],'error':_0x392719['message'],'command':_0x3064cd['command']||_0x3064cd[_0x430c74(0x28a)],'workingDirectory':_0x21adad};_0x4a9eba[_0x430c74(0x294)](_0x1d039e),this['addToHistory'](_0x3064cd,_0x1d039e,_0x243a72);}}const _0x13cf0f=_0x4a9eba['every'](_0x66b6a3=>_0x66b6a3['success']),_0x4e583a=_0x4a9eba['filter'](_0x189582=>!_0x189582['success']);return{'success':_0x13cf0f,'actions':_0x4a9eba,'workingDirectory':_0x21adad,'executedActions':_0x4970c0['length'],'failedActions':_0x4e583a['length'],'toolUsed':_0x430c74(0x1f9),'message':_0x13cf0f?_0x430c74(0x1d0)+_0x4970c0[_0x430c74(0x2bf)]+_0x430c74(0x26c):_0x4e583a[_0x430c74(0x2bf)]+'\x20of\x20'+_0x4970c0['length']+_0x430c74(0x2ad)};}async[a0_0x577c68(0x1bf)](_0x2d47ed,_0x5e6d35,_0x542c3f={}){const _0x1eb86a=a0_0x577c68,{timeout:timeout=this['timeout'],async:_0x302bde=![],agentId:_0x2f9271,context:_0x17c486}=_0x542c3f,_0x34cbcb=_0x2d47ed;let _0x5240f7;try{_0x5240f7=await this[_0x1eb86a(0x2cf)](_0x2d47ed,{'agentId':_0x2f9271,'toolsRegistry':_0x17c486?.['toolsRegistry'],'messageProcessor':_0x17c486?.['messageProcessor'],'aiService':_0x17c486?.[_0x1eb86a(0x25f)],'apiKey':_0x17c486?.[_0x1eb86a(0x1fb)],'customApiKeys':_0x17c486?.['customApiKeys'],'platformProvided':_0x17c486?.[_0x1eb86a(0x2ea)]});}catch(_0x58fde0){this[_0x1eb86a(0x1b1)]?.['warn'](_0x1eb86a(0x1d7),{'originalCommand':_0x34cbcb,'error':_0x58fde0[_0x1eb86a(0x22d)]}),_0x5240f7=_0x2d47ed;}return new Promise((_0x564f0d,_0x1b4ba2)=>{const _0x40282d=_0x1eb86a,_0x310ef1=Date[_0x40282d(0x1a4)]();this[_0x40282d(0x1b1)]?.[_0x40282d(0x2b0)](_0x40282d(0x2cc)+_0x5240f7,{'originalCommand':_0x34cbcb,'translatedCommand':_0x5240f7,'terminal':this['detectedTerminal'],'workingDirectory':_0x5e6d35,'timeout':timeout,'agentId':_0x2f9271});const _0xe78a6a=exec(_0x5240f7,{'cwd':_0x5e6d35,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process['env']}},(_0x32cdad,_0x5d40e9,_0x460b40)=>{const _0x45e81a=_0x40282d,_0x2fdde3=Date['now']()-_0x310ef1;if(_0x32cdad){this['logger']?.[_0x45e81a(0x1b4)]('Command\x20failed:\x20'+_0x5240f7,{'originalCommand':_0x34cbcb,'translatedCommand':_0x5240f7,'error':_0x32cdad[_0x45e81a(0x22d)],'workingDirectory':_0x5e6d35,'executionTime':_0x2fdde3}),_0x564f0d({'success':![],'action':'run-command','command':_0x34cbcb,'translatedCommand':_0x5240f7!==_0x34cbcb?_0x5240f7:undefined,'error':_0x32cdad['message'],'stderr':_0x460b40[_0x45e81a(0x245)](),'stdout':_0x5d40e9[_0x45e81a(0x245)](),'exitCode':_0x32cdad[_0x45e81a(0x231)],'executionTime':_0x2fdde3,'workingDirectory':_0x5e6d35});return;}this[_0x45e81a(0x1b1)]?.[_0x45e81a(0x2b0)](_0x45e81a(0x2d8)+_0x5240f7,{'originalCommand':_0x34cbcb,'translatedCommand':_0x5240f7,'executionTime':_0x2fdde3,'stdoutLength':_0x5d40e9['length'],'stderrLength':_0x460b40['length']}),_0x564f0d({'success':!![],'action':_0x45e81a(0x27f),'command':_0x34cbcb,'translatedCommand':_0x5240f7!==_0x34cbcb?_0x5240f7:undefined,'stdout':_0x5d40e9['trim'](),'stderr':_0x460b40['trim'](),'exitCode':0x0,'executionTime':_0x2fdde3,'workingDirectory':_0x5e6d35,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x2fdde3+'ms'});});setTimeout(()=>{const _0x580e1a=_0x40282d;!_0xe78a6a['killed']&&(_0xe78a6a['kill'](_0x580e1a(0x1ce)),_0x1b4ba2(new Error('Command\x20timed\x20out\x20after\x20'+timeout+_0x580e1a(0x2ce)+_0x5240f7+_0x580e1a(0x22b)+_0x34cbcb+')')));},timeout);});}async[a0_0x577c68(0x2b8)](_0x4e1395,_0x3aea32,_0x2e2f6c={}){const _0x39ba49=a0_0x577c68,{timeout:timeout=this[_0x39ba49(0x24b)],agentId:_0x1e2447,context:_0x47b3ec}=_0x2e2f6c,_0xb4fd68=_0x4e1395;let _0x2cac84;try{_0x2cac84=await this['translateCommand'](_0x4e1395,{'agentId':_0x1e2447,'toolsRegistry':_0x47b3ec?.[_0x39ba49(0x1f0)],'messageProcessor':_0x47b3ec?.[_0x39ba49(0x239)],'aiService':_0x47b3ec?.[_0x39ba49(0x25f)],'apiKey':_0x47b3ec?.['apiKey'],'customApiKeys':_0x47b3ec?.[_0x39ba49(0x283)],'platformProvided':_0x47b3ec?.[_0x39ba49(0x2ea)]});}catch(_0x47a849){this[_0x39ba49(0x1b1)]?.[_0x39ba49(0x2c5)](_0x39ba49(0x1d7),{'originalCommand':_0xb4fd68,'error':_0x47a849[_0x39ba49(0x22d)]}),_0x2cac84=_0x4e1395;}return new Promise((_0x89231c,_0x461091)=>{const _0x555fe8=_0x39ba49,_0x4e745e=Date[_0x555fe8(0x1a4)]();this[_0x555fe8(0x1b1)]?.[_0x555fe8(0x2b0)](_0x555fe8(0x2de)+_0x2cac84,{'originalCommand':_0xb4fd68,'translatedCommand':_0x2cac84,'terminal':this['detectedTerminal'],'workingDirectory':_0x3aea32,'timeout':timeout,'agentId':_0x1e2447});let _0x3b5b29;if(this[_0x555fe8(0x1ed)]==='cmd'||this[_0x555fe8(0x1ed)]==='powershell'){const _0x154ebd=this['detectedTerminal']==='powershell'?'powershell':'cmd',_0x2b4ecd=this[_0x555fe8(0x1ed)]==='powershell'?['-Command',_0x2cac84]:['/c',_0x2cac84];_0x3b5b29=spawn(_0x154ebd,_0x2b4ecd,{'cwd':_0x3aea32,'env':{...process['env']},'windowsHide':!![]});}else _0x3b5b29=spawn('sh',['-c',_0x2cac84],{'cwd':_0x3aea32,'env':{...process[_0x555fe8(0x220)]}});let _0x3376be='',_0x117e8e='',_0xef6b4c=![],_0x166998=null,_0x3bbc2d=Date[_0x555fe8(0x1a4)](),_0x1c087=null;const _0x40bdf6=setTimeout(()=>{const _0x239ebb=_0x555fe8;!_0x3b5b29['killed']&&_0x166998===null&&(_0xef6b4c=!![],this['logger']?.['warn']('Command\x20timed\x20out,\x20killing\x20process:\x20'+_0x2cac84,{'timeout':timeout,'agentId':_0x1e2447}),_0x3b5b29[_0x239ebb(0x2a3)](_0x239ebb(0x1ce)),setTimeout(()=>{const _0xead133=_0x239ebb;!_0x3b5b29[_0xead133(0x254)]&&_0x3b5b29[_0xead133(0x2a3)](_0xead133(0x2b7));},0x1388));},timeout);_0x3b5b29['stdout']['on']('data',_0x59f282=>{const _0x3be37b=_0x555fe8,_0x238465=_0x59f282['toString']();_0x3376be+=_0x238465,_0x3bbc2d=Date['now'](),this[_0x3be37b(0x1b1)]?.[_0x3be37b(0x202)]('Command\x20output\x20chunk:\x20'+_0x238465['substring'](0x0,0x64),{'agentId':_0x1e2447,'command':_0xb4fd68[_0x3be37b(0x2e4)](0x0,0x32)});if(!_0x1c087){const _0x36bf0d=this['promptDetector']['detectPrompt'](_0x3376be,'stdout');_0x36bf0d&&(_0x1c087=_0x36bf0d,this[_0x3be37b(0x1b1)]?.['info'](_0x3be37b(0x2b4),{'type':_0x36bf0d[_0x3be37b(0x2d2)],'description':_0x36bf0d['description'],'matchedText':_0x36bf0d[_0x3be37b(0x225)],'agentId':_0x1e2447,'command':_0xb4fd68[_0x3be37b(0x2e4)](0x0,0x32)}));}}),_0x3b5b29['stderr']['on']('data',_0x24b188=>{const _0x329bc7=_0x555fe8,_0x49968f=_0x24b188['toString']();_0x117e8e+=_0x49968f,_0x3bbc2d=Date[_0x329bc7(0x1a4)](),this[_0x329bc7(0x1b1)]?.['debug']('Command\x20error\x20chunk:\x20'+_0x49968f['substring'](0x0,0x64),{'agentId':_0x1e2447,'command':_0xb4fd68['substring'](0x0,0x32)});if(!_0x1c087){const _0x56b502=this[_0x329bc7(0x2df)]['detectPrompt'](_0x117e8e,_0x329bc7(0x260));_0x56b502&&(_0x1c087=_0x56b502,this['logger']?.[_0x329bc7(0x2b0)]('Prompt\x20detected\x20in\x20stderr',{'type':_0x56b502[_0x329bc7(0x2d2)],'description':_0x56b502[_0x329bc7(0x249)],'matchedText':_0x56b502[_0x329bc7(0x225)],'agentId':_0x1e2447,'command':_0xb4fd68['substring'](0x0,0x32)}));}}),_0x3b5b29['on'](_0x555fe8(0x2ae),(_0x41703f,_0x55d68c)=>{const _0x6f265=_0x555fe8;clearTimeout(_0x40bdf6),_0x166998=_0x41703f;const _0x48961a=Date[_0x6f265(0x1a4)]()-_0x4e745e,_0x353cc7=Date[_0x6f265(0x1a4)]()-_0x3bbc2d;this[_0x6f265(0x1b1)]?.[_0x6f265(0x2b0)](_0x6f265(0x20e)+_0x2cac84,{'exitCode':_0x41703f,'signal':_0x55d68c,'executionTime':_0x48961a,'timedOut':_0xef6b4c,'stdoutLength':_0x3376be['length'],'stderrLength':_0x117e8e['length'],'promptDetected':!!_0x1c087,'timeSinceLastOutput':_0x353cc7});const _0x8da60c={'action':'run-command','command':_0xb4fd68,'translatedCommand':_0x2cac84!==_0xb4fd68?_0x2cac84:undefined,'stdout':_0x3376be[_0x6f265(0x245)](),'stderr':_0x117e8e[_0x6f265(0x245)](),'exitCode':_0x41703f,'executionTime':_0x48961a,'workingDirectory':_0x3aea32,'promptDetected':!!_0x1c087,'promptInfo':_0x1c087||undefined,'lastOutputTime':_0x3bbc2d,'timeSinceLastOutput':_0x353cc7};if(_0xef6b4c){_0x89231c({..._0x8da60c,'success':![],'error':'Command\x20timed\x20out\x20after\x20'+timeout+'ms','exitCode':_0x41703f||-0x1,'timedOut':!![]});return;}if(_0x41703f!==0x0){this['logger']?.['error']('Command\x20failed\x20with\x20exit\x20code\x20'+_0x41703f+':\x20'+_0x2cac84,{'originalCommand':_0xb4fd68,'translatedCommand':_0x2cac84,'exitCode':_0x41703f,'stderr':_0x117e8e[_0x6f265(0x2e4)](0x0,0xc8),'executionTime':_0x48961a,'promptDetected':!!_0x1c087}),_0x89231c({..._0x8da60c,'success':![],'error':_0x6f265(0x237)+_0x41703f});return;}this[_0x6f265(0x1b1)]?.[_0x6f265(0x2b0)](_0x6f265(0x19f)+_0x2cac84,{'originalCommand':_0xb4fd68,'executionTime':_0x48961a,'stdoutLength':_0x3376be[_0x6f265(0x2bf)],'stderrLength':_0x117e8e['length'],'promptDetected':!!_0x1c087}),_0x89231c({..._0x8da60c,'success':!![],'exitCode':0x0,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x48961a+'ms'});}),_0x3b5b29['on']('error',_0x165ef7=>{const _0x449d54=_0x555fe8;clearTimeout(_0x40bdf6);const _0x26433c=Date['now']()-_0x4e745e,_0x578342=Date['now']()-_0x3bbc2d;this[_0x449d54(0x1b1)]?.['error']('Command\x20spawn\x20error:\x20'+_0x2cac84,{'originalCommand':_0xb4fd68,'error':_0x165ef7[_0x449d54(0x22d)],'executionTime':_0x26433c,'promptDetected':!!_0x1c087}),_0x89231c({'success':![],'action':'run-command','command':_0xb4fd68,'translatedCommand':_0x2cac84!==_0xb4fd68?_0x2cac84:undefined,'error':_0x165ef7[_0x449d54(0x22d)],'stderr':_0x117e8e[_0x449d54(0x245)](),'stdout':_0x3376be[_0x449d54(0x245)](),'exitCode':-0x1,'executionTime':_0x26433c,'workingDirectory':_0x3aea32,'promptDetected':!!_0x1c087,'promptInfo':_0x1c087||undefined,'lastOutputTime':_0x3bbc2d,'timeSinceLastOutput':_0x578342});});});}async[a0_0x577c68(0x1f8)](_0xce7733,_0x1acc04,_0x5c3b37){const _0x471282=a0_0x577c68;try{let _0x5cfb2e;a0_0x4aff06[_0x471282(0x1c3)](_0xce7733)?_0x5cfb2e=_0xce7733:_0x5cfb2e=a0_0x4aff06['resolve'](_0x1acc04,_0xce7733);const _0x24402e=await a0_0x40d079[_0x471282(0x2ed)](_0x5cfb2e);if(!_0x24402e[_0x471282(0x219)]())throw new Error('Not\x20a\x20directory:\x20'+_0x5cfb2e);const _0x3d8ffb=this['directoryAccessManager']['validateReadAccess'](_0x5cfb2e,_0x5c3b37);if(!_0x3d8ffb[_0x471282(0x2af)]){this['logger']?.['warn'](_0x471282(0x281)+_0x3d8ffb[_0x471282(0x2ba)],{'targetDirectory':_0x5cfb2e,'reason':_0x3d8ffb[_0x471282(0x2ba)],'category':_0x3d8ffb[_0x471282(0x1e3)]});throw new Error(_0x471282(0x1c4)+_0x3d8ffb['reason']);}return{'success':!![],'action':_0x471282(0x2a6),'previousDirectory':_0x1acc04,'newDirectory':_0x5cfb2e,'message':'Changed\x20directory\x20to\x20'+_0x5cfb2e};}catch(_0x47a47c){throw new Error('Failed\x20to\x20change\x20directory\x20to\x20'+_0xce7733+':\x20'+_0x47a47c[_0x471282(0x22d)]);}}async['listDirectory'](_0x59b753){const _0x12f02a=a0_0x577c68;try{const _0x201f09=await a0_0x40d079['readdir'](_0x59b753,{'withFileTypes':!![]}),_0x94c997=_0x201f09['map'](_0x2509e5=>({'name':_0x2509e5[_0x12f02a(0x287)],'type':_0x2509e5[_0x12f02a(0x219)]()?'directory':_0x12f02a(0x1b0),'isSymlink':_0x2509e5[_0x12f02a(0x1f1)]()}));return{'success':!![],'action':_0x12f02a(0x247),'directory':_0x59b753,'contents':_0x94c997,'totalItems':_0x94c997[_0x12f02a(0x2bf)],'directories':_0x94c997['filter'](_0x76c7ee=>_0x76c7ee['type']===_0x12f02a(0x28a))[_0x12f02a(0x2bf)],'files':_0x94c997['filter'](_0x446670=>_0x446670[_0x12f02a(0x2d2)]==='file')[_0x12f02a(0x2bf)],'message':'Listed\x20'+_0x94c997['length']+_0x12f02a(0x235)+_0x59b753};}catch(_0x176fed){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0x59b753+':\x20'+_0x176fed['message']);}}async[a0_0x577c68(0x28f)](_0x547031,_0x410af9){const _0x337264=a0_0x577c68;try{let _0x4e45fb;return a0_0x4aff06[_0x337264(0x1c3)](_0x547031)?_0x4e45fb=_0x547031:_0x4e45fb=a0_0x4aff06['resolve'](_0x410af9,_0x547031),await a0_0x40d079['mkdir'](_0x4e45fb,{'recursive':!![]}),{'success':!![],'action':_0x337264(0x214),'directory':_0x4e45fb,'relativePath':a0_0x4aff06['relative'](_0x410af9,_0x4e45fb),'message':'Created\x20directory:\x20'+_0x4e45fb};}catch(_0x91e511){throw new Error(_0x337264(0x1e6)+_0x547031+':\x20'+_0x91e511[_0x337264(0x22d)]);}}['isBlockedCommand'](_0x53078b){const _0x29bc41=a0_0x577c68,_0x575cae=_0x53078b[_0x29bc41(0x279)]()[_0x29bc41(0x245)]();return this['blockedCommands']['some'](_0x3f2bcb=>{const _0x40b0df=_0x29bc41,_0x24a3bf=_0x3f2bcb[_0x40b0df(0x279)]();return _0x575cae===_0x24a3bf||_0x575cae['startsWith'](_0x24a3bf+'\x20');});}[a0_0x577c68(0x248)](_0x3fd4e7){const _0x3e285f=a0_0x577c68;if(!this[_0x3e285f(0x2a8)])return!![];const _0x1dfb43=_0x3fd4e7['toLowerCase']()['trim'](),_0x1d3aec=_0x1dfb43[_0x3e285f(0x1e9)]('\x20')[0x0];return this['allowedCommands']['some'](_0x32d74f=>_0x32d74f[_0x3e285f(0x279)]()===_0x1d3aec||_0x1dfb43['startsWith'](_0x32d74f[_0x3e285f(0x279)]()+'\x20'));}['addToHistory'](_0x4d8400,_0xa2de83,_0x3c1d34){const _0x1a49d1=a0_0x577c68,_0x4c167f={'timestamp':new Date()['toISOString'](),'agentId':_0x3c1d34,'action':_0x4d8400['type'],'command':_0x4d8400['command']||_0x4d8400[_0x1a49d1(0x28a)],'success':_0xa2de83['success'],'executionTime':_0xa2de83['executionTime']||0x0,'workingDirectory':_0xa2de83['workingDirectory']};this[_0x1a49d1(0x29b)][_0x1a49d1(0x294)](_0x4c167f),this['commandHistory']['length']>0x64&&(this['commandHistory']=this[_0x1a49d1(0x29b)][_0x1a49d1(0x28e)](-0x64));}[a0_0x577c68(0x1e1)](){const _0x5622bb=a0_0x577c68;return[_0x5622bb(0x27f),_0x5622bb(0x2a6),_0x5622bb(0x247),'create-directory',_0x5622bb(0x212)];}['getParameterSchema'](){const _0x2dadc3=a0_0x577c68;return{'type':_0x2dadc3(0x267),'properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':_0x2dadc3(0x267),'properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'command':{'type':'string'},'directory':{'type':'string'}},'required':[_0x2dadc3(0x2d2)]}},'timeout':{'type':'integer','minimum':0x3e8,'maximum':this['timeout']},'async':{'type':'boolean'}},'required':['actions']};}[a0_0x577c68(0x2b3)](_0x2a599c=null){if(_0x2a599c)return this['commandHistory']['filter'](_0x4bcf8f=>_0x4bcf8f['agentId']===_0x2a599c);return[...this['commandHistory']];}['clearWorkingDirectory'](_0x4178dd){const _0x462df2=a0_0x577c68;for(const [_0x3e59b2]of this['workingDirectories']){_0x3e59b2['startsWith'](_0x4178dd+'-')&&this[_0x462df2(0x2e6)][_0x462df2(0x1c1)](_0x3e59b2);}}[a0_0x577c68(0x1aa)](_0x57c48c,_0x5c260d=null){const _0x497ee2=a0_0x577c68,_0x6c27d=_0x57c48c+'-'+(_0x5c260d||'default');return this[_0x497ee2(0x2e6)][_0x497ee2(0x25c)](_0x6c27d)||_0x5c260d||process[_0x497ee2(0x1a1)]();}[a0_0x577c68(0x2d9)](){const _0x5eb77b=a0_0x577c68;this['platformType']=process['platform'];if(process['platform']==='win32'){if(process[_0x5eb77b(0x220)]['PSModulePath'])this[_0x5eb77b(0x1ed)]=_0x5eb77b(0x2b6);else process[_0x5eb77b(0x220)]['SHELL']&&process[_0x5eb77b(0x220)]['SHELL']['includes']('bash')?this[_0x5eb77b(0x1ed)]='bash':this[_0x5eb77b(0x1ed)]=_0x5eb77b(0x26b);}else process['platform']==='darwin'?this['detectedTerminal']=_0x5eb77b(0x28c):this[_0x5eb77b(0x1ed)]=_0x5eb77b(0x28c);this[_0x5eb77b(0x1b1)]?.['info'](_0x5eb77b(0x1db),{'platform':this['platformType'],'terminal':this['detectedTerminal'],'shell':process['env'][_0x5eb77b(0x26d)]});}async['translateCommand'](_0x3aab38,_0x49e623={}){const _0xcec511=a0_0x577c68,_0x26b49c=_0x3aab38['trim'](),_0x215a54=this['analyzeCommandCompatibility'](_0x26b49c);this[_0xcec511(0x1b1)]?.['info'](_0xcec511(0x22c),{'command':_0x26b49c,'detectedTerminal':_0x215a54[_0xcec511(0x1ed)],'commandType':_0x215a54[_0xcec511(0x2da)],'commandCategory':_0x215a54[_0xcec511(0x200)],'compatible':_0x215a54[_0xcec511(0x2a1)],'issues':_0x215a54['specificIssues'],'suggestedAction':_0x215a54['suggestedAction'],'confidence':_0x215a54[_0xcec511(0x2d7)]});if(_0x215a54[_0xcec511(0x2a1)])return _0x3aab38;let _0x3f171f=null;if(this[_0xcec511(0x1ed)]==='cmd')_0x3f171f=this['translateToWindowsCmd'](_0x26b49c);else{if(this[_0xcec511(0x1ed)]==='powershell')_0x3f171f=this[_0xcec511(0x215)](_0x26b49c);else this['detectedTerminal']===_0xcec511(0x28c)&&(_0x3f171f=this['translateToBash'](_0x26b49c));}if(_0x3f171f&&this['isSimpleCommand'](_0x26b49c))return this[_0xcec511(0x1b1)]?.['info']('Using\x20simple\x20translation',{'original':_0x3aab38,'translated':_0x3f171f,'method':_0xcec511(0x255)}),_0x3f171f;if(_0x49e623['aiService']||_0x49e623['toolsRegistry']&&_0x49e623['agentId']){this['logger']?.['info']('Attempting\x20AI\x20translation\x20for\x20complex\x20command',{'command':_0x3aab38['substring'](0x0,0x64)+'...','hasAiService':!!_0x49e623['aiService'],'hasToolsRegistry':!!_0x49e623['toolsRegistry'],'agentId':_0x49e623['agentId']});try{const _0xc9ded8=await this[_0xcec511(0x1fc)](_0x3aab38,_0x49e623);if(_0xc9ded8&&_0xc9ded8[_0xcec511(0x245)]()!==_0x3aab38[_0xcec511(0x245)]())return this['logger']?.[_0xcec511(0x2b0)]('Using\x20AI\x20translation',{'original':_0x3aab38,'translated':_0xc9ded8,'method':'ai'}),_0xc9ded8;else this['logger']?.[_0xcec511(0x2c5)](_0xcec511(0x290),{'original':_0x3aab38,'translated':_0xc9ded8});}catch(_0x2b5dce){this[_0xcec511(0x1b1)]?.['warn'](_0xcec511(0x2c1),{'original':_0x3aab38,'error':_0x2b5dce['message'],'stack':_0x2b5dce['stack']});}}else this[_0xcec511(0x1b1)]?.['warn'](_0xcec511(0x259),{'hasAiService':!!_0x49e623[_0xcec511(0x25f)],'hasToolsRegistry':!!_0x49e623[_0xcec511(0x1f0)],'hasAgentId':!!_0x49e623[_0xcec511(0x1e4)],'contextKeys':Object[_0xcec511(0x22e)](_0x49e623)});return _0x3f171f||_0x3aab38;}['isSimpleCommand'](_0x3d73df){const _0x3766ee=a0_0x577c68,_0x5d0106=_0x3d73df[_0x3766ee(0x279)]();if(_0x3d73df[_0x3766ee(0x285)]('\x5cn')||_0x3d73df[_0x3766ee(0x285)]('\x5cr')||_0x3d73df['includes']('\x5ct'))return![];if(_0x3d73df[_0x3766ee(0x285)]('\x0a')||_0x3d73df['includes']('\x0d'))return![];if(_0x3d73df['includes']('#include')||_0x3d73df['includes']('printf')||_0x3d73df['includes']('main()'))return![];if(_0x3d73df['includes']('def\x20')||_0x3d73df[_0x3766ee(0x285)]('function\x20')||_0x3d73df['includes']('class\x20'))return![];if(_0x3d73df[_0x3766ee(0x285)]('echo\x20\x27')&&!_0x3d73df['includes']('echo\x20\x22'))return![];const _0x7cb414=_0x3d73df[_0x3766ee(0x291)](/'([^']*)'/);if(_0x7cb414&&_0x7cb414[0x1]['length']>0x32)return![];if(this['detectedTerminal']===_0x3766ee(0x26b)&&_0x3d73df[_0x3766ee(0x285)]('>')&&_0x3d73df['includes']('/')&&!_0x3d73df[_0x3766ee(0x285)]('\x5c'))return![];if(_0x3d73df['includes'](_0x3766ee(0x1f5))||_0x3d73df[_0x3766ee(0x285)](_0x3766ee(0x2c3))||_0x3d73df['includes'](';\x20'))return![];if(_0x3d73df['includes']('$(')||_0x3d73df[_0x3766ee(0x285)]('`')||_0x3d73df['includes']('{')||_0x3d73df['includes']('['))return![];if(_0x5d0106[_0x3766ee(0x285)]('for\x20')||_0x5d0106['includes']('while\x20')||_0x5d0106[_0x3766ee(0x285)]('if\x20'))return![];if(_0x5d0106[_0x3766ee(0x285)]('export ')||_0x5d0106[_0x3766ee(0x285)]('source\x20'))return![];if(_0x3d73df['includes'](_0x3766ee(0x1ef))||_0x3d73df['includes'](_0x3766ee(0x209)))return![];return!![];}async[a0_0x577c68(0x1fc)](_0x4f166a,_0x2c86df){const _0x4a60ef=a0_0x577c68;let _0x536b9b=_0x2c86df['aiService'];if(!_0x536b9b&&_0x2c86df['toolsRegistry']&&_0x2c86df[_0x4a60ef(0x1e4)]){const _0x3207af=_0x2c86df[_0x4a60ef(0x239)];_0x3207af&&_0x3207af[_0x4a60ef(0x25f)]&&(_0x536b9b=_0x3207af['aiService']);}if(!_0x536b9b)throw new Error(_0x4a60ef(0x221));const _0x4ffffb=this[_0x4a60ef(0x256)](_0x4f166a),_0x2559af=_0x4a60ef(0x264);try{const _0x353ed6=await _0x536b9b['sendMessage'](_0x2559af,_0x4ffffb,{'agentId':_0x2c86df[_0x4a60ef(0x1e4)],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x2c86df['apiKey'],'customApiKeys':_0x2c86df['customApiKeys'],'platformProvided':_0x2c86df['platformProvided']}),_0x453668=this['extractTranslatedCommand'](_0x353ed6['content']);return this['logger']?.[_0x4a60ef(0x202)](_0x4a60ef(0x23d),{'original':_0x4f166a,'translated':_0x453668,'model':_0x2559af,'terminal':this['detectedTerminal']}),_0x453668;}catch(_0x13a3c8){this['logger']?.[_0x4a60ef(0x1b4)](_0x4a60ef(0x2cb),{'command':_0x4f166a,'terminal':this['detectedTerminal'],'error':_0x13a3c8[_0x4a60ef(0x22d)]});throw _0x13a3c8;}}[a0_0x577c68(0x256)](_0xb410c9){const _0x429aad=a0_0x577c68,_0x2bc4a4={'cmd':_0x429aad(0x26e),'powershell':'Windows\x20PowerShell','bash':'Bash\x20shell\x20(Linux/Unix/macOS)'},_0x16b266=_0x2bc4a4[this['detectedTerminal']]||this['detectedTerminal'],_0x14dfee=this['analyzeCommandCompatibility'](_0xb410c9);let _0x3dbb33='Translate\x20this\x20command\x20to\x20work\x20correctly\x20in\x20'+_0x16b266+_0x429aad(0x1b8)+_0xb410c9+_0x429aad(0x27d)+_0x14dfee[_0x429aad(0x2da)]+_0x429aad(0x1c7)+_0x14dfee['commandCategory']+_0x429aad(0x2c7)+_0x16b266+'\x0a-\x20Compatibility\x20Issues:\x20'+(_0x14dfee['specificIssues']['join'](',\x20')||_0x429aad(0x282));return _0x14dfee['commandType']===_0x429aad(0x228)&&_0x14dfee[_0x429aad(0x208)]&&_0x14dfee['alternatives'][this['detectedTerminal']]&&(_0x3dbb33+='\x0a-\x20Suggested\x20Alternative:\x20'+_0x14dfee['alternatives'][this[_0x429aad(0x1ed)]]),_0x3dbb33+=_0x429aad(0x1fa)+_0x16b266+_0x429aad(0x2e1),_0x3dbb33;}[a0_0x577c68(0x1ff)](_0x143f97){const _0x29f128=a0_0x577c68;let _0x4723eb=_0x143f97[_0x29f128(0x20b)](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x4723eb=_0x4723eb['replace'](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x54a934=_0x4723eb[_0x29f128(0x245)]()['split']('\x0a');return _0x54a934['length']>0x1&&!_0x4723eb['includes']('&&')&&!_0x4723eb['includes']('||')&&(_0x4723eb=_0x54a934[0x0][_0x29f128(0x245)]()),_0x4723eb['trim']();}[a0_0x577c68(0x206)](_0x5c1749){const _0xa442c2=a0_0x577c68,_0x55ec42=this[_0xa442c2(0x2d3)](_0x5c1749),_0x21791a=this[_0xa442c2(0x201)](_0x55ec42,this[_0xa442c2(0x1ed)]);return{'compatible':_0x21791a,'detectedTerminal':this[_0xa442c2(0x1ed)],'commandType':_0x55ec42[_0xa442c2(0x2d2)],'commandCategory':_0x55ec42['category'],'specificIssues':_0x55ec42[_0xa442c2(0x1c5)],'suggestedAction':_0x21791a?_0xa442c2(0x297):_0xa442c2(0x265),'confidence':_0x55ec42['confidence']};}[a0_0x577c68(0x1df)](_0x1f0781){const _0x5af041=a0_0x577c68;return this['analyzeCommandCompatibility'](_0x1f0781)[_0x5af041(0x2a1)];}['classifyCommand'](_0x3ec240){const _0x3cdace=a0_0x577c68,_0x1a3324=_0x3ec240[_0x3cdace(0x279)]()['trim'](),_0x2bc32c=_0x1a3324[_0x3cdace(0x1e9)]('\x20')[0x0],_0x24df22=[];let _0x26cebc=0.9;const _0x276ee8={'ls':{'category':'file-listing','alternatives':{'cmd':'dir','powershell':_0x3cdace(0x2b9)}},'cat':{'category':_0x3cdace(0x229),'alternatives':{'cmd':'type','powershell':_0x3cdace(0x23a)}},'grep':{'category':'text-search','alternatives':{'cmd':_0x3cdace(0x2bd),'powershell':'Select-String'}},'find':{'category':_0x3cdace(0x28d),'alternatives':{'cmd':'dir\x20/s','powershell':'Get-ChildItem\x20-Recurse'}},'head':{'category':'file-viewing','alternatives':{'cmd':_0x3cdace(0x1de),'powershell':'Get-Content\x20-Head'}},'tail':{'category':_0x3cdace(0x229),'alternatives':{'cmd':_0x3cdace(0x1ee),'powershell':'Get-Content\x20-Tail'}},'wc':{'category':'text-analysis','alternatives':{'cmd':_0x3cdace(0x2b2),'powershell':_0x3cdace(0x1a8)}},'cp':{'category':_0x3cdace(0x278),'alternatives':{'cmd':_0x3cdace(0x295),'powershell':'Copy-Item'}},'mv':{'category':_0x3cdace(0x1a3),'alternatives':{'cmd':'move','powershell':'Move-Item'}},'rm':{'category':_0x3cdace(0x234),'alternatives':{'cmd':'del','powershell':'Remove-Item'}},'mkdir':{'category':'directory-create','alternatives':{'cmd':'mkdir','powershell':_0x3cdace(0x207)}},'rmdir':{'category':_0x3cdace(0x24a),'alternatives':{'cmd':'rmdir','powershell':'Remove-Item'}},'touch':{'category':'file-create','alternatives':{'cmd':_0x3cdace(0x277),'powershell':_0x3cdace(0x2a7)}},'chmod':{'category':'permissions','alternatives':{'cmd':'icacls','powershell':_0x3cdace(0x296)}},'chown':{'category':_0x3cdace(0x22a),'alternatives':{'cmd':'takeown','powershell':_0x3cdace(0x296)}},'ps':{'category':'process-list','alternatives':{'cmd':'tasklist','powershell':_0x3cdace(0x27e)}},'kill':{'category':_0x3cdace(0x1a9),'alternatives':{'cmd':_0x3cdace(0x27c),'powershell':'Stop-Process'}},'killall':{'category':_0x3cdace(0x1a9),'alternatives':{'cmd':_0x3cdace(0x240),'powershell':_0x3cdace(0x1d8)}},'top':{'category':_0x3cdace(0x2ab),'alternatives':{'cmd':_0x3cdace(0x22f),'powershell':_0x3cdace(0x1b5)}},'wget':{'category':_0x3cdace(0x2d5),'alternatives':{'cmd':'curl','powershell':_0x3cdace(0x263)}},'curl':{'category':_0x3cdace(0x2a0),'alternatives':{'cmd':_0x3cdace(0x268),'powershell':_0x3cdace(0x24e)}},'ping':{'category':'network-test','alternatives':{'cmd':'ping','powershell':_0x3cdace(0x262)}},'awk':{'category':_0x3cdace(0x2b5),'alternatives':{'cmd':_0x3cdace(0x1a2),'powershell':_0x3cdace(0x1f3)}},'sed':{'category':_0x3cdace(0x29a),'alternatives':{'cmd':_0x3cdace(0x2d1),'powershell':_0x3cdace(0x204)}},'sort':{'category':'text-sort','alternatives':{'cmd':_0x3cdace(0x2b1),'powershell':_0x3cdace(0x1a0)}},'uniq':{'category':'text-dedupe','alternatives':{'cmd':'sort\x20/unique','powershell':_0x3cdace(0x1bb)}},'pwd':{'category':'directory-current','alternatives':{'cmd':'cd','powershell':'Get-Location'}},'whoami':{'category':_0x3cdace(0x203),'alternatives':{'cmd':_0x3cdace(0x243),'powershell':'whoami'}},'env':{'category':'environment','alternatives':{'cmd':_0x3cdace(0x1dd),'powershell':_0x3cdace(0x1fd)}},'export':{'category':'environment','alternatives':{'cmd':_0x3cdace(0x1dd),'powershell':_0x3cdace(0x25e)}},'source':{'category':_0x3cdace(0x1b6),'alternatives':{'cmd':_0x3cdace(0x20c),'powershell':'.\x20'}},'tar':{'category':_0x3cdace(0x2c6),'alternatives':{'cmd':'7z','powershell':'Compress-Archive'}},'zip':{'category':'archive','alternatives':{'cmd':_0x3cdace(0x211),'powershell':'Compress-Archive'}},'unzip':{'category':_0x3cdace(0x2c6),'alternatives':{'cmd':'powershell\x20Expand-Archive','powershell':'Expand-Archive'}},'df':{'category':'disk-info','alternatives':{'cmd':'fsutil\x20volume\x20diskfree','powershell':_0x3cdace(0x2ee)}},'du':{'category':'disk-usage','alternatives':{'cmd':_0x3cdace(0x2e0),'powershell':_0x3cdace(0x210)}},'free':{'category':'memory-info','alternatives':{'cmd':_0x3cdace(0x1ae),'powershell':_0x3cdace(0x24f)}},'uname':{'category':_0x3cdace(0x1da),'alternatives':{'cmd':'systeminfo','powershell':'Get-ComputerInfo'}}},_0x3281c3={'dir':{'category':'file-listing','alternatives':{'unix':'ls','powershell':_0x3cdace(0x2b9)}},'type':{'category':'file-viewing','alternatives':{'unix':'cat','powershell':'Get-Content'}},'copy':{'category':_0x3cdace(0x278),'alternatives':{'unix':'cp','powershell':'Copy-Item'}},'move':{'category':_0x3cdace(0x1a3),'alternatives':{'unix':'mv','powershell':'Move-Item'}},'del':{'category':'file-delete','alternatives':{'unix':'rm','powershell':_0x3cdace(0x217)}},'tasklist':{'category':_0x3cdace(0x288),'alternatives':{'unix':'ps','powershell':_0x3cdace(0x27e)}},'taskkill':{'category':_0x3cdace(0x1a9),'alternatives':{'unix':_0x3cdace(0x2a3),'powershell':_0x3cdace(0x23c)}},'findstr':{'category':'text-search','alternatives':{'unix':_0x3cdace(0x28b),'powershell':'Select-String'}}},_0x3e0f0e={'get-childitem':{'category':_0x3cdace(0x1e8),'alternatives':{'unix':'ls','cmd':_0x3cdace(0x286)}},'get-content':{'category':'file-viewing','alternatives':{'unix':_0x3cdace(0x236),'cmd':_0x3cdace(0x2d2)}},'copy-item':{'category':'file-copy','alternatives':{'unix':'cp','cmd':'copy'}},'move-item':{'category':_0x3cdace(0x1a3),'alternatives':{'unix':'mv','cmd':_0x3cdace(0x227)}},'remove-item':{'category':'file-delete','alternatives':{'unix':'rm','cmd':_0x3cdace(0x2eb)}},'get-process':{'category':'process-list','alternatives':{'unix':'ps','cmd':'tasklist'}},'stop-process':{'category':_0x3cdace(0x1a9),'alternatives':{'unix':_0x3cdace(0x2a3),'cmd':_0x3cdace(0x27c)}}};let _0x3e3d7b=_0x3cdace(0x205),_0x37c5da=_0x3cdace(0x205),_0x11a6e7={};if(_0x276ee8[_0x2bc32c])_0x3e3d7b='unix',_0x37c5da=_0x276ee8[_0x2bc32c][_0x3cdace(0x1e3)],_0x11a6e7=_0x276ee8[_0x2bc32c]['alternatives'];else{if(_0x3281c3[_0x2bc32c])_0x3e3d7b=_0x3cdace(0x2e9),_0x37c5da=_0x3281c3[_0x2bc32c]['category'],_0x11a6e7=_0x3281c3[_0x2bc32c][_0x3cdace(0x208)];else{if(_0x3e0f0e[_0x2bc32c])_0x3e3d7b='powershell',_0x37c5da=_0x3e0f0e[_0x2bc32c][_0x3cdace(0x1e3)],_0x11a6e7=_0x3e0f0e[_0x2bc32c][_0x3cdace(0x208)];else{const _0x1f3c89=[_0x3cdace(0x258),'cd','exit',_0x3cdace(0x1f4)];_0x1f3c89[_0x3cdace(0x285)](_0x2bc32c)?(_0x3e3d7b='universal',_0x37c5da=_0x3cdace(0x2ac)):(_0x3e3d7b='unknown',_0x26cebc=0.3);}}}return _0x3ec240[_0x3cdace(0x285)]('\x27')&&!_0x3ec240['includes']('\x22')&&_0x24df22['push']('single-quotes-problematic'),_0x3ec240['includes']('/')&&!_0x3ec240[_0x3cdace(0x285)]('\x5c')&&!_0x3ec240['includes']('http')&&_0x3ec240[_0x3cdace(0x285)]('>')&&_0x24df22['push']('unix-style-paths'),(_0x3ec240[_0x3cdace(0x285)]('\x5cn')||_0x3ec240['includes']('\x5ct'))&&_0x24df22['push'](_0x3cdace(0x2dd)),(_0x3ec240['includes']('\x20&&\x20')||_0x3ec240['includes'](_0x3cdace(0x2c3))||_0x3ec240[_0x3cdace(0x285)](';'))&&_0x24df22[_0x3cdace(0x294)](_0x3cdace(0x1c9)),{'type':_0x3e3d7b,'category':_0x37c5da,'alternatives':_0x11a6e7,'issues':_0x24df22,'confidence':_0x26cebc,'firstWord':_0x2bc32c,'fullCommand':_0x3ec240};}['isCommandCompatibleWithTerminal'](_0x4a0a61,_0xcc31c2){const _0x1469fb=a0_0x577c68;switch(_0xcc31c2){case'cmd':if(_0x4a0a61[_0x1469fb(0x2d2)]===_0x1469fb(0x228))return![];if(_0x4a0a61['issues'][_0x1469fb(0x285)]('single-quotes-problematic'))return![];if(_0x4a0a61['issues']['includes']('unix-style-paths'))return![];return _0x4a0a61['type']===_0x1469fb(0x2e9)||_0x4a0a61[_0x1469fb(0x2d2)]===_0x1469fb(0x1d5);case'powershell':if(_0x4a0a61['type']==='unix'&&!_0x4a0a61[_0x1469fb(0x208)][_0x1469fb(0x2b6)])return![];return!![];case'bash':if(_0x4a0a61[_0x1469fb(0x2d2)]==='windows-cmd')return![];return _0x4a0a61[_0x1469fb(0x2d2)]==='unix'||_0x4a0a61[_0x1469fb(0x2d2)]==='universal';default:return![];}}[a0_0x577c68(0x21d)](_0x248054){const _0x4d92d5=a0_0x577c68;let _0x180e95=_0x248054;const _0x4642b8=new Map([[/^ls\s*$/,'dir'],[/^ls\s+-la?$/,'dir'],[/^ls\s+-l$/,_0x4d92d5(0x286)],[/^ls\s+-a$/,'dir\x20/a'],[/^cat\s+(.+)$/,'type\x20$1'],[/^cp\s+(.+)\s+(.+)$/,_0x4d92d5(0x1c2)],[/^mv\s+(.+)\s+(.+)$/,_0x4d92d5(0x1ba)],[/^rm\s+(.+)$/,'del\x20$1'],[/^mkdir\s+(.+)$/,'mkdir\x20$1'],[/^rmdir\s+(.+)$/,'rmdir\x20$1'],[/^ps\s*$/,_0x4d92d5(0x22f)],[/^kill\s+(.+)$/,'taskkill\x20/PID\x20$1'],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,_0x4d92d5(0x243)],[/^ping\s+(.+)$/,_0x4d92d5(0x21f)],[/^wget\s+(.+)$/,'curl\x20-O\x20$1'],[/^curl\s+(.+)$/,_0x4d92d5(0x299)]]);for(const [_0x4daf86,_0x45c558]of _0x4642b8){if(_0x4daf86[_0x4d92d5(0x1b2)](_0x180e95)){_0x180e95=_0x180e95['replace'](_0x4daf86,_0x45c558);break;}}_0x180e95=_0x180e95['replace'](/echo\s+'([^']+)'\s*>/g,'echo\x20\x22$1\x22\x20>'),_0x180e95=_0x180e95[_0x4d92d5(0x20b)](/echo\s+'([^']+)'$/g,_0x4d92d5(0x25a));if(_0x180e95['includes'](_0x4d92d5(0x224))&&_0x180e95['includes']('\x5cn')){const _0x1fbbea=_0x180e95[_0x4d92d5(0x291)](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0x1fbbea){const _0x441e6b=_0x1fbbea[0x1]['replace'](/\\n/g,'\x0a'),_0x408459=_0x1fbbea[0x2],_0x422132=_0x441e6b[_0x4d92d5(0x1e9)]('\x0a');_0x180e95='('+_0x422132[_0x4d92d5(0x27a)](_0x277a45=>_0x4d92d5(0x272)+_0x277a45)[_0x4d92d5(0x216)](_0x4d92d5(0x257))+_0x4d92d5(0x250)+_0x408459;}}return this[_0x4d92d5(0x1b1)]?.[_0x4d92d5(0x2b0)](_0x4d92d5(0x284),{'original':_0x248054,'translated':_0x180e95}),_0x180e95;}['translateToPowerShell'](_0x128d33){const _0x2a7a3a=a0_0x577c68;let _0x5ec9d0=_0x128d33;const _0x1bc726=new Map([[/^ls\s*$/,_0x2a7a3a(0x2b9)],[/^ls\s+-la?$/,'Get-ChildItem\x20-Force'],[/^cat\s+(.+)$/,_0x2a7a3a(0x266)],[/^cp\s+(.+)\s+(.+)$/,'Copy-Item\x20$1\x20$2'],[/^mv\s+(.+)\s+(.+)$/,_0x2a7a3a(0x275)],[/^rm\s+(.+)$/,'Remove-Item\x20$1'],[/^pwd\s*$/,'Get-Location'],[/^ps\s*$/,_0x2a7a3a(0x27e)]]);for(const [_0x37058e,_0x474448]of _0x1bc726){if(_0x37058e['test'](_0x5ec9d0)){_0x5ec9d0=_0x5ec9d0[_0x2a7a3a(0x20b)](_0x37058e,_0x474448);break;}}return this[_0x2a7a3a(0x1b1)]?.[_0x2a7a3a(0x2b0)](_0x2a7a3a(0x19e),{'original':_0x128d33,'translated':_0x5ec9d0}),_0x5ec9d0;}['translateToBash'](_0x40829f){const _0x409d37=a0_0x577c68;let _0x431041=_0x40829f;const _0x515229=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,_0x409d37(0x1cc)],[/^type\s+(.+)$/,_0x409d37(0x1c0)],[/^copy\s+(.+)\s+(.+)$/,_0x409d37(0x23b)],[/^move\s+(.+)\s+(.+)$/,'mv\x20$1\x20$2'],[/^del\s+(.+)$/,'rm\x20$1'],[/^tasklist\s*$/,'ps'],[/^cd\s*$/,'pwd']]);for(const [_0x406c9a,_0x378ceb]of _0x515229){if(_0x406c9a[_0x409d37(0x1b2)](_0x431041)){_0x431041=_0x431041['replace'](_0x406c9a,_0x378ceb);break;}}return _0x431041;}async['cleanup'](_0x3d6e5d){}async[a0_0x577c68(0x274)](_0x5a6e54,_0x43170f,_0x492836={}){const _0xd0eb8e=a0_0x577c68,{agentId:_0x4360a9,context:_0x494397}=_0x492836;if(!_0x4360a9)throw new Error(_0xd0eb8e(0x232));const _0xa36fb4=this[_0xd0eb8e(0x2d0)](_0x4360a9),_0x5f0bb8=_0xa36fb4[_0xd0eb8e(0x29c)](_0x564c72=>_0x564c72['state']===_0xd0eb8e(0x2a2)||_0x564c72[_0xd0eb8e(0x252)]==='waiting_for_input');if(_0x5f0bb8['length']>=this['MAX_BACKGROUND_COMMANDS_PER_AGENT'])throw new Error(_0xd0eb8e(0x246)+this[_0xd0eb8e(0x20a)]+')');const _0x23516e=Array[_0xd0eb8e(0x280)](this['commandTracker'][_0xd0eb8e(0x2e3)]()),_0x47b443=_0x23516e[_0xd0eb8e(0x29c)](_0x471709=>_0x471709[_0xd0eb8e(0x252)]==='running'||_0x471709['state']===_0xd0eb8e(0x1e7));if(_0x47b443[_0xd0eb8e(0x2bf)]>=this['MAX_BACKGROUND_COMMANDS_GLOBAL'])throw new Error('Maximum\x20global\x20background\x20commands\x20exceeded\x20('+this[_0xd0eb8e(0x1a5)]+')');const _0x5b0664=_0x4360a9+'-cmd-'+Date[_0xd0eb8e(0x1a4)]()+'-'+ ++this[_0xd0eb8e(0x1cf)],_0x142bea=_0x5a6e54;let _0x485164;try{_0x485164=await this['translateCommand'](_0x5a6e54,{'agentId':_0x4360a9,'toolsRegistry':_0x494397?.['toolsRegistry'],'messageProcessor':_0x494397?.[_0xd0eb8e(0x239)],'aiService':_0x494397?.[_0xd0eb8e(0x25f)],'apiKey':_0x494397?.['apiKey'],'customApiKeys':_0x494397?.['customApiKeys'],'platformProvided':_0x494397?.[_0xd0eb8e(0x2ea)]});}catch(_0x4d96ba){this[_0xd0eb8e(0x1b1)]?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x142bea,'error':_0x4d96ba['message']}),_0x485164=_0x5a6e54;}this['logger']?.['info'](_0xd0eb8e(0x1ec)+_0x485164,{'commandId':_0x5b0664,'agentId':_0x4360a9,'originalCommand':_0x142bea,'workingDirectory':_0x43170f});let _0x2ed36;if(this['detectedTerminal']==='cmd'||this[_0xd0eb8e(0x1ed)]==='powershell'){const _0x1355a7=this['detectedTerminal']===_0xd0eb8e(0x2b6)?'powershell':_0xd0eb8e(0x26b),_0x313c43=this[_0xd0eb8e(0x1ed)]==='powershell'?['-Command',_0x485164]:['/c',_0x485164];_0x2ed36=spawn(_0x1355a7,_0x313c43,{'cwd':_0x43170f,'env':{...process[_0xd0eb8e(0x220)]},'windowsHide':!![],'stdio':[_0xd0eb8e(0x251),'pipe',_0xd0eb8e(0x251)]});}else _0x2ed36=spawn('sh',['-c',_0x485164],{'cwd':_0x43170f,'env':{...process[_0xd0eb8e(0x220)]},'stdio':[_0xd0eb8e(0x251),'pipe','pipe']});const _0x49b2b5={'commandId':_0x5b0664,'agentId':_0x4360a9,'pid':_0x2ed36[_0xd0eb8e(0x1d4)],'command':_0x142bea,'translatedCommand':_0x485164,'workingDirectory':_0x43170f,'startTime':new Date()['toISOString'](),'state':'running','exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date['now'](),'promptDetected':null,'process':_0x2ed36};return this[_0xd0eb8e(0x218)]['set'](_0x5b0664,_0x49b2b5),_0x2ed36[_0xd0eb8e(0x1ad)]['on'](_0xd0eb8e(0x2e8),_0x291f7a=>{const _0x50dd03=_0xd0eb8e,_0x23fc4f=_0x291f7a['toString']();_0x49b2b5[_0x50dd03(0x1bd)]+=_0x23fc4f,_0x49b2b5['lastOutputTime']=Date[_0x50dd03(0x1a4)]();if(!_0x49b2b5[_0x50dd03(0x292)]){const _0x19505b=this['promptDetector'][_0x50dd03(0x23f)](_0x49b2b5[_0x50dd03(0x1bd)],_0x50dd03(0x1ad));_0x19505b&&(_0x49b2b5[_0x50dd03(0x292)]=_0x19505b,_0x49b2b5[_0x50dd03(0x252)]='waiting_for_input',this['logger']?.[_0x50dd03(0x2b0)](_0x50dd03(0x1d1),{'commandId':_0x5b0664,'agentId':_0x4360a9,'type':_0x19505b[_0x50dd03(0x2d2)],'matchedText':_0x19505b[_0x50dd03(0x225)]}));}}),_0x2ed36[_0xd0eb8e(0x260)]['on'](_0xd0eb8e(0x2e8),_0x235051=>{const _0x3babe9=_0xd0eb8e,_0x8a845f=_0x235051[_0x3babe9(0x222)]();_0x49b2b5[_0x3babe9(0x1b9)]+=_0x8a845f,_0x49b2b5['lastOutputTime']=Date['now']();if(!_0x49b2b5['promptDetected']){const _0x2b33ce=this[_0x3babe9(0x2df)][_0x3babe9(0x23f)](_0x49b2b5['stderrBuffer'],'stderr');_0x2b33ce&&(_0x49b2b5['promptDetected']=_0x2b33ce,_0x49b2b5[_0x3babe9(0x252)]=_0x3babe9(0x1e7),this[_0x3babe9(0x1b1)]?.[_0x3babe9(0x2b0)](_0x3babe9(0x2ec),{'commandId':_0x5b0664,'agentId':_0x4360a9,'type':_0x2b33ce[_0x3babe9(0x2d2)],'matchedText':_0x2b33ce['matchedText']}));}}),_0x2ed36['on'](_0xd0eb8e(0x2ae),(_0x26ed28,_0x5bb7be)=>{const _0x38a68e=_0xd0eb8e;_0x49b2b5['exitCode']=_0x26ed28,_0x49b2b5['state']=_0x26ed28===0x0?_0x38a68e(0x20d):'failed',_0x49b2b5['endTime']=new Date()['toISOString'](),this[_0x38a68e(0x1b1)]?.['info']('Background\x20command\x20exited',{'commandId':_0x5b0664,'agentId':_0x4360a9,'exitCode':_0x26ed28,'signal':_0x5bb7be,'state':_0x49b2b5['state']});}),_0x2ed36['on'](_0xd0eb8e(0x1b4),_0x2e4a96=>{const _0x351559=_0xd0eb8e;_0x49b2b5['state']='failed',_0x49b2b5['error']=_0x2e4a96[_0x351559(0x22d)],_0x49b2b5[_0x351559(0x24d)]=new Date()[_0x351559(0x21c)](),this[_0x351559(0x1b1)]?.[_0x351559(0x1b4)]('Background\x20command\x20error',{'commandId':_0x5b0664,'agentId':_0x4360a9,'error':_0x2e4a96['message']});}),{'success':!![],'commandId':_0x5b0664,'pid':_0x2ed36[_0xd0eb8e(0x1d4)],'command':_0x142bea,'translatedCommand':_0x485164,'workingDirectory':_0x43170f,'message':_0xd0eb8e(0x2a5)+_0x5b0664};}[a0_0x577c68(0x2c2)](_0x1df7a0,_0x5796f5,_0x4b2c07){const _0x597a2f=a0_0x577c68,_0x4b5e5f=this['validateCommandOwnership'](_0x1df7a0,_0x4b2c07);if(_0x4b5e5f['state']==='completed'||_0x4b5e5f[_0x597a2f(0x252)]===_0x597a2f(0x2a4))throw new Error('Cannot\x20send\x20input\x20to\x20'+_0x4b5e5f['state']+_0x597a2f(0x1c8));if(!_0x4b5e5f['process']||_0x4b5e5f[_0x597a2f(0x23e)]['killed'])throw new Error(_0x597a2f(0x24c));const _0x508a11=_0x5796f5[_0x597a2f(0x1e2)]('\x0a')?_0x5796f5:_0x5796f5+'\x0a';return _0x4b5e5f['process'][_0x597a2f(0x273)][_0x597a2f(0x21b)](_0x508a11),this[_0x597a2f(0x1b1)]?.[_0x597a2f(0x2b0)]('Input\x20sent\x20to\x20background\x20command',{'commandId':_0x1df7a0,'agentId':_0x4b2c07,'inputLength':_0x5796f5[_0x597a2f(0x2bf)]}),_0x4b5e5f[_0x597a2f(0x252)]==='waiting_for_input'&&(_0x4b5e5f[_0x597a2f(0x252)]=_0x597a2f(0x2a2),_0x4b5e5f[_0x597a2f(0x292)]=null),{'success':!![],'commandId':_0x1df7a0,'message':_0x597a2f(0x25b)};}['getCommandStatus'](_0x53fba6,_0x22aea3){const _0x2a0aee=a0_0x577c68,_0x530faa=this['validateCommandOwnership'](_0x53fba6,_0x22aea3),_0x20fceb=Date[_0x2a0aee(0x1a4)]()-_0x530faa[_0x2a0aee(0x2e5)];return{'success':!![],'commandId':_0x53fba6,'pid':_0x530faa[_0x2a0aee(0x1d4)],'command':_0x530faa[_0x2a0aee(0x276)],'state':_0x530faa[_0x2a0aee(0x252)],'exitCode':_0x530faa['exitCode'],'startTime':_0x530faa[_0x2a0aee(0x298)],'endTime':_0x530faa[_0x2a0aee(0x24d)],'workingDirectory':_0x530faa['workingDirectory'],'stdout':_0x530faa['stdoutBuffer'],'stderr':_0x530faa[_0x2a0aee(0x1b9)],'stdoutLength':_0x530faa[_0x2a0aee(0x1bd)]['length'],'stderrLength':_0x530faa[_0x2a0aee(0x1b9)]['length'],'lastOutputTime':_0x530faa[_0x2a0aee(0x2e5)],'timeSinceLastOutput':_0x20fceb,'promptDetected':!!_0x530faa[_0x2a0aee(0x292)],'promptInfo':_0x530faa[_0x2a0aee(0x292)]||undefined};}['killCommand'](_0x11c1ed,_0x518f94){const _0x8b05de=a0_0x577c68,_0x90f0f2=this[_0x8b05de(0x233)](_0x11c1ed,_0x518f94);if(_0x90f0f2[_0x8b05de(0x252)]==='completed'||_0x90f0f2[_0x8b05de(0x252)]==='failed')return{'success':!![],'commandId':_0x11c1ed,'message':_0x8b05de(0x1e0),'state':_0x90f0f2[_0x8b05de(0x252)]};if(_0x90f0f2[_0x8b05de(0x23e)]&&!_0x90f0f2['process']['killed'])return _0x90f0f2['process']['kill'](_0x8b05de(0x1ce)),setTimeout(()=>{const _0x4e2bb5=_0x8b05de;_0x90f0f2[_0x4e2bb5(0x23e)]&&!_0x90f0f2['process']['killed']&&_0x90f0f2['process']['kill']('SIGKILL');},0x1388),this['logger']?.['info']('Background\x20command\x20killed',{'commandId':_0x11c1ed,'agentId':_0x518f94}),{'success':!![],'commandId':_0x11c1ed,'message':_0x8b05de(0x29d)};return{'success':![],'commandId':_0x11c1ed,'error':'Command\x20process\x20not\x20found\x20or\x20already\x20killed'};}['listAgentCommands'](_0x116255){const _0x5a839a=a0_0x577c68,_0x46a407=this[_0x5a839a(0x2d0)](_0x116255);return _0x46a407[_0x5a839a(0x27a)](_0x3574ee=>({'commandId':_0x3574ee[_0x5a839a(0x1bc)],'command':_0x3574ee[_0x5a839a(0x276)],'state':_0x3574ee[_0x5a839a(0x252)],'pid':_0x3574ee['pid'],'exitCode':_0x3574ee['exitCode'],'startTime':_0x3574ee['startTime'],'endTime':_0x3574ee['endTime'],'promptDetected':!!_0x3574ee['promptDetected'],'timeSinceLastOutput':Date[_0x5a839a(0x1a4)]()-_0x3574ee['lastOutputTime']}));}['getAgentCommands'](_0x2cc696){const _0x204467=a0_0x577c68;return Array['from'](this[_0x204467(0x218)]['values']())['filter'](_0x40c834=>_0x40c834['agentId']===_0x2cc696);}['validateCommandOwnership'](_0x15ec41,_0x13b817){const _0x604a83=a0_0x577c68,_0x5ea89d=this[_0x604a83(0x218)][_0x604a83(0x25c)](_0x15ec41);if(!_0x5ea89d)throw new Error('Command\x20not\x20found:\x20'+_0x15ec41);if(_0x5ea89d['agentId']!==_0x13b817)throw new Error('Access\x20denied:\x20Command\x20belongs\x20to\x20agent\x20'+_0x5ea89d[_0x604a83(0x1e4)]);return _0x5ea89d;}async[a0_0x577c68(0x2d6)](_0x500168){const _0x30ac41=a0_0x577c68,_0x174736=this[_0x30ac41(0x2d0)](_0x500168);let _0xaf41a1=0x0,_0x413348=0x0;for(const _0x553bc7 of _0x174736){_0x553bc7[_0x30ac41(0x23e)]&&!_0x553bc7[_0x30ac41(0x23e)]['killed']&&(_0x553bc7[_0x30ac41(0x23e)]['kill']('SIGTERM'),_0xaf41a1++,setTimeout(()=>{const _0x2fe9a8=_0x30ac41;_0x553bc7[_0x2fe9a8(0x23e)]&&!_0x553bc7['process'][_0x2fe9a8(0x254)]&&_0x553bc7[_0x2fe9a8(0x23e)]['kill']('SIGKILL');},0xbb8)),this[_0x30ac41(0x218)][_0x30ac41(0x1c1)](_0x553bc7['commandId']),_0x413348++;}return this['logger']?.['info'](_0x30ac41(0x1ac),{'agentId':_0x500168,'killedCount':_0xaf41a1,'removedCount':_0x413348}),{'success':!![],'agentId':_0x500168,'killedCount':_0xaf41a1,'removedCount':_0x413348,'message':_0x30ac41(0x1c6)+_0x413348+'\x20commands\x20for\x20agent\x20'+_0x500168};}['cleanupStaleCommands'](){const _0x2720aa=a0_0x577c68,_0x372703=Date['now']();let _0xa77fa7=0x0;for(const [_0x1ab829,_0x3e53d9]of this[_0x2720aa(0x218)][_0x2720aa(0x1be)]()){if(_0x3e53d9['state']!=='completed'&&_0x3e53d9['state']!==_0x2720aa(0x2a4))continue;const _0x59accc=new Date(_0x3e53d9[_0x2720aa(0x298)])[_0x2720aa(0x2bc)](),_0x26b1a2=(_0x372703-_0x59accc)/0x3e8/0x3c;_0x26b1a2>this[_0x2720aa(0x1d9)]&&(this[_0x2720aa(0x218)]['delete'](_0x1ab829),_0xa77fa7++);}return _0xa77fa7>0x0&&this['logger']?.[_0x2720aa(0x2b0)]('Stale\x20commands\x20cleaned\x20up',{'removedCount':_0xa77fa7,'ageThresholdMinutes':this[_0x2720aa(0x1d9)]}),{'success':!![],'removedCount':_0xa77fa7,'message':'Cleaned\x20up\x20'+_0xa77fa7+'\x20stale\x20commands'};}}export default TerminalTool;function a0_0x4113(){const _0x43fc55=['y29UDgLUDwu','y21K','igfJDgLVBNmGy29TCgXLDgvKihn1y2nLC3nMDwXSEq','u0HfteW','v2LUzg93CYbdB21Tyw5KifbYB21WDcaOy21KlMv4zsK','u2vSzwn0Aw9UihbYB21WDa','vw5RBM93BIbHy3rPB24GDhLWztOG','Cgf0DgvYBG','zwnOBYa','C3rKAw4','C3rHCNrcywnRz3jVDw5Kq29TBwfUza','tw92zs1jDgvTicqXicqY','y29TBwfUza','DhLWzsbUDwWGpG','zMLSzs1JB3b5','Dg9mB3DLCKnHC2u','BwfW','zgv0zwn0sgfUzW','DgfZA2TPBgW','cMbGyaOkq09ntuforcbbtKfmwvnjuZOklsbdB21Tyw5Kifr5Cgu6ia','r2v0lvbYB2nLC3m','CNvUlwnVBw1HBMq','zNjVBq','rgLYzwn0B3j5ignOyw5NzsbIBg9JA2vKoIa','tM9UzsbKzxrLy3rLza','y3vZDg9TqxbPs2v5CW','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbxAw5KB3DZiennra','Aw5JBhvKzxm','zgLY','BMfTzq','ChjVy2vZCY1SAxn0','oIbJB21Tyw5KigLZigjSB2nRzwqGzM9YihnLy3vYAxr5oIa','zgLYzwn0B3j5','z3jLCa','yMfZAa','zMLSzs1ZzwfYy2G','C2XPy2u','y3jLyxrLrgLYzwn0B3j5','quKGDhjHBNnSyxrPB24GCMv0DxjUzwqGC2fTzsbJB21Tyw5K','Bwf0y2G','ChjVBxb0rgv0zwn0zwq','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','ChvZAa','y29WEq','u2v0lufJBa','zxHLy3v0zq','C3rHCNruAw1L','y3vYBcaKmq','Dgv4Dc1LzgL0','y29TBwfUzeHPC3rVCNK','zMLSDgvY','q29TBwfUzcbRAwXSzwqGC3vJy2vZC2z1BgX5','mtq4mxnPCevKCa','mJrbBeHhC0y','Ahr0Cc1JBgLLBNq','y29TCgf0AwjSzq','CNvUBMLUzW','A2LSBa','zMfPBgvK','qMfJA2DYB3vUzcbJB21Tyw5Kihn0yxj0zwqGD2L0AcbjrdOG','y2HHBMDLlwrPCMvJDg9YEq','tMv3luL0zw0Glvr5CguGrMLSzq','ywXSB3DLzenVBw1HBMrZ','zM9YBwf0','CMvIB290','ChjVy2vZCY1TB25PDg9Y','yNvPBhrPBG','igfJDgLVBNmGzMfPBgvK','zxHPDa','ywXSB3DLza','Aw5MBW','C29YDa','zMLUzcaVyW','z2v0q29TBwfUzeHPC3rVCNK','uhjVBxb0igrLDgvJDgvKigLUihn0zg91Da','Dgv4Dc1WCM9JzxnZAw5N','Cg93zxjZAgvSBa','u0Lhs0Lmta','zxHLy3v0zunVBw1HBMrxAxrOu3bHD24','r2v0lunOAwXKsxrLBq','CMvHC29U','DxnLCM5HBwu','z2v0vgLTzq','zMLUzhn0CG','Aw5WDxq','BgvUz3rO','mJGXote4q1r6rvzW','quKGDhjHBNnSyxrPB24GzMfPBgvKlcbMywXSAw5NigjHy2SGDg8GC2LTCgXLihrYyw5ZBgf0Aw9U','C2vUzeLUChv0','ihX8ia','mtK1ngHVyLjotG','D2fYBG','yxjJAgL2zq','cI0GvgfYz2v0ifrLCM1PBMfSoIa','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9Yia','r2vUzxjPyYbPBNb1DcbWCM9TChqGzgv0zwn0zwq','ntG3mJC0mg1vy2jgAW','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwq','rxHLy3v0Aw5NignVBw1HBMq6ia','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','Bxm6ia','DhjHBNnSyxrLq29TBwfUza','z2v0qwDLBNrdB21Tyw5KCW','Cg93zxjZAgvSBcaTyW','DhLWzq','y2XHC3nPzNLdB21Tyw5K','ywn0Aw9UCW','zg93BMXVywq','y2XLyw51CefNzw50','y29UzMLKzw5Jzq','q29TBwfUzcbJB21WBgv0zwq6ia','Aw5PDgLHBgL6zvrLCM1PBMfSrgv0zwn0Aw9U','y29TBwfUzfr5Cgu','Bwf4qMfJA2DYB3vUzenVBw1HBMrZr2XVyMfS','mZi3mdu3nwnAv3Lyza','zxnJyxbLlxnLCxvLBMnLCW','rxHLy3v0Aw5NignVBw1HBMqGD2L0AcbZCgf3BJOG','ChjVBxb0rgv0zwn0B3i','zgLYic9Z','cJiUifbYzxnLCNzLihrOzsbVCMLNAw5HBcbPBNrLBNqGyw5Kigz1BMn0Aw9UywXPDhKkmY4GsgfUzgXLigzPBguGCgf0AhmSihf1B3rPBMCSigfUzcbZEw50yxGGy29YCMvJDgX5cJqUieLMignYzwf0Aw5NigzPBgvZlcbLBNn1CMuGChjVCgvYigvUy29KAw5NigfUzcbSAw5LigvUzgLUz3mkns4GqwrKCMvZCYb0AguGC3bLy2LMAwmGy29TCgf0AwjPBgL0EsbPC3n1zxmGAwrLBNrPzMLLzcbHyM92zqO2lIbszxr1CM4Gt05mwsb0AguGDhjHBNnSyxrLzcbJB21Tyw5KlcbUB3rOAw5NigvSC2ukcLrsqu5ttefuruqGq09ntufordO','uhjLC3mGyw55igTLEq','DMfSDwvZ','C3vIC3rYAw5N','BgfZDe91Dhb1DfrPBwu','D29YA2LUz0rPCMvJDg9YAwvZ','ywrKvg9iAxn0B3j5','zgf0yq','D2LUzg93CY1JBwq','CgXHDgzVCM1qCM92AwrLza','zgvS','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUzcbZDgrLCNi','C3rHDa','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFtg9NAwnHBerPC2S','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbqB3DLCLnOzwXS','q29TBwfUzcbJB21WBgv0zwqGC3vJy2vZC2z1BgX5oIa','u29YDc1pyMPLy3q','y3DK','zM9Yic9M','zMLSzs1TB3zL','BM93','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','wwvZl05Vihf1zxn0Aw9U','Dhj1zq','twvHC3vYzs1pyMPLy3q','ChjVy2vZCY1RAwXS','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','C2H1DgrVD24','qwDLBNqGy29TBwfUzhmGy2XLyw5Lzcb1Ca','C3rKB3v0','C3LZDgvTAw5MBW','nMjhAgTKtG','zMLSzq','Bg9Nz2vY','DgvZDa','mtHmuezfvue','zxjYB3i','r2v0lvbYB2nLC3mGFcbtB3j0lu9IAMvJDcbdufu','C2nYAxb0lwv4zwn1Dgu','yMXVy2TLzenVBw1HBMrZ','oGOkt1jjr0LoquWGq09ntufordOkygbGcG','C3rKzxjYqNvMzMvY','Bw92zsaKmsaKmG','u29YDc1pyMPLy3qGlvvUAxf1zq','y29TBwfUzeLK','C3rKB3v0qNvMzMvY','zw50CMLLCW','zxHLy3v0zunVBw1HBMq','y2f0icqX','zgvSzxrL','y29WEsaKmsaKmG','AxnbyNnVBhv0zq','qwnJzxnZigrLBMLLzdOG','AxnZDwvZ','q2XLyw5Lzcb1Cca','cI0Gq2f0zwDVCNK6ia','ignVBw1HBMq','y29TBwfUzc1JAgfPBMLUzW','Aw5KzxG','nZe5ntGXnvroCKLqBW','BhmGlwe','EwvZlw5V','u0Lhvevstq','y29TBwfUzeLKq291BNrLCG','qwXSia','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUza','qwn0Aw9Uia','zxH0CMfJDenVBNrLBNq','CgLK','Dw5PDMvYC2fS','Bwf4qMfJA2DYB3vUzenVBw1HBMrZugvYqwDLBNq','q29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwqSihvZAw5Nig9YAwDPBMfSignVBw1HBMq','r2v0lvbYB2nLC3mGFcbtDg9WlvbYB2nLC3m','tufyx0nptu1btKrFquDfx01jtLvurvm','C3LZDgvTlwLUzM8','vgvYBwLUywWGzgv0zwn0zwq','q29UzMLYBwf0Aw9UihbYB21WDa','C2v0','Bw9Yzq','AxndB21Tyw5Kq29TCgf0AwjSzq','q29TBwfUzcbHBhjLywr5ihrLCM1PBMf0zwq','z2v0u3vWCg9YDgvKqwn0Aw9UCW','zw5KC1DPDgG','y2f0zwDVCNK','ywDLBNrjza','BxmPcI0Gyxn5BMm6ifDOzxrOzxiGDg8GCNvUignVBw1HBMqGyxn5BMnOCM9UB3vZBhKGkhrYDwuVzMfSC2uPcGPfwefnueXfuZOkcLj1BIbUCg0GAw5ZDgfSBdOkygbGANnVBGP7iNrVB2Xjzci6icj0zxjTAw5HBciSicjHy3rPB25ZiJOGw3SIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiM5WBsbPBNn0ywXSiN1DFqPGygakcKDPDcbVCgvYyxrPB25ZoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiNrLCM1PBMfSiIWkicaIywn0Aw9UCYi6ifSkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiMDPDcbZDgf0DxmIFsWkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiMDPDcbHzgqGlIj9laOGicaGEYj0ExbLiJOGiNj1BI1JB21Tyw5KiIWGiMnVBw1HBMqIoIaIz2L0ignVBw1PDcaTBsbCiLvWzgf0zsbMAwXLC1WIiN0kicbDcN0kygbGcGPdAgfUz2uGzgLYzwn0B3j5igfUzcbIDwLSzdOkygbGANnVBGP7cIaGiNrVB2Xjzci6icj0zxjTAw5HBciScIaGiMfJDgLVBNmIoIbBcIaGicb7iNr5CguIoIaIy2HHBMDLlwrPCMvJDg9YEsiSicjKAxjLy3rVCNKIoIaIlI4VzNjVBNrLBMqIFsWkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiM5WBsbYDw4GyNvPBgqIFqOGif0kFqPGygakcLnfq1vssvrzoGOTierHBMDLCM91CYbJB21Tyw5KCYbHCMuGyMXVy2TLzaOTienVBw1HBMrZigv4zwn1DguGAw4GAxnVBgf0zwqGzw52AxjVBM1LBNqklsbpDxrWDxqGAxmGy2fWDhvYzwqGyw5KihjLDhvYBMvKihnHzMvSEqOkqKvtvcbquKfdveLdrvm6cI0GvxnLiezPBgvtExn0zw0GDg9VBcbMB3iGzMLSzs9KAxjLy3rVCNKGB3bLCMf0Aw9UCWOTifvZzsbuzxjTAw5HBcbMB3iGq0Xjihv0AwXPDgLLCYaOBNbTlcbNAxqSign1CMWSigv0yY4PcI0Gq2HLy2SGy29TBwfUzcbVDxrWDxqGDg8GDMvYAwz5ihn1y2nLC3mkicaGia','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNKG','D2fPDgLUz19MB3jFAw5WDxq','zMLSzs1SAxn0Aw5N','C3bSAxq','vxnLCM5HBwuGChjVBxb0','mJq5nNLuwvzfva','u3rHCNrPBMCGyMfJA2DYB3vUzcbJB21Tyw5KoIa','zgv0zwn0zwruzxjTAw5HBa','Bw9YzsaRBG','ihWG','Dg9VBhnszwDPC3rYEq','AxntEw1IB2XPy0XPBMS','z2vUzxjPyW','rM9YrwfJAc1pyMPLy3q','AgvSCa','icyMia','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','A2v5ChjLC3m','y2HHBMDLrgLYzwn0B3j5','DgvYBwLUywW','cGPsrvfvsvjftuvovfm6cJeUie1HA2uGDgHLignVBw1HBMqGD29YAYbJB3jYzwn0BhKGAw4G','yxbPs2v5','DhjHBNnSyxrLq29TBwfUzfDPDgHbsq','r2v0lunOAwXKsxrLBsbfBNy6','mJG4DMLmuK5h','zxH0CMfJDfrYyw5ZBgf0zwrdB21Tyw5K','y29TBwfUzenHDgvNB3j5','AxndB21Tyw5Kq29TCgf0AwjSzvDPDgHuzxjTAw5HBa','zgvIDwC','DxnLCI1PBMzV','BMf0AxzL','Dw5RBM93BG','yw5HBhL6zunVBw1HBMrdB21WyxrPyMLSAxr5','tMv3luL0zw0Glvr5CguGrgLYzwn0B3j5','ywX0zxjUyxrPDMvZ','id4GjG','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','CMvWBgfJzq','y2fSBa','y29TCgXLDgvK','q29TBwfUzcbWCM9JzxnZigv4AxrLzdOG','mZe1m1bdDMj1sG','r2v0lunOAwXKsxrLBsaTuMvJDxjZzsb8ie1Lyxn1CMuTt2jQzwn0','Cg93zxjZAgvSBcbdB21WCMvZCY1bCMnOAxzL','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','ChjVBxb0ugf0DgvYBNm','y3jLyxrLlwrPCMvJDg9YEq','DhjHBNnSyxrLvg9qB3DLCLnOzwXS','AM9PBG','uMvTB3zLluL0zw0','y29TBwfUzfrYywnRzxi','AxneAxjLy3rVCNK','CgfZC3DVCMq','D3jPDgu','Dg9ju09tDhjPBMC','DhjHBNnSyxrLvg9xAw5KB3DZq21K','AxncBg9JA2vKq29TBwfUza','CgLUzYaKmq','zw52','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLigzVCIbJB21Tyw5KihrYyw5ZBgf0Aw9U','Dg9tDhjPBMC','Bg9N','zwnOBYaN','Bwf0y2HLzfrLEhq','z2v0rgvZy3jPChrPB24','Bw92zq','Dw5PEa','zMLSzs12Awv3Aw5N','B3DUzxjZAgLW','icHVCMLNAw5HBdOG','q29TBwfUzcbJB21WyxrPyMLSAxr5igfUywX5C2LZ','BwvZC2fNzq','A2v5CW','DgfZA2XPC3q','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','y29Kzq','ywDLBNrjzcbPCYbYzxf1AxjLzcbMB3iGyMfJA2DYB3vUzcbJB21Tyw5KCW','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','zMLSzs1KzwXLDgu','igL0zw1ZigLUia','y2f0','q29TBwfUzcbLEgL0zwqGD2L0AcbJB2rLia','rMfPBgvKihrVihbHCNnLihrLCM1PBMfSihbHCMfTzxrLCNm6ia','BwvZC2fNzvbYB2nLC3nVCG','r2v0lunVBNrLBNq','y3aGjdeGjdi','u3rVCc1qCM9JzxnZ','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbJB21WBgv0zwq','ChjVy2vZCW','zgv0zwn0uhjVBxb0','DgfZA2TPBgWGl2yGl2LT','yxn5BMm','zgvSic9Mic9X','zwnOBYaLvvnfuK5btuuL','r2vUzxjPyYbPBNb1DcbWCM9TChq','DhjPBq','twf4Aw11BsbIywnRz3jVDw5KignVBw1HBMrZihbLCIbHz2vUDcbLEgnLzwrLzcaO','BgLZDc1KAxjLy3rVCNK','AxnbBgXVD2vKq29TBwfUza','zgvZy3jPChrPB24','zgLYzwn0B3j5lwrLBgv0zq','DgLTzw91Da','q29TBwfUzcbWCM9JzxnZigLZig5VDcbYDw5UAw5N','zw5KvgLTzq','sw52B2TLlvjLC3rnzxrOB2q','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFugH5C2LJywXnzw1VCNK','ksa+ia','CgLWzq','C3rHDgu','cLrLCM1PBMfSifrVB2W6iev4zwn1DguGC3LZDgvTignVBw1HBMrZigfUzcbTyw5Hz2uGDgvYBwLUywWGB3bLCMf0Aw9UCYbZywzLBhKUcGPjtvbpuLrbtLq6iezVCIbMAwXLigfUzcbKAxjLy3rVCNKGy3jLyxrPB24SihbYzwzLCIb1C2LUzYb0AguGrMLSzvn5C3rLBsb0B29SlGPszxnLCNzLihrOzsbuzxjTAw5HBcb0B29SigzVCIbJB21Tyw5KlwXPBMuGB3bLCMf0Aw9UCYbSAwTLig5WBsWGz2L0lcbJDxjSlcbLDgmUcGPvu0fhrtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icj0zxjTAw5HBciScIaGiMfJDgLVBNmIoIbBcIaGicb7iNr5CguIoIaICNvUlwnVBw1HBMqIlcaIy29TBwfUzci6icjUCg0GAw5ZDgfSBcbLEhbYzxnZiN0ScIaGicb7iNr5CguIoIaIy2HHBMDLlwrPCMvJDg9YEsiSicjKAxjLy3rVCNKIoIaIChjVAMvJDc9IywnRzw5KiN0kicbDcN0kygbGcGPtvvbqt1juruqGqunusu9ouZOklsbYDw4Ty29TBwfUzdOGrxHLy3v0zsbHignVBw1HBMqGkgnVBw1HBMqPcI0Gy2HHBMDLlwrPCMvJDg9YEtOGq2HHBMDLihDVCMTPBMCGzgLYzwn0B3j5icHKAxjLy3rVCNKPcI0GBgLZDc1KAxjLy3rVCNK6ieXPC3qGzgLYzwn0B3j5ignVBNrLBNrZicHKAxjLy3rVCNKPcI0Gy3jLyxrLlwrPCMvJDg9YEtOGq3jLyxrLigrPCMvJDg9YEsaOzgLYzwn0B3j5ksaTihbYzwzLCIbgAwXLu3LZDgvTihrVB2WklsbNzxqTD29YA2LUzY1KAxjLy3rVCNK6ieDLDcbJDxjYzw50igrPCMvJDg9YEqOkuefsqu1fvevsuZOklsbJB21Tyw5KoIbuAguGy29TBwfUzcb0BYbLEgvJDxrLcI0GzgLYzwn0B3j5oIbeAxjLy3rVCNKGCgf0AcbMB3iGBMf2AwDHDgLVBI9VCgvYyxrPB25ZcI0GDgLTzw91DdOGt3b0Aw9UywWGDgLTzw91DcbPBIbTAwXSAxnLy29UzhmGkg1HEca','A2LSBgvK','C2LTCgXL','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','icyG','zwnOBW','quKGDhjHBNnSyxrPB24GBM90igf2ywLSywjSzsaTig1PC3nPBMCGy29UDgv4Da','zwnOBYaIjdeI','sw5WDxqGC2vUDcbZDwnJzxnZzNvSBhK','z2v0','mtC1mJK2yM1zz0Xj','jgvUDJO','ywLtzxj2AwnL','C3rKzxjY','mZq2oeH5CKn1AW','vgvZDc1ozxrdB25Uzwn0Aw9U','sw52B2TLlvDLyLjLCxvLC3q','z3b0ltqTBwLUAq','DhjHBNnSyxrL','r2v0lunVBNrLBNqGjde','B2jQzwn0','y3vYBa','ugfZC3DVCMqGChjVBxb0'];a0_0x4113=function(){return _0x43fc55;};return a0_0x4113();}
|
|
1
|
+
const a0_0x90eebf=a0_0x2f8a;(function(_0x459f9c,_0x1cf72f){const _0x1a2d82=a0_0x2f8a,_0x2f6906=_0x459f9c();while(!![]){try{const _0x52c233=-parseInt(_0x1a2d82(0x19a))/0x1+parseInt(_0x1a2d82(0x134))/0x2*(parseInt(_0x1a2d82(0x18d))/0x3)+parseInt(_0x1a2d82(0xf5))/0x4*(parseInt(_0x1a2d82(0x144))/0x5)+parseInt(_0x1a2d82(0x1d3))/0x6*(parseInt(_0x1a2d82(0x1aa))/0x7)+parseInt(_0x1a2d82(0x1d5))/0x8*(parseInt(_0x1a2d82(0x14a))/0x9)+-parseInt(_0x1a2d82(0x124))/0xa+-parseInt(_0x1a2d82(0xf4))/0xb*(parseInt(_0x1a2d82(0xe4))/0xc);if(_0x52c233===_0x1cf72f)break;else _0x2f6906['push'](_0x2f6906['shift']());}catch(_0x1b5616){_0x2f6906['push'](_0x2f6906['shift']());}}}(a0_0xa5e7,0xf225e));import{BaseTool}from'./baseTool.js';function a0_0xa5e7(){const _0x40e6d8=['y3vYBa','zMLUzcaVyW','zgLYzwn0B3j5lwnYzwf0zq','zMLSzs1ZzwfYy2G','DgfZA2XPC3q','Bwf4q29TBwfUzefNzu1PBNv0zxm','z2v0rgvZy3jPChrPB24','cGPsrvfvsvjftuvovfm6cJeUie1HA2uGDgHLignVBw1HBMqGD29YAYbJB3jYzwn0BhKGAw4G','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','mZG4nty2mgfKyvLPsq','CMvHC29U','nJa0mJrNqw5VBK0','q29TBwfUzcbHBhjLywr5ihrLCM1PBMf0zwq','y29TCgf0AwjSzq','ywn0Aw9UCW','BgLZDc1KAxjLy3rVCNK','y2HHBMDLlwrPCMvJDg9YEq','zgvMia','CgfYC2vqyxjHBwv0zxjZ','qwnJzxnZigrLBMLLzdOGq29TBwfUzcbIzwXVBMDZihrVigfNzw50ia','yNvPBhrPBG','AxnbBgXVD2vKq29TBwfUza','zg93BMXVywq','ugfZC3DVCMqGChjVBxb0','vhjHBNnSyxrLihrOAxmGy29TBwfUzcb0BYb3B3jRignVCNjLy3rSEsbPBIa','BMf0AxzL','tw92zs1jDgvTicqXicqY','C2LTCgXL','yw5HBhL6zunVBw1HBMrdB21WyxrPyMLSAxr5','C3rYAw5N','oGOkt1jjr0LoquWGq09ntufordOkygbGcG','quKGDhjHBNnSyxrPB24GBM90igf2ywLSywjSzsaTig1PC3nPBMCGy29UDgv4Da','zgv0zwn0zwruzxjTAw5HBa','r2vUzxjPyYbPBNb1DcbWCM9TChqGzgv0zwn0zwq','qwDLBNqGy29TBwfUzhmGy2XLyw5Lzcb1Ca','tMv3luL0zw0Glvr5CguGrMLSzq','yxjJAgL2zq','DgfZA2TPBgW','AxntAw1WBgvdB21Tyw5K','quKGDhjHBNnSyxrPB24GzMfPBgvKlcbMywXSAw5NigjHy2SGDg8GC2LTCgXLihrYyw5ZBgf0Aw9U','zw52','sgL0igvUDgvY','DgfZA2TPBgWGl1bjrcaKmq','ksa+ia','u2vSzwn0Aw9UihbYB21WDa','y29Kzq','C3rKB3v0qNvMzMvY','Cg93zxjZAgvSBa','vgvYBwLUywWGzgv0zwn0zwq','C2XPy2u','y29TBwfUzeLK','Dw5RBM93BG','DhLWzsbUDwWGpG','BgvUz3rO','C3vJy2vZCW','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwq','zMLSDgvY','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUza','zgLYzwn0B3j5lwn1CNjLBNq','ywX0zxjUyxrPDMvZ','ihX8ia','q29TBwfUzcbLEgvJDxrLzcbZDwnJzxnZzNvSBhKGAw4G','q29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwqSihvZAw5Nig9YAwDPBMfSignVBw1HBMq','y29UDgLUDwu','CgLK','y29TBwfUzfrYywnRzxi','r2vUzxjPyYbPBNb1DcbWCM9TChq','Dg9VBhnszwDPC3rYEq','ywDLBNrjza','y2f0zwDVCNK','r2v0luXVy2f0Aw9U','DgvZDa','DxnLCM5HBwu','Aw5KzxG','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLigzVCIbJB21Tyw5KihrYyw5ZBgf0Aw9U','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','Aw50zwDLCG','CM1KAxi','CgvYBwLZC2LVBNm','Dgv4Dc1WCM9JzxnZAw5N','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','q3jLyxrLzcbKAxjLy3rVCNK6ia','uMvTB3zLluL0zw0Gjde','Aw5PDgLHBgL6zvrLCM1PBMfSrgv0zwn0Aw9U','B2jQzwn0','rxHLy3v0Aw5NignVBw1HBMq6ia','Aw5MBW','C3vIC3rYAw5N','y29TBwfUzfr5Cgu','EwvZlw5V','y2XLyxjxB3jRAw5NrgLYzwn0B3j5','ywXSB3DLzenVBw1HBMrZ','C2v0','z3jLCa','zgv0zwn0sgfUzW','Dw5PEc1ZDhLSzs1WyxrOCW','C3rKzxjY','zw52AxjVBM1LBNq','tw92zs1jDgvT','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','ChjPBNrM','zM9Yia','BM93','mte2nenbsgLLBG','rMfPBgvKihrVigXPC3qGzgLYzwn0B3j5ia','CgXHDgzVCM1qCM92AwrLza','CMvXDwLYzxnqCM9Qzwn0','ChjVy2vZCY1RAwXS','y21K','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','DgvYBwLUywW','C3rHDa','AxnbyNnVBhv0zq','DhLWzq','ig1PBgXPC2vJB25KCW','z2v0ugfYyw1LDgvYu2nOzw1H','y29TBwfUzeLKq291BNrLCG','sw5WDxqGC2vUDcbZDwnJzxnZzNvSBhK','q29UzMLYBwf0Aw9UihbYB21WDa','mJm2nZC1wMnxsM1P','mZK3mJrOqNDWz3i','yxjYyxK','C3rKAw4','qxr0zw1WDgLUzYbbssb0CMfUC2XHDgLVBIbMB3iGy29TCgXLEcbJB21Tyw5K','zwnOBYaN','y29TBwfUzenHDgvNB3j5','BxyGjdeGjdi','rxHLy3v0Aw5NignVBw1HBMqGD2L0AcbZCgf3BJOG','C3rHDgu','zMLSzs12Awv3Aw5N','zxHLy3v0Aw9UvgLTzq','wwvZl05Vihf1zxn0Aw9U','uMvTB3zLluL0zw0','CgLUzW','yMXVy2TLzenVBw1HBMrZ','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','z2v0vgLTzq','zxH0CMfJDenVBNrLBNq','D29YA2LUz0rPCMvJDg9YEq','zgfYD2LU','q29TBwfUzcbVDxrWDxqGy2H1BMS6ia','C3vNz2vZDgvKqwn0Aw9U','zgLYic9H','q29WEs1jDgvTicqXicqY','CM0GlxjMic8','DgLTzw91Da','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','vxnLCM5HBwuGChjVBxb0','C3bLy2LMAwnjC3n1zxm','zwnOBYaIjdeIid4','Dw5PEa','z2v0q29TBwfUzfn0yxr1CW','uhjLC3mGyw55igTLEq','Dgv4Dc1HBMfSExnPCW','D2LUmZi','DhjPBq','zgvS','Dg9ju09tDhjPBMC','Ahr0Cc1JBgLLBNq','zgLY','zMLSzs1KzwXLDgu','A2LSBa','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','u0HfteW','AgvSCa','ywDLBNrjzcbPCYbYzxf1AxjLzcbMB3iGyMfJA2DYB3vUzcbJB21Tyw5KCW','Bwf4qMfJA2DYB3vUzenVBw1HBMrZugvYqwDLBNq','odi4odbXEgXfA00','zxHPDa','twf4Aw11BsbNBg9IywWGyMfJA2DYB3vUzcbJB21Tyw5KCYbLEgnLzwrLzcaO','zMLSzs1SAxn0Aw5N','jgvUDJO','zgvZy3jPChrPB24','Bwf0y2HLzfrLEhq','qwXSia','CgXHDgzVCM0','C3rHy2S','r2v0lunOAwXKsxrLBsbfBNy6','cLrLCM1PBMfSifrVB2W6iev4zwn1DguGC3LZDgvTignVBw1HBMrZigfUzcbTyw5Hz2uGDgvYBwLUywWGB3bLCMf0Aw9UCYbZywzLBhKUcGPjtvbpuLrbtLq6iezVCIbMAwXLigfUzcbKAxjLy3rVCNKGy3jLyxrPB24SihbYzwzLCIb1C2LUzYb0AguGrMLSzvn5C3rLBsb0B29SlGPszxnLCNzLihrOzsbuzxjTAw5HBcb0B29SigzVCIbJB21Tyw5KlwXPBMuGB3bLCMf0Aw9UCYbSAwTLig5WBsWGz2L0lcbJDxjSlcbLDgmUcGPvu0fhrtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icj0zxjTAw5HBciScIaGiMfJDgLVBNmIoIbBcIaGicb7iNr5CguIoIaICNvUlwnVBw1HBMqIlcaIy29TBwfUzci6icjUCg0GAw5ZDgfSBcbLEhbYzxnZiN0ScIaGicb7iNr5CguIoIaIy2HHBMDLlwrPCMvJDg9YEsiSicjKAxjLy3rVCNKIoIaIChjVAMvJDc9IywnRzw5KiN0kicbDcN0kygbGcGPtvvbqt1juruqGqunusu9ouZOklsbYDw4Ty29TBwfUzdOGrxHLy3v0zsbHignVBw1HBMqGkgnVBw1HBMqPcI0Gy2HHBMDLlwrPCMvJDg9YEtOGq2HHBMDLihDVCMTPBMCGzgLYzwn0B3j5icHKAxjLy3rVCNKPcI0GBgLZDc1KAxjLy3rVCNK6ieXPC3qGzgLYzwn0B3j5ignVBNrLBNrZicHKAxjLy3rVCNKPcI0Gy3jLyxrLlwrPCMvJDg9YEtOGq3jLyxrLigrPCMvJDg9YEsaOzgLYzwn0B3j5ksaTihbYzwzLCIbgAwXLu3LZDgvTihrVB2WklsbNzxqTD29YA2LUzY1KAxjLy3rVCNK6ieDLDcbJDxjYzw50igrPCMvJDg9YEqOkuefsqu1fvevsuZOklsbJB21Tyw5KoIbuAguGy29TBwfUzcb0BYbLEgvJDxrLcI0GzgLYzwn0B3j5oIbeAxjLy3rVCNKGCgf0AcbMB3iGBMf2AwDHDgLVBI9VCgvYyxrPB25ZcI0GDgLTzw91DdOGt3b0Aw9UywWGDgLTzw91DcbPBIbTAwXSAxnLy29UzhmGkg1HEca','y29UzMLYBwf0Aw9U','C29YDa','lunVBw1HBMq','igfJDgLVBNmGzMfPBgvK','mtKWz294Eeze','zNjVBq','CM1KAxiGjde','CgXHDgzVCM1uExbL','y3jLyxrLrgLYzwn0B3j5','zgLYzwn0B3j5','C2vUze1LC3nHz2u','q29WEs1jDgvT','A2LSBenVBw1HBMq','zgvSzxrL','vxnPBMCGquKGDhjHBNnSyxrPB24','z2v0','ChjVy2vZCW','C3bSAxq','DgfZA2TPBgWGl2yGl2LT','z3b0ltqTBwLUAq','odq1B2nkDhrp','y3DK','zMLSzq','DhjHBNnSyxrLvg9qB3DLCLnOzwXS','zxjYB3i','q29TChjLC3mTqxjJAgL2zq','ntqWAvP5u1H1','C2LUz2XLlxf1B3rLCY1WCM9IBgvTyxrPyW','DhjHBNnSyxrLvg9cyxnO','q29TBwfUzcbLEgL0zwqGD2L0AcbJB2rLia','AxnbCNjHEq','tgLZDgvKia','AwnHy2XZ','r2v0lunOAwXKsxrLBsaTuMvJDxjZzsb8ie1Lyxn1CMuTt2jQzwn0','qMfJA2DYB3vUzcbJB21Tyw5KigTPBgXLza','ChjVBxb0rgv0zwn0zwq','D2HPBguG','yM9VBgvHBG','y29UDgvUDa','zwnOBYaI','zgvIDwC','q29TBwfUzcbZCgf3BIbLCNjVCJOG','zxHLy3v0zunVBw1HBMrxAxrOu3bHD24','ignVBw1HBMq','ihn0ywXLignVBw1HBMrZ','y29TBwfUzeHPC3rVCNK','AxntEw1IB2XPy0XPBMS','BwvTB3j5lwLUzM8','BwvZC2fNzq','tufyx0nptu1btKrFquDfx01jtLvurvm','CM0Gjde','DhjHBNnSyxrL','Bwf0y2G','AxncBg9JA2vKq29TBwfUza','Bg9Nz2vY','z2v0qwDLBNrdB21Tyw5KCW','CgLWzq','Bw9YzsaRBG','z2v0u3vWCg9YDgvKqwn0Aw9UCW','AxneAxjLy3rVCNK','BgfZDe91Dhb1DfrPBwu','zxHPDenVzgu','y3jLyxrLlwrPCMvJDg9YEq','BwvUDq','y2XHC3nPzNLdB21Tyw5K','Ahr0Ca','cI0Gq2f0zwDVCNK6ia','Dg9mB3DLCKnHC2u','ChvZAa','AxnZDwvZ','D29YA2LUz0rPCMvJDg9YAwvZ','r2v0lvbYB2nLC3m','y3vYBcaTtYaKmq','BwfW','Dhj1zq','zgvSic9Mic9X','uhjVBxb0igrLDgvJDgvKigLUihn0zg91Da','DhjHBNnSyxrLq29TBwfUzfDPDgHbsq','sw52B2TLlvjLC3rnzxrOB2q','Dgv4Dc1LzgL0','Dgv4Dc1ZzwfYy2G','D3jPDgu','ywrKvg9iAxn0B3j5','lwnTzc0','BMv0D29YAY10zxn0','BMv3rgLYzwn0B3j5','Dw5PDMvYC2fS','A2LSBgvK','CNvUBMLUzW','zgv0zwn0uhjVBxb0','v2LUzg93CYbqB3DLCLnOzwXS','BgLZDerPCMvJDg9YEq','vgvYBwLUywWGrevcvuC6ifvZAw5NigfNzw50ignVBMzPz3vYzwqGD29YA2LUzYbKAxjLy3rVCNK6','mty5mtDeD3zwBM0','DMfSDwvZ','qwn0Aw9Uia','Bw92zsaKmsaKmG','BwTKAxiGjde','u3rVCc1qCM9JzxnZ','C3rKB3v0','zMLUzhn0CG','u0Lhs0Lmta','icyMia','zM9YBwf0','BMfTzq','AM9PBG','odC0mZKZt2zUA1b0','r2v0lunOAwXKsxrLBsaTuMvJDxjZzq','C3rHCNrZv2L0Aa','Bw92zq','CMvWBgfJzq','BwvZC2fNzvbYB2nLC3nVCG','zMLSzs1JCMvHDgu','Bg9N','q29TBwfUzcbMywLSzwq6ia','C3rHCNruAw1L','CMvSyxrPDMu','zNvUy3rPB24G','q29TBwfUzcb0Aw1LzcbVDxqGywz0zxiG','ChjVBxb0ugf0DgvYBNm','AgfSDa','AxndB21Tyw5Kq29TCgf0AwjSzq','mtrUvNLPwgC','zw5KvgLTzq','zgf0yq','vw5RBM93BIbHy3rPB24GDhLWztOG','CNvUlwnVBw1HBMq','zMLSzs1TB3zL','Dg9tDhjPBMC','D2fYBG','CgfZC3DVCMq','r2v0lvbYB2nLC3mGFcbtDg9WlvbYB2nLC3m','Aw5JBhvKzxm','C3rKzxjYqNvMzMvY','ywXSB3DLza','D2fPDgLUz19MB3jFAw5WDxq','zgLZAY1PBMzV','y29TBwfUza','y2f0','ChjVBxb0rgv0zwn0B3i','lI4U','r2v0lunVBNrLBNqGluHLywq','y2HHBMDLrgLYzwn0B3j5','A2v5ChjLC3m','A2v5CW','ywLtzxj2AwnL','yxn5BMm','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','yMfZAa','BwTKAxi','u0Lhvevstq','yxbPs2v5','DhjHBNnSyxrLq29TBwfUza','zMfPBgvK'];a0_0xa5e7=function(){return _0x40e6d8;};return a0_0xa5e7();}import a0_0x10dea3 from'../utilities/tagParser.js';import a0_0x1d987a from'../utilities/directoryAccessManager.js';import{spawn,exec}from'child_process';import a0_0x2aced1 from'path';import a0_0xe9eda2 from'fs/promises';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x2f8a(_0x1dda96,_0x4786c7){_0x1dda96=_0x1dda96-0xa2;const _0xa5e7f5=a0_0xa5e7();let _0x2f8a3f=_0xa5e7f5[_0x1dda96];if(a0_0x2f8a['MtdMDb']===undefined){var _0x2ed8e9=function(_0x1ad6ee){const _0x4a3a10='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10dea3='',_0x1d987a='';for(let _0x2aced1=0x0,_0xe9eda2,_0x346b0f,_0x396eca=0x0;_0x346b0f=_0x1ad6ee['charAt'](_0x396eca++);~_0x346b0f&&(_0xe9eda2=_0x2aced1%0x4?_0xe9eda2*0x40+_0x346b0f:_0x346b0f,_0x2aced1++%0x4)?_0x10dea3+=String['fromCharCode'](0xff&_0xe9eda2>>(-0x2*_0x2aced1&0x6)):0x0){_0x346b0f=_0x4a3a10['indexOf'](_0x346b0f);}for(let _0x19b12b=0x0,_0x48ba5f=_0x10dea3['length'];_0x19b12b<_0x48ba5f;_0x19b12b++){_0x1d987a+='%'+('00'+_0x10dea3['charCodeAt'](_0x19b12b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d987a);};a0_0x2f8a['JoRtmN']=_0x2ed8e9,a0_0x2f8a['vmzQRv']={},a0_0x2f8a['MtdMDb']=!![];}const _0x7030f1=_0xa5e7f5[0x0],_0x1dce30=_0x1dda96+_0x7030f1,_0x30ba96=a0_0x2f8a['vmzQRv'][_0x1dce30];return!_0x30ba96?(_0x2f8a3f=a0_0x2f8a['JoRtmN'](_0x2f8a3f),a0_0x2f8a['vmzQRv'][_0x1dce30]=_0x2f8a3f):_0x2f8a3f=_0x30ba96,_0x2f8a3f;}class PromptDetector{constructor(){const _0x15b8da=a0_0x2f8a;this[_0x15b8da(0x1a7)]=[{'pattern':/\(y\/n\)/i,'type':'yes-no','description':_0x15b8da(0x100)},{'pattern':/\(Y\/n\)/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\(y\/N\)/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/\[y\/n\]/i,'type':_0x15b8da(0xd6),'description':_0x15b8da(0x100)},{'pattern':/\[Y\/n\]/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\[y\/N\]/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/continue\?/i,'type':'continue','description':'Continue\x20prompt'},{'pattern':/proceed\?/i,'type':_0x15b8da(0xbb),'description':'Proceed\x20prompt'},{'pattern':/press any key to continue/i,'type':'keypress','description':_0x15b8da(0x115)},{'pattern':/press enter to continue/i,'type':_0x15b8da(0x1bf),'description':'Press\x20enter'},{'pattern':/hit enter to continue/i,'type':_0x15b8da(0x1bf),'description':_0x15b8da(0xa5)},{'pattern':/password:/i,'type':'password','description':_0x15b8da(0x1e1)},{'pattern':/enter password/i,'type':_0x15b8da(0x1b2),'description':'Password\x20prompt'},{'pattern':/passphrase:/i,'type':'password','description':'Passphrase\x20prompt'},{'pattern':/username:/i,'type':_0x15b8da(0xc4),'description':'Username\x20prompt'},{'pattern':/enter username/i,'type':'username','description':_0x15b8da(0x110)},{'pattern':/enter\s+\w+:/i,'type':'input','description':_0x15b8da(0xbe)},{'pattern':/please enter/i,'type':'input','description':'Generic\x20input\x20prompt'},{'pattern':/input:/i,'type':'input','description':_0x15b8da(0xbe)},{'pattern':/are you sure\?/i,'type':_0x15b8da(0x130),'description':_0x15b8da(0xf3)},{'pattern':/do you want to/i,'type':_0x15b8da(0x130),'description':_0x15b8da(0xf3)},{'pattern':/would you like to/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/select an option/i,'type':'selection','description':_0x15b8da(0xa8)},{'pattern':/choose/i,'type':'selection','description':_0x15b8da(0xa8)},{'pattern':/\d+\)\s+\w+/g,'type':_0x15b8da(0x16f),'description':'Menu\x20selection'}];}['detectPrompt'](_0x346b0f,_0x396eca='stdout'){const _0x46740d=a0_0x2f8a;if(!_0x346b0f||_0x346b0f[_0x46740d(0x118)]()[_0x46740d(0xb1)]===0x0)return null;const _0x19b12b=_0x346b0f[_0x46740d(0x141)]('\x0a'),_0x48ba5f=_0x19b12b['slice'](-0x5)['join']('\x0a');for(const _0x1a7f17 of this['promptPatterns']){const _0x2b6420=_0x48ba5f[_0x46740d(0x164)](_0x1a7f17['pattern']);if(_0x2b6420)return{'detected':!![],'type':_0x1a7f17['type'],'description':_0x1a7f17['description'],'matchedText':_0x2b6420[0x0],'matchIndex':_0x2b6420[_0x46740d(0xc5)],'source':_0x396eca,'fullContext':_0x48ba5f,'timestamp':Date['now']()};}const _0x4308de=_0x19b12b[_0x19b12b[_0x46740d(0xb1)]-0x1]||'';if(_0x4308de[_0x46740d(0x118)]()[_0x46740d(0xb1)]>0x0){const _0x2e2233=/:\s*$/['test'](_0x4308de),_0x2cda4e=/\?\s*$/[_0x46740d(0xc3)](_0x4308de);if(_0x2e2233||_0x2cda4e){const _0x237114=/\b(enter|type|provide|specify|input)\b/i['test'](_0x4308de);if(_0x237114)return{'detected':!![],'type':'generic','description':_0x46740d(0x1eb),'matchedText':_0x4308de[_0x46740d(0x118)](),'source':_0x396eca,'fullContext':_0x48ba5f,'timestamp':Date['now'](),'confidence':0.7};}}return null;}[a0_0x90eebf(0xdb)](_0x49e97d,_0x42ed29=0x7530){const _0x22904a=Date['now'](),_0x457de7=_0x22904a-_0x49e97d;return{'isHanging':_0x457de7>=_0x42ed29,'timeSinceLastOutput':_0x457de7,'threshold':_0x42ed29,'likelyWaiting':_0x457de7>=_0x42ed29/0x2};}}class TerminalTool extends BaseTool{constructor(_0x4b0a77={},_0x256451=null){const _0x4617d8=a0_0x90eebf;super(_0x4b0a77,_0x256451),this[_0x4617d8(0xe7)]=![],this['isAsync']=![],this[_0x4617d8(0x10e)]=_0x4b0a77[_0x4617d8(0x10e)]||0x1d4c0,this[_0x4617d8(0xe0)]=_0x4b0a77['maxConcurrentOperations']||0x3,this['workingDirectories']=new Map(),this['commandHistory']=[],this[_0x4617d8(0xd8)]=_0x4b0a77[_0x4617d8(0xd8)]||null,this[_0x4617d8(0x103)]=_0x4b0a77[_0x4617d8(0x103)]||[_0x4617d8(0x10d),_0x4617d8(0x197),_0x4617d8(0x17b),'shutdown','reboot',_0x4617d8(0x1a8)],this['directoryAccessManager']=new a0_0x1d987a(_0x4b0a77,_0x256451),this['promptDetector']=new PromptDetector(),this[_0x4617d8(0xbd)]=new Map(),this['commandIdCounter']=0x0,this[_0x4617d8(0xcd)]=_0x4b0a77[_0x4617d8(0x123)]||0x5,this[_0x4617d8(0x10f)]=_0x4b0a77['maxBackgroundCommandsGlobal']||0x14,this['MAX_COMMAND_AGE_MINUTES']=_0x4b0a77[_0x4617d8(0x1cf)]||0x3c,this['detectedTerminal']=null,this[_0x4617d8(0x137)]=null,this['initializeTerminalDetection']();}[a0_0x90eebf(0x1d0)](){const _0x5817c8=a0_0x90eebf;return _0x5817c8(0x12f)+this['timeout']+'ms)\x0a-\x20async:\x20Whether\x20to\x20run\x20command\x20asynchronously\x20(true/false)\x0a\x0aEXAMPLES:\x0a\x0aRun\x20npm\x20install:\x0a```json\x0a{\x22toolId\x22:\x20\x22terminal\x22,\x20\x22actions\x22:\x20[{\x22type\x22:\x20\x22run-command\x22,\x20\x22command\x22:\x20\x22npm\x20install\x22}]}\x0a```\x0a\x0aGit\x20operations:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22terminal\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22run-command\x22,\x20\x22command\x22:\x20\x22git\x20status\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22run-command\x22,\x20\x22command\x22:\x20\x22git\x20add\x20.\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22run-command\x22,\x20\x22command\x22:\x20\x22git\x20commit\x20-m\x20\x5c\x22Update\x20files\x5c\x22\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aChange\x20directory\x20and\x20build:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22terminal\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22change-directory\x22,\x20\x22directory\x22:\x20\x22../frontend\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22run-command\x22,\x20\x22command\x22:\x20\x22npm\x20run\x20build\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSECURITY:\x0a-\x20Dangerous\x20commands\x20are\x20blocked\x0a-\x20Commands\x20execute\x20in\x20isolated\x20environment\x0a-\x20Output\x20is\x20captured\x20and\x20returned\x20safely\x0a\x0aBEST\x20PRACTICES:\x0a-\x20Use\x20FileSystem\x20tool\x20for\x20file/directory\x20operations\x0a-\x20Use\x20Terminal\x20for\x20CLI\x20utilities\x20(npm,\x20git,\x20curl,\x20etc.)\x0a-\x20Check\x20command\x20output\x20to\x20verify\x20success\x0a\x20\x20\x20\x20';}[a0_0x90eebf(0x1dc)](_0x5de524){const _0x162a6c=a0_0x90eebf;try{const _0x1b9dbc={},_0x433813=a0_0x10dea3[_0x162a6c(0x106)](_0x5de524,_0x162a6c(0x1ae)),_0x4e815f=a0_0x10dea3['extractContent'](_0x5de524,'change-directory'),_0x207952=a0_0x10dea3['extractContent'](_0x5de524,'list-directory'),_0x2c4aa9=a0_0x10dea3[_0x162a6c(0x106)](_0x5de524,'create-directory'),_0x2d9845=a0_0x10dea3[_0x162a6c(0x106)](_0x5de524,'get-working-directory'),_0x27066c=a0_0x10dea3[_0x162a6c(0x106)](_0x5de524,_0x162a6c(0x10e)),_0x52f753=a0_0x10dea3[_0x162a6c(0x106)](_0x5de524,'async'),_0x4c3037=[];return _0x433813['length']>0x0&&_0x4c3037[_0x162a6c(0x174)]({'type':'run-command','command':_0x433813[0x0][_0x162a6c(0x118)]()}),_0x4e815f[_0x162a6c(0xb1)]>0x0&&_0x4c3037['push']({'type':_0x162a6c(0x1da),'directory':_0x4e815f[0x0]['trim']()}),_0x207952[_0x162a6c(0xb1)]>0x0&&_0x4c3037['push']({'type':_0x162a6c(0x1d9),'directory':_0x207952[0x0]['trim']()||'.'}),_0x2c4aa9['length']>0x0&&_0x4c3037[_0x162a6c(0x174)]({'type':_0x162a6c(0x16e),'directory':_0x2c4aa9[0x0][_0x162a6c(0x118)]()}),_0x2d9845[_0x162a6c(0xb1)]>0x0&&_0x4c3037[_0x162a6c(0x174)]({'type':_0x162a6c(0x11f)}),_0x1b9dbc['actions']=_0x4c3037,_0x27066c[_0x162a6c(0xb1)]>0x0&&(_0x1b9dbc['timeout']=parseInt(_0x27066c[0x0],0xa)),_0x52f753[_0x162a6c(0xb1)]>0x0&&(_0x1b9dbc[_0x162a6c(0x1c2)]=_0x52f753[0x0]['toLowerCase']()===_0x162a6c(0x17a)),_0x1b9dbc['rawContent']=_0x5de524[_0x162a6c(0x118)](),_0x1b9dbc;}catch(_0xd31917){throw new Error('Failed\x20to\x20parse\x20terminal\x20parameters:\x20'+_0xd31917[_0x162a6c(0x160)]);}}['getRequiredParameters'](){return['actions'];}['customValidateParameters'](_0x1d368c){const _0x2ab8bd=a0_0x90eebf,_0xda779c=[];if(!_0x1d368c[_0x2ab8bd(0x1d8)]||!Array[_0x2ab8bd(0x14e)](_0x1d368c[_0x2ab8bd(0x1d8)])||_0x1d368c[_0x2ab8bd(0x1d8)][_0x2ab8bd(0xb1)]===0x0)_0xda779c['push']('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x11f04b,_0x5c15aa]of _0x1d368c[_0x2ab8bd(0x1d8)]['entries']()){if(!_0x5c15aa[_0x2ab8bd(0xee)]){_0xda779c['push']('Action\x20'+(_0x11f04b+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x5c15aa[_0x2ab8bd(0xee)]){case'run-command':if(!_0x5c15aa[_0x2ab8bd(0x1b9)]||!_0x5c15aa[_0x2ab8bd(0x1b9)][_0x2ab8bd(0x118)]())_0xda779c['push'](_0x2ab8bd(0x18f)+(_0x11f04b+0x1)+':\x20command\x20is\x20required\x20for\x20run-command');else{if(this['isBlockedCommand'](_0x5c15aa['command']))_0xda779c['push'](_0x2ab8bd(0x18f)+(_0x11f04b+0x1)+':\x20command\x20is\x20blocked\x20for\x20security:\x20'+_0x5c15aa['command']);else this['allowedCommands']&&!this[_0x2ab8bd(0x1df)](_0x5c15aa[_0x2ab8bd(0x1b9)])&&_0xda779c['push']('Action\x20'+(_0x11f04b+0x1)+':\x20command\x20is\x20not\x20in\x20allowed\x20list:\x20'+_0x5c15aa['command']);}break;case'change-directory':case _0x2ab8bd(0x1d9):case _0x2ab8bd(0x16e):(!_0x5c15aa[_0x2ab8bd(0x139)]||!_0x5c15aa['directory'][_0x2ab8bd(0x118)]())&&_0xda779c[_0x2ab8bd(0x174)](_0x2ab8bd(0x18f)+(_0x11f04b+0x1)+':\x20directory\x20is\x20required\x20for\x20'+_0x5c15aa[_0x2ab8bd(0xee)]);break;case _0x2ab8bd(0x11f):break;default:_0xda779c[_0x2ab8bd(0x174)]('Action\x20'+(_0x11f04b+0x1)+_0x2ab8bd(0xcc)+_0x5c15aa[_0x2ab8bd(0xee)]);}}return _0x1d368c[_0x2ab8bd(0x10e)]&&(_0x1d368c['timeout']<0x3e8||_0x1d368c[_0x2ab8bd(0x10e)]>this['timeout'])&&_0xda779c[_0x2ab8bd(0x174)]('Timeout\x20must\x20be\x20between\x201000\x20and\x20'+this[_0x2ab8bd(0x10e)]+_0x2ab8bd(0xef)),{'valid':_0xda779c['length']===0x0,'errors':_0xda779c};}async['execute'](_0x4971f6,_0x15ac67){const _0x463492=a0_0x90eebf,{actions:_0x1617c6,timeout:_0x4ced03,async:_0x1a3d93}=_0x4971f6,{agentId:_0x30a422,projectDir:_0xc3feea,directoryAccess:_0x3401f6}=_0x15ac67,_0x9dd998=_0x3401f6||this['directoryAccessManager'][_0x463492(0x1c3)]({'workingDirectory':_0xc3feea||process['cwd'](),'writeEnabledDirectories':[_0xc3feea||process[_0x463492(0x145)]()],'restrictToProject':!![]});_0x3401f6&&_0x3401f6['workingDirectory']?console[_0x463492(0x1a1)](_0x463492(0x18c),_0x3401f6[_0x463492(0x107)]):console[_0x463492(0x1a1)]('Terminal\x20DEBUG:\x20Using\x20fallback\x20working\x20directory:',_0xc3feea||process['cwd']());const _0x4fc582=_0x30a422+'-'+(_0xc3feea||'default');let _0x57352b=this['workingDirectories'][_0x463492(0x13f)](_0x4fc582)||this[_0x463492(0xea)]['getWorkingDirectory'](_0x9dd998);const _0xfdea08=[];for(const _0x237a46 of _0x1617c6){try{let _0x4cc9f5;switch(_0x237a46['type']){case'run-command':_0x4cc9f5=await this['executeCommand'](_0x237a46[_0x463492(0x1b9)],_0x57352b,{'timeout':_0x4ced03||this[_0x463492(0x10e)],'async':_0x1a3d93||![],'agentId':_0x30a422,'context':{'toolsRegistry':_0x15ac67['toolsRegistry'],'aiService':_0x15ac67[_0x463492(0x1c1)],'apiKey':_0x15ac67[_0x463492(0x1c7)],'customApiKeys':_0x15ac67['customApiKeys'],'platformProvided':_0x15ac67[_0x463492(0xe6)]}});break;case'change-directory':_0x4cc9f5=await this[_0x463492(0x1be)](_0x237a46['directory'],_0x57352b,_0x9dd998),_0x57352b=_0x4cc9f5[_0x463492(0x185)],this[_0x463492(0x176)][_0x463492(0xd9)](_0x4fc582,_0x57352b);break;case'list-directory':_0x4cc9f5=await this[_0x463492(0x18b)](_0x237a46['directory']==='.'?_0x57352b:_0x237a46[_0x463492(0x139)]);break;case'create-directory':_0x4cc9f5=await this[_0x463492(0x138)](_0x237a46['directory'],_0x57352b);break;case'get-working-directory':_0x4cc9f5={'success':!![],'action':'get-working-directory','workingDirectory':_0x57352b,'message':'Current\x20working\x20directory:\x20'+_0x57352b};break;default:throw new Error(_0x463492(0x1ad)+_0x237a46[_0x463492(0xee)]);}_0xfdea08['push'](_0x4cc9f5),this[_0x463492(0x182)](_0x237a46,_0x4cc9f5,_0x30a422);}catch(_0xbb36a3){const _0xe33db1={'success':![],'action':_0x237a46[_0x463492(0xee)],'error':_0xbb36a3[_0x463492(0x160)],'command':_0x237a46['command']||_0x237a46['directory'],'workingDirectory':_0x57352b};_0xfdea08['push'](_0xe33db1),this[_0x463492(0x182)](_0x237a46,_0xe33db1,_0x30a422);}}const _0x1f9061=_0xfdea08['every'](_0x218831=>_0x218831[_0x463492(0xb2)]),_0x3bdb57=_0xfdea08['filter'](_0x53b55a=>!_0x53b55a['success']);return{'success':_0x1f9061,'actions':_0xfdea08,'workingDirectory':_0x57352b,'executedActions':_0x1617c6['length'],'failedActions':_0x3bdb57['length'],'toolUsed':_0x463492(0xeb),'message':_0x1f9061?_0x463492(0x12b)+_0x1617c6[_0x463492(0xb1)]+'\x20actions\x20completed\x20successfully':_0x3bdb57[_0x463492(0xb1)]+'\x20of\x20'+_0x1617c6[_0x463492(0xb1)]+_0x463492(0x133)};}async['executeCommand'](_0xcd0d54,_0x30bec8,_0x28b6a3={}){const _0x456f36=a0_0x90eebf,{timeout:timeout=this['timeout'],async:_0x5e90ce=![],agentId:_0xe833ed,context:_0x109dd0}=_0x28b6a3,_0x4f6bdf=_0xcd0d54;let _0x4d5ddd;try{_0x4d5ddd=await this['translateCommand'](_0xcd0d54,{'agentId':_0xe833ed,'toolsRegistry':_0x109dd0?.[_0x456f36(0xbf)],'messageProcessor':_0x109dd0?.[_0x456f36(0x19f)],'aiService':_0x109dd0?.[_0x456f36(0x1c1)],'apiKey':_0x109dd0?.[_0x456f36(0x1c7)],'customApiKeys':_0x109dd0?.['customApiKeys'],'platformProvided':_0x109dd0?.['platformProvided']});}catch(_0x847218){this[_0x456f36(0x166)]?.['warn'](_0x456f36(0xba),{'originalCommand':_0x4f6bdf,'error':_0x847218['message']}),_0x4d5ddd=_0xcd0d54;}return new Promise((_0x9471dc,_0x19640e)=>{const _0x970755=_0x456f36,_0x3c93bd=Date[_0x970755(0xe3)]();this['logger']?.['info'](_0x970755(0xd2)+_0x4d5ddd,{'originalCommand':_0x4f6bdf,'translatedCommand':_0x4d5ddd,'terminal':this['detectedTerminal'],'workingDirectory':_0x30bec8,'timeout':timeout,'agentId':_0xe833ed});const _0x4da9b5=exec(_0x4d5ddd,{'cwd':_0x30bec8,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process['env']}},(_0x4dffb8,_0x50031a,_0x4146d6)=>{const _0x9ffbb8=_0x970755,_0x1c4265=Date['now']()-_0x3c93bd;if(_0x4dffb8){this['logger']?.['error'](_0x9ffbb8(0x1a2)+_0x4d5ddd,{'originalCommand':_0x4f6bdf,'translatedCommand':_0x4d5ddd,'error':_0x4dffb8['message'],'workingDirectory':_0x30bec8,'executionTime':_0x1c4265}),_0x9471dc({'success':![],'action':'run-command','command':_0x4f6bdf,'translatedCommand':_0x4d5ddd!==_0x4f6bdf?_0x4d5ddd:undefined,'error':_0x4dffb8[_0x9ffbb8(0x160)],'stderr':_0x4146d6['trim'](),'stdout':_0x50031a['trim'](),'exitCode':_0x4dffb8[_0x9ffbb8(0xa9)],'executionTime':_0x1c4265,'workingDirectory':_0x30bec8});return;}this['logger']?.[_0x9ffbb8(0xd3)]('Command\x20completed:\x20'+_0x4d5ddd,{'originalCommand':_0x4f6bdf,'translatedCommand':_0x4d5ddd,'executionTime':_0x1c4265,'stdoutLength':_0x50031a['length'],'stderrLength':_0x4146d6[_0x9ffbb8(0xb1)]}),_0x9471dc({'success':!![],'action':_0x9ffbb8(0x1ae),'command':_0x4f6bdf,'translatedCommand':_0x4d5ddd!==_0x4f6bdf?_0x4d5ddd:undefined,'stdout':_0x50031a[_0x9ffbb8(0x118)](),'stderr':_0x4146d6['trim'](),'exitCode':0x0,'executionTime':_0x1c4265,'workingDirectory':_0x30bec8,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x1c4265+'ms'});});setTimeout(()=>{const _0x3255dc=_0x970755;!_0x4da9b5[_0x3255dc(0x187)]&&(_0x4da9b5['kill']('SIGTERM'),_0x19640e(new Error(_0x3255dc(0x1a6)+timeout+'ms:\x20'+_0x4d5ddd+'\x20(original:\x20'+_0x4f6bdf+')')));},timeout);});}async[a0_0x90eebf(0x15a)](_0x3e5471,_0x339ac7,_0x567a62={}){const _0x516e36=a0_0x90eebf,{timeout:timeout=this[_0x516e36(0x10e)],agentId:_0x59cace,context:_0x427cc4}=_0x567a62,_0x54d4d0=_0x3e5471;let _0x38bc43;try{_0x38bc43=await this[_0x516e36(0x1c8)](_0x3e5471,{'agentId':_0x59cace,'toolsRegistry':_0x427cc4?.[_0x516e36(0xbf)],'messageProcessor':_0x427cc4?.[_0x516e36(0x19f)],'aiService':_0x427cc4?.['aiService'],'apiKey':_0x427cc4?.[_0x516e36(0x1c7)],'customApiKeys':_0x427cc4?.['customApiKeys'],'platformProvided':_0x427cc4?.['platformProvided']});}catch(_0x5c3a56){this[_0x516e36(0x166)]?.[_0x516e36(0x1b1)](_0x516e36(0xba),{'originalCommand':_0x54d4d0,'error':_0x5c3a56['message']}),_0x38bc43=_0x3e5471;}return new Promise((_0x1bef04,_0xa5ba95)=>{const _0x3ff454=_0x516e36,_0x57d334=Date[_0x3ff454(0xe3)]();this[_0x3ff454(0x166)]?.['info'](_0x3ff454(0xfc)+_0x38bc43,{'originalCommand':_0x54d4d0,'translatedCommand':_0x38bc43,'terminal':this['detectedTerminal'],'workingDirectory':_0x339ac7,'timeout':timeout,'agentId':_0x59cace});let _0x29fc3f;if(this[_0x3ff454(0x1ea)]===_0x3ff454(0xe9)||this[_0x3ff454(0x1ea)]==='powershell'){const _0x46663d=this['detectedTerminal']===_0x3ff454(0xab)?'powershell':_0x3ff454(0xe9),_0x268302=this[_0x3ff454(0x1ea)]===_0x3ff454(0xab)?[_0x3ff454(0x132),_0x38bc43]:['/c',_0x38bc43];_0x29fc3f=spawn(_0x46663d,_0x268302,{'cwd':_0x339ac7,'env':{...process[_0x3ff454(0xa4)]},'windowsHide':!![]});}else _0x29fc3f=spawn('sh',['-c',_0x38bc43],{'cwd':_0x339ac7,'env':{...process['env']}});let _0x52a221='',_0x4bd5df='',_0x32fc64=![],_0x4ceccb=null,_0x3c8025=Date[_0x3ff454(0xe3)](),_0x51945a=null;const _0x48c008=setTimeout(()=>{!_0x29fc3f['killed']&&_0x4ceccb===null&&(_0x32fc64=!![],this['logger']?.['warn']('Command\x20timed\x20out,\x20killing\x20process:\x20'+_0x38bc43,{'timeout':timeout,'agentId':_0x59cace}),_0x29fc3f['kill']('SIGTERM'),setTimeout(()=>{const _0x5bc485=a0_0x2f8a;!_0x29fc3f[_0x5bc485(0x187)]&&_0x29fc3f[_0x5bc485(0x11e)](_0x5bc485(0x195));},0x1388));},timeout);_0x29fc3f[_0x3ff454(0x193)]['on']('data',_0x350e0a=>{const _0x7c5e2d=_0x3ff454,_0x288935=_0x350e0a['toString']();_0x52a221+=_0x288935,_0x3c8025=Date[_0x7c5e2d(0xe3)](),this[_0x7c5e2d(0x166)]?.[_0x7c5e2d(0x158)](_0x7c5e2d(0x109)+_0x288935[_0x7c5e2d(0xd4)](0x0,0x64),{'agentId':_0x59cace,'command':_0x54d4d0[_0x7c5e2d(0xd4)](0x0,0x32)});if(!_0x51945a){const _0xb4cbaf=this[_0x7c5e2d(0x1bb)]['detectPrompt'](_0x52a221,'stdout');_0xb4cbaf&&(_0x51945a=_0xb4cbaf,this[_0x7c5e2d(0x166)]?.[_0x7c5e2d(0xd3)](_0x7c5e2d(0x17c),{'type':_0xb4cbaf['type'],'description':_0xb4cbaf[_0x7c5e2d(0x129)],'matchedText':_0xb4cbaf[_0x7c5e2d(0x12a)],'agentId':_0x59cace,'command':_0x54d4d0[_0x7c5e2d(0xd4)](0x0,0x32)}));}}),_0x29fc3f['stderr']['on']('data',_0x2a78d6=>{const _0x18c98c=_0x3ff454,_0x39a66a=_0x2a78d6['toString']();_0x4bd5df+=_0x39a66a,_0x3c8025=Date[_0x18c98c(0xe3)](),this[_0x18c98c(0x166)]?.['debug']('Command\x20error\x20chunk:\x20'+_0x39a66a[_0x18c98c(0xd4)](0x0,0x64),{'agentId':_0x59cace,'command':_0x54d4d0[_0x18c98c(0xd4)](0x0,0x32)});if(!_0x51945a){const _0x4785aa=this['promptDetector'][_0x18c98c(0x189)](_0x4bd5df,_0x18c98c(0xdd));_0x4785aa&&(_0x51945a=_0x4785aa,this['logger']?.[_0x18c98c(0xd3)]('Prompt\x20detected\x20in\x20stderr',{'type':_0x4785aa['type'],'description':_0x4785aa['description'],'matchedText':_0x4785aa[_0x18c98c(0x12a)],'agentId':_0x59cace,'command':_0x54d4d0[_0x18c98c(0xd4)](0x0,0x32)}));}}),_0x29fc3f['on']('exit',(_0x191f1d,_0x4ccb3e)=>{const _0x4b813c=_0x3ff454;clearTimeout(_0x48c008),_0x4ceccb=_0x191f1d;const _0x4122dd=Date[_0x4b813c(0xe3)]()-_0x57d334,_0x26615d=Date[_0x4b813c(0xe3)]()-_0x3c8025;this['logger']?.['info']('Command\x20process\x20exited:\x20'+_0x38bc43,{'exitCode':_0x191f1d,'signal':_0x4ccb3e,'executionTime':_0x4122dd,'timedOut':_0x32fc64,'stdoutLength':_0x52a221[_0x4b813c(0xb1)],'stderrLength':_0x4bd5df[_0x4b813c(0xb1)],'promptDetected':!!_0x51945a,'timeSinceLastOutput':_0x26615d});const _0x3a43cb={'action':_0x4b813c(0x1ae),'command':_0x54d4d0,'translatedCommand':_0x38bc43!==_0x54d4d0?_0x38bc43:undefined,'stdout':_0x52a221[_0x4b813c(0x118)](),'stderr':_0x4bd5df['trim'](),'exitCode':_0x191f1d,'executionTime':_0x4122dd,'workingDirectory':_0x339ac7,'promptDetected':!!_0x51945a,'promptInfo':_0x51945a||undefined,'lastOutputTime':_0x3c8025,'timeSinceLastOutput':_0x26615d};if(_0x32fc64){_0x1bef04({..._0x3a43cb,'success':![],'error':_0x4b813c(0x1a6)+timeout+'ms','exitCode':_0x191f1d||-0x1,'timedOut':!![]});return;}if(_0x191f1d!==0x0){this['logger']?.['error']('Command\x20failed\x20with\x20exit\x20code\x20'+_0x191f1d+':\x20'+_0x38bc43,{'originalCommand':_0x54d4d0,'translatedCommand':_0x38bc43,'exitCode':_0x191f1d,'stderr':_0x4bd5df[_0x4b813c(0xd4)](0x0,0xc8),'executionTime':_0x4122dd,'promptDetected':!!_0x51945a}),_0x1bef04({..._0x3a43cb,'success':![],'error':_0x4b813c(0x14d)+_0x191f1d});return;}this[_0x4b813c(0x166)]?.[_0x4b813c(0xd3)]('Command\x20completed\x20successfully:\x20'+_0x38bc43,{'originalCommand':_0x54d4d0,'executionTime':_0x4122dd,'stdoutLength':_0x52a221[_0x4b813c(0xb1)],'stderrLength':_0x4bd5df[_0x4b813c(0xb1)],'promptDetected':!!_0x51945a}),_0x1bef04({..._0x3a43cb,'success':!![],'exitCode':0x0,'message':_0x4b813c(0xb9)+_0x4122dd+'ms'});}),_0x29fc3f['on']('error',_0x55d521=>{const _0x52673b=_0x3ff454;clearTimeout(_0x48c008);const _0x324b7b=Date[_0x52673b(0xe3)]()-_0x57d334,_0x32ac89=Date[_0x52673b(0xe3)]()-_0x3c8025;this[_0x52673b(0x166)]?.[_0x52673b(0x148)](_0x52673b(0x159)+_0x38bc43,{'originalCommand':_0x54d4d0,'error':_0x55d521['message'],'executionTime':_0x324b7b,'promptDetected':!!_0x51945a}),_0x1bef04({'success':![],'action':'run-command','command':_0x54d4d0,'translatedCommand':_0x38bc43!==_0x54d4d0?_0x38bc43:undefined,'error':_0x55d521[_0x52673b(0x160)],'stderr':_0x4bd5df['trim'](),'stdout':_0x52a221['trim'](),'exitCode':-0x1,'executionTime':_0x324b7b,'workingDirectory':_0x339ac7,'promptDetected':!!_0x51945a,'promptInfo':_0x51945a||undefined,'lastOutputTime':_0x3c8025,'timeSinceLastOutput':_0x32ac89});});});}async[a0_0x90eebf(0x1be)](_0x54b502,_0x29cc4f,_0x49849c){const _0x387bb6=a0_0x90eebf;try{let _0x4cfc3d;a0_0x2aced1[_0x387bb6(0xed)](_0x54b502)?_0x4cfc3d=_0x54b502:_0x4cfc3d=a0_0x2aced1['resolve'](_0x29cc4f,_0x54b502);const _0x2495e9=await a0_0xe9eda2[_0x387bb6(0xec)](_0x4cfc3d);if(!_0x2495e9[_0x387bb6(0x16b)]())throw new Error('Not\x20a\x20directory:\x20'+_0x4cfc3d);const _0x44b2d5=this[_0x387bb6(0xea)]['validateReadAccess'](_0x4cfc3d,_0x49849c);if(!_0x44b2d5[_0x387bb6(0x1b6)]){this['logger']?.[_0x387bb6(0x1b1)]('Directory\x20change\x20blocked:\x20'+_0x44b2d5['reason'],{'targetDirectory':_0x4cfc3d,'reason':_0x44b2d5[_0x387bb6(0x1d4)],'category':_0x44b2d5['category']});throw new Error('Access\x20denied:\x20'+_0x44b2d5['reason']);}return{'success':!![],'action':'change-directory','previousDirectory':_0x29cc4f,'newDirectory':_0x4cfc3d,'message':'Changed\x20directory\x20to\x20'+_0x4cfc3d};}catch(_0x1518b1){throw new Error('Failed\x20to\x20change\x20directory\x20to\x20'+_0x54b502+':\x20'+_0x1518b1['message']);}}async[a0_0x90eebf(0x18b)](_0x17cfb8){const _0x3df6b2=a0_0x90eebf;try{const _0x47d01d=await a0_0xe9eda2['readdir'](_0x17cfb8,{'withFileTypes':!![]}),_0x21e8d8=_0x47d01d['map'](_0x42ff46=>({'name':_0x42ff46[_0x3df6b2(0x198)],'type':_0x42ff46[_0x3df6b2(0x16b)]()?'directory':_0x3df6b2(0x146),'isSymlink':_0x42ff46[_0x3df6b2(0x15e)]()}));return{'success':!![],'action':_0x3df6b2(0x1d9),'directory':_0x17cfb8,'contents':_0x21e8d8,'totalItems':_0x21e8d8[_0x3df6b2(0xb1)],'directories':_0x21e8d8[_0x3df6b2(0xb4)](_0x43f0e0=>_0x43f0e0['type']==='directory')[_0x3df6b2(0xb1)],'files':_0x21e8d8['filter'](_0x344655=>_0x344655['type']===_0x3df6b2(0x146))['length'],'message':_0x3df6b2(0x14f)+_0x21e8d8[_0x3df6b2(0xb1)]+'\x20items\x20in\x20'+_0x17cfb8};}catch(_0x3c08fd){throw new Error(_0x3df6b2(0xe5)+_0x17cfb8+':\x20'+_0x3c08fd[_0x3df6b2(0x160)]);}}async['createDirectory'](_0x2575e9,_0x44c901){const _0x4ae2b4=a0_0x90eebf;try{let _0x17882d;return a0_0x2aced1['isAbsolute'](_0x2575e9)?_0x17882d=_0x2575e9:_0x17882d=a0_0x2aced1['resolve'](_0x44c901,_0x2575e9),await a0_0xe9eda2[_0x4ae2b4(0x1c5)](_0x17882d,{'recursive':!![]}),{'success':!![],'action':_0x4ae2b4(0x16e),'directory':_0x17882d,'relativePath':a0_0x2aced1[_0x4ae2b4(0x1a4)](_0x44c901,_0x17882d),'message':_0x4ae2b4(0xce)+_0x17882d};}catch(_0x2b2bb7){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x2575e9+':\x20'+_0x2b2bb7['message']);}}[a0_0x90eebf(0x165)](_0x2789ff){const _0x35e895=a0_0x90eebf,_0x17ecf4=_0x2789ff[_0x35e895(0x173)]()['trim']();return this[_0x35e895(0x103)]['some'](_0x4136c7=>{const _0x596b2c=_0x35e895,_0x23bca9=_0x4136c7['toLowerCase']();return _0x17ecf4===_0x23bca9||_0x17ecf4[_0x596b2c(0x19c)](_0x23bca9+'\x20');});}[a0_0x90eebf(0x1df)](_0xf7c894){const _0x5046a7=a0_0x90eebf;if(!this[_0x5046a7(0xd8)])return!![];const _0x2ea6a6=_0xf7c894[_0x5046a7(0x173)]()['trim'](),_0x42eac3=_0x2ea6a6[_0x5046a7(0x141)]('\x20')[0x0];return this[_0x5046a7(0xd8)]['some'](_0x39e2fc=>_0x39e2fc[_0x5046a7(0x173)]()===_0x42eac3||_0x2ea6a6['startsWith'](_0x39e2fc[_0x5046a7(0x173)]()+'\x20'));}['addToHistory'](_0x33194e,_0x3bf542,_0x84df56){const _0x3908e9=a0_0x90eebf,_0x249e40={'timestamp':new Date()[_0x3908e9(0x11a)](),'agentId':_0x84df56,'action':_0x33194e['type'],'command':_0x33194e[_0x3908e9(0x1b9)]||_0x33194e['directory'],'success':_0x3bf542[_0x3908e9(0xb2)],'executionTime':_0x3bf542[_0x3908e9(0xff)]||0x0,'workingDirectory':_0x3bf542['workingDirectory']};this['commandHistory'][_0x3908e9(0x174)](_0x249e40),this[_0x3908e9(0x15d)][_0x3908e9(0xb1)]>0x64&&(this[_0x3908e9(0x15d)]=this[_0x3908e9(0x15d)][_0x3908e9(0xad)](-0x64));}['getSupportedActions'](){const _0x253a1d=a0_0x90eebf;return[_0x253a1d(0x1ae),_0x253a1d(0x1da),_0x253a1d(0x1d9),_0x253a1d(0x16e),_0x253a1d(0x11f)];}[a0_0x90eebf(0xf0)](){const _0x414862=a0_0x90eebf;return{'type':'object','properties':{'actions':{'type':_0x414862(0xf6),'minItems':0x1,'items':{'type':_0x414862(0xd1),'properties':{'type':{'type':'string','enum':this[_0x414862(0x16a)]()},'command':{'type':_0x414862(0x1e7)},'directory':{'type':'string'}},'required':[_0x414862(0xee)]}},'timeout':{'type':_0x414862(0xc8),'minimum':0x3e8,'maximum':this['timeout']},'async':{'type':_0x414862(0x155)}},'required':['actions']};}['getCommandHistory'](_0x1151bd=null){const _0x16aebe=a0_0x90eebf;if(_0x1151bd)return this['commandHistory']['filter'](_0x1038ae=>_0x1038ae[_0x16aebe(0xc0)]===_0x1151bd);return[...this[_0x16aebe(0x15d)]];}[a0_0x90eebf(0xd7)](_0x26078b){const _0x2d97ea=a0_0x90eebf;for(const [_0x5cb69f]of this['workingDirectories']){_0x5cb69f[_0x2d97ea(0x19c)](_0x26078b+'-')&&this['workingDirectories']['delete'](_0x5cb69f);}}[a0_0x90eebf(0xc7)](_0x227964,_0x5e05ef=null){const _0x283d80=a0_0x90eebf,_0x1611bd=_0x227964+'-'+(_0x5e05ef||'default');return this[_0x283d80(0x176)]['get'](_0x1611bd)||_0x5e05ef||process['cwd']();}[a0_0x90eebf(0xd0)](){const _0xb3e197=a0_0x90eebf;this['platformType']=process['platform'];if(process[_0xb3e197(0x12c)]===_0xb3e197(0x117)){if(process[_0xb3e197(0xa4)]['PSModulePath'])this['detectedTerminal']=_0xb3e197(0xab);else process[_0xb3e197(0xa4)][_0xb3e197(0x120)]&&process['env']['SHELL']['includes']('bash')?this['detectedTerminal']='bash':this[_0xb3e197(0x1ea)]=_0xb3e197(0xe9);}else process['platform']===_0xb3e197(0x108)?this[_0xb3e197(0x1ea)]='bash':this['detectedTerminal']='bash';this[_0xb3e197(0x166)]?.[_0xb3e197(0xd3)](_0xb3e197(0xac),{'platform':this[_0xb3e197(0x137)],'terminal':this['detectedTerminal'],'shell':process[_0xb3e197(0xa4)]['SHELL']});}async[a0_0x90eebf(0x1c8)](_0x2ecdc9,_0x238548={}){const _0x67fdce=a0_0x90eebf,_0x4e689a=_0x2ecdc9[_0x67fdce(0x118)](),_0x811d8=this['analyzeCommandCompatibility'](_0x4e689a);this[_0x67fdce(0x166)]?.[_0x67fdce(0xd3)]('Command\x20compatibility\x20analysis',{'command':_0x4e689a,'detectedTerminal':_0x811d8['detectedTerminal'],'commandType':_0x811d8['commandType'],'commandCategory':_0x811d8[_0x67fdce(0xfa)],'compatible':_0x811d8['compatible'],'issues':_0x811d8['specificIssues'],'suggestedAction':_0x811d8[_0x67fdce(0x10a)],'confidence':_0x811d8['confidence']});if(_0x811d8['compatible'])return _0x2ecdc9;let _0x3bba0c=null;if(this['detectedTerminal']===_0x67fdce(0xe9))_0x3bba0c=this['translateToWindowsCmd'](_0x4e689a);else{if(this['detectedTerminal']==='powershell')_0x3bba0c=this['translateToPowerShell'](_0x4e689a);else this['detectedTerminal']===_0x67fdce(0x1c4)&&(_0x3bba0c=this[_0x67fdce(0x14c)](_0x4e689a));}if(_0x3bba0c&&this['isSimpleCommand'](_0x4e689a))return this[_0x67fdce(0x166)]?.['info']('Using\x20simple\x20translation',{'original':_0x2ecdc9,'translated':_0x3bba0c,'method':_0x67fdce(0x1e5)}),_0x3bba0c;if(_0x238548[_0x67fdce(0x1c1)]||_0x238548['toolsRegistry']&&_0x238548[_0x67fdce(0xc0)]){this['logger']?.[_0x67fdce(0xd3)](_0x67fdce(0xf8),{'command':_0x2ecdc9['substring'](0x0,0x64)+_0x67fdce(0x1bc),'hasAiService':!!_0x238548[_0x67fdce(0x1c1)],'hasToolsRegistry':!!_0x238548['toolsRegistry'],'agentId':_0x238548[_0x67fdce(0xc0)]});try{const _0x571f9f=await this[_0x67fdce(0x17d)](_0x2ecdc9,_0x238548);if(_0x571f9f&&_0x571f9f['trim']()!==_0x2ecdc9[_0x67fdce(0x118)]())return this[_0x67fdce(0x166)]?.['info'](_0x67fdce(0x13e),{'original':_0x2ecdc9,'translated':_0x571f9f,'method':'ai'}),_0x571f9f;else this[_0x67fdce(0x166)]?.[_0x67fdce(0x1b1)]('AI\x20translation\x20returned\x20same\x20command',{'original':_0x2ecdc9,'translated':_0x571f9f});}catch(_0x5ebe7e){this[_0x67fdce(0x166)]?.['warn'](_0x67fdce(0xa3),{'original':_0x2ecdc9,'error':_0x5ebe7e['message'],'stack':_0x5ebe7e[_0x67fdce(0x12d)]});}}else this['logger']?.['warn'](_0x67fdce(0x1e9),{'hasAiService':!!_0x238548['aiService'],'hasToolsRegistry':!!_0x238548['toolsRegistry'],'hasAgentId':!!_0x238548[_0x67fdce(0xc0)],'contextKeys':Object[_0x67fdce(0x1c0)](_0x238548)});return _0x3bba0c||_0x2ecdc9;}[a0_0x90eebf(0xa2)](_0x1a6a4d){const _0x5ef5a0=a0_0x90eebf,_0x31fc8b=_0x1a6a4d[_0x5ef5a0(0x173)]();if(_0x1a6a4d[_0x5ef5a0(0x1b4)]('\x5cn')||_0x1a6a4d['includes']('\x5cr')||_0x1a6a4d[_0x5ef5a0(0x1b4)]('\x5ct'))return![];if(_0x1a6a4d['includes']('\x0a')||_0x1a6a4d['includes']('\x0d'))return![];if(_0x1a6a4d[_0x5ef5a0(0x1b4)]('#include')||_0x1a6a4d['includes'](_0x5ef5a0(0xe1))||_0x1a6a4d[_0x5ef5a0(0x1b4)]('main()'))return![];if(_0x1a6a4d[_0x5ef5a0(0x1b4)](_0x5ef5a0(0x1db))||_0x1a6a4d[_0x5ef5a0(0x1b4)](_0x5ef5a0(0x1a5))||_0x1a6a4d[_0x5ef5a0(0x1b4)]('class\x20'))return![];if(_0x1a6a4d['includes']('echo\x20\x27')&&!_0x1a6a4d['includes'](_0x5ef5a0(0x157)))return![];const _0x2707d4=_0x1a6a4d['match'](/'([^']*)'/);if(_0x2707d4&&_0x2707d4[0x1][_0x5ef5a0(0xb1)]>0x32)return![];if(this['detectedTerminal']===_0x5ef5a0(0xe9)&&_0x1a6a4d['includes']('>')&&_0x1a6a4d['includes']('/')&&!_0x1a6a4d['includes']('\x5c'))return![];if(_0x1a6a4d[_0x5ef5a0(0x1b4)](_0x5ef5a0(0x196))||_0x1a6a4d[_0x5ef5a0(0x1b4)](_0x5ef5a0(0xb8))||_0x1a6a4d['includes'](';\x20'))return![];if(_0x1a6a4d['includes']('$(')||_0x1a6a4d['includes']('`')||_0x1a6a4d[_0x5ef5a0(0x1b4)]('{')||_0x1a6a4d[_0x5ef5a0(0x1b4)]('['))return![];if(_0x31fc8b[_0x5ef5a0(0x1b4)](_0x5ef5a0(0xe2))||_0x31fc8b[_0x5ef5a0(0x1b4)](_0x5ef5a0(0x154))||_0x31fc8b[_0x5ef5a0(0x1b4)]('if\x20'))return![];if(_0x31fc8b[_0x5ef5a0(0x1b4)]('export ')||_0x31fc8b['includes']('source\x20'))return![];if(_0x1a6a4d['includes']('\x20|\x20')||_0x1a6a4d[_0x5ef5a0(0x1b4)]('\x20>\x20&'))return![];return!![];}async[a0_0x90eebf(0x17d)](_0xe76f7c,_0x863483){const _0x577751=a0_0x90eebf;let _0x885bee=_0x863483['aiService'];if(!_0x885bee&&_0x863483[_0x577751(0xbf)]&&_0x863483['agentId']){const _0x6a2a5d=_0x863483[_0x577751(0x19f)];_0x6a2a5d&&_0x6a2a5d[_0x577751(0x1c1)]&&(_0x885bee=_0x6a2a5d[_0x577751(0x1c1)]);}if(!_0x885bee)throw new Error(_0x577751(0xc6));const _0x3cfe7e=this[_0x577751(0x1d2)](_0xe76f7c),_0x2e3a5c=_0x577751(0x143);try{const _0x10ff8f=await _0x885bee[_0x577751(0x13a)](_0x2e3a5c,_0x3cfe7e,{'agentId':_0x863483['agentId'],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x863483['apiKey'],'customApiKeys':_0x863483['customApiKeys'],'platformProvided':_0x863483[_0x577751(0xe6)]}),_0x14ad0a=this['extractTranslatedCommand'](_0x10ff8f[_0x577751(0x156)]);return this['logger']?.['debug']('AI\x20command\x20translation\x20completed',{'original':_0xe76f7c,'translated':_0x14ad0a,'model':_0x2e3a5c,'terminal':this['detectedTerminal']}),_0x14ad0a;}catch(_0x59c881){this['logger']?.['error'](_0x577751(0xb3),{'command':_0xe76f7c,'terminal':this[_0x577751(0x1ea)],'error':_0x59c881[_0x577751(0x160)]});throw _0x59c881;}}['buildTranslationPrompt'](_0x4c981f){const _0x519dd0=a0_0x90eebf,_0x3bdb44={'cmd':'Windows\x20Command\x20Prompt\x20(cmd.exe)','powershell':_0x519dd0(0x18a),'bash':'Bash\x20shell\x20(Linux/Unix/macOS)'},_0x571c2d=_0x3bdb44[this['detectedTerminal']]||this[_0x519dd0(0x1ea)],_0x22f914=this[_0x519dd0(0x1e6)](_0x4c981f);let _0x20fd0d=_0x519dd0(0x1e2)+_0x571c2d+_0x519dd0(0x1e8)+_0x4c981f+'\x0a```\x0a\x0aCOMMAND\x20ANALYSIS:\x0a-\x20Command\x20Type:\x20'+_0x22f914[_0x519dd0(0xd5)]+_0x519dd0(0x172)+_0x22f914[_0x519dd0(0xfa)]+'\x0a-\x20Target\x20Terminal:\x20'+_0x571c2d+'\x0a-\x20Compatibility\x20Issues:\x20'+(_0x22f914[_0x519dd0(0x111)]['join'](',\x20')||'None\x20detected');return _0x22f914['commandType']===_0x519dd0(0x113)&&_0x22f914['alternatives']&&_0x22f914['alternatives'][this['detectedTerminal']]&&(_0x20fd0d+='\x0a-\x20Suggested\x20Alternative:\x20'+_0x22f914[_0x519dd0(0xb7)][this[_0x519dd0(0x1ea)]]),_0x20fd0d+=_0x519dd0(0x1d1)+_0x571c2d+'\x0a2.\x20Preserve\x20the\x20original\x20intent\x20and\x20functionality\x0a3.\x20Handle\x20file\x20paths,\x20quoting,\x20and\x20syntax\x20correctly\x0a4.\x20If\x20creating\x20files,\x20ensure\x20proper\x20encoding\x20and\x20line\x20endings\x0a5.\x20Address\x20the\x20specific\x20compatibility\x20issues\x20identified\x20above\x0a6.\x20Return\x20ONLY\x20the\x20translated\x20command,\x20nothing\x20else\x0a\x0aTRANSLATED\x20COMMAND:',_0x20fd0d;}['extractTranslatedCommand'](_0x51aa93){const _0x42a730=a0_0x90eebf;let _0x1f459d=_0x51aa93[_0x42a730(0x19e)](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x1f459d=_0x1f459d['replace'](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x70c8f1=_0x1f459d['trim']()['split']('\x0a');return _0x70c8f1['length']>0x1&&!_0x1f459d[_0x42a730(0x1b4)]('&&')&&!_0x1f459d[_0x42a730(0x1b4)]('||')&&(_0x1f459d=_0x70c8f1[0x0][_0x42a730(0x118)]()),_0x1f459d['trim']();}[a0_0x90eebf(0x1e6)](_0x560fcb){const _0x28c05f=a0_0x90eebf,_0x2b00a1=this['classifyCommand'](_0x560fcb),_0xe68b6=this['isCommandCompatibleWithTerminal'](_0x2b00a1,this['detectedTerminal']);return{'compatible':_0xe68b6,'detectedTerminal':this['detectedTerminal'],'commandType':_0x2b00a1[_0x28c05f(0xee)],'commandCategory':_0x2b00a1['category'],'specificIssues':_0x2b00a1[_0x28c05f(0x175)],'suggestedAction':_0xe68b6?'execute':_0x28c05f(0x163),'confidence':_0x2b00a1['confidence']};}[a0_0x90eebf(0x1a9)](_0x4c0149){const _0x286dca=a0_0x90eebf;return this[_0x286dca(0x1e6)](_0x4c0149)[_0x286dca(0x1d7)];}[a0_0x90eebf(0x170)](_0x3c6e23){const _0x28a76b=a0_0x90eebf,_0x2f515b=_0x3c6e23['toLowerCase']()['trim'](),_0xb06a40=_0x2f515b['split']('\x20')[0x0],_0x4cd39a=[];let _0x74e667=0.9;const _0x28a1be={'ls':{'category':_0x28a76b(0x127),'alternatives':{'cmd':'dir','powershell':'Get-ChildItem'}},'cat':{'category':'file-viewing','alternatives':{'cmd':_0x28a76b(0xee),'powershell':'Get-Content'}},'grep':{'category':_0x28a76b(0x180),'alternatives':{'cmd':_0x28a76b(0x194),'powershell':'Select-String'}},'find':{'category':_0x28a76b(0x1cd),'alternatives':{'cmd':'dir\x20/s','powershell':_0x28a76b(0x19b)}},'head':{'category':'file-viewing','alternatives':{'cmd':'more','powershell':_0x28a76b(0x1bd)}},'tail':{'category':_0x28a76b(0xfe),'alternatives':{'cmd':_0x28a76b(0x169),'powershell':'Get-Content\x20-Tail'}},'wc':{'category':_0x28a76b(0x116),'alternatives':{'cmd':_0x28a76b(0x1cb),'powershell':'Measure-Object'}},'cp':{'category':'file-copy','alternatives':{'cmd':'copy','powershell':'Copy-Item'}},'mv':{'category':'file-move','alternatives':{'cmd':_0x28a76b(0x19d),'powershell':_0x28a76b(0xdf)}},'rm':{'category':_0x28a76b(0x11d),'alternatives':{'cmd':_0x28a76b(0x119),'powershell':'Remove-Item'}},'mkdir':{'category':_0x28a76b(0x1cc),'alternatives':{'cmd':_0x28a76b(0x1c5),'powershell':'New-Item\x20-Type\x20Directory'}},'rmdir':{'category':'directory-delete','alternatives':{'cmd':_0x28a76b(0xc9),'powershell':_0x28a76b(0x101)}},'touch':{'category':_0x28a76b(0x1a0),'alternatives':{'cmd':_0x28a76b(0xb0),'powershell':_0x28a76b(0x1ed)}},'chmod':{'category':_0x28a76b(0xca),'alternatives':{'cmd':_0x28a76b(0x150),'powershell':'Set-Acl'}},'chown':{'category':'ownership','alternatives':{'cmd':'takeown','powershell':'Set-Acl'}},'ps':{'category':'process-list','alternatives':{'cmd':_0x28a76b(0x1ce),'powershell':'Get-Process'}},'kill':{'category':'process-kill','alternatives':{'cmd':_0x28a76b(0x1ef),'powershell':_0x28a76b(0x192)}},'killall':{'category':'process-kill','alternatives':{'cmd':_0x28a76b(0x142),'powershell':_0x28a76b(0x1b3)}},'top':{'category':'process-monitor','alternatives':{'cmd':_0x28a76b(0x1ce),'powershell':'Get-Process\x20|\x20Sort-Object\x20CPU'}},'wget':{'category':_0x28a76b(0x1e0),'alternatives':{'cmd':'curl','powershell':'Invoke-WebRequest'}},'curl':{'category':_0x28a76b(0x11b),'alternatives':{'cmd':_0x28a76b(0x1ca),'powershell':_0x28a76b(0x17e)}},'ping':{'category':_0x28a76b(0x184),'alternatives':{'cmd':_0x28a76b(0x102),'powershell':'Test-NetConnection'}},'awk':{'category':_0x28a76b(0xcb),'alternatives':{'cmd':'for\x20/f','powershell':'ForEach-Object'}},'sed':{'category':_0x28a76b(0x17f),'alternatives':{'cmd':'powershell\x20-c','powershell':_0x28a76b(0x1e3)}},'sort':{'category':'text-sort','alternatives':{'cmd':_0x28a76b(0x131),'powershell':'Sort-Object'}},'uniq':{'category':'text-dedupe','alternatives':{'cmd':'sort\x20/unique','powershell':'Sort-Object\x20-Unique'}},'pwd':{'category':_0x28a76b(0xb6),'alternatives':{'cmd':'cd','powershell':_0x28a76b(0xc2)}},'whoami':{'category':'user-info','alternatives':{'cmd':'echo\x20%USERNAME%','powershell':'whoami'}},'env':{'category':_0x28a76b(0xde),'alternatives':{'cmd':_0x28a76b(0xd9),'powershell':_0x28a76b(0x12e)}},'export':{'category':_0x28a76b(0xde),'alternatives':{'cmd':_0x28a76b(0xd9),'powershell':_0x28a76b(0x128)}},'source':{'category':'script-execute','alternatives':{'cmd':'call','powershell':'.\x20'}},'tar':{'category':_0x28a76b(0x1ee),'alternatives':{'cmd':'7z','powershell':'Compress-Archive'}},'zip':{'category':_0x28a76b(0x1ee),'alternatives':{'cmd':'powershell\x20Compress-Archive','powershell':_0x28a76b(0x149)}},'unzip':{'category':_0x28a76b(0x1ee),'alternatives':{'cmd':'powershell\x20Expand-Archive','powershell':'Expand-Archive'}},'df':{'category':_0x28a76b(0x1b8),'alternatives':{'cmd':'fsutil\x20volume\x20diskfree','powershell':'Get-WmiObject\x20-Class\x20Win32_LogicalDisk'}},'du':{'category':'disk-usage','alternatives':{'cmd':'dir\x20/s','powershell':_0x28a76b(0x151)}},'free':{'category':_0x28a76b(0x15f),'alternatives':{'cmd':'systeminfo','powershell':'Get-WmiObject\x20-Class\x20Win32_PhysicalMemory'}},'uname':{'category':'system-info','alternatives':{'cmd':'systeminfo','powershell':'Get-ComputerInfo'}}},_0x2384d5={'dir':{'category':'file-listing','alternatives':{'unix':'ls','powershell':'Get-ChildItem'}},'type':{'category':'file-viewing','alternatives':{'unix':'cat','powershell':'Get-Content'}},'copy':{'category':'file-copy','alternatives':{'unix':'cp','powershell':_0x28a76b(0x13b)}},'move':{'category':_0x28a76b(0x1af),'alternatives':{'unix':'mv','powershell':_0x28a76b(0xdf)}},'del':{'category':'file-delete','alternatives':{'unix':'rm','powershell':_0x28a76b(0x101)}},'tasklist':{'category':'process-list','alternatives':{'unix':'ps','powershell':_0x28a76b(0x177)}},'taskkill':{'category':_0x28a76b(0xe8),'alternatives':{'unix':_0x28a76b(0x11e),'powershell':'Stop-Process'}},'findstr':{'category':_0x28a76b(0x180),'alternatives':{'unix':_0x28a76b(0xda),'powershell':'Select-String'}}},_0x551acd={'get-childitem':{'category':'file-listing','alternatives':{'unix':'ls','cmd':_0x28a76b(0x11c)}},'get-content':{'category':'file-viewing','alternatives':{'unix':_0x28a76b(0x1ba),'cmd':'type'}},'copy-item':{'category':'file-copy','alternatives':{'unix':'cp','cmd':'copy'}},'move-item':{'category':'file-move','alternatives':{'unix':'mv','cmd':_0x28a76b(0x19d)}},'remove-item':{'category':_0x28a76b(0x11d),'alternatives':{'unix':'rm','cmd':'del'}},'get-process':{'category':'process-list','alternatives':{'unix':'ps','cmd':_0x28a76b(0x1ce)}},'stop-process':{'category':'process-kill','alternatives':{'unix':'kill','cmd':_0x28a76b(0x1ef)}}};let _0x2d0a19=_0x28a76b(0xaf),_0x1e5fdb='unknown',_0xaa3809={};if(_0x28a1be[_0xb06a40])_0x2d0a19=_0x28a76b(0x113),_0x1e5fdb=_0x28a1be[_0xb06a40][_0x28a76b(0xc1)],_0xaa3809=_0x28a1be[_0xb06a40]['alternatives'];else{if(_0x2384d5[_0xb06a40])_0x2d0a19='windows-cmd',_0x1e5fdb=_0x2384d5[_0xb06a40]['category'],_0xaa3809=_0x2384d5[_0xb06a40][_0x28a76b(0xb7)];else{if(_0x551acd[_0xb06a40])_0x2d0a19=_0x28a76b(0xab),_0x1e5fdb=_0x551acd[_0xb06a40][_0x28a76b(0xc1)],_0xaa3809=_0x551acd[_0xb06a40]['alternatives'];else{const _0x4e7356=['echo','cd',_0x28a76b(0x125),_0x28a76b(0x121)];_0x4e7356['includes'](_0xb06a40)?(_0x2d0a19='universal',_0x1e5fdb=_0x28a76b(0x1de)):(_0x2d0a19=_0x28a76b(0xaf),_0x74e667=0.3);}}}return _0x3c6e23[_0x28a76b(0x1b4)]('\x27')&&!_0x3c6e23[_0x28a76b(0x1b4)]('\x22')&&_0x4cd39a['push'](_0x28a76b(0x14b)),_0x3c6e23['includes']('/')&&!_0x3c6e23['includes']('\x5c')&&!_0x3c6e23['includes'](_0x28a76b(0x171))&&_0x3c6e23['includes']('>')&&_0x4cd39a['push'](_0x28a76b(0xdc)),(_0x3c6e23[_0x28a76b(0x1b4)]('\x5cn')||_0x3c6e23[_0x28a76b(0x1b4)]('\x5ct'))&&_0x4cd39a[_0x28a76b(0x174)]('escape-sequences'),(_0x3c6e23[_0x28a76b(0x1b4)](_0x28a76b(0x196))||_0x3c6e23['includes']('\x20||\x20')||_0x3c6e23[_0x28a76b(0x1b4)](';'))&&_0x4cd39a['push']('command-chaining'),{'type':_0x2d0a19,'category':_0x1e5fdb,'alternatives':_0xaa3809,'issues':_0x4cd39a,'confidence':_0x74e667,'firstWord':_0xb06a40,'fullCommand':_0x3c6e23};}['isCommandCompatibleWithTerminal'](_0x531074,_0x578525){const _0x31c035=a0_0x90eebf;switch(_0x578525){case _0x31c035(0xe9):if(_0x531074[_0x31c035(0xee)]==='unix')return![];if(_0x531074[_0x31c035(0x175)]['includes']('single-quotes-problematic'))return![];if(_0x531074[_0x31c035(0x175)][_0x31c035(0x1b4)]('unix-style-paths'))return![];return _0x531074['type']==='windows-cmd'||_0x531074[_0x31c035(0xee)]===_0x31c035(0x186);case'powershell':if(_0x531074['type']===_0x31c035(0x113)&&!_0x531074[_0x31c035(0xb7)]['powershell'])return![];return!![];case _0x31c035(0x1c4):if(_0x531074['type']==='windows-cmd')return![];return _0x531074['type']===_0x31c035(0x113)||_0x531074[_0x31c035(0xee)]==='universal';default:return![];}}['translateToWindowsCmd'](_0x59a453){const _0x4d7497=a0_0x90eebf;let _0x9091d6=_0x59a453;const _0x59c7b1=new Map([[/^ls\s*$/,'dir'],[/^ls\s+-la?$/,_0x4d7497(0x11c)],[/^ls\s+-l$/,_0x4d7497(0x11c)],[/^ls\s+-a$/,_0x4d7497(0x10b)],[/^cat\s+(.+)$/,'type\x20$1'],[/^cp\s+(.+)\s+(.+)$/,'copy\x20$1\x20$2'],[/^mv\s+(.+)\s+(.+)$/,_0x4d7497(0x190)],[/^rm\s+(.+)$/,'del\x20$1'],[/^mkdir\s+(.+)$/,_0x4d7497(0x191)],[/^rmdir\s+(.+)$/,_0x4d7497(0x136)],[/^ps\s*$/,_0x4d7497(0x1ce)],[/^kill\s+(.+)$/,_0x4d7497(0xa6)],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,'echo\x20%USERNAME%'],[/^ping\s+(.+)$/,'ping\x20$1'],[/^wget\s+(.+)$/,_0x4d7497(0x178)],[/^curl\s+(.+)$/,'curl\x20$1']]);for(const [_0x1074fb,_0x3a0a61]of _0x59c7b1){if(_0x1074fb['test'](_0x9091d6)){_0x9091d6=_0x9091d6['replace'](_0x1074fb,_0x3a0a61);break;}}_0x9091d6=_0x9091d6[_0x4d7497(0x19e)](/echo\s+'([^']+)'\s*>/g,_0x4d7497(0x112)),_0x9091d6=_0x9091d6[_0x4d7497(0x19e)](/echo\s+'([^']+)'$/g,'echo\x20\x22$1\x22');if(_0x9091d6[_0x4d7497(0x1b4)](_0x4d7497(0xf9))&&_0x9091d6['includes']('\x5cn')){const _0x409c85=_0x9091d6['match'](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0x409c85){const _0x4fa880=_0x409c85[0x1][_0x4d7497(0x19e)](/\\n/g,'\x0a'),_0x5e67cd=_0x409c85[0x2],_0x51f2a2=_0x4fa880[_0x4d7497(0x141)]('\x0a');_0x9091d6='('+_0x51f2a2[_0x4d7497(0x179)](_0x46ad8e=>'echo\x20'+_0x46ad8e)[_0x4d7497(0x199)]('\x20&\x20')+_0x4d7497(0xa7)+_0x5e67cd;}}return this['logger']?.['info']('Command\x20translated\x20for\x20Windows\x20CMD',{'original':_0x59a453,'translated':_0x9091d6}),_0x9091d6;}[a0_0x90eebf(0x147)](_0xd68ebb){const _0x4ed70a=a0_0x90eebf;let _0x5085b0=_0xd68ebb;const _0x15e0fd=new Map([[/^ls\s*$/,'Get-ChildItem'],[/^ls\s+-la?$/,'Get-ChildItem\x20-Force'],[/^cat\s+(.+)$/,'Get-Content\x20$1'],[/^cp\s+(.+)\s+(.+)$/,_0x4ed70a(0x10c)],[/^mv\s+(.+)\s+(.+)$/,_0x4ed70a(0x1e4)],[/^rm\s+(.+)$/,_0x4ed70a(0xcf)],[/^pwd\s*$/,'Get-Location'],[/^ps\s*$/,_0x4ed70a(0x177)]]);for(const [_0x52bc8a,_0x590833]of _0x15e0fd){if(_0x52bc8a['test'](_0x5085b0)){_0x5085b0=_0x5085b0[_0x4ed70a(0x19e)](_0x52bc8a,_0x590833);break;}}return this[_0x4ed70a(0x166)]?.['info']('Command\x20translated\x20for\x20PowerShell',{'original':_0xd68ebb,'translated':_0x5085b0}),_0x5085b0;}['translateToBash'](_0x12bdfd){const _0x438a26=a0_0x90eebf;let _0x10070d=_0x12bdfd;const _0x5a94b3=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,'ls\x20-a'],[/^type\s+(.+)$/,'cat\x20$1'],[/^copy\s+(.+)\s+(.+)$/,'cp\x20$1\x20$2'],[/^move\s+(.+)\s+(.+)$/,_0x438a26(0xfb)],[/^del\s+(.+)$/,_0x438a26(0x162)],[/^tasklist\s*$/,'ps'],[/^cd\s*$/,'pwd']]);for(const [_0x1056ec,_0x3ceffa]of _0x5a94b3){if(_0x1056ec['test'](_0x10070d)){_0x10070d=_0x10070d['replace'](_0x1056ec,_0x3ceffa);break;}}return _0x10070d;}async['cleanup'](_0x14027f){}async['startBackgroundCommand'](_0x3c1c3e,_0x2ca798,_0x4e5ccb={}){const _0x5e044f=a0_0x90eebf,{agentId:_0xf73c95,context:_0x408e07}=_0x4e5ccb;if(!_0xf73c95)throw new Error(_0x5e044f(0x122));const _0xe6404b=this['getAgentCommands'](_0xf73c95),_0x17cb20=_0xe6404b['filter'](_0x57b2ad=>_0x57b2ad['state']===_0x5e044f(0x188)||_0x57b2ad['state']===_0x5e044f(0x1b7));if(_0x17cb20['length']>=this['MAX_BACKGROUND_COMMANDS_PER_AGENT'])throw new Error('Maximum\x20background\x20commands\x20per\x20agent\x20exceeded\x20('+this[_0x5e044f(0xcd)]+')');const _0x509631=Array['from'](this[_0x5e044f(0xbd)][_0x5e044f(0x18e)]()),_0x24a0b4=_0x509631[_0x5e044f(0xb4)](_0x10549c=>_0x10549c[_0x5e044f(0xfd)]===_0x5e044f(0x188)||_0x10549c[_0x5e044f(0xfd)]==='waiting_for_input');if(_0x24a0b4['length']>=this[_0x5e044f(0x10f)])throw new Error(_0x5e044f(0x126)+this['MAX_BACKGROUND_COMMANDS_GLOBAL']+')');const _0x5705fb=_0xf73c95+_0x5e044f(0x183)+Date['now']()+'-'+ ++this[_0x5e044f(0xf1)],_0x5aee74=_0x3c1c3e;let _0x1f3af;try{_0x1f3af=await this['translateCommand'](_0x3c1c3e,{'agentId':_0xf73c95,'toolsRegistry':_0x408e07?.['toolsRegistry'],'messageProcessor':_0x408e07?.[_0x5e044f(0x19f)],'aiService':_0x408e07?.[_0x5e044f(0x1c1)],'apiKey':_0x408e07?.[_0x5e044f(0x1c7)],'customApiKeys':_0x408e07?.['customApiKeys'],'platformProvided':_0x408e07?.['platformProvided']});}catch(_0x37b043){this['logger']?.['warn'](_0x5e044f(0xba),{'originalCommand':_0x5aee74,'error':_0x37b043[_0x5e044f(0x160)]}),_0x1f3af=_0x3c1c3e;}this[_0x5e044f(0x166)]?.['info']('Starting\x20background\x20command:\x20'+_0x1f3af,{'commandId':_0x5705fb,'agentId':_0xf73c95,'originalCommand':_0x5aee74,'workingDirectory':_0x2ca798});let _0x1fbd69;if(this[_0x5e044f(0x1ea)]===_0x5e044f(0xe9)||this[_0x5e044f(0x1ea)]==='powershell'){const _0x8f8f21=this[_0x5e044f(0x1ea)]===_0x5e044f(0xab)?'powershell':'cmd',_0x4cc7e4=this[_0x5e044f(0x1ea)]==='powershell'?[_0x5e044f(0x132),_0x1f3af]:['/c',_0x1f3af];_0x1fbd69=spawn(_0x8f8f21,_0x4cc7e4,{'cwd':_0x2ca798,'env':{...process['env']},'windowsHide':!![],'stdio':[_0x5e044f(0x168),_0x5e044f(0x168),'pipe']});}else _0x1fbd69=spawn('sh',['-c',_0x1f3af],{'cwd':_0x2ca798,'env':{...process['env']},'stdio':[_0x5e044f(0x168),_0x5e044f(0x168),'pipe']});const _0x1f9806={'commandId':_0x5705fb,'agentId':_0xf73c95,'pid':_0x1fbd69[_0x5e044f(0xbc)],'command':_0x5aee74,'translatedCommand':_0x1f3af,'workingDirectory':_0x2ca798,'startTime':new Date()[_0x5e044f(0x11a)](),'state':'running','exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date[_0x5e044f(0xe3)](),'promptDetected':null,'process':_0x1fbd69};return this['commandTracker']['set'](_0x5705fb,_0x1f9806),_0x1fbd69['stdout']['on'](_0x5e044f(0x1ac),_0x32eadb=>{const _0xd99be9=_0x5e044f,_0x1489f4=_0x32eadb['toString']();_0x1f9806[_0xd99be9(0xaa)]+=_0x1489f4,_0x1f9806['lastOutputTime']=Date[_0xd99be9(0xe3)]();if(!_0x1f9806['promptDetected']){const _0x565383=this['promptDetector'][_0xd99be9(0x189)](_0x1f9806[_0xd99be9(0xaa)],'stdout');_0x565383&&(_0x1f9806[_0xd99be9(0x153)]=_0x565383,_0x1f9806[_0xd99be9(0xfd)]=_0xd99be9(0x1b7),this[_0xd99be9(0x166)]?.[_0xd99be9(0xd3)](_0xd99be9(0xb5),{'commandId':_0x5705fb,'agentId':_0xf73c95,'type':_0x565383[_0xd99be9(0xee)],'matchedText':_0x565383['matchedText']}));}}),_0x1fbd69[_0x5e044f(0xdd)]['on'](_0x5e044f(0x1ac),_0x348103=>{const _0xd7d45=_0x5e044f,_0x582db4=_0x348103[_0xd7d45(0x1b0)]();_0x1f9806['stderrBuffer']+=_0x582db4,_0x1f9806[_0xd7d45(0x16c)]=Date['now']();if(!_0x1f9806['promptDetected']){const _0x37fd59=this['promptDetector']['detectPrompt'](_0x1f9806[_0xd7d45(0x1b5)],'stderr');_0x37fd59&&(_0x1f9806[_0xd7d45(0x153)]=_0x37fd59,_0x1f9806[_0xd7d45(0xfd)]=_0xd7d45(0x1b7),this['logger']?.['info']('Prompt\x20detected\x20in\x20background\x20command\x20stderr',{'commandId':_0x5705fb,'agentId':_0xf73c95,'type':_0x37fd59['type'],'matchedText':_0x37fd59['matchedText']}));}}),_0x1fbd69['on']('exit',(_0x1043f5,_0x5ea809)=>{const _0x2e6b75=_0x5e044f;_0x1f9806['exitCode']=_0x1043f5,_0x1f9806[_0x2e6b75(0xfd)]=_0x1043f5===0x0?'completed':_0x2e6b75(0x1c9),_0x1f9806[_0x2e6b75(0x1ab)]=new Date()[_0x2e6b75(0x11a)](),this['logger']?.[_0x2e6b75(0xd3)]('Background\x20command\x20exited',{'commandId':_0x5705fb,'agentId':_0xf73c95,'exitCode':_0x1043f5,'signal':_0x5ea809,'state':_0x1f9806[_0x2e6b75(0xfd)]});}),_0x1fbd69['on']('error',_0x62cd0b=>{const _0x34bc02=_0x5e044f;_0x1f9806[_0x34bc02(0xfd)]=_0x34bc02(0x1c9),_0x1f9806[_0x34bc02(0x148)]=_0x62cd0b['message'],_0x1f9806['endTime']=new Date()[_0x34bc02(0x11a)](),this['logger']?.[_0x34bc02(0x148)]('Background\x20command\x20error',{'commandId':_0x5705fb,'agentId':_0xf73c95,'error':_0x62cd0b['message']});}),{'success':!![],'commandId':_0x5705fb,'pid':_0x1fbd69[_0x5e044f(0xbc)],'command':_0x5aee74,'translatedCommand':_0x1f3af,'workingDirectory':_0x2ca798,'message':'Background\x20command\x20started\x20with\x20ID:\x20'+_0x5705fb};}['sendInput'](_0xbb22dd,_0x30056b,_0xa1cc6a){const _0x173334=a0_0x90eebf,_0x57eea5=this['validateCommandOwnership'](_0xbb22dd,_0xa1cc6a);if(_0x57eea5[_0x173334(0xfd)]==='completed'||_0x57eea5[_0x173334(0xfd)]===_0x173334(0x1c9))throw new Error('Cannot\x20send\x20input\x20to\x20'+_0x57eea5['state']+_0x173334(0x15b));if(!_0x57eea5[_0x173334(0x140)]||_0x57eea5[_0x173334(0x140)][_0x173334(0x187)])throw new Error('Command\x20process\x20is\x20not\x20running');const _0xf99460=_0x30056b['endsWith']('\x0a')?_0x30056b:_0x30056b+'\x0a';return _0x57eea5[_0x173334(0x140)][_0x173334(0xf7)][_0x173334(0x181)](_0xf99460),this[_0x173334(0x166)]?.[_0x173334(0xd3)]('Input\x20sent\x20to\x20background\x20command',{'commandId':_0xbb22dd,'agentId':_0xa1cc6a,'inputLength':_0x30056b[_0x173334(0xb1)]}),_0x57eea5['state']===_0x173334(0x1b7)&&(_0x57eea5['state']=_0x173334(0x188),_0x57eea5['promptDetected']=null),{'success':!![],'commandId':_0xbb22dd,'message':_0x173334(0xf2)};}[a0_0x90eebf(0x114)](_0x57c3e7,_0x3997c4){const _0x1c527c=a0_0x90eebf,_0x1e1374=this[_0x1c527c(0x104)](_0x57c3e7,_0x3997c4),_0x7d3326=Date[_0x1c527c(0xe3)]()-_0x1e1374['lastOutputTime'];return{'success':!![],'commandId':_0x57c3e7,'pid':_0x1e1374['pid'],'command':_0x1e1374[_0x1c527c(0x1b9)],'state':_0x1e1374[_0x1c527c(0xfd)],'exitCode':_0x1e1374['exitCode'],'startTime':_0x1e1374[_0x1c527c(0x1a3)],'endTime':_0x1e1374[_0x1c527c(0x1ab)],'workingDirectory':_0x1e1374[_0x1c527c(0x107)],'stdout':_0x1e1374['stdoutBuffer'],'stderr':_0x1e1374['stderrBuffer'],'stdoutLength':_0x1e1374[_0x1c527c(0xaa)]['length'],'stderrLength':_0x1e1374[_0x1c527c(0x1b5)][_0x1c527c(0xb1)],'lastOutputTime':_0x1e1374['lastOutputTime'],'timeSinceLastOutput':_0x7d3326,'promptDetected':!!_0x1e1374[_0x1c527c(0x153)],'promptInfo':_0x1e1374['promptDetected']||undefined};}[a0_0x90eebf(0x13c)](_0x42aa70,_0x5402f4){const _0xa5fe8a=a0_0x90eebf,_0x172e62=this[_0xa5fe8a(0x104)](_0x42aa70,_0x5402f4);if(_0x172e62['state']==='completed'||_0x172e62['state']===_0xa5fe8a(0x1c9))return{'success':!![],'commandId':_0x42aa70,'message':_0xa5fe8a(0x1d6),'state':_0x172e62[_0xa5fe8a(0xfd)]};if(_0x172e62['process']&&!_0x172e62[_0xa5fe8a(0x140)]['killed'])return _0x172e62[_0xa5fe8a(0x140)][_0xa5fe8a(0x11e)]('SIGTERM'),setTimeout(()=>{const _0x225dd0=_0xa5fe8a;_0x172e62[_0x225dd0(0x140)]&&!_0x172e62[_0x225dd0(0x140)]['killed']&&_0x172e62['process']['kill'](_0x225dd0(0x195));},0x1388),this['logger']?.[_0xa5fe8a(0xd3)](_0xa5fe8a(0x152),{'commandId':_0x42aa70,'agentId':_0x5402f4}),{'success':!![],'commandId':_0x42aa70,'message':'Command\x20killed\x20successfully'};return{'success':![],'commandId':_0x42aa70,'error':'Command\x20process\x20not\x20found\x20or\x20already\x20killed'};}['listAgentCommands'](_0x5e0842){const _0x273999=a0_0x90eebf,_0x5db5c3=this[_0x273999(0x167)](_0x5e0842);return _0x5db5c3[_0x273999(0x179)](_0x19ce7c=>({'commandId':_0x19ce7c[_0x273999(0xae)],'command':_0x19ce7c['command'],'state':_0x19ce7c['state'],'pid':_0x19ce7c[_0x273999(0xbc)],'exitCode':_0x19ce7c[_0x273999(0x16d)],'startTime':_0x19ce7c['startTime'],'endTime':_0x19ce7c['endTime'],'promptDetected':!!_0x19ce7c[_0x273999(0x153)],'timeSinceLastOutput':Date['now']()-_0x19ce7c[_0x273999(0x16c)]}));}[a0_0x90eebf(0x167)](_0x26187c){const _0x50b283=a0_0x90eebf;return Array[_0x50b283(0x135)](this[_0x50b283(0xbd)]['values']())['filter'](_0x31ab50=>_0x31ab50['agentId']===_0x26187c);}[a0_0x90eebf(0x104)](_0x319f2c,_0xc8ff57){const _0x5c225d=a0_0x90eebf,_0x26e763=this['commandTracker']['get'](_0x319f2c);if(!_0x26e763)throw new Error('Command\x20not\x20found:\x20'+_0x319f2c);if(_0x26e763['agentId']!==_0xc8ff57)throw new Error(_0x5c225d(0x1dd)+_0x26e763[_0x5c225d(0xc0)]);return _0x26e763;}async['cleanupAgent'](_0x29d4e9){const _0x53247c=a0_0x90eebf,_0x1f3699=this['getAgentCommands'](_0x29d4e9);let _0x358450=0x0,_0x1d2873=0x0;for(const _0x3d9c9f of _0x1f3699){_0x3d9c9f['process']&&!_0x3d9c9f[_0x53247c(0x140)]['killed']&&(_0x3d9c9f[_0x53247c(0x140)][_0x53247c(0x11e)](_0x53247c(0x1c6)),_0x358450++,setTimeout(()=>{const _0x10f8f1=_0x53247c;_0x3d9c9f[_0x10f8f1(0x140)]&&!_0x3d9c9f['process']['killed']&&_0x3d9c9f[_0x10f8f1(0x140)]['kill'](_0x10f8f1(0x195));},0xbb8)),this['commandTracker'][_0x53247c(0x13d)](_0x3d9c9f[_0x53247c(0xae)]),_0x1d2873++;}return this[_0x53247c(0x166)]?.['info'](_0x53247c(0x1ec),{'agentId':_0x29d4e9,'killedCount':_0x358450,'removedCount':_0x1d2873}),{'success':!![],'agentId':_0x29d4e9,'killedCount':_0x358450,'removedCount':_0x1d2873,'message':'Cleaned\x20up\x20'+_0x1d2873+'\x20commands\x20for\x20agent\x20'+_0x29d4e9};}['cleanupStaleCommands'](){const _0x569114=a0_0x90eebf,_0x2d5bfd=Date[_0x569114(0xe3)]();let _0x47f9f7=0x0;for(const [_0x1063cd,_0x362399]of this['commandTracker']['entries']()){if(_0x362399[_0x569114(0xfd)]!=='completed'&&_0x362399[_0x569114(0xfd)]!=='failed')continue;const _0x200b59=new Date(_0x362399['startTime'])[_0x569114(0x105)](),_0x41c216=(_0x2d5bfd-_0x200b59)/0x3e8/0x3c;_0x41c216>this[_0x569114(0x161)]&&(this[_0x569114(0xbd)]['delete'](_0x1063cd),_0x47f9f7++);}return _0x47f9f7>0x0&&this['logger']?.['info']('Stale\x20commands\x20cleaned\x20up',{'removedCount':_0x47f9f7,'ageThresholdMinutes':this[_0x569114(0x161)]}),{'success':!![],'removedCount':_0x47f9f7,'message':'Cleaned\x20up\x20'+_0x47f9f7+_0x569114(0x15c)};}}export default TerminalTool;
|
package/src/tools/webTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x27cf32=a0_0xb06b;(function(_0x4cc636,_0x2c2471){const _0x154f34=a0_0xb06b,_0x182164=_0x4cc636();while(!![]){try{const _0x129416=-parseInt(_0x154f34(0x217))/0x1*(parseInt(_0x154f34(0x25b))/0x2)+-parseInt(_0x154f34(0x21d))/0x3*(-parseInt(_0x154f34(0x247))/0x4)+-parseInt(_0x154f34(0x200))/0x5+-parseInt(_0x154f34(0x24d))/0x6*(parseInt(_0x154f34(0x26a))/0x7)+-parseInt(_0x154f34(0x250))/0x8+-parseInt(_0x154f34(0x222))/0x9*(-parseInt(_0x154f34(0x26d))/0xa)+-parseInt(_0x154f34(0x204))/0xb*(-parseInt(_0x154f34(0x253))/0xc);if(_0x129416===_0x2c2471)break;else _0x182164['push'](_0x182164['shift']());}catch(_0x205921){_0x182164['push'](_0x182164['shift']());}}}(a0_0x3ba1,0x787d0));import{BaseTool}from'./baseTool.js';function a0_0x3ba1(){const _0x462e3a=['zw5ZDxjLqNjVD3nLCG','uhvWCgv0zwvYigjYB3DZzxiGAw5PDgLHBgL6zwqGC3vJy2vZC2z1BgX5','DgfIswrSzvrPBwvVDxq','ugvYzM9YBwLUzYb3zwiGC2vHCMnO','i2jFCMvZDwX0CW','CgfYC2vqyxjHBwv0zxjZ','ChvZAa','C2nYB2XS','C2v0vMLLD3bVCNq','AgvHzgXLC3m','DhjPBq','CgfYC2vby3rPB25Z','zxH0CMfJDc1SAw5RCW','BgfZDefJDgL2Axr5','zgf0ytPPBwfNzs9WBMC7yMfZzty0la','zxzLCNK','Aw5UzxjuzxH0','yMfZzty0','CxvLCNKGAxmGCMvXDwLYzwqGzM9YihnLyxjJAcbVCgvYyxrPB24','CMvZDwX0C1nLBgvJDg9Y','mJmYmJK2nxDvBKfywG','Aw5WDxrBBMfTzt0ICsjD','ywn0Aw9UCYbHCNjHEsbPCYbYzxf1AxjLzcbMB3iGAw50zxjHy3rPDMuGB3bLCMf0Aw9U','jYbHBhjLywr5igv4Axn0CYbMB3iGywDLBNqG','mtf3BKrzs3O','i3nLyxjJAcaUzYbHlcaJC2vHCMnOigfBAhjLzL0','BM93','ywDLBNruywjZ','C2v0','DgLTzw91Da','Aw5WDxrBDhLWzt0IC3vIBwL0iL0Sigj1DhrVBLT0ExbLpsjZDwjTAxqIxq','DhLWzq','ls1KAxnHyMXLlwrLDI1ZAg0TDxnHz2u','lNjLC3vSDf9FysWGyvTKyxrHlxrLC3rPzd0ICMvZDwX0lxrPDgXLlweIxq','C2nYzwvUC2HVDc0','z29Vz2XL','u2nYzwvUC2HVDcbHBMfSExnPCYbMywLSzwq6ia','C2L6zq','ywn0Aw9UCW','zMLUza','BgvUz3rO','D2fYBG','C3DPDgnOvgfI','ndKXmu5hsujorG','CxvLCNLtzwXLy3rVCKfSBa','zgLYzwn0B3j5qwnJzxnZ','C2vSzwn0B3i','DMfSDwu','BMfTzq','m2XKrNHTza','zNjVBq','CgfNzq','vw5RBM93BIbZzwfYy2GGzw5NAw5LoIa','zw5ZDxjLvgvTCerPCG','oxztrwT3Dq','yxbPs2v5','ywDLBNrjza','z290BW','yNv0Dg9U','ls1KAxnHyMXLlxnLDhvPzc1Zyw5KyM94','zw50CMLLCW','i3nLyxjJAa','zhvJA2r1y2TNBW','zxH0CMfJDenVBNrLBNq','C2vHCMnO','vevnuf9esvi','z2v0lxnVDxjJzq','AxndB25Uzwn0zwq','z2v0lwnVBNnVBgu','y2XVC2u','C2vHCMnOrw5NAw5LCW','C3DPDgnOlxrHyG','zMv0y2G','z2v0','jYbUB3qGzM91BMqGzM9YigfNzw50ia','y29UC29Szu1LC3nHz2vZ','C2nYzwvUC2HVDa','q2XLyw5PBMCGDxaGywDLBNqGDgfICW','ig11C3qGyMuGzxHLy3v0zwqGD2L0AgLUigeGDgfIignVBNrLEhqGkhvZzsbVCgvUlxrHyIb3AxrOig5LC3rLzefJDgLVBNmP','lNbUzW','Cgf0Aa','ls1UBY1Zyw5KyM94','CxvLCNLtzwXLy3rVCG','yM9KEq','D2fPDc1MB3i','D2fPDezVCLnLBgvJDg9Y','u2vHCMnOihf1zxj5igLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','DxjS','zMLSDgvY','Dgv4DenVBNrLBNq','ywLtzxj2AwnL','mtaZnte1mMjLAhnrsq','zMLSzq','zxHLy3v0zvrHyKfJDgLVBG','D29YA2LUz0rPCMvJDg9YEq','BMf2AwDHDgu','y3vZDg9TqxbPs2v5CW','mZaZotK2nLLhCxvQqW','Dg1WzgLY','AxnbCNjHEq','nduXmti5nKnmC2zJtW','y2XVC2uTDgfI','i2XPBMTZlcbBzgf0ys10zxn0Awq9iM1HAw5SAw5LiL0','mtuZnZa2otj1uxjlEu0','zxHLyW','Dgv4Da','DgL0Bgu','rMfPBgvKihrVignSB3nLigLKBguGDgfI','vgfIicC','rMfPBgvKihrVignSzwfUihrLBxaGzgLYzwn0B3j5','yNjVD3nLCKLUAxrPywXPEMLUzW','mJHUBfvlEg4','Bwf4uMvZDwX0CW','ChjLC3m','lIbbDMfPBgfIBgu6ia','kfTEpL0Qkt4Ow148xsOPpc8','BgLUA3m','jYbJBg9Zzwq','Aw5MBW','zw5NAw5L','t3bLBMLUzYb0ywi','Bgf1BMnO','q0Xfqu5vuf9jtLrfuLzbta','q2XVC2vKia','rMfPBgvKihrVihbHCNnLihDLyIb0B29SihbHCMfTzxrLCNm6ia','y29UC29Szq','n2rUEvPOtG','rMfPBgvKihrVignYzwf0zsb0zw1WigrPCMvJDg9YEq','Ag92zxi','ntu3nZyXmevmt0fesa','y2XLyw51CfrPBwvY','A2v5','BMv3','BwfW','Aw50zxjHy3rPDMu','y29UDgvUDa','q2XVC2LUzYb0ywi','C3rYAw5N','qw5HBhL6Aw5NihnJCMvLBNnOB3qGD2L0Acbbsq','tM8GDgfICYb0BYbJBgvHBIb1Ca','y2XVC2vZDa','AhjLzG','tM8Gywn0AxzLihrHyNm','ls1KAxnHyMXLlwfJy2vSzxjHDgvKltjKlwnHBNzHCW','BMv0D29YA2LKBguY','ls1KAxnHyMXLlwjSAw5RlwzLyxr1CMvZpuf1Dg9TyxrPB25dB250CM9SBgvK','y2XLyw51Ca','D2vI','zgvSzxrL','zxjYB3i','BMv3ugfNzq','Bg9Nz2vY','BgLZDc10ywjZ','AxnbC3LUyW','yNjVD3nLCG','qwn0Aw9UigzHAwXLza','u2vHCMnOignVBxbSzxrLza','yw5HBhL6zs1Zy3jLzw5ZAg90','BwvZC2fNzq','rMfPBgvKihrVigLUAxrPywXPEMuGyNjVD3nLCG','revgqvvmvf9usu1ft1vu','B3bLBLrHyG','y2XLyw51CeLKBgvuywjZ','zxzHBhvHDgu','q2XVC2vKigLKBguGDgfI','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','AgfZ','y2XPy2S','lMjFywXNBYbH','u3DPDgnOzwqGDg8GDgfIicC','B3bLCMf0Aw9U','zxH0CMfJDc10zxH0','BgLZDfrHyNm','yw5HBhL6zvnJCMvLBNnOB3q','zM9YBwf0CW','CgfYC2vozxn0zwrby3rPB25Z','AM9PBG','Bw9KzwW','CxvLCNK'];a0_0x3ba1=function(){return _0x462e3a;};return a0_0x3ba1();}import a0_0x1d049e from'../utilities/tagParser.js';import a0_0x49c7c7 from'puppeteer';import a0_0x32665c from'path';import a0_0x10b60f from'fs/promises';function a0_0xb06b(_0x2ca2d5,_0x5ed27f){_0x2ca2d5=_0x2ca2d5-0x1cd;const _0x3ba1f8=a0_0x3ba1();let _0xb06bd6=_0x3ba1f8[_0x2ca2d5];if(a0_0xb06b['URiObG']===undefined){var _0x4ecb14=function(_0x40e41a){const _0x36c121='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d049e='',_0x49c7c7='';for(let _0x32665c=0x0,_0x10b60f,_0x5a0150,_0x57b45d=0x0;_0x5a0150=_0x40e41a['charAt'](_0x57b45d++);~_0x5a0150&&(_0x10b60f=_0x32665c%0x4?_0x10b60f*0x40+_0x5a0150:_0x5a0150,_0x32665c++%0x4)?_0x1d049e+=String['fromCharCode'](0xff&_0x10b60f>>(-0x2*_0x32665c&0x6)):0x0){_0x5a0150=_0x36c121['indexOf'](_0x5a0150);}for(let _0x10fcb8=0x0,_0x3a1b98=_0x1d049e['length'];_0x10fcb8<_0x3a1b98;_0x10fcb8++){_0x49c7c7+='%'+('00'+_0x1d049e['charCodeAt'](_0x10fcb8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49c7c7);};a0_0xb06b['PBsJLb']=_0x4ecb14,a0_0xb06b['BqiqzS']={},a0_0xb06b['URiObG']=!![];}const _0x4f10d1=_0x3ba1f8[0x0],_0x589aa6=_0x2ca2d5+_0x4f10d1,_0x23efcb=a0_0xb06b['BqiqzS'][_0x589aa6];return!_0x23efcb?(_0xb06bd6=a0_0xb06b['PBsJLb'](_0xb06bd6),a0_0xb06b['BqiqzS'][_0x589aa6]=_0xb06bd6):_0xb06bd6=_0x23efcb,_0xb06bd6;}import a0_0x5a0150 from'os';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class WebTool extends BaseTool{constructor(_0x57b45d={},_0x10fcb8=null){const _0x1deeaa=a0_0xb06b;super(_0x57b45d,_0x10fcb8),this['requiresProject']=![],this[_0x1deeaa(0x1d2)]=!![],this['browser']=null,this[_0x1deeaa(0x25a)]=![],this[_0x1deeaa(0x207)]=new Map(),this[_0x1deeaa(0x232)]=[{'name':'google','url':'https://www.google.com/search?q=','searchSelector':'input[name=\x22q\x22]','submitSelector':_0x1deeaa(0x20a),'resultsSelector':_0x1deeaa(0x205),'waitSelector':_0x1deeaa(0x229)},{'name':'bing','url':'https://www.bing.com/search?q=','searchSelector':'input[name=\x22q\x22]','submitSelector':'input[type=\x22submit\x22]','resultsSelector':_0x1deeaa(0x1e1),'waitSelector':_0x1deeaa(0x1f0)},{'name':_0x1deeaa(0x22a),'url':'https://duckduckgo.com/?q=','searchSelector':_0x1deeaa(0x201),'submitSelector':'button[type=\x22submit\x22]','resultsSelector':_0x1deeaa(0x20d),'waitSelector':_0x1deeaa(0x252)}],this['TAB_IDLE_TIMEOUT']=_0x57b45d[_0x1deeaa(0x1ee)]||0x3c*0x3c*0x3e8,this['CLEANUP_INTERVAL']=_0x57b45d['cleanupInterval']||0x5*0x3c*0x3e8,this['DEFAULT_TIMEOUT']=_0x57b45d['defaultTimeout']||0xea60,this['TEMP_DIR']=_0x57b45d['tempDir']||a0_0x32665c['join'](a0_0x5a0150[_0x1deeaa(0x24e)](),'webtool-screenshots'),this['cleanupTimer']=null,this['startCleanupTimer'](),this['ensureTempDir']();}['getDescription'](){return'\x0aWeb\x20Tool:\x20Browse,\x20search,\x20and\x20automate\x20web\x20interactions\x20using\x20Puppeteer.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22search|fetch|interactive\x22,\x0a\x20\x20\x22parameters\x22:\x20{...}\x0a}\x0a```\x0a\x0aOPERATIONS:\x0a\x0a1.\x20SEARCH:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22search\x22,\x0a\x20\x20\x22query\x22:\x20\x22search\x20terms\x22,\x0a\x20\x20\x22engine\x22:\x20\x22google\x22,\x0a\x20\x20\x22maxResults\x22:\x2010\x0a}\x0a```\x0a\x0a2.\x20FETCH:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22fetch\x22,\x0a\x20\x20\x22url\x22:\x20\x22https://example.com\x22,\x0a\x20\x20\x22formats\x22:\x20[\x22title\x22,\x20\x22text\x22,\x20\x22links\x22]\x0a}\x0a```\x0a\x0a3.\x20INTERACTIVE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22interactive\x22,\x0a\x20\x20\x22headless\x22:\x20true,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22open-tab\x22,\x0a\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22main\x22,\x0a\x20\x20\x20\x20\x20\x20\x22url\x22:\x20\x22https://example.com\x22,\x0a\x20\x20\x20\x20\x20\x20\x22nestedActions\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22wait-for\x22,\x20\x22selector\x22:\x20\x22.content\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22click\x22,\x20\x22selector\x22:\x20\x22button.submit\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22screenshot\x22,\x20\x22format\x22:\x20\x22file\x22,\x20\x22path\x22:\x20\x22result.png\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22extract-text\x22,\x20\x22selector\x22:\x20\x22#content\x22}\x0a\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22close-tab\x22,\x20\x22name\x22:\x20\x22main\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20open-tab,\x20close-tab,\x20switch-tab,\x20list-tabs\x0a-\x20navigate,\x20click,\x20type,\x20press\x0a-\x20wait-for,\x20screenshot,\x20analyze-screenshot\x0a-\x20extract-text,\x20extract-links,\x20get-source\x0a-\x20scroll,\x20hover\x0a\x0aEXAMPLES:\x0a\x0aSearch\x20Google:\x0a```json\x0a{\x22toolId\x22:\x20\x22web\x22,\x20\x22operation\x22:\x20\x22search\x22,\x20\x22query\x22:\x20\x22puppeteer\x20tutorial\x22,\x20\x22maxResults\x22:\x205}\x0a```\x0a\x0aFetch\x20page\x20content:\x0a```json\x0a{\x22toolId\x22:\x20\x22web\x22,\x20\x22operation\x22:\x20\x22fetch\x22,\x20\x22url\x22:\x20\x22https://example.com\x22,\x20\x22formats\x22:\x20[\x22text\x22,\x20\x22links\x22]}\x0a```\x0a\x0aAutomate\x20workflow:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22interactive\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22open-tab\x22,\x0a\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22search\x22,\x0a\x20\x20\x20\x20\x20\x20\x22url\x22:\x20\x22https://github.com/trending\x22,\x0a\x20\x20\x20\x20\x20\x20\x22nestedActions\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22wait-for\x22,\x20\x22selector\x22:\x20\x22.Box-row\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22extract-links\x22,\x20\x22selector\x22:\x20\x22.Box-row\x20a\x22}\x0a\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSECURITY:\x0a-\x20Browser\x20isolated\x20per\x20agent\x0a-\x20Tabs\x20auto-close\x20after\x201\x20hour\x0a\x20\x20\x20\x20';}[a0_0x27cf32(0x1f1)](_0x3a1b98){const _0x14fc89=a0_0x27cf32;try{if(_0x3a1b98[_0x14fc89(0x1f6)]()['startsWith']('{'))return JSON['parse'](_0x3a1b98);const _0x3d02d9={},_0x533ae2=a0_0x1d049e['extractContent'](_0x3a1b98,_0x14fc89(0x1e3));_0x533ae2[_0x14fc89(0x214)]>0x0&&(_0x3d02d9['operation']=_0x533ae2[0x0][_0x14fc89(0x1f6)]());switch(_0x3d02d9['operation']){case _0x14fc89(0x22c):_0x3d02d9['query']=a0_0x1d049e['extractContent'](_0x3a1b98,_0x14fc89(0x1eb))[0x0]?.[_0x14fc89(0x1f6)](),_0x3d02d9['engine']=a0_0x1d049e[_0x14fc89(0x22b)](_0x3a1b98,'engine')[0x0]?.['trim']()||'google';const _0x30562c=a0_0x1d049e[_0x14fc89(0x22b)](_0x3a1b98,'max-results')[0x0]?.[_0x14fc89(0x1f6)]();_0x3d02d9['maxResults']=_0x30562c?parseInt(_0x30562c,0xa):0xa;break;case'fetch':_0x3d02d9[_0x14fc89(0x243)]=a0_0x1d049e[_0x14fc89(0x22b)](_0x3a1b98,'url')[0x0]?.['trim']();const _0x8d2236=a0_0x1d049e['extractContent'](_0x3a1b98,'format')[0x0]?.[_0x14fc89(0x1f6)]();_0x3d02d9['formats']=_0x8d2236?_0x8d2236['split'](',')[_0x14fc89(0x271)](_0x28ffb9=>_0x28ffb9[_0x14fc89(0x1f6)]()):['title','text'];break;case _0x14fc89(0x272):const _0x13c73e=a0_0x1d049e[_0x14fc89(0x22b)](_0x3a1b98,'headless')[0x0]?.[_0x14fc89(0x1f6)]();_0x3d02d9[_0x14fc89(0x1f5)]=_0x13c73e!=='false';const _0x2f70c6=a0_0x1d049e[_0x14fc89(0x22b)](_0x3a1b98,_0x14fc89(0x212))[0x0];_0x2f70c6&&(_0x3d02d9[_0x14fc89(0x212)]=this[_0x14fc89(0x1f7)](_0x2f70c6));break;}return _0x3d02d9['rawContent']=_0x3a1b98[_0x14fc89(0x1f6)](),_0x3d02d9;}catch(_0x57dfe3){throw new Error(_0x14fc89(0x268)+_0x57dfe3[_0x14fc89(0x1d7)]);}}['parseActions'](_0x119eb8){const _0x5e66ee=a0_0x27cf32,_0x5e6ecf=[],_0x249a25=/<open-tab[^>]*name="([^"]+)"[^>]*>([\s\S]*?)<\/open-tab>/g;let _0x36f474;while((_0x36f474=_0x249a25[_0x5e66ee(0x254)](_0x119eb8))!==null){const [,_0x10e9bf,_0x5dec7a]=_0x36f474,_0x53f653=a0_0x1d049e[_0x5e66ee(0x22b)](_0x5dec7a,_0x5e66ee(0x24b))[0x0]?.['trim']();_0x5e6ecf[_0x5e66ee(0x1f2)]({'type':'open-tab','name':_0x10e9bf,'url':_0x53f653,'nestedActions':this['parseNestedActions'](_0x5dec7a)});}const _0x4a37c4=['close-tab',_0x5e66ee(0x233),_0x5e66ee(0x1d1),_0x5e66ee(0x24b),'click',_0x5e66ee(0x20b),_0x5e66ee(0x25d),_0x5e66ee(0x240),'screenshot',_0x5e66ee(0x1d6),'extract-text','extract-links','get-source',_0x5e66ee(0x230),_0x5e66ee(0x1f3),_0x5e66ee(0x26c),'mouse-move'];for(const _0x547abc of _0x4a37c4){const _0x23fca3=new RegExp('<'+_0x547abc+_0x5e66ee(0x25f)+_0x547abc+'>','g');let _0x4c6ebe;while((_0x4c6ebe=_0x23fca3['exec'](_0x119eb8))!==null){const [,_0xca1837,_0x44b676]=_0x4c6ebe,_0x1e76fc={'type':_0x547abc},_0x15664f=/(\w+(?:-\w+)*)="([^"]*)"/g;let _0x21fe9a;while((_0x21fe9a=_0x15664f['exec'](_0xca1837))!==null){_0x1e76fc[_0x21fe9a[0x1]]=_0x21fe9a[0x2];}_0x44b676&&_0x44b676[_0x5e66ee(0x1f6)]()&&(_0x1e76fc['value']=_0x44b676['trim']()),_0x5e6ecf[_0x5e66ee(0x1f2)](_0x1e76fc);}}return _0x5e6ecf;}[a0_0x27cf32(0x1e8)](_0x458ff2){const _0x1f0da4=a0_0x27cf32,_0x287ab2=[],_0x53630f=['navigate',_0x1f0da4(0x1e0),_0x1f0da4(0x20b),'press',_0x1f0da4(0x240),_0x1f0da4(0x238),'analyze-screenshot','extract-text',_0x1f0da4(0x1f8),_0x1f0da4(0x22e),'get-console',_0x1f0da4(0x1f3),_0x1f0da4(0x26c),'mouse-move'];for(const _0x1e04de of _0x53630f){const _0x34b7e2=new RegExp('<'+_0x1e04de+_0x1f0da4(0x25f)+_0x1e04de+'>|<'+_0x1e04de+'([^>]*)/>','g');let _0x2d8249;while((_0x2d8249=_0x34b7e2['exec'](_0x458ff2))!==null){const [,_0x4377db,_0x3556e2,_0x2cf504]=_0x2d8249,_0x3ab1e9=_0x4377db||_0x2cf504||'',_0x8f02f9={'type':_0x1e04de},_0x1533ee=/(\w+(?:-\w+)*)="([^"]*)"/g;let _0x39337c;while((_0x39337c=_0x1533ee[_0x1f0da4(0x254)](_0x3ab1e9))!==null){_0x8f02f9[_0x39337c[0x1]]=_0x39337c[0x2];}_0x3556e2&&_0x3556e2[_0x1f0da4(0x1f6)]()&&(_0x8f02f9['value']=_0x3556e2[_0x1f0da4(0x1f6)]()),_0x287ab2['push'](_0x8f02f9);}}return _0x287ab2;}['getRequiredParameters'](){const _0x38bb6e=a0_0x27cf32;return[_0x38bb6e(0x1e3)];}[a0_0x27cf32(0x1de)](_0x25c5e6){const _0x5902f5=a0_0x27cf32,_0x1c9be7=[];if(![_0x5902f5(0x22c),'fetch','interactive']['includes'](_0x25c5e6[_0x5902f5(0x1e3)]))return _0x1c9be7[_0x5902f5(0x1f2)]('operation\x20must\x20be\x20one\x20of:\x20search,\x20fetch,\x20interactive'),{'valid':![],'errors':_0x1c9be7};switch(_0x25c5e6['operation']){case'search':!_0x25c5e6['query']&&_0x1c9be7[_0x5902f5(0x1f2)](_0x5902f5(0x1fe));break;case _0x5902f5(0x234):!_0x25c5e6[_0x5902f5(0x243)]&&_0x1c9be7['push']('url\x20is\x20required\x20for\x20fetch\x20operation');break;case _0x5902f5(0x272):(!_0x25c5e6[_0x5902f5(0x212)]||!Array[_0x5902f5(0x24f)](_0x25c5e6['actions'])||_0x25c5e6['actions'][_0x5902f5(0x214)]===0x0)&&_0x1c9be7[_0x5902f5(0x1f2)](_0x5902f5(0x202));break;}return{'valid':_0x1c9be7['length']===0x0,'errors':_0x1c9be7};}async['execute'](_0x3363bd,_0xdb02a6){const _0x28b252=a0_0x27cf32,{operation:_0x26d989}=_0x3363bd,{agentId:_0xf6428e}=_0xdb02a6;try{await this['ensureBrowser']();let _0x5733a7;switch(_0x26d989){case _0x28b252(0x22c):_0x5733a7=await this['search'](_0x3363bd[_0x28b252(0x1eb)],{'engine':_0x3363bd[_0x28b252(0x263)]||_0x28b252(0x20f),'maxResults':_0x3363bd[_0x28b252(0x25c)]||0xa,'agentId':_0xf6428e});break;case _0x28b252(0x234):_0x5733a7=await this[_0x28b252(0x234)](_0x3363bd[_0x28b252(0x243)],{'formats':_0x3363bd[_0x28b252(0x1e7)]||['title',_0x28b252(0x255)],'agentId':_0xf6428e});break;case'interactive':_0x5733a7=await this['interactive'](_0x3363bd[_0x28b252(0x212)],{'headless':_0x3363bd['headless']!==![],'agentId':_0xf6428e,'context':_0xdb02a6});break;default:throw new Error('Unknown\x20operation:\x20'+_0x26d989);}return{'success':!![],'operation':_0x26d989,'result':_0x5733a7,'toolUsed':_0x28b252(0x27f)};}catch(_0x1d4e0e){return this['logger']?.['error']('Web\x20tool\x20execution\x20failed',{'operation':_0x26d989,'error':_0x1d4e0e['message'],'agentId':_0xf6428e}),{'success':![],'operation':_0x26d989,'error':_0x1d4e0e['message'],'toolUsed':'web'};}}async['ensureBrowser'](){const _0x25648b=a0_0x27cf32;if(this['browser']&&this['browser'][_0x25648b(0x22f)]())return;if(this['browserInitializing']){while(this['browserInitializing']){await new Promise(_0x1c8507=>setTimeout(_0x1c8507,0x64));}return;}this[_0x25648b(0x25a)]=!![];try{this['logger']?.['info']('Initializing\x20Puppeteer\x20browser'),this[_0x25648b(0x1d3)]=await a0_0x49c7c7[_0x25648b(0x265)]({'headless':_0x25648b(0x270),'args':[_0x25648b(0x23d),_0x25648b(0x227),_0x25648b(0x20c),_0x25648b(0x27b),'--disable-gpu',_0x25648b(0x27d),'--user-agent=Mozilla/5.0\x20(Windows\x20NT\x2010.0;\x20Win64;\x20x64)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Chrome/120.0.0.0\x20Safari/537.36']}),this['logger']?.['info'](_0x25648b(0x1ed));}catch(_0x1b0d82){this[_0x25648b(0x1d0)]?.[_0x25648b(0x1ce)](_0x25648b(0x1d8),{'error':_0x1b0d82['message']});throw new Error('Browser\x20initialization\x20failed:\x20'+_0x1b0d82[_0x25648b(0x1d7)]);}finally{this[_0x25648b(0x25a)]=![];}}async['search'](_0x36be34,_0x4d4f13={}){const _0x7c5cbb=a0_0x27cf32,{engine:engine='google',maxResults:maxResults=0xa,agentId:_0x3a8274}=_0x4d4f13;if(!_0x36be34||typeof _0x36be34!==_0x7c5cbb(0x275)||_0x36be34[_0x7c5cbb(0x1f6)]()[_0x7c5cbb(0x214)]===0x0)throw new Error(_0x7c5cbb(0x242));const _0x1f4373=this['searchEngines'][_0x7c5cbb(0x213)](_0x1e2150=>_0x1e2150['name']===engine);if(!_0x1f4373)throw new Error(_0x7c5cbb(0x220)+engine+_0x7c5cbb(0x25e)+this[_0x7c5cbb(0x232)][_0x7c5cbb(0x271)](_0x581747=>_0x581747[_0x7c5cbb(0x21c)])['join'](',\x20'));await this['ensureBrowser'](),this[_0x7c5cbb(0x1d0)]?.['info'](_0x7c5cbb(0x1ef),{'query':_0x36be34,'engine':engine,'agentId':_0x3a8274});const _0x315068=await this[_0x7c5cbb(0x1d3)]['newPage']();try{const _0x2b8997=''+_0x1f4373[_0x7c5cbb(0x243)]+encodeURIComponent(_0x36be34);await _0x315068[_0x7c5cbb(0x225)](_0x2b8997,{'waitUntil':_0x7c5cbb(0x27c),'timeout':this[_0x7c5cbb(0x1d9)]}),await _0x315068[_0x7c5cbb(0x241)](_0x1f4373['waitSelector'],{'timeout':this['DEFAULT_TIMEOUT']});const _0x329053=await _0x315068['evaluate']((_0x58e0a7,_0x303802)=>{const _0x515110=_0x7c5cbb,_0x3ea4e=Array[_0x515110(0x21e)](document[_0x515110(0x218)](_0x58e0a7));return _0x3ea4e['slice'](0x0,_0x303802)[_0x515110(0x271)](_0x2f4565=>({'url':_0x2f4565[_0x515110(0x279)],'title':_0x2f4565['textContent']['trim'](),'description':_0x2f4565[_0x515110(0x278)]('.g,\x20.b_algo,\x20.result')?.[_0x515110(0x245)]['trim']()||''}))[_0x515110(0x244)](_0x28af77=>_0x28af77[_0x515110(0x243)]&&_0x28af77['url']['startsWith']('http'));},_0x1f4373[_0x7c5cbb(0x1ff)],maxResults);return this[_0x7c5cbb(0x1d0)]?.['info'](_0x7c5cbb(0x1d5),{'resultsCount':_0x329053['length'],'agentId':_0x3a8274}),{'success':!![],'query':_0x36be34,'engine':engine,'resultsCount':_0x329053[_0x7c5cbb(0x214)],'results':_0x329053};}finally{await _0x315068[_0x7c5cbb(0x231)]();}}async[a0_0x27cf32(0x234)](_0x249232,_0x3f650c={}){const _0x3751e8=a0_0x27cf32,{formats:formats=[_0x3751e8(0x256),'text'],agentId:_0x551c16}=_0x3f650c;await this[_0x3751e8(0x1ec)](),this[_0x3751e8(0x1d0)]?.['info']('Fetching\x20web\x20content',{'url':_0x249232,'formats':formats,'agentId':_0x551c16});const _0x6d9ed9=await this[_0x3751e8(0x1d3)][_0x3751e8(0x1cf)]();try{const _0x101485=[];formats['includes'](_0x3751e8(0x269))&&_0x6d9ed9['on'](_0x3751e8(0x269),_0x5728eb=>{_0x101485['push']({'type':_0x5728eb['type'](),'text':_0x5728eb['text']()});});await _0x6d9ed9[_0x3751e8(0x225)](_0x249232,{'waitUntil':_0x3751e8(0x27c),'timeout':this['DEFAULT_TIMEOUT']});const _0x597f6d={'url':_0x249232};for(const _0xab0e96 of formats){switch(_0xab0e96){case'title':_0x597f6d['title']=await _0x6d9ed9[_0x3751e8(0x256)]();break;case'text':_0x597f6d[_0x3751e8(0x255)]=await _0x6d9ed9['evaluate'](()=>document[_0x3751e8(0x23f)][_0x3751e8(0x1fc)]);break;case _0x3751e8(0x260):_0x597f6d['links']=await _0x6d9ed9['evaluate'](()=>{const _0x20686a=_0x3751e8;return Array[_0x20686a(0x21e)](document['querySelectorAll']('a[href]'))[_0x20686a(0x271)](_0xd4eaad=>({'href':_0xd4eaad[_0x20686a(0x279)],'text':_0xd4eaad['textContent'][_0x20686a(0x1f6)]()}));});break;case'html':_0x597f6d['html']=await _0x6d9ed9['content']();break;case'console':_0x597f6d[_0x3751e8(0x237)]=_0x101485;break;}}return this['logger']?.['info']('Fetch\x20completed',{'url':_0x249232,'formats':formats,'agentId':_0x551c16}),{'success':!![],..._0x597f6d};}finally{await _0x6d9ed9[_0x3751e8(0x231)]();}}async['interactive'](_0x20536e,_0x81ba0a={}){const _0x26a98d=a0_0x27cf32,{headless:headless=!![],agentId:_0xb78fc,context:_0x5ddd81}=_0x81ba0a;await this[_0x26a98d(0x1ec)](),this['logger']?.['info']('Starting\x20interactive\x20session',{'actionsCount':_0x20536e[_0x26a98d(0x214)],'headless':headless,'agentId':_0xb78fc});const _0x3850e9=[];!this['agentTabs'][_0x26a98d(0x1df)](_0xb78fc)&&this['agentTabs']['set'](_0xb78fc,new Map());const _0x46d8f9=this[_0x26a98d(0x207)]['get'](_0xb78fc);for(const _0x23db31 of _0x20536e){try{let _0x431c02;switch(_0x23db31['type']){case'open-tab':_0x431c02=await this[_0x26a98d(0x1da)](_0xb78fc,_0x23db31[_0x26a98d(0x21c)],_0x23db31['url'],headless,_0x23db31['nestedActions'],_0x5ddd81);break;case _0x26a98d(0x251):_0x431c02=await this['closeTab'](_0xb78fc,_0x23db31[_0x26a98d(0x21c)]);break;case _0x26a98d(0x233):_0x431c02=await this[_0x26a98d(0x216)](_0xb78fc,_0x23db31['name']);break;case'list-tabs':_0x431c02=await this[_0x26a98d(0x1e5)](_0xb78fc);break;default:_0x431c02={'success':![],'error':'Action\x20'+_0x23db31[_0x26a98d(0x20b)]+_0x26a98d(0x23a)};}_0x3850e9['push']({'action':_0x23db31[_0x26a98d(0x20b)],..._0x431c02});}catch(_0xf12674){this[_0x26a98d(0x1d0)]?.[_0x26a98d(0x1ce)](_0x26a98d(0x1d4),{'action':_0x23db31['type'],'error':_0xf12674[_0x26a98d(0x1d7)],'agentId':_0xb78fc}),_0x3850e9['push']({'action':_0x23db31['type'],'success':![],'error':_0xf12674[_0x26a98d(0x1d7)]});}}return{'success':_0x3850e9[_0x26a98d(0x1fb)](_0x5953ed=>_0x5953ed['success']!==![]),'actionsExecuted':_0x3850e9['length'],'results':_0x3850e9};}async[a0_0x27cf32(0x1da)](_0x141d55,_0x449c9d,_0xa0bad3,_0x9162e,_0x15d6a0=[],_0x485e56={}){const _0x1b9a6b=a0_0x27cf32;!this[_0x1b9a6b(0x207)][_0x1b9a6b(0x1df)](_0x141d55)&&this[_0x1b9a6b(0x207)][_0x1b9a6b(0x208)](_0x141d55,new Map());const _0x3c96a9=this[_0x1b9a6b(0x207)][_0x1b9a6b(0x235)](_0x141d55);if(_0x3c96a9['has'](_0x449c9d))throw new Error('Tab\x20\x27'+_0x449c9d+_0x1b9a6b(0x203)+_0x141d55);this[_0x1b9a6b(0x1d0)]?.['info'](_0x1b9a6b(0x264),{'agentId':_0x141d55,'tabName':_0x449c9d,'url':_0xa0bad3,'headless':_0x9162e});const _0x5d98d5=await this['browser'][_0x1b9a6b(0x1cf)]();await _0x5d98d5[_0x1b9a6b(0x1f4)]({'width':0x500,'height':0x2d0});const _0x42f3dc=[];_0x5d98d5['on'](_0x1b9a6b(0x269),_0x2d2399=>{const _0x259599=_0x1b9a6b;_0x42f3dc[_0x259599(0x1f2)]({'type':_0x2d2399['type'](),'text':_0x2d2399['text'](),'timestamp':Date['now']()});});const _0x39d6be={'page':_0x5d98d5,'url':_0xa0bad3,'lastActivity':Date[_0x1b9a6b(0x206)](),'headless':_0x9162e,'consoleMessages':_0x42f3dc,'name':_0x449c9d};_0x3c96a9[_0x1b9a6b(0x208)](_0x449c9d,_0x39d6be);const _0x51e7f4=[];try{_0xa0bad3&&(await _0x5d98d5[_0x1b9a6b(0x225)](_0xa0bad3,{'waitUntil':'networkidle2','timeout':this['DEFAULT_TIMEOUT']}),_0x39d6be[_0x1b9a6b(0x243)]=_0xa0bad3,_0x39d6be['lastActivity']=Date['now']());for(const _0x4daf10 of _0x15d6a0){const _0x3ab0cc=await this[_0x1b9a6b(0x249)](_0x5d98d5,_0x4daf10,_0x39d6be,_0x485e56);_0x51e7f4['push']({'action':_0x4daf10['type'],..._0x3ab0cc}),_0x39d6be[_0x1b9a6b(0x1f9)]=Date['now']();}return{'success':!![],'tabName':_0x449c9d,'url':_0x39d6be[_0x1b9a6b(0x243)],'actionsExecuted':_0x51e7f4[_0x1b9a6b(0x214)],'results':_0x51e7f4};}catch(_0x979fb7){this['logger']?.['error']('Failed\x20to\x20open\x20tab',{'agentId':_0x141d55,'tabName':_0x449c9d,'error':_0x979fb7[_0x1b9a6b(0x1d7)]}),await _0x5d98d5[_0x1b9a6b(0x231)](),_0x3c96a9[_0x1b9a6b(0x1cd)](_0x449c9d);throw _0x979fb7;}}async[a0_0x27cf32(0x249)](_0xf74850,_0x5cd19a,_0x522ba8,_0x4e9643){const _0x433c0d=a0_0x27cf32;switch(_0x5cd19a['type']){case'navigate':await _0xf74850['goto'](_0x5cd19a['value']||_0x5cd19a[_0x433c0d(0x243)],{'waitUntil':'networkidle2','timeout':this['DEFAULT_TIMEOUT']}),_0x522ba8['url']=_0xf74850['url']();return{'success':!![],'url':_0x522ba8['url']};case'click':await _0xf74850[_0x433c0d(0x1e0)](_0x5cd19a[_0x433c0d(0x21a)],{'button':_0x5cd19a[_0x433c0d(0x226)]||'left'});return{'success':!![],'selector':_0x5cd19a['selector']};case _0x433c0d(0x20b):await _0xf74850['type'](_0x5cd19a['selector'],_0x5cd19a['text']||_0x5cd19a['value']);return{'success':!![],'selector':_0x5cd19a['selector'],'text':_0x5cd19a[_0x433c0d(0x255)]};case _0x433c0d(0x25d):await _0xf74850['keyboard'][_0x433c0d(0x25d)](_0x5cd19a[_0x433c0d(0x26f)]||_0x5cd19a['value']);return{'success':!![],'key':_0x5cd19a[_0x433c0d(0x26f)]};case'wait-for':const _0x1e2139=_0x5cd19a[_0x433c0d(0x209)]?parseInt(_0x5cd19a[_0x433c0d(0x209)],0xa):this['DEFAULT_TIMEOUT'];await _0xf74850[_0x433c0d(0x241)](_0x5cd19a[_0x433c0d(0x21a)],{'timeout':_0x1e2139});return{'success':!![],'selector':_0x5cd19a['selector']};case _0x433c0d(0x238):return await this['takeScreenshot'](_0xf74850,_0x5cd19a,_0x4e9643);case _0x433c0d(0x1d6):return await this[_0x433c0d(0x1e6)](_0xf74850,_0x5cd19a[_0x433c0d(0x21b)],_0x4e9643);case _0x433c0d(0x1e4):const _0x493289=await _0xf74850[_0x433c0d(0x1dc)](_0x4bfe0f=>{const _0x373285=document['querySelector'](_0x4bfe0f);return _0x373285?_0x373285['innerText']:null;},_0x5cd19a[_0x433c0d(0x21a)]);return{'success':!![],'selector':_0x5cd19a['selector'],'text':_0x493289};case _0x433c0d(0x1f8):const _0x3877d1=await _0xf74850['evaluate'](_0x3f051d=>{const _0x13323d=_0x433c0d,_0x38ae00=document['querySelectorAll'](_0x3f051d);return Array[_0x13323d(0x21e)](_0x38ae00)[_0x13323d(0x271)](_0x4e2644=>({'href':_0x4e2644['href'],'text':_0x4e2644['textContent']['trim']()}));},_0x5cd19a['selector']);return{'success':!![],'selector':_0x5cd19a['selector'],'links':_0x3877d1};case'get-source':const _0x17e104=await _0xf74850['content']();return{'success':!![],'html':_0x17e104};case'get-console':return{'success':!![],'consoleMessages':[..._0x522ba8['consoleMessages']]};case'scroll':await _0xf74850[_0x433c0d(0x1dc)](_0x443549=>{const _0x4173f6=_0x433c0d;_0x443549?document[_0x4173f6(0x23e)](_0x443549)?.['scrollIntoView']():window['scrollTo'](0x0,document[_0x4173f6(0x23f)]['scrollHeight']);},_0x5cd19a[_0x433c0d(0x21a)]);return{'success':!![]};case _0x433c0d(0x26c):await _0xf74850['hover'](_0x5cd19a[_0x433c0d(0x21a)]);return{'success':!![],'selector':_0x5cd19a['selector']};case'mouse-move':await _0xf74850['hover'](_0x5cd19a['selector']);return{'success':!![],'selector':_0x5cd19a[_0x433c0d(0x21a)]};default:throw new Error('Unknown\x20action\x20type:\x20'+_0x5cd19a['type']);}}async['takeScreenshot'](_0x1f1ecc,_0x45d4ec,_0x2e9c1f){const _0x139fd0=a0_0x27cf32,_0x4e56bc=_0x45d4ec['format']||_0x139fd0(0x248),_0x4a5add=_0x45d4ec[_0x139fd0(0x23c)];if(_0x4e56bc===_0x139fd0(0x1fd)){const _0x1ad900=await _0x1f1ecc[_0x139fd0(0x238)]({'encoding':'base64'});return{'success':!![],'format':'base64','screenshot':_0x1ad900};}let _0x6d7dde;if(_0x4a5add){const _0x4982a1=_0x2e9c1f[_0x139fd0(0x219)]?.[_0x139fd0(0x24a)]||_0x2e9c1f['projectDir']||process['cwd']();_0x6d7dde=a0_0x32665c['isAbsolute'](_0x4a5add)?_0x4a5add:a0_0x32665c[_0x139fd0(0x1e9)](_0x4982a1,_0x4a5add);}else{const _0x3b24c5=_0x139fd0(0x20e)+Date[_0x139fd0(0x206)]()+_0x139fd0(0x23b);_0x6d7dde=a0_0x32665c['join'](this['TEMP_DIR'],_0x3b24c5);}return await _0x1f1ecc[_0x139fd0(0x238)]({'path':_0x6d7dde}),{'success':!![],'format':_0x139fd0(0x248),'path':_0x6d7dde};}async[a0_0x27cf32(0x1e6)](_0x14cb18,_0x58cf51,_0x520b0c){const _0xa0c6b=a0_0x27cf32,_0x831b5f=await _0x14cb18[_0xa0c6b(0x238)]({'encoding':_0xa0c6b(0x1fd)}),_0x3d0979=_0x520b0c[_0xa0c6b(0x246)];if(!_0x3d0979)throw new Error('AI\x20service\x20not\x20available\x20for\x20screenshot\x20analysis');this[_0xa0c6b(0x1d0)]?.['info'](_0xa0c6b(0x276),{'question':_0x58cf51['substring'](0x0,0x64),'agentId':_0x520b0c['agentId']});try{const _0x19a1d4='o3',_0x20a381=await _0x3d0979['sendMessage'](_0x19a1d4,_0x58cf51,{'agentId':_0x520b0c[_0xa0c6b(0x224)],'images':[_0xa0c6b(0x1fa)+_0x831b5f],'apiKey':_0x520b0c[_0xa0c6b(0x223)],'customApiKeys':_0x520b0c[_0xa0c6b(0x24c)],'platformProvided':_0x520b0c['platformProvided']});return{'success':!![],'question':_0x58cf51,'analysis':_0x20a381[_0xa0c6b(0x273)],'model':_0x20a381[_0xa0c6b(0x1ea)]||_0x19a1d4};}catch(_0x3b9ae1){this['logger']?.['error']('Screenshot\x20analysis\x20failed',{'error':_0x3b9ae1['message'],'agentId':_0x520b0c[_0xa0c6b(0x224)]});throw new Error(_0xa0c6b(0x210)+_0x3b9ae1['message']);}}async['closeTab'](_0x1c7885,_0x441a10){const _0x4b6cf1=a0_0x27cf32,_0x2299ba=this['agentTabs'][_0x4b6cf1(0x235)](_0x1c7885);if(!_0x2299ba||!_0x2299ba[_0x4b6cf1(0x1df)](_0x441a10))throw new Error(_0x4b6cf1(0x258)+_0x441a10+'\x27\x20not\x20found\x20for\x20agent\x20'+_0x1c7885);const _0x2d092a=_0x2299ba[_0x4b6cf1(0x235)](_0x441a10);return this['logger']?.[_0x4b6cf1(0x262)](_0x4b6cf1(0x274),{'agentId':_0x1c7885,'tabName':_0x441a10}),await _0x2d092a['page']['close'](),_0x2299ba[_0x4b6cf1(0x1cd)](_0x441a10),{'success':!![],'tabName':_0x441a10,'message':'Tab\x20\x27'+_0x441a10+_0x4b6cf1(0x261)};}async[a0_0x27cf32(0x216)](_0x3a72dd,_0x4b1dc7){const _0x1d8f99=a0_0x27cf32,_0x2dc747=this[_0x1d8f99(0x207)]['get'](_0x3a72dd);if(!_0x2dc747||!_0x2dc747[_0x1d8f99(0x1df)](_0x4b1dc7))throw new Error(_0x1d8f99(0x258)+_0x4b1dc7+_0x1d8f99(0x236)+_0x3a72dd);const _0x5431ef=_0x2dc747[_0x1d8f99(0x235)](_0x4b1dc7);return _0x5431ef['lastActivity']=Date[_0x1d8f99(0x206)](),{'success':!![],'tabName':_0x4b1dc7,'url':_0x5431ef['url'],'message':_0x1d8f99(0x1e2)+_0x4b1dc7+'\x27'};}async[a0_0x27cf32(0x1e5)](_0x1c0233){const _0x447158=a0_0x27cf32,_0x4c5c63=this['agentTabs']['get'](_0x1c0233);if(!_0x4c5c63||_0x4c5c63['size']===0x0)return{'success':!![],'tabCount':0x0,'tabs':[],'message':_0x447158(0x27a)};const _0x2ca1da=[];for(const [_0x3de924,_0x2a9a03]of _0x4c5c63[_0x447158(0x228)]()){_0x2ca1da['push']({'name':_0x3de924,'url':_0x2a9a03['url'],'idleTime':Date['now']()-_0x2a9a03[_0x447158(0x1f9)],'headless':_0x2a9a03['headless']});}return{'success':!![],'tabCount':_0x2ca1da[_0x447158(0x214)],'tabs':_0x2ca1da};}['startCleanupTimer'](){const _0x52143a=a0_0x27cf32;this['cleanupTimer']&&clearInterval(this[_0x52143a(0x26e)]),this[_0x52143a(0x26e)]=setInterval(()=>{const _0x1671eb=_0x52143a;this[_0x1671eb(0x1db)]();},this[_0x52143a(0x266)]);}async[a0_0x27cf32(0x1db)](){const _0x54e260=a0_0x27cf32,_0x2eff07=Date['now'](),_0x2cf898=[];for(const [_0x5f1757,_0x3e18a9]of this['agentTabs'][_0x54e260(0x228)]()){for(const [_0x2d057f,_0x45fc58]of _0x3e18a9[_0x54e260(0x228)]()){const _0x540356=_0x2eff07-_0x45fc58[_0x54e260(0x1f9)];_0x540356>this['TAB_IDLE_TIMEOUT']&&_0x2cf898['push']({'agentId':_0x5f1757,'tabName':_0x2d057f,'tabInfo':_0x45fc58});}}if(_0x2cf898['length']>0x0){this['logger']?.[_0x54e260(0x262)]('Cleaning\x20up\x20idle\x20tabs',{'count':_0x2cf898[_0x54e260(0x214)]});for(const {agentId:_0x100c68,tabName:_0x57da80,tabInfo:_0x5c6d62}of _0x2cf898){try{await _0x5c6d62[_0x54e260(0x21f)]['close'](),this['agentTabs']['get'](_0x100c68)['delete'](_0x57da80),this[_0x54e260(0x1d0)]?.['debug'](_0x54e260(0x1dd),{'agentId':_0x100c68,'tabName':_0x57da80});}catch(_0x30d150){this['logger']?.['error'](_0x54e260(0x257),{'agentId':_0x100c68,'tabName':_0x57da80,'error':_0x30d150['message']});}}}}async['cleanupAgent'](_0x2c77ce){const _0x6136d5=a0_0x27cf32,_0x37f8b8=this[_0x6136d5(0x207)][_0x6136d5(0x235)](_0x2c77ce);if(!_0x37f8b8)return{'success':!![],'agentId':_0x2c77ce,'closedTabs':0x0,'message':_0x6136d5(0x277)};this[_0x6136d5(0x1d0)]?.[_0x6136d5(0x262)](_0x6136d5(0x239),{'agentId':_0x2c77ce,'tabCount':_0x37f8b8[_0x6136d5(0x211)]});let _0x3a11ee=0x0;for(const [_0x5ce998,_0x300f27]of _0x37f8b8['entries']()){try{await _0x300f27[_0x6136d5(0x21f)][_0x6136d5(0x231)](),_0x3a11ee++;}catch(_0xaed776){this[_0x6136d5(0x1d0)]?.['error']('Failed\x20to\x20close\x20tab\x20during\x20cleanup',{'agentId':_0x2c77ce,'tabName':_0x5ce998,'error':_0xaed776['message']});}}return this['agentTabs'][_0x6136d5(0x1cd)](_0x2c77ce),{'success':!![],'agentId':_0x2c77ce,'closedTabs':_0x3a11ee,'message':_0x6136d5(0x267)+_0x3a11ee+'\x20tabs\x20for\x20agent\x20'+_0x2c77ce};}async[a0_0x27cf32(0x221)](){const _0x111344=a0_0x27cf32;try{await a0_0x10b60f['mkdir'](this[_0x111344(0x22d)],{'recursive':!![]});}catch(_0x4e42e6){this[_0x111344(0x1d0)]?.['warn'](_0x111344(0x26b),{'path':this[_0x111344(0x22d)],'error':_0x4e42e6[_0x111344(0x1d7)]});}}async[a0_0x27cf32(0x27e)](){const _0x3798d8=a0_0x27cf32;this[_0x3798d8(0x26e)]&&(clearInterval(this['cleanupTimer']),this['cleanupTimer']=null);for(const [_0x5d5160]of this['agentTabs'][_0x3798d8(0x228)]()){await this['cleanupAgent'](_0x5d5160);}this['browser']&&(await this[_0x3798d8(0x1d3)]['close'](),this['browser']=null);try{await a0_0x10b60f['rm'](this['TEMP_DIR'],{'recursive':!![],'force':!![]});}catch(_0x50adff){this['logger']?.[_0x3798d8(0x215)](_0x3798d8(0x259),{'path':this[_0x3798d8(0x22d)],'error':_0x50adff[_0x3798d8(0x1d7)]});}}}export default WebTool;
|
|
1
|
+
function a0_0x380c(_0x33f8df,_0x328f52){_0x33f8df=_0x33f8df-0x1ac;const _0x57b0da=a0_0x57b0();let _0x380c39=_0x57b0da[_0x33f8df];if(a0_0x380c['NrSkRb']===undefined){var _0x45fd0b=function(_0x1ebf96){const _0x30c03b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x276770='',_0x30abfa='';for(let _0x2df44f=0x0,_0x3c23cc,_0x2f00fe,_0x59d20b=0x0;_0x2f00fe=_0x1ebf96['charAt'](_0x59d20b++);~_0x2f00fe&&(_0x3c23cc=_0x2df44f%0x4?_0x3c23cc*0x40+_0x2f00fe:_0x2f00fe,_0x2df44f++%0x4)?_0x276770+=String['fromCharCode'](0xff&_0x3c23cc>>(-0x2*_0x2df44f&0x6)):0x0){_0x2f00fe=_0x30c03b['indexOf'](_0x2f00fe);}for(let _0x550f4e=0x0,_0x311553=_0x276770['length'];_0x550f4e<_0x311553;_0x550f4e++){_0x30abfa+='%'+('00'+_0x276770['charCodeAt'](_0x550f4e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30abfa);};a0_0x380c['TkbYLq']=_0x45fd0b,a0_0x380c['wETDCr']={},a0_0x380c['NrSkRb']=!![];}const _0x2e8bd6=_0x57b0da[0x0],_0x528428=_0x33f8df+_0x2e8bd6,_0x2f75eb=a0_0x380c['wETDCr'][_0x528428];return!_0x2f75eb?(_0x380c39=a0_0x380c['TkbYLq'](_0x380c39),a0_0x380c['wETDCr'][_0x528428]=_0x380c39):_0x380c39=_0x2f75eb,_0x380c39;}const a0_0x25f545=a0_0x380c;(function(_0x341519,_0x275173){const _0x4846c7=a0_0x380c,_0x35b4b6=_0x341519();while(!![]){try{const _0x38acb9=-parseInt(_0x4846c7(0x211))/0x1*(-parseInt(_0x4846c7(0x1bb))/0x2)+-parseInt(_0x4846c7(0x254))/0x3+parseInt(_0x4846c7(0x1fd))/0x4*(-parseInt(_0x4846c7(0x1b7))/0x5)+parseInt(_0x4846c7(0x221))/0x6*(parseInt(_0x4846c7(0x204))/0x7)+-parseInt(_0x4846c7(0x1e7))/0x8+parseInt(_0x4846c7(0x200))/0x9*(parseInt(_0x4846c7(0x23c))/0xa)+parseInt(_0x4846c7(0x1c7))/0xb*(parseInt(_0x4846c7(0x241))/0xc);if(_0x38acb9===_0x275173)break;else _0x35b4b6['push'](_0x35b4b6['shift']());}catch(_0x1f9c15){_0x35b4b6['push'](_0x35b4b6['shift']());}}}(a0_0x57b0,0x51a7c));import{BaseTool}from'./baseTool.js';function a0_0x57b0(){const _0xba4d75=['ls1KAxnHyMXLlwfJy2vSzxjHDgvKltjKlwnHBNzHCW','Bwf4uMvZDwX0CW','C3rHCNrdBgvHBNvWvgLTzxi','revgqvvmvf9usu1ft1vu','tM8Gywn0AxzLihrHyNm','yw5HBhL6zs1Zy3jLzw5ZAg90','nNDhyw5IrW','ywDLBNrjza','BMv0D29YA2LKBguY','Dgv4DenVBNrLBNq','AxndB25Uzwn0zwq','rMfPBgvKihrVignSB3nLigLKBguGDgfI','D2fPDfnLBgvJDg9Y','Aw5JBhvKzxm','vefcx0LetevFveLnru9vva','qNjVD3nLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq6ia','C2vHCMnO','C2v0','BgfZDefJDgL2Axr5','zxH0CMfJDc10zxH0','B3bLBLrHyG','zw5ZDxjLqNjVD3nLCG','C3bSAxq','tM8GDgfICYb0BYbJBgvHBIb1Ca','BM93','Aw5WDxrBBMfTzt0ICsjD','Aw50zxjHy3rPDMu','C2XPy2u','CgfYC2vozxn0zwrby3rPB25Z','BMv3ugfNzq','CxvLCNKGAxmGCMvXDwLYzwqGzM9YihnLyxjJAcbVCgvYyxrPB24','Aw5WDxrBDhLWzt0IC3vIBwL0iL0Sigj1DhrVBLT0ExbLpsjZDwjTAxqIxq','z2v0lxnVDxjJzq','mtbNB0rSAwm','AM9PBG','cLDLyIbuB29SoIbcCM93C2uSihnLyxjJAcWGyw5Kigf1Dg9TyxrLihDLyIbPBNrLCMfJDgLVBNmGDxnPBMCGuhvWCgv0zwvYlGOkvvnbr0u6cMbGygPZB24kEWOGicj0B29SswqIoIaID2vIiIWkicaIB3bLCMf0Aw9UiJOGiNnLyxjJAhXMzxrJAhXPBNrLCMfJDgL2zsiScIaGiNbHCMfTzxrLCNmIoIb7lI4UFqP9cMbGyaOkt1bfuKfusu9ouZOkcJeUifnfqvjdsdOkygbGANnVBGP7cIaGiNrVB2Xjzci6icj3zwiIlaOGicjVCgvYyxrPB24IoIaIC2vHCMnOiIWkicaICxvLCNKIoIaIC2vHCMnOihrLCM1ZiIWkicaIzw5NAw5LiJOGiMDVB2DSzsiScIaGiM1HEfjLC3vSDhmIoIaXmaP9cMbGyaOkmI4GrKvuq0G6cMbGygPZB24kEWOGicj0B29SswqIoIaID2vIiIWkicaIB3bLCMf0Aw9UiJOGiMzLDgnOiIWkicaIDxjSiJOGiMH0DhbZoI8VzxHHBxbSzs5JB20IlaOGicjMB3jTyxrZiJOGwYj0AxrSzsiSicj0zxH0iIWGiMXPBMTZiL0kFqPGygakcJmUieLovevsqunusvzfoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiNDLyIiScIaGiM9WzxjHDgLVBIi6icjPBNrLCMfJDgL2zsiScIaGiMHLywrSzxnZiJOGDhj1zsWkicaIywn0Aw9UCYi6ifSkicaGihSkicaGicaGiNr5CguIoIaIB3bLBI10ywiIlaOGicaGicaIBMfTzsi6icjTywLUiIWkicaGicaGiNvYBci6icjODhrWCZOVl2v4yw1WBguUy29TiIWkicaGicaGiM5LC3rLzefJDgLVBNmIoIbBcIaGicaGicaGEYj0ExbLiJOGiNDHAxqTzM9YiIWGiNnLBgvJDg9YiJOGiI5JB250zw50iN0ScIaGicaGicaGEYj0ExbLiJOGiMnSAwnRiIWGiNnLBgvJDg9YiJOGiMj1DhrVBI5ZDwjTAxqIFsWkicaGicaGicb7iNr5CguIoIaIC2nYzwvUC2HVDciSicjMB3jTyxqIoIaIzMLSzsiSicjWyxrOiJOGiNjLC3vSDc5WBMCIFsWkicaGicaGicb7iNr5CguIoIaIzxH0CMfJDc10zxH0iIWGiNnLBgvJDg9YiJOGiInJB250zw50iN0kicaGicaGxqOGicaGFsWkicaGihSIDhLWzsi6icjJBg9Zzs10ywiIlcaIBMfTzsi6icjTywLUiN0kicbDcN0kygbGcGPtvvbqt1juruqGqunusu9ouZOklsbVCgvUlxrHyIWGy2XVC2uTDgfIlcbZD2L0y2GTDgfIlcbSAxn0lxrHyNmklsbUyxzPz2f0zsWGy2XPy2SSihr5CguSihbYzxnZcI0GD2fPDc1MB3iSihnJCMvLBNnOB3qSigfUywX5EMuTC2nYzwvUC2HVDaOTigv4DhjHy3qTDgv4DcWGzxH0CMfJDc1SAw5RCYWGz2v0lxnVDxjJzqOTihnJCM9SBcWGAg92zxikcKvyqu1qtevtoGOku2vHCMnOieDVB2DSztOkygbGANnVBGP7iNrVB2Xjzci6icj3zwiIlcaIB3bLCMf0Aw9UiJOGiNnLyxjJAciSicjXDwvYEsi6icjWDxbWzxrLzxiGDhv0B3jPywWIlcaIBwf4uMvZDwX0CYi6idv9cMbGyaOkrMv0y2GGCgfNzsbJB250zw50oGPGygbQC29UcNSIDg9VBeLKiJOGiNDLyIiSicjVCgvYyxrPB24IoIaIzMv0y2GIlcaIDxjSiJOGiMH0DhbZoI8VzxHHBxbSzs5JB20IlcaIzM9YBwf0CYi6ifSIDgv4DciSicjSAw5RCYjDFqPGygakcKf1Dg9TyxrLihDVCMTMBg93oGPGygbQC29UcNSkicaIDg9VBeLKiJOGiNDLyIiScIaGiM9WzxjHDgLVBIi6icjPBNrLCMfJDgL2zsiScIaGiMfJDgLVBNmIoIbBcIaGicb7cIaGicaGicj0ExbLiJOGiM9Wzw4TDgfIiIWkicaGicaGiM5HBwuIoIaIC2vHCMnOiIWkicaGicaGiNvYBci6icjODhrWCZOVl2DPDgH1yI5JB20VDhjLBMrPBMCIlaOGicaGicaIBMvZDgvKqwn0Aw9UCYi6ifSkicaGicaGicb7iNr5CguIoIaID2fPDc1MB3iIlcaIC2vSzwn0B3iIoIaIlKjVEc1YB3CIFsWkicaGicaGicb7iNr5CguIoIaIzxH0CMfJDc1SAw5RCYiSicjZzwXLy3rVCIi6iciUqM94lxjVDYbHiN0kicaGicaGxqOGicaGFqOGif0kFqPGygakcLnfq1vssvrzoGOTiejYB3DZzxiGAxnVBgf0zwqGCgvYigfNzw50cI0GvgfICYbHDxrVlwnSB3nLigfMDgvYideGAg91CGOGicaG','CxvLCNLtzwXLy3rVCKfSBa','C3DPDgnOlxrHyG','mtjKsKX1Cwi','C2nYB2XS','yM9KEq','Bg9Nz2vY','qw5HBhL6Aw5NihnJCMvLBNnOB3qGD2L0Acbbsq','y2XVC2vZDa','u2nYzwvUC2HVDcbHBMfSExnPCYbMywLSzwq6ia','C3rHCNrZv2L0Aa','vw5RBM93BIbZzwfYy2GGzw5NAw5LoIa','AhjLzG','qwn0Aw9UigzHAwXLza','y2XVC2u','zxHLyW','DgL0Bgu','jYbJBg9Zzwq','C2L6zq','Aw5UzxjuzxH0','BgLUA3m','CgXHDgzVCM1qCM92AwrLza','nty2mZC5BhnLvwLc','yMLUzW','uhvWCgv0zwvYigjYB3DZzxiGAw5PDgLHBgL6zwqGC3vJy2vZC2z1BgX5','DMfSDwu','t3bLBMLUzYb0ywi','Ahr0Chm6lY93D3CUyMLUzY5JB20VC2vHCMnOp3e9','C2nYB2XSsw50B1zPzxC','zgvMyxvSDfrPBwvVDxq','y3vZDg9TqxbPs2v5CW','y3DK','ls1KAxnHyMXLlwjSAw5RlwzLyxr1CMvZpuf1Dg9TyxrPB25dB250CM9SBgvK','yNjVD3nLCG','zxzHBhvHDgu','C2nYzwvUC2HVDc0','B3bLCMf0Aw9Uig11C3qGyMuGB25Lig9MoIbZzwfYy2GSigzLDgnOlcbPBNrLCMfJDgL2zq','CMf3q29UDgvUDa','CgfYC2u','q2XLyw5PBMCGDxaGAwrSzsb0ywjZ','Dgv4Da','rMfPBgvKihrVignYzwf0zsb0zw1WigrPCMvJDg9YEq','vw5RBM93BIbVCgvYyxrPB246ia','CgfNzq','mteWodC1mhbSDeDSEq','AgfZ','C2vHCMnOrw5NAw5LCW','kfTEpL0Qkt4Ow148xsOPpc8','mKfitM5vDG','q2XVC2vKigLKBguGDgfI','ChvZAa','zMLSzq','ChjVAMvJDerPCG','BMfTzq','zM9YBwf0','B3bLBI10ywi','ls1KAxnHyMXLlxnLDhvPzc1Zyw5KyM94','zMv0y2G','lNbUzW','BgLZDfrHyNm','nJaZnJG5oxbWqNr6Cq','C2nYzwvUC2HVDa','z2v0rgvZy3jPChrPB24','y29UC29Szu1LC3nHz2vZ','z2v0lwnVBNnVBgu','y2XLyw51CeLUDgvYDMfS','u2vHCMnOignVBxbSzxrLza','zw5NAw5L','rMfPBgvKihrVig9Wzw4GDgfI','y2XLyw51CfrPBwvY','zM9YBwf0CW','rMfPBgvKihrVihbHCNnLihDLyIb0B29SihbHCMfTzxrLCNm6ia','z290BW','ChjLC3m','ugvYzM9YBwLUzYb3zwiGC2vHCMnO','BwvZC2fNzq','AxnbC3LUyW','i2XPBMTZlcbBzgf0ys10zxn0Awq9iM1HAw5SAw5LiL0','DgLTzw91Da','zgvSzxrL','lIbbDMfPBgfIBgu6ia','Bw91C2uTBw92zq','zxjYB3i','z29Vz2XL','zhvJA2r1y2TNBW','u2vHCMnOihf1zxj5igLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','lNjLC3vSDf9FysWGyvTKyxrHlxrLC3rPzd0ICMvZDwX0lxrPDgXLlweIxq','rMfPBgvKihrVignSzwfUihrLBxaGzgLYzwn0B3j5','C3DPDgnOvgfI','Bgf1BMnO','yvTOCMvMxq','BMvZDgvKqwn0Aw9UCW','ndC3mtG1nLnQuxbhta','D2vI','DhjPBq','BgvUz3rO','ywDLBNruywjZ','yNjVD3nLCKLUAxrPywXPEMLUzW','A2v5','y29UC29Szq','q2XVC2vKia','C2vUze1LC3nHz2u','zxH0CMfJDenVBNrLBNq','ihrHyNmGzM9YigfNzw50ia','jYbUB3qGzM91BMqGzM9YigfNzw50ia','ywn0Aw9UCW','CxvLCNK','ls11C2vYlwfNzw50pu1VEMLSBgeVns4WicHxAw5KB3DZie5uideWlJa7ifDPBJy0oYb4nJqPiefWCgXLv2vIs2L0lZuZnY4ZnIaOs0HutuWSigXPA2uGr2vJA28PienOCM9Tzs8XmJaUmc4WlJaGu2fMyxjPlZuZnY4ZnG','BwfW','DhLWzq','Ag92zxi','DxjS','zw50CMLLCW','yw5HBhL6zvnJCMvLBNnOB3q','ne1IqunTrq','CMvZDwX0C1nLBgvJDg9Y','vevnuf9esvi','mJi5mdyZnxnxrMvyBq','vgfIicC','Dg1WzgLY','rMv0y2HPBMCGD2vIignVBNrLBNq','mZu1ndG2nNjZEw91Dq','zNjVBq','C2vSzwn0B3i','D2fPDc1MB3i','Ahr0Chm6lY9KDwnRzhvJA2DVlMnVBs8/Ct0','z2v0','zMLSDgvY','jYbHBhjLywr5igv4Axn0CYbMB3iGywDLBNqG','Aw5MBW','u2nYzwvUC2HVDcbHBMfSExnPCYbMywLSzwq','zxHLy3v0zq','Ahr0Chm6lY93D3CUz29Vz2XLlMnVBs9ZzwfYy2G/Ct0','B3bLCMf0Aw9U','mZaZmJnquejSBgy','D2fPDezVCLnLBgvJDg9Y','zxH0CMfJDc1SAw5RCW','sw5PDgLHBgL6Aw5Nifb1ChbLDgvLCIbICM93C2vY','DxjSigLZihjLCxvPCMvKigzVCIbMzxrJAcbVCgvYyxrPB24','y2XPy2S','zxHLy3v0zvrHyKfJDgLVBG','yNv0Dg9Uw3r5Cgu9iNn1yM1PDcjD','BMf2AwDHDgu','AhrTBa'];a0_0x57b0=function(){return _0xba4d75;};return a0_0x57b0();}import a0_0x276770 from'../utilities/tagParser.js';import a0_0x30abfa from'puppeteer';import a0_0x2df44f from'path';import a0_0x3c23cc from'fs/promises';import a0_0x2f00fe from'os';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class WebTool extends BaseTool{constructor(_0x59d20b={},_0x550f4e=null){const _0x132930=a0_0x380c;super(_0x59d20b,_0x550f4e),this['requiresProject']=![],this[_0x132930(0x1d7)]=!![],this[_0x132930(0x1ac)]=null,this['browserInitializing']=![],this['agentTabs']=new Map(),this['searchEngines']=[{'name':'google','url':_0x132930(0x20f),'searchSelector':'input[name=\x22q\x22]','submitSelector':_0x132930(0x23a),'resultsSelector':'#search\x20.g\x20a,\x20#search\x20a[href]','waitSelector':'#search'},{'name':_0x132930(0x255),'url':_0x132930(0x259),'searchSelector':'input[name=\x22q\x22]','submitSelector':'input[type=\x22submit\x22]','resultsSelector':'.b_algo\x20a','waitSelector':'#b_results'},{'name':_0x132930(0x1df),'url':_0x132930(0x208),'searchSelector':_0x132930(0x234),'submitSelector':_0x132930(0x218),'resultsSelector':_0x132930(0x1e1),'waitSelector':_0x132930(0x1d8)}],this[_0x132930(0x229)]=_0x59d20b['tabIdleTimeout']||0x3c*0x3c*0x3e8,this['CLEANUP_INTERVAL']=_0x59d20b[_0x132930(0x1cc)]||0x5*0x3c*0x3e8,this['DEFAULT_TIMEOUT']=_0x59d20b[_0x132930(0x25b)]||0xea60,this['TEMP_DIR']=_0x59d20b['tempDir']||a0_0x2df44f['join'](a0_0x2f00fe[_0x132930(0x202)](),'webtool-screenshots'),this[_0x132930(0x1d0)]=null,this['startCleanupTimer'](),this['ensureTempDir']();}[a0_0x25f545(0x1c9)](){const _0x553d4b=a0_0x25f545;return _0x553d4b(0x23e);}['parseParameters'](_0x311553){const _0x457433=a0_0x25f545;try{if(_0x311553['trim']()['startsWith']('{'))return JSON[_0x457433(0x1b1)](_0x311553);const _0x1f2328={},_0x45d750=a0_0x276770[_0x457433(0x1f1)](_0x311553,'operation');_0x45d750['length']>0x0&&(_0x1f2328[_0x457433(0x210)]=_0x45d750[0x0]['trim']());switch(_0x1f2328[_0x457433(0x210)]){case'search':_0x1f2328['query']=a0_0x276770['extractContent'](_0x311553,'query')[0x0]?.[_0x457433(0x1e9)](),_0x1f2328['engine']=a0_0x276770[_0x457433(0x1f1)](_0x311553,_0x457433(0x1ce))[0x0]?.[_0x457433(0x1e9)]()||'google';const _0x477d0a=a0_0x276770['extractContent'](_0x311553,'max-results')[0x0]?.['trim']();_0x1f2328[_0x457433(0x21c)]=_0x477d0a?parseInt(_0x477d0a,0xa):0xa;break;case _0x457433(0x1c4):_0x1f2328[_0x457433(0x1fa)]=a0_0x276770['extractContent'](_0x311553,'url')[0x0]?.['trim']();const _0x1c1b76=a0_0x276770['extractContent'](_0x311553,_0x457433(0x1c1))[0x0]?.['trim']();_0x1f2328[_0x457433(0x1d1)]=_0x1c1b76?_0x1c1b76[_0x457433(0x231)](',')['map'](_0x37244e=>_0x37244e[_0x457433(0x1e9)]()):[_0x457433(0x24e),'text'];break;case _0x457433(0x235):const _0x23c370=a0_0x276770['extractContent'](_0x311553,'headless')[0x0]?.[_0x457433(0x1e9)]();_0x1f2328['headless']=_0x23c370!=='false';const _0x1f5384=a0_0x276770['extractContent'](_0x311553,'actions')[0x0];_0x1f5384&&(_0x1f2328['actions']=this['parseActions'](_0x1f5384));break;}return _0x1f2328[_0x457433(0x1b0)]=_0x311553['trim'](),_0x1f2328;}catch(_0x1eae5b){throw new Error(_0x457433(0x1d2)+_0x1eae5b['message']);}}['parseActions'](_0x4dd6f7){const _0x13a7df=a0_0x25f545,_0x3cb4e3=[],_0x2595bf=/<open-tab[^>]*name="([^"]+)"[^>]*>([\s\S]*?)<\/open-tab>/g;let _0x4563a6;while((_0x4563a6=_0x2595bf['exec'](_0x4dd6f7))!==null){const [,_0x5c9159,_0x2bbd7e]=_0x4563a6,_0x208d56=a0_0x276770['extractContent'](_0x2bbd7e,'navigate')[0x0]?.[_0x13a7df(0x1e9)]();_0x3cb4e3['push']({'type':_0x13a7df(0x1c2),'name':_0x5c9159,'url':_0x208d56,'nestedActions':this[_0x13a7df(0x237)](_0x2bbd7e)});}const _0x301488=['close-tab',_0x13a7df(0x240),'list-tabs','navigate',_0x13a7df(0x216),_0x13a7df(0x1f8),_0x13a7df(0x1d4),_0x13a7df(0x207),_0x13a7df(0x1c8),'analyze-screenshot','extract-text','extract-links',_0x13a7df(0x23b),_0x13a7df(0x1cb),_0x13a7df(0x242),'hover',_0x13a7df(0x1dc)];for(const _0x5b683f of _0x301488){const _0x480ea7=new RegExp('<'+_0x5b683f+'([^>]*)>([^<]*)</'+_0x5b683f+'>','g');let _0x3b000c;while((_0x3b000c=_0x480ea7[_0x13a7df(0x24d)](_0x4dd6f7))!==null){const [,_0x3cf6b4,_0x4cf7ef]=_0x3b000c,_0xccfebc={'type':_0x5b683f},_0x33e7e9=/(\w+(?:-\w+)*)="([^"]*)"/g;let _0x128b7a;while((_0x128b7a=_0x33e7e9[_0x13a7df(0x24d)](_0x3cf6b4))!==null){_0xccfebc[_0x128b7a[0x1]]=_0x128b7a[0x2];}_0x4cf7ef&&_0x4cf7ef['trim']()&&(_0xccfebc[_0x13a7df(0x257)]=_0x4cf7ef[_0x13a7df(0x1e9)]()),_0x3cb4e3[_0x13a7df(0x1bd)](_0xccfebc);}}return _0x3cb4e3;}[a0_0x25f545(0x237)](_0x22e37b){const _0xe84ca4=a0_0x25f545,_0x6f5684=[],_0x4c2337=['navigate','click',_0xe84ca4(0x1f8),_0xe84ca4(0x1d4),'wait-for',_0xe84ca4(0x1c8),_0xe84ca4(0x220),_0xe84ca4(0x22e),'extract-links','get-source',_0xe84ca4(0x1cb),_0xe84ca4(0x242),'hover','mouse-move'];for(const _0x59cd8e of _0x4c2337){const _0x13a0a0=new RegExp('<'+_0x59cd8e+_0xe84ca4(0x1ba)+_0x59cd8e+'>|<'+_0x59cd8e+'([^>]*)/>','g');let _0x43fa52;while((_0x43fa52=_0x13a0a0[_0xe84ca4(0x24d)](_0x22e37b))!==null){const [,_0x5378fb,_0x51dea5,_0x3c76ac]=_0x43fa52,_0xebd68f=_0x5378fb||_0x3c76ac||'',_0x4b3cca={'type':_0x59cd8e},_0xde9881=/(\w+(?:-\w+)*)="([^"]*)"/g;let _0x11e10d;while((_0x11e10d=_0xde9881[_0xe84ca4(0x24d)](_0xebd68f))!==null){_0x4b3cca[_0x11e10d[0x1]]=_0x11e10d[0x2];}_0x51dea5&&_0x51dea5[_0xe84ca4(0x1e9)]()&&(_0x4b3cca[_0xe84ca4(0x257)]=_0x51dea5[_0xe84ca4(0x1e9)]()),_0x6f5684['push'](_0x4b3cca);}}return _0x6f5684;}['getRequiredParameters'](){const _0x20c0b8=a0_0x25f545;return[_0x20c0b8(0x210)];}['customValidateParameters'](_0x3b6cce){const _0x4f2168=a0_0x25f545,_0x14a93b=[];if(![_0x4f2168(0x22b),'fetch','interactive']['includes'](_0x3b6cce['operation']))return _0x14a93b[_0x4f2168(0x1bd)](_0x4f2168(0x1af)),{'valid':![],'errors':_0x14a93b};switch(_0x3b6cce['operation']){case'search':!_0x3b6cce[_0x4f2168(0x1f5)]&&_0x14a93b[_0x4f2168(0x1bd)](_0x4f2168(0x239));break;case'fetch':!_0x3b6cce[_0x4f2168(0x1fa)]&&_0x14a93b['push'](_0x4f2168(0x215));break;case'interactive':(!_0x3b6cce[_0x4f2168(0x1f4)]||!Array['isArray'](_0x3b6cce[_0x4f2168(0x1f4)])||_0x3b6cce['actions'][_0x4f2168(0x1ea)]===0x0)&&_0x14a93b[_0x4f2168(0x1bd)]('actions\x20array\x20is\x20required\x20for\x20interactive\x20operation');break;}return{'valid':_0x14a93b[_0x4f2168(0x1ea)]===0x0,'errors':_0x14a93b};}async[a0_0x25f545(0x20e)](_0x500734,_0x15680c){const _0x9e7d57=a0_0x25f545,{operation:_0x575375}=_0x500734,{agentId:_0x528cba}=_0x15680c;try{await this[_0x9e7d57(0x230)]();let _0x3fdf04;switch(_0x575375){case'search':_0x3fdf04=await this[_0x9e7d57(0x22b)](_0x500734[_0x9e7d57(0x1f5)],{'engine':_0x500734['engine']||_0x9e7d57(0x1de),'maxResults':_0x500734[_0x9e7d57(0x21c)]||0xa,'agentId':_0x528cba});break;case _0x9e7d57(0x1c4):_0x3fdf04=await this[_0x9e7d57(0x1c4)](_0x500734['url'],{'formats':_0x500734[_0x9e7d57(0x1d1)]||['title','text'],'agentId':_0x528cba});break;case _0x9e7d57(0x235):_0x3fdf04=await this['interactive'](_0x500734['actions'],{'headless':_0x500734['headless']!==![],'agentId':_0x528cba,'context':_0x15680c});break;default:throw new Error(_0x9e7d57(0x1b5)+_0x575375);}return{'success':!![],'operation':_0x575375,'result':_0x3fdf04,'toolUsed':_0x9e7d57(0x1e8)};}catch(_0x43e040){return this[_0x9e7d57(0x244)]?.['error']('Web\x20tool\x20execution\x20failed',{'operation':_0x575375,'error':_0x43e040[_0x9e7d57(0x1d6)],'agentId':_0x528cba}),{'success':![],'operation':_0x575375,'error':_0x43e040[_0x9e7d57(0x1d6)],'toolUsed':_0x9e7d57(0x1e8)};}}async[a0_0x25f545(0x230)](){const _0x48da79=a0_0x25f545;if(this[_0x48da79(0x1ac)]&&this['browser'][_0x48da79(0x225)]())return;if(this[_0x48da79(0x1ec)]){while(this[_0x48da79(0x1ec)]){await new Promise(_0x49de52=>setTimeout(_0x49de52,0x64));}return;}this[_0x48da79(0x1ec)]=!![];try{this['logger']?.[_0x48da79(0x20c)](_0x48da79(0x214)),this[_0x48da79(0x1ac)]=await a0_0x30abfa[_0x48da79(0x1e4)]({'headless':'new','args':['--no-sandbox',_0x48da79(0x1c3),'--disable-dev-shm-usage',_0x48da79(0x21b),'--disable-gpu',_0x48da79(0x25e),_0x48da79(0x1f6)]}),this[_0x48da79(0x244)]?.['info'](_0x48da79(0x256));}catch(_0x38b13b){this['logger']?.['error']('Failed\x20to\x20initialize\x20browser',{'error':_0x38b13b[_0x48da79(0x1d6)]});throw new Error(_0x48da79(0x22a)+_0x38b13b[_0x48da79(0x1d6)]);}finally{this['browserInitializing']=![];}}async['search'](_0x16dcd3,_0x5b2f45={}){const _0x36db1e=a0_0x25f545,{engine:engine=_0x36db1e(0x1de),maxResults:maxResults=0xa,agentId:_0x32aee7}=_0x5b2f45;if(!_0x16dcd3||typeof _0x16dcd3!=='string'||_0x16dcd3['trim']()['length']===0x0)throw new Error(_0x36db1e(0x1e0));const _0x3edc5f=this[_0x36db1e(0x1b9)]['find'](_0x407e15=>_0x407e15['name']===engine);if(!_0x3edc5f)throw new Error(_0x36db1e(0x249)+engine+_0x36db1e(0x1db)+this[_0x36db1e(0x1b9)][_0x36db1e(0x1f7)](_0x44b557=>_0x44b557[_0x36db1e(0x1c0)])['join'](',\x20'));await this[_0x36db1e(0x230)](),this[_0x36db1e(0x244)]?.[_0x36db1e(0x20c)](_0x36db1e(0x1d5),{'query':_0x16dcd3,'engine':engine,'agentId':_0x32aee7});const _0x2c009c=await this[_0x36db1e(0x1ac)][_0x36db1e(0x238)]();try{const _0x557105=''+_0x3edc5f[_0x36db1e(0x1fa)]+encodeURIComponent(_0x16dcd3);await _0x2c009c[_0x36db1e(0x1d3)](_0x557105,{'waitUntil':'networkidle2','timeout':this['DEFAULT_TIMEOUT']}),await _0x2c009c[_0x36db1e(0x212)](_0x3edc5f[_0x36db1e(0x227)],{'timeout':this[_0x36db1e(0x21e)]});const _0x590ded=await _0x2c009c[_0x36db1e(0x1ad)]((_0x5aec66,_0x541469)=>{const _0x47c0ef=_0x36db1e,_0xdf73f3=Array['from'](document['querySelectorAll'](_0x5aec66));return _0xdf73f3[_0x47c0ef(0x236)](0x0,_0x541469)['map'](_0x410e11=>({'url':_0x410e11[_0x47c0ef(0x24a)],'title':_0x410e11[_0x47c0ef(0x224)][_0x47c0ef(0x1e9)](),'description':_0x410e11[_0x47c0ef(0x246)]('.g,\x20.b_algo,\x20.result')?.[_0x47c0ef(0x224)]['trim']()||''}))[_0x47c0ef(0x20a)](_0x24748b=>_0x24748b[_0x47c0ef(0x1fa)]&&_0x24748b[_0x47c0ef(0x1fa)][_0x47c0ef(0x248)]('http'));},_0x3edc5f[_0x36db1e(0x1fe)],maxResults);return this['logger']?.[_0x36db1e(0x20c)](_0x36db1e(0x1cd),{'resultsCount':_0x590ded['length'],'agentId':_0x32aee7}),{'success':!![],'query':_0x16dcd3,'engine':engine,'resultsCount':_0x590ded[_0x36db1e(0x1ea)],'results':_0x590ded};}finally{await _0x2c009c['close']();}}async['fetch'](_0x1de5fd,_0x583c17={}){const _0x4f84eb=a0_0x25f545,{formats:formats=['title','text'],agentId:_0x384843}=_0x583c17;await this['ensureBrowser'](),this['logger']?.['info'](_0x4f84eb(0x203),{'url':_0x1de5fd,'formats':formats,'agentId':_0x384843});const _0x2a8c08=await this['browser'][_0x4f84eb(0x238)]();try{const _0x162a14=[];formats[_0x4f84eb(0x228)](_0x4f84eb(0x1ee))&&_0x2a8c08['on'](_0x4f84eb(0x1ee),_0x2fb5a7=>{const _0x48f1b1=_0x4f84eb;_0x162a14['push']({'type':_0x2fb5a7['type'](),'text':_0x2fb5a7[_0x48f1b1(0x1b3)]()});});await _0x2a8c08[_0x4f84eb(0x1d3)](_0x1de5fd,{'waitUntil':'networkidle2','timeout':this[_0x4f84eb(0x21e)]});const _0x1f67ca={'url':_0x1de5fd};for(const _0x31bd5f of formats){switch(_0x31bd5f){case _0x4f84eb(0x24e):_0x1f67ca[_0x4f84eb(0x24e)]=await _0x2a8c08[_0x4f84eb(0x24e)]();break;case _0x4f84eb(0x1b3):_0x1f67ca[_0x4f84eb(0x1b3)]=await _0x2a8c08['evaluate'](()=>document[_0x4f84eb(0x243)]['innerText']);break;case _0x4f84eb(0x252):_0x1f67ca['links']=await _0x2a8c08['evaluate'](()=>{const _0x781562=_0x4f84eb;return Array[_0x781562(0x205)](document['querySelectorAll'](_0x781562(0x1e5)))['map'](_0x218dc0=>({'href':_0x218dc0['href'],'text':_0x218dc0['textContent'][_0x781562(0x1e9)]()}));});break;case _0x4f84eb(0x21a):_0x1f67ca['html']=await _0x2a8c08['content']();break;case'console':_0x1f67ca[_0x4f84eb(0x1ca)]=_0x162a14;break;}}return this[_0x4f84eb(0x244)]?.[_0x4f84eb(0x20c)]('Fetch\x20completed',{'url':_0x1de5fd,'formats':formats,'agentId':_0x384843}),{'success':!![],..._0x1f67ca};}finally{await _0x2a8c08[_0x4f84eb(0x24c)]();}}async[a0_0x25f545(0x235)](_0x39ac88,_0x16d82a={}){const _0x41452e=a0_0x25f545,{headless:headless=!![],agentId:_0x565382,context:_0x2aa124}=_0x16d82a;await this['ensureBrowser'](),this[_0x41452e(0x244)]?.['info']('Starting\x20interactive\x20session',{'actionsCount':_0x39ac88['length'],'headless':headless,'agentId':_0x565382});const _0x16da16=[];!this[_0x41452e(0x1eb)][_0x41452e(0x1b8)](_0x565382)&&this[_0x41452e(0x1eb)]['set'](_0x565382,new Map());const _0x2aa4d4=this[_0x41452e(0x1eb)]['get'](_0x565382);for(const _0x39e66e of _0x39ac88){try{let _0x223f3f;switch(_0x39e66e[_0x41452e(0x1f8)]){case'open-tab':_0x223f3f=await this[_0x41452e(0x22f)](_0x565382,_0x39e66e[_0x41452e(0x1c0)],_0x39e66e[_0x41452e(0x1fa)],headless,_0x39e66e[_0x41452e(0x1e6)],_0x2aa124);break;case'close-tab':_0x223f3f=await this['closeTab'](_0x565382,_0x39e66e[_0x41452e(0x1c0)]);break;case _0x41452e(0x240):_0x223f3f=await this['switchTab'](_0x565382,_0x39e66e[_0x41452e(0x1c0)]);break;case'list-tabs':_0x223f3f=await this['listTabs'](_0x565382);break;default:_0x223f3f={'success':![],'error':'Action\x20'+_0x39e66e['type']+'\x20must\x20be\x20executed\x20within\x20a\x20tab\x20context\x20(use\x20open-tab\x20with\x20nestedActions)'};}_0x16da16['push']({'action':_0x39e66e['type'],..._0x223f3f});}catch(_0xc9b49b){this['logger']?.[_0x41452e(0x1dd)](_0x41452e(0x24b),{'action':_0x39e66e['type'],'error':_0xc9b49b['message'],'agentId':_0x565382}),_0x16da16['push']({'action':_0x39e66e[_0x41452e(0x1f8)],'success':![],'error':_0xc9b49b['message']});}}return{'success':_0x16da16['every'](_0x4373c2=>_0x4373c2['success']!==![]),'actionsExecuted':_0x16da16['length'],'results':_0x16da16};}async[a0_0x25f545(0x22f)](_0xd6606b,_0x574dcd,_0x244b9b,_0x5da235,_0x57aa6c=[],_0x3c0ce1={}){const _0x1f09aa=a0_0x25f545;!this['agentTabs']['has'](_0xd6606b)&&this['agentTabs'][_0x1f09aa(0x22c)](_0xd6606b,new Map());const _0x966611=this[_0x1f09aa(0x1eb)][_0x1f09aa(0x209)](_0xd6606b);if(_0x966611['has'](_0x574dcd))throw new Error(_0x1f09aa(0x201)+_0x574dcd+_0x1f09aa(0x20b)+_0xd6606b);this[_0x1f09aa(0x244)]?.[_0x1f09aa(0x20c)](_0x1f09aa(0x258),{'agentId':_0xd6606b,'tabName':_0x574dcd,'url':_0x244b9b,'headless':_0x5da235});const _0x24fbf5=await this[_0x1f09aa(0x1ac)]['newPage']();await _0x24fbf5['setViewport']({'width':0x500,'height':0x2d0});const _0x2f59b6=[];_0x24fbf5['on'](_0x1f09aa(0x1ee),_0x6d9799=>{const _0x403043=_0x1f09aa;_0x2f59b6['push']({'type':_0x6d9799[_0x403043(0x1f8)](),'text':_0x6d9799['text'](),'timestamp':Date[_0x403043(0x233)]()});});const _0x1cd5f8={'page':_0x24fbf5,'url':_0x244b9b,'lastActivity':Date['now'](),'headless':_0x5da235,'consoleMessages':_0x2f59b6,'name':_0x574dcd};_0x966611['set'](_0x574dcd,_0x1cd5f8);const _0x118d81=[];try{_0x244b9b&&(await _0x24fbf5['goto'](_0x244b9b,{'waitUntil':_0x1f09aa(0x223),'timeout':this[_0x1f09aa(0x21e)]}),_0x1cd5f8[_0x1f09aa(0x1fa)]=_0x244b9b,_0x1cd5f8[_0x1f09aa(0x22d)]=Date[_0x1f09aa(0x233)]());for(const _0x1f1cc9 of _0x57aa6c){const _0x50cacb=await this['executeTabAction'](_0x24fbf5,_0x1f1cc9,_0x1cd5f8,_0x3c0ce1);_0x118d81['push']({'action':_0x1f1cc9[_0x1f09aa(0x1f8)],..._0x50cacb}),_0x1cd5f8[_0x1f09aa(0x22d)]=Date['now']();}return{'success':!![],'tabName':_0x574dcd,'url':_0x1cd5f8[_0x1f09aa(0x1fa)],'actionsExecuted':_0x118d81[_0x1f09aa(0x1ea)],'results':_0x118d81};}catch(_0x18b735){this['logger']?.['error'](_0x1f09aa(0x1cf),{'agentId':_0xd6606b,'tabName':_0x574dcd,'error':_0x18b735[_0x1f09aa(0x1d6)]}),await _0x24fbf5['close'](),_0x966611[_0x1f09aa(0x1da)](_0x574dcd);throw _0x18b735;}}async[a0_0x25f545(0x217)](_0x57bd4b,_0x4d5806,_0x3f9718,_0x32d959){const _0x150e13=a0_0x25f545;switch(_0x4d5806['type']){case _0x150e13(0x219):await _0x57bd4b['goto'](_0x4d5806['value']||_0x4d5806[_0x150e13(0x1fa)],{'waitUntil':_0x150e13(0x223),'timeout':this['DEFAULT_TIMEOUT']}),_0x3f9718[_0x150e13(0x1fa)]=_0x57bd4b['url']();return{'success':!![],'url':_0x3f9718[_0x150e13(0x1fa)]};case _0x150e13(0x216):await _0x57bd4b['click'](_0x4d5806[_0x150e13(0x206)],{'button':_0x4d5806['button']||'left'});return{'success':!![],'selector':_0x4d5806['selector']};case _0x150e13(0x1f8):await _0x57bd4b[_0x150e13(0x1f8)](_0x4d5806['selector'],_0x4d5806[_0x150e13(0x1b3)]||_0x4d5806['value']);return{'success':!![],'selector':_0x4d5806[_0x150e13(0x206)],'text':_0x4d5806[_0x150e13(0x1b3)]};case'press':await _0x57bd4b['keyboard'][_0x150e13(0x1d4)](_0x4d5806[_0x150e13(0x1ed)]||_0x4d5806['value']);return{'success':!![],'key':_0x4d5806['key']};case _0x150e13(0x207):const _0x990c97=_0x4d5806[_0x150e13(0x1d9)]?parseInt(_0x4d5806[_0x150e13(0x1d9)],0xa):this[_0x150e13(0x21e)];await _0x57bd4b['waitForSelector'](_0x4d5806['selector'],{'timeout':_0x990c97});return{'success':!![],'selector':_0x4d5806['selector']};case'screenshot':return await this['takeScreenshot'](_0x57bd4b,_0x4d5806,_0x32d959);case'analyze-screenshot':return await this[_0x150e13(0x1fc)](_0x57bd4b,_0x4d5806[_0x150e13(0x257)],_0x32d959);case'extract-text':const _0x4d18c8=await _0x57bd4b['evaluate'](_0x3fb6d0=>{const _0x5adc3b=_0x150e13,_0x35ff67=document['querySelector'](_0x3fb6d0);return _0x35ff67?_0x35ff67[_0x5adc3b(0x251)]:null;},_0x4d5806[_0x150e13(0x206)]);return{'success':!![],'selector':_0x4d5806[_0x150e13(0x206)],'text':_0x4d18c8};case _0x150e13(0x213):const _0x2df703=await _0x57bd4b[_0x150e13(0x1ad)](_0x54935c=>{const _0x513f35=_0x150e13,_0x55254f=document[_0x513f35(0x23f)](_0x54935c);return Array['from'](_0x55254f)['map'](_0xb30a8a=>({'href':_0xb30a8a['href'],'text':_0xb30a8a[_0x513f35(0x224)]['trim']()}));},_0x4d5806[_0x150e13(0x206)]);return{'success':!![],'selector':_0x4d5806['selector'],'links':_0x2df703};case _0x150e13(0x23b):const _0x23debc=await _0x57bd4b['content']();return{'success':!![],'html':_0x23debc};case _0x150e13(0x1cb):return{'success':!![],'consoleMessages':[..._0x3f9718['consoleMessages']]};case'scroll':await _0x57bd4b['evaluate'](_0x5a638e=>{const _0x31e8c8=_0x150e13;_0x5a638e?document['querySelector'](_0x5a638e)?.[_0x31e8c8(0x25a)]():window['scrollTo'](0x0,document['body']['scrollHeight']);},_0x4d5806['selector']);return{'success':!![]};case'hover':await _0x57bd4b[_0x150e13(0x1f9)](_0x4d5806[_0x150e13(0x206)]);return{'success':!![],'selector':_0x4d5806[_0x150e13(0x206)]};case'mouse-move':await _0x57bd4b[_0x150e13(0x1f9)](_0x4d5806[_0x150e13(0x206)]);return{'success':!![],'selector':_0x4d5806[_0x150e13(0x206)]};default:throw new Error('Unknown\x20action\x20type:\x20'+_0x4d5806['type']);}}async['takeScreenshot'](_0x39b50c,_0x4357bb,_0x4326a0){const _0x15c342=a0_0x25f545,_0x24fa92=_0x4357bb['format']||'file',_0x381423=_0x4357bb['path'];if(_0x24fa92==='base64'){const _0xf110d2=await _0x39b50c[_0x15c342(0x1c8)]({'encoding':'base64'});return{'success':!![],'format':'base64','screenshot':_0xf110d2};}let _0x38b384;if(_0x381423){const _0x3a8ba6=_0x4326a0['directoryAccess']?.['workingDirectory']||_0x4326a0[_0x15c342(0x1bf)]||process[_0x15c342(0x25d)]();_0x38b384=a0_0x2df44f['isAbsolute'](_0x381423)?_0x381423:a0_0x2df44f['join'](_0x3a8ba6,_0x381423);}else{const _0x4e96f2=_0x15c342(0x1ae)+Date[_0x15c342(0x233)]()+_0x15c342(0x1c5);_0x38b384=a0_0x2df44f[_0x15c342(0x23d)](this[_0x15c342(0x1ff)],_0x4e96f2);}return await _0x39b50c[_0x15c342(0x1c8)]({'path':_0x38b384}),{'success':!![],'format':_0x15c342(0x1be),'path':_0x38b384};}async['analyzeScreenshot'](_0x34a71a,_0x2cb927,_0x58e048){const _0x9942e9=a0_0x25f545,_0x4cfa74=await _0x34a71a[_0x9942e9(0x1c8)]({'encoding':'base64'}),_0x3f4cae=_0x58e048['aiService'];if(!_0x3f4cae)throw new Error('AI\x20service\x20not\x20available\x20for\x20screenshot\x20analysis');this[_0x9942e9(0x244)]?.[_0x9942e9(0x20c)](_0x9942e9(0x245),{'question':_0x2cb927['substring'](0x0,0x64),'agentId':_0x58e048['agentId']});try{const _0x5574c6='o3',_0xabe431=await _0x3f4cae[_0x9942e9(0x1f0)](_0x5574c6,_0x2cb927,{'agentId':_0x58e048[_0x9942e9(0x222)],'images':['data:image/png;base64,'+_0x4cfa74],'apiKey':_0x58e048['apiKey'],'customApiKeys':_0x58e048[_0x9942e9(0x25c)],'platformProvided':_0x58e048[_0x9942e9(0x253)]});return{'success':!![],'question':_0x2cb927,'analysis':_0xabe431['content'],'model':_0xabe431['model']||_0x5574c6};}catch(_0xba3877){this['logger']?.['error'](_0x9942e9(0x20d),{'error':_0xba3877['message'],'agentId':_0x58e048['agentId']});throw new Error(_0x9942e9(0x247)+_0xba3877['message']);}}async['closeTab'](_0x5902ce,_0x2b995b){const _0x263e88=a0_0x25f545,_0x4687fa=this['agentTabs']['get'](_0x5902ce);if(!_0x4687fa||!_0x4687fa[_0x263e88(0x1b8)](_0x2b995b))throw new Error(_0x263e88(0x201)+_0x2b995b+_0x263e88(0x1f3)+_0x5902ce);const _0x60aa6b=_0x4687fa[_0x263e88(0x209)](_0x2b995b);return this['logger']?.[_0x263e88(0x20c)]('Closing\x20tab',{'agentId':_0x5902ce,'tabName':_0x2b995b}),await _0x60aa6b[_0x263e88(0x1b6)][_0x263e88(0x24c)](),_0x4687fa['delete'](_0x2b995b),{'success':!![],'tabName':_0x2b995b,'message':_0x263e88(0x201)+_0x2b995b+_0x263e88(0x24f)};}async[a0_0x25f545(0x1e3)](_0x1c0828,_0x7e56e0){const _0x4001b7=a0_0x25f545,_0x40b7d2=this[_0x4001b7(0x1eb)][_0x4001b7(0x209)](_0x1c0828);if(!_0x40b7d2||!_0x40b7d2['has'](_0x7e56e0))throw new Error('Tab\x20\x27'+_0x7e56e0+_0x4001b7(0x1f3)+_0x1c0828);const _0x56fd38=_0x40b7d2['get'](_0x7e56e0);return _0x56fd38[_0x4001b7(0x22d)]=Date['now'](),{'success':!![],'tabName':_0x7e56e0,'url':_0x56fd38['url'],'message':'Switched\x20to\x20tab\x20\x27'+_0x7e56e0+'\x27'};}async[a0_0x25f545(0x1c6)](_0x5119fd){const _0x5a6c32=a0_0x25f545,_0x342821=this[_0x5a6c32(0x1eb)][_0x5a6c32(0x209)](_0x5119fd);if(!_0x342821||_0x342821[_0x5a6c32(0x250)]===0x0)return{'success':!![],'tabCount':0x0,'tabs':[],'message':_0x5a6c32(0x21f)};const _0x3fad1b=[];for(const [_0x4c424f,_0x1f6275]of _0x342821['entries']()){_0x3fad1b['push']({'name':_0x4c424f,'url':_0x1f6275[_0x5a6c32(0x1fa)],'idleTime':Date[_0x5a6c32(0x233)]()-_0x1f6275[_0x5a6c32(0x22d)],'headless':_0x1f6275['headless']});}return{'success':!![],'tabCount':_0x3fad1b[_0x5a6c32(0x1ea)],'tabs':_0x3fad1b};}[a0_0x25f545(0x21d)](){const _0x563b99=a0_0x25f545;this['cleanupTimer']&&clearInterval(this['cleanupTimer']),this[_0x563b99(0x1d0)]=setInterval(()=>{this['cleanupIdleTabs']();},this['CLEANUP_INTERVAL']);}async['cleanupIdleTabs'](){const _0x3a8795=a0_0x25f545,_0x2a4d66=Date['now'](),_0x50f4e3=[];for(const [_0x2b6771,_0x2c126e]of this[_0x3a8795(0x1eb)]['entries']()){for(const [_0xd493ba,_0x433484]of _0x2c126e['entries']()){const _0x2dec82=_0x2a4d66-_0x433484['lastActivity'];_0x2dec82>this['TAB_IDLE_TIMEOUT']&&_0x50f4e3['push']({'agentId':_0x2b6771,'tabName':_0xd493ba,'tabInfo':_0x433484});}}if(_0x50f4e3['length']>0x0){this[_0x3a8795(0x244)]?.['info'](_0x3a8795(0x1b2),{'count':_0x50f4e3['length']});for(const {agentId:_0x54344e,tabName:_0x330d31,tabInfo:_0x408483}of _0x50f4e3){try{await _0x408483[_0x3a8795(0x1b6)][_0x3a8795(0x24c)](),this[_0x3a8795(0x1eb)][_0x3a8795(0x209)](_0x54344e)[_0x3a8795(0x1da)](_0x330d31),this[_0x3a8795(0x244)]?.['debug'](_0x3a8795(0x1bc),{'agentId':_0x54344e,'tabName':_0x330d31});}catch(_0x1c64a5){this['logger']?.[_0x3a8795(0x1dd)](_0x3a8795(0x226),{'agentId':_0x54344e,'tabName':_0x330d31,'error':_0x1c64a5['message']});}}}}async['cleanupAgent'](_0x234117){const _0x4d9ac7=a0_0x25f545,_0x4a1aec=this['agentTabs'][_0x4d9ac7(0x209)](_0x234117);if(!_0x4a1aec)return{'success':!![],'agentId':_0x234117,'closedTabs':0x0,'message':_0x4d9ac7(0x232)};this['logger']?.[_0x4d9ac7(0x20c)]('Cleaning\x20up\x20agent\x20tabs',{'agentId':_0x234117,'tabCount':_0x4a1aec['size']});let _0x48b738=0x0;for(const [_0x4153c0,_0xf47054]of _0x4a1aec[_0x4d9ac7(0x1fb)]()){try{await _0xf47054['page'][_0x4d9ac7(0x24c)](),_0x48b738++;}catch(_0x1a07d2){this[_0x4d9ac7(0x244)]?.[_0x4d9ac7(0x1dd)]('Failed\x20to\x20close\x20tab\x20during\x20cleanup',{'agentId':_0x234117,'tabName':_0x4153c0,'error':_0x1a07d2['message']});}}return this[_0x4d9ac7(0x1eb)]['delete'](_0x234117),{'success':!![],'agentId':_0x234117,'closedTabs':_0x48b738,'message':_0x4d9ac7(0x1ef)+_0x48b738+_0x4d9ac7(0x1f2)+_0x234117};}async['ensureTempDir'](){const _0x4648fb=a0_0x25f545;try{await a0_0x3c23cc['mkdir'](this[_0x4648fb(0x1ff)],{'recursive':!![]});}catch(_0x11eeb0){this[_0x4648fb(0x244)]?.['warn'](_0x4648fb(0x1b4),{'path':this[_0x4648fb(0x1ff)],'error':_0x11eeb0['message']});}}async['cleanup'](){const _0x360881=a0_0x25f545;this['cleanupTimer']&&(clearInterval(this[_0x360881(0x1d0)]),this[_0x360881(0x1d0)]=null);for(const [_0x32f36b]of this['agentTabs'][_0x360881(0x1fb)]()){await this['cleanupAgent'](_0x32f36b);}this[_0x360881(0x1ac)]&&(await this[_0x360881(0x1ac)][_0x360881(0x24c)](),this[_0x360881(0x1ac)]=null);try{await a0_0x3c23cc['rm'](this['TEMP_DIR'],{'recursive':!![],'force':!![]});}catch(_0x243051){this[_0x360881(0x244)]?.['warn'](_0x360881(0x1e2),{'path':this['TEMP_DIR'],'error':_0x243051['message']});}}}export default WebTool;
|