@loxia-labs/loxia-autopilot-one 1.0.10 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -0
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/{index-CoRE46V-.js → index-DXN850Y2.js} +78 -74
- package/web-ui/build/static/index-an-YRzUX.css +1 -0
- package/web-ui/build/static/index-P281Rusr.css +0 -1
package/src/tools/seekTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4a41fc=a0_0x3a25;function a0_0x31e3(){const _0x4f8e41=['Bwf0y2HLC0j5vgvYBq','AM9PBG','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO','qMfZzsbKAxjLy3rVCNKGBM90igzVDw5KigzVCIbNBg9IihbHDhrLCM4','ywrK','Aw5JBhvKzxm','tufyx0zjtevFu0LArq','zMLSzvbHDgHZ','zMLSDgvY','C2HVDwXKu2TPCerPCMvJDg9YEq','mJm5me5PqvLwDa','lNrVBwW','mJqYotjcv216Cge','lMHWCa','lNnHC3m','CMvHze9UBhLeAxjLy3rVCMLLCW','tM8GBwf0y2HLCYbMB3vUzcbMB3iGDgHLihnWzwnPzMLLzcbZzwfYy2GGDgvYBxmGAw4G','tuiGCgvYigzPBguklsbszxr1CM5ZihvWihrVia','lNnXBgL0zq','mJuYnZeYounmvejquG','oIbWyxrOihrYyxzLCNnHBcaOlI4Pig5VDcbHBgXVD2vKigzVCIbZzwn1CML0Eq','BM90rM91BMq','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','lNjI','lNnV','lMnZCW','lJD6','ihnLyxjJAcb0zxjTCWOTie1HEgLTDw0G','lNLTBa','lNn2zW','Aw5MBW','lMrSBa','CMvHzgrPCG','u0vbuKniifjfu1vmvfmGka','y3DK','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','lNrZEa','uhjVAMvJDcbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLzwSGDg9VBa','tufyx1nfqvjdsf9urvjnuW','ks4Gtwf4Aw11BsbPCYa','BMfTzq','lMvVDa','lNbUzW','zxH0BMfTzq','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','tufyx1rpvefmx01bvenirvm','C2vHCMnOvgvYBxm','zxjYB3jgAwXLCW','Bwf0y2HLC1bHDhrLCM4','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','lMLUAq','C2vLA0nVBMzPzW','D29YA2LUz0rPCMvJDg9YEq','BwLU','DhjPBq','C2vHCMnOrMLSzxm','tuiGCgvYigzPBguklsbdyxnLlxnLBNnPDgL2zsbZzwfYy2GGB25SEqOTiev4ywn0ihn0CMLUzYbTyxrJAgLUzYaOBM90ihjLz2v4kqOTifbHDgHZig91DhnPzguGywnJzxnZAwjSzsbKAxjLy3rVCMLLCYb3AwXSigjLihjLCg9YDgvKigfZicjUB3qGzM91BMqIcIaGica','lNDVzMyY','lMD6','y2XLyw51Ca','lMDV','lM51Ehq','CM91BMq','DgvYBq','AxnqyxrOqwnJzxnZAwjSzq','vg9Vig1HBNKGzMLSzsbWyxrOCYaOBwf4ia','BgvUz3rO','kIOV','lMjPBG','lNbKzG','ks4Gu29TzsbTyxrJAgvZig1HEsbUB3qGyMuGC2HVD24UcG','Aw5KzxHpzG','tufyx0zjtevFuefusfm','rMLSzsbWyxrOia','BgLUzu51BwjLCG','tufyx0XjtKvFq09ovevovf9mru5hveG','lMDPDa','lM1K','lMnWCa','tufyx0rjuKvdve9swv9ervbusa','C3rHCNrZv2L0Aa','mJGYmZGWnhLfq2vdsq','zxHWyw5Kr2XVyLbHDhrLCM4','ChvZAa','ig1HDgnOzxmPcG','zM91BMq','C3bSAxq','nJq1otG1t0HWBMff','yNvPBgq','lMf2Aq','z2v0rgvZy3jPChrPB24','CgfYC2u','lMPZB24','CgfYC2vqyxjHBwv0zxjZ','BwvZC2fNzq','AxnbyNnVBhv0zq','BwfW','lNHTBa','vg9Vig1HBNKGC2vHCMnOihrLCM1ZicHTyxGG','Dg9mB3DLCKnHC2u','nJK1sgnit3vx','ihrVDgfSig1HDgnOzxmGAw4G','zxjYB3i','B3v0','C3rHDa','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','qxqGBgvHC3qGB25LihnLyxjJAcb0zxjTigLZihjLCxvPCMvK','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','AxngAwXL','BgLUzunVBNrLBNq','AxnbCNjHEq','lMLJBW','C3rYAw5N','ntaXnJu3nMrNv2jRsq','lNPPCa','AxneAxjLy3rVCNK','xcqM','mtrxs29PAvG','AxnbC3LUyW','DMvUzg9Y','lI4U','zxHLyW','Bg9Nz2vY','Bwf4','C2L6zq','zMLSzvbHDgG','mJboserSBKO','lMrHDa','zw50CMLLCW','vxnPBMCGywDLBNqGy29UzMLNDxjLzcbKAxjLy3rVCNKGywnJzxnZ','rgLYzwn0B3j5ig5VDcbMB3vUzcbMB3iGz2XVyIbWyxr0zxjU','otK3mJLqBKnfAg0','lNnO','y29Kzq','C2HVDwXKu2TPCezPBgu','twf4Aw11BsbKAxjLy3rVCNKGzgvWDgGGCMvHy2HLza','AgfZ','Bwf0y2HLCW','icaTia','DgLTzw91Da','zxnJyxbLuMvNrxHW','CMvWBgfJzq','DgfYz2v0','lM5LEhq','CMvSyxrPDMu','mtm2CwD0zfDu','lMr5BgLI','tufyx0zjtevtx1bfuL9trufsq0G','mta0murLD0DVsW','BM9Kzv9TB2r1BgvZ','rKLmrvmGv0LuscbfuLjpuLm6cG','lNjHCG','zgLZDa','rMfPBgvKihrVihbHCNnLihnLzwSGCgfYyw1LDgvYCW','DgvTCa','D2fYBG','zMLUzezPBgvZuMvJDxjZAxzLBhK'];a0_0x31e3=function(){return _0x4f8e41;};return a0_0x31e3();}function a0_0x3a25(_0x204ff5,_0x343902){_0x204ff5=_0x204ff5-0x74;const _0x31e387=a0_0x31e3();let _0x3a2594=_0x31e387[_0x204ff5];if(a0_0x3a25['iaPboy']===undefined){var _0x4810d6=function(_0x186e8b){const _0x21fbb6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36c8cb='',_0x2f5d8b='';for(let _0xb9ec78=0x0,_0xfe1893,_0x547f1c,_0x2d40c1=0x0;_0x547f1c=_0x186e8b['charAt'](_0x2d40c1++);~_0x547f1c&&(_0xfe1893=_0xb9ec78%0x4?_0xfe1893*0x40+_0x547f1c:_0x547f1c,_0xb9ec78++%0x4)?_0x36c8cb+=String['fromCharCode'](0xff&_0xfe1893>>(-0x2*_0xb9ec78&0x6)):0x0){_0x547f1c=_0x21fbb6['indexOf'](_0x547f1c);}for(let _0x5e77bb=0x0,_0x40a170=_0x36c8cb['length'];_0x5e77bb<_0x40a170;_0x5e77bb++){_0x2f5d8b+='%'+('00'+_0x36c8cb['charCodeAt'](_0x5e77bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f5d8b);};a0_0x3a25['qGsdYU']=_0x4810d6,a0_0x3a25['cQglXU']={},a0_0x3a25['iaPboy']=!![];}const _0x417c2f=_0x31e387[0x0],_0x3d99d2=_0x204ff5+_0x417c2f,_0x502aad=a0_0x3a25['cQglXU'][_0x3d99d2];return!_0x502aad?(_0x3a2594=a0_0x3a25['qGsdYU'](_0x3a2594),a0_0x3a25['cQglXU'][_0x3d99d2]=_0x3a2594):_0x3a2594=_0x502aad,_0x3a2594;}(function(_0x4816ad,_0x340b21){const _0x193653=a0_0x3a25,_0x57878b=_0x4816ad();while(!![]){try{const _0x49ceb2=-parseInt(_0x193653(0xdb))/0x1+parseInt(_0x193653(0x8e))/0x2*(-parseInt(_0x193653(0x7b))/0x3)+-parseInt(_0x193653(0x90))/0x4*(-parseInt(_0x193653(0xe8))/0x5)+parseInt(_0x193653(0xd5))/0x6*(parseInt(_0x193653(0xf9))/0x7)+parseInt(_0x193653(0x78))/0x8*(-parseInt(_0x193653(0x107))/0x9)+parseInt(_0x193653(0x102))/0xa*(-parseInt(_0x193653(0x97))/0xb)+parseInt(_0x193653(0xf5))/0xc;if(_0x49ceb2===_0x340b21)break;else _0x57878b['push'](_0x57878b['shift']());}catch(_0x590403){_0x57878b['push'](_0x57878b['shift']());}}}(a0_0x31e3,0x78d6e));import{BaseTool}from'./baseTool.js';import a0_0x36c8cb from'../utilities/tagParser.js';import{promises as a0_0x2f5d8b}from'fs';import a0_0xb9ec78 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_0x4a41fc(0xae),'.jpg','.jpeg','.gif','.bmp',a0_0x4a41fc(0xf3),a0_0x4a41fc(0xa1),a0_0x4a41fc(0xc9),a0_0x4a41fc(0xf6),'.tar',a0_0x4a41fc(0xbe),a0_0x4a41fc(0x7e),a0_0x4a41fc(0x9e),'.exe',a0_0x4a41fc(0xa3),a0_0x4a41fc(0x9c),a0_0x4a41fc(0x79),'.mp3','.mp4',a0_0x4a41fc(0xdd),'.mov','.wmv','.woff',a0_0x4a41fc(0xbd),'.ttf',a0_0x4a41fc(0xad),a0_0x4a41fc(0xc8),a0_0x4a41fc(0x103),'.db',a0_0x4a41fc(0x96)]);class SeekTool extends BaseTool{constructor(_0xfe1893={},_0x547f1c=null){const _0x16d7f1=a0_0x4a41fc;super(_0xfe1893,_0x547f1c),this['requiresProject']=!![],this[_0x16d7f1(0xfa)]=!![],this[_0x16d7f1(0x10f)]=_0xfe1893[_0x16d7f1(0x10f)]||0x1d4c0,this['seekConfig']={...SEEK_CONFIG,..._0xfe1893['seekConfig']};}[a0_0x4a41fc(0xde)](){const _0x5581f2=a0_0x4a41fc;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[_0x5581f2(0x8a)]/(0x400*0x400)+_0x5581f2(0x95)+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['MAX_FILES_PER_SEARCH']+'\x20files\x20per\x20search\x0a-\x20Maximum\x20'+SEEK_CONFIG[_0x5581f2(0xaa)]+_0x5581f2(0x9f)+SEEK_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+_0x5581f2(0xbc);}[a0_0x4a41fc(0xe1)](_0x2d40c1){const _0x1b127b=a0_0x4a41fc;try{if(_0x2d40c1['trim']()['startsWith']('{')){const _0x33cee7=JSON[_0x1b127b(0xdf)](_0x2d40c1);return{'filePaths':_0x33cee7['filePaths']||[],'searchTerms':_0x33cee7[_0x1b127b(0xb2)]||[]};}const _0x5e77bb={'filePaths':[],'searchTerms':[]},_0x40a170=/<in-files>([\s\S]*?)<\/in-files>/i,_0x25cb1f=_0x40a170[_0x1b127b(0xfd)](_0x2d40c1);if(_0x25cb1f){const _0x4f878b=_0x25cb1f[0x1];_0x5e77bb[_0x1b127b(0x8b)]=_0x4f878b['split']('\x0a')[_0x1b127b(0xe4)](_0x2e4c01=>_0x2e4c01[_0x1b127b(0xba)]())[_0x1b127b(0x8c)](_0x2af8e5=>_0x2af8e5[_0x1b127b(0xc6)]>0x0);}const _0x20b6e9=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x28753c=_0x20b6e9['exec'](_0x2d40c1);if(_0x28753c){const _0x30fdff=_0x28753c[0x1],_0x3c1567=/<term>(.*?)<\/term>/gi;let _0x26d173;while((_0x26d173=_0x3c1567[_0x1b127b(0xfd)](_0x30fdff))!==null){const _0x4e7918=_0x26d173[0x1][_0x1b127b(0xba)]();_0x4e7918['length']>0x0&&_0x5e77bb[_0x1b127b(0xb2)]['push'](_0x4e7918);}}return _0x5e77bb;}catch(_0x3fdef1){return this[_0x1b127b(0xfe)]?.[_0x1b127b(0xea)](_0x1b127b(0x80),{'error':_0x3fdef1['message']}),{'filePaths':[],'searchTerms':[],'parseError':_0x3fdef1[_0x1b127b(0xe2)]};}}[a0_0x4a41fc(0xa7)](){const _0x3fd500=a0_0x4a41fc;return['filePaths',_0x3fd500(0xb2)];}['customValidateParameters'](_0x369ff5){const _0x154d59=a0_0x4a41fc,_0x331fea=[];if(!_0x369ff5[_0x154d59(0x8b)]||!Array[_0x154d59(0xf2)](_0x369ff5['filePaths'])||_0x369ff5['filePaths']['length']===0x0)_0x331fea['push']('At\x20least\x20one\x20file\x20path\x20is\x20required');else _0x369ff5['filePaths']['length']>this['seekConfig'][_0x154d59(0xcc)]&&_0x331fea[_0x154d59(0xd7)](_0x154d59(0xc5)+this[_0x154d59(0xb7)][_0x154d59(0xcc)]+')');if(!_0x369ff5['searchTerms']||!Array[_0x154d59(0xf2)](_0x369ff5['searchTerms'])||_0x369ff5[_0x154d59(0xb2)]['length']===0x0)_0x331fea['push'](_0x154d59(0xee));else _0x369ff5[_0x154d59(0xb2)]['length']>this[_0x154d59(0xb7)]['MAX_SEARCH_TERMS']&&_0x331fea[_0x154d59(0xd7)](_0x154d59(0xe6)+this['seekConfig'][_0x154d59(0xaa)]+')');if(_0x369ff5[_0x154d59(0xb2)]&&Array['isArray'](_0x369ff5['searchTerms']))for(const [_0x1040a9,_0x123344]of _0x369ff5['searchTerms'][_0x154d59(0x104)]()){(typeof _0x123344!==_0x154d59(0xf4)||_0x123344[_0x154d59(0xba)]()[_0x154d59(0xc6)]===0x0)&&_0x331fea[_0x154d59(0xd7)]('Search\x20term\x20'+(_0x1040a9+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string');}if(_0x369ff5[_0x154d59(0x8b)]&&Array[_0x154d59(0xf2)](_0x369ff5[_0x154d59(0x8b)]))for(const [_0x44f54a,_0x47d6cf]of _0x369ff5[_0x154d59(0x8b)]['entries']()){(typeof _0x47d6cf!=='string'||_0x47d6cf[_0x154d59(0xba)]()[_0x154d59(0xc6)]===0x0)&&_0x331fea['push'](_0x154d59(0xcd)+(_0x44f54a+0x1)+_0x154d59(0xb0)),_0x47d6cf[_0x154d59(0x89)]('..')&&_0x331fea['push']('File\x20path\x20'+(_0x44f54a+0x1)+_0x154d59(0x98));}return{'valid':_0x331fea['length']===0x0,'errors':_0x331fea};}async['execute'](_0x2ca23c,_0x520337){const _0x34e035=a0_0x4a41fc,{filePaths:_0x8258d0,searchTerms:_0x476ede}=_0x2ca23c,{projectDir:_0x280517,agentId:_0x1ef17b,directoryAccess:_0x46b369}=_0x520337;let _0xc7c44e=_0x280517||process[_0x34e035(0xa6)](),_0x3e778c=[_0xc7c44e];_0x46b369&&_0x46b369[_0x34e035(0xb8)]&&(_0xc7c44e=_0x46b369['workingDirectory'],_0x3e778c=this['getAllAccessibleDirectories'](_0x46b369),this[_0x34e035(0xfe)]?.[_0x34e035(0xa2)](_0x34e035(0x105),{'workingDirectory':_0x46b369[_0x34e035(0xb8)],'totalAccessibleDirs':_0x3e778c[_0x34e035(0xc6)],'readOnlyDirs':_0x46b369['readOnlyDirectories']?.['length']||0x0,'writeEnabledDirs':_0x46b369['writeEnabledDirectories']?.[_0x34e035(0xc6)]||0x0,'agentId':_0x1ef17b}));if(!_0xc7c44e)throw new Error(_0x34e035(0xa9));this['logger']?.[_0x34e035(0xa2)]('Executing\x20seek\x20tool',{'filePathCount':_0x8258d0['length'],'searchTermCount':_0x476ede['length'],'workingDirectory':_0xc7c44e,'accessibleDirectories':_0x3e778c['length'],'agentId':_0x1ef17b});try{const _0x31e0fc=await this['resolveFilePaths'](_0x8258d0,_0xc7c44e,_0x46b369?_0x3e778c:null),_0x172c48=_0x31e0fc['found'],_0xe53289=_0x31e0fc[_0x34e035(0x99)];if(_0x172c48['length']>this['seekConfig']['MAX_FILES_PER_SEARCH'])return{'success':![],'error':'Too\x20many\x20files\x20to\x20search\x20('+_0x172c48['length']+_0x34e035(0xab)+this[_0x34e035(0xb7)][_0x34e035(0x7a)]+'.\x20Use\x20more\x20specific\x20file\x20patterns.','filesResolved':_0x172c48[_0x34e035(0xc6)],'filesNotFound':_0xe53289['length']};const _0x4171e4=await this['searchFiles'](_0x172c48,_0x476ede,_0xc7c44e),_0x42f20c=this['formatResults'](_0x4171e4['matches'],_0x4171e4['errorFiles'],_0xe53289,_0x172c48[_0x34e035(0xc6)]);return{'success':!![],'filesSearched':_0x172c48[_0x34e035(0xc6)],'filesNotFound':_0xe53289[_0x34e035(0xc6)],'filesWithErrors':_0x4171e4[_0x34e035(0xb3)]['length'],'totalMatches':_0x4171e4[_0x34e035(0x10d)]['length'],'matchesByTerm':_0x4171e4[_0x34e035(0x84)],'formattedResults':_0x42f20c,'toolUsed':'seek'};}catch(_0x523422){this[_0x34e035(0xfe)]?.[_0x34e035(0xea)]('Seek\x20tool\x20execution\x20failed',{'error':_0x523422[_0x34e035(0xe2)]});throw _0x523422;}}[a0_0x4a41fc(0xef)](_0x84604a){const _0x56e9bb=a0_0x4a41fc,_0x119122=new Set();_0x84604a['workingDirectory']&&_0x119122['add'](_0x84604a[_0x56e9bb(0xb8)]);if(_0x84604a['readOnlyDirectories']&&Array['isArray'](_0x84604a[_0x56e9bb(0x93)]))for(const _0x4c8a43 of _0x84604a['readOnlyDirectories']){_0x119122['add'](_0x4c8a43);}if(_0x84604a[_0x56e9bb(0xed)]&&Array['isArray'](_0x84604a['writeEnabledDirectories']))for(const _0x28ac22 of _0x84604a['writeEnabledDirectories']){_0x119122[_0x56e9bb(0x88)](_0x28ac22);}return Array['from'](_0x119122);}[a0_0x4a41fc(0xc4)](_0x37cd15,_0x5b75d8){const _0x2b807e=a0_0x4a41fc;for(const _0x39e6eb of _0x5b75d8){const _0xe17445=a0_0xb9ec78['relative'](_0x39e6eb,_0x37cd15),_0x14fc2f=!_0xe17445[_0x2b807e(0xd4)]('..')&&!a0_0xb9ec78[_0x2b807e(0xe3)](_0xe17445);if(_0x14fc2f)return!![];}return![];}async['resolveFilePaths'](_0x17c986,_0x1d7201,_0x268f16=null){const _0x479ce1=a0_0x4a41fc,_0x1e3746={'found':[],'notFound':[]};for(const _0x5ac5ca of _0x17c986){const _0x30bfe0=_0x5ac5ca[_0x479ce1(0xba)]();if(_0x30bfe0['includes']('*')){const _0x10ee08=await this[_0x479ce1(0xd6)](_0x30bfe0,_0x1d7201);_0x10ee08['found']['length']>0x0?_0x1e3746[_0x479ce1(0xd9)]['push'](..._0x10ee08[_0x479ce1(0xd9)]):_0x1e3746[_0x479ce1(0x99)]['push'](_0x30bfe0+'\x20(no\x20matching\x20files)');}else{const _0x10545e=a0_0xb9ec78['isAbsolute'](_0x30bfe0)?_0x30bfe0:a0_0xb9ec78['resolve'](_0x1d7201,_0x30bfe0);if(_0x268f16&&_0x268f16['length']>0x0){if(!this[_0x479ce1(0xc4)](_0x10545e,_0x268f16)){_0x1e3746['notFound']['push'](_0x30bfe0+'\x20(not\x20in\x20accessible\x20directories)');continue;}}try{const _0x42a129=await a0_0x2f5d8b[_0x479ce1(0xec)](_0x10545e);if(_0x42a129[_0x479ce1(0xf0)]())_0x1e3746['found'][_0x479ce1(0xd7)](_0x10545e);else _0x42a129['isDirectory']()?_0x1e3746['notFound'][_0x479ce1(0xd7)](_0x30bfe0+'\x20(is\x20a\x20directory,\x20not\x20a\x20file)'):_0x1e3746[_0x479ce1(0x99)][_0x479ce1(0xd7)](_0x30bfe0+'\x20(not\x20a\x20regular\x20file)');}catch(_0x34c0bb){_0x1e3746[_0x479ce1(0x99)][_0x479ce1(0xd7)](_0x30bfe0+'\x20('+(_0x34c0bb[_0x479ce1(0x109)]||_0x34c0bb[_0x479ce1(0xe2)])+')');}}}return _0x1e3746;}async['expandGlobPattern'](_0x20f477,_0x2db25e){const _0x37b99d=a0_0x4a41fc,_0x221d33={'found':[]};if(_0x20f477['includes']('**/')){const [_0x57d67f,_0x3ebacb]=_0x20f477[_0x37b99d(0xda)](_0x37b99d(0xc7)),_0x189871=a0_0xb9ec78['resolve'](_0x2db25e,_0x57d67f);try{const _0xefba2c=await a0_0x2f5d8b['stat'](_0x189871);_0xefba2c[_0x37b99d(0xf7)]()&&await this[_0x37b99d(0x83)](_0x189871,_0x3ebacb,_0x221d33['found'],0x0,this[_0x37b99d(0xb7)][_0x37b99d(0xd3)]);}catch(_0x399841){this['logger']?.[_0x37b99d(0x82)](_0x37b99d(0x87),{'basePath':_0x189871,'error':_0x399841[_0x37b99d(0xe2)]});}}else{if(_0x20f477['includes']('*')){const _0x4a002d=a0_0xb9ec78['dirname'](a0_0xb9ec78['resolve'](_0x2db25e,_0x20f477)),_0x2b29d3=a0_0xb9ec78['basename'](_0x20f477);try{const _0x1b0a3f=await a0_0x2f5d8b[_0x37b99d(0xec)](_0x4a002d);if(_0x1b0a3f[_0x37b99d(0xf7)]()){const _0x625606=await a0_0x2f5d8b['readdir'](_0x4a002d);for(const _0x59940e of _0x625606){const _0x23abbe=a0_0xb9ec78['join'](_0x4a002d,_0x59940e);try{const _0x1da106=await a0_0x2f5d8b['stat'](_0x23abbe);_0x1da106[_0x37b99d(0xf0)]()&&this['matchesPattern'](_0x59940e,_0x2b29d3)&&_0x221d33['found']['push'](_0x23abbe);}catch(_0x12a716){continue;}}}}catch(_0x203838){this[_0x37b99d(0xfe)]?.[_0x37b99d(0x82)](_0x37b99d(0x106),{'dirPath':_0x4a002d,'error':_0x203838[_0x37b99d(0xe2)]});}}}return _0x221d33;}async['findFilesRecursively'](_0x3ec74e,_0x316c0d,_0x2f76b2,_0x570f8b,_0x56a67a){const _0x1b7aa6=a0_0x4a41fc;if(_0x570f8b>=_0x56a67a){this['logger']?.['warn'](_0x1b7aa6(0x10b),{'dir':_0x3ec74e,'currentDepth':_0x570f8b});return;}try{const _0x5caa0d=await a0_0x2f5d8b[_0x1b7aa6(0xa4)](_0x3ec74e,{'withFileTypes':!![]});for(const _0x47d279 of _0x5caa0d){if(_0x47d279[_0x1b7aa6(0xac)][_0x1b7aa6(0xd4)]('.'))continue;const _0x16260c=a0_0xb9ec78[_0x1b7aa6(0x85)](_0x3ec74e,_0x47d279[_0x1b7aa6(0xac)]);try{if(_0x47d279[_0x1b7aa6(0xf7)]()){if(this['shouldSkipDirectory'](_0x47d279['name']))continue;await this['findFilesRecursively'](_0x16260c,_0x316c0d,_0x2f76b2,_0x570f8b+0x1,_0x56a67a);}else{if(_0x47d279[_0x1b7aa6(0xf0)]()){if(this[_0x1b7aa6(0xb4)](_0x47d279[_0x1b7aa6(0xac)],_0x316c0d)){_0x2f76b2[_0x1b7aa6(0xd7)](_0x16260c);if(_0x2f76b2['length']>=this['seekConfig']['MAX_FILES_PER_SEARCH'])return;}}}}catch(_0xb4b1e7){continue;}}}catch(_0x5278c5){this['logger']?.[_0x1b7aa6(0x82)](_0x1b7aa6(0x9a),{'dir':_0x3ec74e,'error':_0x5278c5[_0x1b7aa6(0xe2)]});}}['matchesPattern'](_0x738993,_0x30a1db){const _0x1e5a36=a0_0x4a41fc,_0x4611fd=_0x30a1db['split']('*')['map'](_0x5806c2=>this[_0x1e5a36(0x110)](_0x5806c2))['join']('.*'),_0x490a64=new RegExp('^'+_0x4611fd+'$','i');return _0x490a64['test'](_0x738993);}[a0_0x4a41fc(0x110)](_0x58890f){const _0x56d9da=a0_0x4a41fc;return _0x58890f[_0x56d9da(0x74)](/[.*+?^${}()|[\]\\]/g,_0x56d9da(0xf8));}[a0_0x4a41fc(0x8d)](_0x1f652b){const _0x5529ac=a0_0x4a41fc,_0x18a7b5=new Set([_0x5529ac(0x7c),_0x5529ac(0xd0),_0x5529ac(0x7f),_0x5529ac(0xdc),'coverage',_0x5529ac(0x76),_0x5529ac(0xc1),_0x5529ac(0xeb),_0x5529ac(0x75),_0x5529ac(0xfb),'__pycache__','.cache','tmp',_0x5529ac(0x81)]);return _0x18a7b5['has'](_0x1f652b[_0x5529ac(0xe7)]());}['shouldSkipFile'](_0x5002ef){const _0x99dbe4=a0_0x4a41fc,_0x1734ab=a0_0xb9ec78[_0x99dbe4(0xaf)](_0x5002ef)['toLowerCase']();return BINARY_EXTENSIONS[_0x99dbe4(0x10c)](_0x1734ab);}async[a0_0x4a41fc(0xbb)](_0x286103,_0x44a1cc,_0x3dbd34){const _0x5402cc=a0_0x4a41fc,_0x1a9b96=[],_0x23d1c8=[];let _0x10a286=0x0;for(const _0x2a5b2a of _0x286103){if(this[_0x5402cc(0x10a)](_0x2a5b2a))continue;try{const _0x252583=await a0_0x2f5d8b['stat'](_0x2a5b2a);if(_0x252583[_0x5402cc(0x100)]>this['seekConfig'][_0x5402cc(0x8a)]){_0x23d1c8[_0x5402cc(0xd7)]({'filePath':a0_0xb9ec78['relative'](_0x3dbd34,_0x2a5b2a),'error':'File\x20too\x20large\x20('+Math['round'](_0x252583['size']/(0x400*0x400))+'MB,\x20max\x20'+Math[_0x5402cc(0xc2)](this['seekConfig'][_0x5402cc(0x8a)]/(0x400*0x400))+'MB)'});continue;}const _0x3a8c25=await this['searchInFile'](_0x2a5b2a,_0x44a1cc,_0x3dbd34);_0x1a9b96[_0x5402cc(0xd7)](..._0x3a8c25),_0x10a286+=_0x3a8c25['length'];if(_0x10a286>=this['seekConfig']['MAX_TOTAL_MATCHES']){this['logger']?.['warn']('Maximum\x20total\x20matches\x20reached',{'totalMatches':_0x10a286});break;}}catch(_0x578545){_0x23d1c8[_0x5402cc(0xd7)]({'filePath':a0_0xb9ec78[_0x5402cc(0x77)](_0x3dbd34,_0x2a5b2a),'error':_0x578545['message']});}}const _0x3e7fec={};for(const _0x2bc9e6 of _0x1a9b96){!_0x3e7fec[_0x2bc9e6['term']]&&(_0x3e7fec[_0x2bc9e6['term']]=[]),_0x3e7fec[_0x2bc9e6['term']]['push']({'filePath':_0x2bc9e6['filePath'],'lineNumber':_0x2bc9e6[_0x5402cc(0xce)],'lineContent':_0x2bc9e6['lineContent']});}return{'matches':_0x1a9b96,'matchesByTerm':_0x3e7fec,'errorFiles':_0x23d1c8};}async['searchInFile'](_0x3c2161,_0x6ce73b,_0x59f6e6){const _0x4354cb=a0_0x4a41fc,_0x445599=[];let _0x7cadee=0x0;try{const _0x3d5157=await a0_0x2f5d8b['readFile'](_0x3c2161,FILE_ENCODING),_0x3f49aa=_0x3d5157[_0x4354cb(0xda)]('\x0a'),_0x1461a6=a0_0xb9ec78[_0x4354cb(0x77)](_0x59f6e6,_0x3c2161);for(let _0x321fea=0x0;_0x321fea<_0x3f49aa[_0x4354cb(0xc6)];_0x321fea++){const _0x1ac7c0=_0x3f49aa[_0x321fea],_0x36c717=_0x321fea+0x1;for(const _0x52e716 of _0x6ce73b){if(_0x1ac7c0['includes'](_0x52e716)){let _0x1bea11=_0x1ac7c0;if(_0x1bea11[_0x4354cb(0xc6)]>this[_0x4354cb(0xb7)][_0x4354cb(0xcf)]){const _0x305faa=_0x1bea11[_0x4354cb(0xcb)](_0x52e716),_0x146b19=Math[_0x4354cb(0xff)](0x0,_0x305faa-0x32),_0x5299ed=Math[_0x4354cb(0xb9)](_0x1bea11['length'],_0x305faa+_0x52e716['length']+0x32);_0x1bea11=(_0x146b19>0x0?_0x4354cb(0xfc):'')+_0x1bea11['substring'](_0x146b19,_0x5299ed)+(_0x5299ed<_0x1bea11[_0x4354cb(0xc6)]?_0x4354cb(0xfc):'');}_0x445599[_0x4354cb(0xd7)]({'term':_0x52e716,'filePath':_0x1461a6,'lineNumber':_0x36c717,'lineContent':_0x1bea11['trim']()}),_0x7cadee++;if(_0x7cadee>=this['seekConfig']['MAX_MATCHES_PER_FILE'])return this['logger']?.[_0x4354cb(0x82)]('Maximum\x20matches\x20per\x20file\x20reached',{'filePath':_0x1461a6}),_0x445599;}}}}catch(_0xb8837b){throw new Error('Failed\x20to\x20read\x20file:\x20'+_0xb8837b['message']);}return _0x445599;}['formatResults'](_0xa75ca2,_0x1a8d69,_0x3969b8,_0x2feedc){const _0x96e251=a0_0x4a41fc;let _0xe5f242='';if(_0x3969b8[_0x96e251(0xc6)]>0x0){_0xe5f242+='FILES\x20NOT\x20FOUND:\x0a';for(const _0x14fd75 of _0x3969b8){_0xe5f242+=_0x96e251(0x10e)+_0x14fd75+'\x0a';}_0xe5f242+='\x0a';}if(_0x1a8d69['length']>0x0){_0xe5f242+=_0x96e251(0x7d);for(const _0x37ef62 of _0x1a8d69){_0xe5f242+='\x20\x20-\x20'+_0x37ef62['filePath']+':\x20'+_0x37ef62[_0x96e251(0xea)]+'\x0a';}_0xe5f242+='\x0a';}if(_0xa75ca2[_0x96e251(0xc6)]===0x0)_0xe5f242+=_0x96e251(0x94)+_0x2feedc+'\x20file(s).\x0a';else{const _0x421573={};for(const _0x981a72 of _0xa75ca2){!_0x421573[_0x981a72['term']]&&(_0x421573[_0x981a72[_0x96e251(0xc3)]]=[]),_0x421573[_0x981a72['term']][_0x96e251(0xd7)](_0x981a72);}_0xe5f242+=_0x96e251(0xa5)+_0xa75ca2[_0x96e251(0xc6)]+_0x96e251(0xe9)+_0x2feedc+'\x20file(s)):\x0a\x0a';for(const [_0xb65a81,_0x1b4720]of Object['entries'](_0x421573)){_0xe5f242+='Search\x20term:\x20\x22'+_0xb65a81+'\x22\x20('+_0x1b4720['length']+_0x96e251(0xd8);for(const _0x369f44 of _0x1b4720){_0xe5f242+='\x20\x20'+_0x369f44[_0x96e251(0x101)]+':'+_0x369f44[_0x96e251(0xce)]+'\x20-\x20'+_0x369f44[_0x96e251(0xf1)]+'\x0a';}_0xe5f242+='\x0a';}_0xa75ca2[_0x96e251(0xc6)]>=this[_0x96e251(0xb7)]['MAX_TOTAL_MATCHES']&&(_0xe5f242+=_0x96e251(0x86)+this['seekConfig'][_0x96e251(0xb1)]+_0x96e251(0xca));}return _0xe5f242['trim']();}[a0_0x4a41fc(0xb5)](){const _0xf5529=a0_0x4a41fc;return['.js','.jsx','.ts',_0xf5529(0xa8),_0xf5529(0xe0),_0xf5529(0xe5),'.html',_0xf5529(0x9d),'.scss',_0xf5529(0x92),'.less',_0xf5529(0xd1),'.txt','.log','.py',_0xf5529(0x9b),'.java',_0xf5529(0xc0),'.rs','.c',_0xf5529(0xd2),'.h',_0xf5529(0x91),_0xf5529(0x108),'.bash','.zsh',_0xf5529(0xa0),'.yaml',_0xf5529(0x8f),_0xf5529(0xb6),'.conf'];}async[a0_0x4a41fc(0xbf)](_0x1ff74d){const _0x5dc823=a0_0x4a41fc;this[_0x5dc823(0xfe)]?.['info']('Seek\x20tool\x20cleanup\x20completed',{'operationId':_0x1ff74d});}}export default SeekTool;
|
|
1
|
+
const a0_0x142b96=a0_0x4561;(function(_0x103fc2,_0x53cd15){const _0x2e811a=a0_0x4561,_0x536f46=_0x103fc2();while(!![]){try{const _0x4eb6c5=-parseInt(_0x2e811a(0xb4))/0x1*(parseInt(_0x2e811a(0xa1))/0x2)+-parseInt(_0x2e811a(0xa2))/0x3*(parseInt(_0x2e811a(0xfb))/0x4)+parseInt(_0x2e811a(0x10e))/0x5*(-parseInt(_0x2e811a(0xbe))/0x6)+-parseInt(_0x2e811a(0xc5))/0x7+parseInt(_0x2e811a(0x103))/0x8*(-parseInt(_0x2e811a(0xc6))/0x9)+parseInt(_0x2e811a(0xa6))/0xa*(-parseInt(_0x2e811a(0x9f))/0xb)+parseInt(_0x2e811a(0x9b))/0xc;if(_0x4eb6c5===_0x53cd15)break;else _0x536f46['push'](_0x536f46['shift']());}catch(_0x16915a){_0x536f46['push'](_0x536f46['shift']());}}}(a0_0x58f3,0x52ad0));import{BaseTool}from'./baseTool.js';import a0_0x541182 from'../utilities/tagParser.js';function a0_0x58f3(){const _0x4a0f07=['BM90rM91BMq','y292zxjHz2u','tM8GBwf0y2HLCYbMB3vUzcbMB3iGDgHLihnWzwnPzMLLzcbZzwfYy2GGDgvYBxmGAw4G','mtyZme5rrwzVwa','lNrHCG','lMPHDMe','vg9Vig1HBNKGzMLSzxmGDg8GC2vHCMnOicG','lMr5BgLI','DgvTCa','DgvZDa','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','BMfTzq','rxHLy3v0Aw5NihnLzwSGDg9VBa','lMDPzG','lM1K','lNnXBgL0zq','igzPBgvZihbLCIbZzwfYy2GklsbnyxGG','CMvSyxrPDMu','BwfW','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','lMPZ','Dg9mB3DLCKnHC2u','BgvUz3rO','zMLSzvbHDgHZ','AxneAxjLy3rVCNK','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','rMLSzsbWyxrOia','mtG3mZiWnJbdwMDAtgK','lMPZB24','zM91BMq','C2HVDwXKu2TPCezPBgu','mJmWmti4ofbmt2H3rW','tufyx0zjtevFu0LArq','mZKXnfjOA0TjvW','mtu3mduZm3v6D3LdwG','zxnJyxbLuMvNrxHW','lMLJBW','AgfZ','mJbts1fftNi','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','DhjPBq','zMLUzezPBgvZuMvJDxjZAxzLBhK','CMvZB2X2zq','CMvXDwLYzxnqCM9Qzwn0','rKLmrvmGv0LuscbfuLjpuLm6cG','Bg9Nz2vY','u0vbuKniifjfu1vmvfmGka','DgLTzw91Da','tuiGCgvYigzPBguklsbnyxGG','icHUB3qGAw4GywnJzxnZAwjSzsbKAxjLy3rVCMLLCYK','Bwf0y2HLC1bHDhrLCM4','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO','mZHPAMXdBKW','lMH0BwW','tufyx0XjtKvFq09ovevovf9mru5hveG','D29YA2LUz0rPCMvJDg9YEq','zxjYB3jgAwXLCW','lNnV','qxqGBgvHC3qGB25LihnLyxjJAcb0zxjTigLZihjLCxvPCMvK','lNb5','tufyx1nfqvjdsf9urvjnuW','qxqGBgvHC3qGB25LigzPBguGCgf0AcbPCYbYzxf1AxjLza','otG0rKDLEeX2','zw50CMLLCW','C2vLA0nVBMzPzW','lMXLC3m','AM9PBG','lNDTDG','zgLZDa','mJy2nZa3ChfksfDW','odfvrePoAge','C3rHDa','C3rYAw5N','lI4U','zxHLy3v0zq','lM51Ehq','lMXVzW','BwvZC2fNzq','lJD6','DxrMltG','tufyx1rpvefmx01bvenirvm','iIaO','zxHLyW','DgvYBq','CMvHze9UBhLeAxjLy3rVCMLLCW','zM9YBwf0uMvZDwX0CW','C3rHCNrZv2L0Aa','yNvPBgq','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','AxnbCNjHEq','C2L6zq','lNnJC3m','lMnZCW','lNLTBa','tufyx0zjtevtx1bfuL9trufsq0G','tufyx0rjuKvdve9swv9ervbusa','lMPZEa','CMvHzgrPCG','D2fYBG','icaTia','C2vLAW','CMvZB2X2zuzPBgvqyxrOCW','lM1VDG','lMHWCa','AxnbyNnVBhv0zq','C2HVDwXKu2TPCerPCMvJDg9YEq','C2vHCMnOsw5gAwXL','Dg1W','lNbUzW','lMjTCa','rMfPBgvKihrVihjLywqGzMLSztOG','ChvZAa','lMrHDa','zMLSDgvY','zMLSzvbHDgG','y29Kzq','tuiSig1HEca','lMrI','oIbWyxrOihrYyxzLCNnHBcaOlI4Pig5VDcbHBgXVD2vKigzVCIbZzwn1CML0Eq','rMLSzsb0B28GBgfYz2uGka','vg9Vig1HBNKGC2vHCMnOihrLCM1ZicHTyxGG','AxngAwXL','Aw5JBhvKzxm','nfb2AezpvW','Bwf0y2HLC0j5vgvYBq','AxnbC3LUyW','lIbvC2uGBw9YzsbZCgvJAwzPyYbMAwXLihbHDhrLCM5ZlG','xcqM','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','ywrK','DgfYz2v0','mtaXnZG0zfv1uM5R','lMnWCa','z2v0rgvZy3jPChrPB24','C2vHCMnOvgvYBxm','Bwf0y2HLCW','icHPCYbHigrPCMvJDg9YEsWGBM90igeGzMLSzsK','CgfYC2vqyxjHBwv0zxjZ','zxjYB3i'];a0_0x58f3=function(){return _0x4a0f07;};return a0_0x58f3();}function a0_0x4561(_0x1e7365,_0x4aebff){_0x1e7365=_0x1e7365-0x98;const _0x58f349=a0_0x58f3();let _0x4561f4=_0x58f349[_0x1e7365];if(a0_0x4561['xOOwVt']===undefined){var _0x287ac7=function(_0x2cf393){const _0x27932e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x541182='',_0x43e535='';for(let _0x19bc15=0x0,_0x4dda23,_0x21658f,_0x20126c=0x0;_0x21658f=_0x2cf393['charAt'](_0x20126c++);~_0x21658f&&(_0x4dda23=_0x19bc15%0x4?_0x4dda23*0x40+_0x21658f:_0x21658f,_0x19bc15++%0x4)?_0x541182+=String['fromCharCode'](0xff&_0x4dda23>>(-0x2*_0x19bc15&0x6)):0x0){_0x21658f=_0x27932e['indexOf'](_0x21658f);}for(let _0x376acf=0x0,_0x26acec=_0x541182['length'];_0x376acf<_0x26acec;_0x376acf++){_0x43e535+='%'+('00'+_0x541182['charCodeAt'](_0x376acf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43e535);};a0_0x4561['dSOIfJ']=_0x287ac7,a0_0x4561['UNJzaT']={},a0_0x4561['xOOwVt']=!![];}const _0x358ffb=_0x58f349[0x0],_0xf51756=_0x1e7365+_0x358ffb,_0x55e60e=a0_0x4561['UNJzaT'][_0xf51756];return!_0x55e60e?(_0x4561f4=a0_0x4561['dSOIfJ'](_0x4561f4),a0_0x4561['UNJzaT'][_0xf51756]=_0x4561f4):_0x4561f4=_0x55e60e,_0x4561f4;}import{promises as a0_0x43e535}from'fs';import a0_0x19bc15 from'path';const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING=a0_0x142b96(0xcf),BINARY_EXTENSIONS=new Set([a0_0x142b96(0xec),'.jpg','.jpeg',a0_0x142b96(0x118),a0_0x142b96(0xed),a0_0x142b96(0xa4),'.svg','.pdf','.zip',a0_0x142b96(0x10f),'.gz','.rar',a0_0x142b96(0xce),'.exe','.dll',a0_0x142b96(0xb9),a0_0x142b96(0x112),'.mp3','.mp4','.avi',a0_0x142b96(0xe6),a0_0x142b96(0xc3),'.woff','.woff2','.ttf','.eot','.bin',a0_0x142b96(0xf0),a0_0x142b96(0xf5),a0_0x142b96(0x11a)]);class SeekTool extends BaseTool{constructor(_0x4dda23={},_0x21658f=null){const _0x4c2dd4=a0_0x142b96;super(_0x4dda23,_0x21658f),this[_0x4c2dd4(0xab)]=!![],this[_0x4c2dd4(0xfd)]=!![],this[_0x4c2dd4(0xaf)]=_0x4dda23[_0x4c2dd4(0xaf)]||0x1d4c0,this['seekConfig']={...SEEK_CONFIG,..._0x4dda23['seekConfig']};}[a0_0x142b96(0x105)](){const _0x4ccd8c=a0_0x142b96;return'\x0aSeek\x20Tool:\x20Search\x20for\x20specific\x20content\x20within\x20project\x20files.\x20Ideal\x20for\x20verifying\x20imports,\x20function\x20usage,\x20and\x20variable\x20references.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/**/*.js\x22,\x20\x22package.json\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22import\x20React\x22,\x20\x22useState\x22]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20filePaths:\x20Array\x20of\x20file\x20paths\x20or\x20glob\x20patterns\x0a-\x20searchTerms:\x20Array\x20of\x20search\x20strings\x20(case-sensitive,\x20exact\x20match)\x0a\x0aGLOB\x20PATTERNS:\x0a-\x20*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20in\x20directory\x0a-\x20**/*.js\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20recursively\x0a-\x20src/**/*.jsx\x20-\x20All\x20.jsx\x20files\x20under\x20src/\x0a\x0aEXAMPLES:\x0a\x0aFind\x20function\x20usage:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/components/*.js\x22,\x20\x22src/utils/helpers.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22function\x20handleSubmit\x22,\x20\x22useState(\x22]\x0a}\x0a```\x0a\x0aVerify\x20imports:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/components/Header.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22import\x20React\x22,\x20\x22from\x20\x27react\x27\x22]\x0a}\x0a```\x0a\x0aSearch\x20all\x20JS\x20files:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/**/*.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22apiClient\x22,\x20\x22config.apiUrl\x22]\x0a}\x0a```\x0a\x0aLIMITS:\x0a-\x20Max\x20'+SEEK_CONFIG['MAX_FILES_PER_SEARCH']+_0x4ccd8c(0x11b)+SEEK_CONFIG['MAX_SEARCH_TERMS']+'\x20search\x20terms\x0a-\x20Max\x20'+SEEK_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+_0x4ccd8c(0xb0)+SEEK_CONFIG['MAX_TOTAL_MATCHES']+'\x20matches\x20total\x0a\x20\x20\x20\x20';}[a0_0x142b96(0x109)](_0x20126c){const _0x38ab5a=a0_0x142b96;try{if(_0x20126c[_0x38ab5a(0xa8)]()[_0x38ab5a(0xd6)]('{')){const _0x1d63ca=JSON['parse'](_0x20126c);return{'filePaths':_0x1d63ca[_0x38ab5a(0x122)]||[],'searchTerms':_0x1d63ca[_0x38ab5a(0x106)]||[]};}const _0x376acf={'filePaths':[],'searchTerms':[]},_0x26acec=/<in-files>([\s\S]*?)<\/in-files>/i,_0x3baaac=_0x26acec[_0x38ab5a(0xd2)](_0x20126c);if(_0x3baaac){const _0x308c67=_0x3baaac[0x1];_0x376acf[_0x38ab5a(0x122)]=_0x308c67['split']('\x0a')[_0x38ab5a(0x11d)](_0x2bf0f3=>_0x2bf0f3[_0x38ab5a(0xa8)]())[_0x38ab5a(0xf1)](_0x1905fc=>_0x1905fc[_0x38ab5a(0x121)]>0x0);}const _0x280bc7=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x3d6e80=_0x280bc7[_0x38ab5a(0xd2)](_0x20126c);if(_0x3d6e80){const _0x1f94f0=_0x3d6e80[0x1],_0x5c25d9=/<term>(.*?)<\/term>/gi;let _0x4d7462;while((_0x4d7462=_0x5c25d9['exec'](_0x1f94f0))!==null){const _0x5a2f6d=_0x4d7462[0x1]['trim']();_0x5a2f6d['length']>0x0&&_0x376acf['searchTerms']['push'](_0x5a2f6d);}}return _0x376acf;}catch(_0x5bc3cd){return this['logger']?.[_0x38ab5a(0x10a)]('Failed\x20to\x20parse\x20seek\x20parameters',{'error':_0x5bc3cd['message']}),{'filePaths':[],'searchTerms':[],'parseError':_0x5bc3cd['message']};}}[a0_0x142b96(0xa7)](){const _0x5b4b95=a0_0x142b96;return['filePaths',_0x5b4b95(0x106)];}[a0_0x142b96(0x115)](_0x3aa2ba){const _0x4b6740=a0_0x142b96,_0x1aa11c=[];if(!_0x3aa2ba['filePaths']||!Array['isArray'](_0x3aa2ba['filePaths'])||_0x3aa2ba['filePaths']['length']===0x0)_0x1aa11c[_0x4b6740(0xef)](_0x4b6740(0xbd));else _0x3aa2ba[_0x4b6740(0x122)][_0x4b6740(0x121)]>this[_0x4b6740(0xc0)]['MAX_FILE_PATHS']&&_0x1aa11c['push']('Too\x20many\x20file\x20paths\x20(max\x20'+this['seekConfig']['MAX_FILE_PATHS']+')');if(!_0x3aa2ba[_0x4b6740(0x106)]||!Array[_0x4b6740(0xd9)](_0x3aa2ba['searchTerms'])||_0x3aa2ba['searchTerms'][_0x4b6740(0x121)]===0x0)_0x1aa11c['push'](_0x4b6740(0xba));else _0x3aa2ba[_0x4b6740(0x106)]['length']>this['seekConfig']['MAX_SEARCH_TERMS']&&_0x1aa11c[_0x4b6740(0xef)](_0x4b6740(0xf8)+this[_0x4b6740(0xc0)][_0x4b6740(0xbc)]+')');if(_0x3aa2ba[_0x4b6740(0x106)]&&Array[_0x4b6740(0xd9)](_0x3aa2ba['searchTerms']))for(const [_0x26f470,_0xe54120]of _0x3aa2ba[_0x4b6740(0x106)]['entries']()){(typeof _0xe54120!==_0x4b6740(0xc8)||_0xe54120['trim']()[_0x4b6740(0x121)]===0x0)&&_0x1aa11c[_0x4b6740(0xef)]('Search\x20term\x20'+(_0x26f470+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string');}if(_0x3aa2ba[_0x4b6740(0x122)]&&Array[_0x4b6740(0xd9)](_0x3aa2ba[_0x4b6740(0x122)]))for(const [_0x3ad969,_0x1dcf27]of _0x3aa2ba['filePaths']['entries']()){(typeof _0x1dcf27!=='string'||_0x1dcf27['trim']()['length']===0x0)&&_0x1aa11c[_0x4b6740(0xef)](_0x4b6740(0x9a)+(_0x3ad969+0x1)+_0x4b6740(0xd8)),_0x1dcf27[_0x4b6740(0xfa)]('..')&&_0x1aa11c[_0x4b6740(0xef)](_0x4b6740(0x9a)+(_0x3ad969+0x1)+_0x4b6740(0xf6));}return{'valid':_0x1aa11c['length']===0x0,'errors':_0x1aa11c};}async[a0_0x142b96(0xca)](_0x89f32b,_0x46e0da){const _0x22dc3f=a0_0x142b96,{filePaths:_0x4eff63,searchTerms:_0x57ac08}=_0x89f32b,{projectDir:_0x14d803,agentId:_0x69515b,directoryAccess:_0x598f26}=_0x46e0da;let _0xf34c87=_0x14d803||process['cwd'](),_0x532132=[_0xf34c87];_0x598f26&&_0x598f26['workingDirectory']&&(_0xf34c87=_0x598f26[_0x22dc3f(0xb7)],_0x532132=this[_0x22dc3f(0x11e)](_0x598f26),this['logger']?.['info']('Using\x20agent\x20configured\x20directory\x20access',{'workingDirectory':_0x598f26[_0x22dc3f(0xb7)],'totalAccessibleDirs':_0x532132['length'],'readOnlyDirs':_0x598f26['readOnlyDirectories']?.[_0x22dc3f(0x121)]||0x0,'writeEnabledDirs':_0x598f26['writeEnabledDirectories']?.['length']||0x0,'agentId':_0x69515b}));if(!_0xf34c87)throw new Error('Project\x20directory\x20is\x20required\x20for\x20seek\x20tool');this['logger']?.['info'](_0x22dc3f(0x117),{'filePathCount':_0x4eff63['length'],'searchTermCount':_0x57ac08['length'],'workingDirectory':_0xf34c87,'accessibleDirectories':_0x532132[_0x22dc3f(0x121)],'agentId':_0x69515b});try{const _0x2c57d0=await this[_0x22dc3f(0xe5)](_0x4eff63,_0xf34c87,_0x598f26?_0x532132:null),_0x3c5b24=_0x2c57d0['found'],_0x57856b=_0x2c57d0[_0x22dc3f(0x10b)];if(_0x3c5b24[_0x22dc3f(0x121)]>this['seekConfig']['MAX_FILES_PER_SEARCH'])return{'success':![],'error':_0x22dc3f(0x111)+_0x3c5b24[_0x22dc3f(0x121)]+').\x20Maximum\x20is\x20'+this['seekConfig'][_0x22dc3f(0xde)]+_0x22dc3f(0xfe),'filesResolved':_0x3c5b24['length'],'filesNotFound':_0x57856b['length']};const _0x263039=await this['searchFiles'](_0x3c5b24,_0x57ac08,_0xf34c87),_0x290ec0=this[_0x22dc3f(0xd5)](_0x263039[_0x22dc3f(0x107)],_0x263039[_0x22dc3f(0xb8)],_0x57856b,_0x3c5b24['length']);return{'success':!![],'filesSearched':_0x3c5b24['length'],'filesNotFound':_0x57856b[_0x22dc3f(0x121)],'filesWithErrors':_0x263039['errorFiles']['length'],'totalMatches':_0x263039['matches']['length'],'matchesByTerm':_0x263039[_0x22dc3f(0xfc)],'formattedResults':_0x290ec0,'toolUsed':_0x22dc3f(0xe4)};}catch(_0x36bc89){this['logger']?.['error']('Seek\x20tool\x20execution\x20failed',{'error':_0x36bc89[_0x22dc3f(0xcd)]});throw _0x36bc89;}}['getAllAccessibleDirectories'](_0x3d7d83){const _0x2dbcbf=a0_0x142b96,_0x3a4914=new Set();_0x3d7d83['workingDirectory']&&_0x3a4914['add'](_0x3d7d83['workingDirectory']);if(_0x3d7d83[_0x2dbcbf(0xd4)]&&Array['isArray'](_0x3d7d83[_0x2dbcbf(0xd4)]))for(const _0x55ea62 of _0x3d7d83['readOnlyDirectories']){_0x3a4914['add'](_0x55ea62);}if(_0x3d7d83[_0x2dbcbf(0x100)]&&Array[_0x2dbcbf(0xd9)](_0x3d7d83['writeEnabledDirectories']))for(const _0x48be3d of _0x3d7d83[_0x2dbcbf(0x100)]){_0x3a4914[_0x2dbcbf(0x101)](_0x48be3d);}return Array['from'](_0x3a4914);}['isPathAccessible'](_0x3caa97,_0xda4cb6){const _0x51f6e7=a0_0x142b96;for(const _0x2bd05b of _0xda4cb6){const _0x26dd5e=a0_0x19bc15['relative'](_0x2bd05b,_0x3caa97),_0x57923e=!_0x26dd5e['startsWith']('..')&&!a0_0x19bc15[_0x51f6e7(0xe8)](_0x26dd5e);if(_0x57923e)return!![];}return![];}async['resolveFilePaths'](_0x4ea0d3,_0x108519,_0x5a5b13=null){const _0x4f3669=a0_0x142b96,_0x2b08a5={'found':[],'notFound':[]};for(const _0x139b9f of _0x4ea0d3){const _0x2d5fdc=_0x139b9f['trim']();if(_0x2d5fdc[_0x4f3669(0xfa)]('*')){const _0x26a337=await this['expandGlobPattern'](_0x2d5fdc,_0x108519);_0x26a337['found'][_0x4f3669(0x121)]>0x0?_0x2b08a5[_0x4f3669(0x9d)][_0x4f3669(0xef)](..._0x26a337['found']):_0x2b08a5['notFound'][_0x4f3669(0xef)](_0x2d5fdc+'\x20(no\x20matching\x20files)');}else{const _0x1c6226=a0_0x19bc15['isAbsolute'](_0x2d5fdc)?_0x2d5fdc:a0_0x19bc15['resolve'](_0x108519,_0x2d5fdc);if(_0x5a5b13&&_0x5a5b13[_0x4f3669(0x121)]>0x0){if(!this['isPathAccessible'](_0x1c6226,_0x5a5b13)){_0x2b08a5['notFound']['push'](_0x2d5fdc+_0x4f3669(0xb1));continue;}}try{const _0x25892f=await a0_0x43e535[_0x4f3669(0xc7)](_0x1c6226);if(_0x25892f[_0x4f3669(0xf9)]())_0x2b08a5[_0x4f3669(0x9d)]['push'](_0x1c6226);else _0x25892f[_0x4f3669(0x98)]()?_0x2b08a5[_0x4f3669(0x10b)][_0x4f3669(0xef)](_0x2d5fdc+_0x4f3669(0x108)):_0x2b08a5[_0x4f3669(0x10b)][_0x4f3669(0xef)](_0x2d5fdc+'\x20(not\x20a\x20regular\x20file)');}catch(_0x35640c){_0x2b08a5[_0x4f3669(0x10b)][_0x4f3669(0xef)](_0x2d5fdc+'\x20('+(_0x35640c[_0x4f3669(0xf3)]||_0x35640c['message'])+')');}}}return _0x2b08a5;}async['expandGlobPattern'](_0x112b66,_0x38fa32){const _0x578e6e=a0_0x142b96,_0x4cc800={'found':[]};if(_0x112b66[_0x578e6e(0xfa)]('**/')){const [_0x1b7f9e,_0x1c4e87]=_0x112b66['split']('**/'),_0x59ab38=a0_0x19bc15['resolve'](_0x38fa32,_0x1b7f9e);try{const _0x255476=await a0_0x43e535['stat'](_0x59ab38);_0x255476[_0x578e6e(0x98)]()&&await this['findFilesRecursively'](_0x59ab38,_0x1c4e87,_0x4cc800['found'],0x0,this[_0x578e6e(0xc0)][_0x578e6e(0xdf)]);}catch(_0x3fd632){this[_0x578e6e(0xad)]?.['warn']('Base\x20directory\x20not\x20found\x20for\x20glob\x20pattern',{'basePath':_0x59ab38,'error':_0x3fd632[_0x578e6e(0xcd)]});}}else{if(_0x112b66['includes']('*')){const _0x526bc3=a0_0x19bc15['dirname'](a0_0x19bc15[_0x578e6e(0xaa)](_0x38fa32,_0x112b66)),_0x416231=a0_0x19bc15['basename'](_0x112b66);try{const _0x1f8b3b=await a0_0x43e535[_0x578e6e(0xc7)](_0x526bc3);if(_0x1f8b3b[_0x578e6e(0x98)]()){const _0x1180be=await a0_0x43e535[_0x578e6e(0xe1)](_0x526bc3);for(const _0x42c5e3 of _0x1180be){const _0x8a4eb6=a0_0x19bc15[_0x578e6e(0xc2)](_0x526bc3,_0x42c5e3);try{const _0x28c4dd=await a0_0x43e535['stat'](_0x8a4eb6);_0x28c4dd[_0x578e6e(0xf9)]()&&this[_0x578e6e(0xb2)](_0x42c5e3,_0x416231)&&_0x4cc800['found']['push'](_0x8a4eb6);}catch(_0x1cebd0){continue;}}}}catch(_0x43e9ec){this[_0x578e6e(0xad)]?.['warn']('Directory\x20not\x20found\x20for\x20glob\x20pattern',{'dirPath':_0x526bc3,'error':_0x43e9ec[_0x578e6e(0xcd)]});}}}return _0x4cc800;}async[a0_0x142b96(0xa9)](_0x4ceffe,_0x1d9c32,_0x2f9f41,_0x11553c,_0x2ec994){const _0x5b5dda=a0_0x142b96;if(_0x11553c>=_0x2ec994){this[_0x5b5dda(0xad)]?.['warn']('Maximum\x20directory\x20depth\x20reached',{'dir':_0x4ceffe,'currentDepth':_0x11553c});return;}try{const _0x1210c5=await a0_0x43e535[_0x5b5dda(0xe1)](_0x4ceffe,{'withFileTypes':!![]});for(const _0x3adaa6 of _0x1210c5){if(_0x3adaa6[_0x5b5dda(0x116)][_0x5b5dda(0xd6)]('.'))continue;const _0x13014e=a0_0x19bc15['join'](_0x4ceffe,_0x3adaa6['name']);try{if(_0x3adaa6['isDirectory']()){if(this[_0x5b5dda(0xe9)](_0x3adaa6[_0x5b5dda(0x116)]))continue;await this['findFilesRecursively'](_0x13014e,_0x1d9c32,_0x2f9f41,_0x11553c+0x1,_0x2ec994);}else{if(_0x3adaa6[_0x5b5dda(0xf9)]()){if(this['matchesPattern'](_0x3adaa6[_0x5b5dda(0x116)],_0x1d9c32)){_0x2f9f41[_0x5b5dda(0xef)](_0x13014e);if(_0x2f9f41['length']>=this['seekConfig']['MAX_FILES_PER_SEARCH'])return;}}}}catch(_0x3e893e){continue;}}}catch(_0x3af4e1){this[_0x5b5dda(0xad)]?.['warn']('Error\x20reading\x20directory',{'dir':_0x4ceffe,'error':_0x3af4e1[_0x5b5dda(0xcd)]});}}['matchesPattern'](_0x4f40b4,_0x34a2d8){const _0x31ff59=a0_0x142b96,_0x1d38f7=_0x34a2d8['split']('*')['map'](_0x1e17cb=>this[_0x31ff59(0xa3)](_0x1e17cb))[_0x31ff59(0xc2)]('.*'),_0x3d02f3=new RegExp('^'+_0x1d38f7+'$','i');return _0x3d02f3[_0x31ff59(0x114)](_0x4f40b4);}['escapeRegExp'](_0x560931){const _0x368db3=a0_0x142b96;return _0x560931['replace'](/[.*+?^${}()|[\]\\]/g,_0x368db3(0xff));}['shouldSkipDirectory'](_0x2ddcaa){const _0x1c4008=a0_0x142b96,_0x41cef8=new Set(['node_modules','.git',_0x1c4008(0xc4),_0x1c4008(0xd7),_0x1c4008(0x10c),'.next',_0x1c4008(0xcb),'out',_0x1c4008(0x102),'vendor','__pycache__','.cache',_0x1c4008(0xeb),_0x1c4008(0x113)]);return _0x41cef8['has'](_0x2ddcaa[_0x1c4008(0x120)]());}[a0_0x142b96(0x9e)](_0x5590b5){const _0xc80413=a0_0x142b96,_0x5ced49=a0_0x19bc15['extname'](_0x5590b5)['toLowerCase']();return BINARY_EXTENSIONS[_0xc80413(0xa5)](_0x5ced49);}async['searchFiles'](_0x15039e,_0x4534f5,_0x4cb01d){const _0x3c17dc=a0_0x142b96,_0x3f7c1f=[],_0x3cd34b=[];let _0x3e616c=0x0;for(const _0x2d726e of _0x15039e){if(this['shouldSkipFile'](_0x2d726e))continue;try{const _0x5e1283=await a0_0x43e535['stat'](_0x2d726e);if(_0x5e1283[_0x3c17dc(0xda)]>this[_0x3c17dc(0xc0)][_0x3c17dc(0xa0)]){_0x3cd34b['push']({'filePath':a0_0x19bc15['relative'](_0x4cb01d,_0x2d726e),'error':_0x3c17dc(0xf7)+Math['round'](_0x5e1283['size']/(0x400*0x400))+_0x3c17dc(0xf4)+Math['round'](this['seekConfig'][_0x3c17dc(0xa0)]/(0x400*0x400))+'MB)'});continue;}const _0x7644ed=await this[_0x3c17dc(0xea)](_0x2d726e,_0x4534f5,_0x4cb01d);_0x3f7c1f['push'](..._0x7644ed),_0x3e616c+=_0x7644ed['length'];if(_0x3e616c>=this['seekConfig'][_0x3c17dc(0xd0)]){this['logger']?.[_0x3c17dc(0xe2)]('Maximum\x20total\x20matches\x20reached',{'totalMatches':_0x3e616c});break;}}catch(_0x1a957){_0x3cd34b['push']({'filePath':a0_0x19bc15['relative'](_0x4cb01d,_0x2d726e),'error':_0x1a957[_0x3c17dc(0xcd)]});}}const _0xb9f3b0={};for(const _0x260224 of _0x3f7c1f){!_0xb9f3b0[_0x260224['term']]&&(_0xb9f3b0[_0x260224['term']]=[]),_0xb9f3b0[_0x260224[_0x3c17dc(0xd3)]]['push']({'filePath':_0x260224[_0x3c17dc(0xf2)],'lineNumber':_0x260224['lineNumber'],'lineContent':_0x260224['lineContent']});}return{'matches':_0x3f7c1f,'matchesByTerm':_0xb9f3b0,'errorFiles':_0x3cd34b};}async[a0_0x142b96(0xea)](_0x163930,_0x33dc4f,_0x4c71cd){const _0x441cb3=a0_0x142b96,_0x574931=[];let _0x4a9462=0x0;try{const _0x5177e1=await a0_0x43e535['readFile'](_0x163930,FILE_ENCODING),_0x429a0f=_0x5177e1['split']('\x0a'),_0x5a3739=a0_0x19bc15[_0x441cb3(0x11c)](_0x4c71cd,_0x163930);for(let _0x4aa01e=0x0;_0x4aa01e<_0x429a0f['length'];_0x4aa01e++){const _0x30e9df=_0x429a0f[_0x4aa01e],_0x568f7e=_0x4aa01e+0x1;for(const _0x2ee363 of _0x33dc4f){if(_0x30e9df['includes'](_0x2ee363)){let _0x52e52a=_0x30e9df;if(_0x52e52a[_0x441cb3(0x121)]>this[_0x441cb3(0xc0)][_0x441cb3(0xb6)]){const _0x169505=_0x52e52a['indexOf'](_0x2ee363),_0x17bc43=Math['max'](0x0,_0x169505-0x32),_0x29d223=Math['min'](_0x52e52a['length'],_0x169505+_0x2ee363['length']+0x32);_0x52e52a=(_0x17bc43>0x0?_0x441cb3(0xc9):'')+_0x52e52a['substring'](_0x17bc43,_0x29d223)+(_0x29d223<_0x52e52a[_0x441cb3(0x121)]?'...':'');}_0x574931['push']({'term':_0x2ee363,'filePath':_0x5a3739,'lineNumber':_0x568f7e,'lineContent':_0x52e52a[_0x441cb3(0xa8)]()}),_0x4a9462++;if(_0x4a9462>=this[_0x441cb3(0xc0)]['MAX_MATCHES_PER_FILE'])return this[_0x441cb3(0xad)]?.[_0x441cb3(0xe2)]('Maximum\x20matches\x20per\x20file\x20reached',{'filePath':_0x5a3739}),_0x574931;}}}}catch(_0x40c1be){throw new Error(_0x441cb3(0xee)+_0x40c1be[_0x441cb3(0xcd)]);}return _0x574931;}['formatResults'](_0x5d593f,_0x34c207,_0x4c98dc,_0xf3d160){const _0x3eef87=a0_0x142b96;let _0x38b7c5='';if(_0x4c98dc[_0x3eef87(0x121)]>0x0){_0x38b7c5+='FILES\x20NOT\x20FOUND:\x0a';for(const _0x35f14f of _0x4c98dc){_0x38b7c5+=_0x3eef87(0xe3)+_0x35f14f+'\x0a';}_0x38b7c5+='\x0a';}if(_0x34c207[_0x3eef87(0x121)]>0x0){_0x38b7c5+=_0x3eef87(0xac);for(const _0x2d0596 of _0x34c207){_0x38b7c5+='\x20\x20-\x20'+_0x2d0596[_0x3eef87(0xf2)]+':\x20'+_0x2d0596[_0x3eef87(0x10a)]+'\x0a';}_0x38b7c5+='\x0a';}if(_0x5d593f[_0x3eef87(0x121)]===0x0)_0x38b7c5+=_0x3eef87(0x10d)+_0xf3d160+'\x20file(s).\x0a';else{const _0x39ab28={};for(const _0x9e1087 of _0x5d593f){!_0x39ab28[_0x9e1087['term']]&&(_0x39ab28[_0x9e1087['term']]=[]),_0x39ab28[_0x9e1087['term']][_0x3eef87(0xef)](_0x9e1087);}_0x38b7c5+=_0x3eef87(0xae)+_0x5d593f[_0x3eef87(0x121)]+'\x20total\x20matches\x20in\x20'+_0xf3d160+'\x20file(s)):\x0a\x0a';for(const [_0x129ae6,_0x49e5bc]of Object[_0x3eef87(0xbf)](_0x39ab28)){_0x38b7c5+='Search\x20term:\x20\x22'+_0x129ae6+_0x3eef87(0xd1)+_0x49e5bc['length']+'\x20matches)\x0a';for(const _0x501c88 of _0x49e5bc){_0x38b7c5+='\x20\x20'+_0x501c88[_0x3eef87(0xf2)]+':'+_0x501c88['lineNumber']+'\x20-\x20'+_0x501c88['lineContent']+'\x0a';}_0x38b7c5+='\x0a';}_0x5d593f[_0x3eef87(0x121)]>=this['seekConfig']['MAX_TOTAL_MATCHES']&&(_0x38b7c5+=_0x3eef87(0xb3)+this[_0x3eef87(0xc0)][_0x3eef87(0xd0)]+').\x20Some\x20matches\x20may\x20not\x20be\x20shown.\x0a');}return _0x38b7c5['trim']();}['getSupportedExtensions'](){const _0x487b21=a0_0x142b96;return[_0x487b21(0x11f),_0x487b21(0xe0),'.ts','.tsx',_0x487b21(0x9c),'.xml',_0x487b21(0xb5),_0x487b21(0xdc),_0x487b21(0xdb),'.sass',_0x487b21(0xc1),_0x487b21(0x119),'.txt',_0x487b21(0xcc),_0x487b21(0xbb),'.rb',_0x487b21(0x110),'.go','.rs','.c',_0x487b21(0x104),'.h',_0x487b21(0xe7),'.sh','.bash','.zsh',_0x487b21(0xdd),'.yaml','.toml','.ini','.conf'];}async['cleanup'](_0x1c01dc){const _0x845a4d=a0_0x142b96;this['logger']?.['info'](_0x845a4d(0x99),{'operationId':_0x1c01dc});}}export default SeekTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x56df7a=a0_0x3d84;(function(_0x415051,_0x5a6f89){const _0xabb430=a0_0x3d84,_0x32ca25=_0x415051();while(!![]){try{const _0x21aa24=-parseInt(_0xabb430(0x165))/0x1+parseInt(_0xabb430(0x178))/0x2*(-parseInt(_0xabb430(0x152))/0x3)+parseInt(_0xabb430(0x12f))/0x4*(-parseInt(_0xabb430(0x19e))/0x5)+-parseInt(_0xabb430(0x16f))/0x6*(-parseInt(_0xabb430(0x156))/0x7)+-parseInt(_0xabb430(0xe4))/0x8+parseInt(_0xabb430(0x1a4))/0x9+parseInt(_0xabb430(0x111))/0xa;if(_0x21aa24===_0x5a6f89)break;else _0x32ca25['push'](_0x32ca25['shift']());}catch(_0x4161f6){_0x32ca25['push'](_0x32ca25['shift']());}}}(a0_0x15ec,0x94726));import{BaseTool}from'./baseTool.js';import a0_0x30dc60 from'../utilities/tagParser.js';function a0_0x15ec(){const _0x255d1d=['mtu2ngzwAK52sG','lMPZB24','ChvZAa','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','ugfYC2vKifn0yxrPy0fUywX5C2LZihrVB2WGCgfYyw1LDgvYCW','BgvUz3rO','u3rHDgLJigfUywX5C2LZigfJDgLVBIbMywLSzwq','zM9YBwf0DgvYCW','ChjLDhrPzxi','Dhj1BMnHDgvK','DMfSAwrHDgvxCML0zufJy2vZCW','igj5DgvZicHTyxGG','DMfSAwrHDguTy29UzMLN','zgv0zwn0rNjHBwv3B3jR','zgvIDwC','DhnJB25MAwCUANnVBG','zg9JA2vYlwnVBxbVC2uUEwfTBa','DgLTzxn0yw1W','zMLUzezPBgvZ','Bwf4ugfYywXSzwXgAwXLCW','lNLTBa','zML4zwq','BM93','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','ywXSB3DLza','Aw5JBhvKzs13yxjUAw5NCW','Dg90ywXbBMfSExnLCW','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','lI4Vyw5HBhL6zxjZl1r5Cgvty3jPChrbBMfSExPLCI5QCW','yNvPBgq','Dg9ju09tDhjPBMC','yw5HBhL6zq','Aw5MBW','C3rYAw5N','C2vJDxjPDhLty2fUuhjVAMvJDa','ntuZnw9eteXuuG','zxjYB3i','zxHLyW','ufLuse9ox0zsqu1fv09ss1m','nJeWneHJEgPTrW','D29YA2zSB3DZ','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4TChjVAMvJDa','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','A3vIzxjUzxrLCW','CM91BMq','rNjHBwv3B3jRigrLDgvJDgLVBIbMywLSzwq','zM9YBwf0rMLSzq','C2L6zq','C2vJDxjPDhK','C2TPCc10zxn0lwzPBgvZ','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','zMLUzenVBMzPz0zPBgvZ','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','DMfSAwrHDgvszwfKqwnJzxnZ','mZCXnZG0AuLLserx','AM9PBG','CMvZDwX0','C2TPCfrLC3rgAwXLCW','lI4Vyw5HBhL6zxjZl0vttgLUDefUywX5EMvYlMPZ','DxbKyxrLu3vTBwfYEq','y2f0zwDVCNK','zMLSzxnbBMfSExPLza','DhLWzq','Dw5RBM93BG','nZi0ohHWAun3Da','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','lNbYzxr0AwvYCMm','CgfJA2fNzs5QC29U','y3DK','vxnPBMCGCgfYywXSzwWGyw5HBhLZAxm','zMLSzxnxAxrOrxjYB3jZ','lNzLBNy','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','mta3nKniENfMEq','z2v0','AMf2yxnJCMLWDa','C2HHmJu2','Aw5JBhvKzvDHCM5PBMDZ','su5gtW','CgfYC2vbDhrYAwj1DgvZ','Bwv0CMLJCW','v3jPDguGywnJzxnZigrLBMLLzdOG','igzPBgvZihbLCIbVCgvYyxrPB24klsbbBMfSExnPCYb0Aw1LB3v0oIa','z2v0u2vJDxjPDhLbBMfSExPLCG','vg9Vig1HBNKGzMLSzxm6ia','C2vJDxjPDhLty2fUrMLSzq','BM9YBwfSAxPL','Bwf0y2G','zgLNzxn0','vxnPBMCGCgfYywXSzwWGC2vJDxjPDhKGC2nHBM5PBMC','zxnSAw50','yw5HBhL6zxjZ','zxjYB3jZ','lI4Vyw5HBhL6zxjZl0ntu0fUywX5EMvYlMPZ','tufyx0zjtevFu0LArv9gt1jFqu5btfLtsvm','C3rHCNrZv2L0Aa','ywn0Aw9UCW','Dhj1zq','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','rMfPBgvKihrVigzPEca','q1jjveLdquW','y2fJAgvnAxnZzxm','C2vJDxjPDhKTC2nHBG','Bwf4lwvYCM9YCW','Dg90ywXdCML0AwnHBa','zMLSzs1WyxrO','zgv0zwn0uhL0Ag9UrNjHBwv3B3jR','Dg90ywW','y3jLyxrLuMvSyxrPDMvqyxrO','Dg90ywXgAwXLCW','BMfTzq','nJmXmfvOrvLHuG','q0fdsevFrfvsqvrjt04','Bg9Nz2vY','CMvZB2X2zq','lNbYzxr0AwvYCMmUANnVBG','CgfYywXSzwXbBMfSExnPCW','mtaZotG0nJvbtgXTAeu','u0vwrvjjvfK','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4','zM9YrwfJAa','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','Bwf4rMLSzxnqzxjcyxrJAa','zMLSzvbHDgG','DgLTzw91Da','B2jQzwn0','AxngAwXL','vfLqrvnduKLqva','C3bSAxq','C2XPy2u','Agv4','D2fYBMLUz3m','y2HHBMDLCW','y3nZ','lI4Vyw5HBhL6zxjZl1bYzxr0AwvYrM9YBwf0DgvYlMPZ','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4G','B25qCM9NCMvZCW','rvjst1i','icHTyxGG','uMvHzcbHy2nLC3mGzgvUAwvKoIa','zMXVB3i','AZHZ','mtm0ntq5nKveExL5tq','yxjYyxK','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','DMfSAwrHDgvdB25MAwDgAwXL','zxH0BMfTzq','ufLuse9ox1bprvrswq','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','AxnbyNnVBhv0zq','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','BM9Kzv9TB2r1BgvZ','C2v2zxjPDhK','D2fYBG','sKfwqvnduKLqva','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','C3rHDgLJyw5HBhLZAxm','D3jPDgvgAwXL','C3vTBwfYEq','zM9YBwf0','y29UzMLN','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','Dg90ywXbBMfSExnPC1rPBwu','DhjPBq','CMvHC29U','z2v0rvnmAw50qw5HBhL6zxi','yw5HBhL6zuzPBgu','zML4rMLSzq','zgLYzwn0B3j5','lI4Vyw5HBhL6zxjZl0nVBMzPz1zHBgLKyxrVCI5QCW','Aw5KzxHpzG','zgv2rgvWzw5Kzw5JAwvZ','zML4','zgLZDa','rMLSzsb0B28GBgfYz2u6ia','zMLSzxm','zw5HyMXLq2fJAgu','zM9YBwf0DgvK','Bwf4rMLSzvnPEMu','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfUywX5EMu','zgv0zwn0tgfUz3vHz2u','BwvZC2fNzq','ufLuse9o','tefor1vbr0u','z2v0qw5HBhL6zxi','DgvYCMfMB3jT','ndi1mZaWmefxAKTeqG','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','lMvUDG','DxrMltG','BwfW','AxneAxjLy3rVCNK','zMLSDgvY','DxnLq29UDgvUDeHHC2G','ChL0Ag9U','rMfPBgvKihrVigfUywX5EMuG','DhLWzxnJCMLWDa','Bwf4rxjYB3jZ','CMvZzxrqzxjMB3jTyw5Jzu1LDhjPy3m','D3jPDguTzMLSzq','vg9Vig1HBNKGy29UzMLNigzPBgvZoIa','y29TChv0zunVBNrLBNriyxnO','CMf3q29UDgvUDa','Dg9mB3DLCKnHC2u','y3jPDgLJywW','v0fstKLorW','CMvHzezPBgu','qw5HBhL6Aw5NigjHDgnO','qwn0Aw9Uia','AgfZ','yw5HBhL6zs1WCM9Qzwn0','z2v0q29UzMLNvMfSAwrHDg9Y','CMvTywLUAw5Nv2fYBMLUz3m','yw5HBhLZAxndywnOzq','zg9JA2vYlwnVBxbVC2uUEw1S','Aw5JBhvKzxm'];a0_0x15ec=function(){return _0x255d1d;};return a0_0x15ec();}import a0_0x4e5c48 from'../utilities/directoryAccessManager.js';import a0_0x15a704 from'fs/promises';import a0_0x3d0e54 from'path';import a0_0x22cec4 from'crypto';function a0_0x3d84(_0x2c05f9,_0x559f0f){_0x2c05f9=_0x2c05f9-0xe3;const _0x15eccc=a0_0x15ec();let _0x3d84f6=_0x15eccc[_0x2c05f9];if(a0_0x3d84['xdEffw']===undefined){var _0x4eb3d6=function(_0x2024af){const _0x5c8e51='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30dc60='',_0x4e5c48='';for(let _0x15a704=0x0,_0x3d0e54,_0x22cec4,_0x1f0843=0x0;_0x22cec4=_0x2024af['charAt'](_0x1f0843++);~_0x22cec4&&(_0x3d0e54=_0x15a704%0x4?_0x3d0e54*0x40+_0x22cec4:_0x22cec4,_0x15a704++%0x4)?_0x30dc60+=String['fromCharCode'](0xff&_0x3d0e54>>(-0x2*_0x15a704&0x6)):0x0){_0x22cec4=_0x5c8e51['indexOf'](_0x22cec4);}for(let _0x1c25c8=0x0,_0x10f772=_0x30dc60['length'];_0x1c25c8<_0x10f772;_0x1c25c8++){_0x4e5c48+='%'+('00'+_0x30dc60['charCodeAt'](_0x1c25c8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e5c48);};a0_0x3d84['hiOCnP']=_0x4eb3d6,a0_0x3d84['FmkqgA']={},a0_0x3d84['xdEffw']=!![];}const _0x1d36fc=_0x15eccc[0x0],_0x552c2c=_0x2c05f9+_0x1d36fc,_0x58f247=a0_0x3d84['FmkqgA'][_0x552c2c];return!_0x58f247?(_0x3d84f6=a0_0x3d84['hiOCnP'](_0x3d84f6),a0_0x3d84['FmkqgA'][_0x552c2c]=_0x3d84f6):_0x3d84f6=_0x58f247,_0x3d84f6;}import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x1f0843={},_0x1c25c8=null){const _0x187679=a0_0x3d84;super(_0x1f0843,_0x1c25c8),this['requiresProject']=!![],this['isAsync']=![],this['timeout']=_0x1f0843[_0x187679(0x1ab)]||STATIC_ANALYSIS['ANALYSIS_TIMEOUT'],this['maxConcurrentOperations']=_0x1f0843[_0x187679(0xe6)]||0x1,this[_0x187679(0x109)]=_0x1f0843[_0x187679(0x109)]||STATIC_ANALYSIS[_0x187679(0x18d)],this['maxFilesPerBatch']=_0x1f0843[_0x187679(0x1a9)]||STATIC_ANALYSIS['MAX_FILES_PER_BATCH'],this['enableCache']=_0x1f0843['enableCache']!==![]&&STATIC_ANALYSIS['ENABLE_CACHE'],this[_0x187679(0x12c)]=new Map(),this['cacheExpiry']=STATIC_ANALYSIS[_0x187679(0x19f)],this[_0x187679(0x1a3)]=_0x1f0843[_0x187679(0x1a3)]!==![],this[_0x187679(0x142)]=_0x1f0843['maxParallelFiles']||0xa,this[_0x187679(0x118)]=_0x1f0843['useContentHash']!==![],this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x187679(0x14a)]=new a0_0x4e5c48(_0x1f0843,_0x1c25c8),this['analyzers']={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this[_0x187679(0x136)]={'prettier':null};}['getDescription'](){const _0x14119f=a0_0x3d84;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[_0x14119f(0x15b)](this['maxFileSize']/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this['maxFilesPerBatch']+_0x14119f(0x181)+this['timeout']/0x3e8+'\x20seconds\x0a-\x20Only\x20supports\x20languages\x20with\x20built-in\x20analyzers\x0a\x20\x20\x20\x20';}['parseParameters'](_0x10f772){const _0x54959c=a0_0x3d84;try{const _0x450af6={},_0x4fae4d=[];this[_0x54959c(0x1a0)]?.['debug']('StaticAnalysis\x20tool\x20parsing\x20parameters',{'contentLength':_0x10f772[_0x54959c(0x134)],'contentPreview':_0x10f772['substring'](0x0,0xc8)});const _0x34e1ec=/<analyze\s+(.+?)\/>/g;let _0x25f1f0;while((_0x25f1f0=_0x34e1ec['exec'](_0x10f772))!==null){const _0x324fc0=_0x25f1f0[0x1][_0x54959c(0xfa)](),_0x5395da=new a0_0x30dc60(),_0x4bc032=_0x5395da['parseAttributes'](_0x324fc0),_0x288841={'type':_0x54959c(0x14e),..._0x4bc032};_0x288841[_0x54959c(0x198)]&&(_0x288841[_0x54959c(0x1aa)]=_0x288841['file-path'],delete _0x288841[_0x54959c(0x198)]),_0x288841[_0x54959c(0x148)]&&(_0x288841['includeWarnings']=_0x288841['include-warnings']===_0x54959c(0x190),delete _0x288841[_0x54959c(0x148)]),_0x288841['max-errors']&&(_0x288841[_0x54959c(0x11c)]=parseInt(_0x288841['max-errors'],0xa),delete _0x288841['max-errors']),_0x4fae4d[_0x54959c(0x131)](_0x288841);}const _0x35734f=/<analyze-project\s+(.+?)\/>/g;while((_0x25f1f0=_0x35734f['exec'](_0x10f772))!==null){const _0x57e885=_0x25f1f0[0x1]['trim'](),_0xd4e509=new a0_0x30dc60(),_0x44cf96=_0xd4e509[_0x54959c(0x17e)](_0x57e885),_0x348c71={'type':'analyze-project',..._0x44cf96};_0x348c71[_0x54959c(0x148)]&&(_0x348c71['includeWarnings']=_0x348c71['include-warnings']===_0x54959c(0x190),delete _0x348c71['include-warnings']),_0x348c71['max-errors']&&(_0x348c71['maxErrors']=parseInt(_0x348c71['max-errors'],0xa),delete _0x348c71[_0x54959c(0x196)]),_0x4fae4d['push'](_0x348c71);}const _0x315522=/<fix\s+(.+?)\/>/g;while((_0x25f1f0=_0x315522['exec'](_0x10f772))!==null){const _0x427478=_0x25f1f0[0x1]['trim'](),_0x4343b8=new a0_0x30dc60(),_0x5411d8=_0x4343b8['parseAttributes'](_0x427478),_0x335849={'type':'fix',..._0x5411d8};_0x335849[_0x54959c(0x198)]&&(_0x335849['filePath']=_0x335849[_0x54959c(0x198)],delete _0x335849[_0x54959c(0x198)]),_0x335849['write-file']&&(_0x335849['writeFile']=_0x335849[_0x54959c(0x11e)]==='true',delete _0x335849[_0x54959c(0x11e)]),_0x4fae4d['push'](_0x335849);}const _0x438d78=/<format\s+(.+?)\/>/g;while((_0x25f1f0=_0x438d78[_0x54959c(0x154)](_0x10f772))!==null){const _0x447b39=_0x25f1f0[0x1][_0x54959c(0xfa)](),_0x159391=new a0_0x30dc60(),_0x1a21ff=_0x159391['parseAttributes'](_0x447b39),_0x32249f={'type':_0x54959c(0xf5),..._0x1a21ff};_0x32249f[_0x54959c(0x198)]&&(_0x32249f['filePath']=_0x32249f['file-path'],delete _0x32249f[_0x54959c(0x198)]),_0x32249f['write-file']&&(_0x32249f['writeFile']=_0x32249f['write-file']==='true',delete _0x32249f['write-file']),_0x4fae4d[_0x54959c(0x131)](_0x32249f);}const _0x5b1ae1=/<security-scan\s+(.+?)\/>/g;while((_0x25f1f0=_0x5b1ae1['exec'](_0x10f772))!==null){const _0x36c573=_0x25f1f0[0x1][_0x54959c(0xfa)](),_0x915896=new a0_0x30dc60(),_0x61cc2=_0x915896['parseAttributes'](_0x36c573),_0x703ff3={'type':'security-scan',..._0x61cc2};_0x703ff3[_0x54959c(0x198)]&&(_0x703ff3['filePath']=_0x703ff3[_0x54959c(0x198)],delete _0x703ff3[_0x54959c(0x198)]),_0x703ff3['skip-test-files']&&(_0x703ff3['skipTestFiles']=_0x703ff3['skip-test-files']==='true',delete _0x703ff3[_0x54959c(0x160)]),_0x4fae4d[_0x54959c(0x131)](_0x703ff3);}const _0x1423e4=/<security-scan-project\s+(.+?)\/>/g;while((_0x25f1f0=_0x1423e4[_0x54959c(0x154)](_0x10f772))!==null){const _0x1be2a5=_0x25f1f0[0x1]['trim'](),_0x22e2e4=new a0_0x30dc60(),_0x3b3eec=_0x22e2e4[_0x54959c(0x17e)](_0x1be2a5),_0x311bd1={'type':'security-scan-project',..._0x3b3eec};_0x311bd1['skip-test-files']&&(_0x311bd1[_0x54959c(0x168)]=_0x311bd1[_0x54959c(0x160)]==='true',delete _0x311bd1[_0x54959c(0x160)]),_0x4fae4d[_0x54959c(0x131)](_0x311bd1);}const _0x43f002=/<validate-config\s+(.+?)\/>/g;while((_0x25f1f0=_0x43f002[_0x54959c(0x154)](_0x10f772))!==null){const _0x5ed593=_0x25f1f0[0x1][_0x54959c(0xfa)](),_0x398a9e=new a0_0x30dc60(),_0x329f42=_0x398a9e['parseAttributes'](_0x5ed593),_0xd69e00={'type':'validate-config',..._0x329f42};_0xd69e00[_0x54959c(0x198)]&&(_0xd69e00[_0x54959c(0x1aa)]=_0xd69e00['file-path'],delete _0xd69e00[_0x54959c(0x198)]),_0x4fae4d['push'](_0xd69e00);}const _0x47ed55=/<validate-config-directory\s+(.+?)\/>/g;while((_0x25f1f0=_0x47ed55['exec'](_0x10f772))!==null){const _0x616eb9=_0x25f1f0[0x1][_0x54959c(0xfa)](),_0x2e4749=new a0_0x30dc60(),_0x5c0455=_0x2e4749['parseAttributes'](_0x616eb9),_0x4aaea9={'type':'validate-config-directory',..._0x5c0455};_0x4fae4d['push'](_0x4aaea9);}return _0x450af6[_0x54959c(0x18f)]=_0x4fae4d,_0x450af6[_0x54959c(0x121)]=_0x10f772[_0x54959c(0xfa)](),this[_0x54959c(0x1a0)]?.['debug'](_0x54959c(0x133),{'totalActions':_0x4fae4d['length'],'actionTypes':_0x4fae4d['map'](_0x20e06a=>_0x20e06a[_0x54959c(0x16d)])}),_0x450af6;}catch(_0x2bb59f){throw new Error('Failed\x20to\x20parse\x20static\x20analysis\x20parameters:\x20'+_0x2bb59f['message']);}}[a0_0x56df7a(0xec)](){return['actions'];}[a0_0x56df7a(0x161)](_0x7c0458){const _0x81f697=a0_0x56df7a,_0x58cbf6=[];if(!_0x7c0458['actions']||!Array['isArray'](_0x7c0458[_0x81f697(0x18f)])||_0x7c0458['actions']['length']===0x0)_0x58cbf6[_0x81f697(0x131)](_0x81f697(0x112));else{for(const [_0xd49aa9,_0x1ca4c3]of _0x7c0458[_0x81f697(0x18f)]['entries']()){if(!_0x1ca4c3['type']){_0x58cbf6[_0x81f697(0x131)]('Action\x20'+(_0xd49aa9+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x1ca4c3['type']){case _0x81f697(0x14e):!_0x1ca4c3['filePath']&&_0x58cbf6[_0x81f697(0x131)](_0x81f697(0x127)+(_0xd49aa9+0x1)+_0x81f697(0x10a));break;case _0x81f697(0x129):!_0x1ca4c3[_0x81f697(0xff)]&&_0x58cbf6[_0x81f697(0x131)](_0x81f697(0x127)+(_0xd49aa9+0x1)+':\x20directory\x20is\x20required\x20for\x20analyze-project');break;case'fix':!_0x1ca4c3['filePath']&&_0x58cbf6['push']('Action\x20'+(_0xd49aa9+0x1)+':\x20file-path\x20is\x20required\x20for\x20fix');break;case _0x81f697(0xf5):!_0x1ca4c3['filePath']&&_0x58cbf6['push']('Action\x20'+(_0xd49aa9+0x1)+':\x20file-path\x20is\x20required\x20for\x20format');break;case'security-scan':!_0x1ca4c3[_0x81f697(0x1aa)]&&_0x58cbf6[_0x81f697(0x131)]('Action\x20'+(_0xd49aa9+0x1)+_0x81f697(0x1a6));break;case _0x81f697(0xf8):!_0x1ca4c3['directory']&&_0x58cbf6[_0x81f697(0x131)](_0x81f697(0x127)+(_0xd49aa9+0x1)+_0x81f697(0x158));break;case _0x81f697(0x13b):!_0x1ca4c3[_0x81f697(0x1aa)]&&_0x58cbf6['push'](_0x81f697(0x127)+(_0xd49aa9+0x1)+_0x81f697(0x159));break;case'validate-config-directory':!_0x1ca4c3['directory']&&_0x58cbf6['push'](_0x81f697(0x127)+(_0xd49aa9+0x1)+':\x20directory\x20is\x20required\x20for\x20validate-config-directory');break;default:_0x58cbf6[_0x81f697(0x131)]('Action\x20'+(_0xd49aa9+0x1)+_0x81f697(0x163)+_0x1ca4c3['type']);}}_0x7c0458['actions'][_0x81f697(0x134)]>this['maxFilesPerBatch']&&_0x58cbf6['push']('Too\x20many\x20actions:\x20'+_0x7c0458[_0x81f697(0x18f)][_0x81f697(0x134)]+_0x81f697(0x1b9)+this['maxFilesPerBatch']+')');}return{'valid':_0x58cbf6['length']===0x0,'errors':_0x58cbf6};}async['execute'](_0x1dcfd3,_0x25a504){const _0xcedb6=a0_0x56df7a,{actions:_0x3a1a6a}=_0x1dcfd3,{projectDir:_0x2f14ff,agentId:_0x4bc142,directoryAccess:_0x2924e2}=_0x25a504,_0x220a12=_0x2924e2||this['directoryAccessManager']['createDirectoryAccess']({'workingDirectory':_0x2f14ff||process['cwd'](),'writeEnabledDirectories':[_0x2f14ff||process[_0xcedb6(0x173)]()],'restrictToProject':!![]}),_0x1e9b71=this[_0xcedb6(0x14a)]['getWorkingDirectory'](_0x220a12),_0x235fd7={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x37915d of _0x3a1a6a){try{let _0x5dd88b;switch(_0x37915d[_0xcedb6(0x16d)]){case _0xcedb6(0x14e):_0x5dd88b=await this[_0xcedb6(0xfd)](_0x37915d['filePath'],_0x1e9b71,_0x220a12,_0x37915d);_0x5dd88b&&(_0x235fd7['files']['push'](_0x5dd88b),this[_0xcedb6(0x16a)](_0x235fd7['summary'],_0x5dd88b));break;case'analyze-project':const _0x49e18b=await this['analyzeProject'](_0x37915d[_0xcedb6(0xff)],_0x37915d['pattern'],_0x1e9b71,_0x220a12,_0x37915d);_0x235fd7[_0xcedb6(0x106)]['push'](..._0x49e18b);for(const _0x1f3bcd of _0x49e18b){this['updateSummary'](_0x235fd7['summary'],_0x1f3bcd);}break;case _0xcedb6(0x103):_0x5dd88b=await this[_0xcedb6(0xfe)](_0x37915d['filePath'],_0x1e9b71,_0x220a12,_0x37915d);_0x5dd88b&&_0x235fd7['files'][_0xcedb6(0x131)](_0x5dd88b);break;case _0xcedb6(0xf5):_0x5dd88b=await this['formatFile'](_0x37915d['filePath'],_0x1e9b71,_0x220a12,_0x37915d);_0x5dd88b&&_0x235fd7[_0xcedb6(0x106)][_0xcedb6(0x131)](_0x5dd88b);break;case _0xcedb6(0x195):_0x5dd88b=await this[_0xcedb6(0x184)](_0x37915d['filePath'],_0x1e9b71,_0x220a12,_0x37915d);_0x5dd88b&&(_0x235fd7['files']['push'](_0x5dd88b),this['updateSummary'](_0x235fd7[_0xcedb6(0xf4)],_0x5dd88b));break;case'security-scan-project':const _0x48dce8=await this['securityScanProject'](_0x37915d[_0xcedb6(0xff)],_0x37915d['pattern'],_0x1e9b71,_0x220a12,_0x37915d);_0x235fd7['files']['push'](..._0x48dce8);for(const _0x2f9027 of _0x48dce8){this[_0xcedb6(0x16a)](_0x235fd7[_0xcedb6(0xf4)],_0x2f9027);}break;case'validate-config':_0x5dd88b=await this[_0xcedb6(0xe7)](_0x37915d['filePath'],_0x1e9b71,_0x220a12,_0x37915d);_0x5dd88b&&(_0x235fd7[_0xcedb6(0x106)]['push'](_0x5dd88b),this[_0xcedb6(0x16a)](_0x235fd7[_0xcedb6(0xf4)],_0x5dd88b));break;case _0xcedb6(0xea):const _0x5105dc=await this[_0xcedb6(0xf7)](_0x37915d[_0xcedb6(0xff)],_0x1e9b71,_0x220a12,_0x37915d);_0x235fd7['files'][_0xcedb6(0x131)](..._0x5105dc);for(const _0x292ff6 of _0x5105dc){this[_0xcedb6(0x16a)](_0x235fd7[_0xcedb6(0xf4)],_0x292ff6);}break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x37915d['type']);}}catch(_0x220930){this[_0xcedb6(0x1a0)]?.[_0xcedb6(0x153)](_0xcedb6(0x135),{'action':_0x37915d['type'],'error':_0x220930['message']}),_0x235fd7['files']['push']({'file':_0x37915d['filePath']||_0x37915d[_0xcedb6(0xff)],'error':_0x220930[_0xcedb6(0x10c)],'success':![]});}}return{'success':!![],'results':_0x235fd7,'toolUsed':_0xcedb6(0xf2),'performance':this[_0xcedb6(0x177)]()};}async['analyzeFile'](_0x20e3b3,_0x525095,_0x34cfe8,_0x3be6d3={}){const _0x44434c=a0_0x56df7a,_0x3a8849=a0_0x3d0e54['isAbsolute'](_0x20e3b3)?a0_0x3d0e54['normalize'](_0x20e3b3):a0_0x3d0e54[_0x44434c(0x1a1)](_0x525095,_0x20e3b3),_0x2eb2a0=this['directoryAccessManager'][_0x44434c(0x164)](_0x3a8849,_0x34cfe8);if(!_0x2eb2a0[_0x44434c(0x147)])throw new Error(_0x44434c(0x1ba)+_0x2eb2a0['reason']);try{const _0x53350e=await a0_0x15a704['stat'](_0x3a8849);if(_0x53350e[_0x44434c(0x15e)]>this[_0x44434c(0x109)])throw new Error('File\x20too\x20large:\x20'+_0x53350e['size']+_0x44434c(0x13a)+this['maxFileSize']+')');const _0x4a3407=this[_0x44434c(0x10b)](_0x3a8849);if(!_0x4a3407)return{'file':this['directoryAccessManager']['createRelativePath'](_0x3a8849,_0x34cfe8),'fullPath':_0x3a8849,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x44434c(0x170)};const _0x33df39=await a0_0x15a704[_0x44434c(0x125)](_0x3a8849,_0x44434c(0x114)),_0x1cd23a=this['useContentHash']?this[_0x44434c(0x120)](_0x33df39):null,_0x5e54c7=this[_0x44434c(0x118)]?_0x3a8849+':'+_0x1cd23a:_0x3a8849+':'+_0x53350e['mtime']['getTime']();if(this[_0x44434c(0x107)]&&this['analysisCache'][_0x44434c(0x128)](_0x5e54c7)){const _0x36abe1=this['analysisCache'][_0x44434c(0x179)](_0x5e54c7);if(Date['now']()-_0x36abe1[_0x44434c(0x140)]<this['cacheExpiry'])return this[_0x44434c(0x1a0)]?.[_0x44434c(0x13d)]('Using\x20cached\x20analysis\x20result',{'file':_0x3a8849}),this['metrics']['cacheHits']++,this[_0x44434c(0x17f)]['totalAnalyses']++,_0x36abe1[_0x44434c(0x167)];}this['metrics'][_0x44434c(0x194)]++,this[_0x44434c(0x17f)][_0x44434c(0x149)]++;const _0x356c09=await this[_0x44434c(0x10f)](_0x4a3407);if(!_0x356c09)return{'file':this[_0x44434c(0x14a)]['createRelativePath'](_0x3a8849,_0x34cfe8),'fullPath':_0x3a8849,'language':_0x4a3407,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'No\x20analyzer\x20available\x20for\x20'+_0x4a3407};const _0x119044=Date['now'](),_0x2c4aae=await _0x356c09[_0x44434c(0x14e)](_0x3a8849,_0x33df39,{'workingDir':_0x525095,'accessConfig':_0x34cfe8,'framework':await this['detectFramework'](_0x525095,_0x4a3407)}),_0x2a3634=Date['now']()-_0x119044;this['metrics'][_0x44434c(0xf9)]+=_0x2a3634,this['metrics'][_0x44434c(0x16c)]++;const _0x26ec1b={'file':this[_0x44434c(0x14a)][_0x44434c(0x19b)](_0x3a8849,_0x34cfe8),'fullPath':_0x3a8849,'language':_0x4a3407,'framework':await this[_0x44434c(0x13c)](_0x525095,_0x4a3407),'errors':_0x2c4aae[_0x44434c(0x117)](_0x21d5ee=>_0x21d5ee[_0x44434c(0xee)]===STATIC_ANALYSIS[_0x44434c(0x1a5)][_0x44434c(0x1b8)]),'warnings':_0x3be6d3[_0x44434c(0x17c)]!==![]?_0x2c4aae[_0x44434c(0x117)](_0x2e8fb=>_0x2e8fb['severity']===STATIC_ANALYSIS[_0x44434c(0x1a5)]['WARNING']):[],'info':_0x2c4aae['filter'](_0x1afe01=>_0x1afe01['severity']===STATIC_ANALYSIS['SEVERITY'][_0x44434c(0x17d)]),'totalIssues':_0x2c4aae['length'],'analyzed':!![],'timestamp':new Date()[_0x44434c(0x14d)]()};return _0x3be6d3[_0x44434c(0x11c)]&&_0x26ec1b['errors']['length']>_0x3be6d3['maxErrors']&&(_0x26ec1b['errors']=_0x26ec1b[_0x44434c(0x18b)][_0x44434c(0x1b0)](0x0,_0x3be6d3['maxErrors']),_0x26ec1b[_0x44434c(0x138)]=!![]),this['enableCache']&&this[_0x44434c(0x12c)]['set'](_0x5e54c7,{'result':_0x26ec1b,'timestamp':Date[_0x44434c(0x145)]()}),_0x26ec1b;}catch(_0x2bfd04){throw new Error(_0x44434c(0x11a)+_0x20e3b3+':\x20'+_0x2bfd04['message']);}}async['analyzeProject'](_0x3b51c8,_0x2728ae,_0x4b17eb,_0x383045,_0x57391d={}){const _0x2f0ae3=a0_0x56df7a,_0x32e641=a0_0x3d0e54[_0x2f0ae3(0xeb)](_0x3b51c8)?a0_0x3d0e54['normalize'](_0x3b51c8):a0_0x3d0e54['resolve'](_0x4b17eb,_0x3b51c8),_0x362c82=this[_0x2f0ae3(0x14a)][_0x2f0ae3(0x164)](_0x32e641,_0x383045);if(!_0x362c82['allowed'])throw new Error(_0x2f0ae3(0x1ba)+_0x362c82['reason']);const _0x5e10da=await this['findFiles'](_0x32e641,_0x2728ae);if(_0x5e10da[_0x2f0ae3(0x134)]>this[_0x2f0ae3(0x1a9)])throw new Error('Too\x20many\x20files:\x20'+_0x5e10da[_0x2f0ae3(0x134)]+'\x20(max\x20'+this[_0x2f0ae3(0x1a9)]+')');const _0x37ba6c=[];if(this['parallelAnalysis']&&_0x5e10da[_0x2f0ae3(0x134)]>0x1){this[_0x2f0ae3(0x1a0)]?.[_0x2f0ae3(0x13d)](_0x2f0ae3(0x174),{'totalFiles':_0x5e10da[_0x2f0ae3(0x134)],'batchSize':this[_0x2f0ae3(0x142)]});for(let _0x5fdd1=0x0;_0x5fdd1<_0x5e10da['length'];_0x5fdd1+=this[_0x2f0ae3(0x142)]){const _0x366f7a=_0x5e10da[_0x2f0ae3(0x1b0)](_0x5fdd1,_0x5fdd1+this[_0x2f0ae3(0x142)]);this['metrics']['parallelBatches']++;const _0x5df433={'completed':_0x5fdd1,'total':_0x5e10da['length'],'percentage':Math['round'](_0x5fdd1/_0x5e10da['length']*0x64)};_0x57391d[_0x2f0ae3(0x1b7)]&&_0x57391d['onProgress'](_0x5df433);this[_0x2f0ae3(0x1a0)]?.['debug'](_0x2f0ae3(0x126),{'batch':Math[_0x2f0ae3(0x1bb)](_0x5fdd1/this[_0x2f0ae3(0x142)])+0x1,'filesInBatch':_0x366f7a['length'],'progress':_0x5df433['completed']+'/'+_0x5df433[_0x2f0ae3(0x19a)]});const _0x50ef4f=_0x366f7a['map'](async _0x5e0b7e=>{const _0x446506=_0x2f0ae3;try{const _0x4ca90d=await this['analyzeFile'](_0x5e0b7e,_0x4b17eb,_0x383045,_0x57391d);return _0x4ca90d;}catch(_0x473070){return this[_0x446506(0x1a0)]?.['warn']('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x5e0b7e,'error':_0x473070[_0x446506(0x10c)]}),{'file':this[_0x446506(0x14a)][_0x446506(0x19b)](_0x5e0b7e,_0x383045),'fullPath':_0x5e0b7e,'error':_0x473070[_0x446506(0x10c)],'success':![]};}}),_0x5d8e92=await Promise['all'](_0x50ef4f);_0x37ba6c['push'](..._0x5d8e92['filter'](_0x347ee8=>_0x347ee8!==null));}_0x57391d['onProgress']&&_0x57391d['onProgress']({'completed':_0x5e10da[_0x2f0ae3(0x134)],'total':_0x5e10da['length'],'percentage':0x64});}else for(const _0x2a7229 of _0x5e10da){try{const _0x36422c=await this['analyzeFile'](_0x2a7229,_0x4b17eb,_0x383045,_0x57391d);_0x36422c&&_0x37ba6c['push'](_0x36422c);}catch(_0x512292){this['logger']?.[_0x2f0ae3(0xef)](_0x2f0ae3(0x146),{'file':_0x2a7229,'error':_0x512292['message']}),_0x37ba6c[_0x2f0ae3(0x131)]({'file':this[_0x2f0ae3(0x14a)]['createRelativePath'](_0x2a7229,_0x383045),'fullPath':_0x2a7229,'error':_0x512292[_0x2f0ae3(0x10c)],'success':![]});}}return _0x37ba6c;}async['fixFile'](_0x21045a,_0x471886,_0x2520a7,_0xdf8df1={}){const _0x412fe8=a0_0x56df7a,_0x147b0c=a0_0x3d0e54['isAbsolute'](_0x21045a)?a0_0x3d0e54[_0x412fe8(0x185)](_0x21045a):a0_0x3d0e54[_0x412fe8(0x1a1)](_0x471886,_0x21045a),_0x16602e=this['directoryAccessManager'][_0x412fe8(0x164)](_0x147b0c,_0x2520a7);if(!_0x16602e[_0x412fe8(0x147)])throw new Error('Read\x20access\x20denied:\x20'+_0x16602e[_0x412fe8(0xfb)]);if(_0xdf8df1[_0x412fe8(0xf3)]){const _0x447252=this['directoryAccessManager']['validateWriteAccess'](_0x147b0c,_0x2520a7);if(!_0x447252['allowed'])throw new Error(_0x412fe8(0x180)+_0x447252[_0x412fe8(0xfb)]);}try{const _0x1eae13=await a0_0x15a704[_0x412fe8(0x125)](_0x147b0c,'utf-8'),_0x508fa0=await this[_0x412fe8(0xfc)](),_0x1427f0=await _0x508fa0[_0x412fe8(0x103)](_0x147b0c,_0x1eae13,{'workingDir':_0x471886,'accessConfig':_0x2520a7,'framework':await this['detectFramework'](_0x471886,this['detectLanguage'](_0x147b0c))});return _0xdf8df1['writeFile']&&_0x1427f0[_0x412fe8(0x144)]&&(await a0_0x15a704[_0x412fe8(0xf3)](_0x147b0c,_0x1427f0['content'],'utf-8'),this[_0x412fe8(0x1a0)]?.[_0x412fe8(0x14f)]('File\x20fixed\x20and\x20written',{'file':_0x147b0c})),{'file':this[_0x412fe8(0x14a)][_0x412fe8(0x19b)](_0x147b0c,_0x2520a7),'fullPath':_0x147b0c,'action':_0x412fe8(0x103),'fixed':_0x1427f0['fixed'],'fixedCount':_0x1427f0['fixedCount'],'remainingErrors':_0x1427f0['remainingErrors'],'remainingWarnings':_0x1427f0[_0x412fe8(0x12b)],'changes':_0x1427f0['changes'],'written':!!(_0xdf8df1['writeFile']&&_0x1427f0['fixed']),'preview':!_0xdf8df1[_0x412fe8(0xf3)]&&_0x1427f0['fixed']?_0x1427f0['content']:undefined};}catch(_0x421035){throw new Error(_0x412fe8(0x192)+_0x21045a+':\x20'+_0x421035[_0x412fe8(0x10c)]);}}async[a0_0x56df7a(0x15d)](_0x425d35,_0x537ee9,_0x4383b0,_0x3e9b11={}){const _0x49bafa=a0_0x56df7a,_0x3161ab=a0_0x3d0e54['isAbsolute'](_0x425d35)?a0_0x3d0e54[_0x49bafa(0x185)](_0x425d35):a0_0x3d0e54['resolve'](_0x537ee9,_0x425d35),_0x1bee0d=this['directoryAccessManager'][_0x49bafa(0x164)](_0x3161ab,_0x4383b0);if(!_0x1bee0d[_0x49bafa(0x147)])throw new Error(_0x49bafa(0x1ba)+_0x1bee0d[_0x49bafa(0xfb)]);if(_0x3e9b11[_0x49bafa(0xf3)]){const _0x5713ff=this['directoryAccessManager'][_0x49bafa(0x139)](_0x3161ab,_0x4383b0);if(!_0x5713ff[_0x49bafa(0x147)])throw new Error('Write\x20access\x20denied:\x20'+_0x5713ff['reason']);}try{const _0x5cd05d=await a0_0x15a704[_0x49bafa(0x125)](_0x3161ab,_0x49bafa(0x114)),_0x5f12ed=await this['getPrettierFormatter']();if(!_0x5f12ed['isSupported'](_0x3161ab))return{'file':this['directoryAccessManager'][_0x49bafa(0x19b)](_0x3161ab,_0x4383b0),'fullPath':_0x3161ab,'action':_0x49bafa(0xf5),'formatted':![],'skipped':!![],'skipReason':'File\x20type\x20not\x20supported\x20by\x20Prettier'};const _0x18ae2a=await _0x5f12ed[_0x49bafa(0xf5)](_0x3161ab,_0x5cd05d,{'workingDir':_0x537ee9,'accessConfig':_0x4383b0});return _0x3e9b11['writeFile']&&_0x18ae2a['formatted']&&(await a0_0x15a704['writeFile'](_0x3161ab,_0x18ae2a['content'],'utf-8'),this['logger']?.[_0x49bafa(0x14f)]('File\x20formatted\x20and\x20written',{'file':_0x3161ab})),{'file':this['directoryAccessManager'][_0x49bafa(0x19b)](_0x3161ab,_0x4383b0),'fullPath':_0x3161ab,'action':_0x49bafa(0xf5),'formatted':_0x18ae2a['formatted'],'linesChanged':_0x18ae2a['linesChanged'],'changes':_0x18ae2a[_0x49bafa(0x1b3)],'written':!!(_0x3e9b11['writeFile']&&_0x18ae2a['formatted']),'preview':!_0x3e9b11[_0x49bafa(0xf3)]&&_0x18ae2a[_0x49bafa(0x108)]?_0x18ae2a['content']:undefined};}catch(_0x5aebce){throw new Error('Failed\x20to\x20format\x20'+_0x425d35+':\x20'+_0x5aebce['message']);}}async['securityScanFile'](_0x690174,_0x31b5fa,_0x26807b,_0x4043f5={}){const _0x3b47bf=a0_0x56df7a,_0x3174a7=a0_0x3d0e54[_0x3b47bf(0xeb)](_0x690174)?a0_0x3d0e54[_0x3b47bf(0x185)](_0x690174):a0_0x3d0e54['resolve'](_0x31b5fa,_0x690174),_0x2215df=this[_0x3b47bf(0x14a)][_0x3b47bf(0x164)](_0x3174a7,_0x26807b);if(!_0x2215df['allowed'])throw new Error(_0x3b47bf(0x1ba)+_0x2215df[_0x3b47bf(0xfb)]);try{const _0xd55be6=await a0_0x15a704['stat'](_0x3174a7);if(_0xd55be6['size']>this[_0x3b47bf(0x109)])throw new Error('File\x20too\x20large:\x20'+_0xd55be6['size']+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x53692b=this['detectLanguage'](_0x3174a7);if(!_0x53692b||!['javascript','typescript',_0x3b47bf(0x119)][_0x3b47bf(0x12e)](_0x53692b))return{'file':this['directoryAccessManager'][_0x3b47bf(0x19b)](_0x3174a7,_0x26807b),'fullPath':_0x3174a7,'language':_0x53692b||_0x3b47bf(0x16e),'issues':[],'skipped':!![],'skipReason':'Security\x20scanning\x20only\x20supports\x20JavaScript,\x20TypeScript,\x20and\x20Python\x20files'};const _0xb55f6c=await a0_0x15a704[_0x3b47bf(0x125)](_0x3174a7,_0x3b47bf(0x114)),_0x1fa12c=await this[_0x3b47bf(0x182)](),_0x8f5982=await _0x1fa12c['analyze'](_0x3174a7,_0xb55f6c,{'skipTestFiles':_0x4043f5['skipTestFiles']!==![]}),_0x3e9e72={'file':this['directoryAccessManager'][_0x3b47bf(0x19b)](_0x3174a7,_0x26807b),'fullPath':_0x3174a7,'language':_0x53692b,'action':'security-scan','critical':_0x8f5982['filter'](_0x32820d=>_0x32820d[_0x3b47bf(0xee)]===STATIC_ANALYSIS['SEVERITY'][_0x3b47bf(0x193)]),'errors':_0x8f5982['filter'](_0x4edef7=>_0x4edef7['severity']===STATIC_ANALYSIS[_0x3b47bf(0x1a5)][_0x3b47bf(0x1b8)]),'warnings':_0x8f5982['filter'](_0x456c0b=>_0x456c0b['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x8f5982[_0x3b47bf(0x117)](_0x117699=>_0x117699['severity']===STATIC_ANALYSIS[_0x3b47bf(0x1a5)]['INFO']),'totalIssues':_0x8f5982['length'],'analyzed':!![],'scannersUsed':_0x8f5982[_0x3b47bf(0x115)](_0x835e9d=>_0x835e9d['scanner'])[_0x3b47bf(0x117)]((_0x3a8b7b,_0x360cf8,_0x12d8f7)=>_0x12d8f7[_0x3b47bf(0x101)](_0x3a8b7b)===_0x360cf8),'timestamp':new Date()['toISOString']()};return _0x3e9e72;}catch(_0x7f3ec2){throw new Error(_0x3b47bf(0x1b6)+_0x690174+':\x20'+_0x7f3ec2['message']);}}async[a0_0x56df7a(0x151)](_0xa4bad7,_0x2a4bd3,_0x54f080,_0x483272,_0x24d6e8={}){const _0x26679e=a0_0x56df7a,_0x566f96=a0_0x3d0e54[_0x26679e(0xeb)](_0xa4bad7)?a0_0x3d0e54[_0x26679e(0x185)](_0xa4bad7):a0_0x3d0e54['resolve'](_0x54f080,_0xa4bad7),_0x194f33=this['directoryAccessManager'][_0x26679e(0x164)](_0x566f96,_0x483272);if(!_0x194f33[_0x26679e(0x147)])throw new Error(_0x26679e(0x1ba)+_0x194f33['reason']);const _0x100e6d=await this['getSecurityAnalyzer'](),_0x69888f=await _0x100e6d['analyzeProject'](_0x566f96,_0x26679e(0x17a),_0x24d6e8),_0xad5fba=_0x2a4bd3||'**/*.{js,jsx,mjs,cjs,ts,tsx,py}',_0x249dea=await this[_0x26679e(0x141)](_0x566f96,_0xad5fba);if(_0x249dea[_0x26679e(0x134)]>this[_0x26679e(0x1a9)])throw new Error(_0x26679e(0x183)+_0x249dea['length']+'\x20(max\x20'+this[_0x26679e(0x1a9)]+')');const _0xa8f132=[];if(this['parallelAnalysis']&&_0x249dea['length']>0x1){this[_0x26679e(0x1a0)]?.['debug'](_0x26679e(0x188),{'totalFiles':_0x249dea['length'],'batchSize':this[_0x26679e(0x142)]});for(let _0x46a042=0x0;_0x46a042<_0x249dea[_0x26679e(0x134)];_0x46a042+=this['maxParallelFiles']){const _0x568a56=_0x249dea[_0x26679e(0x1b0)](_0x46a042,_0x46a042+this[_0x26679e(0x142)]);_0x24d6e8[_0x26679e(0x1b7)]&&_0x24d6e8['onProgress']({'completed':_0x46a042,'total':_0x249dea['length'],'percentage':Math['round'](_0x46a042/_0x249dea['length']*0x64)});const _0x2d1092=_0x568a56[_0x26679e(0x115)](async _0x666390=>{const _0x42b6=_0x26679e;try{return await this['securityScanFile'](_0x666390,_0x54f080,_0x483272,_0x24d6e8);}catch(_0x1000bc){return this['logger']?.['warn'](_0x42b6(0x132),{'file':_0x666390,'error':_0x1000bc['message']}),{'file':this[_0x42b6(0x14a)][_0x42b6(0x19b)](_0x666390,_0x483272),'fullPath':_0x666390,'error':_0x1000bc[_0x42b6(0x10c)],'success':![]};}}),_0x4a6e62=await Promise['all'](_0x2d1092);_0xa8f132[_0x26679e(0x131)](..._0x4a6e62['filter'](_0x53aef3=>_0x53aef3!==null));}_0x24d6e8[_0x26679e(0x1b7)]&&_0x24d6e8['onProgress']({'completed':_0x249dea['length'],'total':_0x249dea[_0x26679e(0x134)],'percentage':0x64});}else for(const _0x39a357 of _0x249dea){try{const _0x1855f2=await this['securityScanFile'](_0x39a357,_0x54f080,_0x483272,_0x24d6e8);_0x1855f2&&_0xa8f132['push'](_0x1855f2);}catch(_0x245865){this[_0x26679e(0x1a0)]?.['warn']('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x39a357,'error':_0x245865[_0x26679e(0x10c)]}),_0xa8f132[_0x26679e(0x131)]({'file':this[_0x26679e(0x14a)][_0x26679e(0x19b)](_0x39a357,_0x483272),'fullPath':_0x39a357,'error':_0x245865['message'],'success':![]});}}return _0x69888f['length']>0x0&&_0xa8f132[_0x26679e(0x131)]({'file':a0_0x3d0e54['join'](_0x566f96,'package.json'),'fullPath':a0_0x3d0e54['join'](_0x566f96,_0x26679e(0x172)),'action':'dependency-scan','critical':_0x69888f[_0x26679e(0x117)](_0x5afd50=>_0x5afd50[_0x26679e(0xee)]===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x69888f['filter'](_0x3227d7=>_0x3227d7[_0x26679e(0xee)]===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x69888f['filter'](_0x55e3c6=>_0x55e3c6['severity']===STATIC_ANALYSIS['SEVERITY'][_0x26679e(0x124)]),'info':_0x69888f['filter'](_0x545746=>_0x545746['severity']===STATIC_ANALYSIS[_0x26679e(0x1a5)][_0x26679e(0x17d)]),'totalIssues':_0x69888f['length'],'analyzed':!![],'scannersUsed':['npm-audit'],'timestamp':new Date()[_0x26679e(0x14d)]()}),_0xa8f132;}async['validateConfigFile'](_0x400d23,_0x40ca2f,_0x1a4582,_0x2b3a0d={}){const _0x53aaeb=a0_0x56df7a,_0x3da422=a0_0x3d0e54[_0x53aaeb(0xeb)](_0x400d23)?a0_0x3d0e54['normalize'](_0x400d23):a0_0x3d0e54[_0x53aaeb(0x1a1)](_0x40ca2f,_0x400d23),_0x1a5c48=this[_0x53aaeb(0x14a)][_0x53aaeb(0x164)](_0x3da422,_0x1a4582);if(!_0x1a5c48[_0x53aaeb(0x147)])throw new Error('Read\x20access\x20denied:\x20'+_0x1a5c48[_0x53aaeb(0xfb)]);try{const _0x37068d=await a0_0x15a704['stat'](_0x3da422);if(_0x37068d['size']>this[_0x53aaeb(0x109)])throw new Error(_0x53aaeb(0x105)+_0x37068d['size']+'\x20bytes\x20(max\x20'+this[_0x53aaeb(0x109)]+')');const _0x4bb82b=await this[_0x53aaeb(0x12a)](),_0x19ebca=await _0x4bb82b['validate'](_0x3da422,_0x2b3a0d),_0x4abc96={'file':this[_0x53aaeb(0x14a)]['createRelativePath'](_0x3da422,_0x1a4582),'fullPath':_0x3da422,'action':_0x53aaeb(0x13b),'critical':_0x19ebca[_0x53aaeb(0x117)](_0x3d3ccb=>_0x3d3ccb[_0x53aaeb(0xee)]===STATIC_ANALYSIS[_0x53aaeb(0x1a5)][_0x53aaeb(0x193)]),'errors':_0x19ebca['filter'](_0x1e7f76=>_0x1e7f76[_0x53aaeb(0xee)]===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x19ebca['filter'](_0xe48403=>_0xe48403[_0x53aaeb(0xee)]===STATIC_ANALYSIS[_0x53aaeb(0x1a5)]['WARNING']),'info':_0x19ebca['filter'](_0x221a77=>_0x221a77[_0x53aaeb(0xee)]===STATIC_ANALYSIS[_0x53aaeb(0x1a5)]['INFO']),'totalIssues':_0x19ebca[_0x53aaeb(0x134)],'analyzed':!![],'validatorsUsed':_0x19ebca['map'](_0x5c604c=>_0x5c604c['validator'])[_0x53aaeb(0x117)]((_0x342fc2,_0x314404,_0x35b311)=>_0x35b311['indexOf'](_0x342fc2)===_0x314404),'timestamp':new Date()[_0x53aaeb(0x14d)]()};return _0x4abc96;}catch(_0x38f1d1){throw new Error('Failed\x20to\x20validate\x20config\x20'+_0x400d23+':\x20'+_0x38f1d1[_0x53aaeb(0x10c)]);}}async['validateConfigDirectory'](_0x1a17e3,_0x39f630,_0x36af75,_0x559c5e={}){const _0x4ec84f=a0_0x56df7a,_0x42e74f=a0_0x3d0e54[_0x4ec84f(0xeb)](_0x1a17e3)?a0_0x3d0e54[_0x4ec84f(0x185)](_0x1a17e3):a0_0x3d0e54['resolve'](_0x39f630,_0x1a17e3),_0x18d10b=this[_0x4ec84f(0x14a)][_0x4ec84f(0x164)](_0x42e74f,_0x36af75);if(!_0x18d10b['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x18d10b[_0x4ec84f(0xfb)]);const _0x307d2d=await this['findConfigFiles'](_0x42e74f);if(_0x307d2d['length']>this['maxFilesPerBatch'])throw new Error(_0x4ec84f(0x11f)+_0x307d2d['length']+_0x4ec84f(0x1b9)+this['maxFilesPerBatch']+')');const _0x170498=[];for(const _0x3767db of _0x307d2d){try{const _0x4c4f4d=await this[_0x4ec84f(0xe7)](_0x3767db,_0x39f630,_0x36af75,_0x559c5e);_0x4c4f4d&&_0x170498[_0x4ec84f(0x131)](_0x4c4f4d);}catch(_0x3d8f07){this['logger']?.[_0x4ec84f(0xef)]('Failed\x20to\x20validate\x20config\x20file',{'file':_0x3767db,'error':_0x3d8f07[_0x4ec84f(0x10c)]}),_0x170498['push']({'file':this['directoryAccessManager']['createRelativePath'](_0x3767db,_0x36af75),'fullPath':_0x3767db,'error':_0x3d8f07['message'],'success':![]});}}return _0x170498;}async[a0_0x56df7a(0x162)](_0x1bb96f){const _0x10ffbd=a0_0x56df7a,_0x404f8e=[],_0x351f4a=[_0x10ffbd(0x172),_0x10ffbd(0x13e),'Dockerfile',_0x10ffbd(0x12d),_0x10ffbd(0x13f),_0x10ffbd(0x113),'.env.example','.eslintrc.js','.eslintrc.json',_0x10ffbd(0x171),_0x10ffbd(0x1a2)],_0xb1a61e=[_0x10ffbd(0x143),'.yaml',_0x10ffbd(0x130),'.tf','.tfvars'],_0x4a9445=async _0x5a7b19=>{const _0x2ede4a=_0x10ffbd,_0x3da915=await a0_0x15a704['readdir'](_0x5a7b19,{'withFileTypes':!![]});for(const _0x6f801c of _0x3da915){const _0x268c68=a0_0x3d0e54['join'](_0x5a7b19,_0x6f801c['name']);if(_0x6f801c[_0x2ede4a(0x116)]()){if(_0x6f801c['name']==='.github'||_0x6f801c[_0x2ede4a(0x19d)]===_0x2ede4a(0x15a)||_0x6f801c['name']===_0x2ede4a(0xe3)||_0x6f801c['name']===_0x2ede4a(0x110))await _0x4a9445(_0x268c68);else{if(![_0x2ede4a(0xed),'.git',_0x2ede4a(0x104),_0x2ede4a(0x14c)]['includes'](_0x6f801c['name']))continue;}}else{if(_0x6f801c[_0x2ede4a(0x1ad)]()){if(_0x351f4a[_0x2ede4a(0x12e)](_0x6f801c[_0x2ede4a(0x19d)]))_0x404f8e['push'](_0x268c68);else{const _0xc4320e=a0_0x3d0e54[_0x2ede4a(0xe8)](_0x6f801c[_0x2ede4a(0x19d)])['toLowerCase']();if(_0xb1a61e[_0x2ede4a(0x12e)](_0xc4320e)){const _0x32c128=a0_0x3d0e54['basename'](a0_0x3d0e54['dirname'](_0x268c68));(_0x32c128==='kubernetes'||_0x32c128==='k8s'||_0x32c128==='terraform'||_0x32c128===_0x2ede4a(0x157))&&_0x404f8e[_0x2ede4a(0x131)](_0x268c68);}}}}}};return await _0x4a9445(_0x1bb96f),_0x404f8e;}['detectLanguage'](_0x1f8108){const _0x45fb97=a0_0x3d0e54['extname'](_0x1f8108)['toLowerCase']();return STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x45fb97]||null;}async[a0_0x56df7a(0x13c)](_0x4b00e4,_0x2858f2){const _0x2db700=a0_0x56df7a;try{if(_0x2858f2===STATIC_ANALYSIS[_0x2db700(0x10e)]['JAVASCRIPT']||_0x2858f2===STATIC_ANALYSIS['LANGUAGE']['TYPESCRIPT'])return await this['detectJSFramework'](_0x4b00e4);if(_0x2858f2===STATIC_ANALYSIS[_0x2db700(0x10e)]['PYTHON'])return await this[_0x2db700(0x199)](_0x4b00e4);return null;}catch(_0x2b33e7){return this[_0x2db700(0x1a0)]?.[_0x2db700(0x13d)](_0x2db700(0x15c),{'error':_0x2b33e7[_0x2db700(0x10c)]}),null;}}async['detectJSFramework'](_0x2d6d2d){const _0x165ff5=a0_0x56df7a;try{const _0x5bb5ff=a0_0x3d0e54[_0x165ff5(0x166)](_0x2d6d2d,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x165ff5(0xf0)]),_0x379ccf=await a0_0x15a704[_0x165ff5(0x125)](_0x5bb5ff,_0x165ff5(0x114)),_0xf9893c=JSON['parse'](_0x379ccf),_0x163e12={..._0xf9893c['dependencies'],..._0xf9893c[_0x165ff5(0x102)]};for(const [_0x58b3f4,_0x59ab50]of Object['entries'](STATIC_ANALYSIS['JS_FRAMEWORKS'])){if(_0x163e12[_0x59ab50])return _0x58b3f4[_0x165ff5(0x122)]();}return null;}catch(_0x448ed2){return null;}}async[a0_0x56df7a(0x199)](_0xc34099){const _0x3f086c=a0_0x56df7a;try{const _0xd49634=a0_0x3d0e54['join'](_0xc34099,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x3f086c(0x10d)]),_0x29dfe7=await a0_0x15a704['readFile'](_0xd49634,_0x3f086c(0x114));for(const [_0x3b1f41,_0x2967c5]of Object['entries'](STATIC_ANALYSIS[_0x3f086c(0x155)])){if(_0x29dfe7['toLowerCase']()['includes'](_0x2967c5))return _0x3b1f41['toLowerCase']();}return null;}catch(_0x14f278){try{const _0x2f3eea=a0_0x3d0e54[_0x3f086c(0x166)](_0xc34099,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x3f086c(0xe9)]),_0xc23867=await a0_0x15a704['readFile'](_0x2f3eea,'utf-8');for(const [_0x339172,_0x451cc6]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0xc23867[_0x3f086c(0x122)]()['includes'](_0x451cc6))return _0x339172[_0x3f086c(0x122)]();}}catch{}return null;}}async[a0_0x56df7a(0x141)](_0xf3936c,_0x217ecc){const _0x309dd7=[],_0x40286b=_0x217ecc||'**/*.{js,jsx,mjs,cjs,ts,tsx,py,css,scss,sass,less}',_0x1c90b9=_0x568028=>{const _0x3b04d3=a0_0x3d84,_0x3ac58e=[],_0x4165e3=_0x568028[_0x3b04d3(0x186)](/\*\.\{([^}]+)\}/);if(_0x4165e3){const _0x3c0ed5=_0x4165e3[0x1][_0x3b04d3(0x1af)](',')[_0x3b04d3(0x115)](_0x4245a5=>_0x4245a5[_0x3b04d3(0xfa)]());_0x3c0ed5[_0x3b04d3(0x1a7)](_0x2c7666=>_0x3ac58e['push'](_0x2c7666['startsWith']('.')?_0x2c7666:'.'+_0x2c7666));}else{const _0x144a56=_0x568028['match'](/\*\.([a-z]+)$/i);if(_0x144a56){const _0x175847=_0x144a56[0x1];_0x3ac58e[_0x3b04d3(0x131)](_0x175847[_0x3b04d3(0x18e)]('.')?_0x175847:'.'+_0x175847);}}if(_0x3ac58e['length']===0x0)return null;return _0x3ac58e;},_0x27a8b1=_0x1c90b9(_0x40286b),_0x518917=async _0x24c8cb=>{const _0x4b81ab=a0_0x3d84,_0x1ba87f=await a0_0x15a704['readdir'](_0x24c8cb,{'withFileTypes':!![]});for(const _0xa491e2 of _0x1ba87f){const _0x57d9e7=a0_0x3d0e54[_0x4b81ab(0x166)](_0x24c8cb,_0xa491e2['name']);if(_0xa491e2[_0x4b81ab(0x116)]())![_0x4b81ab(0xed),'.git','dist',_0x4b81ab(0x14c),'__pycache__',_0x4b81ab(0x176),'venv'][_0x4b81ab(0x12e)](_0xa491e2['name'])&&await _0x518917(_0x57d9e7);else{if(_0xa491e2['isFile']()){const _0x23c6eb=a0_0x3d0e54['extname'](_0xa491e2[_0x4b81ab(0x19d)])[_0x4b81ab(0x122)]();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x23c6eb]&&((_0x27a8b1===null||_0x27a8b1[_0x4b81ab(0x12e)](_0x23c6eb))&&_0x309dd7[_0x4b81ab(0x131)](_0x57d9e7));}}}};return await _0x518917(_0xf3936c),_0x309dd7;}async[a0_0x56df7a(0x10f)](_0x41819d){const _0x198249=a0_0x56df7a;try{if(_0x41819d===STATIC_ANALYSIS[_0x198249(0x10e)]['JAVASCRIPT']){if(!this['analyzers'][_0x198249(0x17a)]){const {default:_0x175f5e}=await import('../analyzers/JavaScriptAnalyzer.js');this[_0x198249(0x18a)]['javascript']=new _0x175f5e(this['logger']);}return this['analyzers'][_0x198249(0x17a)];}if(_0x41819d===STATIC_ANALYSIS[_0x198249(0x10e)][_0x198249(0x1ae)]){if(!this['analyzers']['typescript']){const {default:_0x5f366b}=await import(_0x198249(0x14b));this['analyzers'][_0x198249(0x11b)]=new _0x5f366b(this['logger']);}return this['analyzers'][_0x198249(0x11b)];}if(_0x41819d===STATIC_ANALYSIS['LANGUAGE'][_0x198249(0x10d)]){if(!this['analyzers']['python']){const {default:_0x12d891}=await import(_0x198249(0x191));this[_0x198249(0x18a)][_0x198249(0x119)]=new _0x12d891(this[_0x198249(0x1a0)]);}return this['analyzers'][_0x198249(0x119)];}if(_0x41819d===STATIC_ANALYSIS[_0x198249(0x10e)]['CSS']||_0x41819d===STATIC_ANALYSIS['LANGUAGE']['SCSS']||_0x41819d===STATIC_ANALYSIS['LANGUAGE']['LESS']){if(!this[_0x198249(0x18a)][_0x198249(0x1b4)]){const {default:_0x477236}=await import(_0x198249(0x18c));this['analyzers']['css']=new _0x477236(this['logger']);}return this[_0x198249(0x18a)]['css'];}return null;}catch(_0x3262e4){return this[_0x198249(0x1a0)]?.['error']('Failed\x20to\x20load\x20analyzer',{'language':_0x41819d,'error':_0x3262e4[_0x198249(0x10c)]}),null;}}async['getESLintAnalyzer'](){const _0x183468=a0_0x56df7a;if(!this[_0x183468(0x18a)][_0x183468(0x189)]){const {default:_0x410268}=await import(_0x183468(0x169));this['analyzers'][_0x183468(0x189)]=new _0x410268(this[_0x183468(0x1a0)]);}return this[_0x183468(0x18a)]['eslint'];}async['getPrettierFormatter'](){const _0x251073=a0_0x56df7a;if(!this['formatters']['prettier']){const {default:_0x3a8d7e}=await import(_0x251073(0x1b5));this['formatters'][_0x251073(0x137)]=new _0x3a8d7e(this['logger']);}return this[_0x251073(0x136)][_0x251073(0x137)];}async['getSecurityAnalyzer'](){const _0x48c42c=a0_0x56df7a;if(!this['analyzers']['security']){const {default:_0x5890bf}=await import(_0x48c42c(0xf1));this[_0x48c42c(0x18a)][_0x48c42c(0x15f)]=new _0x5890bf(this['logger']);}return this[_0x48c42c(0x18a)][_0x48c42c(0x15f)];}async['getConfigValidator'](){const _0x39696e=a0_0x56df7a;if(!this['analyzers'][_0x39696e(0xf6)]){const {default:_0x2bdefc}=await import(_0x39696e(0x100));this['analyzers'][_0x39696e(0xf6)]=new _0x2bdefc(this['logger']);}return this[_0x39696e(0x18a)][_0x39696e(0xf6)];}['updateSummary'](_0x4c34ca,_0x39c447){const _0x31816d=a0_0x56df7a;if(_0x39c447['analyzed']){_0x4c34ca[_0x31816d(0x19c)]++;const _0x2fd277=_0x39c447[_0x31816d(0x123)]?.[_0x31816d(0x134)]||0x0,_0xc26ad3=_0x39c447[_0x31816d(0x18b)]?.[_0x31816d(0x134)]||0x0,_0x309e9f=_0x39c447[_0x31816d(0x1b2)]?.['length']||0x0,_0x5b8d05=_0x39c447['info']?.[_0x31816d(0x134)]||0x0;_0x4c34ca[_0x31816d(0x197)]===undefined&&(_0x4c34ca['totalCritical']=0x0);_0x4c34ca['totalCritical']+=_0x2fd277,_0x4c34ca['totalErrors']+=_0xc26ad3,_0x4c34ca['totalWarnings']+=_0x309e9f,_0x4c34ca['totalInfo']+=_0x5b8d05;(_0x2fd277>0x0||_0xc26ad3>0x0)&&_0x4c34ca[_0x31816d(0x175)]++;_0x39c447['language']&&(_0x4c34ca['filesByLanguage'][_0x39c447['language']]=(_0x4c34ca['filesByLanguage'][_0x39c447['language']]||0x0)+0x1);const _0x58de1e=[..._0x39c447['critical']||[],..._0x39c447['errors']||[],..._0x39c447[_0x31816d(0x1b2)]||[]];for(const _0x1ee1be of _0x58de1e){_0x1ee1be[_0x31816d(0x16b)]&&(_0x4c34ca['errorsByCategory'][_0x1ee1be[_0x31816d(0x16b)]]=(_0x4c34ca['errorsByCategory'][_0x1ee1be['category']]||0x0)+0x1);}}}[a0_0x56df7a(0x120)](_0x3e84d5){const _0x381522=a0_0x56df7a;return a0_0x22cec4['createHash'](_0x381522(0x17b))['update'](_0x3e84d5)[_0x381522(0x187)](_0x381522(0x1b1))['substring'](0x0,0x10);}['getPerformanceMetrics'](){const _0x484df3=a0_0x56df7a,_0x1fc0ba=this[_0x484df3(0x17f)][_0x484df3(0x149)]>0x0?this['metrics']['cacheHits']/this[_0x484df3(0x17f)]['totalAnalyses']*0x64:0x0,_0x388669=this['metrics']['filesAnalyzed']>0x0?this['metrics'][_0x484df3(0xf9)]/this[_0x484df3(0x17f)][_0x484df3(0x16c)]:0x0;return{...this[_0x484df3(0x17f)],'cacheHitRate':Math[_0x484df3(0x15b)](_0x1fc0ba*0xa)/0xa,'averageAnalysisTime':Math['round'](_0x388669),'cacheSize':this[_0x484df3(0x12c)][_0x484df3(0x15e)]};}[a0_0x56df7a(0x11d)](){const _0x2da9a5=a0_0x56df7a;this[_0x2da9a5(0x17f)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}['clearCache'](){const _0x172f0f=a0_0x56df7a;this['analysisCache']['clear'](),this['logger']?.[_0x172f0f(0x13d)](_0x172f0f(0x1a8));}['getSupportedActions'](){const _0x37db57=a0_0x56df7a;return['analyze',_0x37db57(0x129),_0x37db57(0x103),_0x37db57(0xf5),_0x37db57(0x195),'security-scan-project',_0x37db57(0x13b),_0x37db57(0xea)];}['getParameterSchema'](){const _0x161846=a0_0x56df7a;return{'type':_0x161846(0x1ac),'properties':{'actions':{'type':_0x161846(0xe5),'minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'filePath':{'type':_0x161846(0x150)},'directory':{'type':'string'},'pattern':{'type':'string'},'includeWarnings':{'type':'boolean'},'maxErrors':{'type':'number'}},'required':['type']}}},'required':[_0x161846(0x18f)]};}}export default StaticAnalysisTool;
|
|
1
|
+
const a0_0x4f6215=a0_0x52dc;(function(_0x3c099f,_0x5a902e){const _0x3baf45=a0_0x52dc,_0x4b2fa6=_0x3c099f();while(!![]){try{const _0x2a167c=parseInt(_0x3baf45(0x1a9))/0x1*(-parseInt(_0x3baf45(0x1ed))/0x2)+parseInt(_0x3baf45(0x1f0))/0x3+parseInt(_0x3baf45(0x1a2))/0x4*(-parseInt(_0x3baf45(0x1d6))/0x5)+-parseInt(_0x3baf45(0x1c8))/0x6*(-parseInt(_0x3baf45(0x19d))/0x7)+parseInt(_0x3baf45(0x1b1))/0x8*(parseInt(_0x3baf45(0x220))/0x9)+-parseInt(_0x3baf45(0x152))/0xa*(-parseInt(_0x3baf45(0x1e3))/0xb)+-parseInt(_0x3baf45(0x1eb))/0xc*(parseInt(_0x3baf45(0x183))/0xd);if(_0x2a167c===_0x5a902e)break;else _0x4b2fa6['push'](_0x4b2fa6['shift']());}catch(_0x354242){_0x4b2fa6['push'](_0x4b2fa6['shift']());}}}(a0_0x235a,0xd00e3));import{BaseTool}from'./baseTool.js';import a0_0x29c523 from'../utilities/tagParser.js';import a0_0x49e066 from'../utilities/directoryAccessManager.js';function a0_0x52dc(_0x49338a,_0x12e05c){_0x49338a=_0x49338a-0x150;const _0x235a53=a0_0x235a();let _0x52dcee=_0x235a53[_0x49338a];if(a0_0x52dc['hsciQs']===undefined){var _0x134cc6=function(_0xa0feeb){const _0x2a189a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29c523='',_0x49e066='';for(let _0xf3ef7c=0x0,_0x4c0d52,_0x3d46ea,_0x51726f=0x0;_0x3d46ea=_0xa0feeb['charAt'](_0x51726f++);~_0x3d46ea&&(_0x4c0d52=_0xf3ef7c%0x4?_0x4c0d52*0x40+_0x3d46ea:_0x3d46ea,_0xf3ef7c++%0x4)?_0x29c523+=String['fromCharCode'](0xff&_0x4c0d52>>(-0x2*_0xf3ef7c&0x6)):0x0){_0x3d46ea=_0x2a189a['indexOf'](_0x3d46ea);}for(let _0x76962b=0x0,_0x4e4cbc=_0x29c523['length'];_0x76962b<_0x4e4cbc;_0x76962b++){_0x49e066+='%'+('00'+_0x29c523['charCodeAt'](_0x76962b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49e066);};a0_0x52dc['BYhnYJ']=_0x134cc6,a0_0x52dc['DKcQZA']={},a0_0x52dc['hsciQs']=!![];}const _0x5dd3d0=_0x235a53[0x0],_0x587b14=_0x49338a+_0x5dd3d0,_0x3c99fb=a0_0x52dc['DKcQZA'][_0x587b14];return!_0x3c99fb?(_0x52dcee=a0_0x52dc['BYhnYJ'](_0x52dcee),a0_0x52dc['DKcQZA'][_0x587b14]=_0x52dcee):_0x52dcee=_0x3c99fb,_0x52dcee;}import a0_0xf3ef7c from'fs/promises';function a0_0x235a(){const _0x35a5cd=['rvjst1i','zMLSzxnbBMfSExPLza','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','C2TPCc10zxn0lwzPBgvZ','zM9YBwf0DgvYCW','CgfYC2vqyxjHBwv0zxjZ','DhLWzq','yw5HBhL6zwq','lNbYzxr0AwvYCMm','DhnJB25MAwCUANnVBG','lNbYzxr0AwvYCMmUANnVBG','C3rHCNrZv2L0Aa','lI4Vyw5HBhL6zxjZl1bYzxr0AwvYrM9YBwf0DgvYlMPZ','CMf3q29UDgvUDa','nta3mtu5sKrrufHR','zgv0zwn0tgfUz3vHz2u','DxnLq29UDgvUDeHHC2G','DMvUDG','rMfPBgvKihrVihzHBgLKyxrLignVBMzPzYa','zM9YBwf0','rLjbtuvxt1jlx01btKLgrvnuuW','BM9YBwfSAxPL','CMvHzgrPCG','y29TChv0zunVBNrLBNriyxnO','rMLSzsb0B28GBgfYz2u6ia','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','Bwf4lwvYCM9YCW','AM9PBG','vxnPBMCGy2fJAgvKigfUywX5C2LZihjLC3vSDa','Dg90ywXdCML0AwnHBa','Dg90ywXxyxjUAw5NCW','zw5HyMXLq2fJAgu','tuiGCgvYigzPBguklsbcyxrJAcbSAw1PDdOG','rMfPBgvKihrVihbHCNnLihn0yxrPyYbHBMfSExnPCYbWyxjHBwv0zxjZoIa','lMDPDa','DgLTzxn0yw1W','Dg90ywXbBMfSExnPC1rPBwu','CM91BMq','z2v0u3vWCg9YDgvKqwn0Aw9UCW','z2v0rvnmAw50qw5HBhL6zxi','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','mJbzCgTlEei','tufyx0zjtevtx1bfuL9cqvrdsa','zxHLyW','vxnPBMCGCgfYywXSzwWGyw5HBhLZAxm','BgfUz3vHz2u','y2f0zwDVCNK','su5gtW','CMvZzxrqzxjMB3jTyw5Jzu1LDhjPy3m','sKfwqvnduKLqva','zxnSAw50','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','C2TPCfrLC3rgAwXLCW','yw5HBhL6zq','yw5HBhLZAxndywnOzq','DxbKyxrLu3vTBwfYEq','DMfSAwrHDgvdB25MAwDgAwXL','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4TChjVAMvJDa','zgLNzxn0','zMLSzxncEuXHBMD1ywDL','lMvZBgLUDhjJlMPZ','D2fYBG','yMfZzw5HBwu','zMLSzxm','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','B25qCM9NCMvZCW','DMfSAwrHDgu','yw5HBhL6zxjZ','C2vJDxjPDhKTC2nHBG','Aw5JBhvKzs13yxjUAw5NCW','DMfSAwrHDguTy29UzMLN','y3DK','Dg90ywXjBMzV','ChjLDhrPzxi','zMLSzvbHDgG','C3rHDa','sLnFrLjbtuvxt1jluW','y2HHBMDLCW','Cgf0DgvYBG','CgfYywXSzwXbBMfSExnPCW','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','zxjYB3jZqNLdyxrLz29YEq','zgv0zwn0rNjHBwv3B3jR','qu5btfLtsvnFveLnru9vva','vxnPBMCGCgfYywXSzwWGC2vJDxjPDhKGC2nHBM5PBMC','ChL0Ag9U','v0fstKLorW','Aw5KzxHpzG','zMLSDgvY','DxrMltG','mtnyBMfQz0u','Bwf4rxjYB3jZ','Bg9Nz2vY','C3vIC3rYAw5N','ywXS','AgfZ','zxHLy3v0zq','yw5HBhL6zs1WCM9Qzwn0','BMfTzq','zgv2rgvWzw5Kzw5JAwvZ','Aw5JBhvKzvDHCM5PBMDZ','zxjYB3jZ','zgvWzw5Kzw5JEs1Zy2fU','C2nHBM5LCG','qw5HBhL6Aw5NigjHDgnO','Dg90ywXgAwXLCW','zw50CMLLCW','CMvHC29U','CMvXDwLYzxnqCM9Qzwn0','BgvUz3rO','DgvYCMfMB3jT','cLn0yxrPyYbdB2rLiefUywX5C2LZifrVB2W6iefUywX5EMuGy29KzsbMAwXLCYbMB3iGzxjYB3jZihDPDgHVDxqGzxHLy3v0Aw9UcGPuAgLZihrVB2WGCgvYzM9YBxmGC3rHDgLJigfUywX5C2LZig9UignVzguGzMLSzxmGDg8GzMLUzcbZEw50yxGGzxjYB3jZlcb0ExbLigvYCM9YCYWGAw1WB3j0igLZC3vLCYWGyw5Kig90AgvYihbYB2jSzw1ZihDPDgHVDxqGCNvUBMLUzYb0AguGy29Kzs4GsxqGDxnLCYbVzMzPy2LHBcbSyw5NDwfNzsbWyxjZzxjZigzVCIbHy2n1CMf0zsbYzxn1BhrZlGOku1vque9sveveieXbtKDvquDfuZOklsbkyxzHu2nYAxb0icGUANmSic5QC3GSic5TANmSic5JANmPcI0GvhLWzvnJCMLWDcaOlNrZlcaUDhn4kqOTifb5DgHVBIaOlNb5kqOTientuYaOlMnZCYKklsbtq1nticGUC2nZCYWGlNnHC3mPcI0GtevtuYaOlMXLC3mPcGPvu0fhrtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBcIaGicb7cIaGicaGicj0ExbLiJOGiMfUywX5EMuIlaOGicaGicaIzMLSzvbHDgGIoIaIC3jJl2LUzgv4lMPZiGOGicaGFsWkicaGihSkicaGicaGiNr5CguIoIaIyw5HBhL6zs1WCM9Qzwn0iIWkicaGicaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicaGicaICgf0DgvYBIi6iciQkI8QlNTQCYX0CYXWEx0IcIaGicb9cIaGxqP9cMbGyaOkqunusu9oifrzuevtoGOTigfUywX5EMu6iefUywX5EMuGysbZAw5NBguGzMLSzqOTigfUywX5EMuTChjVAMvJDdOGqw5HBhL6zsbHBgWGzMLSzxmGAw4GysbKAxjLy3rVCNKklsbMAxG6ief1Dg8TzML4ignVzguGAxnZDwvZcI0GzM9YBwf0oIbgB3jTyxqGy29Kzsb3AxrOifbYzxr0AwvYcI0GC2vJDxjPDhKTC2nHBJOGu2nHBIbMB3iGC2vJDxjPDhKGDNvSBMvYywjPBgL0AwvZcI0GC2vJDxjPDhKTC2nHBI1WCM9Qzwn0oIbty2fUigvUDgLYzsbWCM9Qzwn0igzVCIbZzwn1CML0EsbPC3n1zxmklsb2ywXPzgf0zs1JB25MAwC6ifzHBgLKyxrLignVBMzPz3vYyxrPB24GzMLSzxmklsb2ywXPzgf0zs1JB25MAwCTzgLYzwn0B3j5oIbwywXPzgf0zsbHBgWGy29UzMLNigzPBgvZigLUigrPCMvJDg9YEqOkuefsqu1fvevsuZOklsbMAwXLugf0AdOGugf0Acb0BYbMAwXLihrVigfUywX5EMuGkgzVCIbZAw5NBguGzMLSzsbHy3rPB25ZkqOTigrPCMvJDg9YEtOGrgLYzwn0B3j5ihrVigfUywX5EMuGkgzVCIbWCM9Qzwn0lxDPzguGywn0Aw9UCYKklsbWyxr0zxjUoIbhBg9IihbHDhrLCM4GzM9YigzPBgvZihrVigLUy2X1zguGkg9WDgLVBMfSkqOTigLUy2X1zgvxyxjUAw5NCZOGsw5JBhvKzsb3yxjUAw5NCYbPBIbYzxn1BhrZicH0CNvLl2zHBhnLlcbKzwzHDwX0oIb0CNvLkqOTig1HEevYCM9YCZOGtwf4Aw11BsbUDw1IzxiGB2yGzxjYB3jZihrVihjLDhvYBIaOzgvMyxvSDdOGywXSkqOTihDYAxrLrMLSztOGv3jPDguGzML4zwqVzM9YBwf0DgvKignVBNrLBNqGyMfJAYb0BYbMAwXLicHMB3iGzML4l2zVCM1HDcbHy3rPB25ZkqOkrvHbtvbmrvm6cGOXlIbbBMfSExPLigeGC2LUz2XLiePHDMfty3jPChqGzMLSztOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjHBMfSExPLiIWGiMzPBgvqyxrOiJOGiNnYyY9HChaUANmIih1DcN0kygbGcGOYlIbbBMfSExPLigfSBcbMAwXLCYbPBIbHigrPCMvJDg9YEtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjHBMfSExPLlxbYB2PLy3qIlcaIzgLYzwn0B3j5iJOGiNnYyYiSicjWyxr0zxjUiJOGiIOQlYOUANmIih1DcN0kygbGcGOZlIbbDxrVlwzPEcbJB2rLigLZC3vLCZOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjMAxGIlcaIzMLSzvbHDgGIoIaIC3jJl2fWCc5QCYiSicj3CML0zuzPBguIoIb0CNvLih1DcN0kygbGcGO0lIbtzwn1CML0EsbZy2fUigeGChjVAMvJDdOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjZzwn1CML0Es1Zy2fUlxbYB2PLy3qIlcaIzgLYzwn0B3j5iJOGiNnYyYiGFv0kFqPGygakcK9vvfbvvcbgt1jnqvq6cLjLDhvYBNmGC3rYDwn0DxjLzcbLCNjVCIbPBMzVCM1HDgLVBIb3AxrOoIbMAwXLlcbSAw5LlcbJB2X1Bw4SihnLDMvYAxr5lcbYDwXLlcbTzxnZywDLlcbJyxrLz29YEsWGzML4ywjSzsWGC3vNz2vZDgLVBGOkteLnsvrbveLptLm6cI0GrMLSzsbZAxPLigXPBwL0oIa','yw5HBhL6zuzPBgu','zgvIDwC','y29TCgXLDgvK','zML4rMLSzq','mti4mwvKs01pDa','B2jQzwn0','vg9Vig1HBNKGywn0Aw9UCZOG','y2fJAgvfEhbPCNK','DhjPBq','mty4nJrgywLZyNm','y3jLyxrLuMvSyxrPDMvqyxrO','Aw5JBhvKzxm','AMf2yxnJCMLWDa','uMvHzcbHy2nLC3mGzgvUAwvKoIa','BwvZC2fNzq','C3rYAw5N','mtu3oty4m0ngBK5Ltq','Bwf4rMLSzvnPEMu','Aw5MBW','ufLuse9ox1bprvrswq','AxnbyNnVBhv0zq','C2v2zxjPDhK','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','tefor1vbr0u','mteYrhD0ChLr','zMXVB3i','DMfSAwrHDgvxCML0zufJy2vZCW','Dhj1zq','ywn0Aw9UCW','Bwf0y2G','CgfYywXSzwXcyxrJAgvZ','lNLTBa','y3jPDgLJywW','Bwv0CMLJCW','CMvZB2X2zq','Dhj1BMnHDgvK','BM93','yw5HBhL6zvbYB2PLy3q','zMLSzs1WyxrO','lMvZBgLUDhjJlMPZB24','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YigfUywX5EMuTChjVAMvJDa','C2vJDxjPDhK','yxjYyxK','z2v0u2vJDxjPDhLbBMfSExPLCG','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','Dg90ywW','rg9JA2vYzMLSzq','ndGXmtrLC2jjEei','zxH0BMfTzq','zML4','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','Dw5RBM93BG','rNjHBwv3B3jRigrLDgvJDgLVBIbMywLSzwq','igj5DgvZicHTyxGG','zgLYzwn0B3j5','ufLuse9o','DMfSAwrHDgvszwfKqwnJzxnZ','rMfPBgvKihrVigzPEca','CMvTywLUAw5NrxjYB3jZ','AxngAwXL','AZHZ','mZvTDuDmtge','Dg9mB3DLCKnHC2u','yM9VBgvHBG','Bwf4ugfYywXSzwXgAwXLCW','CgfJA2fNzs5QC29U','BNvTyMvY','vg9Vig1HBNKGzMLSzxm6ia','DhLWzxnJCMLWDa','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5Fq','vg9Vig1HBNKGy29UzMLNigzPBgvZoIa','z2v0','ChvZAa','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','odK2nJmWowTVEwPltq','z2v0uhjLDhrPzxjgB3jTyxr0zxi','D29YA2zSB3DZ','Bwf4rMLSzxnqzxjcyxrJAa','y29UzMLN','y29UDgvUDa','D2fYBMLUz3m','qwn0Aw9Uia','mJq0ndCYmtzZy2H1C0W','DgLTzw91Da','mNLwCLPMra','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','rMLSzsbMB3jTyxr0zwqGyw5KihDYAxr0zw4','mtGZnJa4n1bMyu1Sua','D3jPDgvgAwXL','tM8Gyw5HBhL6zxiGyxzHAwXHyMXLigzVCIa','ugfYC2vKifn0yxrPy0fUywX5C2LZihrVB2WGCgfYyw1LDgvYCW','zMLUzenVBMzPz0zPBgvZ','zM9YBwf0DgvK','y3nZ','icHTyxGG','Dg9ju09tDhjPBMC','C3vTBwfYEq','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','CMvZDwX0','CMvHzezPBgu','AxntDxbWB3j0zwq','u3rHDgLJqw5HBhLZAxmGDg9VBcbWyxjZAw5NihbHCMfTzxrLCNm','y2fJAgvnAxnZzxm','AxnbC3LUyW','CgfYC2vbDhrYAwj1DgvZ','ywXSB3DLza','u0vwrvjjvfK','v3jPDguGywnJzxnZigrLBMLLzdOG','zxjYB3i','D3jPDguTzMLSzq','zML4zwq','zMLUzezPBgvZ','q1nt','Agv4','rvHuru5tsu9ox1rpx0XbtKDvquDf','ru5bqKXfx0nbq0Hf','BwfW','ihnLy29UzhmkicaGia','C2L6zq','DxbKyxrL','zgLYBMfTzq'];a0_0x235a=function(){return _0x35a5cd;};return a0_0x235a();}import a0_0x4c0d52 from'path';import a0_0x3d46ea from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x51726f={},_0x76962b=null){const _0x4a7ccc=a0_0x52dc;super(_0x51726f,_0x76962b),this[_0x4a7ccc(0x195)]=!![],this[_0x4a7ccc(0x200)]=![],this['timeout']=_0x51726f['timeout']||STATIC_ANALYSIS[_0x4a7ccc(0x17c)],this['maxConcurrentOperations']=_0x51726f['maxConcurrentOperations']||0x1,this['maxFileSize']=_0x51726f[_0x4a7ccc(0x1aa)]||STATIC_ANALYSIS['MAX_FILE_SIZE_FOR_ANALYSIS'],this[_0x4a7ccc(0x1e6)]=_0x51726f['maxFilesPerBatch']||STATIC_ANALYSIS[_0x4a7ccc(0x153)],this['enableCache']=_0x51726f[_0x4a7ccc(0x231)]!==![]&&STATIC_ANALYSIS[_0x4a7ccc(0x20c)],this['analysisCache']=new Map(),this[_0x4a7ccc(0x1a0)]=STATIC_ANALYSIS['CACHE_DURATION'],this[_0x4a7ccc(0x178)]=_0x51726f[_0x4a7ccc(0x178)]!==![],this['maxParallelFiles']=_0x51726f['maxParallelFiles']||0xa,this[_0x4a7ccc(0x222)]=_0x51726f[_0x4a7ccc(0x222)]!==![],this[_0x4a7ccc(0x1ba)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x4a7ccc(0x15c)]=new a0_0x49e066(_0x51726f,_0x76962b),this['analyzers']={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this[_0x4a7ccc(0x216)]={'prettier':null};}['getDescription'](){const _0x2e98c4=a0_0x52dc;return _0x2e98c4(0x198)+Math[_0x2e98c4(0x237)](this[_0x2e98c4(0x1aa)]/0x400/0x400)+_0x2e98c4(0x232)+this['maxFilesPerBatch']+'\x20files\x20per\x20operation\x0a-\x20Analysis\x20timeout:\x20'+this[_0x2e98c4(0x1ec)]/0x3e8+_0x2e98c4(0x20e);}[a0_0x4f6215(0x217)](_0x4e4cbc){const _0x548714=a0_0x4f6215;try{const _0x5491fc={},_0x1e4d92=[];this[_0x548714(0x185)]?.['debug'](_0x548714(0x1fe),{'contentLength':_0x4e4cbc['length'],'contentPreview':_0x4e4cbc[_0x548714(0x186)](0x0,0xc8)});const _0x24ad70=/<analyze\s+(.+?)\/>/g;let _0x199e2a;while((_0x199e2a=_0x24ad70['exec'](_0x4e4cbc))!==null){const _0x2309de=_0x199e2a[0x1][_0x548714(0x1a1)](),_0x348984=new a0_0x29c523(),_0x28dda4=_0x348984[_0x548714(0x201)](_0x2309de),_0x48b1ea={'type':_0x548714(0x15e),..._0x28dda4};_0x48b1ea[_0x548714(0x1bf)]&&(_0x48b1ea['filePath']=_0x48b1ea[_0x548714(0x1bf)],delete _0x48b1ea['file-path']),_0x48b1ea['include-warnings']&&(_0x48b1ea[_0x548714(0x18d)]=_0x48b1ea['include-warnings']===_0x548714(0x1b4),delete _0x48b1ea[_0x548714(0x16e)]),_0x48b1ea['max-errors']&&(_0x48b1ea[_0x548714(0x184)]=parseInt(_0x48b1ea['max-errors'],0xa),delete _0x48b1ea[_0x548714(0x22c)]),_0x1e4d92['push'](_0x48b1ea);}const _0x178936=/<analyze-project\s+(.+?)\/>/g;while((_0x199e2a=_0x178936['exec'](_0x4e4cbc))!==null){const _0x52674c=_0x199e2a[0x1]['trim'](),_0x4bc2bf=new a0_0x29c523(),_0x569118=_0x4bc2bf['parseAttributes'](_0x52674c),_0x5754a7={'type':_0x548714(0x18a),..._0x569118};_0x5754a7[_0x548714(0x16e)]&&(_0x5754a7[_0x548714(0x18d)]=_0x5754a7[_0x548714(0x16e)]===_0x548714(0x1b4),delete _0x5754a7['include-warnings']),_0x5754a7[_0x548714(0x22c)]&&(_0x5754a7[_0x548714(0x184)]=parseInt(_0x5754a7[_0x548714(0x22c)],0xa),delete _0x5754a7[_0x548714(0x22c)]),_0x1e4d92[_0x548714(0x1e1)](_0x5754a7);}const _0x497ad3=/<fix\s+(.+?)\/>/g;while((_0x199e2a=_0x497ad3['exec'](_0x4e4cbc))!==null){const _0x292665=_0x199e2a[0x1]['trim'](),_0x208cc6=new a0_0x29c523(),_0x1c412f=_0x208cc6['parseAttributes'](_0x292665),_0x2da9a7={'type':_0x548714(0x1ca),..._0x1c412f};_0x2da9a7['file-path']&&(_0x2da9a7[_0x548714(0x173)]=_0x2da9a7['file-path'],delete _0x2da9a7[_0x548714(0x1bf)]),_0x2da9a7[_0x548714(0x206)]&&(_0x2da9a7['writeFile']=_0x2da9a7['write-file']==='true',delete _0x2da9a7['write-file']),_0x1e4d92['push'](_0x2da9a7);}const _0x32efdc=/<format\s+(.+?)\/>/g;while((_0x199e2a=_0x32efdc['exec'](_0x4e4cbc))!==null){const _0x23e254=_0x199e2a[0x1]['trim'](),_0x322931=new a0_0x29c523(),_0x249731=_0x322931['parseAttributes'](_0x23e254),_0x430992={'type':'format',..._0x249731};_0x430992['file-path']&&(_0x430992['filePath']=_0x430992[_0x548714(0x1bf)],delete _0x430992['file-path']),_0x430992[_0x548714(0x206)]&&(_0x430992['writeFile']=_0x430992[_0x548714(0x206)]==='true',delete _0x430992[_0x548714(0x206)]),_0x1e4d92[_0x548714(0x1e1)](_0x430992);}const _0x5240f0=/<security-scan\s+(.+?)\/>/g;while((_0x199e2a=_0x5240f0['exec'](_0x4e4cbc))!==null){const _0x40175b=_0x199e2a[0x1]['trim'](),_0x1dd85a=new a0_0x29c523(),_0x3254f9=_0x1dd85a['parseAttributes'](_0x40175b),_0xf6cdf9={'type':'security-scan',..._0x3254f9};_0xf6cdf9['file-path']&&(_0xf6cdf9[_0x548714(0x173)]=_0xf6cdf9['file-path'],delete _0xf6cdf9[_0x548714(0x1bf)]),_0xf6cdf9[_0x548714(0x215)]&&(_0xf6cdf9[_0x548714(0x15d)]=_0xf6cdf9[_0x548714(0x215)]==='true',delete _0xf6cdf9[_0x548714(0x215)]),_0x1e4d92['push'](_0xf6cdf9);}const _0x29b403=/<security-scan-project\s+(.+?)\/>/g;while((_0x199e2a=_0x29b403[_0x548714(0x154)](_0x4e4cbc))!==null){const _0x4338e0=_0x199e2a[0x1]['trim'](),_0x33760d=new a0_0x29c523(),_0x57c21d=_0x33760d['parseAttributes'](_0x4338e0),_0x5e0173={'type':'security-scan-project',..._0x57c21d};_0x5e0173['skip-test-files']&&(_0x5e0173[_0x548714(0x15d)]=_0x5e0173['skip-test-files']===_0x548714(0x1b4),delete _0x5e0173[_0x548714(0x215)]),_0x1e4d92['push'](_0x5e0173);}const _0x153d49=/<validate-config\s+(.+?)\/>/g;while((_0x199e2a=_0x153d49['exec'](_0x4e4cbc))!==null){const _0x2000c6=_0x199e2a[0x1][_0x548714(0x1a1)](),_0x1a31be=new a0_0x29c523(),_0x406818=_0x1a31be['parseAttributes'](_0x2000c6),_0x411539={'type':'validate-config',..._0x406818};_0x411539[_0x548714(0x1bf)]&&(_0x411539[_0x548714(0x173)]=_0x411539['file-path'],delete _0x411539['file-path']),_0x1e4d92['push'](_0x411539);}const _0x411289=/<validate-config-directory\s+(.+?)\/>/g;while((_0x199e2a=_0x411289['exec'](_0x4e4cbc))!==null){const _0xe4d455=_0x199e2a[0x1][_0x548714(0x1a1)](),_0xf489b0=new a0_0x29c523(),_0x1424dc=_0xf489b0['parseAttributes'](_0xe4d455),_0x46ab64={'type':'validate-config-directory',..._0x1424dc};_0x1e4d92['push'](_0x46ab64);}return _0x5491fc['actions']=_0x1e4d92,_0x5491fc[_0x548714(0x21f)]=_0x4e4cbc['trim'](),this[_0x548714(0x185)]?.[_0x548714(0x19a)](_0x548714(0x1f3),{'totalActions':_0x1e4d92['length'],'actionTypes':_0x1e4d92[_0x548714(0x20d)](_0x4a49b4=>_0x4a49b4[_0x548714(0x218)])}),_0x5491fc;}catch(_0x81b1b9){throw new Error(_0x548714(0x233)+_0x81b1b9[_0x548714(0x1a7)]);}}[a0_0x4f6215(0x1e2)](){const _0x3e8756=a0_0x4f6215;return[_0x3e8756(0x1b5)];}['customValidateParameters'](_0x19af79){const _0x2fb2c1=a0_0x4f6215,_0x202188=[];if(!_0x19af79['actions']||!Array['isArray'](_0x19af79[_0x2fb2c1(0x1b5)])||_0x19af79['actions'][_0x2fb2c1(0x196)]===0x0)_0x202188['push']('At\x20least\x20one\x20action\x20is\x20required');else{for(const [_0x57a2f4,_0x1c6b36]of _0x19af79['actions']['entries']()){if(!_0x1c6b36['type']){_0x202188['push'](_0x2fb2c1(0x1ea)+(_0x57a2f4+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x1c6b36[_0x2fb2c1(0x218)]){case'analyze':!_0x1c6b36['filePath']&&_0x202188['push']('Action\x20'+(_0x57a2f4+0x1)+':\x20file-path\x20is\x20required\x20for\x20analyze');break;case _0x2fb2c1(0x18a):!_0x1c6b36['directory']&&_0x202188[_0x2fb2c1(0x1e1)]('Action\x20'+(_0x57a2f4+0x1)+_0x2fb2c1(0x1c1));break;case _0x2fb2c1(0x1ca):!_0x1c6b36[_0x2fb2c1(0x173)]&&_0x202188[_0x2fb2c1(0x1e1)](_0x2fb2c1(0x1ea)+(_0x57a2f4+0x1)+':\x20file-path\x20is\x20required\x20for\x20fix');break;case'format':!_0x1c6b36[_0x2fb2c1(0x173)]&&_0x202188['push']('Action\x20'+(_0x57a2f4+0x1)+':\x20file-path\x20is\x20required\x20for\x20format');break;case'security-scan':!_0x1c6b36[_0x2fb2c1(0x173)]&&_0x202188[_0x2fb2c1(0x1e1)]('Action\x20'+(_0x57a2f4+0x1)+':\x20file-path\x20is\x20required\x20for\x20security-scan');break;case _0x2fb2c1(0x1cb):!_0x1c6b36['directory']&&_0x202188[_0x2fb2c1(0x1e1)](_0x2fb2c1(0x1ea)+(_0x57a2f4+0x1)+_0x2fb2c1(0x162));break;case'validate-config':!_0x1c6b36[_0x2fb2c1(0x173)]&&_0x202188['push']('Action\x20'+(_0x57a2f4+0x1)+_0x2fb2c1(0x1c5));break;case'validate-config-directory':!_0x1c6b36[_0x2fb2c1(0x1cf)]&&_0x202188['push'](_0x2fb2c1(0x1ea)+(_0x57a2f4+0x1)+':\x20directory\x20is\x20required\x20for\x20validate-config-directory');break;default:_0x202188[_0x2fb2c1(0x1e1)](_0x2fb2c1(0x1ea)+(_0x57a2f4+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x1c6b36['type']);}}_0x19af79['actions']['length']>this['maxFilesPerBatch']&&_0x202188['push'](_0x2fb2c1(0x19f)+_0x19af79[_0x2fb2c1(0x1b5)][_0x2fb2c1(0x196)]+_0x2fb2c1(0x1f7)+this['maxFilesPerBatch']+')');}return{'valid':_0x202188['length']===0x0,'errors':_0x202188};}async[a0_0x4f6215(0x189)](_0x1bf6a0,_0x4baabf){const _0x5c924d=a0_0x4f6215,{actions:_0x5c1af7}=_0x1bf6a0,{projectDir:_0x7c6617,agentId:_0x83354a,directoryAccess:_0x2500d5}=_0x4baabf,_0x38cdf3=_0x2500d5||this[_0x5c924d(0x15c)]['createDirectoryAccess']({'workingDirectory':_0x7c6617||process[_0x5c924d(0x170)](),'writeEnabledDirectories':[_0x7c6617||process['cwd']()],'restrictToProject':!![]}),_0x4bfd81=this[_0x5c924d(0x15c)]['getWorkingDirectory'](_0x38cdf3),_0x54744d={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x2905bb of _0x5c1af7){try{let _0xe5935;switch(_0x2905bb[_0x5c924d(0x218)]){case _0x5c924d(0x15e):_0xe5935=await this['analyzeFile'](_0x2905bb[_0x5c924d(0x173)],_0x4bfd81,_0x38cdf3,_0x2905bb);_0xe5935&&(_0x54744d[_0x5c924d(0x168)][_0x5c924d(0x1e1)](_0xe5935),this['updateSummary'](_0x54744d[_0x5c924d(0x1f9)],_0xe5935));break;case'analyze-project':const _0x3b99f7=await this[_0x5c924d(0x1be)](_0x2905bb[_0x5c924d(0x1cf)],_0x2905bb[_0x5c924d(0x177)],_0x4bfd81,_0x38cdf3,_0x2905bb);_0x54744d[_0x5c924d(0x168)]['push'](..._0x3b99f7);for(const _0x5369cb of _0x3b99f7){this[_0x5c924d(0x160)](_0x54744d[_0x5c924d(0x1f9)],_0x5369cb);}break;case'fix':_0xe5935=await this[_0x5c924d(0x19c)](_0x2905bb['filePath'],_0x4bfd81,_0x38cdf3,_0x2905bb);_0xe5935&&_0x54744d['files'][_0x5c924d(0x1e1)](_0xe5935);break;case _0x5c924d(0x225):_0xe5935=await this['formatFile'](_0x2905bb[_0x5c924d(0x173)],_0x4bfd81,_0x38cdf3,_0x2905bb);_0xe5935&&_0x54744d['files']['push'](_0xe5935);break;case _0x5c924d(0x16d):_0xe5935=await this['securityScanFile'](_0x2905bb['filePath'],_0x4bfd81,_0x38cdf3,_0x2905bb);_0xe5935&&(_0x54744d[_0x5c924d(0x168)][_0x5c924d(0x1e1)](_0xe5935),this['updateSummary'](_0x54744d[_0x5c924d(0x1f9)],_0xe5935));break;case _0x5c924d(0x1cb):const _0x45f6c0=await this['securityScanProject'](_0x2905bb[_0x5c924d(0x1cf)],_0x2905bb['pattern'],_0x4bfd81,_0x38cdf3,_0x2905bb);_0x54744d['files'][_0x5c924d(0x1e1)](..._0x45f6c0);for(const _0x47735a of _0x45f6c0){this['updateSummary'](_0x54744d[_0x5c924d(0x1f9)],_0x47735a);}break;case'validate-config':_0xe5935=await this[_0x5c924d(0x161)](_0x2905bb['filePath'],_0x4bfd81,_0x38cdf3,_0x2905bb);_0xe5935&&(_0x54744d[_0x5c924d(0x168)][_0x5c924d(0x1e1)](_0xe5935),this[_0x5c924d(0x160)](_0x54744d['summary'],_0xe5935));break;case _0x5c924d(0x151):const _0x457b40=await this[_0x5c924d(0x22b)](_0x2905bb['directory'],_0x4bfd81,_0x38cdf3,_0x2905bb);_0x54744d[_0x5c924d(0x168)]['push'](..._0x457b40);for(const _0x33b2d2 of _0x457b40){this[_0x5c924d(0x160)](_0x54744d[_0x5c924d(0x1f9)],_0x33b2d2);}break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x2905bb['type']);}}catch(_0x1f4f01){this[_0x5c924d(0x185)]?.[_0x5c924d(0x205)]('Static\x20analysis\x20action\x20failed',{'action':_0x2905bb[_0x5c924d(0x218)],'error':_0x1f4f01[_0x5c924d(0x1a7)]}),_0x54744d[_0x5c924d(0x168)][_0x5c924d(0x1e1)]({'file':_0x2905bb[_0x5c924d(0x173)]||_0x2905bb['directory'],'error':_0x1f4f01[_0x5c924d(0x1a7)],'success':![]});}}return{'success':!![],'results':_0x54744d,'toolUsed':'staticanalysis','performance':this['getPerformanceMetrics']()};}async['analyzeFile'](_0x533a7c,_0x580977,_0x24a283,_0x3326b4={}){const _0x2088e1=a0_0x4f6215,_0x285198=a0_0x4c0d52[_0x2088e1(0x1ad)](_0x533a7c)?a0_0x4c0d52[_0x2088e1(0x227)](_0x533a7c):a0_0x4c0d52[_0x2088e1(0x1bb)](_0x580977,_0x533a7c),_0x4cda4a=this[_0x2088e1(0x15c)]['validateReadAccess'](_0x285198,_0x24a283);if(!_0x4cda4a['allowed'])throw new Error(_0x2088e1(0x1a6)+_0x4cda4a['reason']);try{const _0x1fc690=await a0_0xf3ef7c['stat'](_0x285198);if(_0x1fc690[_0x2088e1(0x20f)]>this[_0x2088e1(0x1aa)])throw new Error('File\x20too\x20large:\x20'+_0x1fc690['size']+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x29a70c=this['detectLanguage'](_0x285198);if(!_0x29a70c)return{'file':this[_0x2088e1(0x15c)][_0x2088e1(0x1a3)](_0x285198,_0x24a283),'fullPath':_0x285198,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x2088e1(0x214)};const _0x2aad19=await a0_0xf3ef7c['readFile'](_0x285198,'utf-8'),_0x8cfcb9=this[_0x2088e1(0x222)]?this[_0x2088e1(0x229)](_0x2aad19):null,_0x3c134b=this['useContentHash']?_0x285198+':'+_0x8cfcb9:_0x285198+':'+_0x1fc690['mtime']['getTime']();if(this['enableCache']&&this['analysisCache'][_0x2088e1(0x188)](_0x3c134b)){const _0x1bfb40=this[_0x2088e1(0x15f)][_0x2088e1(0x1e0)](_0x3c134b);if(Date['now']()-_0x1bfb40[_0x2088e1(0x235)]<this[_0x2088e1(0x1a0)])return this['logger']?.['debug'](_0x2088e1(0x22e),{'file':_0x285198}),this['metrics']['cacheHits']++,this['metrics']['totalAnalyses']++,_0x1bfb40[_0x2088e1(0x1fb)];}this[_0x2088e1(0x1ba)][_0x2088e1(0x1ff)]++,this[_0x2088e1(0x1ba)]['totalAnalyses']++;const _0x1ef97a=await this['getAnalyzer'](_0x29a70c);if(!_0x1ef97a)return{'file':this[_0x2088e1(0x15c)][_0x2088e1(0x1a3)](_0x285198,_0x24a283),'fullPath':_0x285198,'language':_0x29a70c,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x2088e1(0x1f2)+_0x29a70c};const _0x2562ac=Date['now'](),_0x2ca9fa=await _0x1ef97a['analyze'](_0x285198,_0x2aad19,{'workingDir':_0x580977,'accessConfig':_0x24a283,'framework':await this[_0x2088e1(0x17b)](_0x580977,_0x29a70c)}),_0x24f80f=Date[_0x2088e1(0x1bd)]()-_0x2562ac;this['metrics'][_0x2088e1(0x236)]+=_0x24f80f,this['metrics'][_0x2088e1(0x213)]++;const _0x5b1ff6={'file':this[_0x2088e1(0x15c)]['createRelativePath'](_0x285198,_0x24a283),'fullPath':_0x285198,'language':_0x29a70c,'framework':await this['detectFramework'](_0x580977,_0x29a70c),'errors':_0x2ca9fa['filter'](_0x577a33=>_0x577a33['severity']===STATIC_ANALYSIS[_0x2088e1(0x203)][_0x2088e1(0x212)]),'warnings':_0x3326b4['includeWarnings']!==![]?_0x2ca9fa[_0x2088e1(0x181)](_0x333073=>_0x333073['severity']===STATIC_ANALYSIS['SEVERITY'][_0x2088e1(0x17f)]):[],'info':_0x2ca9fa[_0x2088e1(0x181)](_0x21d579=>_0x21d579['severity']===STATIC_ANALYSIS[_0x2088e1(0x203)][_0x2088e1(0x158)]),'totalIssues':_0x2ca9fa[_0x2088e1(0x196)],'analyzed':!![],'timestamp':new Date()[_0x2088e1(0x1f8)]()};return _0x3326b4[_0x2088e1(0x184)]&&_0x5b1ff6[_0x2088e1(0x18e)]['length']>_0x3326b4['maxErrors']&&(_0x5b1ff6['errors']=_0x5b1ff6['errors']['slice'](0x0,_0x3326b4['maxErrors']),_0x5b1ff6[_0x2088e1(0x1bc)]=!![]),this['enableCache']&&this[_0x2088e1(0x15f)]['set'](_0x3c134b,{'result':_0x5b1ff6,'timestamp':Date[_0x2088e1(0x1bd)]()}),_0x5b1ff6;}catch(_0x38268b){throw new Error('Failed\x20to\x20analyze\x20'+_0x533a7c+':\x20'+_0x38268b['message']);}}async[a0_0x4f6215(0x1be)](_0x2a08ae,_0xfd0f93,_0x2ee6dc,_0x221075,_0x1fbd6d={}){const _0x26d41e=a0_0x4f6215,_0x4e7fff=a0_0x4c0d52[_0x26d41e(0x1ad)](_0x2a08ae)?a0_0x4c0d52[_0x26d41e(0x227)](_0x2a08ae):a0_0x4c0d52[_0x26d41e(0x1bb)](_0x2ee6dc,_0x2a08ae),_0x3666c8=this['directoryAccessManager'][_0x26d41e(0x1d1)](_0x4e7fff,_0x221075);if(!_0x3666c8[_0x26d41e(0x202)])throw new Error(_0x26d41e(0x1a6)+_0x3666c8['reason']);const _0x2cc05a=await this[_0x26d41e(0x208)](_0x4e7fff,_0xfd0f93);if(_0x2cc05a[_0x26d41e(0x196)]>this['maxFilesPerBatch'])throw new Error(_0x26d41e(0x1dc)+_0x2cc05a['length']+_0x26d41e(0x1f7)+this['maxFilesPerBatch']+')');const _0x361e10=[];if(this[_0x26d41e(0x178)]&&_0x2cc05a[_0x26d41e(0x196)]>0x1){this[_0x26d41e(0x185)]?.[_0x26d41e(0x19a)](_0x26d41e(0x155),{'totalFiles':_0x2cc05a['length'],'batchSize':this['maxParallelFiles']});for(let _0xfeb847=0x0;_0xfeb847<_0x2cc05a['length'];_0xfeb847+=this['maxParallelFiles']){const _0x28e667=_0x2cc05a['slice'](_0xfeb847,_0xfeb847+this[_0x26d41e(0x1d9)]);this[_0x26d41e(0x1ba)][_0x26d41e(0x1b7)]++;const _0x18afcc={'completed':_0xfeb847,'total':_0x2cc05a[_0x26d41e(0x196)],'percentage':Math[_0x26d41e(0x237)](_0xfeb847/_0x2cc05a['length']*0x64)};_0x1fbd6d['onProgress']&&_0x1fbd6d[_0x26d41e(0x16a)](_0x18afcc);this[_0x26d41e(0x185)]?.[_0x26d41e(0x19a)](_0x26d41e(0x191),{'batch':Math[_0x26d41e(0x1b2)](_0xfeb847/this['maxParallelFiles'])+0x1,'filesInBatch':_0x28e667[_0x26d41e(0x196)],'progress':_0x18afcc[_0x26d41e(0x19b)]+'/'+_0x18afcc[_0x26d41e(0x1c6)]});const _0x1c34bb=_0x28e667[_0x26d41e(0x20d)](async _0x51676a=>{const _0x428142=_0x26d41e;try{const _0x4c03e7=await this[_0x428142(0x199)](_0x51676a,_0x2ee6dc,_0x221075,_0x1fbd6d);return _0x4c03e7;}catch(_0x411210){return this[_0x428142(0x185)]?.['warn'](_0x428142(0x1fa),{'file':_0x51676a,'error':_0x411210[_0x428142(0x1a7)]}),{'file':this['directoryAccessManager'][_0x428142(0x1a3)](_0x51676a,_0x221075),'fullPath':_0x51676a,'error':_0x411210[_0x428142(0x1a7)],'success':![]};}}),_0xd96b95=await Promise['all'](_0x1c34bb);_0x361e10[_0x26d41e(0x1e1)](..._0xd96b95[_0x26d41e(0x181)](_0x340d2a=>_0x340d2a!==null));}_0x1fbd6d[_0x26d41e(0x16a)]&&_0x1fbd6d[_0x26d41e(0x16a)]({'completed':_0x2cc05a[_0x26d41e(0x196)],'total':_0x2cc05a[_0x26d41e(0x196)],'percentage':0x64});}else for(const _0x21e223 of _0x2cc05a){try{const _0x1d61b2=await this['analyzeFile'](_0x21e223,_0x2ee6dc,_0x221075,_0x1fbd6d);_0x1d61b2&&_0x361e10[_0x26d41e(0x1e1)](_0x1d61b2);}catch(_0x63643d){this['logger']?.[_0x26d41e(0x166)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x21e223,'error':_0x63643d['message']}),_0x361e10[_0x26d41e(0x1e1)]({'file':this[_0x26d41e(0x15c)]['createRelativePath'](_0x21e223,_0x221075),'fullPath':_0x21e223,'error':_0x63643d['message'],'success':![]});}}return _0x361e10;}async['fixFile'](_0x1afd17,_0x15fcd7,_0x157220,_0x29c165={}){const _0x3e3a61=a0_0x4f6215,_0x1ee45f=a0_0x4c0d52['isAbsolute'](_0x1afd17)?a0_0x4c0d52['normalize'](_0x1afd17):a0_0x4c0d52[_0x3e3a61(0x1bb)](_0x15fcd7,_0x1afd17),_0x11cae8=this['directoryAccessManager']['validateReadAccess'](_0x1ee45f,_0x157220);if(!_0x11cae8[_0x3e3a61(0x202)])throw new Error(_0x3e3a61(0x1a6)+_0x11cae8[_0x3e3a61(0x194)]);if(_0x29c165[_0x3e3a61(0x1f1)]){const _0x5e27cc=this['directoryAccessManager'][_0x3e3a61(0x1b3)](_0x1ee45f,_0x157220);if(!_0x5e27cc[_0x3e3a61(0x202)])throw new Error(_0x3e3a61(0x204)+_0x5e27cc['reason']);}try{const _0x1da388=await a0_0xf3ef7c['readFile'](_0x1ee45f,'utf-8'),_0x28536a=await this[_0x3e3a61(0x150)](),_0xbea195=await _0x28536a[_0x3e3a61(0x1ca)](_0x1ee45f,_0x1da388,{'workingDir':_0x15fcd7,'accessConfig':_0x157220,'framework':await this['detectFramework'](_0x15fcd7,this['detectLanguage'](_0x1ee45f))});return _0x29c165['writeFile']&&_0xbea195[_0x3e3a61(0x207)]&&(await a0_0xf3ef7c['writeFile'](_0x1ee45f,_0xbea195[_0x3e3a61(0x1e8)],_0x3e3a61(0x182)),this['logger']?.['info']('File\x20fixed\x20and\x20written',{'file':_0x1ee45f})),{'file':this[_0x3e3a61(0x15c)]['createRelativePath'](_0x1ee45f,_0x157220),'fullPath':_0x1ee45f,'action':'fix','fixed':_0xbea195[_0x3e3a61(0x207)],'fixedCount':_0xbea195['fixedCount'],'remainingErrors':_0xbea195[_0x3e3a61(0x1d3)],'remainingWarnings':_0xbea195['remainingWarnings'],'changes':_0xbea195[_0x3e3a61(0x176)],'written':!!(_0x29c165[_0x3e3a61(0x1f1)]&&_0xbea195[_0x3e3a61(0x207)]),'preview':!_0x29c165['writeFile']&&_0xbea195[_0x3e3a61(0x207)]?_0xbea195['content']:undefined};}catch(_0xe2c339){throw new Error(_0x3e3a61(0x1d2)+_0x1afd17+':\x20'+_0xe2c339[_0x3e3a61(0x1a7)]);}}async['formatFile'](_0x44670e,_0x531a5e,_0x159c1c,_0x29ef6a={}){const _0x44abfa=a0_0x4f6215,_0x4e3bbb=a0_0x4c0d52[_0x44abfa(0x1ad)](_0x44670e)?a0_0x4c0d52[_0x44abfa(0x227)](_0x44670e):a0_0x4c0d52['resolve'](_0x531a5e,_0x44670e),_0x54c95e=this['directoryAccessManager']['validateReadAccess'](_0x4e3bbb,_0x159c1c);if(!_0x54c95e[_0x44abfa(0x202)])throw new Error(_0x44abfa(0x1a6)+_0x54c95e['reason']);if(_0x29ef6a[_0x44abfa(0x1f1)]){const _0x343e87=this[_0x44abfa(0x15c)]['validateWriteAccess'](_0x4e3bbb,_0x159c1c);if(!_0x343e87[_0x44abfa(0x202)])throw new Error('Write\x20access\x20denied:\x20'+_0x343e87['reason']);}try{const _0x138579=await a0_0xf3ef7c['readFile'](_0x4e3bbb,_0x44abfa(0x182)),_0x246d3b=await this[_0x44abfa(0x1e4)]();if(!_0x246d3b[_0x44abfa(0x1fd)](_0x4e3bbb))return{'file':this['directoryAccessManager']['createRelativePath'](_0x4e3bbb,_0x159c1c),'fullPath':_0x4e3bbb,'action':_0x44abfa(0x225),'formatted':![],'skipped':!![],'skipReason':'File\x20type\x20not\x20supported\x20by\x20Prettier'};const _0x5779c6=await _0x246d3b['format'](_0x4e3bbb,_0x138579,{'workingDir':_0x531a5e,'accessConfig':_0x159c1c});return _0x29ef6a['writeFile']&&_0x5779c6[_0x44abfa(0x1f5)]&&(await a0_0xf3ef7c['writeFile'](_0x4e3bbb,_0x5779c6[_0x44abfa(0x1e8)],_0x44abfa(0x182)),this[_0x44abfa(0x185)]?.[_0x44abfa(0x1ab)](_0x44abfa(0x1ef),{'file':_0x4e3bbb})),{'file':this['directoryAccessManager']['createRelativePath'](_0x4e3bbb,_0x159c1c),'fullPath':_0x4e3bbb,'action':'format','formatted':_0x5779c6['formatted'],'linesChanged':_0x5779c6['linesChanged'],'changes':_0x5779c6[_0x44abfa(0x176)],'written':!!(_0x29ef6a['writeFile']&&_0x5779c6[_0x44abfa(0x1f5)]),'preview':!_0x29ef6a['writeFile']&&_0x5779c6[_0x44abfa(0x1f5)]?_0x5779c6['content']:undefined};}catch(_0x40eda9){throw new Error('Failed\x20to\x20format\x20'+_0x44670e+':\x20'+_0x40eda9[_0x44abfa(0x1a7)]);}}async['securityScanFile'](_0x51073c,_0x4cfe67,_0x554212,_0x4b6496={}){const _0x2433e7=a0_0x4f6215,_0x5746b9=a0_0x4c0d52[_0x2433e7(0x1ad)](_0x51073c)?a0_0x4c0d52['normalize'](_0x51073c):a0_0x4c0d52['resolve'](_0x4cfe67,_0x51073c),_0x359266=this['directoryAccessManager'][_0x2433e7(0x1d1)](_0x5746b9,_0x554212);if(!_0x359266['allowed'])throw new Error(_0x2433e7(0x1a6)+_0x359266['reason']);try{const _0x4ca1d6=await a0_0xf3ef7c[_0x2433e7(0x174)](_0x5746b9);if(_0x4ca1d6['size']>this[_0x2433e7(0x1aa)])throw new Error('File\x20too\x20large:\x20'+_0x4ca1d6['size']+_0x2433e7(0x1ce)+this[_0x2433e7(0x1aa)]+')');const _0x14188e=this[_0x2433e7(0x221)](_0x5746b9);if(!_0x14188e||!['javascript',_0x2433e7(0x1dd),_0x2433e7(0x17e)][_0x2433e7(0x1a4)](_0x14188e))return{'file':this[_0x2433e7(0x15c)][_0x2433e7(0x1a3)](_0x5746b9,_0x554212),'fullPath':_0x5746b9,'language':_0x14188e||_0x2433e7(0x1cc),'issues':[],'skipped':!![],'skipReason':'Security\x20scanning\x20only\x20supports\x20JavaScript,\x20TypeScript,\x20and\x20Python\x20files'};const _0x8f246=await a0_0xf3ef7c['readFile'](_0x5746b9,'utf-8'),_0x9b14fc=await this[_0x2433e7(0x1c4)](),_0x4e99b3=await _0x9b14fc[_0x2433e7(0x15e)](_0x5746b9,_0x8f246,{'skipTestFiles':_0x4b6496[_0x2433e7(0x15d)]!==![]}),_0x2285d7={'file':this['directoryAccessManager'][_0x2433e7(0x1a3)](_0x5746b9,_0x554212),'fullPath':_0x5746b9,'language':_0x14188e,'action':_0x2433e7(0x16d),'critical':_0x4e99b3[_0x2433e7(0x181)](_0x48d477=>_0x48d477['severity']===STATIC_ANALYSIS[_0x2433e7(0x203)]['CRITICAL']),'errors':_0x4e99b3['filter'](_0x4c0dae=>_0x4c0dae['severity']===STATIC_ANALYSIS[_0x2433e7(0x203)][_0x2433e7(0x212)]),'warnings':_0x4e99b3[_0x2433e7(0x181)](_0x4dee4f=>_0x4dee4f['severity']===STATIC_ANALYSIS[_0x2433e7(0x203)]['WARNING']),'info':_0x4e99b3[_0x2433e7(0x181)](_0x3d203f=>_0x3d203f[_0x2433e7(0x1ae)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x4e99b3[_0x2433e7(0x196)],'analyzed':!![],'scannersUsed':_0x4e99b3['map'](_0x3b6f1f=>_0x3b6f1f[_0x2433e7(0x190)])['filter']((_0x3d195d,_0x192af2,_0x394871)=>_0x394871[_0x2433e7(0x180)](_0x3d195d)===_0x192af2),'timestamp':new Date()['toISOString']()};return _0x2285d7;}catch(_0x15d43a){throw new Error('Failed\x20to\x20security\x20scan\x20'+_0x51073c+':\x20'+_0x15d43a[_0x2433e7(0x1a7)]);}}async['securityScanProject'](_0x3e3633,_0x95c4a,_0x225f43,_0x4e8e3a,_0x23f71a={}){const _0x1dce18=a0_0x4f6215,_0x10ac8f=a0_0x4c0d52[_0x1dce18(0x1ad)](_0x3e3633)?a0_0x4c0d52[_0x1dce18(0x227)](_0x3e3633):a0_0x4c0d52[_0x1dce18(0x1bb)](_0x225f43,_0x3e3633),_0x16b1f1=this[_0x1dce18(0x15c)]['validateReadAccess'](_0x10ac8f,_0x4e8e3a);if(!_0x16b1f1['allowed'])throw new Error(_0x1dce18(0x1a6)+_0x16b1f1['reason']);const _0x3993bb=await this['getSecurityAnalyzer'](),_0x442214=await _0x3993bb['analyzeProject'](_0x10ac8f,'javascript',_0x23f71a),_0x5a9954=_0x95c4a||_0x1dce18(0x1de),_0x1ad82f=await this[_0x1dce18(0x208)](_0x10ac8f,_0x5a9954);if(_0x1ad82f[_0x1dce18(0x196)]>this[_0x1dce18(0x1e6)])throw new Error(_0x1dce18(0x1dc)+_0x1ad82f[_0x1dce18(0x196)]+_0x1dce18(0x1f7)+this['maxFilesPerBatch']+')');const _0x3f42b3=[];if(this['parallelAnalysis']&&_0x1ad82f['length']>0x1){this[_0x1dce18(0x185)]?.[_0x1dce18(0x19a)](_0x1dce18(0x17d),{'totalFiles':_0x1ad82f[_0x1dce18(0x196)],'batchSize':this['maxParallelFiles']});for(let _0x1bb179=0x0;_0x1bb179<_0x1ad82f['length'];_0x1bb179+=this['maxParallelFiles']){const _0x3a6383=_0x1ad82f['slice'](_0x1bb179,_0x1bb179+this[_0x1dce18(0x1d9)]);_0x23f71a[_0x1dce18(0x16a)]&&_0x23f71a['onProgress']({'completed':_0x1bb179,'total':_0x1ad82f[_0x1dce18(0x196)],'percentage':Math['round'](_0x1bb179/_0x1ad82f[_0x1dce18(0x196)]*0x64)});const _0x570077=_0x3a6383[_0x1dce18(0x20d)](async _0x309199=>{const _0x3ca33f=_0x1dce18;try{return await this['securityScanFile'](_0x309199,_0x225f43,_0x4e8e3a,_0x23f71a);}catch(_0xc9820f){return this['logger']?.[_0x3ca33f(0x166)](_0x3ca33f(0x179),{'file':_0x309199,'error':_0xc9820f[_0x3ca33f(0x1a7)]}),{'file':this[_0x3ca33f(0x15c)]['createRelativePath'](_0x309199,_0x4e8e3a),'fullPath':_0x309199,'error':_0xc9820f['message'],'success':![]};}}),_0x4c09f9=await Promise[_0x1dce18(0x187)](_0x570077);_0x3f42b3['push'](..._0x4c09f9[_0x1dce18(0x181)](_0x1a1a95=>_0x1a1a95!==null));}_0x23f71a[_0x1dce18(0x16a)]&&_0x23f71a[_0x1dce18(0x16a)]({'completed':_0x1ad82f[_0x1dce18(0x196)],'total':_0x1ad82f[_0x1dce18(0x196)],'percentage':0x64});}else for(const _0x44f70d of _0x1ad82f){try{const _0x15c99f=await this['securityScanFile'](_0x44f70d,_0x225f43,_0x4e8e3a,_0x23f71a);_0x15c99f&&_0x3f42b3['push'](_0x15c99f);}catch(_0x412914){this[_0x1dce18(0x185)]?.[_0x1dce18(0x166)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x44f70d,'error':_0x412914[_0x1dce18(0x1a7)]}),_0x3f42b3['push']({'file':this[_0x1dce18(0x15c)][_0x1dce18(0x1a3)](_0x44f70d,_0x4e8e3a),'fullPath':_0x44f70d,'error':_0x412914['message'],'success':![]});}}return _0x442214[_0x1dce18(0x196)]>0x0&&_0x3f42b3['push']({'file':a0_0x4c0d52[_0x1dce18(0x22d)](_0x10ac8f,'package.json'),'fullPath':a0_0x4c0d52['join'](_0x10ac8f,_0x1dce18(0x1da)),'action':_0x1dce18(0x18f),'critical':_0x442214['filter'](_0x39a206=>_0x39a206['severity']===STATIC_ANALYSIS[_0x1dce18(0x203)]['CRITICAL']),'errors':_0x442214['filter'](_0x2d533a=>_0x2d533a[_0x1dce18(0x1ae)]===STATIC_ANALYSIS['SEVERITY'][_0x1dce18(0x212)]),'warnings':_0x442214['filter'](_0x53037c=>_0x53037c['severity']===STATIC_ANALYSIS[_0x1dce18(0x203)][_0x1dce18(0x17f)]),'info':_0x442214['filter'](_0x4c2f5f=>_0x4c2f5f['severity']===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x442214['length'],'analyzed':!![],'scannersUsed':['npm-audit'],'timestamp':new Date()[_0x1dce18(0x1f8)]()}),_0x3f42b3;}async[a0_0x4f6215(0x161)](_0x1ea9f6,_0x3da9bd,_0x4ae037,_0x134cfd={}){const _0xc883ef=a0_0x4f6215,_0xd5dead=a0_0x4c0d52['isAbsolute'](_0x1ea9f6)?a0_0x4c0d52['normalize'](_0x1ea9f6):a0_0x4c0d52[_0xc883ef(0x1bb)](_0x3da9bd,_0x1ea9f6),_0x43d8e8=this['directoryAccessManager'][_0xc883ef(0x1d1)](_0xd5dead,_0x4ae037);if(!_0x43d8e8['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x43d8e8['reason']);try{const _0x421795=await a0_0xf3ef7c[_0xc883ef(0x174)](_0xd5dead);if(_0x421795[_0xc883ef(0x20f)]>this[_0xc883ef(0x1aa)])throw new Error(_0xc883ef(0x22a)+_0x421795['size']+'\x20bytes\x20(max\x20'+this[_0xc883ef(0x1aa)]+')');const _0x4f60d8=await this['getConfigValidator'](),_0x1a36e6=await _0x4f60d8[_0xc883ef(0x16b)](_0xd5dead,_0x134cfd),_0x20496f={'file':this[_0xc883ef(0x15c)]['createRelativePath'](_0xd5dead,_0x4ae037),'fullPath':_0xd5dead,'action':_0xc883ef(0x16f),'critical':_0x1a36e6['filter'](_0x33b9ec=>_0x33b9ec['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x1a36e6[_0xc883ef(0x181)](_0x146f4f=>_0x146f4f['severity']===STATIC_ANALYSIS[_0xc883ef(0x203)]['ERROR']),'warnings':_0x1a36e6[_0xc883ef(0x181)](_0x5b685c=>_0x5b685c['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x1a36e6['filter'](_0x32ab41=>_0x32ab41[_0xc883ef(0x1ae)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x1a36e6['length'],'analyzed':!![],'validatorsUsed':_0x1a36e6[_0xc883ef(0x20d)](_0x3b2200=>_0x3b2200['validator'])['filter']((_0xac826c,_0x5512e6,_0x5126a8)=>_0x5126a8[_0xc883ef(0x180)](_0xac826c)===_0x5512e6),'timestamp':new Date()[_0xc883ef(0x1f8)]()};return _0x20496f;}catch(_0x335aeb){throw new Error(_0xc883ef(0x224)+_0x1ea9f6+':\x20'+_0x335aeb['message']);}}async['validateConfigDirectory'](_0x1092a3,_0x1c7545,_0x54ab27,_0x438836={}){const _0x1204e4=a0_0x4f6215,_0xcefa02=a0_0x4c0d52[_0x1204e4(0x1ad)](_0x1092a3)?a0_0x4c0d52[_0x1204e4(0x227)](_0x1092a3):a0_0x4c0d52[_0x1204e4(0x1bb)](_0x1c7545,_0x1092a3),_0x545789=this[_0x1204e4(0x15c)][_0x1204e4(0x1d1)](_0xcefa02,_0x54ab27);if(!_0x545789['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x545789[_0x1204e4(0x194)]);const _0x2aaed1=await this[_0x1204e4(0x1f4)](_0xcefa02);if(_0x2aaed1['length']>this[_0x1204e4(0x1e6)])throw new Error(_0x1204e4(0x1df)+_0x2aaed1['length']+_0x1204e4(0x1f7)+this['maxFilesPerBatch']+')');const _0x437112=[];for(const _0x1eb28c of _0x2aaed1){try{const _0x61170e=await this[_0x1204e4(0x161)](_0x1eb28c,_0x1c7545,_0x54ab27,_0x438836);_0x61170e&&_0x437112['push'](_0x61170e);}catch(_0x332b7f){this['logger']?.[_0x1204e4(0x166)]('Failed\x20to\x20validate\x20config\x20file',{'file':_0x1eb28c,'error':_0x332b7f['message']}),_0x437112[_0x1204e4(0x1e1)]({'file':this[_0x1204e4(0x15c)]['createRelativePath'](_0x1eb28c,_0x54ab27),'fullPath':_0x1eb28c,'error':_0x332b7f[_0x1204e4(0x1a7)],'success':![]});}}return _0x437112;}async['findConfigFiles'](_0x58f821){const _0x39ba13=a0_0x4f6215,_0x142f03=[],_0x28934f=[_0x39ba13(0x1da),_0x39ba13(0x21b),_0x39ba13(0x1c7),'docker-compose.yml','docker-compose.yaml','.env','.env.example',_0x39ba13(0x165),_0x39ba13(0x1c0),_0x39ba13(0x21a),_0x39ba13(0x21c)],_0x1535b9=[_0x39ba13(0x1b8),'.yaml','.json','.tf','.tfvars'],_0x3c0524=async _0x3626aa=>{const _0x8e0ed9=_0x39ba13,_0x2af004=await a0_0xf3ef7c[_0x8e0ed9(0x228)](_0x3626aa,{'withFileTypes':!![]});for(const _0x16adbf of _0x2af004){const _0x76eb19=a0_0x4c0d52[_0x8e0ed9(0x22d)](_0x3626aa,_0x16adbf['name']);if(_0x16adbf['isDirectory']()){if(_0x16adbf[_0x8e0ed9(0x18b)]==='.github'||_0x16adbf[_0x8e0ed9(0x18b)]==='kubernetes'||_0x16adbf[_0x8e0ed9(0x18b)]===_0x8e0ed9(0x1d5)||_0x16adbf[_0x8e0ed9(0x18b)]===_0x8e0ed9(0x197))await _0x3c0524(_0x76eb19);else{if(!['node_modules',_0x8e0ed9(0x234),'dist','build'][_0x8e0ed9(0x1a4)](_0x16adbf[_0x8e0ed9(0x18b)]))continue;}}else{if(_0x16adbf['isFile']()){if(_0x28934f[_0x8e0ed9(0x1a4)](_0x16adbf[_0x8e0ed9(0x18b)]))_0x142f03['push'](_0x76eb19);else{const _0x3b9e71=a0_0x4c0d52[_0x8e0ed9(0x1c9)](_0x16adbf['name'])[_0x8e0ed9(0x1d7)]();if(_0x1535b9[_0x8e0ed9(0x1a4)](_0x3b9e71)){const _0x2bd9e2=a0_0x4c0d52[_0x8e0ed9(0x167)](a0_0x4c0d52[_0x8e0ed9(0x211)](_0x76eb19));(_0x2bd9e2==='kubernetes'||_0x2bd9e2==='k8s'||_0x2bd9e2==='terraform'||_0x2bd9e2===_0x8e0ed9(0x1e5))&&_0x142f03[_0x8e0ed9(0x1e1)](_0x76eb19);}}}}}};return await _0x3c0524(_0x58f821),_0x142f03;}[a0_0x4f6215(0x221)](_0x4c370b){const _0x5b62ae=a0_0x4f6215,_0x48ae7f=a0_0x4c0d52['extname'](_0x4c370b)[_0x5b62ae(0x1d7)]();return STATIC_ANALYSIS[_0x5b62ae(0x20b)][_0x48ae7f]||null;}async[a0_0x4f6215(0x17b)](_0x4bcf43,_0x4eca73){const _0xe81545=a0_0x4f6215;try{if(_0x4eca73===STATIC_ANALYSIS['LANGUAGE']['JAVASCRIPT']||_0x4eca73===STATIC_ANALYSIS[_0xe81545(0x1b0)]['TYPESCRIPT'])return await this['detectJSFramework'](_0x4bcf43);if(_0x4eca73===STATIC_ANALYSIS[_0xe81545(0x1b0)]['PYTHON'])return await this['detectPythonFramework'](_0x4bcf43);return null;}catch(_0x6e38df){return this['logger']?.['debug'](_0xe81545(0x1cd),{'error':_0x6e38df[_0xe81545(0x1a7)]}),null;}}async['detectJSFramework'](_0x2b2ff1){const _0x534e08=a0_0x4f6215;try{const _0x5691c6=a0_0x4c0d52['join'](_0x2b2ff1,STATIC_ANALYSIS[_0x534e08(0x226)]['JAVASCRIPT']),_0x1a2985=await a0_0xf3ef7c['readFile'](_0x5691c6,_0x534e08(0x182)),_0x26f873=JSON['parse'](_0x1a2985),_0x320a39={..._0x26f873['dependencies'],..._0x26f873[_0x534e08(0x18c)]};for(const [_0x258b63,_0x3e33d6]of Object[_0x534e08(0x193)](STATIC_ANALYSIS[_0x534e08(0x175)])){if(_0x320a39[_0x3e33d6])return _0x258b63['toLowerCase']();}return null;}catch(_0x23b45b){return null;}}async['detectPythonFramework'](_0x30934e){const _0xcc08ac=a0_0x4f6215;try{const _0x26d831=a0_0x4c0d52['join'](_0x30934e,STATIC_ANALYSIS[_0xcc08ac(0x226)]['PYTHON']),_0x592c2b=await a0_0xf3ef7c['readFile'](_0x26d831,'utf-8');for(const [_0x321638,_0x2399d3]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x592c2b['toLowerCase']()['includes'](_0x2399d3))return _0x321638[_0xcc08ac(0x1d7)]();}return null;}catch(_0x15bcee){try{const _0x11cedb=a0_0x4c0d52[_0xcc08ac(0x22d)](_0x30934e,STATIC_ANALYSIS[_0xcc08ac(0x226)][_0xcc08ac(0x1ac)]),_0x5eeaa2=await a0_0xf3ef7c[_0xcc08ac(0x1fc)](_0x11cedb,'utf-8');for(const [_0x19099f,_0x58cedf]of Object[_0xcc08ac(0x193)](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x5eeaa2[_0xcc08ac(0x1d7)]()[_0xcc08ac(0x1a4)](_0x58cedf))return _0x19099f[_0xcc08ac(0x1d7)]();}}catch{}return null;}}async[a0_0x4f6215(0x208)](_0x59e829,_0x58f25e){const _0x45e51a=[],_0x29c13d=_0x58f25e||'**/*.{js,jsx,mjs,cjs,ts,tsx,py,css,scss,sass,less}',_0x273237=_0x544fdd=>{const _0x3937a8=a0_0x52dc,_0x36b423=[],_0x10825c=_0x544fdd['match'](/\*\.\{([^}]+)\}/);if(_0x10825c){const _0x387846=_0x10825c[0x1]['split'](',')[_0x3937a8(0x20d)](_0x1ffb79=>_0x1ffb79['trim']());_0x387846['forEach'](_0x4c8ee0=>_0x36b423['push'](_0x4c8ee0[_0x3937a8(0x21d)]('.')?_0x4c8ee0:'.'+_0x4c8ee0));}else{const _0x503bd0=_0x544fdd[_0x3937a8(0x1b6)](/\*\.([a-z]+)$/i);if(_0x503bd0){const _0x4481b4=_0x503bd0[0x1];_0x36b423[_0x3937a8(0x1e1)](_0x4481b4[_0x3937a8(0x21d)]('.')?_0x4481b4:'.'+_0x4481b4);}}if(_0x36b423[_0x3937a8(0x196)]===0x0)return null;return _0x36b423;},_0x23f2cf=_0x273237(_0x29c13d),_0x175fa6=async _0x2ac429=>{const _0x1e76ff=a0_0x52dc,_0x4bd7d7=await a0_0xf3ef7c['readdir'](_0x2ac429,{'withFileTypes':!![]});for(const _0x24ec38 of _0x4bd7d7){const _0x4c473a=a0_0x4c0d52['join'](_0x2ac429,_0x24ec38['name']);if(_0x24ec38['isDirectory']())!['node_modules','.git','dist','build','__pycache__','.venv',_0x1e76ff(0x223)]['includes'](_0x24ec38[_0x1e76ff(0x18b)])&&await _0x175fa6(_0x4c473a);else{if(_0x24ec38[_0x1e76ff(0x1d4)]()){const _0x5910f5=a0_0x4c0d52['extname'](_0x24ec38['name'])['toLowerCase']();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x5910f5]&&((_0x23f2cf===null||_0x23f2cf['includes'](_0x5910f5))&&_0x45e51a[_0x1e76ff(0x1e1)](_0x4c473a));}}}};return await _0x175fa6(_0x59e829),_0x45e51a;}async['getAnalyzer'](_0x3adaf2){const _0x4eacef=a0_0x4f6215;try{if(_0x3adaf2===STATIC_ANALYSIS[_0x4eacef(0x1b0)][_0x4eacef(0x15a)]){if(!this['analyzers'][_0x4eacef(0x1a5)]){const {default:_0x16862c}=await import('../analyzers/JavaScriptAnalyzer.js');this['analyzers']['javascript']=new _0x16862c(this[_0x4eacef(0x185)]);}return this['analyzers']['javascript'];}if(_0x3adaf2===STATIC_ANALYSIS['LANGUAGE']['TYPESCRIPT']){if(!this[_0x4eacef(0x16c)]['typescript']){const {default:_0x4da3d4}=await import('../analyzers/TypeScriptAnalyzer.js');this[_0x4eacef(0x16c)][_0x4eacef(0x1dd)]=new _0x4da3d4(this['logger']);}return this['analyzers'][_0x4eacef(0x1dd)];}if(_0x3adaf2===STATIC_ANALYSIS['LANGUAGE'][_0x4eacef(0x1d0)]){if(!this['analyzers']['python']){const {default:_0xc8260f}=await import('../analyzers/PythonAnalyzer.js');this['analyzers'][_0x4eacef(0x17e)]=new _0xc8260f(this['logger']);}return this['analyzers']['python'];}if(_0x3adaf2===STATIC_ANALYSIS[_0x4eacef(0x1b0)][_0x4eacef(0x209)]||_0x3adaf2===STATIC_ANALYSIS['LANGUAGE']['SCSS']||_0x3adaf2===STATIC_ANALYSIS['LANGUAGE']['LESS']){if(!this['analyzers']['css']){const {default:_0x17d6bd}=await import('../analyzers/CSSAnalyzer.js');this['analyzers'][_0x4eacef(0x1f6)]=new _0x17d6bd(this['logger']);}return this[_0x4eacef(0x16c)]['css'];}return null;}catch(_0x42e6be){return this[_0x4eacef(0x185)]?.[_0x4eacef(0x205)]('Failed\x20to\x20load\x20analyzer',{'language':_0x3adaf2,'error':_0x42e6be[_0x4eacef(0x1a7)]}),null;}}async[a0_0x4f6215(0x150)](){const _0x16b147=a0_0x4f6215;if(!this['analyzers']['eslint']){const {default:_0x4319e1}=await import('../analyzers/ESLintAnalyzer.js');this['analyzers']['eslint']=new _0x4319e1(this[_0x16b147(0x185)]);}return this['analyzers'][_0x16b147(0x15b)];}async[a0_0x4f6215(0x1e4)](){const _0x4f245c=a0_0x4f6215;if(!this[_0x4f245c(0x216)][_0x4f245c(0x172)]){const {default:_0x5b8d13}=await import(_0x4f245c(0x21e));this[_0x4f245c(0x216)][_0x4f245c(0x172)]=new _0x5b8d13(this['logger']);}return this[_0x4f245c(0x216)]['prettier'];}async['getSecurityAnalyzer'](){const _0x41a479=a0_0x4f6215;if(!this['analyzers']['security']){const {default:_0x25bb6a}=await import(_0x41a479(0x1ee));this[_0x41a479(0x16c)][_0x41a479(0x1c2)]=new _0x25bb6a(this['logger']);}return this[_0x41a479(0x16c)][_0x41a479(0x1c2)];}async['getConfigValidator'](){const _0x38cf42=a0_0x4f6215;if(!this['analyzers']['config']){const {default:_0xc1f5d0}=await import('../analyzers/ConfigValidator.js');this[_0x38cf42(0x16c)]['config']=new _0xc1f5d0(this['logger']);}return this['analyzers'][_0x38cf42(0x1e7)];}['updateSummary'](_0x43b473,_0xb06236){const _0xec8bb6=a0_0x4f6215;if(_0xb06236[_0xec8bb6(0x219)]){_0x43b473[_0xec8bb6(0x192)]++;const _0x35129e=_0xb06236['critical']?.[_0xec8bb6(0x196)]||0x0,_0x43e0e8=_0xb06236['errors']?.[_0xec8bb6(0x196)]||0x0,_0x2b4a4b=_0xb06236[_0xec8bb6(0x1e9)]?.[_0xec8bb6(0x196)]||0x0,_0x569dce=_0xb06236['info']?.['length']||0x0;_0x43b473['totalCritical']===undefined&&(_0x43b473[_0xec8bb6(0x22f)]=0x0);_0x43b473[_0xec8bb6(0x22f)]+=_0x35129e,_0x43b473['totalErrors']+=_0x43e0e8,_0x43b473[_0xec8bb6(0x230)]+=_0x2b4a4b,_0x43b473[_0xec8bb6(0x171)]+=_0x569dce;(_0x35129e>0x0||_0x43e0e8>0x0)&&_0x43b473['filesWithErrors']++;_0xb06236['language']&&(_0x43b473['filesByLanguage'][_0xb06236['language']]=(_0x43b473[_0xec8bb6(0x164)][_0xb06236[_0xec8bb6(0x156)]]||0x0)+0x1);const _0x1d5672=[..._0xb06236[_0xec8bb6(0x1b9)]||[],..._0xb06236['errors']||[],..._0xb06236['warnings']||[]];for(const _0x5d3f05 of _0x1d5672){_0x5d3f05[_0xec8bb6(0x157)]&&(_0x43b473[_0xec8bb6(0x17a)][_0x5d3f05[_0xec8bb6(0x157)]]=(_0x43b473[_0xec8bb6(0x17a)][_0x5d3f05[_0xec8bb6(0x157)]]||0x0)+0x1);}}}[a0_0x4f6215(0x229)](_0x1d4afa){const _0xdedad5=a0_0x4f6215;return a0_0x3d46ea['createHash']('sha256')[_0xdedad5(0x210)](_0x1d4afa)[_0xdedad5(0x163)](_0xdedad5(0x20a))[_0xdedad5(0x186)](0x0,0x10);}[a0_0x4f6215(0x169)](){const _0x4560ad=a0_0x4f6215,_0x123adf=this[_0x4560ad(0x1ba)]['totalAnalyses']>0x0?this['metrics']['cacheHits']/this['metrics']['totalAnalyses']*0x64:0x0,_0x5a5323=this['metrics'][_0x4560ad(0x213)]>0x0?this[_0x4560ad(0x1ba)]['totalAnalysisTime']/this['metrics'][_0x4560ad(0x213)]:0x0;return{...this['metrics'],'cacheHitRate':Math[_0x4560ad(0x237)](_0x123adf*0xa)/0xa,'averageAnalysisTime':Math['round'](_0x5a5323),'cacheSize':this[_0x4560ad(0x15f)]['size']};}[a0_0x4f6215(0x159)](){const _0x261bcc=a0_0x4f6215;this[_0x261bcc(0x1ba)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}['clearCache'](){const _0x370f18=a0_0x4f6215;this['analysisCache']['clear'](),this[_0x370f18(0x185)]?.[_0x370f18(0x19a)](_0x370f18(0x1af));}[a0_0x4f6215(0x238)](){const _0x2e9002=a0_0x4f6215;return[_0x2e9002(0x15e),_0x2e9002(0x18a),'fix','format',_0x2e9002(0x16d),_0x2e9002(0x1cb),'validate-config','validate-config-directory'];}['getParameterSchema'](){const _0x4c2d16=a0_0x4f6215;return{'type':'object','properties':{'actions':{'type':_0x4c2d16(0x1c3),'minItems':0x1,'items':{'type':_0x4c2d16(0x19e),'properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'filePath':{'type':_0x4c2d16(0x1a8)},'directory':{'type':_0x4c2d16(0x1a8)},'pattern':{'type':'string'},'includeWarnings':{'type':_0x4c2d16(0x1d8)},'maxErrors':{'type':_0x4c2d16(0x1db)}},'required':['type']}}},'required':['actions']};}}export default StaticAnalysisTool;
|