@loxia-labs/loxia-autopilot-one 1.0.16 → 1.0.17

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 (122) hide show
  1. package/bin/cli.js +1 -1
  2. package/bin/loxia-terminal-v2.js +1 -1
  3. package/bin/loxia-terminal.js +1 -1
  4. package/bin/start-with-terminal.js +1 -1
  5. package/package.json +1 -1
  6. package/scripts/install-scanners.js +1 -1
  7. package/src/analyzers/CSSAnalyzer.js +1 -1
  8. package/src/analyzers/ConfigValidator.js +1 -1
  9. package/src/analyzers/ESLintAnalyzer.js +1 -1
  10. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  11. package/src/analyzers/PrettierFormatter.js +1 -1
  12. package/src/analyzers/PythonAnalyzer.js +1 -1
  13. package/src/analyzers/SecurityAnalyzer.js +1 -1
  14. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  15. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  17. package/src/analyzers/codeCloneDetector/index.js +1 -1
  18. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  19. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  20. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  21. package/src/core/agentPool.js +1 -1
  22. package/src/core/agentScheduler.js +1 -1
  23. package/src/core/contextManager.js +1 -1
  24. package/src/core/messageProcessor.js +1 -1
  25. package/src/core/orchestrator.js +1 -1
  26. package/src/core/stateManager.js +1 -1
  27. package/src/index.js +1 -1
  28. package/src/interfaces/cli.js +1 -1
  29. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  38. package/src/interfaces/terminal/api/apiClient.js +1 -1
  39. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  40. package/src/interfaces/terminal/api/session.js +1 -1
  41. package/src/interfaces/terminal/api/websocket.js +1 -1
  42. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  43. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  44. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  45. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  47. package/src/interfaces/terminal/components/Header.js +1 -1
  48. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  49. package/src/interfaces/terminal/components/InputBox.js +1 -1
  50. package/src/interfaces/terminal/components/Layout.js +1 -1
  51. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  52. package/src/interfaces/terminal/components/MessageList.js +1 -1
  53. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  54. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  55. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  56. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  57. package/src/interfaces/terminal/components/TextInput.js +1 -1
  58. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  59. package/src/interfaces/terminal/config/constants.js +1 -1
  60. package/src/interfaces/terminal/index.js +1 -1
  61. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  62. package/src/interfaces/terminal/state/useAgents.js +1 -1
  63. package/src/interfaces/terminal/state/useConnection.js +1 -1
  64. package/src/interfaces/terminal/state/useMessages.js +1 -1
  65. package/src/interfaces/terminal/state/useTools.js +1 -1
  66. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  67. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  68. package/src/interfaces/terminal/utils/theme.js +1 -1
  69. package/src/interfaces/webServer.js +1 -1
  70. package/src/modules/fileExplorer/controller.js +1 -1
  71. package/src/modules/fileExplorer/index.js +1 -1
  72. package/src/modules/fileExplorer/middleware.js +1 -1
  73. package/src/modules/fileExplorer/routes.js +1 -1
  74. package/src/services/agentActivityService.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 -1
  118. package/web-ui/build/index.html +2 -2
  119. package/web-ui/build/static/index-CRkOpV4k.css +1 -0
  120. package/web-ui/build/static/index-DzOU48ux.js +367 -0
  121. package/web-ui/build/static/index-DFmFvOoy.css +0 -1
  122. package/web-ui/build/static/index-DOk0l6Kf.js +0 -348
@@ -1 +1 @@
1
- const a0_0x399cea=a0_0x451b;(function(_0x523db1,_0x4e4b95){const _0x3a9ba0=a0_0x451b,_0x49b942=_0x523db1();while(!![]){try{const _0x386e32=-parseInt(_0x3a9ba0(0x171))/0x1*(parseInt(_0x3a9ba0(0x16d))/0x2)+-parseInt(_0x3a9ba0(0x12c))/0x3*(parseInt(_0x3a9ba0(0xb8))/0x4)+-parseInt(_0x3a9ba0(0x131))/0x5*(-parseInt(_0x3a9ba0(0x1a5))/0x6)+-parseInt(_0x3a9ba0(0x1b7))/0x7+parseInt(_0x3a9ba0(0x167))/0x8+-parseInt(_0x3a9ba0(0x16e))/0x9+-parseInt(_0x3a9ba0(0xb3))/0xa*(-parseInt(_0x3a9ba0(0x148))/0xb);if(_0x386e32===_0x4e4b95)break;else _0x49b942['push'](_0x49b942['shift']());}catch(_0x50e603){_0x49b942['push'](_0x49b942['shift']());}}}(a0_0x1041,0x74476));import{BaseTool}from'./baseTool.js';import a0_0x2b418d from'../utilities/tagParser.js';import a0_0x4bb41a from'../utilities/directoryAccessManager.js';function a0_0x451b(_0x428689,_0x19141c){_0x428689=_0x428689-0x7e;const _0x10416f=a0_0x1041();let _0x451b65=_0x10416f[_0x428689];if(a0_0x451b['JtKVJt']===undefined){var _0x1f605b=function(_0x5dba81){const _0x4a1c93='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b418d='',_0x4bb41a='';for(let _0x480d4c=0x0,_0x3613ab,_0x44cf0f,_0x20918a=0x0;_0x44cf0f=_0x5dba81['charAt'](_0x20918a++);~_0x44cf0f&&(_0x3613ab=_0x480d4c%0x4?_0x3613ab*0x40+_0x44cf0f:_0x44cf0f,_0x480d4c++%0x4)?_0x2b418d+=String['fromCharCode'](0xff&_0x3613ab>>(-0x2*_0x480d4c&0x6)):0x0){_0x44cf0f=_0x4a1c93['indexOf'](_0x44cf0f);}for(let _0x3c9905=0x0,_0x240306=_0x2b418d['length'];_0x3c9905<_0x240306;_0x3c9905++){_0x4bb41a+='%'+('00'+_0x2b418d['charCodeAt'](_0x3c9905)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bb41a);};a0_0x451b['aWiPgE']=_0x1f605b,a0_0x451b['tatWVe']={},a0_0x451b['JtKVJt']=!![];}const _0x45f30d=_0x10416f[0x0],_0x25f56e=_0x428689+_0x45f30d,_0x353c77=a0_0x451b['tatWVe'][_0x25f56e];return!_0x353c77?(_0x451b65=a0_0x451b['aWiPgE'](_0x451b65),a0_0x451b['tatWVe'][_0x25f56e]=_0x451b65):_0x451b65=_0x353c77,_0x451b65;}import{spawn,exec}from'child_process';import a0_0x480d4c from'path';import a0_0x3613ab from'fs/promises';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x1041(){const _0x515e46=['DxnLCI1PBMzV','DgLTzw91Da','r2vUzxjPyYbPBNb1DcbWCM9TChq','rM9YrwfJAc1pyMPLy3q','AwnHy2XZ','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','ksa+ia','Aw5MBW','nte1nJqYneDoEu14Aa','zgvZy3jPChrPB24','BwfW','zgvS','q29TBwfUzcbWCM9JzxnZig5VDcbMB3vUzcbVCIbHBhjLywr5igTPBgXLza','zMLSzs1JCMvHDgu','mKf0rezgBG','mJK3nZy5nxv0ywLTCW','BgLZDc1KAxjLy3rVCNK','C3rYAw5N','mZK2nJy4u2rdEhP3','zg93BMXVywq','CMvZB2X2zq','zgLYzwn0B3j5','vgLTzw91DcbTDxn0igjLigjLDhDLzw4GmtaWmcbHBMqG','ChjVy2vZCY1RAwXS','q29UzMLYBwf0Aw9UihbYB21WDa','Aw5JBhvKzxm','Bg9Nz2vY','Dgv4Dc1WCM9JzxnZAw5N','y29TBwfUzfrYywnRzxi','zMfPBgvK','vhjHBNnSyxrLihrOAxmGy29TBwfUzcb0BYb3B3jRignVCNjLy3rSEsbPBIa','Dg9tDhjPBMC','CgLWzq','AxndB21Tyw5Kq29TCgf0AwjSzq','wwvZl05Vihf1zxn0Aw9U','zNvUy3rPB24G','CM1KAxiGjde','y3jLyxrLlwrPCMvJDg9YEq','zgLZAY1PBMzV','q29TBwfUzcbLEgL0zwqGD2L0AcbJB2rLia','cI0Gq29TCgf0AwjPBgL0EsbjC3n1zxm6ia','Cg93zxjZAgvSBcbdB21WCMvZCY1bCMnOAxzL','u2vSzwn0Aw9UihbYB21WDa','cLrLCM1PBMfSifrVB2W6iev4zwn1DguGC3LZDgvTignVBw1HBMrZigfUzcbTyw5Hz2uGDgvYBwLUywWGB3bLCMf0Aw9UCYbZywzLBhKUcGPjtvbpuLrbtLq6iezVCIbMAwXLigfUzcbKAxjLy3rVCNKGy3jLyxrPB24SihbYzwzLCIb1C2LUzYb0AguGrMLSzvn5C3rLBsb0B29SlGPszxnLCNzLihrOzsbuzxjTAw5HBcb0B29SigzVCIbJB21Tyw5KlwXPBMuGB3bLCMf0Aw9UCYbSAwTLig5WBsWGz2L0lcbJDxjSlcbLDgmUcGPvu0fhrtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icj0zxjTAw5HBciScIaGiMfJDgLVBNmIoIbBcIaGicb7iNr5CguIoIaICNvUlwnVBw1HBMqIlcaIy29TBwfUzci6icjUCg0GAw5ZDgfSBcbLEhbYzxnZiN0ScIaGicb7iNr5CguIoIaIy2HHBMDLlwrPCMvJDg9YEsiSicjKAxjLy3rVCNKIoIaIChjVAMvJDc9IywnRzw5KiN0kicbDcN0kygbGcGPtvvbqt1juruqGqunusu9ouZOklsbYDw4Ty29TBwfUzdOGrxHLy3v0zsbHignVBw1HBMqGkgnVBw1HBMqPcI0Gy2HHBMDLlwrPCMvJDg9YEtOGq2HHBMDLihDVCMTPBMCGzgLYzwn0B3j5icHKAxjLy3rVCNKPcI0GBgLZDc1KAxjLy3rVCNK6ieXPC3qGzgLYzwn0B3j5ignVBNrLBNrZicHKAxjLy3rVCNKPcI0Gy3jLyxrLlwrPCMvJDg9YEtOGq3jLyxrLigrPCMvJDg9YEsaOzgLYzwn0B3j5ksaTihbYzwzLCIbgAwXLu3LZDgvTihrVB2WklsbNzxqTD29YA2LUzY1KAxjLy3rVCNK6ieDLDcbJDxjYzw50igrPCMvJDg9YEqOkuefsqu1fvevsuZOklsbJB21Tyw5KoIbuAguGy29TBwfUzcb0BYbLEgvJDxrLcI0GzgLYzwn0B3j5oIbeAxjLy3rVCNKGCgf0AcbMB3iGBMf2AwDHDgLVBI9VCgvYyxrPB25ZcI0GDgLTzw91DdOGt3b0Aw9UywWGDgLTzw91DcbPBIbTAwXSAxnLy29UzhmGkg1HEca','Dgv4Dc1Kzwr1Cgu','AxneAxjLy3rVCNK','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','Dw5PEc1ZDhLSzs1WyxrOCW','u0Lhs0Lmta','BxyGjdeGjdi','ChjVBxb0rgv0zwn0B3i','C3LZDgvTAw5MBW','qxr0zw1WDgLUzYbbssb0CMfUC2XHDgLVBIbMB3iGy29TCgXLEcbJB21Tyw5K','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','zw52','BwvTB3j5lwLUzM8','y29WEq','zxjYB3i','q29TBwfUzcbLCNjVCIbJAhvUAZOG','Dg9mB3DLCKnHC2u','y2XLyw51Cfn0ywXLq29TBwfUzhm','v2LUzg93CYbdB21Tyw5KifbYB21WDcaOy21KlMv4zsK','D2LUmZi','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUza','BwvZC2fNzq','y2fSBa','DhLWzsbUDwWGpG','r2v0lunOAwXKsxrLBq','Aw5PDgLHBgL6zvrLCM1PBMfSrgv0zwn0Aw9U','zMLSzq','nMfPqKfTEG','BwTKAxiGjde','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','lunVBw1HBMq','BwvZC2fNzvbYB2nLC3nVCG','C3rKB3v0','D29YA2LUz0rPCMvJDg9YAwvZ','zMLSzs1KzwXLDgu','CgLUzW','icHVCMLNAw5HBdOG','q29TBwfUzcbLEgvJDxrLzcbZDwnJzxnZzNvSBhKGAw4G','y29TBwfUzeLKq291BNrLCG','CMvIB290','q29TBwfUzcbJB21WyxrPyMLSAxr5igfUywX5C2LZ','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbqB3DLCLnOzwXS','zxHLy3v0zunVBw1HBMq','BhmGlwe','cI0Gq2f0zwDVCNK6ia','ntKYnJyWnKrpy2LxDG','AxnbC3LUyW','y2f0','BMfTzq','A2LSBa','r2v0lunVBxb1DgvYsw5MBW','q29TBwfUzcbUB3qGzM91BMq6ia','C3rHDgu','zgvMia','u2vSzwn0lvn0CMLUzW','DhjHBNnSyxrLvg9cyxnO','Aw5WDxq','ufnnB2r1BgvqyxrO','y29TBwfUzc1JAgfPBMLUzW','zMLSzs1SAxn0Aw5N','z2v0v29YA2LUz0rPCMvJDg9YEq','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','icyG','CNvUlwnVBw1HBMq','zwnOBYaLvvnfuK5btuuL','zxH0CMfJDenVBNrLBNq','AxnZDwvZ','CgfZC3DVCMq','C3bSAxq','BMv3rgLYzwn0B3j5','A2v5CW','Bg9N','CNvUBMLUzW','uhjLC3mGzw50zxi','zgv0zwn0uhjVBxb0','zxHLy3v0zunVBw1HBMrxAxrOu3bHD24','cGPsrvfvsvjftuvovfm6cJeUie1HA2uGDgHLignVBw1HBMqGD29YAYbJB3jYzwn0BhKGAw4G','ChvZAa','lwnTzc0','Dw5RBM93BG','y3vYBcaTtYaKmq','BwvUDq','vxnLCM5HBwuGChjVBxb0','D2fYBG','zM9Yic9M','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbxAw5KB3DZiennra','DgvZDa','q29WEs1jDgvT','ywXSB3DLza','q2XLyw5Lzcb1Cca','A2LSBenVBw1HBMq','DMfSDwvZ','Aw5KzxG','BM93','ugfZC3bOCMfZzsbWCM9TChq','Dhj1zq','zgfYD2LU','Dw5PDMvYC2fS','cJiUifbYzxnLCNzLihrOzsbVCMLNAw5HBcbPBNrLBNqGyw5Kigz1BMn0Aw9UywXPDhKkmY4GsgfUzgXLigzPBguGCgf0AhmSihf1B3rPBMCSigfUzcbZEw50yxGGy29YCMvJDgX5cJqUieLMignYzwf0Aw5NigzPBgvZlcbLBNn1CMuGChjVCgvYigvUy29KAw5NigfUzcbSAw5LigvUzgLUz3mkns4GqwrKCMvZCYb0AguGC3bLy2LMAwmGy29TCgf0AwjPBgL0EsbPC3n1zxmGAwrLBNrPzMLLzcbHyM92zqO2lIbszxr1CM4Gt05mwsb0AguGDhjHBNnSyxrLzcbJB21Tyw5KlcbUB3rOAw5NigvSC2ukcLrsqu5ttefuruqGq09ntufordO','tufyx0nptu1btKrFquDfx01jtLvurvm','y3DK','ywLtzxj2AwnL','y3jLyxrLrgLYzwn0B3j5','y29TBwfUzeLK','r2v0lunVBNrLBNqGluHLywq','q29TBwfUzcb0Aw1LzcbVDxqGywz0zxiG','r2v0lunOAwXKsxrLBsaTrM9Yy2u','sgL0igvUDgvY','CgXHDgzVCM0','A2v5ChjLC3m','y2HHBMDLrgLYzwn0B3j5','r2v0lunVBNrLBNq','zgLZAY11C2fNzq','zgLY','rxHWyw5KlufYy2HPDMu','y29TBwfUzfr5Cgu','zNn1DgLSihzVBhvTzsbKAxnRzNjLzq','mZGWndeWENnNDffY','zgLYzwn0B3j5lwnYzwf0zq','y3vYBcaKmq','C2XPy2u','zgvIDwC','nJa0nfjOBvnhBq','ihX8ia','z2v0vgLTzq','zxzLCNK','C2LTCgXL','zxHLy3v0Aw9UvgLTzq','u3rHCNrPBMCGyMfJA2DYB3vUzcbJB21Tyw5KoIa','ugfZC3DVCMqGChjVBxb0','Ahr0Ca','qwnJzxnZigrLBMLLzdOGq29TBwfUzcbIzwXVBMDZihrVigfNzw50ia','zwnOBYaN','zxHPDenVzgu','DhLWzq','uhjVy2vLzcbWCM9TChq','zgLYic9Z','cI0Gu3vNz2vZDgvKiefSDgvYBMf0AxzLoIa','z2v0ugfYyw1LDgvYu2nOzw1H','u29YDc1pyMPLy3qGlvvUAxf1zq','zMLSzs1TB3zL','y2XHC3nPzNLdB21Tyw5K','D29YA2LUz0rPCMvJDg9YEq','AxntAw1WBgvdB21Tyw5K','CgXHDgzVCM1qCM92AwrLza','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwq','DhjHBNnSyxrLvg9xAw5KB3DZq21K','twf4Aw11BsbNBg9IywWGyMfJA2DYB3vUzcbJB21Tyw5KCYbLEgnLzwrLzcaO','vgvYBwLUywWGzgv0zwn0zwq','Bw92zsaKmsaKmG','ywDLBNrjza','DhjHBNnSyxrLq29TBwfUza','C3rKB3v0qNvMzMvY','tw92zs1jDgvTicqXicqY','CgLK','r2v0lunVBNrLBNqGjde','icyMia','vxnPBMCGC2LTCgXLihrYyw5ZBgf0Aw9U','C3rHDa','Dw5PEa','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','BgvUz3rO','q29TBwfUzcbVDxrWDxqGy2H1BMS6ia','zgvSzxrL','zMLUzcaVyW','y2f0zwDVCNK','twf4Aw11BsbIywnRz3jVDw5KignVBw1HBMrZihbLCIbHz2vUDcbLEgnLzwrLzcaO','zM9Yia','C3rKzxjY','tgLZDgvKia','y29TCgXLDgvK','uMvTB3zLluL0zw0','u3rVCc1qCM9JzxnZ','q29WEs1jDgvTicqXicqY','AM9PBG','z2v0qwDLBNrdB21Tyw5KCW','r2v0lunOAwXKsxrLBsaTuMvJDxjZzsb8ie1Lyxn1CMuTt2jQzwn0','zw52AxjVBM1LBNq','Bw92zq','ywn0Aw9UCW','AwyG','r2v0lvbYB2nLC3m','CgfYC2vqyxjHBwv0zxjZ','DgfZA2TPBgWGl1bjrcaKmq','z2v0','yNvPBhrPBG','C2nYAxb0lwv4zwn1Dgu','vgvZDc1ozxrdB25Uzwn0Aw9U','u2v0lufJBa','u0HfteW','z2v0q29TBwfUzeHPC3rVCNK','AxnbyNnVBhv0zq','C3rKzxjYqNvMzMvY','y3vZDg9TqxbPs2v5CW','y29TBwfUzeHPC3rVCNK','C29YDa','C2vSzwn0Aw9U','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','C3vIC3rYAw5N','DhjHBNnSyxrL','yw5HBhL6zunVBw1HBMrdB21WyxrPyMLSAxr5','y29TBwfUza','q29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwqSihvZAw5Nig9YAwDPBMfSignVBw1HBMq','zxHPDa','AxncBg9JA2vKq29TBwfUza','z2v0rgvZy3jPChrPB24','ChjPBNrM','igfJDgLVBNmGy29TCgXLDgvKihn1y2nLC3nMDwXSEq','q2fUBM90ihnLBMqGAw5WDxqGDg8G','vw5RBM93BIbHy3rPB24GDhLWztOG','BxmPcI0Gyxn5BMm6ifDOzxrOzxiGDg8GCNvUignVBw1HBMqGyxn5BMnOCM9UB3vZBhKGkhrYDwuVzMfSC2uPcGPfwefnueXfuZOkcLj1BIbUCg0GAw5ZDgfSBdOkygbGANnVBGP7iNrVB2Xjzci6icj0zxjTAw5HBciSicjHy3rPB25ZiJOGw3SIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiM5WBsbPBNn0ywXSiN1DFqPGygakcKDPDcbVCgvYyxrPB25ZoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiNrLCM1PBMfSiIWkicaIywn0Aw9UCYi6ifSkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiMDPDcbZDgf0DxmIFsWkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiMDPDcbHzgqGlIj9laOGicaGEYj0ExbLiJOGiNj1BI1JB21Tyw5KiIWGiMnVBw1HBMqIoIaIz2L0ignVBw1PDcaTBsbCiLvWzgf0zsbMAwXLC1WIiN0kicbDcN0kygbGcGPdAgfUz2uGzgLYzwn0B3j5igfUzcbIDwLSzdOkygbGANnVBGP7cIaGiNrVB2Xjzci6icj0zxjTAw5HBciScIaGiMfJDgLVBNmIoIbBcIaGicb7iNr5CguIoIaIy2HHBMDLlwrPCMvJDg9YEsiSicjKAxjLy3rVCNKIoIaIlI4VzNjVBNrLBMqIFsWkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiM5WBsbYDw4GyNvPBgqIFqOGif0kFqPGygakcLnfq1vssvrzoGOTierHBMDLCM91CYbJB21Tyw5KCYbHCMuGyMXVy2TLzaOTienVBw1HBMrZigv4zwn1DguGAw4GAxnVBgf0zwqGzw52AxjVBM1LBNqklsbpDxrWDxqGAxmGy2fWDhvYzwqGyw5KihjLDhvYBMvKihnHzMvSEqOkqKvtvcbquKfdveLdrvm6cI0GvxnLiezPBgvtExn0zw0GDg9VBcbMB3iGzMLSzs9KAxjLy3rVCNKGB3bLCMf0Aw9UCWOTifvZzsbuzxjTAw5HBcbMB3iGq0Xjihv0AwXPDgLLCYaOBNbTlcbNAxqSign1CMWSigv0yY4PcI0Gq2HLy2SGy29TBwfUzcbVDxrWDxqGDg8GDMvYAwz5ihn1y2nLC3mkicaGia','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','q29TBwfUzcbWCM9JzxnZigLZig5VDcbYDw5UAw5N','C3rHCNrZv2L0Aa','DgfZA2TPBgW','C3vJy2vZCW','ywrKvg9iAxn0B3j5','D2fPDgLUz19MB3jFAw5WDxq','Dg9ju09tDhjPBMC','zMLSDgvY','zxH0CMfJDfrYyw5ZBgf0zwrdB21Tyw5K','CM1KAxi','B2jQzwn0','C2LUz2XLlxf1B3rLCY1WCM9IBgvTyxrPyW','ywX0zxjUyxrPDMvZ','ChjVy2vZCW','zMLSzs1JB3b5','ywXSB3DLzenVBw1HBMrZ','yM9VBgvHBG','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUzcbZDgrLCNi','AxnbBgXVD2vKq29TBwfUza','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','D2LUzg93CY1JBwq','BgfZDe91Dhb1DfrPBwu','zgLYzwn0B3j5lwrLBgv0zq','ihWG','EwvZlw5V','C2v0','mti5m3rizg92sG','oIb0ExbLigLZihjLCxvPCMvK','y2XHC3mG','r2v0luXVy2f0Aw9U','y21K','mtuZnJmWnw9hzwHtsG','zw5KvgLTzq','y2HHBMDLlwrPCMvJDg9YEq','qwDLBNqGy29TBwfUzhmGy2XLyw5Lzcb1Ca','ChjVy2vZCY1SAxn0','C3rHCNruAw1L','yxbPs2v5','ChjVBxb0ugf0DgvYBNm','y3vYBa','twvUDsbZzwXLy3rPB24','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFugH5C2LJywXnzw1VCNK','zgv0zwn0zwruzxjTAw5HBa','DxnLCM5HBwu','Dg9VBhnszwDPC3rYEq','igfJDgLVBNmGzMfPBgvK','Bwf0y2G','ignVBw1HBMq','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbJB21WBgv0zwq','sw52B2TLlvDLyLjLCxvLC3q','cI0GvgfYz2v0ifrLCM1PBMfSoIa','qwn0Aw9Uia','DhjPBq','Dgv4Dc1ZB3j0','nta2Du1AvwvR','Cg93zxjZAgvSBa','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','ChjVBxb0rgv0zwn0zwq','Bwf0y2HLzfrLEhq','rMfPBgvKihrVignOyw5NzsbKAxjLy3rVCNKGDg8G','q29TBwfUzcbHBhjLywr5ihrLCM1PBMf0zwq','A2LSBgvK','zgf0yq','y29TBwfUzenHDgvNB3j5','CMvSyxrPDMu','yMfZAa','CMvHC29U','zwnOBW','zMLSzs1ZzwfYy2G','CMvWBgfJzq','y29UzMLKzw5Jzq','quKGDhjHBNnSyxrPB24GzMfPBgvKlcbMywXSAw5NigjHy2SGDg8GC2LTCgXLihrYyw5ZBgf0Aw9U','C2H1DgrVD24','DgfZA2XPC3q','id4GjG','y29TCgf0AwjSzq','oIbJB21Tyw5KigLZigjSB2nRzwqGzM9YihnLy3vYAxr5oIa'];a0_0x1041=function(){return _0x515e46;};return a0_0x1041();}class PromptDetector{constructor(){const _0x1ef148=a0_0x451b;this['promptPatterns']=[{'pattern':/\(y\/n\)/i,'type':_0x1ef148(0x12a),'description':'Yes/No\x20question'},{'pattern':/\(Y\/n\)/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\(y\/N\)/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/\[y\/n\]/i,'type':'yes-no','description':_0x1ef148(0x181)},{'pattern':/\[Y\/n\]/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\[y\/N\]/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/continue\?/i,'type':'continue','description':'Continue\x20prompt'},{'pattern':/proceed\?/i,'type':'continue','description':_0x1ef148(0xc5)},{'pattern':/press any key to continue/i,'type':'keypress','description':'Press\x20any\x20key'},{'pattern':/press enter to continue/i,'type':_0x1ef148(0xab),'description':_0x1ef148(0x87)},{'pattern':/hit enter to continue/i,'type':_0x1ef148(0xab),'description':_0x1ef148(0xa9)},{'pattern':/password:/i,'type':'password','description':'Password\x20prompt'},{'pattern':/enter password/i,'type':_0x1ef148(0x81),'description':_0x1ef148(0xbf)},{'pattern':/passphrase:/i,'type':_0x1ef148(0x81),'description':_0x1ef148(0x9c)},{'pattern':/username:/i,'type':_0x1ef148(0x13d),'description':_0x1ef148(0x90)},{'pattern':/enter username/i,'type':_0x1ef148(0x13d),'description':_0x1ef148(0x90)},{'pattern':/enter\s+\w+:/i,'type':_0x1ef148(0x1c2),'description':'Generic\x20input\x20prompt'},{'pattern':/please enter/i,'type':_0x1ef148(0x1c2),'description':_0x1ef148(0x161)},{'pattern':/input:/i,'type':'input','description':'Generic\x20input\x20prompt'},{'pattern':/are you sure\?/i,'type':'confirmation','description':_0x1ef148(0x177)},{'pattern':/do you want to/i,'type':'confirmation','description':_0x1ef148(0x177)},{'pattern':/would you like to/i,'type':'confirmation','description':_0x1ef148(0x177)},{'pattern':/select an option/i,'type':_0x1ef148(0x102),'description':'Selection\x20prompt'},{'pattern':/choose/i,'type':'selection','description':_0x1ef148(0x189)},{'pattern':/\d+\)\s+\w+/g,'type':_0x1ef148(0x8f),'description':_0x1ef148(0x13a)}];}[a0_0x399cea(0x88)](_0x44cf0f,_0x20918a=a0_0x399cea(0x1aa)){const _0x5c7f19=a0_0x399cea;if(!_0x44cf0f||_0x44cf0f[_0x5c7f19(0x146)]()[_0x5c7f19(0xdf)]===0x0)return null;const _0x3c9905=_0x44cf0f['split']('\x0a'),_0x240306=_0x3c9905['slice'](-0x5)[_0x5c7f19(0xec)]('\x0a');for(const _0x414648 of this[_0x5c7f19(0x138)]){const _0x1ef8e7=_0x240306[_0x5c7f19(0x140)](_0x414648['pattern']);if(_0x1ef8e7)return{'detected':!![],'type':_0x414648['type'],'description':_0x414648['description'],'matchedText':_0x1ef8e7[0x0],'matchIndex':_0x1ef8e7[_0x5c7f19(0x9a)],'source':_0x20918a,'fullContext':_0x240306,'timestamp':Date['now']()};}const _0x5a87c1=_0x3c9905[_0x3c9905[_0x5c7f19(0xdf)]-0x1]||'';if(_0x5a87c1[_0x5c7f19(0x146)]()[_0x5c7f19(0xdf)]>0x0){const _0x48e76f=/:\s*$/[_0x5c7f19(0x94)](_0x5a87c1),_0x163399=/\?\s*$/['test'](_0x5a87c1);if(_0x48e76f||_0x163399){const _0x4e913e=/\b(enter|type|provide|specify|input)\b/i[_0x5c7f19(0x94)](_0x5a87c1);if(_0x4e913e)return{'detected':!![],'type':'generic','description':'Generic\x20input\x20prompt\x20detected','matchedText':_0x5a87c1[_0x5c7f19(0x146)](),'source':_0x20918a,'fullContext':_0x240306,'timestamp':Date['now'](),'confidence':0.7};}}return null;}['detectHang'](_0xba0456,_0x19f006=0x7530){const _0x5a689e=a0_0x399cea,_0x5e6d88=Date[_0x5a689e(0x9b)](),_0x52b172=_0x5e6d88-_0xba0456;return{'isHanging':_0x52b172>=_0x19f006,'timeSinceLastOutput':_0x52b172,'threshold':_0x19f006,'likelyWaiting':_0x52b172>=_0x19f006/0x2};}}class TerminalTool extends BaseTool{constructor(_0x27c14c={},_0x397e22=null){const _0x5b358f=a0_0x399cea;super(_0x27c14c,_0x397e22),this['requiresProject']=![],this[_0x5b358f(0x1b8)]=![],this[_0x5b358f(0x160)]=_0x27c14c[_0x5b358f(0x160)]||0x1d4c0,this[_0x5b358f(0x194)]=_0x27c14c['maxConcurrentOperations']||0x3,this['workingDirectories']=new Map(),this[_0x5b358f(0x100)]=[],this['allowedCommands']=_0x27c14c[_0x5b358f(0x121)]||null,this['blockedCommands']=_0x27c14c['blockedCommands']||['rm\x20-rf\x20/','format','del\x20/f\x20/q',_0x5b358f(0x15a),_0x5b358f(0x1b1),'halt'],this['directoryAccessManager']=new a0_0x4bb41a(_0x27c14c,_0x397e22),this[_0x5b358f(0x191)]=new PromptDetector(),this[_0x5b358f(0x17b)]=new Map(),this[_0x5b358f(0x1b0)]=0x0,this['MAX_BACKGROUND_COMMANDS_PER_AGENT']=_0x27c14c['maxBackgroundCommandsPerAgent']||0x5,this[_0x5b358f(0x1a7)]=_0x27c14c['maxBackgroundCommandsGlobal']||0x14,this[_0x5b358f(0xa1)]=_0x27c14c['maxCommandAgeMinutes']||0x3c,this['detectedTerminal']=null,this['platformType']=null,this[_0x5b358f(0x1a3)]();}[a0_0x399cea(0x10b)](){const _0x2d0803=a0_0x399cea;return _0x2d0803(0x18a)+this[_0x2d0803(0x160)]+_0x2d0803(0x110);}[a0_0x399cea(0xf4)](_0x253ce0){const _0x238735=a0_0x399cea;try{const _0x5d11ba={},_0x490601=a0_0x2b418d['extractContent'](_0x253ce0,_0x238735(0x1c9)),_0x2c9d21=a0_0x2b418d[_0x238735(0x7f)](_0x253ce0,'change-directory'),_0x39db62=a0_0x2b418d[_0x238735(0x7f)](_0x253ce0,'list-directory'),_0xec5c56=a0_0x2b418d[_0x238735(0x7f)](_0x253ce0,_0x238735(0x184)),_0x5e5ef6=a0_0x2b418d[_0x238735(0x7f)](_0x253ce0,_0x238735(0x103)),_0x560de2=a0_0x2b418d['extractContent'](_0x253ce0,_0x238735(0x160)),_0x45b0fb=a0_0x2b418d['extractContent'](_0x253ce0,'async'),_0x469cc4=[];return _0x490601['length']>0x0&&_0x469cc4['push']({'type':_0x238735(0x1c9),'command':_0x490601[0x0][_0x238735(0x146)]()}),_0x2c9d21['length']>0x0&&_0x469cc4['push']({'type':'change-directory','directory':_0x2c9d21[0x0][_0x238735(0x146)]()}),_0x39db62['length']>0x0&&_0x469cc4['push']({'type':'list-directory','directory':_0x39db62[0x0]['trim']()||'.'}),_0xec5c56['length']>0x0&&_0x469cc4['push']({'type':'create-directory','directory':_0xec5c56[0x0]['trim']()}),_0x5e5ef6['length']>0x0&&_0x469cc4['push']({'type':'get-working-directory'}),_0x5d11ba['actions']=_0x469cc4,_0x560de2['length']>0x0&&(_0x5d11ba['timeout']=parseInt(_0x560de2[0x0],0xa)),_0x45b0fb['length']>0x0&&(_0x5d11ba['async']=_0x45b0fb[0x0]['toLowerCase']()===_0x238735(0x9d)),_0x5d11ba['rawContent']=_0x253ce0['trim'](),_0x5d11ba;}catch(_0x524888){throw new Error('Failed\x20to\x20parse\x20terminal\x20parameters:\x20'+_0x524888['message']);}}['getRequiredParameters'](){const _0x3b0616=a0_0x399cea;return[_0x3b0616(0xf1)];}[a0_0x399cea(0x125)](_0x197058){const _0x4cf3ea=a0_0x399cea,_0x89e6cf=[];if(!_0x197058['actions']||!Array['isArray'](_0x197058[_0x4cf3ea(0xf1)])||_0x197058[_0x4cf3ea(0xf1)]['length']===0x0)_0x89e6cf[_0x4cf3ea(0x8b)]('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x163c0,_0x421feb]of _0x197058[_0x4cf3ea(0xf1)]['entries']()){if(!_0x421feb['type']){_0x89e6cf['push'](_0x4cf3ea(0x145)+(_0x163c0+0x1)+_0x4cf3ea(0x12d));continue;}switch(_0x421feb['type']){case _0x4cf3ea(0x1c9):if(!_0x421feb['command']||!_0x421feb['command'][_0x4cf3ea(0x146)]())_0x89e6cf['push']('Action\x20'+(_0x163c0+0x1)+':\x20command\x20is\x20required\x20for\x20run-command');else{if(this['isBlockedCommand'](_0x421feb[_0x4cf3ea(0x107)]))_0x89e6cf['push'](_0x4cf3ea(0x145)+(_0x163c0+0x1)+_0x4cf3ea(0x15e)+_0x421feb[_0x4cf3ea(0x107)]);else this[_0x4cf3ea(0x121)]&&!this[_0x4cf3ea(0x124)](_0x421feb[_0x4cf3ea(0x107)])&&_0x89e6cf['push']('Action\x20'+(_0x163c0+0x1)+':\x20command\x20is\x20not\x20in\x20allowed\x20list:\x20'+_0x421feb[_0x4cf3ea(0x107)]);}break;case'change-directory':case'list-directory':case'create-directory':(!_0x421feb[_0x4cf3ea(0x174)]||!_0x421feb['directory']['trim']())&&_0x89e6cf[_0x4cf3ea(0x8b)]('Action\x20'+(_0x163c0+0x1)+':\x20directory\x20is\x20required\x20for\x20'+_0x421feb[_0x4cf3ea(0xc4)]);break;case'get-working-directory':break;default:_0x89e6cf['push']('Action\x20'+(_0x163c0+0x1)+_0x4cf3ea(0x14a)+_0x421feb['type']);}}return _0x197058[_0x4cf3ea(0x160)]&&(_0x197058['timeout']<0x3e8||_0x197058['timeout']>this[_0x4cf3ea(0x160)])&&_0x89e6cf[_0x4cf3ea(0x8b)](_0x4cf3ea(0x175)+this['timeout']+'\x20milliseconds'),{'valid':_0x89e6cf[_0x4cf3ea(0xdf)]===0x0,'errors':_0x89e6cf};}async['execute'](_0x5e9852,_0x1b8951){const _0x214510=a0_0x399cea,{actions:_0x44f25b,timeout:_0x40be72,async:_0x29a681}=_0x5e9852,{agentId:_0x3a56a5,projectDir:_0x244468,directoryAccess:_0x1fa47b}=_0x1b8951,_0x105de3=_0x1fa47b||this[_0x214510(0x111)][_0x214510(0xde)]({'workingDirectory':_0x244468||process[_0x214510(0xa2)](),'writeEnabledDirectories':[_0x244468||process['cwd']()],'restrictToProject':!![]});_0x1fa47b&&_0x1fa47b['workingDirectory']?console[_0x214510(0x85)]('Terminal\x20DEBUG:\x20Using\x20agent\x20configured\x20working\x20directory:',_0x1fa47b[_0x214510(0xcc)]):console['log']('Terminal\x20DEBUG:\x20Using\x20fallback\x20working\x20directory:',_0x244468||process['cwd']());const _0x378ad6=_0x3a56a5+'-'+(_0x244468||'default');let _0x2578a6=this['workingDirectories']['get'](_0x378ad6)||this['directoryAccessManager'][_0x214510(0x1c6)](_0x105de3);const _0x3a5587=[];for(const _0x2a1c35 of _0x44f25b){try{let _0x5e7d3b;switch(_0x2a1c35[_0x214510(0xc4)]){case'run-command':_0x5e7d3b=await this[_0x214510(0x1b4)](_0x2a1c35[_0x214510(0x107)],_0x2578a6,{'timeout':_0x40be72||this[_0x214510(0x160)],'async':_0x29a681||![],'agentId':_0x3a56a5,'context':{'toolsRegistry':_0x1b8951['toolsRegistry'],'aiService':_0x1b8951[_0x214510(0xa3)],'apiKey':_0x1b8951['apiKey'],'customApiKeys':_0x1b8951[_0x214510(0xff)],'platformProvided':_0x1b8951['platformProvided']}});break;case _0x214510(0x133):_0x5e7d3b=await this['changeDirectory'](_0x2a1c35[_0x214510(0x174)],_0x2578a6,_0x105de3),_0x2578a6=_0x5e7d3b[_0x214510(0x83)],this[_0x214510(0x1ab)][_0x214510(0x12b)](_0x378ad6,_0x2578a6);break;case'list-directory':_0x5e7d3b=await this['listDirectory'](_0x2a1c35[_0x214510(0x174)]==='.'?_0x2578a6:_0x2a1c35[_0x214510(0x174)]);break;case'create-directory':_0x5e7d3b=await this[_0x214510(0xa4)](_0x2a1c35['directory'],_0x2578a6);break;case'get-working-directory':_0x5e7d3b={'success':!![],'action':'get-working-directory','workingDirectory':_0x2578a6,'message':'Current\x20working\x20directory:\x20'+_0x2578a6};break;default:throw new Error(_0x214510(0x10f)+_0x2a1c35['type']);}_0x3a5587[_0x214510(0x8b)](_0x5e7d3b),this[_0x214510(0x116)](_0x2a1c35,_0x5e7d3b,_0x3a56a5);}catch(_0x30618b){const _0x51d8eb={'success':![],'action':_0x2a1c35[_0x214510(0xc4)],'error':_0x30618b['message'],'command':_0x2a1c35[_0x214510(0x107)]||_0x2a1c35[_0x214510(0x174)],'workingDirectory':_0x2578a6};_0x3a5587[_0x214510(0x8b)](_0x51d8eb),this[_0x214510(0x116)](_0x2a1c35,_0x51d8eb,_0x3a56a5);}}const _0x2ff5cb=_0x3a5587[_0x214510(0xbb)](_0x260d83=>_0x260d83[_0x214510(0x115)]),_0x16e450=_0x3a5587['filter'](_0x38e649=>!_0x38e649['success']);return{'success':_0x2ff5cb,'actions':_0x3a5587,'workingDirectory':_0x2578a6,'executedActions':_0x44f25b[_0x214510(0xdf)],'failedActions':_0x16e450[_0x214510(0xdf)],'toolUsed':'terminal','message':_0x2ff5cb?'All\x20'+_0x44f25b[_0x214510(0xdf)]+_0x214510(0x10d):_0x16e450[_0x214510(0xdf)]+'\x20of\x20'+_0x44f25b['length']+_0x214510(0x13f)};}async['executeCommand'](_0x3a1410,_0x2ac626,_0xb48f28={}){const _0x429196=a0_0x399cea,{timeout:timeout=this[_0x429196(0x160)],async:_0x3e7621=![],agentId:_0x2719d8,context:_0x2b80a1}=_0xb48f28,_0x42fc6a=_0x3a1410;let _0x58b644;try{_0x58b644=await this['translateCommand'](_0x3a1410,{'agentId':_0x2719d8,'toolsRegistry':_0x2b80a1?.[_0x429196(0x13e)],'messageProcessor':_0x2b80a1?.[_0x429196(0x1a9)],'aiService':_0x2b80a1?.[_0x429196(0xa3)],'apiKey':_0x2b80a1?.['apiKey'],'customApiKeys':_0x2b80a1?.['customApiKeys'],'platformProvided':_0x2b80a1?.['platformProvided']});}catch(_0x477ce9){this['logger']?.[_0x429196(0x91)](_0x429196(0x108),{'originalCommand':_0x42fc6a,'error':_0x477ce9[_0x429196(0x19f)]}),_0x58b644=_0x3a1410;}return new Promise((_0x11a7de,_0x143f35)=>{const _0x47f796=_0x429196,_0x328cb0=Date['now']();this[_0x47f796(0x179)]?.[_0x47f796(0x166)]('Executing\x20command:\x20'+_0x58b644,{'originalCommand':_0x42fc6a,'translatedCommand':_0x58b644,'terminal':this[_0x47f796(0x13c)],'workingDirectory':_0x2ac626,'timeout':timeout,'agentId':_0x2719d8});const _0x38414f=exec(_0x58b644,{'cwd':_0x2ac626,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process['env']}},(_0x58b782,_0x2a208a,_0x417106)=>{const _0x4a92da=_0x47f796,_0x28f1e8=Date[_0x4a92da(0x9b)]()-_0x328cb0;if(_0x58b782){this[_0x4a92da(0x179)]?.[_0x4a92da(0x198)]('Command\x20failed:\x20'+_0x58b644,{'originalCommand':_0x42fc6a,'translatedCommand':_0x58b644,'error':_0x58b782['message'],'workingDirectory':_0x2ac626,'executionTime':_0x28f1e8}),_0x11a7de({'success':![],'action':'run-command','command':_0x42fc6a,'translatedCommand':_0x58b644!==_0x42fc6a?_0x58b644:undefined,'error':_0x58b782[_0x4a92da(0x19f)],'stderr':_0x417106['trim'](),'stdout':_0x2a208a['trim'](),'exitCode':_0x58b782['code'],'executionTime':_0x28f1e8,'workingDirectory':_0x2ac626});return;}this['logger']?.['info']('Command\x20completed:\x20'+_0x58b644,{'originalCommand':_0x42fc6a,'translatedCommand':_0x58b644,'executionTime':_0x28f1e8,'stdoutLength':_0x2a208a[_0x4a92da(0xdf)],'stderrLength':_0x417106[_0x4a92da(0xdf)]}),_0x11a7de({'success':!![],'action':'run-command','command':_0x42fc6a,'translatedCommand':_0x58b644!==_0x42fc6a?_0x58b644:undefined,'stdout':_0x2a208a['trim'](),'stderr':_0x417106['trim'](),'exitCode':0x0,'executionTime':_0x28f1e8,'workingDirectory':_0x2ac626,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x28f1e8+'ms'});});setTimeout(()=>{const _0x3bb38e=_0x47f796;!_0x38414f[_0x3bb38e(0x14f)]&&(_0x38414f[_0x3bb38e(0x1bb)]('SIGTERM'),_0x143f35(new Error(_0x3bb38e(0xa7)+timeout+'ms:\x20'+_0x58b644+_0x3bb38e(0x1ae)+_0x42fc6a+')')));},timeout);});}async[a0_0x399cea(0x89)](_0x465046,_0x985663,_0x10384c={}){const _0x5e912f=a0_0x399cea,{timeout:timeout=this[_0x5e912f(0x160)],agentId:_0x53eb33,context:_0x339e59}=_0x10384c,_0x552a67=_0x465046;let _0x41ff69;try{_0x41ff69=await this[_0x5e912f(0xd5)](_0x465046,{'agentId':_0x53eb33,'toolsRegistry':_0x339e59?.[_0x5e912f(0x13e)],'messageProcessor':_0x339e59?.[_0x5e912f(0x1a9)],'aiService':_0x339e59?.[_0x5e912f(0xa3)],'apiKey':_0x339e59?.['apiKey'],'customApiKeys':_0x339e59?.['customApiKeys'],'platformProvided':_0x339e59?.[_0x5e912f(0xce)]});}catch(_0x2cc1b0){this[_0x5e912f(0x179)]?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x552a67,'error':_0x2cc1b0[_0x5e912f(0x19f)]}),_0x41ff69=_0x465046;}return new Promise((_0xda5241,_0x39f57e)=>{const _0x589108=_0x5e912f,_0x12d066=Date['now']();this['logger']?.['info']('Executing\x20command\x20with\x20spawn:\x20'+_0x41ff69,{'originalCommand':_0x552a67,'translatedCommand':_0x41ff69,'terminal':this[_0x589108(0x13c)],'workingDirectory':_0x985663,'timeout':timeout,'agentId':_0x53eb33});let _0x113c93;if(this[_0x589108(0x13c)]===_0x589108(0x130)||this[_0x589108(0x13c)]==='powershell'){const _0x4ea26e=this['detectedTerminal']==='powershell'?'powershell':_0x589108(0x130),_0x1a349e=this[_0x589108(0x13c)]===_0x589108(0x149)?['-Command',_0x41ff69]:['/c',_0x41ff69];_0x113c93=spawn(_0x4ea26e,_0x1a349e,{'cwd':_0x985663,'env':{...process[_0x589108(0x195)]},'windowsHide':!![]});}else _0x113c93=spawn('sh',['-c',_0x41ff69],{'cwd':_0x985663,'env':{...process[_0x589108(0x195)]}});let _0x15f899='',_0x2d89cf='',_0x31b22a=![],_0x37813e=null,_0x4d0ea7=Date[_0x589108(0x9b)](),_0x4cad00=null;const _0x2d2b87=setTimeout(()=>{const _0x1ef35b=_0x589108;!_0x113c93['killed']&&_0x37813e===null&&(_0x31b22a=!![],this[_0x1ef35b(0x179)]?.[_0x1ef35b(0x91)]('Command\x20timed\x20out,\x20killing\x20process:\x20'+_0x41ff69,{'timeout':timeout,'agentId':_0x53eb33}),_0x113c93[_0x1ef35b(0x1bb)]('SIGTERM'),setTimeout(()=>{!_0x113c93['killed']&&_0x113c93['kill']('SIGKILL');},0x1388));},timeout);_0x113c93[_0x589108(0x1aa)]['on'](_0x589108(0x150),_0x1e32de=>{const _0x4336c8=_0x589108,_0x3ee041=_0x1e32de[_0x4336c8(0x17e)]();_0x15f899+=_0x3ee041,_0x4d0ea7=Date[_0x4336c8(0x9b)](),this[_0x4336c8(0x179)]?.[_0x4336c8(0xb7)](_0x4336c8(0xe0)+_0x3ee041[_0x4336c8(0x104)](0x0,0x64),{'agentId':_0x53eb33,'command':_0x552a67['substring'](0x0,0x32)});if(!_0x4cad00){const _0x3c4e61=this['promptDetector'][_0x4336c8(0x88)](_0x15f899,'stdout');_0x3c4e61&&(_0x4cad00=_0x3c4e61,this[_0x4336c8(0x179)]?.['info']('Prompt\x20detected\x20in\x20stdout',{'type':_0x3c4e61[_0x4336c8(0xc4)],'description':_0x3c4e61[_0x4336c8(0x168)],'matchedText':_0x3c4e61[_0x4336c8(0x14c)],'agentId':_0x53eb33,'command':_0x552a67['substring'](0x0,0x32)}));}}),_0x113c93[_0x589108(0xe6)]['on']('data',_0x3cf848=>{const _0xf42a43=_0x589108,_0x221ace=_0x3cf848['toString']();_0x2d89cf+=_0x221ace,_0x4d0ea7=Date[_0xf42a43(0x9b)](),this[_0xf42a43(0x179)]?.[_0xf42a43(0xb7)](_0xf42a43(0x199)+_0x221ace[_0xf42a43(0x104)](0x0,0x64),{'agentId':_0x53eb33,'command':_0x552a67['substring'](0x0,0x32)});if(!_0x4cad00){const _0x394ae0=this[_0xf42a43(0x191)]['detectPrompt'](_0x2d89cf,_0xf42a43(0xe6));_0x394ae0&&(_0x4cad00=_0x394ae0,this[_0xf42a43(0x179)]?.[_0xf42a43(0x166)]('Prompt\x20detected\x20in\x20stderr',{'type':_0x394ae0[_0xf42a43(0xc4)],'description':_0x394ae0['description'],'matchedText':_0x394ae0[_0xf42a43(0x14c)],'agentId':_0x53eb33,'command':_0x552a67[_0xf42a43(0x104)](0x0,0x32)}));}}),_0x113c93['on'](_0x589108(0x109),(_0x51ce30,_0x47aa3c)=>{const _0x331fc4=_0x589108;clearTimeout(_0x2d2b87),_0x37813e=_0x51ce30;const _0xb0084b=Date['now']()-_0x12d066,_0x274aef=Date['now']()-_0x4d0ea7;this[_0x331fc4(0x179)]?.[_0x331fc4(0x166)]('Command\x20process\x20exited:\x20'+_0x41ff69,{'exitCode':_0x51ce30,'signal':_0x47aa3c,'executionTime':_0xb0084b,'timedOut':_0x31b22a,'stdoutLength':_0x15f899[_0x331fc4(0xdf)],'stderrLength':_0x2d89cf['length'],'promptDetected':!!_0x4cad00,'timeSinceLastOutput':_0x274aef});const _0x37a597={'action':_0x331fc4(0x1c9),'command':_0x552a67,'translatedCommand':_0x41ff69!==_0x552a67?_0x41ff69:undefined,'stdout':_0x15f899['trim'](),'stderr':_0x2d89cf[_0x331fc4(0x146)](),'exitCode':_0x51ce30,'executionTime':_0xb0084b,'workingDirectory':_0x985663,'promptDetected':!!_0x4cad00,'promptInfo':_0x4cad00||undefined,'lastOutputTime':_0x4d0ea7,'timeSinceLastOutput':_0x274aef};if(_0x31b22a){_0xda5241({..._0x37a597,'success':![],'error':'Command\x20timed\x20out\x20after\x20'+timeout+'ms','exitCode':_0x51ce30||-0x1,'timedOut':!![]});return;}if(_0x51ce30!==0x0){this['logger']?.['error']('Command\x20failed\x20with\x20exit\x20code\x20'+_0x51ce30+':\x20'+_0x41ff69,{'originalCommand':_0x552a67,'translatedCommand':_0x41ff69,'exitCode':_0x51ce30,'stderr':_0x2d89cf['substring'](0x0,0xc8),'executionTime':_0xb0084b,'promptDetected':!!_0x4cad00}),_0xda5241({..._0x37a597,'success':![],'error':_0x331fc4(0x186)+_0x51ce30});return;}this[_0x331fc4(0x179)]?.[_0x331fc4(0x166)]('Command\x20completed\x20successfully:\x20'+_0x41ff69,{'originalCommand':_0x552a67,'executionTime':_0xb0084b,'stdoutLength':_0x15f899[_0x331fc4(0xdf)],'stderrLength':_0x2d89cf[_0x331fc4(0xdf)],'promptDetected':!!_0x4cad00}),_0xda5241({..._0x37a597,'success':!![],'exitCode':0x0,'message':_0x331fc4(0x1af)+_0xb0084b+'ms'});}),_0x113c93['on']('error',_0x2d313b=>{const _0x46a4d2=_0x589108;clearTimeout(_0x2d2b87);const _0x42e85e=Date['now']()-_0x12d066,_0x58179e=Date[_0x46a4d2(0x9b)]()-_0x4d0ea7;this[_0x46a4d2(0x179)]?.[_0x46a4d2(0x198)]('Command\x20spawn\x20error:\x20'+_0x41ff69,{'originalCommand':_0x552a67,'error':_0x2d313b['message'],'executionTime':_0x42e85e,'promptDetected':!!_0x4cad00}),_0xda5241({'success':![],'action':_0x46a4d2(0x1c9),'command':_0x552a67,'translatedCommand':_0x41ff69!==_0x552a67?_0x41ff69:undefined,'error':_0x2d313b[_0x46a4d2(0x19f)],'stderr':_0x2d89cf['trim'](),'stdout':_0x15f899['trim'](),'exitCode':-0x1,'executionTime':_0x42e85e,'workingDirectory':_0x985663,'promptDetected':!!_0x4cad00,'promptInfo':_0x4cad00||undefined,'lastOutputTime':_0x4d0ea7,'timeSinceLastOutput':_0x58179e});});});}async[a0_0x399cea(0xac)](_0x40e215,_0x35d3b5,_0x1f3e0b){const _0x34adb7=a0_0x399cea;try{let _0x41f799;a0_0x480d4c[_0x34adb7(0xfd)](_0x40e215)?_0x41f799=_0x40e215:_0x41f799=a0_0x480d4c[_0x34adb7(0x173)](_0x35d3b5,_0x40e215);const _0x461eaa=await a0_0x3613ab[_0x34adb7(0xdc)](_0x41f799);if(!_0x461eaa[_0x34adb7(0x18c)]())throw new Error('Not\x20a\x20directory:\x20'+_0x41f799);const _0x3cca10=this[_0x34adb7(0x111)]['validateReadAccess'](_0x41f799,_0x1f3e0b);if(!_0x3cca10[_0x34adb7(0x96)]){this[_0x34adb7(0x179)]?.['warn']('Directory\x20change\x20blocked:\x20'+_0x3cca10['reason'],{'targetDirectory':_0x41f799,'reason':_0x3cca10[_0x34adb7(0x154)],'category':_0x3cca10['category']});throw new Error('Access\x20denied:\x20'+_0x3cca10[_0x34adb7(0x154)]);}return{'success':!![],'action':'change-directory','previousDirectory':_0x35d3b5,'newDirectory':_0x41f799,'message':'Changed\x20directory\x20to\x20'+_0x41f799};}catch(_0x3d20e5){throw new Error(_0x34adb7(0x14d)+_0x40e215+':\x20'+_0x3d20e5['message']);}}async['listDirectory'](_0x519a59){const _0x42010d=a0_0x399cea;try{const _0x58c051=await a0_0x3613ab['readdir'](_0x519a59,{'withFileTypes':!![]}),_0x355ec9=_0x58c051[_0x42010d(0x169)](_0x1c2b44=>({'name':_0x1c2b44[_0x42010d(0x1ba)],'type':_0x1c2b44['isDirectory']()?_0x42010d(0x174):'file','isSymlink':_0x1c2b44['isSymbolicLink']()}));return{'success':!![],'action':_0x42010d(0x16f),'directory':_0x519a59,'contents':_0x355ec9,'totalItems':_0x355ec9['length'],'directories':_0x355ec9['filter'](_0x4d68c7=>_0x4d68c7['type']==='directory')['length'],'files':_0x355ec9[_0x42010d(0x119)](_0x1cc71f=>_0x1cc71f[_0x42010d(0xc4)]===_0x42010d(0x1a4))[_0x42010d(0xdf)],'message':_0x42010d(0xe7)+_0x355ec9['length']+'\x20items\x20in\x20'+_0x519a59};}catch(_0x1624ac){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0x519a59+':\x20'+_0x1624ac['message']);}}async[a0_0x399cea(0xa4)](_0x45dfee,_0x227447){const _0x5cf208=a0_0x399cea;try{let _0x3e5e5b;return a0_0x480d4c[_0x5cf208(0xfd)](_0x45dfee)?_0x3e5e5b=_0x45dfee:_0x3e5e5b=a0_0x480d4c['resolve'](_0x227447,_0x45dfee),await a0_0x3613ab['mkdir'](_0x3e5e5b,{'recursive':!![]}),{'success':!![],'action':'create-directory','directory':_0x3e5e5b,'relativePath':a0_0x480d4c[_0x5cf208(0x152)](_0x227447,_0x3e5e5b),'message':'Created\x20directory:\x20'+_0x3e5e5b};}catch(_0xfe6881){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x45dfee+':\x20'+_0xfe6881[_0x5cf208(0x19f)]);}}[a0_0x399cea(0x10a)](_0x193356){const _0x109d21=a0_0x399cea,_0x47bda6=_0x193356[_0x109d21(0x19a)]()['trim']();return this['blockedCommands']['some'](_0x450ab2=>{const _0x49702f=_0x450ab2['toLowerCase']();return _0x47bda6===_0x49702f||_0x47bda6['startsWith'](_0x49702f+'\x20');});}['isAllowedCommand'](_0x484d34){const _0x294e88=a0_0x399cea;if(!this[_0x294e88(0x121)])return!![];const _0x56bc82=_0x484d34['toLowerCase']()[_0x294e88(0x146)](),_0x3ad299=_0x56bc82[_0x294e88(0x82)]('\x20')[0x0];return this[_0x294e88(0x121)]['some'](_0x2d06a4=>_0x2d06a4['toLowerCase']()===_0x3ad299||_0x56bc82[_0x294e88(0x113)](_0x2d06a4[_0x294e88(0x19a)]()+'\x20'));}['addToHistory'](_0x37a405,_0x35c173,_0x38dfd7){const _0x284edf=a0_0x399cea,_0x3f3a38={'timestamp':new Date()[_0x284edf(0x118)](),'agentId':_0x38dfd7,'action':_0x37a405['type'],'command':_0x37a405['command']||_0x37a405['directory'],'success':_0x35c173['success'],'executionTime':_0x35c173[_0x284edf(0xbd)]||0x0,'workingDirectory':_0x35c173['workingDirectory']};this[_0x284edf(0x100)][_0x284edf(0x8b)](_0x3f3a38),this[_0x284edf(0x100)]['length']>0x64&&(this[_0x284edf(0x100)]=this[_0x284edf(0x100)][_0x284edf(0xb6)](-0x64));}['getSupportedActions'](){const _0x2ddef8=a0_0x399cea;return['run-command',_0x2ddef8(0x133),'list-directory','create-directory',_0x2ddef8(0x103)];}[a0_0x399cea(0xc8)](){const _0x1edf94=a0_0x399cea;return{'type':_0x1edf94(0x11c),'properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':_0x1edf94(0x11c),'properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'command':{'type':'string'},'directory':{'type':_0x1edf94(0x170)}},'required':[_0x1edf94(0xc4)]}},'timeout':{'type':'integer','minimum':0x3e8,'maximum':this[_0x1edf94(0x160)]},'async':{'type':_0x1edf94(0x122)}},'required':['actions']};}[a0_0x399cea(0xfc)](_0x4098bc=null){const _0x24600c=a0_0x399cea;if(_0x4098bc)return this['commandHistory']['filter'](_0x4a6988=>_0x4a6988[_0x24600c(0xd4)]===_0x4098bc);return[...this['commandHistory']];}['clearWorkingDirectory'](_0x364f34){const _0x599977=a0_0x399cea;for(const [_0x3d0276]of this['workingDirectories']){_0x3d0276[_0x599977(0x113)](_0x364f34+'-')&&this[_0x599977(0x1ab)][_0x599977(0xe1)](_0x3d0276);}}['getCurrentWorkingDirectory'](_0x43f645,_0x33d7eb=null){const _0x49e902=a0_0x399cea,_0x8b32ed=_0x43f645+'-'+(_0x33d7eb||'default');return this['workingDirectories']['get'](_0x8b32ed)||_0x33d7eb||process[_0x49e902(0xa2)]();}[a0_0x399cea(0x1a3)](){const _0x2ce46c=a0_0x399cea;this['platformType']=process[_0x2ce46c(0xaa)];if(process[_0x2ce46c(0xaa)]===_0x2ce46c(0x19d)){if(process['env'][_0x2ce46c(0x1c3)])this[_0x2ce46c(0x13c)]=_0x2ce46c(0x149);else process[_0x2ce46c(0x195)][_0x2ce46c(0xfb)]&&process['env']['SHELL'][_0x2ce46c(0x178)](_0x2ce46c(0x153))?this['detectedTerminal']='bash':this['detectedTerminal']='cmd';}else process[_0x2ce46c(0xaa)]===_0x2ce46c(0x9e)?this['detectedTerminal']=_0x2ce46c(0x153):this[_0x2ce46c(0x13c)]='bash';this['logger']?.['info'](_0x2ce46c(0xd2),{'platform':this['platformType'],'terminal':this[_0x2ce46c(0x13c)],'shell':process['env']['SHELL']});}async[a0_0x399cea(0xd5)](_0x457ed7,_0x3dbefb={}){const _0x49e59c=a0_0x399cea,_0x5b606b=_0x457ed7[_0x49e59c(0x146)](),_0x2bb7dc=this[_0x49e59c(0x106)](_0x5b606b);this[_0x49e59c(0x179)]?.[_0x49e59c(0x166)](_0x49e59c(0x1b2),{'command':_0x5b606b,'detectedTerminal':_0x2bb7dc[_0x49e59c(0x13c)],'commandType':_0x2bb7dc[_0x49e59c(0xb1)],'commandCategory':_0x2bb7dc[_0x49e59c(0x151)],'compatible':_0x2bb7dc['compatible'],'issues':_0x2bb7dc['specificIssues'],'suggestedAction':_0x2bb7dc['suggestedAction'],'confidence':_0x2bb7dc[_0x49e59c(0x158)]});if(_0x2bb7dc['compatible'])return _0x457ed7;let _0x337f91=null;if(this[_0x49e59c(0x13c)]===_0x49e59c(0x130))_0x337f91=this[_0x49e59c(0xd0)](_0x5b606b);else{if(this['detectedTerminal']===_0x49e59c(0x149))_0x337f91=this['translateToPowerShell'](_0x5b606b);else this[_0x49e59c(0x13c)]===_0x49e59c(0x153)&&(_0x337f91=this['translateToBash'](_0x5b606b));}if(_0x337f91&&this['isSimpleCommand'](_0x5b606b))return this['logger']?.['info'](_0x49e59c(0xdb),{'original':_0x457ed7,'translated':_0x337f91,'method':_0x49e59c(0xbc)}),_0x337f91;if(_0x3dbefb['aiService']||_0x3dbefb['toolsRegistry']&&_0x3dbefb['agentId']){this[_0x49e59c(0x179)]?.[_0x49e59c(0x166)](_0x49e59c(0x193),{'command':_0x457ed7[_0x49e59c(0x104)](0x0,0x64)+'...','hasAiService':!!_0x3dbefb[_0x49e59c(0xa3)],'hasToolsRegistry':!!_0x3dbefb['toolsRegistry'],'agentId':_0x3dbefb['agentId']});try{const _0x3c0c0f=await this['translateCommandWithAI'](_0x457ed7,_0x3dbefb);if(_0x3c0c0f&&_0x3c0c0f[_0x49e59c(0x146)]()!==_0x457ed7['trim']())return this['logger']?.[_0x49e59c(0x166)]('Using\x20AI\x20translation',{'original':_0x457ed7,'translated':_0x3c0c0f,'method':'ai'}),_0x3c0c0f;else this[_0x49e59c(0x179)]?.[_0x49e59c(0x91)]('AI\x20translation\x20returned\x20same\x20command',{'original':_0x457ed7,'translated':_0x3c0c0f});}catch(_0x2f70fa){this[_0x49e59c(0x179)]?.[_0x49e59c(0x91)](_0x49e59c(0x159),{'original':_0x457ed7,'error':_0x2f70fa[_0x49e59c(0x19f)],'stack':_0x2f70fa['stack']});}}else this['logger']?.['warn']('AI\x20translation\x20not\x20available\x20-\x20missing\x20context',{'hasAiService':!!_0x3dbefb[_0x49e59c(0xa3)],'hasToolsRegistry':!!_0x3dbefb['toolsRegistry'],'hasAgentId':!!_0x3dbefb['agentId'],'contextKeys':Object[_0x49e59c(0x84)](_0x3dbefb)});return _0x337f91||_0x457ed7;}[a0_0x399cea(0xcd)](_0x130d5b){const _0x592e1b=a0_0x399cea,_0x19e7c8=_0x130d5b['toLowerCase']();if(_0x130d5b['includes']('\x5cn')||_0x130d5b['includes']('\x5cr')||_0x130d5b[_0x592e1b(0x178)]('\x5ct'))return![];if(_0x130d5b[_0x592e1b(0x178)]('\x0a')||_0x130d5b[_0x592e1b(0x178)]('\x0d'))return![];if(_0x130d5b['includes']('#include')||_0x130d5b['includes'](_0x592e1b(0x10c))||_0x130d5b[_0x592e1b(0x178)]('main()'))return![];if(_0x130d5b[_0x592e1b(0x178)](_0x592e1b(0x1bf))||_0x130d5b['includes'](_0x592e1b(0x182))||_0x130d5b['includes'](_0x592e1b(0x12e)))return![];if(_0x130d5b['includes'](_0x592e1b(0xc2))&&!_0x130d5b['includes']('echo\x20\x22'))return![];const _0x584cc9=_0x130d5b['match'](/'([^']*)'/);if(_0x584cc9&&_0x584cc9[0x1][_0x592e1b(0xdf)]>0x32)return![];if(this['detectedTerminal']===_0x592e1b(0x130)&&_0x130d5b['includes']('>')&&_0x130d5b[_0x592e1b(0x178)]('/')&&!_0x130d5b['includes']('\x5c'))return![];if(_0x130d5b['includes'](_0x592e1b(0xda))||_0x130d5b['includes'](_0x592e1b(0xb9))||_0x130d5b['includes'](';\x20'))return![];if(_0x130d5b[_0x592e1b(0x178)]('$(')||_0x130d5b[_0x592e1b(0x178)]('`')||_0x130d5b[_0x592e1b(0x178)]('{')||_0x130d5b['includes']('['))return![];if(_0x19e7c8[_0x592e1b(0x178)](_0x592e1b(0xe5))||_0x19e7c8['includes']('while\x20')||_0x19e7c8['includes'](_0x592e1b(0xf2)))return![];if(_0x19e7c8[_0x592e1b(0x178)]('export ')||_0x19e7c8['includes']('source\x20'))return![];if(_0x130d5b['includes'](_0x592e1b(0x129))||_0x130d5b[_0x592e1b(0x178)](_0x592e1b(0x15c)))return![];return!![];}async['translateCommandWithAI'](_0x26e55f,_0x1ddc18){const _0x1a455f=a0_0x399cea;let _0x3c03b0=_0x1ddc18[_0x1a455f(0xa3)];if(!_0x3c03b0&&_0x1ddc18['toolsRegistry']&&_0x1ddc18[_0x1a455f(0xd4)]){const _0x245de9=_0x1ddc18[_0x1a455f(0x1a9)];_0x245de9&&_0x245de9['aiService']&&(_0x3c03b0=_0x245de9[_0x1a455f(0xa3)]);}if(!_0x3c03b0)throw new Error('AI\x20service\x20not\x20available\x20for\x20command\x20translation');const _0x591a1c=this[_0x1a455f(0x164)](_0x26e55f),_0x81d085='gpt-4-mini';try{const _0x1c3044=await _0x3c03b0['sendMessage'](_0x81d085,_0x591a1c,{'agentId':_0x1ddc18[_0x1a455f(0xd4)],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x1ddc18['apiKey'],'customApiKeys':_0x1ddc18['customApiKeys'],'platformProvided':_0x1ddc18[_0x1a455f(0xce)]}),_0x5796de=this[_0x1a455f(0x11a)](_0x1c3044['content']);return this[_0x1a455f(0x179)]?.['debug'](_0x1a455f(0x142),{'original':_0x26e55f,'translated':_0x5796de,'model':_0x81d085,'terminal':this['detectedTerminal']}),_0x5796de;}catch(_0x4d1dba){this[_0x1a455f(0x179)]?.[_0x1a455f(0x198)](_0x1a455f(0xcf),{'command':_0x26e55f,'terminal':this[_0x1a455f(0x13c)],'error':_0x4d1dba[_0x1a455f(0x19f)]});throw _0x4d1dba;}}['buildTranslationPrompt'](_0x4394b1){const _0x280b50=a0_0x399cea,_0x1099c2={'cmd':_0x280b50(0x19c),'powershell':'Windows\x20PowerShell','bash':'Bash\x20shell\x20(Linux/Unix/macOS)'},_0x3dcf3f=_0x1099c2[this[_0x280b50(0x13c)]]||this[_0x280b50(0x13c)],_0x527eea=this[_0x280b50(0x106)](_0x4394b1);let _0x5eb001=_0x280b50(0x17d)+_0x3dcf3f+':\x0a\x0aORIGINAL\x20COMMAND:\x0a```\x0a'+_0x4394b1+'\x0a```\x0a\x0aCOMMAND\x20ANALYSIS:\x0a-\x20Command\x20Type:\x20'+_0x527eea['commandType']+_0x280b50(0x1b6)+_0x527eea['commandCategory']+_0x280b50(0x144)+_0x3dcf3f+_0x280b50(0x187)+(_0x527eea['specificIssues'][_0x280b50(0xec)](',\x20')||'None\x20detected');return _0x527eea['commandType']==='unix'&&_0x527eea['alternatives']&&_0x527eea['alternatives'][this[_0x280b50(0x13c)]]&&(_0x5eb001+=_0x280b50(0xc7)+_0x527eea['alternatives'][this['detectedTerminal']]),_0x5eb001+=_0x280b50(0x8a)+_0x3dcf3f+_0x280b50(0xa0),_0x5eb001;}['extractTranslatedCommand'](_0x3997b3){const _0x26ad36=a0_0x399cea;let _0x167b27=_0x3997b3['replace'](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x167b27=_0x167b27[_0x26ad36(0x157)](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x419a9a=_0x167b27['trim']()['split']('\x0a');return _0x419a9a[_0x26ad36(0xdf)]>0x1&&!_0x167b27['includes']('&&')&&!_0x167b27[_0x26ad36(0x178)]('||')&&(_0x167b27=_0x419a9a[0x0]['trim']()),_0x167b27['trim']();}['analyzeCommandCompatibility'](_0x3cfb1a){const _0x4fe77f=a0_0x399cea,_0x5d1395=this[_0x4fe77f(0xcb)](_0x3cfb1a),_0x4be634=this['isCommandCompatibleWithTerminal'](_0x5d1395,this['detectedTerminal']);return{'compatible':_0x4be634,'detectedTerminal':this['detectedTerminal'],'commandType':_0x5d1395['type'],'commandCategory':_0x5d1395['category'],'specificIssues':_0x5d1395[_0x4fe77f(0x80)],'suggestedAction':_0x4be634?'execute':_0x4fe77f(0x105),'confidence':_0x5d1395['confidence']};}[a0_0x399cea(0x180)](_0x7093d4){const _0x541376=a0_0x399cea;return this[_0x541376(0x106)](_0x7093d4)[_0x541376(0x15d)];}['classifyCommand'](_0x3b15a5){const _0x50ce13=a0_0x399cea,_0x55d79c=_0x3b15a5['toLowerCase']()['trim'](),_0x2934bb=_0x55d79c['split']('\x20')[0x0],_0x4d3ae4=[];let _0x5e201f=0.9;const _0x474baa={'ls':{'category':_0x50ce13(0x1c5),'alternatives':{'cmd':'dir','powershell':_0x50ce13(0x1a2)}},'cat':{'category':'file-viewing','alternatives':{'cmd':'type','powershell':'Get-Content'}},'grep':{'category':'text-search','alternatives':{'cmd':'findstr','powershell':_0x50ce13(0x1c0)}},'find':{'category':_0x50ce13(0x156),'alternatives':{'cmd':'dir\x20/s','powershell':'Get-ChildItem\x20-Recurse'}},'head':{'category':'file-viewing','alternatives':{'cmd':'more','powershell':_0x50ce13(0xa6)}},'tail':{'category':'file-viewing','alternatives':{'cmd':'more\x20+n','powershell':'Get-Content\x20-Tail'}},'wc':{'category':'text-analysis','alternatives':{'cmd':_0x50ce13(0xe2),'powershell':'Measure-Object'}},'cp':{'category':'file-copy','alternatives':{'cmd':_0x50ce13(0x197),'powershell':'Copy-Item'}},'mv':{'category':_0x50ce13(0xca),'alternatives':{'cmd':'move','powershell':'Move-Item'}},'rm':{'category':'file-delete','alternatives':{'cmd':_0x50ce13(0x16a),'powershell':_0x50ce13(0xe9)}},'mkdir':{'category':_0x50ce13(0xb4),'alternatives':{'cmd':'mkdir','powershell':'New-Item\x20-Type\x20Directory'}},'rmdir':{'category':_0x50ce13(0x128),'alternatives':{'cmd':_0x50ce13(0x11b),'powershell':'Remove-Item'}},'touch':{'category':_0x50ce13(0x16c),'alternatives':{'cmd':_0x50ce13(0x1a1),'powershell':'New-Item\x20-Type\x20File'}},'chmod':{'category':'permissions','alternatives':{'cmd':_0x50ce13(0x163),'powershell':_0x50ce13(0xfa)}},'chown':{'category':'ownership','alternatives':{'cmd':'takeown','powershell':'Set-Acl'}},'ps':{'category':_0x50ce13(0x135),'alternatives':{'cmd':_0x50ce13(0x15b),'powershell':'Get-Process'}},'kill':{'category':'process-kill','alternatives':{'cmd':_0x50ce13(0x114),'powershell':_0x50ce13(0xea)}},'killall':{'category':_0x50ce13(0x176),'alternatives':{'cmd':'taskkill\x20/f\x20/im','powershell':'Get-Process\x20|\x20Stop-Process'}},'top':{'category':'process-monitor','alternatives':{'cmd':_0x50ce13(0x15b),'powershell':'Get-Process\x20|\x20Sort-Object\x20CPU'}},'wget':{'category':_0x50ce13(0x172),'alternatives':{'cmd':_0x50ce13(0x139),'powershell':_0x50ce13(0x143)}},'curl':{'category':'http-client','alternatives':{'cmd':_0x50ce13(0x139),'powershell':'Invoke-RestMethod'}},'ping':{'category':'network-test','alternatives':{'cmd':_0x50ce13(0x1ad),'powershell':_0x50ce13(0xf9)}},'awk':{'category':_0x50ce13(0x17a),'alternatives':{'cmd':_0x50ce13(0x92),'powershell':_0x50ce13(0x162)}},'sed':{'category':'text-edit','alternatives':{'cmd':'powershell\x20-c','powershell':'native'}},'sort':{'category':_0x50ce13(0x147),'alternatives':{'cmd':_0x50ce13(0x101),'powershell':'Sort-Object'}},'uniq':{'category':_0x50ce13(0x18b),'alternatives':{'cmd':'sort\x20/unique','powershell':_0x50ce13(0xc9)}},'pwd':{'category':'directory-current','alternatives':{'cmd':'cd','powershell':_0x50ce13(0x12f)}},'whoami':{'category':_0x50ce13(0x15f),'alternatives':{'cmd':'echo\x20%USERNAME%','powershell':'whoami'}},'env':{'category':_0x50ce13(0xef),'alternatives':{'cmd':_0x50ce13(0x12b),'powershell':'Get-ChildItem\x20Env:'}},'export':{'category':'environment','alternatives':{'cmd':'set','powershell':'$env:'}},'source':{'category':_0x50ce13(0xf8),'alternatives':{'cmd':_0x50ce13(0x1a0),'powershell':'.\x20'}},'tar':{'category':'archive','alternatives':{'cmd':'7z','powershell':'Compress-Archive'}},'zip':{'category':'archive','alternatives':{'cmd':_0x50ce13(0x188),'powershell':'Compress-Archive'}},'unzip':{'category':'archive','alternatives':{'cmd':'powershell\x20Expand-Archive','powershell':_0x50ce13(0xb0)}},'df':{'category':_0x50ce13(0x185),'alternatives':{'cmd':_0x50ce13(0xb2),'powershell':'Get-WmiObject\x20-Class\x20Win32_LogicalDisk'}},'du':{'category':_0x50ce13(0xae),'alternatives':{'cmd':_0x50ce13(0xc6),'powershell':_0x50ce13(0xee)}},'free':{'category':_0x50ce13(0x196),'alternatives':{'cmd':_0x50ce13(0x192),'powershell':_0x50ce13(0x13b)}},'uname':{'category':'system-info','alternatives':{'cmd':'systeminfo','powershell':_0x50ce13(0x1bc)}}},_0x19fa5d={'dir':{'category':'file-listing','alternatives':{'unix':'ls','powershell':'Get-ChildItem'}},'type':{'category':'file-viewing','alternatives':{'unix':_0x50ce13(0x1b9),'powershell':_0x50ce13(0xad)}},'copy':{'category':_0x50ce13(0x120),'alternatives':{'unix':'cp','powershell':_0x50ce13(0x95)}},'move':{'category':_0x50ce13(0xca),'alternatives':{'unix':'mv','powershell':'Move-Item'}},'del':{'category':'file-delete','alternatives':{'unix':'rm','powershell':'Remove-Item'}},'tasklist':{'category':_0x50ce13(0x135),'alternatives':{'unix':'ps','powershell':'Get-Process'}},'taskkill':{'category':'process-kill','alternatives':{'unix':_0x50ce13(0x1bb),'powershell':'Stop-Process'}},'findstr':{'category':'text-search','alternatives':{'unix':'grep','powershell':_0x50ce13(0x1c0)}}},_0x1c91a2={'get-childitem':{'category':_0x50ce13(0x1c5),'alternatives':{'unix':'ls','cmd':'dir'}},'get-content':{'category':'file-viewing','alternatives':{'unix':'cat','cmd':_0x50ce13(0xc4)}},'copy-item':{'category':'file-copy','alternatives':{'unix':'cp','cmd':_0x50ce13(0x197)}},'move-item':{'category':_0x50ce13(0xca),'alternatives':{'unix':'mv','cmd':_0x50ce13(0xf0)}},'remove-item':{'category':_0x50ce13(0x1ac),'alternatives':{'unix':'rm','cmd':'del'}},'get-process':{'category':'process-list','alternatives':{'unix':'ps','cmd':_0x50ce13(0x15b)}},'stop-process':{'category':'process-kill','alternatives':{'unix':_0x50ce13(0x1bb),'cmd':_0x50ce13(0x114)}}};let _0x56e862='unknown',_0x1610ce=_0x50ce13(0x8d),_0x50ed97={};if(_0x474baa[_0x2934bb])_0x56e862='unix',_0x1610ce=_0x474baa[_0x2934bb]['category'],_0x50ed97=_0x474baa[_0x2934bb]['alternatives'];else{if(_0x19fa5d[_0x2934bb])_0x56e862=_0x50ce13(0x126),_0x1610ce=_0x19fa5d[_0x2934bb][_0x50ce13(0xe3)],_0x50ed97=_0x19fa5d[_0x2934bb][_0x50ce13(0x11e)];else{if(_0x1c91a2[_0x2934bb])_0x56e862=_0x50ce13(0x149),_0x1610ce=_0x1c91a2[_0x2934bb]['category'],_0x50ed97=_0x1c91a2[_0x2934bb][_0x50ce13(0x11e)];else{const _0x23f3ea=[_0x50ce13(0x155),'cd',_0x50ce13(0x109),'help'];_0x23f3ea[_0x50ce13(0x178)](_0x2934bb)?(_0x56e862=_0x50ce13(0x9f),_0x1610ce=_0x50ce13(0xf7)):(_0x56e862='unknown',_0x5e201f=0.3);}}}return _0x3b15a5['includes']('\x27')&&!_0x3b15a5[_0x50ce13(0x178)]('\x22')&&_0x4d3ae4[_0x50ce13(0x8b)](_0x50ce13(0x11d)),_0x3b15a5[_0x50ce13(0x178)]('/')&&!_0x3b15a5['includes']('\x5c')&&!_0x3b15a5['includes'](_0x50ce13(0xc0))&&_0x3b15a5[_0x50ce13(0x178)]('>')&&_0x4d3ae4['push'](_0x50ce13(0x18e)),(_0x3b15a5['includes']('\x5cn')||_0x3b15a5[_0x50ce13(0x178)]('\x5ct'))&&_0x4d3ae4['push']('escape-sequences'),(_0x3b15a5[_0x50ce13(0x178)](_0x50ce13(0xda))||_0x3b15a5[_0x50ce13(0x178)](_0x50ce13(0xb9))||_0x3b15a5[_0x50ce13(0x178)](';'))&&_0x4d3ae4[_0x50ce13(0x8b)](_0x50ce13(0x1c4)),{'type':_0x56e862,'category':_0x1610ce,'alternatives':_0x50ed97,'issues':_0x4d3ae4,'confidence':_0x5e201f,'firstWord':_0x2934bb,'fullCommand':_0x3b15a5};}['isCommandCompatibleWithTerminal'](_0x5e5114,_0x133a4f){const _0x2529ad=a0_0x399cea;switch(_0x133a4f){case'cmd':if(_0x5e5114['type']==='unix')return![];if(_0x5e5114[_0x2529ad(0x80)]['includes'](_0x2529ad(0x11d)))return![];if(_0x5e5114[_0x2529ad(0x80)]['includes']('unix-style-paths'))return![];return _0x5e5114['type']==='windows-cmd'||_0x5e5114['type']==='universal';case _0x2529ad(0x149):if(_0x5e5114['type']==='unix'&&!_0x5e5114['alternatives']['powershell'])return![];return!![];case'bash':if(_0x5e5114[_0x2529ad(0xc4)]===_0x2529ad(0x126))return![];return _0x5e5114['type']===_0x2529ad(0xdd)||_0x5e5114['type']==='universal';default:return![];}}['translateToWindowsCmd'](_0x1da403){const _0x41e03c=a0_0x399cea;let _0x1eee92=_0x1da403;const _0x326d4e=new Map([[/^ls\s*$/,'dir'],[/^ls\s+-la?$/,'dir'],[/^ls\s+-l$/,_0x41e03c(0xaf)],[/^ls\s+-a$/,'dir\x20/a'],[/^cat\s+(.+)$/,'type\x20$1'],[/^cp\s+(.+)\s+(.+)$/,'copy\x20$1\x20$2'],[/^mv\s+(.+)\s+(.+)$/,_0x41e03c(0xd3)],[/^rm\s+(.+)$/,'del\x20$1'],[/^mkdir\s+(.+)$/,_0x41e03c(0x1a6)],[/^rmdir\s+(.+)$/,_0x41e03c(0x183)],[/^ps\s*$/,_0x41e03c(0x15b)],[/^kill\s+(.+)$/,_0x41e03c(0xf5)],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,_0x41e03c(0x7e)],[/^ping\s+(.+)$/,'ping\x20$1'],[/^wget\s+(.+)$/,_0x41e03c(0x8e)],[/^curl\s+(.+)$/,_0x41e03c(0xb5)]]);for(const [_0xdebdb,_0x5b0d53]of _0x326d4e){if(_0xdebdb[_0x41e03c(0x94)](_0x1eee92)){_0x1eee92=_0x1eee92[_0x41e03c(0x157)](_0xdebdb,_0x5b0d53);break;}}_0x1eee92=_0x1eee92['replace'](/echo\s+'([^']+)'\s*>/g,'echo\x20\x22$1\x22\x20>'),_0x1eee92=_0x1eee92[_0x41e03c(0x157)](/echo\s+'([^']+)'$/g,'echo\x20\x22$1\x22');if(_0x1eee92['includes']('echo\x20\x27')&&_0x1eee92[_0x41e03c(0x178)]('\x5cn')){const _0x4da73f=_0x1eee92[_0x41e03c(0x140)](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0x4da73f){const _0x2676c8=_0x4da73f[0x1]['replace'](/\\n/g,'\x0a'),_0x51f474=_0x4da73f[0x2],_0x55bb46=_0x2676c8[_0x41e03c(0x82)]('\x0a');_0x1eee92='('+_0x55bb46['map'](_0x47cb9a=>'echo\x20'+_0x47cb9a)['join'](_0x41e03c(0x1c8))+_0x41e03c(0x165)+_0x51f474;}}return this[_0x41e03c(0x179)]?.['info'](_0x41e03c(0x93),{'original':_0x1da403,'translated':_0x1eee92}),_0x1eee92;}['translateToPowerShell'](_0x55d7a0){const _0x14cb70=a0_0x399cea;let _0x426a45=_0x55d7a0;const _0x22926e=new Map([[/^ls\s*$/,_0x14cb70(0x1a2)],[/^ls\s+-la?$/,_0x14cb70(0xa8)],[/^cat\s+(.+)$/,_0x14cb70(0xd9)],[/^cp\s+(.+)\s+(.+)$/,_0x14cb70(0xeb)],[/^mv\s+(.+)\s+(.+)$/,_0x14cb70(0xd7)],[/^rm\s+(.+)$/,'Remove-Item\x20$1'],[/^pwd\s*$/,_0x14cb70(0x12f)],[/^ps\s*$/,_0x14cb70(0xf3)]]);for(const [_0x2d03a3,_0x35a21d]of _0x22926e){if(_0x2d03a3['test'](_0x426a45)){_0x426a45=_0x426a45['replace'](_0x2d03a3,_0x35a21d);break;}}return this['logger']?.[_0x14cb70(0x166)](_0x14cb70(0x1b3),{'original':_0x55d7a0,'translated':_0x426a45}),_0x426a45;}[a0_0x399cea(0x1c1)](_0x1d2c2c){const _0x2246fa=a0_0x399cea;let _0x596e5d=_0x1d2c2c;const _0x1ae2ca=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,_0x2246fa(0x1b5)],[/^type\s+(.+)$/,'cat\x20$1'],[/^copy\s+(.+)\s+(.+)$/,'cp\x20$1\x20$2'],[/^move\s+(.+)\s+(.+)$/,_0x2246fa(0x190)],[/^del\s+(.+)$/,'rm\x20$1'],[/^tasklist\s*$/,'ps'],[/^cd\s*$/,'pwd']]);for(const [_0x597938,_0x136fb9]of _0x1ae2ca){if(_0x597938['test'](_0x596e5d)){_0x596e5d=_0x596e5d['replace'](_0x597938,_0x136fb9);break;}}return _0x596e5d;}async['cleanup'](_0x533a74){}async['startBackgroundCommand'](_0x2c1b84,_0x594e67,_0x2179ab={}){const _0x3611dd=a0_0x399cea,{agentId:_0x4c2689,context:_0x1b5406}=_0x2179ab;if(!_0x4c2689)throw new Error('agentId\x20is\x20required\x20for\x20background\x20commands');const _0x26043c=this[_0x3611dd(0xed)](_0x4c2689),_0x56cb73=_0x26043c['filter'](_0x3583ce=>_0x3583ce['state']===_0x3611dd(0x86)||_0x3583ce['state']==='waiting_for_input');if(_0x56cb73[_0x3611dd(0xdf)]>=this['MAX_BACKGROUND_COMMANDS_PER_AGENT'])throw new Error(_0x3611dd(0xe4)+this[_0x3611dd(0x18d)]+')');const _0x5b7434=Array['from'](this[_0x3611dd(0x17b)][_0x3611dd(0x99)]()),_0x226cc4=_0x5b7434['filter'](_0x3edfcd=>_0x3edfcd['state']===_0x3611dd(0x86)||_0x3edfcd[_0x3611dd(0x1be)]==='waiting_for_input');if(_0x226cc4['length']>=this['MAX_BACKGROUND_COMMANDS_GLOBAL'])throw new Error(_0x3611dd(0xd1)+this['MAX_BACKGROUND_COMMANDS_GLOBAL']+')');const _0x547143=_0x4c2689+_0x3611dd(0x8c)+Date['now']()+'-'+ ++this[_0x3611dd(0x1b0)],_0x3951d3=_0x2c1b84;let _0x2747cc;try{_0x2747cc=await this['translateCommand'](_0x2c1b84,{'agentId':_0x4c2689,'toolsRegistry':_0x1b5406?.['toolsRegistry'],'messageProcessor':_0x1b5406?.[_0x3611dd(0x1a9)],'aiService':_0x1b5406?.[_0x3611dd(0xa3)],'apiKey':_0x1b5406?.[_0x3611dd(0x137)],'customApiKeys':_0x1b5406?.[_0x3611dd(0xff)],'platformProvided':_0x1b5406?.['platformProvided']});}catch(_0x10d16a){this[_0x3611dd(0x179)]?.[_0x3611dd(0x91)](_0x3611dd(0x108),{'originalCommand':_0x3951d3,'error':_0x10d16a['message']}),_0x2747cc=_0x2c1b84;}this[_0x3611dd(0x179)]?.['info'](_0x3611dd(0xbe)+_0x2747cc,{'commandId':_0x547143,'agentId':_0x4c2689,'originalCommand':_0x3951d3,'workingDirectory':_0x594e67});let _0x5dc63e;if(this[_0x3611dd(0x13c)]==='cmd'||this['detectedTerminal']==='powershell'){const _0x369b0f=this[_0x3611dd(0x13c)]===_0x3611dd(0x149)?'powershell':_0x3611dd(0x130),_0x1e08b4=this['detectedTerminal']===_0x3611dd(0x149)?[_0x3611dd(0x1a8),_0x2747cc]:['/c',_0x2747cc];_0x5dc63e=spawn(_0x369b0f,_0x1e08b4,{'cwd':_0x594e67,'env':{...process['env']},'windowsHide':!![],'stdio':[_0x3611dd(0x17f),_0x3611dd(0x17f),_0x3611dd(0x17f)]});}else _0x5dc63e=spawn('sh',['-c',_0x2747cc],{'cwd':_0x594e67,'env':{...process[_0x3611dd(0x195)]},'stdio':[_0x3611dd(0x17f),'pipe','pipe']});const _0x242e23={'commandId':_0x547143,'agentId':_0x4c2689,'pid':_0x5dc63e['pid'],'command':_0x3951d3,'translatedCommand':_0x2747cc,'workingDirectory':_0x594e67,'startTime':new Date()[_0x3611dd(0x118)](),'state':_0x3611dd(0x86),'exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date['now'](),'promptDetected':null,'process':_0x5dc63e};return this[_0x3611dd(0x17b)][_0x3611dd(0x12b)](_0x547143,_0x242e23),_0x5dc63e[_0x3611dd(0x1aa)]['on'](_0x3611dd(0x150),_0x1a2006=>{const _0x21287f=_0x3611dd,_0x842d76=_0x1a2006[_0x21287f(0x17e)]();_0x242e23['stdoutBuffer']+=_0x842d76,_0x242e23[_0x21287f(0x127)]=Date['now']();if(!_0x242e23[_0x21287f(0x14b)]){const _0x12097d=this['promptDetector'][_0x21287f(0x88)](_0x242e23[_0x21287f(0xd6)],_0x21287f(0x1aa));_0x12097d&&(_0x242e23[_0x21287f(0x14b)]=_0x12097d,_0x242e23[_0x21287f(0x1be)]='waiting_for_input',this['logger']?.[_0x21287f(0x166)](_0x21287f(0x19e),{'commandId':_0x547143,'agentId':_0x4c2689,'type':_0x12097d['type'],'matchedText':_0x12097d[_0x21287f(0x14c)]}));}}),_0x5dc63e['stderr']['on']('data',_0x202e35=>{const _0x488d1b=_0x3611dd,_0x1d835c=_0x202e35['toString']();_0x242e23[_0x488d1b(0xfe)]+=_0x1d835c,_0x242e23['lastOutputTime']=Date['now']();if(!_0x242e23['promptDetected']){const _0x163a55=this[_0x488d1b(0x191)]['detectPrompt'](_0x242e23[_0x488d1b(0xfe)],'stderr');_0x163a55&&(_0x242e23['promptDetected']=_0x163a55,_0x242e23[_0x488d1b(0x1be)]='waiting_for_input',this[_0x488d1b(0x179)]?.[_0x488d1b(0x166)](_0x488d1b(0x123),{'commandId':_0x547143,'agentId':_0x4c2689,'type':_0x163a55['type'],'matchedText':_0x163a55['matchedText']}));}}),_0x5dc63e['on']('exit',(_0x117fd1,_0x57b48e)=>{const _0x5393e2=_0x3611dd;_0x242e23[_0x5393e2(0xc3)]=_0x117fd1,_0x242e23[_0x5393e2(0x1be)]=_0x117fd1===0x0?'completed':_0x5393e2(0x17c),_0x242e23[_0x5393e2(0x132)]=new Date()['toISOString'](),this[_0x5393e2(0x179)]?.['info']('Background\x20command\x20exited',{'commandId':_0x547143,'agentId':_0x4c2689,'exitCode':_0x117fd1,'signal':_0x57b48e,'state':_0x242e23[_0x5393e2(0x1be)]});}),_0x5dc63e['on'](_0x3611dd(0x198),_0xc5dc7a=>{const _0x43c848=_0x3611dd;_0x242e23['state']='failed',_0x242e23['error']=_0xc5dc7a['message'],_0x242e23['endTime']=new Date()[_0x43c848(0x118)](),this['logger']?.[_0x43c848(0x198)]('Background\x20command\x20error',{'commandId':_0x547143,'agentId':_0x4c2689,'error':_0xc5dc7a[_0x43c848(0x19f)]});}),{'success':!![],'commandId':_0x547143,'pid':_0x5dc63e[_0x3611dd(0xd8)],'command':_0x3951d3,'translatedCommand':_0x2747cc,'workingDirectory':_0x594e67,'message':'Background\x20command\x20started\x20with\x20ID:\x20'+_0x547143};}['sendInput'](_0x525a71,_0x326f83,_0x1d4860){const _0x4ddded=a0_0x399cea,_0x23215b=this['validateCommandOwnership'](_0x525a71,_0x1d4860);if(_0x23215b[_0x4ddded(0x1be)]==='completed'||_0x23215b['state']==='failed')throw new Error(_0x4ddded(0x10e)+_0x23215b[_0x4ddded(0x1be)]+_0x4ddded(0x141));if(!_0x23215b[_0x4ddded(0x11f)]||_0x23215b['process']['killed'])throw new Error(_0x4ddded(0x112));const _0x2012db=_0x326f83['endsWith']('\x0a')?_0x326f83:_0x326f83+'\x0a';return _0x23215b['process']['stdin']['write'](_0x2012db),this[_0x4ddded(0x179)]?.[_0x4ddded(0x166)]('Input\x20sent\x20to\x20background\x20command',{'commandId':_0x525a71,'agentId':_0x1d4860,'inputLength':_0x326f83[_0x4ddded(0xdf)]}),_0x23215b[_0x4ddded(0x1be)]===_0x4ddded(0x117)&&(_0x23215b['state']=_0x4ddded(0x86),_0x23215b['promptDetected']=null),{'success':!![],'commandId':_0x525a71,'message':'Input\x20sent\x20successfully'};}['getCommandStatus'](_0x5637d2,_0x53f873){const _0x1eb9e3=a0_0x399cea,_0x5835a2=this[_0x1eb9e3(0x1c7)](_0x5637d2,_0x53f873),_0x4f8d97=Date['now']()-_0x5835a2[_0x1eb9e3(0x127)];return{'success':!![],'commandId':_0x5637d2,'pid':_0x5835a2[_0x1eb9e3(0xd8)],'command':_0x5835a2['command'],'state':_0x5835a2['state'],'exitCode':_0x5835a2['exitCode'],'startTime':_0x5835a2[_0x1eb9e3(0x136)],'endTime':_0x5835a2[_0x1eb9e3(0x132)],'workingDirectory':_0x5835a2['workingDirectory'],'stdout':_0x5835a2['stdoutBuffer'],'stderr':_0x5835a2['stderrBuffer'],'stdoutLength':_0x5835a2[_0x1eb9e3(0xd6)][_0x1eb9e3(0xdf)],'stderrLength':_0x5835a2[_0x1eb9e3(0xfe)][_0x1eb9e3(0xdf)],'lastOutputTime':_0x5835a2['lastOutputTime'],'timeSinceLastOutput':_0x4f8d97,'promptDetected':!!_0x5835a2['promptDetected'],'promptInfo':_0x5835a2['promptDetected']||undefined};}[a0_0x399cea(0x98)](_0x4768a1,_0x4745c2){const _0x3b90cc=a0_0x399cea,_0x22861f=this[_0x3b90cc(0x1c7)](_0x4768a1,_0x4745c2);if(_0x22861f['state']==='completed'||_0x22861f['state']==='failed')return{'success':!![],'commandId':_0x4768a1,'message':_0x3b90cc(0x14e),'state':_0x22861f[_0x3b90cc(0x1be)]};if(_0x22861f[_0x3b90cc(0x11f)]&&!_0x22861f['process'][_0x3b90cc(0x14f)])return _0x22861f['process']['kill']('SIGTERM'),setTimeout(()=>{const _0x27a876=_0x3b90cc;_0x22861f['process']&&!_0x22861f[_0x27a876(0x11f)][_0x27a876(0x14f)]&&_0x22861f[_0x27a876(0x11f)]['kill'](_0x27a876(0x18f));},0x1388),this[_0x3b90cc(0x179)]?.[_0x3b90cc(0x166)]('Background\x20command\x20killed',{'commandId':_0x4768a1,'agentId':_0x4745c2}),{'success':!![],'commandId':_0x4768a1,'message':'Command\x20killed\x20successfully'};return{'success':![],'commandId':_0x4768a1,'error':_0x3b90cc(0x16b)};}['listAgentCommands'](_0x508f86){const _0x3a9321=a0_0x399cea,_0x5d22fe=this[_0x3a9321(0xed)](_0x508f86);return _0x5d22fe[_0x3a9321(0x169)](_0x43c8ea=>({'commandId':_0x43c8ea[_0x3a9321(0xa5)],'command':_0x43c8ea['command'],'state':_0x43c8ea['state'],'pid':_0x43c8ea[_0x3a9321(0xd8)],'exitCode':_0x43c8ea['exitCode'],'startTime':_0x43c8ea[_0x3a9321(0x136)],'endTime':_0x43c8ea[_0x3a9321(0x132)],'promptDetected':!!_0x43c8ea['promptDetected'],'timeSinceLastOutput':Date['now']()-_0x43c8ea[_0x3a9321(0x127)]}));}['getAgentCommands'](_0x5b5797){const _0x188a8c=a0_0x399cea;return Array['from'](this[_0x188a8c(0x17b)][_0x188a8c(0x99)]())['filter'](_0x35c389=>_0x35c389['agentId']===_0x5b5797);}[a0_0x399cea(0x1c7)](_0x153925,_0x4fef00){const _0x3dc20f=a0_0x399cea,_0x5890e0=this[_0x3dc20f(0x17b)][_0x3dc20f(0xf6)](_0x153925);if(!_0x5890e0)throw new Error(_0x3dc20f(0x1bd)+_0x153925);if(_0x5890e0[_0x3dc20f(0xd4)]!==_0x4fef00)throw new Error(_0x3dc20f(0xc1)+_0x5890e0[_0x3dc20f(0xd4)]);return _0x5890e0;}async['cleanupAgent'](_0x2b6d8a){const _0x1fc907=a0_0x399cea,_0x2e9c86=this[_0x1fc907(0xed)](_0x2b6d8a);let _0x23c3ca=0x0,_0x3b4176=0x0;for(const _0x4d41f3 of _0x2e9c86){_0x4d41f3[_0x1fc907(0x11f)]&&!_0x4d41f3['process'][_0x1fc907(0x14f)]&&(_0x4d41f3[_0x1fc907(0x11f)]['kill']('SIGTERM'),_0x23c3ca++,setTimeout(()=>{const _0x4de8d9=_0x1fc907;_0x4d41f3['process']&&!_0x4d41f3['process']['killed']&&_0x4d41f3['process']['kill'](_0x4de8d9(0x18f));},0xbb8)),this[_0x1fc907(0x17b)][_0x1fc907(0xe1)](_0x4d41f3[_0x1fc907(0xa5)]),_0x3b4176++;}return this['logger']?.['info'](_0x1fc907(0x134),{'agentId':_0x2b6d8a,'killedCount':_0x23c3ca,'removedCount':_0x3b4176}),{'success':!![],'agentId':_0x2b6d8a,'killedCount':_0x23c3ca,'removedCount':_0x3b4176,'message':_0x1fc907(0x97)+_0x3b4176+'\x20commands\x20for\x20agent\x20'+_0x2b6d8a};}[a0_0x399cea(0x19b)](){const _0x3b0408=a0_0x399cea,_0x9d1d90=Date[_0x3b0408(0x9b)]();let _0xfb94e9=0x0;for(const [_0xe37d61,_0x4881cb]of this[_0x3b0408(0x17b)]['entries']()){if(_0x4881cb['state']!==_0x3b0408(0xe8)&&_0x4881cb[_0x3b0408(0x1be)]!=='failed')continue;const _0xec236c=new Date(_0x4881cb['startTime'])[_0x3b0408(0xba)](),_0x28241e=(_0x9d1d90-_0xec236c)/0x3e8/0x3c;_0x28241e>this['MAX_COMMAND_AGE_MINUTES']&&(this[_0x3b0408(0x17b)][_0x3b0408(0xe1)](_0xe37d61),_0xfb94e9++);}return _0xfb94e9>0x0&&this['logger']?.[_0x3b0408(0x166)]('Stale\x20commands\x20cleaned\x20up',{'removedCount':_0xfb94e9,'ageThresholdMinutes':this[_0x3b0408(0xa1)]}),{'success':!![],'removedCount':_0xfb94e9,'message':'Cleaned\x20up\x20'+_0xfb94e9+'\x20stale\x20commands'};}}export default TerminalTool;
1
+ const a0_0x473ae9=a0_0x5953;(function(_0x558572,_0x2b4582){const _0x5b8569=a0_0x5953,_0x1b12fa=_0x558572();while(!![]){try{const _0x4d08f7=-parseInt(_0x5b8569(0x1e6))/0x1*(parseInt(_0x5b8569(0x19f))/0x2)+-parseInt(_0x5b8569(0x215))/0x3*(-parseInt(_0x5b8569(0x1bb))/0x4)+-parseInt(_0x5b8569(0x1c8))/0x5+-parseInt(_0x5b8569(0x20e))/0x6*(parseInt(_0x5b8569(0x1ad))/0x7)+parseInt(_0x5b8569(0x189))/0x8+-parseInt(_0x5b8569(0x158))/0x9+parseInt(_0x5b8569(0x231))/0xa;if(_0x4d08f7===_0x2b4582)break;else _0x1b12fa['push'](_0x1b12fa['shift']());}catch(_0x2b2ca6){_0x1b12fa['push'](_0x1b12fa['shift']());}}}(a0_0x145f,0xe9083));import{BaseTool}from'./baseTool.js';import a0_0x513e88 from'../utilities/tagParser.js';function a0_0x5953(_0x3a30e8,_0x2181b5){_0x3a30e8=_0x3a30e8-0x14c;const _0x145fc1=a0_0x145f();let _0x5953d0=_0x145fc1[_0x3a30e8];if(a0_0x5953['zxouue']===undefined){var _0x3ad69c=function(_0x283c99){const _0x3fb6c4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x513e88='',_0x3fd62a='';for(let _0x185867=0x0,_0x23ff9b,_0x42b723,_0x10bbfa=0x0;_0x42b723=_0x283c99['charAt'](_0x10bbfa++);~_0x42b723&&(_0x23ff9b=_0x185867%0x4?_0x23ff9b*0x40+_0x42b723:_0x42b723,_0x185867++%0x4)?_0x513e88+=String['fromCharCode'](0xff&_0x23ff9b>>(-0x2*_0x185867&0x6)):0x0){_0x42b723=_0x3fb6c4['indexOf'](_0x42b723);}for(let _0x591e15=0x0,_0x2fa838=_0x513e88['length'];_0x591e15<_0x2fa838;_0x591e15++){_0x3fd62a+='%'+('00'+_0x513e88['charCodeAt'](_0x591e15)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3fd62a);};a0_0x5953['eZVgpz']=_0x3ad69c,a0_0x5953['MLDYne']={},a0_0x5953['zxouue']=!![];}const _0x4e5faa=_0x145fc1[0x0],_0x43817b=_0x3a30e8+_0x4e5faa,_0x2c3e10=a0_0x5953['MLDYne'][_0x43817b];return!_0x2c3e10?(_0x5953d0=a0_0x5953['eZVgpz'](_0x5953d0),a0_0x5953['MLDYne'][_0x43817b]=_0x5953d0):_0x5953d0=_0x2c3e10,_0x5953d0;}import a0_0x3fd62a from'../utilities/directoryAccessManager.js';function a0_0x145f(){const _0x36c343=['rxHLy3v0Aw5NignVBw1HBMqGD2L0AcbZCgf3BJOG','r2v0lunVBNrLBNqGlvrHAwW','y29TBwfUzeLKq291BNrLCG','tufyx0nptu1btKrFquDfx01jtLvurvm','rgLYzwn0B3j5ignOyw5NzsbIBg9JA2vKoIa','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','CgLWzq','q29TBwfUzcbVDxrWDxqGy2H1BMS6ia','z2v0v29YA2LUz0rPCMvJDg9YEq','u2vSzwn0Aw9UihbYB21WDa','u0HfteW','CM0Gjde','BwvZC2fNzvbYB2nLC3nVCG','qwnJzxnZigrLBMLLzdOGq29TBwfUzcbIzwXVBMDZihrVigfNzw50ia','cMbGyaOkq09ntuforcbbtKfmwvnjuZOklsbdB21Tyw5Kifr5Cgu6ia','AxndB21Tyw5Kq29TCgf0AwjSzq','rMfPBgvKihrVigXPC3qGzgLYzwn0B3j5ia','Aw5KzxG','r2v0luXVy2f0Aw9U','z3jLCa','uhjLC3mGzw50zxi','D3jPDgu','C2vUze1LC3nHz2u','y2HHBMDLlwrPCMvJDg9YEq','CM1KAxi','CNvUBMLUzW','oGOkt1jjr0LoquWGq09ntufordOkygbGcG','zw5KvgLTzq','A2v5ChjLC3m','ChjVy2vZCY1TB25PDg9Y','rxHLy3v0Aw5NignVBw1HBMq6ia','y29TBwfUzfr5Cgu','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','AxnZDwvZ','z2v0u3vWCg9YDgvKqwn0Aw9UCW','DhjHBNnSyxrLq29TBwfUzfDPDgHbsq','i2LUy2X1zgu','Bwf0y2G','C2LTCgXL','Aw5JBhvKzxm','C2H1DgrVD24','uhjVy2vLzcbWCM9TChq','C2v0','yw5HBhL6zunVBw1HBMrdB21WyxrPyMLSAxr5','icyMia','Aw5WDxq','BgvUz3rO','zxjYB3i','C3vIC3rYAw5N','y21K','zMLSzs1KzwXLDgu','Dw5PEa','y3vZDg9TqxbPs2v5CW','tM9UzsbKzxrLy3rLza','Bg9N','id4GjG','zgvS','zNn1DgLSihzVBhvTzsbKAxnRzNjLzq','q29TBwfUzcbWCM9JzxnZigv4AxrLzdOG','ChjVBxb0rgv0zwn0B3i','CMvWBgfJzq','y29UzMLKzw5Jzq','CM0GlxjMic8','D2LUmZi','z2v0','DhjHBNnSyxrLq29TBwfUza','BwfW','zMLSzs12Awv3Aw5N','Bwf4q29TBwfUzefNzu1PBNv0zxm','rM9YrwfJAc1pyMPLy3q','zwnOBYaIjdeIid4','ywn0Aw9UCW','z3b0ltqTBwLUAq','zgvSzxrL','C2XPy2u','q29WEs1jDgvT','qMfJA2DYB3vUzcbJB21Tyw5Kihn0yxj0zwqGD2L0AcbjrdOG','zgLYzwn0B3j5lwn1CNjLBNq','DgfZA2TPBgW','Dw5RBM93BG','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbqB3DLCLnOzwXS','u2vSzwn0lvn0CMLUzW','zw52AxjVBM1LBNq','r2v0lvbYB2nLC3mGFcbtB3j0lu9IAMvJDcbdufu','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','u0Lhs0Lmta','DhLWzsaKmq','zgf0yq','zw50CMLLCW','mteZmdi1nJLcq1DvvNK','ignVBw1HBMq','twf4Aw11BsbIywnRz3jVDw5KignVBw1HBMrZihbLCIbHz2vUDcbLEgnLzwrLzcaO','Bw92zq','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9Yia','r2v0lunOAwXKsxrLBq','u3rHBguGy29TBwfUzhmGy2XLyw5Lzcb1Ca','zMLSDgvY','z2v0vgLTzq','DhjHBNnSyxrLvg9qB3DLCLnOzwXS','y29TBwfUzenHDgvNB3j5','AxneAxjLy3rVCNK','q29TBwfUzcbLCNjVCIbJAhvUAZOG','C3bSAxq','Dhj1zq','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','zgLZAY11C2fNzq','ignVBw1HBMrZigzVCIbHz2vUDca','DgvZDa','C3rHCNrZv2L0Aa','yxjYyxK','Dgv4Dc1WCM9JzxnZAw5N','zgv0zwn0zwruzxjTAw5HBa','zxHLy3v0zunVBw1HBMq','v2LUzg93CYbqB3DLCLnOzwXS','y2fSBa','ywX0zxjUyxrPDMvZ','vgLTzw91DcbTDxn0igjLigjLDhDLzw4GmtaWmcbHBMqG','ywDLBNrjza','Bw9YzsaRBG','AxnbCNjHEq','C3LZDgvTAw5MBW','ywXSB3DLzenVBw1HBMrZ','DgvYBwLUywW','uhjVBxb0igrLDgvJDgvKigLUihn0zgvYCG','zgLYic9Z','y3vYBcaKmq','D29YA2LUz0rPCMvJDg9YAwvZ','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','DhLWzq','Dgv4Dc1HBMfSExnPCW','zgLYzwn0B3j5','qMfZAcbZAgvSBcaOtgLUDxGVvw5PEc9TywnpuYK','CgLUzYaKmq','zxHLy3v0zq','y29TBwfUzeLK','r2v0lunVBNrLBNq','zxHPDa','A2LSBa','ndC0mda1nM9LzNbLza','DgfZA2TPBgWGl2yGl2LT','q29TBwfUzcbWCM9JzxnZig5VDcbMB3vUzcbVCIbHBhjLywr5igTPBgXLza','DgLTzw91Da','CgfZC3DVCMq','y29TCgXLDgvK','vw5RBM93BIbHy3rPB24GDhLWztOG','tgLZDgvKia','zM9YBwf0','EwvZlw5V','y2XHC3nPzNLdB21Tyw5K','Aw5MBW','zMfPBgvK','AxntAw1WBgvdB21Tyw5K','tM90igeGzgLYzwn0B3j5oIa','Ahr0Ca','z2v0qwDLBNrdB21Tyw5KCW','A2LSBenVBw1HBMq','y2HHBMDLrgLYzwn0B3j5','zNjVBq','zgLY','q29TBwfUzcbLEgvJDxrLzcbZDwnJzxnZzNvSBhKGAw4G','mMDrAgLwyG','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','q29TBwfUzcb0Aw1LzcbVDxqGywz0zxiG','D29YA2LUz0rPCMvJDg9YEq','u0Lhvevstq','wwvZl05Vihf1zxn0Aw9U','sw52B2TLlvDLyLjLCxvLC3q','C3rHCNrcywnRz3jVDw5Kq29TBwfUza','yMfZAa','zgv0zwn0uhjVBxb0','quKGDhjHBNnSyxrPB24GBM90igf2ywLSywjSzsaTig1PC3nPBMCGy29UDgv4Da','C3LZDgvTlwLUzM8','r2v0lunVBNrLBNqGjde','cI0GvgfYz2v0ifrLCM1PBMfSoIa','nJGXnty5rgLnyxHi','ugfZC3DVCMqGChjVBxb0','CgvYBwLZC2LVBNm','twf4Aw11BsbNBg9IywWGyMfJA2DYB3vUzcbJB21Tyw5KCYbLEgnLzwrLzcaO','zMLSzs1SAxn0Aw5N','cI0Gq2f0zwDVCNK6ia','r2v0lunOAwXKsxrLBsaTuMvJDxjZzq','C2vSzwn0Aw9U','ChvZAa','q29UzMLYBwf0Aw9UihbYB21WDa','lwnTzc0','BgLZDerPCMvJDg9YEq','zMLSzs1JCMvHDgu','y29UzMLYBwf0Aw9U','mtjPCwjdu3m','zwnOBYaN','BxmPcI0Gyxn5BMm6ifDOzxrOzxiGDg8GCNvUignVBw1HBMqGyxn5BMnOCM9UB3vZBhKGkhrYDwuVzMfSC2uPcGPfwefnueXfuZOkcLj1BIbUCg0GAw5ZDgfSBdOkygbGANnVBGP7iNrVB2Xjzci6icj0zxjTAw5HBciSicjHy3rPB25ZiJOGw3SIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiM5WBsbPBNn0ywXSiN1DFqPGygakcKDPDcbVCgvYyxrPB25ZoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiNrLCM1PBMfSiIWkicaIywn0Aw9UCYi6ifSkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiMDPDcbZDgf0DxmIFsWkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiMDPDcbHzgqGlIj9laOGicaGEYj0ExbLiJOGiNj1BI1JB21Tyw5KiIWGiMnVBw1HBMqIoIaIz2L0ignVBw1PDcaTBsbCiLvWzgf0zsbMAwXLC1WIiN0kicbDcN0kygbGcGPdAgfUz2uGzgLYzwn0B3j5igfUzcbIDwLSzdOkygbGANnVBGP7cIaGiNrVB2Xjzci6icj0zxjTAw5HBciScIaGiMfJDgLVBNmIoIbBcIaGicb7iNr5CguIoIaIy2HHBMDLlwrPCMvJDg9YEsiSicjKAxjLy3rVCNKIoIaIlI4VzNjVBNrLBMqIFsWkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiM5WBsbYDw4GyNvPBgqIFqOGif0kFqPGygakcLnfq1vssvrzoGOTierHBMDLCM91CYbJB21Tyw5KCYbHCMuGyMXVy2TLzaOTienVBw1HBMrZigv4zwn1DguGAw4GAxnVBgf0zwqGzw52AxjVBM1LBNqklsbpDxrWDxqGAxmGy2fWDhvYzwqGyw5KihjLDhvYBMvKihnHzMvSEqOkqKvtvcbquKfdveLdrvm6cI0GvxnLiezPBgvtExn0zw0GDg9VBcbMB3iGzMLSzs9KAxjLy3rVCNKGB3bLCMf0Aw9UCWOTifvZzsbuzxjTAw5HBcbMB3iGq0Xjihv0AwXPDgLLCYaOBNbTlcbNAxqSign1CMWSigv0yY4PcI0Gq2HLy2SGy29TBwfUzcbVDxrWDxqGDg8GDMvYAwz5ihn1y2nLC3mkicaGia','CgXHDgzVCM1qCM92AwrLza','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUza','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','C3vJy2vZCW','CgLUzW','y29WEq','Bwf4qMfJA2DYB3vUzenVBw1HBMrZugvYqwDLBNq','BgfZDe91Dhb1DfrPBwu','zMLSzs1JB3b5','zwnOBYaLvvnfuK5btuuL','odqZndm1merorNr4rW','vxnPBMCGC2LTCgXLihrYyw5ZBgf0Aw9U','y3vYBcaTtYaKmq','yxjJAgL2zq','y29TBwfUzeHPC3rVCNK','qwDLBNqGy29TBwfUzhmGy2XLyw5Lzcb1Ca','Dg9VBhnszwDPC3rYEq','DhjHBNnSyxrLvg9xAw5KB3DZq21K','ywrKvg9iAxn0B3j5','BwvZC2fNzq','u29YDc1pyMPLy3q','D2HPBguG','zgLZAY1PBMzV','zxH0CMfJDfrYyw5ZBgf0zwrdB21Tyw5K','DhjHBNnSyxrLvg9cyxnO','CMvXDwLYzxnqCM9Qzwn0','Cg93zxjZAgvSBa','y29UDgvUDa','lunVBw1HBMq','Dg9ju09tDhjPBMC','Dg9mB3DLCKnHC2u','yxbPs2v5','ChjVy2vZCY1RAwXS','ywLtzxj2AwnL','Cg93zxjZAgvSBcaTyW','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUzcbZDgrLCNi','C3rHCNruAw1L','y29TCgf0AwjSzq','zMLSzs1ZzwfYy2G','qwnJzxnZigrLBMLLzdOG','mZCWotCZCgr6A2nT','y2XLyw51CefNzw50','AxnbBgXVD2vKq29TBwfUza','D2LUzg93CY1JBwq','BwvUDq','DhjPBq','q29TBwfUzcbZCgf3BIbLCNjVCJOG','vxnLCM5HBwuGChjVBxb0','DxnLCM5HBwu','C3rKB3v0qNvMzMvY','vgvYBwLUywWGzgv0zwn0zwq','DgfZA2XPC3q','ihWG','vgvZDc1ozxrdB25Uzwn0Aw9U','zgvIDwC','ChjPBNrM','zMLSzq','y2f0','Bg9Nz2vY','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','z2v0rgvZy3jPChrPB24','C2LUz2XLlxf1B3rLCY1WCM9IBgvTyxrPyW','CMvHzgrPCG','zMLUzhn0CG','y2f0zwDVCNK','zxnJyxbLlxnLCxvLBMnLCW','ChjVy2vZCW','y29TBwfUza','zMLSzs1TB3zL','zgvZy3jPChrPB24','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','y3jLyxrLlwrPCMvJDg9YEq','C29Tzq','zgLYzwn0B3j5lwnYzwf0zq','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','yNvPBhrPBG','tMv3luL0zw0Glvr5CguGrgLYzwn0B3j5','qwn0Aw9Uia','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLigzVCIbJB21Tyw5KihrYyw5ZBgf0Aw9U','zxHLy3v0Aw9UvgLTzq','mJrqvu56tha','y3vYBa','ihX8ia','ksa+ia','A2v5CW','C29YDa','C3rHDgu','mtuXmJeXn25OA3Lcwa','r2v0lvbYB2nLC3m','uMvTB3zLluL0zw0','DxnLCI1PBMzV','BM93','r2vUzxjPyYbPBNb1DcbWCM9TChq','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','y2XLyw51Ca','Dw5PDMvYC2fS','CMvSyxrPDMu','u29YDc1pyMPLy3qGlvvUAxf1zq','v2LUzg93CYbdB21Tyw5KifbYB21WDcaOy21KlMv4zsK','C3rYAw5N','cI0Gq29TCgf0AwjPBgL0EsbjC3n1zxm6ia','zxH0CMfJDenVBNrLBNq','A2LSBgvK','zw52','D2fYBG','Cg93zxjZAgvSBcbdB21WCMvZCY1bCMnOAxzL','y29UDgLUDwu','CgLK','D2fPDgLUz19MB3jFAw5WDxq','sw5WDxqGC2vUDcb0BYbIywnRz3jVDw5KignVBw1HBMq','y3DK','BMfTzq','r2v0lunVBNrLBNqGluHLywq','z2vUzxjPyW','zM9Yic9M','mJu1mZaYnZbzC09wvey','r2v0lunOAwXKsxrLBsbfBNy6','BgLZDefNzw50q29TBwfUzhm','ywXSB3DLza','vgvYBwLUywWGrevcvuC6ifvZAw5NigfNzw50ignVBMzPz3vYzwqGD29YA2LUzYbKAxjLy3rVCNK6','AxnbC3LUyW','r2v0lvbYB2nLC3mGFcbtDg9WlvbYB2nLC3m','y29TBwfUzfrYywnRzxi','Bwf0y2HLzfrLEhq','r2vUzxjPyYbPBNb1DcbWCM9TChqGzgv0zwn0zwq','ChjVy2vZCY1SAxn0','C3rKzxjYqNvMzMvY','CMvHC29U','CNvUlwnVBw1HBMq','zxzLCNK','Dw5PEc1ZDhLSzs1WyxrOCW','C3rKzxjY','Cg93zxjZAgvSBcbfEhbHBMqTqxjJAgL2zq','CgXHDgzVCM1uExbL','BgLZDc1KAxjLy3rVCNK','ChjVBxb0rgv0zwn0zwq','u3rVCc1qCM9JzxnZ'];a0_0x145f=function(){return _0x36c343;};return a0_0x145f();}import{spawn,exec}from'child_process';import a0_0x185867 from'path';import a0_0x23ff9b from'fs/promises';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class PromptDetector{constructor(){const _0x18105f=a0_0x5953;this['promptPatterns']=[{'pattern':/\(y\/n\)/i,'type':_0x18105f(0x192),'description':_0x18105f(0x1a4)},{'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':_0x18105f(0x192),'description':_0x18105f(0x1a4)},{'pattern':/\[Y\/n\]/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\[y\/N\]/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/continue\?/i,'type':'continue','description':'Continue\x20prompt'},{'pattern':/proceed\?/i,'type':_0x18105f(0x228),'description':_0x18105f(0x270)},{'pattern':/press any key to continue/i,'type':'keypress','description':'Press\x20any\x20key'},{'pattern':/press enter to continue/i,'type':'keypress','description':_0x18105f(0x25b)},{'pattern':/hit enter to continue/i,'type':_0x18105f(0x263),'description':'Hit\x20enter'},{'pattern':/password:/i,'type':_0x18105f(0x18d),'description':_0x18105f(0x1ae)},{'pattern':/enter password/i,'type':'password','description':'Password\x20prompt'},{'pattern':/passphrase:/i,'type':_0x18105f(0x18d),'description':'Passphrase\x20prompt'},{'pattern':/username:/i,'type':_0x18105f(0x1ee),'description':_0x18105f(0x1ed)},{'pattern':/enter username/i,'type':'username','description':_0x18105f(0x1ed)},{'pattern':/enter\s+\w+:/i,'type':'input','description':_0x18105f(0x21a)},{'pattern':/please enter/i,'type':'input','description':_0x18105f(0x21a)},{'pattern':/input:/i,'type':_0x18105f(0x274),'description':'Generic\x20input\x20prompt'},{'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':_0x18105f(0x1ba),'description':_0x18105f(0x1b6)},{'pattern':/select an option/i,'type':_0x18105f(0x1b4),'description':_0x18105f(0x250)},{'pattern':/choose/i,'type':_0x18105f(0x1b4),'description':_0x18105f(0x250)},{'pattern':/\d+\)\s+\w+/g,'type':_0x18105f(0x1ea),'description':'Menu\x20selection'}];}['detectPrompt'](_0x42b723,_0x10bbfa='stdout'){const _0x580c51=a0_0x5953;if(!_0x42b723||_0x42b723['trim']()[_0x580c51(0x275)]===0x0)return null;const _0x591e15=_0x42b723['split']('\x0a'),_0x2fa838=_0x591e15[_0x580c51(0x291)](-0x5)['join']('\x0a');for(const _0x42de31 of this['promptPatterns']){const _0x388f9d=_0x2fa838['match'](_0x42de31['pattern']);if(_0x388f9d)return{'detected':!![],'type':_0x42de31[_0x580c51(0x17f)],'description':_0x42de31[_0x580c51(0x203)],'matchedText':_0x388f9d[0x0],'matchIndex':_0x388f9d[_0x580c51(0x258)],'source':_0x10bbfa,'fullContext':_0x2fa838,'timestamp':Date['now']()};}const _0x437c95=_0x591e15[_0x591e15[_0x580c51(0x275)]-0x1]||'';if(_0x437c95[_0x580c51(0x1eb)]()['length']>0x0){const _0x1de5ef=/:\s*$/[_0x580c51(0x16a)](_0x437c95),_0x446a05=/\?\s*$/['test'](_0x437c95);if(_0x1de5ef||_0x446a05){const _0x3fc2cb=/\b(enter|type|provide|specify|input)\b/i['test'](_0x437c95);if(_0x3fc2cb)return{'detected':!![],'type':_0x580c51(0x22f),'description':_0x580c51(0x23a),'matchedText':_0x437c95[_0x580c51(0x1eb)](),'source':_0x10bbfa,'fullContext':_0x2fa838,'timestamp':Date[_0x580c51(0x219)](),'confidence':0.7};}}return null;}['detectHang'](_0x3db922,_0x35744d=0x7530){const _0x5d03d1=a0_0x5953,_0x128aa7=Date[_0x5d03d1(0x219)](),_0xe867a4=_0x128aa7-_0x3db922;return{'isHanging':_0xe867a4>=_0x35744d,'timeSinceLastOutput':_0xe867a4,'threshold':_0x35744d,'likelyWaiting':_0xe867a4>=_0x35744d/0x2};}}class TerminalTool extends BaseTool{constructor(_0x132e1d={},_0x5ef7ab=null){const _0x11753c=a0_0x5953;super(_0x132e1d,_0x5ef7ab),this[_0x11753c(0x1d7)]=![],this[_0x11753c(0x236)]=![],this[_0x11753c(0x18c)]=_0x132e1d['timeout']||0x1d4c0,this[_0x11753c(0x267)]=_0x132e1d['maxConcurrentOperations']||0x3,this[_0x11753c(0x17d)]=new Map(),this['commandHistory']=[],this['allowedCommands']=_0x132e1d['allowedCommands']||null,this['blockedCommands']=_0x132e1d['blockedCommands']||[_0x11753c(0x285),_0x11753c(0x191),'del\x20/f\x20/q',_0x11753c(0x26f),'reboot','halt'],this[_0x11753c(0x1c0)]=new a0_0x3fd62a(_0x132e1d,_0x5ef7ab),this[_0x11753c(0x282)]=new PromptDetector(),this[_0x11753c(0x238)]=new Map(),this[_0x11753c(0x249)]=0x0,this['MAX_BACKGROUND_COMMANDS_PER_AGENT']=_0x132e1d[_0x11753c(0x1c4)]||0x5,this['MAX_BACKGROUND_COMMANDS_GLOBAL']=_0x132e1d['maxBackgroundCommandsGlobal']||0x14,this[_0x11753c(0x24a)]=_0x132e1d[_0x11753c(0x28b)]||0x3c,this['detectedTerminal']=null,this['platformType']=null,this['initializeTerminalDetection']();}[a0_0x473ae9(0x1fa)](){const _0x18baa2=a0_0x473ae9;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[_0x18baa2(0x18c)]+_0x18baa2(0x1bd);}['parseParameters'](_0x5498f0){const _0x1db7d7=a0_0x473ae9;try{const _0x5acc0b={},_0x35e4c3=a0_0x513e88['extractContent'](_0x5498f0,_0x1db7d7(0x23e)),_0x3b19a4=a0_0x513e88['extractContent'](_0x5498f0,'change-directory'),_0x510259=a0_0x513e88['extractContent'](_0x5498f0,_0x1db7d7(0x244)),_0x598830=a0_0x513e88[_0x1db7d7(0x223)](_0x5498f0,_0x1db7d7(0x205)),_0x153c1d=a0_0x513e88['extractContent'](_0x5498f0,'get-working-directory'),_0x2a920b=a0_0x513e88['extractContent'](_0x5498f0,_0x1db7d7(0x18c)),_0x306498=a0_0x513e88[_0x1db7d7(0x223)](_0x5498f0,'async'),_0x31908b=[];return _0x35e4c3['length']>0x0&&_0x31908b['push']({'type':'run-command','command':_0x35e4c3[0x0]['trim']()}),_0x3b19a4['length']>0x0&&_0x31908b['push']({'type':_0x1db7d7(0x25e),'directory':_0x3b19a4[0x0][_0x1db7d7(0x1eb)]()}),_0x510259[_0x1db7d7(0x275)]>0x0&&_0x31908b[_0x1db7d7(0x1b5)]({'type':'list-directory','directory':_0x510259[0x0][_0x1db7d7(0x1eb)]()||'.'}),_0x598830[_0x1db7d7(0x275)]>0x0&&_0x31908b['push']({'type':_0x1db7d7(0x205),'directory':_0x598830[0x0][_0x1db7d7(0x1eb)]()}),_0x153c1d['length']>0x0&&_0x31908b['push']({'type':_0x1db7d7(0x208)}),_0x5acc0b['actions']=_0x31908b,_0x2a920b[_0x1db7d7(0x275)]>0x0&&(_0x5acc0b['timeout']=parseInt(_0x2a920b[0x0],0xa)),_0x306498['length']>0x0&&(_0x5acc0b['async']=_0x306498[0x0]['toLowerCase']()===_0x1db7d7(0x166)),_0x5acc0b['rawContent']=_0x5498f0[_0x1db7d7(0x1eb)](),_0x5acc0b;}catch(_0x2a3d15){throw new Error('Failed\x20to\x20parse\x20terminal\x20parameters:\x20'+_0x2a3d15['message']);}}[a0_0x473ae9(0x153)](){const _0x345c32=a0_0x473ae9;return[_0x345c32(0x28e)];}[a0_0x473ae9(0x24c)](_0x580e5f){const _0xf42b02=a0_0x473ae9,_0x4974b2=[];if(!_0x580e5f[_0xf42b02(0x28e)]||!Array[_0xf42b02(0x176)](_0x580e5f['actions'])||_0x580e5f['actions'][_0xf42b02(0x275)]===0x0)_0x4974b2[_0xf42b02(0x1b5)]('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x5ec177,_0x1c3237]of _0x580e5f[_0xf42b02(0x28e)][_0xf42b02(0x157)]()){if(!_0x1c3237['type']){_0x4974b2[_0xf42b02(0x1b5)]('Action\x20'+(_0x5ec177+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x1c3237['type']){case _0xf42b02(0x23e):if(!_0x1c3237[_0xf42b02(0x201)]||!_0x1c3237[_0xf42b02(0x201)]['trim']())_0x4974b2[_0xf42b02(0x1b5)]('Action\x20'+(_0x5ec177+0x1)+':\x20command\x20is\x20required\x20for\x20run-command');else{if(this['isBlockedCommand'](_0x1c3237['command']))_0x4974b2[_0xf42b02(0x1b5)](_0xf42b02(0x20b)+(_0x5ec177+0x1)+':\x20command\x20is\x20blocked\x20for\x20security:\x20'+_0x1c3237['command']);else this[_0xf42b02(0x178)]&&!this['isAllowedCommand'](_0x1c3237[_0xf42b02(0x201)])&&_0x4974b2[_0xf42b02(0x1b5)](_0xf42b02(0x20b)+(_0x5ec177+0x1)+':\x20command\x20is\x20not\x20in\x20allowed\x20list:\x20'+_0x1c3237[_0xf42b02(0x201)]);}break;case'change-directory':case _0xf42b02(0x244):case'create-directory':(!_0x1c3237[_0xf42b02(0x181)]||!_0x1c3237['directory']['trim']())&&_0x4974b2[_0xf42b02(0x1b5)]('Action\x20'+(_0x5ec177+0x1)+_0xf42b02(0x15c)+_0x1c3237['type']);break;case _0xf42b02(0x208):break;default:_0x4974b2[_0xf42b02(0x1b5)](_0xf42b02(0x20b)+(_0x5ec177+0x1)+_0xf42b02(0x21b)+_0x1c3237[_0xf42b02(0x17f)]);}}return _0x580e5f['timeout']&&(_0x580e5f[_0xf42b02(0x18c)]<0x3e8||_0x580e5f[_0xf42b02(0x18c)]>this[_0xf42b02(0x18c)])&&_0x4974b2[_0xf42b02(0x1b5)](_0xf42b02(0x173)+this['timeout']+'\x20milliseconds'),{'valid':_0x4974b2['length']===0x0,'errors':_0x4974b2};}async[a0_0x473ae9(0x184)](_0x5b8386,_0x12bede){const _0x38c0b6=a0_0x473ae9,{actions:_0xb4068f,timeout:_0x5c8bce,async:_0x12a9cc}=_0x5b8386,{agentId:_0x131a9d,projectDir:_0x2f7ad0,directoryAccess:_0x5cba73}=_0x12bede,_0x322251=_0x5cba73||this[_0x38c0b6(0x1c0)][_0x38c0b6(0x17e)]({'workingDirectory':_0x2f7ad0||process['cwd'](),'writeEnabledDirectories':[_0x2f7ad0||process[_0x38c0b6(0x22c)]()],'restrictToProject':!![]});_0x5cba73&&_0x5cba73['workingDirectory']?console[_0x38c0b6(0x27d)](_0x38c0b6(0x235),_0x5cba73['workingDirectory']):console['log']('Terminal\x20DEBUG:\x20Using\x20fallback\x20working\x20directory:',_0x2f7ad0||process['cwd']());const _0x753458=_0x131a9d+'-'+(_0x2f7ad0||'default');let _0x4be9d9=this['workingDirectories']['get'](_0x753458)||this[_0x38c0b6(0x1c0)][_0x38c0b6(0x24f)](_0x322251);const _0x4d0687=[];for(const _0x139bf9 of _0xb4068f){try{let _0xcdf918;switch(_0x139bf9[_0x38c0b6(0x17f)]){case _0x38c0b6(0x23e):_0xcdf918=await this[_0x38c0b6(0x16f)](_0x139bf9['command'],_0x4be9d9,{'timeout':_0x5c8bce||this['timeout'],'async':_0x12a9cc||![],'agentId':_0x131a9d,'context':{'toolsRegistry':_0x12bede['toolsRegistry'],'aiService':_0x12bede['aiService'],'apiKey':_0x12bede[_0x38c0b6(0x1dd)],'customApiKeys':_0x12bede['customApiKeys'],'platformProvided':_0x12bede['platformProvided']}});break;case'change-directory':_0xcdf918=await this[_0x38c0b6(0x19b)](_0x139bf9[_0x38c0b6(0x181)],_0x4be9d9,_0x322251),_0x4be9d9=_0xcdf918['newDirectory'],this['workingDirectories']['set'](_0x753458,_0x4be9d9);break;case _0x38c0b6(0x244):_0xcdf918=await this['listDirectory'](_0x139bf9[_0x38c0b6(0x181)]==='.'?_0x4be9d9:_0x139bf9[_0x38c0b6(0x181)]);break;case _0x38c0b6(0x205):_0xcdf918=await this['createDirectory'](_0x139bf9[_0x38c0b6(0x181)],_0x4be9d9);break;case _0x38c0b6(0x208):_0xcdf918={'success':!![],'action':'get-working-directory','workingDirectory':_0x4be9d9,'message':'Current\x20working\x20directory:\x20'+_0x4be9d9};break;default:throw new Error(_0x38c0b6(0x18f)+_0x139bf9['type']);}_0x4d0687['push'](_0xcdf918),this[_0x38c0b6(0x1d0)](_0x139bf9,_0xcdf918,_0x131a9d);}catch(_0x32b41a){const _0x100fca={'success':![],'action':_0x139bf9[_0x38c0b6(0x17f)],'error':_0x32b41a[_0x38c0b6(0x1d1)],'command':_0x139bf9['command']||_0x139bf9[_0x38c0b6(0x181)],'workingDirectory':_0x4be9d9};_0x4d0687['push'](_0x100fca),this['addToHistory'](_0x139bf9,_0x100fca,_0x131a9d);}}const _0x1e811f=_0x4d0687[_0x38c0b6(0x23f)](_0xad11c8=>_0xad11c8[_0x38c0b6(0x1c1)]),_0x5f0882=_0x4d0687['filter'](_0x3b64c8=>!_0x3b64c8[_0x38c0b6(0x1c1)]);return{'success':_0x1e811f,'actions':_0x4d0687,'workingDirectory':_0x4be9d9,'executedActions':_0xb4068f['length'],'failedActions':_0x5f0882['length'],'toolUsed':_0x38c0b6(0x179),'message':_0x1e811f?'All\x20'+_0xb4068f[_0x38c0b6(0x275)]+'\x20actions\x20completed\x20successfully':_0x5f0882['length']+'\x20of\x20'+_0xb4068f[_0x38c0b6(0x275)]+'\x20actions\x20failed'};}async['executeCommand'](_0x40c498,_0x380331,_0x10be60={}){const _0x5f034d=a0_0x473ae9,{timeout:timeout=this[_0x5f034d(0x18c)],async:_0x5e2775=![],agentId:_0x376e62,context:_0x109c1c}=_0x10be60,_0x1cfbe7=_0x40c498;let _0x371893;try{_0x371893=await this[_0x5f034d(0x288)](_0x40c498,{'agentId':_0x376e62,'toolsRegistry':_0x109c1c?.['toolsRegistry'],'messageProcessor':_0x109c1c?.[_0x5f034d(0x253)],'aiService':_0x109c1c?.['aiService'],'apiKey':_0x109c1c?.['apiKey'],'customApiKeys':_0x109c1c?.['customApiKeys'],'platformProvided':_0x109c1c?.[_0x5f034d(0x1be)]});}catch(_0x191572){this['logger']?.[_0x5f034d(0x226)]('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x1cfbe7,'error':_0x191572[_0x5f034d(0x1d1)]}),_0x371893=_0x40c498;}return new Promise((_0x22fcc4,_0x48e082)=>{const _0xdd2432=_0x5f034d,_0x2321b5=Date['now']();this['logger']?.[_0xdd2432(0x194)](_0xdd2432(0x265)+_0x371893,{'originalCommand':_0x1cfbe7,'translatedCommand':_0x371893,'terminal':this[_0xdd2432(0x16e)],'workingDirectory':_0x380331,'timeout':timeout,'agentId':_0x376e62});const _0x22bc83=exec(_0x371893,{'cwd':_0x380331,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process['env']}},(_0x4b1c04,_0x413689,_0x539675)=>{const _0x1cdc7a=_0xdd2432,_0xce102=Date['now']()-_0x2321b5;if(_0x4b1c04){this['logger']?.[_0x1cdc7a(0x276)]('Command\x20failed:\x20'+_0x371893,{'originalCommand':_0x1cfbe7,'translatedCommand':_0x371893,'error':_0x4b1c04['message'],'workingDirectory':_0x380331,'executionTime':_0xce102}),_0x22fcc4({'success':![],'action':_0x1cdc7a(0x23e),'command':_0x1cfbe7,'translatedCommand':_0x371893!==_0x1cfbe7?_0x371893:undefined,'error':_0x4b1c04['message'],'stderr':_0x539675['trim'](),'stdout':_0x413689['trim'](),'exitCode':_0x4b1c04['code'],'executionTime':_0xce102,'workingDirectory':_0x380331});return;}this['logger']?.[_0x1cdc7a(0x194)]('Command\x20completed:\x20'+_0x371893,{'originalCommand':_0x1cfbe7,'translatedCommand':_0x371893,'executionTime':_0xce102,'stdoutLength':_0x413689['length'],'stderrLength':_0x539675['length']}),_0x22fcc4({'success':!![],'action':_0x1cdc7a(0x23e),'command':_0x1cfbe7,'translatedCommand':_0x371893!==_0x1cfbe7?_0x371893:undefined,'stdout':_0x413689['trim'](),'stderr':_0x539675['trim'](),'exitCode':0x0,'executionTime':_0xce102,'workingDirectory':_0x380331,'message':_0x1cdc7a(0x19e)+_0xce102+'ms'});});setTimeout(()=>{const _0x2c44f4=_0xdd2432;!_0x22bc83[_0x2c44f4(0x224)]&&(_0x22bc83['kill'](_0x2c44f4(0x1a3)),_0x48e082(new Error(_0x2c44f4(0x1a1)+timeout+'ms:\x20'+_0x371893+'\x20(original:\x20'+_0x1cfbe7+')')));},timeout);});}async['executeCommandWithSpawn'](_0x40b680,_0x28042f,_0x58cf7c={}){const _0x1cc051=a0_0x473ae9,{timeout:timeout=this['timeout'],agentId:_0x3741d3,context:_0x3ad98f}=_0x58cf7c,_0x47d5ec=_0x40b680;let _0x2cbe6b;try{_0x2cbe6b=await this[_0x1cc051(0x288)](_0x40b680,{'agentId':_0x3741d3,'toolsRegistry':_0x3ad98f?.['toolsRegistry'],'messageProcessor':_0x3ad98f?.['messageProcessor'],'aiService':_0x3ad98f?.['aiService'],'apiKey':_0x3ad98f?.['apiKey'],'customApiKeys':_0x3ad98f?.['customApiKeys'],'platformProvided':_0x3ad98f?.['platformProvided']});}catch(_0x11b427){this['logger']?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x47d5ec,'error':_0x11b427[_0x1cc051(0x1d1)]}),_0x2cbe6b=_0x40b680;}return new Promise((_0x59281d,_0x30b32d)=>{const _0x3698b2=_0x1cc051,_0x479490=Date['now']();this['logger']?.['info'](_0x3698b2(0x247)+_0x2cbe6b,{'originalCommand':_0x47d5ec,'translatedCommand':_0x2cbe6b,'terminal':this['detectedTerminal'],'workingDirectory':_0x28042f,'timeout':timeout,'agentId':_0x3741d3});let _0x55b809;if(this['detectedTerminal']===_0x3698b2(0x278)||this[_0x3698b2(0x16e)]==='powershell'){const _0x46c05f=this[_0x3698b2(0x16e)]===_0x3698b2(0x1d8)?_0x3698b2(0x1d8):'cmd',_0x11f48b=this[_0x3698b2(0x16e)]==='powershell'?[_0x3698b2(0x1da),_0x2cbe6b]:['/c',_0x2cbe6b];_0x55b809=spawn(_0x46c05f,_0x11f48b,{'cwd':_0x28042f,'env':{...process['env']},'windowsHide':!![]});}else _0x55b809=spawn('sh',['-c',_0x2cbe6b],{'cwd':_0x28042f,'env':{...process[_0x3698b2(0x225)]}});let _0x2fdb6d='',_0x512d86='',_0x1ed51f=![],_0x2598e3=null,_0x5b3353=Date[_0x3698b2(0x219)](),_0x5c2fd3=null;const _0x4d8151=setTimeout(()=>{const _0x5c59f9=_0x3698b2;!_0x55b809[_0x5c59f9(0x224)]&&_0x2598e3===null&&(_0x1ed51f=!![],this[_0x5c59f9(0x1f8)]?.[_0x5c59f9(0x226)]('Command\x20timed\x20out,\x20killing\x20process:\x20'+_0x2cbe6b,{'timeout':timeout,'agentId':_0x3741d3}),_0x55b809['kill']('SIGTERM'),setTimeout(()=>{const _0x319a74=_0x5c59f9;!_0x55b809['killed']&&_0x55b809[_0x319a74(0x188)](_0x319a74(0x154));},0x1388));},timeout);_0x55b809['stdout']['on']('data',_0x32bb58=>{const _0x1d08cc=_0x3698b2,_0x5eaa11=_0x32bb58['toString']();_0x2fdb6d+=_0x5eaa11,_0x5b3353=Date['now'](),this[_0x1d08cc(0x1f8)]?.['debug'](_0x1d08cc(0x24e)+_0x5eaa11['substring'](0x0,0x64),{'agentId':_0x3741d3,'command':_0x47d5ec['substring'](0x0,0x32)});if(!_0x5c2fd3){const _0x31e4f8=this[_0x1d08cc(0x282)][_0x1d08cc(0x1a8)](_0x2fdb6d,'stdout');_0x31e4f8&&(_0x5c2fd3=_0x31e4f8,this['logger']?.[_0x1d08cc(0x194)]('Prompt\x20detected\x20in\x20stdout',{'type':_0x31e4f8[_0x1d08cc(0x17f)],'description':_0x31e4f8['description'],'matchedText':_0x31e4f8['matchedText'],'agentId':_0x3741d3,'command':_0x47d5ec[_0x1d08cc(0x277)](0x0,0x32)}));}}),_0x55b809[_0x3698b2(0x241)]['on'](_0x3698b2(0x156),_0x278782=>{const _0x105c4d=_0x3698b2,_0x3aa523=_0x278782['toString']();_0x512d86+=_0x3aa523,_0x5b3353=Date[_0x105c4d(0x219)](),this['logger']?.[_0x105c4d(0x1f4)](_0x105c4d(0x164)+_0x3aa523[_0x105c4d(0x277)](0x0,0x64),{'agentId':_0x3741d3,'command':_0x47d5ec[_0x105c4d(0x277)](0x0,0x32)});if(!_0x5c2fd3){const _0x373f6d=this[_0x105c4d(0x282)]['detectPrompt'](_0x512d86,'stderr');_0x373f6d&&(_0x5c2fd3=_0x373f6d,this[_0x105c4d(0x1f8)]?.[_0x105c4d(0x194)](_0x105c4d(0x17a),{'type':_0x373f6d['type'],'description':_0x373f6d[_0x105c4d(0x203)],'matchedText':_0x373f6d[_0x105c4d(0x239)],'agentId':_0x3741d3,'command':_0x47d5ec['substring'](0x0,0x32)}));}}),_0x55b809['on']('exit',(_0x2ce476,_0x4278bf)=>{const _0x541af7=_0x3698b2;clearTimeout(_0x4d8151),_0x2598e3=_0x2ce476;const _0xec7243=Date[_0x541af7(0x219)]()-_0x479490,_0x1d82f2=Date['now']()-_0x5b3353;this['logger']?.[_0x541af7(0x194)](_0x541af7(0x281)+_0x2cbe6b,{'exitCode':_0x2ce476,'signal':_0x4278bf,'executionTime':_0xec7243,'timedOut':_0x1ed51f,'stdoutLength':_0x2fdb6d['length'],'stderrLength':_0x512d86['length'],'promptDetected':!!_0x5c2fd3,'timeSinceLastOutput':_0x1d82f2});const _0xf2f9d8={'action':_0x541af7(0x23e),'command':_0x47d5ec,'translatedCommand':_0x2cbe6b!==_0x47d5ec?_0x2cbe6b:undefined,'stdout':_0x2fdb6d['trim'](),'stderr':_0x512d86['trim'](),'exitCode':_0x2ce476,'executionTime':_0xec7243,'workingDirectory':_0x28042f,'promptDetected':!!_0x5c2fd3,'promptInfo':_0x5c2fd3||undefined,'lastOutputTime':_0x5b3353,'timeSinceLastOutput':_0x1d82f2};if(_0x1ed51f){_0x59281d({..._0xf2f9d8,'success':![],'error':_0x541af7(0x1a1)+timeout+'ms','exitCode':_0x2ce476||-0x1,'timedOut':!![]});return;}if(_0x2ce476!==0x0){this['logger']?.[_0x541af7(0x276)]('Command\x20failed\x20with\x20exit\x20code\x20'+_0x2ce476+':\x20'+_0x2cbe6b,{'originalCommand':_0x47d5ec,'translatedCommand':_0x2cbe6b,'exitCode':_0x2ce476,'stderr':_0x512d86[_0x541af7(0x277)](0x0,0xc8),'executionTime':_0xec7243,'promptDetected':!!_0x5c2fd3}),_0x59281d({..._0xf2f9d8,'success':![],'error':'Command\x20exited\x20with\x20code\x20'+_0x2ce476});return;}this[_0x541af7(0x1f8)]?.['info']('Command\x20completed\x20successfully:\x20'+_0x2cbe6b,{'originalCommand':_0x47d5ec,'executionTime':_0xec7243,'stdoutLength':_0x2fdb6d['length'],'stderrLength':_0x512d86[_0x541af7(0x275)],'promptDetected':!!_0x5c2fd3}),_0x59281d({..._0xf2f9d8,'success':!![],'exitCode':0x0,'message':'Command\x20executed\x20successfully\x20in\x20'+_0xec7243+'ms'});}),_0x55b809['on']('error',_0x1fb203=>{const _0x7424d7=_0x3698b2;clearTimeout(_0x4d8151);const _0x5c581=Date['now']()-_0x479490,_0x3ae98c=Date[_0x7424d7(0x219)]()-_0x5b3353;this[_0x7424d7(0x1f8)]?.['error'](_0x7424d7(0x1ec)+_0x2cbe6b,{'originalCommand':_0x47d5ec,'error':_0x1fb203[_0x7424d7(0x1d1)],'executionTime':_0x5c581,'promptDetected':!!_0x5c2fd3}),_0x59281d({'success':![],'action':_0x7424d7(0x23e),'command':_0x47d5ec,'translatedCommand':_0x2cbe6b!==_0x47d5ec?_0x2cbe6b:undefined,'error':_0x1fb203[_0x7424d7(0x1d1)],'stderr':_0x512d86[_0x7424d7(0x1eb)](),'stdout':_0x2fdb6d[_0x7424d7(0x1eb)](),'exitCode':-0x1,'executionTime':_0x5c581,'workingDirectory':_0x28042f,'promptDetected':!!_0x5c2fd3,'promptInfo':_0x5c2fd3||undefined,'lastOutputTime':_0x5b3353,'timeSinceLastOutput':_0x3ae98c});});});}async[a0_0x473ae9(0x19b)](_0x43208c,_0x317ed0,_0x1d3fe6){const _0x29fb07=a0_0x473ae9;try{let _0x2daf9d;a0_0x185867['isAbsolute'](_0x43208c)?_0x2daf9d=_0x43208c:_0x2daf9d=a0_0x185867['resolve'](_0x317ed0,_0x43208c);const _0x155a60=await a0_0x23ff9b['stat'](_0x2daf9d);if(!_0x155a60[_0x29fb07(0x163)]())throw new Error(_0x29fb07(0x197)+_0x2daf9d);const _0x1f328e=this['directoryAccessManager']['validateReadAccess'](_0x2daf9d,_0x1d3fe6);if(!_0x1f328e[_0x29fb07(0x234)]){this[_0x29fb07(0x1f8)]?.[_0x29fb07(0x226)](_0x29fb07(0x24b)+_0x1f328e['reason'],{'targetDirectory':_0x2daf9d,'reason':_0x1f328e[_0x29fb07(0x23d)],'category':_0x1f328e[_0x29fb07(0x1fe)]});throw new Error(_0x29fb07(0x1e5)+_0x1f328e[_0x29fb07(0x23d)]);}return{'success':!![],'action':_0x29fb07(0x25e),'previousDirectory':_0x317ed0,'newDirectory':_0x2daf9d,'message':'Changed\x20directory\x20to\x20'+_0x2daf9d};}catch(_0x1a841b){throw new Error('Failed\x20to\x20change\x20directory\x20to\x20'+_0x43208c+':\x20'+_0x1a841b[_0x29fb07(0x1d1)]);}}async[a0_0x473ae9(0x1b8)](_0x131bc8){const _0x3eb5d2=a0_0x473ae9;try{const _0x579c07=await a0_0x23ff9b[_0x3eb5d2(0x1fc)](_0x131bc8,{'withFileTypes':!![]}),_0x3aac8e=_0x579c07['map'](_0x5ad711=>({'name':_0x5ad711[_0x3eb5d2(0x22d)],'type':_0x5ad711[_0x3eb5d2(0x163)]()?'directory':_0x3eb5d2(0x1f6),'isSymlink':_0x5ad711['isSymbolicLink']()}));return{'success':!![],'action':'list-directory','directory':_0x131bc8,'contents':_0x3aac8e,'totalItems':_0x3aac8e['length'],'directories':_0x3aac8e['filter'](_0x52c68f=>_0x52c68f[_0x3eb5d2(0x17f)]==='directory')['length'],'files':_0x3aac8e[_0x3eb5d2(0x15f)](_0x4114d8=>_0x4114d8['type']==='file')['length'],'message':_0x3eb5d2(0x190)+_0x3aac8e['length']+'\x20items\x20in\x20'+_0x131bc8};}catch(_0x5ba5ce){throw new Error(_0x3eb5d2(0x257)+_0x131bc8+':\x20'+_0x5ba5ce[_0x3eb5d2(0x1d1)]);}}async['createDirectory'](_0x363151,_0x366a25){const _0x23238b=a0_0x473ae9;try{let _0x3bc407;return a0_0x185867['isAbsolute'](_0x363151)?_0x3bc407=_0x363151:_0x3bc407=a0_0x185867['resolve'](_0x366a25,_0x363151),await a0_0x23ff9b['mkdir'](_0x3bc407,{'recursive':!![]}),{'success':!![],'action':'create-directory','directory':_0x3bc407,'relativePath':a0_0x185867[_0x23238b(0x21e)](_0x366a25,_0x3bc407),'message':'Created\x20directory:\x20'+_0x3bc407};}catch(_0x775e6c){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x363151+':\x20'+_0x775e6c[_0x23238b(0x1d1)]);}}['isBlockedCommand'](_0xe50852){const _0x6d7ac7=_0xe50852['toLowerCase']()['trim']();return this['blockedCommands']['some'](_0x25f350=>{const _0x542bd6=a0_0x5953,_0x20aab9=_0x25f350[_0x542bd6(0x1dc)]();return _0x6d7ac7===_0x20aab9||_0x6d7ac7['startsWith'](_0x20aab9+'\x20');});}[a0_0x473ae9(0x1e8)](_0x4a155){const _0x44b8b3=a0_0x473ae9;if(!this['allowedCommands'])return!![];const _0x163375=_0x4a155['toLowerCase']()[_0x44b8b3(0x1eb)](),_0x2139bc=_0x163375[_0x44b8b3(0x165)]('\x20')[0x0];return this[_0x44b8b3(0x178)][_0x44b8b3(0x206)](_0x3ae04a=>_0x3ae04a['toLowerCase']()===_0x2139bc||_0x163375['startsWith'](_0x3ae04a['toLowerCase']()+'\x20'));}['addToHistory'](_0x315497,_0x55b2a1,_0x1923b2){const _0x3fe397=a0_0x473ae9,_0x4ddc15={'timestamp':new Date()[_0x3fe397(0x1db)](),'agentId':_0x1923b2,'action':_0x315497[_0x3fe397(0x17f)],'command':_0x315497['command']||_0x315497[_0x3fe397(0x181)],'success':_0x55b2a1[_0x3fe397(0x1c1)],'executionTime':_0x55b2a1[_0x3fe397(0x20d)]||0x0,'workingDirectory':_0x55b2a1['workingDirectory']};this['commandHistory']['push'](_0x4ddc15),this['commandHistory']['length']>0x64&&(this[_0x3fe397(0x1cc)]=this['commandHistory'][_0x3fe397(0x291)](-0x64));}['getSupportedActions'](){return['run-command','change-directory','list-directory','create-directory','get-working-directory'];}['getParameterSchema'](){const _0x1319e8=a0_0x473ae9;return{'type':'object','properties':{'actions':{'type':_0x1319e8(0x16c),'minItems':0x1,'items':{'type':'object','properties':{'type':{'type':_0x1319e8(0x221),'enum':this[_0x1319e8(0x269)]()},'command':{'type':'string'},'directory':{'type':'string'}},'required':['type']}},'timeout':{'type':'integer','minimum':0x3e8,'maximum':this[_0x1319e8(0x18c)]},'async':{'type':'boolean'}},'required':[_0x1319e8(0x28e)]};}['getCommandHistory'](_0x3596fd=null){const _0x35f743=a0_0x473ae9;if(_0x3596fd)return this[_0x35f743(0x1cc)]['filter'](_0x2adba7=>_0x2adba7['agentId']===_0x3596fd);return[...this['commandHistory']];}['clearWorkingDirectory'](_0x2f97c5){const _0x534bff=a0_0x473ae9;for(const [_0x398aed]of this['workingDirectories']){_0x398aed[_0x534bff(0x16b)](_0x2f97c5+'-')&&this['workingDirectories'][_0x534bff(0x290)](_0x398aed);}}['getCurrentWorkingDirectory'](_0x24eb10,_0x1e7a3a=null){const _0x300799=a0_0x473ae9,_0x4151bb=_0x24eb10+'-'+(_0x1e7a3a||'default');return this['workingDirectories'][_0x300799(0x287)](_0x4151bb)||_0x1e7a3a||process[_0x300799(0x22c)]();}['initializeTerminalDetection'](){const _0x142930=a0_0x473ae9;this[_0x142930(0x243)]=process['platform'];if(process['platform']===_0x142930(0x286)){if(process['env']['PSModulePath'])this['detectedTerminal']='powershell';else process['env']['SHELL']&&process['env'][_0x142930(0x251)][_0x142930(0x26e)](_0x142930(0x1a7))?this['detectedTerminal']='bash':this['detectedTerminal']=_0x142930(0x278);}else process['platform']==='darwin'?this['detectedTerminal']=_0x142930(0x1a7):this[_0x142930(0x16e)]=_0x142930(0x1a7);this['logger']?.[_0x142930(0x194)](_0x142930(0x1f0),{'platform':this['platformType'],'terminal':this['detectedTerminal'],'shell':process['env']['SHELL']});}async[a0_0x473ae9(0x288)](_0x2852fe,_0x3c3954={}){const _0x4265c8=a0_0x473ae9,_0x53b644=_0x2852fe['trim'](),_0x2d3fae=this[_0x4265c8(0x272)](_0x53b644);this['logger']?.['info']('Command\x20compatibility\x20analysis',{'command':_0x53b644,'detectedTerminal':_0x2d3fae['detectedTerminal'],'commandType':_0x2d3fae[_0x4265c8(0x266)],'commandCategory':_0x2d3fae[_0x4265c8(0x162)],'compatible':_0x2d3fae['compatible'],'issues':_0x2d3fae['specificIssues'],'suggestedAction':_0x2d3fae['suggestedAction'],'confidence':_0x2d3fae['confidence']});if(_0x2d3fae[_0x4265c8(0x1e3)])return _0x2852fe;let _0x2c8817=null;if(this[_0x4265c8(0x16e)]===_0x4265c8(0x278))_0x2c8817=this['translateToWindowsCmd'](_0x53b644);else{if(this['detectedTerminal']==='powershell')_0x2c8817=this['translateToPowerShell'](_0x53b644);else this[_0x4265c8(0x16e)]===_0x4265c8(0x1a7)&&(_0x2c8817=this[_0x4265c8(0x1d6)](_0x53b644));}if(_0x2c8817&&this['isSimpleCommand'](_0x53b644))return this['logger']?.['info'](_0x4265c8(0x1c9),{'original':_0x2852fe,'translated':_0x2c8817,'method':_0x4265c8(0x26d)}),_0x2c8817;if(_0x3c3954[_0x4265c8(0x1df)]||_0x3c3954[_0x4265c8(0x1ce)]&&_0x3c3954['agentId']){this['logger']?.['info']('Attempting\x20AI\x20translation\x20for\x20complex\x20command',{'command':_0x2852fe['substring'](0x0,0x64)+'...','hasAiService':!!_0x3c3954[_0x4265c8(0x1df)],'hasToolsRegistry':!!_0x3c3954[_0x4265c8(0x1ce)],'agentId':_0x3c3954['agentId']});try{const _0x43eb2f=await this[_0x4265c8(0x26a)](_0x2852fe,_0x3c3954);if(_0x43eb2f&&_0x43eb2f['trim']()!==_0x2852fe['trim']())return this[_0x4265c8(0x1f8)]?.['info']('Using\x20AI\x20translation',{'original':_0x2852fe,'translated':_0x43eb2f,'method':'ai'}),_0x43eb2f;else this['logger']?.[_0x4265c8(0x226)]('AI\x20translation\x20returned\x20same\x20command',{'original':_0x2852fe,'translated':_0x43eb2f});}catch(_0x3c6320){this[_0x4265c8(0x1f8)]?.['warn']('AI\x20translation\x20failed,\x20falling\x20back\x20to\x20simple\x20translation',{'original':_0x2852fe,'error':_0x3c6320['message'],'stack':_0x3c6320['stack']});}}else this['logger']?.['warn'](_0x4265c8(0x1a9),{'hasAiService':!!_0x3c3954['aiService'],'hasToolsRegistry':!!_0x3c3954['toolsRegistry'],'hasAgentId':!!_0x3c3954['agentId'],'contextKeys':Object[_0x4265c8(0x212)](_0x3c3954)});return _0x2c8817||_0x2852fe;}[a0_0x473ae9(0x196)](_0x4a445c){const _0x20c8e0=a0_0x473ae9,_0x5e0cb8=_0x4a445c['toLowerCase']();if(_0x4a445c[_0x20c8e0(0x26e)]('\x5cn')||_0x4a445c['includes']('\x5cr')||_0x4a445c[_0x20c8e0(0x26e)]('\x5ct'))return![];if(_0x4a445c[_0x20c8e0(0x26e)]('\x0a')||_0x4a445c['includes']('\x0d'))return![];if(_0x4a445c['includes'](_0x20c8e0(0x26b))||_0x4a445c['includes'](_0x20c8e0(0x1f5))||_0x4a445c['includes']('main()'))return![];if(_0x4a445c['includes']('def\x20')||_0x4a445c['includes']('function\x20')||_0x4a445c[_0x20c8e0(0x26e)]('class\x20'))return![];if(_0x4a445c[_0x20c8e0(0x26e)]('echo\x20\x27')&&!_0x4a445c['includes']('echo\x20\x22'))return![];const _0x2a6651=_0x4a445c[_0x20c8e0(0x26c)](/'([^']*)'/);if(_0x2a6651&&_0x2a6651[0x1][_0x20c8e0(0x275)]>0x32)return![];if(this['detectedTerminal']==='cmd'&&_0x4a445c['includes']('>')&&_0x4a445c[_0x20c8e0(0x26e)]('/')&&!_0x4a445c['includes']('\x5c'))return![];if(_0x4a445c[_0x20c8e0(0x26e)](_0x20c8e0(0x273))||_0x4a445c[_0x20c8e0(0x26e)]('\x20||\x20')||_0x4a445c[_0x20c8e0(0x26e)](';\x20'))return![];if(_0x4a445c[_0x20c8e0(0x26e)]('$(')||_0x4a445c['includes']('`')||_0x4a445c[_0x20c8e0(0x26e)]('{')||_0x4a445c['includes']('['))return![];if(_0x5e0cb8['includes']('for\x20')||_0x5e0cb8['includes'](_0x20c8e0(0x1d3))||_0x5e0cb8[_0x20c8e0(0x26e)]('if\x20'))return![];if(_0x5e0cb8[_0x20c8e0(0x26e)]('export ')||_0x5e0cb8['includes']('source\x20'))return![];if(_0x4a445c['includes'](_0x20c8e0(0x1f2))||_0x4a445c[_0x20c8e0(0x26e)](_0x20c8e0(0x27e)))return![];return!![];}async[a0_0x473ae9(0x26a)](_0x4641e3,_0x145ad4){const _0x4c55ff=a0_0x473ae9;let _0x3082e5=_0x145ad4['aiService'];if(!_0x3082e5&&_0x145ad4['toolsRegistry']&&_0x145ad4[_0x4c55ff(0x174)]){const _0x5d3f93=_0x145ad4['messageProcessor'];_0x5d3f93&&_0x5d3f93[_0x4c55ff(0x1df)]&&(_0x3082e5=_0x5d3f93[_0x4c55ff(0x1df)]);}if(!_0x3082e5)throw new Error(_0x4c55ff(0x20c));const _0x17d5dd=this[_0x4c55ff(0x1f9)](_0x4641e3),_0xc83ede=_0x4c55ff(0x28f);try{const _0x327dc7=await _0x3082e5[_0x4c55ff(0x25d)](_0xc83ede,_0x17d5dd,{'agentId':_0x145ad4['agentId'],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x145ad4['apiKey'],'customApiKeys':_0x145ad4[_0x4c55ff(0x27b)],'platformProvided':_0x145ad4[_0x4c55ff(0x1be)]}),_0x3cb965=this[_0x4c55ff(0x1d5)](_0x327dc7[_0x4c55ff(0x1d9)]);return this[_0x4c55ff(0x1f8)]?.['debug']('AI\x20command\x20translation\x20completed',{'original':_0x4641e3,'translated':_0x3cb965,'model':_0xc83ede,'terminal':this['detectedTerminal']}),_0x3cb965;}catch(_0xa07f6b){this[_0x4c55ff(0x1f8)]?.[_0x4c55ff(0x276)]('AI\x20command\x20translation\x20failed',{'command':_0x4641e3,'terminal':this[_0x4c55ff(0x16e)],'error':_0xa07f6b[_0x4c55ff(0x1d1)]});throw _0xa07f6b;}}['buildTranslationPrompt'](_0x419351){const _0x15671d=a0_0x473ae9,_0x23ba4a={'cmd':_0x15671d(0x220),'powershell':_0x15671d(0x170),'bash':_0x15671d(0x182)},_0x5e9406=_0x23ba4a[this['detectedTerminal']]||this['detectedTerminal'],_0x13e32e=this[_0x15671d(0x272)](_0x419351);let _0x29ad36='Translate\x20this\x20command\x20to\x20work\x20correctly\x20in\x20'+_0x5e9406+_0x15671d(0x261)+_0x419351+_0x15671d(0x255)+_0x13e32e[_0x15671d(0x266)]+_0x15671d(0x1b2)+_0x13e32e[_0x15671d(0x162)]+_0x15671d(0x1ac)+_0x5e9406+_0x15671d(0x222)+(_0x13e32e['specificIssues']['join'](',\x20')||_0x15671d(0x27c));return _0x13e32e['commandType']==='unix'&&_0x13e32e['alternatives']&&_0x13e32e[_0x15671d(0x172)][this['detectedTerminal']]&&(_0x29ad36+='\x0a-\x20Suggested\x20Alternative:\x20'+_0x13e32e['alternatives'][this[_0x15671d(0x16e)]]),_0x29ad36+='\x0a\x0aREQUIREMENTS:\x0a1.\x20Make\x20the\x20command\x20work\x20correctly\x20in\x20'+_0x5e9406+'\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:',_0x29ad36;}[a0_0x473ae9(0x1d5)](_0x428f42){const _0x2863f9=a0_0x473ae9;let _0x565450=_0x428f42[_0x2863f9(0x283)](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x565450=_0x565450[_0x2863f9(0x283)](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x44c81a=_0x565450['trim']()['split']('\x0a');return _0x44c81a[_0x2863f9(0x275)]>0x1&&!_0x565450[_0x2863f9(0x26e)]('&&')&&!_0x565450['includes']('||')&&(_0x565450=_0x44c81a[0x0][_0x2863f9(0x1eb)]()),_0x565450[_0x2863f9(0x1eb)]();}['analyzeCommandCompatibility'](_0x4c0b9a){const _0xf6f15a=a0_0x473ae9,_0xe336d=this['classifyCommand'](_0x4c0b9a),_0x58ed8b=this['isCommandCompatibleWithTerminal'](_0xe336d,this[_0xf6f15a(0x16e)]);return{'compatible':_0x58ed8b,'detectedTerminal':this['detectedTerminal'],'commandType':_0xe336d['type'],'commandCategory':_0xe336d['category'],'specificIssues':_0xe336d[_0xf6f15a(0x268)],'suggestedAction':_0x58ed8b?_0xf6f15a(0x184):'translate','confidence':_0xe336d[_0xf6f15a(0x284)]};}[a0_0x473ae9(0x256)](_0x25f83d){const _0x4ed933=a0_0x473ae9;return this['analyzeCommandCompatibility'](_0x25f83d)[_0x4ed933(0x1e3)];}[a0_0x473ae9(0x193)](_0x3084f8){const _0x1e4d62=a0_0x473ae9,_0x36993a=_0x3084f8[_0x1e4d62(0x1dc)]()[_0x1e4d62(0x1eb)](),_0x37f908=_0x36993a[_0x1e4d62(0x165)]('\x20')[0x0],_0xd85fb2=[];let _0x1ec0a7=0.9;const _0x3d7df2={'ls':{'category':_0x1e4d62(0x1b1),'alternatives':{'cmd':_0x1e4d62(0x19d),'powershell':_0x1e4d62(0x15d)}},'cat':{'category':'file-viewing','alternatives':{'cmd':'type','powershell':_0x1e4d62(0x186)}},'grep':{'category':'text-search','alternatives':{'cmd':_0x1e4d62(0x1fd),'powershell':_0x1e4d62(0x150)}},'find':{'category':_0x1e4d62(0x1e4),'alternatives':{'cmd':_0x1e4d62(0x17b),'powershell':_0x1e4d62(0x1b3)}},'head':{'category':_0x1e4d62(0x28a),'alternatives':{'cmd':'more','powershell':_0x1e4d62(0x22e)}},'tail':{'category':_0x1e4d62(0x28a),'alternatives':{'cmd':_0x1e4d62(0x175),'powershell':_0x1e4d62(0x248)}},'wc':{'category':_0x1e4d62(0x180),'alternatives':{'cmd':'find\x20/c','powershell':'Measure-Object'}},'cp':{'category':_0x1e4d62(0x1c6),'alternatives':{'cmd':_0x1e4d62(0x1c3),'powershell':_0x1e4d62(0x292)}},'mv':{'category':_0x1e4d62(0x202),'alternatives':{'cmd':_0x1e4d62(0x15b),'powershell':'Move-Item'}},'rm':{'category':_0x1e4d62(0x279),'alternatives':{'cmd':_0x1e4d62(0x27f),'powershell':_0x1e4d62(0x217)}},'mkdir':{'category':_0x1e4d62(0x207),'alternatives':{'cmd':'mkdir','powershell':_0x1e4d62(0x20a)}},'rmdir':{'category':'directory-delete','alternatives':{'cmd':_0x1e4d62(0x25f),'powershell':_0x1e4d62(0x217)}},'touch':{'category':_0x1e4d62(0x1b9),'alternatives':{'cmd':'type\x20nul\x20>','powershell':'New-Item\x20-Type\x20File'}},'chmod':{'category':_0x1e4d62(0x1af),'alternatives':{'cmd':'icacls','powershell':'Set-Acl'}},'chown':{'category':'ownership','alternatives':{'cmd':'takeown','powershell':'Set-Acl'}},'ps':{'category':'process-list','alternatives':{'cmd':_0x1e4d62(0x1f1),'powershell':_0x1e4d62(0x216)}},'kill':{'category':'process-kill','alternatives':{'cmd':_0x1e4d62(0x14d),'powershell':'Stop-Process'}},'killall':{'category':'process-kill','alternatives':{'cmd':_0x1e4d62(0x18a),'powershell':_0x1e4d62(0x237)}},'top':{'category':_0x1e4d62(0x264),'alternatives':{'cmd':_0x1e4d62(0x1f1),'powershell':_0x1e4d62(0x152)}},'wget':{'category':'download','alternatives':{'cmd':_0x1e4d62(0x20f),'powershell':_0x1e4d62(0x1a5)}},'curl':{'category':'http-client','alternatives':{'cmd':_0x1e4d62(0x20f),'powershell':'Invoke-RestMethod'}},'ping':{'category':'network-test','alternatives':{'cmd':_0x1e4d62(0x1c2),'powershell':_0x1e4d62(0x1f3)}},'awk':{'category':_0x1e4d62(0x16d),'alternatives':{'cmd':_0x1e4d62(0x230),'powershell':_0x1e4d62(0x28c)}},'sed':{'category':'text-edit','alternatives':{'cmd':_0x1e4d62(0x1e0),'powershell':'native'}},'sort':{'category':'text-sort','alternatives':{'cmd':_0x1e4d62(0x213),'powershell':_0x1e4d62(0x1d2)}},'uniq':{'category':'text-dedupe','alternatives':{'cmd':'sort\x20/unique','powershell':_0x1e4d62(0x21f)}},'pwd':{'category':_0x1e4d62(0x14c),'alternatives':{'cmd':'cd','powershell':'Get-Location'}},'whoami':{'category':_0x1e4d62(0x218),'alternatives':{'cmd':_0x1e4d62(0x1c7),'powershell':'whoami'}},'env':{'category':_0x1e4d62(0x151),'alternatives':{'cmd':'set','powershell':_0x1e4d62(0x232)}},'export':{'category':_0x1e4d62(0x151),'alternatives':{'cmd':'set','powershell':'$env:'}},'source':{'category':'script-execute','alternatives':{'cmd':_0x1e4d62(0x171),'powershell':'.\x20'}},'tar':{'category':_0x1e4d62(0x1cb),'alternatives':{'cmd':'7z','powershell':'Compress-Archive'}},'zip':{'category':_0x1e4d62(0x1cb),'alternatives':{'cmd':_0x1e4d62(0x227),'powershell':'Compress-Archive'}},'unzip':{'category':_0x1e4d62(0x1cb),'alternatives':{'cmd':_0x1e4d62(0x242),'powershell':'Expand-Archive'}},'df':{'category':_0x1e4d62(0x1d4),'alternatives':{'cmd':_0x1e4d62(0x280),'powershell':'Get-WmiObject\x20-Class\x20Win32_LogicalDisk'}},'du':{'category':_0x1e4d62(0x168),'alternatives':{'cmd':_0x1e4d62(0x17b),'powershell':'Get-ChildItem\x20-Recurse\x20|\x20Measure-Object'}},'free':{'category':'memory-info','alternatives':{'cmd':_0x1e4d62(0x177),'powershell':'Get-WmiObject\x20-Class\x20Win32_PhysicalMemory'}},'uname':{'category':_0x1e4d62(0x1aa),'alternatives':{'cmd':'systeminfo','powershell':'Get-ComputerInfo'}}},_0x298877={'dir':{'category':'file-listing','alternatives':{'unix':'ls','powershell':_0x1e4d62(0x15d)}},'type':{'category':'file-viewing','alternatives':{'unix':_0x1e4d62(0x1f7),'powershell':'Get-Content'}},'copy':{'category':'file-copy','alternatives':{'unix':'cp','powershell':_0x1e4d62(0x292)}},'move':{'category':_0x1e4d62(0x202),'alternatives':{'unix':'mv','powershell':'Move-Item'}},'del':{'category':_0x1e4d62(0x279),'alternatives':{'unix':'rm','powershell':_0x1e4d62(0x217)}},'tasklist':{'category':_0x1e4d62(0x23b),'alternatives':{'unix':'ps','powershell':_0x1e4d62(0x216)}},'taskkill':{'category':_0x1e4d62(0x1de),'alternatives':{'unix':'kill','powershell':_0x1e4d62(0x246)}},'findstr':{'category':'text-search','alternatives':{'unix':_0x1e4d62(0x25a),'powershell':'Select-String'}}},_0x297d1f={'get-childitem':{'category':'file-listing','alternatives':{'unix':'ls','cmd':'dir'}},'get-content':{'category':'file-viewing','alternatives':{'unix':_0x1e4d62(0x1f7),'cmd':'type'}},'copy-item':{'category':_0x1e4d62(0x1c6),'alternatives':{'unix':'cp','cmd':_0x1e4d62(0x1c3)}},'move-item':{'category':_0x1e4d62(0x202),'alternatives':{'unix':'mv','cmd':_0x1e4d62(0x15b)}},'remove-item':{'category':_0x1e4d62(0x279),'alternatives':{'unix':'rm','cmd':'del'}},'get-process':{'category':_0x1e4d62(0x23b),'alternatives':{'unix':'ps','cmd':_0x1e4d62(0x1f1)}},'stop-process':{'category':'process-kill','alternatives':{'unix':_0x1e4d62(0x188),'cmd':_0x1e4d62(0x14d)}}};let _0x15bf82=_0x1e4d62(0x14e),_0x5db5a8='unknown',_0x1c75f6={};if(_0x3d7df2[_0x37f908])_0x15bf82=_0x1e4d62(0x27a),_0x5db5a8=_0x3d7df2[_0x37f908][_0x1e4d62(0x1fe)],_0x1c75f6=_0x3d7df2[_0x37f908]['alternatives'];else{if(_0x298877[_0x37f908])_0x15bf82='windows-cmd',_0x5db5a8=_0x298877[_0x37f908][_0x1e4d62(0x1fe)],_0x1c75f6=_0x298877[_0x37f908]['alternatives'];else{if(_0x297d1f[_0x37f908])_0x15bf82=_0x1e4d62(0x1d8),_0x5db5a8=_0x297d1f[_0x37f908]['category'],_0x1c75f6=_0x297d1f[_0x37f908][_0x1e4d62(0x172)];else{const _0xa4fd4b=['echo','cd',_0x1e4d62(0x187),'help'];_0xa4fd4b['includes'](_0x37f908)?(_0x15bf82='universal',_0x5db5a8=_0x1e4d62(0x209)):(_0x15bf82=_0x1e4d62(0x14e),_0x1ec0a7=0.3);}}}return _0x3084f8[_0x1e4d62(0x26e)]('\x27')&&!_0x3084f8['includes']('\x22')&&_0xd85fb2['push'](_0x1e4d62(0x1fb)),_0x3084f8[_0x1e4d62(0x26e)]('/')&&!_0x3084f8[_0x1e4d62(0x26e)]('\x5c')&&!_0x3084f8['includes'](_0x1e4d62(0x198))&&_0x3084f8[_0x1e4d62(0x26e)]('>')&&_0xd85fb2['push'](_0x1e4d62(0x240)),(_0x3084f8['includes']('\x5cn')||_0x3084f8[_0x1e4d62(0x26e)]('\x5ct'))&&_0xd85fb2['push'](_0x1e4d62(0x1ff)),(_0x3084f8['includes']('\x20&&\x20')||_0x3084f8['includes'](_0x1e4d62(0x210))||_0x3084f8['includes'](';'))&&_0xd85fb2[_0x1e4d62(0x1b5)]('command-chaining'),{'type':_0x15bf82,'category':_0x5db5a8,'alternatives':_0x1c75f6,'issues':_0xd85fb2,'confidence':_0x1ec0a7,'firstWord':_0x37f908,'fullCommand':_0x3084f8};}['isCommandCompatibleWithTerminal'](_0x550439,_0x3b48ce){const _0x51f394=a0_0x473ae9;switch(_0x3b48ce){case'cmd':if(_0x550439[_0x51f394(0x17f)]===_0x51f394(0x27a))return![];if(_0x550439['issues'][_0x51f394(0x26e)](_0x51f394(0x1fb)))return![];if(_0x550439['issues'][_0x51f394(0x26e)]('unix-style-paths'))return![];return _0x550439[_0x51f394(0x17f)]===_0x51f394(0x1e9)||_0x550439['type']===_0x51f394(0x21d);case _0x51f394(0x1d8):if(_0x550439['type']==='unix'&&!_0x550439['alternatives']['powershell'])return![];return!![];case'bash':if(_0x550439[_0x51f394(0x17f)]===_0x51f394(0x1e9))return![];return _0x550439[_0x51f394(0x17f)]===_0x51f394(0x27a)||_0x550439[_0x51f394(0x17f)]==='universal';default:return![];}}[a0_0x473ae9(0x1cf)](_0x58e4f3){const _0x34634d=a0_0x473ae9;let _0x335d20=_0x58e4f3;const _0x23a5f7=new Map([[/^ls\s*$/,'dir'],[/^ls\s+-la?$/,'dir'],[/^ls\s+-l$/,'dir'],[/^ls\s+-a$/,'dir\x20/a'],[/^cat\s+(.+)$/,_0x34634d(0x155)],[/^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*$/,_0x34634d(0x1f1)],[/^kill\s+(.+)$/,'taskkill\x20/PID\x20$1'],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,'echo\x20%USERNAME%'],[/^ping\s+(.+)$/,_0x34634d(0x183)],[/^wget\s+(.+)$/,_0x34634d(0x1ca)],[/^curl\s+(.+)$/,_0x34634d(0x17c)]]);for(const [_0x3f910f,_0x5079fc]of _0x23a5f7){if(_0x3f910f[_0x34634d(0x16a)](_0x335d20)){_0x335d20=_0x335d20['replace'](_0x3f910f,_0x5079fc);break;}}_0x335d20=_0x335d20['replace'](/echo\s+'([^']+)'\s*>/g,_0x34634d(0x28d)),_0x335d20=_0x335d20['replace'](/echo\s+'([^']+)'$/g,'echo\x20\x22$1\x22');if(_0x335d20[_0x34634d(0x26e)](_0x34634d(0x1bc))&&_0x335d20[_0x34634d(0x26e)]('\x5cn')){const _0x133f32=_0x335d20[_0x34634d(0x26c)](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0x133f32){const _0xc5a9dc=_0x133f32[0x1][_0x34634d(0x283)](/\\n/g,'\x0a'),_0x298d89=_0x133f32[0x2],_0x30e4e1=_0xc5a9dc[_0x34634d(0x165)]('\x0a');_0x335d20='('+_0x30e4e1[_0x34634d(0x289)](_0x5e071b=>'echo\x20'+_0x5e071b)['join']('\x20&\x20')+_0x34634d(0x211)+_0x298d89;}}return this['logger']?.['info']('Command\x20translated\x20for\x20Windows\x20CMD',{'original':_0x58e4f3,'translated':_0x335d20}),_0x335d20;}[a0_0x473ae9(0x161)](_0x5a86c8){const _0x5c5215=a0_0x473ae9;let _0x4f30d5=_0x5a86c8;const _0x2fb638=new Map([[/^ls\s*$/,'Get-ChildItem'],[/^ls\s+-la?$/,'Get-ChildItem\x20-Force'],[/^cat\s+(.+)$/,_0x5c5215(0x1ab)],[/^cp\s+(.+)\s+(.+)$/,'Copy-Item\x20$1\x20$2'],[/^mv\s+(.+)\s+(.+)$/,'Move-Item\x20$1\x20$2'],[/^rm\s+(.+)$/,'Remove-Item\x20$1'],[/^pwd\s*$/,_0x5c5215(0x259)],[/^ps\s*$/,'Get-Process']]);for(const [_0x5b5988,_0x1a6bfd]of _0x2fb638){if(_0x5b5988[_0x5c5215(0x16a)](_0x4f30d5)){_0x4f30d5=_0x4f30d5['replace'](_0x5b5988,_0x1a6bfd);break;}}return this[_0x5c5215(0x1f8)]?.['info'](_0x5c5215(0x14f),{'original':_0x5a86c8,'translated':_0x4f30d5}),_0x4f30d5;}['translateToBash'](_0x4f4370){const _0xbdd87e=a0_0x473ae9;let _0x3eadfe=_0x4f4370;const _0x3e4356=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,'ls\x20-a'],[/^type\s+(.+)$/,'cat\x20$1'],[/^copy\s+(.+)\s+(.+)$/,'cp\x20$1\x20$2'],[/^move\s+(.+)\s+(.+)$/,'mv\x20$1\x20$2'],[/^del\s+(.+)$/,_0xbdd87e(0x252)],[/^tasklist\s*$/,'ps'],[/^cd\s*$/,'pwd']]);for(const [_0x1a6a12,_0x57da2e]of _0x3e4356){if(_0x1a6a12['test'](_0x3eadfe)){_0x3eadfe=_0x3eadfe['replace'](_0x1a6a12,_0x57da2e);break;}}return _0x3eadfe;}async[a0_0x473ae9(0x21c)](_0x38b7f0){}async[a0_0x473ae9(0x1a6)](_0x339aa0,_0x2f135e,_0x104b55={}){const _0xca88ed=a0_0x473ae9,{agentId:_0xcf8eb6,context:_0x35740b}=_0x104b55;if(!_0xcf8eb6)throw new Error('agentId\x20is\x20required\x20for\x20background\x20commands');const _0x35815f=this[_0xca88ed(0x199)](_0xcf8eb6),_0x1c7e66=_0x35815f[_0xca88ed(0x15f)](_0x4cbd63=>_0x4cbd63[_0xca88ed(0x214)]==='running'||_0x4cbd63[_0xca88ed(0x214)]===_0xca88ed(0x22a));if(_0x1c7e66['length']>=this[_0xca88ed(0x204)])throw new Error(_0xca88ed(0x15a)+this[_0xca88ed(0x204)]+')');const _0x53579a=Array[_0xca88ed(0x19c)](this[_0xca88ed(0x238)]['values']()),_0x400622=_0x53579a[_0xca88ed(0x15f)](_0x3af429=>_0x3af429[_0xca88ed(0x214)]==='running'||_0x3af429[_0xca88ed(0x214)]===_0xca88ed(0x22a));if(_0x400622['length']>=this[_0xca88ed(0x167)])throw new Error(_0xca88ed(0x1b0)+this['MAX_BACKGROUND_COMMANDS_GLOBAL']+')');const _0xc66252=_0xcf8eb6+_0xca88ed(0x1b7)+Date['now']()+'-'+ ++this[_0xca88ed(0x249)],_0x8f14b3=_0x339aa0;let _0x47e29c;try{_0x47e29c=await this['translateCommand'](_0x339aa0,{'agentId':_0xcf8eb6,'toolsRegistry':_0x35740b?.[_0xca88ed(0x1ce)],'messageProcessor':_0x35740b?.[_0xca88ed(0x253)],'aiService':_0x35740b?.['aiService'],'apiKey':_0x35740b?.['apiKey'],'customApiKeys':_0x35740b?.['customApiKeys'],'platformProvided':_0x35740b?.[_0xca88ed(0x1be)]});}catch(_0x391af3){this['logger']?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x8f14b3,'error':_0x391af3['message']}),_0x47e29c=_0x339aa0;}this['logger']?.['info']('Starting\x20background\x20command:\x20'+_0x47e29c,{'commandId':_0xc66252,'agentId':_0xcf8eb6,'originalCommand':_0x8f14b3,'workingDirectory':_0x2f135e});let _0x31dfa5;if(this['detectedTerminal']==='cmd'||this['detectedTerminal']===_0xca88ed(0x1d8)){const _0x5112fb=this[_0xca88ed(0x16e)]===_0xca88ed(0x1d8)?'powershell':_0xca88ed(0x278),_0x56d29e=this['detectedTerminal']===_0xca88ed(0x1d8)?['-Command',_0x47e29c]:['/c',_0x47e29c];_0x31dfa5=spawn(_0x5112fb,_0x56d29e,{'cwd':_0x2f135e,'env':{...process[_0xca88ed(0x225)]},'windowsHide':!![],'stdio':['pipe','pipe','pipe']});}else _0x31dfa5=spawn('sh',['-c',_0x47e29c],{'cwd':_0x2f135e,'env':{...process['env']},'stdio':[_0xca88ed(0x24d),_0xca88ed(0x24d),'pipe']});const _0x39a4e0={'commandId':_0xc66252,'agentId':_0xcf8eb6,'pid':_0x31dfa5['pid'],'command':_0x8f14b3,'translatedCommand':_0x47e29c,'workingDirectory':_0x2f135e,'startTime':new Date()['toISOString'](),'state':'running','exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date['now'](),'promptDetected':null,'process':_0x31dfa5};return this['commandTracker'][_0xca88ed(0x271)](_0xc66252,_0x39a4e0),_0x31dfa5['stdout']['on'](_0xca88ed(0x156),_0xec12d8=>{const _0x1a4122=_0xca88ed,_0x1638c5=_0xec12d8['toString']();_0x39a4e0[_0x1a4122(0x1ef)]+=_0x1638c5,_0x39a4e0[_0x1a4122(0x1c5)]=Date[_0x1a4122(0x219)]();if(!_0x39a4e0['promptDetected']){const _0x402f55=this['promptDetector'][_0x1a4122(0x1a8)](_0x39a4e0['stdoutBuffer'],'stdout');_0x402f55&&(_0x39a4e0[_0x1a4122(0x245)]=_0x402f55,_0x39a4e0['state']='waiting_for_input',this['logger']?.['info'](_0x1a4122(0x1bf),{'commandId':_0xc66252,'agentId':_0xcf8eb6,'type':_0x402f55[_0x1a4122(0x17f)],'matchedText':_0x402f55['matchedText']}));}}),_0x31dfa5['stderr']['on'](_0xca88ed(0x156),_0x1658c7=>{const _0x4dfbbd=_0xca88ed,_0x8dcba1=_0x1658c7['toString']();_0x39a4e0['stderrBuffer']+=_0x8dcba1,_0x39a4e0[_0x4dfbbd(0x1c5)]=Date['now']();if(!_0x39a4e0[_0x4dfbbd(0x245)]){const _0x1cc1eb=this[_0x4dfbbd(0x282)][_0x4dfbbd(0x1a8)](_0x39a4e0['stderrBuffer'],_0x4dfbbd(0x241));_0x1cc1eb&&(_0x39a4e0[_0x4dfbbd(0x245)]=_0x1cc1eb,_0x39a4e0['state']=_0x4dfbbd(0x22a),this[_0x4dfbbd(0x1f8)]?.['info'](_0x4dfbbd(0x1e1),{'commandId':_0xc66252,'agentId':_0xcf8eb6,'type':_0x1cc1eb[_0x4dfbbd(0x17f)],'matchedText':_0x1cc1eb['matchedText']}));}}),_0x31dfa5['on'](_0xca88ed(0x187),(_0x564037,_0x8400fe)=>{const _0x22b7a0=_0xca88ed;_0x39a4e0['exitCode']=_0x564037,_0x39a4e0['state']=_0x564037===0x0?'completed':_0x22b7a0(0x195),_0x39a4e0['endTime']=new Date()[_0x22b7a0(0x1db)](),this[_0x22b7a0(0x1f8)]?.['info']('Background\x20command\x20exited',{'commandId':_0xc66252,'agentId':_0xcf8eb6,'exitCode':_0x564037,'signal':_0x8400fe,'state':_0x39a4e0['state']});}),_0x31dfa5['on'](_0xca88ed(0x276),_0x866ecc=>{const _0x4631db=_0xca88ed;_0x39a4e0[_0x4631db(0x214)]='failed',_0x39a4e0[_0x4631db(0x276)]=_0x866ecc[_0x4631db(0x1d1)],_0x39a4e0[_0x4631db(0x262)]=new Date()[_0x4631db(0x1db)](),this[_0x4631db(0x1f8)]?.['error']('Background\x20command\x20error',{'commandId':_0xc66252,'agentId':_0xcf8eb6,'error':_0x866ecc['message']});}),{'success':!![],'commandId':_0xc66252,'pid':_0x31dfa5[_0xca88ed(0x229)],'command':_0x8f14b3,'translatedCommand':_0x47e29c,'workingDirectory':_0x2f135e,'message':_0xca88ed(0x293)+_0xc66252};}['sendInput'](_0x56423a,_0x5c36ec,_0x4afec8){const _0x44319c=a0_0x473ae9,_0x25b9ae=this['validateCommandOwnership'](_0x56423a,_0x4afec8);if(_0x25b9ae[_0x44319c(0x214)]===_0x44319c(0x18e)||_0x25b9ae['state']==='failed')throw new Error('Cannot\x20send\x20input\x20to\x20'+_0x25b9ae[_0x44319c(0x214)]+_0x44319c(0x159));if(!_0x25b9ae[_0x44319c(0x200)]||_0x25b9ae[_0x44319c(0x200)]['killed'])throw new Error('Command\x20process\x20is\x20not\x20running');const _0x238fd4=_0x5c36ec['endsWith']('\x0a')?_0x5c36ec:_0x5c36ec+'\x0a';return _0x25b9ae['process']['stdin'][_0x44319c(0x25c)](_0x238fd4),this[_0x44319c(0x1f8)]?.[_0x44319c(0x194)](_0x44319c(0x22b),{'commandId':_0x56423a,'agentId':_0x4afec8,'inputLength':_0x5c36ec[_0x44319c(0x275)]}),_0x25b9ae['state']===_0x44319c(0x22a)&&(_0x25b9ae['state']=_0x44319c(0x260),_0x25b9ae[_0x44319c(0x245)]=null),{'success':!![],'commandId':_0x56423a,'message':'Input\x20sent\x20successfully'};}['getCommandStatus'](_0x4c4aa9,_0x80ceca){const _0x1f6c73=a0_0x473ae9,_0x214b2a=this['validateCommandOwnership'](_0x4c4aa9,_0x80ceca),_0x241bb8=Date['now']()-_0x214b2a['lastOutputTime'];return{'success':!![],'commandId':_0x4c4aa9,'pid':_0x214b2a[_0x1f6c73(0x229)],'command':_0x214b2a['command'],'state':_0x214b2a[_0x1f6c73(0x214)],'exitCode':_0x214b2a['exitCode'],'startTime':_0x214b2a[_0x1f6c73(0x1e2)],'endTime':_0x214b2a['endTime'],'workingDirectory':_0x214b2a[_0x1f6c73(0x1a2)],'stdout':_0x214b2a[_0x1f6c73(0x1ef)],'stderr':_0x214b2a[_0x1f6c73(0x23c)],'stdoutLength':_0x214b2a[_0x1f6c73(0x1ef)]['length'],'stderrLength':_0x214b2a[_0x1f6c73(0x23c)][_0x1f6c73(0x275)],'lastOutputTime':_0x214b2a['lastOutputTime'],'timeSinceLastOutput':_0x241bb8,'promptDetected':!!_0x214b2a['promptDetected'],'promptInfo':_0x214b2a[_0x1f6c73(0x245)]||undefined};}[a0_0x473ae9(0x19a)](_0x192f6c,_0x84cb54){const _0xa0db68=a0_0x473ae9,_0x336375=this[_0xa0db68(0x1a0)](_0x192f6c,_0x84cb54);if(_0x336375[_0xa0db68(0x214)]==='completed'||_0x336375['state']===_0xa0db68(0x195))return{'success':!![],'commandId':_0x192f6c,'message':'Command\x20already\x20terminated','state':_0x336375['state']};if(_0x336375[_0xa0db68(0x200)]&&!_0x336375['process']['killed'])return _0x336375['process'][_0xa0db68(0x188)](_0xa0db68(0x1a3)),setTimeout(()=>{const _0x57db2d=_0xa0db68;_0x336375['process']&&!_0x336375['process'][_0x57db2d(0x224)]&&_0x336375['process']['kill'](_0x57db2d(0x154));},0x1388),this[_0xa0db68(0x1f8)]?.[_0xa0db68(0x194)]('Background\x20command\x20killed',{'commandId':_0x192f6c,'agentId':_0x84cb54}),{'success':!![],'commandId':_0x192f6c,'message':'Command\x20killed\x20successfully'};return{'success':![],'commandId':_0x192f6c,'error':_0xa0db68(0x18b)};}[a0_0x473ae9(0x233)](_0x1209b9){const _0x49356c=a0_0x473ae9,_0x543145=this[_0x49356c(0x199)](_0x1209b9);return _0x543145['map'](_0x43f8a9=>({'commandId':_0x43f8a9[_0x49356c(0x185)],'command':_0x43f8a9[_0x49356c(0x201)],'state':_0x43f8a9['state'],'pid':_0x43f8a9['pid'],'exitCode':_0x43f8a9['exitCode'],'startTime':_0x43f8a9['startTime'],'endTime':_0x43f8a9[_0x49356c(0x262)],'promptDetected':!!_0x43f8a9[_0x49356c(0x245)],'timeSinceLastOutput':Date[_0x49356c(0x219)]()-_0x43f8a9['lastOutputTime']}));}[a0_0x473ae9(0x199)](_0x24419f){const _0x4e2ef9=a0_0x473ae9;return Array[_0x4e2ef9(0x19c)](this['commandTracker']['values']())[_0x4e2ef9(0x15f)](_0x4acd80=>_0x4acd80[_0x4e2ef9(0x174)]===_0x24419f);}[a0_0x473ae9(0x1a0)](_0x3e0656,_0x40d380){const _0x14fd1f=a0_0x473ae9,_0x56d796=this[_0x14fd1f(0x238)][_0x14fd1f(0x287)](_0x3e0656);if(!_0x56d796)throw new Error('Command\x20not\x20found:\x20'+_0x3e0656);if(_0x56d796['agentId']!==_0x40d380)throw new Error(_0x14fd1f(0x254)+_0x56d796[_0x14fd1f(0x174)]);return _0x56d796;}async[a0_0x473ae9(0x1e7)](_0x3f5270){const _0x568c23=a0_0x473ae9,_0x38c861=this[_0x568c23(0x199)](_0x3f5270);let _0x31cce9=0x0,_0x87f94a=0x0;for(const _0x5297f7 of _0x38c861){_0x5297f7['process']&&!_0x5297f7['process'][_0x568c23(0x224)]&&(_0x5297f7[_0x568c23(0x200)]['kill'](_0x568c23(0x1a3)),_0x31cce9++,setTimeout(()=>{const _0x57c063=_0x568c23;_0x5297f7['process']&&!_0x5297f7[_0x57c063(0x200)]['killed']&&_0x5297f7[_0x57c063(0x200)][_0x57c063(0x188)](_0x57c063(0x154));},0xbb8)),this['commandTracker']['delete'](_0x5297f7[_0x568c23(0x185)]),_0x87f94a++;}return this['logger']?.['info'](_0x568c23(0x1cd),{'agentId':_0x3f5270,'killedCount':_0x31cce9,'removedCount':_0x87f94a}),{'success':!![],'agentId':_0x3f5270,'killedCount':_0x31cce9,'removedCount':_0x87f94a,'message':'Cleaned\x20up\x20'+_0x87f94a+_0x568c23(0x169)+_0x3f5270};}['cleanupStaleCommands'](){const _0x40c0f5=a0_0x473ae9,_0x11f040=Date['now']();let _0x59f135=0x0;for(const [_0x4402f7,_0x29ee7a]of this['commandTracker'][_0x40c0f5(0x157)]()){if(_0x29ee7a[_0x40c0f5(0x214)]!==_0x40c0f5(0x18e)&&_0x29ee7a[_0x40c0f5(0x214)]!==_0x40c0f5(0x195))continue;const _0x5093ad=new Date(_0x29ee7a[_0x40c0f5(0x1e2)])[_0x40c0f5(0x160)](),_0x92c9a7=(_0x11f040-_0x5093ad)/0x3e8/0x3c;_0x92c9a7>this[_0x40c0f5(0x24a)]&&(this[_0x40c0f5(0x238)][_0x40c0f5(0x290)](_0x4402f7),_0x59f135++);}return _0x59f135>0x0&&this['logger']?.['info'](_0x40c0f5(0x15e),{'removedCount':_0x59f135,'ageThresholdMinutes':this[_0x40c0f5(0x24a)]}),{'success':!![],'removedCount':_0x59f135,'message':'Cleaned\x20up\x20'+_0x59f135+'\x20stale\x20commands'};}}export default TerminalTool;
@@ -1 +1 @@
1
- const a0_0x34d1a6=a0_0x3a7b;(function(_0x4cd2ae,_0x19c0bc){const _0x4f6b60=a0_0x3a7b,_0x1d14a7=_0x4cd2ae();while(!![]){try{const _0x3624f3=-parseInt(_0x4f6b60(0xe8))/0x1*(parseInt(_0x4f6b60(0xdb))/0x2)+-parseInt(_0x4f6b60(0xc1))/0x3+-parseInt(_0x4f6b60(0x128))/0x4+parseInt(_0x4f6b60(0xca))/0x5+parseInt(_0x4f6b60(0x99))/0x6*(-parseInt(_0x4f6b60(0x113))/0x7)+-parseInt(_0x4f6b60(0x10f))/0x8+parseInt(_0x4f6b60(0x106))/0x9;if(_0x3624f3===_0x19c0bc)break;else _0x1d14a7['push'](_0x1d14a7['shift']());}catch(_0x13ed0b){_0x1d14a7['push'](_0x1d14a7['shift']());}}}(a0_0x5c72,0x87485));import{BaseTool}from'./baseTool.js';import a0_0x501582 from'../utilities/tagParser.js';import a0_0x5c744d from'puppeteer';import a0_0x1176fa from'path';import a0_0x32ec2b from'fs/promises';import a0_0x5c5ca1 from'os';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x5c72(){const _0x194a4a=['mJu3nJy5mJHJtK9Qzvu','rMfPBgvKihrVigLUAxrPywXPEMuGyNjVD3nLCG','CxvLCNKGAxmGCMvXDwLYzwqGzM9YihnLyxjJAcbVCgvYyxrPB24','y29UC29Szq','BgfZDefJDgL2Axr5','y2XLyw51CeLUDgvYDMfS','y2XLyw51Ca','jYbUB3qGzM91BMqGzM9YigfNzw50ia','Aw5JBhvKzxm','odmXodm5mKvSr09PsG','C2vHCMnOrw5NAw5LCW','D2fPDc1MB3i','z290BW','otfHvvbZveW','zw5ZDxjLqNjVD3nLCG','zxzLCNK','jYbHBhjLywr5igv4Axn0CYbMB3iGywDLBNqG','tM8GDgfICYb0BYbJBgvHBIb1Ca','zxjYB3i','C2nYB2XS','Ag92zxi','z2v0lxnVDxjJzq','y2XVC2uTDgfI','Dgv4DenVBNrLBNq','BgLZDfrHyNm','ywDLBNruywjZ','q0Xfqu5vuf9jtLrfuLzbta','y29UDgvUDa','zw50CMLLCW','u2vHCMnOihf1zxj5igLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','C2nYzwvUC2HVDa','y3DK','yNjVD3nLCG','tM8Gywn0AxzLihrHyNm','mty3mty4ohrPAK1iyW','Ahr0Chm6lY9KDwnRzhvJA2DVlMnVBs8/Ct0','AhjLzG','Aw5WDxrBBMfTzt0ICsjD','qNjVD3nLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq6ia','BwvZC2fNzq','BwTKAxi','zxH0CMfJDc1SAw5RCW','Ahr0Chm6lY93D3CUz29Vz2XLlMnVBs9ZzwfYy2G/Ct0','DMfSDwu','ywDLBNrjza','D2fPDezVCLnLBgvJDg9Y','lMCSic5Ix2fSz28Sic5Yzxn1Bhq','Bg9Nz2vY','BMfTzq','C2vSzwn0B3i','BgLZDc10ywjZ','CMf3q29UDgvUDa','DgvTCerPCG','AxndB25Uzwn0zwq','ndaWmZK4CvLAzMnq','i2jFCMvZDwX0CW','Bgf1BMnO','yNv0Dg9Uw3r5Cgu9iNn1yM1PDcjD','zMLSDgvY','yM9KEq','vgfIicC','zgf0ytPPBwfNzs9WBMC7yMfZzty0la','B3bLBLrHyG','yw5HBhL6zvnJCMvLBNnOB3q','yw5HBhL6zs1Zy3jLzw5ZAg90','BMv0D29YA2LKBguY','y2XLyw51CefNzw50','kfTEpL0Qks8+','C2vHCMnO','Dg1WzgLY','z2v0','ig11C3qGyMuGzxHLy3v0zwqGD2L0AgLUigeGDgfIignVBNrLEhqGkhvZzsbVCgvUlxrHyIb3AxrOig5LC3rLzefJDgLVBNmP','u2nYzwvUC2HVDcbHBMfSExnPCYbMywLSzwq6ia','C2L6zq','rMfPBgvKihrVignYzwf0zsb0zw1WigrPCMvJDg9YEq','ihrHyNmGzM9YigfNzw50ia','q2XVC2LUzYb0ywi','BgvUz3rO','CgXHDgzVCM1qCM92AwrLza','C3DPDgnOlxrHyG','CgfNzq','BwfW','B3bLBI10ywi','Aw5WDxrBDhLWzt0IC3vIBwL0iL0','i3nLyxjJAa','y2XPy2S','AgfZ','zw5ZDxjLvgvTCerPCG','rMv0y2GGy29TCgXLDgvK','zxHLyW','y2XVC2u','DhLWzq','BM93','y2XVC2vuywi','mtaWotG2mezmBKjZvq','D2vI','zw5NAw5L','z29Vz2XL','C3rHCNrZv2L0Aa','Bwf4uMvZDwX0CW','vefcx0LetevFveLnru9vva','zMfSC2u','yxbPs2v5','mJmYmJyXmfrgsKDJsG','rMfPBgvKihrVignSB3nLihrHyIbKDxjPBMCGy2XLyw51Ca','C2vUze1LC3nHz2u','D29YA2LUz0rPCMvJDg9YEq','y3vZDg9TqxbPs2v5CW','kfTEpL0Qkt4Ow148xsOPpc8','Aw5MBW','ywLtzxj2AwnL','DgLTzw91Da','Aw50zxjHy3rPDMu','ChvZAa','BMv3','zgvIDwC','rMfPBgvKihrVihbHCNnLihDLyIb0B29SihbHCMfTzxrLCNm6ia','DgL0Bgu','y2XLyw51CfrPBwvY','ywn0Aw9UCYbHCNjHEsbPCYbYzxf1AxjLzcbMB3iGAw50zxjHy3rPDMuGB3bLCMf0Aw9U','mNflAfv4vW','Dgv4Da','revgqvvmvf9usu1ft1vu','AgvHzgXLC3m','q2XLyw5PBMCGDxaGywDLBNqGDgfICW','lIbbDMfPBgfIBgu6ia','vevnuf9esvi','qw5HBhL6Aw5NihnJCMvLBNnOB3qGD2L0Acbbsq','C3DPDgnOvgfI','zxzHBhvHDgu','ls1KAxnHyMXLlwfJy2vSzxjHDgvKltjKlwnHBNzHCW','DhjPBq','CgfYC2vozxn0zwrby3rPB25Z','mteXnti3BxfdrgDf','B3bLCMf0Aw9Uig11C3qGyMuGB25Lig9MoIbZzwfYy2GSigzLDgnOlcbPBNrLCMfJDgL2zq','ugvYzM9YBwLUzYb3zwiGC2vHCMnO','Bwf4lxjLC3vSDhm','yMfZzty0','y2XLyw51CeLKBgvuywjZ','BMv3ugfNzq','AM9PBG','y29UC29Szu1LC3nHz2vZ','DxjS','zM9YBwf0','z2v0lwnVBNnVBgu','zxH0CMfJDc10zxH0','BgLUA3m','B3bLCMf0Aw9U','BMf2AwDHDgu','zMLSzq','ywn0Aw9UCW','ChjVAMvJDerPCG','Bw91C2uTBw92zq','AhrTBa','zgvSzxrL','CxvLCNK','C3rYAw5N','zMv0y2G','zNjVBq','ChjLC3m','zxH0CMfJDenVBNrLBNq','CxvLCNLtzwXLy3rVCKfSBa','v2vIihrVB2WGzxHLy3v0Aw9UigzHAwXLza'];a0_0x5c72=function(){return _0x194a4a;};return a0_0x5c72();}class WebTool extends BaseTool{constructor(_0x3b053c={},_0x626b56=null){const _0x3fdfda=a0_0x3a7b;super(_0x3b053c,_0x626b56),this['requiresProject']=![],this['isAsync']=!![],this[_0x3fdfda(0x126)]=null,this['browserInitializing']=![],this[_0x3fdfda(0x11f)]=new Map(),this[_0x3fdfda(0x110)]=[{'name':_0x3fdfda(0xc4),'url':_0x3fdfda(0x8d),'searchSelector':_0x3fdfda(0x12b),'submitSelector':'input[type=\x22submit\x22],\x20button[type=\x22submit\x22]','resultsSelector':'#search\x20.g\x20a,\x20#search\x20a[href]','waitSelector':_0x3fdfda(0xb7)},{'name':'bing','url':'https://www.bing.com/search?q=','searchSelector':_0x3fdfda(0x12b),'submitSelector':_0x3fdfda(0xb6),'resultsSelector':'.b_algo\x20a','waitSelector':_0x3fdfda(0x9a)},{'name':'duckduckgo','url':_0x3fdfda(0x129),'searchSelector':_0x3fdfda(0x12b),'submitSelector':_0x3fdfda(0x9c),'resultsSelector':'.result__a,\x20a[data-testid=\x22result-title-a\x22]','waitSelector':'#links,\x20[data-testid=\x22mainline\x22]'}],this[_0x3fdfda(0xc7)]=_0x3b053c['tabIdleTimeout']||0x3c*0x3c*0x3e8,this['CLEANUP_INTERVAL']=_0x3b053c[_0x3fdfda(0x10b)]||0x5*0x3c*0x3e8,this['DEFAULT_TIMEOUT']=_0x3b053c['defaultTimeout']||0xea60,this[_0x3fdfda(0xe1)]=_0x3b053c[_0x3fdfda(0x97)]||a0_0x1176fa[_0x3fdfda(0xef)](a0_0x5c5ca1[_0x3fdfda(0xa8)](),'webtool-screenshots'),this[_0x3fdfda(0xd9)]=null,this['startCleanupTimer'](),this['ensureTempDir']();}['getDescription'](){return'\x0aWeb\x20Tool:\x20Browse,\x20search,\x20and\x20automate\x20web\x20interactions\x20using\x20Puppeteer.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22search|fetch|interactive\x22,\x0a\x20\x20\x22parameters\x22:\x20{...}\x0a}\x0a```\x0a\x0aOPERATIONS:\x0a\x0a1.\x20SEARCH:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22search\x22,\x0a\x20\x20\x22query\x22:\x20\x22search\x20terms\x22,\x0a\x20\x20\x22engine\x22:\x20\x22google\x22,\x0a\x20\x20\x22maxResults\x22:\x2010\x0a}\x0a```\x0a\x0a2.\x20FETCH:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22fetch\x22,\x0a\x20\x20\x22url\x22:\x20\x22https://example.com\x22,\x0a\x20\x20\x22formats\x22:\x20[\x22title\x22,\x20\x22text\x22,\x20\x22links\x22]\x0a}\x0a```\x0a\x0a3.\x20INTERACTIVE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22interactive\x22,\x0a\x20\x20\x22headless\x22:\x20true,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22open-tab\x22,\x0a\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22main\x22,\x0a\x20\x20\x20\x20\x20\x20\x22url\x22:\x20\x22https://example.com\x22,\x0a\x20\x20\x20\x20\x20\x20\x22nestedActions\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22wait-for\x22,\x20\x22selector\x22:\x20\x22.content\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22click\x22,\x20\x22selector\x22:\x20\x22button.submit\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22screenshot\x22,\x20\x22format\x22:\x20\x22file\x22,\x20\x22path\x22:\x20\x22result.png\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22extract-text\x22,\x20\x22selector\x22:\x20\x22#content\x22}\x0a\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22close-tab\x22,\x20\x22name\x22:\x20\x22main\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20open-tab,\x20close-tab,\x20switch-tab,\x20list-tabs\x0a-\x20navigate,\x20click,\x20type,\x20press\x0a-\x20wait-for,\x20screenshot,\x20analyze-screenshot\x0a-\x20extract-text,\x20extract-links,\x20get-source\x0a-\x20scroll,\x20hover\x0a\x0aEXAMPLES:\x0a\x0aSearch\x20Google:\x0a```json\x0a{\x22toolId\x22:\x20\x22web\x22,\x20\x22operation\x22:\x20\x22search\x22,\x20\x22query\x22:\x20\x22puppeteer\x20tutorial\x22,\x20\x22maxResults\x22:\x205}\x0a```\x0a\x0aFetch\x20page\x20content:\x0a```json\x0a{\x22toolId\x22:\x20\x22web\x22,\x20\x22operation\x22:\x20\x22fetch\x22,\x20\x22url\x22:\x20\x22https://example.com\x22,\x20\x22formats\x22:\x20[\x22text\x22,\x20\x22links\x22]}\x0a```\x0a\x0aAutomate\x20workflow:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22interactive\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22open-tab\x22,\x0a\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22search\x22,\x0a\x20\x20\x20\x20\x20\x20\x22url\x22:\x20\x22https://github.com/trending\x22,\x0a\x20\x20\x20\x20\x20\x20\x22nestedActions\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22wait-for\x22,\x20\x22selector\x22:\x20\x22.Box-row\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22extract-links\x22,\x20\x22selector\x22:\x20\x22.Box-row\x20a\x22}\x0a\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSECURITY:\x0a-\x20Browser\x20isolated\x20per\x20agent\x0a-\x20Tabs\x20auto-close\x20after\x201\x20hour\x0a\x20\x20\x20\x20';}['parseParameters'](_0x571407){const _0x45cf96=a0_0x3a7b;try{if(_0x571407['trim']()[_0x45cf96(0xc5)]('{'))return JSON['parse'](_0x571407);const _0x1797d4={},_0xfee828=a0_0x501582['extractContent'](_0x571407,'operation');_0xfee828['length']>0x0&&(_0x1797d4['operation']=_0xfee828[0x0]['trim']());switch(_0x1797d4[_0x45cf96(0xf6)]){case _0x45cf96(0xa7):_0x1797d4[_0x45cf96(0xfe)]=a0_0x501582[_0x45cf96(0x103)](_0x571407,_0x45cf96(0xfe))[0x0]?.['trim'](),_0x1797d4[_0x45cf96(0xc3)]=a0_0x501582['extractContent'](_0x571407,_0x45cf96(0xc3))[0x0]?.['trim']()||_0x45cf96(0xc4);const _0x4d7208=a0_0x501582['extractContent'](_0x571407,_0x45cf96(0xeb))[0x0]?.['trim']();_0x1797d4['maxResults']=_0x4d7208?parseInt(_0x4d7208,0xa):0xa;break;case _0x45cf96(0x100):_0x1797d4['url']=a0_0x501582[_0x45cf96(0x103)](_0x571407,'url')[0x0]?.[_0x45cf96(0xe6)]();const _0x269a09=a0_0x501582['extractContent'](_0x571407,'format')[0x0]?.['trim']();_0x1797d4['formats']=_0x269a09?_0x269a09['split'](',')['map'](_0x4d19f4=>_0x4d19f4[_0x45cf96(0xe6)]()):['title','text'];break;case'interactive':const _0x54512d=a0_0x501582['extractContent'](_0x571407,'headless')[0x0]?.['trim']();_0x1797d4['headless']=_0x54512d!==_0x45cf96(0xc8);const _0x363c51=a0_0x501582['extractContent'](_0x571407,'actions')[0x0];_0x363c51&&(_0x1797d4[_0x45cf96(0xf9)]=this['parseActions'](_0x363c51));break;}return _0x1797d4[_0x45cf96(0x96)]=_0x571407['trim'](),_0x1797d4;}catch(_0x217f9f){throw new Error(_0x45cf96(0xd7)+_0x217f9f['message']);}}['parseActions'](_0x3a8f0a){const _0x165bc0=a0_0x3a7b,_0x5085a3=[],_0x392dc3=/<open-tab[^>]*name="([^"]+)"[^>]*>([\s\S]*?)<\/open-tab>/g;let _0x5db5f2;while((_0x5db5f2=_0x392dc3[_0x165bc0(0xbc)](_0x3a8f0a))!==null){const [,_0x5b540f,_0x187e91]=_0x5db5f2,_0x52fc09=a0_0x501582['extractContent'](_0x187e91,'navigate')[0x0]?.[_0x165bc0(0xe6)]();_0x5085a3['push']({'type':'open-tab','name':_0x5b540f,'url':_0x52fc09,'nestedActions':this[_0x165bc0(0xe7)](_0x187e91)});}const _0x282f11=[_0x165bc0(0x11c),_0x165bc0(0xb2),_0x165bc0(0x95),'navigate','click',_0x165bc0(0xbe),'press','wait-for','screenshot',_0x165bc0(0xa3),_0x165bc0(0xf4),_0x165bc0(0x8c),_0x165bc0(0x11b),_0x165bc0(0xf3),'scroll',_0x165bc0(0x11a),_0x165bc0(0xfb)];for(const _0x10da5e of _0x282f11){const _0x5f3189=new RegExp('<'+_0x10da5e+_0x165bc0(0xcf)+_0x10da5e+'>','g');let _0x35d9be;while((_0x35d9be=_0x5f3189[_0x165bc0(0xbc)](_0x3a8f0a))!==null){const [,_0x839ed2,_0xacdec4]=_0x35d9be,_0x5da1e8={'type':_0x10da5e},_0x24e71b=/(\w+(?:-\w+)*)="([^"]*)"/g;let _0x3cc863;while((_0x3cc863=_0x24e71b['exec'](_0x839ed2))!==null){_0x5da1e8[_0x3cc863[0x1]]=_0x3cc863[0x2];}_0xacdec4&&_0xacdec4[_0x165bc0(0xe6)]()&&(_0x5da1e8['value']=_0xacdec4[_0x165bc0(0xe6)]()),_0x5085a3['push'](_0x5da1e8);}}return _0x5085a3;}[a0_0x34d1a6(0xe7)](_0x413437){const _0x35162e=a0_0x34d1a6,_0x4de9f9=[],_0x3fe132=[_0x35162e(0xf7),_0x35162e(0xb8),_0x35162e(0xbe),'press','wait-for','screenshot',_0x35162e(0xa3),'extract-text',_0x35162e(0x8c),_0x35162e(0x11b),_0x35162e(0xf3),'scroll','hover',_0x35162e(0xfb)];for(const _0x43c6a9 of _0x3fe132){const _0x48c880=new RegExp('<'+_0x43c6a9+'([^>]*)>([^<]*)</'+_0x43c6a9+'>|<'+_0x43c6a9+_0x35162e(0xa6),'g');let _0x4b4811;while((_0x4b4811=_0x48c880[_0x35162e(0xbc)](_0x413437))!==null){const [,_0x2d604,_0x3d5bc6,_0x19305e]=_0x4b4811,_0x591b1f=_0x2d604||_0x19305e||'',_0x1f8f39={'type':_0x43c6a9},_0x63473f=/(\w+(?:-\w+)*)="([^"]*)"/g;let _0x46a087;while((_0x46a087=_0x63473f['exec'](_0x591b1f))!==null){_0x1f8f39[_0x46a087[0x1]]=_0x46a087[0x2];}_0x3d5bc6&&_0x3d5bc6['trim']()&&(_0x1f8f39['value']=_0x3d5bc6[_0x35162e(0xe6)]()),_0x4de9f9['push'](_0x1f8f39);}}return _0x4de9f9;}['getRequiredParameters'](){const _0x22e2b6=a0_0x34d1a6;return[_0x22e2b6(0xf6)];}['customValidateParameters'](_0x5cb79f){const _0x23ecbe=a0_0x34d1a6,_0x47fb66=[];if(!['search',_0x23ecbe(0x100),_0x23ecbe(0xd3)][_0x23ecbe(0x10e)](_0x5cb79f[_0x23ecbe(0xf6)]))return _0x47fb66[_0x23ecbe(0xd4)](_0x23ecbe(0xe9)),{'valid':![],'errors':_0x47fb66};switch(_0x5cb79f['operation']){case _0x23ecbe(0xa7):!_0x5cb79f['query']&&_0x47fb66['push'](_0x23ecbe(0x108));break;case _0x23ecbe(0x100):!_0x5cb79f['url']&&_0x47fb66[_0x23ecbe(0xd4)]('url\x20is\x20required\x20for\x20fetch\x20operation');break;case'interactive':(!_0x5cb79f[_0x23ecbe(0xf9)]||!Array['isArray'](_0x5cb79f['actions'])||_0x5cb79f['actions'][_0x23ecbe(0xb0)]===0x0)&&_0x47fb66['push'](_0x23ecbe(0xda));break;}return{'valid':_0x47fb66['length']===0x0,'errors':_0x47fb66};}async['execute'](_0x5aa045,_0xea9a1f){const _0x376bf0=a0_0x34d1a6,{operation:_0x147e84}=_0x5aa045,{agentId:_0x3c2a38}=_0xea9a1f;try{await this['ensureBrowser']();let _0x232a68;switch(_0x147e84){case'search':_0x232a68=await this['search'](_0x5aa045['query'],{'engine':_0x5aa045[_0x376bf0(0xc3)]||'google','maxResults':_0x5aa045[_0x376bf0(0xc6)]||0xa,'agentId':_0x3c2a38});break;case'fetch':_0x232a68=await this['fetch'](_0x5aa045[_0x376bf0(0xf1)],{'formats':_0x5aa045['formats']||[_0x376bf0(0xd8),_0x376bf0(0xdc)],'agentId':_0x3c2a38});break;case _0x376bf0(0xd3):_0x232a68=await this['interactive'](_0x5aa045[_0x376bf0(0xf9)],{'headless':_0x5aa045[_0x376bf0(0xde)]!==![],'agentId':_0x3c2a38,'context':_0xea9a1f});break;default:throw new Error('Unknown\x20operation:\x20'+_0x147e84);}return{'success':!![],'operation':_0x147e84,'result':_0x232a68,'toolUsed':_0x376bf0(0xc2)};}catch(_0x364a99){return this[_0x376bf0(0x92)]?.[_0x376bf0(0x118)](_0x376bf0(0x105),{'operation':_0x147e84,'error':_0x364a99[_0x376bf0(0x8a)],'agentId':_0x3c2a38}),{'success':![],'operation':_0x147e84,'error':_0x364a99['message'],'toolUsed':'web'};}}async[a0_0x34d1a6(0x114)](){const _0x3e47ba=a0_0x34d1a6;if(this['browser']&&this[_0x3e47ba(0x126)][_0x3e47ba(0x98)]())return;if(this['browserInitializing']){while(this['browserInitializing']){await new Promise(_0x5c6861=>setTimeout(_0x5c6861,0x64));}return;}this['browserInitializing']=!![];try{this['logger']?.['info']('Initializing\x20Puppeteer\x20browser'),this[_0x3e47ba(0x126)]=await a0_0x5c744d[_0x3e47ba(0x9b)]({'headless':_0x3e47ba(0xd5),'args':['--no-sandbox','--disable-setuid-sandbox','--disable-dev-shm-usage',_0x3e47ba(0xe5),'--disable-gpu','--disable-blink-features=AutomationControlled','--user-agent=Mozilla/5.0\x20(Windows\x20NT\x2010.0;\x20Win64;\x20x64)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Chrome/120.0.0.0\x20Safari/537.36']}),this['logger']?.[_0x3e47ba(0xd0)]('Puppeteer\x20browser\x20initialized\x20successfully');}catch(_0xbfa277){this['logger']?.[_0x3e47ba(0x118)](_0x3e47ba(0x107),{'error':_0xbfa277['message']});throw new Error(_0x3e47ba(0x12c)+_0xbfa277[_0x3e47ba(0x8a)]);}finally{this['browserInitializing']=![];}}async['search'](_0x2bf6e0,_0x51313b={}){const _0x4a61bf=a0_0x34d1a6,{engine:engine=_0x4a61bf(0xc4),maxResults:maxResults=0xa,agentId:_0x479d58}=_0x51313b;if(!_0x2bf6e0||typeof _0x2bf6e0!==_0x4a61bf(0xff)||_0x2bf6e0[_0x4a61bf(0xe6)]()['length']===0x0)throw new Error(_0x4a61bf(0x123));const _0x5b89a8=this['searchEngines']['find'](_0x5c9df6=>_0x5c9df6['name']===engine);if(!_0x5b89a8)throw new Error('Unknown\x20search\x20engine:\x20'+engine+_0x4a61bf(0xe0)+this['searchEngines'][_0x4a61bf(0xb4)](_0x23f3ea=>_0x23f3ea[_0x4a61bf(0x93)])[_0x4a61bf(0xef)](',\x20'));await this[_0x4a61bf(0x114)](),this['logger']?.[_0x4a61bf(0xd0)](_0x4a61bf(0xea),{'query':_0x2bf6e0,'engine':engine,'agentId':_0x479d58});const _0x1781d8=await this[_0x4a61bf(0x126)]['newPage']();try{const _0x19ddec=''+_0x5b89a8[_0x4a61bf(0xf1)]+encodeURIComponent(_0x2bf6e0);await _0x1781d8[_0x4a61bf(0x112)](_0x19ddec,{'waitUntil':_0x4a61bf(0xa4),'timeout':this['DEFAULT_TIMEOUT']}),await _0x1781d8[_0x4a61bf(0x90)](_0x5b89a8['waitSelector'],{'timeout':this[_0x4a61bf(0xdd)]});const _0x306b02=await _0x1781d8[_0x4a61bf(0xe4)]((_0x695fad,_0xc8f0a7)=>{const _0x510375=_0x4a61bf,_0x2cee86=Array[_0x510375(0x101)](document[_0x510375(0x104)](_0x695fad));return _0x2cee86['slice'](0x0,_0xc8f0a7)['map'](_0x5e3266=>({'url':_0x5e3266['href'],'title':_0x5e3266['textContent'][_0x510375(0xe6)](),'description':_0x5e3266['closest'](_0x510375(0x91))?.['textContent']['trim']()||''}))[_0x510375(0x9d)](_0x52c007=>_0x52c007[_0x510375(0xf1)]&&_0x52c007['url'][_0x510375(0xc5)]('http'));},_0x5b89a8['resultsSelector'],maxResults);return this[_0x4a61bf(0x92)]?.[_0x4a61bf(0xd0)]('Search\x20completed',{'resultsCount':_0x306b02[_0x4a61bf(0xb0)],'agentId':_0x479d58}),{'success':!![],'query':_0x2bf6e0,'engine':engine,'resultsCount':_0x306b02[_0x4a61bf(0xb0)],'results':_0x306b02};}finally{await _0x1781d8[_0x4a61bf(0xbd)]();}}async[a0_0x34d1a6(0x100)](_0x15236e,_0x259b6d={}){const _0x615706=a0_0x34d1a6,{formats:formats=['title','text'],agentId:_0x4e8169}=_0x259b6d;await this[_0x615706(0x114)](),this[_0x615706(0x92)]?.[_0x615706(0xd0)]('Fetching\x20web\x20content',{'url':_0x15236e,'formats':formats,'agentId':_0x4e8169});const _0x1c847e=await this[_0x615706(0x126)][_0x615706(0xee)]();try{const _0x48cd1b=[];formats[_0x615706(0x10e)]('console')&&_0x1c847e['on']('console',_0x5753d0=>{const _0x3bae0a=_0x615706;_0x48cd1b[_0x3bae0a(0xd4)]({'type':_0x5753d0[_0x3bae0a(0xbe)](),'text':_0x5753d0['text']()});});await _0x1c847e[_0x615706(0x112)](_0x15236e,{'waitUntil':'networkidle2','timeout':this[_0x615706(0xdd)]});const _0x3db7e1={'url':_0x15236e};for(const _0x53364b of formats){switch(_0x53364b){case _0x615706(0xd8):_0x3db7e1['title']=await _0x1c847e['title']();break;case'text':_0x3db7e1[_0x615706(0xdc)]=await _0x1c847e[_0x615706(0xe4)](()=>document['body']['innerText']);break;case _0x615706(0xf5):_0x3db7e1[_0x615706(0xf5)]=await _0x1c847e[_0x615706(0xe4)](()=>{const _0x46bcc3=_0x615706;return Array['from'](document[_0x46bcc3(0x104)]('a[href]'))['map'](_0x3e1c77=>({'href':_0x3e1c77[_0x46bcc3(0x12a)],'text':_0x3e1c77['textContent']['trim']()}));});break;case'html':_0x3db7e1[_0x615706(0xfc)]=await _0x1c847e['content']();break;case'console':_0x3db7e1[_0x615706(0xf0)]=_0x48cd1b;break;}}return this['logger']?.['info'](_0x615706(0xbb),{'url':_0x15236e,'formats':formats,'agentId':_0x4e8169}),{'success':!![],..._0x3db7e1};}finally{await _0x1c847e[_0x615706(0xbd)]();}}async[a0_0x34d1a6(0xd3)](_0x35d02e,_0x29717e={}){const _0x25bcfb=a0_0x34d1a6,{headless:headless=!![],agentId:_0x2c89e1,context:_0x4360c5}=_0x29717e;await this[_0x25bcfb(0x114)](),this[_0x25bcfb(0x92)]?.['info']('Starting\x20interactive\x20session',{'actionsCount':_0x35d02e['length'],'headless':headless,'agentId':_0x2c89e1});const _0x4aa5d0=[];!this[_0x25bcfb(0x11f)][_0x25bcfb(0xb9)](_0x2c89e1)&&this['agentTabs']['set'](_0x2c89e1,new Map());const _0x5f4e71=this['agentTabs']['get'](_0x2c89e1);for(const _0x5d9588 of _0x35d02e){try{let _0xdc7722;switch(_0x5d9588['type']){case _0x25bcfb(0xb5):_0xdc7722=await this[_0x25bcfb(0xa1)](_0x2c89e1,_0x5d9588[_0x25bcfb(0x93)],_0x5d9588[_0x25bcfb(0xf1)],headless,_0x5d9588['nestedActions'],_0x4360c5);break;case'close-tab':_0xdc7722=await this['closeTab'](_0x2c89e1,_0x5d9588[_0x25bcfb(0x93)]);break;case'switch-tab':_0xdc7722=await this[_0x25bcfb(0xe3)](_0x2c89e1,_0x5d9588['name']);break;case'list-tabs':_0xdc7722=await this['listTabs'](_0x2c89e1);break;default:_0xdc7722={'success':![],'error':'Action\x20'+_0x5d9588[_0x25bcfb(0xbe)]+_0x25bcfb(0xaa)};}_0x4aa5d0[_0x25bcfb(0xd4)]({'action':_0x5d9588['type'],..._0xdc7722});}catch(_0x14f284){this[_0x25bcfb(0x92)]?.[_0x25bcfb(0x118)]('Action\x20failed',{'action':_0x5d9588['type'],'error':_0x14f284[_0x25bcfb(0x8a)],'agentId':_0x2c89e1}),_0x4aa5d0['push']({'action':_0x5d9588['type'],'success':![],'error':_0x14f284[_0x25bcfb(0x8a)]});}}return{'success':_0x4aa5d0[_0x25bcfb(0x115)](_0x5b8e9b=>_0x5b8e9b['success']!==![]),'actionsExecuted':_0x4aa5d0[_0x25bcfb(0xb0)],'results':_0x4aa5d0};}async['openTab'](_0x3369ed,_0x41cb11,_0x56fb0b,_0x2a1bf3,_0x2800b1=[],_0x45ffad={}){const _0x2b036f=a0_0x34d1a6;!this['agentTabs'][_0x2b036f(0xb9)](_0x3369ed)&&this['agentTabs']['set'](_0x3369ed,new Map());const _0x529693=this[_0x2b036f(0x11f)][_0x2b036f(0xa9)](_0x3369ed);if(_0x529693['has'](_0x41cb11))throw new Error(_0x2b036f(0x9f)+_0x41cb11+_0x2b036f(0x116)+_0x3369ed);this['logger']?.['info']('Opening\x20tab',{'agentId':_0x3369ed,'tabName':_0x41cb11,'url':_0x56fb0b,'headless':_0x2a1bf3});const _0x2d612a=await this['browser'][_0x2b036f(0xee)]();await _0x2d612a['setViewport']({'width':0x500,'height':0x2d0});const _0x4cf8e6=[];_0x2d612a['on'](_0x2b036f(0x109),_0x44f63f=>{const _0xc18d7=_0x2b036f;_0x4cf8e6['push']({'type':_0x44f63f['type'](),'text':_0x44f63f[_0xc18d7(0xdc)](),'timestamp':Date[_0xc18d7(0xbf)]()});});const _0x324999={'page':_0x2d612a,'url':_0x56fb0b,'lastActivity':Date['now'](),'headless':_0x2a1bf3,'consoleMessages':_0x4cf8e6,'name':_0x41cb11};_0x529693['set'](_0x41cb11,_0x324999);const _0x3d1b24=[];try{_0x56fb0b&&(await _0x2d612a['goto'](_0x56fb0b,{'waitUntil':_0x2b036f(0xa4),'timeout':this['DEFAULT_TIMEOUT']}),_0x324999['url']=_0x56fb0b,_0x324999['lastActivity']=Date[_0x2b036f(0xbf)]());for(const _0x786485 of _0x2800b1){const _0x4a3cc2=await this['executeTabAction'](_0x2d612a,_0x786485,_0x324999,_0x45ffad);_0x3d1b24[_0x2b036f(0xd4)]({'action':_0x786485['type'],..._0x4a3cc2}),_0x324999['lastActivity']=Date[_0x2b036f(0xbf)]();}return{'success':!![],'tabName':_0x41cb11,'url':_0x324999[_0x2b036f(0xf1)],'actionsExecuted':_0x3d1b24[_0x2b036f(0xb0)],'results':_0x3d1b24};}catch(_0x1600e9){this['logger']?.['error']('Failed\x20to\x20open\x20tab',{'agentId':_0x3369ed,'tabName':_0x41cb11,'error':_0x1600e9['message']}),await _0x2d612a['close'](),_0x529693[_0x2b036f(0xfd)](_0x41cb11);throw _0x1600e9;}}async['executeTabAction'](_0x39e4f0,_0x147889,_0x33dcd3,_0x3b7320){const _0x2512ca=a0_0x34d1a6;switch(_0x147889['type']){case _0x2512ca(0xf7):await _0x39e4f0[_0x2512ca(0x112)](_0x147889['value']||_0x147889[_0x2512ca(0xf1)],{'waitUntil':'networkidle2','timeout':this[_0x2512ca(0xdd)]}),_0x33dcd3['url']=_0x39e4f0[_0x2512ca(0xf1)]();return{'success':!![],'url':_0x33dcd3['url']};case _0x2512ca(0xb8):await _0x39e4f0[_0x2512ca(0xb8)](_0x147889[_0x2512ca(0x94)],{'button':_0x147889['button']||'left'});return{'success':!![],'selector':_0x147889['selector']};case _0x2512ca(0xbe):await _0x39e4f0[_0x2512ca(0xbe)](_0x147889['selector'],_0x147889[_0x2512ca(0xdc)]||_0x147889[_0x2512ca(0x8e)]);return{'success':!![],'selector':_0x147889[_0x2512ca(0x94)],'text':_0x147889['text']};case _0x2512ca(0x102):await _0x39e4f0['keyboard']['press'](_0x147889['key']||_0x147889['value']);return{'success':!![],'key':_0x147889['key']};case _0x2512ca(0x111):const _0x3d9792=_0x147889['timeout']?parseInt(_0x147889[_0x2512ca(0xd2)],0xa):this['DEFAULT_TIMEOUT'];await _0x39e4f0['waitForSelector'](_0x147889['selector'],{'timeout':_0x3d9792});return{'success':!![],'selector':_0x147889['selector']};case _0x2512ca(0x124):return await this['takeScreenshot'](_0x39e4f0,_0x147889,_0x3b7320);case _0x2512ca(0xa3):return await this['analyzeScreenshot'](_0x39e4f0,_0x147889[_0x2512ca(0x8e)],_0x3b7320);case'extract-text':const _0x389ed6=await _0x39e4f0[_0x2512ca(0xe4)](_0x1315a4=>{const _0x3c5330=document['querySelector'](_0x1315a4);return _0x3c5330?_0x3c5330['innerText']:null;},_0x147889['selector']);return{'success':!![],'selector':_0x147889['selector'],'text':_0x389ed6};case'extract-links':const _0x468ebf=await _0x39e4f0[_0x2512ca(0xe4)](_0x392470=>{const _0x1ca31c=_0x2512ca,_0x2aa04c=document[_0x1ca31c(0x104)](_0x392470);return Array[_0x1ca31c(0x101)](_0x2aa04c)[_0x1ca31c(0xb4)](_0x1371fb=>({'href':_0x1371fb['href'],'text':_0x1371fb[_0x1ca31c(0x11d)][_0x1ca31c(0xe6)]()}));},_0x147889['selector']);return{'success':!![],'selector':_0x147889[_0x2512ca(0x94)],'links':_0x468ebf};case'get-source':const _0x3c7951=await _0x39e4f0[_0x2512ca(0x121)]();return{'success':!![],'html':_0x3c7951};case'get-console':return{'success':!![],'consoleMessages':[..._0x33dcd3[_0x2512ca(0xf0)]]};case _0x2512ca(0x119):await _0x39e4f0[_0x2512ca(0xe4)](_0x1f180b=>{const _0x1337e0=_0x2512ca;_0x1f180b?document['querySelector'](_0x1f180b)?.['scrollIntoView']():window['scrollTo'](0x0,document[_0x1337e0(0x9e)]['scrollHeight']);},_0x147889['selector']);return{'success':!![]};case _0x2512ca(0x11a):await _0x39e4f0['hover'](_0x147889['selector']);return{'success':!![],'selector':_0x147889[_0x2512ca(0x94)]};case'mouse-move':await _0x39e4f0[_0x2512ca(0x11a)](_0x147889['selector']);return{'success':!![],'selector':_0x147889[_0x2512ca(0x94)]};default:throw new Error('Unknown\x20action\x20type:\x20'+_0x147889['type']);}}async['takeScreenshot'](_0x1547b5,_0x37bc42,_0x385094){const _0x12a01d=a0_0x34d1a6,_0x254a29=_0x37bc42[_0x12a01d(0xf2)]||_0x12a01d(0xf8),_0x4209c6=_0x37bc42['path'];if(_0x254a29===_0x12a01d(0xec)){const _0x1e0657=await _0x1547b5[_0x12a01d(0x124)]({'encoding':_0x12a01d(0xec)});return{'success':!![],'format':_0x12a01d(0xec),'screenshot':_0x1e0657};}let _0x1e94e2;if(_0x4209c6){const _0x3a4973=_0x385094['directoryAccess']?.[_0x12a01d(0xcd)]||_0x385094[_0x12a01d(0xfa)]||process[_0x12a01d(0x125)]();_0x1e94e2=a0_0x1176fa['isAbsolute'](_0x4209c6)?_0x4209c6:a0_0x1176fa[_0x12a01d(0xef)](_0x3a4973,_0x4209c6);}else{const _0x463c54='screenshot-'+Date['now']()+'.png';_0x1e94e2=a0_0x1176fa[_0x12a01d(0xef)](this[_0x12a01d(0xe1)],_0x463c54);}return await _0x1547b5[_0x12a01d(0x124)]({'path':_0x1e94e2}),{'success':!![],'format':_0x12a01d(0xf8),'path':_0x1e94e2};}async[a0_0x34d1a6(0xa2)](_0x5af616,_0x365cdd,_0xed4b36){const _0x643f6b=a0_0x34d1a6,_0x3a7a12=await _0x5af616['screenshot']({'encoding':'base64'}),_0x5dae4a=_0xed4b36[_0x643f6b(0xd1)];if(!_0x5dae4a)throw new Error('AI\x20service\x20not\x20available\x20for\x20screenshot\x20analysis');this['logger']?.[_0x643f6b(0xd0)](_0x643f6b(0xe2),{'question':_0x365cdd['substring'](0x0,0x64),'agentId':_0xed4b36[_0x643f6b(0x8f)]});try{const _0x5e8e25='o3',_0x14f17c=await _0x5dae4a[_0x643f6b(0xcc)](_0x5e8e25,_0x365cdd,{'agentId':_0xed4b36[_0x643f6b(0x8f)],'images':[_0x643f6b(0xa0)+_0x3a7a12],'apiKey':_0xed4b36[_0x643f6b(0xc9)],'customApiKeys':_0xed4b36[_0x643f6b(0xce)],'platformProvided':_0xed4b36[_0x643f6b(0xb1)]});return{'success':!![],'question':_0x365cdd,'analysis':_0x14f17c['content'],'model':_0x14f17c['model']||_0x5e8e25};}catch(_0x21d193){this[_0x643f6b(0x92)]?.[_0x643f6b(0x118)]('Screenshot\x20analysis\x20failed',{'error':_0x21d193['message'],'agentId':_0xed4b36['agentId']});throw new Error(_0x643f6b(0xab)+_0x21d193[_0x643f6b(0x8a)]);}}async[a0_0x34d1a6(0xc0)](_0x27e203,_0x6a2b2d){const _0x157b1f=a0_0x34d1a6,_0x4b6a49=this[_0x157b1f(0x11f)][_0x157b1f(0xa9)](_0x27e203);if(!_0x4b6a49||!_0x4b6a49['has'](_0x6a2b2d))throw new Error(_0x157b1f(0x9f)+_0x6a2b2d+_0x157b1f(0x10d)+_0x27e203);const _0x5b2212=_0x4b6a49[_0x157b1f(0xa9)](_0x6a2b2d);return this['logger']?.['info'](_0x157b1f(0xaf),{'agentId':_0x27e203,'tabName':_0x6a2b2d}),await _0x5b2212[_0x157b1f(0xb3)]['close'](),_0x4b6a49[_0x157b1f(0xfd)](_0x6a2b2d),{'success':!![],'tabName':_0x6a2b2d,'message':_0x157b1f(0x9f)+_0x6a2b2d+'\x27\x20closed'};}async[a0_0x34d1a6(0xe3)](_0x29969f,_0x5d7963){const _0x41c93f=a0_0x34d1a6,_0x5e52bc=this['agentTabs']['get'](_0x29969f);if(!_0x5e52bc||!_0x5e52bc[_0x41c93f(0xb9)](_0x5d7963))throw new Error(_0x41c93f(0x9f)+_0x5d7963+'\x27\x20not\x20found\x20for\x20agent\x20'+_0x29969f);const _0xc68274=_0x5e52bc['get'](_0x5d7963);return _0xc68274[_0x41c93f(0x10a)]=Date[_0x41c93f(0xbf)](),{'success':!![],'tabName':_0x5d7963,'url':_0xc68274['url'],'message':'Switched\x20to\x20tab\x20\x27'+_0x5d7963+'\x27'};}async[a0_0x34d1a6(0x11e)](_0x762dab){const _0x263a8b=a0_0x34d1a6,_0x3f066e=this[_0x263a8b(0x11f)]['get'](_0x762dab);if(!_0x3f066e||_0x3f066e[_0x263a8b(0xac)]===0x0)return{'success':!![],'tabCount':0x0,'tabs':[],'message':_0x263a8b(0x127)};const _0x8b26b7=[];for(const [_0x2b4929,_0x466b61]of _0x3f066e[_0x263a8b(0x122)]()){_0x8b26b7[_0x263a8b(0xd4)]({'name':_0x2b4929,'url':_0x466b61[_0x263a8b(0xf1)],'idleTime':Date['now']()-_0x466b61['lastActivity'],'headless':_0x466b61[_0x263a8b(0xde)]});}return{'success':!![],'tabCount':_0x8b26b7[_0x263a8b(0xb0)],'tabs':_0x8b26b7};}['startCleanupTimer'](){const _0x47576c=a0_0x34d1a6;this['cleanupTimer']&&clearInterval(this['cleanupTimer']),this['cleanupTimer']=setInterval(()=>{this['cleanupIdleTabs']();},this[_0x47576c(0x120)]);}async[a0_0x34d1a6(0xed)](){const _0x5d2449=a0_0x34d1a6,_0x34c0d2=Date['now'](),_0x1f7d53=[];for(const [_0x4bb900,_0x417d38]of this[_0x5d2449(0x11f)]['entries']()){for(const [_0xfd17cf,_0x5d5493]of _0x417d38['entries']()){const _0x333860=_0x34c0d2-_0x5d5493['lastActivity'];_0x333860>this[_0x5d2449(0xc7)]&&_0x1f7d53['push']({'agentId':_0x4bb900,'tabName':_0xfd17cf,'tabInfo':_0x5d5493});}}if(_0x1f7d53['length']>0x0){this[_0x5d2449(0x92)]?.[_0x5d2449(0xd0)]('Cleaning\x20up\x20idle\x20tabs',{'count':_0x1f7d53['length']});for(const {agentId:_0x11dfc5,tabName:_0x3356d5,tabInfo:_0xfbedd4}of _0x1f7d53){try{await _0xfbedd4['page'][_0x5d2449(0xbd)](),this[_0x5d2449(0x11f)]['get'](_0x11dfc5)[_0x5d2449(0xfd)](_0x3356d5),this[_0x5d2449(0x92)]?.[_0x5d2449(0xd6)]('Closed\x20idle\x20tab',{'agentId':_0x11dfc5,'tabName':_0x3356d5});}catch(_0x65d489){this['logger']?.[_0x5d2449(0x118)]('Failed\x20to\x20close\x20idle\x20tab',{'agentId':_0x11dfc5,'tabName':_0x3356d5,'error':_0x65d489[_0x5d2449(0x8a)]});}}}}async['cleanupAgent'](_0x159a39){const _0x4c958d=a0_0x34d1a6,_0x5260c8=this['agentTabs']['get'](_0x159a39);if(!_0x5260c8)return{'success':!![],'agentId':_0x159a39,'closedTabs':0x0,'message':_0x4c958d(0x117)};this['logger']?.['info'](_0x4c958d(0xdf),{'agentId':_0x159a39,'tabCount':_0x5260c8[_0x4c958d(0xac)]});let _0x27fb53=0x0;for(const [_0xdf9c3,_0x2e059e]of _0x5260c8['entries']()){try{await _0x2e059e[_0x4c958d(0xb3)][_0x4c958d(0xbd)](),_0x27fb53++;}catch(_0x406acc){this['logger']?.['error'](_0x4c958d(0xcb),{'agentId':_0x159a39,'tabName':_0xdf9c3,'error':_0x406acc['message']});}}return this[_0x4c958d(0x11f)]['delete'](_0x159a39),{'success':!![],'agentId':_0x159a39,'closedTabs':_0x27fb53,'message':'Closed\x20'+_0x27fb53+_0x4c958d(0xae)+_0x159a39};}async[a0_0x34d1a6(0xba)](){const _0x2290b5=a0_0x34d1a6;try{await a0_0x32ec2b[_0x2290b5(0x8b)](this[_0x2290b5(0xe1)],{'recursive':!![]});}catch(_0x1fefeb){this[_0x2290b5(0x92)]?.['warn'](_0x2290b5(0xad),{'path':this['TEMP_DIR'],'error':_0x1fefeb[_0x2290b5(0x8a)]});}}async[a0_0x34d1a6(0x10c)](){const _0x1ce182=a0_0x34d1a6;this['cleanupTimer']&&(clearInterval(this[_0x1ce182(0xd9)]),this[_0x1ce182(0xd9)]=null);for(const [_0x3704ac]of this[_0x1ce182(0x11f)][_0x1ce182(0x122)]()){await this[_0x1ce182(0xa5)](_0x3704ac);}this[_0x1ce182(0x126)]&&(await this[_0x1ce182(0x126)]['close'](),this['browser']=null);try{await a0_0x32ec2b['rm'](this['TEMP_DIR'],{'recursive':!![],'force':!![]});}catch(_0x4f9298){this[_0x1ce182(0x92)]?.['warn']('Failed\x20to\x20clean\x20temp\x20directory',{'path':this['TEMP_DIR'],'error':_0x4f9298[_0x1ce182(0x8a)]});}}}function a0_0x3a7b(_0x3725bc,_0x2101b4){_0x3725bc=_0x3725bc-0x8a;const _0x5c7287=a0_0x5c72();let _0x3a7b15=_0x5c7287[_0x3725bc];if(a0_0x3a7b['bXTWTW']===undefined){var _0x50783c=function(_0x410221){const _0x2e0966='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x501582='',_0x5c744d='';for(let _0x1176fa=0x0,_0x32ec2b,_0x5c5ca1,_0x3b053c=0x0;_0x5c5ca1=_0x410221['charAt'](_0x3b053c++);~_0x5c5ca1&&(_0x32ec2b=_0x1176fa%0x4?_0x32ec2b*0x40+_0x5c5ca1:_0x5c5ca1,_0x1176fa++%0x4)?_0x501582+=String['fromCharCode'](0xff&_0x32ec2b>>(-0x2*_0x1176fa&0x6)):0x0){_0x5c5ca1=_0x2e0966['indexOf'](_0x5c5ca1);}for(let _0x626b56=0x0,_0x571407=_0x501582['length'];_0x626b56<_0x571407;_0x626b56++){_0x5c744d+='%'+('00'+_0x501582['charCodeAt'](_0x626b56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c744d);};a0_0x3a7b['tgsEFi']=_0x50783c,a0_0x3a7b['fVLHCC']={},a0_0x3a7b['bXTWTW']=!![];}const _0x341674=_0x5c7287[0x0],_0x5b4862=_0x3725bc+_0x341674,_0x3858e1=a0_0x3a7b['fVLHCC'][_0x5b4862];return!_0x3858e1?(_0x3a7b15=a0_0x3a7b['tgsEFi'](_0x3a7b15),a0_0x3a7b['fVLHCC'][_0x5b4862]=_0x3a7b15):_0x3a7b15=_0x3858e1,_0x3a7b15;}export default WebTool;
1
+ const a0_0x504980=a0_0x304a;function a0_0x304a(_0x4f84f6,_0x3a1733){_0x4f84f6=_0x4f84f6-0x70;const _0xea54d9=a0_0xea54();let _0x304ade=_0xea54d9[_0x4f84f6];if(a0_0x304a['tJuBxl']===undefined){var _0x2e0405=function(_0x19d0fb){const _0xefa9a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13e8ec='',_0x4bbba3='';for(let _0x165368=0x0,_0x2dd6f8,_0x3d5b18,_0x5c8c2f=0x0;_0x3d5b18=_0x19d0fb['charAt'](_0x5c8c2f++);~_0x3d5b18&&(_0x2dd6f8=_0x165368%0x4?_0x2dd6f8*0x40+_0x3d5b18:_0x3d5b18,_0x165368++%0x4)?_0x13e8ec+=String['fromCharCode'](0xff&_0x2dd6f8>>(-0x2*_0x165368&0x6)):0x0){_0x3d5b18=_0xefa9a6['indexOf'](_0x3d5b18);}for(let _0x599c15=0x0,_0x4e3eaa=_0x13e8ec['length'];_0x599c15<_0x4e3eaa;_0x599c15++){_0x4bbba3+='%'+('00'+_0x13e8ec['charCodeAt'](_0x599c15)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bbba3);};a0_0x304a['cjgstO']=_0x2e0405,a0_0x304a['OhAeyi']={},a0_0x304a['tJuBxl']=!![];}const _0x4eb889=_0xea54d9[0x0],_0x58fe6b=_0x4f84f6+_0x4eb889,_0xf8752f=a0_0x304a['OhAeyi'][_0x58fe6b];return!_0xf8752f?(_0x304ade=a0_0x304a['cjgstO'](_0x304ade),a0_0x304a['OhAeyi'][_0x58fe6b]=_0x304ade):_0x304ade=_0xf8752f,_0x304ade;}(function(_0x57635b,_0x1b80c0){const _0xaafc65=a0_0x304a,_0x36b188=_0x57635b();while(!![]){try{const _0x195dce=parseInt(_0xaafc65(0xfd))/0x1+parseInt(_0xaafc65(0xeb))/0x2+parseInt(_0xaafc65(0xf3))/0x3+-parseInt(_0xaafc65(0xa3))/0x4*(parseInt(_0xaafc65(0xc5))/0x5)+parseInt(_0xaafc65(0x11a))/0x6*(-parseInt(_0xaafc65(0xd7))/0x7)+parseInt(_0xaafc65(0x80))/0x8*(-parseInt(_0xaafc65(0xb3))/0x9)+parseInt(_0xaafc65(0x83))/0xa*(parseInt(_0xaafc65(0x84))/0xb);if(_0x195dce===_0x1b80c0)break;else _0x36b188['push'](_0x36b188['shift']());}catch(_0x175d22){_0x36b188['push'](_0x36b188['shift']());}}}(a0_0xea54,0x6e5eb));import{BaseTool}from'./baseTool.js';import a0_0x13e8ec from'../utilities/tagParser.js';import a0_0x4bbba3 from'puppeteer';import a0_0x165368 from'path';import a0_0x2dd6f8 from'fs/promises';import a0_0x3d5b18 from'os';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class WebTool extends BaseTool{constructor(_0x5c8c2f={},_0x599c15=null){const _0x20c9e6=a0_0x304a;super(_0x5c8c2f,_0x599c15),this[_0x20c9e6(0xbb)]=![],this['isAsync']=!![],this['browser']=null,this['browserInitializing']=![],this[_0x20c9e6(0x88)]=new Map(),this[_0x20c9e6(0x106)]=[{'name':'google','url':'https://www.google.com/search?q=','searchSelector':'input[name=\x22q\x22]','submitSelector':'input[type=\x22submit\x22],\x20button[type=\x22submit\x22]','resultsSelector':'#search\x20.g\x20a,\x20#search\x20a[href]','waitSelector':'#search'},{'name':_0x20c9e6(0x91),'url':'https://www.bing.com/search?q=','searchSelector':_0x20c9e6(0xc0),'submitSelector':_0x20c9e6(0xd4),'resultsSelector':'.b_algo\x20a','waitSelector':'#b_results'},{'name':_0x20c9e6(0x104),'url':'https://duckduckgo.com/?q=','searchSelector':'input[name=\x22q\x22]','submitSelector':_0x20c9e6(0xfc),'resultsSelector':'.result__a,\x20a[data-testid=\x22result-title-a\x22]','waitSelector':'#links,\x20[data-testid=\x22mainline\x22]'}],this[_0x20c9e6(0x111)]=_0x5c8c2f[_0x20c9e6(0x103)]||0x3c*0x3c*0x3e8,this['CLEANUP_INTERVAL']=_0x5c8c2f['cleanupInterval']||0x5*0x3c*0x3e8,this[_0x20c9e6(0xe3)]=_0x5c8c2f[_0x20c9e6(0xf5)]||0xea60,this[_0x20c9e6(0xf6)]=_0x5c8c2f[_0x20c9e6(0xe9)]||a0_0x165368[_0x20c9e6(0x93)](a0_0x3d5b18['tmpdir'](),'webtool-screenshots'),this[_0x20c9e6(0x122)]=null,this['startCleanupTimer'](),this[_0x20c9e6(0x7c)]();}[a0_0x504980(0x77)](){return'\x0aWeb\x20Tool:\x20Browse,\x20search,\x20and\x20automate\x20web\x20interactions\x20using\x20Puppeteer.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22search|fetch|interactive\x22,\x0a\x20\x20\x22parameters\x22:\x20{...}\x0a}\x0a```\x0a\x0aOPERATIONS:\x0a\x0a1.\x20SEARCH:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22search\x22,\x0a\x20\x20\x22query\x22:\x20\x22search\x20terms\x22,\x0a\x20\x20\x22engine\x22:\x20\x22google\x22,\x0a\x20\x20\x22maxResults\x22:\x2010\x0a}\x0a```\x0a\x0a2.\x20FETCH:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22fetch\x22,\x0a\x20\x20\x22url\x22:\x20\x22https://example.com\x22,\x0a\x20\x20\x22formats\x22:\x20[\x22title\x22,\x20\x22text\x22,\x20\x22links\x22]\x0a}\x0a```\x0a\x0a3.\x20INTERACTIVE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22interactive\x22,\x0a\x20\x20\x22headless\x22:\x20true,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22open-tab\x22,\x0a\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22main\x22,\x0a\x20\x20\x20\x20\x20\x20\x22url\x22:\x20\x22https://example.com\x22,\x0a\x20\x20\x20\x20\x20\x20\x22nestedActions\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22wait-for\x22,\x20\x22selector\x22:\x20\x22.content\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22click\x22,\x20\x22selector\x22:\x20\x22button.submit\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22screenshot\x22,\x20\x22format\x22:\x20\x22file\x22,\x20\x22path\x22:\x20\x22result.png\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22extract-text\x22,\x20\x22selector\x22:\x20\x22#content\x22}\x0a\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22close-tab\x22,\x20\x22name\x22:\x20\x22main\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20open-tab,\x20close-tab,\x20switch-tab,\x20list-tabs\x0a-\x20navigate,\x20click,\x20type,\x20press\x0a-\x20wait-for,\x20screenshot,\x20analyze-screenshot\x0a-\x20extract-text,\x20extract-links,\x20get-source\x0a-\x20scroll,\x20hover\x0a\x0aEXAMPLES:\x0a\x0aSearch\x20Google:\x0a```json\x0a{\x22toolId\x22:\x20\x22web\x22,\x20\x22operation\x22:\x20\x22search\x22,\x20\x22query\x22:\x20\x22puppeteer\x20tutorial\x22,\x20\x22maxResults\x22:\x205}\x0a```\x0a\x0aFetch\x20page\x20content:\x0a```json\x0a{\x22toolId\x22:\x20\x22web\x22,\x20\x22operation\x22:\x20\x22fetch\x22,\x20\x22url\x22:\x20\x22https://example.com\x22,\x20\x22formats\x22:\x20[\x22text\x22,\x20\x22links\x22]}\x0a```\x0a\x0aAutomate\x20workflow:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22web\x22,\x0a\x20\x20\x22operation\x22:\x20\x22interactive\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22open-tab\x22,\x0a\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22search\x22,\x0a\x20\x20\x20\x20\x20\x20\x22url\x22:\x20\x22https://github.com/trending\x22,\x0a\x20\x20\x20\x20\x20\x20\x22nestedActions\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22wait-for\x22,\x20\x22selector\x22:\x20\x22.Box-row\x22},\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x22type\x22:\x20\x22extract-links\x22,\x20\x22selector\x22:\x20\x22.Box-row\x20a\x22}\x0a\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSECURITY:\x0a-\x20Browser\x20isolated\x20per\x20agent\x0a-\x20Tabs\x20auto-close\x20after\x201\x20hour\x0a\x20\x20\x20\x20';}[a0_0x504980(0x117)](_0x4e3eaa){const _0x53e7b2=a0_0x504980;try{if(_0x4e3eaa['trim']()[_0x53e7b2(0xae)]('{'))return JSON[_0x53e7b2(0x72)](_0x4e3eaa);const _0x33aa13={},_0x30e45f=a0_0x13e8ec[_0x53e7b2(0xf1)](_0x4e3eaa,_0x53e7b2(0x8b));_0x30e45f['length']>0x0&&(_0x33aa13['operation']=_0x30e45f[0x0]['trim']());switch(_0x33aa13['operation']){case _0x53e7b2(0x102):_0x33aa13[_0x53e7b2(0xc3)]=a0_0x13e8ec[_0x53e7b2(0xf1)](_0x4e3eaa,_0x53e7b2(0xc3))[0x0]?.[_0x53e7b2(0xa2)](),_0x33aa13[_0x53e7b2(0x89)]=a0_0x13e8ec[_0x53e7b2(0xf1)](_0x4e3eaa,_0x53e7b2(0x89))[0x0]?.[_0x53e7b2(0xa2)]()||_0x53e7b2(0xba);const _0x16c8b5=a0_0x13e8ec['extractContent'](_0x4e3eaa,_0x53e7b2(0x108))[0x0]?.[_0x53e7b2(0xa2)]();_0x33aa13['maxResults']=_0x16c8b5?parseInt(_0x16c8b5,0xa):0xa;break;case _0x53e7b2(0xb1):_0x33aa13['url']=a0_0x13e8ec[_0x53e7b2(0xf1)](_0x4e3eaa,_0x53e7b2(0xee))[0x0]?.['trim']();const _0x507e92=a0_0x13e8ec['extractContent'](_0x4e3eaa,_0x53e7b2(0x107))[0x0]?.[_0x53e7b2(0xa2)]();_0x33aa13[_0x53e7b2(0x85)]=_0x507e92?_0x507e92['split'](',')['map'](_0x4f83fe=>_0x4f83fe[_0x53e7b2(0xa2)]()):['title',_0x53e7b2(0x94)];break;case'interactive':const _0x26c3d8=a0_0x13e8ec['extractContent'](_0x4e3eaa,_0x53e7b2(0x98))[0x0]?.[_0x53e7b2(0xa2)]();_0x33aa13['headless']=_0x26c3d8!==_0x53e7b2(0x8a);const _0x338016=a0_0x13e8ec[_0x53e7b2(0xf1)](_0x4e3eaa,_0x53e7b2(0xfe))[0x0];_0x338016&&(_0x33aa13['actions']=this[_0x53e7b2(0x95)](_0x338016));break;}return _0x33aa13['rawContent']=_0x4e3eaa['trim'](),_0x33aa13;}catch(_0x3712de){throw new Error(_0x53e7b2(0x97)+_0x3712de['message']);}}[a0_0x504980(0x95)](_0x1cac77){const _0x4501d4=a0_0x504980,_0x5ba370=[],_0x1337f8=/<open-tab[^>]*name="([^"]+)"[^>]*>([\s\S]*?)<\/open-tab>/g;let _0xc5243b;while((_0xc5243b=_0x1337f8['exec'](_0x1cac77))!==null){const [,_0x47713f,_0x47bee8]=_0xc5243b,_0x6d31f8=a0_0x13e8ec['extractContent'](_0x47bee8,_0x4501d4(0x9d))[0x0]?.['trim']();_0x5ba370[_0x4501d4(0xf2)]({'type':'open-tab','name':_0x47713f,'url':_0x6d31f8,'nestedActions':this[_0x4501d4(0x7e)](_0x47bee8)});}const _0x4be78b=['close-tab','switch-tab',_0x4501d4(0xcb),_0x4501d4(0x9d),'click','type',_0x4501d4(0xe8),_0x4501d4(0x90),_0x4501d4(0x109),'analyze-screenshot','extract-text','extract-links','get-source',_0x4501d4(0xde),_0x4501d4(0xa6),_0x4501d4(0x82),'mouse-move'];for(const _0xa81281 of _0x4be78b){const _0x22d461=new RegExp('<'+_0xa81281+'([^>]*)>([^<]*)</'+_0xa81281+'>','g');let _0x566b09;while((_0x566b09=_0x22d461['exec'](_0x1cac77))!==null){const [,_0x59e515,_0xc3caed]=_0x566b09,_0x4fa25d={'type':_0xa81281},_0x21bc3d=/(\w+(?:-\w+)*)="([^"]*)"/g;let _0x759322;while((_0x759322=_0x21bc3d[_0x4501d4(0xf4)](_0x59e515))!==null){_0x4fa25d[_0x759322[0x1]]=_0x759322[0x2];}_0xc3caed&&_0xc3caed[_0x4501d4(0xa2)]()&&(_0x4fa25d['value']=_0xc3caed[_0x4501d4(0xa2)]()),_0x5ba370[_0x4501d4(0xf2)](_0x4fa25d);}}return _0x5ba370;}['parseNestedActions'](_0x549ec9){const _0x1f0ec7=a0_0x504980,_0x72f0bf=[],_0x56b938=[_0x1f0ec7(0x9d),_0x1f0ec7(0xc2),'type','press',_0x1f0ec7(0x90),_0x1f0ec7(0x109),'analyze-screenshot',_0x1f0ec7(0xce),'extract-links','get-source','get-console','scroll','hover','mouse-move'];for(const _0x3345f3 of _0x56b938){const _0x4ebf7e=new RegExp('<'+_0x3345f3+_0x1f0ec7(0xd9)+_0x3345f3+'>|<'+_0x3345f3+_0x1f0ec7(0x11f),'g');let _0x4768db;while((_0x4768db=_0x4ebf7e[_0x1f0ec7(0xf4)](_0x549ec9))!==null){const [,_0x4b3066,_0x2308bd,_0x5309c9]=_0x4768db,_0x564525=_0x4b3066||_0x5309c9||'',_0x58c29b={'type':_0x3345f3},_0x36e0c6=/(\w+(?:-\w+)*)="([^"]*)"/g;let _0x55e9fe;while((_0x55e9fe=_0x36e0c6[_0x1f0ec7(0xf4)](_0x564525))!==null){_0x58c29b[_0x55e9fe[0x1]]=_0x55e9fe[0x2];}_0x2308bd&&_0x2308bd['trim']()&&(_0x58c29b[_0x1f0ec7(0xa4)]=_0x2308bd[_0x1f0ec7(0xa2)]()),_0x72f0bf['push'](_0x58c29b);}}return _0x72f0bf;}[a0_0x504980(0x79)](){const _0x5341d3=a0_0x504980;return[_0x5341d3(0x8b)];}['customValidateParameters'](_0x283ac2){const _0x46d698=a0_0x504980,_0x2877ac=[];if(!['search','fetch',_0x46d698(0xff)]['includes'](_0x283ac2[_0x46d698(0x8b)]))return _0x2877ac['push'](_0x46d698(0x8f)),{'valid':![],'errors':_0x2877ac};switch(_0x283ac2['operation']){case _0x46d698(0x102):!_0x283ac2['query']&&_0x2877ac['push']('query\x20is\x20required\x20for\x20search\x20operation');break;case'fetch':!_0x283ac2[_0x46d698(0xee)]&&_0x2877ac[_0x46d698(0xf2)](_0x46d698(0xc4));break;case _0x46d698(0xff):(!_0x283ac2['actions']||!Array[_0x46d698(0xc9)](_0x283ac2['actions'])||_0x283ac2['actions']['length']===0x0)&&_0x2877ac[_0x46d698(0xf2)]('actions\x20array\x20is\x20required\x20for\x20interactive\x20operation');break;}return{'valid':_0x2877ac[_0x46d698(0x75)]===0x0,'errors':_0x2877ac};}async[a0_0x504980(0xb6)](_0x3463c7,_0x97620f){const _0x5ee666=a0_0x504980,{operation:_0x45a26f}=_0x3463c7,{agentId:_0x2eaa06}=_0x97620f;try{await this[_0x5ee666(0xb2)]();let _0x4637bc;switch(_0x45a26f){case'search':_0x4637bc=await this['search'](_0x3463c7[_0x5ee666(0xc3)],{'engine':_0x3463c7['engine']||'google','maxResults':_0x3463c7[_0x5ee666(0xe1)]||0xa,'agentId':_0x2eaa06});break;case _0x5ee666(0xb1):_0x4637bc=await this[_0x5ee666(0xb1)](_0x3463c7['url'],{'formats':_0x3463c7[_0x5ee666(0x85)]||[_0x5ee666(0xd6),'text'],'agentId':_0x2eaa06});break;case'interactive':_0x4637bc=await this['interactive'](_0x3463c7['actions'],{'headless':_0x3463c7[_0x5ee666(0x98)]!==![],'agentId':_0x2eaa06,'context':_0x97620f});break;default:throw new Error('Unknown\x20operation:\x20'+_0x45a26f);}return{'success':!![],'operation':_0x45a26f,'result':_0x4637bc,'toolUsed':'web'};}catch(_0xeb2a34){return this[_0x5ee666(0x119)]?.['error'](_0x5ee666(0x11e),{'operation':_0x45a26f,'error':_0xeb2a34[_0x5ee666(0x86)],'agentId':_0x2eaa06}),{'success':![],'operation':_0x45a26f,'error':_0xeb2a34[_0x5ee666(0x86)],'toolUsed':_0x5ee666(0xcd)};}}async['ensureBrowser'](){const _0x3be0a5=a0_0x504980;if(this['browser']&&this[_0x3be0a5(0xd8)][_0x3be0a5(0x7b)]())return;if(this[_0x3be0a5(0x10c)]){while(this['browserInitializing']){await new Promise(_0x27ebf5=>setTimeout(_0x27ebf5,0x64));}return;}this['browserInitializing']=!![];try{this[_0x3be0a5(0x119)]?.['info'](_0x3be0a5(0xdd)),this['browser']=await a0_0x4bbba3['launch']({'headless':_0x3be0a5(0x8c),'args':[_0x3be0a5(0x76),'--disable-setuid-sandbox','--disable-dev-shm-usage','--disable-accelerated-2d-canvas','--disable-gpu',_0x3be0a5(0x120),'--user-agent=Mozilla/5.0\x20(Windows\x20NT\x2010.0;\x20Win64;\x20x64)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Chrome/120.0.0.0\x20Safari/537.36']}),this['logger']?.['info'](_0x3be0a5(0xbd));}catch(_0x340ce6){this[_0x3be0a5(0x119)]?.[_0x3be0a5(0x9c)](_0x3be0a5(0xd0),{'error':_0x340ce6['message']});throw new Error('Browser\x20initialization\x20failed:\x20'+_0x340ce6[_0x3be0a5(0x86)]);}finally{this['browserInitializing']=![];}}async['search'](_0x3ab45d,_0x538ced={}){const _0x39230f=a0_0x504980,{engine:engine='google',maxResults:maxResults=0xa,agentId:_0x1b7379}=_0x538ced;if(!_0x3ab45d||typeof _0x3ab45d!==_0x39230f(0x110)||_0x3ab45d[_0x39230f(0xa2)]()[_0x39230f(0x75)]===0x0)throw new Error('Search\x20query\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20string');const _0xef1094=this[_0x39230f(0x106)][_0x39230f(0x71)](_0x2b48b2=>_0x2b48b2[_0x39230f(0x70)]===engine);if(!_0xef1094)throw new Error(_0x39230f(0x10d)+engine+_0x39230f(0xab)+this[_0x39230f(0x106)]['map'](_0x1ffe90=>_0x1ffe90['name'])[_0x39230f(0x93)](',\x20'));await this[_0x39230f(0xb2)](),this[_0x39230f(0x119)]?.[_0x39230f(0xa9)]('Performing\x20web\x20search',{'query':_0x3ab45d,'engine':engine,'agentId':_0x1b7379});const _0x539c07=await this['browser']['newPage']();try{const _0x26342a=''+_0xef1094['url']+encodeURIComponent(_0x3ab45d);await _0x539c07[_0x39230f(0xea)](_0x26342a,{'waitUntil':'networkidle2','timeout':this['DEFAULT_TIMEOUT']}),await _0x539c07[_0x39230f(0xb8)](_0xef1094['waitSelector'],{'timeout':this[_0x39230f(0xe3)]});const _0x10fbf7=await _0x539c07['evaluate']((_0x5714c1,_0x2cd14a)=>{const _0x268594=_0x39230f,_0x26a238=Array['from'](document['querySelectorAll'](_0x5714c1));return _0x26a238['slice'](0x0,_0x2cd14a)[_0x268594(0x112)](_0x54500f=>({'url':_0x54500f[_0x268594(0xac)],'title':_0x54500f['textContent'][_0x268594(0xa2)](),'description':_0x54500f['closest']('.g,\x20.b_algo,\x20.result')?.[_0x268594(0x113)]['trim']()||''}))[_0x268594(0xa0)](_0x3434ba=>_0x3434ba['url']&&_0x3434ba[_0x268594(0xee)]['startsWith'](_0x268594(0xdb)));},_0xef1094[_0x39230f(0x105)],maxResults);return this[_0x39230f(0x119)]?.['info'](_0x39230f(0xcf),{'resultsCount':_0x10fbf7['length'],'agentId':_0x1b7379}),{'success':!![],'query':_0x3ab45d,'engine':engine,'resultsCount':_0x10fbf7[_0x39230f(0x75)],'results':_0x10fbf7};}finally{await _0x539c07['close']();}}async['fetch'](_0x44c448,_0x11187c={}){const _0x2cd98b=a0_0x504980,{formats:formats=['title',_0x2cd98b(0x94)],agentId:_0x304537}=_0x11187c;await this[_0x2cd98b(0xb2)](),this['logger']?.['info']('Fetching\x20web\x20content',{'url':_0x44c448,'formats':formats,'agentId':_0x304537});const _0xa6508c=await this[_0x2cd98b(0xd8)][_0x2cd98b(0xc8)]();try{const _0x415521=[];formats[_0x2cd98b(0xa8)](_0x2cd98b(0xf7))&&_0xa6508c['on']('console',_0x7928fb=>{const _0xdcfa7=_0x2cd98b;_0x415521[_0xdcfa7(0xf2)]({'type':_0x7928fb['type'](),'text':_0x7928fb['text']()});});await _0xa6508c[_0x2cd98b(0xea)](_0x44c448,{'waitUntil':'networkidle2','timeout':this[_0x2cd98b(0xe3)]});const _0x715fc1={'url':_0x44c448};for(const _0x40c792 of formats){switch(_0x40c792){case _0x2cd98b(0xd6):_0x715fc1['title']=await _0xa6508c['title']();break;case'text':_0x715fc1['text']=await _0xa6508c['evaluate'](()=>document['body'][_0x2cd98b(0x11c)]);break;case _0x2cd98b(0x78):_0x715fc1[_0x2cd98b(0x78)]=await _0xa6508c['evaluate'](()=>{const _0x522422=_0x2cd98b;return Array['from'](document['querySelectorAll']('a[href]'))['map'](_0x1dfd04=>({'href':_0x1dfd04['href'],'text':_0x1dfd04[_0x522422(0x113)][_0x522422(0xa2)]()}));});break;case _0x2cd98b(0xb7):_0x715fc1['html']=await _0xa6508c['content']();break;case'console':_0x715fc1[_0x2cd98b(0x11b)]=_0x415521;break;}}return this[_0x2cd98b(0x119)]?.[_0x2cd98b(0xa9)](_0x2cd98b(0x9f),{'url':_0x44c448,'formats':formats,'agentId':_0x304537}),{'success':!![],..._0x715fc1};}finally{await _0xa6508c[_0x2cd98b(0xca)]();}}async['interactive'](_0x5ab75e,_0x2d6b1f={}){const _0xfa4529=a0_0x504980,{headless:headless=!![],agentId:_0x2aa6f7,context:_0x169a8e}=_0x2d6b1f;await this[_0xfa4529(0xb2)](),this['logger']?.['info']('Starting\x20interactive\x20session',{'actionsCount':_0x5ab75e['length'],'headless':headless,'agentId':_0x2aa6f7});const _0x3d98a8=[];!this['agentTabs']['has'](_0x2aa6f7)&&this['agentTabs'][_0xfa4529(0xfa)](_0x2aa6f7,new Map());const _0x202b16=this['agentTabs']['get'](_0x2aa6f7);for(const _0x855e0f of _0x5ab75e){try{let _0x5e073a;switch(_0x855e0f[_0xfa4529(0xd1)]){case _0xfa4529(0x100):_0x5e073a=await this['openTab'](_0x2aa6f7,_0x855e0f['name'],_0x855e0f['url'],headless,_0x855e0f[_0xfa4529(0xe4)],_0x169a8e);break;case'close-tab':_0x5e073a=await this[_0xfa4529(0xed)](_0x2aa6f7,_0x855e0f[_0xfa4529(0x70)]);break;case'switch-tab':_0x5e073a=await this['switchTab'](_0x2aa6f7,_0x855e0f[_0xfa4529(0x70)]);break;case'list-tabs':_0x5e073a=await this['listTabs'](_0x2aa6f7);break;default:_0x5e073a={'success':![],'error':_0xfa4529(0xb9)+_0x855e0f['type']+'\x20must\x20be\x20executed\x20within\x20a\x20tab\x20context\x20(use\x20open-tab\x20with\x20nestedActions)'};}_0x3d98a8[_0xfa4529(0xf2)]({'action':_0x855e0f['type'],..._0x5e073a});}catch(_0x27145c){this['logger']?.[_0xfa4529(0x9c)](_0xfa4529(0x118),{'action':_0x855e0f['type'],'error':_0x27145c['message'],'agentId':_0x2aa6f7}),_0x3d98a8['push']({'action':_0x855e0f[_0xfa4529(0xd1)],'success':![],'error':_0x27145c[_0xfa4529(0x86)]});}}return{'success':_0x3d98a8['every'](_0x363cb9=>_0x363cb9['success']!==![]),'actionsExecuted':_0x3d98a8['length'],'results':_0x3d98a8};}async['openTab'](_0x15346d,_0x4958a7,_0x4b0307,_0x1263a1,_0x1d5835=[],_0x28d233={}){const _0x27ac4e=a0_0x504980;!this[_0x27ac4e(0x88)]['has'](_0x15346d)&&this['agentTabs']['set'](_0x15346d,new Map());const _0x1dd705=this[_0x27ac4e(0x88)]['get'](_0x15346d);if(_0x1dd705[_0x27ac4e(0xc1)](_0x4958a7))throw new Error(_0x27ac4e(0xd5)+_0x4958a7+'\x27\x20already\x20exists\x20for\x20agent\x20'+_0x15346d);this[_0x27ac4e(0x119)]?.['info']('Opening\x20tab',{'agentId':_0x15346d,'tabName':_0x4958a7,'url':_0x4b0307,'headless':_0x1263a1});const _0x4092eb=await this[_0x27ac4e(0xd8)]['newPage']();await _0x4092eb[_0x27ac4e(0xb0)]({'width':0x500,'height':0x2d0});const _0x2d080d=[];_0x4092eb['on']('console',_0x5e47e4=>{const _0x197651=_0x27ac4e;_0x2d080d[_0x197651(0xf2)]({'type':_0x5e47e4['type'](),'text':_0x5e47e4['text'](),'timestamp':Date['now']()});});const _0x2d6872={'page':_0x4092eb,'url':_0x4b0307,'lastActivity':Date['now'](),'headless':_0x1263a1,'consoleMessages':_0x2d080d,'name':_0x4958a7};_0x1dd705[_0x27ac4e(0xfa)](_0x4958a7,_0x2d6872);const _0x2a1b4f=[];try{_0x4b0307&&(await _0x4092eb['goto'](_0x4b0307,{'waitUntil':'networkidle2','timeout':this['DEFAULT_TIMEOUT']}),_0x2d6872['url']=_0x4b0307,_0x2d6872[_0x27ac4e(0x9e)]=Date[_0x27ac4e(0x114)]());for(const _0x275118 of _0x1d5835){const _0xf18301=await this[_0x27ac4e(0x9b)](_0x4092eb,_0x275118,_0x2d6872,_0x28d233);_0x2a1b4f['push']({'action':_0x275118[_0x27ac4e(0xd1)],..._0xf18301}),_0x2d6872['lastActivity']=Date['now']();}return{'success':!![],'tabName':_0x4958a7,'url':_0x2d6872['url'],'actionsExecuted':_0x2a1b4f[_0x27ac4e(0x75)],'results':_0x2a1b4f};}catch(_0x8703f4){this[_0x27ac4e(0x119)]?.[_0x27ac4e(0x9c)](_0x27ac4e(0xbf),{'agentId':_0x15346d,'tabName':_0x4958a7,'error':_0x8703f4['message']}),await _0x4092eb[_0x27ac4e(0xca)](),_0x1dd705['delete'](_0x4958a7);throw _0x8703f4;}}async['executeTabAction'](_0x3f963f,_0x3d7711,_0x29c221,_0x5050c6){const _0x560e5d=a0_0x504980;switch(_0x3d7711['type']){case'navigate':await _0x3f963f['goto'](_0x3d7711['value']||_0x3d7711[_0x560e5d(0xee)],{'waitUntil':_0x560e5d(0x123),'timeout':this[_0x560e5d(0xe3)]}),_0x29c221['url']=_0x3f963f[_0x560e5d(0xee)]();return{'success':!![],'url':_0x29c221['url']};case _0x560e5d(0xc2):await _0x3f963f['click'](_0x3d7711['selector'],{'button':_0x3d7711['button']||'left'});return{'success':!![],'selector':_0x3d7711[_0x560e5d(0xbc)]};case _0x560e5d(0xd1):await _0x3f963f[_0x560e5d(0xd1)](_0x3d7711['selector'],_0x3d7711['text']||_0x3d7711[_0x560e5d(0xa4)]);return{'success':!![],'selector':_0x3d7711['selector'],'text':_0x3d7711[_0x560e5d(0x94)]};case'press':await _0x3f963f[_0x560e5d(0xa5)]['press'](_0x3d7711['key']||_0x3d7711[_0x560e5d(0xa4)]);return{'success':!![],'key':_0x3d7711[_0x560e5d(0xef)]};case _0x560e5d(0x90):const _0x1a4a77=_0x3d7711[_0x560e5d(0x10a)]?parseInt(_0x3d7711[_0x560e5d(0x10a)],0xa):this['DEFAULT_TIMEOUT'];await _0x3f963f[_0x560e5d(0xb8)](_0x3d7711[_0x560e5d(0xbc)],{'timeout':_0x1a4a77});return{'success':!![],'selector':_0x3d7711['selector']};case _0x560e5d(0x109):return await this['takeScreenshot'](_0x3f963f,_0x3d7711,_0x5050c6);case'analyze-screenshot':return await this[_0x560e5d(0x8d)](_0x3f963f,_0x3d7711[_0x560e5d(0xa4)],_0x5050c6);case _0x560e5d(0xce):const _0x339694=await _0x3f963f['evaluate'](_0x489c9b=>{const _0x5e549d=document['querySelector'](_0x489c9b);return _0x5e549d?_0x5e549d['innerText']:null;},_0x3d7711['selector']);return{'success':!![],'selector':_0x3d7711[_0x560e5d(0xbc)],'text':_0x339694};case'extract-links':const _0x8d52a4=await _0x3f963f[_0x560e5d(0x8e)](_0x53de51=>{const _0x25195e=_0x560e5d,_0xc6f0ed=document['querySelectorAll'](_0x53de51);return Array[_0x25195e(0x11d)](_0xc6f0ed)['map'](_0x41d086=>({'href':_0x41d086['href'],'text':_0x41d086['textContent'][_0x25195e(0xa2)]()}));},_0x3d7711[_0x560e5d(0xbc)]);return{'success':!![],'selector':_0x3d7711[_0x560e5d(0xbc)],'links':_0x8d52a4};case'get-source':const _0x219608=await _0x3f963f[_0x560e5d(0xf0)]();return{'success':!![],'html':_0x219608};case'get-console':return{'success':!![],'consoleMessages':[..._0x29c221['consoleMessages']]};case _0x560e5d(0xa6):await _0x3f963f[_0x560e5d(0x8e)](_0x56cb54=>{const _0xaa51f7=_0x560e5d;_0x56cb54?document['querySelector'](_0x56cb54)?.[_0xaa51f7(0x115)]():window[_0xaa51f7(0xda)](0x0,document['body'][_0xaa51f7(0x7f)]);},_0x3d7711[_0x560e5d(0xbc)]);return{'success':!![]};case _0x560e5d(0x82):await _0x3f963f['hover'](_0x3d7711[_0x560e5d(0xbc)]);return{'success':!![],'selector':_0x3d7711['selector']};case _0x560e5d(0xd2):await _0x3f963f['hover'](_0x3d7711['selector']);return{'success':!![],'selector':_0x3d7711[_0x560e5d(0xbc)]};default:throw new Error('Unknown\x20action\x20type:\x20'+_0x3d7711['type']);}}async['takeScreenshot'](_0x203b88,_0xc6491c,_0x53e723){const _0x1894d6=a0_0x504980,_0x145c0a=_0xc6491c['format']||_0x1894d6(0x87),_0x452bb2=_0xc6491c[_0x1894d6(0xdf)];if(_0x145c0a==='base64'){const _0x1aba29=await _0x203b88['screenshot']({'encoding':'base64'});return{'success':!![],'format':'base64','screenshot':_0x1aba29};}let _0x2a73f9;if(_0x452bb2){const _0x11b730=_0x53e723[_0x1894d6(0xdc)]?.[_0x1894d6(0xe7)]||_0x53e723[_0x1894d6(0xc7)]||process[_0x1894d6(0x101)]();_0x2a73f9=a0_0x165368[_0x1894d6(0xb5)](_0x452bb2)?_0x452bb2:a0_0x165368['join'](_0x11b730,_0x452bb2);}else{const _0xca0b58='screenshot-'+Date['now']()+_0x1894d6(0xe5);_0x2a73f9=a0_0x165368['join'](this['TEMP_DIR'],_0xca0b58);}return await _0x203b88[_0x1894d6(0x109)]({'path':_0x2a73f9}),{'success':!![],'format':_0x1894d6(0x87),'path':_0x2a73f9};}async['analyzeScreenshot'](_0x3dfb25,_0xf000ca,_0xc86537){const _0x3589c6=a0_0x504980,_0xc365f2=await _0x3dfb25['screenshot']({'encoding':'base64'}),_0x463160=_0xc86537[_0x3589c6(0xc6)];if(!_0x463160)throw new Error('AI\x20service\x20not\x20available\x20for\x20screenshot\x20analysis');this['logger']?.['info']('Analyzing\x20screenshot\x20with\x20AI',{'question':_0xf000ca['substring'](0x0,0x64),'agentId':_0xc86537[_0x3589c6(0x9a)]});try{const _0xecc537='o3',_0x16d30e=await _0x463160[_0x3589c6(0xe2)](_0xecc537,_0xf000ca,{'agentId':_0xc86537['agentId'],'images':['data:image/png;base64,'+_0xc365f2],'apiKey':_0xc86537[_0x3589c6(0x10e)],'customApiKeys':_0xc86537[_0x3589c6(0xe0)],'platformProvided':_0xc86537['platformProvided']});return{'success':!![],'question':_0xf000ca,'analysis':_0x16d30e['content'],'model':_0x16d30e[_0x3589c6(0x96)]||_0xecc537};}catch(_0x175560){this['logger']?.['error']('Screenshot\x20analysis\x20failed',{'error':_0x175560[_0x3589c6(0x86)],'agentId':_0xc86537['agentId']});throw new Error(_0x3589c6(0x81)+_0x175560['message']);}}async['closeTab'](_0x45bf3e,_0x145c96){const _0x8471a3=a0_0x504980,_0x3c8a51=this[_0x8471a3(0x88)][_0x8471a3(0xa7)](_0x45bf3e);if(!_0x3c8a51||!_0x3c8a51['has'](_0x145c96))throw new Error('Tab\x20\x27'+_0x145c96+'\x27\x20not\x20found\x20for\x20agent\x20'+_0x45bf3e);const _0x1625a7=_0x3c8a51['get'](_0x145c96);return this[_0x8471a3(0x119)]?.['info'](_0x8471a3(0x74),{'agentId':_0x45bf3e,'tabName':_0x145c96}),await _0x1625a7[_0x8471a3(0x10f)]['close'](),_0x3c8a51[_0x8471a3(0xd3)](_0x145c96),{'success':!![],'tabName':_0x145c96,'message':'Tab\x20\x27'+_0x145c96+_0x8471a3(0xcc)};}async[a0_0x504980(0xec)](_0x263309,_0x5947a4){const _0x10b236=a0_0x504980,_0xbcdd9c=this['agentTabs']['get'](_0x263309);if(!_0xbcdd9c||!_0xbcdd9c['has'](_0x5947a4))throw new Error(_0x10b236(0xd5)+_0x5947a4+'\x27\x20not\x20found\x20for\x20agent\x20'+_0x263309);const _0x42d106=_0xbcdd9c[_0x10b236(0xa7)](_0x5947a4);return _0x42d106['lastActivity']=Date[_0x10b236(0x114)](),{'success':!![],'tabName':_0x5947a4,'url':_0x42d106[_0x10b236(0xee)],'message':_0x10b236(0x10b)+_0x5947a4+'\x27'};}async['listTabs'](_0x141057){const _0x30add3=a0_0x504980,_0x2c0c56=this[_0x30add3(0x88)]['get'](_0x141057);if(!_0x2c0c56||_0x2c0c56[_0x30add3(0x7d)]===0x0)return{'success':!![],'tabCount':0x0,'tabs':[],'message':'No\x20active\x20tabs'};const _0x5949e0=[];for(const [_0x54b1e3,_0x3463aa]of _0x2c0c56[_0x30add3(0xf9)]()){_0x5949e0['push']({'name':_0x54b1e3,'url':_0x3463aa['url'],'idleTime':Date['now']()-_0x3463aa[_0x30add3(0x9e)],'headless':_0x3463aa[_0x30add3(0x98)]});}return{'success':!![],'tabCount':_0x5949e0['length'],'tabs':_0x5949e0};}[a0_0x504980(0xa1)](){const _0x15515b=a0_0x504980;this['cleanupTimer']&&clearInterval(this[_0x15515b(0x122)]),this[_0x15515b(0x122)]=setInterval(()=>{this['cleanupIdleTabs']();},this[_0x15515b(0xaa)]);}async[a0_0x504980(0xbe)](){const _0xcef723=a0_0x504980,_0x180010=Date[_0xcef723(0x114)](),_0x17645c=[];for(const [_0x255fc5,_0x5f33f5]of this['agentTabs']['entries']()){for(const [_0x57f1f9,_0x169b88]of _0x5f33f5['entries']()){const _0x11a581=_0x180010-_0x169b88['lastActivity'];_0x11a581>this['TAB_IDLE_TIMEOUT']&&_0x17645c[_0xcef723(0xf2)]({'agentId':_0x255fc5,'tabName':_0x57f1f9,'tabInfo':_0x169b88});}}if(_0x17645c['length']>0x0){this[_0xcef723(0x119)]?.['info'](_0xcef723(0xf8),{'count':_0x17645c['length']});for(const {agentId:_0xe94f69,tabName:_0x44bad3,tabInfo:_0x23074c}of _0x17645c){try{await _0x23074c['page'][_0xcef723(0xca)](),this[_0xcef723(0x88)][_0xcef723(0xa7)](_0xe94f69)[_0xcef723(0xd3)](_0x44bad3),this['logger']?.['debug'](_0xcef723(0x73),{'agentId':_0xe94f69,'tabName':_0x44bad3});}catch(_0xda05a8){this['logger']?.['error'](_0xcef723(0x121),{'agentId':_0xe94f69,'tabName':_0x44bad3,'error':_0xda05a8['message']});}}}}async['cleanupAgent'](_0x54a316){const _0x28a985=a0_0x504980,_0x169d3e=this[_0x28a985(0x88)][_0x28a985(0xa7)](_0x54a316);if(!_0x169d3e)return{'success':!![],'agentId':_0x54a316,'closedTabs':0x0,'message':'No\x20tabs\x20to\x20clean\x20up'};this[_0x28a985(0x119)]?.['info'](_0x28a985(0xad),{'agentId':_0x54a316,'tabCount':_0x169d3e[_0x28a985(0x7d)]});let _0x2e54d5=0x0;for(const [_0x2a381a,_0x167e0b]of _0x169d3e['entries']()){try{await _0x167e0b['page'][_0x28a985(0xca)](),_0x2e54d5++;}catch(_0x2a0ba8){this[_0x28a985(0x119)]?.[_0x28a985(0x9c)](_0x28a985(0x92),{'agentId':_0x54a316,'tabName':_0x2a381a,'error':_0x2a0ba8['message']});}}return this[_0x28a985(0x88)]['delete'](_0x54a316),{'success':!![],'agentId':_0x54a316,'closedTabs':_0x2e54d5,'message':'Closed\x20'+_0x2e54d5+_0x28a985(0x99)+_0x54a316};}async[a0_0x504980(0x7c)](){const _0x4b96d7=a0_0x504980;try{await a0_0x2dd6f8[_0x4b96d7(0x7a)](this[_0x4b96d7(0xf6)],{'recursive':!![]});}catch(_0x52a579){this[_0x4b96d7(0x119)]?.[_0x4b96d7(0xb4)](_0x4b96d7(0xe6),{'path':this['TEMP_DIR'],'error':_0x52a579[_0x4b96d7(0x86)]});}}async[a0_0x504980(0xaf)](){const _0x3555ac=a0_0x504980;this['cleanupTimer']&&(clearInterval(this[_0x3555ac(0x122)]),this['cleanupTimer']=null);for(const [_0x500b1a]of this['agentTabs']['entries']()){await this[_0x3555ac(0x116)](_0x500b1a);}this['browser']&&(await this[_0x3555ac(0xd8)]['close'](),this[_0x3555ac(0xd8)]=null);try{await a0_0x2dd6f8['rm'](this['TEMP_DIR'],{'recursive':!![],'force':!![]});}catch(_0x2fa23f){this['logger']?.[_0x3555ac(0xb4)](_0x3555ac(0xfb),{'path':this['TEMP_DIR'],'error':_0x2fa23f['message']});}}}function a0_0xea54(){const _0x56062f=['zNjVBq','v2vIihrVB2WGzxHLy3v0Aw9UigzHAwXLza','kfTEpL0Qks8+','ls1KAxnHyMXLlwjSAw5RlwzLyxr1CMvZpuf1Dg9TyxrPB25dB250CM9SBgvK','rMfPBgvKihrVignSB3nLigLKBguGDgfI','y2XLyw51CfrPBwvY','BMv0D29YA2LKBguY','BMfTzq','zMLUza','CgfYC2u','q2XVC2vKigLKBguGDgfI','q2XVC2LUzYb0ywi','BgvUz3rO','ls1UBY1Zyw5KyM94','z2v0rgvZy3jPChrPB24','BgLUA3m','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','BwTKAxi','AxndB25Uzwn0zwq','zw5ZDxjLvgvTCerPCG','C2L6zq','CgfYC2vozxn0zwrby3rPB25Z','C2nYB2XSsgvPz2H0','nteZmdu2C1Hfu2jV','u2nYzwvUC2HVDcbHBMfSExnPCYbMywLSzwq6ia','Ag92zxi','ntbpDwnhC3a','mJm2ntuYofz4AMLXwq','zM9YBwf0CW','BwvZC2fNzq','zMLSzq','ywDLBNruywjZ','zw5NAw5L','zMfSC2u','B3bLCMf0Aw9U','BMv3','yw5HBhL6zvnJCMvLBNnOB3q','zxzHBhvHDgu','B3bLCMf0Aw9Uig11C3qGyMuGB25Lig9MoIbZzwfYy2GSigzLDgnOlcbPBNrLCMfJDgL2zq','D2fPDc1MB3i','yMLUzW','rMfPBgvKihrVignSB3nLihrHyIbKDxjPBMCGy2XLyw51Ca','AM9PBG','Dgv4Da','CgfYC2vby3rPB25Z','Bw9KzwW','rMfPBgvKihrVihbHCNnLihDLyIb0B29SihbHCMfTzxrLCNm6ia','AgvHzgXLC3m','ihrHyNmGzM9YigfNzw50ia','ywDLBNrjza','zxHLy3v0zvrHyKfJDgLVBG','zxjYB3i','BMf2AwDHDgu','BgfZDefJDgL2Axr5','rMv0y2GGy29TCgXLDgvK','zMLSDgvY','C3rHCNrdBgvHBNvWvgLTzxi','DhjPBq','mty1ntuXnMnAsM9eBG','DMfSDwu','A2v5yM9HCMq','C2nYB2XS','z2v0','Aw5JBhvKzxm','Aw5MBW','q0Xfqu5vuf9jtLrfuLzbta','lIbbDMfPBgfIBgu6ia','AhjLzG','q2XLyw5PBMCGDxaGywDLBNqGDgfICW','C3rHCNrZv2L0Aa','y2XLyw51Ca','C2v0vMLLD3bVCNq','zMv0y2G','zw5ZDxjLqNjVD3nLCG','otb6DgHmvee','D2fYBG','AxnbyNnVBhv0zq','zxHLy3v0zq','AhrTBa','D2fPDezVCLnLBgvJDg9Y','qwn0Aw9Uia','z29Vz2XL','CMvXDwLYzxnqCM9Qzwn0','C2vSzwn0B3i','uhvWCgv0zwvYigjYB3DZzxiGAw5PDgLHBgL6zwqGC3vJy2vZC2z1BgX5','y2XLyw51CeLKBgvuywjZ','rMfPBgvKihrVig9Wzw4GDgfI','Aw5WDxrBBMfTzt0ICsjD','AgfZ','y2XPy2S','CxvLCNK','DxjSigLZihjLCxvPCMvKigzVCIbMzxrJAcbVCgvYyxrPB24','nu9YruPyCW','ywLtzxj2AwnL','ChjVAMvJDerPCG','BMv3ugfNzq','AxnbCNjHEq','y2XVC2u','BgLZDc10ywjZ','jYbJBg9Zzwq','D2vI','zxH0CMfJDc10zxH0','u2vHCMnOignVBxbSzxrLza','rMfPBgvKihrVigLUAxrPywXPEMuGyNjVD3nLCG','DhLWzq','Bw91C2uTBw92zq','zgvSzxrL','Aw5WDxrBDhLWzt0IC3vIBwL0iL0','vgfIicC','DgL0Bgu','odqYnJGXz1zMBK5w','yNjVD3nLCG','kfTEpL0Qkt4Ow148xsOPpc8','C2nYB2XSvg8','Ahr0Ca','zgLYzwn0B3j5qwnJzxnZ','sw5PDgLHBgL6Aw5Nifb1ChbLDgvLCIbICM93C2vY','z2v0lwnVBNnVBgu','Cgf0Aa','y3vZDg9TqxbPs2v5CW','Bwf4uMvZDwX0CW','C2vUze1LC3nHz2u','revgqvvmvf9usu1ft1vu','BMvZDgvKqwn0Aw9UCW','lNbUzW','rMfPBgvKihrVignYzwf0zsb0zw1WigrPCMvJDg9YEq','D29YA2LUz0rPCMvJDg9YEq','ChjLC3m','DgvTCerPCG','z290BW','otmXoduWrfLgq1zl','C3DPDgnOvgfI','y2XVC2vuywi','DxjS','A2v5','y29UDgvUDa','zxH0CMfJDenVBNrLBNq','ChvZAa','nZiWnJK2Bw51wufx','zxHLyW','zgvMyxvSDfrPBwvVDxq','vevnuf9esvi','y29UC29Szq','q2XLyw5PBMCGDxaGAwrSzsb0ywjZ','zw50CMLLCW','C2v0','rMfPBgvKihrVignSzwfUihrLBxaGzgLYzwn0B3j5','yNv0Dg9Uw3r5Cgu9iNn1yM1PDcjD','mJa3nda5uuXXtM1M','ywn0Aw9UCW','Aw50zxjHy3rPDMu','B3bLBI10ywi','y3DK','C2vHCMnO','DgfIswrSzvrPBwvVDxq','zhvJA2r1y2TNBW','CMvZDwX0C1nLBgvJDg9Y','C2vHCMnOrw5NAw5LCW','zM9YBwf0','Bwf4lxjLC3vSDhm','C2nYzwvUC2HVDa','DgLTzw91Da','u3DPDgnOzwqGDg8GDgfIicC','yNjVD3nLCKLUAxrPywXPEMLUzW','vw5RBM93BIbZzwfYy2GGzw5NAw5LoIa','yxbPs2v5','CgfNzq','C3rYAw5N','vefcx0LetevFveLnru9vva','BwfW','Dgv4DenVBNrLBNq','BM93','C2nYB2XSsw50B1zPzxC','y2XLyw51CefNzw50','CgfYC2vqyxjHBwv0zxjZ','qwn0Aw9UigzHAwXLza','Bg9Nz2vY','mJriB0z4D1e','y29UC29Szu1LC3nHz2vZ','Aw5UzxjuzxH0'];a0_0xea54=function(){return _0x56062f;};return a0_0xea54();}export default WebTool;