@loxia-labs/loxia-autopilot-one 1.0.3 → 1.0.4
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/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 +2 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xc176c6=a0_0x4a54;(function(_0x1bb787,_0x4162be){const _0x7cfd03=a0_0x4a54,_0x4a526e=_0x1bb787();while(!![]){try{const _0x12465f=parseInt(_0x7cfd03(0x170))/0x1*(parseInt(_0x7cfd03(0x19c))/0x2)+parseInt(_0x7cfd03(0xd5))/0x3+-parseInt(_0x7cfd03(0xe8))/0x4+-parseInt(_0x7cfd03(0x13b))/0x5+parseInt(_0x7cfd03(0x17d))/0x6*(-parseInt(_0x7cfd03(0x1c0))/0x7)+parseInt(_0x7cfd03(0xde))/0x8*(parseInt(_0x7cfd03(0x18d))/0x9)+parseInt(_0x7cfd03(0x177))/0xa;if(_0x12465f===_0x4162be)break;else _0x4a526e['push'](_0x4a526e['shift']());}catch(_0x3db251){_0x4a526e['push'](_0x4a526e['shift']());}}}(a0_0x5f48,0xa4e1f));function a0_0x4a54(_0x39f5b1,_0x2d64c0){_0x39f5b1=_0x39f5b1-0xaf;const _0x5f48b0=a0_0x5f48();let _0x4a54e8=_0x5f48b0[_0x39f5b1];if(a0_0x4a54['pdVauq']===undefined){var _0x5815d5=function(_0x5ea3bf){const _0x187eda='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x131d98='',_0x4caa1b='';for(let _0x3c91a6=0x0,_0x5eb71c,_0x38c167,_0x1093e2=0x0;_0x38c167=_0x5ea3bf['charAt'](_0x1093e2++);~_0x38c167&&(_0x5eb71c=_0x3c91a6%0x4?_0x5eb71c*0x40+_0x38c167:_0x38c167,_0x3c91a6++%0x4)?_0x131d98+=String['fromCharCode'](0xff&_0x5eb71c>>(-0x2*_0x3c91a6&0x6)):0x0){_0x38c167=_0x187eda['indexOf'](_0x38c167);}for(let _0x304a46=0x0,_0x48b21a=_0x131d98['length'];_0x304a46<_0x48b21a;_0x304a46++){_0x4caa1b+='%'+('00'+_0x131d98['charCodeAt'](_0x304a46)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4caa1b);};a0_0x4a54['PLatlx']=_0x5815d5,a0_0x4a54['iXXxuZ']={},a0_0x4a54['pdVauq']=!![];}const _0x2bc38a=_0x5f48b0[0x0],_0x2df9c2=_0x39f5b1+_0x2bc38a,_0x33bfc1=a0_0x4a54['iXXxuZ'][_0x2df9c2];return!_0x33bfc1?(_0x4a54e8=a0_0x4a54['PLatlx'](_0x4a54e8),a0_0x4a54['iXXxuZ'][_0x2df9c2]=_0x4a54e8):_0x4a54e8=_0x33bfc1,_0x4a54e8;}import{BaseTool}from'./baseTool.js';function a0_0x5f48(){const _0x4d4c00=['Dw5PEa','AM9PBG','z2v0qwDLBNrdB21Tyw5KCW','CMvSyxrPDMu','C3vJy2vZCW','D2fYBG','zgv0zwn0uhjVBxb0','DgfZA2XPC3q','zxHPDenVzgu','zgLZAY11C2fNzq','yxjJAgL2zq','Bg9N','yxn5BMm','ugfZC3bOCMfZzsbWCM9TChq','BhmGlwe','igfJDgLVBNmGzMfPBgvK','igL0zw1ZigLUia','AxndB21Tyw5Kq29TCgf0AwjSzq','zw52','mwnkBLj6rG','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFtg9NAwnHBerPC2S','Bwf4q29TBwfUzefNzu1PBNv0zxm','cI0GvgfYz2v0ifrLCM1PBMfSoIa','Aw5MBW','u2vSzwn0Aw9UihbYB21WDa','C29Tzq','nda2ndCWyvPjzeLp','CM0GlxjMic8','Dg9ju09tDhjPBMC','q29TBwfUzcbWCM9JzxnZig5VDcbMB3vUzcbVCIbHBhjLywr5igTPBgXLza','Bw92zq','ugfZC3DVCMqGChjVBxb0','nLbZsgfQBq','A2LSBa','twf4Aw11BsbNBg9IywWGyMfJA2DYB3vUzcbJB21Tyw5KCYbLEgnLzwrLzcaO','Ahr0Cc1JBgLLBNq','q29TBwfUzcbLCNjVCIbJAhvUAZOG','ufnnB2r1BgvqyxrO','zxjYB3i','cGPsrvfvsvjftuvovfm6cJeUie1HA2uGDgHLignVBw1HBMqGD29YAYbJB3jYzwn0BhKGAw4G','cI0Gq29TCgf0AwjPBgL0EsbjC3n1zxm6ia','zxHPDa','quKGDhjHBNnSyxrPB24GCMv0DxjUzwqGC2fTzsbJB21Tyw5K','y2XLyw51Ca','z2v0','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','y29TBwfUzfrYywnRzxi','zxHLy3v0Aw9UvgLTzq','mJuYB2PbvfD4','Bwf4qMfJA2DYB3vUzenVBw1HBMrZr2XVyMfS','C3rKAw4','q29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwqSihvZAw5Nig9YAwDPBMfSignVBw1HBMq','Bwf0y2HLzfrLEhq','C3rHCNruAw1L','ihbLCIbHz2vUDcWG','Dg9VBhnszwDPC3rYEq','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','qwnJzxnZigrLBMLLzdOG','y3vZDg9TqxbPs2v5CW','cI0Gq2f0zwDVCNK6ia','zMLSzs1KzwXLDgu','CgXHDgzVCM1uExbL','BgLZDefNzw50q29TBwfUzhm','mteYnZK0oevHqu10sW','ihWG','zM9YBwf0','A2v5ChjLC3m','D29YA2LUz0rPCMvJDg9YEq','lwnTzc0','CMvWBgfJzq','y29WEq','CMvZB2X2zq','zw5KvgLTzq','CgXHDgzVCM1qCM92AwrLza','r2v0lvbYB2nLC3mGFcbtDg9WlvbYB2nLC3m','zMLSzs1JCMvHDgu','zgf0yq','zgLYzwn0B3j5','BwTKAxiGjde','C3rHCNrZv2L0Aa','twvHC3vYzs1pyMPLy3q','C291CMnLia','vxnLCM5HBwuGChjVBxb0','C2LUz2XLlxf1B3rLCY1WCM9IBgvTyxrPyW','y3jLyxrLrgLYzwn0B3j5','C3bSAxq','ChjVBxb0ugf0DgvYBNm','r2v0lvbYB2nLC3mGFcbtB3j0lu9IAMvJDcbdufu','AxntEw1IB2XPy0XPBMS','C2XPy2u','sw52B2TLlvDLyLjLCxvLC3q','y3vYBcaKmq','DgLTzw91Da','ywn0Aw9UCW','ChjVy2vZCW','CgLUzW','D2HPBguG','u2v0lufJBa','Bw9Yzq','mJqWmJGYn3reBw1xCa','qMfJA2DYB3vUzcbJB21Tyw5Kigv4AxrLza','yNvPBhrPBG','y3vYBa','zxH0CMfJDenVBNrLBNq','ywXSB3DLza','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','zgLYzwn0B3j5lwn1CNjLBNq','uhjLC3mGzw50zxi','zxHLy3v0zq','uhjLC3mGyw55igTLEq','zwnOBYaI','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','q29TChjLC3mTqxjJAgL2zq','DgfZA2TPBgW','q3jLyxrLzcbKAxjLy3rVCNK6ia','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFugH5C2LJywXnzw1VCNK','q29TBwfUzcbMywLSzwqGD2L0AcbLEgL0ignVzguG','Aw5KzxG','zgvSicqX','zxHLy3v0zunVBw1HBMq','y3jLyxrLlwrPCMvJDg9YEq','C3rKB3v0','oGOkt1jjr0LoquWGq09ntufordOkygbGcG','rMfPBgvKihrVignOyw5NzsbKAxjLy3rVCNKGDg8G','DhjHBNnSyxrLvg9qB3DLCLnOzwXS','BM93','yw5HBhL6zunVBw1HBMrdB21WyxrPyMLSAxr5','zgvZy3jPChrPB24','y29TCgf0AwjSzq','Cg93zxjZAgvSBcaTyW','vxnPBMCGquKGDhjHBNnSyxrPB24','zNn1DgLSihzVBhvTzsbKAxnRzNjLzq','qMfJA2DYB3vUzcbJB21Tyw5Kihn0yxj0zwqGD2L0AcbjrdOG','DMfSDwvZ','oIbJB21Tyw5KigLZigjSB2nRzwqGzM9YihnLy3vYAxr5oIa','C2H1DgrVD24','zgvSic9Mic9X','yMXVy2TLzenVBw1HBMrZ','CMvHC29U','zgv0zwn0zwruzxjTAw5HBa','DgfRzw93BG','CgLUzYaKmq','zMLUzcaVyW','zgLYzwn0B3j5lwrLBgv0zq','oIb0ExbLigLZihjLCxvPCMvK','z2v0u3vWCg9YDgvKqwn0Aw9UCW','zgvMia','BwfW','zMLSzs1SAxn0Aw5N','zwnOBYaIjdeI','C3rHy2S','zgLY','C2vSzwn0Aw9U','tufyx0nptu1btKrFquDfx01jtLvurvm','y21K','zM9Yia','igfJDgLVBNmGy29TCgXLDgvKihn1y2nLC3nMDwXSEq','rMfPBgvKihrVigXPC3qGzgLYzwn0B3j5ia','zNvUy3rPB24G','AgfSDa','ChjVy2vZCY1RAwXS','q29TBwfUzcbVDxrWDxqGy2H1BMS6ia','y3vYBcaTtYaKmq','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','AxnZDwvZ','sw5WDxqGC2vUDcb0BYbIywnRz3jVDw5KignVBw1HBMq','zMLSzq','Dgv4Dc1LzgL0','ywLtzxj2AwnL','Dhj1zq','q29WEs1jDgvTicqXicqY','DgvZDa','Dg9mB3DLCKnHC2u','Dw5RBM93BG','zw50CMLLCW','y2f0zwDVCNK','C2v0','ihX8ia','BgvUz3rO','u2vSzwn0lvn0CMLUzW','zMfPBgvK','AxneAxjLy3rVCNK','q2HHBMDLzcbKAxjLy3rVCNKGDg8G','uMvTB3zLluL0zw0','rxHLy3v0Aw5NignVBw1HBMq6ia','oIbJB21Tyw5KigLZihjLCxvPCMvKigzVCIbYDw4Ty29TBwfUza','zgv0zwn0sgfUzW','Bg9Nz2vY','ignVBw1HBMrZigzVCIbHz2vUDca','ChjVy2vZCY1SAxn0','y29UzMLYBwf0Aw9U','y29WEsaKmsaKmG','D29YA2LUz0rPCMvJDg9YAwvZ','q29TBwfUzcb0Aw1LzcbVDxqSigTPBgXPBMCGChjVy2vZCZOG','z2v0vgLTzq','u29YDc1pyMPLy3qGlvvUAxf1zq','y2f0','q29TBwfUzcbMywLSzwq6ia','C3vIC3rYAw5N','DxnLCM5HBwu','mty1nZK4mgjivM1lEa','CgXHDgzVCM0','BwTKAxi','icyG','ChjVBxb0rgv0zwn0B3i','Bw9YzsaRBG','zwnOBYaN','BgLZDc1KAxjLy3rVCNK','y2XLyw51Cfn0ywXLq29TBwfUzhm','mtu4odqWvwffrLvw','D2LUzg93CY1JBwq','zMLSzs12Awv3Aw5N','zw52AxjVBM1LBNq','u0Lhvevstq','ywXSB3DLzenVBw1HBMrZ','sw52B2TLlvjLC3rnzxrOB2q','A2LSBgvK','C3bLy2LMAwnjC3n1zxm','u3rHCNrPBMCGyMfJA2DYB3vUzcbJB21Tyw5KoIa','mJiYndGYohzNveHTwG','Dw5PEc1ZDhLSzs1WyxrOCW','y29TBwfUza','q29TBwfUzcbWCM9JzxnZigv4AxrLzdOG','r2v0lunOAwXKsxrLBsaTuMvJDxjZzsb8ie1Lyxn1CMuTt2jQzwn0','tM90igeGzgLYzwn0B3j5oIa','i2LUy2X1zgu','ChvZAa','zxH0CMfJDfrYyw5ZBgf0zwrdB21Tyw5K','CNvUlwnVBw1HBMq','y2HHBMDLlwrPCMvJDg9YEq','Cg93zxjZAgvSBcbdB21WCMvZCY1bCMnOAxzL','D2fPDgLUz19MB3jFAw5WDxq','BMfTzq','y3aGjdeGjdi','CgLK','C3LZDgvTAw5MBW','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','C3rYAw5N','DgfZA2TPBgWGl1bjrcaKmq','u3rHBguGy29TBwfUzhmGy2XLyw5Lzcb1Ca','qwn0Aw9Uia','twvUDsbZzwXLy3rPB24','BwvZC2fNzq','r2v0lunOAwXKsxrLBq','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','yxbPs2v5','AxntAw1WBgvdB21Tyw5K','C2vUzeLUChv0','Dgv4Dc1Kzwr1Cgu','qMfJA2DYB3vUzcbJB21Tyw5KigvYCM9Y','q3vYCMvUDcb3B3jRAw5NigrPCMvJDg9YEtOG','y29TBwfUzeHPC3rVCNK','A2LSBenVBw1HBMq','Aw5WDxq','y29TBwfUzenHDgvNB3j5','EwvZlw5V','CMvHzgrPCG','CM0Gjde','DhjHBNnSyxrLq29TBwfUzfDPDgHbsq','C3LZDgvTlwLUzM8','icyMia','BxyGjdeGjdi','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','qxr0zw1WDgLUzYbbssb0CMfUC2XHDgLVBIbMB3iGy29TCgXLEcbJB21Tyw5K','vgLTzw91DcbTDxn0igjLigjLDhDLzw4GmtaWmcbHBMqG','ywX0zxjUyxrPDMvZ','ywDLBNrjza','B2jQzwn0','Aw50zwDLCG','CgfYC2vqyxjHBwv0zxjZ','y29TBwfUzeLK','ksa+ia','tMv3luL0zw0Glvr5CguGrMLSzq','C3rHDgu','Dg9tDhjPBMC','BwvZC2fNzvbYB2nLC3nVCG','ChDK','igDSB2jHBaOTief1Dg8Tzgv0zwn0CYbWCM9TChrZigfUzcb1CgrHDgvZihn0yxrLihrVicD3ywL0Aw5Nx2zVCL9PBNb1DcCkcIOQz2v0q29TBwfUzfn0yxr1CYHJB21Tyw5KswqSigfNzw50swqPkIOklsbhzxqGCMvHBc10Aw1Lihn0yxr1CZOGCNvUBMLUzYWGD2fPDgLUz19MB3jFAw5WDxqSignVBxbSzxrLzcWGzMfPBgvKcI0GuMv0DxjUCYbZDgrVDxqVC3rKzxjYigj1zMzLCNmSigv4AxqGy29KzsWGDgLTzxn0yw1WCWOTifnOB3DZihbYB21WDcbKzxrLy3rPB24GAw5MBYbPzIbPBNrLCMfJDgL2zsbWCM9TChqGzgv0zwn0zwqkcIOQC2vUzeLUChv0kgnVBw1HBMrjzcWGAw5WDxqSigfNzw50swqPkIOklsbtzw5KigLUChv0ihrVignVBw1HBMqNCYbZDgrPBIaOyw5ZD2vYCYbWCM9TChrZkqOTief1Dg9TyxrPy2fSBhKGywrKCYbUzxDSAw5LigLMig5VDcbWCMvZzw50cI0GvxbKyxrLCYbZDgf0zsbMCM9TicD3ywL0Aw5Nx2zVCL9PBNb1DcCGDg8Gj3j1BM5PBMCNcGOQkMTPBgXdB21Tyw5KkgnVBw1HBMrjzcWGywDLBNrjzcKQkGOTifrLCM1PBMf0zsbIywnRz3jVDw5KignVBw1HBMqGkfnjr1rfuK0G4OAsifnjr0TjteWPcI0Gu2fMzsb0BYbJywXSig9UigfSCMvHzhKTy29TCgXLDgvKignVBw1HBMrZcGOQkMXPC3rbz2vUDenVBw1HBMrZkgfNzw50swqPkIOklsbmAxn0igfSBcbJB21Tyw5KCYaOCNvUBMLUzYbHBMqGy29TCgXLDgvKksbMB3iGywDLBNqklsbvC2vMDwWGzM9Yig1VBML0B3jPBMCGBxvSDgLWBguGyMfJA2DYB3vUzcbWCM9JzxnZzxmkcKjbq0ThuK9vtKqGq09ntuforcbxt1jlrKXpvZOkms4Gu3rHCNq6ignVBNn0ihTJB21Tyw5Kswr9id0GyxDHAxqGDgvYBwLUywWUC3rHCNrcywnRz3jVDw5Kq29TBwfUzcGNBNbTigLUC3rHBgWNlcbKAxiSihTHz2vUDeLKFsKkmI4Gv2fPDdOGvxnLigfNzw50lwrLBgf5ihrVB2WGDg8GD2fPDcb3AgLSzsbJB21Tyw5Kihj1BNmkmY4Gq2HLy2S6ignVBNn0ihn0yxr1CYa9ihrLCM1PBMfSlMDLDenVBw1HBMrtDgf0DxmOy29TBwfUzeLKlcbHz2vUDeLKkqO0lIbjzIbWCM9TChqGzgv0zwn0zwq6ihrLCM1PBMfSlNnLBMrjBNb1DcHJB21Tyw5KswqSicD5jYWGywDLBNrjzcKkns4GvMvYAwz5oIbdAgvJAYbZDgf0DxmUC3rHDguGpt09icDJB21WBgv0zwqNicyMihn0yxr1CY5LEgL0q29Kzsa9pt0GmaOkrvHbtvbmrvm6cKjHC2LJignVBw1HBMqGzxHLy3v0Aw9UoGPBDg9VBcbPzd0IDgvYBwLUywWIxqO8CNvUlwnVBw1HBMq+BNbTigLUC3rHBgW8l3j1BI1JB21Tyw5KpGPBl3rVB2XDcGPfEgvJDxrLign1CMWGy29TBwfUzdOkw3rVB2WGAwq9iNrLCM1PBMfSiL0kphj1BI1JB21Tyw5KpMn1CMWGlxmGAhr0Chm6lY9HCgKUz2L0AhvIlMnVBs96zw48l3j1BI1JB21Tyw5KpGPBl3rVB2XDcGPdAgfUz2uGzgLYzwn0B3j5igfUzcbYDw4Gy29TBwfUzdOkw3rVB2WGAwq9iNrLCM1PBMfSiL0kpgnOyw5Nzs1KAxjLy3rVCNK+lI4VzNjVBNrLBMq8l2nOyw5Nzs1KAxjLy3rVCNK+cJXYDw4Ty29TBwfUzd5UCg0GCNvUigj1AwXKpc9YDw4Ty29TBwfUzd4kwY90B29SxqOkugfJA2fNzsbTyw5Hz2vTzw50oGPBDg9VBcbPzd0IDgvYBwLUywWIxqO8CNvUlwnVBw1HBMq+CgLWigLUC3rHBgWGlxiGCMvXDwLYzw1LBNrZlNr4DdWVCNvUlwnVBw1HBMq+cLSVDg9VBf0kcKDPDcbVCgvYyxrPB25ZoGPBDg9VBcbPzd0IDgvYBwLUywWIxqO8CNvUlwnVBw1HBMq+z2L0ihn0yxr1CZWVCNvUlwnVBw1HBMq+cLSVDg9VBf0kcLT0B29SigLKpsj0zxjTAw5HBcjDcJXYDw4Ty29TBwfUzd5NAxqGywrKic48l3j1BI1JB21Tyw5KpGO8CNvUlwnVBw1HBMq+z2L0ignVBw1PDcaTBsaIvxbKyxrLigzPBgvZiJWVCNvUlwnVBw1HBMq+cLSVDg9VBf0kcKrPCMvJDg9YEsbVCgvYyxrPB25ZicHPzIbgAwXLu3LZDgvTihrVB2WGDw5HDMfPBgfIBguPoGPBDg9VBcbPzd0IDgvYBwLUywWIxqO8y3jLyxrLlwrPCMvJDg9YEt5IywnRzw5Kpc9JCMvHDguTzgLYzwn0B3j5pGPBl3rVB2XDcGPtrunvuKLuwsbot1rfuZOklsbeyw5NzxjVDxmGy29TBwfUzhmGyxjLigjSB2nRzwqGzM9YihnHzMv0EqOTienVBw1HBMrZigv4zwn1DguGAw4GAxnVBgf0zwqGzw52AxjVBM1LBNqklsbpDxrWDxqGAxmGy2fWDhvYzwqGyw5KihjLDhvYBMvKihnHzMvSEqOTieXVBMCTCNvUBMLUzYbJB21Tyw5KCYbTyxKGDgLTzsbVDxqGlsb1C2uGywDLBNqTzgvSyxKGDg9VBcb0BYb3ywL0cGPcrvnuifbsqunusunfuZOklsbvC2uGrMLSzvn5C3rLBsb0B29SigzVCIbMAwXLl2rPCMvJDg9YEsbJCMvHDgLVBIbHBMqGBwfUywDLBwvUDaOTifvZzsbuzxjTAw5HBcb0B29SigzVCIbJB21Tyw5KlwXPBMuGDxrPBgL0AwvZicHUCg0SigDPDcWGy3vYBcWGz3jLCcWGzxrJlIKklsbbzNrLCIbZDgfYDgLUzYbSB25Nlxj1BM5PBMCGy29TBwfUzhmSihvZzsbHz2vUDc1KzwXHEsb0B29SihrVihbHDxnLignOzwnRAw5NcI0GqwX3yxLZignOzwnRignVBw1HBMqGB3v0Chv0ihrVihzLCMLMEsbZDwnJzxnZcGPdvvjsru5uierjuKvdve9swtOkvgHLihrVB2WGBwfPBNrHAw5ZigeGy3vYCMvUDcb3B3jRAw5NigrPCMvJDg9YEsbJB250zxH0ihbLCIbHz2vUDc4kvxnLignOyw5Nzs1KAxjLy3rVCNKGDg8GBMf2AwDHDguSigfUzcbZDwjZzxf1zw50ignVBw1HBMrZihDPBgWGzxHLy3v0zsbMCM9TihrOyxqGBg9JyxrPB24UcIaGica','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbJB21WBgv0zwq','CgLWzq','uhjVy2vLzcbWCM9TChq','r2vUzxjPyYbPBNb1DcbWCM9TChq','qwXSia','AwnHy2XZ','DhLWzq','CMf3q29UDgvUDa','y29TCgXLDgvK','yMfZAa','zwnOBW','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUzcbZDgrLCNi','Aw5PDgLHBgL6zvrLCM1PBMfSrgv0zwn0Aw9U','zw5KC1DPDgG','ywrKvg9iAxn0B3j5','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','rxHWyw5KlufYy2HPDMu','Bwf0y2G','C3rKzxjYqNvMzMvY','y2XHC3nPzNLdB21Tyw5K','DhjPBq','zwnOBYaIjdeIid4','q29WEs1jDgvT','nJKXotCWvffRBwrs','BgfZDe91Dhb1DfrPBwu','r2v0lunVBNrLBNqGluHLywq','zNjVBq','y29TBwfUzfr5Cgu','q29TBwfUzcb0Aw1LzcbVDxqGywz0zxiG','BwfPBIGP','r2v0lvbYB2nLC3m','AxnbyNnVBhv0zq','q29UzMLYBwf0Aw9UihbYB21WDa','zxzLCNK','zMLSzs1TB3zL','C3rKB3v0qNvMzMvY','wwvZl05Vihf1zxn0Aw9U','y2XLyxjxB3jRAw5NrgLYzwn0B3j5','Aw5JBhvKzxm','C3rKzxjY','y29UzMLKzw5Jzq','sgL0igvUDgvY','u0HfteW','u3rVCc1qCM9JzxnZ','Cg93zxjZAgvSBa','AxncBg9JA2vKq29TBwfUza','CNvUBMLUzW','AxndB21Tyw5Kq29TCgf0AwjSzvDPDgHuzxjTAw5HBa','zwnOBYa','qwnJzxnZigrLBMLLzdOGq29TBwfUzcbIzwXVBMDZihrVigfNzw50ia','zMLSzs1JB3b5','zMLSDgvY','tw92zs1jDgvT','DhjHBNnSyxrLq29TBwfUza','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','Cgf0DgvYBG','ChjVBxb0rgv0zwn0zwq'];a0_0x5f48=function(){return _0x4d4c00;};return a0_0x5f48();}import a0_0x131d98 from'../utilities/tagParser.js';import a0_0x4caa1b from'../utilities/directoryAccessManager.js';import{spawn,exec}from'child_process';import a0_0x3c91a6 from'path';import a0_0x5eb71c from'fs/promises';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class PromptDetector{constructor(){const _0x33fa63=a0_0x4a54;this[_0x33fa63(0x1b3)]=[{'pattern':/\(y\/n\)/i,'type':_0x33fa63(0x10d),'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':/\[y\/n\]/i,'type':'yes-no','description':_0x33fa63(0x148)},{'pattern':/\[Y\/n\]/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\[y\/N\]/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/continue\?/i,'type':'continue','description':'Continue\x20prompt'},{'pattern':/proceed\?/i,'type':'continue','description':_0x33fa63(0x126)},{'pattern':/press any key to continue/i,'type':'keypress','description':_0x33fa63(0x1ca)},{'pattern':/press enter to continue/i,'type':_0x33fa63(0x19f),'description':_0x33fa63(0x1c8)},{'pattern':/hit enter to continue/i,'type':'keypress','description':_0x33fa63(0x14d)},{'pattern':/password:/i,'type':'password','description':'Password\x20prompt'},{'pattern':/enter password/i,'type':'password','description':_0x33fa63(0x17c)},{'pattern':/passphrase:/i,'type':'password','description':_0x33fa63(0x16a)},{'pattern':/username:/i,'type':'username','description':'Username\x20prompt'},{'pattern':/enter username/i,'type':_0x33fa63(0xd4),'description':_0x33fa63(0x1af)},{'pattern':/enter\s+\w+:/i,'type':_0x33fa63(0x10b),'description':_0x33fa63(0x127)},{'pattern':/please enter/i,'type':_0x33fa63(0x10b),'description':_0x33fa63(0x127)},{'pattern':/input:/i,'type':'input','description':'Generic\x20input\x20prompt'},{'pattern':/are you sure\?/i,'type':_0x33fa63(0xcb),'description':_0x33fa63(0x144)},{'pattern':/do you want to/i,'type':_0x33fa63(0xcb),'description':_0x33fa63(0x144)},{'pattern':/would you like to/i,'type':_0x33fa63(0xcb),'description':'Confirmation\x20prompt'},{'pattern':/select an option/i,'type':_0x33fa63(0x1f5),'description':_0x33fa63(0x175)},{'pattern':/choose/i,'type':'selection','description':_0x33fa63(0x175)},{'pattern':/\d+\)\s+\w+/g,'type':'menu','description':_0x33fa63(0xfe)}];}['detectPrompt'](_0x38c167,_0x1093e2=a0_0xc176c6(0x1d6)){const _0x174740=a0_0xc176c6;if(!_0x38c167||_0x38c167['trim']()['length']===0x0)return null;const _0x304a46=_0x38c167[_0x174740(0x1b2)]('\x0a'),_0x48b21a=_0x304a46['slice'](-0x5)[_0x174740(0x15e)]('\x0a');for(const _0x1b8f29 of this['promptPatterns']){const _0x289449=_0x48b21a[_0x174740(0x135)](_0x1b8f29[_0x174740(0x15b)]);if(_0x289449)return{'detected':!![],'type':_0x1b8f29['type'],'description':_0x1b8f29['description'],'matchedText':_0x289449[0x0],'matchIndex':_0x289449[_0x174740(0x1d2)],'source':_0x1093e2,'fullContext':_0x48b21a,'timestamp':Date['now']()};}const _0xa2813a=_0x304a46[_0x304a46[_0x174740(0xbf)]-0x1]||'';if(_0xa2813a['trim']()['length']>0x0){const _0x386aaf=/:\s*$/['test'](_0xa2813a),_0x52632e=/\?\s*$/[_0x174740(0xb8)](_0xa2813a);if(_0x386aaf||_0x52632e){const _0x5d05fc=/\b(enter|type|provide|specify|input)\b/i['test'](_0xa2813a);if(_0x5d05fc)return{'detected':!![],'type':'generic','description':'Generic\x20input\x20prompt\x20detected','matchedText':_0xa2813a['trim'](),'source':_0x1093e2,'fullContext':_0x48b21a,'timestamp':Date['now'](),'confidence':0.7};}}return null;}[a0_0xc176c6(0xc7)](_0x2389f9,_0x4d95b8=0x7530){const _0x2c1c9a=a0_0xc176c6,_0x8fcce8=Date[_0x2c1c9a(0x1da)](),_0x23f410=_0x8fcce8-_0x2389f9;return{'isHanging':_0x23f410>=_0x4d95b8,'timeSinceLastOutput':_0x23f410,'threshold':_0x4d95b8,'likelyWaiting':_0x23f410>=_0x4d95b8/0x2};}}class TerminalTool extends BaseTool{constructor(_0x5d6015={},_0x27f8c9=null){const _0x2c405f=a0_0xc176c6;super(_0x5d6015,_0x27f8c9),this['requiresProject']=![],this['isAsync']=![],this['timeout']=_0x5d6015[_0x2c405f(0x1b9)]||0x1d4c0,this[_0x2c405f(0xf9)]=_0x5d6015['maxConcurrentOperations']||0x3,this['workingDirectories']=new Map(),this['commandHistory']=[],this[_0x2c405f(0xe3)]=_0x5d6015['allowedCommands']||null,this['blockedCommands']=_0x5d6015[_0x2c405f(0x1e6)]||[_0x2c405f(0x178),_0x2c405f(0x19e),_0x2c405f(0x1e5),_0x2c405f(0x1e4),'reboot',_0x2c405f(0x1fc)],this[_0x2c405f(0x195)]=new a0_0x4caa1b(_0x5d6015,_0x27f8c9),this[_0x2c405f(0xd9)]=new PromptDetector(),this['commandTracker']=new Map(),this['commandIdCounter']=0x0,this['MAX_BACKGROUND_COMMANDS_PER_AGENT']=_0x5d6015['maxBackgroundCommandsPerAgent']||0x5,this['MAX_BACKGROUND_COMMANDS_GLOBAL']=_0x5d6015[_0x2c405f(0x18e)]||0x14,this['MAX_COMMAND_AGE_MINUTES']=_0x5d6015[_0x2c405f(0x172)]||0x3c,this['detectedTerminal']=null,this['platformType']=null,this[_0x2c405f(0x130)]();}['getDescription'](){const _0xc127c4=a0_0xc176c6;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[_0xc127c4(0x1b9)]+'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[_0xc127c4(0x18a)]+_0xc127c4(0x193)+this['MAX_BACKGROUND_COMMANDS_GLOBAL']+_0xc127c4(0x123);}[a0_0xc176c6(0x11b)](_0x43cf0d){const _0x463078=a0_0xc176c6;try{const _0x59c90f={},_0xa62c36=a0_0x131d98['extractContent'](_0x43cf0d,_0x463078(0xf1)),_0x2c1bbf=a0_0x131d98[_0x463078(0x1c4)](_0x43cf0d,_0x463078(0xf2)),_0x46bcac=a0_0x131d98[_0x463078(0x1c4)](_0x43cf0d,_0x463078(0xdc)),_0x42194e=a0_0x131d98['extractContent'](_0x43cf0d,_0x463078(0x1d5)),_0x3dd5a8=a0_0x131d98['extractContent'](_0x43cf0d,'get-working-directory'),_0x55fade=a0_0x131d98[_0x463078(0x1c4)](_0x43cf0d,_0x463078(0x1b9)),_0x3361c4=a0_0x131d98[_0x463078(0x1c4)](_0x43cf0d,'async'),_0x3fae32=[];return _0xa62c36[_0x463078(0xbf)]>0x0&&_0x3fae32[_0x463078(0xef)]({'type':'run-command','command':_0xa62c36[0x0]['trim']()}),_0x2c1bbf['length']>0x0&&_0x3fae32[_0x463078(0xef)]({'type':'change-directory','directory':_0x2c1bbf[0x0]['trim']()}),_0x46bcac['length']>0x0&&_0x3fae32[_0x463078(0xef)]({'type':_0x463078(0xdc),'directory':_0x46bcac[0x0][_0x463078(0x138)]()||'.'}),_0x42194e[_0x463078(0xbf)]>0x0&&_0x3fae32[_0x463078(0xef)]({'type':_0x463078(0x1d5),'directory':_0x42194e[0x0]['trim']()}),_0x3dd5a8['length']>0x0&&_0x3fae32[_0x463078(0xef)]({'type':'get-working-directory'}),_0x59c90f['actions']=_0x3fae32,_0x55fade['length']>0x0&&(_0x59c90f[_0x463078(0x1b9)]=parseInt(_0x55fade[0x0],0xa)),_0x3361c4[_0x463078(0xbf)]>0x0&&(_0x59c90f[_0x463078(0x169)]=_0x3361c4[0x0][_0x463078(0xb9)]()===_0x463078(0xb6)),_0x59c90f[_0x463078(0x12b)]=_0x43cf0d['trim'](),_0x59c90f;}catch(_0x413214){throw new Error('Failed\x20to\x20parse\x20terminal\x20parameters:\x20'+_0x413214['message']);}}['getRequiredParameters'](){return['actions'];}[a0_0xc176c6(0x101)](_0x40e13c){const _0x431c0f=a0_0xc176c6,_0x24effd=[];if(!_0x40e13c['actions']||!Array['isArray'](_0x40e13c[_0x431c0f(0x1ba)])||_0x40e13c[_0x431c0f(0x1ba)][_0x431c0f(0xbf)]===0x0)_0x24effd[_0x431c0f(0xef)]('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x6168ee,_0x222075]of _0x40e13c[_0x431c0f(0x1ba)]['entries']()){if(!_0x222075[_0x431c0f(0x12a)]){_0x24effd[_0x431c0f(0xef)](_0x431c0f(0xfd)+(_0x6168ee+0x1)+_0x431c0f(0x1ed));continue;}switch(_0x222075[_0x431c0f(0x12a)]){case'run-command':if(!_0x222075[_0x431c0f(0xea)]||!_0x222075['command'][_0x431c0f(0x138)]())_0x24effd[_0x431c0f(0xef)]('Action\x20'+(_0x6168ee+0x1)+_0x431c0f(0xc6));else{if(this[_0x431c0f(0x151)](_0x222075[_0x431c0f(0xea)]))_0x24effd[_0x431c0f(0xef)]('Action\x20'+(_0x6168ee+0x1)+_0x431c0f(0x1e3)+_0x222075[_0x431c0f(0xea)]);else this[_0x431c0f(0xe3)]&&!this['isAllowedCommand'](_0x222075['command'])&&_0x24effd['push'](_0x431c0f(0xfd)+(_0x6168ee+0x1)+':\x20command\x20is\x20not\x20in\x20allowed\x20list:\x20'+_0x222075[_0x431c0f(0xea)]);}break;case _0x431c0f(0xf2):case'list-directory':case _0x431c0f(0x1d5):(!_0x222075[_0x431c0f(0x1aa)]||!_0x222075['directory'][_0x431c0f(0x138)]())&&_0x24effd[_0x431c0f(0xef)]('Action\x20'+(_0x6168ee+0x1)+':\x20directory\x20is\x20required\x20for\x20'+_0x222075[_0x431c0f(0x12a)]);break;case'get-working-directory':break;default:_0x24effd[_0x431c0f(0xef)]('Action\x20'+(_0x6168ee+0x1)+_0x431c0f(0x1c6)+_0x222075[_0x431c0f(0x12a)]);}}return _0x40e13c[_0x431c0f(0x1b9)]&&(_0x40e13c[_0x431c0f(0x1b9)]<0x3e8||_0x40e13c[_0x431c0f(0x1b9)]>this['timeout'])&&_0x24effd['push'](_0x431c0f(0x116)+this[_0x431c0f(0x1b9)]+'\x20milliseconds'),{'valid':_0x24effd['length']===0x0,'errors':_0x24effd};}async[a0_0xc176c6(0x1c9)](_0x228fc0,_0x195a24){const _0x32e975=a0_0xc176c6,{actions:_0x19262a,timeout:_0x36b3b8,async:_0xc546ce}=_0x228fc0,{agentId:_0x498db7,projectDir:_0x20122a,directoryAccess:_0x2c5f62}=_0x195a24,_0x3a9ec6=_0x2c5f62||this[_0x32e975(0x195)][_0x32e975(0x133)]({'workingDirectory':_0x20122a||process['cwd'](),'writeEnabledDirectories':[_0x20122a||process['cwd']()],'restrictToProject':!![]});_0x2c5f62&&_0x2c5f62['workingDirectory']?console[_0x32e975(0x168)]('Terminal\x20DEBUG:\x20Using\x20agent\x20configured\x20working\x20directory:',_0x2c5f62[_0x32e975(0x1a0)]):console['log']('Terminal\x20DEBUG:\x20Using\x20fallback\x20working\x20directory:',_0x20122a||process['cwd']());const _0x4e17c7=_0x498db7+'-'+(_0x20122a||'default');let _0x327a74=this[_0x32e975(0xcd)][_0x32e975(0x189)](_0x4e17c7)||this[_0x32e975(0x195)]['getWorkingDirectory'](_0x3a9ec6);const _0x55a20f=[];for(const _0x498db1 of _0x19262a){try{let _0x37c547;switch(_0x498db1[_0x32e975(0x12a)]){case _0x32e975(0xf1):_0x37c547=await this['executeCommand'](_0x498db1[_0x32e975(0xea)],_0x327a74,{'timeout':_0x36b3b8||this['timeout'],'async':_0xc546ce||![],'agentId':_0x498db7,'context':{'toolsRegistry':_0x195a24[_0x32e975(0x194)],'aiService':_0x195a24[_0x32e975(0xb5)],'apiKey':_0x195a24[_0x32e975(0x103)],'customApiKeys':_0x195a24['customApiKeys'],'platformProvided':_0x195a24['platformProvided']}});break;case _0x32e975(0xf2):_0x37c547=await this['changeDirectory'](_0x498db1['directory'],_0x327a74,_0x3a9ec6),_0x327a74=_0x37c547['newDirectory'],this['workingDirectories'][_0x32e975(0xbd)](_0x4e17c7,_0x327a74);break;case _0x32e975(0xdc):_0x37c547=await this['listDirectory'](_0x498db1['directory']==='.'?_0x327a74:_0x498db1[_0x32e975(0x1aa)]);break;case'create-directory':_0x37c547=await this[_0x32e975(0x1b1)](_0x498db1[_0x32e975(0x1aa)],_0x327a74);break;case'get-working-directory':_0x37c547={'success':!![],'action':_0x32e975(0x15a),'workingDirectory':_0x327a74,'message':_0x32e975(0x108)+_0x327a74};break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x498db1['type']);}_0x55a20f['push'](_0x37c547),this[_0x32e975(0x132)](_0x498db1,_0x37c547,_0x498db7);}catch(_0x283592){const _0x295b5f={'success':![],'action':_0x498db1['type'],'error':_0x283592[_0x32e975(0xff)],'command':_0x498db1['command']||_0x498db1['directory'],'workingDirectory':_0x327a74};_0x55a20f[_0x32e975(0xef)](_0x295b5f),this[_0x32e975(0x132)](_0x498db1,_0x295b5f,_0x498db7);}}const _0x568853=_0x55a20f[_0x32e975(0x145)](_0x399745=>_0x399745[_0x32e975(0x161)]),_0x8bfae5=_0x55a20f[_0x32e975(0x157)](_0x230281=>!_0x230281['success']);return{'success':_0x568853,'actions':_0x55a20f,'workingDirectory':_0x327a74,'executedActions':_0x19262a['length'],'failedActions':_0x8bfae5['length'],'toolUsed':'terminal','message':_0x568853?_0x32e975(0x128)+_0x19262a['length']+_0x32e975(0x1f9):_0x8bfae5[_0x32e975(0xbf)]+'\x20of\x20'+_0x19262a[_0x32e975(0xbf)]+_0x32e975(0x16c)};}async[a0_0xc176c6(0x1d4)](_0x1446d9,_0x4340d9,_0x51d3c5={}){const _0x5b5c80=a0_0xc176c6,{timeout:timeout=this[_0x5b5c80(0x1b9)],async:_0x5003ee=![],agentId:_0x42a127,context:_0x58896b}=_0x51d3c5,_0x21ecea=_0x1446d9;let _0x36a361;try{_0x36a361=await this[_0x5b5c80(0x159)](_0x1446d9,{'agentId':_0x42a127,'toolsRegistry':_0x58896b?.[_0x5b5c80(0x194)],'messageProcessor':_0x58896b?.['messageProcessor'],'aiService':_0x58896b?.[_0x5b5c80(0xb5)],'apiKey':_0x58896b?.[_0x5b5c80(0x103)],'customApiKeys':_0x58896b?.[_0x5b5c80(0x197)],'platformProvided':_0x58896b?.['platformProvided']});}catch(_0x5f0b60){this[_0x5b5c80(0xc8)]?.['warn'](_0x5b5c80(0x190),{'originalCommand':_0x21ecea,'error':_0x5f0b60['message']}),_0x36a361=_0x1446d9;}return new Promise((_0x1c37a6,_0x4ac426)=>{const _0x555873=_0x5b5c80,_0x6e3568=Date[_0x555873(0x1da)]();this[_0x555873(0xc8)]?.[_0x555873(0x174)](_0x555873(0xc5)+_0x36a361,{'originalCommand':_0x21ecea,'translatedCommand':_0x36a361,'terminal':this[_0x555873(0x1e8)],'workingDirectory':_0x4340d9,'timeout':timeout,'agentId':_0x42a127});const _0xdd46de=exec(_0x36a361,{'cwd':_0x4340d9,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process[_0x555873(0x16f)]}},(_0x2f051b,_0xc8de32,_0x42e095)=>{const _0x233fb9=_0x555873,_0x4eee75=Date['now']()-_0x6e3568;if(_0x2f051b){this[_0x233fb9(0xc8)]?.[_0x233fb9(0x183)](_0x233fb9(0xd2)+_0x36a361,{'originalCommand':_0x21ecea,'translatedCommand':_0x36a361,'error':_0x2f051b['message'],'workingDirectory':_0x4340d9,'executionTime':_0x4eee75}),_0x1c37a6({'success':![],'action':_0x233fb9(0xf1),'command':_0x21ecea,'translatedCommand':_0x36a361!==_0x21ecea?_0x36a361:undefined,'error':_0x2f051b['message'],'stderr':_0x42e095['trim'](),'stdout':_0xc8de32[_0x233fb9(0x138)](),'exitCode':_0x2f051b['code'],'executionTime':_0x4eee75,'workingDirectory':_0x4340d9});return;}this[_0x233fb9(0xc8)]?.['info']('Command\x20completed:\x20'+_0x36a361,{'originalCommand':_0x21ecea,'translatedCommand':_0x36a361,'executionTime':_0x4eee75,'stdoutLength':_0xc8de32['length'],'stderrLength':_0x42e095[_0x233fb9(0xbf)]}),_0x1c37a6({'success':!![],'action':_0x233fb9(0xf1),'command':_0x21ecea,'translatedCommand':_0x36a361!==_0x21ecea?_0x36a361:undefined,'stdout':_0xc8de32[_0x233fb9(0x138)](),'stderr':_0x42e095[_0x233fb9(0x138)](),'exitCode':0x0,'executionTime':_0x4eee75,'workingDirectory':_0x4340d9,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x4eee75+'ms'});});setTimeout(()=>{const _0x5c0400=_0x555873;!_0xdd46de['killed']&&(_0xdd46de[_0x5c0400(0x17e)]('SIGTERM'),_0x4ac426(new Error('Command\x20timed\x20out\x20after\x20'+timeout+'ms:\x20'+_0x36a361+'\x20(original:\x20'+_0x21ecea+')')));},timeout);});}async['executeCommandWithSpawn'](_0x1fe199,_0x28ce76,_0x2294d2={}){const _0x50900e=a0_0xc176c6,{timeout:timeout=this['timeout'],agentId:_0x3c212a,context:_0x1fafa4}=_0x2294d2,_0x42d89f=_0x1fe199;let _0x3ed151;try{_0x3ed151=await this['translateCommand'](_0x1fe199,{'agentId':_0x3c212a,'toolsRegistry':_0x1fafa4?.['toolsRegistry'],'messageProcessor':_0x1fafa4?.['messageProcessor'],'aiService':_0x1fafa4?.[_0x50900e(0xb5)],'apiKey':_0x1fafa4?.['apiKey'],'customApiKeys':_0x1fafa4?.[_0x50900e(0x197)],'platformProvided':_0x1fafa4?.[_0x50900e(0x1a6)]});}catch(_0x2b74db){this[_0x50900e(0xc8)]?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x42d89f,'error':_0x2b74db[_0x50900e(0xff)]}),_0x3ed151=_0x1fe199;}return new Promise((_0xfdf721,_0x31a50b)=>{const _0x21390f=_0x50900e,_0x4dd875=Date[_0x21390f(0x1da)]();this[_0x21390f(0xc8)]?.[_0x21390f(0x174)]('Executing\x20command\x20with\x20spawn:\x20'+_0x3ed151,{'originalCommand':_0x42d89f,'translatedCommand':_0x3ed151,'terminal':this['detectedTerminal'],'workingDirectory':_0x28ce76,'timeout':timeout,'agentId':_0x3c212a});let _0x49386c;if(this[_0x21390f(0x1e8)]===_0x21390f(0x1f7)||this['detectedTerminal']===_0x21390f(0x150)){const _0x4b454f=this[_0x21390f(0x1e8)]==='powershell'?_0x21390f(0x150):_0x21390f(0x1f7),_0x547d06=this['detectedTerminal']==='powershell'?['-Command',_0x3ed151]:['/c',_0x3ed151];_0x49386c=spawn(_0x4b454f,_0x547d06,{'cwd':_0x28ce76,'env':{...process['env']},'windowsHide':!![]});}else _0x49386c=spawn('sh',['-c',_0x3ed151],{'cwd':_0x28ce76,'env':{...process[_0x21390f(0x16f)]}});let _0x588561='',_0x17abf4='',_0x23548e=![],_0x225621=null,_0x2cff58=Date['now'](),_0x5c207c=null;const _0xf9723c=setTimeout(()=>{const _0x110f62=_0x21390f;!_0x49386c['killed']&&_0x225621===null&&(_0x23548e=!![],this['logger']?.['warn'](_0x110f62(0xce)+_0x3ed151,{'timeout':timeout,'agentId':_0x3c212a}),_0x49386c['kill'](_0x110f62(0xe2)),setTimeout(()=>{const _0x18e92c=_0x110f62;!_0x49386c['killed']&&_0x49386c[_0x18e92c(0x17e)]('SIGKILL');},0x1388));},timeout);_0x49386c[_0x21390f(0x1d6)]['on']('data',_0x1eaff0=>{const _0x1a95e7=_0x21390f,_0x5904b8=_0x1eaff0['toString']();_0x588561+=_0x5904b8,_0x2cff58=Date[_0x1a95e7(0x1da)](),this['logger']?.['debug'](_0x1a95e7(0x1fe)+_0x5904b8['substring'](0x0,0x64),{'agentId':_0x3c212a,'command':_0x42d89f[_0x1a95e7(0xd3)](0x0,0x32)});if(!_0x5c207c){const _0x496d7b=this['promptDetector'][_0x1a95e7(0x163)](_0x588561,_0x1a95e7(0x1d6));_0x496d7b&&(_0x5c207c=_0x496d7b,this[_0x1a95e7(0xc8)]?.['info']('Prompt\x20detected\x20in\x20stdout',{'type':_0x496d7b[_0x1a95e7(0x12a)],'description':_0x496d7b['description'],'matchedText':_0x496d7b[_0x1a95e7(0x191)],'agentId':_0x3c212a,'command':_0x42d89f['substring'](0x0,0x32)}));}}),_0x49386c['stderr']['on']('data',_0x4d14ca=>{const _0x5264c9=_0x21390f,_0x356a48=_0x4d14ca[_0x5264c9(0x120)]();_0x17abf4+=_0x356a48,_0x2cff58=Date[_0x5264c9(0x1da)](),this['logger']?.['debug'](_0x5264c9(0x181)+_0x356a48[_0x5264c9(0xd3)](0x0,0x64),{'agentId':_0x3c212a,'command':_0x42d89f['substring'](0x0,0x32)});if(!_0x5c207c){const _0x13ab9b=this[_0x5264c9(0xd9)]['detectPrompt'](_0x17abf4,_0x5264c9(0x14b));_0x13ab9b&&(_0x5c207c=_0x13ab9b,this['logger']?.[_0x5264c9(0x174)]('Prompt\x20detected\x20in\x20stderr',{'type':_0x13ab9b[_0x5264c9(0x12a)],'description':_0x13ab9b[_0x5264c9(0x1dc)],'matchedText':_0x13ab9b['matchedText'],'agentId':_0x3c212a,'command':_0x42d89f[_0x5264c9(0xd3)](0x0,0x32)}));}}),_0x49386c['on']('exit',(_0x2c1ce2,_0x421daa)=>{const _0xb12987=_0x21390f;clearTimeout(_0xf9723c),_0x225621=_0x2c1ce2;const _0x2aa1c6=Date[_0xb12987(0x1da)]()-_0x4dd875,_0x1fabfc=Date[_0xb12987(0x1da)]()-_0x2cff58;this['logger']?.['info'](_0xb12987(0xeb)+_0x3ed151,{'exitCode':_0x2c1ce2,'signal':_0x421daa,'executionTime':_0x2aa1c6,'timedOut':_0x23548e,'stdoutLength':_0x588561[_0xb12987(0xbf)],'stderrLength':_0x17abf4['length'],'promptDetected':!!_0x5c207c,'timeSinceLastOutput':_0x1fabfc});const _0x367a52={'action':_0xb12987(0xf1),'command':_0x42d89f,'translatedCommand':_0x3ed151!==_0x42d89f?_0x3ed151:undefined,'stdout':_0x588561['trim'](),'stderr':_0x17abf4['trim'](),'exitCode':_0x2c1ce2,'executionTime':_0x2aa1c6,'workingDirectory':_0x28ce76,'promptDetected':!!_0x5c207c,'promptInfo':_0x5c207c||undefined,'lastOutputTime':_0x2cff58,'timeSinceLastOutput':_0x1fabfc};if(_0x23548e){_0xfdf721({..._0x367a52,'success':![],'error':_0xb12987(0x140)+timeout+'ms','exitCode':_0x2c1ce2||-0x1,'timedOut':!![]});return;}if(_0x2c1ce2!==0x0){this['logger']?.['error'](_0xb12987(0x1d1)+_0x2c1ce2+':\x20'+_0x3ed151,{'originalCommand':_0x42d89f,'translatedCommand':_0x3ed151,'exitCode':_0x2c1ce2,'stderr':_0x17abf4['substring'](0x0,0xc8),'executionTime':_0x2aa1c6,'promptDetected':!!_0x5c207c}),_0xfdf721({..._0x367a52,'success':![],'error':'Command\x20exited\x20with\x20code\x20'+_0x2c1ce2});return;}this['logger']?.[_0xb12987(0x174)]('Command\x20completed\x20successfully:\x20'+_0x3ed151,{'originalCommand':_0x42d89f,'executionTime':_0x2aa1c6,'stdoutLength':_0x588561['length'],'stderrLength':_0x17abf4[_0xb12987(0xbf)],'promptDetected':!!_0x5c207c}),_0xfdf721({..._0x367a52,'success':!![],'exitCode':0x0,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x2aa1c6+'ms'});}),_0x49386c['on'](_0x21390f(0x183),_0x86607e=>{const _0x52f205=_0x21390f;clearTimeout(_0xf9723c);const _0x4ca36f=Date[_0x52f205(0x1da)]()-_0x4dd875,_0x3853ed=Date[_0x52f205(0x1da)]()-_0x2cff58;this['logger']?.[_0x52f205(0x183)]('Command\x20spawn\x20error:\x20'+_0x3ed151,{'originalCommand':_0x42d89f,'error':_0x86607e[_0x52f205(0xff)],'executionTime':_0x4ca36f,'promptDetected':!!_0x5c207c}),_0xfdf721({'success':![],'action':_0x52f205(0xf1),'command':_0x42d89f,'translatedCommand':_0x3ed151!==_0x42d89f?_0x3ed151:undefined,'error':_0x86607e[_0x52f205(0xff)],'stderr':_0x17abf4['trim'](),'stdout':_0x588561[_0x52f205(0x138)](),'exitCode':-0x1,'executionTime':_0x4ca36f,'workingDirectory':_0x28ce76,'promptDetected':!!_0x5c207c,'promptInfo':_0x5c207c||undefined,'lastOutputTime':_0x2cff58,'timeSinceLastOutput':_0x3853ed});});});}async['changeDirectory'](_0x2edab1,_0x42f6b9,_0x154adf){const _0x2ebf20=a0_0xc176c6;try{let _0x1da714;a0_0x3c91a6[_0x2ebf20(0x143)](_0x2edab1)?_0x1da714=_0x2edab1:_0x1da714=a0_0x3c91a6[_0x2ebf20(0x1a4)](_0x42f6b9,_0x2edab1);const _0x102786=await a0_0x5eb71c['stat'](_0x1da714);if(!_0x102786['isDirectory']())throw new Error(_0x2ebf20(0xed)+_0x1da714);const _0x553fe7=this[_0x2ebf20(0x195)]['validateReadAccess'](_0x1da714,_0x154adf);if(!_0x553fe7[_0x2ebf20(0x1c5)]){this[_0x2ebf20(0xc8)]?.[_0x2ebf20(0x162)]('Directory\x20change\x20blocked:\x20'+_0x553fe7['reason'],{'targetDirectory':_0x1da714,'reason':_0x553fe7[_0x2ebf20(0x1e7)],'category':_0x553fe7[_0x2ebf20(0xbc)]});throw new Error(_0x2ebf20(0x196)+_0x553fe7['reason']);}return{'success':!![],'action':'change-directory','previousDirectory':_0x42f6b9,'newDirectory':_0x1da714,'message':_0x2ebf20(0xc3)+_0x1da714};}catch(_0x5a18ec){throw new Error(_0x2ebf20(0x1d8)+_0x2edab1+':\x20'+_0x5a18ec[_0x2ebf20(0xff)]);}}async['listDirectory'](_0x1e7a0f){const _0x5ba6da=a0_0xc176c6;try{const _0x4050eb=await a0_0x5eb71c[_0x5ba6da(0x10e)](_0x1e7a0f,{'withFileTypes':!![]}),_0x2fd9a2=_0x4050eb[_0x5ba6da(0x1f0)](_0x1ed17f=>({'name':_0x1ed17f[_0x5ba6da(0xf5)],'type':_0x1ed17f[_0x5ba6da(0xc2)]()?'directory':'file','isSymlink':_0x1ed17f[_0x5ba6da(0x1b5)]()}));return{'success':!![],'action':'list-directory','directory':_0x1e7a0f,'contents':_0x2fd9a2,'totalItems':_0x2fd9a2[_0x5ba6da(0xbf)],'directories':_0x2fd9a2['filter'](_0x31954f=>_0x31954f['type']==='directory')['length'],'files':_0x2fd9a2[_0x5ba6da(0x157)](_0x19814a=>_0x19814a['type']===_0x5ba6da(0xb3))['length'],'message':'Listed\x20'+_0x2fd9a2['length']+_0x5ba6da(0x16d)+_0x1e7a0f};}catch(_0x5e14fe){throw new Error(_0x5ba6da(0x1fa)+_0x1e7a0f+':\x20'+_0x5e14fe[_0x5ba6da(0xff)]);}}async['createDirectory'](_0x4e35bd,_0x3141bc){const _0x27ef13=a0_0xc176c6;try{let _0x38bff6;return a0_0x3c91a6[_0x27ef13(0x143)](_0x4e35bd)?_0x38bff6=_0x4e35bd:_0x38bff6=a0_0x3c91a6['resolve'](_0x3141bc,_0x4e35bd),await a0_0x5eb71c[_0x27ef13(0xd7)](_0x38bff6,{'recursive':!![]}),{'success':!![],'action':'create-directory','directory':_0x38bff6,'relativePath':a0_0x3c91a6[_0x27ef13(0x160)](_0x3141bc,_0x38bff6),'message':_0x27ef13(0x1cf)+_0x38bff6};}catch(_0x590ca6){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x4e35bd+':\x20'+_0x590ca6[_0x27ef13(0xff)]);}}[a0_0xc176c6(0x151)](_0x30442a){const _0x465697=a0_0xc176c6,_0x3f663c=_0x30442a['toLowerCase']()['trim']();return this[_0x465697(0x1e6)][_0x465697(0x176)](_0x29f874=>{const _0x53c420=_0x465697,_0x34171d=_0x29f874['toLowerCase']();return _0x3f663c===_0x34171d||_0x3f663c[_0x53c420(0x1ac)](_0x34171d+'\x20');});}['isAllowedCommand'](_0x57ef7c){const _0x374815=a0_0xc176c6;if(!this[_0x374815(0xe3)])return!![];const _0x4c6021=_0x57ef7c[_0x374815(0xb9)]()[_0x374815(0x138)](),_0x4caf0c=_0x4c6021['split']('\x20')[0x0];return this[_0x374815(0xe3)]['some'](_0x12950c=>_0x12950c[_0x374815(0xb9)]()===_0x4caf0c||_0x4c6021['startsWith'](_0x12950c['toLowerCase']()+'\x20'));}['addToHistory'](_0x884d45,_0xcd2e4d,_0x4d05d4){const _0x3690b8=a0_0xc176c6,_0x5105d0={'timestamp':new Date()['toISOString'](),'agentId':_0x4d05d4,'action':_0x884d45['type'],'command':_0x884d45['command']||_0x884d45['directory'],'success':_0xcd2e4d['success'],'executionTime':_0xcd2e4d[_0x3690b8(0x18c)]||0x0,'workingDirectory':_0xcd2e4d[_0x3690b8(0x1a0)]};this[_0x3690b8(0x109)][_0x3690b8(0xef)](_0x5105d0),this['commandHistory'][_0x3690b8(0xbf)]>0x64&&(this['commandHistory']=this['commandHistory'][_0x3690b8(0x1b6)](-0x64));}['getSupportedActions'](){const _0x174b8f=a0_0xc176c6;return[_0x174b8f(0xf1),_0x174b8f(0xf2),_0x174b8f(0xdc),_0x174b8f(0x1d5),'get-working-directory'];}['getParameterSchema'](){const _0x2d71e1=a0_0xc176c6;return{'type':'object','properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':_0x2d71e1(0x119),'properties':{'type':{'type':'string','enum':this[_0x2d71e1(0x1ee)]()},'command':{'type':_0x2d71e1(0xfa)},'directory':{'type':_0x2d71e1(0xfa)}},'required':['type']}},'timeout':{'type':_0x2d71e1(0x11a),'minimum':0x3e8,'maximum':this[_0x2d71e1(0x1b9)]},'async':{'type':'boolean'}},'required':['actions']};}['getCommandHistory'](_0x19071d=null){const _0x596f41=a0_0xc176c6;if(_0x19071d)return this[_0x596f41(0x109)]['filter'](_0x358297=>_0x358297[_0x596f41(0x118)]===_0x19071d);return[...this[_0x596f41(0x109)]];}[a0_0xc176c6(0x149)](_0x1c8718){const _0x964b25=a0_0xc176c6;for(const [_0x3c8b1d]of this['workingDirectories']){_0x3c8b1d[_0x964b25(0x1ac)](_0x1c8718+'-')&&this[_0x964b25(0xcd)]['delete'](_0x3c8b1d);}}[a0_0xc176c6(0x114)](_0x23d3c5,_0x70fb3=null){const _0x298ce4=a0_0xc176c6,_0x571123=_0x23d3c5+'-'+(_0x70fb3||'default');return this[_0x298ce4(0xcd)]['get'](_0x571123)||_0x70fb3||process['cwd']();}[a0_0xc176c6(0x130)](){const _0x19d9d2=a0_0xc176c6;this[_0x19d9d2(0x19a)]=process['platform'];if(process[_0x19d9d2(0xd6)]==='win32'){if(process['env'][_0x19d9d2(0x182)])this[_0x19d9d2(0x1e8)]='powershell';else process['env']['SHELL']&&process['env'][_0x19d9d2(0x14e)]['includes']('bash')?this[_0x19d9d2(0x1e8)]='bash':this[_0x19d9d2(0x1e8)]='cmd';}else process['platform']==='darwin'?this[_0x19d9d2(0x1e8)]=_0x19d9d2(0x12d):this['detectedTerminal']=_0x19d9d2(0x12d);this['logger']?.['info']('Terminal\x20detected',{'platform':this[_0x19d9d2(0x19a)],'terminal':this['detectedTerminal'],'shell':process[_0x19d9d2(0x16f)]['SHELL']});}async[a0_0xc176c6(0x159)](_0x3f4111,_0x195510={}){const _0x5e480c=a0_0xc176c6,_0x303a8c=_0x3f4111['trim'](),_0x4d8831=this['analyzeCommandCompatibility'](_0x303a8c);this['logger']?.[_0x5e480c(0x174)]('Command\x20compatibility\x20analysis',{'command':_0x303a8c,'detectedTerminal':_0x4d8831[_0x5e480c(0x1e8)],'commandType':_0x4d8831['commandType'],'commandCategory':_0x4d8831[_0x5e480c(0x10c)],'compatible':_0x4d8831[_0x5e480c(0x1dd)],'issues':_0x4d8831[_0x5e480c(0xe6)],'suggestedAction':_0x4d8831['suggestedAction'],'confidence':_0x4d8831['confidence']});if(_0x4d8831['compatible'])return _0x3f4111;let _0x2027a4=null;if(this['detectedTerminal']==='cmd')_0x2027a4=this['translateToWindowsCmd'](_0x303a8c);else{if(this[_0x5e480c(0x1e8)]==='powershell')_0x2027a4=this['translateToPowerShell'](_0x303a8c);else this['detectedTerminal']===_0x5e480c(0x12d)&&(_0x2027a4=this['translateToBash'](_0x303a8c));}if(_0x2027a4&&this[_0x5e480c(0x104)](_0x303a8c))return this['logger']?.[_0x5e480c(0x174)]('Using\x20simple\x20translation',{'original':_0x3f4111,'translated':_0x2027a4,'method':'simple'}),_0x2027a4;if(_0x195510['aiService']||_0x195510[_0x5e480c(0x194)]&&_0x195510['agentId']){this[_0x5e480c(0xc8)]?.[_0x5e480c(0x174)](_0x5e480c(0x115),{'command':_0x3f4111['substring'](0x0,0x64)+'...','hasAiService':!!_0x195510['aiService'],'hasToolsRegistry':!!_0x195510['toolsRegistry'],'agentId':_0x195510[_0x5e480c(0x118)]});try{const _0x55150d=await this['translateCommandWithAI'](_0x3f4111,_0x195510);if(_0x55150d&&_0x55150d[_0x5e480c(0x138)]()!==_0x3f4111[_0x5e480c(0x138)]())return this['logger']?.[_0x5e480c(0x174)](_0x5e480c(0x1df),{'original':_0x3f4111,'translated':_0x55150d,'method':'ai'}),_0x55150d;else this[_0x5e480c(0xc8)]?.[_0x5e480c(0x162)](_0x5e480c(0x187),{'original':_0x3f4111,'translated':_0x55150d});}catch(_0x2c0d9f){this['logger']?.[_0x5e480c(0x162)]('AI\x20translation\x20failed,\x20falling\x20back\x20to\x20simple\x20translation',{'original':_0x3f4111,'error':_0x2c0d9f['message'],'stack':_0x2c0d9f[_0x5e480c(0x1f3)]});}}else this[_0x5e480c(0xc8)]?.[_0x5e480c(0x162)]('AI\x20translation\x20not\x20available\x20-\x20missing\x20context',{'hasAiService':!!_0x195510['aiService'],'hasToolsRegistry':!!_0x195510[_0x5e480c(0x194)],'hasAgentId':!!_0x195510[_0x5e480c(0x118)],'contextKeys':Object['keys'](_0x195510)});return _0x2027a4||_0x3f4111;}['isSimpleCommand'](_0x561044){const _0x3109db=a0_0xc176c6,_0x110abc=_0x561044[_0x3109db(0xb9)]();if(_0x561044[_0x3109db(0x14a)]('\x5cn')||_0x561044[_0x3109db(0x14a)]('\x5cr')||_0x561044['includes']('\x5ct'))return![];if(_0x561044['includes']('\x0a')||_0x561044['includes']('\x0d'))return![];if(_0x561044[_0x3109db(0x14a)](_0x3109db(0xee))||_0x561044[_0x3109db(0x14a)]('printf')||_0x561044['includes'](_0x3109db(0x141)))return![];if(_0x561044[_0x3109db(0x14a)](_0x3109db(0x1ef))||_0x561044['includes'](_0x3109db(0x1fb))||_0x561044['includes']('class\x20'))return![];if(_0x561044[_0x3109db(0x14a)](_0x3109db(0xdb))&&!_0x561044['includes'](_0x3109db(0x1cb)))return![];const _0x3e9f68=_0x561044[_0x3109db(0x135)](/'([^']*)'/);if(_0x3e9f68&&_0x3e9f68[0x1]['length']>0x32)return![];if(this[_0x3109db(0x1e8)]===_0x3109db(0x1f7)&&_0x561044['includes']('>')&&_0x561044[_0x3109db(0x14a)]('/')&&!_0x561044['includes']('\x5c'))return![];if(_0x561044[_0x3109db(0x14a)](_0x3109db(0x112))||_0x561044['includes']('\x20||\x20')||_0x561044[_0x3109db(0x14a)](';\x20'))return![];if(_0x561044['includes']('$(')||_0x561044['includes']('`')||_0x561044[_0x3109db(0x14a)]('{')||_0x561044[_0x3109db(0x14a)]('['))return![];if(_0x110abc['includes'](_0x3109db(0x1f8))||_0x110abc[_0x3109db(0x14a)](_0x3109db(0x1bd))||_0x110abc[_0x3109db(0x14a)]('if\x20'))return![];if(_0x110abc['includes']('export ')||_0x110abc['includes'](_0x3109db(0x1ae)))return![];if(_0x561044[_0x3109db(0x14a)](_0x3109db(0x19d))||_0x561044['includes']('\x20>\x20&'))return![];return!![];}async[a0_0xc176c6(0x110)](_0x23004a,_0x54ec1f){const _0x159ef5=a0_0xc176c6;let _0x2103e3=_0x54ec1f[_0x159ef5(0xb5)];if(!_0x2103e3&&_0x54ec1f[_0x159ef5(0x194)]&&_0x54ec1f['agentId']){const _0x51428c=_0x54ec1f[_0x159ef5(0x121)];_0x51428c&&_0x51428c[_0x159ef5(0xb5)]&&(_0x2103e3=_0x51428c['aiService']);}if(!_0x2103e3)throw new Error('AI\x20service\x20not\x20available\x20for\x20command\x20translation');const _0x41af10=this[_0x159ef5(0x102)](_0x23004a),_0x1f6d14='gpt-4-mini';try{const _0x1497cf=await _0x2103e3['sendMessage'](_0x1f6d14,_0x41af10,{'agentId':_0x54ec1f[_0x159ef5(0x118)],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x54ec1f[_0x159ef5(0x103)],'customApiKeys':_0x54ec1f[_0x159ef5(0x197)],'platformProvided':_0x54ec1f[_0x159ef5(0x1a6)]}),_0x1ac16d=this[_0x159ef5(0xf0)](_0x1497cf['content']);return this[_0x159ef5(0xc8)]?.['debug'](_0x159ef5(0x124),{'original':_0x23004a,'translated':_0x1ac16d,'model':_0x1f6d14,'terminal':this['detectedTerminal']}),_0x1ac16d;}catch(_0x88ccd1){this[_0x159ef5(0xc8)]?.[_0x159ef5(0x183)]('AI\x20command\x20translation\x20failed',{'command':_0x23004a,'terminal':this[_0x159ef5(0x1e8)],'error':_0x88ccd1['message']});throw _0x88ccd1;}}['buildTranslationPrompt'](_0x30f302){const _0x5c67e7=a0_0xc176c6,_0x102b5d={'cmd':'Windows\x20Command\x20Prompt\x20(cmd.exe)','powershell':'Windows\x20PowerShell','bash':'Bash\x20shell\x20(Linux/Unix/macOS)'},_0x5887d0=_0x102b5d[this['detectedTerminal']]||this['detectedTerminal'],_0x554bc8=this[_0x5c67e7(0x1db)](_0x30f302);let _0x1d06b2='Translate\x20this\x20command\x20to\x20work\x20correctly\x20in\x20'+_0x5887d0+_0x5c67e7(0x1d7)+_0x30f302+'\x0a```\x0a\x0aCOMMAND\x20ANALYSIS:\x0a-\x20Command\x20Type:\x20'+_0x554bc8[_0x5c67e7(0x13f)]+_0x5c67e7(0x198)+_0x554bc8[_0x5c67e7(0x10c)]+_0x5c67e7(0x173)+_0x5887d0+_0x5c67e7(0x185)+(_0x554bc8['specificIssues'][_0x5c67e7(0x15e)](',\x20')||'None\x20detected');return _0x554bc8[_0x5c67e7(0x13f)]===_0x5c67e7(0x15d)&&_0x554bc8['alternatives']&&_0x554bc8['alternatives'][this[_0x5c67e7(0x1e8)]]&&(_0x1d06b2+='\x0a-\x20Suggested\x20Alternative:\x20'+_0x554bc8[_0x5c67e7(0x117)][this['detectedTerminal']]),_0x1d06b2+=_0x5c67e7(0x184)+_0x5887d0+'\x0a2.\x20Preserve\x20the\x20original\x20intent\x20and\x20functionality\x0a3.\x20Handle\x20file\x20paths,\x20quoting,\x20and\x20syntax\x20correctly\x0a4.\x20If\x20creating\x20files,\x20ensure\x20proper\x20encoding\x20and\x20line\x20endings\x0a5.\x20Address\x20the\x20specific\x20compatibility\x20issues\x20identified\x20above\x0a6.\x20Return\x20ONLY\x20the\x20translated\x20command,\x20nothing\x20else\x0a\x0aTRANSLATED\x20COMMAND:',_0x1d06b2;}['extractTranslatedCommand'](_0x32ae5a){const _0x56b705=a0_0xc176c6;let _0x1ff764=_0x32ae5a['replace'](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x1ff764=_0x1ff764['replace'](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x3fa6fb=_0x1ff764['trim']()[_0x56b705(0x1b2)]('\x0a');return _0x3fa6fb['length']>0x1&&!_0x1ff764['includes']('&&')&&!_0x1ff764['includes']('||')&&(_0x1ff764=_0x3fa6fb[0x0]['trim']()),_0x1ff764[_0x56b705(0x138)]();}['analyzeCommandCompatibility'](_0x591fa8){const _0x240def=a0_0xc176c6,_0x3c8588=this[_0x240def(0x137)](_0x591fa8),_0x4c6710=this[_0x240def(0x153)](_0x3c8588,this[_0x240def(0x1e8)]);return{'compatible':_0x4c6710,'detectedTerminal':this[_0x240def(0x1e8)],'commandType':_0x3c8588['type'],'commandCategory':_0x3c8588['category'],'specificIssues':_0x3c8588['issues'],'suggestedAction':_0x4c6710?'execute':'translate','confidence':_0x3c8588[_0x240def(0x14c)]};}[a0_0xc176c6(0x16e)](_0x268881){const _0x17e93e=a0_0xc176c6;return this[_0x17e93e(0x1db)](_0x268881)[_0x17e93e(0x1dd)];}['classifyCommand'](_0x548ed3){const _0x2e430d=a0_0xc176c6,_0x1aaf36=_0x548ed3['toLowerCase']()['trim'](),_0x1c2c2f=_0x1aaf36['split']('\x20')[0x0],_0x41207f=[];let _0x18b6e2=0.9;const _0x2e1489={'ls':{'category':'file-listing','alternatives':{'cmd':'dir','powershell':_0x2e430d(0x100)}},'cat':{'category':_0x2e430d(0xe0),'alternatives':{'cmd':'type','powershell':'Get-Content'}},'grep':{'category':'text-search','alternatives':{'cmd':'findstr','powershell':_0x2e430d(0xc0)}},'find':{'category':'file-search','alternatives':{'cmd':'dir\x20/s','powershell':'Get-ChildItem\x20-Recurse'}},'head':{'category':'file-viewing','alternatives':{'cmd':_0x2e430d(0x1bf),'powershell':_0x2e430d(0x13d)}},'tail':{'category':'file-viewing','alternatives':{'cmd':_0x2e430d(0xda),'powershell':'Get-Content\x20-Tail'}},'wc':{'category':'text-analysis','alternatives':{'cmd':_0x2e430d(0x1eb),'powershell':_0x2e430d(0x1ad)}},'cp':{'category':_0x2e430d(0x156),'alternatives':{'cmd':'copy','powershell':_0x2e430d(0x13a)}},'mv':{'category':'file-move','alternatives':{'cmd':'move','powershell':_0x2e430d(0x158)}},'rm':{'category':_0x2e430d(0x199),'alternatives':{'cmd':'del','powershell':'Remove-Item'}},'mkdir':{'category':'directory-create','alternatives':{'cmd':_0x2e430d(0xd7),'powershell':'New-Item\x20-Type\x20Directory'}},'rmdir':{'category':_0x2e430d(0x1ec),'alternatives':{'cmd':'rmdir','powershell':_0x2e430d(0xc4)}},'touch':{'category':_0x2e430d(0x1a8),'alternatives':{'cmd':'type\x20nul\x20>','powershell':_0x2e430d(0x11e)}},'chmod':{'category':'permissions','alternatives':{'cmd':_0x2e430d(0x129),'powershell':_0x2e430d(0x1be)}},'chown':{'category':'ownership','alternatives':{'cmd':_0x2e430d(0x1e9),'powershell':_0x2e430d(0x1be)}},'ps':{'category':'process-list','alternatives':{'cmd':'tasklist','powershell':'Get-Process'}},'kill':{'category':'process-kill','alternatives':{'cmd':_0x2e430d(0x1ce),'powershell':_0x2e430d(0x14f)}},'killall':{'category':'process-kill','alternatives':{'cmd':'taskkill\x20/f\x20/im','powershell':_0x2e430d(0x1a7)}},'top':{'category':'process-monitor','alternatives':{'cmd':_0x2e430d(0x164),'powershell':_0x2e430d(0x1b4)}},'wget':{'category':'download','alternatives':{'cmd':'curl','powershell':_0x2e430d(0x1b7)}},'curl':{'category':_0x2e430d(0x180),'alternatives':{'cmd':_0x2e430d(0x1c3),'powershell':_0x2e430d(0xe4)}},'ping':{'category':'network-test','alternatives':{'cmd':_0x2e430d(0x1bc),'powershell':'Test-NetConnection'}},'awk':{'category':'text-processing','alternatives':{'cmd':'for\x20/f','powershell':'ForEach-Object'}},'sed':{'category':_0x2e430d(0xb4),'alternatives':{'cmd':_0x2e430d(0x1de),'powershell':'native'}},'sort':{'category':'text-sort','alternatives':{'cmd':'sort','powershell':'Sort-Object'}},'uniq':{'category':_0x2e430d(0x106),'alternatives':{'cmd':'sort\x20/unique','powershell':_0x2e430d(0xd0)}},'pwd':{'category':_0x2e430d(0x1c7),'alternatives':{'cmd':'cd','powershell':'Get-Location'}},'whoami':{'category':'user-info','alternatives':{'cmd':'echo\x20%USERNAME%','powershell':'whoami'}},'env':{'category':_0x2e430d(0xe1),'alternatives':{'cmd':'set','powershell':'Get-ChildItem\x20Env:'}},'export':{'category':_0x2e430d(0xe1),'alternatives':{'cmd':_0x2e430d(0xbd),'powershell':'$env:'}},'source':{'category':'script-execute','alternatives':{'cmd':'call','powershell':'.\x20'}},'tar':{'category':'archive','alternatives':{'cmd':'7z','powershell':_0x2e430d(0x1cd)}},'zip':{'category':'archive','alternatives':{'cmd':_0x2e430d(0xf3),'powershell':'Compress-Archive'}},'unzip':{'category':_0x2e430d(0x167),'alternatives':{'cmd':'powershell\x20Expand-Archive','powershell':_0x2e430d(0x134)}},'df':{'category':'disk-info','alternatives':{'cmd':_0x2e430d(0x1e0),'powershell':_0x2e430d(0x171)}},'du':{'category':_0x2e430d(0x166),'alternatives':{'cmd':'dir\x20/s','powershell':_0x2e430d(0xec)}},'free':{'category':'memory-info','alternatives':{'cmd':_0x2e430d(0xf8),'powershell':_0x2e430d(0x1d0)}},'uname':{'category':_0x2e430d(0x111),'alternatives':{'cmd':'systeminfo','powershell':'Get-ComputerInfo'}}},_0x76095={'dir':{'category':_0x2e430d(0x1f1),'alternatives':{'unix':'ls','powershell':_0x2e430d(0x100)}},'type':{'category':'file-viewing','alternatives':{'unix':_0x2e430d(0xd1),'powershell':'Get-Content'}},'copy':{'category':'file-copy','alternatives':{'unix':'cp','powershell':_0x2e430d(0x13a)}},'move':{'category':'file-move','alternatives':{'unix':'mv','powershell':'Move-Item'}},'del':{'category':_0x2e430d(0x199),'alternatives':{'unix':'rm','powershell':'Remove-Item'}},'tasklist':{'category':_0x2e430d(0xca),'alternatives':{'unix':'ps','powershell':_0x2e430d(0x142)}},'taskkill':{'category':_0x2e430d(0x1fd),'alternatives':{'unix':'kill','powershell':'Stop-Process'}},'findstr':{'category':'text-search','alternatives':{'unix':'grep','powershell':_0x2e430d(0xc0)}}},_0x5e217e={'get-childitem':{'category':_0x2e430d(0x1f1),'alternatives':{'unix':'ls','cmd':_0x2e430d(0x1f4)}},'get-content':{'category':'file-viewing','alternatives':{'unix':_0x2e430d(0xd1),'cmd':_0x2e430d(0x12a)}},'copy-item':{'category':_0x2e430d(0x156),'alternatives':{'unix':'cp','cmd':_0x2e430d(0x1a3)}},'move-item':{'category':_0x2e430d(0x146),'alternatives':{'unix':'mv','cmd':_0x2e430d(0x17b)}},'remove-item':{'category':'file-delete','alternatives':{'unix':'rm','cmd':'del'}},'get-process':{'category':'process-list','alternatives':{'unix':'ps','cmd':'tasklist'}},'stop-process':{'category':_0x2e430d(0x1fd),'alternatives':{'unix':_0x2e430d(0x17e),'cmd':_0x2e430d(0x1ce)}}};let _0x364aa6='unknown',_0x409c6f=_0x2e430d(0xba),_0x11f0c7={};if(_0x2e1489[_0x1c2c2f])_0x364aa6='unix',_0x409c6f=_0x2e1489[_0x1c2c2f]['category'],_0x11f0c7=_0x2e1489[_0x1c2c2f][_0x2e430d(0x117)];else{if(_0x76095[_0x1c2c2f])_0x364aa6='windows-cmd',_0x409c6f=_0x76095[_0x1c2c2f][_0x2e430d(0xbc)],_0x11f0c7=_0x76095[_0x1c2c2f]['alternatives'];else{if(_0x5e217e[_0x1c2c2f])_0x364aa6='powershell',_0x409c6f=_0x5e217e[_0x1c2c2f]['category'],_0x11f0c7=_0x5e217e[_0x1c2c2f][_0x2e430d(0x117)];else{const _0x17ba47=[_0x2e430d(0x12e),'cd',_0x2e430d(0x186),'help'];_0x17ba47[_0x2e430d(0x14a)](_0x1c2c2f)?(_0x364aa6='universal',_0x409c6f=_0x2e430d(0x1c2)):(_0x364aa6=_0x2e430d(0xba),_0x18b6e2=0.3);}}}return _0x548ed3[_0x2e430d(0x14a)]('\x27')&&!_0x548ed3['includes']('\x22')&&_0x41207f[_0x2e430d(0xef)]('single-quotes-problematic'),_0x548ed3['includes']('/')&&!_0x548ed3[_0x2e430d(0x14a)]('\x5c')&&!_0x548ed3[_0x2e430d(0x14a)]('http')&&_0x548ed3[_0x2e430d(0x14a)]('>')&&_0x41207f[_0x2e430d(0xef)](_0x2e430d(0xe9)),(_0x548ed3[_0x2e430d(0x14a)]('\x5cn')||_0x548ed3['includes']('\x5ct'))&&_0x41207f[_0x2e430d(0xef)]('escape-sequences'),(_0x548ed3['includes'](_0x2e430d(0x112))||_0x548ed3[_0x2e430d(0x14a)](_0x2e430d(0xbe))||_0x548ed3[_0x2e430d(0x14a)](';'))&&_0x41207f[_0x2e430d(0xef)]('command-chaining'),{'type':_0x364aa6,'category':_0x409c6f,'alternatives':_0x11f0c7,'issues':_0x41207f,'confidence':_0x18b6e2,'firstWord':_0x1c2c2f,'fullCommand':_0x548ed3};}[a0_0xc176c6(0x153)](_0x55d2a5,_0x68cd0e){const _0x4b911b=a0_0xc176c6;switch(_0x68cd0e){case'cmd':if(_0x55d2a5['type']===_0x4b911b(0x15d))return![];if(_0x55d2a5['issues']['includes'](_0x4b911b(0x1b0)))return![];if(_0x55d2a5[_0x4b911b(0xb1)][_0x4b911b(0x14a)](_0x4b911b(0xe9)))return![];return _0x55d2a5[_0x4b911b(0x12a)]===_0x4b911b(0xdf)||_0x55d2a5[_0x4b911b(0x12a)]==='universal';case _0x4b911b(0x150):if(_0x55d2a5[_0x4b911b(0x12a)]===_0x4b911b(0x15d)&&!_0x55d2a5['alternatives']['powershell'])return![];return!![];case'bash':if(_0x55d2a5[_0x4b911b(0x12a)]===_0x4b911b(0xdf))return![];return _0x55d2a5[_0x4b911b(0x12a)]===_0x4b911b(0x15d)||_0x55d2a5['type']==='universal';default:return![];}}['translateToWindowsCmd'](_0x13229b){const _0x79a123=a0_0xc176c6;let _0x32a178=_0x13229b;const _0x33c00b=new Map([[/^ls\s*$/,_0x79a123(0x1f4)],[/^ls\s+-la?$/,_0x79a123(0x1f4)],[/^ls\s+-l$/,'dir'],[/^ls\s+-a$/,'dir\x20/a'],[/^cat\s+(.+)$/,'type\x20$1'],[/^cp\s+(.+)\s+(.+)$/,_0x79a123(0xcc)],[/^mv\s+(.+)\s+(.+)$/,'move\x20$1\x20$2'],[/^rm\s+(.+)$/,_0x79a123(0x1d3)],[/^mkdir\s+(.+)$/,_0x79a123(0x1ab)],[/^rmdir\s+(.+)$/,'rmdir\x20$1'],[/^ps\s*$/,'tasklist'],[/^kill\s+(.+)$/,_0x79a123(0xfb)],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,'echo\x20%USERNAME%'],[/^ping\s+(.+)$/,_0x79a123(0x1ea)],[/^wget\s+(.+)$/,_0x79a123(0xaf)],[/^curl\s+(.+)$/,_0x79a123(0x1b8)]]);for(const [_0x4ee9dd,_0x484faa]of _0x33c00b){if(_0x4ee9dd['test'](_0x32a178)){_0x32a178=_0x32a178['replace'](_0x4ee9dd,_0x484faa);break;}}_0x32a178=_0x32a178[_0x79a123(0x1a2)](/echo\s+'([^']+)'\s*>/g,_0x79a123(0x139)),_0x32a178=_0x32a178['replace'](/echo\s+'([^']+)'$/g,_0x79a123(0x1f2));if(_0x32a178[_0x79a123(0x14a)]('echo\x20\x27')&&_0x32a178['includes']('\x5cn')){const _0x4c20c6=_0x32a178['match'](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0x4c20c6){const _0x2e7100=_0x4c20c6[0x1][_0x79a123(0x1a2)](/\\n/g,'\x0a'),_0x2ac397=_0x4c20c6[0x2],_0x2762b1=_0x2e7100['split']('\x0a');_0x32a178='('+_0x2762b1['map'](_0x1b44d4=>_0x79a123(0x154)+_0x1b44d4)['join'](_0x79a123(0xd8))+_0x79a123(0x11d)+_0x2ac397;}}return this['logger']?.['info']('Command\x20translated\x20for\x20Windows\x20CMD',{'original':_0x13229b,'translated':_0x32a178}),_0x32a178;}[a0_0xc176c6(0x1d9)](_0x2da7dd){const _0xb4f655=a0_0xc176c6;let _0x1eca2a=_0x2da7dd;const _0x593032=new Map([[/^ls\s*$/,_0xb4f655(0x100)],[/^ls\s+-la?$/,'Get-ChildItem\x20-Force'],[/^cat\s+(.+)$/,'Get-Content\x20$1'],[/^cp\s+(.+)\s+(.+)$/,_0xb4f655(0xb7)],[/^mv\s+(.+)\s+(.+)$/,'Move-Item\x20$1\x20$2'],[/^rm\s+(.+)$/,'Remove-Item\x20$1'],[/^pwd\s*$/,'Get-Location'],[/^ps\s*$/,'Get-Process']]);for(const [_0x27de94,_0x16aa82]of _0x593032){if(_0x27de94[_0xb4f655(0xb8)](_0x1eca2a)){_0x1eca2a=_0x1eca2a[_0xb4f655(0x1a2)](_0x27de94,_0x16aa82);break;}}return this['logger']?.[_0xb4f655(0x174)]('Command\x20translated\x20for\x20PowerShell',{'original':_0x2da7dd,'translated':_0x1eca2a}),_0x1eca2a;}['translateToBash'](_0x2029cc){const _0x5bffff=a0_0xc176c6;let _0x200cff=_0x2029cc;const _0x1b8ec5=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,_0x5bffff(0x16b)],[/^type\s+(.+)$/,'cat\x20$1'],[/^copy\s+(.+)\s+(.+)$/,_0x5bffff(0xf6)],[/^move\s+(.+)\s+(.+)$/,_0x5bffff(0x113)],[/^del\s+(.+)$/,_0x5bffff(0x10f)],[/^tasklist\s*$/,'ps'],[/^cd\s*$/,_0x5bffff(0x122)]]);for(const [_0x23500f,_0x4cf4af]of _0x1b8ec5){if(_0x23500f['test'](_0x200cff)){_0x200cff=_0x200cff[_0x5bffff(0x1a2)](_0x23500f,_0x4cf4af);break;}}return _0x200cff;}async[a0_0xc176c6(0x188)](_0x2a4e39){}async['startBackgroundCommand'](_0xd7bd41,_0x171132,_0x31e233={}){const _0x3e89ab=a0_0xc176c6,{agentId:_0x58a4bc,context:_0x255cd3}=_0x31e233;if(!_0x58a4bc)throw new Error('agentId\x20is\x20required\x20for\x20background\x20commands');const _0x24155b=this[_0x3e89ab(0x15f)](_0x58a4bc),_0x1bf374=_0x24155b[_0x3e89ab(0x157)](_0x563c9e=>_0x563c9e['state']==='running'||_0x563c9e[_0x3e89ab(0x11f)]===_0x3e89ab(0xf4));if(_0x1bf374['length']>=this[_0x3e89ab(0x18a)])throw new Error('Maximum\x20background\x20commands\x20per\x20agent\x20exceeded\x20('+this['MAX_BACKGROUND_COMMANDS_PER_AGENT']+')');const _0x35878e=Array['from'](this['commandTracker'][_0x3e89ab(0x1e2)]()),_0xace7df=_0x35878e['filter'](_0x47beba=>_0x47beba[_0x3e89ab(0x11f)]===_0x3e89ab(0x152)||_0x47beba['state']===_0x3e89ab(0xf4));if(_0xace7df[_0x3e89ab(0xbf)]>=this[_0x3e89ab(0xb0)])throw new Error(_0x3e89ab(0x17f)+this[_0x3e89ab(0xb0)]+')');const _0x2b52f1=_0x58a4bc+_0x3e89ab(0x1a1)+Date[_0x3e89ab(0x1da)]()+'-'+ ++this['commandIdCounter'],_0x1a2788=_0xd7bd41;let _0x4075b1;try{_0x4075b1=await this['translateCommand'](_0xd7bd41,{'agentId':_0x58a4bc,'toolsRegistry':_0x255cd3?.[_0x3e89ab(0x194)],'messageProcessor':_0x255cd3?.[_0x3e89ab(0x121)],'aiService':_0x255cd3?.[_0x3e89ab(0xb5)],'apiKey':_0x255cd3?.[_0x3e89ab(0x103)],'customApiKeys':_0x255cd3?.[_0x3e89ab(0x197)],'platformProvided':_0x255cd3?.['platformProvided']});}catch(_0x50a45d){this['logger']?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x1a2788,'error':_0x50a45d['message']}),_0x4075b1=_0xd7bd41;}this[_0x3e89ab(0xc8)]?.['info'](_0x3e89ab(0xe7)+_0x4075b1,{'commandId':_0x2b52f1,'agentId':_0x58a4bc,'originalCommand':_0x1a2788,'workingDirectory':_0x171132});let _0x4cd0cf;if(this['detectedTerminal']===_0x3e89ab(0x1f7)||this[_0x3e89ab(0x1e8)]===_0x3e89ab(0x150)){const _0x27e03d=this['detectedTerminal']===_0x3e89ab(0x150)?'powershell':'cmd',_0x1c54e5=this['detectedTerminal']==='powershell'?['-Command',_0x4075b1]:['/c',_0x4075b1];_0x4cd0cf=spawn(_0x27e03d,_0x1c54e5,{'cwd':_0x171132,'env':{...process[_0x3e89ab(0x16f)]},'windowsHide':!![],'stdio':[_0x3e89ab(0x125),_0x3e89ab(0x125),_0x3e89ab(0x125)]});}else _0x4cd0cf=spawn('sh',['-c',_0x4075b1],{'cwd':_0x171132,'env':{...process[_0x3e89ab(0x16f)]},'stdio':[_0x3e89ab(0x125),'pipe',_0x3e89ab(0x125)]});const _0x25738e={'commandId':_0x2b52f1,'agentId':_0x58a4bc,'pid':_0x4cd0cf['pid'],'command':_0x1a2788,'translatedCommand':_0x4075b1,'workingDirectory':_0x171132,'startTime':new Date()[_0x3e89ab(0x179)](),'state':'running','exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date['now'](),'promptDetected':null,'process':_0x4cd0cf};return this[_0x3e89ab(0x18b)][_0x3e89ab(0xbd)](_0x2b52f1,_0x25738e),_0x4cd0cf[_0x3e89ab(0x1d6)]['on']('data',_0x24c85a=>{const _0x3680bf=_0x3e89ab,_0x2c6fc7=_0x24c85a[_0x3680bf(0x120)]();_0x25738e['stdoutBuffer']+=_0x2c6fc7,_0x25738e[_0x3680bf(0x13c)]=Date[_0x3680bf(0x1da)]();if(!_0x25738e[_0x3680bf(0x15c)]){const _0xf0de5c=this['promptDetector']['detectPrompt'](_0x25738e['stdoutBuffer'],'stdout');_0xf0de5c&&(_0x25738e[_0x3680bf(0x15c)]=_0xf0de5c,_0x25738e['state']=_0x3680bf(0xf4),this[_0x3680bf(0xc8)]?.[_0x3680bf(0x174)]('Prompt\x20detected\x20in\x20background\x20command',{'commandId':_0x2b52f1,'agentId':_0x58a4bc,'type':_0xf0de5c[_0x3680bf(0x12a)],'matchedText':_0xf0de5c[_0x3680bf(0x191)]}));}}),_0x4cd0cf['stderr']['on'](_0x3e89ab(0x1a9),_0x2fe117=>{const _0x4bd431=_0x3e89ab,_0x407417=_0x2fe117['toString']();_0x25738e['stderrBuffer']+=_0x407417,_0x25738e[_0x4bd431(0x13c)]=Date[_0x4bd431(0x1da)]();if(!_0x25738e[_0x4bd431(0x15c)]){const _0x40436d=this['promptDetector'][_0x4bd431(0x163)](_0x25738e[_0x4bd431(0x136)],_0x4bd431(0x14b));_0x40436d&&(_0x25738e['promptDetected']=_0x40436d,_0x25738e['state']='waiting_for_input',this[_0x4bd431(0xc8)]?.['info'](_0x4bd431(0x12f),{'commandId':_0x2b52f1,'agentId':_0x58a4bc,'type':_0x40436d['type'],'matchedText':_0x40436d[_0x4bd431(0x191)]}));}}),_0x4cd0cf['on'](_0x3e89ab(0x186),(_0x5217bb,_0x532007)=>{const _0x5e3471=_0x3e89ab;_0x25738e[_0x5e3471(0x165)]=_0x5217bb,_0x25738e['state']=_0x5217bb===0x0?_0x5e3471(0x12c):'failed',_0x25738e[_0x5e3471(0x1a5)]=new Date()[_0x5e3471(0x179)](),this['logger']?.[_0x5e3471(0x174)](_0x5e3471(0x1c1),{'commandId':_0x2b52f1,'agentId':_0x58a4bc,'exitCode':_0x5217bb,'signal':_0x532007,'state':_0x25738e[_0x5e3471(0x11f)]});}),_0x4cd0cf['on']('error',_0xb1c236=>{const _0x3bacab=_0x3e89ab;_0x25738e['state']='failed',_0x25738e[_0x3bacab(0x183)]=_0xb1c236[_0x3bacab(0xff)],_0x25738e[_0x3bacab(0x1a5)]=new Date()['toISOString'](),this['logger']?.['error'](_0x3bacab(0x107),{'commandId':_0x2b52f1,'agentId':_0x58a4bc,'error':_0xb1c236['message']});}),{'success':!![],'commandId':_0x2b52f1,'pid':_0x4cd0cf[_0x3e89ab(0xf7)],'command':_0x1a2788,'translatedCommand':_0x4075b1,'workingDirectory':_0x171132,'message':_0x3e89ab(0x1e1)+_0x2b52f1};}[a0_0xc176c6(0x105)](_0x340d06,_0x56d253,_0x2b36b6){const _0x20d925=a0_0xc176c6,_0x5c7cac=this[_0x20d925(0x1cc)](_0x340d06,_0x2b36b6);if(_0x5c7cac[_0x20d925(0x11f)]==='completed'||_0x5c7cac[_0x20d925(0x11f)]===_0x20d925(0xc1))throw new Error('Cannot\x20send\x20input\x20to\x20'+_0x5c7cac[_0x20d925(0x11f)]+'\x20command');if(!_0x5c7cac['process']||_0x5c7cac['process']['killed'])throw new Error('Command\x20process\x20is\x20not\x20running');const _0x31201d=_0x56d253[_0x20d925(0x131)]('\x0a')?_0x56d253:_0x56d253+'\x0a';return _0x5c7cac['process'][_0x20d925(0x18f)]['write'](_0x31201d),this['logger']?.['info'](_0x20d925(0xb2),{'commandId':_0x340d06,'agentId':_0x2b36b6,'inputLength':_0x56d253[_0x20d925(0xbf)]}),_0x5c7cac['state']===_0x20d925(0xf4)&&(_0x5c7cac[_0x20d925(0x11f)]=_0x20d925(0x152),_0x5c7cac[_0x20d925(0x15c)]=null),{'success':!![],'commandId':_0x340d06,'message':'Input\x20sent\x20successfully'};}['getCommandStatus'](_0x3af1de,_0x46c98f){const _0x5d0d18=a0_0xc176c6,_0x183f2e=this['validateCommandOwnership'](_0x3af1de,_0x46c98f),_0x16ffe8=Date[_0x5d0d18(0x1da)]()-_0x183f2e['lastOutputTime'];return{'success':!![],'commandId':_0x3af1de,'pid':_0x183f2e[_0x5d0d18(0xf7)],'command':_0x183f2e['command'],'state':_0x183f2e['state'],'exitCode':_0x183f2e['exitCode'],'startTime':_0x183f2e[_0x5d0d18(0x192)],'endTime':_0x183f2e[_0x5d0d18(0x1a5)],'workingDirectory':_0x183f2e['workingDirectory'],'stdout':_0x183f2e[_0x5d0d18(0x147)],'stderr':_0x183f2e[_0x5d0d18(0x136)],'stdoutLength':_0x183f2e[_0x5d0d18(0x147)][_0x5d0d18(0xbf)],'stderrLength':_0x183f2e[_0x5d0d18(0x136)]['length'],'lastOutputTime':_0x183f2e[_0x5d0d18(0x13c)],'timeSinceLastOutput':_0x16ffe8,'promptDetected':!!_0x183f2e[_0x5d0d18(0x15c)],'promptInfo':_0x183f2e['promptDetected']||undefined};}[a0_0xc176c6(0x10a)](_0x5e603b,_0x57e83c){const _0x16d6be=a0_0xc176c6,_0x358ded=this[_0x16d6be(0x1cc)](_0x5e603b,_0x57e83c);if(_0x358ded['state']==='completed'||_0x358ded['state']===_0x16d6be(0xc1))return{'success':!![],'commandId':_0x5e603b,'message':'Command\x20already\x20terminated','state':_0x358ded['state']};if(_0x358ded['process']&&!_0x358ded[_0x16d6be(0x1bb)][_0x16d6be(0xe5)])return _0x358ded[_0x16d6be(0x1bb)]['kill'](_0x16d6be(0xe2)),setTimeout(()=>{const _0x389fd7=_0x16d6be;_0x358ded[_0x389fd7(0x1bb)]&&!_0x358ded[_0x389fd7(0x1bb)]['killed']&&_0x358ded['process']['kill']('SIGKILL');},0x1388),this[_0x16d6be(0xc8)]?.['info']('Background\x20command\x20killed',{'commandId':_0x5e603b,'agentId':_0x57e83c}),{'success':!![],'commandId':_0x5e603b,'message':'Command\x20killed\x20successfully'};return{'success':![],'commandId':_0x5e603b,'error':_0x16d6be(0x17a)};}[a0_0xc176c6(0x19b)](_0x413ff2){const _0x3a5da4=a0_0xc176c6,_0x4f5d9b=this[_0x3a5da4(0x15f)](_0x413ff2);return _0x4f5d9b[_0x3a5da4(0x1f0)](_0x37dede=>({'commandId':_0x37dede['commandId'],'command':_0x37dede['command'],'state':_0x37dede[_0x3a5da4(0x11f)],'pid':_0x37dede['pid'],'exitCode':_0x37dede[_0x3a5da4(0x165)],'startTime':_0x37dede['startTime'],'endTime':_0x37dede[_0x3a5da4(0x1a5)],'promptDetected':!!_0x37dede[_0x3a5da4(0x15c)],'timeSinceLastOutput':Date[_0x3a5da4(0x1da)]()-_0x37dede[_0x3a5da4(0x13c)]}));}['getAgentCommands'](_0x524f2d){const _0x147c19=a0_0xc176c6;return Array[_0x147c19(0x13e)](this[_0x147c19(0x18b)][_0x147c19(0x1e2)]())['filter'](_0x3d24cb=>_0x3d24cb['agentId']===_0x524f2d);}[a0_0xc176c6(0x1cc)](_0x26c80b,_0x1a2e8c){const _0x8e0231=a0_0xc176c6,_0x47cb8e=this['commandTracker']['get'](_0x26c80b);if(!_0x47cb8e)throw new Error('Command\x20not\x20found:\x20'+_0x26c80b);if(_0x47cb8e['agentId']!==_0x1a2e8c)throw new Error(_0x8e0231(0x155)+_0x47cb8e[_0x8e0231(0x118)]);return _0x47cb8e;}async['cleanupAgent'](_0x15328d){const _0xc54fc=a0_0xc176c6,_0x3a8d7a=this[_0xc54fc(0x15f)](_0x15328d);let _0x5be609=0x0,_0x194ca2=0x0;for(const _0x3561dd of _0x3a8d7a){_0x3561dd[_0xc54fc(0x1bb)]&&!_0x3561dd['process'][_0xc54fc(0xe5)]&&(_0x3561dd['process']['kill']('SIGTERM'),_0x5be609++,setTimeout(()=>{const _0x2a2a8b=_0xc54fc;_0x3561dd['process']&&!_0x3561dd[_0x2a2a8b(0x1bb)][_0x2a2a8b(0xe5)]&&_0x3561dd[_0x2a2a8b(0x1bb)]['kill']('SIGKILL');},0xbb8)),this[_0xc54fc(0x18b)]['delete'](_0x3561dd[_0xc54fc(0x11c)]),_0x194ca2++;}return this['logger']?.['info']('Agent\x20commands\x20cleaned\x20up',{'agentId':_0x15328d,'killedCount':_0x5be609,'removedCount':_0x194ca2}),{'success':!![],'agentId':_0x15328d,'killedCount':_0x5be609,'removedCount':_0x194ca2,'message':'Cleaned\x20up\x20'+_0x194ca2+_0xc54fc(0xc9)+_0x15328d};}[a0_0xc176c6(0xdd)](){const _0x45f2dc=a0_0xc176c6,_0x130cf9=Date['now']();let _0x29f2aa=0x0;for(const [_0x4e4358,_0x561751]of this['commandTracker'][_0x45f2dc(0xbb)]()){if(_0x561751[_0x45f2dc(0x11f)]!=='completed'&&_0x561751[_0x45f2dc(0x11f)]!=='failed')continue;const _0x128765=new Date(_0x561751[_0x45f2dc(0x192)])[_0x45f2dc(0xcf)](),_0x5a6ee9=(_0x130cf9-_0x128765)/0x3e8/0x3c;_0x5a6ee9>this[_0x45f2dc(0x1f6)]&&(this['commandTracker']['delete'](_0x4e4358),_0x29f2aa++);}return _0x29f2aa>0x0&&this['logger']?.['info'](_0x45f2dc(0xfc),{'removedCount':_0x29f2aa,'ageThresholdMinutes':this['MAX_COMMAND_AGE_MINUTES']}),{'success':!![],'removedCount':_0x29f2aa,'message':'Cleaned\x20up\x20'+_0x29f2aa+'\x20stale\x20commands'};}}export default TerminalTool;
|
|
1
|
+
const a0_0x492ede=a0_0x51ec;(function(_0x7c0f5,_0x29b2b2){const _0x51cd94=a0_0x51ec,_0x5246e5=_0x7c0f5();while(!![]){try{const _0x22287a=-parseInt(_0x51cd94(0x1a9))/0x1*(-parseInt(_0x51cd94(0x145))/0x2)+-parseInt(_0x51cd94(0x10e))/0x3+-parseInt(_0x51cd94(0xaf))/0x4+-parseInt(_0x51cd94(0xb5))/0x5*(parseInt(_0x51cd94(0x131))/0x6)+parseInt(_0x51cd94(0xf8))/0x7*(-parseInt(_0x51cd94(0x1ad))/0x8)+parseInt(_0x51cd94(0x1ab))/0x9*(-parseInt(_0x51cd94(0x1a7))/0xa)+parseInt(_0x51cd94(0x143))/0xb;if(_0x22287a===_0x29b2b2)break;else _0x5246e5['push'](_0x5246e5['shift']());}catch(_0x517d93){_0x5246e5['push'](_0x5246e5['shift']());}}}(a0_0x1590,0xb30a1));function a0_0x51ec(_0x3e158f,_0x4deb0f){_0x3e158f=_0x3e158f-0x8c;const _0x159058=a0_0x1590();let _0x51ecdd=_0x159058[_0x3e158f];if(a0_0x51ec['snwPuF']===undefined){var _0x639cfc=function(_0x550d4c){const _0x2b1cc8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25a245='',_0x19528a='';for(let _0x469784=0x0,_0x1bc23b,_0x55e351,_0x35b828=0x0;_0x55e351=_0x550d4c['charAt'](_0x35b828++);~_0x55e351&&(_0x1bc23b=_0x469784%0x4?_0x1bc23b*0x40+_0x55e351:_0x55e351,_0x469784++%0x4)?_0x25a245+=String['fromCharCode'](0xff&_0x1bc23b>>(-0x2*_0x469784&0x6)):0x0){_0x55e351=_0x2b1cc8['indexOf'](_0x55e351);}for(let _0xbcb487=0x0,_0x1768d4=_0x25a245['length'];_0xbcb487<_0x1768d4;_0xbcb487++){_0x19528a+='%'+('00'+_0x25a245['charCodeAt'](_0xbcb487)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19528a);};a0_0x51ec['Efayte']=_0x639cfc,a0_0x51ec['aDvgFB']={},a0_0x51ec['snwPuF']=!![];}const _0x5f1a46=_0x159058[0x0],_0x22ce00=_0x3e158f+_0x5f1a46,_0x1d87bc=a0_0x51ec['aDvgFB'][_0x22ce00];return!_0x1d87bc?(_0x51ecdd=a0_0x51ec['Efayte'](_0x51ecdd),a0_0x51ec['aDvgFB'][_0x22ce00]=_0x51ecdd):_0x51ecdd=_0x1d87bc,_0x51ecdd;}import{BaseTool}from'./baseTool.js';import a0_0x25a245 from'../utilities/tagParser.js';import a0_0x19528a from'../utilities/directoryAccessManager.js';import{spawn,exec}from'child_process';import a0_0x469784 from'path';import a0_0x1bc23b from'fs/promises';function a0_0x1590(){const _0x138899=['C2v0','CM0GlxjMic8','Cg93zxjZAgvSBcbfEhbHBMqTqxjJAgL2zq','uMvTB3zLluL0zw0Gjde','zNvUy3rPB24G','ksa+ia','y29UzMLYBwf0Aw9U','y2f0','n2LizeTcrW','yxn5BMm','q29TBwfUzcbUB3qGzM91BMq6ia','A2v5ChjLC3m','z2v0vgLTzq','Aw5KzxG','y3jLyxrLlwrPCMvJDg9YEq','CgXHDgzVCM1uExbL','y21K','zxjYB3i','vw5RBM93BIbHy3rPB24GDhLWztOG','yxjJAgL2zq','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','z2v0rgvZy3jPChrPB24','DhjHBNnSyxrLq29TBwfUza','z3b0ltqTBwLUAq','C3rKB3v0qNvMzMvY','D2fPDgLUz19MB3jFAw5WDxq','quKGDhjHBNnSyxrPB24GzMfPBgvKlcbMywXSAw5NigjHy2SGDg8GC2LTCgXLihrYyw5ZBgf0Aw9U','quKGDhjHBNnSyxrPB24GCMv0DxjUzwqGC2fTzsbJB21Tyw5K','qMfJA2DYB3vUzcbJB21Tyw5KigTPBgXLza','Cg93zxjZAgvSBa','otyWntuYzvfhu0fz','DhjHBNnSyxrLq29TBwfUzfDPDgHbsq','y29WEsaKmsaKmG','ywLtzxj2AwnL','Bwf0y2HLzfrLEhq','C3rHDgu','q29TBwfUzcbJB21WyxrPyMLSAxr5igfUywX5C2LZ','Bwf4q29TBwfUzefNzu1PBNv0zxm','Aw5WDxq','BgvUz3rO','zM9Yic9M','y3vYBcaKmq','z2v0q29TBwfUzeHPC3rVCNK','CgvYBwLZC2LVBNm','AM9PBG','Bxm6ia','sw52B2TLlvjLC3rnzxrOB2q','C3rHCNrZv2L0Aa','zMLSzs1JB3b5','zMLSzq','CNvUlwnVBw1HBMq','D29YA2LUz0rPCMvJDg9YEq','r2v0lunOAwXKsxrLBq','AxndB21Tyw5Kq29TCgf0AwjSzq','D2LUmZi','zxHLy3v0zunVBw1HBMq','q29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwqSihvZAw5Nig9YAwDPBMfSignVBw1HBMq','CMvZB2X2zq','u2vSzwn0lvn0CMLUzW','r2vUzxjPyYbPBNb1DcbWCM9TChqGzgv0zwn0zwq','q29TBwfUzcbMywLSzwq6ia','C3LZDgvTAw5MBW','y3vZDg9TqxbPs2v5CW','CgfZC3DVCMq','BwvZC2fNzq','nJbbzfrMDfy','u2vSzwn0Aw9UihbYB21WDa','Bw9YzsaRBG','y29UDgLUDwu','zg93BMXVywq','r2v0lunVBNrLBNqGjde','rxHLy3v0Aw5NignVBw1HBMqGD2L0AcbZCgf3BJOG','cI0GvgfYz2v0ifrLCM1PBMfSoIa','z2v0ugfYyw1LDgvYu2nOzw1H','AxnZDwvZ','q29TBwfUzcbRAwXSzwqGC3vJy2vZC2z1BgX5','zgLY','y2HHBMDLrgLYzwn0B3j5','CNvUBMLUzW','r2vUzxjPyYbPBNb1DcbWCM9TChq','zgvIDwC','zgvZy3jPChrPB24','zwnOBYaLvvnfuK5btuuL','ndaYmJmZmJzbA3PAA0q','tMv3luL0zw0Glvr5CguGrMLSzq','nKLLqvPfuW','r2v0lvbYB2nLC3mGFcbtDg9WlvbYB2nLC3m','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbJB21WBgv0zwq','qwXSia','zxHLy3v0zq','oIbJB21Tyw5KigLZihjLCxvPCMvKigzVCIbYDw4Ty29TBwfUza','y2fSBa','AxnbC3LUyW','D2HPBguG','tufyx0nptu1btKrFquDfx01jtLvurvm','Aw5MBW','A2LSBa','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwq','q29TBwfUzcb0Aw1LzcbVDxqGywz0zxiG','zgvSic9Mic9X','Bwf4qMfJA2DYB3vUzenVBw1HBMrZugvYqwDLBNq','CgXHDgzVCM0','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','qMfZAcbZAgvSBcaOtgLUDxGVvw5PEc9TywnpuYK','D2fYBG','cGPsrvfvsvjftuvovfm6cJeUie1HA2uGDgHLignVBw1HBMqGD29YAYbJB3jYzwn0BhKGAw4G','r2v0luXVy2f0Aw9U','BxmPcI0Gyxn5BMm6ifDOzxrOzxiGDg8GCNvUignVBw1HBMqGyxn5BMnOCM9UB3vZBhKGkhrYDwuVzMfSC2uPcGPcqunlr1jpvu5eienptu1btKqGtufoquDftuvovcaOqwr2yw5JzwqPoGPgB3iGBg9UzY1YDw5UAw5NignVBw1HBMrZicHUCg0GAw5ZDgfSBcWGz2L0ig9WzxjHDgLVBNmSigj1AwXKCYKSihvZzsbIywnRz3jVDw5KignVBw1HBMqGDhjHy2TPBMC6cGOQkNn0yxj0qMfJA2DYB3vUzenVBw1HBMqOy29TBwfUzcWGD29YA2LUz0rPCIWGE2fNzw50swqSignVBNrLEhr9ksOQcI0Gu3rHCNrZignVBw1HBMqGAw4GyMfJA2DYB3vUzcb3AxrOihn0zgLUigTLChqGB3bLBGOTifjLDhvYBNmGy29TBwfUzeLKigzVCIb0CMfJA2LUzWOTie1HEca','y2XLyw51CefNzw50','q29UzMLYBwf0Aw9UihbYB21WDa','Dg9ju09tDhjPBMC','BMv0D29YAY10zxn0','D2LUzg93CY1JBwq','Dw5PEa','ihX8ia','zMLSzs12Awv3Aw5N','zxHPDenVzgu','y2XLyxjxB3jRAw5NrgLYzwn0B3j5','Dw5PEc1ZDhLSzs1WyxrOCW','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','y29TBwfUzeHPC3rVCNK','q3jLyxrLzcbKAxjLy3rVCNK6ia','zMLUzcaVyW','ChvZAa','qwDLBNqGy29TBwfUzhmGy2XLyw5Lzcb1Ca','q29UDgLUDwuGChjVBxb0','q2fUBM90ihnLBMqGAw5WDxqGDg8G','cI0Gq2f0zwDVCNK6ia','Bwf4qMfJA2DYB3vUzenVBw1HBMrZr2XVyMfS','qwnJzxnZigrLBMLLzdOG','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbxAw5KB3DZiennra','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFugH5C2LJywXnzw1VCNK','C3vJy2vZCW','qwn0Aw9Uia','ignVBw1HBMrZigzVCIbHz2vUDca','y29TBwfUza','yw5HBhL6zunVBw1HBMrdB21WyxrPyMLSAxr5','z2v0v29YA2LUz0rPCMvJDg9YEq','Aw5JBhvKzxm','DhjHBNnSyxrLvg9qB3DLCLnOzwXS','ywrKvg9iAxn0B3j5','CM1KAxi','oGOkt1jjr0LoquWGq09ntufordOkygbGcG','u0HfteW','zM9YBwf0','D29YA2LUz0rPCMvJDg9YAwvZ','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','BgfZDe91Dhb1DfrPBwu','ywX0zxjUyxrPDMvZ','DgfZA2TPBgWGl1bjrcaKmq','BwTKAxi','y29UDgvUDa','zMLSzs1JCMvHDgu','AxndB21Tyw5Kq29TCgf0AwjSzvDPDgHuzxjTAw5HBa','q29TBwfUzcbJB21WBgv0zwq6ia','twvUDsbZzwXLy3rPB24','uhjLC3mGzw50zxi','wwvZl05Vihf1zxn0Aw9U','Dw5RBM93BG','vxnLCM5HBwuGChjVBxb0','u0Lhvevstq','zw50CMLLCW','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUzcbZDgrLCNi','sgL0igvUDgvY','yM9VBgvHBG','q2XLyw5Lzcb1Cca','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','y2HHBMDLlwrPCMvJDg9YEq','ig9Mia','BwfW','zMLSDgvY','DMfSDwvZ','DgfZA2TPBgWGl2yGl2LT','Dg9tDhjPBMC','rM9YrwfJAc1pyMPLy3q','r2v0lunOAwXKsxrLBsaTuMvJDxjZzsb8ie1Lyxn1CMuTt2jQzwn0','ywXSB3DLzenVBw1HBMrZ','y2XLyw51Cfn0ywXLq29TBwfUzhm','C3rHy2S','C3rKB3v0','C3bLy2LMAwnjC3n1zxm','Cgf0DgvYBG','EwvZlw5V','mtb3z0HlvvO','Aw50zwDLCG','mZiZotK4ENPWDK1x','qMfJA2DYB3vUzcbJB21Tyw5Kihn0yxj0zwqGD2L0AcbjrdOG','mtiXmte0mtDdsNvPEKy','y29Kzq','ota3mtKYDuHkz09O','y29TBwfUzeLKq291BNrLCG','ChjVy2vZCW','r2v0lvbYB2nLC3m','Dw5PDMvYC2fS','ywn0Aw9UCW','z2v0u3vWCg9YDgvKqwn0Aw9UCW','q29TBwfUzcbWCM9JzxnZigLZig5VDcbYDw5UAw5N','zxHLy3v0Aw9UvgLTzq','A2LSBgvK','yMXVy2TLzenVBw1HBMrZ','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNKG','zgvSzxrL','zxnJyxbLlxnLCxvLBMnLCW','q29TBwfUzcbLCNjVCIbJAhvUAZOG','ywDLBNrjza','CgLWzq','cMbGyaOkq09ntuforcbbtKfmwvnjuZOklsbdB21Tyw5Kifr5Cgu6ia','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','y29TCgf0AwjSzq','tw92zs1jDgvT','BwvUDq','ufnnB2r1BgvqyxrO','BM93','CMvXDwLYzxnqCM9Qzwn0','CgXHDgzVCM1qCM92AwrLza','zgvMia','y29TCgXLDgvK','DgvZDa','DxnLCI1PBMzV','ChjVBxb0rgv0zwn0B3i','q29TBwfUzcbWCM9JzxnZig5VDcbMB3vUzcbVCIbHBhjLywr5igTPBgXLza','BgLZDefNzw50q29TBwfUzhm','DgfZA2XPC3q','C2H1DgrVD24','y29TBwfUzfr5Cgu','C2vUze1LC3nHz2u','y29WEq','tw92zs1jDgvTicqXicqY','zMfPBgvK','C3rYAw5N','uMvTB3zLluL0zw0','vxnPBMCGquKGDhjHBNnSyxrPB24','CMvWBgfJzq','zxHLy3v0zunVBw1HBMrxAxrOu3bHD24','zgLZAY1PBMzV','Bwf0y2G','C3vIC3rYAw5N','Dg9VBhnszwDPC3rYEq','BwvZC2fNzvbYB2nLC3nVCG','C2XPy2u','zgLYic9Z','AxnbCNjHEq','AxnbBgXVD2vKq29TBwfUza','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','rMfPBgvKihrVihbHCNnLihrLCM1PBMfSihbHCMfTzxrLCNm6ia','sw5WDxqGC2vUDcbZDwnJzxnZzNvSBhK','Cg93zxjZAgvSBcaTyW','rxHWyw5KlufYy2HPDMu','zgf0yq','Ahr0Cc1JBgLLBNq','AxneAxjLy3rVCNK','zw52','cJiUifbYzxnLCNzLihrOzsbVCMLNAw5HBcbPBNrLBNqGyw5Kigz1BMn0Aw9UywXPDhKkmY4GsgfUzgXLigzPBguGCgf0AhmSihf1B3rPBMCSigfUzcbZEw50yxGGy29YCMvJDgX5cJqUieLMignYzwf0Aw5NigzPBgvZlcbLBNn1CMuGChjVCgvYigvUy29KAw5NigfUzcbSAw5LigvUzgLUz3mkns4GqwrKCMvZCYb0AguGC3bLy2LMAwmGy29TCgf0AwjPBgL0EsbPC3n1zxmGAwrLBNrPzMLLzcbHyM92zqO2lIbszxr1CM4Gt05mwsb0AguGDhjHBNnSyxrLzcbJB21Tyw5KlcbUB3rOAw5NigvSC2ukcLrsqu5ttefuruqGq09ntufordO','q3vYCMvUDcb3B3jRAw5NigrPCMvJDg9YEtOG','zgv0zwn0sgfUzW','AwyG','zxHPDa','u0Lhs0Lmta','u3rVCc1qCM9JzxnZ','zwnOBYaIjdeIid4','y29TBwfUzenHDgvNB3j5','zgv0zwn0zwruzxjTAw5HBa','C29Tzq','C2vUzeLUChv0','C29YDa','zwnOBW','igfJDgLVBNmGy29TCgXLDgvKihn1y2nLC3nMDwXSEq','ntqYmdKXnK53DunREG','zwnOBYaN','y3DK','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','DhLWzq','DxnLCM5HBwu','mZGWmZK1ruzZvxLp','Dg9mB3DLCKnHC2u','zgLYzwn0B3j5lwn1CNjLBNq','CMvHC29U','C2LUz2XLlxf1B3rLCY1WCM9IBgvTyxrPyW','BgLZDc1KAxjLy3rVCNK','ChjVBxb0rgv0zwn0zwq','ChjVy2vZCY1RAwXS','ChjVy2vZCY1SAxn0','zxH0CMfJDenVBNrLBNq','cI0Gu3vNz2vZDgvKiefSDgvYBMf0AxzLoIa','Aw5PDgLHBgL6zvrLCM1PBMfSrgv0zwn0Aw9U','q29TBwfUzcbHBhjLywr5ihrLCM1PBMf0zwq','y2f0zwDVCNK','zMLSzs1KzwXLDgu','C3rHCNruAw1L','A2LSBenVBw1HBMq','DgLTzw91Da','C3bSAxq','DhjPBq','y3jLyxrLrgLYzwn0B3j5','A2v5CW','zgv0zwn0uhjVBxb0','v2LUzg93CYbdB21Tyw5KifbYB21WDcaOy21KlMv4zsK','zMLSzs1TB3zL','z2v0','r2v0lunVBNrLBNq','rgLYzwn0B3j5ignOyw5NzsbIBg9JA2vKoIa','yMfZAa','zw5KvgLTzq','qxr0zw1WDgLUzYbbssb0CMfUC2XHDgLVBIbMB3iGy29TCgXLEcbJB21Tyw5K','vgvYBwLUywWGzgv0zwn0zwq','u2v0lufJBa','icyG','igL0zw1ZigLUia','C3rKzxjY','zgLYzwn0B3j5','q29TBwfUzcbZCgf3BIbLCNjVCJOG','Bg9Nz2vY','y29TBwfUzfrYywnRzxi','BwfPBIGP','lunVBw1HBMq','D2HVyw1P','C3rKzxjYqNvMzMvY','y3vYBa','CMvSyxrPDMu','DhLWzsaKmq','rMfPBgvKihrVignOyw5NzsbKAxjLy3rVCNKGDg8G','yxbPs2v5','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','AxnbyNnVBhv0zq','q29TBwfUzcbLEgvJDxrLzcbZDwnJzxnZzNvSBhKGAw4G','cI0Gq29TCgf0AwjPBgL0EsbjC3n1zxm6ia','tMv3luL0zw0Glvr5CguGrgLYzwn0B3j5','Bg9N','B2jQzwn0','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','q29TChjLC3mTqxjJAgL2zq','q29TBwfUzcb0Aw1LzcbVDxqSigTPBgXPBMCGChjVy2vZCZOG'];a0_0x1590=function(){return _0x138899;};return a0_0x1590();}import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class PromptDetector{constructor(){const _0x4b80f5=a0_0x51ec;this['promptPatterns']=[{'pattern':/\(y\/n\)/i,'type':_0x4b80f5(0x1a6),'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':/\[y\/n\]/i,'type':'yes-no','description':_0x4b80f5(0x18d)},{'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':_0x4b80f5(0x134),'description':_0x4b80f5(0x16d)},{'pattern':/proceed\?/i,'type':'continue','description':'Proceed\x20prompt'},{'pattern':/press any key to continue/i,'type':_0x4b80f5(0xfb),'description':'Press\x20any\x20key'},{'pattern':/press enter to continue/i,'type':'keypress','description':_0x4b80f5(0x18c)},{'pattern':/hit enter to continue/i,'type':_0x4b80f5(0xfb),'description':_0x4b80f5(0x193)},{'pattern':/password:/i,'type':'password','description':'Password\x20prompt'},{'pattern':/enter password/i,'type':_0x4b80f5(0x12f),'description':'Password\x20prompt'},{'pattern':/passphrase:/i,'type':'password','description':'Passphrase\x20prompt'},{'pattern':/username:/i,'type':_0x4b80f5(0xb4),'description':'Username\x20prompt'},{'pattern':/enter username/i,'type':_0x4b80f5(0xb4),'description':_0x4b80f5(0x18f)},{'pattern':/enter\s+\w+:/i,'type':'input','description':_0x4b80f5(0x13f)},{'pattern':/please enter/i,'type':'input','description':_0x4b80f5(0x13f)},{'pattern':/input:/i,'type':_0x4b80f5(0x116),'description':_0x4b80f5(0x13f)},{'pattern':/are you sure\?/i,'type':_0x4b80f5(0xf6),'description':'Confirmation\x20prompt'},{'pattern':/do you want to/i,'type':_0x4b80f5(0xf6),'description':_0x4b80f5(0x15d)},{'pattern':/would you like to/i,'type':_0x4b80f5(0xf6),'description':_0x4b80f5(0x15d)},{'pattern':/select an option/i,'type':'selection','description':_0x4b80f5(0x132)},{'pattern':/choose/i,'type':'selection','description':'Selection\x20prompt'},{'pattern':/\d+\)\s+\w+/g,'type':_0x4b80f5(0x1c2),'description':_0x4b80f5(0x18b)}];}[a0_0x492ede(0xcb)](_0x55e351,_0x35b828='stdout'){const _0x59b01f=a0_0x492ede;if(!_0x55e351||_0x55e351['trim']()['length']===0x0)return null;const _0xbcb487=_0x55e351[_0x59b01f(0xc7)]('\x0a'),_0x1768d4=_0xbcb487['slice'](-0x5)[_0x59b01f(0x11c)]('\x0a');for(const _0x2846ed of this['promptPatterns']){const _0x4bdb3a=_0x1768d4['match'](_0x2846ed[_0x59b01f(0x1a5)]);if(_0x4bdb3a)return{'detected':!![],'type':_0x2846ed[_0x59b01f(0xb3)],'description':_0x2846ed['description'],'matchedText':_0x4bdb3a[0x0],'matchIndex':_0x4bdb3a[_0x59b01f(0xfd)],'source':_0x35b828,'fullContext':_0x1768d4,'timestamp':Date[_0x59b01f(0x1c4)]()};}const _0x462a7f=_0xbcb487[_0xbcb487[_0x59b01f(0x117)]-0x1]||'';if(_0x462a7f[_0x59b01f(0xc8)]()['length']>0x0){const _0x1c4c97=/:\s*$/['test'](_0x462a7f),_0x5388d0=/\?\s*$/['test'](_0x462a7f);if(_0x1c4c97||_0x5388d0){const _0x9c1798=/\b(enter|type|provide|specify|input)\b/i['test'](_0x462a7f);if(_0x9c1798)return{'detected':!![],'type':'generic','description':_0x59b01f(0x12b),'matchedText':_0x462a7f['trim'](),'source':_0x35b828,'fullContext':_0x1768d4,'timestamp':Date['now'](),'confidence':0.7};}}return null;}[a0_0x492ede(0xa2)](_0x3c0f72,_0x51b53a=0x7530){const _0x33f0be=a0_0x492ede,_0x3bde91=Date[_0x33f0be(0x1c4)](),_0x222830=_0x3bde91-_0x3c0f72;return{'isHanging':_0x222830>=_0x51b53a,'timeSinceLastOutput':_0x222830,'threshold':_0x51b53a,'likelyWaiting':_0x222830>=_0x51b53a/0x2};}}class TerminalTool extends BaseTool{constructor(_0x8f0fc3={},_0x23615f=null){const _0xd338bd=a0_0x492ede;super(_0x8f0fc3,_0x23615f),this[_0xd338bd(0x1c5)]=![],this[_0xd338bd(0x14c)]=![],this[_0xd338bd(0xc6)]=_0x8f0fc3['timeout']||0x1d4c0,this['maxConcurrentOperations']=_0x8f0fc3[_0xd338bd(0x196)]||0x3,this[_0xd338bd(0x181)]=new Map(),this['commandHistory']=[],this['allowedCommands']=_0x8f0fc3['allowedCommands']||null,this['blockedCommands']=_0x8f0fc3['blockedCommands']||[_0xd338bd(0xf1),_0xd338bd(0x180),_0xd338bd(0x153),_0xd338bd(0x1cf),'reboot','halt'],this['directoryAccessManager']=new a0_0x19528a(_0x8f0fc3,_0x23615f),this[_0xd338bd(0x1cb)]=new PromptDetector(),this[_0xd338bd(0xdc)]=new Map(),this[_0xd338bd(0x1ae)]=0x0,this['MAX_BACKGROUND_COMMANDS_PER_AGENT']=_0x8f0fc3[_0xd338bd(0x154)]||0x5,this['MAX_BACKGROUND_COMMANDS_GLOBAL']=_0x8f0fc3[_0xd338bd(0x170)]||0x14,this[_0xd338bd(0x14e)]=_0x8f0fc3[_0xd338bd(0x115)]||0x3c,this[_0xd338bd(0xa9)]=null,this['platformType']=null,this['initializeTerminalDetection']();}[a0_0x492ede(0x105)](){const _0x277770=a0_0x492ede;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['timeout']+_0x277770(0x15b)+this[_0x277770(0xb2)]+'\x20per\x20agent,\x20'+this[_0x277770(0x182)]+'\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';}['parseParameters'](_0x4f2040){const _0x3748d1=a0_0x492ede;try{const _0x5be3a7={},_0x1f4910=a0_0x25a245['extractContent'](_0x4f2040,_0x3748d1(0x122)),_0x1685e8=a0_0x25a245[_0x3748d1(0xbe)](_0x4f2040,_0x3748d1(0x197)),_0x5898ca=a0_0x25a245['extractContent'](_0x4f2040,_0x3748d1(0xba)),_0x1bae20=a0_0x25a245['extractContent'](_0x4f2040,_0x3748d1(0xfe)),_0x53adbc=a0_0x25a245['extractContent'](_0x4f2040,'get-working-directory'),_0x516195=a0_0x25a245['extractContent'](_0x4f2040,'timeout'),_0x1d8e0d=a0_0x25a245['extractContent'](_0x4f2040,'async'),_0x3068bd=[];return _0x1f4910[_0x3748d1(0x117)]>0x0&&_0x3068bd['push']({'type':'run-command','command':_0x1f4910[0x0][_0x3748d1(0xc8)]()}),_0x1685e8[_0x3748d1(0x117)]>0x0&&_0x3068bd[_0x3748d1(0x16b)]({'type':_0x3748d1(0x197),'directory':_0x1685e8[0x0][_0x3748d1(0xc8)]()}),_0x5898ca['length']>0x0&&_0x3068bd[_0x3748d1(0x16b)]({'type':_0x3748d1(0xba),'directory':_0x5898ca[0x0]['trim']()||'.'}),_0x1bae20['length']>0x0&&_0x3068bd['push']({'type':_0x3748d1(0xfe),'directory':_0x1bae20[0x0][_0x3748d1(0xc8)]()}),_0x53adbc['length']>0x0&&_0x3068bd['push']({'type':_0x3748d1(0x104)}),_0x5be3a7[_0x3748d1(0x1b2)]=_0x3068bd,_0x516195[_0x3748d1(0x117)]>0x0&&(_0x5be3a7['timeout']=parseInt(_0x516195[0x0],0xa)),_0x1d8e0d[_0x3748d1(0x117)]>0x0&&(_0x5be3a7[_0x3748d1(0xf9)]=_0x1d8e0d[0x0]['toLowerCase']()==='true'),_0x5be3a7['rawContent']=_0x4f2040[_0x3748d1(0xc8)](),_0x5be3a7;}catch(_0x24a6b3){throw new Error(_0x3748d1(0x98)+_0x24a6b3[_0x3748d1(0x130)]);}}['getRequiredParameters'](){const _0x281d3a=a0_0x492ede;return[_0x281d3a(0x1b2)];}[a0_0x492ede(0x97)](_0x5852e1){const _0xe8530e=a0_0x492ede,_0x2799e8=[];if(!_0x5852e1[_0xe8530e(0x1b2)]||!Array[_0xe8530e(0x95)](_0x5852e1['actions'])||_0x5852e1[_0xe8530e(0x1b2)][_0xe8530e(0x117)]===0x0)_0x2799e8['push']('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x5c2178,_0x52cb8e]of _0x5852e1[_0xe8530e(0x1b2)][_0xe8530e(0x191)]()){if(!_0x52cb8e[_0xe8530e(0xb3)]){_0x2799e8[_0xe8530e(0x16b)]('Action\x20'+(_0x5c2178+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x52cb8e[_0xe8530e(0xb3)]){case _0xe8530e(0x122):if(!_0x52cb8e[_0xe8530e(0x177)]||!_0x52cb8e[_0xe8530e(0x177)][_0xe8530e(0xc8)]())_0x2799e8[_0xe8530e(0x16b)]('Action\x20'+(_0x5c2178+0x1)+_0xe8530e(0x14a));else{if(this['isBlockedCommand'](_0x52cb8e[_0xe8530e(0x177)]))_0x2799e8['push'](_0xe8530e(0x175)+(_0x5c2178+0x1)+':\x20command\x20is\x20blocked\x20for\x20security:\x20'+_0x52cb8e['command']);else this['allowedCommands']&&!this['isAllowedCommand'](_0x52cb8e['command'])&&_0x2799e8['push']('Action\x20'+(_0x5c2178+0x1)+':\x20command\x20is\x20not\x20in\x20allowed\x20list:\x20'+_0x52cb8e['command']);}break;case'change-directory':case _0xe8530e(0xba):case'create-directory':(!_0x52cb8e['directory']||!_0x52cb8e['directory']['trim']())&&_0x2799e8['push']('Action\x20'+(_0x5c2178+0x1)+':\x20directory\x20is\x20required\x20for\x20'+_0x52cb8e[_0xe8530e(0xb3)]);break;case _0xe8530e(0x104):break;default:_0x2799e8[_0xe8530e(0x16b)]('Action\x20'+(_0x5c2178+0x1)+_0xe8530e(0xe6)+_0x52cb8e[_0xe8530e(0xb3)]);}}return _0x5852e1['timeout']&&(_0x5852e1['timeout']<0x3e8||_0x5852e1['timeout']>this[_0xe8530e(0xc6)])&&_0x2799e8[_0xe8530e(0x16b)]('Timeout\x20must\x20be\x20between\x201000\x20and\x20'+this[_0xe8530e(0xc6)]+'\x20milliseconds'),{'valid':_0x2799e8['length']===0x0,'errors':_0x2799e8};}async[a0_0x492ede(0x149)](_0xc03327,_0x23bd00){const _0x25d26b=a0_0x492ede,{actions:_0x3de208,timeout:_0x1aa522,async:_0x58d000}=_0xc03327,{agentId:_0x2b8569,projectDir:_0x5431c8,directoryAccess:_0xf2c32b}=_0x23bd00,_0x56f8b0=_0xf2c32b||this[_0x25d26b(0xed)]['createDirectoryAccess']({'workingDirectory':_0x5431c8||process[_0x25d26b(0xb1)](),'writeEnabledDirectories':[_0x5431c8||process['cwd']()],'restrictToProject':!![]});_0xf2c32b&&_0xf2c32b[_0x25d26b(0x123)]?console['log']('Terminal\x20DEBUG:\x20Using\x20agent\x20configured\x20working\x20directory:',_0xf2c32b['workingDirectory']):console[_0x25d26b(0xeb)]('Terminal\x20DEBUG:\x20Using\x20fallback\x20working\x20directory:',_0x5431c8||process[_0x25d26b(0xb1)]());const _0x327860=_0x2b8569+'-'+(_0x5431c8||'default');let _0x24de77=this[_0x25d26b(0x181)][_0x25d26b(0xce)](_0x327860)||this['directoryAccessManager'][_0x25d26b(0x179)](_0x56f8b0);const _0x1d0646=[];for(const _0x52a516 of _0x3de208){try{let _0x410f32;switch(_0x52a516['type']){case _0x25d26b(0x122):_0x410f32=await this[_0x25d26b(0x127)](_0x52a516[_0x25d26b(0x177)],_0x24de77,{'timeout':_0x1aa522||this['timeout'],'async':_0x58d000||![],'agentId':_0x2b8569,'context':{'toolsRegistry':_0x23bd00['toolsRegistry'],'aiService':_0x23bd00['aiService'],'apiKey':_0x23bd00['apiKey'],'customApiKeys':_0x23bd00[_0x25d26b(0x12e)],'platformProvided':_0x23bd00[_0x25d26b(0x1c6)]}});break;case'change-directory':_0x410f32=await this[_0x25d26b(0x13d)](_0x52a516[_0x25d26b(0xd9)],_0x24de77,_0x56f8b0),_0x24de77=_0x410f32['newDirectory'],this[_0x25d26b(0x181)][_0x25d26b(0xf0)](_0x327860,_0x24de77);break;case _0x25d26b(0xba):_0x410f32=await this['listDirectory'](_0x52a516['directory']==='.'?_0x24de77:_0x52a516[_0x25d26b(0xd9)]);break;case _0x25d26b(0xfe):_0x410f32=await this['createDirectory'](_0x52a516[_0x25d26b(0xd9)],_0x24de77);break;case _0x25d26b(0x104):_0x410f32={'success':!![],'action':'get-working-directory','workingDirectory':_0x24de77,'message':_0x25d26b(0xa1)+_0x24de77};break;default:throw new Error(_0x25d26b(0x102)+_0x52a516[_0x25d26b(0xb3)]);}_0x1d0646[_0x25d26b(0x16b)](_0x410f32),this['addToHistory'](_0x52a516,_0x410f32,_0x2b8569);}catch(_0x179eb8){const _0x21dabb={'success':![],'action':_0x52a516['type'],'error':_0x179eb8[_0x25d26b(0x130)],'command':_0x52a516[_0x25d26b(0x177)]||_0x52a516['directory'],'workingDirectory':_0x24de77};_0x1d0646['push'](_0x21dabb),this['addToHistory'](_0x52a516,_0x21dabb,_0x2b8569);}}const _0x3d5ac4=_0x1d0646['every'](_0x377ab0=>_0x377ab0[_0x25d26b(0x174)]),_0x31b821=_0x1d0646[_0x25d26b(0x19a)](_0x4c5d27=>!_0x4c5d27['success']);return{'success':_0x3d5ac4,'actions':_0x1d0646,'workingDirectory':_0x24de77,'executedActions':_0x3de208[_0x25d26b(0x117)],'failedActions':_0x31b821['length'],'toolUsed':'terminal','message':_0x3d5ac4?_0x25d26b(0x148)+_0x3de208[_0x25d26b(0x117)]+_0x25d26b(0xae):_0x31b821[_0x25d26b(0x117)]+_0x25d26b(0x198)+_0x3de208['length']+'\x20actions\x20failed'};}async[a0_0x492ede(0x127)](_0x5cfcc4,_0x59c935,_0x368c20={}){const _0x42b764=a0_0x492ede,{timeout:timeout=this[_0x42b764(0xc6)],async:_0x1902a2=![],agentId:_0x4b2949,context:_0x49f266}=_0x368c20,_0x30eb42=_0x5cfcc4;let _0x59a34f;try{_0x59a34f=await this['translateCommand'](_0x5cfcc4,{'agentId':_0x4b2949,'toolsRegistry':_0x49f266?.['toolsRegistry'],'messageProcessor':_0x49f266?.['messageProcessor'],'aiService':_0x49f266?.['aiService'],'apiKey':_0x49f266?.[_0x42b764(0xe5)],'customApiKeys':_0x49f266?.['customApiKeys'],'platformProvided':_0x49f266?.['platformProvided']});}catch(_0x57cfe5){this['logger']?.[_0x42b764(0x158)](_0x42b764(0x128),{'originalCommand':_0x30eb42,'error':_0x57cfe5[_0x42b764(0x130)]}),_0x59a34f=_0x5cfcc4;}return new Promise((_0xe92773,_0x239257)=>{const _0x482668=_0x42b764,_0xe2c32c=Date[_0x482668(0x1c4)]();this[_0x482668(0xdb)]?.['info']('Executing\x20command:\x20'+_0x59a34f,{'originalCommand':_0x30eb42,'translatedCommand':_0x59a34f,'terminal':this[_0x482668(0xa9)],'workingDirectory':_0x59c935,'timeout':timeout,'agentId':_0x4b2949});const _0x996819=exec(_0x59a34f,{'cwd':_0x59c935,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process[_0x482668(0x9f)]}},(_0x5240ff,_0x1c4c55,_0x326c10)=>{const _0x4e71b7=_0x482668,_0x446fb3=Date['now']()-_0xe2c32c;if(_0x5240ff){this['logger']?.[_0x4e71b7(0x101)](_0x4e71b7(0x12c)+_0x59a34f,{'originalCommand':_0x30eb42,'translatedCommand':_0x59a34f,'error':_0x5240ff[_0x4e71b7(0x130)],'workingDirectory':_0x59c935,'executionTime':_0x446fb3}),_0xe92773({'success':![],'action':'run-command','command':_0x30eb42,'translatedCommand':_0x59a34f!==_0x30eb42?_0x59a34f:undefined,'error':_0x5240ff[_0x4e71b7(0x130)],'stderr':_0x326c10[_0x4e71b7(0xc8)](),'stdout':_0x1c4c55[_0x4e71b7(0xc8)](),'exitCode':_0x5240ff[_0x4e71b7(0x1ac)],'executionTime':_0x446fb3,'workingDirectory':_0x59c935});return;}this['logger']?.['info'](_0x4e71b7(0x18a)+_0x59a34f,{'originalCommand':_0x30eb42,'translatedCommand':_0x59a34f,'executionTime':_0x446fb3,'stdoutLength':_0x1c4c55['length'],'stderrLength':_0x326c10['length']}),_0xe92773({'success':!![],'action':_0x4e71b7(0x122),'command':_0x30eb42,'translatedCommand':_0x59a34f!==_0x30eb42?_0x59a34f:undefined,'stdout':_0x1c4c55[_0x4e71b7(0xc8)](),'stderr':_0x326c10[_0x4e71b7(0xc8)](),'exitCode':0x0,'executionTime':_0x446fb3,'workingDirectory':_0x59c935,'message':_0x4e71b7(0xe8)+_0x446fb3+'ms'});});setTimeout(()=>{const _0x37edf3=_0x482668;!_0x996819[_0x37edf3(0x1b6)]&&(_0x996819['kill']('SIGTERM'),_0x239257(new Error(_0x37edf3(0x152)+timeout+_0x37edf3(0x11d)+_0x59a34f+'\x20(original:\x20'+_0x30eb42+')')));},timeout);});}async[a0_0x492ede(0x8d)](_0x19198,_0x282391,_0x34fac4={}){const _0x2ccde8=a0_0x492ede,{timeout:timeout=this[_0x2ccde8(0xc6)],agentId:_0x332f22,context:_0x4df968}=_0x34fac4,_0x22af8d=_0x19198;let _0x377249;try{_0x377249=await this[_0x2ccde8(0x106)](_0x19198,{'agentId':_0x332f22,'toolsRegistry':_0x4df968?.['toolsRegistry'],'messageProcessor':_0x4df968?.[_0x2ccde8(0x92)],'aiService':_0x4df968?.['aiService'],'apiKey':_0x4df968?.[_0x2ccde8(0xe5)],'customApiKeys':_0x4df968?.[_0x2ccde8(0x12e)],'platformProvided':_0x4df968?.[_0x2ccde8(0x1c6)]});}catch(_0x13e30){this['logger']?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x22af8d,'error':_0x13e30[_0x2ccde8(0x130)]}),_0x377249=_0x19198;}return new Promise((_0x3c5458,_0x3cfef9)=>{const _0x29a488=_0x2ccde8,_0x43b4e6=Date['now']();this[_0x29a488(0xdb)]?.['info'](_0x29a488(0x137)+_0x377249,{'originalCommand':_0x22af8d,'translatedCommand':_0x377249,'terminal':this['detectedTerminal'],'workingDirectory':_0x282391,'timeout':timeout,'agentId':_0x332f22});let _0x5463e8;if(this['detectedTerminal']==='cmd'||this['detectedTerminal']==='powershell'){const _0xca1215=this['detectedTerminal']===_0x29a488(0x10d)?_0x29a488(0x10d):'cmd',_0x5117ea=this['detectedTerminal']==='powershell'?['-Command',_0x377249]:['/c',_0x377249];_0x5463e8=spawn(_0xca1215,_0x5117ea,{'cwd':_0x282391,'env':{...process['env']},'windowsHide':!![]});}else _0x5463e8=spawn('sh',['-c',_0x377249],{'cwd':_0x282391,'env':{...process[_0x29a488(0x9f)]}});let _0x376773='',_0x11e1a1='',_0x2dce91=![],_0x3b477f=null,_0x256a7d=Date['now'](),_0x5865f2=null;const _0x2de74e=setTimeout(()=>{const _0x50d1cd=_0x29a488;!_0x5463e8[_0x50d1cd(0x1b6)]&&_0x3b477f===null&&(_0x2dce91=!![],this[_0x50d1cd(0xdb)]?.['warn'](_0x50d1cd(0xef)+_0x377249,{'timeout':timeout,'agentId':_0x332f22}),_0x5463e8['kill'](_0x50d1cd(0x190)),setTimeout(()=>{const _0x407308=_0x50d1cd;!_0x5463e8[_0x407308(0x1b6)]&&_0x5463e8['kill'](_0x407308(0xa5));},0x1388));},timeout);_0x5463e8[_0x29a488(0x1a3)]['on'](_0x29a488(0x9c),_0x22e335=>{const _0x190b3b=_0x29a488,_0x4b4807=_0x22e335[_0x190b3b(0x19d)]();_0x376773+=_0x4b4807,_0x256a7d=Date['now'](),this[_0x190b3b(0xdb)]?.['debug']('Command\x20output\x20chunk:\x20'+_0x4b4807['substring'](0x0,0x64),{'agentId':_0x332f22,'command':_0x22af8d[_0x190b3b(0x90)](0x0,0x32)});if(!_0x5865f2){const _0x14d7fc=this[_0x190b3b(0x1cb)][_0x190b3b(0xcb)](_0x376773,'stdout');_0x14d7fc&&(_0x5865f2=_0x14d7fc,this['logger']?.['info']('Prompt\x20detected\x20in\x20stdout',{'type':_0x14d7fc[_0x190b3b(0xb3)],'description':_0x14d7fc['description'],'matchedText':_0x14d7fc['matchedText'],'agentId':_0x332f22,'command':_0x22af8d[_0x190b3b(0x90)](0x0,0x32)}));}}),_0x5463e8['stderr']['on']('data',_0x4aeab3=>{const _0x36fb41=_0x29a488,_0x4b2e6b=_0x4aeab3['toString']();_0x11e1a1+=_0x4b2e6b,_0x256a7d=Date[_0x36fb41(0x1c4)](),this['logger']?.[_0x36fb41(0x140)](_0x36fb41(0x1bb)+_0x4b2e6b[_0x36fb41(0x90)](0x0,0x64),{'agentId':_0x332f22,'command':_0x22af8d['substring'](0x0,0x32)});if(!_0x5865f2){const _0x15cf5b=this['promptDetector'][_0x36fb41(0xcb)](_0x11e1a1,_0x36fb41(0xd8));_0x15cf5b&&(_0x5865f2=_0x15cf5b,this[_0x36fb41(0xdb)]?.['info']('Prompt\x20detected\x20in\x20stderr',{'type':_0x15cf5b[_0x36fb41(0xb3)],'description':_0x15cf5b[_0x36fb41(0x141)],'matchedText':_0x15cf5b['matchedText'],'agentId':_0x332f22,'command':_0x22af8d['substring'](0x0,0x32)}));}}),_0x5463e8['on']('exit',(_0x3e3919,_0x297446)=>{const _0x581219=_0x29a488;clearTimeout(_0x2de74e),_0x3b477f=_0x3e3919;const _0x23a383=Date[_0x581219(0x1c4)]()-_0x43b4e6,_0x479f85=Date['now']()-_0x256a7d;this[_0x581219(0xdb)]?.['info']('Command\x20process\x20exited:\x20'+_0x377249,{'exitCode':_0x3e3919,'signal':_0x297446,'executionTime':_0x23a383,'timedOut':_0x2dce91,'stdoutLength':_0x376773['length'],'stderrLength':_0x11e1a1['length'],'promptDetected':!!_0x5865f2,'timeSinceLastOutput':_0x479f85});const _0x2a5f84={'action':'run-command','command':_0x22af8d,'translatedCommand':_0x377249!==_0x22af8d?_0x377249:undefined,'stdout':_0x376773[_0x581219(0xc8)](),'stderr':_0x11e1a1['trim'](),'exitCode':_0x3e3919,'executionTime':_0x23a383,'workingDirectory':_0x282391,'promptDetected':!!_0x5865f2,'promptInfo':_0x5865f2||undefined,'lastOutputTime':_0x256a7d,'timeSinceLastOutput':_0x479f85};if(_0x2dce91){_0x3c5458({..._0x2a5f84,'success':![],'error':'Command\x20timed\x20out\x20after\x20'+timeout+'ms','exitCode':_0x3e3919||-0x1,'timedOut':!![]});return;}if(_0x3e3919!==0x0){this[_0x581219(0xdb)]?.['error']('Command\x20failed\x20with\x20exit\x20code\x20'+_0x3e3919+':\x20'+_0x377249,{'originalCommand':_0x22af8d,'translatedCommand':_0x377249,'exitCode':_0x3e3919,'stderr':_0x11e1a1['substring'](0x0,0xc8),'executionTime':_0x23a383,'promptDetected':!!_0x5865f2}),_0x3c5458({..._0x2a5f84,'success':![],'error':'Command\x20exited\x20with\x20code\x20'+_0x3e3919});return;}this[_0x581219(0xdb)]?.['info']('Command\x20completed\x20successfully:\x20'+_0x377249,{'originalCommand':_0x22af8d,'executionTime':_0x23a383,'stdoutLength':_0x376773['length'],'stderrLength':_0x11e1a1['length'],'promptDetected':!!_0x5865f2}),_0x3c5458({..._0x2a5f84,'success':!![],'exitCode':0x0,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x23a383+'ms'});}),_0x5463e8['on'](_0x29a488(0x101),_0x1de296=>{const _0x31d1f=_0x29a488;clearTimeout(_0x2de74e);const _0x3a1cb9=Date['now']()-_0x43b4e6,_0x4f5aed=Date['now']()-_0x256a7d;this['logger']?.[_0x31d1f(0x101)](_0x31d1f(0xda)+_0x377249,{'originalCommand':_0x22af8d,'error':_0x1de296[_0x31d1f(0x130)],'executionTime':_0x3a1cb9,'promptDetected':!!_0x5865f2}),_0x3c5458({'success':![],'action':_0x31d1f(0x122),'command':_0x22af8d,'translatedCommand':_0x377249!==_0x22af8d?_0x377249:undefined,'error':_0x1de296[_0x31d1f(0x130)],'stderr':_0x11e1a1['trim'](),'stdout':_0x376773[_0x31d1f(0xc8)](),'exitCode':-0x1,'executionTime':_0x3a1cb9,'workingDirectory':_0x282391,'promptDetected':!!_0x5865f2,'promptInfo':_0x5865f2||undefined,'lastOutputTime':_0x256a7d,'timeSinceLastOutput':_0x4f5aed});});});}async[a0_0x492ede(0x13d)](_0x5b5763,_0x1c1496,_0x25c5bd){const _0x30a977=a0_0x492ede;try{let _0x58761c;a0_0x469784['isAbsolute'](_0x5b5763)?_0x58761c=_0x5b5763:_0x58761c=a0_0x469784[_0x30a977(0x129)](_0x1c1496,_0x5b5763);const _0x4b5d9c=await a0_0x1bc23b['stat'](_0x58761c);if(!_0x4b5d9c[_0x30a977(0x9e)]())throw new Error('Not\x20a\x20directory:\x20'+_0x58761c);const _0x205c96=this[_0x30a977(0xed)]['validateReadAccess'](_0x58761c,_0x25c5bd);if(!_0x205c96['allowed']){this[_0x30a977(0xdb)]?.[_0x30a977(0x158)](_0x30a977(0xd0)+_0x205c96[_0x30a977(0xb8)],{'targetDirectory':_0x58761c,'reason':_0x205c96[_0x30a977(0xb8)],'category':_0x205c96['category']});throw new Error(_0x30a977(0x171)+_0x205c96[_0x30a977(0xb8)]);}return{'success':!![],'action':'change-directory','previousDirectory':_0x1c1496,'newDirectory':_0x58761c,'message':'Changed\x20directory\x20to\x20'+_0x58761c};}catch(_0x86bfbb){throw new Error(_0x30a977(0xe4)+_0x5b5763+':\x20'+_0x86bfbb[_0x30a977(0x130)]);}}async['listDirectory'](_0x5df34b){const _0x34e801=a0_0x492ede;try{const _0x352a7c=await a0_0x1bc23b['readdir'](_0x5df34b,{'withFileTypes':!![]}),_0x3498e3=_0x352a7c[_0x34e801(0x199)](_0x5ddc12=>({'name':_0x5ddc12['name'],'type':_0x5ddc12['isDirectory']()?_0x34e801(0xd9):_0x34e801(0x121),'isSymlink':_0x5ddc12['isSymbolicLink']()}));return{'success':!![],'action':'list-directory','directory':_0x5df34b,'contents':_0x3498e3,'totalItems':_0x3498e3['length'],'directories':_0x3498e3['filter'](_0x5374e8=>_0x5374e8['type']==='directory')['length'],'files':_0x3498e3[_0x34e801(0x19a)](_0x42a886=>_0x42a886[_0x34e801(0xb3)]==='file')[_0x34e801(0x117)],'message':'Listed\x20'+_0x3498e3[_0x34e801(0x117)]+_0x34e801(0xd7)+_0x5df34b};}catch(_0x37a78e){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0x5df34b+':\x20'+_0x37a78e[_0x34e801(0x130)]);}}async[a0_0x492ede(0xc9)](_0x39e412,_0x2df872){const _0x404e01=a0_0x492ede;try{let _0x528533;return a0_0x469784[_0x404e01(0xe7)](_0x39e412)?_0x528533=_0x39e412:_0x528533=a0_0x469784['resolve'](_0x2df872,_0x39e412),await a0_0x1bc23b[_0x404e01(0x186)](_0x528533,{'recursive':!![]}),{'success':!![],'action':'create-directory','directory':_0x528533,'relativePath':a0_0x469784[_0x404e01(0xe2)](_0x2df872,_0x528533),'message':_0x404e01(0x169)+_0x528533};}catch(_0x5ce0a1){throw new Error(_0x404e01(0x1b8)+_0x39e412+':\x20'+_0x5ce0a1[_0x404e01(0x130)]);}}['isBlockedCommand'](_0x4f4400){const _0x2e2a2a=a0_0x492ede,_0x42c284=_0x4f4400['toLowerCase']()[_0x2e2a2a(0xc8)]();return this[_0x2e2a2a(0x1b7)]['some'](_0x31ffea=>{const _0x30d4cb=_0x31ffea['toLowerCase']();return _0x42c284===_0x30d4cb||_0x42c284['startsWith'](_0x30d4cb+'\x20');});}[a0_0x492ede(0x96)](_0x23e658){const _0x389326=a0_0x492ede;if(!this[_0x389326(0x1a0)])return!![];const _0x41991a=_0x23e658['toLowerCase']()['trim'](),_0x3df2f9=_0x41991a['split']('\x20')[0x0];return this['allowedCommands'][_0x389326(0xaa)](_0x36583b=>_0x36583b['toLowerCase']()===_0x3df2f9||_0x41991a['startsWith'](_0x36583b[_0x389326(0xb6)]()+'\x20'));}[a0_0x492ede(0x17c)](_0x32e3ef,_0x3d411c,_0xda1665){const _0x5a7b3c=a0_0x492ede,_0x1a09e0={'timestamp':new Date()['toISOString'](),'agentId':_0xda1665,'action':_0x32e3ef['type'],'command':_0x32e3ef[_0x5a7b3c(0x177)]||_0x32e3ef[_0x5a7b3c(0xd9)],'success':_0x3d411c['success'],'executionTime':_0x3d411c[_0x5a7b3c(0x1b5)]||0x0,'workingDirectory':_0x3d411c[_0x5a7b3c(0x123)]};this[_0x5a7b3c(0x168)][_0x5a7b3c(0x16b)](_0x1a09e0),this['commandHistory'][_0x5a7b3c(0x117)]>0x64&&(this['commandHistory']=this['commandHistory'][_0x5a7b3c(0x93)](-0x64));}[a0_0x492ede(0x1b3)](){const _0x143480=a0_0x492ede;return[_0x143480(0x122),'change-directory',_0x143480(0xba),'create-directory','get-working-directory'];}[a0_0x492ede(0x139)](){const _0x707474=a0_0x492ede;return{'type':_0x707474(0xec),'properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':'object','properties':{'type':{'type':_0x707474(0x1d5),'enum':this[_0x707474(0x1b3)]()},'command':{'type':_0x707474(0x1d5)},'directory':{'type':_0x707474(0x1d5)}},'required':[_0x707474(0xb3)]}},'timeout':{'type':_0x707474(0x1a8),'minimum':0x3e8,'maximum':this[_0x707474(0xc6)]},'async':{'type':_0x707474(0x194)}},'required':[_0x707474(0x1b2)]};}[a0_0x492ede(0x11a)](_0x1ea066=null){const _0x185d98=a0_0x492ede;if(_0x1ea066)return this[_0x185d98(0x168)][_0x185d98(0x19a)](_0x1b95a5=>_0x1b95a5['agentId']===_0x1ea066);return[...this[_0x185d98(0x168)]];}[a0_0x492ede(0x165)](_0x4ef98f){const _0x43d0c8=a0_0x492ede;for(const [_0x555ecb]of this['workingDirectories']){_0x555ecb[_0x43d0c8(0x11f)](_0x4ef98f+'-')&&this[_0x43d0c8(0x181)][_0x43d0c8(0x1b9)](_0x555ecb);}}[a0_0x492ede(0x167)](_0xb8606a,_0x4ea0f5=null){const _0x3be198=a0_0x492ede,_0x1415d9=_0xb8606a+'-'+(_0x4ea0f5||'default');return this[_0x3be198(0x181)]['get'](_0x1415d9)||_0x4ea0f5||process['cwd']();}[a0_0x492ede(0xc0)](){const _0xd6135d=a0_0x492ede;this['platformType']=process['platform'];if(process['platform']===_0xd6135d(0x126)){if(process[_0xd6135d(0x9f)][_0xd6135d(0x1c3)])this[_0xd6135d(0xa9)]=_0xd6135d(0x10d);else process[_0xd6135d(0x9f)]['SHELL']&&process['env'][_0xd6135d(0x17f)][_0xd6135d(0x17a)](_0xd6135d(0xd1))?this[_0xd6135d(0xa9)]=_0xd6135d(0xd1):this['detectedTerminal']='cmd';}else process[_0xd6135d(0x155)]==='darwin'?this[_0xd6135d(0xa9)]='bash':this['detectedTerminal']='bash';this[_0xd6135d(0xdb)]?.[_0xd6135d(0x14f)](_0xd6135d(0xd4),{'platform':this[_0xd6135d(0xff)],'terminal':this['detectedTerminal'],'shell':process[_0xd6135d(0x9f)][_0xd6135d(0x17f)]});}async['translateCommand'](_0x44bde0,_0x21821e={}){const _0x1b5d7d=a0_0x492ede,_0xbe6d60=_0x44bde0['trim'](),_0x35776a=this[_0x1b5d7d(0x178)](_0xbe6d60);this[_0x1b5d7d(0xdb)]?.['info'](_0x1b5d7d(0x114),{'command':_0xbe6d60,'detectedTerminal':_0x35776a[_0x1b5d7d(0xa9)],'commandType':_0x35776a[_0x1b5d7d(0x1d0)],'commandCategory':_0x35776a[_0x1b5d7d(0xa8)],'compatible':_0x35776a[_0x1b5d7d(0x1c0)],'issues':_0x35776a[_0x1b5d7d(0x1a4)],'suggestedAction':_0x35776a['suggestedAction'],'confidence':_0x35776a['confidence']});if(_0x35776a[_0x1b5d7d(0x1c0)])return _0x44bde0;let _0x16089a=null;if(this['detectedTerminal']===_0x1b5d7d(0x100))_0x16089a=this['translateToWindowsCmd'](_0xbe6d60);else{if(this[_0x1b5d7d(0xa9)]===_0x1b5d7d(0x10d))_0x16089a=this[_0x1b5d7d(0x17b)](_0xbe6d60);else this[_0x1b5d7d(0xa9)]===_0x1b5d7d(0xd1)&&(_0x16089a=this['translateToBash'](_0xbe6d60));}if(_0x16089a&&this['isSimpleCommand'](_0xbe6d60))return this[_0x1b5d7d(0xdb)]?.[_0x1b5d7d(0x14f)]('Using\x20simple\x20translation',{'original':_0x44bde0,'translated':_0x16089a,'method':'simple'}),_0x16089a;if(_0x21821e[_0x1b5d7d(0x111)]||_0x21821e[_0x1b5d7d(0x91)]&&_0x21821e['agentId']){this[_0x1b5d7d(0xdb)]?.['info'](_0x1b5d7d(0xd3),{'command':_0x44bde0['substring'](0x0,0x64)+'...','hasAiService':!!_0x21821e['aiService'],'hasToolsRegistry':!!_0x21821e['toolsRegistry'],'agentId':_0x21821e['agentId']});try{const _0x363bad=await this[_0x1b5d7d(0x10f)](_0x44bde0,_0x21821e);if(_0x363bad&&_0x363bad[_0x1b5d7d(0xc8)]()!==_0x44bde0[_0x1b5d7d(0xc8)]())return this['logger']?.[_0x1b5d7d(0x14f)](_0x1b5d7d(0x1d7),{'original':_0x44bde0,'translated':_0x363bad,'method':'ai'}),_0x363bad;else this[_0x1b5d7d(0xdb)]?.[_0x1b5d7d(0x158)](_0x1b5d7d(0x10b),{'original':_0x44bde0,'translated':_0x363bad});}catch(_0x670631){this['logger']?.['warn'](_0x1b5d7d(0x10a),{'original':_0x44bde0,'error':_0x670631['message'],'stack':_0x670631[_0x1b5d7d(0x1a2)]});}}else this['logger']?.['warn']('AI\x20translation\x20not\x20available\x20-\x20missing\x20context',{'hasAiService':!!_0x21821e[_0x1b5d7d(0x111)],'hasToolsRegistry':!!_0x21821e['toolsRegistry'],'hasAgentId':!!_0x21821e[_0x1b5d7d(0x1bc)],'contextKeys':Object[_0x1b5d7d(0xca)](_0x21821e)});return _0x16089a||_0x44bde0;}['isSimpleCommand'](_0x50320f){const _0x39cda8=a0_0x492ede,_0x5bae0f=_0x50320f['toLowerCase']();if(_0x50320f[_0x39cda8(0x17a)]('\x5cn')||_0x50320f[_0x39cda8(0x17a)]('\x5cr')||_0x50320f[_0x39cda8(0x17a)]('\x5ct'))return![];if(_0x50320f['includes']('\x0a')||_0x50320f[_0x39cda8(0x17a)]('\x0d'))return![];if(_0x50320f[_0x39cda8(0x17a)]('#include')||_0x50320f['includes']('printf')||_0x50320f['includes'](_0x39cda8(0xdd)))return![];if(_0x50320f[_0x39cda8(0x17a)](_0x39cda8(0x1c7))||_0x50320f[_0x39cda8(0x17a)](_0x39cda8(0xf4))||_0x50320f['includes']('class\x20'))return![];if(_0x50320f[_0x39cda8(0x17a)]('echo\x20\x27')&&!_0x50320f['includes']('echo\x20\x22'))return![];const _0x4761b6=_0x50320f[_0x39cda8(0x8f)](/'([^']*)'/);if(_0x4761b6&&_0x4761b6[0x1][_0x39cda8(0x117)]>0x32)return![];if(this['detectedTerminal']==='cmd'&&_0x50320f['includes']('>')&&_0x50320f['includes']('/')&&!_0x50320f[_0x39cda8(0x17a)]('\x5c'))return![];if(_0x50320f['includes']('\x20&&\x20')||_0x50320f[_0x39cda8(0x17a)](_0x39cda8(0x162))||_0x50320f['includes'](';\x20'))return![];if(_0x50320f[_0x39cda8(0x17a)]('$(')||_0x50320f[_0x39cda8(0x17a)]('`')||_0x50320f[_0x39cda8(0x17a)]('{')||_0x50320f['includes']('['))return![];if(_0x5bae0f['includes']('for\x20')||_0x5bae0f['includes'](_0x39cda8(0x14d))||_0x5bae0f['includes'](_0x39cda8(0xa3)))return![];if(_0x5bae0f['includes']('export ')||_0x5bae0f['includes']('source\x20'))return![];if(_0x50320f['includes']('\x20|\x20')||_0x50320f[_0x39cda8(0x17a)]('\x20>\x20&'))return![];return!![];}async['translateCommandWithAI'](_0x3108f2,_0x21b223){const _0x4f46b4=a0_0x492ede;let _0x2e4dcf=_0x21b223['aiService'];if(!_0x2e4dcf&&_0x21b223[_0x4f46b4(0x91)]&&_0x21b223['agentId']){const _0x5aadbb=_0x21b223[_0x4f46b4(0x92)];_0x5aadbb&&_0x5aadbb['aiService']&&(_0x2e4dcf=_0x5aadbb[_0x4f46b4(0x111)]);}if(!_0x2e4dcf)throw new Error('AI\x20service\x20not\x20available\x20for\x20command\x20translation');const _0x27b269=this['buildTranslationPrompt'](_0x3108f2),_0x5153d4=_0x4f46b4(0x107);try{const _0x20e76f=await _0x2e4dcf[_0x4f46b4(0x1d1)](_0x5153d4,_0x27b269,{'agentId':_0x21b223[_0x4f46b4(0x1bc)],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x21b223[_0x4f46b4(0xe5)],'customApiKeys':_0x21b223['customApiKeys'],'platformProvided':_0x21b223['platformProvided']}),_0xc8047d=this['extractTranslatedCommand'](_0x20e76f[_0x4f46b4(0x187)]);return this['logger']?.[_0x4f46b4(0x140)](_0x4f46b4(0x147),{'original':_0x3108f2,'translated':_0xc8047d,'model':_0x5153d4,'terminal':this['detectedTerminal']}),_0xc8047d;}catch(_0x149f8b){this[_0x4f46b4(0xdb)]?.['error'](_0x4f46b4(0x151),{'command':_0x3108f2,'terminal':this['detectedTerminal'],'error':_0x149f8b[_0x4f46b4(0x130)]});throw _0x149f8b;}}[a0_0x492ede(0x1bf)](_0x105aa6){const _0x36d994=a0_0x492ede,_0x96c034={'cmd':_0x36d994(0xcc),'powershell':'Windows\x20PowerShell','bash':_0x36d994(0x157)},_0x29998e=_0x96c034[this['detectedTerminal']]||this[_0x36d994(0xa9)],_0x1c8658=this[_0x36d994(0x178)](_0x105aa6);let _0x3788fb='Translate\x20this\x20command\x20to\x20work\x20correctly\x20in\x20'+_0x29998e+_0x36d994(0x17e)+_0x105aa6+_0x36d994(0x1be)+_0x1c8658[_0x36d994(0x1d0)]+_0x36d994(0x16f)+_0x1c8658[_0x36d994(0xa8)]+_0x36d994(0x138)+_0x29998e+_0x36d994(0xe9)+(_0x1c8658['specificIssues'][_0x36d994(0x11c)](',\x20')||'None\x20detected');return _0x1c8658[_0x36d994(0x1d0)]==='unix'&&_0x1c8658[_0x36d994(0x184)]&&_0x1c8658['alternatives'][this['detectedTerminal']]&&(_0x3788fb+=_0x36d994(0xbf)+_0x1c8658['alternatives'][this[_0x36d994(0xa9)]]),_0x3788fb+=_0x36d994(0x159)+_0x29998e+_0x36d994(0xa0),_0x3788fb;}['extractTranslatedCommand'](_0x5520e5){const _0x8637ae=a0_0x492ede;let _0x3e38e7=_0x5520e5['replace'](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x3e38e7=_0x3e38e7['replace'](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x19ef33=_0x3e38e7['trim']()['split']('\x0a');return _0x19ef33[_0x8637ae(0x117)]>0x1&&!_0x3e38e7['includes']('&&')&&!_0x3e38e7[_0x8637ae(0x17a)]('||')&&(_0x3e38e7=_0x19ef33[0x0]['trim']()),_0x3e38e7['trim']();}['analyzeCommandCompatibility'](_0x56c65f){const _0x458ac6=a0_0x492ede,_0x31ccda=this['classifyCommand'](_0x56c65f),_0x16a67a=this[_0x458ac6(0x189)](_0x31ccda,this['detectedTerminal']);return{'compatible':_0x16a67a,'detectedTerminal':this['detectedTerminal'],'commandType':_0x31ccda['type'],'commandCategory':_0x31ccda[_0x458ac6(0xc2)],'specificIssues':_0x31ccda[_0x458ac6(0x13a)],'suggestedAction':_0x16a67a?_0x458ac6(0x149):'translate','confidence':_0x31ccda['confidence']};}[a0_0x492ede(0x125)](_0x1cda23){const _0x1b0d7f=a0_0x492ede;return this[_0x1b0d7f(0x178)](_0x1cda23)[_0x1b0d7f(0x1c0)];}['classifyCommand'](_0x3e191e){const _0x39b07e=a0_0x492ede,_0x1c62bd=_0x3e191e['toLowerCase']()[_0x39b07e(0xc8)](),_0x135ec8=_0x1c62bd['split']('\x20')[0x0],_0x50b8b4=[];let _0x4a9982=0.9;const _0x53d1a5={'ls':{'category':'file-listing','alternatives':{'cmd':_0x39b07e(0x13c),'powershell':_0x39b07e(0x124)}},'cat':{'category':'file-viewing','alternatives':{'cmd':'type','powershell':_0x39b07e(0xcf)}},'grep':{'category':'text-search','alternatives':{'cmd':'findstr','powershell':_0x39b07e(0x12a)}},'find':{'category':'file-search','alternatives':{'cmd':_0x39b07e(0x94),'powershell':'Get-ChildItem\x20-Recurse'}},'head':{'category':'file-viewing','alternatives':{'cmd':'more','powershell':'Get-Content\x20-Head'}},'tail':{'category':'file-viewing','alternatives':{'cmd':_0x39b07e(0x133),'powershell':'Get-Content\x20-Tail'}},'wc':{'category':'text-analysis','alternatives':{'cmd':_0x39b07e(0x16a),'powershell':'Measure-Object'}},'cp':{'category':_0x39b07e(0x120),'alternatives':{'cmd':_0x39b07e(0x1d2),'powershell':'Copy-Item'}},'mv':{'category':_0x39b07e(0xcd),'alternatives':{'cmd':'move','powershell':'Move-Item'}},'rm':{'category':'file-delete','alternatives':{'cmd':'del','powershell':'Remove-Item'}},'mkdir':{'category':'directory-create','alternatives':{'cmd':_0x39b07e(0x186),'powershell':_0x39b07e(0xea)}},'rmdir':{'category':'directory-delete','alternatives':{'cmd':_0x39b07e(0x17d),'powershell':'Remove-Item'}},'touch':{'category':_0x39b07e(0x188),'alternatives':{'cmd':'type\x20nul\x20>','powershell':_0x39b07e(0x144)}},'chmod':{'category':_0x39b07e(0x11b),'alternatives':{'cmd':'icacls','powershell':'Set-Acl'}},'chown':{'category':'ownership','alternatives':{'cmd':'takeown','powershell':_0x39b07e(0xd5)}},'ps':{'category':_0x39b07e(0xbd),'alternatives':{'cmd':'tasklist','powershell':_0x39b07e(0x1b0)}},'kill':{'category':'process-kill','alternatives':{'cmd':'taskkill','powershell':'Stop-Process'}},'killall':{'category':_0x39b07e(0xbc),'alternatives':{'cmd':_0x39b07e(0x19c),'powershell':_0x39b07e(0x146)}},'top':{'category':'process-monitor','alternatives':{'cmd':_0x39b07e(0x1ce),'powershell':'Get-Process\x20|\x20Sort-Object\x20CPU'}},'wget':{'category':_0x39b07e(0x135),'alternatives':{'cmd':_0x39b07e(0xe1),'powershell':'Invoke-WebRequest'}},'curl':{'category':_0x39b07e(0x9d),'alternatives':{'cmd':_0x39b07e(0xe1),'powershell':_0x39b07e(0x11e)}},'ping':{'category':_0x39b07e(0x15f),'alternatives':{'cmd':'ping','powershell':'Test-NetConnection'}},'awk':{'category':'text-processing','alternatives':{'cmd':_0x39b07e(0x118),'powershell':_0x39b07e(0x19e)}},'sed':{'category':'text-edit','alternatives':{'cmd':_0x39b07e(0x9a),'powershell':'native'}},'sort':{'category':'text-sort','alternatives':{'cmd':_0x39b07e(0xac),'powershell':'Sort-Object'}},'uniq':{'category':'text-dedupe','alternatives':{'cmd':'sort\x20/unique','powershell':'Sort-Object\x20-Unique'}},'pwd':{'category':_0x39b07e(0xb7),'alternatives':{'cmd':'cd','powershell':_0x39b07e(0x15a)}},'whoami':{'category':_0x39b07e(0x1ca),'alternatives':{'cmd':_0x39b07e(0x142),'powershell':_0x39b07e(0xdf)}},'env':{'category':'environment','alternatives':{'cmd':_0x39b07e(0xf0),'powershell':'Get-ChildItem\x20Env:'}},'export':{'category':'environment','alternatives':{'cmd':'set','powershell':'$env:'}},'source':{'category':'script-execute','alternatives':{'cmd':_0x39b07e(0x14b),'powershell':'.\x20'}},'tar':{'category':'archive','alternatives':{'cmd':'7z','powershell':_0x39b07e(0xee)}},'zip':{'category':_0x39b07e(0x103),'alternatives':{'cmd':'powershell\x20Compress-Archive','powershell':_0x39b07e(0xee)}},'unzip':{'category':_0x39b07e(0x103),'alternatives':{'cmd':_0x39b07e(0xf2),'powershell':_0x39b07e(0x9b)}},'df':{'category':_0x39b07e(0x8e),'alternatives':{'cmd':'fsutil\x20volume\x20diskfree','powershell':'Get-WmiObject\x20-Class\x20Win32_LogicalDisk'}},'du':{'category':'disk-usage','alternatives':{'cmd':_0x39b07e(0x94),'powershell':_0x39b07e(0x19f)}},'free':{'category':'memory-info','alternatives':{'cmd':'systeminfo','powershell':_0x39b07e(0x173)}},'uname':{'category':'system-info','alternatives':{'cmd':_0x39b07e(0x12d),'powershell':'Get-ComputerInfo'}}},_0xf720c6={'dir':{'category':'file-listing','alternatives':{'unix':'ls','powershell':'Get-ChildItem'}},'type':{'category':_0x39b07e(0x163),'alternatives':{'unix':_0x39b07e(0xf7),'powershell':_0x39b07e(0xcf)}},'copy':{'category':_0x39b07e(0x120),'alternatives':{'unix':'cp','powershell':'Copy-Item'}},'move':{'category':'file-move','alternatives':{'unix':'mv','powershell':_0x39b07e(0x1c1)}},'del':{'category':'file-delete','alternatives':{'unix':'rm','powershell':_0x39b07e(0x1d6)}},'tasklist':{'category':'process-list','alternatives':{'unix':'ps','powershell':_0x39b07e(0x1b0)}},'taskkill':{'category':'process-kill','alternatives':{'unix':'kill','powershell':_0x39b07e(0xa6)}},'findstr':{'category':'text-search','alternatives':{'unix':'grep','powershell':'Select-String'}}},_0x1a7782={'get-childitem':{'category':'file-listing','alternatives':{'unix':'ls','cmd':'dir'}},'get-content':{'category':'file-viewing','alternatives':{'unix':'cat','cmd':_0x39b07e(0xb3)}},'copy-item':{'category':'file-copy','alternatives':{'unix':'cp','cmd':'copy'}},'move-item':{'category':_0x39b07e(0xcd),'alternatives':{'unix':'mv','cmd':'move'}},'remove-item':{'category':_0x39b07e(0xc3),'alternatives':{'unix':'rm','cmd':'del'}},'get-process':{'category':_0x39b07e(0xbd),'alternatives':{'unix':'ps','cmd':_0x39b07e(0x1ce)}},'stop-process':{'category':'process-kill','alternatives':{'unix':_0x39b07e(0x150),'cmd':'taskkill'}}};let _0x1f2b2d='unknown',_0x43c665=_0x39b07e(0x18e),_0x10f34a={};if(_0x53d1a5[_0x135ec8])_0x1f2b2d='unix',_0x43c665=_0x53d1a5[_0x135ec8]['category'],_0x10f34a=_0x53d1a5[_0x135ec8]['alternatives'];else{if(_0xf720c6[_0x135ec8])_0x1f2b2d=_0x39b07e(0x160),_0x43c665=_0xf720c6[_0x135ec8][_0x39b07e(0xc2)],_0x10f34a=_0xf720c6[_0x135ec8]['alternatives'];else{if(_0x1a7782[_0x135ec8])_0x1f2b2d='powershell',_0x43c665=_0x1a7782[_0x135ec8][_0x39b07e(0xc2)],_0x10f34a=_0x1a7782[_0x135ec8][_0x39b07e(0x184)];else{const _0x26a420=[_0x39b07e(0xad),'cd','exit','help'];_0x26a420[_0x39b07e(0x17a)](_0x135ec8)?(_0x1f2b2d=_0x39b07e(0x1b1),_0x43c665='builtin'):(_0x1f2b2d=_0x39b07e(0x18e),_0x4a9982=0.3);}}}return _0x3e191e[_0x39b07e(0x17a)]('\x27')&&!_0x3e191e['includes']('\x22')&&_0x50b8b4[_0x39b07e(0x16b)]('single-quotes-problematic'),_0x3e191e['includes']('/')&&!_0x3e191e['includes']('\x5c')&&!_0x3e191e[_0x39b07e(0x17a)]('http')&&_0x3e191e[_0x39b07e(0x17a)]('>')&&_0x50b8b4[_0x39b07e(0x16b)]('unix-style-paths'),(_0x3e191e['includes']('\x5cn')||_0x3e191e['includes']('\x5ct'))&&_0x50b8b4[_0x39b07e(0x16b)](_0x39b07e(0x1ba)),(_0x3e191e['includes']('\x20&&\x20')||_0x3e191e['includes']('\x20||\x20')||_0x3e191e['includes'](';'))&&_0x50b8b4['push']('command-chaining'),{'type':_0x1f2b2d,'category':_0x43c665,'alternatives':_0x10f34a,'issues':_0x50b8b4,'confidence':_0x4a9982,'firstWord':_0x135ec8,'fullCommand':_0x3e191e};}[a0_0x492ede(0x189)](_0xcc71b4,_0x15297a){const _0x2f1d76=a0_0x492ede;switch(_0x15297a){case _0x2f1d76(0x100):if(_0xcc71b4[_0x2f1d76(0xb3)]===_0x2f1d76(0x161))return![];if(_0xcc71b4[_0x2f1d76(0x13a)][_0x2f1d76(0x17a)](_0x2f1d76(0xb9)))return![];if(_0xcc71b4['issues']['includes'](_0x2f1d76(0x166)))return![];return _0xcc71b4['type']==='windows-cmd'||_0xcc71b4['type']==='universal';case _0x2f1d76(0x10d):if(_0xcc71b4[_0x2f1d76(0xb3)]==='unix'&&!_0xcc71b4['alternatives'][_0x2f1d76(0x10d)])return![];return!![];case _0x2f1d76(0xd1):if(_0xcc71b4['type']==='windows-cmd')return![];return _0xcc71b4[_0x2f1d76(0xb3)]===_0x2f1d76(0x161)||_0xcc71b4[_0x2f1d76(0xb3)]==='universal';default:return![];}}['translateToWindowsCmd'](_0x188fc8){const _0x2743a4=a0_0x492ede;let _0x57d5d9=_0x188fc8;const _0x577bcc=new Map([[/^ls\s*$/,_0x2743a4(0x13c)],[/^ls\s+-la?$/,'dir'],[/^ls\s+-l$/,_0x2743a4(0x13c)],[/^ls\s+-a$/,'dir\x20/a'],[/^cat\s+(.+)$/,_0x2743a4(0xe3)],[/^cp\s+(.+)\s+(.+)$/,_0x2743a4(0x110)],[/^mv\s+(.+)\s+(.+)$/,'move\x20$1\x20$2'],[/^rm\s+(.+)$/,'del\x20$1'],[/^mkdir\s+(.+)$/,'mkdir\x20$1'],[/^rmdir\s+(.+)$/,'rmdir\x20$1'],[/^ps\s*$/,_0x2743a4(0x1ce)],[/^kill\s+(.+)$/,_0x2743a4(0x185)],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,'echo\x20%USERNAME%'],[/^ping\s+(.+)$/,'ping\x20$1'],[/^wget\s+(.+)$/,'curl\x20-O\x20$1'],[/^curl\s+(.+)$/,_0x2743a4(0x119)]]);for(const [_0xfc1ec,_0x3c87b1]of _0x577bcc){if(_0xfc1ec[_0x2743a4(0x1c9)](_0x57d5d9)){_0x57d5d9=_0x57d5d9['replace'](_0xfc1ec,_0x3c87b1);break;}}_0x57d5d9=_0x57d5d9[_0x2743a4(0x8c)](/echo\s+'([^']+)'\s*>/g,_0x2743a4(0xa7)),_0x57d5d9=_0x57d5d9[_0x2743a4(0x8c)](/echo\s+'([^']+)'$/g,'echo\x20\x22$1\x22');if(_0x57d5d9[_0x2743a4(0x17a)](_0x2743a4(0xb0))&&_0x57d5d9['includes']('\x5cn')){const _0x11819c=_0x57d5d9[_0x2743a4(0x8f)](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0x11819c){const _0x4b14a3=_0x11819c[0x1][_0x2743a4(0x8c)](/\\n/g,'\x0a'),_0x4e922c=_0x11819c[0x2],_0x7d2b2b=_0x4b14a3[_0x2743a4(0xc7)]('\x0a');_0x57d5d9='('+_0x7d2b2b[_0x2743a4(0x199)](_0x3e3ba1=>'echo\x20'+_0x3e3ba1)[_0x2743a4(0x11c)](_0x2743a4(0xd6))+_0x2743a4(0xf5)+_0x4e922c;}}return this[_0x2743a4(0xdb)]?.['info'](_0x2743a4(0x172),{'original':_0x188fc8,'translated':_0x57d5d9}),_0x57d5d9;}['translateToPowerShell'](_0x2e6198){const _0x8066c6=a0_0x492ede;let _0x28fda8=_0x2e6198;const _0x30af71=new Map([[/^ls\s*$/,_0x8066c6(0x124)],[/^ls\s+-la?$/,'Get-ChildItem\x20-Force'],[/^cat\s+(.+)$/,_0x8066c6(0x136)],[/^cp\s+(.+)\s+(.+)$/,'Copy-Item\x20$1\x20$2'],[/^mv\s+(.+)\s+(.+)$/,_0x8066c6(0x1d3)],[/^rm\s+(.+)$/,_0x8066c6(0xf3)],[/^pwd\s*$/,'Get-Location'],[/^ps\s*$/,_0x8066c6(0x1b0)]]);for(const [_0x11747e,_0x22e33a]of _0x30af71){if(_0x11747e['test'](_0x28fda8)){_0x28fda8=_0x28fda8['replace'](_0x11747e,_0x22e33a);break;}}return this['logger']?.['info']('Command\x20translated\x20for\x20PowerShell',{'original':_0x2e6198,'translated':_0x28fda8}),_0x28fda8;}['translateToBash'](_0x18462d){const _0xf8f485=a0_0x492ede;let _0xee44cf=_0x18462d;const _0x563e5c=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,'ls\x20-a'],[/^type\s+(.+)$/,'cat\x20$1'],[/^copy\s+(.+)\s+(.+)$/,'cp\x20$1\x20$2'],[/^move\s+(.+)\s+(.+)$/,'mv\x20$1\x20$2'],[/^del\s+(.+)$/,'rm\x20$1'],[/^tasklist\s*$/,'ps'],[/^cd\s*$/,'pwd']]);for(const [_0x14f077,_0x4a688d]of _0x563e5c){if(_0x14f077['test'](_0xee44cf)){_0xee44cf=_0xee44cf[_0xf8f485(0x8c)](_0x14f077,_0x4a688d);break;}}return _0xee44cf;}async['cleanup'](_0x3b2b5f){}async['startBackgroundCommand'](_0x474d2f,_0x25a7d1,_0x5a23bd={}){const _0x5883b5=a0_0x492ede,{agentId:_0x418857,context:_0x115cda}=_0x5a23bd;if(!_0x418857)throw new Error('agentId\x20is\x20required\x20for\x20background\x20commands');const _0x2d472=this['getAgentCommands'](_0x418857),_0xfd06a2=_0x2d472['filter'](_0x1a94db=>_0x1a94db[_0x5883b5(0x113)]===_0x5883b5(0x13e)||_0x1a94db['state']==='waiting_for_input');if(_0xfd06a2['length']>=this[_0x5883b5(0xb2)])throw new Error('Maximum\x20background\x20commands\x20per\x20agent\x20exceeded\x20('+this['MAX_BACKGROUND_COMMANDS_PER_AGENT']+')');const _0xec3889=Array['from'](this[_0x5883b5(0xdc)][_0x5883b5(0x19b)]()),_0x50ac15=_0xec3889['filter'](_0x13c28e=>_0x13c28e['state']===_0x5883b5(0x13e)||_0x13c28e['state']===_0x5883b5(0x109));if(_0x50ac15['length']>=this[_0x5883b5(0x182)])throw new Error('Maximum\x20global\x20background\x20commands\x20exceeded\x20('+this[_0x5883b5(0x182)]+')');const _0x366edb=_0x418857+'-cmd-'+Date[_0x5883b5(0x1c4)]()+'-'+ ++this[_0x5883b5(0x1ae)],_0x3d160b=_0x474d2f;let _0x454d3d;try{_0x454d3d=await this[_0x5883b5(0x106)](_0x474d2f,{'agentId':_0x418857,'toolsRegistry':_0x115cda?.['toolsRegistry'],'messageProcessor':_0x115cda?.['messageProcessor'],'aiService':_0x115cda?.['aiService'],'apiKey':_0x115cda?.[_0x5883b5(0xe5)],'customApiKeys':_0x115cda?.[_0x5883b5(0x12e)],'platformProvided':_0x115cda?.[_0x5883b5(0x1c6)]});}catch(_0x5e756b){this[_0x5883b5(0xdb)]?.[_0x5883b5(0x158)](_0x5883b5(0x128),{'originalCommand':_0x3d160b,'error':_0x5e756b[_0x5883b5(0x130)]}),_0x454d3d=_0x474d2f;}this['logger']?.['info']('Starting\x20background\x20command:\x20'+_0x454d3d,{'commandId':_0x366edb,'agentId':_0x418857,'originalCommand':_0x3d160b,'workingDirectory':_0x25a7d1});let _0x1ddee7;if(this['detectedTerminal']==='cmd'||this['detectedTerminal']==='powershell'){const _0x51dc00=this[_0x5883b5(0xa9)]===_0x5883b5(0x10d)?_0x5883b5(0x10d):'cmd',_0x540adb=this[_0x5883b5(0xa9)]===_0x5883b5(0x10d)?[_0x5883b5(0xde),_0x454d3d]:['/c',_0x454d3d];_0x1ddee7=spawn(_0x51dc00,_0x540adb,{'cwd':_0x25a7d1,'env':{...process['env']},'windowsHide':!![],'stdio':[_0x5883b5(0x1bd),_0x5883b5(0x1bd),'pipe']});}else _0x1ddee7=spawn('sh',['-c',_0x454d3d],{'cwd':_0x25a7d1,'env':{...process[_0x5883b5(0x9f)]},'stdio':['pipe',_0x5883b5(0x1bd),'pipe']});const _0x3e0d38={'commandId':_0x366edb,'agentId':_0x418857,'pid':_0x1ddee7['pid'],'command':_0x3d160b,'translatedCommand':_0x454d3d,'workingDirectory':_0x25a7d1,'startTime':new Date()['toISOString'](),'state':_0x5883b5(0x13e),'exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date[_0x5883b5(0x1c4)](),'promptDetected':null,'process':_0x1ddee7};return this['commandTracker']['set'](_0x366edb,_0x3e0d38),_0x1ddee7[_0x5883b5(0x1a3)]['on'](_0x5883b5(0x9c),_0x47aac1=>{const _0x5b405a=_0x5883b5,_0x360942=_0x47aac1['toString']();_0x3e0d38[_0x5b405a(0x108)]+=_0x360942,_0x3e0d38[_0x5b405a(0x183)]=Date[_0x5b405a(0x1c4)]();if(!_0x3e0d38['promptDetected']){const _0x579f83=this[_0x5b405a(0x1cb)][_0x5b405a(0xcb)](_0x3e0d38[_0x5b405a(0x108)],'stdout');_0x579f83&&(_0x3e0d38['promptDetected']=_0x579f83,_0x3e0d38['state']='waiting_for_input',this[_0x5b405a(0xdb)]?.['info']('Prompt\x20detected\x20in\x20background\x20command',{'commandId':_0x366edb,'agentId':_0x418857,'type':_0x579f83[_0x5b405a(0xb3)],'matchedText':_0x579f83[_0x5b405a(0x112)]}));}}),_0x1ddee7[_0x5883b5(0xd8)]['on'](_0x5883b5(0x9c),_0x370f0c=>{const _0x1c66cd=_0x5883b5,_0x3cadb2=_0x370f0c['toString']();_0x3e0d38['stderrBuffer']+=_0x3cadb2,_0x3e0d38[_0x1c66cd(0x183)]=Date['now']();if(!_0x3e0d38['promptDetected']){const _0x1b8451=this['promptDetector'][_0x1c66cd(0xcb)](_0x3e0d38[_0x1c66cd(0xe0)],_0x1c66cd(0xd8));_0x1b8451&&(_0x3e0d38['promptDetected']=_0x1b8451,_0x3e0d38['state']=_0x1c66cd(0x109),this[_0x1c66cd(0xdb)]?.[_0x1c66cd(0x14f)](_0x1c66cd(0x192),{'commandId':_0x366edb,'agentId':_0x418857,'type':_0x1b8451['type'],'matchedText':_0x1b8451[_0x1c66cd(0x112)]}));}}),_0x1ddee7['on'](_0x5883b5(0xa4),(_0x3188ee,_0x3ed2a8)=>{const _0x5d0f69=_0x5883b5;_0x3e0d38[_0x5d0f69(0x164)]=_0x3188ee,_0x3e0d38['state']=_0x3188ee===0x0?'completed':'failed',_0x3e0d38[_0x5d0f69(0xd2)]=new Date()[_0x5d0f69(0x15e)](),this[_0x5d0f69(0xdb)]?.[_0x5d0f69(0x14f)]('Background\x20command\x20exited',{'commandId':_0x366edb,'agentId':_0x418857,'exitCode':_0x3188ee,'signal':_0x3ed2a8,'state':_0x3e0d38[_0x5d0f69(0x113)]});}),_0x1ddee7['on'](_0x5883b5(0x101),_0xb0a0e8=>{const _0x542c0b=_0x5883b5;_0x3e0d38[_0x542c0b(0x113)]='failed',_0x3e0d38[_0x542c0b(0x101)]=_0xb0a0e8['message'],_0x3e0d38[_0x542c0b(0xd2)]=new Date()[_0x542c0b(0x15e)](),this[_0x542c0b(0xdb)]?.['error']('Background\x20command\x20error',{'commandId':_0x366edb,'agentId':_0x418857,'error':_0xb0a0e8[_0x542c0b(0x130)]});}),{'success':!![],'commandId':_0x366edb,'pid':_0x1ddee7['pid'],'command':_0x3d160b,'translatedCommand':_0x454d3d,'workingDirectory':_0x25a7d1,'message':_0x5883b5(0x1aa)+_0x366edb};}[a0_0x492ede(0xab)](_0x300160,_0x8ec8b2,_0x28f294){const _0x346db2=a0_0x492ede,_0x1ece3a=this[_0x346db2(0x156)](_0x300160,_0x28f294);if(_0x1ece3a['state']===_0x346db2(0x1c8)||_0x1ece3a['state']==='failed')throw new Error(_0x346db2(0x16e)+_0x1ece3a['state']+'\x20command');if(!_0x1ece3a['process']||_0x1ece3a[_0x346db2(0x1af)]['killed'])throw new Error(_0x346db2(0x1b4));const _0x2e10bf=_0x8ec8b2['endsWith']('\x0a')?_0x8ec8b2:_0x8ec8b2+'\x0a';return _0x1ece3a[_0x346db2(0x1af)]['stdin']['write'](_0x2e10bf),this['logger']?.['info']('Input\x20sent\x20to\x20background\x20command',{'commandId':_0x300160,'agentId':_0x28f294,'inputLength':_0x8ec8b2[_0x346db2(0x117)]}),_0x1ece3a['state']==='waiting_for_input'&&(_0x1ece3a['state']='running',_0x1ece3a['promptDetected']=null),{'success':!![],'commandId':_0x300160,'message':_0x346db2(0x99)};}['getCommandStatus'](_0xd6218c,_0x2cc875){const _0x4df033=a0_0x492ede,_0x2f6392=this[_0x4df033(0x156)](_0xd6218c,_0x2cc875),_0x253bc6=Date[_0x4df033(0x1c4)]()-_0x2f6392['lastOutputTime'];return{'success':!![],'commandId':_0xd6218c,'pid':_0x2f6392['pid'],'command':_0x2f6392[_0x4df033(0x177)],'state':_0x2f6392[_0x4df033(0x113)],'exitCode':_0x2f6392['exitCode'],'startTime':_0x2f6392['startTime'],'endTime':_0x2f6392['endTime'],'workingDirectory':_0x2f6392[_0x4df033(0x123)],'stdout':_0x2f6392[_0x4df033(0x108)],'stderr':_0x2f6392[_0x4df033(0xe0)],'stdoutLength':_0x2f6392['stdoutBuffer'][_0x4df033(0x117)],'stderrLength':_0x2f6392[_0x4df033(0xe0)][_0x4df033(0x117)],'lastOutputTime':_0x2f6392['lastOutputTime'],'timeSinceLastOutput':_0x253bc6,'promptDetected':!!_0x2f6392[_0x4df033(0xbb)],'promptInfo':_0x2f6392['promptDetected']||undefined};}[a0_0x492ede(0xc5)](_0x585b07,_0x220e75){const _0x27b20f=a0_0x492ede,_0x3d401e=this['validateCommandOwnership'](_0x585b07,_0x220e75);if(_0x3d401e['state']==='completed'||_0x3d401e['state']===_0x27b20f(0x1d4))return{'success':!![],'commandId':_0x585b07,'message':_0x27b20f(0xc1),'state':_0x3d401e[_0x27b20f(0x113)]};if(_0x3d401e['process']&&!_0x3d401e['process'][_0x27b20f(0x1b6)])return _0x3d401e[_0x27b20f(0x1af)][_0x27b20f(0x150)]('SIGTERM'),setTimeout(()=>{const _0x6549fe=_0x27b20f;_0x3d401e['process']&&!_0x3d401e[_0x6549fe(0x1af)][_0x6549fe(0x1b6)]&&_0x3d401e[_0x6549fe(0x1af)]['kill'](_0x6549fe(0xa5));},0x1388),this[_0x27b20f(0xdb)]?.['info'](_0x27b20f(0x10c),{'commandId':_0x585b07,'agentId':_0x220e75}),{'success':!![],'commandId':_0x585b07,'message':_0x27b20f(0x13b)};return{'success':![],'commandId':_0x585b07,'error':_0x27b20f(0x1cc)};}[a0_0x492ede(0x1cd)](_0x14b681){const _0x4de011=a0_0x492ede,_0x331f6f=this['getAgentCommands'](_0x14b681);return _0x331f6f['map'](_0x5e8bbd=>({'commandId':_0x5e8bbd['commandId'],'command':_0x5e8bbd['command'],'state':_0x5e8bbd['state'],'pid':_0x5e8bbd['pid'],'exitCode':_0x5e8bbd[_0x4de011(0x164)],'startTime':_0x5e8bbd[_0x4de011(0xc4)],'endTime':_0x5e8bbd['endTime'],'promptDetected':!!_0x5e8bbd[_0x4de011(0xbb)],'timeSinceLastOutput':Date[_0x4de011(0x1c4)]()-_0x5e8bbd[_0x4de011(0x183)]}));}['getAgentCommands'](_0x2c41f1){const _0xee0bc9=a0_0x492ede;return Array['from'](this['commandTracker'][_0xee0bc9(0x19b)]())[_0xee0bc9(0x19a)](_0x41810a=>_0x41810a[_0xee0bc9(0x1bc)]===_0x2c41f1);}[a0_0x492ede(0x156)](_0x30b5fe,_0x49b0b6){const _0x153d7a=a0_0x492ede,_0x2be09e=this[_0x153d7a(0xdc)][_0x153d7a(0xce)](_0x30b5fe);if(!_0x2be09e)throw new Error(_0x153d7a(0xfa)+_0x30b5fe);if(_0x2be09e[_0x153d7a(0x1bc)]!==_0x49b0b6)throw new Error('Access\x20denied:\x20Command\x20belongs\x20to\x20agent\x20'+_0x2be09e[_0x153d7a(0x1bc)]);return _0x2be09e;}async[a0_0x492ede(0x15c)](_0x27f9e4){const _0x567b46=a0_0x492ede,_0x22208c=this['getAgentCommands'](_0x27f9e4);let _0x49a15b=0x0,_0x44c616=0x0;for(const _0x41ee95 of _0x22208c){_0x41ee95['process']&&!_0x41ee95['process']['killed']&&(_0x41ee95[_0x567b46(0x1af)][_0x567b46(0x150)](_0x567b46(0x190)),_0x49a15b++,setTimeout(()=>{const _0x4d543c=_0x567b46;_0x41ee95[_0x4d543c(0x1af)]&&!_0x41ee95['process'][_0x4d543c(0x1b6)]&&_0x41ee95['process'][_0x4d543c(0x150)]('SIGKILL');},0xbb8)),this[_0x567b46(0xdc)]['delete'](_0x41ee95['commandId']),_0x44c616++;}return this[_0x567b46(0xdb)]?.[_0x567b46(0x14f)](_0x567b46(0x16c),{'agentId':_0x27f9e4,'killedCount':_0x49a15b,'removedCount':_0x44c616}),{'success':!![],'agentId':_0x27f9e4,'killedCount':_0x49a15b,'removedCount':_0x44c616,'message':_0x567b46(0x195)+_0x44c616+_0x567b46(0x176)+_0x27f9e4};}[a0_0x492ede(0x1a1)](){const _0x6aee08=a0_0x492ede,_0x3c60fc=Date['now']();let _0x1237b7=0x0;for(const [_0x4da572,_0x37b5a4]of this['commandTracker']['entries']()){if(_0x37b5a4['state']!=='completed'&&_0x37b5a4['state']!==_0x6aee08(0x1d4))continue;const _0x188bdd=new Date(_0x37b5a4['startTime'])[_0x6aee08(0xfc)](),_0xf96f4a=(_0x3c60fc-_0x188bdd)/0x3e8/0x3c;_0xf96f4a>this['MAX_COMMAND_AGE_MINUTES']&&(this['commandTracker']['delete'](_0x4da572),_0x1237b7++);}return _0x1237b7>0x0&&this[_0x6aee08(0xdb)]?.[_0x6aee08(0x14f)]('Stale\x20commands\x20cleaned\x20up',{'removedCount':_0x1237b7,'ageThresholdMinutes':this['MAX_COMMAND_AGE_MINUTES']}),{'success':!![],'removedCount':_0x1237b7,'message':_0x6aee08(0x195)+_0x1237b7+'\x20stale\x20commands'};}}export default TerminalTool;
|