@loxia-labs/loxia-autopilot-one 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/src/utilities/userDataDir.js +1 -0
  118. package/web-ui/build/index.html +2 -2
  119. package/web-ui/build/static/{index-CoRE46V-.js → index-DXN850Y2.js} +78 -74
  120. package/web-ui/build/static/index-an-YRzUX.css +1 -0
  121. package/web-ui/build/static/index-P281Rusr.css +0 -1
@@ -1 +1 @@
1
- const a0_0x5a9af9=a0_0x5319;(function(_0x2e7113,_0x368f66){const _0x19acc3=a0_0x5319,_0x3e27fc=_0x2e7113();while(!![]){try{const _0x4f3cab=-parseInt(_0x19acc3(0xc0))/0x1*(-parseInt(_0x19acc3(0x128))/0x2)+-parseInt(_0x19acc3(0x192))/0x3*(-parseInt(_0x19acc3(0xc1))/0x4)+-parseInt(_0x19acc3(0x186))/0x5+-parseInt(_0x19acc3(0x167))/0x6*(-parseInt(_0x19acc3(0x137))/0x7)+parseInt(_0x19acc3(0x17e))/0x8+parseInt(_0x19acc3(0x16e))/0x9+parseInt(_0x19acc3(0x1b6))/0xa*(-parseInt(_0x19acc3(0x124))/0xb);if(_0x4f3cab===_0x368f66)break;else _0x3e27fc['push'](_0x3e27fc['shift']());}catch(_0x446ca0){_0x3e27fc['push'](_0x3e27fc['shift']());}}}(a0_0x69e6,0x8a13a));import{BaseTool}from'./baseTool.js';import a0_0x4ecd37 from'../utilities/tagParser.js';function a0_0x69e6(){const _0x32455b=['AxnbyNnVBhv0zq','y3vYBa','AxntAw1WBgvdB21Tyw5K','q29TBwfUzcbLEgvJDxrLzcbZDwnJzxnZzNvSBhKGAw4G','C29Tzq','vgvYBwLUywWGzgv0zwn0zwq','y2f0','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','Dw5RBM93BG','oIbJB21Tyw5KigLZigjSB2nRzwqGzM9YihnLy3vYAxr5oIa','zMLSzs1JB3b5','yMXVy2TLzenVBw1HBMrZ','zgv0zwn0zwruzxjTAw5HBa','rxHWyw5KlufYy2HPDMu','CMvWBgfJzq','ndK3mdG2ngvgCK5Xta','icyMia','uhjVBxb0igrLDgvJDgvKigLUihn0zgvYCG','Aw5MBW','CM0GlxjMic8','vhjHBNnSyxrLihrOAxmGy29TBwfUzcb0BYb3B3jRignVCNjLy3rSEsbPBIa','Dgv4Dc1ZzwfYy2G','rM9YrwfJAc1pyMPLy3q','mJm5mJG5me1jtwjxyW','ywDLBNrjza','q29TChjLC3mTqxjJAgL2zq','rxHLy3v0Aw5NignVBw1HBMq6ia','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','BMfTzq','zxHPDenVzgu','zwnOBYaI','D2fPDgLUz19MB3jFAw5WDxq','z2v0rgvZy3jPChrPB24','zMLUzcaVyW','zgLYzwn0B3j5lwnYzwf0zq','mZnNB0rKuhy','zw50CMLLCW','D2LUzg93CY1JBwq','qwnJzxnZigrLBMLLzdOG','BwvZC2fNzvbYB2nLC3nVCG','AxndB21Tyw5Kq29TCgf0AwjSzq','ChjVy2vZCY1RAwXS','DxnLCM5HBwu','DxnLCI1PBMzV','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUza','DhjHBNnSyxrLvg9xAw5KB3DZq21K','zMfPBgvK','DgvYBwLUywW','A2v5ChjLC3m','icHVCMLNAw5HBdOG','y29WEq','D2LUmZi','zMLSDgvY','ChjVy2vZCY1TB25PDg9Y','q29TBwfUzcb0Aw1LzcbVDxqSigTPBgXPBMCGChjVy2vZCZOG','ugfZC3DVCMqGChjVBxb0','cMbGyaOkq09ntuforcbbtKfmwvnjuZOklsbdB21Tyw5Kifr5Cgu6ia','zMLSzs1KzwXLDgu','qwXSia','tM90igeGzgLYzwn0B3j5oIa','ChjVBxb0rgv0zwn0zwq','Aw5PDgLHBgL6zvrLCM1PBMfSrgv0zwn0Aw9U','vxnLCM5HBwuGChjVBxb0','q29TBwfUzcbUB3qGzM91BMq6ia','u2vSzwn0Aw9UihbYB21WDa','Dw5PDMvYC2fS','q29TBwfUzcbJB21WBgv0zwq6ia','BwvZC2fNzq','Aw5JBhvKzxm','C3rKzxjY','zgfYD2LU','nZiXodeWzxHJsNbJ','u3rVCc1qCM9JzxnZ','qwn0Aw9Uia','qMfZAcbZAgvSBcaOtgLUDxGVvw5PEc9TywnpuYK','q29TBwfUzcbLEgL0zwqGD2L0AcbJB2rLia','igfJDgLVBNmGzMfPBgvK','r2v0lunVBNrLBNq','ChjVy2vZCW','BxyGjdeGjdi','C3vIC3rYAw5N','yxn5BMm','q2HHBMDLzcbKAxjLy3rVCNKGDg8G','AgfSDa','r2v0lunOAwXKsxrLBsaTuMvJDxjZzq','zw52','q29TBwfUzcbJB21WyxrPyMLSAxr5igfUywX5C2LZ','u0HfteW','CNvUlwnVBw1HBMq','zMLSzs1JCMvHDgu','zgvMia','zgvSic9Mic9X','y29UzMLKzw5Jzq','vxnPBMCGquKGDhjHBNnSyxrPB24','DgfZA2XPC3q','twf4Aw11BsbNBg9IywWGyMfJA2DYB3vUzcbJB21Tyw5KCYbLEgnLzwrLzcaO','q29TBwfUzcbHBhjLywr5ihrLCM1PBMf0zwq','BMv0D29YAY10zxn0','uMvTB3zLluL0zw0Gjde','Cgf0DgvYBG','Bwf4q29TBwfUzefNzu1PBNv0zxm','zxHPDa','BwvTB3j5lwLUzM8','C3bLy2LMAwnjC3n1zxm','CgfYC2vqyxjHBwv0zxjZ','C2LUz2XLlxf1B3rLCY1WCM9IBgvTyxrPyW','BgvUz3rO','zgf0yq','C3rHCNrZv2L0Aa','BgLZDc1KAxjLy3rVCNK','ywXSB3DLza','zw5KC1DPDgG','zgvS','CgXHDgzVCM0','quKGDhjHBNnSyxrPB24GBM90igf2ywLSywjSzsaTig1PC3nPBMCGy29UDgv4Da','ig9Mia','AM9PBG','id4GjG','z2v0qwDLBNrdB21Tyw5KCW','tufyx0nptu1btKrFquDfx01jtLvurvm','AxnZDwvZ','z2v0','CNvUBMLUzW','y29UDgvUDa','zNn1DgLSihzVBhvTzsbKAxnRzNjLzq','r2v0lunOAwXKsxrLBq','B3DUzxjZAgLW','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','oIbJB21Tyw5KigLZihjLCxvPCMvKigzVCIbYDw4Ty29TBwfUza','r2v0luXVy2f0Aw9U','q29TBwfUzcbMywLSzwqGD2L0AcbLEgL0ignVzguG','Aw5WDxq','Bwf0y2G','zMLUzhn0CG','r2vUzxjPyYbPBNb1DcbWCM9TChq','D29YA2LUz0rPCMvJDg9YAwvZ','Dgv4Dc1LzgL0','y29TBwfUza','tM9UzsbKzxrLy3rLza','y2f0icqX','A2v5CW','ChvZAa','y3jLyxrLlwrPCMvJDg9YEq','BM93','ywXSB3DLzenVBw1HBMrZ','tgLZDgvKia','icyG','sw5WDxqGC2vUDcbZDwnJzxnZzNvSBhK','BxmPcI0Gyxn5BMm6ifDOzxrOzxiGDg8GCNvUignVBw1HBMqGyxn5BMnOCM9UB3vZBhKGkhrYDwuVzMfSC2uPcGPcqunlr1jpvu5eienptu1btKqGtufoquDftuvovcaOqwr2yw5JzwqPoGPgB3iGBg9UzY1YDw5UAw5NignVBw1HBMrZicHUCg0GAw5ZDgfSBcWGz2L0ig9WzxjHDgLVBNmSigj1AwXKCYKSihvZzsbIywnRz3jVDw5KignVBw1HBMqGDhjHy2TPBMC6cGOQkNn0yxj0qMfJA2DYB3vUzenVBw1HBMqOy29TBwfUzcWGD29YA2LUz0rPCIWGE2fNzw50swqSignVBNrLEhr9ksOQcI0Gu3rHCNrZignVBw1HBMqGAw4GyMfJA2DYB3vUzcb3AxrOihn0zgLUigTLChqGB3bLBGOTifjLDhvYBNmGy29TBwfUzeLKigzVCIb0CMfJA2LUzWOTie1HEca','zgvZy3jPChrPB24','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','zxH0CMfJDenVBNrLBNq','mM9nEwHxCW','mZeYnJy0DhPHwwDk','CgfZC3DVCMq','zNvUy3rPB24G','q29UDgLUDwuGChjVBxb0','y2HHBMDLlwrPCMvJDg9YEq','qwnJzxnZigrLBMLLzdOGq29TBwfUzcbIzwXVBMDZihrVigfNzw50ia','DhjPBq','igfJDgLVBNmGy29TCgXLDgvKihn1y2nLC3nMDwXSEq','C3bSAxq','CMvHzgrPCG','zgLZAY11C2fNzq','yMfZAa','zgvSzxrL','Ahr0Ca','zgv0zwn0uhjVBxb0','BgfZDe91Dhb1DfrPBwu','C3rKB3v0','y29TBwfUzfrYywnRzxi','cI0Gq29TCgf0AwjPBgL0EsbjC3n1zxm6ia','C291CMnLia','Bg9Nz2vY','lunVBw1HBMq','y2f0zwDVCNK','u2vSzwn0lvn0CMLUzW','C3rKzxjYqNvMzMvY','q29TBwfUzcbZCgf3BIbLCNjVCJOG','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwq','AxndB21Tyw5Kq29TCgf0AwjSzvDPDgHuzxjTAw5HBa','DhLWzq','C3rHCNruAw1L','ywLtzxj2AwnL','q29WEs1jDgvTicqXicqY','ihn0ywXLignVBw1HBMrZ','Dg9tDhjPBMC','zw52AxjVBM1LBNq','DhjHBNnSyxrLq29TBwfUza','z2vUzxjPyW','u2v0lufJBa','CMvHC29U','ChjVBxb0rgv0zwn0B3i','twvUDsbZzwXLy3rPB24','vgvZDc1ozxrdB25Uzwn0Aw9U','zMLSzs12Awv3Aw5N','DgLTzw91Da','qxr0zw1WDgLUzYbbssb0CMfUC2XHDgLVBIbMB3iGy29TCgXLEcbJB21Tyw5K','AgvSCa','y2XHC3nPzNLdB21Tyw5K','EwvZlw5V','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','q29WEs1jDgvT','yM9VBgvHBG','y3vYBcaTtYaKmq','cJiUifbYzxnLCNzLihrOzsbVCMLNAw5HBcbPBNrLBNqGyw5Kigz1BMn0Aw9UywXPDhKkmY4GsgfUzgXLigzPBguGCgf0AhmSihf1B3rPBMCSigfUzcbZEw50yxGGy29YCMvJDgX5cJqUieLMignYzwf0Aw5NigzPBgvZlcbLBNn1CMuGChjVCgvYigvUy29KAw5NigfUzcbSAw5LigvUzgLUz3mkns4GqwrKCMvZCYb0AguGC3bLy2LMAwmGy29TCgf0AwjPBgL0EsbPC3n1zxmGAwrLBNrPzMLLzcbHyM92zqO2lIbszxr1CM4Gt05mwsb0AguGDhjHBNnSyxrLzcbJB21Tyw5KlcbUB3rOAw5NigvSC2ukcLrsqu5ttefuruqGq09ntufordO','sgL0igvUDgvY','CgXHDgzVCM1qCM92AwrLza','Dw5PEc1ZDhLSzs1WyxrOCW','AwnHy2XZ','y3DK','ihX8ia','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','zxH0CMfJDfrYyw5ZBgf0zwrdB21Tyw5K','C3rHDgu','zxHLy3v0zunVBw1HBMrxAxrOu3bHD24','zxHLy3v0zq','z2v0ugfYyw1LDgvYu2nOzw1H','y3vZDg9TqxbPs2v5CW','CMvZB2X2zq','q2XLyw5Lzcb1Cca','yxbPs2v5','u0Lhs0Lmta','vgvYBwLUywWGrevcvuC6ifvZAw5NigfNzw50ignVBMzPz3vYzwqGD29YA2LUzYbKAxjLy3rVCNK6','A2LSBa','C3vJy2vZCW','A2LSBgvK','CgLWzq','Dgv4Dc1ZB3j0','AxnbBgXVD2vKq29TBwfUza','DgfZA2TPBgW','q29TBwfUzcbWCM9JzxnZig5VDcbMB3vUzcbVCIbHBhjLywr5igTPBgXLza','zMLSzs1TB3zL','DgfZA2TPBgWGl2yGl2LT','Cg93zxjZAgvSBa','C2LTCgXL','y29TCgf0AwjSzq','y2XLyw51Ca','ywX0zxjUyxrPDMvZ','Dg9VBhnszwDPC3rYEq','rMfPBgvKihrVignOyw5NzsbKAxjLy3rVCNKGDg8G','ywn0Aw9UCW','q2fUBM90ihnLBMqGAw5WDxqGDg8G','CgLK','y29Kzq','igL0zw1ZigLUia','ywrKvg9iAxn0B3j5','C29YDa','CMf3q29UDgvUDa','y3aGjdeGjdi','u0Lhvevstq','zgLZAY1PBMzV','mJuZALjjwLnw','jgvUDJO','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNKG','uhjLC3mGyw55igTLEq','mJq2nZa4uKvYBwrj','zw5KvgLTzq','DMfSAwrHDgvszwfKqwnJzxnZ','zxjYB3i','y3jLyxrLrgLYzwn0B3j5','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','y29TBwfUzeLK','Dg9mB3DLCKnHC2u','Bw92zq','Bw9Yzq','yxjJAgL2zq','DgvZDa','y29TBwfUzeLKq291BNrLCG','AxneAxjLy3rVCNK','ChjVy2vZCY1SAxn0','mJu1mdmXCMHwzLH5','zgvIDwC','D2fYBG','Bwf0y2HLzfrLEhq','CgLUzW','Dg9ju09tDhjPBMC','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbqB3DLCLnOzwXS','cI0Gu3vNz2vZDgvKiefSDgvYBMf0AxzLoIa','C3rKB3v0qNvMzMvY','zgLYic9Z','BwfW','q29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwqSihvZAw5Nig9YAwDPBMfSignVBw1HBMq','rxHLy3v0Aw5NignVBw1HBMqGD2L0AcbZCgf3BJOG','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9Yia','ihWG','BgLZDerPCMvJDg9YEq','y29TBwfUzfr5Cgu','lwnTzc0','y21K','zwnOBYaLvvnfuK5btuuL','quKGDhjHBNnSyxrPB24GCMv0DxjUzwqGC2fTzsbJB21Tyw5K','r2v0lunOAwXKsxrLBsaTrM9Yy2u','BMf0AxzL','Dw5PEa','oIbJB21Tyw5KigLZig5VDcbPBIbHBgXVD2vKigXPC3q6ia','C2v0','B2jQzwn0','zgLY','q29TBwfUzcb0Aw1LzcbVDxqGywz0zxiG','y2fSBa','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','zg93BMXVywq','zMLSzs1SAxn0Aw5N','AxntEw1IB2XPy0XPBMS','zwnOBYaIjdeI','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','BgLZDefNzw50q29TBwfUzhm','zgLYzwn0B3j5','ChjPBNrM','DgfRzw93BG','zxzLCNK','zgLYzwn0B3j5lwn1CNjLBNq','z2v0vgLTzq','cI0Gq2f0zwDVCNK6ia','r2vUzxjPyYbPBNb1DcbWCM9TChqGzgv0zwn0zwq','y29TBwfUzeHPC3rVCNK','r2v0lunVBxb1DgvYsw5MBW','y29TCgXLDgvK','nMHezgrzwG','ChjVBxb0ugf0DgvYBNm','BwvUDq','uMvTB3zLluL0zw0','Cg93zxjZAgvSBcaTyW','C3LZDgvTAw5MBW','r2v0lunVBNrLBNqGluHLywq','odq1otGWmM5JBxLPzW'];a0_0x69e6=function(){return _0x32455b;};return a0_0x69e6();}import a0_0x483b96 from'../utilities/directoryAccessManager.js';import{spawn,exec}from'child_process';function a0_0x5319(_0x272f44,_0x3b8582){_0x272f44=_0x272f44-0x8b;const _0x69e67a=a0_0x69e6();let _0x53191e=_0x69e67a[_0x272f44];if(a0_0x5319['yZhcwc']===undefined){var _0x3e3bec=function(_0x4bf8bb){const _0x47f227='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ecd37='',_0x483b96='';for(let _0x1a5691=0x0,_0x2d9a73,_0x3aadd4,_0xdfe570=0x0;_0x3aadd4=_0x4bf8bb['charAt'](_0xdfe570++);~_0x3aadd4&&(_0x2d9a73=_0x1a5691%0x4?_0x2d9a73*0x40+_0x3aadd4:_0x3aadd4,_0x1a5691++%0x4)?_0x4ecd37+=String['fromCharCode'](0xff&_0x2d9a73>>(-0x2*_0x1a5691&0x6)):0x0){_0x3aadd4=_0x47f227['indexOf'](_0x3aadd4);}for(let _0x2e8795=0x0,_0xb41563=_0x4ecd37['length'];_0x2e8795<_0xb41563;_0x2e8795++){_0x483b96+='%'+('00'+_0x4ecd37['charCodeAt'](_0x2e8795)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x483b96);};a0_0x5319['GUONws']=_0x3e3bec,a0_0x5319['lZPTFk']={},a0_0x5319['yZhcwc']=!![];}const _0x347065=_0x69e67a[0x0],_0x1ee8e3=_0x272f44+_0x347065,_0x58e493=a0_0x5319['lZPTFk'][_0x1ee8e3];return!_0x58e493?(_0x53191e=a0_0x5319['GUONws'](_0x53191e),a0_0x5319['lZPTFk'][_0x1ee8e3]=_0x53191e):_0x53191e=_0x58e493,_0x53191e;}import a0_0x1a5691 from'path';import a0_0x2d9a73 from'fs/promises';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class PromptDetector{constructor(){const _0x3dac26=a0_0x5319;this[_0x3dac26(0x168)]=[{'pattern':/\(y\/n\)/i,'type':_0x3dac26(0xf0),'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':_0x3dac26(0xf0),'description':'Yes/No\x20question'},{'pattern':/\[Y\/n\]/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\[y\/N\]/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/continue\?/i,'type':'continue','description':_0x3dac26(0xc4)},{'pattern':/proceed\?/i,'type':'continue','description':'Proceed\x20prompt'},{'pattern':/press any key to continue/i,'type':'keypress','description':_0x3dac26(0x127)},{'pattern':/press enter to continue/i,'type':_0x3dac26(0x19f),'description':'Press\x20enter'},{'pattern':/hit enter to continue/i,'type':_0x3dac26(0x19f),'description':_0x3dac26(0xf6)},{'pattern':/password:/i,'type':'password','description':_0x3dac26(0x1a6)},{'pattern':/enter password/i,'type':_0x3dac26(0xc2),'description':'Password\x20prompt'},{'pattern':/passphrase:/i,'type':'password','description':'Passphrase\x20prompt'},{'pattern':/username:/i,'type':_0x3dac26(0x199),'description':_0x3dac26(0x1ad)},{'pattern':/enter username/i,'type':_0x3dac26(0x199),'description':'Username\x20prompt'},{'pattern':/enter\s+\w+:/i,'type':'input','description':'Generic\x20input\x20prompt'},{'pattern':/please enter/i,'type':_0x3dac26(0xab),'description':'Generic\x20input\x20prompt'},{'pattern':/input:/i,'type':_0x3dac26(0xab),'description':_0x3dac26(0xae)},{'pattern':/are you sure\?/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/do you want to/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/would you like to/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/select an option/i,'type':'selection','description':_0x3dac26(0x1af)},{'pattern':/choose/i,'type':'selection','description':'Selection\x20prompt'},{'pattern':/\d+\)\s+\w+/g,'type':_0x3dac26(0x169),'description':_0x3dac26(0xe9)}];}[a0_0x5a9af9(0xcf)](_0x3aadd4,_0xdfe570=a0_0x5a9af9(0xd1)){const _0x2f0049=a0_0x5a9af9;if(!_0x3aadd4||_0x3aadd4[_0x2f0049(0xc7)]()[_0x2f0049(0x92)]===0x0)return null;const _0x2e8795=_0x3aadd4['split']('\x0a'),_0xb41563=_0x2e8795['slice'](-0x5)[_0x2f0049(0x9c)]('\x0a');for(const _0x38259d of this['promptPatterns']){const _0x2ecf00=_0xb41563['match'](_0x38259d[_0x2f0049(0x8b)]);if(_0x2ecf00)return{'detected':!![],'type':_0x38259d[_0x2f0049(0xdd)],'description':_0x38259d[_0x2f0049(0xbd)],'matchedText':_0x2ecf00[0x0],'matchIndex':_0x2ecf00['index'],'source':_0xdfe570,'fullContext':_0xb41563,'timestamp':Date[_0x2f0049(0xb7)]()};}const _0x20d651=_0x2e8795[_0x2e8795[_0x2f0049(0x92)]-0x1]||'';if(_0x20d651[_0x2f0049(0xc7)]()[_0x2f0049(0x92)]>0x0){const _0x39698b=/:\s*$/['test'](_0x20d651),_0x47b086=/\?\s*$/[_0x2f0049(0x133)](_0x20d651);if(_0x39698b||_0x47b086){const _0x23e424=/\b(enter|type|provide|specify|input)\b/i[_0x2f0049(0x133)](_0x20d651);if(_0x23e424)return{'detected':!![],'type':_0x2f0049(0xe5),'description':_0x2f0049(0x163),'matchedText':_0x20d651[_0x2f0049(0xc7)](),'source':_0xdfe570,'fullContext':_0xb41563,'timestamp':Date[_0x2f0049(0xb7)](),'confidence':0.7};}}return null;}['detectHang'](_0x1868a0,_0x1e2f97=0x7530){const _0xf67a33=a0_0x5a9af9,_0x511f8e=Date[_0xf67a33(0xb7)](),_0x595108=_0x511f8e-_0x1868a0;return{'isHanging':_0x595108>=_0x1e2f97,'timeSinceLastOutput':_0x595108,'threshold':_0x1e2f97,'likelyWaiting':_0x595108>=_0x1e2f97/0x2};}}class TerminalTool extends BaseTool{constructor(_0x3b9568={},_0x112eb2=null){const _0x46d4ae=a0_0x5a9af9;super(_0x3b9568,_0x112eb2),this['requiresProject']=![],this['isAsync']=![],this[_0x46d4ae(0xec)]=_0x3b9568[_0x46d4ae(0xec)]||0x1d4c0,this[_0x46d4ae(0x12d)]=_0x3b9568['maxConcurrentOperations']||0x3,this[_0x46d4ae(0xaf)]=new Map(),this[_0x46d4ae(0x164)]=[],this[_0x46d4ae(0xb8)]=_0x3b9568['allowedCommands']||null,this['blockedCommands']=_0x3b9568['blockedCommands']||[_0x46d4ae(0x182),'format',_0x46d4ae(0x1ca),'shutdown','reboot',_0x46d4ae(0x1c2)],this[_0x46d4ae(0xa7)]=new a0_0x483b96(_0x3b9568,_0x112eb2),this['promptDetector']=new PromptDetector(),this[_0x46d4ae(0xd2)]=new Map(),this['commandIdCounter']=0x0,this[_0x46d4ae(0xbe)]=_0x3b9568['maxBackgroundCommandsPerAgent']||0x5,this[_0x46d4ae(0x176)]=_0x3b9568['maxBackgroundCommandsGlobal']||0x14,this[_0x46d4ae(0x9f)]=_0x3b9568[_0x46d4ae(0x8c)]||0x3c,this[_0x46d4ae(0x17b)]=null,this['platformType']=null,this[_0x46d4ae(0x1ac)]();}[a0_0x5a9af9(0x18f)](){const _0x26da10=a0_0x5a9af9;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']+_0x26da10(0xbc)+this['MAX_BACKGROUND_COMMANDS_PER_AGENT']+'\x20per\x20agent,\x20'+this[_0x26da10(0x176)]+'\x20global\x0a-\x20Auto-detects\x20prompts\x20and\x20updates\x20state\x20to\x20\x27waiting_for_input\x27\x0a\x0a**getCommandStatus(commandId,\x20agentId)**\x0a-\x20Get\x20real-time\x20status:\x20running,\x20waiting_for_input,\x20completed,\x20failed\x0a-\x20Returns\x20stdout/stderr\x20buffers,\x20exit\x20code,\x20timestamps\x0a-\x20Shows\x20prompt\x20detection\x20info\x20if\x20interactive\x20prompt\x20detected\x0a\x0a**sendInput(commandId,\x20input,\x20agentId)**\x0a-\x20Send\x20input\x20to\x20command\x27s\x20stdin\x20(answers\x20prompts)\x0a-\x20Automatically\x20adds\x20newline\x20if\x20not\x20present\x0a-\x20Updates\x20state\x20from\x20\x27waiting_for_input\x27\x20to\x20\x27running\x27\x0a\x0a**killCommand(commandId,\x20agentId)**\x0a-\x20Terminate\x20background\x20command\x20(SIGTERM\x20→\x20SIGKILL)\x0a-\x20Safe\x20to\x20call\x20on\x20already-completed\x20commands\x0a\x0a**listAgentCommands(agentId)**\x0a-\x20List\x20all\x20commands\x20(running\x20and\x20completed)\x20for\x20agent\x0a-\x20Useful\x20for\x20monitoring\x20multiple\x20background\x20processes\x0a\x0aBACKGROUND\x20COMMAND\x20WORKFLOW:\x0a1.\x20Start:\x20const\x20{commandId}\x20=\x20await\x20terminal.startBackgroundCommand(\x27npm\x20install\x27,\x20dir,\x20{agentId})\x0a2.\x20Wait:\x20Use\x20agent-delay\x20tool\x20to\x20wait\x20while\x20command\x20runs\x0a3.\x20Check:\x20const\x20status\x20=\x20terminal.getCommandStatus(commandId,\x20agentId)\x0a4.\x20If\x20prompt\x20detected:\x20terminal.sendInput(commandId,\x20\x27y\x27,\x20agentId)\x0a5.\x20Verify:\x20Check\x20status.state\x20===\x20\x27completed\x27\x20&&\x20status.exitCode\x20===\x200\x0a\x0aEXAMPLES:\x0aBasic\x20command\x20execution:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>npm\x20install</run-command>\x0a[/tool]\x0a\x0aExecute\x20curl\x20command:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>curl\x20-s\x20https://api.github.com/zen</run-command>\x0a[/tool]\x0a\x0aChange\x20directory\x20and\x20run\x20command:\x0a[tool\x20id=\x22terminal\x22]\x0a<change-directory>../frontend</change-directory>\x0a<run-command>npm\x20run\x20build</run-command>\x0a[/tool]\x0a\x0aPackage\x20management:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>pip\x20install\x20-r\x20requirements.txt</run-command>\x0a[/tool]\x0a\x0aGit\x20operations:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>git\x20status</run-command>\x0a[/tool]\x0a\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>git\x20add\x20.</run-command>\x0a<run-command>git\x20commit\x20-m\x20\x22Update\x20files\x22</run-command>\x0a[/tool]\x0a\x0aDirectory\x20operations\x20(if\x20FileSystem\x20tool\x20unavailable):\x0a[tool\x20id=\x22terminal\x22]\x0a<create-directory>backend</create-directory>\x0a[/tool]\x0a\x0aSECURITY\x20NOTES:\x0a-\x20Dangerous\x20commands\x20are\x20blocked\x20for\x20safety\x0a-\x20Commands\x20execute\x20in\x20isolated\x20environment\x0a-\x20Output\x20is\x20captured\x20and\x20returned\x20safely\x0a-\x20Long-running\x20commands\x20may\x20time\x20out\x20-\x20use\x20agent-delay\x20tool\x20to\x20wait\x0a\x0aBEST\x20PRACTICES:\x0a-\x20Use\x20FileSystem\x20tool\x20for\x20file/directory\x20creation\x20and\x20management\x0a-\x20Use\x20Terminal\x20tool\x20for\x20command-line\x20utilities\x20(npm,\x20git,\x20curl,\x20grep,\x20etc.)\x0a-\x20After\x20starting\x20long-running\x20commands,\x20use\x20agent-delay\x20tool\x20to\x20pause\x20checking\x0a-\x20Always\x20check\x20command\x20output\x20to\x20verify\x20success\x0a\x0aCURRENT\x20DIRECTORY:\x0aThe\x20tool\x20maintains\x20a\x20current\x20working\x20directory\x20context\x20per\x20agent.\x0aUse\x20change-directory\x20to\x20navigate,\x20and\x20subsequent\x20commands\x20will\x20execute\x20from\x20that\x20location.\x0a\x20\x20\x20\x20';}[a0_0x5a9af9(0x90)](_0x25707d){const _0x1dbf09=a0_0x5a9af9;try{const _0x3d6dfb={},_0x4ae1c3=a0_0x4ecd37['extractContent'](_0x25707d,_0x1dbf09(0x1c7)),_0x633eb2=a0_0x4ecd37['extractContent'](_0x25707d,'change-directory'),_0x11d774=a0_0x4ecd37['extractContent'](_0x25707d,_0x1dbf09(0x95)),_0x4c2d0a=a0_0x4ecd37[_0x1dbf09(0xbf)](_0x25707d,_0x1dbf09(0xb6)),_0x5ce9ea=a0_0x4ecd37['extractContent'](_0x25707d,_0x1dbf09(0xfc)),_0x1da4b2=a0_0x4ecd37['extractContent'](_0x25707d,_0x1dbf09(0xec)),_0x266875=a0_0x4ecd37['extractContent'](_0x25707d,'async'),_0x36496d=[];return _0x4ae1c3[_0x1dbf09(0x92)]>0x0&&_0x36496d['push']({'type':_0x1dbf09(0x1c7),'command':_0x4ae1c3[0x0]['trim']()}),_0x633eb2[_0x1dbf09(0x92)]>0x0&&_0x36496d['push']({'type':_0x1dbf09(0xc5),'directory':_0x633eb2[0x0]['trim']()}),_0x11d774['length']>0x0&&_0x36496d['push']({'type':_0x1dbf09(0x95),'directory':_0x11d774[0x0][_0x1dbf09(0xc7)]()||'.'}),_0x4c2d0a[_0x1dbf09(0x92)]>0x0&&_0x36496d['push']({'type':_0x1dbf09(0xb6),'directory':_0x4c2d0a[0x0]['trim']()}),_0x5ce9ea['length']>0x0&&_0x36496d[_0x1dbf09(0xb5)]({'type':_0x1dbf09(0xfc)}),_0x3d6dfb[_0x1dbf09(0x119)]=_0x36496d,_0x1da4b2[_0x1dbf09(0x92)]>0x0&&(_0x3d6dfb[_0x1dbf09(0xec)]=parseInt(_0x1da4b2[0x0],0xa)),_0x266875['length']>0x0&&(_0x3d6dfb[_0x1dbf09(0x1c0)]=_0x266875[0x0]['toLowerCase']()==='true'),_0x3d6dfb[_0x1dbf09(0x120)]=_0x25707d['trim'](),_0x3d6dfb;}catch(_0x234bc6){throw new Error('Failed\x20to\x20parse\x20terminal\x20parameters:\x20'+_0x234bc6['message']);}}['getRequiredParameters'](){const _0x520d95=a0_0x5a9af9;return[_0x520d95(0x119)];}[a0_0x5a9af9(0x18a)](_0x4d58cd){const _0xc848ca=a0_0x5a9af9,_0x264e2f=[];if(!_0x4d58cd['actions']||!Array['isArray'](_0x4d58cd['actions'])||_0x4d58cd[_0xc848ca(0x119)][_0xc848ca(0x92)]===0x0)_0x264e2f[_0xc848ca(0xb5)]('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x41dfae,_0x16dddf]of _0x4d58cd[_0xc848ca(0x119)][_0xc848ca(0x193)]()){if(!_0x16dddf['type']){_0x264e2f['push']('Action\x20'+(_0x41dfae+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x16dddf['type']){case _0xc848ca(0x1c7):if(!_0x16dddf['command']||!_0x16dddf[_0xc848ca(0xb1)]['trim']())_0x264e2f[_0xc848ca(0xb5)](_0xc848ca(0x1b8)+(_0x41dfae+0x1)+_0xc848ca(0xa8));else{if(this['isBlockedCommand'](_0x16dddf[_0xc848ca(0xb1)]))_0x264e2f[_0xc848ca(0xb5)]('Action\x20'+(_0x41dfae+0x1)+_0xc848ca(0x178)+_0x16dddf['command']);else this[_0xc848ca(0xb8)]&&!this[_0xc848ca(0x10d)](_0x16dddf['command'])&&_0x264e2f['push'](_0xc848ca(0x1b8)+(_0x41dfae+0x1)+_0xc848ca(0x14f)+_0x16dddf[_0xc848ca(0xb1)]);}break;case'change-directory':case _0xc848ca(0x95):case'create-directory':(!_0x16dddf['directory']||!_0x16dddf['directory']['trim']())&&_0x264e2f[_0xc848ca(0xb5)](_0xc848ca(0x1b8)+(_0x41dfae+0x1)+_0xc848ca(0x144)+_0x16dddf['type']);break;case'get-working-directory':break;default:_0x264e2f[_0xc848ca(0xb5)]('Action\x20'+(_0x41dfae+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x16dddf['type']);}}return _0x4d58cd[_0xc848ca(0xec)]&&(_0x4d58cd['timeout']<0x3e8||_0x4d58cd[_0xc848ca(0xec)]>this['timeout'])&&_0x264e2f[_0xc848ca(0xb5)]('Timeout\x20must\x20be\x20between\x201000\x20and\x20'+this['timeout']+'\x20milliseconds'),{'valid':_0x264e2f[_0xc848ca(0x92)]===0x0,'errors':_0x264e2f};}async[a0_0x5a9af9(0x100)](_0x44788d,_0x3c5710){const _0x39d307=a0_0x5a9af9,{actions:_0x197349,timeout:_0x51924e,async:_0x3fc5a3}=_0x44788d,{agentId:_0x487208,projectDir:_0x266e5d,directoryAccess:_0x1276b2}=_0x3c5710,_0x26be81=_0x1276b2||this[_0x39d307(0xa7)][_0x39d307(0xf1)]({'workingDirectory':_0x266e5d||process['cwd'](),'writeEnabledDirectories':[_0x266e5d||process[_0x39d307(0xfa)]()],'restrictToProject':!![]});_0x1276b2&&_0x1276b2['workingDirectory']?console['log'](_0x39d307(0x107),_0x1276b2['workingDirectory']):console['log']('Terminal\x20DEBUG:\x20Using\x20fallback\x20working\x20directory:',_0x266e5d||process['cwd']());const _0x388f74=_0x487208+'-'+(_0x266e5d||'default');let _0x1b9590=this['workingDirectories']['get'](_0x388f74)||this[_0x39d307(0xa7)]['getWorkingDirectory'](_0x26be81);const _0x1a5989=[];for(const _0x3da276 of _0x197349){try{let _0x420107;switch(_0x3da276['type']){case'run-command':_0x420107=await this['executeCommand'](_0x3da276[_0x39d307(0xb1)],_0x1b9590,{'timeout':_0x51924e||this['timeout'],'async':_0x3fc5a3||![],'agentId':_0x487208,'context':{'toolsRegistry':_0x3c5710[_0x39d307(0x117)],'aiService':_0x3c5710[_0x39d307(0xdf)],'apiKey':_0x3c5710[_0x39d307(0x105)],'customApiKeys':_0x3c5710['customApiKeys'],'platformProvided':_0x3c5710['platformProvided']}});break;case'change-directory':_0x420107=await this['changeDirectory'](_0x3da276[_0x39d307(0x15c)],_0x1b9590,_0x26be81),_0x1b9590=_0x420107['newDirectory'],this[_0x39d307(0xaf)]['set'](_0x388f74,_0x1b9590);break;case _0x39d307(0x95):_0x420107=await this[_0x39d307(0x146)](_0x3da276['directory']==='.'?_0x1b9590:_0x3da276[_0x39d307(0x15c)]);break;case'create-directory':_0x420107=await this[_0x39d307(0x12c)](_0x3da276[_0x39d307(0x15c)],_0x1b9590);break;case _0x39d307(0xfc):_0x420107={'success':!![],'action':_0x39d307(0xfc),'workingDirectory':_0x1b9590,'message':'Current\x20working\x20directory:\x20'+_0x1b9590};break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x3da276['type']);}_0x1a5989[_0x39d307(0xb5)](_0x420107),this[_0x39d307(0x11e)](_0x3da276,_0x420107,_0x487208);}catch(_0x3061ea){const _0x2bd131={'success':![],'action':_0x3da276[_0x39d307(0xdd)],'error':_0x3061ea['message'],'command':_0x3da276['command']||_0x3da276['directory'],'workingDirectory':_0x1b9590};_0x1a5989['push'](_0x2bd131),this['addToHistory'](_0x3da276,_0x2bd131,_0x487208);}}const _0x1bc5e6=_0x1a5989[_0x39d307(0x15f)](_0x273242=>_0x273242['success']),_0x4886f7=_0x1a5989['filter'](_0x15f3c5=>!_0x15f3c5[_0x39d307(0x109)]);return{'success':_0x1bc5e6,'actions':_0x1a5989,'workingDirectory':_0x1b9590,'executedActions':_0x197349[_0x39d307(0x92)],'failedActions':_0x4886f7[_0x39d307(0x92)],'toolUsed':_0x39d307(0x19e),'message':_0x1bc5e6?_0x39d307(0x1a9)+_0x197349['length']+_0x39d307(0xc8):_0x4886f7[_0x39d307(0x92)]+_0x39d307(0x9b)+_0x197349['length']+_0x39d307(0x1bb)};}async['executeCommand'](_0x2b1080,_0x1bb830,_0xd7d0b1={}){const _0x2085f0=a0_0x5a9af9,{timeout:timeout=this['timeout'],async:_0x2e765b=![],agentId:_0xbd108e,context:_0x8a5749}=_0xd7d0b1,_0x855476=_0x2b1080;let _0x432388;try{_0x432388=await this['translateCommand'](_0x2b1080,{'agentId':_0xbd108e,'toolsRegistry':_0x8a5749?.['toolsRegistry'],'messageProcessor':_0x8a5749?.[_0x2085f0(0x196)],'aiService':_0x8a5749?.['aiService'],'apiKey':_0x8a5749?.[_0x2085f0(0x105)],'customApiKeys':_0x8a5749?.['customApiKeys'],'platformProvided':_0x8a5749?.['platformProvided']});}catch(_0x365d80){this[_0x2085f0(0xd5)]?.[_0x2085f0(0x139)](_0x2085f0(0x142),{'originalCommand':_0x855476,'error':_0x365d80['message']}),_0x432388=_0x2b1080;}return new Promise((_0x196220,_0x1f7b40)=>{const _0x27a12e=_0x2085f0,_0x125582=Date[_0x27a12e(0xb7)]();this[_0x27a12e(0xd5)]?.[_0x27a12e(0x181)](_0x27a12e(0x189)+_0x432388,{'originalCommand':_0x855476,'translatedCommand':_0x432388,'terminal':this[_0x27a12e(0x17b)],'workingDirectory':_0x1bb830,'timeout':timeout,'agentId':_0xbd108e});const _0x268808=exec(_0x432388,{'cwd':_0x1bb830,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process[_0x27a12e(0x1c4)]}},(_0x34ab41,_0x41837f,_0x2a62e5)=>{const _0xca879a=_0x27a12e,_0x53e80b=Date[_0xca879a(0xb7)]()-_0x125582;if(_0x34ab41){this[_0xca879a(0xd5)]?.[_0xca879a(0x12b)]('Command\x20failed:\x20'+_0x432388,{'originalCommand':_0x855476,'translatedCommand':_0x432388,'error':_0x34ab41['message'],'workingDirectory':_0x1bb830,'executionTime':_0x53e80b}),_0x196220({'success':![],'action':'run-command','command':_0x855476,'translatedCommand':_0x432388!==_0x855476?_0x432388:undefined,'error':_0x34ab41['message'],'stderr':_0x2a62e5['trim'](),'stdout':_0x41837f['trim'](),'exitCode':_0x34ab41[_0xca879a(0x11c)],'executionTime':_0x53e80b,'workingDirectory':_0x1bb830});return;}this['logger']?.['info'](_0xca879a(0x1b1)+_0x432388,{'originalCommand':_0x855476,'translatedCommand':_0x432388,'executionTime':_0x53e80b,'stdoutLength':_0x41837f[_0xca879a(0x92)],'stderrLength':_0x2a62e5[_0xca879a(0x92)]}),_0x196220({'success':!![],'action':_0xca879a(0x1c7),'command':_0x855476,'translatedCommand':_0x432388!==_0x855476?_0x432388:undefined,'stdout':_0x41837f['trim'](),'stderr':_0x2a62e5[_0xca879a(0xc7)](),'exitCode':0x0,'executionTime':_0x53e80b,'workingDirectory':_0x1bb830,'message':_0xca879a(0x172)+_0x53e80b+'ms'});});setTimeout(()=>{const _0x2f8325=_0x27a12e;!_0x268808['killed']&&(_0x268808[_0x2f8325(0x108)](_0x2f8325(0x122)),_0x1f7b40(new Error(_0x2f8325(0x153)+timeout+'ms:\x20'+_0x432388+_0x2f8325(0x1a0)+_0x855476+')')));},timeout);});}async[a0_0x5a9af9(0xff)](_0x4b572f,_0x32e7c9,_0x312136={}){const _0x1988d5=a0_0x5a9af9,{timeout:timeout=this[_0x1988d5(0xec)],agentId:_0xde511,context:_0x51bb4f}=_0x312136,_0x2136d0=_0x4b572f;let _0x16799f;try{_0x16799f=await this[_0x1988d5(0xe4)](_0x4b572f,{'agentId':_0xde511,'toolsRegistry':_0x51bb4f?.['toolsRegistry'],'messageProcessor':_0x51bb4f?.[_0x1988d5(0x196)],'aiService':_0x51bb4f?.[_0x1988d5(0xdf)],'apiKey':_0x51bb4f?.['apiKey'],'customApiKeys':_0x51bb4f?.[_0x1988d5(0x102)],'platformProvided':_0x51bb4f?.[_0x1988d5(0xf7)]});}catch(_0x846a9b){this[_0x1988d5(0xd5)]?.[_0x1988d5(0x139)]('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x2136d0,'error':_0x846a9b['message']}),_0x16799f=_0x4b572f;}return new Promise((_0x32d80d,_0x45121a)=>{const _0x43e7ec=_0x1988d5,_0x2273b6=Date['now']();this[_0x43e7ec(0xd5)]?.[_0x43e7ec(0x181)](_0x43e7ec(0x143)+_0x16799f,{'originalCommand':_0x2136d0,'translatedCommand':_0x16799f,'terminal':this['detectedTerminal'],'workingDirectory':_0x32e7c9,'timeout':timeout,'agentId':_0xde511});let _0x7980c;if(this['detectedTerminal']==='cmd'||this['detectedTerminal']==='powershell'){const _0x48615a=this[_0x43e7ec(0x17b)]==='powershell'?_0x43e7ec(0x112):_0x43e7ec(0x149),_0x5e2b75=this['detectedTerminal']===_0x43e7ec(0x112)?[_0x43e7ec(0xd6),_0x16799f]:['/c',_0x16799f];_0x7980c=spawn(_0x48615a,_0x5e2b75,{'cwd':_0x32e7c9,'env':{...process['env']},'windowsHide':!![]});}else _0x7980c=spawn('sh',['-c',_0x16799f],{'cwd':_0x32e7c9,'env':{...process['env']}});let _0x4868d6='',_0x37bf47='',_0x3a0525=![],_0x4fefe1=null,_0x169af2=Date[_0x43e7ec(0xb7)](),_0x212f1d=null;const _0x105234=setTimeout(()=>{const _0x438f5d=_0x43e7ec;!_0x7980c[_0x438f5d(0x10a)]&&_0x4fefe1===null&&(_0x3a0525=!![],this['logger']?.[_0x438f5d(0x139)](_0x438f5d(0x1a5)+_0x16799f,{'timeout':timeout,'agentId':_0xde511}),_0x7980c['kill'](_0x438f5d(0x122)),setTimeout(()=>{const _0x3485e1=_0x438f5d;!_0x7980c['killed']&&_0x7980c[_0x3485e1(0x108)]('SIGKILL');},0x1388));},timeout);_0x7980c[_0x43e7ec(0xd1)]['on'](_0x43e7ec(0x93),_0x3798db=>{const _0x355b49=_0x43e7ec,_0x3012c3=_0x3798db[_0x355b49(0xe2)]();_0x4868d6+=_0x3012c3,_0x169af2=Date[_0x355b49(0xb7)](),this['logger']?.[_0x355b49(0x138)]('Command\x20output\x20chunk:\x20'+_0x3012c3[_0x355b49(0x1bf)](0x0,0x64),{'agentId':_0xde511,'command':_0x2136d0[_0x355b49(0x1bf)](0x0,0x32)});if(!_0x212f1d){const _0x42dc19=this['promptDetector']['detectPrompt'](_0x4868d6,'stdout');_0x42dc19&&(_0x212f1d=_0x42dc19,this[_0x355b49(0xd5)]?.['info']('Prompt\x20detected\x20in\x20stdout',{'type':_0x42dc19['type'],'description':_0x42dc19[_0x355b49(0xbd)],'matchedText':_0x42dc19[_0x355b49(0x13a)],'agentId':_0xde511,'command':_0x2136d0[_0x355b49(0x1bf)](0x0,0x32)}));}}),_0x7980c[_0x43e7ec(0x1b4)]['on'](_0x43e7ec(0x93),_0x10a607=>{const _0x58fa1c=_0x43e7ec,_0x2af834=_0x10a607['toString']();_0x37bf47+=_0x2af834,_0x169af2=Date['now'](),this[_0x58fa1c(0xd5)]?.[_0x58fa1c(0x138)]('Command\x20error\x20chunk:\x20'+_0x2af834['substring'](0x0,0x64),{'agentId':_0xde511,'command':_0x2136d0[_0x58fa1c(0x1bf)](0x0,0x32)});if(!_0x212f1d){const _0x256cbd=this['promptDetector'][_0x58fa1c(0xcf)](_0x37bf47,_0x58fa1c(0x1b4));_0x256cbd&&(_0x212f1d=_0x256cbd,this['logger']?.[_0x58fa1c(0x181)](_0x58fa1c(0x180),{'type':_0x256cbd[_0x58fa1c(0xdd)],'description':_0x256cbd['description'],'matchedText':_0x256cbd['matchedText'],'agentId':_0xde511,'command':_0x2136d0['substring'](0x0,0x32)}));}}),_0x7980c['on']('exit',(_0x1b9861,_0x123e3b)=>{const _0x19f882=_0x43e7ec;clearTimeout(_0x105234),_0x4fefe1=_0x1b9861;const _0x216302=Date[_0x19f882(0xb7)]()-_0x2273b6,_0xd57675=Date['now']()-_0x169af2;this[_0x19f882(0xd5)]?.['info']('Command\x20process\x20exited:\x20'+_0x16799f,{'exitCode':_0x1b9861,'signal':_0x123e3b,'executionTime':_0x216302,'timedOut':_0x3a0525,'stdoutLength':_0x4868d6[_0x19f882(0x92)],'stderrLength':_0x37bf47[_0x19f882(0x92)],'promptDetected':!!_0x212f1d,'timeSinceLastOutput':_0xd57675});const _0x42fa58={'action':'run-command','command':_0x2136d0,'translatedCommand':_0x16799f!==_0x2136d0?_0x16799f:undefined,'stdout':_0x4868d6['trim'](),'stderr':_0x37bf47['trim'](),'exitCode':_0x1b9861,'executionTime':_0x216302,'workingDirectory':_0x32e7c9,'promptDetected':!!_0x212f1d,'promptInfo':_0x212f1d||undefined,'lastOutputTime':_0x169af2,'timeSinceLastOutput':_0xd57675};if(_0x3a0525){_0x32d80d({..._0x42fa58,'success':![],'error':'Command\x20timed\x20out\x20after\x20'+timeout+'ms','exitCode':_0x1b9861||-0x1,'timedOut':!![]});return;}if(_0x1b9861!==0x0){this['logger']?.['error'](_0x19f882(0xaa)+_0x1b9861+':\x20'+_0x16799f,{'originalCommand':_0x2136d0,'translatedCommand':_0x16799f,'exitCode':_0x1b9861,'stderr':_0x37bf47['substring'](0x0,0xc8),'executionTime':_0x216302,'promptDetected':!!_0x212f1d}),_0x32d80d({..._0x42fa58,'success':![],'error':_0x19f882(0x1ba)+_0x1b9861});return;}this['logger']?.['info']('Command\x20completed\x20successfully:\x20'+_0x16799f,{'originalCommand':_0x2136d0,'executionTime':_0x216302,'stdoutLength':_0x4868d6['length'],'stderrLength':_0x37bf47['length'],'promptDetected':!!_0x212f1d}),_0x32d80d({..._0x42fa58,'success':!![],'exitCode':0x0,'message':_0x19f882(0x172)+_0x216302+'ms'});}),_0x7980c['on'](_0x43e7ec(0x12b),_0x108265=>{const _0x2d2906=_0x43e7ec;clearTimeout(_0x105234);const _0x25f0e3=Date[_0x2d2906(0xb7)]()-_0x2273b6,_0x531b1b=Date['now']()-_0x169af2;this['logger']?.['error'](_0x2d2906(0xda)+_0x16799f,{'originalCommand':_0x2136d0,'error':_0x108265[_0x2d2906(0x1b2)],'executionTime':_0x25f0e3,'promptDetected':!!_0x212f1d}),_0x32d80d({'success':![],'action':_0x2d2906(0x1c7),'command':_0x2136d0,'translatedCommand':_0x16799f!==_0x2136d0?_0x16799f:undefined,'error':_0x108265[_0x2d2906(0x1b2)],'stderr':_0x37bf47[_0x2d2906(0xc7)](),'stdout':_0x4868d6['trim'](),'exitCode':-0x1,'executionTime':_0x25f0e3,'workingDirectory':_0x32e7c9,'promptDetected':!!_0x212f1d,'promptInfo':_0x212f1d||undefined,'lastOutputTime':_0x169af2,'timeSinceLastOutput':_0x531b1b});});});}async['changeDirectory'](_0x23bdd5,_0x1573c3,_0x42711b){const _0x3c8021=a0_0x5a9af9;try{let _0x49928f;a0_0x1a5691['isAbsolute'](_0x23bdd5)?_0x49928f=_0x23bdd5:_0x49928f=a0_0x1a5691['resolve'](_0x1573c3,_0x23bdd5);const _0x39ebae=await a0_0x2d9a73['stat'](_0x49928f);if(!_0x39ebae['isDirectory']())throw new Error(_0x3c8021(0x1aa)+_0x49928f);const _0x32482c=this['directoryAccessManager'][_0x3c8021(0x12a)](_0x49928f,_0x42711b);if(!_0x32482c[_0x3c8021(0x96)]){this[_0x3c8021(0xd5)]?.['warn']('Directory\x20change\x20blocked:\x20'+_0x32482c[_0x3c8021(0xe7)],{'targetDirectory':_0x49928f,'reason':_0x32482c['reason'],'category':_0x32482c['category']});throw new Error(_0x3c8021(0x195)+_0x32482c[_0x3c8021(0xe7)]);}return{'success':!![],'action':'change-directory','previousDirectory':_0x1573c3,'newDirectory':_0x49928f,'message':_0x3c8021(0x1c1)+_0x49928f};}catch(_0x481b3d){throw new Error(_0x3c8021(0x118)+_0x23bdd5+':\x20'+_0x481b3d[_0x3c8021(0x1b2)]);}}async[a0_0x5a9af9(0x146)](_0x5c841a){const _0x78d7ef=a0_0x5a9af9;try{const _0x1f8839=await a0_0x2d9a73[_0x78d7ef(0xca)](_0x5c841a,{'withFileTypes':!![]}),_0x152679=_0x1f8839[_0x78d7ef(0x141)](_0x291110=>({'name':_0x291110[_0x78d7ef(0x18b)],'type':_0x291110[_0x78d7ef(0x135)]()?'directory':'file','isSymlink':_0x291110[_0x78d7ef(0x158)]()}));return{'success':!![],'action':_0x78d7ef(0x95),'directory':_0x5c841a,'contents':_0x152679,'totalItems':_0x152679[_0x78d7ef(0x92)],'directories':_0x152679['filter'](_0x1b69b7=>_0x1b69b7[_0x78d7ef(0xdd)]==='directory')[_0x78d7ef(0x92)],'files':_0x152679['filter'](_0x34254a=>_0x34254a[_0x78d7ef(0xdd)]==='file')[_0x78d7ef(0x92)],'message':_0x78d7ef(0xb9)+_0x152679['length']+_0x78d7ef(0x11d)+_0x5c841a};}catch(_0x5b25dd){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0x5c841a+':\x20'+_0x5b25dd['message']);}}async[a0_0x5a9af9(0x12c)](_0x1d75b1,_0x291223){const _0x201ec6=a0_0x5a9af9;try{let _0x115d75;return a0_0x1a5691[_0x201ec6(0x16f)](_0x1d75b1)?_0x115d75=_0x1d75b1:_0x115d75=a0_0x1a5691[_0x201ec6(0x103)](_0x291223,_0x1d75b1),await a0_0x2d9a73['mkdir'](_0x115d75,{'recursive':!![]}),{'success':!![],'action':'create-directory','directory':_0x115d75,'relativePath':a0_0x1a5691['relative'](_0x291223,_0x115d75),'message':'Created\x20directory:\x20'+_0x115d75};}catch(_0xeb4c5b){throw new Error(_0x201ec6(0x126)+_0x1d75b1+':\x20'+_0xeb4c5b['message']);}}['isBlockedCommand'](_0x22d3d6){const _0x328c97=a0_0x5a9af9,_0x16dd2e=_0x22d3d6['toLowerCase']()['trim']();return this[_0x328c97(0x17a)][_0x328c97(0x173)](_0x3ac5bf=>{const _0x951f3d=_0x328c97,_0x2e14e6=_0x3ac5bf['toLowerCase']();return _0x16dd2e===_0x2e14e6||_0x16dd2e[_0x951f3d(0x94)](_0x2e14e6+'\x20');});}[a0_0x5a9af9(0x10d)](_0x3585aa){const _0x33d235=a0_0x5a9af9;if(!this['allowedCommands'])return!![];const _0x5c7091=_0x3585aa['toLowerCase']()[_0x33d235(0xc7)](),_0x4de41c=_0x5c7091[_0x33d235(0xc9)]('\x20')[0x0];return this[_0x33d235(0xb8)]['some'](_0xd0ae51=>_0xd0ae51[_0x33d235(0x12f)]()===_0x4de41c||_0x5c7091[_0x33d235(0x94)](_0xd0ae51['toLowerCase']()+'\x20'));}['addToHistory'](_0x4f96d5,_0x42b98b,_0x347a1a){const _0x898820=a0_0x5a9af9,_0x36e2f7={'timestamp':new Date()[_0x898820(0x13c)](),'agentId':_0x347a1a,'action':_0x4f96d5['type'],'command':_0x4f96d5['command']||_0x4f96d5[_0x898820(0x15c)],'success':_0x42b98b[_0x898820(0x109)],'executionTime':_0x42b98b['executionTime']||0x0,'workingDirectory':_0x42b98b['workingDirectory']};this[_0x898820(0x164)]['push'](_0x36e2f7),this['commandHistory'][_0x898820(0x92)]>0x64&&(this[_0x898820(0x164)]=this[_0x898820(0x164)]['slice'](-0x64));}['getSupportedActions'](){const _0x981428=a0_0x5a9af9;return['run-command',_0x981428(0xc5),_0x981428(0x95),_0x981428(0xb6),_0x981428(0xfc)];}[a0_0x5a9af9(0x101)](){const _0x4fddf1=a0_0x5a9af9;return{'type':'object','properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':_0x4fddf1(0x151),'properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'command':{'type':'string'},'directory':{'type':'string'}},'required':[_0x4fddf1(0xdd)]}},'timeout':{'type':'integer','minimum':0x3e8,'maximum':this[_0x4fddf1(0xec)]},'async':{'type':_0x4fddf1(0xf3)}},'required':[_0x4fddf1(0x119)]};}['getCommandHistory'](_0x5abf39=null){const _0x29ffc1=a0_0x5a9af9;if(_0x5abf39)return this['commandHistory'][_0x29ffc1(0x1a3)](_0x1f39bf=>_0x1f39bf['agentId']===_0x5abf39);return[...this[_0x29ffc1(0x164)]];}['clearWorkingDirectory'](_0x4731d9){const _0x15e19d=a0_0x5a9af9;for(const [_0x4f9384]of this['workingDirectories']){_0x4f9384['startsWith'](_0x4731d9+'-')&&this['workingDirectories'][_0x15e19d(0xcd)](_0x4f9384);}}['getCurrentWorkingDirectory'](_0x3109ad,_0x1d25a0=null){const _0x3f97aa=a0_0x5a9af9,_0x4afb76=_0x3109ad+'-'+(_0x1d25a0||'default');return this['workingDirectories'][_0x3f97aa(0xa1)](_0x4afb76)||_0x1d25a0||process['cwd']();}['initializeTerminalDetection'](){const _0x1427da=a0_0x5a9af9;this['platformType']=process[_0x1427da(0x99)];if(process['platform']===_0x1427da(0x1a2)){if(process['env']['PSModulePath'])this['detectedTerminal']=_0x1427da(0x112);else process[_0x1427da(0x1c4)][_0x1427da(0x1c6)]&&process['env']['SHELL']['includes']('bash')?this[_0x1427da(0x17b)]=_0x1427da(0xcc):this[_0x1427da(0x17b)]=_0x1427da(0x149);}else process[_0x1427da(0x99)]===_0x1427da(0x1b5)?this['detectedTerminal']='bash':this[_0x1427da(0x17b)]=_0x1427da(0xcc);this[_0x1427da(0xd5)]?.[_0x1427da(0x181)](_0x1427da(0x174),{'platform':this['platformType'],'terminal':this[_0x1427da(0x17b)],'shell':process['env']['SHELL']});}async['translateCommand'](_0x32a621,_0x2ef8dd={}){const _0x304da7=a0_0x5a9af9,_0x135839=_0x32a621['trim'](),_0xd802ea=this['analyzeCommandCompatibility'](_0x135839);this['logger']?.[_0x304da7(0x181)](_0x304da7(0x1c5),{'command':_0x135839,'detectedTerminal':_0xd802ea['detectedTerminal'],'commandType':_0xd802ea[_0x304da7(0x147)],'commandCategory':_0xd802ea['commandCategory'],'compatible':_0xd802ea['compatible'],'issues':_0xd802ea[_0x304da7(0x8f)],'suggestedAction':_0xd802ea['suggestedAction'],'confidence':_0xd802ea[_0x304da7(0x1cb)]});if(_0xd802ea['compatible'])return _0x32a621;let _0x693cde=null;if(this['detectedTerminal']==='cmd')_0x693cde=this['translateToWindowsCmd'](_0x135839);else{if(this[_0x304da7(0x17b)]==='powershell')_0x693cde=this['translateToPowerShell'](_0x135839);else this[_0x304da7(0x17b)]==='bash'&&(_0x693cde=this['translateToBash'](_0x135839));}if(_0x693cde&&this[_0x304da7(0x171)](_0x135839))return this['logger']?.[_0x304da7(0x181)]('Using\x20simple\x20translation',{'original':_0x32a621,'translated':_0x693cde,'method':_0x304da7(0x113)}),_0x693cde;if(_0x2ef8dd[_0x304da7(0xdf)]||_0x2ef8dd[_0x304da7(0x117)]&&_0x2ef8dd[_0x304da7(0x187)]){this[_0x304da7(0xd5)]?.[_0x304da7(0x181)](_0x304da7(0xed),{'command':_0x32a621['substring'](0x0,0x64)+'...','hasAiService':!!_0x2ef8dd['aiService'],'hasToolsRegistry':!!_0x2ef8dd[_0x304da7(0x117)],'agentId':_0x2ef8dd[_0x304da7(0x187)]});try{const _0x171828=await this['translateCommandWithAI'](_0x32a621,_0x2ef8dd);if(_0x171828&&_0x171828[_0x304da7(0xc7)]()!==_0x32a621[_0x304da7(0xc7)]())return this[_0x304da7(0xd5)]?.[_0x304da7(0x181)](_0x304da7(0x1cc),{'original':_0x32a621,'translated':_0x171828,'method':'ai'}),_0x171828;else this['logger']?.['warn'](_0x304da7(0x14b),{'original':_0x32a621,'translated':_0x171828});}catch(_0x4cb5fb){this['logger']?.[_0x304da7(0x139)]('AI\x20translation\x20failed,\x20falling\x20back\x20to\x20simple\x20translation',{'original':_0x32a621,'error':_0x4cb5fb[_0x304da7(0x1b2)],'stack':_0x4cb5fb['stack']});}}else this[_0x304da7(0xd5)]?.['warn'](_0x304da7(0x9a),{'hasAiService':!!_0x2ef8dd[_0x304da7(0xdf)],'hasToolsRegistry':!!_0x2ef8dd[_0x304da7(0x117)],'hasAgentId':!!_0x2ef8dd[_0x304da7(0x187)],'contextKeys':Object[_0x304da7(0xb4)](_0x2ef8dd)});return _0x693cde||_0x32a621;}['isSimpleCommand'](_0x288d03){const _0x411fa4=a0_0x5a9af9,_0x12fcf2=_0x288d03[_0x411fa4(0x12f)]();if(_0x288d03[_0x411fa4(0x1b3)]('\x5cn')||_0x288d03[_0x411fa4(0x1b3)]('\x5cr')||_0x288d03[_0x411fa4(0x1b3)]('\x5ct'))return![];if(_0x288d03['includes']('\x0a')||_0x288d03[_0x411fa4(0x1b3)]('\x0d'))return![];if(_0x288d03['includes']('#include')||_0x288d03['includes'](_0x411fa4(0x15d))||_0x288d03[_0x411fa4(0x1b3)]('main()'))return![];if(_0x288d03['includes'](_0x411fa4(0x1c9))||_0x288d03[_0x411fa4(0x1b3)](_0x411fa4(0xc3))||_0x288d03[_0x411fa4(0x1b3)]('class\x20'))return![];if(_0x288d03['includes']('echo\x20\x27')&&!_0x288d03[_0x411fa4(0x1b3)](_0x411fa4(0x18d)))return![];const _0x2008c3=_0x288d03[_0x411fa4(0xac)](/'([^']*)'/);if(_0x2008c3&&_0x2008c3[0x1]['length']>0x32)return![];if(this['detectedTerminal']==='cmd'&&_0x288d03['includes']('>')&&_0x288d03[_0x411fa4(0x1b3)]('/')&&!_0x288d03[_0x411fa4(0x1b3)]('\x5c'))return![];if(_0x288d03['includes']('\x20&&\x20')||_0x288d03['includes'](_0x411fa4(0xfb))||_0x288d03['includes'](';\x20'))return![];if(_0x288d03[_0x411fa4(0x1b3)]('$(')||_0x288d03['includes']('`')||_0x288d03[_0x411fa4(0x1b3)]('{')||_0x288d03['includes']('['))return![];if(_0x12fcf2[_0x411fa4(0x1b3)]('for\x20')||_0x12fcf2[_0x411fa4(0x1b3)]('while\x20')||_0x12fcf2[_0x411fa4(0x1b3)]('if\x20'))return![];if(_0x12fcf2['includes']('export ')||_0x12fcf2['includes'](_0x411fa4(0xd4)))return![];if(_0x288d03['includes'](_0x411fa4(0x145))||_0x288d03[_0x411fa4(0x1b3)](_0x411fa4(0x9d)))return![];return!![];}async['translateCommandWithAI'](_0x150cf1,_0x4857c7){const _0x5c1b30=a0_0x5a9af9;let _0x1c7f34=_0x4857c7[_0x5c1b30(0xdf)];if(!_0x1c7f34&&_0x4857c7['toolsRegistry']&&_0x4857c7['agentId']){const _0x55c5c1=_0x4857c7['messageProcessor'];_0x55c5c1&&_0x55c5c1[_0x5c1b30(0xdf)]&&(_0x1c7f34=_0x55c5c1[_0x5c1b30(0xdf)]);}if(!_0x1c7f34)throw new Error('AI\x20service\x20not\x20available\x20for\x20command\x20translation');const _0x4bfcbf=this[_0x5c1b30(0x15a)](_0x150cf1),_0xc607de='gpt-4-mini';try{const _0x43e247=await _0x1c7f34['sendMessage'](_0xc607de,_0x4bfcbf,{'agentId':_0x4857c7['agentId'],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x4857c7[_0x5c1b30(0x105)],'customApiKeys':_0x4857c7[_0x5c1b30(0x102)],'platformProvided':_0x4857c7[_0x5c1b30(0xf7)]}),_0x5c270d=this[_0x5c1b30(0xfd)](_0x43e247[_0x5c1b30(0xa3)]);return this['logger']?.[_0x5c1b30(0x138)]('AI\x20command\x20translation\x20completed',{'original':_0x150cf1,'translated':_0x5c270d,'model':_0xc607de,'terminal':this[_0x5c1b30(0x17b)]}),_0x5c270d;}catch(_0x1b55c1){this[_0x5c1b30(0xd5)]?.[_0x5c1b30(0x12b)](_0x5c1b30(0xdb),{'command':_0x150cf1,'terminal':this['detectedTerminal'],'error':_0x1b55c1[_0x5c1b30(0x1b2)]});throw _0x1b55c1;}}[a0_0x5a9af9(0x15a)](_0x53eafd){const _0x268ee6=a0_0x5a9af9,_0x6c9ee0={'cmd':'Windows\x20Command\x20Prompt\x20(cmd.exe)','powershell':'Windows\x20PowerShell','bash':_0x268ee6(0x1b9)},_0x491f3e=_0x6c9ee0[this['detectedTerminal']]||this[_0x268ee6(0x17b)],_0x17aee7=this['analyzeCommandCompatibility'](_0x53eafd);let _0x5d6cb9=_0x268ee6(0x183)+_0x491f3e+':\x0a\x0aORIGINAL\x20COMMAND:\x0a```\x0a'+_0x53eafd+_0x268ee6(0x1a7)+_0x17aee7[_0x268ee6(0x147)]+_0x268ee6(0x162)+_0x17aee7['commandCategory']+'\x0a-\x20Target\x20Terminal:\x20'+_0x491f3e+_0x268ee6(0xd3)+(_0x17aee7[_0x268ee6(0x8f)]['join'](',\x20')||_0x268ee6(0xb2));return _0x17aee7[_0x268ee6(0x147)]==='unix'&&_0x17aee7['alternatives']&&_0x17aee7['alternatives'][this[_0x268ee6(0x17b)]]&&(_0x5d6cb9+=_0x268ee6(0x13e)+_0x17aee7[_0x268ee6(0x116)][this['detectedTerminal']]),_0x5d6cb9+='\x0a\x0aREQUIREMENTS:\x0a1.\x20Make\x20the\x20command\x20work\x20correctly\x20in\x20'+_0x491f3e+_0x268ee6(0xf5),_0x5d6cb9;}[a0_0x5a9af9(0xfd)](_0x3439f8){const _0x41527a=a0_0x5a9af9;let _0x5c4c23=_0x3439f8[_0x41527a(0x17d)](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x5c4c23=_0x5c4c23[_0x41527a(0x17d)](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x28ca8e=_0x5c4c23[_0x41527a(0xc7)]()[_0x41527a(0xc9)]('\x0a');return _0x28ca8e['length']>0x1&&!_0x5c4c23[_0x41527a(0x1b3)]('&&')&&!_0x5c4c23[_0x41527a(0x1b3)]('||')&&(_0x5c4c23=_0x28ca8e[0x0]['trim']()),_0x5c4c23['trim']();}['analyzeCommandCompatibility'](_0x468852){const _0x398e55=a0_0x5a9af9,_0x40b5de=this[_0x398e55(0xef)](_0x468852),_0x23232e=this[_0x398e55(0xdc)](_0x40b5de,this['detectedTerminal']);return{'compatible':_0x23232e,'detectedTerminal':this[_0x398e55(0x17b)],'commandType':_0x40b5de[_0x398e55(0xdd)],'commandCategory':_0x40b5de['category'],'specificIssues':_0x40b5de['issues'],'suggestedAction':_0x23232e?_0x398e55(0x100):'translate','confidence':_0x40b5de[_0x398e55(0x1cb)]};}[a0_0x5a9af9(0x197)](_0x58e251){const _0x6f76b4=a0_0x5a9af9;return this['analyzeCommandCompatibility'](_0x58e251)[_0x6f76b4(0x114)];}['classifyCommand'](_0x30f645){const _0x48a8be=a0_0x5a9af9,_0x11032f=_0x30f645['toLowerCase']()[_0x48a8be(0xc7)](),_0x5b6eca=_0x11032f['split']('\x20')[0x0],_0x223245=[];let _0x1067d8=0.9;const _0x14311e={'ls':{'category':_0x48a8be(0x157),'alternatives':{'cmd':'dir','powershell':'Get-ChildItem'}},'cat':{'category':_0x48a8be(0xeb),'alternatives':{'cmd':'type','powershell':'Get-Content'}},'grep':{'category':_0x48a8be(0x184),'alternatives':{'cmd':_0x48a8be(0xad),'powershell':_0x48a8be(0xd8)}},'find':{'category':'file-search','alternatives':{'cmd':'dir\x20/s','powershell':_0x48a8be(0x1c3)}},'head':{'category':'file-viewing','alternatives':{'cmd':_0x48a8be(0x131),'powershell':_0x48a8be(0x16d)}},'tail':{'category':_0x48a8be(0xeb),'alternatives':{'cmd':'more\x20+n','powershell':'Get-Content\x20-Tail'}},'wc':{'category':'text-analysis','alternatives':{'cmd':_0x48a8be(0x190),'powershell':'Measure-Object'}},'cp':{'category':'file-copy','alternatives':{'cmd':_0x48a8be(0x1a1),'powershell':_0x48a8be(0xf2)}},'mv':{'category':'file-move','alternatives':{'cmd':_0x48a8be(0x130),'powershell':'Move-Item'}},'rm':{'category':'file-delete','alternatives':{'cmd':'del','powershell':'Remove-Item'}},'mkdir':{'category':_0x48a8be(0x191),'alternatives':{'cmd':'mkdir','powershell':'New-Item\x20-Type\x20Directory'}},'rmdir':{'category':'directory-delete','alternatives':{'cmd':'rmdir','powershell':_0x48a8be(0x16a)}},'touch':{'category':_0x48a8be(0x1c8),'alternatives':{'cmd':'type\x20nul\x20>','powershell':'New-Item\x20-Type\x20File'}},'chmod':{'category':'permissions','alternatives':{'cmd':_0x48a8be(0xf9),'powershell':_0x48a8be(0xe6)}},'chown':{'category':_0x48a8be(0xa6),'alternatives':{'cmd':_0x48a8be(0x15e),'powershell':'Set-Acl'}},'ps':{'category':_0x48a8be(0x136),'alternatives':{'cmd':'tasklist','powershell':'Get-Process'}},'kill':{'category':'process-kill','alternatives':{'cmd':_0x48a8be(0x10e),'powershell':_0x48a8be(0x1b7)}},'killall':{'category':'process-kill','alternatives':{'cmd':_0x48a8be(0x111),'powershell':'Get-Process\x20|\x20Stop-Process'}},'top':{'category':_0x48a8be(0x1a4),'alternatives':{'cmd':_0x48a8be(0x1cd),'powershell':'Get-Process\x20|\x20Sort-Object\x20CPU'}},'wget':{'category':_0x48a8be(0x156),'alternatives':{'cmd':_0x48a8be(0x170),'powershell':'Invoke-WebRequest'}},'curl':{'category':'http-client','alternatives':{'cmd':'curl','powershell':'Invoke-RestMethod'}},'ping':{'category':_0x48a8be(0x1d0),'alternatives':{'cmd':_0x48a8be(0x13b),'powershell':_0x48a8be(0xea)}},'awk':{'category':'text-processing','alternatives':{'cmd':'for\x20/f','powershell':_0x48a8be(0x185)}},'sed':{'category':_0x48a8be(0xb0),'alternatives':{'cmd':_0x48a8be(0x16b),'powershell':_0x48a8be(0x14d)}},'sort':{'category':_0x48a8be(0x10c),'alternatives':{'cmd':_0x48a8be(0x11f),'powershell':'Sort-Object'}},'uniq':{'category':'text-dedupe','alternatives':{'cmd':'sort\x20/unique','powershell':'Sort-Object\x20-Unique'}},'pwd':{'category':_0x48a8be(0x160),'alternatives':{'cmd':'cd','powershell':_0x48a8be(0xa9)}},'whoami':{'category':_0x48a8be(0x19a),'alternatives':{'cmd':'echo\x20%USERNAME%','powershell':'whoami'}},'env':{'category':'environment','alternatives':{'cmd':_0x48a8be(0x150),'powershell':'Get-ChildItem\x20Env:'}},'export':{'category':_0x48a8be(0xe3),'alternatives':{'cmd':'set','powershell':_0x48a8be(0x125)}},'source':{'category':'script-execute','alternatives':{'cmd':_0x48a8be(0x154),'powershell':'.\x20'}},'tar':{'category':_0x48a8be(0x132),'alternatives':{'cmd':'7z','powershell':'Compress-Archive'}},'zip':{'category':_0x48a8be(0x132),'alternatives':{'cmd':'powershell\x20Compress-Archive','powershell':_0x48a8be(0x188)}},'unzip':{'category':_0x48a8be(0x132),'alternatives':{'cmd':'powershell\x20Expand-Archive','powershell':_0x48a8be(0x17c)}},'df':{'category':_0x48a8be(0x123),'alternatives':{'cmd':_0x48a8be(0xa4),'powershell':'Get-WmiObject\x20-Class\x20Win32_LogicalDisk'}},'du':{'category':_0x48a8be(0xcb),'alternatives':{'cmd':_0x48a8be(0x140),'powershell':'Get-ChildItem\x20-Recurse\x20|\x20Measure-Object'}},'free':{'category':_0x48a8be(0x8e),'alternatives':{'cmd':'systeminfo','powershell':'Get-WmiObject\x20-Class\x20Win32_PhysicalMemory'}},'uname':{'category':'system-info','alternatives':{'cmd':_0x48a8be(0x16c),'powershell':_0x48a8be(0x165)}}},_0x252ae5={'dir':{'category':_0x48a8be(0x157),'alternatives':{'unix':'ls','powershell':'Get-ChildItem'}},'type':{'category':'file-viewing','alternatives':{'unix':_0x48a8be(0x175),'powershell':_0x48a8be(0x1bc)}},'copy':{'category':_0x48a8be(0x179),'alternatives':{'unix':'cp','powershell':_0x48a8be(0xf2)}},'move':{'category':_0x48a8be(0x110),'alternatives':{'unix':'mv','powershell':'Move-Item'}},'del':{'category':_0x48a8be(0x1a8),'alternatives':{'unix':'rm','powershell':_0x48a8be(0x16a)}},'tasklist':{'category':_0x48a8be(0x136),'alternatives':{'unix':'ps','powershell':'Get-Process'}},'taskkill':{'category':_0x48a8be(0x198),'alternatives':{'unix':_0x48a8be(0x108),'powershell':'Stop-Process'}},'findstr':{'category':_0x48a8be(0x184),'alternatives':{'unix':'grep','powershell':'Select-String'}}},_0xd3c261={'get-childitem':{'category':_0x48a8be(0x157),'alternatives':{'unix':'ls','cmd':_0x48a8be(0x152)}},'get-content':{'category':_0x48a8be(0xeb),'alternatives':{'unix':'cat','cmd':_0x48a8be(0xdd)}},'copy-item':{'category':_0x48a8be(0x179),'alternatives':{'unix':'cp','cmd':'copy'}},'move-item':{'category':_0x48a8be(0x110),'alternatives':{'unix':'mv','cmd':'move'}},'remove-item':{'category':_0x48a8be(0x1a8),'alternatives':{'unix':'rm','cmd':_0x48a8be(0x98)}},'get-process':{'category':_0x48a8be(0x136),'alternatives':{'unix':'ps','cmd':'tasklist'}},'stop-process':{'category':'process-kill','alternatives':{'unix':_0x48a8be(0x108),'cmd':_0x48a8be(0x10e)}}};let _0x1e877e=_0x48a8be(0x177),_0x3aca0c='unknown',_0x338778={};if(_0x14311e[_0x5b6eca])_0x1e877e='unix',_0x3aca0c=_0x14311e[_0x5b6eca][_0x48a8be(0xd7)],_0x338778=_0x14311e[_0x5b6eca]['alternatives'];else{if(_0x252ae5[_0x5b6eca])_0x1e877e='windows-cmd',_0x3aca0c=_0x252ae5[_0x5b6eca]['category'],_0x338778=_0x252ae5[_0x5b6eca][_0x48a8be(0x116)];else{if(_0xd3c261[_0x5b6eca])_0x1e877e=_0x48a8be(0x112),_0x3aca0c=_0xd3c261[_0x5b6eca]['category'],_0x338778=_0xd3c261[_0x5b6eca]['alternatives'];else{const _0x5beb26=['echo','cd','exit',_0x48a8be(0xee)];_0x5beb26['includes'](_0x5b6eca)?(_0x1e877e='universal',_0x3aca0c='builtin'):(_0x1e877e='unknown',_0x1067d8=0.3);}}}return _0x30f645['includes']('\x27')&&!_0x30f645[_0x48a8be(0x1b3)]('\x22')&&_0x223245[_0x48a8be(0xb5)](_0x48a8be(0x91)),_0x30f645['includes']('/')&&!_0x30f645['includes']('\x5c')&&!_0x30f645[_0x48a8be(0x1b3)](_0x48a8be(0xce))&&_0x30f645[_0x48a8be(0x1b3)]('>')&&_0x223245[_0x48a8be(0xb5)](_0x48a8be(0xf8)),(_0x30f645[_0x48a8be(0x1b3)]('\x5cn')||_0x30f645[_0x48a8be(0x1b3)]('\x5ct'))&&_0x223245['push']('escape-sequences'),(_0x30f645[_0x48a8be(0x1b3)](_0x48a8be(0x17f))||_0x30f645[_0x48a8be(0x1b3)]('\x20||\x20')||_0x30f645[_0x48a8be(0x1b3)](';'))&&_0x223245['push']('command-chaining'),{'type':_0x1e877e,'category':_0x3aca0c,'alternatives':_0x338778,'issues':_0x223245,'confidence':_0x1067d8,'firstWord':_0x5b6eca,'fullCommand':_0x30f645};}['isCommandCompatibleWithTerminal'](_0x575cae,_0x2cfe82){const _0x52c258=a0_0x5a9af9;switch(_0x2cfe82){case'cmd':if(_0x575cae[_0x52c258(0xdd)]===_0x52c258(0x14e))return![];if(_0x575cae[_0x52c258(0xa0)]['includes']('single-quotes-problematic'))return![];if(_0x575cae['issues']['includes']('unix-style-paths'))return![];return _0x575cae['type']==='windows-cmd'||_0x575cae['type']==='universal';case _0x52c258(0x112):if(_0x575cae['type']===_0x52c258(0x14e)&&!_0x575cae[_0x52c258(0x116)]['powershell'])return![];return!![];case _0x52c258(0xcc):if(_0x575cae[_0x52c258(0xdd)]===_0x52c258(0x194))return![];return _0x575cae[_0x52c258(0xdd)]==='unix'||_0x575cae['type']===_0x52c258(0x1b0);default:return![];}}[a0_0x5a9af9(0x19c)](_0x41cbb0){const _0x38433f=a0_0x5a9af9;let _0x4f2516=_0x41cbb0;const _0x4aa71c=new Map([[/^ls\s*$/,'dir'],[/^ls\s+-la?$/,'dir'],[/^ls\s+-l$/,'dir'],[/^ls\s+-a$/,'dir\x20/a'],[/^cat\s+(.+)$/,'type\x20$1'],[/^cp\s+(.+)\s+(.+)$/,'copy\x20$1\x20$2'],[/^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*$/,_0x38433f(0x1cd)],[/^kill\s+(.+)$/,'taskkill\x20/PID\x20$1'],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,_0x38433f(0x14a)],[/^ping\s+(.+)$/,'ping\x20$1'],[/^wget\s+(.+)$/,_0x38433f(0xf4)],[/^curl\s+(.+)$/,'curl\x20$1']]);for(const [_0x3657ef,_0x519903]of _0x4aa71c){if(_0x3657ef[_0x38433f(0x133)](_0x4f2516)){_0x4f2516=_0x4f2516['replace'](_0x3657ef,_0x519903);break;}}_0x4f2516=_0x4f2516[_0x38433f(0x17d)](/echo\s+'([^']+)'\s*>/g,'echo\x20\x22$1\x22\x20>'),_0x4f2516=_0x4f2516['replace'](/echo\s+'([^']+)'$/g,_0x38433f(0x159));if(_0x4f2516[_0x38433f(0x1b3)]('echo\x20\x27')&&_0x4f2516['includes']('\x5cn')){const _0x5a78ad=_0x4f2516['match'](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0x5a78ad){const _0xcd6c24=_0x5a78ad[0x1][_0x38433f(0x17d)](/\\n/g,'\x0a'),_0x153db7=_0x5a78ad[0x2],_0x4a3b7e=_0xcd6c24[_0x38433f(0xc9)]('\x0a');_0x4f2516='('+_0x4a3b7e['map'](_0x2920c1=>'echo\x20'+_0x2920c1)[_0x38433f(0x9c)](_0x38433f(0xba))+')\x20>\x20'+_0x153db7;}}return this['logger']?.['info']('Command\x20translated\x20for\x20Windows\x20CMD',{'original':_0x41cbb0,'translated':_0x4f2516}),_0x4f2516;}['translateToPowerShell'](_0x40926f){const _0x42a55f=a0_0x5a9af9;let _0xbb2a3d=_0x40926f;const _0x32ea44=new Map([[/^ls\s*$/,_0x42a55f(0xa5)],[/^ls\s+-la?$/,_0x42a55f(0x14c)],[/^cat\s+(.+)$/,'Get-Content\x20$1'],[/^cp\s+(.+)\s+(.+)$/,_0x42a55f(0xe0)],[/^mv\s+(.+)\s+(.+)$/,'Move-Item\x20$1\x20$2'],[/^rm\s+(.+)$/,_0x42a55f(0x1d1)],[/^pwd\s*$/,'Get-Location'],[/^ps\s*$/,'Get-Process']]);for(const [_0x1de393,_0x4c2a44]of _0x32ea44){if(_0x1de393[_0x42a55f(0x133)](_0xbb2a3d)){_0xbb2a3d=_0xbb2a3d[_0x42a55f(0x17d)](_0x1de393,_0x4c2a44);break;}}return this[_0x42a55f(0xd5)]?.['info'](_0x42a55f(0x13d),{'original':_0x40926f,'translated':_0xbb2a3d}),_0xbb2a3d;}['translateToBash'](_0x76d316){const _0x24f00c=a0_0x5a9af9;let _0x89f233=_0x76d316;const _0x5ca6d2=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,'ls\x20-a'],[/^type\s+(.+)$/,_0x24f00c(0xb3)],[/^copy\s+(.+)\s+(.+)$/,_0x24f00c(0x121)],[/^move\s+(.+)\s+(.+)$/,_0x24f00c(0x1be)],[/^del\s+(.+)$/,'rm\x20$1'],[/^tasklist\s*$/,'ps'],[/^cd\s*$/,'pwd']]);for(const [_0x135959,_0x1a4640]of _0x5ca6d2){if(_0x135959[_0x24f00c(0x133)](_0x89f233)){_0x89f233=_0x89f233[_0x24f00c(0x17d)](_0x135959,_0x1a4640);break;}}return _0x89f233;}async[a0_0x5a9af9(0x115)](_0x4bc958){}async['startBackgroundCommand'](_0x570322,_0x5a8373,_0x245021={}){const _0x17d919=a0_0x5a9af9,{agentId:_0x198b05,context:_0x4983da}=_0x245021;if(!_0x198b05)throw new Error('agentId\x20is\x20required\x20for\x20background\x20commands');const _0x2ece0f=this[_0x17d919(0x9e)](_0x198b05),_0x512e66=_0x2ece0f['filter'](_0x2d5b1d=>_0x2d5b1d[_0x17d919(0xfe)]===_0x17d919(0xa2)||_0x2d5b1d['state']==='waiting_for_input');if(_0x512e66['length']>=this['MAX_BACKGROUND_COMMANDS_PER_AGENT'])throw new Error('Maximum\x20background\x20commands\x20per\x20agent\x20exceeded\x20('+this['MAX_BACKGROUND_COMMANDS_PER_AGENT']+')');const _0x32d5f6=Array['from'](this[_0x17d919(0xd2)]['values']()),_0x4f54db=_0x32d5f6['filter'](_0x9327d2=>_0x9327d2[_0x17d919(0xfe)]==='running'||_0x9327d2['state']===_0x17d919(0x18e));if(_0x4f54db[_0x17d919(0x92)]>=this['MAX_BACKGROUND_COMMANDS_GLOBAL'])throw new Error(_0x17d919(0x1ce)+this[_0x17d919(0x176)]+')');const _0x1e6eb2=_0x198b05+_0x17d919(0x148)+Date['now']()+'-'+ ++this[_0x17d919(0x134)],_0x51d0c1=_0x570322;let _0x334dfb;try{_0x334dfb=await this[_0x17d919(0xe4)](_0x570322,{'agentId':_0x198b05,'toolsRegistry':_0x4983da?.[_0x17d919(0x117)],'messageProcessor':_0x4983da?.[_0x17d919(0x196)],'aiService':_0x4983da?.['aiService'],'apiKey':_0x4983da?.[_0x17d919(0x105)],'customApiKeys':_0x4983da?.[_0x17d919(0x102)],'platformProvided':_0x4983da?.[_0x17d919(0xf7)]});}catch(_0x2311a1){this['logger']?.[_0x17d919(0x139)](_0x17d919(0x142),{'originalCommand':_0x51d0c1,'error':_0x2311a1[_0x17d919(0x1b2)]}),_0x334dfb=_0x570322;}this['logger']?.['info']('Starting\x20background\x20command:\x20'+_0x334dfb,{'commandId':_0x1e6eb2,'agentId':_0x198b05,'originalCommand':_0x51d0c1,'workingDirectory':_0x5a8373});let _0x151e18;if(this[_0x17d919(0x17b)]===_0x17d919(0x149)||this['detectedTerminal']===_0x17d919(0x112)){const _0x1ba425=this['detectedTerminal']===_0x17d919(0x112)?'powershell':'cmd',_0x2d6386=this[_0x17d919(0x17b)]===_0x17d919(0x112)?['-Command',_0x334dfb]:['/c',_0x334dfb];_0x151e18=spawn(_0x1ba425,_0x2d6386,{'cwd':_0x5a8373,'env':{...process[_0x17d919(0x1c4)]},'windowsHide':!![],'stdio':['pipe','pipe','pipe']});}else _0x151e18=spawn('sh',['-c',_0x334dfb],{'cwd':_0x5a8373,'env':{...process[_0x17d919(0x1c4)]},'stdio':[_0x17d919(0x10b),_0x17d919(0x10b),_0x17d919(0x10b)]});const _0x232ba6={'commandId':_0x1e6eb2,'agentId':_0x198b05,'pid':_0x151e18[_0x17d919(0x11b)],'command':_0x51d0c1,'translatedCommand':_0x334dfb,'workingDirectory':_0x5a8373,'startTime':new Date()['toISOString'](),'state':_0x17d919(0xa2),'exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date['now'](),'promptDetected':null,'process':_0x151e18};return this[_0x17d919(0xd2)][_0x17d919(0x150)](_0x1e6eb2,_0x232ba6),_0x151e18[_0x17d919(0xd1)]['on']('data',_0x396538=>{const _0x155bd5=_0x17d919,_0x1d85b0=_0x396538['toString']();_0x232ba6[_0x155bd5(0x13f)]+=_0x1d85b0,_0x232ba6[_0x155bd5(0xd0)]=Date[_0x155bd5(0xb7)]();if(!_0x232ba6[_0x155bd5(0x1ab)]){const _0x1ca238=this[_0x155bd5(0xe8)][_0x155bd5(0xcf)](_0x232ba6[_0x155bd5(0x13f)],'stdout');_0x1ca238&&(_0x232ba6[_0x155bd5(0x1ab)]=_0x1ca238,_0x232ba6[_0x155bd5(0xfe)]='waiting_for_input',this['logger']?.[_0x155bd5(0x181)](_0x155bd5(0x19b),{'commandId':_0x1e6eb2,'agentId':_0x198b05,'type':_0x1ca238[_0x155bd5(0xdd)],'matchedText':_0x1ca238['matchedText']}));}}),_0x151e18['stderr']['on'](_0x17d919(0x93),_0x29e1ef=>{const _0x2b13d7=_0x17d919,_0x3950ce=_0x29e1ef[_0x2b13d7(0xe2)]();_0x232ba6[_0x2b13d7(0xd9)]+=_0x3950ce,_0x232ba6['lastOutputTime']=Date[_0x2b13d7(0xb7)]();if(!_0x232ba6['promptDetected']){const _0x2e5058=this['promptDetector']['detectPrompt'](_0x232ba6[_0x2b13d7(0xd9)],'stderr');_0x2e5058&&(_0x232ba6['promptDetected']=_0x2e5058,_0x232ba6['state']='waiting_for_input',this[_0x2b13d7(0xd5)]?.['info']('Prompt\x20detected\x20in\x20background\x20command\x20stderr',{'commandId':_0x1e6eb2,'agentId':_0x198b05,'type':_0x2e5058['type'],'matchedText':_0x2e5058['matchedText']}));}}),_0x151e18['on'](_0x17d919(0x8d),(_0x1ce22a,_0x426ab7)=>{const _0x57040c=_0x17d919;_0x232ba6['exitCode']=_0x1ce22a,_0x232ba6['state']=_0x1ce22a===0x0?_0x57040c(0x166):_0x57040c(0x19d),_0x232ba6['endTime']=new Date()[_0x57040c(0x13c)](),this['logger']?.[_0x57040c(0x181)]('Background\x20command\x20exited',{'commandId':_0x1e6eb2,'agentId':_0x198b05,'exitCode':_0x1ce22a,'signal':_0x426ab7,'state':_0x232ba6[_0x57040c(0xfe)]});}),_0x151e18['on']('error',_0x1539ba=>{const _0x52366d=_0x17d919;_0x232ba6['state']=_0x52366d(0x19d),_0x232ba6[_0x52366d(0x12b)]=_0x1539ba[_0x52366d(0x1b2)],_0x232ba6[_0x52366d(0x129)]=new Date()['toISOString'](),this[_0x52366d(0xd5)]?.[_0x52366d(0x12b)]('Background\x20command\x20error',{'commandId':_0x1e6eb2,'agentId':_0x198b05,'error':_0x1539ba[_0x52366d(0x1b2)]});}),{'success':!![],'commandId':_0x1e6eb2,'pid':_0x151e18[_0x17d919(0x11b)],'command':_0x51d0c1,'translatedCommand':_0x334dfb,'workingDirectory':_0x5a8373,'message':'Background\x20command\x20started\x20with\x20ID:\x20'+_0x1e6eb2};}['sendInput'](_0xe683c9,_0x216f12,_0x2e204c){const _0xbbb6bc=a0_0x5a9af9,_0x281012=this['validateCommandOwnership'](_0xe683c9,_0x2e204c);if(_0x281012['state']===_0xbbb6bc(0x166)||_0x281012[_0xbbb6bc(0xfe)]==='failed')throw new Error(_0xbbb6bc(0x11a)+_0x281012['state']+'\x20command');if(!_0x281012[_0xbbb6bc(0x1bd)]||_0x281012['process'][_0xbbb6bc(0x10a)])throw new Error('Command\x20process\x20is\x20not\x20running');const _0x306b6d=_0x216f12[_0xbbb6bc(0x97)]('\x0a')?_0x216f12:_0x216f12+'\x0a';return _0x281012['process']['stdin']['write'](_0x306b6d),this[_0xbbb6bc(0xd5)]?.[_0xbbb6bc(0x181)]('Input\x20sent\x20to\x20background\x20command',{'commandId':_0xe683c9,'agentId':_0x2e204c,'inputLength':_0x216f12[_0xbbb6bc(0x92)]}),_0x281012['state']===_0xbbb6bc(0x18e)&&(_0x281012['state']=_0xbbb6bc(0xa2),_0x281012[_0xbbb6bc(0x1ab)]=null),{'success':!![],'commandId':_0xe683c9,'message':_0xbbb6bc(0xbb)};}['getCommandStatus'](_0x3f472c,_0x37760b){const _0x305688=a0_0x5a9af9,_0x3072ba=this[_0x305688(0x155)](_0x3f472c,_0x37760b),_0x519619=Date[_0x305688(0xb7)]()-_0x3072ba['lastOutputTime'];return{'success':!![],'commandId':_0x3f472c,'pid':_0x3072ba['pid'],'command':_0x3072ba['command'],'state':_0x3072ba[_0x305688(0xfe)],'exitCode':_0x3072ba[_0x305688(0x18c)],'startTime':_0x3072ba[_0x305688(0xde)],'endTime':_0x3072ba['endTime'],'workingDirectory':_0x3072ba['workingDirectory'],'stdout':_0x3072ba['stdoutBuffer'],'stderr':_0x3072ba['stderrBuffer'],'stdoutLength':_0x3072ba['stdoutBuffer'][_0x305688(0x92)],'stderrLength':_0x3072ba[_0x305688(0xd9)][_0x305688(0x92)],'lastOutputTime':_0x3072ba[_0x305688(0xd0)],'timeSinceLastOutput':_0x519619,'promptDetected':!!_0x3072ba['promptDetected'],'promptInfo':_0x3072ba['promptDetected']||undefined};}['killCommand'](_0x479bd3,_0x4cc86f){const _0x5c77d2=a0_0x5a9af9,_0x207333=this[_0x5c77d2(0x155)](_0x479bd3,_0x4cc86f);if(_0x207333[_0x5c77d2(0xfe)]==='completed'||_0x207333['state']===_0x5c77d2(0x19d))return{'success':!![],'commandId':_0x479bd3,'message':_0x5c77d2(0x1cf),'state':_0x207333[_0x5c77d2(0xfe)]};if(_0x207333['process']&&!_0x207333['process']['killed'])return _0x207333['process'][_0x5c77d2(0x108)](_0x5c77d2(0x122)),setTimeout(()=>{const _0x3b1ce1=_0x5c77d2;_0x207333[_0x3b1ce1(0x1bd)]&&!_0x207333['process']['killed']&&_0x207333['process']['kill']('SIGKILL');},0x1388),this[_0x5c77d2(0xd5)]?.['info']('Background\x20command\x20killed',{'commandId':_0x479bd3,'agentId':_0x4cc86f}),{'success':!![],'commandId':_0x479bd3,'message':'Command\x20killed\x20successfully'};return{'success':![],'commandId':_0x479bd3,'error':_0x5c77d2(0x10f)};}[a0_0x5a9af9(0x15b)](_0x20ad00){const _0x27aec1=a0_0x5a9af9,_0x824f8b=this['getAgentCommands'](_0x20ad00);return _0x824f8b['map'](_0x3a6105=>({'commandId':_0x3a6105['commandId'],'command':_0x3a6105[_0x27aec1(0xb1)],'state':_0x3a6105[_0x27aec1(0xfe)],'pid':_0x3a6105[_0x27aec1(0x11b)],'exitCode':_0x3a6105[_0x27aec1(0x18c)],'startTime':_0x3a6105['startTime'],'endTime':_0x3a6105[_0x27aec1(0x129)],'promptDetected':!!_0x3a6105[_0x27aec1(0x1ab)],'timeSinceLastOutput':Date['now']()-_0x3a6105[_0x27aec1(0xd0)]}));}[a0_0x5a9af9(0x9e)](_0x87f59a){const _0x29c9cc=a0_0x5a9af9;return Array['from'](this[_0x29c9cc(0xd2)]['values']())['filter'](_0x8ae6bb=>_0x8ae6bb['agentId']===_0x87f59a);}['validateCommandOwnership'](_0x2422a7,_0x39981b){const _0x414e42=a0_0x5a9af9,_0x267d3e=this['commandTracker'][_0x414e42(0xa1)](_0x2422a7);if(!_0x267d3e)throw new Error(_0x414e42(0x1ae)+_0x2422a7);if(_0x267d3e[_0x414e42(0x187)]!==_0x39981b)throw new Error(_0x414e42(0xc6)+_0x267d3e['agentId']);return _0x267d3e;}async['cleanupAgent'](_0x428261){const _0x3ff530=a0_0x5a9af9,_0x550fae=this[_0x3ff530(0x9e)](_0x428261);let _0x22c80b=0x0,_0x115ca2=0x0;for(const _0x1ab641 of _0x550fae){_0x1ab641[_0x3ff530(0x1bd)]&&!_0x1ab641[_0x3ff530(0x1bd)][_0x3ff530(0x10a)]&&(_0x1ab641['process']['kill'](_0x3ff530(0x122)),_0x22c80b++,setTimeout(()=>{const _0x392068=_0x3ff530;_0x1ab641[_0x392068(0x1bd)]&&!_0x1ab641['process']['killed']&&_0x1ab641[_0x392068(0x1bd)][_0x392068(0x108)](_0x392068(0x106));},0xbb8)),this['commandTracker'][_0x3ff530(0xcd)](_0x1ab641[_0x3ff530(0x12e)]),_0x115ca2++;}return this[_0x3ff530(0xd5)]?.['info']('Agent\x20commands\x20cleaned\x20up',{'agentId':_0x428261,'killedCount':_0x22c80b,'removedCount':_0x115ca2}),{'success':!![],'agentId':_0x428261,'killedCount':_0x22c80b,'removedCount':_0x115ca2,'message':_0x3ff530(0x104)+_0x115ca2+'\x20commands\x20for\x20agent\x20'+_0x428261};}['cleanupStaleCommands'](){const _0xfdde0=a0_0x5a9af9,_0xe13dce=Date['now']();let _0x3d89c5=0x0;for(const [_0x35c59a,_0x531047]of this[_0xfdde0(0xd2)]['entries']()){if(_0x531047[_0xfdde0(0xfe)]!==_0xfdde0(0x166)&&_0x531047[_0xfdde0(0xfe)]!==_0xfdde0(0x19d))continue;const _0x2a8e18=new Date(_0x531047['startTime'])[_0xfdde0(0x161)](),_0x59f096=(_0xe13dce-_0x2a8e18)/0x3e8/0x3c;_0x59f096>this['MAX_COMMAND_AGE_MINUTES']&&(this['commandTracker']['delete'](_0x35c59a),_0x3d89c5++);}return _0x3d89c5>0x0&&this['logger']?.['info']('Stale\x20commands\x20cleaned\x20up',{'removedCount':_0x3d89c5,'ageThresholdMinutes':this['MAX_COMMAND_AGE_MINUTES']}),{'success':!![],'removedCount':_0x3d89c5,'message':_0xfdde0(0x104)+_0x3d89c5+_0xfdde0(0xe1)};}}export default TerminalTool;
1
+ const a0_0x29919e=a0_0x129e;(function(_0x3d540c,_0xa0b279){const _0x49af35=a0_0x129e,_0xf64a78=_0x3d540c();while(!![]){try{const _0x5cc7a1=parseInt(_0x49af35(0x16a))/0x1*(-parseInt(_0x49af35(0x26a))/0x2)+-parseInt(_0x49af35(0x27e))/0x3+-parseInt(_0x49af35(0x17f))/0x4+-parseInt(_0x49af35(0x2af))/0x5+parseInt(_0x49af35(0x28e))/0x6*(parseInt(_0x49af35(0x1bc))/0x7)+parseInt(_0x49af35(0x1e5))/0x8+parseInt(_0x49af35(0x2a1))/0x9;if(_0x5cc7a1===_0xa0b279)break;else _0xf64a78['push'](_0xf64a78['shift']());}catch(_0x5b2010){_0xf64a78['push'](_0xf64a78['shift']());}}}(a0_0x47fd,0xb2ab9));import{BaseTool}from'./baseTool.js';import a0_0x9b5b1f from'../utilities/tagParser.js';import a0_0x2ea814 from'../utilities/directoryAccessManager.js';import{spawn,exec}from'child_process';function a0_0x47fd(){const _0x465758=['ChjVy2vZCY1SAxn0','q29TBwfUzcbWCM9JzxnZigLZig5VDcbYDw5UAw5N','q29TBwfUzcb0Aw1LzcbVDxqGywz0zxiG','CgLUzW','Dw5PEc1ZDhLSzs1WyxrOCW','A2v5ChjLC3m','icyG','Dgv4Dc1LzgL0','r2v0lunOAwXKsxrLBsbfBNy6','twf4Aw11BsbNBg9IywWGyMfJA2DYB3vUzcbJB21Tyw5KCYbLEgnLzwrLzcaO','uhjLC3mGyw55igTLEq','zgLYzwn0B3j5lwn1CNjLBNq','uhjVy2vLzcbWCM9TChq','mtKZntG4mJbztNfmyM0','BMv3rgLYzwn0B3j5','AgfSDa','zgLYzwn0B3j5','q29UDgLUDwuGChjVBxb0','y29TBwfUzeLKq291BNrLCG','CgXHDgzVCM0','zxH0CMfJDenVBNrLBNq','zMLSzs12Awv3Aw5N','ufnnB2r1BgvqyxrO','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','zMLUzcaVyW','zMLSzs1KzwXLDgu','q2HHBMDLzcbKAxjLy3rVCNKGDg8G','nJaYnZe4nxbzDLP3wa','CNvUlwnVBw1HBMq','zgLZAY1PBMzV','lunVBw1HBMq','DhjHBNnSyxrLvg9cyxnO','Ahr0Ca','r2v0lunVBNrLBNqGlvrHAwW','y2f0','mxjLu0rNBq','y2XLyw51Cfn0ywXLq29TBwfUzhm','zMLSzs1JB3b5','Dg9ju09tDhjPBMC','CgXHDgzVCM1uExbL','ywn0Aw9UCW','q29TBwfUzcbHBhjLywr5ihrLCM1PBMf0zwq','CgLUzYaKmq','u3rHBguGy29TBwfUzhmGy2XLyw5Lzcb1Ca','id4GjG','C3vIC3rYAw5N','zw5KC1DPDgG','Aw50zwDLCG','BhmGlwe','ywX0zxjUyxrPDMvZ','y3vYBa','C3rHDgu','u3rHCNrPBMCGyMfJA2DYB3vUzcbJB21Tyw5KoIa','Aw5MBW','zwnOBW','ugfZC3DVCMqGChjVBxb0','mJG4mJaYohPMqxDusq','BgLZDefNzw50q29TBwfUzhm','CMvHC29U','DgfRzw93BG','z2v0vgLTzq','cI0Gq2f0zwDVCNK6ia','C2vUzeLUChv0','AxntAw1WBgvdB21Tyw5K','cI0GvgfYz2v0ifrLCM1PBMfSoIa','zMLUzhn0CG','CMvZB2X2zq','u0Lhvevstq','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','zw52','sw5WDxqGC2vUDcbZDwnJzxnZzNvSBhK','qwn0Aw9Uia','AxnbBgXVD2vKq29TBwfUza','y3vYBcaTtYaKmq','BM93','tMv3luL0zw0Glvr5CguGrMLSzq','zxzLCNK','ignVBw1HBMrZigzVCIbHz2vUDca','z3jLCa','CgLWzq','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUzcbZDgrLCNi','zg93BMXVywq','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','q29TBwfUzcbWCM9JzxnZig5VDcbMB3vUzcbVCIbHBhjLywr5igTPBgXLza','ihn0ywXLignVBw1HBMrZ','C3rHCNrcywnRz3jVDw5Kq29TBwfUza','AM9PBG','r2v0lunOAwXKsxrLBsaTuMvJDxjZzsb8ie1Lyxn1CMuTt2jQzwn0','u29YDc1pyMPLy3qGlvvUAxf1zq','yw5HBhL6zunVBw1HBMrdB21WyxrPyMLSAxr5','yNvPBhrPBG','r2v0lunVBNrLBNq','AxnbCNjHEq','y3jLyxrLrgLYzwn0B3j5','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','ig1PBgXPC2vJB25KCW','BwfPBIGP','y3jLyxrLlwrPCMvJDg9YEq','q2XLyw5Lzcb1Cca','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','quKGDhjHBNnSyxrPB24GBM90igf2ywLSywjSzsaTig1PC3nPBMCGy29UDgv4Da','y2fSBa','DxnLCM5HBwu','CgfZC3DVCMq','Bwf4q29TBwfUzefNzu1PBNv0zxm','qMfJA2DYB3vUzcbJB21Tyw5KigvYCM9Y','Bg9N','ChjVy2vZCY1TB25PDg9Y','Bwf0y2G','Bw92zq','u29YDc1pyMPLy3q','DgfZA2TPBgW','CMvWBgfJzq','z2v0','zgLYic9H','Dg9mB3DLCKnHC2u','BxmPcI0Gyxn5BMm6ifDOzxrOzxiGDg8GCNvUignVBw1HBMqGyxn5BMnOCM9UB3vZBhKGkhrYDwuVzMfSC2uPcGPfwefnueXfuZOkcLj1BIbUCg0GAw5ZDgfSBdOkygbGANnVBGP7iNrVB2Xjzci6icj0zxjTAw5HBciSicjHy3rPB25ZiJOGw3SIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiM5WBsbPBNn0ywXSiN1DFqPGygakcKDPDcbVCgvYyxrPB25ZoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiNrLCM1PBMfSiIWkicaIywn0Aw9UCYi6ifSkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiMDPDcbZDgf0DxmIFsWkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiMDPDcbHzgqGlIj9laOGicaGEYj0ExbLiJOGiNj1BI1JB21Tyw5KiIWGiMnVBw1HBMqIoIaIz2L0ignVBw1PDcaTBsbCiLvWzgf0zsbMAwXLC1WIiN0kicbDcN0kygbGcGPdAgfUz2uGzgLYzwn0B3j5igfUzcbIDwLSzdOkygbGANnVBGP7cIaGiNrVB2Xjzci6icj0zxjTAw5HBciScIaGiMfJDgLVBNmIoIbBcIaGicb7iNr5CguIoIaIy2HHBMDLlwrPCMvJDg9YEsiSicjKAxjLy3rVCNKIoIaIlI4VzNjVBNrLBMqIFsWkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiM5WBsbYDw4GyNvPBgqIFqOGif0kFqPGygakcLnfq1vssvrzoGOTierHBMDLCM91CYbJB21Tyw5KCYbHCMuGyMXVy2TLzaOTienVBw1HBMrZigv4zwn1DguGAw4GAxnVBgf0zwqGzw52AxjVBM1LBNqklsbpDxrWDxqGAxmGy2fWDhvYzwqGyw5KihjLDhvYBMvKihnHzMvSEqOkqKvtvcbquKfdveLdrvm6cI0GvxnLiezPBgvtExn0zw0GDg9VBcbMB3iGzMLSzs9KAxjLy3rVCNKGB3bLCMf0Aw9UCWOTifvZzsbuzxjTAw5HBcbMB3iGq0Xjihv0AwXPDgLLCYaOBNbTlcbNAxqSign1CMWSigv0yY4PcI0Gq2HLy2SGy29TBwfUzcbVDxrWDxqGDg8GDMvYAwz5ihn1y2nLC3mkicaGia','mtKYmJm0zfvNDhrJ','y2XHC3nPzNLdB21Tyw5K','twvUDsbZzwXLy3rPB24','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','yMXVy2TLzenVBw1HBMrZ','rgLYzwn0B3j5ignOyw5NzsbIBg9JA2vKoIa','q29TBwfUzcbJB21WBgv0zwqGC3vJy2vZC2z1BgX5oIa','Cgf0DgvYBG','DgLTzw91Da','A2LSBa','zMfPBgvK','zw5KvgLTzq','z2v0q29TBwfUzfn0yxr1CW','zgv0zwn0zwruzxjTAw5HBa','zgvSicqX','C2vSzwn0Aw9U','y3vZDg9TqxbPs2v5CW','BwvZC2fNzvbYB2nLC3nVCG','q29TBwfUzcbUB3qGzM91BMq6ia','Bwf4qMfJA2DYB3vUzenVBw1HBMrZugvYqwDLBNq','ignVBw1HBMq','C3rKzxjYqNvMzMvY','C3rYAw5N','BgLZDc1KAxjLy3rVCNK','q29TBwfUzcbLEgL0zwqGD2L0AcbJB2rLia','Dg9tDhjPBMC','y21K','q29TBwfUzcbRAwXSzwqGC3vJy2vZC2z1BgX5','C2v0','D2fYBG','z2v0u3vWCg9YDgvKqwn0Aw9UCW','BgLZDerPCMvJDg9YEq','y29TBwfUzfr5Cgu','wwvZl05Vihf1zxn0Aw9U','AxnbC3LUyW','D29YA2LUz0rPCMvJDg9YEq','y2HHBMDLlwrPCMvJDg9YEq','Dhj1zq','zgLY','Bwf0y2HLzfrLEhq','r2v0lvbYB2nLC3mGFcbtDg9WlvbYB2nLC3m','mZG5mdi3mK1dA29XAa','BgvUz3rO','DhjHBNnSyxrLvg9xAw5KB3DZq21K','ChjVBxb0rgv0zwn0zwq','u0HfteW','q29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwqSihvZAw5Nig9YAwDPBMfSignVBw1HBMq','zxHLy3v0Aw9UvgLTzq','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbqB3DLCLnOzwXS','uMvTB3zLluL0zw0','zMLSDgvY','DgfZA2XPC3q','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUza','zNn1DgLSihzVBhvTzsbKAxnRzNjLzq','D3jPDgu','vgvYBwLUywWGrevcvuC6ifvZAw5NigzHBgXIywnRihDVCMTPBMCGzgLYzwn0B3j5oG','q29TBwfUzcbWCM9JzxnZigv4AxrLzdOG','zwnOBYa','BwvZC2fNzq','D29YA2LUz0rPCMvJDg9YAwvZ','oIb0ExbLigLZihjLCxvPCMvK','C29YDcaVDw5PCxvL','r2v0lunOAwXKsxrLBsaTuMvJDxjZzq','ywDLBNrjza','Cg93zxjZAgvSBcaTyW','Aw5JBhvKzxm','CMvXDwLYzxnqCM9Qzwn0','BwTKAxi','C3vJy2vZCW','r2v0lunOAwXKsxrLBsaTrM9Yy2u','yxn5BMm','ChjVy2vZCW','sw52B2TLlvjLC3rnzxrOB2q','D2LUzg93CY1JBwq','AxncBg9JA2vKq29TBwfUza','rMfPBgvKihrVignOyw5NzsbKAxjLy3rVCNKGDg8G','zgvMia','zxjYB3i','zwnOBYaN','ChjVBxb0rgv0zwn0B3i','zMLSzq','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','C3rKzxjY','BMfTzq','Cg93zxjZAgvSBa','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFugH5C2LJywXnzw1VCNK','u2vSzwn0Aw9UihbYB21WDa','tMv3luL0zw0Glvr5CguGrgLYzwn0B3j5','CgLK','ywXSB3DLzenVBw1HBMrZ','AgvSCa','B2jQzwn0','vgvYBwLUywWGzgv0zwn0zwq','zgvS','C2LTCgXL','DxnLCI1PBMzV','y2HHBMDLrgLYzwn0B3j5','C3vNz2vZDgvKqwn0Aw9U','DhjHBNnSyxrLq29TBwfUza','CM1KAxiGjde','y29UzMLYBwf0Aw9U','zgvIDwC','zMLSzs1SAxn0Aw5N','uhjLC3mGzw50zxi','y29WEsaKmsaKmG','z2v0q29TBwfUzeHPC3rVCNK','zw50CMLLCW','zwnOBYaIjdeIid4','q29TBwfUzcbLEgvJDxrLzcbZDwnJzxnZzNvSBhKGAw4G','vxnPBMCGquKGDhjHBNnSyxrPB24','zgvZy3jPChrPB24','A2LSBgvK','q29TBwfUzcbZCgf3BIbLCNjVCJOG','tgLZDgvKia','CgvYBwLZC2LVBNm','Bw9YzsaRBG','DhjPBq','y2f0icqX','DhjHBNnSyxrLvg9qB3DLCLnOzwXS','y29TCgXLDgvK','oIbJB21Tyw5KigLZihjLCxvPCMvKigzVCIbYDw4Ty29TBwfUza','BgfZDe91Dhb1DfrPBwu','rxHLy3v0Aw5NignVBw1HBMqGD2L0AcbZCgf3BJOG','Aw5PDgLHBgL6zvrLCM1PBMfSrgv0zwn0Aw9U','vxnLCM5HBwuGChjVBxb0','uMvTB3zLluL0zw0Gjde','C3rHCNrZv2L0Aa','q29TBwfUzcbLCNjVCIbJAhvUAZOG','zwnOBYaLvvnfuK5btuuL','DMfSAwrHDgvszwfKqwnJzxnZ','yxjYyxK','y29TBwfUzeLK','D2HVyw1P','DhjHBNnSyxrL','C29Tzq','qMfJA2DYB3vUzcbJB21Tyw5Kihn0yxj0zwqGD2L0AcbjrdOG','zxHLy3v0zunVBw1HBMq','AxnZDwvZ','uhjVBxb0igrLDgvJDgvKigLUihn0zgvYCG','BwvTB3j5lwLUzM8','C3rKB3v0qNvMzMvY','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9Yia','q29TChjLC3mTqxjJAgL2zq','zgvSzxrL','y29TBwfUzeHPC3rVCNK','y29WEq','y29TBwfUza','Dw5RBM93BG','zw52AxjVBM1LBNq','q2fUBM90ihnLBMqGAw5WDxqGDg8G','DgvZDa','ChvZAa','zgf0yq','D2LUmZi','tw92zs1jDgvT','Bwf4qMfJA2DYB3vUzenVBw1HBMrZr2XVyMfS','r2vUzxjPyYbPBNb1DcbWCM9TChq','C291CMnLia','ChjVy2vZCY1RAwXS','CM0GlxjMic8','C3rKB3v0','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLigzVCIbJB21Tyw5KihrYyw5ZBgf0Aw9U','zNvUy3rPB24G','y29TBwfUzenHDgvNB3j5','C3rKAw4','z2v0qwDLBNrdB21Tyw5KCW','D2fPDgLUz19MB3jFAw5WDxq','ywLtzxj2AwnL','u3rVCc1qCM9JzxnZ','zNjVBq','tM9UzsbKzxrLy3rLza','quKGDhjHBNnSyxrPB24GCMv0DxjUzwqGC2fTzsbJB21Tyw5K','vgvYBwLUywWGrevcvuC6ifvZAw5NigfNzw50ignVBMzPz3vYzwqGD29YA2LUzYbKAxjLy3rVCNK6','DMfSDwvZ','mJiWnta3oe5dDK1tuG','Dw5PEa','AxneAxjLy3rVCNK','ywrKvg9iAxn0B3j5','zxHPDenVzgu','Bw92zsaKmsaKmG','Bg9Nz2vY','zgLYzwn0B3j5lwnYzwf0zq','DhLWzq','DhLWzsbUDwWGpG','qwXSia','Dg9VBhnszwDPC3rYEq','y2f0zwDVCNK','CgXHDgzVCM1qCM92AwrLza','AxndB21Tyw5Kq29TCgf0AwjSzvDPDgHuzxjTAw5HBa','q29UzMLYBwf0Aw9UihbYB21WDa','z3b0ltqTBwLUAq','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','vgvZDc1ozxrdB25Uzwn0Aw9U','Cg93zxjZAgvSBcbfEhbHBMqTqxjJAgL2zq','mJu1odi4C2zzBu1V','AxntEw1IB2XPy0XPBMS','r2v0lunOAwXKsxrLBq','Dw5PDMvYC2fS','BwfW','u0Lhs0Lmta','zgv0zwn0uhjVBxb0','i2LUy2X1zgu','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','cI0Gu3vNz2vZDgvKiefSDgvYBMf0AxzLoIa','yMfZAa','y2XLyw51Ca','C3bLy2LMAwnjC3n1zxm','ywXSB3DLza','y29UzMLKzw5Jzq','y3DK','mJy0ELnZA0fZ','qMfZAcbZAgvSBcaOtgLUDxGVvw5PEc9TywnpuYK','ywDLBNrjzcbPCYbYzxf1AxjLzcbMB3iGyMfJA2DYB3vUzcbJB21Tyw5KCW','r2v0lvbYB2nLC3m','r2v0lunVBNrLBNqGjde','Aw5WDxq'];a0_0x47fd=function(){return _0x465758;};return a0_0x47fd();}import a0_0x262f4f from'path';import a0_0x52a9d4 from'fs/promises';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class PromptDetector{constructor(){const _0xad803b=a0_0x129e;this['promptPatterns']=[{'pattern':/\(y\/n\)/i,'type':'yes-no','description':_0xad803b(0x1dd)},{'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':'Yes/No\x20question'},{'pattern':/\[Y\/n\]/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\[y\/N\]/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/continue\?/i,'type':'continue','description':_0xad803b(0x2a5)},{'pattern':/proceed\?/i,'type':'continue','description':_0xad803b(0x2a0)},{'pattern':/press any key to continue/i,'type':_0xad803b(0x299),'description':_0xad803b(0x29e)},{'pattern':/press enter to continue/i,'type':'keypress','description':_0xad803b(0x223)},{'pattern':/hit enter to continue/i,'type':_0xad803b(0x299),'description':'Hit\x20enter'},{'pattern':/password:/i,'type':'password','description':_0xad803b(0x17e)},{'pattern':/enter password/i,'type':'password','description':_0xad803b(0x17e)},{'pattern':/passphrase:/i,'type':_0xad803b(0x1ae),'description':'Passphrase\x20prompt'},{'pattern':/username:/i,'type':_0xad803b(0x1ad),'description':_0xad803b(0x238)},{'pattern':/enter username/i,'type':'username','description':'Username\x20prompt'},{'pattern':/enter\s+\w+:/i,'type':'input','description':'Generic\x20input\x20prompt'},{'pattern':/please enter/i,'type':'input','description':_0xad803b(0x258)},{'pattern':/input:/i,'type':_0xad803b(0x293),'description':'Generic\x20input\x20prompt'},{'pattern':/are you sure\?/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/do you want to/i,'type':_0xad803b(0x220),'description':_0xad803b(0x279)},{'pattern':/would you like to/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/select an option/i,'type':_0xad803b(0x1cb),'description':_0xad803b(0x212)},{'pattern':/choose/i,'type':_0xad803b(0x1cb),'description':'Selection\x20prompt'},{'pattern':/\d+\)\s+\w+/g,'type':'menu','description':_0xad803b(0x1be)}];}[a0_0x29919e(0x284)](_0x3b7a43,_0x1f2d98='stdout'){const _0xabdd48=a0_0x29919e;if(!_0x3b7a43||_0x3b7a43['trim']()[_0xabdd48(0x1e6)]===0x0)return null;const _0x164c90=_0x3b7a43['split']('\x0a'),_0x68ae9c=_0x164c90['slice'](-0x5)[_0xabdd48(0x19d)]('\x0a');for(const _0x3cc769 of this['promptPatterns']){const _0x352f6b=_0x68ae9c['match'](_0x3cc769[_0xabdd48(0x1c3)]);if(_0x352f6b)return{'detected':!![],'type':_0x3cc769[_0xabdd48(0x272)],'description':_0x3cc769['description'],'matchedText':_0x352f6b[0x0],'matchIndex':_0x352f6b['index'],'source':_0x1f2d98,'fullContext':_0x68ae9c,'timestamp':Date[_0xabdd48(0x191)]()};}const _0x34603b=_0x164c90[_0x164c90['length']-0x1]||'';if(_0x34603b['trim']()['length']>0x0){const _0x3d1176=/:\s*$/['test'](_0x34603b),_0x4fbdfd=/\?\s*$/[_0xabdd48(0x252)](_0x34603b);if(_0x3d1176||_0x4fbdfd){const _0x5a5d5d=/\b(enter|type|provide|specify|input)\b/i[_0xabdd48(0x252)](_0x34603b);if(_0x5a5d5d)return{'detected':!![],'type':'generic','description':'Generic\x20input\x20prompt\x20detected','matchedText':_0x34603b[_0xabdd48(0x230)](),'source':_0x1f2d98,'fullContext':_0x68ae9c,'timestamp':Date['now'](),'confidence':0.7};}}return null;}['detectHang'](_0x11b78f,_0xce89c2=0x7530){const _0x3eb455=a0_0x29919e,_0x29d1bf=Date[_0x3eb455(0x191)](),_0x8be49d=_0x29d1bf-_0x11b78f;return{'isHanging':_0x8be49d>=_0xce89c2,'timeSinceLastOutput':_0x8be49d,'threshold':_0xce89c2,'likelyWaiting':_0x8be49d>=_0xce89c2/0x2};}}class TerminalTool extends BaseTool{constructor(_0x43dae2={},_0x2c4dc2=null){const _0x375045=a0_0x29919e;super(_0x43dae2,_0x2c4dc2),this[_0x375045(0x1fe)]=![],this[_0x375045(0x1de)]=![],this['timeout']=_0x43dae2['timeout']||0x1d4c0,this['maxConcurrentOperations']=_0x43dae2[_0x375045(0x199)]||0x3,this[_0x375045(0x1f7)]=new Map(),this[_0x375045(0x24c)]=[],this['allowedCommands']=_0x43dae2[_0x375045(0x215)]||null,this[_0x375045(0x1c0)]=_0x43dae2[_0x375045(0x1c0)]||[_0x375045(0x25b),'format','del\x20/f\x20/q','shutdown','reboot',_0x375045(0x2a3)],this[_0x375045(0x1a5)]=new a0_0x2ea814(_0x43dae2,_0x2c4dc2),this['promptDetector']=new PromptDetector(),this['commandTracker']=new Map(),this['commandIdCounter']=0x0,this['MAX_BACKGROUND_COMMANDS_PER_AGENT']=_0x43dae2[_0x375045(0x1cf)]||0x5,this['MAX_BACKGROUND_COMMANDS_GLOBAL']=_0x43dae2[_0x375045(0x257)]||0x14,this['MAX_COMMAND_AGE_MINUTES']=_0x43dae2[_0x375045(0x1af)]||0x3c,this['detectedTerminal']=null,this[_0x375045(0x16e)]=null,this[_0x375045(0x237)]();}['getDescription'](){const _0x5e5a3c=a0_0x29919e;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```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22terminal\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22run-command\x22,\x20\x22command\x22:\x20\x22npm\x20install\x20express\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22change-directory\x22,\x20\x22directory\x22:\x20\x22project/backend\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20run-command:\x20Execute\x20a\x20command\x20(command)\x0a-\x20change-directory:\x20Change\x20working\x20directory\x20(directory)\x0a-\x20list-directory:\x20List\x20directory\x20contents\x20(directory)\x0a-\x20create-directory:\x20Create\x20directory\x20(directory)\x20-\x20prefer\x20FileSystem\x20tool\x0a-\x20get-working-directory:\x20Get\x20current\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[_0x5e5a3c(0x1c4)]+_0x5e5a3c(0x1bb);}['parseParameters'](_0x527975){const _0x542dd2=a0_0x29919e;try{const _0x51d994={},_0x213c8c=a0_0x9b5b1f['extractContent'](_0x527975,_0x542dd2(0x2b0)),_0x28fd87=a0_0x9b5b1f[_0x542dd2(0x2a8)](_0x527975,'change-directory'),_0x235b8c=a0_0x9b5b1f['extractContent'](_0x527975,'list-directory'),_0x1646f1=a0_0x9b5b1f[_0x542dd2(0x2a8)](_0x527975,_0x542dd2(0x1a8)),_0xeea3b9=a0_0x9b5b1f['extractContent'](_0x527975,_0x542dd2(0x1aa)),_0x221fed=a0_0x9b5b1f['extractContent'](_0x527975,'timeout'),_0x2fe1ba=a0_0x9b5b1f['extractContent'](_0x527975,'async'),_0x6b43ff=[];return _0x213c8c['length']>0x0&&_0x6b43ff[_0x542dd2(0x253)]({'type':_0x542dd2(0x2b0),'command':_0x213c8c[0x0][_0x542dd2(0x230)]()}),_0x28fd87['length']>0x0&&_0x6b43ff['push']({'type':_0x542dd2(0x1e0),'directory':_0x28fd87[0x0]['trim']()}),_0x235b8c['length']>0x0&&_0x6b43ff[_0x542dd2(0x253)]({'type':'list-directory','directory':_0x235b8c[0x0][_0x542dd2(0x230)]()||'.'}),_0x1646f1['length']>0x0&&_0x6b43ff[_0x542dd2(0x253)]({'type':_0x542dd2(0x1a8),'directory':_0x1646f1[0x0]['trim']()}),_0xeea3b9[_0x542dd2(0x1e6)]>0x0&&_0x6b43ff['push']({'type':_0x542dd2(0x1aa)}),_0x51d994[_0x542dd2(0x16f)]=_0x6b43ff,_0x221fed['length']>0x0&&(_0x51d994[_0x542dd2(0x1c4)]=parseInt(_0x221fed[0x0],0xa)),_0x2fe1ba[_0x542dd2(0x1e6)]>0x0&&(_0x51d994[_0x542dd2(0x202)]=_0x2fe1ba[0x0][_0x542dd2(0x1ba)]()===_0x542dd2(0x1e1)),_0x51d994['rawContent']=_0x527975[_0x542dd2(0x230)](),_0x51d994;}catch(_0x283482){throw new Error('Failed\x20to\x20parse\x20terminal\x20parameters:\x20'+_0x283482['message']);}}['getRequiredParameters'](){const _0x15caf2=a0_0x29919e;return[_0x15caf2(0x16f)];}['customValidateParameters'](_0x5c543b){const _0x509917=a0_0x29919e,_0x193b6b=[];if(!_0x5c543b['actions']||!Array[_0x509917(0x1a3)](_0x5c543b['actions'])||_0x5c543b[_0x509917(0x16f)]['length']===0x0)_0x193b6b['push']('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x2ac4c7,_0x2550ed]of _0x5c543b[_0x509917(0x16f)][_0x509917(0x226)]()){if(!_0x2550ed[_0x509917(0x272)]){_0x193b6b['push']('Action\x20'+(_0x2ac4c7+0x1)+_0x509917(0x1f8));continue;}switch(_0x2550ed[_0x509917(0x272)]){case'run-command':if(!_0x2550ed['command']||!_0x2550ed['command']['trim']())_0x193b6b[_0x509917(0x253)]('Action\x20'+(_0x2ac4c7+0x1)+_0x509917(0x234));else{if(this[_0x509917(0x206)](_0x2550ed['command']))_0x193b6b['push']('Action\x20'+(_0x2ac4c7+0x1)+':\x20command\x20is\x20blocked\x20for\x20security:\x20'+_0x2550ed[_0x509917(0x24e)]);else this['allowedCommands']&&!this['isAllowedCommand'](_0x2550ed[_0x509917(0x24e)])&&_0x193b6b[_0x509917(0x253)](_0x509917(0x18e)+(_0x2ac4c7+0x1)+':\x20command\x20is\x20not\x20in\x20allowed\x20list:\x20'+_0x2550ed[_0x509917(0x24e)]);}break;case'change-directory':case _0x509917(0x1d3):case _0x509917(0x1a8):(!_0x2550ed[_0x509917(0x2a4)]||!_0x2550ed[_0x509917(0x2a4)][_0x509917(0x230)]())&&_0x193b6b['push']('Action\x20'+(_0x2ac4c7+0x1)+_0x509917(0x249)+_0x2550ed['type']);break;case _0x509917(0x1aa):break;default:_0x193b6b[_0x509917(0x253)](_0x509917(0x18e)+(_0x2ac4c7+0x1)+_0x509917(0x20d)+_0x2550ed['type']);}}return _0x5c543b['timeout']&&(_0x5c543b['timeout']<0x3e8||_0x5c543b[_0x509917(0x1c4)]>this[_0x509917(0x1c4)])&&_0x193b6b['push']('Timeout\x20must\x20be\x20between\x201000\x20and\x20'+this[_0x509917(0x1c4)]+_0x509917(0x1a6)),{'valid':_0x193b6b['length']===0x0,'errors':_0x193b6b};}async['execute'](_0x436a42,_0x3cf60f){const _0x2f63f9=a0_0x29919e,{actions:_0x1ad974,timeout:_0x70b49e,async:_0x54be9e}=_0x436a42,{agentId:_0x3d26a9,projectDir:_0x4734b0,directoryAccess:_0x5d8903}=_0x3cf60f,_0x2eab63=_0x5d8903||this[_0x2f63f9(0x1a5)]['createDirectoryAccess']({'workingDirectory':_0x4734b0||process[_0x2f63f9(0x28d)](),'writeEnabledDirectories':[_0x4734b0||process['cwd']()],'restrictToProject':!![]});_0x5d8903&&_0x5d8903['workingDirectory']?console[_0x2f63f9(0x1b1)](_0x2f63f9(0x268),_0x5d8903['workingDirectory']):console[_0x2f63f9(0x1b1)](_0x2f63f9(0x1f3),_0x4734b0||process['cwd']());const _0x25b5b6=_0x3d26a9+'-'+(_0x4734b0||'default');let _0x504097=this[_0x2f63f9(0x1f7)][_0x2f63f9(0x1b8)](_0x25b5b6)||this[_0x2f63f9(0x1a5)]['getWorkingDirectory'](_0x2eab63);const _0x53105d=[];for(const _0x16a6d1 of _0x1ad974){try{let _0x36119b;switch(_0x16a6d1['type']){case _0x2f63f9(0x2b0):_0x36119b=await this['executeCommand'](_0x16a6d1[_0x2f63f9(0x24e)],_0x504097,{'timeout':_0x70b49e||this['timeout'],'async':_0x54be9e||![],'agentId':_0x3d26a9,'context':{'toolsRegistry':_0x3cf60f['toolsRegistry'],'aiService':_0x3cf60f[_0x2f63f9(0x263)],'apiKey':_0x3cf60f['apiKey'],'customApiKeys':_0x3cf60f['customApiKeys'],'platformProvided':_0x3cf60f[_0x2f63f9(0x277)]}});break;case _0x2f63f9(0x1e0):_0x36119b=await this[_0x2f63f9(0x21c)](_0x16a6d1[_0x2f63f9(0x2a4)],_0x504097,_0x2eab63),_0x504097=_0x36119b[_0x2f63f9(0x2a2)],this['workingDirectories']['set'](_0x25b5b6,_0x504097);break;case _0x2f63f9(0x1d3):_0x36119b=await this[_0x2f63f9(0x1db)](_0x16a6d1['directory']==='.'?_0x504097:_0x16a6d1[_0x2f63f9(0x2a4)]);break;case _0x2f63f9(0x1a8):_0x36119b=await this[_0x2f63f9(0x1a4)](_0x16a6d1['directory'],_0x504097);break;case'get-working-directory':_0x36119b={'success':!![],'action':'get-working-directory','workingDirectory':_0x504097,'message':'Current\x20working\x20directory:\x20'+_0x504097};break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x16a6d1[_0x2f63f9(0x272)]);}_0x53105d['push'](_0x36119b),this['addToHistory'](_0x16a6d1,_0x36119b,_0x3d26a9);}catch(_0x22c93f){const _0x50857b={'success':![],'action':_0x16a6d1['type'],'error':_0x22c93f[_0x2f63f9(0x1f6)],'command':_0x16a6d1[_0x2f63f9(0x24e)]||_0x16a6d1[_0x2f63f9(0x2a4)],'workingDirectory':_0x504097};_0x53105d['push'](_0x50857b),this[_0x2f63f9(0x26d)](_0x16a6d1,_0x50857b,_0x3d26a9);}}const _0x3d2a53=_0x53105d[_0x2f63f9(0x193)](_0x2220f4=>_0x2220f4['success']),_0x3a4456=_0x53105d[_0x2f63f9(0x1ee)](_0x302653=>!_0x302653[_0x2f63f9(0x200)]);return{'success':_0x3d2a53,'actions':_0x53105d,'workingDirectory':_0x504097,'executedActions':_0x1ad974['length'],'failedActions':_0x3a4456[_0x2f63f9(0x1e6)],'toolUsed':'terminal','message':_0x3d2a53?_0x2f63f9(0x274)+_0x1ad974['length']+'\x20actions\x20completed\x20successfully':_0x3a4456['length']+'\x20of\x20'+_0x1ad974['length']+'\x20actions\x20failed'};}async[a0_0x29919e(0x244)](_0x510b7e,_0x4b95f4,_0x9a78b3={}){const _0x26f87f=a0_0x29919e,{timeout:timeout=this[_0x26f87f(0x1c4)],async:_0x40d67f=![],agentId:_0x151a9c,context:_0x56a3f9}=_0x9a78b3,_0x250608=_0x510b7e;let _0xfc766e;try{_0xfc766e=await this['translateCommand'](_0x510b7e,{'agentId':_0x151a9c,'toolsRegistry':_0x56a3f9?.['toolsRegistry'],'messageProcessor':_0x56a3f9?.['messageProcessor'],'aiService':_0x56a3f9?.[_0x26f87f(0x263)],'apiKey':_0x56a3f9?.['apiKey'],'customApiKeys':_0x56a3f9?.['customApiKeys'],'platformProvided':_0x56a3f9?.['platformProvided']});}catch(_0x16e8b9){this['logger']?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x250608,'error':_0x16e8b9[_0x26f87f(0x1f6)]}),_0xfc766e=_0x510b7e;}return new Promise((_0x47e2ad,_0x5c64e9)=>{const _0x2c7fb6=_0x26f87f,_0x222019=Date['now']();this['logger']?.['info']('Executing\x20command:\x20'+_0xfc766e,{'originalCommand':_0x250608,'translatedCommand':_0xfc766e,'terminal':this['detectedTerminal'],'workingDirectory':_0x4b95f4,'timeout':timeout,'agentId':_0x151a9c});const _0x532ba7=exec(_0xfc766e,{'cwd':_0x4b95f4,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process[_0x2c7fb6(0x18c)]}},(_0x2ffce8,_0x2bab62,_0x14660d)=>{const _0x2b012c=_0x2c7fb6,_0x51f7a5=Date['now']()-_0x222019;if(_0x2ffce8){this['logger']?.[_0x2b012c(0x209)]('Command\x20failed:\x20'+_0xfc766e,{'originalCommand':_0x250608,'translatedCommand':_0xfc766e,'error':_0x2ffce8['message'],'workingDirectory':_0x4b95f4,'executionTime':_0x51f7a5}),_0x47e2ad({'success':![],'action':'run-command','command':_0x250608,'translatedCommand':_0xfc766e!==_0x250608?_0xfc766e:undefined,'error':_0x2ffce8['message'],'stderr':_0x14660d['trim'](),'stdout':_0x2bab62[_0x2b012c(0x230)](),'exitCode':_0x2ffce8['code'],'executionTime':_0x51f7a5,'workingDirectory':_0x4b95f4});return;}this['logger']?.['info']('Command\x20completed:\x20'+_0xfc766e,{'originalCommand':_0x250608,'translatedCommand':_0xfc766e,'executionTime':_0x51f7a5,'stdoutLength':_0x2bab62['length'],'stderrLength':_0x14660d['length']}),_0x47e2ad({'success':!![],'action':_0x2b012c(0x2b0),'command':_0x250608,'translatedCommand':_0xfc766e!==_0x250608?_0xfc766e:undefined,'stdout':_0x2bab62[_0x2b012c(0x230)](),'stderr':_0x14660d[_0x2b012c(0x230)](),'exitCode':0x0,'executionTime':_0x51f7a5,'workingDirectory':_0x4b95f4,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x51f7a5+'ms'});});setTimeout(()=>{const _0x3c69eb=_0x2c7fb6;!_0x532ba7['killed']&&(_0x532ba7[_0x3c69eb(0x1c5)](_0x3c69eb(0x18a)),_0x5c64e9(new Error(_0x3c69eb(0x296)+timeout+'ms:\x20'+_0xfc766e+'\x20(original:\x20'+_0x250608+')')));},timeout);});}async['executeCommandWithSpawn'](_0x1c7799,_0x12cde1,_0x12a513={}){const _0xcbdf6f=a0_0x29919e,{timeout:timeout=this['timeout'],agentId:_0x2a5514,context:_0x110ec7}=_0x12a513,_0x5dd20b=_0x1c7799;let _0x329173;try{_0x329173=await this['translateCommand'](_0x1c7799,{'agentId':_0x2a5514,'toolsRegistry':_0x110ec7?.[_0xcbdf6f(0x275)],'messageProcessor':_0x110ec7?.[_0xcbdf6f(0x1cd)],'aiService':_0x110ec7?.[_0xcbdf6f(0x263)],'apiKey':_0x110ec7?.['apiKey'],'customApiKeys':_0x110ec7?.['customApiKeys'],'platformProvided':_0x110ec7?.[_0xcbdf6f(0x277)]});}catch(_0x3cd458){this['logger']?.['warn'](_0xcbdf6f(0x1ea),{'originalCommand':_0x5dd20b,'error':_0x3cd458[_0xcbdf6f(0x1f6)]}),_0x329173=_0x1c7799;}return new Promise((_0x2a1d42,_0x1fd3a5)=>{const _0xda1554=_0xcbdf6f,_0x4660e3=Date[_0xda1554(0x191)]();this['logger']?.['info'](_0xda1554(0x236)+_0x329173,{'originalCommand':_0x5dd20b,'translatedCommand':_0x329173,'terminal':this['detectedTerminal'],'workingDirectory':_0x12cde1,'timeout':timeout,'agentId':_0x2a5514});let _0x5d656b;if(this[_0xda1554(0x1c9)]==='cmd'||this['detectedTerminal']===_0xda1554(0x210)){const _0x53aa01=this[_0xda1554(0x1c9)]===_0xda1554(0x210)?'powershell':'cmd',_0xf726a6=this['detectedTerminal']==='powershell'?[_0xda1554(0x2b2),_0x329173]:['/c',_0x329173];_0x5d656b=spawn(_0x53aa01,_0xf726a6,{'cwd':_0x12cde1,'env':{...process['env']},'windowsHide':!![]});}else _0x5d656b=spawn('sh',['-c',_0x329173],{'cwd':_0x12cde1,'env':{...process[_0xda1554(0x18c)]}});let _0x1577f6='',_0x50a584='',_0x486300=![],_0x5c44c1=null,_0x3c2a15=Date['now'](),_0x1308a4=null;const _0x17cbed=setTimeout(()=>{const _0x52426d=_0xda1554;!_0x5d656b['killed']&&_0x5c44c1===null&&(_0x486300=!![],this['logger']?.[_0x52426d(0x1d9)]('Command\x20timed\x20out,\x20killing\x20process:\x20'+_0x329173,{'timeout':timeout,'agentId':_0x2a5514}),_0x5d656b['kill']('SIGTERM'),setTimeout(()=>{const _0x3bc0c0=_0x52426d;!_0x5d656b[_0x3bc0c0(0x22b)]&&_0x5d656b['kill']('SIGKILL');},0x1388));},timeout);_0x5d656b[_0xda1554(0x25c)]['on']('data',_0x11afd6=>{const _0x408a4d=_0xda1554,_0x3beabe=_0x11afd6[_0x408a4d(0x1d5)]();_0x1577f6+=_0x3beabe,_0x3c2a15=Date['now'](),this[_0x408a4d(0x270)]?.[_0x408a4d(0x221)]('Command\x20output\x20chunk:\x20'+_0x3beabe['substring'](0x0,0x64),{'agentId':_0x2a5514,'command':_0x5dd20b['substring'](0x0,0x32)});if(!_0x1308a4){const _0x29e8c7=this[_0x408a4d(0x20b)]['detectPrompt'](_0x1577f6,_0x408a4d(0x25c));_0x29e8c7&&(_0x1308a4=_0x29e8c7,this[_0x408a4d(0x270)]?.[_0x408a4d(0x17c)]('Prompt\x20detected\x20in\x20stdout',{'type':_0x29e8c7[_0x408a4d(0x272)],'description':_0x29e8c7['description'],'matchedText':_0x29e8c7[_0x408a4d(0x1e3)],'agentId':_0x2a5514,'command':_0x5dd20b[_0x408a4d(0x174)](0x0,0x32)}));}}),_0x5d656b['stderr']['on']('data',_0x38a9dc=>{const _0x512c45=_0xda1554,_0x29f9b5=_0x38a9dc['toString']();_0x50a584+=_0x29f9b5,_0x3c2a15=Date['now'](),this['logger']?.[_0x512c45(0x221)](_0x512c45(0x23b)+_0x29f9b5['substring'](0x0,0x64),{'agentId':_0x2a5514,'command':_0x5dd20b[_0x512c45(0x174)](0x0,0x32)});if(!_0x1308a4){const _0x5d01a7=this[_0x512c45(0x20b)]['detectPrompt'](_0x50a584,'stderr');_0x5d01a7&&(_0x1308a4=_0x5d01a7,this['logger']?.[_0x512c45(0x17c)](_0x512c45(0x246),{'type':_0x5d01a7[_0x512c45(0x272)],'description':_0x5d01a7[_0x512c45(0x22a)],'matchedText':_0x5d01a7['matchedText'],'agentId':_0x2a5514,'command':_0x5dd20b[_0x512c45(0x174)](0x0,0x32)}));}}),_0x5d656b['on']('exit',(_0x33fed0,_0x37101b)=>{const _0x41c25c=_0xda1554;clearTimeout(_0x17cbed),_0x5c44c1=_0x33fed0;const _0x4e13ac=Date['now']()-_0x4660e3,_0x206f21=Date[_0x41c25c(0x191)]()-_0x3c2a15;this[_0x41c25c(0x270)]?.['info'](_0x41c25c(0x1f4)+_0x329173,{'exitCode':_0x33fed0,'signal':_0x37101b,'executionTime':_0x4e13ac,'timedOut':_0x486300,'stdoutLength':_0x1577f6['length'],'stderrLength':_0x50a584['length'],'promptDetected':!!_0x1308a4,'timeSinceLastOutput':_0x206f21});const _0x495323={'action':_0x41c25c(0x2b0),'command':_0x5dd20b,'translatedCommand':_0x329173!==_0x5dd20b?_0x329173:undefined,'stdout':_0x1577f6['trim'](),'stderr':_0x50a584[_0x41c25c(0x230)](),'exitCode':_0x33fed0,'executionTime':_0x4e13ac,'workingDirectory':_0x12cde1,'promptDetected':!!_0x1308a4,'promptInfo':_0x1308a4||undefined,'lastOutputTime':_0x3c2a15,'timeSinceLastOutput':_0x206f21};if(_0x486300){_0x2a1d42({..._0x495323,'success':![],'error':'Command\x20timed\x20out\x20after\x20'+timeout+'ms','exitCode':_0x33fed0||-0x1,'timedOut':!![]});return;}if(_0x33fed0!==0x0){this['logger']?.[_0x41c25c(0x209)]('Command\x20failed\x20with\x20exit\x20code\x20'+_0x33fed0+':\x20'+_0x329173,{'originalCommand':_0x5dd20b,'translatedCommand':_0x329173,'exitCode':_0x33fed0,'stderr':_0x50a584[_0x41c25c(0x174)](0x0,0xc8),'executionTime':_0x4e13ac,'promptDetected':!!_0x1308a4}),_0x2a1d42({..._0x495323,'success':![],'error':_0x41c25c(0x1d4)+_0x33fed0});return;}this['logger']?.[_0x41c25c(0x17c)](_0x41c25c(0x1c2)+_0x329173,{'originalCommand':_0x5dd20b,'executionTime':_0x4e13ac,'stdoutLength':_0x1577f6[_0x41c25c(0x1e6)],'stderrLength':_0x50a584[_0x41c25c(0x1e6)],'promptDetected':!!_0x1308a4}),_0x2a1d42({..._0x495323,'success':!![],'exitCode':0x0,'message':_0x41c25c(0x228)+_0x4e13ac+'ms'});}),_0x5d656b['on'](_0xda1554(0x209),_0x34dfc2=>{const _0x4c6afe=_0xda1554;clearTimeout(_0x17cbed);const _0x3abadf=Date[_0x4c6afe(0x191)]()-_0x4660e3,_0x5f05b1=Date['now']()-_0x3c2a15;this['logger']?.['error'](_0x4c6afe(0x22c)+_0x329173,{'originalCommand':_0x5dd20b,'error':_0x34dfc2[_0x4c6afe(0x1f6)],'executionTime':_0x3abadf,'promptDetected':!!_0x1308a4}),_0x2a1d42({'success':![],'action':'run-command','command':_0x5dd20b,'translatedCommand':_0x329173!==_0x5dd20b?_0x329173:undefined,'error':_0x34dfc2['message'],'stderr':_0x50a584['trim'](),'stdout':_0x1577f6[_0x4c6afe(0x230)](),'exitCode':-0x1,'executionTime':_0x3abadf,'workingDirectory':_0x12cde1,'promptDetected':!!_0x1308a4,'promptInfo':_0x1308a4||undefined,'lastOutputTime':_0x3c2a15,'timeSinceLastOutput':_0x5f05b1});});});}async['changeDirectory'](_0x4da83f,_0x3455c9,_0x55015d){const _0x4ca15c=a0_0x29919e;try{let _0x565a3b;a0_0x262f4f['isAbsolute'](_0x4da83f)?_0x565a3b=_0x4da83f:_0x565a3b=a0_0x262f4f['resolve'](_0x3455c9,_0x4da83f);const _0x2a60f0=await a0_0x52a9d4['stat'](_0x565a3b);if(!_0x2a60f0[_0x4ca15c(0x26c)]())throw new Error('Not\x20a\x20directory:\x20'+_0x565a3b);const _0x197b19=this[_0x4ca15c(0x1a5)][_0x4ca15c(0x23d)](_0x565a3b,_0x55015d);if(!_0x197b19[_0x4ca15c(0x28b)]){this['logger']?.[_0x4ca15c(0x1d9)](_0x4ca15c(0x1c1)+_0x197b19[_0x4ca15c(0x181)],{'targetDirectory':_0x565a3b,'reason':_0x197b19[_0x4ca15c(0x181)],'category':_0x197b19['category']});throw new Error('Access\x20denied:\x20'+_0x197b19['reason']);}return{'success':!![],'action':'change-directory','previousDirectory':_0x3455c9,'newDirectory':_0x565a3b,'message':_0x4ca15c(0x2ae)+_0x565a3b};}catch(_0x441e56){throw new Error(_0x4ca15c(0x207)+_0x4da83f+':\x20'+_0x441e56[_0x4ca15c(0x1f6)]);}}async['listDirectory'](_0x29106a){const _0x18d051=a0_0x29919e;try{const _0x2a8ea8=await a0_0x52a9d4['readdir'](_0x29106a,{'withFileTypes':!![]}),_0x404b48=_0x2a8ea8[_0x18d051(0x282)](_0x3aa89c=>({'name':_0x3aa89c[_0x18d051(0x20f)],'type':_0x3aa89c[_0x18d051(0x26c)]()?_0x18d051(0x2a4):'file','isSymlink':_0x3aa89c[_0x18d051(0x27f)]()}));return{'success':!![],'action':_0x18d051(0x1d3),'directory':_0x29106a,'contents':_0x404b48,'totalItems':_0x404b48['length'],'directories':_0x404b48[_0x18d051(0x1ee)](_0x244388=>_0x244388[_0x18d051(0x272)]==='directory')['length'],'files':_0x404b48['filter'](_0x217179=>_0x217179[_0x18d051(0x272)]===_0x18d051(0x20c))['length'],'message':_0x18d051(0x22d)+_0x404b48[_0x18d051(0x1e6)]+'\x20items\x20in\x20'+_0x29106a};}catch(_0x3e7e37){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0x29106a+':\x20'+_0x3e7e37[_0x18d051(0x1f6)]);}}async['createDirectory'](_0x461d6b,_0x11d5a0){const _0x320e78=a0_0x29919e;try{let _0x33b963;return a0_0x262f4f['isAbsolute'](_0x461d6b)?_0x33b963=_0x461d6b:_0x33b963=a0_0x262f4f[_0x320e78(0x189)](_0x11d5a0,_0x461d6b),await a0_0x52a9d4[_0x320e78(0x1ff)](_0x33b963,{'recursive':!![]}),{'success':!![],'action':'create-directory','directory':_0x33b963,'relativePath':a0_0x262f4f['relative'](_0x11d5a0,_0x33b963),'message':'Created\x20directory:\x20'+_0x33b963};}catch(_0x254ac9){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x461d6b+':\x20'+_0x254ac9['message']);}}[a0_0x29919e(0x206)](_0x3ae5e2){const _0x57aaeb=a0_0x29919e,_0x421931=_0x3ae5e2[_0x57aaeb(0x1ba)]()['trim']();return this[_0x57aaeb(0x1c0)]['some'](_0x4de788=>{const _0x135a57=_0x57aaeb,_0x6ffd06=_0x4de788[_0x135a57(0x1ba)]();return _0x421931===_0x6ffd06||_0x421931['startsWith'](_0x6ffd06+'\x20');});}[a0_0x29919e(0x18f)](_0x27e7d6){const _0x4e265c=a0_0x29919e;if(!this[_0x4e265c(0x215)])return!![];const _0x1e0d9a=_0x27e7d6[_0x4e265c(0x1ba)]()[_0x4e265c(0x230)](),_0x4140d6=_0x1e0d9a['split']('\x20')[0x0];return this['allowedCommands'][_0x4e265c(0x242)](_0xe39663=>_0xe39663['toLowerCase']()===_0x4140d6||_0x1e0d9a[_0x4e265c(0x23a)](_0xe39663['toLowerCase']()+'\x20'));}[a0_0x29919e(0x26d)](_0x477b9d,_0x13349a,_0x41fc87){const _0x1afcc0=a0_0x29919e,_0x589ffe={'timestamp':new Date()[_0x1afcc0(0x16d)](),'agentId':_0x41fc87,'action':_0x477b9d['type'],'command':_0x477b9d[_0x1afcc0(0x24e)]||_0x477b9d['directory'],'success':_0x13349a['success'],'executionTime':_0x13349a[_0x1afcc0(0x1eb)]||0x0,'workingDirectory':_0x13349a[_0x1afcc0(0x1df)]};this[_0x1afcc0(0x24c)][_0x1afcc0(0x253)](_0x589ffe),this[_0x1afcc0(0x24c)][_0x1afcc0(0x1e6)]>0x64&&(this['commandHistory']=this[_0x1afcc0(0x24c)]['slice'](-0x64));}[a0_0x29919e(0x1da)](){const _0x4b86d1=a0_0x29919e;return[_0x4b86d1(0x2b0),_0x4b86d1(0x1e0),'list-directory',_0x4b86d1(0x1a8),'get-working-directory'];}['getParameterSchema'](){const _0x5a27eb=a0_0x29919e;return{'type':'object','properties':{'actions':{'type':_0x5a27eb(0x23e),'minItems':0x1,'items':{'type':_0x5a27eb(0x217),'properties':{'type':{'type':_0x5a27eb(0x1d2),'enum':this['getSupportedActions']()},'command':{'type':'string'},'directory':{'type':'string'}},'required':[_0x5a27eb(0x272)]}},'timeout':{'type':_0x5a27eb(0x176),'minimum':0x3e8,'maximum':this['timeout']},'async':{'type':'boolean'}},'required':[_0x5a27eb(0x16f)]};}[a0_0x29919e(0x225)](_0x13a9bd=null){const _0x197073=a0_0x29919e;if(_0x13a9bd)return this['commandHistory']['filter'](_0x1b7f84=>_0x1b7f84[_0x197073(0x1fb)]===_0x13a9bd);return[...this['commandHistory']];}['clearWorkingDirectory'](_0x11ae0e){const _0x5918e6=a0_0x29919e;for(const [_0x22ada7]of this['workingDirectories']){_0x22ada7['startsWith'](_0x11ae0e+'-')&&this[_0x5918e6(0x1f7)][_0x5918e6(0x24b)](_0x22ada7);}}[a0_0x29919e(0x2ab)](_0x5597e5,_0x1d9ba4=null){const _0x1fcb14=a0_0x29919e,_0x17d5c5=_0x5597e5+'-'+(_0x1d9ba4||'default');return this[_0x1fcb14(0x1f7)][_0x1fcb14(0x1b8)](_0x17d5c5)||_0x1d9ba4||process[_0x1fcb14(0x28d)]();}['initializeTerminalDetection'](){const _0x226763=a0_0x29919e;this['platformType']=process['platform'];if(process['platform']===_0x226763(0x255)){if(process[_0x226763(0x18c)][_0x226763(0x2aa)])this['detectedTerminal']='powershell';else process['env']['SHELL']&&process[_0x226763(0x18c)][_0x226763(0x1e9)][_0x226763(0x1fd)](_0x226763(0x288))?this[_0x226763(0x1c9)]='bash':this['detectedTerminal']='cmd';}else process[_0x226763(0x2a7)]==='darwin'?this[_0x226763(0x1c9)]='bash':this['detectedTerminal']=_0x226763(0x288);this['logger']?.['info'](_0x226763(0x218),{'platform':this['platformType'],'terminal':this['detectedTerminal'],'shell':process[_0x226763(0x18c)][_0x226763(0x1e9)]});}async['translateCommand'](_0xd1035c,_0x43a31f={}){const _0x25b190=a0_0x29919e,_0x238cde=_0xd1035c[_0x25b190(0x230)](),_0x32c9b1=this[_0x25b190(0x1a0)](_0x238cde);this['logger']?.[_0x25b190(0x17c)]('Command\x20compatibility\x20analysis',{'command':_0x238cde,'detectedTerminal':_0x32c9b1['detectedTerminal'],'commandType':_0x32c9b1['commandType'],'commandCategory':_0x32c9b1[_0x25b190(0x25f)],'compatible':_0x32c9b1['compatible'],'issues':_0x32c9b1['specificIssues'],'suggestedAction':_0x32c9b1[_0x25b190(0x21d)],'confidence':_0x32c9b1['confidence']});if(_0x32c9b1['compatible'])return _0xd1035c;let _0x4ca481=null;if(this[_0x25b190(0x1c9)]==='cmd')_0x4ca481=this[_0x25b190(0x1e7)](_0x238cde);else{if(this[_0x25b190(0x1c9)]==='powershell')_0x4ca481=this[_0x25b190(0x232)](_0x238cde);else this[_0x25b190(0x1c9)]==='bash'&&(_0x4ca481=this[_0x25b190(0x166)](_0x238cde));}if(_0x4ca481&&this['isSimpleCommand'](_0x238cde))return this['logger']?.[_0x25b190(0x17c)]('Using\x20simple\x20translation',{'original':_0xd1035c,'translated':_0x4ca481,'method':_0x25b190(0x21a)}),_0x4ca481;if(_0x43a31f[_0x25b190(0x263)]||_0x43a31f['toolsRegistry']&&_0x43a31f['agentId']){this[_0x25b190(0x270)]?.[_0x25b190(0x17c)]('Attempting\x20AI\x20translation\x20for\x20complex\x20command',{'command':_0xd1035c[_0x25b190(0x174)](0x0,0x64)+'...','hasAiService':!!_0x43a31f[_0x25b190(0x263)],'hasToolsRegistry':!!_0x43a31f['toolsRegistry'],'agentId':_0x43a31f['agentId']});try{const _0x511d6a=await this['translateCommandWithAI'](_0xd1035c,_0x43a31f);if(_0x511d6a&&_0x511d6a[_0x25b190(0x230)]()!==_0xd1035c[_0x25b190(0x230)]())return this[_0x25b190(0x270)]?.['info'](_0x25b190(0x229),{'original':_0xd1035c,'translated':_0x511d6a,'method':'ai'}),_0x511d6a;else this[_0x25b190(0x270)]?.['warn'](_0x25b190(0x267),{'original':_0xd1035c,'translated':_0x511d6a});}catch(_0xa48637){this[_0x25b190(0x270)]?.[_0x25b190(0x1d9)]('AI\x20translation\x20failed,\x20falling\x20back\x20to\x20simple\x20translation',{'original':_0xd1035c,'error':_0xa48637['message'],'stack':_0xa48637['stack']});}}else this['logger']?.[_0x25b190(0x1d9)](_0x25b190(0x1ab),{'hasAiService':!!_0x43a31f[_0x25b190(0x263)],'hasToolsRegistry':!!_0x43a31f['toolsRegistry'],'hasAgentId':!!_0x43a31f[_0x25b190(0x1fb)],'contextKeys':Object['keys'](_0x43a31f)});return _0x4ca481||_0xd1035c;}[a0_0x29919e(0x186)](_0x395333){const _0x1dbf28=a0_0x29919e,_0x29aff8=_0x395333[_0x1dbf28(0x1ba)]();if(_0x395333[_0x1dbf28(0x1fd)]('\x5cn')||_0x395333[_0x1dbf28(0x1fd)]('\x5cr')||_0x395333['includes']('\x5ct'))return![];if(_0x395333[_0x1dbf28(0x1fd)]('\x0a')||_0x395333['includes']('\x0d'))return![];if(_0x395333['includes'](_0x1dbf28(0x285))||_0x395333[_0x1dbf28(0x1fd)]('printf')||_0x395333[_0x1dbf28(0x1fd)](_0x1dbf28(0x1a7)))return![];if(_0x395333[_0x1dbf28(0x1fd)](_0x1dbf28(0x208))||_0x395333['includes'](_0x1dbf28(0x25e))||_0x395333['includes']('class\x20'))return![];if(_0x395333[_0x1dbf28(0x1fd)](_0x1dbf28(0x20a))&&!_0x395333['includes']('echo\x20\x22'))return![];const _0x51d320=_0x395333['match'](/'([^']*)'/);if(_0x51d320&&_0x51d320[0x1]['length']>0x32)return![];if(this['detectedTerminal']==='cmd'&&_0x395333[_0x1dbf28(0x1fd)]('>')&&_0x395333[_0x1dbf28(0x1fd)]('/')&&!_0x395333[_0x1dbf28(0x1fd)]('\x5c'))return![];if(_0x395333['includes']('\x20&&\x20')||_0x395333[_0x1dbf28(0x1fd)]('\x20||\x20')||_0x395333[_0x1dbf28(0x1fd)](';\x20'))return![];if(_0x395333[_0x1dbf28(0x1fd)]('$(')||_0x395333[_0x1dbf28(0x1fd)]('`')||_0x395333[_0x1dbf28(0x1fd)]('{')||_0x395333['includes']('['))return![];if(_0x29aff8['includes']('for\x20')||_0x29aff8[_0x1dbf28(0x1fd)]('while\x20')||_0x29aff8['includes']('if\x20'))return![];if(_0x29aff8['includes']('export ')||_0x29aff8['includes'](_0x1dbf28(0x259)))return![];if(_0x395333[_0x1dbf28(0x1fd)]('\x20|\x20')||_0x395333[_0x1dbf28(0x1fd)](_0x1dbf28(0x173)))return![];return!![];}async['translateCommandWithAI'](_0x27bdb7,_0x3b4e78){const _0x35b78a=a0_0x29919e;let _0x1e5751=_0x3b4e78[_0x35b78a(0x263)];if(!_0x1e5751&&_0x3b4e78[_0x35b78a(0x275)]&&_0x3b4e78[_0x35b78a(0x1fb)]){const _0x5cd7c9=_0x3b4e78[_0x35b78a(0x1cd)];_0x5cd7c9&&_0x5cd7c9['aiService']&&(_0x1e5751=_0x5cd7c9['aiService']);}if(!_0x1e5751)throw new Error(_0x35b78a(0x25d));const _0x44b0db=this[_0x35b78a(0x1bf)](_0x27bdb7),_0x5e9bc0=_0x35b78a(0x27a);try{const _0x1ce80c=await _0x1e5751['sendMessage'](_0x5e9bc0,_0x44b0db,{'agentId':_0x3b4e78[_0x35b78a(0x1fb)],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x3b4e78['apiKey'],'customApiKeys':_0x3b4e78[_0x35b78a(0x1cc)],'platformProvided':_0x3b4e78['platformProvided']}),_0xe34f1b=this['extractTranslatedCommand'](_0x1ce80c['content']);return this[_0x35b78a(0x270)]?.[_0x35b78a(0x221)]('AI\x20command\x20translation\x20completed',{'original':_0x27bdb7,'translated':_0xe34f1b,'model':_0x5e9bc0,'terminal':this[_0x35b78a(0x1c9)]}),_0xe34f1b;}catch(_0x3224fb){this[_0x35b78a(0x270)]?.[_0x35b78a(0x209)]('AI\x20command\x20translation\x20failed',{'command':_0x27bdb7,'terminal':this['detectedTerminal'],'error':_0x3224fb['message']});throw _0x3224fb;}}[a0_0x29919e(0x1bf)](_0x4b1703){const _0x43a41d=a0_0x29919e,_0xfdb30e={'cmd':'Windows\x20Command\x20Prompt\x20(cmd.exe)','powershell':'Windows\x20PowerShell','bash':_0x43a41d(0x28f)},_0x10d34b=_0xfdb30e[this['detectedTerminal']]||this[_0x43a41d(0x1c9)],_0x53b60f=this[_0x43a41d(0x1a0)](_0x4b1703);let _0x706b0d='Translate\x20this\x20command\x20to\x20work\x20correctly\x20in\x20'+_0x10d34b+':\x0a\x0aORIGINAL\x20COMMAND:\x0a```\x0a'+_0x4b1703+'\x0a```\x0a\x0aCOMMAND\x20ANALYSIS:\x0a-\x20Command\x20Type:\x20'+_0x53b60f[_0x43a41d(0x1dc)]+_0x43a41d(0x184)+_0x53b60f['commandCategory']+_0x43a41d(0x187)+_0x10d34b+'\x0a-\x20Compatibility\x20Issues:\x20'+(_0x53b60f[_0x43a41d(0x28a)]['join'](',\x20')||_0x43a41d(0x266));return _0x53b60f[_0x43a41d(0x1dc)]===_0x43a41d(0x26b)&&_0x53b60f[_0x43a41d(0x178)]&&_0x53b60f[_0x43a41d(0x178)][this['detectedTerminal']]&&(_0x706b0d+=_0x43a41d(0x287)+_0x53b60f[_0x43a41d(0x178)][this['detectedTerminal']]),_0x706b0d+='\x0a\x0aREQUIREMENTS:\x0a1.\x20Make\x20the\x20command\x20work\x20correctly\x20in\x20'+_0x10d34b+'\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:',_0x706b0d;}['extractTranslatedCommand'](_0x1e09eb){const _0x127436=a0_0x29919e;let _0x369a14=_0x1e09eb['replace'](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x369a14=_0x369a14[_0x127436(0x1b7)](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x4995a5=_0x369a14[_0x127436(0x230)]()['split']('\x0a');return _0x4995a5['length']>0x1&&!_0x369a14[_0x127436(0x1fd)]('&&')&&!_0x369a14['includes']('||')&&(_0x369a14=_0x4995a5[0x0][_0x127436(0x230)]()),_0x369a14[_0x127436(0x230)]();}[a0_0x29919e(0x1a0)](_0x2c75b4){const _0x213744=a0_0x29919e,_0x293383=this[_0x213744(0x1bd)](_0x2c75b4),_0x2b3ff6=this[_0x213744(0x278)](_0x293383,this[_0x213744(0x1c9)]);return{'compatible':_0x2b3ff6,'detectedTerminal':this['detectedTerminal'],'commandType':_0x293383[_0x213744(0x272)],'commandCategory':_0x293383['category'],'specificIssues':_0x293383[_0x213744(0x245)],'suggestedAction':_0x2b3ff6?'execute':_0x213744(0x241),'confidence':_0x293383[_0x213744(0x28c)]};}['isCommandCompatible'](_0x2ab675){return this['analyzeCommandCompatibility'](_0x2ab675)['compatible'];}['classifyCommand'](_0x455f7f){const _0x4c746a=a0_0x29919e,_0x29ae8d=_0x455f7f['toLowerCase']()[_0x4c746a(0x230)](),_0xece924=_0x29ae8d['split']('\x20')[0x0],_0x12e459=[];let _0x2c3893=0.9;const _0x3ae0b0={'ls':{'category':'file-listing','alternatives':{'cmd':'dir','powershell':_0x4c746a(0x280)}},'cat':{'category':'file-viewing','alternatives':{'cmd':'type','powershell':'Get-Content'}},'grep':{'category':'text-search','alternatives':{'cmd':_0x4c746a(0x188),'powershell':'Select-String'}},'find':{'category':'file-search','alternatives':{'cmd':'dir\x20/s','powershell':_0x4c746a(0x1fa)}},'head':{'category':_0x4c746a(0x2a9),'alternatives':{'cmd':'more','powershell':'Get-Content\x20-Head'}},'tail':{'category':_0x4c746a(0x2a9),'alternatives':{'cmd':_0x4c746a(0x22f),'powershell':_0x4c746a(0x168)}},'wc':{'category':'text-analysis','alternatives':{'cmd':_0x4c746a(0x2ac),'powershell':'Measure-Object'}},'cp':{'category':_0x4c746a(0x16c),'alternatives':{'cmd':_0x4c746a(0x24d),'powershell':'Copy-Item'}},'mv':{'category':'file-move','alternatives':{'cmd':_0x4c746a(0x1b4),'powershell':_0x4c746a(0x256)}},'rm':{'category':_0x4c746a(0x2ad),'alternatives':{'cmd':_0x4c746a(0x219),'powershell':_0x4c746a(0x1ed)}},'mkdir':{'category':_0x4c746a(0x271),'alternatives':{'cmd':'mkdir','powershell':_0x4c746a(0x213)}},'rmdir':{'category':'directory-delete','alternatives':{'cmd':'rmdir','powershell':_0x4c746a(0x1ed)}},'touch':{'category':'file-create','alternatives':{'cmd':_0x4c746a(0x273),'powershell':_0x4c746a(0x192)}},'chmod':{'category':_0x4c746a(0x22e),'alternatives':{'cmd':'icacls','powershell':'Set-Acl'}},'chown':{'category':'ownership','alternatives':{'cmd':_0x4c746a(0x182),'powershell':'Set-Acl'}},'ps':{'category':'process-list','alternatives':{'cmd':'tasklist','powershell':_0x4c746a(0x291)}},'kill':{'category':_0x4c746a(0x25a),'alternatives':{'cmd':_0x4c746a(0x1b6),'powershell':'Stop-Process'}},'killall':{'category':_0x4c746a(0x25a),'alternatives':{'cmd':'taskkill\x20/f\x20/im','powershell':_0x4c746a(0x1e4)}},'top':{'category':_0x4c746a(0x1b2),'alternatives':{'cmd':_0x4c746a(0x1ef),'powershell':'Get-Process\x20|\x20Sort-Object\x20CPU'}},'wget':{'category':_0x4c746a(0x198),'alternatives':{'cmd':'curl','powershell':'Invoke-WebRequest'}},'curl':{'category':'http-client','alternatives':{'cmd':_0x4c746a(0x179),'powershell':_0x4c746a(0x204)}},'ping':{'category':'network-test','alternatives':{'cmd':_0x4c746a(0x297),'powershell':_0x4c746a(0x27c)}},'awk':{'category':'text-processing','alternatives':{'cmd':'for\x20/f','powershell':'ForEach-Object'}},'sed':{'category':_0x4c746a(0x29b),'alternatives':{'cmd':_0x4c746a(0x1fc),'powershell':'native'}},'sort':{'category':'text-sort','alternatives':{'cmd':'sort','powershell':_0x4c746a(0x1b5)}},'uniq':{'category':'text-dedupe','alternatives':{'cmd':_0x4c746a(0x1f9),'powershell':_0x4c746a(0x19f)}},'pwd':{'category':_0x4c746a(0x29f),'alternatives':{'cmd':'cd','powershell':'Get-Location'}},'whoami':{'category':_0x4c746a(0x21b),'alternatives':{'cmd':'echo\x20%USERNAME%','powershell':_0x4c746a(0x240)}},'env':{'category':'environment','alternatives':{'cmd':'set','powershell':_0x4c746a(0x29c)}},'export':{'category':_0x4c746a(0x250),'alternatives':{'cmd':_0x4c746a(0x1d8),'powershell':'$env:'}},'source':{'category':'script-execute','alternatives':{'cmd':_0x4c746a(0x1ac),'powershell':'.\x20'}},'tar':{'category':'archive','alternatives':{'cmd':'7z','powershell':'Compress-Archive'}},'zip':{'category':'archive','alternatives':{'cmd':'powershell\x20Compress-Archive','powershell':_0x4c746a(0x24a)}},'unzip':{'category':'archive','alternatives':{'cmd':_0x4c746a(0x27d),'powershell':'Expand-Archive'}},'df':{'category':_0x4c746a(0x2b1),'alternatives':{'cmd':_0x4c746a(0x1f1),'powershell':'Get-WmiObject\x20-Class\x20Win32_LogicalDisk'}},'du':{'category':'disk-usage','alternatives':{'cmd':'dir\x20/s','powershell':_0x4c746a(0x19e)}},'free':{'category':_0x4c746a(0x247),'alternatives':{'cmd':'systeminfo','powershell':_0x4c746a(0x211)}},'uname':{'category':'system-info','alternatives':{'cmd':'systeminfo','powershell':'Get-ComputerInfo'}}},_0x29a323={'dir':{'category':_0x4c746a(0x222),'alternatives':{'unix':'ls','powershell':_0x4c746a(0x280)}},'type':{'category':_0x4c746a(0x2a9),'alternatives':{'unix':_0x4c746a(0x169),'powershell':_0x4c746a(0x1a2)}},'copy':{'category':'file-copy','alternatives':{'unix':'cp','powershell':'Copy-Item'}},'move':{'category':'file-move','alternatives':{'unix':'mv','powershell':'Move-Item'}},'del':{'category':'file-delete','alternatives':{'unix':'rm','powershell':'Remove-Item'}},'tasklist':{'category':_0x4c746a(0x294),'alternatives':{'unix':'ps','powershell':'Get-Process'}},'taskkill':{'category':_0x4c746a(0x25a),'alternatives':{'unix':_0x4c746a(0x1c5),'powershell':_0x4c746a(0x264)}},'findstr':{'category':'text-search','alternatives':{'unix':_0x4c746a(0x195),'powershell':'Select-String'}}},_0x1aef1e={'get-childitem':{'category':'file-listing','alternatives':{'unix':'ls','cmd':'dir'}},'get-content':{'category':'file-viewing','alternatives':{'unix':'cat','cmd':'type'}},'copy-item':{'category':_0x4c746a(0x16c),'alternatives':{'unix':'cp','cmd':_0x4c746a(0x24d)}},'move-item':{'category':'file-move','alternatives':{'unix':'mv','cmd':'move'}},'remove-item':{'category':'file-delete','alternatives':{'unix':'rm','cmd':_0x4c746a(0x219)}},'get-process':{'category':_0x4c746a(0x294),'alternatives':{'unix':'ps','cmd':_0x4c746a(0x1ef)}},'stop-process':{'category':_0x4c746a(0x25a),'alternatives':{'unix':'kill','cmd':'taskkill'}}};let _0x563763=_0x4c746a(0x24f),_0x5ca487='unknown',_0x258b00={};if(_0x3ae0b0[_0xece924])_0x563763=_0x4c746a(0x26b),_0x5ca487=_0x3ae0b0[_0xece924][_0x4c746a(0x276)],_0x258b00=_0x3ae0b0[_0xece924][_0x4c746a(0x178)];else{if(_0x29a323[_0xece924])_0x563763=_0x4c746a(0x205),_0x5ca487=_0x29a323[_0xece924][_0x4c746a(0x276)],_0x258b00=_0x29a323[_0xece924]['alternatives'];else{if(_0x1aef1e[_0xece924])_0x563763='powershell',_0x5ca487=_0x1aef1e[_0xece924]['category'],_0x258b00=_0x1aef1e[_0xece924]['alternatives'];else{const _0xb4750b=[_0x4c746a(0x17d),'cd','exit',_0x4c746a(0x216)];_0xb4750b[_0x4c746a(0x1fd)](_0xece924)?(_0x563763=_0x4c746a(0x281),_0x5ca487=_0x4c746a(0x1a1)):(_0x563763='unknown',_0x2c3893=0.3);}}}return _0x455f7f['includes']('\x27')&&!_0x455f7f['includes']('\x22')&&_0x12e459['push']('single-quotes-problematic'),_0x455f7f['includes']('/')&&!_0x455f7f[_0x4c746a(0x1fd)]('\x5c')&&!_0x455f7f[_0x4c746a(0x1fd)](_0x4c746a(0x167))&&_0x455f7f['includes']('>')&&_0x12e459['push'](_0x4c746a(0x298)),(_0x455f7f['includes']('\x5cn')||_0x455f7f[_0x4c746a(0x1fd)]('\x5ct'))&&_0x12e459[_0x4c746a(0x253)]('escape-sequences'),(_0x455f7f[_0x4c746a(0x1fd)]('\x20&&\x20')||_0x455f7f[_0x4c746a(0x1fd)]('\x20||\x20')||_0x455f7f['includes'](';'))&&_0x12e459['push']('command-chaining'),{'type':_0x563763,'category':_0x5ca487,'alternatives':_0x258b00,'issues':_0x12e459,'confidence':_0x2c3893,'firstWord':_0xece924,'fullCommand':_0x455f7f};}[a0_0x29919e(0x278)](_0x5ece5d,_0x51bd36){const _0x59712c=a0_0x29919e;switch(_0x51bd36){case _0x59712c(0x1d6):if(_0x5ece5d['type']===_0x59712c(0x26b))return![];if(_0x5ece5d[_0x59712c(0x245)][_0x59712c(0x1fd)]('single-quotes-problematic'))return![];if(_0x5ece5d['issues']['includes']('unix-style-paths'))return![];return _0x5ece5d[_0x59712c(0x272)]==='windows-cmd'||_0x5ece5d[_0x59712c(0x272)]==='universal';case'powershell':if(_0x5ece5d[_0x59712c(0x272)]===_0x59712c(0x26b)&&!_0x5ece5d[_0x59712c(0x178)]['powershell'])return![];return!![];case _0x59712c(0x288):if(_0x5ece5d[_0x59712c(0x272)]==='windows-cmd')return![];return _0x5ece5d['type']===_0x59712c(0x26b)||_0x5ece5d[_0x59712c(0x272)]===_0x59712c(0x281);default:return![];}}['translateToWindowsCmd'](_0x48903b){const _0x4813f9=a0_0x29919e;let _0x1d608b=_0x48903b;const _0x267b87=new Map([[/^ls\s*$/,'dir'],[/^ls\s+-la?$/,_0x4813f9(0x1e2)],[/^ls\s+-l$/,_0x4813f9(0x1e2)],[/^ls\s+-a$/,_0x4813f9(0x1b9)],[/^cat\s+(.+)$/,'type\x20$1'],[/^cp\s+(.+)\s+(.+)$/,_0x4813f9(0x224)],[/^mv\s+(.+)\s+(.+)$/,_0x4813f9(0x26f)],[/^rm\s+(.+)$/,_0x4813f9(0x1ca)],[/^mkdir\s+(.+)$/,'mkdir\x20$1'],[/^rmdir\s+(.+)$/,_0x4813f9(0x21f)],[/^ps\s*$/,_0x4813f9(0x1ef)],[/^kill\s+(.+)$/,'taskkill\x20/PID\x20$1'],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,_0x4813f9(0x23c)],[/^ping\s+(.+)$/,_0x4813f9(0x171)],[/^wget\s+(.+)$/,_0x4813f9(0x190)],[/^curl\s+(.+)$/,'curl\x20$1']]);for(const [_0x4f1742,_0x991146]of _0x267b87){if(_0x4f1742[_0x4813f9(0x252)](_0x1d608b)){_0x1d608b=_0x1d608b['replace'](_0x4f1742,_0x991146);break;}}_0x1d608b=_0x1d608b[_0x4813f9(0x1b7)](/echo\s+'([^']+)'\s*>/g,_0x4813f9(0x227)),_0x1d608b=_0x1d608b['replace'](/echo\s+'([^']+)'$/g,'echo\x20\x22$1\x22');if(_0x1d608b[_0x4813f9(0x1fd)]('echo\x20\x27')&&_0x1d608b[_0x4813f9(0x1fd)]('\x5cn')){const _0x2477e0=_0x1d608b[_0x4813f9(0x1b3)](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0x2477e0){const _0x3e938a=_0x2477e0[0x1][_0x4813f9(0x1b7)](/\\n/g,'\x0a'),_0x10c086=_0x2477e0[0x2],_0x2f8dad=_0x3e938a['split']('\x0a');_0x1d608b='('+_0x2f8dad['map'](_0x317198=>_0x4813f9(0x1f5)+_0x317198)['join'](_0x4813f9(0x29a))+')\x20>\x20'+_0x10c086;}}return this['logger']?.['info']('Command\x20translated\x20for\x20Windows\x20CMD',{'original':_0x48903b,'translated':_0x1d608b}),_0x1d608b;}['translateToPowerShell'](_0x465e61){const _0x3d3738=a0_0x29919e;let _0x40ba9b=_0x465e61;const _0x3b8159=new Map([[/^ls\s*$/,'Get-ChildItem'],[/^ls\s+-la?$/,_0x3d3738(0x201)],[/^cat\s+(.+)$/,_0x3d3738(0x292)],[/^cp\s+(.+)\s+(.+)$/,'Copy-Item\x20$1\x20$2'],[/^mv\s+(.+)\s+(.+)$/,'Move-Item\x20$1\x20$2'],[/^rm\s+(.+)$/,_0x3d3738(0x239)],[/^pwd\s*$/,'Get-Location'],[/^ps\s*$/,'Get-Process']]);for(const [_0x134517,_0xc9e485]of _0x3b8159){if(_0x134517[_0x3d3738(0x252)](_0x40ba9b)){_0x40ba9b=_0x40ba9b['replace'](_0x134517,_0xc9e485);break;}}return this[_0x3d3738(0x270)]?.['info'](_0x3d3738(0x1ec),{'original':_0x465e61,'translated':_0x40ba9b}),_0x40ba9b;}[a0_0x29919e(0x166)](_0x2a5b4f){const _0x2a9658=a0_0x29919e;let _0x42e6f8=_0x2a5b4f;const _0x36ced0=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,_0x2a9658(0x177)],[/^type\s+(.+)$/,_0x2a9658(0x231)],[/^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 [_0x1ca8c5,_0xd6b79e]of _0x36ced0){if(_0x1ca8c5['test'](_0x42e6f8)){_0x42e6f8=_0x42e6f8['replace'](_0x1ca8c5,_0xd6b79e);break;}}return _0x42e6f8;}async[a0_0x29919e(0x289)](_0x1659bd){}async[a0_0x29919e(0x19c)](_0x3b88df,_0x356366,_0x16c88d={}){const _0x5a8e06=a0_0x29919e,{agentId:_0x36e42c,context:_0x102207}=_0x16c88d;if(!_0x36e42c)throw new Error(_0x5a8e06(0x290));const _0x465e78=this['getAgentCommands'](_0x36e42c),_0x133959=_0x465e78['filter'](_0x233490=>_0x233490[_0x5a8e06(0x17a)]==='running'||_0x233490[_0x5a8e06(0x17a)]===_0x5a8e06(0x262));if(_0x133959[_0x5a8e06(0x1e6)]>=this['MAX_BACKGROUND_COMMANDS_PER_AGENT'])throw new Error('Maximum\x20background\x20commands\x20per\x20agent\x20exceeded\x20('+this[_0x5a8e06(0x286)]+')');const _0x4c7fdf=Array[_0x5a8e06(0x265)](this['commandTracker'][_0x5a8e06(0x269)]()),_0x3ff3db=_0x4c7fdf[_0x5a8e06(0x1ee)](_0x1e4af9=>_0x1e4af9['state']==='running'||_0x1e4af9['state']==='waiting_for_input');if(_0x3ff3db[_0x5a8e06(0x1e6)]>=this[_0x5a8e06(0x27b)])throw new Error(_0x5a8e06(0x29d)+this['MAX_BACKGROUND_COMMANDS_GLOBAL']+')');const _0x46dcba=_0x36e42c+'-cmd-'+Date[_0x5a8e06(0x191)]()+'-'+ ++this[_0x5a8e06(0x2a6)],_0x5c0bc6=_0x3b88df;let _0x23975f;try{_0x23975f=await this[_0x5a8e06(0x21e)](_0x3b88df,{'agentId':_0x36e42c,'toolsRegistry':_0x102207?.[_0x5a8e06(0x275)],'messageProcessor':_0x102207?.[_0x5a8e06(0x1cd)],'aiService':_0x102207?.['aiService'],'apiKey':_0x102207?.['apiKey'],'customApiKeys':_0x102207?.['customApiKeys'],'platformProvided':_0x102207?.['platformProvided']});}catch(_0x3b594b){this[_0x5a8e06(0x270)]?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x5c0bc6,'error':_0x3b594b['message']}),_0x23975f=_0x3b88df;}this[_0x5a8e06(0x270)]?.['info'](_0x5a8e06(0x17b)+_0x23975f,{'commandId':_0x46dcba,'agentId':_0x36e42c,'originalCommand':_0x5c0bc6,'workingDirectory':_0x356366});let _0x2ff5ea;if(this['detectedTerminal']===_0x5a8e06(0x1d6)||this[_0x5a8e06(0x1c9)]==='powershell'){const _0x2a401b=this[_0x5a8e06(0x1c9)]==='powershell'?_0x5a8e06(0x210):_0x5a8e06(0x1d6),_0x182c73=this['detectedTerminal']===_0x5a8e06(0x210)?['-Command',_0x23975f]:['/c',_0x23975f];_0x2ff5ea=spawn(_0x2a401b,_0x182c73,{'cwd':_0x356366,'env':{...process[_0x5a8e06(0x18c)]},'windowsHide':!![],'stdio':['pipe','pipe','pipe']});}else _0x2ff5ea=spawn('sh',['-c',_0x23975f],{'cwd':_0x356366,'env':{...process[_0x5a8e06(0x18c)]},'stdio':[_0x5a8e06(0x196),'pipe',_0x5a8e06(0x196)]});const _0x3cfdc1={'commandId':_0x46dcba,'agentId':_0x36e42c,'pid':_0x2ff5ea['pid'],'command':_0x5c0bc6,'translatedCommand':_0x23975f,'workingDirectory':_0x356366,'startTime':new Date()[_0x5a8e06(0x16d)](),'state':'running','exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date[_0x5a8e06(0x191)](),'promptDetected':null,'process':_0x2ff5ea};return this['commandTracker'][_0x5a8e06(0x1d8)](_0x46dcba,_0x3cfdc1),_0x2ff5ea['stdout']['on'](_0x5a8e06(0x254),_0x3f6a1e=>{const _0x47501d=_0x5a8e06,_0x287414=_0x3f6a1e['toString']();_0x3cfdc1[_0x47501d(0x248)]+=_0x287414,_0x3cfdc1['lastOutputTime']=Date['now']();if(!_0x3cfdc1['promptDetected']){const _0x51742f=this[_0x47501d(0x20b)][_0x47501d(0x284)](_0x3cfdc1[_0x47501d(0x248)],_0x47501d(0x25c));_0x51742f&&(_0x3cfdc1[_0x47501d(0x1e8)]=_0x51742f,_0x3cfdc1['state']=_0x47501d(0x262),this[_0x47501d(0x270)]?.[_0x47501d(0x17c)](_0x47501d(0x1f0),{'commandId':_0x46dcba,'agentId':_0x36e42c,'type':_0x51742f[_0x47501d(0x272)],'matchedText':_0x51742f['matchedText']}));}}),_0x2ff5ea[_0x5a8e06(0x20e)]['on']('data',_0x6b72d3=>{const _0x1ac35c=_0x5a8e06,_0x3034c7=_0x6b72d3[_0x1ac35c(0x1d5)]();_0x3cfdc1['stderrBuffer']+=_0x3034c7,_0x3cfdc1['lastOutputTime']=Date['now']();if(!_0x3cfdc1[_0x1ac35c(0x1e8)]){const _0x444e33=this[_0x1ac35c(0x20b)]['detectPrompt'](_0x3cfdc1[_0x1ac35c(0x1d1)],_0x1ac35c(0x20e));_0x444e33&&(_0x3cfdc1[_0x1ac35c(0x1e8)]=_0x444e33,_0x3cfdc1[_0x1ac35c(0x17a)]=_0x1ac35c(0x262),this[_0x1ac35c(0x270)]?.['info'](_0x1ac35c(0x197),{'commandId':_0x46dcba,'agentId':_0x36e42c,'type':_0x444e33[_0x1ac35c(0x272)],'matchedText':_0x444e33['matchedText']}));}}),_0x2ff5ea['on']('exit',(_0x3af818,_0x459af1)=>{const _0x363ff5=_0x5a8e06;_0x3cfdc1['exitCode']=_0x3af818,_0x3cfdc1[_0x363ff5(0x17a)]=_0x3af818===0x0?'completed':'failed',_0x3cfdc1['endTime']=new Date()['toISOString'](),this[_0x363ff5(0x270)]?.['info']('Background\x20command\x20exited',{'commandId':_0x46dcba,'agentId':_0x36e42c,'exitCode':_0x3af818,'signal':_0x459af1,'state':_0x3cfdc1[_0x363ff5(0x17a)]});}),_0x2ff5ea['on'](_0x5a8e06(0x209),_0x489b6c=>{const _0x20fbf8=_0x5a8e06;_0x3cfdc1[_0x20fbf8(0x17a)]=_0x20fbf8(0x1c6),_0x3cfdc1[_0x20fbf8(0x209)]=_0x489b6c['message'],_0x3cfdc1['endTime']=new Date()['toISOString'](),this['logger']?.[_0x20fbf8(0x209)](_0x20fbf8(0x1b0),{'commandId':_0x46dcba,'agentId':_0x36e42c,'error':_0x489b6c[_0x20fbf8(0x1f6)]});}),{'success':!![],'commandId':_0x46dcba,'pid':_0x2ff5ea[_0x5a8e06(0x214)],'command':_0x5c0bc6,'translatedCommand':_0x23975f,'workingDirectory':_0x356366,'message':_0x5a8e06(0x243)+_0x46dcba};}[a0_0x29919e(0x185)](_0x1df2c6,_0x4a7ab3,_0x44b83b){const _0x4c6535=a0_0x29919e,_0x2de7b3=this['validateCommandOwnership'](_0x1df2c6,_0x44b83b);if(_0x2de7b3['state']==='completed'||_0x2de7b3[_0x4c6535(0x17a)]==='failed')throw new Error(_0x4c6535(0x251)+_0x2de7b3[_0x4c6535(0x17a)]+_0x4c6535(0x1d0));if(!_0x2de7b3['process']||_0x2de7b3[_0x4c6535(0x203)][_0x4c6535(0x22b)])throw new Error(_0x4c6535(0x295));const _0x1bcbe9=_0x4a7ab3[_0x4c6535(0x175)]('\x0a')?_0x4a7ab3:_0x4a7ab3+'\x0a';return _0x2de7b3['process'][_0x4c6535(0x260)][_0x4c6535(0x1f2)](_0x1bcbe9),this[_0x4c6535(0x270)]?.['info']('Input\x20sent\x20to\x20background\x20command',{'commandId':_0x1df2c6,'agentId':_0x44b83b,'inputLength':_0x4a7ab3[_0x4c6535(0x1e6)]}),_0x2de7b3['state']==='waiting_for_input'&&(_0x2de7b3[_0x4c6535(0x17a)]='running',_0x2de7b3['promptDetected']=null),{'success':!![],'commandId':_0x1df2c6,'message':_0x4c6535(0x18d)};}[a0_0x29919e(0x1c8)](_0x466085,_0x5a8678){const _0x1af47b=a0_0x29919e,_0x222c55=this['validateCommandOwnership'](_0x466085,_0x5a8678),_0x150831=Date[_0x1af47b(0x191)]()-_0x222c55['lastOutputTime'];return{'success':!![],'commandId':_0x466085,'pid':_0x222c55[_0x1af47b(0x214)],'command':_0x222c55[_0x1af47b(0x24e)],'state':_0x222c55[_0x1af47b(0x17a)],'exitCode':_0x222c55['exitCode'],'startTime':_0x222c55['startTime'],'endTime':_0x222c55['endTime'],'workingDirectory':_0x222c55[_0x1af47b(0x1df)],'stdout':_0x222c55['stdoutBuffer'],'stderr':_0x222c55[_0x1af47b(0x1d1)],'stdoutLength':_0x222c55['stdoutBuffer'][_0x1af47b(0x1e6)],'stderrLength':_0x222c55['stderrBuffer']['length'],'lastOutputTime':_0x222c55[_0x1af47b(0x235)],'timeSinceLastOutput':_0x150831,'promptDetected':!!_0x222c55[_0x1af47b(0x1e8)],'promptInfo':_0x222c55['promptDetected']||undefined};}['killCommand'](_0x3d80c6,_0x16678f){const _0x41fb01=a0_0x29919e,_0x218d0c=this['validateCommandOwnership'](_0x3d80c6,_0x16678f);if(_0x218d0c[_0x41fb01(0x17a)]===_0x41fb01(0x233)||_0x218d0c['state']==='failed')return{'success':!![],'commandId':_0x3d80c6,'message':_0x41fb01(0x170),'state':_0x218d0c[_0x41fb01(0x17a)]};if(_0x218d0c['process']&&!_0x218d0c['process'][_0x41fb01(0x22b)])return _0x218d0c[_0x41fb01(0x203)]['kill'](_0x41fb01(0x18a)),setTimeout(()=>{const _0x58e357=_0x41fb01;_0x218d0c['process']&&!_0x218d0c['process']['killed']&&_0x218d0c[_0x58e357(0x203)]['kill']('SIGKILL');},0x1388),this['logger']?.['info']('Background\x20command\x20killed',{'commandId':_0x3d80c6,'agentId':_0x16678f}),{'success':!![],'commandId':_0x3d80c6,'message':_0x41fb01(0x1d7)};return{'success':![],'commandId':_0x3d80c6,'error':_0x41fb01(0x19a)};}[a0_0x29919e(0x180)](_0x25ee8f){const _0x9a8aed=a0_0x29919e,_0x40782e=this[_0x9a8aed(0x261)](_0x25ee8f);return _0x40782e[_0x9a8aed(0x282)](_0x964a5e=>({'commandId':_0x964a5e[_0x9a8aed(0x23f)],'command':_0x964a5e['command'],'state':_0x964a5e['state'],'pid':_0x964a5e['pid'],'exitCode':_0x964a5e[_0x9a8aed(0x26e)],'startTime':_0x964a5e['startTime'],'endTime':_0x964a5e[_0x9a8aed(0x1c7)],'promptDetected':!!_0x964a5e[_0x9a8aed(0x1e8)],'timeSinceLastOutput':Date[_0x9a8aed(0x191)]()-_0x964a5e['lastOutputTime']}));}[a0_0x29919e(0x261)](_0x5de2be){const _0x131ef5=a0_0x29919e;return Array['from'](this['commandTracker'][_0x131ef5(0x269)]())['filter'](_0x521888=>_0x521888['agentId']===_0x5de2be);}[a0_0x29919e(0x18b)](_0x4d5b43,_0x37e19c){const _0x273d43=a0_0x29919e,_0x4242f0=this['commandTracker']['get'](_0x4d5b43);if(!_0x4242f0)throw new Error(_0x273d43(0x1ce)+_0x4d5b43);if(_0x4242f0['agentId']!==_0x37e19c)throw new Error('Access\x20denied:\x20Command\x20belongs\x20to\x20agent\x20'+_0x4242f0[_0x273d43(0x1fb)]);return _0x4242f0;}async['cleanupAgent'](_0xdad9c4){const _0x2e3bf7=a0_0x29919e,_0x53e8be=this['getAgentCommands'](_0xdad9c4);let _0x428ab7=0x0,_0x22ccaf=0x0;for(const _0x19d60e of _0x53e8be){_0x19d60e['process']&&!_0x19d60e['process']['killed']&&(_0x19d60e[_0x2e3bf7(0x203)]['kill']('SIGTERM'),_0x428ab7++,setTimeout(()=>{const _0x198630=_0x2e3bf7;_0x19d60e[_0x198630(0x203)]&&!_0x19d60e[_0x198630(0x203)][_0x198630(0x22b)]&&_0x19d60e['process'][_0x198630(0x1c5)](_0x198630(0x283));},0xbb8)),this['commandTracker'][_0x2e3bf7(0x24b)](_0x19d60e['commandId']),_0x22ccaf++;}return this['logger']?.['info']('Agent\x20commands\x20cleaned\x20up',{'agentId':_0xdad9c4,'killedCount':_0x428ab7,'removedCount':_0x22ccaf}),{'success':!![],'agentId':_0xdad9c4,'killedCount':_0x428ab7,'removedCount':_0x22ccaf,'message':_0x2e3bf7(0x1a9)+_0x22ccaf+_0x2e3bf7(0x194)+_0xdad9c4};}[a0_0x29919e(0x16b)](){const _0x3e12cf=a0_0x29919e,_0x405235=Date[_0x3e12cf(0x191)]();let _0x1cf42a=0x0;for(const [_0x53ed44,_0x10c079]of this['commandTracker'][_0x3e12cf(0x226)]()){if(_0x10c079['state']!=='completed'&&_0x10c079[_0x3e12cf(0x17a)]!==_0x3e12cf(0x1c6))continue;const _0x1b03fd=new Date(_0x10c079['startTime'])[_0x3e12cf(0x183)](),_0x100e4a=(_0x405235-_0x1b03fd)/0x3e8/0x3c;_0x100e4a>this['MAX_COMMAND_AGE_MINUTES']&&(this['commandTracker']['delete'](_0x53ed44),_0x1cf42a++);}return _0x1cf42a>0x0&&this[_0x3e12cf(0x270)]?.[_0x3e12cf(0x17c)](_0x3e12cf(0x172),{'removedCount':_0x1cf42a,'ageThresholdMinutes':this['MAX_COMMAND_AGE_MINUTES']}),{'success':!![],'removedCount':_0x1cf42a,'message':_0x3e12cf(0x1a9)+_0x1cf42a+_0x3e12cf(0x19b)};}}function a0_0x129e(_0x58f284,_0x5b3e20){_0x58f284=_0x58f284-0x166;const _0x47fd53=a0_0x47fd();let _0x129ef5=_0x47fd53[_0x58f284];if(a0_0x129e['oCASHl']===undefined){var _0x4e2b80=function(_0x40c5e7){const _0x137777='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9b5b1f='',_0x2ea814='';for(let _0x262f4f=0x0,_0x52a9d4,_0x3b7a43,_0x1f2d98=0x0;_0x3b7a43=_0x40c5e7['charAt'](_0x1f2d98++);~_0x3b7a43&&(_0x52a9d4=_0x262f4f%0x4?_0x52a9d4*0x40+_0x3b7a43:_0x3b7a43,_0x262f4f++%0x4)?_0x9b5b1f+=String['fromCharCode'](0xff&_0x52a9d4>>(-0x2*_0x262f4f&0x6)):0x0){_0x3b7a43=_0x137777['indexOf'](_0x3b7a43);}for(let _0x164c90=0x0,_0x68ae9c=_0x9b5b1f['length'];_0x164c90<_0x68ae9c;_0x164c90++){_0x2ea814+='%'+('00'+_0x9b5b1f['charCodeAt'](_0x164c90)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ea814);};a0_0x129e['rFtWPy']=_0x4e2b80,a0_0x129e['ZjLUTS']={},a0_0x129e['oCASHl']=!![];}const _0xa9f241=_0x47fd53[0x0],_0x5648f2=_0x58f284+_0xa9f241,_0x1db5b4=a0_0x129e['ZjLUTS'][_0x5648f2];return!_0x1db5b4?(_0x129ef5=a0_0x129e['rFtWPy'](_0x129ef5),a0_0x129e['ZjLUTS'][_0x5648f2]=_0x129ef5):_0x129ef5=_0x1db5b4,_0x129ef5;}export default TerminalTool;