@loxia-labs/loxia-autopilot-one 1.0.4 → 1.0.6
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 +1 -1
- 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/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/web-ui/build/index.html +2 -2
- package/web-ui/build/static/{index-lCBai6dX.js → index-CX8ZfpGw.js} +113 -60
- package/web-ui/build/static/index-Dwg_JrlO.css +1 -0
- package/web-ui/build/static/index-CClD1090.css +0 -1
package/src/tools/seekTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5ead5f=a0_0x22d4;(function(_0x8448b5,_0x470bf0){const _0x1328b1=a0_0x22d4,_0x4e5c72=_0x8448b5();while(!![]){try{const _0x41f2f2=parseInt(_0x1328b1(0xbb))/0x1*(-parseInt(_0x1328b1(0xc5))/0x2)+-parseInt(_0x1328b1(0x100))/0x3+parseInt(_0x1328b1(0xf9))/0x4+-parseInt(_0x1328b1(0xd2))/0x5*(-parseInt(_0x1328b1(0x11b))/0x6)+parseInt(_0x1328b1(0xbe))/0x7+-parseInt(_0x1328b1(0xba))/0x8+parseInt(_0x1328b1(0xaf))/0x9;if(_0x41f2f2===_0x470bf0)break;else _0x4e5c72['push'](_0x4e5c72['shift']());}catch(_0x4f979b){_0x4e5c72['push'](_0x4e5c72['shift']());}}}(a0_0x33e8,0xefab1));import{BaseTool}from'./baseTool.js';function a0_0x22d4(_0xa78133,_0x56259c){_0xa78133=_0xa78133-0x9d;const _0x33e8a5=a0_0x33e8();let _0x22d40e=_0x33e8a5[_0xa78133];if(a0_0x22d4['mLsVYN']===undefined){var _0x591650=function(_0x9acd27){const _0x543a8d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x255fed='',_0x313b56='';for(let _0x37e18d=0x0,_0x5ed48b,_0x95246a,_0x2eb0ba=0x0;_0x95246a=_0x9acd27['charAt'](_0x2eb0ba++);~_0x95246a&&(_0x5ed48b=_0x37e18d%0x4?_0x5ed48b*0x40+_0x95246a:_0x95246a,_0x37e18d++%0x4)?_0x255fed+=String['fromCharCode'](0xff&_0x5ed48b>>(-0x2*_0x37e18d&0x6)):0x0){_0x95246a=_0x543a8d['indexOf'](_0x95246a);}for(let _0x3b4229=0x0,_0x41489f=_0x255fed['length'];_0x3b4229<_0x41489f;_0x3b4229++){_0x313b56+='%'+('00'+_0x255fed['charCodeAt'](_0x3b4229)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x313b56);};a0_0x22d4['jfJHTZ']=_0x591650,a0_0x22d4['PCgpic']={},a0_0x22d4['mLsVYN']=!![];}const _0x39a939=_0x33e8a5[0x0],_0x3b27e8=_0xa78133+_0x39a939,_0x2e7e66=a0_0x22d4['PCgpic'][_0x3b27e8];return!_0x2e7e66?(_0x22d40e=a0_0x22d4['jfJHTZ'](_0x22d40e),a0_0x22d4['PCgpic'][_0x3b27e8]=_0x22d40e):_0x22d40e=_0x2e7e66,_0x22d40e;}function a0_0x33e8(){const _0x1b61dc=['yNvPBgq','zM9YBwf0uMvZDwX0CW','lMXLC3m','lNjZ','lMPZB24','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','BwvZC2fNzq','qxqGBgvHC3qGB25LigzPBguGCgf0AcbPCYbYzxf1AxjLza','C2L6zq','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO','mJCYntKYoeHODenRDG','lM1WmW','yMfZzw5HBwu','CMvSyxrPDMu','zxHLyW','lNrHCG','rxHLy3v0Aw5NihnLzwSGDg9VBa','ndaZnZiZmLnMqwfPuG','C2vHCMnOrMLSzxm','lNnV','tufyx0zjtevFu0LArq','rMfPBgvKihrVihbHCNnLihnLzwSGCgfYyw1LDgvYCW','C3bSAxq','AxngAwXL','ihnLyxjJAcb0zxjTCWOTie1HEgLTDw0G','lMrHDa','vg9Vig1HBNKGzMLSzsbWyxrOCYaOBwf4ia','lM5LEhq','DgvZDa','C3vIC3rYAw5N','C2HVDwXKu2TPCezPBgu','tM8GBwf0y2HLCYbMB3vUzcbMB3iGDgHLihnWzwnPzMLLzcbZzwfYy2GGDgvYBxmGAw4G','CgfYC2vqyxjHBwv0zxjZ','CMvHzgrPCG','Bwf0y2HLC1bHDhrLCM4','u2vHCMnOihrLCM0G','oIbWyxrOihrYyxzLCNnHBcaOlI4Pig5VDcbHBgXVD2vKigzVCIbZzwn1CML0Eq','C2vLA0nVBMzPzW','DhjPBq','zM91BMq','icHUB3qGAw4GywnJzxnZAwjSzsbKAxjLy3rVCMLLCYK','lMjTCa','iIaO','lMPZEa','mtiWwxLQzK1K','Aw5JBhvKzxm','Dg1W','AgfZ','CM91BMq','CMvHze9UBhLeAxjLy3rVCMLLCW','twf4Aw11Bsb0B3rHBcbTyxrJAgvZihjLywnOzwq','C3rHCNrZv2L0Aa','lI4U','z2v0rgvZy3jPChrPB24','zNjVBq','lM51Ehq','lNnXBgL0zq','DMvUzg9Y','lNrZEa','CMvZB2X2zuzPBgvqyxrOCW','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','D29YA2LUz0rPCMvJDg9YEq','Bg9Nz2vY','zMLSDgvY','igzPBgvZihbLCIbZzwfYy2GklsbnyxHPBxvTia','ig1HDgnOzxmPcG','nty3odeXogX5A3vlyW','lNjHCG','lMPWzW','AxnbCNjHEq','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','lNnJC3m','AxneAxjLy3rVCNK','tufyx0zjtevtx1bfuL9trufsq0G','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','lJD6','C2vHCMnOsw5gAwXL','mZi2oduYme90D3PRAa','mJy1mJaXEgXyC1HP','zxjYB3i','zxjYB3jgAwXLCW','mta1nJm0odn1C2HmqwO','DgLTzw91Da','ywrK','zgLZDa','DgvYBq','tufyx1rpvefmx01bvenirvm','u2vLAYb0B29Sigv4zwn1DgLVBIbMywLSzwq','nNHUDu9Iwq','lMrSBa','ig1HDgnOzxmGDg90ywWkcLjfu1vmvcbgt1jnqvq6cLrOzsb0B29SihjLDhvYBNm6cI0GtgLZDcbVzIbMAwXLCYb0Agf0ihDLCMuGBM90igzVDw5KcI0GtgLZDcbVzIbMAwXLCYb0Agf0igHHzcbLCNjVCNmGzhvYAw5NihnLyxjJAaOTiezVCIbLywnOihnLyxjJAcb0zxjToGOGic0GrMLSzsbWyxrOihDOzxjLigzVDw5KcIaGlsbmAw5Lig51BwjLCGOGic0GtgLUzsbJB250zw50icH0CMLTBwvKkqOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDOzw4Gyw4GywDLBNqGAgfZig11BhrPCgXLigrPCMvJDg9YAwvZignVBMzPz3vYzwqSihrOzsbtzwvRvg9VBcbJyw4GC2vHCMnOigfJCM9ZCYbHBgWGB2yGDgHLBtOklsbszwXHDgL2zsbWyxrOCYbHCMuGCMvZB2X2zwqGzNjVBsb0AguGD29YA2LUzYbKAxjLy3rVCNKklsbbyNnVBhv0zsbWyxrOCYbJyw4GCMvMzxjLBMnLigfUEsbHy2nLC3nPyMXLigrPCMvJDg9YEqOTief1Dg9TyxrPyYb2ywXPzgf0Aw9UigvUC3vYzxmGCgf0AhmGyxjLihDPDgHPBIbHBgXVD2vKigrPCMvJDg9YAwvZcGPfEgfTCgXLihDPDgGGBxvSDgLWBguGzgLYzwn0B3jPzxm6cKLMigfNzw50igHHCYbHy2nLC3mGDg86cIaGlsaVAg9Tzs91C2vYl3bYB2PLy3qXicH3B3jRAw5NigrPCMvJDg9YEsKkicaTic9OB21Ll3vZzxiVChjVAMvJDdiGkhjLywqTB25SEsKkicaTic9OB21Ll3vZzxiVC2HHCMvKicHYzwfKlw9UBhKPcGPzB3uGy2fUihnLyxjJAdOkicbZCMmVkIOVkI5QCYaGicaGicaGicaGicaGicaGicaGicaGicaGiokgKIbtzwfYy2HLCYbPBIaVAg9Tzs91C2vYl3bYB2PLy3qXl3nYyY8QkI8QlMPZcIaGl2HVBwuVDxnLCI9WCM9Qzwn0mI9JB25MAwCUANnVBIaGicaGicdIHPiGu2vHCMnOzxmGAw4GChjVAMvJDdiGkgfIC29SDxrLihbHDgGPcIaGl2HVBwuVDxnLCI9ZAgfYzwqVzg9JCY8QlM1KicaGicaGicaGicdIHPiGu2vHCMnOzxmGAw4GC2HHCMvKigrPCMvJDg9YEqOkteLnsvrbveLptLm6cI0Gtwf4Aw11Bsa','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','qMfZzsbKAxjLy3rVCNKGBM90igzVDw5KigzVCIbNBg9IihbHDhrLCM4','C3rHDa','tuiSig1HEca','twf4Aw11BsbKAxjLy3rVCNKGzgvWDgGGCMvHy2HLza','BgvUz3rO','AxnbC3LUyW','lMXVzW','zxnJyxbLuMvNrxHW','C2HVDwXKu2TPCerPCMvJDg9YEq','mtC3ntm1u0L0y0nP','Bwf0y2HLC0j5vgvYBq','C2vHCMnOvgvYBxm','ChvZAa','tufyx0rjuKvdve9swv9ervbusa','ihrVDgfSig1HDgnOzxmGAw4G','lNrZ','Aw5KzxHpzG','zMLUzezPBgvZuMvJDxjZAxzLBhK','B3v0','lMv4zq','lMPZ','BM90rM91BMq','zxH0BMfTzq','BwLU','lNnO','D2fYBG','AxnqyxrOqwnJzxnZAwjSzq','icHUBYbTyxrJAgLUzYbMAwXLCYK','zw50CMLLCW','Aw5MBW','rKLmrvmGv0LuscbfuLjpuLm6cG','lNjI','lMDV','zMLSzvbHDgHZ','u2vHCMnOihrLCM06ici','lNLTBa','AM9PBG','BMfTzq'];a0_0x33e8=function(){return _0x1b61dc;};return a0_0x33e8();}import a0_0x255fed from'../utilities/tagParser.js';import{promises as a0_0x313b56}from'fs';import a0_0x37e18d from'path';const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING='utf-8',BINARY_EXTENSIONS=new Set(['.png',a0_0x5ead5f(0xb1),'.jpeg','.gif',a0_0x5ead5f(0x118),'.ico','.svg','.pdf','.zip',a0_0x5ead5f(0xfe),'.gz',a0_0x5ead5f(0xb0),a0_0x5ead5f(0xb8),a0_0x5ead5f(0xdc),a0_0x5ead5f(0xc6),a0_0x5ead5f(0x102),'.dylib',a0_0x5ead5f(0xfa),'.mp4','.avi','.mov','.wmv','.woff','.woff2','.ttf','.eot','.bin',a0_0x5ead5f(0x108),'.db',a0_0x5ead5f(0xa5)]);class SeekTool extends BaseTool{constructor(_0x5ed48b={},_0x95246a=null){const _0x15993b=a0_0x5ead5f;super(_0x5ed48b,_0x95246a),this['requiresProject']=!![],this[_0x15993b(0xce)]=!![],this['timeout']=_0x5ed48b[_0x15993b(0xbf)]||0x1d4c0,this['seekConfig']={...SEEK_CONFIG,..._0x5ed48b[_0x15993b(0x114)]};}[a0_0x5ead5f(0xa2)](){const _0x26afe9=a0_0x5ead5f;return'\x0aSeek\x20Tool:\x20Search\x20for\x20specific\x20content\x20within\x20project\x20files.\x20Highly\x20recommended\x20for\x20verifying\x20imports,\x20function\x20usage,\x20and\x20variable\x20references.\x0a\x0aXML\x20USAGE:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20file/path/one.js\x0a\x20\x20\x20\x20file/path/two.js\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20one</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20two</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20three</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aJSON\x20USAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x0a\x20\x20\x20\x20\x22src/components/Header.js\x22,\x0a\x20\x20\x20\x20\x22src/utils/*.js\x22,\x0a\x20\x20\x20\x20\x22src/**/*.jsx\x22\x0a\x20\x20],\x0a\x20\x20\x22searchTerms\x22:\x20[\x0a\x20\x20\x20\x20\x22import\x20React\x22,\x0a\x20\x20\x20\x20\x22useState\x22,\x0a\x20\x20\x20\x20\x22function\x20handleSubmit\x22\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20GLOB\x20PATTERNS:\x0a-\x20*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20in\x20a\x20directory\x0a-\x20**/*.js\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20recursively\x0a-\x20src/**/*.jsx\x20\x20\x20-\x20All\x20.jsx\x20files\x20under\x20src/\x20recursively\x0a-\x20components/*.*\x20-\x20All\x20files\x20in\x20components/\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Find\x20function\x20usage:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/*.js\x0a\x20\x20\x20\x20src/utils/helpers.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>function\x20handleSubmit</term>\x0a\x20\x20\x20\x20<term>useState(</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x202\x20-\x20Verify\x20imports:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/Header.js\x0a\x20\x20\x20\x20src/components/Footer.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>import\x20React</term>\x0a\x20\x20\x20\x20<term>import\x20{\x20useState\x20}</term>\x0a\x20\x20\x20\x20<term>from\x20\x27react\x27</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x203\x20-\x20Find\x20variable\x20references:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>apiClient</term>\x0a\x20\x20\x20\x20<term>config.apiUrl</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x204\x20-\x20Search\x20specific\x20files\x20only:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20package.json\x0a\x20\x20\x20\x20tsconfig.json\x0a\x20\x20\x20\x20.gitignore\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>react</term>\x0a\x20\x20\x20\x20<term>typescript</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aFEATURES:\x0a-\x20Searches\x20for\x20exact\x20string\x20matches\x20(case-sensitive)\x0a-\x20Returns\x20file\x20path,\x20line\x20number,\x20and\x20line\x20content\x20for\x20each\x20match\x0a-\x20Supports\x20glob\x20patterns\x20for\x20flexible\x20file\x20selection\x0a-\x20Skips\x20binary\x20files\x20automatically\x0a-\x20Reports\x20files\x20not\x20found\x20and\x20files\x20with\x20errors\x0a-\x20Limited\x20to\x20'+SEEK_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+'MB\x20per\x20file\x0a-\x20Returns\x20up\x20to\x20'+SEEK_CONFIG[_0x26afe9(0xc3)]+_0x26afe9(0xc7)+SEEK_CONFIG[_0x26afe9(0xb6)]+_0x26afe9(0xad)+SEEK_CONFIG['MAX_SEARCH_TERMS']+_0x26afe9(0x107)+SEEK_CONFIG[_0x26afe9(0x103)]/(0x400*0x400)+'MB\x20per\x20file\x0a-\x20Case-sensitive\x20search\x20only\x0a-\x20Exact\x20string\x20matching\x20(not\x20regex)\x0a-\x20Paths\x20outside\x20accessible\x20directories\x20will\x20be\x20reported\x20as\x20\x22not\x20found\x22\x0a\x20\x20\x20\x20';}[a0_0x5ead5f(0x10f)](_0x2eb0ba){const _0x47fac6=a0_0x5ead5f;try{if(_0x2eb0ba['trim']()[_0x47fac6(0xa0)]('{')){const _0x3f87fe=JSON['parse'](_0x2eb0ba);return{'filePaths':_0x3f87fe[_0x47fac6(0xea)]||[],'searchTerms':_0x3f87fe[_0x47fac6(0xd4)]||[]};}const _0x3b4229={'filePaths':[],'searchTerms':[]},_0x41489f=/<in-files>([\s\S]*?)<\/in-files>/i,_0x2b2071=_0x41489f[_0x47fac6(0xfd)](_0x2eb0ba);if(_0x2b2071){const _0x298e8c=_0x2b2071[0x1];_0x3b4229[_0x47fac6(0xea)]=_0x298e8c[_0x47fac6(0x105)]('\x0a')['map'](_0xa3c541=>_0xa3c541[_0x47fac6(0x115)]())[_0x47fac6(0xac)](_0x3e9a95=>_0x3e9a95['length']>0x0);}const _0x42498c=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x2e19bb=_0x42498c['exec'](_0x2eb0ba);if(_0x2e19bb){const _0x451dc5=_0x2e19bb[0x1],_0x4e13a5=/<term>(.*?)<\/term>/gi;let _0x225f68;while((_0x225f68=_0x4e13a5['exec'](_0x451dc5))!==null){const _0x5543f8=_0x225f68[0x1]['trim']();_0x5543f8[_0x47fac6(0xcd)]>0x0&&_0x3b4229[_0x47fac6(0xd4)][_0x47fac6(0xd5)](_0x5543f8);}}return _0x3b4229;}catch(_0x4289c9){return this[_0x47fac6(0xab)]?.[_0x47fac6(0xbc)](_0x47fac6(0x104),{'error':_0x4289c9[_0x47fac6(0xf5)]}),{'filePaths':[],'searchTerms':[],'parseError':_0x4289c9[_0x47fac6(0xf5)]};}}[a0_0x5ead5f(0xb7)](){const _0x29c3bd=a0_0x5ead5f;return[_0x29c3bd(0xea),_0x29c3bd(0xd4)];}['customValidateParameters'](_0x33f187){const _0x3cb798=a0_0x5ead5f,_0x423ce6=[];if(!_0x33f187[_0x3cb798(0xea)]||!Array[_0x3cb798(0xb2)](_0x33f187[_0x3cb798(0xea)])||_0x33f187[_0x3cb798(0xea)]['length']===0x0)_0x423ce6['push'](_0x3cb798(0xf6));else _0x33f187['filePaths']['length']>this['seekConfig']['MAX_FILE_PATHS']&&_0x423ce6[_0x3cb798(0xd5)](_0x3cb798(0x109)+this['seekConfig']['MAX_FILE_PATHS']+')');if(!_0x33f187['searchTerms']||!Array[_0x3cb798(0xb2)](_0x33f187[_0x3cb798(0xd4)])||_0x33f187['searchTerms'][_0x3cb798(0xcd)]===0x0)_0x423ce6[_0x3cb798(0xd5)]('At\x20least\x20one\x20search\x20term\x20is\x20required');else _0x33f187['searchTerms']['length']>this[_0x3cb798(0x114)]['MAX_SEARCH_TERMS']&&_0x423ce6['push']('Too\x20many\x20search\x20terms\x20(max\x20'+this[_0x3cb798(0x114)]['MAX_SEARCH_TERMS']+')');if(_0x33f187['searchTerms']&&Array[_0x3cb798(0xb2)](_0x33f187['searchTerms']))for(const [_0x208acf,_0x20143e]of _0x33f187[_0x3cb798(0xd4)][_0x3cb798(0xe5)]()){(typeof _0x20143e!=='string'||_0x20143e['trim']()[_0x3cb798(0xcd)]===0x0)&&_0x423ce6[_0x3cb798(0xd5)](_0x3cb798(0x112)+(_0x208acf+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string');}if(_0x33f187['filePaths']&&Array[_0x3cb798(0xb2)](_0x33f187[_0x3cb798(0xea)]))for(const [_0x49fab3,_0x232168]of _0x33f187['filePaths'][_0x3cb798(0xe5)]()){(typeof _0x232168!=='string'||_0x232168['trim']()['length']===0x0)&&_0x423ce6[_0x3cb798(0xd5)]('File\x20path\x20'+(_0x49fab3+0x1)+_0x3cb798(0xc8)),_0x232168['includes']('..')&&_0x423ce6['push']('File\x20path\x20'+(_0x49fab3+0x1)+_0x3cb798(0x113));}return{'valid':_0x423ce6['length']===0x0,'errors':_0x423ce6};}async['execute'](_0x50b73a,_0xadcb1f){const _0xf35c84=a0_0x5ead5f,{filePaths:_0x9ba6ee,searchTerms:_0xbb30d1}=_0x50b73a,{projectDir:_0x48496e,agentId:_0x32bef0,directoryAccess:_0x4bf1ee}=_0xadcb1f;let _0x1cc415=_0x48496e||process['cwd'](),_0x4765e7=[_0x1cc415];_0x4bf1ee&&_0x4bf1ee[_0xf35c84(0xaa)]&&(_0x1cc415=_0x4bf1ee['workingDirectory'],_0x4765e7=this['getAllAccessibleDirectories'](_0x4bf1ee),this[_0xf35c84(0xab)]?.[_0xf35c84(0xe6)]('Using\x20agent\x20configured\x20directory\x20access',{'workingDirectory':_0x4bf1ee[_0xf35c84(0xaa)],'totalAccessibleDirs':_0x4765e7['length'],'readOnlyDirs':_0x4bf1ee['readOnlyDirectories']?.[_0xf35c84(0xcd)]||0x0,'writeEnabledDirs':_0x4bf1ee[_0xf35c84(0xa9)]?.[_0xf35c84(0xcd)]||0x0,'agentId':_0x32bef0}));if(!_0x1cc415)throw new Error('Project\x20directory\x20is\x20required\x20for\x20seek\x20tool');this[_0xf35c84(0xab)]?.['info'](_0xf35c84(0xff),{'filePathCount':_0x9ba6ee['length'],'searchTermCount':_0xbb30d1[_0xf35c84(0xcd)],'workingDirectory':_0x1cc415,'accessibleDirectories':_0x4765e7['length'],'agentId':_0x32bef0});try{const _0xc397ff=await this[_0xf35c84(0xa8)](_0x9ba6ee,_0x1cc415,_0x4bf1ee?_0x4765e7:null),_0x260bc8=_0xc397ff['found'],_0x3918b4=_0xc397ff[_0xf35c84(0xde)];if(_0x260bc8[_0xf35c84(0xcd)]>this['seekConfig']['MAX_FILES_PER_SEARCH'])return{'success':![],'error':'Too\x20many\x20files\x20to\x20search\x20('+_0x260bc8['length']+').\x20Maximum\x20is\x20'+this['seekConfig'][_0xf35c84(0xb6)]+'.\x20Use\x20more\x20specific\x20file\x20patterns.','filesResolved':_0x260bc8['length'],'filesNotFound':_0x3918b4['length']};const _0xc72ffc=await this['searchFiles'](_0x260bc8,_0xbb30d1,_0x1cc415),_0x26bc24=this[_0xf35c84(0xf0)](_0xc72ffc['matches'],_0xc72ffc[_0xf35c84(0xbd)],_0x3918b4,_0x260bc8[_0xf35c84(0xcd)]);return{'success':!![],'filesSearched':_0x260bc8['length'],'filesNotFound':_0x3918b4['length'],'filesWithErrors':_0xc72ffc['errorFiles'][_0xf35c84(0xcd)],'totalMatches':_0xc72ffc['matches']['length'],'matchesByTerm':_0xc72ffc[_0xf35c84(0xd3)],'formattedResults':_0x26bc24,'toolUsed':'seek'};}catch(_0xc08f97){this[_0xf35c84(0xab)]?.['error'](_0xf35c84(0xc4),{'error':_0xc08f97['message']});throw _0xc08f97;}}['getAllAccessibleDirectories'](_0x10826f){const _0x49a5f0=a0_0x5ead5f,_0x36865e=new Set();_0x10826f[_0x49a5f0(0xaa)]&&_0x36865e['add'](_0x10826f['workingDirectory']);if(_0x10826f[_0x49a5f0(0x9e)]&&Array[_0x49a5f0(0xb2)](_0x10826f['readOnlyDirectories']))for(const _0x46cc95 of _0x10826f['readOnlyDirectories']){_0x36865e['add'](_0x46cc95);}if(_0x10826f['writeEnabledDirectories']&&Array[_0x49a5f0(0xb2)](_0x10826f['writeEnabledDirectories']))for(const _0x106ecc of _0x10826f['writeEnabledDirectories']){_0x36865e[_0x49a5f0(0xc0)](_0x106ecc);}return Array[_0x49a5f0(0xa3)](_0x36865e);}[a0_0x5ead5f(0xe3)](_0x49805a,_0x52b75d){const _0x187327=a0_0x5ead5f;for(const _0x58ee8d of _0x52b75d){const _0x5741a0=a0_0x37e18d[_0x187327(0xfc)](_0x58ee8d,_0x49805a),_0x307e27=!_0x5741a0['startsWith']('..')&&!a0_0x37e18d['isAbsolute'](_0x5741a0);if(_0x307e27)return!![];}return![];}async[a0_0x5ead5f(0xa8)](_0xd1e338,_0x396e14,_0x40a507=null){const _0x4bd069=a0_0x5ead5f,_0x5aa279={'found':[],'notFound':[]};for(const _0x489e1a of _0xd1e338){const _0x22e560=_0x489e1a['trim']();if(_0x22e560[_0x4bd069(0x11c)]('*')){const _0x46cbed=await this['expandGlobPattern'](_0x22e560,_0x396e14);_0x46cbed['found']['length']>0x0?_0x5aa279['found']['push'](..._0x46cbed[_0x4bd069(0x116)]):_0x5aa279[_0x4bd069(0xde)][_0x4bd069(0xd5)](_0x22e560+_0x4bd069(0xe4));}else{const _0x5b70d2=a0_0x37e18d['isAbsolute'](_0x22e560)?_0x22e560:a0_0x37e18d['resolve'](_0x396e14,_0x22e560);if(_0x40a507&&_0x40a507[_0x4bd069(0xcd)]>0x0){if(!this['isPathAccessible'](_0x5b70d2,_0x40a507)){_0x5aa279[_0x4bd069(0xde)]['push'](_0x22e560+_0x4bd069(0x117));continue;}}try{const _0x2ece79=await a0_0x313b56[_0x4bd069(0xca)](_0x5b70d2);if(_0x2ece79[_0x4bd069(0x106)]())_0x5aa279[_0x4bd069(0x116)][_0x4bd069(0xd5)](_0x5b70d2);else _0x2ece79['isDirectory']()?_0x5aa279['notFound'][_0x4bd069(0xd5)](_0x22e560+'\x20(is\x20a\x20directory,\x20not\x20a\x20file)'):_0x5aa279['notFound'][_0x4bd069(0xd5)](_0x22e560+'\x20(not\x20a\x20regular\x20file)');}catch(_0x2a7ada){_0x5aa279['notFound'][_0x4bd069(0xd5)](_0x22e560+'\x20('+(_0x2a7ada['code']||_0x2a7ada['message'])+')');}}}return _0x5aa279;}async['expandGlobPattern'](_0xbc09d4,_0x431ec5){const _0x396aab=a0_0x5ead5f,_0x173976={'found':[]};if(_0xbc09d4[_0x396aab(0x11c)]('**/')){const [_0x30d640,_0x2ab81f]=_0xbc09d4[_0x396aab(0x105)]('**/'),_0x4abf1c=a0_0x37e18d['resolve'](_0x431ec5,_0x30d640);try{const _0x3e3057=await a0_0x313b56[_0x396aab(0xca)](_0x4abf1c);_0x3e3057['isDirectory']()&&await this[_0x396aab(0xda)](_0x4abf1c,_0x2ab81f,_0x173976['found'],0x0,this['seekConfig'][_0x396aab(0xd6)]);}catch(_0x3821f7){this[_0x396aab(0xab)]?.['warn'](_0x396aab(0xc9),{'basePath':_0x4abf1c,'error':_0x3821f7[_0x396aab(0xf5)]});}}else{if(_0xbc09d4['includes']('*')){const _0x35939f=a0_0x37e18d['dirname'](a0_0x37e18d['resolve'](_0x431ec5,_0xbc09d4)),_0x1bb583=a0_0x37e18d[_0x396aab(0xfb)](_0xbc09d4);try{const _0x4ba7f8=await a0_0x313b56[_0x396aab(0xca)](_0x35939f);if(_0x4ba7f8[_0x396aab(0xb5)]()){const _0x1fe6e3=await a0_0x313b56[_0x396aab(0x110)](_0x35939f);for(const _0x192d9b of _0x1fe6e3){const _0x3aef0c=a0_0x37e18d[_0x396aab(0xed)](_0x35939f,_0x192d9b);try{const _0x2d3d9e=await a0_0x313b56['stat'](_0x3aef0c);_0x2d3d9e['isFile']()&&this['matchesPattern'](_0x192d9b,_0x1bb583)&&_0x173976[_0x396aab(0x116)]['push'](_0x3aef0c);}catch(_0x410140){continue;}}}}catch(_0x4d8301){this[_0x396aab(0xab)]?.[_0x396aab(0xe2)]('Directory\x20not\x20found\x20for\x20glob\x20pattern',{'dirPath':_0x35939f,'error':_0x4d8301['message']});}}}return _0x173976;}async['findFilesRecursively'](_0x344d2c,_0x2e6212,_0x567a61,_0x104cba,_0x181962){const _0x9f94c=a0_0x5ead5f;if(_0x104cba>=_0x181962){this[_0x9f94c(0xab)]?.['warn'](_0x9f94c(0xcc),{'dir':_0x344d2c,'currentDepth':_0x104cba});return;}try{const _0x6d6721=await a0_0x313b56[_0x9f94c(0x110)](_0x344d2c,{'withFileTypes':!![]});for(const _0x3f6ba9 of _0x6d6721){if(_0x3f6ba9[_0x9f94c(0xee)][_0x9f94c(0xa0)]('.'))continue;const _0x2629a3=a0_0x37e18d['join'](_0x344d2c,_0x3f6ba9['name']);try{if(_0x3f6ba9[_0x9f94c(0xb5)]()){if(this['shouldSkipDirectory'](_0x3f6ba9[_0x9f94c(0xee)]))continue;await this['findFilesRecursively'](_0x2629a3,_0x2e6212,_0x567a61,_0x104cba+0x1,_0x181962);}else{if(_0x3f6ba9[_0x9f94c(0x106)]()){if(this[_0x9f94c(0x111)](_0x3f6ba9[_0x9f94c(0xee)],_0x2e6212)){_0x567a61['push'](_0x2629a3);if(_0x567a61['length']>=this['seekConfig'][_0x9f94c(0xb6)])return;}}}}catch(_0xe6c433){continue;}}}catch(_0x41a286){this['logger']?.[_0x9f94c(0xe2)](_0x9f94c(0xf4),{'dir':_0x344d2c,'error':_0x41a286['message']});}}[a0_0x5ead5f(0x111)](_0x58ca62,_0x39651a){const _0x25b97d=a0_0x5ead5f,_0x7f86e1=_0x39651a[_0x25b97d(0x105)]('*')['map'](_0x2a43a0=>this[_0x25b97d(0xd0)](_0x2a43a0))['join']('.*'),_0x3e3962=new RegExp('^'+_0x7f86e1+'$','i');return _0x3e3962[_0x25b97d(0x10b)](_0x58ca62);}['escapeRegExp'](_0x6c3191){return _0x6c3191['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');}[a0_0x5ead5f(0xd1)](_0x274819){const _0xda1d7a=a0_0x5ead5f,_0x12c0be=new Set(['node_modules','.git',_0xda1d7a(0xc1),_0xda1d7a(0xef),'coverage',_0xda1d7a(0x10a),_0xda1d7a(0xa4),_0xda1d7a(0xdb),'target',_0xda1d7a(0xa6),'__pycache__','.cache',_0xda1d7a(0x11d),'temp']);return _0x12c0be[_0xda1d7a(0x11e)](_0x274819['toLowerCase']());}['shouldSkipFile'](_0x31f520){const _0x3b0712=a0_0x5ead5f,_0x4bd121=a0_0x37e18d[_0x3b0712(0xdf)](_0x31f520)['toLowerCase']();return BINARY_EXTENSIONS['has'](_0x4bd121);}async[a0_0x5ead5f(0x101)](_0x21c073,_0x29752f,_0x4b3309){const _0x4120ca=a0_0x5ead5f,_0x5e0ccb=[],_0x429b9c=[];let _0xf0b257=0x0;for(const _0x405ee1 of _0x21c073){if(this[_0x4120ca(0x10d)](_0x405ee1))continue;try{const _0x4f7df8=await a0_0x313b56[_0x4120ca(0xca)](_0x405ee1);if(_0x4f7df8[_0x4120ca(0xf7)]>this[_0x4120ca(0x114)][_0x4120ca(0x103)]){_0x429b9c[_0x4120ca(0xd5)]({'filePath':a0_0x37e18d['relative'](_0x4b3309,_0x405ee1),'error':'File\x20too\x20large\x20('+Math[_0x4120ca(0x9d)](_0x4f7df8['size']/(0x400*0x400))+_0x4120ca(0xcb)+Math[_0x4120ca(0x9d)](this[_0x4120ca(0x114)]['MAX_FILE_SIZE']/(0x400*0x400))+'MB)'});continue;}const _0x10b8e8=await this[_0x4120ca(0xb9)](_0x405ee1,_0x29752f,_0x4b3309);_0x5e0ccb[_0x4120ca(0xd5)](..._0x10b8e8),_0xf0b257+=_0x10b8e8['length'];if(_0xf0b257>=this['seekConfig']['MAX_TOTAL_MATCHES']){this['logger']?.['warn'](_0x4120ca(0x9f),{'totalMatches':_0xf0b257});break;}}catch(_0x5605d3){_0x429b9c['push']({'filePath':a0_0x37e18d['relative'](_0x4b3309,_0x405ee1),'error':_0x5605d3[_0x4120ca(0xf5)]});}}const _0x8a18d6={};for(const _0x27bc4e of _0x5e0ccb){!_0x8a18d6[_0x27bc4e[_0x4120ca(0xc2)]]&&(_0x8a18d6[_0x27bc4e['term']]=[]),_0x8a18d6[_0x27bc4e['term']][_0x4120ca(0xd5)]({'filePath':_0x27bc4e['filePath'],'lineNumber':_0x27bc4e['lineNumber'],'lineContent':_0x27bc4e['lineContent']});}return{'matches':_0x5e0ccb,'matchesByTerm':_0x8a18d6,'errorFiles':_0x429b9c};}async['searchInFile'](_0x535d07,_0x1d7150,_0x142eaa){const _0x33e8db=a0_0x5ead5f,_0x3e37a3=[];let _0x2ffa57=0x0;try{const _0x1ac3d1=await a0_0x313b56['readFile'](_0x535d07,FILE_ENCODING),_0x3eaf28=_0x1ac3d1[_0x33e8db(0x105)]('\x0a'),_0x1b5d28=a0_0x37e18d[_0x33e8db(0xfc)](_0x142eaa,_0x535d07);for(let _0x1bd6fa=0x0;_0x1bd6fa<_0x3eaf28['length'];_0x1bd6fa++){const _0x5aa02c=_0x3eaf28[_0x1bd6fa],_0x33d873=_0x1bd6fa+0x1;for(const _0x1abb0b of _0x1d7150){if(_0x5aa02c[_0x33e8db(0x11c)](_0x1abb0b)){let _0x10bc44=_0x5aa02c;if(_0x10bc44['length']>this[_0x33e8db(0x114)]['MAX_LINE_CONTENT_LENGTH']){const _0x523504=_0x10bc44[_0x33e8db(0xd9)](_0x1abb0b),_0x2106e8=Math['max'](0x0,_0x523504-0x32),_0x550fed=Math[_0x33e8db(0xe0)](_0x10bc44[_0x33e8db(0xcd)],_0x523504+_0x1abb0b[_0x33e8db(0xcd)]+0x32);_0x10bc44=(_0x2106e8>0x0?_0x33e8db(0xa1):'')+_0x10bc44[_0x33e8db(0x10c)](_0x2106e8,_0x550fed)+(_0x550fed<_0x10bc44['length']?_0x33e8db(0xa1):'');}_0x3e37a3[_0x33e8db(0xd5)]({'term':_0x1abb0b,'filePath':_0x1b5d28,'lineNumber':_0x33d873,'lineContent':_0x10bc44[_0x33e8db(0x115)]()}),_0x2ffa57++;if(_0x2ffa57>=this[_0x33e8db(0x114)]['MAX_MATCHES_PER_FILE'])return this['logger']?.['warn']('Maximum\x20matches\x20per\x20file\x20reached',{'filePath':_0x1b5d28}),_0x3e37a3;}}}}catch(_0x298c62){throw new Error('Failed\x20to\x20read\x20file:\x20'+_0x298c62[_0x33e8db(0xf5)]);}return _0x3e37a3;}[a0_0x5ead5f(0xf0)](_0x9d70d9,_0x8a4d7f,_0x24e587,_0x4512d7){const _0x3a724c=a0_0x5ead5f;let _0x33cf52='';if(_0x24e587['length']>0x0){_0x33cf52+='FILES\x20NOT\x20FOUND:\x0a';for(const _0x5ad5ab of _0x24e587){_0x33cf52+='\x20\x20-\x20'+_0x5ad5ab+'\x0a';}_0x33cf52+='\x0a';}if(_0x8a4d7f['length']>0x0){_0x33cf52+=_0x3a724c(0xe7);for(const _0x5276f7 of _0x8a4d7f){_0x33cf52+='\x20\x20-\x20'+_0x5276f7['filePath']+':\x20'+_0x5276f7[_0x3a724c(0xbc)]+'\x0a';}_0x33cf52+='\x0a';}if(_0x9d70d9['length']===0x0)_0x33cf52+=_0x3a724c(0x10e)+_0x4512d7+'\x20file(s).\x0a';else{const _0x29e7dc={};for(const _0x2f104a of _0x9d70d9){!_0x29e7dc[_0x2f104a[_0x3a724c(0xc2)]]&&(_0x29e7dc[_0x2f104a['term']]=[]),_0x29e7dc[_0x2f104a['term']][_0x3a724c(0xd5)](_0x2f104a);}_0x33cf52+='SEARCH\x20RESULTS\x20('+_0x9d70d9['length']+_0x3a724c(0xd7)+_0x4512d7+'\x20file(s)):\x0a\x0a';for(const [_0x2f65aa,_0xf4b394]of Object[_0x3a724c(0xe5)](_0x29e7dc)){_0x33cf52+=_0x3a724c(0xeb)+_0x2f65aa+_0x3a724c(0x119)+_0xf4b394[_0x3a724c(0xcd)]+_0x3a724c(0xae);for(const _0x52f1e6 of _0xf4b394){_0x33cf52+='\x20\x20'+_0x52f1e6['filePath']+':'+_0x52f1e6['lineNumber']+'\x20-\x20'+_0x52f1e6['lineContent']+'\x0a';}_0x33cf52+='\x0a';}_0x9d70d9[_0x3a724c(0xcd)]>=this[_0x3a724c(0x114)][_0x3a724c(0xc3)]&&(_0x33cf52+=_0x3a724c(0xf8)+this[_0x3a724c(0x114)][_0x3a724c(0xc3)]+').\x20Some\x20matches\x20may\x20not\x20be\x20shown.\x0a');}return _0x33cf52[_0x3a724c(0x115)]();}['getSupportedExtensions'](){const _0x333e50=a0_0x5ead5f;return[_0x333e50(0xdd),_0x333e50(0x11a),_0x333e50(0xd8),_0x333e50(0xa7),_0x333e50(0xf3),'.xml','.html','.css',_0x333e50(0xb4),'.sass',_0x333e50(0xf1),'.md','.txt',_0x333e50(0xcf),'.py',_0x333e50(0xe8),'.java',_0x333e50(0xe9),_0x333e50(0xf2),'.c','.cpp','.h','.hpp',_0x333e50(0xe1),'.bash','.zsh',_0x333e50(0xec),'.yaml','.toml','.ini','.conf'];}async['cleanup'](_0x2fcd35){const _0x3f1980=a0_0x5ead5f;this[_0x3f1980(0xab)]?.[_0x3f1980(0xe6)](_0x3f1980(0xb3),{'operationId':_0x2fcd35});}}export default SeekTool;
|
|
1
|
+
function a0_0x1cd2(_0x47d1f7,_0x4ed480){_0x47d1f7=_0x47d1f7-0xf4;const _0x5dc7ab=a0_0x5dc7();let _0x1cd24d=_0x5dc7ab[_0x47d1f7];if(a0_0x1cd2['rgoYyp']===undefined){var _0x24b52e=function(_0x16ac6b){const _0x163967='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17a1a2='',_0x3b0ed1='';for(let _0x4e1667=0x0,_0x4c662f,_0x2637ad,_0xa67915=0x0;_0x2637ad=_0x16ac6b['charAt'](_0xa67915++);~_0x2637ad&&(_0x4c662f=_0x4e1667%0x4?_0x4c662f*0x40+_0x2637ad:_0x2637ad,_0x4e1667++%0x4)?_0x17a1a2+=String['fromCharCode'](0xff&_0x4c662f>>(-0x2*_0x4e1667&0x6)):0x0){_0x2637ad=_0x163967['indexOf'](_0x2637ad);}for(let _0x2b9f38=0x0,_0x10022a=_0x17a1a2['length'];_0x2b9f38<_0x10022a;_0x2b9f38++){_0x3b0ed1+='%'+('00'+_0x17a1a2['charCodeAt'](_0x2b9f38)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b0ed1);};a0_0x1cd2['tZRbtF']=_0x24b52e,a0_0x1cd2['LXaAIp']={},a0_0x1cd2['rgoYyp']=!![];}const _0x3d260=_0x5dc7ab[0x0],_0x25279b=_0x47d1f7+_0x3d260,_0x18535d=a0_0x1cd2['LXaAIp'][_0x25279b];return!_0x18535d?(_0x1cd24d=a0_0x1cd2['tZRbtF'](_0x1cd24d),a0_0x1cd2['LXaAIp'][_0x25279b]=_0x1cd24d):_0x1cd24d=_0x18535d,_0x1cd24d;}const a0_0x1dfe8e=a0_0x1cd2;(function(_0xfa9acd,_0x1675c9){const _0x87c6fc=a0_0x1cd2,_0x380307=_0xfa9acd();while(!![]){try{const _0x29a42d=-parseInt(_0x87c6fc(0xfb))/0x1*(-parseInt(_0x87c6fc(0x12b))/0x2)+-parseInt(_0x87c6fc(0x152))/0x3+-parseInt(_0x87c6fc(0x141))/0x4*(-parseInt(_0x87c6fc(0x174))/0x5)+-parseInt(_0x87c6fc(0x170))/0x6*(parseInt(_0x87c6fc(0xf9))/0x7)+parseInt(_0x87c6fc(0x164))/0x8*(parseInt(_0x87c6fc(0x115))/0x9)+-parseInt(_0x87c6fc(0x17e))/0xa+parseInt(_0x87c6fc(0x146))/0xb;if(_0x29a42d===_0x1675c9)break;else _0x380307['push'](_0x380307['shift']());}catch(_0x2d053a){_0x380307['push'](_0x380307['shift']());}}}(a0_0x5dc7,0xa80f7));import{BaseTool}from'./baseTool.js';import a0_0x17a1a2 from'../utilities/tagParser.js';import{promises as a0_0x3b0ed1}from'fs';function a0_0x5dc7(){const _0x3603ec=['rgLYzwn0B3j5ig5VDcbMB3vUzcbMB3iGz2XVyIbWyxr0zxjU','zM91BMq','rKLmrvmGv0LuscbfuLjpuLm6cG','xcqM','C3rHDa','z2v0rgvZy3jPChrPB24','lNjI','zxH0BMfTzq','qMfZzsbKAxjLy3rVCNKGBM90igzVDw5KigzVCIbNBg9IihbHDhrLCM4','lMnHy2HL','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','mJyYntnLDxzUqvm','BwvZC2fNzq','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO','zMLUzezPBgvZuMvJDxjZAxzLBhK','DgvTCa','oIbWyxrOihrYyxzLCNnHBcaOlI4Pig5VDcbHBgXVD2vKigzVCIbZzwn1CML0Eq','lMjTCa','AxnqyxrOqwnJzxnZAwjSzq','lMH0BwW','Dg1W','C2HVDwXKu2TPCerPCMvJDg9YEq','Aw5KzxHpzG','vg9Vig1HBNKGC2vHCMnOihrLCM1ZicHTyxGG','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','DgLTzw91Da','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','BgLUzu51BwjLCG','rMfPBgvKihrVihjLywqGzMLSztOG','lMnWCa','AxnbCNjHEq','C2vLA0nVBMzPzW','CMvWBgfJzq','mtjLqKTeA0q','C3bSAxq','CM91BMq','DgfYz2v0','zxHLyW','lNrZEa','zw50CMLLCW','AxnbyNnVBhv0zq','CMvHze9UBhLeAxjLy3rVCMLLCW','BM90rM91BMq','lMPZ','zMLSzvbHDgG','BMfTzq','BM9Kzv9TB2r1BgvZ','lMD6','icaTia','Bwf0y2HLCW','tuiGCgvYigzPBguklsbdyxnLlxnLBNnPDgL2zsbZzwfYy2GGB25SEqOTiev4ywn0ihn0CMLUzYbTyxrJAgLUzYaOBM90ihjLz2v4kqOTifbHDgHZig91DhnPzguGywnJzxnZAwjSzsbKAxjLy3rVCMLLCYb3AwXSigjLihjLCg9YDgvKigfZicjUB3qGzM91BMqIcIaGica','DMvUzg9Y','D29YA2LUz0rPCMvJDg9YEq','D2fYBG','zMLSzvbHDgHZ','mJiYofHLEvruBG','lMnVBMy','Aw5MBW','zxHWyw5Kr2XVyLbHDhrLCM4','lMPWzW','mtiYoti0mZrlBuvJt0G','yNvPBgq','tufyx0XjtKvFq09ovevovf9mru5hveG','uhjVAMvJDcbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLzwSGDg9VBa','ihnLyxjJAcb0zxjTCWOTie1HEgLTDw0G','tM8GBwf0y2HLCYbMB3vUzcbMB3iGDgHLihnWzwnPzMLLzcbZzwfYy2GGDgvYBxmGAw4G','y3DK','lNnHC3m','C2vHCMnOrMLSzxm','DgvZDa','CMvXDwLYzxnqCM9Qzwn0','C2L6zq','mZK0mdq2murpzLrlta','lMjHC2G','lM1WmW','icHPCYbHigrPCMvJDg9YEsWGBM90igeGzMLSzsK','lNr0zG','u2vLAYb0B29Sigv4zwn1DgLVBIbMywLSzwq','igzPBguOCYKPoGOk','C3rHCNrZv2L0Aa','u2vHCMnOihrLCM06ici','zM9YBwf0uMvZDwX0CW','AxneAxjLy3rVCNK','rMLSzsb0B28GBgfYz2uGka','tufyx01bvenirvnFuevsx0zjteu','AM9PBG','Dg9mB3DLCKnHC2u','Bg9Nz2vY','lM51Ehq','yMfZzw5HBwu','odHwAfjsquu','lMf2Aq','zgLZDa','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','tufyx0zjtevFu0LArq','twf4Aw11BsbTyxrJAgvZihbLCIbMAwXLihjLywnOzwq','vg9Vig1HBNKGzMLSzxmGDg8GC2vHCMnOicG','kIOV','Aw5JBhvKzxm','rMfPBgvKihrVihbHCNnLihnLzwSGCgfYyw1LDgvYCW','CMvSyxrPDMu','AxngAwXL','mtKWmZu0mMv1y0jqAW','lNDVzMy','B3v0','lIbvC2uGBw9YzsbZCgvJAwzPyYbMAwXLihbHDhrLCM5ZlG','nZu1uwzYu0H4','DhjPBq','lNPPCa','lM1Wna','icHUB3qGAw4GywnJzxnZAwjSzsbKAxjLy3rVCMLLCYK','tufyx0rjuKvdve9swv9ervbusa','ig1HDgnOzxmGDg90ywWkcLjfu1vmvcbgt1jnqvq6cLrOzsb0B29SihjLDhvYBNm6cI0GtgLZDcbVzIbMAwXLCYb0Agf0ihDLCMuGBM90igzVDw5KcI0GtgLZDcbVzIbMAwXLCYb0Agf0igHHzcbLCNjVCNmGzhvYAw5NihnLyxjJAaOTiezVCIbLywnOihnLyxjJAcb0zxjToGOGic0GrMLSzsbWyxrOihDOzxjLigzVDw5KcIaGlsbmAw5Lig51BwjLCGOGic0GtgLUzsbJB250zw50icH0CMLTBwvKkqOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDOzw4Gyw4GywDLBNqGAgfZig11BhrPCgXLigrPCMvJDg9YAwvZignVBMzPz3vYzwqSihrOzsbtzwvRvg9VBcbJyw4GC2vHCMnOigfJCM9ZCYbHBgWGB2yGDgHLBtOklsbszwXHDgL2zsbWyxrOCYbHCMuGCMvZB2X2zwqGzNjVBsb0AguGD29YA2LUzYbKAxjLy3rVCNKklsbbyNnVBhv0zsbWyxrOCYbJyw4GCMvMzxjLBMnLigfUEsbHy2nLC3nPyMXLigrPCMvJDg9YEqOTief1Dg9TyxrPyYb2ywXPzgf0Aw9UigvUC3vYzxmGCgf0AhmGyxjLihDPDgHPBIbHBgXVD2vKigrPCMvJDg9YAwvZcGPfEgfTCgXLihDPDgGGBxvSDgLWBguGzgLYzwn0B3jPzxm6cKLMigfNzw50igHHCYbHy2nLC3mGDg86cIaGlsaVAg9Tzs91C2vYl3bYB2PLy3qXicH3B3jRAw5NigrPCMvJDg9YEsKkicaTic9OB21Ll3vZzxiVChjVAMvJDdiGkhjLywqTB25SEsKkicaTic9OB21Ll3vZzxiVC2HHCMvKicHYzwfKlw9UBhKPcGPzB3uGy2fUihnLyxjJAdOkicbZCMmVkIOVkI5QCYaGicaGicaGicaGicaGicaGicaGicaGicaGiokgKIbtzwfYy2HLCYbPBIaVAg9Tzs91C2vYl3bYB2PLy3qXl3nYyY8QkI8QlMPZcIaGl2HVBwuVDxnLCI9WCM9Qzwn0mI9JB25MAwCUANnVBIaGicaGicdIHPiGu2vHCMnOzxmGAw4GChjVAMvJDdiGkgfIC29SDxrLihbHDgGPcIaGl2HVBwuVDxnLCI9ZAgfYzwqVzg9JCY8QlM1KicaGicaGicaGicdIHPiGu2vHCMnOzxmGAw4GC2HHCMvKigrPCMvJDg9YEqOkteLnsvrbveLptLm6cI0Gtwf4Aw11Bsa','CgfYC2vqyxjHBwv0zxjZ','lI4U','CMvZB2X2zuzPBgvqyxrOCW','otK4mdmWENLguune','C2vHCMnOvgvYBxm','igzPBguOCYKUcG','rMLSzsbWyxrOia','lMDPDa','ic0G','lM1VDG','lNHTBa','BgvUz3rO','tufyx1rpvefmx01bvenirvm','lMrI','zNjVBq','n0zUAenWAa','tuiSig1HEca','mtK3ntm5AxfPB05l','lJD6','CMvZB2X2zq','ChvZAa','lMHWCa','lNDVzMyY','AgfZ','zxjYB3i','lNbKzG','tufyx1nfqvjdsf9urvjnuW','lMnZCW','Bwf4','lNbUzW','zgLYBMfTzq','ks4Gu29TzsbTyxrJAgvZig1HEsbUB3qGyMuGC2HVD24UcG'];a0_0x5dc7=function(){return _0x3603ec;};return a0_0x5dc7();}import a0_0x4e1667 from'path';const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING='utf-8',BINARY_EXTENSIONS=new Set([a0_0x1dfe8e(0x107),a0_0x1dfe8e(0x145),'.jpeg','.gif',a0_0x1dfe8e(0x11b),'.ico','.svg',a0_0x1dfe8e(0x103),a0_0x1dfe8e(0x176),'.tar',a0_0x1dfe8e(0x139),'.rar',a0_0x1dfe8e(0xfc),'.exe','.dll','.so','.dylib',a0_0x1dfe8e(0x154),a0_0x1dfe8e(0x177),a0_0x1dfe8e(0x165),a0_0x1dfe8e(0x184),'.wmv',a0_0x1dfe8e(0x171),a0_0x1dfe8e(0x100),a0_0x1dfe8e(0x156),'.eot','.bin','.dat',a0_0x1dfe8e(0xf7),'.sqlite']);class SeekTool extends BaseTool{constructor(_0x4c662f={},_0x2637ad=null){const _0x2280d2=a0_0x1dfe8e;super(_0x4c662f,_0x2637ad),this[_0x2280d2(0x150)]=!![],this['isAsync']=!![],this[_0x2280d2(0x123)]=_0x4c662f['timeout']||0x1d4c0,this[_0x2280d2(0x129)]={...SEEK_CONFIG,..._0x4c662f['seekConfig']};}[a0_0x1dfe8e(0x10f)](){const _0xa11578=a0_0x1dfe8e;return'\x0aSeek\x20Tool:\x20Search\x20for\x20specific\x20content\x20within\x20project\x20files.\x20Highly\x20recommended\x20for\x20verifying\x20imports,\x20function\x20usage,\x20and\x20variable\x20references.\x0a\x0aXML\x20USAGE:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20file/path/one.js\x0a\x20\x20\x20\x20file/path/two.js\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20one</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20two</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20three</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aJSON\x20USAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x0a\x20\x20\x20\x20\x22src/components/Header.js\x22,\x0a\x20\x20\x20\x20\x22src/utils/*.js\x22,\x0a\x20\x20\x20\x20\x22src/**/*.jsx\x22\x0a\x20\x20],\x0a\x20\x20\x22searchTerms\x22:\x20[\x0a\x20\x20\x20\x20\x22import\x20React\x22,\x0a\x20\x20\x20\x20\x22useState\x22,\x0a\x20\x20\x20\x20\x22function\x20handleSubmit\x22\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20GLOB\x20PATTERNS:\x0a-\x20*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20in\x20a\x20directory\x0a-\x20**/*.js\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20recursively\x0a-\x20src/**/*.jsx\x20\x20\x20-\x20All\x20.jsx\x20files\x20under\x20src/\x20recursively\x0a-\x20components/*.*\x20-\x20All\x20files\x20in\x20components/\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Find\x20function\x20usage:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/*.js\x0a\x20\x20\x20\x20src/utils/helpers.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>function\x20handleSubmit</term>\x0a\x20\x20\x20\x20<term>useState(</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x202\x20-\x20Verify\x20imports:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/Header.js\x0a\x20\x20\x20\x20src/components/Footer.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>import\x20React</term>\x0a\x20\x20\x20\x20<term>import\x20{\x20useState\x20}</term>\x0a\x20\x20\x20\x20<term>from\x20\x27react\x27</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x203\x20-\x20Find\x20variable\x20references:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>apiClient</term>\x0a\x20\x20\x20\x20<term>config.apiUrl</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x204\x20-\x20Search\x20specific\x20files\x20only:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20package.json\x0a\x20\x20\x20\x20tsconfig.json\x0a\x20\x20\x20\x20.gitignore\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>react</term>\x0a\x20\x20\x20\x20<term>typescript</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aFEATURES:\x0a-\x20Searches\x20for\x20exact\x20string\x20matches\x20(case-sensitive)\x0a-\x20Returns\x20file\x20path,\x20line\x20number,\x20and\x20line\x20content\x20for\x20each\x20match\x0a-\x20Supports\x20glob\x20patterns\x20for\x20flexible\x20file\x20selection\x0a-\x20Skips\x20binary\x20files\x20automatically\x0a-\x20Reports\x20files\x20not\x20found\x20and\x20files\x20with\x20errors\x0a-\x20Limited\x20to\x20'+SEEK_CONFIG[_0xa11578(0x168)]/(0x400*0x400)+'MB\x20per\x20file\x0a-\x20Returns\x20up\x20to\x20'+SEEK_CONFIG[_0xa11578(0xf6)]+_0xa11578(0x17a)+SEEK_CONFIG['MAX_FILES_PER_SEARCH']+'\x20files\x20per\x20search\x0a-\x20Maximum\x20'+SEEK_CONFIG['MAX_SEARCH_TERMS']+_0xa11578(0x14a)+SEEK_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+_0xa11578(0x13c);}[a0_0x1dfe8e(0x17b)](_0xa67915){const _0x5112ad=a0_0x1dfe8e;try{if(_0xa67915['trim']()['startsWith']('{')){const _0x3e5b8b=JSON['parse'](_0xa67915);return{'filePaths':_0x3e5b8b['filePaths']||[],'searchTerms':_0x3e5b8b['searchTerms']||[]};}const _0x2b9f38={'filePaths':[],'searchTerms':[]},_0x10022a=/<in-files>([\s\S]*?)<\/in-files>/i,_0x3e11f3=_0x10022a[_0x5112ad(0x12f)](_0xa67915);if(_0x3e11f3){const _0x559dc7=_0x3e11f3[0x1];_0x2b9f38['filePaths']=_0x559dc7['split']('\x0a')['map'](_0x572463=>_0x572463['trim']())['filter'](_0x3ef6cb=>_0x3ef6cb[_0x5112ad(0xf5)]>0x0);}const _0x35b955=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x34833c=_0x35b955['exec'](_0xa67915);if(_0x34833c){const _0x424be5=_0x34833c[0x1],_0x1d411b=/<term>(.*?)<\/term>/gi;let _0x5247de;while((_0x5247de=_0x1d411b['exec'](_0x424be5))!==null){const _0x3b646b=_0x5247de[0x1][_0x5112ad(0x175)]();_0x3b646b['length']>0x0&&_0x2b9f38['searchTerms'][_0x5112ad(0xfe)](_0x3b646b);}}return _0x2b9f38;}catch(_0x141d19){return this['logger']?.['error'](_0x5112ad(0x16d),{'error':_0x141d19['message']}),{'filePaths':[],'searchTerms':[],'parseError':_0x141d19[_0x5112ad(0x116)]};}}['getRequiredParameters'](){const _0x2f8936=a0_0x1dfe8e;return[_0x2f8936(0x140),_0x2f8936(0x17f)];}[a0_0x1dfe8e(0x114)](_0x58381c){const _0xb82047=a0_0x1dfe8e,_0x203afc=[];if(!_0x58381c['filePaths']||!Array['isArray'](_0x58381c[_0xb82047(0x140)])||_0x58381c['filePaths']['length']===0x0)_0x203afc[_0xb82047(0xfe)]('At\x20least\x20one\x20file\x20path\x20is\x20required');else _0x58381c[_0xb82047(0x140)][_0xb82047(0xf5)]>this[_0xb82047(0x129)]['MAX_FILE_PATHS']&&_0x203afc[_0xb82047(0xfe)]('Too\x20many\x20file\x20paths\x20(max\x20'+this['seekConfig']['MAX_FILE_PATHS']+')');if(!_0x58381c[_0xb82047(0x17f)]||!Array['isArray'](_0x58381c[_0xb82047(0x17f)])||_0x58381c[_0xb82047(0x17f)]['length']===0x0)_0x203afc['push']('At\x20least\x20one\x20search\x20term\x20is\x20required');else _0x58381c[_0xb82047(0x17f)][_0xb82047(0xf5)]>this[_0xb82047(0x129)]['MAX_SEARCH_TERMS']&&_0x203afc[_0xb82047(0xfe)](_0xb82047(0x121)+this['seekConfig'][_0xb82047(0x104)]+')');if(_0x58381c[_0xb82047(0x17f)]&&Array['isArray'](_0x58381c['searchTerms']))for(const [_0x569052,_0x5be664]of _0x58381c['searchTerms']['entries']()){(typeof _0x5be664!=='string'||_0x5be664['trim']()['length']===0x0)&&_0x203afc[_0xb82047(0xfe)]('Search\x20term\x20'+(_0x569052+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string');}if(_0x58381c[_0xb82047(0x140)]&&Array[_0xb82047(0x128)](_0x58381c[_0xb82047(0x140)]))for(const [_0x1284af,_0x4f221c]of _0x58381c[_0xb82047(0x140)][_0xb82047(0x131)]()){(typeof _0x4f221c!=='string'||_0x4f221c[_0xb82047(0x175)]()[_0xb82047(0xf5)]===0x0)&&_0x203afc['push']('File\x20path\x20'+(_0x1284af+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string'),_0x4f221c['includes']('..')&&_0x203afc[_0xb82047(0xfe)](_0xb82047(0x181)+(_0x1284af+0x1)+_0xb82047(0x11a));}return{'valid':_0x203afc[_0xb82047(0xf5)]===0x0,'errors':_0x203afc};}async['execute'](_0x15bd31,_0x4bbc22){const _0x59f349=a0_0x1dfe8e,{filePaths:_0x317ebb,searchTerms:_0x3066cd}=_0x15bd31,{projectDir:_0x11d0fe,agentId:_0x2a0e19,directoryAccess:_0x5052b2}=_0x4bbc22;let _0x220f6b=_0x11d0fe||process[_0x59f349(0x14c)](),_0x963e64=[_0x220f6b];_0x5052b2&&_0x5052b2[_0x59f349(0x13e)]&&(_0x220f6b=_0x5052b2[_0x59f349(0x13e)],_0x963e64=this[_0x59f349(0x122)](_0x5052b2),this['logger']?.['info']('Using\x20agent\x20configured\x20directory\x20access',{'workingDirectory':_0x5052b2['workingDirectory'],'totalAccessibleDirs':_0x963e64['length'],'readOnlyDirs':_0x5052b2[_0x59f349(0x133)]?.['length']||0x0,'writeEnabledDirs':_0x5052b2['writeEnabledDirectories']?.['length']||0x0,'agentId':_0x2a0e19}));if(!_0x220f6b)throw new Error(_0x59f349(0x149));this['logger']?.['info']('Executing\x20seek\x20tool',{'filePathCount':_0x317ebb['length'],'searchTermCount':_0x3066cd['length'],'workingDirectory':_0x220f6b,'accessibleDirectories':_0x963e64['length'],'agentId':_0x2a0e19});try{const _0x30ada8=await this[_0x59f349(0x17d)](_0x317ebb,_0x220f6b,_0x5052b2?_0x963e64:null),_0x41b4a4=_0x30ada8[_0x59f349(0x10b)],_0x4fe16b=_0x30ada8['notFound'];if(_0x41b4a4[_0x59f349(0xf5)]>this['seekConfig']['MAX_FILES_PER_SEARCH'])return{'success':![],'error':_0x59f349(0x16a)+_0x41b4a4[_0x59f349(0xf5)]+').\x20Maximum\x20is\x20'+this[_0x59f349(0x129)]['MAX_FILES_PER_SEARCH']+_0x59f349(0x173),'filesResolved':_0x41b4a4[_0x59f349(0xf5)],'filesNotFound':_0x4fe16b['length']};const _0x43dbde=await this['searchFiles'](_0x41b4a4,_0x3066cd,_0x220f6b),_0x1e8fd6=this[_0x59f349(0x15b)](_0x43dbde[_0x59f349(0x13b)],_0x43dbde['errorFiles'],_0x4fe16b,_0x41b4a4[_0x59f349(0xf5)]);return{'success':!![],'filesSearched':_0x41b4a4['length'],'filesNotFound':_0x4fe16b['length'],'filesWithErrors':_0x43dbde['errorFiles']['length'],'totalMatches':_0x43dbde['matches'][_0x59f349(0xf5)],'matchesByTerm':_0x43dbde['matchesByTerm'],'formattedResults':_0x1e8fd6,'toolUsed':'seek'};}catch(_0x280de0){this[_0x59f349(0x161)]?.['error'](_0x59f349(0x157),{'error':_0x280de0[_0x59f349(0x116)]});throw _0x280de0;}}['getAllAccessibleDirectories'](_0x3a83ea){const _0x4ad079=a0_0x1dfe8e,_0x265b84=new Set();_0x3a83ea[_0x4ad079(0x13e)]&&_0x265b84['add'](_0x3a83ea[_0x4ad079(0x13e)]);if(_0x3a83ea[_0x4ad079(0x133)]&&Array[_0x4ad079(0x128)](_0x3a83ea[_0x4ad079(0x133)]))for(const _0x1e3c01 of _0x3a83ea[_0x4ad079(0x133)]){_0x265b84['add'](_0x1e3c01);}if(_0x3a83ea[_0x4ad079(0x167)]&&Array[_0x4ad079(0x128)](_0x3a83ea[_0x4ad079(0x167)]))for(const _0x3164ca of _0x3a83ea['writeEnabledDirectories']){_0x265b84['add'](_0x3164ca);}return Array[_0x4ad079(0xf8)](_0x265b84);}[a0_0x1dfe8e(0x11c)](_0x50e144,_0x158b6f){const _0x2888f8=a0_0x1dfe8e;for(const _0x277239 of _0x158b6f){const _0x39f2a9=a0_0x4e1667[_0x2888f8(0x16e)](_0x277239,_0x50e144),_0x5bb586=!_0x39f2a9[_0x2888f8(0x159)]('..')&&!a0_0x4e1667[_0x2888f8(0x132)](_0x39f2a9);if(_0x5bb586)return!![];}return![];}async['resolveFilePaths'](_0x33df95,_0x454847,_0x43f6b6=null){const _0x303047=a0_0x1dfe8e,_0x112b21={'found':[],'notFound':[]};for(const _0x28eaa2 of _0x33df95){const _0x97fc7=_0x28eaa2[_0x303047(0x175)]();if(_0x97fc7['includes']('*')){const _0x1938b7=await this[_0x303047(0x144)](_0x97fc7,_0x454847);_0x1938b7['found'][_0x303047(0xf5)]>0x0?_0x112b21[_0x303047(0x10b)]['push'](..._0x1938b7['found']):_0x112b21[_0x303047(0x134)]['push'](_0x97fc7+'\x20(no\x20matching\x20files)');}else{const _0x415f28=a0_0x4e1667['isAbsolute'](_0x97fc7)?_0x97fc7:a0_0x4e1667['resolve'](_0x454847,_0x97fc7);if(_0x43f6b6&&_0x43f6b6['length']>0x0){if(!this['isPathAccessible'](_0x415f28,_0x43f6b6)){_0x112b21[_0x303047(0x134)][_0x303047(0xfe)](_0x97fc7+_0x303047(0x178));continue;}}try{const _0x35c0b3=await a0_0x3b0ed1['stat'](_0x415f28);if(_0x35c0b3['isFile']())_0x112b21['found']['push'](_0x415f28);else _0x35c0b3[_0x303047(0x15c)]()?_0x112b21[_0x303047(0x134)][_0x303047(0xfe)](_0x97fc7+_0x303047(0x155)):_0x112b21[_0x303047(0x134)][_0x303047(0xfe)](_0x97fc7+'\x20(not\x20a\x20regular\x20file)');}catch(_0x511869){_0x112b21[_0x303047(0x134)][_0x303047(0xfe)](_0x97fc7+'\x20('+(_0x511869['code']||_0x511869['message'])+')');}}}return _0x112b21;}async['expandGlobPattern'](_0x281920,_0x58434b){const _0x5d94ff=a0_0x1dfe8e,_0x28ba1b={'found':[]};if(_0x281920['includes'](_0x5d94ff(0x16b))){const [_0x315a34,_0x4eb8cc]=_0x281920['split']('**/'),_0x1a313d=a0_0x4e1667[_0x5d94ff(0xfd)](_0x58434b,_0x315a34);try{const _0x514ac6=await a0_0x3b0ed1['stat'](_0x1a313d);_0x514ac6[_0x5d94ff(0x15c)]()&&await this[_0x5d94ff(0x118)](_0x1a313d,_0x4eb8cc,_0x28ba1b['found'],0x0,this[_0x5d94ff(0x129)][_0x5d94ff(0x179)]);}catch(_0x4ebd40){this[_0x5d94ff(0x161)]?.['warn'](_0x5d94ff(0x112),{'basePath':_0x1a313d,'error':_0x4ebd40['message']});}}else{if(_0x281920[_0x5d94ff(0x16c)]('*')){const _0x115957=a0_0x4e1667[_0x5d94ff(0x108)](a0_0x4e1667['resolve'](_0x58434b,_0x281920)),_0x1bb78b=a0_0x4e1667[_0x5d94ff(0x163)](_0x281920);try{const _0x225ad3=await a0_0x3b0ed1[_0x5d94ff(0x10e)](_0x115957);if(_0x225ad3['isDirectory']()){const _0x3a6d28=await a0_0x3b0ed1['readdir'](_0x115957);for(const _0x458f1f of _0x3a6d28){const _0x520f4d=a0_0x4e1667['join'](_0x115957,_0x458f1f);try{const _0x3e9691=await a0_0x3b0ed1['stat'](_0x520f4d);_0x3e9691['isFile']()&&this['matchesPattern'](_0x458f1f,_0x1bb78b)&&_0x28ba1b['found'][_0x5d94ff(0xfe)](_0x520f4d);}catch(_0x3fe7d8){continue;}}}}catch(_0x5467e5){this[_0x5d94ff(0x161)]?.['warn'](_0x5d94ff(0x10a),{'dirPath':_0x115957,'error':_0x5467e5['message']});}}}return _0x28ba1b;}async[a0_0x1dfe8e(0x118)](_0x33084b,_0x1dd863,_0x2a65f6,_0x91f1c1,_0x439563){const _0x18b09b=a0_0x1dfe8e;if(_0x91f1c1>=_0x439563){this[_0x18b09b(0x161)]?.[_0x18b09b(0x13f)]('Maximum\x20directory\x20depth\x20reached',{'dir':_0x33084b,'currentDepth':_0x91f1c1});return;}try{const _0xdc1ff8=await a0_0x3b0ed1['readdir'](_0x33084b,{'withFileTypes':!![]});for(const _0x443b88 of _0xdc1ff8){if(_0x443b88['name'][_0x18b09b(0x159)]('.'))continue;const _0x40b23e=a0_0x4e1667['join'](_0x33084b,_0x443b88['name']);try{if(_0x443b88[_0x18b09b(0x15c)]()){if(this['shouldSkipDirectory'](_0x443b88[_0x18b09b(0x137)]))continue;await this['findFilesRecursively'](_0x40b23e,_0x1dd863,_0x2a65f6,_0x91f1c1+0x1,_0x439563);}else{if(_0x443b88[_0x18b09b(0x16f)]()){if(this['matchesPattern'](_0x443b88[_0x18b09b(0x137)],_0x1dd863)){_0x2a65f6['push'](_0x40b23e);if(_0x2a65f6[_0x18b09b(0xf5)]>=this['seekConfig']['MAX_FILES_PER_SEARCH'])return;}}}}catch(_0x334ccc){continue;}}}catch(_0x4c9c3e){this[_0x18b09b(0x161)]?.[_0x18b09b(0x13f)]('Error\x20reading\x20directory',{'dir':_0x33084b,'error':_0x4c9c3e[_0x18b09b(0x116)]});}}['matchesPattern'](_0x5652de,_0x2d2031){const _0x8d51c=a0_0x1dfe8e,_0x328acb=_0x2d2031['split']('*')['map'](_0x1a13a4=>this['escapeRegExp'](_0x1a13a4))[_0x8d51c(0x15f)]('.*'),_0x55b3a9=new RegExp('^'+_0x328acb+'$','i');return _0x55b3a9[_0x8d51c(0x14f)](_0x5652de);}['escapeRegExp'](_0x181adb){const _0x51dc12=a0_0x1dfe8e;return _0x181adb[_0x51dc12(0x12a)](/[.*+?^${}()|[\]\\]/g,_0x51dc12(0x10d));}[a0_0x1dfe8e(0x11f)](_0x1c9afe){const _0x3b12e6=a0_0x1dfe8e,_0x42568d=new Set([_0x3b12e6(0x138),_0x3b12e6(0x182),_0x3b12e6(0x166),_0x3b12e6(0x147),'coverage','.next',_0x3b12e6(0x162),_0x3b12e6(0x172),_0x3b12e6(0x12e),_0x3b12e6(0x13d),'__pycache__',_0x3b12e6(0x113),_0x3b12e6(0x11e),_0x3b12e6(0x119)]);return _0x42568d[_0x3b12e6(0x101)](_0x1c9afe[_0x3b12e6(0x160)]());}['shouldSkipFile'](_0x3dbb91){const _0x211884=a0_0x1dfe8e,_0x4f193e=a0_0x4e1667[_0x211884(0x111)](_0x3dbb91)['toLowerCase']();return BINARY_EXTENSIONS[_0x211884(0x101)](_0x4f193e);}async[a0_0x1dfe8e(0x14e)](_0x4769b2,_0x28623c,_0x518b86){const _0x2e58bb=a0_0x1dfe8e,_0x5e3176=[],_0x2bf2c8=[];let _0x55d309=0x0;for(const _0x24e5eb of _0x4769b2){if(this['shouldSkipFile'](_0x24e5eb))continue;try{const _0x486a27=await a0_0x3b0ed1['stat'](_0x24e5eb);if(_0x486a27[_0x2e58bb(0x151)]>this[_0x2e58bb(0x129)]['MAX_FILE_SIZE']){_0x2bf2c8['push']({'filePath':a0_0x4e1667[_0x2e58bb(0x16e)](_0x518b86,_0x24e5eb),'error':_0x2e58bb(0x15d)+Math[_0x2e58bb(0x12d)](_0x486a27['size']/(0x400*0x400))+_0x2e58bb(0xfa)+Math['round'](this['seekConfig']['MAX_FILE_SIZE']/(0x400*0x400))+'MB)'});continue;}const _0x5428e7=await this['searchInFile'](_0x24e5eb,_0x28623c,_0x518b86);_0x5e3176['push'](..._0x5428e7),_0x55d309+=_0x5428e7[_0x2e58bb(0xf5)];if(_0x55d309>=this['seekConfig'][_0x2e58bb(0xf6)]){this['logger']?.['warn']('Maximum\x20total\x20matches\x20reached',{'totalMatches':_0x55d309});break;}}catch(_0x3baf70){_0x2bf2c8['push']({'filePath':a0_0x4e1667[_0x2e58bb(0x16e)](_0x518b86,_0x24e5eb),'error':_0x3baf70['message']});}}const _0x59b949={};for(const _0x560efe of _0x5e3176){!_0x59b949[_0x560efe['term']]&&(_0x59b949[_0x560efe['term']]=[]),_0x59b949[_0x560efe['term']][_0x2e58bb(0xfe)]({'filePath':_0x560efe[_0x2e58bb(0x136)],'lineNumber':_0x560efe[_0x2e58bb(0x125)],'lineContent':_0x560efe['lineContent']});}return{'matches':_0x5e3176,'matchesByTerm':_0x59b949,'errorFiles':_0x2bf2c8};}async['searchInFile'](_0x1ccd34,_0x3d5d04,_0x19721c){const _0x51f0c5=a0_0x1dfe8e,_0x139107=[];let _0x27193f=0x0;try{const _0x3bbae3=await a0_0x3b0ed1['readFile'](_0x1ccd34,FILE_ENCODING),_0x3ea977=_0x3bbae3[_0x51f0c5(0x12c)]('\x0a'),_0x383288=a0_0x4e1667[_0x51f0c5(0x16e)](_0x19721c,_0x1ccd34);for(let _0x10afb0=0x0;_0x10afb0<_0x3ea977['length'];_0x10afb0++){const _0x200648=_0x3ea977[_0x10afb0],_0x5de03d=_0x10afb0+0x1;for(const _0x59d9d4 of _0x3d5d04){if(_0x200648[_0x51f0c5(0x16c)](_0x59d9d4)){let _0x7381b7=_0x200648;if(_0x7381b7[_0x51f0c5(0xf5)]>this[_0x51f0c5(0x129)][_0x51f0c5(0x148)]){const _0x1e3ae3=_0x7381b7[_0x51f0c5(0x120)](_0x59d9d4),_0x8210c6=Math[_0x51f0c5(0x106)](0x0,_0x1e3ae3-0x32),_0x43b1fa=Math['min'](_0x7381b7[_0x51f0c5(0xf5)],_0x1e3ae3+_0x59d9d4[_0x51f0c5(0xf5)]+0x32);_0x7381b7=(_0x8210c6>0x0?'...':'')+_0x7381b7['substring'](_0x8210c6,_0x43b1fa)+(_0x43b1fa<_0x7381b7[_0x51f0c5(0xf5)]?_0x51f0c5(0x17c):'');}_0x139107['push']({'term':_0x59d9d4,'filePath':_0x383288,'lineNumber':_0x5de03d,'lineContent':_0x7381b7['trim']()}),_0x27193f++;if(_0x27193f>=this[_0x51f0c5(0x129)][_0x51f0c5(0x15e)])return this[_0x51f0c5(0x161)]?.[_0x51f0c5(0x13f)](_0x51f0c5(0x169),{'filePath':_0x383288}),_0x139107;}}}}catch(_0x144a19){throw new Error(_0x51f0c5(0x126)+_0x144a19[_0x51f0c5(0x116)]);}return _0x139107;}[a0_0x1dfe8e(0x15b)](_0x3129f6,_0x4640ba,_0x2e2572,_0x4e0053){const _0x16cdb6=a0_0x1dfe8e;let _0x2ffa3f='';if(_0x2e2572[_0x16cdb6(0xf5)]>0x0){_0x2ffa3f+='FILES\x20NOT\x20FOUND:\x0a';for(const _0x4faa70 of _0x2e2572){_0x2ffa3f+=_0x16cdb6(0x13a)+_0x4faa70+'\x0a';}_0x2ffa3f+='\x0a';}if(_0x4640ba[_0x16cdb6(0xf5)]>0x0){_0x2ffa3f+=_0x16cdb6(0x10c);for(const _0x171749 of _0x4640ba){_0x2ffa3f+=_0x16cdb6(0x13a)+_0x171749['filePath']+':\x20'+_0x171749[_0x16cdb6(0x102)]+'\x0a';}_0x2ffa3f+='\x0a';}if(_0x3129f6['length']===0x0)_0x2ffa3f+=_0x16cdb6(0x14b)+_0x4e0053+_0x16cdb6(0x180);else{const _0x289fea={};for(const _0x2e2b55 of _0x3129f6){!_0x289fea[_0x2e2b55['term']]&&(_0x289fea[_0x2e2b55['term']]=[]),_0x289fea[_0x2e2b55['term']][_0x16cdb6(0xfe)](_0x2e2b55);}_0x2ffa3f+='SEARCH\x20RESULTS\x20('+_0x3129f6['length']+'\x20total\x20matches\x20in\x20'+_0x4e0053+_0x16cdb6(0x158);for(const [_0x4b01f3,_0x1f6a0d]of Object[_0x16cdb6(0x131)](_0x289fea)){_0x2ffa3f+=_0x16cdb6(0x15a)+_0x4b01f3+'\x22\x20('+_0x1f6a0d[_0x16cdb6(0xf5)]+'\x20matches)\x0a';for(const _0x34fbc0 of _0x1f6a0d){_0x2ffa3f+='\x20\x20'+_0x34fbc0[_0x16cdb6(0x136)]+':'+_0x34fbc0[_0x16cdb6(0x125)]+_0x16cdb6(0x183)+_0x34fbc0['lineContent']+'\x0a';}_0x2ffa3f+='\x0a';}_0x3129f6[_0x16cdb6(0xf5)]>=this[_0x16cdb6(0x129)][_0x16cdb6(0xf6)]&&(_0x2ffa3f+=_0x16cdb6(0x117)+this[_0x16cdb6(0x129)]['MAX_TOTAL_MATCHES']+_0x16cdb6(0x109));}return _0x2ffa3f['trim']();}['getSupportedExtensions'](){const _0x52bef1=a0_0x1dfe8e;return[_0x52bef1(0x135),'.jsx','.ts',_0x52bef1(0x130),'.json',_0x52bef1(0xf4),_0x52bef1(0x11d),_0x52bef1(0x105),'.scss',_0x52bef1(0x14d),'.less','.md','.txt','.log','.py',_0x52bef1(0x110),'.java','.go','.rs','.c',_0x52bef1(0x127),'.h',_0x52bef1(0xff),'.sh',_0x52bef1(0x153),'.zsh','.yml','.yaml','.toml','.ini',_0x52bef1(0x142)];}async['cleanup'](_0x3d3245){const _0x31aed7=a0_0x1dfe8e;this['logger']?.[_0x31aed7(0x143)](_0x31aed7(0x124),{'operationId':_0x3d3245});}}export default SeekTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x19f3ef=a0_0x4f45;(function(_0x3c66a8,_0x3882a5){const _0x35f33e=a0_0x4f45,_0x19cffe=_0x3c66a8();while(!![]){try{const _0x17bf6d=parseInt(_0x35f33e(0x133))/0x1+parseInt(_0x35f33e(0x164))/0x2*(-parseInt(_0x35f33e(0x12c))/0x3)+parseInt(_0x35f33e(0x109))/0x4+parseInt(_0x35f33e(0x14f))/0x5*(-parseInt(_0x35f33e(0x15e))/0x6)+parseInt(_0x35f33e(0x195))/0x7*(-parseInt(_0x35f33e(0x17a))/0x8)+parseInt(_0x35f33e(0x101))/0x9+parseInt(_0x35f33e(0x17c))/0xa*(parseInt(_0x35f33e(0x141))/0xb);if(_0x17bf6d===_0x3882a5)break;else _0x19cffe['push'](_0x19cffe['shift']());}catch(_0x1bcddd){_0x19cffe['push'](_0x19cffe['shift']());}}}(a0_0x41c6,0x6693b));import{BaseTool}from'./baseTool.js';import a0_0x880dc2 from'../utilities/tagParser.js';function a0_0x4f45(_0x308383,_0x554b75){_0x308383=_0x308383-0xea;const _0x41c639=a0_0x41c6();let _0x4f4525=_0x41c639[_0x308383];if(a0_0x4f45['cZxBnF']===undefined){var _0x192f6e=function(_0x45a20b){const _0x17a412='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x880dc2='',_0x44fc46='';for(let _0x52df5c=0x0,_0x3a4aba,_0x3533e3,_0x49ee77=0x0;_0x3533e3=_0x45a20b['charAt'](_0x49ee77++);~_0x3533e3&&(_0x3a4aba=_0x52df5c%0x4?_0x3a4aba*0x40+_0x3533e3:_0x3533e3,_0x52df5c++%0x4)?_0x880dc2+=String['fromCharCode'](0xff&_0x3a4aba>>(-0x2*_0x52df5c&0x6)):0x0){_0x3533e3=_0x17a412['indexOf'](_0x3533e3);}for(let _0x49b4e6=0x0,_0x3cb660=_0x880dc2['length'];_0x49b4e6<_0x3cb660;_0x49b4e6++){_0x44fc46+='%'+('00'+_0x880dc2['charCodeAt'](_0x49b4e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44fc46);};a0_0x4f45['wBNGMO']=_0x192f6e,a0_0x4f45['xEpEUO']={},a0_0x4f45['cZxBnF']=!![];}const _0xded05c=_0x41c639[0x0],_0x47f1f8=_0x308383+_0xded05c,_0xe3f17=a0_0x4f45['xEpEUO'][_0x47f1f8];return!_0xe3f17?(_0x4f4525=a0_0x4f45['wBNGMO'](_0x4f4525),a0_0x4f45['xEpEUO'][_0x47f1f8]=_0x4f4525):_0x4f4525=_0xe3f17,_0x4f4525;}import a0_0x44fc46 from'../utilities/directoryAccessManager.js';import a0_0x52df5c from'fs/promises';import a0_0x3a4aba from'path';import a0_0x3533e3 from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x41c6(){const _0x3153bd=['CMvHC29U','yw5HBhLZAxndywnOzq','C2XPy2u','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfUywX5EMu','q1jjveLdquW','BwvZC2fNzq','AgfZ','CgfJA2fNzs5QC29U','DgvYCMfMB3jT','C3rYAw5N','Dhj1BMnHDgvK','nti3mLDerKPQBa','BwfW','mtbOyuHKu1q','Cgf0DgvYBG','vfLqrvnduKLqva','Bwf4lwvYCM9YCW','v0fstKLorW','lNrM','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','zgv0zwn0rNjHBwv3B3jR','D3jPDguTzMLSzq','y29UzMLN','qu5btfLtsvnFveLnru9vva','ChvZAa','zxjYB3jZqNLdyxrLz29YEq','yNvPBgq','BMfTzq','zg9JA2vYlwnVBxbVC2uUEwfTBa','Dg90ywXdCML0AwnHBa','rLjbtuvxt1jlx01btKLgrvnuuW','y3nZ','tufyx0zjtevtx1bfuL9cqvrdsa','Bwv0CMLJCW','AxngAwXL','igj5DgvZicHTyxGG','CMf3q29UDgvUDa','mJeZnxzeqw11AG','AxneAxjLy3rVCNK','AM9PBG','B25qCM9NCMvZCW','tufyx0zjtevFu0LArv9gt1jFqu5btfLtsvm','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzVCM1HDa','C2vJDxjPDhLty2fUuhjVAMvJDa','zMLUzenVBMzPz0zPBgvZ','oIb0ExbLigLZihjLCxvPCMvK','D2fYBG','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','Aw5MBW','lMvZBgLUDhjJlMPZB24','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5Fq','z2v0u3vWCg9YDgvKqwn0Aw9UCW','Dw5RBM93BG','CgfYywXSzwXcyxrJAgvZ','qwn0Aw9Uia','Dg90ywXbBMfSExnPC1rPBwu','Bwf4rMLSzvnPEMu','CgfYC2vqyxjHBwv0zxjZ','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','Dg90ywXbBMfSExnLCW','yw5HBhL6zuzPBgu','B2jQzwn0','DhLWzxnJCMLWDa','zMLSzxm','y3DK','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','DgLTzw91Da','lNLTBa','C3rHCNrZv2L0Aa','CgfYC2u','zgv2rgvWzw5Kzw5JAwvZ','y3jPDgLJywW','v3jPDguGywnJzxnZigrLBMLLzdOG','DMfSAwrHDgvszwfKqwnJzxnZ','yw5HBhL6zq','BgvUz3rO','zxHLyW','z2v0uhjLDhrPzxjgB3jTyxr0zxi','zM9YBwf0DgvYCW','lMPZB24','zMLSDgvY','z2v0u2vJDxjPDhLbBMfSExPLCG','Dg90ywXjBMzV','yw5HBhL6zs1WCM9Qzwn0','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','u2vJDxjPDhKGC2nHBM5PBMCGB25SEsbZDxbWB3j0CYbkyxzHu2nYAxb0lcbuExbLu2nYAxb0lcbHBMqGuhL0Ag9UigzPBgvZ','D3jPDgvgAwXL','lI4Vyw5HBhL6zxjZl0PHDMfty3jPChrbBMfSExPLCI5QCW','zgvWzw5Kzw5JAwvZ','AxnbyNnVBhv0zq','AxnbC3LUyW','CMvXDwLYzxnqCM9Qzwn0','AZHZ','y2fJAgvfEhbPCNK','ywXSB3DLza','zxH0BMfTzq','su5gtW','C3vTBwfYEq','rvHuru5tsu9ox1rpx0XbtKDvquDf','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','z2v0rvnmAw50qw5HBhL6zxi','z2v0q29UzMLNvMfSAwrHDg9Y','qw5HBhL6Aw5NigjHDgnO','zgv0zwn0tgfUz3vHz2u','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','DhnJB25MAwCUANnVBG','zgv0zwn0uhL0Ag9UrNjHBwv3B3jR','C3bSAxq','Bwf0y2G','sKfwqvnduKLqva','DhjPBq','BgfUz3vHz2u','u0vwrvjjvfK','DMfSAwrHDgvdB25MAwDgAwXL','Aw5JBhvKzxm','y2XLyxi','C2TPCfrLC3rgAwXLCW','lNbYzxr0AwvYCMm','lMDPDa','mZu5ode2nfrxANbmvG','u0ntuW','zMLSzs1WyxrO','y2HHBMDLCW','BNbTlwf1zgL0','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','C2v0','ChL0Ag9U','mJiXnZi5mLzhCwDWDW','rMLSzsb0B28GBgfYz2u6ia','zxjYB3i','zgLZDa','zgv0zwn0sLngCMfTzxDVCMS','zgvWzw5Kzw5JEs1Zy2fU','C2TPCc10zxn0lwzPBgvZ','zgLNzxn0','y2fJAgviAxrZ','zMLSzxncEuXHBMD1ywDL','CMvHzezPBgu','C3vIC3rYAw5N','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzPEa','zgLYzwn0B3j5','BxrPBwu','Dhj1zq','zMLSzxnbBMfSExPLza','C2vJDxjPDhLty2fUrMLSzq','zM9YBwf0DgvK','zMLSzvbHDgG','lI4Vyw5HBhL6zxjZl0ntu0fUywX5EMvYlMPZ','lMDPDgH1yG','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','zw5HyMXLq2fJAgu','zM9YBwf0','Agv4','DxnLq29UDgvUDeHHC2G','icHTyxGG','AMf2yxnJCMLWDa','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4G','Bwf4rMLSzxnqzxjcyxrJAa','D2fYBMLUz3m','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','zgvIDwC','y3jLyxrLuMvSyxrPDMvqyxrO','ndq2mxPWA05rsq','C2v2zxjPDhK','rMLSzsb0ExbLig5VDcbZDxbWB3j0zwqGyNKGuhjLDhrPzxi','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','yw5HBhL6zvbYB2PLy3q','C2vJDxjPDhKTC2nHBG','ihnLy29UzhmklsbpBMX5ihn1ChbVCNrZigXHBMD1ywDLCYb3AxrOigj1AwX0lwLUigfUywX5EMvYCWOGicaG','nZCXmdnkzMrXuw4','DgLTzxn0yw1W','rMfPBgvKihrVigfUywX5EMuG','Dg9ju09tDhjPBMC','ufLuse9o','zML4','lI4Vyw5HBhL6zxjZl1r5Cgvty3jPChrbBMfSExPLCI5QCW','CgfYC2vbDhrYAwj1DgvZ','y29UDgvUDa','yw5HBhL6zxjZ','yxjYyxK','DhLWzq','u3rHDgLJigfUywX5C2LZigfJDgLVBIbMywLSzwq','ywXS','mti2nZeWodDHtNjOtKm','C2vJDxjPDhK','C2L6zq','DMfSAwrHDguTy29UzMLN','CM91BMq','BgLUzxndAgfUz2vK','Aw5JBhvKzvDHCM5PBMDZ','DMfSAwrHDg9Y','Bwf4rxjYB3jZ','ChjLDhrPzxi','BM9Kzv9TB2r1BgvZ','ru5bqKXfx0nbq0Hf','tefor1vbr0u','DMfSAwrHDgvxCML0zufJy2vZCW','mZaXmejrD2PzzW','zM9YrwfJAa','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','igzPBgvZihbLCIbVCgvYyxrPB24klsbbBMfSExnPCYb0Aw1LB3v0oIa','zxjYB3jZ','BM93','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','DxrMltG','zMXVB3i','A3vIzxjUzxrLCW','zxHLy3v0zq','lNrMDMfYCW','DxbKyxrLu3vTBwfYEq','zg9JA2vYlwnVBxbVC2uUEw1S','y2f0zwDVCNK','nZiYngrvEMr1Cq','Dg9mB3DLCKnHC2u','uMvHzcbHy2nLC3mGzgvUAwvKoIa','rvjst1i','ywn0Aw9UCW','Bg9Nz2vY','mteYnMndrgPzEq','zw50CMLLCW','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','Bwf4ugfYywXSzwXgAwXLCW','CMvZB2X2zq','rMLSzsbMB3jTyxr0zwqGyw5KihDYAxr0zw4','zML4rMLSzq','rMfPBgvKihrVihbHCNnLihn0yxrPyYbHBMfSExnPCYbWyxjHBwv0zxjZoIa','vxnPBMCGy2fJAgvKigfUywX5C2LZihjLC3vSDa','Aw5JBhvKzs13yxjUAw5NCW','zML4zwq'];a0_0x41c6=function(){return _0x3153bd;};return a0_0x41c6();}class StaticAnalysisTool extends BaseTool{constructor(_0x49ee77={},_0x49b4e6=null){const _0x4bbf60=a0_0x4f45;super(_0x49ee77,_0x49b4e6),this[_0x4bbf60(0x1cb)]=!![],this[_0x4bbf60(0x1ca)]=![],this[_0x4bbf60(0x1b2)]=_0x49ee77[_0x4bbf60(0x1b2)]||STATIC_ANALYSIS[_0x4bbf60(0x187)],this['maxConcurrentOperations']=_0x49ee77['maxConcurrentOperations']||0x1,this[_0x4bbf60(0x1a8)]=_0x49ee77['maxFileSize']||STATIC_ANALYSIS[_0x4bbf60(0x199)],this[_0x4bbf60(0x127)]=_0x49ee77[_0x4bbf60(0x127)]||STATIC_ANALYSIS[_0x4bbf60(0x190)],this[_0x4bbf60(0x120)]=_0x49ee77[_0x4bbf60(0x120)]!==![]&&STATIC_ANALYSIS[_0x4bbf60(0x14c)],this['analysisCache']=new Map(),this[_0x4bbf60(0x1cd)]=STATIC_ANALYSIS['CACHE_DURATION'],this['parallelAnalysis']=_0x49ee77['parallelAnalysis']!==![],this[_0x4bbf60(0x167)]=_0x49ee77['maxParallelFiles']||0xa,this[_0x4bbf60(0x123)]=_0x49ee77[_0x4bbf60(0x123)]!==![],this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x4bbf60(0x155)]=new a0_0x44fc46(_0x49ee77,_0x49b4e6),this[_0x4bbf60(0x13c)]={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}['getDescription'](){const _0x4a6a9d=a0_0x4f45;return'\x0aStatic\x20Code\x20Analysis\x20Tool:\x20Analyze\x20code\x20files\x20for\x20errors\x20without\x20execution\x0a\x0aThis\x20tool\x20performs\x20static\x20analysis\x20on\x20code\x20files\x20to\x20find\x20syntax\x20errors,\x20type\x20errors,\x20import\x20issues,\x20and\x20other\x20problems\x20without\x20running\x20the\x20code.\x20It\x20uses\x20official\x20language\x20parsers\x20for\x20accurate\x20results.\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Python\x20(.py)\x0a-\x20CSS\x20(.css)\x0a-\x20SCSS\x20(.scss,\x20.sass)\x0a-\x20LESS\x20(.less)\x0a\x0aUSAGE\x20-\x20XML\x20FORMAT:\x0a\x0aSingle\x20File\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a[/tool]\x0a\x0aMultiple\x20Files\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/utils.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/components/Button.jsx\x22\x20/>\x0a[/tool]\x0a\x0aProject-Wide\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22src\x22\x20pattern=\x22**/*.js\x22\x20/>\x0a[/tool]\x0a\x0aAuto-Fix\x20Code\x20Issues:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<fix\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aFormat\x20Code:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<format\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aUSAGE\x20-\x20JSON\x20FORMAT:\x0a\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze\x22,\x0a\x20\x20\x20\x20\x20\x20\x22filePath\x22:\x20\x22src/index.js\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze-project\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22pattern\x22:\x20\x22**/*.{js,ts,py}\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20file-path:\x20Path\x20to\x20file\x20to\x20analyze\x20(for\x20single\x20file)\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(for\x20project-wide)\x0a-\x20pattern:\x20Glob\x20pattern\x20for\x20files\x20to\x20include\x20(optional,\x20defaults\x20to\x20language-specific\x20patterns)\x0a-\x20include-warnings:\x20Include\x20warnings\x20in\x20results\x20(true/false,\x20default:\x20true)\x0a-\x20max-errors:\x20Maximum\x20number\x20of\x20errors\x20to\x20return\x20(default:\x20all)\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20structured\x20error\x20information:\x0a-\x20file:\x20File\x20path\x0a-\x20line:\x20Line\x20number\x0a-\x20column:\x20Column\x20number\x0a-\x20severity:\x20critical\x20|\x20error\x20|\x20warning\x20|\x20info\x0a-\x20rule:\x20Rule\x20identifier\x0a-\x20message:\x20Human-readable\x20description\x0a-\x20category:\x20syntax\x20|\x20type\x20|\x20import\x20|\x20style\x20|\x20security\x20|\x20performance\x20|\x20best_practice\x0a-\x20fixable:\x20Whether\x20error\x20can\x20be\x20auto-fixed\x0a-\x20suggestion:\x20Fix\x20suggestion\x20(if\x20applicable)\x0a-\x20remediation:\x20Security\x20remediation\x20advice\x20(for\x20security\x20issues)\x0a\x0aDETECTION:\x0a-\x20Language:\x20Automatically\x20detected\x20from\x20file\x20extension\x0a-\x20Framework:\x20Detected\x20from\x20package.json,\x20requirements.txt,\x20etc.\x0a-\x20Context:\x20Project\x20structure\x20analyzed\x20for\x20better\x20accuracy\x0a\x0aEXAMPLES:\x0a\x0aFind\x20all\x20errors\x20in\x20a\x20JavaScript\x20file:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aAnalyze\x20TypeScript\x20with\x20type\x20checking:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/types.ts\x22\x20/>\x0a[/tool]\x0a\x0aCheck\x20all\x20Python\x20files\x20in\x20a\x20directory:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22backend\x22\x20pattern=\x22**/*.py\x22\x20/>\x0a[/tool]\x0a\x0aLIMITATIONS:\x0a-\x20File\x20size\x20limit:\x20'+Math[_0x4a6a9d(0x145)](this[_0x4a6a9d(0x1a8)]/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this[_0x4a6a9d(0x127)]+_0x4a6a9d(0x152)+this[_0x4a6a9d(0x1b2)]/0x3e8+_0x4a6a9d(0x132);}[a0_0x19f3ef(0x1a9)](_0x3cb660){const _0x450571=a0_0x19f3ef;try{const _0x1c748c={},_0x160fb1=[];this['logger']?.[_0x450571(0x12a)]('StaticAnalysis\x20tool\x20parsing\x20parameters',{'contentLength':_0x3cb660['length'],'contentPreview':_0x3cb660[_0x450571(0x114)](0x0,0xc8)});const _0x4a42c0=/<analyze\s+(.+?)\/>/g;let _0x51bcda;while((_0x51bcda=_0x4a42c0['exec'](_0x3cb660))!==null){const _0x21062c=_0x51bcda[0x1][_0x450571(0xf8)](),_0xc9e977=new a0_0x880dc2(),_0x4e6a42=_0xc9e977['parseAttributes'](_0x21062c),_0x5264ab={'type':_0x450571(0x1ba),..._0x4e6a42};_0x5264ab['file-path']&&(_0x5264ab['filePath']=_0x5264ab[_0x450571(0x103)],delete _0x5264ab[_0x450571(0x103)]),_0x5264ab['include-warnings']&&(_0x5264ab[_0x450571(0x147)]=_0x5264ab[_0x450571(0x16d)]===_0x450571(0x118),delete _0x5264ab['include-warnings']),_0x5264ab['max-errors']&&(_0x5264ab[_0x450571(0x149)]=parseInt(_0x5264ab['max-errors'],0xa),delete _0x5264ab[_0x450571(0x17f)]),_0x160fb1[_0x450571(0x188)](_0x5264ab);}const _0x2167f3=/<analyze-project\s+(.+?)\/>/g;while((_0x51bcda=_0x2167f3[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x340b95=_0x51bcda[0x1][_0x450571(0xf8)](),_0x39d276=new a0_0x880dc2(),_0x10d7ef=_0x39d276[_0x450571(0x13a)](_0x340b95),_0x389953={'type':'analyze-project',..._0x10d7ef};_0x389953[_0x450571(0x16d)]&&(_0x389953[_0x450571(0x147)]=_0x389953['include-warnings']===_0x450571(0x118),delete _0x389953[_0x450571(0x16d)]),_0x389953[_0x450571(0x17f)]&&(_0x389953[_0x450571(0x149)]=parseInt(_0x389953['max-errors'],0xa),delete _0x389953['max-errors']),_0x160fb1[_0x450571(0x188)](_0x389953);}const _0x44ec14=/<fix\s+(.+?)\/>/g;while((_0x51bcda=_0x44ec14['exec'](_0x3cb660))!==null){const _0x42aa34=_0x51bcda[0x1][_0x450571(0xf8)](),_0x515da1=new a0_0x880dc2(),_0x53be3c=_0x515da1['parseAttributes'](_0x42aa34),_0x5bc29b={'type':_0x450571(0x138),..._0x53be3c};_0x5bc29b['file-path']&&(_0x5bc29b[_0x450571(0x11c)]=_0x5bc29b[_0x450571(0x103)],delete _0x5bc29b[_0x450571(0x103)]),_0x5bc29b[_0x450571(0x185)]&&(_0x5bc29b['writeFile']=_0x5bc29b['write-file']==='true',delete _0x5bc29b[_0x450571(0x185)]),_0x160fb1[_0x450571(0x188)](_0x5bc29b);}const _0x5b6613=/<format\s+(.+?)\/>/g;while((_0x51bcda=_0x5b6613[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x7a595e=_0x51bcda[0x1][_0x450571(0xf8)](),_0x59757e=new a0_0x880dc2(),_0x324142=_0x59757e['parseAttributes'](_0x7a595e),_0xb58852={'type':'format',..._0x324142};_0xb58852[_0x450571(0x103)]&&(_0xb58852[_0x450571(0x11c)]=_0xb58852['file-path'],delete _0xb58852['file-path']),_0xb58852['write-file']&&(_0xb58852[_0x450571(0x1c6)]=_0xb58852['write-file']===_0x450571(0x118),delete _0xb58852['write-file']),_0x160fb1['push'](_0xb58852);}const _0x5f5bb8=/<security-scan\s+(.+?)\/>/g;while((_0x51bcda=_0x5f5bb8[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x357760=_0x51bcda[0x1][_0x450571(0xf8)](),_0x3b6805=new a0_0x880dc2(),_0x44a622=_0x3b6805[_0x450571(0x13a)](_0x357760),_0x26e19a={'type':_0x450571(0x131),..._0x44a622};_0x26e19a['file-path']&&(_0x26e19a['filePath']=_0x26e19a[_0x450571(0x103)],delete _0x26e19a['file-path']),_0x26e19a[_0x450571(0x10f)]&&(_0x26e19a[_0x450571(0xfe)]=_0x26e19a['skip-test-files']==='true',delete _0x26e19a[_0x450571(0x10f)]),_0x160fb1[_0x450571(0x188)](_0x26e19a);}const _0xe9f07c=/<security-scan-project\s+(.+?)\/>/g;while((_0x51bcda=_0xe9f07c[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x4b9171=_0x51bcda[0x1][_0x450571(0xf8)](),_0x36c487=new a0_0x880dc2(),_0x250148=_0x36c487['parseAttributes'](_0x4b9171),_0x2eae5e={'type':_0x450571(0x12f),..._0x250148};_0x2eae5e[_0x450571(0x10f)]&&(_0x2eae5e[_0x450571(0xfe)]=_0x2eae5e[_0x450571(0x10f)]==='true',delete _0x2eae5e['skip-test-files']),_0x160fb1[_0x450571(0x188)](_0x2eae5e);}const _0x10e086=/<validate-config\s+(.+?)\/>/g;while((_0x51bcda=_0x10e086[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x4000fa=_0x51bcda[0x1]['trim'](),_0x37ea9c=new a0_0x880dc2(),_0x23a287=_0x37ea9c['parseAttributes'](_0x4000fa),_0x251da2={'type':_0x450571(0x144),..._0x23a287};_0x251da2[_0x450571(0x103)]&&(_0x251da2['filePath']=_0x251da2[_0x450571(0x103)],delete _0x251da2['file-path']),_0x160fb1[_0x450571(0x188)](_0x251da2);}const _0x44d6d8=/<validate-config-directory\s+(.+?)\/>/g;while((_0x51bcda=_0x44d6d8[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x20475a=_0x51bcda[0x1]['trim'](),_0x56773e=new a0_0x880dc2(),_0xf99bd7=_0x56773e[_0x450571(0x13a)](_0x20475a),_0x1d3862={'type':'validate-config-directory',..._0xf99bd7};_0x160fb1['push'](_0x1d3862);}return _0x1c748c['actions']=_0x160fb1,_0x1c748c[_0x450571(0x194)]=_0x3cb660[_0x450571(0xf8)](),this[_0x450571(0x163)]?.['debug']('Parsed\x20StaticAnalysis\x20tool\x20parameters',{'totalActions':_0x160fb1[_0x450571(0x1bb)],'actionTypes':_0x160fb1['map'](_0x4353f0=>_0x4353f0['type'])}),_0x1c748c;}catch(_0x30cc51){throw new Error(_0x450571(0x16b)+_0x30cc51[_0x450571(0x174)]);}}[a0_0x19f3ef(0xf2)](){return['actions'];}[a0_0x19f3ef(0x129)](_0x4f2b76){const _0x20d029=a0_0x19f3ef,_0x470530=[];if(!_0x4f2b76[_0x20d029(0x162)]||!Array['isArray'](_0x4f2b76[_0x20d029(0x162)])||_0x4f2b76[_0x20d029(0x162)]['length']===0x0)_0x470530[_0x20d029(0x188)](_0x20d029(0x1b1));else{for(const [_0x337a13,_0x328824]of _0x4f2b76['actions']['entries']()){if(!_0x328824[_0x20d029(0x13e)]){_0x470530[_0x20d029(0x188)](_0x20d029(0x1a6)+(_0x337a13+0x1)+_0x20d029(0x19d));continue;}switch(_0x328824['type']){case _0x20d029(0x1ba):!_0x328824[_0x20d029(0x11c)]&&_0x470530['push'](_0x20d029(0x1a6)+(_0x337a13+0x1)+_0x20d029(0x172));break;case'analyze-project':!_0x328824['directory']&&_0x470530['push']('Action\x20'+(_0x337a13+0x1)+':\x20directory\x20is\x20required\x20for\x20analyze-project');break;case'fix':!_0x328824[_0x20d029(0x11c)]&&_0x470530[_0x20d029(0x188)]('Action\x20'+(_0x337a13+0x1)+_0x20d029(0x115));break;case _0x20d029(0x121):!_0x328824['filePath']&&_0x470530['push'](_0x20d029(0x1a6)+(_0x337a13+0x1)+_0x20d029(0x19a));break;case'security-scan':!_0x328824['filePath']&&_0x470530[_0x20d029(0x188)](_0x20d029(0x1a6)+(_0x337a13+0x1)+_0x20d029(0x182));break;case _0x20d029(0x12f):!_0x328824[_0x20d029(0x116)]&&_0x470530[_0x20d029(0x188)](_0x20d029(0x1a6)+(_0x337a13+0x1)+':\x20directory\x20is\x20required\x20for\x20security-scan-project');break;case _0x20d029(0x144):!_0x328824['filePath']&&_0x470530['push'](_0x20d029(0x1a6)+(_0x337a13+0x1)+_0x20d029(0x106));break;case'validate-config-directory':!_0x328824['directory']&&_0x470530[_0x20d029(0x188)](_0x20d029(0x1a6)+(_0x337a13+0x1)+':\x20directory\x20is\x20required\x20for\x20validate-config-directory');break;default:_0x470530['push']('Action\x20'+(_0x337a13+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x328824[_0x20d029(0x13e)]);}}_0x4f2b76[_0x20d029(0x162)]['length']>this[_0x20d029(0x127)]&&_0x470530[_0x20d029(0x188)]('Too\x20many\x20actions:\x20'+_0x4f2b76[_0x20d029(0x162)][_0x20d029(0x1bb)]+'\x20(max\x20'+this['maxFilesPerBatch']+')');}return{'valid':_0x470530[_0x20d029(0x1bb)]===0x0,'errors':_0x470530};}async[a0_0x19f3ef(0x159)](_0x46d3f2,_0x186432){const _0x5271d4=a0_0x19f3ef,{actions:_0x40547b}=_0x46d3f2,{projectDir:_0x451b30,agentId:_0x258b80,directoryAccess:_0x1a310a}=_0x186432,_0xa110f5=_0x1a310a||this['directoryAccessManager'][_0x5271d4(0x1aa)]({'workingDirectory':_0x451b30||process[_0x5271d4(0x1b0)](),'writeEnabledDirectories':[_0x451b30||process[_0x5271d4(0x1b0)]()],'restrictToProject':!![]}),_0x2eb41c=this['directoryAccessManager']['getWorkingDirectory'](_0xa110f5),_0x3a2b89={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x166926 of _0x40547b){try{let _0x38291f;switch(_0x166926[_0x5271d4(0x13e)]){case'analyze':_0x38291f=await this['analyzeFile'](_0x166926['filePath'],_0x2eb41c,_0xa110f5,_0x166926);_0x38291f&&(_0x3a2b89['files']['push'](_0x38291f),this[_0x5271d4(0x15b)](_0x3a2b89[_0x5271d4(0xea)],_0x38291f));break;case _0x5271d4(0x1c3):const _0x4c8510=await this[_0x5271d4(0x130)](_0x166926[_0x5271d4(0x116)],_0x166926['pattern'],_0x2eb41c,_0xa110f5,_0x166926);_0x3a2b89[_0x5271d4(0x1af)]['push'](..._0x4c8510);for(const _0x5590c0 of _0x4c8510){this['updateSummary'](_0x3a2b89['summary'],_0x5590c0);}break;case'fix':_0x38291f=await this[_0x5271d4(0x16a)](_0x166926['filePath'],_0x2eb41c,_0xa110f5,_0x166926);_0x38291f&&_0x3a2b89[_0x5271d4(0x1af)][_0x5271d4(0x188)](_0x38291f);break;case _0x5271d4(0x121):_0x38291f=await this['formatFile'](_0x166926[_0x5271d4(0x11c)],_0x2eb41c,_0xa110f5,_0x166926);_0x38291f&&_0x3a2b89[_0x5271d4(0x1af)]['push'](_0x38291f);break;case'security-scan':_0x38291f=await this['securityScanFile'](_0x166926['filePath'],_0x2eb41c,_0xa110f5,_0x166926);_0x38291f&&(_0x3a2b89['files']['push'](_0x38291f),this[_0x5271d4(0x15b)](_0x3a2b89['summary'],_0x38291f));break;case'security-scan-project':const _0x5cfbb0=await this[_0x5271d4(0x19b)](_0x166926['directory'],_0x166926[_0x5271d4(0x17d)],_0x2eb41c,_0xa110f5,_0x166926);_0x3a2b89[_0x5271d4(0x1af)]['push'](..._0x5cfbb0);for(const _0x1f292e of _0x5cfbb0){this[_0x5271d4(0x15b)](_0x3a2b89['summary'],_0x1f292e);}break;case _0x5271d4(0x144):_0x38291f=await this['validateConfigFile'](_0x166926['filePath'],_0x2eb41c,_0xa110f5,_0x166926);_0x38291f&&(_0x3a2b89[_0x5271d4(0x1af)][_0x5271d4(0x188)](_0x38291f),this[_0x5271d4(0x15b)](_0x3a2b89[_0x5271d4(0xea)],_0x38291f));break;case'validate-config-directory':const _0x56df5e=await this['validateConfigDirectory'](_0x166926['directory'],_0x2eb41c,_0xa110f5,_0x166926);_0x3a2b89[_0x5271d4(0x1af)]['push'](..._0x56df5e);for(const _0x3938f1 of _0x56df5e){this[_0x5271d4(0x15b)](_0x3a2b89['summary'],_0x3938f1);}break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x166926['type']);}}catch(_0x3b6014){this[_0x5271d4(0x163)]?.[_0x5271d4(0x10b)](_0x5271d4(0x13f),{'action':_0x166926['type'],'error':_0x3b6014['message']}),_0x3a2b89[_0x5271d4(0x1af)][_0x5271d4(0x188)]({'file':_0x166926['filePath']||_0x166926[_0x5271d4(0x116)],'error':_0x3b6014['message'],'success':![]});}}return{'success':!![],'results':_0x3a2b89,'toolUsed':'staticanalysis','performance':this['getPerformanceMetrics']()};}async[a0_0x19f3ef(0x1ac)](_0x4b5be9,_0x540724,_0x41337b,_0x235aff={}){const _0x2e43a3=a0_0x19f3ef,_0x22b83e=a0_0x3a4aba['isAbsolute'](_0x4b5be9)?a0_0x3a4aba['normalize'](_0x4b5be9):a0_0x3a4aba[_0x2e43a3(0x168)](_0x540724,_0x4b5be9),_0x1e4b5d=this['directoryAccessManager'][_0x2e43a3(0x1b9)](_0x22b83e,_0x41337b);if(!_0x1e4b5d[_0x2e43a3(0x1ce)])throw new Error(_0x2e43a3(0x160)+_0x1e4b5d['reason']);try{const _0x1006ca=await a0_0x52df5c['stat'](_0x22b83e);if(_0x1006ca[_0x2e43a3(0x143)]>this['maxFileSize'])throw new Error(_0x2e43a3(0x10a)+_0x1006ca[_0x2e43a3(0x143)]+_0x2e43a3(0x193)+this['maxFileSize']+')');const _0x27976=this[_0x2e43a3(0xf0)](_0x22b83e);if(!_0x27976)return{'file':this['directoryAccessManager']['createRelativePath'](_0x22b83e,_0x41337b),'fullPath':_0x22b83e,'language':_0x2e43a3(0x1a4),'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x2e43a3(0x151)};const _0xd13422=await a0_0x52df5c['readFile'](_0x22b83e,_0x2e43a3(0x156)),_0x502743=this[_0x2e43a3(0x123)]?this['computeContentHash'](_0xd13422):null,_0x64409c=this['useContentHash']?_0x22b83e+':'+_0x502743:_0x22b83e+':'+_0x1006ca[_0x2e43a3(0x117)]['getTime']();if(this['enableCache']&&this['analysisCache'][_0x2e43a3(0x175)](_0x64409c)){const _0x5a0c9d=this[_0x2e43a3(0x170)]['get'](_0x64409c);if(Date['now']()-_0x5a0c9d[_0x2e43a3(0x134)]<this[_0x2e43a3(0x1cd)])return this[_0x2e43a3(0x163)]?.[_0x2e43a3(0x12a)](_0x2e43a3(0x16c),{'file':_0x22b83e}),this[_0x2e43a3(0x191)]['cacheHits']++,this[_0x2e43a3(0x191)]['totalAnalyses']++,_0x5a0c9d['result'];}this[_0x2e43a3(0x191)]['cacheMisses']++,this[_0x2e43a3(0x191)]['totalAnalyses']++;const _0x3c9006=await this['getAnalyzer'](_0x27976);if(!_0x3c9006)return{'file':this[_0x2e43a3(0x155)]['createRelativePath'](_0x22b83e,_0x41337b),'fullPath':_0x22b83e,'language':_0x27976,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'No\x20analyzer\x20available\x20for\x20'+_0x27976};const _0x4fe228=Date[_0x2e43a3(0x154)](),_0x57205f=await _0x3c9006['analyze'](_0x22b83e,_0xd13422,{'workingDir':_0x540724,'accessConfig':_0x41337b,'framework':await this[_0x2e43a3(0x184)](_0x540724,_0x27976)}),_0xaf4d9c=Date[_0x2e43a3(0x154)]()-_0x4fe228;this['metrics'][_0x2e43a3(0x1a7)]+=_0xaf4d9c,this['metrics'][_0x2e43a3(0x119)]++;const _0x237bf9={'file':this[_0x2e43a3(0x155)]['createRelativePath'](_0x22b83e,_0x41337b),'fullPath':_0x22b83e,'language':_0x27976,'framework':await this[_0x2e43a3(0x184)](_0x540724,_0x27976),'errors':_0x57205f['filter'](_0x1a2537=>_0x1a2537['severity']===STATIC_ANALYSIS[_0x2e43a3(0xfa)]['ERROR']),'warnings':_0x235aff[_0x2e43a3(0x147)]!==![]?_0x57205f['filter'](_0x65f399=>_0x65f399[_0x2e43a3(0x12d)]===STATIC_ANALYSIS['SEVERITY']['WARNING']):[],'info':_0x57205f['filter'](_0xc155b8=>_0xc155b8[_0x2e43a3(0x12d)]===STATIC_ANALYSIS[_0x2e43a3(0xfa)][_0x2e43a3(0x1d0)]),'totalIssues':_0x57205f[_0x2e43a3(0x1bb)],'analyzed':!![],'timestamp':new Date()[_0x2e43a3(0x136)]()};return _0x235aff['maxErrors']&&_0x237bf9['errors']['length']>_0x235aff[_0x2e43a3(0x149)]&&(_0x237bf9[_0x2e43a3(0x153)]=_0x237bf9['errors']['slice'](0x0,_0x235aff[_0x2e43a3(0x149)]),_0x237bf9[_0x2e43a3(0x179)]=!![]),this['enableCache']&&this[_0x2e43a3(0x170)][_0x2e43a3(0x107)](_0x64409c,{'result':_0x237bf9,'timestamp':Date[_0x2e43a3(0x154)]()}),_0x237bf9;}catch(_0x145941){throw new Error(_0x2e43a3(0x135)+_0x4b5be9+':\x20'+_0x145941[_0x2e43a3(0x174)]);}}async[a0_0x19f3ef(0x130)](_0x452ec9,_0x3b6702,_0x445a3b,_0x5ae233,_0x13251a={}){const _0xe4bfd5=a0_0x19f3ef,_0x4d4e90=a0_0x3a4aba[_0xe4bfd5(0x1c9)](_0x452ec9)?a0_0x3a4aba['normalize'](_0x452ec9):a0_0x3a4aba[_0xe4bfd5(0x168)](_0x445a3b,_0x452ec9),_0x2be8de=this['directoryAccessManager']['validateReadAccess'](_0x4d4e90,_0x5ae233);if(!_0x2be8de['allowed'])throw new Error(_0xe4bfd5(0x160)+_0x2be8de[_0xe4bfd5(0x16f)]);const _0x4b9962=await this['findFiles'](_0x4d4e90,_0x3b6702);if(_0x4b9962['length']>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x4b9962['length']+_0xe4bfd5(0x124)+this['maxFilesPerBatch']+')');const _0x4acc4a=[];if(this['parallelAnalysis']&&_0x4b9962['length']>0x1){this['logger']?.['debug']('Using\x20parallel\x20analysis',{'totalFiles':_0x4b9962[_0xe4bfd5(0x1bb)],'batchSize':this['maxParallelFiles']});for(let _0x4482d1=0x0;_0x4482d1<_0x4b9962['length'];_0x4482d1+=this['maxParallelFiles']){const _0x2ac9b6=_0x4b9962[_0xe4bfd5(0x171)](_0x4482d1,_0x4482d1+this['maxParallelFiles']);this[_0xe4bfd5(0x191)][_0xe4bfd5(0x1a5)]++;const _0x5eba11={'completed':_0x4482d1,'total':_0x4b9962['length'],'percentage':Math['round'](_0x4482d1/_0x4b9962['length']*0x64)};_0x13251a[_0xe4bfd5(0x198)]&&_0x13251a['onProgress'](_0x5eba11);this[_0xe4bfd5(0x163)]?.[_0xe4bfd5(0x12a)](_0xe4bfd5(0xef),{'batch':Math[_0xe4bfd5(0x157)](_0x4482d1/this[_0xe4bfd5(0x167)])+0x1,'filesInBatch':_0x2ac9b6[_0xe4bfd5(0x1bb)],'progress':_0x5eba11['completed']+'/'+_0x5eba11['total']});const _0x4317bb=_0x2ac9b6['map'](async _0x33054d=>{const _0x437696=_0xe4bfd5;try{const _0x450104=await this[_0x437696(0x1ac)](_0x33054d,_0x445a3b,_0x5ae233,_0x13251a);return _0x450104;}catch(_0x2680a4){return this['logger']?.[_0x437696(0x19e)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x33054d,'error':_0x2680a4['message']}),{'file':this[_0x437696(0x155)][_0x437696(0x12b)](_0x33054d,_0x5ae233),'fullPath':_0x33054d,'error':_0x2680a4[_0x437696(0x174)],'success':![]};}}),_0x12da3b=await Promise[_0xe4bfd5(0x140)](_0x4317bb);_0x4acc4a[_0xe4bfd5(0x188)](..._0x12da3b['filter'](_0x4017fd=>_0x4017fd!==null));}_0x13251a[_0xe4bfd5(0x198)]&&_0x13251a['onProgress']({'completed':_0x4b9962[_0xe4bfd5(0x1bb)],'total':_0x4b9962[_0xe4bfd5(0x1bb)],'percentage':0x64});}else for(const _0x28ca7c of _0x4b9962){try{const _0x4703e9=await this[_0xe4bfd5(0x1ac)](_0x28ca7c,_0x445a3b,_0x5ae233,_0x13251a);_0x4703e9&&_0x4acc4a['push'](_0x4703e9);}catch(_0x237f8b){this['logger']?.[_0xe4bfd5(0x19e)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x28ca7c,'error':_0x237f8b[_0xe4bfd5(0x174)]}),_0x4acc4a[_0xe4bfd5(0x188)]({'file':this[_0xe4bfd5(0x155)]['createRelativePath'](_0x28ca7c,_0x5ae233),'fullPath':_0x28ca7c,'error':_0x237f8b['message'],'success':![]});}}return _0x4acc4a;}async[a0_0x19f3ef(0x16a)](_0x56244c,_0x13a5b2,_0x253e8f,_0x51312a={}){const _0x382159=a0_0x19f3ef,_0x1f4216=a0_0x3a4aba[_0x382159(0x1c9)](_0x56244c)?a0_0x3a4aba['normalize'](_0x56244c):a0_0x3a4aba[_0x382159(0x168)](_0x13a5b2,_0x56244c),_0x184ed1=this[_0x382159(0x155)][_0x382159(0x1b9)](_0x1f4216,_0x253e8f);if(!_0x184ed1[_0x382159(0x1ce)])throw new Error('Read\x20access\x20denied:\x20'+_0x184ed1[_0x382159(0x16f)]);if(_0x51312a[_0x382159(0x1c6)]){const _0x3a3eff=this['directoryAccessManager']['validateWriteAccess'](_0x1f4216,_0x253e8f);if(!_0x3a3eff[_0x382159(0x1ce)])throw new Error(_0x382159(0x1b8)+_0x3a3eff['reason']);}try{const _0xa0f6b1=await a0_0x52df5c['readFile'](_0x1f4216,'utf-8'),_0x18b5d6=await this[_0x382159(0xed)](),_0x40d127=await _0x18b5d6['fix'](_0x1f4216,_0xa0f6b1,{'workingDir':_0x13a5b2,'accessConfig':_0x253e8f,'framework':await this[_0x382159(0x184)](_0x13a5b2,this['detectLanguage'](_0x1f4216))});return _0x51312a['writeFile']&&_0x40d127['fixed']&&(await a0_0x52df5c[_0x382159(0x1c6)](_0x1f4216,_0x40d127['content'],'utf-8'),this['logger']?.['info']('File\x20fixed\x20and\x20written',{'file':_0x1f4216})),{'file':this['directoryAccessManager'][_0x382159(0x12b)](_0x1f4216,_0x253e8f),'fullPath':_0x1f4216,'action':_0x382159(0x138),'fixed':_0x40d127['fixed'],'fixedCount':_0x40d127['fixedCount'],'remainingErrors':_0x40d127['remainingErrors'],'remainingWarnings':_0x40d127['remainingWarnings'],'changes':_0x40d127['changes'],'written':!!(_0x51312a[_0x382159(0x1c6)]&&_0x40d127['fixed']),'preview':!_0x51312a[_0x382159(0x1c6)]&&_0x40d127[_0x382159(0x16e)]?_0x40d127[_0x382159(0x13b)]:undefined};}catch(_0x58a63a){throw new Error('Failed\x20to\x20fix\x20'+_0x56244c+':\x20'+_0x58a63a[_0x382159(0x174)]);}}async['formatFile'](_0x2ac04f,_0x2b3c43,_0x233371,_0x305b45={}){const _0x10f057=a0_0x19f3ef,_0x21eaa3=a0_0x3a4aba[_0x10f057(0x1c9)](_0x2ac04f)?a0_0x3a4aba['normalize'](_0x2ac04f):a0_0x3a4aba[_0x10f057(0x168)](_0x2b3c43,_0x2ac04f),_0x125733=this['directoryAccessManager'][_0x10f057(0x1b9)](_0x21eaa3,_0x233371);if(!_0x125733['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x125733['reason']);if(_0x305b45['writeFile']){const _0x2c2dfd=this[_0x10f057(0x155)][_0x10f057(0x14e)](_0x21eaa3,_0x233371);if(!_0x2c2dfd['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x2c2dfd[_0x10f057(0x16f)]);}try{const _0xc65100=await a0_0x52df5c['readFile'](_0x21eaa3,'utf-8'),_0x509c01=await this[_0x10f057(0x1bd)]();if(!_0x509c01['isSupported'](_0x21eaa3))return{'file':this[_0x10f057(0x155)]['createRelativePath'](_0x21eaa3,_0x233371),'fullPath':_0x21eaa3,'action':_0x10f057(0x121),'formatted':![],'skipped':!![],'skipReason':_0x10f057(0x12e)};const _0x1ddc68=await _0x509c01[_0x10f057(0x121)](_0x21eaa3,_0xc65100,{'workingDir':_0x2b3c43,'accessConfig':_0x233371});return _0x305b45[_0x10f057(0x1c6)]&&_0x1ddc68[_0x10f057(0x11b)]&&(await a0_0x52df5c[_0x10f057(0x1c6)](_0x21eaa3,_0x1ddc68['content'],'utf-8'),this[_0x10f057(0x163)]?.[_0x10f057(0x1a0)](_0x10f057(0x169),{'file':_0x21eaa3})),{'file':this['directoryAccessManager'][_0x10f057(0x12b)](_0x21eaa3,_0x233371),'fullPath':_0x21eaa3,'action':_0x10f057(0x121),'formatted':_0x1ddc68['formatted'],'linesChanged':_0x1ddc68[_0x10f057(0x146)],'changes':_0x1ddc68[_0x10f057(0x104)],'written':!!(_0x305b45['writeFile']&&_0x1ddc68['formatted']),'preview':!_0x305b45[_0x10f057(0x1c6)]&&_0x1ddc68[_0x10f057(0x11b)]?_0x1ddc68[_0x10f057(0x13b)]:undefined};}catch(_0x7069e8){throw new Error('Failed\x20to\x20format\x20'+_0x2ac04f+':\x20'+_0x7069e8[_0x10f057(0x174)]);}}async['securityScanFile'](_0x3613cf,_0x1a5d07,_0x4f1467,_0x467578={}){const _0x327d89=a0_0x19f3ef,_0x4ed8f6=a0_0x3a4aba['isAbsolute'](_0x3613cf)?a0_0x3a4aba['normalize'](_0x3613cf):a0_0x3a4aba['resolve'](_0x1a5d07,_0x3613cf),_0x41c761=this['directoryAccessManager']['validateReadAccess'](_0x4ed8f6,_0x4f1467);if(!_0x41c761['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x41c761['reason']);try{const _0x37d79f=await a0_0x52df5c['stat'](_0x4ed8f6);if(_0x37d79f['size']>this[_0x327d89(0x1a8)])throw new Error('File\x20too\x20large:\x20'+_0x37d79f[_0x327d89(0x143)]+_0x327d89(0x193)+this['maxFileSize']+')');const _0x131974=this[_0x327d89(0xf0)](_0x4ed8f6);if(!_0x131974||!['javascript',_0x327d89(0x1ae),'python']['includes'](_0x131974))return{'file':this[_0x327d89(0x155)]['createRelativePath'](_0x4ed8f6,_0x4f1467),'fullPath':_0x4ed8f6,'language':_0x131974||'unknown','issues':[],'skipped':!![],'skipReason':_0x327d89(0x1c5)};const _0x2bfe6d=await a0_0x52df5c['readFile'](_0x4ed8f6,'utf-8'),_0x5097ee=await this['getSecurityAnalyzer'](),_0x41b362=await _0x5097ee[_0x327d89(0x1ba)](_0x4ed8f6,_0x2bfe6d,{'skipTestFiles':_0x467578[_0x327d89(0xfe)]!==![]}),_0x5a6d5a={'file':this['directoryAccessManager']['createRelativePath'](_0x4ed8f6,_0x4f1467),'fullPath':_0x4ed8f6,'language':_0x131974,'action':'security-scan','critical':_0x41b362[_0x327d89(0x1c0)](_0x13ab85=>_0x13ab85[_0x327d89(0x12d)]===STATIC_ANALYSIS[_0x327d89(0xfa)]['CRITICAL']),'errors':_0x41b362[_0x327d89(0x1c0)](_0x4bf992=>_0x4bf992[_0x327d89(0x12d)]===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x41b362[_0x327d89(0x1c0)](_0x4c608f=>_0x4c608f['severity']===STATIC_ANALYSIS[_0x327d89(0xfa)]['WARNING']),'info':_0x41b362['filter'](_0x2accae=>_0x2accae[_0x327d89(0x12d)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x41b362['length'],'analyzed':!![],'scannersUsed':_0x41b362['map'](_0x2ecc79=>_0x2ecc79['scanner'])[_0x327d89(0x1c0)]((_0x2be196,_0x4ef7b3,_0x4003f4)=>_0x4003f4['indexOf'](_0x2be196)===_0x4ef7b3),'timestamp':new Date()[_0x327d89(0x136)]()};return _0x5a6d5a;}catch(_0x50016a){throw new Error(_0x327d89(0x126)+_0x3613cf+':\x20'+_0x50016a['message']);}}async[a0_0x19f3ef(0x19b)](_0x56696b,_0x12f95d,_0x50d8f9,_0x4ac747,_0x29b1e8={}){const _0x26985b=a0_0x19f3ef,_0x3a1ee1=a0_0x3a4aba['isAbsolute'](_0x56696b)?a0_0x3a4aba['normalize'](_0x56696b):a0_0x3a4aba[_0x26985b(0x168)](_0x50d8f9,_0x56696b),_0x31578b=this['directoryAccessManager'][_0x26985b(0x1b9)](_0x3a1ee1,_0x4ac747);if(!_0x31578b[_0x26985b(0x1ce)])throw new Error(_0x26985b(0x160)+_0x31578b['reason']);const _0x43ef5e=await this['getSecurityAnalyzer'](),_0x4d87c8=await _0x43ef5e['analyzeProject'](_0x3a1ee1,_0x26985b(0x125),_0x29b1e8),_0x26e539=_0x12f95d||_0x26985b(0x1a2),_0x3ef578=await this['findFiles'](_0x3a1ee1,_0x26e539);if(_0x3ef578['length']>this[_0x26985b(0x127)])throw new Error('Too\x20many\x20files:\x20'+_0x3ef578[_0x26985b(0x1bb)]+'\x20(max\x20'+this['maxFilesPerBatch']+')');const _0x5699d1=[];if(this['parallelAnalysis']&&_0x3ef578['length']>0x1){this['logger']?.[_0x26985b(0x12a)]('Using\x20parallel\x20security\x20scanning',{'totalFiles':_0x3ef578['length'],'batchSize':this[_0x26985b(0x167)]});for(let _0x1c3874=0x0;_0x1c3874<_0x3ef578['length'];_0x1c3874+=this['maxParallelFiles']){const _0x1b64e2=_0x3ef578['slice'](_0x1c3874,_0x1c3874+this['maxParallelFiles']);_0x29b1e8['onProgress']&&_0x29b1e8[_0x26985b(0x198)]({'completed':_0x1c3874,'total':_0x3ef578['length'],'percentage':Math[_0x26985b(0x145)](_0x1c3874/_0x3ef578[_0x26985b(0x1bb)]*0x64)});const _0x87adf7=_0x1b64e2['map'](async _0x418bdb=>{const _0x514657=_0x26985b;try{return await this[_0x514657(0x11a)](_0x418bdb,_0x50d8f9,_0x4ac747,_0x29b1e8);}catch(_0x7ce325){return this[_0x514657(0x163)]?.['warn']('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x418bdb,'error':_0x7ce325['message']}),{'file':this[_0x514657(0x155)]['createRelativePath'](_0x418bdb,_0x4ac747),'fullPath':_0x418bdb,'error':_0x7ce325['message'],'success':![]};}}),_0x425acd=await Promise['all'](_0x87adf7);_0x5699d1['push'](..._0x425acd[_0x26985b(0x1c0)](_0x5e3a2f=>_0x5e3a2f!==null));}_0x29b1e8['onProgress']&&_0x29b1e8['onProgress']({'completed':_0x3ef578[_0x26985b(0x1bb)],'total':_0x3ef578['length'],'percentage':0x64});}else for(const _0x17a8d7 of _0x3ef578){try{const _0x37a6cd=await this['securityScanFile'](_0x17a8d7,_0x50d8f9,_0x4ac747,_0x29b1e8);_0x37a6cd&&_0x5699d1[_0x26985b(0x188)](_0x37a6cd);}catch(_0x3b248e){this['logger']?.[_0x26985b(0x19e)](_0x26985b(0x19f),{'file':_0x17a8d7,'error':_0x3b248e[_0x26985b(0x174)]}),_0x5699d1[_0x26985b(0x188)]({'file':this[_0x26985b(0x155)][_0x26985b(0x12b)](_0x17a8d7,_0x4ac747),'fullPath':_0x17a8d7,'error':_0x3b248e[_0x26985b(0x174)],'success':![]});}}return _0x4d87c8['length']>0x0&&_0x5699d1['push']({'file':a0_0x3a4aba[_0x26985b(0x197)](_0x3a1ee1,_0x26985b(0x176)),'fullPath':a0_0x3a4aba[_0x26985b(0x197)](_0x3a1ee1,'package.json'),'action':_0x26985b(0x10e),'critical':_0x4d87c8[_0x26985b(0x1c0)](_0x44b7ae=>_0x44b7ae[_0x26985b(0x12d)]===STATIC_ANALYSIS[_0x26985b(0xfa)][_0x26985b(0x173)]),'errors':_0x4d87c8[_0x26985b(0x1c0)](_0x2f8590=>_0x2f8590[_0x26985b(0x12d)]===STATIC_ANALYSIS[_0x26985b(0xfa)][_0x26985b(0x161)]),'warnings':_0x4d87c8['filter'](_0x5d28ec=>_0x5d28ec['severity']===STATIC_ANALYSIS['SEVERITY'][_0x26985b(0x180)]),'info':_0x4d87c8['filter'](_0x5770dc=>_0x5770dc['severity']===STATIC_ANALYSIS[_0x26985b(0xfa)]['INFO']),'totalIssues':_0x4d87c8[_0x26985b(0x1bb)],'analyzed':!![],'scannersUsed':[_0x26985b(0x105)],'timestamp':new Date()['toISOString']()}),_0x5699d1;}async['validateConfigFile'](_0x5a56b2,_0x3f919f,_0x28143b,_0x505752={}){const _0x44e037=a0_0x19f3ef,_0x262a75=a0_0x3a4aba['isAbsolute'](_0x5a56b2)?a0_0x3a4aba['normalize'](_0x5a56b2):a0_0x3a4aba['resolve'](_0x3f919f,_0x5a56b2),_0x82823e=this['directoryAccessManager'][_0x44e037(0x1b9)](_0x262a75,_0x28143b);if(!_0x82823e[_0x44e037(0x1ce)])throw new Error(_0x44e037(0x160)+_0x82823e[_0x44e037(0x16f)]);try{const _0x32bce1=await a0_0x52df5c['stat'](_0x262a75);if(_0x32bce1['size']>this[_0x44e037(0x1a8)])throw new Error('File\x20too\x20large:\x20'+_0x32bce1[_0x44e037(0x143)]+_0x44e037(0x193)+this['maxFileSize']+')');const _0x2b1ca0=await this[_0x44e037(0xee)](),_0x1efe26=await _0x2b1ca0['validate'](_0x262a75,_0x505752),_0x12857e={'file':this['directoryAccessManager'][_0x44e037(0x12b)](_0x262a75,_0x28143b),'fullPath':_0x262a75,'action':'validate-config','critical':_0x1efe26[_0x44e037(0x1c0)](_0x302bae=>_0x302bae['severity']===STATIC_ANALYSIS[_0x44e037(0xfa)]['CRITICAL']),'errors':_0x1efe26[_0x44e037(0x1c0)](_0x2f3bf8=>_0x2f3bf8['severity']===STATIC_ANALYSIS[_0x44e037(0xfa)]['ERROR']),'warnings':_0x1efe26['filter'](_0x2d1738=>_0x2d1738['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x1efe26['filter'](_0x17ffd3=>_0x17ffd3[_0x44e037(0x12d)]===STATIC_ANALYSIS['SEVERITY'][_0x44e037(0x1d0)]),'totalIssues':_0x1efe26[_0x44e037(0x1bb)],'analyzed':!![],'validatorsUsed':_0x1efe26['map'](_0x1361e9=>_0x1361e9[_0x44e037(0x148)])[_0x44e037(0x1c0)]((_0x197da7,_0x34dc21,_0x3937ab)=>_0x3937ab['indexOf'](_0x197da7)===_0x34dc21),'timestamp':new Date()[_0x44e037(0x136)]()};return _0x12857e;}catch(_0x14b2c7){throw new Error('Failed\x20to\x20validate\x20config\x20'+_0x5a56b2+':\x20'+_0x14b2c7[_0x44e037(0x174)]);}}async[a0_0x19f3ef(0xec)](_0x26272c,_0x1e1fd4,_0x1ac7de,_0x2a1a4={}){const _0x47ba90=a0_0x19f3ef,_0x30fd3a=a0_0x3a4aba['isAbsolute'](_0x26272c)?a0_0x3a4aba['normalize'](_0x26272c):a0_0x3a4aba['resolve'](_0x1e1fd4,_0x26272c),_0x38f5e0=this['directoryAccessManager']['validateReadAccess'](_0x30fd3a,_0x1ac7de);if(!_0x38f5e0['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x38f5e0['reason']);const _0x13acda=await this[_0x47ba90(0x19c)](_0x30fd3a);if(_0x13acda['length']>this[_0x47ba90(0x127)])throw new Error('Too\x20many\x20config\x20files:\x20'+_0x13acda['length']+_0x47ba90(0x124)+this['maxFilesPerBatch']+')');const _0x515712=[];for(const _0x3e82d7 of _0x13acda){try{const _0x21f260=await this[_0x47ba90(0xfb)](_0x3e82d7,_0x1e1fd4,_0x1ac7de,_0x2a1a4);_0x21f260&&_0x515712[_0x47ba90(0x188)](_0x21f260);}catch(_0x9ffa7e){this[_0x47ba90(0x163)]?.['warn']('Failed\x20to\x20validate\x20config\x20file',{'file':_0x3e82d7,'error':_0x9ffa7e['message']}),_0x515712['push']({'file':this[_0x47ba90(0x155)][_0x47ba90(0x12b)](_0x3e82d7,_0x1ac7de),'fullPath':_0x3e82d7,'error':_0x9ffa7e[_0x47ba90(0x174)],'success':![]});}}return _0x515712;}async[a0_0x19f3ef(0x19c)](_0x54b1dc){const _0x1588ed=a0_0x19f3ef,_0x23b678=[],_0x564151=['package.json',_0x1588ed(0xf3),'Dockerfile',_0x1588ed(0x15c),_0x1588ed(0x18c),'.env','.env.example','.eslintrc.js',_0x1588ed(0x1a1),_0x1588ed(0xff),'.prettierrc.json'],_0x26c550=[_0x1588ed(0x1b3),'.yaml',_0x1588ed(0x1bf),_0x1588ed(0x181),_0x1588ed(0x15a)],_0x153d71=async _0x38b935=>{const _0xb0fcde=_0x1588ed,_0x1b9fdd=await a0_0x52df5c['readdir'](_0x38b935,{'withFileTypes':!![]});for(const _0x36aab3 of _0x1b9fdd){const _0x3737c7=a0_0x3a4aba[_0xb0fcde(0x197)](_0x38b935,_0x36aab3[_0xb0fcde(0x18b)]);if(_0x36aab3[_0xb0fcde(0x196)]()){if(_0x36aab3['name']===_0xb0fcde(0x11e)||_0x36aab3['name']===_0xb0fcde(0x158)||_0x36aab3['name']==='k8s'||_0x36aab3[_0xb0fcde(0x18b)]===_0xb0fcde(0x177))await _0x153d71(_0x3737c7);else{if(![_0xb0fcde(0x14b),_0xb0fcde(0x100),'dist','build'][_0xb0fcde(0xfc)](_0x36aab3['name']))continue;}}else{if(_0x36aab3['isFile']()){if(_0x564151['includes'](_0x36aab3[_0xb0fcde(0x18b)]))_0x23b678['push'](_0x3737c7);else{const _0x10fbb8=a0_0x3a4aba[_0xb0fcde(0x1cf)](_0x36aab3['name'])['toLowerCase']();if(_0x26c550['includes'](_0x10fbb8)){const _0x56f33d=a0_0x3a4aba['basename'](a0_0x3a4aba['dirname'](_0x3737c7));(_0x56f33d==='kubernetes'||_0x56f33d===_0xb0fcde(0x1cc)||_0x56f33d===_0xb0fcde(0x177)||_0x56f33d==='workflows')&&_0x23b678['push'](_0x3737c7);}}}}}};return await _0x153d71(_0x54b1dc),_0x23b678;}['detectLanguage'](_0x2df8ce){const _0x31b002=a0_0x19f3ef,_0x477dd3=a0_0x3a4aba['extname'](_0x2df8ce)['toLowerCase']();return STATIC_ANALYSIS[_0x31b002(0xeb)][_0x477dd3]||null;}async['detectFramework'](_0x310ea1,_0x4f47f6){const _0x2a6ef1=a0_0x19f3ef;try{if(_0x4f47f6===STATIC_ANALYSIS['LANGUAGE']['JAVASCRIPT']||_0x4f47f6===STATIC_ANALYSIS['LANGUAGE'][_0x2a6ef1(0x17e)])return await this[_0x2a6ef1(0x10d)](_0x310ea1);if(_0x4f47f6===STATIC_ANALYSIS['LANGUAGE'][_0x2a6ef1(0x137)])return await this[_0x2a6ef1(0xf4)](_0x310ea1);return null;}catch(_0x461341){return this['logger']?.['debug']('Framework\x20detection\x20failed',{'error':_0x461341[_0x2a6ef1(0x174)]}),null;}}async[a0_0x19f3ef(0x10d)](_0x1691db){const _0x25d3f3=a0_0x19f3ef;try{const _0x5dfb94=a0_0x3a4aba['join'](_0x1691db,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x25d3f3(0xf7)]),_0x3c2594=await a0_0x52df5c[_0x25d3f3(0x113)](_0x5dfb94,_0x25d3f3(0x156)),_0x48bf5f=JSON[_0x25d3f3(0x1b5)](_0x3c2594),_0x30f31e={..._0x48bf5f[_0x25d3f3(0x1c8)],..._0x48bf5f[_0x25d3f3(0x1b6)]};for(const [_0x3af83e,_0xd0d107]of Object[_0x25d3f3(0x165)](STATIC_ANALYSIS['JS_FRAMEWORKS'])){if(_0x30f31e[_0xd0d107])return _0x3af83e['toLowerCase']();}return null;}catch(_0x3b31fb){return null;}}async['detectPythonFramework'](_0x1699be){const _0x146938=a0_0x19f3ef;try{const _0x24265d=a0_0x3a4aba['join'](_0x1699be,STATIC_ANALYSIS[_0x146938(0x18e)]['PYTHON']),_0x51fc4c=await a0_0x52df5c[_0x146938(0x113)](_0x24265d,'utf-8');for(const [_0x49adb8,_0x1a2fef]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x51fc4c['toLowerCase']()['includes'](_0x1a2fef))return _0x49adb8['toLowerCase']();}return null;}catch(_0x10af85){try{const _0x49274e=a0_0x3a4aba[_0x146938(0x197)](_0x1699be,STATIC_ANALYSIS[_0x146938(0x18e)]['PYTHON_POETRY']),_0x144675=await a0_0x52df5c[_0x146938(0x113)](_0x49274e,_0x146938(0x156));for(const [_0x2ebfbb,_0x203581]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x144675['toLowerCase']()['includes'](_0x203581))return _0x2ebfbb['toLowerCase']();}}catch{}return null;}}async['findFiles'](_0x8f9bbb,_0x643fee){const _0x5dd21=[],_0x529e27=_0x643fee||'**/*.{js,jsx,mjs,cjs,ts,tsx,py,css,scss,sass,less}',_0x313d45=_0x415068=>{const _0x3b96de=a0_0x4f45,_0x1b003d=[],_0x4dd600=_0x415068[_0x3b96de(0xf6)](/\*\.\{([^}]+)\}/);if(_0x4dd600){const _0xf99ef3=_0x4dd600[0x1][_0x3b96de(0xf5)](',')[_0x3b96de(0x17b)](_0x364ab7=>_0x364ab7['trim']());_0xf99ef3[_0x3b96de(0x150)](_0x5337da=>_0x1b003d['push'](_0x5337da['startsWith']('.')?_0x5337da:'.'+_0x5337da));}else{const _0x1fcbfb=_0x415068[_0x3b96de(0xf6)](/\*\.([a-z]+)$/i);if(_0x1fcbfb){const _0x4a022e=_0x1fcbfb[0x1];_0x1b003d[_0x3b96de(0x188)](_0x4a022e[_0x3b96de(0x1b4)]('.')?_0x4a022e:'.'+_0x4a022e);}}if(_0x1b003d[_0x3b96de(0x1bb)]===0x0)return null;return _0x1b003d;},_0x441f27=_0x313d45(_0x529e27),_0xf0c9cd=async _0x3619a5=>{const _0x32352e=a0_0x4f45,_0x1435e6=await a0_0x52df5c['readdir'](_0x3619a5,{'withFileTypes':!![]});for(const _0x1ee6be of _0x1435e6){const _0xbf0977=a0_0x3a4aba['join'](_0x3619a5,_0x1ee6be[_0x32352e(0x18b)]);if(_0x1ee6be['isDirectory']())![_0x32352e(0x14b),_0x32352e(0x100),_0x32352e(0x10c),_0x32352e(0x18a),'__pycache__','.venv','venv'][_0x32352e(0xfc)](_0x1ee6be['name'])&&await _0xf0c9cd(_0xbf0977);else{if(_0x1ee6be[_0x32352e(0x192)]()){const _0x4d1e85=a0_0x3a4aba[_0x32352e(0x1cf)](_0x1ee6be['name'])[_0x32352e(0x15f)]();STATIC_ANALYSIS[_0x32352e(0xeb)][_0x4d1e85]&&((_0x441f27===null||_0x441f27[_0x32352e(0xfc)](_0x4d1e85))&&_0x5dd21[_0x32352e(0x188)](_0xbf0977));}}}};return await _0xf0c9cd(_0x8f9bbb),_0x5dd21;}async['getAnalyzer'](_0x456228){const _0x8f980e=a0_0x19f3ef;try{if(_0x456228===STATIC_ANALYSIS[_0x8f980e(0x14d)][_0x8f980e(0xf7)]){if(!this['analyzers'][_0x8f980e(0x125)]){const {default:_0x4b711b}=await import(_0x8f980e(0x1c7));this[_0x8f980e(0x13c)]['javascript']=new _0x4b711b(this[_0x8f980e(0x163)]);}return this['analyzers']['javascript'];}if(_0x456228===STATIC_ANALYSIS[_0x8f980e(0x14d)][_0x8f980e(0x17e)]){if(!this['analyzers'][_0x8f980e(0x1ae)]){const {default:_0x38531e}=await import(_0x8f980e(0x139));this[_0x8f980e(0x13c)][_0x8f980e(0x1ae)]=new _0x38531e(this['logger']);}return this['analyzers'][_0x8f980e(0x1ae)];}if(_0x456228===STATIC_ANALYSIS['LANGUAGE'][_0x8f980e(0x137)]){if(!this['analyzers']['python']){const {default:_0x29eb39}=await import(_0x8f980e(0x166));this['analyzers']['python']=new _0x29eb39(this[_0x8f980e(0x163)]);}return this[_0x8f980e(0x13c)][_0x8f980e(0x108)];}if(_0x456228===STATIC_ANALYSIS['LANGUAGE']['CSS']||_0x456228===STATIC_ANALYSIS[_0x8f980e(0x14d)][_0x8f980e(0x102)]||_0x456228===STATIC_ANALYSIS['LANGUAGE']['LESS']){if(!this['analyzers']['css']){const {default:_0x13f548}=await import(_0x8f980e(0x11d));this['analyzers']['css']=new _0x13f548(this['logger']);}return this['analyzers'][_0x8f980e(0x18f)];}return null;}catch(_0x166694){return this[_0x8f980e(0x163)]?.[_0x8f980e(0x10b)]('Failed\x20to\x20load\x20analyzer',{'language':_0x456228,'error':_0x166694['message']}),null;}}async['getESLintAnalyzer'](){if(!this['analyzers']['eslint']){const {default:_0x54fc36}=await import('../analyzers/ESLintAnalyzer.js');this['analyzers']['eslint']=new _0x54fc36(this['logger']);}return this['analyzers']['eslint'];}async['getPrettierFormatter'](){const _0x2526dc=a0_0x19f3ef;if(!this['formatters'][_0x2526dc(0x14a)]){const {default:_0x2b89bf}=await import('../analyzers/PrettierFormatter.js');this['formatters']['prettier']=new _0x2b89bf(this[_0x2526dc(0x163)]);}return this[_0x2526dc(0x1be)][_0x2526dc(0x14a)];}async[a0_0x19f3ef(0x1c1)](){const _0x4db096=a0_0x19f3ef;if(!this[_0x4db096(0x13c)]['security']){const {default:_0x2d3cb4}=await import(_0x4db096(0x183));this[_0x4db096(0x13c)]['security']=new _0x2d3cb4(this[_0x4db096(0x163)]);}return this['analyzers'][_0x4db096(0x142)];}async[a0_0x19f3ef(0xee)](){const _0x4079d2=a0_0x19f3ef;if(!this['analyzers'][_0x4079d2(0x186)]){const {default:_0x261bf5}=await import('../analyzers/ConfigValidator.js');this['analyzers'][_0x4079d2(0x186)]=new _0x261bf5(this[_0x4079d2(0x163)]);}return this[_0x4079d2(0x13c)][_0x4079d2(0x186)];}['updateSummary'](_0x53763a,_0x4b464e){const _0x455db5=a0_0x19f3ef;if(_0x4b464e['analyzed']){_0x53763a['totalFiles']++;const _0x4d15b0=_0x4b464e['critical']?.[_0x455db5(0x1bb)]||0x0,_0x59998d=_0x4b464e[_0x455db5(0x153)]?.[_0x455db5(0x1bb)]||0x0,_0x59e0a0=_0x4b464e['warnings']?.['length']||0x0,_0xefeb70=_0x4b464e[_0x455db5(0x1a0)]?.['length']||0x0;_0x53763a['totalCritical']===undefined&&(_0x53763a[_0x455db5(0x18d)]=0x0);_0x53763a[_0x455db5(0x18d)]+=_0x4d15b0,_0x53763a['totalErrors']+=_0x59998d,_0x53763a['totalWarnings']+=_0x59e0a0,_0x53763a[_0x455db5(0x1c2)]+=_0xefeb70;(_0x4d15b0>0x0||_0x59998d>0x0)&&_0x53763a['filesWithErrors']++;_0x4b464e['language']&&(_0x53763a[_0x455db5(0x112)][_0x4b464e['language']]=(_0x53763a['filesByLanguage'][_0x4b464e[_0x455db5(0xf9)]]||0x0)+0x1);const _0x23818d=[..._0x4b464e[_0x455db5(0x1b7)]||[],..._0x4b464e['errors']||[],..._0x4b464e[_0x455db5(0x128)]||[]];for(const _0x480862 of _0x23818d){_0x480862[_0x455db5(0x15d)]&&(_0x53763a['errorsByCategory'][_0x480862[_0x455db5(0x15d)]]=(_0x53763a[_0x455db5(0x189)][_0x480862['category']]||0x0)+0x1);}}}['computeContentHash'](_0x3ac900){const _0x4e977d=a0_0x19f3ef;return a0_0x3533e3['createHash']('sha256')['update'](_0x3ac900)[_0x4e977d(0x110)](_0x4e977d(0x122))[_0x4e977d(0x114)](0x0,0x10);}[a0_0x19f3ef(0x1c4)](){const _0xab6731=a0_0x19f3ef,_0x2ec62c=this['metrics'][_0xab6731(0x1ab)]>0x0?this['metrics'][_0xab6731(0x111)]/this['metrics'][_0xab6731(0x1ab)]*0x64:0x0,_0x1c9bc1=this['metrics']['filesAnalyzed']>0x0?this['metrics'][_0xab6731(0x1a7)]/this['metrics'][_0xab6731(0x119)]:0x0;return{...this['metrics'],'cacheHitRate':Math[_0xab6731(0x145)](_0x2ec62c*0xa)/0xa,'averageAnalysisTime':Math['round'](_0x1c9bc1),'cacheSize':this[_0xab6731(0x170)][_0xab6731(0x143)]};}['resetPerformanceMetrics'](){this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}['clearCache'](){const _0x465128=a0_0x19f3ef;this['analysisCache'][_0x465128(0xfd)](),this[_0x465128(0x163)]?.['debug'](_0x465128(0x11f));}['getSupportedActions'](){const _0x32eeaf=a0_0x19f3ef;return['analyze',_0x32eeaf(0x1c3),'fix','format',_0x32eeaf(0x131),'security-scan-project',_0x32eeaf(0x144),_0x32eeaf(0xf1)];}['getParameterSchema'](){const _0x7be50b=a0_0x19f3ef;return{'type':_0x7be50b(0x1ad),'properties':{'actions':{'type':_0x7be50b(0x13d),'minItems':0x1,'items':{'type':_0x7be50b(0x1ad),'properties':{'type':{'type':_0x7be50b(0x178),'enum':this[_0x7be50b(0x1a3)]()},'filePath':{'type':_0x7be50b(0x178)},'directory':{'type':'string'},'pattern':{'type':'string'},'includeWarnings':{'type':'boolean'},'maxErrors':{'type':'number'}},'required':[_0x7be50b(0x13e)]}}},'required':[_0x7be50b(0x162)]};}}export default StaticAnalysisTool;
|
|
1
|
+
const a0_0x1bbc11=a0_0x382c;function a0_0x382c(_0x30f7f5,_0x316caf){_0x30f7f5=_0x30f7f5-0x181;const _0x3773c2=a0_0x3773();let _0x382cdc=_0x3773c2[_0x30f7f5];if(a0_0x382c['hpVQFD']===undefined){var _0x4d2205=function(_0x18441){const _0x532c0a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd47e02='',_0x3615ee='';for(let _0x156fb2=0x0,_0x29121e,_0x30aec9,_0x2c448c=0x0;_0x30aec9=_0x18441['charAt'](_0x2c448c++);~_0x30aec9&&(_0x29121e=_0x156fb2%0x4?_0x29121e*0x40+_0x30aec9:_0x30aec9,_0x156fb2++%0x4)?_0xd47e02+=String['fromCharCode'](0xff&_0x29121e>>(-0x2*_0x156fb2&0x6)):0x0){_0x30aec9=_0x532c0a['indexOf'](_0x30aec9);}for(let _0x291094=0x0,_0x4097e6=_0xd47e02['length'];_0x291094<_0x4097e6;_0x291094++){_0x3615ee+='%'+('00'+_0xd47e02['charCodeAt'](_0x291094)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3615ee);};a0_0x382c['srAfKV']=_0x4d2205,a0_0x382c['KBDlFC']={},a0_0x382c['hpVQFD']=!![];}const _0x20fe87=_0x3773c2[0x0],_0x4d2625=_0x30f7f5+_0x20fe87,_0x4fb90d=a0_0x382c['KBDlFC'][_0x4d2625];return!_0x4fb90d?(_0x382cdc=a0_0x382c['srAfKV'](_0x382cdc),a0_0x382c['KBDlFC'][_0x4d2625]=_0x382cdc):_0x382cdc=_0x4fb90d,_0x382cdc;}(function(_0x1c9f3f,_0x5835ad){const _0x133b2d=a0_0x382c,_0x1c72e2=_0x1c9f3f();while(!![]){try{const _0x55ad5e=-parseInt(_0x133b2d(0x220))/0x1*(parseInt(_0x133b2d(0x18c))/0x2)+parseInt(_0x133b2d(0x186))/0x3*(-parseInt(_0x133b2d(0x245))/0x4)+parseInt(_0x133b2d(0x1f7))/0x5*(-parseInt(_0x133b2d(0x225))/0x6)+-parseInt(_0x133b2d(0x203))/0x7+parseInt(_0x133b2d(0x252))/0x8+parseInt(_0x133b2d(0x197))/0x9*(-parseInt(_0x133b2d(0x19c))/0xa)+-parseInt(_0x133b2d(0x205))/0xb*(-parseInt(_0x133b2d(0x22b))/0xc);if(_0x55ad5e===_0x5835ad)break;else _0x1c72e2['push'](_0x1c72e2['shift']());}catch(_0x3275ee){_0x1c72e2['push'](_0x1c72e2['shift']());}}}(a0_0x3773,0x39935));import{BaseTool}from'./baseTool.js';import a0_0xd47e02 from'../utilities/tagParser.js';import a0_0x3615ee from'../utilities/directoryAccessManager.js';import a0_0x156fb2 from'fs/promises';import a0_0x29121e from'path';import a0_0x30aec9 from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x2c448c={},_0x291094=null){const _0x594b61=a0_0x382c;super(_0x2c448c,_0x291094),this[_0x594b61(0x250)]=!![],this['isAsync']=![],this['timeout']=_0x2c448c['timeout']||STATIC_ANALYSIS[_0x594b61(0x19a)],this[_0x594b61(0x244)]=_0x2c448c[_0x594b61(0x244)]||0x1,this[_0x594b61(0x1c7)]=_0x2c448c[_0x594b61(0x1c7)]||STATIC_ANALYSIS['MAX_FILE_SIZE_FOR_ANALYSIS'],this[_0x594b61(0x23b)]=_0x2c448c['maxFilesPerBatch']||STATIC_ANALYSIS[_0x594b61(0x24c)],this['enableCache']=_0x2c448c[_0x594b61(0x259)]!==![]&&STATIC_ANALYSIS[_0x594b61(0x216)],this['analysisCache']=new Map(),this['cacheExpiry']=STATIC_ANALYSIS[_0x594b61(0x1e2)],this['parallelAnalysis']=_0x2c448c['parallelAnalysis']!==![],this['maxParallelFiles']=_0x2c448c['maxParallelFiles']||0xa,this[_0x594b61(0x1c4)]=_0x2c448c[_0x594b61(0x1c4)]!==![],this[_0x594b61(0x1a4)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x594b61(0x241)]=new a0_0x3615ee(_0x2c448c,_0x291094),this[_0x594b61(0x1b4)]={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}['getDescription'](){const _0x584aa6=a0_0x382c;return'\x0aStatic\x20Code\x20Analysis\x20Tool:\x20Analyze\x20code\x20files\x20for\x20errors\x20without\x20execution\x0a\x0aThis\x20tool\x20performs\x20static\x20analysis\x20on\x20code\x20files\x20to\x20find\x20syntax\x20errors,\x20type\x20errors,\x20import\x20issues,\x20and\x20other\x20problems\x20without\x20running\x20the\x20code.\x20It\x20uses\x20official\x20language\x20parsers\x20for\x20accurate\x20results.\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Python\x20(.py)\x0a-\x20CSS\x20(.css)\x0a-\x20SCSS\x20(.scss,\x20.sass)\x0a-\x20LESS\x20(.less)\x0a\x0aUSAGE\x20-\x20XML\x20FORMAT:\x0a\x0aSingle\x20File\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a[/tool]\x0a\x0aMultiple\x20Files\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/utils.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/components/Button.jsx\x22\x20/>\x0a[/tool]\x0a\x0aProject-Wide\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22src\x22\x20pattern=\x22**/*.js\x22\x20/>\x0a[/tool]\x0a\x0aAuto-Fix\x20Code\x20Issues:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<fix\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aFormat\x20Code:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<format\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aUSAGE\x20-\x20JSON\x20FORMAT:\x0a\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze\x22,\x0a\x20\x20\x20\x20\x20\x20\x22filePath\x22:\x20\x22src/index.js\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze-project\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22pattern\x22:\x20\x22**/*.{js,ts,py}\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20file-path:\x20Path\x20to\x20file\x20to\x20analyze\x20(for\x20single\x20file)\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(for\x20project-wide)\x0a-\x20pattern:\x20Glob\x20pattern\x20for\x20files\x20to\x20include\x20(optional,\x20defaults\x20to\x20language-specific\x20patterns)\x0a-\x20include-warnings:\x20Include\x20warnings\x20in\x20results\x20(true/false,\x20default:\x20true)\x0a-\x20max-errors:\x20Maximum\x20number\x20of\x20errors\x20to\x20return\x20(default:\x20all)\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20structured\x20error\x20information:\x0a-\x20file:\x20File\x20path\x0a-\x20line:\x20Line\x20number\x0a-\x20column:\x20Column\x20number\x0a-\x20severity:\x20critical\x20|\x20error\x20|\x20warning\x20|\x20info\x0a-\x20rule:\x20Rule\x20identifier\x0a-\x20message:\x20Human-readable\x20description\x0a-\x20category:\x20syntax\x20|\x20type\x20|\x20import\x20|\x20style\x20|\x20security\x20|\x20performance\x20|\x20best_practice\x0a-\x20fixable:\x20Whether\x20error\x20can\x20be\x20auto-fixed\x0a-\x20suggestion:\x20Fix\x20suggestion\x20(if\x20applicable)\x0a-\x20remediation:\x20Security\x20remediation\x20advice\x20(for\x20security\x20issues)\x0a\x0aDETECTION:\x0a-\x20Language:\x20Automatically\x20detected\x20from\x20file\x20extension\x0a-\x20Framework:\x20Detected\x20from\x20package.json,\x20requirements.txt,\x20etc.\x0a-\x20Context:\x20Project\x20structure\x20analyzed\x20for\x20better\x20accuracy\x0a\x0aEXAMPLES:\x0a\x0aFind\x20all\x20errors\x20in\x20a\x20JavaScript\x20file:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aAnalyze\x20TypeScript\x20with\x20type\x20checking:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/types.ts\x22\x20/>\x0a[/tool]\x0a\x0aCheck\x20all\x20Python\x20files\x20in\x20a\x20directory:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22backend\x22\x20pattern=\x22**/*.py\x22\x20/>\x0a[/tool]\x0a\x0aLIMITATIONS:\x0a-\x20File\x20size\x20limit:\x20'+Math[_0x584aa6(0x1eb)](this[_0x584aa6(0x1c7)]/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this['maxFilesPerBatch']+'\x20files\x20per\x20operation\x0a-\x20Analysis\x20timeout:\x20'+this['timeout']/0x3e8+'\x20seconds\x0a-\x20Only\x20supports\x20languages\x20with\x20built-in\x20analyzers\x0a\x20\x20\x20\x20';}[a0_0x1bbc11(0x198)](_0x4097e6){const _0x4075c0=a0_0x1bbc11;try{const _0x3b63b9={},_0x1ceec5=[];this[_0x4075c0(0x22a)]?.['debug'](_0x4075c0(0x1ab),{'contentLength':_0x4097e6[_0x4075c0(0x219)],'contentPreview':_0x4097e6['substring'](0x0,0xc8)});const _0x41add2=/<analyze\s+(.+?)\/>/g;let _0x224090;while((_0x224090=_0x41add2[_0x4075c0(0x1b9)](_0x4097e6))!==null){const _0x234abb=_0x224090[0x1]['trim'](),_0x4b6785=new a0_0xd47e02(),_0x4fecc3=_0x4b6785[_0x4075c0(0x21c)](_0x234abb),_0x3bc7d3={'type':_0x4075c0(0x1b8),..._0x4fecc3};_0x3bc7d3[_0x4075c0(0x20d)]&&(_0x3bc7d3['filePath']=_0x3bc7d3[_0x4075c0(0x20d)],delete _0x3bc7d3['file-path']),_0x3bc7d3['include-warnings']&&(_0x3bc7d3[_0x4075c0(0x1d2)]=_0x3bc7d3[_0x4075c0(0x1c9)]===_0x4075c0(0x1f3),delete _0x3bc7d3['include-warnings']),_0x3bc7d3['max-errors']&&(_0x3bc7d3['maxErrors']=parseInt(_0x3bc7d3['max-errors'],0xa),delete _0x3bc7d3['max-errors']),_0x1ceec5[_0x4075c0(0x1fc)](_0x3bc7d3);}const _0xf4eebd=/<analyze-project\s+(.+?)\/>/g;while((_0x224090=_0xf4eebd['exec'](_0x4097e6))!==null){const _0x41ab86=_0x224090[0x1][_0x4075c0(0x191)](),_0x46008c=new a0_0xd47e02(),_0x3a64df=_0x46008c[_0x4075c0(0x21c)](_0x41ab86),_0x360244={'type':'analyze-project',..._0x3a64df};_0x360244[_0x4075c0(0x1c9)]&&(_0x360244[_0x4075c0(0x1d2)]=_0x360244[_0x4075c0(0x1c9)]===_0x4075c0(0x1f3),delete _0x360244[_0x4075c0(0x1c9)]),_0x360244['max-errors']&&(_0x360244[_0x4075c0(0x224)]=parseInt(_0x360244['max-errors'],0xa),delete _0x360244[_0x4075c0(0x1a1)]),_0x1ceec5['push'](_0x360244);}const _0x35bf28=/<fix\s+(.+?)\/>/g;while((_0x224090=_0x35bf28['exec'](_0x4097e6))!==null){const _0x2d0e7b=_0x224090[0x1][_0x4075c0(0x191)](),_0x895130=new a0_0xd47e02(),_0xfc7853=_0x895130[_0x4075c0(0x21c)](_0x2d0e7b),_0xeb40d6={'type':'fix',..._0xfc7853};_0xeb40d6[_0x4075c0(0x20d)]&&(_0xeb40d6[_0x4075c0(0x18e)]=_0xeb40d6['file-path'],delete _0xeb40d6[_0x4075c0(0x20d)]),_0xeb40d6[_0x4075c0(0x251)]&&(_0xeb40d6['writeFile']=_0xeb40d6['write-file']===_0x4075c0(0x1f3),delete _0xeb40d6[_0x4075c0(0x251)]),_0x1ceec5[_0x4075c0(0x1fc)](_0xeb40d6);}const _0x3f838c=/<format\s+(.+?)\/>/g;while((_0x224090=_0x3f838c['exec'](_0x4097e6))!==null){const _0x516fe6=_0x224090[0x1][_0x4075c0(0x191)](),_0x403644=new a0_0xd47e02(),_0x2c068c=_0x403644['parseAttributes'](_0x516fe6),_0x5aea86={'type':'format',..._0x2c068c};_0x5aea86[_0x4075c0(0x20d)]&&(_0x5aea86[_0x4075c0(0x18e)]=_0x5aea86[_0x4075c0(0x20d)],delete _0x5aea86[_0x4075c0(0x20d)]),_0x5aea86[_0x4075c0(0x251)]&&(_0x5aea86[_0x4075c0(0x24e)]=_0x5aea86['write-file']===_0x4075c0(0x1f3),delete _0x5aea86['write-file']),_0x1ceec5['push'](_0x5aea86);}const _0x4c48f0=/<security-scan\s+(.+?)\/>/g;while((_0x224090=_0x4c48f0['exec'](_0x4097e6))!==null){const _0x4a3a91=_0x224090[0x1]['trim'](),_0x2d0fc7=new a0_0xd47e02(),_0x241184=_0x2d0fc7['parseAttributes'](_0x4a3a91),_0x2837c3={'type':_0x4075c0(0x200),..._0x241184};_0x2837c3['file-path']&&(_0x2837c3['filePath']=_0x2837c3['file-path'],delete _0x2837c3[_0x4075c0(0x20d)]),_0x2837c3[_0x4075c0(0x1fb)]&&(_0x2837c3[_0x4075c0(0x239)]=_0x2837c3[_0x4075c0(0x1fb)]===_0x4075c0(0x1f3),delete _0x2837c3['skip-test-files']),_0x1ceec5['push'](_0x2837c3);}const _0x461819=/<security-scan-project\s+(.+?)\/>/g;while((_0x224090=_0x461819[_0x4075c0(0x1b9)](_0x4097e6))!==null){const _0x7f4d8a=_0x224090[0x1]['trim'](),_0x57c520=new a0_0xd47e02(),_0x34c0bd=_0x57c520[_0x4075c0(0x21c)](_0x7f4d8a),_0x52bc4a={'type':'security-scan-project',..._0x34c0bd};_0x52bc4a['skip-test-files']&&(_0x52bc4a[_0x4075c0(0x239)]=_0x52bc4a[_0x4075c0(0x1fb)]===_0x4075c0(0x1f3),delete _0x52bc4a[_0x4075c0(0x1fb)]),_0x1ceec5[_0x4075c0(0x1fc)](_0x52bc4a);}const _0x2d2463=/<validate-config\s+(.+?)\/>/g;while((_0x224090=_0x2d2463['exec'](_0x4097e6))!==null){const _0x3efd39=_0x224090[0x1][_0x4075c0(0x191)](),_0xdd4254=new a0_0xd47e02(),_0x2189cf=_0xdd4254[_0x4075c0(0x21c)](_0x3efd39),_0x4f692a={'type':'validate-config',..._0x2189cf};_0x4f692a[_0x4075c0(0x20d)]&&(_0x4f692a['filePath']=_0x4f692a[_0x4075c0(0x20d)],delete _0x4f692a[_0x4075c0(0x20d)]),_0x1ceec5[_0x4075c0(0x1fc)](_0x4f692a);}const _0x612dc4=/<validate-config-directory\s+(.+?)\/>/g;while((_0x224090=_0x612dc4[_0x4075c0(0x1b9)](_0x4097e6))!==null){const _0x2b64c2=_0x224090[0x1][_0x4075c0(0x191)](),_0x4308b8=new a0_0xd47e02(),_0x1de969=_0x4308b8['parseAttributes'](_0x2b64c2),_0x33b654={'type':'validate-config-directory',..._0x1de969};_0x1ceec5[_0x4075c0(0x1fc)](_0x33b654);}return _0x3b63b9[_0x4075c0(0x19b)]=_0x1ceec5,_0x3b63b9[_0x4075c0(0x20f)]=_0x4097e6[_0x4075c0(0x191)](),this[_0x4075c0(0x22a)]?.['debug'](_0x4075c0(0x1b2),{'totalActions':_0x1ceec5[_0x4075c0(0x219)],'actionTypes':_0x1ceec5[_0x4075c0(0x22f)](_0x4463a3=>_0x4463a3[_0x4075c0(0x1a9)])}),_0x3b63b9;}catch(_0x2a624b){throw new Error('Failed\x20to\x20parse\x20static\x20analysis\x20parameters:\x20'+_0x2a624b[_0x4075c0(0x1f8)]);}}[a0_0x1bbc11(0x199)](){const _0x3548f5=a0_0x1bbc11;return[_0x3548f5(0x19b)];}['customValidateParameters'](_0xfb0db2){const _0x77cbbf=a0_0x1bbc11,_0x5b3225=[];if(!_0xfb0db2[_0x77cbbf(0x19b)]||!Array['isArray'](_0xfb0db2[_0x77cbbf(0x19b)])||_0xfb0db2['actions']['length']===0x0)_0x5b3225['push'](_0x77cbbf(0x218));else{for(const [_0x35c1a7,_0x4ceb35]of _0xfb0db2[_0x77cbbf(0x19b)][_0x77cbbf(0x1da)]()){if(!_0x4ceb35[_0x77cbbf(0x1a9)]){_0x5b3225['push'](_0x77cbbf(0x1b3)+(_0x35c1a7+0x1)+_0x77cbbf(0x1ac));continue;}switch(_0x4ceb35['type']){case'analyze':!_0x4ceb35['filePath']&&_0x5b3225[_0x77cbbf(0x1fc)](_0x77cbbf(0x1b3)+(_0x35c1a7+0x1)+_0x77cbbf(0x207));break;case _0x77cbbf(0x23c):!_0x4ceb35[_0x77cbbf(0x229)]&&_0x5b3225['push']('Action\x20'+(_0x35c1a7+0x1)+':\x20directory\x20is\x20required\x20for\x20analyze-project');break;case _0x77cbbf(0x217):!_0x4ceb35[_0x77cbbf(0x18e)]&&_0x5b3225['push'](_0x77cbbf(0x1b3)+(_0x35c1a7+0x1)+':\x20file-path\x20is\x20required\x20for\x20fix');break;case'format':!_0x4ceb35[_0x77cbbf(0x18e)]&&_0x5b3225['push']('Action\x20'+(_0x35c1a7+0x1)+_0x77cbbf(0x1ff));break;case'security-scan':!_0x4ceb35['filePath']&&_0x5b3225['push']('Action\x20'+(_0x35c1a7+0x1)+':\x20file-path\x20is\x20required\x20for\x20security-scan');break;case'security-scan-project':!_0x4ceb35[_0x77cbbf(0x229)]&&_0x5b3225['push'](_0x77cbbf(0x1b3)+(_0x35c1a7+0x1)+_0x77cbbf(0x188));break;case _0x77cbbf(0x20c):!_0x4ceb35['filePath']&&_0x5b3225[_0x77cbbf(0x1fc)]('Action\x20'+(_0x35c1a7+0x1)+_0x77cbbf(0x19e));break;case _0x77cbbf(0x255):!_0x4ceb35[_0x77cbbf(0x229)]&&_0x5b3225[_0x77cbbf(0x1fc)](_0x77cbbf(0x1b3)+(_0x35c1a7+0x1)+_0x77cbbf(0x247));break;default:_0x5b3225[_0x77cbbf(0x1fc)]('Action\x20'+(_0x35c1a7+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x4ceb35['type']);}}_0xfb0db2['actions'][_0x77cbbf(0x219)]>this['maxFilesPerBatch']&&_0x5b3225[_0x77cbbf(0x1fc)](_0x77cbbf(0x254)+_0xfb0db2['actions'][_0x77cbbf(0x219)]+_0x77cbbf(0x23e)+this[_0x77cbbf(0x23b)]+')');}return{'valid':_0x5b3225['length']===0x0,'errors':_0x5b3225};}async[a0_0x1bbc11(0x232)](_0x2d2ff3,_0x59fe1c){const _0x29dbbf=a0_0x1bbc11,{actions:_0x4d5c48}=_0x2d2ff3,{projectDir:_0x4f9c89,agentId:_0x2692dd,directoryAccess:_0x24e992}=_0x59fe1c,_0x41c274=_0x24e992||this[_0x29dbbf(0x241)][_0x29dbbf(0x1b7)]({'workingDirectory':_0x4f9c89||process['cwd'](),'writeEnabledDirectories':[_0x4f9c89||process['cwd']()],'restrictToProject':!![]}),_0x5e47e0=this[_0x29dbbf(0x241)]['getWorkingDirectory'](_0x41c274),_0xcc3457={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x39b0eb of _0x4d5c48){try{let _0x47c479;switch(_0x39b0eb['type']){case'analyze':_0x47c479=await this['analyzeFile'](_0x39b0eb[_0x29dbbf(0x18e)],_0x5e47e0,_0x41c274,_0x39b0eb);_0x47c479&&(_0xcc3457['files']['push'](_0x47c479),this['updateSummary'](_0xcc3457['summary'],_0x47c479));break;case'analyze-project':const _0x143996=await this[_0x29dbbf(0x18d)](_0x39b0eb[_0x29dbbf(0x229)],_0x39b0eb[_0x29dbbf(0x208)],_0x5e47e0,_0x41c274,_0x39b0eb);_0xcc3457[_0x29dbbf(0x21a)][_0x29dbbf(0x1fc)](..._0x143996);for(const _0x3a1d82 of _0x143996){this['updateSummary'](_0xcc3457['summary'],_0x3a1d82);}break;case _0x29dbbf(0x217):_0x47c479=await this[_0x29dbbf(0x213)](_0x39b0eb[_0x29dbbf(0x18e)],_0x5e47e0,_0x41c274,_0x39b0eb);_0x47c479&&_0xcc3457['files']['push'](_0x47c479);break;case'format':_0x47c479=await this['formatFile'](_0x39b0eb['filePath'],_0x5e47e0,_0x41c274,_0x39b0eb);_0x47c479&&_0xcc3457[_0x29dbbf(0x21a)][_0x29dbbf(0x1fc)](_0x47c479);break;case'security-scan':_0x47c479=await this[_0x29dbbf(0x25f)](_0x39b0eb[_0x29dbbf(0x18e)],_0x5e47e0,_0x41c274,_0x39b0eb);_0x47c479&&(_0xcc3457['files'][_0x29dbbf(0x1fc)](_0x47c479),this[_0x29dbbf(0x257)](_0xcc3457[_0x29dbbf(0x1c2)],_0x47c479));break;case _0x29dbbf(0x1ce):const _0x445c7d=await this[_0x29dbbf(0x1c8)](_0x39b0eb[_0x29dbbf(0x229)],_0x39b0eb['pattern'],_0x5e47e0,_0x41c274,_0x39b0eb);_0xcc3457['files'][_0x29dbbf(0x1fc)](..._0x445c7d);for(const _0x379b28 of _0x445c7d){this[_0x29dbbf(0x257)](_0xcc3457[_0x29dbbf(0x1c2)],_0x379b28);}break;case _0x29dbbf(0x20c):_0x47c479=await this[_0x29dbbf(0x235)](_0x39b0eb[_0x29dbbf(0x18e)],_0x5e47e0,_0x41c274,_0x39b0eb);_0x47c479&&(_0xcc3457['files'][_0x29dbbf(0x1fc)](_0x47c479),this[_0x29dbbf(0x257)](_0xcc3457[_0x29dbbf(0x1c2)],_0x47c479));break;case _0x29dbbf(0x255):const _0x5c136d=await this['validateConfigDirectory'](_0x39b0eb[_0x29dbbf(0x229)],_0x5e47e0,_0x41c274,_0x39b0eb);_0xcc3457['files'][_0x29dbbf(0x1fc)](..._0x5c136d);for(const _0x347d84 of _0x5c136d){this['updateSummary'](_0xcc3457[_0x29dbbf(0x1c2)],_0x347d84);}break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x39b0eb['type']);}}catch(_0x8a85a1){this[_0x29dbbf(0x22a)]?.[_0x29dbbf(0x24d)]('Static\x20analysis\x20action\x20failed',{'action':_0x39b0eb['type'],'error':_0x8a85a1[_0x29dbbf(0x1f8)]}),_0xcc3457['files'][_0x29dbbf(0x1fc)]({'file':_0x39b0eb['filePath']||_0x39b0eb['directory'],'error':_0x8a85a1[_0x29dbbf(0x1f8)],'success':![]});}}return{'success':!![],'results':_0xcc3457,'toolUsed':_0x29dbbf(0x258),'performance':this['getPerformanceMetrics']()};}async['analyzeFile'](_0x137777,_0x5d8a33,_0x5321b7,_0x43a7e2={}){const _0xb9a7ed=a0_0x1bbc11,_0x5ab2e5=a0_0x29121e['isAbsolute'](_0x137777)?a0_0x29121e[_0xb9a7ed(0x19f)](_0x137777):a0_0x29121e[_0xb9a7ed(0x221)](_0x5d8a33,_0x137777),_0x384e38=this['directoryAccessManager'][_0xb9a7ed(0x195)](_0x5ab2e5,_0x5321b7);if(!_0x384e38[_0xb9a7ed(0x22c)])throw new Error('Read\x20access\x20denied:\x20'+_0x384e38[_0xb9a7ed(0x201)]);try{const _0x38763c=await a0_0x156fb2['stat'](_0x5ab2e5);if(_0x38763c[_0xb9a7ed(0x1aa)]>this[_0xb9a7ed(0x1c7)])throw new Error(_0xb9a7ed(0x1fa)+_0x38763c[_0xb9a7ed(0x1aa)]+_0xb9a7ed(0x204)+this[_0xb9a7ed(0x1c7)]+')');const _0x27352f=this[_0xb9a7ed(0x1b1)](_0x5ab2e5);if(!_0x27352f)return{'file':this[_0xb9a7ed(0x241)]['createRelativePath'](_0x5ab2e5,_0x5321b7),'fullPath':_0x5ab2e5,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0xb9a7ed(0x182)};const _0x51906c=await a0_0x156fb2['readFile'](_0x5ab2e5,'utf-8'),_0x17a762=this[_0xb9a7ed(0x1c4)]?this[_0xb9a7ed(0x1dd)](_0x51906c):null,_0x4c813f=this['useContentHash']?_0x5ab2e5+':'+_0x17a762:_0x5ab2e5+':'+_0x38763c['mtime']['getTime']();if(this[_0xb9a7ed(0x259)]&&this['analysisCache']['has'](_0x4c813f)){const _0x4db550=this['analysisCache'][_0xb9a7ed(0x1a8)](_0x4c813f);if(Date[_0xb9a7ed(0x260)]()-_0x4db550[_0xb9a7ed(0x206)]<this['cacheExpiry'])return this[_0xb9a7ed(0x22a)]?.[_0xb9a7ed(0x18b)](_0xb9a7ed(0x1fe),{'file':_0x5ab2e5}),this[_0xb9a7ed(0x1a4)]['cacheHits']++,this[_0xb9a7ed(0x1a4)][_0xb9a7ed(0x209)]++,_0x4db550['result'];}this['metrics']['cacheMisses']++,this['metrics']['totalAnalyses']++;const _0x3ae59f=await this[_0xb9a7ed(0x1e5)](_0x27352f);if(!_0x3ae59f)return{'file':this[_0xb9a7ed(0x241)][_0xb9a7ed(0x185)](_0x5ab2e5,_0x5321b7),'fullPath':_0x5ab2e5,'language':_0x27352f,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0xb9a7ed(0x210)+_0x27352f};const _0x5bc506=Date['now'](),_0x7cb66a=await _0x3ae59f[_0xb9a7ed(0x1b8)](_0x5ab2e5,_0x51906c,{'workingDir':_0x5d8a33,'accessConfig':_0x5321b7,'framework':await this['detectFramework'](_0x5d8a33,_0x27352f)}),_0x3ddd24=Date['now']()-_0x5bc506;this[_0xb9a7ed(0x1a4)]['totalAnalysisTime']+=_0x3ddd24,this[_0xb9a7ed(0x1a4)][_0xb9a7ed(0x1bb)]++;const _0x298e67={'file':this['directoryAccessManager'][_0xb9a7ed(0x185)](_0x5ab2e5,_0x5321b7),'fullPath':_0x5ab2e5,'language':_0x27352f,'framework':await this[_0xb9a7ed(0x1e6)](_0x5d8a33,_0x27352f),'errors':_0x7cb66a[_0xb9a7ed(0x18f)](_0x40e964=>_0x40e964[_0xb9a7ed(0x263)]===STATIC_ANALYSIS['SEVERITY'][_0xb9a7ed(0x183)]),'warnings':_0x43a7e2['includeWarnings']!==![]?_0x7cb66a['filter'](_0x34a22a=>_0x34a22a['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING']):[],'info':_0x7cb66a[_0xb9a7ed(0x18f)](_0x20e301=>_0x20e301[_0xb9a7ed(0x263)]===STATIC_ANALYSIS['SEVERITY'][_0xb9a7ed(0x1de)]),'totalIssues':_0x7cb66a['length'],'analyzed':!![],'timestamp':new Date()[_0xb9a7ed(0x234)]()};return _0x43a7e2[_0xb9a7ed(0x224)]&&_0x298e67['errors'][_0xb9a7ed(0x219)]>_0x43a7e2[_0xb9a7ed(0x224)]&&(_0x298e67['errors']=_0x298e67[_0xb9a7ed(0x20b)]['slice'](0x0,_0x43a7e2[_0xb9a7ed(0x224)]),_0x298e67['truncated']=!![]),this['enableCache']&&this[_0xb9a7ed(0x25b)][_0xb9a7ed(0x1f2)](_0x4c813f,{'result':_0x298e67,'timestamp':Date[_0xb9a7ed(0x260)]()}),_0x298e67;}catch(_0x508c02){throw new Error(_0xb9a7ed(0x1cb)+_0x137777+':\x20'+_0x508c02[_0xb9a7ed(0x1f8)]);}}async['analyzeProject'](_0x4bee76,_0x49d944,_0x5a55e0,_0x5d97ff,_0x2e9974={}){const _0x3e7f9b=a0_0x1bbc11,_0x49e681=a0_0x29121e['isAbsolute'](_0x4bee76)?a0_0x29121e[_0x3e7f9b(0x19f)](_0x4bee76):a0_0x29121e[_0x3e7f9b(0x221)](_0x5a55e0,_0x4bee76),_0x3aed68=this[_0x3e7f9b(0x241)][_0x3e7f9b(0x195)](_0x49e681,_0x5d97ff);if(!_0x3aed68['allowed'])throw new Error(_0x3e7f9b(0x249)+_0x3aed68[_0x3e7f9b(0x201)]);const _0x2601cf=await this['findFiles'](_0x49e681,_0x49d944);if(_0x2601cf[_0x3e7f9b(0x219)]>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x2601cf[_0x3e7f9b(0x219)]+'\x20(max\x20'+this[_0x3e7f9b(0x23b)]+')');const _0xb51721=[];if(this[_0x3e7f9b(0x226)]&&_0x2601cf['length']>0x1){this[_0x3e7f9b(0x22a)]?.['debug']('Using\x20parallel\x20analysis',{'totalFiles':_0x2601cf[_0x3e7f9b(0x219)],'batchSize':this['maxParallelFiles']});for(let _0x248554=0x0;_0x248554<_0x2601cf['length'];_0x248554+=this['maxParallelFiles']){const _0x380c9b=_0x2601cf[_0x3e7f9b(0x194)](_0x248554,_0x248554+this['maxParallelFiles']);this[_0x3e7f9b(0x1a4)][_0x3e7f9b(0x238)]++;const _0x4346b9={'completed':_0x248554,'total':_0x2601cf['length'],'percentage':Math['round'](_0x248554/_0x2601cf[_0x3e7f9b(0x219)]*0x64)};_0x2e9974['onProgress']&&_0x2e9974[_0x3e7f9b(0x1b6)](_0x4346b9);this['logger']?.['debug']('Analyzing\x20batch',{'batch':Math[_0x3e7f9b(0x1b0)](_0x248554/this[_0x3e7f9b(0x256)])+0x1,'filesInBatch':_0x380c9b['length'],'progress':_0x4346b9['completed']+'/'+_0x4346b9['total']});const _0xb82c4=_0x380c9b['map'](async _0x49d23e=>{const _0x236221=_0x3e7f9b;try{const _0x1255da=await this['analyzeFile'](_0x49d23e,_0x5a55e0,_0x5d97ff,_0x2e9974);return _0x1255da;}catch(_0x831735){return this[_0x236221(0x22a)]?.[_0x236221(0x1c3)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x49d23e,'error':_0x831735[_0x236221(0x1f8)]}),{'file':this[_0x236221(0x241)]['createRelativePath'](_0x49d23e,_0x5d97ff),'fullPath':_0x49d23e,'error':_0x831735['message'],'success':![]};}}),_0x35b278=await Promise[_0x3e7f9b(0x1ed)](_0xb82c4);_0xb51721[_0x3e7f9b(0x1fc)](..._0x35b278['filter'](_0x5b3744=>_0x5b3744!==null));}_0x2e9974['onProgress']&&_0x2e9974['onProgress']({'completed':_0x2601cf[_0x3e7f9b(0x219)],'total':_0x2601cf['length'],'percentage':0x64});}else for(const _0x5b5d59 of _0x2601cf){try{const _0x3acc0d=await this[_0x3e7f9b(0x1a7)](_0x5b5d59,_0x5a55e0,_0x5d97ff,_0x2e9974);_0x3acc0d&&_0xb51721[_0x3e7f9b(0x1fc)](_0x3acc0d);}catch(_0x1fcc54){this['logger']?.['warn'](_0x3e7f9b(0x189),{'file':_0x5b5d59,'error':_0x1fcc54[_0x3e7f9b(0x1f8)]}),_0xb51721[_0x3e7f9b(0x1fc)]({'file':this[_0x3e7f9b(0x241)]['createRelativePath'](_0x5b5d59,_0x5d97ff),'fullPath':_0x5b5d59,'error':_0x1fcc54['message'],'success':![]});}}return _0xb51721;}async['fixFile'](_0x19a72c,_0x1f9daf,_0x3119b5,_0x47dfa3={}){const _0x772e77=a0_0x1bbc11,_0x20859d=a0_0x29121e['isAbsolute'](_0x19a72c)?a0_0x29121e[_0x772e77(0x19f)](_0x19a72c):a0_0x29121e['resolve'](_0x1f9daf,_0x19a72c),_0x192f54=this[_0x772e77(0x241)][_0x772e77(0x195)](_0x20859d,_0x3119b5);if(!_0x192f54[_0x772e77(0x22c)])throw new Error('Read\x20access\x20denied:\x20'+_0x192f54['reason']);if(_0x47dfa3['writeFile']){const _0x3e00e6=this['directoryAccessManager'][_0x772e77(0x187)](_0x20859d,_0x3119b5);if(!_0x3e00e6[_0x772e77(0x22c)])throw new Error('Write\x20access\x20denied:\x20'+_0x3e00e6['reason']);}try{const _0x4d3423=await a0_0x156fb2['readFile'](_0x20859d,_0x772e77(0x1ec)),_0x286b3a=await this[_0x772e77(0x1bd)](),_0x74029f=await _0x286b3a['fix'](_0x20859d,_0x4d3423,{'workingDir':_0x1f9daf,'accessConfig':_0x3119b5,'framework':await this['detectFramework'](_0x1f9daf,this[_0x772e77(0x1b1)](_0x20859d))});return _0x47dfa3['writeFile']&&_0x74029f[_0x772e77(0x20e)]&&(await a0_0x156fb2['writeFile'](_0x20859d,_0x74029f[_0x772e77(0x1b5)],_0x772e77(0x1ec)),this['logger']?.[_0x772e77(0x1d1)]('File\x20fixed\x20and\x20written',{'file':_0x20859d})),{'file':this[_0x772e77(0x241)][_0x772e77(0x185)](_0x20859d,_0x3119b5),'fullPath':_0x20859d,'action':_0x772e77(0x217),'fixed':_0x74029f[_0x772e77(0x20e)],'fixedCount':_0x74029f[_0x772e77(0x1cd)],'remainingErrors':_0x74029f['remainingErrors'],'remainingWarnings':_0x74029f['remainingWarnings'],'changes':_0x74029f[_0x772e77(0x1d0)],'written':!!(_0x47dfa3[_0x772e77(0x24e)]&&_0x74029f[_0x772e77(0x20e)]),'preview':!_0x47dfa3[_0x772e77(0x24e)]&&_0x74029f[_0x772e77(0x20e)]?_0x74029f[_0x772e77(0x1b5)]:undefined};}catch(_0x847ec6){throw new Error(_0x772e77(0x18a)+_0x19a72c+':\x20'+_0x847ec6['message']);}}async['formatFile'](_0x183db9,_0x2c75a2,_0x8b2da2,_0x1069de={}){const _0xfd9b9d=a0_0x1bbc11,_0x573790=a0_0x29121e['isAbsolute'](_0x183db9)?a0_0x29121e['normalize'](_0x183db9):a0_0x29121e[_0xfd9b9d(0x221)](_0x2c75a2,_0x183db9),_0x11e461=this[_0xfd9b9d(0x241)]['validateReadAccess'](_0x573790,_0x8b2da2);if(!_0x11e461[_0xfd9b9d(0x22c)])throw new Error(_0xfd9b9d(0x249)+_0x11e461[_0xfd9b9d(0x201)]);if(_0x1069de['writeFile']){const _0x1e8adc=this[_0xfd9b9d(0x241)][_0xfd9b9d(0x187)](_0x573790,_0x8b2da2);if(!_0x1e8adc['allowed'])throw new Error(_0xfd9b9d(0x261)+_0x1e8adc[_0xfd9b9d(0x201)]);}try{const _0x93ca8f=await a0_0x156fb2['readFile'](_0x573790,'utf-8'),_0x453eed=await this[_0xfd9b9d(0x1dc)]();if(!_0x453eed[_0xfd9b9d(0x1ad)](_0x573790))return{'file':this['directoryAccessManager']['createRelativePath'](_0x573790,_0x8b2da2),'fullPath':_0x573790,'action':'format','formatted':![],'skipped':!![],'skipReason':_0xfd9b9d(0x1f6)};const _0x1d7499=await _0x453eed['format'](_0x573790,_0x93ca8f,{'workingDir':_0x2c75a2,'accessConfig':_0x8b2da2});return _0x1069de[_0xfd9b9d(0x24e)]&&_0x1d7499['formatted']&&(await a0_0x156fb2['writeFile'](_0x573790,_0x1d7499['content'],_0xfd9b9d(0x1ec)),this[_0xfd9b9d(0x22a)]?.[_0xfd9b9d(0x1d1)]('File\x20formatted\x20and\x20written',{'file':_0x573790})),{'file':this['directoryAccessManager']['createRelativePath'](_0x573790,_0x8b2da2),'fullPath':_0x573790,'action':'format','formatted':_0x1d7499['formatted'],'linesChanged':_0x1d7499[_0xfd9b9d(0x215)],'changes':_0x1d7499['changes'],'written':!!(_0x1069de['writeFile']&&_0x1d7499[_0xfd9b9d(0x1ef)]),'preview':!_0x1069de['writeFile']&&_0x1d7499['formatted']?_0x1d7499['content']:undefined};}catch(_0x527c25){throw new Error('Failed\x20to\x20format\x20'+_0x183db9+':\x20'+_0x527c25[_0xfd9b9d(0x1f8)]);}}async[a0_0x1bbc11(0x25f)](_0x194c2b,_0x48546d,_0x588a0c,_0x5a14a6={}){const _0x7e899a=a0_0x1bbc11,_0x12e627=a0_0x29121e['isAbsolute'](_0x194c2b)?a0_0x29121e[_0x7e899a(0x19f)](_0x194c2b):a0_0x29121e[_0x7e899a(0x221)](_0x48546d,_0x194c2b),_0x2a4be6=this['directoryAccessManager'][_0x7e899a(0x195)](_0x12e627,_0x588a0c);if(!_0x2a4be6['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x2a4be6[_0x7e899a(0x201)]);try{const _0x5eaf36=await a0_0x156fb2['stat'](_0x12e627);if(_0x5eaf36['size']>this[_0x7e899a(0x1c7)])throw new Error(_0x7e899a(0x1fa)+_0x5eaf36[_0x7e899a(0x1aa)]+_0x7e899a(0x204)+this[_0x7e899a(0x1c7)]+')');const _0x62f16d=this[_0x7e899a(0x1b1)](_0x12e627);if(!_0x62f16d||!['javascript',_0x7e899a(0x1ae),'python']['includes'](_0x62f16d))return{'file':this['directoryAccessManager']['createRelativePath'](_0x12e627,_0x588a0c),'fullPath':_0x12e627,'language':_0x62f16d||_0x7e899a(0x23d),'issues':[],'skipped':!![],'skipReason':_0x7e899a(0x1ea)};const _0x1d1ad1=await a0_0x156fb2['readFile'](_0x12e627,_0x7e899a(0x1ec)),_0x346642=await this['getSecurityAnalyzer'](),_0x2feb67=await _0x346642['analyze'](_0x12e627,_0x1d1ad1,{'skipTestFiles':_0x5a14a6['skipTestFiles']!==![]}),_0x4f3aaa={'file':this[_0x7e899a(0x241)][_0x7e899a(0x185)](_0x12e627,_0x588a0c),'fullPath':_0x12e627,'language':_0x62f16d,'action':_0x7e899a(0x200),'critical':_0x2feb67['filter'](_0x1ec5d9=>_0x1ec5d9['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x2feb67[_0x7e899a(0x18f)](_0x5ee43a=>_0x5ee43a[_0x7e899a(0x263)]===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x2feb67[_0x7e899a(0x18f)](_0x20074f=>_0x20074f[_0x7e899a(0x263)]===STATIC_ANALYSIS[_0x7e899a(0x1f1)]['WARNING']),'info':_0x2feb67[_0x7e899a(0x18f)](_0x44d173=>_0x44d173['severity']===STATIC_ANALYSIS[_0x7e899a(0x1f1)]['INFO']),'totalIssues':_0x2feb67['length'],'analyzed':!![],'scannersUsed':_0x2feb67['map'](_0x438b40=>_0x438b40['scanner'])['filter']((_0x1bebdc,_0x1e2e07,_0x19d609)=>_0x19d609[_0x7e899a(0x1e4)](_0x1bebdc)===_0x1e2e07),'timestamp':new Date()['toISOString']()};return _0x4f3aaa;}catch(_0x570d22){throw new Error(_0x7e899a(0x1d5)+_0x194c2b+':\x20'+_0x570d22['message']);}}async[a0_0x1bbc11(0x1c8)](_0x20eb89,_0x908ec9,_0xd8ee25,_0x255ce6,_0x202735={}){const _0x33632a=a0_0x1bbc11,_0x39eec0=a0_0x29121e['isAbsolute'](_0x20eb89)?a0_0x29121e['normalize'](_0x20eb89):a0_0x29121e[_0x33632a(0x221)](_0xd8ee25,_0x20eb89),_0xcd0367=this['directoryAccessManager']['validateReadAccess'](_0x39eec0,_0x255ce6);if(!_0xcd0367['allowed'])throw new Error(_0x33632a(0x249)+_0xcd0367[_0x33632a(0x201)]);const _0x48e93d=await this[_0x33632a(0x1f5)](),_0x4f0503=await _0x48e93d['analyzeProject'](_0x39eec0,_0x33632a(0x242),_0x202735),_0x465b25=_0x908ec9||'**/*.{js,jsx,mjs,cjs,ts,tsx,py}',_0x1cd95e=await this[_0x33632a(0x23f)](_0x39eec0,_0x465b25);if(_0x1cd95e[_0x33632a(0x219)]>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x1cd95e['length']+_0x33632a(0x23e)+this['maxFilesPerBatch']+')');const _0x49cb3d=[];if(this[_0x33632a(0x226)]&&_0x1cd95e[_0x33632a(0x219)]>0x1){this[_0x33632a(0x22a)]?.['debug']('Using\x20parallel\x20security\x20scanning',{'totalFiles':_0x1cd95e['length'],'batchSize':this['maxParallelFiles']});for(let _0xdf2108=0x0;_0xdf2108<_0x1cd95e['length'];_0xdf2108+=this['maxParallelFiles']){const _0x404393=_0x1cd95e[_0x33632a(0x194)](_0xdf2108,_0xdf2108+this['maxParallelFiles']);_0x202735[_0x33632a(0x1b6)]&&_0x202735['onProgress']({'completed':_0xdf2108,'total':_0x1cd95e['length'],'percentage':Math[_0x33632a(0x1eb)](_0xdf2108/_0x1cd95e[_0x33632a(0x219)]*0x64)});const _0x346c0e=_0x404393[_0x33632a(0x22f)](async _0x270155=>{const _0x29d2cd=_0x33632a;try{return await this['securityScanFile'](_0x270155,_0xd8ee25,_0x255ce6,_0x202735);}catch(_0x3032d1){return this['logger']?.['warn']('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x270155,'error':_0x3032d1[_0x29d2cd(0x1f8)]}),{'file':this[_0x29d2cd(0x241)]['createRelativePath'](_0x270155,_0x255ce6),'fullPath':_0x270155,'error':_0x3032d1[_0x29d2cd(0x1f8)],'success':![]};}}),_0xecc30f=await Promise['all'](_0x346c0e);_0x49cb3d['push'](..._0xecc30f['filter'](_0x2165f6=>_0x2165f6!==null));}_0x202735[_0x33632a(0x1b6)]&&_0x202735['onProgress']({'completed':_0x1cd95e[_0x33632a(0x219)],'total':_0x1cd95e[_0x33632a(0x219)],'percentage':0x64});}else for(const _0x40e422 of _0x1cd95e){try{const _0x4ce8fa=await this[_0x33632a(0x25f)](_0x40e422,_0xd8ee25,_0x255ce6,_0x202735);_0x4ce8fa&&_0x49cb3d[_0x33632a(0x1fc)](_0x4ce8fa);}catch(_0x5c92e0){this['logger']?.['warn'](_0x33632a(0x23a),{'file':_0x40e422,'error':_0x5c92e0[_0x33632a(0x1f8)]}),_0x49cb3d[_0x33632a(0x1fc)]({'file':this[_0x33632a(0x241)][_0x33632a(0x185)](_0x40e422,_0x255ce6),'fullPath':_0x40e422,'error':_0x5c92e0[_0x33632a(0x1f8)],'success':![]});}}return _0x4f0503['length']>0x0&&_0x49cb3d['push']({'file':a0_0x29121e['join'](_0x39eec0,_0x33632a(0x25d)),'fullPath':a0_0x29121e['join'](_0x39eec0,'package.json'),'action':'dependency-scan','critical':_0x4f0503[_0x33632a(0x18f)](_0x7352b7=>_0x7352b7['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x4f0503[_0x33632a(0x18f)](_0x4dbba9=>_0x4dbba9[_0x33632a(0x263)]===STATIC_ANALYSIS[_0x33632a(0x1f1)][_0x33632a(0x183)]),'warnings':_0x4f0503[_0x33632a(0x18f)](_0x5402dd=>_0x5402dd[_0x33632a(0x263)]===STATIC_ANALYSIS['SEVERITY'][_0x33632a(0x1af)]),'info':_0x4f0503[_0x33632a(0x18f)](_0x46a5c9=>_0x46a5c9['severity']===STATIC_ANALYSIS['SEVERITY'][_0x33632a(0x1de)]),'totalIssues':_0x4f0503[_0x33632a(0x219)],'analyzed':!![],'scannersUsed':['npm-audit'],'timestamp':new Date()[_0x33632a(0x234)]()}),_0x49cb3d;}async['validateConfigFile'](_0x1268cf,_0x3f77b2,_0x176870,_0x592f64={}){const _0xbf0440=a0_0x1bbc11,_0x2c4ef4=a0_0x29121e['isAbsolute'](_0x1268cf)?a0_0x29121e[_0xbf0440(0x19f)](_0x1268cf):a0_0x29121e['resolve'](_0x3f77b2,_0x1268cf),_0x5ae329=this['directoryAccessManager']['validateReadAccess'](_0x2c4ef4,_0x176870);if(!_0x5ae329[_0xbf0440(0x22c)])throw new Error(_0xbf0440(0x249)+_0x5ae329[_0xbf0440(0x201)]);try{const _0x8bde95=await a0_0x156fb2['stat'](_0x2c4ef4);if(_0x8bde95[_0xbf0440(0x1aa)]>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x8bde95[_0xbf0440(0x1aa)]+_0xbf0440(0x204)+this[_0xbf0440(0x1c7)]+')');const _0x540192=await this['getConfigValidator'](),_0x18bdeb=await _0x540192[_0xbf0440(0x1d6)](_0x2c4ef4,_0x592f64),_0x27ebe3={'file':this['directoryAccessManager'][_0xbf0440(0x185)](_0x2c4ef4,_0x176870),'fullPath':_0x2c4ef4,'action':'validate-config','critical':_0x18bdeb['filter'](_0x3eaf84=>_0x3eaf84['severity']===STATIC_ANALYSIS[_0xbf0440(0x1f1)]['CRITICAL']),'errors':_0x18bdeb[_0xbf0440(0x18f)](_0x201399=>_0x201399['severity']===STATIC_ANALYSIS['SEVERITY'][_0xbf0440(0x183)]),'warnings':_0x18bdeb['filter'](_0x36334e=>_0x36334e[_0xbf0440(0x263)]===STATIC_ANALYSIS[_0xbf0440(0x1f1)]['WARNING']),'info':_0x18bdeb[_0xbf0440(0x18f)](_0x1e0f80=>_0x1e0f80['severity']===STATIC_ANALYSIS[_0xbf0440(0x1f1)]['INFO']),'totalIssues':_0x18bdeb[_0xbf0440(0x219)],'analyzed':!![],'validatorsUsed':_0x18bdeb['map'](_0x52e4eb=>_0x52e4eb[_0xbf0440(0x1ca)])[_0xbf0440(0x18f)]((_0x2ba5ed,_0x5168fe,_0x555553)=>_0x555553[_0xbf0440(0x1e4)](_0x2ba5ed)===_0x5168fe),'timestamp':new Date()[_0xbf0440(0x234)]()};return _0x27ebe3;}catch(_0x334b27){throw new Error('Failed\x20to\x20validate\x20config\x20'+_0x1268cf+':\x20'+_0x334b27[_0xbf0440(0x1f8)]);}}async['validateConfigDirectory'](_0x168350,_0x3e53cc,_0x1b7f85,_0x1d6757={}){const _0x150769=a0_0x1bbc11,_0x26f080=a0_0x29121e['isAbsolute'](_0x168350)?a0_0x29121e['normalize'](_0x168350):a0_0x29121e['resolve'](_0x3e53cc,_0x168350),_0x925ca3=this['directoryAccessManager'][_0x150769(0x195)](_0x26f080,_0x1b7f85);if(!_0x925ca3[_0x150769(0x22c)])throw new Error('Read\x20access\x20denied:\x20'+_0x925ca3[_0x150769(0x201)]);const _0x3fac4a=await this[_0x150769(0x1a2)](_0x26f080);if(_0x3fac4a['length']>this[_0x150769(0x23b)])throw new Error(_0x150769(0x246)+_0x3fac4a[_0x150769(0x219)]+_0x150769(0x23e)+this[_0x150769(0x23b)]+')');const _0x311580=[];for(const _0x3058ce of _0x3fac4a){try{const _0x3dd082=await this[_0x150769(0x235)](_0x3058ce,_0x3e53cc,_0x1b7f85,_0x1d6757);_0x3dd082&&_0x311580['push'](_0x3dd082);}catch(_0xf86575){this['logger']?.[_0x150769(0x1c3)]('Failed\x20to\x20validate\x20config\x20file',{'file':_0x3058ce,'error':_0xf86575['message']}),_0x311580[_0x150769(0x1fc)]({'file':this[_0x150769(0x241)]['createRelativePath'](_0x3058ce,_0x1b7f85),'fullPath':_0x3058ce,'error':_0xf86575['message'],'success':![]});}}return _0x311580;}async['findConfigFiles'](_0x5a72b8){const _0x44f64f=a0_0x1bbc11,_0x140794=[],_0x1a80df=['package.json','tsconfig.json',_0x44f64f(0x181),_0x44f64f(0x248),_0x44f64f(0x1bc),'.env','.env.example',_0x44f64f(0x20a),'.eslintrc.json',_0x44f64f(0x1e8),_0x44f64f(0x25e)],_0x41dfb8=['.yml','.yaml','.json','.tf',_0x44f64f(0x214)],_0x909c8b=async _0xc3a44b=>{const _0x453426=_0x44f64f,_0x1661fe=await a0_0x156fb2[_0x453426(0x1df)](_0xc3a44b,{'withFileTypes':!![]});for(const _0x5a1079 of _0x1661fe){const _0x408268=a0_0x29121e['join'](_0xc3a44b,_0x5a1079[_0x453426(0x22e)]);if(_0x5a1079[_0x453426(0x184)]()){if(_0x5a1079['name']==='.github'||_0x5a1079[_0x453426(0x22e)]===_0x453426(0x25a)||_0x5a1079['name']==='k8s'||_0x5a1079['name']==='terraform')await _0x909c8b(_0x408268);else{if(!['node_modules',_0x453426(0x1a6),'dist','build']['includes'](_0x5a1079[_0x453426(0x22e)]))continue;}}else{if(_0x5a1079[_0x453426(0x1d4)]()){if(_0x1a80df['includes'](_0x5a1079['name']))_0x140794[_0x453426(0x1fc)](_0x408268);else{const _0x242414=a0_0x29121e[_0x453426(0x1a5)](_0x5a1079['name'])['toLowerCase']();if(_0x41dfb8[_0x453426(0x1e1)](_0x242414)){const _0x11a8b5=a0_0x29121e['basename'](a0_0x29121e[_0x453426(0x236)](_0x408268));(_0x11a8b5===_0x453426(0x25a)||_0x11a8b5===_0x453426(0x21d)||_0x11a8b5==='terraform'||_0x11a8b5==='workflows')&&_0x140794['push'](_0x408268);}}}}}};return await _0x909c8b(_0x5a72b8),_0x140794;}['detectLanguage'](_0x5114ec){const _0x22780b=a0_0x1bbc11,_0x2631f4=a0_0x29121e[_0x22780b(0x1a5)](_0x5114ec)['toLowerCase']();return STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x2631f4]||null;}async['detectFramework'](_0x43d949,_0x109248){const _0x148fbc=a0_0x1bbc11;try{if(_0x109248===STATIC_ANALYSIS[_0x148fbc(0x21e)][_0x148fbc(0x1ba)]||_0x109248===STATIC_ANALYSIS[_0x148fbc(0x21e)]['TYPESCRIPT'])return await this[_0x148fbc(0x1f4)](_0x43d949);if(_0x109248===STATIC_ANALYSIS['LANGUAGE']['PYTHON'])return await this['detectPythonFramework'](_0x43d949);return null;}catch(_0x5b938d){return this[_0x148fbc(0x22a)]?.['debug'](_0x148fbc(0x243),{'error':_0x5b938d['message']}),null;}}async['detectJSFramework'](_0x5539a3){const _0x479a5f=a0_0x1bbc11;try{const _0x3c012c=a0_0x29121e[_0x479a5f(0x24b)](_0x5539a3,STATIC_ANALYSIS[_0x479a5f(0x1cf)][_0x479a5f(0x1ba)]),_0x193a0d=await a0_0x156fb2[_0x479a5f(0x202)](_0x3c012c,'utf-8'),_0x1c2c2e=JSON['parse'](_0x193a0d),_0x1b8258={..._0x1c2c2e[_0x479a5f(0x196)],..._0x1c2c2e[_0x479a5f(0x1d9)]};for(const [_0x305392,_0x12aea5]of Object[_0x479a5f(0x1da)](STATIC_ANALYSIS[_0x479a5f(0x25c)])){if(_0x1b8258[_0x12aea5])return _0x305392[_0x479a5f(0x228)]();}return null;}catch(_0x372697){return null;}}async['detectPythonFramework'](_0x29c770){const _0x5d80ce=a0_0x1bbc11;try{const _0x1a36c6=a0_0x29121e[_0x5d80ce(0x24b)](_0x29c770,STATIC_ANALYSIS[_0x5d80ce(0x1cf)]['PYTHON']),_0x3f4c60=await a0_0x156fb2[_0x5d80ce(0x202)](_0x1a36c6,'utf-8');for(const [_0x27c0f8,_0x35b4aa]of Object['entries'](STATIC_ANALYSIS[_0x5d80ce(0x193)])){if(_0x3f4c60['toLowerCase']()['includes'](_0x35b4aa))return _0x27c0f8['toLowerCase']();}return null;}catch(_0x40c8cd){try{const _0x311630=a0_0x29121e[_0x5d80ce(0x24b)](_0x29c770,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS']['PYTHON_POETRY']),_0x872607=await a0_0x156fb2['readFile'](_0x311630,'utf-8');for(const [_0x21f492,_0x209ef9]of Object[_0x5d80ce(0x1da)](STATIC_ANALYSIS[_0x5d80ce(0x193)])){if(_0x872607['toLowerCase']()[_0x5d80ce(0x1e1)](_0x209ef9))return _0x21f492['toLowerCase']();}}catch{}return null;}}async[a0_0x1bbc11(0x23f)](_0x36911b,_0x5344d4){const _0x198e76=a0_0x1bbc11,_0x4bfdcf=[],_0x2bdb0c=_0x5344d4||_0x198e76(0x1d8),_0x2e89d9=_0x48f743=>{const _0x2965bb=_0x198e76,_0x11779f=[],_0x3a21db=_0x48f743[_0x2965bb(0x211)](/\*\.\{([^}]+)\}/);if(_0x3a21db){const _0x24db34=_0x3a21db[0x1]['split'](',')['map'](_0x5b5f10=>_0x5b5f10[_0x2965bb(0x191)]());_0x24db34[_0x2965bb(0x1c5)](_0x8eec22=>_0x11779f[_0x2965bb(0x1fc)](_0x8eec22['startsWith']('.')?_0x8eec22:'.'+_0x8eec22));}else{const _0x1c6cc7=_0x48f743['match'](/\*\.([a-z]+)$/i);if(_0x1c6cc7){const _0x110744=_0x1c6cc7[0x1];_0x11779f['push'](_0x110744[_0x2965bb(0x21b)]('.')?_0x110744:'.'+_0x110744);}}if(_0x11779f[_0x2965bb(0x219)]===0x0)return null;return _0x11779f;},_0x41ce78=_0x2e89d9(_0x2bdb0c),_0xdc7e52=async _0x2808e1=>{const _0x5e0ef6=_0x198e76,_0x404a8b=await a0_0x156fb2['readdir'](_0x2808e1,{'withFileTypes':!![]});for(const _0x27a45d of _0x404a8b){const _0x437de1=a0_0x29121e['join'](_0x2808e1,_0x27a45d[_0x5e0ef6(0x22e)]);if(_0x27a45d[_0x5e0ef6(0x184)]())![_0x5e0ef6(0x1c1),'.git',_0x5e0ef6(0x1db),_0x5e0ef6(0x1e9),_0x5e0ef6(0x1fd),_0x5e0ef6(0x262),'venv']['includes'](_0x27a45d['name'])&&await _0xdc7e52(_0x437de1);else{if(_0x27a45d['isFile']()){const _0x22f12a=a0_0x29121e['extname'](_0x27a45d[_0x5e0ef6(0x22e)])['toLowerCase']();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x22f12a]&&((_0x41ce78===null||_0x41ce78[_0x5e0ef6(0x1e1)](_0x22f12a))&&_0x4bfdcf[_0x5e0ef6(0x1fc)](_0x437de1));}}}};return await _0xdc7e52(_0x36911b),_0x4bfdcf;}async['getAnalyzer'](_0x43f280){const _0xd221f1=a0_0x1bbc11;try{if(_0x43f280===STATIC_ANALYSIS['LANGUAGE']['JAVASCRIPT']){if(!this['analyzers']['javascript']){const {default:_0x3d2184}=await import(_0xd221f1(0x1ee));this[_0xd221f1(0x1b4)][_0xd221f1(0x242)]=new _0x3d2184(this[_0xd221f1(0x22a)]);}return this[_0xd221f1(0x1b4)][_0xd221f1(0x242)];}if(_0x43f280===STATIC_ANALYSIS[_0xd221f1(0x21e)]['TYPESCRIPT']){if(!this[_0xd221f1(0x1b4)][_0xd221f1(0x1ae)]){const {default:_0x573a0f}=await import(_0xd221f1(0x1c6));this[_0xd221f1(0x1b4)][_0xd221f1(0x1ae)]=new _0x573a0f(this['logger']);}return this['analyzers']['typescript'];}if(_0x43f280===STATIC_ANALYSIS['LANGUAGE']['PYTHON']){if(!this['analyzers']['python']){const {default:_0x35eae7}=await import(_0xd221f1(0x19d));this[_0xd221f1(0x1b4)][_0xd221f1(0x190)]=new _0x35eae7(this[_0xd221f1(0x22a)]);}return this[_0xd221f1(0x1b4)][_0xd221f1(0x190)];}if(_0x43f280===STATIC_ANALYSIS['LANGUAGE'][_0xd221f1(0x1e3)]||_0x43f280===STATIC_ANALYSIS[_0xd221f1(0x21e)]['SCSS']||_0x43f280===STATIC_ANALYSIS[_0xd221f1(0x21e)][_0xd221f1(0x192)]){if(!this['analyzers']['css']){const {default:_0x48b95b}=await import(_0xd221f1(0x1f0));this['analyzers'][_0xd221f1(0x22d)]=new _0x48b95b(this['logger']);}return this[_0xd221f1(0x1b4)][_0xd221f1(0x22d)];}return null;}catch(_0x5947cb){return this['logger']?.['error'](_0xd221f1(0x237),{'language':_0x43f280,'error':_0x5947cb[_0xd221f1(0x1f8)]}),null;}}async[a0_0x1bbc11(0x1bd)](){const _0x581079=a0_0x1bbc11;if(!this['analyzers'][_0x581079(0x1f9)]){const {default:_0x67f585}=await import('../analyzers/ESLintAnalyzer.js');this[_0x581079(0x1b4)][_0x581079(0x1f9)]=new _0x67f585(this[_0x581079(0x22a)]);}return this[_0x581079(0x1b4)][_0x581079(0x1f9)];}async['getPrettierFormatter'](){const _0x49623f=a0_0x1bbc11;if(!this['formatters'][_0x49623f(0x1a3)]){const {default:_0x4b9268}=await import(_0x49623f(0x1e7));this['formatters'][_0x49623f(0x1a3)]=new _0x4b9268(this[_0x49623f(0x22a)]);}return this['formatters']['prettier'];}async['getSecurityAnalyzer'](){const _0x812432=a0_0x1bbc11;if(!this['analyzers']['security']){const {default:_0x23e380}=await import(_0x812432(0x1e0));this[_0x812432(0x1b4)][_0x812432(0x227)]=new _0x23e380(this['logger']);}return this[_0x812432(0x1b4)][_0x812432(0x227)];}async[a0_0x1bbc11(0x212)](){const _0xb4297=a0_0x1bbc11;if(!this[_0xb4297(0x1b4)][_0xb4297(0x1bf)]){const {default:_0x5beb98}=await import(_0xb4297(0x1a0));this[_0xb4297(0x1b4)]['config']=new _0x5beb98(this['logger']);}return this[_0xb4297(0x1b4)]['config'];}[a0_0x1bbc11(0x257)](_0x5b691,_0x2fdf24){const _0x5d571f=a0_0x1bbc11;if(_0x2fdf24['analyzed']){_0x5b691['totalFiles']++;const _0x32416f=_0x2fdf24[_0x5d571f(0x230)]?.[_0x5d571f(0x219)]||0x0,_0x5bc130=_0x2fdf24['errors']?.[_0x5d571f(0x219)]||0x0,_0x445bd1=_0x2fdf24['warnings']?.['length']||0x0,_0x303b46=_0x2fdf24['info']?.['length']||0x0;_0x5b691['totalCritical']===undefined&&(_0x5b691['totalCritical']=0x0);_0x5b691[_0x5d571f(0x233)]+=_0x32416f,_0x5b691[_0x5d571f(0x240)]+=_0x5bc130,_0x5b691['totalWarnings']+=_0x445bd1,_0x5b691[_0x5d571f(0x24f)]+=_0x303b46;(_0x32416f>0x0||_0x5bc130>0x0)&&_0x5b691['filesWithErrors']++;_0x2fdf24[_0x5d571f(0x1be)]&&(_0x5b691['filesByLanguage'][_0x2fdf24[_0x5d571f(0x1be)]]=(_0x5b691['filesByLanguage'][_0x2fdf24[_0x5d571f(0x1be)]]||0x0)+0x1);const _0x43e514=[..._0x2fdf24['critical']||[],..._0x2fdf24['errors']||[],..._0x2fdf24['warnings']||[]];for(const _0x123068 of _0x43e514){_0x123068['category']&&(_0x5b691['errorsByCategory'][_0x123068[_0x5d571f(0x1d7)]]=(_0x5b691[_0x5d571f(0x1d3)][_0x123068[_0x5d571f(0x1d7)]]||0x0)+0x1);}}}['computeContentHash'](_0x5a397d){const _0x32a0d7=a0_0x1bbc11;return a0_0x30aec9['createHash'](_0x32a0d7(0x21f))['update'](_0x5a397d)[_0x32a0d7(0x223)](_0x32a0d7(0x1c0))['substring'](0x0,0x10);}['getPerformanceMetrics'](){const _0x3aaedd=a0_0x1bbc11,_0xf4a5cc=this[_0x3aaedd(0x1a4)][_0x3aaedd(0x209)]>0x0?this[_0x3aaedd(0x1a4)]['cacheHits']/this['metrics']['totalAnalyses']*0x64:0x0,_0x7c64fe=this[_0x3aaedd(0x1a4)]['filesAnalyzed']>0x0?this['metrics']['totalAnalysisTime']/this[_0x3aaedd(0x1a4)][_0x3aaedd(0x1bb)]:0x0;return{...this['metrics'],'cacheHitRate':Math['round'](_0xf4a5cc*0xa)/0xa,'averageAnalysisTime':Math[_0x3aaedd(0x1eb)](_0x7c64fe),'cacheSize':this['analysisCache'][_0x3aaedd(0x1aa)]};}['resetPerformanceMetrics'](){this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}[a0_0x1bbc11(0x231)](){const _0x2daebe=a0_0x1bbc11;this[_0x2daebe(0x25b)]['clear'](),this['logger']?.[_0x2daebe(0x18b)](_0x2daebe(0x264));}['getSupportedActions'](){const _0x4a31b7=a0_0x1bbc11;return[_0x4a31b7(0x1b8),_0x4a31b7(0x23c),_0x4a31b7(0x217),_0x4a31b7(0x222),'security-scan','security-scan-project','validate-config','validate-config-directory'];}['getParameterSchema'](){const _0x3b7393=a0_0x1bbc11;return{'type':'object','properties':{'actions':{'type':_0x3b7393(0x253),'minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this[_0x3b7393(0x24a)]()},'filePath':{'type':'string'},'directory':{'type':_0x3b7393(0x1cc)},'pattern':{'type':_0x3b7393(0x1cc)},'includeWarnings':{'type':'boolean'},'maxErrors':{'type':'number'}},'required':[_0x3b7393(0x1a9)]}}},'required':[_0x3b7393(0x19b)]};}}export default StaticAnalysisTool;function a0_0x3773(){const _0x5b4fd3=['Dg90ywXdCML0AwnHBa','Dg9ju09tDhjPBMC','DMfSAwrHDgvdB25MAwDgAwXL','zgLYBMfTzq','rMfPBgvKihrVigXVywqGyw5HBhL6zxi','CgfYywXSzwXcyxrJAgvZ','C2TPCfrLC3rgAwXLCW','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','Bwf4rMLSzxnqzxjcyxrJAa','yw5HBhL6zs1WCM9Qzwn0','Dw5RBM93BG','icHTyxGG','zMLUzezPBgvZ','Dg90ywXfCNjVCNm','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','AMf2yxnJCMLWDa','rNjHBwv3B3jRigrLDgvJDgLVBIbMywLSzwq','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','neXAqvfWta','vg9Vig1HBNKGy29UzMLNigzPBgvZoIa','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzY1KAxjLy3rVCNK','zg9JA2vYlwnVBxbVC2uUEw1S','uMvHzcbHy2nLC3mGzgvUAwvKoIa','z2v0u3vWCg9YDgvKqwn0Aw9UCW','AM9PBG','tufyx0zjtevtx1bfuL9cqvrdsa','zxjYB3i','D3jPDgvgAwXL','Dg90ywXjBMzV','CMvXDwLYzxnqCM9Qzwn0','D3jPDguTzMLSzq','mJuWmJKZnLjSCKLxza','yxjYyxK','vg9Vig1HBNKGywn0Aw9UCZOG','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','Bwf4ugfYywXSzwXgAwXLCW','DxbKyxrLu3vTBwfYEq','C3rHDgLJyw5HBhLZAxm','zw5HyMXLq2fJAgu','A3vIzxjUzxrLCW','yw5HBhLZAxndywnOzq','sLnFrLjbtuvxt1jluW','CgfJA2fNzs5QC29U','lNbYzxr0AwvYCMmUANnVBG','C2vJDxjPDhLty2fUrMLSzq','BM93','v3jPDguGywnJzxnZigrLBMLLzdOG','lNzLBNy','C2v2zxjPDhK','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','rg9JA2vYzMLSzq','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','rvjst1i','AxneAxjLy3rVCNK','y3jLyxrLuMvSyxrPDMvqyxrO','mtaZodiXovP6yvr3CG','DMfSAwrHDgvxCML0zufJy2vZCW','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4TChjVAMvJDa','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','rMfPBgvKihrVigzPEca','zgvIDwC','mte2nteYq09Xu1zX','yw5HBhL6zvbYB2PLy3q','zMLSzvbHDgG','zMLSDgvY','ChL0Ag9U','DhjPBq','tevtuW','ufLuse9ox0zsqu1fv09ss1m','C2XPy2u','DMfSAwrHDgvszwfKqwnJzxnZ','zgvWzw5Kzw5JAwvZ','mJi1wu50t2DO','CgfYC2vqyxjHBwv0zxjZ','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','qu5btfLtsvnFveLnru9vva','ywn0Aw9UCW','mteYmZKWq1rmALbe','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','BM9YBwfSAxPL','lI4Vyw5HBhL6zxjZl0nVBMzPz1zHBgLKyxrVCI5QCW','Bwf4lwvYCM9YCW','zMLUzenVBMzPz0zPBgvZ','ChjLDhrPzxi','Bwv0CMLJCW','zxH0BMfTzq','lMDPDa','yw5HBhL6zuzPBgu','z2v0','DhLWzq','C2L6zq','u3rHDgLJqw5HBhLZAxmGDg9VBcbWyxjZAw5NihbHCMfTzxrLCNm','oIb0ExbLigLZihjLCxvPCMvK','AxntDxbWB3j0zwq','DhLWzxnJCMLWDa','v0fstKLorW','zMXVB3i','zgv0zwn0tgfUz3vHz2u','ugfYC2vKifn0yxrPy0fUywX5C2LZihrVB2WGCgfYyw1LDgvYCW','qwn0Aw9Uia','yw5HBhL6zxjZ','y29UDgvUDa','B25qCM9NCMvZCW','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','yw5HBhL6zq','zxHLyW','sKfwqvnduKLqva','zMLSzxnbBMfSExPLza','zg9JA2vYlwnVBxbVC2uUEwfTBa','z2v0rvnmAw50qw5HBhL6zxi','BgfUz3vHz2u','y29UzMLN','Agv4','BM9Kzv9TB2r1BgvZ','C3vTBwfYEq','D2fYBG','DxnLq29UDgvUDeHHC2G','zM9YrwfJAa','lI4Vyw5HBhL6zxjZl1r5Cgvty3jPChrbBMfSExPLCI5QCW','Bwf4rMLSzvnPEMu','C2vJDxjPDhLty2fUuhjVAMvJDa','Aw5JBhvKzs13yxjUAw5NCW','DMfSAwrHDg9Y','rMfPBgvKihrVigfUywX5EMuG','C3rYAw5N','zML4zwrdB3vUDa','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','rLjbtuvxt1jlx01btKLgrvnuuW','y2HHBMDLCW','Aw5MBW','Aw5JBhvKzvDHCM5PBMDZ','zxjYB3jZqNLdyxrLz29YEq','AxngAwXL','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4G','DMfSAwrHDgu','y2f0zwDVCNK','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5lgnZCYXZy3nZlhnHC3mSBgvZC30','zgv2rgvWzw5Kzw5JAwvZ','zw50CMLLCW','zgLZDa','z2v0uhjLDhrPzxjgB3jTyxr0zxi','y29TChv0zunVBNrLBNriyxnO','su5gtW','CMvHzgrPCG','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','Aw5JBhvKzxm','q0fdsevFrfvsqvrjt04','q1nt','Aw5KzxHpzG','z2v0qw5HBhL6zxi','zgv0zwn0rNjHBwv3B3jR','lI4Vyw5HBhL6zxjZl1bYzxr0AwvYrM9YBwf0DgvYlMPZ','lNbYzxr0AwvYCMm','yNvPBgq','u2vJDxjPDhKGC2nHBM5PBMCGB25SEsbZDxbWB3j0CYbkyxzHu2nYAxb0lcbuExbLu2nYAxb0lcbHBMqGuhL0Ag9UigzPBgvZ','CM91BMq','DxrMltG','ywXS','lI4Vyw5HBhL6zxjZl0PHDMfty3jPChrbBMfSExPLCI5QCW','zM9YBwf0DgvK','lI4Vyw5HBhL6zxjZl0ntu0fUywX5EMvYlMPZ','u0vwrvjjvfK','C2v0','Dhj1zq','zgv0zwn0sLngCMfTzxDVCMS','z2v0u2vJDxjPDhLbBMfSExPLCG','rMLSzsb0ExbLig5VDcbZDxbWB3j0zwqGyNKGuhjLDhrPzxi','mtq1C01KCg94','BwvZC2fNzq','zxnSAw50','rMLSzsb0B28GBgfYz2u6ia','C2TPCc10zxn0lwzPBgvZ','ChvZAa','x19WEwnHy2HLx18','vxnPBMCGy2fJAgvKigfUywX5C2LZihjLC3vSDa','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzVCM1HDa','C2vJDxjPDhKTC2nHBG','CMvHC29U','CMvHzezPBgu','odaWmda5sxDLB2z2','igj5DgvZicHTyxGG','ndrUq25rsuq','DgLTzxn0yw1W','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfUywX5EMu','Cgf0DgvYBG','Dg90ywXbBMfSExnLCW','lMvZBgLUDhjJlMPZ','zxjYB3jZ','DMfSAwrHDguTy29UzMLN','zMLSzs1WyxrO','zML4zwq','CMf3q29UDgvUDa','tM8Gyw5HBhL6zxiGyxzHAwXHyMXLigzVCIa','Bwf0y2G','z2v0q29UzMLNvMfSAwrHDg9Y','zML4rMLSzq','lNrMDMfYCW','BgLUzxndAgfUz2vK','ru5bqKXfx0nbq0Hf','zML4','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','BgvUz3rO','zMLSzxm','C3rHCNrZv2L0Aa','CgfYC2vbDhrYAwj1DgvZ','AZHZ','tefor1vbr0u','C2HHmJu2','m2j5vgzXAW','CMvZB2X2zq','zM9YBwf0','zgLNzxn0','Bwf4rxjYB3jZ','nZaWmdjquNbSz3K','CgfYywXSzwXbBMfSExnPCW','C2vJDxjPDhK','Dg9mB3DLCKnHC2u','zgLYzwn0B3j5','Bg9Nz2vY','mZuZmJiYnfjkufzeBG','ywXSB3DLza','y3nZ','BMfTzq','BwfW','y3jPDgLJywW','y2XLyxjdywnOzq','zxHLy3v0zq'];a0_0x3773=function(){return _0x5b4fd3;};return a0_0x3773();}
|