@loxia-labs/loxia-autopilot-one 1.0.7 → 1.0.9
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 +2 -2
- 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/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/web-ui/build/index.html +2 -2
- package/web-ui/build/static/{index-BVF_10a5.css → index-BmKxmRe3.css} +1 -1
- package/web-ui/build/static/{index-DE5VFS1q.js → index-BzXbDs8z.js} +63 -63
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0xbff1(_0x2356ae,_0xe20322){_0x2356ae=_0x2356ae-0x1e1;const _0x8b87ab=a0_0x8b87();let _0xbff18b=_0x8b87ab[_0x2356ae];if(a0_0xbff1['KJOZlL']===undefined){var _0x424600=function(_0x1aed5c){const _0x354350='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e5ccf='',_0x25317a='';for(let _0xd1a758=0x0,_0x54a4ce,_0x3dbe0b,_0x26e99e=0x0;_0x3dbe0b=_0x1aed5c['charAt'](_0x26e99e++);~_0x3dbe0b&&(_0x54a4ce=_0xd1a758%0x4?_0x54a4ce*0x40+_0x3dbe0b:_0x3dbe0b,_0xd1a758++%0x4)?_0x3e5ccf+=String['fromCharCode'](0xff&_0x54a4ce>>(-0x2*_0xd1a758&0x6)):0x0){_0x3dbe0b=_0x354350['indexOf'](_0x3dbe0b);}for(let _0x4c8c7a=0x0,_0x31fb2a=_0x3e5ccf['length'];_0x4c8c7a<_0x31fb2a;_0x4c8c7a++){_0x25317a+='%'+('00'+_0x3e5ccf['charCodeAt'](_0x4c8c7a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25317a);};a0_0xbff1['aGVroE']=_0x424600,a0_0xbff1['qNDPox']={},a0_0xbff1['KJOZlL']=!![];}const _0x26555d=_0x8b87ab[0x0],_0x22512a=_0x2356ae+_0x26555d,_0xd8a1a=a0_0xbff1['qNDPox'][_0x22512a];return!_0xd8a1a?(_0xbff18b=a0_0xbff1['aGVroE'](_0xbff18b),a0_0xbff1['qNDPox'][_0x22512a]=_0xbff18b):_0xbff18b=_0xd8a1a,_0xbff18b;}function a0_0x8b87(){const _0x3b5336=['quKGy29TBwfUzcb0CMfUC2XHDgLVBIbJB21WBgv0zwq','DhjHBNnSyxrLvg9qB3DLCLnOzwXS','mtG3odK2r0rmzLvN','BMfTzq','mtC2nJq5nNr5yLzguq','ChjVy2vZCW','ugfZC3DVCMqGChjVBxb0','zM9YBwf0','Bw9Yzq','uhjLC3mGyw55igTLEq','cGPsrvfvsvjftuvovfm6cJeUie1HA2uGDgHLignVBw1HBMqGD29YAYbJB3jYzwn0BhKGAw4G','CMvWBgfJzq','ChjVy2vZCY1SAxn0','zw5KC1DPDgG','yMXVy2TLzenVBw1HBMrZ','r2v0lvbYB2nLC3mGFcbtB3j0lu9IAMvJDcbdufu','C2v0','qwDLBNqGy29TBwfUzhmGy2XLyw5Lzcb1Ca','DhjHBNnSyxrLq29TBwfUzfDPDgHbsq','zNn1DgLSihzVBhvTzsbKAxnRzNjLzq','DxnLCM5HBwu','BgvUz3rO','yxbPs2v5','i2LUy2X1zgu','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','z2v0q29TBwfUzfn0yxr1CW','CgLUzW','Aw5KzxG','ywn0Aw9UCW','BwvZC2fNzvbYB2nLC3nVCG','y29TBwfUza','r2v0lunVBNrLBNqGjde','Cg93zxjZAgvSBcbfEhbHBMqTqxjJAgL2zq','A2LSBa','DhjPBq','y2XLyw51CefNzw50','zgv0zwn0uhjVBxb0','C3rHCNrcywnRz3jVDw5Kq29TBwfUza','C3vJy2vZCW','r2v0luXVy2f0Aw9U','y29WEq','qMfZAcbZAgvSBcaOtgLUDxGVvw5PEc9TywnpuYK','mJDiz1L5tLe','ig9Mia','rMfPBgvKihrVihbHCNnLihrLCM1PBMfSihbHCMfTzxrLCNm6ia','BgLZDerPCMvJDg9YEq','cJiUifbYzxnLCNzLihrOzsbVCMLNAw5HBcbPBNrLBNqGyw5Kigz1BMn0Aw9UywXPDhKkmY4GsgfUzgXLigzPBguGCgf0AhmSihf1B3rPBMCSigfUzcbZEw50yxGGy29YCMvJDgX5cJqUieLMignYzwf0Aw5NigzPBgvZlcbLBNn1CMuGChjVCgvYigvUy29KAw5NigfUzcbSAw5LigvUzgLUz3mkns4GqwrKCMvZCYb0AguGC3bLy2LMAwmGy29TCgf0AwjPBgL0EsbPC3n1zxmGAwrLBNrPzMLLzcbHyM92zqO2lIbszxr1CM4Gt05mwsb0AguGDhjHBNnSyxrLzcbJB21Tyw5KlcbUB3rOAw5NigvSC2ukcLrsqu5ttefuruqGq09ntufordO','zMLSzq','CgXHDgzVCM0','CgLUzYaKmq','wwvZl05Vihf1zxn0Aw9U','y3DK','ywDLBNrjza','C3rKB3v0qNvMzMvY','q29TBwfUzcbJB21WBgv0zwq6ia','qMfJA2DYB3vUzcbJB21Tyw5Kihn0yxj0zwqGD2L0AcbjrdOG','zxH0CMfJDenVBNrLBNq','u3rVCc1qCM9JzxnZ','BgLZDc1KAxjLy3rVCNK','ywrKvg9iAxn0B3j5','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','mtq1ndKWB2frzfPJ','A2v5ChjLC3m','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUzcbZDgrLCNi','rxHLy3v0Aw5NignVBw1HBMqGD2L0AcbZCgf3BJOG','r2v0lvbYB2nLC3m','icHVCMLNAw5HBdOG','y2XLyw51Cfn0ywXLq29TBwfUzhm','zwnOBYaI','y3vYBcaKmq','DhjHBNnSyxrLq29TBwfUza','ode2mdiWv1bNqNDX','CMf3q29UDgvUDa','zMLSzs1KzwXLDgu','C3rHDa','Dg9ju09tDhjPBMC','zw52','zxjYB3i','CgfZC3DVCMq','Bwf0y2HLzfrLEhq','BMv0D29YAY10zxn0','zgvZy3jPChrPB24','zgfYD2LU','AxnZDwvZ','twf4Aw11BsbNBg9IywWGyMfJA2DYB3vUzcbJB21Tyw5KCYbLEgnLzwrLzcaO','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','r2vUzxjPyYbPBNb1DcbWCM9TChqGzgv0zwn0zwq','ChjVBxb0rgv0zwn0zwq','AM9PBG','Dgv4Dc1Kzwr1Cgu','z2v0vgLTzq','BgfZDe91Dhb1DfrPBwu','C3vNz2vZDgvKqwn0Aw9U','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','qMfJA2DYB3vUzcbJB21Tyw5KigTPBgXLza','CgfYC2vqyxjHBwv0zxjZ','y3vYBa','CNvUBMLUzW','y29UDgvUDa','Dw5PEa','q29UzMLYBwf0Aw9UihbYB21WDa','q29TBwfUzcbZCgf3BIbLCNjVCJOG','zMLSzs1JCMvHDgu','zwnOBYaLvvnfuK5btuuL','rxHLy3v0Aw5NignVBw1HBMq6ia','cMbGyaOkq09ntuforcbbtKfmwvnjuZOklsbdB21Tyw5Kifr5Cgu6ia','quKGDhjHBNnSyxrPB24GCMv0DxjUzwqGC2fTzsbJB21Tyw5K','ywXSB3DLzenVBw1HBMrZ','zMLSzs1TB3zL','C3rHy2S','C3rKzxjY','zMfPBgvK','u2v0lufJBa','Ahr0Ca','zMLSzs1SAxn0Aw5N','DhjHBNnSyxrLvg9cyxnO','q29UDgLUDwuGChjVBxb0','u0Lhs0Lmta','quKGDhjHBNnSyxrPB24GBM90igf2ywLSywjSzsaTig1PC3nPBMCGy29UDgv4Da','Dgv4Dc1ZB3j0','zgv0zwn0zwruzxjTAw5HBa','r2v0lunVBxb1DgvYsw5MBW','Aw5JBhvKzxm','zgvIDwC','BwTKAxi','igfJDgLVBNmGzMfPBgvK','y29Kzq','zgvSicqX','CMvZB2X2zq','nNzYBuPmEG','DhjHBNnSyxrLvg9xAw5KB3DZq21K','qwnJzxnZigrLBMLLzdOG','yM9VBgvHBG','zgv0zwn0sgfUzW','sw5WDxqGC2vUDcbZDwnJzxnZzNvSBhK','ntm2vNnor2zn','Cg93zxjZAgvSBcbdB21WCMvZCY1bCMnOAxzL','BwvUDq','zMLSzs1JB3b5','C3vIC3rYAw5N','q29TBwfUzcbJB21WBgv0zwqGC3vJy2vZC2z1BgX5oIa','z2vUzxjPyW','C3LZDgvTlwLUzM8','C2H1DgrVD24','ChDK','q29TBwfUzcbWCM9JzxnZigv4AxrLzdOG','D29YA2LUz0rPCMvJDg9YEq','ywX0zxjUyxrPDMvZ','q29TChjLC3mTqxjJAgL2zq','tMv3luL0zw0Glvr5CguGrgLYzwn0B3j5','qwn0Aw9Uia','vw5RBM93BIbHy3rPB24GDhLWztOG','DgLTzw91Da','ywLtzxj2AwnL','ChjVy2vZCY1RAwXS','zwnOBYa','qwnJzxnZigrLBMLLzdOGq29TBwfUzcbIzwXVBMDZihrVigfNzw50ia','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbqB3DLCLnOzwXS','y29UzMLKzw5Jzq','ihX8ia','C3bLy2LMAwnjC3n1zxm','q29WEs1jDgvTicqXicqY','C3rKB3v0','odm1nZiZAuvxwM1W','AxndB21Tyw5Kq29TCgf0AwjSzq','D2LUzg93CY1JBwq','Bwf0y2G','CM0GlxjMic8','D2HPBguG','Bw92zsaKmsaKmG','zwnOBYaIjdeIid4','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFugH5C2LJywXnzw1VCNK','u2vSzwn0lvn0CMLUzW','DgvZDa','y29TBwfUzfrYywnRzxi','Dg9mB3DLCKnHC2u','ignVBw1HBMrZigzVCIbHz2vUDca','Aw5WDxq','tw92zs1jDgvTicqXicqY','Dg9VBhnszwDPC3rYEq','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','r2v0lunOAwXKsxrLBq','zxH0CMfJDfrYyw5ZBgf0zwrdB21Tyw5K','u3rHBguGy29TBwfUzhmGy2XLyw5Lzcb1Ca','BwTKAxiGjde','u0Lhvevstq','ihn0ywXLignVBw1HBMrZ','ChjVBxb0ugf0DgvYBNm','oIbJB21Tyw5KigLZig5VDcbPBIbHBgXVD2vKigXPC3q6ia','q29TBwfUzcb0Aw1LzcbVDxqSigTPBgXPBMCGChjVy2vZCZOG','u29YDc1pyMPLy3q','y2XHC3mG','CgLK','y21K','ChvZAa','Dw5PDMvYC2fS','vhjHBNnSyxrLihrOAxmGy29TBwfUzcb0BYb3B3jRignVCNjLy3rSEsbPBIa','yxjJAgL2zq','uMvTB3zLluL0zw0','ChjVy2vZCY1TB25PDg9Y','oIbJB21Tyw5KigLZihjLCxvPCMvKigzVCIbYDw4Ty29TBwfUza','D2fYBG','CgXHDgzVCM1qCM92AwrLza','D2fPDgLUz19MB3jFAw5WDxq','y2XHC3nPzNLdB21Tyw5K','BwvZC2fNzq','r2vUzxjPyYbPBNb1DcbWCM9TChq','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','AxncBg9JA2vKq29TBwfUza','A2LSBgvK','C3rYAw5N','DgfZA2TPBgW','cI0GvgfYz2v0ifrLCM1PBMfSoIa','uhjVy2vLzcbWCM9TChq','ignVBw1HBMq','zgvSzxrL','y29TCgXLDgvK','ndu0ohHqzgzxva','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','q2XLyw5Lzcb1Cca','Aw5PDgLHBgL6zvrLCM1PBMfSrgv0zwn0Aw9U','tMv3luL0zw0Glvr5CguGrMLSzq','jgvUDJO','igfJDgLVBNmGy29TCgXLDgvKihn1y2nLC3nMDwXSEq','uhjVBxb0igrLDgvJDgvKigLUihn0zgvYCG','u3rHCNrPBMCGyMfJA2DYB3vUzcbJB21Tyw5KoIa','C3bSAxq','ywXSB3DLza','DgfZA2TPBgWGl2yGl2LT','r2v0lunOAwXKsxrLBsbfBNy6','q29TBwfUzcbLEgvJDxrLzcbZDwnJzxnZzNvSBhKGAw4G','zxnJyxbLlxnLCxvLBMnLCW','CMvHC29U','y29UDgLUDwu','CNvUlwnVBw1HBMq','BMv3rgLYzwn0B3j5','yw5HBhL6zunVBw1HBMrdB21WyxrPyMLSAxr5','q29TBwfUzcbWCM9JzxnZig5VDcbMB3vUzcbVCIbHBhjLywr5igTPBgXLza','rMfPBgvKihrVigXPC3qGzgLYzwn0B3j5ia','C3rHDgu','zxHPDa','BwvTB3j5lwLUzM8','B2jQzwn0','CgXHDgzVCM1uExbL','vxnLCM5HBwuGChjVBxb0','CM0Gjde','Cg93zxjZAgvSBa','y3vZDg9TqxbPs2v5CW','AgfSDa','z3b0ltqTBwLUAq','zMLSzs12Awv3Aw5N','Aw50zwDLCG','y29TBwfUzeHPC3rVCNK','C3rHCNruAw1L','z2v0qwDLBNrdB21Tyw5KCW','Cg93zxjZAgvSBcaTyW','q29TBwfUzcbHBhjLywr5ihrLCM1PBMf0zwq','C291CMnLia','CMvHzgrPCG','quKGDhjHBNnSyxrPB24GzMfPBgvKlcbMywXSAw5NigjHy2SGDg8GC2LTCgXLihrYyw5ZBgf0Aw9U','y29TBwfUzeLKq291BNrLCG','DgfZA2XPC3q','r2v0lunVBNrLBNqGlvrHAwW','vxnPBMCGquKGDhjHBNnSyxrPB24','z2v0v29YA2LUz0rPCMvJDg9YEq','DhLWzq','Bw92zq','q3vYCMvUDcb3B3jRAw5NigrPCMvJDg9YEtOG','C3rKzxjYqNvMzMvY','y2HHBMDLlwrPCMvJDg9YEq','y29UzMLYBwf0Aw9U','zNjVBq','r2v0lvbYB2nLC3mGFcbtDg9WlvbYB2nLC3m','BhmGlwe','CgLWzq','r2v0lunOAwXKsxrLBsaTuMvJDxjZzq','DMfSAwrHDgvszwfKqwnJzxnZ','Dhj1zq','y3jLyxrLlwrPCMvJDg9YEq','C29YDcaVDw5PCxvL','C2nYAxb0lwv4zwn1Dgu','Bg9Nz2vY','yxn5BMm','zgLYzwn0B3j5','q2HHBMDLzcbKAxjLy3rVCNKGDg8G','tM9UzsbKzxrLy3rLza','z2v0','CM1KAxi','AxneAxjLy3rVCNK','oIb0ExbLigLZihjLCxvPCMvK','C2XPy2u','vxnPBMCGC2LTCgXLihrYyw5ZBgf0Aw9U','zgLYic9H','tufyx0nptu1btKrFquDfx01jtLvurvm','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwq','zxHLy3v0zq','BM93','zw5KvgLTzq','BxyGjdeGjdi','Dg9tDhjPBMC','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','DxnLCI1PBMzV','y29TCgf0AwjSzq','q29TBwfUzcbLCNjVCIbJAhvUAZOG','y2f0','ChjPBNrM','y3jLyxrLrgLYzwn0B3j5','zwnOBW','y29WEsaKmsaKmG','C2vUze1LC3nHz2u','Dgv4Dc1WCM9JzxnZAw5N','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','zxHPDenVzgu','D2LUmZi','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9Yia','odG2nZaWyNL0sLvi','yMfZAa','q29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwqSihvZAw5Nig9YAwDPBMfSignVBw1HBMq','Aw5MBW','twvUDsbZzwXLy3rPB24','ChjVBxb0rgv0zwn0B3i','zgLY','rxHWyw5KlufYy2HPDMu','zMLSDgvY','BwfW','z3jLCa','D29YA2LUz0rPCMvJDg9YAwvZ','y29TBwfUzfr5Cgu'];a0_0x8b87=function(){return _0x3b5336;};return a0_0x8b87();}const a0_0x189b04=a0_0xbff1;(function(_0x18a7e9,_0x4f915a){const _0x5e1307=a0_0xbff1,_0x53d466=_0x18a7e9();while(!![]){try{const _0x428733=-parseInt(_0x5e1307(0x303))/0x1+-parseInt(_0x5e1307(0x1f5))/0x2+-parseInt(_0x5e1307(0x291))/0x3*(-parseInt(_0x5e1307(0x23f))/0x4)+-parseInt(_0x5e1307(0x2f4))/0x5+-parseInt(_0x5e1307(0x239))/0x6*(parseInt(_0x5e1307(0x25b))/0x7)+parseInt(_0x5e1307(0x305))/0x8+parseInt(_0x5e1307(0x1e2))/0x9*(parseInt(_0x5e1307(0x1ff))/0xa);if(_0x428733===_0x4f915a)break;else _0x53d466['push'](_0x53d466['shift']());}catch(_0x3fcc1f){_0x53d466['push'](_0x53d466['shift']());}}}(a0_0x8b87,0x1b320));import{BaseTool}from'./baseTool.js';import a0_0x3e5ccf from'../utilities/tagParser.js';import a0_0x25317a from'../utilities/directoryAccessManager.js';import{spawn,exec}from'child_process';import a0_0xd1a758 from'path';import a0_0x54a4ce from'fs/promises';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class PromptDetector{constructor(){const _0x50a3ca=a0_0xbff1;this['promptPatterns']=[{'pattern':/\(y\/n\)/i,'type':'yes-no','description':_0x50a3ca(0x1ea)},{'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':'yes-no','description':_0x50a3ca(0x1ea)},{'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':_0x50a3ca(0x22c)},{'pattern':/proceed\?/i,'type':_0x50a3ca(0x2a2),'description':_0x50a3ca(0x28d)},{'pattern':/press any key to continue/i,'type':_0x50a3ca(0x1f6),'description':_0x50a3ca(0x30a)},{'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':_0x50a3ca(0x206),'description':_0x50a3ca(0x307)},{'pattern':/enter password/i,'type':_0x50a3ca(0x206),'description':_0x50a3ca(0x307)},{'pattern':/passphrase:/i,'type':'password','description':'Passphrase\x20prompt'},{'pattern':/username:/i,'type':_0x50a3ca(0x315),'description':_0x50a3ca(0x2ad)},{'pattern':/enter username/i,'type':_0x50a3ca(0x315),'description':_0x50a3ca(0x2ad)},{'pattern':/enter\s+\w+:/i,'type':_0x50a3ca(0x269),'description':'Generic\x20input\x20prompt'},{'pattern':/please enter/i,'type':'input','description':_0x50a3ca(0x286)},{'pattern':/input:/i,'type':'input','description':'Generic\x20input\x20prompt'},{'pattern':/are you sure\?/i,'type':_0x50a3ca(0x2c7),'description':'Confirmation\x20prompt'},{'pattern':/do you want to/i,'type':_0x50a3ca(0x2c7),'description':_0x50a3ca(0x21c)},{'pattern':/would you like to/i,'type':_0x50a3ca(0x2c7),'description':_0x50a3ca(0x21c)},{'pattern':/select an option/i,'type':'selection','description':'Selection\x20prompt'},{'pattern':/choose/i,'type':'selection','description':'Selection\x20prompt'},{'pattern':/\d+\)\s+\w+/g,'type':_0x50a3ca(0x241),'description':_0x50a3ca(0x2f8)}];}['detectPrompt'](_0x3dbe0b,_0x26e99e=a0_0x189b04(0x25a)){const _0x2fd3c6=a0_0x189b04;if(!_0x3dbe0b||_0x3dbe0b['trim']()['length']===0x0)return null;const _0x4c8c7a=_0x3dbe0b['split']('\x0a'),_0x31fb2a=_0x4c8c7a[_0x2fd3c6(0x2db)](-0x5)[_0x2fd3c6(0x210)]('\x0a');for(const _0xee6d7f of this[_0x2fd3c6(0x273)]){const _0x1215b7=_0x31fb2a[_0x2fd3c6(0x25e)](_0xee6d7f['pattern']);if(_0x1215b7)return{'detected':!![],'type':_0xee6d7f['type'],'description':_0xee6d7f[_0x2fd3c6(0x209)],'matchedText':_0x1215b7[0x0],'matchIndex':_0x1215b7[_0x2fd3c6(0x31c)],'source':_0x26e99e,'fullContext':_0x31fb2a,'timestamp':Date['now']()};}const _0x213a72=_0x4c8c7a[_0x4c8c7a['length']-0x1]||'';if(_0x213a72[_0x2fd3c6(0x323)]()[_0x2fd3c6(0x316)]>0x0){const _0x17301b=/:\s*$/['test'](_0x213a72),_0x1a9871=/\?\s*$/[_0x2fd3c6(0x265)](_0x213a72);if(_0x17301b||_0x1a9871){const _0x414e17=/\b(enter|type|provide|specify|input)\b/i[_0x2fd3c6(0x265)](_0x213a72);if(_0x414e17)return{'detected':!![],'type':_0x2fd3c6(0x245),'description':_0x2fd3c6(0x20e),'matchedText':_0x213a72[_0x2fd3c6(0x323)](),'source':_0x26e99e,'fullContext':_0x31fb2a,'timestamp':Date[_0x2fd3c6(0x2e1)](),'confidence':0.7};}}return null;}[a0_0x189b04(0x23d)](_0x47bd88,_0x1e9272=0x7530){const _0x5f43b5=a0_0x189b04,_0x40a76b=Date[_0x5f43b5(0x2e1)](),_0x5eb4f9=_0x40a76b-_0x47bd88;return{'isHanging':_0x5eb4f9>=_0x1e9272,'timeSinceLastOutput':_0x5eb4f9,'threshold':_0x1e9272,'likelyWaiting':_0x5eb4f9>=_0x1e9272/0x2};}}class TerminalTool extends BaseTool{constructor(_0x23bee2={},_0x4eba99=null){const _0x5af9c4=a0_0x189b04;super(_0x23bee2,_0x4eba99),this['requiresProject']=![],this['isAsync']=![],this[_0x5af9c4(0x250)]=_0x23bee2['timeout']||0x1d4c0,this[_0x5af9c4(0x319)]=_0x23bee2[_0x5af9c4(0x319)]||0x3,this[_0x5af9c4(0x2ff)]=new Map(),this['commandHistory']=[],this['allowedCommands']=_0x23bee2[_0x5af9c4(0x223)]||null,this[_0x5af9c4(0x30f)]=_0x23bee2['blockedCommands']||[_0x5af9c4(0x25f),_0x5af9c4(0x308),'del\x20/f\x20/q',_0x5af9c4(0x247),'reboot',_0x5af9c4(0x2b1)],this['directoryAccessManager']=new a0_0x25317a(_0x23bee2,_0x4eba99),this[_0x5af9c4(0x2f9)]=new PromptDetector(),this['commandTracker']=new Map(),this['commandIdCounter']=0x0,this['MAX_BACKGROUND_COMMANDS_PER_AGENT']=_0x23bee2['maxBackgroundCommandsPerAgent']||0x5,this['MAX_BACKGROUND_COMMANDS_GLOBAL']=_0x23bee2['maxBackgroundCommandsGlobal']||0x14,this['MAX_COMMAND_AGE_MINUTES']=_0x23bee2['maxCommandAgeMinutes']||0x3c,this[_0x5af9c4(0x230)]=null,this['platformType']=null,this['initializeTerminalDetection']();}['getDescription'](){const _0x5df41b=a0_0x189b04;return'\x0aTerminal\x20Tool:\x20Execute\x20system\x20commands\x20and\x20manage\x20terminal\x20operations\x20safely.\x0a\x0aIMPORTANT:\x20For\x20file\x20and\x20directory\x20creation,\x20prefer\x20using\x20the\x20FileSystem\x20tool.\x0aReserve\x20the\x20Terminal\x20tool\x20for\x20command-line\x20operations\x20like\x20npm,\x20git,\x20curl,\x20etc.\x0a\x0aUSAGE:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>npm\x20install\x20express</run-command>\x0a<change-directory>project/backend</change-directory>\x0a[/tool]\x0a\x0aALTERNATIVE\x20JSON\x20FORMAT:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22terminal\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22run-command\x22,\x0a\x20\x20\x20\x20\x20\x20\x22command\x22:\x20\x22npm\x20install\x20express\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22change-directory\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22project/backend\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20run-command:\x20Execute\x20a\x20command\x20in\x20the\x20current\x20directory\x0a-\x20change-directory:\x20Change\x20current\x20working\x20directory\x0a-\x20list-directory:\x20List\x20contents\x20of\x20current\x20or\x20specified\x20directory\x0a-\x20create-directory:\x20Create\x20a\x20new\x20directory\x20(prefer\x20FileSystem\x20tool)\x0a-\x20get-working-directory:\x20Get\x20current\x20working\x20directory\x0a\x0aPARAMETERS:\x0a-\x20command:\x20The\x20command\x20to\x20execute\x0a-\x20directory:\x20Directory\x20path\x20for\x20navigation/operations\x0a-\x20timeout:\x20Optional\x20timeout\x20in\x20milliseconds\x20(max\x20'+this[_0x5df41b(0x250)]+'ms)\x0a-\x20async:\x20Whether\x20to\x20run\x20command\x20asynchronously\x20(true/false)\x0a\x0aBACKGROUND\x20COMMAND\x20MANAGEMENT\x20(Advanced):\x0aFor\x20long-running\x20commands\x20(npm\x20install,\x20git\x20operations,\x20builds),\x20use\x20background\x20command\x20tracking:\x0a\x0a**startBackgroundCommand(command,\x20workingDir,\x20{agentId,\x20context})**\x0a-\x20Starts\x20command\x20in\x20background\x20with\x20stdin\x20kept\x20open\x0a-\x20Returns\x20commandId\x20for\x20tracking\x0a-\x20Max\x20'+this[_0x5df41b(0x2e5)]+'\x20per\x20agent,\x20'+this[_0x5df41b(0x215)]+'\x20global\x0a-\x20Auto-detects\x20prompts\x20and\x20updates\x20state\x20to\x20\x27waiting_for_input\x27\x0a\x0a**getCommandStatus(commandId,\x20agentId)**\x0a-\x20Get\x20real-time\x20status:\x20running,\x20waiting_for_input,\x20completed,\x20failed\x0a-\x20Returns\x20stdout/stderr\x20buffers,\x20exit\x20code,\x20timestamps\x0a-\x20Shows\x20prompt\x20detection\x20info\x20if\x20interactive\x20prompt\x20detected\x0a\x0a**sendInput(commandId,\x20input,\x20agentId)**\x0a-\x20Send\x20input\x20to\x20command\x27s\x20stdin\x20(answers\x20prompts)\x0a-\x20Automatically\x20adds\x20newline\x20if\x20not\x20present\x0a-\x20Updates\x20state\x20from\x20\x27waiting_for_input\x27\x20to\x20\x27running\x27\x0a\x0a**killCommand(commandId,\x20agentId)**\x0a-\x20Terminate\x20background\x20command\x20(SIGTERM\x20→\x20SIGKILL)\x0a-\x20Safe\x20to\x20call\x20on\x20already-completed\x20commands\x0a\x0a**listAgentCommands(agentId)**\x0a-\x20List\x20all\x20commands\x20(running\x20and\x20completed)\x20for\x20agent\x0a-\x20Useful\x20for\x20monitoring\x20multiple\x20background\x20processes\x0a\x0aBACKGROUND\x20COMMAND\x20WORKFLOW:\x0a1.\x20Start:\x20const\x20{commandId}\x20=\x20await\x20terminal.startBackgroundCommand(\x27npm\x20install\x27,\x20dir,\x20{agentId})\x0a2.\x20Wait:\x20Use\x20agent-delay\x20tool\x20to\x20wait\x20while\x20command\x20runs\x0a3.\x20Check:\x20const\x20status\x20=\x20terminal.getCommandStatus(commandId,\x20agentId)\x0a4.\x20If\x20prompt\x20detected:\x20terminal.sendInput(commandId,\x20\x27y\x27,\x20agentId)\x0a5.\x20Verify:\x20Check\x20status.state\x20===\x20\x27completed\x27\x20&&\x20status.exitCode\x20===\x200\x0a\x0aEXAMPLES:\x0aBasic\x20command\x20execution:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>npm\x20install</run-command>\x0a[/tool]\x0a\x0aExecute\x20curl\x20command:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>curl\x20-s\x20https://api.github.com/zen</run-command>\x0a[/tool]\x0a\x0aChange\x20directory\x20and\x20run\x20command:\x0a[tool\x20id=\x22terminal\x22]\x0a<change-directory>../frontend</change-directory>\x0a<run-command>npm\x20run\x20build</run-command>\x0a[/tool]\x0a\x0aPackage\x20management:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>pip\x20install\x20-r\x20requirements.txt</run-command>\x0a[/tool]\x0a\x0aGit\x20operations:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>git\x20status</run-command>\x0a[/tool]\x0a\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>git\x20add\x20.</run-command>\x0a<run-command>git\x20commit\x20-m\x20\x22Update\x20files\x22</run-command>\x0a[/tool]\x0a\x0aDirectory\x20operations\x20(if\x20FileSystem\x20tool\x20unavailable):\x0a[tool\x20id=\x22terminal\x22]\x0a<create-directory>backend</create-directory>\x0a[/tool]\x0a\x0aSECURITY\x20NOTES:\x0a-\x20Dangerous\x20commands\x20are\x20blocked\x20for\x20safety\x0a-\x20Commands\x20execute\x20in\x20isolated\x20environment\x0a-\x20Output\x20is\x20captured\x20and\x20returned\x20safely\x0a-\x20Long-running\x20commands\x20may\x20time\x20out\x20-\x20use\x20agent-delay\x20tool\x20to\x20wait\x0a\x0aBEST\x20PRACTICES:\x0a-\x20Use\x20FileSystem\x20tool\x20for\x20file/directory\x20creation\x20and\x20management\x0a-\x20Use\x20Terminal\x20tool\x20for\x20command-line\x20utilities\x20(npm,\x20git,\x20curl,\x20grep,\x20etc.)\x0a-\x20After\x20starting\x20long-running\x20commands,\x20use\x20agent-delay\x20tool\x20to\x20pause\x20checking\x0a-\x20Always\x20check\x20command\x20output\x20to\x20verify\x20success\x0a\x0aCURRENT\x20DIRECTORY:\x0aThe\x20tool\x20maintains\x20a\x20current\x20working\x20directory\x20context\x20per\x20agent.\x0aUse\x20change-directory\x20to\x20navigate,\x20and\x20subsequent\x20commands\x20will\x20execute\x20from\x20that\x20location.\x0a\x20\x20\x20\x20';}[a0_0x189b04(0x217)](_0x337744){const _0x50b11a=a0_0x189b04;try{const _0xc1f288={},_0x1ba72f=a0_0x3e5ccf['extractContent'](_0x337744,'run-command'),_0x5d98bd=a0_0x3e5ccf['extractContent'](_0x337744,'change-directory'),_0x7cb6a2=a0_0x3e5ccf[_0x50b11a(0x1f0)](_0x337744,'list-directory'),_0x1e4848=a0_0x3e5ccf['extractContent'](_0x337744,_0x50b11a(0x2cf)),_0x15266e=a0_0x3e5ccf['extractContent'](_0x337744,_0x50b11a(0x287)),_0x2d096a=a0_0x3e5ccf['extractContent'](_0x337744,_0x50b11a(0x250)),_0x267784=a0_0x3e5ccf['extractContent'](_0x337744,'async'),_0x447962=[];return _0x1ba72f[_0x50b11a(0x316)]>0x0&&_0x447962[_0x50b11a(0x27a)]({'type':_0x50b11a(0x2a3),'command':_0x1ba72f[0x0][_0x50b11a(0x323)]()}),_0x5d98bd['length']>0x0&&_0x447962['push']({'type':'change-directory','directory':_0x5d98bd[0x0][_0x50b11a(0x323)]()}),_0x7cb6a2[_0x50b11a(0x316)]>0x0&&_0x447962['push']({'type':_0x50b11a(0x1f2),'directory':_0x7cb6a2[0x0]['trim']()||'.'}),_0x1e4848['length']>0x0&&_0x447962[_0x50b11a(0x27a)]({'type':_0x50b11a(0x2cf),'directory':_0x1e4848[0x0][_0x50b11a(0x323)]()}),_0x15266e[_0x50b11a(0x316)]>0x0&&_0x447962['push']({'type':_0x50b11a(0x287)}),_0xc1f288[_0x50b11a(0x31d)]=_0x447962,_0x2d096a['length']>0x0&&(_0xc1f288['timeout']=parseInt(_0x2d096a[0x0],0xa)),_0x267784[_0x50b11a(0x316)]>0x0&&(_0xc1f288[_0x50b11a(0x2d3)]=_0x267784[0x0]['toLowerCase']()===_0x50b11a(0x2ce)),_0xc1f288[_0x50b11a(0x200)]=_0x337744[_0x50b11a(0x323)](),_0xc1f288;}catch(_0x473f04){throw new Error(_0x50b11a(0x1e4)+_0x473f04[_0x50b11a(0x285)]);}}['getRequiredParameters'](){return['actions'];}[a0_0x189b04(0x292)](_0x1ba796){const _0x56f41e=a0_0x189b04,_0x53bc1a=[];if(!_0x1ba796['actions']||!Array['isArray'](_0x1ba796['actions'])||_0x1ba796['actions'][_0x56f41e(0x316)]===0x0)_0x53bc1a[_0x56f41e(0x27a)]('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x58b882,_0x2af441]of _0x1ba796[_0x56f41e(0x31d)]['entries']()){if(!_0x2af441[_0x56f41e(0x2c2)]){_0x53bc1a[_0x56f41e(0x27a)]('Action\x20'+(_0x58b882+0x1)+_0x56f41e(0x2da));continue;}switch(_0x2af441[_0x56f41e(0x2c2)]){case'run-command':if(!_0x2af441['command']||!_0x2af441['command'][_0x56f41e(0x323)]())_0x53bc1a['push'](_0x56f41e(0x24e)+(_0x58b882+0x1)+_0x56f41e(0x280));else{if(this[_0x56f41e(0x288)](_0x2af441['command']))_0x53bc1a['push'](_0x56f41e(0x24e)+(_0x58b882+0x1)+':\x20command\x20is\x20blocked\x20for\x20security:\x20'+_0x2af441[_0x56f41e(0x31f)]);else this[_0x56f41e(0x223)]&&!this['isAllowedCommand'](_0x2af441[_0x56f41e(0x31f)])&&_0x53bc1a[_0x56f41e(0x27a)](_0x56f41e(0x24e)+(_0x58b882+0x1)+_0x56f41e(0x274)+_0x2af441['command']);}break;case _0x56f41e(0x2c6):case'list-directory':case'create-directory':(!_0x2af441['directory']||!_0x2af441[_0x56f41e(0x2d4)][_0x56f41e(0x323)]())&&_0x53bc1a[_0x56f41e(0x27a)]('Action\x20'+(_0x58b882+0x1)+_0x56f41e(0x2f3)+_0x2af441[_0x56f41e(0x2c2)]);break;case'get-working-directory':break;default:_0x53bc1a[_0x56f41e(0x27a)]('Action\x20'+(_0x58b882+0x1)+_0x56f41e(0x293)+_0x2af441[_0x56f41e(0x2c2)]);}}return _0x1ba796['timeout']&&(_0x1ba796['timeout']<0x3e8||_0x1ba796[_0x56f41e(0x250)]>this[_0x56f41e(0x250)])&&_0x53bc1a[_0x56f41e(0x27a)]('Timeout\x20must\x20be\x20between\x201000\x20and\x20'+this[_0x56f41e(0x250)]+'\x20milliseconds'),{'valid':_0x53bc1a[_0x56f41e(0x316)]===0x0,'errors':_0x53bc1a};}async[a0_0x189b04(0x2e0)](_0x521c3f,_0x14db5a){const _0x2de852=a0_0x189b04,{actions:_0x234b19,timeout:_0x3bea88,async:_0x125638}=_0x521c3f,{agentId:_0x5ee9c8,projectDir:_0x23f63e,directoryAccess:_0x4ee1ee}=_0x14db5a,_0x2b255d=_0x4ee1ee||this[_0x2de852(0x20d)]['createDirectoryAccess']({'workingDirectory':_0x23f63e||process['cwd'](),'writeEnabledDirectories':[_0x23f63e||process['cwd']()],'restrictToProject':!![]});_0x4ee1ee&&_0x4ee1ee[_0x2de852(0x24a)]?console['log']('Terminal\x20DEBUG:\x20Using\x20agent\x20configured\x20working\x20directory:',_0x4ee1ee['workingDirectory']):console['log']('Terminal\x20DEBUG:\x20Using\x20fallback\x20working\x20directory:',_0x23f63e||process['cwd']());const _0x450ebf=_0x5ee9c8+'-'+(_0x23f63e||'default');let _0x424d28=this['workingDirectories']['get'](_0x450ebf)||this[_0x2de852(0x20d)][_0x2de852(0x2c1)](_0x2b255d);const _0x292a63=[];for(const _0x2b70db of _0x234b19){try{let _0xf52067;switch(_0x2b70db[_0x2de852(0x2c2)]){case'run-command':_0xf52067=await this['executeCommand'](_0x2b70db[_0x2de852(0x31f)],_0x424d28,{'timeout':_0x3bea88||this[_0x2de852(0x250)],'async':_0x125638||![],'agentId':_0x5ee9c8,'context':{'toolsRegistry':_0x14db5a['toolsRegistry'],'aiService':_0x14db5a[_0x2de852(0x251)],'apiKey':_0x14db5a['apiKey'],'customApiKeys':_0x14db5a[_0x2de852(0x2b0)],'platformProvided':_0x14db5a[_0x2de852(0x282)]}});break;case _0x2de852(0x2c6):_0xf52067=await this['changeDirectory'](_0x2b70db['directory'],_0x424d28,_0x2b255d),_0x424d28=_0xf52067[_0x2de852(0x2a4)],this[_0x2de852(0x2ff)][_0x2de852(0x311)](_0x450ebf,_0x424d28);break;case _0x2de852(0x1f2):_0xf52067=await this[_0x2de852(0x1e5)](_0x2b70db[_0x2de852(0x2d4)]==='.'?_0x424d28:_0x2b70db['directory']);break;case _0x2de852(0x2cf):_0xf52067=await this['createDirectory'](_0x2b70db['directory'],_0x424d28);break;case _0x2de852(0x287):_0xf52067={'success':!![],'action':_0x2de852(0x287),'workingDirectory':_0x424d28,'message':_0x2de852(0x2c4)+_0x424d28};break;default:throw new Error(_0x2de852(0x24f)+_0x2b70db[_0x2de852(0x2c2)]);}_0x292a63['push'](_0xf52067),this[_0x2de852(0x1f3)](_0x2b70db,_0xf52067,_0x5ee9c8);}catch(_0x1a13fc){const _0x177783={'success':![],'action':_0x2b70db[_0x2de852(0x2c2)],'error':_0x1a13fc['message'],'command':_0x2b70db[_0x2de852(0x31f)]||_0x2b70db['directory'],'workingDirectory':_0x424d28};_0x292a63[_0x2de852(0x27a)](_0x177783),this[_0x2de852(0x1f3)](_0x2b70db,_0x177783,_0x5ee9c8);}}const _0x38526c=_0x292a63['every'](_0xbb287e=>_0xbb287e[_0x2de852(0x327)]),_0x235ec9=_0x292a63[_0x2de852(0x2fc)](_0x295a5d=>!_0x295a5d[_0x2de852(0x327)]);return{'success':_0x38526c,'actions':_0x292a63,'workingDirectory':_0x424d28,'executedActions':_0x234b19[_0x2de852(0x316)],'failedActions':_0x235ec9['length'],'toolUsed':'terminal','message':_0x38526c?'All\x20'+_0x234b19[_0x2de852(0x316)]+_0x2de852(0x298):_0x235ec9[_0x2de852(0x316)]+_0x2de852(0x1e3)+_0x234b19[_0x2de852(0x316)]+_0x2de852(0x235)};}async['executeCommand'](_0x17b1c3,_0x919d8c,_0x4f6330={}){const _0x509105=a0_0x189b04,{timeout:timeout=this['timeout'],async:_0x4c3a3f=![],agentId:_0xd54850,context:_0x286704}=_0x4f6330,_0xd871eb=_0x17b1c3;let _0x4e0fb4;try{_0x4e0fb4=await this['translateCommand'](_0x17b1c3,{'agentId':_0xd54850,'toolsRegistry':_0x286704?.[_0x509105(0x26b)],'messageProcessor':_0x286704?.['messageProcessor'],'aiService':_0x286704?.['aiService'],'apiKey':_0x286704?.[_0x509105(0x317)],'customApiKeys':_0x286704?.[_0x509105(0x2b0)],'platformProvided':_0x286704?.['platformProvided']});}catch(_0x14f22b){this['logger']?.[_0x509105(0x281)]('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0xd871eb,'error':_0x14f22b['message']}),_0x4e0fb4=_0x17b1c3;}return new Promise((_0x4c60cf,_0x566c60)=>{const _0x31e4f1=_0x509105,_0x4c0244=Date[_0x31e4f1(0x2e1)]();this[_0x31e4f1(0x2d2)]?.[_0x31e4f1(0x2f7)](_0x31e4f1(0x220)+_0x4e0fb4,{'originalCommand':_0xd871eb,'translatedCommand':_0x4e0fb4,'terminal':this[_0x31e4f1(0x230)],'workingDirectory':_0x919d8c,'timeout':timeout,'agentId':_0xd54850});const _0xa85a0b=exec(_0x4e0fb4,{'cwd':_0x919d8c,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process['env']}},(_0x4c73fc,_0xfe1b31,_0x4c047d)=>{const _0x33dd4f=_0x31e4f1,_0x466db1=Date[_0x33dd4f(0x2e1)]()-_0x4c0244;if(_0x4c73fc){this[_0x33dd4f(0x2d2)]?.[_0x33dd4f(0x205)]('Command\x20failed:\x20'+_0x4e0fb4,{'originalCommand':_0xd871eb,'translatedCommand':_0x4e0fb4,'error':_0x4c73fc[_0x33dd4f(0x285)],'workingDirectory':_0x919d8c,'executionTime':_0x466db1}),_0x4c60cf({'success':![],'action':_0x33dd4f(0x2a3),'command':_0xd871eb,'translatedCommand':_0x4e0fb4!==_0xd871eb?_0x4e0fb4:undefined,'error':_0x4c73fc['message'],'stderr':_0x4c047d['trim'](),'stdout':_0xfe1b31[_0x33dd4f(0x323)](),'exitCode':_0x4c73fc[_0x33dd4f(0x236)],'executionTime':_0x466db1,'workingDirectory':_0x919d8c});return;}this['logger']?.['info'](_0x33dd4f(0x1ee)+_0x4e0fb4,{'originalCommand':_0xd871eb,'translatedCommand':_0x4e0fb4,'executionTime':_0x466db1,'stdoutLength':_0xfe1b31[_0x33dd4f(0x316)],'stderrLength':_0x4c047d['length']}),_0x4c60cf({'success':!![],'action':_0x33dd4f(0x2a3),'command':_0xd871eb,'translatedCommand':_0x4e0fb4!==_0xd871eb?_0x4e0fb4:undefined,'stdout':_0xfe1b31['trim'](),'stderr':_0x4c047d['trim'](),'exitCode':0x0,'executionTime':_0x466db1,'workingDirectory':_0x919d8c,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x466db1+'ms'});});setTimeout(()=>{const _0x5b7c05=_0x31e4f1;!_0xa85a0b['killed']&&(_0xa85a0b[_0x5b7c05(0x322)](_0x5b7c05(0x271)),_0x566c60(new Error('Command\x20timed\x20out\x20after\x20'+timeout+'ms:\x20'+_0x4e0fb4+_0x5b7c05(0x1fa)+_0xd871eb+')')));},timeout);});}async['executeCommandWithSpawn'](_0x546ca4,_0x35b642,_0x203613={}){const _0x2a2e09=a0_0x189b04,{timeout:timeout=this['timeout'],agentId:_0x433a77,context:_0x262a00}=_0x203613,_0x65835d=_0x546ca4;let _0xca5b95;try{_0xca5b95=await this[_0x2a2e09(0x1fe)](_0x546ca4,{'agentId':_0x433a77,'toolsRegistry':_0x262a00?.['toolsRegistry'],'messageProcessor':_0x262a00?.[_0x2a2e09(0x31e)],'aiService':_0x262a00?.['aiService'],'apiKey':_0x262a00?.[_0x2a2e09(0x317)],'customApiKeys':_0x262a00?.[_0x2a2e09(0x2b0)],'platformProvided':_0x262a00?.[_0x2a2e09(0x282)]});}catch(_0xb8cdc7){this[_0x2a2e09(0x2d2)]?.[_0x2a2e09(0x281)](_0x2a2e09(0x2f6),{'originalCommand':_0x65835d,'error':_0xb8cdc7[_0x2a2e09(0x285)]}),_0xca5b95=_0x546ca4;}return new Promise((_0x86c973,_0x1c7d97)=>{const _0x563763=_0x2a2e09,_0x52bb64=Date['now']();this[_0x563763(0x2d2)]?.['info'](_0x563763(0x1f8)+_0xca5b95,{'originalCommand':_0x65835d,'translatedCommand':_0xca5b95,'terminal':this[_0x563763(0x230)],'workingDirectory':_0x35b642,'timeout':timeout,'agentId':_0x433a77});let _0x222161;if(this['detectedTerminal']===_0x563763(0x279)||this['detectedTerminal']===_0x563763(0x2af)){const _0x4ec97d=this['detectedTerminal']===_0x563763(0x2af)?'powershell':'cmd',_0xae7aa2=this[_0x563763(0x230)]===_0x563763(0x2af)?['-Command',_0xca5b95]:['/c',_0xca5b95];_0x222161=spawn(_0x4ec97d,_0xae7aa2,{'cwd':_0x35b642,'env':{...process[_0x563763(0x204)]},'windowsHide':!![]});}else _0x222161=spawn('sh',['-c',_0xca5b95],{'cwd':_0x35b642,'env':{...process[_0x563763(0x204)]}});let _0x52eb01='',_0x585665='',_0x3c47a9=![],_0x433f90=null,_0x327cf3=Date[_0x563763(0x2e1)](),_0x141366=null;const _0x24bfca=setTimeout(()=>{const _0xab76c4=_0x563763;!_0x222161[_0xab76c4(0x289)]&&_0x433f90===null&&(_0x3c47a9=!![],this[_0xab76c4(0x2d2)]?.[_0xab76c4(0x281)](_0xab76c4(0x275)+_0xca5b95,{'timeout':timeout,'agentId':_0x433a77}),_0x222161['kill'](_0xab76c4(0x271)),setTimeout(()=>{const _0x5ac737=_0xab76c4;!_0x222161[_0x5ac737(0x289)]&&_0x222161[_0x5ac737(0x322)]('SIGKILL');},0x1388));},timeout);_0x222161['stdout']['on']('data',_0x37d6c9=>{const _0x235b9a=_0x563763,_0x2ccd17=_0x37d6c9['toString']();_0x52eb01+=_0x2ccd17,_0x327cf3=Date['now'](),this[_0x235b9a(0x2d2)]?.['debug']('Command\x20output\x20chunk:\x20'+_0x2ccd17[_0x235b9a(0x243)](0x0,0x64),{'agentId':_0x433a77,'command':_0x65835d['substring'](0x0,0x32)});if(!_0x141366){const _0x5d8923=this['promptDetector']['detectPrompt'](_0x52eb01,'stdout');_0x5d8923&&(_0x141366=_0x5d8923,this['logger']?.[_0x235b9a(0x2f7)]('Prompt\x20detected\x20in\x20stdout',{'type':_0x5d8923[_0x235b9a(0x2c2)],'description':_0x5d8923['description'],'matchedText':_0x5d8923['matchedText'],'agentId':_0x433a77,'command':_0x65835d[_0x235b9a(0x243)](0x0,0x32)}));}}),_0x222161['stderr']['on']('data',_0x1943b0=>{const _0x1e0935=_0x563763,_0x2581c1=_0x1943b0[_0x1e0935(0x2e4)]();_0x585665+=_0x2581c1,_0x327cf3=Date[_0x1e0935(0x2e1)](),this['logger']?.[_0x1e0935(0x233)](_0x1e0935(0x2e8)+_0x2581c1[_0x1e0935(0x243)](0x0,0x64),{'agentId':_0x433a77,'command':_0x65835d['substring'](0x0,0x32)});if(!_0x141366){const _0x56f7fa=this['promptDetector'][_0x1e0935(0x325)](_0x585665,'stderr');_0x56f7fa&&(_0x141366=_0x56f7fa,this[_0x1e0935(0x2d2)]?.[_0x1e0935(0x2f7)](_0x1e0935(0x299),{'type':_0x56f7fa[_0x1e0935(0x2c2)],'description':_0x56f7fa['description'],'matchedText':_0x56f7fa[_0x1e0935(0x207)],'agentId':_0x433a77,'command':_0x65835d['substring'](0x0,0x32)}));}}),_0x222161['on'](_0x563763(0x2a9),(_0x4c3e52,_0x3df34f)=>{const _0x16aeb8=_0x563763;clearTimeout(_0x24bfca),_0x433f90=_0x4c3e52;const _0x350ecd=Date['now']()-_0x52bb64,_0x4bf2cb=Date[_0x16aeb8(0x2e1)]()-_0x327cf3;this['logger']?.[_0x16aeb8(0x2f7)](_0x16aeb8(0x249)+_0xca5b95,{'exitCode':_0x4c3e52,'signal':_0x3df34f,'executionTime':_0x350ecd,'timedOut':_0x3c47a9,'stdoutLength':_0x52eb01[_0x16aeb8(0x316)],'stderrLength':_0x585665[_0x16aeb8(0x316)],'promptDetected':!!_0x141366,'timeSinceLastOutput':_0x4bf2cb});const _0x56f699={'action':_0x16aeb8(0x2a3),'command':_0x65835d,'translatedCommand':_0xca5b95!==_0x65835d?_0xca5b95:undefined,'stdout':_0x52eb01['trim'](),'stderr':_0x585665[_0x16aeb8(0x323)](),'exitCode':_0x4c3e52,'executionTime':_0x350ecd,'workingDirectory':_0x35b642,'promptDetected':!!_0x141366,'promptInfo':_0x141366||undefined,'lastOutputTime':_0x327cf3,'timeSinceLastOutput':_0x4bf2cb};if(_0x3c47a9){_0x86c973({..._0x56f699,'success':![],'error':'Command\x20timed\x20out\x20after\x20'+timeout+'ms','exitCode':_0x4c3e52||-0x1,'timedOut':!![]});return;}if(_0x4c3e52!==0x0){this[_0x16aeb8(0x2d2)]?.[_0x16aeb8(0x205)]('Command\x20failed\x20with\x20exit\x20code\x20'+_0x4c3e52+':\x20'+_0xca5b95,{'originalCommand':_0x65835d,'translatedCommand':_0xca5b95,'exitCode':_0x4c3e52,'stderr':_0x585665['substring'](0x0,0xc8),'executionTime':_0x350ecd,'promptDetected':!!_0x141366}),_0x86c973({..._0x56f699,'success':![],'error':'Command\x20exited\x20with\x20code\x20'+_0x4c3e52});return;}this[_0x16aeb8(0x2d2)]?.['info'](_0x16aeb8(0x244)+_0xca5b95,{'originalCommand':_0x65835d,'executionTime':_0x350ecd,'stdoutLength':_0x52eb01[_0x16aeb8(0x316)],'stderrLength':_0x585665['length'],'promptDetected':!!_0x141366}),_0x86c973({..._0x56f699,'success':!![],'exitCode':0x0,'message':_0x16aeb8(0x29f)+_0x350ecd+'ms'});}),_0x222161['on'](_0x563763(0x205),_0x4a7727=>{const _0x3ccb0e=_0x563763;clearTimeout(_0x24bfca);const _0x44665f=Date[_0x3ccb0e(0x2e1)]()-_0x52bb64,_0x1dda08=Date[_0x3ccb0e(0x2e1)]()-_0x327cf3;this['logger']?.['error'](_0x3ccb0e(0x21d)+_0xca5b95,{'originalCommand':_0x65835d,'error':_0x4a7727['message'],'executionTime':_0x44665f,'promptDetected':!!_0x141366}),_0x86c973({'success':![],'action':'run-command','command':_0x65835d,'translatedCommand':_0xca5b95!==_0x65835d?_0xca5b95:undefined,'error':_0x4a7727['message'],'stderr':_0x585665['trim'](),'stdout':_0x52eb01[_0x3ccb0e(0x323)](),'exitCode':-0x1,'executionTime':_0x44665f,'workingDirectory':_0x35b642,'promptDetected':!!_0x141366,'promptInfo':_0x141366||undefined,'lastOutputTime':_0x327cf3,'timeSinceLastOutput':_0x1dda08});});});}async['changeDirectory'](_0x10d311,_0x3b0d26,_0x40979d){const _0x13ba40=a0_0x189b04;try{let _0x4f398d;a0_0xd1a758['isAbsolute'](_0x10d311)?_0x4f398d=_0x10d311:_0x4f398d=a0_0xd1a758[_0x13ba40(0x238)](_0x3b0d26,_0x10d311);const _0x9873fa=await a0_0x54a4ce[_0x13ba40(0x202)](_0x4f398d);if(!_0x9873fa['isDirectory']())throw new Error('Not\x20a\x20directory:\x20'+_0x4f398d);const _0x2f2137=this['directoryAccessManager'][_0x13ba40(0x2cd)](_0x4f398d,_0x40979d);if(!_0x2f2137[_0x13ba40(0x29c)]){this['logger']?.['warn']('Directory\x20change\x20blocked:\x20'+_0x2f2137[_0x13ba40(0x2a1)],{'targetDirectory':_0x4f398d,'reason':_0x2f2137[_0x13ba40(0x2a1)],'category':_0x2f2137['category']});throw new Error(_0x13ba40(0x23b)+_0x2f2137[_0x13ba40(0x2a1)]);}return{'success':!![],'action':_0x13ba40(0x2c6),'previousDirectory':_0x3b0d26,'newDirectory':_0x4f398d,'message':_0x13ba40(0x2d5)+_0x4f398d};}catch(_0x4bc571){throw new Error('Failed\x20to\x20change\x20directory\x20to\x20'+_0x10d311+':\x20'+_0x4bc571['message']);}}async['listDirectory'](_0x1c609b){const _0x26d6d1=a0_0x189b04;try{const _0x5f5679=await a0_0x54a4ce[_0x26d6d1(0x2bb)](_0x1c609b,{'withFileTypes':!![]}),_0x464811=_0x5f5679['map'](_0xa27ea6=>({'name':_0xa27ea6[_0x26d6d1(0x304)],'type':_0xa27ea6[_0x26d6d1(0x2d9)]()?'directory':'file','isSymlink':_0xa27ea6['isSymbolicLink']()}));return{'success':!![],'action':_0x26d6d1(0x1f2),'directory':_0x1c609b,'contents':_0x464811,'totalItems':_0x464811['length'],'directories':_0x464811['filter'](_0x2be002=>_0x2be002[_0x26d6d1(0x2c2)]==='directory')['length'],'files':_0x464811[_0x26d6d1(0x2fc)](_0x3b0ec4=>_0x3b0ec4[_0x26d6d1(0x2c2)]===_0x26d6d1(0x1e7))['length'],'message':'Listed\x20'+_0x464811[_0x26d6d1(0x316)]+'\x20items\x20in\x20'+_0x1c609b};}catch(_0x1c6ac1){throw new Error(_0x26d6d1(0x2a7)+_0x1c609b+':\x20'+_0x1c6ac1['message']);}}async[a0_0x189b04(0x2eb)](_0x44505c,_0x2b557a){const _0x468eb1=a0_0x189b04;try{let _0x39f173;return a0_0xd1a758['isAbsolute'](_0x44505c)?_0x39f173=_0x44505c:_0x39f173=a0_0xd1a758['resolve'](_0x2b557a,_0x44505c),await a0_0x54a4ce[_0x468eb1(0x234)](_0x39f173,{'recursive':!![]}),{'success':!![],'action':'create-directory','directory':_0x39f173,'relativePath':a0_0xd1a758['relative'](_0x2b557a,_0x39f173),'message':'Created\x20directory:\x20'+_0x39f173};}catch(_0x3c7d65){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x44505c+':\x20'+_0x3c7d65['message']);}}[a0_0x189b04(0x288)](_0x42b1fb){const _0x493171=a0_0x189b04,_0x2fee9c=_0x42b1fb[_0x493171(0x267)]()['trim']();return this[_0x493171(0x30f)]['some'](_0x245088=>{const _0xe349d8=_0x493171,_0x49bd3c=_0x245088[_0xe349d8(0x267)]();return _0x2fee9c===_0x49bd3c||_0x2fee9c['startsWith'](_0x49bd3c+'\x20');});}['isAllowedCommand'](_0x2e1afe){const _0x3e0824=a0_0x189b04;if(!this['allowedCommands'])return!![];const _0x20d318=_0x2e1afe['toLowerCase']()[_0x3e0824(0x323)](),_0x519a96=_0x20d318[_0x3e0824(0x29b)]('\x20')[0x0];return this[_0x3e0824(0x223)]['some'](_0x651f67=>_0x651f67[_0x3e0824(0x267)]()===_0x519a96||_0x20d318['startsWith'](_0x651f67['toLowerCase']()+'\x20'));}['addToHistory'](_0x1ffc32,_0x151c93,_0x4066f4){const _0x5b9706=a0_0x189b04,_0x5263d4={'timestamp':new Date()[_0x5b9706(0x203)](),'agentId':_0x4066f4,'action':_0x1ffc32['type'],'command':_0x1ffc32['command']||_0x1ffc32[_0x5b9706(0x2d4)],'success':_0x151c93['success'],'executionTime':_0x151c93['executionTime']||0x0,'workingDirectory':_0x151c93[_0x5b9706(0x24a)]};this['commandHistory'][_0x5b9706(0x27a)](_0x5263d4),this['commandHistory'][_0x5b9706(0x316)]>0x64&&(this[_0x5b9706(0x2b5)]=this[_0x5b9706(0x2b5)]['slice'](-0x64));}['getSupportedActions'](){const _0x4de6b7=a0_0x189b04;return[_0x4de6b7(0x2a3),'change-directory',_0x4de6b7(0x1f2),_0x4de6b7(0x2cf),'get-working-directory'];}['getParameterSchema'](){const _0x567de9=a0_0x189b04;return{'type':_0x567de9(0x2ab),'properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'command':{'type':'string'},'directory':{'type':_0x567de9(0x28a)}},'required':['type']}},'timeout':{'type':_0x567de9(0x2b4),'minimum':0x3e8,'maximum':this[_0x567de9(0x250)]},'async':{'type':_0x567de9(0x23c)}},'required':[_0x567de9(0x31d)]};}['getCommandHistory'](_0x500d2a=null){const _0x16eed2=a0_0x189b04;if(_0x500d2a)return this['commandHistory'][_0x16eed2(0x2fc)](_0x396c20=>_0x396c20[_0x16eed2(0x1ec)]===_0x500d2a);return[...this['commandHistory']];}['clearWorkingDirectory'](_0x41ea60){const _0x194131=a0_0x189b04;for(const [_0x3b1061]of this['workingDirectories']){_0x3b1061['startsWith'](_0x41ea60+'-')&&this['workingDirectories'][_0x194131(0x28f)](_0x3b1061);}}[a0_0x189b04(0x1f4)](_0x3b5cdb,_0x47364c=null){const _0x174a5a=a0_0x189b04,_0x234867=_0x3b5cdb+'-'+(_0x47364c||'default');return this[_0x174a5a(0x2ff)][_0x174a5a(0x2d7)](_0x234867)||_0x47364c||process[_0x174a5a(0x1eb)]();}[a0_0x189b04(0x295)](){const _0x5b223a=a0_0x189b04;this[_0x5b223a(0x2ac)]=process[_0x5b223a(0x1e8)];if(process['platform']===_0x5b223a(0x2f2)){if(process['env']['PSModulePath'])this[_0x5b223a(0x230)]=_0x5b223a(0x2af);else process[_0x5b223a(0x204)]['SHELL']&&process[_0x5b223a(0x204)]['SHELL']['includes']('bash')?this[_0x5b223a(0x230)]='bash':this['detectedTerminal']=_0x5b223a(0x279);}else process['platform']===_0x5b223a(0x20a)?this['detectedTerminal']=_0x5b223a(0x2f5):this[_0x5b223a(0x230)]=_0x5b223a(0x2f5);this[_0x5b223a(0x2d2)]?.[_0x5b223a(0x2f7)]('Terminal\x20detected',{'platform':this[_0x5b223a(0x2ac)],'terminal':this[_0x5b223a(0x230)],'shell':process[_0x5b223a(0x204)]['SHELL']});}async[a0_0x189b04(0x1fe)](_0x59ac38,_0x5a7568={}){const _0x234bf8=a0_0x189b04,_0x33a0da=_0x59ac38[_0x234bf8(0x323)](),_0x26a109=this['analyzeCommandCompatibility'](_0x33a0da);this['logger']?.[_0x234bf8(0x2f7)]('Command\x20compatibility\x20analysis',{'command':_0x33a0da,'detectedTerminal':_0x26a109[_0x234bf8(0x230)],'commandType':_0x26a109['commandType'],'commandCategory':_0x26a109['commandCategory'],'compatible':_0x26a109[_0x234bf8(0x2e7)],'issues':_0x26a109[_0x234bf8(0x258)],'suggestedAction':_0x26a109[_0x234bf8(0x214)],'confidence':_0x26a109['confidence']});if(_0x26a109['compatible'])return _0x59ac38;let _0x172a1d=null;if(this[_0x234bf8(0x230)]==='cmd')_0x172a1d=this[_0x234bf8(0x23a)](_0x33a0da);else{if(this['detectedTerminal']===_0x234bf8(0x2af))_0x172a1d=this['translateToPowerShell'](_0x33a0da);else this[_0x234bf8(0x230)]==='bash'&&(_0x172a1d=this[_0x234bf8(0x22b)](_0x33a0da));}if(_0x172a1d&&this['isSimpleCommand'](_0x33a0da))return this[_0x234bf8(0x2d2)]?.[_0x234bf8(0x2f7)](_0x234bf8(0x2dc),{'original':_0x59ac38,'translated':_0x172a1d,'method':'simple'}),_0x172a1d;if(_0x5a7568[_0x234bf8(0x251)]||_0x5a7568['toolsRegistry']&&_0x5a7568['agentId']){this[_0x234bf8(0x2d2)]?.['info']('Attempting\x20AI\x20translation\x20for\x20complex\x20command',{'command':_0x59ac38[_0x234bf8(0x243)](0x0,0x64)+'...','hasAiService':!!_0x5a7568['aiService'],'hasToolsRegistry':!!_0x5a7568['toolsRegistry'],'agentId':_0x5a7568['agentId']});try{const _0x12a593=await this[_0x234bf8(0x313)](_0x59ac38,_0x5a7568);if(_0x12a593&&_0x12a593['trim']()!==_0x59ac38['trim']())return this[_0x234bf8(0x2d2)]?.[_0x234bf8(0x2f7)](_0x234bf8(0x2c0),{'original':_0x59ac38,'translated':_0x12a593,'method':'ai'}),_0x12a593;else this['logger']?.['warn'](_0x234bf8(0x222),{'original':_0x59ac38,'translated':_0x12a593});}catch(_0x362dfb){this['logger']?.[_0x234bf8(0x281)](_0x234bf8(0x2bc),{'original':_0x59ac38,'error':_0x362dfb[_0x234bf8(0x285)],'stack':_0x362dfb[_0x234bf8(0x225)]});}}else this['logger']?.['warn'](_0x234bf8(0x22e),{'hasAiService':!!_0x5a7568[_0x234bf8(0x251)],'hasToolsRegistry':!!_0x5a7568['toolsRegistry'],'hasAgentId':!!_0x5a7568[_0x234bf8(0x1ec)],'contextKeys':Object['keys'](_0x5a7568)});return _0x172a1d||_0x59ac38;}['isSimpleCommand'](_0x55876b){const _0x1f0758=a0_0x189b04,_0x107602=_0x55876b[_0x1f0758(0x267)]();if(_0x55876b[_0x1f0758(0x232)]('\x5cn')||_0x55876b[_0x1f0758(0x232)]('\x5cr')||_0x55876b['includes']('\x5ct'))return![];if(_0x55876b['includes']('\x0a')||_0x55876b[_0x1f0758(0x232)]('\x0d'))return![];if(_0x55876b[_0x1f0758(0x232)](_0x1f0758(0x318))||_0x55876b['includes'](_0x1f0758(0x2ea))||_0x55876b['includes']('main()'))return![];if(_0x55876b['includes']('def\x20')||_0x55876b[_0x1f0758(0x232)]('function\x20')||_0x55876b[_0x1f0758(0x232)](_0x1f0758(0x277)))return![];if(_0x55876b[_0x1f0758(0x232)]('echo\x20\x27')&&!_0x55876b['includes'](_0x1f0758(0x1fc)))return![];const _0x534877=_0x55876b[_0x1f0758(0x25e)](/'([^']*)'/);if(_0x534877&&_0x534877[0x1][_0x1f0758(0x316)]>0x32)return![];if(this[_0x1f0758(0x230)]==='cmd'&&_0x55876b['includes']('>')&&_0x55876b['includes']('/')&&!_0x55876b['includes']('\x5c'))return![];if(_0x55876b[_0x1f0758(0x232)]('\x20&&\x20')||_0x55876b[_0x1f0758(0x232)](_0x1f0758(0x257))||_0x55876b[_0x1f0758(0x232)](';\x20'))return![];if(_0x55876b['includes']('$(')||_0x55876b[_0x1f0758(0x232)]('`')||_0x55876b[_0x1f0758(0x232)]('{')||_0x55876b['includes']('['))return![];if(_0x107602['includes']('for\x20')||_0x107602['includes'](_0x1f0758(0x260))||_0x107602['includes']('if\x20'))return![];if(_0x107602[_0x1f0758(0x232)]('export ')||_0x107602['includes'](_0x1f0758(0x2ba)))return![];if(_0x55876b['includes']('\x20|\x20')||_0x55876b['includes']('\x20>\x20&'))return![];return!![];}async['translateCommandWithAI'](_0x55f140,_0x23d2a4){const _0x569311=a0_0x189b04;let _0x5d6c55=_0x23d2a4[_0x569311(0x251)];if(!_0x5d6c55&&_0x23d2a4[_0x569311(0x26b)]&&_0x23d2a4[_0x569311(0x1ec)]){const _0x3ed695=_0x23d2a4['messageProcessor'];_0x3ed695&&_0x3ed695[_0x569311(0x251)]&&(_0x5d6c55=_0x3ed695[_0x569311(0x251)]);}if(!_0x5d6c55)throw new Error('AI\x20service\x20not\x20available\x20for\x20command\x20translation');const _0x4cd675=this[_0x569311(0x2f0)](_0x55f140),_0x54411e=_0x569311(0x2b2);try{const _0x4bc0f5=await _0x5d6c55[_0x569311(0x2ee)](_0x54411e,_0x4cd675,{'agentId':_0x23d2a4['agentId'],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x23d2a4[_0x569311(0x317)],'customApiKeys':_0x23d2a4[_0x569311(0x2b0)],'platformProvided':_0x23d2a4['platformProvided']}),_0x4b18ce=this[_0x569311(0x26e)](_0x4bc0f5[_0x569311(0x21a)]);return this['logger']?.['debug'](_0x569311(0x301),{'original':_0x55f140,'translated':_0x4b18ce,'model':_0x54411e,'terminal':this[_0x569311(0x230)]}),_0x4b18ce;}catch(_0x56c1a7){this['logger']?.['error'](_0x569311(0x2df),{'command':_0x55f140,'terminal':this[_0x569311(0x230)],'error':_0x56c1a7['message']});throw _0x56c1a7;}}[a0_0x189b04(0x2f0)](_0x672c20){const _0x27d783=a0_0x189b04,_0x59d305={'cmd':'Windows\x20Command\x20Prompt\x20(cmd.exe)','powershell':'Windows\x20PowerShell','bash':_0x27d783(0x1e1)},_0x472897=_0x59d305[this['detectedTerminal']]||this['detectedTerminal'],_0x369c9b=this['analyzeCommandCompatibility'](_0x672c20);let _0x5d628d=_0x27d783(0x27c)+_0x472897+':\x0a\x0aORIGINAL\x20COMMAND:\x0a```\x0a'+_0x672c20+_0x27d783(0x221)+_0x369c9b['commandType']+'\x0a-\x20Category:\x20'+_0x369c9b['commandCategory']+_0x27d783(0x28c)+_0x472897+'\x0a-\x20Compatibility\x20Issues:\x20'+(_0x369c9b[_0x27d783(0x258)]['join'](',\x20')||_0x27d783(0x2d6));return _0x369c9b[_0x27d783(0x300)]==='unix'&&_0x369c9b[_0x27d783(0x24b)]&&_0x369c9b[_0x27d783(0x24b)][this['detectedTerminal']]&&(_0x5d628d+='\x0a-\x20Suggested\x20Alternative:\x20'+_0x369c9b['alternatives'][this['detectedTerminal']]),_0x5d628d+=_0x27d783(0x30b)+_0x472897+_0x27d783(0x1e6),_0x5d628d;}['extractTranslatedCommand'](_0x3056dc){const _0x5d3c4b=a0_0x189b04;let _0x3cec34=_0x3056dc[_0x5d3c4b(0x30c)](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x3cec34=_0x3cec34['replace'](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x1cc883=_0x3cec34['trim']()[_0x5d3c4b(0x29b)]('\x0a');return _0x1cc883['length']>0x1&&!_0x3cec34[_0x5d3c4b(0x232)]('&&')&&!_0x3cec34['includes']('||')&&(_0x3cec34=_0x1cc883[0x0][_0x5d3c4b(0x323)]()),_0x3cec34[_0x5d3c4b(0x323)]();}[a0_0x189b04(0x2a5)](_0x459419){const _0x45c885=a0_0x189b04,_0x13fef9=this[_0x45c885(0x284)](_0x459419),_0x2457ec=this['isCommandCompatibleWithTerminal'](_0x13fef9,this['detectedTerminal']);return{'compatible':_0x2457ec,'detectedTerminal':this[_0x45c885(0x230)],'commandType':_0x13fef9[_0x45c885(0x2c2)],'commandCategory':_0x13fef9['category'],'specificIssues':_0x13fef9['issues'],'suggestedAction':_0x2457ec?'execute':'translate','confidence':_0x13fef9[_0x45c885(0x256)]};}[a0_0x189b04(0x25c)](_0x27da0f){const _0x441441=a0_0x189b04;return this['analyzeCommandCompatibility'](_0x27da0f)[_0x441441(0x2e7)];}['classifyCommand'](_0x4f19b2){const _0x1d40c7=a0_0x189b04,_0x586b56=_0x4f19b2[_0x1d40c7(0x267)]()['trim'](),_0x191672=_0x586b56['split']('\x20')[0x0],_0x5b886d=[];let _0x3bafda=0.9;const _0x4eb46e={'ls':{'category':_0x1d40c7(0x22a),'alternatives':{'cmd':_0x1d40c7(0x2fa),'powershell':_0x1d40c7(0x26d)}},'cat':{'category':_0x1d40c7(0x2b3),'alternatives':{'cmd':'type','powershell':'Get-Content'}},'grep':{'category':'text-search','alternatives':{'cmd':'findstr','powershell':'Select-String'}},'find':{'category':'file-search','alternatives':{'cmd':'dir\x20/s','powershell':_0x1d40c7(0x2cc)}},'head':{'category':_0x1d40c7(0x2b3),'alternatives':{'cmd':_0x1d40c7(0x309),'powershell':'Get-Content\x20-Head'}},'tail':{'category':'file-viewing','alternatives':{'cmd':'more\x20+n','powershell':_0x1d40c7(0x2bf)}},'wc':{'category':'text-analysis','alternatives':{'cmd':'find\x20/c','powershell':'Measure-Object'}},'cp':{'category':_0x1d40c7(0x242),'alternatives':{'cmd':'copy','powershell':'Copy-Item'}},'mv':{'category':_0x1d40c7(0x224),'alternatives':{'cmd':_0x1d40c7(0x2c3),'powershell':'Move-Item'}},'rm':{'category':'file-delete','alternatives':{'cmd':'del','powershell':_0x1d40c7(0x27e)}},'mkdir':{'category':'directory-create','alternatives':{'cmd':'mkdir','powershell':_0x1d40c7(0x24d)}},'rmdir':{'category':'directory-delete','alternatives':{'cmd':_0x1d40c7(0x2d8),'powershell':'Remove-Item'}},'touch':{'category':_0x1d40c7(0x21e),'alternatives':{'cmd':'type\x20nul\x20>','powershell':_0x1d40c7(0x296)}},'chmod':{'category':'permissions','alternatives':{'cmd':'icacls','powershell':_0x1d40c7(0x228)}},'chown':{'category':'ownership','alternatives':{'cmd':'takeown','powershell':_0x1d40c7(0x228)}},'ps':{'category':'process-list','alternatives':{'cmd':_0x1d40c7(0x2be),'powershell':_0x1d40c7(0x1f9)}},'kill':{'category':'process-kill','alternatives':{'cmd':_0x1d40c7(0x28b),'powershell':_0x1d40c7(0x1f1)}},'killall':{'category':'process-kill','alternatives':{'cmd':_0x1d40c7(0x29d),'powershell':_0x1d40c7(0x2c9)}},'top':{'category':_0x1d40c7(0x27f),'alternatives':{'cmd':'tasklist','powershell':_0x1d40c7(0x310)}},'wget':{'category':'download','alternatives':{'cmd':_0x1d40c7(0x218),'powershell':'Invoke-WebRequest'}},'curl':{'category':'http-client','alternatives':{'cmd':_0x1d40c7(0x218),'powershell':'Invoke-RestMethod'}},'ping':{'category':_0x1d40c7(0x208),'alternatives':{'cmd':_0x1d40c7(0x31b),'powershell':'Test-NetConnection'}},'awk':{'category':_0x1d40c7(0x2ef),'alternatives':{'cmd':'for\x20/f','powershell':'ForEach-Object'}},'sed':{'category':'text-edit','alternatives':{'cmd':_0x1d40c7(0x2b8),'powershell':'native'}},'sort':{'category':_0x1d40c7(0x22f),'alternatives':{'cmd':'sort','powershell':_0x1d40c7(0x276)}},'uniq':{'category':_0x1d40c7(0x211),'alternatives':{'cmd':_0x1d40c7(0x2d0),'powershell':'Sort-Object\x20-Unique'}},'pwd':{'category':'directory-current','alternatives':{'cmd':'cd','powershell':_0x1d40c7(0x328)}},'whoami':{'category':_0x1d40c7(0x2e6),'alternatives':{'cmd':_0x1d40c7(0x21f),'powershell':'whoami'}},'env':{'category':'environment','alternatives':{'cmd':'set','powershell':_0x1d40c7(0x29e)}},'export':{'category':'environment','alternatives':{'cmd':'set','powershell':_0x1d40c7(0x297)}},'source':{'category':_0x1d40c7(0x2d1),'alternatives':{'cmd':'call','powershell':'.\x20'}},'tar':{'category':'archive','alternatives':{'cmd':'7z','powershell':_0x1d40c7(0x24c)}},'zip':{'category':_0x1d40c7(0x27d),'alternatives':{'cmd':_0x1d40c7(0x240),'powershell':'Compress-Archive'}},'unzip':{'category':_0x1d40c7(0x27d),'alternatives':{'cmd':_0x1d40c7(0x321),'powershell':_0x1d40c7(0x2fb)}},'df':{'category':'disk-info','alternatives':{'cmd':_0x1d40c7(0x314),'powershell':'Get-WmiObject\x20-Class\x20Win32_LogicalDisk'}},'du':{'category':'disk-usage','alternatives':{'cmd':'dir\x20/s','powershell':'Get-ChildItem\x20-Recurse\x20|\x20Measure-Object'}},'free':{'category':_0x1d40c7(0x2aa),'alternatives':{'cmd':'systeminfo','powershell':_0x1d40c7(0x263)}},'uname':{'category':_0x1d40c7(0x246),'alternatives':{'cmd':'systeminfo','powershell':_0x1d40c7(0x231)}}},_0x2d960d={'dir':{'category':_0x1d40c7(0x22a),'alternatives':{'unix':'ls','powershell':_0x1d40c7(0x26d)}},'type':{'category':_0x1d40c7(0x2b3),'alternatives':{'unix':_0x1d40c7(0x2e9),'powershell':'Get-Content'}},'copy':{'category':_0x1d40c7(0x242),'alternatives':{'unix':'cp','powershell':'Copy-Item'}},'move':{'category':_0x1d40c7(0x224),'alternatives':{'unix':'mv','powershell':'Move-Item'}},'del':{'category':'file-delete','alternatives':{'unix':'rm','powershell':'Remove-Item'}},'tasklist':{'category':'process-list','alternatives':{'unix':'ps','powershell':_0x1d40c7(0x1f9)}},'taskkill':{'category':_0x1d40c7(0x252),'alternatives':{'unix':_0x1d40c7(0x322),'powershell':_0x1d40c7(0x1f1)}},'findstr':{'category':'text-search','alternatives':{'unix':_0x1d40c7(0x2fe),'powershell':_0x1d40c7(0x264)}}},_0x34c0f7={'get-childitem':{'category':'file-listing','alternatives':{'unix':'ls','cmd':_0x1d40c7(0x2fa)}},'get-content':{'category':_0x1d40c7(0x2b3),'alternatives':{'unix':_0x1d40c7(0x2e9),'cmd':'type'}},'copy-item':{'category':'file-copy','alternatives':{'unix':'cp','cmd':_0x1d40c7(0x329)}},'move-item':{'category':'file-move','alternatives':{'unix':'mv','cmd':_0x1d40c7(0x2c3)}},'remove-item':{'category':_0x1d40c7(0x201),'alternatives':{'unix':'rm','cmd':'del'}},'get-process':{'category':_0x1d40c7(0x30d),'alternatives':{'unix':'ps','cmd':_0x1d40c7(0x2be)}},'stop-process':{'category':'process-kill','alternatives':{'unix':'kill','cmd':'taskkill'}}};let _0x45784d='unknown',_0x42faa8='unknown',_0x457af4={};if(_0x4eb46e[_0x191672])_0x45784d=_0x1d40c7(0x21b),_0x42faa8=_0x4eb46e[_0x191672]['category'],_0x457af4=_0x4eb46e[_0x191672][_0x1d40c7(0x24b)];else{if(_0x2d960d[_0x191672])_0x45784d=_0x1d40c7(0x25d),_0x42faa8=_0x2d960d[_0x191672]['category'],_0x457af4=_0x2d960d[_0x191672][_0x1d40c7(0x24b)];else{if(_0x34c0f7[_0x191672])_0x45784d=_0x1d40c7(0x2af),_0x42faa8=_0x34c0f7[_0x191672]['category'],_0x457af4=_0x34c0f7[_0x191672][_0x1d40c7(0x24b)];else{const _0xdd0230=[_0x1d40c7(0x2ec),'cd',_0x1d40c7(0x2a9),'help'];_0xdd0230['includes'](_0x191672)?(_0x45784d='universal',_0x42faa8='builtin'):(_0x45784d='unknown',_0x3bafda=0.3);}}}return _0x4f19b2['includes']('\x27')&&!_0x4f19b2[_0x1d40c7(0x232)]('\x22')&&_0x5b886d['push']('single-quotes-problematic'),_0x4f19b2[_0x1d40c7(0x232)]('/')&&!_0x4f19b2['includes']('\x5c')&&!_0x4f19b2[_0x1d40c7(0x232)](_0x1d40c7(0x229))&&_0x4f19b2[_0x1d40c7(0x232)]('>')&&_0x5b886d[_0x1d40c7(0x27a)]('unix-style-paths'),(_0x4f19b2['includes']('\x5cn')||_0x4f19b2['includes']('\x5ct'))&&_0x5b886d[_0x1d40c7(0x27a)](_0x1d40c7(0x2a0)),(_0x4f19b2['includes']('\x20&&\x20')||_0x4f19b2[_0x1d40c7(0x232)](_0x1d40c7(0x257))||_0x4f19b2['includes'](';'))&&_0x5b886d['push']('command-chaining'),{'type':_0x45784d,'category':_0x42faa8,'alternatives':_0x457af4,'issues':_0x5b886d,'confidence':_0x3bafda,'firstWord':_0x191672,'fullCommand':_0x4f19b2};}['isCommandCompatibleWithTerminal'](_0x364534,_0x13489d){const _0x121b77=a0_0x189b04;switch(_0x13489d){case'cmd':if(_0x364534['type']===_0x121b77(0x21b))return![];if(_0x364534['issues'][_0x121b77(0x232)]('single-quotes-problematic'))return![];if(_0x364534[_0x121b77(0x20b)][_0x121b77(0x232)]('unix-style-paths'))return![];return _0x364534[_0x121b77(0x2c2)]==='windows-cmd'||_0x364534[_0x121b77(0x2c2)]===_0x121b77(0x27b);case'powershell':if(_0x364534['type']==='unix'&&!_0x364534[_0x121b77(0x24b)][_0x121b77(0x2af)])return![];return!![];case _0x121b77(0x2f5):if(_0x364534[_0x121b77(0x2c2)]==='windows-cmd')return![];return _0x364534['type']==='unix'||_0x364534['type']===_0x121b77(0x27b);default:return![];}}[a0_0x189b04(0x23a)](_0x18dbc7){const _0x9a8233=a0_0x189b04;let _0x38faa3=_0x18dbc7;const _0x1b07d8=new Map([[/^ls\s*$/,_0x9a8233(0x2fa)],[/^ls\s+-la?$/,_0x9a8233(0x2fa)],[/^ls\s+-l$/,_0x9a8233(0x2fa)],[/^ls\s+-a$/,_0x9a8233(0x2dd)],[/^cat\s+(.+)$/,'type\x20$1'],[/^cp\s+(.+)\s+(.+)$/,_0x9a8233(0x2ed)],[/^mv\s+(.+)\s+(.+)$/,_0x9a8233(0x261)],[/^rm\s+(.+)$/,_0x9a8233(0x237)],[/^mkdir\s+(.+)$/,_0x9a8233(0x270)],[/^rmdir\s+(.+)$/,'rmdir\x20$1'],[/^ps\s*$/,'tasklist'],[/^kill\s+(.+)$/,'taskkill\x20/PID\x20$1'],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,_0x9a8233(0x21f)],[/^ping\s+(.+)$/,_0x9a8233(0x1e9)],[/^wget\s+(.+)$/,'curl\x20-O\x20$1'],[/^curl\s+(.+)$/,_0x9a8233(0x1fd)]]);for(const [_0x36a569,_0x15618a]of _0x1b07d8){if(_0x36a569['test'](_0x38faa3)){_0x38faa3=_0x38faa3[_0x9a8233(0x30c)](_0x36a569,_0x15618a);break;}}_0x38faa3=_0x38faa3['replace'](/echo\s+'([^']+)'\s*>/g,_0x9a8233(0x262)),_0x38faa3=_0x38faa3[_0x9a8233(0x30c)](/echo\s+'([^']+)'$/g,'echo\x20\x22$1\x22');if(_0x38faa3[_0x9a8233(0x232)]('echo\x20\x27')&&_0x38faa3['includes']('\x5cn')){const _0x1fefb5=_0x38faa3['match'](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0x1fefb5){const _0x4a5f2e=_0x1fefb5[0x1][_0x9a8233(0x30c)](/\\n/g,'\x0a'),_0x454a2a=_0x1fefb5[0x2],_0x1dca7e=_0x4a5f2e['split']('\x0a');_0x38faa3='('+_0x1dca7e[_0x9a8233(0x2fd)](_0x375a29=>_0x9a8233(0x253)+_0x375a29)['join']('\x20&\x20')+')\x20>\x20'+_0x454a2a;}}return this['logger']?.['info']('Command\x20translated\x20for\x20Windows\x20CMD',{'original':_0x18dbc7,'translated':_0x38faa3}),_0x38faa3;}[a0_0x189b04(0x302)](_0x5a38d9){const _0x300045=a0_0x189b04;let _0xc0c375=_0x5a38d9;const _0x4f3c3f=new Map([[/^ls\s*$/,'Get-ChildItem'],[/^ls\s+-la?$/,'Get-ChildItem\x20-Force'],[/^cat\s+(.+)$/,_0x300045(0x320)],[/^cp\s+(.+)\s+(.+)$/,_0x300045(0x259)],[/^mv\s+(.+)\s+(.+)$/,_0x300045(0x26a)],[/^rm\s+(.+)$/,'Remove-Item\x20$1'],[/^pwd\s*$/,_0x300045(0x328)],[/^ps\s*$/,'Get-Process']]);for(const [_0x348112,_0x58283f]of _0x4f3c3f){if(_0x348112[_0x300045(0x265)](_0xc0c375)){_0xc0c375=_0xc0c375['replace'](_0x348112,_0x58283f);break;}}return this['logger']?.['info'](_0x300045(0x255),{'original':_0x5a38d9,'translated':_0xc0c375}),_0xc0c375;}[a0_0x189b04(0x22b)](_0x31de51){const _0x4eae71=a0_0x189b04;let _0xd9d861=_0x31de51;const _0x464f8a=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,_0x4eae71(0x2ca)],[/^type\s+(.+)$/,'cat\x20$1'],[/^copy\s+(.+)\s+(.+)$/,'cp\x20$1\x20$2'],[/^move\s+(.+)\s+(.+)$/,_0x4eae71(0x2e3)],[/^del\s+(.+)$/,_0x4eae71(0x2ae)],[/^tasklist\s*$/,'ps'],[/^cd\s*$/,_0x4eae71(0x248)]]);for(const [_0x34829a,_0x568237]of _0x464f8a){if(_0x34829a[_0x4eae71(0x265)](_0xd9d861)){_0xd9d861=_0xd9d861['replace'](_0x34829a,_0x568237);break;}}return _0xd9d861;}async['cleanup'](_0x23be49){}async[a0_0x189b04(0x326)](_0x10f4f1,_0x27084a,_0xce812b={}){const _0xf2fe27=a0_0x189b04,{agentId:_0x1571bb,context:_0x20ebe0}=_0xce812b;if(!_0x1571bb)throw new Error('agentId\x20is\x20required\x20for\x20background\x20commands');const _0x47eb39=this[_0xf2fe27(0x2b7)](_0x1571bb),_0x841d0c=_0x47eb39['filter'](_0x2765e6=>_0x2765e6['state']===_0xf2fe27(0x219)||_0x2765e6[_0xf2fe27(0x2a8)]==='waiting_for_input');if(_0x841d0c[_0xf2fe27(0x316)]>=this[_0xf2fe27(0x2e5)])throw new Error('Maximum\x20background\x20commands\x20per\x20agent\x20exceeded\x20('+this['MAX_BACKGROUND_COMMANDS_PER_AGENT']+')');const _0x26e576=Array[_0xf2fe27(0x2c8)](this[_0xf2fe27(0x266)]['values']()),_0x1aaddb=_0x26e576[_0xf2fe27(0x2fc)](_0x28332f=>_0x28332f['state']==='running'||_0x28332f[_0xf2fe27(0x2a8)]===_0xf2fe27(0x283));if(_0x1aaddb['length']>=this[_0xf2fe27(0x215)])throw new Error(_0xf2fe27(0x20c)+this[_0xf2fe27(0x215)]+')');const _0x38bb61=_0x1571bb+'-cmd-'+Date['now']()+'-'+ ++this[_0xf2fe27(0x2bd)],_0x334d97=_0x10f4f1;let _0xa90aac;try{_0xa90aac=await this[_0xf2fe27(0x1fe)](_0x10f4f1,{'agentId':_0x1571bb,'toolsRegistry':_0x20ebe0?.[_0xf2fe27(0x26b)],'messageProcessor':_0x20ebe0?.['messageProcessor'],'aiService':_0x20ebe0?.['aiService'],'apiKey':_0x20ebe0?.['apiKey'],'customApiKeys':_0x20ebe0?.['customApiKeys'],'platformProvided':_0x20ebe0?.['platformProvided']});}catch(_0x380d51){this[_0xf2fe27(0x2d2)]?.['warn'](_0xf2fe27(0x2f6),{'originalCommand':_0x334d97,'error':_0x380d51['message']}),_0xa90aac=_0x10f4f1;}this[_0xf2fe27(0x2d2)]?.[_0xf2fe27(0x2f7)](_0xf2fe27(0x29a)+_0xa90aac,{'commandId':_0x38bb61,'agentId':_0x1571bb,'originalCommand':_0x334d97,'workingDirectory':_0x27084a});let _0x1efc4f;if(this['detectedTerminal']==='cmd'||this[_0xf2fe27(0x230)]===_0xf2fe27(0x2af)){const _0x4db3d3=this[_0xf2fe27(0x230)]===_0xf2fe27(0x2af)?'powershell':_0xf2fe27(0x279),_0x35cdb5=this['detectedTerminal']===_0xf2fe27(0x2af)?['-Command',_0xa90aac]:['/c',_0xa90aac];_0x1efc4f=spawn(_0x4db3d3,_0x35cdb5,{'cwd':_0x27084a,'env':{...process[_0xf2fe27(0x204)]},'windowsHide':!![],'stdio':['pipe','pipe',_0xf2fe27(0x2cb)]});}else _0x1efc4f=spawn('sh',['-c',_0xa90aac],{'cwd':_0x27084a,'env':{...process[_0xf2fe27(0x204)]},'stdio':['pipe',_0xf2fe27(0x2cb),_0xf2fe27(0x2cb)]});const _0x304485={'commandId':_0x38bb61,'agentId':_0x1571bb,'pid':_0x1efc4f[_0xf2fe27(0x278)],'command':_0x334d97,'translatedCommand':_0xa90aac,'workingDirectory':_0x27084a,'startTime':new Date()['toISOString'](),'state':_0xf2fe27(0x219),'exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date[_0xf2fe27(0x2e1)](),'promptDetected':null,'process':_0x1efc4f};return this[_0xf2fe27(0x266)][_0xf2fe27(0x311)](_0x38bb61,_0x304485),_0x1efc4f['stdout']['on']('data',_0x4e75da=>{const _0xe122ca=_0xf2fe27,_0x3abf51=_0x4e75da['toString']();_0x304485[_0xe122ca(0x1ed)]+=_0x3abf51,_0x304485['lastOutputTime']=Date[_0xe122ca(0x2e1)]();if(!_0x304485[_0xe122ca(0x20f)]){const _0x5c8317=this['promptDetector'][_0xe122ca(0x325)](_0x304485[_0xe122ca(0x1ed)],'stdout');_0x5c8317&&(_0x304485['promptDetected']=_0x5c8317,_0x304485[_0xe122ca(0x2a8)]='waiting_for_input',this[_0xe122ca(0x2d2)]?.['info']('Prompt\x20detected\x20in\x20background\x20command',{'commandId':_0x38bb61,'agentId':_0x1571bb,'type':_0x5c8317[_0xe122ca(0x2c2)],'matchedText':_0x5c8317['matchedText']}));}}),_0x1efc4f[_0xf2fe27(0x226)]['on']('data',_0x2f3980=>{const _0xcd6e54=_0xf2fe27,_0x3910e8=_0x2f3980[_0xcd6e54(0x2e4)]();_0x304485[_0xcd6e54(0x2c5)]+=_0x3910e8,_0x304485['lastOutputTime']=Date['now']();if(!_0x304485['promptDetected']){const _0x7688ce=this[_0xcd6e54(0x2f9)][_0xcd6e54(0x325)](_0x304485[_0xcd6e54(0x2c5)],_0xcd6e54(0x226));_0x7688ce&&(_0x304485[_0xcd6e54(0x20f)]=_0x7688ce,_0x304485['state']='waiting_for_input',this['logger']?.[_0xcd6e54(0x2f7)](_0xcd6e54(0x1f7),{'commandId':_0x38bb61,'agentId':_0x1571bb,'type':_0x7688ce['type'],'matchedText':_0x7688ce[_0xcd6e54(0x207)]}));}}),_0x1efc4f['on']('exit',(_0x1443b2,_0x3e5623)=>{const _0x5a6a6f=_0xf2fe27;_0x304485[_0x5a6a6f(0x2f1)]=_0x1443b2,_0x304485['state']=_0x1443b2===0x0?_0x5a6a6f(0x290):'failed',_0x304485[_0x5a6a6f(0x2e2)]=new Date()[_0x5a6a6f(0x203)](),this['logger']?.['info']('Background\x20command\x20exited',{'commandId':_0x38bb61,'agentId':_0x1571bb,'exitCode':_0x1443b2,'signal':_0x3e5623,'state':_0x304485['state']});}),_0x1efc4f['on'](_0xf2fe27(0x205),_0x13f788=>{const _0x54ac0d=_0xf2fe27;_0x304485['state']='failed',_0x304485['error']=_0x13f788['message'],_0x304485[_0x54ac0d(0x2e2)]=new Date()[_0x54ac0d(0x203)](),this[_0x54ac0d(0x2d2)]?.[_0x54ac0d(0x205)]('Background\x20command\x20error',{'commandId':_0x38bb61,'agentId':_0x1571bb,'error':_0x13f788['message']});}),{'success':!![],'commandId':_0x38bb61,'pid':_0x1efc4f['pid'],'command':_0x334d97,'translatedCommand':_0xa90aac,'workingDirectory':_0x27084a,'message':_0xf2fe27(0x1ef)+_0x38bb61};}['sendInput'](_0x9059fb,_0x5dab5b,_0xba30c0){const _0x31c303=a0_0x189b04,_0x5d6097=this[_0x31c303(0x26c)](_0x9059fb,_0xba30c0);if(_0x5d6097['state']==='completed'||_0x5d6097['state']==='failed')throw new Error('Cannot\x20send\x20input\x20to\x20'+_0x5d6097['state']+_0x31c303(0x28e));if(!_0x5d6097['process']||_0x5d6097['process']['killed'])throw new Error('Command\x20process\x20is\x20not\x20running');const _0x3cd459=_0x5dab5b[_0x31c303(0x30e)]('\x0a')?_0x5dab5b:_0x5dab5b+'\x0a';return _0x5d6097[_0x31c303(0x306)]['stdin']['write'](_0x3cd459),this['logger']?.['info']('Input\x20sent\x20to\x20background\x20command',{'commandId':_0x9059fb,'agentId':_0xba30c0,'inputLength':_0x5dab5b[_0x31c303(0x316)]}),_0x5d6097[_0x31c303(0x2a8)]==='waiting_for_input'&&(_0x5d6097[_0x31c303(0x2a8)]='running',_0x5d6097[_0x31c303(0x20f)]=null),{'success':!![],'commandId':_0x9059fb,'message':_0x31c303(0x23e)};}[a0_0x189b04(0x31a)](_0x32fc9e,_0x272852){const _0x2f1a28=a0_0x189b04,_0x2dadce=this['validateCommandOwnership'](_0x32fc9e,_0x272852),_0x373cbf=Date['now']()-_0x2dadce['lastOutputTime'];return{'success':!![],'commandId':_0x32fc9e,'pid':_0x2dadce[_0x2f1a28(0x278)],'command':_0x2dadce['command'],'state':_0x2dadce['state'],'exitCode':_0x2dadce[_0x2f1a28(0x2f1)],'startTime':_0x2dadce['startTime'],'endTime':_0x2dadce[_0x2f1a28(0x2e2)],'workingDirectory':_0x2dadce[_0x2f1a28(0x24a)],'stdout':_0x2dadce[_0x2f1a28(0x1ed)],'stderr':_0x2dadce['stderrBuffer'],'stdoutLength':_0x2dadce['stdoutBuffer']['length'],'stderrLength':_0x2dadce[_0x2f1a28(0x2c5)]['length'],'lastOutputTime':_0x2dadce['lastOutputTime'],'timeSinceLastOutput':_0x373cbf,'promptDetected':!!_0x2dadce['promptDetected'],'promptInfo':_0x2dadce[_0x2f1a28(0x20f)]||undefined};}['killCommand'](_0x2c804b,_0x3acb47){const _0x94fa9b=a0_0x189b04,_0x5a1a16=this['validateCommandOwnership'](_0x2c804b,_0x3acb47);if(_0x5a1a16[_0x94fa9b(0x2a8)]==='completed'||_0x5a1a16[_0x94fa9b(0x2a8)]===_0x94fa9b(0x227))return{'success':!![],'commandId':_0x2c804b,'message':_0x94fa9b(0x2b9),'state':_0x5a1a16[_0x94fa9b(0x2a8)]};if(_0x5a1a16[_0x94fa9b(0x306)]&&!_0x5a1a16[_0x94fa9b(0x306)]['killed'])return _0x5a1a16[_0x94fa9b(0x306)][_0x94fa9b(0x322)](_0x94fa9b(0x271)),setTimeout(()=>{const _0x1a4695=_0x94fa9b;_0x5a1a16['process']&&!_0x5a1a16['process'][_0x1a4695(0x289)]&&_0x5a1a16['process'][_0x1a4695(0x322)](_0x1a4695(0x22d));},0x1388),this[_0x94fa9b(0x2d2)]?.[_0x94fa9b(0x2f7)](_0x94fa9b(0x216),{'commandId':_0x2c804b,'agentId':_0x3acb47}),{'success':!![],'commandId':_0x2c804b,'message':'Command\x20killed\x20successfully'};return{'success':![],'commandId':_0x2c804b,'error':_0x94fa9b(0x2a6)};}['listAgentCommands'](_0x38660e){const _0x323205=a0_0x189b04,_0x2d53c2=this[_0x323205(0x2b7)](_0x38660e);return _0x2d53c2['map'](_0x47a6ae=>({'commandId':_0x47a6ae['commandId'],'command':_0x47a6ae[_0x323205(0x31f)],'state':_0x47a6ae[_0x323205(0x2a8)],'pid':_0x47a6ae[_0x323205(0x278)],'exitCode':_0x47a6ae['exitCode'],'startTime':_0x47a6ae[_0x323205(0x2b6)],'endTime':_0x47a6ae['endTime'],'promptDetected':!!_0x47a6ae['promptDetected'],'timeSinceLastOutput':Date['now']()-_0x47a6ae[_0x323205(0x213)]}));}[a0_0x189b04(0x2b7)](_0x56279b){const _0x5488a5=a0_0x189b04;return Array[_0x5488a5(0x2c8)](this['commandTracker']['values']())[_0x5488a5(0x2fc)](_0x486cf1=>_0x486cf1[_0x5488a5(0x1ec)]===_0x56279b);}[a0_0x189b04(0x26c)](_0x3d65d1,_0xbfa380){const _0x5ef3c6=a0_0x189b04,_0x357391=this['commandTracker']['get'](_0x3d65d1);if(!_0x357391)throw new Error('Command\x20not\x20found:\x20'+_0x3d65d1);if(_0x357391['agentId']!==_0xbfa380)throw new Error(_0x5ef3c6(0x254)+_0x357391[_0x5ef3c6(0x1ec)]);return _0x357391;}async[a0_0x189b04(0x324)](_0x14b863){const _0x4dbb85=a0_0x189b04,_0x2e6181=this[_0x4dbb85(0x2b7)](_0x14b863);let _0x4b2b5f=0x0,_0x1b90d1=0x0;for(const _0x59ef14 of _0x2e6181){_0x59ef14['process']&&!_0x59ef14[_0x4dbb85(0x306)]['killed']&&(_0x59ef14[_0x4dbb85(0x306)]['kill']('SIGTERM'),_0x4b2b5f++,setTimeout(()=>{const _0x1de023=_0x4dbb85;_0x59ef14['process']&&!_0x59ef14[_0x1de023(0x306)]['killed']&&_0x59ef14[_0x1de023(0x306)][_0x1de023(0x322)](_0x1de023(0x22d));},0xbb8)),this['commandTracker']['delete'](_0x59ef14['commandId']),_0x1b90d1++;}return this[_0x4dbb85(0x2d2)]?.['info'](_0x4dbb85(0x312),{'agentId':_0x14b863,'killedCount':_0x4b2b5f,'removedCount':_0x1b90d1}),{'success':!![],'agentId':_0x14b863,'killedCount':_0x4b2b5f,'removedCount':_0x1b90d1,'message':_0x4dbb85(0x294)+_0x1b90d1+_0x4dbb85(0x268)+_0x14b863};}[a0_0x189b04(0x1fb)](){const _0x122a35=a0_0x189b04,_0x100412=Date['now']();let _0x5bb03a=0x0;for(const [_0x976545,_0x203599]of this[_0x122a35(0x266)]['entries']()){if(_0x203599['state']!==_0x122a35(0x290)&&_0x203599['state']!=='failed')continue;const _0xdb2043=new Date(_0x203599['startTime'])[_0x122a35(0x212)](),_0x5c5f6e=(_0x100412-_0xdb2043)/0x3e8/0x3c;_0x5c5f6e>this[_0x122a35(0x2de)]&&(this['commandTracker'][_0x122a35(0x28f)](_0x976545),_0x5bb03a++);}return _0x5bb03a>0x0&&this[_0x122a35(0x2d2)]?.[_0x122a35(0x2f7)](_0x122a35(0x26f),{'removedCount':_0x5bb03a,'ageThresholdMinutes':this['MAX_COMMAND_AGE_MINUTES']}),{'success':!![],'removedCount':_0x5bb03a,'message':_0x122a35(0x294)+_0x5bb03a+_0x122a35(0x272)};}}export default TerminalTool;
|
|
1
|
+
const a0_0x2f90c3=a0_0x1f92;(function(_0x5b5f66,_0x1c9369){const _0x1e9d51=a0_0x1f92,_0x37afc7=_0x5b5f66();while(!![]){try{const _0xae25a4=parseInt(_0x1e9d51(0x103))/0x1+parseInt(_0x1e9d51(0x1d0))/0x2+-parseInt(_0x1e9d51(0x225))/0x3+parseInt(_0x1e9d51(0x133))/0x4+-parseInt(_0x1e9d51(0x13d))/0x5+-parseInt(_0x1e9d51(0x19b))/0x6+parseInt(_0x1e9d51(0x23f))/0x7;if(_0xae25a4===_0x1c9369)break;else _0x37afc7['push'](_0x37afc7['shift']());}catch(_0x14a93e){_0x37afc7['push'](_0x37afc7['shift']());}}}(a0_0x4bfa,0x5b5b6));import{BaseTool}from'./baseTool.js';import a0_0x43ba40 from'../utilities/tagParser.js';import a0_0x2b5068 from'../utilities/directoryAccessManager.js';function a0_0x4bfa(){const _0x3e3315=['DMfSAwrHDgvszwfKqwnJzxnZ','y3vYBa','zMLUzhn0CG','CgXHDgzVCM1qCM92AwrLza','y29TCgf0AwjSzq','q29UDgLUDwuGChjVBxb0','C3LZDgvTlwLUzM8','A2v5CW','CgLUzYaKmq','yMXVy2TLzenVBw1HBMrZ','C3rHDgu','y2XLyxjxB3jRAw5NrgLYzwn0B3j5','Dw5PEc1ZDhLSzs1WyxrOCW','DMfSDwvZ','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','ndm4nZiYmKHOsNLvzG','y2f0zwDVCNK','DhjHBNnSyxrL','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFugH5C2LJywXnzw1VCNK','uhjLC3mGyw55igTLEq','C2vUze1LC3nHz2u','r2v0luXVy2f0Aw9U','y29UDgLUDwu','zgLYic9Z','Dw5RBM93BG','C3vIC3rYAw5N','A2LSBa','zgLYic9H','vgvZDc1ozxrdB25Uzwn0Aw9U','yxbPs2v5','zgvS','q29TChjLC3mTqxjJAgL2zq','rM9YrwfJAc1pyMPLy3q','y29TBwfUzfrYywnRzxi','ihX8ia','DhjHBNnSyxrLq29TBwfUza','nZKXmJLZAuTzBNq','q29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwqSihvZAw5Nig9YAwDPBMfSignVBw1HBMq','q29TBwfUzcbJB21WBgv0zwqGC3vJy2vZC2z1BgX5oIa','rMfPBgvKihrVihbHCNnLihrLCM1PBMfSihbHCMfTzxrLCNm6ia','zxjYB3i','ywXSB3DLzenVBw1HBMrZ','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','EwvZlw5V','cI0GvgfYz2v0ifrLCM1PBMfSoIa','tw92zs1jDgvT','rMfPBgvKihrVignOyw5NzsbKAxjLy3rVCNKGDg8G','C2LUz2XLlxf1B3rLCY1WCM9IBgvTyxrPyW','q29TBwfUzcbHBhjLywr5ihrLCM1PBMf0zwq','CMvIB290','yxjJAgL2zq','r2v0lunVBxb1DgvYsw5MBW','vxnPBMCGquKGDhjHBNnSyxrPB24','u2vSzwn0lvn0CMLUzW','C2nYAxb0lwv4zwn1Dgu','u0Lhs0Lmta','r2v0lunOAwXKsxrLBq','zgv0zwn0uhjVBxb0','y29TBwfUzenHDgvNB3j5','AM9PBG','y29UzMLKzw5Jzq','D29YA2LUz0rPCMvJDg9YAwvZ','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','zgfYD2LU','ihWG','C3vJy2vZCW','y3vZDg9TqxbPs2v5CW','zM9Yic9M','r2v0lvbYB2nLC3m','y2XLyw51Cfn0ywXLq29TBwfUzhm','z2v0u3vWCg9YDgvKqwn0Aw9UCW','ChDK','cJiUifbYzxnLCNzLihrOzsbVCMLNAw5HBcbPBNrLBNqGyw5Kigz1BMn0Aw9UywXPDhKkmY4GsgfUzgXLigzPBguGCgf0AhmSihf1B3rPBMCSigfUzcbZEw50yxGGy29YCMvJDgX5cJqUieLMignYzwf0Aw5NigzPBgvZlcbLBNn1CMuGChjVCgvYigvUy29KAw5NigfUzcbSAw5LigvUzgLUz3mkns4GqwrKCMvZCYb0AguGC3bLy2LMAwmGy29TCgf0AwjPBgL0EsbPC3n1zxmGAwrLBNrPzMLLzcbHyM92zqO2lIbszxr1CM4Gt05mwsb0AguGDhjHBNnSyxrLzcbJB21Tyw5KlcbUB3rOAw5NigvSC2ukcLrsqu5ttefuruqGq09ntufordO','BxmPcI0Gyxn5BMm6ifDOzxrOzxiGDg8GCNvUignVBw1HBMqGyxn5BMnOCM9UB3vZBhKGkhrYDwuVzMfSC2uPcGPcqunlr1jpvu5eienptu1btKqGtufoquDftuvovcaOqwr2yw5JzwqPoGPgB3iGBg9UzY1YDw5UAw5NignVBw1HBMrZicHUCg0GAw5ZDgfSBcWGz2L0ig9WzxjHDgLVBNmSigj1AwXKCYKSihvZzsbIywnRz3jVDw5KignVBw1HBMqGDhjHy2TPBMC6cGOQkNn0yxj0qMfJA2DYB3vUzenVBw1HBMqOy29TBwfUzcWGD29YA2LUz0rPCIWGE2fNzw50swqSignVBNrLEhr9ksOQcI0Gu3rHCNrZignVBw1HBMqGAw4GyMfJA2DYB3vUzcb3AxrOihn0zgLUigTLChqGB3bLBGOTifjLDhvYBNmGy29TBwfUzeLKigzVCIb0CMfJA2LUzWOTie1HEca','Ahr0Cc1JBgLLBNq','C3rHCNruAw1L','C3rKzxjY','Bwf4q29TBwfUzefNzu1PBNv0zxm','BwfW','y29TBwfUza','zMLSzs1TB3zL','z2v0ugfYyw1LDgvYu2nOzw1H','zgvSicqX','D2fPDgLUz19MB3jFAw5WDxq','mJe3otq4meLJBhLPyW','Aw50zwDLCG','C3bLy2LMAwnjC3n1zxm','u3rHCNrPBMCGyMfJA2DYB3vUzcbJB21Tyw5KoIa','AgfSDa','CMf3q29UDgvUDa','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9Yia','oIbJB21Tyw5KigLZihjLCxvPCMvKigzVCIbYDw4Ty29TBwfUza','Dw5PDMvYC2fS','zgvZy3jPChrPB24','mtK4ntu5meTxtejsyq','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','y3vYBcaKmq','zgLYzwn0B3j5lwn1CNjLBNq','q29TBwfUzcbRAwXSzwqGC3vJy2vZC2z1BgX5','zxHPDa','DgfZA2XPC3q','C3rHCNrcywnRz3jVDw5Kq29TBwfUza','C2v0','zgvMia','vgvYBwLUywWGrevcvuC6ifvZAw5NigfNzw50ignVBMzPz3vYzwqGD29YA2LUzYbKAxjLy3rVCNK6','zxHLy3v0zq','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLigzVCIbJB21Tyw5KihrYyw5ZBgf0Aw9U','y3DK','icyMia','ChjVy2vZCW','Dg9tDhjPBMC','zwnOBYaN','zwnOBYaI','BwfPBIGP','uMvTB3zLluL0zw0','y21K','Bg9N','C3rKB3v0','vgvYBwLUywWGrevcvuC6ifvZAw5NigzHBgXIywnRihDVCMTPBMCGzgLYzwn0B3j5oG','y2XLyw51Ca','CM0GlxjMic8','Dg9ju09tDhjPBMC','q3vYCMvUDcb3B3jRAw5NigrPCMvJDg9YEtOG','y3jLyxrLlwrPCMvJDg9YEq','AxneAxjLy3rVCNK','CM0Gjde','sw52B2TLlvjLC3rnzxrOB2q','ufnnB2r1BgvqyxrO','vgLTzw91DcbTDxn0igjLigjLDhDLzw4GmtaWmcbHBMqG','C3rHy2S','ChjVBxb0rgv0zwn0B3i','qMfJA2DYB3vUzcbJB21Tyw5Kihn0yxj0zwqGD2L0AcbjrdOG','ywX0zxjUyxrPDMvZ','rgLYzwn0B3j5ignOyw5NzsbIBg9JA2vKoIa','D2HPBguG','q29UzMLYBwf0Aw9UihbYB21WDa','Ahr0Ca','Cgf0DgvYBG','yNvPBhrPBG','zMLSzs1JCMvHDgu','D2HVyw1P','DgvZDa','Dg9mB3DLCKnHC2u','oIb0ExbLigLZihjLCxvPCMvK','ywDLBNrjzcbPCYbYzxf1AxjLzcbMB3iGyMfJA2DYB3vUzcbJB21Tyw5KCW','Dg9VBhnszwDPC3rYEq','AxnbyNnVBhv0zq','quKGDhjHBNnSyxrPB24GzMfPBgvKlcbMywXSAw5NigjHy2SGDg8GC2LTCgXLihrYyw5ZBgf0Aw9U','z2v0q29TBwfUzfn0yxr1CW','BM93','BgfZDe91Dhb1DfrPBwu','ChjVy2vZCY1SAxn0','zwnOBYaIjdeIid4','ywDLBNrjza','zwnOBYa','zwnOBYaLvvnfuK5btuuL','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUza','zw52','Aw5KzxG','D3jPDgu','q2HHBMDLzcbKAxjLy3rVCNKGDg8G','DhjPBq','A2LSBgvK','ywrKvg9iAxn0B3j5','zgLYzwn0B3j5lwnYzwf0zq','igL0zw1ZigLUia','C29YDcaVDw5PCxvL','z2v0v29YA2LUz0rPCMvJDg9YEq','u0Lhvevstq','y29TBwfUzeHPC3rVCNK','Aw5PDgLHBgL6zvrLCM1PBMfSrgv0zwn0Aw9U','y29TCgXLDgvK','BwvTB3j5lwLUzM8','CgLWzq','C2vSzwn0Aw9U','CMvWBgfJzq','y29UzMLYBwf0Aw9U','q29TBwfUzcbZCgf3BIbLCNjVCJOG','y29UDgvUDa','zwnOBW','AxndB21Tyw5Kq29TCgf0AwjSzvDPDgHuzxjTAw5HBa','zgv0zwn0zwruzxjTAw5HBa','y2f0','ywn0Aw9UCW','zgvIDwC','z3b0ltqTBwLUAq','q29TBwfUzcbJB21WyxrPyMLSAxr5igfUywX5C2LZ','zxHPDenVzgu','mJCYnty1nNzMzKnpCW','Bg9Nz2vY','zw5KvgLTzq','DgfZA2TPBgW','AxnbC3LUyW','AxnZDwvZ','Bwf4qMfJA2DYB3vUzenVBw1HBMrZugvYqwDLBNq','sw5WDxqGC2vUDcb0BYbIywnRz3jVDw5KignVBw1HBMq','BgLZDc1KAxjLy3rVCNK','yMfZAa','tgLZDgvKia','cI0Gq2f0zwDVCNK6ia','C2XPy2u','ig9Mia','y3aGjdeGjdi','AxntAw1WBgvdB21Tyw5K','ChjVBxb0rgv0zwn0zwq','DhLWzq','q2fUBM90ihnLBMqGAw5WDxqGDg8G','u3rVCc1qCM9JzxnZ','z2v0','zMfPBgvK','CMvSyxrPDMu','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbqB3DLCLnOzwXS','Dgv4Dc1Kzwr1Cgu','DhjHBNnSyxrLq29TBwfUzfDPDgHbsq','Dgv4Dc1WCM9JzxnZAw5N','zg93BMXVywq','y29TBwfUzfr5Cgu','zw5KC1DPDgG','BwvZC2fNzq','r2v0lunVBNrLBNq','CNvUBMLUzW','Bw92zsaKmsaKmG','cI0Gq29TCgf0AwjPBgL0EsbjC3n1zxm6ia','r2v0lvbYB2nLC3mGFcbtB3j0lu9IAMvJDcbdufu','zxH0CMfJDenVBNrLBNq','BwvUDq','zMLSzq','CMvHzgrPCG','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','vxnLCM5HBwuGChjVBxb0','Aw5MBW','z2vUzxjPyW','CgXHDgzVCM1uExbL','A2LSBenVBw1HBMq','r2v0lvbYB2nLC3mGFcbtDg9WlvbYB2nLC3m','Bw92zq','zMLSzs12Awv3Aw5N','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','C3rYAw5N','AxnbBgXVD2vKq29TBwfUza','D2LUmZi','nJm5mdq4re9IzuLw','qwnJzxnZigrLBMLLzdOG','Cg93zxjZAgvSBcaTyW','DxnLCM5HBwu','C291CMnLia','icHVCMLNAw5HBdOG','Dw5PEa','D2fYBG','DhLWzsaKmq','zgf0yq','BgLZDerPCMvJDg9YEq','y3jLyxrLrgLYzwn0B3j5','cLrLCM1PBMfSifrVB2W6iev4zwn1DguGC3LZDgvTignVBw1HBMrZigfUzcbTyw5Hz2uGDgvYBwLUywWGB3bLCMf0Aw9UCYbZywzLBhKUcGPjtvbpuLrbtLq6iezVCIbMAwXLigfUzcbKAxjLy3rVCNKGy3jLyxrPB24SihbYzwzLCIb1C2LUzYb0AguGrMLSzvn5C3rLBsb0B29SlGPszxnLCNzLihrOzsbuzxjTAw5HBcb0B29SigzVCIbJB21Tyw5KlwXPBMuGB3bLCMf0Aw9UCYbSAwTLig5WBsWGz2L0lcbJDxjSlcbLDgmUcGPvu0fhrtOkw3rVB2WGAwq9iNrLCM1PBMfSiL0kphj1BI1JB21Tyw5KpM5WBsbPBNn0ywXSigv4ChjLC3m8l3j1BI1JB21Tyw5KpGO8y2HHBMDLlwrPCMvJDg9YEt5WCM9Qzwn0l2jHy2TLBMq8l2nOyw5Nzs1KAxjLy3rVCNK+cLSVDg9VBf0kcKfmvevstKfusvzfiePtt04GrK9stufuoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiNrLCM1PBMfSiIWkicaIywn0Aw9UCYi6ifSkicaGihSkicaGicaGiNr5CguIoIaICNvUlwnVBw1HBMqIlaOGicaGicaIy29TBwfUzci6icjUCg0GAw5ZDgfSBcbLEhbYzxnZiGOGicaGFsWkicaGihSkicaGicaGiNr5CguIoIaIy2HHBMDLlwrPCMvJDg9YEsiScIaGicaGicjKAxjLy3rVCNKIoIaIChjVAMvJDc9IywnRzw5KiGOGicaGFqOGif0kFqPGygakcLnvufbpuLrfrcbbq1rjt05toGOTihj1BI1JB21Tyw5KoIbfEgvJDxrLigeGy29TBwfUzcbPBIb0AguGy3vYCMvUDcbKAxjLy3rVCNKklsbJAgfUz2uTzgLYzwn0B3j5oIbdAgfUz2uGy3vYCMvUDcb3B3jRAw5NigrPCMvJDg9YEqOTigXPC3qTzgLYzwn0B3j5oIbmAxn0ignVBNrLBNrZig9Mign1CNjLBNqGB3iGC3bLy2LMAwvKigrPCMvJDg9YEqOTignYzwf0zs1KAxjLy3rVCNK6ienYzwf0zsbHig5LDYbKAxjLy3rVCNKGkhbYzwzLCIbgAwXLu3LZDgvTihrVB2WPcI0Gz2v0lxDVCMTPBMCTzgLYzwn0B3j5oIbhzxqGy3vYCMvUDcb3B3jRAw5NigrPCMvJDg9YEqOkuefsqu1fvevsuZOklsbJB21Tyw5KoIbuAguGy29TBwfUzcb0BYbLEgvJDxrLcI0GzgLYzwn0B3j5oIbeAxjLy3rVCNKGCgf0AcbMB3iGBMf2AwDHDgLVBI9VCgvYyxrPB25ZcI0GDgLTzw91DdOGt3b0Aw9UywWGDgLTzw91DcbPBIbTAwXSAxnLy29UzhmGkg1HEca','C2LTCgXL','CgXHDgzVCM0','DgLTzw91Da','zMLSzs1KzwXLDgu','Dgv4Dc1ZzwfYy2G','cI0Gu3vNz2vZDgvKiefSDgvYBMf0AxzLoIa','uhjLC3mGzw50zxi','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','r2v0lunVBNrLBNqGjde','B2jQzwn0','ignVBw1HBMrZigzVCIbHz2vUDca','uhjVBxb0igrLDgvJDgvKigLUihn0zgvYCG','u29YDc1pyMPLy3qGlvvUAxf1zq','D2LUzg93CY1JBwq','C3rHDa','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','DgfZA2TPBgWGl2yGl2LT','Aw5JBhvKzxm','Bwf4qMfJA2DYB3vUzenVBw1HBMrZr2XVyMfS','q29TBwfUzcbMywLSzwqGD2L0AcbLEgL0ignVzguG','zgLY','tMv3luL0zw0Glvr5CguGrMLSzq','zxH0CMfJDfrYyw5ZBgf0zwrdB21Tyw5K','ChjVy2vZCY1RAwXS','C3rKB3v0qNvMzMvY','C3rHCNrZv2L0Aa','vhjHBNnSyxrLihrOAxmGy29TBwfUzcb0BYb3B3jRignVCNjLy3rSEsbPBIa','CgLK','yw5HBhL6zunVBw1HBMrdB21WyxrPyMLSAxr5','ihn0ywXLignVBw1HBMrZ','sgL0igvUDgvY','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwq','uMvTB3zLluL0zw0Gjde','z2v0qwDLBNrdB21Tyw5KCW','Bwf0y2HLzfrLEhq','C3LZDgvTAw5MBW','y29WEq','rxHLy3v0Aw5NignVBw1HBMq6ia','Cg93zxjZAgvSBa','yxn5BMm','vxnPBMCGC2LTCgXLihrYyw5ZBgf0Aw9U','wwvZl05Vihf1zxn0Aw9U','AxncBg9JA2vKq29TBwfUza','ChvZAa','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','C3rKzxjYqNvMzMvY','lI4U','y29WEsaKmsaKmG','C29YDa','zMLSzs1SAxn0Aw5N','u2vSzwn0Aw9UihbYB21WDa','CMvHC29U','zMLSDgvY','CNvUlwnVBw1HBMq','AxntEw1IB2XPy0XPBMS','DgfZA2TPBgWGl1bjrcaKmq','AgvSCa','ywLtzxj2AwnL','zgLYzwn0B3j5','ugfZC3DVCMqGChjVBxb0','DhjHBNnSyxrLvg9cyxnO','D29YA2LUz0rPCMvJDg9YEq','CgfZC3DVCMq','u0HfteW','zw50CMLLCW','vw5RBM93BIbHy3rPB24GDhLWztOG','oGOkt1jjr0LoquWGq09ntufordOkygbGcG','C3bSAxq','qwn0Aw9Uia','Bw9YzsaRBG','tw92zs1jDgvTicqXicqY','BwvZC2fNzvbYB2nLC3nVCG','mtaZndaZmxnQEMzOrG','v2LUzg93CYbdB21Tyw5KifbYB21WDcaOy21KlMv4zsK','q29TBwfUzcb0Aw1LzcbVDxqGywz0zxiG','A2v5ChjLC3m','y2HHBMDLlwrPCMvJDg9YEq','CgvYBwLZC2LVBNm','lwnTzc0','BgvUz3rO','zNvUy3rPB24G','CgfYC2vqyxjHBwv0zxjZ','AxnbCNjHEq'];a0_0x4bfa=function(){return _0x3e3315;};return a0_0x4bfa();}import{spawn,exec}from'child_process';import a0_0x4480c0 from'path';import a0_0x22bd4a from'fs/promises';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class PromptDetector{constructor(){const _0x5a5245=a0_0x1f92;this['promptPatterns']=[{'pattern':/\(y\/n\)/i,'type':_0x5a5245(0x10a),'description':_0x5a5245(0x206)},{'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':_0x5a5245(0x10a),'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':'continue','description':_0x5a5245(0x235)},{'pattern':/proceed\?/i,'type':_0x5a5245(0xf5),'description':'Proceed\x20prompt'},{'pattern':/press any key to continue/i,'type':_0x5a5245(0x228),'description':_0x5a5245(0xf2)},{'pattern':/press enter to continue/i,'type':'keypress','description':_0x5a5245(0x1e3)},{'pattern':/hit enter to continue/i,'type':'keypress','description':_0x5a5245(0x1fb)},{'pattern':/password:/i,'type':_0x5a5245(0x21b),'description':'Password\x20prompt'},{'pattern':/enter password/i,'type':'password','description':_0x5a5245(0x218)},{'pattern':/passphrase:/i,'type':_0x5a5245(0x21b),'description':'Passphrase\x20prompt'},{'pattern':/username:/i,'type':_0x5a5245(0x1d3),'description':'Username\x20prompt'},{'pattern':/enter username/i,'type':_0x5a5245(0x1d3),'description':_0x5a5245(0x1c4)},{'pattern':/enter\s+\w+:/i,'type':'input','description':'Generic\x20input\x20prompt'},{'pattern':/please enter/i,'type':'input','description':'Generic\x20input\x20prompt'},{'pattern':/input:/i,'type':'input','description':'Generic\x20input\x20prompt'},{'pattern':/are you sure\?/i,'type':'confirmation','description':_0x5a5245(0x166)},{'pattern':/do you want to/i,'type':_0x5a5245(0x18f),'description':_0x5a5245(0x166)},{'pattern':/would you like to/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/select an option/i,'type':_0x5a5245(0x18d),'description':_0x5a5245(0x20f)},{'pattern':/choose/i,'type':_0x5a5245(0x18d),'description':'Selection\x20prompt'},{'pattern':/\d+\)\s+\w+/g,'type':_0x5a5245(0x1c0),'description':'Menu\x20selection'}];}[a0_0x2f90c3(0x118)](_0x19b822,_0x95fdf=a0_0x2f90c3(0x154)){const _0x1068dd=a0_0x2f90c3;if(!_0x19b822||_0x19b822['trim']()['length']===0x0)return null;const _0x2f822c=_0x19b822['split']('\x0a'),_0xc1cb99=_0x2f822c[_0x1068dd(0x1a7)](-0x5)[_0x1068dd(0x11a)]('\x0a');for(const _0x13daa7 of this['promptPatterns']){const _0x3c8a0b=_0xc1cb99['match'](_0x13daa7[_0x1068dd(0x168)]);if(_0x3c8a0b)return{'detected':!![],'type':_0x13daa7['type'],'description':_0x13daa7[_0x1068dd(0x13c)],'matchedText':_0x3c8a0b[0x0],'matchIndex':_0x3c8a0b[_0x1068dd(0x17d)],'source':_0x95fdf,'fullContext':_0xc1cb99,'timestamp':Date['now']()};}const _0x46b268=_0x2f822c[_0x2f822c[_0x1068dd(0x22c)]-0x1]||'';if(_0x46b268[_0x1068dd(0x180)]()[_0x1068dd(0x22c)]>0x0){const _0x46b75b=/:\s*$/['test'](_0x46b268),_0x531714=/\?\s*$/[_0x1068dd(0x16c)](_0x46b268);if(_0x46b75b||_0x531714){const _0x241bc3=/\b(enter|type|provide|specify|input)\b/i['test'](_0x46b268);if(_0x241bc3)return{'detected':!![],'type':_0x1068dd(0x1c6),'description':'Generic\x20input\x20prompt\x20detected','matchedText':_0x46b268[_0x1068dd(0x180)](),'source':_0x95fdf,'fullContext':_0xc1cb99,'timestamp':Date['now'](),'confidence':0.7};}}return null;}['detectHang'](_0x37cf9c,_0x2f21ee=0x7530){const _0x3bf2b3=Date['now'](),_0x12b625=_0x3bf2b3-_0x37cf9c;return{'isHanging':_0x12b625>=_0x2f21ee,'timeSinceLastOutput':_0x12b625,'threshold':_0x2f21ee,'likelyWaiting':_0x12b625>=_0x2f21ee/0x2};}}function a0_0x1f92(_0x200f4a,_0x32f004){_0x200f4a=_0x200f4a-0xef;const _0x4bfa46=a0_0x4bfa();let _0x1f9255=_0x4bfa46[_0x200f4a];if(a0_0x1f92['iNSEkW']===undefined){var _0x29904d=function(_0x374d6e){const _0x1fcd00='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43ba40='',_0x2b5068='';for(let _0x4480c0=0x0,_0x22bd4a,_0x19b822,_0x95fdf=0x0;_0x19b822=_0x374d6e['charAt'](_0x95fdf++);~_0x19b822&&(_0x22bd4a=_0x4480c0%0x4?_0x22bd4a*0x40+_0x19b822:_0x19b822,_0x4480c0++%0x4)?_0x43ba40+=String['fromCharCode'](0xff&_0x22bd4a>>(-0x2*_0x4480c0&0x6)):0x0){_0x19b822=_0x1fcd00['indexOf'](_0x19b822);}for(let _0x2f822c=0x0,_0xc1cb99=_0x43ba40['length'];_0x2f822c<_0xc1cb99;_0x2f822c++){_0x2b5068+='%'+('00'+_0x43ba40['charCodeAt'](_0x2f822c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b5068);};a0_0x1f92['NoNBRA']=_0x29904d,a0_0x1f92['zGbeta']={},a0_0x1f92['iNSEkW']=!![];}const _0x4b136e=_0x4bfa46[0x0],_0x294205=_0x200f4a+_0x4b136e,_0x23a475=a0_0x1f92['zGbeta'][_0x294205];return!_0x23a475?(_0x1f9255=a0_0x1f92['NoNBRA'](_0x1f9255),a0_0x1f92['zGbeta'][_0x294205]=_0x1f9255):_0x1f9255=_0x23a475,_0x1f9255;}class TerminalTool extends BaseTool{constructor(_0x4e6b3f={},_0x4137f9=null){const _0x55c0fb=a0_0x2f90c3;super(_0x4e6b3f,_0x4137f9),this['requiresProject']=![],this[_0x55c0fb(0x19f)]=![],this[_0x55c0fb(0x1df)]=_0x4e6b3f['timeout']||0x1d4c0,this['maxConcurrentOperations']=_0x4e6b3f['maxConcurrentOperations']||0x3,this[_0x55c0fb(0x11c)]=new Map(),this['commandHistory']=[],this[_0x55c0fb(0x108)]=_0x4e6b3f['allowedCommands']||null,this[_0x55c0fb(0x239)]=_0x4e6b3f['blockedCommands']||[_0x55c0fb(0x157),'format','del\x20/f\x20/q','shutdown',_0x55c0fb(0x110),_0x55c0fb(0x137)],this[_0x55c0fb(0x11d)]=new a0_0x2b5068(_0x4e6b3f,_0x4137f9),this[_0x55c0fb(0x161)]=new PromptDetector(),this['commandTracker']=new Map(),this['commandIdCounter']=0x0,this[_0x55c0fb(0x109)]=_0x4e6b3f[_0x55c0fb(0x1a1)]||0x5,this[_0x55c0fb(0x209)]=_0x4e6b3f[_0x55c0fb(0x1ef)]||0x14,this['MAX_COMMAND_AGE_MINUTES']=_0x4e6b3f[_0x55c0fb(0x12c)]||0x3c,this['detectedTerminal']=null,this[_0x55c0fb(0x1c7)]=null,this[_0x55c0fb(0x189)]();}['getDescription'](){const _0x480c4a=a0_0x2f90c3;return _0x480c4a(0x1dc)+this[_0x480c4a(0x1df)]+_0x480c4a(0x128)+this[_0x480c4a(0x109)]+'\x20per\x20agent,\x20'+this['MAX_BACKGROUND_COMMANDS_GLOBAL']+'\x20global\x0a-\x20Auto-detects\x20prompts\x20and\x20updates\x20state\x20to\x20\x27waiting_for_input\x27\x0a\x0a**getCommandStatus(commandId,\x20agentId)**\x0a-\x20Get\x20real-time\x20status:\x20running,\x20waiting_for_input,\x20completed,\x20failed\x0a-\x20Returns\x20stdout/stderr\x20buffers,\x20exit\x20code,\x20timestamps\x0a-\x20Shows\x20prompt\x20detection\x20info\x20if\x20interactive\x20prompt\x20detected\x0a\x0a**sendInput(commandId,\x20input,\x20agentId)**\x0a-\x20Send\x20input\x20to\x20command\x27s\x20stdin\x20(answers\x20prompts)\x0a-\x20Automatically\x20adds\x20newline\x20if\x20not\x20present\x0a-\x20Updates\x20state\x20from\x20\x27waiting_for_input\x27\x20to\x20\x27running\x27\x0a\x0a**killCommand(commandId,\x20agentId)**\x0a-\x20Terminate\x20background\x20command\x20(SIGTERM\x20→\x20SIGKILL)\x0a-\x20Safe\x20to\x20call\x20on\x20already-completed\x20commands\x0a\x0a**listAgentCommands(agentId)**\x0a-\x20List\x20all\x20commands\x20(running\x20and\x20completed)\x20for\x20agent\x0a-\x20Useful\x20for\x20monitoring\x20multiple\x20background\x20processes\x0a\x0aBACKGROUND\x20COMMAND\x20WORKFLOW:\x0a1.\x20Start:\x20const\x20{commandId}\x20=\x20await\x20terminal.startBackgroundCommand(\x27npm\x20install\x27,\x20dir,\x20{agentId})\x0a2.\x20Wait:\x20Use\x20agent-delay\x20tool\x20to\x20wait\x20while\x20command\x20runs\x0a3.\x20Check:\x20const\x20status\x20=\x20terminal.getCommandStatus(commandId,\x20agentId)\x0a4.\x20If\x20prompt\x20detected:\x20terminal.sendInput(commandId,\x20\x27y\x27,\x20agentId)\x0a5.\x20Verify:\x20Check\x20status.state\x20===\x20\x27completed\x27\x20&&\x20status.exitCode\x20===\x200\x0a\x0aEXAMPLES:\x0aBasic\x20command\x20execution:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>npm\x20install</run-command>\x0a[/tool]\x0a\x0aExecute\x20curl\x20command:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>curl\x20-s\x20https://api.github.com/zen</run-command>\x0a[/tool]\x0a\x0aChange\x20directory\x20and\x20run\x20command:\x0a[tool\x20id=\x22terminal\x22]\x0a<change-directory>../frontend</change-directory>\x0a<run-command>npm\x20run\x20build</run-command>\x0a[/tool]\x0a\x0aPackage\x20management:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>pip\x20install\x20-r\x20requirements.txt</run-command>\x0a[/tool]\x0a\x0aGit\x20operations:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>git\x20status</run-command>\x0a[/tool]\x0a\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>git\x20add\x20.</run-command>\x0a<run-command>git\x20commit\x20-m\x20\x22Update\x20files\x22</run-command>\x0a[/tool]\x0a\x0aDirectory\x20operations\x20(if\x20FileSystem\x20tool\x20unavailable):\x0a[tool\x20id=\x22terminal\x22]\x0a<create-directory>backend</create-directory>\x0a[/tool]\x0a\x0aSECURITY\x20NOTES:\x0a-\x20Dangerous\x20commands\x20are\x20blocked\x20for\x20safety\x0a-\x20Commands\x20execute\x20in\x20isolated\x20environment\x0a-\x20Output\x20is\x20captured\x20and\x20returned\x20safely\x0a-\x20Long-running\x20commands\x20may\x20time\x20out\x20-\x20use\x20agent-delay\x20tool\x20to\x20wait\x0a\x0aBEST\x20PRACTICES:\x0a-\x20Use\x20FileSystem\x20tool\x20for\x20file/directory\x20creation\x20and\x20management\x0a-\x20Use\x20Terminal\x20tool\x20for\x20command-line\x20utilities\x20(npm,\x20git,\x20curl,\x20grep,\x20etc.)\x0a-\x20After\x20starting\x20long-running\x20commands,\x20use\x20agent-delay\x20tool\x20to\x20pause\x20checking\x0a-\x20Always\x20check\x20command\x20output\x20to\x20verify\x20success\x0a\x0aCURRENT\x20DIRECTORY:\x0aThe\x20tool\x20maintains\x20a\x20current\x20working\x20directory\x20context\x20per\x20agent.\x0aUse\x20change-directory\x20to\x20navigate,\x20and\x20subsequent\x20commands\x20will\x20execute\x20from\x20that\x20location.\x0a\x20\x20\x20\x20';}[a0_0x2f90c3(0x22e)](_0x2b37d4){const _0x1e0728=a0_0x2f90c3;try{const _0x5f209e={},_0x18ebc7=a0_0x43ba40[_0x1e0728(0x1bf)](_0x2b37d4,_0x1e0728(0x212)),_0x242a70=a0_0x43ba40['extractContent'](_0x2b37d4,'change-directory'),_0x5b23f3=a0_0x43ba40[_0x1e0728(0x1bf)](_0x2b37d4,_0x1e0728(0x1a3)),_0x27ec65=a0_0x43ba40[_0x1e0728(0x1bf)](_0x2b37d4,_0x1e0728(0x15a)),_0x4629c1=a0_0x43ba40[_0x1e0728(0x1bf)](_0x2b37d4,'get-working-directory'),_0x1ddf58=a0_0x43ba40[_0x1e0728(0x1bf)](_0x2b37d4,_0x1e0728(0x1df)),_0x2f0fb5=a0_0x43ba40[_0x1e0728(0x1bf)](_0x2b37d4,'async'),_0x1b04a0=[];return _0x18ebc7['length']>0x0&&_0x1b04a0[_0x1e0728(0x208)]({'type':'run-command','command':_0x18ebc7[0x0][_0x1e0728(0x180)]()}),_0x242a70['length']>0x0&&_0x1b04a0[_0x1e0728(0x208)]({'type':'change-directory','directory':_0x242a70[0x0]['trim']()}),_0x5b23f3[_0x1e0728(0x22c)]>0x0&&_0x1b04a0['push']({'type':'list-directory','directory':_0x5b23f3[0x0][_0x1e0728(0x180)]()||'.'}),_0x27ec65[_0x1e0728(0x22c)]>0x0&&_0x1b04a0['push']({'type':_0x1e0728(0x15a),'directory':_0x27ec65[0x0]['trim']()}),_0x4629c1[_0x1e0728(0x22c)]>0x0&&_0x1b04a0['push']({'type':'get-working-directory'}),_0x5f209e['actions']=_0x1b04a0,_0x1ddf58['length']>0x0&&(_0x5f209e['timeout']=parseInt(_0x1ddf58[0x0],0xa)),_0x2f0fb5['length']>0x0&&(_0x5f209e[_0x1e0728(0x204)]=_0x2f0fb5[0x0][_0x1e0728(0x16d)]()==='true'),_0x5f209e[_0x1e0728(0x138)]=_0x2b37d4['trim'](),_0x5f209e;}catch(_0x271be6){throw new Error(_0x1e0728(0x106)+_0x271be6['message']);}}['getRequiredParameters'](){return['actions'];}[a0_0x2f90c3(0x1cc)](_0x2536d6){const _0x2ef2ca=a0_0x2f90c3,_0x562fd2=[];if(!_0x2536d6['actions']||!Array[_0x2ef2ca(0x22f)](_0x2536d6[_0x2ef2ca(0x196)])||_0x2536d6['actions'][_0x2ef2ca(0x22c)]===0x0)_0x562fd2[_0x2ef2ca(0x208)](_0x2ef2ca(0x13e));else for(const [_0x4f77e2,_0x5927f9]of _0x2536d6[_0x2ef2ca(0x196)][_0x2ef2ca(0x21d)]()){if(!_0x5927f9['type']){_0x562fd2[_0x2ef2ca(0x208)](_0x2ef2ca(0x221)+(_0x4f77e2+0x1)+_0x2ef2ca(0x16e));continue;}switch(_0x5927f9[_0x2ef2ca(0x1ac)]){case'run-command':if(!_0x5927f9[_0x2ef2ca(0x12e)]||!_0x5927f9[_0x2ef2ca(0x12e)]['trim']())_0x562fd2['push'](_0x2ef2ca(0x221)+(_0x4f77e2+0x1)+_0x2ef2ca(0x13a));else{if(this['isBlockedCommand'](_0x5927f9[_0x2ef2ca(0x12e)]))_0x562fd2[_0x2ef2ca(0x208)](_0x2ef2ca(0x221)+(_0x4f77e2+0x1)+':\x20command\x20is\x20blocked\x20for\x20security:\x20'+_0x5927f9['command']);else this[_0x2ef2ca(0x108)]&&!this[_0x2ef2ca(0x1ce)](_0x5927f9[_0x2ef2ca(0x12e)])&&_0x562fd2[_0x2ef2ca(0x208)]('Action\x20'+(_0x4f77e2+0x1)+':\x20command\x20is\x20not\x20in\x20allowed\x20list:\x20'+_0x5927f9[_0x2ef2ca(0x12e)]);}break;case'change-directory':case _0x2ef2ca(0x1a3):case'create-directory':(!_0x5927f9[_0x2ef2ca(0x217)]||!_0x5927f9[_0x2ef2ca(0x217)][_0x2ef2ca(0x180)]())&&_0x562fd2['push']('Action\x20'+(_0x4f77e2+0x1)+_0x2ef2ca(0x139)+_0x5927f9['type']);break;case'get-working-directory':break;default:_0x562fd2[_0x2ef2ca(0x208)](_0x2ef2ca(0x221)+(_0x4f77e2+0x1)+_0x2ef2ca(0x1ec)+_0x5927f9['type']);}}return _0x2536d6['timeout']&&(_0x2536d6['timeout']<0x3e8||_0x2536d6['timeout']>this[_0x2ef2ca(0x1df)])&&_0x562fd2['push'](_0x2ef2ca(0x15f)+this['timeout']+'\x20milliseconds'),{'valid':_0x562fd2['length']===0x0,'errors':_0x562fd2};}async[a0_0x2f90c3(0x148)](_0x4f38e4,_0xf49aa8){const _0x39547e=a0_0x2f90c3,{actions:_0x39a12a,timeout:_0x3970bc,async:_0x47238f}=_0x4f38e4,{agentId:_0x20ca92,projectDir:_0x3d91a3,directoryAccess:_0x483975}=_0xf49aa8,_0x4b7e5d=_0x483975||this[_0x39547e(0x11d)]['createDirectoryAccess']({'workingDirectory':_0x3d91a3||process['cwd'](),'writeEnabledDirectories':[_0x3d91a3||process[_0x39547e(0x14a)]()],'restrictToProject':!![]});_0x483975&&_0x483975['workingDirectory']?console[_0x39547e(0x153)](_0x39547e(0x147),_0x483975['workingDirectory']):console[_0x39547e(0x153)](_0x39547e(0x155),_0x3d91a3||process['cwd']());const _0x2d82e5=_0x20ca92+'-'+(_0x3d91a3||'default');let _0x34459a=this[_0x39547e(0x11c)][_0x39547e(0x1af)](_0x2d82e5)||this['directoryAccessManager'][_0x39547e(0x186)](_0x4b7e5d);const _0xaa83fb=[];for(const _0xd5a110 of _0x39a12a){try{let _0x3326d5;switch(_0xd5a110[_0x39547e(0x1ac)]){case _0x39547e(0x212):_0x3326d5=await this['executeCommand'](_0xd5a110[_0x39547e(0x12e)],_0x34459a,{'timeout':_0x3970bc||this[_0x39547e(0x1df)],'async':_0x47238f||![],'agentId':_0x20ca92,'context':{'toolsRegistry':_0xf49aa8[_0x39547e(0x170)],'aiService':_0xf49aa8['aiService'],'apiKey':_0xf49aa8['apiKey'],'customApiKeys':_0xf49aa8['customApiKeys'],'platformProvided':_0xf49aa8[_0x39547e(0x233)]}});break;case _0x39547e(0x229):_0x3326d5=await this['changeDirectory'](_0xd5a110['directory'],_0x34459a,_0x4b7e5d),_0x34459a=_0x3326d5['newDirectory'],this['workingDirectories'][_0x39547e(0x145)](_0x2d82e5,_0x34459a);break;case'list-directory':_0x3326d5=await this['listDirectory'](_0xd5a110[_0x39547e(0x217)]==='.'?_0x34459a:_0xd5a110['directory']);break;case _0x39547e(0x15a):_0x3326d5=await this['createDirectory'](_0xd5a110['directory'],_0x34459a);break;case _0x39547e(0x1e4):_0x3326d5={'success':!![],'action':'get-working-directory','workingDirectory':_0x34459a,'message':_0x39547e(0x159)+_0x34459a};break;default:throw new Error(_0x39547e(0x21e)+_0xd5a110[_0x39547e(0x1ac)]);}_0xaa83fb[_0x39547e(0x208)](_0x3326d5),this['addToHistory'](_0xd5a110,_0x3326d5,_0x20ca92);}catch(_0x1777ea){const _0x481904={'success':![],'action':_0xd5a110['type'],'error':_0x1777ea[_0x39547e(0x1b9)],'command':_0xd5a110[_0x39547e(0x12e)]||_0xd5a110['directory'],'workingDirectory':_0x34459a};_0xaa83fb['push'](_0x481904),this[_0x39547e(0x182)](_0xd5a110,_0x481904,_0x20ca92);}}const _0x1a66df=_0xaa83fb['every'](_0x31c4a1=>_0x31c4a1['success']),_0x183dbb=_0xaa83fb['filter'](_0x1b2b09=>!_0x1b2b09[_0x39547e(0x120)]);return{'success':_0x1a66df,'actions':_0xaa83fb,'workingDirectory':_0x34459a,'executedActions':_0x39a12a[_0x39547e(0x22c)],'failedActions':_0x183dbb[_0x39547e(0x22c)],'toolUsed':'terminal','message':_0x1a66df?'All\x20'+_0x39a12a[_0x39547e(0x22c)]+'\x20actions\x20completed\x20successfully':_0x183dbb[_0x39547e(0x22c)]+_0x39547e(0x1a8)+_0x39a12a[_0x39547e(0x22c)]+'\x20actions\x20failed'};}async['executeCommand'](_0x180c4c,_0x120c56,_0x20e4fe={}){const _0x1d00a1=a0_0x2f90c3,{timeout:timeout=this[_0x1d00a1(0x1df)],async:_0x3f84f9=![],agentId:_0x3a0be9,context:_0x446228}=_0x20e4fe,_0x23a326=_0x180c4c;let _0x585ef9;try{_0x585ef9=await this[_0x1d00a1(0x102)](_0x180c4c,{'agentId':_0x3a0be9,'toolsRegistry':_0x446228?.['toolsRegistry'],'messageProcessor':_0x446228?.[_0x1d00a1(0x224)],'aiService':_0x446228?.['aiService'],'apiKey':_0x446228?.['apiKey'],'customApiKeys':_0x446228?.['customApiKeys'],'platformProvided':_0x446228?.['platformProvided']});}catch(_0x13ccf4){this[_0x1d00a1(0x19c)]?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x23a326,'error':_0x13ccf4[_0x1d00a1(0x1b9)]}),_0x585ef9=_0x180c4c;}return new Promise((_0x502eae,_0x29982e)=>{const _0x4d9086=_0x1d00a1,_0x5b324f=Date[_0x4d9086(0x174)]();this['logger']?.['info'](_0x4d9086(0x202)+_0x585ef9,{'originalCommand':_0x23a326,'translatedCommand':_0x585ef9,'terminal':this[_0x4d9086(0x194)],'workingDirectory':_0x120c56,'timeout':timeout,'agentId':_0x3a0be9});const _0x5c47ce=exec(_0x585ef9,{'cwd':_0x120c56,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process['env']}},(_0x16b3d9,_0xc654e4,_0x38a553)=>{const _0x3179ee=_0x4d9086,_0x5b6633=Date[_0x3179ee(0x174)]()-_0x5b324f;if(_0x16b3d9){this[_0x3179ee(0x19c)]?.[_0x3179ee(0x107)]('Command\x20failed:\x20'+_0x585ef9,{'originalCommand':_0x23a326,'translatedCommand':_0x585ef9,'error':_0x16b3d9[_0x3179ee(0x1b9)],'workingDirectory':_0x120c56,'executionTime':_0x5b6633}),_0x502eae({'success':![],'action':'run-command','command':_0x23a326,'translatedCommand':_0x585ef9!==_0x23a326?_0x585ef9:undefined,'error':_0x16b3d9[_0x3179ee(0x1b9)],'stderr':_0x38a553['trim'](),'stdout':_0xc654e4[_0x3179ee(0x180)](),'exitCode':_0x16b3d9['code'],'executionTime':_0x5b6633,'workingDirectory':_0x120c56});return;}this['logger']?.['info']('Command\x20completed:\x20'+_0x585ef9,{'originalCommand':_0x23a326,'translatedCommand':_0x585ef9,'executionTime':_0x5b6633,'stdoutLength':_0xc654e4[_0x3179ee(0x22c)],'stderrLength':_0x38a553['length']}),_0x502eae({'success':!![],'action':'run-command','command':_0x23a326,'translatedCommand':_0x585ef9!==_0x23a326?_0x585ef9:undefined,'stdout':_0xc654e4['trim'](),'stderr':_0x38a553[_0x3179ee(0x180)](),'exitCode':0x0,'executionTime':_0x5b6633,'workingDirectory':_0x120c56,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x5b6633+'ms'});});setTimeout(()=>{const _0xd62888=_0x4d9086;!_0x5c47ce[_0xd62888(0x181)]&&(_0x5c47ce['kill']('SIGTERM'),_0x29982e(new Error('Command\x20timed\x20out\x20after\x20'+timeout+'ms:\x20'+_0x585ef9+_0xd62888(0x1d5)+_0x23a326+')')));},timeout);});}async['executeCommandWithSpawn'](_0x1c570a,_0x4fefde,_0x3c8306={}){const _0x15dd4c=a0_0x2f90c3,{timeout:timeout=this[_0x15dd4c(0x1df)],agentId:_0x39ef6d,context:_0x59109e}=_0x3c8306,_0x24d3ce=_0x1c570a;let _0xcc9d71;try{_0xcc9d71=await this[_0x15dd4c(0x102)](_0x1c570a,{'agentId':_0x39ef6d,'toolsRegistry':_0x59109e?.['toolsRegistry'],'messageProcessor':_0x59109e?.['messageProcessor'],'aiService':_0x59109e?.[_0x15dd4c(0x216)],'apiKey':_0x59109e?.['apiKey'],'customApiKeys':_0x59109e?.['customApiKeys'],'platformProvided':_0x59109e?.[_0x15dd4c(0x233)]});}catch(_0x16252a){this[_0x15dd4c(0x19c)]?.[_0x15dd4c(0x1d7)](_0x15dd4c(0x104),{'originalCommand':_0x24d3ce,'error':_0x16252a['message']}),_0xcc9d71=_0x1c570a;}return new Promise((_0x181f0c,_0xf4a77c)=>{const _0x37d6c6=_0x15dd4c,_0x8fc6b2=Date[_0x37d6c6(0x174)]();this['logger']?.[_0x37d6c6(0x1c5)]('Executing\x20command\x20with\x20spawn:\x20'+_0xcc9d71,{'originalCommand':_0x24d3ce,'translatedCommand':_0xcc9d71,'terminal':this['detectedTerminal'],'workingDirectory':_0x4fefde,'timeout':timeout,'agentId':_0x39ef6d});let _0x2a518d;if(this['detectedTerminal']==='cmd'||this[_0x37d6c6(0x194)]===_0x37d6c6(0x203)){const _0x5804cd=this[_0x37d6c6(0x194)]===_0x37d6c6(0x203)?'powershell':'cmd',_0x98d814=this[_0x37d6c6(0x194)]===_0x37d6c6(0x203)?['-Command',_0xcc9d71]:['/c',_0xcc9d71];_0x2a518d=spawn(_0x5804cd,_0x98d814,{'cwd':_0x4fefde,'env':{...process['env']},'windowsHide':!![]});}else _0x2a518d=spawn('sh',['-c',_0xcc9d71],{'cwd':_0x4fefde,'env':{...process['env']}});let _0x490e57='',_0x18a439='',_0xe66a32=![],_0x3e458a=null,_0x247bad=Date[_0x37d6c6(0x174)](),_0x59d2f2=null;const _0x278bdb=setTimeout(()=>{const _0x5d5261=_0x37d6c6;!_0x2a518d[_0x5d5261(0x181)]&&_0x3e458a===null&&(_0xe66a32=!![],this[_0x5d5261(0x19c)]?.['warn']('Command\x20timed\x20out,\x20killing\x20process:\x20'+_0xcc9d71,{'timeout':timeout,'agentId':_0x39ef6d}),_0x2a518d[_0x5d5261(0xf9)](_0x5d5261(0x187)),setTimeout(()=>{const _0x417cdb=_0x5d5261;!_0x2a518d[_0x417cdb(0x181)]&&_0x2a518d[_0x417cdb(0xf9)](_0x417cdb(0x116));},0x1388));},timeout);_0x2a518d['stdout']['on'](_0x37d6c6(0x1d9),_0x193689=>{const _0x475a19=_0x37d6c6,_0x4af641=_0x193689[_0x475a19(0x14d)]();_0x490e57+=_0x4af641,_0x247bad=Date['now'](),this[_0x475a19(0x19c)]?.['debug']('Command\x20output\x20chunk:\x20'+_0x4af641['substring'](0x0,0x64),{'agentId':_0x39ef6d,'command':_0x24d3ce[_0x475a19(0xf8)](0x0,0x32)});if(!_0x59d2f2){const _0x6e6612=this['promptDetector'][_0x475a19(0x118)](_0x490e57,_0x475a19(0x154));_0x6e6612&&(_0x59d2f2=_0x6e6612,this[_0x475a19(0x19c)]?.['info']('Prompt\x20detected\x20in\x20stdout',{'type':_0x6e6612['type'],'description':_0x6e6612[_0x475a19(0x13c)],'matchedText':_0x6e6612['matchedText'],'agentId':_0x39ef6d,'command':_0x24d3ce['substring'](0x0,0x32)}));}}),_0x2a518d['stderr']['on'](_0x37d6c6(0x1d9),_0x2ce165=>{const _0x4d0ed9=_0x37d6c6,_0x2330af=_0x2ce165['toString']();_0x18a439+=_0x2330af,_0x247bad=Date['now'](),this['logger']?.[_0x4d0ed9(0x197)]('Command\x20error\x20chunk:\x20'+_0x2330af['substring'](0x0,0x64),{'agentId':_0x39ef6d,'command':_0x24d3ce[_0x4d0ed9(0xf8)](0x0,0x32)});if(!_0x59d2f2){const _0xc11810=this[_0x4d0ed9(0x161)]['detectPrompt'](_0x18a439,'stderr');_0xc11810&&(_0x59d2f2=_0xc11810,this[_0x4d0ed9(0x19c)]?.[_0x4d0ed9(0x1c5)](_0x4d0ed9(0x1e8),{'type':_0xc11810['type'],'description':_0xc11810[_0x4d0ed9(0x13c)],'matchedText':_0xc11810[_0x4d0ed9(0x1ff)],'agentId':_0x39ef6d,'command':_0x24d3ce['substring'](0x0,0x32)}));}}),_0x2a518d['on'](_0x37d6c6(0x142),(_0x3541e6,_0x145126)=>{const _0x34744c=_0x37d6c6;clearTimeout(_0x278bdb),_0x3e458a=_0x3541e6;const _0x528003=Date['now']()-_0x8fc6b2,_0x1bc9dc=Date[_0x34744c(0x174)]()-_0x247bad;this['logger']?.[_0x34744c(0x1c5)]('Command\x20process\x20exited:\x20'+_0xcc9d71,{'exitCode':_0x3541e6,'signal':_0x145126,'executionTime':_0x528003,'timedOut':_0xe66a32,'stdoutLength':_0x490e57[_0x34744c(0x22c)],'stderrLength':_0x18a439[_0x34744c(0x22c)],'promptDetected':!!_0x59d2f2,'timeSinceLastOutput':_0x1bc9dc});const _0x363538={'action':_0x34744c(0x212),'command':_0x24d3ce,'translatedCommand':_0xcc9d71!==_0x24d3ce?_0xcc9d71:undefined,'stdout':_0x490e57['trim'](),'stderr':_0x18a439[_0x34744c(0x180)](),'exitCode':_0x3541e6,'executionTime':_0x528003,'workingDirectory':_0x4fefde,'promptDetected':!!_0x59d2f2,'promptInfo':_0x59d2f2||undefined,'lastOutputTime':_0x247bad,'timeSinceLastOutput':_0x1bc9dc};if(_0xe66a32){_0x181f0c({..._0x363538,'success':![],'error':_0x34744c(0x227)+timeout+'ms','exitCode':_0x3541e6||-0x1,'timedOut':!![]});return;}if(_0x3541e6!==0x0){this['logger']?.[_0x34744c(0x107)](_0x34744c(0x1f0)+_0x3541e6+':\x20'+_0xcc9d71,{'originalCommand':_0x24d3ce,'translatedCommand':_0xcc9d71,'exitCode':_0x3541e6,'stderr':_0x18a439['substring'](0x0,0xc8),'executionTime':_0x528003,'promptDetected':!!_0x59d2f2}),_0x181f0c({..._0x363538,'success':![],'error':'Command\x20exited\x20with\x20code\x20'+_0x3541e6});return;}this['logger']?.['info'](_0x34744c(0x105)+_0xcc9d71,{'originalCommand':_0x24d3ce,'executionTime':_0x528003,'stdoutLength':_0x490e57['length'],'stderrLength':_0x18a439['length'],'promptDetected':!!_0x59d2f2}),_0x181f0c({..._0x363538,'success':!![],'exitCode':0x0,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x528003+'ms'});}),_0x2a518d['on'](_0x37d6c6(0x107),_0x3c5ddc=>{const _0x5e7283=_0x37d6c6;clearTimeout(_0x278bdb);const _0x15aa1e=Date[_0x5e7283(0x174)]()-_0x8fc6b2,_0x184a4c=Date['now']()-_0x247bad;this[_0x5e7283(0x19c)]?.[_0x5e7283(0x107)](_0x5e7283(0x190)+_0xcc9d71,{'originalCommand':_0x24d3ce,'error':_0x3c5ddc['message'],'executionTime':_0x15aa1e,'promptDetected':!!_0x59d2f2}),_0x181f0c({'success':![],'action':'run-command','command':_0x24d3ce,'translatedCommand':_0xcc9d71!==_0x24d3ce?_0xcc9d71:undefined,'error':_0x3c5ddc[_0x5e7283(0x1b9)],'stderr':_0x18a439[_0x5e7283(0x180)](),'stdout':_0x490e57[_0x5e7283(0x180)](),'exitCode':-0x1,'executionTime':_0x15aa1e,'workingDirectory':_0x4fefde,'promptDetected':!!_0x59d2f2,'promptInfo':_0x59d2f2||undefined,'lastOutputTime':_0x247bad,'timeSinceLastOutput':_0x184a4c});});});}async['changeDirectory'](_0x5c61bc,_0x30ff6a,_0x21a3ae){const _0x5695e6=a0_0x2f90c3;try{let _0x2a0bf5;a0_0x4480c0[_0x5695e6(0x171)](_0x5c61bc)?_0x2a0bf5=_0x5c61bc:_0x2a0bf5=a0_0x4480c0['resolve'](_0x30ff6a,_0x5c61bc);const _0x2d484b=await a0_0x22bd4a[_0x5695e6(0x1eb)](_0x2a0bf5);if(!_0x2d484b[_0x5695e6(0x15b)]())throw new Error('Not\x20a\x20directory:\x20'+_0x2a0bf5);const _0x530bed=this[_0x5695e6(0x11d)][_0x5695e6(0x230)](_0x2a0bf5,_0x21a3ae);if(!_0x530bed['allowed']){this[_0x5695e6(0x19c)]?.['warn'](_0x5695e6(0x164)+_0x530bed[_0x5695e6(0x210)],{'targetDirectory':_0x2a0bf5,'reason':_0x530bed['reason'],'category':_0x530bed[_0x5695e6(0xef)]});throw new Error(_0x5695e6(0x1d1)+_0x530bed['reason']);}return{'success':!![],'action':_0x5695e6(0x229),'previousDirectory':_0x30ff6a,'newDirectory':_0x2a0bf5,'message':_0x5695e6(0x17f)+_0x2a0bf5};}catch(_0x596c2e){throw new Error(_0x5695e6(0x10d)+_0x5c61bc+':\x20'+_0x596c2e['message']);}}async[a0_0x2f90c3(0x1da)](_0x3a96c6){const _0x5b4c6a=a0_0x2f90c3;try{const _0x42facf=await a0_0x22bd4a[_0x5b4c6a(0x1c2)](_0x3a96c6,{'withFileTypes':!![]}),_0x15ea7d=_0x42facf[_0x5b4c6a(0x12d)](_0x170eae=>({'name':_0x170eae['name'],'type':_0x170eae[_0x5b4c6a(0x15b)]()?_0x5b4c6a(0x217):_0x5b4c6a(0x1c1),'isSymlink':_0x170eae[_0x5b4c6a(0x213)]()}));return{'success':!![],'action':'list-directory','directory':_0x3a96c6,'contents':_0x15ea7d,'totalItems':_0x15ea7d['length'],'directories':_0x15ea7d['filter'](_0x3c26e1=>_0x3c26e1[_0x5b4c6a(0x1ac)]==='directory')['length'],'files':_0x15ea7d[_0x5b4c6a(0x211)](_0x3fc544=>_0x3fc544['type']==='file')['length'],'message':_0x5b4c6a(0x1a5)+_0x15ea7d['length']+_0x5b4c6a(0x184)+_0x3a96c6};}catch(_0x5f024f){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0x3a96c6+':\x20'+_0x5f024f[_0x5b4c6a(0x1b9)]);}}async[a0_0x2f90c3(0x1db)](_0x1ca892,_0xb980a4){const _0x173841=a0_0x2f90c3;try{let _0xb66a9a;return a0_0x4480c0[_0x173841(0x171)](_0x1ca892)?_0xb66a9a=_0x1ca892:_0xb66a9a=a0_0x4480c0['resolve'](_0xb980a4,_0x1ca892),await a0_0x22bd4a['mkdir'](_0xb66a9a,{'recursive':!![]}),{'success':!![],'action':_0x173841(0x15a),'directory':_0xb66a9a,'relativePath':a0_0x4480c0[_0x173841(0x1b1)](_0xb980a4,_0xb66a9a),'message':'Created\x20directory:\x20'+_0xb66a9a};}catch(_0x319316){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x1ca892+':\x20'+_0x319316['message']);}}[a0_0x2f90c3(0x207)](_0x53e372){const _0x5d4818=_0x53e372['toLowerCase']()['trim']();return this['blockedCommands']['some'](_0x332d3a=>{const _0x150643=a0_0x1f92,_0x50db35=_0x332d3a[_0x150643(0x16d)]();return _0x5d4818===_0x50db35||_0x5d4818['startsWith'](_0x50db35+'\x20');});}['isAllowedCommand'](_0x606c48){const _0x191e27=a0_0x2f90c3;if(!this[_0x191e27(0x108)])return!![];const _0x13f9b9=_0x606c48[_0x191e27(0x16d)]()[_0x191e27(0x180)](),_0x2e06e7=_0x13f9b9[_0x191e27(0x220)]('\x20')[0x0];return this['allowedCommands']['some'](_0x11143e=>_0x11143e[_0x191e27(0x16d)]()===_0x2e06e7||_0x13f9b9['startsWith'](_0x11143e['toLowerCase']()+'\x20'));}[a0_0x2f90c3(0x182)](_0x2f49c3,_0x3fc230,_0xf7cf66){const _0x4e60cd=a0_0x2f90c3,_0x410c9e={'timestamp':new Date()[_0x4e60cd(0x158)](),'agentId':_0xf7cf66,'action':_0x2f49c3['type'],'command':_0x2f49c3[_0x4e60cd(0x12e)]||_0x2f49c3['directory'],'success':_0x3fc230['success'],'executionTime':_0x3fc230['executionTime']||0x0,'workingDirectory':_0x3fc230[_0x4e60cd(0x21a)]};this['commandHistory']['push'](_0x410c9e),this['commandHistory']['length']>0x64&&(this[_0x4e60cd(0x188)]=this[_0x4e60cd(0x188)]['slice'](-0x64));}['getSupportedActions'](){const _0x171b8b=a0_0x2f90c3;return['run-command',_0x171b8b(0x229),'list-directory','create-directory','get-working-directory'];}[a0_0x2f90c3(0x130)](){const _0x1aa007=a0_0x2f90c3;return{'type':_0x1aa007(0x1e6),'properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':'object','properties':{'type':{'type':_0x1aa007(0x1cd),'enum':this[_0x1aa007(0x125)]()},'command':{'type':'string'},'directory':{'type':'string'}},'required':[_0x1aa007(0x1ac)]}},'timeout':{'type':_0x1aa007(0x134),'minimum':0x3e8,'maximum':this[_0x1aa007(0x1df)]},'async':{'type':'boolean'}},'required':[_0x1aa007(0x196)]};}['getCommandHistory'](_0x4d75ca=null){const _0x44c185=a0_0x2f90c3;if(_0x4d75ca)return this['commandHistory'][_0x44c185(0x211)](_0xf4ad3c=>_0xf4ad3c['agentId']===_0x4d75ca);return[...this['commandHistory']];}[a0_0x2f90c3(0x23b)](_0x35ba0e){const _0x2f945f=a0_0x2f90c3;for(const [_0x423b83]of this[_0x2f945f(0x11c)]){_0x423b83[_0x2f945f(0x1f6)](_0x35ba0e+'-')&&this['workingDirectories']['delete'](_0x423b83);}}['getCurrentWorkingDirectory'](_0x4a2eca,_0x5c6d83=null){const _0x3f4262=a0_0x2f90c3,_0x4a4af1=_0x4a2eca+'-'+(_0x5c6d83||'default');return this[_0x3f4262(0x11c)]['get'](_0x4a4af1)||_0x5c6d83||process[_0x3f4262(0x14a)]();}[a0_0x2f90c3(0x189)](){const _0x680404=a0_0x2f90c3;this['platformType']=process[_0x680404(0x1de)];if(process['platform']===_0x680404(0x1cf)){if(process[_0x680404(0x17c)][_0x680404(0x15e)])this[_0x680404(0x194)]='powershell';else process[_0x680404(0x17c)][_0x680404(0x21c)]&&process[_0x680404(0x17c)]['SHELL'][_0x680404(0x1ee)](_0x680404(0x1a4))?this['detectedTerminal']='bash':this[_0x680404(0x194)]='cmd';}else process[_0x680404(0x1de)]===_0x680404(0x11e)?this['detectedTerminal']='bash':this['detectedTerminal']=_0x680404(0x1a4);this['logger']?.[_0x680404(0x1c5)]('Terminal\x20detected',{'platform':this['platformType'],'terminal':this['detectedTerminal'],'shell':process[_0x680404(0x17c)][_0x680404(0x21c)]});}async['translateCommand'](_0x3d224f,_0x4a2a23={}){const _0x116108=a0_0x2f90c3,_0x1124bc=_0x3d224f[_0x116108(0x180)](),_0x1e6d95=this['analyzeCommandCompatibility'](_0x1124bc);this[_0x116108(0x19c)]?.[_0x116108(0x1c5)](_0x116108(0x199),{'command':_0x1124bc,'detectedTerminal':_0x1e6d95['detectedTerminal'],'commandType':_0x1e6d95['commandType'],'commandCategory':_0x1e6d95[_0x116108(0x119)],'compatible':_0x1e6d95[_0x116108(0x234)],'issues':_0x1e6d95[_0x116108(0x135)],'suggestedAction':_0x1e6d95['suggestedAction'],'confidence':_0x1e6d95['confidence']});if(_0x1e6d95[_0x116108(0x234)])return _0x3d224f;let _0xf090fa=null;if(this['detectedTerminal']==='cmd')_0xf090fa=this['translateToWindowsCmd'](_0x1124bc);else{if(this[_0x116108(0x194)]==='powershell')_0xf090fa=this['translateToPowerShell'](_0x1124bc);else this[_0x116108(0x194)]==='bash'&&(_0xf090fa=this[_0x116108(0x219)](_0x1124bc));}if(_0xf090fa&&this['isSimpleCommand'](_0x1124bc))return this[_0x116108(0x19c)]?.[_0x116108(0x1c5)](_0x116108(0x205),{'original':_0x3d224f,'translated':_0xf090fa,'method':_0x116108(0x1dd)}),_0xf090fa;if(_0x4a2a23['aiService']||_0x4a2a23[_0x116108(0x170)]&&_0x4a2a23[_0x116108(0x178)]){this[_0x116108(0x19c)]?.['info']('Attempting\x20AI\x20translation\x20for\x20complex\x20command',{'command':_0x3d224f['substring'](0x0,0x64)+_0x116108(0x20b),'hasAiService':!!_0x4a2a23[_0x116108(0x216)],'hasToolsRegistry':!!_0x4a2a23['toolsRegistry'],'agentId':_0x4a2a23[_0x116108(0x178)]});try{const _0x262718=await this['translateCommandWithAI'](_0x3d224f,_0x4a2a23);if(_0x262718&&_0x262718[_0x116108(0x180)]()!==_0x3d224f['trim']())return this[_0x116108(0x19c)]?.[_0x116108(0x1c5)](_0x116108(0x113),{'original':_0x3d224f,'translated':_0x262718,'method':'ai'}),_0x262718;else this['logger']?.['warn']('AI\x20translation\x20returned\x20same\x20command',{'original':_0x3d224f,'translated':_0x262718});}catch(_0x2bd683){this[_0x116108(0x19c)]?.['warn'](_0x116108(0x172),{'original':_0x3d224f,'error':_0x2bd683[_0x116108(0x1b9)],'stack':_0x2bd683[_0x116108(0x160)]});}}else this[_0x116108(0x19c)]?.[_0x116108(0x1d7)]('AI\x20translation\x20not\x20available\x20-\x20missing\x20context',{'hasAiService':!!_0x4a2a23[_0x116108(0x216)],'hasToolsRegistry':!!_0x4a2a23['toolsRegistry'],'hasAgentId':!!_0x4a2a23[_0x116108(0x178)],'contextKeys':Object[_0x116108(0x237)](_0x4a2a23)});return _0xf090fa||_0x3d224f;}[a0_0x2f90c3(0x1aa)](_0x519ce8){const _0x5b36f4=a0_0x2f90c3,_0x19c250=_0x519ce8['toLowerCase']();if(_0x519ce8[_0x5b36f4(0x1ee)]('\x5cn')||_0x519ce8['includes']('\x5cr')||_0x519ce8['includes']('\x5ct'))return![];if(_0x519ce8[_0x5b36f4(0x1ee)]('\x0a')||_0x519ce8[_0x5b36f4(0x1ee)]('\x0d'))return![];if(_0x519ce8[_0x5b36f4(0x1ee)]('#include')||_0x519ce8[_0x5b36f4(0x1ee)]('printf')||_0x519ce8[_0x5b36f4(0x1ee)](_0x5b36f4(0x150)))return![];if(_0x519ce8['includes'](_0x5b36f4(0x146))||_0x519ce8['includes'](_0x5b36f4(0x22d))||_0x519ce8['includes']('class\x20'))return![];if(_0x519ce8[_0x5b36f4(0x1ee)]('echo\x20\x27')&&!_0x519ce8[_0x5b36f4(0x1ee)](_0x5b36f4(0x14f)))return![];const _0x277b49=_0x519ce8['match'](/'([^']*)'/);if(_0x277b49&&_0x277b49[0x1]['length']>0x32)return![];if(this[_0x5b36f4(0x194)]==='cmd'&&_0x519ce8[_0x5b36f4(0x1ee)]('>')&&_0x519ce8[_0x5b36f4(0x1ee)]('/')&&!_0x519ce8['includes']('\x5c'))return![];if(_0x519ce8[_0x5b36f4(0x1ee)](_0x5b36f4(0x14b))||_0x519ce8[_0x5b36f4(0x1ee)](_0x5b36f4(0x101))||_0x519ce8['includes'](';\x20'))return![];if(_0x519ce8['includes']('$(')||_0x519ce8['includes']('`')||_0x519ce8['includes']('{')||_0x519ce8[_0x5b36f4(0x1ee)]('['))return![];if(_0x19c250['includes']('for\x20')||_0x19c250['includes'](_0x5b36f4(0x165))||_0x19c250[_0x5b36f4(0x1ee)]('if\x20'))return![];if(_0x19c250['includes']('export ')||_0x19c250[_0x5b36f4(0x1ee)](_0x5b36f4(0x1d4)))return![];if(_0x519ce8[_0x5b36f4(0x1ee)](_0x5b36f4(0x11f))||_0x519ce8['includes']('\x20>\x20&'))return![];return!![];}async[a0_0x2f90c3(0x1b4)](_0x3c82c1,_0x413b01){const _0x406363=a0_0x2f90c3;let _0x51820d=_0x413b01[_0x406363(0x216)];if(!_0x51820d&&_0x413b01[_0x406363(0x170)]&&_0x413b01[_0x406363(0x178)]){const _0x217055=_0x413b01['messageProcessor'];_0x217055&&_0x217055[_0x406363(0x216)]&&(_0x51820d=_0x217055[_0x406363(0x216)]);}if(!_0x51820d)throw new Error(_0x406363(0x149));const _0xb35902=this[_0x406363(0x23e)](_0x3c82c1),_0x1aef92=_0x406363(0x198);try{const _0x320d61=await _0x51820d[_0x406363(0xf3)](_0x1aef92,_0xb35902,{'agentId':_0x413b01['agentId'],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x413b01[_0x406363(0xfc)],'customApiKeys':_0x413b01['customApiKeys'],'platformProvided':_0x413b01['platformProvided']}),_0x338d79=this['extractTranslatedCommand'](_0x320d61[_0x406363(0x191)]);return this[_0x406363(0x19c)]?.['debug']('AI\x20command\x20translation\x20completed',{'original':_0x3c82c1,'translated':_0x338d79,'model':_0x1aef92,'terminal':this['detectedTerminal']}),_0x338d79;}catch(_0x2d8516){this['logger']?.['error'](_0x406363(0x1fc),{'command':_0x3c82c1,'terminal':this['detectedTerminal'],'error':_0x2d8516['message']});throw _0x2d8516;}}['buildTranslationPrompt'](_0x42631f){const _0x4b1597=a0_0x2f90c3,_0x5922ed={'cmd':_0x4b1597(0x226),'powershell':'Windows\x20PowerShell','bash':'Bash\x20shell\x20(Linux/Unix/macOS)'},_0x384125=_0x5922ed[this['detectedTerminal']]||this['detectedTerminal'],_0xd782fa=this['analyzeCommandCompatibility'](_0x42631f);let _0x5a4b53=_0x4b1597(0x1f7)+_0x384125+_0x4b1597(0x21f)+_0x42631f+'\x0a```\x0a\x0aCOMMAND\x20ANALYSIS:\x0a-\x20Command\x20Type:\x20'+_0xd782fa[_0x4b1597(0x1b7)]+_0x4b1597(0x1a6)+_0xd782fa['commandCategory']+_0x4b1597(0x10b)+_0x384125+_0x4b1597(0x1bd)+(_0xd782fa['specificIssues']['join'](',\x20')||'None\x20detected');return _0xd782fa[_0x4b1597(0x1b7)]==='unix'&&_0xd782fa[_0x4b1597(0x163)]&&_0xd782fa[_0x4b1597(0x163)][this['detectedTerminal']]&&(_0x5a4b53+=_0x4b1597(0x1e2)+_0xd782fa[_0x4b1597(0x163)][this['detectedTerminal']]),_0x5a4b53+='\x0a\x0aREQUIREMENTS:\x0a1.\x20Make\x20the\x20command\x20work\x20correctly\x20in\x20'+_0x384125+_0x4b1597(0x127),_0x5a4b53;}[a0_0x2f90c3(0x1f3)](_0x5b0728){const _0xdc09fa=a0_0x2f90c3;let _0x52dbb8=_0x5b0728['replace'](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x52dbb8=_0x52dbb8['replace'](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x4b56bf=_0x52dbb8['trim']()['split']('\x0a');return _0x4b56bf[_0xdc09fa(0x22c)]>0x1&&!_0x52dbb8['includes']('&&')&&!_0x52dbb8[_0xdc09fa(0x1ee)]('||')&&(_0x52dbb8=_0x4b56bf[0x0]['trim']()),_0x52dbb8[_0xdc09fa(0x180)]();}[a0_0x2f90c3(0x1f9)](_0x558f07){const _0x40519f=a0_0x2f90c3,_0x508dad=this['classifyCommand'](_0x558f07),_0x1b3467=this[_0x40519f(0x193)](_0x508dad,this[_0x40519f(0x194)]);return{'compatible':_0x1b3467,'detectedTerminal':this['detectedTerminal'],'commandType':_0x508dad[_0x40519f(0x1ac)],'commandCategory':_0x508dad[_0x40519f(0xef)],'specificIssues':_0x508dad[_0x40519f(0x1a0)],'suggestedAction':_0x1b3467?_0x40519f(0x148):_0x40519f(0xf0),'confidence':_0x508dad[_0x40519f(0x11b)]};}['isCommandCompatible'](_0x3f65b6){const _0x86be30=a0_0x2f90c3;return this[_0x86be30(0x1f9)](_0x3f65b6)[_0x86be30(0x234)];}['classifyCommand'](_0x2f0eec){const _0x48a475=a0_0x2f90c3,_0x4be9b0=_0x2f0eec['toLowerCase']()['trim'](),_0x3f896d=_0x4be9b0[_0x48a475(0x220)]('\x20')[0x0],_0x367150=[];let _0x48d98b=0.9;const _0x97d1a2={'ls':{'category':_0x48a475(0x20e),'alternatives':{'cmd':'dir','powershell':_0x48a475(0x117)}},'cat':{'category':'file-viewing','alternatives':{'cmd':_0x48a475(0x1ac),'powershell':'Get-Content'}},'grep':{'category':_0x48a475(0x1e1),'alternatives':{'cmd':_0x48a475(0x232),'powershell':_0x48a475(0x114)}},'find':{'category':'file-search','alternatives':{'cmd':_0x48a475(0xf6),'powershell':'Get-ChildItem\x20-Recurse'}},'head':{'category':'file-viewing','alternatives':{'cmd':'more','powershell':'Get-Content\x20-Head'}},'tail':{'category':_0x48a475(0x1cb),'alternatives':{'cmd':_0x48a475(0x222),'powershell':'Get-Content\x20-Tail'}},'wc':{'category':'text-analysis','alternatives':{'cmd':'find\x20/c','powershell':'Measure-Object'}},'cp':{'category':'file-copy','alternatives':{'cmd':_0x48a475(0x201),'powershell':'Copy-Item'}},'mv':{'category':'file-move','alternatives':{'cmd':_0x48a475(0x1ca),'powershell':_0x48a475(0x10c)}},'rm':{'category':'file-delete','alternatives':{'cmd':'del','powershell':_0x48a475(0x151)}},'mkdir':{'category':_0x48a475(0x183),'alternatives':{'cmd':'mkdir','powershell':'New-Item\x20-Type\x20Directory'}},'rmdir':{'category':'directory-delete','alternatives':{'cmd':'rmdir','powershell':_0x48a475(0x151)}},'touch':{'category':_0x48a475(0x16a),'alternatives':{'cmd':'type\x20nul\x20>','powershell':_0x48a475(0x1f2)}},'chmod':{'category':_0x48a475(0x22a),'alternatives':{'cmd':'icacls','powershell':'Set-Acl'}},'chown':{'category':'ownership','alternatives':{'cmd':'takeown','powershell':'Set-Acl'}},'ps':{'category':_0x48a475(0x176),'alternatives':{'cmd':_0x48a475(0x143),'powershell':_0x48a475(0x123)}},'kill':{'category':_0x48a475(0x1f4),'alternatives':{'cmd':_0x48a475(0x19e),'powershell':'Stop-Process'}},'killall':{'category':'process-kill','alternatives':{'cmd':_0x48a475(0x1ed),'powershell':_0x48a475(0x1c9)}},'top':{'category':'process-monitor','alternatives':{'cmd':'tasklist','powershell':_0x48a475(0x1be)}},'wget':{'category':_0x48a475(0x1b6),'alternatives':{'cmd':_0x48a475(0x231),'powershell':'Invoke-WebRequest'}},'curl':{'category':_0x48a475(0x129),'alternatives':{'cmd':_0x48a475(0x231),'powershell':_0x48a475(0x15d)}},'ping':{'category':'network-test','alternatives':{'cmd':'ping','powershell':_0x48a475(0xfb)}},'awk':{'category':_0x48a475(0x1b5),'alternatives':{'cmd':_0x48a475(0x122),'powershell':_0x48a475(0xff)}},'sed':{'category':'text-edit','alternatives':{'cmd':_0x48a475(0x1d2),'powershell':'native'}},'sort':{'category':'text-sort','alternatives':{'cmd':_0x48a475(0x20d),'powershell':'Sort-Object'}},'uniq':{'category':_0x48a475(0x1b3),'alternatives':{'cmd':_0x48a475(0x185),'powershell':_0x48a475(0x1e9)}},'pwd':{'category':_0x48a475(0x140),'alternatives':{'cmd':'cd','powershell':_0x48a475(0xf4)}},'whoami':{'category':'user-info','alternatives':{'cmd':_0x48a475(0x17a),'powershell':_0x48a475(0x16b)}},'env':{'category':'environment','alternatives':{'cmd':'set','powershell':'Get-ChildItem\x20Env:'}},'export':{'category':'environment','alternatives':{'cmd':_0x48a475(0x145),'powershell':'$env:'}},'source':{'category':_0x48a475(0x115),'alternatives':{'cmd':'call','powershell':'.\x20'}},'tar':{'category':'archive','alternatives':{'cmd':'7z','powershell':'Compress-Archive'}},'zip':{'category':_0x48a475(0x111),'alternatives':{'cmd':'powershell\x20Compress-Archive','powershell':_0x48a475(0xfe)}},'unzip':{'category':'archive','alternatives':{'cmd':'powershell\x20Expand-Archive','powershell':'Expand-Archive'}},'df':{'category':'disk-info','alternatives':{'cmd':'fsutil\x20volume\x20diskfree','powershell':'Get-WmiObject\x20-Class\x20Win32_LogicalDisk'}},'du':{'category':'disk-usage','alternatives':{'cmd':'dir\x20/s','powershell':'Get-ChildItem\x20-Recurse\x20|\x20Measure-Object'}},'free':{'category':_0x48a475(0x18b),'alternatives':{'cmd':_0x48a475(0x200),'powershell':_0x48a475(0xf1)}},'uname':{'category':_0x48a475(0x236),'alternatives':{'cmd':_0x48a475(0x200),'powershell':_0x48a475(0x112)}}},_0x31f382={'dir':{'category':_0x48a475(0x20e),'alternatives':{'unix':'ls','powershell':'Get-ChildItem'}},'type':{'category':'file-viewing','alternatives':{'unix':_0x48a475(0x195),'powershell':_0x48a475(0x1ba)}},'copy':{'category':'file-copy','alternatives':{'unix':'cp','powershell':'Copy-Item'}},'move':{'category':_0x48a475(0x12f),'alternatives':{'unix':'mv','powershell':'Move-Item'}},'del':{'category':_0x48a475(0x1e0),'alternatives':{'unix':'rm','powershell':_0x48a475(0x151)}},'tasklist':{'category':'process-list','alternatives':{'unix':'ps','powershell':_0x48a475(0x123)}},'taskkill':{'category':_0x48a475(0x1f4),'alternatives':{'unix':'kill','powershell':_0x48a475(0x1ae)}},'findstr':{'category':_0x48a475(0x1e1),'alternatives':{'unix':'grep','powershell':'Select-String'}}},_0x246b82={'get-childitem':{'category':_0x48a475(0x20e),'alternatives':{'unix':'ls','cmd':'dir'}},'get-content':{'category':'file-viewing','alternatives':{'unix':_0x48a475(0x195),'cmd':'type'}},'copy-item':{'category':'file-copy','alternatives':{'unix':'cp','cmd':_0x48a475(0x201)}},'move-item':{'category':'file-move','alternatives':{'unix':'mv','cmd':_0x48a475(0x1ca)}},'remove-item':{'category':_0x48a475(0x1e0),'alternatives':{'unix':'rm','cmd':_0x48a475(0xfd)}},'get-process':{'category':_0x48a475(0x176),'alternatives':{'unix':'ps','cmd':_0x48a475(0x143)}},'stop-process':{'category':_0x48a475(0x1f4),'alternatives':{'unix':_0x48a475(0xf9),'cmd':_0x48a475(0x19e)}}};let _0xa96612='unknown',_0x482331=_0x48a475(0xf7),_0x221e47={};if(_0x97d1a2[_0x3f896d])_0xa96612=_0x48a475(0x1d6),_0x482331=_0x97d1a2[_0x3f896d]['category'],_0x221e47=_0x97d1a2[_0x3f896d]['alternatives'];else{if(_0x31f382[_0x3f896d])_0xa96612='windows-cmd',_0x482331=_0x31f382[_0x3f896d][_0x48a475(0xef)],_0x221e47=_0x31f382[_0x3f896d][_0x48a475(0x163)];else{if(_0x246b82[_0x3f896d])_0xa96612='powershell',_0x482331=_0x246b82[_0x3f896d][_0x48a475(0xef)],_0x221e47=_0x246b82[_0x3f896d][_0x48a475(0x163)];else{const _0xf44b84=[_0x48a475(0x192),'cd','exit',_0x48a475(0x215)];_0xf44b84['includes'](_0x3f896d)?(_0xa96612=_0x48a475(0x13b),_0x482331=_0x48a475(0x169)):(_0xa96612=_0x48a475(0xf7),_0x48d98b=0.3);}}}return _0x2f0eec[_0x48a475(0x1ee)]('\x27')&&!_0x2f0eec[_0x48a475(0x1ee)]('\x22')&&_0x367150['push']('single-quotes-problematic'),_0x2f0eec['includes']('/')&&!_0x2f0eec[_0x48a475(0x1ee)]('\x5c')&&!_0x2f0eec[_0x48a475(0x1ee)](_0x48a475(0x167))&&_0x2f0eec[_0x48a475(0x1ee)]('>')&&_0x367150['push'](_0x48a475(0x23c)),(_0x2f0eec[_0x48a475(0x1ee)]('\x5cn')||_0x2f0eec['includes']('\x5ct'))&&_0x367150['push']('escape-sequences'),(_0x2f0eec['includes'](_0x48a475(0x14b))||_0x2f0eec['includes'](_0x48a475(0x101))||_0x2f0eec['includes'](';'))&&_0x367150[_0x48a475(0x208)]('command-chaining'),{'type':_0xa96612,'category':_0x482331,'alternatives':_0x221e47,'issues':_0x367150,'confidence':_0x48d98b,'firstWord':_0x3f896d,'fullCommand':_0x2f0eec};}['isCommandCompatibleWithTerminal'](_0xe0fad2,_0x15dadb){const _0x1d4ba1=a0_0x2f90c3;switch(_0x15dadb){case _0x1d4ba1(0x152):if(_0xe0fad2[_0x1d4ba1(0x1ac)]===_0x1d4ba1(0x1d6))return![];if(_0xe0fad2[_0x1d4ba1(0x1a0)]['includes'](_0x1d4ba1(0x10e)))return![];if(_0xe0fad2[_0x1d4ba1(0x1a0)]['includes']('unix-style-paths'))return![];return _0xe0fad2[_0x1d4ba1(0x1ac)]===_0x1d4ba1(0x1ea)||_0xe0fad2['type']===_0x1d4ba1(0x13b);case'powershell':if(_0xe0fad2['type']===_0x1d4ba1(0x1d6)&&!_0xe0fad2['alternatives'][_0x1d4ba1(0x203)])return![];return!![];case _0x1d4ba1(0x1a4):if(_0xe0fad2['type']===_0x1d4ba1(0x1ea))return![];return _0xe0fad2['type']==='unix'||_0xe0fad2['type']===_0x1d4ba1(0x13b);default:return![];}}['translateToWindowsCmd'](_0x74b03d){const _0x3dcba6=a0_0x2f90c3;let _0x5a63b1=_0x74b03d;const _0x454f71=new Map([[/^ls\s*$/,'dir'],[/^ls\s+-la?$/,'dir'],[/^ls\s+-l$/,_0x3dcba6(0x1f1)],[/^ls\s+-a$/,_0x3dcba6(0xfa)],[/^cat\s+(.+)$/,_0x3dcba6(0x1d8)],[/^cp\s+(.+)\s+(.+)$/,_0x3dcba6(0x20c)],[/^mv\s+(.+)\s+(.+)$/,_0x3dcba6(0x1bc)],[/^rm\s+(.+)$/,_0x3dcba6(0x131)],[/^mkdir\s+(.+)$/,'mkdir\x20$1'],[/^rmdir\s+(.+)$/,'rmdir\x20$1'],[/^ps\s*$/,'tasklist'],[/^kill\s+(.+)$/,_0x3dcba6(0x214)],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,'echo\x20%USERNAME%'],[/^ping\s+(.+)$/,_0x3dcba6(0x238)],[/^wget\s+(.+)$/,'curl\x20-O\x20$1'],[/^curl\s+(.+)$/,_0x3dcba6(0x13f)]]);for(const [_0x20f989,_0x54226c]of _0x454f71){if(_0x20f989['test'](_0x5a63b1)){_0x5a63b1=_0x5a63b1['replace'](_0x20f989,_0x54226c);break;}}_0x5a63b1=_0x5a63b1['replace'](/echo\s+'([^']+)'\s*>/g,_0x3dcba6(0x177)),_0x5a63b1=_0x5a63b1['replace'](/echo\s+'([^']+)'$/g,'echo\x20\x22$1\x22');if(_0x5a63b1[_0x3dcba6(0x1ee)](_0x3dcba6(0x14e))&&_0x5a63b1['includes']('\x5cn')){const _0xd3241f=_0x5a63b1['match'](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0xd3241f){const _0x3da873=_0xd3241f[0x1][_0x3dcba6(0x18e)](/\\n/g,'\x0a'),_0x504942=_0xd3241f[0x2],_0x462d86=_0x3da873[_0x3dcba6(0x220)]('\x0a');_0x5a63b1='('+_0x462d86[_0x3dcba6(0x12d)](_0x4fb007=>_0x3dcba6(0x179)+_0x4fb007)['join']('\x20&\x20')+')\x20>\x20'+_0x504942;}}return this[_0x3dcba6(0x19c)]?.['info']('Command\x20translated\x20for\x20Windows\x20CMD',{'original':_0x74b03d,'translated':_0x5a63b1}),_0x5a63b1;}['translateToPowerShell'](_0x440054){const _0x5c8a6a=a0_0x2f90c3;let _0x11f029=_0x440054;const _0x88692d=new Map([[/^ls\s*$/,_0x5c8a6a(0x117)],[/^ls\s+-la?$/,'Get-ChildItem\x20-Force'],[/^cat\s+(.+)$/,_0x5c8a6a(0x1e5)],[/^cp\s+(.+)\s+(.+)$/,'Copy-Item\x20$1\x20$2'],[/^mv\s+(.+)\s+(.+)$/,_0x5c8a6a(0x223)],[/^rm\s+(.+)$/,_0x5c8a6a(0x1fd)],[/^pwd\s*$/,_0x5c8a6a(0xf4)],[/^ps\s*$/,_0x5c8a6a(0x123)]]);for(const [_0x4794f7,_0x4869ae]of _0x88692d){if(_0x4794f7[_0x5c8a6a(0x16c)](_0x11f029)){_0x11f029=_0x11f029['replace'](_0x4794f7,_0x4869ae);break;}}return this[_0x5c8a6a(0x19c)]?.[_0x5c8a6a(0x1c5)](_0x5c8a6a(0x1b2),{'original':_0x440054,'translated':_0x11f029}),_0x11f029;}['translateToBash'](_0x1b8af7){const _0x214cca=a0_0x2f90c3;let _0x40354f=_0x1b8af7;const _0x420243=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,'ls\x20-a'],[/^type\s+(.+)$/,'cat\x20$1'],[/^copy\s+(.+)\s+(.+)$/,_0x214cca(0x1a9)],[/^move\s+(.+)\s+(.+)$/,'mv\x20$1\x20$2'],[/^del\s+(.+)$/,_0x214cca(0x15c)],[/^tasklist\s*$/,'ps'],[/^cd\s*$/,_0x214cca(0x126)]]);for(const [_0x28ed0d,_0x936ab5]of _0x420243){if(_0x28ed0d['test'](_0x40354f)){_0x40354f=_0x40354f[_0x214cca(0x18e)](_0x28ed0d,_0x936ab5);break;}}return _0x40354f;}async[a0_0x2f90c3(0x156)](_0x58d30a){}async[a0_0x2f90c3(0x144)](_0x212226,_0x129bd4,_0x56e418={}){const _0x1fba53=a0_0x2f90c3,{agentId:_0x121bfe,context:_0x3b54ab}=_0x56e418;if(!_0x121bfe)throw new Error(_0x1fba53(0x16f));const _0x1f159e=this[_0x1fba53(0x1fe)](_0x121bfe),_0x58abdd=_0x1f159e['filter'](_0xce1b81=>_0xce1b81['state']===_0x1fba53(0x1bb)||_0xce1b81[_0x1fba53(0x23a)]==='waiting_for_input');if(_0x58abdd[_0x1fba53(0x22c)]>=this['MAX_BACKGROUND_COMMANDS_PER_AGENT'])throw new Error('Maximum\x20background\x20commands\x20per\x20agent\x20exceeded\x20('+this['MAX_BACKGROUND_COMMANDS_PER_AGENT']+')');const _0x29b3ff=Array['from'](this['commandTracker']['values']()),_0x31f72f=_0x29b3ff[_0x1fba53(0x211)](_0x3c7433=>_0x3c7433['state']===_0x1fba53(0x1bb)||_0x3c7433['state']===_0x1fba53(0x132));if(_0x31f72f[_0x1fba53(0x22c)]>=this['MAX_BACKGROUND_COMMANDS_GLOBAL'])throw new Error('Maximum\x20global\x20background\x20commands\x20exceeded\x20('+this['MAX_BACKGROUND_COMMANDS_GLOBAL']+')');const _0x4fd0f5=_0x121bfe+_0x1fba53(0x22b)+Date['now']()+'-'+ ++this['commandIdCounter'],_0x2bacfa=_0x212226;let _0x525742;try{_0x525742=await this[_0x1fba53(0x102)](_0x212226,{'agentId':_0x121bfe,'toolsRegistry':_0x3b54ab?.['toolsRegistry'],'messageProcessor':_0x3b54ab?.[_0x1fba53(0x224)],'aiService':_0x3b54ab?.['aiService'],'apiKey':_0x3b54ab?.['apiKey'],'customApiKeys':_0x3b54ab?.[_0x1fba53(0x121)],'platformProvided':_0x3b54ab?.['platformProvided']});}catch(_0x281dee){this[_0x1fba53(0x19c)]?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x2bacfa,'error':_0x281dee['message']}),_0x525742=_0x212226;}this['logger']?.['info'](_0x1fba53(0x136)+_0x525742,{'commandId':_0x4fd0f5,'agentId':_0x121bfe,'originalCommand':_0x2bacfa,'workingDirectory':_0x129bd4});let _0x35f9f0;if(this[_0x1fba53(0x194)]==='cmd'||this['detectedTerminal']===_0x1fba53(0x203)){const _0x4d0610=this['detectedTerminal']==='powershell'?_0x1fba53(0x203):'cmd',_0x25669f=this[_0x1fba53(0x194)]===_0x1fba53(0x203)?['-Command',_0x525742]:['/c',_0x525742];_0x35f9f0=spawn(_0x4d0610,_0x25669f,{'cwd':_0x129bd4,'env':{...process[_0x1fba53(0x17c)]},'windowsHide':!![],'stdio':['pipe','pipe','pipe']});}else _0x35f9f0=spawn('sh',['-c',_0x525742],{'cwd':_0x129bd4,'env':{...process['env']},'stdio':[_0x1fba53(0x18c),_0x1fba53(0x18c),'pipe']});const _0x32854c={'commandId':_0x4fd0f5,'agentId':_0x121bfe,'pid':_0x35f9f0['pid'],'command':_0x2bacfa,'translatedCommand':_0x525742,'workingDirectory':_0x129bd4,'startTime':new Date()['toISOString'](),'state':'running','exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date[_0x1fba53(0x174)](),'promptDetected':null,'process':_0x35f9f0};return this[_0x1fba53(0x100)][_0x1fba53(0x145)](_0x4fd0f5,_0x32854c),_0x35f9f0['stdout']['on'](_0x1fba53(0x1d9),_0x3d34c4=>{const _0x240d66=_0x1fba53,_0x5e9023=_0x3d34c4['toString']();_0x32854c['stdoutBuffer']+=_0x5e9023,_0x32854c['lastOutputTime']=Date[_0x240d66(0x174)]();if(!_0x32854c[_0x240d66(0x1ab)]){const _0x13ee61=this['promptDetector'][_0x240d66(0x118)](_0x32854c[_0x240d66(0x1f5)],'stdout');_0x13ee61&&(_0x32854c[_0x240d66(0x1ab)]=_0x13ee61,_0x32854c[_0x240d66(0x23a)]=_0x240d66(0x132),this[_0x240d66(0x19c)]?.['info'](_0x240d66(0x17b),{'commandId':_0x4fd0f5,'agentId':_0x121bfe,'type':_0x13ee61[_0x240d66(0x1ac)],'matchedText':_0x13ee61['matchedText']}));}}),_0x35f9f0[_0x1fba53(0x12b)]['on'](_0x1fba53(0x1d9),_0x154718=>{const _0x54f103=_0x1fba53,_0x49401d=_0x154718[_0x54f103(0x14d)]();_0x32854c[_0x54f103(0x20a)]+=_0x49401d,_0x32854c['lastOutputTime']=Date[_0x54f103(0x174)]();if(!_0x32854c[_0x54f103(0x1ab)]){const _0x116dce=this['promptDetector']['detectPrompt'](_0x32854c['stderrBuffer'],_0x54f103(0x12b));_0x116dce&&(_0x32854c[_0x54f103(0x1ab)]=_0x116dce,_0x32854c['state']='waiting_for_input',this['logger']?.[_0x54f103(0x1c5)]('Prompt\x20detected\x20in\x20background\x20command\x20stderr',{'commandId':_0x4fd0f5,'agentId':_0x121bfe,'type':_0x116dce[_0x54f103(0x1ac)],'matchedText':_0x116dce['matchedText']}));}}),_0x35f9f0['on'](_0x1fba53(0x142),(_0x1839f4,_0xb68bb7)=>{const _0x262d28=_0x1fba53;_0x32854c[_0x262d28(0x19a)]=_0x1839f4,_0x32854c[_0x262d28(0x23a)]=_0x1839f4===0x0?_0x262d28(0x18a):_0x262d28(0x1b0),_0x32854c['endTime']=new Date()['toISOString'](),this[_0x262d28(0x19c)]?.[_0x262d28(0x1c5)]('Background\x20command\x20exited',{'commandId':_0x4fd0f5,'agentId':_0x121bfe,'exitCode':_0x1839f4,'signal':_0xb68bb7,'state':_0x32854c[_0x262d28(0x23a)]});}),_0x35f9f0['on'](_0x1fba53(0x107),_0x2d1ee8=>{const _0x5de400=_0x1fba53;_0x32854c[_0x5de400(0x23a)]='failed',_0x32854c[_0x5de400(0x107)]=_0x2d1ee8[_0x5de400(0x1b9)],_0x32854c[_0x5de400(0x19d)]=new Date()['toISOString'](),this[_0x5de400(0x19c)]?.['error']('Background\x20command\x20error',{'commandId':_0x4fd0f5,'agentId':_0x121bfe,'error':_0x2d1ee8['message']});}),{'success':!![],'commandId':_0x4fd0f5,'pid':_0x35f9f0[_0x1fba53(0x1f8)],'command':_0x2bacfa,'translatedCommand':_0x525742,'workingDirectory':_0x129bd4,'message':_0x1fba53(0x162)+_0x4fd0f5};}['sendInput'](_0x4c4aa7,_0x552f30,_0x135f38){const _0x1624ab=a0_0x2f90c3,_0x14b789=this[_0x1624ab(0x1c3)](_0x4c4aa7,_0x135f38);if(_0x14b789[_0x1624ab(0x23a)]===_0x1624ab(0x18a)||_0x14b789[_0x1624ab(0x23a)]==='failed')throw new Error(_0x1624ab(0x1ad)+_0x14b789['state']+'\x20command');if(!_0x14b789['process']||_0x14b789[_0x1624ab(0x14c)]['killed'])throw new Error('Command\x20process\x20is\x20not\x20running');const _0x1928e2=_0x552f30[_0x1624ab(0x1b8)]('\x0a')?_0x552f30:_0x552f30+'\x0a';return _0x14b789[_0x1624ab(0x14c)]['stdin'][_0x1624ab(0x17e)](_0x1928e2),this[_0x1624ab(0x19c)]?.['info'](_0x1624ab(0x1a2),{'commandId':_0x4c4aa7,'agentId':_0x135f38,'inputLength':_0x552f30['length']}),_0x14b789[_0x1624ab(0x23a)]===_0x1624ab(0x132)&&(_0x14b789[_0x1624ab(0x23a)]=_0x1624ab(0x1bb),_0x14b789[_0x1624ab(0x1ab)]=null),{'success':!![],'commandId':_0x4c4aa7,'message':'Input\x20sent\x20successfully'};}[a0_0x2f90c3(0x173)](_0xe1d370,_0x16898c){const _0x43ed7e=a0_0x2f90c3,_0x3ff101=this[_0x43ed7e(0x1c3)](_0xe1d370,_0x16898c),_0x2b3a25=Date['now']()-_0x3ff101[_0x43ed7e(0x175)];return{'success':!![],'commandId':_0xe1d370,'pid':_0x3ff101['pid'],'command':_0x3ff101[_0x43ed7e(0x12e)],'state':_0x3ff101[_0x43ed7e(0x23a)],'exitCode':_0x3ff101['exitCode'],'startTime':_0x3ff101[_0x43ed7e(0x12a)],'endTime':_0x3ff101['endTime'],'workingDirectory':_0x3ff101['workingDirectory'],'stdout':_0x3ff101[_0x43ed7e(0x1f5)],'stderr':_0x3ff101[_0x43ed7e(0x20a)],'stdoutLength':_0x3ff101[_0x43ed7e(0x1f5)]['length'],'stderrLength':_0x3ff101['stderrBuffer']['length'],'lastOutputTime':_0x3ff101['lastOutputTime'],'timeSinceLastOutput':_0x2b3a25,'promptDetected':!!_0x3ff101[_0x43ed7e(0x1ab)],'promptInfo':_0x3ff101['promptDetected']||undefined};}[a0_0x2f90c3(0x1c8)](_0x59008f,_0xf7955e){const _0x59efcb=a0_0x2f90c3,_0x23ba14=this[_0x59efcb(0x1c3)](_0x59008f,_0xf7955e);if(_0x23ba14[_0x59efcb(0x23a)]==='completed'||_0x23ba14['state']==='failed')return{'success':!![],'commandId':_0x59008f,'message':_0x59efcb(0x10f),'state':_0x23ba14[_0x59efcb(0x23a)]};if(_0x23ba14['process']&&!_0x23ba14[_0x59efcb(0x14c)][_0x59efcb(0x181)])return _0x23ba14[_0x59efcb(0x14c)][_0x59efcb(0xf9)](_0x59efcb(0x187)),setTimeout(()=>{const _0x24414d=_0x59efcb;_0x23ba14['process']&&!_0x23ba14['process']['killed']&&_0x23ba14['process']['kill'](_0x24414d(0x116));},0x1388),this['logger']?.['info']('Background\x20command\x20killed',{'commandId':_0x59008f,'agentId':_0xf7955e}),{'success':!![],'commandId':_0x59008f,'message':_0x59efcb(0x141)};return{'success':![],'commandId':_0x59008f,'error':'Command\x20process\x20not\x20found\x20or\x20already\x20killed'};}['listAgentCommands'](_0x54392c){const _0x438e81=a0_0x2f90c3,_0x236c7d=this['getAgentCommands'](_0x54392c);return _0x236c7d['map'](_0x5b4a57=>({'commandId':_0x5b4a57['commandId'],'command':_0x5b4a57[_0x438e81(0x12e)],'state':_0x5b4a57['state'],'pid':_0x5b4a57['pid'],'exitCode':_0x5b4a57['exitCode'],'startTime':_0x5b4a57[_0x438e81(0x12a)],'endTime':_0x5b4a57['endTime'],'promptDetected':!!_0x5b4a57['promptDetected'],'timeSinceLastOutput':Date[_0x438e81(0x174)]()-_0x5b4a57['lastOutputTime']}));}['getAgentCommands'](_0x5c2e3d){const _0x4dc647=a0_0x2f90c3;return Array['from'](this[_0x4dc647(0x100)][_0x4dc647(0x23d)]())['filter'](_0x4e04fa=>_0x4e04fa[_0x4dc647(0x178)]===_0x5c2e3d);}['validateCommandOwnership'](_0x34216f,_0x1cc1ee){const _0x39495a=a0_0x2f90c3,_0x4295e9=this[_0x39495a(0x100)]['get'](_0x34216f);if(!_0x4295e9)throw new Error('Command\x20not\x20found:\x20'+_0x34216f);if(_0x4295e9[_0x39495a(0x178)]!==_0x1cc1ee)throw new Error('Access\x20denied:\x20Command\x20belongs\x20to\x20agent\x20'+_0x4295e9['agentId']);return _0x4295e9;}async['cleanupAgent'](_0x5289b5){const _0x14677f=a0_0x2f90c3,_0xe5271c=this[_0x14677f(0x1fe)](_0x5289b5);let _0x2953e6=0x0,_0x480df5=0x0;for(const _0xa04776 of _0xe5271c){_0xa04776[_0x14677f(0x14c)]&&!_0xa04776[_0x14677f(0x14c)][_0x14677f(0x181)]&&(_0xa04776['process'][_0x14677f(0xf9)](_0x14677f(0x187)),_0x2953e6++,setTimeout(()=>{const _0x547e76=_0x14677f;_0xa04776[_0x547e76(0x14c)]&&!_0xa04776[_0x547e76(0x14c)][_0x547e76(0x181)]&&_0xa04776[_0x547e76(0x14c)][_0x547e76(0xf9)](_0x547e76(0x116));},0xbb8)),this['commandTracker']['delete'](_0xa04776['commandId']),_0x480df5++;}return this[_0x14677f(0x19c)]?.[_0x14677f(0x1c5)]('Agent\x20commands\x20cleaned\x20up',{'agentId':_0x5289b5,'killedCount':_0x2953e6,'removedCount':_0x480df5}),{'success':!![],'agentId':_0x5289b5,'killedCount':_0x2953e6,'removedCount':_0x480df5,'message':'Cleaned\x20up\x20'+_0x480df5+_0x14677f(0x1e7)+_0x5289b5};}[a0_0x2f90c3(0x124)](){const _0x4afdf8=a0_0x2f90c3,_0x6239a4=Date['now']();let _0x154f1d=0x0;for(const [_0x22d85a,_0x3e412a]of this['commandTracker'][_0x4afdf8(0x21d)]()){if(_0x3e412a['state']!=='completed'&&_0x3e412a['state']!==_0x4afdf8(0x1b0))continue;const _0x2693c9=new Date(_0x3e412a[_0x4afdf8(0x12a)])['getTime'](),_0x2bf197=(_0x6239a4-_0x2693c9)/0x3e8/0x3c;_0x2bf197>this['MAX_COMMAND_AGE_MINUTES']&&(this[_0x4afdf8(0x100)]['delete'](_0x22d85a),_0x154f1d++);}return _0x154f1d>0x0&&this[_0x4afdf8(0x19c)]?.[_0x4afdf8(0x1c5)]('Stale\x20commands\x20cleaned\x20up',{'removedCount':_0x154f1d,'ageThresholdMinutes':this['MAX_COMMAND_AGE_MINUTES']}),{'success':!![],'removedCount':_0x154f1d,'message':'Cleaned\x20up\x20'+_0x154f1d+_0x4afdf8(0x1fa)};}}export default TerminalTool;
|