@loxia-labs/loxia-autopilot-one 1.0.3 → 1.0.4
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 +2 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
package/src/tools/seekTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3a250c=a0_0x29c1;(function(_0x254de9,_0x160ced){const _0x7aaeb6=a0_0x29c1,_0x367bcc=_0x254de9();while(!![]){try{const _0x13d145=parseInt(_0x7aaeb6(0xe0))/0x1*(-parseInt(_0x7aaeb6(0x88))/0x2)+-parseInt(_0x7aaeb6(0xd3))/0x3*(-parseInt(_0x7aaeb6(0xc8))/0x4)+-parseInt(_0x7aaeb6(0x11b))/0x5*(-parseInt(_0x7aaeb6(0x8f))/0x6)+-parseInt(_0x7aaeb6(0xe5))/0x7*(-parseInt(_0x7aaeb6(0xae))/0x8)+parseInt(_0x7aaeb6(0x11a))/0x9*(-parseInt(_0x7aaeb6(0x9d))/0xa)+parseInt(_0x7aaeb6(0xb8))/0xb+-parseInt(_0x7aaeb6(0xeb))/0xc;if(_0x13d145===_0x160ced)break;else _0x367bcc['push'](_0x367bcc['shift']());}catch(_0x13c27a){_0x367bcc['push'](_0x367bcc['shift']());}}}(a0_0x2f90,0x21209));function a0_0x29c1(_0x2bf797,_0x43681f){_0x2bf797=_0x2bf797-0x88;const _0x2f90f4=a0_0x2f90();let _0x29c1a4=_0x2f90f4[_0x2bf797];if(a0_0x29c1['ioUHrO']===undefined){var _0x4a7341=function(_0x28345d){const _0x3f5a4e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf5f143='',_0x464161='';for(let _0x4d8b1f=0x0,_0x10872e,_0x3faf32,_0x30c016=0x0;_0x3faf32=_0x28345d['charAt'](_0x30c016++);~_0x3faf32&&(_0x10872e=_0x4d8b1f%0x4?_0x10872e*0x40+_0x3faf32:_0x3faf32,_0x4d8b1f++%0x4)?_0xf5f143+=String['fromCharCode'](0xff&_0x10872e>>(-0x2*_0x4d8b1f&0x6)):0x0){_0x3faf32=_0x3f5a4e['indexOf'](_0x3faf32);}for(let _0x3a21f0=0x0,_0x52efc3=_0xf5f143['length'];_0x3a21f0<_0x52efc3;_0x3a21f0++){_0x464161+='%'+('00'+_0xf5f143['charCodeAt'](_0x3a21f0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x464161);};a0_0x29c1['rqXPTi']=_0x4a7341,a0_0x29c1['XWdRHZ']={},a0_0x29c1['ioUHrO']=!![];}const _0x38f937=_0x2f90f4[0x0],_0x453615=_0x2bf797+_0x38f937,_0x37d3c0=a0_0x29c1['XWdRHZ'][_0x453615];return!_0x37d3c0?(_0x29c1a4=a0_0x29c1['rqXPTi'](_0x29c1a4),a0_0x29c1['XWdRHZ'][_0x453615]=_0x29c1a4):_0x29c1a4=_0x37d3c0,_0x29c1a4;}import{BaseTool}from'./baseTool.js';function a0_0x2f90(){const _0x2636e3=['lNnV','rMLSzsb0B28GBgfYz2uGka','u2vLAYb0B29Sigv4zwn1DgLVBIbMywLSzwq','lNjZ','rgLYzwn0B3j5ig5VDcbMB3vUzcbMB3iGz2XVyIbWyxr0zxjU','tuiGCgvYigzPBguklsbdyxnLlxnLBNnPDgL2zsbZzwfYy2GGB25SEqOTiev4ywn0ihn0CMLUzYbTyxrJAgLUzYaOBM90ihjLz2v4kqOTifbHDgHZig91DhnPzguGywnJzxnZAwjSzsbKAxjLy3rVCMLLCYb3AwXSigjLihjLCg9YDgvKigfZicjUB3qGzM91BMqIcIaGica','lNPZAa','mZGYmJiWDw1ItM9T','z2v0rgvZy3jPChrPB24','lI4U','lNnXBgL0zq','C2HVDwXKu2TPCerPCMvJDg9YEq','lMjHC2G','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','tufyx0zjtevFu0LArq','lMjTCa','lNDTDG','tufyx0zjtevFuefusfm','lMv4zq','C3rHCNrZv2L0Aa','C2vLA0nVBMzPzW','AxngAwXL','lMDPzG','C2HVDwXKu2TPCezPBgu','mJy4mZyWB2rwEfnc','lMHWCa','tuiSig1HEca','yNvPBgq','D2fYBG','C3vIC3rYAw5N','Bwf0y2HLC0j5vgvYBq','tufyx01bvenirvnFuevsx0zjteu','ig1HDgnOzxmPcG','CM91BMq','mtG3mJKWnfLhBM1LrW','AxneAxjLy3rVCNK','zxHWyw5Kr2XVyLbHDhrLCM4','tufyx0XjtKvFq09ovevovf9mru5hveG','zxHLy3v0zq','DhjPBq','C3rHDa','kIOV','icHUB3qGAw4GywnJzxnZAwjSzsbKAxjLy3rVCMLLCYK','zxnJyxbLuMvNrxHW','tufyx0zjtevtx1bfuL9trufsq0G','lM1K','lNrVBwW','lMrI','tuiGCgvYigzPBguklsbszxr1CM5ZihvWihrVia','lMr5BgLI','mZeWntG4uKTwuK9w','B3v0','Bwf0y2HLC1bHDhrLCM4','lNnHC3m','CMvXDwLYzxnqCM9Qzwn0','tufyx1rpvefmx01bvenirvm','y3DK','zw50CMLLCW','CMvHze9UBhLeAxjLy3rVCMLLCW','AxnbCNjHEq','DgvZDa','ovjzEK56sG','zMLSzvbHDgG','BwvZC2fNzq','lMLJBW','igzPBguOCYKUcG','lMnZCW','zM91BMq','BgLUzu51BwjLCG','lNDVzMyY','lMf2Aq','lMH0BwW','x19WEwnHy2HLx18','lNnJC3m','mJq4mJC5CerTBMHh','CMvZB2X2zuzPBgvqyxrOCW','CMvWBgfJzq','AM9PBG','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','mtrICvnfze0','CMvZB2X2zq','Bwf0y2HLCW','BM90rM91BMq','zMLSzvbHDgHZ','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','mtaYmJuYywvdsgX1','tuiP','AxnqyxrOqwnJzxnZAwjSzq','Aw5KzxHpzG','lMnVBMy','rxHLy3v0Aw5NihnLzwSGDg9VBa','twf4Aw11BsbKAxjLy3rVCNKGzgvWDgGGCMvHy2HLza','BMfTzq','ks4Gu29TzsbTyxrJAgvZig1HEsbUB3qGyMuGC2HVD24UcG','qMfZzsbKAxjLy3rVCNKGBM90igzVDw5KigzVCIbNBg9IihbHDhrLCM4','rKLmrvmGv0LuscbfuLjpuLm6cG','C2vHCMnOrMLSzxm','lMDPDa','BgvUz3rO','ChvZAa','lMrHDa','zxjYB3jgAwXLCW','igzPBguOCYKPoGOk','DgvYBq','icaTia','lMPWzW','lNrHCG','lMDV','icHUB3qGysbYzwD1BgfYigzPBguP','rMLSzsbWyxrOia','lNb5','icHPCYbHigrPCMvJDg9YEsWGBM90igeGzMLSzsK','D29YA2LUz0rPCMvJDg9YEq','lNnO','C3rYAw5N','zxHLyW','ic0G','Bg9Nz2vY','lMnHy2HL','twf4Aw11BsbTyxrJAgvZihbLCIbMAwXLihjLywnOzwq','vg9Vig1HBNKGC2vHCMnOihrLCM1ZicHTyxGG','iIaO','BwfW','lMPZB24','DMvUzg9Y','ks4Gtwf4Aw11BsbPCYa','CgfYC2vqyxjHBwv0zxjZ','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','CMvHzezPBgu','lNbUzW','lMvVDa','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','nJnRzvbrAvO','mJy2nwjctxrwyW','C3bSAxq','Aw5JBhvKzxm','zMLUzezPBgvZuMvJDxjZAxzLBhK','zxjYB3i','Dg9mB3DLCKnHC2u','C2vHCMnOvgvYBxm','mKzmt0zwCa','lJD6','rKLmrvmGtK9uiezpvu5eoGO','vg9Vig1HBNKGzMLSzxmGDg8GC2vHCMnOicG','lM1VDG','lNr0zG','CMvSyxrPDMu','mJeZnK9rwMrIra','y2XLyw51Ca','lNLTBa','lMPWzwC','lNPPCa','DgLTzw91Da','lMLUAq'];a0_0x2f90=function(){return _0x2636e3;};return a0_0x2f90();}import a0_0xf5f143 from'../utilities/tagParser.js';import{promises as a0_0x464161}from'fs';import a0_0x4d8b1f from'path';const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING='utf-8',BINARY_EXTENSIONS=new Set([a0_0x3a250c(0x117),a0_0x3a250c(0xff),a0_0x3a250c(0x92),a0_0x3a250c(0xac),a0_0x3a250c(0xa5),a0_0x3a250c(0xd6),'.svg','.pdf',a0_0x3a250c(0x93),a0_0x3a250c(0x100),'.gz','.rar',a0_0x3a250c(0x89),a0_0x3a250c(0xa8),'.dll',a0_0x3a250c(0x96),a0_0x3a250c(0xc7),'.mp3','.mp4',a0_0x3a250c(0xdc),a0_0x3a250c(0x8c),a0_0x3a250c(0xa6),'.woff',a0_0x3a250c(0xdb),a0_0x3a250c(0x8d),a0_0x3a250c(0x118),'.bin',a0_0x3a250c(0xfa),a0_0x3a250c(0xc5),a0_0x3a250c(0xa0)]);class SeekTool extends BaseTool{constructor(_0x10872e={},_0x3faf32=null){const _0x5d78a7=a0_0x3a250c;super(_0x10872e,_0x3faf32),this[_0x5d78a7(0xcc)]=!![],this['isAsync']=!![],this[_0x5d78a7(0x94)]=_0x10872e['timeout']||0x1d4c0,this['seekConfig']={...SEEK_CONFIG,..._0x10872e[_0x5d78a7(0xaa)]};}[a0_0x3a250c(0x9e)](){const _0x564f0b=a0_0x3a250c;return'\x0aSeek\x20Tool:\x20Search\x20for\x20specific\x20content\x20within\x20project\x20files.\x20Highly\x20recommended\x20for\x20verifying\x20imports,\x20function\x20usage,\x20and\x20variable\x20references.\x0a\x0aXML\x20USAGE:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20file/path/one.js\x0a\x20\x20\x20\x20file/path/two.js\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20one</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20two</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20three</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aJSON\x20USAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x0a\x20\x20\x20\x20\x22src/components/Header.js\x22,\x0a\x20\x20\x20\x20\x22src/utils/*.js\x22,\x0a\x20\x20\x20\x20\x22src/**/*.jsx\x22\x0a\x20\x20],\x0a\x20\x20\x22searchTerms\x22:\x20[\x0a\x20\x20\x20\x20\x22import\x20React\x22,\x0a\x20\x20\x20\x20\x22useState\x22,\x0a\x20\x20\x20\x20\x22function\x20handleSubmit\x22\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20GLOB\x20PATTERNS:\x0a-\x20*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20in\x20a\x20directory\x0a-\x20**/*.js\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20recursively\x0a-\x20src/**/*.jsx\x20\x20\x20-\x20All\x20.jsx\x20files\x20under\x20src/\x20recursively\x0a-\x20components/*.*\x20-\x20All\x20files\x20in\x20components/\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Find\x20function\x20usage:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/*.js\x0a\x20\x20\x20\x20src/utils/helpers.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>function\x20handleSubmit</term>\x0a\x20\x20\x20\x20<term>useState(</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x202\x20-\x20Verify\x20imports:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/Header.js\x0a\x20\x20\x20\x20src/components/Footer.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>import\x20React</term>\x0a\x20\x20\x20\x20<term>import\x20{\x20useState\x20}</term>\x0a\x20\x20\x20\x20<term>from\x20\x27react\x27</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x203\x20-\x20Find\x20variable\x20references:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>apiClient</term>\x0a\x20\x20\x20\x20<term>config.apiUrl</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x204\x20-\x20Search\x20specific\x20files\x20only:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20package.json\x0a\x20\x20\x20\x20tsconfig.json\x0a\x20\x20\x20\x20.gitignore\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>react</term>\x0a\x20\x20\x20\x20<term>typescript</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aFEATURES:\x0a-\x20Searches\x20for\x20exact\x20string\x20matches\x20(case-sensitive)\x0a-\x20Returns\x20file\x20path,\x20line\x20number,\x20and\x20line\x20content\x20for\x20each\x20match\x0a-\x20Supports\x20glob\x20patterns\x20for\x20flexible\x20file\x20selection\x0a-\x20Skips\x20binary\x20files\x20automatically\x0a-\x20Reports\x20files\x20not\x20found\x20and\x20files\x20with\x20errors\x0a-\x20Limited\x20to\x20'+SEEK_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+_0x564f0b(0xc6)+SEEK_CONFIG['MAX_TOTAL_MATCHES']+'\x20matches\x20total\x0a\x0aRESULT\x20FORMAT:\x0aThe\x20tool\x20returns:\x0a-\x20List\x20of\x20files\x20that\x20were\x20not\x20found\x0a-\x20List\x20of\x20files\x20that\x20had\x20errors\x20during\x20search\x0a-\x20For\x20each\x20search\x20term:\x0a\x20\x20-\x20File\x20path\x20where\x20found\x0a\x20\x20-\x20Line\x20number\x0a\x20\x20-\x20Line\x20content\x20(trimmed)\x0a\x0aMULTI-DIRECTORY\x20SUPPORT:\x0aWhen\x20an\x20agent\x20has\x20multiple\x20directories\x20configured,\x20the\x20SeekTool\x20can\x20search\x20across\x20all\x20of\x20them:\x0a-\x20Relative\x20paths\x20are\x20resolved\x20from\x20the\x20working\x20directory\x0a-\x20Absolute\x20paths\x20can\x20reference\x20any\x20accessible\x20directory\x0a-\x20Automatic\x20validation\x20ensures\x20paths\x20are\x20within\x20allowed\x20directories\x0a\x0aExample\x20with\x20multiple\x20directories:\x0aIf\x20agent\x20has\x20access\x20to:\x0a\x20\x20-\x20/home/user/project1\x20(working\x20directory)\x0a\x20\x20-\x20/home/user/project2\x20(read-only)\x0a\x20\x20-\x20/home/user/shared\x20(read-only)\x0a\x0aYou\x20can\x20search:\x0a\x20\x20src/**/*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20Searches\x20in\x20/home/user/project1/src/**/*.js\x0a\x20\x20/home/user/project2/config.json\x20\x20\x20\x20\x20\x20\x20→\x20Searches\x20in\x20project2\x20(absolute\x20path)\x0a\x20\x20/home/user/shared/docs/*.md\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20Searches\x20in\x20shared\x20directory\x0a\x0aLIMITATIONS:\x0a-\x20Maximum\x20'+SEEK_CONFIG[_0x564f0b(0xc2)]+'\x20files\x20per\x20search\x0a-\x20Maximum\x20'+SEEK_CONFIG['MAX_SEARCH_TERMS']+'\x20search\x20terms\x0a-\x20Maximum\x20'+SEEK_CONFIG[_0x564f0b(0xa4)]/(0x400*0x400)+_0x564f0b(0x9b);}[a0_0x3a250c(0x114)](_0x30c016){const _0x1147d3=a0_0x3a250c;try{if(_0x30c016['trim']()[_0x1147d3(0xa9)]('{')){const _0x3129af=JSON['parse'](_0x30c016);return{'filePaths':_0x3129af[_0x1147d3(0xe9)]||[],'searchTerms':_0x3129af['searchTerms']||[]};}const _0x3a21f0={'filePaths':[],'searchTerms':[]},_0x52efc3=/<in-files>([\s\S]*?)<\/in-files>/i,_0x6e152e=_0x52efc3[_0x1147d3(0x109)](_0x30c016);if(_0x6e152e){const _0x87cb09=_0x6e152e[0x1];_0x3a21f0[_0x1147d3(0xe9)]=_0x87cb09[_0x1147d3(0x11c)]('\x0a')[_0x1147d3(0x110)](_0x5e88a7=>_0x5e88a7['trim']())['filter'](_0x3db61b=>_0x3db61b['length']>0x0);}const _0x10a9ca=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x1df2f6=_0x10a9ca['exec'](_0x30c016);if(_0x1df2f6){const _0x15ff1f=_0x1df2f6[0x1],_0x42abb1=/<term>(.*?)<\/term>/gi;let _0x36104d;while((_0x36104d=_0x42abb1['exec'](_0x15ff1f))!==null){const _0x533b15=_0x36104d[0x1][_0x1147d3(0xbd)]();_0x533b15[_0x1147d3(0xf8)]>0x0&&_0x3a21f0[_0x1147d3(0x121)]['push'](_0x533b15);}}return _0x3a21f0;}catch(_0x50c134){return this['logger']?.[_0x1147d3(0x11f)]('Failed\x20to\x20parse\x20seek\x20parameters',{'error':_0x50c134['message']}),{'filePaths':[],'searchTerms':[],'parseError':_0x50c134[_0x1147d3(0xd5)]};}}[a0_0x3a250c(0xea)](){const _0x613e20=a0_0x3a250c;return[_0x613e20(0xe9),_0x613e20(0x121)];}['customValidateParameters'](_0x13b5e3){const _0x5c8ddc=a0_0x3a250c,_0x4014a6=[];if(!_0x13b5e3['filePaths']||!Array[_0x5c8ddc(0xd1)](_0x13b5e3[_0x5c8ddc(0xe9)])||_0x13b5e3['filePaths']['length']===0x0)_0x4014a6[_0x5c8ddc(0xf9)]('At\x20least\x20one\x20file\x20path\x20is\x20required');else _0x13b5e3['filePaths'][_0x5c8ddc(0xf8)]>this['seekConfig'][_0x5c8ddc(0xa7)]&&_0x4014a6[_0x5c8ddc(0xf9)]('Too\x20many\x20file\x20paths\x20(max\x20'+this['seekConfig']['MAX_FILE_PATHS']+')');if(!_0x13b5e3['searchTerms']||!Array['isArray'](_0x13b5e3['searchTerms'])||_0x13b5e3['searchTerms']['length']===0x0)_0x4014a6[_0x5c8ddc(0xf9)]('At\x20least\x20one\x20search\x20term\x20is\x20required');else _0x13b5e3['searchTerms']['length']>this[_0x5c8ddc(0xaa)]['MAX_SEARCH_TERMS']&&_0x4014a6[_0x5c8ddc(0xf9)](_0x5c8ddc(0x10e)+this['seekConfig']['MAX_SEARCH_TERMS']+')');if(_0x13b5e3[_0x5c8ddc(0x121)]&&Array['isArray'](_0x13b5e3['searchTerms']))for(const [_0x3df2f9,_0x86cf26]of _0x13b5e3['searchTerms'][_0x5c8ddc(0xcf)]()){(typeof _0x86cf26!==_0x5c8ddc(0x108)||_0x86cf26[_0x5c8ddc(0xbd)]()['length']===0x0)&&_0x4014a6[_0x5c8ddc(0xf9)]('Search\x20term\x20'+(_0x3df2f9+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string');}if(_0x13b5e3[_0x5c8ddc(0xe9)]&&Array[_0x5c8ddc(0xd1)](_0x13b5e3[_0x5c8ddc(0xe9)]))for(const [_0x1724f8,_0x3fa833]of _0x13b5e3['filePaths']['entries']()){(typeof _0x3fa833!==_0x5c8ddc(0x108)||_0x3fa833[_0x5c8ddc(0xbd)]()[_0x5c8ddc(0xf8)]===0x0)&&_0x4014a6['push']('File\x20path\x20'+(_0x1724f8+0x1)+_0x5c8ddc(0xa3)),_0x3fa833['includes']('..')&&_0x4014a6['push'](_0x5c8ddc(0x103)+(_0x1724f8+0x1)+':\x20path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');}return{'valid':_0x4014a6['length']===0x0,'errors':_0x4014a6};}async[a0_0x3a250c(0xbc)](_0x4a2efd,_0xbee323){const _0x4814fa=a0_0x3a250c,{filePaths:_0x151c6f,searchTerms:_0x2bc3ba}=_0x4a2efd,{projectDir:_0x27b2fd,agentId:_0xa3900,directoryAccess:_0x237255}=_0xbee323;let _0x267730=_0x27b2fd||process[_0x4814fa(0xce)](),_0x333e4d=[_0x267730];_0x237255&&_0x237255[_0x4814fa(0x106)]&&(_0x267730=_0x237255[_0x4814fa(0x106)],_0x333e4d=this['getAllAccessibleDirectories'](_0x237255),this[_0x4814fa(0x10b)]?.['info']('Using\x20agent\x20configured\x20directory\x20access',{'workingDirectory':_0x237255[_0x4814fa(0x106)],'totalAccessibleDirs':_0x333e4d['length'],'readOnlyDirs':_0x237255['readOnlyDirectories']?.[_0x4814fa(0xf8)]||0x0,'writeEnabledDirs':_0x237255['writeEnabledDirectories']?.['length']||0x0,'agentId':_0xa3900}));if(!_0x267730)throw new Error('Project\x20directory\x20is\x20required\x20for\x20seek\x20tool');this['logger']?.['info'](_0x4814fa(0xf0),{'filePathCount':_0x151c6f[_0x4814fa(0xf8)],'searchTermCount':_0x2bc3ba['length'],'workingDirectory':_0x267730,'accessibleDirectories':_0x333e4d['length'],'agentId':_0xa3900});try{const _0x5dc34e=await this['resolveFilePaths'](_0x151c6f,_0x267730,_0x237255?_0x333e4d:null),_0x4da0e0=_0x5dc34e['found'],_0x459a61=_0x5dc34e['notFound'];if(_0x4da0e0['length']>this['seekConfig'][_0x4814fa(0xc2)])return{'success':![],'error':_0x4814fa(0x8b)+_0x4da0e0['length']+_0x4814fa(0x113)+this['seekConfig']['MAX_FILES_PER_SEARCH']+'.\x20Use\x20more\x20specific\x20file\x20patterns.','filesResolved':_0x4da0e0['length'],'filesNotFound':_0x459a61['length']};const _0x337442=await this[_0x4814fa(0xf6)](_0x4da0e0,_0x2bc3ba,_0x267730),_0x3bb5bd=this['formatResults'](_0x337442[_0x4814fa(0xe7)],_0x337442['errorFiles'],_0x459a61,_0x4da0e0[_0x4814fa(0xf8)]);return{'success':!![],'filesSearched':_0x4da0e0['length'],'filesNotFound':_0x459a61[_0x4814fa(0xf8)],'filesWithErrors':_0x337442[_0x4814fa(0xfb)][_0x4814fa(0xf8)],'totalMatches':_0x337442[_0x4814fa(0xe7)][_0x4814fa(0xf8)],'matchesByTerm':_0x337442[_0x4814fa(0xb4)],'formattedResults':_0x3bb5bd,'toolUsed':'seek'};}catch(_0x50e58c){this[_0x4814fa(0x10b)]?.['error'](_0x4814fa(0x98),{'error':_0x50e58c[_0x4814fa(0xd5)]});throw _0x50e58c;}}['getAllAccessibleDirectories'](_0x4ca1a1){const _0x294658=a0_0x3a250c,_0x2ec64b=new Set();_0x4ca1a1[_0x294658(0x106)]&&_0x2ec64b['add'](_0x4ca1a1['workingDirectory']);if(_0x4ca1a1[_0x294658(0xd0)]&&Array['isArray'](_0x4ca1a1['readOnlyDirectories']))for(const _0x179e59 of _0x4ca1a1[_0x294658(0xd0)]){_0x2ec64b['add'](_0x179e59);}if(_0x4ca1a1[_0x294658(0xe4)]&&Array['isArray'](_0x4ca1a1['writeEnabledDirectories']))for(const _0x1f3fa0 of _0x4ca1a1['writeEnabledDirectories']){_0x2ec64b['add'](_0x1f3fa0);}return Array['from'](_0x2ec64b);}[a0_0x3a250c(0xed)](_0x244d3b,_0x28b6a2){for(const _0x4a07be of _0x28b6a2){const _0x5bdaab=a0_0x4d8b1f['relative'](_0x4a07be,_0x244d3b),_0x2f3b50=!_0x5bdaab['startsWith']('..')&&!a0_0x4d8b1f['isAbsolute'](_0x5bdaab);if(_0x2f3b50)return!![];}return![];}async[a0_0x3a250c(0xe1)](_0x78c55b,_0x91a8a4,_0x36c652=null){const _0xb4e743=a0_0x3a250c,_0x4c04bc={'found':[],'notFound':[]};for(const _0x42c1f4 of _0x78c55b){const _0x802c=_0x42c1f4['trim']();if(_0x802c['includes']('*')){const _0x14dc25=await this['expandGlobPattern'](_0x802c,_0x91a8a4);_0x14dc25[_0xb4e743(0xd9)][_0xb4e743(0xf8)]>0x0?_0x4c04bc[_0xb4e743(0xd9)]['push'](..._0x14dc25[_0xb4e743(0xd9)]):_0x4c04bc[_0xb4e743(0xe8)][_0xb4e743(0xf9)](_0x802c+'\x20(no\x20matching\x20files)');}else{const _0xb014f9=a0_0x4d8b1f['isAbsolute'](_0x802c)?_0x802c:a0_0x4d8b1f[_0xb4e743(0xe6)](_0x91a8a4,_0x802c);if(_0x36c652&&_0x36c652[_0xb4e743(0xf8)]>0x0){if(!this[_0xb4e743(0xed)](_0xb014f9,_0x36c652)){_0x4c04bc['notFound'][_0xb4e743(0xf9)](_0x802c+_0xb4e743(0xc0));continue;}}try{const _0x56d6fd=await a0_0x464161[_0xb4e743(0xbe)](_0xb014f9);if(_0x56d6fd[_0xb4e743(0xab)]())_0x4c04bc[_0xb4e743(0xd9)]['push'](_0xb014f9);else _0x56d6fd[_0xb4e743(0xb9)]()?_0x4c04bc['notFound']['push'](_0x802c+_0xb4e743(0x105)):_0x4c04bc[_0xb4e743(0xe8)][_0xb4e743(0xf9)](_0x802c+_0xb4e743(0x102));}catch(_0x23b212){_0x4c04bc[_0xb4e743(0xe8)]['push'](_0x802c+'\x20('+(_0x23b212['code']||_0x23b212['message'])+')');}}}return _0x4c04bc;}async[a0_0x3a250c(0xba)](_0x3cbabb,_0x23dc82){const _0x3bac28=a0_0x3a250c,_0x1b0fda={'found':[]};if(_0x3cbabb[_0x3bac28(0x11d)]('**/')){const [_0x2a73e4,_0x68c670]=_0x3cbabb[_0x3bac28(0x11c)](_0x3bac28(0xbf)),_0x5d4532=a0_0x4d8b1f['resolve'](_0x23dc82,_0x2a73e4);try{const _0x433173=await a0_0x464161['stat'](_0x5d4532);_0x433173[_0x3bac28(0xb9)]()&&await this['findFilesRecursively'](_0x5d4532,_0x68c670,_0x1b0fda[_0x3bac28(0xd9)],0x0,this[_0x3bac28(0xaa)]['MAX_DIRECTORY_DEPTH']);}catch(_0x5ded8b){this[_0x3bac28(0x10b)]?.[_0x3bac28(0xb2)](_0x3bac28(0xf4),{'basePath':_0x5d4532,'error':_0x5ded8b[_0x3bac28(0xd5)]});}}else{if(_0x3cbabb['includes']('*')){const _0x1dd374=a0_0x4d8b1f['dirname'](a0_0x4d8b1f[_0x3bac28(0xe6)](_0x23dc82,_0x3cbabb)),_0x560432=a0_0x4d8b1f['basename'](_0x3cbabb);try{const _0x233cf1=await a0_0x464161['stat'](_0x1dd374);if(_0x233cf1[_0x3bac28(0xb9)]()){const _0x4ebc02=await a0_0x464161['readdir'](_0x1dd374);for(const _0x17ec0b of _0x4ebc02){const _0x3ff3fb=a0_0x4d8b1f[_0x3bac28(0xe3)](_0x1dd374,_0x17ec0b);try{const _0x5c7822=await a0_0x464161['stat'](_0x3ff3fb);_0x5c7822[_0x3bac28(0xab)]()&&this[_0x3bac28(0xca)](_0x17ec0b,_0x560432)&&_0x1b0fda[_0x3bac28(0xd9)]['push'](_0x3ff3fb);}catch(_0x595e4c){continue;}}}}catch(_0x1cc63b){this['logger']?.[_0x3bac28(0xb2)](_0x3bac28(0x9a),{'dirPath':_0x1dd374,'error':_0x1cc63b[_0x3bac28(0xd5)]});}}}return _0x1b0fda;}async['findFilesRecursively'](_0x2bdd01,_0x5c7d0e,_0x247972,_0x2f0587,_0x3e9025){const _0x59a57a=a0_0x3a250c;if(_0x2f0587>=_0x3e9025){this['logger']?.['warn'](_0x59a57a(0xf1),{'dir':_0x2bdd01,'currentDepth':_0x2f0587});return;}try{const _0x579f5b=await a0_0x464161['readdir'](_0x2bdd01,{'withFileTypes':!![]});for(const _0x353f14 of _0x579f5b){if(_0x353f14['name']['startsWith']('.'))continue;const _0x33f6a0=a0_0x4d8b1f[_0x59a57a(0xe3)](_0x2bdd01,_0x353f14['name']);try{if(_0x353f14[_0x59a57a(0xb9)]()){if(this[_0x59a57a(0xa1)](_0x353f14[_0x59a57a(0xf2)]))continue;await this[_0x59a57a(0x11e)](_0x33f6a0,_0x5c7d0e,_0x247972,_0x2f0587+0x1,_0x3e9025);}else{if(_0x353f14['isFile']()){if(this['matchesPattern'](_0x353f14[_0x59a57a(0xf2)],_0x5c7d0e)){_0x247972[_0x59a57a(0xf9)](_0x33f6a0);if(_0x247972[_0x59a57a(0xf8)]>=this[_0x59a57a(0xaa)][_0x59a57a(0xc2)])return;}}}}catch(_0x2ed0e3){continue;}}}catch(_0x46ffcb){this['logger']?.[_0x59a57a(0xb2)]('Error\x20reading\x20directory',{'dir':_0x2bdd01,'error':_0x46ffcb[_0x59a57a(0xd5)]});}}['matchesPattern'](_0x120b83,_0x260d57){const _0x41b31c=a0_0x3a250c,_0x3705a0=_0x260d57['split']('*')['map'](_0x508c57=>this[_0x41b31c(0xc1)](_0x508c57))['join']('.*'),_0xaea6bd=new RegExp('^'+_0x3705a0+'$','i');return _0xaea6bd[_0x41b31c(0xd2)](_0x120b83);}['escapeRegExp'](_0x2be1c3){const _0x284c62=a0_0x3a250c;return _0x2be1c3[_0x284c62(0xe2)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');}[a0_0x3a250c(0xa1)](_0x23addb){const _0x2d48f3=a0_0x3a250c,_0xacb523=new Set(['node_modules',_0x2d48f3(0xf7),'dist',_0x2d48f3(0xb1),'coverage','.next','.nuxt',_0x2d48f3(0xc9),'target',_0x2d48f3(0x112),_0x2d48f3(0xde),_0x2d48f3(0x10c),'tmp','temp']);return _0xacb523['has'](_0x23addb[_0x2d48f3(0x120)]());}[a0_0x3a250c(0xad)](_0xa1306){const _0x48b916=a0_0x3a250c,_0xfaacb4=a0_0x4d8b1f['extname'](_0xa1306)[_0x48b916(0x120)]();return BINARY_EXTENSIONS['has'](_0xfaacb4);}async['searchFiles'](_0xa68b29,_0x2da80c,_0x1ae18f){const _0x3bcffd=a0_0x3a250c,_0x19abf0=[],_0x5cd4a9=[];let _0x2288b0=0x0;for(const _0x4cacb4 of _0xa68b29){if(this['shouldSkipFile'](_0x4cacb4))continue;try{const _0x3f6107=await a0_0x464161[_0x3bcffd(0xbe)](_0x4cacb4);if(_0x3f6107['size']>this['seekConfig']['MAX_FILE_SIZE']){_0x5cd4a9[_0x3bcffd(0xf9)]({'filePath':a0_0x4d8b1f['relative'](_0x1ae18f,_0x4cacb4),'error':_0x3bcffd(0x97)+Math['round'](_0x3f6107['size']/(0x400*0x400))+_0x3bcffd(0xb0)+Math[_0x3bcffd(0xb7)](this['seekConfig'][_0x3bcffd(0xa4)]/(0x400*0x400))+_0x3bcffd(0xec)});continue;}const _0x29b5a9=await this['searchInFile'](_0x4cacb4,_0x2da80c,_0x1ae18f);_0x19abf0[_0x3bcffd(0xf9)](..._0x29b5a9),_0x2288b0+=_0x29b5a9[_0x3bcffd(0xf8)];if(_0x2288b0>=this[_0x3bcffd(0xaa)][_0x3bcffd(0xcd)]){this[_0x3bcffd(0x10b)]?.[_0x3bcffd(0xb2)]('Maximum\x20total\x20matches\x20reached',{'totalMatches':_0x2288b0});break;}}catch(_0x434449){_0x5cd4a9[_0x3bcffd(0xf9)]({'filePath':a0_0x4d8b1f[_0x3bcffd(0x8e)](_0x1ae18f,_0x4cacb4),'error':_0x434449[_0x3bcffd(0xd5)]});}}const _0xfe174a={};for(const _0x1c5b87 of _0x19abf0){!_0xfe174a[_0x1c5b87[_0x3bcffd(0xfd)]]&&(_0xfe174a[_0x1c5b87[_0x3bcffd(0xfd)]]=[]),_0xfe174a[_0x1c5b87['term']][_0x3bcffd(0xf9)]({'filePath':_0x1c5b87['filePath'],'lineNumber':_0x1c5b87['lineNumber'],'lineContent':_0x1c5b87['lineContent']});}return{'matches':_0x19abf0,'matchesByTerm':_0xfe174a,'errorFiles':_0x5cd4a9};}async['searchInFile'](_0x3198cc,_0x4a117b,_0x1cee46){const _0x56f03c=a0_0x3a250c,_0x58b871=[];let _0x314432=0x0;try{const _0x342085=await a0_0x464161[_0x56f03c(0x116)](_0x3198cc,FILE_ENCODING),_0x3beb38=_0x342085[_0x56f03c(0x11c)]('\x0a'),_0x4d9e86=a0_0x4d8b1f['relative'](_0x1cee46,_0x3198cc);for(let _0x2fc57f=0x0;_0x2fc57f<_0x3beb38['length'];_0x2fc57f++){const _0x20e04a=_0x3beb38[_0x2fc57f],_0x2bc6ed=_0x2fc57f+0x1;for(const _0x53cc4f of _0x4a117b){if(_0x20e04a[_0x56f03c(0x11d)](_0x53cc4f)){let _0x5bc2c0=_0x20e04a;if(_0x5bc2c0[_0x56f03c(0xf8)]>this[_0x56f03c(0xaa)][_0x56f03c(0xbb)]){const _0x201c92=_0x5bc2c0[_0x56f03c(0xee)](_0x53cc4f),_0x30b4da=Math['max'](0x0,_0x201c92-0x32),_0x47c8fc=Math['min'](_0x5bc2c0[_0x56f03c(0xf8)],_0x201c92+_0x53cc4f['length']+0x32);_0x5bc2c0=(_0x30b4da>0x0?_0x56f03c(0x9f):'')+_0x5bc2c0[_0x56f03c(0xb3)](_0x30b4da,_0x47c8fc)+(_0x47c8fc<_0x5bc2c0['length']?_0x56f03c(0x9f):'');}_0x58b871[_0x56f03c(0xf9)]({'term':_0x53cc4f,'filePath':_0x4d9e86,'lineNumber':_0x2bc6ed,'lineContent':_0x5bc2c0[_0x56f03c(0xbd)]()}),_0x314432++;if(_0x314432>=this[_0x56f03c(0xaa)][_0x56f03c(0xb5)])return this['logger']?.['warn'](_0x56f03c(0x10d),{'filePath':_0x4d9e86}),_0x58b871;}}}}catch(_0x5b4ee6){throw new Error('Failed\x20to\x20read\x20file:\x20'+_0x5b4ee6['message']);}return _0x58b871;}['formatResults'](_0x176267,_0x489db4,_0x415bfe,_0x2e3177){const _0xabd97d=a0_0x3a250c;let _0x32830e='';if(_0x415bfe['length']>0x0){_0x32830e+=_0xabd97d(0x8a);for(const _0x4f5457 of _0x415bfe){_0x32830e+=_0xabd97d(0xfe)+_0x4f5457+'\x0a';}_0x32830e+='\x0a';}if(_0x489db4[_0xabd97d(0xf8)]>0x0){_0x32830e+=_0xabd97d(0xf5);for(const _0x4c8c35 of _0x489db4){_0x32830e+=_0xabd97d(0xfe)+_0x4c8c35[_0xabd97d(0xd4)]+':\x20'+_0x4c8c35[_0xabd97d(0x11f)]+'\x0a';}_0x32830e+='\x0a';}if(_0x176267['length']===0x0)_0x32830e+='No\x20matches\x20found\x20for\x20the\x20specified\x20search\x20terms\x20in\x20'+_0x2e3177+_0xabd97d(0xd7);else{const _0x587a1e={};for(const _0x2f9a1f of _0x176267){!_0x587a1e[_0x2f9a1f['term']]&&(_0x587a1e[_0x2f9a1f[_0xabd97d(0xfd)]]=[]),_0x587a1e[_0x2f9a1f[_0xabd97d(0xfd)]]['push'](_0x2f9a1f);}_0x32830e+='SEARCH\x20RESULTS\x20('+_0x176267['length']+'\x20total\x20matches\x20in\x20'+_0x2e3177+_0xabd97d(0xfc);for(const [_0x5a6d1b,_0x430287]of Object[_0xabd97d(0xcf)](_0x587a1e)){_0x32830e+='Search\x20term:\x20\x22'+_0x5a6d1b+_0xabd97d(0x10f)+_0x430287[_0xabd97d(0xf8)]+_0xabd97d(0xb6);for(const _0x2a8572 of _0x430287){_0x32830e+='\x20\x20'+_0x2a8572['filePath']+':'+_0x2a8572[_0xabd97d(0xda)]+_0xabd97d(0x10a)+_0x2a8572['lineContent']+'\x0a';}_0x32830e+='\x0a';}_0x176267[_0xabd97d(0xf8)]>=this['seekConfig'][_0xabd97d(0xcd)]&&(_0x32830e+='⚠️\x20\x20Maximum\x20matches\x20limit\x20reached\x20('+this['seekConfig']['MAX_TOTAL_MATCHES']+_0xabd97d(0xf3));}return _0x32830e['trim']();}[a0_0x3a250c(0x115)](){const _0x8c2cb8=a0_0x3a250c;return['.js','.jsx','.ts','.tsx',_0x8c2cb8(0x111),'.xml',_0x8c2cb8(0xdd),_0x8c2cb8(0xd8),_0x8c2cb8(0xdf),_0x8c2cb8(0xcb),'.less',_0x8c2cb8(0xc3),'.txt','.log',_0x8c2cb8(0x104),'.rb','.java',_0x8c2cb8(0x101),_0x8c2cb8(0x99),'.c','.cpp','.h',_0x8c2cb8(0xaf),_0x8c2cb8(0x107),_0x8c2cb8(0xa2),_0x8c2cb8(0x9c),_0x8c2cb8(0x91),'.yaml',_0x8c2cb8(0xc4),_0x8c2cb8(0x95),_0x8c2cb8(0xef)];}async[a0_0x3a250c(0x90)](_0x1b74b6){const _0x21d323=a0_0x3a250c;this[_0x21d323(0x10b)]?.['info'](_0x21d323(0x119),{'operationId':_0x1b74b6});}}export default SeekTool;
|
|
1
|
+
const a0_0x5ead5f=a0_0x22d4;(function(_0x8448b5,_0x470bf0){const _0x1328b1=a0_0x22d4,_0x4e5c72=_0x8448b5();while(!![]){try{const _0x41f2f2=parseInt(_0x1328b1(0xbb))/0x1*(-parseInt(_0x1328b1(0xc5))/0x2)+-parseInt(_0x1328b1(0x100))/0x3+parseInt(_0x1328b1(0xf9))/0x4+-parseInt(_0x1328b1(0xd2))/0x5*(-parseInt(_0x1328b1(0x11b))/0x6)+parseInt(_0x1328b1(0xbe))/0x7+-parseInt(_0x1328b1(0xba))/0x8+parseInt(_0x1328b1(0xaf))/0x9;if(_0x41f2f2===_0x470bf0)break;else _0x4e5c72['push'](_0x4e5c72['shift']());}catch(_0x4f979b){_0x4e5c72['push'](_0x4e5c72['shift']());}}}(a0_0x33e8,0xefab1));import{BaseTool}from'./baseTool.js';function a0_0x22d4(_0xa78133,_0x56259c){_0xa78133=_0xa78133-0x9d;const _0x33e8a5=a0_0x33e8();let _0x22d40e=_0x33e8a5[_0xa78133];if(a0_0x22d4['mLsVYN']===undefined){var _0x591650=function(_0x9acd27){const _0x543a8d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x255fed='',_0x313b56='';for(let _0x37e18d=0x0,_0x5ed48b,_0x95246a,_0x2eb0ba=0x0;_0x95246a=_0x9acd27['charAt'](_0x2eb0ba++);~_0x95246a&&(_0x5ed48b=_0x37e18d%0x4?_0x5ed48b*0x40+_0x95246a:_0x95246a,_0x37e18d++%0x4)?_0x255fed+=String['fromCharCode'](0xff&_0x5ed48b>>(-0x2*_0x37e18d&0x6)):0x0){_0x95246a=_0x543a8d['indexOf'](_0x95246a);}for(let _0x3b4229=0x0,_0x41489f=_0x255fed['length'];_0x3b4229<_0x41489f;_0x3b4229++){_0x313b56+='%'+('00'+_0x255fed['charCodeAt'](_0x3b4229)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x313b56);};a0_0x22d4['jfJHTZ']=_0x591650,a0_0x22d4['PCgpic']={},a0_0x22d4['mLsVYN']=!![];}const _0x39a939=_0x33e8a5[0x0],_0x3b27e8=_0xa78133+_0x39a939,_0x2e7e66=a0_0x22d4['PCgpic'][_0x3b27e8];return!_0x2e7e66?(_0x22d40e=a0_0x22d4['jfJHTZ'](_0x22d40e),a0_0x22d4['PCgpic'][_0x3b27e8]=_0x22d40e):_0x22d40e=_0x2e7e66,_0x22d40e;}function a0_0x33e8(){const _0x1b61dc=['yNvPBgq','zM9YBwf0uMvZDwX0CW','lMXLC3m','lNjZ','lMPZB24','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','BwvZC2fNzq','qxqGBgvHC3qGB25LigzPBguGCgf0AcbPCYbYzxf1AxjLza','C2L6zq','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO','mJCYntKYoeHODenRDG','lM1WmW','yMfZzw5HBwu','CMvSyxrPDMu','zxHLyW','lNrHCG','rxHLy3v0Aw5NihnLzwSGDg9VBa','ndaZnZiZmLnMqwfPuG','C2vHCMnOrMLSzxm','lNnV','tufyx0zjtevFu0LArq','rMfPBgvKihrVihbHCNnLihnLzwSGCgfYyw1LDgvYCW','C3bSAxq','AxngAwXL','ihnLyxjJAcb0zxjTCWOTie1HEgLTDw0G','lMrHDa','vg9Vig1HBNKGzMLSzsbWyxrOCYaOBwf4ia','lM5LEhq','DgvZDa','C3vIC3rYAw5N','C2HVDwXKu2TPCezPBgu','tM8GBwf0y2HLCYbMB3vUzcbMB3iGDgHLihnWzwnPzMLLzcbZzwfYy2GGDgvYBxmGAw4G','CgfYC2vqyxjHBwv0zxjZ','CMvHzgrPCG','Bwf0y2HLC1bHDhrLCM4','u2vHCMnOihrLCM0G','oIbWyxrOihrYyxzLCNnHBcaOlI4Pig5VDcbHBgXVD2vKigzVCIbZzwn1CML0Eq','C2vLA0nVBMzPzW','DhjPBq','zM91BMq','icHUB3qGAw4GywnJzxnZAwjSzsbKAxjLy3rVCMLLCYK','lMjTCa','iIaO','lMPZEa','mtiWwxLQzK1K','Aw5JBhvKzxm','Dg1W','AgfZ','CM91BMq','CMvHze9UBhLeAxjLy3rVCMLLCW','twf4Aw11Bsb0B3rHBcbTyxrJAgvZihjLywnOzwq','C3rHCNrZv2L0Aa','lI4U','z2v0rgvZy3jPChrPB24','zNjVBq','lM51Ehq','lNnXBgL0zq','DMvUzg9Y','lNrZEa','CMvZB2X2zuzPBgvqyxrOCW','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','D29YA2LUz0rPCMvJDg9YEq','Bg9Nz2vY','zMLSDgvY','igzPBgvZihbLCIbZzwfYy2GklsbnyxHPBxvTia','ig1HDgnOzxmPcG','nty3odeXogX5A3vlyW','lNjHCG','lMPWzW','AxnbCNjHEq','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','lNnJC3m','AxneAxjLy3rVCNK','tufyx0zjtevtx1bfuL9trufsq0G','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','lJD6','C2vHCMnOsw5gAwXL','mZi2oduYme90D3PRAa','mJy1mJaXEgXyC1HP','zxjYB3i','zxjYB3jgAwXLCW','mta1nJm0odn1C2HmqwO','DgLTzw91Da','ywrK','zgLZDa','DgvYBq','tufyx1rpvefmx01bvenirvm','u2vLAYb0B29Sigv4zwn1DgLVBIbMywLSzwq','nNHUDu9Iwq','lMrSBa','ig1HDgnOzxmGDg90ywWkcLjfu1vmvcbgt1jnqvq6cLrOzsb0B29SihjLDhvYBNm6cI0GtgLZDcbVzIbMAwXLCYb0Agf0ihDLCMuGBM90igzVDw5KcI0GtgLZDcbVzIbMAwXLCYb0Agf0igHHzcbLCNjVCNmGzhvYAw5NihnLyxjJAaOTiezVCIbLywnOihnLyxjJAcb0zxjToGOGic0GrMLSzsbWyxrOihDOzxjLigzVDw5KcIaGlsbmAw5Lig51BwjLCGOGic0GtgLUzsbJB250zw50icH0CMLTBwvKkqOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDOzw4Gyw4GywDLBNqGAgfZig11BhrPCgXLigrPCMvJDg9YAwvZignVBMzPz3vYzwqSihrOzsbtzwvRvg9VBcbJyw4GC2vHCMnOigfJCM9ZCYbHBgWGB2yGDgHLBtOklsbszwXHDgL2zsbWyxrOCYbHCMuGCMvZB2X2zwqGzNjVBsb0AguGD29YA2LUzYbKAxjLy3rVCNKklsbbyNnVBhv0zsbWyxrOCYbJyw4GCMvMzxjLBMnLigfUEsbHy2nLC3nPyMXLigrPCMvJDg9YEqOTief1Dg9TyxrPyYb2ywXPzgf0Aw9UigvUC3vYzxmGCgf0AhmGyxjLihDPDgHPBIbHBgXVD2vKigrPCMvJDg9YAwvZcGPfEgfTCgXLihDPDgGGBxvSDgLWBguGzgLYzwn0B3jPzxm6cKLMigfNzw50igHHCYbHy2nLC3mGDg86cIaGlsaVAg9Tzs91C2vYl3bYB2PLy3qXicH3B3jRAw5NigrPCMvJDg9YEsKkicaTic9OB21Ll3vZzxiVChjVAMvJDdiGkhjLywqTB25SEsKkicaTic9OB21Ll3vZzxiVC2HHCMvKicHYzwfKlw9UBhKPcGPzB3uGy2fUihnLyxjJAdOkicbZCMmVkIOVkI5QCYaGicaGicaGicaGicaGicaGicaGicaGicaGiokgKIbtzwfYy2HLCYbPBIaVAg9Tzs91C2vYl3bYB2PLy3qXl3nYyY8QkI8QlMPZcIaGl2HVBwuVDxnLCI9WCM9Qzwn0mI9JB25MAwCUANnVBIaGicaGicdIHPiGu2vHCMnOzxmGAw4GChjVAMvJDdiGkgfIC29SDxrLihbHDgGPcIaGl2HVBwuVDxnLCI9ZAgfYzwqVzg9JCY8QlM1KicaGicaGicaGicdIHPiGu2vHCMnOzxmGAw4GC2HHCMvKigrPCMvJDg9YEqOkteLnsvrbveLptLm6cI0Gtwf4Aw11Bsa','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','qMfZzsbKAxjLy3rVCNKGBM90igzVDw5KigzVCIbNBg9IihbHDhrLCM4','C3rHDa','tuiSig1HEca','twf4Aw11BsbKAxjLy3rVCNKGzgvWDgGGCMvHy2HLza','BgvUz3rO','AxnbC3LUyW','lMXVzW','zxnJyxbLuMvNrxHW','C2HVDwXKu2TPCerPCMvJDg9YEq','mtC3ntm1u0L0y0nP','Bwf0y2HLC0j5vgvYBq','C2vHCMnOvgvYBxm','ChvZAa','tufyx0rjuKvdve9swv9ervbusa','ihrVDgfSig1HDgnOzxmGAw4G','lNrZ','Aw5KzxHpzG','zMLUzezPBgvZuMvJDxjZAxzLBhK','B3v0','lMv4zq','lMPZ','BM90rM91BMq','zxH0BMfTzq','BwLU','lNnO','D2fYBG','AxnqyxrOqwnJzxnZAwjSzq','icHUBYbTyxrJAgLUzYbMAwXLCYK','zw50CMLLCW','Aw5MBW','rKLmrvmGv0LuscbfuLjpuLm6cG','lNjI','lMDV','zMLSzvbHDgHZ','u2vHCMnOihrLCM06ici','lNLTBa','AM9PBG','BMfTzq'];a0_0x33e8=function(){return _0x1b61dc;};return a0_0x33e8();}import a0_0x255fed from'../utilities/tagParser.js';import{promises as a0_0x313b56}from'fs';import a0_0x37e18d from'path';const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING='utf-8',BINARY_EXTENSIONS=new Set(['.png',a0_0x5ead5f(0xb1),'.jpeg','.gif',a0_0x5ead5f(0x118),'.ico','.svg','.pdf','.zip',a0_0x5ead5f(0xfe),'.gz',a0_0x5ead5f(0xb0),a0_0x5ead5f(0xb8),a0_0x5ead5f(0xdc),a0_0x5ead5f(0xc6),a0_0x5ead5f(0x102),'.dylib',a0_0x5ead5f(0xfa),'.mp4','.avi','.mov','.wmv','.woff','.woff2','.ttf','.eot','.bin',a0_0x5ead5f(0x108),'.db',a0_0x5ead5f(0xa5)]);class SeekTool extends BaseTool{constructor(_0x5ed48b={},_0x95246a=null){const _0x15993b=a0_0x5ead5f;super(_0x5ed48b,_0x95246a),this['requiresProject']=!![],this[_0x15993b(0xce)]=!![],this['timeout']=_0x5ed48b[_0x15993b(0xbf)]||0x1d4c0,this['seekConfig']={...SEEK_CONFIG,..._0x5ed48b[_0x15993b(0x114)]};}[a0_0x5ead5f(0xa2)](){const _0x26afe9=a0_0x5ead5f;return'\x0aSeek\x20Tool:\x20Search\x20for\x20specific\x20content\x20within\x20project\x20files.\x20Highly\x20recommended\x20for\x20verifying\x20imports,\x20function\x20usage,\x20and\x20variable\x20references.\x0a\x0aXML\x20USAGE:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20file/path/one.js\x0a\x20\x20\x20\x20file/path/two.js\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20one</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20two</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20three</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aJSON\x20USAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x0a\x20\x20\x20\x20\x22src/components/Header.js\x22,\x0a\x20\x20\x20\x20\x22src/utils/*.js\x22,\x0a\x20\x20\x20\x20\x22src/**/*.jsx\x22\x0a\x20\x20],\x0a\x20\x20\x22searchTerms\x22:\x20[\x0a\x20\x20\x20\x20\x22import\x20React\x22,\x0a\x20\x20\x20\x20\x22useState\x22,\x0a\x20\x20\x20\x20\x22function\x20handleSubmit\x22\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20GLOB\x20PATTERNS:\x0a-\x20*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20in\x20a\x20directory\x0a-\x20**/*.js\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20recursively\x0a-\x20src/**/*.jsx\x20\x20\x20-\x20All\x20.jsx\x20files\x20under\x20src/\x20recursively\x0a-\x20components/*.*\x20-\x20All\x20files\x20in\x20components/\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Find\x20function\x20usage:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/*.js\x0a\x20\x20\x20\x20src/utils/helpers.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>function\x20handleSubmit</term>\x0a\x20\x20\x20\x20<term>useState(</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x202\x20-\x20Verify\x20imports:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/Header.js\x0a\x20\x20\x20\x20src/components/Footer.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>import\x20React</term>\x0a\x20\x20\x20\x20<term>import\x20{\x20useState\x20}</term>\x0a\x20\x20\x20\x20<term>from\x20\x27react\x27</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x203\x20-\x20Find\x20variable\x20references:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>apiClient</term>\x0a\x20\x20\x20\x20<term>config.apiUrl</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x204\x20-\x20Search\x20specific\x20files\x20only:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20package.json\x0a\x20\x20\x20\x20tsconfig.json\x0a\x20\x20\x20\x20.gitignore\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>react</term>\x0a\x20\x20\x20\x20<term>typescript</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aFEATURES:\x0a-\x20Searches\x20for\x20exact\x20string\x20matches\x20(case-sensitive)\x0a-\x20Returns\x20file\x20path,\x20line\x20number,\x20and\x20line\x20content\x20for\x20each\x20match\x0a-\x20Supports\x20glob\x20patterns\x20for\x20flexible\x20file\x20selection\x0a-\x20Skips\x20binary\x20files\x20automatically\x0a-\x20Reports\x20files\x20not\x20found\x20and\x20files\x20with\x20errors\x0a-\x20Limited\x20to\x20'+SEEK_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+'MB\x20per\x20file\x0a-\x20Returns\x20up\x20to\x20'+SEEK_CONFIG[_0x26afe9(0xc3)]+_0x26afe9(0xc7)+SEEK_CONFIG[_0x26afe9(0xb6)]+_0x26afe9(0xad)+SEEK_CONFIG['MAX_SEARCH_TERMS']+_0x26afe9(0x107)+SEEK_CONFIG[_0x26afe9(0x103)]/(0x400*0x400)+'MB\x20per\x20file\x0a-\x20Case-sensitive\x20search\x20only\x0a-\x20Exact\x20string\x20matching\x20(not\x20regex)\x0a-\x20Paths\x20outside\x20accessible\x20directories\x20will\x20be\x20reported\x20as\x20\x22not\x20found\x22\x0a\x20\x20\x20\x20';}[a0_0x5ead5f(0x10f)](_0x2eb0ba){const _0x47fac6=a0_0x5ead5f;try{if(_0x2eb0ba['trim']()[_0x47fac6(0xa0)]('{')){const _0x3f87fe=JSON['parse'](_0x2eb0ba);return{'filePaths':_0x3f87fe[_0x47fac6(0xea)]||[],'searchTerms':_0x3f87fe[_0x47fac6(0xd4)]||[]};}const _0x3b4229={'filePaths':[],'searchTerms':[]},_0x41489f=/<in-files>([\s\S]*?)<\/in-files>/i,_0x2b2071=_0x41489f[_0x47fac6(0xfd)](_0x2eb0ba);if(_0x2b2071){const _0x298e8c=_0x2b2071[0x1];_0x3b4229[_0x47fac6(0xea)]=_0x298e8c[_0x47fac6(0x105)]('\x0a')['map'](_0xa3c541=>_0xa3c541[_0x47fac6(0x115)]())[_0x47fac6(0xac)](_0x3e9a95=>_0x3e9a95['length']>0x0);}const _0x42498c=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x2e19bb=_0x42498c['exec'](_0x2eb0ba);if(_0x2e19bb){const _0x451dc5=_0x2e19bb[0x1],_0x4e13a5=/<term>(.*?)<\/term>/gi;let _0x225f68;while((_0x225f68=_0x4e13a5['exec'](_0x451dc5))!==null){const _0x5543f8=_0x225f68[0x1]['trim']();_0x5543f8[_0x47fac6(0xcd)]>0x0&&_0x3b4229[_0x47fac6(0xd4)][_0x47fac6(0xd5)](_0x5543f8);}}return _0x3b4229;}catch(_0x4289c9){return this[_0x47fac6(0xab)]?.[_0x47fac6(0xbc)](_0x47fac6(0x104),{'error':_0x4289c9[_0x47fac6(0xf5)]}),{'filePaths':[],'searchTerms':[],'parseError':_0x4289c9[_0x47fac6(0xf5)]};}}[a0_0x5ead5f(0xb7)](){const _0x29c3bd=a0_0x5ead5f;return[_0x29c3bd(0xea),_0x29c3bd(0xd4)];}['customValidateParameters'](_0x33f187){const _0x3cb798=a0_0x5ead5f,_0x423ce6=[];if(!_0x33f187[_0x3cb798(0xea)]||!Array[_0x3cb798(0xb2)](_0x33f187[_0x3cb798(0xea)])||_0x33f187[_0x3cb798(0xea)]['length']===0x0)_0x423ce6['push'](_0x3cb798(0xf6));else _0x33f187['filePaths']['length']>this['seekConfig']['MAX_FILE_PATHS']&&_0x423ce6[_0x3cb798(0xd5)](_0x3cb798(0x109)+this['seekConfig']['MAX_FILE_PATHS']+')');if(!_0x33f187['searchTerms']||!Array[_0x3cb798(0xb2)](_0x33f187[_0x3cb798(0xd4)])||_0x33f187['searchTerms'][_0x3cb798(0xcd)]===0x0)_0x423ce6[_0x3cb798(0xd5)]('At\x20least\x20one\x20search\x20term\x20is\x20required');else _0x33f187['searchTerms']['length']>this[_0x3cb798(0x114)]['MAX_SEARCH_TERMS']&&_0x423ce6['push']('Too\x20many\x20search\x20terms\x20(max\x20'+this[_0x3cb798(0x114)]['MAX_SEARCH_TERMS']+')');if(_0x33f187['searchTerms']&&Array[_0x3cb798(0xb2)](_0x33f187['searchTerms']))for(const [_0x208acf,_0x20143e]of _0x33f187[_0x3cb798(0xd4)][_0x3cb798(0xe5)]()){(typeof _0x20143e!=='string'||_0x20143e['trim']()[_0x3cb798(0xcd)]===0x0)&&_0x423ce6[_0x3cb798(0xd5)](_0x3cb798(0x112)+(_0x208acf+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string');}if(_0x33f187['filePaths']&&Array[_0x3cb798(0xb2)](_0x33f187[_0x3cb798(0xea)]))for(const [_0x49fab3,_0x232168]of _0x33f187['filePaths'][_0x3cb798(0xe5)]()){(typeof _0x232168!=='string'||_0x232168['trim']()['length']===0x0)&&_0x423ce6[_0x3cb798(0xd5)]('File\x20path\x20'+(_0x49fab3+0x1)+_0x3cb798(0xc8)),_0x232168['includes']('..')&&_0x423ce6['push']('File\x20path\x20'+(_0x49fab3+0x1)+_0x3cb798(0x113));}return{'valid':_0x423ce6['length']===0x0,'errors':_0x423ce6};}async['execute'](_0x50b73a,_0xadcb1f){const _0xf35c84=a0_0x5ead5f,{filePaths:_0x9ba6ee,searchTerms:_0xbb30d1}=_0x50b73a,{projectDir:_0x48496e,agentId:_0x32bef0,directoryAccess:_0x4bf1ee}=_0xadcb1f;let _0x1cc415=_0x48496e||process['cwd'](),_0x4765e7=[_0x1cc415];_0x4bf1ee&&_0x4bf1ee[_0xf35c84(0xaa)]&&(_0x1cc415=_0x4bf1ee['workingDirectory'],_0x4765e7=this['getAllAccessibleDirectories'](_0x4bf1ee),this[_0xf35c84(0xab)]?.[_0xf35c84(0xe6)]('Using\x20agent\x20configured\x20directory\x20access',{'workingDirectory':_0x4bf1ee[_0xf35c84(0xaa)],'totalAccessibleDirs':_0x4765e7['length'],'readOnlyDirs':_0x4bf1ee['readOnlyDirectories']?.[_0xf35c84(0xcd)]||0x0,'writeEnabledDirs':_0x4bf1ee[_0xf35c84(0xa9)]?.[_0xf35c84(0xcd)]||0x0,'agentId':_0x32bef0}));if(!_0x1cc415)throw new Error('Project\x20directory\x20is\x20required\x20for\x20seek\x20tool');this[_0xf35c84(0xab)]?.['info'](_0xf35c84(0xff),{'filePathCount':_0x9ba6ee['length'],'searchTermCount':_0xbb30d1[_0xf35c84(0xcd)],'workingDirectory':_0x1cc415,'accessibleDirectories':_0x4765e7['length'],'agentId':_0x32bef0});try{const _0xc397ff=await this[_0xf35c84(0xa8)](_0x9ba6ee,_0x1cc415,_0x4bf1ee?_0x4765e7:null),_0x260bc8=_0xc397ff['found'],_0x3918b4=_0xc397ff[_0xf35c84(0xde)];if(_0x260bc8[_0xf35c84(0xcd)]>this['seekConfig']['MAX_FILES_PER_SEARCH'])return{'success':![],'error':'Too\x20many\x20files\x20to\x20search\x20('+_0x260bc8['length']+').\x20Maximum\x20is\x20'+this['seekConfig'][_0xf35c84(0xb6)]+'.\x20Use\x20more\x20specific\x20file\x20patterns.','filesResolved':_0x260bc8['length'],'filesNotFound':_0x3918b4['length']};const _0xc72ffc=await this['searchFiles'](_0x260bc8,_0xbb30d1,_0x1cc415),_0x26bc24=this[_0xf35c84(0xf0)](_0xc72ffc['matches'],_0xc72ffc[_0xf35c84(0xbd)],_0x3918b4,_0x260bc8[_0xf35c84(0xcd)]);return{'success':!![],'filesSearched':_0x260bc8['length'],'filesNotFound':_0x3918b4['length'],'filesWithErrors':_0xc72ffc['errorFiles'][_0xf35c84(0xcd)],'totalMatches':_0xc72ffc['matches']['length'],'matchesByTerm':_0xc72ffc[_0xf35c84(0xd3)],'formattedResults':_0x26bc24,'toolUsed':'seek'};}catch(_0xc08f97){this[_0xf35c84(0xab)]?.['error'](_0xf35c84(0xc4),{'error':_0xc08f97['message']});throw _0xc08f97;}}['getAllAccessibleDirectories'](_0x10826f){const _0x49a5f0=a0_0x5ead5f,_0x36865e=new Set();_0x10826f[_0x49a5f0(0xaa)]&&_0x36865e['add'](_0x10826f['workingDirectory']);if(_0x10826f[_0x49a5f0(0x9e)]&&Array[_0x49a5f0(0xb2)](_0x10826f['readOnlyDirectories']))for(const _0x46cc95 of _0x10826f['readOnlyDirectories']){_0x36865e['add'](_0x46cc95);}if(_0x10826f['writeEnabledDirectories']&&Array[_0x49a5f0(0xb2)](_0x10826f['writeEnabledDirectories']))for(const _0x106ecc of _0x10826f['writeEnabledDirectories']){_0x36865e[_0x49a5f0(0xc0)](_0x106ecc);}return Array[_0x49a5f0(0xa3)](_0x36865e);}[a0_0x5ead5f(0xe3)](_0x49805a,_0x52b75d){const _0x187327=a0_0x5ead5f;for(const _0x58ee8d of _0x52b75d){const _0x5741a0=a0_0x37e18d[_0x187327(0xfc)](_0x58ee8d,_0x49805a),_0x307e27=!_0x5741a0['startsWith']('..')&&!a0_0x37e18d['isAbsolute'](_0x5741a0);if(_0x307e27)return!![];}return![];}async[a0_0x5ead5f(0xa8)](_0xd1e338,_0x396e14,_0x40a507=null){const _0x4bd069=a0_0x5ead5f,_0x5aa279={'found':[],'notFound':[]};for(const _0x489e1a of _0xd1e338){const _0x22e560=_0x489e1a['trim']();if(_0x22e560[_0x4bd069(0x11c)]('*')){const _0x46cbed=await this['expandGlobPattern'](_0x22e560,_0x396e14);_0x46cbed['found']['length']>0x0?_0x5aa279['found']['push'](..._0x46cbed[_0x4bd069(0x116)]):_0x5aa279[_0x4bd069(0xde)][_0x4bd069(0xd5)](_0x22e560+_0x4bd069(0xe4));}else{const _0x5b70d2=a0_0x37e18d['isAbsolute'](_0x22e560)?_0x22e560:a0_0x37e18d['resolve'](_0x396e14,_0x22e560);if(_0x40a507&&_0x40a507[_0x4bd069(0xcd)]>0x0){if(!this['isPathAccessible'](_0x5b70d2,_0x40a507)){_0x5aa279[_0x4bd069(0xde)]['push'](_0x22e560+_0x4bd069(0x117));continue;}}try{const _0x2ece79=await a0_0x313b56[_0x4bd069(0xca)](_0x5b70d2);if(_0x2ece79[_0x4bd069(0x106)]())_0x5aa279[_0x4bd069(0x116)][_0x4bd069(0xd5)](_0x5b70d2);else _0x2ece79['isDirectory']()?_0x5aa279['notFound'][_0x4bd069(0xd5)](_0x22e560+'\x20(is\x20a\x20directory,\x20not\x20a\x20file)'):_0x5aa279['notFound'][_0x4bd069(0xd5)](_0x22e560+'\x20(not\x20a\x20regular\x20file)');}catch(_0x2a7ada){_0x5aa279['notFound'][_0x4bd069(0xd5)](_0x22e560+'\x20('+(_0x2a7ada['code']||_0x2a7ada['message'])+')');}}}return _0x5aa279;}async['expandGlobPattern'](_0xbc09d4,_0x431ec5){const _0x396aab=a0_0x5ead5f,_0x173976={'found':[]};if(_0xbc09d4[_0x396aab(0x11c)]('**/')){const [_0x30d640,_0x2ab81f]=_0xbc09d4[_0x396aab(0x105)]('**/'),_0x4abf1c=a0_0x37e18d['resolve'](_0x431ec5,_0x30d640);try{const _0x3e3057=await a0_0x313b56[_0x396aab(0xca)](_0x4abf1c);_0x3e3057['isDirectory']()&&await this[_0x396aab(0xda)](_0x4abf1c,_0x2ab81f,_0x173976['found'],0x0,this['seekConfig'][_0x396aab(0xd6)]);}catch(_0x3821f7){this[_0x396aab(0xab)]?.['warn'](_0x396aab(0xc9),{'basePath':_0x4abf1c,'error':_0x3821f7[_0x396aab(0xf5)]});}}else{if(_0xbc09d4['includes']('*')){const _0x35939f=a0_0x37e18d['dirname'](a0_0x37e18d['resolve'](_0x431ec5,_0xbc09d4)),_0x1bb583=a0_0x37e18d[_0x396aab(0xfb)](_0xbc09d4);try{const _0x4ba7f8=await a0_0x313b56[_0x396aab(0xca)](_0x35939f);if(_0x4ba7f8[_0x396aab(0xb5)]()){const _0x1fe6e3=await a0_0x313b56[_0x396aab(0x110)](_0x35939f);for(const _0x192d9b of _0x1fe6e3){const _0x3aef0c=a0_0x37e18d[_0x396aab(0xed)](_0x35939f,_0x192d9b);try{const _0x2d3d9e=await a0_0x313b56['stat'](_0x3aef0c);_0x2d3d9e['isFile']()&&this['matchesPattern'](_0x192d9b,_0x1bb583)&&_0x173976[_0x396aab(0x116)]['push'](_0x3aef0c);}catch(_0x410140){continue;}}}}catch(_0x4d8301){this[_0x396aab(0xab)]?.[_0x396aab(0xe2)]('Directory\x20not\x20found\x20for\x20glob\x20pattern',{'dirPath':_0x35939f,'error':_0x4d8301['message']});}}}return _0x173976;}async['findFilesRecursively'](_0x344d2c,_0x2e6212,_0x567a61,_0x104cba,_0x181962){const _0x9f94c=a0_0x5ead5f;if(_0x104cba>=_0x181962){this[_0x9f94c(0xab)]?.['warn'](_0x9f94c(0xcc),{'dir':_0x344d2c,'currentDepth':_0x104cba});return;}try{const _0x6d6721=await a0_0x313b56[_0x9f94c(0x110)](_0x344d2c,{'withFileTypes':!![]});for(const _0x3f6ba9 of _0x6d6721){if(_0x3f6ba9[_0x9f94c(0xee)][_0x9f94c(0xa0)]('.'))continue;const _0x2629a3=a0_0x37e18d['join'](_0x344d2c,_0x3f6ba9['name']);try{if(_0x3f6ba9[_0x9f94c(0xb5)]()){if(this['shouldSkipDirectory'](_0x3f6ba9[_0x9f94c(0xee)]))continue;await this['findFilesRecursively'](_0x2629a3,_0x2e6212,_0x567a61,_0x104cba+0x1,_0x181962);}else{if(_0x3f6ba9[_0x9f94c(0x106)]()){if(this[_0x9f94c(0x111)](_0x3f6ba9[_0x9f94c(0xee)],_0x2e6212)){_0x567a61['push'](_0x2629a3);if(_0x567a61['length']>=this['seekConfig'][_0x9f94c(0xb6)])return;}}}}catch(_0xe6c433){continue;}}}catch(_0x41a286){this['logger']?.[_0x9f94c(0xe2)](_0x9f94c(0xf4),{'dir':_0x344d2c,'error':_0x41a286['message']});}}[a0_0x5ead5f(0x111)](_0x58ca62,_0x39651a){const _0x25b97d=a0_0x5ead5f,_0x7f86e1=_0x39651a[_0x25b97d(0x105)]('*')['map'](_0x2a43a0=>this[_0x25b97d(0xd0)](_0x2a43a0))['join']('.*'),_0x3e3962=new RegExp('^'+_0x7f86e1+'$','i');return _0x3e3962[_0x25b97d(0x10b)](_0x58ca62);}['escapeRegExp'](_0x6c3191){return _0x6c3191['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');}[a0_0x5ead5f(0xd1)](_0x274819){const _0xda1d7a=a0_0x5ead5f,_0x12c0be=new Set(['node_modules','.git',_0xda1d7a(0xc1),_0xda1d7a(0xef),'coverage',_0xda1d7a(0x10a),_0xda1d7a(0xa4),_0xda1d7a(0xdb),'target',_0xda1d7a(0xa6),'__pycache__','.cache',_0xda1d7a(0x11d),'temp']);return _0x12c0be[_0xda1d7a(0x11e)](_0x274819['toLowerCase']());}['shouldSkipFile'](_0x31f520){const _0x3b0712=a0_0x5ead5f,_0x4bd121=a0_0x37e18d[_0x3b0712(0xdf)](_0x31f520)['toLowerCase']();return BINARY_EXTENSIONS['has'](_0x4bd121);}async[a0_0x5ead5f(0x101)](_0x21c073,_0x29752f,_0x4b3309){const _0x4120ca=a0_0x5ead5f,_0x5e0ccb=[],_0x429b9c=[];let _0xf0b257=0x0;for(const _0x405ee1 of _0x21c073){if(this[_0x4120ca(0x10d)](_0x405ee1))continue;try{const _0x4f7df8=await a0_0x313b56[_0x4120ca(0xca)](_0x405ee1);if(_0x4f7df8[_0x4120ca(0xf7)]>this[_0x4120ca(0x114)][_0x4120ca(0x103)]){_0x429b9c[_0x4120ca(0xd5)]({'filePath':a0_0x37e18d['relative'](_0x4b3309,_0x405ee1),'error':'File\x20too\x20large\x20('+Math[_0x4120ca(0x9d)](_0x4f7df8['size']/(0x400*0x400))+_0x4120ca(0xcb)+Math[_0x4120ca(0x9d)](this[_0x4120ca(0x114)]['MAX_FILE_SIZE']/(0x400*0x400))+'MB)'});continue;}const _0x10b8e8=await this[_0x4120ca(0xb9)](_0x405ee1,_0x29752f,_0x4b3309);_0x5e0ccb[_0x4120ca(0xd5)](..._0x10b8e8),_0xf0b257+=_0x10b8e8['length'];if(_0xf0b257>=this['seekConfig']['MAX_TOTAL_MATCHES']){this['logger']?.['warn'](_0x4120ca(0x9f),{'totalMatches':_0xf0b257});break;}}catch(_0x5605d3){_0x429b9c['push']({'filePath':a0_0x37e18d['relative'](_0x4b3309,_0x405ee1),'error':_0x5605d3[_0x4120ca(0xf5)]});}}const _0x8a18d6={};for(const _0x27bc4e of _0x5e0ccb){!_0x8a18d6[_0x27bc4e[_0x4120ca(0xc2)]]&&(_0x8a18d6[_0x27bc4e['term']]=[]),_0x8a18d6[_0x27bc4e['term']][_0x4120ca(0xd5)]({'filePath':_0x27bc4e['filePath'],'lineNumber':_0x27bc4e['lineNumber'],'lineContent':_0x27bc4e['lineContent']});}return{'matches':_0x5e0ccb,'matchesByTerm':_0x8a18d6,'errorFiles':_0x429b9c};}async['searchInFile'](_0x535d07,_0x1d7150,_0x142eaa){const _0x33e8db=a0_0x5ead5f,_0x3e37a3=[];let _0x2ffa57=0x0;try{const _0x1ac3d1=await a0_0x313b56['readFile'](_0x535d07,FILE_ENCODING),_0x3eaf28=_0x1ac3d1[_0x33e8db(0x105)]('\x0a'),_0x1b5d28=a0_0x37e18d[_0x33e8db(0xfc)](_0x142eaa,_0x535d07);for(let _0x1bd6fa=0x0;_0x1bd6fa<_0x3eaf28['length'];_0x1bd6fa++){const _0x5aa02c=_0x3eaf28[_0x1bd6fa],_0x33d873=_0x1bd6fa+0x1;for(const _0x1abb0b of _0x1d7150){if(_0x5aa02c[_0x33e8db(0x11c)](_0x1abb0b)){let _0x10bc44=_0x5aa02c;if(_0x10bc44['length']>this[_0x33e8db(0x114)]['MAX_LINE_CONTENT_LENGTH']){const _0x523504=_0x10bc44[_0x33e8db(0xd9)](_0x1abb0b),_0x2106e8=Math['max'](0x0,_0x523504-0x32),_0x550fed=Math[_0x33e8db(0xe0)](_0x10bc44[_0x33e8db(0xcd)],_0x523504+_0x1abb0b[_0x33e8db(0xcd)]+0x32);_0x10bc44=(_0x2106e8>0x0?_0x33e8db(0xa1):'')+_0x10bc44[_0x33e8db(0x10c)](_0x2106e8,_0x550fed)+(_0x550fed<_0x10bc44['length']?_0x33e8db(0xa1):'');}_0x3e37a3[_0x33e8db(0xd5)]({'term':_0x1abb0b,'filePath':_0x1b5d28,'lineNumber':_0x33d873,'lineContent':_0x10bc44[_0x33e8db(0x115)]()}),_0x2ffa57++;if(_0x2ffa57>=this[_0x33e8db(0x114)]['MAX_MATCHES_PER_FILE'])return this['logger']?.['warn']('Maximum\x20matches\x20per\x20file\x20reached',{'filePath':_0x1b5d28}),_0x3e37a3;}}}}catch(_0x298c62){throw new Error('Failed\x20to\x20read\x20file:\x20'+_0x298c62[_0x33e8db(0xf5)]);}return _0x3e37a3;}[a0_0x5ead5f(0xf0)](_0x9d70d9,_0x8a4d7f,_0x24e587,_0x4512d7){const _0x3a724c=a0_0x5ead5f;let _0x33cf52='';if(_0x24e587['length']>0x0){_0x33cf52+='FILES\x20NOT\x20FOUND:\x0a';for(const _0x5ad5ab of _0x24e587){_0x33cf52+='\x20\x20-\x20'+_0x5ad5ab+'\x0a';}_0x33cf52+='\x0a';}if(_0x8a4d7f['length']>0x0){_0x33cf52+=_0x3a724c(0xe7);for(const _0x5276f7 of _0x8a4d7f){_0x33cf52+='\x20\x20-\x20'+_0x5276f7['filePath']+':\x20'+_0x5276f7[_0x3a724c(0xbc)]+'\x0a';}_0x33cf52+='\x0a';}if(_0x9d70d9['length']===0x0)_0x33cf52+=_0x3a724c(0x10e)+_0x4512d7+'\x20file(s).\x0a';else{const _0x29e7dc={};for(const _0x2f104a of _0x9d70d9){!_0x29e7dc[_0x2f104a[_0x3a724c(0xc2)]]&&(_0x29e7dc[_0x2f104a['term']]=[]),_0x29e7dc[_0x2f104a['term']][_0x3a724c(0xd5)](_0x2f104a);}_0x33cf52+='SEARCH\x20RESULTS\x20('+_0x9d70d9['length']+_0x3a724c(0xd7)+_0x4512d7+'\x20file(s)):\x0a\x0a';for(const [_0x2f65aa,_0xf4b394]of Object[_0x3a724c(0xe5)](_0x29e7dc)){_0x33cf52+=_0x3a724c(0xeb)+_0x2f65aa+_0x3a724c(0x119)+_0xf4b394[_0x3a724c(0xcd)]+_0x3a724c(0xae);for(const _0x52f1e6 of _0xf4b394){_0x33cf52+='\x20\x20'+_0x52f1e6['filePath']+':'+_0x52f1e6['lineNumber']+'\x20-\x20'+_0x52f1e6['lineContent']+'\x0a';}_0x33cf52+='\x0a';}_0x9d70d9[_0x3a724c(0xcd)]>=this[_0x3a724c(0x114)][_0x3a724c(0xc3)]&&(_0x33cf52+=_0x3a724c(0xf8)+this[_0x3a724c(0x114)][_0x3a724c(0xc3)]+').\x20Some\x20matches\x20may\x20not\x20be\x20shown.\x0a');}return _0x33cf52[_0x3a724c(0x115)]();}['getSupportedExtensions'](){const _0x333e50=a0_0x5ead5f;return[_0x333e50(0xdd),_0x333e50(0x11a),_0x333e50(0xd8),_0x333e50(0xa7),_0x333e50(0xf3),'.xml','.html','.css',_0x333e50(0xb4),'.sass',_0x333e50(0xf1),'.md','.txt',_0x333e50(0xcf),'.py',_0x333e50(0xe8),'.java',_0x333e50(0xe9),_0x333e50(0xf2),'.c','.cpp','.h','.hpp',_0x333e50(0xe1),'.bash','.zsh',_0x333e50(0xec),'.yaml','.toml','.ini','.conf'];}async['cleanup'](_0x2fcd35){const _0x3f1980=a0_0x5ead5f;this[_0x3f1980(0xab)]?.[_0x3f1980(0xe6)](_0x3f1980(0xb3),{'operationId':_0x2fcd35});}}export default SeekTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3e94ea=a0_0x7e3e;(function(_0x2ef789,_0x5a9224){const _0x4dcf24=a0_0x7e3e,_0x408755=_0x2ef789();while(!![]){try{const _0x227fe8=parseInt(_0x4dcf24(0x81))/0x1*(-parseInt(_0x4dcf24(0xec))/0x2)+-parseInt(_0x4dcf24(0x9e))/0x3+-parseInt(_0x4dcf24(0xe9))/0x4*(-parseInt(_0x4dcf24(0xad))/0x5)+-parseInt(_0x4dcf24(0x127))/0x6+-parseInt(_0x4dcf24(0xcb))/0x7+parseInt(_0x4dcf24(0xc1))/0x8+parseInt(_0x4dcf24(0x6c))/0x9;if(_0x227fe8===_0x5a9224)break;else _0x408755['push'](_0x408755['shift']());}catch(_0x2df406){_0x408755['push'](_0x408755['shift']());}}}(a0_0x52b4,0xa31b9));function a0_0x52b4(){const _0x305585=['Agv4','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzPEa','C2v2zxjPDhK','z2v0v29YA2LUz0rPCMvJDg9YEq','DhLWzxnJCMLWDa','AZHZ','zgvIDwC','CgfYywXSzwXbBMfSExnPCW','zgv0zwn0rNjHBwv3B3jR','rMLSzsb0B28GBgfYz2u6ia','C3rYAw5N','zxH0BMfTzq','Bwv0CMLJCW','A3vIzxjUzxrLCW','Bwf0y2G','oty2mda1nLzjs2z2CW','AMf2yxnJCMLWDa','ywn0Aw9UCW','yw5HBhLZAxndywnOzq','CgfYC2vqyxjHBwv0zxjZ','ChvZAa','C2TPCc10zxn0lwzPBgvZ','sLnFrLjbtuvxt1jluW','zM9YBwf0rMLSzq','y29TChv0zunVBNrLBNriyxnO','mZC2odm0nuDOwMfzvW','zMLSzxm','lMvZBgLUDhjJlMPZB24','ufLuse9ox1bprvrswq','lMvUDG','tevtuW','BwfW','lMDPDgH1yG','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzVCM1HDa','DMfSAwrHDgu','Dg90ywXbBMfSExnLCW','sKfwqvnduKLqva','DhnJB25MAwCUANnVBG','y29UzMLN','Aw5JBhvKzs13yxjUAw5NCW','zMLUzenVBMzPz0zPBgvZ','DMfSAwrHDgvszwfKqwnJzxnZ','CMvHzezPBgu','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','D2fYBMLUz3m','ihnLy29UzhmklsbpBMX5ihn1ChbVCNrZigXHBMD1ywDLCYb3AxrOigj1AwX0lwLUigfUywX5EMvYCWOGicaG','z2v0rvnmAw50qw5HBhL6zxi','su5gtW','zMLSzxnbBMfSExPLza','BxrPBwu','y3jPDgLJywW','AgfZ','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','zgLYzwn0B3j5','u0vwrvjjvfK','odCYANrqCwvR','Bwf4ugfYywXSzwXgAwXLCW','zM9YBwf0DgvYCW','mtu4sxPOsM5c','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5lgnZCYXZy3nZlhnHC3mSBgvZC30','C3rHCNrZv2L0Aa','zML4','rLjbtuvxt1jlx01btKLgrvnuuW','rMLSzsbMB3jTyxr0zwqGyw5KihDYAxr0zw4','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4TChjVAMvJDa','D3jPDguTzMLSzq','CMvTywLUAw5Nv2fYBMLUz3m','rMfPBgvKihrVihzHBgLKyxrLignVBMzPzYbMAwXL','v3jPDguGywnJzxnZigrLBMLLzdOG','B2jQzwn0','tefor1vbr0u','rg9JA2vYzMLSzq','Dg9mB3DLCKnHC2u','CMvZzxrqzxjMB3jTyw5Jzu1LDhjPy3m','u3rHDgLJqw5HBhLZAxmGDg9VBcbWyxjZAw5NihbHCMfTzxrLCNm','zML4zwq','zw50CMLLCW','y29TCgXLDgvK','Cgf0DgvYBG','DgvYCMfMB3jT','C2vJDxjPDhKTC2nHBG','DMvUDG','C2XPy2u','Dw5RBM93BG','yw5HBhL6zs1WCM9Qzwn0','CgfJA2fNzs5QC29U','zMXVB3i','C2HHmJu2','zM9YBwf0','yw5HBhL6zvbYB2PLy3q','u0ntuW','AM9PBG','Dg90ywXdCML0AwnHBa','CgfYC2u','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','y29UDgvUDa','DMfSAwrHDgvxCML0zufJy2vZCW','zxnSAw50','ChjLDhrPzxi','y2fJAgviAxrZ','Dg90ywXfCNjVCNm','CMvZDwX0','rvjst1i','zxjYB3jZqNLdyxrLz29YEq','v0fstKLorW','q1jjveLdquW','rvHuru5tsu9ox1rpx0XbtKDvquDf','CMvZB2X2zq','yxjYyxK','C2vJDxjPDhK','Aw5JBhvKzxm','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YigfUywX5EMuTChjVAMvJDa','qu5btfLtsvnFveLnru9vva','C2TPCfrLC3rgAwXLCW','lI4Vyw5HBhL6zxjZl0PHDMfty3jPChrbBMfSExPLCI5QCW','BgfUz3vHz2u','Bwf4rMLSzxnqzxjcyxrJAa','nZC0ndK5ogjYEefrBG','Bg9Nz2vY','vfLqrvnduKLqva','BM9YBwfSAxPL','CMvHC29U','DxrMltG','z2v0u3vWCg9YDgvKqwn0Aw9UCW','z2v0ugfYyw1LDgvYu2nOzw1H','tufyx0zjtevFu0LArv9gt1jFqu5btfLtsvm','rMfPBgvKihrVihbHCNnLihn0yxrPyYbHBMfSExnPCYbWyxjHBwv0zxjZoIa','CMvXDwLYzxnqCM9Qzwn0','rMLSzsbMAxHLzcbHBMqGD3jPDhrLBG','CMvTywLUAw5NrxjYB3jZ','lMvUDI5LEgfTCgXL','icHTyxGG','lI4Vyw5HBhL6zxjZl1bYzxr0AwvYrM9YBwf0DgvYlMPZ','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','zML4rMLSzq','zgv0zwn0tgfUz3vHz2u','zgv2rgvWzw5Kzw5JAwvZ','C3vIC3rYAw5N','DhjPBq','zMLSzs1WyxrO','ChL0Ag9U','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','Aw5KzxHpzG','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','yw5HBhL6zuzPBgu','yw5HBhL6zxjZ','D3jPDgvgAwXL','DMfSAwrHDguTy29UzMLN','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','Aw5MBW','Bwf4lwvYCM9YCW','z2v0qw5HBhL6zxi','rMfPBgvKihrVigzVCM1HDca','BwvZC2fNzq','mte2otm3ou1Lrg1RCG','zgLZDa','DMfSAwrHDgvdB25MAwDgAwXL','zxjYB3i','zM9YBwf0DgvK','zw5HyMXLq2fJAgu','yw5HBhL6zq','Aw5JBhvKzvDHCM5PBMDZ','C2nHBM5LCG','lI4Vyw5HBhL6zxjZl0vttgLUDefUywX5EMvYlMPZ','DxbKyxrLu3vTBwfYEq','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfUywX5EMu','Bwf4rxjYB3jZ','zMLSzvbHDgG','zgLNzxn0','lNbYzxr0AwvYCMm','zMLUzezPBgvZ','CM91BMq','zxjYB3jZ','C2L6zq','C2vJDxjPDhLty2fUrMLSzq','ndm2DMPJAu1M','D2fYBG','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','DgLTzxn0yw1W','ru5bqKXfx0nbq0Hf','BM93','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzY1KAxjLy3rVCNK','Dg9ju09tDhjPBMC','ufLuse9o','BM9Kzv9TB2r1BgvZ','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','zxHLyW','y2XLyxjdywnOzq','BgvUz3rO','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','igj5DgvZicHTyxGG','Dhj1BMnHDgvK','ywXS','Bwf4rMLSzvnPEMu','y2XLyxi','zgv0zwn0uhL0Ag9UrNjHBwv3B3jR','CMf3q29UDgvUDa','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','rNjHBwv3B3jRigrLDgvJDgLVBIbMywLSzwq','qwn0Aw9Uia','ywXSB3DLza','C2v0','y2HHBMDLCW','rMfPBgvKihrVigfUywX5EMuG','mZaXmZe3yKrzs0f3','AxnbCNjHEq','DhLWzq','B25qCM9NCMvZCW','zMLSDgvY','C3vTBwfYEq','x19WEwnHy2HLx18','y3jLyxrLuMvSyxrPDMvqyxrO','Dg90ywXbBMfSExnPC1rPBwu','AxnbyNnVBhv0zq','uMvHzcbHy2nLC3mGzgvUAwvKoIa','C3rHDa','BMfTzq','DxnLq29UDgvUDeHHC2G','q0fdsevFrfvsqvrjt04','mJK2otvLDgLXBMC','vg9Vig1HBNKGzMLSzxm6ia','Dhj1zq','CgfYC2vbDhrYAwj1DgvZ','AxnbC3LUyW'];a0_0x52b4=function(){return _0x305585;};return a0_0x52b4();}import{BaseTool}from'./baseTool.js';import a0_0x2e4f07 from'../utilities/tagParser.js';import a0_0x60a131 from'../utilities/directoryAccessManager.js';import a0_0x367898 from'fs/promises';import a0_0x475713 from'path';import a0_0x444804 from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x7e3e(_0x54dbdd,_0x596771){_0x54dbdd=_0x54dbdd-0x68;const _0x52b432=a0_0x52b4();let _0x7e3ecd=_0x52b432[_0x54dbdd];if(a0_0x7e3e['nzVFsO']===undefined){var _0x55c248=function(_0x260ed8){const _0x4e65b4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e4f07='',_0x60a131='';for(let _0x367898=0x0,_0x475713,_0x444804,_0x2e8bda=0x0;_0x444804=_0x260ed8['charAt'](_0x2e8bda++);~_0x444804&&(_0x475713=_0x367898%0x4?_0x475713*0x40+_0x444804:_0x444804,_0x367898++%0x4)?_0x2e4f07+=String['fromCharCode'](0xff&_0x475713>>(-0x2*_0x367898&0x6)):0x0){_0x444804=_0x4e65b4['indexOf'](_0x444804);}for(let _0x44e87b=0x0,_0xe9b4f7=_0x2e4f07['length'];_0x44e87b<_0xe9b4f7;_0x44e87b++){_0x60a131+='%'+('00'+_0x2e4f07['charCodeAt'](_0x44e87b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x60a131);};a0_0x7e3e['xnAyav']=_0x55c248,a0_0x7e3e['Rddwjy']={},a0_0x7e3e['nzVFsO']=!![];}const _0x2eb771=_0x52b432[0x0],_0xeca834=_0x54dbdd+_0x2eb771,_0x3563af=a0_0x7e3e['Rddwjy'][_0xeca834];return!_0x3563af?(_0x7e3ecd=a0_0x7e3e['xnAyav'](_0x7e3ecd),a0_0x7e3e['Rddwjy'][_0xeca834]=_0x7e3ecd):_0x7e3ecd=_0x3563af,_0x7e3ecd;}class StaticAnalysisTool extends BaseTool{constructor(_0x2e8bda={},_0x44e87b=null){const _0x541e96=a0_0x7e3e;super(_0x2e8bda,_0x44e87b),this[_0x541e96(0x131)]=!![],this[_0x541e96(0xb1)]=![],this['timeout']=_0x2e8bda['timeout']||STATIC_ANALYSIS[_0x541e96(0x122)],this[_0x541e96(0xdd)]=_0x2e8bda[_0x541e96(0xdd)]||0x1,this[_0x541e96(0x93)]=_0x2e8bda['maxFileSize']||STATIC_ANALYSIS[_0x541e96(0x12f)],this['maxFilesPerBatch']=_0x2e8bda[_0x541e96(0x126)]||STATIC_ANALYSIS['MAX_FILES_PER_BATCH'],this[_0x541e96(0x71)]=_0x2e8bda[_0x541e96(0x71)]!==![]&&STATIC_ANALYSIS[_0x541e96(0x85)],this['analysisCache']=new Map(),this['cacheExpiry']=STATIC_ANALYSIS[_0x541e96(0xac)],this['parallelAnalysis']=_0x2e8bda[_0x541e96(0xb9)]!==![],this['maxParallelFiles']=_0x2e8bda['maxParallelFiles']||0xa,this[_0x541e96(0xab)]=_0x2e8bda['useContentHash']!==![],this[_0x541e96(0xbe)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this['directoryAccessManager']=new a0_0x60a131(_0x2e8bda,_0x44e87b),this['analyzers']={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}['getDescription'](){const _0x2f5ddb=a0_0x7e3e;return'\x0aStatic\x20Code\x20Analysis\x20Tool:\x20Analyze\x20code\x20files\x20for\x20errors\x20without\x20execution\x0a\x0aThis\x20tool\x20performs\x20static\x20analysis\x20on\x20code\x20files\x20to\x20find\x20syntax\x20errors,\x20type\x20errors,\x20import\x20issues,\x20and\x20other\x20problems\x20without\x20running\x20the\x20code.\x20It\x20uses\x20official\x20language\x20parsers\x20for\x20accurate\x20results.\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Python\x20(.py)\x0a-\x20CSS\x20(.css)\x0a-\x20SCSS\x20(.scss,\x20.sass)\x0a-\x20LESS\x20(.less)\x0a\x0aUSAGE\x20-\x20XML\x20FORMAT:\x0a\x0aSingle\x20File\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a[/tool]\x0a\x0aMultiple\x20Files\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/utils.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/components/Button.jsx\x22\x20/>\x0a[/tool]\x0a\x0aProject-Wide\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22src\x22\x20pattern=\x22**/*.js\x22\x20/>\x0a[/tool]\x0a\x0aAuto-Fix\x20Code\x20Issues:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<fix\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aFormat\x20Code:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<format\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aUSAGE\x20-\x20JSON\x20FORMAT:\x0a\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze\x22,\x0a\x20\x20\x20\x20\x20\x20\x22filePath\x22:\x20\x22src/index.js\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze-project\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22pattern\x22:\x20\x22**/*.{js,ts,py}\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20file-path:\x20Path\x20to\x20file\x20to\x20analyze\x20(for\x20single\x20file)\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(for\x20project-wide)\x0a-\x20pattern:\x20Glob\x20pattern\x20for\x20files\x20to\x20include\x20(optional,\x20defaults\x20to\x20language-specific\x20patterns)\x0a-\x20include-warnings:\x20Include\x20warnings\x20in\x20results\x20(true/false,\x20default:\x20true)\x0a-\x20max-errors:\x20Maximum\x20number\x20of\x20errors\x20to\x20return\x20(default:\x20all)\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20structured\x20error\x20information:\x0a-\x20file:\x20File\x20path\x0a-\x20line:\x20Line\x20number\x0a-\x20column:\x20Column\x20number\x0a-\x20severity:\x20critical\x20|\x20error\x20|\x20warning\x20|\x20info\x0a-\x20rule:\x20Rule\x20identifier\x0a-\x20message:\x20Human-readable\x20description\x0a-\x20category:\x20syntax\x20|\x20type\x20|\x20import\x20|\x20style\x20|\x20security\x20|\x20performance\x20|\x20best_practice\x0a-\x20fixable:\x20Whether\x20error\x20can\x20be\x20auto-fixed\x0a-\x20suggestion:\x20Fix\x20suggestion\x20(if\x20applicable)\x0a-\x20remediation:\x20Security\x20remediation\x20advice\x20(for\x20security\x20issues)\x0a\x0aDETECTION:\x0a-\x20Language:\x20Automatically\x20detected\x20from\x20file\x20extension\x0a-\x20Framework:\x20Detected\x20from\x20package.json,\x20requirements.txt,\x20etc.\x0a-\x20Context:\x20Project\x20structure\x20analyzed\x20for\x20better\x20accuracy\x0a\x0aEXAMPLES:\x0a\x0aFind\x20all\x20errors\x20in\x20a\x20JavaScript\x20file:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aAnalyze\x20TypeScript\x20with\x20type\x20checking:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/types.ts\x22\x20/>\x0a[/tool]\x0a\x0aCheck\x20all\x20Python\x20files\x20in\x20a\x20directory:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22backend\x22\x20pattern=\x22**/*.py\x22\x20/>\x0a[/tool]\x0a\x0aLIMITATIONS:\x0a-\x20File\x20size\x20limit:\x20'+Math['round'](this['maxFileSize']/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this['maxFilesPerBatch']+'\x20files\x20per\x20operation\x0a-\x20Analysis\x20timeout:\x20'+this['timeout']/0x3e8+_0x2f5ddb(0xdf);}[a0_0x3e94ea(0xc5)](_0xe9b4f7){const _0x10a577=a0_0x3e94ea;try{const _0x5ed1b1={},_0x30da2e=[];this[_0x10a577(0x128)]?.['debug'](_0x10a577(0xfc),{'contentLength':_0xe9b4f7[_0x10a577(0x8e)],'contentPreview':_0xe9b4f7[_0x10a577(0x13b)](0x0,0xc8)});const _0x7acb76=/<analyze\s+(.+?)\/>/g;let _0x5a57ef;while((_0x5a57ef=_0x7acb76[_0x10a577(0x8c)](_0xe9b4f7))!==null){const _0x405e75=_0x5a57ef[0x1]['trim'](),_0x34c77a=new a0_0x2e4f07(),_0x8b31b1=_0x34c77a['parseAttributes'](_0x405e75),_0x49801e={'type':'analyze',..._0x8b31b1};_0x49801e['file-path']&&(_0x49801e[_0x10a577(0x79)]=_0x49801e[_0x10a577(0x13d)],delete _0x49801e[_0x10a577(0x13d)]),_0x49801e['include-warnings']&&(_0x49801e[_0x10a577(0x73)]=_0x49801e['include-warnings']===_0x10a577(0xaf),delete _0x49801e[_0x10a577(0xd9)]),_0x49801e[_0x10a577(0x68)]&&(_0x49801e[_0x10a577(0x78)]=parseInt(_0x49801e['max-errors'],0xa),delete _0x49801e[_0x10a577(0x68)]),_0x30da2e['push'](_0x49801e);}const _0x28518d=/<analyze-project\s+(.+?)\/>/g;while((_0x5a57ef=_0x28518d[_0x10a577(0x8c)](_0xe9b4f7))!==null){const _0x356145=_0x5a57ef[0x1][_0x10a577(0x13c)](),_0x1d091b=new a0_0x2e4f07(),_0x2315ca=_0x1d091b[_0x10a577(0xb0)](_0x356145),_0x542839={'type':_0x10a577(0x106),..._0x2315ca};_0x542839['include-warnings']&&(_0x542839[_0x10a577(0x73)]=_0x542839['include-warnings']===_0x10a577(0xaf),delete _0x542839[_0x10a577(0xd9)]),_0x542839[_0x10a577(0x68)]&&(_0x542839[_0x10a577(0x78)]=parseInt(_0x542839[_0x10a577(0x68)],0xa),delete _0x542839['max-errors']),_0x30da2e['push'](_0x542839);}const _0x3c9baa=/<fix\s+(.+?)\/>/g;while((_0x5a57ef=_0x3c9baa['exec'](_0xe9b4f7))!==null){const _0x597c7b=_0x5a57ef[0x1]['trim'](),_0x485fa1=new a0_0x2e4f07(),_0x2cef70=_0x485fa1['parseAttributes'](_0x597c7b),_0x4a51da={'type':'fix',..._0x2cef70};_0x4a51da['file-path']&&(_0x4a51da[_0x10a577(0x79)]=_0x4a51da[_0x10a577(0x13d)],delete _0x4a51da[_0x10a577(0x13d)]),_0x4a51da[_0x10a577(0xf3)]&&(_0x4a51da['writeFile']=_0x4a51da['write-file']==='true',delete _0x4a51da['write-file']),_0x30da2e['push'](_0x4a51da);}const _0x329550=/<format\s+(.+?)\/>/g;while((_0x5a57ef=_0x329550[_0x10a577(0x8c)](_0xe9b4f7))!==null){const _0x52a10a=_0x5a57ef[0x1]['trim'](),_0x1d08ca=new a0_0x2e4f07(),_0x254bcb=_0x1d08ca['parseAttributes'](_0x52a10a),_0x48d024={'type':_0x10a577(0x10a),..._0x254bcb};_0x48d024[_0x10a577(0x13d)]&&(_0x48d024['filePath']=_0x48d024['file-path'],delete _0x48d024['file-path']),_0x48d024['write-file']&&(_0x48d024[_0x10a577(0x144)]=_0x48d024[_0x10a577(0xf3)]==='true',delete _0x48d024[_0x10a577(0xf3)]),_0x30da2e[_0x10a577(0xc6)](_0x48d024);}const _0x58618a=/<security-scan\s+(.+?)\/>/g;while((_0x5a57ef=_0x58618a[_0x10a577(0x8c)](_0xe9b4f7))!==null){const _0x3ab397=_0x5a57ef[0x1][_0x10a577(0x13c)](),_0x4f8f85=new a0_0x2e4f07(),_0x1c547f=_0x4f8f85['parseAttributes'](_0x3ab397),_0x196bee={'type':'security-scan',..._0x1c547f};_0x196bee[_0x10a577(0x13d)]&&(_0x196bee['filePath']=_0x196bee['file-path'],delete _0x196bee['file-path']),_0x196bee['skip-test-files']&&(_0x196bee['skipTestFiles']=_0x196bee[_0x10a577(0xc7)]==='true',delete _0x196bee['skip-test-files']),_0x30da2e[_0x10a577(0xc6)](_0x196bee);}const _0x42e107=/<security-scan-project\s+(.+?)\/>/g;while((_0x5a57ef=_0x42e107['exec'](_0xe9b4f7))!==null){const _0x35dbe6=_0x5a57ef[0x1][_0x10a577(0x13c)](),_0x47da3c=new a0_0x2e4f07(),_0x3cddcf=_0x47da3c[_0x10a577(0xb0)](_0x35dbe6),_0x34c0d8={'type':_0x10a577(0x110),..._0x3cddcf};_0x34c0d8[_0x10a577(0xc7)]&&(_0x34c0d8[_0x10a577(0x123)]=_0x34c0d8[_0x10a577(0xc7)]===_0x10a577(0xaf),delete _0x34c0d8['skip-test-files']),_0x30da2e['push'](_0x34c0d8);}const _0x442e01=/<validate-config\s+(.+?)\/>/g;while((_0x5a57ef=_0x442e01[_0x10a577(0x8c)](_0xe9b4f7))!==null){const _0x41f2d1=_0x5a57ef[0x1][_0x10a577(0x13c)](),_0x3350f8=new a0_0x2e4f07(),_0x450df7=_0x3350f8['parseAttributes'](_0x41f2d1),_0x52b2f6={'type':'validate-config',..._0x450df7};_0x52b2f6['file-path']&&(_0x52b2f6['filePath']=_0x52b2f6['file-path'],delete _0x52b2f6['file-path']),_0x30da2e['push'](_0x52b2f6);}const _0x443423=/<validate-config-directory\s+(.+?)\/>/g;while((_0x5a57ef=_0x443423[_0x10a577(0x8c)](_0xe9b4f7))!==null){const _0xa9509e=_0x5a57ef[0x1]['trim'](),_0x2c7929=new a0_0x2e4f07(),_0x197efa=_0x2c7929[_0x10a577(0xb0)](_0xa9509e),_0x8f0b49={'type':'validate-config-directory',..._0x197efa};_0x30da2e['push'](_0x8f0b49);}return _0x5ed1b1['actions']=_0x30da2e,_0x5ed1b1[_0x10a577(0x96)]=_0xe9b4f7[_0x10a577(0x13c)](),this['logger']?.['debug']('Parsed\x20StaticAnalysis\x20tool\x20parameters',{'totalActions':_0x30da2e[_0x10a577(0x8e)],'actionTypes':_0x30da2e['map'](_0x520208=>_0x520208['type'])}),_0x5ed1b1;}catch(_0x1de4bd){throw new Error(_0x10a577(0x130)+_0x1de4bd[_0x10a577(0x6b)]);}}[a0_0x3e94ea(0x141)](){const _0x2c8501=a0_0x3e94ea;return[_0x2c8501(0xc3)];}[a0_0x3e94ea(0x137)](_0x2dedbd){const _0x212215=a0_0x3e94ea,_0x4e3cc0=[];if(!_0x2dedbd[_0x212215(0xc3)]||!Array[_0x212215(0x9f)](_0x2dedbd['actions'])||_0x2dedbd[_0x212215(0xc3)]['length']===0x0)_0x4e3cc0['push'](_0x212215(0x13f));else{for(const [_0x85adff,_0x898303]of _0x2dedbd['actions'][_0x212215(0xfe)]()){if(!_0x898303[_0x212215(0xa0)]){_0x4e3cc0[_0x212215(0xc6)]('Action\x20'+(_0x85adff+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x898303[_0x212215(0xa0)]){case _0x212215(0x72):!_0x898303['filePath']&&_0x4e3cc0['push'](_0x212215(0x99)+(_0x85adff+0x1)+_0x212215(0x77));break;case _0x212215(0x106):!_0x898303[_0x212215(0xe7)]&&_0x4e3cc0['push'](_0x212215(0x99)+(_0x85adff+0x1)+_0x212215(0x121));break;case _0x212215(0xef):!_0x898303['filePath']&&_0x4e3cc0[_0x212215(0xc6)]('Action\x20'+(_0x85adff+0x1)+_0x212215(0xb3));break;case'format':!_0x898303['filePath']&&_0x4e3cc0[_0x212215(0xc6)](_0x212215(0x99)+(_0x85adff+0x1)+_0x212215(0xd3));break;case _0x212215(0x102):!_0x898303['filePath']&&_0x4e3cc0['push']('Action\x20'+(_0x85adff+0x1)+':\x20file-path\x20is\x20required\x20for\x20security-scan');break;case _0x212215(0x110):!_0x898303['directory']&&_0x4e3cc0['push']('Action\x20'+(_0x85adff+0x1)+_0x212215(0xf2));break;case _0x212215(0x145):!_0x898303['filePath']&&_0x4e3cc0[_0x212215(0xc6)]('Action\x20'+(_0x85adff+0x1)+':\x20file-path\x20is\x20required\x20for\x20validate-config');break;case _0x212215(0x83):!_0x898303['directory']&&_0x4e3cc0[_0x212215(0xc6)]('Action\x20'+(_0x85adff+0x1)+_0x212215(0x87));break;default:_0x4e3cc0['push'](_0x212215(0x99)+(_0x85adff+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x898303[_0x212215(0xa0)]);}}_0x2dedbd['actions'][_0x212215(0x8e)]>this[_0x212215(0x126)]&&_0x4e3cc0[_0x212215(0xc6)]('Too\x20many\x20actions:\x20'+_0x2dedbd[_0x212215(0xc3)][_0x212215(0x8e)]+'\x20(max\x20'+this['maxFilesPerBatch']+')');}return{'valid':_0x4e3cc0['length']===0x0,'errors':_0x4e3cc0};}async['execute'](_0x2254b7,_0x3b10df){const _0x2d5c40=a0_0x3e94ea,{actions:_0x2e47a5}=_0x2254b7,{projectDir:_0x30389a,agentId:_0xed044b,directoryAccess:_0x320930}=_0x3b10df,_0x2e966b=_0x320930||this['directoryAccessManager'][_0x2d5c40(0x146)]({'workingDirectory':_0x30389a||process['cwd'](),'writeEnabledDirectories':[_0x30389a||process['cwd']()],'restrictToProject':!![]}),_0xfd1933=this['directoryAccessManager'][_0x2d5c40(0xb5)](_0x2e966b),_0x587c70={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x1e9df4 of _0x2e47a5){try{let _0x2b3690;switch(_0x1e9df4[_0x2d5c40(0xa0)]){case _0x2d5c40(0x72):_0x2b3690=await this['analyzeFile'](_0x1e9df4['filePath'],_0xfd1933,_0x2e966b,_0x1e9df4);_0x2b3690&&(_0x587c70[_0x2d5c40(0xcc)][_0x2d5c40(0xc6)](_0x2b3690),this[_0x2d5c40(0x76)](_0x587c70[_0x2d5c40(0xa3)],_0x2b3690));break;case'analyze-project':const _0x1aa7dc=await this['analyzeProject'](_0x1e9df4[_0x2d5c40(0xe7)],_0x1e9df4['pattern'],_0xfd1933,_0x2e966b,_0x1e9df4);_0x587c70['files'][_0x2d5c40(0xc6)](..._0x1aa7dc);for(const _0x540b55 of _0x1aa7dc){this['updateSummary'](_0x587c70['summary'],_0x540b55);}break;case _0x2d5c40(0xef):_0x2b3690=await this[_0x2d5c40(0x138)](_0x1e9df4['filePath'],_0xfd1933,_0x2e966b,_0x1e9df4);_0x2b3690&&_0x587c70['files'][_0x2d5c40(0xc6)](_0x2b3690);break;case _0x2d5c40(0x10a):_0x2b3690=await this[_0x2d5c40(0xc9)](_0x1e9df4['filePath'],_0xfd1933,_0x2e966b,_0x1e9df4);_0x2b3690&&_0x587c70[_0x2d5c40(0xcc)][_0x2d5c40(0xc6)](_0x2b3690);break;case _0x2d5c40(0x102):_0x2b3690=await this['securityScanFile'](_0x1e9df4[_0x2d5c40(0x79)],_0xfd1933,_0x2e966b,_0x1e9df4);_0x2b3690&&(_0x587c70[_0x2d5c40(0xcc)][_0x2d5c40(0xc6)](_0x2b3690),this[_0x2d5c40(0x76)](_0x587c70[_0x2d5c40(0xa3)],_0x2b3690));break;case _0x2d5c40(0x110):const _0x2ed902=await this['securityScanProject'](_0x1e9df4['directory'],_0x1e9df4[_0x2d5c40(0x100)],_0xfd1933,_0x2e966b,_0x1e9df4);_0x587c70['files'][_0x2d5c40(0xc6)](..._0x2ed902);for(const _0x2675e4 of _0x2ed902){this[_0x2d5c40(0x76)](_0x587c70[_0x2d5c40(0xa3)],_0x2675e4);}break;case _0x2d5c40(0x145):_0x2b3690=await this['validateConfigFile'](_0x1e9df4[_0x2d5c40(0x79)],_0xfd1933,_0x2e966b,_0x1e9df4);_0x2b3690&&(_0x587c70[_0x2d5c40(0xcc)][_0x2d5c40(0xc6)](_0x2b3690),this[_0x2d5c40(0x76)](_0x587c70[_0x2d5c40(0xa3)],_0x2b3690));break;case _0x2d5c40(0x83):const _0x17e2bf=await this['validateConfigDirectory'](_0x1e9df4['directory'],_0xfd1933,_0x2e966b,_0x1e9df4);_0x587c70[_0x2d5c40(0xcc)][_0x2d5c40(0xc6)](..._0x17e2bf);for(const _0x86b96e of _0x17e2bf){this['updateSummary'](_0x587c70['summary'],_0x86b96e);}break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x1e9df4['type']);}}catch(_0x43bef5){this['logger']?.[_0x2d5c40(0x6f)]('Static\x20analysis\x20action\x20failed',{'action':_0x1e9df4['type'],'error':_0x43bef5[_0x2d5c40(0x6b)]}),_0x587c70[_0x2d5c40(0xcc)][_0x2d5c40(0xc6)]({'file':_0x1e9df4[_0x2d5c40(0x79)]||_0x1e9df4[_0x2d5c40(0xe7)],'error':_0x43bef5[_0x2d5c40(0x6b)],'success':![]});}}return{'success':!![],'results':_0x587c70,'toolUsed':'staticanalysis','performance':this[_0x2d5c40(0xe6)]()};}async[a0_0x3e94ea(0x142)](_0x25c2f1,_0x35e17f,_0x1f94ae,_0x4010a1={}){const _0x58999e=a0_0x3e94ea,_0x41a4cb=a0_0x475713[_0x58999e(0xa7)](_0x25c2f1)?a0_0x475713[_0x58999e(0x12a)](_0x25c2f1):a0_0x475713[_0x58999e(0x11d)](_0x35e17f,_0x25c2f1),_0x56f0a7=this[_0x58999e(0x97)][_0x58999e(0xdb)](_0x41a4cb,_0x1f94ae);if(!_0x56f0a7[_0x58999e(0x9a)])throw new Error('Read\x20access\x20denied:\x20'+_0x56f0a7[_0x58999e(0x12b)]);try{const _0x58bff9=await a0_0x367898[_0x58999e(0xa9)](_0x41a4cb);if(_0x58bff9[_0x58999e(0x7f)]>this[_0x58999e(0x93)])throw new Error(_0x58999e(0xbb)+_0x58bff9['size']+_0x58999e(0x90)+this[_0x58999e(0x93)]+')');const _0x427666=this[_0x58999e(0x139)](_0x41a4cb);if(!_0x427666)return{'file':this['directoryAccessManager'][_0x58999e(0xa5)](_0x41a4cb,_0x1f94ae),'fullPath':_0x41a4cb,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'Unsupported\x20file\x20type'};const _0x29c407=await a0_0x367898[_0x58999e(0xdc)](_0x41a4cb,_0x58999e(0x12c)),_0x1c16e7=this[_0x58999e(0xab)]?this['computeContentHash'](_0x29c407):null,_0x1712de=this['useContentHash']?_0x41a4cb+':'+_0x1c16e7:_0x41a4cb+':'+_0x58bff9[_0x58999e(0xe3)]['getTime']();if(this[_0x58999e(0x71)]&&this[_0x58999e(0xc4)][_0x58999e(0xe5)](_0x1712de)){const _0x3ff151=this['analysisCache']['get'](_0x1712de);if(Date['now']()-_0x3ff151[_0x58999e(0x84)]<this['cacheExpiry'])return this[_0x58999e(0x128)]?.[_0x58999e(0xb8)]('Using\x20cached\x20analysis\x20result',{'file':_0x41a4cb}),this['metrics']['cacheHits']++,this[_0x58999e(0xbe)][_0x58999e(0xd5)]++,_0x3ff151[_0x58999e(0x117)];}this[_0x58999e(0xbe)]['cacheMisses']++,this[_0x58999e(0xbe)][_0x58999e(0xd5)]++;const _0x2878a5=await this[_0x58999e(0x69)](_0x427666);if(!_0x2878a5)return{'file':this[_0x58999e(0x97)]['createRelativePath'](_0x41a4cb,_0x1f94ae),'fullPath':_0x41a4cb,'language':_0x427666,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'No\x20analyzer\x20available\x20for\x20'+_0x427666};const _0x31b6d2=Date[_0x58999e(0x86)](),_0xa5c86a=await _0x2878a5[_0x58999e(0x72)](_0x41a4cb,_0x29c407,{'workingDir':_0x35e17f,'accessConfig':_0x1f94ae,'framework':await this['detectFramework'](_0x35e17f,_0x427666)}),_0x3e0fcd=Date['now']()-_0x31b6d2;this['metrics'][_0x58999e(0xa6)]+=_0x3e0fcd,this[_0x58999e(0xbe)][_0x58999e(0xe2)]++;const _0x47adab={'file':this[_0x58999e(0x97)]['createRelativePath'](_0x41a4cb,_0x1f94ae),'fullPath':_0x41a4cb,'language':_0x427666,'framework':await this['detectFramework'](_0x35e17f,_0x427666),'errors':_0xa5c86a['filter'](_0x4c0e6b=>_0x4c0e6b['severity']===STATIC_ANALYSIS[_0x58999e(0xe8)][_0x58999e(0x118)]),'warnings':_0x4010a1['includeWarnings']!==![]?_0xa5c86a[_0x58999e(0xa2)](_0x29003e=>_0x29003e[_0x58999e(0xb4)]===STATIC_ANALYSIS['SEVERITY']['WARNING']):[],'info':_0xa5c86a['filter'](_0x4a4685=>_0x4a4685[_0x58999e(0xb4)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0xa5c86a[_0x58999e(0x8e)],'analyzed':!![],'timestamp':new Date()['toISOString']()};return _0x4010a1['maxErrors']&&_0x47adab[_0x58999e(0x7e)][_0x58999e(0x8e)]>_0x4010a1[_0x58999e(0x78)]&&(_0x47adab['errors']=_0x47adab[_0x58999e(0x7e)]['slice'](0x0,_0x4010a1['maxErrors']),_0x47adab[_0x58999e(0x91)]=!![]),this[_0x58999e(0x71)]&&this[_0x58999e(0xc4)][_0x58999e(0x9b)](_0x1712de,{'result':_0x47adab,'timestamp':Date['now']()}),_0x47adab;}catch(_0x7ad385){throw new Error(_0x58999e(0x9d)+_0x25c2f1+':\x20'+_0x7ad385['message']);}}async[a0_0x3e94ea(0x10b)](_0x541886,_0x488d26,_0x4f4014,_0x1aa7c9,_0x164129={}){const _0x1bd985=a0_0x3e94ea,_0x4f9baa=a0_0x475713[_0x1bd985(0xa7)](_0x541886)?a0_0x475713['normalize'](_0x541886):a0_0x475713['resolve'](_0x4f4014,_0x541886),_0x4cfcfb=this[_0x1bd985(0x97)]['validateReadAccess'](_0x4f9baa,_0x1aa7c9);if(!_0x4cfcfb['allowed'])throw new Error(_0x1bd985(0xa8)+_0x4cfcfb['reason']);const _0x27adfd=await this['findFiles'](_0x4f9baa,_0x488d26);if(_0x27adfd['length']>this[_0x1bd985(0x126)])throw new Error(_0x1bd985(0xae)+_0x27adfd[_0x1bd985(0x8e)]+_0x1bd985(0x135)+this[_0x1bd985(0x126)]+')');const _0x552b02=[];if(this[_0x1bd985(0xb9)]&&_0x27adfd['length']>0x1){this[_0x1bd985(0x128)]?.[_0x1bd985(0xb8)]('Using\x20parallel\x20analysis',{'totalFiles':_0x27adfd[_0x1bd985(0x8e)],'batchSize':this[_0x1bd985(0xea)]});for(let _0x1501c1=0x0;_0x1501c1<_0x27adfd['length'];_0x1501c1+=this[_0x1bd985(0xea)]){const _0x16745f=_0x27adfd[_0x1bd985(0x104)](_0x1501c1,_0x1501c1+this[_0x1bd985(0xea)]);this['metrics']['parallelBatches']++;const _0x4592cf={'completed':_0x1501c1,'total':_0x27adfd['length'],'percentage':Math[_0x1bd985(0x7d)](_0x1501c1/_0x27adfd[_0x1bd985(0x8e)]*0x64)};_0x164129['onProgress']&&_0x164129['onProgress'](_0x4592cf);this['logger']?.[_0x1bd985(0xb8)]('Analyzing\x20batch',{'batch':Math[_0x1bd985(0x108)](_0x1501c1/this[_0x1bd985(0xea)])+0x1,'filesInBatch':_0x16745f['length'],'progress':_0x4592cf[_0x1bd985(0xff)]+'/'+_0x4592cf['total']});const _0x4bde7a=_0x16745f[_0x1bd985(0xd1)](async _0x44cb20=>{const _0xbd13fb=_0x1bd985;try{const _0x5dc430=await this[_0xbd13fb(0x142)](_0x44cb20,_0x4f4014,_0x1aa7c9,_0x164129);return _0x5dc430;}catch(_0x49e793){return this[_0xbd13fb(0x128)]?.[_0xbd13fb(0x82)](_0xbd13fb(0x8b),{'file':_0x44cb20,'error':_0x49e793[_0xbd13fb(0x6b)]}),{'file':this[_0xbd13fb(0x97)]['createRelativePath'](_0x44cb20,_0x1aa7c9),'fullPath':_0x44cb20,'error':_0x49e793['message'],'success':![]};}}),_0x3d646a=await Promise[_0x1bd985(0x92)](_0x4bde7a);_0x552b02['push'](..._0x3d646a[_0x1bd985(0xa2)](_0x2089f4=>_0x2089f4!==null));}_0x164129[_0x1bd985(0xa1)]&&_0x164129[_0x1bd985(0xa1)]({'completed':_0x27adfd[_0x1bd985(0x8e)],'total':_0x27adfd[_0x1bd985(0x8e)],'percentage':0x64});}else for(const _0x2f1c2c of _0x27adfd){try{const _0x44dd59=await this['analyzeFile'](_0x2f1c2c,_0x4f4014,_0x1aa7c9,_0x164129);_0x44dd59&&_0x552b02['push'](_0x44dd59);}catch(_0xa303d5){this['logger']?.[_0x1bd985(0x82)](_0x1bd985(0x8b),{'file':_0x2f1c2c,'error':_0xa303d5['message']}),_0x552b02['push']({'file':this['directoryAccessManager']['createRelativePath'](_0x2f1c2c,_0x1aa7c9),'fullPath':_0x2f1c2c,'error':_0xa303d5[_0x1bd985(0x6b)],'success':![]});}}return _0x552b02;}async[a0_0x3e94ea(0x138)](_0x423594,_0x7449a,_0x469e25,_0x1a47c2={}){const _0x1b8c05=a0_0x3e94ea,_0x2b008f=a0_0x475713[_0x1b8c05(0xa7)](_0x423594)?a0_0x475713[_0x1b8c05(0x12a)](_0x423594):a0_0x475713['resolve'](_0x7449a,_0x423594),_0x109041=this[_0x1b8c05(0x97)]['validateReadAccess'](_0x2b008f,_0x469e25);if(!_0x109041[_0x1b8c05(0x9a)])throw new Error('Read\x20access\x20denied:\x20'+_0x109041[_0x1b8c05(0x12b)]);if(_0x1a47c2['writeFile']){const _0x177ad4=this['directoryAccessManager'][_0x1b8c05(0x112)](_0x2b008f,_0x469e25);if(!_0x177ad4['allowed'])throw new Error(_0x1b8c05(0xf6)+_0x177ad4['reason']);}try{const _0x46d49f=await a0_0x367898['readFile'](_0x2b008f,_0x1b8c05(0x12c)),_0x3b4b8a=await this[_0x1b8c05(0xe0)](),_0x3abd60=await _0x3b4b8a['fix'](_0x2b008f,_0x46d49f,{'workingDir':_0x7449a,'accessConfig':_0x469e25,'framework':await this['detectFramework'](_0x7449a,this['detectLanguage'](_0x2b008f))});return _0x1a47c2['writeFile']&&_0x3abd60[_0x1b8c05(0xfd)]&&(await a0_0x367898['writeFile'](_0x2b008f,_0x3abd60[_0x1b8c05(0x111)],_0x1b8c05(0x12c)),this[_0x1b8c05(0x128)]?.['info'](_0x1b8c05(0x132),{'file':_0x2b008f})),{'file':this['directoryAccessManager'][_0x1b8c05(0xa5)](_0x2b008f,_0x469e25),'fullPath':_0x2b008f,'action':'fix','fixed':_0x3abd60['fixed'],'fixedCount':_0x3abd60['fixedCount'],'remainingErrors':_0x3abd60[_0x1b8c05(0x133)],'remainingWarnings':_0x3abd60[_0x1b8c05(0xf4)],'changes':_0x3abd60[_0x1b8c05(0x9c)],'written':!!(_0x1a47c2['writeFile']&&_0x3abd60['fixed']),'preview':!_0x1a47c2['writeFile']&&_0x3abd60[_0x1b8c05(0xfd)]?_0x3abd60[_0x1b8c05(0x111)]:undefined};}catch(_0x2591ff){throw new Error('Failed\x20to\x20fix\x20'+_0x423594+':\x20'+_0x2591ff[_0x1b8c05(0x6b)]);}}async['formatFile'](_0x16742b,_0x4c6e5d,_0x1cc91b,_0x3a5faf={}){const _0x455a43=a0_0x3e94ea,_0x10d64c=a0_0x475713['isAbsolute'](_0x16742b)?a0_0x475713[_0x455a43(0x12a)](_0x16742b):a0_0x475713['resolve'](_0x4c6e5d,_0x16742b),_0x1e4f47=this['directoryAccessManager'][_0x455a43(0xdb)](_0x10d64c,_0x1cc91b);if(!_0x1e4f47[_0x455a43(0x9a)])throw new Error('Read\x20access\x20denied:\x20'+_0x1e4f47[_0x455a43(0x12b)]);if(_0x3a5faf[_0x455a43(0x144)]){const _0x418ccf=this['directoryAccessManager']['validateWriteAccess'](_0x10d64c,_0x1cc91b);if(!_0x418ccf[_0x455a43(0x9a)])throw new Error('Write\x20access\x20denied:\x20'+_0x418ccf['reason']);}try{const _0x9b0141=await a0_0x367898[_0x455a43(0xdc)](_0x10d64c,'utf-8'),_0x2152a9=await this['getPrettierFormatter']();if(!_0x2152a9['isSupported'](_0x10d64c))return{'file':this[_0x455a43(0x97)]['createRelativePath'](_0x10d64c,_0x1cc91b),'fullPath':_0x10d64c,'action':'format','formatted':![],'skipped':!![],'skipReason':'File\x20type\x20not\x20supported\x20by\x20Prettier'};const _0x4fb543=await _0x2152a9[_0x455a43(0x10a)](_0x10d64c,_0x9b0141,{'workingDir':_0x4c6e5d,'accessConfig':_0x1cc91b});return _0x3a5faf[_0x455a43(0x144)]&&_0x4fb543[_0x455a43(0x70)]&&(await a0_0x367898[_0x455a43(0x144)](_0x10d64c,_0x4fb543['content'],_0x455a43(0x12c)),this['logger']?.['info'](_0x455a43(0xf1),{'file':_0x10d64c})),{'file':this[_0x455a43(0x97)][_0x455a43(0xa5)](_0x10d64c,_0x1cc91b),'fullPath':_0x10d64c,'action':'format','formatted':_0x4fb543[_0x455a43(0x70)],'linesChanged':_0x4fb543['linesChanged'],'changes':_0x4fb543['changes'],'written':!!(_0x3a5faf['writeFile']&&_0x4fb543['formatted']),'preview':!_0x3a5faf['writeFile']&&_0x4fb543['formatted']?_0x4fb543['content']:undefined};}catch(_0x556b9d){throw new Error(_0x455a43(0x6a)+_0x16742b+':\x20'+_0x556b9d['message']);}}async['securityScanFile'](_0x4d4a50,_0x297522,_0xd215a8,_0x5330bb={}){const _0x7cef26=a0_0x3e94ea,_0x2a5b7f=a0_0x475713['isAbsolute'](_0x4d4a50)?a0_0x475713['normalize'](_0x4d4a50):a0_0x475713[_0x7cef26(0x11d)](_0x297522,_0x4d4a50),_0x47e867=this[_0x7cef26(0x97)][_0x7cef26(0xdb)](_0x2a5b7f,_0xd215a8);if(!_0x47e867['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x47e867['reason']);try{const _0x5c7f08=await a0_0x367898[_0x7cef26(0xa9)](_0x2a5b7f);if(_0x5c7f08[_0x7cef26(0x7f)]>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x5c7f08[_0x7cef26(0x7f)]+'\x20bytes\x20(max\x20'+this[_0x7cef26(0x93)]+')');const _0x9dccd8=this['detectLanguage'](_0x2a5b7f);if(!_0x9dccd8||!['javascript',_0x7cef26(0xb6),'python']['includes'](_0x9dccd8))return{'file':this['directoryAccessManager'][_0x7cef26(0xa5)](_0x2a5b7f,_0xd215a8),'fullPath':_0x2a5b7f,'language':_0x9dccd8||_0x7cef26(0x105),'issues':[],'skipped':!![],'skipReason':'Security\x20scanning\x20only\x20supports\x20JavaScript,\x20TypeScript,\x20and\x20Python\x20files'};const _0x500dd5=await a0_0x367898['readFile'](_0x2a5b7f,'utf-8'),_0x43dd7c=await this['getSecurityAnalyzer'](),_0x1b51c8=await _0x43dd7c[_0x7cef26(0x72)](_0x2a5b7f,_0x500dd5,{'skipTestFiles':_0x5330bb['skipTestFiles']!==![]}),_0x17409f={'file':this[_0x7cef26(0x97)]['createRelativePath'](_0x2a5b7f,_0xd215a8),'fullPath':_0x2a5b7f,'language':_0x9dccd8,'action':_0x7cef26(0x102),'critical':_0x1b51c8[_0x7cef26(0xa2)](_0x5d356b=>_0x5d356b[_0x7cef26(0xb4)]===STATIC_ANALYSIS['SEVERITY'][_0x7cef26(0x11b)]),'errors':_0x1b51c8[_0x7cef26(0xa2)](_0x1e1c82=>_0x1e1c82[_0x7cef26(0xb4)]===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x1b51c8[_0x7cef26(0xa2)](_0x348f4a=>_0x348f4a[_0x7cef26(0xb4)]===STATIC_ANALYSIS[_0x7cef26(0xe8)]['WARNING']),'info':_0x1b51c8['filter'](_0x192ae4=>_0x192ae4['severity']===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x1b51c8['length'],'analyzed':!![],'scannersUsed':_0x1b51c8['map'](_0x45c7a7=>_0x45c7a7[_0x7cef26(0x74)])[_0x7cef26(0xa2)]((_0x3dc3bf,_0x405b56,_0x3d7aba)=>_0x3d7aba[_0x7cef26(0x140)](_0x3dc3bf)===_0x405b56),'timestamp':new Date()[_0x7cef26(0x88)]()};return _0x17409f;}catch(_0x8dc49f){throw new Error('Failed\x20to\x20security\x20scan\x20'+_0x4d4a50+':\x20'+_0x8dc49f['message']);}}async['securityScanProject'](_0x334603,_0x5f3d68,_0x357a77,_0x16bdbb,_0x2bad6d={}){const _0xa5d8ae=a0_0x3e94ea,_0x2539ba=a0_0x475713[_0xa5d8ae(0xa7)](_0x334603)?a0_0x475713['normalize'](_0x334603):a0_0x475713[_0xa5d8ae(0x11d)](_0x357a77,_0x334603),_0x33e06a=this['directoryAccessManager'][_0xa5d8ae(0xdb)](_0x2539ba,_0x16bdbb);if(!_0x33e06a['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x33e06a['reason']);const _0x4d88d3=await this['getSecurityAnalyzer'](),_0x33ef9f=await _0x4d88d3[_0xa5d8ae(0x10b)](_0x2539ba,_0xa5d8ae(0xc2),_0x2bad6d),_0x50d64d=_0x5f3d68||'**/*.{js,jsx,mjs,cjs,ts,tsx,py}',_0x546a68=await this[_0xa5d8ae(0x7c)](_0x2539ba,_0x50d64d);if(_0x546a68[_0xa5d8ae(0x8e)]>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x546a68['length']+'\x20(max\x20'+this[_0xa5d8ae(0x126)]+')');const _0x4bde0a=[];if(this['parallelAnalysis']&&_0x546a68[_0xa5d8ae(0x8e)]>0x1){this['logger']?.['debug']('Using\x20parallel\x20security\x20scanning',{'totalFiles':_0x546a68[_0xa5d8ae(0x8e)],'batchSize':this[_0xa5d8ae(0xea)]});for(let _0x4537be=0x0;_0x4537be<_0x546a68['length'];_0x4537be+=this[_0xa5d8ae(0xea)]){const _0x6c5d59=_0x546a68['slice'](_0x4537be,_0x4537be+this['maxParallelFiles']);_0x2bad6d['onProgress']&&_0x2bad6d['onProgress']({'completed':_0x4537be,'total':_0x546a68[_0xa5d8ae(0x8e)],'percentage':Math['round'](_0x4537be/_0x546a68['length']*0x64)});const _0x35ea20=_0x6c5d59[_0xa5d8ae(0xd1)](async _0x4f7168=>{const _0x18ee90=_0xa5d8ae;try{return await this[_0x18ee90(0x80)](_0x4f7168,_0x357a77,_0x16bdbb,_0x2bad6d);}catch(_0x191313){return this['logger']?.['warn']('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x4f7168,'error':_0x191313[_0x18ee90(0x6b)]}),{'file':this[_0x18ee90(0x97)][_0x18ee90(0xa5)](_0x4f7168,_0x16bdbb),'fullPath':_0x4f7168,'error':_0x191313[_0x18ee90(0x6b)],'success':![]};}}),_0x563104=await Promise['all'](_0x35ea20);_0x4bde0a[_0xa5d8ae(0xc6)](..._0x563104['filter'](_0x346b39=>_0x346b39!==null));}_0x2bad6d[_0xa5d8ae(0xa1)]&&_0x2bad6d[_0xa5d8ae(0xa1)]({'completed':_0x546a68['length'],'total':_0x546a68['length'],'percentage':0x64});}else for(const _0x363986 of _0x546a68){try{const _0x430181=await this[_0xa5d8ae(0x80)](_0x363986,_0x357a77,_0x16bdbb,_0x2bad6d);_0x430181&&_0x4bde0a[_0xa5d8ae(0xc6)](_0x430181);}catch(_0x52a67e){this[_0xa5d8ae(0x128)]?.[_0xa5d8ae(0x82)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x363986,'error':_0x52a67e['message']}),_0x4bde0a[_0xa5d8ae(0xc6)]({'file':this[_0xa5d8ae(0x97)]['createRelativePath'](_0x363986,_0x16bdbb),'fullPath':_0x363986,'error':_0x52a67e['message'],'success':![]});}}return _0x33ef9f[_0xa5d8ae(0x8e)]>0x0&&_0x4bde0a['push']({'file':a0_0x475713['join'](_0x2539ba,'package.json'),'fullPath':a0_0x475713[_0xa5d8ae(0x10d)](_0x2539ba,_0xa5d8ae(0x107)),'action':'dependency-scan','critical':_0x33ef9f['filter'](_0x48565f=>_0x48565f[_0xa5d8ae(0xb4)]===STATIC_ANALYSIS[_0xa5d8ae(0xe8)][_0xa5d8ae(0x11b)]),'errors':_0x33ef9f['filter'](_0x147285=>_0x147285['severity']===STATIC_ANALYSIS[_0xa5d8ae(0xe8)]['ERROR']),'warnings':_0x33ef9f['filter'](_0x37a55b=>_0x37a55b[_0xa5d8ae(0xb4)]===STATIC_ANALYSIS[_0xa5d8ae(0xe8)]['WARNING']),'info':_0x33ef9f['filter'](_0x36b73b=>_0x36b73b[_0xa5d8ae(0xb4)]===STATIC_ANALYSIS[_0xa5d8ae(0xe8)]['INFO']),'totalIssues':_0x33ef9f['length'],'analyzed':!![],'scannersUsed':['npm-audit'],'timestamp':new Date()['toISOString']()}),_0x4bde0a;}async[a0_0x3e94ea(0x6e)](_0x226509,_0x33ed0a,_0x2c087d,_0x49e1e2={}){const _0x3dedc2=a0_0x3e94ea,_0x1f6f28=a0_0x475713['isAbsolute'](_0x226509)?a0_0x475713['normalize'](_0x226509):a0_0x475713['resolve'](_0x33ed0a,_0x226509),_0x271a65=this['directoryAccessManager'][_0x3dedc2(0xdb)](_0x1f6f28,_0x2c087d);if(!_0x271a65['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x271a65[_0x3dedc2(0x12b)]);try{const _0x560a1a=await a0_0x367898[_0x3dedc2(0xa9)](_0x1f6f28);if(_0x560a1a[_0x3dedc2(0x7f)]>this[_0x3dedc2(0x93)])throw new Error(_0x3dedc2(0xbb)+_0x560a1a['size']+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x28ed93=await this['getConfigValidator'](),_0x49f04c=await _0x28ed93[_0x3dedc2(0xd4)](_0x1f6f28,_0x49e1e2),_0x26709d={'file':this[_0x3dedc2(0x97)][_0x3dedc2(0xa5)](_0x1f6f28,_0x2c087d),'fullPath':_0x1f6f28,'action':_0x3dedc2(0x145),'critical':_0x49f04c['filter'](_0x156fe5=>_0x156fe5[_0x3dedc2(0xb4)]===STATIC_ANALYSIS[_0x3dedc2(0xe8)][_0x3dedc2(0x11b)]),'errors':_0x49f04c['filter'](_0x7f2b60=>_0x7f2b60['severity']===STATIC_ANALYSIS[_0x3dedc2(0xe8)][_0x3dedc2(0x118)]),'warnings':_0x49f04c[_0x3dedc2(0xa2)](_0x3a4a56=>_0x3a4a56['severity']===STATIC_ANALYSIS['SEVERITY'][_0x3dedc2(0x11a)]),'info':_0x49f04c['filter'](_0x375427=>_0x375427['severity']===STATIC_ANALYSIS['SEVERITY'][_0x3dedc2(0xe1)]),'totalIssues':_0x49f04c['length'],'analyzed':!![],'validatorsUsed':_0x49f04c[_0x3dedc2(0xd1)](_0x539ab0=>_0x539ab0['validator'])['filter']((_0x490a17,_0x3f15dc,_0x2b986d)=>_0x2b986d[_0x3dedc2(0x140)](_0x490a17)===_0x3f15dc),'timestamp':new Date()[_0x3dedc2(0x88)]()};return _0x26709d;}catch(_0x4c27a2){throw new Error('Failed\x20to\x20validate\x20config\x20'+_0x226509+':\x20'+_0x4c27a2[_0x3dedc2(0x6b)]);}}async['validateConfigDirectory'](_0xa62675,_0x281e23,_0x1211aa,_0x1eeb95={}){const _0x1642b6=a0_0x3e94ea,_0x2d1378=a0_0x475713['isAbsolute'](_0xa62675)?a0_0x475713[_0x1642b6(0x12a)](_0xa62675):a0_0x475713[_0x1642b6(0x11d)](_0x281e23,_0xa62675),_0x22ee4a=this[_0x1642b6(0x97)][_0x1642b6(0xdb)](_0x2d1378,_0x1211aa);if(!_0x22ee4a['allowed'])throw new Error(_0x1642b6(0xa8)+_0x22ee4a[_0x1642b6(0x12b)]);const _0x38414b=await this['findConfigFiles'](_0x2d1378);if(_0x38414b[_0x1642b6(0x8e)]>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20config\x20files:\x20'+_0x38414b[_0x1642b6(0x8e)]+_0x1642b6(0x135)+this[_0x1642b6(0x126)]+')');const _0x39c734=[];for(const _0x5498a0 of _0x38414b){try{const _0x1391ef=await this['validateConfigFile'](_0x5498a0,_0x281e23,_0x1211aa,_0x1eeb95);_0x1391ef&&_0x39c734[_0x1642b6(0xc6)](_0x1391ef);}catch(_0x3bc3df){this['logger']?.['warn'](_0x1642b6(0xf5),{'file':_0x5498a0,'error':_0x3bc3df['message']}),_0x39c734['push']({'file':this['directoryAccessManager']['createRelativePath'](_0x5498a0,_0x1211aa),'fullPath':_0x5498a0,'error':_0x3bc3df['message'],'success':![]});}}return _0x39c734;}async[a0_0x3e94ea(0xda)](_0x391bed){const _0x98e8d1=a0_0x3e94ea,_0x30319e=[],_0x4bb888=['package.json',_0x98e8d1(0xd7),_0x98e8d1(0xf9),'docker-compose.yml','docker-compose.yaml',_0x98e8d1(0xcf),_0x98e8d1(0x134),'.eslintrc.js',_0x98e8d1(0xcd),_0x98e8d1(0x7b),'.prettierrc.json'],_0x6a59dd=['.yml','.yaml','.json','.tf','.tfvars'],_0x2d3224=async _0x4236b2=>{const _0x1b8a9e=_0x98e8d1,_0x5ccdd2=await a0_0x367898['readdir'](_0x4236b2,{'withFileTypes':!![]});for(const _0x2eed84 of _0x5ccdd2){const _0x3563b0=a0_0x475713['join'](_0x4236b2,_0x2eed84[_0x1b8a9e(0xaa)]);if(_0x2eed84['isDirectory']()){if(_0x2eed84['name']===_0x1b8a9e(0xd2)||_0x2eed84[_0x1b8a9e(0xaa)]===_0x1b8a9e(0xbf)||_0x2eed84[_0x1b8a9e(0xaa)]===_0x1b8a9e(0xb7)||_0x2eed84['name']==='terraform')await _0x2d3224(_0x3563b0);else{if(!['node_modules','.git',_0x1b8a9e(0x6d),'build'][_0x1b8a9e(0x120)](_0x2eed84['name']))continue;}}else{if(_0x2eed84['isFile']()){if(_0x4bb888[_0x1b8a9e(0x120)](_0x2eed84[_0x1b8a9e(0xaa)]))_0x30319e['push'](_0x3563b0);else{const _0x165c7e=a0_0x475713['extname'](_0x2eed84[_0x1b8a9e(0xaa)])[_0x1b8a9e(0xfa)]();if(_0x6a59dd[_0x1b8a9e(0x120)](_0x165c7e)){const _0xe3d65e=a0_0x475713['basename'](a0_0x475713['dirname'](_0x3563b0));(_0xe3d65e===_0x1b8a9e(0xbf)||_0xe3d65e==='k8s'||_0xe3d65e===_0x1b8a9e(0x101)||_0xe3d65e==='workflows')&&_0x30319e[_0x1b8a9e(0xc6)](_0x3563b0);}}}}}};return await _0x2d3224(_0x391bed),_0x30319e;}[a0_0x3e94ea(0x139)](_0x151448){const _0x1bb5f9=a0_0x3e94ea,_0x5d2537=a0_0x475713[_0x1bb5f9(0xbd)](_0x151448)['toLowerCase']();return STATIC_ANALYSIS[_0x1bb5f9(0x11c)][_0x5d2537]||null;}async[a0_0x3e94ea(0xba)](_0x26d9ec,_0x3e99f9){const _0xc62e2f=a0_0x3e94ea;try{if(_0x3e99f9===STATIC_ANALYSIS[_0xc62e2f(0xf8)][_0xc62e2f(0xd6)]||_0x3e99f9===STATIC_ANALYSIS[_0xc62e2f(0xf8)][_0xc62e2f(0x129)])return await this['detectJSFramework'](_0x26d9ec);if(_0x3e99f9===STATIC_ANALYSIS['LANGUAGE'][_0xc62e2f(0x89)])return await this[_0xc62e2f(0x95)](_0x26d9ec);return null;}catch(_0x372ebb){return this['logger']?.['debug'](_0xc62e2f(0x98),{'error':_0x372ebb['message']}),null;}}async['detectJSFramework'](_0x3d9083){const _0x39283d=a0_0x3e94ea;try{const _0x6f44d5=a0_0x475713[_0x39283d(0x10d)](_0x3d9083,STATIC_ANALYSIS[_0x39283d(0xf0)]['JAVASCRIPT']),_0x6018bf=await a0_0x367898['readFile'](_0x6f44d5,_0x39283d(0x12c)),_0x1905a3=JSON[_0x39283d(0x10f)](_0x6018bf),_0x5b2403={..._0x1905a3['dependencies'],..._0x1905a3[_0x39283d(0x13a)]};for(const [_0x2e59a6,_0x773623]of Object['entries'](STATIC_ANALYSIS[_0x39283d(0xc8)])){if(_0x5b2403[_0x773623])return _0x2e59a6[_0x39283d(0xfa)]();}return null;}catch(_0x4296e0){return null;}}async[a0_0x3e94ea(0x95)](_0x17ee0b){const _0x234027=a0_0x3e94ea;try{const _0x2085d8=a0_0x475713[_0x234027(0x10d)](_0x17ee0b,STATIC_ANALYSIS[_0x234027(0xf0)]['PYTHON']),_0x7e70eb=await a0_0x367898['readFile'](_0x2085d8,_0x234027(0x12c));for(const [_0x101253,_0x21b058]of Object[_0x234027(0xfe)](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x7e70eb['toLowerCase']()['includes'](_0x21b058))return _0x101253[_0x234027(0xfa)]();}return null;}catch(_0xe0c3a2){try{const _0x5c5adb=a0_0x475713['join'](_0x17ee0b,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x234027(0xce)]),_0x454dbc=await a0_0x367898[_0x234027(0xdc)](_0x5c5adb,'utf-8');for(const [_0x5c8853,_0x392760]of Object[_0x234027(0xfe)](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x454dbc['toLowerCase']()['includes'](_0x392760))return _0x5c8853['toLowerCase']();}}catch{}return null;}}async[a0_0x3e94ea(0x7c)](_0x4b5d6c,_0x36f503){const _0x562a47=a0_0x3e94ea,_0x3981f6=[],_0x32918d=_0x36f503||_0x562a47(0xed),_0x1c57a4=_0x22e1ca=>{const _0x415fcf=_0x562a47,_0x3e1bd5=[],_0x5b64b8=_0x22e1ca['match'](/\*\.\{([^}]+)\}/);if(_0x5b64b8){const _0x12acbb=_0x5b64b8[0x1]['split'](',')['map'](_0x430f27=>_0x430f27[_0x415fcf(0x13c)]());_0x12acbb['forEach'](_0x52699b=>_0x3e1bd5[_0x415fcf(0xc6)](_0x52699b[_0x415fcf(0xee)]('.')?_0x52699b:'.'+_0x52699b));}else{const _0x9677ee=_0x22e1ca[_0x415fcf(0xc0)](/\*\.([a-z]+)$/i);if(_0x9677ee){const _0x1e45a7=_0x9677ee[0x1];_0x3e1bd5[_0x415fcf(0xc6)](_0x1e45a7['startsWith']('.')?_0x1e45a7:'.'+_0x1e45a7);}}if(_0x3e1bd5['length']===0x0)return null;return _0x3e1bd5;},_0x2b91a5=_0x1c57a4(_0x32918d),_0x58ae55=async _0x5b75c3=>{const _0x127ef7=_0x562a47,_0xd55d28=await a0_0x367898['readdir'](_0x5b75c3,{'withFileTypes':!![]});for(const _0x386814 of _0xd55d28){const _0x42dae6=a0_0x475713['join'](_0x5b75c3,_0x386814[_0x127ef7(0xaa)]);if(_0x386814['isDirectory']())![_0x127ef7(0x8a),'.git',_0x127ef7(0x6d),'build',_0x127ef7(0xa4),'.venv',_0x127ef7(0x103)]['includes'](_0x386814[_0x127ef7(0xaa)])&&await _0x58ae55(_0x42dae6);else{if(_0x386814['isFile']()){const _0x46a43c=a0_0x475713[_0x127ef7(0xbd)](_0x386814['name'])['toLowerCase']();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x46a43c]&&((_0x2b91a5===null||_0x2b91a5[_0x127ef7(0x120)](_0x46a43c))&&_0x3981f6['push'](_0x42dae6));}}}};return await _0x58ae55(_0x4b5d6c),_0x3981f6;}async[a0_0x3e94ea(0x69)](_0x6fd9c3){const _0x470678=a0_0x3e94ea;try{if(_0x6fd9c3===STATIC_ANALYSIS['LANGUAGE']['JAVASCRIPT']){if(!this['analyzers']['javascript']){const {default:_0x293378}=await import(_0x470678(0x124));this[_0x470678(0x143)][_0x470678(0xc2)]=new _0x293378(this[_0x470678(0x128)]);}return this[_0x470678(0x143)]['javascript'];}if(_0x6fd9c3===STATIC_ANALYSIS[_0x470678(0xf8)]['TYPESCRIPT']){if(!this['analyzers'][_0x470678(0xb6)]){const {default:_0x41faf2}=await import('../analyzers/TypeScriptAnalyzer.js');this['analyzers'][_0x470678(0xb6)]=new _0x41faf2(this['logger']);}return this[_0x470678(0x143)][_0x470678(0xb6)];}if(_0x6fd9c3===STATIC_ANALYSIS['LANGUAGE']['PYTHON']){if(!this[_0x470678(0x143)][_0x470678(0x13e)]){const {default:_0x5232bd}=await import('../analyzers/PythonAnalyzer.js');this[_0x470678(0x143)]['python']=new _0x5232bd(this[_0x470678(0x128)]);}return this[_0x470678(0x143)]['python'];}if(_0x6fd9c3===STATIC_ANALYSIS['LANGUAGE']['CSS']||_0x6fd9c3===STATIC_ANALYSIS['LANGUAGE'][_0x470678(0x10c)]||_0x6fd9c3===STATIC_ANALYSIS[_0x470678(0xf8)][_0x470678(0xd0)]){if(!this['analyzers']['css']){const {default:_0x4c7bcc}=await import('../analyzers/CSSAnalyzer.js');this[_0x470678(0x143)]['css']=new _0x4c7bcc(this[_0x470678(0x128)]);}return this[_0x470678(0x143)]['css'];}return null;}catch(_0x1617ea){return this[_0x470678(0x128)]?.['error']('Failed\x20to\x20load\x20analyzer',{'language':_0x6fd9c3,'error':_0x1617ea[_0x470678(0x6b)]}),null;}}async[a0_0x3e94ea(0xe0)](){const _0x1c0bca=a0_0x3e94ea;if(!this[_0x1c0bca(0x143)]['eslint']){const {default:_0x2d2b10}=await import(_0x1c0bca(0x75));this[_0x1c0bca(0x143)][_0x1c0bca(0x113)]=new _0x2d2b10(this[_0x1c0bca(0x128)]);}return this['analyzers'][_0x1c0bca(0x113)];}async['getPrettierFormatter'](){const _0x3f801f=a0_0x3e94ea;if(!this[_0x3f801f(0xeb)][_0x3f801f(0x114)]){const {default:_0x118404}=await import(_0x3f801f(0x136));this['formatters']['prettier']=new _0x118404(this[_0x3f801f(0x128)]);}return this[_0x3f801f(0xeb)]['prettier'];}async['getSecurityAnalyzer'](){const _0x3c19dc=a0_0x3e94ea;if(!this['analyzers'][_0x3c19dc(0x11f)]){const {default:_0x446bd7}=await import('../analyzers/SecurityAnalyzer.js');this['analyzers']['security']=new _0x446bd7(this['logger']);}return this[_0x3c19dc(0x143)][_0x3c19dc(0x11f)];}async['getConfigValidator'](){const _0x419878=a0_0x3e94ea;if(!this[_0x419878(0x143)][_0x419878(0xd8)]){const {default:_0x58f8a0}=await import('../analyzers/ConfigValidator.js');this[_0x419878(0x143)][_0x419878(0xd8)]=new _0x58f8a0(this[_0x419878(0x128)]);}return this['analyzers']['config'];}[a0_0x3e94ea(0x76)](_0x27a389,_0xec4ab2){const _0x1424f6=a0_0x3e94ea;if(_0xec4ab2['analyzed']){_0x27a389['totalFiles']++;const _0x55da0c=_0xec4ab2['critical']?.[_0x1424f6(0x8e)]||0x0,_0x71ef03=_0xec4ab2['errors']?.[_0x1424f6(0x8e)]||0x0,_0x1c5e9f=_0xec4ab2[_0x1424f6(0xde)]?.['length']||0x0,_0x145e51=_0xec4ab2[_0x1424f6(0x147)]?.[_0x1424f6(0x8e)]||0x0;_0x27a389[_0x1424f6(0x10e)]===undefined&&(_0x27a389['totalCritical']=0x0);_0x27a389[_0x1424f6(0x10e)]+=_0x55da0c,_0x27a389[_0x1424f6(0x116)]+=_0x71ef03,_0x27a389['totalWarnings']+=_0x1c5e9f,_0x27a389['totalInfo']+=_0x145e51;(_0x55da0c>0x0||_0x71ef03>0x0)&&_0x27a389['filesWithErrors']++;_0xec4ab2[_0x1424f6(0x125)]&&(_0x27a389['filesByLanguage'][_0xec4ab2[_0x1424f6(0x125)]]=(_0x27a389['filesByLanguage'][_0xec4ab2['language']]||0x0)+0x1);const _0x3e9c4e=[..._0xec4ab2[_0x1424f6(0xe4)]||[],..._0xec4ab2['errors']||[],..._0xec4ab2[_0x1424f6(0xde)]||[]];for(const _0x16b89b of _0x3e9c4e){_0x16b89b['category']&&(_0x27a389[_0x1424f6(0x119)][_0x16b89b['category']]=(_0x27a389[_0x1424f6(0x119)][_0x16b89b['category']]||0x0)+0x1);}}}[a0_0x3e94ea(0xca)](_0x44ea00){const _0x568317=a0_0x3e94ea;return a0_0x444804['createHash'](_0x568317(0x109))['update'](_0x44ea00)[_0x568317(0x7a)](_0x568317(0xb2))[_0x568317(0x13b)](0x0,0x10);}['getPerformanceMetrics'](){const _0x141f98=a0_0x3e94ea,_0x42d99c=this[_0x141f98(0xbe)][_0x141f98(0xd5)]>0x0?this['metrics'][_0x141f98(0x115)]/this['metrics'][_0x141f98(0xd5)]*0x64:0x0,_0x434d7c=this[_0x141f98(0xbe)]['filesAnalyzed']>0x0?this[_0x141f98(0xbe)]['totalAnalysisTime']/this[_0x141f98(0xbe)]['filesAnalyzed']:0x0;return{...this['metrics'],'cacheHitRate':Math[_0x141f98(0x7d)](_0x42d99c*0xa)/0xa,'averageAnalysisTime':Math[_0x141f98(0x7d)](_0x434d7c),'cacheSize':this[_0x141f98(0xc4)][_0x141f98(0x7f)]};}[a0_0x3e94ea(0xfb)](){const _0x5219cc=a0_0x3e94ea;this[_0x5219cc(0xbe)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}[a0_0x3e94ea(0x8d)](){const _0x57bebb=a0_0x3e94ea;this[_0x57bebb(0xc4)][_0x57bebb(0x94)](),this[_0x57bebb(0x128)]?.['debug'](_0x57bebb(0x8f));}[a0_0x3e94ea(0x12d)](){const _0x59d83d=a0_0x3e94ea;return[_0x59d83d(0x72),_0x59d83d(0x106),'fix','format',_0x59d83d(0x102),_0x59d83d(0x110),'validate-config','validate-config-directory'];}[a0_0x3e94ea(0x12e)](){const _0x1f9943=a0_0x3e94ea;return{'type':_0x1f9943(0xf7),'properties':{'actions':{'type':_0x1f9943(0x11e),'minItems':0x1,'items':{'type':_0x1f9943(0xf7),'properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'filePath':{'type':_0x1f9943(0xbc)},'directory':{'type':'string'},'pattern':{'type':_0x1f9943(0xbc)},'includeWarnings':{'type':'boolean'},'maxErrors':{'type':'number'}},'required':[_0x1f9943(0xa0)]}}},'required':[_0x1f9943(0xc3)]};}}export default StaticAnalysisTool;
|
|
1
|
+
const a0_0x19f3ef=a0_0x4f45;(function(_0x3c66a8,_0x3882a5){const _0x35f33e=a0_0x4f45,_0x19cffe=_0x3c66a8();while(!![]){try{const _0x17bf6d=parseInt(_0x35f33e(0x133))/0x1+parseInt(_0x35f33e(0x164))/0x2*(-parseInt(_0x35f33e(0x12c))/0x3)+parseInt(_0x35f33e(0x109))/0x4+parseInt(_0x35f33e(0x14f))/0x5*(-parseInt(_0x35f33e(0x15e))/0x6)+parseInt(_0x35f33e(0x195))/0x7*(-parseInt(_0x35f33e(0x17a))/0x8)+parseInt(_0x35f33e(0x101))/0x9+parseInt(_0x35f33e(0x17c))/0xa*(parseInt(_0x35f33e(0x141))/0xb);if(_0x17bf6d===_0x3882a5)break;else _0x19cffe['push'](_0x19cffe['shift']());}catch(_0x1bcddd){_0x19cffe['push'](_0x19cffe['shift']());}}}(a0_0x41c6,0x6693b));import{BaseTool}from'./baseTool.js';import a0_0x880dc2 from'../utilities/tagParser.js';function a0_0x4f45(_0x308383,_0x554b75){_0x308383=_0x308383-0xea;const _0x41c639=a0_0x41c6();let _0x4f4525=_0x41c639[_0x308383];if(a0_0x4f45['cZxBnF']===undefined){var _0x192f6e=function(_0x45a20b){const _0x17a412='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x880dc2='',_0x44fc46='';for(let _0x52df5c=0x0,_0x3a4aba,_0x3533e3,_0x49ee77=0x0;_0x3533e3=_0x45a20b['charAt'](_0x49ee77++);~_0x3533e3&&(_0x3a4aba=_0x52df5c%0x4?_0x3a4aba*0x40+_0x3533e3:_0x3533e3,_0x52df5c++%0x4)?_0x880dc2+=String['fromCharCode'](0xff&_0x3a4aba>>(-0x2*_0x52df5c&0x6)):0x0){_0x3533e3=_0x17a412['indexOf'](_0x3533e3);}for(let _0x49b4e6=0x0,_0x3cb660=_0x880dc2['length'];_0x49b4e6<_0x3cb660;_0x49b4e6++){_0x44fc46+='%'+('00'+_0x880dc2['charCodeAt'](_0x49b4e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44fc46);};a0_0x4f45['wBNGMO']=_0x192f6e,a0_0x4f45['xEpEUO']={},a0_0x4f45['cZxBnF']=!![];}const _0xded05c=_0x41c639[0x0],_0x47f1f8=_0x308383+_0xded05c,_0xe3f17=a0_0x4f45['xEpEUO'][_0x47f1f8];return!_0xe3f17?(_0x4f4525=a0_0x4f45['wBNGMO'](_0x4f4525),a0_0x4f45['xEpEUO'][_0x47f1f8]=_0x4f4525):_0x4f4525=_0xe3f17,_0x4f4525;}import a0_0x44fc46 from'../utilities/directoryAccessManager.js';import a0_0x52df5c from'fs/promises';import a0_0x3a4aba from'path';import a0_0x3533e3 from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x41c6(){const _0x3153bd=['CMvHC29U','yw5HBhLZAxndywnOzq','C2XPy2u','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfUywX5EMu','q1jjveLdquW','BwvZC2fNzq','AgfZ','CgfJA2fNzs5QC29U','DgvYCMfMB3jT','C3rYAw5N','Dhj1BMnHDgvK','nti3mLDerKPQBa','BwfW','mtbOyuHKu1q','Cgf0DgvYBG','vfLqrvnduKLqva','Bwf4lwvYCM9YCW','v0fstKLorW','lNrM','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','zgv0zwn0rNjHBwv3B3jR','D3jPDguTzMLSzq','y29UzMLN','qu5btfLtsvnFveLnru9vva','ChvZAa','zxjYB3jZqNLdyxrLz29YEq','yNvPBgq','BMfTzq','zg9JA2vYlwnVBxbVC2uUEwfTBa','Dg90ywXdCML0AwnHBa','rLjbtuvxt1jlx01btKLgrvnuuW','y3nZ','tufyx0zjtevtx1bfuL9cqvrdsa','Bwv0CMLJCW','AxngAwXL','igj5DgvZicHTyxGG','CMf3q29UDgvUDa','mJeZnxzeqw11AG','AxneAxjLy3rVCNK','AM9PBG','B25qCM9NCMvZCW','tufyx0zjtevFu0LArv9gt1jFqu5btfLtsvm','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzVCM1HDa','C2vJDxjPDhLty2fUuhjVAMvJDa','zMLUzenVBMzPz0zPBgvZ','oIb0ExbLigLZihjLCxvPCMvK','D2fYBG','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','Aw5MBW','lMvZBgLUDhjJlMPZB24','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5Fq','z2v0u3vWCg9YDgvKqwn0Aw9UCW','Dw5RBM93BG','CgfYywXSzwXcyxrJAgvZ','qwn0Aw9Uia','Dg90ywXbBMfSExnPC1rPBwu','Bwf4rMLSzvnPEMu','CgfYC2vqyxjHBwv0zxjZ','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','Dg90ywXbBMfSExnLCW','yw5HBhL6zuzPBgu','B2jQzwn0','DhLWzxnJCMLWDa','zMLSzxm','y3DK','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','DgLTzw91Da','lNLTBa','C3rHCNrZv2L0Aa','CgfYC2u','zgv2rgvWzw5Kzw5JAwvZ','y3jPDgLJywW','v3jPDguGywnJzxnZigrLBMLLzdOG','DMfSAwrHDgvszwfKqwnJzxnZ','yw5HBhL6zq','BgvUz3rO','zxHLyW','z2v0uhjLDhrPzxjgB3jTyxr0zxi','zM9YBwf0DgvYCW','lMPZB24','zMLSDgvY','z2v0u2vJDxjPDhLbBMfSExPLCG','Dg90ywXjBMzV','yw5HBhL6zs1WCM9Qzwn0','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','u2vJDxjPDhKGC2nHBM5PBMCGB25SEsbZDxbWB3j0CYbkyxzHu2nYAxb0lcbuExbLu2nYAxb0lcbHBMqGuhL0Ag9UigzPBgvZ','D3jPDgvgAwXL','lI4Vyw5HBhL6zxjZl0PHDMfty3jPChrbBMfSExPLCI5QCW','zgvWzw5Kzw5JAwvZ','AxnbyNnVBhv0zq','AxnbC3LUyW','CMvXDwLYzxnqCM9Qzwn0','AZHZ','y2fJAgvfEhbPCNK','ywXSB3DLza','zxH0BMfTzq','su5gtW','C3vTBwfYEq','rvHuru5tsu9ox1rpx0XbtKDvquDf','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','z2v0rvnmAw50qw5HBhL6zxi','z2v0q29UzMLNvMfSAwrHDg9Y','qw5HBhL6Aw5NigjHDgnO','zgv0zwn0tgfUz3vHz2u','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','DhnJB25MAwCUANnVBG','zgv0zwn0uhL0Ag9UrNjHBwv3B3jR','C3bSAxq','Bwf0y2G','sKfwqvnduKLqva','DhjPBq','BgfUz3vHz2u','u0vwrvjjvfK','DMfSAwrHDgvdB25MAwDgAwXL','Aw5JBhvKzxm','y2XLyxi','C2TPCfrLC3rgAwXLCW','lNbYzxr0AwvYCMm','lMDPDa','mZu5ode2nfrxANbmvG','u0ntuW','zMLSzs1WyxrO','y2HHBMDLCW','BNbTlwf1zgL0','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','C2v0','ChL0Ag9U','mJiXnZi5mLzhCwDWDW','rMLSzsb0B28GBgfYz2u6ia','zxjYB3i','zgLZDa','zgv0zwn0sLngCMfTzxDVCMS','zgvWzw5Kzw5JEs1Zy2fU','C2TPCc10zxn0lwzPBgvZ','zgLNzxn0','y2fJAgviAxrZ','zMLSzxncEuXHBMD1ywDL','CMvHzezPBgu','C3vIC3rYAw5N','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzPEa','zgLYzwn0B3j5','BxrPBwu','Dhj1zq','zMLSzxnbBMfSExPLza','C2vJDxjPDhLty2fUrMLSzq','zM9YBwf0DgvK','zMLSzvbHDgG','lI4Vyw5HBhL6zxjZl0ntu0fUywX5EMvYlMPZ','lMDPDgH1yG','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','zw5HyMXLq2fJAgu','zM9YBwf0','Agv4','DxnLq29UDgvUDeHHC2G','icHTyxGG','AMf2yxnJCMLWDa','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4G','Bwf4rMLSzxnqzxjcyxrJAa','D2fYBMLUz3m','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','zgvIDwC','y3jLyxrLuMvSyxrPDMvqyxrO','ndq2mxPWA05rsq','C2v2zxjPDhK','rMLSzsb0ExbLig5VDcbZDxbWB3j0zwqGyNKGuhjLDhrPzxi','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','yw5HBhL6zvbYB2PLy3q','C2vJDxjPDhKTC2nHBG','ihnLy29UzhmklsbpBMX5ihn1ChbVCNrZigXHBMD1ywDLCYb3AxrOigj1AwX0lwLUigfUywX5EMvYCWOGicaG','nZCXmdnkzMrXuw4','DgLTzxn0yw1W','rMfPBgvKihrVigfUywX5EMuG','Dg9ju09tDhjPBMC','ufLuse9o','zML4','lI4Vyw5HBhL6zxjZl1r5Cgvty3jPChrbBMfSExPLCI5QCW','CgfYC2vbDhrYAwj1DgvZ','y29UDgvUDa','yw5HBhL6zxjZ','yxjYyxK','DhLWzq','u3rHDgLJigfUywX5C2LZigfJDgLVBIbMywLSzwq','ywXS','mti2nZeWodDHtNjOtKm','C2vJDxjPDhK','C2L6zq','DMfSAwrHDguTy29UzMLN','CM91BMq','BgLUzxndAgfUz2vK','Aw5JBhvKzvDHCM5PBMDZ','DMfSAwrHDg9Y','Bwf4rxjYB3jZ','ChjLDhrPzxi','BM9Kzv9TB2r1BgvZ','ru5bqKXfx0nbq0Hf','tefor1vbr0u','DMfSAwrHDgvxCML0zufJy2vZCW','mZaXmejrD2PzzW','zM9YrwfJAa','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','igzPBgvZihbLCIbVCgvYyxrPB24klsbbBMfSExnPCYb0Aw1LB3v0oIa','zxjYB3jZ','BM93','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','DxrMltG','zMXVB3i','A3vIzxjUzxrLCW','zxHLy3v0zq','lNrMDMfYCW','DxbKyxrLu3vTBwfYEq','zg9JA2vYlwnVBxbVC2uUEw1S','y2f0zwDVCNK','nZiYngrvEMr1Cq','Dg9mB3DLCKnHC2u','uMvHzcbHy2nLC3mGzgvUAwvKoIa','rvjst1i','ywn0Aw9UCW','Bg9Nz2vY','mteYnMndrgPzEq','zw50CMLLCW','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','Bwf4ugfYywXSzwXgAwXLCW','CMvZB2X2zq','rMLSzsbMB3jTyxr0zwqGyw5KihDYAxr0zw4','zML4rMLSzq','rMfPBgvKihrVihbHCNnLihn0yxrPyYbHBMfSExnPCYbWyxjHBwv0zxjZoIa','vxnPBMCGy2fJAgvKigfUywX5C2LZihjLC3vSDa','Aw5JBhvKzs13yxjUAw5NCW','zML4zwq'];a0_0x41c6=function(){return _0x3153bd;};return a0_0x41c6();}class StaticAnalysisTool extends BaseTool{constructor(_0x49ee77={},_0x49b4e6=null){const _0x4bbf60=a0_0x4f45;super(_0x49ee77,_0x49b4e6),this[_0x4bbf60(0x1cb)]=!![],this[_0x4bbf60(0x1ca)]=![],this[_0x4bbf60(0x1b2)]=_0x49ee77[_0x4bbf60(0x1b2)]||STATIC_ANALYSIS[_0x4bbf60(0x187)],this['maxConcurrentOperations']=_0x49ee77['maxConcurrentOperations']||0x1,this[_0x4bbf60(0x1a8)]=_0x49ee77['maxFileSize']||STATIC_ANALYSIS[_0x4bbf60(0x199)],this[_0x4bbf60(0x127)]=_0x49ee77[_0x4bbf60(0x127)]||STATIC_ANALYSIS[_0x4bbf60(0x190)],this[_0x4bbf60(0x120)]=_0x49ee77[_0x4bbf60(0x120)]!==![]&&STATIC_ANALYSIS[_0x4bbf60(0x14c)],this['analysisCache']=new Map(),this[_0x4bbf60(0x1cd)]=STATIC_ANALYSIS['CACHE_DURATION'],this['parallelAnalysis']=_0x49ee77['parallelAnalysis']!==![],this[_0x4bbf60(0x167)]=_0x49ee77['maxParallelFiles']||0xa,this[_0x4bbf60(0x123)]=_0x49ee77[_0x4bbf60(0x123)]!==![],this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x4bbf60(0x155)]=new a0_0x44fc46(_0x49ee77,_0x49b4e6),this[_0x4bbf60(0x13c)]={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}['getDescription'](){const _0x4a6a9d=a0_0x4f45;return'\x0aStatic\x20Code\x20Analysis\x20Tool:\x20Analyze\x20code\x20files\x20for\x20errors\x20without\x20execution\x0a\x0aThis\x20tool\x20performs\x20static\x20analysis\x20on\x20code\x20files\x20to\x20find\x20syntax\x20errors,\x20type\x20errors,\x20import\x20issues,\x20and\x20other\x20problems\x20without\x20running\x20the\x20code.\x20It\x20uses\x20official\x20language\x20parsers\x20for\x20accurate\x20results.\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Python\x20(.py)\x0a-\x20CSS\x20(.css)\x0a-\x20SCSS\x20(.scss,\x20.sass)\x0a-\x20LESS\x20(.less)\x0a\x0aUSAGE\x20-\x20XML\x20FORMAT:\x0a\x0aSingle\x20File\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a[/tool]\x0a\x0aMultiple\x20Files\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/utils.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/components/Button.jsx\x22\x20/>\x0a[/tool]\x0a\x0aProject-Wide\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22src\x22\x20pattern=\x22**/*.js\x22\x20/>\x0a[/tool]\x0a\x0aAuto-Fix\x20Code\x20Issues:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<fix\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aFormat\x20Code:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<format\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aUSAGE\x20-\x20JSON\x20FORMAT:\x0a\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze\x22,\x0a\x20\x20\x20\x20\x20\x20\x22filePath\x22:\x20\x22src/index.js\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze-project\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22pattern\x22:\x20\x22**/*.{js,ts,py}\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20file-path:\x20Path\x20to\x20file\x20to\x20analyze\x20(for\x20single\x20file)\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(for\x20project-wide)\x0a-\x20pattern:\x20Glob\x20pattern\x20for\x20files\x20to\x20include\x20(optional,\x20defaults\x20to\x20language-specific\x20patterns)\x0a-\x20include-warnings:\x20Include\x20warnings\x20in\x20results\x20(true/false,\x20default:\x20true)\x0a-\x20max-errors:\x20Maximum\x20number\x20of\x20errors\x20to\x20return\x20(default:\x20all)\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20structured\x20error\x20information:\x0a-\x20file:\x20File\x20path\x0a-\x20line:\x20Line\x20number\x0a-\x20column:\x20Column\x20number\x0a-\x20severity:\x20critical\x20|\x20error\x20|\x20warning\x20|\x20info\x0a-\x20rule:\x20Rule\x20identifier\x0a-\x20message:\x20Human-readable\x20description\x0a-\x20category:\x20syntax\x20|\x20type\x20|\x20import\x20|\x20style\x20|\x20security\x20|\x20performance\x20|\x20best_practice\x0a-\x20fixable:\x20Whether\x20error\x20can\x20be\x20auto-fixed\x0a-\x20suggestion:\x20Fix\x20suggestion\x20(if\x20applicable)\x0a-\x20remediation:\x20Security\x20remediation\x20advice\x20(for\x20security\x20issues)\x0a\x0aDETECTION:\x0a-\x20Language:\x20Automatically\x20detected\x20from\x20file\x20extension\x0a-\x20Framework:\x20Detected\x20from\x20package.json,\x20requirements.txt,\x20etc.\x0a-\x20Context:\x20Project\x20structure\x20analyzed\x20for\x20better\x20accuracy\x0a\x0aEXAMPLES:\x0a\x0aFind\x20all\x20errors\x20in\x20a\x20JavaScript\x20file:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aAnalyze\x20TypeScript\x20with\x20type\x20checking:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/types.ts\x22\x20/>\x0a[/tool]\x0a\x0aCheck\x20all\x20Python\x20files\x20in\x20a\x20directory:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22backend\x22\x20pattern=\x22**/*.py\x22\x20/>\x0a[/tool]\x0a\x0aLIMITATIONS:\x0a-\x20File\x20size\x20limit:\x20'+Math[_0x4a6a9d(0x145)](this[_0x4a6a9d(0x1a8)]/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this[_0x4a6a9d(0x127)]+_0x4a6a9d(0x152)+this[_0x4a6a9d(0x1b2)]/0x3e8+_0x4a6a9d(0x132);}[a0_0x19f3ef(0x1a9)](_0x3cb660){const _0x450571=a0_0x19f3ef;try{const _0x1c748c={},_0x160fb1=[];this['logger']?.[_0x450571(0x12a)]('StaticAnalysis\x20tool\x20parsing\x20parameters',{'contentLength':_0x3cb660['length'],'contentPreview':_0x3cb660[_0x450571(0x114)](0x0,0xc8)});const _0x4a42c0=/<analyze\s+(.+?)\/>/g;let _0x51bcda;while((_0x51bcda=_0x4a42c0['exec'](_0x3cb660))!==null){const _0x21062c=_0x51bcda[0x1][_0x450571(0xf8)](),_0xc9e977=new a0_0x880dc2(),_0x4e6a42=_0xc9e977['parseAttributes'](_0x21062c),_0x5264ab={'type':_0x450571(0x1ba),..._0x4e6a42};_0x5264ab['file-path']&&(_0x5264ab['filePath']=_0x5264ab[_0x450571(0x103)],delete _0x5264ab[_0x450571(0x103)]),_0x5264ab['include-warnings']&&(_0x5264ab[_0x450571(0x147)]=_0x5264ab[_0x450571(0x16d)]===_0x450571(0x118),delete _0x5264ab['include-warnings']),_0x5264ab['max-errors']&&(_0x5264ab[_0x450571(0x149)]=parseInt(_0x5264ab['max-errors'],0xa),delete _0x5264ab[_0x450571(0x17f)]),_0x160fb1[_0x450571(0x188)](_0x5264ab);}const _0x2167f3=/<analyze-project\s+(.+?)\/>/g;while((_0x51bcda=_0x2167f3[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x340b95=_0x51bcda[0x1][_0x450571(0xf8)](),_0x39d276=new a0_0x880dc2(),_0x10d7ef=_0x39d276[_0x450571(0x13a)](_0x340b95),_0x389953={'type':'analyze-project',..._0x10d7ef};_0x389953[_0x450571(0x16d)]&&(_0x389953[_0x450571(0x147)]=_0x389953['include-warnings']===_0x450571(0x118),delete _0x389953[_0x450571(0x16d)]),_0x389953[_0x450571(0x17f)]&&(_0x389953[_0x450571(0x149)]=parseInt(_0x389953['max-errors'],0xa),delete _0x389953['max-errors']),_0x160fb1[_0x450571(0x188)](_0x389953);}const _0x44ec14=/<fix\s+(.+?)\/>/g;while((_0x51bcda=_0x44ec14['exec'](_0x3cb660))!==null){const _0x42aa34=_0x51bcda[0x1][_0x450571(0xf8)](),_0x515da1=new a0_0x880dc2(),_0x53be3c=_0x515da1['parseAttributes'](_0x42aa34),_0x5bc29b={'type':_0x450571(0x138),..._0x53be3c};_0x5bc29b['file-path']&&(_0x5bc29b[_0x450571(0x11c)]=_0x5bc29b[_0x450571(0x103)],delete _0x5bc29b[_0x450571(0x103)]),_0x5bc29b[_0x450571(0x185)]&&(_0x5bc29b['writeFile']=_0x5bc29b['write-file']==='true',delete _0x5bc29b[_0x450571(0x185)]),_0x160fb1[_0x450571(0x188)](_0x5bc29b);}const _0x5b6613=/<format\s+(.+?)\/>/g;while((_0x51bcda=_0x5b6613[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x7a595e=_0x51bcda[0x1][_0x450571(0xf8)](),_0x59757e=new a0_0x880dc2(),_0x324142=_0x59757e['parseAttributes'](_0x7a595e),_0xb58852={'type':'format',..._0x324142};_0xb58852[_0x450571(0x103)]&&(_0xb58852[_0x450571(0x11c)]=_0xb58852['file-path'],delete _0xb58852['file-path']),_0xb58852['write-file']&&(_0xb58852[_0x450571(0x1c6)]=_0xb58852['write-file']===_0x450571(0x118),delete _0xb58852['write-file']),_0x160fb1['push'](_0xb58852);}const _0x5f5bb8=/<security-scan\s+(.+?)\/>/g;while((_0x51bcda=_0x5f5bb8[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x357760=_0x51bcda[0x1][_0x450571(0xf8)](),_0x3b6805=new a0_0x880dc2(),_0x44a622=_0x3b6805[_0x450571(0x13a)](_0x357760),_0x26e19a={'type':_0x450571(0x131),..._0x44a622};_0x26e19a['file-path']&&(_0x26e19a['filePath']=_0x26e19a[_0x450571(0x103)],delete _0x26e19a['file-path']),_0x26e19a[_0x450571(0x10f)]&&(_0x26e19a[_0x450571(0xfe)]=_0x26e19a['skip-test-files']==='true',delete _0x26e19a[_0x450571(0x10f)]),_0x160fb1[_0x450571(0x188)](_0x26e19a);}const _0xe9f07c=/<security-scan-project\s+(.+?)\/>/g;while((_0x51bcda=_0xe9f07c[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x4b9171=_0x51bcda[0x1][_0x450571(0xf8)](),_0x36c487=new a0_0x880dc2(),_0x250148=_0x36c487['parseAttributes'](_0x4b9171),_0x2eae5e={'type':_0x450571(0x12f),..._0x250148};_0x2eae5e[_0x450571(0x10f)]&&(_0x2eae5e[_0x450571(0xfe)]=_0x2eae5e[_0x450571(0x10f)]==='true',delete _0x2eae5e['skip-test-files']),_0x160fb1[_0x450571(0x188)](_0x2eae5e);}const _0x10e086=/<validate-config\s+(.+?)\/>/g;while((_0x51bcda=_0x10e086[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x4000fa=_0x51bcda[0x1]['trim'](),_0x37ea9c=new a0_0x880dc2(),_0x23a287=_0x37ea9c['parseAttributes'](_0x4000fa),_0x251da2={'type':_0x450571(0x144),..._0x23a287};_0x251da2[_0x450571(0x103)]&&(_0x251da2['filePath']=_0x251da2[_0x450571(0x103)],delete _0x251da2['file-path']),_0x160fb1[_0x450571(0x188)](_0x251da2);}const _0x44d6d8=/<validate-config-directory\s+(.+?)\/>/g;while((_0x51bcda=_0x44d6d8[_0x450571(0x1bc)](_0x3cb660))!==null){const _0x20475a=_0x51bcda[0x1]['trim'](),_0x56773e=new a0_0x880dc2(),_0xf99bd7=_0x56773e[_0x450571(0x13a)](_0x20475a),_0x1d3862={'type':'validate-config-directory',..._0xf99bd7};_0x160fb1['push'](_0x1d3862);}return _0x1c748c['actions']=_0x160fb1,_0x1c748c[_0x450571(0x194)]=_0x3cb660[_0x450571(0xf8)](),this[_0x450571(0x163)]?.['debug']('Parsed\x20StaticAnalysis\x20tool\x20parameters',{'totalActions':_0x160fb1[_0x450571(0x1bb)],'actionTypes':_0x160fb1['map'](_0x4353f0=>_0x4353f0['type'])}),_0x1c748c;}catch(_0x30cc51){throw new Error(_0x450571(0x16b)+_0x30cc51[_0x450571(0x174)]);}}[a0_0x19f3ef(0xf2)](){return['actions'];}[a0_0x19f3ef(0x129)](_0x4f2b76){const _0x20d029=a0_0x19f3ef,_0x470530=[];if(!_0x4f2b76[_0x20d029(0x162)]||!Array['isArray'](_0x4f2b76[_0x20d029(0x162)])||_0x4f2b76[_0x20d029(0x162)]['length']===0x0)_0x470530[_0x20d029(0x188)](_0x20d029(0x1b1));else{for(const [_0x337a13,_0x328824]of _0x4f2b76['actions']['entries']()){if(!_0x328824[_0x20d029(0x13e)]){_0x470530[_0x20d029(0x188)](_0x20d029(0x1a6)+(_0x337a13+0x1)+_0x20d029(0x19d));continue;}switch(_0x328824['type']){case _0x20d029(0x1ba):!_0x328824[_0x20d029(0x11c)]&&_0x470530['push'](_0x20d029(0x1a6)+(_0x337a13+0x1)+_0x20d029(0x172));break;case'analyze-project':!_0x328824['directory']&&_0x470530['push']('Action\x20'+(_0x337a13+0x1)+':\x20directory\x20is\x20required\x20for\x20analyze-project');break;case'fix':!_0x328824[_0x20d029(0x11c)]&&_0x470530[_0x20d029(0x188)]('Action\x20'+(_0x337a13+0x1)+_0x20d029(0x115));break;case _0x20d029(0x121):!_0x328824['filePath']&&_0x470530['push'](_0x20d029(0x1a6)+(_0x337a13+0x1)+_0x20d029(0x19a));break;case'security-scan':!_0x328824['filePath']&&_0x470530[_0x20d029(0x188)](_0x20d029(0x1a6)+(_0x337a13+0x1)+_0x20d029(0x182));break;case _0x20d029(0x12f):!_0x328824[_0x20d029(0x116)]&&_0x470530[_0x20d029(0x188)](_0x20d029(0x1a6)+(_0x337a13+0x1)+':\x20directory\x20is\x20required\x20for\x20security-scan-project');break;case _0x20d029(0x144):!_0x328824['filePath']&&_0x470530['push'](_0x20d029(0x1a6)+(_0x337a13+0x1)+_0x20d029(0x106));break;case'validate-config-directory':!_0x328824['directory']&&_0x470530[_0x20d029(0x188)](_0x20d029(0x1a6)+(_0x337a13+0x1)+':\x20directory\x20is\x20required\x20for\x20validate-config-directory');break;default:_0x470530['push']('Action\x20'+(_0x337a13+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x328824[_0x20d029(0x13e)]);}}_0x4f2b76[_0x20d029(0x162)]['length']>this[_0x20d029(0x127)]&&_0x470530[_0x20d029(0x188)]('Too\x20many\x20actions:\x20'+_0x4f2b76[_0x20d029(0x162)][_0x20d029(0x1bb)]+'\x20(max\x20'+this['maxFilesPerBatch']+')');}return{'valid':_0x470530[_0x20d029(0x1bb)]===0x0,'errors':_0x470530};}async[a0_0x19f3ef(0x159)](_0x46d3f2,_0x186432){const _0x5271d4=a0_0x19f3ef,{actions:_0x40547b}=_0x46d3f2,{projectDir:_0x451b30,agentId:_0x258b80,directoryAccess:_0x1a310a}=_0x186432,_0xa110f5=_0x1a310a||this['directoryAccessManager'][_0x5271d4(0x1aa)]({'workingDirectory':_0x451b30||process[_0x5271d4(0x1b0)](),'writeEnabledDirectories':[_0x451b30||process[_0x5271d4(0x1b0)]()],'restrictToProject':!![]}),_0x2eb41c=this['directoryAccessManager']['getWorkingDirectory'](_0xa110f5),_0x3a2b89={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x166926 of _0x40547b){try{let _0x38291f;switch(_0x166926[_0x5271d4(0x13e)]){case'analyze':_0x38291f=await this['analyzeFile'](_0x166926['filePath'],_0x2eb41c,_0xa110f5,_0x166926);_0x38291f&&(_0x3a2b89['files']['push'](_0x38291f),this[_0x5271d4(0x15b)](_0x3a2b89[_0x5271d4(0xea)],_0x38291f));break;case _0x5271d4(0x1c3):const _0x4c8510=await this[_0x5271d4(0x130)](_0x166926[_0x5271d4(0x116)],_0x166926['pattern'],_0x2eb41c,_0xa110f5,_0x166926);_0x3a2b89[_0x5271d4(0x1af)]['push'](..._0x4c8510);for(const _0x5590c0 of _0x4c8510){this['updateSummary'](_0x3a2b89['summary'],_0x5590c0);}break;case'fix':_0x38291f=await this[_0x5271d4(0x16a)](_0x166926['filePath'],_0x2eb41c,_0xa110f5,_0x166926);_0x38291f&&_0x3a2b89[_0x5271d4(0x1af)][_0x5271d4(0x188)](_0x38291f);break;case _0x5271d4(0x121):_0x38291f=await this['formatFile'](_0x166926[_0x5271d4(0x11c)],_0x2eb41c,_0xa110f5,_0x166926);_0x38291f&&_0x3a2b89[_0x5271d4(0x1af)]['push'](_0x38291f);break;case'security-scan':_0x38291f=await this['securityScanFile'](_0x166926['filePath'],_0x2eb41c,_0xa110f5,_0x166926);_0x38291f&&(_0x3a2b89['files']['push'](_0x38291f),this[_0x5271d4(0x15b)](_0x3a2b89['summary'],_0x38291f));break;case'security-scan-project':const _0x5cfbb0=await this[_0x5271d4(0x19b)](_0x166926['directory'],_0x166926[_0x5271d4(0x17d)],_0x2eb41c,_0xa110f5,_0x166926);_0x3a2b89[_0x5271d4(0x1af)]['push'](..._0x5cfbb0);for(const _0x1f292e of _0x5cfbb0){this[_0x5271d4(0x15b)](_0x3a2b89['summary'],_0x1f292e);}break;case _0x5271d4(0x144):_0x38291f=await this['validateConfigFile'](_0x166926['filePath'],_0x2eb41c,_0xa110f5,_0x166926);_0x38291f&&(_0x3a2b89[_0x5271d4(0x1af)][_0x5271d4(0x188)](_0x38291f),this[_0x5271d4(0x15b)](_0x3a2b89[_0x5271d4(0xea)],_0x38291f));break;case'validate-config-directory':const _0x56df5e=await this['validateConfigDirectory'](_0x166926['directory'],_0x2eb41c,_0xa110f5,_0x166926);_0x3a2b89[_0x5271d4(0x1af)]['push'](..._0x56df5e);for(const _0x3938f1 of _0x56df5e){this[_0x5271d4(0x15b)](_0x3a2b89['summary'],_0x3938f1);}break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x166926['type']);}}catch(_0x3b6014){this[_0x5271d4(0x163)]?.[_0x5271d4(0x10b)](_0x5271d4(0x13f),{'action':_0x166926['type'],'error':_0x3b6014['message']}),_0x3a2b89[_0x5271d4(0x1af)][_0x5271d4(0x188)]({'file':_0x166926['filePath']||_0x166926[_0x5271d4(0x116)],'error':_0x3b6014['message'],'success':![]});}}return{'success':!![],'results':_0x3a2b89,'toolUsed':'staticanalysis','performance':this['getPerformanceMetrics']()};}async[a0_0x19f3ef(0x1ac)](_0x4b5be9,_0x540724,_0x41337b,_0x235aff={}){const _0x2e43a3=a0_0x19f3ef,_0x22b83e=a0_0x3a4aba['isAbsolute'](_0x4b5be9)?a0_0x3a4aba['normalize'](_0x4b5be9):a0_0x3a4aba[_0x2e43a3(0x168)](_0x540724,_0x4b5be9),_0x1e4b5d=this['directoryAccessManager'][_0x2e43a3(0x1b9)](_0x22b83e,_0x41337b);if(!_0x1e4b5d[_0x2e43a3(0x1ce)])throw new Error(_0x2e43a3(0x160)+_0x1e4b5d['reason']);try{const _0x1006ca=await a0_0x52df5c['stat'](_0x22b83e);if(_0x1006ca[_0x2e43a3(0x143)]>this['maxFileSize'])throw new Error(_0x2e43a3(0x10a)+_0x1006ca[_0x2e43a3(0x143)]+_0x2e43a3(0x193)+this['maxFileSize']+')');const _0x27976=this[_0x2e43a3(0xf0)](_0x22b83e);if(!_0x27976)return{'file':this['directoryAccessManager']['createRelativePath'](_0x22b83e,_0x41337b),'fullPath':_0x22b83e,'language':_0x2e43a3(0x1a4),'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x2e43a3(0x151)};const _0xd13422=await a0_0x52df5c['readFile'](_0x22b83e,_0x2e43a3(0x156)),_0x502743=this[_0x2e43a3(0x123)]?this['computeContentHash'](_0xd13422):null,_0x64409c=this['useContentHash']?_0x22b83e+':'+_0x502743:_0x22b83e+':'+_0x1006ca[_0x2e43a3(0x117)]['getTime']();if(this['enableCache']&&this['analysisCache'][_0x2e43a3(0x175)](_0x64409c)){const _0x5a0c9d=this[_0x2e43a3(0x170)]['get'](_0x64409c);if(Date['now']()-_0x5a0c9d[_0x2e43a3(0x134)]<this[_0x2e43a3(0x1cd)])return this[_0x2e43a3(0x163)]?.[_0x2e43a3(0x12a)](_0x2e43a3(0x16c),{'file':_0x22b83e}),this[_0x2e43a3(0x191)]['cacheHits']++,this[_0x2e43a3(0x191)]['totalAnalyses']++,_0x5a0c9d['result'];}this[_0x2e43a3(0x191)]['cacheMisses']++,this[_0x2e43a3(0x191)]['totalAnalyses']++;const _0x3c9006=await this['getAnalyzer'](_0x27976);if(!_0x3c9006)return{'file':this[_0x2e43a3(0x155)]['createRelativePath'](_0x22b83e,_0x41337b),'fullPath':_0x22b83e,'language':_0x27976,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'No\x20analyzer\x20available\x20for\x20'+_0x27976};const _0x4fe228=Date[_0x2e43a3(0x154)](),_0x57205f=await _0x3c9006['analyze'](_0x22b83e,_0xd13422,{'workingDir':_0x540724,'accessConfig':_0x41337b,'framework':await this[_0x2e43a3(0x184)](_0x540724,_0x27976)}),_0xaf4d9c=Date[_0x2e43a3(0x154)]()-_0x4fe228;this['metrics'][_0x2e43a3(0x1a7)]+=_0xaf4d9c,this['metrics'][_0x2e43a3(0x119)]++;const _0x237bf9={'file':this[_0x2e43a3(0x155)]['createRelativePath'](_0x22b83e,_0x41337b),'fullPath':_0x22b83e,'language':_0x27976,'framework':await this[_0x2e43a3(0x184)](_0x540724,_0x27976),'errors':_0x57205f['filter'](_0x1a2537=>_0x1a2537['severity']===STATIC_ANALYSIS[_0x2e43a3(0xfa)]['ERROR']),'warnings':_0x235aff[_0x2e43a3(0x147)]!==![]?_0x57205f['filter'](_0x65f399=>_0x65f399[_0x2e43a3(0x12d)]===STATIC_ANALYSIS['SEVERITY']['WARNING']):[],'info':_0x57205f['filter'](_0xc155b8=>_0xc155b8[_0x2e43a3(0x12d)]===STATIC_ANALYSIS[_0x2e43a3(0xfa)][_0x2e43a3(0x1d0)]),'totalIssues':_0x57205f[_0x2e43a3(0x1bb)],'analyzed':!![],'timestamp':new Date()[_0x2e43a3(0x136)]()};return _0x235aff['maxErrors']&&_0x237bf9['errors']['length']>_0x235aff[_0x2e43a3(0x149)]&&(_0x237bf9[_0x2e43a3(0x153)]=_0x237bf9['errors']['slice'](0x0,_0x235aff[_0x2e43a3(0x149)]),_0x237bf9[_0x2e43a3(0x179)]=!![]),this['enableCache']&&this[_0x2e43a3(0x170)][_0x2e43a3(0x107)](_0x64409c,{'result':_0x237bf9,'timestamp':Date[_0x2e43a3(0x154)]()}),_0x237bf9;}catch(_0x145941){throw new Error(_0x2e43a3(0x135)+_0x4b5be9+':\x20'+_0x145941[_0x2e43a3(0x174)]);}}async[a0_0x19f3ef(0x130)](_0x452ec9,_0x3b6702,_0x445a3b,_0x5ae233,_0x13251a={}){const _0xe4bfd5=a0_0x19f3ef,_0x4d4e90=a0_0x3a4aba[_0xe4bfd5(0x1c9)](_0x452ec9)?a0_0x3a4aba['normalize'](_0x452ec9):a0_0x3a4aba[_0xe4bfd5(0x168)](_0x445a3b,_0x452ec9),_0x2be8de=this['directoryAccessManager']['validateReadAccess'](_0x4d4e90,_0x5ae233);if(!_0x2be8de['allowed'])throw new Error(_0xe4bfd5(0x160)+_0x2be8de[_0xe4bfd5(0x16f)]);const _0x4b9962=await this['findFiles'](_0x4d4e90,_0x3b6702);if(_0x4b9962['length']>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x4b9962['length']+_0xe4bfd5(0x124)+this['maxFilesPerBatch']+')');const _0x4acc4a=[];if(this['parallelAnalysis']&&_0x4b9962['length']>0x1){this['logger']?.['debug']('Using\x20parallel\x20analysis',{'totalFiles':_0x4b9962[_0xe4bfd5(0x1bb)],'batchSize':this['maxParallelFiles']});for(let _0x4482d1=0x0;_0x4482d1<_0x4b9962['length'];_0x4482d1+=this['maxParallelFiles']){const _0x2ac9b6=_0x4b9962[_0xe4bfd5(0x171)](_0x4482d1,_0x4482d1+this['maxParallelFiles']);this[_0xe4bfd5(0x191)][_0xe4bfd5(0x1a5)]++;const _0x5eba11={'completed':_0x4482d1,'total':_0x4b9962['length'],'percentage':Math['round'](_0x4482d1/_0x4b9962['length']*0x64)};_0x13251a[_0xe4bfd5(0x198)]&&_0x13251a['onProgress'](_0x5eba11);this[_0xe4bfd5(0x163)]?.[_0xe4bfd5(0x12a)](_0xe4bfd5(0xef),{'batch':Math[_0xe4bfd5(0x157)](_0x4482d1/this[_0xe4bfd5(0x167)])+0x1,'filesInBatch':_0x2ac9b6[_0xe4bfd5(0x1bb)],'progress':_0x5eba11['completed']+'/'+_0x5eba11['total']});const _0x4317bb=_0x2ac9b6['map'](async _0x33054d=>{const _0x437696=_0xe4bfd5;try{const _0x450104=await this[_0x437696(0x1ac)](_0x33054d,_0x445a3b,_0x5ae233,_0x13251a);return _0x450104;}catch(_0x2680a4){return this['logger']?.[_0x437696(0x19e)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x33054d,'error':_0x2680a4['message']}),{'file':this[_0x437696(0x155)][_0x437696(0x12b)](_0x33054d,_0x5ae233),'fullPath':_0x33054d,'error':_0x2680a4[_0x437696(0x174)],'success':![]};}}),_0x12da3b=await Promise[_0xe4bfd5(0x140)](_0x4317bb);_0x4acc4a[_0xe4bfd5(0x188)](..._0x12da3b['filter'](_0x4017fd=>_0x4017fd!==null));}_0x13251a[_0xe4bfd5(0x198)]&&_0x13251a['onProgress']({'completed':_0x4b9962[_0xe4bfd5(0x1bb)],'total':_0x4b9962[_0xe4bfd5(0x1bb)],'percentage':0x64});}else for(const _0x28ca7c of _0x4b9962){try{const _0x4703e9=await this[_0xe4bfd5(0x1ac)](_0x28ca7c,_0x445a3b,_0x5ae233,_0x13251a);_0x4703e9&&_0x4acc4a['push'](_0x4703e9);}catch(_0x237f8b){this['logger']?.[_0xe4bfd5(0x19e)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x28ca7c,'error':_0x237f8b[_0xe4bfd5(0x174)]}),_0x4acc4a[_0xe4bfd5(0x188)]({'file':this[_0xe4bfd5(0x155)]['createRelativePath'](_0x28ca7c,_0x5ae233),'fullPath':_0x28ca7c,'error':_0x237f8b['message'],'success':![]});}}return _0x4acc4a;}async[a0_0x19f3ef(0x16a)](_0x56244c,_0x13a5b2,_0x253e8f,_0x51312a={}){const _0x382159=a0_0x19f3ef,_0x1f4216=a0_0x3a4aba[_0x382159(0x1c9)](_0x56244c)?a0_0x3a4aba['normalize'](_0x56244c):a0_0x3a4aba[_0x382159(0x168)](_0x13a5b2,_0x56244c),_0x184ed1=this[_0x382159(0x155)][_0x382159(0x1b9)](_0x1f4216,_0x253e8f);if(!_0x184ed1[_0x382159(0x1ce)])throw new Error('Read\x20access\x20denied:\x20'+_0x184ed1[_0x382159(0x16f)]);if(_0x51312a[_0x382159(0x1c6)]){const _0x3a3eff=this['directoryAccessManager']['validateWriteAccess'](_0x1f4216,_0x253e8f);if(!_0x3a3eff[_0x382159(0x1ce)])throw new Error(_0x382159(0x1b8)+_0x3a3eff['reason']);}try{const _0xa0f6b1=await a0_0x52df5c['readFile'](_0x1f4216,'utf-8'),_0x18b5d6=await this[_0x382159(0xed)](),_0x40d127=await _0x18b5d6['fix'](_0x1f4216,_0xa0f6b1,{'workingDir':_0x13a5b2,'accessConfig':_0x253e8f,'framework':await this[_0x382159(0x184)](_0x13a5b2,this['detectLanguage'](_0x1f4216))});return _0x51312a['writeFile']&&_0x40d127['fixed']&&(await a0_0x52df5c[_0x382159(0x1c6)](_0x1f4216,_0x40d127['content'],'utf-8'),this['logger']?.['info']('File\x20fixed\x20and\x20written',{'file':_0x1f4216})),{'file':this['directoryAccessManager'][_0x382159(0x12b)](_0x1f4216,_0x253e8f),'fullPath':_0x1f4216,'action':_0x382159(0x138),'fixed':_0x40d127['fixed'],'fixedCount':_0x40d127['fixedCount'],'remainingErrors':_0x40d127['remainingErrors'],'remainingWarnings':_0x40d127['remainingWarnings'],'changes':_0x40d127['changes'],'written':!!(_0x51312a[_0x382159(0x1c6)]&&_0x40d127['fixed']),'preview':!_0x51312a[_0x382159(0x1c6)]&&_0x40d127[_0x382159(0x16e)]?_0x40d127[_0x382159(0x13b)]:undefined};}catch(_0x58a63a){throw new Error('Failed\x20to\x20fix\x20'+_0x56244c+':\x20'+_0x58a63a[_0x382159(0x174)]);}}async['formatFile'](_0x2ac04f,_0x2b3c43,_0x233371,_0x305b45={}){const _0x10f057=a0_0x19f3ef,_0x21eaa3=a0_0x3a4aba[_0x10f057(0x1c9)](_0x2ac04f)?a0_0x3a4aba['normalize'](_0x2ac04f):a0_0x3a4aba[_0x10f057(0x168)](_0x2b3c43,_0x2ac04f),_0x125733=this['directoryAccessManager'][_0x10f057(0x1b9)](_0x21eaa3,_0x233371);if(!_0x125733['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x125733['reason']);if(_0x305b45['writeFile']){const _0x2c2dfd=this[_0x10f057(0x155)][_0x10f057(0x14e)](_0x21eaa3,_0x233371);if(!_0x2c2dfd['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x2c2dfd[_0x10f057(0x16f)]);}try{const _0xc65100=await a0_0x52df5c['readFile'](_0x21eaa3,'utf-8'),_0x509c01=await this[_0x10f057(0x1bd)]();if(!_0x509c01['isSupported'](_0x21eaa3))return{'file':this[_0x10f057(0x155)]['createRelativePath'](_0x21eaa3,_0x233371),'fullPath':_0x21eaa3,'action':_0x10f057(0x121),'formatted':![],'skipped':!![],'skipReason':_0x10f057(0x12e)};const _0x1ddc68=await _0x509c01[_0x10f057(0x121)](_0x21eaa3,_0xc65100,{'workingDir':_0x2b3c43,'accessConfig':_0x233371});return _0x305b45[_0x10f057(0x1c6)]&&_0x1ddc68[_0x10f057(0x11b)]&&(await a0_0x52df5c[_0x10f057(0x1c6)](_0x21eaa3,_0x1ddc68['content'],'utf-8'),this[_0x10f057(0x163)]?.[_0x10f057(0x1a0)](_0x10f057(0x169),{'file':_0x21eaa3})),{'file':this['directoryAccessManager'][_0x10f057(0x12b)](_0x21eaa3,_0x233371),'fullPath':_0x21eaa3,'action':_0x10f057(0x121),'formatted':_0x1ddc68['formatted'],'linesChanged':_0x1ddc68[_0x10f057(0x146)],'changes':_0x1ddc68[_0x10f057(0x104)],'written':!!(_0x305b45['writeFile']&&_0x1ddc68['formatted']),'preview':!_0x305b45[_0x10f057(0x1c6)]&&_0x1ddc68[_0x10f057(0x11b)]?_0x1ddc68[_0x10f057(0x13b)]:undefined};}catch(_0x7069e8){throw new Error('Failed\x20to\x20format\x20'+_0x2ac04f+':\x20'+_0x7069e8[_0x10f057(0x174)]);}}async['securityScanFile'](_0x3613cf,_0x1a5d07,_0x4f1467,_0x467578={}){const _0x327d89=a0_0x19f3ef,_0x4ed8f6=a0_0x3a4aba['isAbsolute'](_0x3613cf)?a0_0x3a4aba['normalize'](_0x3613cf):a0_0x3a4aba['resolve'](_0x1a5d07,_0x3613cf),_0x41c761=this['directoryAccessManager']['validateReadAccess'](_0x4ed8f6,_0x4f1467);if(!_0x41c761['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x41c761['reason']);try{const _0x37d79f=await a0_0x52df5c['stat'](_0x4ed8f6);if(_0x37d79f['size']>this[_0x327d89(0x1a8)])throw new Error('File\x20too\x20large:\x20'+_0x37d79f[_0x327d89(0x143)]+_0x327d89(0x193)+this['maxFileSize']+')');const _0x131974=this[_0x327d89(0xf0)](_0x4ed8f6);if(!_0x131974||!['javascript',_0x327d89(0x1ae),'python']['includes'](_0x131974))return{'file':this[_0x327d89(0x155)]['createRelativePath'](_0x4ed8f6,_0x4f1467),'fullPath':_0x4ed8f6,'language':_0x131974||'unknown','issues':[],'skipped':!![],'skipReason':_0x327d89(0x1c5)};const _0x2bfe6d=await a0_0x52df5c['readFile'](_0x4ed8f6,'utf-8'),_0x5097ee=await this['getSecurityAnalyzer'](),_0x41b362=await _0x5097ee[_0x327d89(0x1ba)](_0x4ed8f6,_0x2bfe6d,{'skipTestFiles':_0x467578[_0x327d89(0xfe)]!==![]}),_0x5a6d5a={'file':this['directoryAccessManager']['createRelativePath'](_0x4ed8f6,_0x4f1467),'fullPath':_0x4ed8f6,'language':_0x131974,'action':'security-scan','critical':_0x41b362[_0x327d89(0x1c0)](_0x13ab85=>_0x13ab85[_0x327d89(0x12d)]===STATIC_ANALYSIS[_0x327d89(0xfa)]['CRITICAL']),'errors':_0x41b362[_0x327d89(0x1c0)](_0x4bf992=>_0x4bf992[_0x327d89(0x12d)]===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x41b362[_0x327d89(0x1c0)](_0x4c608f=>_0x4c608f['severity']===STATIC_ANALYSIS[_0x327d89(0xfa)]['WARNING']),'info':_0x41b362['filter'](_0x2accae=>_0x2accae[_0x327d89(0x12d)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x41b362['length'],'analyzed':!![],'scannersUsed':_0x41b362['map'](_0x2ecc79=>_0x2ecc79['scanner'])[_0x327d89(0x1c0)]((_0x2be196,_0x4ef7b3,_0x4003f4)=>_0x4003f4['indexOf'](_0x2be196)===_0x4ef7b3),'timestamp':new Date()[_0x327d89(0x136)]()};return _0x5a6d5a;}catch(_0x50016a){throw new Error(_0x327d89(0x126)+_0x3613cf+':\x20'+_0x50016a['message']);}}async[a0_0x19f3ef(0x19b)](_0x56696b,_0x12f95d,_0x50d8f9,_0x4ac747,_0x29b1e8={}){const _0x26985b=a0_0x19f3ef,_0x3a1ee1=a0_0x3a4aba['isAbsolute'](_0x56696b)?a0_0x3a4aba['normalize'](_0x56696b):a0_0x3a4aba[_0x26985b(0x168)](_0x50d8f9,_0x56696b),_0x31578b=this['directoryAccessManager'][_0x26985b(0x1b9)](_0x3a1ee1,_0x4ac747);if(!_0x31578b[_0x26985b(0x1ce)])throw new Error(_0x26985b(0x160)+_0x31578b['reason']);const _0x43ef5e=await this['getSecurityAnalyzer'](),_0x4d87c8=await _0x43ef5e['analyzeProject'](_0x3a1ee1,_0x26985b(0x125),_0x29b1e8),_0x26e539=_0x12f95d||_0x26985b(0x1a2),_0x3ef578=await this['findFiles'](_0x3a1ee1,_0x26e539);if(_0x3ef578['length']>this[_0x26985b(0x127)])throw new Error('Too\x20many\x20files:\x20'+_0x3ef578[_0x26985b(0x1bb)]+'\x20(max\x20'+this['maxFilesPerBatch']+')');const _0x5699d1=[];if(this['parallelAnalysis']&&_0x3ef578['length']>0x1){this['logger']?.[_0x26985b(0x12a)]('Using\x20parallel\x20security\x20scanning',{'totalFiles':_0x3ef578['length'],'batchSize':this[_0x26985b(0x167)]});for(let _0x1c3874=0x0;_0x1c3874<_0x3ef578['length'];_0x1c3874+=this['maxParallelFiles']){const _0x1b64e2=_0x3ef578['slice'](_0x1c3874,_0x1c3874+this['maxParallelFiles']);_0x29b1e8['onProgress']&&_0x29b1e8[_0x26985b(0x198)]({'completed':_0x1c3874,'total':_0x3ef578['length'],'percentage':Math[_0x26985b(0x145)](_0x1c3874/_0x3ef578[_0x26985b(0x1bb)]*0x64)});const _0x87adf7=_0x1b64e2['map'](async _0x418bdb=>{const _0x514657=_0x26985b;try{return await this[_0x514657(0x11a)](_0x418bdb,_0x50d8f9,_0x4ac747,_0x29b1e8);}catch(_0x7ce325){return this[_0x514657(0x163)]?.['warn']('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x418bdb,'error':_0x7ce325['message']}),{'file':this[_0x514657(0x155)]['createRelativePath'](_0x418bdb,_0x4ac747),'fullPath':_0x418bdb,'error':_0x7ce325['message'],'success':![]};}}),_0x425acd=await Promise['all'](_0x87adf7);_0x5699d1['push'](..._0x425acd[_0x26985b(0x1c0)](_0x5e3a2f=>_0x5e3a2f!==null));}_0x29b1e8['onProgress']&&_0x29b1e8['onProgress']({'completed':_0x3ef578[_0x26985b(0x1bb)],'total':_0x3ef578['length'],'percentage':0x64});}else for(const _0x17a8d7 of _0x3ef578){try{const _0x37a6cd=await this['securityScanFile'](_0x17a8d7,_0x50d8f9,_0x4ac747,_0x29b1e8);_0x37a6cd&&_0x5699d1[_0x26985b(0x188)](_0x37a6cd);}catch(_0x3b248e){this['logger']?.[_0x26985b(0x19e)](_0x26985b(0x19f),{'file':_0x17a8d7,'error':_0x3b248e[_0x26985b(0x174)]}),_0x5699d1[_0x26985b(0x188)]({'file':this[_0x26985b(0x155)][_0x26985b(0x12b)](_0x17a8d7,_0x4ac747),'fullPath':_0x17a8d7,'error':_0x3b248e[_0x26985b(0x174)],'success':![]});}}return _0x4d87c8['length']>0x0&&_0x5699d1['push']({'file':a0_0x3a4aba[_0x26985b(0x197)](_0x3a1ee1,_0x26985b(0x176)),'fullPath':a0_0x3a4aba[_0x26985b(0x197)](_0x3a1ee1,'package.json'),'action':_0x26985b(0x10e),'critical':_0x4d87c8[_0x26985b(0x1c0)](_0x44b7ae=>_0x44b7ae[_0x26985b(0x12d)]===STATIC_ANALYSIS[_0x26985b(0xfa)][_0x26985b(0x173)]),'errors':_0x4d87c8[_0x26985b(0x1c0)](_0x2f8590=>_0x2f8590[_0x26985b(0x12d)]===STATIC_ANALYSIS[_0x26985b(0xfa)][_0x26985b(0x161)]),'warnings':_0x4d87c8['filter'](_0x5d28ec=>_0x5d28ec['severity']===STATIC_ANALYSIS['SEVERITY'][_0x26985b(0x180)]),'info':_0x4d87c8['filter'](_0x5770dc=>_0x5770dc['severity']===STATIC_ANALYSIS[_0x26985b(0xfa)]['INFO']),'totalIssues':_0x4d87c8[_0x26985b(0x1bb)],'analyzed':!![],'scannersUsed':[_0x26985b(0x105)],'timestamp':new Date()['toISOString']()}),_0x5699d1;}async['validateConfigFile'](_0x5a56b2,_0x3f919f,_0x28143b,_0x505752={}){const _0x44e037=a0_0x19f3ef,_0x262a75=a0_0x3a4aba['isAbsolute'](_0x5a56b2)?a0_0x3a4aba['normalize'](_0x5a56b2):a0_0x3a4aba['resolve'](_0x3f919f,_0x5a56b2),_0x82823e=this['directoryAccessManager'][_0x44e037(0x1b9)](_0x262a75,_0x28143b);if(!_0x82823e[_0x44e037(0x1ce)])throw new Error(_0x44e037(0x160)+_0x82823e[_0x44e037(0x16f)]);try{const _0x32bce1=await a0_0x52df5c['stat'](_0x262a75);if(_0x32bce1['size']>this[_0x44e037(0x1a8)])throw new Error('File\x20too\x20large:\x20'+_0x32bce1[_0x44e037(0x143)]+_0x44e037(0x193)+this['maxFileSize']+')');const _0x2b1ca0=await this[_0x44e037(0xee)](),_0x1efe26=await _0x2b1ca0['validate'](_0x262a75,_0x505752),_0x12857e={'file':this['directoryAccessManager'][_0x44e037(0x12b)](_0x262a75,_0x28143b),'fullPath':_0x262a75,'action':'validate-config','critical':_0x1efe26[_0x44e037(0x1c0)](_0x302bae=>_0x302bae['severity']===STATIC_ANALYSIS[_0x44e037(0xfa)]['CRITICAL']),'errors':_0x1efe26[_0x44e037(0x1c0)](_0x2f3bf8=>_0x2f3bf8['severity']===STATIC_ANALYSIS[_0x44e037(0xfa)]['ERROR']),'warnings':_0x1efe26['filter'](_0x2d1738=>_0x2d1738['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x1efe26['filter'](_0x17ffd3=>_0x17ffd3[_0x44e037(0x12d)]===STATIC_ANALYSIS['SEVERITY'][_0x44e037(0x1d0)]),'totalIssues':_0x1efe26[_0x44e037(0x1bb)],'analyzed':!![],'validatorsUsed':_0x1efe26['map'](_0x1361e9=>_0x1361e9[_0x44e037(0x148)])[_0x44e037(0x1c0)]((_0x197da7,_0x34dc21,_0x3937ab)=>_0x3937ab['indexOf'](_0x197da7)===_0x34dc21),'timestamp':new Date()[_0x44e037(0x136)]()};return _0x12857e;}catch(_0x14b2c7){throw new Error('Failed\x20to\x20validate\x20config\x20'+_0x5a56b2+':\x20'+_0x14b2c7[_0x44e037(0x174)]);}}async[a0_0x19f3ef(0xec)](_0x26272c,_0x1e1fd4,_0x1ac7de,_0x2a1a4={}){const _0x47ba90=a0_0x19f3ef,_0x30fd3a=a0_0x3a4aba['isAbsolute'](_0x26272c)?a0_0x3a4aba['normalize'](_0x26272c):a0_0x3a4aba['resolve'](_0x1e1fd4,_0x26272c),_0x38f5e0=this['directoryAccessManager']['validateReadAccess'](_0x30fd3a,_0x1ac7de);if(!_0x38f5e0['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x38f5e0['reason']);const _0x13acda=await this[_0x47ba90(0x19c)](_0x30fd3a);if(_0x13acda['length']>this[_0x47ba90(0x127)])throw new Error('Too\x20many\x20config\x20files:\x20'+_0x13acda['length']+_0x47ba90(0x124)+this['maxFilesPerBatch']+')');const _0x515712=[];for(const _0x3e82d7 of _0x13acda){try{const _0x21f260=await this[_0x47ba90(0xfb)](_0x3e82d7,_0x1e1fd4,_0x1ac7de,_0x2a1a4);_0x21f260&&_0x515712[_0x47ba90(0x188)](_0x21f260);}catch(_0x9ffa7e){this[_0x47ba90(0x163)]?.['warn']('Failed\x20to\x20validate\x20config\x20file',{'file':_0x3e82d7,'error':_0x9ffa7e['message']}),_0x515712['push']({'file':this[_0x47ba90(0x155)][_0x47ba90(0x12b)](_0x3e82d7,_0x1ac7de),'fullPath':_0x3e82d7,'error':_0x9ffa7e[_0x47ba90(0x174)],'success':![]});}}return _0x515712;}async[a0_0x19f3ef(0x19c)](_0x54b1dc){const _0x1588ed=a0_0x19f3ef,_0x23b678=[],_0x564151=['package.json',_0x1588ed(0xf3),'Dockerfile',_0x1588ed(0x15c),_0x1588ed(0x18c),'.env','.env.example','.eslintrc.js',_0x1588ed(0x1a1),_0x1588ed(0xff),'.prettierrc.json'],_0x26c550=[_0x1588ed(0x1b3),'.yaml',_0x1588ed(0x1bf),_0x1588ed(0x181),_0x1588ed(0x15a)],_0x153d71=async _0x38b935=>{const _0xb0fcde=_0x1588ed,_0x1b9fdd=await a0_0x52df5c['readdir'](_0x38b935,{'withFileTypes':!![]});for(const _0x36aab3 of _0x1b9fdd){const _0x3737c7=a0_0x3a4aba[_0xb0fcde(0x197)](_0x38b935,_0x36aab3[_0xb0fcde(0x18b)]);if(_0x36aab3[_0xb0fcde(0x196)]()){if(_0x36aab3['name']===_0xb0fcde(0x11e)||_0x36aab3['name']===_0xb0fcde(0x158)||_0x36aab3['name']==='k8s'||_0x36aab3[_0xb0fcde(0x18b)]===_0xb0fcde(0x177))await _0x153d71(_0x3737c7);else{if(![_0xb0fcde(0x14b),_0xb0fcde(0x100),'dist','build'][_0xb0fcde(0xfc)](_0x36aab3['name']))continue;}}else{if(_0x36aab3['isFile']()){if(_0x564151['includes'](_0x36aab3[_0xb0fcde(0x18b)]))_0x23b678['push'](_0x3737c7);else{const _0x10fbb8=a0_0x3a4aba[_0xb0fcde(0x1cf)](_0x36aab3['name'])['toLowerCase']();if(_0x26c550['includes'](_0x10fbb8)){const _0x56f33d=a0_0x3a4aba['basename'](a0_0x3a4aba['dirname'](_0x3737c7));(_0x56f33d==='kubernetes'||_0x56f33d===_0xb0fcde(0x1cc)||_0x56f33d===_0xb0fcde(0x177)||_0x56f33d==='workflows')&&_0x23b678['push'](_0x3737c7);}}}}}};return await _0x153d71(_0x54b1dc),_0x23b678;}['detectLanguage'](_0x2df8ce){const _0x31b002=a0_0x19f3ef,_0x477dd3=a0_0x3a4aba['extname'](_0x2df8ce)['toLowerCase']();return STATIC_ANALYSIS[_0x31b002(0xeb)][_0x477dd3]||null;}async['detectFramework'](_0x310ea1,_0x4f47f6){const _0x2a6ef1=a0_0x19f3ef;try{if(_0x4f47f6===STATIC_ANALYSIS['LANGUAGE']['JAVASCRIPT']||_0x4f47f6===STATIC_ANALYSIS['LANGUAGE'][_0x2a6ef1(0x17e)])return await this[_0x2a6ef1(0x10d)](_0x310ea1);if(_0x4f47f6===STATIC_ANALYSIS['LANGUAGE'][_0x2a6ef1(0x137)])return await this[_0x2a6ef1(0xf4)](_0x310ea1);return null;}catch(_0x461341){return this['logger']?.['debug']('Framework\x20detection\x20failed',{'error':_0x461341[_0x2a6ef1(0x174)]}),null;}}async[a0_0x19f3ef(0x10d)](_0x1691db){const _0x25d3f3=a0_0x19f3ef;try{const _0x5dfb94=a0_0x3a4aba['join'](_0x1691db,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x25d3f3(0xf7)]),_0x3c2594=await a0_0x52df5c[_0x25d3f3(0x113)](_0x5dfb94,_0x25d3f3(0x156)),_0x48bf5f=JSON[_0x25d3f3(0x1b5)](_0x3c2594),_0x30f31e={..._0x48bf5f[_0x25d3f3(0x1c8)],..._0x48bf5f[_0x25d3f3(0x1b6)]};for(const [_0x3af83e,_0xd0d107]of Object[_0x25d3f3(0x165)](STATIC_ANALYSIS['JS_FRAMEWORKS'])){if(_0x30f31e[_0xd0d107])return _0x3af83e['toLowerCase']();}return null;}catch(_0x3b31fb){return null;}}async['detectPythonFramework'](_0x1699be){const _0x146938=a0_0x19f3ef;try{const _0x24265d=a0_0x3a4aba['join'](_0x1699be,STATIC_ANALYSIS[_0x146938(0x18e)]['PYTHON']),_0x51fc4c=await a0_0x52df5c[_0x146938(0x113)](_0x24265d,'utf-8');for(const [_0x49adb8,_0x1a2fef]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x51fc4c['toLowerCase']()['includes'](_0x1a2fef))return _0x49adb8['toLowerCase']();}return null;}catch(_0x10af85){try{const _0x49274e=a0_0x3a4aba[_0x146938(0x197)](_0x1699be,STATIC_ANALYSIS[_0x146938(0x18e)]['PYTHON_POETRY']),_0x144675=await a0_0x52df5c[_0x146938(0x113)](_0x49274e,_0x146938(0x156));for(const [_0x2ebfbb,_0x203581]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x144675['toLowerCase']()['includes'](_0x203581))return _0x2ebfbb['toLowerCase']();}}catch{}return null;}}async['findFiles'](_0x8f9bbb,_0x643fee){const _0x5dd21=[],_0x529e27=_0x643fee||'**/*.{js,jsx,mjs,cjs,ts,tsx,py,css,scss,sass,less}',_0x313d45=_0x415068=>{const _0x3b96de=a0_0x4f45,_0x1b003d=[],_0x4dd600=_0x415068[_0x3b96de(0xf6)](/\*\.\{([^}]+)\}/);if(_0x4dd600){const _0xf99ef3=_0x4dd600[0x1][_0x3b96de(0xf5)](',')[_0x3b96de(0x17b)](_0x364ab7=>_0x364ab7['trim']());_0xf99ef3[_0x3b96de(0x150)](_0x5337da=>_0x1b003d['push'](_0x5337da['startsWith']('.')?_0x5337da:'.'+_0x5337da));}else{const _0x1fcbfb=_0x415068[_0x3b96de(0xf6)](/\*\.([a-z]+)$/i);if(_0x1fcbfb){const _0x4a022e=_0x1fcbfb[0x1];_0x1b003d[_0x3b96de(0x188)](_0x4a022e[_0x3b96de(0x1b4)]('.')?_0x4a022e:'.'+_0x4a022e);}}if(_0x1b003d[_0x3b96de(0x1bb)]===0x0)return null;return _0x1b003d;},_0x441f27=_0x313d45(_0x529e27),_0xf0c9cd=async _0x3619a5=>{const _0x32352e=a0_0x4f45,_0x1435e6=await a0_0x52df5c['readdir'](_0x3619a5,{'withFileTypes':!![]});for(const _0x1ee6be of _0x1435e6){const _0xbf0977=a0_0x3a4aba['join'](_0x3619a5,_0x1ee6be[_0x32352e(0x18b)]);if(_0x1ee6be['isDirectory']())![_0x32352e(0x14b),_0x32352e(0x100),_0x32352e(0x10c),_0x32352e(0x18a),'__pycache__','.venv','venv'][_0x32352e(0xfc)](_0x1ee6be['name'])&&await _0xf0c9cd(_0xbf0977);else{if(_0x1ee6be[_0x32352e(0x192)]()){const _0x4d1e85=a0_0x3a4aba[_0x32352e(0x1cf)](_0x1ee6be['name'])[_0x32352e(0x15f)]();STATIC_ANALYSIS[_0x32352e(0xeb)][_0x4d1e85]&&((_0x441f27===null||_0x441f27[_0x32352e(0xfc)](_0x4d1e85))&&_0x5dd21[_0x32352e(0x188)](_0xbf0977));}}}};return await _0xf0c9cd(_0x8f9bbb),_0x5dd21;}async['getAnalyzer'](_0x456228){const _0x8f980e=a0_0x19f3ef;try{if(_0x456228===STATIC_ANALYSIS[_0x8f980e(0x14d)][_0x8f980e(0xf7)]){if(!this['analyzers'][_0x8f980e(0x125)]){const {default:_0x4b711b}=await import(_0x8f980e(0x1c7));this[_0x8f980e(0x13c)]['javascript']=new _0x4b711b(this[_0x8f980e(0x163)]);}return this['analyzers']['javascript'];}if(_0x456228===STATIC_ANALYSIS[_0x8f980e(0x14d)][_0x8f980e(0x17e)]){if(!this['analyzers'][_0x8f980e(0x1ae)]){const {default:_0x38531e}=await import(_0x8f980e(0x139));this[_0x8f980e(0x13c)][_0x8f980e(0x1ae)]=new _0x38531e(this['logger']);}return this['analyzers'][_0x8f980e(0x1ae)];}if(_0x456228===STATIC_ANALYSIS['LANGUAGE'][_0x8f980e(0x137)]){if(!this['analyzers']['python']){const {default:_0x29eb39}=await import(_0x8f980e(0x166));this['analyzers']['python']=new _0x29eb39(this[_0x8f980e(0x163)]);}return this[_0x8f980e(0x13c)][_0x8f980e(0x108)];}if(_0x456228===STATIC_ANALYSIS['LANGUAGE']['CSS']||_0x456228===STATIC_ANALYSIS[_0x8f980e(0x14d)][_0x8f980e(0x102)]||_0x456228===STATIC_ANALYSIS['LANGUAGE']['LESS']){if(!this['analyzers']['css']){const {default:_0x13f548}=await import(_0x8f980e(0x11d));this['analyzers']['css']=new _0x13f548(this['logger']);}return this['analyzers'][_0x8f980e(0x18f)];}return null;}catch(_0x166694){return this[_0x8f980e(0x163)]?.[_0x8f980e(0x10b)]('Failed\x20to\x20load\x20analyzer',{'language':_0x456228,'error':_0x166694['message']}),null;}}async['getESLintAnalyzer'](){if(!this['analyzers']['eslint']){const {default:_0x54fc36}=await import('../analyzers/ESLintAnalyzer.js');this['analyzers']['eslint']=new _0x54fc36(this['logger']);}return this['analyzers']['eslint'];}async['getPrettierFormatter'](){const _0x2526dc=a0_0x19f3ef;if(!this['formatters'][_0x2526dc(0x14a)]){const {default:_0x2b89bf}=await import('../analyzers/PrettierFormatter.js');this['formatters']['prettier']=new _0x2b89bf(this[_0x2526dc(0x163)]);}return this[_0x2526dc(0x1be)][_0x2526dc(0x14a)];}async[a0_0x19f3ef(0x1c1)](){const _0x4db096=a0_0x19f3ef;if(!this[_0x4db096(0x13c)]['security']){const {default:_0x2d3cb4}=await import(_0x4db096(0x183));this[_0x4db096(0x13c)]['security']=new _0x2d3cb4(this[_0x4db096(0x163)]);}return this['analyzers'][_0x4db096(0x142)];}async[a0_0x19f3ef(0xee)](){const _0x4079d2=a0_0x19f3ef;if(!this['analyzers'][_0x4079d2(0x186)]){const {default:_0x261bf5}=await import('../analyzers/ConfigValidator.js');this['analyzers'][_0x4079d2(0x186)]=new _0x261bf5(this[_0x4079d2(0x163)]);}return this[_0x4079d2(0x13c)][_0x4079d2(0x186)];}['updateSummary'](_0x53763a,_0x4b464e){const _0x455db5=a0_0x19f3ef;if(_0x4b464e['analyzed']){_0x53763a['totalFiles']++;const _0x4d15b0=_0x4b464e['critical']?.[_0x455db5(0x1bb)]||0x0,_0x59998d=_0x4b464e[_0x455db5(0x153)]?.[_0x455db5(0x1bb)]||0x0,_0x59e0a0=_0x4b464e['warnings']?.['length']||0x0,_0xefeb70=_0x4b464e[_0x455db5(0x1a0)]?.['length']||0x0;_0x53763a['totalCritical']===undefined&&(_0x53763a[_0x455db5(0x18d)]=0x0);_0x53763a[_0x455db5(0x18d)]+=_0x4d15b0,_0x53763a['totalErrors']+=_0x59998d,_0x53763a['totalWarnings']+=_0x59e0a0,_0x53763a[_0x455db5(0x1c2)]+=_0xefeb70;(_0x4d15b0>0x0||_0x59998d>0x0)&&_0x53763a['filesWithErrors']++;_0x4b464e['language']&&(_0x53763a[_0x455db5(0x112)][_0x4b464e['language']]=(_0x53763a['filesByLanguage'][_0x4b464e[_0x455db5(0xf9)]]||0x0)+0x1);const _0x23818d=[..._0x4b464e[_0x455db5(0x1b7)]||[],..._0x4b464e['errors']||[],..._0x4b464e[_0x455db5(0x128)]||[]];for(const _0x480862 of _0x23818d){_0x480862[_0x455db5(0x15d)]&&(_0x53763a['errorsByCategory'][_0x480862[_0x455db5(0x15d)]]=(_0x53763a[_0x455db5(0x189)][_0x480862['category']]||0x0)+0x1);}}}['computeContentHash'](_0x3ac900){const _0x4e977d=a0_0x19f3ef;return a0_0x3533e3['createHash']('sha256')['update'](_0x3ac900)[_0x4e977d(0x110)](_0x4e977d(0x122))[_0x4e977d(0x114)](0x0,0x10);}[a0_0x19f3ef(0x1c4)](){const _0xab6731=a0_0x19f3ef,_0x2ec62c=this['metrics'][_0xab6731(0x1ab)]>0x0?this['metrics'][_0xab6731(0x111)]/this['metrics'][_0xab6731(0x1ab)]*0x64:0x0,_0x1c9bc1=this['metrics']['filesAnalyzed']>0x0?this['metrics'][_0xab6731(0x1a7)]/this['metrics'][_0xab6731(0x119)]:0x0;return{...this['metrics'],'cacheHitRate':Math[_0xab6731(0x145)](_0x2ec62c*0xa)/0xa,'averageAnalysisTime':Math['round'](_0x1c9bc1),'cacheSize':this[_0xab6731(0x170)][_0xab6731(0x143)]};}['resetPerformanceMetrics'](){this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}['clearCache'](){const _0x465128=a0_0x19f3ef;this['analysisCache'][_0x465128(0xfd)](),this[_0x465128(0x163)]?.['debug'](_0x465128(0x11f));}['getSupportedActions'](){const _0x32eeaf=a0_0x19f3ef;return['analyze',_0x32eeaf(0x1c3),'fix','format',_0x32eeaf(0x131),'security-scan-project',_0x32eeaf(0x144),_0x32eeaf(0xf1)];}['getParameterSchema'](){const _0x7be50b=a0_0x19f3ef;return{'type':_0x7be50b(0x1ad),'properties':{'actions':{'type':_0x7be50b(0x13d),'minItems':0x1,'items':{'type':_0x7be50b(0x1ad),'properties':{'type':{'type':_0x7be50b(0x178),'enum':this[_0x7be50b(0x1a3)]()},'filePath':{'type':_0x7be50b(0x178)},'directory':{'type':'string'},'pattern':{'type':'string'},'includeWarnings':{'type':'boolean'},'maxErrors':{'type':'number'}},'required':[_0x7be50b(0x13e)]}}},'required':[_0x7be50b(0x162)]};}}export default StaticAnalysisTool;
|