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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/agentActivityService.js +1 -1
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +2 -2
  120. package/web-ui/build/static/index-CRkOpV4k.css +1 -0
  121. package/web-ui/build/static/{index-CR8edPA3.js → index-DzOU48ux.js} +98 -79
  122. package/web-ui/build/static/index-uN7nOVvZ.css +0 -1
@@ -1 +1 @@
1
- function a0_0x2eaa(){const _0x5b64b8=['B3bLCMf0Aw9UoNbYB2DYzxnZ','y2XLyw51CenVBxbSzxrLze9WzxjHDgLVBNm','DgLTzw91Da','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','otq0ndG0y01Qv25Y','BgLTAxq','y2XLyw51CeLUDgvYDMfS','t3bLCMf0Aw9UihjLDhj5igLUAxrPyxrLzdOG','zxjYB3i','y2fUy2vSt3bLCMf0Aw9U','mtq0zwLRt3zP','z2v0qwDLBNrpCgvYyxrPB25Z','Bw9UAxrVCMLUz0LUDgvYDMfS','zw1PDa','y2XLyw51Ce9WzxjHDgLVBG','DMfSDwvZ','C3rVCe1VBML0B3jPBMC','ywDLBNrjza','mJC3mtu1BLDYDxLq','y29UzMLN','y3jLyxrLzef0','y29TCgXLDgvKqxq','mZa4t3vnzKHs','C3rHDhvZ','DxbKyxrLt3bLCMf0Aw9U','uevoreLorW','rvHfq1vusu5h','B3aT','BgvUz3rO','odG4uMTwvxPp','CMvZDwX0','y2XLyxjpCgvYyxrPB25uAw1LB3v0','yNLbz2vUDa','zgvIDwC','q09nueXfveve','D2fYBG','AgfUzgXLt3bLCMf0Aw9UrMfPBgvK','y2HLy2TpCgvYyxrPB25uAw1LB3v0CW','C2XPy2u','rKfjteve','B3bLCMf0Aw9UsgLZDg9YEq','twf4Aw11BsbYzxrYAwvZigv4y2vLzgvKigzVCIbVCgvYyxrPB246ia','odC1mdC5tMjUte5g','mJi1mdvTCNjJALy','mJe0nJH2BuzcuM0','z2v0','B3bLCMf0Aw9UoNn0yxj0zwq','C2v0','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','ChvZAa','C2H1DgrVD24','AgfUzgXLt3bLCMf0Aw9Uu3rHCNrLza','twf4Aw11BsbJB25JDxjYzw50ig9WzxjHDgLVBNmGCMvHy2HLzcaO','CM91BMq','AgfUzgXLt3bLCMf0Aw9Uq29TCgXLDgvK','Bg9Nz2vY','t3bLCMf0Aw9Uihn0yxr1CYb1CgrHDgvKoIa','Dg9VBeLK','q2XLyw5Lzcb1Cca','ChjVz3jLC3m','C2v0t3bLCMf0Aw9UvgLTzw91Da','yMLUza','CMv0CNLdB3vUDa','yNLtDgf0Dxm','z2v0vgLTzq','C2L6zq','t3bLCMf0Aw9Uihn0yxj0zwq6ia','CMv0CNLpCgvYyxrPB24','z2vUzxjHDgvpCgvYyxrPB25jza','A2v5CW','mtm3otyWtg1NDe1V','Bwf4sgLZDg9YEvnPEMu','Dg9ju09tDhjPBMC','zgvMyxvSDfrPBwvVDxq','BM93','B2XKzxn0t3bLCMf0Aw9U','q0foq0vmteve','yxzLCMfNzuv4zwn1DgLVBLrPBwu','B3bLCMf0Aw9UoNrPBwvVDxq','nejttKrVrG','t3bLCMf0Aw9UignHBMnLBgXLza','AxntAhv0DgLUz0rVD24','Aw5MBW','t3bLCMf0Aw9UignVBxbSzxrLzdOG','y2fSy3vSyxrLrxHLy3v0Aw9UvgLTzq','C3rHCNrLzef0','mtbSAwvQAMm','mti1odjZsgXdqNi','DgLTzw91DeHHBMrSzq','u3LZDgvTihnODxrKB3DU','C29YDa','B3bLCMf0Aw9UCW'];a0_0x2eaa=function(){return _0x5b64b8;};return a0_0x2eaa();}const a0_0x514041=a0_0x244c;(function(_0xa14ced,_0x22210f){const _0x10b49e=a0_0x244c,_0x35b942=_0xa14ced();while(!![]){try{const _0x266d22=parseInt(_0x10b49e(0x1c0))/0x1+parseInt(_0x10b49e(0x1b2))/0x2+-parseInt(_0x10b49e(0x17c))/0x3*(parseInt(_0x10b49e(0x1a1))/0x4)+parseInt(_0x10b49e(0x1a8))/0x5*(parseInt(_0x10b49e(0x1a9))/0x6)+parseInt(_0x10b49e(0x17d))/0x7*(-parseInt(_0x10b49e(0x16f))/0x8)+-parseInt(_0x10b49e(0x1b8))/0x9*(-parseInt(_0x10b49e(0x198))/0xa)+-parseInt(_0x10b49e(0x1c4))/0xb*(parseInt(_0x10b49e(0x17e))/0xc);if(_0x266d22===_0x22210f)break;else _0x35b942['push'](_0x35b942['shift']());}catch(_0x1158b8){_0x35b942['push'](_0x35b942['shift']());}}}(a0_0x2eaa,0x434dd));import a0_0x47d32c from'events';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x244c(_0x467265,_0xb0d8b7){_0x467265=_0x467265-0x16b;const _0x2eaab3=a0_0x2eaa();let _0x244c83=_0x2eaab3[_0x467265];if(a0_0x244c['gWKrvq']===undefined){var _0x12ca6e=function(_0x57546d){const _0x359603='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47d32c='',_0x2acb37='';for(let _0x1f1421=0x0,_0x1d14e9,_0x7c0db,_0x2fe196=0x0;_0x7c0db=_0x57546d['charAt'](_0x2fe196++);~_0x7c0db&&(_0x1d14e9=_0x1f1421%0x4?_0x1d14e9*0x40+_0x7c0db:_0x7c0db,_0x1f1421++%0x4)?_0x47d32c+=String['fromCharCode'](0xff&_0x1d14e9>>(-0x2*_0x1f1421&0x6)):0x0){_0x7c0db=_0x359603['indexOf'](_0x7c0db);}for(let _0x49a31b=0x0,_0x4ade2e=_0x47d32c['length'];_0x49a31b<_0x4ade2e;_0x49a31b++){_0x2acb37+='%'+('00'+_0x47d32c['charCodeAt'](_0x49a31b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2acb37);};a0_0x244c['bPdCNQ']=_0x12ca6e,a0_0x244c['NFABBx']={},a0_0x244c['gWKrvq']=!![];}const _0x3b5fb5=_0x2eaab3[0x0],_0x47164e=_0x467265+_0x3b5fb5,_0x465fd0=a0_0x244c['NFABBx'][_0x47164e];return!_0x465fd0?(_0x244c83=a0_0x244c['bPdCNQ'](_0x244c83),a0_0x244c['NFABBx'][_0x47164e]=_0x244c83):_0x244c83=_0x465fd0,_0x244c83;}class AsyncToolManager extends a0_0x47d32c{constructor(_0x2acb37={},_0x1f1421=null){const _0x27cc2c=a0_0x244c;super(),this[_0x27cc2c(0x1c1)]=_0x2acb37,this[_0x27cc2c(0x189)]=_0x1f1421,this['operations']=new Map(),this['operationHistory']=[],this['maxConcurrentOperations']=_0x2acb37['maxConcurrentOperations']||0xa,this['defaultTimeout']=_0x2acb37[_0x27cc2c(0x19b)]||0x493e0,this[_0x27cc2c(0x1b4)]=_0x2acb37['cleanupInterval']||0xea60,this['maxHistorySize']=_0x2acb37['maxHistorySize']||0x3e8,this[_0x27cc2c(0x1ba)]=null,this[_0x27cc2c(0x1a3)]=![],this['startMonitoring'](),this['on']('operation:started',this['handleOperationStarted']['bind'](this)),this['on']('operation:completed',this['handleOperationCompleted']['bind'](this)),this['on']('operation:failed',this[_0x27cc2c(0x176)][_0x27cc2c(0x18f)](this)),this['on'](_0x27cc2c(0x1a0),this['handleOperationTimeout'][_0x27cc2c(0x18f)](this));}async['startOperation'](_0x1d14e9,_0x7c0db,_0x2fe196,_0x49a31b={}){const _0x5b4bf2=a0_0x244c;if(this[_0x5b4bf2(0x1ad)]['size']>=this[_0x5b4bf2(0x1b1)])throw new Error(_0x5b4bf2(0x186)+this[_0x5b4bf2(0x1b1)]+')');const _0x4ade2e=this['generateOperationId'](),_0x586634={'id':_0x4ade2e,'toolId':_0x1d14e9,'agentId':_0x7c0db,'parameters':_0x2fe196,'context':_0x49a31b,'status':TOOL_STATUS[_0x5b4bf2(0x16b)],'createdAt':new Date()[_0x5b4bf2(0x19a)](),'startedAt':null,'completedAt':null,'timeout':_0x49a31b[_0x5b4bf2(0x1b0)]||this[_0x5b4bf2(0x19b)],'result':null,'error':null,'progress':null,'retryCount':0x0,'maxRetries':_0x49a31b['maxRetries']||0x0};return this['operations'][_0x5b4bf2(0x181)](_0x4ade2e,_0x586634),this[_0x5b4bf2(0x189)]?.['info']('Async\x20operation\x20started:\x20'+_0x4ade2e,{'toolId':_0x1d14e9,'agentId':_0x7c0db,'parametersCount':Object[_0x5b4bf2(0x197)](_0x2fe196)[_0x5b4bf2(0x16e)],'timeout':_0x586634['timeout']}),this[_0x5b4bf2(0x18e)](_0x4ade2e),this['emit'](_0x5b4bf2(0x180),_0x586634),_0x4ade2e;}['updateOperation'](_0x5b0246,_0x16c4d9,_0x405572={}){const _0x1daec4=a0_0x244c,_0x425219=this[_0x1daec4(0x1ad)][_0x1daec4(0x17f)](_0x5b0246);if(!_0x425219)return this[_0x1daec4(0x189)]?.[_0x1daec4(0x175)]('Attempted\x20to\x20update\x20unknown\x20operation:\x20'+_0x5b0246),![];const _0x59dc40=_0x425219['status'];_0x425219['status']=_0x16c4d9;_0x16c4d9===TOOL_STATUS[_0x1daec4(0x16c)]&&!_0x425219['startedAt']&&(_0x425219[_0x1daec4(0x1a7)]=new Date()[_0x1daec4(0x19a)]());(_0x16c4d9===TOOL_STATUS['COMPLETED']||_0x16c4d9===TOOL_STATUS['FAILED'])&&(_0x425219['completedAt']=new Date()[_0x1daec4(0x19a)]());if(_0x405572['result']!==undefined)_0x425219[_0x1daec4(0x170)]=_0x405572['result'];if(_0x405572[_0x1daec4(0x1b6)]!==undefined)_0x425219[_0x1daec4(0x1b6)]=_0x405572['error'];if(_0x405572[_0x1daec4(0x18d)]!==undefined)_0x425219['progress']=_0x405572['progress'];this[_0x1daec4(0x189)]?.[_0x1daec4(0x173)](_0x1daec4(0x18a)+_0x5b0246,{'previousStatus':_0x59dc40,'newStatus':_0x16c4d9,'hasResult':!!_0x405572[_0x1daec4(0x170)],'hasError':!!_0x405572['error'],'progress':_0x405572[_0x1daec4(0x18d)]});switch(_0x16c4d9){case TOOL_STATUS[_0x1daec4(0x174)]:this[_0x1daec4(0x1bb)]('operation:completed',_0x425219);break;case TOOL_STATUS[_0x1daec4(0x179)]:this[_0x1daec4(0x1bb)]('operation:failed',_0x425219);break;case TOOL_STATUS['EXECUTING']:this['emit'](_0x1daec4(0x1ae),_0x425219);break;}return!![];}['getOperation'](_0x1538ba){const _0x3f815b=a0_0x244c,_0x1c7a27=this['operations'][_0x3f815b(0x17f)](_0x1538ba);if(!_0x1c7a27)return null;return{'id':_0x1c7a27['id'],'toolId':_0x1c7a27['toolId'],'agentId':_0x1c7a27[_0x3f815b(0x1bf)],'status':_0x1c7a27[_0x3f815b(0x1c5)],'createdAt':_0x1c7a27[_0x3f815b(0x1c2)],'startedAt':_0x1c7a27[_0x3f815b(0x1a7)],'completedAt':_0x1c7a27[_0x3f815b(0x1c3)],'result':_0x1c7a27[_0x3f815b(0x170)],'error':_0x1c7a27['error'],'progress':_0x1c7a27['progress'],'retryCount':_0x1c7a27[_0x3f815b(0x190)],'executionTime':this[_0x3f815b(0x1a6)](_0x1c7a27)};}[a0_0x514041(0x1b9)](_0xf5078c){const _0x11588e=a0_0x514041,_0x3bda80=[];for(const _0x471d08 of this[_0x11588e(0x1ad)][_0x11588e(0x1bd)]()){_0x471d08[_0x11588e(0x1bf)]===_0xf5078c&&_0x3bda80[_0x11588e(0x183)](this['getOperation'](_0x471d08['id']));}return _0x3bda80['sort']((_0x22ab30,_0x49c5af)=>new Date(_0x49c5af[_0x11588e(0x1c2)])-new Date(_0x22ab30[_0x11588e(0x1c2)]));}async[a0_0x514041(0x1b7)](_0x1964f0,_0xfe52b5=a0_0x514041(0x1a2)){const _0x3b8ea3=a0_0x514041,_0x3a14ca=this['operations']['get'](_0x1964f0);if(!_0x3a14ca)return![];if(_0x3a14ca[_0x3b8ea3(0x1c5)]===TOOL_STATUS['COMPLETED']||_0x3a14ca[_0x3b8ea3(0x1c5)]===TOOL_STATUS[_0x3b8ea3(0x179)])return this[_0x3b8ea3(0x189)]?.['warn']('Cannot\x20cancel\x20completed/failed\x20operation:\x20'+_0x1964f0),![];return this[_0x3b8ea3(0x1c6)](_0x1964f0,TOOL_STATUS['CANCELLED'],{'error':_0xfe52b5}),this['clearOperationTimeout'](_0x1964f0),this[_0x3b8ea3(0x1bb)]('operation:cancelled',_0x3a14ca),await this['cleanupOperation'](_0x1964f0),this['logger']?.[_0x3b8ea3(0x1a4)]('Operation\x20cancelled:\x20'+_0x1964f0,{'reason':_0xfe52b5}),!![];}async[a0_0x514041(0x195)](_0x4a2e5c){const _0x26a835=a0_0x514041,_0x1cc58a=this['operations'][_0x26a835(0x17f)](_0x4a2e5c);if(!_0x1cc58a)return![];if(_0x1cc58a[_0x26a835(0x1c5)]!==TOOL_STATUS['FAILED'])return this[_0x26a835(0x189)]?.['warn']('Cannot\x20retry\x20non-failed\x20operation:\x20'+_0x4a2e5c),![];if(_0x1cc58a['retryCount']>=_0x1cc58a['maxRetries'])return this[_0x26a835(0x189)]?.['warn'](_0x26a835(0x17b)+_0x4a2e5c),![];return _0x1cc58a[_0x26a835(0x190)]++,_0x1cc58a[_0x26a835(0x1c5)]=TOOL_STATUS[_0x26a835(0x16b)],_0x1cc58a['startedAt']=null,_0x1cc58a['completedAt']=null,_0x1cc58a[_0x26a835(0x1b6)]=null,_0x1cc58a['result']=null,this[_0x26a835(0x18e)](_0x4a2e5c),this['logger']?.[_0x26a835(0x1a4)](_0x26a835(0x1b5)+_0x4a2e5c,{'retryCount':_0x1cc58a[_0x26a835(0x190)],'maxRetries':_0x1cc58a['maxRetries']}),this[_0x26a835(0x1bb)]('operation:retry',_0x1cc58a),!![];}['getStatistics'](){const _0x560c73=a0_0x514041,_0x4e0172={'total':this[_0x560c73(0x1ad)][_0x560c73(0x193)],'byStatus':{},'byTool':{},'byAgent':{},'averageExecutionTime':0x0,'oldestOperation':null,'newestOperation':null};let _0x46d94c=0x0,_0x5345e0=0x0,_0x46fed4=null,_0x227342=null;for(const _0x2605ee of this['operations']['values']()){_0x4e0172['byStatus'][_0x2605ee['status']]=(_0x4e0172[_0x560c73(0x191)][_0x2605ee[_0x560c73(0x1c5)]]||0x0)+0x1,_0x4e0172['byTool'][_0x2605ee[_0x560c73(0x18b)]]=(_0x4e0172['byTool'][_0x2605ee['toolId']]||0x0)+0x1,_0x4e0172['byAgent'][_0x2605ee['agentId']]=(_0x4e0172[_0x560c73(0x172)][_0x2605ee[_0x560c73(0x1bf)]]||0x0)+0x1;const _0x2c3484=this['calculateExecutionTime'](_0x2605ee);_0x2c3484>0x0&&(_0x46d94c+=_0x2c3484,_0x5345e0++);const _0x3a0de4=new Date(_0x2605ee['createdAt'])[_0x560c73(0x192)]();(!_0x46fed4||_0x3a0de4<_0x46fed4)&&(_0x46fed4=_0x3a0de4,_0x4e0172[_0x560c73(0x19d)]=_0x2605ee['id']),(!_0x227342||_0x3a0de4>_0x227342)&&(_0x227342=_0x3a0de4,_0x4e0172['newestOperation']=_0x2605ee['id']);}return _0x4e0172[_0x560c73(0x19f)]=_0x5345e0>0x0?Math[_0x560c73(0x187)](_0x46d94c/_0x5345e0):0x0,_0x4e0172;}async[a0_0x514041(0x1af)](_0x1de37b=0x36ee80){const _0x38ab08=a0_0x514041,_0x52be22=Date[_0x38ab08(0x19c)]()-_0x1de37b,_0x1e1ea0=[];for(const _0x523165 of this['operations']['values']()){(_0x523165[_0x38ab08(0x1c5)]===TOOL_STATUS[_0x38ab08(0x174)]||_0x523165[_0x38ab08(0x1c5)]===TOOL_STATUS['FAILED']||_0x523165['status']===TOOL_STATUS[_0x38ab08(0x19e)])&&new Date(_0x523165[_0x38ab08(0x1c3)])[_0x38ab08(0x192)]()<_0x52be22&&_0x1e1ea0['push'](_0x523165['id']);}for(const _0x5be8af of _0x1e1ea0){await this[_0x38ab08(0x1bc)](_0x5be8af);}return this['logger']?.['debug'](_0x38ab08(0x18c)+_0x1e1ea0['length']+'\x20completed\x20operations'),_0x1e1ea0['length'];}['startMonitoring'](){const _0x41762d=a0_0x514041;this['monitoringInterval']&&clearInterval(this[_0x41762d(0x1ba)]),this[_0x41762d(0x1ba)]=setInterval(()=>{this['checkOperationTimeouts'](),this['cleanupCompletedOperations']();},this['cleanupInterval']),this[_0x41762d(0x189)]?.[_0x41762d(0x1a4)]('Async\x20tool\x20manager\x20monitoring\x20started');}['stopMonitoring'](){const _0x485789=a0_0x514041;this[_0x485789(0x1ba)]&&(clearInterval(this['monitoringInterval']),this[_0x485789(0x1ba)]=null),this[_0x485789(0x189)]?.[_0x485789(0x1a4)]('Async\x20tool\x20manager\x20monitoring\x20stopped');}[a0_0x514041(0x177)](){const _0x5f2367=a0_0x514041,_0x3a453d=Date[_0x5f2367(0x19c)]();for(const _0x431314 of this['operations']['values']()){if(_0x431314['status']===TOOL_STATUS['EXECUTING']||_0x431314[_0x5f2367(0x1c5)]===TOOL_STATUS[_0x5f2367(0x16b)]){const _0x132173=new Date(_0x431314[_0x5f2367(0x1c2)])[_0x5f2367(0x192)]();_0x3a453d-_0x132173>_0x431314['timeout']&&this[_0x5f2367(0x182)](_0x431314);}}}['setOperationTimeout'](_0x4d27b6){const _0x4b290d=a0_0x514041,_0x21cba6=this['operations'][_0x4b290d(0x17f)](_0x4d27b6);if(!_0x21cba6)return;_0x21cba6['timeoutHandle']=setTimeout(()=>{this['handleOperationTimeout'](_0x21cba6);},_0x21cba6[_0x4b290d(0x1b0)]);}[a0_0x514041(0x171)](_0x2fa5c6){const _0x5905f4=a0_0x514041,_0x1689b1=this['operations']['get'](_0x2fa5c6);_0x1689b1&&_0x1689b1['timeoutHandle']&&(clearTimeout(_0x1689b1[_0x5905f4(0x1aa)]),delete _0x1689b1[_0x5905f4(0x1aa)]);}[a0_0x514041(0x196)](){const _0x3e916b=a0_0x514041,_0x423211=Date['now']()['toString'](0x24),_0x5a77cb=Math['random']()['toString'](0x24)['substr'](0x2,0x9);return _0x3e916b(0x16d)+_0x423211+'-'+_0x5a77cb;}['calculateExecutionTime'](_0x10db10){const _0x141b0b=a0_0x514041;if(!_0x10db10[_0x141b0b(0x1a7)])return 0x0;const _0x2d0443=_0x10db10[_0x141b0b(0x1c3)]?new Date(_0x10db10['completedAt'])['getTime']():Date[_0x141b0b(0x19c)]();return _0x2d0443-new Date(_0x10db10['startedAt'])['getTime']();}async[a0_0x514041(0x1bc)](_0x595429){const _0x204876=a0_0x514041,_0x403895=this['operations']['get'](_0x595429);if(!_0x403895)return;this[_0x204876(0x171)](_0x595429),this['operationHistory'][_0x204876(0x183)]({..._0x403895,'executionTime':this['calculateExecutionTime'](_0x403895),'cleanedUpAt':new Date()['toISOString']()}),this[_0x204876(0x17a)][_0x204876(0x16e)]>this[_0x204876(0x199)]&&(this[_0x204876(0x17a)]=this['operationHistory'][_0x204876(0x178)](-this['maxHistorySize'])),this[_0x204876(0x1ad)]['delete'](_0x595429),this[_0x204876(0x1bb)]('operation:cleanup',{'operationId':_0x595429,'toolId':_0x403895[_0x204876(0x18b)]});}[a0_0x514041(0x185)](_0x31b27d){const _0x20b90f=a0_0x514041;this[_0x20b90f(0x189)]?.[_0x20b90f(0x173)](_0x20b90f(0x194)+_0x31b27d['id'],{'toolId':_0x31b27d['toolId'],'agentId':_0x31b27d['agentId']});}async[a0_0x514041(0x188)](_0x480f6a){const _0x1659bb=a0_0x514041;this[_0x1659bb(0x189)]?.['info'](_0x1659bb(0x1a5)+_0x480f6a['id'],{'toolId':_0x480f6a['toolId'],'agentId':_0x480f6a['agentId'],'executionTime':this[_0x1659bb(0x1a6)](_0x480f6a)}),setTimeout(()=>this['cleanupOperation'](_0x480f6a['id']),0x7530);}async[a0_0x514041(0x176)](_0x20882f){const _0x3df78b=a0_0x514041;this['logger']?.['error']('Operation\x20failed:\x20'+_0x20882f['id'],{'toolId':_0x20882f['toolId'],'agentId':_0x20882f['agentId'],'error':_0x20882f[_0x3df78b(0x1b6)],'executionTime':this[_0x3df78b(0x1a6)](_0x20882f),'retryCount':_0x20882f[_0x3df78b(0x190)]}),_0x20882f[_0x3df78b(0x190)]<_0x20882f['maxRetries']?setTimeout(()=>this[_0x3df78b(0x195)](_0x20882f['id']),0x1388):setTimeout(()=>this[_0x3df78b(0x1bc)](_0x20882f['id']),0xea60);}async['handleOperationTimeout'](_0x56d7d2){const _0x2ddf39=a0_0x514041;this['logger']?.[_0x2ddf39(0x175)]('Operation\x20timed\x20out:\x20'+_0x56d7d2['id'],{'toolId':_0x56d7d2['toolId'],'agentId':_0x56d7d2[_0x2ddf39(0x1bf)],'timeout':_0x56d7d2['timeout'],'executionTime':this['calculateExecutionTime'](_0x56d7d2)}),this['updateOperation'](_0x56d7d2['id'],TOOL_STATUS['TIMEOUT'],{'error':'Operation\x20timed\x20out\x20after\x20'+_0x56d7d2[_0x2ddf39(0x1b0)]+'ms'}),this['emit'](_0x2ddf39(0x1a0),_0x56d7d2),setTimeout(()=>this[_0x2ddf39(0x1bc)](_0x56d7d2['id']),0x7530);}async[a0_0x514041(0x184)](){const _0x114e57=a0_0x514041;this[_0x114e57(0x1a3)]=!![],this['logger']?.['info']('Shutting down async tool manager...'),this[_0x114e57(0x1be)]();const _0x48ebb0=[];for(const _0x3f1ed1 of this['operations']['values']()){(_0x3f1ed1['status']===TOOL_STATUS['PENDING']||_0x3f1ed1[_0x114e57(0x1c5)]===TOOL_STATUS[_0x114e57(0x16c)])&&_0x48ebb0[_0x114e57(0x183)](_0x3f1ed1['id']);}for(const _0x36aafa of _0x48ebb0){await this[_0x114e57(0x1b7)](_0x36aafa,_0x114e57(0x1ab));}this['operations']['clear'](),this['logger']?.['info']('Async\x20tool\x20manager\x20shutdown\x20complete.\x20Cancelled\x20'+_0x48ebb0['length']+'\x20operations.');}['getOperationHistory'](_0x5462ca={}){const _0x4f5d0c=a0_0x514041;let _0x48d1c1=[...this['operationHistory']];return _0x5462ca[_0x4f5d0c(0x1bf)]&&(_0x48d1c1=_0x48d1c1['filter'](_0x3678b8=>_0x3678b8['agentId']===_0x5462ca['agentId'])),_0x5462ca[_0x4f5d0c(0x18b)]&&(_0x48d1c1=_0x48d1c1['filter'](_0x5544ec=>_0x5544ec[_0x4f5d0c(0x18b)]===_0x5462ca[_0x4f5d0c(0x18b)])),_0x5462ca['status']&&(_0x48d1c1=_0x48d1c1['filter'](_0x578193=>_0x578193['status']===_0x5462ca['status'])),_0x5462ca['limit']&&(_0x48d1c1=_0x48d1c1['slice'](-_0x5462ca[_0x4f5d0c(0x1b3)])),_0x48d1c1[_0x4f5d0c(0x1ac)]((_0x3b93eb,_0x1424fb)=>new Date(_0x1424fb[_0x4f5d0c(0x1c2)])-new Date(_0x3b93eb[_0x4f5d0c(0x1c2)]));}}export default AsyncToolManager;
1
+ function a0_0x5507(_0x225d16,_0x507655){_0x225d16=_0x225d16-0x6c;const _0x5a3718=a0_0x5a37();let _0x550787=_0x5a3718[_0x225d16];if(a0_0x5507['JfsqXF']===undefined){var _0x2ac999=function(_0x1083fc){const _0x596513='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x453aec='',_0x576653='';for(let _0x260a4c=0x0,_0x100180,_0x47bd58,_0xc38f2f=0x0;_0x47bd58=_0x1083fc['charAt'](_0xc38f2f++);~_0x47bd58&&(_0x100180=_0x260a4c%0x4?_0x100180*0x40+_0x47bd58:_0x47bd58,_0x260a4c++%0x4)?_0x453aec+=String['fromCharCode'](0xff&_0x100180>>(-0x2*_0x260a4c&0x6)):0x0){_0x47bd58=_0x596513['indexOf'](_0x47bd58);}for(let _0x327736=0x0,_0x533a2e=_0x453aec['length'];_0x327736<_0x533a2e;_0x327736++){_0x576653+='%'+('00'+_0x453aec['charCodeAt'](_0x327736)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x576653);};a0_0x5507['jYugOO']=_0x2ac999,a0_0x5507['fIIjhQ']={},a0_0x5507['JfsqXF']=!![];}const _0x2f008=_0x5a3718[0x0],_0x26da51=_0x225d16+_0x2f008,_0xab027a=a0_0x5507['fIIjhQ'][_0x26da51];return!_0xab027a?(_0x550787=a0_0x5507['jYugOO'](_0x550787),a0_0x5507['fIIjhQ'][_0x26da51]=_0x550787):_0x550787=_0xab027a,_0x550787;}const a0_0x4e04c6=a0_0x5507;function a0_0x5a37(){const _0x4a095d=['yNLtDgf0Dxm','zMLSDgvY','qxn5BMmGB3bLCMf0Aw9Uihn0yxj0zwq6ia','CMfUzg9T','BgvUz3rO','qxn5BMmGDg9VBcbTyw5Hz2vYig1VBML0B3jPBMCGC3rHCNrLza','mtaYnti4ndbgshzPv08','Aw5MBW','Dg9ju09tDhjPBMC','y2XLyw51Ce9WzxjHDgLVBG','z2v0t3bLCMf0Aw9U','C3rHCNrLzef0','CMv0CNLpCgvYyxrPB24','q09nueXfveve','y2XLyw51CeLUDgvYDMfS','Bg9Nz2vY','B3bLCMf0Aw9UoNn0yxj0zwq','Bwf4sgLZDg9YEvnPEMu','zw1PDa','mJi4nhzvsfP5rq','q2fUBM90ihjLDhj5ig5VBI1MywLSzwqGB3bLCMf0Aw9UoIa','ogTpz2LhvG','y2XLyw51CenVBxbSzxrLze9WzxjHDgLVBNm','BMv3zxn0t3bLCMf0Aw9U','uevoreLorW','C3rHCNrnB25PDg9YAw5N','qxn5BMmGDg9VBcbTyw5Hz2vYihnODxrKB3DUignVBxbSzxrLlIbdyw5JzwXSzwqG','qxn5BMmGDg9VBcbTyw5Hz2vYig1VBML0B3jPBMCGC3rVChbLza','veLnru9vva','CMvZDwX0','y2HLy2TpCgvYyxrPB25uAw1LB3v0CW','DgLTzw91DeHHBMrSzq','y3jLyxrLzef0','ndi1ndaYCwfoBMrU','C2v0t3bLCMf0Aw9UvgLTzw91Da','C3rVCe1VBML0B3jPBMC','AgfUzgXLt3bLCMf0Aw9UrMfPBgvK','zxjYB3i','rvHfq1vusu5h','DMfSDwvZ','ChvZAa','zgvSzxrL','C2XPy2u','B3bLCMf0Aw9UoMnHBMnLBgXLza','AgfUzgXLt3bLCMf0Aw9Uu3rHCNrLza','mtu2v3vXDuHv','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','yMLUza','y29TCgXLDgvKqxq','z2v0','ywDLBNrjza','t3bLCMf0Aw9UigzHAwXLzdOG','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','B3bLCMf0Aw9UoNrPBwvVDxq','BM93','nJa5mZu3rgrAq0Hh','u3LZDgvTihnODxrKB3DU','AgfUzgXLt3bLCMf0Aw9Uq29TCgXLDgvK','nJa0nuPIr2zyrG','B3bLCMf0Aw9UsgLZDg9YEq','B2XKzxn0t3bLCMf0Aw9U','z2v0vgLTzq','t3bLCMf0Aw9Uihn0yxj0zwq6ia','y2fSy3vSyxrLrxHLy3v0Aw9UvgLTzq','DgLTzw91Da','t3bLCMf0Aw9UihrPBwvKig91DdOG','Dg9VBeLK','nte2mdfQvKnXChi','mteYntz5q3Lrv00','C2L6zq','B3bLCMf0Aw9UoMnSzwfUDxa','mZu2mJq1sLjkAhfc','Dg9tDhjPBMC','mtC5odCXogPxCejQDq','BgLTAxq','B3bLCMf0Aw9UoMzHAwXLza','twf4Aw11BsbYzxrYAwvZigv4y2vLzgvKigzVCIbVCgvYyxrPB246ia','CMv0CNLdB3vUDa','ChjVz3jLC3m','C3rHDhvZ','Bwf4uMv0CMLLCW','zgvMyxvSDfrPBwvVDxq','B3bLCMf0Aw9UCW','t3bLCMf0Aw9UihrPBwvKig91DcbHzNrLCIa','yNLbz2vUDa','rKfjteve','ouLfAufrCq','D2fYBG','z2vUzxjHDgvpCgvYyxrPB25jza'];a0_0x5a37=function(){return _0x4a095d;};return a0_0x5a37();}(function(_0x3994b2,_0x4483b4){const _0x5a653e=a0_0x5507,_0x4c6e03=_0x3994b2();while(!![]){try{const _0x2487b6=-parseInt(_0x5a653e(0x81))/0x1+parseInt(_0x5a653e(0xa9))/0x2+-parseInt(_0x5a653e(0x9a))/0x3*(parseInt(_0x5a653e(0x73))/0x4)+parseInt(_0x5a653e(0xa7))/0x5*(-parseInt(_0x5a653e(0x8d))/0x6)+-parseInt(_0x5a653e(0x97))/0x7*(-parseInt(_0x5a653e(0x75))/0x8)+-parseInt(_0x5a653e(0xb6))/0x9*(parseInt(_0x5a653e(0xbf))/0xa)+-parseInt(_0x5a653e(0xa3))/0xb*(-parseInt(_0x5a653e(0xa4))/0xc);if(_0x2487b6===_0x4483b4)break;else _0x4c6e03['push'](_0x4c6e03['shift']());}catch(_0x119f40){_0x4c6e03['push'](_0x4c6e03['shift']());}}}(a0_0x5a37,0xe3beb));import a0_0x453aec from'events';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class AsyncToolManager extends a0_0x453aec{constructor(_0x576653={},_0x260a4c=null){const _0x3a9006=a0_0x5507;super(),this['config']=_0x576653,this[_0x3a9006(0x6f)]=_0x260a4c,this['operations']=new Map(),this['operationHistory']=[],this['maxConcurrentOperations']=_0x576653['maxConcurrentOperations']||0xa,this[_0x3a9006(0xb1)]=_0x576653['defaultTimeout']||0x493e0,this['cleanupInterval']=_0x576653[_0x3a9006(0x6e)]||0xea60,this['maxHistorySize']=_0x576653[_0x3a9006(0x71)]||0x3e8,this['monitoringInterval']=null,this['isShuttingDown']=![],this[_0x3a9006(0x79)](),this['on'](_0x3a9006(0x70),this['handleOperationStarted'][_0x3a9006(0x8f)](this)),this['on']('operation:completed',this[_0x3a9006(0x99)]['bind'](this)),this['on']('operation:failed',this[_0x3a9006(0x84)][_0x3a9006(0x8f)](this)),this['on']('operation:timeout',this['handleOperationTimeout']['bind'](this));}async['startOperation'](_0x100180,_0x47bd58,_0xc38f2f,_0x327736={}){const _0x489808=a0_0x5507;if(this[_0x489808(0xb2)]['size']>=this[_0x489808(0x8e)])throw new Error('Maximum\x20concurrent\x20operations\x20reached\x20('+this['maxConcurrentOperations']+')');const _0x533a2e=this[_0x489808(0xb8)](),_0x12a82b={'id':_0x533a2e,'toolId':_0x100180,'agentId':_0x47bd58,'parameters':_0xc38f2f,'context':_0x327736,'status':TOOL_STATUS['PENDING'],'createdAt':new Date()[_0x489808(0xc1)](),'startedAt':null,'completedAt':null,'timeout':_0x327736['timeout']||this[_0x489808(0xb1)],'result':null,'error':null,'progress':null,'retryCount':0x0,'maxRetries':_0x327736[_0x489808(0xb0)]||0x0};return this['operations']['set'](_0x533a2e,_0x12a82b),this['logger']?.['info'](_0x489808(0xbb)+_0x533a2e,{'toolId':_0x100180,'agentId':_0x47bd58,'parametersCount':Object['keys'](_0xc38f2f)[_0x489808(0xbd)],'timeout':_0x12a82b['timeout']}),this[_0x489808(0x82)](_0x533a2e),this[_0x489808(0x72)]('operation:started',_0x12a82b),_0x533a2e;}['updateOperation'](_0x5e66ee,_0x107502,_0xe2e3ae={}){const _0x49f134=a0_0x5507,_0x24fb71=this[_0x49f134(0xb2)]['get'](_0x5e66ee);if(!_0x24fb71)return this[_0x49f134(0x6f)]?.['warn']('Attempted\x20to\x20update\x20unknown\x20operation:\x20'+_0x5e66ee),![];const _0x3b3570=_0x24fb71['status'];_0x24fb71[_0x49f134(0xaf)]=_0x107502;_0x107502===TOOL_STATUS[_0x49f134(0x86)]&&!_0x24fb71['startedAt']&&(_0x24fb71['startedAt']=new Date()[_0x49f134(0xc1)]());(_0x107502===TOOL_STATUS[_0x49f134(0x6d)]||_0x107502===TOOL_STATUS[_0x49f134(0xb5)])&&(_0x24fb71['completedAt']=new Date()['toISOString']());if(_0xe2e3ae[_0x49f134(0x7d)]!==undefined)_0x24fb71[_0x49f134(0x7d)]=_0xe2e3ae[_0x49f134(0x7d)];if(_0xe2e3ae[_0x49f134(0x85)]!==undefined)_0x24fb71[_0x49f134(0x85)]=_0xe2e3ae['error'];if(_0xe2e3ae['progress']!==undefined)_0x24fb71[_0x49f134(0xae)]=_0xe2e3ae['progress'];this['logger']?.['debug']('Operation\x20status\x20updated:\x20'+_0x5e66ee,{'previousStatus':_0x3b3570,'newStatus':_0x107502,'hasResult':!!_0xe2e3ae[_0x49f134(0x7d)],'hasError':!!_0xe2e3ae['error'],'progress':_0xe2e3ae['progress']});switch(_0x107502){case TOOL_STATUS['COMPLETED']:this['emit']('operation:completed',_0x24fb71);break;case TOOL_STATUS[_0x49f134(0xb5)]:this[_0x49f134(0x72)](_0x49f134(0xab),_0x24fb71);break;case TOOL_STATUS['EXECUTING']:this['emit']('operation:progress',_0x24fb71);break;}return!![];}[a0_0x4e04c6(0xc3)](_0x5281e7){const _0x3762cf=a0_0x4e04c6,_0x3d2c23=this['operations']['get'](_0x5281e7);if(!_0x3d2c23)return null;return{'id':_0x3d2c23['id'],'toolId':_0x3d2c23[_0x3762cf(0xa2)],'agentId':_0x3d2c23['agentId'],'status':_0x3d2c23[_0x3762cf(0xaf)],'createdAt':_0x3d2c23[_0x3762cf(0x80)],'startedAt':_0x3d2c23[_0x3762cf(0xc4)],'completedAt':_0x3d2c23['completedAt'],'result':_0x3d2c23['result'],'error':_0x3d2c23['error'],'progress':_0x3d2c23[_0x3762cf(0xae)],'retryCount':_0x3d2c23[_0x3762cf(0xad)],'executionTime':this[_0x3762cf(0x9f)](_0x3d2c23)};}['getAgentOperations'](_0x445243){const _0x4c404f=a0_0x4e04c6,_0x55499c=[];for(const _0x22abd8 of this[_0x4c404f(0xb2)][_0x4c404f(0x87)]()){_0x22abd8['agentId']===_0x445243&&_0x55499c['push'](this['getOperation'](_0x22abd8['id']));}return _0x55499c['sort']((_0x1fcaf8,_0x43bc1c)=>new Date(_0x43bc1c[_0x4c404f(0x80)])-new Date(_0x1fcaf8['createdAt']));}async['cancelOperation'](_0x40b75f,_0x2a9173='Operation\x20cancelled'){const _0x33c683=a0_0x4e04c6,_0x1b2777=this[_0x33c683(0xb2)][_0x33c683(0x91)](_0x40b75f);if(!_0x1b2777)return![];if(_0x1b2777[_0x33c683(0xaf)]===TOOL_STATUS['COMPLETED']||_0x1b2777[_0x33c683(0xaf)]===TOOL_STATUS[_0x33c683(0xb5)])return this[_0x33c683(0x6f)]?.[_0x33c683(0xb7)]('Cannot\x20cancel\x20completed/failed\x20operation:\x20'+_0x40b75f),![];return this['updateOperation'](_0x40b75f,TOOL_STATUS['CANCELLED'],{'error':_0x2a9173}),this['clearOperationTimeout'](_0x40b75f),this['emit'](_0x33c683(0x8b),_0x1b2777),await this[_0x33c683(0xc2)](_0x40b75f),this[_0x33c683(0x6f)]?.[_0x33c683(0xc0)]('Operation\x20cancelled:\x20'+_0x40b75f,{'reason':_0x2a9173}),!![];}async['retryOperation'](_0x14c177){const _0x5a7c8d=a0_0x4e04c6,_0x57a129=this['operations'][_0x5a7c8d(0x91)](_0x14c177);if(!_0x57a129)return![];if(_0x57a129['status']!==TOOL_STATUS['FAILED'])return this[_0x5a7c8d(0x6f)]?.['warn'](_0x5a7c8d(0x74)+_0x14c177),![];if(_0x57a129[_0x5a7c8d(0xad)]>=_0x57a129['maxRetries'])return this[_0x5a7c8d(0x6f)]?.['warn'](_0x5a7c8d(0xac)+_0x14c177),![];return _0x57a129[_0x5a7c8d(0xad)]++,_0x57a129[_0x5a7c8d(0xaf)]=TOOL_STATUS[_0x5a7c8d(0x78)],_0x57a129['startedAt']=null,_0x57a129['completedAt']=null,_0x57a129[_0x5a7c8d(0x85)]=null,_0x57a129[_0x5a7c8d(0x7d)]=null,this[_0x5a7c8d(0x82)](_0x14c177),this['logger']?.[_0x5a7c8d(0xc0)]('Operation\x20retry\x20initiated:\x20'+_0x14c177,{'retryCount':_0x57a129[_0x5a7c8d(0xad)],'maxRetries':_0x57a129['maxRetries']}),this[_0x5a7c8d(0x72)]('operation:retry',_0x57a129),!![];}['getStatistics'](){const _0x504d3a=a0_0x4e04c6,_0x49b88c={'total':this[_0x504d3a(0xb2)][_0x504d3a(0xa5)],'byStatus':{},'byTool':{},'byAgent':{},'averageExecutionTime':0x0,'oldestOperation':null,'newestOperation':null};let _0x453d75=0x0,_0x202f50=0x0,_0x3800c0=null,_0x43c493=null;for(const _0x349ae2 of this['operations']['values']()){_0x49b88c['byStatus'][_0x349ae2['status']]=(_0x49b88c[_0x504d3a(0xb9)][_0x349ae2['status']]||0x0)+0x1,_0x49b88c['byTool'][_0x349ae2['toolId']]=(_0x49b88c['byTool'][_0x349ae2['toolId']]||0x0)+0x1,_0x49b88c[_0x504d3a(0xb4)][_0x349ae2[_0x504d3a(0x92)]]=(_0x49b88c[_0x504d3a(0xb4)][_0x349ae2[_0x504d3a(0x92)]]||0x0)+0x1;const _0x52dba2=this['calculateExecutionTime'](_0x349ae2);_0x52dba2>0x0&&(_0x453d75+=_0x52dba2,_0x202f50++);const _0x5307e9=new Date(_0x349ae2[_0x504d3a(0x80)])[_0x504d3a(0x9d)]();(!_0x3800c0||_0x5307e9<_0x3800c0)&&(_0x3800c0=_0x5307e9,_0x49b88c[_0x504d3a(0x9c)]=_0x349ae2['id']),(!_0x43c493||_0x5307e9>_0x43c493)&&(_0x43c493=_0x5307e9,_0x49b88c[_0x504d3a(0x77)]=_0x349ae2['id']);}return _0x49b88c['averageExecutionTime']=_0x202f50>0x0?Math['round'](_0x453d75/_0x202f50):0x0,_0x49b88c;}async['cleanupCompletedOperations'](_0x4fb17b=0x36ee80){const _0x396840=a0_0x4e04c6,_0x45b317=Date['now']()-_0x4fb17b,_0x252836=[];for(const _0x539797 of this['operations'][_0x396840(0x87)]()){(_0x539797[_0x396840(0xaf)]===TOOL_STATUS['COMPLETED']||_0x539797[_0x396840(0xaf)]===TOOL_STATUS[_0x396840(0xb5)]||_0x539797[_0x396840(0xaf)]===TOOL_STATUS['CANCELLED'])&&new Date(_0x539797[_0x396840(0x90)])[_0x396840(0x9d)]()<_0x45b317&&_0x252836[_0x396840(0x88)](_0x539797['id']);}for(const _0x5d0e28 of _0x252836){await this[_0x396840(0xc2)](_0x5d0e28);}return this[_0x396840(0x6f)]?.['debug']('Cleaned\x20up\x20'+_0x252836['length']+'\x20completed\x20operations'),_0x252836[_0x396840(0xbd)];}[a0_0x4e04c6(0x79)](){const _0x9a50cc=a0_0x4e04c6;this['monitoringInterval']&&clearInterval(this['monitoringInterval']),this['monitoringInterval']=setInterval(()=>{const _0x1f954f=a0_0x5507;this[_0x1f954f(0x7e)](),this[_0x1f954f(0x76)]();},this['cleanupInterval']),this['logger']?.['info'](_0x9a50cc(0xbe));}['stopMonitoring'](){const _0x47f452=a0_0x4e04c6;this['monitoringInterval']&&(clearInterval(this['monitoringInterval']),this['monitoringInterval']=null),this['logger']?.[_0x47f452(0xc0)](_0x47f452(0x7b));}['checkOperationTimeouts'](){const _0x4a7cb3=a0_0x4e04c6,_0x242e0f=Date['now']();for(const _0x588584 of this[_0x4a7cb3(0xb2)][_0x4a7cb3(0x87)]()){if(_0x588584['status']===TOOL_STATUS['EXECUTING']||_0x588584['status']===TOOL_STATUS[_0x4a7cb3(0x78)]){const _0xbe0b94=new Date(_0x588584['createdAt'])[_0x4a7cb3(0x9d)]();_0x242e0f-_0xbe0b94>_0x588584[_0x4a7cb3(0xa0)]&&this[_0x4a7cb3(0x94)](_0x588584);}}}['setOperationTimeout'](_0x3b215d){const _0x3cfee0=a0_0x4e04c6,_0x182764=this[_0x3cfee0(0xb2)][_0x3cfee0(0x91)](_0x3b215d);if(!_0x182764)return;_0x182764[_0x3cfee0(0x7f)]=setTimeout(()=>{const _0x9a34f8=_0x3cfee0;this[_0x9a34f8(0x94)](_0x182764);},_0x182764['timeout']);}['clearOperationTimeout'](_0x196cb4){const _0x3006c9=a0_0x4e04c6,_0x23d426=this[_0x3006c9(0xb2)]['get'](_0x196cb4);_0x23d426&&_0x23d426[_0x3006c9(0x7f)]&&(clearTimeout(_0x23d426['timeoutHandle']),delete _0x23d426['timeoutHandle']);}[a0_0x4e04c6(0xb8)](){const _0x8c5501=a0_0x4e04c6,_0x28533e=Date['now']()[_0x8c5501(0xa8)](0x24),_0x2ef6f1=Math[_0x8c5501(0xbc)]()['toString'](0x24)['substr'](0x2,0x9);return'op-'+_0x28533e+'-'+_0x2ef6f1;}['calculateExecutionTime'](_0x4e89dd){const _0x1c0dff=a0_0x4e04c6;if(!_0x4e89dd['startedAt'])return 0x0;const _0x22aa8e=_0x4e89dd[_0x1c0dff(0x90)]?new Date(_0x4e89dd[_0x1c0dff(0x90)])[_0x1c0dff(0x9d)]():Date[_0x1c0dff(0x96)]();return _0x22aa8e-new Date(_0x4e89dd[_0x1c0dff(0xc4)])[_0x1c0dff(0x9d)]();}async[a0_0x4e04c6(0xc2)](_0x1fce9a){const _0x567c04=a0_0x4e04c6,_0x50eff6=this['operations']['get'](_0x1fce9a);if(!_0x50eff6)return;this['clearOperationTimeout'](_0x1fce9a),this[_0x567c04(0x9b)]['push']({..._0x50eff6,'executionTime':this['calculateExecutionTime'](_0x50eff6),'cleanedUpAt':new Date()['toISOString']()}),this['operationHistory']['length']>this['maxHistorySize']&&(this[_0x567c04(0x9b)]=this['operationHistory'][_0x567c04(0x8a)](-this[_0x567c04(0x71)])),this[_0x567c04(0xb2)][_0x567c04(0x89)](_0x1fce9a),this[_0x567c04(0x72)](_0x567c04(0xa6),{'operationId':_0x1fce9a,'toolId':_0x50eff6[_0x567c04(0xa2)]});}[a0_0x4e04c6(0x8c)](_0x433b31){const _0x44d785=a0_0x4e04c6;this['logger']?.['debug'](_0x44d785(0x9e)+_0x433b31['id'],{'toolId':_0x433b31['toolId'],'agentId':_0x433b31['agentId']});}async['handleOperationCompleted'](_0x2280fb){const _0x25fe39=a0_0x4e04c6;this[_0x25fe39(0x6f)]?.[_0x25fe39(0xc0)]('Operation\x20completed:\x20'+_0x2280fb['id'],{'toolId':_0x2280fb['toolId'],'agentId':_0x2280fb[_0x25fe39(0x92)],'executionTime':this[_0x25fe39(0x9f)](_0x2280fb)}),setTimeout(()=>this[_0x25fe39(0xc2)](_0x2280fb['id']),0x7530);}async[a0_0x4e04c6(0x84)](_0x55cc0b){const _0x1fa1f0=a0_0x4e04c6;this['logger']?.['error'](_0x1fa1f0(0x93)+_0x55cc0b['id'],{'toolId':_0x55cc0b['toolId'],'agentId':_0x55cc0b['agentId'],'error':_0x55cc0b[_0x1fa1f0(0x85)],'executionTime':this[_0x1fa1f0(0x9f)](_0x55cc0b),'retryCount':_0x55cc0b[_0x1fa1f0(0xad)]}),_0x55cc0b[_0x1fa1f0(0xad)]<_0x55cc0b[_0x1fa1f0(0xb0)]?setTimeout(()=>this[_0x1fa1f0(0x6c)](_0x55cc0b['id']),0x1388):setTimeout(()=>this[_0x1fa1f0(0xc2)](_0x55cc0b['id']),0xea60);}async[a0_0x4e04c6(0x94)](_0x322d29){const _0x1f317b=a0_0x4e04c6;this[_0x1f317b(0x6f)]?.['warn'](_0x1f317b(0xa1)+_0x322d29['id'],{'toolId':_0x322d29['toolId'],'agentId':_0x322d29['agentId'],'timeout':_0x322d29[_0x1f317b(0xa0)],'executionTime':this['calculateExecutionTime'](_0x322d29)}),this['updateOperation'](_0x322d29['id'],TOOL_STATUS[_0x1f317b(0x7c)],{'error':_0x1f317b(0xb3)+_0x322d29['timeout']+'ms'}),this[_0x1f317b(0x72)](_0x1f317b(0x95),_0x322d29),setTimeout(()=>this['cleanupOperation'](_0x322d29['id']),0x7530);}async['shutdown'](){const _0x2e8dc2=a0_0x4e04c6;this['isShuttingDown']=!![],this['logger']?.['info']('Shutting down async tool manager...'),this[_0x2e8dc2(0x83)]();const _0x494bb5=[];for(const _0x2b5a6b of this['operations'][_0x2e8dc2(0x87)]()){(_0x2b5a6b['status']===TOOL_STATUS[_0x2e8dc2(0x78)]||_0x2b5a6b[_0x2e8dc2(0xaf)]===TOOL_STATUS['EXECUTING'])&&_0x494bb5['push'](_0x2b5a6b['id']);}for(const _0x32acf5 of _0x494bb5){await this['cancelOperation'](_0x32acf5,_0x2e8dc2(0x98));}this['operations']['clear'](),this['logger']?.['info'](_0x2e8dc2(0x7a)+_0x494bb5['length']+'\x20operations.');}['getOperationHistory'](_0x4e23c5={}){const _0x27a197=a0_0x4e04c6;let _0x59d68b=[...this[_0x27a197(0x9b)]];return _0x4e23c5['agentId']&&(_0x59d68b=_0x59d68b[_0x27a197(0xba)](_0x5e780a=>_0x5e780a[_0x27a197(0x92)]===_0x4e23c5['agentId'])),_0x4e23c5[_0x27a197(0xa2)]&&(_0x59d68b=_0x59d68b['filter'](_0x5a5556=>_0x5a5556['toolId']===_0x4e23c5['toolId'])),_0x4e23c5[_0x27a197(0xaf)]&&(_0x59d68b=_0x59d68b[_0x27a197(0xba)](_0x427cd5=>_0x427cd5[_0x27a197(0xaf)]===_0x4e23c5[_0x27a197(0xaf)])),_0x4e23c5[_0x27a197(0xaa)]&&(_0x59d68b=_0x59d68b['slice'](-_0x4e23c5[_0x27a197(0xaa)])),_0x59d68b['sort']((_0x4e7beb,_0x3562f7)=>new Date(_0x3562f7[_0x27a197(0x80)])-new Date(_0x4e7beb['createdAt']));}}export default AsyncToolManager;
@@ -1 +1 @@
1
- const a0_0x56073b=a0_0x2e4d;function a0_0x2e4d(_0xee4c98,_0x4a10e4){_0xee4c98=_0xee4c98-0xa2;const _0x473a8b=a0_0x473a();let _0x2e4dc4=_0x473a8b[_0xee4c98];if(a0_0x2e4d['AYEcCT']===undefined){var _0x348760=function(_0x56b17d){const _0xfad05e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x367270='',_0x104314='';for(let _0x142d33=0x0,_0x591384,_0x2e6e81,_0xdcdcb7=0x0;_0x2e6e81=_0x56b17d['charAt'](_0xdcdcb7++);~_0x2e6e81&&(_0x591384=_0x142d33%0x4?_0x591384*0x40+_0x2e6e81:_0x2e6e81,_0x142d33++%0x4)?_0x367270+=String['fromCharCode'](0xff&_0x591384>>(-0x2*_0x142d33&0x6)):0x0){_0x2e6e81=_0xfad05e['indexOf'](_0x2e6e81);}for(let _0x1df08e=0x0,_0x16d57d=_0x367270['length'];_0x1df08e<_0x16d57d;_0x1df08e++){_0x104314+='%'+('00'+_0x367270['charCodeAt'](_0x1df08e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x104314);};a0_0x2e4d['oSNHyE']=_0x348760,a0_0x2e4d['ZTmBDy']={},a0_0x2e4d['AYEcCT']=!![];}const _0x284967=_0x473a8b[0x0],_0x5c711a=_0xee4c98+_0x284967,_0x13c55d=a0_0x2e4d['ZTmBDy'][_0x5c711a];return!_0x13c55d?(_0x2e4dc4=a0_0x2e4d['oSNHyE'](_0x2e4dc4),a0_0x2e4d['ZTmBDy'][_0x5c711a]=_0x2e4dc4):_0x2e4dc4=_0x13c55d,_0x2e4dc4;}(function(_0x9fe88a,_0x4e8368){const _0x2e92ad=a0_0x2e4d,_0x14cde1=_0x9fe88a();while(!![]){try{const _0x500b22=parseInt(_0x2e92ad(0xf3))/0x1+parseInt(_0x2e92ad(0xc0))/0x2+-parseInt(_0x2e92ad(0xb8))/0x3*(-parseInt(_0x2e92ad(0xbd))/0x4)+-parseInt(_0x2e92ad(0x10a))/0x5*(parseInt(_0x2e92ad(0xb1))/0x6)+-parseInt(_0x2e92ad(0xc1))/0x7+-parseInt(_0x2e92ad(0xf0))/0x8+parseInt(_0x2e92ad(0xf8))/0x9;if(_0x500b22===_0x4e8368)break;else _0x14cde1['push'](_0x14cde1['shift']());}catch(_0x5ac405){_0x14cde1['push'](_0x14cde1['shift']());}}}(a0_0x473a,0x4b0a7));function a0_0x473a(){const _0x48d0fe=['C3rHDhvZ','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','y29UDgvUDa','CMvWBgfJzq','C2XPy2u','z2v0ugfYyw1LDgvYu2nOzw1H','DMfSAwq','vg9VBca','kIO6ia','DxnHz2vdB3vUDa','C2L6zq','B3bLCMf0Aw9UsgLZDg9YEq','BwvZC2fNzq','x2DLDfrVB2XdyxrLz29YEq','iYmJia','Aw5MBW','ndeXmZG0rgDjAMzH','zxHLy3v0zq','zNvUy3rPB24','mJC2mZC4DfrxA3Hy','ygbGcG','DMfSAwrHDgvqyxjHBwv0zxjuExbLCW','z2v0vg9VBenHCgfIAwXPDgLLCW','ig11C3qGAw1WBgvTzw50ihbHCNnLugfYyw1LDgvYCYGP','otq2otK4BgHZvK1O','rMLSzsbpCgvYyxrPB25Z','ihbHCNnLugfYyw1LDgvYCYbTDxn0ihjLDhvYBIbHBIbVyMPLy3q','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','C3rHCNruAw1L','zw5KvgLTzq','ig11C3qGAw1WBgvTzw50igDLDerLC2nYAxb0Aw9UkcK','BM93','CMfUzg9T','Bg9JywXLq29TCgfYzq','tufyx1rpt0XFrvHfq1vusu9ox1rjtuu','cImJiefwquLmqujmrsbut09muWOk','z2v0','z2v0uMvNAxn0CNLtDgf0CW','zxHLy3v0Aw9UvgLTzq','igLZigrPC2fIBgvK','CMvKDwnL','C2fUAxrPEMvdB250zxH0','mJG1ntvvqwrVsMq','iYmJifn0yw5KyxjKiezVCM1HDdOGsLnptIbPBIbnyxjRzg93BIbdB2rLiejSB2nRcG','BMfTzq','CMvZDwX0','z2v0vg9VBa','u3LZDgvT','z2v0rgvZy3jPChrPB24','ww91igHHDMuGywnJzxnZihrVihrOzsbMB2XSB3DPBMCGDg9VBhmGDg8GCgvYzM9YBsbVCgvYyxrPB25ZigfUzcb0yxnRCZOkcG','Dg9VBerLC2nYAxb0Aw9UCW','C3vIC3rYAw5N','zgvSzxrL','Bg9Nz2vY','DgLTzw91Da','vg9VBcbLEgvJDxrPB24GDgLTzwqGB3v0igfMDgvYia','lsbvC2uGiNrVB2XjzciGDg8GC3bLy2LMEsb0AguGDg9VBcbUyw1LcG','ywn0AxzLt3bLCMf0Aw9UCW','vg9VBcbKAxnHyMXLzdOG','iYmGqvzbsuXbqKXfifrpt0Xt','B2jQzwn0','C2v0','Dg9VBhm','nteWsNfRvKTb','DMfSAwrHDgvuB29S','Dg9ju09tDhjPBMC','AxnfBMfIBgvK','rMfPBgvKihrVigDLDcbKzxnJCMLWDgLVBIbMB3iGDg9VBdOG','zw5Oyw5Jzvn5C3rLBvbYB21WDa','y2XLyw51Ca','mtaWnZmWmxjnAg55yG','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','DMfSAwrHDgvqyxjHBwv0zxjZ','z2v0u3rHDhvZ','ChvZAa','nfDtDenPwa','BgfZDfvZzwq','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','ndq2mtu0u0HutMDu','nJCZntmZCfvZzLn3','y2HHCKf0','tK9ux0zpvu5e','Dg9vChbLCKnHC2u','iYmGve9ptcbjtLzpq0fusu9oifnztLrbwaOk','z2v0vgLTzq','CgfZC3DVCMrZ','y2XLyw51CeHPC3rVCNK','cLvZzsbku09oigzVCM1HDcbPBIbTyxjRzg93BIbJB2rLigjSB2nRCYb0BYbPBNzVA2uGDg9VBhmUcGO','z2v0q2fWywjPBgL0AwvZ','Dg9VBenHCgfIAwXPDgLLCW','t3bLCMf0Aw9Uig5VDcbMB3vUza','zxHLy3v0zvrVB2Xtzwn1CMvSEq','vg9VBcbYzwDPC3rLCMvKoIa','yxn5BMm','BgvUz3rO','zNjVBq','zw50CMLLCW','AxnbC3LUyW','CMvXDwLYzxnqCM9Qzwn0','yxn5BMnpCgvYyxrPB25Z','zxHLy3v0zvDPDgHmAwzLy3LJBgu','zxjYB3i','D2fYBG','y29UC3rYDwn0B3i','CgfYC2vqyxjHBwv0zxjZ','y2fSy3vSyxrLqxzLCMfNzuv4zwn1DgLVBLrPBwu','z2vUzxjHDgvuB29SrgvZy3jPChrPB25ZrM9YuhjVBxb0','zMLSDgvY','vg9VBcbYzwDPC3rYyxrPB24GzMfPBgvKoIa','Dg9tDhjPBMC'];a0_0x473a=function(){return _0x48d0fe;};return a0_0x473a();}import{TOOL_STATUS,OPERATION_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';class BaseTool{constructor(_0x367270={},_0x104314=null){const _0x514745=a0_0x2e4d;this['id']=this['constructor'][_0x514745(0x10c)]['toLowerCase']()['replace']('tool',''),this['config']=_0x367270,this['logger']=_0x104314,this['requiresProject']=![],this['isAsync']=![],this[_0x514745(0xa8)]=_0x367270[_0x514745(0xa8)]||SYSTEM_DEFAULTS[_0x514745(0x102)],this['maxConcurrentOperations']=_0x367270['maxConcurrentOperations']||0x1,this['activeOperations']=new Map(),this[_0x514745(0xeb)]=[],this['isEnabled']=_0x367270['enabled']!==![],this['lastUsed']=null,this[_0x514745(0xe9)]=0x0;}[a0_0x56073b(0xa2)](){const _0xb98d0b=a0_0x56073b;throw new Error('Tool\x20'+this['id']+_0xb98d0b(0xfe));}[a0_0x56073b(0xda)](_0x142d33){const _0x110cd7=a0_0x56073b;throw new Error(_0x110cd7(0xe7)+this['id']+_0x110cd7(0xf7));}async[a0_0x56073b(0xf1)](_0x591384,_0x2e6e81){throw new Error('Tool\x20'+this['id']+'\x20must\x20implement\x20execute()');}[a0_0x56073b(0xca)](){const _0x58a6d3=a0_0x56073b;return{'id':this['id'],'async':this[_0x58a6d3(0xd3)],'requiresProject':this[_0x58a6d3(0xd4)],'timeout':this[_0x58a6d3(0xa8)],'maxConcurrentOperations':this[_0x58a6d3(0xb9)],'enabled':this['isEnabled'],'supportedActions':this['getSupportedActions'](),'parameterSchema':this[_0x58a6d3(0xe5)]()};}['validateParameters'](_0xdcdcb7){const _0xa19403=a0_0x56073b;try{if(!_0xdcdcb7||typeof _0xdcdcb7!=='object')return{'valid':![],'error':'Parameters\x20must\x20be\x20an\x20object'};const requiredParams=this['getRequiredParameters']();for(const required of requiredParams){if(!(required in _0xdcdcb7))return{'valid':![],'error':'Missing\x20required\x20parameter:\x20'+required};}const _0x1df08e=this[_0xa19403(0xf5)](_0xdcdcb7);if(!_0x1df08e[_0xa19403(0xe6)])return _0x1df08e;const _0x16d57d=this[_0xa19403(0xbf)](_0xdcdcb7);if(!_0x16d57d[_0xa19403(0xe6)])return _0x16d57d;return{'valid':!![]};}catch(_0x2a46f7){return{'valid':![],'error':'Parameter\x20validation\x20failed:\x20'+_0x2a46f7[_0xa19403(0xec)]};}}async[a0_0x56073b(0xd6)](_0x2155b5,_0x49cabf){const _0x257f14=a0_0x56073b,_0x38144a=this['generateOperationId'](),_0x217681=Date['now']();if(!this[_0x257f14(0xb4)])throw new Error('Tool\x20'+this['id']+_0x257f14(0x107));if(this[_0x257f14(0xab)]['size']>=this['maxConcurrentOperations'])throw new Error(_0x257f14(0xe7)+this['id']+'\x20has\x20reached\x20maximum\x20concurrent\x20operations\x20limit');const _0x2d2bfc=this[_0x257f14(0xba)](_0x2155b5);if(!_0x2d2bfc[_0x257f14(0xe6)])throw new Error(_0x257f14(0xfb)+_0x2d2bfc[_0x257f14(0xd7)]);const _0x550b06={'id':_0x38144a,'toolId':this['id'],'status':TOOL_STATUS['EXECUTING'],'startTime':new Date()['toISOString'](),'params':_0x2155b5,'context':this[_0x257f14(0x109)](_0x49cabf)};this[_0x257f14(0xab)]['set'](_0x38144a,_0x550b06);try{this[_0x257f14(0xa7)]?.['info']('Tool\x20execution\x20started:\x20'+this['id'],{'operationId':_0x38144a,'toolId':this['id'],'context':_0x550b06['context']});const _0x5a2135=await this['executeWithTimeout'](_0x2155b5,_0x49cabf);return _0x550b06[_0x257f14(0xe0)]=TOOL_STATUS['COMPLETED'],_0x550b06[_0x257f14(0x10d)]=_0x5a2135,_0x550b06['endTime']=new Date()[_0x257f14(0xb3)](),_0x550b06[_0x257f14(0x106)]=Date['now']()-_0x217681,this['lastUsed']=new Date()[_0x257f14(0xb3)](),this['usageCount']++,this[_0x257f14(0xa7)]?.[_0x257f14(0xef)]('Tool\x20execution\x20completed:\x20'+this['id'],{'operationId':_0x38144a,'executionTime':_0x550b06[_0x257f14(0x106)],'success':!![]}),{'success':!![],'operationId':_0x38144a,'result':_0x5a2135,'executionTime':_0x550b06['executionTime'],'toolId':this['id']};}catch(_0x211fbe){_0x550b06['status']=TOOL_STATUS['FAILED'],_0x550b06['error']=_0x211fbe[_0x257f14(0xec)],_0x550b06['endTime']=new Date()[_0x257f14(0xb3)](),_0x550b06['executionTime']=Date[_0x257f14(0xff)]()-_0x217681,this['logger']?.['error']('Tool\x20execution\x20failed:\x20'+this['id'],{'operationId':_0x38144a,'error':_0x211fbe[_0x257f14(0xec)],'executionTime':_0x550b06['executionTime']});throw _0x211fbe;}finally{this['operationHistory'][_0x257f14(0xbc)]({..._0x550b06}),this[_0x257f14(0xab)][_0x257f14(0xa6)](_0x38144a),this[_0x257f14(0xc8)](),await this[_0x257f14(0xb7)](_0x38144a);}}async[a0_0x56073b(0xbb)](_0x3d1b9d){const _0x33aa95=a0_0x56073b,_0x30fbb5=this['activeOperations']['get'](_0x3d1b9d);if(!_0x30fbb5){const _0x40915d=this[_0x33aa95(0xeb)]['find'](_0x574651=>_0x574651['id']===_0x3d1b9d);if(_0x40915d)return{'operationId':_0x3d1b9d,'status':_0x40915d[_0x33aa95(0xe0)],'result':_0x40915d['result'],'error':_0x40915d[_0x33aa95(0xd7)],'executionTime':_0x40915d[_0x33aa95(0x106)]};return{'operationId':_0x3d1b9d,'status':OPERATION_STATUS[_0x33aa95(0xc3)],'error':_0x33aa95(0xcc)};}return{'operationId':_0x3d1b9d,'status':_0x30fbb5[_0x33aa95(0xe0)],'startTime':_0x30fbb5[_0x33aa95(0xfc)],'executionTime':_0x30fbb5[_0x33aa95(0xfd)]?new Date(_0x30fbb5[_0x33aa95(0xfd)])['getTime']()-new Date(_0x30fbb5['startTime'])[_0x33aa95(0xc6)]():Date[_0x33aa95(0xff)]()-new Date(_0x30fbb5['startTime'])['getTime']()};}async[a0_0x56073b(0xb7)](_0x4d4c70){}['getSupportedActions'](){const _0x2944ae=a0_0x56073b;return[_0x2944ae(0xf1)];}[a0_0x56073b(0xe5)](){const _0x3bb6b8=a0_0x56073b;return{'type':_0x3bb6b8(0xae),'properties':{},'required':[]};}[a0_0x56073b(0xe1)](){return[];}['validateParameterTypes'](_0x3bb372){return{'valid':!![]};}[a0_0x56073b(0xbf)](_0x3e0162){return{'valid':!![]};}async['executeWithTimeout'](_0x23b1c2,_0xba9da8){return new Promise(async(_0x24225e,_0x468b6d)=>{const _0x119143=a0_0x2e4d,_0xea9b7e=setTimeout(()=>{const _0x341529=a0_0x2e4d;_0x468b6d(new Error(_0x341529(0xa9)+this[_0x341529(0xa8)]+'ms'));},this['timeout']);try{const _0x8116d0=await this[_0x119143(0xf1)](_0x23b1c2,_0xba9da8);clearTimeout(_0xea9b7e),_0x24225e(_0x8116d0);}catch(_0x5eb68d){clearTimeout(_0xea9b7e),_0x468b6d(_0x5eb68d);}});}['generateOperationId'](){const _0x178ff6=a0_0x56073b;return this['id']+'-'+Date['now']()+'-'+Math[_0x178ff6(0x100)]()[_0x178ff6(0xdf)](0x24)['substr'](0x2,0x9);}['sanitizeContext'](_0x2a5e09){const _0x2e99a3=a0_0x56073b,_0x4ce453={..._0x2a5e09};return delete _0x4ce453['apiKeys'],delete _0x4ce453['secrets'],delete _0x4ce453[_0x2e99a3(0xc7)],_0x4ce453['content']&&_0x4ce453['content'][_0x2e99a3(0xd0)]>0x1f4&&(_0x4ce453['content']=_0x4ce453[_0x2e99a3(0xe2)][_0x2e99a3(0xa5)](0x0,0x1f4)+'...\x20[truncated]'),_0x4ce453;}['cleanupHistory'](){const _0x40ad7f=a0_0x56073b,_0x3b8242=0x64;this[_0x40ad7f(0xeb)][_0x40ad7f(0xd0)]>_0x3b8242&&(this['operationHistory']=this['operationHistory']['slice'](-_0x3b8242));}['getUsageStats'](){const _0x2c51c1=a0_0x56073b;return{'toolId':this['id'],'usageCount':this['usageCount'],'lastUsed':this[_0x2c51c1(0xbe)],'activeOperations':this['activeOperations'][_0x2c51c1(0xea)],'totalOperations':this['operationHistory'][_0x2c51c1(0xd0)],'averageExecutionTime':this[_0x2c51c1(0xdb)](),'successRate':this['calculateSuccessRate'](),'isEnabled':this['isEnabled']};}['calculateAverageExecutionTime'](){const _0x543eaa=a0_0x56073b,_0x62a0ed=this['operationHistory']['filter'](_0x47f0ad=>_0x47f0ad[_0x543eaa(0xe0)]===TOOL_STATUS['COMPLETED']&&_0x47f0ad['executionTime']);if(_0x62a0ed[_0x543eaa(0xd0)]===0x0)return 0x0;const _0x1ef901=_0x62a0ed['reduce']((_0x442a00,_0x47e63b)=>_0x442a00+_0x47e63b['executionTime'],0x0);return Math['round'](_0x1ef901/_0x62a0ed['length']);}['calculateSuccessRate'](){const _0x163030=a0_0x56073b;if(this['operationHistory'][_0x163030(0xd0)]===0x0)return 0x0;const _0x169f94=this[_0x163030(0xeb)]['filter'](_0x3f9071=>_0x3f9071['status']===TOOL_STATUS['COMPLETED']);return _0x169f94[_0x163030(0xd0)]/this[_0x163030(0xeb)]['length']*0x64;}['enable'](){const _0x392060=a0_0x56073b;this['isEnabled']=!![],this['logger']?.[_0x392060(0xef)]('Tool\x20enabled:\x20'+this['id']);}['disable'](){const _0x4b7ff0=a0_0x56073b;this[_0x4b7ff0(0xb4)]=![],this['logger']?.['info'](_0x4b7ff0(0xac)+this['id']);}['resetStats'](){const _0x5ac6e3=a0_0x56073b;this['usageCount']=0x0,this['lastUsed']=null,this[_0x5ac6e3(0xeb)]=[],this[_0x5ac6e3(0xa7)]?.[_0x5ac6e3(0xef)]('Tool\x20statistics\x20reset:\x20'+this['id']);}}class ToolsRegistry{constructor(_0x1e9f71=null){const _0x235bf6=a0_0x56073b;this[_0x235bf6(0xa7)]=_0x1e9f71,this[_0x235bf6(0xb0)]=new Map(),this['toolDescriptions']=new Map(),this[_0x235bf6(0xcb)]=new Map(),this[_0x235bf6(0xd5)]=new Map();}async['registerTool'](_0x26e8ad){const _0x4c3246=a0_0x56073b;try{const _0x264158=new _0x26e8ad();if(!(_0x264158 instanceof BaseTool))throw new Error(_0x4c3246(0xe7)+_0x26e8ad[_0x4c3246(0x10c)]+'\x20must\x20extend\x20BaseTool');const _0x89b2f=_0x264158['getCapabilities']();await this[_0x4c3246(0xb2)](_0x264158),this[_0x4c3246(0xb0)][_0x4c3246(0xaf)](_0x264158['id'],_0x264158),this[_0x4c3246(0xa4)][_0x4c3246(0xaf)](_0x264158['id'],_0x264158['getDescription']()),this['toolCapabilities'][_0x4c3246(0xaf)](_0x264158['id'],_0x89b2f),this[_0x4c3246(0xa7)]?.['info'](_0x4c3246(0xce)+_0x264158['id'],{'capabilities':_0x89b2f['supportedActions'],'async':_0x89b2f[_0x4c3246(0xcf)],'requiresProject':_0x89b2f['requiresProject']});}catch(_0x5e6f9f){this['logger']?.[_0x4c3246(0xd7)](_0x4c3246(0xde)+_0x5e6f9f[_0x4c3246(0xec)],{'toolClass':_0x26e8ad['name']});throw _0x5e6f9f;}}async['discoverTools'](_0x3265c5){return 0x0;}async['validateTool'](_0xf04ce3){const _0x1e557c=a0_0x56073b,requiredMethods=[_0x1e557c(0xa2),'parseParameters',_0x1e557c(0xf1)];for(const _0x355887 of requiredMethods){if(typeof _0xf04ce3[_0x355887]!==_0x1e557c(0xf2))throw new Error('Tool\x20'+_0xf04ce3['id']+'\x20missing\x20required\x20method:\x20'+_0x355887);}try{const _0x47fbbd=_0xf04ce3['parseParameters']('test\x20content');if(typeof _0x47fbbd!=='object')throw new Error(_0x1e557c(0xe7)+_0xf04ce3['id']+_0x1e557c(0xfa));}catch(_0x5a6fef){}const _0x3cd2d0=_0xf04ce3[_0x1e557c(0xca)]();if(!_0x3cd2d0||typeof _0x3cd2d0!=='object')throw new Error('Tool\x20'+_0xf04ce3['id']+'\x20getCapabilities\x20must\x20return\x20an\x20object');}[a0_0x56073b(0x10e)](_0x599cc4){const _0x3a7657=a0_0x56073b;return this[_0x3a7657(0xb0)]['get'](_0x599cc4)||null;}[a0_0x56073b(0xf6)](){const _0x4f409f=a0_0x56073b,_0x294f03={};for(const [_0x1878a4,_0x58daa7]of this[_0x4f409f(0xb0)][_0x4f409f(0xd2)]()){_0x58daa7[_0x4f409f(0xb4)]&&(_0x294f03[_0x1878a4]={'description':this[_0x4f409f(0xa4)][_0x4f409f(0x104)](_0x1878a4),'capabilities':this[_0x4f409f(0xcb)][_0x4f409f(0x104)](_0x1878a4),'usageStats':_0x58daa7['getUsageStats']()});}return _0x294f03;}async[a0_0x56073b(0xcd)](_0x1a6b56,_0x18a6d1,_0x5bec9c){const _0x309afb=a0_0x56073b,_0x54ddf3=this[_0x309afb(0x10e)](_0x1a6b56);if(!_0x54ddf3)throw new Error('Tool\x20not\x20found:\x20'+_0x1a6b56);if(!_0x54ddf3['isEnabled'])throw new Error('Tool\x20is\x20disabled:\x20'+_0x1a6b56);return await _0x54ddf3['executeWithLifecycle'](_0x18a6d1,_0x5bec9c);}['listTools'](){const _0x4ef03d=a0_0x56073b;return Array[_0x4ef03d(0xd1)](this['tools']['keys']());}[a0_0x56073b(0xdc)](_0x414c19=[],_0x5e53f3={}){const _0x45e913=a0_0x56073b,{includeExamples:includeExamples=!![],includeUsageGuidelines:includeUsageGuidelines=!![],includeSecurityNotes:includeSecurityNotes=!![],compact:compact=![]}=_0x5e53f3,_0x462e55=_0x414c19[_0x45e913(0xd0)]>0x0?_0x414c19[_0x45e913(0xdd)](_0x27a638=>this['tools']['has'](_0x27a638)):Array[_0x45e913(0xd1)](this['tools']['keys']());if(_0x462e55['length']===0x0)return'';let _0x288660=_0x45e913(0x103);_0x288660+=_0x45e913(0xa3);for(const _0x215654 of _0x462e55){const _0x3ca46f=this['tools'][_0x45e913(0x104)](_0x215654);if(!_0x3ca46f||!_0x3ca46f[_0x45e913(0xb4)])continue;try{if(compact){const _0x2e6a41=_0x3ca46f['getCapabilities'](),_0x195ef7=_0x2e6a41['supportedActions']||['execute'];_0x288660+='**'+_0x215654+_0x45e913(0xe8)+_0x195ef7['join'](',\x20')+'\x0a';}else _0x288660+=_0x45e913(0xee)+_0x215654[_0x45e913(0xc4)]()+'\x20TOOL\x0a\x0a',_0x288660+=_0x3ca46f[_0x45e913(0xa2)](),_0x288660+='\x0a\x0a---\x0a\x0a';}catch(_0x4d4d51){this[_0x45e913(0xa7)]?.[_0x45e913(0xd8)](_0x45e913(0xb5)+_0x215654,{'error':_0x4d4d51['message']});}}return compact&&(_0x288660+=_0x45e913(0xc9)),_0x288660+=_0x45e913(0xc5),_0x288660+='**IMPORTANT**:\x20Use\x20JSON\x20format\x20in\x20markdown\x20code\x20blocks\x20to\x20invoke\x20tools:\x0a\x0a',_0x288660+=_0x45e913(0x10b),_0x288660+=_0x45e913(0xf4),_0x288660+='```json\x0a',_0x288660+='{\x0a',_0x288660+='\x20\x20\x22toolId\x22:\x20\x22toolname\x22,\x0a',_0x288660+='\x20\x20\x22parameters\x22:\x20{\x20...\x20}\x0a',_0x288660+='}\x0a',_0x288660+=_0x45e913(0xf4),_0x288660+='```\x0a\x0a',_0x288660+='**Rules:**\x0a',_0x288660+='-\x20Always\x20wrap\x20JSON\x20tool\x20commands\x20in\x20```json\x20...\x20```\x20blocks\x0a',_0x288660+=_0x45e913(0xaa),_0x288660+='-\x20Use\x20\x22parameters\x22\x20object\x20for\x20tool-specific\x20parameters\x0a',_0x288660+='-\x20Use\x20\x22actions\x22\x20array\x20for\x20tools\x20that\x20support\x20multiple\x20operations\x0a\x0a',_0x288660+='After\x20invoking\x20a\x20tool,\x20WAIT\x20for\x20the\x20actual\x20response.\x20Do\x20NOT\x20generate\x20imaginary\x20responses.\x0a',_0x288660;}[a0_0x56073b(0xb6)](_0x13faa8,_0x26538a=[],_0x55cf02={}){const _0x19d0f5=a0_0x56073b,_0x5c0731=this[_0x19d0f5(0xdc)](_0x26538a,_0x55cf02);if(!_0x5c0731['trim']())return _0x13faa8||'';const _0x3043bd=_0x13faa8||'';if(_0x3043bd['includes'](_0x19d0f5(0xad)))return _0x3043bd[_0x19d0f5(0xe3)](/## AVAILABLE TOOLS[\s\S]*?(?=##|$)/,_0x5c0731+'\x0a');const _0x124baa='IMPORTANT:\x20when\x20asked\x20to\x20perform\x20an\x20action\x20or\x20operation,\x20use\x20each\x20response\x20to\x20invoke\x20a\x20tool\x20if\x20needed,\x20and\x20update\x20the\x20user\x20on\x20the\x20progress\x20(same\x20message).';return _0x3043bd+(_0x3043bd['endsWith']('\x0a')?'':'\x0a')+_0x5c0731+_0x124baa+'\x0a';}['getAvailableToolsForUI'](){const _0x3a3419=a0_0x56073b,_0x4f0d82=[];for(const [_0x3e85dd,_0x1d54bd]of this[_0x3a3419(0xb0)][_0x3a3419(0xd2)]()){const _0x300871=_0x1d54bd['getCapabilities'](),_0x4c5cd0=_0x1d54bd[_0x3a3419(0xa2)](),_0x988b12=_0x4c5cd0['split']('\x0a')['find'](_0x9c61f4=>_0x9c61f4['trim']()[_0x3a3419(0xd0)]>0x0)||'',_0x509142=_0x988b12[_0x3a3419(0xe3)](/^.*Tool:\s*/i,'')['replace'](/\s*-.*$/,'')['trim']();_0x4f0d82[_0x3a3419(0xbc)]({'id':_0x3e85dd,'name':_0x509142||_0x3e85dd[_0x3a3419(0xc2)](0x0)[_0x3a3419(0xc4)]()+_0x3e85dd[_0x3a3419(0xe4)](0x1),'description':_0x988b12,'category':this[_0x3a3419(0xed)](_0x3e85dd),'enabled':_0x300871['enabled'],'async':_0x300871[_0x3a3419(0xcf)],'requiresProject':_0x300871['requiresProject'],'className':_0x1d54bd[_0x3a3419(0xd9)][_0x3a3419(0x10c)]});}return _0x4f0d82['sort']((_0x521436,_0x1c069d)=>_0x521436['name'][_0x3a3419(0x101)](_0x1c069d[_0x3a3419(0x10c)]));}[a0_0x56073b(0xed)](_0x47fc46){const _0x27d959=a0_0x56073b,_0x91769e={'terminal':_0x27d959(0x10f),'filesystem':_0x27d959(0xf9),'web':'Automation','agentdelay':'Utility'};return _0x91769e[_0x47fc46]||'Other';}[a0_0x56073b(0x105)](){const _0x19aa2c=a0_0x56073b,_0x27e0b9=Array['from'](this[_0x19aa2c(0xb0)]['values']())['filter'](_0x17e270=>_0x17e270['isEnabled']),_0x36d553=Array['from'](this[_0x19aa2c(0xb0)]['values']())[_0x19aa2c(0x108)]((_0x49352d,_0x49a6c6)=>_0x49352d+_0x49a6c6[_0x19aa2c(0xe9)],0x0);return{'totalTools':this[_0x19aa2c(0xb0)][_0x19aa2c(0xea)],'enabledTools':_0x27e0b9['length'],'totalOperations':_0x36d553,'activeOperations':this['asyncOperations']['size']};}}export{BaseTool,ToolsRegistry};
1
+ const a0_0x288ace=a0_0x272b;(function(_0x5f124f,_0x29a97f){const _0x4755e4=a0_0x272b,_0x37bb2b=_0x5f124f();while(!![]){try{const _0x5b8b51=parseInt(_0x4755e4(0xd3))/0x1+parseInt(_0x4755e4(0x67))/0x2*(-parseInt(_0x4755e4(0xdc))/0x3)+parseInt(_0x4755e4(0x81))/0x4*(-parseInt(_0x4755e4(0x68))/0x5)+parseInt(_0x4755e4(0x8f))/0x6*(parseInt(_0x4755e4(0xb9))/0x7)+parseInt(_0x4755e4(0xcf))/0x8*(parseInt(_0x4755e4(0x70))/0x9)+-parseInt(_0x4755e4(0xb2))/0xa*(parseInt(_0x4755e4(0x7f))/0xb)+-parseInt(_0x4755e4(0xb1))/0xc;if(_0x5b8b51===_0x29a97f)break;else _0x37bb2b['push'](_0x37bb2b['shift']());}catch(_0x24f447){_0x37bb2b['push'](_0x37bb2b['shift']());}}}(a0_0x4a40,0xb8135));import{TOOL_STATUS,OPERATION_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';class BaseTool{constructor(_0x353110={},_0x5aef9b=null){const _0x3b212d=a0_0x272b;this['id']=this[_0x3b212d(0x88)][_0x3b212d(0x7b)]['toLowerCase']()[_0x3b212d(0x65)]('tool',''),this[_0x3b212d(0x80)]=_0x353110,this['logger']=_0x5aef9b,this[_0x3b212d(0x9a)]=![],this[_0x3b212d(0xa7)]=![],this[_0x3b212d(0x97)]=_0x353110[_0x3b212d(0x97)]||SYSTEM_DEFAULTS[_0x3b212d(0xc8)],this[_0x3b212d(0xc7)]=_0x353110[_0x3b212d(0xc7)]||0x1,this[_0x3b212d(0xbd)]=new Map(),this[_0x3b212d(0x92)]=[],this['isEnabled']=_0x353110['enabled']!==![],this['lastUsed']=null,this[_0x3b212d(0xa6)]=0x0;}['getDescription'](){const _0x15df4b=a0_0x272b;throw new Error('Tool\x20'+this['id']+_0x15df4b(0x82));}[a0_0x288ace(0x7d)](_0x51d753){const _0x5dd93b=a0_0x288ace;throw new Error('Tool\x20'+this['id']+_0x5dd93b(0xbf));}async['execute'](_0x3c64c0,_0x4f71b3){throw new Error('Tool\x20'+this['id']+'\x20must\x20implement\x20execute()');}[a0_0x288ace(0x6c)](){const _0x363afa=a0_0x288ace;return{'id':this['id'],'async':this['isAsync'],'requiresProject':this['requiresProject'],'timeout':this[_0x363afa(0x97)],'maxConcurrentOperations':this['maxConcurrentOperations'],'enabled':this['isEnabled'],'supportedActions':this[_0x363afa(0xd9)](),'parameterSchema':this[_0x363afa(0x93)]()};}['validateParameters'](_0xcd07f4){const _0xa8a97e=a0_0x288ace;try{if(!_0xcd07f4||typeof _0xcd07f4!=='object')return{'valid':![],'error':'Parameters\x20must\x20be\x20an\x20object'};const requiredParams=this['getRequiredParameters']();for(const required of requiredParams){if(!(required in _0xcd07f4))return{'valid':![],'error':'Missing\x20required\x20parameter:\x20'+required};}const _0x3a9f38=this['validateParameterTypes'](_0xcd07f4);if(!_0x3a9f38[_0xa8a97e(0x9c)])return _0x3a9f38;const _0x25d369=this['customValidateParameters'](_0xcd07f4);if(!_0x25d369[_0xa8a97e(0x9c)])return _0x25d369;return{'valid':!![]};}catch(_0x11868f){return{'valid':![],'error':_0xa8a97e(0xc4)+_0x11868f[_0xa8a97e(0xce)]};}}async[a0_0x288ace(0xd0)](_0x5c20be,_0x11d259){const _0x1698c4=a0_0x288ace,_0x55c1a3=this['generateOperationId'](),_0x5b92ea=Date['now']();if(!this['isEnabled'])throw new Error('Tool\x20'+this['id']+_0x1698c4(0xab));if(this['activeOperations'][_0x1698c4(0x90)]>=this[_0x1698c4(0xc7)])throw new Error('Tool\x20'+this['id']+_0x1698c4(0x85));const _0x42800a=this['validateParameters'](_0x5c20be);if(!_0x42800a['valid'])throw new Error('Parameter\x20validation\x20failed:\x20'+_0x42800a['error']);const _0x293412={'id':_0x55c1a3,'toolId':this['id'],'status':TOOL_STATUS['EXECUTING'],'startTime':new Date()['toISOString'](),'params':_0x5c20be,'context':this[_0x1698c4(0xa4)](_0x11d259)};this[_0x1698c4(0xbd)]['set'](_0x55c1a3,_0x293412);try{this['logger']?.['info'](_0x1698c4(0xa3)+this['id'],{'operationId':_0x55c1a3,'toolId':this['id'],'context':_0x293412['context']});const _0x62ec10=await this['executeWithTimeout'](_0x5c20be,_0x11d259);return _0x293412['status']=TOOL_STATUS[_0x1698c4(0xc9)],_0x293412[_0x1698c4(0xae)]=_0x62ec10,_0x293412['endTime']=new Date()['toISOString'](),_0x293412['executionTime']=Date['now']()-_0x5b92ea,this['lastUsed']=new Date()[_0x1698c4(0xd5)](),this['usageCount']++,this[_0x1698c4(0xc2)]?.['info'](_0x1698c4(0xc1)+this['id'],{'operationId':_0x55c1a3,'executionTime':_0x293412['executionTime'],'success':!![]}),{'success':!![],'operationId':_0x55c1a3,'result':_0x62ec10,'executionTime':_0x293412[_0x1698c4(0x89)],'toolId':this['id']};}catch(_0x452ab4){_0x293412[_0x1698c4(0x7e)]=TOOL_STATUS['FAILED'],_0x293412[_0x1698c4(0x84)]=_0x452ab4[_0x1698c4(0xce)],_0x293412[_0x1698c4(0x9f)]=new Date()[_0x1698c4(0xd5)](),_0x293412[_0x1698c4(0x89)]=Date[_0x1698c4(0xdb)]()-_0x5b92ea,this['logger']?.['error'](_0x1698c4(0xb7)+this['id'],{'operationId':_0x55c1a3,'error':_0x452ab4[_0x1698c4(0xce)],'executionTime':_0x293412[_0x1698c4(0x89)]});throw _0x452ab4;}finally{this['operationHistory']['push']({..._0x293412}),this[_0x1698c4(0xbd)]['delete'](_0x55c1a3),this['cleanupHistory'](),await this['cleanup'](_0x55c1a3);}}async['getStatus'](_0x454b5d){const _0x39f7ad=a0_0x288ace,_0x554c7e=this[_0x39f7ad(0xbd)][_0x39f7ad(0x8d)](_0x454b5d);if(!_0x554c7e){const _0x4047ee=this[_0x39f7ad(0x92)]['find'](_0x3cf8ba=>_0x3cf8ba['id']===_0x454b5d);if(_0x4047ee)return{'operationId':_0x454b5d,'status':_0x4047ee['status'],'result':_0x4047ee[_0x39f7ad(0xae)],'error':_0x4047ee['error'],'executionTime':_0x4047ee[_0x39f7ad(0x89)]};return{'operationId':_0x454b5d,'status':OPERATION_STATUS['NOT_FOUND'],'error':'Operation\x20not\x20found'};}return{'operationId':_0x454b5d,'status':_0x554c7e[_0x39f7ad(0x7e)],'startTime':_0x554c7e[_0x39f7ad(0x64)],'executionTime':_0x554c7e['endTime']?new Date(_0x554c7e['endTime'])['getTime']()-new Date(_0x554c7e[_0x39f7ad(0x64)])[_0x39f7ad(0x6e)]():Date[_0x39f7ad(0xdb)]()-new Date(_0x554c7e['startTime'])[_0x39f7ad(0x6e)]()};}async['cleanup'](_0x10f09f){}[a0_0x288ace(0xd9)](){return['execute'];}[a0_0x288ace(0x93)](){return{'type':'object','properties':{},'required':[]};}[a0_0x288ace(0x76)](){return[];}[a0_0x288ace(0xb6)](_0x203f34){return{'valid':!![]};}['customValidateParameters'](_0x17c545){return{'valid':!![]};}async['executeWithTimeout'](_0x198da5,_0x198fa7){return new Promise(async(_0x410c8f,_0x326fc7)=>{const _0x53f7e1=a0_0x272b,_0x3c31b1=setTimeout(()=>{const _0x432e1=a0_0x272b;_0x326fc7(new Error('Tool\x20execution\x20timed\x20out\x20after\x20'+this[_0x432e1(0x97)]+'ms'));},this[_0x53f7e1(0x97)]);try{const _0x507077=await this['execute'](_0x198da5,_0x198fa7);clearTimeout(_0x3c31b1),_0x410c8f(_0x507077);}catch(_0xd1c03e){clearTimeout(_0x3c31b1),_0x326fc7(_0xd1c03e);}});}['generateOperationId'](){const _0x257ebd=a0_0x288ace;return this['id']+'-'+Date[_0x257ebd(0xdb)]()+'-'+Math[_0x257ebd(0xd6)]()['toString'](0x24)[_0x257ebd(0x94)](0x2,0x9);}[a0_0x288ace(0xa4)](_0x14103c){const _0x4cc07b=a0_0x288ace,_0x283525={..._0x14103c};return delete _0x283525[_0x4cc07b(0xcc)],delete _0x283525[_0x4cc07b(0xbc)],delete _0x283525[_0x4cc07b(0xa8)],_0x283525[_0x4cc07b(0x6a)]&&_0x283525['content'][_0x4cc07b(0xc5)]>0x1f4&&(_0x283525['content']=_0x283525['content'][_0x4cc07b(0xb3)](0x0,0x1f4)+_0x4cc07b(0xa5)),_0x283525;}['cleanupHistory'](){const _0x341246=a0_0x288ace,_0x32f194=0x64;this[_0x341246(0x92)][_0x341246(0xc5)]>_0x32f194&&(this[_0x341246(0x92)]=this[_0x341246(0x92)][_0x341246(0xbe)](-_0x32f194));}[a0_0x288ace(0xbb)](){const _0x10b358=a0_0x288ace;return{'toolId':this['id'],'usageCount':this['usageCount'],'lastUsed':this[_0x10b358(0x96)],'activeOperations':this[_0x10b358(0xbd)]['size'],'totalOperations':this[_0x10b358(0x92)][_0x10b358(0xc5)],'averageExecutionTime':this['calculateAverageExecutionTime'](),'successRate':this['calculateSuccessRate'](),'isEnabled':this[_0x10b358(0x7a)]};}[a0_0x288ace(0xcd)](){const _0x2f695e=a0_0x288ace,_0x11cb79=this[_0x2f695e(0x92)]['filter'](_0x2b42cb=>_0x2b42cb[_0x2f695e(0x7e)]===TOOL_STATUS[_0x2f695e(0xc9)]&&_0x2b42cb['executionTime']);if(_0x11cb79[_0x2f695e(0xc5)]===0x0)return 0x0;const _0xdbe858=_0x11cb79['reduce']((_0x331e06,_0x2ef903)=>_0x331e06+_0x2ef903['executionTime'],0x0);return Math[_0x2f695e(0x72)](_0xdbe858/_0x11cb79['length']);}['calculateSuccessRate'](){const _0x7d70cb=a0_0x288ace;if(this['operationHistory'][_0x7d70cb(0xc5)]===0x0)return 0x0;const _0x43faf7=this['operationHistory'][_0x7d70cb(0x9d)](_0x41ebb4=>_0x41ebb4[_0x7d70cb(0x7e)]===TOOL_STATUS[_0x7d70cb(0xc9)]);return _0x43faf7['length']/this['operationHistory']['length']*0x64;}['enable'](){const _0x2afe40=a0_0x288ace;this[_0x2afe40(0x7a)]=!![],this['logger']?.['info']('Tool\x20enabled:\x20'+this['id']);}[a0_0x288ace(0xc3)](){const _0x4c9f4c=a0_0x288ace;this[_0x4c9f4c(0x7a)]=![],this['logger']?.['info'](_0x4c9f4c(0x8e)+this['id']);}[a0_0x288ace(0x79)](){const _0x3c6da3=a0_0x288ace;this['usageCount']=0x0,this['lastUsed']=null,this['operationHistory']=[],this[_0x3c6da3(0xc2)]?.[_0x3c6da3(0xc6)]('Tool\x20statistics\x20reset:\x20'+this['id']);}}function a0_0x272b(_0x19d141,_0x27ed73){_0x19d141=_0x19d141-0x64;const _0x4a401=a0_0x4a40();let _0x272b6e=_0x4a401[_0x19d141];if(a0_0x272b['YrvJly']===undefined){var _0x3d581c=function(_0x180add){const _0x2f76ce='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x353110='',_0x5aef9b='';for(let _0x51d753=0x0,_0x3c64c0,_0x4f71b3,_0xcd07f4=0x0;_0x4f71b3=_0x180add['charAt'](_0xcd07f4++);~_0x4f71b3&&(_0x3c64c0=_0x51d753%0x4?_0x3c64c0*0x40+_0x4f71b3:_0x4f71b3,_0x51d753++%0x4)?_0x353110+=String['fromCharCode'](0xff&_0x3c64c0>>(-0x2*_0x51d753&0x6)):0x0){_0x4f71b3=_0x2f76ce['indexOf'](_0x4f71b3);}for(let _0x3a9f38=0x0,_0x25d369=_0x353110['length'];_0x3a9f38<_0x25d369;_0x3a9f38++){_0x5aef9b+='%'+('00'+_0x353110['charCodeAt'](_0x3a9f38)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5aef9b);};a0_0x272b['XrYsuB']=_0x3d581c,a0_0x272b['WDOVIU']={},a0_0x272b['YrvJly']=!![];}const _0x4d92f1=_0x4a401[0x0],_0x326565=_0x19d141+_0x4d92f1,_0xa69cbd=a0_0x272b['WDOVIU'][_0x326565];return!_0xa69cbd?(_0x272b6e=a0_0x272b['XrYsuB'](_0x272b6e),a0_0x272b['WDOVIU'][_0x326565]=_0x272b6e):_0x272b6e=_0xa69cbd,_0x272b6e;}class ToolsRegistry{constructor(_0x201a42=null){const _0x356175=a0_0x288ace;this['logger']=_0x201a42,this[_0x356175(0xa0)]=new Map(),this['toolDescriptions']=new Map(),this['toolCapabilities']=new Map(),this['asyncOperations']=new Map();}async[a0_0x288ace(0x73)](_0x2e3277){const _0x317399=a0_0x288ace;try{const _0x47b180=new _0x2e3277();if(!(_0x47b180 instanceof BaseTool))throw new Error(_0x317399(0x98)+_0x2e3277['name']+'\x20must\x20extend\x20BaseTool');const _0x32e14a=_0x47b180[_0x317399(0x6c)]();await this['validateTool'](_0x47b180),this[_0x317399(0xa0)][_0x317399(0x9b)](_0x47b180['id'],_0x47b180),this['toolDescriptions'][_0x317399(0x9b)](_0x47b180['id'],_0x47b180[_0x317399(0x6f)]()),this['toolCapabilities']['set'](_0x47b180['id'],_0x32e14a),this['logger']?.[_0x317399(0xc6)]('Tool\x20registered:\x20'+_0x47b180['id'],{'capabilities':_0x32e14a[_0x317399(0xaf)],'async':_0x32e14a['async'],'requiresProject':_0x32e14a[_0x317399(0x9a)]});}catch(_0xc003cb){this['logger']?.[_0x317399(0x84)]('Tool\x20registration\x20failed:\x20'+_0xc003cb['message'],{'toolClass':_0x2e3277['name']});throw _0xc003cb;}}async[a0_0x288ace(0xd4)](_0x569774){return 0x0;}async[a0_0x288ace(0x6b)](_0x301fe5){const _0x4e5f4c=a0_0x288ace,requiredMethods=[_0x4e5f4c(0x6f),_0x4e5f4c(0x7d),'execute'];for(const _0x5a24c4 of requiredMethods){if(typeof _0x301fe5[_0x5a24c4]!=='function')throw new Error('Tool\x20'+_0x301fe5['id']+_0x4e5f4c(0xad)+_0x5a24c4);}try{const _0x32f932=_0x301fe5[_0x4e5f4c(0x7d)](_0x4e5f4c(0x6d));if(typeof _0x32f932!=='object')throw new Error('Tool\x20'+_0x301fe5['id']+'\x20parseParameters\x20must\x20return\x20an\x20object');}catch(_0x42a67b){}const _0x48a0fe=_0x301fe5['getCapabilities']();if(!_0x48a0fe||typeof _0x48a0fe!=='object')throw new Error('Tool\x20'+_0x301fe5['id']+'\x20getCapabilities\x20must\x20return\x20an\x20object');}['getTool'](_0x4f67a6){const _0xf4a4cb=a0_0x288ace;return this[_0xf4a4cb(0xa0)]['get'](_0x4f67a6)||null;}['getToolCapabilities'](){const _0x2d90d4=a0_0x288ace,_0x210dcd={};for(const [_0x5b2e83,_0x1d272d]of this['tools']['entries']()){_0x1d272d[_0x2d90d4(0x7a)]&&(_0x210dcd[_0x5b2e83]={'description':this[_0x2d90d4(0x77)]['get'](_0x5b2e83),'capabilities':this[_0x2d90d4(0x83)][_0x2d90d4(0x8d)](_0x5b2e83),'usageStats':_0x1d272d[_0x2d90d4(0xbb)]()});}return _0x210dcd;}async[a0_0x288ace(0x71)](_0x3c8b20,_0x2fd08a,_0x568412){const _0x5eb283=a0_0x288ace,_0x2eb57b=this[_0x5eb283(0xb8)](_0x3c8b20);if(!_0x2eb57b)throw new Error(_0x5eb283(0x75)+_0x3c8b20);if(!_0x2eb57b[_0x5eb283(0x7a)])throw new Error('Tool\x20is\x20disabled:\x20'+_0x3c8b20);return await _0x2eb57b['executeWithLifecycle'](_0x2fd08a,_0x568412);}[a0_0x288ace(0x87)](){const _0x5de986=a0_0x288ace;return Array[_0x5de986(0x8a)](this[_0x5de986(0xa0)][_0x5de986(0xca)]());}[a0_0x288ace(0xcb)](_0x240a29=[],_0x1e5e00={}){const _0x3a9e60=a0_0x288ace,{includeExamples:includeExamples=!![],includeUsageGuidelines:includeUsageGuidelines=!![],includeSecurityNotes:includeSecurityNotes=!![],compact:compact=![]}=_0x1e5e00,_0x2220f9=_0x240a29[_0x3a9e60(0xc5)]>0x0?_0x240a29['filter'](_0x62ed12=>this['tools'][_0x3a9e60(0xd2)](_0x62ed12)):Array[_0x3a9e60(0x8a)](this[_0x3a9e60(0xa0)]['keys']());if(_0x2220f9[_0x3a9e60(0xc5)]===0x0)return'';let _0x505958='\x0a##\x20AVAILABLE\x20TOOLS\x0a\x0a';_0x505958+='You\x20have\x20access\x20to\x20the\x20following\x20tools\x20to\x20perform\x20operations\x20and\x20tasks:\x0a\x0a';for(const _0x18dbc8 of _0x2220f9){const _0xb673ba=this[_0x3a9e60(0xa0)]['get'](_0x18dbc8);if(!_0xb673ba||!_0xb673ba['isEnabled'])continue;try{if(compact){const _0x923b93=_0xb673ba[_0x3a9e60(0x6c)](),_0x373178=_0x923b93[_0x3a9e60(0xaf)]||['execute'];_0x505958+='**'+_0x18dbc8+_0x3a9e60(0xd8)+_0x373178[_0x3a9e60(0xa9)](',\x20')+'\x0a';}else _0x505958+='###\x20'+_0x18dbc8['toUpperCase']()+'\x20TOOL\x0a\x0a',_0x505958+=_0xb673ba['getDescription'](),_0x505958+=_0x3a9e60(0xb4);}catch(_0x4f096d){this['logger']?.[_0x3a9e60(0xaa)](_0x3a9e60(0xda)+_0x18dbc8,{'error':_0x4f096d[_0x3a9e60(0xce)]});}}return compact&&(_0x505958+=_0x3a9e60(0xa2)),_0x505958+='##\x20TOOL\x20INVOCATION\x20SYNTAX\x0a\x0a',_0x505958+=_0x3a9e60(0xba),_0x505958+=_0x3a9e60(0xa1),_0x505958+=_0x3a9e60(0x91),_0x505958+='```json\x0a',_0x505958+='{\x0a',_0x505958+='\x20\x20\x22toolId\x22:\x20\x22toolname\x22,\x0a',_0x505958+='\x20\x20\x22parameters\x22:\x20{\x20...\x20}\x0a',_0x505958+='}\x0a',_0x505958+=_0x3a9e60(0x91),_0x505958+=_0x3a9e60(0xd7),_0x505958+=_0x3a9e60(0x9e),_0x505958+=_0x3a9e60(0x78),_0x505958+='-\x20Use\x20\x22toolId\x22\x20to\x20specify\x20the\x20tool\x20name\x0a',_0x505958+='-\x20Use\x20\x22parameters\x22\x20object\x20for\x20tool-specific\x20parameters\x0a',_0x505958+=_0x3a9e60(0x99),_0x505958+='After\x20invoking\x20a\x20tool,\x20WAIT\x20for\x20the\x20actual\x20response.\x20Do\x20NOT\x20generate\x20imaginary\x20responses.\x0a',_0x505958;}[a0_0x288ace(0xc0)](_0x28c0e3,_0x501e54=[],_0x414a6f={}){const _0x339638=a0_0x288ace,_0x4ad79e=this[_0x339638(0xcb)](_0x501e54,_0x414a6f);if(!_0x4ad79e[_0x339638(0x69)]())return _0x28c0e3||'';const _0x662f33=_0x28c0e3||'';if(_0x662f33['includes'](_0x339638(0x8b)))return _0x662f33[_0x339638(0x65)](/## AVAILABLE TOOLS[\s\S]*?(?=##|$)/,_0x4ad79e+'\x0a');const _0x187943='IMPORTANT:\x20when\x20asked\x20to\x20perform\x20an\x20action\x20or\x20operation,\x20use\x20each\x20response\x20to\x20invoke\x20a\x20tool\x20if\x20needed,\x20and\x20update\x20the\x20user\x20on\x20the\x20progress\x20(same\x20message).';return _0x662f33+(_0x662f33['endsWith']('\x0a')?'':'\x0a')+_0x4ad79e+_0x187943+'\x0a';}[a0_0x288ace(0x95)](){const _0x275d02=a0_0x288ace,_0x1c1cd6=[];for(const [_0x34382d,_0x1a599e]of this[_0x275d02(0xa0)]['entries']()){const _0x502cdc=_0x1a599e[_0x275d02(0x6c)](),_0x2b578b=_0x1a599e['getDescription'](),_0xefb0b8=_0x2b578b['split']('\x0a')[_0x275d02(0x8c)](_0x122f93=>_0x122f93['trim']()[_0x275d02(0xc5)]>0x0)||'',_0x472f74=_0xefb0b8['replace'](/^.*Tool:\s*/i,'')[_0x275d02(0x65)](/\s*-.*$/,'')[_0x275d02(0x69)]();_0x1c1cd6['push']({'id':_0x34382d,'name':_0x472f74||_0x34382d[_0x275d02(0xd1)](0x0)['toUpperCase']()+_0x34382d[_0x275d02(0xbe)](0x1),'description':_0xefb0b8,'category':this['_getToolCategory'](_0x34382d),'enabled':_0x502cdc['enabled'],'async':_0x502cdc['async'],'requiresProject':_0x502cdc[_0x275d02(0x9a)],'className':_0x1a599e[_0x275d02(0x88)][_0x275d02(0x7b)]});}return _0x1c1cd6['sort']((_0x1fa9da,_0x9a1911)=>_0x1fa9da[_0x275d02(0x7b)][_0x275d02(0x86)](_0x9a1911['name']));}['_getToolCategory'](_0xa73cde){const _0x14587a=a0_0x288ace,_0x2fa67e={'terminal':_0x14587a(0x74),'filesystem':_0x14587a(0x66),'web':'Automation','agentdelay':_0x14587a(0xac)};return _0x2fa67e[_0xa73cde]||_0x14587a(0xb0);}[a0_0x288ace(0x7c)](){const _0x4d95a1=a0_0x288ace,_0x481832=Array[_0x4d95a1(0x8a)](this['tools']['values']())[_0x4d95a1(0x9d)](_0x188ab3=>_0x188ab3['isEnabled']),_0x147a64=Array['from'](this['tools'][_0x4d95a1(0xb5)]())['reduce']((_0x4f944b,_0x1b455a)=>_0x4f944b+_0x1b455a['usageCount'],0x0);return{'totalTools':this['tools'][_0x4d95a1(0x90)],'enabledTools':_0x481832['length'],'totalOperations':_0x147a64,'activeOperations':this['asyncOperations']['size']};}}export{BaseTool,ToolsRegistry};function a0_0x4a40(){const _0x5eaf49=['AxnbC3LUyW','CgfZC3DVCMrZ','AM9PBG','D2fYBG','igLZigrPC2fIBgvK','vxrPBgL0Eq','ig1PC3nPBMCGCMvXDwLYzwqGBwv0Ag9KoIa','CMvZDwX0','C3vWCg9YDgvKqwn0Aw9UCW','t3rOzxi','mJK0mZG4ntz4zNLIv2S','mtbfswPYANm','C3vIC3rYAw5N','cGOTls0kcG','DMfSDwvZ','DMfSAwrHDgvqyxjHBwv0zxjuExbLCW','vg9VBcbLEgvJDxrPB24GzMfPBgvKoIa','z2v0vg9VBa','mJa1odDfsw1ns1m','kIPjtvbpuLrbtLqQkJOGvxnLiePtt04GzM9YBwf0igLUig1HCMTKB3DUignVzguGyMXVy2TZihrVigLUDM9Rzsb0B29SCZOkcG','z2v0vxnHz2vtDgf0CW','C2vJCMv0CW','ywn0AxzLt3bLCMf0Aw9UCW','C2XPy2u','ig11C3qGAw1WBgvTzw50ihbHCNnLugfYyw1LDgvYCYGP','zw5Oyw5Jzvn5C3rLBvbYB21WDa','vg9VBcbLEgvJDxrPB24Gy29TCgXLDgvKoIa','Bg9Nz2vY','zgLZywjSzq','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','BgvUz3rO','Aw5MBW','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','tufyx1rpt0XFrvHfq1vusu9ox1rjtuu','q09nueXfveve','A2v5CW','z2vUzxjHDgvuB29SrgvZy3jPChrPB25ZrM9YuhjVBxb0','yxbPs2v5CW','y2fSy3vSyxrLqxzLCMfNzuv4zwn1DgLVBLrPBwu','BwvZC2fNzq','mte1otyZnZzICeziDvq','zxHLy3v0zvDPDgHmAwzLy3LJBgu','y2HHCKf0','AgfZ','mtqYmJG3ne5HDwrVBq','zgLZy292zxjuB29SCW','Dg9ju09tDhjPBMC','CMfUzg9T','ygbGcGO','kIO6ia','z2v0u3vWCg9YDgvKqwn0Aw9UCW','rMfPBgvKihrVigDLDcbKzxnJCMLWDgLVBIbMB3iGDg9VBdOG','BM93','m1fMEeLYyq','C3rHCNruAw1L','CMvWBgfJzq','rMLSzsbpCgvYyxrPB25Z','mtG0ntq2C2z6CKXt','nxHJteLjqW','DhjPBq','y29UDgvUDa','DMfSAwrHDgvuB29S','z2v0q2fWywjPBgL0AwvZ','DgvZDcbJB250zw50','z2v0vgLTzq','z2v0rgvZy3jPChrPB24','ovvHr2vMCq','zxHLy3v0zvrVB2Xtzwn1CMvSEq','CM91BMq','CMvNAxn0zxjuB29S','u3LZDgvT','vg9VBcbUB3qGzM91BMq6ia','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','Dg9VBerLC2nYAxb0Aw9UCW','lsbbBhDHExmGD3jHCcbku09oihrVB2WGy29TBwfUzhmGAw4GygbGANnVBIaUlI4GygbGigjSB2nRCWO','CMvZzxrtDgf0CW','AxnfBMfIBgvK','BMfTzq','z2v0uMvNAxn0CNLtDgf0CW','CgfYC2vqyxjHBwv0zxjZ','C3rHDhvZ','mJCWnZq3ng1HsxnWsW','y29UzMLN','mJK3nZq2mhvnEeLOuW','ig11C3qGAw1WBgvTzw50igDLDerLC2nYAxb0Aw9UkcK','Dg9VBenHCgfIAwXPDgLLCW','zxjYB3i','igHHCYbYzwfJAgvKig1HEgLTDw0Gy29Uy3vYCMvUDcbVCgvYyxrPB25ZigXPBwL0','Bg9JywXLq29TCgfYzq','BgLZDfrVB2XZ','y29UC3rYDwn0B3i','zxHLy3v0Aw9UvgLTzq','zNjVBq','iYmGqvzbsuXbqKXfifrpt0Xt','zMLUza','z2v0','vg9VBcbKAxnHyMXLzdOG','mJG5mM9qt1zgAq','C2L6zq','ygbGcG','B3bLCMf0Aw9UsgLZDg9YEq','z2v0ugfYyw1LDgvYu2nOzw1H','C3vIC3rY','z2v0qxzHAwXHyMXLvg9VBhngB3jvsq','BgfZDfvZzwq','DgLTzw91Da','vg9VBca','lsbvC2uGiMfJDgLVBNmIigfYCMf5igzVCIb0B29SCYb0Agf0ihn1ChbVCNqGBxvSDgLWBguGB3bLCMf0Aw9UCWOk','CMvXDwLYzxnqCM9Qzwn0','C2v0','DMfSAwq','zMLSDgvY','kIPsDwXLCZOQkGO','zw5KvgLTzq','Dg9VBhm','iYmJifn0yw5KyxjKiezVCM1HDdOGsLnptIbPBIbnyxjRzg93BIbdB2rLiejSB2nRcG','cLvZzsbku09oigzVCM1HDcbPBIbTyxjRzg93BIbJB2rLigjSB2nRCYb0BYbPBNzVA2uGDg9VBhmUcGO','vg9VBcbLEgvJDxrPB24GC3rHCNrLzdOG','C2fUAxrPEMvdB250zxH0','lI4UifT0CNvUy2f0zwrD','DxnHz2vdB3vUDa'];a0_0x4a40=function(){return _0x5eaf49;};return a0_0x4a40();}
@@ -1 +1 @@
1
- function a0_0x3b42(){const _0x468869=['vhLWzwqG','A2v5yM9HCMq','z2v0','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','DMLLD3bVCNq','AgLKzgvU','qwn0Aw9Uia','yNjVD3nLCG','mte3oty0og9eEejisG','AxnbBgXVD2vKvxjS','z2v0rgvZy3jPChrPB24','u2nYzwvUC2HVDcbZyxzLzdOG','mJe4nJfMz09XvuK','z2v0t3bLCMf0Aw9UsgLZDg9YEq','zNvSBc1WywDL','y2XVC2vcCM93C2vY','zxzHBhvHDgu','oIbPBNzHBgLKihnJCM9SBcbKAxjLy3rPB246ia','CgfNzq','D2fPDa','Bgf1BMnO','C2nYB2XS','D2LKDgG','oIbZzwXLy3rVCIbPCYbYzxf1AxjLzcbMB3iGDhLWzq','BMv3ugfNzq','mtCXuKTKzwv5','y2XLyw51CejYB3DZzxi','DMLZAwjSzq','Aw50zwDLCG','mtiYmtzIDK5IB0C','DgLTzw91Da','yxr0CMLIDxrL','z290BW','z2v0u3vWCg9YDgvKqwn0Aw9UCW','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','C3rHCNrZv2L0Aa','AxnbCNjHEq','nZu2nZyZyK1cA05p','Bwf4u2nYzwvUC2HVDfnPEMu','C2nYzwvUC2HVDa','xhmRkfTEpL0QpYLCCYPClZ8+','AxndB25Uzwn0zwq','C3rYAw5N','ls1KAxnHyMXLlxnLDhvPzc1Zyw5KyM94','yMXVy2TLzerVBwfPBNm','C2L6zq','BxmGCgvYig9WzxjHDgLVBGOGicaG','Ag9ZDg5HBwu','nujMENzwzW','mJe4nZbVCwPrrhK','BgvMDa','oIbKAxjLy3rPB24GAxmGCMvXDwLYzwqGzM9YihnJCM9SBa','C29Tzq','DxnLCKfNzw50','z2v0ugfNzq','BwvZC2fNzq','B3v0Chv0lxbHDgG','zxH0CMfJDa','D2fPDezVCLnLBgvJDg9Y','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','ihrVigjLia','Bg9Nz2vY','yNjVD3nLCKLUC3rHBMnLCW','ywDLBNrjza','AxnbC3LUyW','CgfYC2u','zMLSDgvY','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','oIb0ExbLigLZihjLCxvPCMvK','zxjYB3i','mtu3nJuYrhjjvfjd','y2XLyw51Ca','C2nYB2XStgvMDa','ywXSB3DLzerVBwfPBNm','nhLwCvP4Dq','Dgv4Da','DhLWzq','BMf2AwDHDgu','ndm0otbREhznu24','ywn0Aw9UCW','v2fPDgvKia','yNjVD3nLCKnVBMzPzW','qNjVD3nLCIbPBNn0yw5JzsbUB3qGzM91BMqGkgfSCMvHzhKGy2XVC2vKkq','ChvZAa','C2vSzwn0qwXS','D2fPDc10Aw1L','BM93','nJb0u0DHvNu','C2vSzwn0B3i','oIbvuKWGBM90igfSBg93zwq6ia','B3v0Chv0ugf0Aa','BgvUz3rO','oIb0zxH0igLZihjLCxvPCMvKigzVCIb0ExbL','rMfPBgvKihrVignSB3nLigjYB3DZzxi6ia','u2nYB2XSzwqG','D2fPDc10ExbL','u2nYB2XSigzHAwXLzdOG','zgLYzwn0Aw9U','CgfNzvrPBwvVDxq','D2fPDc1ZzwXLy3rVCG','C2v0','D2fPDfr5Cgu','y2XVC2u','C2nYB2XSqNK','DxjS','B3bLCMf0Aw9UsgLZDg9YEq','Dhj1zq','C3vJy2vZCW','z2v0qNjVD3nLCG','cLrjtuvpvvq6ia','D2fPDfnLBgvJDg9Y','zxHLyW','zg93BG','z2v0qxr0CMLIDxrL','CMvZB2X2zq','zgvSzxrL','Dg9ju09tDhjPBMC','D2fPDfrPBwu','Aw5JBhvKzxm','zNvSBfbHz2u'];a0_0x3b42=function(){return _0x468869;};return a0_0x3b42();}const a0_0x40e0a5=a0_0x3e03;(function(_0x5d13ec,_0x4adeb4){const _0x51d13d=a0_0x3e03,_0x2012aa=_0x5d13ec();while(!![]){try{const _0x40a0cb=parseInt(_0x51d13d(0xe5))/0x1*(-parseInt(_0x51d13d(0xe6))/0x2)+-parseInt(_0x51d13d(0xc1))/0x3*(parseInt(_0x51d13d(0xff))/0x4)+-parseInt(_0x51d13d(0x10c))/0x5*(-parseInt(_0x51d13d(0xd2))/0x6)+parseInt(_0x51d13d(0xda))/0x7+parseInt(_0x51d13d(0xbd))/0x8+-parseInt(_0x51d13d(0xce))/0x9*(parseInt(_0x51d13d(0x103))/0xa)+-parseInt(_0x51d13d(0xfb))/0xb;if(_0x40a0cb===_0x4adeb4)break;else _0x2012aa['push'](_0x2012aa['shift']());}catch(_0x1470a3){_0x2012aa['push'](_0x2012aa['shift']());}}}(a0_0x3b42,0x1d8f0));function a0_0x3e03(_0x2659c6,_0x8b0801){_0x2659c6=_0x2659c6-0x96;const _0x3b42a0=a0_0x3b42();let _0x3e0388=_0x3b42a0[_0x2659c6];if(a0_0x3e03['HaDeSk']===undefined){var _0x178471=function(_0x293725){const _0x2a2272='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3face8='',_0x40ebd6='';for(let _0x4067e4=0x0,_0x4b8b68,_0x29e48c,_0x1578e8=0x0;_0x29e48c=_0x293725['charAt'](_0x1578e8++);~_0x29e48c&&(_0x4b8b68=_0x4067e4%0x4?_0x4b8b68*0x40+_0x29e48c:_0x29e48c,_0x4067e4++%0x4)?_0x3face8+=String['fromCharCode'](0xff&_0x4b8b68>>(-0x2*_0x4067e4&0x6)):0x0){_0x29e48c=_0x2a2272['indexOf'](_0x29e48c);}for(let _0x1fe0cb=0x0,_0x446e6b=_0x3face8['length'];_0x1fe0cb<_0x446e6b;_0x1fe0cb++){_0x40ebd6+='%'+('00'+_0x3face8['charCodeAt'](_0x1fe0cb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40ebd6);};a0_0x3e03['YSZMek']=_0x178471,a0_0x3e03['dLUPrL']={},a0_0x3e03['HaDeSk']=!![];}const _0x26982c=_0x3b42a0[0x0],_0x433e5f=_0x2659c6+_0x26982c,_0x373b5a=a0_0x3e03['dLUPrL'][_0x433e5f];return!_0x373b5a?(_0x3e0388=a0_0x3e03['YSZMek'](_0x3e0388),a0_0x3e03['dLUPrL'][_0x433e5f]=_0x3e0388):_0x3e0388=_0x373b5a,_0x3e0388;}import{BaseTool}from'./baseTool.js';import a0_0x3face8 from'../utilities/tagParser.js';import a0_0x40ebd6 from'puppeteer';import a0_0x4067e4 from'fs/promises';import a0_0x4b8b68 from'path';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class BrowserTool extends BaseTool{constructor(_0x29e48c={},_0x1578e8=null){const _0x5b1cc6=a0_0x3e03;super(_0x29e48c,_0x1578e8),this['requiresProject']=![],this[_0x5b1cc6(0xf5)]=!![],this['timeout']=_0x29e48c['timeout']||0xea60,this['maxConcurrentOperations']=_0x29e48c['maxConcurrentOperations']||0x2,this['browserConfig']={'headless':_0x29e48c['headless']!==![],'viewport':_0x29e48c[_0x5b1cc6(0xb9)]||{'width':0x500,'height':0x2d0},'userAgent':_0x29e48c[_0x5b1cc6(0xea)]||'Mozilla/5.0\x20(Windows\x20NT\x2010.0;\x20Win64;\x20x64)\x20AppleWebKit/537.36','timeout':_0x29e48c[_0x5b1cc6(0x9f)]||0x7530},this[_0x5b1cc6(0xf3)]=new Map(),this[_0x5b1cc6(0xfe)]=_0x29e48c['allowedDomains']||null,this[_0x5b1cc6(0xe1)]=_0x29e48c[_0x5b1cc6(0xe1)]||[],this['maxScreenshotSize']=_0x29e48c[_0x5b1cc6(0xdb)]||0x5*0x400*0x400,this[_0x5b1cc6(0xa6)]=[];}[a0_0x40e0a5(0xbf)](){const _0xa02fdb=a0_0x40e0a5;return'\x0aBrowser\x20Tool:\x20Automate\x20web\x20browser\x20interactions,\x20navigation,\x20and\x20data\x20extraction.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22browser\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22navigate\x22,\x20\x22url\x22:\x20\x22https://example.com\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22wait\x22,\x20\x22waitTime\x22:\x202000},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22click\x22,\x20\x22selector\x22:\x20\x22button.submit\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22screenshot\x22,\x20\x22outputPath\x22:\x20\x22screenshot.png\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20navigate:\x20Navigate\x20to\x20URL\x20(url)\x0a-\x20click:\x20Click\x20element\x20(selector)\x0a-\x20type:\x20Type\x20text\x20(selector,\x20text)\x0a-\x20wait:\x20Wait\x20for\x20element/time\x20(waitTime\x20or\x20waitSelector)\x0a-\x20screenshot:\x20Take\x20screenshot\x20(outputPath,\x20fullPage)\x0a-\x20extract:\x20Extract\x20data\x20(selector,\x20attribute)\x0a-\x20scroll:\x20Scroll\x20page\x20(direction,\x20pixels)\x0a-\x20close:\x20Close\x20browser\x0a\x0aPARAMETERS:\x0a-\x20url:\x20Target\x20URL\x20for\x20navigation\x0a-\x20selector:\x20CSS\x20selector\x20(e.g.,\x20\x22#id\x22,\x20\x22.class\x22,\x20\x22button[type=\x27submit\x27]\x22)\x0a-\x20text:\x20Text\x20to\x20type\x0a-\x20outputPath:\x20Screenshot\x20file\x20path\x0a-\x20waitTime:\x20Wait\x20in\x20milliseconds\x20(100-30000)\x0a-\x20waitSelector:\x20Element\x20selector\x20to\x20wait\x20for\x0a-\x20attribute:\x20HTML\x20attribute\x20to\x20extract\x20(default:\x20\x22text\x22)\x0a-\x20direction:\x20\x22up\x22,\x20\x22down\x22,\x20\x22left\x22,\x20\x22right\x22\x0a-\x20pixels:\x20Scroll\x20distance\x20(default:\x20300)\x0a-\x20fullPage:\x20Full\x20page\x20screenshot\x20(true/false)\x0a\x0aEXAMPLES:\x0a\x0aScreenshot\x20a\x20page:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22browser\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22navigate\x22,\x20\x22url\x22:\x20\x22https://github.com/trending\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22wait\x22,\x20\x22waitTime\x22:\x202000},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22screenshot\x22,\x20\x22outputPath\x22:\x20\x22trending.png\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22close\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aForm\x20automation:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22browser\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22navigate\x22,\x20\x22url\x22:\x20\x22https://example.com/login\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22wait\x22,\x20\x22waitSelector\x22:\x20\x22input#username\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22type\x22,\x20\x22selector\x22:\x20\x22input#username\x22,\x20\x22text\x22:\x20\x22myuser\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22type\x22,\x20\x22selector\x22:\x20\x22input#password\x22,\x20\x22text\x22:\x20\x22mypass\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22click\x22,\x20\x22selector\x22:\x20\x22button[type=\x27submit\x27]\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22close\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSECURITY:\x0a-\x20Restricted\x20to\x20allowed\x20domains\x0a-\x20Screenshot\x20size\x20limits\x20(max\x205MB)\x0a-\x20Auto-cleanup\x20after\x2010\x20minutes\x0a\x0aVIEWPORT:\x20'+this[_0xa02fdb(0x106)]['viewport'][_0xa02fdb(0xcb)]+'x'+this['browserConfig']['viewport']['height']+_0xa02fdb(0xaa)+this[_0xa02fdb(0x106)]['timeout']+_0xa02fdb(0xe3);}['parseParameters'](_0x1fe0cb){const _0x2ecd72=a0_0x40e0a5;try{if(_0x1fe0cb['trim']()[_0x2ecd72(0xd8)]('{')){const _0x20eeb5=JSON[_0x2ecd72(0xf6)](_0x1fe0cb);return!_0x20eeb5[_0x2ecd72(0x104)]&&(_0x20eeb5[_0x2ecd72(0x104)]=[]),!Array['isArray'](_0x20eeb5[_0x2ecd72(0x104)])&&(_0x20eeb5[_0x2ecd72(0x104)]=[_0x20eeb5['actions']]),_0x20eeb5;}const _0x446e6b={},_0x46b2ed=[],_0x490346=['navigate','click',_0x2ecd72(0x101),'wait','screenshot','extract','scroll',_0x2ecd72(0xa3)];for(const _0x383902 of _0x490346){const _0x1df344=new RegExp('<'+_0x383902+_0x2ecd72(0xdd),'gi');let _0x3d6d79;while((_0x3d6d79=_0x1df344[_0x2ecd72(0xac)](_0x1fe0cb))!==null){const _0x4845af=_0x3d6d79[0x1],_0x2119ef=this['parseAttributes'](_0x4845af),_0x3db01f={'type':_0x383902,..._0x2119ef};_0x3db01f[_0x2ecd72(0xed)]&&(_0x3db01f['outputPath']=_0x3db01f[_0x2ecd72(0xed)],delete _0x3db01f[_0x2ecd72(0xed)]),_0x3db01f[_0x2ecd72(0x10a)]&&(_0x3db01f['waitTime']=parseInt(_0x3db01f[_0x2ecd72(0x10a)],0xa),delete _0x3db01f['wait-time']),_0x3db01f['wait-selector']&&(_0x3db01f[_0x2ecd72(0xab)]=_0x3db01f[_0x2ecd72(0xa0)],delete _0x3db01f[_0x2ecd72(0xa0)]),_0x3db01f['wait-type']&&(_0x3db01f[_0x2ecd72(0xa2)]=_0x3db01f[_0x2ecd72(0x9c)],delete _0x3db01f[_0x2ecd72(0x9c)]),_0x3db01f[_0x2ecd72(0xc3)]&&(_0x3db01f['fullPage']=_0x3db01f['full-page']===_0x2ecd72(0xa7),delete _0x3db01f['full-page']),_0x46b2ed['push'](_0x3db01f);}}return _0x446e6b['actions']=Array[_0x2ecd72(0xd9)](_0x46b2ed)?_0x46b2ed:[],_0x446e6b['rawContent']=_0x1fe0cb['trim'](),_0x446e6b;}catch(_0x18a376){return this[_0x2ecd72(0xf2)]?.[_0x2ecd72(0xfa)]('Failed\x20to\x20parse\x20browser\x20parameters',{'error':_0x18a376['message']}),{'actions':[],'rawContent':_0x1fe0cb['trim'](),'parseError':_0x18a376[_0x2ecd72(0xec)]};}}['parseAttributes'](_0x4dd442){const _0x19015=a0_0x40e0a5,_0x31179e={};if(!_0x4dd442)return _0x31179e;const _0x3c0bbb=/([\w-]+)\s*=\s*["']([^"']*)["']/g;let _0x25064a;while((_0x25064a=_0x3c0bbb[_0x19015(0xac)](_0x4dd442))!==null){const _0x2fc3cb=_0x25064a[0x1],_0x282518=_0x25064a[0x2];_0x31179e[_0x2fc3cb]=_0x282518;}return _0x31179e;}[a0_0x40e0a5(0xf8)](){return['actions'];}[a0_0x40e0a5(0xd7)](_0x46427a){const _0x45452d=a0_0x40e0a5,_0x277bbe=[];if(!_0x46427a['actions']||!Array['isArray'](_0x46427a[_0x45452d(0x104)])||_0x46427a[_0x45452d(0x104)][_0x45452d(0x98)]===0x0)_0x277bbe['push'](_0x45452d(0xf0));else for(const [_0x56570d,_0x32ef03]of _0x46427a[_0x45452d(0x104)]['entries']()){if(!_0x32ef03[_0x45452d(0x101)]){_0x277bbe[_0x45452d(0x108)]('Action\x20'+(_0x56570d+0x1)+_0x45452d(0xf9));continue;}switch(_0x32ef03['type']){case'navigate':if(!_0x32ef03['url'])_0x277bbe['push'](_0x45452d(0xbb)+(_0x56570d+0x1)+':\x20url\x20is\x20required\x20for\x20navigate');else!this[_0x45452d(0xbe)](_0x32ef03[_0x45452d(0xa5)])&&_0x277bbe[_0x45452d(0x108)]('Action\x20'+(_0x56570d+0x1)+_0x45452d(0x96)+_0x32ef03['url']);break;case'click':case _0x45452d(0xee):!_0x32ef03['selector']&&_0x277bbe['push'](_0x45452d(0xbb)+(_0x56570d+0x1)+':\x20selector\x20is\x20required\x20for\x20'+_0x32ef03[_0x45452d(0x101)]);break;case'type':!_0x32ef03[_0x45452d(0x10d)]&&_0x277bbe['push'](_0x45452d(0xbb)+(_0x56570d+0x1)+_0x45452d(0xcc));!_0x32ef03['text']&&_0x32ef03['text']!==''&&_0x277bbe[_0x45452d(0x108)]('Action\x20'+(_0x56570d+0x1)+_0x45452d(0x99));break;case'wait':!_0x32ef03['waitTime']&&!_0x32ef03['waitSelector']&&_0x277bbe['push'](_0x45452d(0xbb)+(_0x56570d+0x1)+':\x20either\x20wait-time\x20or\x20wait-selector\x20is\x20required');_0x32ef03['waitTime']&&(_0x32ef03['waitTime']<0x64||_0x32ef03[_0x45452d(0xb2)]>0x7530)&&_0x277bbe['push']('Action\x20'+(_0x56570d+0x1)+':\x20wait-time\x20must\x20be\x20between\x20100\x20and\x2030000\x20milliseconds');break;case _0x45452d(0xdc):!_0x32ef03[_0x45452d(0x97)]&&_0x277bbe[_0x45452d(0x108)](_0x45452d(0xbb)+(_0x56570d+0x1)+':\x20output-path\x20is\x20required\x20for\x20screenshot');break;case _0x45452d(0xca):if(!_0x32ef03[_0x45452d(0x9e)])_0x277bbe['push']('Action\x20'+(_0x56570d+0x1)+_0x45452d(0xe8));else!['up','down','left','right'][_0x45452d(0xb3)](_0x32ef03['direction'])&&_0x277bbe['push']('Action\x20'+(_0x56570d+0x1)+_0x45452d(0xc6)+_0x32ef03[_0x45452d(0x9e)]);break;case _0x45452d(0xa3):break;default:_0x277bbe['push']('Action\x20'+(_0x56570d+0x1)+_0x45452d(0xb8)+_0x32ef03['type']);}}return{'valid':_0x277bbe[_0x45452d(0x98)]===0x0,'errors':_0x277bbe};}async['execute'](_0x409c3a,_0x10b221){const _0x11ce75=a0_0x40e0a5,{actions:_0x216411}=_0x409c3a,{agentId:_0x5a8030,projectDir:_0x3be648}=_0x10b221,_0x5aea86=_0x5a8030+'-'+(_0x3be648||'default'),_0x38d54b=[];for(const _0x3ca8dd of _0x216411){try{let _0x18e72b;switch(_0x3ca8dd['type']){case'navigate':_0x18e72b=await this[_0x11ce75(0x102)](_0x3ca8dd[_0x11ce75(0xa5)],_0x5aea86);break;case'click':_0x18e72b=await this['click'](_0x3ca8dd[_0x11ce75(0x10d)],_0x5aea86);break;case _0x11ce75(0x101):_0x18e72b=await this['type'](_0x3ca8dd['selector'],_0x3ca8dd['text'],_0x5aea86);break;case'wait':_0x18e72b=await this[_0x11ce75(0xc8)](_0x3ca8dd,_0x5aea86);break;case _0x11ce75(0xdc):_0x18e72b=await this[_0x11ce75(0xdc)](_0x3ca8dd[_0x11ce75(0x97)],_0x3be648,_0x5aea86,_0x3ca8dd);break;case'extract':_0x18e72b=await this[_0x11ce75(0xee)](_0x3ca8dd['selector'],_0x3ca8dd[_0x11ce75(0xd4)]||_0x11ce75(0x100),_0x5aea86);break;case _0x11ce75(0xca):_0x18e72b=await this['scroll'](_0x3ca8dd,_0x5aea86);break;case _0x11ce75(0xa3):_0x18e72b=await this[_0x11ce75(0xc4)](_0x5aea86);break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x3ca8dd['type']);}_0x38d54b[_0x11ce75(0x108)](_0x18e72b),this['addToHistory'](_0x3ca8dd,_0x18e72b,_0x5a8030);}catch(_0x3429f5){const _0x38e114={'success':![],'action':_0x3ca8dd[_0x11ce75(0x101)],'error':_0x3429f5[_0x11ce75(0xec)],'selector':_0x3ca8dd['selector']||_0x3ca8dd['url']};_0x38d54b['push'](_0x38e114),this['addToHistory'](_0x3ca8dd,_0x38e114,_0x5a8030);}}return{'success':!![],'actions':_0x38d54b,'executedActions':_0x216411[_0x11ce75(0x98)],'toolUsed':'browser'};}async[a0_0x40e0a5(0x102)](_0x51824d,_0xdf4322){const _0x2ab473=a0_0x40e0a5,_0x3cabf2=await this[_0x2ab473(0xa9)](_0xdf4322),_0x498a78=await this[_0x2ab473(0xeb)](_0xdf4322),_0x2cddd7=Date['now']();try{await _0x498a78[_0x2ab473(0xd5)](_0x51824d,{'waitUntil':'networkidle0','timeout':this['browserConfig'][_0x2ab473(0xd3)]});const _0x2b8617=await _0x498a78['title'](),_0x1dee6a=_0x498a78['url']();return{'success':!![],'action':_0x2ab473(0x102),'url':_0x1dee6a,'originalUrl':_0x51824d,'title':_0x2b8617,'loadTime':Date[_0x2ab473(0x10b)]()-_0x2cddd7,'message':'Navigated\x20to\x20'+_0x51824d};}catch(_0x517df1){throw new Error('Navigation\x20failed:\x20'+_0x517df1[_0x2ab473(0xec)]);}}async['click'](_0x1a4915,_0x5cf8f8){const _0xe1f444=a0_0x40e0a5,_0x2adbe9=await this['getPage'](_0x5cf8f8);try{return await _0x2adbe9['waitForSelector'](_0x1a4915,{'timeout':0x1388}),await _0x2adbe9['click'](_0x1a4915),{'success':!![],'action':'click','selector':_0x1a4915,'message':'Clicked\x20on\x20'+_0x1a4915};}catch(_0x104989){throw new Error('Click\x20failed\x20on\x20'+_0x1a4915+':\x20'+_0x104989[_0xe1f444(0xec)]);}}async[a0_0x40e0a5(0x101)](_0x207c03,_0x341edc,_0x5c73f5){const _0x30690c=a0_0x40e0a5,_0x10ddde=await this['getPage'](_0x5c73f5);try{return await _0x10ddde['waitForSelector'](_0x207c03,{'timeout':0x1388}),await _0x10ddde['focus'](_0x207c03),await _0x10ddde[_0x30690c(0xb6)][_0x30690c(0x109)](),await _0x10ddde['type'](_0x207c03,_0x341edc),{'success':!![],'action':_0x30690c(0x101),'selector':_0x207c03,'text':_0x341edc,'textLength':_0x341edc[_0x30690c(0x98)],'message':_0x30690c(0xb5)+_0x341edc[_0x30690c(0x98)]+'\x20characters\x20into\x20'+_0x207c03};}catch(_0x2b3d12){throw new Error('Type\x20failed\x20on\x20'+_0x207c03+':\x20'+_0x2b3d12[_0x30690c(0xec)]);}}async[a0_0x40e0a5(0xc8)](_0x6e2232,_0x2f52a7){const _0x2513a2=a0_0x40e0a5,_0x3fbda9=await this['getPage'](_0x2f52a7);try{if(_0x6e2232[_0x2513a2(0xb2)])return await new Promise(_0x1a61ab=>setTimeout(_0x1a61ab,_0x6e2232[_0x2513a2(0xb2)])),{'success':!![],'action':'wait','waitTime':_0x6e2232[_0x2513a2(0xb2)],'message':_0x2513a2(0x105)+_0x6e2232['waitTime']+'ms'};if(_0x6e2232['waitSelector']){const _0x875b49=_0x6e2232[_0x2513a2(0xa2)]||_0x2513a2(0xd0),_0x2bebeb={'timeout':0x2710};return _0x875b49===_0x2513a2(0xba)?await _0x3fbda9[_0x2513a2(0xef)](_0x6e2232[_0x2513a2(0xab)],{..._0x2bebeb,'hidden':!![]}):await _0x3fbda9[_0x2513a2(0xef)](_0x6e2232['waitSelector'],_0x2bebeb),{'success':!![],'action':_0x2513a2(0xc8),'waitSelector':_0x6e2232['waitSelector'],'waitType':_0x875b49,'message':'Waited\x20for\x20'+_0x6e2232[_0x2513a2(0xab)]+_0x2513a2(0xf1)+_0x875b49};}}catch(_0x13361d){throw new Error('Wait\x20failed:\x20'+_0x13361d['message']);}}async[a0_0x40e0a5(0xdc)](_0x2a8066,_0x5c084f,_0x34d62a,_0x7a2fda={}){const _0x2f88d7=a0_0x40e0a5,_0x7c99ac=await this[_0x2f88d7(0xeb)](_0x34d62a);try{const _0x43022f=_0x5c084f?a0_0x4b8b68[_0x2f88d7(0xaf)](_0x5c084f,_0x2a8066):a0_0x4b8b68['resolve'](_0x2a8066),_0x42dc4b=a0_0x4b8b68['dirname'](_0x43022f);await a0_0x4067e4['mkdir'](_0x42dc4b,{'recursive':!![]});const _0x37ba8e={'path':_0x43022f,'type':'png'};_0x7a2fda[_0x2f88d7(0xb4)]&&(_0x37ba8e[_0x2f88d7(0xb4)]=!![]);await _0x7c99ac['screenshot'](_0x37ba8e);const _0x5983f4=await a0_0x4067e4['stat'](_0x43022f);if(_0x5983f4[_0x2f88d7(0xe2)]>this['maxScreenshotSize'])throw new Error('Screenshot\x20too\x20large:\x20'+_0x5983f4[_0x2f88d7(0xe2)]+'\x20bytes\x20(max\x20'+this['maxScreenshotSize']+')');return{'success':!![],'action':_0x2f88d7(0xdc),'outputPath':a0_0x4b8b68['relative'](_0x5c084f||process['cwd'](),_0x43022f),'size':_0x5983f4[_0x2f88d7(0xe2)],'fullPage':!!_0x7a2fda[_0x2f88d7(0xb4)],'message':_0x2f88d7(0xc0)+_0x2a8066};}catch(_0x1775f7){throw new Error('Screenshot\x20failed:\x20'+_0x1775f7['message']);}}async['extract'](_0x2b1977,_0x315211,_0x1a5284){const _0x4b1a40=a0_0x40e0a5,_0x1ae9bf=await this[_0x4b1a40(0xeb)](_0x1a5284);try{await _0x1ae9bf['waitForSelector'](_0x2b1977,{'timeout':0x1388});let _0x414ed4;return _0x315211===_0x4b1a40(0x100)?_0x414ed4=await _0x1ae9bf['$eval'](_0x2b1977,_0x56b891=>_0x56b891['textContent']['trim']()):_0x414ed4=await _0x1ae9bf['$eval'](_0x2b1977,(_0x4817e1,_0x541d33)=>_0x4817e1[_0x4b1a40(0xae)](_0x541d33),_0x315211),{'success':!![],'action':_0x4b1a40(0xee),'selector':_0x2b1977,'attribute':_0x315211,'data':_0x414ed4,'message':'Extracted\x20'+_0x315211+'\x20from\x20'+_0x2b1977};}catch(_0x2e08a9){throw new Error('Extract\x20failed\x20on\x20'+_0x2b1977+':\x20'+_0x2e08a9['message']);}}async['scroll'](_0xfe9552,_0x3671d6){const _0x2d8af5=a0_0x40e0a5,_0x1900d1=await this['getPage'](_0x3671d6);try{const {direction:_0x824a35,pixels:pixels=0x12c,selector:_0x41d415}=_0xfe9552;return _0x41d415?await _0x1900d1[_0x2d8af5(0xc5)]((_0x3de5dd,_0x1363a5,_0x42ae22)=>{const _0x195b73=_0x2d8af5,_0x3a5039=document['querySelector'](_0x3de5dd);if(_0x3a5039){if(_0x1363a5===_0x195b73(0xad))_0x3a5039['scrollTop']+=_0x42ae22;else{if(_0x1363a5==='up')_0x3a5039['scrollTop']-=_0x42ae22;else{if(_0x1363a5==='right')_0x3a5039[_0x195b73(0xfd)]+=_0x42ae22;else{if(_0x1363a5===_0x195b73(0xe7))_0x3a5039[_0x195b73(0xfd)]-=_0x42ae22;}}}}},_0x41d415,_0x824a35,pixels):await _0x1900d1['evaluate']((_0x318f92,_0x46b0fa)=>{const _0x24aca9=_0x2d8af5;if(_0x318f92===_0x24aca9(0xad))window['scrollBy'](0x0,_0x46b0fa);else{if(_0x318f92==='up')window[_0x24aca9(0xa4)](0x0,-_0x46b0fa);else{if(_0x318f92==='right')window['scrollBy'](_0x46b0fa,0x0);else{if(_0x318f92===_0x24aca9(0xe7))window['scrollBy'](-_0x46b0fa,0x0);}}}},_0x824a35,pixels),{'success':!![],'action':'scroll','direction':_0x824a35,'pixels':pixels,'selector':_0x41d415||_0x2d8af5(0xc7),'message':_0x2d8af5(0x9b)+_0x824a35+'\x20by\x20'+pixels+'px'};}catch(_0x5eefdd){throw new Error(_0x2d8af5(0x9d)+_0x5eefdd['message']);}}async['getBrowser'](_0x33bc17){const _0x559531=a0_0x40e0a5;if(this[_0x559531(0xf3)]['has'](_0x33bc17)){const _0x22f02d=this[_0x559531(0xf3)]['get'](_0x33bc17);if(!_0x22f02d['browser'][_0x559531(0xde)]())this[_0x559531(0xf3)]['delete'](_0x33bc17);else return _0x22f02d['browser'];}const _0x4492=await a0_0x40ebd6[_0x559531(0xc9)]({'headless':this['browserConfig']['headless'],'args':['--no-sandbox',_0x559531(0xe0),'--disable-dev-shm-usage','--disable-gpu']}),_0x24b9e3=await _0x4492[_0x559531(0xcd)]();return await _0x24b9e3['setViewport'](this['browserConfig']['viewport']),await _0x24b9e3['setUserAgent'](this[_0x559531(0x106)]['userAgent']),this['browserInstances'][_0x559531(0xa1)](_0x33bc17,{'browser':_0x4492,'page':_0x24b9e3,'created':Date['now']()}),setTimeout(()=>{this['cleanupBrowser'](_0x33bc17);},0xa*0x3c*0x3e8),_0x4492;}async['getPage'](_0x3b12c4){const _0x1ae72c=a0_0x40e0a5;return await this[_0x1ae72c(0xa9)](_0x3b12c4),this['browserInstances'][_0x1ae72c(0xb7)](_0x3b12c4)[_0x1ae72c(0xc7)];}async['closeBrowser'](_0x3d4742){const _0x1506b5=a0_0x40e0a5,_0x4574ef=this[_0x1506b5(0xf3)]['get'](_0x3d4742);if(_0x4574ef)try{return await _0x4574ef[_0x1506b5(0xbc)]['close'](),this['browserInstances']['delete'](_0x3d4742),{'success':!![],'action':'close','browserKey':_0x3d4742,'message':'Browser\x20instance\x20closed'};}catch(_0x179448){throw new Error(_0x1506b5(0x9a)+_0x179448[_0x1506b5(0xec)]);}return{'success':!![],'action':_0x1506b5(0xa3),'browserKey':_0x3d4742,'message':_0x1506b5(0x107)};}async[a0_0x40e0a5(0xcf)](_0x49b9fe){const _0x30d488=a0_0x40e0a5,_0xbb714f=this['browserInstances'][_0x30d488(0xb7)](_0x49b9fe);if(_0xbb714f)try{await _0xbb714f['browser']['close']();}catch(_0x433367){}finally{this['browserInstances'][_0x30d488(0xb0)](_0x49b9fe);}}['isAllowedUrl'](_0x15b417){const _0xbb7c88=a0_0x40e0a5;try{const _0x8cef28=new URL(_0x15b417),_0x10154f=_0x8cef28[_0xbb7c88(0xe4)]['toLowerCase']();if(this[_0xbb7c88(0xe1)][_0xbb7c88(0xe9)](_0x45a370=>_0x10154f[_0xbb7c88(0xb3)](_0x45a370['toLowerCase']())))return![];if(this['allowedDomains']&&this[_0xbb7c88(0xfe)][_0xbb7c88(0x98)]>0x0)return this[_0xbb7c88(0xfe)]['some'](_0x58f76b=>_0x10154f[_0xbb7c88(0xb3)](_0x58f76b['toLowerCase']()));return!![];}catch{return![];}}['addToHistory'](_0x551829,_0x1b2636,_0xc60ce4){const _0x1f422e=a0_0x40e0a5,_0x490bd6={'timestamp':new Date()[_0x1f422e(0xb1)](),'agentId':_0xc60ce4,'action':_0x551829['type'],'selector':_0x551829['selector']||_0x551829[_0x1f422e(0xa5)],'success':_0x1b2636[_0x1f422e(0xa8)],'loadTime':_0x1b2636['loadTime']||0x0};this['operationHistory']['push'](_0x490bd6),this[_0x1f422e(0xa6)]['length']>0x64&&(this[_0x1f422e(0xa6)]=this['operationHistory']['slice'](-0x64));}[a0_0x40e0a5(0xd6)](){const _0x481343=a0_0x40e0a5;return[_0x481343(0x102),'click','type',_0x481343(0xc8),_0x481343(0xdc),_0x481343(0xee),_0x481343(0xca),'close'];}['getParameterSchema'](){const _0x53a63d=a0_0x40e0a5;return{'type':'object','properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'url':{'type':_0x53a63d(0xdf)},'selector':{'type':_0x53a63d(0xdf)},'text':{'type':'string'},'outputPath':{'type':_0x53a63d(0xdf)},'waitTime':{'type':_0x53a63d(0xd1)},'waitSelector':{'type':_0x53a63d(0xdf)},'attribute':{'type':'string'},'direction':{'type':'string'},'pixels':{'type':_0x53a63d(0xd1)}},'required':['type']}}},'required':[_0x53a63d(0x104)]};}async[a0_0x40e0a5(0xfc)](_0x4c79f8){for(const [_0x1700a2]of this['browserInstances']){await this['cleanupBrowser'](_0x1700a2);}}[a0_0x40e0a5(0xc2)](_0x34e251=null){const _0x2e98f4=a0_0x40e0a5;if(_0x34e251)return this[_0x2e98f4(0xa6)][_0x2e98f4(0xf7)](_0x5d79d6=>_0x5d79d6[_0x2e98f4(0xf4)]===_0x34e251);return[...this['operationHistory']];}}export default BrowserTool;
1
+ const a0_0x2fb4eb=a0_0x5d07;function a0_0x5d07(_0x42c43a,_0x4db6cc){_0x42c43a=_0x42c43a-0x19f;const _0x4e328c=a0_0x4e32();let _0x5d0772=_0x4e328c[_0x42c43a];if(a0_0x5d07['pAmnvt']===undefined){var _0x1cd59c=function(_0x7f6b5e){const _0x5acacf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4bd71c='',_0x486f99='';for(let _0x236fcb=0x0,_0x4e1189,_0x16240e,_0x559ff4=0x0;_0x16240e=_0x7f6b5e['charAt'](_0x559ff4++);~_0x16240e&&(_0x4e1189=_0x236fcb%0x4?_0x4e1189*0x40+_0x16240e:_0x16240e,_0x236fcb++%0x4)?_0x4bd71c+=String['fromCharCode'](0xff&_0x4e1189>>(-0x2*_0x236fcb&0x6)):0x0){_0x16240e=_0x5acacf['indexOf'](_0x16240e);}for(let _0x16e35d=0x0,_0x5ae68b=_0x4bd71c['length'];_0x16e35d<_0x5ae68b;_0x16e35d++){_0x486f99+='%'+('00'+_0x4bd71c['charCodeAt'](_0x16e35d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x486f99);};a0_0x5d07['UJLJBn']=_0x1cd59c,a0_0x5d07['zlOqRz']={},a0_0x5d07['pAmnvt']=!![];}const _0x178c03=_0x4e328c[0x0],_0x5668d3=_0x42c43a+_0x178c03,_0x33a2ee=a0_0x5d07['zlOqRz'][_0x5668d3];return!_0x33a2ee?(_0x5d0772=a0_0x5d07['UJLJBn'](_0x5d0772),a0_0x5d07['zlOqRz'][_0x5668d3]=_0x5d0772):_0x5d0772=_0x33a2ee,_0x5d0772;}(function(_0x325459,_0x1ba68c){const _0xcb756a=a0_0x5d07,_0x55ef83=_0x325459();while(!![]){try{const _0x584f84=parseInt(_0xcb756a(0x1f9))/0x1*(-parseInt(_0xcb756a(0x1f8))/0x2)+parseInt(_0xcb756a(0x1fc))/0x3*(parseInt(_0xcb756a(0x202))/0x4)+parseInt(_0xcb756a(0x1c9))/0x5+parseInt(_0xcb756a(0x1fb))/0x6*(-parseInt(_0xcb756a(0x1c7))/0x7)+parseInt(_0xcb756a(0x1ed))/0x8+-parseInt(_0xcb756a(0x1ee))/0x9+-parseInt(_0xcb756a(0x1a6))/0xa;if(_0x584f84===_0x1ba68c)break;else _0x55ef83['push'](_0x55ef83['shift']());}catch(_0x1e4129){_0x55ef83['push'](_0x55ef83['shift']());}}}(a0_0x4e32,0x4de15));import{BaseTool}from'./baseTool.js';import a0_0x4bd71c from'../utilities/tagParser.js';import a0_0x486f99 from'puppeteer';import a0_0x236fcb from'fs/promises';import a0_0x4e1189 from'path';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class BrowserTool extends BaseTool{constructor(_0x16240e={},_0x559ff4=null){const _0x1c0c26=a0_0x5d07;super(_0x16240e,_0x559ff4),this[_0x1c0c26(0x1ae)]=![],this['isAsync']=!![],this['timeout']=_0x16240e['timeout']||0xea60,this['maxConcurrentOperations']=_0x16240e['maxConcurrentOperations']||0x2,this[_0x1c0c26(0x1f6)]={'headless':_0x16240e['headless']!==![],'viewport':_0x16240e[_0x1c0c26(0x1ec)]||{'width':0x500,'height':0x2d0},'userAgent':_0x16240e['userAgent']||'Mozilla/5.0\x20(Windows\x20NT\x2010.0;\x20Win64;\x20x64)\x20AppleWebKit/537.36','timeout':_0x16240e[_0x1c0c26(0x1a2)]||0x7530},this[_0x1c0c26(0x1dd)]=new Map(),this[_0x1c0c26(0x214)]=_0x16240e[_0x1c0c26(0x214)]||null,this[_0x1c0c26(0x1e0)]=_0x16240e[_0x1c0c26(0x1e0)]||[],this[_0x1c0c26(0x1d5)]=_0x16240e['maxScreenshotSize']||0x5*0x400*0x400,this[_0x1c0c26(0x1b0)]=[];}['getDescription'](){const _0x1f65d8=a0_0x5d07;return'\x0aBrowser\x20Tool:\x20Automate\x20web\x20browser\x20interactions,\x20navigation,\x20and\x20data\x20extraction.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22browser\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22navigate\x22,\x20\x22url\x22:\x20\x22https://example.com\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22wait\x22,\x20\x22waitTime\x22:\x202000},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22click\x22,\x20\x22selector\x22:\x20\x22button.submit\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22screenshot\x22,\x20\x22outputPath\x22:\x20\x22screenshot.png\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20navigate:\x20Navigate\x20to\x20URL\x20(url)\x0a-\x20click:\x20Click\x20element\x20(selector)\x0a-\x20type:\x20Type\x20text\x20(selector,\x20text)\x0a-\x20wait:\x20Wait\x20for\x20element/time\x20(waitTime\x20or\x20waitSelector)\x0a-\x20screenshot:\x20Take\x20screenshot\x20(outputPath,\x20fullPage)\x0a-\x20extract:\x20Extract\x20data\x20(selector,\x20attribute)\x0a-\x20scroll:\x20Scroll\x20page\x20(direction,\x20pixels)\x0a-\x20close:\x20Close\x20browser\x0a\x0aPARAMETERS:\x0a-\x20url:\x20Target\x20URL\x20for\x20navigation\x0a-\x20selector:\x20CSS\x20selector\x20(e.g.,\x20\x22#id\x22,\x20\x22.class\x22,\x20\x22button[type=\x27submit\x27]\x22)\x0a-\x20text:\x20Text\x20to\x20type\x0a-\x20outputPath:\x20Screenshot\x20file\x20path\x0a-\x20waitTime:\x20Wait\x20in\x20milliseconds\x20(100-30000)\x0a-\x20waitSelector:\x20Element\x20selector\x20to\x20wait\x20for\x0a-\x20attribute:\x20HTML\x20attribute\x20to\x20extract\x20(default:\x20\x22text\x22)\x0a-\x20direction:\x20\x22up\x22,\x20\x22down\x22,\x20\x22left\x22,\x20\x22right\x22\x0a-\x20pixels:\x20Scroll\x20distance\x20(default:\x20300)\x0a-\x20fullPage:\x20Full\x20page\x20screenshot\x20(true/false)\x0a\x0aEXAMPLES:\x0a\x0aScreenshot\x20a\x20page:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22browser\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22navigate\x22,\x20\x22url\x22:\x20\x22https://github.com/trending\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22wait\x22,\x20\x22waitTime\x22:\x202000},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22screenshot\x22,\x20\x22outputPath\x22:\x20\x22trending.png\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22close\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aForm\x20automation:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22browser\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22navigate\x22,\x20\x22url\x22:\x20\x22https://example.com/login\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22wait\x22,\x20\x22waitSelector\x22:\x20\x22input#username\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22type\x22,\x20\x22selector\x22:\x20\x22input#username\x22,\x20\x22text\x22:\x20\x22myuser\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22type\x22,\x20\x22selector\x22:\x20\x22input#password\x22,\x20\x22text\x22:\x20\x22mypass\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22click\x22,\x20\x22selector\x22:\x20\x22button[type=\x27submit\x27]\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22close\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSECURITY:\x0a-\x20Restricted\x20to\x20allowed\x20domains\x0a-\x20Screenshot\x20size\x20limits\x20(max\x205MB)\x0a-\x20Auto-cleanup\x20after\x2010\x20minutes\x0a\x0aVIEWPORT:\x20'+this[_0x1f65d8(0x1f6)]['viewport']['width']+'x'+this['browserConfig'][_0x1f65d8(0x1ec)]['height']+_0x1f65d8(0x1e9)+this[_0x1f65d8(0x1f6)]['timeout']+'ms\x20per\x20operation\x0a\x20\x20\x20\x20';}[a0_0x2fb4eb(0x21b)](_0x16e35d){const _0x5c46c5=a0_0x2fb4eb;try{if(_0x16e35d['trim']()['startsWith']('{')){const _0x33ee4c=JSON[_0x5c46c5(0x1e6)](_0x16e35d);return!_0x33ee4c[_0x5c46c5(0x216)]&&(_0x33ee4c[_0x5c46c5(0x216)]=[]),!Array['isArray'](_0x33ee4c['actions'])&&(_0x33ee4c['actions']=[_0x33ee4c['actions']]),_0x33ee4c;}const _0x5ae68b={},_0xbe0402=[],_0x371e22=[_0x5c46c5(0x210),'click',_0x5c46c5(0x1d2),'wait',_0x5c46c5(0x215),'extract','scroll','close'];for(const _0x599c50 of _0x371e22){const _0x11a760=new RegExp('<'+_0x599c50+_0x5c46c5(0x1a8),'gi');let _0x1577ea;while((_0x1577ea=_0x11a760['exec'](_0x16e35d))!==null){const _0x279753=_0x1577ea[0x1],_0x9c6ad2=this[_0x5c46c5(0x1aa)](_0x279753),_0x15a83f={'type':_0x599c50,..._0x9c6ad2};_0x15a83f[_0x5c46c5(0x218)]&&(_0x15a83f['outputPath']=_0x15a83f[_0x5c46c5(0x218)],delete _0x15a83f[_0x5c46c5(0x218)]),_0x15a83f[_0x5c46c5(0x1b4)]&&(_0x15a83f[_0x5c46c5(0x209)]=parseInt(_0x15a83f[_0x5c46c5(0x1b4)],0xa),delete _0x15a83f['wait-time']),_0x15a83f[_0x5c46c5(0x1ac)]&&(_0x15a83f[_0x5c46c5(0x1bc)]=_0x15a83f['wait-selector'],delete _0x15a83f['wait-selector']),_0x15a83f['wait-type']&&(_0x15a83f[_0x5c46c5(0x1dc)]=_0x15a83f[_0x5c46c5(0x1a1)],delete _0x15a83f['wait-type']),_0x15a83f['full-page']&&(_0x15a83f[_0x5c46c5(0x20b)]=_0x15a83f['full-page']==='true',delete _0x15a83f['full-page']),_0xbe0402[_0x5c46c5(0x1fa)](_0x15a83f);}}return _0x5ae68b['actions']=Array['isArray'](_0xbe0402)?_0xbe0402:[],_0x5ae68b[_0x5c46c5(0x1e7)]=_0x16e35d['trim'](),_0x5ae68b;}catch(_0x254977){return this[_0x5c46c5(0x207)]?.[_0x5c46c5(0x1d4)](_0x5c46c5(0x20c),{'error':_0x254977[_0x5c46c5(0x1bf)]}),{'actions':[],'rawContent':_0x16e35d[_0x5c46c5(0x1cb)](),'parseError':_0x254977['message']};}}['parseAttributes'](_0x53f7e){const _0x49541a={};if(!_0x53f7e)return _0x49541a;const _0x51c28b=/([\w-]+)\s*=\s*["']([^"']*)["']/g;let _0x14c882;while((_0x14c882=_0x51c28b['exec'](_0x53f7e))!==null){const _0x358d7b=_0x14c882[0x1],_0x22e173=_0x14c882[0x2];_0x49541a[_0x358d7b]=_0x22e173;}return _0x49541a;}[a0_0x2fb4eb(0x1c0)](){const _0x2f1f57=a0_0x2fb4eb;return[_0x2f1f57(0x216)];}['customValidateParameters'](_0x40dd05){const _0x3c9b1c=a0_0x2fb4eb,_0x193122=[];if(!_0x40dd05[_0x3c9b1c(0x216)]||!Array['isArray'](_0x40dd05['actions'])||_0x40dd05[_0x3c9b1c(0x216)][_0x3c9b1c(0x1be)]===0x0)_0x193122[_0x3c9b1c(0x1fa)](_0x3c9b1c(0x1c8));else for(const [_0x37a91a,_0x549943]of _0x40dd05['actions']['entries']()){if(!_0x549943['type']){_0x193122[_0x3c9b1c(0x1fa)](_0x3c9b1c(0x1af)+(_0x37a91a+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x549943['type']){case'navigate':if(!_0x549943[_0x3c9b1c(0x1c5)])_0x193122['push']('Action\x20'+(_0x37a91a+0x1)+_0x3c9b1c(0x201));else!this['isAllowedUrl'](_0x549943['url'])&&_0x193122['push']('Action\x20'+(_0x37a91a+0x1)+_0x3c9b1c(0x217)+_0x549943[_0x3c9b1c(0x1c5)]);break;case'click':case _0x3c9b1c(0x1f7):!_0x549943['selector']&&_0x193122['push']('Action\x20'+(_0x37a91a+0x1)+_0x3c9b1c(0x1e4)+_0x549943[_0x3c9b1c(0x1d2)]);break;case _0x3c9b1c(0x1d2):!_0x549943[_0x3c9b1c(0x1e1)]&&_0x193122[_0x3c9b1c(0x1fa)](_0x3c9b1c(0x1af)+(_0x37a91a+0x1)+_0x3c9b1c(0x20f));!_0x549943['text']&&_0x549943[_0x3c9b1c(0x219)]!==''&&_0x193122[_0x3c9b1c(0x1fa)]('Action\x20'+(_0x37a91a+0x1)+':\x20text\x20is\x20required\x20for\x20type');break;case'wait':!_0x549943[_0x3c9b1c(0x209)]&&!_0x549943[_0x3c9b1c(0x1bc)]&&_0x193122[_0x3c9b1c(0x1fa)](_0x3c9b1c(0x1af)+(_0x37a91a+0x1)+':\x20either\x20wait-time\x20or\x20wait-selector\x20is\x20required');_0x549943[_0x3c9b1c(0x209)]&&(_0x549943['waitTime']<0x64||_0x549943[_0x3c9b1c(0x209)]>0x7530)&&_0x193122['push']('Action\x20'+(_0x37a91a+0x1)+_0x3c9b1c(0x212));break;case _0x3c9b1c(0x215):!_0x549943['outputPath']&&_0x193122['push'](_0x3c9b1c(0x1af)+(_0x37a91a+0x1)+_0x3c9b1c(0x208));break;case _0x3c9b1c(0x1b3):if(!_0x549943[_0x3c9b1c(0x200)])_0x193122['push'](_0x3c9b1c(0x1af)+(_0x37a91a+0x1)+_0x3c9b1c(0x1d9));else!['up','down','left',_0x3c9b1c(0x1d1)]['includes'](_0x549943['direction'])&&_0x193122[_0x3c9b1c(0x1fa)](_0x3c9b1c(0x1af)+(_0x37a91a+0x1)+':\x20invalid\x20scroll\x20direction:\x20'+_0x549943[_0x3c9b1c(0x200)]);break;case'close':break;default:_0x193122['push'](_0x3c9b1c(0x1af)+(_0x37a91a+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x549943['type']);}}return{'valid':_0x193122[_0x3c9b1c(0x1be)]===0x0,'errors':_0x193122};}async[a0_0x2fb4eb(0x1c4)](_0x410d8c,_0x480202){const _0x579e9f=a0_0x2fb4eb,{actions:_0xbbf746}=_0x410d8c,{agentId:_0x110276,projectDir:_0x476a46}=_0x480202,_0x145f40=_0x110276+'-'+(_0x476a46||'default'),_0x105b0b=[];for(const _0x1f76fe of _0xbbf746){try{let _0x5a9af0;switch(_0x1f76fe['type']){case _0x579e9f(0x210):_0x5a9af0=await this['navigate'](_0x1f76fe[_0x579e9f(0x1c5)],_0x145f40);break;case'click':_0x5a9af0=await this[_0x579e9f(0x205)](_0x1f76fe['selector'],_0x145f40);break;case'type':_0x5a9af0=await this['type'](_0x1f76fe['selector'],_0x1f76fe[_0x579e9f(0x219)],_0x145f40);break;case'wait':_0x5a9af0=await this['wait'](_0x1f76fe,_0x145f40);break;case _0x579e9f(0x215):_0x5a9af0=await this['screenshot'](_0x1f76fe[_0x579e9f(0x1eb)],_0x476a46,_0x145f40,_0x1f76fe);break;case _0x579e9f(0x1f7):_0x5a9af0=await this[_0x579e9f(0x1f7)](_0x1f76fe['selector'],_0x1f76fe['attribute']||'text',_0x145f40);break;case'scroll':_0x5a9af0=await this['scroll'](_0x1f76fe,_0x145f40);break;case _0x579e9f(0x204):_0x5a9af0=await this[_0x579e9f(0x19f)](_0x145f40);break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x1f76fe[_0x579e9f(0x1d2)]);}_0x105b0b[_0x579e9f(0x1fa)](_0x5a9af0),this[_0x579e9f(0x1fd)](_0x1f76fe,_0x5a9af0,_0x110276);}catch(_0x2181df){const _0x4aa482={'success':![],'action':_0x1f76fe[_0x579e9f(0x1d2)],'error':_0x2181df[_0x579e9f(0x1bf)],'selector':_0x1f76fe[_0x579e9f(0x1e1)]||_0x1f76fe[_0x579e9f(0x1c5)]};_0x105b0b[_0x579e9f(0x1fa)](_0x4aa482),this['addToHistory'](_0x1f76fe,_0x4aa482,_0x110276);}}return{'success':!![],'actions':_0x105b0b,'executedActions':_0xbbf746[_0x579e9f(0x1be)],'toolUsed':_0x579e9f(0x1cc)};}async['navigate'](_0x141678,_0x3911a4){const _0x1d9dcd=a0_0x2fb4eb,_0x5b7192=await this['getBrowser'](_0x3911a4),_0x2e08e2=await this['getPage'](_0x3911a4),_0x198722=Date['now']();try{await _0x2e08e2[_0x1d9dcd(0x1fe)](_0x141678,{'waitUntil':'networkidle0','timeout':this[_0x1d9dcd(0x1f6)][_0x1d9dcd(0x1b2)]});const _0x1f6497=await _0x2e08e2['title'](),_0x51cfe8=_0x2e08e2[_0x1d9dcd(0x1c5)]();return{'success':!![],'action':_0x1d9dcd(0x210),'url':_0x51cfe8,'originalUrl':_0x141678,'title':_0x1f6497,'loadTime':Date['now']()-_0x198722,'message':'Navigated\x20to\x20'+_0x141678};}catch(_0x430bcf){throw new Error(_0x1d9dcd(0x1b8)+_0x430bcf['message']);}}async[a0_0x2fb4eb(0x205)](_0x26cfed,_0x1c9475){const _0xe12ecf=a0_0x2fb4eb,_0x1fec8b=await this[_0xe12ecf(0x1df)](_0x1c9475);try{return await _0x1fec8b['waitForSelector'](_0x26cfed,{'timeout':0x1388}),await _0x1fec8b[_0xe12ecf(0x205)](_0x26cfed),{'success':!![],'action':'click','selector':_0x26cfed,'message':_0xe12ecf(0x1d8)+_0x26cfed};}catch(_0x2ec043){throw new Error('Click\x20failed\x20on\x20'+_0x26cfed+':\x20'+_0x2ec043[_0xe12ecf(0x1bf)]);}}async[a0_0x2fb4eb(0x1d2)](_0x29ac8a,_0x249a37,_0x3f08d9){const _0x21b077=a0_0x2fb4eb,_0x5b5198=await this['getPage'](_0x3f08d9);try{return await _0x5b5198['waitForSelector'](_0x29ac8a,{'timeout':0x1388}),await _0x5b5198[_0x21b077(0x1cf)](_0x29ac8a),await _0x5b5198[_0x21b077(0x1a4)][_0x21b077(0x1f5)](),await _0x5b5198['type'](_0x29ac8a,_0x249a37),{'success':!![],'action':_0x21b077(0x1d2),'selector':_0x29ac8a,'text':_0x249a37,'textLength':_0x249a37[_0x21b077(0x1be)],'message':_0x21b077(0x1de)+_0x249a37['length']+_0x21b077(0x1a7)+_0x29ac8a};}catch(_0x3237db){throw new Error(_0x21b077(0x1f1)+_0x29ac8a+':\x20'+_0x3237db[_0x21b077(0x1bf)]);}}async['wait'](_0x405302,_0x8d3f67){const _0x1c5ee6=a0_0x2fb4eb,_0x4e12b1=await this[_0x1c5ee6(0x1df)](_0x8d3f67);try{if(_0x405302[_0x1c5ee6(0x209)])return await new Promise(_0x39b218=>setTimeout(_0x39b218,_0x405302[_0x1c5ee6(0x209)])),{'success':!![],'action':_0x1c5ee6(0x1e2),'waitTime':_0x405302[_0x1c5ee6(0x209)],'message':'Waited\x20'+_0x405302[_0x1c5ee6(0x209)]+'ms'};if(_0x405302[_0x1c5ee6(0x1bc)]){const _0x2495fc=_0x405302[_0x1c5ee6(0x1dc)]||'visible',_0x5bb1c7={'timeout':0x2710};return _0x2495fc==='hidden'?await _0x4e12b1[_0x1c5ee6(0x1d3)](_0x405302['waitSelector'],{..._0x5bb1c7,'hidden':!![]}):await _0x4e12b1['waitForSelector'](_0x405302['waitSelector'],_0x5bb1c7),{'success':!![],'action':'wait','waitSelector':_0x405302['waitSelector'],'waitType':_0x2495fc,'message':'Waited\x20for\x20'+_0x405302['waitSelector']+_0x1c5ee6(0x1e8)+_0x2495fc};}}catch(_0x4172af){throw new Error(_0x1c5ee6(0x1c2)+_0x4172af['message']);}}async['screenshot'](_0x596f48,_0x204760,_0x45b78c,_0x4a58e4={}){const _0x426c91=a0_0x2fb4eb,_0x428b6e=await this['getPage'](_0x45b78c);try{const _0x10d8ff=_0x204760?a0_0x4e1189[_0x426c91(0x1ca)](_0x204760,_0x596f48):a0_0x4e1189['resolve'](_0x596f48),_0x1ced5e=a0_0x4e1189[_0x426c91(0x1da)](_0x10d8ff);await a0_0x236fcb['mkdir'](_0x1ced5e,{'recursive':!![]});const _0x49bf87={'path':_0x10d8ff,'type':_0x426c91(0x206)};_0x4a58e4['fullPage']&&(_0x49bf87['fullPage']=!![]);await _0x428b6e['screenshot'](_0x49bf87);const _0x224537=await a0_0x236fcb['stat'](_0x10d8ff);if(_0x224537[_0x426c91(0x1ef)]>this['maxScreenshotSize'])throw new Error('Screenshot\x20too\x20large:\x20'+_0x224537['size']+_0x426c91(0x1d6)+this['maxScreenshotSize']+')');return{'success':!![],'action':_0x426c91(0x215),'outputPath':a0_0x4e1189[_0x426c91(0x1bd)](_0x204760||process[_0x426c91(0x213)](),_0x10d8ff),'size':_0x224537[_0x426c91(0x1ef)],'fullPage':!!_0x4a58e4['fullPage'],'message':_0x426c91(0x20a)+_0x596f48};}catch(_0x2da5ec){throw new Error('Screenshot\x20failed:\x20'+_0x2da5ec['message']);}}async[a0_0x2fb4eb(0x1f7)](_0x5a2dd4,_0x537468,_0x10ff4d){const _0x51995e=a0_0x2fb4eb,_0x506c9a=await this['getPage'](_0x10ff4d);try{await _0x506c9a[_0x51995e(0x1d3)](_0x5a2dd4,{'timeout':0x1388});let _0x4ebc6d;return _0x537468===_0x51995e(0x219)?_0x4ebc6d=await _0x506c9a['$eval'](_0x5a2dd4,_0x45f28c=>_0x45f28c[_0x51995e(0x1ba)][_0x51995e(0x1cb)]()):_0x4ebc6d=await _0x506c9a[_0x51995e(0x1b9)](_0x5a2dd4,(_0x1377be,_0x511ef9)=>_0x1377be['getAttribute'](_0x511ef9),_0x537468),{'success':!![],'action':'extract','selector':_0x5a2dd4,'attribute':_0x537468,'data':_0x4ebc6d,'message':_0x51995e(0x20e)+_0x537468+_0x51995e(0x1a9)+_0x5a2dd4};}catch(_0x1cafcd){throw new Error(_0x51995e(0x1a3)+_0x5a2dd4+':\x20'+_0x1cafcd['message']);}}async[a0_0x2fb4eb(0x1b3)](_0x1ea8aa,_0x5aaba3){const _0x22a3d0=a0_0x2fb4eb,_0x59fa3e=await this[_0x22a3d0(0x1df)](_0x5aaba3);try{const {direction:_0x398a68,pixels:pixels=0x12c,selector:_0xb8657d}=_0x1ea8aa;return _0xb8657d?await _0x59fa3e['evaluate']((_0x2d3ecb,_0x34cc1c,_0x21495f)=>{const _0xced984=document['querySelector'](_0x2d3ecb);if(_0xced984){if(_0x34cc1c==='down')_0xced984['scrollTop']+=_0x21495f;else{if(_0x34cc1c==='up')_0xced984['scrollTop']-=_0x21495f;else{if(_0x34cc1c==='right')_0xced984['scrollLeft']+=_0x21495f;else{if(_0x34cc1c==='left')_0xced984['scrollLeft']-=_0x21495f;}}}}},_0xb8657d,_0x398a68,pixels):await _0x59fa3e[_0x22a3d0(0x1f4)]((_0x33a3fa,_0xc72af6)=>{const _0x3bef3f=_0x22a3d0;if(_0x33a3fa===_0x3bef3f(0x1a5))window[_0x3bef3f(0x1a0)](0x0,_0xc72af6);else{if(_0x33a3fa==='up')window[_0x3bef3f(0x1a0)](0x0,-_0xc72af6);else{if(_0x33a3fa===_0x3bef3f(0x1d1))window['scrollBy'](_0xc72af6,0x0);else{if(_0x33a3fa===_0x3bef3f(0x20d))window[_0x3bef3f(0x1a0)](-_0xc72af6,0x0);}}}},_0x398a68,pixels),{'success':!![],'action':'scroll','direction':_0x398a68,'pixels':pixels,'selector':_0xb8657d||'page','message':_0x22a3d0(0x1b7)+_0x398a68+_0x22a3d0(0x1f3)+pixels+'px'};}catch(_0x13f92e){throw new Error('Scroll\x20failed:\x20'+_0x13f92e['message']);}}async['getBrowser'](_0x366a8b){const _0x3d0109=a0_0x2fb4eb;if(this['browserInstances']['has'](_0x366a8b)){const _0x195076=this['browserInstances'][_0x3d0109(0x1c6)](_0x366a8b);if(!_0x195076[_0x3d0109(0x1cc)]['isConnected']())this['browserInstances'][_0x3d0109(0x1ab)](_0x366a8b);else return _0x195076[_0x3d0109(0x1cc)];}const _0x29cfc3=await a0_0x486f99['launch']({'headless':this['browserConfig'][_0x3d0109(0x1b5)],'args':['--no-sandbox',_0x3d0109(0x1b1),_0x3d0109(0x1cd),_0x3d0109(0x1c3)]}),_0x22e1c3=await _0x29cfc3[_0x3d0109(0x1bb)]();return await _0x22e1c3['setViewport'](this['browserConfig'][_0x3d0109(0x1ec)]),await _0x22e1c3['setUserAgent'](this['browserConfig']['userAgent']),this[_0x3d0109(0x1dd)]['set'](_0x366a8b,{'browser':_0x29cfc3,'page':_0x22e1c3,'created':Date[_0x3d0109(0x1ff)]()}),setTimeout(()=>{this['cleanupBrowser'](_0x366a8b);},0xa*0x3c*0x3e8),_0x29cfc3;}async[a0_0x2fb4eb(0x1df)](_0x215c69){const _0x13c8ca=a0_0x2fb4eb;return await this['getBrowser'](_0x215c69),this[_0x13c8ca(0x1dd)][_0x13c8ca(0x1c6)](_0x215c69)['page'];}async[a0_0x2fb4eb(0x19f)](_0x13cfbb){const _0x4b0163=a0_0x2fb4eb,_0x500aa8=this[_0x4b0163(0x1dd)]['get'](_0x13cfbb);if(_0x500aa8)try{return await _0x500aa8['browser']['close'](),this[_0x4b0163(0x1dd)]['delete'](_0x13cfbb),{'success':!![],'action':_0x4b0163(0x204),'browserKey':_0x13cfbb,'message':'Browser\x20instance\x20closed'};}catch(_0x17ebda){throw new Error(_0x4b0163(0x1db)+_0x17ebda['message']);}return{'success':!![],'action':_0x4b0163(0x204),'browserKey':_0x13cfbb,'message':_0x4b0163(0x1d7)};}async[a0_0x2fb4eb(0x203)](_0x26027d){const _0x5c2db0=a0_0x2fb4eb,_0x5368d1=this['browserInstances']['get'](_0x26027d);if(_0x5368d1)try{await _0x5368d1['browser']['close']();}catch(_0x2f325b){}finally{this['browserInstances'][_0x5c2db0(0x1ab)](_0x26027d);}}[a0_0x2fb4eb(0x1e5)](_0x22468f){const _0x10c104=a0_0x2fb4eb;try{const _0xf3e1c1=new URL(_0x22468f),_0x2ea2a3=_0xf3e1c1[_0x10c104(0x1e3)][_0x10c104(0x1ce)]();if(this[_0x10c104(0x1e0)][_0x10c104(0x1f0)](_0x5d0fb=>_0x2ea2a3[_0x10c104(0x1d0)](_0x5d0fb[_0x10c104(0x1ce)]())))return![];if(this[_0x10c104(0x214)]&&this['allowedDomains']['length']>0x0)return this['allowedDomains'][_0x10c104(0x1f0)](_0x40480c=>_0x2ea2a3[_0x10c104(0x1d0)](_0x40480c[_0x10c104(0x1ce)]()));return!![];}catch{return![];}}['addToHistory'](_0x48edd2,_0x229892,_0x23c3f7){const _0x49ba0b=a0_0x2fb4eb,_0x470621={'timestamp':new Date()['toISOString'](),'agentId':_0x23c3f7,'action':_0x48edd2['type'],'selector':_0x48edd2['selector']||_0x48edd2[_0x49ba0b(0x1c5)],'success':_0x229892['success'],'loadTime':_0x229892['loadTime']||0x0};this[_0x49ba0b(0x1b0)][_0x49ba0b(0x1fa)](_0x470621),this['operationHistory'][_0x49ba0b(0x1be)]>0x64&&(this[_0x49ba0b(0x1b0)]=this['operationHistory'][_0x49ba0b(0x21a)](-0x64));}['getSupportedActions'](){const _0xdd5d=a0_0x2fb4eb;return['navigate','click','type',_0xdd5d(0x1e2),_0xdd5d(0x215),'extract','scroll','close'];}['getParameterSchema'](){const _0x2364a2=a0_0x2fb4eb;return{'type':'object','properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':_0x2364a2(0x1f2),'properties':{'type':{'type':_0x2364a2(0x1ad),'enum':this['getSupportedActions']()},'url':{'type':_0x2364a2(0x1ad)},'selector':{'type':_0x2364a2(0x1ad)},'text':{'type':'string'},'outputPath':{'type':'string'},'waitTime':{'type':_0x2364a2(0x1b6)},'waitSelector':{'type':_0x2364a2(0x1ad)},'attribute':{'type':_0x2364a2(0x1ad)},'direction':{'type':'string'},'pixels':{'type':'integer'}},'required':['type']}}},'required':['actions']};}async[a0_0x2fb4eb(0x211)](_0x478484){const _0x4f8994=a0_0x2fb4eb;for(const [_0x2875ce]of this['browserInstances']){await this[_0x4f8994(0x203)](_0x2875ce);}}['getOperationHistory'](_0x26e3a2=null){const _0x1423a9=a0_0x2fb4eb;if(_0x26e3a2)return this['operationHistory'][_0x1423a9(0x1c1)](_0x9b7fdd=>_0x9b7fdd[_0x1423a9(0x1ea)]===_0x26e3a2);return[...this[_0x1423a9(0x1b0)]];}}function a0_0x4e32(){const _0x429773=['y2XLyw51Ca','oIb3ywL0lxrPBwuGBxvZDcbIzsbIzxr3zwvUideWmcbHBMqGmZaWmdaGBwLSBgLZzwnVBMrZ','y3DK','ywXSB3DLzerVBwfPBNm','C2nYzwvUC2HVDa','ywn0Aw9UCW','oIbvuKWGBM90igfSBg93zwq6ia','B3v0Chv0lxbHDgG','Dgv4Da','C2XPy2u','CgfYC2vqyxjHBwv0zxjZ','y2XVC2vcCM93C2vY','C2nYB2XSqNK','D2fPDc10ExbL','CgfNzvrPBwvVDxq','rxH0CMfJDcbMywLSzwqGB24G','A2v5yM9HCMq','zg93BG','nJqWnte3mgzrD3zJuG','ignOyxjHy3rLCNmGAw50BYa','xhmRkfTEpL0QpYLCCYPClZ8+','igzYB20G','CgfYC2vbDhrYAwj1DgvZ','zgvSzxrL','D2fPDc1ZzwXLy3rVCG','C3rYAw5N','CMvXDwLYzxnqCM9Qzwn0','qwn0Aw9Uia','B3bLCMf0Aw9UsgLZDg9YEq','ls1KAxnHyMXLlxnLDhvPzc1Zyw5KyM94','DgLTzw91Da','C2nYB2XS','D2fPDc10Aw1L','AgvHzgXLC3m','Aw50zwDLCG','u2nYB2XSzwqG','tMf2AwDHDgLVBIbMywLSzwq6ia','jgv2ywW','Dgv4DenVBNrLBNq','BMv3ugfNzq','D2fPDfnLBgvJDg9Y','CMvSyxrPDMu','BgvUz3rO','BwvZC2fNzq','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','zMLSDgvY','v2fPDcbMywLSzwq6ia','ls1KAxnHyMXLlwDWDq','zxHLy3v0zq','DxjS','z2v0','nJC5mJf3wu9os2e','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','mZe1nJa3nwPcvgzmuG','CMvZB2X2zq','DhjPBq','yNjVD3nLCG','ls1KAxnHyMXLlwrLDI1ZAg0TDxnHz2u','Dg9mB3DLCKnHC2u','zM9JDxm','Aw5JBhvKzxm','CMLNAhq','DhLWzq','D2fPDezVCLnLBgvJDg9Y','zxjYB3i','Bwf4u2nYzwvUC2HVDfnPEMu','igj5DgvZicHTyxGG','qNjVD3nLCIbPBNn0yw5JzsbUB3qGzM91BMqGkgfSCMvHzhKGy2XVC2vKkq','q2XPy2TLzcbVBIa','oIbKAxjLy3rPB24GAxmGCMvXDwLYzwqGzM9YihnJCM9SBa','zgLYBMfTzq','rMfPBgvKihrVignSB3nLigjYB3DZzxi6ia','D2fPDfr5Cgu','yNjVD3nLCKLUC3rHBMnLCW','vhLWzwqG','z2v0ugfNzq','yMXVy2TLzerVBwfPBNm','C2vSzwn0B3i','D2fPDa','Ag9ZDg5HBwu','oIbZzwXLy3rVCIbPCYbYzxf1AxjLzcbMB3iG','AxnbBgXVD2vKvxjS','CgfYC2u','CMf3q29UDgvUDa','ihrVigjLia','cLrjtuvpvvq6ia','ywDLBNrjza','B3v0Chv0ugf0Aa','DMLLD3bVCNq','mZG0odeWnejyveTKuq','mZC1otmYn3LVr2HdEG','C2L6zq','C29Tzq','vhLWzsbMywLSzwqGB24G','B2jQzwn0','igj5ia','zxzHBhvHDgu','C2vSzwn0qwXS','yNjVD3nLCKnVBMzPzW','zxH0CMfJDa','mZa5odGWwMPYENn1','mLflt1HfAa','ChvZAa','nNDrzvHfCq','nNfRB1vvAq','ywrKvg9iAxn0B3j5','z290BW','BM93','zgLYzwn0Aw9U','oIb1CMWGAxmGCMvXDwLYzwqGzM9Yig5HDMLNyxrL','mte2ote0ng9bvgXvBG','y2XLyw51CejYB3DZzxi','y2XVC2u','y2XPy2S','Cg5N','Bg9Nz2vY','oIbVDxrWDxqTCgf0AcbPCYbYzxf1AxjLzcbMB3iGC2nYzwvUC2HVDa','D2fPDfrPBwu','u2nYzwvUC2HVDcbZyxzLzdOG','zNvSBfbHz2u','rMfPBgvKihrVihbHCNnLigjYB3DZzxiGCgfYyw1LDgvYCW','BgvMDa','rxH0CMfJDgvKia','oIbZzwXLy3rVCIbPCYbYzxf1AxjLzcbMB3iGDhLWzq','BMf2AwDHDgu'];a0_0x4e32=function(){return _0x429773;};return a0_0x4e32();}export default BrowserTool;
@@ -1 +1 @@
1
- const a0_0x1ff9c9=a0_0x13b5;(function(_0x195894,_0x327d7d){const _0x3b02aa=a0_0x13b5,_0x38de67=_0x195894();while(!![]){try{const _0x179020=-parseInt(_0x3b02aa(0x1cd))/0x1*(parseInt(_0x3b02aa(0x176))/0x2)+-parseInt(_0x3b02aa(0x1cc))/0x3+parseInt(_0x3b02aa(0x1c0))/0x4+parseInt(_0x3b02aa(0x1af))/0x5+-parseInt(_0x3b02aa(0x1a0))/0x6*(-parseInt(_0x3b02aa(0x1c3))/0x7)+-parseInt(_0x3b02aa(0x16e))/0x8+-parseInt(_0x3b02aa(0x1ae))/0x9;if(_0x179020===_0x327d7d)break;else _0x38de67['push'](_0x38de67['shift']());}catch(_0x227ab5){_0x38de67['push'](_0x38de67['shift']());}}}(a0_0x3a88,0x9c514));import{BaseTool}from'./baseTool.js';function a0_0x13b5(_0x6df400,_0x3335f6){_0x6df400=_0x6df400-0x169;const _0x3a88b1=a0_0x3a88();let _0x13b5f2=_0x3a88b1[_0x6df400];if(a0_0x13b5['SeqmmN']===undefined){var _0x510b7f=function(_0x1bc531){const _0x20ec87='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x470a41='',_0x26752e='';for(let _0x34638b=0x0,_0x274939,_0x391936,_0x408a78=0x0;_0x391936=_0x1bc531['charAt'](_0x408a78++);~_0x391936&&(_0x274939=_0x34638b%0x4?_0x274939*0x40+_0x391936:_0x391936,_0x34638b++%0x4)?_0x470a41+=String['fromCharCode'](0xff&_0x274939>>(-0x2*_0x34638b&0x6)):0x0){_0x391936=_0x20ec87['indexOf'](_0x391936);}for(let _0xc1b680=0x0,_0x1b0442=_0x470a41['length'];_0xc1b680<_0x1b0442;_0xc1b680++){_0x26752e+='%'+('00'+_0x470a41['charCodeAt'](_0xc1b680)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26752e);};a0_0x13b5['ZthEAa']=_0x510b7f,a0_0x13b5['hRDLFr']={},a0_0x13b5['SeqmmN']=!![];}const _0x4bb167=_0x3a88b1[0x0],_0xf8fd46=_0x6df400+_0x4bb167,_0x40a356=a0_0x13b5['hRDLFr'][_0xf8fd46];return!_0x40a356?(_0x13b5f2=a0_0x13b5['ZthEAa'](_0x13b5f2),a0_0x13b5['hRDLFr'][_0xf8fd46]=_0x13b5f2):_0x13b5f2=_0x40a356,_0x13b5f2;}import a0_0x470a41 from'../utilities/tagParser.js';function a0_0x3a88(){const _0x3b9b23=['y29Kzq','zgv0zwn0lwnSB25LCW','yMvUzwzPDhm','C2XPy2u','CMf3q29UDgvUDa','rMfPBgvKihrVihbHCNnLignSB25LigrLDgvJDgLVBIbWyxjHBwv0zxjZoIa','Dg90ywXeDxbSAwnHDgvKtgLUzxm','BwvZC2fNzq','ChjPB3jPDhK','qwn0Aw9Uia','AgLNAa','cI4UlIaODhj1BMnHDgvKkq','oIbZAw1PBgfYAxr5lxrOCMvZAg9SzcbTDxn0igjLigjLDhDLzw4Gmc41igfUzcaXlJa','BwLUlxrVA2vUCW','zxHLyW','zMLSDgvY','BwvKAxvT','nJi0nJz6ww5Jsxy','z2v0ugfYyw1LDgvYu2nOzw1H','B2jQzwn0','zM9YBwf0u3vTBwfYEu91Dhb1Da','kIOVkI50CW','ChvZAa','CMvJB21Tzw5KyxrPB25Z','CgfYC2vbDhrYAwj1DgvZ','C3rHCNrmAw5L','kIOVkI5QCW','ywn0Aw9UCW','zgvIDwC','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YigrLDgvJDc1JBg9Uzxm','C2LTAwXHCML0EvrOCMvZAg9Sza','odi3nJe0ofjNwMD0Eq','ntqYmJuXmePrr0D1AW','zw50CMLLCW','yxjYyxK','CMvXDwLYzxnqCM9Qzwn0','AxnbC3LUyW','y2XVBMvKzxrLy3rPB24','BgLUzunVDw50','Bwf4rMLSzvnPEMu','Aw5JBhvKzxm','BwLUvg9Rzw5Z','C3bSAxq','zMLSzxndB3zLCMvK','ChjPB3jPDhKTzMLSDgvY','DMfSAwrHDgvszwfKqwnJzxnZ','kIOVkI50C3G','zgv0zwn0q2XVBMvZ','zgvMyxvSDe1PBKXPBMvZ','mZm0ntG1nNjbthLszW','DhLWzq','y3jLyxrLuMvSyxrPDMvqyxrO','ntuZq1Plru9Q','BwLUlwXPBMvZ','Bwf4uMvZDwX0CW','kIOVkI52Dwu','oIbVDxrWDxqTBw9KzsbTDxn0igjLihn1Bw1HCNKSigrLDgfPBgvKlcbVCIbYzwnVBw1LBMrHDgLVBNm','Bwf4lxjLC3vSDhm','BgvUz3rO','zgv0ywLSzwq','z2v0q2XVBMvezxrLy3rVCG','mJa2odu2oxr4CNnfEa','nNvjBvPSBq','B3v0Chv0lw1Vzgu','CMvHC29U','q2XVBMuGzgv0zwn0Aw9UigfJDgLVBIbMywLSzwq','CMvHC29UAw5N','Dg90ywXgAwXLCW','B3v0Chv0tw9Kzq','zw5KtgLUzq','y3DK','zM9YBwf0uMvJB21Tzw5KyxrPB25Zt3v0Chv0','zgLYzwn0B3j5','zgvMyxvSDfnPBwLSyxjPDhLuAhjLC2HVBgq','mJKXmZaYng9IvLbWyG','z2v0u3vWCg9YDgvKqwn0Aw9UCW','zxHLy3v0zq','BwLUtgLUzxm','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','C3rYyxrLz3K','ChjPB3jPDhLgAwX0zxi','zM9YBwf0rgv0ywLSzwrpDxrWDxq','ndmZmtj2twLwBey','Bg93','zMLSzq','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','C3vNz2vZDgvKtMfTzq','Aw5ZDgfUy2vdB3vUDa','ywXSB3DLza','C3vTBwfYEq','Bwv0CMLJCW','C3rYAw5N','DgLTzw91Da','kIOVBM9Kzv9TB2r1BgvZlYOQ','oIbTAw4TDg9Rzw5Zig11C3qGyMuGyMv0D2vLBIaXmcbHBMqGmtaWma','y2XVBMvezxrLy3rVCG','uMvHzcbHy2nLC3mGzgvUAwvKoIa','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','C2LTAwXHCML0Es10AhjLC2HVBgq','kIOVyNvPBgqVkIO','q2XVBMuGzgv0zwn0B3iGAw5PDgLHBgL6zwq','zxn0Aw1HDgvKrwzMB3j0','kIOVkI5QC3G','q2XVBMvezxrLy3rPB24GDg9VBcbWyxjZAw5NihbHCMfTzxrLCNm','CMvMywn0B3jPBMDbzhzPy2u','Aw5ZDgfUy2vZ','CM91BMq'];a0_0x3a88=function(){return _0x3b9b23;};return a0_0x3a88();}import a0_0x26752e from'../utilities/directoryAccessManager.js';import a0_0x34638b from'path';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class CloneDetectionTool extends BaseTool{constructor(_0x274939={},_0x391936=null){const _0x1340b8=a0_0x13b5;super(_0x274939,_0x391936),this[_0x1340b8(0x1b2)]=!![],this[_0x1340b8(0x1b3)]=![],this[_0x1340b8(0x180)]=_0x274939['timeout']||0x1d4c0,this['maxConcurrentOperations']=_0x274939['maxConcurrentOperations']||0x1,this['defaultMinTokens']=_0x274939['defaultMinTokens']||0x32,this[_0x1340b8(0x1bf)]=_0x274939[_0x1340b8(0x1bf)]||0x5,this[_0x1340b8(0x16d)]=_0x274939[_0x1340b8(0x16d)]||0.85,this[_0x1340b8(0x1b6)]=_0x274939[_0x1340b8(0x1b6)]||0x7a120,this[_0x1340b8(0x172)]=new a0_0x26752e(_0x274939,_0x391936),this[_0x1340b8(0x183)]=null;}['getDescription'](){const _0x548a18=a0_0x13b5;return _0x548a18(0x179)+Math[_0x548a18(0x18e)](this[_0x548a18(0x1b6)]/0x400)+'KB\x20per\x20file\x0a-\x20Analysis\x20timeout:\x20'+this['timeout']/0x3e8+'\x20seconds\x0a\x20\x20\x20\x20';}['parseParameters'](_0x408a78){const _0x134ea7=a0_0x13b5;try{const _0xc1b680={},_0x1b0442=[];this['logger']?.['debug'](_0x134ea7(0x18b),{'contentLength':_0x408a78[_0x134ea7(0x1c9)],'contentPreview':_0x408a78['substring'](0x0,0xc8)});const _0x1e5c78=/<detect-clones\s+(.+?)\/>/g;let _0x31663d;while((_0x31663d=_0x1e5c78[_0x134ea7(0x19d)](_0x408a78))!==null){const _0x2f70c2=_0x31663d[0x1]['trim'](),_0x4d4faf=new a0_0x470a41(),_0x4ac59d=_0x4d4faf[_0x134ea7(0x1a7)](_0x2f70c2),_0x590433={'type':'detect-clones',..._0x4ac59d};_0x590433[_0x134ea7(0x19c)]&&(_0x590433['minTokens']=parseInt(_0x590433['min-tokens'],0xa),delete _0x590433[_0x134ea7(0x19c)]),_0x590433[_0x134ea7(0x1c4)]&&(_0x590433['minLines']=parseInt(_0x590433['min-lines'],0xa),delete _0x590433['min-lines']),_0x590433['similarity-threshold']&&(_0x590433['similarityThreshold']=parseFloat(_0x590433[_0x134ea7(0x186)]),delete _0x590433['similarity-threshold']),_0x590433[_0x134ea7(0x1bb)]&&(_0x590433[_0x134ea7(0x174)]=_0x590433['priority-filter'],delete _0x590433[_0x134ea7(0x1bb)]),_0x590433['max-results']&&(_0x590433['maxResults']=parseInt(_0x590433[_0x134ea7(0x1c8)],0xa),delete _0x590433['max-results']),_0x590433[_0x134ea7(0x1ce)]&&(_0x590433[_0x134ea7(0x1d3)]=_0x590433[_0x134ea7(0x1ce)],delete _0x590433[_0x134ea7(0x1ce)]),_0x1b0442[_0x134ea7(0x1a5)](_0x590433);}return _0xc1b680['actions']=_0x1b0442,_0xc1b680[_0x134ea7(0x193)]=_0x408a78['trim'](),this['logger']?.[_0x134ea7(0x1ab)]('Parsed\x20CloneDetection\x20tool\x20parameters',{'totalActions':_0x1b0442[_0x134ea7(0x1c9)],'actionTypes':_0x1b0442['map'](_0x4019c4=>_0x4019c4['type'])}),_0xc1b680;}catch(_0x2ccf00){throw new Error(_0x134ea7(0x194)+_0x2ccf00[_0x134ea7(0x196)]);}}[a0_0x1ff9c9(0x185)](){const _0x28255c=a0_0x1ff9c9;return[_0x28255c(0x1aa)];}['customValidateParameters'](_0x3ef8e2){const _0x267419=a0_0x1ff9c9,_0x5761c1=[];if(!_0x3ef8e2[_0x267419(0x1aa)]||!Array['isArray'](_0x3ef8e2[_0x267419(0x1aa)])||_0x3ef8e2[_0x267419(0x1aa)][_0x267419(0x1c9)]===0x0)_0x5761c1['push']('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x4ce5a9,_0x4c37b6]of _0x3ef8e2[_0x267419(0x1aa)][_0x267419(0x1b0)]()){if(!_0x4c37b6[_0x267419(0x1c1)]){_0x5761c1['push']('Action\x20'+(_0x4ce5a9+0x1)+':\x20type\x20is\x20required');continue;}_0x4c37b6['type']==='detect-clones'?(!_0x4c37b6['directory']&&_0x5761c1[_0x267419(0x1a5)](_0x267419(0x198)+(_0x4ce5a9+0x1)+_0x267419(0x1ac)),_0x4c37b6[_0x267419(0x1b8)]!==undefined&&(_0x4c37b6['minTokens']<0xa||_0x4c37b6[_0x267419(0x1b8)]>0x3e8)&&_0x5761c1[_0x267419(0x1a5)]('Action\x20'+(_0x4ce5a9+0x1)+_0x267419(0x182)),_0x4c37b6[_0x267419(0x171)]!==undefined&&(_0x4c37b6['minLines']<0x1||_0x4c37b6[_0x267419(0x171)]>0x64)&&_0x5761c1[_0x267419(0x1a5)](_0x267419(0x198)+(_0x4ce5a9+0x1)+':\x20min-lines\x20must\x20be\x20between\x201\x20and\x20100'),_0x4c37b6['similarityThreshold']!==undefined&&(_0x4c37b6['similarityThreshold']<0.5||_0x4c37b6['similarityThreshold']>0x1)&&_0x5761c1[_0x267419(0x1a5)]('Action\x20'+(_0x4ce5a9+0x1)+_0x267419(0x19b)),_0x4c37b6[_0x267419(0x174)]&&![_0x267419(0x199),_0x267419(0x19f),_0x267419(0x177)][_0x267419(0x1b7)](_0x4c37b6[_0x267419(0x174)])&&_0x5761c1[_0x267419(0x1a5)](_0x267419(0x198)+(_0x4ce5a9+0x1)+':\x20priority-filter\x20must\x20be\x20high,\x20medium,\x20or\x20low'),_0x4c37b6['outputMode']&&!['summary',_0x267419(0x1ca),_0x267419(0x1a6)]['includes'](_0x4c37b6[_0x267419(0x1d3)])&&_0x5761c1['push'](_0x267419(0x198)+(_0x4ce5a9+0x1)+_0x267419(0x1c7))):_0x5761c1[_0x267419(0x1a5)]('Action\x20'+(_0x4ce5a9+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x4c37b6['type']);}return{'valid':_0x5761c1[_0x267419(0x1c9)]===0x0,'errors':_0x5761c1};}async[a0_0x1ff9c9(0x170)](_0x52702a,_0x3d8b86){const _0x44c2a1=a0_0x1ff9c9,{actions:_0xd91f5e}=_0x52702a,{projectDir:_0x2449f0,agentId:_0x1202a2,directoryAccess:_0xb5cec7}=_0x3d8b86,_0x379291=_0xb5cec7||this['directoryAccessManager']['createDirectoryAccess']({'workingDirectory':_0x2449f0||process[_0x44c2a1(0x16a)](),'writeEnabledDirectories':[],'readOnlyDirectories':[_0x2449f0||process[_0x44c2a1(0x16a)]()],'restrictToProject':!![]}),_0x170d7c=this[_0x44c2a1(0x172)]['getWorkingDirectory'](_0x379291),_0x21b1fc=[];for(const _0x8c1aa8 of _0xd91f5e){try{if(_0x8c1aa8[_0x44c2a1(0x1c1)]===_0x44c2a1(0x190)){const _0x490a7c=await this['detectClones'](_0x8c1aa8[_0x44c2a1(0x16c)],_0x170d7c,_0x379291,_0x8c1aa8);_0x21b1fc['push'](_0x490a7c);}else throw new Error('Unknown\x20action\x20type:\x20'+_0x8c1aa8['type']);}catch(_0xce3740){this['logger']?.['error'](_0x44c2a1(0x1d0),{'action':_0x8c1aa8[_0x44c2a1(0x1c1)],'error':_0xce3740['message']}),_0x21b1fc[_0x44c2a1(0x1a5)]({'directory':_0x8c1aa8['directory'],'error':_0xce3740['message'],'success':![]});}}return{'success':!![],'results':_0x21b1fc,'toolUsed':_0x44c2a1(0x1b4)};}async[a0_0x1ff9c9(0x1be)](_0x554914,_0x3ea9f3,_0x13f90d,_0x1bd07a={}){const _0x50eb6c=a0_0x1ff9c9,_0x4c8e27=a0_0x34638b['isAbsolute'](_0x554914)?a0_0x34638b['normalize'](_0x554914):a0_0x34638b['resolve'](_0x3ea9f3,_0x554914),_0x3765cc=this['directoryAccessManager'][_0x50eb6c(0x1bc)](_0x4c8e27,_0x13f90d);if(!_0x3765cc[_0x50eb6c(0x17c)])throw new Error(_0x50eb6c(0x184)+_0x3765cc[_0x50eb6c(0x1cf)]);try{const _0x53196e=await this[_0x50eb6c(0x1cb)](),_0x11fe74={'minTokens':_0x1bd07a['minTokens']||this['defaultMinTokens'],'minLines':_0x1bd07a[_0x50eb6c(0x171)]||this['defaultMinLines'],'similarityThreshold':_0x1bd07a[_0x50eb6c(0x1ad)]||this[_0x50eb6c(0x16d)],'include':['**/*.js','**/*.jsx','**/*.mjs','**/*.cjs','**/*.ts','**/*.tsx',_0x50eb6c(0x1c6)],'exclude':[_0x50eb6c(0x181),'**/dist/**','**/build/**','**/*.test.js','**/*.spec.js'],'maxFileSize':this[_0x50eb6c(0x1b6)]};this['logger']?.['info']('Starting\x20clone\x20detection',{'directory':_0x4c8e27,'config':_0x11fe74});const _0x46b682=await _0x53196e['run'](_0x4c8e27,null);if(!_0x46b682)return{'directory':this['directoryAccessManager']['createRelativePath'](_0x4c8e27,_0x13f90d),'fullPath':_0x4c8e27,'success':!![],'summary':{'totalFiles':0x0,'totalClones':0x0,'duplicationPercentage':0x0},'clones':[],'message':'No\x20files\x20found\x20or\x20no\x20clones\x20detected'};let _0x590c53=_0x46b682['clones'];_0x1bd07a['priorityFilter']&&(_0x590c53=_0x590c53[_0x50eb6c(0x19e)](_0x163988=>_0x163988[_0x50eb6c(0x18c)]['priority']===_0x1bd07a['priorityFilter']));_0x1bd07a['maxResults']&&(_0x590c53=_0x590c53[_0x50eb6c(0x192)](0x0,_0x1bd07a[_0x50eb6c(0x1c5)]));const _0x30952c=_0x1bd07a['outputMode']||'detailed';if(_0x30952c===_0x50eb6c(0x17d))return this[_0x50eb6c(0x1a3)](_0x46b682,_0x590c53,_0x4c8e27,_0x13f90d);else return _0x30952c==='recommendations'?this[_0x50eb6c(0x16b)](_0x46b682,_0x590c53,_0x4c8e27,_0x13f90d):this['formatDetailedOutput'](_0x46b682,_0x590c53,_0x4c8e27,_0x13f90d);}catch(_0xe4f9f1){throw new Error('Failed\x20to\x20detect\x20clones\x20in\x20'+_0x554914+':\x20'+_0xe4f9f1[_0x50eb6c(0x196)]);}}[a0_0x1ff9c9(0x1a3)](_0x13b6c9,_0x2a1180,_0x2e9e7c,_0x1faafd){const _0x3d9871=a0_0x1ff9c9;return{'directory':this['directoryAccessManager']['createRelativePath'](_0x2e9e7c,_0x1faafd),'fullPath':_0x2e9e7c,'success':!![],'outputMode':'summary','summary':{'totalFiles':_0x13b6c9['summary']['totalFiles'],'totalClones':_0x13b6c9[_0x3d9871(0x17d)]['totalClones'],'duplicatedLines':_0x13b6c9['summary'][_0x3d9871(0x195)],'duplicationPercentage':_0x13b6c9[_0x3d9871(0x17d)]['duplicationPercentage'],'priorityCounts':_0x13b6c9['summary']['priorityCounts'],'topClones':_0x2a1180[_0x3d9871(0x192)](0x0,0x5)['map'](_0x419485=>({'id':_0x419485['id'],'type':_0x419485['type'],'confidence':_0x419485['confidence'],'instances':_0x419485[_0x3d9871(0x17e)]['instanceCount'],'lines':_0x419485['metrics'][_0x3d9871(0x1b5)],'priority':_0x419485['refactoringAdvice'][_0x3d9871(0x197)],'strategy':_0x419485['refactoringAdvice'][_0x3d9871(0x173)],'locations':_0x419485[_0x3d9871(0x18d)]['map'](_0x5280df=>_0x5280df[_0x3d9871(0x178)]+':'+_0x5280df[_0x3d9871(0x1a8)]+'-'+_0x5280df['endLine'])}))}};}[a0_0x1ff9c9(0x16b)](_0x4503ff,_0x469fc3,_0x5bf303,_0x1be74a){const _0x3c0405=a0_0x1ff9c9;return{'directory':this['directoryAccessManager'][_0x3c0405(0x1c2)](_0x5bf303,_0x1be74a),'fullPath':_0x5bf303,'success':!![],'outputMode':_0x3c0405(0x1a6),'summary':{'totalFiles':_0x4503ff['summary'][_0x3c0405(0x1d2)],'totalClones':_0x4503ff['summary']['totalClones'],'duplicationPercentage':_0x4503ff[_0x3c0405(0x17d)]['duplicationPercentage']},'recommendations':_0x469fc3['map'](_0x12b9c0=>({'id':_0x12b9c0['id'],'priority':_0x12b9c0[_0x3c0405(0x18c)][_0x3c0405(0x197)],'strategy':_0x12b9c0[_0x3c0405(0x18c)][_0x3c0405(0x173)],'suggestedName':_0x12b9c0['refactoringAdvice'][_0x3c0405(0x17a)],'reasoning':_0x12b9c0['refactoringAdvice'][_0x3c0405(0x1d1)],'effort':_0x12b9c0[_0x3c0405(0x18c)][_0x3c0405(0x189)],'benefits':_0x12b9c0[_0x3c0405(0x18c)][_0x3c0405(0x191)],'steps':_0x12b9c0['refactoringAdvice']['actionableSteps'],'metrics':{'instances':_0x12b9c0[_0x3c0405(0x17e)][_0x3c0405(0x17b)],'lines':_0x12b9c0['metrics']['lineCount'],'files':_0x12b9c0['metrics'][_0x3c0405(0x1ba)],'impact':_0x12b9c0['metrics']['impactScore']},'locations':_0x12b9c0['instances']['map'](_0x262450=>({'file':_0x262450['file'],'startLine':_0x262450['startLine'],'endLine':_0x262450[_0x3c0405(0x169)]}))}))};}[a0_0x1ff9c9(0x175)](_0x3ec23e,_0x2842d6,_0x474dc7,_0x17862f){const _0x5e26bd=a0_0x1ff9c9;return{'directory':this[_0x5e26bd(0x172)][_0x5e26bd(0x1c2)](_0x474dc7,_0x17862f),'fullPath':_0x474dc7,'success':!![],'outputMode':_0x5e26bd(0x1ca),'summary':_0x3ec23e['summary'],'clones':_0x2842d6['map'](_0x4e541a=>({..._0x4e541a,'instances':_0x4e541a[_0x5e26bd(0x18d)]['map'](_0x485efc=>({..._0x485efc,'code':_0x485efc[_0x5e26bd(0x18f)]['split']('\x0a')[_0x5e26bd(0x192)](0x0,0xa)['join']('\x0a')+(_0x485efc[_0x5e26bd(0x18f)][_0x5e26bd(0x1b9)]('\x0a')['length']>0xa?_0x5e26bd(0x19a):'')}))}))};}async['getCloneDetector'](){const _0x2c69c1=a0_0x1ff9c9;if(!this[_0x2c69c1(0x183)]){const {CloneDetectionTool:_0x101096}=await import('../analyzers/codeCloneDetector/index.js'),_0x13b8dd={'minTokens':this['defaultMinTokens'],'minLines':this[_0x2c69c1(0x1bf)],'similarityThreshold':this[_0x2c69c1(0x16d)],'include':[_0x2c69c1(0x1a9),_0x2c69c1(0x18a),_0x2c69c1(0x1a4),_0x2c69c1(0x1bd),_0x2c69c1(0x1c6)],'exclude':['**/node_modules/**','**/dist/**',_0x2c69c1(0x187)],'maxFileSize':this['maxFileSize']};this['cloneDetector']=new _0x101096(_0x13b8dd),this['logger']?.[_0x2c69c1(0x1ab)](_0x2c69c1(0x188),{'config':_0x13b8dd});}return this['cloneDetector'];}[a0_0x1ff9c9(0x16f)](){const _0xf1b692=a0_0x1ff9c9;return[_0xf1b692(0x190)];}[a0_0x1ff9c9(0x1a1)](){const _0x336534=a0_0x1ff9c9;return{'type':'object','properties':{'actions':{'type':_0x336534(0x1b1),'minItems':0x1,'items':{'type':_0x336534(0x1a2),'properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'directory':{'type':_0x336534(0x17f)},'minTokens':{'type':'number','minimum':0xa,'maximum':0x3e8},'minLines':{'type':'number','minimum':0x1,'maximum':0x64},'similarityThreshold':{'type':'number','minimum':0.5,'maximum':0x1},'priorityFilter':{'type':_0x336534(0x17f),'enum':[_0x336534(0x199),'medium',_0x336534(0x177)]},'maxResults':{'type':'number','minimum':0x1},'outputMode':{'type':'string','enum':['summary','detailed','recommendations']}},'required':['type','directory']}}},'required':['actions']};}}export default CloneDetectionTool;
1
+ const a0_0x434bbb=a0_0x1e51;(function(_0x10f223,_0x58e2fc){const _0x497c4f=a0_0x1e51,_0x25d503=_0x10f223();while(!![]){try{const _0xacebf6=-parseInt(_0x497c4f(0x142))/0x1*(parseInt(_0x497c4f(0x18a))/0x2)+parseInt(_0x497c4f(0x14d))/0x3*(-parseInt(_0x497c4f(0x160))/0x4)+parseInt(_0x497c4f(0x198))/0x5*(-parseInt(_0x497c4f(0x18b))/0x6)+-parseInt(_0x497c4f(0x168))/0x7*(-parseInt(_0x497c4f(0x13a))/0x8)+parseInt(_0x497c4f(0x157))/0x9*(-parseInt(_0x497c4f(0x156))/0xa)+-parseInt(_0x497c4f(0x179))/0xb+parseInt(_0x497c4f(0x14c))/0xc*(parseInt(_0x497c4f(0x158))/0xd);if(_0xacebf6===_0x58e2fc)break;else _0x25d503['push'](_0x25d503['shift']());}catch(_0xcf8478){_0x25d503['push'](_0x25d503['shift']());}}}(a0_0x3dcd,0x93f33));import{BaseTool}from'./baseTool.js';function a0_0x1e51(_0x22d3cb,_0x95dbe){_0x22d3cb=_0x22d3cb-0x136;const _0x3dcd29=a0_0x3dcd();let _0x1e517c=_0x3dcd29[_0x22d3cb];if(a0_0x1e51['lmWadp']===undefined){var _0x5da7ba=function(_0x42badf){const _0x21cae9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d61a9='',_0x5b03f8='';for(let _0x55d4ce=0x0,_0x216444,_0x4cd754,_0x492d1b=0x0;_0x4cd754=_0x42badf['charAt'](_0x492d1b++);~_0x4cd754&&(_0x216444=_0x55d4ce%0x4?_0x216444*0x40+_0x4cd754:_0x4cd754,_0x55d4ce++%0x4)?_0x1d61a9+=String['fromCharCode'](0xff&_0x216444>>(-0x2*_0x55d4ce&0x6)):0x0){_0x4cd754=_0x21cae9['indexOf'](_0x4cd754);}for(let _0x1a3e09=0x0,_0x1671b7=_0x1d61a9['length'];_0x1a3e09<_0x1671b7;_0x1a3e09++){_0x5b03f8+='%'+('00'+_0x1d61a9['charCodeAt'](_0x1a3e09)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b03f8);};a0_0x1e51['STIBHy']=_0x5da7ba,a0_0x1e51['VetzYI']={},a0_0x1e51['lmWadp']=!![];}const _0xe6d7de=_0x3dcd29[0x0],_0x4ce779=_0x22d3cb+_0xe6d7de,_0xa0748a=a0_0x1e51['VetzYI'][_0x4ce779];return!_0xa0748a?(_0x1e517c=a0_0x1e51['STIBHy'](_0x1e517c),a0_0x1e51['VetzYI'][_0x4ce779]=_0x1e517c):_0x1e517c=_0xa0748a,_0x1e517c;}import a0_0x1d61a9 from'../utilities/tagParser.js';import a0_0x5b03f8 from'../utilities/directoryAccessManager.js';function a0_0x3dcd(){const _0x440077=['Bwv0CMLJCW','zw5KtgLUzq','Aw1Wywn0u2nVCMu','C3rYAw5N','ywn0Aw9UywjSzvn0zxbZ','BgLUzunVDw50','CMvJB21Tzw5KyxrPB25Z','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','mJm5mJC1m25vz2HPvq','kIOVkI5ZCgvJlMPZ','zMLSzxndB3zLCMvK','ChjPB3jPDhK','y29Kzq','BwLUvg9Rzw5Z','B3v0Chv0lw1Vzgu','CgfYC2vbDhrYAwj1DgvZ','BwvZC2fNzq','yMvUzwzPDhm','ywn0Aw9UCW','CNvU','zgv0zwn0lwnSB25LCW','B2jQzwn0','z2v0q2XVBMvezxrLy3rVCG','kIOVkI5QCW','Dg90ywXgAwXLCW','mtqZmZbdwhnlvuW','mtCZnfjsBfnJza','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YigrLDgvJDc1JBg9Uzxm','z2v0u3vWCg9YDgvKqwn0Aw9UCW','CMvZB2X2zq','Aw5JBhvKzxm','zgvIDwC','BgvUz3rO','y2XVBMvZ','ChvZAa','zw50CMLLCW','Bwf4uMvZDwX0CW','cI4UlIaODhj1BMnHDgvKkq','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','nJKXmgTRquDvCG','y2XVBMvKzxrLy3rPB24','B3v0Chv0tw9Kzq','Aw5ZDgfUy2vZ','zxn0Aw1HDgvKrwzMB3j0','oIbTAw4TDg9Rzw5Zig11C3qGyMuGyMv0D2vLBIaXmcbHBMqGmtaWma','kIOVkI50CW','qwn0Aw9Uia','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','zgvMyxvSDe1PBKXPBMvZ','BwvKAxvT','Bg93','BNvTyMvY','zMLSzq','yxjYyxK','zMLSDgvY','oIbVDxrWDxqTBw9KzsbTDxn0igjLihn1Bw1HCNKSigrLDgfPBgvKlcbVCIbYzwnVBw1LBMrHDgLVBNm','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','nZi0nZq0uK53t0rJ','kIOVzgLZDc8QkG','CMf3q29UDgvUDa','Dg90ywXdBg9Uzxm','Bg9Nz2vY','Bwf4rMLSzvnPEMu','lI4Vyw5HBhL6zxjZl2nVzgvdBg9UzurLDgvJDg9Yl2LUzgv4lMPZ','uMvHzcbHy2nLC3mGzgvUAwvKoIa','n3HlCwrUva','s0iGCgvYigzPBguklsbbBMfSExnPCYb0Aw1LB3v0oIa','AgLNAa','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','DhLWzq','zgvMyxvSDe1PBLrVA2vUCW','ChjPB3jPDhLdB3vUDhm','C3rYyxrLz3K','q2XVBMuGzgv0zwn0Aw9UigfJDgLVBIbMywLSzwq','zgv0ywLSzwq','mJGYntqYneDXuKTdtW','otnLuKnLzhi','BM9YBwfSAxPL','Aw5ZDgfUy2vdB3vUDa','C3vIC3rYAw5N','Aw5MBW','zgv0zwn0q2XVBMvZ','kIOVBM9Kzv9TB2r1BgvZlYOQ','oIbWCMLVCML0Es1MAwX0zxiGBxvZDcbIzsbOAwDOlcbTzwrPDw0Sig9YigXVDW','zxjYB3i','ndqYntq2menmqxfUtW','ouHbvvrpwa','mte3AvbzCK9u','zM9YBwf0rgv0ywLSzwrpDxrWDxq','DhjPBq','DMfSAwrHDgvszwfKqwnJzxnZ','zgLYzwn0B3j5','zgvMyxvSDfnPBwLSyxjPDhLuAhjLC2HVBgq','y3jLyxrLuMvSyxrPDMvqyxrO','BwLUlwXPBMvZ','nZu0mZzXBerLr2S','ChjPB3jPDhLgAwX0zxi','BwfW','C3vTBwfYEq','CMvMywn0B3jPBMDbzhzPy2u','DgLTzw91Da','y2XVBMvezxrLy3rVCG','BwLUlxrVA2vUCW','mtrswgLpEuO','kIOVkI50zxn0lMPZ','ChjPB3jPDhKTzMLSDgvY','kIOVyNvPBgqVkIO','C2XPy2u','ihnLy29UzhmkicaGia','AxnbyNnVBhv0zq','zM9YBwf0uMvJB21Tzw5KyxrPB25Zt3v0Chv0','zM9YBwf0u3vTBwfYEu91Dhb1Da'];a0_0x3dcd=function(){return _0x440077;};return a0_0x3dcd();}import a0_0x55d4ce from'path';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class CloneDetectionTool extends BaseTool{constructor(_0x216444={},_0x4cd754=null){const _0x140cd3=a0_0x1e51;super(_0x216444,_0x4cd754),this['requiresProject']=!![],this['isAsync']=![],this['timeout']=_0x216444['timeout']||0x1d4c0,this['maxConcurrentOperations']=_0x216444['maxConcurrentOperations']||0x1,this[_0x140cd3(0x147)]=_0x216444[_0x140cd3(0x147)]||0x32,this['defaultMinLines']=_0x216444[_0x140cd3(0x1a1)]||0x5,this[_0x140cd3(0x15d)]=_0x216444['defaultSimilarityThreshold']||0.85,this['maxFileSize']=_0x216444[_0x140cd3(0x13f)]||0x7a120,this[_0x140cd3(0x1a0)]=new a0_0x5b03f8(_0x216444,_0x4cd754),this['cloneDetector']=null;}['getDescription'](){const _0x463dcc=a0_0x1e51;return _0x463dcc(0x197)+Math['round'](this[_0x463dcc(0x13f)]/0x400)+_0x463dcc(0x143)+this[_0x463dcc(0x165)]/0x3e8+_0x463dcc(0x16d);}['parseParameters'](_0x492d1b){const _0x2436e0=a0_0x1e51;try{const _0x1a3e09={},_0x1671b7=[];this['logger']?.['debug']('CloneDetection\x20tool\x20parsing\x20parameters',{'contentLength':_0x492d1b['length'],'contentPreview':_0x492d1b[_0x2436e0(0x150)](0x0,0xc8)});const _0x26db54=/<detect-clones\s+(.+?)\/>/g;let _0x4093a5;while((_0x4093a5=_0x26db54['exec'](_0x492d1b))!==null){const _0x19964e=_0x4093a5[0x1][_0x2436e0(0x15a)](),_0x43c1fa=new a0_0x1d61a9(),_0x3a1795=_0x43c1fa[_0x2436e0(0x180)](_0x19964e),_0x5ee43b={'type':'detect-clones',..._0x3a1795};_0x5ee43b[_0x2436e0(0x167)]&&(_0x5ee43b[_0x2436e0(0x17e)]=parseInt(_0x5ee43b[_0x2436e0(0x167)],0xa),delete _0x5ee43b[_0x2436e0(0x167)]),_0x5ee43b[_0x2436e0(0x15f)]&&(_0x5ee43b['minLines']=parseInt(_0x5ee43b[_0x2436e0(0x15f)],0xa),delete _0x5ee43b[_0x2436e0(0x15f)]),_0x5ee43b['similarity-threshold']&&(_0x5ee43b['similarityThreshold']=parseFloat(_0x5ee43b['similarity-threshold']),delete _0x5ee43b['similarity-threshold']),_0x5ee43b[_0x2436e0(0x16a)]&&(_0x5ee43b['priorityFilter']=_0x5ee43b[_0x2436e0(0x16a)],delete _0x5ee43b[_0x2436e0(0x16a)]),_0x5ee43b['max-results']&&(_0x5ee43b['maxResults']=parseInt(_0x5ee43b['max-results'],0xa),delete _0x5ee43b['max-results']),_0x5ee43b['output-mode']&&(_0x5ee43b['outputMode']=_0x5ee43b[_0x2436e0(0x17f)],delete _0x5ee43b['output-mode']),_0x1671b7[_0x2436e0(0x193)](_0x5ee43b);}return _0x1a3e09['actions']=_0x1671b7,_0x1a3e09[_0x2436e0(0x13c)]=_0x492d1b['trim'](),this[_0x2436e0(0x13e)]?.[_0x2436e0(0x190)]('Parsed\x20CloneDetection\x20tool\x20parameters',{'totalActions':_0x1671b7['length'],'actionTypes':_0x1671b7[_0x2436e0(0x162)](_0x578ad6=>_0x578ad6['type'])}),_0x1a3e09;}catch(_0x46d1a7){throw new Error('Failed\x20to\x20parse\x20clone\x20detection\x20parameters:\x20'+_0x46d1a7[_0x2436e0(0x181)]);}}[a0_0x434bbb(0x145)](){return['actions'];}['customValidateParameters'](_0x37808f){const _0x4e2966=a0_0x434bbb,_0x490c83=[];if(!_0x37808f[_0x4e2966(0x183)]||!Array['isArray'](_0x37808f[_0x4e2966(0x183)])||_0x37808f['actions']['length']===0x0)_0x490c83['push'](_0x4e2966(0x178));else for(const [_0x3013fe,_0x239709]of _0x37808f['actions'][_0x4e2966(0x194)]()){if(!_0x239709['type']){_0x490c83['push'](_0x4e2966(0x19f)+(_0x3013fe+0x1)+':\x20type\x20is\x20required');continue;}_0x239709[_0x4e2966(0x146)]===_0x4e2966(0x185)?(!_0x239709[_0x4e2966(0x15c)]&&_0x490c83[_0x4e2966(0x193)](_0x4e2966(0x19f)+(_0x3013fe+0x1)+_0x4e2966(0x18c)),_0x239709['minTokens']!==undefined&&(_0x239709[_0x4e2966(0x17e)]<0xa||_0x239709[_0x4e2966(0x17e)]>0x3e8)&&_0x490c83['push'](_0x4e2966(0x19f)+(_0x3013fe+0x1)+_0x4e2966(0x19d)),_0x239709['minLines']!==undefined&&(_0x239709['minLines']<0x1||_0x239709['minLines']>0x64)&&_0x490c83['push']('Action\x20'+(_0x3013fe+0x1)+':\x20min-lines\x20must\x20be\x20between\x201\x20and\x20100'),_0x239709['similarityThreshold']!==undefined&&(_0x239709['similarityThreshold']<0.5||_0x239709['similarityThreshold']>0x1)&&_0x490c83[_0x4e2966(0x193)](_0x4e2966(0x19f)+(_0x3013fe+0x1)+':\x20similarity-threshold\x20must\x20be\x20between\x200.5\x20and\x201.0'),_0x239709[_0x4e2966(0x161)]&&!['high',_0x4e2966(0x1a2),_0x4e2966(0x1a3)]['includes'](_0x239709[_0x4e2966(0x161)])&&_0x490c83[_0x4e2966(0x193)](_0x4e2966(0x19f)+(_0x3013fe+0x1)+_0x4e2966(0x154)),_0x239709[_0x4e2966(0x19a)]&&!['summary',_0x4e2966(0x14b),_0x4e2966(0x177)][_0x4e2966(0x18f)](_0x239709[_0x4e2966(0x19a)])&&_0x490c83['push']('Action\x20'+(_0x3013fe+0x1)+_0x4e2966(0x138))):_0x490c83[_0x4e2966(0x193)]('Action\x20'+(_0x3013fe+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x239709['type']);}return{'valid':_0x490c83[_0x4e2966(0x191)]===0x0,'errors':_0x490c83};}async['execute'](_0x378b73,_0x51669a){const _0x3694c0=a0_0x434bbb,{actions:_0x5d9803}=_0x378b73,{projectDir:_0xcd4b01,agentId:_0xf601f3,directoryAccess:_0x5ec53e}=_0x51669a,_0x4abb21=_0x5ec53e||this[_0x3694c0(0x1a0)][_0x3694c0(0x139)]({'workingDirectory':_0xcd4b01||process['cwd'](),'writeEnabledDirectories':[],'readOnlyDirectories':[_0xcd4b01||process['cwd']()],'restrictToProject':!![]}),_0x551960=this[_0x3694c0(0x1a0)]['getWorkingDirectory'](_0x4abb21),_0x4a2874=[];for(const _0x3bb59a of _0x5d9803){try{if(_0x3bb59a['type']==='detect-clones'){const _0x7da25b=await this['detectClones'](_0x3bb59a[_0x3694c0(0x15c)],_0x551960,_0x4abb21,_0x3bb59a);_0x4a2874[_0x3694c0(0x193)](_0x7da25b);}else throw new Error('Unknown\x20action\x20type:\x20'+_0x3bb59a['type']);}catch(_0x31c508){this['logger']?.[_0x3694c0(0x155)](_0x3694c0(0x14a),{'action':_0x3bb59a[_0x3694c0(0x146)],'error':_0x31c508['message']}),_0x4a2874[_0x3694c0(0x193)]({'directory':_0x3bb59a['directory'],'error':_0x31c508['message'],'success':![]});}}return{'success':!![],'results':_0x4a2874,'toolUsed':_0x3694c0(0x199)};}async[a0_0x434bbb(0x152)](_0x4eecae,_0x238d33,_0x16d1af,_0x2587fd={}){const _0x9e7149=a0_0x434bbb,_0x34b4a3=a0_0x55d4ce[_0x9e7149(0x16e)](_0x4eecae)?a0_0x55d4ce[_0x9e7149(0x14e)](_0x4eecae):a0_0x55d4ce[_0x9e7149(0x18e)](_0x238d33,_0x4eecae),_0x390f1b=this['directoryAccessManager'][_0x9e7149(0x15b)](_0x34b4a3,_0x16d1af);if(!_0x390f1b['allowed'])throw new Error(_0x9e7149(0x141)+_0x390f1b['reason']);try{const _0x59a917=await this[_0x9e7149(0x187)](),_0x3ec584={'minTokens':_0x2587fd['minTokens']||this['defaultMinTokens'],'minLines':_0x2587fd['minLines']||this['defaultMinLines'],'similarityThreshold':_0x2587fd['similarityThreshold']||this[_0x9e7149(0x15d)],'include':[_0x9e7149(0x188),'**/*.jsx','**/*.mjs','**/*.cjs','**/*.ts','**/*.tsx','**/*.vue'],'exclude':['**/node_modules/**',_0x9e7149(0x13b),'**/build/**',_0x9e7149(0x169),_0x9e7149(0x17a)],'maxFileSize':this[_0x9e7149(0x13f)]};this[_0x9e7149(0x13e)]?.[_0x9e7149(0x151)]('Starting\x20clone\x20detection',{'directory':_0x34b4a3,'config':_0x3ec584});const _0x595d45=await _0x59a917[_0x9e7149(0x184)](_0x34b4a3,null);if(!_0x595d45)return{'directory':this[_0x9e7149(0x1a0)]['createRelativePath'](_0x34b4a3,_0x16d1af),'fullPath':_0x34b4a3,'success':!![],'summary':{'totalFiles':0x0,'totalClones':0x0,'duplicationPercentage':0x0},'clones':[],'message':'No\x20files\x20found\x20or\x20no\x20clones\x20detected'};let _0x489db0=_0x595d45[_0x9e7149(0x192)];_0x2587fd[_0x9e7149(0x161)]&&(_0x489db0=_0x489db0[_0x9e7149(0x137)](_0x23dace=>_0x23dace['refactoringAdvice']['priority']===_0x2587fd[_0x9e7149(0x161)]));_0x2587fd[_0x9e7149(0x195)]&&(_0x489db0=_0x489db0['slice'](0x0,_0x2587fd[_0x9e7149(0x195)]));const _0x45425e=_0x2587fd[_0x9e7149(0x19a)]||_0x9e7149(0x14b);if(_0x45425e==='summary')return this[_0x9e7149(0x170)](_0x595d45,_0x489db0,_0x34b4a3,_0x16d1af);else return _0x45425e==='recommendations'?this[_0x9e7149(0x16f)](_0x595d45,_0x489db0,_0x34b4a3,_0x16d1af):this[_0x9e7149(0x159)](_0x595d45,_0x489db0,_0x34b4a3,_0x16d1af);}catch(_0x3da5da){throw new Error('Failed\x20to\x20detect\x20clones\x20in\x20'+_0x4eecae+':\x20'+_0x3da5da['message']);}}['formatSummaryOutput'](_0xeb43f,_0x28098b,_0x16c914,_0x5df6b8){const _0x36b4b8=a0_0x434bbb;return{'directory':this[_0x36b4b8(0x1a0)][_0x36b4b8(0x15e)](_0x16c914,_0x5df6b8),'fullPath':_0x16c914,'success':!![],'outputMode':_0x36b4b8(0x163),'summary':{'totalFiles':_0xeb43f['summary'][_0x36b4b8(0x189)],'totalClones':_0xeb43f[_0x36b4b8(0x163)][_0x36b4b8(0x13d)],'duplicatedLines':_0xeb43f['summary']['totalDuplicatedLines'],'duplicationPercentage':_0xeb43f[_0x36b4b8(0x163)]['duplicationPercentage'],'priorityCounts':_0xeb43f[_0x36b4b8(0x163)][_0x36b4b8(0x148)],'topClones':_0x28098b[_0x36b4b8(0x16c)](0x0,0x5)[_0x36b4b8(0x162)](_0x164046=>({'id':_0x164046['id'],'type':_0x164046['type'],'confidence':_0x164046['confidence'],'instances':_0x164046['metrics'][_0x36b4b8(0x14f)],'lines':_0x164046[_0x36b4b8(0x171)][_0x36b4b8(0x176)],'priority':_0x164046['refactoringAdvice'][_0x36b4b8(0x17c)],'strategy':_0x164046[_0x36b4b8(0x164)]['strategy'],'locations':_0x164046['instances']['map'](_0x46c232=>_0x46c232[_0x36b4b8(0x1a5)]+':'+_0x46c232['startLine']+'-'+_0x46c232['endLine'])}))}};}[a0_0x434bbb(0x16f)](_0x393a7d,_0x443930,_0x5f8161,_0x4d4126){const _0x20ffbf=a0_0x434bbb;return{'directory':this['directoryAccessManager']['createRelativePath'](_0x5f8161,_0x4d4126),'fullPath':_0x5f8161,'success':!![],'outputMode':'recommendations','summary':{'totalFiles':_0x393a7d['summary']['totalFiles'],'totalClones':_0x393a7d[_0x20ffbf(0x163)][_0x20ffbf(0x13d)],'duplicationPercentage':_0x393a7d[_0x20ffbf(0x163)]['duplicationPercentage']},'recommendations':_0x443930['map'](_0x36af44=>({'id':_0x36af44['id'],'priority':_0x36af44['refactoringAdvice']['priority'],'strategy':_0x36af44[_0x20ffbf(0x164)][_0x20ffbf(0x149)],'suggestedName':_0x36af44['refactoringAdvice']['suggestedName'],'reasoning':_0x36af44['refactoringAdvice']['reasoning'],'effort':_0x36af44['refactoringAdvice'][_0x20ffbf(0x19c)],'benefits':_0x36af44[_0x20ffbf(0x164)][_0x20ffbf(0x182)],'steps':_0x36af44['refactoringAdvice'][_0x20ffbf(0x175)],'metrics':{'instances':_0x36af44['metrics'][_0x20ffbf(0x14f)],'lines':_0x36af44[_0x20ffbf(0x171)]['lineCount'],'files':_0x36af44['metrics'][_0x20ffbf(0x17b)],'impact':_0x36af44[_0x20ffbf(0x171)][_0x20ffbf(0x173)]},'locations':_0x36af44[_0x20ffbf(0x19b)]['map'](_0x573103=>({'file':_0x573103['file'],'startLine':_0x573103['startLine'],'endLine':_0x573103[_0x20ffbf(0x172)]}))}))};}[a0_0x434bbb(0x159)](_0x77ac4f,_0x5d95cd,_0x37ef16,_0x346c60){const _0x8549e4=a0_0x434bbb;return{'directory':this[_0x8549e4(0x1a0)]['createRelativePath'](_0x37ef16,_0x346c60),'fullPath':_0x37ef16,'success':!![],'outputMode':_0x8549e4(0x14b),'summary':_0x77ac4f['summary'],'clones':_0x5d95cd['map'](_0x2cf808=>({..._0x2cf808,'instances':_0x2cf808['instances'][_0x8549e4(0x162)](_0x590d09=>({..._0x590d09,'code':_0x590d09[_0x8549e4(0x17d)]['split']('\x0a')['slice'](0x0,0xa)['join']('\x0a')+(_0x590d09[_0x8549e4(0x17d)]['split']('\x0a')[_0x8549e4(0x191)]>0xa?_0x8549e4(0x196):'')}))}))};}async['getCloneDetector'](){const _0x4535c6=a0_0x434bbb;if(!this[_0x4535c6(0x166)]){const {CloneDetectionTool:_0x18984d}=await import(_0x4535c6(0x140)),_0xec61fe={'minTokens':this[_0x4535c6(0x147)],'minLines':this[_0x4535c6(0x1a1)],'similarityThreshold':this[_0x4535c6(0x15d)],'include':[_0x4535c6(0x188),'**/*.jsx',_0x4535c6(0x19e),'**/*.tsx','**/*.vue'],'exclude':[_0x4535c6(0x153),_0x4535c6(0x13b),_0x4535c6(0x16b)],'maxFileSize':this['maxFileSize']};this['cloneDetector']=new _0x18984d(_0xec61fe),this[_0x4535c6(0x13e)]?.[_0x4535c6(0x190)]('Clone\x20detector\x20initialized',{'config':_0xec61fe});}return this['cloneDetector'];}[a0_0x434bbb(0x18d)](){return['detect-clones'];}['getParameterSchema'](){const _0x33c901=a0_0x434bbb;return{'type':'object','properties':{'actions':{'type':_0x33c901(0x136),'minItems':0x1,'items':{'type':_0x33c901(0x186),'properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'directory':{'type':_0x33c901(0x174)},'minTokens':{'type':_0x33c901(0x1a4),'minimum':0xa,'maximum':0x3e8},'minLines':{'type':_0x33c901(0x1a4),'minimum':0x1,'maximum':0x64},'similarityThreshold':{'type':_0x33c901(0x1a4),'minimum':0.5,'maximum':0x1},'priorityFilter':{'type':'string','enum':[_0x33c901(0x144),'medium',_0x33c901(0x1a3)]},'maxResults':{'type':_0x33c901(0x1a4),'minimum':0x1},'outputMode':{'type':'string','enum':[_0x33c901(0x163),'detailed',_0x33c901(0x177)]}},'required':[_0x33c901(0x146),'directory']}}},'required':['actions']};}}export default CloneDetectionTool;