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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) 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/aiService.js +1 -1
  75. package/src/services/apiKeyManager.js +1 -1
  76. package/src/services/benchmarkService.js +1 -1
  77. package/src/services/budgetService.js +1 -1
  78. package/src/services/contextInjectionService.js +1 -1
  79. package/src/services/conversationCompactionService.js +1 -1
  80. package/src/services/errorHandler.js +1 -1
  81. package/src/services/fileAttachmentService.js +1 -1
  82. package/src/services/modelRouterService.js +1 -1
  83. package/src/services/modelsService.js +1 -1
  84. package/src/services/qualityInspector.js +1 -1
  85. package/src/services/tokenCountingService.js +1 -1
  86. package/src/tools/agentCommunicationTool.js +1 -1
  87. package/src/tools/agentDelayTool.js +1 -1
  88. package/src/tools/asyncToolManager.js +1 -1
  89. package/src/tools/baseTool.js +1 -1
  90. package/src/tools/browserTool.js +1 -1
  91. package/src/tools/cloneDetectionTool.js +1 -1
  92. package/src/tools/dependencyResolverTool.js +1 -1
  93. package/src/tools/fileContentReplaceTool.js +1 -1
  94. package/src/tools/fileSystemTool.js +1 -1
  95. package/src/tools/fileTreeTool.js +1 -1
  96. package/src/tools/imageTool.js +1 -1
  97. package/src/tools/importAnalyzerTool.js +1 -1
  98. package/src/tools/jobDoneTool.js +1 -1
  99. package/src/tools/seekTool.js +1 -1
  100. package/src/tools/staticAnalysisTool.js +1 -1
  101. package/src/tools/taskManagerTool.js +1 -1
  102. package/src/tools/terminalTool.js +1 -1
  103. package/src/tools/webTool.js +1 -1
  104. package/src/types/agent.js +1 -1
  105. package/src/types/contextReference.js +1 -1
  106. package/src/types/conversation.js +1 -1
  107. package/src/types/toolCommand.js +1 -1
  108. package/src/utilities/attachmentValidator.js +1 -1
  109. package/src/utilities/configManager.js +1 -1
  110. package/src/utilities/constants.js +1 -1
  111. package/src/utilities/directoryAccessManager.js +1 -1
  112. package/src/utilities/fileProcessor.js +1 -1
  113. package/src/utilities/logger.js +1 -1
  114. package/src/utilities/tagParser.js +1 -1
  115. package/src/utilities/toolConstants.js +1 -1
  116. package/src/utilities/userDataDir.js +1 -0
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-C5X7qBNF.js → index-DXN850Y2.js} +69 -65
  119. package/web-ui/build/static/index-an-YRzUX.css +1 -0
  120. package/web-ui/build/static/index-g2UFuTwG.css +0 -1
@@ -1 +1 @@
1
- const a0_0x2ac257=a0_0xee52;(function(_0x24313b,_0x5bb5df){const _0x617813=a0_0xee52,_0x57c462=_0x24313b();while(!![]){try{const _0x509267=-parseInt(_0x617813(0x2aa))/0x1+-parseInt(_0x617813(0x232))/0x2*(parseInt(_0x617813(0x1d1))/0x3)+parseInt(_0x617813(0x1ae))/0x4+parseInt(_0x617813(0x19c))/0x5+-parseInt(_0x617813(0x1bf))/0x6*(-parseInt(_0x617813(0x2b3))/0x7)+parseInt(_0x617813(0x2b6))/0x8+-parseInt(_0x617813(0x292))/0x9;if(_0x509267===_0x5bb5df)break;else _0x57c462['push'](_0x57c462['shift']());}catch(_0x9cfde7){_0x57c462['push'](_0x57c462['shift']());}}}(a0_0x4aff,0xe4c32));function a0_0xee52(_0x355ac8,_0x53bf91){_0x355ac8=_0x355ac8-0x181;const _0x4affd1=a0_0x4aff();let _0xee527e=_0x4affd1[_0x355ac8];if(a0_0xee52['PtWLGo']===undefined){var _0xe20961=function(_0x97e0bf){const _0x1472b0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ba71a='',_0xc0a18d='';for(let _0x2071f3=0x0,_0x5f5a78,_0x21d7df,_0x561618=0x0;_0x21d7df=_0x97e0bf['charAt'](_0x561618++);~_0x21d7df&&(_0x5f5a78=_0x2071f3%0x4?_0x5f5a78*0x40+_0x21d7df:_0x21d7df,_0x2071f3++%0x4)?_0x3ba71a+=String['fromCharCode'](0xff&_0x5f5a78>>(-0x2*_0x2071f3&0x6)):0x0){_0x21d7df=_0x1472b0['indexOf'](_0x21d7df);}for(let _0x449c88=0x0,_0x59dd5e=_0x3ba71a['length'];_0x449c88<_0x59dd5e;_0x449c88++){_0xc0a18d+='%'+('00'+_0x3ba71a['charCodeAt'](_0x449c88)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc0a18d);};a0_0xee52['DanReq']=_0xe20961,a0_0xee52['WyChsH']={},a0_0xee52['PtWLGo']=!![];}const _0x453f3a=_0x4affd1[0x0],_0x24631c=_0x355ac8+_0x453f3a,_0x3a552e=a0_0xee52['WyChsH'][_0x24631c];return!_0x3a552e?(_0xee527e=a0_0xee52['DanReq'](_0xee527e),a0_0xee52['WyChsH'][_0x24631c]=_0xee527e):_0xee527e=_0x3a552e,_0xee527e;}import{BaseTool}from'./baseTool.js';import a0_0x3ba71a from'../utilities/tagParser.js';import a0_0xc0a18d from'../utilities/directoryAccessManager.js';import{spawn,exec}from'child_process';import a0_0x2071f3 from'path';import a0_0x5f5a78 from'fs/promises';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class PromptDetector{constructor(){const _0x83420d=a0_0xee52;this['promptPatterns']=[{'pattern':/\(y\/n\)/i,'type':_0x83420d(0x269),'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':_0x83420d(0x269),'description':'Yes/No\x20question'},{'pattern':/\[Y\/n\]/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\[y\/N\]/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/continue\?/i,'type':_0x83420d(0x294),'description':'Continue\x20prompt'},{'pattern':/proceed\?/i,'type':'continue','description':_0x83420d(0x1f0)},{'pattern':/press any key to continue/i,'type':'keypress','description':'Press\x20any\x20key'},{'pattern':/press enter to continue/i,'type':_0x83420d(0x1c6),'description':_0x83420d(0x27a)},{'pattern':/hit enter to continue/i,'type':'keypress','description':_0x83420d(0x295)},{'pattern':/password:/i,'type':'password','description':'Password\x20prompt'},{'pattern':/enter password/i,'type':'password','description':_0x83420d(0x280)},{'pattern':/passphrase:/i,'type':_0x83420d(0x2c9),'description':_0x83420d(0x25a)},{'pattern':/username:/i,'type':_0x83420d(0x2a6),'description':'Username\x20prompt'},{'pattern':/enter username/i,'type':'username','description':'Username\x20prompt'},{'pattern':/enter\s+\w+:/i,'type':_0x83420d(0x1d3),'description':'Generic\x20input\x20prompt'},{'pattern':/please enter/i,'type':_0x83420d(0x1d3),'description':_0x83420d(0x204)},{'pattern':/input:/i,'type':_0x83420d(0x1d3),'description':'Generic\x20input\x20prompt'},{'pattern':/are you sure\?/i,'type':'confirmation','description':_0x83420d(0x272)},{'pattern':/do you want to/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/would you like to/i,'type':'confirmation','description':_0x83420d(0x272)},{'pattern':/select an option/i,'type':'selection','description':'Selection\x20prompt'},{'pattern':/choose/i,'type':'selection','description':'Selection\x20prompt'},{'pattern':/\d+\)\s+\w+/g,'type':_0x83420d(0x274),'description':'Menu\x20selection'}];}[a0_0x2ac257(0x262)](_0x21d7df,_0x561618='stdout'){const _0x36ebb4=a0_0x2ac257;if(!_0x21d7df||_0x21d7df['trim']()[_0x36ebb4(0x1e2)]===0x0)return null;const _0x449c88=_0x21d7df['split']('\x0a'),_0x59dd5e=_0x449c88[_0x36ebb4(0x263)](-0x5)[_0x36ebb4(0x221)]('\x0a');for(const _0x3c616c of this['promptPatterns']){const _0x4effd6=_0x59dd5e['match'](_0x3c616c[_0x36ebb4(0x1f2)]);if(_0x4effd6)return{'detected':!![],'type':_0x3c616c['type'],'description':_0x3c616c[_0x36ebb4(0x1c3)],'matchedText':_0x4effd6[0x0],'matchIndex':_0x4effd6['index'],'source':_0x561618,'fullContext':_0x59dd5e,'timestamp':Date['now']()};}const _0x559dc4=_0x449c88[_0x449c88['length']-0x1]||'';if(_0x559dc4[_0x36ebb4(0x267)]()['length']>0x0){const _0x5b3097=/:\s*$/[_0x36ebb4(0x2c7)](_0x559dc4),_0x522787=/\?\s*$/['test'](_0x559dc4);if(_0x5b3097||_0x522787){const _0x17dc07=/\b(enter|type|provide|specify|input)\b/i[_0x36ebb4(0x2c7)](_0x559dc4);if(_0x17dc07)return{'detected':!![],'type':_0x36ebb4(0x185),'description':_0x36ebb4(0x235),'matchedText':_0x559dc4['trim'](),'source':_0x561618,'fullContext':_0x59dd5e,'timestamp':Date[_0x36ebb4(0x2a9)](),'confidence':0.7};}}return null;}[a0_0x2ac257(0x2a4)](_0xd511bc,_0x2ad48=0x7530){const _0x5c86f1=a0_0x2ac257,_0x539186=Date[_0x5c86f1(0x2a9)](),_0x1a20dc=_0x539186-_0xd511bc;return{'isHanging':_0x1a20dc>=_0x2ad48,'timeSinceLastOutput':_0x1a20dc,'threshold':_0x2ad48,'likelyWaiting':_0x1a20dc>=_0x2ad48/0x2};}}class TerminalTool extends BaseTool{constructor(_0x45adcc={},_0x363553=null){const _0x4bf029=a0_0x2ac257;super(_0x45adcc,_0x363553),this[_0x4bf029(0x20a)]=![],this['isAsync']=![],this[_0x4bf029(0x1d2)]=_0x45adcc['timeout']||0x1d4c0,this['maxConcurrentOperations']=_0x45adcc['maxConcurrentOperations']||0x3,this['workingDirectories']=new Map(),this[_0x4bf029(0x264)]=[],this['allowedCommands']=_0x45adcc['allowedCommands']||null,this[_0x4bf029(0x28b)]=_0x45adcc[_0x4bf029(0x28b)]||['rm\x20-rf\x20/','format','del\x20/f\x20/q','shutdown',_0x4bf029(0x2c2),_0x4bf029(0x2b7)],this['directoryAccessManager']=new a0_0xc0a18d(_0x45adcc,_0x363553),this['promptDetector']=new PromptDetector(),this['commandTracker']=new Map(),this['commandIdCounter']=0x0,this[_0x4bf029(0x1c2)]=_0x45adcc['maxBackgroundCommandsPerAgent']||0x5,this[_0x4bf029(0x21a)]=_0x45adcc['maxBackgroundCommandsGlobal']||0x14,this[_0x4bf029(0x225)]=_0x45adcc['maxCommandAgeMinutes']||0x3c,this['detectedTerminal']=null,this['platformType']=null,this[_0x4bf029(0x27f)]();}['getDescription'](){const _0x321273=a0_0x2ac257;return'\x0aTerminal\x20Tool:\x20Execute\x20system\x20commands\x20and\x20manage\x20terminal\x20operations\x20safely.\x0a\x0aIMPORTANT:\x20For\x20file\x20and\x20directory\x20creation,\x20prefer\x20using\x20the\x20FileSystem\x20tool.\x0aReserve\x20the\x20Terminal\x20tool\x20for\x20command-line\x20operations\x20like\x20npm,\x20git,\x20curl,\x20etc.\x0a\x0aUSAGE:\x0a[tool\x20id=\x22terminal\x22]\x0a<run-command>npm\x20install\x20express</run-command>\x0a<change-directory>project/backend</change-directory>\x0a[/tool]\x0a\x0aALTERNATIVE\x20JSON\x20FORMAT:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22terminal\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22run-command\x22,\x0a\x20\x20\x20\x20\x20\x20\x22command\x22:\x20\x22npm\x20install\x20express\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22change-directory\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22project/backend\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20run-command:\x20Execute\x20a\x20command\x20in\x20the\x20current\x20directory\x0a-\x20change-directory:\x20Change\x20current\x20working\x20directory\x0a-\x20list-directory:\x20List\x20contents\x20of\x20current\x20or\x20specified\x20directory\x0a-\x20create-directory:\x20Create\x20a\x20new\x20directory\x20(prefer\x20FileSystem\x20tool)\x0a-\x20get-working-directory:\x20Get\x20current\x20working\x20directory\x0a\x0aPARAMETERS:\x0a-\x20command:\x20The\x20command\x20to\x20execute\x0a-\x20directory:\x20Directory\x20path\x20for\x20navigation/operations\x0a-\x20timeout:\x20Optional\x20timeout\x20in\x20milliseconds\x20(max\x20'+this[_0x321273(0x1d2)]+_0x321273(0x207)+this[_0x321273(0x1c2)]+_0x321273(0x23c)+this['MAX_BACKGROUND_COMMANDS_GLOBAL']+_0x321273(0x2ce);}[a0_0x2ac257(0x29b)](_0x1c9f0e){const _0x30fd88=a0_0x2ac257;try{const _0x121579={},_0x33f396=a0_0x3ba71a[_0x30fd88(0x26a)](_0x1c9f0e,_0x30fd88(0x234)),_0x29a681=a0_0x3ba71a['extractContent'](_0x1c9f0e,'change-directory'),_0x1ee546=a0_0x3ba71a['extractContent'](_0x1c9f0e,_0x30fd88(0x253)),_0x3a15b7=a0_0x3ba71a[_0x30fd88(0x26a)](_0x1c9f0e,'create-directory'),_0x1c1a77=a0_0x3ba71a[_0x30fd88(0x26a)](_0x1c9f0e,_0x30fd88(0x1eb)),_0x3f173e=a0_0x3ba71a['extractContent'](_0x1c9f0e,'timeout'),_0x4b38a7=a0_0x3ba71a[_0x30fd88(0x26a)](_0x1c9f0e,'async'),_0x4c0e75=[];return _0x33f396['length']>0x0&&_0x4c0e75['push']({'type':'run-command','command':_0x33f396[0x0]['trim']()}),_0x29a681['length']>0x0&&_0x4c0e75['push']({'type':'change-directory','directory':_0x29a681[0x0]['trim']()}),_0x1ee546['length']>0x0&&_0x4c0e75['push']({'type':_0x30fd88(0x253),'directory':_0x1ee546[0x0][_0x30fd88(0x267)]()||'.'}),_0x3a15b7['length']>0x0&&_0x4c0e75['push']({'type':'create-directory','directory':_0x3a15b7[0x0]['trim']()}),_0x1c1a77['length']>0x0&&_0x4c0e75[_0x30fd88(0x2d2)]({'type':'get-working-directory'}),_0x121579['actions']=_0x4c0e75,_0x3f173e['length']>0x0&&(_0x121579[_0x30fd88(0x1d2)]=parseInt(_0x3f173e[0x0],0xa)),_0x4b38a7['length']>0x0&&(_0x121579[_0x30fd88(0x26d)]=_0x4b38a7[0x0]['toLowerCase']()===_0x30fd88(0x2bb)),_0x121579[_0x30fd88(0x297)]=_0x1c9f0e['trim'](),_0x121579;}catch(_0x1bf212){throw new Error(_0x30fd88(0x2a8)+_0x1bf212['message']);}}[a0_0x2ac257(0x1d6)](){return['actions'];}[a0_0x2ac257(0x2c0)](_0x5de73c){const _0x34900a=a0_0x2ac257,_0x112280=[];if(!_0x5de73c[_0x34900a(0x278)]||!Array['isArray'](_0x5de73c['actions'])||_0x5de73c['actions']['length']===0x0)_0x112280['push'](_0x34900a(0x260));else for(const [_0x2a2d68,_0x19cdbb]of _0x5de73c[_0x34900a(0x278)][_0x34900a(0x1f5)]()){if(!_0x19cdbb[_0x34900a(0x1a0)]){_0x112280[_0x34900a(0x2d2)]('Action\x20'+(_0x2a2d68+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x19cdbb['type']){case _0x34900a(0x234):if(!_0x19cdbb['command']||!_0x19cdbb['command'][_0x34900a(0x267)]())_0x112280[_0x34900a(0x2d2)](_0x34900a(0x205)+(_0x2a2d68+0x1)+_0x34900a(0x1c1));else{if(this['isBlockedCommand'](_0x19cdbb[_0x34900a(0x1ac)]))_0x112280['push']('Action\x20'+(_0x2a2d68+0x1)+_0x34900a(0x1ee)+_0x19cdbb[_0x34900a(0x1ac)]);else this[_0x34900a(0x256)]&&!this['isAllowedCommand'](_0x19cdbb['command'])&&_0x112280[_0x34900a(0x2d2)](_0x34900a(0x205)+(_0x2a2d68+0x1)+_0x34900a(0x20e)+_0x19cdbb['command']);}break;case _0x34900a(0x2c3):case _0x34900a(0x253):case'create-directory':(!_0x19cdbb['directory']||!_0x19cdbb['directory']['trim']())&&_0x112280['push']('Action\x20'+(_0x2a2d68+0x1)+':\x20directory\x20is\x20required\x20for\x20'+_0x19cdbb['type']);break;case _0x34900a(0x1eb):break;default:_0x112280[_0x34900a(0x2d2)](_0x34900a(0x205)+(_0x2a2d68+0x1)+_0x34900a(0x227)+_0x19cdbb['type']);}}return _0x5de73c[_0x34900a(0x1d2)]&&(_0x5de73c[_0x34900a(0x1d2)]<0x3e8||_0x5de73c[_0x34900a(0x1d2)]>this['timeout'])&&_0x112280['push'](_0x34900a(0x251)+this[_0x34900a(0x1d2)]+_0x34900a(0x20b)),{'valid':_0x112280[_0x34900a(0x1e2)]===0x0,'errors':_0x112280};}async[a0_0x2ac257(0x2c6)](_0x35997f,_0x5240c0){const _0x37ad60=a0_0x2ac257,{actions:_0x336410,timeout:_0x452c5f,async:_0x3c42a5}=_0x35997f,{agentId:_0x1c64df,projectDir:_0x22a1fc,directoryAccess:_0xd9004d}=_0x5240c0,_0x2c20df=_0xd9004d||this[_0x37ad60(0x229)]['createDirectoryAccess']({'workingDirectory':_0x22a1fc||process[_0x37ad60(0x2c1)](),'writeEnabledDirectories':[_0x22a1fc||process[_0x37ad60(0x2c1)]()],'restrictToProject':!![]});_0xd9004d&&_0xd9004d['workingDirectory']?console['log']('Terminal\x20DEBUG:\x20Using\x20agent\x20configured\x20working\x20directory:',_0xd9004d['workingDirectory']):console[_0x37ad60(0x206)](_0x37ad60(0x190),_0x22a1fc||process['cwd']());const _0x4f73dc=_0x1c64df+'-'+(_0x22a1fc||'default');let _0x3ee2b2=this[_0x37ad60(0x25c)][_0x37ad60(0x18f)](_0x4f73dc)||this['directoryAccessManager'][_0x37ad60(0x2c8)](_0x2c20df);const _0x28c602=[];for(const _0x540d57 of _0x336410){try{let _0x1d3cf4;switch(_0x540d57[_0x37ad60(0x1a0)]){case'run-command':_0x1d3cf4=await this['executeCommand'](_0x540d57[_0x37ad60(0x1ac)],_0x3ee2b2,{'timeout':_0x452c5f||this['timeout'],'async':_0x3c42a5||![],'agentId':_0x1c64df,'context':{'toolsRegistry':_0x5240c0['toolsRegistry'],'aiService':_0x5240c0['aiService'],'apiKey':_0x5240c0['apiKey'],'customApiKeys':_0x5240c0['customApiKeys'],'platformProvided':_0x5240c0[_0x37ad60(0x270)]}});break;case'change-directory':_0x1d3cf4=await this['changeDirectory'](_0x540d57[_0x37ad60(0x213)],_0x3ee2b2,_0x2c20df),_0x3ee2b2=_0x1d3cf4['newDirectory'],this[_0x37ad60(0x25c)]['set'](_0x4f73dc,_0x3ee2b2);break;case'list-directory':_0x1d3cf4=await this['listDirectory'](_0x540d57[_0x37ad60(0x213)]==='.'?_0x3ee2b2:_0x540d57[_0x37ad60(0x213)]);break;case _0x37ad60(0x196):_0x1d3cf4=await this[_0x37ad60(0x242)](_0x540d57[_0x37ad60(0x213)],_0x3ee2b2);break;case _0x37ad60(0x1eb):_0x1d3cf4={'success':!![],'action':_0x37ad60(0x1eb),'workingDirectory':_0x3ee2b2,'message':_0x37ad60(0x1ef)+_0x3ee2b2};break;default:throw new Error(_0x37ad60(0x22c)+_0x540d57['type']);}_0x28c602['push'](_0x1d3cf4),this[_0x37ad60(0x1ba)](_0x540d57,_0x1d3cf4,_0x1c64df);}catch(_0x117ff4){const _0x4ddcc6={'success':![],'action':_0x540d57['type'],'error':_0x117ff4[_0x37ad60(0x254)],'command':_0x540d57['command']||_0x540d57[_0x37ad60(0x213)],'workingDirectory':_0x3ee2b2};_0x28c602['push'](_0x4ddcc6),this[_0x37ad60(0x1ba)](_0x540d57,_0x4ddcc6,_0x1c64df);}}const _0x2d4db4=_0x28c602['every'](_0x472f95=>_0x472f95[_0x37ad60(0x1e7)]),_0x332708=_0x28c602[_0x37ad60(0x244)](_0x4d21ac=>!_0x4d21ac[_0x37ad60(0x1e7)]);return{'success':_0x2d4db4,'actions':_0x28c602,'workingDirectory':_0x3ee2b2,'executedActions':_0x336410['length'],'failedActions':_0x332708[_0x37ad60(0x1e2)],'toolUsed':_0x37ad60(0x211),'message':_0x2d4db4?_0x37ad60(0x2bf)+_0x336410['length']+'\x20actions\x20completed\x20successfully':_0x332708['length']+_0x37ad60(0x199)+_0x336410[_0x37ad60(0x1e2)]+_0x37ad60(0x252)};}async['executeCommand'](_0x1002ce,_0x488a4c,_0x52f95e={}){const _0x1ed603=a0_0x2ac257,{timeout:timeout=this['timeout'],async:_0x3028f5=![],agentId:_0x2918de,context:_0x5d3cb5}=_0x52f95e,_0x1377ba=_0x1002ce;let _0x140fc5;try{_0x140fc5=await this['translateCommand'](_0x1002ce,{'agentId':_0x2918de,'toolsRegistry':_0x5d3cb5?.[_0x1ed603(0x2c5)],'messageProcessor':_0x5d3cb5?.[_0x1ed603(0x287)],'aiService':_0x5d3cb5?.[_0x1ed603(0x1e4)],'apiKey':_0x5d3cb5?.[_0x1ed603(0x189)],'customApiKeys':_0x5d3cb5?.[_0x1ed603(0x275)],'platformProvided':_0x5d3cb5?.['platformProvided']});}catch(_0x48c3a4){this[_0x1ed603(0x1ff)]?.['warn'](_0x1ed603(0x1e5),{'originalCommand':_0x1377ba,'error':_0x48c3a4['message']}),_0x140fc5=_0x1002ce;}return new Promise((_0x43499f,_0x5a0899)=>{const _0x3e1c05=_0x1ed603,_0x1f9e3f=Date[_0x3e1c05(0x2a9)]();this[_0x3e1c05(0x1ff)]?.[_0x3e1c05(0x25b)](_0x3e1c05(0x25f)+_0x140fc5,{'originalCommand':_0x1377ba,'translatedCommand':_0x140fc5,'terminal':this[_0x3e1c05(0x1dd)],'workingDirectory':_0x488a4c,'timeout':timeout,'agentId':_0x2918de});const _0x16b670=exec(_0x140fc5,{'cwd':_0x488a4c,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process['env']}},(_0x484e9f,_0x446dda,_0x534dd0)=>{const _0x1cb93b=_0x3e1c05,_0x3968ba=Date[_0x1cb93b(0x2a9)]()-_0x1f9e3f;if(_0x484e9f){this[_0x1cb93b(0x1ff)]?.['error']('Command\x20failed:\x20'+_0x140fc5,{'originalCommand':_0x1377ba,'translatedCommand':_0x140fc5,'error':_0x484e9f['message'],'workingDirectory':_0x488a4c,'executionTime':_0x3968ba}),_0x43499f({'success':![],'action':_0x1cb93b(0x234),'command':_0x1377ba,'translatedCommand':_0x140fc5!==_0x1377ba?_0x140fc5:undefined,'error':_0x484e9f['message'],'stderr':_0x534dd0['trim'](),'stdout':_0x446dda['trim'](),'exitCode':_0x484e9f[_0x1cb93b(0x18b)],'executionTime':_0x3968ba,'workingDirectory':_0x488a4c});return;}this['logger']?.['info']('Command\x20completed:\x20'+_0x140fc5,{'originalCommand':_0x1377ba,'translatedCommand':_0x140fc5,'executionTime':_0x3968ba,'stdoutLength':_0x446dda['length'],'stderrLength':_0x534dd0[_0x1cb93b(0x1e2)]}),_0x43499f({'success':!![],'action':'run-command','command':_0x1377ba,'translatedCommand':_0x140fc5!==_0x1377ba?_0x140fc5:undefined,'stdout':_0x446dda[_0x1cb93b(0x267)](),'stderr':_0x534dd0[_0x1cb93b(0x267)](),'exitCode':0x0,'executionTime':_0x3968ba,'workingDirectory':_0x488a4c,'message':_0x1cb93b(0x22a)+_0x3968ba+'ms'});});setTimeout(()=>{const _0x282f29=_0x3e1c05;!_0x16b670['killed']&&(_0x16b670[_0x282f29(0x192)]('SIGTERM'),_0x5a0899(new Error('Command\x20timed\x20out\x20after\x20'+timeout+'ms:\x20'+_0x140fc5+'\x20(original:\x20'+_0x1377ba+')')));},timeout);});}async[a0_0x2ac257(0x238)](_0x15e7d8,_0x347aaa,_0x9f377c={}){const _0x46277e=a0_0x2ac257,{timeout:timeout=this[_0x46277e(0x1d2)],agentId:_0x386f0d,context:_0x4389a9}=_0x9f377c,_0x1b07f8=_0x15e7d8;let _0x4a5bab;try{_0x4a5bab=await this[_0x46277e(0x1ea)](_0x15e7d8,{'agentId':_0x386f0d,'toolsRegistry':_0x4389a9?.[_0x46277e(0x2c5)],'messageProcessor':_0x4389a9?.[_0x46277e(0x287)],'aiService':_0x4389a9?.['aiService'],'apiKey':_0x4389a9?.['apiKey'],'customApiKeys':_0x4389a9?.['customApiKeys'],'platformProvided':_0x4389a9?.['platformProvided']});}catch(_0x143505){this[_0x46277e(0x1ff)]?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x1b07f8,'error':_0x143505[_0x46277e(0x254)]}),_0x4a5bab=_0x15e7d8;}return new Promise((_0x55970e,_0x46b181)=>{const _0x5c5b1d=_0x46277e,_0x274f5a=Date[_0x5c5b1d(0x2a9)]();this[_0x5c5b1d(0x1ff)]?.[_0x5c5b1d(0x25b)]('Executing\x20command\x20with\x20spawn:\x20'+_0x4a5bab,{'originalCommand':_0x1b07f8,'translatedCommand':_0x4a5bab,'terminal':this['detectedTerminal'],'workingDirectory':_0x347aaa,'timeout':timeout,'agentId':_0x386f0d});let _0x33c928;if(this[_0x5c5b1d(0x1dd)]==='cmd'||this['detectedTerminal']===_0x5c5b1d(0x20f)){const _0x1388b8=this[_0x5c5b1d(0x1dd)]==='powershell'?_0x5c5b1d(0x20f):_0x5c5b1d(0x1b0),_0x230c50=this['detectedTerminal']===_0x5c5b1d(0x20f)?['-Command',_0x4a5bab]:['/c',_0x4a5bab];_0x33c928=spawn(_0x1388b8,_0x230c50,{'cwd':_0x347aaa,'env':{...process[_0x5c5b1d(0x228)]},'windowsHide':!![]});}else _0x33c928=spawn('sh',['-c',_0x4a5bab],{'cwd':_0x347aaa,'env':{...process[_0x5c5b1d(0x228)]}});let _0x87c7a1='',_0x531dc2='',_0x3f176b=![],_0x4e4312=null,_0x70e63a=Date[_0x5c5b1d(0x2a9)](),_0x3fef99=null;const _0x189ec9=setTimeout(()=>{const _0x52d880=_0x5c5b1d;!_0x33c928[_0x52d880(0x209)]&&_0x4e4312===null&&(_0x3f176b=!![],this['logger']?.[_0x52d880(0x27c)](_0x52d880(0x1d9)+_0x4a5bab,{'timeout':timeout,'agentId':_0x386f0d}),_0x33c928[_0x52d880(0x192)]('SIGTERM'),setTimeout(()=>{const _0x4f8a08=_0x52d880;!_0x33c928['killed']&&_0x33c928[_0x4f8a08(0x192)](_0x4f8a08(0x2b0));},0x1388));},timeout);_0x33c928['stdout']['on']('data',_0x8b736c=>{const _0x28eed8=_0x5c5b1d,_0x1caaff=_0x8b736c[_0x28eed8(0x21d)]();_0x87c7a1+=_0x1caaff,_0x70e63a=Date['now'](),this[_0x28eed8(0x1ff)]?.['debug']('Command\x20output\x20chunk:\x20'+_0x1caaff['substring'](0x0,0x64),{'agentId':_0x386f0d,'command':_0x1b07f8['substring'](0x0,0x32)});if(!_0x3fef99){const _0x1aa975=this['promptDetector']['detectPrompt'](_0x87c7a1,_0x28eed8(0x2b8));_0x1aa975&&(_0x3fef99=_0x1aa975,this['logger']?.[_0x28eed8(0x25b)](_0x28eed8(0x1d4),{'type':_0x1aa975[_0x28eed8(0x1a0)],'description':_0x1aa975[_0x28eed8(0x1c3)],'matchedText':_0x1aa975[_0x28eed8(0x248)],'agentId':_0x386f0d,'command':_0x1b07f8['substring'](0x0,0x32)}));}}),_0x33c928[_0x5c5b1d(0x266)]['on']('data',_0x45b67b=>{const _0x30a424=_0x5c5b1d,_0x5ecad5=_0x45b67b[_0x30a424(0x21d)]();_0x531dc2+=_0x5ecad5,_0x70e63a=Date['now'](),this['logger']?.[_0x30a424(0x286)](_0x30a424(0x2b2)+_0x5ecad5[_0x30a424(0x222)](0x0,0x64),{'agentId':_0x386f0d,'command':_0x1b07f8['substring'](0x0,0x32)});if(!_0x3fef99){const _0x32a5bd=this[_0x30a424(0x1bc)][_0x30a424(0x262)](_0x531dc2,_0x30a424(0x266));_0x32a5bd&&(_0x3fef99=_0x32a5bd,this[_0x30a424(0x1ff)]?.[_0x30a424(0x25b)]('Prompt\x20detected\x20in\x20stderr',{'type':_0x32a5bd['type'],'description':_0x32a5bd[_0x30a424(0x1c3)],'matchedText':_0x32a5bd[_0x30a424(0x248)],'agentId':_0x386f0d,'command':_0x1b07f8[_0x30a424(0x222)](0x0,0x32)}));}}),_0x33c928['on'](_0x5c5b1d(0x1b8),(_0x47afcc,_0x2260c8)=>{const _0x24a770=_0x5c5b1d;clearTimeout(_0x189ec9),_0x4e4312=_0x47afcc;const _0x467f3f=Date[_0x24a770(0x2a9)]()-_0x274f5a,_0x16eabd=Date[_0x24a770(0x2a9)]()-_0x70e63a;this[_0x24a770(0x1ff)]?.[_0x24a770(0x25b)](_0x24a770(0x24c)+_0x4a5bab,{'exitCode':_0x47afcc,'signal':_0x2260c8,'executionTime':_0x467f3f,'timedOut':_0x3f176b,'stdoutLength':_0x87c7a1['length'],'stderrLength':_0x531dc2[_0x24a770(0x1e2)],'promptDetected':!!_0x3fef99,'timeSinceLastOutput':_0x16eabd});const _0x4592d4={'action':'run-command','command':_0x1b07f8,'translatedCommand':_0x4a5bab!==_0x1b07f8?_0x4a5bab:undefined,'stdout':_0x87c7a1[_0x24a770(0x267)](),'stderr':_0x531dc2[_0x24a770(0x267)](),'exitCode':_0x47afcc,'executionTime':_0x467f3f,'workingDirectory':_0x347aaa,'promptDetected':!!_0x3fef99,'promptInfo':_0x3fef99||undefined,'lastOutputTime':_0x70e63a,'timeSinceLastOutput':_0x16eabd};if(_0x3f176b){_0x55970e({..._0x4592d4,'success':![],'error':'Command\x20timed\x20out\x20after\x20'+timeout+'ms','exitCode':_0x47afcc||-0x1,'timedOut':!![]});return;}if(_0x47afcc!==0x0){this['logger']?.['error'](_0x24a770(0x2ab)+_0x47afcc+':\x20'+_0x4a5bab,{'originalCommand':_0x1b07f8,'translatedCommand':_0x4a5bab,'exitCode':_0x47afcc,'stderr':_0x531dc2[_0x24a770(0x222)](0x0,0xc8),'executionTime':_0x467f3f,'promptDetected':!!_0x3fef99}),_0x55970e({..._0x4592d4,'success':![],'error':'Command\x20exited\x20with\x20code\x20'+_0x47afcc});return;}this['logger']?.['info'](_0x24a770(0x2a1)+_0x4a5bab,{'originalCommand':_0x1b07f8,'executionTime':_0x467f3f,'stdoutLength':_0x87c7a1['length'],'stderrLength':_0x531dc2['length'],'promptDetected':!!_0x3fef99}),_0x55970e({..._0x4592d4,'success':!![],'exitCode':0x0,'message':_0x24a770(0x22a)+_0x467f3f+'ms'});}),_0x33c928['on'](_0x5c5b1d(0x24d),_0x5762a9=>{const _0x21cfec=_0x5c5b1d;clearTimeout(_0x189ec9);const _0x3481de=Date[_0x21cfec(0x2a9)]()-_0x274f5a,_0x2935f6=Date[_0x21cfec(0x2a9)]()-_0x70e63a;this['logger']?.[_0x21cfec(0x24d)]('Command\x20spawn\x20error:\x20'+_0x4a5bab,{'originalCommand':_0x1b07f8,'error':_0x5762a9['message'],'executionTime':_0x3481de,'promptDetected':!!_0x3fef99}),_0x55970e({'success':![],'action':_0x21cfec(0x234),'command':_0x1b07f8,'translatedCommand':_0x4a5bab!==_0x1b07f8?_0x4a5bab:undefined,'error':_0x5762a9[_0x21cfec(0x254)],'stderr':_0x531dc2['trim'](),'stdout':_0x87c7a1['trim'](),'exitCode':-0x1,'executionTime':_0x3481de,'workingDirectory':_0x347aaa,'promptDetected':!!_0x3fef99,'promptInfo':_0x3fef99||undefined,'lastOutputTime':_0x70e63a,'timeSinceLastOutput':_0x2935f6});});});}async['changeDirectory'](_0x29452e,_0x4d19d7,_0x18521a){const _0x413f99=a0_0x2ac257;try{let _0x49ca87;a0_0x2071f3['isAbsolute'](_0x29452e)?_0x49ca87=_0x29452e:_0x49ca87=a0_0x2071f3[_0x413f99(0x1b7)](_0x4d19d7,_0x29452e);const _0x4f150d=await a0_0x5f5a78[_0x413f99(0x23b)](_0x49ca87);if(!_0x4f150d[_0x413f99(0x217)]())throw new Error('Not\x20a\x20directory:\x20'+_0x49ca87);const _0x40c0d6=this['directoryAccessManager']['validateReadAccess'](_0x49ca87,_0x18521a);if(!_0x40c0d6['allowed']){this[_0x413f99(0x1ff)]?.[_0x413f99(0x27c)]('Directory\x20change\x20blocked:\x20'+_0x40c0d6['reason'],{'targetDirectory':_0x49ca87,'reason':_0x40c0d6['reason'],'category':_0x40c0d6[_0x413f99(0x21e)]});throw new Error(_0x413f99(0x249)+_0x40c0d6[_0x413f99(0x299)]);}return{'success':!![],'action':_0x413f99(0x2c3),'previousDirectory':_0x4d19d7,'newDirectory':_0x49ca87,'message':_0x413f99(0x20d)+_0x49ca87};}catch(_0x441a8e){throw new Error(_0x413f99(0x231)+_0x29452e+':\x20'+_0x441a8e['message']);}}async['listDirectory'](_0xbe7841){const _0x179217=a0_0x2ac257;try{const _0x2e91aa=await a0_0x5f5a78['readdir'](_0xbe7841,{'withFileTypes':!![]}),_0x33fe84=_0x2e91aa['map'](_0xd667a9=>({'name':_0xd667a9[_0x179217(0x200)],'type':_0xd667a9['isDirectory']()?_0x179217(0x213):'file','isSymlink':_0xd667a9[_0x179217(0x1b3)]()}));return{'success':!![],'action':'list-directory','directory':_0xbe7841,'contents':_0x33fe84,'totalItems':_0x33fe84['length'],'directories':_0x33fe84[_0x179217(0x244)](_0x2fcd1b=>_0x2fcd1b['type']==='directory')[_0x179217(0x1e2)],'files':_0x33fe84['filter'](_0x37fc2d=>_0x37fc2d['type']==='file')['length'],'message':'Listed\x20'+_0x33fe84[_0x179217(0x1e2)]+_0x179217(0x2a7)+_0xbe7841};}catch(_0x40e1c1){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0xbe7841+':\x20'+_0x40e1c1[_0x179217(0x254)]);}}async['createDirectory'](_0x560619,_0xaf40af){const _0x310ffa=a0_0x2ac257;try{let _0x5e9a8c;return a0_0x2071f3['isAbsolute'](_0x560619)?_0x5e9a8c=_0x560619:_0x5e9a8c=a0_0x2071f3['resolve'](_0xaf40af,_0x560619),await a0_0x5f5a78[_0x310ffa(0x27d)](_0x5e9a8c,{'recursive':!![]}),{'success':!![],'action':_0x310ffa(0x196),'directory':_0x5e9a8c,'relativePath':a0_0x2071f3['relative'](_0xaf40af,_0x5e9a8c),'message':_0x310ffa(0x1b6)+_0x5e9a8c};}catch(_0x248185){throw new Error(_0x310ffa(0x1f3)+_0x560619+':\x20'+_0x248185['message']);}}['isBlockedCommand'](_0x327b6e){const _0x4d583a=a0_0x2ac257,_0x38bbfd=_0x327b6e['toLowerCase']()[_0x4d583a(0x267)]();return this[_0x4d583a(0x28b)][_0x4d583a(0x22f)](_0x567f31=>{const _0x1eed91=_0x4d583a,_0x27ee2c=_0x567f31['toLowerCase']();return _0x38bbfd===_0x27ee2c||_0x38bbfd[_0x1eed91(0x197)](_0x27ee2c+'\x20');});}[a0_0x2ac257(0x1a9)](_0x3e29e6){const _0x2dca85=a0_0x2ac257;if(!this[_0x2dca85(0x256)])return!![];const _0x36e476=_0x3e29e6['toLowerCase']()[_0x2dca85(0x267)](),_0x146fc0=_0x36e476[_0x2dca85(0x276)]('\x20')[0x0];return this['allowedCommands']['some'](_0x147aa8=>_0x147aa8[_0x2dca85(0x2d0)]()===_0x146fc0||_0x36e476['startsWith'](_0x147aa8[_0x2dca85(0x2d0)]()+'\x20'));}['addToHistory'](_0x44f25e,_0x554732,_0xbd6292){const _0x28323b=a0_0x2ac257,_0x3062b1={'timestamp':new Date()[_0x28323b(0x273)](),'agentId':_0xbd6292,'action':_0x44f25e[_0x28323b(0x1a0)],'command':_0x44f25e[_0x28323b(0x1ac)]||_0x44f25e[_0x28323b(0x213)],'success':_0x554732['success'],'executionTime':_0x554732[_0x28323b(0x198)]||0x0,'workingDirectory':_0x554732['workingDirectory']};this['commandHistory'][_0x28323b(0x2d2)](_0x3062b1),this['commandHistory'][_0x28323b(0x1e2)]>0x64&&(this['commandHistory']=this['commandHistory'][_0x28323b(0x263)](-0x64));}['getSupportedActions'](){const _0x4eb7ba=a0_0x2ac257;return['run-command',_0x4eb7ba(0x2c3),'list-directory','create-directory',_0x4eb7ba(0x1eb)];}['getParameterSchema'](){const _0x148a44=a0_0x2ac257;return{'type':'object','properties':{'actions':{'type':_0x148a44(0x2a5),'minItems':0x1,'items':{'type':_0x148a44(0x1da),'properties':{'type':{'type':_0x148a44(0x201),'enum':this[_0x148a44(0x1db)]()},'command':{'type':_0x148a44(0x201)},'directory':{'type':'string'}},'required':[_0x148a44(0x1a0)]}},'timeout':{'type':'integer','minimum':0x3e8,'maximum':this[_0x148a44(0x1d2)]},'async':{'type':_0x148a44(0x1a7)}},'required':['actions']};}['getCommandHistory'](_0x518df6=null){const _0x598959=a0_0x2ac257;if(_0x518df6)return this['commandHistory'][_0x598959(0x244)](_0x3dd560=>_0x3dd560[_0x598959(0x183)]===_0x518df6);return[...this['commandHistory']];}[a0_0x2ac257(0x2d3)](_0x149797){const _0x547657=a0_0x2ac257;for(const [_0x349b48]of this[_0x547657(0x25c)]){_0x349b48[_0x547657(0x197)](_0x149797+'-')&&this['workingDirectories'][_0x547657(0x1aa)](_0x349b48);}}[a0_0x2ac257(0x245)](_0x31934b,_0x25fd9b=null){const _0x4c6b1a=a0_0x2ac257,_0x4e1774=_0x31934b+'-'+(_0x25fd9b||'default');return this[_0x4c6b1a(0x25c)][_0x4c6b1a(0x18f)](_0x4e1774)||_0x25fd9b||process[_0x4c6b1a(0x2c1)]();}[a0_0x2ac257(0x27f)](){const _0x19343d=a0_0x2ac257;this[_0x19343d(0x184)]=process['platform'];if(process['platform']===_0x19343d(0x218)){if(process[_0x19343d(0x228)][_0x19343d(0x1a4)])this[_0x19343d(0x1dd)]='powershell';else process[_0x19343d(0x228)]['SHELL']&&process[_0x19343d(0x228)]['SHELL']['includes'](_0x19343d(0x188))?this[_0x19343d(0x1dd)]='bash':this['detectedTerminal']='cmd';}else process[_0x19343d(0x290)]==='darwin'?this[_0x19343d(0x1dd)]=_0x19343d(0x188):this[_0x19343d(0x1dd)]=_0x19343d(0x188);this[_0x19343d(0x1ff)]?.['info']('Terminal\x20detected',{'platform':this['platformType'],'terminal':this[_0x19343d(0x1dd)],'shell':process[_0x19343d(0x228)][_0x19343d(0x2b5)]});}async[a0_0x2ac257(0x1ea)](_0x485e6f,_0x25b008={}){const _0x16b984=a0_0x2ac257,_0x2dcc69=_0x485e6f[_0x16b984(0x267)](),_0x295c40=this['analyzeCommandCompatibility'](_0x2dcc69);this['logger']?.[_0x16b984(0x25b)]('Command\x20compatibility\x20analysis',{'command':_0x2dcc69,'detectedTerminal':_0x295c40['detectedTerminal'],'commandType':_0x295c40[_0x16b984(0x250)],'commandCategory':_0x295c40[_0x16b984(0x1fa)],'compatible':_0x295c40['compatible'],'issues':_0x295c40[_0x16b984(0x282)],'suggestedAction':_0x295c40[_0x16b984(0x18d)],'confidence':_0x295c40[_0x16b984(0x21c)]});if(_0x295c40['compatible'])return _0x485e6f;let _0x83f06=null;if(this[_0x16b984(0x1dd)]==='cmd')_0x83f06=this[_0x16b984(0x28f)](_0x2dcc69);else{if(this[_0x16b984(0x1dd)]==='powershell')_0x83f06=this['translateToPowerShell'](_0x2dcc69);else this[_0x16b984(0x1dd)]===_0x16b984(0x188)&&(_0x83f06=this['translateToBash'](_0x2dcc69));}if(_0x83f06&&this['isSimpleCommand'](_0x2dcc69))return this[_0x16b984(0x1ff)]?.['info']('Using\x20simple\x20translation',{'original':_0x485e6f,'translated':_0x83f06,'method':'simple'}),_0x83f06;if(_0x25b008['aiService']||_0x25b008['toolsRegistry']&&_0x25b008[_0x16b984(0x183)]){this['logger']?.[_0x16b984(0x25b)]('Attempting\x20AI\x20translation\x20for\x20complex\x20command',{'command':_0x485e6f[_0x16b984(0x222)](0x0,0x64)+'...','hasAiService':!!_0x25b008['aiService'],'hasToolsRegistry':!!_0x25b008['toolsRegistry'],'agentId':_0x25b008['agentId']});try{const _0x6114e8=await this['translateCommandWithAI'](_0x485e6f,_0x25b008);if(_0x6114e8&&_0x6114e8['trim']()!==_0x485e6f[_0x16b984(0x267)]())return this['logger']?.[_0x16b984(0x25b)]('Using\x20AI\x20translation',{'original':_0x485e6f,'translated':_0x6114e8,'method':'ai'}),_0x6114e8;else this[_0x16b984(0x1ff)]?.[_0x16b984(0x27c)](_0x16b984(0x285),{'original':_0x485e6f,'translated':_0x6114e8});}catch(_0x2720ee){this['logger']?.[_0x16b984(0x27c)]('AI\x20translation\x20failed,\x20falling\x20back\x20to\x20simple\x20translation',{'original':_0x485e6f,'error':_0x2720ee['message'],'stack':_0x2720ee[_0x16b984(0x223)]});}}else this['logger']?.[_0x16b984(0x27c)](_0x16b984(0x19d),{'hasAiService':!!_0x25b008[_0x16b984(0x1e4)],'hasToolsRegistry':!!_0x25b008['toolsRegistry'],'hasAgentId':!!_0x25b008[_0x16b984(0x183)],'contextKeys':Object[_0x16b984(0x1cd)](_0x25b008)});return _0x83f06||_0x485e6f;}[a0_0x2ac257(0x284)](_0x4d027f){const _0x1f4569=a0_0x2ac257,_0x429e47=_0x4d027f[_0x1f4569(0x2d0)]();if(_0x4d027f[_0x1f4569(0x1a6)]('\x5cn')||_0x4d027f[_0x1f4569(0x1a6)]('\x5cr')||_0x4d027f['includes']('\x5ct'))return![];if(_0x4d027f[_0x1f4569(0x1a6)]('\x0a')||_0x4d027f['includes']('\x0d'))return![];if(_0x4d027f[_0x1f4569(0x1a6)](_0x1f4569(0x24e))||_0x4d027f['includes']('printf')||_0x4d027f['includes']('main()'))return![];if(_0x4d027f[_0x1f4569(0x1a6)]('def\x20')||_0x4d027f[_0x1f4569(0x1a6)]('function\x20')||_0x4d027f['includes']('class\x20'))return![];if(_0x4d027f[_0x1f4569(0x1a6)](_0x1f4569(0x288))&&!_0x4d027f[_0x1f4569(0x1a6)](_0x1f4569(0x208)))return![];const _0x392346=_0x4d027f[_0x1f4569(0x219)](/'([^']*)'/);if(_0x392346&&_0x392346[0x1][_0x1f4569(0x1e2)]>0x32)return![];if(this[_0x1f4569(0x1dd)]===_0x1f4569(0x1b0)&&_0x4d027f[_0x1f4569(0x1a6)]('>')&&_0x4d027f[_0x1f4569(0x1a6)]('/')&&!_0x4d027f['includes']('\x5c'))return![];if(_0x4d027f[_0x1f4569(0x1a6)](_0x1f4569(0x25d))||_0x4d027f['includes']('\x20||\x20')||_0x4d027f[_0x1f4569(0x1a6)](';\x20'))return![];if(_0x4d027f[_0x1f4569(0x1a6)]('$(')||_0x4d027f[_0x1f4569(0x1a6)]('`')||_0x4d027f[_0x1f4569(0x1a6)]('{')||_0x4d027f['includes']('['))return![];if(_0x429e47['includes']('for\x20')||_0x429e47['includes'](_0x1f4569(0x296))||_0x429e47['includes'](_0x1f4569(0x2b9)))return![];if(_0x429e47[_0x1f4569(0x1a6)]('export ')||_0x429e47['includes'](_0x1f4569(0x2d4)))return![];if(_0x4d027f[_0x1f4569(0x1a6)](_0x1f4569(0x28a))||_0x4d027f['includes'](_0x1f4569(0x2ca)))return![];return!![];}async[a0_0x2ac257(0x23a)](_0x5b33e3,_0x21a076){const _0x1d54be=a0_0x2ac257;let _0x365046=_0x21a076['aiService'];if(!_0x365046&&_0x21a076[_0x1d54be(0x2c5)]&&_0x21a076['agentId']){const _0x31f780=_0x21a076['messageProcessor'];_0x31f780&&_0x31f780['aiService']&&(_0x365046=_0x31f780['aiService']);}if(!_0x365046)throw new Error(_0x1d54be(0x1f1));const _0x177b7f=this[_0x1d54be(0x29d)](_0x5b33e3),_0x2b30cf=_0x1d54be(0x19b);try{const _0x48759d=await _0x365046['sendMessage'](_0x2b30cf,_0x177b7f,{'agentId':_0x21a076['agentId'],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x21a076[_0x1d54be(0x189)],'customApiKeys':_0x21a076['customApiKeys'],'platformProvided':_0x21a076['platformProvided']}),_0x3f37b6=this[_0x1d54be(0x291)](_0x48759d['content']);return this['logger']?.[_0x1d54be(0x286)]('AI\x20command\x20translation\x20completed',{'original':_0x5b33e3,'translated':_0x3f37b6,'model':_0x2b30cf,'terminal':this['detectedTerminal']}),_0x3f37b6;}catch(_0xee0c8b){this[_0x1d54be(0x1ff)]?.['error'](_0x1d54be(0x298),{'command':_0x5b33e3,'terminal':this[_0x1d54be(0x1dd)],'error':_0xee0c8b['message']});throw _0xee0c8b;}}[a0_0x2ac257(0x29d)](_0x59fec3){const _0x10891b=a0_0x2ac257,_0xa34238={'cmd':_0x10891b(0x1d0),'powershell':'Windows\x20PowerShell','bash':_0x10891b(0x27e)},_0x150fb5=_0xa34238[this['detectedTerminal']]||this['detectedTerminal'],_0x3b03f2=this['analyzeCommandCompatibility'](_0x59fec3);let _0x5ee4e8=_0x10891b(0x194)+_0x150fb5+':\x0a\x0aORIGINAL\x20COMMAND:\x0a```\x0a'+_0x59fec3+_0x10891b(0x1b4)+_0x3b03f2[_0x10891b(0x250)]+_0x10891b(0x236)+_0x3b03f2['commandCategory']+_0x10891b(0x26f)+_0x150fb5+'\x0a-\x20Compatibility\x20Issues:\x20'+(_0x3b03f2['specificIssues'][_0x10891b(0x221)](',\x20')||'None\x20detected');return _0x3b03f2[_0x10891b(0x250)]==='unix'&&_0x3b03f2['alternatives']&&_0x3b03f2['alternatives'][this[_0x10891b(0x1dd)]]&&(_0x5ee4e8+='\x0a-\x20Suggested\x20Alternative:\x20'+_0x3b03f2['alternatives'][this[_0x10891b(0x1dd)]]),_0x5ee4e8+='\x0a\x0aREQUIREMENTS:\x0a1.\x20Make\x20the\x20command\x20work\x20correctly\x20in\x20'+_0x150fb5+_0x10891b(0x19e),_0x5ee4e8;}[a0_0x2ac257(0x291)](_0xec973c){const _0x133e31=a0_0x2ac257;let _0x51d558=_0xec973c[_0x133e31(0x1e6)](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x51d558=_0x51d558['replace'](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x155355=_0x51d558[_0x133e31(0x267)]()[_0x133e31(0x276)]('\x0a');return _0x155355[_0x133e31(0x1e2)]>0x1&&!_0x51d558['includes']('&&')&&!_0x51d558[_0x133e31(0x1a6)]('||')&&(_0x51d558=_0x155355[0x0]['trim']()),_0x51d558[_0x133e31(0x267)]();}['analyzeCommandCompatibility'](_0x51d890){const _0x572413=a0_0x2ac257,_0x58d0b1=this['classifyCommand'](_0x51d890),_0x3b9702=this['isCommandCompatibleWithTerminal'](_0x58d0b1,this[_0x572413(0x1dd)]);return{'compatible':_0x3b9702,'detectedTerminal':this['detectedTerminal'],'commandType':_0x58d0b1[_0x572413(0x1a0)],'commandCategory':_0x58d0b1['category'],'specificIssues':_0x58d0b1[_0x572413(0x215)],'suggestedAction':_0x3b9702?'execute':'translate','confidence':_0x58d0b1['confidence']};}[a0_0x2ac257(0x230)](_0x5ede54){return this['analyzeCommandCompatibility'](_0x5ede54)['compatible'];}['classifyCommand'](_0x513998){const _0x188abc=a0_0x2ac257,_0x19e892=_0x513998[_0x188abc(0x2d0)]()['trim'](),_0x38f7d0=_0x19e892[_0x188abc(0x276)]('\x20')[0x0],_0x51522b=[];let _0x3281df=0.9;const _0x2957ff={'ls':{'category':'file-listing','alternatives':{'cmd':_0x188abc(0x293),'powershell':'Get-ChildItem'}},'cat':{'category':'file-viewing','alternatives':{'cmd':_0x188abc(0x1a0),'powershell':'Get-Content'}},'grep':{'category':'text-search','alternatives':{'cmd':'findstr','powershell':_0x188abc(0x1a8)}},'find':{'category':'file-search','alternatives':{'cmd':_0x188abc(0x283),'powershell':_0x188abc(0x1cb)}},'head':{'category':_0x188abc(0x24f),'alternatives':{'cmd':_0x188abc(0x1f4),'powershell':_0x188abc(0x28e)}},'tail':{'category':_0x188abc(0x24f),'alternatives':{'cmd':'more\x20+n','powershell':_0x188abc(0x1d7)}},'wc':{'category':_0x188abc(0x1c7),'alternatives':{'cmd':_0x188abc(0x268),'powershell':'Measure-Object'}},'cp':{'category':'file-copy','alternatives':{'cmd':_0x188abc(0x240),'powershell':_0x188abc(0x1fb)}},'mv':{'category':'file-move','alternatives':{'cmd':_0x188abc(0x1be),'powershell':'Move-Item'}},'rm':{'category':_0x188abc(0x2cc),'alternatives':{'cmd':'del','powershell':'Remove-Item'}},'mkdir':{'category':'directory-create','alternatives':{'cmd':_0x188abc(0x27d),'powershell':_0x188abc(0x21f)}},'rmdir':{'category':'directory-delete','alternatives':{'cmd':_0x188abc(0x186),'powershell':'Remove-Item'}},'touch':{'category':_0x188abc(0x1e1),'alternatives':{'cmd':'type\x20nul\x20>','powershell':'New-Item\x20-Type\x20File'}},'chmod':{'category':'permissions','alternatives':{'cmd':'icacls','powershell':_0x188abc(0x28d)}},'chown':{'category':_0x188abc(0x26e),'alternatives':{'cmd':_0x188abc(0x20c),'powershell':_0x188abc(0x28d)}},'ps':{'category':_0x188abc(0x1ca),'alternatives':{'cmd':'tasklist','powershell':_0x188abc(0x1df)}},'kill':{'category':'process-kill','alternatives':{'cmd':_0x188abc(0x259),'powershell':'Stop-Process'}},'killall':{'category':_0x188abc(0x1b2),'alternatives':{'cmd':_0x188abc(0x27b),'powershell':_0x188abc(0x2c4)}},'top':{'category':_0x188abc(0x239),'alternatives':{'cmd':'tasklist','powershell':'Get-Process\x20|\x20Sort-Object\x20CPU'}},'wget':{'category':'download','alternatives':{'cmd':'curl','powershell':_0x188abc(0x1bb)}},'curl':{'category':'http-client','alternatives':{'cmd':'curl','powershell':'Invoke-RestMethod'}},'ping':{'category':'network-test','alternatives':{'cmd':'ping','powershell':_0x188abc(0x216)}},'awk':{'category':_0x188abc(0x1a2),'alternatives':{'cmd':'for\x20/f','powershell':'ForEach-Object'}},'sed':{'category':'text-edit','alternatives':{'cmd':'powershell\x20-c','powershell':_0x188abc(0x202)}},'sort':{'category':'text-sort','alternatives':{'cmd':'sort','powershell':'Sort-Object'}},'uniq':{'category':'text-dedupe','alternatives':{'cmd':'sort\x20/unique','powershell':'Sort-Object\x20-Unique'}},'pwd':{'category':_0x188abc(0x21b),'alternatives':{'cmd':'cd','powershell':'Get-Location'}},'whoami':{'category':_0x188abc(0x271),'alternatives':{'cmd':'echo\x20%USERNAME%','powershell':_0x188abc(0x2a2)}},'env':{'category':_0x188abc(0x281),'alternatives':{'cmd':'set','powershell':_0x188abc(0x1a5)}},'export':{'category':_0x188abc(0x281),'alternatives':{'cmd':_0x188abc(0x1cf),'powershell':'$env:'}},'source':{'category':'script-execute','alternatives':{'cmd':_0x188abc(0x1ab),'powershell':'.\x20'}},'tar':{'category':_0x188abc(0x246),'alternatives':{'cmd':'7z','powershell':_0x188abc(0x1f9)}},'zip':{'category':'archive','alternatives':{'cmd':_0x188abc(0x279),'powershell':_0x188abc(0x1f9)}},'unzip':{'category':_0x188abc(0x246),'alternatives':{'cmd':_0x188abc(0x224),'powershell':_0x188abc(0x1af)}},'df':{'category':_0x188abc(0x195),'alternatives':{'cmd':'fsutil\x20volume\x20diskfree','powershell':_0x188abc(0x1e3)}},'du':{'category':_0x188abc(0x29c),'alternatives':{'cmd':'dir\x20/s','powershell':'Get-ChildItem\x20-Recurse\x20|\x20Measure-Object'}},'free':{'category':_0x188abc(0x1ad),'alternatives':{'cmd':'systeminfo','powershell':_0x188abc(0x1e8)}},'uname':{'category':'system-info','alternatives':{'cmd':_0x188abc(0x203),'powershell':_0x188abc(0x1e0)}}},_0x54cb6a={'dir':{'category':'file-listing','alternatives':{'unix':'ls','powershell':'Get-ChildItem'}},'type':{'category':_0x188abc(0x24f),'alternatives':{'unix':_0x188abc(0x241),'powershell':'Get-Content'}},'copy':{'category':'file-copy','alternatives':{'unix':'cp','powershell':_0x188abc(0x1fb)}},'move':{'category':_0x188abc(0x247),'alternatives':{'unix':'mv','powershell':_0x188abc(0x26b)}},'del':{'category':'file-delete','alternatives':{'unix':'rm','powershell':'Remove-Item'}},'tasklist':{'category':'process-list','alternatives':{'unix':'ps','powershell':_0x188abc(0x1df)}},'taskkill':{'category':'process-kill','alternatives':{'unix':_0x188abc(0x192),'powershell':'Stop-Process'}},'findstr':{'category':'text-search','alternatives':{'unix':'grep','powershell':_0x188abc(0x1a8)}}},_0x13eced={'get-childitem':{'category':_0x188abc(0x255),'alternatives':{'unix':'ls','cmd':_0x188abc(0x293)}},'get-content':{'category':_0x188abc(0x24f),'alternatives':{'unix':'cat','cmd':'type'}},'copy-item':{'category':_0x188abc(0x19f),'alternatives':{'unix':'cp','cmd':_0x188abc(0x240)}},'move-item':{'category':_0x188abc(0x247),'alternatives':{'unix':'mv','cmd':_0x188abc(0x1be)}},'remove-item':{'category':_0x188abc(0x2cc),'alternatives':{'unix':'rm','cmd':_0x188abc(0x2ae)}},'get-process':{'category':'process-list','alternatives':{'unix':'ps','cmd':'tasklist'}},'stop-process':{'category':'process-kill','alternatives':{'unix':'kill','cmd':'taskkill'}}};let _0x4527ac=_0x188abc(0x210),_0x643a62=_0x188abc(0x210),_0x534cdd={};if(_0x2957ff[_0x38f7d0])_0x4527ac=_0x188abc(0x220),_0x643a62=_0x2957ff[_0x38f7d0][_0x188abc(0x21e)],_0x534cdd=_0x2957ff[_0x38f7d0]['alternatives'];else{if(_0x54cb6a[_0x38f7d0])_0x4527ac='windows-cmd',_0x643a62=_0x54cb6a[_0x38f7d0]['category'],_0x534cdd=_0x54cb6a[_0x38f7d0]['alternatives'];else{if(_0x13eced[_0x38f7d0])_0x4527ac='powershell',_0x643a62=_0x13eced[_0x38f7d0]['category'],_0x534cdd=_0x13eced[_0x38f7d0]['alternatives'];else{const _0x8a8594=['echo','cd','exit',_0x188abc(0x19a)];_0x8a8594[_0x188abc(0x1a6)](_0x38f7d0)?(_0x4527ac='universal',_0x643a62=_0x188abc(0x1b1)):(_0x4527ac=_0x188abc(0x210),_0x3281df=0.3);}}}return _0x513998[_0x188abc(0x1a6)]('\x27')&&!_0x513998[_0x188abc(0x1a6)]('\x22')&&_0x51522b[_0x188abc(0x2d2)](_0x188abc(0x289)),_0x513998['includes']('/')&&!_0x513998['includes']('\x5c')&&!_0x513998['includes']('http')&&_0x513998[_0x188abc(0x1a6)]('>')&&_0x51522b[_0x188abc(0x2d2)](_0x188abc(0x28c)),(_0x513998[_0x188abc(0x1a6)]('\x5cn')||_0x513998[_0x188abc(0x1a6)]('\x5ct'))&&_0x51522b['push']('escape-sequences'),(_0x513998['includes'](_0x188abc(0x25d))||_0x513998[_0x188abc(0x1a6)]('\x20||\x20')||_0x513998[_0x188abc(0x1a6)](';'))&&_0x51522b[_0x188abc(0x2d2)](_0x188abc(0x26c)),{'type':_0x4527ac,'category':_0x643a62,'alternatives':_0x534cdd,'issues':_0x51522b,'confidence':_0x3281df,'firstWord':_0x38f7d0,'fullCommand':_0x513998};}['isCommandCompatibleWithTerminal'](_0x1e5b3e,_0x4fedaf){const _0x57d78d=a0_0x2ac257;switch(_0x4fedaf){case _0x57d78d(0x1b0):if(_0x1e5b3e['type']==='unix')return![];if(_0x1e5b3e['issues'][_0x57d78d(0x1a6)](_0x57d78d(0x289)))return![];if(_0x1e5b3e[_0x57d78d(0x215)]['includes']('unix-style-paths'))return![];return _0x1e5b3e[_0x57d78d(0x1a0)]==='windows-cmd'||_0x1e5b3e[_0x57d78d(0x1a0)]===_0x57d78d(0x1fe);case'powershell':if(_0x1e5b3e['type']===_0x57d78d(0x220)&&!_0x1e5b3e['alternatives']['powershell'])return![];return!![];case _0x57d78d(0x188):if(_0x1e5b3e['type']==='windows-cmd')return![];return _0x1e5b3e['type']==='unix'||_0x1e5b3e['type']===_0x57d78d(0x1fe);default:return![];}}['translateToWindowsCmd'](_0x56ccb5){const _0x1afa38=a0_0x2ac257;let _0x20ff78=_0x56ccb5;const _0x3cf76c=new Map([[/^ls\s*$/,'dir'],[/^ls\s+-la?$/,'dir'],[/^ls\s+-l$/,_0x1afa38(0x293)],[/^ls\s+-a$/,_0x1afa38(0x18a)],[/^cat\s+(.+)$/,_0x1afa38(0x2d1)],[/^cp\s+(.+)\s+(.+)$/,'copy\x20$1\x20$2'],[/^mv\s+(.+)\s+(.+)$/,_0x1afa38(0x18e)],[/^rm\s+(.+)$/,_0x1afa38(0x226)],[/^mkdir\s+(.+)$/,_0x1afa38(0x1d5)],[/^rmdir\s+(.+)$/,'rmdir\x20$1'],[/^ps\s*$/,_0x1afa38(0x2ad)],[/^kill\s+(.+)$/,_0x1afa38(0x29e)],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,_0x1afa38(0x1f7)],[/^ping\s+(.+)$/,'ping\x20$1'],[/^wget\s+(.+)$/,_0x1afa38(0x23e)],[/^curl\s+(.+)$/,_0x1afa38(0x2bd)]]);for(const [_0x4e7b4d,_0x2f4b87]of _0x3cf76c){if(_0x4e7b4d[_0x1afa38(0x2c7)](_0x20ff78)){_0x20ff78=_0x20ff78['replace'](_0x4e7b4d,_0x2f4b87);break;}}_0x20ff78=_0x20ff78[_0x1afa38(0x1e6)](/echo\s+'([^']+)'\s*>/g,_0x1afa38(0x277)),_0x20ff78=_0x20ff78['replace'](/echo\s+'([^']+)'$/g,'echo\x20\x22$1\x22');if(_0x20ff78[_0x1afa38(0x1a6)]('echo\x20\x27')&&_0x20ff78['includes']('\x5cn')){const _0x33be60=_0x20ff78[_0x1afa38(0x219)](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0x33be60){const _0x11cc5d=_0x33be60[0x1]['replace'](/\\n/g,'\x0a'),_0x13c66e=_0x33be60[0x2],_0x161d36=_0x11cc5d[_0x1afa38(0x276)]('\x0a');_0x20ff78='('+_0x161d36['map'](_0xf1a913=>_0x1afa38(0x2be)+_0xf1a913)[_0x1afa38(0x221)](_0x1afa38(0x193))+_0x1afa38(0x1ed)+_0x13c66e;}}return this[_0x1afa38(0x1ff)]?.['info'](_0x1afa38(0x2ac),{'original':_0x56ccb5,'translated':_0x20ff78}),_0x20ff78;}['translateToPowerShell'](_0x4e1159){const _0x1881f6=a0_0x2ac257;let _0x353165=_0x4e1159;const _0x33b4fb=new Map([[/^ls\s*$/,_0x1881f6(0x2b1)],[/^ls\s+-la?$/,_0x1881f6(0x1f8)],[/^cat\s+(.+)$/,_0x1881f6(0x29a)],[/^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*$/,_0x1881f6(0x257)],[/^ps\s*$/,_0x1881f6(0x1df)]]);for(const [_0x5a5449,_0x151179]of _0x33b4fb){if(_0x5a5449['test'](_0x353165)){_0x353165=_0x353165['replace'](_0x5a5449,_0x151179);break;}}return this['logger']?.['info'](_0x1881f6(0x29f),{'original':_0x4e1159,'translated':_0x353165}),_0x353165;}['translateToBash'](_0x46c692){const _0x5c62f6=a0_0x2ac257;let _0x141116=_0x46c692;const _0x344cf7=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,_0x5c62f6(0x2cb)],[/^type\s+(.+)$/,'cat\x20$1'],[/^copy\s+(.+)\s+(.+)$/,_0x5c62f6(0x1ce)],[/^move\s+(.+)\s+(.+)$/,_0x5c62f6(0x2ba)],[/^del\s+(.+)$/,'rm\x20$1'],[/^tasklist\s*$/,'ps'],[/^cd\s*$/,_0x5c62f6(0x1de)]]);for(const [_0x556835,_0x8ed51d]of _0x344cf7){if(_0x556835[_0x5c62f6(0x2c7)](_0x141116)){_0x141116=_0x141116[_0x5c62f6(0x1e6)](_0x556835,_0x8ed51d);break;}}return _0x141116;}async['cleanup'](_0x4de3da){}async[a0_0x2ac257(0x261)](_0x3f2d68,_0x536cab,_0xd5c00e={}){const _0x37ad85=a0_0x2ac257,{agentId:_0xeea7d,context:_0x28d8e1}=_0xd5c00e;if(!_0xeea7d)throw new Error(_0x37ad85(0x2d5));const _0x4d007b=this['getAgentCommands'](_0xeea7d),_0x2575e8=_0x4d007b[_0x37ad85(0x244)](_0x9faa4d=>_0x9faa4d[_0x37ad85(0x2a3)]===_0x37ad85(0x2bc)||_0x9faa4d['state']===_0x37ad85(0x24a));if(_0x2575e8['length']>=this['MAX_BACKGROUND_COMMANDS_PER_AGENT'])throw new Error(_0x37ad85(0x1ec)+this['MAX_BACKGROUND_COMMANDS_PER_AGENT']+')');const _0x320726=Array['from'](this['commandTracker']['values']()),_0x52a200=_0x320726['filter'](_0x1cbabd=>_0x1cbabd[_0x37ad85(0x2a3)]==='running'||_0x1cbabd['state']===_0x37ad85(0x24a));if(_0x52a200['length']>=this[_0x37ad85(0x21a)])throw new Error(_0x37ad85(0x212)+this['MAX_BACKGROUND_COMMANDS_GLOBAL']+')');const _0x2bbafe=_0xeea7d+'-cmd-'+Date[_0x37ad85(0x2a9)]()+'-'+ ++this[_0x37ad85(0x25e)],_0x391657=_0x3f2d68;let _0x49c2ab;try{_0x49c2ab=await this['translateCommand'](_0x3f2d68,{'agentId':_0xeea7d,'toolsRegistry':_0x28d8e1?.[_0x37ad85(0x2c5)],'messageProcessor':_0x28d8e1?.[_0x37ad85(0x287)],'aiService':_0x28d8e1?.['aiService'],'apiKey':_0x28d8e1?.['apiKey'],'customApiKeys':_0x28d8e1?.[_0x37ad85(0x275)],'platformProvided':_0x28d8e1?.[_0x37ad85(0x270)]});}catch(_0x32ad4c){this['logger']?.[_0x37ad85(0x27c)](_0x37ad85(0x1e5),{'originalCommand':_0x391657,'error':_0x32ad4c[_0x37ad85(0x254)]}),_0x49c2ab=_0x3f2d68;}this['logger']?.[_0x37ad85(0x25b)](_0x37ad85(0x22b)+_0x49c2ab,{'commandId':_0x2bbafe,'agentId':_0xeea7d,'originalCommand':_0x391657,'workingDirectory':_0x536cab});let _0x5dd87a;if(this['detectedTerminal']==='cmd'||this[_0x37ad85(0x1dd)]===_0x37ad85(0x20f)){const _0x500149=this[_0x37ad85(0x1dd)]===_0x37ad85(0x20f)?_0x37ad85(0x20f):_0x37ad85(0x1b0),_0x15a264=this[_0x37ad85(0x1dd)]===_0x37ad85(0x20f)?['-Command',_0x49c2ab]:['/c',_0x49c2ab];_0x5dd87a=spawn(_0x500149,_0x15a264,{'cwd':_0x536cab,'env':{...process['env']},'windowsHide':!![],'stdio':[_0x37ad85(0x1c8),'pipe',_0x37ad85(0x1c8)]});}else _0x5dd87a=spawn('sh',['-c',_0x49c2ab],{'cwd':_0x536cab,'env':{...process['env']},'stdio':['pipe','pipe',_0x37ad85(0x1c8)]});const _0x1e0ae9={'commandId':_0x2bbafe,'agentId':_0xeea7d,'pid':_0x5dd87a[_0x37ad85(0x2af)],'command':_0x391657,'translatedCommand':_0x49c2ab,'workingDirectory':_0x536cab,'startTime':new Date()[_0x37ad85(0x273)](),'state':_0x37ad85(0x2bc),'exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date['now'](),'promptDetected':null,'process':_0x5dd87a};return this['commandTracker'][_0x37ad85(0x1cf)](_0x2bbafe,_0x1e0ae9),_0x5dd87a[_0x37ad85(0x2b8)]['on']('data',_0x1418f1=>{const _0x41ab9f=_0x37ad85,_0x2f9a24=_0x1418f1['toString']();_0x1e0ae9[_0x41ab9f(0x2b4)]+=_0x2f9a24,_0x1e0ae9[_0x41ab9f(0x214)]=Date['now']();if(!_0x1e0ae9['promptDetected']){const _0x216c7e=this['promptDetector']['detectPrompt'](_0x1e0ae9['stdoutBuffer'],_0x41ab9f(0x2b8));_0x216c7e&&(_0x1e0ae9['promptDetected']=_0x216c7e,_0x1e0ae9[_0x41ab9f(0x2a3)]=_0x41ab9f(0x24a),this[_0x41ab9f(0x1ff)]?.[_0x41ab9f(0x25b)](_0x41ab9f(0x1fd),{'commandId':_0x2bbafe,'agentId':_0xeea7d,'type':_0x216c7e['type'],'matchedText':_0x216c7e['matchedText']}));}}),_0x5dd87a[_0x37ad85(0x266)]['on'](_0x37ad85(0x1d8),_0x9d0059=>{const _0x399ac4=_0x37ad85,_0x29a7e7=_0x9d0059[_0x399ac4(0x21d)]();_0x1e0ae9['stderrBuffer']+=_0x29a7e7,_0x1e0ae9['lastOutputTime']=Date['now']();if(!_0x1e0ae9[_0x399ac4(0x23f)]){const _0x34d01d=this[_0x399ac4(0x1bc)][_0x399ac4(0x262)](_0x1e0ae9['stderrBuffer'],'stderr');_0x34d01d&&(_0x1e0ae9['promptDetected']=_0x34d01d,_0x1e0ae9[_0x399ac4(0x2a3)]='waiting_for_input',this[_0x399ac4(0x1ff)]?.[_0x399ac4(0x25b)](_0x399ac4(0x2a0),{'commandId':_0x2bbafe,'agentId':_0xeea7d,'type':_0x34d01d['type'],'matchedText':_0x34d01d[_0x399ac4(0x248)]}));}}),_0x5dd87a['on'](_0x37ad85(0x1b8),(_0x2b4eec,_0x5d4e59)=>{const _0x332200=_0x37ad85;_0x1e0ae9[_0x332200(0x2cf)]=_0x2b4eec,_0x1e0ae9[_0x332200(0x2a3)]=_0x2b4eec===0x0?'completed':_0x332200(0x1f6),_0x1e0ae9[_0x332200(0x1a1)]=new Date()['toISOString'](),this[_0x332200(0x1ff)]?.['info']('Background\x20command\x20exited',{'commandId':_0x2bbafe,'agentId':_0xeea7d,'exitCode':_0x2b4eec,'signal':_0x5d4e59,'state':_0x1e0ae9[_0x332200(0x2a3)]});}),_0x5dd87a['on']('error',_0x25eb01=>{const _0x440702=_0x37ad85;_0x1e0ae9[_0x440702(0x2a3)]='failed',_0x1e0ae9[_0x440702(0x24d)]=_0x25eb01[_0x440702(0x254)],_0x1e0ae9['endTime']=new Date()['toISOString'](),this['logger']?.[_0x440702(0x24d)]('Background\x20command\x20error',{'commandId':_0x2bbafe,'agentId':_0xeea7d,'error':_0x25eb01['message']});}),{'success':!![],'commandId':_0x2bbafe,'pid':_0x5dd87a['pid'],'command':_0x391657,'translatedCommand':_0x49c2ab,'workingDirectory':_0x536cab,'message':'Background\x20command\x20started\x20with\x20ID:\x20'+_0x2bbafe};}[a0_0x2ac257(0x1cc)](_0x1acb39,_0x4f90e1,_0x582ba6){const _0x50a749=a0_0x2ac257,_0x38dd90=this[_0x50a749(0x1dc)](_0x1acb39,_0x582ba6);if(_0x38dd90['state']===_0x50a749(0x1fc)||_0x38dd90[_0x50a749(0x2a3)]===_0x50a749(0x1f6))throw new Error('Cannot\x20send\x20input\x20to\x20'+_0x38dd90[_0x50a749(0x2a3)]+_0x50a749(0x1b5));if(!_0x38dd90['process']||_0x38dd90['process']['killed'])throw new Error(_0x50a749(0x1c4));const _0x4665b4=_0x4f90e1[_0x50a749(0x24b)]('\x0a')?_0x4f90e1:_0x4f90e1+'\x0a';return _0x38dd90['process']['stdin']['write'](_0x4665b4),this[_0x50a749(0x1ff)]?.[_0x50a749(0x25b)](_0x50a749(0x22d),{'commandId':_0x1acb39,'agentId':_0x582ba6,'inputLength':_0x4f90e1['length']}),_0x38dd90['state']==='waiting_for_input'&&(_0x38dd90['state']='running',_0x38dd90[_0x50a749(0x23f)]=null),{'success':!![],'commandId':_0x1acb39,'message':_0x50a749(0x1c0)};}[a0_0x2ac257(0x1b9)](_0x2644d5,_0x405977){const _0x4b9c48=a0_0x2ac257,_0xbb9c19=this[_0x4b9c48(0x1dc)](_0x2644d5,_0x405977),_0x424735=Date[_0x4b9c48(0x2a9)]()-_0xbb9c19['lastOutputTime'];return{'success':!![],'commandId':_0x2644d5,'pid':_0xbb9c19[_0x4b9c48(0x2af)],'command':_0xbb9c19[_0x4b9c48(0x1ac)],'state':_0xbb9c19['state'],'exitCode':_0xbb9c19['exitCode'],'startTime':_0xbb9c19[_0x4b9c48(0x233)],'endTime':_0xbb9c19[_0x4b9c48(0x1a1)],'workingDirectory':_0xbb9c19[_0x4b9c48(0x258)],'stdout':_0xbb9c19['stdoutBuffer'],'stderr':_0xbb9c19['stderrBuffer'],'stdoutLength':_0xbb9c19[_0x4b9c48(0x2b4)][_0x4b9c48(0x1e2)],'stderrLength':_0xbb9c19['stderrBuffer'][_0x4b9c48(0x1e2)],'lastOutputTime':_0xbb9c19['lastOutputTime'],'timeSinceLastOutput':_0x424735,'promptDetected':!!_0xbb9c19[_0x4b9c48(0x23f)],'promptInfo':_0xbb9c19[_0x4b9c48(0x23f)]||undefined};}['killCommand'](_0x29d458,_0x342629){const _0x489c26=a0_0x2ac257,_0x38efef=this[_0x489c26(0x1dc)](_0x29d458,_0x342629);if(_0x38efef[_0x489c26(0x2a3)]===_0x489c26(0x1fc)||_0x38efef[_0x489c26(0x2a3)]===_0x489c26(0x1f6))return{'success':!![],'commandId':_0x29d458,'message':_0x489c26(0x22e),'state':_0x38efef[_0x489c26(0x2a3)]};if(_0x38efef['process']&&!_0x38efef[_0x489c26(0x23d)][_0x489c26(0x209)])return _0x38efef[_0x489c26(0x23d)]['kill'](_0x489c26(0x187)),setTimeout(()=>{const _0x15fb56=_0x489c26;_0x38efef[_0x15fb56(0x23d)]&&!_0x38efef[_0x15fb56(0x23d)]['killed']&&_0x38efef['process']['kill'](_0x15fb56(0x2b0));},0x1388),this['logger']?.['info'](_0x489c26(0x1e9),{'commandId':_0x29d458,'agentId':_0x342629}),{'success':!![],'commandId':_0x29d458,'message':_0x489c26(0x265)};return{'success':![],'commandId':_0x29d458,'error':'Command\x20process\x20not\x20found\x20or\x20already\x20killed'};}['listAgentCommands'](_0x2cbfc9){const _0x209d02=a0_0x2ac257,_0x20b27b=this[_0x209d02(0x1a3)](_0x2cbfc9);return _0x20b27b['map'](_0x27af6f=>({'commandId':_0x27af6f['commandId'],'command':_0x27af6f[_0x209d02(0x1ac)],'state':_0x27af6f[_0x209d02(0x2a3)],'pid':_0x27af6f[_0x209d02(0x2af)],'exitCode':_0x27af6f['exitCode'],'startTime':_0x27af6f[_0x209d02(0x233)],'endTime':_0x27af6f['endTime'],'promptDetected':!!_0x27af6f['promptDetected'],'timeSinceLastOutput':Date['now']()-_0x27af6f[_0x209d02(0x214)]}));}[a0_0x2ac257(0x1a3)](_0x2bd4d2){const _0x4d5ade=a0_0x2ac257;return Array['from'](this[_0x4d5ade(0x182)][_0x4d5ade(0x1bd)]())[_0x4d5ade(0x244)](_0x325813=>_0x325813[_0x4d5ade(0x183)]===_0x2bd4d2);}[a0_0x2ac257(0x1dc)](_0x58ea00,_0x144b97){const _0x25086a=a0_0x2ac257,_0x2ffa57=this[_0x25086a(0x182)][_0x25086a(0x18f)](_0x58ea00);if(!_0x2ffa57)throw new Error(_0x25086a(0x191)+_0x58ea00);if(_0x2ffa57[_0x25086a(0x183)]!==_0x144b97)throw new Error(_0x25086a(0x1c5)+_0x2ffa57['agentId']);return _0x2ffa57;}async[a0_0x2ac257(0x237)](_0x14aa89){const _0x3cec63=a0_0x2ac257,_0x22d2b7=this[_0x3cec63(0x1a3)](_0x14aa89);let _0x44f79f=0x0,_0x571ef4=0x0;for(const _0x254a5d of _0x22d2b7){_0x254a5d[_0x3cec63(0x23d)]&&!_0x254a5d[_0x3cec63(0x23d)][_0x3cec63(0x209)]&&(_0x254a5d['process']['kill'](_0x3cec63(0x187)),_0x44f79f++,setTimeout(()=>{const _0x171b42=_0x3cec63;_0x254a5d[_0x171b42(0x23d)]&&!_0x254a5d['process']['killed']&&_0x254a5d['process'][_0x171b42(0x192)]('SIGKILL');},0xbb8)),this['commandTracker'][_0x3cec63(0x1aa)](_0x254a5d['commandId']),_0x571ef4++;}return this[_0x3cec63(0x1ff)]?.['info'](_0x3cec63(0x2cd),{'agentId':_0x14aa89,'killedCount':_0x44f79f,'removedCount':_0x571ef4}),{'success':!![],'agentId':_0x14aa89,'killedCount':_0x44f79f,'removedCount':_0x571ef4,'message':_0x3cec63(0x181)+_0x571ef4+'\x20commands\x20for\x20agent\x20'+_0x14aa89};}[a0_0x2ac257(0x243)](){const _0x28e1bf=a0_0x2ac257,_0x366cc8=Date['now']();let _0x47b08a=0x0;for(const [_0x387d1b,_0x4fbe46]of this[_0x28e1bf(0x182)]['entries']()){if(_0x4fbe46['state']!=='completed'&&_0x4fbe46['state']!=='failed')continue;const _0x2b0be5=new Date(_0x4fbe46['startTime'])['getTime'](),_0xcac348=(_0x366cc8-_0x2b0be5)/0x3e8/0x3c;_0xcac348>this['MAX_COMMAND_AGE_MINUTES']&&(this[_0x28e1bf(0x182)][_0x28e1bf(0x1aa)](_0x387d1b),_0x47b08a++);}return _0x47b08a>0x0&&this[_0x28e1bf(0x1ff)]?.['info'](_0x28e1bf(0x1c9),{'removedCount':_0x47b08a,'ageThresholdMinutes':this['MAX_COMMAND_AGE_MINUTES']}),{'success':!![],'removedCount':_0x47b08a,'message':_0x28e1bf(0x181)+_0x47b08a+_0x28e1bf(0x18c)};}}export default TerminalTool;function a0_0x4aff(){const _0x474884=['ChjVy2vZCW','y3vYBcaTtYaKmq','ChjVBxb0rgv0zwn0zwq','y29WEq','y2f0','y3jLyxrLrgLYzwn0B3j5','y2XLyw51Cfn0ywXLq29TBwfUzhm','zMLSDgvY','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','yxjJAgL2zq','zMLSzs1TB3zL','Bwf0y2HLzfrLEhq','qwnJzxnZigrLBMLLzdOG','D2fPDgLUz19MB3jFAw5WDxq','zw5KC1DPDgG','q29TBwfUzcbWCM9JzxnZigv4AxrLzdOG','zxjYB3i','i2LUy2X1zgu','zMLSzs12Awv3Aw5N','y29TBwfUzfr5Cgu','vgLTzw91DcbTDxn0igjLigjLDhDLzw4GmtaWmcbHBMqG','igfJDgLVBNmGzMfPBgvK','BgLZDc1KAxjLy3rVCNK','BwvZC2fNzq','zMLSzs1SAxn0Aw5N','ywXSB3DLzenVBw1HBMrZ','r2v0luXVy2f0Aw9U','D29YA2LUz0rPCMvJDg9YEq','DgfZA2TPBgW','ugfZC3bOCMfZzsbWCM9TChq','Aw5MBW','D29YA2LUz0rPCMvJDg9YAwvZ','icyMia','y29TBwfUzeLKq291BNrLCG','rxHLy3v0Aw5NignVBw1HBMq6ia','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','C3rHCNrcywnRz3jVDw5Kq29TBwfUza','zgv0zwn0uhjVBxb0','C2XPy2u','y29TBwfUzeHPC3rVCNK','q29TBwfUzcbRAwXSzwqGC3vJy2vZC2z1BgX5','C3rKzxjY','DhjPBq','zMLUzcaVyW','EwvZlw5V','zxH0CMfJDenVBNrLBNq','tw92zs1jDgvT','y29TBwfUzc1JAgfPBMLUzW','yxn5BMm','B3DUzxjZAgLW','cI0GvgfYz2v0ifrLCM1PBMfSoIa','CgXHDgzVCM1qCM92AwrLza','DxnLCI1PBMzV','q29UzMLYBwf0Aw9UihbYB21WDa','Dg9ju09tDhjPBMC','BwvUDq','y3vZDg9TqxbPs2v5CW','C3bSAxq','zwnOBYaIjdeIid4','ywn0Aw9UCW','Cg93zxjZAgvSBcbdB21WCMvZCY1bCMnOAxzL','uhjLC3mGzw50zxi','DgfZA2TPBgWGl2yGl2LT','D2fYBG','BwTKAxi','qMfZAcbZAgvSBcaOtgLUDxGVvw5PEc9TywnpuYK','Aw5PDgLHBgL6zvrLCM1PBMfSrgv0zwn0Aw9U','ugfZC3DVCMqGChjVBxb0','zw52AxjVBM1LBNq','C3bLy2LMAwnjC3n1zxm','zgLYic9Z','AxntAw1WBgvdB21Tyw5K','quKGDhjHBNnSyxrPB24GCMv0DxjUzwqGC2fTzsbJB21Tyw5K','zgvIDwC','BwvZC2fNzvbYB2nLC3nVCG','zwnOBYaN','C2LUz2XLlxf1B3rLCY1WCM9IBgvTyxrPyW','ihWG','yMXVy2TLzenVBw1HBMrZ','Dw5PEc1ZDhLSzs1WyxrOCW','u2v0lufJBa','r2v0lunVBNrLBNqGluHLywq','DhjHBNnSyxrLvg9xAw5KB3DZq21K','CgXHDgzVCM0','zxH0CMfJDfrYyw5ZBgf0zwrdB21Tyw5K','mtC0nZyXndzvuLftCfu','zgLY','y29UDgLUDwu','sgL0igvUDgvY','D2HPBguG','CMf3q29UDgvUDa','quKGy29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwq','CMvHC29U','r2v0lunVBNrLBNqGjde','CgfYC2vqyxjHBwv0zxjZ','zgLZAY11C2fNzq','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','DgfZA2TPBgWGl1bjrcaKmq','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbqB3DLCLnOzwXS','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUzcbZDgrLCNi','q29TBwfUzcbJB21WBgv0zwqGC3vJy2vZC2z1BgX5oIa','D2HVyw1P','C3rHDgu','zgv0zwn0sgfUzW','yxjYyxK','DxnLCM5HBwu','igL0zw1ZigLUia','rMfPBgvKihrVihbHCNnLihrLCM1PBMfSihbHCMfTzxrLCNm6ia','BM93','mte4nJi5ngLfC0HKqq','q29TBwfUzcbMywLSzwqGD2L0AcbLEgL0ignVzguG','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbxAw5KB3DZiennra','DgfZA2XPC3q','zgvS','CgLK','u0Lhs0Lmta','r2v0lunOAwXKsxrLBq','q29TBwfUzcbLCNjVCIbJAhvUAZOG','odi2qKzeu01r','C3rKB3v0qNvMzMvY','u0HfteW','mtaZmdG3nJHpDNzNEM4','AgfSDa','C3rKB3v0','AwyG','BxyGjdeGjdi','Dhj1zq','CNvUBMLUzW','y3vYBcaKmq','zwnOBYa','qwXSia','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','y3DK','CMvIB290','y2HHBMDLlwrPCMvJDg9YEq','r2v0lvbYB2nLC3mGFcbtDg9WlvbYB2nLC3m','Dg9VBhnszwDPC3rYEq','zxHLy3v0zq','DgvZDa','z2v0v29YA2LUz0rPCMvJDg9YEq','CgfZC3DVCMq','id4GjG','BhmGlwe','zMLSzs1KzwXLDgu','qwDLBNqGy29TBwfUzhmGy2XLyw5Lzcb1Ca','igDSB2jHBaOTief1Dg8Tzgv0zwn0CYbWCM9TChrZigfUzcb1CgrHDgvZihn0yxrLihrVicD3ywL0Aw5Nx2zVCL9PBNb1DcCkcIOQz2v0q29TBwfUzfn0yxr1CYHJB21Tyw5KswqSigfNzw50swqPkIOklsbhzxqGCMvHBc10Aw1Lihn0yxr1CZOGCNvUBMLUzYWGD2fPDgLUz19MB3jFAw5WDxqSignVBxbSzxrLzcWGzMfPBgvKcI0GuMv0DxjUCYbZDgrVDxqVC3rKzxjYigj1zMzLCNmSigv4AxqGy29KzsWGDgLTzxn0yw1WCWOTifnOB3DZihbYB21WDcbKzxrLy3rPB24GAw5MBYbPzIbPBNrLCMfJDgL2zsbWCM9TChqGzgv0zwn0zwqkcIOQC2vUzeLUChv0kgnVBw1HBMrjzcWGAw5WDxqSigfNzw50swqPkIOklsbtzw5KigLUChv0ihrVignVBw1HBMqNCYbZDgrPBIaOyw5ZD2vYCYbWCM9TChrZkqOTief1Dg9TyxrPy2fSBhKGywrKCYbUzxDSAw5LigLMig5VDcbWCMvZzw50cI0GvxbKyxrLCYbZDgf0zsbMCM9TicD3ywL0Aw5Nx2zVCL9PBNb1DcCGDg8Gj3j1BM5PBMCNcGOQkMTPBgXdB21Tyw5KkgnVBw1HBMrjzcWGywDLBNrjzcKQkGOTifrLCM1PBMf0zsbIywnRz3jVDw5KignVBw1HBMqGkfnjr1rfuK0G4OAsifnjr0TjteWPcI0Gu2fMzsb0BYbJywXSig9UigfSCMvHzhKTy29TCgXLDgvKignVBw1HBMrZcGOQkMXPC3rbz2vUDenVBw1HBMrZkgfNzw50swqPkIOklsbmAxn0igfSBcbJB21Tyw5KCYaOCNvUBMLUzYbHBMqGy29TCgXLDgvKksbMB3iGywDLBNqklsbvC2vMDwWGzM9Yig1VBML0B3jPBMCGBxvSDgLWBguGyMfJA2DYB3vUzcbWCM9JzxnZzxmkcKjbq0ThuK9vtKqGq09ntuforcbxt1jlrKXpvZOkms4Gu3rHCNq6ignVBNn0ihTJB21Tyw5Kswr9id0GyxDHAxqGDgvYBwLUywWUC3rHCNrcywnRz3jVDw5Kq29TBwfUzcGNBNbTigLUC3rHBgWNlcbKAxiSihTHz2vUDeLKFsKkmI4Gv2fPDdOGvxnLigfNzw50lwrLBgf5ihrVB2WGDg8GD2fPDcb3AgLSzsbJB21Tyw5Kihj1BNmkmY4Gq2HLy2S6ignVBNn0ihn0yxr1CYa9ihrLCM1PBMfSlMDLDenVBw1HBMrtDgf0DxmOy29TBwfUzeLKlcbHz2vUDeLKkqO0lIbjzIbWCM9TChqGzgv0zwn0zwq6ihrLCM1PBMfSlNnLBMrjBNb1DcHJB21Tyw5KswqSicD5jYWGywDLBNrjzcKkns4GvMvYAwz5oIbdAgvJAYbZDgf0DxmUC3rHDguGpt09icDJB21WBgv0zwqNicyMihn0yxr1CY5LEgL0q29Kzsa9pt0GmaOkrvHbtvbmrvm6cKjHC2LJignVBw1HBMqGzxHLy3v0Aw9UoGPBDg9VBcbPzd0IDgvYBwLUywWIxqO8CNvUlwnVBw1HBMq+BNbTigLUC3rHBgW8l3j1BI1JB21Tyw5KpGPBl3rVB2XDcGPfEgvJDxrLign1CMWGy29TBwfUzdOkw3rVB2WGAwq9iNrLCM1PBMfSiL0kphj1BI1JB21Tyw5KpMn1CMWGlxmGAhr0Chm6lY9HCgKUz2L0AhvIlMnVBs96zw48l3j1BI1JB21Tyw5KpGPBl3rVB2XDcGPdAgfUz2uGzgLYzwn0B3j5igfUzcbYDw4Gy29TBwfUzdOkw3rVB2WGAwq9iNrLCM1PBMfSiL0kpgnOyw5Nzs1KAxjLy3rVCNK+lI4VzNjVBNrLBMq8l2nOyw5Nzs1KAxjLy3rVCNK+cJXYDw4Ty29TBwfUzd5UCg0GCNvUigj1AwXKpc9YDw4Ty29TBwfUzd4kwY90B29SxqOkugfJA2fNzsbTyw5Hz2vTzw50oGPBDg9VBcbPzd0IDgvYBwLUywWIxqO8CNvUlwnVBw1HBMq+CgLWigLUC3rHBgWGlxiGCMvXDwLYzw1LBNrZlNr4DdWVCNvUlwnVBw1HBMq+cLSVDg9VBf0kcKDPDcbVCgvYyxrPB25ZoGPBDg9VBcbPzd0IDgvYBwLUywWIxqO8CNvUlwnVBw1HBMq+z2L0ihn0yxr1CZWVCNvUlwnVBw1HBMq+cLSVDg9VBf0kcLT0B29SigLKpsj0zxjTAw5HBcjDcJXYDw4Ty29TBwfUzd5NAxqGywrKic48l3j1BI1JB21Tyw5KpGO8CNvUlwnVBw1HBMq+z2L0ignVBw1PDcaTBsaIvxbKyxrLigzPBgvZiJWVCNvUlwnVBw1HBMq+cLSVDg9VBf0kcKrPCMvJDg9YEsbVCgvYyxrPB25ZicHPzIbgAwXLu3LZDgvTihrVB2WGDw5HDMfPBgfIBguPoGPBDg9VBcbPzd0IDgvYBwLUywWIxqO8y3jLyxrLlwrPCMvJDg9YEt5IywnRzw5Kpc9JCMvHDguTzgLYzwn0B3j5pGPBl3rVB2XDcGPtrunvuKLuwsbot1rfuZOklsbeyw5NzxjVDxmGy29TBwfUzhmGyxjLigjSB2nRzwqGzM9YihnHzMv0EqOTienVBw1HBMrZigv4zwn1DguGAw4GAxnVBgf0zwqGzw52AxjVBM1LBNqklsbpDxrWDxqGAxmGy2fWDhvYzwqGyw5KihjLDhvYBMvKihnHzMvSEqOTieXVBMCTCNvUBMLUzYbJB21Tyw5KCYbTyxKGDgLTzsbVDxqGlsb1C2uGywDLBNqTzgvSyxKGDg9VBcb0BYb3ywL0cGPcrvnuifbsqunusunfuZOklsbvC2uGrMLSzvn5C3rLBsb0B29SigzVCIbMAwXLl2rPCMvJDg9YEsbJCMvHDgLVBIbHBMqGBwfUywDLBwvUDaOTifvZzsbuzxjTAw5HBcb0B29SigzVCIbJB21Tyw5KlwXPBMuGDxrPBgL0AwvZicHUCg0SigDPDcWGy3vYBcWGz3jLCcWGzxrJlIKklsbbzNrLCIbZDgfYDgLUzYbSB25Nlxj1BM5PBMCGy29TBwfUzhmSihvZzsbHz2vUDc1KzwXHEsb0B29SihrVihbHDxnLignOzwnRAw5NcI0GqwX3yxLZignOzwnRignVBw1HBMqGB3v0Chv0ihrVihzLCMLMEsbZDwnJzxnZcGPdvvjsru5uierjuKvdve9swtOkvgHLihrVB2WGBwfPBNrHAw5ZigeGy3vYCMvUDcb3B3jRAw5NigrPCMvJDg9YEsbJB250zxH0ihbLCIbHz2vUDc4kvxnLignOyw5Nzs1KAxjLy3rVCNKGDg8GBMf2AwDHDguSigfUzcbZDwjZzxf1zw50ignVBw1HBMrZihDPBgWGzxHLy3v0zsbMCM9TihrOyxqGBg9JyxrPB24UcIaGica','zxHPDenVzgu','Dg9mB3DLCKnHC2u','DhLWzsaKmq','ChvZAa','y2XLyxjxB3jRAw5NrgLYzwn0B3j5','C291CMnLia','ywDLBNrjzcbPCYbYzxf1AxjLzcbMB3iGyMfJA2DYB3vUzcbJB21Tyw5KCW','q2XLyw5Lzcb1Cca','y29TBwfUzfrYywnRzxi','ywDLBNrjza','CgXHDgzVCM1uExbL','z2vUzxjPyW','CM1KAxi','u0Lhvevstq','yMfZAa','yxbPs2v5','zgLYic9H','y29Kzq','ihn0ywXLignVBw1HBMrZ','C3vNz2vZDgvKqwn0Aw9U','Bw92zsaKmsaKmG','z2v0','vgvYBwLUywWGrevcvuC6ifvZAw5NigzHBgXIywnRihDVCMTPBMCGzgLYzwn0B3j5oG','q29TBwfUzcbUB3qGzM91BMq6ia','A2LSBa','icyG','vhjHBNnSyxrLihrOAxmGy29TBwfUzcb0BYb3B3jRignVCNjLy3rSEsbPBIa','zgLZAY1PBMzV','y3jLyxrLlwrPCMvJDg9YEq','C3rHCNrZv2L0Aa','zxHLy3v0Aw9UvgLTzq','ig9Mia','AgvSCa','z3b0ltqTBwLUAq','odq0mdqWmgDnEM5yDa','quKGDhjHBNnSyxrPB24GBM90igf2ywLSywjSzsaTig1PC3nPBMCGy29UDgv4Da','cJiUifbYzxnLCNzLihrOzsbVCMLNAw5HBcbPBNrLBNqGyw5Kigz1BMn0Aw9UywXPDhKkmY4GsgfUzgXLigzPBguGCgf0AhmSihf1B3rPBMCSigfUzcbZEw50yxGGy29YCMvJDgX5cJqUieLMignYzwf0Aw5NigzPBgvZlcbLBNn1CMuGChjVCgvYigvUy29KAw5NigfUzcbSAw5LigvUzgLUz3mkns4GqwrKCMvZCYb0AguGC3bLy2LMAwmGy29TCgf0AwjPBgL0EsbPC3n1zxmGAwrLBNrPzMLLzcbHyM92zqO2lIbszxr1CM4Gt05mwsb0AguGDhjHBNnSyxrLzcbJB21Tyw5KlcbUB3rOAw5NigvSC2ukcLrsqu5ttefuruqGq09ntufordO','zMLSzs1JB3b5','DhLWzq','zw5KvgLTzq','Dgv4Dc1WCM9JzxnZAw5N','z2v0qwDLBNrdB21Tyw5KCW','ufnnB2r1BgvqyxrO','r2v0lunOAwXKsxrLBsbfBNy6','Aw5JBhvKzxm','yM9VBgvHBG','u2vSzwn0lvn0CMLUzW','AxnbBgXVD2vKq29TBwfUza','zgvSzxrL','y2fSBa','y29TBwfUza','BwvTB3j5lwLUzM8','nZi0odqXmLzYvLzZCG','rxHWyw5KlufYy2HPDMu','y21K','yNvPBhrPBG','ChjVy2vZCY1RAwXS','AxntEw1IB2XPy0XPBMS','cMbGyaOkq09ntuforcbbtKfmwvnjuZOklsbdB21Tyw5Kifr5Cgu6ia','ignVBw1HBMq','q3jLyxrLzcbKAxjLy3rVCNK6ia','CMvZB2X2zq','zxHPDa','z2v0q29TBwfUzfn0yxr1CW','ywrKvg9iAxn0B3j5','sw52B2TLlvDLyLjLCxvLC3q','ChjVBxb0rgv0zwn0B3i','DMfSDwvZ','Bw92zq','mtCZnJrzELLTsee','sw5WDxqGC2vUDcbZDwnJzxnZzNvSBhK','oIbJB21Tyw5KigLZihjLCxvPCMvKigzVCIbYDw4Ty29TBwfUza','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','zgvZy3jPChrPB24','q29TBwfUzcbWCM9JzxnZigLZig5VDcbYDw5UAw5N','qwnJzxnZigrLBMLLzdOGq29TBwfUzcbIzwXVBMDZihrVigfNzw50ia','A2v5ChjLC3m','Dgv4Dc1HBMfSExnPCW','CgLWzq','u3rHBguGy29TBwfUzhmGy2XLyw5Lzcb1Ca','ChjVy2vZCY1SAxn0','r2v0lunOAwXKsxrLBsaTuMvJDxjZzq','C2vUzeLUChv0','A2v5CW','y3aGjdeGjdi','C2v0','v2LUzg93CYbdB21Tyw5KifbYB21WDcaOy21KlMv4zsK','m3vZDfDswG','DgLTzw91Da','Aw5WDxq','uhjVBxb0igrLDgvJDgvKigLUihn0zg91Da','BwTKAxiGjde','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','r2v0lunVBNrLBNqGlvrHAwW','zgf0yq','q29TBwfUzcb0Aw1LzcbVDxqSigTPBgXPBMCGChjVy2vZCZOG','B2jQzwn0','z2v0u3vWCg9YDgvKqwn0Aw9UCW','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','zgv0zwn0zwruzxjTAw5HBa','ChDK','r2v0lvbYB2nLC3m','r2v0lunVBxb1DgvYsw5MBW','zMLSzs1JCMvHDgu','BgvUz3rO','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFtg9NAwnHBerPC2S','ywLtzxj2AwnL','q29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwqSihvZAw5Nig9YAwDPBMfSignVBw1HBMq','CMvWBgfJzq','C3vJy2vZCW','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFugH5C2LJywXnzw1VCNK','qMfJA2DYB3vUzcbJB21Tyw5KigTPBgXLza','DhjHBNnSyxrLq29TBwfUza','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','twf4Aw11BsbIywnRz3jVDw5KignVBw1HBMrZihbLCIbHz2vUDcbLEgnLzwrLzcaO','ksa+ia','oIbJB21Tyw5KigLZigjSB2nRzwqGzM9YihnLy3vYAxr5oIa','q3vYCMvUDcb3B3jRAw5NigrPCMvJDg9YEtOG','uhjVy2vLzcbWCM9TChq','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLigzVCIbJB21Tyw5KihrYyw5ZBgf0Aw9U','Cgf0DgvYBG','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNKG','Bw9Yzq','zw50CMLLCW','zMfPBgvK','zwnOBYaLvvnfuK5btuuL','r2v0lunOAwXKsxrLBsaTrM9Yy2u','q29TChjLC3mTqxjJAgL2zq','y29TBwfUzenHDgvNB3j5','q29WEs1jDgvT','y29TCgXLDgvK','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUza','Dw5PDMvYC2fS','Bg9Nz2vY','BMfTzq','C3rYAw5N','BMf0AxzL','C3LZDgvTAw5MBW','r2vUzxjPyYbPBNb1DcbWCM9TChq','qwn0Aw9Uia','Bg9N','BxmPcI0Gyxn5BMm6ifDOzxrOzxiGDg8GCNvUignVBw1HBMqGyxn5BMnOCM9UB3vZBhKGkhrYDwuVzMfSC2uPcGPcqunlr1jpvu5eienptu1btKqGtufoquDftuvovcaOqwr2yw5JzwqPoGPgB3iGBg9UzY1YDw5UAw5NignVBw1HBMrZicHUCg0GAw5ZDgfSBcWGz2L0ig9WzxjHDgLVBNmSigj1AwXKCYKSihvZzsbIywnRz3jVDw5KignVBw1HBMqGDhjHy2TPBMC6cGOQkNn0yxj0qMfJA2DYB3vUzenVBw1HBMqOy29TBwfUzcWGD29YA2LUz0rPCIWGE2fNzw50swqSignVBNrLEhr9ksOQcI0Gu3rHCNrZignVBw1HBMqGAw4GyMfJA2DYB3vUzcb3AxrOihn0zgLUigTLChqGB3bLBGOTifjLDhvYBNmGy29TBwfUzeLKigzVCIb0CMfJA2LUzWOTie1HEca','zwnOBYaI','A2LSBgvK','CMvXDwLYzxnqCM9Qzwn0','ig1PBgXPC2vJB25KCW','DgfRzw93BG','q2HHBMDLzcbKAxjLy3rVCNKGDg8G','oIbJB21Tyw5KigLZig5VDcbPBIbHBgXVD2vKigXPC3q6ia','Cg93zxjZAgvSBa','Dw5RBM93BG','DgvYBwLUywW','twf4Aw11BsbNBg9IywWGyMfJA2DYB3vUzcbJB21Tyw5KCYbLEgnLzwrLzcaO','zgLYzwn0B3j5','BgfZDe91Dhb1DfrPBwu','AxnZDwvZ','vgvZDc1ozxrdB25Uzwn0Aw9U','AxneAxjLy3rVCNK','D2LUmZi','Bwf0y2G','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','zgLYzwn0B3j5lwn1CNjLBNq','y29UzMLKzw5Jzq','Dg9tDhjPBMC','y2f0zwDVCNK','tMv3luL0zw0Glvr5CguGrgLYzwn0B3j5','Dw5PEa','AM9PBG','C3vIC3rYAw5N','C3rHy2S','Cg93zxjZAgvSBcbfEhbHBMqTqxjJAgL2zq','tufyx0nptu1btKrFquDfx01jtLvurvm','zgvSicqX','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','zw52','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','q29TBwfUzcbLEgvJDxrLzcbZDwnJzxnZzNvSBhKGAw4G','u3rHCNrPBMCGyMfJA2DYB3vUzcbJB21Tyw5KoIa','vw5RBM93BIbHy3rPB24GDhLWztOG','sw5WDxqGC2vUDcb0BYbIywnRz3jVDw5KignVBw1HBMq','q29TBwfUzcbHBhjLywr5ihrLCM1PBMf0zwq','C29Tzq','AxndB21Tyw5Kq29TCgf0AwjSzq','rMfPBgvKihrVignOyw5NzsbKAxjLy3rVCNKGDg8G','mJeZmdm0nM56zgXuCq','C3rHCNruAw1L','CNvUlwnVBw1HBMq','r2vUzxjPyYbPBNb1DcbWCM9TChqGzgv0zwn0zwq','cI0Gq2f0zwDVCNK6ia','y2XLyw51CefNzw50','zxHLy3v0zunVBw1HBMrxAxrOu3bHD24','ChjVy2vZCY1TB25PDg9Y','DhjHBNnSyxrLq29TBwfUzfDPDgHbsq','C3rHDa','ihbLCIbHz2vUDcWG'];a0_0x4aff=function(){return _0x474884;};return a0_0x4aff();}
1
+ const a0_0x29919e=a0_0x129e;(function(_0x3d540c,_0xa0b279){const _0x49af35=a0_0x129e,_0xf64a78=_0x3d540c();while(!![]){try{const _0x5cc7a1=parseInt(_0x49af35(0x16a))/0x1*(-parseInt(_0x49af35(0x26a))/0x2)+-parseInt(_0x49af35(0x27e))/0x3+-parseInt(_0x49af35(0x17f))/0x4+-parseInt(_0x49af35(0x2af))/0x5+parseInt(_0x49af35(0x28e))/0x6*(parseInt(_0x49af35(0x1bc))/0x7)+parseInt(_0x49af35(0x1e5))/0x8+parseInt(_0x49af35(0x2a1))/0x9;if(_0x5cc7a1===_0xa0b279)break;else _0xf64a78['push'](_0xf64a78['shift']());}catch(_0x5b2010){_0xf64a78['push'](_0xf64a78['shift']());}}}(a0_0x47fd,0xb2ab9));import{BaseTool}from'./baseTool.js';import a0_0x9b5b1f from'../utilities/tagParser.js';import a0_0x2ea814 from'../utilities/directoryAccessManager.js';import{spawn,exec}from'child_process';function a0_0x47fd(){const _0x465758=['ChjVy2vZCY1SAxn0','q29TBwfUzcbWCM9JzxnZigLZig5VDcbYDw5UAw5N','q29TBwfUzcb0Aw1LzcbVDxqGywz0zxiG','CgLUzW','Dw5PEc1ZDhLSzs1WyxrOCW','A2v5ChjLC3m','icyG','Dgv4Dc1LzgL0','r2v0lunOAwXKsxrLBsbfBNy6','twf4Aw11BsbNBg9IywWGyMfJA2DYB3vUzcbJB21Tyw5KCYbLEgnLzwrLzcaO','uhjLC3mGyw55igTLEq','zgLYzwn0B3j5lwn1CNjLBNq','uhjVy2vLzcbWCM9TChq','mtKZntG4mJbztNfmyM0','BMv3rgLYzwn0B3j5','AgfSDa','zgLYzwn0B3j5','q29UDgLUDwuGChjVBxb0','y29TBwfUzeLKq291BNrLCG','CgXHDgzVCM0','zxH0CMfJDenVBNrLBNq','zMLSzs12Awv3Aw5N','ufnnB2r1BgvqyxrO','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','zMLUzcaVyW','zMLSzs1KzwXLDgu','q2HHBMDLzcbKAxjLy3rVCNKGDg8G','nJaYnZe4nxbzDLP3wa','CNvUlwnVBw1HBMq','zgLZAY1PBMzV','lunVBw1HBMq','DhjHBNnSyxrLvg9cyxnO','Ahr0Ca','r2v0lunVBNrLBNqGlvrHAwW','y2f0','mxjLu0rNBq','y2XLyw51Cfn0ywXLq29TBwfUzhm','zMLSzs1JB3b5','Dg9ju09tDhjPBMC','CgXHDgzVCM1uExbL','ywn0Aw9UCW','q29TBwfUzcbHBhjLywr5ihrLCM1PBMf0zwq','CgLUzYaKmq','u3rHBguGy29TBwfUzhmGy2XLyw5Lzcb1Ca','id4GjG','C3vIC3rYAw5N','zw5KC1DPDgG','Aw50zwDLCG','BhmGlwe','ywX0zxjUyxrPDMvZ','y3vYBa','C3rHDgu','u3rHCNrPBMCGyMfJA2DYB3vUzcbJB21Tyw5KoIa','Aw5MBW','zwnOBW','ugfZC3DVCMqGChjVBxb0','mJG4mJaYohPMqxDusq','BgLZDefNzw50q29TBwfUzhm','CMvHC29U','DgfRzw93BG','z2v0vgLTzq','cI0Gq2f0zwDVCNK6ia','C2vUzeLUChv0','AxntAw1WBgvdB21Tyw5K','cI0GvgfYz2v0ifrLCM1PBMfSoIa','zMLUzhn0CG','CMvZB2X2zq','u0Lhvevstq','DMfSAwrHDgvdB21Tyw5Kt3DUzxjZAgLW','zw52','sw5WDxqGC2vUDcbZDwnJzxnZzNvSBhK','qwn0Aw9Uia','AxnbBgXVD2vKq29TBwfUza','y3vYBcaTtYaKmq','BM93','tMv3luL0zw0Glvr5CguGrMLSzq','zxzLCNK','ignVBw1HBMrZigzVCIbHz2vUDca','z3jLCa','CgLWzq','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUzcbZDgrLCNi','zg93BMXVywq','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','q29TBwfUzcbWCM9JzxnZig5VDcbMB3vUzcbVCIbHBhjLywr5igTPBgXLza','ihn0ywXLignVBw1HBMrZ','C3rHCNrcywnRz3jVDw5Kq29TBwfUza','AM9PBG','r2v0lunOAwXKsxrLBsaTuMvJDxjZzsb8ie1Lyxn1CMuTt2jQzwn0','u29YDc1pyMPLy3qGlvvUAxf1zq','yw5HBhL6zunVBw1HBMrdB21WyxrPyMLSAxr5','yNvPBhrPBG','r2v0lunVBNrLBNq','AxnbCNjHEq','y3jLyxrLrgLYzwn0B3j5','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','ig1PBgXPC2vJB25KCW','BwfPBIGP','y3jLyxrLlwrPCMvJDg9YEq','q2XLyw5Lzcb1Cca','z2v0lxDVCMTPBMCTzgLYzwn0B3j5','quKGDhjHBNnSyxrPB24GBM90igf2ywLSywjSzsaTig1PC3nPBMCGy29UDgv4Da','y2fSBa','DxnLCM5HBwu','CgfZC3DVCMq','Bwf4q29TBwfUzefNzu1PBNv0zxm','qMfJA2DYB3vUzcbJB21Tyw5KigvYCM9Y','Bg9N','ChjVy2vZCY1TB25PDg9Y','Bwf0y2G','Bw92zq','u29YDc1pyMPLy3q','DgfZA2TPBgW','CMvWBgfJzq','z2v0','zgLYic9H','Dg9mB3DLCKnHC2u','BxmPcI0Gyxn5BMm6ifDOzxrOzxiGDg8GCNvUignVBw1HBMqGyxn5BMnOCM9UB3vZBhKGkhrYDwuVzMfSC2uPcGPfwefnueXfuZOkcLj1BIbUCg0GAw5ZDgfSBdOkygbGANnVBGP7iNrVB2Xjzci6icj0zxjTAw5HBciSicjHy3rPB25ZiJOGw3SIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiM5WBsbPBNn0ywXSiN1DFqPGygakcKDPDcbVCgvYyxrPB25ZoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiNrLCM1PBMfSiIWkicaIywn0Aw9UCYi6ifSkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiMDPDcbZDgf0DxmIFsWkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiMDPDcbHzgqGlIj9laOGicaGEYj0ExbLiJOGiNj1BI1JB21Tyw5KiIWGiMnVBw1HBMqIoIaIz2L0ignVBw1PDcaTBsbCiLvWzgf0zsbMAwXLC1WIiN0kicbDcN0kygbGcGPdAgfUz2uGzgLYzwn0B3j5igfUzcbIDwLSzdOkygbGANnVBGP7cIaGiNrVB2Xjzci6icj0zxjTAw5HBciScIaGiMfJDgLVBNmIoIbBcIaGicb7iNr5CguIoIaIy2HHBMDLlwrPCMvJDg9YEsiSicjKAxjLy3rVCNKIoIaIlI4VzNjVBNrLBMqIFsWkicaGihSIDhLWzsi6icjYDw4Ty29TBwfUzciSicjJB21Tyw5KiJOGiM5WBsbYDw4GyNvPBgqIFqOGif0kFqPGygakcLnfq1vssvrzoGOTierHBMDLCM91CYbJB21Tyw5KCYbHCMuGyMXVy2TLzaOTienVBw1HBMrZigv4zwn1DguGAw4GAxnVBgf0zwqGzw52AxjVBM1LBNqklsbpDxrWDxqGAxmGy2fWDhvYzwqGyw5KihjLDhvYBMvKihnHzMvSEqOkqKvtvcbquKfdveLdrvm6cI0GvxnLiezPBgvtExn0zw0GDg9VBcbMB3iGzMLSzs9KAxjLy3rVCNKGB3bLCMf0Aw9UCWOTifvZzsbuzxjTAw5HBcbMB3iGq0Xjihv0AwXPDgLLCYaOBNbTlcbNAxqSign1CMWSigv0yY4PcI0Gq2HLy2SGy29TBwfUzcbVDxrWDxqGDg8GDMvYAwz5ihn1y2nLC3mkicaGia','mtKYmJm0zfvNDhrJ','y2XHC3nPzNLdB21Tyw5K','twvUDsbZzwXLy3rPB24','yNvPBgruCMfUC2XHDgLVBLbYB21WDa','yMXVy2TLzenVBw1HBMrZ','rgLYzwn0B3j5ignOyw5NzsbIBg9JA2vKoIa','q29TBwfUzcbJB21WBgv0zwqGC3vJy2vZC2z1BgX5oIa','Cgf0DgvYBG','DgLTzw91Da','A2LSBa','zMfPBgvK','zw5KvgLTzq','z2v0q29TBwfUzfn0yxr1CW','zgv0zwn0zwruzxjTAw5HBa','zgvSicqX','C2vSzwn0Aw9U','y3vZDg9TqxbPs2v5CW','BwvZC2fNzvbYB2nLC3nVCG','q29TBwfUzcbUB3qGzM91BMq6ia','Bwf4qMfJA2DYB3vUzenVBw1HBMrZugvYqwDLBNq','ignVBw1HBMq','C3rKzxjYqNvMzMvY','C3rYAw5N','BgLZDc1KAxjLy3rVCNK','q29TBwfUzcbLEgL0zwqGD2L0AcbJB2rLia','Dg9tDhjPBMC','y21K','q29TBwfUzcbRAwXSzwqGC3vJy2vZC2z1BgX5','C2v0','D2fYBG','z2v0u3vWCg9YDgvKqwn0Aw9UCW','BgLZDerPCMvJDg9YEq','y29TBwfUzfr5Cgu','wwvZl05Vihf1zxn0Aw9U','AxnbC3LUyW','D29YA2LUz0rPCMvJDg9YEq','y2HHBMDLlwrPCMvJDg9YEq','Dhj1zq','zgLY','Bwf0y2HLzfrLEhq','r2v0lvbYB2nLC3mGFcbtDg9WlvbYB2nLC3m','mZG5mdi3mK1dA29XAa','BgvUz3rO','DhjHBNnSyxrLvg9xAw5KB3DZq21K','ChjVBxb0rgv0zwn0zwq','u0HfteW','q29TBwfUzcb0CMfUC2XHDgLVBIbMywLSzwqSihvZAw5Nig9YAwDPBMfSignVBw1HBMq','zxHLy3v0Aw9UvgLTzq','q29TBwfUzcb0CMfUC2XHDgvKigzVCIbqB3DLCLnOzwXS','uMvTB3zLluL0zw0','zMLSDgvY','DgfZA2XPC3q','uhjVBxb0igrLDgvJDgvKigLUigjHy2TNCM91BMqGy29TBwfUza','zNn1DgLSihzVBhvTzsbKAxnRzNjLzq','D3jPDgu','vgvYBwLUywWGrevcvuC6ifvZAw5NigzHBgXIywnRihDVCMTPBMCGzgLYzwn0B3j5oG','q29TBwfUzcbWCM9JzxnZigv4AxrLzdOG','zwnOBYa','BwvZC2fNzq','D29YA2LUz0rPCMvJDg9YAwvZ','oIb0ExbLigLZihjLCxvPCMvK','C29YDcaVDw5PCxvL','r2v0lunOAwXKsxrLBsaTuMvJDxjZzq','ywDLBNrjza','Cg93zxjZAgvSBcaTyW','Aw5JBhvKzxm','CMvXDwLYzxnqCM9Qzwn0','BwTKAxi','C3vJy2vZCW','r2v0lunOAwXKsxrLBsaTrM9Yy2u','yxn5BMm','ChjVy2vZCW','sw52B2TLlvjLC3rnzxrOB2q','D2LUzg93CY1JBwq','AxncBg9JA2vKq29TBwfUza','rMfPBgvKihrVignOyw5NzsbKAxjLy3rVCNKGDg8G','zgvMia','zxjYB3i','zwnOBYaN','ChjVBxb0rgv0zwn0B3i','zMLSzq','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','C3rKzxjY','BMfTzq','Cg93zxjZAgvSBa','r2v0lvDTAu9IAMvJDcaTq2XHC3mGv2LUmZjFugH5C2LJywXnzw1VCNK','u2vSzwn0Aw9UihbYB21WDa','tMv3luL0zw0Glvr5CguGrgLYzwn0B3j5','CgLK','ywXSB3DLzenVBw1HBMrZ','AgvSCa','B2jQzwn0','vgvYBwLUywWGzgv0zwn0zwq','zgvS','C2LTCgXL','DxnLCI1PBMzV','y2HHBMDLrgLYzwn0B3j5','C3vNz2vZDgvKqwn0Aw9U','DhjHBNnSyxrLq29TBwfUza','CM1KAxiGjde','y29UzMLYBwf0Aw9U','zgvIDwC','zMLSzs1SAxn0Aw5N','uhjLC3mGzw50zxi','y29WEsaKmsaKmG','z2v0q29TBwfUzeHPC3rVCNK','zw50CMLLCW','zwnOBYaIjdeIid4','q29TBwfUzcbLEgvJDxrLzcbZDwnJzxnZzNvSBhKGAw4G','vxnPBMCGquKGDhjHBNnSyxrPB24','zgvZy3jPChrPB24','A2LSBgvK','q29TBwfUzcbZCgf3BIbLCNjVCJOG','tgLZDgvKia','CgvYBwLZC2LVBNm','Bw9YzsaRBG','DhjPBq','y2f0icqX','DhjHBNnSyxrLvg9qB3DLCLnOzwXS','y29TCgXLDgvK','oIbJB21Tyw5KigLZihjLCxvPCMvKigzVCIbYDw4Ty29TBwfUza','BgfZDe91Dhb1DfrPBwu','rxHLy3v0Aw5NignVBw1HBMqGD2L0AcbZCgf3BJOG','Aw5PDgLHBgL6zvrLCM1PBMfSrgv0zwn0Aw9U','vxnLCM5HBwuGChjVBxb0','uMvTB3zLluL0zw0Gjde','C3rHCNrZv2L0Aa','q29TBwfUzcbLCNjVCIbJAhvUAZOG','zwnOBYaLvvnfuK5btuuL','DMfSAwrHDgvszwfKqwnJzxnZ','yxjYyxK','y29TBwfUzeLK','D2HVyw1P','DhjHBNnSyxrL','C29Tzq','qMfJA2DYB3vUzcbJB21Tyw5Kihn0yxj0zwqGD2L0AcbjrdOG','zxHLy3v0zunVBw1HBMq','AxnZDwvZ','uhjVBxb0igrLDgvJDgvKigLUihn0zgvYCG','BwvTB3j5lwLUzM8','C3rKB3v0qNvMzMvY','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9Yia','q29TChjLC3mTqxjJAgL2zq','zgvSzxrL','y29TBwfUzeHPC3rVCNK','y29WEq','y29TBwfUza','Dw5RBM93BG','zw52AxjVBM1LBNq','q2fUBM90ihnLBMqGAw5WDxqGDg8G','DgvZDa','ChvZAa','zgf0yq','D2LUmZi','tw92zs1jDgvT','Bwf4qMfJA2DYB3vUzenVBw1HBMrZr2XVyMfS','r2vUzxjPyYbPBNb1DcbWCM9TChq','C291CMnLia','ChjVy2vZCY1RAwXS','CM0GlxjMic8','C3rKB3v0','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLigzVCIbJB21Tyw5KihrYyw5ZBgf0Aw9U','zNvUy3rPB24G','y29TBwfUzenHDgvNB3j5','C3rKAw4','z2v0qwDLBNrdB21Tyw5KCW','D2fPDgLUz19MB3jFAw5WDxq','ywLtzxj2AwnL','u3rVCc1qCM9JzxnZ','zNjVBq','tM9UzsbKzxrLy3rLza','quKGDhjHBNnSyxrPB24GCMv0DxjUzwqGC2fTzsbJB21Tyw5K','vgvYBwLUywWGrevcvuC6ifvZAw5NigfNzw50ignVBMzPz3vYzwqGD29YA2LUzYbKAxjLy3rVCNK6','DMfSDwvZ','mJiWnta3oe5dDK1tuG','Dw5PEa','AxneAxjLy3rVCNK','ywrKvg9iAxn0B3j5','zxHPDenVzgu','Bw92zsaKmsaKmG','Bg9Nz2vY','zgLYzwn0B3j5lwnYzwf0zq','DhLWzq','DhLWzsbUDwWGpG','qwXSia','Dg9VBhnszwDPC3rYEq','y2f0zwDVCNK','CgXHDgzVCM1qCM92AwrLza','AxndB21Tyw5Kq29TCgf0AwjSzvDPDgHuzxjTAw5HBa','q29UzMLYBwf0Aw9UihbYB21WDa','z3b0ltqTBwLUAq','tufyx0jbq0ThuK9vtKrFq09ntuforfnFr0XpqKfm','vgvZDc1ozxrdB25Uzwn0Aw9U','Cg93zxjZAgvSBcbfEhbHBMqTqxjJAgL2zq','mJu1odi4C2zzBu1V','AxntEw1IB2XPy0XPBMS','r2v0lunOAwXKsxrLBq','Dw5PDMvYC2fS','BwfW','u0Lhs0Lmta','zgv0zwn0uhjVBxb0','i2LUy2X1zgu','tufyx0jbq0ThuK9vtKrFq09ntuforfnFuevsx0fhru5u','cI0Gu3vNz2vZDgvKiefSDgvYBMf0AxzLoIa','yMfZAa','y2XLyw51Ca','C3bLy2LMAwnjC3n1zxm','ywXSB3DLza','y29UzMLKzw5Jzq','y3DK','mJy0ELnZA0fZ','qMfZAcbZAgvSBcaOtgLUDxGVvw5PEc9TywnpuYK','ywDLBNrjzcbPCYbYzxf1AxjLzcbMB3iGyMfJA2DYB3vUzcbJB21Tyw5KCW','r2v0lvbYB2nLC3m','r2v0lunVBNrLBNqGjde','Aw5WDxq'];a0_0x47fd=function(){return _0x465758;};return a0_0x47fd();}import a0_0x262f4f from'path';import a0_0x52a9d4 from'fs/promises';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class PromptDetector{constructor(){const _0xad803b=a0_0x129e;this['promptPatterns']=[{'pattern':/\(y\/n\)/i,'type':'yes-no','description':_0xad803b(0x1dd)},{'pattern':/\(Y\/n\)/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\(y\/N\)/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/\[y\/n\]/i,'type':'yes-no','description':'Yes/No\x20question'},{'pattern':/\[Y\/n\]/i,'type':'yes-no-default-yes','description':'Yes/No (default Yes)'},{'pattern':/\[y\/N\]/i,'type':'yes-no-default-no','description':'Yes/No (default No)'},{'pattern':/continue\?/i,'type':'continue','description':_0xad803b(0x2a5)},{'pattern':/proceed\?/i,'type':'continue','description':_0xad803b(0x2a0)},{'pattern':/press any key to continue/i,'type':_0xad803b(0x299),'description':_0xad803b(0x29e)},{'pattern':/press enter to continue/i,'type':'keypress','description':_0xad803b(0x223)},{'pattern':/hit enter to continue/i,'type':_0xad803b(0x299),'description':'Hit\x20enter'},{'pattern':/password:/i,'type':'password','description':_0xad803b(0x17e)},{'pattern':/enter password/i,'type':'password','description':_0xad803b(0x17e)},{'pattern':/passphrase:/i,'type':_0xad803b(0x1ae),'description':'Passphrase\x20prompt'},{'pattern':/username:/i,'type':_0xad803b(0x1ad),'description':_0xad803b(0x238)},{'pattern':/enter username/i,'type':'username','description':'Username\x20prompt'},{'pattern':/enter\s+\w+:/i,'type':'input','description':'Generic\x20input\x20prompt'},{'pattern':/please enter/i,'type':'input','description':_0xad803b(0x258)},{'pattern':/input:/i,'type':_0xad803b(0x293),'description':'Generic\x20input\x20prompt'},{'pattern':/are you sure\?/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/do you want to/i,'type':_0xad803b(0x220),'description':_0xad803b(0x279)},{'pattern':/would you like to/i,'type':'confirmation','description':'Confirmation\x20prompt'},{'pattern':/select an option/i,'type':_0xad803b(0x1cb),'description':_0xad803b(0x212)},{'pattern':/choose/i,'type':_0xad803b(0x1cb),'description':'Selection\x20prompt'},{'pattern':/\d+\)\s+\w+/g,'type':'menu','description':_0xad803b(0x1be)}];}[a0_0x29919e(0x284)](_0x3b7a43,_0x1f2d98='stdout'){const _0xabdd48=a0_0x29919e;if(!_0x3b7a43||_0x3b7a43['trim']()[_0xabdd48(0x1e6)]===0x0)return null;const _0x164c90=_0x3b7a43['split']('\x0a'),_0x68ae9c=_0x164c90['slice'](-0x5)[_0xabdd48(0x19d)]('\x0a');for(const _0x3cc769 of this['promptPatterns']){const _0x352f6b=_0x68ae9c['match'](_0x3cc769[_0xabdd48(0x1c3)]);if(_0x352f6b)return{'detected':!![],'type':_0x3cc769[_0xabdd48(0x272)],'description':_0x3cc769['description'],'matchedText':_0x352f6b[0x0],'matchIndex':_0x352f6b['index'],'source':_0x1f2d98,'fullContext':_0x68ae9c,'timestamp':Date[_0xabdd48(0x191)]()};}const _0x34603b=_0x164c90[_0x164c90['length']-0x1]||'';if(_0x34603b['trim']()['length']>0x0){const _0x3d1176=/:\s*$/['test'](_0x34603b),_0x4fbdfd=/\?\s*$/[_0xabdd48(0x252)](_0x34603b);if(_0x3d1176||_0x4fbdfd){const _0x5a5d5d=/\b(enter|type|provide|specify|input)\b/i[_0xabdd48(0x252)](_0x34603b);if(_0x5a5d5d)return{'detected':!![],'type':'generic','description':'Generic\x20input\x20prompt\x20detected','matchedText':_0x34603b[_0xabdd48(0x230)](),'source':_0x1f2d98,'fullContext':_0x68ae9c,'timestamp':Date['now'](),'confidence':0.7};}}return null;}['detectHang'](_0x11b78f,_0xce89c2=0x7530){const _0x3eb455=a0_0x29919e,_0x29d1bf=Date[_0x3eb455(0x191)](),_0x8be49d=_0x29d1bf-_0x11b78f;return{'isHanging':_0x8be49d>=_0xce89c2,'timeSinceLastOutput':_0x8be49d,'threshold':_0xce89c2,'likelyWaiting':_0x8be49d>=_0xce89c2/0x2};}}class TerminalTool extends BaseTool{constructor(_0x43dae2={},_0x2c4dc2=null){const _0x375045=a0_0x29919e;super(_0x43dae2,_0x2c4dc2),this[_0x375045(0x1fe)]=![],this[_0x375045(0x1de)]=![],this['timeout']=_0x43dae2['timeout']||0x1d4c0,this['maxConcurrentOperations']=_0x43dae2[_0x375045(0x199)]||0x3,this[_0x375045(0x1f7)]=new Map(),this[_0x375045(0x24c)]=[],this['allowedCommands']=_0x43dae2[_0x375045(0x215)]||null,this[_0x375045(0x1c0)]=_0x43dae2[_0x375045(0x1c0)]||[_0x375045(0x25b),'format','del\x20/f\x20/q','shutdown','reboot',_0x375045(0x2a3)],this[_0x375045(0x1a5)]=new a0_0x2ea814(_0x43dae2,_0x2c4dc2),this['promptDetector']=new PromptDetector(),this['commandTracker']=new Map(),this['commandIdCounter']=0x0,this['MAX_BACKGROUND_COMMANDS_PER_AGENT']=_0x43dae2[_0x375045(0x1cf)]||0x5,this['MAX_BACKGROUND_COMMANDS_GLOBAL']=_0x43dae2[_0x375045(0x257)]||0x14,this['MAX_COMMAND_AGE_MINUTES']=_0x43dae2[_0x375045(0x1af)]||0x3c,this['detectedTerminal']=null,this[_0x375045(0x16e)]=null,this[_0x375045(0x237)]();}['getDescription'](){const _0x5e5a3c=a0_0x29919e;return'\x0aTerminal\x20Tool:\x20Execute\x20system\x20commands\x20and\x20manage\x20terminal\x20operations\x20safely.\x0a\x0aIMPORTANT:\x20For\x20file\x20and\x20directory\x20creation,\x20prefer\x20using\x20the\x20FileSystem\x20tool.\x0aReserve\x20the\x20Terminal\x20tool\x20for\x20command-line\x20operations\x20like\x20npm,\x20git,\x20curl,\x20etc.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22terminal\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22run-command\x22,\x20\x22command\x22:\x20\x22npm\x20install\x20express\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22change-directory\x22,\x20\x22directory\x22:\x20\x22project/backend\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20run-command:\x20Execute\x20a\x20command\x20(command)\x0a-\x20change-directory:\x20Change\x20working\x20directory\x20(directory)\x0a-\x20list-directory:\x20List\x20directory\x20contents\x20(directory)\x0a-\x20create-directory:\x20Create\x20directory\x20(directory)\x20-\x20prefer\x20FileSystem\x20tool\x0a-\x20get-working-directory:\x20Get\x20current\x20directory\x0a\x0aPARAMETERS:\x0a-\x20command:\x20The\x20command\x20to\x20execute\x0a-\x20directory:\x20Directory\x20path\x20for\x20navigation/operations\x0a-\x20timeout:\x20Optional\x20timeout\x20in\x20milliseconds\x20(max\x20'+this[_0x5e5a3c(0x1c4)]+_0x5e5a3c(0x1bb);}['parseParameters'](_0x527975){const _0x542dd2=a0_0x29919e;try{const _0x51d994={},_0x213c8c=a0_0x9b5b1f['extractContent'](_0x527975,_0x542dd2(0x2b0)),_0x28fd87=a0_0x9b5b1f[_0x542dd2(0x2a8)](_0x527975,'change-directory'),_0x235b8c=a0_0x9b5b1f['extractContent'](_0x527975,'list-directory'),_0x1646f1=a0_0x9b5b1f[_0x542dd2(0x2a8)](_0x527975,_0x542dd2(0x1a8)),_0xeea3b9=a0_0x9b5b1f['extractContent'](_0x527975,_0x542dd2(0x1aa)),_0x221fed=a0_0x9b5b1f['extractContent'](_0x527975,'timeout'),_0x2fe1ba=a0_0x9b5b1f['extractContent'](_0x527975,'async'),_0x6b43ff=[];return _0x213c8c['length']>0x0&&_0x6b43ff[_0x542dd2(0x253)]({'type':_0x542dd2(0x2b0),'command':_0x213c8c[0x0][_0x542dd2(0x230)]()}),_0x28fd87['length']>0x0&&_0x6b43ff['push']({'type':_0x542dd2(0x1e0),'directory':_0x28fd87[0x0]['trim']()}),_0x235b8c['length']>0x0&&_0x6b43ff[_0x542dd2(0x253)]({'type':'list-directory','directory':_0x235b8c[0x0][_0x542dd2(0x230)]()||'.'}),_0x1646f1['length']>0x0&&_0x6b43ff[_0x542dd2(0x253)]({'type':_0x542dd2(0x1a8),'directory':_0x1646f1[0x0]['trim']()}),_0xeea3b9[_0x542dd2(0x1e6)]>0x0&&_0x6b43ff['push']({'type':_0x542dd2(0x1aa)}),_0x51d994[_0x542dd2(0x16f)]=_0x6b43ff,_0x221fed['length']>0x0&&(_0x51d994[_0x542dd2(0x1c4)]=parseInt(_0x221fed[0x0],0xa)),_0x2fe1ba[_0x542dd2(0x1e6)]>0x0&&(_0x51d994[_0x542dd2(0x202)]=_0x2fe1ba[0x0][_0x542dd2(0x1ba)]()===_0x542dd2(0x1e1)),_0x51d994['rawContent']=_0x527975[_0x542dd2(0x230)](),_0x51d994;}catch(_0x283482){throw new Error('Failed\x20to\x20parse\x20terminal\x20parameters:\x20'+_0x283482['message']);}}['getRequiredParameters'](){const _0x15caf2=a0_0x29919e;return[_0x15caf2(0x16f)];}['customValidateParameters'](_0x5c543b){const _0x509917=a0_0x29919e,_0x193b6b=[];if(!_0x5c543b['actions']||!Array[_0x509917(0x1a3)](_0x5c543b['actions'])||_0x5c543b[_0x509917(0x16f)]['length']===0x0)_0x193b6b['push']('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x2ac4c7,_0x2550ed]of _0x5c543b[_0x509917(0x16f)][_0x509917(0x226)]()){if(!_0x2550ed[_0x509917(0x272)]){_0x193b6b['push']('Action\x20'+(_0x2ac4c7+0x1)+_0x509917(0x1f8));continue;}switch(_0x2550ed[_0x509917(0x272)]){case'run-command':if(!_0x2550ed['command']||!_0x2550ed['command']['trim']())_0x193b6b[_0x509917(0x253)]('Action\x20'+(_0x2ac4c7+0x1)+_0x509917(0x234));else{if(this[_0x509917(0x206)](_0x2550ed['command']))_0x193b6b['push']('Action\x20'+(_0x2ac4c7+0x1)+':\x20command\x20is\x20blocked\x20for\x20security:\x20'+_0x2550ed[_0x509917(0x24e)]);else this['allowedCommands']&&!this['isAllowedCommand'](_0x2550ed[_0x509917(0x24e)])&&_0x193b6b[_0x509917(0x253)](_0x509917(0x18e)+(_0x2ac4c7+0x1)+':\x20command\x20is\x20not\x20in\x20allowed\x20list:\x20'+_0x2550ed[_0x509917(0x24e)]);}break;case'change-directory':case _0x509917(0x1d3):case _0x509917(0x1a8):(!_0x2550ed[_0x509917(0x2a4)]||!_0x2550ed[_0x509917(0x2a4)][_0x509917(0x230)]())&&_0x193b6b['push']('Action\x20'+(_0x2ac4c7+0x1)+_0x509917(0x249)+_0x2550ed['type']);break;case _0x509917(0x1aa):break;default:_0x193b6b[_0x509917(0x253)](_0x509917(0x18e)+(_0x2ac4c7+0x1)+_0x509917(0x20d)+_0x2550ed['type']);}}return _0x5c543b['timeout']&&(_0x5c543b['timeout']<0x3e8||_0x5c543b[_0x509917(0x1c4)]>this[_0x509917(0x1c4)])&&_0x193b6b['push']('Timeout\x20must\x20be\x20between\x201000\x20and\x20'+this[_0x509917(0x1c4)]+_0x509917(0x1a6)),{'valid':_0x193b6b['length']===0x0,'errors':_0x193b6b};}async['execute'](_0x436a42,_0x3cf60f){const _0x2f63f9=a0_0x29919e,{actions:_0x1ad974,timeout:_0x70b49e,async:_0x54be9e}=_0x436a42,{agentId:_0x3d26a9,projectDir:_0x4734b0,directoryAccess:_0x5d8903}=_0x3cf60f,_0x2eab63=_0x5d8903||this[_0x2f63f9(0x1a5)]['createDirectoryAccess']({'workingDirectory':_0x4734b0||process[_0x2f63f9(0x28d)](),'writeEnabledDirectories':[_0x4734b0||process['cwd']()],'restrictToProject':!![]});_0x5d8903&&_0x5d8903['workingDirectory']?console[_0x2f63f9(0x1b1)](_0x2f63f9(0x268),_0x5d8903['workingDirectory']):console[_0x2f63f9(0x1b1)](_0x2f63f9(0x1f3),_0x4734b0||process['cwd']());const _0x25b5b6=_0x3d26a9+'-'+(_0x4734b0||'default');let _0x504097=this[_0x2f63f9(0x1f7)][_0x2f63f9(0x1b8)](_0x25b5b6)||this[_0x2f63f9(0x1a5)]['getWorkingDirectory'](_0x2eab63);const _0x53105d=[];for(const _0x16a6d1 of _0x1ad974){try{let _0x36119b;switch(_0x16a6d1['type']){case _0x2f63f9(0x2b0):_0x36119b=await this['executeCommand'](_0x16a6d1[_0x2f63f9(0x24e)],_0x504097,{'timeout':_0x70b49e||this['timeout'],'async':_0x54be9e||![],'agentId':_0x3d26a9,'context':{'toolsRegistry':_0x3cf60f['toolsRegistry'],'aiService':_0x3cf60f[_0x2f63f9(0x263)],'apiKey':_0x3cf60f['apiKey'],'customApiKeys':_0x3cf60f['customApiKeys'],'platformProvided':_0x3cf60f[_0x2f63f9(0x277)]}});break;case _0x2f63f9(0x1e0):_0x36119b=await this[_0x2f63f9(0x21c)](_0x16a6d1[_0x2f63f9(0x2a4)],_0x504097,_0x2eab63),_0x504097=_0x36119b[_0x2f63f9(0x2a2)],this['workingDirectories']['set'](_0x25b5b6,_0x504097);break;case _0x2f63f9(0x1d3):_0x36119b=await this[_0x2f63f9(0x1db)](_0x16a6d1['directory']==='.'?_0x504097:_0x16a6d1[_0x2f63f9(0x2a4)]);break;case _0x2f63f9(0x1a8):_0x36119b=await this[_0x2f63f9(0x1a4)](_0x16a6d1['directory'],_0x504097);break;case'get-working-directory':_0x36119b={'success':!![],'action':'get-working-directory','workingDirectory':_0x504097,'message':'Current\x20working\x20directory:\x20'+_0x504097};break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x16a6d1[_0x2f63f9(0x272)]);}_0x53105d['push'](_0x36119b),this['addToHistory'](_0x16a6d1,_0x36119b,_0x3d26a9);}catch(_0x22c93f){const _0x50857b={'success':![],'action':_0x16a6d1['type'],'error':_0x22c93f[_0x2f63f9(0x1f6)],'command':_0x16a6d1[_0x2f63f9(0x24e)]||_0x16a6d1[_0x2f63f9(0x2a4)],'workingDirectory':_0x504097};_0x53105d['push'](_0x50857b),this[_0x2f63f9(0x26d)](_0x16a6d1,_0x50857b,_0x3d26a9);}}const _0x3d2a53=_0x53105d[_0x2f63f9(0x193)](_0x2220f4=>_0x2220f4['success']),_0x3a4456=_0x53105d[_0x2f63f9(0x1ee)](_0x302653=>!_0x302653[_0x2f63f9(0x200)]);return{'success':_0x3d2a53,'actions':_0x53105d,'workingDirectory':_0x504097,'executedActions':_0x1ad974['length'],'failedActions':_0x3a4456[_0x2f63f9(0x1e6)],'toolUsed':'terminal','message':_0x3d2a53?_0x2f63f9(0x274)+_0x1ad974['length']+'\x20actions\x20completed\x20successfully':_0x3a4456['length']+'\x20of\x20'+_0x1ad974['length']+'\x20actions\x20failed'};}async[a0_0x29919e(0x244)](_0x510b7e,_0x4b95f4,_0x9a78b3={}){const _0x26f87f=a0_0x29919e,{timeout:timeout=this[_0x26f87f(0x1c4)],async:_0x40d67f=![],agentId:_0x151a9c,context:_0x56a3f9}=_0x9a78b3,_0x250608=_0x510b7e;let _0xfc766e;try{_0xfc766e=await this['translateCommand'](_0x510b7e,{'agentId':_0x151a9c,'toolsRegistry':_0x56a3f9?.['toolsRegistry'],'messageProcessor':_0x56a3f9?.['messageProcessor'],'aiService':_0x56a3f9?.[_0x26f87f(0x263)],'apiKey':_0x56a3f9?.['apiKey'],'customApiKeys':_0x56a3f9?.['customApiKeys'],'platformProvided':_0x56a3f9?.['platformProvided']});}catch(_0x16e8b9){this['logger']?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x250608,'error':_0x16e8b9[_0x26f87f(0x1f6)]}),_0xfc766e=_0x510b7e;}return new Promise((_0x47e2ad,_0x5c64e9)=>{const _0x2c7fb6=_0x26f87f,_0x222019=Date['now']();this['logger']?.['info']('Executing\x20command:\x20'+_0xfc766e,{'originalCommand':_0x250608,'translatedCommand':_0xfc766e,'terminal':this['detectedTerminal'],'workingDirectory':_0x4b95f4,'timeout':timeout,'agentId':_0x151a9c});const _0x532ba7=exec(_0xfc766e,{'cwd':_0x4b95f4,'timeout':timeout,'maxBuffer':0x400*0x400,'env':{...process[_0x2c7fb6(0x18c)]}},(_0x2ffce8,_0x2bab62,_0x14660d)=>{const _0x2b012c=_0x2c7fb6,_0x51f7a5=Date['now']()-_0x222019;if(_0x2ffce8){this['logger']?.[_0x2b012c(0x209)]('Command\x20failed:\x20'+_0xfc766e,{'originalCommand':_0x250608,'translatedCommand':_0xfc766e,'error':_0x2ffce8['message'],'workingDirectory':_0x4b95f4,'executionTime':_0x51f7a5}),_0x47e2ad({'success':![],'action':'run-command','command':_0x250608,'translatedCommand':_0xfc766e!==_0x250608?_0xfc766e:undefined,'error':_0x2ffce8['message'],'stderr':_0x14660d['trim'](),'stdout':_0x2bab62[_0x2b012c(0x230)](),'exitCode':_0x2ffce8['code'],'executionTime':_0x51f7a5,'workingDirectory':_0x4b95f4});return;}this['logger']?.['info']('Command\x20completed:\x20'+_0xfc766e,{'originalCommand':_0x250608,'translatedCommand':_0xfc766e,'executionTime':_0x51f7a5,'stdoutLength':_0x2bab62['length'],'stderrLength':_0x14660d['length']}),_0x47e2ad({'success':!![],'action':_0x2b012c(0x2b0),'command':_0x250608,'translatedCommand':_0xfc766e!==_0x250608?_0xfc766e:undefined,'stdout':_0x2bab62[_0x2b012c(0x230)](),'stderr':_0x14660d[_0x2b012c(0x230)](),'exitCode':0x0,'executionTime':_0x51f7a5,'workingDirectory':_0x4b95f4,'message':'Command\x20executed\x20successfully\x20in\x20'+_0x51f7a5+'ms'});});setTimeout(()=>{const _0x3c69eb=_0x2c7fb6;!_0x532ba7['killed']&&(_0x532ba7[_0x3c69eb(0x1c5)](_0x3c69eb(0x18a)),_0x5c64e9(new Error(_0x3c69eb(0x296)+timeout+'ms:\x20'+_0xfc766e+'\x20(original:\x20'+_0x250608+')')));},timeout);});}async['executeCommandWithSpawn'](_0x1c7799,_0x12cde1,_0x12a513={}){const _0xcbdf6f=a0_0x29919e,{timeout:timeout=this['timeout'],agentId:_0x2a5514,context:_0x110ec7}=_0x12a513,_0x5dd20b=_0x1c7799;let _0x329173;try{_0x329173=await this['translateCommand'](_0x1c7799,{'agentId':_0x2a5514,'toolsRegistry':_0x110ec7?.[_0xcbdf6f(0x275)],'messageProcessor':_0x110ec7?.[_0xcbdf6f(0x1cd)],'aiService':_0x110ec7?.[_0xcbdf6f(0x263)],'apiKey':_0x110ec7?.['apiKey'],'customApiKeys':_0x110ec7?.['customApiKeys'],'platformProvided':_0x110ec7?.[_0xcbdf6f(0x277)]});}catch(_0x3cd458){this['logger']?.['warn'](_0xcbdf6f(0x1ea),{'originalCommand':_0x5dd20b,'error':_0x3cd458[_0xcbdf6f(0x1f6)]}),_0x329173=_0x1c7799;}return new Promise((_0x2a1d42,_0x1fd3a5)=>{const _0xda1554=_0xcbdf6f,_0x4660e3=Date[_0xda1554(0x191)]();this['logger']?.['info'](_0xda1554(0x236)+_0x329173,{'originalCommand':_0x5dd20b,'translatedCommand':_0x329173,'terminal':this['detectedTerminal'],'workingDirectory':_0x12cde1,'timeout':timeout,'agentId':_0x2a5514});let _0x5d656b;if(this[_0xda1554(0x1c9)]==='cmd'||this['detectedTerminal']===_0xda1554(0x210)){const _0x53aa01=this[_0xda1554(0x1c9)]===_0xda1554(0x210)?'powershell':'cmd',_0xf726a6=this['detectedTerminal']==='powershell'?[_0xda1554(0x2b2),_0x329173]:['/c',_0x329173];_0x5d656b=spawn(_0x53aa01,_0xf726a6,{'cwd':_0x12cde1,'env':{...process['env']},'windowsHide':!![]});}else _0x5d656b=spawn('sh',['-c',_0x329173],{'cwd':_0x12cde1,'env':{...process[_0xda1554(0x18c)]}});let _0x1577f6='',_0x50a584='',_0x486300=![],_0x5c44c1=null,_0x3c2a15=Date['now'](),_0x1308a4=null;const _0x17cbed=setTimeout(()=>{const _0x52426d=_0xda1554;!_0x5d656b['killed']&&_0x5c44c1===null&&(_0x486300=!![],this['logger']?.[_0x52426d(0x1d9)]('Command\x20timed\x20out,\x20killing\x20process:\x20'+_0x329173,{'timeout':timeout,'agentId':_0x2a5514}),_0x5d656b['kill']('SIGTERM'),setTimeout(()=>{const _0x3bc0c0=_0x52426d;!_0x5d656b[_0x3bc0c0(0x22b)]&&_0x5d656b['kill']('SIGKILL');},0x1388));},timeout);_0x5d656b[_0xda1554(0x25c)]['on']('data',_0x11afd6=>{const _0x408a4d=_0xda1554,_0x3beabe=_0x11afd6[_0x408a4d(0x1d5)]();_0x1577f6+=_0x3beabe,_0x3c2a15=Date['now'](),this[_0x408a4d(0x270)]?.[_0x408a4d(0x221)]('Command\x20output\x20chunk:\x20'+_0x3beabe['substring'](0x0,0x64),{'agentId':_0x2a5514,'command':_0x5dd20b['substring'](0x0,0x32)});if(!_0x1308a4){const _0x29e8c7=this[_0x408a4d(0x20b)]['detectPrompt'](_0x1577f6,_0x408a4d(0x25c));_0x29e8c7&&(_0x1308a4=_0x29e8c7,this[_0x408a4d(0x270)]?.[_0x408a4d(0x17c)]('Prompt\x20detected\x20in\x20stdout',{'type':_0x29e8c7[_0x408a4d(0x272)],'description':_0x29e8c7['description'],'matchedText':_0x29e8c7[_0x408a4d(0x1e3)],'agentId':_0x2a5514,'command':_0x5dd20b[_0x408a4d(0x174)](0x0,0x32)}));}}),_0x5d656b['stderr']['on']('data',_0x38a9dc=>{const _0x512c45=_0xda1554,_0x29f9b5=_0x38a9dc['toString']();_0x50a584+=_0x29f9b5,_0x3c2a15=Date['now'](),this['logger']?.[_0x512c45(0x221)](_0x512c45(0x23b)+_0x29f9b5['substring'](0x0,0x64),{'agentId':_0x2a5514,'command':_0x5dd20b[_0x512c45(0x174)](0x0,0x32)});if(!_0x1308a4){const _0x5d01a7=this[_0x512c45(0x20b)]['detectPrompt'](_0x50a584,'stderr');_0x5d01a7&&(_0x1308a4=_0x5d01a7,this['logger']?.[_0x512c45(0x17c)](_0x512c45(0x246),{'type':_0x5d01a7[_0x512c45(0x272)],'description':_0x5d01a7[_0x512c45(0x22a)],'matchedText':_0x5d01a7['matchedText'],'agentId':_0x2a5514,'command':_0x5dd20b[_0x512c45(0x174)](0x0,0x32)}));}}),_0x5d656b['on']('exit',(_0x33fed0,_0x37101b)=>{const _0x41c25c=_0xda1554;clearTimeout(_0x17cbed),_0x5c44c1=_0x33fed0;const _0x4e13ac=Date['now']()-_0x4660e3,_0x206f21=Date[_0x41c25c(0x191)]()-_0x3c2a15;this[_0x41c25c(0x270)]?.['info'](_0x41c25c(0x1f4)+_0x329173,{'exitCode':_0x33fed0,'signal':_0x37101b,'executionTime':_0x4e13ac,'timedOut':_0x486300,'stdoutLength':_0x1577f6['length'],'stderrLength':_0x50a584['length'],'promptDetected':!!_0x1308a4,'timeSinceLastOutput':_0x206f21});const _0x495323={'action':_0x41c25c(0x2b0),'command':_0x5dd20b,'translatedCommand':_0x329173!==_0x5dd20b?_0x329173:undefined,'stdout':_0x1577f6['trim'](),'stderr':_0x50a584[_0x41c25c(0x230)](),'exitCode':_0x33fed0,'executionTime':_0x4e13ac,'workingDirectory':_0x12cde1,'promptDetected':!!_0x1308a4,'promptInfo':_0x1308a4||undefined,'lastOutputTime':_0x3c2a15,'timeSinceLastOutput':_0x206f21};if(_0x486300){_0x2a1d42({..._0x495323,'success':![],'error':'Command\x20timed\x20out\x20after\x20'+timeout+'ms','exitCode':_0x33fed0||-0x1,'timedOut':!![]});return;}if(_0x33fed0!==0x0){this['logger']?.[_0x41c25c(0x209)]('Command\x20failed\x20with\x20exit\x20code\x20'+_0x33fed0+':\x20'+_0x329173,{'originalCommand':_0x5dd20b,'translatedCommand':_0x329173,'exitCode':_0x33fed0,'stderr':_0x50a584[_0x41c25c(0x174)](0x0,0xc8),'executionTime':_0x4e13ac,'promptDetected':!!_0x1308a4}),_0x2a1d42({..._0x495323,'success':![],'error':_0x41c25c(0x1d4)+_0x33fed0});return;}this['logger']?.[_0x41c25c(0x17c)](_0x41c25c(0x1c2)+_0x329173,{'originalCommand':_0x5dd20b,'executionTime':_0x4e13ac,'stdoutLength':_0x1577f6[_0x41c25c(0x1e6)],'stderrLength':_0x50a584[_0x41c25c(0x1e6)],'promptDetected':!!_0x1308a4}),_0x2a1d42({..._0x495323,'success':!![],'exitCode':0x0,'message':_0x41c25c(0x228)+_0x4e13ac+'ms'});}),_0x5d656b['on'](_0xda1554(0x209),_0x34dfc2=>{const _0x4c6afe=_0xda1554;clearTimeout(_0x17cbed);const _0x3abadf=Date[_0x4c6afe(0x191)]()-_0x4660e3,_0x5f05b1=Date['now']()-_0x3c2a15;this['logger']?.['error'](_0x4c6afe(0x22c)+_0x329173,{'originalCommand':_0x5dd20b,'error':_0x34dfc2[_0x4c6afe(0x1f6)],'executionTime':_0x3abadf,'promptDetected':!!_0x1308a4}),_0x2a1d42({'success':![],'action':'run-command','command':_0x5dd20b,'translatedCommand':_0x329173!==_0x5dd20b?_0x329173:undefined,'error':_0x34dfc2['message'],'stderr':_0x50a584['trim'](),'stdout':_0x1577f6[_0x4c6afe(0x230)](),'exitCode':-0x1,'executionTime':_0x3abadf,'workingDirectory':_0x12cde1,'promptDetected':!!_0x1308a4,'promptInfo':_0x1308a4||undefined,'lastOutputTime':_0x3c2a15,'timeSinceLastOutput':_0x5f05b1});});});}async['changeDirectory'](_0x4da83f,_0x3455c9,_0x55015d){const _0x4ca15c=a0_0x29919e;try{let _0x565a3b;a0_0x262f4f['isAbsolute'](_0x4da83f)?_0x565a3b=_0x4da83f:_0x565a3b=a0_0x262f4f['resolve'](_0x3455c9,_0x4da83f);const _0x2a60f0=await a0_0x52a9d4['stat'](_0x565a3b);if(!_0x2a60f0[_0x4ca15c(0x26c)]())throw new Error('Not\x20a\x20directory:\x20'+_0x565a3b);const _0x197b19=this[_0x4ca15c(0x1a5)][_0x4ca15c(0x23d)](_0x565a3b,_0x55015d);if(!_0x197b19[_0x4ca15c(0x28b)]){this['logger']?.[_0x4ca15c(0x1d9)](_0x4ca15c(0x1c1)+_0x197b19[_0x4ca15c(0x181)],{'targetDirectory':_0x565a3b,'reason':_0x197b19[_0x4ca15c(0x181)],'category':_0x197b19['category']});throw new Error('Access\x20denied:\x20'+_0x197b19['reason']);}return{'success':!![],'action':'change-directory','previousDirectory':_0x3455c9,'newDirectory':_0x565a3b,'message':_0x4ca15c(0x2ae)+_0x565a3b};}catch(_0x441e56){throw new Error(_0x4ca15c(0x207)+_0x4da83f+':\x20'+_0x441e56[_0x4ca15c(0x1f6)]);}}async['listDirectory'](_0x29106a){const _0x18d051=a0_0x29919e;try{const _0x2a8ea8=await a0_0x52a9d4['readdir'](_0x29106a,{'withFileTypes':!![]}),_0x404b48=_0x2a8ea8[_0x18d051(0x282)](_0x3aa89c=>({'name':_0x3aa89c[_0x18d051(0x20f)],'type':_0x3aa89c[_0x18d051(0x26c)]()?_0x18d051(0x2a4):'file','isSymlink':_0x3aa89c[_0x18d051(0x27f)]()}));return{'success':!![],'action':_0x18d051(0x1d3),'directory':_0x29106a,'contents':_0x404b48,'totalItems':_0x404b48['length'],'directories':_0x404b48[_0x18d051(0x1ee)](_0x244388=>_0x244388[_0x18d051(0x272)]==='directory')['length'],'files':_0x404b48['filter'](_0x217179=>_0x217179[_0x18d051(0x272)]===_0x18d051(0x20c))['length'],'message':_0x18d051(0x22d)+_0x404b48[_0x18d051(0x1e6)]+'\x20items\x20in\x20'+_0x29106a};}catch(_0x3e7e37){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0x29106a+':\x20'+_0x3e7e37[_0x18d051(0x1f6)]);}}async['createDirectory'](_0x461d6b,_0x11d5a0){const _0x320e78=a0_0x29919e;try{let _0x33b963;return a0_0x262f4f['isAbsolute'](_0x461d6b)?_0x33b963=_0x461d6b:_0x33b963=a0_0x262f4f[_0x320e78(0x189)](_0x11d5a0,_0x461d6b),await a0_0x52a9d4[_0x320e78(0x1ff)](_0x33b963,{'recursive':!![]}),{'success':!![],'action':'create-directory','directory':_0x33b963,'relativePath':a0_0x262f4f['relative'](_0x11d5a0,_0x33b963),'message':'Created\x20directory:\x20'+_0x33b963};}catch(_0x254ac9){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x461d6b+':\x20'+_0x254ac9['message']);}}[a0_0x29919e(0x206)](_0x3ae5e2){const _0x57aaeb=a0_0x29919e,_0x421931=_0x3ae5e2[_0x57aaeb(0x1ba)]()['trim']();return this[_0x57aaeb(0x1c0)]['some'](_0x4de788=>{const _0x135a57=_0x57aaeb,_0x6ffd06=_0x4de788[_0x135a57(0x1ba)]();return _0x421931===_0x6ffd06||_0x421931['startsWith'](_0x6ffd06+'\x20');});}[a0_0x29919e(0x18f)](_0x27e7d6){const _0x4e265c=a0_0x29919e;if(!this[_0x4e265c(0x215)])return!![];const _0x1e0d9a=_0x27e7d6[_0x4e265c(0x1ba)]()[_0x4e265c(0x230)](),_0x4140d6=_0x1e0d9a['split']('\x20')[0x0];return this['allowedCommands'][_0x4e265c(0x242)](_0xe39663=>_0xe39663['toLowerCase']()===_0x4140d6||_0x1e0d9a[_0x4e265c(0x23a)](_0xe39663['toLowerCase']()+'\x20'));}[a0_0x29919e(0x26d)](_0x477b9d,_0x13349a,_0x41fc87){const _0x1afcc0=a0_0x29919e,_0x589ffe={'timestamp':new Date()[_0x1afcc0(0x16d)](),'agentId':_0x41fc87,'action':_0x477b9d['type'],'command':_0x477b9d[_0x1afcc0(0x24e)]||_0x477b9d['directory'],'success':_0x13349a['success'],'executionTime':_0x13349a[_0x1afcc0(0x1eb)]||0x0,'workingDirectory':_0x13349a[_0x1afcc0(0x1df)]};this[_0x1afcc0(0x24c)][_0x1afcc0(0x253)](_0x589ffe),this[_0x1afcc0(0x24c)][_0x1afcc0(0x1e6)]>0x64&&(this['commandHistory']=this[_0x1afcc0(0x24c)]['slice'](-0x64));}[a0_0x29919e(0x1da)](){const _0x4b86d1=a0_0x29919e;return[_0x4b86d1(0x2b0),_0x4b86d1(0x1e0),'list-directory',_0x4b86d1(0x1a8),'get-working-directory'];}['getParameterSchema'](){const _0x5a27eb=a0_0x29919e;return{'type':'object','properties':{'actions':{'type':_0x5a27eb(0x23e),'minItems':0x1,'items':{'type':_0x5a27eb(0x217),'properties':{'type':{'type':_0x5a27eb(0x1d2),'enum':this['getSupportedActions']()},'command':{'type':'string'},'directory':{'type':'string'}},'required':[_0x5a27eb(0x272)]}},'timeout':{'type':_0x5a27eb(0x176),'minimum':0x3e8,'maximum':this['timeout']},'async':{'type':'boolean'}},'required':[_0x5a27eb(0x16f)]};}[a0_0x29919e(0x225)](_0x13a9bd=null){const _0x197073=a0_0x29919e;if(_0x13a9bd)return this['commandHistory']['filter'](_0x1b7f84=>_0x1b7f84[_0x197073(0x1fb)]===_0x13a9bd);return[...this['commandHistory']];}['clearWorkingDirectory'](_0x11ae0e){const _0x5918e6=a0_0x29919e;for(const [_0x22ada7]of this['workingDirectories']){_0x22ada7['startsWith'](_0x11ae0e+'-')&&this[_0x5918e6(0x1f7)][_0x5918e6(0x24b)](_0x22ada7);}}[a0_0x29919e(0x2ab)](_0x5597e5,_0x1d9ba4=null){const _0x1fcb14=a0_0x29919e,_0x17d5c5=_0x5597e5+'-'+(_0x1d9ba4||'default');return this[_0x1fcb14(0x1f7)][_0x1fcb14(0x1b8)](_0x17d5c5)||_0x1d9ba4||process[_0x1fcb14(0x28d)]();}['initializeTerminalDetection'](){const _0x226763=a0_0x29919e;this['platformType']=process['platform'];if(process['platform']===_0x226763(0x255)){if(process[_0x226763(0x18c)][_0x226763(0x2aa)])this['detectedTerminal']='powershell';else process['env']['SHELL']&&process[_0x226763(0x18c)][_0x226763(0x1e9)][_0x226763(0x1fd)](_0x226763(0x288))?this[_0x226763(0x1c9)]='bash':this['detectedTerminal']='cmd';}else process[_0x226763(0x2a7)]==='darwin'?this[_0x226763(0x1c9)]='bash':this['detectedTerminal']=_0x226763(0x288);this['logger']?.['info'](_0x226763(0x218),{'platform':this['platformType'],'terminal':this['detectedTerminal'],'shell':process[_0x226763(0x18c)][_0x226763(0x1e9)]});}async['translateCommand'](_0xd1035c,_0x43a31f={}){const _0x25b190=a0_0x29919e,_0x238cde=_0xd1035c[_0x25b190(0x230)](),_0x32c9b1=this[_0x25b190(0x1a0)](_0x238cde);this['logger']?.[_0x25b190(0x17c)]('Command\x20compatibility\x20analysis',{'command':_0x238cde,'detectedTerminal':_0x32c9b1['detectedTerminal'],'commandType':_0x32c9b1['commandType'],'commandCategory':_0x32c9b1[_0x25b190(0x25f)],'compatible':_0x32c9b1['compatible'],'issues':_0x32c9b1['specificIssues'],'suggestedAction':_0x32c9b1[_0x25b190(0x21d)],'confidence':_0x32c9b1['confidence']});if(_0x32c9b1['compatible'])return _0xd1035c;let _0x4ca481=null;if(this[_0x25b190(0x1c9)]==='cmd')_0x4ca481=this[_0x25b190(0x1e7)](_0x238cde);else{if(this[_0x25b190(0x1c9)]==='powershell')_0x4ca481=this[_0x25b190(0x232)](_0x238cde);else this[_0x25b190(0x1c9)]==='bash'&&(_0x4ca481=this[_0x25b190(0x166)](_0x238cde));}if(_0x4ca481&&this['isSimpleCommand'](_0x238cde))return this['logger']?.[_0x25b190(0x17c)]('Using\x20simple\x20translation',{'original':_0xd1035c,'translated':_0x4ca481,'method':_0x25b190(0x21a)}),_0x4ca481;if(_0x43a31f[_0x25b190(0x263)]||_0x43a31f['toolsRegistry']&&_0x43a31f['agentId']){this[_0x25b190(0x270)]?.[_0x25b190(0x17c)]('Attempting\x20AI\x20translation\x20for\x20complex\x20command',{'command':_0xd1035c[_0x25b190(0x174)](0x0,0x64)+'...','hasAiService':!!_0x43a31f[_0x25b190(0x263)],'hasToolsRegistry':!!_0x43a31f['toolsRegistry'],'agentId':_0x43a31f['agentId']});try{const _0x511d6a=await this['translateCommandWithAI'](_0xd1035c,_0x43a31f);if(_0x511d6a&&_0x511d6a[_0x25b190(0x230)]()!==_0xd1035c[_0x25b190(0x230)]())return this[_0x25b190(0x270)]?.['info'](_0x25b190(0x229),{'original':_0xd1035c,'translated':_0x511d6a,'method':'ai'}),_0x511d6a;else this[_0x25b190(0x270)]?.['warn'](_0x25b190(0x267),{'original':_0xd1035c,'translated':_0x511d6a});}catch(_0xa48637){this[_0x25b190(0x270)]?.[_0x25b190(0x1d9)]('AI\x20translation\x20failed,\x20falling\x20back\x20to\x20simple\x20translation',{'original':_0xd1035c,'error':_0xa48637['message'],'stack':_0xa48637['stack']});}}else this['logger']?.[_0x25b190(0x1d9)](_0x25b190(0x1ab),{'hasAiService':!!_0x43a31f[_0x25b190(0x263)],'hasToolsRegistry':!!_0x43a31f['toolsRegistry'],'hasAgentId':!!_0x43a31f[_0x25b190(0x1fb)],'contextKeys':Object['keys'](_0x43a31f)});return _0x4ca481||_0xd1035c;}[a0_0x29919e(0x186)](_0x395333){const _0x1dbf28=a0_0x29919e,_0x29aff8=_0x395333[_0x1dbf28(0x1ba)]();if(_0x395333[_0x1dbf28(0x1fd)]('\x5cn')||_0x395333[_0x1dbf28(0x1fd)]('\x5cr')||_0x395333['includes']('\x5ct'))return![];if(_0x395333[_0x1dbf28(0x1fd)]('\x0a')||_0x395333['includes']('\x0d'))return![];if(_0x395333['includes'](_0x1dbf28(0x285))||_0x395333[_0x1dbf28(0x1fd)]('printf')||_0x395333[_0x1dbf28(0x1fd)](_0x1dbf28(0x1a7)))return![];if(_0x395333[_0x1dbf28(0x1fd)](_0x1dbf28(0x208))||_0x395333['includes'](_0x1dbf28(0x25e))||_0x395333['includes']('class\x20'))return![];if(_0x395333[_0x1dbf28(0x1fd)](_0x1dbf28(0x20a))&&!_0x395333['includes']('echo\x20\x22'))return![];const _0x51d320=_0x395333['match'](/'([^']*)'/);if(_0x51d320&&_0x51d320[0x1]['length']>0x32)return![];if(this['detectedTerminal']==='cmd'&&_0x395333[_0x1dbf28(0x1fd)]('>')&&_0x395333[_0x1dbf28(0x1fd)]('/')&&!_0x395333[_0x1dbf28(0x1fd)]('\x5c'))return![];if(_0x395333['includes']('\x20&&\x20')||_0x395333[_0x1dbf28(0x1fd)]('\x20||\x20')||_0x395333[_0x1dbf28(0x1fd)](';\x20'))return![];if(_0x395333[_0x1dbf28(0x1fd)]('$(')||_0x395333[_0x1dbf28(0x1fd)]('`')||_0x395333[_0x1dbf28(0x1fd)]('{')||_0x395333['includes']('['))return![];if(_0x29aff8['includes']('for\x20')||_0x29aff8[_0x1dbf28(0x1fd)]('while\x20')||_0x29aff8['includes']('if\x20'))return![];if(_0x29aff8['includes']('export ')||_0x29aff8['includes'](_0x1dbf28(0x259)))return![];if(_0x395333[_0x1dbf28(0x1fd)]('\x20|\x20')||_0x395333[_0x1dbf28(0x1fd)](_0x1dbf28(0x173)))return![];return!![];}async['translateCommandWithAI'](_0x27bdb7,_0x3b4e78){const _0x35b78a=a0_0x29919e;let _0x1e5751=_0x3b4e78[_0x35b78a(0x263)];if(!_0x1e5751&&_0x3b4e78[_0x35b78a(0x275)]&&_0x3b4e78[_0x35b78a(0x1fb)]){const _0x5cd7c9=_0x3b4e78[_0x35b78a(0x1cd)];_0x5cd7c9&&_0x5cd7c9['aiService']&&(_0x1e5751=_0x5cd7c9['aiService']);}if(!_0x1e5751)throw new Error(_0x35b78a(0x25d));const _0x44b0db=this[_0x35b78a(0x1bf)](_0x27bdb7),_0x5e9bc0=_0x35b78a(0x27a);try{const _0x1ce80c=await _0x1e5751['sendMessage'](_0x5e9bc0,_0x44b0db,{'agentId':_0x3b4e78[_0x35b78a(0x1fb)],'temperature':0.1,'maxTokens':0xc8,'apiKey':_0x3b4e78['apiKey'],'customApiKeys':_0x3b4e78[_0x35b78a(0x1cc)],'platformProvided':_0x3b4e78['platformProvided']}),_0xe34f1b=this['extractTranslatedCommand'](_0x1ce80c['content']);return this[_0x35b78a(0x270)]?.[_0x35b78a(0x221)]('AI\x20command\x20translation\x20completed',{'original':_0x27bdb7,'translated':_0xe34f1b,'model':_0x5e9bc0,'terminal':this[_0x35b78a(0x1c9)]}),_0xe34f1b;}catch(_0x3224fb){this[_0x35b78a(0x270)]?.[_0x35b78a(0x209)]('AI\x20command\x20translation\x20failed',{'command':_0x27bdb7,'terminal':this['detectedTerminal'],'error':_0x3224fb['message']});throw _0x3224fb;}}[a0_0x29919e(0x1bf)](_0x4b1703){const _0x43a41d=a0_0x29919e,_0xfdb30e={'cmd':'Windows\x20Command\x20Prompt\x20(cmd.exe)','powershell':'Windows\x20PowerShell','bash':_0x43a41d(0x28f)},_0x10d34b=_0xfdb30e[this['detectedTerminal']]||this[_0x43a41d(0x1c9)],_0x53b60f=this[_0x43a41d(0x1a0)](_0x4b1703);let _0x706b0d='Translate\x20this\x20command\x20to\x20work\x20correctly\x20in\x20'+_0x10d34b+':\x0a\x0aORIGINAL\x20COMMAND:\x0a```\x0a'+_0x4b1703+'\x0a```\x0a\x0aCOMMAND\x20ANALYSIS:\x0a-\x20Command\x20Type:\x20'+_0x53b60f[_0x43a41d(0x1dc)]+_0x43a41d(0x184)+_0x53b60f['commandCategory']+_0x43a41d(0x187)+_0x10d34b+'\x0a-\x20Compatibility\x20Issues:\x20'+(_0x53b60f[_0x43a41d(0x28a)]['join'](',\x20')||_0x43a41d(0x266));return _0x53b60f[_0x43a41d(0x1dc)]===_0x43a41d(0x26b)&&_0x53b60f[_0x43a41d(0x178)]&&_0x53b60f[_0x43a41d(0x178)][this['detectedTerminal']]&&(_0x706b0d+=_0x43a41d(0x287)+_0x53b60f[_0x43a41d(0x178)][this['detectedTerminal']]),_0x706b0d+='\x0a\x0aREQUIREMENTS:\x0a1.\x20Make\x20the\x20command\x20work\x20correctly\x20in\x20'+_0x10d34b+'\x0a2.\x20Preserve\x20the\x20original\x20intent\x20and\x20functionality\x0a3.\x20Handle\x20file\x20paths,\x20quoting,\x20and\x20syntax\x20correctly\x0a4.\x20If\x20creating\x20files,\x20ensure\x20proper\x20encoding\x20and\x20line\x20endings\x0a5.\x20Address\x20the\x20specific\x20compatibility\x20issues\x20identified\x20above\x0a6.\x20Return\x20ONLY\x20the\x20translated\x20command,\x20nothing\x20else\x0a\x0aTRANSLATED\x20COMMAND:',_0x706b0d;}['extractTranslatedCommand'](_0x1e09eb){const _0x127436=a0_0x29919e;let _0x369a14=_0x1e09eb['replace'](/```[a-z]*\n?(.*?)\n?```/s,'$1');_0x369a14=_0x369a14[_0x127436(0x1b7)](/^(TRANSLATED COMMAND:|Command:|Result:)\s*/i,'');const _0x4995a5=_0x369a14[_0x127436(0x230)]()['split']('\x0a');return _0x4995a5['length']>0x1&&!_0x369a14[_0x127436(0x1fd)]('&&')&&!_0x369a14['includes']('||')&&(_0x369a14=_0x4995a5[0x0][_0x127436(0x230)]()),_0x369a14[_0x127436(0x230)]();}[a0_0x29919e(0x1a0)](_0x2c75b4){const _0x213744=a0_0x29919e,_0x293383=this[_0x213744(0x1bd)](_0x2c75b4),_0x2b3ff6=this[_0x213744(0x278)](_0x293383,this[_0x213744(0x1c9)]);return{'compatible':_0x2b3ff6,'detectedTerminal':this['detectedTerminal'],'commandType':_0x293383[_0x213744(0x272)],'commandCategory':_0x293383['category'],'specificIssues':_0x293383[_0x213744(0x245)],'suggestedAction':_0x2b3ff6?'execute':_0x213744(0x241),'confidence':_0x293383[_0x213744(0x28c)]};}['isCommandCompatible'](_0x2ab675){return this['analyzeCommandCompatibility'](_0x2ab675)['compatible'];}['classifyCommand'](_0x455f7f){const _0x4c746a=a0_0x29919e,_0x29ae8d=_0x455f7f['toLowerCase']()[_0x4c746a(0x230)](),_0xece924=_0x29ae8d['split']('\x20')[0x0],_0x12e459=[];let _0x2c3893=0.9;const _0x3ae0b0={'ls':{'category':'file-listing','alternatives':{'cmd':'dir','powershell':_0x4c746a(0x280)}},'cat':{'category':'file-viewing','alternatives':{'cmd':'type','powershell':'Get-Content'}},'grep':{'category':'text-search','alternatives':{'cmd':_0x4c746a(0x188),'powershell':'Select-String'}},'find':{'category':'file-search','alternatives':{'cmd':'dir\x20/s','powershell':_0x4c746a(0x1fa)}},'head':{'category':_0x4c746a(0x2a9),'alternatives':{'cmd':'more','powershell':'Get-Content\x20-Head'}},'tail':{'category':_0x4c746a(0x2a9),'alternatives':{'cmd':_0x4c746a(0x22f),'powershell':_0x4c746a(0x168)}},'wc':{'category':'text-analysis','alternatives':{'cmd':_0x4c746a(0x2ac),'powershell':'Measure-Object'}},'cp':{'category':_0x4c746a(0x16c),'alternatives':{'cmd':_0x4c746a(0x24d),'powershell':'Copy-Item'}},'mv':{'category':'file-move','alternatives':{'cmd':_0x4c746a(0x1b4),'powershell':_0x4c746a(0x256)}},'rm':{'category':_0x4c746a(0x2ad),'alternatives':{'cmd':_0x4c746a(0x219),'powershell':_0x4c746a(0x1ed)}},'mkdir':{'category':_0x4c746a(0x271),'alternatives':{'cmd':'mkdir','powershell':_0x4c746a(0x213)}},'rmdir':{'category':'directory-delete','alternatives':{'cmd':'rmdir','powershell':_0x4c746a(0x1ed)}},'touch':{'category':'file-create','alternatives':{'cmd':_0x4c746a(0x273),'powershell':_0x4c746a(0x192)}},'chmod':{'category':_0x4c746a(0x22e),'alternatives':{'cmd':'icacls','powershell':'Set-Acl'}},'chown':{'category':'ownership','alternatives':{'cmd':_0x4c746a(0x182),'powershell':'Set-Acl'}},'ps':{'category':'process-list','alternatives':{'cmd':'tasklist','powershell':_0x4c746a(0x291)}},'kill':{'category':_0x4c746a(0x25a),'alternatives':{'cmd':_0x4c746a(0x1b6),'powershell':'Stop-Process'}},'killall':{'category':_0x4c746a(0x25a),'alternatives':{'cmd':'taskkill\x20/f\x20/im','powershell':_0x4c746a(0x1e4)}},'top':{'category':_0x4c746a(0x1b2),'alternatives':{'cmd':_0x4c746a(0x1ef),'powershell':'Get-Process\x20|\x20Sort-Object\x20CPU'}},'wget':{'category':_0x4c746a(0x198),'alternatives':{'cmd':'curl','powershell':'Invoke-WebRequest'}},'curl':{'category':'http-client','alternatives':{'cmd':_0x4c746a(0x179),'powershell':_0x4c746a(0x204)}},'ping':{'category':'network-test','alternatives':{'cmd':_0x4c746a(0x297),'powershell':_0x4c746a(0x27c)}},'awk':{'category':'text-processing','alternatives':{'cmd':'for\x20/f','powershell':'ForEach-Object'}},'sed':{'category':_0x4c746a(0x29b),'alternatives':{'cmd':_0x4c746a(0x1fc),'powershell':'native'}},'sort':{'category':'text-sort','alternatives':{'cmd':'sort','powershell':_0x4c746a(0x1b5)}},'uniq':{'category':'text-dedupe','alternatives':{'cmd':_0x4c746a(0x1f9),'powershell':_0x4c746a(0x19f)}},'pwd':{'category':_0x4c746a(0x29f),'alternatives':{'cmd':'cd','powershell':'Get-Location'}},'whoami':{'category':_0x4c746a(0x21b),'alternatives':{'cmd':'echo\x20%USERNAME%','powershell':_0x4c746a(0x240)}},'env':{'category':'environment','alternatives':{'cmd':'set','powershell':_0x4c746a(0x29c)}},'export':{'category':_0x4c746a(0x250),'alternatives':{'cmd':_0x4c746a(0x1d8),'powershell':'$env:'}},'source':{'category':'script-execute','alternatives':{'cmd':_0x4c746a(0x1ac),'powershell':'.\x20'}},'tar':{'category':'archive','alternatives':{'cmd':'7z','powershell':'Compress-Archive'}},'zip':{'category':'archive','alternatives':{'cmd':'powershell\x20Compress-Archive','powershell':_0x4c746a(0x24a)}},'unzip':{'category':'archive','alternatives':{'cmd':_0x4c746a(0x27d),'powershell':'Expand-Archive'}},'df':{'category':_0x4c746a(0x2b1),'alternatives':{'cmd':_0x4c746a(0x1f1),'powershell':'Get-WmiObject\x20-Class\x20Win32_LogicalDisk'}},'du':{'category':'disk-usage','alternatives':{'cmd':'dir\x20/s','powershell':_0x4c746a(0x19e)}},'free':{'category':_0x4c746a(0x247),'alternatives':{'cmd':'systeminfo','powershell':_0x4c746a(0x211)}},'uname':{'category':'system-info','alternatives':{'cmd':'systeminfo','powershell':'Get-ComputerInfo'}}},_0x29a323={'dir':{'category':_0x4c746a(0x222),'alternatives':{'unix':'ls','powershell':_0x4c746a(0x280)}},'type':{'category':_0x4c746a(0x2a9),'alternatives':{'unix':_0x4c746a(0x169),'powershell':_0x4c746a(0x1a2)}},'copy':{'category':'file-copy','alternatives':{'unix':'cp','powershell':'Copy-Item'}},'move':{'category':'file-move','alternatives':{'unix':'mv','powershell':'Move-Item'}},'del':{'category':'file-delete','alternatives':{'unix':'rm','powershell':'Remove-Item'}},'tasklist':{'category':_0x4c746a(0x294),'alternatives':{'unix':'ps','powershell':'Get-Process'}},'taskkill':{'category':_0x4c746a(0x25a),'alternatives':{'unix':_0x4c746a(0x1c5),'powershell':_0x4c746a(0x264)}},'findstr':{'category':'text-search','alternatives':{'unix':_0x4c746a(0x195),'powershell':'Select-String'}}},_0x1aef1e={'get-childitem':{'category':'file-listing','alternatives':{'unix':'ls','cmd':'dir'}},'get-content':{'category':'file-viewing','alternatives':{'unix':'cat','cmd':'type'}},'copy-item':{'category':_0x4c746a(0x16c),'alternatives':{'unix':'cp','cmd':_0x4c746a(0x24d)}},'move-item':{'category':'file-move','alternatives':{'unix':'mv','cmd':'move'}},'remove-item':{'category':'file-delete','alternatives':{'unix':'rm','cmd':_0x4c746a(0x219)}},'get-process':{'category':_0x4c746a(0x294),'alternatives':{'unix':'ps','cmd':_0x4c746a(0x1ef)}},'stop-process':{'category':_0x4c746a(0x25a),'alternatives':{'unix':'kill','cmd':'taskkill'}}};let _0x563763=_0x4c746a(0x24f),_0x5ca487='unknown',_0x258b00={};if(_0x3ae0b0[_0xece924])_0x563763=_0x4c746a(0x26b),_0x5ca487=_0x3ae0b0[_0xece924][_0x4c746a(0x276)],_0x258b00=_0x3ae0b0[_0xece924][_0x4c746a(0x178)];else{if(_0x29a323[_0xece924])_0x563763=_0x4c746a(0x205),_0x5ca487=_0x29a323[_0xece924][_0x4c746a(0x276)],_0x258b00=_0x29a323[_0xece924]['alternatives'];else{if(_0x1aef1e[_0xece924])_0x563763='powershell',_0x5ca487=_0x1aef1e[_0xece924]['category'],_0x258b00=_0x1aef1e[_0xece924]['alternatives'];else{const _0xb4750b=[_0x4c746a(0x17d),'cd','exit',_0x4c746a(0x216)];_0xb4750b[_0x4c746a(0x1fd)](_0xece924)?(_0x563763=_0x4c746a(0x281),_0x5ca487=_0x4c746a(0x1a1)):(_0x563763='unknown',_0x2c3893=0.3);}}}return _0x455f7f['includes']('\x27')&&!_0x455f7f['includes']('\x22')&&_0x12e459['push']('single-quotes-problematic'),_0x455f7f['includes']('/')&&!_0x455f7f[_0x4c746a(0x1fd)]('\x5c')&&!_0x455f7f[_0x4c746a(0x1fd)](_0x4c746a(0x167))&&_0x455f7f['includes']('>')&&_0x12e459['push'](_0x4c746a(0x298)),(_0x455f7f['includes']('\x5cn')||_0x455f7f[_0x4c746a(0x1fd)]('\x5ct'))&&_0x12e459[_0x4c746a(0x253)]('escape-sequences'),(_0x455f7f[_0x4c746a(0x1fd)]('\x20&&\x20')||_0x455f7f[_0x4c746a(0x1fd)]('\x20||\x20')||_0x455f7f['includes'](';'))&&_0x12e459['push']('command-chaining'),{'type':_0x563763,'category':_0x5ca487,'alternatives':_0x258b00,'issues':_0x12e459,'confidence':_0x2c3893,'firstWord':_0xece924,'fullCommand':_0x455f7f};}[a0_0x29919e(0x278)](_0x5ece5d,_0x51bd36){const _0x59712c=a0_0x29919e;switch(_0x51bd36){case _0x59712c(0x1d6):if(_0x5ece5d['type']===_0x59712c(0x26b))return![];if(_0x5ece5d[_0x59712c(0x245)][_0x59712c(0x1fd)]('single-quotes-problematic'))return![];if(_0x5ece5d['issues']['includes']('unix-style-paths'))return![];return _0x5ece5d[_0x59712c(0x272)]==='windows-cmd'||_0x5ece5d[_0x59712c(0x272)]==='universal';case'powershell':if(_0x5ece5d[_0x59712c(0x272)]===_0x59712c(0x26b)&&!_0x5ece5d[_0x59712c(0x178)]['powershell'])return![];return!![];case _0x59712c(0x288):if(_0x5ece5d[_0x59712c(0x272)]==='windows-cmd')return![];return _0x5ece5d['type']===_0x59712c(0x26b)||_0x5ece5d[_0x59712c(0x272)]===_0x59712c(0x281);default:return![];}}['translateToWindowsCmd'](_0x48903b){const _0x4813f9=a0_0x29919e;let _0x1d608b=_0x48903b;const _0x267b87=new Map([[/^ls\s*$/,'dir'],[/^ls\s+-la?$/,_0x4813f9(0x1e2)],[/^ls\s+-l$/,_0x4813f9(0x1e2)],[/^ls\s+-a$/,_0x4813f9(0x1b9)],[/^cat\s+(.+)$/,'type\x20$1'],[/^cp\s+(.+)\s+(.+)$/,_0x4813f9(0x224)],[/^mv\s+(.+)\s+(.+)$/,_0x4813f9(0x26f)],[/^rm\s+(.+)$/,_0x4813f9(0x1ca)],[/^mkdir\s+(.+)$/,'mkdir\x20$1'],[/^rmdir\s+(.+)$/,_0x4813f9(0x21f)],[/^ps\s*$/,_0x4813f9(0x1ef)],[/^kill\s+(.+)$/,'taskkill\x20/PID\x20$1'],[/^pwd\s*$/,'cd'],[/^whoami\s*$/,_0x4813f9(0x23c)],[/^ping\s+(.+)$/,_0x4813f9(0x171)],[/^wget\s+(.+)$/,_0x4813f9(0x190)],[/^curl\s+(.+)$/,'curl\x20$1']]);for(const [_0x4f1742,_0x991146]of _0x267b87){if(_0x4f1742[_0x4813f9(0x252)](_0x1d608b)){_0x1d608b=_0x1d608b['replace'](_0x4f1742,_0x991146);break;}}_0x1d608b=_0x1d608b[_0x4813f9(0x1b7)](/echo\s+'([^']+)'\s*>/g,_0x4813f9(0x227)),_0x1d608b=_0x1d608b['replace'](/echo\s+'([^']+)'$/g,'echo\x20\x22$1\x22');if(_0x1d608b[_0x4813f9(0x1fd)]('echo\x20\x27')&&_0x1d608b[_0x4813f9(0x1fd)]('\x5cn')){const _0x2477e0=_0x1d608b[_0x4813f9(0x1b3)](/echo\s+'(.+?)'\s*>\s*(.+)$/);if(_0x2477e0){const _0x3e938a=_0x2477e0[0x1][_0x4813f9(0x1b7)](/\\n/g,'\x0a'),_0x10c086=_0x2477e0[0x2],_0x2f8dad=_0x3e938a['split']('\x0a');_0x1d608b='('+_0x2f8dad['map'](_0x317198=>_0x4813f9(0x1f5)+_0x317198)['join'](_0x4813f9(0x29a))+')\x20>\x20'+_0x10c086;}}return this['logger']?.['info']('Command\x20translated\x20for\x20Windows\x20CMD',{'original':_0x48903b,'translated':_0x1d608b}),_0x1d608b;}['translateToPowerShell'](_0x465e61){const _0x3d3738=a0_0x29919e;let _0x40ba9b=_0x465e61;const _0x3b8159=new Map([[/^ls\s*$/,'Get-ChildItem'],[/^ls\s+-la?$/,_0x3d3738(0x201)],[/^cat\s+(.+)$/,_0x3d3738(0x292)],[/^cp\s+(.+)\s+(.+)$/,'Copy-Item\x20$1\x20$2'],[/^mv\s+(.+)\s+(.+)$/,'Move-Item\x20$1\x20$2'],[/^rm\s+(.+)$/,_0x3d3738(0x239)],[/^pwd\s*$/,'Get-Location'],[/^ps\s*$/,'Get-Process']]);for(const [_0x134517,_0xc9e485]of _0x3b8159){if(_0x134517[_0x3d3738(0x252)](_0x40ba9b)){_0x40ba9b=_0x40ba9b['replace'](_0x134517,_0xc9e485);break;}}return this[_0x3d3738(0x270)]?.['info'](_0x3d3738(0x1ec),{'original':_0x465e61,'translated':_0x40ba9b}),_0x40ba9b;}[a0_0x29919e(0x166)](_0x2a5b4f){const _0x2a9658=a0_0x29919e;let _0x42e6f8=_0x2a5b4f;const _0x36ced0=new Map([[/^dir\s*$/,'ls'],[/^dir\s+\/a$/,_0x2a9658(0x177)],[/^type\s+(.+)$/,_0x2a9658(0x231)],[/^copy\s+(.+)\s+(.+)$/,'cp\x20$1\x20$2'],[/^move\s+(.+)\s+(.+)$/,'mv\x20$1\x20$2'],[/^del\s+(.+)$/,'rm\x20$1'],[/^tasklist\s*$/,'ps'],[/^cd\s*$/,'pwd']]);for(const [_0x1ca8c5,_0xd6b79e]of _0x36ced0){if(_0x1ca8c5['test'](_0x42e6f8)){_0x42e6f8=_0x42e6f8['replace'](_0x1ca8c5,_0xd6b79e);break;}}return _0x42e6f8;}async[a0_0x29919e(0x289)](_0x1659bd){}async[a0_0x29919e(0x19c)](_0x3b88df,_0x356366,_0x16c88d={}){const _0x5a8e06=a0_0x29919e,{agentId:_0x36e42c,context:_0x102207}=_0x16c88d;if(!_0x36e42c)throw new Error(_0x5a8e06(0x290));const _0x465e78=this['getAgentCommands'](_0x36e42c),_0x133959=_0x465e78['filter'](_0x233490=>_0x233490[_0x5a8e06(0x17a)]==='running'||_0x233490[_0x5a8e06(0x17a)]===_0x5a8e06(0x262));if(_0x133959[_0x5a8e06(0x1e6)]>=this['MAX_BACKGROUND_COMMANDS_PER_AGENT'])throw new Error('Maximum\x20background\x20commands\x20per\x20agent\x20exceeded\x20('+this[_0x5a8e06(0x286)]+')');const _0x4c7fdf=Array[_0x5a8e06(0x265)](this['commandTracker'][_0x5a8e06(0x269)]()),_0x3ff3db=_0x4c7fdf[_0x5a8e06(0x1ee)](_0x1e4af9=>_0x1e4af9['state']==='running'||_0x1e4af9['state']==='waiting_for_input');if(_0x3ff3db[_0x5a8e06(0x1e6)]>=this[_0x5a8e06(0x27b)])throw new Error(_0x5a8e06(0x29d)+this['MAX_BACKGROUND_COMMANDS_GLOBAL']+')');const _0x46dcba=_0x36e42c+'-cmd-'+Date[_0x5a8e06(0x191)]()+'-'+ ++this[_0x5a8e06(0x2a6)],_0x5c0bc6=_0x3b88df;let _0x23975f;try{_0x23975f=await this[_0x5a8e06(0x21e)](_0x3b88df,{'agentId':_0x36e42c,'toolsRegistry':_0x102207?.[_0x5a8e06(0x275)],'messageProcessor':_0x102207?.[_0x5a8e06(0x1cd)],'aiService':_0x102207?.['aiService'],'apiKey':_0x102207?.['apiKey'],'customApiKeys':_0x102207?.['customApiKeys'],'platformProvided':_0x102207?.['platformProvided']});}catch(_0x3b594b){this[_0x5a8e06(0x270)]?.['warn']('Command\x20translation\x20failed,\x20using\x20original\x20command',{'originalCommand':_0x5c0bc6,'error':_0x3b594b['message']}),_0x23975f=_0x3b88df;}this[_0x5a8e06(0x270)]?.['info'](_0x5a8e06(0x17b)+_0x23975f,{'commandId':_0x46dcba,'agentId':_0x36e42c,'originalCommand':_0x5c0bc6,'workingDirectory':_0x356366});let _0x2ff5ea;if(this['detectedTerminal']===_0x5a8e06(0x1d6)||this[_0x5a8e06(0x1c9)]==='powershell'){const _0x2a401b=this[_0x5a8e06(0x1c9)]==='powershell'?_0x5a8e06(0x210):_0x5a8e06(0x1d6),_0x182c73=this['detectedTerminal']===_0x5a8e06(0x210)?['-Command',_0x23975f]:['/c',_0x23975f];_0x2ff5ea=spawn(_0x2a401b,_0x182c73,{'cwd':_0x356366,'env':{...process[_0x5a8e06(0x18c)]},'windowsHide':!![],'stdio':['pipe','pipe','pipe']});}else _0x2ff5ea=spawn('sh',['-c',_0x23975f],{'cwd':_0x356366,'env':{...process[_0x5a8e06(0x18c)]},'stdio':[_0x5a8e06(0x196),'pipe',_0x5a8e06(0x196)]});const _0x3cfdc1={'commandId':_0x46dcba,'agentId':_0x36e42c,'pid':_0x2ff5ea['pid'],'command':_0x5c0bc6,'translatedCommand':_0x23975f,'workingDirectory':_0x356366,'startTime':new Date()[_0x5a8e06(0x16d)](),'state':'running','exitCode':null,'stdoutBuffer':'','stderrBuffer':'','lastOutputTime':Date[_0x5a8e06(0x191)](),'promptDetected':null,'process':_0x2ff5ea};return this['commandTracker'][_0x5a8e06(0x1d8)](_0x46dcba,_0x3cfdc1),_0x2ff5ea['stdout']['on'](_0x5a8e06(0x254),_0x3f6a1e=>{const _0x47501d=_0x5a8e06,_0x287414=_0x3f6a1e['toString']();_0x3cfdc1[_0x47501d(0x248)]+=_0x287414,_0x3cfdc1['lastOutputTime']=Date['now']();if(!_0x3cfdc1['promptDetected']){const _0x51742f=this[_0x47501d(0x20b)][_0x47501d(0x284)](_0x3cfdc1[_0x47501d(0x248)],_0x47501d(0x25c));_0x51742f&&(_0x3cfdc1[_0x47501d(0x1e8)]=_0x51742f,_0x3cfdc1['state']=_0x47501d(0x262),this[_0x47501d(0x270)]?.[_0x47501d(0x17c)](_0x47501d(0x1f0),{'commandId':_0x46dcba,'agentId':_0x36e42c,'type':_0x51742f[_0x47501d(0x272)],'matchedText':_0x51742f['matchedText']}));}}),_0x2ff5ea[_0x5a8e06(0x20e)]['on']('data',_0x6b72d3=>{const _0x1ac35c=_0x5a8e06,_0x3034c7=_0x6b72d3[_0x1ac35c(0x1d5)]();_0x3cfdc1['stderrBuffer']+=_0x3034c7,_0x3cfdc1['lastOutputTime']=Date['now']();if(!_0x3cfdc1[_0x1ac35c(0x1e8)]){const _0x444e33=this[_0x1ac35c(0x20b)]['detectPrompt'](_0x3cfdc1[_0x1ac35c(0x1d1)],_0x1ac35c(0x20e));_0x444e33&&(_0x3cfdc1[_0x1ac35c(0x1e8)]=_0x444e33,_0x3cfdc1[_0x1ac35c(0x17a)]=_0x1ac35c(0x262),this[_0x1ac35c(0x270)]?.['info'](_0x1ac35c(0x197),{'commandId':_0x46dcba,'agentId':_0x36e42c,'type':_0x444e33[_0x1ac35c(0x272)],'matchedText':_0x444e33['matchedText']}));}}),_0x2ff5ea['on']('exit',(_0x3af818,_0x459af1)=>{const _0x363ff5=_0x5a8e06;_0x3cfdc1['exitCode']=_0x3af818,_0x3cfdc1[_0x363ff5(0x17a)]=_0x3af818===0x0?'completed':'failed',_0x3cfdc1['endTime']=new Date()['toISOString'](),this[_0x363ff5(0x270)]?.['info']('Background\x20command\x20exited',{'commandId':_0x46dcba,'agentId':_0x36e42c,'exitCode':_0x3af818,'signal':_0x459af1,'state':_0x3cfdc1[_0x363ff5(0x17a)]});}),_0x2ff5ea['on'](_0x5a8e06(0x209),_0x489b6c=>{const _0x20fbf8=_0x5a8e06;_0x3cfdc1[_0x20fbf8(0x17a)]=_0x20fbf8(0x1c6),_0x3cfdc1[_0x20fbf8(0x209)]=_0x489b6c['message'],_0x3cfdc1['endTime']=new Date()['toISOString'](),this['logger']?.[_0x20fbf8(0x209)](_0x20fbf8(0x1b0),{'commandId':_0x46dcba,'agentId':_0x36e42c,'error':_0x489b6c[_0x20fbf8(0x1f6)]});}),{'success':!![],'commandId':_0x46dcba,'pid':_0x2ff5ea[_0x5a8e06(0x214)],'command':_0x5c0bc6,'translatedCommand':_0x23975f,'workingDirectory':_0x356366,'message':_0x5a8e06(0x243)+_0x46dcba};}[a0_0x29919e(0x185)](_0x1df2c6,_0x4a7ab3,_0x44b83b){const _0x4c6535=a0_0x29919e,_0x2de7b3=this['validateCommandOwnership'](_0x1df2c6,_0x44b83b);if(_0x2de7b3['state']==='completed'||_0x2de7b3[_0x4c6535(0x17a)]==='failed')throw new Error(_0x4c6535(0x251)+_0x2de7b3[_0x4c6535(0x17a)]+_0x4c6535(0x1d0));if(!_0x2de7b3['process']||_0x2de7b3[_0x4c6535(0x203)][_0x4c6535(0x22b)])throw new Error(_0x4c6535(0x295));const _0x1bcbe9=_0x4a7ab3[_0x4c6535(0x175)]('\x0a')?_0x4a7ab3:_0x4a7ab3+'\x0a';return _0x2de7b3['process'][_0x4c6535(0x260)][_0x4c6535(0x1f2)](_0x1bcbe9),this[_0x4c6535(0x270)]?.['info']('Input\x20sent\x20to\x20background\x20command',{'commandId':_0x1df2c6,'agentId':_0x44b83b,'inputLength':_0x4a7ab3[_0x4c6535(0x1e6)]}),_0x2de7b3['state']==='waiting_for_input'&&(_0x2de7b3[_0x4c6535(0x17a)]='running',_0x2de7b3['promptDetected']=null),{'success':!![],'commandId':_0x1df2c6,'message':_0x4c6535(0x18d)};}[a0_0x29919e(0x1c8)](_0x466085,_0x5a8678){const _0x1af47b=a0_0x29919e,_0x222c55=this['validateCommandOwnership'](_0x466085,_0x5a8678),_0x150831=Date[_0x1af47b(0x191)]()-_0x222c55['lastOutputTime'];return{'success':!![],'commandId':_0x466085,'pid':_0x222c55[_0x1af47b(0x214)],'command':_0x222c55[_0x1af47b(0x24e)],'state':_0x222c55[_0x1af47b(0x17a)],'exitCode':_0x222c55['exitCode'],'startTime':_0x222c55['startTime'],'endTime':_0x222c55['endTime'],'workingDirectory':_0x222c55[_0x1af47b(0x1df)],'stdout':_0x222c55['stdoutBuffer'],'stderr':_0x222c55[_0x1af47b(0x1d1)],'stdoutLength':_0x222c55['stdoutBuffer'][_0x1af47b(0x1e6)],'stderrLength':_0x222c55['stderrBuffer']['length'],'lastOutputTime':_0x222c55[_0x1af47b(0x235)],'timeSinceLastOutput':_0x150831,'promptDetected':!!_0x222c55[_0x1af47b(0x1e8)],'promptInfo':_0x222c55['promptDetected']||undefined};}['killCommand'](_0x3d80c6,_0x16678f){const _0x41fb01=a0_0x29919e,_0x218d0c=this['validateCommandOwnership'](_0x3d80c6,_0x16678f);if(_0x218d0c[_0x41fb01(0x17a)]===_0x41fb01(0x233)||_0x218d0c['state']==='failed')return{'success':!![],'commandId':_0x3d80c6,'message':_0x41fb01(0x170),'state':_0x218d0c[_0x41fb01(0x17a)]};if(_0x218d0c['process']&&!_0x218d0c['process'][_0x41fb01(0x22b)])return _0x218d0c[_0x41fb01(0x203)]['kill'](_0x41fb01(0x18a)),setTimeout(()=>{const _0x58e357=_0x41fb01;_0x218d0c['process']&&!_0x218d0c['process']['killed']&&_0x218d0c[_0x58e357(0x203)]['kill']('SIGKILL');},0x1388),this['logger']?.['info']('Background\x20command\x20killed',{'commandId':_0x3d80c6,'agentId':_0x16678f}),{'success':!![],'commandId':_0x3d80c6,'message':_0x41fb01(0x1d7)};return{'success':![],'commandId':_0x3d80c6,'error':_0x41fb01(0x19a)};}[a0_0x29919e(0x180)](_0x25ee8f){const _0x9a8aed=a0_0x29919e,_0x40782e=this[_0x9a8aed(0x261)](_0x25ee8f);return _0x40782e[_0x9a8aed(0x282)](_0x964a5e=>({'commandId':_0x964a5e[_0x9a8aed(0x23f)],'command':_0x964a5e['command'],'state':_0x964a5e['state'],'pid':_0x964a5e['pid'],'exitCode':_0x964a5e[_0x9a8aed(0x26e)],'startTime':_0x964a5e['startTime'],'endTime':_0x964a5e[_0x9a8aed(0x1c7)],'promptDetected':!!_0x964a5e[_0x9a8aed(0x1e8)],'timeSinceLastOutput':Date[_0x9a8aed(0x191)]()-_0x964a5e['lastOutputTime']}));}[a0_0x29919e(0x261)](_0x5de2be){const _0x131ef5=a0_0x29919e;return Array['from'](this['commandTracker'][_0x131ef5(0x269)]())['filter'](_0x521888=>_0x521888['agentId']===_0x5de2be);}[a0_0x29919e(0x18b)](_0x4d5b43,_0x37e19c){const _0x273d43=a0_0x29919e,_0x4242f0=this['commandTracker']['get'](_0x4d5b43);if(!_0x4242f0)throw new Error(_0x273d43(0x1ce)+_0x4d5b43);if(_0x4242f0['agentId']!==_0x37e19c)throw new Error('Access\x20denied:\x20Command\x20belongs\x20to\x20agent\x20'+_0x4242f0[_0x273d43(0x1fb)]);return _0x4242f0;}async['cleanupAgent'](_0xdad9c4){const _0x2e3bf7=a0_0x29919e,_0x53e8be=this['getAgentCommands'](_0xdad9c4);let _0x428ab7=0x0,_0x22ccaf=0x0;for(const _0x19d60e of _0x53e8be){_0x19d60e['process']&&!_0x19d60e['process']['killed']&&(_0x19d60e[_0x2e3bf7(0x203)]['kill']('SIGTERM'),_0x428ab7++,setTimeout(()=>{const _0x198630=_0x2e3bf7;_0x19d60e[_0x198630(0x203)]&&!_0x19d60e[_0x198630(0x203)][_0x198630(0x22b)]&&_0x19d60e['process'][_0x198630(0x1c5)](_0x198630(0x283));},0xbb8)),this['commandTracker'][_0x2e3bf7(0x24b)](_0x19d60e['commandId']),_0x22ccaf++;}return this['logger']?.['info']('Agent\x20commands\x20cleaned\x20up',{'agentId':_0xdad9c4,'killedCount':_0x428ab7,'removedCount':_0x22ccaf}),{'success':!![],'agentId':_0xdad9c4,'killedCount':_0x428ab7,'removedCount':_0x22ccaf,'message':_0x2e3bf7(0x1a9)+_0x22ccaf+_0x2e3bf7(0x194)+_0xdad9c4};}[a0_0x29919e(0x16b)](){const _0x3e12cf=a0_0x29919e,_0x405235=Date[_0x3e12cf(0x191)]();let _0x1cf42a=0x0;for(const [_0x53ed44,_0x10c079]of this['commandTracker'][_0x3e12cf(0x226)]()){if(_0x10c079['state']!=='completed'&&_0x10c079[_0x3e12cf(0x17a)]!==_0x3e12cf(0x1c6))continue;const _0x1b03fd=new Date(_0x10c079['startTime'])[_0x3e12cf(0x183)](),_0x100e4a=(_0x405235-_0x1b03fd)/0x3e8/0x3c;_0x100e4a>this['MAX_COMMAND_AGE_MINUTES']&&(this['commandTracker']['delete'](_0x53ed44),_0x1cf42a++);}return _0x1cf42a>0x0&&this[_0x3e12cf(0x270)]?.[_0x3e12cf(0x17c)](_0x3e12cf(0x172),{'removedCount':_0x1cf42a,'ageThresholdMinutes':this['MAX_COMMAND_AGE_MINUTES']}),{'success':!![],'removedCount':_0x1cf42a,'message':_0x3e12cf(0x1a9)+_0x1cf42a+_0x3e12cf(0x19b)};}}function a0_0x129e(_0x58f284,_0x5b3e20){_0x58f284=_0x58f284-0x166;const _0x47fd53=a0_0x47fd();let _0x129ef5=_0x47fd53[_0x58f284];if(a0_0x129e['oCASHl']===undefined){var _0x4e2b80=function(_0x40c5e7){const _0x137777='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9b5b1f='',_0x2ea814='';for(let _0x262f4f=0x0,_0x52a9d4,_0x3b7a43,_0x1f2d98=0x0;_0x3b7a43=_0x40c5e7['charAt'](_0x1f2d98++);~_0x3b7a43&&(_0x52a9d4=_0x262f4f%0x4?_0x52a9d4*0x40+_0x3b7a43:_0x3b7a43,_0x262f4f++%0x4)?_0x9b5b1f+=String['fromCharCode'](0xff&_0x52a9d4>>(-0x2*_0x262f4f&0x6)):0x0){_0x3b7a43=_0x137777['indexOf'](_0x3b7a43);}for(let _0x164c90=0x0,_0x68ae9c=_0x9b5b1f['length'];_0x164c90<_0x68ae9c;_0x164c90++){_0x2ea814+='%'+('00'+_0x9b5b1f['charCodeAt'](_0x164c90)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ea814);};a0_0x129e['rFtWPy']=_0x4e2b80,a0_0x129e['ZjLUTS']={},a0_0x129e['oCASHl']=!![];}const _0xa9f241=_0x47fd53[0x0],_0x5648f2=_0x58f284+_0xa9f241,_0x1db5b4=a0_0x129e['ZjLUTS'][_0x5648f2];return!_0x1db5b4?(_0x129ef5=a0_0x129e['rFtWPy'](_0x129ef5),a0_0x129e['ZjLUTS'][_0x5648f2]=_0x129ef5):_0x129ef5=_0x1db5b4,_0x129ef5;}export default TerminalTool;