@loxia-labs/loxia-autopilot-one 1.0.12 → 1.0.13
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 -2
- 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 -1
package/src/tools/seekTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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
|
+
const a0_0x292e9f=a0_0xe8b2;(function(_0x508bf5,_0x2ee5eb){const _0x165d1b=a0_0xe8b2,_0x227115=_0x508bf5();while(!![]){try{const _0x4fc8df=-parseInt(_0x165d1b(0x1f2))/0x1*(-parseInt(_0x165d1b(0x173))/0x2)+parseInt(_0x165d1b(0x16a))/0x3+-parseInt(_0x165d1b(0x1d0))/0x4*(-parseInt(_0x165d1b(0x1c2))/0x5)+parseInt(_0x165d1b(0x19b))/0x6*(-parseInt(_0x165d1b(0x1eb))/0x7)+-parseInt(_0x165d1b(0x1d2))/0x8*(parseInt(_0x165d1b(0x1e5))/0x9)+parseInt(_0x165d1b(0x1ea))/0xa*(parseInt(_0x165d1b(0x1dd))/0xb)+parseInt(_0x165d1b(0x1dc))/0xc*(-parseInt(_0x165d1b(0x1b7))/0xd);if(_0x4fc8df===_0x2ee5eb)break;else _0x227115['push'](_0x227115['shift']());}catch(_0x846e4a){_0x227115['push'](_0x227115['shift']());}}}(a0_0x2c21,0x8fc2b));import{BaseTool}from'./baseTool.js';import a0_0x3e2927 from'../utilities/tagParser.js';import{promises as a0_0x1d8b71}from'fs';import a0_0x40e741 from'path';function a0_0xe8b2(_0x24e980,_0x412776){_0x24e980=_0x24e980-0x167;const _0x2c217d=a0_0x2c21();let _0xe8b24a=_0x2c217d[_0x24e980];if(a0_0xe8b2['dVrjlH']===undefined){var _0x191cdc=function(_0x255b5b){const _0x5cde2e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e2927='',_0x1d8b71='';for(let _0x40e741=0x0,_0x1938a,_0xe08fdb,_0x520cdd=0x0;_0xe08fdb=_0x255b5b['charAt'](_0x520cdd++);~_0xe08fdb&&(_0x1938a=_0x40e741%0x4?_0x1938a*0x40+_0xe08fdb:_0xe08fdb,_0x40e741++%0x4)?_0x3e2927+=String['fromCharCode'](0xff&_0x1938a>>(-0x2*_0x40e741&0x6)):0x0){_0xe08fdb=_0x5cde2e['indexOf'](_0xe08fdb);}for(let _0x38e973=0x0,_0x35224f=_0x3e2927['length'];_0x38e973<_0x35224f;_0x38e973++){_0x1d8b71+='%'+('00'+_0x3e2927['charCodeAt'](_0x38e973)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d8b71);};a0_0xe8b2['zVlULT']=_0x191cdc,a0_0xe8b2['HzwmhG']={},a0_0xe8b2['dVrjlH']=!![];}const _0x555096=_0x2c217d[0x0],_0xcfa9d3=_0x24e980+_0x555096,_0x2a06e7=a0_0xe8b2['HzwmhG'][_0xcfa9d3];return!_0x2a06e7?(_0xe8b24a=a0_0xe8b2['zVlULT'](_0xe8b24a),a0_0xe8b2['HzwmhG'][_0xcfa9d3]=_0xe8b24a):_0xe8b24a=_0x2a06e7,_0xe8b24a;}function a0_0x2c21(){const _0x561eee=['tufyx0XjtKvFq09ovevovf9mru5hveG','lNrVBwW','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','u0vbuKniifjfu1vmvfmGka','lNbKzG','lMv4zq','icaTia','BgLUzunVBNrLBNq','ChvZAa','ihnLyxjJAcb0zxjTCWOTie1HEca','zM9YBwf0uMvZDwX0CW','lNnV','C3vIC3rYAw5N','icHPCYbHigrPCMvJDg9YEsWGBM90igeGzMLSzsK','BwvZC2fNzq','lM5LEhq','lMPZB24','lMrHDa','CMvZB2X2zuzPBgvqyxrOCW','BM9Kzv9TB2r1BgvZ','zMLUzezPBgvZuMvJDxjZAxzLBhK','zxjYB3i','C3bSAxq','lNnO','lMjHC2G','lNbUzW','mtG2otaXvM56BwTb','lM51Ehq','igzPBgvZihbLCIbZzwfYy2GklsbnyxGG','z2v0rgvZy3jPChrPB24','lMD6','vg9Vig1HBNKGzMLSzxmGDg8GC2vHCMnOicG','lNnHC3m','rMfPBgvKihrVihbHCNnLihnLzwSGCgfYyw1LDgvYCW','tufyx01bvenirvnFuevsx0zjteu','icHUBYbTyxrJAgLUzYbMAwXLCYK','DMvUzg9Y','mta2nwHpwhnluW','lMjPBG','AgfZ','BM90rM91BMq','twf4Aw11Bsb0B3rHBcbTyxrJAgvZihjLywnOzwq','C2HVDwXKu2TPCezPBgu','lMrI','zM91BMq','y2XLyw51Ca','zgLZDa','AxngAwXL','C3rYAw5N','ywrK','vg9Vig1HBNKGzMLSzsbWyxrOCYaOBwf4ia','otC0mfzvENbnqW','DgvTCa','mtuYB2Hez2H0','tufyx1nfqvjdsf9urvjnuW','D2fYBG','DgLTzw91Da','lNn2zW','rgLYzwn0B3j5ig5VDcbMB3vUzcbMB3iGz2XVyIbWyxr0zxjU','x19WEwnHy2HLx18','tufyx0zjtevFu0LArq','lNHTBa','lNr0zG','mta4z2PTy1vq','mti0ntC0odLTz3HPsxq','BgvUz3rO','C3rHCNrZv2L0Aa','tM8GBwf0y2HLCYbMB3vUzcbMB3iGDgHLihnWzwnPzMLLzcbZzwfYy2GGDgvYBxmGAw4G','CMvHzgrPCG','zMLSzvbHDgHZ','tuiGCgvYigzPBguklsbnyxGG','lMDPDa','mJm3odC5AKHQCLLw','CMvZB2X2zq','lMHWCa','lJD6','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','mtbKu0rhz3u','otfwuKDUz1e','C2vLA0nVBMzPzW','AxnbCNjHEq','lI4U','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','lNrZ','u2vHCMnOihrLCM06ici','ndiZmJLgte9lwwW','tufyx0zjtevtx1bfuL9trufsq0G','lMLJBW','BwfW','CMvSyxrPDMu','qMfZzsbKAxjLy3rVCNKGBM90igzVDw5KigzVCIbNBg9IihbHDhrLCM4','lMPZ','twf4Aw11BsbTyxrJAgvZihbLCIbMAwXLihjLywnOzwq','D29YA2LUz0rPCMvJDg9YEq','Bg9Nz2vY','AM9PBG','lMLUAq','AxneAxjLy3rVCNK','lNjZ','CMvHze9UBhLeAxjLy3rVCMLLCW','Dg1W','lMDPzG','zxjYB3jgAwXLCW','zxHLyW','zMLSzvbHDgG','tuiP','lNLTBa','Bwf0y2HLCW','yMfZzw5HBwu','CMvWBgfJzq','mZe0ntuZA2vKEgDL','iIaO','rKLmrvmGv0LuscbfuLjpuLm6cG','uhjVAMvJDcbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLzwSGDg9VBa','u2vLAYb0B29Sigv4zwn1DgLVBIbMywLSzwq','lIbvC2uGBw9YzsbZCgvJAwzPyYbMAwXLihbHDhrLCM5ZlG','xcqM','lM1VDG','BwLU','mtrAq3DirMe','Bwf4','lNjHCG','tufyx1rpvefmx01bvenirvm','AxnbyNnVBhv0zq','DgvYBq','lMPWzW','u2vHCMnOihrLCM0G','lMH0BwW','rMfPBgvKihrVihjLywqGzMLSztOG','BMfTzq','rMLSzsbWyxrOia','ic0G','DhjPBq','C2HVDwXKu2TPCerPCMvJDg9YEq','C2vHCMnOvgvYBxm','ig1HDgnOzxmGDg90ywWkicaGia','Aw5JBhvKzxm','lMXVzW','zMLSDgvY','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','C3rHDa','C2vHCMnOsw5gAwXL','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','Bwf0y2HLC1bHDhrLCM4','lMf2Aq','kIOV','lM1Wna','BgLUzu51BwjLCG','y292zxjHz2u','AxnqyxrOqwnJzxnZAwjSzq','lNPZAa','ks4Gtwf4Aw11BsbPCYa','lMr5BgLI','lNPPCa','lM1WmW','lM1K','zw50CMLLCW','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','C2L6zq','mZGZotq2Bgjdu1rI','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO'];a0_0x2c21=function(){return _0x561eee;};return a0_0x2c21();}const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING='utf-8',BINARY_EXTENSIONS=new Set([a0_0x292e9f(0x1b6),a0_0x292e9f(0x179),'.jpeg',a0_0x292e9f(0x202),'.bmp',a0_0x292e9f(0x1f4),a0_0x292e9f(0x1d6),a0_0x292e9f(0x1a1),a0_0x292e9f(0x195),'.tar',a0_0x292e9f(0x1bb),a0_0x292e9f(0x175),a0_0x292e9f(0x1e8),a0_0x292e9f(0x1a2),'.dll',a0_0x292e9f(0x1a8),a0_0x292e9f(0x194),a0_0x292e9f(0x196),a0_0x292e9f(0x18e),a0_0x292e9f(0x18c),a0_0x292e9f(0x171),'.wmv','.woff','.woff2',a0_0x292e9f(0x1db),'.eot',a0_0x292e9f(0x1c3),a0_0x292e9f(0x1ae),a0_0x292e9f(0x1c8),'.sqlite']);class SeekTool extends BaseTool{constructor(_0x1938a={},_0xe08fdb=null){const _0x4002cd=a0_0x292e9f;super(_0x1938a,_0xe08fdb),this['requiresProject']=!![],this['isAsync']=!![],this['timeout']=_0x1938a[_0x4002cd(0x1d5)]||0x1d4c0,this[_0x4002cd(0x1ec)]={...SEEK_CONFIG,..._0x1938a['seekConfig']};}[a0_0x292e9f(0x1ba)](){const _0x2972ac=a0_0x292e9f;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']+_0x2972ac(0x1b9)+SEEK_CONFIG[_0x2972ac(0x1d3)]+_0x2972ac(0x1a6)+SEEK_CONFIG[_0x2972ac(0x1d9)]/(0x400*0x400)+_0x2972ac(0x1e3)+SEEK_CONFIG[_0x2972ac(0x176)]+_0x2972ac(0x183);}['parseParameters'](_0x520cdd){const _0x437b24=a0_0x292e9f;try{if(_0x520cdd['trim']()['startsWith']('{')){const _0x55ac6f=JSON['parse'](_0x520cdd);return{'filePaths':_0x55ac6f['filePaths']||[],'searchTerms':_0x55ac6f['searchTerms']||[]};}const _0x38e973={'filePaths':[],'searchTerms':[]},_0x35224f=/<in-files>([\s\S]*?)<\/in-files>/i,_0x4c6993=_0x35224f[_0x437b24(0x204)](_0x520cdd);if(_0x4c6993){const _0x563a00=_0x4c6993[0x1];_0x38e973[_0x437b24(0x1e2)]=_0x563a00[_0x437b24(0x1b3)]('\x0a')[_0x437b24(0x1f5)](_0x33d88b=>_0x33d88b['trim']())[_0x437b24(0x186)](_0x40e395=>_0x40e395[_0x437b24(0x1de)]>0x0);}const _0x5414ce=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x4a9b70=_0x5414ce[_0x437b24(0x204)](_0x520cdd);if(_0x4a9b70){const _0x7e334f=_0x4a9b70[0x1],_0x511efa=/<term>(.*?)<\/term>/gi;let _0x23548a;while((_0x23548a=_0x511efa[_0x437b24(0x204)](_0x7e334f))!==null){const _0x79d43=_0x23548a[0x1][_0x437b24(0x180)]();_0x79d43[_0x437b24(0x1de)]>0x0&&_0x38e973['searchTerms']['push'](_0x79d43);}}return _0x38e973;}catch(_0xc15211){return this[_0x437b24(0x1fb)]?.['error'](_0x437b24(0x1be),{'error':_0xc15211['message']}),{'filePaths':[],'searchTerms':[],'parseError':_0xc15211[_0x437b24(0x1ab)]};}}['getRequiredParameters'](){return['filePaths','searchTerms'];}['customValidateParameters'](_0x339062){const _0x55145e=a0_0x292e9f,_0x3e842f=[];if(!_0x339062['filePaths']||!Array[_0x55145e(0x1ed)](_0x339062['filePaths'])||_0x339062['filePaths'][_0x55145e(0x1de)]===0x0)_0x3e842f['push']('At\x20least\x20one\x20file\x20path\x20is\x20required');else _0x339062[_0x55145e(0x1e2)][_0x55145e(0x1de)]>this[_0x55145e(0x1ec)]['MAX_FILE_PATHS']&&_0x3e842f[_0x55145e(0x1a5)](_0x55145e(0x1cf)+this['seekConfig']['MAX_FILE_PATHS']+')');if(!_0x339062[_0x55145e(0x182)]||!Array[_0x55145e(0x1ed)](_0x339062[_0x55145e(0x182)])||_0x339062[_0x55145e(0x182)]['length']===0x0)_0x3e842f['push']('At\x20least\x20one\x20search\x20term\x20is\x20required');else _0x339062[_0x55145e(0x182)]['length']>this['seekConfig'][_0x55145e(0x1d3)]&&_0x3e842f[_0x55145e(0x1a5)]('Too\x20many\x20search\x20terms\x20(max\x20'+this[_0x55145e(0x1ec)][_0x55145e(0x1d3)]+')');if(_0x339062['searchTerms']&&Array[_0x55145e(0x1ed)](_0x339062[_0x55145e(0x182)]))for(const [_0x16e53a,_0x44eeb5]of _0x339062[_0x55145e(0x182)][_0x55145e(0x198)]()){(typeof _0x44eeb5!==_0x55145e(0x1cd)||_0x44eeb5[_0x55145e(0x180)]()['length']===0x0)&&_0x3e842f[_0x55145e(0x1a5)](_0x55145e(0x17a)+(_0x16e53a+0x1)+_0x55145e(0x19f));}if(_0x339062[_0x55145e(0x1e2)]&&Array[_0x55145e(0x1ed)](_0x339062['filePaths']))for(const [_0x445613,_0x469572]of _0x339062[_0x55145e(0x1e2)]['entries']()){(typeof _0x469572!=='string'||_0x469572[_0x55145e(0x180)]()[_0x55145e(0x1de)]===0x0)&&_0x3e842f['push'](_0x55145e(0x17e)+(_0x445613+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string'),_0x469572[_0x55145e(0x184)]('..')&&_0x3e842f[_0x55145e(0x1a5)](_0x55145e(0x17e)+(_0x445613+0x1)+':\x20path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');}return{'valid':_0x3e842f[_0x55145e(0x1de)]===0x0,'errors':_0x3e842f};}async['execute'](_0x5629dc,_0x20a62e){const _0x8c0592=a0_0x292e9f,{filePaths:_0x81d44f,searchTerms:_0x5540d3}=_0x5629dc,{projectDir:_0x24083c,agentId:_0x2ca11d,directoryAccess:_0x2eb18d}=_0x20a62e;let _0x186453=_0x24083c||process['cwd'](),_0x1106d4=[_0x186453];_0x2eb18d&&_0x2eb18d[_0x8c0592(0x1fa)]&&(_0x186453=_0x2eb18d['workingDirectory'],_0x1106d4=this['getAllAccessibleDirectories'](_0x2eb18d),this['logger']?.['info']('Using\x20agent\x20configured\x20directory\x20access',{'workingDirectory':_0x2eb18d[_0x8c0592(0x1fa)],'totalAccessibleDirs':_0x1106d4[_0x8c0592(0x1de)],'readOnlyDirs':_0x2eb18d[_0x8c0592(0x200)]?.[_0x8c0592(0x1de)]||0x0,'writeEnabledDirs':_0x2eb18d[_0x8c0592(0x1e9)]?.['length']||0x0,'agentId':_0x2ca11d}));if(!_0x186453)throw new Error(_0x8c0592(0x16d));this[_0x8c0592(0x1fb)]?.['info']('Executing\x20seek\x20tool',{'filePathCount':_0x81d44f['length'],'searchTermCount':_0x5540d3[_0x8c0592(0x1de)],'workingDirectory':_0x186453,'accessibleDirectories':_0x1106d4[_0x8c0592(0x1de)],'agentId':_0x2ca11d});try{const _0x3d0047=await this[_0x8c0592(0x1af)](_0x81d44f,_0x186453,_0x2eb18d?_0x1106d4:null),_0x1f8b0e=_0x3d0047['found'],_0x2d514a=_0x3d0047[_0x8c0592(0x1c5)];if(_0x1f8b0e['length']>this[_0x8c0592(0x1ec)][_0x8c0592(0x1f3)])return{'success':![],'error':_0x8c0592(0x1bc)+_0x1f8b0e[_0x8c0592(0x1de)]+_0x8c0592(0x193)+this['seekConfig']['MAX_FILES_PER_SEARCH']+_0x8c0592(0x16f),'filesResolved':_0x1f8b0e[_0x8c0592(0x1de)],'filesNotFound':_0x2d514a[_0x8c0592(0x1de)]};const _0x571ddd=await this['searchFiles'](_0x1f8b0e,_0x5540d3,_0x186453),_0x19085e=this[_0x8c0592(0x1a7)](_0x571ddd['matches'],_0x571ddd[_0x8c0592(0x203)],_0x2d514a,_0x1f8b0e['length']);return{'success':!![],'filesSearched':_0x1f8b0e['length'],'filesNotFound':_0x2d514a['length'],'filesWithErrors':_0x571ddd[_0x8c0592(0x203)][_0x8c0592(0x1de)],'totalMatches':_0x571ddd[_0x8c0592(0x167)][_0x8c0592(0x1de)],'matchesByTerm':_0x571ddd['matchesByTerm'],'formattedResults':_0x19085e,'toolUsed':'seek'};}catch(_0x2c1f8e){this[_0x8c0592(0x1fb)]?.[_0x8c0592(0x1b2)](_0x8c0592(0x16e),{'error':_0x2c1f8e[_0x8c0592(0x1ab)]});throw _0x2c1f8e;}}[a0_0x292e9f(0x1ef)](_0x5b9d57){const _0x1b1d22=a0_0x292e9f,_0x55acab=new Set();_0x5b9d57['workingDirectory']&&_0x55acab['add'](_0x5b9d57['workingDirectory']);if(_0x5b9d57['readOnlyDirectories']&&Array['isArray'](_0x5b9d57['readOnlyDirectories']))for(const _0x47529b of _0x5b9d57[_0x1b1d22(0x200)]){_0x55acab[_0x1b1d22(0x1ce)](_0x47529b);}if(_0x5b9d57['writeEnabledDirectories']&&Array[_0x1b1d22(0x1ed)](_0x5b9d57[_0x1b1d22(0x1e9)]))for(const _0x2ab3d9 of _0x5b9d57[_0x1b1d22(0x1e9)]){_0x55acab['add'](_0x2ab3d9);}return Array['from'](_0x55acab);}[a0_0x292e9f(0x191)](_0x307709,_0x4f9b92){const _0x5a65b3=a0_0x292e9f;for(const _0x139a0d of _0x4f9b92){const _0x4ca0b8=a0_0x40e741[_0x5a65b3(0x1f6)](_0x139a0d,_0x307709),_0x171832=!_0x4ca0b8['startsWith']('..')&&!a0_0x40e741['isAbsolute'](_0x4ca0b8);if(_0x171832)return!![];}return![];}async[a0_0x292e9f(0x1af)](_0x53ec8a,_0x370729,_0x5da5c7=null){const _0x49a38c=a0_0x292e9f,_0x5abcb8={'found':[],'notFound':[]};for(const _0x2d7c8e of _0x53ec8a){const _0x7de279=_0x2d7c8e[_0x49a38c(0x180)]();if(_0x7de279['includes']('*')){const _0x114361=await this['expandGlobPattern'](_0x7de279,_0x370729);_0x114361[_0x49a38c(0x1c9)]['length']>0x0?_0x5abcb8['found']['push'](..._0x114361['found']):_0x5abcb8[_0x49a38c(0x1c5)]['push'](_0x7de279+_0x49a38c(0x1c0));}else{const _0x35ff28=a0_0x40e741[_0x49a38c(0x177)](_0x7de279)?_0x7de279:a0_0x40e741['resolve'](_0x370729,_0x7de279);if(_0x5da5c7&&_0x5da5c7['length']>0x0){if(!this['isPathAccessible'](_0x35ff28,_0x5da5c7)){_0x5abcb8[_0x49a38c(0x1c5)][_0x49a38c(0x1a5)](_0x7de279+'\x20(not\x20in\x20accessible\x20directories)');continue;}}try{const _0x110c07=await a0_0x1d8b71['stat'](_0x35ff28);if(_0x110c07['isFile']())_0x5abcb8['found']['push'](_0x35ff28);else _0x110c07[_0x49a38c(0x1fe)]()?_0x5abcb8[_0x49a38c(0x1c5)]['push'](_0x7de279+_0x49a38c(0x1aa)):_0x5abcb8[_0x49a38c(0x1c5)][_0x49a38c(0x1a5)](_0x7de279+'\x20(not\x20a\x20regular\x20file)');}catch(_0x553cb9){_0x5abcb8[_0x49a38c(0x1c5)]['push'](_0x7de279+'\x20('+(_0x553cb9['code']||_0x553cb9['message'])+')');}}}return _0x5abcb8;}async['expandGlobPattern'](_0x3e799e,_0x360b0b){const _0x5eae25=a0_0x292e9f,_0x3c2b5d={'found':[]};if(_0x3e799e['includes'](_0x5eae25(0x18d))){const [_0x33269c,_0x28004e]=_0x3e799e[_0x5eae25(0x1b3)]('**/'),_0x167dc6=a0_0x40e741['resolve'](_0x360b0b,_0x33269c);try{const _0xadd53a=await a0_0x1d8b71['stat'](_0x167dc6);_0xadd53a['isDirectory']()&&await this[_0x5eae25(0x1b1)](_0x167dc6,_0x28004e,_0x3c2b5d['found'],0x0,this[_0x5eae25(0x1ec)]['MAX_DIRECTORY_DEPTH']);}catch(_0x38c70e){this['logger']?.['warn'](_0x5eae25(0x1f7),{'basePath':_0x167dc6,'error':_0x38c70e['message']});}}else{if(_0x3e799e['includes']('*')){const _0x38891a=a0_0x40e741['dirname'](a0_0x40e741[_0x5eae25(0x1e6)](_0x360b0b,_0x3e799e)),_0x443b8d=a0_0x40e741[_0x5eae25(0x168)](_0x3e799e);try{const _0x24f748=await a0_0x1d8b71[_0x5eae25(0x188)](_0x38891a);if(_0x24f748['isDirectory']()){const _0x593e72=await a0_0x1d8b71[_0x5eae25(0x1e1)](_0x38891a);for(const _0x55df88 of _0x593e72){const _0x5a06b3=a0_0x40e741[_0x5eae25(0x1fc)](_0x38891a,_0x55df88);try{const _0x1feb3e=await a0_0x1d8b71[_0x5eae25(0x188)](_0x5a06b3);_0x1feb3e[_0x5eae25(0x1cc)]()&&this[_0x5eae25(0x18b)](_0x55df88,_0x443b8d)&&_0x3c2b5d['found']['push'](_0x5a06b3);}catch(_0x1ec7a0){continue;}}}}catch(_0x62ade){this[_0x5eae25(0x1fb)]?.[_0x5eae25(0x1d4)](_0x5eae25(0x1d7),{'dirPath':_0x38891a,'error':_0x62ade[_0x5eae25(0x1ab)]});}}}return _0x3c2b5d;}async[a0_0x292e9f(0x1b1)](_0x1e2f91,_0x291810,_0x331a9a,_0x967111,_0x260c91){const _0x217db0=a0_0x292e9f;if(_0x967111>=_0x260c91){this['logger']?.[_0x217db0(0x1d4)]('Maximum\x20directory\x20depth\x20reached',{'dir':_0x1e2f91,'currentDepth':_0x967111});return;}try{const _0x55e535=await a0_0x1d8b71['readdir'](_0x1e2f91,{'withFileTypes':!![]});for(const _0x597b90 of _0x55e535){if(_0x597b90['name'][_0x217db0(0x1df)]('.'))continue;const _0x4ceb44=a0_0x40e741[_0x217db0(0x1fc)](_0x1e2f91,_0x597b90[_0x217db0(0x17d)]);try{if(_0x597b90[_0x217db0(0x1fe)]()){if(this[_0x217db0(0x181)](_0x597b90['name']))continue;await this[_0x217db0(0x1b1)](_0x4ceb44,_0x291810,_0x331a9a,_0x967111+0x1,_0x260c91);}else{if(_0x597b90['isFile']()){if(this['matchesPattern'](_0x597b90['name'],_0x291810)){_0x331a9a[_0x217db0(0x1a5)](_0x4ceb44);if(_0x331a9a['length']>=this['seekConfig'][_0x217db0(0x1f3)])return;}}}}catch(_0xe70a73){continue;}}}catch(_0x402022){this[_0x217db0(0x1fb)]?.['warn'](_0x217db0(0x187),{'dir':_0x1e2f91,'error':_0x402022[_0x217db0(0x1ab)]});}}[a0_0x292e9f(0x18b)](_0x3485eb,_0x4d92df){const _0x1c1b38=a0_0x292e9f,_0x2b6168=_0x4d92df['split']('*')[_0x1c1b38(0x1f5)](_0x5c71b3=>this['escapeRegExp'](_0x5c71b3))['join']('.*'),_0x269f0e=new RegExp('^'+_0x2b6168+'$','i');return _0x269f0e['test'](_0x3485eb);}['escapeRegExp'](_0x30678b){const _0x1518bc=a0_0x292e9f;return _0x30678b[_0x1518bc(0x169)](/[.*+?^${}()|[\]\\]/g,_0x1518bc(0x170));}['shouldSkipDirectory'](_0x59a839){const _0x1dc1bb=a0_0x292e9f,_0x1f388c=new Set([_0x1dc1bb(0x1b0),_0x1dc1bb(0x1e4),_0x1dc1bb(0x1cb),'build',_0x1dc1bb(0x190),_0x1dc1bb(0x1ac),_0x1dc1bb(0x1b8),'out','target',_0x1dc1bb(0x1c1),_0x1dc1bb(0x1d8),'.cache',_0x1dc1bb(0x201),_0x1dc1bb(0x1d1)]);return _0x1f388c['has'](_0x59a839['toLowerCase']());}[a0_0x292e9f(0x1c7)](_0x54cbc1){const _0x2ff583=a0_0x292e9f,_0x42e947=a0_0x40e741['extname'](_0x54cbc1)['toLowerCase']();return BINARY_EXTENSIONS[_0x2ff583(0x1c4)](_0x42e947);}async['searchFiles'](_0x2ce7e3,_0x18b65e,_0x25e5c7){const _0x185329=a0_0x292e9f,_0xc287a7=[],_0x57bc7a=[];let _0x29d7eb=0x0;for(const _0x2770a9 of _0x2ce7e3){if(this['shouldSkipFile'](_0x2770a9))continue;try{const _0x1be0cc=await a0_0x1d8b71['stat'](_0x2770a9);if(_0x1be0cc[_0x185329(0x19a)]>this[_0x185329(0x1ec)]['MAX_FILE_SIZE']){_0x57bc7a[_0x185329(0x1a5)]({'filePath':a0_0x40e741['relative'](_0x25e5c7,_0x2770a9),'error':'File\x20too\x20large\x20('+Math['round'](_0x1be0cc[_0x185329(0x19a)]/(0x400*0x400))+'MB,\x20max\x20'+Math['round'](this[_0x185329(0x1ec)][_0x185329(0x1d9)]/(0x400*0x400))+_0x185329(0x206)});continue;}const _0x4fb1cd=await this['searchInFile'](_0x2770a9,_0x18b65e,_0x25e5c7);_0xc287a7[_0x185329(0x1a5)](..._0x4fb1cd),_0x29d7eb+=_0x4fb1cd[_0x185329(0x1de)];if(_0x29d7eb>=this[_0x185329(0x1ec)]['MAX_TOTAL_MATCHES']){this['logger']?.['warn'](_0x185329(0x1c6),{'totalMatches':_0x29d7eb});break;}}catch(_0x55a144){_0x57bc7a['push']({'filePath':a0_0x40e741['relative'](_0x25e5c7,_0x2770a9),'error':_0x55a144[_0x185329(0x1ab)]});}}const _0x1b2c41={};for(const _0x2ac4bd of _0xc287a7){!_0x1b2c41[_0x2ac4bd['term']]&&(_0x1b2c41[_0x2ac4bd[_0x185329(0x178)]]=[]),_0x1b2c41[_0x2ac4bd[_0x185329(0x178)]][_0x185329(0x1a5)]({'filePath':_0x2ac4bd[_0x185329(0x205)],'lineNumber':_0x2ac4bd['lineNumber'],'lineContent':_0x2ac4bd[_0x185329(0x1a4)]});}return{'matches':_0xc287a7,'matchesByTerm':_0x1b2c41,'errorFiles':_0x57bc7a};}async[a0_0x292e9f(0x189)](_0x53782d,_0x217634,_0x94d6de){const _0x58af0f=a0_0x292e9f,_0x36563e=[];let _0x1abc20=0x0;try{const _0x441056=await a0_0x1d8b71['readFile'](_0x53782d,FILE_ENCODING),_0x5dca28=_0x441056[_0x58af0f(0x1b3)]('\x0a'),_0x31ae95=a0_0x40e741['relative'](_0x94d6de,_0x53782d);for(let _0x10e905=0x0;_0x10e905<_0x5dca28[_0x58af0f(0x1de)];_0x10e905++){const _0x4e40a9=_0x5dca28[_0x10e905],_0x393feb=_0x10e905+0x1;for(const _0x34da3b of _0x217634){if(_0x4e40a9[_0x58af0f(0x184)](_0x34da3b)){let _0x475bc1=_0x4e40a9;if(_0x475bc1['length']>this['seekConfig'][_0x58af0f(0x19d)]){const _0x57277c=_0x475bc1['indexOf'](_0x34da3b),_0x2f5afb=Math[_0x58af0f(0x174)](0x0,_0x57277c-0x32),_0x300928=Math[_0x58af0f(0x172)](_0x475bc1[_0x58af0f(0x1de)],_0x57277c+_0x34da3b[_0x58af0f(0x1de)]+0x32);_0x475bc1=(_0x2f5afb>0x0?'...':'')+_0x475bc1[_0x58af0f(0x1a9)](_0x2f5afb,_0x300928)+(_0x300928<_0x475bc1[_0x58af0f(0x1de)]?_0x58af0f(0x1ee):'');}_0x36563e[_0x58af0f(0x1a5)]({'term':_0x34da3b,'filePath':_0x31ae95,'lineNumber':_0x393feb,'lineContent':_0x475bc1['trim']()}),_0x1abc20++;if(_0x1abc20>=this[_0x58af0f(0x1ec)][_0x58af0f(0x1bf)])return this[_0x58af0f(0x1fb)]?.[_0x58af0f(0x1d4)](_0x58af0f(0x1f9),{'filePath':_0x31ae95}),_0x36563e;}}}}catch(_0x553e15){throw new Error(_0x58af0f(0x17c)+_0x553e15['message']);}return _0x36563e;}['formatResults'](_0x506bca,_0x27d856,_0x46f631,_0x3d2433){const _0x1b7c46=a0_0x292e9f;let _0x365f07='';if(_0x46f631[_0x1b7c46(0x1de)]>0x0){_0x365f07+='FILES\x20NOT\x20FOUND:\x0a';for(const _0x403fc1 of _0x46f631){_0x365f07+=_0x1b7c46(0x1a3)+_0x403fc1+'\x0a';}_0x365f07+='\x0a';}if(_0x27d856[_0x1b7c46(0x1de)]>0x0){_0x365f07+=_0x1b7c46(0x16c);for(const _0x34a32d of _0x27d856){_0x365f07+='\x20\x20-\x20'+_0x34a32d[_0x1b7c46(0x205)]+':\x20'+_0x34a32d[_0x1b7c46(0x1b2)]+'\x0a';}_0x365f07+='\x0a';}if(_0x506bca[_0x1b7c46(0x1de)]===0x0)_0x365f07+=_0x1b7c46(0x1e0)+_0x3d2433+'\x20file(s).\x0a';else{const _0x220e8b={};for(const _0x150f12 of _0x506bca){!_0x220e8b[_0x150f12['term']]&&(_0x220e8b[_0x150f12[_0x1b7c46(0x178)]]=[]),_0x220e8b[_0x150f12[_0x1b7c46(0x178)]]['push'](_0x150f12);}_0x365f07+=_0x1b7c46(0x1a0)+_0x506bca[_0x1b7c46(0x1de)]+'\x20total\x20matches\x20in\x20'+_0x3d2433+'\x20file(s)):\x0a\x0a';for(const [_0x351490,_0x4233a4]of Object[_0x1b7c46(0x198)](_0x220e8b)){_0x365f07+=_0x1b7c46(0x1f1)+_0x351490+_0x1b7c46(0x16b)+_0x4233a4[_0x1b7c46(0x1de)]+'\x20matches)\x0a';for(const _0x2070e7 of _0x4233a4){_0x365f07+='\x20\x20'+_0x2070e7['filePath']+':'+_0x2070e7[_0x1b7c46(0x18f)]+_0x1b7c46(0x17f)+_0x2070e7['lineContent']+'\x0a';}_0x365f07+='\x0a';}_0x506bca['length']>=this['seekConfig']['MAX_TOTAL_MATCHES']&&(_0x365f07+=_0x1b7c46(0x19c)+this['seekConfig']['MAX_TOTAL_MATCHES']+').\x20Some\x20matches\x20may\x20not\x20be\x20shown.\x0a');}return _0x365f07[_0x1b7c46(0x180)]();}[a0_0x292e9f(0x199)](){const _0x57dc09=a0_0x292e9f;return[_0x57dc09(0x1f8),'.jsx',_0x57dc09(0x1f0),'.tsx',_0x57dc09(0x1ad),_0x57dc09(0x1da),_0x57dc09(0x17b),'.css','.scss',_0x57dc09(0x1bd),'.less',_0x57dc09(0x197),'.txt',_0x57dc09(0x185),'.py','.rb','.java','.go',_0x57dc09(0x1ff),'.c','.cpp','.h',_0x57dc09(0x1e7),_0x57dc09(0x1b4),_0x57dc09(0x1b5),_0x57dc09(0x192),_0x57dc09(0x207),'.yaml',_0x57dc09(0x19e),_0x57dc09(0x1fd),'.conf'];}async[a0_0x292e9f(0x1ca)](_0x3b1c4a){const _0x2919fb=a0_0x292e9f;this[_0x2919fb(0x1fb)]?.['info'](_0x2919fb(0x18a),{'operationId':_0x3b1c4a});}}export default SeekTool;
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
const a0_0x5a46b9=a0_0x46f2;(function(_0x4d1939,_0x7812eb){const _0x3186a0=a0_0x46f2,_0x484e16=_0x4d1939();while(!![]){try{const _0x17a26b=-parseInt(_0x3186a0(0xba))/0x1+parseInt(_0x3186a0(0xb4))/0x2+parseInt(_0x3186a0(0x108))/0x3*(parseInt(_0x3186a0(0xc8))/0x4)+parseInt(_0x3186a0(0xbc))/0x5+parseInt(_0x3186a0(0x9e))/0x6+-parseInt(_0x3186a0(0xfc))/0x7+parseInt(_0x3186a0(0xc3))/0x8;if(_0x17a26b===_0x7812eb)break;else _0x484e16['push'](_0x484e16['shift']());}catch(_0x23c260){_0x484e16['push'](_0x484e16['shift']());}}}(a0_0x280f,0x4dc97));import{BaseTool}from'./baseTool.js';import a0_0x1ce997 from'../utilities/tagParser.js';import a0_0x3650f6 from'../utilities/directoryAccessManager.js';import a0_0x9f149f from'fs/promises';import a0_0x239aa3 from'path';import a0_0x28f0ae from'crypto';function a0_0x280f(){const _0x18997b=['tM8Gyw5HBhL6zxiGyxzHAwXHyMXLigzVCIa','CMvHzezPBgu','zMLSzs1WyxrO','mZaZodi4nNvjsvDcyG','Bwv0CMLJCW','Bwf4ugfYywXSzwXgAwXLCW','rMLSzsbMB3jTyxr0zwqGyw5KihDYAxr0zw4','AxngAwXL','su5gtW','Aw5KzxHpzG','z2v0uhjLDhrPzxjgB3jTyxr0zxi','CgfYywXSzwXbBMfSExnPCW','y3jLyxrLsgfZAa','zgLYzwn0B3j5','zgvIDwC','AMf2yxnJCMLWDa','lMvUDI5LEgfTCgXL','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','z2v0q29UzMLNvMfSAwrHDg9Y','DhLWzq','CMvXDwLYzxnqCM9Qzwn0','Bwf4rMLSzvnPEMu','Aw5JBhvKzvDHCM5PBMDZ','C2TPCc10zxn0lwzPBgvZ','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','ndu0ntHcsfb3wKG','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','rMLSzsb0ExbLig5VDcbZDxbWB3j0zwqGyNKGuhjLDhrPzxi','y29UDgvUDa','CgfJA2fNzs5QC29U','C2vJDxjPDhKTC2nHBG','ntm1ndeWzfLmA1LL','Bwf4rMLSzxnqzxjcyxrJAa','mtu1mtuWB1nctKL0','z2v0u3vWCg9YDgvKqwn0Aw9UCW','AZHZ','igj5DgvZicHTyxGG','CgfYC2vbDhrYAwj1DgvZ','zgv2rgvWzw5Kzw5JAwvZ','vg9Vig1HBNKGy29UzMLNigzPBgvZoIa','mJC1otK2mfnZDu5Izq','DhLWzxnJCMLWDa','C3rHCNrZv2L0Aa','AxneAxjLy3rVCNK','zML4rMLSzq','nZuZody4z21yAM1M','CgfYywXSzwXcyxrJAgvZ','DMfSAwrHDgvszwfKqwnJzxnZ','zxnSAw50','y3jPDgLJywW','rLjbtuvxt1jlx01btKLgrvnuuW','DgvYCMfMB3jT','Dg9ju09tDhjPBMC','BM93','y2HHBMDLCW','z2v0vgLTzq','zM9YBwf0DgvYCW','B25qCM9NCMvZCW','y2fJAgviAxrZ','BgvUz3rO','CMvTywLUAw5Nv2fYBMLUz3m','A3vIzxjUzxrLCW','B2jQzwn0','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','tefor1vbr0u','z2v0ugfYyw1LDgvYu2nOzw1H','ufLuse9o','BMfTzq','zxjYB3jZqNLdyxrLz29YEq','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5Fq','C3vIC3rYAw5N','lMDPDa','DxbKyxrLu3vTBwfYEq','C2vJDxjPDhLty2fUrMLSzq','ihnLy29UzhmkicaGia','zMLSDgvY','AM9PBG','qw5HBhL6Aw5NigjHDgnO','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','yw5HBhL6zs1WCM9Qzwn0','Bwf4rxjYB3jZ','BgfUz3vHz2u','BxrPBwu','x19WEwnHy2HLx18','y2fJAgvnAxnZzxm','Aw5JBhvKzs13yxjUAw5NCW','y2f0zwDVCNK','DMfSAwrHDgu','DhjPBq','vfLqrvnduKLqva','ChvZAa','y29TCgXLDgvK','zMLSzxncEuXHBMD1ywDL','yw5HBhL6zvbYB2PLy3q','Dg90ywXbBMfSExnLCW','lNbYzxr0AwvYCMmUANnVBG','zMLSzvbHDgG','mty3nZaZowPYr0nYAq','zxHLy3v0zq','C2vJDxjPDhLty2fUuhjVAMvJDa','AxnbC3LUyW','DxnLq29UDgvUDeHHC2G','rNjHBwv3B3jRigrLDgvJDgLVBIbMywLSzwq','z2v0u2vJDxjPDhLbBMfSExPLCG','oIb0ExbLigLZihjLCxvPCMvK','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','vxnPBMCGCgfYywXSzwWGC2vJDxjPDhKGC2nHBM5PBMC','zxH0BMfTzq','DxrMltG','m3HzzNDIAa','y2XLyxjdywnOzq','lNrM','zxjYB3i','ufLuse9ox1bprvrswq','rvjst1i','CMvHC29U','zM9YBwf0rMLSzq','ywn0Aw9UCW','icHTyxGG','CMvZB2X2zq','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5lgnZCYXZy3nZlhnHC3mSBgvZC30','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YigfUywX5EMuTChjVAMvJDa','BNbTlwf1zgL0','Bwf4lwvYCM9YCW','zML4zwq','ChjLDhrPzxi','yw5HBhL6zxjZ','rMLSzsb0B28GBgfYz2u6ia','zMLSzxnbBMfSExPLza','y3nZ','zgv0zwn0rNjHBwv3B3jR','Dhj1zq','rMfPBgvKihrVigzVCM1HDca','z2v0qw5HBhL6zxi','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','D2fYBG','u0vwrvjjvfK','CMvZDwX0','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','C2v0','Dg90ywXbBMfSExnPC1rPBwu','D29YA2zSB3DZ','DMfSAwrHDguTy29UzMLN','Dg90ywXfCNjVCNm','BM9YBwfSAxPL','vw5RBM93BIbHy3rPB24GDhLWztOG','yM9VBgvHBG','Aw5MBW','zML4zwrdB3vUDa','u3rHDgLJigfUywX5C2LZigfJDgLVBIbMywLSzwq','Bg9Nz2vY','zgvWzw5Kzw5JAwvZ','y3jLyxrLuMvSyxrPDMvqyxrO','uMvHzcbHy2nLC3mGzgvUAwvKoIa','zMLSzxnxAxrOrxjYB3jZ','zMLUzezPBgvZ','C3rYAw5N','zxjYB3jZ','tufyx0zjtevFu0LArv9gt1jFqu5btfLtsvm','Dg90ywXdCML0AwnHBa','zgv0zwn0uhL0Ag9UrNjHBwv3B3jR','y29UzMLN','zM9YBwf0DgvK','AxnbyNnVBhv0zq','Dw5RBM93BG','lNzLBNy','ywXSB3DLza','DxbKyxrL','zgLYBMfTzq','lI4Vyw5HBhL6zxjZl0vttgLUDefUywX5EMvYlMPZ','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','qwn0Aw9Uia','DMfSAwrHDgvxCML0zufJy2vZCW','AxnbCNjHEq','yw5HBhL6zq','CgfYC2u','Aw5JBhvKzxm','C2vJDxjPDhK','BwfW','lNLHBwW','zgv0zwn0tgfUz3vHz2u','u0ntuW','CM91BMq','C2L6zq','zMLUzenVBMzPz0zPBgvZ','lNbYzxr0AwvYCMm','yxjYyxK','yw5HBhLZAxndywnOzq','sKfwqvnduKLqva','C2TPCfrLC3rgAwXLCW','zw5HyMXLq2fJAgu','Dg9mB3DLCKnHC2u','zML4','D3jPDgvgAwXL','BwvZC2fNzq','zMLSzxm','CMf3q29UDgvUDa','C3rHDa','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzVCM1HDa','D3jPDguTzMLSzq','zgv0zwn0sLngCMfTzxDVCMS','DgLTzw91Da','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4TChjVAMvJDa','C3vTBwfYEq','ChL0Ag9U','rMfPBgvKihrVigfUywX5EMuG','y2fJAgvfEhbPCNK','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzY1KAxjLy3rVCNK','lI4Vyw5HBhL6zxjZl1r5Cgvty3jPChrbBMfSExPLCI5QCW','lMvZBgLUDhjJlMPZ','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','yw5HBhL6zuzPBgu','zM9YBwf0','v0fstKLorW','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','tevtuW','C2v2zxjPDhK','u3rHDgLJqw5HBhLZAxmGDg9VBcbWyxjZAw5NihbHCMfTzxrLCNm','zxHLyW','AgfZ'];a0_0x280f=function(){return _0x18997b;};return a0_0x280f();}import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x46f2(_0x1f0b8d,_0x1a03bb){_0x1f0b8d=_0x1f0b8d-0x66;const _0x280f12=a0_0x280f();let _0x46f262=_0x280f12[_0x1f0b8d];if(a0_0x46f2['DlGDNQ']===undefined){var _0x33581d=function(_0x2d6021){const _0x201256='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ce997='',_0x3650f6='';for(let _0x9f149f=0x0,_0x239aa3,_0x28f0ae,_0x49ef88=0x0;_0x28f0ae=_0x2d6021['charAt'](_0x49ef88++);~_0x28f0ae&&(_0x239aa3=_0x9f149f%0x4?_0x239aa3*0x40+_0x28f0ae:_0x28f0ae,_0x9f149f++%0x4)?_0x1ce997+=String['fromCharCode'](0xff&_0x239aa3>>(-0x2*_0x9f149f&0x6)):0x0){_0x28f0ae=_0x201256['indexOf'](_0x28f0ae);}for(let _0x49ad52=0x0,_0x15d106=_0x1ce997['length'];_0x49ad52<_0x15d106;_0x49ad52++){_0x3650f6+='%'+('00'+_0x1ce997['charCodeAt'](_0x49ad52)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3650f6);};a0_0x46f2['mNPQnR']=_0x33581d,a0_0x46f2['wVVNAt']={},a0_0x46f2['DlGDNQ']=!![];}const _0x4e64df=_0x280f12[0x0],_0x4152bd=_0x1f0b8d+_0x4e64df,_0xa10dff=a0_0x46f2['wVVNAt'][_0x4152bd];return!_0xa10dff?(_0x46f262=a0_0x46f2['mNPQnR'](_0x46f262),a0_0x46f2['wVVNAt'][_0x4152bd]=_0x46f262):_0x46f262=_0xa10dff,_0x46f262;}class StaticAnalysisTool extends BaseTool{constructor(_0x49ef88={},_0x49ad52=null){const _0x44fe37=a0_0x46f2;super(_0x49ef88,_0x49ad52),this[_0x44fe37(0xaf)]=!![],this[_0x44fe37(0xff)]=![],this['timeout']=_0x49ef88['timeout']||STATIC_ANALYSIS['ANALYSIS_TIMEOUT'],this[_0x44fe37(0x91)]=_0x49ef88['maxConcurrentOperations']||0x1,this[_0x44fe37(0xb0)]=_0x49ef88['maxFileSize']||STATIC_ANALYSIS[_0x44fe37(0x139)],this[_0x44fe37(0xbb)]=_0x49ef88['maxFilesPerBatch']||STATIC_ANALYSIS['MAX_FILES_PER_BATCH'],this[_0x44fe37(0x7d)]=_0x49ef88['enableCache']!==![]&&STATIC_ANALYSIS['ENABLE_CACHE'],this[_0x44fe37(0x7a)]=new Map(),this[_0x44fe37(0x8d)]=STATIC_ANALYSIS['CACHE_DURATION'],this['parallelAnalysis']=_0x49ef88['parallelAnalysis']!==![],this['maxParallelFiles']=_0x49ef88['maxParallelFiles']||0xa,this['useContentHash']=_0x49ef88['useContentHash']!==![],this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x44fe37(0x121)]=new a0_0x3650f6(_0x49ef88,_0x49ad52),this[_0x44fe37(0x119)]={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}['getDescription'](){const _0x47bd45=a0_0x46f2;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:\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\x0aACTION\x20TYPES:\x0a-\x20analyze:\x20Analyze\x20a\x20single\x20file\x0a-\x20analyze-project:\x20Analyze\x20all\x20files\x20in\x20a\x20directory\x0a-\x20fix:\x20Auto-fix\x20code\x20issues\x0a-\x20format:\x20Format\x20code\x20with\x20Prettier\x0a-\x20security-scan:\x20Scan\x20for\x20security\x20vulnerabilities\x0a-\x20security-scan-project:\x20Scan\x20entire\x20project\x20for\x20security\x20issues\x0a-\x20validate-config:\x20Validate\x20configuration\x20files\x0a-\x20validate-config-directory:\x20Validate\x20all\x20config\x20files\x20in\x20directory\x0a\x0aPARAMETERS:\x0a-\x20filePath:\x20Path\x20to\x20file\x20to\x20analyze\x20(for\x20single\x20file\x20actions)\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(for\x20project-wide\x20actions)\x0a-\x20pattern:\x20Glob\x20pattern\x20for\x20files\x20to\x20include\x20(optional)\x0a-\x20includeWarnings:\x20Include\x20warnings\x20in\x20results\x20(true/false,\x20default:\x20true)\x0a-\x20maxErrors:\x20Maximum\x20number\x20of\x20errors\x20to\x20return\x20(default:\x20all)\x0a-\x20writeFile:\x20Write\x20fixed/formatted\x20content\x20back\x20to\x20file\x20(for\x20fix/format\x20actions)\x0a\x0aEXAMPLES:\x0a\x0a1.\x20Analyze\x20a\x20single\x20JavaScript\x20file:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22analyze\x22,\x20\x22filePath\x22:\x20\x22src/app.js\x22\x20}]\x0a}\x0a```\x0a\x0a2.\x20Analyze\x20all\x20files\x20in\x20a\x20directory:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22analyze-project\x22,\x20\x22directory\x22:\x20\x22src\x22,\x20\x22pattern\x22:\x20\x22**/*.js\x22\x20}]\x0a}\x0a```\x0a\x0a3.\x20Auto-fix\x20code\x20issues:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22fix\x22,\x20\x22filePath\x22:\x20\x22src/app.js\x22,\x20\x22writeFile\x22:\x20true\x20}]\x0a}\x0a```\x0a\x0a4.\x20Security\x20scan\x20a\x20project:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22security-scan-project\x22,\x20\x22directory\x22:\x20\x22src\x22\x20}]\x0a}\x0a```\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20structured\x20error\x20information\x20with:\x20file,\x20line,\x20column,\x20severity,\x20rule,\x20message,\x20category,\x20fixable,\x20suggestion\x0a\x0aLIMITATIONS:\x0a-\x20File\x20size\x20limit:\x20'+Math['round'](this[_0x47bd45(0xb0)]/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this[_0x47bd45(0xbb)]+'\x20files\x20per\x20operation\x0a-\x20Analysis\x20timeout:\x20'+this[_0x47bd45(0x88)]/0x3e8+_0x47bd45(0xe5);}['parseParameters'](_0x15d106){const _0xa2ef6=a0_0x46f2;try{const _0x40da5f={},_0x41a20d=[];this['logger']?.['debug'](_0xa2ef6(0x98),{'contentLength':_0x15d106[_0xa2ef6(0xd6)],'contentPreview':_0x15d106['substring'](0x0,0xc8)});const _0x105e45=/<analyze\s+(.+?)\/>/g;let _0x4b09ff;while((_0x4b09ff=_0x105e45[_0xa2ef6(0x99)](_0x15d106))!==null){const _0x377624=_0x4b09ff[0x1][_0xa2ef6(0xf3)](),_0x242509=new a0_0x1ce997(),_0x402e6e=_0x242509['parseAttributes'](_0x377624),_0x1c0a0d={'type':_0xa2ef6(0x6d),..._0x402e6e};_0x1c0a0d[_0xa2ef6(0x9d)]&&(_0x1c0a0d[_0xa2ef6(0xfb)]=_0x1c0a0d[_0xa2ef6(0x9d)],delete _0x1c0a0d['file-path']),_0x1c0a0d[_0xa2ef6(0xf0)]&&(_0x1c0a0d[_0xa2ef6(0xb1)]=_0x1c0a0d['include-warnings']===_0xa2ef6(0x11e),delete _0x1c0a0d[_0xa2ef6(0xf0)]),_0x1c0a0d[_0xa2ef6(0x116)]&&(_0x1c0a0d['maxErrors']=parseInt(_0x1c0a0d[_0xa2ef6(0x116)],0xa),delete _0x1c0a0d['max-errors']),_0x41a20d['push'](_0x1c0a0d);}const _0x53e5da=/<analyze-project\s+(.+?)\/>/g;while((_0x4b09ff=_0x53e5da['exec'](_0x15d106))!==null){const _0x199f4c=_0x4b09ff[0x1]['trim'](),_0x36f5dd=new a0_0x1ce997(),_0x1b4488=_0x36f5dd['parseAttributes'](_0x199f4c),_0x41e29f={'type':'analyze-project',..._0x1b4488};_0x41e29f['include-warnings']&&(_0x41e29f['includeWarnings']=_0x41e29f['include-warnings']===_0xa2ef6(0x11e),delete _0x41e29f['include-warnings']),_0x41e29f['max-errors']&&(_0x41e29f[_0xa2ef6(0xeb)]=parseInt(_0x41e29f['max-errors'],0xa),delete _0x41e29f[_0xa2ef6(0x116)]),_0x41a20d['push'](_0x41e29f);}const _0x166b45=/<fix\s+(.+?)\/>/g;while((_0x4b09ff=_0x166b45['exec'](_0x15d106))!==null){const _0xd1cbeb=_0x4b09ff[0x1]['trim'](),_0xa6acdf=new a0_0x1ce997(),_0x1719bc=_0xa6acdf[_0xa2ef6(0xc0)](_0xd1cbeb),_0x3ffbf5={'type':_0xa2ef6(0x7f),..._0x1719bc};_0x3ffbf5[_0xa2ef6(0x9d)]&&(_0x3ffbf5['filePath']=_0x3ffbf5[_0xa2ef6(0x9d)],delete _0x3ffbf5['file-path']),_0x3ffbf5[_0xa2ef6(0x86)]&&(_0x3ffbf5['writeFile']=_0x3ffbf5[_0xa2ef6(0x86)]==='true',delete _0x3ffbf5[_0xa2ef6(0x86)]),_0x41a20d['push'](_0x3ffbf5);}const _0x66af1d=/<format\s+(.+?)\/>/g;while((_0x4b09ff=_0x66af1d['exec'](_0x15d106))!==null){const _0x128092=_0x4b09ff[0x1]['trim'](),_0xcdf78a=new a0_0x1ce997(),_0x2a39a9=_0xcdf78a['parseAttributes'](_0x128092),_0x23029a={'type':_0xa2ef6(0x93),..._0x2a39a9};_0x23029a[_0xa2ef6(0x9d)]&&(_0x23029a[_0xa2ef6(0xfb)]=_0x23029a['file-path'],delete _0x23029a[_0xa2ef6(0x9d)]),_0x23029a['write-file']&&(_0x23029a['writeFile']=_0x23029a[_0xa2ef6(0x86)]===_0xa2ef6(0x11e),delete _0x23029a[_0xa2ef6(0x86)]),_0x41a20d[_0xa2ef6(0xf5)](_0x23029a);}const _0xdcbdce=/<security-scan\s+(.+?)\/>/g;while((_0x4b09ff=_0xdcbdce[_0xa2ef6(0x99)](_0x15d106))!==null){const _0x16d6e1=_0x4b09ff[0x1][_0xa2ef6(0xf3)](),_0x210bb0=new a0_0x1ce997(),_0x3e9c50=_0x210bb0[_0xa2ef6(0xc0)](_0x16d6e1),_0x357db3={'type':_0xa2ef6(0xb9),..._0x3e9c50};_0x357db3['file-path']&&(_0x357db3[_0xa2ef6(0xfb)]=_0x357db3[_0xa2ef6(0x9d)],delete _0x357db3[_0xa2ef6(0x9d)]),_0x357db3['skip-test-files']&&(_0x357db3['skipTestFiles']=_0x357db3['skip-test-files']==='true',delete _0x357db3[_0xa2ef6(0xb2)]),_0x41a20d['push'](_0x357db3);}const _0x1b2467=/<security-scan-project\s+(.+?)\/>/g;while((_0x4b09ff=_0x1b2467[_0xa2ef6(0x99)](_0x15d106))!==null){const _0xb127c2=_0x4b09ff[0x1][_0xa2ef6(0xf3)](),_0x1ff295=new a0_0x1ce997(),_0x43f24a=_0x1ff295[_0xa2ef6(0xc0)](_0xb127c2),_0x4c507a={'type':'security-scan-project',..._0x43f24a};_0x4c507a['skip-test-files']&&(_0x4c507a[_0xa2ef6(0x7c)]=_0x4c507a[_0xa2ef6(0xb2)]===_0xa2ef6(0x11e),delete _0x4c507a['skip-test-files']),_0x41a20d['push'](_0x4c507a);}const _0x1a43b1=/<validate-config\s+(.+?)\/>/g;while((_0x4b09ff=_0x1a43b1[_0xa2ef6(0x99)](_0x15d106))!==null){const _0x89e728=_0x4b09ff[0x1]['trim'](),_0x5f2f4a=new a0_0x1ce997(),_0x197f2b=_0x5f2f4a[_0xa2ef6(0xc0)](_0x89e728),_0x44da2c={'type':'validate-config',..._0x197f2b};_0x44da2c['file-path']&&(_0x44da2c[_0xa2ef6(0xfb)]=_0x44da2c['file-path'],delete _0x44da2c[_0xa2ef6(0x9d)]),_0x41a20d['push'](_0x44da2c);}const _0xe0c8a7=/<validate-config-directory\s+(.+?)\/>/g;while((_0x4b09ff=_0xe0c8a7[_0xa2ef6(0x99)](_0x15d106))!==null){const _0x549947=_0x4b09ff[0x1]['trim'](),_0x51a3be=new a0_0x1ce997(),_0x301454=_0x51a3be[_0xa2ef6(0xc0)](_0x549947),_0xdfd51a={'type':_0xa2ef6(0xb3),..._0x301454};_0x41a20d['push'](_0xdfd51a);}return _0x40da5f['actions']=_0x41a20d,_0x40da5f[_0xa2ef6(0x83)]=_0x15d106[_0xa2ef6(0xf3)](),this['logger']?.['debug']('Parsed\x20StaticAnalysis\x20tool\x20parameters',{'totalActions':_0x41a20d['length'],'actionTypes':_0x41a20d[_0xa2ef6(0x71)](_0x4fe9fd=>_0x4fe9fd[_0xa2ef6(0xae)])}),_0x40da5f;}catch(_0x36c549){throw new Error('Failed\x20to\x20parse\x20static\x20analysis\x20parameters:\x20'+_0x36c549['message']);}}['getRequiredParameters'](){return['actions'];}['customValidateParameters'](_0x3aaa73){const _0x2d61d6=a0_0x46f2,_0x8b322b=[];if(!_0x3aaa73['actions']||!Array[_0x2d61d6(0x6c)](_0x3aaa73['actions'])||_0x3aaa73['actions']['length']===0x0)_0x8b322b[_0x2d61d6(0xf5)](_0x2d61d6(0x69));else{for(const [_0x1fbbe,_0x3e1eb7]of _0x3aaa73[_0x2d61d6(0x110)]['entries']()){if(!_0x3e1eb7[_0x2d61d6(0xae)]){_0x8b322b['push'](_0x2d61d6(0x6a)+(_0x1fbbe+0x1)+_0x2d61d6(0x103));continue;}switch(_0x3e1eb7['type']){case'analyze':!_0x3e1eb7[_0x2d61d6(0xfb)]&&_0x8b322b[_0x2d61d6(0xf5)]('Action\x20'+(_0x1fbbe+0x1)+':\x20file-path\x20is\x20required\x20for\x20analyze');break;case _0x2d61d6(0xea):!_0x3e1eb7['directory']&&_0x8b322b['push'](_0x2d61d6(0x6a)+(_0x1fbbe+0x1)+_0x2d61d6(0x114));break;case'fix':!_0x3e1eb7['filePath']&&_0x8b322b[_0x2d61d6(0xf5)]('Action\x20'+(_0x1fbbe+0x1)+':\x20file-path\x20is\x20required\x20for\x20fix');break;case _0x2d61d6(0x93):!_0x3e1eb7['filePath']&&_0x8b322b['push']('Action\x20'+(_0x1fbbe+0x1)+_0x2d61d6(0x85));break;case _0x2d61d6(0xb9):!_0x3e1eb7['filePath']&&_0x8b322b['push']('Action\x20'+(_0x1fbbe+0x1)+':\x20file-path\x20is\x20required\x20for\x20security-scan');break;case _0x2d61d6(0xda):!_0x3e1eb7['directory']&&_0x8b322b[_0x2d61d6(0xf5)](_0x2d61d6(0x6a)+(_0x1fbbe+0x1)+_0x2d61d6(0x89));break;case'validate-config':!_0x3e1eb7['filePath']&&_0x8b322b['push'](_0x2d61d6(0x6a)+(_0x1fbbe+0x1)+_0x2d61d6(0xe9));break;case'validate-config-directory':!_0x3e1eb7[_0x2d61d6(0xa8)]&&_0x8b322b[_0x2d61d6(0xf5)]('Action\x20'+(_0x1fbbe+0x1)+_0x2d61d6(0x8e));break;default:_0x8b322b['push'](_0x2d61d6(0x6a)+(_0x1fbbe+0x1)+_0x2d61d6(0x104)+_0x3e1eb7[_0x2d61d6(0xae)]);}}_0x3aaa73[_0x2d61d6(0x110)]['length']>this['maxFilesPerBatch']&&_0x8b322b[_0x2d61d6(0xf5)]('Too\x20many\x20actions:\x20'+_0x3aaa73[_0x2d61d6(0x110)][_0x2d61d6(0xd6)]+'\x20(max\x20'+this[_0x2d61d6(0xbb)]+')');}return{'valid':_0x8b322b['length']===0x0,'errors':_0x8b322b};}async[a0_0x5a46b9(0xfd)](_0x14212d,_0x51b4ec){const _0x3ce00f=a0_0x5a46b9,{actions:_0x3aed98}=_0x14212d,{projectDir:_0xbc8ece,agentId:_0x1152ba,directoryAccess:_0x375ee6}=_0x51b4ec,_0x5b1f9c=_0x375ee6||this[_0x3ce00f(0x121)]['createDirectoryAccess']({'workingDirectory':_0xbc8ece||process['cwd'](),'writeEnabledDirectories':[_0xbc8ece||process['cwd']()],'restrictToProject':!![]}),_0x5cc34c=this[_0x3ce00f(0x121)]['getWorkingDirectory'](_0x5b1f9c),_0x386f86={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0xa95f83 of _0x3aed98){try{let _0x228443;switch(_0xa95f83['type']){case'analyze':_0x228443=await this['analyzeFile'](_0xa95f83['filePath'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x228443&&(_0x386f86['files']['push'](_0x228443),this[_0x3ce00f(0xe3)](_0x386f86['summary'],_0x228443));break;case'analyze-project':const _0x2773c0=await this[_0x3ce00f(0xf8)](_0xa95f83['directory'],_0xa95f83['pattern'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x386f86['files'][_0x3ce00f(0xf5)](..._0x2773c0);for(const _0x2154a4 of _0x2773c0){this['updateSummary'](_0x386f86['summary'],_0x2154a4);}break;case'fix':_0x228443=await this[_0x3ce00f(0xc7)](_0xa95f83['filePath'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x228443&&_0x386f86['files'][_0x3ce00f(0xf5)](_0x228443);break;case _0x3ce00f(0x93):_0x228443=await this['formatFile'](_0xa95f83[_0x3ce00f(0xfb)],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x228443&&_0x386f86[_0x3ce00f(0x82)]['push'](_0x228443);break;case'security-scan':_0x228443=await this[_0x3ce00f(0xe4)](_0xa95f83['filePath'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x228443&&(_0x386f86[_0x3ce00f(0x82)][_0x3ce00f(0xf5)](_0x228443),this[_0x3ce00f(0xe3)](_0x386f86[_0x3ce00f(0x8a)],_0x228443));break;case'security-scan-project':const _0x14fe84=await this['securityScanProject'](_0xa95f83[_0x3ce00f(0xa8)],_0xa95f83['pattern'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x386f86['files']['push'](..._0x14fe84);for(const _0x7b6ad6 of _0x14fe84){this[_0x3ce00f(0xe3)](_0x386f86[_0x3ce00f(0x8a)],_0x7b6ad6);}break;case _0x3ce00f(0x129):_0x228443=await this['validateConfigFile'](_0xa95f83[_0x3ce00f(0xfb)],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x228443&&(_0x386f86[_0x3ce00f(0x82)][_0x3ce00f(0xf5)](_0x228443),this['updateSummary'](_0x386f86[_0x3ce00f(0x8a)],_0x228443));break;case _0x3ce00f(0xb3):const _0x585ac6=await this[_0x3ce00f(0x95)](_0xa95f83['directory'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x386f86[_0x3ce00f(0x82)][_0x3ce00f(0xf5)](..._0x585ac6);for(const _0x3764da of _0x585ac6){this['updateSummary'](_0x386f86['summary'],_0x3764da);}break;default:throw new Error(_0x3ce00f(0x12c)+_0xa95f83['type']);}}catch(_0x5c6a4b){this['logger']?.[_0x3ce00f(0x10b)](_0x3ce00f(0x130),{'action':_0xa95f83['type'],'error':_0x5c6a4b[_0x3ce00f(0x81)]}),_0x386f86['files']['push']({'file':_0xa95f83[_0x3ce00f(0xfb)]||_0xa95f83['directory'],'error':_0x5c6a4b['message'],'success':![]});}}return{'success':!![],'results':_0x386f86,'toolUsed':'staticanalysis','performance':this['getPerformanceMetrics']()};}async['analyzeFile'](_0x3000ba,_0x19105a,_0x5c71fd,_0x2bb5b5={}){const _0xa16ff0=a0_0x5a46b9,_0x309b05=a0_0x239aa3['isAbsolute'](_0x3000ba)?a0_0x239aa3[_0xa16ff0(0x12b)](_0x3000ba):a0_0x239aa3['resolve'](_0x19105a,_0x3000ba),_0xd3e135=this[_0xa16ff0(0x121)][_0xa16ff0(0xca)](_0x309b05,_0x5c71fd);if(!_0xd3e135['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0xd3e135['reason']);try{const _0x363766=await a0_0x9f149f[_0xa16ff0(0x84)](_0x309b05);if(_0x363766['size']>this[_0xa16ff0(0xb0)])throw new Error('File\x20too\x20large:\x20'+_0x363766['size']+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x2485fc=this['detectLanguage'](_0x309b05);if(!_0x2485fc)return{'file':this[_0xa16ff0(0x121)][_0xa16ff0(0x133)](_0x309b05,_0x5c71fd),'fullPath':_0x309b05,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0xa16ff0(0xb5)};const _0x338f80=await a0_0x9f149f[_0xa16ff0(0x9c)](_0x309b05,_0xa16ff0(0x107)),_0x52b2a4=this[_0xa16ff0(0x100)]?this['computeContentHash'](_0x338f80):null,_0x5e5530=this[_0xa16ff0(0x100)]?_0x309b05+':'+_0x52b2a4:_0x309b05+':'+_0x363766[_0xa16ff0(0xed)][_0xa16ff0(0xd2)]();if(this['enableCache']&&this['analysisCache'][_0xa16ff0(0x9a)](_0x5e5530)){const _0x31189a=this[_0xa16ff0(0x7a)]['get'](_0x5e5530);if(Date[_0xa16ff0(0xd0)]()-_0x31189a['timestamp']<this[_0xa16ff0(0x8d)])return this[_0xa16ff0(0x131)]?.['debug']('Using\x20cached\x20analysis\x20result',{'file':_0x309b05}),this['metrics']['cacheHits']++,this['metrics']['totalAnalyses']++,_0x31189a[_0xa16ff0(0x124)];}this[_0xa16ff0(0x9f)][_0xa16ff0(0xef)]++,this[_0xa16ff0(0x9f)]['totalAnalyses']++;const _0x4695b4=await this[_0xa16ff0(0x120)](_0x2485fc);if(!_0x4695b4)return{'file':this[_0xa16ff0(0x121)]['createRelativePath'](_0x309b05,_0x5c71fd),'fullPath':_0x309b05,'language':_0x2485fc,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0xa16ff0(0x9b)+_0x2485fc};const _0x3e8c59=Date[_0xa16ff0(0xd0)](),_0x384e5c=await _0x4695b4['analyze'](_0x309b05,_0x338f80,{'workingDir':_0x19105a,'accessConfig':_0x5c71fd,'framework':await this['detectFramework'](_0x19105a,_0x2485fc)}),_0x474646=Date['now']()-_0x3e8c59;this['metrics'][_0xa16ff0(0x127)]+=_0x474646,this['metrics'][_0xa16ff0(0x11b)]++;const _0x8e4676={'file':this[_0xa16ff0(0x121)][_0xa16ff0(0x133)](_0x309b05,_0x5c71fd),'fullPath':_0x309b05,'language':_0x2485fc,'framework':await this[_0xa16ff0(0x11d)](_0x19105a,_0x2485fc),'errors':_0x384e5c[_0xa16ff0(0xe6)](_0x5ab96a=>_0x5ab96a[_0xa16ff0(0x97)]===STATIC_ANALYSIS['SEVERITY'][_0xa16ff0(0x10d)]),'warnings':_0x2bb5b5['includeWarnings']!==![]?_0x384e5c[_0xa16ff0(0xe6)](_0x1f21b1=>_0x1f21b1['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING']):[],'info':_0x384e5c[_0xa16ff0(0xe6)](_0x310d10=>_0x310d10[_0xa16ff0(0x97)]===STATIC_ANALYSIS[_0xa16ff0(0x123)]['INFO']),'totalIssues':_0x384e5c['length'],'analyzed':!![],'timestamp':new Date()['toISOString']()};return _0x2bb5b5[_0xa16ff0(0xeb)]&&_0x8e4676['errors'][_0xa16ff0(0xd6)]>_0x2bb5b5[_0xa16ff0(0xeb)]&&(_0x8e4676[_0xa16ff0(0x138)]=_0x8e4676['errors']['slice'](0x0,_0x2bb5b5['maxErrors']),_0x8e4676['truncated']=!![]),this[_0xa16ff0(0x7d)]&&this['analysisCache'][_0xa16ff0(0x126)](_0x5e5530,{'result':_0x8e4676,'timestamp':Date[_0xa16ff0(0xd0)]()}),_0x8e4676;}catch(_0x5e5ee8){throw new Error(_0xa16ff0(0x8c)+_0x3000ba+':\x20'+_0x5e5ee8[_0xa16ff0(0x81)]);}}async[a0_0x5a46b9(0xf8)](_0x2f3471,_0x151f0b,_0x4f566f,_0x2169a1,_0x51f58a={}){const _0x43c03a=a0_0x5a46b9,_0x44661a=a0_0x239aa3['isAbsolute'](_0x2f3471)?a0_0x239aa3[_0x43c03a(0x12b)](_0x2f3471):a0_0x239aa3['resolve'](_0x4f566f,_0x2f3471),_0x58009f=this[_0x43c03a(0x121)]['validateReadAccess'](_0x44661a,_0x2169a1);if(!_0x58009f['allowed'])throw new Error(_0x43c03a(0x134)+_0x58009f['reason']);const _0x2e719d=await this[_0x43c03a(0x136)](_0x44661a,_0x151f0b);if(_0x2e719d['length']>this[_0x43c03a(0xbb)])throw new Error('Too\x20many\x20files:\x20'+_0x2e719d['length']+'\x20(max\x20'+this['maxFilesPerBatch']+')');const _0x41798f=[];if(this[_0x43c03a(0xa6)]&&_0x2e719d['length']>0x1){this[_0x43c03a(0x131)]?.[_0x43c03a(0xa9)]('Using\x20parallel\x20analysis',{'totalFiles':_0x2e719d['length'],'batchSize':this['maxParallelFiles']});for(let _0x3b31aa=0x0;_0x3b31aa<_0x2e719d[_0x43c03a(0xd6)];_0x3b31aa+=this[_0x43c03a(0xa0)]){const _0x515d04=_0x2e719d['slice'](_0x3b31aa,_0x3b31aa+this[_0x43c03a(0xa0)]);this[_0x43c03a(0x9f)][_0x43c03a(0xc9)]++;const _0x500fac={'completed':_0x3b31aa,'total':_0x2e719d['length'],'percentage':Math[_0x43c03a(0x75)](_0x3b31aa/_0x2e719d['length']*0x64)};_0x51f58a['onProgress']&&_0x51f58a[_0x43c03a(0xd4)](_0x500fac);this[_0x43c03a(0x131)]?.['debug'](_0x43c03a(0xe8),{'batch':Math['floor'](_0x3b31aa/this['maxParallelFiles'])+0x1,'filesInBatch':_0x515d04[_0x43c03a(0xd6)],'progress':_0x500fac[_0x43c03a(0xf6)]+'/'+_0x500fac['total']});const _0x5902e0=_0x515d04['map'](async _0xf83e8f=>{const _0x1661ee=_0x43c03a;try{const _0x23eae4=await this[_0x1661ee(0x92)](_0xf83e8f,_0x4f566f,_0x2169a1,_0x51f58a);return _0x23eae4;}catch(_0x517619){return this[_0x1661ee(0x131)]?.['warn']('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0xf83e8f,'error':_0x517619[_0x1661ee(0x81)]}),{'file':this[_0x1661ee(0x121)]['createRelativePath'](_0xf83e8f,_0x2169a1),'fullPath':_0xf83e8f,'error':_0x517619[_0x1661ee(0x81)],'success':![]};}}),_0x20eda7=await Promise['all'](_0x5902e0);_0x41798f['push'](..._0x20eda7['filter'](_0x1267a1=>_0x1267a1!==null));}_0x51f58a[_0x43c03a(0xd4)]&&_0x51f58a[_0x43c03a(0xd4)]({'completed':_0x2e719d[_0x43c03a(0xd6)],'total':_0x2e719d['length'],'percentage':0x64});}else for(const _0x7c64ca of _0x2e719d){try{const _0x5e9857=await this['analyzeFile'](_0x7c64ca,_0x4f566f,_0x2169a1,_0x51f58a);_0x5e9857&&_0x41798f[_0x43c03a(0xf5)](_0x5e9857);}catch(_0x54f8e2){this['logger']?.[_0x43c03a(0x122)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x7c64ca,'error':_0x54f8e2['message']}),_0x41798f[_0x43c03a(0xf5)]({'file':this['directoryAccessManager'][_0x43c03a(0x133)](_0x7c64ca,_0x2169a1),'fullPath':_0x7c64ca,'error':_0x54f8e2['message'],'success':![]});}}return _0x41798f;}async['fixFile'](_0x5eb63f,_0x83ecb2,_0x338099,_0x31bf1e={}){const _0x51307a=a0_0x5a46b9,_0x3a84ea=a0_0x239aa3['isAbsolute'](_0x5eb63f)?a0_0x239aa3['normalize'](_0x5eb63f):a0_0x239aa3[_0x51307a(0x112)](_0x83ecb2,_0x5eb63f),_0x47a5b0=this['directoryAccessManager']['validateReadAccess'](_0x3a84ea,_0x338099);if(!_0x47a5b0[_0x51307a(0x141)])throw new Error(_0x51307a(0x134)+_0x47a5b0[_0x51307a(0x10e)]);if(_0x31bf1e['writeFile']){const _0x5bad82=this['directoryAccessManager']['validateWriteAccess'](_0x3a84ea,_0x338099);if(!_0x5bad82['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x5bad82[_0x51307a(0x10e)]);}try{const _0x3591c2=await a0_0x9f149f[_0x51307a(0x9c)](_0x3a84ea,'utf-8'),_0x1155a4=await this['getESLintAnalyzer'](),_0x38fc8b=await _0x1155a4[_0x51307a(0x7f)](_0x3a84ea,_0x3591c2,{'workingDir':_0x83ecb2,'accessConfig':_0x338099,'framework':await this['detectFramework'](_0x83ecb2,this[_0x51307a(0x73)](_0x3a84ea))});return _0x31bf1e['writeFile']&&_0x38fc8b['fixed']&&(await a0_0x9f149f[_0x51307a(0x80)](_0x3a84ea,_0x38fc8b[_0x51307a(0xb7)],_0x51307a(0x107)),this[_0x51307a(0x131)]?.['info']('File\x20fixed\x20and\x20written',{'file':_0x3a84ea})),{'file':this['directoryAccessManager'][_0x51307a(0x133)](_0x3a84ea,_0x338099),'fullPath':_0x3a84ea,'action':'fix','fixed':_0x38fc8b[_0x51307a(0x117)],'fixedCount':_0x38fc8b[_0x51307a(0x12f)],'remainingErrors':_0x38fc8b['remainingErrors'],'remainingWarnings':_0x38fc8b[_0x51307a(0xd7)],'changes':_0x38fc8b[_0x51307a(0xd1)],'written':!!(_0x31bf1e['writeFile']&&_0x38fc8b['fixed']),'preview':!_0x31bf1e['writeFile']&&_0x38fc8b['fixed']?_0x38fc8b[_0x51307a(0xb7)]:undefined};}catch(_0x2bbbbc){throw new Error('Failed\x20to\x20fix\x20'+_0x5eb63f+':\x20'+_0x2bbbbc['message']);}}async[a0_0x5a46b9(0x10f)](_0x3f6eb7,_0xf7ff4,_0x826ce7,_0x47b18e={}){const _0x2780ba=a0_0x5a46b9,_0x45ae9f=a0_0x239aa3[_0x2780ba(0x13e)](_0x3f6eb7)?a0_0x239aa3['normalize'](_0x3f6eb7):a0_0x239aa3['resolve'](_0xf7ff4,_0x3f6eb7),_0x167026=this['directoryAccessManager']['validateReadAccess'](_0x45ae9f,_0x826ce7);if(!_0x167026['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x167026['reason']);if(_0x47b18e['writeFile']){const _0x13b726=this[_0x2780ba(0x121)][_0x2780ba(0x6b)](_0x45ae9f,_0x826ce7);if(!_0x13b726['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x13b726[_0x2780ba(0x10e)]);}try{const _0x5b5998=await a0_0x9f149f['readFile'](_0x45ae9f,'utf-8'),_0x532a44=await this['getPrettierFormatter']();if(!_0x532a44['isSupported'](_0x45ae9f))return{'file':this['directoryAccessManager'][_0x2780ba(0x133)](_0x45ae9f,_0x826ce7),'fullPath':_0x45ae9f,'action':_0x2780ba(0x93),'formatted':![],'skipped':!![],'skipReason':_0x2780ba(0xb6)};const _0xe40468=await _0x532a44[_0x2780ba(0x93)](_0x45ae9f,_0x5b5998,{'workingDir':_0xf7ff4,'accessConfig':_0x826ce7});return _0x47b18e[_0x2780ba(0x80)]&&_0xe40468[_0x2780ba(0x13d)]&&(await a0_0x9f149f['writeFile'](_0x45ae9f,_0xe40468['content'],_0x2780ba(0x107)),this['logger']?.[_0x2780ba(0x12e)](_0x2780ba(0xa1),{'file':_0x45ae9f})),{'file':this[_0x2780ba(0x121)]['createRelativePath'](_0x45ae9f,_0x826ce7),'fullPath':_0x45ae9f,'action':_0x2780ba(0x93),'formatted':_0xe40468['formatted'],'linesChanged':_0xe40468['linesChanged'],'changes':_0xe40468[_0x2780ba(0xd1)],'written':!!(_0x47b18e[_0x2780ba(0x80)]&&_0xe40468['formatted']),'preview':!_0x47b18e['writeFile']&&_0xe40468[_0x2780ba(0x13d)]?_0xe40468[_0x2780ba(0xb7)]:undefined};}catch(_0x1a03fe){throw new Error(_0x2780ba(0x11f)+_0x3f6eb7+':\x20'+_0x1a03fe['message']);}}async['securityScanFile'](_0x1fb186,_0x5bfd5d,_0x317622,_0x556c69={}){const _0x29ece2=a0_0x5a46b9,_0xcc1cf4=a0_0x239aa3['isAbsolute'](_0x1fb186)?a0_0x239aa3['normalize'](_0x1fb186):a0_0x239aa3['resolve'](_0x5bfd5d,_0x1fb186),_0x1b47c2=this['directoryAccessManager']['validateReadAccess'](_0xcc1cf4,_0x317622);if(!_0x1b47c2[_0x29ece2(0x141)])throw new Error('Read\x20access\x20denied:\x20'+_0x1b47c2['reason']);try{const _0x3790a3=await a0_0x9f149f[_0x29ece2(0x84)](_0xcc1cf4);if(_0x3790a3[_0x29ece2(0x76)]>this['maxFileSize'])throw new Error(_0x29ece2(0x11a)+_0x3790a3[_0x29ece2(0x76)]+_0x29ece2(0xbf)+this['maxFileSize']+')');const _0x4e2bce=this['detectLanguage'](_0xcc1cf4);if(!_0x4e2bce||!['javascript','typescript',_0x29ece2(0x8b)][_0x29ece2(0x6f)](_0x4e2bce))return{'file':this[_0x29ece2(0x121)][_0x29ece2(0x133)](_0xcc1cf4,_0x317622),'fullPath':_0xcc1cf4,'language':_0x4e2bce||_0x29ece2(0x13f),'issues':[],'skipped':!![],'skipReason':'Security\x20scanning\x20only\x20supports\x20JavaScript,\x20TypeScript,\x20and\x20Python\x20files'};const _0x19e45d=await a0_0x9f149f['readFile'](_0xcc1cf4,_0x29ece2(0x107)),_0x40e453=await this[_0x29ece2(0x102)](),_0x1d7d6b=await _0x40e453[_0x29ece2(0x6d)](_0xcc1cf4,_0x19e45d,{'skipTestFiles':_0x556c69[_0x29ece2(0x7c)]!==![]}),_0x56495d={'file':this[_0x29ece2(0x121)]['createRelativePath'](_0xcc1cf4,_0x317622),'fullPath':_0xcc1cf4,'language':_0x4e2bce,'action':'security-scan','critical':_0x1d7d6b[_0x29ece2(0xe6)](_0x11ace2=>_0x11ace2['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x1d7d6b[_0x29ece2(0xe6)](_0x3377a9=>_0x3377a9['severity']===STATIC_ANALYSIS[_0x29ece2(0x123)][_0x29ece2(0x10d)]),'warnings':_0x1d7d6b['filter'](_0x7c498a=>_0x7c498a[_0x29ece2(0x97)]===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x1d7d6b[_0x29ece2(0xe6)](_0x24deff=>_0x24deff[_0x29ece2(0x97)]===STATIC_ANALYSIS[_0x29ece2(0x123)][_0x29ece2(0xa3)]),'totalIssues':_0x1d7d6b['length'],'analyzed':!![],'scannersUsed':_0x1d7d6b['map'](_0xe24345=>_0xe24345['scanner'])['filter']((_0x32130c,_0x16b650,_0x573925)=>_0x573925[_0x29ece2(0xa4)](_0x32130c)===_0x16b650),'timestamp':new Date()[_0x29ece2(0xcf)]()};return _0x56495d;}catch(_0xe7b729){throw new Error('Failed\x20to\x20security\x20scan\x20'+_0x1fb186+':\x20'+_0xe7b729[_0x29ece2(0x81)]);}}async[a0_0x5a46b9(0xfe)](_0x1ece1b,_0x3a3b7e,_0x767444,_0xec8f79,_0x48cc64={}){const _0x29a891=a0_0x5a46b9,_0x41359d=a0_0x239aa3['isAbsolute'](_0x1ece1b)?a0_0x239aa3['normalize'](_0x1ece1b):a0_0x239aa3[_0x29a891(0x112)](_0x767444,_0x1ece1b),_0x297823=this['directoryAccessManager']['validateReadAccess'](_0x41359d,_0xec8f79);if(!_0x297823[_0x29a891(0x141)])throw new Error(_0x29a891(0x134)+_0x297823[_0x29a891(0x10e)]);const _0x50f962=await this['getSecurityAnalyzer'](),_0x268e42=await _0x50f962[_0x29a891(0xf8)](_0x41359d,_0x29a891(0xaa),_0x48cc64),_0x3b5394=_0x3a3b7e||_0x29a891(0xe0),_0x396622=await this['findFiles'](_0x41359d,_0x3b5394);if(_0x396622['length']>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x396622[_0x29a891(0xd6)]+_0x29a891(0x111)+this[_0x29a891(0xbb)]+')');const _0x3b9dfc=[];if(this['parallelAnalysis']&&_0x396622[_0x29a891(0xd6)]>0x1){this['logger']?.['debug'](_0x29a891(0x105),{'totalFiles':_0x396622['length'],'batchSize':this[_0x29a891(0xa0)]});for(let _0x883ab6=0x0;_0x883ab6<_0x396622[_0x29a891(0xd6)];_0x883ab6+=this[_0x29a891(0xa0)]){const _0x59b7ce=_0x396622['slice'](_0x883ab6,_0x883ab6+this['maxParallelFiles']);_0x48cc64[_0x29a891(0xd4)]&&_0x48cc64[_0x29a891(0xd4)]({'completed':_0x883ab6,'total':_0x396622['length'],'percentage':Math[_0x29a891(0x75)](_0x883ab6/_0x396622['length']*0x64)});const _0x44e9e8=_0x59b7ce[_0x29a891(0x71)](async _0x339f27=>{const _0x4ff213=_0x29a891;try{return await this['securityScanFile'](_0x339f27,_0x767444,_0xec8f79,_0x48cc64);}catch(_0x39cd6b){return this[_0x4ff213(0x131)]?.[_0x4ff213(0x122)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x339f27,'error':_0x39cd6b['message']}),{'file':this[_0x4ff213(0x121)][_0x4ff213(0x133)](_0x339f27,_0xec8f79),'fullPath':_0x339f27,'error':_0x39cd6b[_0x4ff213(0x81)],'success':![]};}}),_0x5e9956=await Promise['all'](_0x44e9e8);_0x3b9dfc['push'](..._0x5e9956['filter'](_0x1eacea=>_0x1eacea!==null));}_0x48cc64[_0x29a891(0xd4)]&&_0x48cc64['onProgress']({'completed':_0x396622[_0x29a891(0xd6)],'total':_0x396622[_0x29a891(0xd6)],'percentage':0x64});}else for(const _0x248af1 of _0x396622){try{const _0x695cc8=await this['securityScanFile'](_0x248af1,_0x767444,_0xec8f79,_0x48cc64);_0x695cc8&&_0x3b9dfc[_0x29a891(0xf5)](_0x695cc8);}catch(_0x4a1592){this['logger']?.[_0x29a891(0x122)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x248af1,'error':_0x4a1592['message']}),_0x3b9dfc[_0x29a891(0xf5)]({'file':this[_0x29a891(0x121)]['createRelativePath'](_0x248af1,_0xec8f79),'fullPath':_0x248af1,'error':_0x4a1592[_0x29a891(0x81)],'success':![]});}}return _0x268e42['length']>0x0&&_0x3b9dfc[_0x29a891(0xf5)]({'file':a0_0x239aa3[_0x29a891(0xe7)](_0x41359d,_0x29a891(0xb8)),'fullPath':a0_0x239aa3[_0x29a891(0xe7)](_0x41359d,'package.json'),'action':'dependency-scan','critical':_0x268e42[_0x29a891(0xe6)](_0x2ca51b=>_0x2ca51b[_0x29a891(0x97)]===STATIC_ANALYSIS[_0x29a891(0x123)]['CRITICAL']),'errors':_0x268e42['filter'](_0x1dea0a=>_0x1dea0a['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x268e42[_0x29a891(0xe6)](_0x92fb18=>_0x92fb18['severity']===STATIC_ANALYSIS['SEVERITY'][_0x29a891(0x94)]),'info':_0x268e42['filter'](_0x2c01dd=>_0x2c01dd['severity']===STATIC_ANALYSIS['SEVERITY'][_0x29a891(0xa3)]),'totalIssues':_0x268e42['length'],'analyzed':!![],'scannersUsed':[_0x29a891(0x115)],'timestamp':new Date()[_0x29a891(0xcf)]()}),_0x3b9dfc;}async['validateConfigFile'](_0x591cc3,_0xef036d,_0x3d12d2,_0x5794b0={}){const _0x1ec36f=a0_0x5a46b9,_0x29e2cb=a0_0x239aa3[_0x1ec36f(0x13e)](_0x591cc3)?a0_0x239aa3['normalize'](_0x591cc3):a0_0x239aa3['resolve'](_0xef036d,_0x591cc3),_0x214077=this[_0x1ec36f(0x121)][_0x1ec36f(0xca)](_0x29e2cb,_0x3d12d2);if(!_0x214077[_0x1ec36f(0x141)])throw new Error('Read\x20access\x20denied:\x20'+_0x214077['reason']);try{const _0x444eca=await a0_0x9f149f['stat'](_0x29e2cb);if(_0x444eca[_0x1ec36f(0x76)]>this[_0x1ec36f(0xb0)])throw new Error('File\x20too\x20large:\x20'+_0x444eca[_0x1ec36f(0x76)]+_0x1ec36f(0xbf)+this[_0x1ec36f(0xb0)]+')');const _0x3dbb5f=await this[_0x1ec36f(0xad)](),_0x409171=await _0x3dbb5f[_0x1ec36f(0xf2)](_0x29e2cb,_0x5794b0),_0x222060={'file':this['directoryAccessManager']['createRelativePath'](_0x29e2cb,_0x3d12d2),'fullPath':_0x29e2cb,'action':_0x1ec36f(0x129),'critical':_0x409171['filter'](_0x41c381=>_0x41c381['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x409171['filter'](_0x109c68=>_0x109c68['severity']===STATIC_ANALYSIS[_0x1ec36f(0x123)][_0x1ec36f(0x10d)]),'warnings':_0x409171[_0x1ec36f(0xe6)](_0x464204=>_0x464204['severity']===STATIC_ANALYSIS['SEVERITY'][_0x1ec36f(0x94)]),'info':_0x409171[_0x1ec36f(0xe6)](_0x2d55ed=>_0x2d55ed[_0x1ec36f(0x97)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x409171[_0x1ec36f(0xd6)],'analyzed':!![],'validatorsUsed':_0x409171[_0x1ec36f(0x71)](_0x514fd2=>_0x514fd2['validator'])[_0x1ec36f(0xe6)]((_0xf14756,_0x78ce43,_0x4859f3)=>_0x4859f3[_0x1ec36f(0xa4)](_0xf14756)===_0x78ce43),'timestamp':new Date()['toISOString']()};return _0x222060;}catch(_0x3f2afa){throw new Error('Failed\x20to\x20validate\x20config\x20'+_0x591cc3+':\x20'+_0x3f2afa[_0x1ec36f(0x81)]);}}async[a0_0x5a46b9(0x95)](_0x4ae444,_0x134cd9,_0x266b3f,_0x1aceba={}){const _0x5927de=a0_0x5a46b9,_0xd14834=a0_0x239aa3['isAbsolute'](_0x4ae444)?a0_0x239aa3[_0x5927de(0x12b)](_0x4ae444):a0_0x239aa3[_0x5927de(0x112)](_0x134cd9,_0x4ae444),_0x71054a=this['directoryAccessManager'][_0x5927de(0xca)](_0xd14834,_0x266b3f);if(!_0x71054a[_0x5927de(0x141)])throw new Error('Read\x20access\x20denied:\x20'+_0x71054a['reason']);const _0x276a0c=await this[_0x5927de(0x77)](_0xd14834);if(_0x276a0c['length']>this['maxFilesPerBatch'])throw new Error(_0x5927de(0xc2)+_0x276a0c[_0x5927de(0xd6)]+'\x20(max\x20'+this['maxFilesPerBatch']+')');const _0x480a0e=[];for(const _0x5b32c8 of _0x276a0c){try{const _0x549dc7=await this['validateConfigFile'](_0x5b32c8,_0x134cd9,_0x266b3f,_0x1aceba);_0x549dc7&&_0x480a0e[_0x5927de(0xf5)](_0x549dc7);}catch(_0x423510){this[_0x5927de(0x131)]?.['warn']('Failed\x20to\x20validate\x20config\x20file',{'file':_0x5b32c8,'error':_0x423510[_0x5927de(0x81)]}),_0x480a0e[_0x5927de(0xf5)]({'file':this[_0x5927de(0x121)]['createRelativePath'](_0x5b32c8,_0x266b3f),'fullPath':_0x5b32c8,'error':_0x423510['message'],'success':![]});}}return _0x480a0e;}async[a0_0x5a46b9(0x77)](_0xeb81d7){const _0x4a18c5=a0_0x5a46b9,_0x258b5a=[],_0x529fa6=['package.json','tsconfig.json','Dockerfile','docker-compose.yml','docker-compose.yaml','.env',_0x4a18c5(0xab),_0x4a18c5(0x90),'.eslintrc.json',_0x4a18c5(0x78),_0x4a18c5(0xfa)],_0x1637ae=['.yml',_0x4a18c5(0x72),'.json',_0x4a18c5(0x10a),'.tfvars'],_0x2aa62d=async _0x5e41bc=>{const _0x16fc30=_0x4a18c5,_0x1fecf9=await a0_0x9f149f['readdir'](_0x5e41bc,{'withFileTypes':!![]});for(const _0x33ec84 of _0x1fecf9){const _0x35284c=a0_0x239aa3['join'](_0x5e41bc,_0x33ec84[_0x16fc30(0xde)]);if(_0x33ec84[_0x16fc30(0xc6)]()){if(_0x33ec84['name']==='.github'||_0x33ec84[_0x16fc30(0xde)]===_0x16fc30(0xd8)||_0x33ec84[_0x16fc30(0xde)]===_0x16fc30(0xbe)||_0x33ec84[_0x16fc30(0xde)]===_0x16fc30(0xce))await _0x2aa62d(_0x35284c);else{if(!['node_modules','.git','dist','build'][_0x16fc30(0x6f)](_0x33ec84['name']))continue;}}else{if(_0x33ec84['isFile']()){if(_0x529fa6[_0x16fc30(0x6f)](_0x33ec84['name']))_0x258b5a[_0x16fc30(0xf5)](_0x35284c);else{const _0x51bbbf=a0_0x239aa3['extname'](_0x33ec84['name'])[_0x16fc30(0x7e)]();if(_0x1637ae[_0x16fc30(0x6f)](_0x51bbbf)){const _0x35c183=a0_0x239aa3['basename'](a0_0x239aa3[_0x16fc30(0x67)](_0x35284c));(_0x35c183===_0x16fc30(0xd8)||_0x35c183===_0x16fc30(0xbe)||_0x35c183===_0x16fc30(0xce)||_0x35c183===_0x16fc30(0x128))&&_0x258b5a[_0x16fc30(0xf5)](_0x35284c);}}}}}};return await _0x2aa62d(_0xeb81d7),_0x258b5a;}[a0_0x5a46b9(0x73)](_0x10f26f){const _0x2483a3=a0_0x5a46b9,_0x33efef=a0_0x239aa3[_0x2483a3(0x106)](_0x10f26f)['toLowerCase']();return STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x33efef]||null;}async[a0_0x5a46b9(0x11d)](_0x1fabcb,_0x383d21){const _0x56bdb5=a0_0x5a46b9;try{if(_0x383d21===STATIC_ANALYSIS[_0x56bdb5(0xdb)]['JAVASCRIPT']||_0x383d21===STATIC_ANALYSIS['LANGUAGE'][_0x56bdb5(0xf4)])return await this['detectJSFramework'](_0x1fabcb);if(_0x383d21===STATIC_ANALYSIS['LANGUAGE'][_0x56bdb5(0xdd)])return await this[_0x56bdb5(0x13b)](_0x1fabcb);return null;}catch(_0x224129){return this[_0x56bdb5(0x131)]?.[_0x56bdb5(0xa9)](_0x56bdb5(0x101),{'error':_0x224129['message']}),null;}}async[a0_0x5a46b9(0x87)](_0x1a2a9a){const _0xb0f2b9=a0_0x5a46b9;try{const _0x54d60a=a0_0x239aa3[_0xb0f2b9(0xe7)](_0x1a2a9a,STATIC_ANALYSIS[_0xb0f2b9(0xcd)]['JAVASCRIPT']),_0x518ec1=await a0_0x9f149f[_0xb0f2b9(0x9c)](_0x54d60a,_0xb0f2b9(0x107)),_0x448fa4=JSON[_0xb0f2b9(0x6e)](_0x518ec1),_0x3093f2={..._0x448fa4[_0xb0f2b9(0x132)],..._0x448fa4[_0xb0f2b9(0xc1)]};for(const [_0x2c0785,_0x16eef9]of Object['entries'](STATIC_ANALYSIS['JS_FRAMEWORKS'])){if(_0x3093f2[_0x16eef9])return _0x2c0785[_0xb0f2b9(0x7e)]();}return null;}catch(_0xaf0fc){return null;}}async['detectPythonFramework'](_0x5246e9){const _0x4590a8=a0_0x5a46b9;try{const _0x4e508b=a0_0x239aa3['join'](_0x5246e9,STATIC_ANALYSIS[_0x4590a8(0xcd)][_0x4590a8(0xdd)]),_0x19efdc=await a0_0x9f149f['readFile'](_0x4e508b,'utf-8');for(const [_0x2f309f,_0x355e57]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x19efdc[_0x4590a8(0x7e)]()[_0x4590a8(0x6f)](_0x355e57))return _0x2f309f['toLowerCase']();}return null;}catch(_0x1cd775){try{const _0x131f2a=a0_0x239aa3[_0x4590a8(0xe7)](_0x5246e9,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x4590a8(0x10c)]),_0x19338e=await a0_0x9f149f['readFile'](_0x131f2a,_0x4590a8(0x107));for(const [_0x504d0d,_0x5e9e11]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x19338e['toLowerCase']()[_0x4590a8(0x6f)](_0x5e9e11))return _0x504d0d[_0x4590a8(0x7e)]();}}catch{}return null;}}async[a0_0x5a46b9(0x136)](_0x3df7d7,_0x1a7031){const _0x257e89=a0_0x5a46b9,_0x328e84=[],_0x25bf52=_0x1a7031||_0x257e89(0x113),_0x5173fd=_0x59250a=>{const _0x27398d=_0x257e89,_0x2be12a=[],_0x542f53=_0x59250a['match'](/\*\.\{([^}]+)\}/);if(_0x542f53){const _0x2c1693=_0x542f53[0x1]['split'](',')[_0x27398d(0x71)](_0xc9d662=>_0xc9d662['trim']());_0x2c1693['forEach'](_0x20f607=>_0x2be12a['push'](_0x20f607['startsWith']('.')?_0x20f607:'.'+_0x20f607));}else{const _0x12bc28=_0x59250a['match'](/\*\.([a-z]+)$/i);if(_0x12bc28){const _0x570a38=_0x12bc28[0x1];_0x2be12a['push'](_0x570a38[_0x27398d(0xc5)]('.')?_0x570a38:'.'+_0x570a38);}}if(_0x2be12a[_0x27398d(0xd6)]===0x0)return null;return _0x2be12a;},_0x13f12b=_0x5173fd(_0x25bf52),_0x5a1835=async _0x49c43b=>{const _0xcdb98c=_0x257e89,_0x6a9a49=await a0_0x9f149f['readdir'](_0x49c43b,{'withFileTypes':!![]});for(const _0x2f2e4d of _0x6a9a49){const _0x268ad4=a0_0x239aa3[_0xcdb98c(0xe7)](_0x49c43b,_0x2f2e4d[_0xcdb98c(0xde)]);if(_0x2f2e4d['isDirectory']())!['node_modules',_0xcdb98c(0xe2),'dist','build',_0xcdb98c(0xee),_0xcdb98c(0x140),'venv'][_0xcdb98c(0x6f)](_0x2f2e4d[_0xcdb98c(0xde)])&&await _0x5a1835(_0x268ad4);else{if(_0x2f2e4d[_0xcdb98c(0xa2)]()){const _0x5af4be=a0_0x239aa3['extname'](_0x2f2e4d['name'])[_0xcdb98c(0x7e)]();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x5af4be]&&((_0x13f12b===null||_0x13f12b[_0xcdb98c(0x6f)](_0x5af4be))&&_0x328e84[_0xcdb98c(0xf5)](_0x268ad4));}}}};return await _0x5a1835(_0x3df7d7),_0x328e84;}async['getAnalyzer'](_0x4d9e30){const _0x542ea2=a0_0x5a46b9;try{if(_0x4d9e30===STATIC_ANALYSIS[_0x542ea2(0xdb)][_0x542ea2(0x7b)]){if(!this['analyzers']['javascript']){const {default:_0xc7be0e}=await import('../analyzers/JavaScriptAnalyzer.js');this[_0x542ea2(0x119)]['javascript']=new _0xc7be0e(this[_0x542ea2(0x131)]);}return this[_0x542ea2(0x119)]['javascript'];}if(_0x4d9e30===STATIC_ANALYSIS['LANGUAGE'][_0x542ea2(0xf4)]){if(!this['analyzers']['typescript']){const {default:_0x14bd81}=await import(_0x542ea2(0x8f));this['analyzers']['typescript']=new _0x14bd81(this['logger']);}return this[_0x542ea2(0x119)][_0x542ea2(0xc4)];}if(_0x4d9e30===STATIC_ANALYSIS[_0x542ea2(0xdb)][_0x542ea2(0xdd)]){if(!this[_0x542ea2(0x119)]['python']){const {default:_0x15f9bb}=await import('../analyzers/PythonAnalyzer.js');this['analyzers']['python']=new _0x15f9bb(this['logger']);}return this['analyzers'][_0x542ea2(0x8b)];}if(_0x4d9e30===STATIC_ANALYSIS['LANGUAGE']['CSS']||_0x4d9e30===STATIC_ANALYSIS['LANGUAGE'][_0x542ea2(0x74)]||_0x4d9e30===STATIC_ANALYSIS[_0x542ea2(0xdb)][_0x542ea2(0x96)]){if(!this[_0x542ea2(0x119)][_0x542ea2(0x11c)]){const {default:_0x36f896}=await import('../analyzers/CSSAnalyzer.js');this['analyzers']['css']=new _0x36f896(this['logger']);}return this[_0x542ea2(0x119)]['css'];}return null;}catch(_0x2bdc82){return this['logger']?.[_0x542ea2(0x10b)]('Failed\x20to\x20load\x20analyzer',{'language':_0x4d9e30,'error':_0x2bdc82['message']}),null;}}async['getESLintAnalyzer'](){const _0x94be25=a0_0x5a46b9;if(!this['analyzers'][_0x94be25(0xcb)]){const {default:_0x5d1089}=await import(_0x94be25(0x68));this[_0x94be25(0x119)][_0x94be25(0xcb)]=new _0x5d1089(this[_0x94be25(0x131)]);}return this[_0x94be25(0x119)]['eslint'];}async[a0_0x5a46b9(0xa5)](){const _0x1810e6=a0_0x5a46b9;if(!this[_0x1810e6(0xd3)][_0x1810e6(0x118)]){const {default:_0x26d9cc}=await import('../analyzers/PrettierFormatter.js');this['formatters'][_0x1810e6(0x118)]=new _0x26d9cc(this['logger']);}return this[_0x1810e6(0xd3)]['prettier'];}async['getSecurityAnalyzer'](){const _0x466d8d=a0_0x5a46b9;if(!this[_0x466d8d(0x119)]['security']){const {default:_0x4fe519}=await import(_0x466d8d(0x125));this[_0x466d8d(0x119)][_0x466d8d(0x70)]=new _0x4fe519(this[_0x466d8d(0x131)]);}return this[_0x466d8d(0x119)]['security'];}async['getConfigValidator'](){const _0x5e29bd=a0_0x5a46b9;if(!this[_0x5e29bd(0x119)]['config']){const {default:_0x3d4135}=await import('../analyzers/ConfigValidator.js');this[_0x5e29bd(0x119)]['config']=new _0x3d4135(this[_0x5e29bd(0x131)]);}return this[_0x5e29bd(0x119)][_0x5e29bd(0x13c)];}[a0_0x5a46b9(0xe3)](_0x2ac380,_0x368116){const _0x28a6cc=a0_0x5a46b9;if(_0x368116['analyzed']){_0x2ac380['totalFiles']++;const _0x3bee5c=_0x368116[_0x28a6cc(0xcc)]?.[_0x28a6cc(0xd6)]||0x0,_0x8ef7dd=_0x368116['errors']?.[_0x28a6cc(0xd6)]||0x0,_0x43e51c=_0x368116['warnings']?.['length']||0x0,_0x47f458=_0x368116['info']?.['length']||0x0;_0x2ac380[_0x28a6cc(0x13a)]===undefined&&(_0x2ac380['totalCritical']=0x0);_0x2ac380['totalCritical']+=_0x3bee5c,_0x2ac380[_0x28a6cc(0x12a)]+=_0x8ef7dd,_0x2ac380['totalWarnings']+=_0x43e51c,_0x2ac380['totalInfo']+=_0x47f458;(_0x3bee5c>0x0||_0x8ef7dd>0x0)&&_0x2ac380[_0x28a6cc(0x135)]++;_0x368116[_0x28a6cc(0xec)]&&(_0x2ac380['filesByLanguage'][_0x368116[_0x28a6cc(0xec)]]=(_0x2ac380[_0x28a6cc(0xf7)][_0x368116[_0x28a6cc(0xec)]]||0x0)+0x1);const _0x3be6be=[..._0x368116['critical']||[],..._0x368116['errors']||[],..._0x368116['warnings']||[]];for(const _0x2e200b of _0x3be6be){_0x2e200b[_0x28a6cc(0xf1)]&&(_0x2ac380[_0x28a6cc(0xdf)][_0x2e200b['category']]=(_0x2ac380[_0x28a6cc(0xdf)][_0x2e200b['category']]||0x0)+0x1);}}}['computeContentHash'](_0x10973b){const _0x21367d=a0_0x5a46b9;return a0_0x28f0ae[_0x21367d(0xa7)]('sha256')[_0x21367d(0x66)](_0x10973b)['digest']('hex')[_0x21367d(0xe1)](0x0,0x10);}['getPerformanceMetrics'](){const _0x514776=a0_0x5a46b9,_0xc0377e=this[_0x514776(0x9f)]['totalAnalyses']>0x0?this[_0x514776(0x9f)][_0x514776(0xd5)]/this['metrics'][_0x514776(0xf9)]*0x64:0x0,_0x4a4133=this['metrics']['filesAnalyzed']>0x0?this['metrics'][_0x514776(0x127)]/this[_0x514776(0x9f)]['filesAnalyzed']:0x0;return{...this['metrics'],'cacheHitRate':Math['round'](_0xc0377e*0xa)/0xa,'averageAnalysisTime':Math[_0x514776(0x75)](_0x4a4133),'cacheSize':this['analysisCache']['size']};}['resetPerformanceMetrics'](){const _0x2d4c5a=a0_0x5a46b9;this[_0x2d4c5a(0x9f)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}[a0_0x5a46b9(0x109)](){const _0x2fe716=a0_0x5a46b9;this['analysisCache']['clear'](),this[_0x2fe716(0x131)]?.['debug'](_0x2fe716(0xac));}['getSupportedActions'](){const _0x2599db=a0_0x5a46b9;return['analyze','analyze-project','fix','format','security-scan',_0x2599db(0xda),'validate-config','validate-config-directory'];}[a0_0x5a46b9(0xdc)](){const _0x422047=a0_0x5a46b9;return{'type':_0x422047(0xd9),'properties':{'actions':{'type':_0x422047(0x79),'minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this[_0x422047(0xbd)]()},'filePath':{'type':'string'},'directory':{'type':_0x422047(0x137)},'pattern':{'type':_0x422047(0x137)},'includeWarnings':{'type':_0x422047(0x12d)},'maxErrors':{'type':'number'}},'required':[_0x422047(0xae)]}}},'required':[_0x422047(0x110)]};}}export default StaticAnalysisTool;
|