@loxia-labs/loxia-autopilot-one 1.0.11 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/src/utilities/userDataDir.js +1 -0
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/{index-C5X7qBNF.js → index-DXN850Y2.js} +69 -65
- package/web-ui/build/static/index-an-YRzUX.css +1 -0
- package/web-ui/build/static/index-g2UFuTwG.css +0 -1
package/src/tools/seekTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x80e5e8=a0_0x4d2a;(function(_0x306265,_0x14358d){const _0x37ee1c=a0_0x4d2a,_0x445dc7=_0x306265();while(!![]){try{const _0x4fcf24=-parseInt(_0x37ee1c(0x1de))/0x1*(parseInt(_0x37ee1c(0x183))/0x2)+-parseInt(_0x37ee1c(0x1dc))/0x3+-parseInt(_0x37ee1c(0x1f2))/0x4*(-parseInt(_0x37ee1c(0x1d2))/0x5)+-parseInt(_0x37ee1c(0x1c3))/0x6+-parseInt(_0x37ee1c(0x1df))/0x7*(parseInt(_0x37ee1c(0x20d))/0x8)+parseInt(_0x37ee1c(0x1d4))/0x9+parseInt(_0x37ee1c(0x1f5))/0xa*(parseInt(_0x37ee1c(0x1c8))/0xb);if(_0x4fcf24===_0x14358d)break;else _0x445dc7['push'](_0x445dc7['shift']());}catch(_0x49b167){_0x445dc7['push'](_0x445dc7['shift']());}}}(a0_0x4bcb,0x409ba));import{BaseTool}from'./baseTool.js';import a0_0x43e51e from'../utilities/tagParser.js';function a0_0x4d2a(_0x28f868,_0x414cf6){_0x28f868=_0x28f868-0x17b;const _0x4bcbfd=a0_0x4bcb();let _0x4d2ac6=_0x4bcbfd[_0x28f868];if(a0_0x4d2a['FcekFK']===undefined){var _0x4dbf55=function(_0x10ef32){const _0x230d07='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43e51e='',_0x1802b5='';for(let _0x930193=0x0,_0x16c405,_0x5639d3,_0x43880a=0x0;_0x5639d3=_0x10ef32['charAt'](_0x43880a++);~_0x5639d3&&(_0x16c405=_0x930193%0x4?_0x16c405*0x40+_0x5639d3:_0x5639d3,_0x930193++%0x4)?_0x43e51e+=String['fromCharCode'](0xff&_0x16c405>>(-0x2*_0x930193&0x6)):0x0){_0x5639d3=_0x230d07['indexOf'](_0x5639d3);}for(let _0x44ba51=0x0,_0x4d70ea=_0x43e51e['length'];_0x44ba51<_0x4d70ea;_0x44ba51++){_0x1802b5+='%'+('00'+_0x43e51e['charCodeAt'](_0x44ba51)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1802b5);};a0_0x4d2a['BfbaPC']=_0x4dbf55,a0_0x4d2a['VrGiJF']={},a0_0x4d2a['FcekFK']=!![];}const _0x1d3714=_0x4bcbfd[0x0],_0x154cd9=_0x28f868+_0x1d3714,_0x3b3434=a0_0x4d2a['VrGiJF'][_0x154cd9];return!_0x3b3434?(_0x4d2ac6=a0_0x4d2a['BfbaPC'](_0x4d2ac6),a0_0x4d2a['VrGiJF'][_0x154cd9]=_0x4d2ac6):_0x4d2ac6=_0x3b3434,_0x4d2ac6;}function a0_0x4bcb(){const _0x3e0eb3=['AxnbCNjHEq','BwfW','AxngAwXL','lNHTBa','lMD6','lMXVzW','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','icHUB3qGysbYzwD1BgfYigzPBguP','C2vLA0nVBMzPzW','oIbWyxrOihrYyxzLCNnHBcaOlI4Pig5VDcbHBgXVD2vKigzVCIbZzwn1CML0Eq','rMLSzsb0B28GBgfYz2uGka','C3bSAxq','AxnqyxrOqwnJzxnZAwjSzq','zxH0BMfTzq','C2HVDwXKu2TPCezPBgu','zMLSzvbHDgG','zxjYB3jgAwXLCW','Aw5JBhvKzxm','lNjZ','BgvUz3rO','twf4Aw11Bsb0B3rHBcbTyxrJAgvZihjLywnOzwq','zxjYB3i','CMvHzezPBgu','ks4Gu29TzsbTyxrJAgvZig1HEsbUB3qGyMuGC2HVD24UcG','BMfTzq','ywrK','lNr0zG','DgvZDa','zgLYBMfTzq','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','Bwf0y2HLC1bHDhrLCM4','lM5LEhq','Bg9Nz2vY','lNnV','lMrSBa','vg9Vig1HBNKGzMLSzxmGDg8GC2vHCMnOicG','lNnHC3m','ChvZAa','zM9YBwf0uMvZDwX0CW','C3rHDa','lMrHDa','lMPHDMe','zxHWyw5Kr2XVyLbHDhrLCM4','igzPBguOCYKUcG','lNDVzMyY','ic0G','C2vHCMnOvgvYBxm','BgLUzunVBNrLBNq','CMvHze9UBhLeAxjLy3rVCMLLCW','lNLTBa','zMLUzezPBgvZuMvJDxjZAxzLBhK','C2vHCMnOrMLSzxm','lNDTDG','C3rHCNrZv2L0Aa','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','tufyx0zjtevFuefusfm','BM90rM91BMq','igzPBgvZihbLCIbZzwfYy2GklsbnyxHPBxvTia','zM91BMq','vxnPBMCGywDLBNqGy29UzMLNDxjLzcbKAxjLy3rVCNKGywnJzxnZ','DgvYBq','mtiWnduWnM15qNvQEa','CMvZB2X2zuzPBgvqyxrOCW','lMnVBMy','BwvZC2fNzq','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','odKXr3HksKzZ','y292zxjHz2u','CM91BMq','CMvZB2X2zq','tufyx0zjtevFu0LArq','lMDV','D29YA2LUz0rPCMvJDg9YEq','lNn2zW','tufyx0XjtKvFq09ovevovf9mru5hveG','Bwf0y2HLCW','nwLYuMv4CG','zxnJyxbLuMvNrxHW','mtG2mZGZn3HZz1vjDW','rMfPBgvKihrVihbHCNnLihnLzwSGCgfYyw1LDgvYCW','yMfZzw5HBwu','ig1HDgnOzxmGDg90ywWkcLjfu1vmvcbgt1jnqvq6cLrOzsb0B29SihjLDhvYBNm6cI0GtgLZDcbVzIbMAwXLCYb0Agf0ihDLCMuGBM90igzVDw5KcI0GtgLZDcbVzIbMAwXLCYb0Agf0igHHzcbLCNjVCNmGzhvYAw5NihnLyxjJAaOTiezVCIbLywnOihnLyxjJAcb0zxjToGOGic0GrMLSzsbWyxrOihDOzxjLigzVDw5KcIaGlsbmAw5Lig51BwjLCGOGic0GtgLUzsbJB250zw50icH0CMLTBwvKkqOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDOzw4Gyw4GywDLBNqGAgfZig11BhrPCgXLigrPCMvJDg9YAwvZignVBMzPz3vYzwqSihrOzsbtzwvRvg9VBcbJyw4GC2vHCMnOigfJCM9ZCYbHBgWGB2yGDgHLBtOklsbszwXHDgL2zsbWyxrOCYbHCMuGCMvZB2X2zwqGzNjVBsb0AguGD29YA2LUzYbKAxjLy3rVCNKklsbbyNnVBhv0zsbWyxrOCYbJyw4GCMvMzxjLBMnLigfUEsbHy2nLC3nPyMXLigrPCMvJDg9YEqOTief1Dg9TyxrPyYb2ywXPzgf0Aw9UigvUC3vYzxmGCgf0AhmGyxjLihDPDgHPBIbHBgXVD2vKigrPCMvJDg9YAwvZcGPfEgfTCgXLihDPDgGGBxvSDgLWBguGzgLYzwn0B3jPzxm6cKLMigfNzw50igHHCYbHy2nLC3mGDg86cIaGlsaVAg9Tzs91C2vYl3bYB2PLy3qXicH3B3jRAw5NigrPCMvJDg9YEsKkicaTic9OB21Ll3vZzxiVChjVAMvJDdiGkhjLywqTB25SEsKkicaTic9OB21Ll3vZzxiVC2HHCMvKicHYzwfKlw9UBhKPcGPzB3uGy2fUihnLyxjJAdOkicbZCMmVkIOVkI5QCYaGicaGicaGicaGicaGicaGicaGicaGicaGiokgKIbtzwfYy2HLCYbPBIaVAg9Tzs91C2vYl3bYB2PLy3qXl3nYyY8QkI8QlMPZcIaGl2HVBwuVDxnLCI9WCM9Qzwn0mI9JB25MAwCUANnVBIaGicaGicdIHPiGu2vHCMnOzxmGAw4GChjVAMvJDdiGkgfIC29SDxrLihbHDgGPcIaGl2HVBwuVDxnLCI9ZAgfYzwqVzg9JCY8QlM1KicaGicaGicaGicdIHPiGu2vHCMnOzxmGAw4GC2HHCMvKigrPCMvJDg9YEqOkteLnsvrbveLptLm6cI0Gtwf4Aw11Bsa','lNjHCG','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','tufyx0rjuKvdve9swv9ervbusa','mtu4mZm0mfzmCgvNBq','C2vHCMnOsw5gAwXL','mJCYmJC1t3HSEeDM','mtq1odfiC3D5q1a','CMvWBgfJzq','lI4U','lMnZCW','CMvSyxrPDMu','lMjPBG','DhjPBq','lNrZEa','lM51Ehq','zw50CMLLCW','lMjHC2G','tufyx0zjtevtx1bfuL9trufsq0G','icHPCYbHigrPCMvJDg9YEsWGBM90igeGzMLSzsK','C3rYAw5N','lNjI','CMvXDwLYzxnqCM9Qzwn0','B3v0','Dg9mB3DLCKnHC2u','D2fYBG','ndC5mtC2y3jurgDN','rKLmrvmGv0LuscbfuLjpuLm6cG','lNb5','mti1otaWrer3sgfi','lMnHy2HL','lMDPDa','DgLTzw91Da','CMvHzgrPCG','tufyx1rpvefmx01bvenirvm','Aw5KzxHpzG','lNnXBgL0zq','lMf2Aq','zMLSzvbHDgHZ','lNbKzG','zxHLyW','BwLU','rMLSzsbWyxrOia','AxneAxjLy3rVCNK','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','lM1K','DgvTCa','uhjVAMvJDcbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLzwSGDg9VBa','lMPWzwC','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO','lJD6','Bwf4','rMfPBgvKihrVihjLywqGzMLSztOG','mZeYv2zQwMH4','lMDPzG','Bwf0y2HLC0j5vgvYBq','lMjTCa','zMLSDgvY','icHUB3qGAw4GywnJzxnZAwjSzsbKAxjLy3rVCMLLCYK','lIbvC2uGBw9YzsbZCgvJAwzPyYbMAwXLihbHDhrLCM5ZlG','Aw5MBW','lMPZ','lM1Wna','BgLUzu51BwjLCG','C2L6zq','mMvcsNjzBa','AM9PBG','xcqM'];a0_0x4bcb=function(){return _0x3e0eb3;};return a0_0x4bcb();}import{promises as a0_0x1802b5}from'fs';import a0_0x930193 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','.jpg',a0_0x80e5e8(0x208),a0_0x80e5e8(0x20e),a0_0x80e5e8(0x210),'.ico',a0_0x80e5e8(0x1cf),a0_0x80e5e8(0x1ff),'.zip','.tar',a0_0x80e5e8(0x18a),a0_0x80e5e8(0x1d8),a0_0x80e5e8(0x20a),'.exe',a0_0x80e5e8(0x1a8),a0_0x80e5e8(0x1a7),'.dylib','.mp3',a0_0x80e5e8(0x180),a0_0x80e5e8(0x1fd),'.mov',a0_0x80e5e8(0x1ba),'.woff',a0_0x80e5e8(0x1b2),a0_0x80e5e8(0x1a0),'.eot',a0_0x80e5e8(0x1e4),a0_0x80e5e8(0x1ae),'.db',a0_0x80e5e8(0x1fc)]);class SeekTool extends BaseTool{constructor(_0x16c405={},_0x5639d3=null){const _0x5c22e6=a0_0x80e5e8;super(_0x16c405,_0x5639d3),this[_0x5c22e6(0x1ee)]=!![],this['isAsync']=!![],this['timeout']=_0x16c405[_0x5c22e6(0x1f8)]||0x1d4c0,this[_0x5c22e6(0x18e)]={...SEEK_CONFIG,..._0x16c405[_0x5c22e6(0x18e)]};}['getDescription'](){const _0x1d91f6=a0_0x80e5e8;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[_0x1d91f6(0x1cc)]/(0x400*0x400)+'MB\x20per\x20file\x0a-\x20Returns\x20up\x20to\x20'+SEEK_CONFIG[_0x1d91f6(0x1fa)]+_0x1d91f6(0x1d7)+SEEK_CONFIG[_0x1d91f6(0x1ea)]+_0x1d91f6(0x1bf)+SEEK_CONFIG['MAX_SEARCH_TERMS']+'\x20search\x20terms\x0a-\x20Maximum\x20'+SEEK_CONFIG[_0x1d91f6(0x1cc)]/(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';}['parseParameters'](_0x43880a){const _0x2ccf2f=a0_0x80e5e8;try{if(_0x43880a['trim']()[_0x2ccf2f(0x1bb)]('{')){const _0x24f2db=JSON['parse'](_0x43880a);return{'filePaths':_0x24f2db['filePaths']||[],'searchTerms':_0x24f2db[_0x2ccf2f(0x1b4)]||[]};}const _0x44ba51={'filePaths':[],'searchTerms':[]},_0x4d70ea=/<in-files>([\s\S]*?)<\/in-files>/i,_0x48531a=_0x4d70ea[_0x2ccf2f(0x200)](_0x43880a);if(_0x48531a){const _0xe1711c=_0x48531a[0x1];_0x44ba51['filePaths']=_0xe1711c[_0x2ccf2f(0x191)]('\x0a')['map'](_0x33b071=>_0x33b071['trim']())[_0x2ccf2f(0x17b)](_0x1d0795=>_0x1d0795['length']>0x0);}const _0x3fd27f=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0xd39025=_0x3fd27f['exec'](_0x43880a);if(_0xd39025){const _0x2b0a14=_0xd39025[0x1],_0x3972bf=/<term>(.*?)<\/term>/gi;let _0x13270c;while((_0x13270c=_0x3972bf['exec'](_0x2b0a14))!==null){const _0x5e51eb=_0x13270c[0x1][_0x2ccf2f(0x1e5)]();_0x5e51eb['length']>0x0&&_0x44ba51['searchTerms']['push'](_0x5e51eb);}}return _0x44ba51;}catch(_0x173035){return this['logger']?.['error'](_0x2ccf2f(0x1d5),{'error':_0x173035[_0x2ccf2f(0x1c6)]}),{'filePaths':[],'searchTerms':[],'parseError':_0x173035['message']};}}['getRequiredParameters'](){const _0x1006ee=a0_0x80e5e8;return[_0x1006ee(0x1fe),_0x1006ee(0x1b4)];}[a0_0x80e5e8(0x1d9)](_0x16aed7){const _0x5450c6=a0_0x80e5e8,_0x4499dd=[];if(!_0x16aed7[_0x5450c6(0x1fe)]||!Array[_0x5450c6(0x186)](_0x16aed7[_0x5450c6(0x1fe)])||_0x16aed7['filePaths'][_0x5450c6(0x199)]===0x0)_0x4499dd[_0x5450c6(0x1ab)]('At\x20least\x20one\x20file\x20path\x20is\x20required');else _0x16aed7[_0x5450c6(0x1fe)]['length']>this['seekConfig'][_0x5450c6(0x1bd)]&&_0x4499dd['push']('Too\x20many\x20file\x20paths\x20(max\x20'+this[_0x5450c6(0x18e)][_0x5450c6(0x1bd)]+')');if(!_0x16aed7[_0x5450c6(0x1b4)]||!Array[_0x5450c6(0x186)](_0x16aed7['searchTerms'])||_0x16aed7[_0x5450c6(0x1b4)]['length']===0x0)_0x4499dd['push']('At\x20least\x20one\x20search\x20term\x20is\x20required');else _0x16aed7['searchTerms']['length']>this['seekConfig']['MAX_SEARCH_TERMS']&&_0x4499dd['push']('Too\x20many\x20search\x20terms\x20(max\x20'+this['seekConfig']['MAX_SEARCH_TERMS']+')');if(_0x16aed7['searchTerms']&&Array['isArray'](_0x16aed7[_0x5450c6(0x1b4)]))for(const [_0x4701ab,_0x48d619]of _0x16aed7['searchTerms'][_0x5450c6(0x1e8)]()){(typeof _0x48d619!=='string'||_0x48d619[_0x5450c6(0x1e5)]()['length']===0x0)&&_0x4499dd[_0x5450c6(0x1ab)]('Search\x20term\x20'+(_0x4701ab+0x1)+_0x5450c6(0x1a3));}if(_0x16aed7[_0x5450c6(0x1fe)]&&Array[_0x5450c6(0x186)](_0x16aed7['filePaths']))for(const [_0x4cd4cb,_0x9433c3]of _0x16aed7['filePaths'][_0x5450c6(0x1e8)]()){(typeof _0x9433c3!==_0x5450c6(0x1ec)||_0x9433c3['trim']()['length']===0x0)&&_0x4499dd['push'](_0x5450c6(0x202)+(_0x4cd4cb+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string'),_0x9433c3['includes']('..')&&_0x4499dd['push'](_0x5450c6(0x202)+(_0x4cd4cb+0x1)+_0x5450c6(0x18f));}return{'valid':_0x4499dd[_0x5450c6(0x199)]===0x0,'errors':_0x4499dd};}async['execute'](_0x565a5d,_0x19e899){const _0x483ba0=a0_0x80e5e8,{filePaths:_0x538a95,searchTerms:_0x43bcfd}=_0x565a5d,{projectDir:_0x5be5a7,agentId:_0x35e7ec,directoryAccess:_0x484d39}=_0x19e899;let _0x50f656=_0x5be5a7||process['cwd'](),_0x6f2787=[_0x50f656];_0x484d39&&_0x484d39[_0x483ba0(0x1ce)]&&(_0x50f656=_0x484d39[_0x483ba0(0x1ce)],_0x6f2787=this[_0x483ba0(0x1c7)](_0x484d39),this[_0x483ba0(0x1a6)]?.[_0x483ba0(0x17e)](_0x483ba0(0x1c1),{'workingDirectory':_0x484d39['workingDirectory'],'totalAccessibleDirs':_0x6f2787['length'],'readOnlyDirs':_0x484d39[_0x483ba0(0x1b6)]?.['length']||0x0,'writeEnabledDirs':_0x484d39['writeEnabledDirectories']?.[_0x483ba0(0x199)]||0x0,'agentId':_0x35e7ec}));if(!_0x50f656)throw new Error(_0x483ba0(0x207));this['logger']?.['info']('Executing\x20seek\x20tool',{'filePathCount':_0x538a95[_0x483ba0(0x199)],'searchTermCount':_0x43bcfd[_0x483ba0(0x199)],'workingDirectory':_0x50f656,'accessibleDirectories':_0x6f2787[_0x483ba0(0x199)],'agentId':_0x35e7ec});try{const _0x21b6ae=await this[_0x483ba0(0x1c4)](_0x538a95,_0x50f656,_0x484d39?_0x6f2787:null),_0x599afe=_0x21b6ae['found'],_0x1d8359=_0x21b6ae[_0x483ba0(0x1be)];if(_0x599afe['length']>this[_0x483ba0(0x18e)][_0x483ba0(0x1ea)])return{'success':![],'error':_0x483ba0(0x1a9)+_0x599afe['length']+').\x20Maximum\x20is\x20'+this[_0x483ba0(0x18e)]['MAX_FILES_PER_SEARCH']+_0x483ba0(0x17d),'filesResolved':_0x599afe['length'],'filesNotFound':_0x1d8359['length']};const _0x2b838b=await this['searchFiles'](_0x599afe,_0x43bcfd,_0x50f656),_0x1c2b40=this[_0x483ba0(0x1ac)](_0x2b838b[_0x483ba0(0x1d1)],_0x2b838b[_0x483ba0(0x196)],_0x1d8359,_0x599afe['length']);return{'success':!![],'filesSearched':_0x599afe['length'],'filesNotFound':_0x1d8359[_0x483ba0(0x199)],'filesWithErrors':_0x2b838b[_0x483ba0(0x196)][_0x483ba0(0x199)],'totalMatches':_0x2b838b[_0x483ba0(0x1d1)][_0x483ba0(0x199)],'matchesByTerm':_0x2b838b[_0x483ba0(0x20f)],'formattedResults':_0x1c2b40,'toolUsed':'seek'};}catch(_0x253427){this[_0x483ba0(0x1a6)]?.['error']('Seek\x20tool\x20execution\x20failed',{'error':_0x253427[_0x483ba0(0x1c6)]});throw _0x253427;}}[a0_0x80e5e8(0x1c7)](_0x23052d){const _0x3669e0=a0_0x80e5e8,_0x288617=new Set();_0x23052d[_0x3669e0(0x1ce)]&&_0x288617[_0x3669e0(0x19f)](_0x23052d[_0x3669e0(0x1ce)]);if(_0x23052d['readOnlyDirectories']&&Array['isArray'](_0x23052d['readOnlyDirectories']))for(const _0x261f85 of _0x23052d['readOnlyDirectories']){_0x288617[_0x3669e0(0x19f)](_0x261f85);}if(_0x23052d[_0x3669e0(0x204)]&&Array[_0x3669e0(0x186)](_0x23052d['writeEnabledDirectories']))for(const _0x781cc0 of _0x23052d['writeEnabledDirectories']){_0x288617['add'](_0x781cc0);}return Array['from'](_0x288617);}[a0_0x80e5e8(0x192)](_0x25ba12,_0x12eb0d){const _0x53b0f1=a0_0x80e5e8;for(const _0x11af75 of _0x12eb0d){const _0x5089c8=a0_0x930193[_0x53b0f1(0x1e3)](_0x11af75,_0x25ba12),_0x3d025c=!_0x5089c8['startsWith']('..')&&!a0_0x930193['isAbsolute'](_0x5089c8);if(_0x3d025c)return!![];}return![];}async[a0_0x80e5e8(0x1c4)](_0x2efa3d,_0x36d66e,_0x583e1a=null){const _0x48a1ce=a0_0x80e5e8,_0x4fb0c3={'found':[],'notFound':[]};for(const _0x451f71 of _0x2efa3d){const _0x4d3717=_0x451f71['trim']();if(_0x4d3717[_0x48a1ce(0x197)]('*')){const _0x37ed9b=await this[_0x48a1ce(0x1b0)](_0x4d3717,_0x36d66e);_0x37ed9b['found'][_0x48a1ce(0x199)]>0x0?_0x4fb0c3[_0x48a1ce(0x1c0)]['push'](..._0x37ed9b[_0x48a1ce(0x1c0)]):_0x4fb0c3[_0x48a1ce(0x1be)][_0x48a1ce(0x1ab)](_0x4d3717+'\x20(no\x20matching\x20files)');}else{const _0x4d44a9=a0_0x930193['isAbsolute'](_0x4d3717)?_0x4d3717:a0_0x930193[_0x48a1ce(0x1cb)](_0x36d66e,_0x4d3717);if(_0x583e1a&&_0x583e1a['length']>0x0){if(!this[_0x48a1ce(0x192)](_0x4d44a9,_0x583e1a)){_0x4fb0c3[_0x48a1ce(0x1be)][_0x48a1ce(0x1ab)](_0x4d3717+_0x48a1ce(0x17c));continue;}}try{const _0x2f66b1=await a0_0x1802b5[_0x48a1ce(0x1ad)](_0x4d44a9);if(_0x2f66b1[_0x48a1ce(0x188)]())_0x4fb0c3[_0x48a1ce(0x1c0)][_0x48a1ce(0x1ab)](_0x4d44a9);else _0x2f66b1[_0x48a1ce(0x203)]()?_0x4fb0c3['notFound']['push'](_0x4d3717+_0x48a1ce(0x1eb)):_0x4fb0c3[_0x48a1ce(0x1be)][_0x48a1ce(0x1ab)](_0x4d3717+_0x48a1ce(0x18d));}catch(_0xfa20c0){_0x4fb0c3[_0x48a1ce(0x1be)]['push'](_0x4d3717+'\x20('+(_0xfa20c0['code']||_0xfa20c0['message'])+')');}}}return _0x4fb0c3;}async['expandGlobPattern'](_0x1b4362,_0x633aff){const _0x20a76e=a0_0x80e5e8,_0x12f105={'found':[]};if(_0x1b4362['includes']('**/')){const [_0x3dc253,_0x30bd9c]=_0x1b4362['split']('**/'),_0x10aab0=a0_0x930193['resolve'](_0x633aff,_0x3dc253);try{const _0x563c0f=await a0_0x1802b5['stat'](_0x10aab0);_0x563c0f['isDirectory']()&&await this[_0x20a76e(0x1b8)](_0x10aab0,_0x30bd9c,_0x12f105['found'],0x0,this['seekConfig'][_0x20a76e(0x1db)]);}catch(_0x5895d4){this['logger']?.['warn']('Base\x20directory\x20not\x20found\x20for\x20glob\x20pattern',{'basePath':_0x10aab0,'error':_0x5895d4['message']});}}else{if(_0x1b4362['includes']('*')){const _0x2760e6=a0_0x930193[_0x20a76e(0x1a2)](a0_0x930193[_0x20a76e(0x1cb)](_0x633aff,_0x1b4362)),_0x27e436=a0_0x930193[_0x20a76e(0x1d6)](_0x1b4362);try{const _0x26ee7a=await a0_0x1802b5['stat'](_0x2760e6);if(_0x26ee7a['isDirectory']()){const _0x29228d=await a0_0x1802b5[_0x20a76e(0x1f9)](_0x2760e6);for(const _0xfd95ca of _0x29228d){const _0x4acfc6=a0_0x930193[_0x20a76e(0x184)](_0x2760e6,_0xfd95ca);try{const _0x317e00=await a0_0x1802b5[_0x20a76e(0x1ad)](_0x4acfc6);_0x317e00[_0x20a76e(0x188)]()&&this['matchesPattern'](_0xfd95ca,_0x27e436)&&_0x12f105[_0x20a76e(0x1c0)][_0x20a76e(0x1ab)](_0x4acfc6);}catch(_0x1aeb2d){continue;}}}}catch(_0x2bf234){this['logger']?.['warn']('Directory\x20not\x20found\x20for\x20glob\x20pattern',{'dirPath':_0x2760e6,'error':_0x2bf234['message']});}}}return _0x12f105;}async[a0_0x80e5e8(0x1b8)](_0xc7ab03,_0x487d76,_0x779058,_0x1ba942,_0xe0b373){const _0x3087e7=a0_0x80e5e8;if(_0x1ba942>=_0xe0b373){this['logger']?.['warn']('Maximum\x20directory\x20depth\x20reached',{'dir':_0xc7ab03,'currentDepth':_0x1ba942});return;}try{const _0x56dc59=await a0_0x1802b5['readdir'](_0xc7ab03,{'withFileTypes':!![]});for(const _0x1cb48d of _0x56dc59){if(_0x1cb48d['name'][_0x3087e7(0x1bb)]('.'))continue;const _0x26c68a=a0_0x930193['join'](_0xc7ab03,_0x1cb48d['name']);try{if(_0x1cb48d['isDirectory']()){if(this['shouldSkipDirectory'](_0x1cb48d['name']))continue;await this['findFilesRecursively'](_0x26c68a,_0x487d76,_0x779058,_0x1ba942+0x1,_0xe0b373);}else{if(_0x1cb48d['isFile']()){if(this['matchesPattern'](_0x1cb48d[_0x3087e7(0x19e)],_0x487d76)){_0x779058[_0x3087e7(0x1ab)](_0x26c68a);if(_0x779058[_0x3087e7(0x199)]>=this[_0x3087e7(0x18e)]['MAX_FILES_PER_SEARCH'])return;}}}}catch(_0x38c94d){continue;}}}catch(_0x26b3ce){this[_0x3087e7(0x1a6)]?.['warn'](_0x3087e7(0x1da),{'dir':_0xc7ab03,'error':_0x26b3ce['message']});}}[a0_0x80e5e8(0x1a4)](_0x2dcd1d,_0x8cbab0){const _0x243387=a0_0x80e5e8,_0x102287=_0x8cbab0[_0x243387(0x191)]('*')[_0x243387(0x187)](_0x2ccfa5=>this[_0x243387(0x1d3)](_0x2ccfa5))[_0x243387(0x184)]('.*'),_0x21637c=new RegExp('^'+_0x102287+'$','i');return _0x21637c[_0x243387(0x1a1)](_0x2dcd1d);}['escapeRegExp'](_0xb24cd7){const _0x1f830b=a0_0x80e5e8;return _0xb24cd7[_0x1f830b(0x1e0)](/[.*+?^${}()|[\]\\]/g,_0x1f830b(0x185));}['shouldSkipDirectory'](_0x4c38c6){const _0x10975b=a0_0x80e5e8,_0x438729=new Set(['node_modules',_0x10975b(0x1f7),'dist','build',_0x10975b(0x1c9),_0x10975b(0x1a5),_0x10975b(0x1e7),_0x10975b(0x1ef),'target','vendor','__pycache__',_0x10975b(0x1f6),'tmp',_0x10975b(0x206)]);return _0x438729['has'](_0x4c38c6[_0x10975b(0x1f0)]());}[a0_0x80e5e8(0x194)](_0x315c25){const _0x43c6c4=a0_0x80e5e8,_0x3cf1f1=a0_0x930193[_0x43c6c4(0x193)](_0x315c25)['toLowerCase']();return BINARY_EXTENSIONS['has'](_0x3cf1f1);}async[a0_0x80e5e8(0x1b9)](_0xbf526e,_0x43189b,_0x50e7a0){const _0x301e73=a0_0x80e5e8,_0x40f996=[],_0x5a2ce4=[];let _0x3770ca=0x0;for(const _0x45ed36 of _0xbf526e){if(this['shouldSkipFile'](_0x45ed36))continue;try{const _0x45b3f4=await a0_0x1802b5['stat'](_0x45ed36);if(_0x45b3f4['size']>this['seekConfig']['MAX_FILE_SIZE']){_0x5a2ce4['push']({'filePath':a0_0x930193[_0x301e73(0x1e3)](_0x50e7a0,_0x45ed36),'error':_0x301e73(0x190)+Math[_0x301e73(0x1ca)](_0x45b3f4[_0x301e73(0x182)]/(0x400*0x400))+'MB,\x20max\x20'+Math[_0x301e73(0x1ca)](this['seekConfig']['MAX_FILE_SIZE']/(0x400*0x400))+'MB)'});continue;}const _0x7b0645=await this[_0x301e73(0x1dd)](_0x45ed36,_0x43189b,_0x50e7a0);_0x40f996['push'](..._0x7b0645),_0x3770ca+=_0x7b0645[_0x301e73(0x199)];if(_0x3770ca>=this['seekConfig'][_0x301e73(0x1fa)]){this[_0x301e73(0x1a6)]?.[_0x301e73(0x1f1)](_0x301e73(0x19a),{'totalMatches':_0x3770ca});break;}}catch(_0x2f5ece){_0x5a2ce4[_0x301e73(0x1ab)]({'filePath':a0_0x930193[_0x301e73(0x1e3)](_0x50e7a0,_0x45ed36),'error':_0x2f5ece[_0x301e73(0x1c6)]});}}const _0x581ce0={};for(const _0x2708a2 of _0x40f996){!_0x581ce0[_0x2708a2['term']]&&(_0x581ce0[_0x2708a2['term']]=[]),_0x581ce0[_0x2708a2['term']][_0x301e73(0x1ab)]({'filePath':_0x2708a2[_0x301e73(0x195)],'lineNumber':_0x2708a2['lineNumber'],'lineContent':_0x2708a2['lineContent']});}return{'matches':_0x40f996,'matchesByTerm':_0x581ce0,'errorFiles':_0x5a2ce4};}async['searchInFile'](_0x774903,_0x516c39,_0xea39f3){const _0x821b1f=a0_0x80e5e8,_0x4f82cd=[];let _0x447274=0x0;try{const _0x48eaa5=await a0_0x1802b5[_0x821b1f(0x19c)](_0x774903,FILE_ENCODING),_0x4d952c=_0x48eaa5[_0x821b1f(0x191)]('\x0a'),_0x4a5f75=a0_0x930193[_0x821b1f(0x1e3)](_0xea39f3,_0x774903);for(let _0x4e0163=0x0;_0x4e0163<_0x4d952c['length'];_0x4e0163++){const _0x2516d7=_0x4d952c[_0x4e0163],_0x40ef25=_0x4e0163+0x1;for(const _0x27d2cf of _0x516c39){if(_0x2516d7[_0x821b1f(0x197)](_0x27d2cf)){let _0x22bdbe=_0x2516d7;if(_0x22bdbe[_0x821b1f(0x199)]>this[_0x821b1f(0x18e)][_0x821b1f(0x1d0)]){const _0x65e598=_0x22bdbe[_0x821b1f(0x1fb)](_0x27d2cf),_0x1fcbd1=Math[_0x821b1f(0x20b)](0x0,_0x65e598-0x32),_0x4fb6a7=Math[_0x821b1f(0x201)](_0x22bdbe[_0x821b1f(0x199)],_0x65e598+_0x27d2cf['length']+0x32);_0x22bdbe=(_0x1fcbd1>0x0?_0x821b1f(0x1e1):'')+_0x22bdbe['substring'](_0x1fcbd1,_0x4fb6a7)+(_0x4fb6a7<_0x22bdbe[_0x821b1f(0x199)]?'...':'');}_0x4f82cd[_0x821b1f(0x1ab)]({'term':_0x27d2cf,'filePath':_0x4a5f75,'lineNumber':_0x40ef25,'lineContent':_0x22bdbe[_0x821b1f(0x1e5)]()}),_0x447274++;if(_0x447274>=this[_0x821b1f(0x18e)]['MAX_MATCHES_PER_FILE'])return this['logger']?.[_0x821b1f(0x1f1)]('Maximum\x20matches\x20per\x20file\x20reached',{'filePath':_0x4a5f75}),_0x4f82cd;}}}}catch(_0x236bc2){throw new Error(_0x821b1f(0x20c)+_0x236bc2['message']);}return _0x4f82cd;}[a0_0x80e5e8(0x1ac)](_0x399589,_0xe701e5,_0x5b8d41,_0x33f20f){const _0x59e64c=a0_0x80e5e8;let _0x2b0980='';if(_0x5b8d41[_0x59e64c(0x199)]>0x0){_0x2b0980+='FILES\x20NOT\x20FOUND:\x0a';for(const _0x52bb71 of _0x5b8d41){_0x2b0980+='\x20\x20-\x20'+_0x52bb71+'\x0a';}_0x2b0980+='\x0a';}if(_0xe701e5[_0x59e64c(0x199)]>0x0){_0x2b0980+=_0x59e64c(0x1f3);for(const _0x398df6 of _0xe701e5){_0x2b0980+='\x20\x20-\x20'+_0x398df6['filePath']+':\x20'+_0x398df6[_0x59e64c(0x19b)]+'\x0a';}_0x2b0980+='\x0a';}if(_0x399589['length']===0x0)_0x2b0980+='No\x20matches\x20found\x20for\x20the\x20specified\x20search\x20terms\x20in\x20'+_0x33f20f+_0x59e64c(0x1b1);else{const _0xf75de1={};for(const _0x7adb76 of _0x399589){!_0xf75de1[_0x7adb76[_0x59e64c(0x1c2)]]&&(_0xf75de1[_0x7adb76['term']]=[]),_0xf75de1[_0x7adb76['term']]['push'](_0x7adb76);}_0x2b0980+='SEARCH\x20RESULTS\x20('+_0x399589['length']+'\x20total\x20matches\x20in\x20'+_0x33f20f+'\x20file(s)):\x0a\x0a';for(const [_0x428318,_0x151a35]of Object[_0x59e64c(0x1e8)](_0xf75de1)){_0x2b0980+='Search\x20term:\x20\x22'+_0x428318+'\x22\x20('+_0x151a35['length']+'\x20matches)\x0a';for(const _0x433d0f of _0x151a35){_0x2b0980+='\x20\x20'+_0x433d0f['filePath']+':'+_0x433d0f[_0x59e64c(0x181)]+_0x59e64c(0x1b3)+_0x433d0f[_0x59e64c(0x1b5)]+'\x0a';}_0x2b0980+='\x0a';}_0x399589['length']>=this['seekConfig'][_0x59e64c(0x1fa)]&&(_0x2b0980+=_0x59e64c(0x209)+this[_0x59e64c(0x18e)]['MAX_TOTAL_MATCHES']+_0x59e64c(0x19d));}return _0x2b0980[_0x59e64c(0x1e5)]();}[a0_0x80e5e8(0x18c)](){const _0x47ea0b=a0_0x80e5e8;return[_0x47ea0b(0x17f),'.jsx','.ts',_0x47ea0b(0x1e6),'.json',_0x47ea0b(0x189),'.html',_0x47ea0b(0x1e2),'.scss',_0x47ea0b(0x1aa),'.less',_0x47ea0b(0x205),'.txt',_0x47ea0b(0x18b),_0x47ea0b(0x1f4),_0x47ea0b(0x1ed),_0x47ea0b(0x1af),_0x47ea0b(0x1cd),_0x47ea0b(0x198),'.c','.cpp','.h','.hpp','.sh',_0x47ea0b(0x1e9),'.zsh',_0x47ea0b(0x1b7),'.yaml','.toml','.ini',_0x47ea0b(0x1c5)];}async['cleanup'](_0x48aef8){const _0x4d8806=a0_0x80e5e8;this[_0x4d8806(0x1a6)]?.['info'](_0x4d8806(0x1bc),{'operationId':_0x48aef8});}}export default SeekTool;
|
|
1
|
+
const a0_0x142b96=a0_0x4561;(function(_0x103fc2,_0x53cd15){const _0x2e811a=a0_0x4561,_0x536f46=_0x103fc2();while(!![]){try{const _0x4eb6c5=-parseInt(_0x2e811a(0xb4))/0x1*(parseInt(_0x2e811a(0xa1))/0x2)+-parseInt(_0x2e811a(0xa2))/0x3*(parseInt(_0x2e811a(0xfb))/0x4)+parseInt(_0x2e811a(0x10e))/0x5*(-parseInt(_0x2e811a(0xbe))/0x6)+-parseInt(_0x2e811a(0xc5))/0x7+parseInt(_0x2e811a(0x103))/0x8*(-parseInt(_0x2e811a(0xc6))/0x9)+parseInt(_0x2e811a(0xa6))/0xa*(-parseInt(_0x2e811a(0x9f))/0xb)+parseInt(_0x2e811a(0x9b))/0xc;if(_0x4eb6c5===_0x53cd15)break;else _0x536f46['push'](_0x536f46['shift']());}catch(_0x16915a){_0x536f46['push'](_0x536f46['shift']());}}}(a0_0x58f3,0x52ad0));import{BaseTool}from'./baseTool.js';import a0_0x541182 from'../utilities/tagParser.js';function a0_0x58f3(){const _0x4a0f07=['BM90rM91BMq','y292zxjHz2u','tM8GBwf0y2HLCYbMB3vUzcbMB3iGDgHLihnWzwnPzMLLzcbZzwfYy2GGDgvYBxmGAw4G','mtyZme5rrwzVwa','lNrHCG','lMPHDMe','vg9Vig1HBNKGzMLSzxmGDg8GC2vHCMnOicG','lMr5BgLI','DgvTCa','DgvZDa','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','BMfTzq','rxHLy3v0Aw5NihnLzwSGDg9VBa','lMDPzG','lM1K','lNnXBgL0zq','igzPBgvZihbLCIbZzwfYy2GklsbnyxGG','CMvSyxrPDMu','BwfW','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','lMPZ','Dg9mB3DLCKnHC2u','BgvUz3rO','zMLSzvbHDgHZ','AxneAxjLy3rVCNK','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','rMLSzsbWyxrOia','mtG3mZiWnJbdwMDAtgK','lMPZB24','zM91BMq','C2HVDwXKu2TPCezPBgu','mJmWmti4ofbmt2H3rW','tufyx0zjtevFu0LArq','mZKXnfjOA0TjvW','mtu3mduZm3v6D3LdwG','zxnJyxbLuMvNrxHW','lMLJBW','AgfZ','mJbts1fftNi','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','DhjPBq','zMLUzezPBgvZuMvJDxjZAxzLBhK','CMvZB2X2zq','CMvXDwLYzxnqCM9Qzwn0','rKLmrvmGv0LuscbfuLjpuLm6cG','Bg9Nz2vY','u0vbuKniifjfu1vmvfmGka','DgLTzw91Da','tuiGCgvYigzPBguklsbnyxGG','icHUB3qGAw4GywnJzxnZAwjSzsbKAxjLy3rVCMLLCYK','Bwf0y2HLC1bHDhrLCM4','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO','mZHPAMXdBKW','lMH0BwW','tufyx0XjtKvFq09ovevovf9mru5hveG','D29YA2LUz0rPCMvJDg9YEq','zxjYB3jgAwXLCW','lNnV','qxqGBgvHC3qGB25LihnLyxjJAcb0zxjTigLZihjLCxvPCMvK','lNb5','tufyx1nfqvjdsf9urvjnuW','qxqGBgvHC3qGB25LigzPBguGCgf0AcbPCYbYzxf1AxjLza','otG0rKDLEeX2','zw50CMLLCW','C2vLA0nVBMzPzW','lMXLC3m','AM9PBG','lNDTDG','zgLZDa','mJy2nZa3ChfksfDW','odfvrePoAge','C3rHDa','C3rYAw5N','lI4U','zxHLy3v0zq','lM51Ehq','lMXVzW','BwvZC2fNzq','lJD6','DxrMltG','tufyx1rpvefmx01bvenirvm','iIaO','zxHLyW','DgvYBq','CMvHze9UBhLeAxjLy3rVCMLLCW','zM9YBwf0uMvZDwX0CW','C3rHCNrZv2L0Aa','yNvPBgq','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','AxnbCNjHEq','C2L6zq','lNnJC3m','lMnZCW','lNLTBa','tufyx0zjtevtx1bfuL9trufsq0G','tufyx0rjuKvdve9swv9ervbusa','lMPZEa','CMvHzgrPCG','D2fYBG','icaTia','C2vLAW','CMvZB2X2zuzPBgvqyxrOCW','lM1VDG','lMHWCa','AxnbyNnVBhv0zq','C2HVDwXKu2TPCerPCMvJDg9YEq','C2vHCMnOsw5gAwXL','Dg1W','lNbUzW','lMjTCa','rMfPBgvKihrVihjLywqGzMLSztOG','ChvZAa','lMrHDa','zMLSDgvY','zMLSzvbHDgG','y29Kzq','tuiSig1HEca','lMrI','oIbWyxrOihrYyxzLCNnHBcaOlI4Pig5VDcbHBgXVD2vKigzVCIbZzwn1CML0Eq','rMLSzsb0B28GBgfYz2uGka','vg9Vig1HBNKGC2vHCMnOihrLCM1ZicHTyxGG','AxngAwXL','Aw5JBhvKzxm','nfb2AezpvW','Bwf0y2HLC0j5vgvYBq','AxnbC3LUyW','lIbvC2uGBw9YzsbZCgvJAwzPyYbMAwXLihbHDhrLCM5ZlG','xcqM','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','ywrK','DgfYz2v0','mtaXnZG0zfv1uM5R','lMnWCa','z2v0rgvZy3jPChrPB24','C2vHCMnOvgvYBxm','Bwf0y2HLCW','icHPCYbHigrPCMvJDg9YEsWGBM90igeGzMLSzsK','CgfYC2vqyxjHBwv0zxjZ','zxjYB3i'];a0_0x58f3=function(){return _0x4a0f07;};return a0_0x58f3();}function a0_0x4561(_0x1e7365,_0x4aebff){_0x1e7365=_0x1e7365-0x98;const _0x58f349=a0_0x58f3();let _0x4561f4=_0x58f349[_0x1e7365];if(a0_0x4561['xOOwVt']===undefined){var _0x287ac7=function(_0x2cf393){const _0x27932e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x541182='',_0x43e535='';for(let _0x19bc15=0x0,_0x4dda23,_0x21658f,_0x20126c=0x0;_0x21658f=_0x2cf393['charAt'](_0x20126c++);~_0x21658f&&(_0x4dda23=_0x19bc15%0x4?_0x4dda23*0x40+_0x21658f:_0x21658f,_0x19bc15++%0x4)?_0x541182+=String['fromCharCode'](0xff&_0x4dda23>>(-0x2*_0x19bc15&0x6)):0x0){_0x21658f=_0x27932e['indexOf'](_0x21658f);}for(let _0x376acf=0x0,_0x26acec=_0x541182['length'];_0x376acf<_0x26acec;_0x376acf++){_0x43e535+='%'+('00'+_0x541182['charCodeAt'](_0x376acf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43e535);};a0_0x4561['dSOIfJ']=_0x287ac7,a0_0x4561['UNJzaT']={},a0_0x4561['xOOwVt']=!![];}const _0x358ffb=_0x58f349[0x0],_0xf51756=_0x1e7365+_0x358ffb,_0x55e60e=a0_0x4561['UNJzaT'][_0xf51756];return!_0x55e60e?(_0x4561f4=a0_0x4561['dSOIfJ'](_0x4561f4),a0_0x4561['UNJzaT'][_0xf51756]=_0x4561f4):_0x4561f4=_0x55e60e,_0x4561f4;}import{promises as a0_0x43e535}from'fs';import a0_0x19bc15 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=a0_0x142b96(0xcf),BINARY_EXTENSIONS=new Set([a0_0x142b96(0xec),'.jpg','.jpeg',a0_0x142b96(0x118),a0_0x142b96(0xed),a0_0x142b96(0xa4),'.svg','.pdf','.zip',a0_0x142b96(0x10f),'.gz','.rar',a0_0x142b96(0xce),'.exe','.dll',a0_0x142b96(0xb9),a0_0x142b96(0x112),'.mp3','.mp4','.avi',a0_0x142b96(0xe6),a0_0x142b96(0xc3),'.woff','.woff2','.ttf','.eot','.bin',a0_0x142b96(0xf0),a0_0x142b96(0xf5),a0_0x142b96(0x11a)]);class SeekTool extends BaseTool{constructor(_0x4dda23={},_0x21658f=null){const _0x4c2dd4=a0_0x142b96;super(_0x4dda23,_0x21658f),this[_0x4c2dd4(0xab)]=!![],this[_0x4c2dd4(0xfd)]=!![],this[_0x4c2dd4(0xaf)]=_0x4dda23[_0x4c2dd4(0xaf)]||0x1d4c0,this['seekConfig']={...SEEK_CONFIG,..._0x4dda23['seekConfig']};}[a0_0x142b96(0x105)](){const _0x4ccd8c=a0_0x142b96;return'\x0aSeek\x20Tool:\x20Search\x20for\x20specific\x20content\x20within\x20project\x20files.\x20Ideal\x20for\x20verifying\x20imports,\x20function\x20usage,\x20and\x20variable\x20references.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/**/*.js\x22,\x20\x22package.json\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22import\x20React\x22,\x20\x22useState\x22]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20filePaths:\x20Array\x20of\x20file\x20paths\x20or\x20glob\x20patterns\x0a-\x20searchTerms:\x20Array\x20of\x20search\x20strings\x20(case-sensitive,\x20exact\x20match)\x0a\x0aGLOB\x20PATTERNS:\x0a-\x20*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20in\x20directory\x0a-\x20**/*.js\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20recursively\x0a-\x20src/**/*.jsx\x20-\x20All\x20.jsx\x20files\x20under\x20src/\x0a\x0aEXAMPLES:\x0a\x0aFind\x20function\x20usage:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/components/*.js\x22,\x20\x22src/utils/helpers.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22function\x20handleSubmit\x22,\x20\x22useState(\x22]\x0a}\x0a```\x0a\x0aVerify\x20imports:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/components/Header.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22import\x20React\x22,\x20\x22from\x20\x27react\x27\x22]\x0a}\x0a```\x0a\x0aSearch\x20all\x20JS\x20files:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/**/*.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22apiClient\x22,\x20\x22config.apiUrl\x22]\x0a}\x0a```\x0a\x0aLIMITS:\x0a-\x20Max\x20'+SEEK_CONFIG['MAX_FILES_PER_SEARCH']+_0x4ccd8c(0x11b)+SEEK_CONFIG['MAX_SEARCH_TERMS']+'\x20search\x20terms\x0a-\x20Max\x20'+SEEK_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+_0x4ccd8c(0xb0)+SEEK_CONFIG['MAX_TOTAL_MATCHES']+'\x20matches\x20total\x0a\x20\x20\x20\x20';}[a0_0x142b96(0x109)](_0x20126c){const _0x38ab5a=a0_0x142b96;try{if(_0x20126c[_0x38ab5a(0xa8)]()[_0x38ab5a(0xd6)]('{')){const _0x1d63ca=JSON['parse'](_0x20126c);return{'filePaths':_0x1d63ca[_0x38ab5a(0x122)]||[],'searchTerms':_0x1d63ca[_0x38ab5a(0x106)]||[]};}const _0x376acf={'filePaths':[],'searchTerms':[]},_0x26acec=/<in-files>([\s\S]*?)<\/in-files>/i,_0x3baaac=_0x26acec[_0x38ab5a(0xd2)](_0x20126c);if(_0x3baaac){const _0x308c67=_0x3baaac[0x1];_0x376acf[_0x38ab5a(0x122)]=_0x308c67['split']('\x0a')[_0x38ab5a(0x11d)](_0x2bf0f3=>_0x2bf0f3[_0x38ab5a(0xa8)]())[_0x38ab5a(0xf1)](_0x1905fc=>_0x1905fc[_0x38ab5a(0x121)]>0x0);}const _0x280bc7=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x3d6e80=_0x280bc7[_0x38ab5a(0xd2)](_0x20126c);if(_0x3d6e80){const _0x1f94f0=_0x3d6e80[0x1],_0x5c25d9=/<term>(.*?)<\/term>/gi;let _0x4d7462;while((_0x4d7462=_0x5c25d9['exec'](_0x1f94f0))!==null){const _0x5a2f6d=_0x4d7462[0x1]['trim']();_0x5a2f6d['length']>0x0&&_0x376acf['searchTerms']['push'](_0x5a2f6d);}}return _0x376acf;}catch(_0x5bc3cd){return this['logger']?.[_0x38ab5a(0x10a)]('Failed\x20to\x20parse\x20seek\x20parameters',{'error':_0x5bc3cd['message']}),{'filePaths':[],'searchTerms':[],'parseError':_0x5bc3cd['message']};}}[a0_0x142b96(0xa7)](){const _0x5b4b95=a0_0x142b96;return['filePaths',_0x5b4b95(0x106)];}[a0_0x142b96(0x115)](_0x3aa2ba){const _0x4b6740=a0_0x142b96,_0x1aa11c=[];if(!_0x3aa2ba['filePaths']||!Array['isArray'](_0x3aa2ba['filePaths'])||_0x3aa2ba['filePaths']['length']===0x0)_0x1aa11c[_0x4b6740(0xef)](_0x4b6740(0xbd));else _0x3aa2ba[_0x4b6740(0x122)][_0x4b6740(0x121)]>this[_0x4b6740(0xc0)]['MAX_FILE_PATHS']&&_0x1aa11c['push']('Too\x20many\x20file\x20paths\x20(max\x20'+this['seekConfig']['MAX_FILE_PATHS']+')');if(!_0x3aa2ba[_0x4b6740(0x106)]||!Array[_0x4b6740(0xd9)](_0x3aa2ba['searchTerms'])||_0x3aa2ba['searchTerms'][_0x4b6740(0x121)]===0x0)_0x1aa11c['push'](_0x4b6740(0xba));else _0x3aa2ba[_0x4b6740(0x106)]['length']>this['seekConfig']['MAX_SEARCH_TERMS']&&_0x1aa11c[_0x4b6740(0xef)](_0x4b6740(0xf8)+this[_0x4b6740(0xc0)][_0x4b6740(0xbc)]+')');if(_0x3aa2ba[_0x4b6740(0x106)]&&Array[_0x4b6740(0xd9)](_0x3aa2ba['searchTerms']))for(const [_0x26f470,_0xe54120]of _0x3aa2ba[_0x4b6740(0x106)]['entries']()){(typeof _0xe54120!==_0x4b6740(0xc8)||_0xe54120['trim']()[_0x4b6740(0x121)]===0x0)&&_0x1aa11c[_0x4b6740(0xef)]('Search\x20term\x20'+(_0x26f470+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string');}if(_0x3aa2ba[_0x4b6740(0x122)]&&Array[_0x4b6740(0xd9)](_0x3aa2ba[_0x4b6740(0x122)]))for(const [_0x3ad969,_0x1dcf27]of _0x3aa2ba['filePaths']['entries']()){(typeof _0x1dcf27!=='string'||_0x1dcf27['trim']()['length']===0x0)&&_0x1aa11c[_0x4b6740(0xef)](_0x4b6740(0x9a)+(_0x3ad969+0x1)+_0x4b6740(0xd8)),_0x1dcf27[_0x4b6740(0xfa)]('..')&&_0x1aa11c[_0x4b6740(0xef)](_0x4b6740(0x9a)+(_0x3ad969+0x1)+_0x4b6740(0xf6));}return{'valid':_0x1aa11c['length']===0x0,'errors':_0x1aa11c};}async[a0_0x142b96(0xca)](_0x89f32b,_0x46e0da){const _0x22dc3f=a0_0x142b96,{filePaths:_0x4eff63,searchTerms:_0x57ac08}=_0x89f32b,{projectDir:_0x14d803,agentId:_0x69515b,directoryAccess:_0x598f26}=_0x46e0da;let _0xf34c87=_0x14d803||process['cwd'](),_0x532132=[_0xf34c87];_0x598f26&&_0x598f26['workingDirectory']&&(_0xf34c87=_0x598f26[_0x22dc3f(0xb7)],_0x532132=this[_0x22dc3f(0x11e)](_0x598f26),this['logger']?.['info']('Using\x20agent\x20configured\x20directory\x20access',{'workingDirectory':_0x598f26[_0x22dc3f(0xb7)],'totalAccessibleDirs':_0x532132['length'],'readOnlyDirs':_0x598f26['readOnlyDirectories']?.[_0x22dc3f(0x121)]||0x0,'writeEnabledDirs':_0x598f26['writeEnabledDirectories']?.['length']||0x0,'agentId':_0x69515b}));if(!_0xf34c87)throw new Error('Project\x20directory\x20is\x20required\x20for\x20seek\x20tool');this['logger']?.['info'](_0x22dc3f(0x117),{'filePathCount':_0x4eff63['length'],'searchTermCount':_0x57ac08['length'],'workingDirectory':_0xf34c87,'accessibleDirectories':_0x532132[_0x22dc3f(0x121)],'agentId':_0x69515b});try{const _0x2c57d0=await this[_0x22dc3f(0xe5)](_0x4eff63,_0xf34c87,_0x598f26?_0x532132:null),_0x3c5b24=_0x2c57d0['found'],_0x57856b=_0x2c57d0[_0x22dc3f(0x10b)];if(_0x3c5b24[_0x22dc3f(0x121)]>this['seekConfig']['MAX_FILES_PER_SEARCH'])return{'success':![],'error':_0x22dc3f(0x111)+_0x3c5b24[_0x22dc3f(0x121)]+').\x20Maximum\x20is\x20'+this['seekConfig'][_0x22dc3f(0xde)]+_0x22dc3f(0xfe),'filesResolved':_0x3c5b24['length'],'filesNotFound':_0x57856b['length']};const _0x263039=await this['searchFiles'](_0x3c5b24,_0x57ac08,_0xf34c87),_0x290ec0=this[_0x22dc3f(0xd5)](_0x263039[_0x22dc3f(0x107)],_0x263039[_0x22dc3f(0xb8)],_0x57856b,_0x3c5b24['length']);return{'success':!![],'filesSearched':_0x3c5b24['length'],'filesNotFound':_0x57856b[_0x22dc3f(0x121)],'filesWithErrors':_0x263039['errorFiles']['length'],'totalMatches':_0x263039['matches']['length'],'matchesByTerm':_0x263039[_0x22dc3f(0xfc)],'formattedResults':_0x290ec0,'toolUsed':_0x22dc3f(0xe4)};}catch(_0x36bc89){this['logger']?.['error']('Seek\x20tool\x20execution\x20failed',{'error':_0x36bc89[_0x22dc3f(0xcd)]});throw _0x36bc89;}}['getAllAccessibleDirectories'](_0x3d7d83){const _0x2dbcbf=a0_0x142b96,_0x3a4914=new Set();_0x3d7d83['workingDirectory']&&_0x3a4914['add'](_0x3d7d83['workingDirectory']);if(_0x3d7d83[_0x2dbcbf(0xd4)]&&Array['isArray'](_0x3d7d83[_0x2dbcbf(0xd4)]))for(const _0x55ea62 of _0x3d7d83['readOnlyDirectories']){_0x3a4914['add'](_0x55ea62);}if(_0x3d7d83[_0x2dbcbf(0x100)]&&Array[_0x2dbcbf(0xd9)](_0x3d7d83['writeEnabledDirectories']))for(const _0x48be3d of _0x3d7d83[_0x2dbcbf(0x100)]){_0x3a4914[_0x2dbcbf(0x101)](_0x48be3d);}return Array['from'](_0x3a4914);}['isPathAccessible'](_0x3caa97,_0xda4cb6){const _0x51f6e7=a0_0x142b96;for(const _0x2bd05b of _0xda4cb6){const _0x26dd5e=a0_0x19bc15['relative'](_0x2bd05b,_0x3caa97),_0x57923e=!_0x26dd5e['startsWith']('..')&&!a0_0x19bc15[_0x51f6e7(0xe8)](_0x26dd5e);if(_0x57923e)return!![];}return![];}async['resolveFilePaths'](_0x4ea0d3,_0x108519,_0x5a5b13=null){const _0x4f3669=a0_0x142b96,_0x2b08a5={'found':[],'notFound':[]};for(const _0x139b9f of _0x4ea0d3){const _0x2d5fdc=_0x139b9f['trim']();if(_0x2d5fdc[_0x4f3669(0xfa)]('*')){const _0x26a337=await this['expandGlobPattern'](_0x2d5fdc,_0x108519);_0x26a337['found'][_0x4f3669(0x121)]>0x0?_0x2b08a5[_0x4f3669(0x9d)][_0x4f3669(0xef)](..._0x26a337['found']):_0x2b08a5['notFound'][_0x4f3669(0xef)](_0x2d5fdc+'\x20(no\x20matching\x20files)');}else{const _0x1c6226=a0_0x19bc15['isAbsolute'](_0x2d5fdc)?_0x2d5fdc:a0_0x19bc15['resolve'](_0x108519,_0x2d5fdc);if(_0x5a5b13&&_0x5a5b13[_0x4f3669(0x121)]>0x0){if(!this['isPathAccessible'](_0x1c6226,_0x5a5b13)){_0x2b08a5['notFound']['push'](_0x2d5fdc+_0x4f3669(0xb1));continue;}}try{const _0x25892f=await a0_0x43e535[_0x4f3669(0xc7)](_0x1c6226);if(_0x25892f[_0x4f3669(0xf9)]())_0x2b08a5[_0x4f3669(0x9d)]['push'](_0x1c6226);else _0x25892f[_0x4f3669(0x98)]()?_0x2b08a5[_0x4f3669(0x10b)][_0x4f3669(0xef)](_0x2d5fdc+_0x4f3669(0x108)):_0x2b08a5[_0x4f3669(0x10b)][_0x4f3669(0xef)](_0x2d5fdc+'\x20(not\x20a\x20regular\x20file)');}catch(_0x35640c){_0x2b08a5[_0x4f3669(0x10b)][_0x4f3669(0xef)](_0x2d5fdc+'\x20('+(_0x35640c[_0x4f3669(0xf3)]||_0x35640c['message'])+')');}}}return _0x2b08a5;}async['expandGlobPattern'](_0x112b66,_0x38fa32){const _0x578e6e=a0_0x142b96,_0x4cc800={'found':[]};if(_0x112b66[_0x578e6e(0xfa)]('**/')){const [_0x1b7f9e,_0x1c4e87]=_0x112b66['split']('**/'),_0x59ab38=a0_0x19bc15['resolve'](_0x38fa32,_0x1b7f9e);try{const _0x255476=await a0_0x43e535['stat'](_0x59ab38);_0x255476[_0x578e6e(0x98)]()&&await this['findFilesRecursively'](_0x59ab38,_0x1c4e87,_0x4cc800['found'],0x0,this[_0x578e6e(0xc0)][_0x578e6e(0xdf)]);}catch(_0x3fd632){this[_0x578e6e(0xad)]?.['warn']('Base\x20directory\x20not\x20found\x20for\x20glob\x20pattern',{'basePath':_0x59ab38,'error':_0x3fd632[_0x578e6e(0xcd)]});}}else{if(_0x112b66['includes']('*')){const _0x526bc3=a0_0x19bc15['dirname'](a0_0x19bc15[_0x578e6e(0xaa)](_0x38fa32,_0x112b66)),_0x416231=a0_0x19bc15['basename'](_0x112b66);try{const _0x1f8b3b=await a0_0x43e535[_0x578e6e(0xc7)](_0x526bc3);if(_0x1f8b3b[_0x578e6e(0x98)]()){const _0x1180be=await a0_0x43e535[_0x578e6e(0xe1)](_0x526bc3);for(const _0x42c5e3 of _0x1180be){const _0x8a4eb6=a0_0x19bc15[_0x578e6e(0xc2)](_0x526bc3,_0x42c5e3);try{const _0x28c4dd=await a0_0x43e535['stat'](_0x8a4eb6);_0x28c4dd[_0x578e6e(0xf9)]()&&this[_0x578e6e(0xb2)](_0x42c5e3,_0x416231)&&_0x4cc800['found']['push'](_0x8a4eb6);}catch(_0x1cebd0){continue;}}}}catch(_0x43e9ec){this[_0x578e6e(0xad)]?.['warn']('Directory\x20not\x20found\x20for\x20glob\x20pattern',{'dirPath':_0x526bc3,'error':_0x43e9ec[_0x578e6e(0xcd)]});}}}return _0x4cc800;}async[a0_0x142b96(0xa9)](_0x4ceffe,_0x1d9c32,_0x2f9f41,_0x11553c,_0x2ec994){const _0x5b5dda=a0_0x142b96;if(_0x11553c>=_0x2ec994){this[_0x5b5dda(0xad)]?.['warn']('Maximum\x20directory\x20depth\x20reached',{'dir':_0x4ceffe,'currentDepth':_0x11553c});return;}try{const _0x1210c5=await a0_0x43e535[_0x5b5dda(0xe1)](_0x4ceffe,{'withFileTypes':!![]});for(const _0x3adaa6 of _0x1210c5){if(_0x3adaa6[_0x5b5dda(0x116)][_0x5b5dda(0xd6)]('.'))continue;const _0x13014e=a0_0x19bc15['join'](_0x4ceffe,_0x3adaa6['name']);try{if(_0x3adaa6['isDirectory']()){if(this[_0x5b5dda(0xe9)](_0x3adaa6[_0x5b5dda(0x116)]))continue;await this['findFilesRecursively'](_0x13014e,_0x1d9c32,_0x2f9f41,_0x11553c+0x1,_0x2ec994);}else{if(_0x3adaa6[_0x5b5dda(0xf9)]()){if(this['matchesPattern'](_0x3adaa6[_0x5b5dda(0x116)],_0x1d9c32)){_0x2f9f41[_0x5b5dda(0xef)](_0x13014e);if(_0x2f9f41['length']>=this['seekConfig']['MAX_FILES_PER_SEARCH'])return;}}}}catch(_0x3e893e){continue;}}}catch(_0x3af4e1){this[_0x5b5dda(0xad)]?.['warn']('Error\x20reading\x20directory',{'dir':_0x4ceffe,'error':_0x3af4e1[_0x5b5dda(0xcd)]});}}['matchesPattern'](_0x4f40b4,_0x34a2d8){const _0x31ff59=a0_0x142b96,_0x1d38f7=_0x34a2d8['split']('*')['map'](_0x1e17cb=>this[_0x31ff59(0xa3)](_0x1e17cb))[_0x31ff59(0xc2)]('.*'),_0x3d02f3=new RegExp('^'+_0x1d38f7+'$','i');return _0x3d02f3[_0x31ff59(0x114)](_0x4f40b4);}['escapeRegExp'](_0x560931){const _0x368db3=a0_0x142b96;return _0x560931['replace'](/[.*+?^${}()|[\]\\]/g,_0x368db3(0xff));}['shouldSkipDirectory'](_0x2ddcaa){const _0x1c4008=a0_0x142b96,_0x41cef8=new Set(['node_modules','.git',_0x1c4008(0xc4),_0x1c4008(0xd7),_0x1c4008(0x10c),'.next',_0x1c4008(0xcb),'out',_0x1c4008(0x102),'vendor','__pycache__','.cache',_0x1c4008(0xeb),_0x1c4008(0x113)]);return _0x41cef8['has'](_0x2ddcaa[_0x1c4008(0x120)]());}[a0_0x142b96(0x9e)](_0x5590b5){const _0xc80413=a0_0x142b96,_0x5ced49=a0_0x19bc15['extname'](_0x5590b5)['toLowerCase']();return BINARY_EXTENSIONS[_0xc80413(0xa5)](_0x5ced49);}async['searchFiles'](_0x15039e,_0x4534f5,_0x4cb01d){const _0x3c17dc=a0_0x142b96,_0x3f7c1f=[],_0x3cd34b=[];let _0x3e616c=0x0;for(const _0x2d726e of _0x15039e){if(this['shouldSkipFile'](_0x2d726e))continue;try{const _0x5e1283=await a0_0x43e535['stat'](_0x2d726e);if(_0x5e1283[_0x3c17dc(0xda)]>this[_0x3c17dc(0xc0)][_0x3c17dc(0xa0)]){_0x3cd34b['push']({'filePath':a0_0x19bc15['relative'](_0x4cb01d,_0x2d726e),'error':_0x3c17dc(0xf7)+Math['round'](_0x5e1283['size']/(0x400*0x400))+_0x3c17dc(0xf4)+Math['round'](this['seekConfig'][_0x3c17dc(0xa0)]/(0x400*0x400))+'MB)'});continue;}const _0x7644ed=await this[_0x3c17dc(0xea)](_0x2d726e,_0x4534f5,_0x4cb01d);_0x3f7c1f['push'](..._0x7644ed),_0x3e616c+=_0x7644ed['length'];if(_0x3e616c>=this['seekConfig'][_0x3c17dc(0xd0)]){this['logger']?.[_0x3c17dc(0xe2)]('Maximum\x20total\x20matches\x20reached',{'totalMatches':_0x3e616c});break;}}catch(_0x1a957){_0x3cd34b['push']({'filePath':a0_0x19bc15['relative'](_0x4cb01d,_0x2d726e),'error':_0x1a957[_0x3c17dc(0xcd)]});}}const _0xb9f3b0={};for(const _0x260224 of _0x3f7c1f){!_0xb9f3b0[_0x260224['term']]&&(_0xb9f3b0[_0x260224['term']]=[]),_0xb9f3b0[_0x260224[_0x3c17dc(0xd3)]]['push']({'filePath':_0x260224[_0x3c17dc(0xf2)],'lineNumber':_0x260224['lineNumber'],'lineContent':_0x260224['lineContent']});}return{'matches':_0x3f7c1f,'matchesByTerm':_0xb9f3b0,'errorFiles':_0x3cd34b};}async[a0_0x142b96(0xea)](_0x163930,_0x33dc4f,_0x4c71cd){const _0x441cb3=a0_0x142b96,_0x574931=[];let _0x4a9462=0x0;try{const _0x5177e1=await a0_0x43e535['readFile'](_0x163930,FILE_ENCODING),_0x429a0f=_0x5177e1['split']('\x0a'),_0x5a3739=a0_0x19bc15[_0x441cb3(0x11c)](_0x4c71cd,_0x163930);for(let _0x4aa01e=0x0;_0x4aa01e<_0x429a0f['length'];_0x4aa01e++){const _0x30e9df=_0x429a0f[_0x4aa01e],_0x568f7e=_0x4aa01e+0x1;for(const _0x2ee363 of _0x33dc4f){if(_0x30e9df['includes'](_0x2ee363)){let _0x52e52a=_0x30e9df;if(_0x52e52a[_0x441cb3(0x121)]>this[_0x441cb3(0xc0)][_0x441cb3(0xb6)]){const _0x169505=_0x52e52a['indexOf'](_0x2ee363),_0x17bc43=Math['max'](0x0,_0x169505-0x32),_0x29d223=Math['min'](_0x52e52a['length'],_0x169505+_0x2ee363['length']+0x32);_0x52e52a=(_0x17bc43>0x0?_0x441cb3(0xc9):'')+_0x52e52a['substring'](_0x17bc43,_0x29d223)+(_0x29d223<_0x52e52a[_0x441cb3(0x121)]?'...':'');}_0x574931['push']({'term':_0x2ee363,'filePath':_0x5a3739,'lineNumber':_0x568f7e,'lineContent':_0x52e52a[_0x441cb3(0xa8)]()}),_0x4a9462++;if(_0x4a9462>=this[_0x441cb3(0xc0)]['MAX_MATCHES_PER_FILE'])return this[_0x441cb3(0xad)]?.[_0x441cb3(0xe2)]('Maximum\x20matches\x20per\x20file\x20reached',{'filePath':_0x5a3739}),_0x574931;}}}}catch(_0x40c1be){throw new Error(_0x441cb3(0xee)+_0x40c1be[_0x441cb3(0xcd)]);}return _0x574931;}['formatResults'](_0x5d593f,_0x34c207,_0x4c98dc,_0xf3d160){const _0x3eef87=a0_0x142b96;let _0x38b7c5='';if(_0x4c98dc[_0x3eef87(0x121)]>0x0){_0x38b7c5+='FILES\x20NOT\x20FOUND:\x0a';for(const _0x35f14f of _0x4c98dc){_0x38b7c5+=_0x3eef87(0xe3)+_0x35f14f+'\x0a';}_0x38b7c5+='\x0a';}if(_0x34c207[_0x3eef87(0x121)]>0x0){_0x38b7c5+=_0x3eef87(0xac);for(const _0x2d0596 of _0x34c207){_0x38b7c5+='\x20\x20-\x20'+_0x2d0596[_0x3eef87(0xf2)]+':\x20'+_0x2d0596[_0x3eef87(0x10a)]+'\x0a';}_0x38b7c5+='\x0a';}if(_0x5d593f[_0x3eef87(0x121)]===0x0)_0x38b7c5+=_0x3eef87(0x10d)+_0xf3d160+'\x20file(s).\x0a';else{const _0x39ab28={};for(const _0x9e1087 of _0x5d593f){!_0x39ab28[_0x9e1087['term']]&&(_0x39ab28[_0x9e1087['term']]=[]),_0x39ab28[_0x9e1087['term']][_0x3eef87(0xef)](_0x9e1087);}_0x38b7c5+=_0x3eef87(0xae)+_0x5d593f[_0x3eef87(0x121)]+'\x20total\x20matches\x20in\x20'+_0xf3d160+'\x20file(s)):\x0a\x0a';for(const [_0x129ae6,_0x49e5bc]of Object[_0x3eef87(0xbf)](_0x39ab28)){_0x38b7c5+='Search\x20term:\x20\x22'+_0x129ae6+_0x3eef87(0xd1)+_0x49e5bc['length']+'\x20matches)\x0a';for(const _0x501c88 of _0x49e5bc){_0x38b7c5+='\x20\x20'+_0x501c88[_0x3eef87(0xf2)]+':'+_0x501c88['lineNumber']+'\x20-\x20'+_0x501c88['lineContent']+'\x0a';}_0x38b7c5+='\x0a';}_0x5d593f[_0x3eef87(0x121)]>=this['seekConfig']['MAX_TOTAL_MATCHES']&&(_0x38b7c5+=_0x3eef87(0xb3)+this[_0x3eef87(0xc0)][_0x3eef87(0xd0)]+').\x20Some\x20matches\x20may\x20not\x20be\x20shown.\x0a');}return _0x38b7c5['trim']();}['getSupportedExtensions'](){const _0x487b21=a0_0x142b96;return[_0x487b21(0x11f),_0x487b21(0xe0),'.ts','.tsx',_0x487b21(0x9c),'.xml',_0x487b21(0xb5),_0x487b21(0xdc),_0x487b21(0xdb),'.sass',_0x487b21(0xc1),_0x487b21(0x119),'.txt',_0x487b21(0xcc),_0x487b21(0xbb),'.rb',_0x487b21(0x110),'.go','.rs','.c',_0x487b21(0x104),'.h',_0x487b21(0xe7),'.sh','.bash','.zsh',_0x487b21(0xdd),'.yaml','.toml','.ini','.conf'];}async['cleanup'](_0x1c01dc){const _0x845a4d=a0_0x142b96;this['logger']?.['info'](_0x845a4d(0x99),{'operationId':_0x1c01dc});}}export default SeekTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1ee867=a0_0x519e;function a0_0x479a(){const _0x10c3a2=['BNvTyMvY','zw5HyMXLq2fJAgu','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','zxjYB3i','C3bSAxq','Bg9Nz2vY','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','mJqZotK0mdvOqLHlAha','D2fYBMLUz3m','lNLTBa','qwn0Aw9Uia','Dg90ywXbBMfSExnLCW','zxnSAw50','oIb0ExbLigLZihjLCxvPCMvK','ywXSB3DLza','C3rHDa','yM9VBgvHBG','CMvHzezPBgu','C2vJDxjPDhK','u0ntuW','Dhj1BMnHDgvK','su5gtW','Dg9mB3DLCKnHC2u','lMDPDa','D3jPDguTzMLSzq','ndCWnZiWvhbIshHQ','C3vTBwfYEq','Dg9ju09tDhjPBMC','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','ywn0Aw9UCW','y29UzMLN','zMLSDgvY','B2jQzwn0','y29TChv0zunVBNrLBNriyxnO','Aw5JBhvKzxm','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','z2v0v29YA2LUz0rPCMvJDg9YEq','DxrMltG','zMLSzxm','C2TPCc10zxn0lwzPBgvZ','Bwv0CMLJCW','Cgf0DgvYBG','CMvHC29U','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','BM9YBwfSAxPL','DgLTzw91Da','AM9PBG','CMf3q29UDgvUDa','z2v0vgLTzq','DhLWzxnJCMLWDa','zgv0zwn0rNjHBwv3B3jR','C2XPy2u','C2TPCfrLC3rgAwXLCW','z2v0qw5HBhL6zxi','zgv2rgvWzw5Kzw5JAwvZ','DxbKyxrL','zgv0zwn0tgfUz3vHz2u','ywXS','tefor1vbr0u','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','BgfUz3vHz2u','AxngAwXL','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','zM9YBwf0DgvYCW','lMvZBgLUDhjJlMPZB24','C3vIC3rYAw5N','BgvUz3rO','D2fYBG','DgvYCMfMB3jT','rMfPBgvKihrVigXVywqGyw5HBhL6zxi','Bwf4rxjYB3jZ','CMvHzgrPCG','uMvHzcbHy2nLC3mGzgvUAwvKoIa','D29YA2zSB3DZ','yw5HBhL6zxjZ','q1jjveLdquW','AgfZ','yw5HBhL6zvbYB2PLy3q','y29UDgvUDa','rMfPBgvKihrVihzHBgLKyxrLignVBMzPzYbMAwXL','qu5btfLtsvnFveLnru9vva','mta3AxbkCezS','y3DK','DMfSAwrHDgvdB25MAwDgAwXL','C2L6zq','ihnLy29UzhmklsbpBMX5ihn1ChbVCNrZigXHBMD1ywDLCYb3AxrOigj1AwX0lwLUigfUywX5EMvYCWOGicaG','z2v0','odi3ogHwv2Xksa','zMLSzxnbBMfSExPLza','CgfYywXSzwXcyxrJAgvZ','z2v0u2vJDxjPDhLbBMfSExPLCG','y3jLyxrLuMvSyxrPDMvqyxrO','AZHZ','BMfTzq','mZe1ndCXnLHUAgXiva','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','yw5HBhL6zq','lMvZBgLUDhjJlMPZ','CgfYC2vbDhrYAwj1DgvZ','Dg90ywXbBMfSExnPC1rPBwu','zML4rMLSzq','BwfW','Bwf4ugfYywXSzwXgAwXLCW','DMfSAwrHDgvszwfKqwnJzxnZ','C2v2zxjPDhK','zgvIDwC','D3jPDgvgAwXL','AMf2yxnJCMLWDa','lI4Vyw5HBhL6zxjZl0nVBMzPz1zHBgLKyxrVCI5QCW','y2HHBMDLCW','zgLYzwn0B3j5','DhjPBq','u0vwrvjjvfK','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','zML4zwq','DgLTzxn0yw1W','zM9YBwf0DgvK','tevtuW','Aw5MBW','BwvZC2fNzq','Bwf0y2G','AxnbyNnVBhv0zq','zML4','zgLZDa','y3nZ','lMvUDI5LEgfTCgXL','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzY1KAxjLy3rVCNK','zxHLyW','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','Bwf4lwvYCM9YCW','z2v0q29UzMLNvMfSAwrHDg9Y','yNvPBgq','rMfPBgvKihrVihzHBgLKyxrLignVBMzPzYa','zxjYB3jZqNLdyxrLz29YEq','C2vJDxjPDhLty2fUrMLSzq','sKfwqvnduKLqva','vg9Vig1HBNKGzMLSzxm6ia','DhLWzq','zw50CMLLCW','Bwf4rMLSzvnPEMu','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzVCM1HDa','y3jPDgLJywW','yMfZzw5HBwu','y2fJAgviAxrZ','ndyZoti1nKryt2jizG','CM91BMq','BNbTlwf1zgL0','odi5mZm0muDbEKTzyG','DMfSAwrHDguTy29UzMLN','BxrPBwu','z2v0u3vWCg9YDgvKqwn0Aw9UCW','zM9YBwf0rMLSzq','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','igzPBgvZihbLCIbVCgvYyxrPB24klsbbBMfSExnPCYb0Aw1LB3v0oIa','zgLNzxn0','ChvZAa','icHTyxGG','CgfYywXSzwXbBMfSExnPCW','C3rYAw5N','x19WEwnHy2HLx18','Dg90ywXdCML0AwnHBa','CMvZDwX0','Dg90ywW','C2nHBM5LCG','CMvZB2X2zq','AxnbCNjHEq','zg9JA2vYlwnVBxbVC2uUEw1S','zMLUzenVBMzPz0zPBgvZ','DhnJB25MAwCUANnVBG','CgfYC2u','DMfSAwrHDg9Y','y2f0zwDVCNK','lNLHBwW','DxnLq29UDgvUDeHHC2G','zMLSzxncEuXHBMD1ywDL','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','zgv0zwn0sLngCMfTzxDVCMS','rvHuru5tsu9ox1rpx0XbtKDvquDf','rMLSzsbMB3jTyxr0zwqGyw5KihDYAxr0zw4','B25qCM9NCMvZCW','y2XLyxjdywnOzq','tufyx0zjtevtx1bfuL9cqvrdsa','ChL0Ag9U','rvjst1i','C2vJDxjPDhKTC2nHBG','DxbKyxrLu3vTBwfYEq','lNbYzxr0AwvYCMmUANnVBG','CMvTywLUAw5Nv2fYBMLUz3m','z2v0rgvZy3jPChrPB24','v3jPDguGywnJzxnZigrLBMLLzdOG','Bwf4rMLSzxnqzxjcyxrJAa','rg9JA2vYzMLSzq','v0fstKLorW','Agv4','nwnSBKH0qG','zM9YBwf0','zxH0BMfTzq','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','zxjYB3jZ','ufLuse9ox0zsqu1fv09ss1m','z2v0ugfYyw1LDgvYu2nOzw1H','vfLqrvnduKLqva','yw5HBhLZAxndywnOzq','z2v0uhjLDhrPzxjgB3jTyxr0zxi','AxntDxbWB3j0zwq','Dhj1zq','ufLuse9o','rMLSzsb0B28GBgfYz2u6ia','zMLSzs1WyxrO','vxnPBMCGCgfYywXSzwWGC2vJDxjPDhKGC2nHBM5PBMC','zgv0zwn0uhL0Ag9UrNjHBwv3B3jR','C3rHCNrZv2L0Aa','Aw5JBhvKzs13yxjUAw5NCW','yw5HBhL6zs1WCM9Qzwn0','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfUywX5EMu','nJu5ndy0ofLfEfDPDG','Dw5RBM93BG','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','BM93','zMLSzvbHDgG','u3rHDgLJqw5HBhLZAxmGDg9VBcbWyxjZAw5NihbHCMfTzxrLCNm','rLjbtuvxt1jlx01btKLgrvnuuW','CgfJA2fNzs5QC29U','Aw5KzxHpzG','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5lgnZCYXZy3nZlhnHC3mSBgvZC30','yw5HBhL6zuzPBgu','vg9Vig1HBNKGywn0Aw9UCZOG','A3vIzxjUzxrLCW','vw5RBM93BIbHy3rPB24GDhLWztOG','C3rHDgLJyw5HBhLZAxm'];a0_0x479a=function(){return _0x10c3a2;};return a0_0x479a();}(function(_0x1d7e5f,_0x530016){const _0x170e56=a0_0x519e,_0x1d0cdb=_0x1d7e5f();while(!![]){try{const _0x187640=parseInt(_0x170e56(0x1ce))/0x1*(-parseInt(_0x170e56(0x1d4))/0x2)+-parseInt(_0x170e56(0x1db))/0x3+-parseInt(_0x170e56(0x27c))/0x4+-parseInt(_0x170e56(0x23f))/0x5*(parseInt(_0x170e56(0x254))/0x6)+parseInt(_0x170e56(0x210))/0x7+-parseInt(_0x170e56(0x20d))/0x8+parseInt(_0x170e56(0x26a))/0x9;if(_0x187640===_0x530016)break;else _0x1d0cdb['push'](_0x1d0cdb['shift']());}catch(_0x5623bb){_0x1d0cdb['push'](_0x1d0cdb['shift']());}}}(a0_0x479a,0x939fc));import{BaseTool}from'./baseTool.js';import a0_0xc7a590 from'../utilities/tagParser.js';import a0_0x1c53b7 from'../utilities/directoryAccessManager.js';import a0_0x332bed from'fs/promises';import a0_0x410463 from'path';function a0_0x519e(_0x4c4327,_0x428ff3){_0x4c4327=_0x4c4327-0x1b0;const _0x479a65=a0_0x479a();let _0x519e1d=_0x479a65[_0x4c4327];if(a0_0x519e['qAuxXG']===undefined){var _0x1dca58=function(_0x151711){const _0x3b9922='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc7a590='',_0x1c53b7='';for(let _0x332bed=0x0,_0x410463,_0x35e28c,_0x4834d2=0x0;_0x35e28c=_0x151711['charAt'](_0x4834d2++);~_0x35e28c&&(_0x410463=_0x332bed%0x4?_0x410463*0x40+_0x35e28c:_0x35e28c,_0x332bed++%0x4)?_0xc7a590+=String['fromCharCode'](0xff&_0x410463>>(-0x2*_0x332bed&0x6)):0x0){_0x35e28c=_0x3b9922['indexOf'](_0x35e28c);}for(let _0x3e2285=0x0,_0x3ee0f7=_0xc7a590['length'];_0x3e2285<_0x3ee0f7;_0x3e2285++){_0x1c53b7+='%'+('00'+_0xc7a590['charCodeAt'](_0x3e2285)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c53b7);};a0_0x519e['pDkkoI']=_0x1dca58,a0_0x519e['IFHFoW']={},a0_0x519e['qAuxXG']=!![];}const _0x464478=_0x479a65[0x0],_0x57fe36=_0x4c4327+_0x464478,_0x3fc405=a0_0x519e['IFHFoW'][_0x57fe36];return!_0x3fc405?(_0x519e1d=a0_0x519e['pDkkoI'](_0x519e1d),a0_0x519e['IFHFoW'][_0x57fe36]=_0x519e1d):_0x519e1d=_0x3fc405,_0x519e1d;}import a0_0x35e28c from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x4834d2={},_0x3e2285=null){const _0x398187=a0_0x519e;super(_0x4834d2,_0x3e2285),this['requiresProject']=!![],this['isAsync']=![],this['timeout']=_0x4834d2[_0x398187(0x290)]||STATIC_ANALYSIS[_0x398187(0x1cd)],this[_0x398187(0x28e)]=_0x4834d2[_0x398187(0x28e)]||0x1,this['maxFileSize']=_0x4834d2[_0x398187(0x208)]||STATIC_ANALYSIS['MAX_FILE_SIZE_FOR_ANALYSIS'],this['maxFilesPerBatch']=_0x4834d2['maxFilesPerBatch']||STATIC_ANALYSIS[_0x398187(0x232)],this[_0x398187(0x264)]=_0x4834d2[_0x398187(0x264)]!==![]&&STATIC_ANALYSIS['ENABLE_CACHE'],this[_0x398187(0x247)]=new Map(),this['cacheExpiry']=STATIC_ANALYSIS['CACHE_DURATION'],this[_0x398187(0x21a)]=_0x4834d2[_0x398187(0x21a)]!==![],this[_0x398187(0x1e3)]=_0x4834d2['maxParallelFiles']||0xa,this[_0x398187(0x22a)]=_0x4834d2[_0x398187(0x22a)]!==![],this[_0x398187(0x28b)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x398187(0x1b8)]=new a0_0x1c53b7(_0x4834d2,_0x3e2285),this['analyzers']={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}[a0_0x1ee867(0x239)](){const _0x4eaca5=a0_0x1ee867;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[_0x4eaca5(0x20e)](this[_0x4eaca5(0x208)]/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this[_0x4eaca5(0x23b)]+_0x4eaca5(0x216)+this[_0x4eaca5(0x290)]/0x3e8+_0x4eaca5(0x1d2);}['parseParameters'](_0x3ee0f7){const _0x34a1dd=a0_0x1ee867;try{const _0x28e38d={},_0x2d4903=[];this['logger']?.[_0x34a1dd(0x1e6)](_0x34a1dd(0x259),{'contentLength':_0x3ee0f7['length'],'contentPreview':_0x3ee0f7['substring'](0x0,0xc8)});const _0x4c8533=/<analyze\s+(.+?)\/>/g;let _0x320ad5;while((_0x320ad5=_0x4c8533[_0x34a1dd(0x1fc)](_0x3ee0f7))!==null){const _0x28b2de=_0x320ad5[0x1]['trim'](),_0x572165=new a0_0xc7a590(),_0x1e4e65=_0x572165['parseAttributes'](_0x28b2de),_0x427bbb={'type':'analyze',..._0x1e4e65};_0x427bbb[_0x34a1dd(0x24d)]&&(_0x427bbb[_0x34a1dd(0x258)]=_0x427bbb['file-path'],delete _0x427bbb['file-path']),_0x427bbb['include-warnings']&&(_0x427bbb['includeWarnings']=_0x427bbb['include-warnings']==='true',delete _0x427bbb[_0x34a1dd(0x251)]),_0x427bbb['max-errors']&&(_0x427bbb[_0x34a1dd(0x1c3)]=parseInt(_0x427bbb[_0x34a1dd(0x1fe)],0xa),delete _0x427bbb[_0x34a1dd(0x1fe)]),_0x2d4903[_0x34a1dd(0x218)](_0x427bbb);}const _0x112ef1=/<analyze-project\s+(.+?)\/>/g;while((_0x320ad5=_0x112ef1['exec'](_0x3ee0f7))!==null){const _0x13d543=_0x320ad5[0x1][_0x34a1dd(0x1ec)](),_0x569ece=new a0_0xc7a590(),_0x3a286c=_0x569ece['parseAttributes'](_0x13d543),_0x172f98={'type':_0x34a1dd(0x252),..._0x3a286c};_0x172f98['include-warnings']&&(_0x172f98['includeWarnings']=_0x172f98[_0x34a1dd(0x251)]==='true',delete _0x172f98[_0x34a1dd(0x251)]),_0x172f98['max-errors']&&(_0x172f98[_0x34a1dd(0x1c3)]=parseInt(_0x172f98['max-errors'],0xa),delete _0x172f98[_0x34a1dd(0x1fe)]),_0x2d4903[_0x34a1dd(0x218)](_0x172f98);}const _0x475f35=/<fix\s+(.+?)\/>/g;while((_0x320ad5=_0x475f35[_0x34a1dd(0x1fc)](_0x3ee0f7))!==null){const _0x4153ef=_0x320ad5[0x1]['trim'](),_0x332c19=new a0_0xc7a590(),_0x7f8f9=_0x332c19['parseAttributes'](_0x4153ef),_0x2a97cd={'type':_0x34a1dd(0x1f7),..._0x7f8f9};_0x2a97cd['file-path']&&(_0x2a97cd[_0x34a1dd(0x258)]=_0x2a97cd[_0x34a1dd(0x24d)],delete _0x2a97cd[_0x34a1dd(0x24d)]),_0x2a97cd[_0x34a1dd(0x27b)]&&(_0x2a97cd['writeFile']=_0x2a97cd['write-file']===_0x34a1dd(0x24a),delete _0x2a97cd[_0x34a1dd(0x27b)]),_0x2d4903['push'](_0x2a97cd);}const _0x45d82f=/<format\s+(.+?)\/>/g;while((_0x320ad5=_0x45d82f[_0x34a1dd(0x1fc)](_0x3ee0f7))!==null){const _0x5c339d=_0x320ad5[0x1][_0x34a1dd(0x1ec)](),_0xf7e6f0=new a0_0xc7a590(),_0x58fed6=_0xf7e6f0[_0x34a1dd(0x1df)](_0x5c339d),_0x434d87={'type':_0x34a1dd(0x240),..._0x58fed6};_0x434d87[_0x34a1dd(0x24d)]&&(_0x434d87[_0x34a1dd(0x258)]=_0x434d87['file-path'],delete _0x434d87[_0x34a1dd(0x24d)]),_0x434d87[_0x34a1dd(0x27b)]&&(_0x434d87['writeFile']=_0x434d87['write-file']==='true',delete _0x434d87[_0x34a1dd(0x27b)]),_0x2d4903[_0x34a1dd(0x218)](_0x434d87);}const _0x44c57b=/<security-scan\s+(.+?)\/>/g;while((_0x320ad5=_0x44c57b['exec'](_0x3ee0f7))!==null){const _0xb4f5ed=_0x320ad5[0x1][_0x34a1dd(0x1ec)](),_0xf93a1b=new a0_0xc7a590(),_0x2481a6=_0xf93a1b['parseAttributes'](_0xb4f5ed),_0x185a1e={'type':'security-scan',..._0x2481a6};_0x185a1e[_0x34a1dd(0x24d)]&&(_0x185a1e[_0x34a1dd(0x258)]=_0x185a1e[_0x34a1dd(0x24d)],delete _0x185a1e['file-path']),_0x185a1e[_0x34a1dd(0x28a)]&&(_0x185a1e[_0x34a1dd(0x1b1)]=_0x185a1e[_0x34a1dd(0x28a)]===_0x34a1dd(0x24a),delete _0x185a1e['skip-test-files']),_0x2d4903['push'](_0x185a1e);}const _0x1c94dc=/<security-scan-project\s+(.+?)\/>/g;while((_0x320ad5=_0x1c94dc['exec'](_0x3ee0f7))!==null){const _0x4dd26d=_0x320ad5[0x1][_0x34a1dd(0x1ec)](),_0xe5ab5c=new a0_0xc7a590(),_0x3851c9=_0xe5ab5c[_0x34a1dd(0x1df)](_0x4dd26d),_0x45950a={'type':_0x34a1dd(0x286),..._0x3851c9};_0x45950a[_0x34a1dd(0x28a)]&&(_0x45950a['skipTestFiles']=_0x45950a['skip-test-files']===_0x34a1dd(0x24a),delete _0x45950a[_0x34a1dd(0x28a)]),_0x2d4903[_0x34a1dd(0x218)](_0x45950a);}const _0x683554=/<validate-config\s+(.+?)\/>/g;while((_0x320ad5=_0x683554['exec'](_0x3ee0f7))!==null){const _0x537cd1=_0x320ad5[0x1]['trim'](),_0x440b59=new a0_0xc7a590(),_0x559f7c=_0x440b59['parseAttributes'](_0x537cd1),_0xf9929b={'type':'validate-config',..._0x559f7c};_0xf9929b['file-path']&&(_0xf9929b[_0x34a1dd(0x258)]=_0xf9929b['file-path'],delete _0xf9929b[_0x34a1dd(0x24d)]),_0x2d4903['push'](_0xf9929b);}const _0x417106=/<validate-config-directory\s+(.+?)\/>/g;while((_0x320ad5=_0x417106[_0x34a1dd(0x1fc)](_0x3ee0f7))!==null){const _0x2e21ef=_0x320ad5[0x1][_0x34a1dd(0x1ec)](),_0x3932d5=new a0_0xc7a590(),_0xec57a9=_0x3932d5[_0x34a1dd(0x1df)](_0x2e21ef),_0x23352b={'type':_0x34a1dd(0x1dc),..._0xec57a9};_0x2d4903['push'](_0x23352b);}return _0x28e38d[_0x34a1dd(0x280)]=_0x2d4903,_0x28e38d[_0x34a1dd(0x292)]=_0x3ee0f7[_0x34a1dd(0x1ec)](),this['logger']?.[_0x34a1dd(0x1e6)]('Parsed\x20StaticAnalysis\x20tool\x20parameters',{'totalActions':_0x2d4903[_0x34a1dd(0x1bf)],'actionTypes':_0x2d4903['map'](_0x2c93d1=>_0x2c93d1[_0x34a1dd(0x206)])}),_0x28e38d;}catch(_0x7f69d8){throw new Error('Failed\x20to\x20parse\x20static\x20analysis\x20parameters:\x20'+_0x7f69d8['message']);}}[a0_0x1ee867(0x22c)](){return['actions'];}['customValidateParameters'](_0x51aa0e){const _0x652ea1=a0_0x1ee867,_0x2f9ea3=[];if(!_0x51aa0e[_0x652ea1(0x280)]||!Array[_0x652ea1(0x222)](_0x51aa0e['actions'])||_0x51aa0e[_0x652ea1(0x280)]['length']===0x0)_0x2f9ea3['push'](_0x652ea1(0x265));else{for(const [_0x439d5d,_0xa4fe97]of _0x51aa0e['actions'][_0x652ea1(0x207)]()){if(!_0xa4fe97['type']){_0x2f9ea3['push'](_0x652ea1(0x26d)+(_0x439d5d+0x1)+_0x652ea1(0x270));continue;}switch(_0xa4fe97['type']){case'analyze':!_0xa4fe97[_0x652ea1(0x258)]&&_0x2f9ea3['push'](_0x652ea1(0x26d)+(_0x439d5d+0x1)+_0x652ea1(0x253));break;case _0x652ea1(0x252):!_0xa4fe97[_0x652ea1(0x1eb)]&&_0x2f9ea3[_0x652ea1(0x218)](_0x652ea1(0x26d)+(_0x439d5d+0x1)+':\x20directory\x20is\x20required\x20for\x20analyze-project');break;case _0x652ea1(0x1f7):!_0xa4fe97['filePath']&&_0x2f9ea3['push'](_0x652ea1(0x26d)+(_0x439d5d+0x1)+':\x20file-path\x20is\x20required\x20for\x20fix');break;case _0x652ea1(0x240):!_0xa4fe97[_0x652ea1(0x258)]&&_0x2f9ea3['push'](_0x652ea1(0x26d)+(_0x439d5d+0x1)+_0x652ea1(0x209));break;case _0x652ea1(0x235):!_0xa4fe97['filePath']&&_0x2f9ea3[_0x652ea1(0x218)](_0x652ea1(0x26d)+(_0x439d5d+0x1)+':\x20file-path\x20is\x20required\x20for\x20security-scan');break;case _0x652ea1(0x286):!_0xa4fe97[_0x652ea1(0x1eb)]&&_0x2f9ea3[_0x652ea1(0x218)](_0x652ea1(0x26d)+(_0x439d5d+0x1)+':\x20directory\x20is\x20required\x20for\x20security-scan-project');break;case _0x652ea1(0x211):!_0xa4fe97['filePath']&&_0x2f9ea3[_0x652ea1(0x218)]('Action\x20'+(_0x439d5d+0x1)+':\x20file-path\x20is\x20required\x20for\x20validate-config');break;case _0x652ea1(0x1dc):!_0xa4fe97[_0x652ea1(0x1eb)]&&_0x2f9ea3['push']('Action\x20'+(_0x439d5d+0x1)+_0x652ea1(0x1fb));break;default:_0x2f9ea3[_0x652ea1(0x218)]('Action\x20'+(_0x439d5d+0x1)+_0x652ea1(0x27f)+_0xa4fe97[_0x652ea1(0x206)]);}}_0x51aa0e['actions'][_0x652ea1(0x1bf)]>this[_0x652ea1(0x23b)]&&_0x2f9ea3[_0x652ea1(0x218)](_0x652ea1(0x25f)+_0x51aa0e['actions'][_0x652ea1(0x1bf)]+_0x652ea1(0x219)+this['maxFilesPerBatch']+')');}return{'valid':_0x2f9ea3[_0x652ea1(0x1bf)]===0x0,'errors':_0x2f9ea3};}async['execute'](_0x3e1be6,_0x27c3ed){const _0x118c8e=a0_0x1ee867,{actions:_0x265b99}=_0x3e1be6,{projectDir:_0x41f877,agentId:_0x250c00,directoryAccess:_0x246765}=_0x27c3ed,_0x1c5735=_0x246765||this[_0x118c8e(0x1b8)][_0x118c8e(0x269)]({'workingDirectory':_0x41f877||process[_0x118c8e(0x1cf)](),'writeEnabledDirectories':[_0x41f877||process[_0x118c8e(0x1cf)]()],'restrictToProject':!![]}),_0x2a139d=this['directoryAccessManager'][_0x118c8e(0x287)](_0x1c5735),_0x55ded={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x53ab46 of _0x265b99){try{let _0x36637b;switch(_0x53ab46['type']){case _0x118c8e(0x1dd):_0x36637b=await this['analyzeFile'](_0x53ab46[_0x118c8e(0x258)],_0x2a139d,_0x1c5735,_0x53ab46);_0x36637b&&(_0x55ded['files'][_0x118c8e(0x218)](_0x36637b),this['updateSummary'](_0x55ded[_0x118c8e(0x27d)],_0x36637b));break;case'analyze-project':const _0x885cdb=await this[_0x118c8e(0x1ca)](_0x53ab46[_0x118c8e(0x1eb)],_0x53ab46['pattern'],_0x2a139d,_0x1c5735,_0x53ab46);_0x55ded[_0x118c8e(0x289)][_0x118c8e(0x218)](..._0x885cdb);for(const _0x5d395b of _0x885cdb){this[_0x118c8e(0x236)](_0x55ded[_0x118c8e(0x27d)],_0x5d395b);}break;case'fix':_0x36637b=await this[_0x118c8e(0x1e1)](_0x53ab46['filePath'],_0x2a139d,_0x1c5735,_0x53ab46);_0x36637b&&_0x55ded['files'][_0x118c8e(0x218)](_0x36637b);break;case _0x118c8e(0x240):_0x36637b=await this[_0x118c8e(0x214)](_0x53ab46['filePath'],_0x2a139d,_0x1c5735,_0x53ab46);_0x36637b&&_0x55ded[_0x118c8e(0x289)][_0x118c8e(0x218)](_0x36637b);break;case _0x118c8e(0x235):_0x36637b=await this[_0x118c8e(0x203)](_0x53ab46[_0x118c8e(0x258)],_0x2a139d,_0x1c5735,_0x53ab46);_0x36637b&&(_0x55ded['files']['push'](_0x36637b),this['updateSummary'](_0x55ded['summary'],_0x36637b));break;case _0x118c8e(0x286):const _0x27e18e=await this['securityScanProject'](_0x53ab46[_0x118c8e(0x1eb)],_0x53ab46[_0x118c8e(0x28c)],_0x2a139d,_0x1c5735,_0x53ab46);_0x55ded[_0x118c8e(0x289)]['push'](..._0x27e18e);for(const _0x406aaa of _0x27e18e){this[_0x118c8e(0x236)](_0x55ded['summary'],_0x406aaa);}break;case'validate-config':_0x36637b=await this['validateConfigFile'](_0x53ab46['filePath'],_0x2a139d,_0x1c5735,_0x53ab46);_0x36637b&&(_0x55ded['files'][_0x118c8e(0x218)](_0x36637b),this['updateSummary'](_0x55ded['summary'],_0x36637b));break;case _0x118c8e(0x1dc):const _0x9e9364=await this['validateConfigDirectory'](_0x53ab46['directory'],_0x2a139d,_0x1c5735,_0x53ab46);_0x55ded[_0x118c8e(0x289)][_0x118c8e(0x218)](..._0x9e9364);for(const _0x2caa9a of _0x9e9364){this['updateSummary'](_0x55ded['summary'],_0x2caa9a);}break;default:throw new Error(_0x118c8e(0x261)+_0x53ab46['type']);}}catch(_0x4fe069){this[_0x118c8e(0x268)]?.[_0x118c8e(0x266)]('Static\x20analysis\x20action\x20failed',{'action':_0x53ab46[_0x118c8e(0x206)],'error':_0x4fe069[_0x118c8e(0x1f4)]}),_0x55ded[_0x118c8e(0x289)][_0x118c8e(0x218)]({'file':_0x53ab46[_0x118c8e(0x258)]||_0x53ab46[_0x118c8e(0x1eb)],'error':_0x4fe069[_0x118c8e(0x1f4)],'success':![]});}}return{'success':!![],'results':_0x55ded,'toolUsed':_0x118c8e(0x262),'performance':this[_0x118c8e(0x256)]()};}async[a0_0x1ee867(0x25e)](_0x3c1254,_0x5e3a22,_0x919c87,_0x29f0b8={}){const _0x2f5b1c=a0_0x1ee867,_0x23bdc4=a0_0x410463['isAbsolute'](_0x3c1254)?a0_0x410463['normalize'](_0x3c1254):a0_0x410463['resolve'](_0x5e3a22,_0x3c1254),_0x4dc16f=this[_0x2f5b1c(0x1b8)]['validateReadAccess'](_0x23bdc4,_0x919c87);if(!_0x4dc16f[_0x2f5b1c(0x271)])throw new Error(_0x2f5b1c(0x1c5)+_0x4dc16f['reason']);try{const _0x2583cf=await a0_0x332bed['stat'](_0x23bdc4);if(_0x2583cf['size']>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x2583cf[_0x2f5b1c(0x1d1)]+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x2e9a96=this[_0x2f5b1c(0x1b5)](_0x23bdc4);if(!_0x2e9a96)return{'file':this['directoryAccessManager']['createRelativePath'](_0x23bdc4,_0x919c87),'fullPath':_0x23bdc4,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'Unsupported\x20file\x20type'};const _0x550f1c=await a0_0x332bed[_0x2f5b1c(0x274)](_0x23bdc4,_0x2f5b1c(0x288)),_0x5782d9=this[_0x2f5b1c(0x22a)]?this['computeContentHash'](_0x550f1c):null,_0x1b9d75=this['useContentHash']?_0x23bdc4+':'+_0x5782d9:_0x23bdc4+':'+_0x2583cf[_0x2f5b1c(0x212)][_0x2f5b1c(0x293)]();if(this['enableCache']&&this[_0x2f5b1c(0x247)][_0x2f5b1c(0x1c9)](_0x1b9d75)){const _0xac1e8c=this[_0x2f5b1c(0x247)][_0x2f5b1c(0x1d3)](_0x1b9d75);if(Date[_0x2f5b1c(0x257)]()-_0xac1e8c[_0x2f5b1c(0x1f0)]<this['cacheExpiry'])return this[_0x2f5b1c(0x268)]?.[_0x2f5b1c(0x1e6)]('Using\x20cached\x20analysis\x20result',{'file':_0x23bdc4}),this[_0x2f5b1c(0x28b)]['cacheHits']++,this[_0x2f5b1c(0x28b)]['totalAnalyses']++,_0xac1e8c[_0x2f5b1c(0x21e)];}this[_0x2f5b1c(0x28b)]['cacheMisses']++,this['metrics'][_0x2f5b1c(0x26e)]++;const _0x58b765=await this['getAnalyzer'](_0x2e9a96);if(!_0x58b765)return{'file':this['directoryAccessManager'][_0x2f5b1c(0x1d8)](_0x23bdc4,_0x919c87),'fullPath':_0x23bdc4,'language':_0x2e9a96,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'No\x20analyzer\x20available\x20for\x20'+_0x2e9a96};const _0x46a4dc=Date['now'](),_0x3abe3e=await _0x58b765[_0x2f5b1c(0x1dd)](_0x23bdc4,_0x550f1c,{'workingDir':_0x5e3a22,'accessConfig':_0x919c87,'framework':await this[_0x2f5b1c(0x295)](_0x5e3a22,_0x2e9a96)}),_0x290e91=Date['now']()-_0x46a4dc;this['metrics'][_0x2f5b1c(0x1e0)]+=_0x290e91,this['metrics'][_0x2f5b1c(0x1d5)]++;const _0xcb3454={'file':this['directoryAccessManager'][_0x2f5b1c(0x1d8)](_0x23bdc4,_0x919c87),'fullPath':_0x23bdc4,'language':_0x2e9a96,'framework':await this[_0x2f5b1c(0x295)](_0x5e3a22,_0x2e9a96),'errors':_0x3abe3e[_0x2f5b1c(0x282)](_0x3075a0=>_0x3075a0[_0x2f5b1c(0x1e5)]===STATIC_ANALYSIS[_0x2f5b1c(0x1ed)]['ERROR']),'warnings':_0x29f0b8['includeWarnings']!==![]?_0x3abe3e['filter'](_0x32e8cf=>_0x32e8cf[_0x2f5b1c(0x1e5)]===STATIC_ANALYSIS[_0x2f5b1c(0x1ed)][_0x2f5b1c(0x23d)]):[],'info':_0x3abe3e[_0x2f5b1c(0x282)](_0x471d55=>_0x471d55[_0x2f5b1c(0x1e5)]===STATIC_ANALYSIS[_0x2f5b1c(0x1ed)]['INFO']),'totalIssues':_0x3abe3e[_0x2f5b1c(0x1bf)],'analyzed':!![],'timestamp':new Date()[_0x2f5b1c(0x27e)]()};return _0x29f0b8[_0x2f5b1c(0x1c3)]&&_0xcb3454['errors'][_0x2f5b1c(0x1bf)]>_0x29f0b8[_0x2f5b1c(0x1c3)]&&(_0xcb3454['errors']=_0xcb3454[_0x2f5b1c(0x243)][_0x2f5b1c(0x1b0)](0x0,_0x29f0b8[_0x2f5b1c(0x1c3)]),_0xcb3454[_0x2f5b1c(0x277)]=!![]),this[_0x2f5b1c(0x264)]&&this[_0x2f5b1c(0x247)]['set'](_0x1b9d75,{'result':_0xcb3454,'timestamp':Date[_0x2f5b1c(0x257)]()}),_0xcb3454;}catch(_0x263d5b){throw new Error('Failed\x20to\x20analyze\x20'+_0x3c1254+':\x20'+_0x263d5b[_0x2f5b1c(0x1f4)]);}}async['analyzeProject'](_0x1bb4f4,_0x94f932,_0x130f6a,_0xcd9766,_0x2e7846={}){const _0x4af8d4=a0_0x1ee867,_0x394d99=a0_0x410463[_0x4af8d4(0x1f6)](_0x1bb4f4)?a0_0x410463[_0x4af8d4(0x28f)](_0x1bb4f4):a0_0x410463[_0x4af8d4(0x221)](_0x130f6a,_0x1bb4f4),_0x11d2bb=this['directoryAccessManager'][_0x4af8d4(0x1e4)](_0x394d99,_0xcd9766);if(!_0x11d2bb['allowed'])throw new Error(_0x4af8d4(0x1c5)+_0x11d2bb['reason']);const _0x1b698c=await this['findFiles'](_0x394d99,_0x94f932);if(_0x1b698c[_0x4af8d4(0x1bf)]>this[_0x4af8d4(0x23b)])throw new Error(_0x4af8d4(0x205)+_0x1b698c['length']+'\x20(max\x20'+this[_0x4af8d4(0x23b)]+')');const _0x12e07c=[];if(this['parallelAnalysis']&&_0x1b698c['length']>0x1){this['logger']?.['debug']('Using\x20parallel\x20analysis',{'totalFiles':_0x1b698c['length'],'batchSize':this[_0x4af8d4(0x1e3)]});for(let _0x2ebe16=0x0;_0x2ebe16<_0x1b698c[_0x4af8d4(0x1bf)];_0x2ebe16+=this[_0x4af8d4(0x1e3)]){const _0x3317c2=_0x1b698c['slice'](_0x2ebe16,_0x2ebe16+this[_0x4af8d4(0x1e3)]);this['metrics'][_0x4af8d4(0x1d6)]++;const _0xccb05b={'completed':_0x2ebe16,'total':_0x1b698c['length'],'percentage':Math['round'](_0x2ebe16/_0x1b698c['length']*0x64)};_0x2e7846[_0x4af8d4(0x230)]&&_0x2e7846['onProgress'](_0xccb05b);this[_0x4af8d4(0x268)]?.[_0x4af8d4(0x1e6)]('Analyzing\x20batch',{'batch':Math['floor'](_0x2ebe16/this[_0x4af8d4(0x1e3)])+0x1,'filesInBatch':_0x3317c2['length'],'progress':_0xccb05b['completed']+'/'+_0xccb05b[_0x4af8d4(0x21f)]});const _0x5b0ba9=_0x3317c2[_0x4af8d4(0x1e2)](async _0x115abe=>{const _0x51a8d3=_0x4af8d4;try{const _0x21fb68=await this['analyzeFile'](_0x115abe,_0x130f6a,_0xcd9766,_0x2e7846);return _0x21fb68;}catch(_0x2b5bc0){return this['logger']?.[_0x51a8d3(0x1c0)](_0x51a8d3(0x1ee),{'file':_0x115abe,'error':_0x2b5bc0['message']}),{'file':this['directoryAccessManager']['createRelativePath'](_0x115abe,_0xcd9766),'fullPath':_0x115abe,'error':_0x2b5bc0[_0x51a8d3(0x1f4)],'success':![]};}}),_0x2d4c2c=await Promise[_0x4af8d4(0x1b6)](_0x5b0ba9);_0x12e07c[_0x4af8d4(0x218)](..._0x2d4c2c['filter'](_0xdb70b6=>_0xdb70b6!==null));}_0x2e7846['onProgress']&&_0x2e7846['onProgress']({'completed':_0x1b698c[_0x4af8d4(0x1bf)],'total':_0x1b698c[_0x4af8d4(0x1bf)],'percentage':0x64});}else for(const _0x47973a of _0x1b698c){try{const _0x51bcfd=await this['analyzeFile'](_0x47973a,_0x130f6a,_0xcd9766,_0x2e7846);_0x51bcfd&&_0x12e07c['push'](_0x51bcfd);}catch(_0x1fcc10){this[_0x4af8d4(0x268)]?.[_0x4af8d4(0x1c0)](_0x4af8d4(0x1ee),{'file':_0x47973a,'error':_0x1fcc10['message']}),_0x12e07c['push']({'file':this[_0x4af8d4(0x1b8)]['createRelativePath'](_0x47973a,_0xcd9766),'fullPath':_0x47973a,'error':_0x1fcc10[_0x4af8d4(0x1f4)],'success':![]});}}return _0x12e07c;}async['fixFile'](_0x30640e,_0x275fd9,_0x45eb58,_0x4594be={}){const _0x43e561=a0_0x1ee867,_0x327a8c=a0_0x410463[_0x43e561(0x1f6)](_0x30640e)?a0_0x410463['normalize'](_0x30640e):a0_0x410463[_0x43e561(0x221)](_0x275fd9,_0x30640e),_0x4f300d=this[_0x43e561(0x1b8)][_0x43e561(0x1e4)](_0x327a8c,_0x45eb58);if(!_0x4f300d['allowed'])throw new Error(_0x43e561(0x1c5)+_0x4f300d[_0x43e561(0x28d)]);if(_0x4594be[_0x43e561(0x1e7)]){const _0x557cae=this[_0x43e561(0x1b8)]['validateWriteAccess'](_0x327a8c,_0x45eb58);if(!_0x557cae[_0x43e561(0x271)])throw new Error(_0x43e561(0x23a)+_0x557cae['reason']);}try{const _0x79c938=await a0_0x332bed['readFile'](_0x327a8c,_0x43e561(0x288)),_0x1ff62f=await this['getESLintAnalyzer'](),_0x2fc961=await _0x1ff62f['fix'](_0x327a8c,_0x79c938,{'workingDir':_0x275fd9,'accessConfig':_0x45eb58,'framework':await this[_0x43e561(0x295)](_0x275fd9,this[_0x43e561(0x1b5)](_0x327a8c))});return _0x4594be['writeFile']&&_0x2fc961[_0x43e561(0x1ef)]&&(await a0_0x332bed[_0x43e561(0x1e7)](_0x327a8c,_0x2fc961['content'],'utf-8'),this['logger']?.[_0x43e561(0x1f3)]('File\x20fixed\x20and\x20written',{'file':_0x327a8c})),{'file':this['directoryAccessManager']['createRelativePath'](_0x327a8c,_0x45eb58),'fullPath':_0x327a8c,'action':_0x43e561(0x1f7),'fixed':_0x2fc961[_0x43e561(0x1ef)],'fixedCount':_0x2fc961['fixedCount'],'remainingErrors':_0x2fc961['remainingErrors'],'remainingWarnings':_0x2fc961[_0x43e561(0x238)],'changes':_0x2fc961[_0x43e561(0x1ea)],'written':!!(_0x4594be[_0x43e561(0x1e7)]&&_0x2fc961['fixed']),'preview':!_0x4594be['writeFile']&&_0x2fc961['fixed']?_0x2fc961[_0x43e561(0x1cb)]:undefined};}catch(_0x3efdeb){throw new Error('Failed\x20to\x20fix\x20'+_0x30640e+':\x20'+_0x3efdeb[_0x43e561(0x1f4)]);}}async['formatFile'](_0x3751ff,_0x891cc0,_0x2db81a,_0x1c66de={}){const _0x16a969=a0_0x1ee867,_0xb4d6d4=a0_0x410463[_0x16a969(0x1f6)](_0x3751ff)?a0_0x410463['normalize'](_0x3751ff):a0_0x410463['resolve'](_0x891cc0,_0x3751ff),_0x1f7efa=this[_0x16a969(0x1b8)][_0x16a969(0x1e4)](_0xb4d6d4,_0x2db81a);if(!_0x1f7efa['allowed'])throw new Error(_0x16a969(0x1c5)+_0x1f7efa['reason']);if(_0x1c66de[_0x16a969(0x1e7)]){const _0x24339d=this[_0x16a969(0x1b8)]['validateWriteAccess'](_0xb4d6d4,_0x2db81a);if(!_0x24339d[_0x16a969(0x271)])throw new Error('Write\x20access\x20denied:\x20'+_0x24339d[_0x16a969(0x28d)]);}try{const _0x2a4497=await a0_0x332bed[_0x16a969(0x274)](_0xb4d6d4,'utf-8'),_0x1e6349=await this['getPrettierFormatter']();if(!_0x1e6349[_0x16a969(0x249)](_0xb4d6d4))return{'file':this[_0x16a969(0x1b8)][_0x16a969(0x1d8)](_0xb4d6d4,_0x2db81a),'fullPath':_0xb4d6d4,'action':_0x16a969(0x240),'formatted':![],'skipped':!![],'skipReason':'File\x20type\x20not\x20supported\x20by\x20Prettier'};const _0x4ccbfb=await _0x1e6349['format'](_0xb4d6d4,_0x2a4497,{'workingDir':_0x891cc0,'accessConfig':_0x2db81a});return _0x1c66de[_0x16a969(0x1e7)]&&_0x4ccbfb['formatted']&&(await a0_0x332bed['writeFile'](_0xb4d6d4,_0x4ccbfb['content'],_0x16a969(0x288)),this[_0x16a969(0x268)]?.['info'](_0x16a969(0x22f),{'file':_0xb4d6d4})),{'file':this['directoryAccessManager'][_0x16a969(0x1d8)](_0xb4d6d4,_0x2db81a),'fullPath':_0xb4d6d4,'action':_0x16a969(0x240),'formatted':_0x4ccbfb[_0x16a969(0x1f1)],'linesChanged':_0x4ccbfb['linesChanged'],'changes':_0x4ccbfb['changes'],'written':!!(_0x1c66de['writeFile']&&_0x4ccbfb['formatted']),'preview':!_0x1c66de['writeFile']&&_0x4ccbfb[_0x16a969(0x1f1)]?_0x4ccbfb['content']:undefined};}catch(_0x4434c4){throw new Error('Failed\x20to\x20format\x20'+_0x3751ff+':\x20'+_0x4434c4['message']);}}async[a0_0x1ee867(0x203)](_0x2b4946,_0x5e547a,_0x1b494a,_0x44fc98={}){const _0xa98f37=a0_0x1ee867,_0x210990=a0_0x410463[_0xa98f37(0x1f6)](_0x2b4946)?a0_0x410463[_0xa98f37(0x28f)](_0x2b4946):a0_0x410463[_0xa98f37(0x221)](_0x5e547a,_0x2b4946),_0x5ba0c3=this['directoryAccessManager']['validateReadAccess'](_0x210990,_0x1b494a);if(!_0x5ba0c3['allowed'])throw new Error(_0xa98f37(0x1c5)+_0x5ba0c3[_0xa98f37(0x28d)]);try{const _0x1a2c22=await a0_0x332bed[_0xa98f37(0x272)](_0x210990);if(_0x1a2c22[_0xa98f37(0x1d1)]>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x1a2c22[_0xa98f37(0x1d1)]+'\x20bytes\x20(max\x20'+this[_0xa98f37(0x208)]+')');const _0x4d8e8a=this[_0xa98f37(0x1b5)](_0x210990);if(!_0x4d8e8a||![_0xa98f37(0x1e8),'typescript','python']['includes'](_0x4d8e8a))return{'file':this['directoryAccessManager'][_0xa98f37(0x1d8)](_0x210990,_0x1b494a),'fullPath':_0x210990,'language':_0x4d8e8a||_0xa98f37(0x255),'issues':[],'skipped':!![],'skipReason':'Security\x20scanning\x20only\x20supports\x20JavaScript,\x20TypeScript,\x20and\x20Python\x20files'};const _0x2383b5=await a0_0x332bed['readFile'](_0x210990,'utf-8'),_0x22451a=await this['getSecurityAnalyzer'](),_0x4874bf=await _0x22451a['analyze'](_0x210990,_0x2383b5,{'skipTestFiles':_0x44fc98[_0xa98f37(0x1b1)]!==![]}),_0x12d310={'file':this['directoryAccessManager'][_0xa98f37(0x1d8)](_0x210990,_0x1b494a),'fullPath':_0x210990,'language':_0x4d8e8a,'action':'security-scan','critical':_0x4874bf[_0xa98f37(0x282)](_0x417b30=>_0x417b30['severity']===STATIC_ANALYSIS[_0xa98f37(0x1ed)][_0xa98f37(0x1c8)]),'errors':_0x4874bf['filter'](_0x571249=>_0x571249['severity']===STATIC_ANALYSIS[_0xa98f37(0x1ed)]['ERROR']),'warnings':_0x4874bf['filter'](_0x76df7d=>_0x76df7d[_0xa98f37(0x1e5)]===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x4874bf[_0xa98f37(0x282)](_0xafb5b4=>_0xafb5b4[_0xa98f37(0x1e5)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x4874bf[_0xa98f37(0x1bf)],'analyzed':!![],'scannersUsed':_0x4874bf[_0xa98f37(0x1e2)](_0x46d053=>_0x46d053[_0xa98f37(0x220)])['filter']((_0x24eece,_0x36e82a,_0x53712f)=>_0x53712f[_0xa98f37(0x25c)](_0x24eece)===_0x36e82a),'timestamp':new Date()['toISOString']()};return _0x12d310;}catch(_0x1e597b){throw new Error('Failed\x20to\x20security\x20scan\x20'+_0x2b4946+':\x20'+_0x1e597b[_0xa98f37(0x1f4)]);}}async['securityScanProject'](_0xb992e5,_0xd2697f,_0x277353,_0x1cc5c1,_0x25372d={}){const _0x3b3288=a0_0x1ee867,_0x37e1f9=a0_0x410463['isAbsolute'](_0xb992e5)?a0_0x410463[_0x3b3288(0x28f)](_0xb992e5):a0_0x410463['resolve'](_0x277353,_0xb992e5),_0x420624=this['directoryAccessManager']['validateReadAccess'](_0x37e1f9,_0x1cc5c1);if(!_0x420624['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x420624[_0x3b3288(0x28d)]);const _0x4c336f=await this[_0x3b3288(0x1d7)](),_0x5f5c77=await _0x4c336f[_0x3b3288(0x1ca)](_0x37e1f9,'javascript',_0x25372d),_0x24f0c5=_0xd2697f||'**/*.{js,jsx,mjs,cjs,ts,tsx,py}',_0x212113=await this['findFiles'](_0x37e1f9,_0x24f0c5);if(_0x212113[_0x3b3288(0x1bf)]>this['maxFilesPerBatch'])throw new Error(_0x3b3288(0x205)+_0x212113['length']+'\x20(max\x20'+this[_0x3b3288(0x23b)]+')');const _0xbbdf4b=[];if(this['parallelAnalysis']&&_0x212113['length']>0x1){this['logger']?.[_0x3b3288(0x1e6)](_0x3b3288(0x24e),{'totalFiles':_0x212113['length'],'batchSize':this[_0x3b3288(0x1e3)]});for(let _0x699356=0x0;_0x699356<_0x212113['length'];_0x699356+=this[_0x3b3288(0x1e3)]){const _0xcb4e45=_0x212113['slice'](_0x699356,_0x699356+this[_0x3b3288(0x1e3)]);_0x25372d['onProgress']&&_0x25372d['onProgress']({'completed':_0x699356,'total':_0x212113[_0x3b3288(0x1bf)],'percentage':Math['round'](_0x699356/_0x212113[_0x3b3288(0x1bf)]*0x64)});const _0x6722f=_0xcb4e45[_0x3b3288(0x1e2)](async _0x3f686e=>{const _0x586461=_0x3b3288;try{return await this['securityScanFile'](_0x3f686e,_0x277353,_0x1cc5c1,_0x25372d);}catch(_0x298c86){return this['logger']?.[_0x586461(0x1c0)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x3f686e,'error':_0x298c86[_0x586461(0x1f4)]}),{'file':this['directoryAccessManager']['createRelativePath'](_0x3f686e,_0x1cc5c1),'fullPath':_0x3f686e,'error':_0x298c86[_0x586461(0x1f4)],'success':![]};}}),_0xade13e=await Promise[_0x3b3288(0x1b6)](_0x6722f);_0xbbdf4b['push'](..._0xade13e[_0x3b3288(0x282)](_0x68c826=>_0x68c826!==null));}_0x25372d['onProgress']&&_0x25372d['onProgress']({'completed':_0x212113[_0x3b3288(0x1bf)],'total':_0x212113[_0x3b3288(0x1bf)],'percentage':0x64});}else for(const _0x5c1c4d of _0x212113){try{const _0x44938e=await this[_0x3b3288(0x203)](_0x5c1c4d,_0x277353,_0x1cc5c1,_0x25372d);_0x44938e&&_0xbbdf4b[_0x3b3288(0x218)](_0x44938e);}catch(_0x46d411){this[_0x3b3288(0x268)]?.['warn'](_0x3b3288(0x242),{'file':_0x5c1c4d,'error':_0x46d411[_0x3b3288(0x1f4)]}),_0xbbdf4b[_0x3b3288(0x218)]({'file':this['directoryAccessManager']['createRelativePath'](_0x5c1c4d,_0x1cc5c1),'fullPath':_0x5c1c4d,'error':_0x46d411['message'],'success':![]});}}return _0x5f5c77['length']>0x0&&_0xbbdf4b['push']({'file':a0_0x410463[_0x3b3288(0x291)](_0x37e1f9,_0x3b3288(0x25b)),'fullPath':a0_0x410463[_0x3b3288(0x291)](_0x37e1f9,'package.json'),'action':'dependency-scan','critical':_0x5f5c77[_0x3b3288(0x282)](_0x4090c3=>_0x4090c3[_0x3b3288(0x1e5)]===STATIC_ANALYSIS[_0x3b3288(0x1ed)]['CRITICAL']),'errors':_0x5f5c77[_0x3b3288(0x282)](_0x9691ae=>_0x9691ae['severity']===STATIC_ANALYSIS[_0x3b3288(0x1ed)][_0x3b3288(0x234)]),'warnings':_0x5f5c77['filter'](_0x36a2d2=>_0x36a2d2['severity']===STATIC_ANALYSIS[_0x3b3288(0x1ed)][_0x3b3288(0x23d)]),'info':_0x5f5c77[_0x3b3288(0x282)](_0x124772=>_0x124772['severity']===STATIC_ANALYSIS['SEVERITY'][_0x3b3288(0x278)]),'totalIssues':_0x5f5c77['length'],'analyzed':!![],'scannersUsed':[_0x3b3288(0x20f)],'timestamp':new Date()[_0x3b3288(0x27e)]()}),_0xbbdf4b;}async[a0_0x1ee867(0x1d0)](_0x27501c,_0x5533ae,_0x19517c,_0x53a246={}){const _0x38ec39=a0_0x1ee867,_0x1d39a4=a0_0x410463['isAbsolute'](_0x27501c)?a0_0x410463['normalize'](_0x27501c):a0_0x410463[_0x38ec39(0x221)](_0x5533ae,_0x27501c),_0x25f095=this['directoryAccessManager'][_0x38ec39(0x1e4)](_0x1d39a4,_0x19517c);if(!_0x25f095[_0x38ec39(0x271)])throw new Error('Read\x20access\x20denied:\x20'+_0x25f095[_0x38ec39(0x28d)]);try{const _0x17fcf2=await a0_0x332bed[_0x38ec39(0x272)](_0x1d39a4);if(_0x17fcf2['size']>this['maxFileSize'])throw new Error(_0x38ec39(0x24c)+_0x17fcf2[_0x38ec39(0x1d1)]+'\x20bytes\x20(max\x20'+this[_0x38ec39(0x208)]+')');const _0x4db3b7=await this['getConfigValidator'](),_0x2e4595=await _0x4db3b7['validate'](_0x1d39a4,_0x53a246),_0x52e3cc={'file':this[_0x38ec39(0x1b8)][_0x38ec39(0x1d8)](_0x1d39a4,_0x19517c),'fullPath':_0x1d39a4,'action':_0x38ec39(0x211),'critical':_0x2e4595['filter'](_0x113c0b=>_0x113c0b['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x2e4595['filter'](_0x409db=>_0x409db['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x2e4595[_0x38ec39(0x282)](_0x9102a1=>_0x9102a1['severity']===STATIC_ANALYSIS[_0x38ec39(0x1ed)][_0x38ec39(0x23d)]),'info':_0x2e4595[_0x38ec39(0x282)](_0x5cecfa=>_0x5cecfa['severity']===STATIC_ANALYSIS[_0x38ec39(0x1ed)]['INFO']),'totalIssues':_0x2e4595['length'],'analyzed':!![],'validatorsUsed':_0x2e4595[_0x38ec39(0x1e2)](_0x2b55f6=>_0x2b55f6[_0x38ec39(0x227)])[_0x38ec39(0x282)]((_0x81b04f,_0x3b882e,_0x2b2876)=>_0x2b2876[_0x38ec39(0x25c)](_0x81b04f)===_0x3b882e),'timestamp':new Date()[_0x38ec39(0x27e)]()};return _0x52e3cc;}catch(_0x4694b1){throw new Error(_0x38ec39(0x201)+_0x27501c+':\x20'+_0x4694b1['message']);}}async['validateConfigDirectory'](_0x5309e9,_0x4023e8,_0x4e49a5,_0xa6fb4b={}){const _0x1c0adf=a0_0x1ee867,_0x12a966=a0_0x410463['isAbsolute'](_0x5309e9)?a0_0x410463[_0x1c0adf(0x28f)](_0x5309e9):a0_0x410463['resolve'](_0x4023e8,_0x5309e9),_0x562de7=this[_0x1c0adf(0x1b8)][_0x1c0adf(0x1e4)](_0x12a966,_0x4e49a5);if(!_0x562de7['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x562de7[_0x1c0adf(0x28d)]);const _0x28817b=await this['findConfigFiles'](_0x12a966);if(_0x28817b['length']>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20config\x20files:\x20'+_0x28817b[_0x1c0adf(0x1bf)]+_0x1c0adf(0x219)+this[_0x1c0adf(0x23b)]+')');const _0x256bc0=[];for(const _0xc04f70 of _0x28817b){try{const _0x1b9078=await this['validateConfigFile'](_0xc04f70,_0x4023e8,_0x4e49a5,_0xa6fb4b);_0x1b9078&&_0x256bc0[_0x1c0adf(0x218)](_0x1b9078);}catch(_0x441585){this['logger']?.[_0x1c0adf(0x1c0)](_0x1c0adf(0x1cc),{'file':_0xc04f70,'error':_0x441585['message']}),_0x256bc0['push']({'file':this['directoryAccessManager'][_0x1c0adf(0x1d8)](_0xc04f70,_0x4e49a5),'fullPath':_0xc04f70,'error':_0x441585['message'],'success':![]});}}return _0x256bc0;}async[a0_0x1ee867(0x224)](_0x5efdee){const _0x31ca78=a0_0x1ee867,_0x12ea20=[],_0x42db05=['package.json',_0x31ca78(0x225),_0x31ca78(0x23c),_0x31ca78(0x223),'docker-compose.yaml','.env',_0x31ca78(0x1fa),_0x31ca78(0x1de),_0x31ca78(0x1bd),'.prettierrc',_0x31ca78(0x237)],_0x2c565e=[_0x31ca78(0x26c),_0x31ca78(0x229),'.json','.tf','.tfvars'],_0x452a69=async _0x585933=>{const _0x398c13=_0x31ca78,_0xfc0d52=await a0_0x332bed[_0x398c13(0x1c4)](_0x585933,{'withFileTypes':!![]});for(const _0x4db369 of _0xfc0d52){const _0x192e38=a0_0x410463[_0x398c13(0x291)](_0x585933,_0x4db369[_0x398c13(0x1da)]);if(_0x4db369['isDirectory']()){if(_0x4db369[_0x398c13(0x1da)]==='.github'||_0x4db369[_0x398c13(0x1da)]===_0x398c13(0x260)||_0x4db369['name']==='k8s'||_0x4db369['name']===_0x398c13(0x1c1))await _0x452a69(_0x192e38);else{if(!['node_modules','.git',_0x398c13(0x1f8),_0x398c13(0x200)][_0x398c13(0x285)](_0x4db369[_0x398c13(0x1da)]))continue;}}else{if(_0x4db369['isFile']()){if(_0x42db05[_0x398c13(0x285)](_0x4db369[_0x398c13(0x1da)]))_0x12ea20[_0x398c13(0x218)](_0x192e38);else{const _0x2705da=a0_0x410463['extname'](_0x4db369['name'])[_0x398c13(0x279)]();if(_0x2c565e[_0x398c13(0x285)](_0x2705da)){const _0x4c68a8=a0_0x410463[_0x398c13(0x20b)](a0_0x410463['dirname'](_0x192e38));(_0x4c68a8===_0x398c13(0x260)||_0x4c68a8===_0x398c13(0x1d9)||_0x4c68a8==='terraform'||_0x4c68a8===_0x398c13(0x1c6))&&_0x12ea20['push'](_0x192e38);}}}}}};return await _0x452a69(_0x5efdee),_0x12ea20;}['detectLanguage'](_0x21edd0){const _0x318ba3=a0_0x1ee867,_0x38f6c8=a0_0x410463['extname'](_0x21edd0)[_0x318ba3(0x279)]();return STATIC_ANALYSIS[_0x318ba3(0x22e)][_0x38f6c8]||null;}async['detectFramework'](_0x7ac9e3,_0x5d0f45){const _0x283ef9=a0_0x1ee867;try{if(_0x5d0f45===STATIC_ANALYSIS['LANGUAGE']['JAVASCRIPT']||_0x5d0f45===STATIC_ANALYSIS['LANGUAGE']['TYPESCRIPT'])return await this[_0x283ef9(0x22d)](_0x7ac9e3);if(_0x5d0f45===STATIC_ANALYSIS['LANGUAGE'][_0x283ef9(0x24b)])return await this[_0x283ef9(0x24f)](_0x7ac9e3);return null;}catch(_0x31caaf){return this['logger']?.[_0x283ef9(0x1e6)]('Framework\x20detection\x20failed',{'error':_0x31caaf['message']}),null;}}async[a0_0x1ee867(0x22d)](_0x155d83){const _0x19e742=a0_0x1ee867;try{const _0x290eb7=a0_0x410463[_0x19e742(0x291)](_0x155d83,STATIC_ANALYSIS[_0x19e742(0x25a)][_0x19e742(0x204)]),_0x1a1b00=await a0_0x332bed[_0x19e742(0x274)](_0x290eb7,'utf-8'),_0x556024=JSON[_0x19e742(0x226)](_0x1a1b00),_0x23ffa0={..._0x556024['dependencies'],..._0x556024[_0x19e742(0x1b3)]};for(const [_0x352cb2,_0x23341b]of Object['entries'](STATIC_ANALYSIS['JS_FRAMEWORKS'])){if(_0x23ffa0[_0x23341b])return _0x352cb2[_0x19e742(0x279)]();}return null;}catch(_0x4c2f1f){return null;}}async[a0_0x1ee867(0x24f)](_0x2a43c4){const _0x57dd69=a0_0x1ee867;try{const _0x45d11d=a0_0x410463[_0x57dd69(0x291)](_0x2a43c4,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS']['PYTHON']),_0x57a90b=await a0_0x332bed['readFile'](_0x45d11d,'utf-8');for(const [_0x41631d,_0x3a3222]of Object[_0x57dd69(0x207)](STATIC_ANALYSIS[_0x57dd69(0x244)])){if(_0x57a90b[_0x57dd69(0x279)]()['includes'](_0x3a3222))return _0x41631d['toLowerCase']();}return null;}catch(_0xb806){try{const _0x2852ae=a0_0x410463['join'](_0x2a43c4,STATIC_ANALYSIS[_0x57dd69(0x25a)]['PYTHON_POETRY']),_0x532c11=await a0_0x332bed['readFile'](_0x2852ae,'utf-8');for(const [_0x218822,_0x2d4faa]of Object[_0x57dd69(0x207)](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x532c11[_0x57dd69(0x279)]()[_0x57dd69(0x285)](_0x2d4faa))return _0x218822[_0x57dd69(0x279)]();}}catch{}return null;}}async['findFiles'](_0x25bf42,_0x45f70b){const _0x165c7a=a0_0x1ee867,_0x2cea81=[],_0x534ef1=_0x45f70b||_0x165c7a(0x25d),_0x665aec=_0x27b9c1=>{const _0x23bdec=_0x165c7a,_0x18d084=[],_0x5ccbd3=_0x27b9c1[_0x23bdec(0x1f5)](/\*\.\{([^}]+)\}/);if(_0x5ccbd3){const _0x513121=_0x5ccbd3[0x1][_0x23bdec(0x267)](',')['map'](_0x54c3fa=>_0x54c3fa['trim']());_0x513121['forEach'](_0x2dd0ef=>_0x18d084['push'](_0x2dd0ef[_0x23bdec(0x250)]('.')?_0x2dd0ef:'.'+_0x2dd0ef));}else{const _0x3d8c82=_0x27b9c1['match'](/\*\.([a-z]+)$/i);if(_0x3d8c82){const _0x5375f3=_0x3d8c82[0x1];_0x18d084['push'](_0x5375f3[_0x23bdec(0x250)]('.')?_0x5375f3:'.'+_0x5375f3);}}if(_0x18d084[_0x23bdec(0x1bf)]===0x0)return null;return _0x18d084;},_0x49e1df=_0x665aec(_0x534ef1),_0x5b3626=async _0x4eec04=>{const _0x474048=_0x165c7a,_0x4eaca4=await a0_0x332bed['readdir'](_0x4eec04,{'withFileTypes':!![]});for(const _0x391481 of _0x4eaca4){const _0x507228=a0_0x410463['join'](_0x4eec04,_0x391481[_0x474048(0x1da)]);if(_0x391481['isDirectory']())!['node_modules',_0x474048(0x27a),'dist','build',_0x474048(0x21c),'.venv','venv']['includes'](_0x391481['name'])&&await _0x5b3626(_0x507228);else{if(_0x391481[_0x474048(0x1ba)]()){const _0x3616c9=a0_0x410463[_0x474048(0x241)](_0x391481[_0x474048(0x1da)])[_0x474048(0x279)]();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x3616c9]&&((_0x49e1df===null||_0x49e1df[_0x474048(0x285)](_0x3616c9))&&_0x2cea81[_0x474048(0x218)](_0x507228));}}}};return await _0x5b3626(_0x25bf42),_0x2cea81;}async[a0_0x1ee867(0x1b2)](_0x4c1e8d){const _0x16c666=a0_0x1ee867;try{if(_0x4c1e8d===STATIC_ANALYSIS['LANGUAGE'][_0x16c666(0x204)]){if(!this['analyzers']['javascript']){const {default:_0x477813}=await import('../analyzers/JavaScriptAnalyzer.js');this['analyzers']['javascript']=new _0x477813(this[_0x16c666(0x268)]);}return this['analyzers']['javascript'];}if(_0x4c1e8d===STATIC_ANALYSIS[_0x16c666(0x1b7)][_0x16c666(0x246)]){if(!this[_0x16c666(0x1c7)]['typescript']){const {default:_0x769a22}=await import('../analyzers/TypeScriptAnalyzer.js');this[_0x16c666(0x1c7)][_0x16c666(0x294)]=new _0x769a22(this['logger']);}return this[_0x16c666(0x1c7)]['typescript'];}if(_0x4c1e8d===STATIC_ANALYSIS['LANGUAGE'][_0x16c666(0x24b)]){if(!this['analyzers'][_0x16c666(0x233)]){const {default:_0x2ecd74}=await import(_0x16c666(0x1bb));this['analyzers']['python']=new _0x2ecd74(this[_0x16c666(0x268)]);}return this[_0x16c666(0x1c7)]['python'];}if(_0x4c1e8d===STATIC_ANALYSIS['LANGUAGE']['CSS']||_0x4c1e8d===STATIC_ANALYSIS[_0x16c666(0x1b7)][_0x16c666(0x276)]||_0x4c1e8d===STATIC_ANALYSIS[_0x16c666(0x1b7)][_0x16c666(0x1f2)]){if(!this['analyzers'][_0x16c666(0x1f9)]){const {default:_0x226777}=await import('../analyzers/CSSAnalyzer.js');this[_0x16c666(0x1c7)][_0x16c666(0x1f9)]=new _0x226777(this['logger']);}return this[_0x16c666(0x1c7)][_0x16c666(0x1f9)];}return null;}catch(_0x29446d){return this[_0x16c666(0x268)]?.['error'](_0x16c666(0x1c2),{'language':_0x4c1e8d,'error':_0x29446d[_0x16c666(0x1f4)]}),null;}}async['getESLintAnalyzer'](){const _0x244248=a0_0x1ee867;if(!this[_0x244248(0x1c7)][_0x244248(0x26f)]){const {default:_0x2c2322}=await import('../analyzers/ESLintAnalyzer.js');this['analyzers']['eslint']=new _0x2c2322(this[_0x244248(0x268)]);}return this[_0x244248(0x1c7)]['eslint'];}async[a0_0x1ee867(0x248)](){const _0x152131=a0_0x1ee867;if(!this['formatters']['prettier']){const {default:_0x1e56f6}=await import('../analyzers/PrettierFormatter.js');this[_0x152131(0x1bc)]['prettier']=new _0x1e56f6(this[_0x152131(0x268)]);}return this[_0x152131(0x1bc)]['prettier'];}async[a0_0x1ee867(0x1d7)](){const _0x3b4fdf=a0_0x1ee867;if(!this['analyzers'][_0x3b4fdf(0x275)]){const {default:_0x27057d}=await import(_0x3b4fdf(0x215));this[_0x3b4fdf(0x1c7)][_0x3b4fdf(0x275)]=new _0x27057d(this['logger']);}return this['analyzers']['security'];}async[a0_0x1ee867(0x1ff)](){const _0x4dc0f3=a0_0x1ee867;if(!this['analyzers']['config']){const {default:_0x379eec}=await import(_0x4dc0f3(0x1e9));this['analyzers'][_0x4dc0f3(0x281)]=new _0x379eec(this['logger']);}return this[_0x4dc0f3(0x1c7)][_0x4dc0f3(0x281)];}['updateSummary'](_0x5c09ae,_0x4f4e47){const _0x250bd0=a0_0x1ee867;if(_0x4f4e47['analyzed']){_0x5c09ae['totalFiles']++;const _0x3ac560=_0x4f4e47[_0x250bd0(0x20a)]?.[_0x250bd0(0x1bf)]||0x0,_0x16de28=_0x4f4e47['errors']?.['length']||0x0,_0x4a2ba3=_0x4f4e47[_0x250bd0(0x26b)]?.['length']||0x0,_0x6615ad=_0x4f4e47[_0x250bd0(0x1f3)]?.[_0x250bd0(0x1bf)]||0x0;_0x5c09ae['totalCritical']===undefined&&(_0x5c09ae['totalCritical']=0x0);_0x5c09ae[_0x250bd0(0x21d)]+=_0x3ac560,_0x5c09ae['totalErrors']+=_0x16de28,_0x5c09ae['totalWarnings']+=_0x4a2ba3,_0x5c09ae['totalInfo']+=_0x6615ad;(_0x3ac560>0x0||_0x16de28>0x0)&&_0x5c09ae['filesWithErrors']++;_0x4f4e47[_0x250bd0(0x1b9)]&&(_0x5c09ae[_0x250bd0(0x22b)][_0x4f4e47[_0x250bd0(0x1b9)]]=(_0x5c09ae[_0x250bd0(0x22b)][_0x4f4e47['language']]||0x0)+0x1);const _0x19c25d=[..._0x4f4e47[_0x250bd0(0x20a)]||[],..._0x4f4e47['errors']||[],..._0x4f4e47['warnings']||[]];for(const _0x2881d5 of _0x19c25d){_0x2881d5['category']&&(_0x5c09ae['errorsByCategory'][_0x2881d5['category']]=(_0x5c09ae[_0x250bd0(0x202)][_0x2881d5[_0x250bd0(0x228)]]||0x0)+0x1);}}}[a0_0x1ee867(0x284)](_0x2a7c4c){const _0x51bb91=a0_0x1ee867;return a0_0x35e28c['createHash']('sha256')[_0x51bb91(0x1b4)](_0x2a7c4c)[_0x51bb91(0x217)](_0x51bb91(0x23e))[_0x51bb91(0x1be)](0x0,0x10);}['getPerformanceMetrics'](){const _0xbc9227=a0_0x1ee867,_0xc63022=this['metrics']['totalAnalyses']>0x0?this[_0xbc9227(0x28b)][_0xbc9227(0x20c)]/this['metrics'][_0xbc9227(0x26e)]*0x64:0x0,_0x40a05e=this['metrics'][_0xbc9227(0x1d5)]>0x0?this['metrics'][_0xbc9227(0x1e0)]/this['metrics'][_0xbc9227(0x1d5)]:0x0;return{...this[_0xbc9227(0x28b)],'cacheHitRate':Math[_0xbc9227(0x20e)](_0xc63022*0xa)/0xa,'averageAnalysisTime':Math['round'](_0x40a05e),'cacheSize':this[_0xbc9227(0x247)]['size']};}['resetPerformanceMetrics'](){this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}[a0_0x1ee867(0x231)](){const _0x394ed8=a0_0x1ee867;this['analysisCache']['clear'](),this['logger']?.[_0x394ed8(0x1e6)](_0x394ed8(0x1fd));}['getSupportedActions'](){const _0x3c5c40=a0_0x1ee867;return[_0x3c5c40(0x1dd),'analyze-project',_0x3c5c40(0x1f7),'format','security-scan','security-scan-project',_0x3c5c40(0x211),_0x3c5c40(0x1dc)];}[a0_0x1ee867(0x245)](){const _0x262bf4=a0_0x1ee867;return{'type':_0x262bf4(0x283),'properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':_0x262bf4(0x283),'properties':{'type':{'type':_0x262bf4(0x21b),'enum':this[_0x262bf4(0x213)]()},'filePath':{'type':'string'},'directory':{'type':_0x262bf4(0x21b)},'pattern':{'type':'string'},'includeWarnings':{'type':_0x262bf4(0x273)},'maxErrors':{'type':_0x262bf4(0x263)}},'required':[_0x262bf4(0x206)]}}},'required':['actions']};}}export default StaticAnalysisTool;
|
|
1
|
+
const a0_0x4f6215=a0_0x52dc;(function(_0x3c099f,_0x5a902e){const _0x3baf45=a0_0x52dc,_0x4b2fa6=_0x3c099f();while(!![]){try{const _0x2a167c=parseInt(_0x3baf45(0x1a9))/0x1*(-parseInt(_0x3baf45(0x1ed))/0x2)+parseInt(_0x3baf45(0x1f0))/0x3+parseInt(_0x3baf45(0x1a2))/0x4*(-parseInt(_0x3baf45(0x1d6))/0x5)+-parseInt(_0x3baf45(0x1c8))/0x6*(-parseInt(_0x3baf45(0x19d))/0x7)+parseInt(_0x3baf45(0x1b1))/0x8*(parseInt(_0x3baf45(0x220))/0x9)+-parseInt(_0x3baf45(0x152))/0xa*(-parseInt(_0x3baf45(0x1e3))/0xb)+-parseInt(_0x3baf45(0x1eb))/0xc*(parseInt(_0x3baf45(0x183))/0xd);if(_0x2a167c===_0x5a902e)break;else _0x4b2fa6['push'](_0x4b2fa6['shift']());}catch(_0x354242){_0x4b2fa6['push'](_0x4b2fa6['shift']());}}}(a0_0x235a,0xd00e3));import{BaseTool}from'./baseTool.js';import a0_0x29c523 from'../utilities/tagParser.js';import a0_0x49e066 from'../utilities/directoryAccessManager.js';function a0_0x52dc(_0x49338a,_0x12e05c){_0x49338a=_0x49338a-0x150;const _0x235a53=a0_0x235a();let _0x52dcee=_0x235a53[_0x49338a];if(a0_0x52dc['hsciQs']===undefined){var _0x134cc6=function(_0xa0feeb){const _0x2a189a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29c523='',_0x49e066='';for(let _0xf3ef7c=0x0,_0x4c0d52,_0x3d46ea,_0x51726f=0x0;_0x3d46ea=_0xa0feeb['charAt'](_0x51726f++);~_0x3d46ea&&(_0x4c0d52=_0xf3ef7c%0x4?_0x4c0d52*0x40+_0x3d46ea:_0x3d46ea,_0xf3ef7c++%0x4)?_0x29c523+=String['fromCharCode'](0xff&_0x4c0d52>>(-0x2*_0xf3ef7c&0x6)):0x0){_0x3d46ea=_0x2a189a['indexOf'](_0x3d46ea);}for(let _0x76962b=0x0,_0x4e4cbc=_0x29c523['length'];_0x76962b<_0x4e4cbc;_0x76962b++){_0x49e066+='%'+('00'+_0x29c523['charCodeAt'](_0x76962b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49e066);};a0_0x52dc['BYhnYJ']=_0x134cc6,a0_0x52dc['DKcQZA']={},a0_0x52dc['hsciQs']=!![];}const _0x5dd3d0=_0x235a53[0x0],_0x587b14=_0x49338a+_0x5dd3d0,_0x3c99fb=a0_0x52dc['DKcQZA'][_0x587b14];return!_0x3c99fb?(_0x52dcee=a0_0x52dc['BYhnYJ'](_0x52dcee),a0_0x52dc['DKcQZA'][_0x587b14]=_0x52dcee):_0x52dcee=_0x3c99fb,_0x52dcee;}import a0_0xf3ef7c from'fs/promises';function a0_0x235a(){const _0x35a5cd=['rvjst1i','zMLSzxnbBMfSExPLza','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','C2TPCc10zxn0lwzPBgvZ','zM9YBwf0DgvYCW','CgfYC2vqyxjHBwv0zxjZ','DhLWzq','yw5HBhL6zwq','lNbYzxr0AwvYCMm','DhnJB25MAwCUANnVBG','lNbYzxr0AwvYCMmUANnVBG','C3rHCNrZv2L0Aa','lI4Vyw5HBhL6zxjZl1bYzxr0AwvYrM9YBwf0DgvYlMPZ','CMf3q29UDgvUDa','nta3mtu5sKrrufHR','zgv0zwn0tgfUz3vHz2u','DxnLq29UDgvUDeHHC2G','DMvUDG','rMfPBgvKihrVihzHBgLKyxrLignVBMzPzYa','zM9YBwf0','rLjbtuvxt1jlx01btKLgrvnuuW','BM9YBwfSAxPL','CMvHzgrPCG','y29TChv0zunVBNrLBNriyxnO','rMLSzsb0B28GBgfYz2u6ia','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','Bwf4lwvYCM9YCW','AM9PBG','vxnPBMCGy2fJAgvKigfUywX5C2LZihjLC3vSDa','Dg90ywXdCML0AwnHBa','Dg90ywXxyxjUAw5NCW','zw5HyMXLq2fJAgu','tuiGCgvYigzPBguklsbcyxrJAcbSAw1PDdOG','rMfPBgvKihrVihbHCNnLihn0yxrPyYbHBMfSExnPCYbWyxjHBwv0zxjZoIa','lMDPDa','DgLTzxn0yw1W','Dg90ywXbBMfSExnPC1rPBwu','CM91BMq','z2v0u3vWCg9YDgvKqwn0Aw9UCW','z2v0rvnmAw50qw5HBhL6zxi','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','mJbzCgTlEei','tufyx0zjtevtx1bfuL9cqvrdsa','zxHLyW','vxnPBMCGCgfYywXSzwWGyw5HBhLZAxm','BgfUz3vHz2u','y2f0zwDVCNK','su5gtW','CMvZzxrqzxjMB3jTyw5Jzu1LDhjPy3m','sKfwqvnduKLqva','zxnSAw50','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','C2TPCfrLC3rgAwXLCW','yw5HBhL6zq','yw5HBhLZAxndywnOzq','DxbKyxrLu3vTBwfYEq','DMfSAwrHDgvdB25MAwDgAwXL','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4TChjVAMvJDa','zgLNzxn0','zMLSzxncEuXHBMD1ywDL','lMvZBgLUDhjJlMPZ','D2fYBG','yMfZzw5HBwu','zMLSzxm','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','B25qCM9NCMvZCW','DMfSAwrHDgu','yw5HBhL6zxjZ','C2vJDxjPDhKTC2nHBG','Aw5JBhvKzs13yxjUAw5NCW','DMfSAwrHDguTy29UzMLN','y3DK','Dg90ywXjBMzV','ChjLDhrPzxi','zMLSzvbHDgG','C3rHDa','sLnFrLjbtuvxt1jluW','y2HHBMDLCW','Cgf0DgvYBG','CgfYywXSzwXbBMfSExnPCW','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','zxjYB3jZqNLdyxrLz29YEq','zgv0zwn0rNjHBwv3B3jR','qu5btfLtsvnFveLnru9vva','vxnPBMCGCgfYywXSzwWGC2vJDxjPDhKGC2nHBM5PBMC','ChL0Ag9U','v0fstKLorW','Aw5KzxHpzG','zMLSDgvY','DxrMltG','mtnyBMfQz0u','Bwf4rxjYB3jZ','Bg9Nz2vY','C3vIC3rYAw5N','ywXS','AgfZ','zxHLy3v0zq','yw5HBhL6zs1WCM9Qzwn0','BMfTzq','zgv2rgvWzw5Kzw5JAwvZ','Aw5JBhvKzvDHCM5PBMDZ','zxjYB3jZ','zgvWzw5Kzw5JEs1Zy2fU','C2nHBM5LCG','qw5HBhL6Aw5NigjHDgnO','Dg90ywXgAwXLCW','zw50CMLLCW','CMvHC29U','CMvXDwLYzxnqCM9Qzwn0','BgvUz3rO','DgvYCMfMB3jT','cLn0yxrPyYbdB2rLiefUywX5C2LZifrVB2W6iefUywX5EMuGy29KzsbMAwXLCYbMB3iGzxjYB3jZihDPDgHVDxqGzxHLy3v0Aw9UcGPuAgLZihrVB2WGCgvYzM9YBxmGC3rHDgLJigfUywX5C2LZig9UignVzguGzMLSzxmGDg8GzMLUzcbZEw50yxGGzxjYB3jZlcb0ExbLigvYCM9YCYWGAw1WB3j0igLZC3vLCYWGyw5Kig90AgvYihbYB2jSzw1ZihDPDgHVDxqGCNvUBMLUzYb0AguGy29Kzs4GsxqGDxnLCYbVzMzPy2LHBcbSyw5NDwfNzsbWyxjZzxjZigzVCIbHy2n1CMf0zsbYzxn1BhrZlGOku1vque9sveveieXbtKDvquDfuZOklsbkyxzHu2nYAxb0icGUANmSic5QC3GSic5TANmSic5JANmPcI0GvhLWzvnJCMLWDcaOlNrZlcaUDhn4kqOTifb5DgHVBIaOlNb5kqOTientuYaOlMnZCYKklsbtq1nticGUC2nZCYWGlNnHC3mPcI0GtevtuYaOlMXLC3mPcGPvu0fhrtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBcIaGicb7cIaGicaGicj0ExbLiJOGiMfUywX5EMuIlaOGicaGicaIzMLSzvbHDgGIoIaIC3jJl2LUzgv4lMPZiGOGicaGFsWkicaGihSkicaGicaGiNr5CguIoIaIyw5HBhL6zs1WCM9Qzwn0iIWkicaGicaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicaGicaICgf0DgvYBIi6iciQkI8QlNTQCYX0CYXWEx0IcIaGicb9cIaGxqP9cMbGyaOkqunusu9oifrzuevtoGOTigfUywX5EMu6iefUywX5EMuGysbZAw5NBguGzMLSzqOTigfUywX5EMuTChjVAMvJDdOGqw5HBhL6zsbHBgWGzMLSzxmGAw4GysbKAxjLy3rVCNKklsbMAxG6ief1Dg8TzML4ignVzguGAxnZDwvZcI0GzM9YBwf0oIbgB3jTyxqGy29Kzsb3AxrOifbYzxr0AwvYcI0GC2vJDxjPDhKTC2nHBJOGu2nHBIbMB3iGC2vJDxjPDhKGDNvSBMvYywjPBgL0AwvZcI0GC2vJDxjPDhKTC2nHBI1WCM9Qzwn0oIbty2fUigvUDgLYzsbWCM9Qzwn0igzVCIbZzwn1CML0EsbPC3n1zxmklsb2ywXPzgf0zs1JB25MAwC6ifzHBgLKyxrLignVBMzPz3vYyxrPB24GzMLSzxmklsb2ywXPzgf0zs1JB25MAwCTzgLYzwn0B3j5oIbwywXPzgf0zsbHBgWGy29UzMLNigzPBgvZigLUigrPCMvJDg9YEqOkuefsqu1fvevsuZOklsbMAwXLugf0AdOGugf0Acb0BYbMAwXLihrVigfUywX5EMuGkgzVCIbZAw5NBguGzMLSzsbHy3rPB25ZkqOTigrPCMvJDg9YEtOGrgLYzwn0B3j5ihrVigfUywX5EMuGkgzVCIbWCM9Qzwn0lxDPzguGywn0Aw9UCYKklsbWyxr0zxjUoIbhBg9IihbHDhrLCM4GzM9YigzPBgvZihrVigLUy2X1zguGkg9WDgLVBMfSkqOTigLUy2X1zgvxyxjUAw5NCZOGsw5JBhvKzsb3yxjUAw5NCYbPBIbYzxn1BhrZicH0CNvLl2zHBhnLlcbKzwzHDwX0oIb0CNvLkqOTig1HEevYCM9YCZOGtwf4Aw11BsbUDw1IzxiGB2yGzxjYB3jZihrVihjLDhvYBIaOzgvMyxvSDdOGywXSkqOTihDYAxrLrMLSztOGv3jPDguGzML4zwqVzM9YBwf0DgvKignVBNrLBNqGyMfJAYb0BYbMAwXLicHMB3iGzML4l2zVCM1HDcbHy3rPB25ZkqOkrvHbtvbmrvm6cGOXlIbbBMfSExPLigeGC2LUz2XLiePHDMfty3jPChqGzMLSztOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjHBMfSExPLiIWGiMzPBgvqyxrOiJOGiNnYyY9HChaUANmIih1DcN0kygbGcGOYlIbbBMfSExPLigfSBcbMAwXLCYbPBIbHigrPCMvJDg9YEtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjHBMfSExPLlxbYB2PLy3qIlcaIzgLYzwn0B3j5iJOGiNnYyYiSicjWyxr0zxjUiJOGiIOQlYOUANmIih1DcN0kygbGcGOZlIbbDxrVlwzPEcbJB2rLigLZC3vLCZOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjMAxGIlcaIzMLSzvbHDgGIoIaIC3jJl2fWCc5QCYiSicj3CML0zuzPBguIoIb0CNvLih1DcN0kygbGcGO0lIbtzwn1CML0EsbZy2fUigeGChjVAMvJDdOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjZzwn1CML0Es1Zy2fUlxbYB2PLy3qIlcaIzgLYzwn0B3j5iJOGiNnYyYiGFv0kFqPGygakcK9vvfbvvcbgt1jnqvq6cLjLDhvYBNmGC3rYDwn0DxjLzcbLCNjVCIbPBMzVCM1HDgLVBIb3AxrOoIbMAwXLlcbSAw5LlcbJB2X1Bw4SihnLDMvYAxr5lcbYDwXLlcbTzxnZywDLlcbJyxrLz29YEsWGzML4ywjSzsWGC3vNz2vZDgLVBGOkteLnsvrbveLptLm6cI0GrMLSzsbZAxPLigXPBwL0oIa','yw5HBhL6zuzPBgu','zgvIDwC','y29TCgXLDgvK','zML4rMLSzq','mti4mwvKs01pDa','B2jQzwn0','vg9Vig1HBNKGywn0Aw9UCZOG','y2fJAgvfEhbPCNK','DhjPBq','mty4nJrgywLZyNm','y3jLyxrLuMvSyxrPDMvqyxrO','Aw5JBhvKzxm','AMf2yxnJCMLWDa','uMvHzcbHy2nLC3mGzgvUAwvKoIa','BwvZC2fNzq','C3rYAw5N','mtu3oty4m0ngBK5Ltq','Bwf4rMLSzvnPEMu','Aw5MBW','ufLuse9ox1bprvrswq','AxnbyNnVBhv0zq','C2v2zxjPDhK','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','tefor1vbr0u','mteYrhD0ChLr','zMXVB3i','DMfSAwrHDgvxCML0zufJy2vZCW','Dhj1zq','ywn0Aw9UCW','Bwf0y2G','CgfYywXSzwXcyxrJAgvZ','lNLTBa','y3jPDgLJywW','Bwv0CMLJCW','CMvZB2X2zq','Dhj1BMnHDgvK','BM93','yw5HBhL6zvbYB2PLy3q','zMLSzs1WyxrO','lMvZBgLUDhjJlMPZB24','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YigfUywX5EMuTChjVAMvJDa','C2vJDxjPDhK','yxjYyxK','z2v0u2vJDxjPDhLbBMfSExPLCG','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','Dg90ywW','rg9JA2vYzMLSzq','ndGXmtrLC2jjEei','zxH0BMfTzq','zML4','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','Dw5RBM93BG','rNjHBwv3B3jRigrLDgvJDgLVBIbMywLSzwq','igj5DgvZicHTyxGG','zgLYzwn0B3j5','ufLuse9o','DMfSAwrHDgvszwfKqwnJzxnZ','rMfPBgvKihrVigzPEca','CMvTywLUAw5NrxjYB3jZ','AxngAwXL','AZHZ','mZvTDuDmtge','Dg9mB3DLCKnHC2u','yM9VBgvHBG','Bwf4ugfYywXSzwXgAwXLCW','CgfJA2fNzs5QC29U','BNvTyMvY','vg9Vig1HBNKGzMLSzxm6ia','DhLWzxnJCMLWDa','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5Fq','vg9Vig1HBNKGy29UzMLNigzPBgvZoIa','z2v0','ChvZAa','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','odK2nJmWowTVEwPltq','z2v0uhjLDhrPzxjgB3jTyxr0zxi','D29YA2zSB3DZ','Bwf4rMLSzxnqzxjcyxrJAa','y29UzMLN','y29UDgvUDa','D2fYBMLUz3m','qwn0Aw9Uia','mJq0ndCYmtzZy2H1C0W','DgLTzw91Da','mNLwCLPMra','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','rMLSzsbMB3jTyxr0zwqGyw5KihDYAxr0zw4','mtGZnJa4n1bMyu1Sua','D3jPDgvgAwXL','tM8Gyw5HBhL6zxiGyxzHAwXHyMXLigzVCIa','ugfYC2vKifn0yxrPy0fUywX5C2LZihrVB2WGCgfYyw1LDgvYCW','zMLUzenVBMzPz0zPBgvZ','zM9YBwf0DgvK','y3nZ','icHTyxGG','Dg9ju09tDhjPBMC','C3vTBwfYEq','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','CMvZDwX0','CMvHzezPBgu','AxntDxbWB3j0zwq','u3rHDgLJqw5HBhLZAxmGDg9VBcbWyxjZAw5NihbHCMfTzxrLCNm','y2fJAgvnAxnZzxm','AxnbC3LUyW','CgfYC2vbDhrYAwj1DgvZ','ywXSB3DLza','u0vwrvjjvfK','v3jPDguGywnJzxnZigrLBMLLzdOG','zxjYB3i','D3jPDguTzMLSzq','zML4zwq','zMLUzezPBgvZ','q1nt','Agv4','rvHuru5tsu9ox1rpx0XbtKDvquDf','ru5bqKXfx0nbq0Hf','BwfW','ihnLy29UzhmkicaGia','C2L6zq','DxbKyxrL','zgLYBMfTzq'];a0_0x235a=function(){return _0x35a5cd;};return a0_0x235a();}import a0_0x4c0d52 from'path';import a0_0x3d46ea from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x51726f={},_0x76962b=null){const _0x4a7ccc=a0_0x52dc;super(_0x51726f,_0x76962b),this[_0x4a7ccc(0x195)]=!![],this[_0x4a7ccc(0x200)]=![],this['timeout']=_0x51726f['timeout']||STATIC_ANALYSIS[_0x4a7ccc(0x17c)],this['maxConcurrentOperations']=_0x51726f['maxConcurrentOperations']||0x1,this['maxFileSize']=_0x51726f[_0x4a7ccc(0x1aa)]||STATIC_ANALYSIS['MAX_FILE_SIZE_FOR_ANALYSIS'],this[_0x4a7ccc(0x1e6)]=_0x51726f['maxFilesPerBatch']||STATIC_ANALYSIS[_0x4a7ccc(0x153)],this['enableCache']=_0x51726f[_0x4a7ccc(0x231)]!==![]&&STATIC_ANALYSIS[_0x4a7ccc(0x20c)],this['analysisCache']=new Map(),this[_0x4a7ccc(0x1a0)]=STATIC_ANALYSIS['CACHE_DURATION'],this[_0x4a7ccc(0x178)]=_0x51726f[_0x4a7ccc(0x178)]!==![],this['maxParallelFiles']=_0x51726f['maxParallelFiles']||0xa,this[_0x4a7ccc(0x222)]=_0x51726f[_0x4a7ccc(0x222)]!==![],this[_0x4a7ccc(0x1ba)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x4a7ccc(0x15c)]=new a0_0x49e066(_0x51726f,_0x76962b),this['analyzers']={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this[_0x4a7ccc(0x216)]={'prettier':null};}['getDescription'](){const _0x2e98c4=a0_0x52dc;return _0x2e98c4(0x198)+Math[_0x2e98c4(0x237)](this[_0x2e98c4(0x1aa)]/0x400/0x400)+_0x2e98c4(0x232)+this['maxFilesPerBatch']+'\x20files\x20per\x20operation\x0a-\x20Analysis\x20timeout:\x20'+this[_0x2e98c4(0x1ec)]/0x3e8+_0x2e98c4(0x20e);}[a0_0x4f6215(0x217)](_0x4e4cbc){const _0x548714=a0_0x4f6215;try{const _0x5491fc={},_0x1e4d92=[];this[_0x548714(0x185)]?.['debug'](_0x548714(0x1fe),{'contentLength':_0x4e4cbc['length'],'contentPreview':_0x4e4cbc[_0x548714(0x186)](0x0,0xc8)});const _0x24ad70=/<analyze\s+(.+?)\/>/g;let _0x199e2a;while((_0x199e2a=_0x24ad70['exec'](_0x4e4cbc))!==null){const _0x2309de=_0x199e2a[0x1][_0x548714(0x1a1)](),_0x348984=new a0_0x29c523(),_0x28dda4=_0x348984[_0x548714(0x201)](_0x2309de),_0x48b1ea={'type':_0x548714(0x15e),..._0x28dda4};_0x48b1ea[_0x548714(0x1bf)]&&(_0x48b1ea['filePath']=_0x48b1ea[_0x548714(0x1bf)],delete _0x48b1ea['file-path']),_0x48b1ea['include-warnings']&&(_0x48b1ea[_0x548714(0x18d)]=_0x48b1ea['include-warnings']===_0x548714(0x1b4),delete _0x48b1ea[_0x548714(0x16e)]),_0x48b1ea['max-errors']&&(_0x48b1ea[_0x548714(0x184)]=parseInt(_0x48b1ea['max-errors'],0xa),delete _0x48b1ea[_0x548714(0x22c)]),_0x1e4d92['push'](_0x48b1ea);}const _0x178936=/<analyze-project\s+(.+?)\/>/g;while((_0x199e2a=_0x178936['exec'](_0x4e4cbc))!==null){const _0x52674c=_0x199e2a[0x1]['trim'](),_0x4bc2bf=new a0_0x29c523(),_0x569118=_0x4bc2bf['parseAttributes'](_0x52674c),_0x5754a7={'type':_0x548714(0x18a),..._0x569118};_0x5754a7[_0x548714(0x16e)]&&(_0x5754a7[_0x548714(0x18d)]=_0x5754a7[_0x548714(0x16e)]===_0x548714(0x1b4),delete _0x5754a7['include-warnings']),_0x5754a7[_0x548714(0x22c)]&&(_0x5754a7[_0x548714(0x184)]=parseInt(_0x5754a7[_0x548714(0x22c)],0xa),delete _0x5754a7[_0x548714(0x22c)]),_0x1e4d92[_0x548714(0x1e1)](_0x5754a7);}const _0x497ad3=/<fix\s+(.+?)\/>/g;while((_0x199e2a=_0x497ad3['exec'](_0x4e4cbc))!==null){const _0x292665=_0x199e2a[0x1]['trim'](),_0x208cc6=new a0_0x29c523(),_0x1c412f=_0x208cc6['parseAttributes'](_0x292665),_0x2da9a7={'type':_0x548714(0x1ca),..._0x1c412f};_0x2da9a7['file-path']&&(_0x2da9a7[_0x548714(0x173)]=_0x2da9a7['file-path'],delete _0x2da9a7[_0x548714(0x1bf)]),_0x2da9a7[_0x548714(0x206)]&&(_0x2da9a7['writeFile']=_0x2da9a7['write-file']==='true',delete _0x2da9a7['write-file']),_0x1e4d92['push'](_0x2da9a7);}const _0x32efdc=/<format\s+(.+?)\/>/g;while((_0x199e2a=_0x32efdc['exec'](_0x4e4cbc))!==null){const _0x23e254=_0x199e2a[0x1]['trim'](),_0x322931=new a0_0x29c523(),_0x249731=_0x322931['parseAttributes'](_0x23e254),_0x430992={'type':'format',..._0x249731};_0x430992['file-path']&&(_0x430992['filePath']=_0x430992[_0x548714(0x1bf)],delete _0x430992['file-path']),_0x430992[_0x548714(0x206)]&&(_0x430992['writeFile']=_0x430992[_0x548714(0x206)]==='true',delete _0x430992[_0x548714(0x206)]),_0x1e4d92[_0x548714(0x1e1)](_0x430992);}const _0x5240f0=/<security-scan\s+(.+?)\/>/g;while((_0x199e2a=_0x5240f0['exec'](_0x4e4cbc))!==null){const _0x40175b=_0x199e2a[0x1]['trim'](),_0x1dd85a=new a0_0x29c523(),_0x3254f9=_0x1dd85a['parseAttributes'](_0x40175b),_0xf6cdf9={'type':'security-scan',..._0x3254f9};_0xf6cdf9['file-path']&&(_0xf6cdf9[_0x548714(0x173)]=_0xf6cdf9['file-path'],delete _0xf6cdf9[_0x548714(0x1bf)]),_0xf6cdf9[_0x548714(0x215)]&&(_0xf6cdf9[_0x548714(0x15d)]=_0xf6cdf9[_0x548714(0x215)]==='true',delete _0xf6cdf9[_0x548714(0x215)]),_0x1e4d92['push'](_0xf6cdf9);}const _0x29b403=/<security-scan-project\s+(.+?)\/>/g;while((_0x199e2a=_0x29b403[_0x548714(0x154)](_0x4e4cbc))!==null){const _0x4338e0=_0x199e2a[0x1]['trim'](),_0x33760d=new a0_0x29c523(),_0x57c21d=_0x33760d['parseAttributes'](_0x4338e0),_0x5e0173={'type':'security-scan-project',..._0x57c21d};_0x5e0173['skip-test-files']&&(_0x5e0173[_0x548714(0x15d)]=_0x5e0173['skip-test-files']===_0x548714(0x1b4),delete _0x5e0173[_0x548714(0x215)]),_0x1e4d92['push'](_0x5e0173);}const _0x153d49=/<validate-config\s+(.+?)\/>/g;while((_0x199e2a=_0x153d49['exec'](_0x4e4cbc))!==null){const _0x2000c6=_0x199e2a[0x1][_0x548714(0x1a1)](),_0x1a31be=new a0_0x29c523(),_0x406818=_0x1a31be['parseAttributes'](_0x2000c6),_0x411539={'type':'validate-config',..._0x406818};_0x411539[_0x548714(0x1bf)]&&(_0x411539[_0x548714(0x173)]=_0x411539['file-path'],delete _0x411539['file-path']),_0x1e4d92['push'](_0x411539);}const _0x411289=/<validate-config-directory\s+(.+?)\/>/g;while((_0x199e2a=_0x411289['exec'](_0x4e4cbc))!==null){const _0xe4d455=_0x199e2a[0x1][_0x548714(0x1a1)](),_0xf489b0=new a0_0x29c523(),_0x1424dc=_0xf489b0['parseAttributes'](_0xe4d455),_0x46ab64={'type':'validate-config-directory',..._0x1424dc};_0x1e4d92['push'](_0x46ab64);}return _0x5491fc['actions']=_0x1e4d92,_0x5491fc[_0x548714(0x21f)]=_0x4e4cbc['trim'](),this[_0x548714(0x185)]?.[_0x548714(0x19a)](_0x548714(0x1f3),{'totalActions':_0x1e4d92['length'],'actionTypes':_0x1e4d92[_0x548714(0x20d)](_0x4a49b4=>_0x4a49b4[_0x548714(0x218)])}),_0x5491fc;}catch(_0x81b1b9){throw new Error(_0x548714(0x233)+_0x81b1b9[_0x548714(0x1a7)]);}}[a0_0x4f6215(0x1e2)](){const _0x3e8756=a0_0x4f6215;return[_0x3e8756(0x1b5)];}['customValidateParameters'](_0x19af79){const _0x2fb2c1=a0_0x4f6215,_0x202188=[];if(!_0x19af79['actions']||!Array['isArray'](_0x19af79[_0x2fb2c1(0x1b5)])||_0x19af79['actions'][_0x2fb2c1(0x196)]===0x0)_0x202188['push']('At\x20least\x20one\x20action\x20is\x20required');else{for(const [_0x57a2f4,_0x1c6b36]of _0x19af79['actions']['entries']()){if(!_0x1c6b36['type']){_0x202188['push'](_0x2fb2c1(0x1ea)+(_0x57a2f4+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x1c6b36[_0x2fb2c1(0x218)]){case'analyze':!_0x1c6b36['filePath']&&_0x202188['push']('Action\x20'+(_0x57a2f4+0x1)+':\x20file-path\x20is\x20required\x20for\x20analyze');break;case _0x2fb2c1(0x18a):!_0x1c6b36['directory']&&_0x202188[_0x2fb2c1(0x1e1)]('Action\x20'+(_0x57a2f4+0x1)+_0x2fb2c1(0x1c1));break;case _0x2fb2c1(0x1ca):!_0x1c6b36[_0x2fb2c1(0x173)]&&_0x202188[_0x2fb2c1(0x1e1)](_0x2fb2c1(0x1ea)+(_0x57a2f4+0x1)+':\x20file-path\x20is\x20required\x20for\x20fix');break;case'format':!_0x1c6b36[_0x2fb2c1(0x173)]&&_0x202188['push']('Action\x20'+(_0x57a2f4+0x1)+':\x20file-path\x20is\x20required\x20for\x20format');break;case'security-scan':!_0x1c6b36[_0x2fb2c1(0x173)]&&_0x202188[_0x2fb2c1(0x1e1)]('Action\x20'+(_0x57a2f4+0x1)+':\x20file-path\x20is\x20required\x20for\x20security-scan');break;case _0x2fb2c1(0x1cb):!_0x1c6b36['directory']&&_0x202188[_0x2fb2c1(0x1e1)](_0x2fb2c1(0x1ea)+(_0x57a2f4+0x1)+_0x2fb2c1(0x162));break;case'validate-config':!_0x1c6b36[_0x2fb2c1(0x173)]&&_0x202188['push']('Action\x20'+(_0x57a2f4+0x1)+_0x2fb2c1(0x1c5));break;case'validate-config-directory':!_0x1c6b36[_0x2fb2c1(0x1cf)]&&_0x202188['push'](_0x2fb2c1(0x1ea)+(_0x57a2f4+0x1)+':\x20directory\x20is\x20required\x20for\x20validate-config-directory');break;default:_0x202188[_0x2fb2c1(0x1e1)](_0x2fb2c1(0x1ea)+(_0x57a2f4+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x1c6b36['type']);}}_0x19af79['actions']['length']>this['maxFilesPerBatch']&&_0x202188['push'](_0x2fb2c1(0x19f)+_0x19af79[_0x2fb2c1(0x1b5)][_0x2fb2c1(0x196)]+_0x2fb2c1(0x1f7)+this['maxFilesPerBatch']+')');}return{'valid':_0x202188['length']===0x0,'errors':_0x202188};}async[a0_0x4f6215(0x189)](_0x1bf6a0,_0x4baabf){const _0x5c924d=a0_0x4f6215,{actions:_0x5c1af7}=_0x1bf6a0,{projectDir:_0x7c6617,agentId:_0x83354a,directoryAccess:_0x2500d5}=_0x4baabf,_0x38cdf3=_0x2500d5||this[_0x5c924d(0x15c)]['createDirectoryAccess']({'workingDirectory':_0x7c6617||process[_0x5c924d(0x170)](),'writeEnabledDirectories':[_0x7c6617||process['cwd']()],'restrictToProject':!![]}),_0x4bfd81=this[_0x5c924d(0x15c)]['getWorkingDirectory'](_0x38cdf3),_0x54744d={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x2905bb of _0x5c1af7){try{let _0xe5935;switch(_0x2905bb[_0x5c924d(0x218)]){case _0x5c924d(0x15e):_0xe5935=await this['analyzeFile'](_0x2905bb[_0x5c924d(0x173)],_0x4bfd81,_0x38cdf3,_0x2905bb);_0xe5935&&(_0x54744d[_0x5c924d(0x168)][_0x5c924d(0x1e1)](_0xe5935),this['updateSummary'](_0x54744d[_0x5c924d(0x1f9)],_0xe5935));break;case'analyze-project':const _0x3b99f7=await this[_0x5c924d(0x1be)](_0x2905bb[_0x5c924d(0x1cf)],_0x2905bb[_0x5c924d(0x177)],_0x4bfd81,_0x38cdf3,_0x2905bb);_0x54744d[_0x5c924d(0x168)]['push'](..._0x3b99f7);for(const _0x5369cb of _0x3b99f7){this[_0x5c924d(0x160)](_0x54744d[_0x5c924d(0x1f9)],_0x5369cb);}break;case'fix':_0xe5935=await this[_0x5c924d(0x19c)](_0x2905bb['filePath'],_0x4bfd81,_0x38cdf3,_0x2905bb);_0xe5935&&_0x54744d['files'][_0x5c924d(0x1e1)](_0xe5935);break;case _0x5c924d(0x225):_0xe5935=await this['formatFile'](_0x2905bb[_0x5c924d(0x173)],_0x4bfd81,_0x38cdf3,_0x2905bb);_0xe5935&&_0x54744d['files']['push'](_0xe5935);break;case _0x5c924d(0x16d):_0xe5935=await this['securityScanFile'](_0x2905bb['filePath'],_0x4bfd81,_0x38cdf3,_0x2905bb);_0xe5935&&(_0x54744d[_0x5c924d(0x168)][_0x5c924d(0x1e1)](_0xe5935),this['updateSummary'](_0x54744d[_0x5c924d(0x1f9)],_0xe5935));break;case _0x5c924d(0x1cb):const _0x45f6c0=await this['securityScanProject'](_0x2905bb[_0x5c924d(0x1cf)],_0x2905bb['pattern'],_0x4bfd81,_0x38cdf3,_0x2905bb);_0x54744d['files'][_0x5c924d(0x1e1)](..._0x45f6c0);for(const _0x47735a of _0x45f6c0){this['updateSummary'](_0x54744d[_0x5c924d(0x1f9)],_0x47735a);}break;case'validate-config':_0xe5935=await this[_0x5c924d(0x161)](_0x2905bb['filePath'],_0x4bfd81,_0x38cdf3,_0x2905bb);_0xe5935&&(_0x54744d[_0x5c924d(0x168)][_0x5c924d(0x1e1)](_0xe5935),this[_0x5c924d(0x160)](_0x54744d['summary'],_0xe5935));break;case _0x5c924d(0x151):const _0x457b40=await this[_0x5c924d(0x22b)](_0x2905bb['directory'],_0x4bfd81,_0x38cdf3,_0x2905bb);_0x54744d[_0x5c924d(0x168)]['push'](..._0x457b40);for(const _0x33b2d2 of _0x457b40){this[_0x5c924d(0x160)](_0x54744d[_0x5c924d(0x1f9)],_0x33b2d2);}break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x2905bb['type']);}}catch(_0x1f4f01){this[_0x5c924d(0x185)]?.[_0x5c924d(0x205)]('Static\x20analysis\x20action\x20failed',{'action':_0x2905bb[_0x5c924d(0x218)],'error':_0x1f4f01[_0x5c924d(0x1a7)]}),_0x54744d[_0x5c924d(0x168)][_0x5c924d(0x1e1)]({'file':_0x2905bb[_0x5c924d(0x173)]||_0x2905bb['directory'],'error':_0x1f4f01[_0x5c924d(0x1a7)],'success':![]});}}return{'success':!![],'results':_0x54744d,'toolUsed':'staticanalysis','performance':this['getPerformanceMetrics']()};}async['analyzeFile'](_0x533a7c,_0x580977,_0x24a283,_0x3326b4={}){const _0x2088e1=a0_0x4f6215,_0x285198=a0_0x4c0d52[_0x2088e1(0x1ad)](_0x533a7c)?a0_0x4c0d52[_0x2088e1(0x227)](_0x533a7c):a0_0x4c0d52[_0x2088e1(0x1bb)](_0x580977,_0x533a7c),_0x4cda4a=this[_0x2088e1(0x15c)]['validateReadAccess'](_0x285198,_0x24a283);if(!_0x4cda4a['allowed'])throw new Error(_0x2088e1(0x1a6)+_0x4cda4a['reason']);try{const _0x1fc690=await a0_0xf3ef7c['stat'](_0x285198);if(_0x1fc690[_0x2088e1(0x20f)]>this[_0x2088e1(0x1aa)])throw new Error('File\x20too\x20large:\x20'+_0x1fc690['size']+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x29a70c=this['detectLanguage'](_0x285198);if(!_0x29a70c)return{'file':this[_0x2088e1(0x15c)][_0x2088e1(0x1a3)](_0x285198,_0x24a283),'fullPath':_0x285198,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x2088e1(0x214)};const _0x2aad19=await a0_0xf3ef7c['readFile'](_0x285198,'utf-8'),_0x8cfcb9=this[_0x2088e1(0x222)]?this[_0x2088e1(0x229)](_0x2aad19):null,_0x3c134b=this['useContentHash']?_0x285198+':'+_0x8cfcb9:_0x285198+':'+_0x1fc690['mtime']['getTime']();if(this['enableCache']&&this['analysisCache'][_0x2088e1(0x188)](_0x3c134b)){const _0x1bfb40=this[_0x2088e1(0x15f)][_0x2088e1(0x1e0)](_0x3c134b);if(Date['now']()-_0x1bfb40[_0x2088e1(0x235)]<this[_0x2088e1(0x1a0)])return this['logger']?.['debug'](_0x2088e1(0x22e),{'file':_0x285198}),this['metrics']['cacheHits']++,this['metrics']['totalAnalyses']++,_0x1bfb40[_0x2088e1(0x1fb)];}this[_0x2088e1(0x1ba)][_0x2088e1(0x1ff)]++,this[_0x2088e1(0x1ba)]['totalAnalyses']++;const _0x1ef97a=await this['getAnalyzer'](_0x29a70c);if(!_0x1ef97a)return{'file':this[_0x2088e1(0x15c)][_0x2088e1(0x1a3)](_0x285198,_0x24a283),'fullPath':_0x285198,'language':_0x29a70c,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x2088e1(0x1f2)+_0x29a70c};const _0x2562ac=Date['now'](),_0x2ca9fa=await _0x1ef97a['analyze'](_0x285198,_0x2aad19,{'workingDir':_0x580977,'accessConfig':_0x24a283,'framework':await this[_0x2088e1(0x17b)](_0x580977,_0x29a70c)}),_0x24f80f=Date[_0x2088e1(0x1bd)]()-_0x2562ac;this['metrics'][_0x2088e1(0x236)]+=_0x24f80f,this['metrics'][_0x2088e1(0x213)]++;const _0x5b1ff6={'file':this[_0x2088e1(0x15c)]['createRelativePath'](_0x285198,_0x24a283),'fullPath':_0x285198,'language':_0x29a70c,'framework':await this['detectFramework'](_0x580977,_0x29a70c),'errors':_0x2ca9fa['filter'](_0x577a33=>_0x577a33['severity']===STATIC_ANALYSIS[_0x2088e1(0x203)][_0x2088e1(0x212)]),'warnings':_0x3326b4['includeWarnings']!==![]?_0x2ca9fa[_0x2088e1(0x181)](_0x333073=>_0x333073['severity']===STATIC_ANALYSIS['SEVERITY'][_0x2088e1(0x17f)]):[],'info':_0x2ca9fa[_0x2088e1(0x181)](_0x21d579=>_0x21d579['severity']===STATIC_ANALYSIS[_0x2088e1(0x203)][_0x2088e1(0x158)]),'totalIssues':_0x2ca9fa[_0x2088e1(0x196)],'analyzed':!![],'timestamp':new Date()[_0x2088e1(0x1f8)]()};return _0x3326b4[_0x2088e1(0x184)]&&_0x5b1ff6[_0x2088e1(0x18e)]['length']>_0x3326b4['maxErrors']&&(_0x5b1ff6['errors']=_0x5b1ff6['errors']['slice'](0x0,_0x3326b4['maxErrors']),_0x5b1ff6[_0x2088e1(0x1bc)]=!![]),this['enableCache']&&this[_0x2088e1(0x15f)]['set'](_0x3c134b,{'result':_0x5b1ff6,'timestamp':Date[_0x2088e1(0x1bd)]()}),_0x5b1ff6;}catch(_0x38268b){throw new Error('Failed\x20to\x20analyze\x20'+_0x533a7c+':\x20'+_0x38268b['message']);}}async[a0_0x4f6215(0x1be)](_0x2a08ae,_0xfd0f93,_0x2ee6dc,_0x221075,_0x1fbd6d={}){const _0x26d41e=a0_0x4f6215,_0x4e7fff=a0_0x4c0d52[_0x26d41e(0x1ad)](_0x2a08ae)?a0_0x4c0d52[_0x26d41e(0x227)](_0x2a08ae):a0_0x4c0d52[_0x26d41e(0x1bb)](_0x2ee6dc,_0x2a08ae),_0x3666c8=this['directoryAccessManager'][_0x26d41e(0x1d1)](_0x4e7fff,_0x221075);if(!_0x3666c8[_0x26d41e(0x202)])throw new Error(_0x26d41e(0x1a6)+_0x3666c8['reason']);const _0x2cc05a=await this[_0x26d41e(0x208)](_0x4e7fff,_0xfd0f93);if(_0x2cc05a[_0x26d41e(0x196)]>this['maxFilesPerBatch'])throw new Error(_0x26d41e(0x1dc)+_0x2cc05a['length']+_0x26d41e(0x1f7)+this['maxFilesPerBatch']+')');const _0x361e10=[];if(this[_0x26d41e(0x178)]&&_0x2cc05a[_0x26d41e(0x196)]>0x1){this[_0x26d41e(0x185)]?.[_0x26d41e(0x19a)](_0x26d41e(0x155),{'totalFiles':_0x2cc05a['length'],'batchSize':this['maxParallelFiles']});for(let _0xfeb847=0x0;_0xfeb847<_0x2cc05a['length'];_0xfeb847+=this['maxParallelFiles']){const _0x28e667=_0x2cc05a['slice'](_0xfeb847,_0xfeb847+this[_0x26d41e(0x1d9)]);this[_0x26d41e(0x1ba)][_0x26d41e(0x1b7)]++;const _0x18afcc={'completed':_0xfeb847,'total':_0x2cc05a[_0x26d41e(0x196)],'percentage':Math[_0x26d41e(0x237)](_0xfeb847/_0x2cc05a['length']*0x64)};_0x1fbd6d['onProgress']&&_0x1fbd6d[_0x26d41e(0x16a)](_0x18afcc);this[_0x26d41e(0x185)]?.[_0x26d41e(0x19a)](_0x26d41e(0x191),{'batch':Math[_0x26d41e(0x1b2)](_0xfeb847/this['maxParallelFiles'])+0x1,'filesInBatch':_0x28e667[_0x26d41e(0x196)],'progress':_0x18afcc[_0x26d41e(0x19b)]+'/'+_0x18afcc[_0x26d41e(0x1c6)]});const _0x1c34bb=_0x28e667[_0x26d41e(0x20d)](async _0x51676a=>{const _0x428142=_0x26d41e;try{const _0x4c03e7=await this[_0x428142(0x199)](_0x51676a,_0x2ee6dc,_0x221075,_0x1fbd6d);return _0x4c03e7;}catch(_0x411210){return this[_0x428142(0x185)]?.['warn'](_0x428142(0x1fa),{'file':_0x51676a,'error':_0x411210[_0x428142(0x1a7)]}),{'file':this['directoryAccessManager'][_0x428142(0x1a3)](_0x51676a,_0x221075),'fullPath':_0x51676a,'error':_0x411210[_0x428142(0x1a7)],'success':![]};}}),_0xd96b95=await Promise['all'](_0x1c34bb);_0x361e10[_0x26d41e(0x1e1)](..._0xd96b95[_0x26d41e(0x181)](_0x340d2a=>_0x340d2a!==null));}_0x1fbd6d[_0x26d41e(0x16a)]&&_0x1fbd6d[_0x26d41e(0x16a)]({'completed':_0x2cc05a[_0x26d41e(0x196)],'total':_0x2cc05a[_0x26d41e(0x196)],'percentage':0x64});}else for(const _0x21e223 of _0x2cc05a){try{const _0x1d61b2=await this['analyzeFile'](_0x21e223,_0x2ee6dc,_0x221075,_0x1fbd6d);_0x1d61b2&&_0x361e10[_0x26d41e(0x1e1)](_0x1d61b2);}catch(_0x63643d){this['logger']?.[_0x26d41e(0x166)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x21e223,'error':_0x63643d['message']}),_0x361e10[_0x26d41e(0x1e1)]({'file':this[_0x26d41e(0x15c)]['createRelativePath'](_0x21e223,_0x221075),'fullPath':_0x21e223,'error':_0x63643d['message'],'success':![]});}}return _0x361e10;}async['fixFile'](_0x1afd17,_0x15fcd7,_0x157220,_0x29c165={}){const _0x3e3a61=a0_0x4f6215,_0x1ee45f=a0_0x4c0d52['isAbsolute'](_0x1afd17)?a0_0x4c0d52['normalize'](_0x1afd17):a0_0x4c0d52[_0x3e3a61(0x1bb)](_0x15fcd7,_0x1afd17),_0x11cae8=this['directoryAccessManager']['validateReadAccess'](_0x1ee45f,_0x157220);if(!_0x11cae8[_0x3e3a61(0x202)])throw new Error(_0x3e3a61(0x1a6)+_0x11cae8[_0x3e3a61(0x194)]);if(_0x29c165[_0x3e3a61(0x1f1)]){const _0x5e27cc=this['directoryAccessManager'][_0x3e3a61(0x1b3)](_0x1ee45f,_0x157220);if(!_0x5e27cc[_0x3e3a61(0x202)])throw new Error(_0x3e3a61(0x204)+_0x5e27cc['reason']);}try{const _0x1da388=await a0_0xf3ef7c['readFile'](_0x1ee45f,'utf-8'),_0x28536a=await this[_0x3e3a61(0x150)](),_0xbea195=await _0x28536a[_0x3e3a61(0x1ca)](_0x1ee45f,_0x1da388,{'workingDir':_0x15fcd7,'accessConfig':_0x157220,'framework':await this['detectFramework'](_0x15fcd7,this['detectLanguage'](_0x1ee45f))});return _0x29c165['writeFile']&&_0xbea195[_0x3e3a61(0x207)]&&(await a0_0xf3ef7c['writeFile'](_0x1ee45f,_0xbea195[_0x3e3a61(0x1e8)],_0x3e3a61(0x182)),this['logger']?.['info']('File\x20fixed\x20and\x20written',{'file':_0x1ee45f})),{'file':this[_0x3e3a61(0x15c)]['createRelativePath'](_0x1ee45f,_0x157220),'fullPath':_0x1ee45f,'action':'fix','fixed':_0xbea195[_0x3e3a61(0x207)],'fixedCount':_0xbea195['fixedCount'],'remainingErrors':_0xbea195[_0x3e3a61(0x1d3)],'remainingWarnings':_0xbea195['remainingWarnings'],'changes':_0xbea195[_0x3e3a61(0x176)],'written':!!(_0x29c165[_0x3e3a61(0x1f1)]&&_0xbea195[_0x3e3a61(0x207)]),'preview':!_0x29c165['writeFile']&&_0xbea195[_0x3e3a61(0x207)]?_0xbea195['content']:undefined};}catch(_0xe2c339){throw new Error(_0x3e3a61(0x1d2)+_0x1afd17+':\x20'+_0xe2c339[_0x3e3a61(0x1a7)]);}}async['formatFile'](_0x44670e,_0x531a5e,_0x159c1c,_0x29ef6a={}){const _0x44abfa=a0_0x4f6215,_0x4e3bbb=a0_0x4c0d52[_0x44abfa(0x1ad)](_0x44670e)?a0_0x4c0d52[_0x44abfa(0x227)](_0x44670e):a0_0x4c0d52['resolve'](_0x531a5e,_0x44670e),_0x54c95e=this['directoryAccessManager']['validateReadAccess'](_0x4e3bbb,_0x159c1c);if(!_0x54c95e[_0x44abfa(0x202)])throw new Error(_0x44abfa(0x1a6)+_0x54c95e['reason']);if(_0x29ef6a[_0x44abfa(0x1f1)]){const _0x343e87=this[_0x44abfa(0x15c)]['validateWriteAccess'](_0x4e3bbb,_0x159c1c);if(!_0x343e87[_0x44abfa(0x202)])throw new Error('Write\x20access\x20denied:\x20'+_0x343e87['reason']);}try{const _0x138579=await a0_0xf3ef7c['readFile'](_0x4e3bbb,_0x44abfa(0x182)),_0x246d3b=await this[_0x44abfa(0x1e4)]();if(!_0x246d3b[_0x44abfa(0x1fd)](_0x4e3bbb))return{'file':this['directoryAccessManager']['createRelativePath'](_0x4e3bbb,_0x159c1c),'fullPath':_0x4e3bbb,'action':_0x44abfa(0x225),'formatted':![],'skipped':!![],'skipReason':'File\x20type\x20not\x20supported\x20by\x20Prettier'};const _0x5779c6=await _0x246d3b['format'](_0x4e3bbb,_0x138579,{'workingDir':_0x531a5e,'accessConfig':_0x159c1c});return _0x29ef6a['writeFile']&&_0x5779c6[_0x44abfa(0x1f5)]&&(await a0_0xf3ef7c['writeFile'](_0x4e3bbb,_0x5779c6[_0x44abfa(0x1e8)],_0x44abfa(0x182)),this[_0x44abfa(0x185)]?.[_0x44abfa(0x1ab)](_0x44abfa(0x1ef),{'file':_0x4e3bbb})),{'file':this['directoryAccessManager']['createRelativePath'](_0x4e3bbb,_0x159c1c),'fullPath':_0x4e3bbb,'action':'format','formatted':_0x5779c6['formatted'],'linesChanged':_0x5779c6['linesChanged'],'changes':_0x5779c6[_0x44abfa(0x176)],'written':!!(_0x29ef6a['writeFile']&&_0x5779c6[_0x44abfa(0x1f5)]),'preview':!_0x29ef6a['writeFile']&&_0x5779c6[_0x44abfa(0x1f5)]?_0x5779c6['content']:undefined};}catch(_0x40eda9){throw new Error('Failed\x20to\x20format\x20'+_0x44670e+':\x20'+_0x40eda9[_0x44abfa(0x1a7)]);}}async['securityScanFile'](_0x51073c,_0x4cfe67,_0x554212,_0x4b6496={}){const _0x2433e7=a0_0x4f6215,_0x5746b9=a0_0x4c0d52[_0x2433e7(0x1ad)](_0x51073c)?a0_0x4c0d52['normalize'](_0x51073c):a0_0x4c0d52['resolve'](_0x4cfe67,_0x51073c),_0x359266=this['directoryAccessManager'][_0x2433e7(0x1d1)](_0x5746b9,_0x554212);if(!_0x359266['allowed'])throw new Error(_0x2433e7(0x1a6)+_0x359266['reason']);try{const _0x4ca1d6=await a0_0xf3ef7c[_0x2433e7(0x174)](_0x5746b9);if(_0x4ca1d6['size']>this[_0x2433e7(0x1aa)])throw new Error('File\x20too\x20large:\x20'+_0x4ca1d6['size']+_0x2433e7(0x1ce)+this[_0x2433e7(0x1aa)]+')');const _0x14188e=this[_0x2433e7(0x221)](_0x5746b9);if(!_0x14188e||!['javascript',_0x2433e7(0x1dd),_0x2433e7(0x17e)][_0x2433e7(0x1a4)](_0x14188e))return{'file':this[_0x2433e7(0x15c)][_0x2433e7(0x1a3)](_0x5746b9,_0x554212),'fullPath':_0x5746b9,'language':_0x14188e||_0x2433e7(0x1cc),'issues':[],'skipped':!![],'skipReason':'Security\x20scanning\x20only\x20supports\x20JavaScript,\x20TypeScript,\x20and\x20Python\x20files'};const _0x8f246=await a0_0xf3ef7c['readFile'](_0x5746b9,'utf-8'),_0x9b14fc=await this[_0x2433e7(0x1c4)](),_0x4e99b3=await _0x9b14fc[_0x2433e7(0x15e)](_0x5746b9,_0x8f246,{'skipTestFiles':_0x4b6496[_0x2433e7(0x15d)]!==![]}),_0x2285d7={'file':this['directoryAccessManager'][_0x2433e7(0x1a3)](_0x5746b9,_0x554212),'fullPath':_0x5746b9,'language':_0x14188e,'action':_0x2433e7(0x16d),'critical':_0x4e99b3[_0x2433e7(0x181)](_0x48d477=>_0x48d477['severity']===STATIC_ANALYSIS[_0x2433e7(0x203)]['CRITICAL']),'errors':_0x4e99b3['filter'](_0x4c0dae=>_0x4c0dae['severity']===STATIC_ANALYSIS[_0x2433e7(0x203)][_0x2433e7(0x212)]),'warnings':_0x4e99b3[_0x2433e7(0x181)](_0x4dee4f=>_0x4dee4f['severity']===STATIC_ANALYSIS[_0x2433e7(0x203)]['WARNING']),'info':_0x4e99b3[_0x2433e7(0x181)](_0x3d203f=>_0x3d203f[_0x2433e7(0x1ae)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x4e99b3[_0x2433e7(0x196)],'analyzed':!![],'scannersUsed':_0x4e99b3['map'](_0x3b6f1f=>_0x3b6f1f[_0x2433e7(0x190)])['filter']((_0x3d195d,_0x192af2,_0x394871)=>_0x394871[_0x2433e7(0x180)](_0x3d195d)===_0x192af2),'timestamp':new Date()['toISOString']()};return _0x2285d7;}catch(_0x15d43a){throw new Error('Failed\x20to\x20security\x20scan\x20'+_0x51073c+':\x20'+_0x15d43a[_0x2433e7(0x1a7)]);}}async['securityScanProject'](_0x3e3633,_0x95c4a,_0x225f43,_0x4e8e3a,_0x23f71a={}){const _0x1dce18=a0_0x4f6215,_0x10ac8f=a0_0x4c0d52[_0x1dce18(0x1ad)](_0x3e3633)?a0_0x4c0d52[_0x1dce18(0x227)](_0x3e3633):a0_0x4c0d52[_0x1dce18(0x1bb)](_0x225f43,_0x3e3633),_0x16b1f1=this[_0x1dce18(0x15c)]['validateReadAccess'](_0x10ac8f,_0x4e8e3a);if(!_0x16b1f1['allowed'])throw new Error(_0x1dce18(0x1a6)+_0x16b1f1['reason']);const _0x3993bb=await this['getSecurityAnalyzer'](),_0x442214=await _0x3993bb['analyzeProject'](_0x10ac8f,'javascript',_0x23f71a),_0x5a9954=_0x95c4a||_0x1dce18(0x1de),_0x1ad82f=await this[_0x1dce18(0x208)](_0x10ac8f,_0x5a9954);if(_0x1ad82f[_0x1dce18(0x196)]>this[_0x1dce18(0x1e6)])throw new Error(_0x1dce18(0x1dc)+_0x1ad82f[_0x1dce18(0x196)]+_0x1dce18(0x1f7)+this['maxFilesPerBatch']+')');const _0x3f42b3=[];if(this['parallelAnalysis']&&_0x1ad82f['length']>0x1){this[_0x1dce18(0x185)]?.[_0x1dce18(0x19a)](_0x1dce18(0x17d),{'totalFiles':_0x1ad82f[_0x1dce18(0x196)],'batchSize':this['maxParallelFiles']});for(let _0x1bb179=0x0;_0x1bb179<_0x1ad82f['length'];_0x1bb179+=this['maxParallelFiles']){const _0x3a6383=_0x1ad82f['slice'](_0x1bb179,_0x1bb179+this[_0x1dce18(0x1d9)]);_0x23f71a[_0x1dce18(0x16a)]&&_0x23f71a['onProgress']({'completed':_0x1bb179,'total':_0x1ad82f[_0x1dce18(0x196)],'percentage':Math['round'](_0x1bb179/_0x1ad82f[_0x1dce18(0x196)]*0x64)});const _0x570077=_0x3a6383[_0x1dce18(0x20d)](async _0x309199=>{const _0x3ca33f=_0x1dce18;try{return await this['securityScanFile'](_0x309199,_0x225f43,_0x4e8e3a,_0x23f71a);}catch(_0xc9820f){return this['logger']?.[_0x3ca33f(0x166)](_0x3ca33f(0x179),{'file':_0x309199,'error':_0xc9820f[_0x3ca33f(0x1a7)]}),{'file':this[_0x3ca33f(0x15c)]['createRelativePath'](_0x309199,_0x4e8e3a),'fullPath':_0x309199,'error':_0xc9820f['message'],'success':![]};}}),_0x4c09f9=await Promise[_0x1dce18(0x187)](_0x570077);_0x3f42b3['push'](..._0x4c09f9[_0x1dce18(0x181)](_0x1a1a95=>_0x1a1a95!==null));}_0x23f71a[_0x1dce18(0x16a)]&&_0x23f71a[_0x1dce18(0x16a)]({'completed':_0x1ad82f[_0x1dce18(0x196)],'total':_0x1ad82f[_0x1dce18(0x196)],'percentage':0x64});}else for(const _0x44f70d of _0x1ad82f){try{const _0x15c99f=await this['securityScanFile'](_0x44f70d,_0x225f43,_0x4e8e3a,_0x23f71a);_0x15c99f&&_0x3f42b3['push'](_0x15c99f);}catch(_0x412914){this[_0x1dce18(0x185)]?.[_0x1dce18(0x166)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x44f70d,'error':_0x412914[_0x1dce18(0x1a7)]}),_0x3f42b3['push']({'file':this[_0x1dce18(0x15c)][_0x1dce18(0x1a3)](_0x44f70d,_0x4e8e3a),'fullPath':_0x44f70d,'error':_0x412914['message'],'success':![]});}}return _0x442214[_0x1dce18(0x196)]>0x0&&_0x3f42b3['push']({'file':a0_0x4c0d52[_0x1dce18(0x22d)](_0x10ac8f,'package.json'),'fullPath':a0_0x4c0d52['join'](_0x10ac8f,_0x1dce18(0x1da)),'action':_0x1dce18(0x18f),'critical':_0x442214['filter'](_0x39a206=>_0x39a206['severity']===STATIC_ANALYSIS[_0x1dce18(0x203)]['CRITICAL']),'errors':_0x442214['filter'](_0x2d533a=>_0x2d533a[_0x1dce18(0x1ae)]===STATIC_ANALYSIS['SEVERITY'][_0x1dce18(0x212)]),'warnings':_0x442214['filter'](_0x53037c=>_0x53037c['severity']===STATIC_ANALYSIS[_0x1dce18(0x203)][_0x1dce18(0x17f)]),'info':_0x442214['filter'](_0x4c2f5f=>_0x4c2f5f['severity']===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x442214['length'],'analyzed':!![],'scannersUsed':['npm-audit'],'timestamp':new Date()[_0x1dce18(0x1f8)]()}),_0x3f42b3;}async[a0_0x4f6215(0x161)](_0x1ea9f6,_0x3da9bd,_0x4ae037,_0x134cfd={}){const _0xc883ef=a0_0x4f6215,_0xd5dead=a0_0x4c0d52['isAbsolute'](_0x1ea9f6)?a0_0x4c0d52['normalize'](_0x1ea9f6):a0_0x4c0d52[_0xc883ef(0x1bb)](_0x3da9bd,_0x1ea9f6),_0x43d8e8=this['directoryAccessManager'][_0xc883ef(0x1d1)](_0xd5dead,_0x4ae037);if(!_0x43d8e8['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x43d8e8['reason']);try{const _0x421795=await a0_0xf3ef7c[_0xc883ef(0x174)](_0xd5dead);if(_0x421795[_0xc883ef(0x20f)]>this[_0xc883ef(0x1aa)])throw new Error(_0xc883ef(0x22a)+_0x421795['size']+'\x20bytes\x20(max\x20'+this[_0xc883ef(0x1aa)]+')');const _0x4f60d8=await this['getConfigValidator'](),_0x1a36e6=await _0x4f60d8[_0xc883ef(0x16b)](_0xd5dead,_0x134cfd),_0x20496f={'file':this[_0xc883ef(0x15c)]['createRelativePath'](_0xd5dead,_0x4ae037),'fullPath':_0xd5dead,'action':_0xc883ef(0x16f),'critical':_0x1a36e6['filter'](_0x33b9ec=>_0x33b9ec['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x1a36e6[_0xc883ef(0x181)](_0x146f4f=>_0x146f4f['severity']===STATIC_ANALYSIS[_0xc883ef(0x203)]['ERROR']),'warnings':_0x1a36e6[_0xc883ef(0x181)](_0x5b685c=>_0x5b685c['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x1a36e6['filter'](_0x32ab41=>_0x32ab41[_0xc883ef(0x1ae)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x1a36e6['length'],'analyzed':!![],'validatorsUsed':_0x1a36e6[_0xc883ef(0x20d)](_0x3b2200=>_0x3b2200['validator'])['filter']((_0xac826c,_0x5512e6,_0x5126a8)=>_0x5126a8[_0xc883ef(0x180)](_0xac826c)===_0x5512e6),'timestamp':new Date()[_0xc883ef(0x1f8)]()};return _0x20496f;}catch(_0x335aeb){throw new Error(_0xc883ef(0x224)+_0x1ea9f6+':\x20'+_0x335aeb['message']);}}async['validateConfigDirectory'](_0x1092a3,_0x1c7545,_0x54ab27,_0x438836={}){const _0x1204e4=a0_0x4f6215,_0xcefa02=a0_0x4c0d52[_0x1204e4(0x1ad)](_0x1092a3)?a0_0x4c0d52[_0x1204e4(0x227)](_0x1092a3):a0_0x4c0d52[_0x1204e4(0x1bb)](_0x1c7545,_0x1092a3),_0x545789=this[_0x1204e4(0x15c)][_0x1204e4(0x1d1)](_0xcefa02,_0x54ab27);if(!_0x545789['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x545789[_0x1204e4(0x194)]);const _0x2aaed1=await this[_0x1204e4(0x1f4)](_0xcefa02);if(_0x2aaed1['length']>this[_0x1204e4(0x1e6)])throw new Error(_0x1204e4(0x1df)+_0x2aaed1['length']+_0x1204e4(0x1f7)+this['maxFilesPerBatch']+')');const _0x437112=[];for(const _0x1eb28c of _0x2aaed1){try{const _0x61170e=await this[_0x1204e4(0x161)](_0x1eb28c,_0x1c7545,_0x54ab27,_0x438836);_0x61170e&&_0x437112['push'](_0x61170e);}catch(_0x332b7f){this['logger']?.[_0x1204e4(0x166)]('Failed\x20to\x20validate\x20config\x20file',{'file':_0x1eb28c,'error':_0x332b7f['message']}),_0x437112[_0x1204e4(0x1e1)]({'file':this[_0x1204e4(0x15c)]['createRelativePath'](_0x1eb28c,_0x54ab27),'fullPath':_0x1eb28c,'error':_0x332b7f[_0x1204e4(0x1a7)],'success':![]});}}return _0x437112;}async['findConfigFiles'](_0x58f821){const _0x39ba13=a0_0x4f6215,_0x142f03=[],_0x28934f=[_0x39ba13(0x1da),_0x39ba13(0x21b),_0x39ba13(0x1c7),'docker-compose.yml','docker-compose.yaml','.env','.env.example',_0x39ba13(0x165),_0x39ba13(0x1c0),_0x39ba13(0x21a),_0x39ba13(0x21c)],_0x1535b9=[_0x39ba13(0x1b8),'.yaml','.json','.tf','.tfvars'],_0x3c0524=async _0x3626aa=>{const _0x8e0ed9=_0x39ba13,_0x2af004=await a0_0xf3ef7c[_0x8e0ed9(0x228)](_0x3626aa,{'withFileTypes':!![]});for(const _0x16adbf of _0x2af004){const _0x76eb19=a0_0x4c0d52[_0x8e0ed9(0x22d)](_0x3626aa,_0x16adbf['name']);if(_0x16adbf['isDirectory']()){if(_0x16adbf[_0x8e0ed9(0x18b)]==='.github'||_0x16adbf[_0x8e0ed9(0x18b)]==='kubernetes'||_0x16adbf[_0x8e0ed9(0x18b)]===_0x8e0ed9(0x1d5)||_0x16adbf[_0x8e0ed9(0x18b)]===_0x8e0ed9(0x197))await _0x3c0524(_0x76eb19);else{if(!['node_modules',_0x8e0ed9(0x234),'dist','build'][_0x8e0ed9(0x1a4)](_0x16adbf[_0x8e0ed9(0x18b)]))continue;}}else{if(_0x16adbf['isFile']()){if(_0x28934f[_0x8e0ed9(0x1a4)](_0x16adbf[_0x8e0ed9(0x18b)]))_0x142f03['push'](_0x76eb19);else{const _0x3b9e71=a0_0x4c0d52[_0x8e0ed9(0x1c9)](_0x16adbf['name'])[_0x8e0ed9(0x1d7)]();if(_0x1535b9[_0x8e0ed9(0x1a4)](_0x3b9e71)){const _0x2bd9e2=a0_0x4c0d52[_0x8e0ed9(0x167)](a0_0x4c0d52[_0x8e0ed9(0x211)](_0x76eb19));(_0x2bd9e2==='kubernetes'||_0x2bd9e2==='k8s'||_0x2bd9e2==='terraform'||_0x2bd9e2===_0x8e0ed9(0x1e5))&&_0x142f03[_0x8e0ed9(0x1e1)](_0x76eb19);}}}}}};return await _0x3c0524(_0x58f821),_0x142f03;}[a0_0x4f6215(0x221)](_0x4c370b){const _0x5b62ae=a0_0x4f6215,_0x48ae7f=a0_0x4c0d52['extname'](_0x4c370b)[_0x5b62ae(0x1d7)]();return STATIC_ANALYSIS[_0x5b62ae(0x20b)][_0x48ae7f]||null;}async[a0_0x4f6215(0x17b)](_0x4bcf43,_0x4eca73){const _0xe81545=a0_0x4f6215;try{if(_0x4eca73===STATIC_ANALYSIS['LANGUAGE']['JAVASCRIPT']||_0x4eca73===STATIC_ANALYSIS[_0xe81545(0x1b0)]['TYPESCRIPT'])return await this['detectJSFramework'](_0x4bcf43);if(_0x4eca73===STATIC_ANALYSIS[_0xe81545(0x1b0)]['PYTHON'])return await this['detectPythonFramework'](_0x4bcf43);return null;}catch(_0x6e38df){return this['logger']?.['debug'](_0xe81545(0x1cd),{'error':_0x6e38df[_0xe81545(0x1a7)]}),null;}}async['detectJSFramework'](_0x2b2ff1){const _0x534e08=a0_0x4f6215;try{const _0x5691c6=a0_0x4c0d52['join'](_0x2b2ff1,STATIC_ANALYSIS[_0x534e08(0x226)]['JAVASCRIPT']),_0x1a2985=await a0_0xf3ef7c['readFile'](_0x5691c6,_0x534e08(0x182)),_0x26f873=JSON['parse'](_0x1a2985),_0x320a39={..._0x26f873['dependencies'],..._0x26f873[_0x534e08(0x18c)]};for(const [_0x258b63,_0x3e33d6]of Object[_0x534e08(0x193)](STATIC_ANALYSIS[_0x534e08(0x175)])){if(_0x320a39[_0x3e33d6])return _0x258b63['toLowerCase']();}return null;}catch(_0x23b45b){return null;}}async['detectPythonFramework'](_0x30934e){const _0xcc08ac=a0_0x4f6215;try{const _0x26d831=a0_0x4c0d52['join'](_0x30934e,STATIC_ANALYSIS[_0xcc08ac(0x226)]['PYTHON']),_0x592c2b=await a0_0xf3ef7c['readFile'](_0x26d831,'utf-8');for(const [_0x321638,_0x2399d3]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x592c2b['toLowerCase']()['includes'](_0x2399d3))return _0x321638[_0xcc08ac(0x1d7)]();}return null;}catch(_0x15bcee){try{const _0x11cedb=a0_0x4c0d52[_0xcc08ac(0x22d)](_0x30934e,STATIC_ANALYSIS[_0xcc08ac(0x226)][_0xcc08ac(0x1ac)]),_0x5eeaa2=await a0_0xf3ef7c[_0xcc08ac(0x1fc)](_0x11cedb,'utf-8');for(const [_0x19099f,_0x58cedf]of Object[_0xcc08ac(0x193)](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x5eeaa2[_0xcc08ac(0x1d7)]()[_0xcc08ac(0x1a4)](_0x58cedf))return _0x19099f[_0xcc08ac(0x1d7)]();}}catch{}return null;}}async[a0_0x4f6215(0x208)](_0x59e829,_0x58f25e){const _0x45e51a=[],_0x29c13d=_0x58f25e||'**/*.{js,jsx,mjs,cjs,ts,tsx,py,css,scss,sass,less}',_0x273237=_0x544fdd=>{const _0x3937a8=a0_0x52dc,_0x36b423=[],_0x10825c=_0x544fdd['match'](/\*\.\{([^}]+)\}/);if(_0x10825c){const _0x387846=_0x10825c[0x1]['split'](',')[_0x3937a8(0x20d)](_0x1ffb79=>_0x1ffb79['trim']());_0x387846['forEach'](_0x4c8ee0=>_0x36b423['push'](_0x4c8ee0[_0x3937a8(0x21d)]('.')?_0x4c8ee0:'.'+_0x4c8ee0));}else{const _0x503bd0=_0x544fdd[_0x3937a8(0x1b6)](/\*\.([a-z]+)$/i);if(_0x503bd0){const _0x4481b4=_0x503bd0[0x1];_0x36b423[_0x3937a8(0x1e1)](_0x4481b4[_0x3937a8(0x21d)]('.')?_0x4481b4:'.'+_0x4481b4);}}if(_0x36b423[_0x3937a8(0x196)]===0x0)return null;return _0x36b423;},_0x23f2cf=_0x273237(_0x29c13d),_0x175fa6=async _0x2ac429=>{const _0x1e76ff=a0_0x52dc,_0x4bd7d7=await a0_0xf3ef7c['readdir'](_0x2ac429,{'withFileTypes':!![]});for(const _0x24ec38 of _0x4bd7d7){const _0x4c473a=a0_0x4c0d52['join'](_0x2ac429,_0x24ec38['name']);if(_0x24ec38['isDirectory']())!['node_modules','.git','dist','build','__pycache__','.venv',_0x1e76ff(0x223)]['includes'](_0x24ec38[_0x1e76ff(0x18b)])&&await _0x175fa6(_0x4c473a);else{if(_0x24ec38[_0x1e76ff(0x1d4)]()){const _0x5910f5=a0_0x4c0d52['extname'](_0x24ec38['name'])['toLowerCase']();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x5910f5]&&((_0x23f2cf===null||_0x23f2cf['includes'](_0x5910f5))&&_0x45e51a[_0x1e76ff(0x1e1)](_0x4c473a));}}}};return await _0x175fa6(_0x59e829),_0x45e51a;}async['getAnalyzer'](_0x3adaf2){const _0x4eacef=a0_0x4f6215;try{if(_0x3adaf2===STATIC_ANALYSIS[_0x4eacef(0x1b0)][_0x4eacef(0x15a)]){if(!this['analyzers'][_0x4eacef(0x1a5)]){const {default:_0x16862c}=await import('../analyzers/JavaScriptAnalyzer.js');this['analyzers']['javascript']=new _0x16862c(this[_0x4eacef(0x185)]);}return this['analyzers']['javascript'];}if(_0x3adaf2===STATIC_ANALYSIS['LANGUAGE']['TYPESCRIPT']){if(!this[_0x4eacef(0x16c)]['typescript']){const {default:_0x4da3d4}=await import('../analyzers/TypeScriptAnalyzer.js');this[_0x4eacef(0x16c)][_0x4eacef(0x1dd)]=new _0x4da3d4(this['logger']);}return this['analyzers'][_0x4eacef(0x1dd)];}if(_0x3adaf2===STATIC_ANALYSIS['LANGUAGE'][_0x4eacef(0x1d0)]){if(!this['analyzers']['python']){const {default:_0xc8260f}=await import('../analyzers/PythonAnalyzer.js');this['analyzers'][_0x4eacef(0x17e)]=new _0xc8260f(this['logger']);}return this['analyzers']['python'];}if(_0x3adaf2===STATIC_ANALYSIS[_0x4eacef(0x1b0)][_0x4eacef(0x209)]||_0x3adaf2===STATIC_ANALYSIS['LANGUAGE']['SCSS']||_0x3adaf2===STATIC_ANALYSIS['LANGUAGE']['LESS']){if(!this['analyzers']['css']){const {default:_0x17d6bd}=await import('../analyzers/CSSAnalyzer.js');this['analyzers'][_0x4eacef(0x1f6)]=new _0x17d6bd(this['logger']);}return this[_0x4eacef(0x16c)]['css'];}return null;}catch(_0x42e6be){return this[_0x4eacef(0x185)]?.[_0x4eacef(0x205)]('Failed\x20to\x20load\x20analyzer',{'language':_0x3adaf2,'error':_0x42e6be[_0x4eacef(0x1a7)]}),null;}}async[a0_0x4f6215(0x150)](){const _0x16b147=a0_0x4f6215;if(!this['analyzers']['eslint']){const {default:_0x4319e1}=await import('../analyzers/ESLintAnalyzer.js');this['analyzers']['eslint']=new _0x4319e1(this[_0x16b147(0x185)]);}return this['analyzers'][_0x16b147(0x15b)];}async[a0_0x4f6215(0x1e4)](){const _0x4f245c=a0_0x4f6215;if(!this[_0x4f245c(0x216)][_0x4f245c(0x172)]){const {default:_0x5b8d13}=await import(_0x4f245c(0x21e));this[_0x4f245c(0x216)][_0x4f245c(0x172)]=new _0x5b8d13(this['logger']);}return this[_0x4f245c(0x216)]['prettier'];}async['getSecurityAnalyzer'](){const _0x41a479=a0_0x4f6215;if(!this['analyzers']['security']){const {default:_0x25bb6a}=await import(_0x41a479(0x1ee));this[_0x41a479(0x16c)][_0x41a479(0x1c2)]=new _0x25bb6a(this['logger']);}return this[_0x41a479(0x16c)][_0x41a479(0x1c2)];}async['getConfigValidator'](){const _0x38cf42=a0_0x4f6215;if(!this['analyzers']['config']){const {default:_0xc1f5d0}=await import('../analyzers/ConfigValidator.js');this[_0x38cf42(0x16c)]['config']=new _0xc1f5d0(this['logger']);}return this['analyzers'][_0x38cf42(0x1e7)];}['updateSummary'](_0x43b473,_0xb06236){const _0xec8bb6=a0_0x4f6215;if(_0xb06236[_0xec8bb6(0x219)]){_0x43b473[_0xec8bb6(0x192)]++;const _0x35129e=_0xb06236['critical']?.[_0xec8bb6(0x196)]||0x0,_0x43e0e8=_0xb06236['errors']?.[_0xec8bb6(0x196)]||0x0,_0x2b4a4b=_0xb06236[_0xec8bb6(0x1e9)]?.[_0xec8bb6(0x196)]||0x0,_0x569dce=_0xb06236['info']?.['length']||0x0;_0x43b473['totalCritical']===undefined&&(_0x43b473[_0xec8bb6(0x22f)]=0x0);_0x43b473[_0xec8bb6(0x22f)]+=_0x35129e,_0x43b473['totalErrors']+=_0x43e0e8,_0x43b473[_0xec8bb6(0x230)]+=_0x2b4a4b,_0x43b473[_0xec8bb6(0x171)]+=_0x569dce;(_0x35129e>0x0||_0x43e0e8>0x0)&&_0x43b473['filesWithErrors']++;_0xb06236['language']&&(_0x43b473['filesByLanguage'][_0xb06236['language']]=(_0x43b473[_0xec8bb6(0x164)][_0xb06236[_0xec8bb6(0x156)]]||0x0)+0x1);const _0x1d5672=[..._0xb06236[_0xec8bb6(0x1b9)]||[],..._0xb06236['errors']||[],..._0xb06236['warnings']||[]];for(const _0x5d3f05 of _0x1d5672){_0x5d3f05[_0xec8bb6(0x157)]&&(_0x43b473[_0xec8bb6(0x17a)][_0x5d3f05[_0xec8bb6(0x157)]]=(_0x43b473[_0xec8bb6(0x17a)][_0x5d3f05[_0xec8bb6(0x157)]]||0x0)+0x1);}}}[a0_0x4f6215(0x229)](_0x1d4afa){const _0xdedad5=a0_0x4f6215;return a0_0x3d46ea['createHash']('sha256')[_0xdedad5(0x210)](_0x1d4afa)[_0xdedad5(0x163)](_0xdedad5(0x20a))[_0xdedad5(0x186)](0x0,0x10);}[a0_0x4f6215(0x169)](){const _0x4560ad=a0_0x4f6215,_0x123adf=this[_0x4560ad(0x1ba)]['totalAnalyses']>0x0?this['metrics']['cacheHits']/this['metrics']['totalAnalyses']*0x64:0x0,_0x5a5323=this['metrics'][_0x4560ad(0x213)]>0x0?this[_0x4560ad(0x1ba)]['totalAnalysisTime']/this['metrics'][_0x4560ad(0x213)]:0x0;return{...this['metrics'],'cacheHitRate':Math[_0x4560ad(0x237)](_0x123adf*0xa)/0xa,'averageAnalysisTime':Math['round'](_0x5a5323),'cacheSize':this[_0x4560ad(0x15f)]['size']};}[a0_0x4f6215(0x159)](){const _0x261bcc=a0_0x4f6215;this[_0x261bcc(0x1ba)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}['clearCache'](){const _0x370f18=a0_0x4f6215;this['analysisCache']['clear'](),this[_0x370f18(0x185)]?.[_0x370f18(0x19a)](_0x370f18(0x1af));}[a0_0x4f6215(0x238)](){const _0x2e9002=a0_0x4f6215;return[_0x2e9002(0x15e),_0x2e9002(0x18a),'fix','format',_0x2e9002(0x16d),_0x2e9002(0x1cb),'validate-config','validate-config-directory'];}['getParameterSchema'](){const _0x4c2d16=a0_0x4f6215;return{'type':'object','properties':{'actions':{'type':_0x4c2d16(0x1c3),'minItems':0x1,'items':{'type':_0x4c2d16(0x19e),'properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'filePath':{'type':_0x4c2d16(0x1a8)},'directory':{'type':_0x4c2d16(0x1a8)},'pattern':{'type':'string'},'includeWarnings':{'type':_0x4c2d16(0x1d8)},'maxErrors':{'type':_0x4c2d16(0x1db)}},'required':['type']}}},'required':['actions']};}}export default StaticAnalysisTool;
|