@loxia-labs/loxia-autopilot-one 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/agentActivityService.js +1 -0
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/index-CR8edPA3.js +348 -0
- package/web-ui/build/static/index-uN7nOVvZ.css +1 -0
- package/web-ui/build/static/index-DXN850Y2.js +0 -400
- package/web-ui/build/static/index-an-YRzUX.css +0 -1
package/src/tools/browserTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5090(_0x5074da,_0x41b9a3){_0x5074da=_0x5074da-0x1ed;const _0x5aab5b=a0_0x5aab();let _0x5090dd=_0x5aab5b[_0x5074da];if(a0_0x5090['IRiFMj']===undefined){var _0x5568b6=function(_0x52e8fd){const _0x842f2e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x473b4e='',_0x5cc6bf='';for(let _0xe0b150=0x0,_0x47439f,_0x570161,_0x6875e7=0x0;_0x570161=_0x52e8fd['charAt'](_0x6875e7++);~_0x570161&&(_0x47439f=_0xe0b150%0x4?_0x47439f*0x40+_0x570161:_0x570161,_0xe0b150++%0x4)?_0x473b4e+=String['fromCharCode'](0xff&_0x47439f>>(-0x2*_0xe0b150&0x6)):0x0){_0x570161=_0x842f2e['indexOf'](_0x570161);}for(let _0x33fca7=0x0,_0x100a34=_0x473b4e['length'];_0x33fca7<_0x100a34;_0x33fca7++){_0x5cc6bf+='%'+('00'+_0x473b4e['charCodeAt'](_0x33fca7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cc6bf);};a0_0x5090['feWXsy']=_0x5568b6,a0_0x5090['RgIwfO']={},a0_0x5090['IRiFMj']=!![];}const _0x205ee9=_0x5aab5b[0x0],_0x299336=_0x5074da+_0x205ee9,_0x41e497=a0_0x5090['RgIwfO'][_0x299336];return!_0x41e497?(_0x5090dd=a0_0x5090['feWXsy'](_0x5090dd),a0_0x5090['RgIwfO'][_0x299336]=_0x5090dd):_0x5090dd=_0x41e497,_0x5090dd;}const a0_0x3d9da7=a0_0x5090;(function(_0xbc390,_0x42e32c){const _0xe0803b=a0_0x5090,_0xe5a5c0=_0xbc390();while(!![]){try{const _0x52b9d0=parseInt(_0xe0803b(0x1f6))/0x1+-parseInt(_0xe0803b(0x22a))/0x2*(-parseInt(_0xe0803b(0x208))/0x3)+-parseInt(_0xe0803b(0x202))/0x4*(parseInt(_0xe0803b(0x1fe))/0x5)+-parseInt(_0xe0803b(0x229))/0x6+-parseInt(_0xe0803b(0x23a))/0x7+parseInt(_0xe0803b(0x25b))/0x8*(parseInt(_0xe0803b(0x212))/0x9)+-parseInt(_0xe0803b(0x1f2))/0xa*(-parseInt(_0xe0803b(0x261))/0xb);if(_0x52b9d0===_0x42e32c)break;else _0xe5a5c0['push'](_0xe5a5c0['shift']());}catch(_0x2ca80d){_0xe5a5c0['push'](_0xe5a5c0['shift']());}}}(a0_0x5aab,0x1d1a8));import{BaseTool}from'./baseTool.js';function a0_0x5aab(){const _0x2b4e20=['Dg9ju09tDhjPBMC','ywn0Aw9UCW','D2LKDgG','y2XPy2S','CMLNAhq','Dg9mB3DLCKnHC2u','C2vSzwn0qwXS','B2jQzwn0','C2L6zq','DMLLD3bVCNq','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','igj5DgvZicHTyxGG','oIbZzwXLy3rVCIbPCYbYzxf1AxjLzcbMB3iGDhLWzq','qwn0Aw9Uia','z2v0ugfYyw1LDgvYu2nOzw1H','z2v0qNjVD3nLCG','mtmYndm4nKDrCNPiAq','ota3mfzdDwvgEq','CMvZB2X2zq','u2nYzwvUC2HVDcbZyxzLzdOG','oIbLAxrOzxiGD2fPDc10Aw1Lig9YihDHAxqTC2vSzwn0B3iGAxmGCMvXDwLYzwq','yNjVD3nLCKnVBMzPzW','y2XVC2vcCM93C2vY','C2nYzwvUC2HVDa','z2v0rgvZy3jPChrPB24','Aw50zwDLCG','oIb3ywL0lxrPBwuGBxvZDcbIzsbIzxr3zwvUideWmcbHBMqGmZaWmdaGBwLSBgLZzwnVBMrZ','AxnbCNjHEq','z2v0qxr0CMLIDxrL','D2fPDc10Aw1L','u2nYB2XSigzHAwXLzdOG','DhjPBq','DxjS','mZi1nta3vgT0y0zO','zgLYBMfTzq','yNjVD3nLCG','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','C2nYB2XS','B3bLCMf0Aw9UsgLZDg9YEq','ywXSB3DLzerVBwfPBNm','oIb1CMWGAxmGCMvXDwLYzwqGzM9Yig5HDMLNyxrL','igzYB20G','yNjVD3nLCKLUC3rHBMnLCW','ywDLBNrjza','C2v0vxnLCKfNzw50','C2vSzwn0B3i','Bwf4u2nYzwvUC2HVDfnPEMu','zxH0CMfJDa','oIbVDxrWDxqTCgf0AcbPCYbYzxf1AxjLzcbMB3iGC2nYzwvUC2HVDa','D2fPDfrPBwu','ls1KAxnHyMXLlwrLDI1ZAg0TDxnHz2u','q2XPy2SGzMfPBgvKig9Uia','D2fPDezVCLnLBgvJDg9Y','DgL0Bgu','C29Tzq','cLrjtuvpvvq6ia','BMf2AwDHDgu','zxHLy3v0zq','D2fPDfnLBgvJDg9Y','yMXVy2TLzerVBwfPBNm','C2v0vMLLD3bVCNq','CxvLCNLtzwXLy3rVCG','zg93BG','C2nYB2XStgvMDa','Dgv4Da','qNjVD3nLCIbPBNn0yw5JzsbUB3qGzM91BMqGkgfSCMvHzhKGy2XVC2vKkq','mte1ntiWsxLMBM9e','BgvUz3rO','CgfYC2vqyxjHBwv0zxjZ','B3v0Chv0ugf0Aa','BgvMDa','BxmGCgvYig9WzxjHDgLVBGOGicaG','mti0odvcq3vOAvG','CMf3q29UDgvUDa','tMf2AwDHDgLVBIbMywLSzwq6ia','zM9JDxm','C3rYAw5N','ChvZAa','CMvXDwLYzxnqCM9Qzwn0','z2v0ugfNzq','zxHLyW','mty3mg1yBufRua','D2fPDc10ExbL','zNvSBfbHz2u','y2XVC2u','mtu4mNrRwxbdyW','CgfNzvrPBwvVDxq','rxH0CMfJDgvKia','zgvSzxrL','C3vJy2vZCW','ls1KAxnHyMXLlwDWDq','Aw5JBhvKzxm','rMfPBgvKihrVihbHCNnLigjYB3DZzxiGCgfYyw1LDgvYCW','nti4oteWtMPVD2jL','DxnLCKfNzw50','zNvSBc1WywDL','B3v0Chv0lxbHDgG','neXWEwrcEq','CgfNzq','ywrKvg9iAxn0B3j5','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','D2fPDc1ZzwXLy3rVCG','C2nYB2XSqNK','nZvfr1PzA0O','y2XLyw51CejYB3DZzxi','BwvZC2fNzq','AgvPz2H0','CgfYC2vbDhrYAwj1DgvZ','DgLTzw91Da','z290BW','ihrVigjLia','BMv0D29YA2LKBguW','DhLWzq','mte3DhvIEfn5','u2nYB2XSzwqG','z2v0u3vWCg9YDgvKqwn0Aw9UCW','D2fPDa','q2XPy2TLzcbVBIa','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','AxnbBgXVD2vKvxjS'];a0_0x5aab=function(){return _0x2b4e20;};return a0_0x5aab();}import a0_0x473b4e from'../utilities/tagParser.js';import a0_0x5cc6bf from'puppeteer';import a0_0xe0b150 from'fs/promises';import a0_0x47439f from'path';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class BrowserTool extends BaseTool{constructor(_0x570161={},_0x6875e7=null){const _0x1ded4c=a0_0x5090;super(_0x570161,_0x6875e7),this[_0x1ded4c(0x1ef)]=![],this['isAsync']=!![],this[_0x1ded4c(0x20d)]=_0x570161[_0x1ded4c(0x20d)]||0xea60,this['maxConcurrentOperations']=_0x570161[_0x1ded4c(0x205)]||0x2,this['browserConfig']={'headless':_0x570161['headless']!==![],'viewport':_0x570161['viewport']||{'width':0x500,'height':0x2d0},'userAgent':_0x570161['userAgent']||'Mozilla/5.0\x20(Windows\x20NT\x2010.0;\x20Win64;\x20x64)\x20AppleWebKit/537.36','timeout':_0x570161[_0x1ded4c(0x1f7)]||0x7530},this[_0x1ded4c(0x243)]=new Map(),this[_0x1ded4c(0x240)]=_0x570161['allowedDomains']||null,this['blockedDomains']=_0x570161[_0x1ded4c(0x254)]||[],this[_0x1ded4c(0x247)]=_0x570161['maxScreenshotSize']||0x5*0x400*0x400,this[_0x1ded4c(0x23f)]=[];}[a0_0x3d9da7(0x231)](){const _0x1fb2db=a0_0x3d9da7;return _0x1fb2db(0x217)+this[_0x1fb2db(0x22e)]['viewport'][_0x1fb2db(0x21b)]+'x'+this['browserConfig'][_0x1fb2db(0x222)][_0x1fb2db(0x20b)]+_0x1fb2db(0x250)+this[_0x1fb2db(0x22e)]['timeout']+_0x1fb2db(0x260);}[a0_0x3d9da7(0x25d)](_0x33fca7){const _0x21ef5b=a0_0x3d9da7;try{if(_0x33fca7[_0x21ef5b(0x238)]()['startsWith']('{')){const _0x2eff9f=JSON['parse'](_0x33fca7);return!_0x2eff9f['actions']&&(_0x2eff9f['actions']=[]),!Array[_0x21ef5b(0x234)](_0x2eff9f['actions'])&&(_0x2eff9f[_0x21ef5b(0x21a)]=[_0x2eff9f['actions']]),_0x2eff9f;}const _0x100a34={},_0x5c40f2=[],_0x1fbddc=['navigate',_0x21ef5b(0x21c),_0x21ef5b(0x211),'wait',_0x21ef5b(0x230),_0x21ef5b(0x248),'scroll',_0x21ef5b(0x1f5)];for(const _0x17b238 of _0x1fbddc){const _0x399f9b=new RegExp('<'+_0x17b238+'\x5cs+([^>]*?)\x5cs*\x5c/?>','gi');let _0x56e5ee;while((_0x56e5ee=_0x399f9b[_0x21ef5b(0x1f1)](_0x33fca7))!==null){const _0x432a75=_0x56e5ee[0x1],_0x19cf9c=this[_0x21ef5b(0x20c)](_0x432a75),_0x5be470={'type':_0x17b238,..._0x19cf9c};_0x5be470[_0x21ef5b(0x201)]&&(_0x5be470[_0x21ef5b(0x25e)]=_0x5be470[_0x21ef5b(0x201)],delete _0x5be470['output-path']),_0x5be470['wait-time']&&(_0x5be470[_0x21ef5b(0x24a)]=parseInt(_0x5be470[_0x21ef5b(0x236)],0xa),delete _0x5be470['wait-time']),_0x5be470[_0x21ef5b(0x206)]&&(_0x5be470[_0x21ef5b(0x253)]=_0x5be470[_0x21ef5b(0x206)],delete _0x5be470['wait-selector']),_0x5be470[_0x21ef5b(0x1f3)]&&(_0x5be470['waitType']=_0x5be470['wait-type'],delete _0x5be470[_0x21ef5b(0x1f3)]),_0x5be470['full-page']&&(_0x5be470['fullPage']=_0x5be470[_0x21ef5b(0x200)]==='true',delete _0x5be470[_0x21ef5b(0x200)]),_0x5c40f2[_0x21ef5b(0x1ee)](_0x5be470);}}return _0x100a34['actions']=Array[_0x21ef5b(0x234)](_0x5c40f2)?_0x5c40f2:[],_0x100a34[_0x21ef5b(0x262)]=_0x33fca7[_0x21ef5b(0x238)](),_0x100a34;}catch(_0x86fb05){return this['logger']?.['error'](_0x21ef5b(0x1fd),{'error':_0x86fb05[_0x21ef5b(0x20a)]}),{'actions':[],'rawContent':_0x33fca7[_0x21ef5b(0x238)](),'parseError':_0x86fb05['message']};}}[a0_0x3d9da7(0x20c)](_0x49b77e){const _0x36a4d1=a0_0x3d9da7,_0x149509={};if(!_0x49b77e)return _0x149509;const _0x5af378=/([\w-]+)\s*=\s*["']([^"']*)["']/g;let _0x58e677;while((_0x58e677=_0x5af378[_0x36a4d1(0x1f1)](_0x49b77e))!==null){const _0x3bf1d6=_0x58e677[0x1],_0x385cc1=_0x58e677[0x2];_0x149509[_0x3bf1d6]=_0x385cc1;}return _0x149509;}[a0_0x3d9da7(0x223)](){return['actions'];}['customValidateParameters'](_0x5a2557){const _0x22308f=a0_0x3d9da7,_0x25d439=[];if(!_0x5a2557['actions']||!Array['isArray'](_0x5a2557['actions'])||_0x5a2557[_0x22308f(0x21a)]['length']===0x0)_0x25d439[_0x22308f(0x1ee)](_0x22308f(0x23d));else for(const [_0x214009,_0x133c0f]of _0x5a2557[_0x22308f(0x21a)]['entries']()){if(!_0x133c0f['type']){_0x25d439['push'](_0x22308f(0x226)+(_0x214009+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x133c0f['type']){case'navigate':if(!_0x133c0f[_0x22308f(0x239)])_0x25d439['push']('Action\x20'+(_0x214009+0x1)+_0x22308f(0x241));else!this['isAllowedUrl'](_0x133c0f[_0x22308f(0x239)])&&_0x25d439['push']('Action\x20'+(_0x214009+0x1)+':\x20URL\x20not\x20allowed:\x20'+_0x133c0f[_0x22308f(0x239)]);break;case'click':case _0x22308f(0x248):!_0x133c0f['selector']&&_0x25d439['push']('Action\x20'+(_0x214009+0x1)+':\x20selector\x20is\x20required\x20for\x20'+_0x133c0f[_0x22308f(0x211)]);break;case _0x22308f(0x211):!_0x133c0f['selector']&&_0x25d439[_0x22308f(0x1ee)](_0x22308f(0x226)+(_0x214009+0x1)+_0x22308f(0x225));!_0x133c0f[_0x22308f(0x259)]&&_0x133c0f['text']!==''&&_0x25d439[_0x22308f(0x1ee)](_0x22308f(0x226)+(_0x214009+0x1)+':\x20text\x20is\x20required\x20for\x20type');break;case _0x22308f(0x215):!_0x133c0f[_0x22308f(0x24a)]&&!_0x133c0f[_0x22308f(0x253)]&&_0x25d439['push'](_0x22308f(0x226)+(_0x214009+0x1)+_0x22308f(0x22d));_0x133c0f['waitTime']&&(_0x133c0f[_0x22308f(0x24a)]<0x64||_0x133c0f[_0x22308f(0x24a)]>0x7530)&&_0x25d439[_0x22308f(0x1ee)]('Action\x20'+(_0x214009+0x1)+_0x22308f(0x233));break;case _0x22308f(0x230):!_0x133c0f[_0x22308f(0x25e)]&&_0x25d439[_0x22308f(0x1ee)](_0x22308f(0x226)+(_0x214009+0x1)+_0x22308f(0x249));break;case _0x22308f(0x23e):if(!_0x133c0f['direction'])_0x25d439['push'](_0x22308f(0x226)+(_0x214009+0x1)+':\x20direction\x20is\x20required\x20for\x20scroll');else!['up',_0x22308f(0x257),'left','right'][_0x22308f(0x1fc)](_0x133c0f['direction'])&&_0x25d439['push']('Action\x20'+(_0x214009+0x1)+':\x20invalid\x20scroll\x20direction:\x20'+_0x133c0f['direction']);break;case _0x22308f(0x1f5):break;default:_0x25d439[_0x22308f(0x1ee)]('Action\x20'+(_0x214009+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x133c0f['type']);}}return{'valid':_0x25d439[_0x22308f(0x25c)]===0x0,'errors':_0x25d439};}async[a0_0x3d9da7(0x252)](_0x5b391f,_0x32a53e){const _0x15fdd4=a0_0x3d9da7,{actions:_0x105474}=_0x5b391f,{agentId:_0x5a5343,projectDir:_0xab8286}=_0x32a53e,_0x2a20ed=_0x5a5343+'-'+(_0xab8286||'default'),_0x1a9b4b=[];for(const _0x2fec73 of _0x105474){try{let _0xbe632;switch(_0x2fec73[_0x15fdd4(0x211)]){case'navigate':_0xbe632=await this[_0x15fdd4(0x251)](_0x2fec73['url'],_0x2a20ed);break;case _0x15fdd4(0x21c):_0xbe632=await this[_0x15fdd4(0x21c)](_0x2fec73['selector'],_0x2a20ed);break;case _0x15fdd4(0x211):_0xbe632=await this['type'](_0x2fec73['selector'],_0x2fec73[_0x15fdd4(0x259)],_0x2a20ed);break;case'wait':_0xbe632=await this['wait'](_0x2fec73,_0x2a20ed);break;case _0x15fdd4(0x230):_0xbe632=await this['screenshot'](_0x2fec73[_0x15fdd4(0x25e)],_0xab8286,_0x2a20ed,_0x2fec73);break;case'extract':_0xbe632=await this['extract'](_0x2fec73[_0x15fdd4(0x246)],_0x2fec73['attribute']||_0x15fdd4(0x259),_0x2a20ed);break;case'scroll':_0xbe632=await this[_0x15fdd4(0x23e)](_0x2fec73,_0x2a20ed);break;case _0x15fdd4(0x1f5):_0xbe632=await this['closeBrowser'](_0x2a20ed);break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x2fec73[_0x15fdd4(0x211)]);}_0x1a9b4b['push'](_0xbe632),this['addToHistory'](_0x2fec73,_0xbe632,_0x5a5343);}catch(_0x45d114){const _0x22304e={'success':![],'action':_0x2fec73['type'],'error':_0x45d114['message'],'selector':_0x2fec73['selector']||_0x2fec73['url']};_0x1a9b4b['push'](_0x22304e),this['addToHistory'](_0x2fec73,_0x22304e,_0x5a5343);}}return{'success':!![],'actions':_0x1a9b4b,'executedActions':_0x105474['length'],'toolUsed':_0x15fdd4(0x23c)};}async['navigate'](_0x243381,_0x2d7e8c){const _0x5b865d=a0_0x3d9da7,_0x4184af=await this['getBrowser'](_0x2d7e8c),_0x4bf7ef=await this[_0x5b865d(0x1f0)](_0x2d7e8c),_0x22b64c=Date['now']();try{await _0x4bf7ef[_0x5b865d(0x20e)](_0x243381,{'waitUntil':_0x5b865d(0x210),'timeout':this[_0x5b865d(0x22e)][_0x5b865d(0x20d)]});const _0x1077c4=await _0x4bf7ef[_0x5b865d(0x24e)](),_0x364d1d=_0x4bf7ef[_0x5b865d(0x239)]();return{'success':!![],'action':_0x5b865d(0x251),'url':_0x364d1d,'originalUrl':_0x243381,'title':_0x1077c4,'loadTime':Date['now']()-_0x22b64c,'message':'Navigated\x20to\x20'+_0x243381};}catch(_0x35e7be){throw new Error(_0x5b865d(0x263)+_0x35e7be['message']);}}async['click'](_0x33d734,_0x39d3ee){const _0x5cc5e6=a0_0x3d9da7,_0x5447e3=await this[_0x5cc5e6(0x1f0)](_0x39d3ee);try{return await _0x5447e3['waitForSelector'](_0x33d734,{'timeout':0x1388}),await _0x5447e3[_0x5cc5e6(0x21c)](_0x33d734),{'success':!![],'action':_0x5cc5e6(0x21c),'selector':_0x33d734,'message':_0x5cc5e6(0x216)+_0x33d734};}catch(_0x3548fd){throw new Error(_0x5cc5e6(0x24c)+_0x33d734+':\x20'+_0x3548fd[_0x5cc5e6(0x20a)]);}}async['type'](_0x4029fd,_0x18f6bd,_0x434bc2){const _0x85c46c=a0_0x3d9da7,_0xfe8603=await this['getPage'](_0x434bc2);try{return await _0xfe8603[_0x85c46c(0x24d)](_0x4029fd,{'timeout':0x1388}),await _0xfe8603[_0x85c46c(0x264)](_0x4029fd),await _0xfe8603['keyboard'][_0x85c46c(0x21f)](),await _0xfe8603['type'](_0x4029fd,_0x18f6bd),{'success':!![],'action':'type','selector':_0x4029fd,'text':_0x18f6bd,'textLength':_0x18f6bd['length'],'message':'Typed\x20'+_0x18f6bd['length']+'\x20characters\x20into\x20'+_0x4029fd};}catch(_0x33cb70){throw new Error('Type\x20failed\x20on\x20'+_0x4029fd+':\x20'+_0x33cb70['message']);}}async['wait'](_0x4627d7,_0x2b4bda){const _0x59cfa9=a0_0x3d9da7,_0x49190a=await this[_0x59cfa9(0x1f0)](_0x2b4bda);try{if(_0x4627d7['waitTime'])return await new Promise(_0x106b60=>setTimeout(_0x106b60,_0x4627d7[_0x59cfa9(0x24a)])),{'success':!![],'action':_0x59cfa9(0x215),'waitTime':_0x4627d7['waitTime'],'message':'Waited\x20'+_0x4627d7['waitTime']+'ms'};if(_0x4627d7['waitSelector']){const _0x41f459=_0x4627d7['waitType']||'visible',_0x3c4358={'timeout':0x2710};return _0x41f459==='hidden'?await _0x49190a[_0x59cfa9(0x24d)](_0x4627d7[_0x59cfa9(0x253)],{..._0x3c4358,'hidden':!![]}):await _0x49190a[_0x59cfa9(0x24d)](_0x4627d7[_0x59cfa9(0x253)],_0x3c4358),{'success':!![],'action':'wait','waitSelector':_0x4627d7[_0x59cfa9(0x253)],'waitType':_0x41f459,'message':'Waited\x20for\x20'+_0x4627d7['waitSelector']+_0x59cfa9(0x20f)+_0x41f459};}}catch(_0x358893){throw new Error('Wait\x20failed:\x20'+_0x358893[_0x59cfa9(0x20a)]);}}async[a0_0x3d9da7(0x230)](_0x3f0b83,_0xaf0f74,_0x151500,_0x56b322={}){const _0xa02248=a0_0x3d9da7,_0x2c8813=await this['getPage'](_0x151500);try{const _0x182542=_0xaf0f74?a0_0x47439f[_0xa02248(0x22b)](_0xaf0f74,_0x3f0b83):a0_0x47439f['resolve'](_0x3f0b83),_0x3cad8c=a0_0x47439f[_0xa02248(0x23b)](_0x182542);await a0_0xe0b150['mkdir'](_0x3cad8c,{'recursive':!![]});const _0x1df90={'path':_0x182542,'type':'png'};_0x56b322['fullPage']&&(_0x1df90['fullPage']=!![]);await _0x2c8813[_0xa02248(0x230)](_0x1df90);const _0x3a8004=await a0_0xe0b150['stat'](_0x182542);if(_0x3a8004[_0xa02248(0x221)]>this[_0xa02248(0x247)])throw new Error('Screenshot\x20too\x20large:\x20'+_0x3a8004['size']+_0xa02248(0x224)+this['maxScreenshotSize']+')');return{'success':!![],'action':_0xa02248(0x230),'outputPath':a0_0x47439f['relative'](_0xaf0f74||process['cwd'](),_0x182542),'size':_0x3a8004[_0xa02248(0x221)],'fullPage':!!_0x56b322[_0xa02248(0x1f4)],'message':_0xa02248(0x22c)+_0x3f0b83};}catch(_0x2a7eb9){throw new Error('Screenshot\x20failed:\x20'+_0x2a7eb9['message']);}}async['extract'](_0x2b3900,_0x25bdb0,_0x246191){const _0x37304b=a0_0x3d9da7,_0x2196f4=await this['getPage'](_0x246191);try{await _0x2196f4[_0x37304b(0x24d)](_0x2b3900,{'timeout':0x1388});let _0x5a8c47;return _0x25bdb0===_0x37304b(0x259)?_0x5a8c47=await _0x2196f4['$eval'](_0x2b3900,_0x23e773=>_0x23e773['textContent']['trim']()):_0x5a8c47=await _0x2196f4['$eval'](_0x2b3900,(_0x384e33,_0x32ef58)=>_0x384e33[_0x37304b(0x235)](_0x32ef58),_0x25bdb0),{'success':!![],'action':_0x37304b(0x248),'selector':_0x2b3900,'attribute':_0x25bdb0,'data':_0x5a8c47,'message':_0x37304b(0x1f8)+_0x25bdb0+_0x37304b(0x242)+_0x2b3900};}catch(_0x145657){throw new Error('Extract\x20failed\x20on\x20'+_0x2b3900+':\x20'+_0x145657['message']);}}async[a0_0x3d9da7(0x23e)](_0x22ba84,_0x445ece){const _0x3bb08f=a0_0x3d9da7,_0x4ce515=await this['getPage'](_0x445ece);try{const {direction:_0x5d4f01,pixels:pixels=0x12c,selector:_0x3117fe}=_0x22ba84;return _0x3117fe?await _0x4ce515['evaluate']((_0x50282d,_0x35c5bf,_0x537010)=>{const _0x3c802b=a0_0x5090,_0x5733e4=document[_0x3c802b(0x256)](_0x50282d);if(_0x5733e4){if(_0x35c5bf==='down')_0x5733e4['scrollTop']+=_0x537010;else{if(_0x35c5bf==='up')_0x5733e4['scrollTop']-=_0x537010;else{if(_0x35c5bf===_0x3c802b(0x21d))_0x5733e4[_0x3c802b(0x258)]+=_0x537010;else{if(_0x35c5bf===_0x3c802b(0x25f))_0x5733e4[_0x3c802b(0x258)]-=_0x537010;}}}}},_0x3117fe,_0x5d4f01,pixels):await _0x4ce515['evaluate']((_0x5e4728,_0x209245)=>{const _0x178e19=a0_0x5090;if(_0x5e4728===_0x178e19(0x257))window[_0x178e19(0x207)](0x0,_0x209245);else{if(_0x5e4728==='up')window['scrollBy'](0x0,-_0x209245);else{if(_0x5e4728===_0x178e19(0x21d))window[_0x178e19(0x207)](_0x209245,0x0);else{if(_0x5e4728==='left')window[_0x178e19(0x207)](-_0x209245,0x0);}}}},_0x5d4f01,pixels),{'success':!![],'action':'scroll','direction':_0x5d4f01,'pixels':pixels,'selector':_0x3117fe||'page','message':_0x3bb08f(0x213)+_0x5d4f01+'\x20by\x20'+pixels+'px'};}catch(_0x3adc09){throw new Error(_0x3bb08f(0x237)+_0x3adc09[_0x3bb08f(0x20a)]);}}async[a0_0x3d9da7(0x228)](_0x24f299){const _0x520e13=a0_0x3d9da7;if(this['browserInstances']['has'](_0x24f299)){const _0xdba026=this['browserInstances']['get'](_0x24f299);if(!_0xdba026['browser']['isConnected']())this['browserInstances']['delete'](_0x24f299);else return _0xdba026['browser'];}const _0x5dc7f5=await a0_0x5cc6bf['launch']({'headless':this[_0x520e13(0x22e)]['headless'],'args':['--no-sandbox','--disable-setuid-sandbox',_0x520e13(0x24b),_0x520e13(0x1fb)]}),_0x37f0cc=await _0x5dc7f5['newPage']();return await _0x37f0cc[_0x520e13(0x255)](this[_0x520e13(0x22e)][_0x520e13(0x222)]),await _0x37f0cc[_0x520e13(0x245)](this['browserConfig'][_0x520e13(0x1ff)]),this[_0x520e13(0x243)]['set'](_0x24f299,{'browser':_0x5dc7f5,'page':_0x37f0cc,'created':Date['now']()}),setTimeout(()=>{const _0x4095d6=_0x520e13;this[_0x4095d6(0x209)](_0x24f299);},0xa*0x3c*0x3e8),_0x5dc7f5;}async[a0_0x3d9da7(0x1f0)](_0x18d0ed){const _0x1c99f4=a0_0x3d9da7;return await this['getBrowser'](_0x18d0ed),this['browserInstances']['get'](_0x18d0ed)[_0x1c99f4(0x203)];}async[a0_0x3d9da7(0x22f)](_0x521a28){const _0x538766=a0_0x3d9da7,_0x52ffd6=this['browserInstances']['get'](_0x521a28);if(_0x52ffd6)try{return await _0x52ffd6[_0x538766(0x23c)][_0x538766(0x1f5)](),this['browserInstances'][_0x538766(0x1f9)](_0x521a28),{'success':!![],'action':'close','browserKey':_0x521a28,'message':'Browser\x20instance\x20closed'};}catch(_0x2da0a9){throw new Error('Failed\x20to\x20close\x20browser:\x20'+_0x2da0a9[_0x538766(0x20a)]);}return{'success':!![],'action':_0x538766(0x1f5),'browserKey':_0x521a28,'message':_0x538766(0x25a)};}async['cleanupBrowser'](_0x4a477a){const _0x4111fc=a0_0x3d9da7,_0x56f320=this['browserInstances']['get'](_0x4a477a);if(_0x56f320)try{await _0x56f320[_0x4111fc(0x23c)][_0x4111fc(0x1f5)]();}catch(_0xd11f7d){}finally{this['browserInstances']['delete'](_0x4a477a);}}[a0_0x3d9da7(0x218)](_0x2870c2){const _0x575a2e=a0_0x3d9da7;try{const _0x4e0ac8=new URL(_0x2870c2),_0x2fbd70=_0x4e0ac8['hostname'][_0x575a2e(0x21e)]();if(this[_0x575a2e(0x254)]['some'](_0x5477ca=>_0x2fbd70[_0x575a2e(0x1fc)](_0x5477ca[_0x575a2e(0x21e)]())))return![];if(this['allowedDomains']&&this['allowedDomains'][_0x575a2e(0x25c)]>0x0)return this['allowedDomains'][_0x575a2e(0x24f)](_0x33a342=>_0x2fbd70['includes'](_0x33a342[_0x575a2e(0x21e)]()));return!![];}catch{return![];}}[a0_0x3d9da7(0x204)](_0x32d267,_0x3b111c,_0x4e5f56){const _0x4f0fc3=a0_0x3d9da7,_0x250f5d={'timestamp':new Date()[_0x4f0fc3(0x219)](),'agentId':_0x4e5f56,'action':_0x32d267[_0x4f0fc3(0x211)],'selector':_0x32d267['selector']||_0x32d267[_0x4f0fc3(0x239)],'success':_0x3b111c[_0x4f0fc3(0x1fa)],'loadTime':_0x3b111c['loadTime']||0x0};this[_0x4f0fc3(0x23f)]['push'](_0x250f5d),this['operationHistory']['length']>0x64&&(this[_0x4f0fc3(0x23f)]=this['operationHistory']['slice'](-0x64));}['getSupportedActions'](){const _0xc058e4=a0_0x3d9da7;return['navigate','click',_0xc058e4(0x211),_0xc058e4(0x215),_0xc058e4(0x230),_0xc058e4(0x248),'scroll',_0xc058e4(0x1f5)];}[a0_0x3d9da7(0x227)](){const _0x2528dc=a0_0x3d9da7;return{'type':_0x2528dc(0x220),'properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':_0x2528dc(0x220),'properties':{'type':{'type':_0x2528dc(0x1ed),'enum':this[_0x2528dc(0x214)]()},'url':{'type':_0x2528dc(0x1ed)},'selector':{'type':_0x2528dc(0x1ed)},'text':{'type':_0x2528dc(0x1ed)},'outputPath':{'type':_0x2528dc(0x1ed)},'waitTime':{'type':'integer'},'waitSelector':{'type':'string'},'attribute':{'type':_0x2528dc(0x1ed)},'direction':{'type':'string'},'pixels':{'type':_0x2528dc(0x232)}},'required':[_0x2528dc(0x211)]}}},'required':['actions']};}async['cleanup'](_0x13875f){for(const [_0x42aecd]of this['browserInstances']){await this['cleanupBrowser'](_0x42aecd);}}['getOperationHistory'](_0x5eca2e=null){const _0xeca0b8=a0_0x3d9da7;if(_0x5eca2e)return this['operationHistory']['filter'](_0x37e124=>_0x37e124[_0xeca0b8(0x244)]===_0x5eca2e);return[...this[_0xeca0b8(0x23f)]];}}export default BrowserTool;
|
|
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 +1 @@
|
|
|
1
|
-
function a0_0x42d0(_0x22ccfc,_0x196d19){_0x22ccfc=_0x22ccfc-0x1ef;const _0x5e9e0f=a0_0x5e9e();let _0x42d013=_0x5e9e0f[_0x22ccfc];if(a0_0x42d0['rLBusl']===undefined){var _0x40a873=function(_0x2f300b){const _0x583ed7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1dc435='',_0x5ed1b0='';for(let _0x2042d1=0x0,_0x461057,_0x114575,_0x2b13d1=0x0;_0x114575=_0x2f300b['charAt'](_0x2b13d1++);~_0x114575&&(_0x461057=_0x2042d1%0x4?_0x461057*0x40+_0x114575:_0x114575,_0x2042d1++%0x4)?_0x1dc435+=String['fromCharCode'](0xff&_0x461057>>(-0x2*_0x2042d1&0x6)):0x0){_0x114575=_0x583ed7['indexOf'](_0x114575);}for(let _0x59204f=0x0,_0x5e0a81=_0x1dc435['length'];_0x59204f<_0x5e0a81;_0x59204f++){_0x5ed1b0+='%'+('00'+_0x1dc435['charCodeAt'](_0x59204f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ed1b0);};a0_0x42d0['knsrkO']=_0x40a873,a0_0x42d0['gVfJnD']={},a0_0x42d0['rLBusl']=!![];}const _0x4fa8a0=_0x5e9e0f[0x0],_0x1446b7=_0x22ccfc+_0x4fa8a0,_0x592505=a0_0x42d0['gVfJnD'][_0x1446b7];return!_0x592505?(_0x42d013=a0_0x42d0['knsrkO'](_0x42d013),a0_0x42d0['gVfJnD'][_0x1446b7]=_0x42d013):_0x42d013=_0x592505,_0x42d013;}function a0_0x5e9e(){const _0x15ddd8=['y29Kzq','kIOVkI5JANm','C3rHCNrmAw5L','zgv0zwn0lwnSB25LCW','BwLUlxrVA2vUCW','ihnLy29UzhmkicaGia','zxn0Aw1HDgvKrwzMB3j0','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','zgvMyxvSDe1PBKXPBMvZ','zgv0ywLSzwq','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','z2v0ugfYyw1LDgvYu2nOzw1H','cI4UlIaODhj1BMnHDgvKkq','mJqZntiWCM1gyxrc','z2v0u3vWCg9YDgvKqwn0Aw9UCW','oIb0ExbLigLZihjLCxvPCMvK','mtK1nJaYneftsvvAua','AxnbyNnVBhv0zq','mtK5ntu4nxHqqMnfzW','B3v0Chv0tw9Kzq','zgvIDwC','CMvJB21Tzw5KyxrPB25Z','CMvHC29UAw5N','BwvZC2fNzq','Bg9Nz2vY','kIOVkI52Dwu','oIbTAw4TBgLUzxmGBxvZDcbIzsbIzxr3zwvUideGyw5KideWma','y2XVBMvezxrLy3rVCG','mti5oduZmKT2ANvfEG','Aw5MBW','qwn0Aw9Uia','ChjPB3jPDhLgAwX0zxi','zgLYzwn0B3j5','BwvKAxvT','zM9YBwf0u3vTBwfYEu91Dhb1Da','kIOVkI50C3G','y3DK','BgLUzunVDw50','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','B2jQzwn0','kIOVkI50CW','ywXSB3DLza','mti2ntm3vhH1tvjr','DhLWzq','Bwf4lxjLC3vSDhm','zM9YBwf0uMvJB21Tzw5KyxrPB25Zt3v0Chv0','C3bSAxq','y29UzMLKzw5Jzq','C3vTBwfYEq','ChvZAa','CMvMywn0B3jPBMDbzhzPy2u','Dg90ywXdBg9Uzxm','u3rHCNrPBMCGy2XVBMuGzgv0zwn0Aw9U','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','C2LTAwXHCML0EvrOCMvZAg9Sza','zMLSzq','zgvMyxvSDe1PBLrVA2vUCW','nhHSrwrMsa','mJa4mZi3qNH2zK5I','DgLTzw91Da','ChjPB3jPDhLdB3vUDhm','z2v0rgvZy3jPChrPB24','zw5KtgLUzq','C3rYAw5N','BgvUz3rO','mJrPr3bLqve','ywn0Aw9UCW','zxjYB3i','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','kIOVBM9Kzv9TB2r1BgvZlYOQ','y3jLyxrLuMvSyxrPDMvqyxrO','BwfW','z2v0q2XVBMvezxrLy3rVCG','mtq0z21jDLbP','odHfuNHiAva','B3v0Chv0lw1Vzgu','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','ChjPB3jPDhK','zM9YBwf0rgv0ywLSzwrpDxrWDxq','Aw5ZDgfUy2vZ','Dg90ywXgAwXLCW','kIOVyNvPBgqVkIO','C3vIC3rYAw5N','oIbVDxrWDxqTBw9KzsbTDxn0igjLihn1Bw1HCNKSigrLDgfPBgvKlcbVCIbYzwnVBw1LBMrHDgLVBNm','kIOVkI5ZCgvJlMPZ','CMvXDwLYzxnqCM9Qzwn0','ChjPB3jPDhKTzMLSDgvY','Bwf4rMLSzvnPEMu','mLbVuhLevq','vw5RBM93BIbHy3rPB24GDhLWztOG','BwLUlwXPBMvZ','y2XVBMvZ','Aw5ZDgfUy2vdB3vUDa','uMvHzcbHy2nLC3mGzgvUAwvKoIa','s0iGCgvYigzPBguklsbbBMfSExnPCYb0Aw1LB3v0oIa','CMvZB2X2zq','nZi3nJGZC3PhqMD6','Bwv0CMLJCW','BwLUtgLUzxm','kIOVkI5QC3G','BNvTyMvY','BwLUvg9Rzw5Z','rMfPBgvKihrVihbHCNnLignSB25LigrLDgvJDgLVBIbWyxjHBwv0zxjZoIa','C2XPy2u'];a0_0x5e9e=function(){return _0x15ddd8;};return a0_0x5e9e();}const a0_0x1b60b5=a0_0x42d0;(function(_0x4c445c,_0x5642d9){const _0x3e00e8=a0_0x42d0,_0x2422be=_0x4c445c();while(!![]){try{const _0x4dfaca=parseInt(_0x3e00e8(0x1f2))/0x1*(parseInt(_0x3e00e8(0x221))/0x2)+parseInt(_0x3e00e8(0x24d))/0x3+-parseInt(_0x3e00e8(0x201))/0x4*(parseInt(_0x3e00e8(0x243))/0x5)+parseInt(_0x3e00e8(0x241))/0x6+parseInt(_0x3e00e8(0x202))/0x7*(parseInt(_0x3e00e8(0x213))/0x8)+parseInt(_0x3e00e8(0x212))/0x9*(-parseInt(_0x3e00e8(0x23e))/0xa)+-parseInt(_0x3e00e8(0x229))/0xb*(parseInt(_0x3e00e8(0x209))/0xc);if(_0x4dfaca===_0x5642d9)break;else _0x2422be['push'](_0x2422be['shift']());}catch(_0x207603){_0x2422be['push'](_0x2422be['shift']());}}}(a0_0x5e9e,0x47375));import{BaseTool}from'./baseTool.js';import a0_0x1dc435 from'../utilities/tagParser.js';import a0_0x5ed1b0 from'../utilities/directoryAccessManager.js';import a0_0x2042d1 from'path';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class CloneDetectionTool extends BaseTool{constructor(_0x461057={},_0x114575=null){const _0x2b6b5a=a0_0x42d0;super(_0x461057,_0x114575),this[_0x2b6b5a(0x21e)]=!![],this['isAsync']=![],this[_0x2b6b5a(0x203)]=_0x461057['timeout']||0x1d4c0,this[_0x2b6b5a(0x20c)]=_0x461057['maxConcurrentOperations']||0x1,this[_0x2b6b5a(0x200)]=_0x461057[_0x2b6b5a(0x200)]||0x32,this[_0x2b6b5a(0x239)]=_0x461057['defaultMinLines']||0x5,this['defaultSimilarityThreshold']=_0x461057['defaultSimilarityThreshold']||0.85,this['maxFileSize']=_0x461057[_0x2b6b5a(0x220)]||0x7a120,this['directoryAccessManager']=new a0_0x5ed1b0(_0x461057,_0x114575),this[_0x2b6b5a(0x24c)]=null;}[a0_0x1b60b5(0x205)](){const _0x53ceab=a0_0x1b60b5;return _0x53ceab(0x215)+Math['round'](this[_0x53ceab(0x220)]/0x400)+_0x53ceab(0x227)+this['timeout']/0x3e8+_0x53ceab(0x236);}['parseParameters'](_0x2b13d1){const _0x7f9d9=a0_0x1b60b5;try{const _0x59204f={},_0x5e0a81=[];this[_0x7f9d9(0x249)]?.[_0x7f9d9(0x245)]('CloneDetection\x20tool\x20parsing\x20parameters',{'contentLength':_0x2b13d1[_0x7f9d9(0x208)],'contentPreview':_0x2b13d1[_0x7f9d9(0x21b)](0x0,0xc8)});const _0x2e99e0=/<detect-clones\s+(.+?)\/>/g;let _0x4ccfd0;while((_0x4ccfd0=_0x2e99e0['exec'](_0x2b13d1))!==null){const _0x1477fb=_0x4ccfd0[0x1]['trim'](),_0x491989=new a0_0x1dc435(),_0x409746=_0x491989['parseAttributes'](_0x1477fb),_0x1ec5e5={'type':_0x7f9d9(0x234),..._0x409746};_0x1ec5e5[_0x7f9d9(0x235)]&&(_0x1ec5e5['minTokens']=parseInt(_0x1ec5e5[_0x7f9d9(0x235)],0xa),delete _0x1ec5e5['min-tokens']),_0x1ec5e5[_0x7f9d9(0x223)]&&(_0x1ec5e5['minLines']=parseInt(_0x1ec5e5[_0x7f9d9(0x223)],0xa),delete _0x1ec5e5[_0x7f9d9(0x223)]),_0x1ec5e5['similarity-threshold']&&(_0x1ec5e5['similarityThreshold']=parseFloat(_0x1ec5e5['similarity-threshold']),delete _0x1ec5e5['similarity-threshold']),_0x1ec5e5['priority-filter']&&(_0x1ec5e5[_0x7f9d9(0x250)]=_0x1ec5e5['priority-filter'],delete _0x1ec5e5[_0x7f9d9(0x21f)]),_0x1ec5e5['max-results']&&(_0x1ec5e5['maxResults']=parseInt(_0x1ec5e5[_0x7f9d9(0x1f4)],0xa),delete _0x1ec5e5['max-results']),_0x1ec5e5[_0x7f9d9(0x214)]&&(_0x1ec5e5['outputMode']=_0x1ec5e5['output-mode'],delete _0x1ec5e5['output-mode']),_0x5e0a81[_0x7f9d9(0x1f9)](_0x1ec5e5);}return _0x59204f[_0x7f9d9(0x20a)]=_0x5e0a81,_0x59204f['rawContent']=_0x2b13d1['trim'](),this[_0x7f9d9(0x249)]?.[_0x7f9d9(0x245)]('Parsed\x20CloneDetection\x20tool\x20parameters',{'totalActions':_0x5e0a81['length'],'actionTypes':_0x5e0a81['map'](_0x118835=>_0x118835[_0x7f9d9(0x1f3)])}),_0x59204f;}catch(_0xd47a74){throw new Error(_0x7f9d9(0x22f)+_0xd47a74[_0x7f9d9(0x248)]);}}[a0_0x1b60b5(0x238)](){return['actions'];}[a0_0x1b60b5(0x20d)](_0x24649d){const _0x371d6a=a0_0x1b60b5,_0x378b19=[];if(!_0x24649d['actions']||!Array['isArray'](_0x24649d['actions'])||_0x24649d['actions']['length']===0x0)_0x378b19[_0x371d6a(0x1f9)](_0x371d6a(0x1fd));else for(const [_0x3bec5e,_0x2bdc41]of _0x24649d['actions']['entries']()){if(!_0x2bdc41[_0x371d6a(0x1f3)]){_0x378b19['push']('Action\x20'+(_0x3bec5e+0x1)+_0x371d6a(0x240));continue;}_0x2bdc41[_0x371d6a(0x1f3)]==='detect-clones'?(!_0x2bdc41['directory']&&_0x378b19[_0x371d6a(0x1f9)](_0x371d6a(0x24f)+(_0x3bec5e+0x1)+':\x20directory\x20is\x20required\x20for\x20detect-clones'),_0x2bdc41[_0x371d6a(0x22e)]!==undefined&&(_0x2bdc41['minTokens']<0xa||_0x2bdc41['minTokens']>0x3e8)&&_0x378b19['push']('Action\x20'+(_0x3bec5e+0x1)+':\x20min-tokens\x20must\x20be\x20between\x2010\x20and\x201000'),_0x2bdc41['minLines']!==undefined&&(_0x2bdc41['minLines']<0x1||_0x2bdc41[_0x371d6a(0x22b)]>0x64)&&_0x378b19[_0x371d6a(0x1f9)](_0x371d6a(0x24f)+(_0x3bec5e+0x1)+_0x371d6a(0x24b)),_0x2bdc41[_0x371d6a(0x1fe)]!==undefined&&(_0x2bdc41['similarityThreshold']<0.5||_0x2bdc41[_0x371d6a(0x1fe)]>0x1)&&_0x378b19['push']('Action\x20'+(_0x3bec5e+0x1)+':\x20similarity-threshold\x20must\x20be\x20between\x200.5\x20and\x201.0'),_0x2bdc41[_0x371d6a(0x250)]&&!['high',_0x371d6a(0x252),'low']['includes'](_0x2bdc41[_0x371d6a(0x250)])&&_0x378b19['push'](_0x371d6a(0x24f)+(_0x3bec5e+0x1)+':\x20priority-filter\x20must\x20be\x20high,\x20medium,\x20or\x20low'),_0x2bdc41['outputMode']&&!['summary',_0x371d6a(0x23a),_0x371d6a(0x246)]['includes'](_0x2bdc41[_0x371d6a(0x244)])&&_0x378b19[_0x371d6a(0x1f9)](_0x371d6a(0x24f)+(_0x3bec5e+0x1)+_0x371d6a(0x21c))):_0x378b19['push'](_0x371d6a(0x24f)+(_0x3bec5e+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x2bdc41[_0x371d6a(0x1f3)]);}return{'valid':_0x378b19['length']===0x0,'errors':_0x378b19};}async['execute'](_0xee0217,_0x28f113){const _0xd83deb=a0_0x1b60b5,{actions:_0xa55d28}=_0xee0217,{projectDir:_0x3b3db3,agentId:_0x284db2,directoryAccess:_0x452599}=_0x28f113,_0x2f5e15=_0x452599||this['directoryAccessManager'][_0xd83deb(0x23b)]({'workingDirectory':_0x3b3db3||process[_0xd83deb(0x255)](),'writeEnabledDirectories':[],'readOnlyDirectories':[_0x3b3db3||process['cwd']()],'restrictToProject':!![]}),_0x510039=this['directoryAccessManager']['getWorkingDirectory'](_0x2f5e15),_0x298aba=[];for(const _0x123043 of _0xa55d28){try{if(_0x123043['type']==='detect-clones'){const _0x10467a=await this['detectClones'](_0x123043['directory'],_0x510039,_0x2f5e15,_0x123043);_0x298aba['push'](_0x10467a);}else throw new Error(_0xd83deb(0x222)+_0x123043['type']);}catch(_0x20e075){this['logger']?.[_0xd83deb(0x20b)]('Clone\x20detection\x20action\x20failed',{'action':_0x123043['type'],'error':_0x20e075['message']}),_0x298aba['push']({'directory':_0x123043[_0xd83deb(0x251)],'error':_0x20e075['message'],'success':![]});}}return{'success':!![],'results':_0x298aba,'toolUsed':'clonedetection'};}async['detectClones'](_0x43a468,_0x1be665,_0x30be24,_0x1d7db={}){const _0x5158cc=a0_0x1b60b5,_0x11def9=a0_0x2042d1[_0x5158cc(0x242)](_0x43a468)?a0_0x2042d1['normalize'](_0x43a468):a0_0x2042d1[_0x5158cc(0x228)](_0x1be665,_0x43a468),_0x33565f=this[_0x5158cc(0x257)]['validateReadAccess'](_0x11def9,_0x30be24);if(!_0x33565f[_0x5158cc(0x1f1)])throw new Error(_0x5158cc(0x226)+_0x33565f['reason']);try{const _0xf9d53d=await this[_0x5158cc(0x211)](),_0x49a145={'minTokens':_0x1d7db[_0x5158cc(0x22e)]||this[_0x5158cc(0x200)],'minLines':_0x1d7db['minLines']||this[_0x5158cc(0x239)],'similarityThreshold':_0x1d7db[_0x5158cc(0x1fe)]||this['defaultSimilarityThreshold'],'include':['**/*.js',_0x5158cc(0x22c),'**/*.mjs',_0x5158cc(0x232),_0x5158cc(0x1f0),_0x5158cc(0x254),_0x5158cc(0x24a)],'exclude':[_0x5158cc(0x20e),'**/dist/**','**/build/**','**/*.test.js',_0x5158cc(0x21d)],'maxFileSize':this['maxFileSize']};this[_0x5158cc(0x249)]?.[_0x5158cc(0x24e)](_0x5158cc(0x1fc),{'directory':_0x11def9,'config':_0x49a145});const _0x4f392b=await _0xf9d53d['run'](_0x11def9,null);if(!_0x4f392b)return{'directory':this[_0x5158cc(0x257)][_0x5158cc(0x20f)](_0x11def9,_0x30be24),'fullPath':_0x11def9,'success':!![],'summary':{'totalFiles':0x0,'totalClones':0x0,'duplicationPercentage':0x0},'clones':[],'message':'No\x20files\x20found\x20or\x20no\x20clones\x20detected'};let _0x1105b5=_0x4f392b[_0x5158cc(0x224)];_0x1d7db[_0x5158cc(0x250)]&&(_0x1105b5=_0x1105b5['filter'](_0x37c7c6=>_0x37c7c6['refactoringAdvice'][_0x5158cc(0x216)]===_0x1d7db['priorityFilter']));_0x1d7db['maxResults']&&(_0x1105b5=_0x1105b5[_0x5158cc(0x230)](0x0,_0x1d7db['maxResults']));const _0x35a181=_0x1d7db['outputMode']||_0x5158cc(0x23a);if(_0x35a181==='summary')return this[_0x5158cc(0x253)](_0x4f392b,_0x1105b5,_0x11def9,_0x30be24);else return _0x35a181==='recommendations'?this[_0x5158cc(0x1f5)](_0x4f392b,_0x1105b5,_0x11def9,_0x30be24):this[_0x5158cc(0x217)](_0x4f392b,_0x1105b5,_0x11def9,_0x30be24);}catch(_0x4fc8ec){throw new Error('Failed\x20to\x20detect\x20clones\x20in\x20'+_0x43a468+':\x20'+_0x4fc8ec['message']);}}[a0_0x1b60b5(0x253)](_0xf4807d,_0x43fecf,_0x1c6c82,_0x3385c2){const _0x13037e=a0_0x1b60b5;return{'directory':this['directoryAccessManager'][_0x13037e(0x20f)](_0x1c6c82,_0x3385c2),'fullPath':_0x1c6c82,'success':!![],'outputMode':_0x13037e(0x1f8),'summary':{'totalFiles':_0xf4807d['summary'][_0x13037e(0x219)],'totalClones':_0xf4807d['summary'][_0x13037e(0x1fb)],'duplicatedLines':_0xf4807d[_0x13037e(0x1f8)]['totalDuplicatedLines'],'duplicationPercentage':_0xf4807d['summary']['duplicationPercentage'],'priorityCounts':_0xf4807d[_0x13037e(0x1f8)][_0x13037e(0x204)],'topClones':_0x43fecf['slice'](0x0,0x5)['map'](_0x1611d3=>({'id':_0x1611d3['id'],'type':_0x1611d3[_0x13037e(0x1f3)],'confidence':_0x1611d3[_0x13037e(0x1f7)],'instances':_0x1611d3[_0x13037e(0x22a)]['instanceCount'],'lines':_0x1611d3['metrics'][_0x13037e(0x256)],'priority':_0x1611d3[_0x13037e(0x1fa)][_0x13037e(0x216)],'strategy':_0x1611d3['refactoringAdvice']['strategy'],'locations':_0x1611d3[_0x13037e(0x218)][_0x13037e(0x210)](_0x3a1a23=>_0x3a1a23[_0x13037e(0x1ff)]+':'+_0x3a1a23['startLine']+'-'+_0x3a1a23[_0x13037e(0x206)])}))}};}['formatRecommendationsOutput'](_0x350cec,_0x246538,_0x520eb7,_0xabb5e0){const _0x1d916f=a0_0x1b60b5;return{'directory':this['directoryAccessManager'][_0x1d916f(0x20f)](_0x520eb7,_0xabb5e0),'fullPath':_0x520eb7,'success':!![],'outputMode':'recommendations','summary':{'totalFiles':_0x350cec['summary']['totalFiles'],'totalClones':_0x350cec['summary']['totalClones'],'duplicationPercentage':_0x350cec['summary']['duplicationPercentage']},'recommendations':_0x246538[_0x1d916f(0x210)](_0x1d3fd9=>({'id':_0x1d3fd9['id'],'priority':_0x1d3fd9['refactoringAdvice'][_0x1d916f(0x216)],'strategy':_0x1d3fd9['refactoringAdvice']['strategy'],'suggestedName':_0x1d3fd9['refactoringAdvice']['suggestedName'],'reasoning':_0x1d3fd9[_0x1d916f(0x1fa)][_0x1d916f(0x247)],'effort':_0x1d3fd9[_0x1d916f(0x1fa)][_0x1d916f(0x237)],'benefits':_0x1d3fd9['refactoringAdvice']['benefits'],'steps':_0x1d3fd9[_0x1d916f(0x1fa)]['actionableSteps'],'metrics':{'instances':_0x1d3fd9['metrics'][_0x1d916f(0x225)],'lines':_0x1d3fd9[_0x1d916f(0x22a)][_0x1d916f(0x256)],'files':_0x1d3fd9['metrics']['filesCovered'],'impact':_0x1d3fd9['metrics']['impactScore']},'locations':_0x1d3fd9[_0x1d916f(0x218)][_0x1d916f(0x210)](_0x4b36ba=>({'file':_0x4b36ba[_0x1d916f(0x1ff)],'startLine':_0x4b36ba[_0x1d916f(0x233)],'endLine':_0x4b36ba[_0x1d916f(0x206)]}))}))};}[a0_0x1b60b5(0x217)](_0x4d50e7,_0x51f7f6,_0xed6864,_0xad8e7f){const _0x4094b1=a0_0x1b60b5;return{'directory':this[_0x4094b1(0x257)]['createRelativePath'](_0xed6864,_0xad8e7f),'fullPath':_0xed6864,'success':!![],'outputMode':'detailed','summary':_0x4d50e7[_0x4094b1(0x1f8)],'clones':_0x51f7f6[_0x4094b1(0x210)](_0x47b531=>({..._0x47b531,'instances':_0x47b531['instances'][_0x4094b1(0x210)](_0xc892d9=>({..._0xc892d9,'code':_0xc892d9[_0x4094b1(0x231)]['split']('\x0a')['slice'](0x0,0xa)['join']('\x0a')+(_0xc892d9['code'][_0x4094b1(0x1f6)]('\x0a')['length']>0xa?_0x4094b1(0x23d):'')}))}))};}async['getCloneDetector'](){const _0x4985d2=a0_0x1b60b5;if(!this['cloneDetector']){const {CloneDetectionTool:_0x45595b}=await import('../analyzers/codeCloneDetector/index.js'),_0x56f505={'minTokens':this[_0x4985d2(0x200)],'minLines':this['defaultMinLines'],'similarityThreshold':this['defaultSimilarityThreshold'],'include':['**/*.js',_0x4985d2(0x22c),_0x4985d2(0x1f0),'**/*.tsx',_0x4985d2(0x24a)],'exclude':[_0x4985d2(0x20e),'**/dist/**',_0x4985d2(0x21a)],'maxFileSize':this[_0x4985d2(0x220)]};this[_0x4985d2(0x24c)]=new _0x45595b(_0x56f505),this['logger']?.[_0x4985d2(0x245)]('Clone\x20detector\x20initialized',{'config':_0x56f505});}return this['cloneDetector'];}[a0_0x1b60b5(0x23f)](){const _0x3e2399=a0_0x1b60b5;return[_0x3e2399(0x234)];}[a0_0x1b60b5(0x23c)](){const _0x1d3ce9=a0_0x1b60b5;return{'type':_0x1d3ce9(0x1ef),'properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'directory':{'type':_0x1d3ce9(0x207)},'minTokens':{'type':'number','minimum':0xa,'maximum':0x3e8},'minLines':{'type':'number','minimum':0x1,'maximum':0x64},'similarityThreshold':{'type':'number','minimum':0.5,'maximum':0x1},'priorityFilter':{'type':_0x1d3ce9(0x207),'enum':['high','medium','low']},'maxResults':{'type':_0x1d3ce9(0x22d),'minimum':0x1},'outputMode':{'type':_0x1d3ce9(0x207),'enum':[_0x1d3ce9(0x1f8),'detailed',_0x1d3ce9(0x246)]}},'required':['type',_0x1d3ce9(0x251)]}}},'required':[_0x1d3ce9(0x20a)]};}}export default CloneDetectionTool;
|
|
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 +1 @@
|
|
|
1
|
-
const a0_0x54eaf6=a0_0x214b;(function(_0x23e0d8,_0x4bd30a){const _0x578d93=a0_0x214b,_0x1baef8=_0x23e0d8();while(!![]){try{const _0x58100c=parseInt(_0x578d93(0x15d))/0x1+-parseInt(_0x578d93(0x158))/0x2*(parseInt(_0x578d93(0x15b))/0x3)+-parseInt(_0x578d93(0x18f))/0x4*(-parseInt(_0x578d93(0x196))/0x5)+-parseInt(_0x578d93(0x192))/0x6*(-parseInt(_0x578d93(0x146))/0x7)+parseInt(_0x578d93(0x191))/0x8*(-parseInt(_0x578d93(0x173))/0x9)+-parseInt(_0x578d93(0x17a))/0xa*(-parseInt(_0x578d93(0x198))/0xb)+-parseInt(_0x578d93(0x197))/0xc*(parseInt(_0x578d93(0x183))/0xd);if(_0x58100c===_0x4bd30a)break;else _0x1baef8['push'](_0x1baef8['shift']());}catch(_0x4b59de){_0x1baef8['push'](_0x1baef8['shift']());}}}(a0_0x4b7d,0x9e70d));import{promises as a0_0x130836}from'fs';function a0_0x4b7d(){const _0x54c44c=['ndiWEKnpt3Dq','mJm5nZm3m2DHEeLpvq','sw52ywXPzcbYzwDPC3rYEsbYzxnWB25ZzsbMB3jTyxq','C3bSAxq','Bg9Nz2vY','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','4PQG77IpicbcywnRDxaGy3jLyxrPB24GzMfPBgvKlcbJB250Aw51Aw5NigfUExDHEs4UlG','AM9PBG','tufyx0rfuevorevoq0LfuW','DxrMltG','C3rYAw5N','zM9YrwfJAa','x3bHCNnLq29TCgXLEfjHBMDL','B2jQzwn0','B3bLCMf0B3i','yxv0BW','zgvIDwC','cUkCQcboBYb1CgrHDgvZig5LzwrLza','yMfZzw5HBwu','C2LNBMfS','y29WEuzPBgu','icdIGkiG','x3bHCNnLqM9VBgvHBG','ChvZAa','x2LZrxHHy3rvCgrHDgvbDMfPBgfIBgu','Bgf0zxn0','zxzLCNK','yNvPBgq','tM8GzgvWzw5Kzw5JAwvZigzVDw5KigLUihbHy2THz2uUANnVBG','Bwf0y2G','rxjYB3iGy2HLy2TPBMCG','cUkDJcbUCg0GAw5ZDgfSBcbMywLSzwq6ia','ugfYyw1LDgvYCYbTDxn0igjLigfUig9IAMvJDa','4PQG77IpicbgywLSzwqGDg8GCMvZDg9YzsbIywnRDxa','C3rYAw5NAwz5','cVcFK4SGqxzHAwXHyMXLihvWzgf0zxm6','zxHLyW','Aw5JBhvKzxm','tLbnx1jfr0Ltvfjzx1vsta','mtr0r0nMzxC','lMjHy2T1Cc5QC29U','x2LZtgvZC1rOyw5vCgrHDgvbDMfPBgfIBgu','AxnbyNnVBhv0zq','Dg9mB3DLCKnHC2u','x3nHDgLZzMLLC1jHBMDL','x2LZu2LTCgXLvxbKyxrLqxzHAwXHyMXL','Bw9Kzq','ANnVBG','ksWGBwf4igfSBg93zwq6ia','rMfPBgvKihrVigzLDgnOia','z2v0rgvZy3jPChrPB24','Aw5JBhvKzurLDG','C2LTCgXL','CMvHzezPBgu','BwfW','vKfmsurFtu9ervm','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','nJC1mZu0DvDQtxbn','zw50CMLLCW','C2XPy2u','nKnMq1ryCa','zgv2rgvWzw5Kzw5JAwvZ','nJeXmtaYDuDkwK5U','x2LZvxbKyxrLqxzHAwXHyMXL','yM9VBgvHBG','CgfYC2u','x3bHCNnLvMvYC2LVBG','BNbTigLUC3rHBgWGzMfPBgvKoIa','BMv3vMvYC2LVBG','x2LZq29TCgXLEfjHBMDL','x3nHDgLZzMLLC0nVBxbSzxHsyw5Nzq','cVcFK6yGuMvHzgLUzYbWywnRywDLlMPZB24UlI4','D2fYBG','u3vJy2vZC2z1BgX5ihvWzgf0zwqG','CgfJA2fNzs5QC29U','DhjPBq','Ec1Yyw5Nzq','4PYfiejHy2T1CcbJCMvHDgvKoIa','4PYfieLUC3rHBgXHDgLVBIbJB21WBgv0zq','x2nOzwnRrgvWzw5Kzw5JAwvZ','Cgf0y2G','BwvZC2fNzq','x3zHBgLKyxrLugfYyw1LDgvYCW','x2zLDgnOugfJA2fNzuLUzM8','mJa0oteYme9VD2HNsG','revgqvvmvf9nt0rf','Cgf0Aa','x2LZq2fYzxrvCgrHDgvbDMfPBgfIBgu','x2nYzwf0zujHy2T1Ca','cVcFJOKGqwXSigrLCgvUzgvUy2LLCYbHCMuGDxaTDg8Tzgf0zse','C3rHCNrZv2L0Aa','mJbmr3jfuwS','Ahr0Chm6lY9YzwDPC3rYEs5UCg1QCY5VCMC','A2v5CW','x3bHCNnLvMvYC2LVBLjHBMDL','tufyx0nptKnvuLjftLrFq0Hfq0Tt','sfruuca','ChjLCMvSzwfZzq','8j+tIIbgB3vUzca','BNbTifDbuK4','mZG1nZq5t3PcufzY','CMfUz2vZ','x2nVBxbHCMvwzxjZAw9UCW','zML4','Bwf4','BwLUB3i','BwfQB3i','zgvWzw5Kzw5JAwvZ','y2HLy2S','x2LZwfjHBMDLvxbKyxrLqxzHAwXHyMXL','BgvUz3rO','BM9YBwfSAxPL','nJuWndu2wwDczhbg','8j+uJsbdAgvJA2LUzYbKzxbLBMrLBMnPzxmGAw46ia','oeLfzgXkBa','mZy1ntaZogP4DxfsuG','x2nVBxbHCMvqCMvYzwXLyxnL','uKvhsvnuuLLFveLnru9vva','yw5K','mtbjCxbMCfK'];a0_0x4b7d=function(){return _0x54c44c;};return a0_0x4b7d();}import a0_0x200071 from'path';function a0_0x214b(_0xf561f1,_0x574730){_0xf561f1=_0xf561f1-0x12d;const _0x4b7d5e=a0_0x4b7d();let _0x214bf8=_0x4b7d5e[_0xf561f1];if(a0_0x214b['pQCKWs']===undefined){var _0x3b3c82=function(_0x29c3b6){const _0x4abded='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x130836='',_0x200071='';for(let _0x15902b=0x0,_0x1ffd5b,_0x49554e,_0xc3b6a8=0x0;_0x49554e=_0x29c3b6['charAt'](_0xc3b6a8++);~_0x49554e&&(_0x1ffd5b=_0x15902b%0x4?_0x1ffd5b*0x40+_0x49554e:_0x49554e,_0x15902b++%0x4)?_0x130836+=String['fromCharCode'](0xff&_0x1ffd5b>>(-0x2*_0x15902b&0x6)):0x0){_0x49554e=_0x4abded['indexOf'](_0x49554e);}for(let _0xf669a5=0x0,_0xdee14e=_0x130836['length'];_0xf669a5<_0xdee14e;_0xf669a5++){_0x200071+='%'+('00'+_0x130836['charCodeAt'](_0xf669a5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x200071);};a0_0x214b['bhIcAc']=_0x3b3c82,a0_0x214b['sKomsy']={},a0_0x214b['pQCKWs']=!![];}const _0xb74a92=_0x4b7d5e[0x0],_0x52febb=_0xf561f1+_0xb74a92,_0x38e352=a0_0x214b['sKomsy'][_0x52febb];return!_0x38e352?(_0x214bf8=a0_0x214b['bhIcAc'](_0x214bf8),a0_0x214b['sKomsy'][_0x52febb]=_0x214bf8):_0x214bf8=_0x38e352,_0x214bf8;}import{exec as a0_0x15902b}from'child_process';import{promisify}from'util';import{BaseTool}from'./baseTool.js';import a0_0x1ffd5b from'../utilities/tagParser.js';const exec=promisify(a0_0x15902b),RESOLVER_CONFIG={'DEFAULT_MODE':a0_0x54eaf6(0x18b),'VALID_MODES':[a0_0x54eaf6(0x18b),a0_0x54eaf6(0x186),'auto'],'NPM_COMMAND_TIMEOUT':0x493e0,'REGISTRY_TIMEOUT':0x2710,'MAX_CONCURRENT_CHECKS':0x5,'BACKUP_EXTENSION':a0_0x54eaf6(0x147),'CREATE_BACKUPS':!![],'RETRY_ATTEMPTS':0x3,'RETRY_DELAY':0x3e8,'MAX_DEPENDENCIES':0x1f4,'NPM_REGISTRY_URL':a0_0x54eaf6(0x17b)};export class DependencyResolverTool extends BaseTool{constructor(_0x49554e={},_0xc3b6a8=null){super(_0x49554e,_0xc3b6a8),this['id']='dependency-resolver';}[a0_0x54eaf6(0x151)](){return'Tool:\x20Dependency\x20Resolver\x20-\x20Resolve\x20Node.js\x20package\x20dependency\x20conflicts\x0a\x0a**Purpose:**\x20Checks\x20npm\x20dependencies\x20for\x20updates\x20and\x20optionally\x20updates\x20package.json\x20to\x20latest\x20compatible\x20versions\x20automatically.\x0a\x0a**USAGE:**\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22dependency-resolver\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22path\x22:\x20\x22./my-project\x22,\x0a\x20\x20\x20\x20\x22mode\x22:\x20\x22check\x22,\x0a\x20\x20\x20\x20\x22includeDev\x22:\x20true\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**path**\x20(string,\x20optional):\x20Path\x20to\x20project\x20directory\x20with\x20package.json.\x20Default:\x20\x22.\x22\x0a-\x20**mode**\x20(string,\x20optional):\x20Operation\x20mode.\x20Options:\x0a\x20\x20-\x20\x22check\x22\x20-\x20Only\x20check\x20for\x20updates\x20(default)\x0a\x20\x20-\x20\x22fix\x22\x20-\x20Update\x20package.json\x20and\x20run\x20npm\x20install\x0a\x20\x20-\x20\x22auto\x22\x20-\x20Automatically\x20fix\x20all\x20conflicts\x0a-\x20**includeDev**\x20(boolean,\x20optional):\x20Include\x20devDependencies.\x20Default:\x20true\x0a\x0a**What\x20It\x20Does:**\x0a-\x20Checks\x20npm\x20registry\x20for\x20latest\x20compatible\x20versions\x0a-\x20Respects\x20semver\x20ranges\x20(^,\x20~,\x20>=,\x20etc.)\x0a-\x20Creates\x20automatic\x20backups\x20before\x20modifications\x0a-\x20Runs\x20npm\x20install\x20after\x20updates\x20(in\x20fix/auto\x20mode)\x0a-\x20Provides\x20detailed\x20update\x20report\x0a\x0a**Examples:**\x0a\x0a1.\x20Check\x20for\x20updates:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22dependency-resolver\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22mode\x22:\x20\x22check\x22\x20}\x0a}\x0a```\x0a\x0a2.\x20Fix\x20outdated\x20dependencies:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22dependency-resolver\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22path\x22:\x20\x22./my-project\x22,\x20\x22mode\x22:\x20\x22fix\x22\x20}\x0a}\x0a```\x0a\x0a3.\x20Auto-fix\x20with\x20devDependencies:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22dependency-resolver\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22mode\x22:\x20\x22auto\x22,\x20\x22includeDev\x22:\x20true\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Always\x20creates\x20backup\x20(.backup.json)\x20before\x20modifications\x0a-\x20Network\x20requests\x20have\x20timeout\x20and\x20retry\x20logic\x0a-\x20npm\x20install\x20runs\x20with\x20timeout\x20protection\x20(5\x20minutes\x20max)\x0a-\x20Supports\x20complex\x20semver\x20ranges\x20(||,\x20&&,\x20etc.)';}['parseParameters'](_0xf669a5){const _0x29d31d=a0_0x54eaf6;if(typeof _0xf669a5==='object'&&_0xf669a5!==null)return{'path':_0xf669a5[_0x29d31d(0x175)]||'.','mode':_0xf669a5['mode']||RESOLVER_CONFIG['DEFAULT_MODE'],'includeDev':_0xf669a5[_0x29d31d(0x152)]!==undefined?_0xf669a5[_0x29d31d(0x152)]:!![]};if(typeof _0xf669a5==='string'){const _0xdee14e=/<dependency-resolve([^>]*)>([\s\S]*?)<\/dependency-resolve>/i,_0x4d55f7=_0xdee14e['exec'](_0xf669a5);if(_0x4d55f7){const _0xb92a1b=_0x4d55f7[0x1],_0x3620d8=_0x4d55f7[0x2],_0x323b49=/path=["']([^"']*)["']/i[_0x29d31d(0x143)](_0xb92a1b),_0x30f1be=/mode=["']([^"']*)["']/i['exec'](_0xb92a1b),_0x240eed=/include-dev=["']([^"']*)["']/i[_0x29d31d(0x143)](_0xb92a1b),_0x418b58=/<path>(.*?)<\/path>/i,_0x31f858=_0x418b58[_0x29d31d(0x143)](_0x3620d8),_0x124076=/<mode>(.*?)<\/mode>/i,_0xc600df=_0x124076[_0x29d31d(0x143)](_0x3620d8),_0x24e2e2=/<include-dev>(.*?)<\/include-dev>/i,_0x4338d7=_0x24e2e2[_0x29d31d(0x143)](_0x3620d8),_0x44f51=(_0x31f858?_0x31f858[0x1]['trim']():null)||(_0x323b49?_0x323b49[0x1]:'.'),_0x31fb=(_0xc600df?_0xc600df[0x1]['trim']():null)||(_0x30f1be?_0x30f1be[0x1]:RESOLVER_CONFIG['DEFAULT_MODE']),_0x3b6401=(_0x4338d7?_0x4338d7[0x1]['trim']():null)||(_0x240eed?_0x240eed[0x1]:'true');return{'path':_0x44f51,'mode':_0x31fb,'includeDev':this[_0x29d31d(0x135)](_0x3b6401,!![])};}const _0x5023b9=/\[resolve\s+([^\]]*)\]/i,_0xab31c1=_0x5023b9[_0x29d31d(0x143)](_0xf669a5);if(_0xab31c1){const _0x25dd21=_0xab31c1[0x1],_0x3ca2b5=/path=["']([^"']*)["']/i[_0x29d31d(0x143)](_0x25dd21),_0x92b84e=/mode=["']([^"']*)["']/i[_0x29d31d(0x143)](_0x25dd21),_0x1f161e=/include-dev=["']([^"']*)["']/i['exec'](_0x25dd21);return{'path':_0x3ca2b5?_0x3ca2b5[0x1]:'.','mode':_0x92b84e?_0x92b84e[0x1]:RESOLVER_CONFIG[_0x29d31d(0x174)],'includeDev':this[_0x29d31d(0x135)](_0x1f161e?_0x1f161e[0x1]:'true',!![])};}throw new Error('Invalid\x20dependency-resolve\x20format.\x20Use\x20<dependency-resolve>\x20tags\x20or\x20JSON\x20format.');}throw new Error('Invalid\x20parameter\x20format.\x20Expected\x20string\x20(XML)\x20or\x20object\x20(JSON).');}['_parseBoolean'](_0xab4e0c,defaultValue=![]){if(_0xab4e0c===undefined||_0xab4e0c===null)return defaultValue;if(typeof _0xab4e0c==='boolean')return _0xab4e0c;if(typeof _0xab4e0c==='string')return _0xab4e0c['toLowerCase']()==='true'||_0xab4e0c==='1';return defaultValue;}[a0_0x54eaf6(0x171)](_0x5f3e6d){const _0x59d2e9=a0_0x54eaf6;if(!_0x5f3e6d||typeof _0x5f3e6d!==_0x59d2e9(0x1a4))throw new Error(_0x59d2e9(0x13f));if(_0x5f3e6d[_0x59d2e9(0x175)]&&typeof _0x5f3e6d[_0x59d2e9(0x175)]!==_0x59d2e9(0x1a1))throw new Error('path\x20must\x20be\x20a\x20string');if(_0x5f3e6d['mode']&&!RESOLVER_CONFIG[_0x59d2e9(0x156)]['includes'](_0x5f3e6d['mode']))throw new Error('Invalid\x20mode:\x20'+_0x5f3e6d[_0x59d2e9(0x14d)]+'.\x20Must\x20be\x20one\x20of:\x20'+RESOLVER_CONFIG['VALID_MODES'][_0x59d2e9(0x19e)](',\x20'));if(_0x5f3e6d[_0x59d2e9(0x152)]!==undefined&&typeof _0x5f3e6d['includeDev']!==_0x59d2e9(0x15f))throw new Error('includeDev\x20must\x20be\x20a\x20boolean');}[a0_0x54eaf6(0x19c)](_0xbc3b32,_0x36bd0e){const _0x32b3b2=a0_0x54eaf6,{projectDir:_0x2c90c9,directoryAccess:_0x2ea181}=_0x36bd0e;let _0x17366a=_0x2c90c9||process['cwd']();_0x2ea181&&_0x2ea181['workingDirectory']&&(_0x17366a=_0x2ea181['workingDirectory']);const _0x8746d5=a0_0x200071[_0x32b3b2(0x149)](_0xbc3b32)?a0_0x200071['normalize'](_0xbc3b32):a0_0x200071[_0x32b3b2(0x18e)](a0_0x200071['join'](_0x17366a,_0xbc3b32)),_0x4a1acf=a0_0x200071['normalize'](_0x17366a);if(!_0x8746d5[_0x32b3b2(0x179)](_0x4a1acf))throw new Error(_0x32b3b2(0x157)+_0xbc3b32+'\x20resolves\x20outside\x20working\x20directory');return _0x8746d5;}async[a0_0x54eaf6(0x177)](_0x1b0711){const _0x31e1e4=a0_0x54eaf6;if(!RESOLVER_CONFIG['CREATE_BACKUPS'])return null;try{const _0x538ccb=_0x1b0711+RESOLVER_CONFIG['BACKUP_EXTENSION'];return await a0_0x130836['copyFile'](_0x1b0711,_0x538ccb),this[_0x31e1e4(0x19b)]?.['info']('Created\x20backup',{'backupPath':_0x538ccb}),_0x538ccb;}catch(_0x321e2c){return this['logger']?.[_0x31e1e4(0x167)]('Failed\x20to\x20create\x20backup',{'error':_0x321e2c[_0x31e1e4(0x170)]}),null;}}async['_fetchPackageInfo'](_0x12d311){const _0x44855f=a0_0x54eaf6,_0x3479fa=RESOLVER_CONFIG[_0x44855f(0x145)]+'/'+encodeURIComponent(_0x12d311);for(let _0x235f52=0x1;_0x235f52<=RESOLVER_CONFIG['RETRY_ATTEMPTS'];_0x235f52++){try{const _0x1d6150=new AbortController(),_0x48bb1c=setTimeout(()=>_0x1d6150['abort'](),RESOLVER_CONFIG[_0x44855f(0x194)]),_0x455a21=await fetch(_0x3479fa,{'signal':_0x1d6150[_0x44855f(0x132)]});clearTimeout(_0x48bb1c);if(!_0x455a21['ok']){if(_0x455a21['status']===0x194)return this['logger']?.[_0x44855f(0x167)]('Package\x20not\x20found:\x20'+_0x12d311),null;throw new Error(_0x44855f(0x17f)+_0x455a21['status']+':\x20'+_0x455a21['statusText']);}const _0x42d860=await _0x455a21[_0x44855f(0x14e)]();if(!_0x42d860||typeof _0x42d860!==_0x44855f(0x1a4)||!_0x42d860['dist-tags'])throw new Error(_0x44855f(0x199));return _0x42d860;}catch(_0x4aa2ac){if(_0x235f52<RESOLVER_CONFIG['RETRY_ATTEMPTS'])this[_0x44855f(0x19b)]?.[_0x44855f(0x12f)]('Retry\x20'+_0x235f52+'/'+RESOLVER_CONFIG['RETRY_ATTEMPTS']+'\x20for\x20'+_0x12d311),await new Promise(_0xdb68ef=>setTimeout(_0xdb68ef,RESOLVER_CONFIG['RETRY_DELAY']*_0x235f52));else return this['logger']?.['error'](_0x44855f(0x150)+_0x12d311+':',_0x4aa2ac['message']),null;}}return null;}async['_getLatestCompatibleVersion'](_0x318e97,_0x408bac){const _0x6b32a9=a0_0x54eaf6,_0x20f320=await this[_0x6b32a9(0x172)](_0x318e97);if(!_0x20f320)return null;const _0x1a6cdd=_0x20f320['dist-tags']?.[_0x6b32a9(0x138)];if(!_0x1a6cdd)return null;const _0x5e0682=this['_parseVersion'](_0x1a6cdd);if(!_0x5e0682)return null;if(this[_0x6b32a9(0x164)](_0x408bac)){const _0x20bd83=this[_0x6b32a9(0x1a3)](_0x408bac),_0x4bf596=this['_satisfiesComplexRange'](_0x20bd83,_0x5e0682);if(_0x4bf596)return _0x1a6cdd;return null;}const _0x54661f=this[_0x6b32a9(0x17d)](_0x408bac);if(!_0x54661f)return null;const _0x40c235=this['_isUpdateAvailable'](_0x54661f,_0x5e0682);if(_0x40c235)return _0x54661f['prefix']+_0x1a6cdd;return null;}[a0_0x54eaf6(0x161)](_0x2d528c){const _0x213ee5=a0_0x54eaf6,_0x382649=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/,_0x381eb5=_0x382649[_0x213ee5(0x143)](_0x2d528c);if(!_0x381eb5){const _0x46eac9=_0x2d528c['match'](/^(\d+)\.(\d+)\.(\d+)/);if(_0x46eac9)return{'major':parseInt(_0x46eac9[0x1],0xa),'minor':parseInt(_0x46eac9[0x2],0xa),'patch':parseInt(_0x46eac9[0x3],0xa),'prerelease':null,'build':null};return null;}return{'major':parseInt(_0x381eb5[0x1],0xa),'minor':parseInt(_0x381eb5[0x2],0xa),'patch':parseInt(_0x381eb5[0x3],0xa),'prerelease':_0x381eb5[0x4]?_0x381eb5[0x4][_0x213ee5(0x19a)]('.'):null,'build':_0x381eb5[0x5]||null};}[a0_0x54eaf6(0x185)](_0xa200bd,_0x7af8ff){const _0x1a5461=a0_0x54eaf6;if(_0xa200bd['major']!==_0x7af8ff['major'])return _0xa200bd['major']-_0x7af8ff[_0x1a5461(0x189)];if(_0xa200bd[_0x1a5461(0x188)]!==_0x7af8ff['minor'])return _0xa200bd[_0x1a5461(0x188)]-_0x7af8ff['minor'];if(_0xa200bd['patch']!==_0x7af8ff['patch'])return _0xa200bd[_0x1a5461(0x16f)]-_0x7af8ff['patch'];if(!_0xa200bd['prerelease']&&!_0x7af8ff['prerelease'])return 0x0;if(!_0xa200bd['prerelease']&&_0x7af8ff['prerelease'])return 0x1;if(_0xa200bd['prerelease']&&!_0x7af8ff['prerelease'])return-0x1;return this['_comparePrerelease'](_0xa200bd['prerelease'],_0x7af8ff['prerelease']);}[a0_0x54eaf6(0x193)](_0x34be17,_0x3a6947){const _0x5ac98b=a0_0x54eaf6,_0xbad91c=Math[_0x5ac98b(0x187)](_0x34be17['length'],_0x3a6947['length']);for(let _0x54d61b=0x0;_0x54d61b<_0xbad91c;_0x54d61b++){if(_0x54d61b>=_0x34be17['length'])return-0x1;if(_0x54d61b>=_0x3a6947['length'])return 0x1;const _0x35f614=_0x34be17[_0x54d61b],_0x5e4d67=_0x3a6947[_0x54d61b],_0x2ed61e=/^\d+$/['test'](_0x35f614)?parseInt(_0x35f614,0xa):null,_0x3cc079=/^\d+$/['test'](_0x5e4d67)?parseInt(_0x5e4d67,0xa):null;if(_0x2ed61e!==null&&_0x3cc079!==null){if(_0x2ed61e!==_0x3cc079)return _0x2ed61e-_0x3cc079;continue;}if(_0x2ed61e!==null&&_0x3cc079===null)return-0x1;if(_0x2ed61e===null&&_0x3cc079!==null)return 0x1;if(_0x35f614<_0x5e4d67)return-0x1;if(_0x35f614>_0x5e4d67)return 0x1;}return 0x0;}[a0_0x54eaf6(0x17d)](_0x50265d){const _0x22d9dc=a0_0x54eaf6,_0x3bdf9c=_0x50265d['trim'](),_0x546a26=/^(\d+|\*|x)(\.(\d+|\*|x))?(\.(\d+|\*|x))?$/i,_0x2c2c8a=_0x546a26['exec'](_0x3bdf9c);if(_0x2c2c8a){const _0x9e319b=_0x2c2c8a[0x1],_0x1e3dab=_0x2c2c8a[0x3],_0x20577f=_0x2c2c8a[0x5],_0x2b9117=_0x9e319b==='*'||_0x9e319b[_0x22d9dc(0x14a)]()==='x'||_0x1e3dab===undefined||_0x1e3dab==='*'||_0x1e3dab[_0x22d9dc(0x14a)]()==='x'||_0x20577f===undefined||_0x20577f==='*'||_0x20577f[_0x22d9dc(0x14a)]()==='x';if(_0x2b9117)return{'prefix':'','operator':'x-range','major':_0x9e319b==='*'||_0x9e319b['toLowerCase']()==='x'?null:parseInt(_0x9e319b,0xa),'minor':!_0x1e3dab||_0x1e3dab==='*'||_0x1e3dab[_0x22d9dc(0x14a)]()==='x'?null:parseInt(_0x1e3dab,0xa),'patch':!_0x20577f||_0x20577f==='*'||_0x20577f[_0x22d9dc(0x14a)]()==='x'?null:parseInt(_0x20577f,0xa),'original':_0x50265d};}let _0x2575fe='',_0x5cc076=_0x3bdf9c,_0x6ce4aa='=';if(_0x3bdf9c[_0x22d9dc(0x179)]('^'))_0x2575fe='^',_0x5cc076=_0x3bdf9c[_0x22d9dc(0x15a)](0x1),_0x6ce4aa='^';else{if(_0x3bdf9c[_0x22d9dc(0x179)]('~'))_0x2575fe='~',_0x5cc076=_0x3bdf9c['slice'](0x1),_0x6ce4aa='~';else{if(_0x3bdf9c['startsWith']('>='))_0x2575fe='>=',_0x5cc076=_0x3bdf9c['slice'](0x2)['trim'](),_0x6ce4aa='>=';else{if(_0x3bdf9c['startsWith']('>'))_0x2575fe='>',_0x5cc076=_0x3bdf9c['slice'](0x1)['trim'](),_0x6ce4aa='>';else{if(_0x3bdf9c[_0x22d9dc(0x179)]('<='))_0x2575fe='<=',_0x5cc076=_0x3bdf9c[_0x22d9dc(0x15a)](0x2)[_0x22d9dc(0x16a)](),_0x6ce4aa='<=';else _0x3bdf9c['startsWith']('<')&&(_0x2575fe='<',_0x5cc076=_0x3bdf9c[_0x22d9dc(0x15a)](0x1)['trim'](),_0x6ce4aa='<');}}}}const _0x225b65=this['_parseVersion'](_0x5cc076);if(!_0x225b65)return null;return{'prefix':_0x2575fe,'operator':_0x6ce4aa,'major':_0x225b65[_0x22d9dc(0x189)],'minor':_0x225b65['minor'],'patch':_0x225b65[_0x22d9dc(0x16f)],'prerelease':_0x225b65[_0x22d9dc(0x180)],'build':_0x225b65[_0x22d9dc(0x13a)],'original':_0x50265d};}['_isUpdateAvailable'](_0x1478ee,_0x5a9bbf){const _0x4b40e9=a0_0x54eaf6,_0x411d78={'major':_0x1478ee['major'],'minor':_0x1478ee['minor'],'patch':_0x1478ee['patch'],'prerelease':_0x1478ee[_0x4b40e9(0x180)]||null,'build':_0x1478ee[_0x4b40e9(0x13a)]||null};switch(_0x1478ee[_0x4b40e9(0x12d)]){case'^':return this[_0x4b40e9(0x176)](_0x411d78,_0x5a9bbf);case'~':return this['_isTildeUpdateAvailable'](_0x411d78,_0x5a9bbf);case'>=':case'>':return this['_isSimpleUpdateAvailable'](_0x411d78,_0x5a9bbf);case'<':case'<=':return this['_isLessThanUpdateAvailable'](_0x1478ee,_0x5a9bbf);case _0x4b40e9(0x16b):return this[_0x4b40e9(0x18c)](_0x1478ee,_0x5a9bbf);case'=':default:return this[_0x4b40e9(0x137)](_0x411d78,_0x5a9bbf);}}['_isCaretUpdateAvailable'](_0x5c924d,_0x54867e){const _0x52479c=a0_0x54eaf6,_0x1fa399=this['_compareVersions'](_0x54867e,_0x5c924d);if(_0x1fa399<=0x0)return![];if(_0x5c924d['major']===0x0&&_0x5c924d[_0x52479c(0x188)]===0x0)return _0x54867e[_0x52479c(0x189)]===0x0&&_0x54867e[_0x52479c(0x188)]===0x0;if(_0x5c924d[_0x52479c(0x189)]===0x0)return _0x54867e[_0x52479c(0x189)]===0x0&&_0x54867e[_0x52479c(0x188)]===_0x5c924d['minor'];return _0x54867e['major']===_0x5c924d[_0x52479c(0x189)];}['_isTildeUpdateAvailable'](_0x3268ac,_0xabe8cf){const _0x5e19ff=a0_0x54eaf6,_0x504837=this['_compareVersions'](_0xabe8cf,_0x3268ac);if(_0x504837<=0x0)return![];return _0xabe8cf['major']===_0x3268ac['major']&&_0xabe8cf['minor']===_0x3268ac[_0x5e19ff(0x188)];}[a0_0x54eaf6(0x14c)](_0x1f7706,_0x511328){const _0x109be5=a0_0x54eaf6,_0x4c7fc1=this[_0x109be5(0x185)](_0x511328,_0x1f7706);return _0x4c7fc1>0x0;}[a0_0x54eaf6(0x137)](_0x3f6011,_0xa45c1c){const _0x167c26=a0_0x54eaf6;return this[_0x167c26(0x14c)](_0x3f6011,_0xa45c1c);}[a0_0x54eaf6(0x148)](_0x92b210,_0x19e6a2){const _0x1ed224=this['_compareVersions'](_0x19e6a2,_0x92b210);if(_0x92b210['operator']==='<')return _0x1ed224<0x0;else{if(_0x92b210['operator']==='<=')return _0x1ed224<=0x0;}return![];}['_isXRangeUpdateAvailable'](_0xa7a798,_0x272829){const _0x40efb9=a0_0x54eaf6;if(_0xa7a798['major']!==null&&_0x272829[_0x40efb9(0x189)]!==_0xa7a798['major'])return![];if(_0xa7a798['minor']!==null&&_0x272829[_0x40efb9(0x188)]!==_0xa7a798['minor'])return![];if(_0xa7a798['patch']!==null&&_0x272829[_0x40efb9(0x16f)]!==_0xa7a798['patch'])return![];return!![];}[a0_0x54eaf6(0x164)](_0x5634f9){const _0xfb6a99=a0_0x54eaf6;if(_0x5634f9['includes']('||'))return!![];const _0x52aa75=_0x5634f9['trim']();if(_0x52aa75['startsWith']('^')||_0x52aa75['startsWith']('~'))return![];const _0x34f7f6=_0x52aa75['split'](/\s+/)['filter'](_0x2013e2=>_0x2013e2['length']>0x0);if(_0x34f7f6['length']>0x1){const _0x191fcb=/^(>=?|<=?|\^|~|[0-9])/;return _0x34f7f6[_0xfb6a99(0x139)](_0x272b0d=>_0x191fcb['test'](_0x272b0d));}return![];}['_parseComplexRange'](_0x2c214d){const _0x1f6e20=a0_0x54eaf6;if(_0x2c214d[_0x1f6e20(0x144)]('||')){const _0x2378d4=_0x2c214d[_0x1f6e20(0x19a)]('||')[_0x1f6e20(0x155)](_0x4a3564=>_0x4a3564[_0x1f6e20(0x16a)]());return{'type':'or','ranges':_0x2378d4[_0x1f6e20(0x155)](_0x31b4d0=>this[_0x1f6e20(0x1a3)](_0x31b4d0))};}const _0x309705=_0x2c214d[_0x1f6e20(0x16a)]()[_0x1f6e20(0x19a)](/\s+/)['filter'](_0x3f19ac=>_0x3f19ac[_0x1f6e20(0x18d)]>0x0);if(_0x309705['length']>0x1)return{'type':_0x1f6e20(0x195),'ranges':_0x309705['map'](_0x4bd5c1=>this['_parseVersionRange'](_0x4bd5c1))};return{'type':_0x1f6e20(0x153),'range':this['_parseVersionRange'](_0x2c214d)};}[a0_0x54eaf6(0x14b)](_0x39af82,_0x52a7c7){const _0x2db947=a0_0x54eaf6;if(!_0x39af82||!_0x52a7c7)return![];return this[_0x2db947(0x15e)](_0x39af82,_0x52a7c7);}['_satisfiesComplexRange'](_0x120370,_0x25486c){const _0x4ae2d2=a0_0x54eaf6;if(!_0x120370||!_0x25486c)return![];switch(_0x120370['type']){case'simple':return this[_0x4ae2d2(0x14b)](_0x120370['range'],_0x25486c);case _0x4ae2d2(0x195):return _0x120370[_0x4ae2d2(0x184)][_0x4ae2d2(0x139)](_0x4d935a=>this[_0x4ae2d2(0x14b)](_0x4d935a,_0x25486c));case'or':return _0x120370['ranges']['some'](_0x480e2e=>this[_0x4ae2d2(0x165)](_0x480e2e,_0x25486c));default:return![];}}async['_checkDependencies'](_0x24db59){const _0x4a2b52=a0_0x54eaf6,_0xeaed9e={},_0x291788=Object[_0x4a2b52(0x159)](_0x24db59);for(let _0x1a7a50=0x0;_0x1a7a50<_0x291788[_0x4a2b52(0x18d)];_0x1a7a50+=RESOLVER_CONFIG[_0x4a2b52(0x17e)]){const _0x486308=_0x291788['slice'](_0x1a7a50,_0x1a7a50+RESOLVER_CONFIG[_0x4a2b52(0x17e)]),_0xb47997=_0x486308[_0x4a2b52(0x155)](async([_0x332c05,_0x32c5c1])=>{const _0x2bea59=_0x4a2b52;try{const _0x2811a3=await this['_getLatestCompatibleVersion'](_0x332c05,_0x32c5c1);if(_0x2811a3){const _0x235026=_0x32c5c1[_0x2bea59(0x13c)](/^[\^~]/)?.[0x0]||'^';return{'pkg':_0x332c05,'newVersion':''+_0x235026+_0x2811a3,'oldVersion':_0x32c5c1};}return null;}catch(_0x1d7e11){return this['logger']?.['error'](_0x2bea59(0x13d)+_0x332c05+':',_0x1d7e11['message']),null;}}),_0x9e043=await Promise['all'](_0xb47997);_0x9e043[_0x4a2b52(0x1a2)](_0x314255=>{const _0x3a958f=_0x4a2b52;_0x314255&&(_0xeaed9e[_0x314255['pkg']]=_0x314255[_0x3a958f(0x163)]);});}return _0xeaed9e;}async['execute'](_0x3979e7,_0x4a3569={}){const _0xab7d02=a0_0x54eaf6;try{this[_0xab7d02(0x171)](_0x3979e7);const {path:_0xbd2f57,mode:_0x483fbf,includeDev:_0x38832f}=_0x3979e7,{projectDir:_0x3da64f,agentId:_0x196541,directoryAccess:_0x9fdcf4}=_0x4a3569,_0x65b65b=this['_resolveAndValidatePath'](_0xbd2f57,_0x4a3569),_0x52b04a=a0_0x200071[_0xab7d02(0x19e)](_0x65b65b,_0xab7d02(0x169));this[_0xab7d02(0x19b)]?.['info']('Dependency\x20resolver\x20executing',{'mode':_0x483fbf,'resolvedPath':_0x65b65b,'includeDev':_0x38832f,'agentId':_0x196541});const _0x39acca=[];_0x39acca[_0xab7d02(0x136)](_0xab7d02(0x190)+_0x65b65b),_0x39acca['push']('Mode:\x20'+_0x483fbf);try{await a0_0x130836['access'](_0x52b04a);}catch{return{'success':![],'error':'No\x20package.json\x20found\x20at:\x20'+_0x52b04a,'output':_0x39acca[_0xab7d02(0x19e)]('\x0a')};}_0x39acca[_0xab7d02(0x136)](_0xab7d02(0x166));const _0x592785=await a0_0x130836[_0xab7d02(0x154)](_0x52b04a,_0xab7d02(0x1a0)),_0x3fe97e=JSON['parse'](_0x592785),_0x5bb5e8={..._0x3fe97e['dependencies']};_0x38832f&&_0x3fe97e['devDependencies']&&Object['assign'](_0x5bb5e8,_0x3fe97e['devDependencies']);if(Object['keys'](_0x5bb5e8)[_0xab7d02(0x18d)]===0x0)return{'success':!![],'mode':_0x483fbf,'message':_0xab7d02(0x13b),'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'output':_0x39acca[_0xab7d02(0x19e)]('\x0a')};if(Object[_0xab7d02(0x17c)](_0x5bb5e8)[_0xab7d02(0x18d)]>RESOLVER_CONFIG[_0xab7d02(0x19f)])return{'success':![],'error':'Too\x20many\x20dependencies\x20('+Object['keys'](_0x5bb5e8)['length']+_0xab7d02(0x14f)+RESOLVER_CONFIG['MAX_DEPENDENCIES'],'output':_0x39acca['join']('\x0a')};_0x39acca['push'](_0xab7d02(0x181)+Object[_0xab7d02(0x17c)](_0x5bb5e8)[_0xab7d02(0x18d)]+'\x20dependencies\x20to\x20check'),_0x39acca[_0xab7d02(0x136)]('🌐\x20Querying\x20npm\x20registry\x20for\x20updates...');const _0x52720d=await this[_0xab7d02(0x16e)](_0x5bb5e8);_0x39acca['push']('\x0a✅\x20Registry\x20check\x20complete'),_0x39acca['push']('📈\x20Updates\x20available:\x20'+Object['keys'](_0x52720d)['length']);if(Object['keys'](_0x52720d)[_0xab7d02(0x18d)]>0x0){_0x39acca[_0xab7d02(0x136)](_0xab7d02(0x142));for(const [_0x42e141,_0x425a98]of Object[_0xab7d02(0x159)](_0x52720d)){const _0x4a4722=_0x5bb5e8[_0x42e141];_0x39acca['push']('\x20\x20•\x20'+_0x42e141+':\x20'+_0x4a4722+'\x20→\x20'+_0x425a98);}}else _0x39acca['push'](_0xab7d02(0x178));if(_0x483fbf==='check')return Object[_0xab7d02(0x17c)](_0x52720d)['length']>0x0&&_0x39acca['push']('\x0a💡\x20Run\x20with\x20mode=\x22fix\x22\x20or\x20mode=\x22auto\x22\x20to\x20apply\x20updates'),{'success':!![],'mode':_0xab7d02(0x18b),'message':'Found\x20'+Object['keys'](_0x52720d)[_0xab7d02(0x18d)]+'\x20package(s)\x20with\x20available\x20updates','statistics':{'totalDependencies':Object['keys'](_0x5bb5e8)['length'],'updatesAvailable':Object[_0xab7d02(0x17c)](_0x52720d)['length'],'updatesApplied':0x0,'errors':0x0},'updates':_0x52720d,'output':_0x39acca['join']('\x0a')};if((_0x483fbf===_0xab7d02(0x186)||_0x483fbf===_0xab7d02(0x12e))&&Object[_0xab7d02(0x17c)](_0x52720d)['length']>0x0){_0x39acca['push']('\x0a💾\x20Creating\x20backup\x20of\x20package.json...');const _0x370b91=await this['_createBackup'](_0x52b04a);_0x370b91?_0x39acca[_0xab7d02(0x136)](_0xab7d02(0x16c)+a0_0x200071[_0xab7d02(0x131)](_0x370b91)):_0x39acca['push'](_0xab7d02(0x19d));_0x39acca['push']('\x0a🛠\x20\x20Updating\x20package.json...');for(const [_0x5970a1,_0x5bc938]of Object[_0xab7d02(0x159)](_0x52720d)){_0x3fe97e[_0xab7d02(0x18a)]?.[_0x5970a1]&&(_0x3fe97e['dependencies'][_0x5970a1]=_0x5bc938),_0x3fe97e['devDependencies']?.[_0x5970a1]&&(_0x3fe97e[_0xab7d02(0x15c)][_0x5970a1]=_0x5bc938);}await a0_0x130836['writeFile'](_0x52b04a,JSON[_0xab7d02(0x141)](_0x3fe97e,null,0x2)+'\x0a'),_0x39acca['push']('✅\x20package.json\x20updated'),_0x39acca[_0xab7d02(0x136)]('\x0a📥\x20Installing\x20dependencies\x20(this\x20may\x20take\x20a\x20while)...');try{const {stdout:_0x122d5e,stderr:_0x1fe160}=await exec('npm\x20install',{'cwd':_0x65b65b,'timeout':RESOLVER_CONFIG['NPM_COMMAND_TIMEOUT'],'maxBuffer':0x400*0x400*0xa});if(_0x122d5e){const _0x59ec26=_0x122d5e[_0xab7d02(0x16a)]()['split']('\x0a');_0x59ec26[_0xab7d02(0x18d)]>0xa?_0x39acca[_0xab7d02(0x136)]('\x20\x20'+_0x59ec26['slice'](-0x5)['join']('\x0a\x20\x20')):_0x39acca[_0xab7d02(0x136)]('\x20\x20'+_0x122d5e['trim']());}_0x1fe160&&!_0x1fe160['includes'](_0xab7d02(0x182))&&_0x39acca[_0xab7d02(0x136)]('⚠️\x20\x20'+_0x1fe160['trim']());_0x39acca['push'](_0xab7d02(0x16d));try{const {stdout:_0x571ac5}=await exec('npm\x20ls\x20--depth=0\x20--json',{'cwd':_0x65b65b,'timeout':0x7530}),_0x4ea1c6=JSON[_0xab7d02(0x160)](_0x571ac5);if(_0x4ea1c6['dependencies']){_0x39acca['push']('\x0a📦\x20Installed\x20versions:');for(const _0x34e2ac of Object[_0xab7d02(0x17c)](_0x52720d)){_0x4ea1c6[_0xab7d02(0x18a)][_0x34e2ac]&&_0x39acca['push'](_0xab7d02(0x134)+_0x34e2ac+'@'+_0x4ea1c6[_0xab7d02(0x18a)][_0x34e2ac]['version']);}}}catch(_0x1a905d){this[_0xab7d02(0x19b)]?.[_0xab7d02(0x12f)]('npm\x20ls\x20failed:',_0x1a905d[_0xab7d02(0x170)]);}return{'success':!![],'mode':_0x483fbf,'message':_0xab7d02(0x168)+Object['keys'](_0x52720d)['length']+'\x20package(s)','statistics':{'totalDependencies':Object['keys'](_0x5bb5e8)[_0xab7d02(0x18d)],'updatesAvailable':Object['keys'](_0x52720d)[_0xab7d02(0x18d)],'updatesApplied':Object['keys'](_0x52720d)['length'],'errors':0x0},'updates':_0x52720d,'backupCreated':_0x370b91!==null,'backupPath':_0x370b91,'output':_0x39acca[_0xab7d02(0x19e)]('\x0a')};}catch(_0xc5ae1e){_0x39acca['push'](_0xab7d02(0x13e)+_0xc5ae1e['message']);if(_0x370b91)try{await a0_0x130836[_0xab7d02(0x133)](_0x370b91,_0x52b04a),_0x39acca[_0xab7d02(0x136)]('\uD83D\uDD04 Restored package.json from backup');}catch(_0x41920e){_0x39acca['push'](_0xab7d02(0x140));}return{'success':![],'mode':_0x483fbf,'error':_0xab7d02(0x162)+_0xc5ae1e[_0xab7d02(0x170)],'statistics':{'totalDependencies':Object['keys'](_0x5bb5e8)[_0xab7d02(0x18d)],'updatesAvailable':Object['keys'](_0x52720d)['length'],'updatesApplied':0x0,'errors':0x1},'updates':_0x52720d,'backupCreated':_0x370b91!==null,'output':_0x39acca['join']('\x0a')};}}else{if(_0x483fbf===_0xab7d02(0x186)||_0x483fbf==='auto')return _0x39acca[_0xab7d02(0x136)](_0xab7d02(0x130)),{'success':!![],'mode':_0x483fbf,'message':'All\x20dependencies\x20are\x20up-to-date','statistics':{'totalDependencies':Object[_0xab7d02(0x17c)](_0x5bb5e8)['length'],'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'updates':{},'output':_0x39acca['join']('\x0a')};}}catch(_0x4da622){return this[_0xab7d02(0x19b)]?.['error']('Dependency\x20resolver\x20error:',_0x4da622),{'success':![],'error':_0x4da622['message'],'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x1},'output':_0x4da622[_0xab7d02(0x170)]};}}}export default DependencyResolverTool;
|
|
1
|
+
const a0_0x2c6f0c=a0_0x3177;function a0_0x32e9(){const _0x218026=['Aw5JBhvKzurLDG','BNbTifDbuK4','Bgf0zxn0','zML4','BwLUB3i','yNvPBgq','x2DLDeXHDgvZDenVBxbHDgLIBgvwzxjZAw9U','BNbTigXZic0TzgvWDgG9mcaTlwPZB24','zw50CMLLCW','CgfYC2u','rMfPBgvKihrVignYzwf0zsbIywnRDxa','Dg9mB3DLCKnHC2u','ugfJA2fNzsbUB3qGzM91BMq6ia','x2LZrxHHy3rvCgrHDgvbDMfPBgfIBgu','4PQG77IpicbgywLSzwqGDg8GCMvZDg9YzsbIywnRDxa','x3bHCNnLq29TCgXLEfjHBMDL','x3nHDgLZzMLLC0nVBxbSzxHsyw5Nzq','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','igzVCIa','DxrMltG','Dhj1zq','cVcFK6uGsw5ZDgfSBgLUzYbKzxbLBMrLBMnPzxmGkhrOAxmGBwf5ihrHA2uGysb3AgLSzsKUlI4','B3bLCMf0B3i','igrLCgvUzgvUy2LLCYb0BYbJAgvJAW','Bg9Nz2vY','tM8GzgvWzw5Kzw5JAwvZigzVDw5KigLUihbHy2THz2uUANnVBG','ChvZAa','tufyx0rfuevorevoq0LfuW','rgvWzw5Kzw5JEsbYzxnVBhzLCIbLCNjVCJO','Aw5JBhvKzxm','otK2nJuXmg1MrMzsAq','AM9PBG','zgvIDwC','x2LZq29TCgXLEfjHBMDL','rxjYB3iGy2HLy2TPBMCG','C3bSAxq','BwfW','rM91BMqG','DhjPBq','nJe5mdi3mJbdEKTdzKC','tw9KztOG','DhLWzq','revgqvvmvf9nt0rf','vg9Vig1HBNKGzgvWzw5Kzw5JAwvZicG','cIaG','CgTN','z2v0rgvZy3jPChrPB24','D2fYBG','mteWodqWmJrdCg95u3q','uMv0CNKG','DMvYC2LVBG','Aw5MBW','ChjLCMvSzwfZzq','CMvHzezPBgu','CMfUz2vZ','zgLZDc10ywDZ','x2zLDgnOugfJA2fNzuLUzM8','C3rYAw5N','cVcFKR4Gq3jLyxrPBMCGyMfJA3vWig9MihbHy2THz2uUANnVBI4UlG','C3rHDhvZ','Ec1Yyw5Nzq','CgfJA2fNzs5QC29U','qwXSigrLCgvUzgvUy2LLCYbHCMuGDxaTDg8Tzgf0zq','zgv2rgvWzw5Kzw5JAwvZ','mtaWnJy0mdbKCNP2ufu','y3DK','x2nYzwf0zujHy2T1Ca','nZmZmdGWzfvpCMjI','BwvZC2fNzq','cVcFK6yGsw5ZDgfSBgvKihzLCNnPB25ZoG','y2HLy2S','x2LZvgLSzgvvCgrHDgvbDMfPBgfIBgu','AxnbyNnVBhv0zq','A2v5CW','ANnVBG','x2LZu2LTCgXLvxbKyxrLqxzHAwXHyMXL','mtiWnZa2nwHwEgfbqq','C29Tzq','mKn0yxrSyq','mtbpB2f4uLC','zxHLy3v0zq','C3rHDhvZvgv4Da','C2LNBMfS','4PQG77Ipica','lMjHy2T1Cc5QC29U','ChjLzML4','cVcFM6aGifvWzgf0Aw5NihbHy2THz2uUANnVBI4UlG','BgvUz3rO','BwfQB3i','zxjYB3i','ywnJzxnZ','yM9VBgvHBG','Bw9Kzq','mZq2ndC3nNDwq0vpyq','x2nVBxbHCMvwzxjZAw9UCW','u3vJy2vZC2z1BgX5ihvWzgf0zwqG','x3bHCNnLvMvYC2LVBLjHBMDL','C3rHCNrZv2L0Aa','BNbTigXZigzHAwXLzdO','uKvuuLLFrevmqvK','x3nHDgLZzMLLC1jHBMDL','tufyx0nptKnvuLjftLrFq0Hfq0Tt','icdIGkiG','4PQG77IpicbcywnRDxaGy3jLyxrPB24GzMfPBgvKlcbJB250Aw51Aw5NigfUExDHEs4UlG','DgvZDa','zxHLyW','C2XPy2u','sfruuca','cVcFKQeGuNvUihDPDgGGBw9Kzt0IzML4iIbVCIbTB2rLpsjHDxrViIb0BYbHChbSEsb1CgrHDgvZ','CgfYC2vqyxjHBwv0zxjZ','x2LZwfjHBMDLvxbKyxrLqxzHAwXHyMXL','x2LZvxbKyxrLqxzHAwXHyMXL','tLbnx0nptu1btKrFveLnru9vva','8j+tIIbgB3vUzca','BMv3vMvYC2LVBG','x2nOzwnRrgvWzw5Kzw5JAwvZ','Cgf0Aa','C3rYAw5NAwz5','x2LZtgvZC1rOyw5vCgrHDgvbDMfPBgfIBgu','Cgf0y2G','Bwf0y2G','zgvWzw5Kzw5JAwvZ','zM9YrwfJAa','x2LZq2fYzxrvCgrHDgvbDMfPBgfIBgu','B2jQzwn0','BM9YBwfSAxPL','4PYfieLUC3rHBgXHDgLVBIbJB21WBgv0zq','Bwf4','tLbnx1jfr0Ltvfjzx1vsta'];a0_0x32e9=function(){return _0x218026;};return a0_0x32e9();}(function(_0x2fb4a1,_0x187f73){const _0x542364=a0_0x3177,_0x43270a=_0x2fb4a1();while(!![]){try{const _0x36ba59=parseInt(_0x542364(0x1cd))/0x1+-parseInt(_0x542364(0x1d8))/0x2*(parseInt(_0x542364(0x1d6))/0x3)+-parseInt(_0x542364(0x166))/0x4*(parseInt(_0x542364(0x1d9))/0x5)+-parseInt(_0x542364(0x1a8))/0x6+-parseInt(_0x542364(0x1ba))/0x7+-parseInt(_0x542364(0x1ca))/0x8+parseInt(_0x542364(0x1b1))/0x9;if(_0x36ba59===_0x187f73)break;else _0x43270a['push'](_0x43270a['shift']());}catch(_0x180076){_0x43270a['push'](_0x43270a['shift']());}}}(a0_0x32e9,0xedb20));import{promises as a0_0x4b8413}from'fs';import a0_0x3e31f1 from'path';import{exec as a0_0x421112}from'child_process';import{promisify}from'util';import{BaseTool}from'./baseTool.js';import a0_0x1bd5b1 from'../utilities/tagParser.js';const exec=promisify(a0_0x421112),RESOLVER_CONFIG={'DEFAULT_MODE':a0_0x2c6f0c(0x1d0),'VALID_MODES':[a0_0x2c6f0c(0x1d0),'fix','auto'],'NPM_COMMAND_TIMEOUT':0x493e0,'REGISTRY_TIMEOUT':0x2710,'MAX_CONCURRENT_CHECKS':0x5,'BACKUP_EXTENSION':a0_0x2c6f0c(0x15d),'CREATE_BACKUPS':!![],'RETRY_ATTEMPTS':0x3,'RETRY_DELAY':0x3e8,'MAX_DEPENDENCIES':0x1f4,'NPM_REGISTRY_URL':'https://registry.npmjs.org'};export class DependencyResolverTool extends BaseTool{constructor(_0xf4aed4={},_0x2deb50=null){super(_0xf4aed4,_0x2deb50),this['id']='dependency-resolver';}[a0_0x2c6f0c(0x1b8)](){return'Tool:\x20Dependency\x20Resolver\x20-\x20Resolve\x20Node.js\x20package\x20dependency\x20conflicts\x0a\x0a**Purpose:**\x20Checks\x20npm\x20dependencies\x20for\x20updates\x20and\x20optionally\x20updates\x20package.json\x20to\x20latest\x20compatible\x20versions\x20automatically.\x0a\x0a**USAGE:**\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22dependency-resolver\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22path\x22:\x20\x22./my-project\x22,\x0a\x20\x20\x20\x20\x22mode\x22:\x20\x22check\x22,\x0a\x20\x20\x20\x20\x22includeDev\x22:\x20true\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**path**\x20(string,\x20optional):\x20Path\x20to\x20project\x20directory\x20with\x20package.json.\x20Default:\x20\x22.\x22\x0a-\x20**mode**\x20(string,\x20optional):\x20Operation\x20mode.\x20Options:\x0a\x20\x20-\x20\x22check\x22\x20-\x20Only\x20check\x20for\x20updates\x20(default)\x0a\x20\x20-\x20\x22fix\x22\x20-\x20Update\x20package.json\x20and\x20run\x20npm\x20install\x0a\x20\x20-\x20\x22auto\x22\x20-\x20Automatically\x20fix\x20all\x20conflicts\x0a-\x20**includeDev**\x20(boolean,\x20optional):\x20Include\x20devDependencies.\x20Default:\x20true\x0a\x0a**What\x20It\x20Does:**\x0a-\x20Checks\x20npm\x20registry\x20for\x20latest\x20compatible\x20versions\x0a-\x20Respects\x20semver\x20ranges\x20(^,\x20~,\x20>=,\x20etc.)\x0a-\x20Creates\x20automatic\x20backups\x20before\x20modifications\x0a-\x20Runs\x20npm\x20install\x20after\x20updates\x20(in\x20fix/auto\x20mode)\x0a-\x20Provides\x20detailed\x20update\x20report\x0a\x0a**Examples:**\x0a\x0a1.\x20Check\x20for\x20updates:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22dependency-resolver\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22mode\x22:\x20\x22check\x22\x20}\x0a}\x0a```\x0a\x0a2.\x20Fix\x20outdated\x20dependencies:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22dependency-resolver\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22path\x22:\x20\x22./my-project\x22,\x20\x22mode\x22:\x20\x22fix\x22\x20}\x0a}\x0a```\x0a\x0a3.\x20Auto-fix\x20with\x20devDependencies:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22dependency-resolver\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22mode\x22:\x20\x22auto\x22,\x20\x22includeDev\x22:\x20true\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Always\x20creates\x20backup\x20(.backup.json)\x20before\x20modifications\x0a-\x20Network\x20requests\x20have\x20timeout\x20and\x20retry\x20logic\x0a-\x20npm\x20install\x20runs\x20with\x20timeout\x20protection\x20(5\x20minutes\x20max)\x0a-\x20Supports\x20complex\x20semver\x20ranges\x20(||,\x20&&,\x20etc.)';}[a0_0x2c6f0c(0x176)](_0x23a201){const _0x4022d5=a0_0x2c6f0c;if(typeof _0x23a201===_0x4022d5(0x185)&&_0x23a201!==null)return{'path':_0x23a201[_0x4022d5(0x17d)]||'.','mode':_0x23a201['mode']||RESOLVER_CONFIG[_0x4022d5(0x1b4)],'includeDev':_0x23a201[_0x4022d5(0x18a)]!==undefined?_0x23a201['includeDev']:!![]};if(typeof _0x23a201===_0x4022d5(0x1c3)){const _0x400e9a=/<dependency-resolve([^>]*)>([\s\S]*?)<\/dependency-resolve>/i,_0xc413be=_0x400e9a['exec'](_0x23a201);if(_0xc413be){const _0x4d82b3=_0xc413be[0x1],_0x4e6167=_0xc413be[0x2],_0x2e350f=/path=["']([^"']*)["']/i[_0x4022d5(0x172)](_0x4d82b3),_0xb32fa6=/mode=["']([^"']*)["']/i['exec'](_0x4d82b3),_0x6077b5=/include-dev=["']([^"']*)["']/i[_0x4022d5(0x172)](_0x4d82b3),_0x21dd9d=/<path>(.*?)<\/path>/i,_0x59c82b=_0x21dd9d['exec'](_0x4e6167),_0x1376ec=/<mode>(.*?)<\/mode>/i,_0x43dc77=_0x1376ec['exec'](_0x4e6167),_0x510a31=/<include-dev>(.*?)<\/include-dev>/i,_0xa20602=_0x510a31[_0x4022d5(0x172)](_0x4e6167),_0x3c236e=(_0x59c82b?_0x59c82b[0x1][_0x4022d5(0x1b0)]():null)||(_0x2e350f?_0x2e350f[0x1]:'.'),_0x5a19e7=(_0x43dc77?_0x43dc77[0x1][_0x4022d5(0x1b0)]():null)||(_0xb32fa6?_0xb32fa6[0x1]:RESOLVER_CONFIG['DEFAULT_MODE']),_0x59f9c1=(_0xa20602?_0xa20602[0x1]['trim']():null)||(_0x6077b5?_0x6077b5[0x1]:_0x4022d5(0x19e));return{'path':_0x3c236e,'mode':_0x5a19e7,'includeDev':this['_parseBoolean'](_0x59f9c1,!![])};}const _0x430690=/\[resolve\s+([^\]]*)\]/i,_0x1060ad=_0x430690['exec'](_0x23a201);if(_0x1060ad){const _0x232c11=_0x1060ad[0x1],_0x176b24=/path=["']([^"']*)["']/i['exec'](_0x232c11),_0x438154=/mode=["']([^"']*)["']/i['exec'](_0x232c11),_0xe62abd=/include-dev=["']([^"']*)["']/i['exec'](_0x232c11);return{'path':_0x176b24?_0x176b24[0x1]:'.','mode':_0x438154?_0x438154[0x1]:RESOLVER_CONFIG['DEFAULT_MODE'],'includeDev':this['_parseBoolean'](_0xe62abd?_0xe62abd[0x1]:'true',!![])};}throw new Error('Invalid\x20dependency-resolve\x20format.\x20Use\x20<dependency-resolve>\x20tags\x20or\x20JSON\x20format.');}throw new Error('Invalid\x20parameter\x20format.\x20Expected\x20string\x20(XML)\x20or\x20object\x20(JSON).');}['_parseBoolean'](_0x4ce90e,defaultValue=![]){const _0x20706e=a0_0x2c6f0c;if(_0x4ce90e===undefined||_0x4ce90e===null)return defaultValue;if(typeof _0x4ce90e===_0x20706e(0x164))return _0x4ce90e;if(typeof _0x4ce90e===_0x20706e(0x1c3))return _0x4ce90e['toLowerCase']()===_0x20706e(0x19e)||_0x4ce90e==='1';return defaultValue;}['_validateParameters'](_0x3110c3){const _0x557df0=a0_0x2c6f0c;if(!_0x3110c3||typeof _0x3110c3!=='object')throw new Error('Parameters\x20must\x20be\x20an\x20object');if(_0x3110c3[_0x557df0(0x17d)]&&typeof _0x3110c3['path']!=='string')throw new Error('path\x20must\x20be\x20a\x20string');if(_0x3110c3['mode']&&!RESOLVER_CONFIG['VALID_MODES']['includes'](_0x3110c3[_0x557df0(0x165)]))throw new Error('Invalid\x20mode:\x20'+_0x3110c3[_0x557df0(0x165)]+'.\x20Must\x20be\x20one\x20of:\x20'+RESOLVER_CONFIG['VALID_MODES']['join'](',\x20'));if(_0x3110c3['includeDev']!==undefined&&typeof _0x3110c3[_0x557df0(0x18a)]!=='boolean')throw new Error('includeDev\x20must\x20be\x20a\x20boolean');}[a0_0x2c6f0c(0x19b)](_0x4fa463,_0x2c2959){const _0x46ec4b=a0_0x2c6f0c,{projectDir:_0xf8c0ea,directoryAccess:_0x4fceaf}=_0x2c2959;let _0x119312=_0xf8c0ea||process[_0x46ec4b(0x1cb)]();_0x4fceaf&&_0x4fceaf['workingDirectory']&&(_0x119312=_0x4fceaf['workingDirectory']);const _0x23ba0f=a0_0x3e31f1[_0x46ec4b(0x1d2)](_0x4fa463)?a0_0x3e31f1['normalize'](_0x4fa463):a0_0x3e31f1[_0x46ec4b(0x186)](a0_0x3e31f1[_0x46ec4b(0x1a9)](_0x119312,_0x4fa463)),_0xc532ca=a0_0x3e31f1[_0x46ec4b(0x186)](_0x119312);if(!_0x23ba0f['startsWith'](_0xc532ca))throw new Error('Path\x20traversal\x20detected:\x20'+_0x4fa463+'\x20resolves\x20outside\x20working\x20directory');return _0x23ba0f;}async[a0_0x2c6f0c(0x1cc)](_0x21a972){const _0x259fdc=a0_0x2c6f0c;if(!RESOLVER_CONFIG['CREATE_BACKUPS'])return null;try{const _0x44cc0a=_0x21a972+RESOLVER_CONFIG['BACKUP_EXTENSION'];return await a0_0x4b8413['copyFile'](_0x21a972,_0x44cc0a),this['logger']?.[_0x259fdc(0x1bd)]('Created\x20backup',{'backupPath':_0x44cc0a}),_0x44cc0a;}catch(_0x532fdb){return this['logger']?.[_0x259fdc(0x1b9)](_0x259fdc(0x194),{'error':_0x532fdb[_0x259fdc(0x1ce)]}),null;}}async[a0_0x2c6f0c(0x1c2)](_0x126b85){const _0x11e042=a0_0x2c6f0c,_0x22613f=RESOLVER_CONFIG[_0x11e042(0x189)]+'/'+encodeURIComponent(_0x126b85);for(let _0x510466=0x1;_0x510466<=RESOLVER_CONFIG['RETRY_ATTEMPTS'];_0x510466++){try{const _0x204251=new AbortController(),_0x4f4d18=setTimeout(()=>_0x204251['abort'](),RESOLVER_CONFIG['REGISTRY_TIMEOUT']),_0x5bf96d=await fetch(_0x22613f,{'signal':_0x204251[_0x11e042(0x15b)]});clearTimeout(_0x4f4d18);if(!_0x5bf96d['ok']){if(_0x5bf96d[_0x11e042(0x1c5)]===0x194)return this['logger']?.['warn'](_0x11e042(0x196)+_0x126b85),null;throw new Error(_0x11e042(0x174)+_0x5bf96d['status']+':\x20'+_0x5bf96d[_0x11e042(0x15a)]);}const _0x2aca46=await _0x5bf96d[_0x11e042(0x1d4)]();if(!_0x2aca46||typeof _0x2aca46!=='object'||!_0x2aca46['dist-tags'])throw new Error('Invalid\x20registry\x20response\x20format');return _0x2aca46;}catch(_0x11648a){if(_0x510466<RESOLVER_CONFIG['RETRY_ATTEMPTS'])this['logger']?.[_0x11e042(0x1aa)](_0x11e042(0x1bb)+_0x510466+'/'+RESOLVER_CONFIG['RETRY_ATTEMPTS']+_0x11e042(0x19c)+_0x126b85),await new Promise(_0x116312=>setTimeout(_0x116312,RESOLVER_CONFIG[_0x11e042(0x16c)]*_0x510466));else return this[_0x11e042(0x1a2)]?.[_0x11e042(0x162)]('Failed\x20to\x20fetch\x20'+_0x126b85+':',_0x11648a[_0x11e042(0x1ce)]),null;}}return null;}async['_getLatestCompatibleVersion'](_0x33d24c,_0x50fb61){const _0x2b5609=a0_0x2c6f0c,_0x588fce=await this['_fetchPackageInfo'](_0x33d24c);if(!_0x588fce)return null;const _0x3679c4=_0x588fce[_0x2b5609(0x1c1)]?.[_0x2b5609(0x18c)];if(!_0x3679c4)return null;const _0x3f1565=this['_parseVersion'](_0x3679c4);if(!_0x3f1565)return null;if(this['_isComplexRange'](_0x50fb61)){const _0x5ea50d=this[_0x2b5609(0x199)](_0x50fb61),_0x3c02ac=this[_0x2b5609(0x19a)](_0x5ea50d,_0x3f1565);if(_0x3c02ac)return _0x3679c4;return null;}const _0x3a8f0f=this[_0x2b5609(0x169)](_0x50fb61);if(!_0x3a8f0f)return null;const _0x2b75db=this[_0x2b5609(0x178)](_0x3a8f0f,_0x3f1565);if(_0x2b75db)return _0x3a8f0f[_0x2b5609(0x15e)]+_0x3679c4;return null;}['_parseVersion'](_0x319edb){const _0xd3111c=a0_0x2c6f0c,_0xf9b5f5=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/,_0x424954=_0xf9b5f5[_0xd3111c(0x172)](_0x319edb);if(!_0x424954){const _0x5347c1=_0x319edb[_0xd3111c(0x181)](/^(\d+)\.(\d+)\.(\d+)/);if(_0x5347c1)return{'major':parseInt(_0x5347c1[0x1],0xa),'minor':parseInt(_0x5347c1[0x2],0xa),'patch':parseInt(_0x5347c1[0x3],0xa),'prerelease':null,'build':null};return null;}return{'major':parseInt(_0x424954[0x1],0xa),'minor':parseInt(_0x424954[0x2],0xa),'patch':parseInt(_0x424954[0x3],0xa),'prerelease':_0x424954[0x4]?_0x424954[0x4][_0xd3111c(0x1ad)]('.'):null,'build':_0x424954[0x5]||null};}['_compareVersions'](_0x3abfa3,_0x3a6ae3){const _0x59ba42=a0_0x2c6f0c;if(_0x3abfa3[_0x59ba42(0x161)]!==_0x3a6ae3['major'])return _0x3abfa3[_0x59ba42(0x161)]-_0x3a6ae3['major'];if(_0x3abfa3['minor']!==_0x3a6ae3['minor'])return _0x3abfa3['minor']-_0x3a6ae3['minor'];if(_0x3abfa3[_0x59ba42(0x180)]!==_0x3a6ae3[_0x59ba42(0x180)])return _0x3abfa3['patch']-_0x3a6ae3[_0x59ba42(0x180)];if(!_0x3abfa3['prerelease']&&!_0x3a6ae3[_0x59ba42(0x1be)])return 0x0;if(!_0x3abfa3[_0x59ba42(0x1be)]&&_0x3a6ae3['prerelease'])return 0x1;if(_0x3abfa3['prerelease']&&!_0x3a6ae3[_0x59ba42(0x1be)])return-0x1;return this['_comparePrerelease'](_0x3abfa3[_0x59ba42(0x1be)],_0x3a6ae3[_0x59ba42(0x1be)]);}['_comparePrerelease'](_0x377b08,_0x6b3765){const _0x3cbad4=a0_0x2c6f0c,_0x2481c6=Math[_0x3cbad4(0x188)](_0x377b08[_0x3cbad4(0x160)],_0x6b3765[_0x3cbad4(0x160)]);for(let _0x541dd5=0x0;_0x541dd5<_0x2481c6;_0x541dd5++){if(_0x541dd5>=_0x377b08['length'])return-0x1;if(_0x541dd5>=_0x6b3765['length'])return 0x1;const _0x1a35fd=_0x377b08[_0x541dd5],_0xf45db5=_0x6b3765[_0x541dd5],_0x2bf4b1=/^\d+$/[_0x3cbad4(0x171)](_0x1a35fd)?parseInt(_0x1a35fd,0xa):null,_0x592d82=/^\d+$/[_0x3cbad4(0x171)](_0xf45db5)?parseInt(_0xf45db5,0xa):null;if(_0x2bf4b1!==null&&_0x592d82!==null){if(_0x2bf4b1!==_0x592d82)return _0x2bf4b1-_0x592d82;continue;}if(_0x2bf4b1!==null&&_0x592d82===null)return-0x1;if(_0x2bf4b1===null&&_0x592d82!==null)return 0x1;if(_0x1a35fd<_0xf45db5)return-0x1;if(_0x1a35fd>_0xf45db5)return 0x1;}return 0x0;}[a0_0x2c6f0c(0x169)](_0x4b4d15){const _0x1ce8ba=a0_0x2c6f0c,_0xe20211=_0x4b4d15['trim'](),_0x4ef84e=/^(\d+|\*|x)(\.(\d+|\*|x))?(\.(\d+|\*|x))?$/i,_0x309364=_0x4ef84e[_0x1ce8ba(0x172)](_0xe20211);if(_0x309364){const _0x4a1b43=_0x309364[0x1],_0x36f9a1=_0x309364[0x3],_0x5c5bc9=_0x309364[0x5],_0x1022b9=_0x4a1b43==='*'||_0x4a1b43[_0x1ce8ba(0x195)]()==='x'||_0x36f9a1===undefined||_0x36f9a1==='*'||_0x36f9a1[_0x1ce8ba(0x195)]()==='x'||_0x5c5bc9===undefined||_0x5c5bc9==='*'||_0x5c5bc9[_0x1ce8ba(0x195)]()==='x';if(_0x1022b9)return{'prefix':'','operator':_0x1ce8ba(0x1c6),'major':_0x4a1b43==='*'||_0x4a1b43['toLowerCase']()==='x'?null:parseInt(_0x4a1b43,0xa),'minor':!_0x36f9a1||_0x36f9a1==='*'||_0x36f9a1['toLowerCase']()==='x'?null:parseInt(_0x36f9a1,0xa),'patch':!_0x5c5bc9||_0x5c5bc9==='*'||_0x5c5bc9[_0x1ce8ba(0x195)]()==='x'?null:parseInt(_0x5c5bc9,0xa),'original':_0x4b4d15};}let _0x5cbb22='',_0x3afde5=_0xe20211,_0x3c7626='=';if(_0xe20211['startsWith']('^'))_0x5cbb22='^',_0x3afde5=_0xe20211['slice'](0x1),_0x3c7626='^';else{if(_0xe20211[_0x1ce8ba(0x16a)]('~'))_0x5cbb22='~',_0x3afde5=_0xe20211['slice'](0x1),_0x3c7626='~';else{if(_0xe20211[_0x1ce8ba(0x16a)]('>='))_0x5cbb22='>=',_0x3afde5=_0xe20211['slice'](0x2)['trim'](),_0x3c7626='>=';else{if(_0xe20211['startsWith']('>'))_0x5cbb22='>',_0x3afde5=_0xe20211['slice'](0x1)[_0x1ce8ba(0x1b0)](),_0x3c7626='>';else{if(_0xe20211[_0x1ce8ba(0x16a)]('<='))_0x5cbb22='<=',_0x3afde5=_0xe20211['slice'](0x2)[_0x1ce8ba(0x1b0)](),_0x3c7626='<=';else _0xe20211['startsWith']('<')&&(_0x5cbb22='<',_0x3afde5=_0xe20211[_0x1ce8ba(0x173)](0x1)['trim'](),_0x3c7626='<');}}}}const _0x5d2935=this['_parseVersion'](_0x3afde5);if(!_0x5d2935)return null;return{'prefix':_0x5cbb22,'operator':_0x3c7626,'major':_0x5d2935['major'],'minor':_0x5d2935[_0x1ce8ba(0x18e)],'patch':_0x5d2935[_0x1ce8ba(0x180)],'prerelease':_0x5d2935['prerelease'],'build':_0x5d2935[_0x1ce8ba(0x18f)],'original':_0x4b4d15};}[a0_0x2c6f0c(0x178)](_0x5871c7,_0x47f4fe){const _0x53dde0=a0_0x2c6f0c,_0x37457a={'major':_0x5871c7[_0x53dde0(0x161)],'minor':_0x5871c7['minor'],'patch':_0x5871c7['patch'],'prerelease':_0x5871c7['prerelease']||null,'build':_0x5871c7['build']||null};switch(_0x5871c7[_0x53dde0(0x1a0)]){case'^':return this[_0x53dde0(0x184)](_0x37457a,_0x47f4fe);case'~':return this[_0x53dde0(0x1d1)](_0x37457a,_0x47f4fe);case'>=':case'>':return this[_0x53dde0(0x1d5)](_0x37457a,_0x47f4fe);case'<':case'<=':return this[_0x53dde0(0x17f)](_0x5871c7,_0x47f4fe);case'x-range':return this[_0x53dde0(0x177)](_0x5871c7,_0x47f4fe);case'=':default:return this[_0x53dde0(0x197)](_0x37457a,_0x47f4fe);}}['_isCaretUpdateAvailable'](_0x14382c,_0x548ca2){const _0x2ec416=a0_0x2c6f0c,_0x493b14=this[_0x2ec416(0x167)](_0x548ca2,_0x14382c);if(_0x493b14<=0x0)return![];if(_0x14382c['major']===0x0&&_0x14382c['minor']===0x0)return _0x548ca2[_0x2ec416(0x161)]===0x0&&_0x548ca2['minor']===0x0;if(_0x14382c[_0x2ec416(0x161)]===0x0)return _0x548ca2[_0x2ec416(0x161)]===0x0&&_0x548ca2[_0x2ec416(0x18e)]===_0x14382c[_0x2ec416(0x18e)];return _0x548ca2['major']===_0x14382c[_0x2ec416(0x161)];}[a0_0x2c6f0c(0x1d1)](_0x26585c,_0x4267a5){const _0x5aea43=a0_0x2c6f0c,_0x426591=this[_0x5aea43(0x167)](_0x4267a5,_0x26585c);if(_0x426591<=0x0)return![];return _0x4267a5[_0x5aea43(0x161)]===_0x26585c['major']&&_0x4267a5['minor']===_0x26585c['minor'];}[a0_0x2c6f0c(0x1d5)](_0x24d4fb,_0x4ff22c){const _0x521967=this['_compareVersions'](_0x4ff22c,_0x24d4fb);return _0x521967>0x0;}[a0_0x2c6f0c(0x197)](_0x30a8c3,_0x3230ac){const _0x51be3e=a0_0x2c6f0c;return this[_0x51be3e(0x1d5)](_0x30a8c3,_0x3230ac);}['_isLessThanUpdateAvailable'](_0x5d65e8,_0x201aea){const _0x36be87=a0_0x2c6f0c,_0x31b24e=this[_0x36be87(0x167)](_0x201aea,_0x5d65e8);if(_0x5d65e8[_0x36be87(0x1a0)]==='<')return _0x31b24e<0x0;else{if(_0x5d65e8[_0x36be87(0x1a0)]==='<=')return _0x31b24e<=0x0;}return![];}['_isXRangeUpdateAvailable'](_0x7bb4a1,_0x4f7342){const _0xb5d3d4=a0_0x2c6f0c;if(_0x7bb4a1[_0xb5d3d4(0x161)]!==null&&_0x4f7342['major']!==_0x7bb4a1['major'])return![];if(_0x7bb4a1['minor']!==null&&_0x4f7342[_0xb5d3d4(0x18e)]!==_0x7bb4a1['minor'])return![];if(_0x7bb4a1[_0xb5d3d4(0x180)]!==null&&_0x4f7342['patch']!==_0x7bb4a1['patch'])return![];return!![];}[a0_0x2c6f0c(0x1ab)](_0x1db7ba){const _0xe61535=a0_0x2c6f0c;if(_0x1db7ba[_0xe61535(0x1a7)]('||'))return!![];const _0x16067c=_0x1db7ba['trim']();if(_0x16067c['startsWith']('^')||_0x16067c['startsWith']('~'))return![];const _0x38e53f=_0x16067c['split'](/\s+/)['filter'](_0x58232b=>_0x58232b[_0xe61535(0x160)]>0x0);if(_0x38e53f[_0xe61535(0x160)]>0x1){const _0x5f26d4=/^(>=?|<=?|\^|~|[0-9])/;return _0x38e53f['every'](_0x20ab2c=>_0x5f26d4['test'](_0x20ab2c));}return![];}['_parseComplexRange'](_0x5b476){const _0x288ef0=a0_0x2c6f0c;if(_0x5b476[_0x288ef0(0x1a7)]('||')){const _0x2b76c1=_0x5b476['split']('||')['map'](_0x28b9b2=>_0x28b9b2[_0x288ef0(0x1b0)]());return{'type':'or','ranges':_0x2b76c1[_0x288ef0(0x1ae)](_0x1f3673=>this['_parseComplexRange'](_0x1f3673))};}const _0x36f1d6=_0x5b476['trim']()[_0x288ef0(0x1ad)](/\s+/)['filter'](_0x285d8f=>_0x285d8f['length']>0x0);if(_0x36f1d6['length']>0x1)return{'type':'and','ranges':_0x36f1d6['map'](_0x2f2682=>this[_0x288ef0(0x169)](_0x2f2682))};return{'type':'simple','range':this['_parseVersionRange'](_0x5b476)};}[a0_0x2c6f0c(0x16d)](_0x1025b6,_0x144beb){const _0x42f6c=a0_0x2c6f0c;if(!_0x1025b6||!_0x144beb)return![];return this[_0x42f6c(0x178)](_0x1025b6,_0x144beb);}['_satisfiesComplexRange'](_0x98b58b,_0x56d147){const _0x560b60=a0_0x2c6f0c;if(!_0x98b58b||!_0x56d147)return![];switch(_0x98b58b[_0x560b60(0x1b3)]){case'simple':return this['_satisfiesRange'](_0x98b58b['range'],_0x56d147);case'and':return _0x98b58b[_0x560b60(0x1c0)]['every'](_0x2a5f59=>this[_0x560b60(0x16d)](_0x2a5f59,_0x56d147));case'or':return _0x98b58b[_0x560b60(0x1c0)][_0x560b60(0x1d7)](_0x2f0817=>this[_0x560b60(0x19a)](_0x2f0817,_0x56d147));default:return![];}}async['_checkDependencies'](_0xc93622){const _0x22881c=a0_0x2c6f0c,_0x2dc9ef={},_0x383a9a=Object[_0x22881c(0x192)](_0xc93622);for(let _0x94fe84=0x0;_0x94fe84<_0x383a9a[_0x22881c(0x160)];_0x94fe84+=RESOLVER_CONFIG[_0x22881c(0x16e)]){const _0x42b0d4=_0x383a9a['slice'](_0x94fe84,_0x94fe84+RESOLVER_CONFIG[_0x22881c(0x16e)]),_0x2e6d2f=_0x42b0d4[_0x22881c(0x1ae)](async([_0x55273a,_0xa01a3])=>{const _0x3230d2=_0x22881c;try{const _0xb803d5=await this[_0x3230d2(0x190)](_0x55273a,_0xa01a3);if(_0xb803d5){const _0x4ec5e3=_0xa01a3['match'](/^[\^~]/)?.[0x0]||'^';return{'pkg':_0x55273a,'newVersion':''+_0x4ec5e3+_0xb803d5,'oldVersion':_0xa01a3};}return null;}catch(_0x671d20){return this[_0x3230d2(0x1a2)]?.[_0x3230d2(0x162)](_0x3230d2(0x1ac)+_0x55273a+':',_0x671d20['message']),null;}}),_0x482f2e=await Promise['all'](_0x2e6d2f);_0x482f2e[_0x22881c(0x183)](_0x10dba8=>{const _0x453e0f=_0x22881c;_0x10dba8&&(_0x2dc9ef[_0x10dba8[_0x453e0f(0x1b7)]]=_0x10dba8[_0x453e0f(0x17b)]);});}return _0x2dc9ef;}async[a0_0x2c6f0c(0x159)](_0x1f89b7,_0x5e21c8={}){const _0x4357a5=a0_0x2c6f0c;try{this['_validateParameters'](_0x1f89b7);const {path:_0x42523e,mode:_0x236019,includeDev:_0x550a67}=_0x1f89b7,{projectDir:_0x4b2df5,agentId:_0x2f66cf,directoryAccess:_0x17b47f}=_0x5e21c8,_0x1008df=this['_resolveAndValidatePath'](_0x42523e,_0x5e21c8),_0x132374=a0_0x3e31f1[_0x4357a5(0x1a9)](_0x1008df,_0x4357a5(0x1c7));this['logger']?.['info']('Dependency\x20resolver\x20executing',{'mode':_0x236019,'resolvedPath':_0x1008df,'includeDev':_0x550a67,'agentId':_0x2f66cf});const _0x53e751=[];_0x53e751[_0x4357a5(0x1a4)]('🔍\x20Checking\x20dependencies\x20in:\x20'+_0x1008df),_0x53e751[_0x4357a5(0x1a4)](_0x4357a5(0x1b2)+_0x236019);try{await a0_0x4b8413[_0x4357a5(0x163)](_0x132374);}catch{return{'success':![],'error':'No\x20package.json\x20found\x20at:\x20'+_0x132374,'output':_0x53e751['join']('\x0a')};}_0x53e751[_0x4357a5(0x1a4)]('\x0a📦\x20Reading\x20package.json...');const _0x4acc4f=await a0_0x4b8413[_0x4357a5(0x1bf)](_0x132374,_0x4357a5(0x19d)),_0x389e6d=JSON[_0x4357a5(0x193)](_0x4acc4f),_0x1aa149={..._0x389e6d[_0x4357a5(0x182)]};_0x550a67&&_0x389e6d[_0x4357a5(0x1c9)]&&Object['assign'](_0x1aa149,_0x389e6d[_0x4357a5(0x1c9)]);if(Object['keys'](_0x1aa149)['length']===0x0)return{'success':!![],'mode':_0x236019,'message':_0x4357a5(0x1a3),'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'output':_0x53e751[_0x4357a5(0x1a9)]('\x0a')};if(Object['keys'](_0x1aa149)['length']>RESOLVER_CONFIG['MAX_DEPENDENCIES'])return{'success':![],'error':_0x4357a5(0x1b5)+Object[_0x4357a5(0x1d3)](_0x1aa149)[_0x4357a5(0x160)]+'),\x20max\x20allowed:\x20'+RESOLVER_CONFIG[_0x4357a5(0x1a5)],'output':_0x53e751['join']('\x0a')};_0x53e751[_0x4357a5(0x1a4)](_0x4357a5(0x17a)+Object['keys'](_0x1aa149)[_0x4357a5(0x160)]+_0x4357a5(0x1a1)),_0x53e751[_0x4357a5(0x1a4)]('🌐\x20Querying\x20npm\x20registry\x20for\x20updates...');const _0x537be1=await this[_0x4357a5(0x17c)](_0x1aa149);_0x53e751[_0x4357a5(0x1a4)]('\x0a✅\x20Registry\x20check\x20complete'),_0x53e751[_0x4357a5(0x1a4)]('📈\x20Updates\x20available:\x20'+Object[_0x4357a5(0x1d3)](_0x537be1)[_0x4357a5(0x160)]);if(Object['keys'](_0x537be1)[_0x4357a5(0x160)]>0x0){_0x53e751[_0x4357a5(0x1a4)]('\x0a📋\x20Available\x20updates:');for(const [_0xd56875,_0x36416e]of Object[_0x4357a5(0x192)](_0x537be1)){const _0x5965e4=_0x1aa149[_0xd56875];_0x53e751['push'](_0x4357a5(0x16f)+_0xd56875+':\x20'+_0x5965e4+'\x20→\x20'+_0x36416e);}}else _0x53e751[_0x4357a5(0x1a4)]('\x0a🎉\x20All\x20dependencies\x20are\x20up-to-date!');if(_0x236019==='check')return Object[_0x4357a5(0x1d3)](_0x537be1)[_0x4357a5(0x160)]>0x0&&_0x53e751['push'](_0x4357a5(0x175)),{'success':!![],'mode':'check','message':_0x4357a5(0x1af)+Object['keys'](_0x537be1)[_0x4357a5(0x160)]+'\x20package(s)\x20with\x20available\x20updates','statistics':{'totalDependencies':Object['keys'](_0x1aa149)['length'],'updatesAvailable':Object[_0x4357a5(0x1d3)](_0x537be1)[_0x4357a5(0x160)],'updatesApplied':0x0,'errors':0x0},'updates':_0x537be1,'output':_0x53e751['join']('\x0a')};if((_0x236019===_0x4357a5(0x18d)||_0x236019==='auto')&&Object[_0x4357a5(0x1d3)](_0x537be1)[_0x4357a5(0x160)]>0x0){_0x53e751[_0x4357a5(0x1a4)](_0x4357a5(0x1c4));const _0x225596=await this[_0x4357a5(0x1cc)](_0x132374);_0x225596?_0x53e751[_0x4357a5(0x1a4)]('✅\x20Backup\x20created:\x20'+a0_0x3e31f1['basename'](_0x225596)):_0x53e751[_0x4357a5(0x1a4)](_0x4357a5(0x170));_0x53e751['push'](_0x4357a5(0x15f));for(const [_0x22bf6e,_0x222d1f]of Object['entries'](_0x537be1)){_0x389e6d['dependencies']?.[_0x22bf6e]&&(_0x389e6d['dependencies'][_0x22bf6e]=_0x222d1f),_0x389e6d[_0x4357a5(0x1c9)]?.[_0x22bf6e]&&(_0x389e6d['devDependencies'][_0x22bf6e]=_0x222d1f);}await a0_0x4b8413['writeFile'](_0x132374,JSON[_0x4357a5(0x17e)](_0x389e6d,null,0x2)+'\x0a'),_0x53e751['push']('✅\x20package.json\x20updated'),_0x53e751['push'](_0x4357a5(0x19f));try{const {stdout:_0x490900,stderr:_0x54190b}=await exec('npm\x20install',{'cwd':_0x1008df,'timeout':RESOLVER_CONFIG[_0x4357a5(0x179)],'maxBuffer':0x400*0x400*0xa});if(_0x490900){const _0x5b7696=_0x490900['trim']()[_0x4357a5(0x1ad)]('\x0a');_0x5b7696[_0x4357a5(0x160)]>0xa?_0x53e751['push']('\x20\x20'+_0x5b7696[_0x4357a5(0x173)](-0x5)[_0x4357a5(0x1a9)](_0x4357a5(0x1b6))):_0x53e751['push']('\x20\x20'+_0x490900[_0x4357a5(0x1b0)]());}_0x54190b&&!_0x54190b[_0x4357a5(0x1a7)](_0x4357a5(0x18b))&&_0x53e751['push'](_0x4357a5(0x15c)+_0x54190b[_0x4357a5(0x1b0)]());_0x53e751['push'](_0x4357a5(0x187));try{const {stdout:_0x218c68}=await exec(_0x4357a5(0x191),{'cwd':_0x1008df,'timeout':0x7530}),_0x3ca282=JSON[_0x4357a5(0x193)](_0x218c68);if(_0x3ca282['dependencies']){_0x53e751[_0x4357a5(0x1a4)](_0x4357a5(0x1cf));for(const _0x21fd6 of Object['keys'](_0x537be1)){_0x3ca282['dependencies'][_0x21fd6]&&_0x53e751['push'](_0x4357a5(0x16f)+_0x21fd6+'@'+_0x3ca282['dependencies'][_0x21fd6][_0x4357a5(0x1bc)]);}}}catch(_0x8e0ea1){this['logger']?.[_0x4357a5(0x1aa)](_0x4357a5(0x16b),_0x8e0ea1[_0x4357a5(0x1ce)]);}return{'success':!![],'mode':_0x236019,'message':_0x4357a5(0x168)+Object[_0x4357a5(0x1d3)](_0x537be1)['length']+'\x20package(s)','statistics':{'totalDependencies':Object['keys'](_0x1aa149)[_0x4357a5(0x160)],'updatesAvailable':Object[_0x4357a5(0x1d3)](_0x537be1)['length'],'updatesApplied':Object[_0x4357a5(0x1d3)](_0x537be1)['length'],'errors':0x0},'updates':_0x537be1,'backupCreated':_0x225596!==null,'backupPath':_0x225596,'output':_0x53e751['join']('\x0a')};}catch(_0x301872){_0x53e751['push']('\x0a❌\x20npm\x20install\x20failed:\x20'+_0x301872[_0x4357a5(0x1ce)]);if(_0x225596)try{await a0_0x4b8413['copyFile'](_0x225596,_0x132374),_0x53e751['push']('\uD83D\uDD04 Restored package.json from backup');}catch(_0x2fb297){_0x53e751['push'](_0x4357a5(0x198));}return{'success':![],'mode':_0x236019,'error':'npm\x20install\x20failed:\x20'+_0x301872['message'],'statistics':{'totalDependencies':Object[_0x4357a5(0x1d3)](_0x1aa149)['length'],'updatesAvailable':Object[_0x4357a5(0x1d3)](_0x537be1)[_0x4357a5(0x160)],'updatesApplied':0x0,'errors':0x1},'updates':_0x537be1,'backupCreated':_0x225596!==null,'output':_0x53e751[_0x4357a5(0x1a9)]('\x0a')};}}else{if(_0x236019===_0x4357a5(0x18d)||_0x236019==='auto')return _0x53e751['push']('\x0a✨\x20No\x20updates\x20needed'),{'success':!![],'mode':_0x236019,'message':_0x4357a5(0x1c8),'statistics':{'totalDependencies':Object[_0x4357a5(0x1d3)](_0x1aa149)[_0x4357a5(0x160)],'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'updates':{},'output':_0x53e751['join']('\x0a')};}}catch(_0x3db91d){return this[_0x4357a5(0x1a2)]?.['error'](_0x4357a5(0x1a6),_0x3db91d),{'success':![],'error':_0x3db91d['message'],'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x1},'output':_0x3db91d[_0x4357a5(0x1ce)]};}}}function a0_0x3177(_0x44641e,_0x5e8764){_0x44641e=_0x44641e-0x159;const _0x32e94a=a0_0x32e9();let _0x3177ef=_0x32e94a[_0x44641e];if(a0_0x3177['TIAAJS']===undefined){var _0x368562=function(_0x2fd683){const _0x10b158='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b8413='',_0x3e31f1='';for(let _0x421112=0x0,_0x1bd5b1,_0xf4aed4,_0x2deb50=0x0;_0xf4aed4=_0x2fd683['charAt'](_0x2deb50++);~_0xf4aed4&&(_0x1bd5b1=_0x421112%0x4?_0x1bd5b1*0x40+_0xf4aed4:_0xf4aed4,_0x421112++%0x4)?_0x4b8413+=String['fromCharCode'](0xff&_0x1bd5b1>>(-0x2*_0x421112&0x6)):0x0){_0xf4aed4=_0x10b158['indexOf'](_0xf4aed4);}for(let _0x23a201=0x0,_0x400e9a=_0x4b8413['length'];_0x23a201<_0x400e9a;_0x23a201++){_0x3e31f1+='%'+('00'+_0x4b8413['charCodeAt'](_0x23a201)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e31f1);};a0_0x3177['MLRBtc']=_0x368562,a0_0x3177['YunsZI']={},a0_0x3177['TIAAJS']=!![];}const _0x1b38f7=_0x32e94a[0x0],_0x10c7da=_0x44641e+_0x1b38f7,_0x147af7=a0_0x3177['YunsZI'][_0x10c7da];return!_0x147af7?(_0x3177ef=a0_0x3177['MLRBtc'](_0x3177ef),a0_0x3177['YunsZI'][_0x10c7da]=_0x3177ef):_0x3177ef=_0x147af7,_0x3177ef;}export default DependencyResolverTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x19f8(_0x308cf,_0x5bcc82){_0x308cf=_0x308cf-0xdf;const _0x167c9b=a0_0x167c();let _0x19f8e=_0x167c9b[_0x308cf];if(a0_0x19f8['WgKqBd']===undefined){var _0x23e853=function(_0x297024){const _0x44e40b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32580e='',_0x1d9bee='';for(let _0x22d360=0x0,_0xaa967,_0x1bc99a,_0x6ab54b=0x0;_0x1bc99a=_0x297024['charAt'](_0x6ab54b++);~_0x1bc99a&&(_0xaa967=_0x22d360%0x4?_0xaa967*0x40+_0x1bc99a:_0x1bc99a,_0x22d360++%0x4)?_0x32580e+=String['fromCharCode'](0xff&_0xaa967>>(-0x2*_0x22d360&0x6)):0x0){_0x1bc99a=_0x44e40b['indexOf'](_0x1bc99a);}for(let _0xc90772=0x0,_0x23ed20=_0x32580e['length'];_0xc90772<_0x23ed20;_0xc90772++){_0x1d9bee+='%'+('00'+_0x32580e['charCodeAt'](_0xc90772)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d9bee);};a0_0x19f8['mgpvtI']=_0x23e853,a0_0x19f8['PGhwKo']={},a0_0x19f8['WgKqBd']=!![];}const _0x197251=_0x167c9b[0x0],_0x1656ba=_0x308cf+_0x197251,_0x4310ee=a0_0x19f8['PGhwKo'][_0x1656ba];return!_0x4310ee?(_0x19f8e=a0_0x19f8['mgpvtI'](_0x19f8e),a0_0x19f8['PGhwKo'][_0x1656ba]=_0x19f8e):_0x19f8e=_0x4310ee,_0x19f8e;}const a0_0x410cba=a0_0x19f8;(function(_0x42d397,_0x2b46c1){const _0x43aabe=a0_0x19f8,_0x5b83af=_0x42d397();while(!![]){try{const _0x19c339=-parseInt(_0x43aabe(0x11f))/0x1*(parseInt(_0x43aabe(0xf7))/0x2)+parseInt(_0x43aabe(0x124))/0x3+parseInt(_0x43aabe(0x104))/0x4*(-parseInt(_0x43aabe(0xee))/0x5)+parseInt(_0x43aabe(0xf4))/0x6+parseInt(_0x43aabe(0x10a))/0x7+-parseInt(_0x43aabe(0x11d))/0x8*(-parseInt(_0x43aabe(0x142))/0x9)+-parseInt(_0x43aabe(0x13c))/0xa;if(_0x19c339===_0x2b46c1)break;else _0x5b83af['push'](_0x5b83af['shift']());}catch(_0x21ade9){_0x5b83af['push'](_0x5b83af['shift']());}}}(a0_0x167c,0x2b10f));import{BaseTool}from'./baseTool.js';import{promises as a0_0x32580e}from'fs';import a0_0x1d9bee from'path';function a0_0x167c(){const _0x6b6ae4=['rMLSzsa','yMfJA3vWq3jLyxrLza','Dg90ywXszxbSywnLBwvUDhm','CgfYC2vku09o','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','D29YA2LUz0rPCMvJDg9YEq','CMvWBgfJzw1LBNrZtwfKzq','AgfZt3DUuhjVCgvYDhK','B2XKq29UDgvUDcb0B28GBgfYz2uGkg1HEca','BgvUz3rO','BM9Uzq','B2XKq29UDgvUDa','x2LZtM9YBwfSAxPLzfbHCMfTCW','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','cKvYCM9YCZOG','ugfYyw1LDgvYihbHCNnPBMCGzMfPBgvKoIa','iebacG','C2L6zq','DxrMltG','ChvZAa','nZe0nJm2mejHBvDHyq','s0iklsbnyxHPBxvTihjLCgXHy2vTzw50CYbWzxiGzMLSztOG','z2vUzxjHDgvtDw1Tyxj5','tufyx0zjtevtx1bfuL9puevsqvrjt04','rgLMzIb0B28GBgfYz2uGka','BMv3q29UDgvUDa','owTVuhnxEa','ig1PC3nPBMCGB2XKq29UDgvUDa','zMLSzs1JB250zw50lxjLCgXHy2u','lI4U','q2HHBMDLzcbSAw5LCZOG','revgqvvmvf9uuKLnx01preu','zxHLy3v0zq','y291BNq','Bw9Kzq','CMvWBgfJzunVBMzPzW','qKfds1vqx0vyvevou0LptG','sw52ywXPzcbTB2rLoIa','AxnbyNnVBhv0zq','AxnbCNjHEq','zMLSzxnnB2rPzMLLza','C3bSAxq','D3jPDgvgAwXL','Aw5JBhvKzxm','zMLSzxnqCM9JzxnZzwq','mZv3sKDqyNe','yxbWBhLuCMLTtw9Kzq','AM9PBG','zxjYB3jZ','CgfYC2vqyxjHBwv0zxjZ','DhjPBq','mJa1nte0nfbhqNHjsq','zxH0CMfJDef0DhjPyNv0zq','cKjHy2T1ChmGy3jLyxrLzdOG','nJe1ndHhtwPuzxu','rMLSzunVBNrLBNrszxbSywnLvg9VBdOGtM9YBwfSAxPPBMCGB2jQzwn0ihbHCMfTzxrLCNm','BgLUzxnmAw1PDa','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','BgLUzxmTBgLTAxq','AxnqyxrOqwnJzxnZAwjSzq','z2vUzxjHDgveAwzM','cIaGica','zxjYB3i','igXPBMvZksWGC2HVD2LUzYbZDw1Tyxj5ig9UBhK6cG','D2fYBG','y291BNrpy2n1CNjLBMnLCW','tufyx0zjtevFu0LArq','mtaWngPUwM5uEq','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','zxHLyW','s0iklsbnyxHPBxvTig5LDYbJB250zw50ihnPEMu6ia','C3rHCNrZv2L0Aa','BMv3BgLUzxm','mJi0nZq5n2X6A2vgtq','icHJB250zw50ig5VDcbMB3vUzcK','yxbWBhLszxbSywnLBwvUDa','BwvZC2fNzq','CMvZB2X2zq','Cgf0Aa','zMLSzxm','Aw5MBW','CMvXDwLYzxnqCM9Qzwn0','CMvWBgfJzw1LBNrZ','ihjLCgXHy2vTzw50khmPigLUia','C3rYAw5N','DgLTzw91Da','AgfZ','B2jQzwn0','tufyx05fv19dt05uru5ux1njwKu','rMLSzsbUB3qGzM91BMq6ia','ihrVia','BwfW','mtqXmdeWnhnkyNPAAG','Bg9Nz2vY','nvPyz2XgyW','s0iP','y3DK','CgfYC2vytuW','q2fUBM90ihbYB2nLC3mGBw9Yzsb0AgfUia','nJiWndeYuNvHBhLg','ig11C3qGAgf2zsbYzxbSywnLBwvUDhmGyxjYyxK','CMvSyxrPDMu','BwLU'];a0_0x167c=function(){return _0x6b6ae4;};return a0_0x167c();}const REPLACE_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_OLD_CONTENT_SIZE':0x64*0x400,'MAX_NEW_CONTENT_SIZE':0x64*0x400,'MAX_REPLACEMENTS_PER_FILE':0x3e8,'MAX_FILES_PER_OPERATION':0x32,'MAX_LINE_RANGE_SIZE':0x2710,'CREATE_BACKUPS':!![],'BACKUP_EXTENSION':'.bak','DIFF_CONTEXT_LINES':0x3,'MAX_DIFF_LINES':0x64,'DEFAULT_TRIM_MODE':a0_0x410cba(0xf3)};class FileContentReplaceTool extends BaseTool{constructor(_0x22d360={},_0xaa967=null){const _0x1d23ae=a0_0x410cba;super(_0x22d360,_0xaa967),this['id']='file-content-replace',this[_0x1d23ae(0x112)]=!![],this['isAsync']=!![],this[_0x1d23ae(0x116)]=_0x22d360[_0x1d23ae(0x116)]||0x1d4c0,this[_0x1d23ae(0xe4)]={...REPLACE_CONFIG,..._0x22d360[_0x1d23ae(0xe4)]};}['getDescription'](){const _0x70ed1b=a0_0x410cba;return'\x0aFile\x20Content\x20Replace\x20Tool:\x20Replace\x20specific\x20content\x20within\x20files\x20with\x20precision.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-content-replace\x22,\x0a\x20\x20\x22files\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22path\x22:\x20\x22src/app.js\x22,\x0a\x20\x20\x20\x20\x20\x20\x22replacements\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22oldContent\x22:\x20\x22const\x20oldFunction\x20=\x20()\x20=>\x20{}\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22newContent\x22:\x20\x22const\x20newFunction\x20=\x20()\x20=>\x20{}\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22mode\x22:\x20\x22trim\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22linesLimit\x22:\x20\x225,7-10\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a\x0apath\x20(required):\x0a\x20\x20-\x20Path\x20to\x20the\x20file\x20to\x20modify\x0a\x20\x20-\x20Can\x20be\x20relative\x20or\x20absolute\x0a\x20\x20-\x20Examples:\x20\x22src/app.js\x22,\x20\x22./config.json\x22\x0a\x0aoldContent\x20(required):\x0a\x20\x20-\x20Content\x20to\x20find\x20and\x20replace\x0a\x20\x20-\x20Subject\x20to\x20trim\x20mode\x20processing\x0a\x20\x20-\x20Must\x20exist\x20in\x20file\x0a\x0anewContent\x20(required):\x0a\x20\x20-\x20Replacement\x20content\x0a\x20\x20-\x20Subject\x20to\x20trim\x20mode\x20processing\x0a\x20\x20-\x20Can\x20be\x20same\x20length,\x20shorter,\x20or\x20longer\x0a\x0amode\x20(optional):\x0a\x20\x20-\x20Whitespace\x20handling\x20mode\x0a\x20\x20-\x20Options:\x0a\x20\x20\x20\x20*\x20\x22trim\x22\x20(default):\x20Trim\x20all\x20whitespace\x20from\x20both\x20ends\x0a\x20\x20\x20\x20*\x20\x22newlines\x22:\x20Only\x20trim\x20newline\x20characters\x0a\x20\x20\x20\x20*\x20\x22none\x22:\x20Use\x20content\x20exactly\x20as\x20provided\x0a\x20\x20-\x20Helps\x20with\x20matching\x20despite\x20indentation\x20differences\x0a\x0alinesLimit\x20(optional):\x0a\x20\x20-\x20Restrict\x20replacement\x20to\x20specific\x20lines\x0a\x20\x20-\x20Format:\x20Comma-separated\x20line\x20numbers\x20or\x20ranges\x0a\x20\x20-\x20Examples:\x20\x225\x22,\x20\x225,10,15\x22,\x20\x225-10\x22,\x20\x221-5,10,15-20\x22\x0a\x20\x20-\x20Line\x20numbers\x20are\x201-based\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Basic\x20replacement:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-content-replace\x22,\x0a\x20\x20\x22files\x22:\x20[{\x0a\x20\x20\x20\x20\x22path\x22:\x20\x22src/components/Button.js\x22,\x0a\x20\x20\x20\x20\x22replacements\x22:\x20[{\x0a\x20\x20\x20\x20\x20\x20\x22oldContent\x22:\x20\x22const\x20handleClick\x20=\x20(event)\x20=>\x20{\x20console.log(\x27clicked\x27);\x20}\x22,\x0a\x20\x20\x20\x20\x20\x20\x22newContent\x22:\x20\x22const\x20handleClick\x20=\x20(event)\x20=>\x20{\x20console.log(\x27clicked\x27);\x20props.onClick?.(event);\x20}\x22,\x0a\x20\x20\x20\x20\x20\x20\x22mode\x22:\x20\x22trim\x22\x0a\x20\x20\x20\x20}]\x0a\x20\x20}]\x0a}\x0a```\x0a\x0aExample\x202\x20-\x20Line-limited\x20replacement:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-content-replace\x22,\x0a\x20\x20\x22files\x22:\x20[{\x0a\x20\x20\x20\x20\x22path\x22:\x20\x22src/App.js\x22,\x0a\x20\x20\x20\x20\x22replacements\x22:\x20[{\x0a\x20\x20\x20\x20\x20\x20\x22oldContent\x22:\x20\x22const\x20API_URL\x20=\x20\x27http://localhost:3000\x27\x22,\x0a\x20\x20\x20\x20\x20\x20\x22newContent\x22:\x20\x22const\x20API_URL\x20=\x20process.env.API_URL\x22,\x0a\x20\x20\x20\x20\x20\x20\x22linesLimit\x22:\x20\x2210-20\x22\x0a\x20\x20\x20\x20}]\x0a\x20\x20}]\x0a}\x0a```\x0a\x0aExample\x203\x20-\x20Multiple\x20replacements\x20in\x20one\x20file:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-content-replace\x22,\x0a\x20\x20\x22files\x22:\x20[{\x0a\x20\x20\x20\x20\x22path\x22:\x20\x22src/config.js\x22,\x0a\x20\x20\x20\x20\x22replacements\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20{\x20\x22oldContent\x22:\x20\x22DEBUG\x20=\x20false\x22,\x20\x22newContent\x22:\x20\x22DEBUG\x20=\x20true\x22\x20},\x0a\x20\x20\x20\x20\x20\x20{\x20\x22oldContent\x22:\x20\x22LOG_LEVEL\x20=\x20\x27error\x27\x22,\x20\x22newContent\x22:\x20\x22LOG_LEVEL\x20=\x20\x27debug\x27\x22\x20}\x0a\x20\x20\x20\x20]\x0a\x20\x20}]\x0a}\x0a```\x0a\x0aExample\x204\x20-\x20Multiple\x20files:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-content-replace\x22,\x0a\x20\x20\x22files\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22path\x22:\x20\x22src/app.js\x22,\x0a\x20\x20\x20\x20\x20\x20\x22replacements\x22:\x20[{\x20\x22oldContent\x22:\x20\x22version\x20=\x20\x271.0.0\x27\x22,\x20\x22newContent\x22:\x20\x22version\x20=\x20\x271.1.0\x27\x22\x20}]\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22path\x22:\x20\x22package.json\x22,\x0a\x20\x20\x20\x20\x20\x20\x22replacements\x22:\x20[{\x20\x22oldContent\x22:\x20\x22\x5c\x22version\x5c\x22:\x20\x5c\x221.0.0\x5c\x22\x22,\x20\x22newContent\x22:\x20\x22\x5c\x22version\x5c\x22:\x20\x5c\x221.1.0\x5c\x22\x22,\x20\x22mode\x22:\x20\x22none\x22\x20}]\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aFEATURES:\x0a-\x20Automatic\x20backup\x20creation\x20(.bak\x20files)\x0a-\x20Before/after\x20diff\x20reports\x0a-\x20Replacement\x20counting\x20and\x20statistics\x0a-\x20Multi-file\x20operations\x0a-\x20Line-limited\x20replacements\x0a-\x20Intelligent\x20whitespace\x20handling\x0a\x0aLIMITATIONS:\x0a-\x20Maximum\x20file\x20size:\x20'+REPLACE_CONFIG[_0x70ed1b(0x103)]/(0x400*0x400)+'MB\x0a-\x20Maximum\x20old\x20content\x20size:\x20'+REPLACE_CONFIG['MAX_OLD_CONTENT_SIZE']/0x400+_0x70ed1b(0x107)+REPLACE_CONFIG[_0x70ed1b(0x119)]/0x400+_0x70ed1b(0x13d)+REPLACE_CONFIG['MAX_REPLACEMENTS_PER_FILE']+'\x0a-\x20Maximum\x20files\x20per\x20operation:\x20'+REPLACE_CONFIG['MAX_FILES_PER_OPERATION']+_0x70ed1b(0xfe);}[a0_0x410cba(0xf2)](_0x1bc99a){const _0x477076=a0_0x410cba;try{if(_0x1bc99a[_0x477076(0xf3)]()[_0x477076(0x108)]('{'))return this[_0x477076(0x12b)](_0x1bc99a);return this[_0x477076(0x122)](_0x1bc99a);}catch(_0x6ab54b){this[_0x477076(0x11e)]?.['error']('Failed\x20to\x20parse\x20file-content-replace\x20parameters',{'error':_0x6ab54b[_0x477076(0x10d)]});throw new Error(_0x477076(0x137)+_0x6ab54b[_0x477076(0x10d)]);}}[a0_0x410cba(0x12b)](_0xc90772){const _0x535ccd=a0_0x410cba,_0x23ed20=JSON['parse'](_0xc90772);if(!_0x23ed20[_0x535ccd(0x110)]||!Array['isArray'](_0x23ed20[_0x535ccd(0x110)]))throw new Error('JSON\x20must\x20have\x20\x22files\x22\x20array');return{'files':_0x23ed20['files'][_0x535ccd(0x11c)](_0x26a464=>({'path':_0x26a464[_0x535ccd(0x10f)],'replacements':(_0x26a464[_0x535ccd(0x113)]||[])['map'](_0x51a998=>({'oldContent':_0x51a998['oldContent'],'newContent':_0x51a998['newContent'],'mode':_0x51a998[_0x535ccd(0xe3)]||REPLACE_CONFIG['DEFAULT_TRIM_MODE'],'linesLimit':_0x51a998[_0x535ccd(0xf9)]||null}))}))};}['parseXML'](_0x17b6d1){const _0x528d6f=a0_0x410cba,_0x462bd9=[],_0x187abe=/<file\s+path="([^"]+)">([\s\S]*?)<\/file>/gi;let _0x44e452;while((_0x44e452=_0x187abe[_0x528d6f(0x106)](_0x17b6d1))!==null){const _0x3ae9be=_0x44e452[0x1],_0x1db4e5=_0x44e452[0x2],_0x505b4e=[],_0x5f10ef=/<replace(?:\s+([^>]*?))?>([\s\S]*?)<\/replace>/gi;let _0x2351a8;while((_0x2351a8=_0x5f10ef[_0x528d6f(0x106)](_0x1db4e5))!==null){const _0x2c5026=_0x2351a8[0x1]||'',_0x36f8fd=_0x2351a8[0x2],_0xb75c25=this['extractAttribute'](_0x2c5026,'mode')||REPLACE_CONFIG[_0x528d6f(0xe0)],_0x248121=this[_0x528d6f(0xf5)](_0x2c5026,_0x528d6f(0xfb)),_0x4a7612=/<old-content>([\s\S]*?)<\/old-content>/i[_0x528d6f(0x106)](_0x36f8fd);if(!_0x4a7612){this['logger']?.[_0x528d6f(0x101)]('Missing\x20old-content\x20in\x20replace\x20tag');continue;}const _0x2b9576=_0x4a7612[0x1],_0x2a6ed1=/<new-content>([\s\S]*?)<\/new-content>/i['exec'](_0x36f8fd);if(!_0x2a6ed1){this['logger']?.['warn']('Missing\x20new-content\x20in\x20replace\x20tag');continue;}const _0x107b40=_0x2a6ed1[0x1],_0x5779ff=this[_0x528d6f(0xef)](_0x2b9576,_0xb75c25),_0x75a4f2=this['applyTrimMode'](_0x107b40,_0xb75c25);_0x505b4e[_0x528d6f(0x13b)]({'oldContent':_0x5779ff,'newContent':_0x75a4f2,'mode':_0xb75c25,'linesLimit':_0x248121});}_0x505b4e[_0x528d6f(0x131)]>0x0&&_0x462bd9[_0x528d6f(0x13b)]({'path':_0x3ae9be,'replacements':_0x505b4e});}return{'files':_0x462bd9};}[a0_0x410cba(0xf5)](_0x1d1c1a,_0x550874){const _0xa66bcc=new RegExp(_0x550874+'=[\x22\x27]([^\x22\x27]*)[\x22\x27]','i'),_0x6dbd09=_0xa66bcc['exec'](_0x1d1c1a);return _0x6dbd09?_0x6dbd09[0x1]:null;}[a0_0x410cba(0xef)](_0x2b9206,_0x522334){const _0xde349c=a0_0x410cba;switch(_0x522334){case _0xde349c(0x109):return _0x2b9206['replace'](/^\n+|\n+$/g,'');case'none':return _0x2b9206;case'trim':default:return _0x2b9206['trim']();}}[a0_0x410cba(0x135)](){const _0x581351=a0_0x410cba;return[_0x581351(0x110)];}[a0_0x410cba(0x105)](_0x2842ad){const _0x582801=a0_0x410cba,_0x9d1056=[];if(!_0x2842ad[_0x582801(0x110)]||!Array['isArray'](_0x2842ad['files']))_0x9d1056[_0x582801(0x13b)]('files\x20must\x20be\x20an\x20array');else{_0x2842ad[_0x582801(0x110)]['length']===0x0&&_0x9d1056[_0x582801(0x13b)]('files\x20array\x20cannot\x20be\x20empty');_0x2842ad[_0x582801(0x110)]['length']>this['replaceConfig'][_0x582801(0x13f)]&&_0x9d1056[_0x582801(0x13b)](_0x582801(0x123)+this[_0x582801(0xe4)][_0x582801(0x13f)]+'\x20files\x20in\x20one\x20operation');for(const _0x5154ab of _0x2842ad[_0x582801(0x110)]){!_0x5154ab['path']&&_0x9d1056[_0x582801(0x13b)]('Each\x20file\x20must\x20have\x20a\x20path');_0x5154ab['path']&&_0x5154ab['path'][_0x582801(0xec)]('..')&&_0x9d1056['push']('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security:\x20'+_0x5154ab[_0x582801(0x10f)]);if(!_0x5154ab['replacements']||!Array['isArray'](_0x5154ab['replacements']))_0x9d1056[_0x582801(0x13b)]('File\x20'+_0x5154ab[_0x582801(0x10f)]+_0x582801(0x125));else{if(_0x5154ab[_0x582801(0x113)][_0x582801(0x131)]===0x0)_0x9d1056[_0x582801(0x13b)](_0x582801(0x128)+_0x5154ab['path']+'\x20replacements\x20array\x20cannot\x20be\x20empty');else for(const _0x41471d of _0x5154ab[_0x582801(0x113)]){!_0x41471d['oldContent']&&_0x41471d['oldContent']!==''&&_0x9d1056[_0x582801(0x13b)]('Replacement\x20in\x20'+_0x5154ab['path']+_0x582801(0x143)),!_0x41471d[_0x582801(0x141)]&&_0x41471d['newContent']!==''&&_0x9d1056[_0x582801(0x13b)]('Replacement\x20in\x20'+_0x5154ab['path']+'\x20missing\x20newContent'),_0x41471d['oldContent']&&_0x41471d['oldContent'][_0x582801(0x131)]>this[_0x582801(0xe4)]['MAX_OLD_CONTENT_SIZE']&&_0x9d1056['push'](_0x582801(0x130)+this[_0x582801(0xe4)]['MAX_OLD_CONTENT_SIZE']/0x400+_0x582801(0x120)),_0x41471d[_0x582801(0x141)]&&_0x41471d['newContent']['length']>this[_0x582801(0xe4)][_0x582801(0x119)]&&_0x9d1056['push']('newContent\x20too\x20large\x20(max\x20'+this['replaceConfig']['MAX_NEW_CONTENT_SIZE']/0x400+'KB)'),_0x41471d[_0x582801(0xe3)]&&!['trim',_0x582801(0x109),_0x582801(0x132)][_0x582801(0xec)](_0x41471d[_0x582801(0xe3)])&&_0x9d1056[_0x582801(0x13b)](_0x582801(0xe6)+_0x41471d['mode']+'.\x20Must\x20be\x20\x27trim\x27,\x20\x27newlines\x27,\x20or\x20\x27none\x27');}}}}if(_0x9d1056['length']>0x0)throw new Error(_0x582801(0xfa)+_0x9d1056['join'](',\x20'));return{'valid':!![],'errors':[]};}['_isNormalizedParams'](_0x1a2835){const _0xe2a9b0=a0_0x410cba;if(!_0x1a2835[_0xe2a9b0(0x110)]||!Array[_0xe2a9b0(0xe8)](_0x1a2835[_0xe2a9b0(0x110)])||_0x1a2835['files'][_0xe2a9b0(0x131)]===0x0)return![];const _0x525031=_0x1a2835['files'][0x0];if(!_0x525031['replacements']||!Array['isArray'](_0x525031[_0xe2a9b0(0x113)])||_0x525031[_0xe2a9b0(0x113)][_0xe2a9b0(0x131)]===0x0)return![];return _0x525031[_0xe2a9b0(0x113)][0x0][_0xe2a9b0(0x12f)](_0xe2a9b0(0xe3));}async[a0_0x410cba(0xe1)](_0x1ecf30,_0x2e1ea4){const _0x3e9b5f=a0_0x410cba;typeof _0x1ecf30===_0x3e9b5f(0x115)&&(this[_0x3e9b5f(0x11e)]?.[_0x3e9b5f(0x111)]('FileContentReplaceTool:\x20Parsing\x20string\x20parameters'),_0x1ecf30=this[_0x3e9b5f(0xf2)](_0x1ecf30));_0x1ecf30&&typeof _0x1ecf30===_0x3e9b5f(0x118)&&_0x1ecf30['files']&&!this[_0x3e9b5f(0x134)](_0x1ecf30)&&(this['logger']?.['info'](_0x3e9b5f(0xf8)),_0x1ecf30=this[_0x3e9b5f(0x12b)](JSON['stringify'](_0x1ecf30)));const {files:_0x25b041}=_0x1ecf30,{projectDir:_0x3d434f,agentId:_0x3f6963,directoryAccess:_0x221811}=_0x2e1ea4;let _0x14a0b5=_0x3d434f||process[_0x3e9b5f(0x121)]();_0x221811&&_0x221811['workingDirectory']&&(_0x14a0b5=_0x221811[_0x3e9b5f(0x12d)],this[_0x3e9b5f(0x11e)]?.['info'](_0x3e9b5f(0x12c),{'workingDirectory':_0x221811[_0x3e9b5f(0x12d)],'agentId':_0x3f6963}));this['logger']?.['info']('Executing\x20file\x20content\x20replace',{'fileCount':_0x25b041['length'],'workingDirectory':_0x14a0b5,'agentId':_0x3f6963});const _0x3412c0=[],_0x4709de={'filesProcessed':0x0,'filesModified':0x0,'totalReplacements':0x0,'backupsCreated':0x0,'errors':0x0};for(const _0x4e0a2d of _0x25b041){try{const _0xca7efa=await this['processFile'](_0x4e0a2d,_0x14a0b5,_0x221811);_0x3412c0[_0x3e9b5f(0x13b)](_0xca7efa),_0x4709de[_0x3e9b5f(0xed)]++,_0xca7efa[_0x3e9b5f(0x12e)]>0x0&&(_0x4709de['filesModified']++,_0x4709de['totalReplacements']+=_0xca7efa[_0x3e9b5f(0x12e)]),_0xca7efa[_0x3e9b5f(0x129)]&&_0x4709de['backupsCreated']++;}catch(_0x1a80be){this['logger']?.[_0x3e9b5f(0xff)]('Error\x20processing\x20file\x20'+_0x4e0a2d['path'],{'error':_0x1a80be[_0x3e9b5f(0x10d)]}),_0x3412c0['push']({'filePath':_0x4e0a2d['path'],'success':![],'error':_0x1a80be[_0x3e9b5f(0x10d)]}),_0x4709de['errors']++;}}return{'success':_0x4709de['errors']===0x0,'results':_0x3412c0,'statistics':_0x4709de,'summary':this['generateSummary'](_0x4709de),'toolUsed':_0x3e9b5f(0x144)};}async['processFile'](_0x3ea2a6,_0x23225d,_0x16bf01){const _0x265a7f=a0_0x410cba,{path:_0x58f6d9,replacements:_0x24789d}=_0x3ea2a6,_0x2c70f4=a0_0x1d9bee[_0x265a7f(0xe7)](_0x58f6d9)?_0x58f6d9:a0_0x1d9bee[_0x265a7f(0x10e)](_0x23225d,_0x58f6d9);if(_0x16bf01){const _0x3af013=this[_0x265a7f(0xfc)](_0x2c70f4,_0x23225d,_0x16bf01);if(!_0x3af013)throw new Error('Path\x20not\x20accessible:\x20'+_0x58f6d9);}try{await a0_0x32580e['access'](_0x2c70f4);}catch(_0x1bd456){throw new Error(_0x265a7f(0x11a)+_0x58f6d9);}const _0x20e5ca=await a0_0x32580e['stat'](_0x2c70f4);if(_0x20e5ca[_0x265a7f(0x139)]>this[_0x265a7f(0xe4)]['MAX_FILE_SIZE'])throw new Error('File\x20too\x20large\x20(max\x20'+this[_0x265a7f(0xe4)][_0x265a7f(0x103)]/(0x400*0x400)+'MB):\x20'+_0x58f6d9);let _0x277978=await a0_0x32580e['readFile'](_0x2c70f4,'utf-8');const _0x172c78=_0x277978;let _0x2d2c6a=![];if(this[_0x265a7f(0xe4)]['CREATE_BACKUPS']){const _0x31b0f1=_0x2c70f4+this[_0x265a7f(0xe4)][_0x265a7f(0xe5)];try{await a0_0x32580e[_0x265a7f(0xeb)](_0x31b0f1,_0x172c78,'utf-8'),_0x2d2c6a=!![];}catch(_0x3a8e7e){this['logger']?.[_0x265a7f(0x101)]('Failed\x20to\x20create\x20backup:\x20'+_0x3a8e7e[_0x265a7f(0x10d)]);}}let _0x57db27=0x0;const _0x3c9904=[];for(const _0x3b8049 of _0x24789d){const _0x2c7383=await this[_0x265a7f(0x10c)](_0x277978,_0x3b8049[_0x265a7f(0x133)],_0x3b8049[_0x265a7f(0x141)],_0x3b8049['linesLimit'],_0x3b8049[_0x265a7f(0xe3)]);_0x277978=_0x2c7383['newContent'],_0x57db27+=_0x2c7383[_0x265a7f(0xe2)],_0x3c9904['push']({'oldContent':_0x3b8049[_0x265a7f(0x133)]['substring'](0x0,0x32)+(_0x3b8049[_0x265a7f(0x133)]['length']>0x32?_0x265a7f(0x145):''),'newContent':_0x3b8049[_0x265a7f(0x141)]['substring'](0x0,0x32)+(_0x3b8049['newContent']['length']>0x32?'...':''),'count':_0x2c7383['count'],'mode':_0x3b8049[_0x265a7f(0xe3)],'linesLimit':_0x3b8049['linesLimit']});}_0x57db27>0x0&&await a0_0x32580e['writeFile'](_0x2c70f4,_0x277978,_0x265a7f(0x13a));const _0x383fbd=_0x57db27>0x0?this['generateDiff'](_0x172c78,_0x277978):null;return{'filePath':_0x58f6d9,'resolvedPath':_0x2c70f4,'success':!![],'replacementsMade':_0x57db27,'backupCreated':_0x2d2c6a,'replacementDetails':_0x3c9904,'diff':_0x383fbd,'message':_0x57db27>0x0?'Made\x20'+_0x57db27+_0x265a7f(0x114)+_0x58f6d9:'No\x20replacements\x20made\x20in\x20'+_0x58f6d9+_0x265a7f(0x10b)};}[a0_0x410cba(0xfc)](_0x2a3f5c,_0x26a14f,_0x1f5d5){const _0x57f737=a0_0x410cba,_0x4a178a=a0_0x1d9bee['relative'](_0x26a14f,_0x2a3f5c);if(!_0x4a178a[_0x57f737(0x108)]('..')&&!a0_0x1d9bee['isAbsolute'](_0x4a178a))return!![];if(_0x1f5d5['writeEnabledDirectories'])for(const _0x5ecbd7 of _0x1f5d5['writeEnabledDirectories']){const _0xc5b1a5=a0_0x1d9bee[_0x57f737(0x126)](_0x5ecbd7,_0x2a3f5c);if(!_0xc5b1a5['startsWith']('..')&&!a0_0x1d9bee[_0x57f737(0xe7)](_0xc5b1a5))return!![];}return![];}async['applyReplacement'](_0x490cbc,_0x37c44a,_0x3062f3,_0x9e973b,_0x285473){const _0xd125d0=a0_0x410cba;if(!_0x9e973b){const _0x525de3=this[_0xd125d0(0x102)](_0x490cbc,_0x37c44a);if(_0x525de3===0x0)return{'newContent':_0x490cbc,'count':0x0};const _0x16ea36=_0x490cbc[_0xd125d0(0xea)](_0x37c44a)[_0xd125d0(0xf0)](_0x3062f3);return{'newContent':_0x16ea36,'count':_0x525de3};}const _0x285f38=this['parseLineRanges'](_0x9e973b),_0x311869=_0x490cbc['split']('\x0a');let _0x246722=0x0;for(let _0xf8a368=0x0;_0xf8a368<_0x311869[_0xd125d0(0x131)];_0xf8a368++){const _0x17f8ab=_0xf8a368+0x1;if(_0x285f38[_0xd125d0(0x117)](_0x17f8ab)){if(_0x311869[_0xf8a368][_0xd125d0(0xec)](_0x37c44a)){const _0x1b323a=this['countOccurrences'](_0x311869[_0xf8a368],_0x37c44a);_0x311869[_0xf8a368]=_0x311869[_0xf8a368]['split'](_0x37c44a)[_0xd125d0(0xf0)](_0x3062f3),_0x246722+=_0x1b323a;}}}return{'newContent':_0x311869[_0xd125d0(0xf0)]('\x0a'),'count':_0x246722};}['countOccurrences'](_0x5595cb,_0x4f1a24){if(!_0x4f1a24)return 0x0;return _0x5595cb['split'](_0x4f1a24)['length']-0x1;}['parseLineRanges'](_0x49aa33){const _0x2cfed6=a0_0x410cba,_0x43629b=new Set();if(!_0x49aa33||_0x49aa33[_0x2cfed6(0xf3)]()==='')return _0x43629b;const _0x222ac0=_0x49aa33['split'](',');for(const _0x2d163e of _0x222ac0){const _0x2b4cc9=_0x2d163e['trim']();if(_0x2b4cc9==='')continue;if(_0x2b4cc9['includes']('-')){const [_0x21e89b,_0x2d753c]=_0x2b4cc9['split']('-')[_0x2cfed6(0x11c)](_0x52fbf4=>parseInt(_0x52fbf4[_0x2cfed6(0xf3)](),0xa));if(!isNaN(_0x21e89b)&&!isNaN(_0x2d753c)&&_0x2d753c-_0x21e89b<this[_0x2cfed6(0xe4)]['MAX_LINE_RANGE_SIZE'])for(let _0x2b660c=_0x21e89b;_0x2b660c<=_0x2d753c;_0x2b660c++){_0x43629b['add'](_0x2b660c);}}else{const _0x4e016a=parseInt(_0x2b4cc9,0xa);!isNaN(_0x4e016a)&&_0x43629b['add'](_0x4e016a);}}return _0x43629b;}[a0_0x410cba(0xfd)](_0x39991c,_0x3dacd4){const _0xbe8320=a0_0x410cba,_0x4842ce=_0x39991c[_0xbe8320(0xea)]('\x0a'),_0x5eb37c=_0x3dacd4[_0xbe8320(0xea)]('\x0a');let _0x2b2cea=-0x1,_0x308003=-0x1;const _0x1ffdae=Math['max'](_0x4842ce[_0xbe8320(0x131)],_0x5eb37c[_0xbe8320(0x131)]);for(let _0x44a051=0x0;_0x44a051<_0x1ffdae;_0x44a051++){const _0x3ae51e=_0x44a051<_0x4842ce['length']?_0x4842ce[_0x44a051]:'',_0xda52ac=_0x44a051<_0x5eb37c['length']?_0x5eb37c[_0x44a051]:'';if(_0x3ae51e!==_0xda52ac){if(_0x2b2cea===-0x1)_0x2b2cea=_0x44a051;_0x308003=_0x44a051;}}if(_0x2b2cea===-0x1)return'No\x20differences';const _0x2edd70=this[_0xbe8320(0xe4)]['DIFF_CONTEXT_LINES'],_0x344970=Math['max'](0x0,_0x2b2cea-_0x2edd70),_0x31996a=Math[_0xbe8320(0x127)](_0x1ffdae-0x1,_0x308003+_0x2edd70);if(_0x31996a-_0x344970>this[_0xbe8320(0xe4)]['MAX_DIFF_LINES'])return _0xbe8320(0x140)+(_0x31996a-_0x344970+0x1)+_0xbe8320(0x100)+(_0xbe8320(0xdf)+(_0x2b2cea+0x1)+_0xbe8320(0x11b)+(_0x308003+0x1));let _0x131047='@@\x20-'+(_0x344970+0x1)+','+(_0x31996a-_0x344970+0x1)+'\x20+'+(_0x344970+0x1)+','+(_0x31996a-_0x344970+0x1)+_0xbe8320(0x138);for(let _0x5ad7ad=_0x344970;_0x5ad7ad<=_0x31996a;_0x5ad7ad++){const _0x280fb1=_0x5ad7ad<_0x4842ce[_0xbe8320(0x131)]?_0x4842ce[_0x5ad7ad]:'',_0x5c532d=_0x5ad7ad<_0x5eb37c['length']?_0x5eb37c[_0x5ad7ad]:'';_0x280fb1===_0x5c532d?_0x131047+='\x20\x20'+_0x280fb1+'\x0a':(_0x131047+='-\x20'+_0x280fb1+'\x0a',_0x131047+='+\x20'+_0x5c532d+'\x0a');}return _0x131047;}[a0_0x410cba(0x13e)](_0x5377aa){const _0x362acc=a0_0x410cba;return('\x0aProcessed\x20'+_0x5377aa['filesProcessed']+'\x20file(s)\x0aModified\x20'+_0x5377aa[_0x362acc(0xe9)]+'\x20file(s)\x0aTotal\x20replacements:\x20'+_0x5377aa[_0x362acc(0x12a)]+_0x362acc(0xf6)+_0x5377aa['backupsCreated']+_0x362acc(0x136)+_0x5377aa[_0x362acc(0xf1)]+'\x0a\x20\x20\x20\x20')['trim']();}async['cleanup'](_0x1f2cb1){const _0x3365ab=a0_0x410cba;this[_0x3365ab(0x11e)]?.[_0x3365ab(0x111)]('File\x20content\x20replace\x20tool\x20cleanup\x20completed',{'operationId':_0x1f2cb1});}}export default FileContentReplaceTool;
|
|
1
|
+
const a0_0x48ef31=a0_0xea6b;function a0_0x11a4(){const _0x18f6c0=['DgLTzw91Da','BMv3q29UDgvUDa','twfKzsa','BgvUz3rO','Bw9Kzq','tufyx05fv19dt05uru5ux1njwKu','reLgrL9dt05urvHux0XjtKvt','ig1PC3nPBMCGB2XKq29UDgvUDa','C3rYAw5NAwz5','mMP2Eun4za','mti5mdmXmfreExnhAW','Cgf0Aa','uMvWBgfJzw1LBNqGAw4G','ywnJzxnZ','lMjHAW','AxnbC3LUyW','ihrVia','BgLUzxnmAw1PDa','C3rHCNrZv2L0Aa','pvSIj10Ow14Ij10QkvSIj10','z2vUzxjHDgvtDw1Tyxj5','mJuWmZe3v1znDe51','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','BgLUzxmTBgLTAxq','igzPBgvZigLUig9UzsbVCgvYyxrPB24','B2XKq29UDgvUDa','revgqvvmvf9uuKLnx01preu','ChvZAa','q2fUBM90ihbYB2nLC3mGBw9Yzsb0AgfUia','yxbWBhLuCMLTtw9Kzq','rMLSzsbUB3qGzM91BMq6ia','BwvZC2fNzq','zxjYB3i','Bwf4','nvPTELb2Da','zMLSzxnnB2rPzMLLza','s0iP','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','mti2mduYnwnjre9Otq','CMvWBgfJzw1LBNrZtwfKzq','mZngC1jyzxm','zMLSzxmGBxvZDcbIzsbHBIbHCNjHEq','BM9Uzq','rMLSzsbJB250zw50ihjLCgXHy2uGDg9VBcbJBgvHBNvWignVBxbSzxrLza','CMvSyxrPDMu','D29YA2LUz0rPCMvJDg9YEq','cI0Gtwf4Aw11BsbMAwXLCYbWzxiGB3bLCMf0Aw9UoIa','yMfJA3vWC0nYzwf0zwq','rMLSzunVBNrLBNrszxbSywnLvg9VBdOGtM9YBwfSAxPPBMCGB2jQzwn0ihbHCMfTzxrLCNm','tM8GCMvWBgfJzw1LBNrZig1HzguGAw4G','tuiPoIa','CMvWBgfJzw1LBNrZ','CgfYC2vytuW','zMLSzxm','Aw5JBhvKzxm','BMv3BgLUzxm','CgfYC2vqyxjHBwv0zxjZ','zxjYB3jZ','mty4q3vZzMjr','cIaGica','C3bSAxq','ugfYyw1LDgvYihbHCNnPBMCGzMfPBgvKoIa','zxHLyW','y291BNrpy2n1CNjLBMnLCW','BwLU','tufyx0rjrKzFteLorvm','igzPBguOCYKktw9KAwzPzwqG','tufyx0zjtevtx1bfuL9puevsqvrjt04','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','rMLSzsa','tufyx0zjtevFu0LArq','qKfds1vqx0vyvevou0LptG','rwfJAcbMAwXLig11C3qGAgf2zsbHihbHDgG','q2HHBMDLzcbSAw5LCZOG','odm3nti4wKzYD2zw','Dg90ywXszxbSywnLBwvUDhm','twLZC2LUzYbUzxCTy29UDgvUDcbPBIbYzxbSywnLihrHzW','ChjVy2vZC0zPBgu','mJCYmJjtCLDTBKm','zMLSzs1JB250zw50lxjLCgXHy2u','mtHqtevgAvm','DhjPBq','tufyx09mrf9dt05uru5ux1njwKu','zxH0CMfJDef0DhjPyNv0zq','Aw5MBW','B2jQzwn0','CgfYC2vku09o','AxnqyxrOqwnJzxnZAwjSzq','tuiklsbnyxHPBxvTig9SzcbJB250zw50ihnPEMu6ia','CgfYC2vmAw5LuMfUz2vZ','BMv3q29UDgvUDcb0B28GBgfYz2uGkg1HEca','rMLSzunVBNrLBNrszxbSywnLvg9VBdOGugfYC2LUzYbZDhjPBMCGCgfYyw1LDgvYCW','AxnbyNnVBhv0zq','mJCWnJK4wKXsANHi','AxnbCNjHEq','zMLSzxnqCM9JzxnZzwq','s0iklsbnyxHPBxvTihjLCgXHy2vTzw50CYbWzxiGzMLSztOG','Bg9Nz2vY','sw52ywXPzcbTB2rLoIa','y291BNq','DxrMltG','oduYmhztwK9vCa','ywrK','CMvWBgfJzunVBMzPzW','cKjHy2T1ChmGy3jLyxrLzdOG','BwfW','ugf0AcbUB3qGywnJzxnZAwjSztOG','ntC0mdmYDvHgtNHt','z2vUzxjHDgveAwzM','CMvHzezPBgu','AgfZ','AgfZt3DUuhjVCgvYDhK','AM9PBG'];a0_0x11a4=function(){return _0x18f6c0;};return a0_0x11a4();}(function(_0x2bcdea,_0x4bb3d1){const _0x5e07fb=a0_0xea6b,_0x26f69e=_0x2bcdea();while(!![]){try{const _0x9782aa=-parseInt(_0x5e07fb(0x1e1))/0x1*(-parseInt(_0x5e07fb(0x1fe))/0x2)+-parseInt(_0x5e07fb(0x1ef))/0x3+-parseInt(_0x5e07fb(0x1ce))/0x4*(-parseInt(_0x5e07fb(0x217))/0x5)+-parseInt(_0x5e07fb(0x1d4))/0x6*(-parseInt(_0x5e07fb(0x1aa))/0x7)+parseInt(_0x5e07fb(0x1be))/0x8*(parseInt(_0x5e07fb(0x20a))/0x9)+parseInt(_0x5e07fb(0x1ff))/0xa*(parseInt(_0x5e07fb(0x1ac))/0xb)+parseInt(_0x5e07fb(0x1e9))/0xc*(-parseInt(_0x5e07fb(0x1d2))/0xd);if(_0x9782aa===_0x4bb3d1)break;else _0x26f69e['push'](_0x26f69e['shift']());}catch(_0x2b16e5){_0x26f69e['push'](_0x26f69e['shift']());}}}(a0_0x11a4,0x4c82b));import{BaseTool}from'./baseTool.js';import{promises as a0_0x26316a}from'fs';function a0_0xea6b(_0x1a0e3c,_0x4c68a4){_0x1a0e3c=_0x1a0e3c-0x1a9;const _0x11a448=a0_0x11a4();let _0xea6bc9=_0x11a448[_0x1a0e3c];if(a0_0xea6b['frSCit']===undefined){var _0x5102c0=function(_0x14b980){const _0x24bf5d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26316a='',_0x1b74e6='';for(let _0x537716=0x0,_0x50517c,_0x263832,_0x3aeba1=0x0;_0x263832=_0x14b980['charAt'](_0x3aeba1++);~_0x263832&&(_0x50517c=_0x537716%0x4?_0x50517c*0x40+_0x263832:_0x263832,_0x537716++%0x4)?_0x26316a+=String['fromCharCode'](0xff&_0x50517c>>(-0x2*_0x537716&0x6)):0x0){_0x263832=_0x24bf5d['indexOf'](_0x263832);}for(let _0xc4ee3b=0x0,_0x49ddcb=_0x26316a['length'];_0xc4ee3b<_0x49ddcb;_0xc4ee3b++){_0x1b74e6+='%'+('00'+_0x26316a['charCodeAt'](_0xc4ee3b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b74e6);};a0_0xea6b['uHfaEp']=_0x5102c0,a0_0xea6b['ovrmXG']={},a0_0xea6b['frSCit']=!![];}const _0x3421f8=_0x11a448[0x0],_0x8a561c=_0x1a0e3c+_0x3421f8,_0x50810e=a0_0xea6b['ovrmXG'][_0x8a561c];return!_0x50810e?(_0xea6bc9=a0_0xea6b['uHfaEp'](_0xea6bc9),a0_0xea6b['ovrmXG'][_0x8a561c]=_0xea6bc9):_0xea6bc9=_0x50810e,_0xea6bc9;}import a0_0x1b74e6 from'path';const REPLACE_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_OLD_CONTENT_SIZE':0x64*0x400,'MAX_NEW_CONTENT_SIZE':0x64*0x400,'MAX_REPLACEMENTS_PER_FILE':0x3e8,'MAX_FILES_PER_OPERATION':0x32,'MAX_LINE_RANGE_SIZE':0x2710,'CREATE_BACKUPS':!![],'BACKUP_EXTENSION':a0_0x48ef31(0x203),'DIFF_CONTEXT_LINES':0x3,'MAX_DIFF_LINES':0x64,'DEFAULT_TRIM_MODE':'trim'};class FileContentReplaceTool extends BaseTool{constructor(_0x537716={},_0x50517c=null){const _0xfa6605=a0_0x48ef31;super(_0x537716,_0x50517c),this['id']=_0xfa6605(0x1d3),this['requiresProject']=!![],this[_0xfa6605(0x204)]=!![],this[_0xfa6605(0x1f5)]=_0x537716['timeout']||0x1d4c0,this[_0xfa6605(0x1eb)]={...REPLACE_CONFIG,..._0x537716[_0xfa6605(0x1eb)]};}['getDescription'](){const _0x15d9b3=a0_0x48ef31;return _0x15d9b3(0x1c8)+REPLACE_CONFIG[_0x15d9b3(0x1ca)]/(0x400*0x400)+_0x15d9b3(0x1dc)+REPLACE_CONFIG['MAX_OLD_CONTENT_SIZE']/0x400+'KB\x0a-\x20Maximum\x20new\x20content\x20size:\x20'+REPLACE_CONFIG[_0x15d9b3(0x1fa)]/0x400+_0x15d9b3(0x1e4)+REPLACE_CONFIG['MAX_REPLACEMENTS_PER_FILE']+_0x15d9b3(0x1b2)+REPLACE_CONFIG['MAX_FILES_PER_OPERATION']+_0x15d9b3(0x1bf);}[a0_0x48ef31(0x1bc)](_0x263832){const _0x3b53dc=a0_0x48ef31;try{if(_0x263832[_0x3b53dc(0x1d5)]()[_0x3b53dc(0x207)]('{'))return this['parseJSON'](_0x263832);return this[_0x3b53dc(0x1b8)](_0x263832);}catch(_0x3aeba1){this['logger']?.['error']('Failed\x20to\x20parse\x20file-content-replace\x20parameters',{'error':_0x3aeba1[_0x3b53dc(0x214)]});throw new Error(_0x3b53dc(0x1c1)+_0x3aeba1['message']);}}['parseJSON'](_0xc4ee3b){const _0x5b2fac=a0_0x48ef31,_0x49ddcb=JSON['parse'](_0xc4ee3b);if(!_0x49ddcb[_0x5b2fac(0x1b9)]||!Array['isArray'](_0x49ddcb['files']))throw new Error('JSON\x20must\x20have\x20\x22files\x22\x20array');return{'files':_0x49ddcb[_0x5b2fac(0x1b9)][_0x5b2fac(0x1ed)](_0x21feb2=>({'path':_0x21feb2[_0x5b2fac(0x200)],'replacements':(_0x21feb2[_0x5b2fac(0x1b7)]||[])[_0x5b2fac(0x1ed)](_0x55ae2c=>({'oldContent':_0x55ae2c[_0x5b2fac(0x20e)],'newContent':_0x55ae2c['newContent'],'mode':_0x55ae2c['mode']||REPLACE_CONFIG[_0x5b2fac(0x20f)],'linesLimit':_0x55ae2c[_0x5b2fac(0x206)]||null}))}))};}[a0_0x48ef31(0x1b8)](_0x57e880){const _0x25bde=a0_0x48ef31,_0x285a4c=[],_0xf028b4=/<file\s+path="([^"]+)">([\s\S]*?)<\/file>/gi;let _0x3bb217;while((_0x3bb217=_0xf028b4[_0x25bde(0x1c2)](_0x57e880))!==null){const _0x15865a=_0x3bb217[0x1],_0x12ccb0=_0x3bb217[0x2],_0x283da1=[],_0x1b0f80=/<replace(?:\s+([^>]*?))?>([\s\S]*?)<\/replace>/gi;let _0x355ff;while((_0x355ff=_0x1b0f80['exec'](_0x12ccb0))!==null){const _0x57ea7a=_0x355ff[0x1]||'',_0xfe8638=_0x355ff[0x2],_0x668208=this[_0x25bde(0x1d7)](_0x57ea7a,_0x25bde(0x1f9))||REPLACE_CONFIG[_0x25bde(0x20f)],_0x7caa7d=this[_0x25bde(0x1d7)](_0x57ea7a,_0x25bde(0x20c)),_0x3eaa27=/<old-content>([\s\S]*?)<\/old-content>/i[_0x25bde(0x1c2)](_0xfe8638);if(!_0x3eaa27){this[_0x25bde(0x1e5)]?.['warn']('Missing\x20old-content\x20in\x20replace\x20tag');continue;}const _0x306c33=_0x3eaa27[0x1],_0x4247ca=/<new-content>([\s\S]*?)<\/new-content>/i[_0x25bde(0x1c2)](_0xfe8638);if(!_0x4247ca){this['logger']?.['warn'](_0x25bde(0x1d0));continue;}const _0x1d41c1=_0x4247ca[0x1],_0x303ff7=this['applyTrimMode'](_0x306c33,_0x668208),_0x4eca1a=this['applyTrimMode'](_0x1d41c1,_0x668208);_0x283da1['push']({'oldContent':_0x303ff7,'newContent':_0x4eca1a,'mode':_0x668208,'linesLimit':_0x7caa7d});}_0x283da1[_0x25bde(0x1f8)]>0x0&&_0x285a4c[_0x25bde(0x210)]({'path':_0x15865a,'replacements':_0x283da1});}return{'files':_0x285a4c};}['extractAttribute'](_0x4e4681,_0x31ea96){const _0x3b7cc4=a0_0x48ef31,_0x58682a=new RegExp(_0x31ea96+_0x3b7cc4(0x208),'i'),_0x281d12=_0x58682a[_0x3b7cc4(0x1c2)](_0x4e4681);return _0x281d12?_0x281d12[0x1]:null;}[a0_0x48ef31(0x212)](_0xb7ea99,_0x21a9a0){const _0x1a7467=a0_0x48ef31;switch(_0x21a9a0){case _0x1a7467(0x1bb):return _0xb7ea99['replace'](/^\n+|\n+$/g,'');case _0x1a7467(0x1ae):return _0xb7ea99;case _0x1a7467(0x1d5):default:return _0xb7ea99['trim']();}}['getRequiredParameters'](){const _0x4a420b=a0_0x48ef31;return[_0x4a420b(0x1b9)];}[a0_0x48ef31(0x1a9)](_0x56203e){const _0x34b8cb=a0_0x48ef31,_0x22e306=[];if(!_0x56203e['files']||!Array[_0x34b8cb(0x1e2)](_0x56203e[_0x34b8cb(0x1b9)]))_0x22e306[_0x34b8cb(0x210)](_0x34b8cb(0x1ad));else{_0x56203e['files']['length']===0x0&&_0x22e306[_0x34b8cb(0x210)]('files\x20array\x20cannot\x20be\x20empty');_0x56203e[_0x34b8cb(0x1b9)][_0x34b8cb(0x1f8)]>this['replaceConfig'][_0x34b8cb(0x1c7)]&&_0x22e306[_0x34b8cb(0x210)](_0x34b8cb(0x211)+this[_0x34b8cb(0x1eb)]['MAX_FILES_PER_OPERATION']+_0x34b8cb(0x20d));for(const _0x2d614f of _0x56203e['files']){!_0x2d614f[_0x34b8cb(0x200)]&&_0x22e306[_0x34b8cb(0x210)](_0x34b8cb(0x1cc));_0x2d614f[_0x34b8cb(0x200)]&&_0x2d614f['path'][_0x34b8cb(0x1ba)]('..')&&_0x22e306[_0x34b8cb(0x210)]('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security:\x20'+_0x2d614f[_0x34b8cb(0x200)]);if(!_0x2d614f[_0x34b8cb(0x1b7)]||!Array['isArray'](_0x2d614f['replacements']))_0x22e306[_0x34b8cb(0x210)](_0x34b8cb(0x1c9)+_0x2d614f['path']+'\x20must\x20have\x20replacements\x20array');else{if(_0x2d614f[_0x34b8cb(0x1b7)]['length']===0x0)_0x22e306[_0x34b8cb(0x210)](_0x34b8cb(0x1c9)+_0x2d614f['path']+'\x20replacements\x20array\x20cannot\x20be\x20empty');else for(const _0x5517ab of _0x2d614f['replacements']){!_0x5517ab[_0x34b8cb(0x20e)]&&_0x5517ab['oldContent']!==''&&_0x22e306[_0x34b8cb(0x210)](_0x34b8cb(0x201)+_0x2d614f[_0x34b8cb(0x200)]+_0x34b8cb(0x1fc)),!_0x5517ab['newContent']&&_0x5517ab['newContent']!==''&&_0x22e306[_0x34b8cb(0x210)]('Replacement\x20in\x20'+_0x2d614f['path']+'\x20missing\x20newContent'),_0x5517ab[_0x34b8cb(0x20e)]&&_0x5517ab[_0x34b8cb(0x20e)][_0x34b8cb(0x1f8)]>this['replaceConfig']['MAX_OLD_CONTENT_SIZE']&&_0x22e306[_0x34b8cb(0x210)]('oldContent\x20too\x20large\x20(max\x20'+this[_0x34b8cb(0x1eb)][_0x34b8cb(0x1d6)]/0x400+_0x34b8cb(0x219)),_0x5517ab[_0x34b8cb(0x1f6)]&&_0x5517ab[_0x34b8cb(0x1f6)][_0x34b8cb(0x1f8)]>this['replaceConfig'][_0x34b8cb(0x1fa)]&&_0x22e306[_0x34b8cb(0x210)](_0x34b8cb(0x1de)+this[_0x34b8cb(0x1eb)][_0x34b8cb(0x1fa)]/0x400+'KB)'),_0x5517ab['mode']&&!['trim','newlines','none'][_0x34b8cb(0x1ba)](_0x5517ab['mode'])&&_0x22e306[_0x34b8cb(0x210)](_0x34b8cb(0x1e6)+_0x5517ab[_0x34b8cb(0x1f9)]+'.\x20Must\x20be\x20\x27trim\x27,\x20\x27newlines\x27,\x20or\x20\x27none\x27');}}}}if(_0x22e306[_0x34b8cb(0x1f8)]>0x0)throw new Error('Parameter\x20validation\x20failed:\x20'+_0x22e306['join'](',\x20'));return{'valid':!![],'errors':[]};}['_isNormalizedParams'](_0xbdd53a){const _0x399702=a0_0x48ef31;if(!_0xbdd53a['files']||!Array['isArray'](_0xbdd53a[_0x399702(0x1b9)])||_0xbdd53a['files'][_0x399702(0x1f8)]===0x0)return![];const _0x45ad2f=_0xbdd53a[_0x399702(0x1b9)][0x0];if(!_0x45ad2f[_0x399702(0x1b7)]||!Array['isArray'](_0x45ad2f['replacements'])||_0x45ad2f['replacements']['length']===0x0)return![];return _0x45ad2f[_0x399702(0x1b7)][0x0][_0x399702(0x1f3)]('mode');}async['execute'](_0x11ceb3,_0x46c677){const _0x83bc30=a0_0x48ef31;typeof _0x11ceb3==='string'&&(this['logger']?.['info'](_0x83bc30(0x1df)),_0x11ceb3=this['parseParameters'](_0x11ceb3));_0x11ceb3&&typeof _0x11ceb3===_0x83bc30(0x1d9)&&_0x11ceb3[_0x83bc30(0x1b9)]&&!this['_isNormalizedParams'](_0x11ceb3)&&(this['logger']?.['info'](_0x83bc30(0x1b4)),_0x11ceb3=this[_0x83bc30(0x1da)](JSON[_0x83bc30(0x1fd)](_0x11ceb3)));const {files:_0x3450a3}=_0x11ceb3,{projectDir:_0x205858,agentId:_0x135091,directoryAccess:_0x11ae35}=_0x46c677;let _0x14a404=_0x205858||process['cwd']();_0x11ae35&&_0x11ae35[_0x83bc30(0x1b1)]&&(_0x14a404=_0x11ae35[_0x83bc30(0x1b1)],this[_0x83bc30(0x1e5)]?.[_0x83bc30(0x1d8)]('Using\x20agent\x20configured\x20working\x20directory',{'workingDirectory':_0x11ae35['workingDirectory'],'agentId':_0x135091}));this[_0x83bc30(0x1e5)]?.['info']('Executing\x20file\x20content\x20replace',{'fileCount':_0x3450a3['length'],'workingDirectory':_0x14a404,'agentId':_0x135091});const _0x3334d9=[],_0x6a01f0={'filesProcessed':0x0,'filesModified':0x0,'totalReplacements':0x0,'backupsCreated':0x0,'errors':0x0};for(const _0x4cbfac of _0x3450a3){try{const _0x5335b7=await this['processFile'](_0x4cbfac,_0x14a404,_0x11ae35);_0x3334d9['push'](_0x5335b7),_0x6a01f0['filesProcessed']++,_0x5335b7[_0x83bc30(0x1ab)]>0x0&&(_0x6a01f0['filesModified']++,_0x6a01f0[_0x83bc30(0x1cf)]+=_0x5335b7['replacementsMade']),_0x5335b7['backupCreated']&&_0x6a01f0['backupsCreated']++;}catch(_0x2761a0){this['logger']?.[_0x83bc30(0x215)]('Error\x20processing\x20file\x20'+_0x4cbfac['path'],{'error':_0x2761a0[_0x83bc30(0x214)]}),_0x3334d9[_0x83bc30(0x210)]({'filePath':_0x4cbfac['path'],'success':![],'error':_0x2761a0[_0x83bc30(0x214)]}),_0x6a01f0[_0x83bc30(0x1bd)]++;}}return{'success':_0x6a01f0['errors']===0x0,'results':_0x3334d9,'statistics':_0x6a01f0,'summary':this[_0x83bc30(0x209)](_0x6a01f0),'toolUsed':'file-content-replace'};}async[a0_0x48ef31(0x1d1)](_0x3e0c90,_0x3b88ef,_0x9bc0b8){const _0x7f3010=a0_0x48ef31,{path:_0x486ea6,replacements:_0x174f11}=_0x3e0c90,_0x3c71c7=a0_0x1b74e6[_0x7f3010(0x1e0)](_0x486ea6)?_0x486ea6:a0_0x1b74e6['resolve'](_0x3b88ef,_0x486ea6);if(_0x9bc0b8){const _0x57275b=this[_0x7f3010(0x1db)](_0x3c71c7,_0x3b88ef,_0x9bc0b8);if(!_0x57275b)throw new Error(_0x7f3010(0x1ee)+_0x486ea6);}try{await a0_0x26316a[_0x7f3010(0x202)](_0x3c71c7);}catch(_0xcf8880){throw new Error(_0x7f3010(0x213)+_0x486ea6);}const _0x32013a=await a0_0x26316a['stat'](_0x3c71c7);if(_0x32013a['size']>this[_0x7f3010(0x1eb)]['MAX_FILE_SIZE'])throw new Error('File\x20too\x20large\x20(max\x20'+this[_0x7f3010(0x1eb)][_0x7f3010(0x1ca)]/(0x400*0x400)+_0x7f3010(0x1b6)+_0x486ea6);let _0x27fa72=await a0_0x26316a[_0x7f3010(0x1f1)](_0x3c71c7,'utf-8');const _0x4cbcaf=_0x27fa72;let _0x273109=![];if(this['replaceConfig']['CREATE_BACKUPS']){const _0x3c24dd=_0x3c71c7+this['replaceConfig'][_0x7f3010(0x1cb)];try{await a0_0x26316a['writeFile'](_0x3c24dd,_0x4cbcaf,_0x7f3010(0x1e8)),_0x273109=!![];}catch(_0x3c9f3d){this[_0x7f3010(0x1e5)]?.['warn']('Failed\x20to\x20create\x20backup:\x20'+_0x3c9f3d['message']);}}let _0x1c29b8=0x0;const _0x66d83f=[];for(const _0x39f5ab of _0x174f11){const _0x207127=await this['applyReplacement'](_0x27fa72,_0x39f5ab[_0x7f3010(0x20e)],_0x39f5ab[_0x7f3010(0x1f6)],_0x39f5ab[_0x7f3010(0x206)],_0x39f5ab['mode']);_0x27fa72=_0x207127[_0x7f3010(0x1f6)],_0x1c29b8+=_0x207127[_0x7f3010(0x1e7)],_0x66d83f[_0x7f3010(0x210)]({'oldContent':_0x39f5ab[_0x7f3010(0x20e)]['substring'](0x0,0x32)+(_0x39f5ab[_0x7f3010(0x20e)]['length']>0x32?'...':''),'newContent':_0x39f5ab['newContent']['substring'](0x0,0x32)+(_0x39f5ab['newContent']['length']>0x32?'...':''),'count':_0x207127['count'],'mode':_0x39f5ab['mode'],'linesLimit':_0x39f5ab[_0x7f3010(0x206)]});}_0x1c29b8>0x0&&await a0_0x26316a['writeFile'](_0x3c71c7,_0x27fa72,_0x7f3010(0x1e8));const _0x468b86=_0x1c29b8>0x0?this[_0x7f3010(0x1f0)](_0x4cbcaf,_0x27fa72):null;return{'filePath':_0x486ea6,'resolvedPath':_0x3c71c7,'success':!![],'replacementsMade':_0x1c29b8,'backupCreated':_0x273109,'replacementDetails':_0x66d83f,'diff':_0x468b86,'message':_0x1c29b8>0x0?_0x7f3010(0x1f7)+_0x1c29b8+'\x20replacement(s)\x20in\x20'+_0x486ea6:_0x7f3010(0x1b5)+_0x486ea6+'\x20(content\x20not\x20found)'};}['isPathAccessible'](_0x992bf2,_0x569273,_0x12965b){const _0x4ec029=a0_0x48ef31,_0x5f2b4e=a0_0x1b74e6[_0x4ec029(0x1b0)](_0x569273,_0x992bf2);if(!_0x5f2b4e[_0x4ec029(0x207)]('..')&&!a0_0x1b74e6[_0x4ec029(0x1e0)](_0x5f2b4e))return!![];if(_0x12965b[_0x4ec029(0x20b)])for(const _0x364400 of _0x12965b[_0x4ec029(0x20b)]){const _0x4ad56c=a0_0x1b74e6[_0x4ec029(0x1b0)](_0x364400,_0x992bf2);if(!_0x4ad56c[_0x4ec029(0x207)]('..')&&!a0_0x1b74e6['isAbsolute'](_0x4ad56c))return!![];}return![];}async['applyReplacement'](_0x53c2e2,_0x16b834,_0x4f46ec,_0x2cff00,_0x64edd5){const _0x4050a3=a0_0x48ef31;if(!_0x2cff00){const _0x358849=this['countOccurrences'](_0x53c2e2,_0x16b834);if(_0x358849===0x0)return{'newContent':_0x53c2e2,'count':0x0};const _0x106562=_0x53c2e2[_0x4050a3(0x1c0)](_0x16b834)['join'](_0x4f46ec);return{'newContent':_0x106562,'count':_0x358849};}const _0x44f3e6=this[_0x4050a3(0x1dd)](_0x2cff00),_0x596d65=_0x53c2e2[_0x4050a3(0x1c0)]('\x0a');let _0x21e7c4=0x0;for(let _0x42042a=0x0;_0x42042a<_0x596d65[_0x4050a3(0x1f8)];_0x42042a++){const _0x435eff=_0x42042a+0x1;if(_0x44f3e6[_0x4050a3(0x1f2)](_0x435eff)){if(_0x596d65[_0x42042a][_0x4050a3(0x1ba)](_0x16b834)){const _0x49e7a8=this[_0x4050a3(0x1c3)](_0x596d65[_0x42042a],_0x16b834);_0x596d65[_0x42042a]=_0x596d65[_0x42042a][_0x4050a3(0x1c0)](_0x16b834)['join'](_0x4f46ec),_0x21e7c4+=_0x49e7a8;}}}return{'newContent':_0x596d65[_0x4050a3(0x1f4)]('\x0a'),'count':_0x21e7c4};}['countOccurrences'](_0x381623,_0x55568a){if(!_0x55568a)return 0x0;return _0x381623['split'](_0x55568a)['length']-0x1;}['parseLineRanges'](_0x2e46a0){const _0x38201c=a0_0x48ef31,_0xf05134=new Set();if(!_0x2e46a0||_0x2e46a0[_0x38201c(0x1d5)]()==='')return _0xf05134;const _0x25bf79=_0x2e46a0['split'](',');for(const _0x58333e of _0x25bf79){const _0x89abd3=_0x58333e[_0x38201c(0x1d5)]();if(_0x89abd3==='')continue;if(_0x89abd3[_0x38201c(0x1ba)]('-')){const [_0x2e8e5f,_0x4ff354]=_0x89abd3[_0x38201c(0x1c0)]('-')[_0x38201c(0x1ed)](_0x2a3eea=>parseInt(_0x2a3eea['trim'](),0xa));if(!isNaN(_0x2e8e5f)&&!isNaN(_0x4ff354)&&_0x4ff354-_0x2e8e5f<this[_0x38201c(0x1eb)]['MAX_LINE_RANGE_SIZE'])for(let _0x1ab769=_0x2e8e5f;_0x1ab769<=_0x4ff354;_0x1ab769++){_0xf05134[_0x38201c(0x1ea)](_0x1ab769);}}else{const _0x246277=parseInt(_0x89abd3,0xa);!isNaN(_0x246277)&&_0xf05134[_0x38201c(0x1ea)](_0x246277);}}return _0xf05134;}[a0_0x48ef31(0x1f0)](_0x43ba3d,_0xb0cb04){const _0x121589=a0_0x48ef31,_0x1bc997=_0x43ba3d[_0x121589(0x1c0)]('\x0a'),_0x24f819=_0xb0cb04['split']('\x0a');let _0x4e7ae9=-0x1,_0x47ef76=-0x1;const _0x5457bf=Math[_0x121589(0x216)](_0x1bc997['length'],_0x24f819[_0x121589(0x1f8)]);for(let _0xab497b=0x0;_0xab497b<_0x5457bf;_0xab497b++){const _0x4f1240=_0xab497b<_0x1bc997[_0x121589(0x1f8)]?_0x1bc997[_0xab497b]:'',_0x9a0f33=_0xab497b<_0x24f819['length']?_0x24f819[_0xab497b]:'';if(_0x4f1240!==_0x9a0f33){if(_0x4e7ae9===-0x1)_0x4e7ae9=_0xab497b;_0x47ef76=_0xab497b;}}if(_0x4e7ae9===-0x1)return'No\x20differences';const _0x1f8025=this[_0x121589(0x1eb)][_0x121589(0x1fb)],_0x8e967e=Math['max'](0x0,_0x4e7ae9-_0x1f8025),_0xe43a1b=Math[_0x121589(0x1c4)](_0x5457bf-0x1,_0x47ef76+_0x1f8025);if(_0xe43a1b-_0x8e967e>this['replaceConfig'][_0x121589(0x1c5)])return'Diff\x20too\x20large\x20('+(_0xe43a1b-_0x8e967e+0x1)+'\x20lines),\x20showing\x20summary\x20only:\x0a'+(_0x121589(0x1cd)+(_0x4e7ae9+0x1)+_0x121589(0x205)+(_0x47ef76+0x1));let _0x1e12a2='@@\x20-'+(_0x8e967e+0x1)+','+(_0xe43a1b-_0x8e967e+0x1)+'\x20+'+(_0x8e967e+0x1)+','+(_0xe43a1b-_0x8e967e+0x1)+'\x20@@\x0a';for(let _0x56864e=_0x8e967e;_0x56864e<=_0xe43a1b;_0x56864e++){const _0x198b3a=_0x56864e<_0x1bc997['length']?_0x1bc997[_0x56864e]:'',_0x198371=_0x56864e<_0x24f819[_0x121589(0x1f8)]?_0x24f819[_0x56864e]:'';_0x198b3a===_0x198371?_0x1e12a2+='\x20\x20'+_0x198b3a+'\x0a':(_0x1e12a2+='-\x20'+_0x198b3a+'\x0a',_0x1e12a2+='+\x20'+_0x198371+'\x0a');}return _0x1e12a2;}[a0_0x48ef31(0x209)](_0x4aef1f){const _0x3e3470=a0_0x48ef31;return('\x0aProcessed\x20'+_0x4aef1f[_0x3e3470(0x1e3)]+_0x3e3470(0x1c6)+_0x4aef1f[_0x3e3470(0x218)]+'\x20file(s)\x0aTotal\x20replacements:\x20'+_0x4aef1f[_0x3e3470(0x1cf)]+_0x3e3470(0x1ec)+_0x4aef1f[_0x3e3470(0x1b3)]+'\x0aErrors:\x20'+_0x4aef1f[_0x3e3470(0x1bd)]+'\x0a\x20\x20\x20\x20')['trim']();}async['cleanup'](_0x1ca7fe){const _0x186e0a=a0_0x48ef31;this['logger']?.[_0x186e0a(0x1d8)](_0x186e0a(0x1af),{'operationId':_0x1ca7fe});}}export default FileContentReplaceTool;
|