@loxia-labs/loxia-autopilot-one 1.0.9 → 1.0.10
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/web-ui/build/index.html +2 -2
- package/web-ui/build/static/{index-BzXbDs8z.js → index-CoRE46V-.js} +28 -28
- package/web-ui/build/static/index-P281Rusr.css +1 -0
- package/web-ui/build/static/index-BmKxmRe3.css +0 -1
package/src/tools/seekTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x230c82=a0_0x566d;function a0_0x566d(_0xef6fde,_0x34e2f9){_0xef6fde=_0xef6fde-0xa1;const _0x4c142f=a0_0x4c14();let _0x566db3=_0x4c142f[_0xef6fde];if(a0_0x566d['NbcSUb']===undefined){var _0x47cc09=function(_0x5002a1){const _0x664c2c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x22bc90='',_0x4ac40b='';for(let _0x3cd011=0x0,_0x5f38ea,_0x16e413,_0x11c652=0x0;_0x16e413=_0x5002a1['charAt'](_0x11c652++);~_0x16e413&&(_0x5f38ea=_0x3cd011%0x4?_0x5f38ea*0x40+_0x16e413:_0x16e413,_0x3cd011++%0x4)?_0x22bc90+=String['fromCharCode'](0xff&_0x5f38ea>>(-0x2*_0x3cd011&0x6)):0x0){_0x16e413=_0x664c2c['indexOf'](_0x16e413);}for(let _0x4b2cf8=0x0,_0xae65b7=_0x22bc90['length'];_0x4b2cf8<_0xae65b7;_0x4b2cf8++){_0x4ac40b+='%'+('00'+_0x22bc90['charCodeAt'](_0x4b2cf8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ac40b);};a0_0x566d['lsrDKF']=_0x47cc09,a0_0x566d['BvdDan']={},a0_0x566d['NbcSUb']=!![];}const _0x4e1fa9=_0x4c142f[0x0],_0x3a965d=_0xef6fde+_0x4e1fa9,_0x118ed0=a0_0x566d['BvdDan'][_0x3a965d];return!_0x118ed0?(_0x566db3=a0_0x566d['lsrDKF'](_0x566db3),a0_0x566d['BvdDan'][_0x3a965d]=_0x566db3):_0x566db3=_0x118ed0,_0x566db3;}(function(_0x78ffe4,_0x1f39ba){const _0x4202cb=a0_0x566d,_0x298e50=_0x78ffe4();while(!![]){try{const _0x3a2fda=-parseInt(_0x4202cb(0x11c))/0x1*(-parseInt(_0x4202cb(0xa5))/0x2)+-parseInt(_0x4202cb(0xde))/0x3+-parseInt(_0x4202cb(0x107))/0x4+-parseInt(_0x4202cb(0x121))/0x5*(-parseInt(_0x4202cb(0xf9))/0x6)+-parseInt(_0x4202cb(0xfb))/0x7*(parseInt(_0x4202cb(0xcf))/0x8)+parseInt(_0x4202cb(0xb2))/0x9+-parseInt(_0x4202cb(0x106))/0xa*(-parseInt(_0x4202cb(0xbe))/0xb);if(_0x3a2fda===_0x1f39ba)break;else _0x298e50['push'](_0x298e50['shift']());}catch(_0x2cb243){_0x298e50['push'](_0x298e50['shift']());}}}(a0_0x4c14,0xba601));function a0_0x4c14(){const _0x17c77a=['lNbKzG','mJe1v29cD3nR','zM9YBwf0uMvZDwX0CW','zxnJyxbLuMvNrxHW','C2vHCMnOrMLSzxm','y29Kzq','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','lJD6','lMPHDMe','zw50CMLLCW','zxHWyw5Kr2XVyLbHDhrLCM4','ks4Gtwf4Aw11BsbPCYa','lIbvC2uGBw9YzsbZCgvJAwzPyYbMAwXLihbHDhrLCM5ZlG','BgvUz3rO','lMrI','lMH0BwW','ChvZAa','mJyWodzyuevvr3a','zxjYB3jgAwXLCW','vg9Vig1HBNKGzMLSzxmGDg8GC2vHCMnOicG','cLnLzwSGvg9VBdOGu2vHCMnOigzVCIbZCgvJAwzPyYbJB250zw50ihDPDgHPBIbWCM9Qzwn0igzPBgvZlIbiAwDOBhKGCMvJB21Tzw5KzwqGzM9YihzLCMLMEwLUzYbPBxbVCNrZlcbMDw5JDgLVBIb1C2fNzsWGyw5KihzHCMLHyMXLihjLzMvYzw5JzxmUcGPytuWGvvnbr0u6cJXZzwvRpGOGidXPBI1MAwXLCZ4kicaGigzPBguVCgf0Ac9VBMuUANmkicaGigzPBguVCgf0Ac90D28UANmkicaGihnYyY8QkI8QlMPZcIaGpc9PBI1MAwXLCZ4kica8C2vHCMnOlxrLCM1ZpGOGicaGphrLCM0+C2vHCMnOihbOCMfZzsbVBMu8l3rLCM0+cIaGica8DgvYBt5ZzwfYy2GGCgHYyxnLihr3BZWVDgvYBt4kicaGidX0zxjTpNnLyxjJAcbWAhjHC2uGDgHYzwu8l3rLCM0+cIaGpc9ZzwfYy2GTDgvYBxm+cJWVC2vLAZ4kcKPtt04Gvvnbr0u6cMbGygPZB24kEWOGicj0B29SswqIoIaIC2vLAYiScIaGiMzPBgvqyxrOCYi6ifSkicaGicjZCMmVy29TCg9Uzw50CY9izwfKzxiUANmIlaOGicaGiNnYyY91DgLSCY8QlMPZiIWkicaGicjZCMmVkIOVkI5QC3GIcIaGxsWkicaIC2vHCMnOvgvYBxmIoIbBcIaGicaIAw1WB3j0ifjLywn0iIWkicaGicj1C2vtDgf0zsiScIaGicaIzNvUy3rPB24GAgfUzgXLu3vIBwL0iGOGif0kFqPGygakcLnvufbpuLrfrcbhte9cifbbvfrfuK5toGOTicOUANmGicaGicaGicaGic0GqwXSic5QCYbMAwXLCYbPBIbHigrPCMvJDg9YEqOTicOQlYOUANmGicaGicaGic0GqwXSic5QCYbMAwXLCYbYzwn1CNnPDMvSEqOTihnYyY8QkI8QlMPZEcaGic0GqwXSic5QC3GGzMLSzxmGDw5KzxiGC3jJlYbYzwn1CNnPDMvSEqOTignVBxbVBMvUDhmVkI4Qic0GqwXSigzPBgvZigLUignVBxbVBMvUDhmVcGPfwefnueXfuZOkcKv4yw1WBguGmsaTiezPBMqGzNvUy3rPB24GDxnHz2u6cJXZzwvRpGOGidXPBI1MAwXLCZ4kicaGihnYyY9JB21WB25LBNrZlYOUANmkicaGihnYyY91DgLSCY9OzwXWzxjZlMPZcIaGpc9PBI1MAwXLCZ4kica8C2vHCMnOlxrLCM1ZpGOGicaGphrLCM0+zNvUy3rPB24GAgfUzgXLu3vIBwL0pc90zxjTpGOGicaGphrLCM0+DxnLu3rHDguOpc90zxjTpGOGidWVC2vHCMnOlxrLCM1ZpGO8l3nLzwS+cGPfEgfTCgXLidiGlsbwzxjPzNKGAw1WB3j0CZOkphnLzwS+cIaGpgLUlwzPBgvZpGOGicaGC3jJl2nVBxbVBMvUDhmVsgvHzgvYlMPZcIaGicbZCMmVy29TCg9Uzw50CY9gB290zxiUANmkica8l2LUlwzPBgvZpGOGidXZzwfYy2GTDgvYBxm+cIaGica8DgvYBt5PBxbVCNqGuMvHy3q8l3rLCM0+cIaGica8DgvYBt5PBxbVCNqGEYb1C2vtDgf0zsb9pc90zxjTpGOGicaGphrLCM0+zNjVBsaNCMvHy3qNpc90zxjTpGOGidWVC2vHCMnOlxrLCM1ZpGO8l3nLzwS+cGPfEgfTCgXLidmGlsbgAw5KihzHCMLHyMXLihjLzMvYzw5Jzxm6cJXZzwvRpGOGidXPBI1MAwXLCZ4kicaGihnYyY8QkI8QlMPZcIaGpc9PBI1MAwXLCZ4kica8C2vHCMnOlxrLCM1ZpGOGicaGphrLCM0+yxbPq2XPzw50pc90zxjTpGOGicaGphrLCM0+y29UzMLNlMfWAvvYBdWVDgvYBt4kica8l3nLyxjJAc10zxjTCZ4kpc9ZzwvRpGOkrxHHBxbSzsa0ic0Gu2vHCMnOihnWzwnPzMLJigzPBgvZig9UBhK6cJXZzwvRpGOGidXPBI1MAwXLCZ4kicaGihbHy2THz2uUANnVBGOGicaGDhnJB25MAwCUANnVBGOGicaGlMDPDgLNBM9YzqOGidWVAw4TzMLSzxm+cIaGphnLyxjJAc10zxjTCZ4kicaGidX0zxjTpNjLywn0pc90zxjTpGOGicaGphrLCM0+DhLWzxnJCMLWDdWVDgvYBt4kica8l3nLyxjJAc10zxjTCZ4kpc9ZzwvRpGOkrKvbvfvsrvm6cI0Gu2vHCMnOzxmGzM9Yigv4ywn0ihn0CMLUzYbTyxrJAgvZicHJyxnLlxnLBNnPDgL2zsKklsbszxr1CM5ZigzPBguGCgf0AcWGBgLUzsbUDw1IzxiSigfUzcbSAw5LignVBNrLBNqGzM9YigvHy2GGBwf0y2GklsbtDxbWB3j0CYbNBg9IihbHDhrLCM5ZigzVCIbMBgv4AwjSzsbMAwXLihnLBgvJDgLVBGOTifnRAxbZigjPBMfYEsbMAwXLCYbHDxrVBwf0AwnHBgX5cI0GuMvWB3j0CYbMAwXLCYbUB3qGzM91BMqGyw5KigzPBgvZihDPDgGGzxjYB3jZcI0GtgLTAxrLzcb0BYa','lNnV','lMrSBa','lNjI','icHUBYbTyxrJAgLUzYbMAwXLCYK','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','CMvZB2X2zq','lNnHC3m','tufyx0rjuKvdve9swv9ervbusa','lMnVBMy','mJmXode4nevet1vMvW','lMjHC2G','Bwf0y2HLC0j5vgvYBq','igzPBguOCYKUcG','lMPZ','lMvVDa','lMXLC3m','BwfW','lNr0zG','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','CMvHzgrPCG','tufyx0zjtevFu0LArq','nJm2ndzHs2HzDei','C2vHCMnOsw5gAwXL','zxHLyW','lMrHDa','lMDV','Bg9Nz2vY','CMvHze9UBhLeAxjLy3rVCMLLCW','lMnZCW','C2L6zq','tuiSig1HEca','lNLHBwW','AM9PBG','iIaO','ihrVDgfSig1HDgnOzxmGAw4G','D29YA2LUz0rPCMvJDg9YEq','AxnbCNjHEq','zxH0BMfTzq','ohHks05bCW','rMLSzsbWyxrOia','C3bSAxq','zgLYBMfTzq','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','zMLSzvbHDgHZ','lNn2zW','zM91BMq','lMPZEa','BwLU','lMjTCa','lNjHCG','tufyx1rpvefmx01bvenirvm','rKLmrvmGv0LuscbfuLjpuLm6cG','D2fYBG','mZK5mdC2ognuDurhva','yNvPBgq','zMLSDgvY','DgvYBq','AxneAxjLy3rVCNK','lMDPDa','lNPZAa','CMvXDwLYzxnqCM9Qzwn0','AgfZ','tufyx0zjtevFuefusfm','lNnO','ic0G','Aw5MBW','Dg9mB3DLCKnHC2u','BgLUzunVBNrLBNq','C2HVDwXKu2TPCezPBgu','rMfPBgvKihrVihjLywqGzMLSztOG','ywrK','C2vLA0nVBMzPzW','lMPWzwC','lM1VDG','BwvZC2fNzq','rMfPBgvKihrVihbHCNnLihnLzwSGCgfYyw1LDgvYCW','icaTia','rKLmrvmGtK9uiezpvu5eoGO','oIbWyxrOihrYyxzLCNnHBcaOlI4Pig5VDcbHBgXVD2vKigzVCIbZzwn1CML0Eq','C2HVDwXKu2TPCerPCMvJDg9YEq','mtu3mdyYqvjIs01H','twf4Aw11BsbTyxrJAgvZihbLCIbMAwXLihjLywnOzwq','mJa2oda3m0LMAhDQqq','AxnbyNnVBhv0zq','lM1Wna','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','CMvHzezPBgu','C2vHCMnOvgvYBxm','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','lMXVzW','BM90rM91BMq','C3rHCNrZv2L0Aa','tufyx01bvenirvnFuevsx0zjteu','mZuWyMfNyxLS','mJa1ntGWohzxCKPrrq','lNb5','lMPZB24','C3rYAw5N','AxngAwXL','tufyx0zjtevtx1bfuL9trufsq0G','u2vLAYb0B29Sigv4zwn1DgLVBIbMywLSzwq','Aw5JBhvKzxm','DgvZDa','zxjYB3i','C3rHDa','tufyx0XjtKvFq09ovevovf9mru5hveG','CMvSyxrPDMu','CMvWBgfJzq','u2vHCMnOihrLCM0G','DgLTzw91Da','Bwf0y2HLC1bHDhrLCM4','tM8GBwf0y2HLCYbMB3vUzcbMB3iGDgHLihnWzwnPzMLLzcbZzwfYy2GGDgvYBxmGAw4G','DhjPBq','zMLUzezPBgvZuMvJDxjZAxzLBhK','ks4Gu29TzsbTyxrJAgvZig1HEsbUB3qGyMuGC2HVD24UcG','mtaXB3HKr1HK','yMfZzw5HBwu','vxnPBMCGywDLBNqGy29UzMLNDxjLzcbKAxjLy3rVCNKGywnJzxnZ','BMfTzq'];a0_0x4c14=function(){return _0x17c77a;};return a0_0x4c14();}import{BaseTool}from'./baseTool.js';import a0_0x22bc90 from'../utilities/tagParser.js';import{promises as a0_0x4ac40b}from'fs';import a0_0x3cd011 from'path';const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING='utf-8',BINARY_EXTENSIONS=new Set(['.png','.jpg',a0_0x230c82(0xf1),'.gif',a0_0x230c82(0xd9),'.ico',a0_0x230c82(0xd5),a0_0x230c82(0x120),'.zip','.tar','.gz',a0_0x230c82(0xda),a0_0x230c82(0x127),'.exe',a0_0x230c82(0xaa),a0_0x230c82(0xa9),'.dylib','.mp3',a0_0x230c82(0xfd),'.avi',a0_0x230c82(0xf2),'.wmv','.woff','.woff2',a0_0x230c82(0xba),a0_0x230c82(0xb7),'.bin',a0_0x230c82(0xc1),a0_0x230c82(0xa2),'.sqlite']);class SeekTool extends BaseTool{constructor(_0x5f38ea={},_0x16e413=null){const _0x1200b7=a0_0x230c82;super(_0x5f38ea,_0x16e413),this[_0x1200b7(0xe5)]=!![],this['isAsync']=!![],this[_0x1200b7(0x116)]=_0x5f38ea['timeout']||0x1d4c0,this[_0x1200b7(0xf0)]={...SEEK_CONFIG,..._0x5f38ea['seekConfig']};}['getDescription'](){const _0xc9d373=a0_0x230c82;return _0xc9d373(0xa8)+SEEK_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+'MB\x20per\x20file\x0a-\x20Returns\x20up\x20to\x20'+SEEK_CONFIG[_0xc9d373(0xdb)]+'\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['MAX_SEARCH_TERMS']+'\x20search\x20terms\x0a-\x20Maximum\x20'+SEEK_CONFIG[_0xc9d373(0xbd)]/(0x400*0x400)+'MB\x20per\x20file\x0a-\x20Case-sensitive\x20search\x20only\x0a-\x20Exact\x20string\x20matching\x20(not\x20regex)\x0a-\x20Paths\x20outside\x20accessible\x20directories\x20will\x20be\x20reported\x20as\x20\x22not\x20found\x22\x0a\x20\x20\x20\x20';}['parseParameters'](_0x11c652){const _0x27ca6a=a0_0x230c82;try{if(_0x11c652['trim']()['startsWith']('{')){const _0x248ff5=JSON['parse'](_0x11c652);return{'filePaths':_0x248ff5['filePaths']||[],'searchTerms':_0x248ff5[_0x27ca6a(0x100)]||[]};}const _0x4b2cf8={'filePaths':[],'searchTerms':[]},_0xae65b7=/<in-files>([\s\S]*?)<\/in-files>/i,_0x34dfb0=_0xae65b7[_0x27ca6a(0xc0)](_0x11c652);if(_0x34dfb0){const _0xea93b2=_0x34dfb0[0x1];_0x4b2cf8[_0x27ca6a(0xd4)]=_0xea93b2['split']('\x0a')['map'](_0x519819=>_0x519819[_0x27ca6a(0x119)]())[_0x27ca6a(0xe0)](_0x2ee6de=>_0x2ee6de[_0x27ca6a(0xa1)]>0x0);}const _0x1d865a=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x26c2c2=_0x1d865a['exec'](_0x11c652);if(_0x26c2c2){const _0x41d3a6=_0x26c2c2[0x1],_0x261ba0=/<term>(.*?)<\/term>/gi;let _0x35b630;while((_0x35b630=_0x261ba0['exec'](_0x41d3a6))!==null){const _0x4ac096=_0x35b630[0x1]['trim']();_0x4ac096['length']>0x0&&_0x4b2cf8['searchTerms'][_0x27ca6a(0xa4)](_0x4ac096);}}return _0x4b2cf8;}catch(_0x49cfef){return this[_0x27ca6a(0xc3)]?.[_0x27ca6a(0x110)](_0x27ca6a(0xf4),{'error':_0x49cfef[_0x27ca6a(0xf3)]}),{'filePaths':[],'searchTerms':[],'parseError':_0x49cfef['message']};}}['getRequiredParameters'](){const _0x45ba6e=a0_0x230c82;return[_0x45ba6e(0xd4),'searchTerms'];}['customValidateParameters'](_0x581b30){const _0x15bd93=a0_0x230c82,_0x4c761b=[];if(!_0x581b30['filePaths']||!Array['isArray'](_0x581b30[_0x15bd93(0xd4)])||_0x581b30['filePaths']['length']===0x0)_0x4c761b['push']('At\x20least\x20one\x20file\x20path\x20is\x20required');else _0x581b30[_0x15bd93(0xd4)][_0x15bd93(0xa1)]>this[_0x15bd93(0xf0)][_0x15bd93(0xe7)]&&_0x4c761b['push']('Too\x20many\x20file\x20paths\x20(max\x20'+this['seekConfig']['MAX_FILE_PATHS']+')');if(!_0x581b30[_0x15bd93(0x100)]||!Array[_0x15bd93(0xcd)](_0x581b30[_0x15bd93(0x100)])||_0x581b30[_0x15bd93(0x100)]['length']===0x0)_0x4c761b['push']('At\x20least\x20one\x20search\x20term\x20is\x20required');else _0x581b30['searchTerms']['length']>this['seekConfig']['MAX_SEARCH_TERMS']&&_0x4c761b[_0x15bd93(0xa4)]('Too\x20many\x20search\x20terms\x20(max\x20'+this['seekConfig']['MAX_SEARCH_TERMS']+')');if(_0x581b30['searchTerms']&&Array[_0x15bd93(0xcd)](_0x581b30[_0x15bd93(0x100)]))for(const [_0x520057,_0xb8d443]of _0x581b30[_0x15bd93(0x100)][_0x15bd93(0x129)]()){(typeof _0xb8d443!==_0x15bd93(0x10a)||_0xb8d443['trim']()['length']===0x0)&&_0x4c761b['push'](_0x15bd93(0x115)+(_0x520057+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string');}if(_0x581b30[_0x15bd93(0xd4)]&&Array[_0x15bd93(0xcd)](_0x581b30['filePaths']))for(const [_0x578e7f,_0x8c0299]of _0x581b30[_0x15bd93(0xd4)]['entries']()){(typeof _0x8c0299!=='string'||_0x8c0299[_0x15bd93(0x119)]()['length']===0x0)&&_0x4c761b['push'](_0x15bd93(0xd0)+(_0x578e7f+0x1)+_0x15bd93(0xbb)),_0x8c0299['includes']('..')&&_0x4c761b[_0x15bd93(0xa4)](_0x15bd93(0xd0)+(_0x578e7f+0x1)+_0x15bd93(0xf7));}return{'valid':_0x4c761b[_0x15bd93(0xa1)]===0x0,'errors':_0x4c761b};}async['execute'](_0x37bcfc,_0x5b8a46){const _0x3029a1=a0_0x230c82,{filePaths:_0x4403b0,searchTerms:_0x4caadd}=_0x37bcfc,{projectDir:_0x37dbae,agentId:_0x10fb2a,directoryAccess:_0x344e3b}=_0x5b8a46;let _0x552c32=_0x37dbae||process['cwd'](),_0x22c2b8=[_0x552c32];_0x344e3b&&_0x344e3b[_0x3029a1(0xcc)]&&(_0x552c32=_0x344e3b[_0x3029a1(0xcc)],_0x22c2b8=this[_0x3029a1(0x126)](_0x344e3b),this['logger']?.[_0x3029a1(0xea)](_0x3029a1(0x11e),{'workingDirectory':_0x344e3b[_0x3029a1(0xcc)],'totalAccessibleDirs':_0x22c2b8[_0x3029a1(0xa1)],'readOnlyDirs':_0x344e3b[_0x3029a1(0xc4)]?.['length']||0x0,'writeEnabledDirs':_0x344e3b[_0x3029a1(0x101)]?.[_0x3029a1(0xa1)]||0x0,'agentId':_0x10fb2a}));if(!_0x552c32)throw new Error('Project\x20directory\x20is\x20required\x20for\x20seek\x20tool');this[_0x3029a1(0xc3)]?.['info']('Executing\x20seek\x20tool',{'filePathCount':_0x4403b0['length'],'searchTermCount':_0x4caadd['length'],'workingDirectory':_0x552c32,'accessibleDirectories':_0x22c2b8[_0x3029a1(0xa1)],'agentId':_0x10fb2a});try{const _0x546788=await this['resolveFilePaths'](_0x4403b0,_0x552c32,_0x344e3b?_0x22c2b8:null),_0x10f932=_0x546788['found'],_0x58bf6e=_0x546788[_0x3029a1(0x103)];if(_0x10f932['length']>this['seekConfig']['MAX_FILES_PER_SEARCH'])return{'success':![],'error':_0x3029a1(0xa7)+_0x10f932['length']+_0x3029a1(0x12b)+this['seekConfig'][_0x3029a1(0x10c)]+_0x3029a1(0x12c),'filesResolved':_0x10f932['length'],'filesNotFound':_0x58bf6e[_0x3029a1(0xa1)]};const _0x1adb77=await this['searchFiles'](_0x10f932,_0x4caadd,_0x552c32),_0x298970=this[_0x3029a1(0x122)](_0x1adb77['matches'],_0x1adb77[_0x3029a1(0xa6)],_0x58bf6e,_0x10f932[_0x3029a1(0xa1)]);return{'success':!![],'filesSearched':_0x10f932['length'],'filesNotFound':_0x58bf6e['length'],'filesWithErrors':_0x1adb77['errorFiles']['length'],'totalMatches':_0x1adb77['matches']['length'],'matchesByTerm':_0x1adb77[_0x3029a1(0xb4)],'formattedResults':_0x298970,'toolUsed':'seek'};}catch(_0x158b08){this['logger']?.[_0x3029a1(0x110)](_0x3029a1(0x10d),{'error':_0x158b08['message']});throw _0x158b08;}}[a0_0x230c82(0x126)](_0x1d4f09){const _0x51e1da=a0_0x230c82,_0x17e90c=new Set();_0x1d4f09['workingDirectory']&&_0x17e90c[_0x51e1da(0xef)](_0x1d4f09[_0x51e1da(0xcc)]);if(_0x1d4f09[_0x51e1da(0xc4)]&&Array[_0x51e1da(0xcd)](_0x1d4f09[_0x51e1da(0xc4)]))for(const _0x3af9d5 of _0x1d4f09[_0x51e1da(0xc4)]){_0x17e90c[_0x51e1da(0xef)](_0x3af9d5);}if(_0x1d4f09['writeEnabledDirectories']&&Array['isArray'](_0x1d4f09[_0x51e1da(0x101)]))for(const _0x16cade of _0x1d4f09['writeEnabledDirectories']){_0x17e90c['add'](_0x16cade);}return Array['from'](_0x17e90c);}['isPathAccessible'](_0xede62a,_0x26690e){const _0x4c1c9e=a0_0x230c82;for(const _0x4481f9 of _0x26690e){const _0x2a3102=a0_0x3cd011[_0x4c1c9e(0x113)](_0x4481f9,_0xede62a),_0x1a6c38=!_0x2a3102[_0x4c1c9e(0x104)]('..')&&!a0_0x3cd011[_0x4c1c9e(0xfc)](_0x2a3102);if(_0x1a6c38)return!![];}return![];}async['resolveFilePaths'](_0x372dda,_0x199f1b,_0x6a89e0=null){const _0x2a3e4a=a0_0x230c82,_0x2202f2={'found':[],'notFound':[]};for(const _0x30b2a2 of _0x372dda){const _0x1be3f6=_0x30b2a2['trim']();if(_0x1be3f6['includes']('*')){const _0x27bf0c=await this[_0x2a3e4a(0x12a)](_0x1be3f6,_0x199f1b);_0x27bf0c[_0x2a3e4a(0xd6)]['length']>0x0?_0x2202f2[_0x2a3e4a(0xd6)]['push'](..._0x27bf0c['found']):_0x2202f2['notFound'][_0x2a3e4a(0xa4)](_0x1be3f6+_0x2a3e4a(0xac));}else{const _0x1c1199=a0_0x3cd011['isAbsolute'](_0x1be3f6)?_0x1be3f6:a0_0x3cd011[_0x2a3e4a(0xae)](_0x199f1b,_0x1be3f6);if(_0x6a89e0&&_0x6a89e0['length']>0x0){if(!this['isPathAccessible'](_0x1c1199,_0x6a89e0)){_0x2202f2['notFound'][_0x2a3e4a(0xa4)](_0x1be3f6+'\x20(not\x20in\x20accessible\x20directories)');continue;}}try{const _0x511a56=await a0_0x4ac40b['stat'](_0x1c1199);if(_0x511a56[_0x2a3e4a(0x10b)]())_0x2202f2['found']['push'](_0x1c1199);else _0x511a56['isDirectory']()?_0x2202f2[_0x2a3e4a(0x103)][_0x2a3e4a(0xa4)](_0x1be3f6+'\x20(is\x20a\x20directory,\x20not\x20a\x20file)'):_0x2202f2[_0x2a3e4a(0x103)]['push'](_0x1be3f6+'\x20(not\x20a\x20regular\x20file)');}catch(_0x319ab2){_0x2202f2[_0x2a3e4a(0x103)]['push'](_0x1be3f6+'\x20('+(_0x319ab2[_0x2a3e4a(0x125)]||_0x319ab2[_0x2a3e4a(0xf3)])+')');}}}return _0x2202f2;}async['expandGlobPattern'](_0x276239,_0x775142){const _0xd7bc8e=a0_0x230c82,_0x4da734={'found':[]};if(_0x276239[_0xd7bc8e(0x10e)]('**/')){const [_0x240884,_0x28c8aa]=_0x276239['split']('**/'),_0x16079c=a0_0x3cd011['resolve'](_0x775142,_0x240884);try{const _0x3da5be=await a0_0x4ac40b[_0xd7bc8e(0x111)](_0x16079c);_0x3da5be[_0xd7bc8e(0xe2)]()&&await this[_0xd7bc8e(0x11a)](_0x16079c,_0x28c8aa,_0x4da734['found'],0x0,this[_0xd7bc8e(0xf0)][_0xd7bc8e(0xb0)]);}catch(_0x40de8a){this[_0xd7bc8e(0xc3)]?.[_0xd7bc8e(0xdd)]('Base\x20directory\x20not\x20found\x20for\x20glob\x20pattern',{'basePath':_0x16079c,'error':_0x40de8a['message']});}}else{if(_0x276239[_0xd7bc8e(0x10e)]('*')){const _0x2f73f0=a0_0x3cd011[_0xd7bc8e(0xd2)](a0_0x3cd011['resolve'](_0x775142,_0x276239)),_0xb38eea=a0_0x3cd011[_0xd7bc8e(0x11d)](_0x276239);try{const _0x45d0aa=await a0_0x4ac40b['stat'](_0x2f73f0);if(_0x45d0aa[_0xd7bc8e(0xe2)]()){const _0x598ffb=await a0_0x4ac40b[_0xd7bc8e(0xbc)](_0x2f73f0);for(const _0x157d31 of _0x598ffb){const _0x385b79=a0_0x3cd011[_0xd7bc8e(0xc9)](_0x2f73f0,_0x157d31);try{const _0x2f4283=await a0_0x4ac40b[_0xd7bc8e(0x111)](_0x385b79);_0x2f4283['isFile']()&&this['matchesPattern'](_0x157d31,_0xb38eea)&&_0x4da734['found']['push'](_0x385b79);}catch(_0x1340a0){continue;}}}}catch(_0x38b12b){this['logger']?.[_0xd7bc8e(0xdd)]('Directory\x20not\x20found\x20for\x20glob\x20pattern',{'dirPath':_0x2f73f0,'error':_0x38b12b[_0xd7bc8e(0xf3)]});}}}return _0x4da734;}async[a0_0x230c82(0x11a)](_0xa986c3,_0x30a9d0,_0xa329e2,_0x45d668,_0x87a9b3){const _0x1f7983=a0_0x230c82;if(_0x45d668>=_0x87a9b3){this[_0x1f7983(0xc3)]?.['warn']('Maximum\x20directory\x20depth\x20reached',{'dir':_0xa986c3,'currentDepth':_0x45d668});return;}try{const _0x4edc08=await a0_0x4ac40b[_0x1f7983(0xbc)](_0xa986c3,{'withFileTypes':!![]});for(const _0x11234c of _0x4edc08){if(_0x11234c[_0x1f7983(0x11f)]['startsWith']('.'))continue;const _0x288406=a0_0x3cd011[_0x1f7983(0xc9)](_0xa986c3,_0x11234c[_0x1f7983(0x11f)]);try{if(_0x11234c[_0x1f7983(0xe2)]()){if(this[_0x1f7983(0xf8)](_0x11234c[_0x1f7983(0x11f)]))continue;await this[_0x1f7983(0x11a)](_0x288406,_0x30a9d0,_0xa329e2,_0x45d668+0x1,_0x87a9b3);}else{if(_0x11234c[_0x1f7983(0x10b)]()){if(this['matchesPattern'](_0x11234c['name'],_0x30a9d0)){_0xa329e2[_0x1f7983(0xa4)](_0x288406);if(_0xa329e2[_0x1f7983(0xa1)]>=this[_0x1f7983(0xf0)]['MAX_FILES_PER_SEARCH'])return;}}}}catch(_0x152b38){continue;}}}catch(_0x8cb4ca){this[_0x1f7983(0xc3)]?.[_0x1f7983(0xdd)](_0x1f7983(0xfe),{'dir':_0xa986c3,'error':_0x8cb4ca['message']});}}[a0_0x230c82(0x117)](_0x8b00a6,_0x43c5f8){const _0x34af9b=a0_0x230c82,_0x2963d2=_0x43c5f8[_0x34af9b(0xd1)]('*')[_0x34af9b(0xb9)](_0x4ac0ba=>this[_0x34af9b(0x123)](_0x4ac0ba))['join']('.*'),_0x93011f=new RegExp('^'+_0x2963d2+'$','i');return _0x93011f[_0x34af9b(0x10f)](_0x8b00a6);}[a0_0x230c82(0x123)](_0x2d4b99){const _0x10a681=a0_0x230c82;return _0x2d4b99[_0x10a681(0x114)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');}[a0_0x230c82(0xf8)](_0x24bd5c){const _0x13ef22=a0_0x230c82,_0x2bdee7=new Set(['node_modules',_0x13ef22(0xe3),'dist',_0x13ef22(0xdf),'coverage','.next','.nuxt','out','target','vendor','__pycache__','.cache','tmp','temp']);return _0x2bdee7[_0x13ef22(0xe6)](_0x24bd5c['toLowerCase']());}[a0_0x230c82(0xed)](_0x333f2e){const _0x289b8d=a0_0x230c82,_0x4430be=a0_0x3cd011[_0x289b8d(0xce)](_0x333f2e)[_0x289b8d(0xeb)]();return BINARY_EXTENSIONS[_0x289b8d(0xe6)](_0x4430be);}async[a0_0x230c82(0x124)](_0x760c96,_0x5d0aac,_0x4f1dab){const _0x8814=a0_0x230c82,_0x550e15=[],_0x4d0298=[];let _0x596e7b=0x0;for(const _0x22eeef of _0x760c96){if(this[_0x8814(0xed)](_0x22eeef))continue;try{const _0x125ed9=await a0_0x4ac40b['stat'](_0x22eeef);if(_0x125ed9[_0x8814(0xc6)]>this[_0x8814(0xf0)][_0x8814(0xbd)]){_0x4d0298['push']({'filePath':a0_0x3cd011[_0x8814(0x113)](_0x4f1dab,_0x22eeef),'error':'File\x20too\x20large\x20('+Math['round'](_0x125ed9['size']/(0x400*0x400))+_0x8814(0xc7)+Math['round'](this['seekConfig']['MAX_FILE_SIZE']/(0x400*0x400))+'MB)'});continue;}const _0x2a9b8d=await this[_0x8814(0xbf)](_0x22eeef,_0x5d0aac,_0x4f1dab);_0x550e15[_0x8814(0xa4)](..._0x2a9b8d),_0x596e7b+=_0x2a9b8d['length'];if(_0x596e7b>=this[_0x8814(0xf0)][_0x8814(0xdb)]){this[_0x8814(0xc3)]?.['warn']('Maximum\x20total\x20matches\x20reached',{'totalMatches':_0x596e7b});break;}}catch(_0x1f75d7){_0x4d0298[_0x8814(0xa4)]({'filePath':a0_0x3cd011['relative'](_0x4f1dab,_0x22eeef),'error':_0x1f75d7['message']});}}const _0x390dac={};for(const _0x581242 of _0x550e15){!_0x390dac[_0x581242['term']]&&(_0x390dac[_0x581242['term']]=[]),_0x390dac[_0x581242['term']][_0x8814(0xa4)]({'filePath':_0x581242['filePath'],'lineNumber':_0x581242['lineNumber'],'lineContent':_0x581242[_0x8814(0xec)]});}return{'matches':_0x550e15,'matchesByTerm':_0x390dac,'errorFiles':_0x4d0298};}async[a0_0x230c82(0xbf)](_0x33e3a5,_0x3d9de0,_0x8675d1){const _0x3545b9=a0_0x230c82,_0x2d3bed=[];let _0x3864a4=0x0;try{const _0x208687=await a0_0x4ac40b[_0x3545b9(0xff)](_0x33e3a5,FILE_ENCODING),_0x1bc623=_0x208687[_0x3545b9(0xd1)]('\x0a'),_0x2aff09=a0_0x3cd011['relative'](_0x8675d1,_0x33e3a5);for(let _0x4d54f8=0x0;_0x4d54f8<_0x1bc623['length'];_0x4d54f8++){const _0x59f6d7=_0x1bc623[_0x4d54f8],_0x12518a=_0x4d54f8+0x1;for(const _0x2def2e of _0x3d9de0){if(_0x59f6d7['includes'](_0x2def2e)){let _0xc5c97e=_0x59f6d7;if(_0xc5c97e['length']>this['seekConfig'][_0x3545b9(0x112)]){const _0x59e97d=_0xc5c97e['indexOf'](_0x2def2e),_0x5b396b=Math['max'](0x0,_0x59e97d-0x32),_0x175575=Math[_0x3545b9(0xd8)](_0xc5c97e[_0x3545b9(0xa1)],_0x59e97d+_0x2def2e['length']+0x32);_0xc5c97e=(_0x5b396b>0x0?'...':'')+_0xc5c97e['substring'](_0x5b396b,_0x175575)+(_0x175575<_0xc5c97e['length']?'...':'');}_0x2d3bed[_0x3545b9(0xa4)]({'term':_0x2def2e,'filePath':_0x2aff09,'lineNumber':_0x12518a,'lineContent':_0xc5c97e[_0x3545b9(0x119)]()}),_0x3864a4++;if(_0x3864a4>=this['seekConfig'][_0x3545b9(0x105)])return this['logger']?.[_0x3545b9(0xdd)](_0x3545b9(0xfa),{'filePath':_0x2aff09}),_0x2d3bed;}}}}catch(_0x2bd136){throw new Error(_0x3545b9(0xee)+_0x2bd136[_0x3545b9(0xf3)]);}return _0x2d3bed;}['formatResults'](_0x342a68,_0x5dc0c7,_0x507647,_0x596b85){const _0x1766b4=a0_0x230c82;let _0x35e46c='';if(_0x507647[_0x1766b4(0xa1)]>0x0){_0x35e46c+=_0x1766b4(0xf6);for(const _0x2bd7bb of _0x507647){_0x35e46c+=_0x1766b4(0xf5)+_0x2bd7bb+'\x0a';}_0x35e46c+='\x0a';}if(_0x5dc0c7[_0x1766b4(0xa1)]>0x0){_0x35e46c+=_0x1766b4(0xdc);for(const _0x1a1be9 of _0x5dc0c7){_0x35e46c+='\x20\x20-\x20'+_0x1a1be9['filePath']+':\x20'+_0x1a1be9[_0x1766b4(0x110)]+'\x0a';}_0x35e46c+='\x0a';}if(_0x342a68[_0x1766b4(0xa1)]===0x0)_0x35e46c+=_0x1766b4(0x118)+_0x596b85+_0x1766b4(0xb5);else{const _0x4033f1={};for(const _0x5010e3 of _0x342a68){!_0x4033f1[_0x5010e3[_0x1766b4(0xe1)]]&&(_0x4033f1[_0x5010e3[_0x1766b4(0xe1)]]=[]),_0x4033f1[_0x5010e3['term']][_0x1766b4(0xa4)](_0x5010e3);}_0x35e46c+='SEARCH\x20RESULTS\x20('+_0x342a68[_0x1766b4(0xa1)]+_0x1766b4(0xcb)+_0x596b85+'\x20file(s)):\x0a\x0a';for(const [_0x11cc57,_0xb11bc]of Object['entries'](_0x4033f1)){_0x35e46c+='Search\x20term:\x20\x22'+_0x11cc57+_0x1766b4(0xca)+_0xb11bc[_0x1766b4(0xa1)]+'\x20matches)\x0a';for(const _0x3176b5 of _0xb11bc){_0x35e46c+='\x20\x20'+_0x3176b5['filePath']+':'+_0x3176b5['lineNumber']+_0x1766b4(0xe9)+_0x3176b5[_0x1766b4(0xec)]+'\x0a';}_0x35e46c+='\x0a';}_0x342a68['length']>=this[_0x1766b4(0xf0)][_0x1766b4(0xdb)]&&(_0x35e46c+='⚠️\x20\x20Maximum\x20matches\x20limit\x20reached\x20('+this[_0x1766b4(0xf0)][_0x1766b4(0xdb)]+_0x1766b4(0x11b));}return _0x35e46c['trim']();}[a0_0x230c82(0xad)](){const _0x35ec33=a0_0x230c82;return[_0x35ec33(0xb6),_0x35ec33(0xd7),'.ts','.tsx',_0x35ec33(0x109),'.xml',_0x35ec33(0xa3),_0x35ec33(0xc5),'.scss',_0x35ec33(0xaf),_0x35ec33(0xb8),'.md','.txt',_0x35ec33(0x102),_0x35ec33(0x108),_0x35ec33(0xab),_0x35ec33(0x128),_0x35ec33(0xc2),'.rs','.c','.cpp','.h','.hpp',_0x35ec33(0xe8),_0x35ec33(0xb3),_0x35ec33(0xe4),'.yml',_0x35ec33(0xc8),'.toml','.ini',_0x35ec33(0xb1)];}async['cleanup'](_0x50db81){const _0x12aae7=a0_0x230c82;this['logger']?.['info'](_0x12aae7(0xd3),{'operationId':_0x50db81});}}export default SeekTool;
|
|
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 +1 @@
|
|
|
1
|
-
const a0_0x24ff7f=a0_0x1be1;(function(_0x4e1a53,_0x286262){const _0x59a286=a0_0x1be1,_0x5935ae=_0x4e1a53();while(!![]){try{const _0x55eab9=-parseInt(_0x59a286(0x245))/0x1*(parseInt(_0x59a286(0x24e))/0x2)+parseInt(_0x59a286(0x199))/0x3+parseInt(_0x59a286(0x1d0))/0x4*(parseInt(_0x59a286(0x193))/0x5)+parseInt(_0x59a286(0x1a1))/0x6+-parseInt(_0x59a286(0x1a4))/0x7+parseInt(_0x59a286(0x1e2))/0x8+-parseInt(_0x59a286(0x23e))/0x9*(parseInt(_0x59a286(0x1b3))/0xa);if(_0x55eab9===_0x286262)break;else _0x5935ae['push'](_0x5935ae['shift']());}catch(_0x384046){_0x5935ae['push'](_0x5935ae['shift']());}}}(a0_0x3ef6,0x4a57b));import{BaseTool}from'./baseTool.js';import a0_0x38bb13 from'../utilities/tagParser.js';function a0_0x3ef6(){const _0xf1b3db=['lI4Vyw5HBhL6zxjZl0nVBMzPz1zHBgLKyxrVCI5QCW','DgLTzw91Da','ugfYC2vKifn0yxrPy0fUywX5C2LZihrVB2WGCgfYyw1LDgvYCW','zgv0zwn0tgfUz3vHz2u','mtm3nZjMDeHOrMS','C3bSAxq','AMf2yxnJCMLWDa','Bwf4rMLSzxnqzxjcyxrJAa','z2v0rvnmAw50qw5HBhL6zxi','zgv0zwn0sLngCMfTzxDVCMS','Bg9Nz2vY','v3jPDguGywnJzxnZigrLBMLLzdOG','rvHuru5tsu9ox1rpx0XbtKDvquDf','DxrMltG','CM91BMq','y2f0zwDVCNK','zgv0zwn0rNjHBwv3B3jR','C3vIC3rYAw5N','ufLuse9ox1bprvrswq','zML4rMLSzq','y2fJAgviAxrZ','Aw5JBhvKzvDHCM5PBMDZ','yw5HBhL6zs1WCM9Qzwn0','vg9Vig1HBNKGzMLSzxm6ia','z2v0v29YA2LUz0rPCMvJDg9YEq','u0ntuW','CgfYC2vbDhrYAwj1DgvZ','u0vwrvjjvfK','D3jPDguTzMLSzq','zgLYzwn0B3j5','cLn0yxrPyYbdB2rLiefUywX5C2LZifrVB2W6iefUywX5EMuGy29KzsbMAwXLCYbMB3iGzxjYB3jZihDPDgHVDxqGzxHLy3v0Aw9UcGPuAgLZihrVB2WGCgvYzM9YBxmGC3rHDgLJigfUywX5C2LZig9UignVzguGzMLSzxmGDg8GzMLUzcbZEw50yxGGzxjYB3jZlcb0ExbLigvYCM9YCYWGAw1WB3j0igLZC3vLCYWGyw5Kig90AgvYihbYB2jSzw1ZihDPDgHVDxqGCNvUBMLUzYb0AguGy29Kzs4GsxqGDxnLCYbVzMzPy2LHBcbSyw5NDwfNzsbWyxjZzxjZigzVCIbHy2n1CMf0zsbYzxn1BhrZlGOku1vque9sveveieXbtKDvquDfuZOklsbkyxzHu2nYAxb0icGUANmSic5QC3GSic5TANmSic5JANmPcI0GvhLWzvnJCMLWDcaOlNrZlcaUDhn4kqOTifb5DgHVBIaOlNb5kqOTientuYaOlMnZCYKklsbtq1nticGUC2nZCYWGlNnHC3mPcI0GtevtuYaOlMXLC3mPcGPvu0fhrsaTifHntcbgt1jnqvq6cGPtAw5NBguGrMLSzsbbBMfSExnPCZOkw3rVB2WGAwq9iNn0yxrPy2fUywX5C2LZiL0kpgfUywX5EMuGzMLSzs1WyxrOpsjZCMmVAw5KzxGUANmIic8+cLSVDg9VBf0kcK11BhrPCgXLiezPBgvZiefUywX5C2LZoGPBDg9VBcbPzd0IC3rHDgLJyw5HBhLZAxmIxqO8yw5HBhL6zsbMAwXLlxbHDgG9iNnYyY9PBMrLEc5QCYiGlZ4kpgfUywX5EMuGzMLSzs1WyxrOpsjZCMmVDxrPBhmUANmIic8+cJXHBMfSExPLigzPBguTCgf0Ad0IC3jJl2nVBxbVBMvUDhmVqNv0Dg9UlMPZEciGlZ4kwY90B29SxqOkuhjVAMvJDc1xAwrLiefUywX5C2LZoGPBDg9VBcbPzd0IC3rHDgLJyw5HBhLZAxmIxqO8yw5HBhL6zs1WCM9Qzwn0igrPCMvJDg9YEt0IC3jJiIbWyxr0zxjUpsiQkI8QlMPZiIaVpGPBl3rVB2XDcGPbDxrVluzPEcbdB2rLieLZC3vLCZOkw3rVB2WGAwq9iNn0yxrPy2fUywX5C2LZiL0kpgzPEcbMAwXLlxbHDgG9iNnYyY9HChaUANmIic8+cLSVDg9VBf0kcKzVCM1HDcbdB2rLoGPBDg9VBcbPzd0IC3rHDgLJyw5HBhLZAxmIxqO8zM9YBwf0igzPBguTCgf0Ad0IC3jJl2fWCc5QCYiGlZ4kwY90B29SxqOkvvnbr0uGlsbku09oiezpuK1bvdOkcMbGygPZB24kEWOGicj0B29SswqIoIaIC3rHDgLJyw5HBhLZAxmIlaOGicjHy3rPB25ZiJOGwWOGicaGEWOGicaGicaIDhLWzsi6icjHBMfSExPLiIWkicaGicaGiMzPBgvqyxrOiJOGiNnYyY9PBMrLEc5QCYikicaGih0ScIaGicb7cIaGicaGicj0ExbLiJOGiMfUywX5EMuTChjVAMvJDciScIaGicaGicjKAxjLy3rVCNKIoIaIC3jJiIWkicaGicaGiNbHDhrLCM4IoIaIkIOVkI57ANmSDhmSChL9iGOGicaGFqOGif0kFqPGygakcLbbuKfnrvrfuLm6cI0GzMLSzs1WyxrOoIbqyxrOihrVigzPBguGDg8Gyw5HBhL6zsaOzM9YihnPBMDSzsbMAwXLkqOTigrPCMvJDg9YEtOGrgLYzwn0B3j5ihrVigfUywX5EMuGkgzVCIbWCM9Qzwn0lxDPzguPcI0GCgf0DgvYBJOGr2XVyIbWyxr0zxjUigzVCIbMAwXLCYb0BYbPBMnSDwrLicHVChrPB25HBcWGzgvMyxvSDhmGDg8GBgfUz3vHz2uTC3bLy2LMAwmGCgf0DgvYBNmPcI0GAw5JBhvKzs13yxjUAw5NCZOGsw5JBhvKzsb3yxjUAw5NCYbPBIbYzxn1BhrZicH0CNvLl2zHBhnLlcbKzwzHDwX0oIb0CNvLkqOTig1HEc1LCNjVCNm6ie1HEgLTDw0GBNvTyMvYig9MigvYCM9YCYb0BYbYzxr1CM4GkgrLzMf1Bhq6igfSBcKkcK9vvfbvvcbgt1jnqvq6cLjLDhvYBNmGC3rYDwn0DxjLzcbLCNjVCIbPBMzVCM1HDgLVBJOklsbMAwXLoIbgAwXLihbHDgGklsbSAw5LoIbmAw5Lig51BwjLCGOTignVBhvTBJOGq29SDw1Uig51BwjLCGOTihnLDMvYAxr5oIbJCML0AwnHBcb8igvYCM9YihWGD2fYBMLUzYb8igLUzM8klsbYDwXLoIbsDwXLigLKzw50AwzPzxiklsbTzxnZywDLoIbiDw1HBI1YzwfKywjSzsbKzxnJCMLWDgLVBGOTignHDgvNB3j5oIbZEw50yxGGFcb0ExbLihWGAw1WB3j0ihWGC3r5BguGFcbZzwn1CML0Esb8ihbLCMzVCM1HBMnLihWGyMvZDf9WCMfJDgLJzqOTigzPEgfIBgu6ifDOzxrOzxiGzxjYB3iGy2fUigjLigf1Dg8TzML4zwqklsbZDwDNzxn0Aw9UoIbgAxGGC3vNz2vZDgLVBIaOAwyGyxbWBgLJywjSzsKklsbYzw1LzgLHDgLVBJOGu2vJDxjPDhKGCMvTzwrPyxrPB24Gywr2AwnLicHMB3iGC2vJDxjPDhKGAxnZDwvZkqOkrevurunusu9ooGOTieXHBMD1ywDLoIbbDxrVBwf0AwnHBgX5igrLDgvJDgvKigzYB20GzMLSzsbLEhrLBNnPB24klsbgCMfTzxDVCMS6ierLDgvJDgvKigzYB20GCgfJA2fNzs5QC29UlcbYzxf1AxjLBwvUDhmUDhH0lcbLDgmUcI0Gq29UDgv4DdOGuhjVAMvJDcbZDhj1y3r1CMuGyw5HBhL6zwqGzM9YigjLDhrLCIbHy2n1CMfJEqOkrvHbtvbmrvm6cGPgAw5KigfSBcbLCNjVCNmGAw4GysbkyxzHu2nYAxb0igzPBgu6cLT0B29SigLKpsjZDgf0AwnHBMfSExnPCYjDcJXHBMfSExPLigzPBguTCgf0Ad0IC3jJl2fWCc5QCYiGlZ4kwY90B29SxqOkqw5HBhL6zsbuExbLu2nYAxb0ihDPDgGGDhLWzsbJAgvJA2LUzZOkw3rVB2WGAwq9iNn0yxrPy2fUywX5C2LZiL0kpgfUywX5EMuGzMLSzs1WyxrOpsjZCMmVDhLWzxmUDhmIic8+cLSVDg9VBf0kcKnOzwnRigfSBcbqExrOB24GzMLSzxmGAw4GysbKAxjLy3rVCNK6cLT0B29SigLKpsjZDgf0AwnHBMfSExnPCYjDcJXHBMfSExPLlxbYB2PLy3qGzgLYzwn0B3j5psjIywnRzw5KiIbWyxr0zxjUpsiQkI8QlNb5iIaVpGPBl3rVB2XDcGPmsu1jvefusu9ouZOklsbgAwXLihnPEMuGBgLTAxq6ia','vw5RBM93BIbHy3rPB24GDhLWztOG','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','BwvZC2fNzq','ChvZAa','BM93','y3jLyxrLuMvSyxrPDMvqyxrO','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','rNjHBwv3B3jRigrLDgvJDgLVBIbMywLSzwq','zxjYB3jZqNLdyxrLz29YEq','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfUywX5EMu','zgLZDa','zM9YBwf0','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','zMLSDgvY','CgfYywXSzwXbBMfSExnPCW','tuiGCgvYigzPBguklsbcyxrJAcbSAw1PDdOG','vfLqrvnduKLqva','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','C2nHBM5LCG','DhLWzq','CgfJA2fNzs5QC29U','nJC1otmWuM9hugT3','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','AZHZ','Dg90ywXfCNjVCNm','rLjbtuvxt1jlx01btKLgrvnuuW','yxjYyxK','ntKWntC0ufnQEM1b','icHTyxGG','qwn0Aw9Uia','C2v0','igj5DgvZicHTyxGG','rMLSzsb0B28GBgfYz2u6ia','z2v0rgvZy3jPChrPB24','CMvHC29U','mZu4odCWmNvOzuj0sG','Aw5JBhvKzxm','rMLSzsb0ExbLig5VDcbZDxbWB3j0zwqGyNKGuhjLDhrPzxi','mJKWmZeXwgv0AhLz','B25qCM9NCMvZCW','Dg90ywXdCML0AwnHBa','Aw5MBW','Bwf4rMLSzvnPEMu','zxnSAw50','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4','C3rHDgLJyw5HBhLZAxm','uMvHzcbHy2nLC3mGzgvUAwvKoIa','DhLWzxnJCMLWDa','Dhj1BMnHDgvK','y29UzMLN','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','Dg90ywXbBMfSExnPC1rPBwu','DhjPBq','mtq3otu1mfHpqvzJAG','zgv2rgvWzw5Kzw5JAwvZ','zxHLy3v0zq','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','zMLUzenVBMzPz0zPBgvZ','sKfwqvnduKLqva','yw5HBhL6zq','z2v0uhjLDhrPzxjgB3jTyxr0zxi','z2v0vgLTzq','yw5HBhL6zxjZ','C2vJDxjPDhLty2fUuhjVAMvJDa','C2vJDxjPDhK','zxjYB3jZ','AxneAxjLy3rVCNK','ywXSB3DLza','z2v0qw5HBhL6zxi','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','v0fstKLorW','q1jjveLdquW','tefor1vbr0u','ChL0Ag9U','Dg90ywXbBMfSExnLCW','x19WEwnHy2HLx18','zMXVB3i','C2XPy2u','q1nt','yw5HBhLZAxndywnOzq','D2fYBG','nePut1r3wq','lMvUDI5LEgfTCgXL','zMLUzezPBgvZ','y3jPDgLJywW','yw5HBhL6zwq','DgLTzxn0yw1W','CMf3q29UDgvUDa','CMvTywLUAw5Nv2fYBMLUz3m','D2fYBMLUz3m','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','zgLNzxn0','zM9YBwf0DgvYCW','AM9PBG','Dg9ju09tDhjPBMC','lNLHBwW','lNrM','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','Aw5JBhvKzs13yxjUAw5NCW','mJq1ode5mMvzA3HLwq','ufLuse9ox0zsqu1fv09ss1m','DMfSAwrHDguTy29UzMLN','AgfZ','vxnPBMCGCgfYywXSzwWGC2vJDxjPDhKGC2nHBM5PBMC','Dg9mB3DLCKnHC2u','u2vJDxjPDhKGC2nHBM5PBMCGB25SEsbZDxbWB3j0CYbkyxzHu2nYAxb0lcbuExbLu2nYAxb0lcbHBMqGuhL0Ag9UigzPBgvZ','Bwf4ugfYywXSzwXgAwXLCW','y3nZ','tM8Gyw5HBhL6zxiGyxzHAwXHyMXLigzVCIa','BM9Kzv9TB2r1BgvZ','C3rHDa','C2vJDxjPDhKTC2nHBG','q0fdsevFrfvsqvrjt04','C2TPCc10zxn0lwzPBgvZ','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','BwfW','C3vTBwfYEq','yw5HBhL6zuzPBgu','BMfTzq','AxngAwXL','z2v0ugfYyw1LDgvYu2nOzw1H','Bwf4rxjYB3jZ','zxjYB3i','zMLSzxnbBMfSExPLza','zw50CMLLCW','u3rHDgLJigfUywX5C2LZigfJDgLVBIbMywLSzwq','CMvHzezPBgu','DxbKyxrLu3vTBwfYEq','DMfSAwrHDgu','C2L6zq','zg9JA2vYlwnVBxbVC2uUEwfTBa','DMfSAwrHDgvszwfKqwnJzxnZ','zM9YrwfJAa','BNvTyMvY','BM9YBwfSAxPL','A3vIzxjUzxrLCW','CMvZB2X2zq','D3jPDgvgAwXL','ChjLDhrPzxi','y29UDgvUDa','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzY1KAxjLy3rVCNK','BxrPBwu','DgvYCMfMB3jT','zxHLyW','BNbTlwf1zgL0','C2v2zxjPDhK','y29TChv0zunVBNrLBNriyxnO','CMvXDwLYzxnqCM9Qzwn0','z2v0u3vWCg9YDgvKqwn0Aw9UCW','zMLSzvbHDgG','AxnbCNjHEq','ywn0Aw9UCW','y3jLyxrLsgfZAa','lNbYzxr0AwvYCMmUANnVBG','su5gtW','zML4','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4G','zgvWzw5Kzw5JAwvZ','AxnbyNnVBhv0zq','AxnbC3LUyW','zxH0BMfTzq','Bwv0CMLJCW','z2v0','DxnLq29UDgvUDeHHC2G','y2HHBMDLCW','Cgf0DgvYBG','lMvZBgLUDhjJlMPZB24','Dg90ywW','zMLSzs1WyxrO','CMvZDwX0','Dhj1zq','C2TPCfrLC3rgAwXLCW','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzPEa','DMvUDG','zgvIDwC','zg9JA2vYlwnVBxbVC2uUEw1S','y2fJAgvfEhbPCNK','zMLSzxnxAxrOrxjYB3jZ','Dg90ywXgAwXLCW','CMvHzgrPCG','BgvUz3rO','C3rHCNrZv2L0Aa','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5Fq','zMLSzxm','zM9YBwf0DgvK','y2XLyxi','oIb0ExbLigLZihjLCxvPCMvK','lI4Vyw5HBhL6zxjZl0PHDMfty3jPChrbBMfSExPLCI5QCW','rMfPBgvKihrVigzVCM1HDca','tevtuW','C3rYAw5N','mJDpuhLMEve','zgv0zwn0uhL0Ag9UrNjHBwv3B3jR','DMfSAwrHDgvdB25MAwDgAwXL','yNvPBgq','ufLuse9o','tufyx0zjtevFu0LArv9gt1jFqu5btfLtsvm','y3DK','nJvSyMvYuKq','yw5HBhL6zvbYB2PLy3q','sLnFrLjbtuvxt1jluW','CgfYC2vqyxjHBwv0zxjZ','yM9VBgvHBG'];a0_0x3ef6=function(){return _0xf1b3db;};return a0_0x3ef6();}import a0_0x58e625 from'../utilities/directoryAccessManager.js';import a0_0x3fbac7 from'fs/promises';function a0_0x1be1(_0x34f63,_0x13a4af){_0x34f63=_0x34f63-0x181;const _0x3ef602=a0_0x3ef6();let _0x1be184=_0x3ef602[_0x34f63];if(a0_0x1be1['qJJyUs']===undefined){var _0x4cbb77=function(_0x44248e){const _0x15aed3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38bb13='',_0x58e625='';for(let _0x3fbac7=0x0,_0x3da306,_0x3c3cf7,_0x5394c4=0x0;_0x3c3cf7=_0x44248e['charAt'](_0x5394c4++);~_0x3c3cf7&&(_0x3da306=_0x3fbac7%0x4?_0x3da306*0x40+_0x3c3cf7:_0x3c3cf7,_0x3fbac7++%0x4)?_0x38bb13+=String['fromCharCode'](0xff&_0x3da306>>(-0x2*_0x3fbac7&0x6)):0x0){_0x3c3cf7=_0x15aed3['indexOf'](_0x3c3cf7);}for(let _0x3f0184=0x0,_0x3fe4a6=_0x38bb13['length'];_0x3f0184<_0x3fe4a6;_0x3f0184++){_0x58e625+='%'+('00'+_0x38bb13['charCodeAt'](_0x3f0184)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58e625);};a0_0x1be1['xMmexw']=_0x4cbb77,a0_0x1be1['BLKush']={},a0_0x1be1['qJJyUs']=!![];}const _0x4d1511=_0x3ef602[0x0],_0x55c032=_0x34f63+_0x4d1511,_0xacef2f=a0_0x1be1['BLKush'][_0x55c032];return!_0xacef2f?(_0x1be184=a0_0x1be1['xMmexw'](_0x1be184),a0_0x1be1['BLKush'][_0x55c032]=_0x1be184):_0x1be184=_0xacef2f,_0x1be184;}import a0_0x3da306 from'path';import a0_0x3c3cf7 from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x5394c4={},_0x3f0184=null){const _0x46cc27=a0_0x1be1;super(_0x5394c4,_0x3f0184),this[_0x46cc27(0x212)]=!![],this[_0x46cc27(0x21e)]=![],this[_0x46cc27(0x24b)]=_0x5394c4['timeout']||STATIC_ANALYSIS['ANALYSIS_TIMEOUT'],this[_0x46cc27(0x1b0)]=_0x5394c4['maxConcurrentOperations']||0x1,this['maxFileSize']=_0x5394c4['maxFileSize']||STATIC_ANALYSIS[_0x46cc27(0x243)],this[_0x46cc27(0x251)]=_0x5394c4['maxFilesPerBatch']||STATIC_ANALYSIS['MAX_FILES_PER_BATCH'],this['enableCache']=_0x5394c4['enableCache']!==![]&&STATIC_ANALYSIS['ENABLE_CACHE'],this[_0x46cc27(0x1ce)]=new Map(),this[_0x46cc27(0x22f)]=STATIC_ANALYSIS[_0x46cc27(0x1ef)],this[_0x46cc27(0x18b)]=_0x5394c4[_0x46cc27(0x18b)]!==![],this['maxParallelFiles']=_0x5394c4['maxParallelFiles']||0xa,this['useContentHash']=_0x5394c4['useContentHash']!==![],this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x46cc27(0x18e)]=new a0_0x58e625(_0x5394c4,_0x3f0184),this['analyzers']={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}[a0_0x24ff7f(0x19f)](){const _0x2267aa=a0_0x24ff7f;return _0x2267aa(0x268)+Math[_0x2267aa(0x258)](this[_0x2267aa(0x1a8)]/0x400/0x400)+_0x2267aa(0x18c)+this['maxFilesPerBatch']+'\x20files\x20per\x20operation\x0a-\x20Analysis\x20timeout:\x20'+this['timeout']/0x3e8+'\x20seconds\x0a-\x20Only\x20supports\x20languages\x20with\x20built-in\x20analyzers\x0a\x20\x20\x20\x20';}[a0_0x24ff7f(0x248)](_0x3fe4a6){const _0x4b0044=a0_0x24ff7f;try{const _0x42ae44={},_0x5db09f=[];this[_0x4b0044(0x254)]?.['debug']('StaticAnalysis\x20tool\x20parsing\x20parameters',{'contentLength':_0x3fe4a6['length'],'contentPreview':_0x3fe4a6['substring'](0x0,0xc8)});const _0x527e3c=/<analyze\s+(.+?)\/>/g;let _0x290120;while((_0x290120=_0x527e3c['exec'](_0x3fe4a6))!==null){const _0x2670d0=_0x290120[0x1]['trim'](),_0x3e0736=new a0_0x38bb13(),_0x7bd67b=_0x3e0736['parseAttributes'](_0x2670d0),_0x294029={'type':_0x4b0044(0x1ba),..._0x7bd67b};_0x294029['file-path']&&(_0x294029[_0x4b0044(0x214)]=_0x294029[_0x4b0044(0x227)],delete _0x294029[_0x4b0044(0x227)]),_0x294029['include-warnings']&&(_0x294029['includeWarnings']=_0x294029[_0x4b0044(0x1e1)]===_0x4b0044(0x229),delete _0x294029['include-warnings']),_0x294029['max-errors']&&(_0x294029['maxErrors']=parseInt(_0x294029['max-errors'],0xa),delete _0x294029['max-errors']),_0x5db09f['push'](_0x294029);}const _0x28c9aa=/<analyze-project\s+(.+?)\/>/g;while((_0x290120=_0x28c9aa['exec'](_0x3fe4a6))!==null){const _0x1b7324=_0x290120[0x1][_0x4b0044(0x1b2)](),_0x522d21=new a0_0x38bb13(),_0x559d65=_0x522d21[_0x4b0044(0x264)](_0x1b7324),_0x497cf0={'type':_0x4b0044(0x260),..._0x559d65};_0x497cf0[_0x4b0044(0x1e1)]&&(_0x497cf0[_0x4b0044(0x25f)]=_0x497cf0[_0x4b0044(0x1e1)]==='true',delete _0x497cf0[_0x4b0044(0x1e1)]),_0x497cf0['max-errors']&&(_0x497cf0[_0x4b0044(0x1f8)]=parseInt(_0x497cf0['max-errors'],0xa),delete _0x497cf0['max-errors']),_0x5db09f[_0x4b0044(0x26d)](_0x497cf0);}const _0x48f96c=/<fix\s+(.+?)\/>/g;while((_0x290120=_0x48f96c[_0x4b0044(0x20e)](_0x3fe4a6))!==null){const _0x280243=_0x290120[0x1][_0x4b0044(0x1b2)](),_0x54370a=new a0_0x38bb13(),_0x2d5234=_0x54370a['parseAttributes'](_0x280243),_0x5386b5={'type':'fix',..._0x2d5234};_0x5386b5[_0x4b0044(0x227)]&&(_0x5386b5[_0x4b0044(0x214)]=_0x5386b5[_0x4b0044(0x227)],delete _0x5386b5[_0x4b0044(0x227)]),_0x5386b5[_0x4b0044(0x266)]&&(_0x5386b5['writeFile']=_0x5386b5[_0x4b0044(0x266)]===_0x4b0044(0x229),delete _0x5386b5['write-file']),_0x5db09f['push'](_0x5386b5);}const _0x47fc45=/<format\s+(.+?)\/>/g;while((_0x290120=_0x47fc45['exec'](_0x3fe4a6))!==null){const _0x555ec6=_0x290120[0x1][_0x4b0044(0x1b2)](),_0x83fadc=new a0_0x38bb13(),_0x184d79=_0x83fadc[_0x4b0044(0x264)](_0x555ec6),_0x164b8f={'type':'format',..._0x184d79};_0x164b8f['file-path']&&(_0x164b8f['filePath']=_0x164b8f['file-path'],delete _0x164b8f['file-path']),_0x164b8f['write-file']&&(_0x164b8f[_0x4b0044(0x208)]=_0x164b8f['write-file']==='true',delete _0x164b8f['write-file']),_0x5db09f[_0x4b0044(0x26d)](_0x164b8f);}const _0x4919ce=/<security-scan\s+(.+?)\/>/g;while((_0x290120=_0x4919ce[_0x4b0044(0x20e)](_0x3fe4a6))!==null){const _0x7a22d3=_0x290120[0x1]['trim'](),_0x1dded1=new a0_0x38bb13(),_0xba85a7=_0x1dded1[_0x4b0044(0x264)](_0x7a22d3),_0x298ac2={'type':'security-scan',..._0xba85a7};_0x298ac2['file-path']&&(_0x298ac2[_0x4b0044(0x214)]=_0x298ac2['file-path'],delete _0x298ac2[_0x4b0044(0x227)]),_0x298ac2[_0x4b0044(0x1f0)]&&(_0x298ac2[_0x4b0044(0x22a)]=_0x298ac2[_0x4b0044(0x1f0)]==='true',delete _0x298ac2['skip-test-files']),_0x5db09f[_0x4b0044(0x26d)](_0x298ac2);}const _0x2a71aa=/<security-scan-project\s+(.+?)\/>/g;while((_0x290120=_0x2a71aa[_0x4b0044(0x20e)](_0x3fe4a6))!==null){const _0x28fbd6=_0x290120[0x1]['trim'](),_0xaa8e1=new a0_0x38bb13(),_0x2f4d64=_0xaa8e1[_0x4b0044(0x264)](_0x28fbd6),_0x5af315={'type':_0x4b0044(0x194),..._0x2f4d64};_0x5af315[_0x4b0044(0x1f0)]&&(_0x5af315[_0x4b0044(0x22a)]=_0x5af315[_0x4b0044(0x1f0)]==='true',delete _0x5af315['skip-test-files']),_0x5db09f[_0x4b0044(0x26d)](_0x5af315);}const _0x139ee7=/<validate-config\s+(.+?)\/>/g;while((_0x290120=_0x139ee7['exec'](_0x3fe4a6))!==null){const _0x4b373e=_0x290120[0x1][_0x4b0044(0x1b2)](),_0x3f15d0=new a0_0x38bb13(),_0x36321e=_0x3f15d0[_0x4b0044(0x264)](_0x4b373e),_0x4b384c={'type':_0x4b0044(0x1e4),..._0x36321e};_0x4b384c['file-path']&&(_0x4b384c['filePath']=_0x4b384c[_0x4b0044(0x227)],delete _0x4b384c[_0x4b0044(0x227)]),_0x5db09f[_0x4b0044(0x26d)](_0x4b384c);}const _0x25f06f=/<validate-config-directory\s+(.+?)\/>/g;while((_0x290120=_0x25f06f[_0x4b0044(0x20e)](_0x3fe4a6))!==null){const _0xa46217=_0x290120[0x1][_0x4b0044(0x1b2)](),_0x1fbb3a=new a0_0x38bb13(),_0x48c631=_0x1fbb3a[_0x4b0044(0x264)](_0xa46217),_0x1337f0={'type':_0x4b0044(0x1b6),..._0x48c631};_0x5db09f['push'](_0x1337f0);}return _0x42ae44['actions']=_0x5db09f,_0x42ae44[_0x4b0044(0x1d6)]=_0x3fe4a6['trim'](),this[_0x4b0044(0x254)]?.['debug'](_0x4b0044(0x24c),{'totalActions':_0x5db09f['length'],'actionTypes':_0x5db09f['map'](_0xf1edd=>_0xf1edd['type'])}),_0x42ae44;}catch(_0x4465c4){throw new Error('Failed\x20to\x20parse\x20static\x20analysis\x20parameters:\x20'+_0x4465c4[_0x4b0044(0x26c)]);}}[a0_0x24ff7f(0x1d9)](){return['actions'];}[a0_0x24ff7f(0x26b)](_0x515b9f){const _0x35848b=a0_0x24ff7f,_0x1fd82e=[];if(!_0x515b9f[_0x35848b(0x216)]||!Array[_0x35848b(0x215)](_0x515b9f[_0x35848b(0x216)])||_0x515b9f[_0x35848b(0x216)]['length']===0x0)_0x1fd82e['push'](_0x35848b(0x26a));else{for(const [_0x22437b,_0x3d3b88]of _0x515b9f[_0x35848b(0x216)]['entries']()){if(!_0x3d3b88[_0x35848b(0x191)]){_0x1fd82e[_0x35848b(0x26d)](_0x35848b(0x19b)+(_0x22437b+0x1)+_0x35848b(0x239));continue;}switch(_0x3d3b88['type']){case'analyze':!_0x3d3b88['filePath']&&_0x1fd82e[_0x35848b(0x26d)](_0x35848b(0x19b)+(_0x22437b+0x1)+_0x35848b(0x186));break;case'analyze-project':!_0x3d3b88[_0x35848b(0x267)]&&_0x1fd82e['push']('Action\x20'+(_0x22437b+0x1)+':\x20directory\x20is\x20required\x20for\x20analyze-project');break;case'fix':!_0x3d3b88['filePath']&&_0x1fd82e['push']('Action\x20'+(_0x22437b+0x1)+_0x35848b(0x22b));break;case'format':!_0x3d3b88[_0x35848b(0x214)]&&_0x1fd82e[_0x35848b(0x26d)]('Action\x20'+(_0x22437b+0x1)+':\x20file-path\x20is\x20required\x20for\x20format');break;case _0x35848b(0x1ee):!_0x3d3b88[_0x35848b(0x214)]&&_0x1fd82e[_0x35848b(0x26d)](_0x35848b(0x19b)+(_0x22437b+0x1)+_0x35848b(0x1aa));break;case'security-scan-project':!_0x3d3b88[_0x35848b(0x267)]&&_0x1fd82e['push'](_0x35848b(0x19b)+(_0x22437b+0x1)+':\x20directory\x20is\x20required\x20for\x20security-scan-project');break;case _0x35848b(0x1e4):!_0x3d3b88['filePath']&&_0x1fd82e['push'](_0x35848b(0x19b)+(_0x22437b+0x1)+':\x20file-path\x20is\x20required\x20for\x20validate-config');break;case'validate-config-directory':!_0x3d3b88['directory']&&_0x1fd82e[_0x35848b(0x26d)](_0x35848b(0x19b)+(_0x22437b+0x1)+_0x35848b(0x20b));break;default:_0x1fd82e['push'](_0x35848b(0x19b)+(_0x22437b+0x1)+_0x35848b(0x189)+_0x3d3b88['type']);}}_0x515b9f['actions']['length']>this['maxFilesPerBatch']&&_0x1fd82e[_0x35848b(0x26d)]('Too\x20many\x20actions:\x20'+_0x515b9f['actions'][_0x35848b(0x233)]+_0x35848b(0x19a)+this[_0x35848b(0x251)]+')');}return{'valid':_0x1fd82e[_0x35848b(0x233)]===0x0,'errors':_0x1fd82e};}async[a0_0x24ff7f(0x1b5)](_0x27afed,_0x2b1cbd){const _0x258117=a0_0x24ff7f,{actions:_0x4436b6}=_0x27afed,{projectDir:_0x1246d6,agentId:_0x437c06,directoryAccess:_0x43ad53}=_0x2b1cbd,_0x58e704=_0x43ad53||this['directoryAccessManager']['createDirectoryAccess']({'workingDirectory':_0x1246d6||process[_0x258117(0x244)](),'writeEnabledDirectories':[_0x1246d6||process['cwd']()],'restrictToProject':!![]}),_0x4e7d5a=this['directoryAccessManager'][_0x258117(0x262)](_0x58e704),_0x5e0d84={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x1a03bf of _0x4436b6){try{let _0x132fea;switch(_0x1a03bf[_0x258117(0x191)]){case'analyze':_0x132fea=await this[_0x258117(0x1f4)](_0x1a03bf[_0x258117(0x214)],_0x4e7d5a,_0x58e704,_0x1a03bf);_0x132fea&&(_0x5e0d84[_0x258117(0x236)][_0x258117(0x26d)](_0x132fea),this[_0x258117(0x1fe)](_0x5e0d84[_0x258117(0x1f3)],_0x132fea));break;case'analyze-project':const _0x2cad1d=await this['analyzeProject'](_0x1a03bf[_0x258117(0x267)],_0x1a03bf['pattern'],_0x4e7d5a,_0x58e704,_0x1a03bf);_0x5e0d84[_0x258117(0x236)]['push'](..._0x2cad1d);for(const _0x76902c of _0x2cad1d){this[_0x258117(0x1fe)](_0x5e0d84[_0x258117(0x1f3)],_0x76902c);}break;case _0x258117(0x21a):_0x132fea=await this['fixFile'](_0x1a03bf['filePath'],_0x4e7d5a,_0x58e704,_0x1a03bf);_0x132fea&&_0x5e0d84[_0x258117(0x236)][_0x258117(0x26d)](_0x132fea);break;case'format':_0x132fea=await this['formatFile'](_0x1a03bf[_0x258117(0x214)],_0x4e7d5a,_0x58e704,_0x1a03bf);_0x132fea&&_0x5e0d84[_0x258117(0x236)]['push'](_0x132fea);break;case'security-scan':_0x132fea=await this['securityScanFile'](_0x1a03bf[_0x258117(0x214)],_0x4e7d5a,_0x58e704,_0x1a03bf);_0x132fea&&(_0x5e0d84['files'][_0x258117(0x26d)](_0x132fea),this[_0x258117(0x1fe)](_0x5e0d84['summary'],_0x132fea));break;case'security-scan-project':const _0x216efc=await this[_0x258117(0x1be)](_0x1a03bf[_0x258117(0x267)],_0x1a03bf[_0x258117(0x224)],_0x4e7d5a,_0x58e704,_0x1a03bf);_0x5e0d84['files'][_0x258117(0x26d)](..._0x216efc);for(const _0x437347 of _0x216efc){this['updateSummary'](_0x5e0d84[_0x258117(0x1f3)],_0x437347);}break;case'validate-config':_0x132fea=await this['validateConfigFile'](_0x1a03bf[_0x258117(0x214)],_0x4e7d5a,_0x58e704,_0x1a03bf);_0x132fea&&(_0x5e0d84['files']['push'](_0x132fea),this['updateSummary'](_0x5e0d84['summary'],_0x132fea));break;case _0x258117(0x1b6):const _0x4266b7=await this['validateConfigDirectory'](_0x1a03bf['directory'],_0x4e7d5a,_0x58e704,_0x1a03bf);_0x5e0d84[_0x258117(0x236)][_0x258117(0x26d)](..._0x4266b7);for(const _0x4855c4 of _0x4266b7){this['updateSummary'](_0x5e0d84[_0x258117(0x1f3)],_0x4855c4);}break;default:throw new Error(_0x258117(0x269)+_0x1a03bf['type']);}}catch(_0x55149b){this['logger']?.[_0x258117(0x1f9)](_0x258117(0x1fc),{'action':_0x1a03bf[_0x258117(0x191)],'error':_0x55149b['message']}),_0x5e0d84[_0x258117(0x236)]['push']({'file':_0x1a03bf['filePath']||_0x1a03bf['directory'],'error':_0x55149b[_0x258117(0x26c)],'success':![]});}}return{'success':!![],'results':_0x5e0d84,'toolUsed':_0x258117(0x1ab),'performance':this['getPerformanceMetrics']()};}async['analyzeFile'](_0x7bdc94,_0x582c14,_0x2fa923,_0x1ae4be={}){const _0x4c6e30=a0_0x24ff7f,_0x4dd928=a0_0x3da306['isAbsolute'](_0x7bdc94)?a0_0x3da306[_0x4c6e30(0x205)](_0x7bdc94):a0_0x3da306['resolve'](_0x582c14,_0x7bdc94),_0x5803d5=this[_0x4c6e30(0x18e)]['validateReadAccess'](_0x4dd928,_0x2fa923);if(!_0x5803d5['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x5803d5['reason']);try{const _0x475d65=await a0_0x3fbac7[_0x4c6e30(0x1ed)](_0x4dd928);if(_0x475d65[_0x4c6e30(0x200)]>this[_0x4c6e30(0x1a8)])throw new Error(_0x4c6e30(0x19e)+_0x475d65[_0x4c6e30(0x200)]+_0x4c6e30(0x19d)+this[_0x4c6e30(0x1a8)]+')');const _0x580451=this['detectLanguage'](_0x4dd928);if(!_0x580451)return{'file':this['directoryAccessManager']['createRelativePath'](_0x4dd928,_0x2fa923),'fullPath':_0x4dd928,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'Unsupported\x20file\x20type'};const _0xaf91c9=await a0_0x3fbac7['readFile'](_0x4dd928,'utf-8'),_0x3ce206=this[_0x4c6e30(0x222)]?this['computeContentHash'](_0xaf91c9):null,_0x13f8c6=this['useContentHash']?_0x4dd928+':'+_0x3ce206:_0x4dd928+':'+_0x475d65[_0x4c6e30(0x20c)][_0x4c6e30(0x1bc)]();if(this['enableCache']&&this['analysisCache'][_0x4c6e30(0x1e5)](_0x13f8c6)){const _0x203e0e=this[_0x4c6e30(0x1ce)][_0x4c6e30(0x221)](_0x13f8c6);if(Date['now']()-_0x203e0e[_0x4c6e30(0x1d5)]<this['cacheExpiry'])return this[_0x4c6e30(0x254)]?.[_0x4c6e30(0x22d)]('Using\x20cached\x20analysis\x20result',{'file':_0x4dd928}),this['metrics']['cacheHits']++,this['metrics'][_0x4c6e30(0x1c9)]++,_0x203e0e[_0x4c6e30(0x228)];}this[_0x4c6e30(0x220)]['cacheMisses']++,this['metrics'][_0x4c6e30(0x1c9)]++;const _0x56f064=await this['getAnalyzer'](_0x580451);if(!_0x56f064)return{'file':this[_0x4c6e30(0x18e)]['createRelativePath'](_0x4dd928,_0x2fa923),'fullPath':_0x4dd928,'language':_0x580451,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x4c6e30(0x1eb)+_0x580451};const _0xc3d05c=Date['now'](),_0x21db17=await _0x56f064[_0x4c6e30(0x1ba)](_0x4dd928,_0xaf91c9,{'workingDir':_0x582c14,'accessConfig':_0x2fa923,'framework':await this['detectFramework'](_0x582c14,_0x580451)}),_0x59d714=Date[_0x4c6e30(0x181)]()-_0xc3d05c;this['metrics'][_0x4c6e30(0x1b1)]+=_0x59d714,this[_0x4c6e30(0x220)]['filesAnalyzed']++;const _0x5a58ff={'file':this[_0x4c6e30(0x18e)]['createRelativePath'](_0x4dd928,_0x2fa923),'fullPath':_0x4dd928,'language':_0x580451,'framework':await this['detectFramework'](_0x582c14,_0x580451),'errors':_0x21db17[_0x4c6e30(0x18a)](_0x588900=>_0x588900[_0x4c6e30(0x210)]===STATIC_ANALYSIS[_0x4c6e30(0x265)]['ERROR']),'warnings':_0x1ae4be['includeWarnings']!==![]?_0x21db17['filter'](_0x9b7635=>_0x9b7635['severity']===STATIC_ANALYSIS[_0x4c6e30(0x265)]['WARNING']):[],'info':_0x21db17['filter'](_0x3375c0=>_0x3375c0[_0x4c6e30(0x210)]===STATIC_ANALYSIS[_0x4c6e30(0x265)]['INFO']),'totalIssues':_0x21db17[_0x4c6e30(0x233)],'analyzed':!![],'timestamp':new Date()[_0x4c6e30(0x1dd)]()};return _0x1ae4be[_0x4c6e30(0x1f8)]&&_0x5a58ff[_0x4c6e30(0x1c0)]['length']>_0x1ae4be[_0x4c6e30(0x1f8)]&&(_0x5a58ff[_0x4c6e30(0x1c0)]=_0x5a58ff['errors']['slice'](0x0,_0x1ae4be[_0x4c6e30(0x1f8)]),_0x5a58ff[_0x4c6e30(0x1ae)]=!![]),this['enableCache']&&this['analysisCache'][_0x4c6e30(0x19c)](_0x13f8c6,{'result':_0x5a58ff,'timestamp':Date[_0x4c6e30(0x181)]()}),_0x5a58ff;}catch(_0x338ddb){throw new Error('Failed\x20to\x20analyze\x20'+_0x7bdc94+':\x20'+_0x338ddb[_0x4c6e30(0x26c)]);}}async[a0_0x24ff7f(0x246)](_0x4694ac,_0x51a077,_0x5cc35b,_0x43de00,_0x2652cd={}){const _0x2ad2ba=a0_0x24ff7f,_0x17ab2d=a0_0x3da306['isAbsolute'](_0x4694ac)?a0_0x3da306[_0x2ad2ba(0x205)](_0x4694ac):a0_0x3da306[_0x2ad2ba(0x207)](_0x5cc35b,_0x4694ac),_0x1e8335=this['directoryAccessManager'][_0x2ad2ba(0x202)](_0x17ab2d,_0x43de00);if(!_0x1e8335['allowed'])throw new Error(_0x2ad2ba(0x1ac)+_0x1e8335['reason']);const _0xbf88ff=await this['findFiles'](_0x17ab2d,_0x51a077);if(_0xbf88ff['length']>this[_0x2ad2ba(0x251)])throw new Error('Too\x20many\x20files:\x20'+_0xbf88ff['length']+_0x2ad2ba(0x19a)+this['maxFilesPerBatch']+')');const _0x22d953=[];if(this[_0x2ad2ba(0x18b)]&&_0xbf88ff['length']>0x1){this[_0x2ad2ba(0x254)]?.['debug']('Using\x20parallel\x20analysis',{'totalFiles':_0xbf88ff['length'],'batchSize':this[_0x2ad2ba(0x1e9)]});for(let _0x47ffae=0x0;_0x47ffae<_0xbf88ff[_0x2ad2ba(0x233)];_0x47ffae+=this[_0x2ad2ba(0x1e9)]){const _0x12394b=_0xbf88ff[_0x2ad2ba(0x1cc)](_0x47ffae,_0x47ffae+this['maxParallelFiles']);this['metrics']['parallelBatches']++;const _0x150789={'completed':_0x47ffae,'total':_0xbf88ff['length'],'percentage':Math['round'](_0x47ffae/_0xbf88ff['length']*0x64)};_0x2652cd[_0x2ad2ba(0x1a5)]&&_0x2652cd['onProgress'](_0x150789);this['logger']?.[_0x2ad2ba(0x22d)]('Analyzing\x20batch',{'batch':Math[_0x2ad2ba(0x1cb)](_0x47ffae/this['maxParallelFiles'])+0x1,'filesInBatch':_0x12394b['length'],'progress':_0x150789['completed']+'/'+_0x150789[_0x2ad2ba(0x226)]});const _0x5d3a64=_0x12394b['map'](async _0x8afb99=>{const _0x4bf610=_0x2ad2ba;try{const _0x338f2c=await this['analyzeFile'](_0x8afb99,_0x5cc35b,_0x43de00,_0x2652cd);return _0x338f2c;}catch(_0x51b014){return this['logger']?.['warn'](_0x4bf610(0x1b7),{'file':_0x8afb99,'error':_0x51b014[_0x4bf610(0x26c)]}),{'file':this[_0x4bf610(0x18e)]['createRelativePath'](_0x8afb99,_0x43de00),'fullPath':_0x8afb99,'error':_0x51b014['message'],'success':![]};}}),_0x1d03ca=await Promise['all'](_0x5d3a64);_0x22d953['push'](..._0x1d03ca[_0x2ad2ba(0x18a)](_0x59a08d=>_0x59a08d!==null));}_0x2652cd[_0x2ad2ba(0x1a5)]&&_0x2652cd[_0x2ad2ba(0x1a5)]({'completed':_0xbf88ff['length'],'total':_0xbf88ff[_0x2ad2ba(0x233)],'percentage':0x64});}else for(const _0x53b71a of _0xbf88ff){try{const _0x50895c=await this['analyzeFile'](_0x53b71a,_0x5cc35b,_0x43de00,_0x2652cd);_0x50895c&&_0x22d953['push'](_0x50895c);}catch(_0x3f64ac){this[_0x2ad2ba(0x254)]?.[_0x2ad2ba(0x1cf)](_0x2ad2ba(0x1b7),{'file':_0x53b71a,'error':_0x3f64ac['message']}),_0x22d953[_0x2ad2ba(0x26d)]({'file':this[_0x2ad2ba(0x18e)]['createRelativePath'](_0x53b71a,_0x43de00),'fullPath':_0x53b71a,'error':_0x3f64ac[_0x2ad2ba(0x26c)],'success':![]});}}return _0x22d953;}async[a0_0x24ff7f(0x25d)](_0x4e50c6,_0x559c5b,_0x55093c,_0x1c397d={}){const _0x21761c=a0_0x24ff7f,_0x4dcb32=a0_0x3da306['isAbsolute'](_0x4e50c6)?a0_0x3da306['normalize'](_0x4e50c6):a0_0x3da306[_0x21761c(0x207)](_0x559c5b,_0x4e50c6),_0x542176=this['directoryAccessManager']['validateReadAccess'](_0x4dcb32,_0x55093c);if(!_0x542176[_0x21761c(0x1c2)])throw new Error(_0x21761c(0x1ac)+_0x542176[_0x21761c(0x1a0)]);if(_0x1c397d['writeFile']){const _0x19f808=this[_0x21761c(0x18e)]['validateWriteAccess'](_0x4dcb32,_0x55093c);if(!_0x19f808[_0x21761c(0x1c2)])throw new Error(_0x21761c(0x255)+_0x19f808['reason']);}try{const _0x3f02c0=await a0_0x3fbac7[_0x21761c(0x1fd)](_0x4dcb32,'utf-8'),_0x405d72=await this[_0x21761c(0x252)](),_0x3ac941=await _0x405d72[_0x21761c(0x21a)](_0x4dcb32,_0x3f02c0,{'workingDir':_0x559c5b,'accessConfig':_0x55093c,'framework':await this[_0x21761c(0x25a)](_0x559c5b,this[_0x21761c(0x24d)](_0x4dcb32))});return _0x1c397d[_0x21761c(0x208)]&&_0x3ac941['fixed']&&(await a0_0x3fbac7[_0x21761c(0x208)](_0x4dcb32,_0x3ac941[_0x21761c(0x20a)],'utf-8'),this[_0x21761c(0x254)]?.['info']('File\x20fixed\x20and\x20written',{'file':_0x4dcb32})),{'file':this['directoryAccessManager'][_0x21761c(0x182)](_0x4dcb32,_0x55093c),'fullPath':_0x4dcb32,'action':'fix','fixed':_0x3ac941['fixed'],'fixedCount':_0x3ac941['fixedCount'],'remainingErrors':_0x3ac941['remainingErrors'],'remainingWarnings':_0x3ac941[_0x21761c(0x1d7)],'changes':_0x3ac941[_0x21761c(0x223)],'written':!!(_0x1c397d[_0x21761c(0x208)]&&_0x3ac941['fixed']),'preview':!_0x1c397d[_0x21761c(0x208)]&&_0x3ac941['fixed']?_0x3ac941[_0x21761c(0x20a)]:undefined};}catch(_0x2ca272){throw new Error('Failed\x20to\x20fix\x20'+_0x4e50c6+':\x20'+_0x2ca272['message']);}}async['formatFile'](_0x2aedbe,_0x3b8ab5,_0x28aa4a,_0xdf8092={}){const _0x23b655=a0_0x24ff7f,_0x4fae05=a0_0x3da306[_0x23b655(0x21d)](_0x2aedbe)?a0_0x3da306['normalize'](_0x2aedbe):a0_0x3da306[_0x23b655(0x207)](_0x3b8ab5,_0x2aedbe),_0x140e9e=this[_0x23b655(0x18e)][_0x23b655(0x202)](_0x4fae05,_0x28aa4a);if(!_0x140e9e[_0x23b655(0x1c2)])throw new Error('Read\x20access\x20denied:\x20'+_0x140e9e['reason']);if(_0xdf8092[_0x23b655(0x208)]){const _0x150469=this[_0x23b655(0x18e)]['validateWriteAccess'](_0x4fae05,_0x28aa4a);if(!_0x150469[_0x23b655(0x1c2)])throw new Error(_0x23b655(0x255)+_0x150469[_0x23b655(0x1a0)]);}try{const _0x4f4d94=await a0_0x3fbac7[_0x23b655(0x1fd)](_0x4fae05,_0x23b655(0x257)),_0x232fe7=await this['getPrettierFormatter']();if(!_0x232fe7['isSupported'](_0x4fae05))return{'file':this['directoryAccessManager']['createRelativePath'](_0x4fae05,_0x28aa4a),'fullPath':_0x4fae05,'action':_0x23b655(0x188),'formatted':![],'skipped':!![],'skipReason':_0x23b655(0x1a3)};const _0x39bf14=await _0x232fe7['format'](_0x4fae05,_0x4f4d94,{'workingDir':_0x3b8ab5,'accessConfig':_0x28aa4a});return _0xdf8092[_0x23b655(0x208)]&&_0x39bf14['formatted']&&(await a0_0x3fbac7['writeFile'](_0x4fae05,_0x39bf14['content'],'utf-8'),this[_0x23b655(0x254)]?.['info']('File\x20formatted\x20and\x20written',{'file':_0x4fae05})),{'file':this[_0x23b655(0x18e)][_0x23b655(0x182)](_0x4fae05,_0x28aa4a),'fullPath':_0x4fae05,'action':_0x23b655(0x188),'formatted':_0x39bf14[_0x23b655(0x237)],'linesChanged':_0x39bf14['linesChanged'],'changes':_0x39bf14['changes'],'written':!!(_0xdf8092['writeFile']&&_0x39bf14[_0x23b655(0x237)]),'preview':!_0xdf8092['writeFile']&&_0x39bf14['formatted']?_0x39bf14['content']:undefined};}catch(_0x1a68cf){throw new Error(_0x23b655(0x23b)+_0x2aedbe+':\x20'+_0x1a68cf['message']);}}async['securityScanFile'](_0x35729f,_0x1dc4b6,_0x191d5a,_0x5a7fb0={}){const _0x36a456=a0_0x24ff7f,_0x48d0e5=a0_0x3da306['isAbsolute'](_0x35729f)?a0_0x3da306['normalize'](_0x35729f):a0_0x3da306[_0x36a456(0x207)](_0x1dc4b6,_0x35729f),_0x43316e=this[_0x36a456(0x18e)]['validateReadAccess'](_0x48d0e5,_0x191d5a);if(!_0x43316e[_0x36a456(0x1c2)])throw new Error(_0x36a456(0x1ac)+_0x43316e[_0x36a456(0x1a0)]);try{const _0x756f2=await a0_0x3fbac7['stat'](_0x48d0e5);if(_0x756f2['size']>this['maxFileSize'])throw new Error(_0x36a456(0x19e)+_0x756f2[_0x36a456(0x200)]+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x5dd7d6=this[_0x36a456(0x24d)](_0x48d0e5);if(!_0x5dd7d6||![_0x36a456(0x250),_0x36a456(0x1ad),'python']['includes'](_0x5dd7d6))return{'file':this[_0x36a456(0x18e)][_0x36a456(0x182)](_0x48d0e5,_0x191d5a),'fullPath':_0x48d0e5,'language':_0x5dd7d6||'unknown','issues':[],'skipped':!![],'skipReason':_0x36a456(0x1e8)};const _0xdb4000=await a0_0x3fbac7[_0x36a456(0x1fd)](_0x48d0e5,'utf-8'),_0x45d701=await this['getSecurityAnalyzer'](),_0x5ee92b=await _0x45d701['analyze'](_0x48d0e5,_0xdb4000,{'skipTestFiles':_0x5a7fb0[_0x36a456(0x22a)]!==![]}),_0x57e790={'file':this[_0x36a456(0x18e)][_0x36a456(0x182)](_0x48d0e5,_0x191d5a),'fullPath':_0x48d0e5,'language':_0x5dd7d6,'action':_0x36a456(0x1ee),'critical':_0x5ee92b['filter'](_0x4e08e8=>_0x4e08e8[_0x36a456(0x210)]===STATIC_ANALYSIS[_0x36a456(0x265)][_0x36a456(0x1c6)]),'errors':_0x5ee92b[_0x36a456(0x18a)](_0xbc0e95=>_0xbc0e95['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x5ee92b[_0x36a456(0x18a)](_0x2fe032=>_0x2fe032[_0x36a456(0x210)]===STATIC_ANALYSIS[_0x36a456(0x265)][_0x36a456(0x1c5)]),'info':_0x5ee92b[_0x36a456(0x18a)](_0x34f98a=>_0x34f98a[_0x36a456(0x210)]===STATIC_ANALYSIS['SEVERITY'][_0x36a456(0x219)]),'totalIssues':_0x5ee92b[_0x36a456(0x233)],'analyzed':!![],'scannersUsed':_0x5ee92b[_0x36a456(0x1f2)](_0x1ad098=>_0x1ad098[_0x36a456(0x190)])['filter']((_0x47bd6d,_0x3d557c,_0x5be658)=>_0x5be658['indexOf'](_0x47bd6d)===_0x3d557c),'timestamp':new Date()[_0x36a456(0x1dd)]()};return _0x57e790;}catch(_0x5dd140){throw new Error(_0x36a456(0x21b)+_0x35729f+':\x20'+_0x5dd140[_0x36a456(0x26c)]);}}async['securityScanProject'](_0x58b3b2,_0x14e0bf,_0x25b094,_0xeca78b,_0x34dfa2={}){const _0x5dd690=a0_0x24ff7f,_0x34e672=a0_0x3da306['isAbsolute'](_0x58b3b2)?a0_0x3da306[_0x5dd690(0x205)](_0x58b3b2):a0_0x3da306['resolve'](_0x25b094,_0x58b3b2),_0x31ff9c=this[_0x5dd690(0x18e)]['validateReadAccess'](_0x34e672,_0xeca78b);if(!_0x31ff9c['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x31ff9c[_0x5dd690(0x1a0)]);const _0x7c7e=await this['getSecurityAnalyzer'](),_0x36d26f=await _0x7c7e['analyzeProject'](_0x34e672,'javascript',_0x34dfa2),_0xced09c=_0x14e0bf||_0x5dd690(0x235),_0x2b5e5a=await this['findFiles'](_0x34e672,_0xced09c);if(_0x2b5e5a['length']>this[_0x5dd690(0x251)])throw new Error(_0x5dd690(0x261)+_0x2b5e5a['length']+'\x20(max\x20'+this[_0x5dd690(0x251)]+')');const _0x38e482=[];if(this[_0x5dd690(0x18b)]&&_0x2b5e5a['length']>0x1){this[_0x5dd690(0x254)]?.['debug'](_0x5dd690(0x1e6),{'totalFiles':_0x2b5e5a[_0x5dd690(0x233)],'batchSize':this[_0x5dd690(0x1e9)]});for(let _0x182a8d=0x0;_0x182a8d<_0x2b5e5a['length'];_0x182a8d+=this[_0x5dd690(0x1e9)]){const _0x4474cf=_0x2b5e5a[_0x5dd690(0x1cc)](_0x182a8d,_0x182a8d+this['maxParallelFiles']);_0x34dfa2['onProgress']&&_0x34dfa2['onProgress']({'completed':_0x182a8d,'total':_0x2b5e5a[_0x5dd690(0x233)],'percentage':Math[_0x5dd690(0x258)](_0x182a8d/_0x2b5e5a[_0x5dd690(0x233)]*0x64)});const _0x3e4417=_0x4474cf[_0x5dd690(0x1f2)](async _0x227b27=>{const _0x4feacc=_0x5dd690;try{return await this['securityScanFile'](_0x227b27,_0x25b094,_0xeca78b,_0x34dfa2);}catch(_0x421c4b){return this['logger']?.[_0x4feacc(0x1cf)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x227b27,'error':_0x421c4b[_0x4feacc(0x26c)]}),{'file':this['directoryAccessManager'][_0x4feacc(0x182)](_0x227b27,_0xeca78b),'fullPath':_0x227b27,'error':_0x421c4b['message'],'success':![]};}}),_0x5c89bb=await Promise['all'](_0x3e4417);_0x38e482['push'](..._0x5c89bb[_0x5dd690(0x18a)](_0x50ac00=>_0x50ac00!==null));}_0x34dfa2['onProgress']&&_0x34dfa2['onProgress']({'completed':_0x2b5e5a[_0x5dd690(0x233)],'total':_0x2b5e5a['length'],'percentage':0x64});}else for(const _0x4f4a84 of _0x2b5e5a){try{const _0x2d441b=await this['securityScanFile'](_0x4f4a84,_0x25b094,_0xeca78b,_0x34dfa2);_0x2d441b&&_0x38e482[_0x5dd690(0x26d)](_0x2d441b);}catch(_0xdb800f){this['logger']?.[_0x5dd690(0x1cf)](_0x5dd690(0x183),{'file':_0x4f4a84,'error':_0xdb800f[_0x5dd690(0x26c)]}),_0x38e482[_0x5dd690(0x26d)]({'file':this[_0x5dd690(0x18e)]['createRelativePath'](_0x4f4a84,_0xeca78b),'fullPath':_0x4f4a84,'error':_0xdb800f['message'],'success':![]});}}return _0x36d26f[_0x5dd690(0x233)]>0x0&&_0x38e482[_0x5dd690(0x26d)]({'file':a0_0x3da306[_0x5dd690(0x1dc)](_0x34e672,'package.json'),'fullPath':a0_0x3da306['join'](_0x34e672,_0x5dd690(0x192)),'action':'dependency-scan','critical':_0x36d26f[_0x5dd690(0x18a)](_0x4f789e=>_0x4f789e['severity']===STATIC_ANALYSIS[_0x5dd690(0x265)][_0x5dd690(0x1c6)]),'errors':_0x36d26f['filter'](_0x14f132=>_0x14f132[_0x5dd690(0x210)]===STATIC_ANALYSIS[_0x5dd690(0x265)]['ERROR']),'warnings':_0x36d26f[_0x5dd690(0x18a)](_0x52a868=>_0x52a868[_0x5dd690(0x210)]===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x36d26f['filter'](_0x1ed0c5=>_0x1ed0c5[_0x5dd690(0x210)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x36d26f['length'],'analyzed':!![],'scannersUsed':[_0x5dd690(0x20f)],'timestamp':new Date()['toISOString']()}),_0x38e482;}async[a0_0x24ff7f(0x240)](_0x1f3b5f,_0x3a9790,_0x213c86,_0x1d2845={}){const _0x4e15fb=a0_0x24ff7f,_0x473093=a0_0x3da306['isAbsolute'](_0x1f3b5f)?a0_0x3da306['normalize'](_0x1f3b5f):a0_0x3da306[_0x4e15fb(0x207)](_0x3a9790,_0x1f3b5f),_0x2cce43=this['directoryAccessManager'][_0x4e15fb(0x202)](_0x473093,_0x213c86);if(!_0x2cce43[_0x4e15fb(0x1c2)])throw new Error(_0x4e15fb(0x1ac)+_0x2cce43[_0x4e15fb(0x1a0)]);try{const _0x1f5506=await a0_0x3fbac7['stat'](_0x473093);if(_0x1f5506['size']>this[_0x4e15fb(0x1a8)])throw new Error(_0x4e15fb(0x19e)+_0x1f5506['size']+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x59249f=await this['getConfigValidator'](),_0xdc496e=await _0x59249f[_0x4e15fb(0x1ff)](_0x473093,_0x1d2845),_0xfcc3ab={'file':this[_0x4e15fb(0x18e)][_0x4e15fb(0x182)](_0x473093,_0x213c86),'fullPath':_0x473093,'action':'validate-config','critical':_0xdc496e['filter'](_0x8e974f=>_0x8e974f[_0x4e15fb(0x210)]===STATIC_ANALYSIS[_0x4e15fb(0x265)]['CRITICAL']),'errors':_0xdc496e['filter'](_0x2dfa76=>_0x2dfa76['severity']===STATIC_ANALYSIS[_0x4e15fb(0x265)]['ERROR']),'warnings':_0xdc496e['filter'](_0x354320=>_0x354320[_0x4e15fb(0x210)]===STATIC_ANALYSIS[_0x4e15fb(0x265)]['WARNING']),'info':_0xdc496e[_0x4e15fb(0x18a)](_0x4f1cb9=>_0x4f1cb9['severity']===STATIC_ANALYSIS[_0x4e15fb(0x265)]['INFO']),'totalIssues':_0xdc496e['length'],'analyzed':!![],'validatorsUsed':_0xdc496e[_0x4e15fb(0x1f2)](_0x2d27ff=>_0x2d27ff['validator'])[_0x4e15fb(0x18a)]((_0x2c1c20,_0x27c8b0,_0x48ada9)=>_0x48ada9['indexOf'](_0x2c1c20)===_0x27c8b0),'timestamp':new Date()[_0x4e15fb(0x1dd)]()};return _0xfcc3ab;}catch(_0x44c9e4){throw new Error('Failed\x20to\x20validate\x20config\x20'+_0x1f3b5f+':\x20'+_0x44c9e4[_0x4e15fb(0x26c)]);}}async[a0_0x24ff7f(0x1c4)](_0xa62939,_0x257030,_0x1d3127,_0x368df1={}){const _0x367ebd=a0_0x24ff7f,_0x2fbc8b=a0_0x3da306[_0x367ebd(0x21d)](_0xa62939)?a0_0x3da306['normalize'](_0xa62939):a0_0x3da306['resolve'](_0x257030,_0xa62939),_0x1ff40e=this[_0x367ebd(0x18e)][_0x367ebd(0x202)](_0x2fbc8b,_0x1d3127);if(!_0x1ff40e['allowed'])throw new Error(_0x367ebd(0x1ac)+_0x1ff40e['reason']);const _0x53e214=await this[_0x367ebd(0x1b8)](_0x2fbc8b);if(_0x53e214[_0x367ebd(0x233)]>this[_0x367ebd(0x251)])throw new Error('Too\x20many\x20config\x20files:\x20'+_0x53e214[_0x367ebd(0x233)]+'\x20(max\x20'+this['maxFilesPerBatch']+')');const _0x4ca888=[];for(const _0x1fa0c2 of _0x53e214){try{const _0x12ddbf=await this[_0x367ebd(0x240)](_0x1fa0c2,_0x257030,_0x1d3127,_0x368df1);_0x12ddbf&&_0x4ca888[_0x367ebd(0x26d)](_0x12ddbf);}catch(_0x5debb3){this['logger']?.[_0x367ebd(0x1cf)]('Failed\x20to\x20validate\x20config\x20file',{'file':_0x1fa0c2,'error':_0x5debb3[_0x367ebd(0x26c)]}),_0x4ca888['push']({'file':this['directoryAccessManager'][_0x367ebd(0x182)](_0x1fa0c2,_0x1d3127),'fullPath':_0x1fa0c2,'error':_0x5debb3['message'],'success':![]});}}return _0x4ca888;}async[a0_0x24ff7f(0x1b8)](_0x4cc998){const _0x49f080=a0_0x24ff7f,_0xe89caf=[],_0x4de698=['package.json','tsconfig.json','Dockerfile',_0x49f080(0x22e),_0x49f080(0x201),'.env',_0x49f080(0x1d1),'.eslintrc.js',_0x49f080(0x225),'.prettierrc',_0x49f080(0x218)],_0x8d5da6=['.yml',_0x49f080(0x1de),'.json',_0x49f080(0x1df),'.tfvars'],_0x51dea6=async _0x428f83=>{const _0x79eff3=_0x49f080,_0x3a3e6c=await a0_0x3fbac7[_0x79eff3(0x232)](_0x428f83,{'withFileTypes':!![]});for(const _0x438295 of _0x3a3e6c){const _0x101d85=a0_0x3da306['join'](_0x428f83,_0x438295[_0x79eff3(0x1f5)]);if(_0x438295[_0x79eff3(0x1c1)]()){if(_0x438295['name']==='.github'||_0x438295[_0x79eff3(0x1f5)]===_0x79eff3(0x206)||_0x438295['name']===_0x79eff3(0x195)||_0x438295['name']==='terraform')await _0x51dea6(_0x101d85);else{if(![_0x79eff3(0x1ec),'.git',_0x79eff3(0x187),_0x79eff3(0x241)][_0x79eff3(0x1a2)](_0x438295[_0x79eff3(0x1f5)]))continue;}}else{if(_0x438295['isFile']()){if(_0x4de698['includes'](_0x438295[_0x79eff3(0x1f5)]))_0xe89caf['push'](_0x101d85);else{const _0x386140=a0_0x3da306['extname'](_0x438295[_0x79eff3(0x1f5)])[_0x79eff3(0x1e7)]();if(_0x8d5da6['includes'](_0x386140)){const _0x403956=a0_0x3da306['basename'](a0_0x3da306['dirname'](_0x101d85));(_0x403956===_0x79eff3(0x206)||_0x403956==='k8s'||_0x403956===_0x79eff3(0x20d)||_0x403956==='workflows')&&_0xe89caf[_0x79eff3(0x26d)](_0x101d85);}}}}}};return await _0x51dea6(_0x4cc998),_0xe89caf;}[a0_0x24ff7f(0x24d)](_0x52e899){const _0x5b1d4b=a0_0x24ff7f,_0x28b976=a0_0x3da306[_0x5b1d4b(0x21f)](_0x52e899)[_0x5b1d4b(0x1e7)]();return STATIC_ANALYSIS[_0x5b1d4b(0x256)][_0x28b976]||null;}async[a0_0x24ff7f(0x25a)](_0x299b8c,_0x4b37b2){const _0x356a24=a0_0x24ff7f;try{if(_0x4b37b2===STATIC_ANALYSIS['LANGUAGE'][_0x356a24(0x1b9)]||_0x4b37b2===STATIC_ANALYSIS['LANGUAGE']['TYPESCRIPT'])return await this['detectJSFramework'](_0x299b8c);if(_0x4b37b2===STATIC_ANALYSIS['LANGUAGE'][_0x356a24(0x242)])return await this['detectPythonFramework'](_0x299b8c);return null;}catch(_0x4ab653){return this['logger']?.['debug'](_0x356a24(0x184),{'error':_0x4ab653['message']}),null;}}async[a0_0x24ff7f(0x253)](_0x4e374e){const _0x492f90=a0_0x24ff7f;try{const _0x2a7db6=a0_0x3da306['join'](_0x4e374e,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x492f90(0x1b9)]),_0x1796ab=await a0_0x3fbac7['readFile'](_0x2a7db6,_0x492f90(0x257)),_0x30ad96=JSON['parse'](_0x1796ab),_0x30df68={..._0x30ad96[_0x492f90(0x21c)],..._0x30ad96[_0x492f90(0x1b4)]};for(const [_0x300b9d,_0x293432]of Object[_0x492f90(0x1fb)](STATIC_ANALYSIS[_0x492f90(0x247)])){if(_0x30df68[_0x293432])return _0x300b9d[_0x492f90(0x1e7)]();}return null;}catch(_0x59f260){return null;}}async[a0_0x24ff7f(0x23f)](_0x4d41d8){const _0x53bd6e=a0_0x24ff7f;try{const _0xfc4b3=a0_0x3da306['join'](_0x4d41d8,STATIC_ANALYSIS[_0x53bd6e(0x197)][_0x53bd6e(0x242)]),_0x1db1ee=await a0_0x3fbac7[_0x53bd6e(0x1fd)](_0xfc4b3,_0x53bd6e(0x257));for(const [_0x4ca100,_0x1f35b8]of Object['entries'](STATIC_ANALYSIS[_0x53bd6e(0x1e3)])){if(_0x1db1ee[_0x53bd6e(0x1e7)]()[_0x53bd6e(0x1a2)](_0x1f35b8))return _0x4ca100[_0x53bd6e(0x1e7)]();}return null;}catch(_0x7ceb20){try{const _0x33658b=a0_0x3da306[_0x53bd6e(0x1dc)](_0x4d41d8,STATIC_ANALYSIS[_0x53bd6e(0x197)][_0x53bd6e(0x25c)]),_0x15a4dd=await a0_0x3fbac7['readFile'](_0x33658b,_0x53bd6e(0x257));for(const [_0x59d556,_0x301b53]of Object[_0x53bd6e(0x1fb)](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x15a4dd['toLowerCase']()['includes'](_0x301b53))return _0x59d556[_0x53bd6e(0x1e7)]();}}catch{}return null;}}async[a0_0x24ff7f(0x1d2)](_0x4bad0e,_0x4f53d0){const _0x17294d=[],_0x4685b3=_0x4f53d0||'**/*.{js,jsx,mjs,cjs,ts,tsx,py,css,scss,sass,less}',_0xb13aa8=_0x499204=>{const _0x1cb410=a0_0x1be1,_0x4c6836=[],_0x1f7733=_0x499204['match'](/\*\.\{([^}]+)\}/);if(_0x1f7733){const _0x23710d=_0x1f7733[0x1][_0x1cb410(0x24f)](',')[_0x1cb410(0x1f2)](_0x58bf85=>_0x58bf85[_0x1cb410(0x1b2)]());_0x23710d[_0x1cb410(0x203)](_0x17b1d3=>_0x4c6836[_0x1cb410(0x26d)](_0x17b1d3[_0x1cb410(0x234)]('.')?_0x17b1d3:'.'+_0x17b1d3));}else{const _0x1ebe2f=_0x499204['match'](/\*\.([a-z]+)$/i);if(_0x1ebe2f){const _0x4aee44=_0x1ebe2f[0x1];_0x4c6836[_0x1cb410(0x26d)](_0x4aee44['startsWith']('.')?_0x4aee44:'.'+_0x4aee44);}}if(_0x4c6836['length']===0x0)return null;return _0x4c6836;},_0x575c57=_0xb13aa8(_0x4685b3),_0xef5b02=async _0x3f4920=>{const _0x5cb6ec=a0_0x1be1,_0x420b98=await a0_0x3fbac7[_0x5cb6ec(0x232)](_0x3f4920,{'withFileTypes':!![]});for(const _0x1e8780 of _0x420b98){const _0x4fb7c5=a0_0x3da306[_0x5cb6ec(0x1dc)](_0x3f4920,_0x1e8780['name']);if(_0x1e8780[_0x5cb6ec(0x1c1)]())!['node_modules','.git',_0x5cb6ec(0x187),'build',_0x5cb6ec(0x1ca),'.venv',_0x5cb6ec(0x22c)]['includes'](_0x1e8780[_0x5cb6ec(0x1f5)])&&await _0xef5b02(_0x4fb7c5);else{if(_0x1e8780[_0x5cb6ec(0x1f6)]()){const _0x4a895a=a0_0x3da306['extname'](_0x1e8780['name'])[_0x5cb6ec(0x1e7)]();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x4a895a]&&((_0x575c57===null||_0x575c57['includes'](_0x4a895a))&&_0x17294d['push'](_0x4fb7c5));}}}};return await _0xef5b02(_0x4bad0e),_0x17294d;}async[a0_0x24ff7f(0x1c3)](_0x53084d){const _0x1d63b7=a0_0x24ff7f;try{if(_0x53084d===STATIC_ANALYSIS['LANGUAGE'][_0x1d63b7(0x1b9)]){if(!this['analyzers'][_0x1d63b7(0x250)]){const {default:_0x2c186e}=await import(_0x1d63b7(0x23a));this[_0x1d63b7(0x1bd)]['javascript']=new _0x2c186e(this['logger']);}return this[_0x1d63b7(0x1bd)][_0x1d63b7(0x250)];}if(_0x53084d===STATIC_ANALYSIS['LANGUAGE'][_0x1d63b7(0x18d)]){if(!this[_0x1d63b7(0x1bd)]['typescript']){const {default:_0x4c4c74}=await import('../analyzers/TypeScriptAnalyzer.js');this['analyzers']['typescript']=new _0x4c4c74(this[_0x1d63b7(0x254)]);}return this[_0x1d63b7(0x1bd)]['typescript'];}if(_0x53084d===STATIC_ANALYSIS[_0x1d63b7(0x1c7)][_0x1d63b7(0x242)]){if(!this[_0x1d63b7(0x1bd)][_0x1d63b7(0x1c8)]){const {default:_0x20a816}=await import(_0x1d63b7(0x1f1));this[_0x1d63b7(0x1bd)][_0x1d63b7(0x1c8)]=new _0x20a816(this[_0x1d63b7(0x254)]);}return this[_0x1d63b7(0x1bd)]['python'];}if(_0x53084d===STATIC_ANALYSIS[_0x1d63b7(0x1c7)][_0x1d63b7(0x1cd)]||_0x53084d===STATIC_ANALYSIS[_0x1d63b7(0x1c7)][_0x1d63b7(0x263)]||_0x53084d===STATIC_ANALYSIS[_0x1d63b7(0x1c7)][_0x1d63b7(0x23c)]){if(!this['analyzers'][_0x1d63b7(0x1ea)]){const {default:_0x5b1ccc}=await import('../analyzers/CSSAnalyzer.js');this[_0x1d63b7(0x1bd)]['css']=new _0x5b1ccc(this['logger']);}return this[_0x1d63b7(0x1bd)]['css'];}return null;}catch(_0x3a23dd){return this['logger']?.[_0x1d63b7(0x1f9)]('Failed\x20to\x20load\x20analyzer',{'language':_0x53084d,'error':_0x3a23dd['message']}),null;}}async[a0_0x24ff7f(0x252)](){const _0x27303c=a0_0x24ff7f;if(!this['analyzers']['eslint']){const {default:_0x43d831}=await import('../analyzers/ESLintAnalyzer.js');this[_0x27303c(0x1bd)]['eslint']=new _0x43d831(this['logger']);}return this['analyzers'][_0x27303c(0x1a9)];}async[a0_0x24ff7f(0x1bb)](){const _0xad4b88=a0_0x24ff7f;if(!this['formatters']['prettier']){const {default:_0x30ffa1}=await import('../analyzers/PrettierFormatter.js');this['formatters']['prettier']=new _0x30ffa1(this[_0xad4b88(0x254)]);}return this[_0xad4b88(0x1db)][_0xad4b88(0x209)];}async['getSecurityAnalyzer'](){const _0x84a25f=a0_0x24ff7f;if(!this['analyzers']['security']){const {default:_0x38f177}=await import(_0x84a25f(0x18f));this[_0x84a25f(0x1bd)]['security']=new _0x38f177(this[_0x84a25f(0x254)]);}return this['analyzers'][_0x84a25f(0x1bf)];}async['getConfigValidator'](){const _0x33b1e0=a0_0x24ff7f;if(!this['analyzers'][_0x33b1e0(0x1af)]){const {default:_0x13fa33}=await import(_0x33b1e0(0x24a));this['analyzers'][_0x33b1e0(0x1af)]=new _0x13fa33(this['logger']);}return this['analyzers'][_0x33b1e0(0x1af)];}['updateSummary'](_0x32a9e9,_0x2fcaaa){const _0x2c1f90=a0_0x24ff7f;if(_0x2fcaaa[_0x2c1f90(0x1d4)]){_0x32a9e9[_0x2c1f90(0x231)]++;const _0x5a57ac=_0x2fcaaa[_0x2c1f90(0x1d3)]?.[_0x2c1f90(0x233)]||0x0,_0x432cce=_0x2fcaaa[_0x2c1f90(0x1c0)]?.[_0x2c1f90(0x233)]||0x0,_0x5070c5=_0x2fcaaa[_0x2c1f90(0x1d8)]?.[_0x2c1f90(0x233)]||0x0,_0x5c3fef=_0x2fcaaa[_0x2c1f90(0x1a7)]?.['length']||0x0;_0x32a9e9['totalCritical']===undefined&&(_0x32a9e9[_0x2c1f90(0x1a6)]=0x0);_0x32a9e9['totalCritical']+=_0x5a57ac,_0x32a9e9[_0x2c1f90(0x196)]+=_0x432cce,_0x32a9e9['totalWarnings']+=_0x5070c5,_0x32a9e9['totalInfo']+=_0x5c3fef;(_0x5a57ac>0x0||_0x432cce>0x0)&&_0x32a9e9[_0x2c1f90(0x230)]++;_0x2fcaaa['language']&&(_0x32a9e9['filesByLanguage'][_0x2fcaaa['language']]=(_0x32a9e9['filesByLanguage'][_0x2fcaaa['language']]||0x0)+0x1);const _0x11978e=[..._0x2fcaaa[_0x2c1f90(0x1d3)]||[],..._0x2fcaaa[_0x2c1f90(0x1c0)]||[],..._0x2fcaaa[_0x2c1f90(0x1d8)]||[]];for(const _0xf1e231 of _0x11978e){_0xf1e231[_0x2c1f90(0x259)]&&(_0x32a9e9[_0x2c1f90(0x185)][_0xf1e231[_0x2c1f90(0x259)]]=(_0x32a9e9['errorsByCategory'][_0xf1e231['category']]||0x0)+0x1);}}}[a0_0x24ff7f(0x211)](_0x13c7ca){const _0x479fb8=a0_0x24ff7f;return a0_0x3c3cf7[_0x479fb8(0x217)]('sha256')['update'](_0x13c7ca)[_0x479fb8(0x1da)]('hex')[_0x479fb8(0x25b)](0x0,0x10);}[a0_0x24ff7f(0x1e0)](){const _0x1a2b40=a0_0x24ff7f,_0xb00e52=this['metrics']['totalAnalyses']>0x0?this['metrics'][_0x1a2b40(0x25e)]/this['metrics'][_0x1a2b40(0x1c9)]*0x64:0x0,_0x309924=this['metrics'][_0x1a2b40(0x1fa)]>0x0?this['metrics'][_0x1a2b40(0x1b1)]/this['metrics'][_0x1a2b40(0x1fa)]:0x0;return{...this['metrics'],'cacheHitRate':Math['round'](_0xb00e52*0xa)/0xa,'averageAnalysisTime':Math['round'](_0x309924),'cacheSize':this['analysisCache']['size']};}['resetPerformanceMetrics'](){const _0x584865=a0_0x24ff7f;this[_0x584865(0x220)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}['clearCache'](){const _0x1d0f14=a0_0x24ff7f;this[_0x1d0f14(0x1ce)][_0x1d0f14(0x238)](),this['logger']?.['debug']('Analysis\x20cache\x20cleared');}[a0_0x24ff7f(0x213)](){const _0x400bcc=a0_0x24ff7f;return[_0x400bcc(0x1ba),'analyze-project','fix','format','security-scan',_0x400bcc(0x194),'validate-config','validate-config-directory'];}[a0_0x24ff7f(0x1f7)](){const _0x2891d7=a0_0x24ff7f;return{'type':'object','properties':{'actions':{'type':_0x2891d7(0x198),'minItems':0x1,'items':{'type':'object','properties':{'type':{'type':_0x2891d7(0x23d),'enum':this[_0x2891d7(0x213)]()},'filePath':{'type':_0x2891d7(0x23d)},'directory':{'type':_0x2891d7(0x23d)},'pattern':{'type':'string'},'includeWarnings':{'type':_0x2891d7(0x249)},'maxErrors':{'type':_0x2891d7(0x204)}},'required':['type']}}},'required':[_0x2891d7(0x216)]};}}export default StaticAnalysisTool;
|
|
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;
|