@loxia-labs/loxia-autopilot-one 1.0.8 → 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_0xa558fa=a0_0x40de;function a0_0x56fb(){const _0x1ed893=['tufyx0zjtevFu0LArq','zMLUzezPBgvZuMvJDxjZAxzLBhK','lNnV','DMvUzg9Y','C3bSAxq','lNPPCa','tufyx0zjtevFuefusfm','tufyx0zjtevtx1bfuL9trufsq0G','D29YA2LUz0rPCMvJDg9YEq','ks4Gtwf4Aw11BsbPCYa','Bwf0y2HLCW','BMfTzq','C2vLAW','C3rHDa','lMPZEa','tufyx1rpvefmx01bvenirvm','lM1Wna','C2L6zq','CMvHze9UBhLeAxjLy3rVCMLLCW','CgfYC2u','lNLHBwW','mta0mZiYnw1jD3PAtW','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','igzPBguOCYKUcG','rgLYzwn0B3j5ig5VDcbMB3vUzcbMB3iGz2XVyIbWyxr0zxjU','zxjYB3i','ywrK','lMPZB24','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','tuiSig1HEca','lM1WmW','BM90rM91BMq','mJm5oteYmdfWExHlCu8','yMfZzw5HBwu','zgLZDa','CMvXDwLYzxnqCM9Qzwn0','z2v0rgvZy3jPChrPB24','lNnO','DhjPBq','yNvPBgq','nJCXnta0ENHvDg5l','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','BwvZC2fNzq','AxneAxjLy3rVCNK','AxnqyxrOqwnJzxnZAwjSzq','zM9YBwf0uMvZDwX0CW','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','zxHLyW','lMPWzwC','y29Kzq','Aw5MBW','ks4Gu29TzsbTyxrJAgvZig1HEsbUB3qGyMuGC2HVD24UcG','mMHpB3zxza','kIOV','tufyx0rjuKvdve9swv9ervbusa','tuiP','vg9Vig1HBNKGzMLSzsbWyxrOCYaOBwf4ia','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','ndbzugLiCha','D2fYBG','mtvxv21rDve','mti0otKWmKnhrg54Da','AgfZ','CMvSyxrPDMu','qxqGBgvHC3qGB25LihnLyxjJAcb0zxjTigLZihjLCxvPCMvK','DgLTzw91Da','Bg9Nz2vY','lMPZ','lMXVzW','lMD6','AxnbCNjHEq','zMLSzvbHDgHZ','qxqGBgvHC3qGB25LigzPBguGCgf0AcbPCYbYzxf1AxjLza','C2vHCMnOvgvYBxm','mtuWqwvKtevt','zMLSzvbHDgG','lMH0BwW','lMHWCa','C2vHCMnOrMLSzxm','lNn2zW','tufyx1nfqvjdsf9urvjnuW','B3v0','icaTia','AxngAwXL','lNr4Da','lMjTCa','lMv4zq','DgvYBq','zxH0BMfTzq','ig1HDgnOzxmGDg90ywWkcLjfu1vmvcbgt1jnqvq6cLrOzsb0B29SihjLDhvYBNm6cI0GtgLZDcbVzIbMAwXLCYb0Agf0ihDLCMuGBM90igzVDw5KcI0GtgLZDcbVzIbMAwXLCYb0Agf0igHHzcbLCNjVCNmGzhvYAw5NihnLyxjJAaOTiezVCIbLywnOihnLyxjJAcb0zxjToGOGic0GrMLSzsbWyxrOihDOzxjLigzVDw5KcIaGlsbmAw5Lig51BwjLCGOGic0GtgLUzsbJB250zw50icH0CMLTBwvKkqOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDOzw4Gyw4GywDLBNqGAgfZig11BhrPCgXLigrPCMvJDg9YAwvZignVBMzPz3vYzwqSihrOzsbtzwvRvg9VBcbJyw4GC2vHCMnOigfJCM9ZCYbHBgWGB2yGDgHLBtOklsbszwXHDgL2zsbWyxrOCYbHCMuGCMvZB2X2zwqGzNjVBsb0AguGD29YA2LUzYbKAxjLy3rVCNKklsbbyNnVBhv0zsbWyxrOCYbJyw4GCMvMzxjLBMnLigfUEsbHy2nLC3nPyMXLigrPCMvJDg9YEqOTief1Dg9TyxrPyYb2ywXPzgf0Aw9UigvUC3vYzxmGCgf0AhmGyxjLihDPDgHPBIbHBgXVD2vKigrPCMvJDg9YAwvZcGPfEgfTCgXLihDPDgGGBxvSDgLWBguGzgLYzwn0B3jPzxm6cKLMigfNzw50igHHCYbHy2nLC3mGDg86cIaGlsaVAg9Tzs91C2vYl3bYB2PLy3qXicH3B3jRAw5NigrPCMvJDg9YEsKkicaTic9OB21Ll3vZzxiVChjVAMvJDdiGkhjLywqTB25SEsKkicaTic9OB21Ll3vZzxiVC2HHCMvKicHYzwfKlw9UBhKPcGPzB3uGy2fUihnLyxjJAdOkicbZCMmVkIOVkI5QCYaGicaGicaGicaGicaGicaGicaGicaGicaGiokgKIbtzwfYy2HLCYbPBIaVAg9Tzs91C2vYl3bYB2PLy3qXl3nYyY8QkI8QlMPZcIaGl2HVBwuVDxnLCI9WCM9Qzwn0mI9JB25MAwCUANnVBIaGicaGicdIHPiGu2vHCMnOzxmGAw4GChjVAMvJDdiGkgfIC29SDxrLihbHDgGPcIaGl2HVBwuVDxnLCI9ZAgfYzwqVzg9JCY8QlM1KicaGicaGicaGicdIHPiGu2vHCMnOzxmGAw4GC2HHCMvKigrPCMvJDg9YEqOkteLnsvrbveLptLm6cI0Gtwf4Aw11Bsa','lJD6','BwfW','ndbsthvYtgC','C2vLA0nVBMzPzW','qMfZzsbKAxjLy3rVCNKGBM90igzVDw5KigzVCIbNBg9IihbHDhrLCM4','twf4Aw11Bsb0B3rHBcbTyxrJAgvZihjLywnOzwq','C2HVDwXKu2TPCezPBgu','lM1VDG','Bwf0y2HLC1bHDhrLCM4','zMLSDgvY','rMLSzsb0B28GBgfYz2uGka','rKLmrvmGtK9uiezpvu5eoGO','lMnHy2HL','zM91BMq','AM9PBG','lMnWCa','cLnLzwSGvg9VBdOGu2vHCMnOigzVCIbZCgvJAwzPyYbJB250zw50ihDPDgHPBIbWCM9Qzwn0igzPBgvZlIbiAwDOBhKGCMvJB21Tzw5KzwqGzM9YihzLCMLMEwLUzYbPBxbVCNrZlcbMDw5JDgLVBIb1C2fNzsWGyw5KihzHCMLHyMXLihjLzMvYzw5JzxmUcGPytuWGvvnbr0u6cJXZzwvRpGOGidXPBI1MAwXLCZ4kicaGigzPBguVCgf0Ac9VBMuUANmkicaGigzPBguVCgf0Ac90D28UANmkicaGihnYyY8QkI8QlMPZcIaGpc9PBI1MAwXLCZ4kica8C2vHCMnOlxrLCM1ZpGOGicaGphrLCM0+C2vHCMnOihbOCMfZzsbVBMu8l3rLCM0+cIaGica8DgvYBt5ZzwfYy2GGCgHYyxnLihr3BZWVDgvYBt4kicaGidX0zxjTpNnLyxjJAcbWAhjHC2uGDgHYzwu8l3rLCM0+cIaGpc9ZzwfYy2GTDgvYBxm+cJWVC2vLAZ4kcKPtt04Gvvnbr0u6cMbGygPZB24kEWOGicj0B29SswqIoIaIC2vLAYiScIaGiMzPBgvqyxrOCYi6ifSkicaGicjZCMmVy29TCg9Uzw50CY9izwfKzxiUANmIlaOGicaGiNnYyY91DgLSCY8QlMPZiIWkicaGicjZCMmVkIOVkI5QC3GIcIaGxsWkicaIC2vHCMnOvgvYBxmIoIbBcIaGicaIAw1WB3j0ifjLywn0iIWkicaGicj1C2vtDgf0zsiScIaGicaIzNvUy3rPB24GAgfUzgXLu3vIBwL0iGOGif0kFqPGygakcLnvufbpuLrfrcbhte9cifbbvfrfuK5toGOTicOUANmGicaGicaGicaGic0GqwXSic5QCYbMAwXLCYbPBIbHigrPCMvJDg9YEqOTicOQlYOUANmGicaGicaGic0GqwXSic5QCYbMAwXLCYbYzwn1CNnPDMvSEqOTihnYyY8QkI8QlMPZEcaGic0GqwXSic5QC3GGzMLSzxmGDw5KzxiGC3jJlYbYzwn1CNnPDMvSEqOTignVBxbVBMvUDhmVkI4Qic0GqwXSigzPBgvZigLUignVBxbVBMvUDhmVcGPfwefnueXfuZOkcKv4yw1WBguGmsaTiezPBMqGzNvUy3rPB24GDxnHz2u6cJXZzwvRpGOGidXPBI1MAwXLCZ4kicaGihnYyY9JB21WB25LBNrZlYOUANmkicaGihnYyY91DgLSCY9OzwXWzxjZlMPZcIaGpc9PBI1MAwXLCZ4kica8C2vHCMnOlxrLCM1ZpGOGicaGphrLCM0+zNvUy3rPB24GAgfUzgXLu3vIBwL0pc90zxjTpGOGicaGphrLCM0+DxnLu3rHDguOpc90zxjTpGOGidWVC2vHCMnOlxrLCM1ZpGO8l3nLzwS+cGPfEgfTCgXLidiGlsbwzxjPzNKGAw1WB3j0CZOkphnLzwS+cIaGpgLUlwzPBgvZpGOGicaGC3jJl2nVBxbVBMvUDhmVsgvHzgvYlMPZcIaGicbZCMmVy29TCg9Uzw50CY9gB290zxiUANmkica8l2LUlwzPBgvZpGOGidXZzwfYy2GTDgvYBxm+cIaGica8DgvYBt5PBxbVCNqGuMvHy3q8l3rLCM0+cIaGica8DgvYBt5PBxbVCNqGEYb1C2vtDgf0zsb9pc90zxjTpGOGicaGphrLCM0+zNjVBsaNCMvHy3qNpc90zxjTpGOGidWVC2vHCMnOlxrLCM1ZpGO8l3nLzwS+cGPfEgfTCgXLidmGlsbgAw5KihzHCMLHyMXLihjLzMvYzw5Jzxm6cJXZzwvRpGOGidXPBI1MAwXLCZ4kicaGihnYyY8QkI8QlMPZcIaGpc9PBI1MAwXLCZ4kica8C2vHCMnOlxrLCM1ZpGOGicaGphrLCM0+yxbPq2XPzw50pc90zxjTpGOGicaGphrLCM0+y29UzMLNlMfWAvvYBdWVDgvYBt4kica8l3nLyxjJAc10zxjTCZ4kpc9ZzwvRpGOkrxHHBxbSzsa0ic0Gu2vHCMnOihnWzwnPzMLJigzPBgvZig9UBhK6cJXZzwvRpGOGidXPBI1MAwXLCZ4kicaGihbHy2THz2uUANnVBGOGicaGDhnJB25MAwCUANnVBGOGicaGlMDPDgLNBM9YzqOGidWVAw4TzMLSzxm+cIaGphnLyxjJAc10zxjTCZ4kicaGidX0zxjTpNjLywn0pc90zxjTpGOGicaGphrLCM0+DhLWzxnJCMLWDdWVDgvYBt4kica8l3nLyxjJAc10zxjTCZ4kpc9ZzwvRpGOkrKvbvfvsrvm6cI0Gu2vHCMnOzxmGzM9Yigv4ywn0ihn0CMLUzYbTyxrJAgvZicHJyxnLlxnLBNnPDgL2zsKklsbszxr1CM5ZigzPBguGCgf0AcWGBgLUzsbUDw1IzxiSigfUzcbSAw5LignVBNrLBNqGzM9YigvHy2GGBwf0y2GklsbtDxbWB3j0CYbNBg9IihbHDhrLCM5ZigzVCIbMBgv4AwjSzsbMAwXLihnLBgvJDgLVBGOTifnRAxbZigjPBMfYEsbMAwXLCYbHDxrVBwf0AwnHBgX5cI0GuMvWB3j0CYbMAwXLCYbUB3qGzM91BMqGyw5KigzPBgvZihDPDgGGzxjYB3jZcI0GtgLTAxrLzcb0BYa','lNnXBgL0zq','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','lNDTDG','ihrVDgfSig1HDgnOzxmGAw4G','mJuZmZq2mefztxDVsG','ChvZAa','lMPHDMe','rxHLy3v0Aw5NihnLzwSGDg9VBa','zxjYB3jgAwXLCW','twf4Aw11BsbKAxjLy3rVCNKGzgvWDgGGCMvHy2HLza','lMXLC3m','lI4U','lM51Ehq','CMvZB2X2zuzPBgvqyxrOCW','icHPCYbHigrPCMvJDg9YEsWGBM90igeGzMLSzsK','DgvZDa','lNjI','lMDPDa','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','y3DK','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','C3rYAw5N','C3rHCNrZv2L0Aa','oty1mJn1y0zTAfO','tuiGCgvYigzPBguklsbszxr1CM5ZihvWihrVia','Dg9mB3DLCKnHC2u','BgvUz3rO','twf4Aw11BsbTyxrJAgvZihbLCIbMAwXLihjLywnOzwq','mJC5ota2mfPAr1b0Da','CMvZB2X2zq','mtjjA1v5sLa','zxHLy3v0zq'];a0_0x56fb=function(){return _0x1ed893;};return a0_0x56fb();}(function(_0x2f10d7,_0x37f601){const _0x378984=a0_0x40de,_0x5ee7d0=_0x2f10d7();while(!![]){try{const _0x3b8240=parseInt(_0x378984(0x213))/0x1*(parseInt(_0x378984(0x1a6))/0x2)+-parseInt(_0x378984(0x1ae))/0x3*(-parseInt(_0x378984(0x19a))/0x4)+parseInt(_0x378984(0x1e1))/0x5+parseInt(_0x378984(0x1bc))/0x6*(-parseInt(_0x378984(0x1f5))/0x7)+parseInt(_0x378984(0x1ce))/0x8*(-parseInt(_0x378984(0x1af))/0x9)+parseInt(_0x378984(0x1ac))/0xa*(parseInt(_0x378984(0x1fa))/0xb)+-parseInt(_0x378984(0x1fc))/0xc*(parseInt(_0x378984(0x21e))/0xd);if(_0x3b8240===_0x37f601)break;else _0x5ee7d0['push'](_0x5ee7d0['shift']());}catch(_0x405a0a){_0x5ee7d0['push'](_0x5ee7d0['shift']());}}}(a0_0x56fb,0x7f931));import{BaseTool}from'./baseTool.js';import a0_0x587967 from'../utilities/tagParser.js';import{promises as a0_0x4d48bd}from'fs';import a0_0x2dc534 from'path';function a0_0x40de(_0x436335,_0x355a69){_0x436335=_0x436335-0x194;const _0x56fba2=a0_0x56fb();let _0x40dec0=_0x56fba2[_0x436335];if(a0_0x40de['vgVhMd']===undefined){var _0xb0bbb6=function(_0x35eae5){const _0x13378c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x587967='',_0x4d48bd='';for(let _0x2dc534=0x0,_0x39dabc,_0xa485ff,_0x31f9c3=0x0;_0xa485ff=_0x35eae5['charAt'](_0x31f9c3++);~_0xa485ff&&(_0x39dabc=_0x2dc534%0x4?_0x39dabc*0x40+_0xa485ff:_0xa485ff,_0x2dc534++%0x4)?_0x587967+=String['fromCharCode'](0xff&_0x39dabc>>(-0x2*_0x2dc534&0x6)):0x0){_0xa485ff=_0x13378c['indexOf'](_0xa485ff);}for(let _0x2952b8=0x0,_0x29f240=_0x587967['length'];_0x2952b8<_0x29f240;_0x2952b8++){_0x4d48bd+='%'+('00'+_0x587967['charCodeAt'](_0x2952b8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d48bd);};a0_0x40de['GjZpJM']=_0xb0bbb6,a0_0x40de['mRAtJy']={},a0_0x40de['vgVhMd']=!![];}const _0x271b89=_0x56fba2[0x0],_0x1e53c5=_0x436335+_0x271b89,_0x55c1a5=a0_0x40de['mRAtJy'][_0x1e53c5];return!_0x55c1a5?(_0x40dec0=a0_0x40de['GjZpJM'](_0x40dec0),a0_0x40de['mRAtJy'][_0x1e53c5]=_0x40dec0):_0x40dec0=_0x55c1a5,_0x40dec0;}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_0xa558fa(0x1a2),'.gif',a0_0xa558fa(0x1c7),'.ico',a0_0xa558fa(0x1c1),'.pdf',a0_0xa558fa(0x203),'.tar',a0_0xa558fa(0x1b7),'.rar',a0_0xa558fa(0x1cc),a0_0xa558fa(0x1c8),'.dll',a0_0xa558fa(0x200),'.dylib',a0_0xa558fa(0x21c),a0_0xa558fa(0x20e),'.avi',a0_0xa558fa(0x1d3),a0_0xa558fa(0x1df),'.woff','.woff2','.ttf','.eot','.bin','.dat','.db',a0_0xa558fa(0x1dd)]);class SeekTool extends BaseTool{constructor(_0x39dabc={},_0xa485ff=null){const _0x498869=a0_0xa558fa;super(_0x39dabc,_0xa485ff),this[_0x498869(0x195)]=!![],this['isAsync']=!![],this[_0x498869(0x1b3)]=_0x39dabc[_0x498869(0x1b3)]||0x1d4c0,this[_0x498869(0x1cf)]={...SEEK_CONFIG,..._0x39dabc[_0x498869(0x1cf)]};}[a0_0xa558fa(0x196)](){const _0x21111c=a0_0xa558fa;return _0x21111c(0x1dc)+SEEK_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+_0x21111c(0x1f6)+SEEK_CONFIG['MAX_TOTAL_MATCHES']+_0x21111c(0x1cb)+SEEK_CONFIG[_0x21111c(0x205)]+'\x20files\x20per\x20search\x0a-\x20Maximum\x20'+SEEK_CONFIG[_0x21111c(0x1c2)]+'\x20search\x20terms\x0a-\x20Maximum\x20'+SEEK_CONFIG['MAX_FILE_SIZE']/(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'](_0x31f9c3){const _0x1b948d=a0_0xa558fa;try{if(_0x31f9c3['trim']()[_0x1b948d(0x1f4)]('{')){const _0x1214ad=JSON[_0x1b948d(0x211)](_0x31f9c3);return{'filePaths':_0x1214ad['filePaths']||[],'searchTerms':_0x1214ad[_0x1b948d(0x1bb)]||[]};}const _0x2952b8={'filePaths':[],'searchTerms':[]},_0x29f240=/<in-files>([\s\S]*?)<\/in-files>/i,_0x4c627a=_0x29f240[_0x1b948d(0x1a1)](_0x31f9c3);if(_0x4c627a){const _0x27619d=_0x4c627a[0x1];_0x2952b8['filePaths']=_0x27619d['split']('\x0a')[_0x1b948d(0x1cd)](_0x15951b=>_0x15951b[_0x1b948d(0x198)]())[_0x1b948d(0x1d5)](_0x4947ce=>_0x4947ce[_0x1b948d(0x1f8)]>0x0);}const _0x66bbe9=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x4ef9d8=_0x66bbe9['exec'](_0x31f9c3);if(_0x4ef9d8){const _0x1ce969=_0x4ef9d8[0x1],_0x4b89f9=/<term>(.*?)<\/term>/gi;let _0x40eb52;while((_0x40eb52=_0x4b89f9['exec'](_0x1ce969))!==null){const _0x585486=_0x40eb52[0x1]['trim']();_0x585486['length']>0x0&&_0x2952b8['searchTerms'][_0x1b948d(0x1e2)](_0x585486);}}return _0x2952b8;}catch(_0x20fc23){return this[_0x1b948d(0x1b4)]?.[_0x1b948d(0x217)]('Failed\x20to\x20parse\x20seek\x20parameters',{'error':_0x20fc23[_0x1b948d(0x19c)]}),{'filePaths':[],'searchTerms':[],'parseError':_0x20fc23[_0x1b948d(0x19c)]};}}[a0_0xa558fa(0x1f2)](){const _0x3c1992=a0_0xa558fa;return[_0x3c1992(0x1b9),'searchTerms'];}[a0_0xa558fa(0x1a0)](_0x2b922f){const _0x216faf=a0_0xa558fa,_0x5e01fa=[];if(!_0x2b922f['filePaths']||!Array['isArray'](_0x2b922f[_0x216faf(0x1b9)])||_0x2b922f[_0x216faf(0x1b9)]['length']===0x0)_0x5e01fa[_0x216faf(0x1e2)](_0x216faf(0x1ba));else _0x2b922f['filePaths']['length']>this['seekConfig'][_0x216faf(0x204)]&&_0x5e01fa[_0x216faf(0x1e2)](_0x216faf(0x1aa)+this['seekConfig'][_0x216faf(0x204)]+')');if(!_0x2b922f[_0x216faf(0x1bb)]||!Array['isArray'](_0x2b922f[_0x216faf(0x1bb)])||_0x2b922f['searchTerms'][_0x216faf(0x1f8)]===0x0)_0x5e01fa['push'](_0x216faf(0x1b2));else _0x2b922f['searchTerms']['length']>this['seekConfig'][_0x216faf(0x1c2)]&&_0x5e01fa['push']('Too\x20many\x20search\x20terms\x20(max\x20'+this['seekConfig']['MAX_SEARCH_TERMS']+')');if(_0x2b922f[_0x216faf(0x1bb)]&&Array[_0x216faf(0x1b8)](_0x2b922f[_0x216faf(0x1bb)]))for(const [_0x41eace,_0x201299]of _0x2b922f['searchTerms']['entries']()){(typeof _0x201299!=='string'||_0x201299[_0x216faf(0x198)]()['length']===0x0)&&_0x5e01fa[_0x216faf(0x1e2)]('Search\x20term\x20'+(_0x41eace+0x1)+_0x216faf(0x1ef));}if(_0x2b922f['filePaths']&&Array['isArray'](_0x2b922f['filePaths']))for(const [_0x965801,_0x464fb0]of _0x2b922f[_0x216faf(0x1b9)]['entries']()){(typeof _0x464fb0!==_0x216faf(0x1f3)||_0x464fb0[_0x216faf(0x198)]()[_0x216faf(0x1f8)]===0x0)&&_0x5e01fa['push']('File\x20path\x20'+(_0x965801+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string'),_0x464fb0['includes']('..')&&_0x5e01fa['push']('File\x20path\x20'+(_0x965801+0x1)+':\x20path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');}return{'valid':_0x5e01fa[_0x216faf(0x1f8)]===0x0,'errors':_0x5e01fa};}async[a0_0xa558fa(0x1fd)](_0x4d42c2,_0x472198){const _0x53337c=a0_0xa558fa,{filePaths:_0x1ad415,searchTerms:_0x5a8719}=_0x4d42c2,{projectDir:_0x39b07f,agentId:_0x48052b,directoryAccess:_0x4947b6}=_0x472198;let _0xaf8b4d=_0x39b07f||process[_0x53337c(0x1f0)](),_0x4adccc=[_0xaf8b4d];_0x4947b6&&_0x4947b6[_0x53337c(0x206)]&&(_0xaf8b4d=_0x4947b6[_0x53337c(0x206)],_0x4adccc=this[_0x53337c(0x19b)](_0x4947b6),this[_0x53337c(0x1b4)]?.['info']('Using\x20agent\x20configured\x20directory\x20access',{'workingDirectory':_0x4947b6[_0x53337c(0x206)],'totalAccessibleDirs':_0x4adccc['length'],'readOnlyDirs':_0x4947b6[_0x53337c(0x210)]?.[_0x53337c(0x1f8)]||0x0,'writeEnabledDirs':_0x4947b6[_0x53337c(0x1ab)]?.[_0x53337c(0x1f8)]||0x0,'agentId':_0x48052b}));if(!_0xaf8b4d)throw new Error('Project\x20directory\x20is\x20required\x20for\x20seek\x20tool');this['logger']?.['info'](_0x53337c(0x1e4),{'filePathCount':_0x1ad415['length'],'searchTermCount':_0x5a8719['length'],'workingDirectory':_0xaf8b4d,'accessibleDirectories':_0x4adccc['length'],'agentId':_0x48052b});try{const _0x5cc60a=await this[_0x53337c(0x1ea)](_0x1ad415,_0xaf8b4d,_0x4947b6?_0x4adccc:null),_0x5afb62=_0x5cc60a['found'],_0x310755=_0x5cc60a[_0x53337c(0x21d)];if(_0x5afb62['length']>this[_0x53337c(0x1cf)][_0x53337c(0x205)])return{'success':![],'error':'Too\x20many\x20files\x20to\x20search\x20('+_0x5afb62[_0x53337c(0x1f8)]+_0x53337c(0x207)+this['seekConfig']['MAX_FILES_PER_SEARCH']+'.\x20Use\x20more\x20specific\x20file\x20patterns.','filesResolved':_0x5afb62[_0x53337c(0x1f8)],'filesNotFound':_0x310755[_0x53337c(0x1f8)]};const _0x225d08=await this['searchFiles'](_0x5afb62,_0x5a8719,_0xaf8b4d),_0x540dd7=this[_0x53337c(0x19f)](_0x225d08[_0x53337c(0x208)],_0x225d08['errorFiles'],_0x310755,_0x5afb62[_0x53337c(0x1f8)]);return{'success':!![],'filesSearched':_0x5afb62['length'],'filesNotFound':_0x310755['length'],'filesWithErrors':_0x225d08[_0x53337c(0x1e5)][_0x53337c(0x1f8)],'totalMatches':_0x225d08[_0x53337c(0x208)]['length'],'matchesByTerm':_0x225d08['matchesByTerm'],'formattedResults':_0x540dd7,'toolUsed':_0x53337c(0x20a)};}catch(_0xadb431){this['logger']?.['error']('Seek\x20tool\x20execution\x20failed',{'error':_0xadb431[_0x53337c(0x19c)]});throw _0xadb431;}}['getAllAccessibleDirectories'](_0x3ceb0f){const _0x16537b=a0_0xa558fa,_0x5ac8c3=new Set();_0x3ceb0f[_0x16537b(0x206)]&&_0x5ac8c3[_0x16537b(0x218)](_0x3ceb0f['workingDirectory']);if(_0x3ceb0f[_0x16537b(0x210)]&&Array['isArray'](_0x3ceb0f[_0x16537b(0x210)]))for(const _0x1cb90e of _0x3ceb0f[_0x16537b(0x210)]){_0x5ac8c3[_0x16537b(0x218)](_0x1cb90e);}if(_0x3ceb0f[_0x16537b(0x1ab)]&&Array['isArray'](_0x3ceb0f['writeEnabledDirectories']))for(const _0x26580d of _0x3ceb0f[_0x16537b(0x1ab)]){_0x5ac8c3['add'](_0x26580d);}return Array['from'](_0x5ac8c3);}[a0_0xa558fa(0x19e)](_0x151ea2,_0x254efd){const _0x4d2c44=a0_0xa558fa;for(const _0x45ff76 of _0x254efd){const _0x358860=a0_0x2dc534[_0x4d2c44(0x1b1)](_0x45ff76,_0x151ea2),_0x63fb58=!_0x358860[_0x4d2c44(0x1f4)]('..')&&!a0_0x2dc534['isAbsolute'](_0x358860);if(_0x63fb58)return!![];}return![];}async[a0_0xa558fa(0x1ea)](_0x3e68a7,_0x27d90c,_0x19d476=null){const _0x11f034=a0_0xa558fa,_0x4f1bfa={'found':[],'notFound':[]};for(const _0x3f7ab7 of _0x3e68a7){const _0x1ecb88=_0x3f7ab7[_0x11f034(0x198)]();if(_0x1ecb88['includes']('*')){const _0x28d56b=await this['expandGlobPattern'](_0x1ecb88,_0x27d90c);_0x28d56b[_0x11f034(0x1d9)]['length']>0x0?_0x4f1bfa['found']['push'](..._0x28d56b[_0x11f034(0x1d9)]):_0x4f1bfa[_0x11f034(0x21d)]['push'](_0x1ecb88+'\x20(no\x20matching\x20files)');}else{const _0x5ddb47=a0_0x2dc534['isAbsolute'](_0x1ecb88)?_0x1ecb88:a0_0x2dc534[_0x11f034(0x1fb)](_0x27d90c,_0x1ecb88);if(_0x19d476&&_0x19d476['length']>0x0){if(!this['isPathAccessible'](_0x5ddb47,_0x19d476)){_0x4f1bfa['notFound'][_0x11f034(0x1e2)](_0x1ecb88+'\x20(not\x20in\x20accessible\x20directories)');continue;}}try{const _0x4b7980=await a0_0x4d48bd[_0x11f034(0x20b)](_0x5ddb47);if(_0x4b7980[_0x11f034(0x1c5)]())_0x4f1bfa[_0x11f034(0x1d9)]['push'](_0x5ddb47);else _0x4b7980['isDirectory']()?_0x4f1bfa['notFound'][_0x11f034(0x1e2)](_0x1ecb88+_0x11f034(0x1eb)):_0x4f1bfa['notFound'][_0x11f034(0x1e2)](_0x1ecb88+'\x20(not\x20a\x20regular\x20file)');}catch(_0x289602){_0x4f1bfa['notFound']['push'](_0x1ecb88+'\x20('+(_0x289602[_0x11f034(0x1a3)]||_0x289602['message'])+')');}}}return _0x4f1bfa;}async['expandGlobPattern'](_0x16eacd,_0x4ff193){const _0xb7f53c=a0_0xa558fa,_0x3e65ef={'found':[]};if(_0x16eacd['includes'](_0xb7f53c(0x1a7))){const [_0x22896b,_0xef53d9]=_0x16eacd['split']('**/'),_0x592af3=a0_0x2dc534['resolve'](_0x4ff193,_0x22896b);try{const _0x2ffa55=await a0_0x4d48bd[_0xb7f53c(0x20b)](_0x592af3);_0x2ffa55['isDirectory']()&&await this[_0xb7f53c(0x1ff)](_0x592af3,_0xef53d9,_0x3e65ef[_0xb7f53c(0x1d9)],0x0,this[_0xb7f53c(0x1cf)][_0xb7f53c(0x1a8)]);}catch(_0x22ba46){this['logger']?.[_0xb7f53c(0x1ad)](_0xb7f53c(0x1d0),{'basePath':_0x592af3,'error':_0x22ba46[_0xb7f53c(0x19c)]});}}else{if(_0x16eacd['includes']('*')){const _0x5758aa=a0_0x2dc534['dirname'](a0_0x2dc534['resolve'](_0x4ff193,_0x16eacd)),_0x392522=a0_0x2dc534[_0xb7f53c(0x21f)](_0x16eacd);try{const _0x3ab446=await a0_0x4d48bd['stat'](_0x5758aa);if(_0x3ab446['isDirectory']()){const _0x115139=await a0_0x4d48bd['readdir'](_0x5758aa);for(const _0x2a4ef2 of _0x115139){const _0x5b3c63=a0_0x2dc534[_0xb7f53c(0x1da)](_0x5758aa,_0x2a4ef2);try{const _0x42eb3e=await a0_0x4d48bd['stat'](_0x5b3c63);_0x42eb3e[_0xb7f53c(0x1c5)]()&&this['matchesPattern'](_0x2a4ef2,_0x392522)&&_0x3e65ef[_0xb7f53c(0x1d9)][_0xb7f53c(0x1e2)](_0x5b3c63);}catch(_0x274b7c){continue;}}}}catch(_0x479bc7){this[_0xb7f53c(0x1b4)]?.[_0xb7f53c(0x1ad)](_0xb7f53c(0x216),{'dirPath':_0x5758aa,'error':_0x479bc7[_0xb7f53c(0x19c)]});}}}return _0x3e65ef;}async[a0_0xa558fa(0x1ff)](_0x2f858c,_0x4acdb8,_0x2d264b,_0x32d6b4,_0x1e3c99){const _0x28b504=a0_0xa558fa;if(_0x32d6b4>=_0x1e3c99){this['logger']?.[_0x28b504(0x1ad)](_0x28b504(0x1e6),{'dir':_0x2f858c,'currentDepth':_0x32d6b4});return;}try{const _0x4724fa=await a0_0x4d48bd['readdir'](_0x2f858c,{'withFileTypes':!![]});for(const _0x3ae0b1 of _0x4724fa){if(_0x3ae0b1[_0x28b504(0x209)][_0x28b504(0x1f4)]('.'))continue;const _0x3f7c27=a0_0x2dc534['join'](_0x2f858c,_0x3ae0b1[_0x28b504(0x209)]);try{if(_0x3ae0b1[_0x28b504(0x19d)]()){if(this['shouldSkipDirectory'](_0x3ae0b1['name']))continue;await this['findFilesRecursively'](_0x3f7c27,_0x4acdb8,_0x2d264b,_0x32d6b4+0x1,_0x1e3c99);}else{if(_0x3ae0b1[_0x28b504(0x1c5)]()){if(this[_0x28b504(0x1d4)](_0x3ae0b1['name'],_0x4acdb8)){_0x2d264b['push'](_0x3f7c27);if(_0x2d264b[_0x28b504(0x1f8)]>=this[_0x28b504(0x1cf)]['MAX_FILES_PER_SEARCH'])return;}}}}catch(_0x565c41){continue;}}}catch(_0x2a0e0a){this['logger']?.['warn'](_0x28b504(0x21a),{'dir':_0x2f858c,'error':_0x2a0e0a['message']});}}[a0_0xa558fa(0x1d4)](_0x2f8484,_0x144812){const _0x576cee=a0_0xa558fa,_0x2a1fb8=_0x144812[_0x576cee(0x202)]('*')['map'](_0x32fc78=>this['escapeRegExp'](_0x32fc78))[_0x576cee(0x1da)]('.*'),_0x497335=new RegExp('^'+_0x2a1fb8+'$','i');return _0x497335[_0x576cee(0x1ec)](_0x2f8484);}['escapeRegExp'](_0x3bb487){return _0x3bb487['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');}['shouldSkipDirectory'](_0x32ba35){const _0x57f73f=a0_0xa558fa,_0xcf8e33=new Set(['node_modules',_0x57f73f(0x1ee),_0x57f73f(0x194),_0x57f73f(0x199),'coverage','.next',_0x57f73f(0x1e9),_0x57f73f(0x1c3),'target',_0x57f73f(0x201),'__pycache__',_0x57f73f(0x1d8),'tmp','temp']);return _0xcf8e33[_0x57f73f(0x1b0)](_0x32ba35[_0x57f73f(0x1f7)]());}[a0_0xa558fa(0x1d2)](_0x42d2e6){const _0x5b1b14=a0_0xa558fa,_0x522457=a0_0x2dc534[_0x5b1b14(0x1ca)](_0x42d2e6)[_0x5b1b14(0x1f7)]();return BINARY_EXTENSIONS[_0x5b1b14(0x1b0)](_0x522457);}async[a0_0xa558fa(0x1c0)](_0x3d34cc,_0x4951ce,_0xc42fc0){const _0x3b18cf=a0_0xa558fa,_0x673904=[],_0x342b49=[];let _0x533ad5=0x0;for(const _0x2b2637 of _0x3d34cc){if(this[_0x3b18cf(0x1d2)](_0x2b2637))continue;try{const _0x106eab=await a0_0x4d48bd['stat'](_0x2b2637);if(_0x106eab[_0x3b18cf(0x20f)]>this['seekConfig'][_0x3b18cf(0x1fe)]){_0x342b49[_0x3b18cf(0x1e2)]({'filePath':a0_0x2dc534[_0x3b18cf(0x1b1)](_0xc42fc0,_0x2b2637),'error':_0x3b18cf(0x1d6)+Math['round'](_0x106eab['size']/(0x400*0x400))+_0x3b18cf(0x21b)+Math['round'](this['seekConfig']['MAX_FILE_SIZE']/(0x400*0x400))+_0x3b18cf(0x1a9)});continue;}const _0x399f5f=await this['searchInFile'](_0x2b2637,_0x4951ce,_0xc42fc0);_0x673904['push'](..._0x399f5f),_0x533ad5+=_0x399f5f[_0x3b18cf(0x1f8)];if(_0x533ad5>=this[_0x3b18cf(0x1cf)]['MAX_TOTAL_MATCHES']){this['logger']?.[_0x3b18cf(0x1ad)](_0x3b18cf(0x1d1),{'totalMatches':_0x533ad5});break;}}catch(_0x6ccb16){_0x342b49[_0x3b18cf(0x1e2)]({'filePath':a0_0x2dc534[_0x3b18cf(0x1b1)](_0xc42fc0,_0x2b2637),'error':_0x6ccb16[_0x3b18cf(0x19c)]});}}const _0x580b91={};for(const _0x2c89c9 of _0x673904){!_0x580b91[_0x2c89c9['term']]&&(_0x580b91[_0x2c89c9[_0x3b18cf(0x1c9)]]=[]),_0x580b91[_0x2c89c9['term']]['push']({'filePath':_0x2c89c9[_0x3b18cf(0x1bd)],'lineNumber':_0x2c89c9['lineNumber'],'lineContent':_0x2c89c9['lineContent']});}return{'matches':_0x673904,'matchesByTerm':_0x580b91,'errorFiles':_0x342b49};}async['searchInFile'](_0x39634d,_0x4812bf,_0x5d4b89){const _0x189e41=a0_0xa558fa,_0xaa4b56=[];let _0x54d350=0x0;try{const _0x5c012d=await a0_0x4d48bd['readFile'](_0x39634d,FILE_ENCODING),_0x40c740=_0x5c012d[_0x189e41(0x202)]('\x0a'),_0x5a582b=a0_0x2dc534[_0x189e41(0x1b1)](_0x5d4b89,_0x39634d);for(let _0x2f06f5=0x0;_0x2f06f5<_0x40c740['length'];_0x2f06f5++){const _0x386f66=_0x40c740[_0x2f06f5],_0x3819a9=_0x2f06f5+0x1;for(const _0x2c2162 of _0x4812bf){if(_0x386f66['includes'](_0x2c2162)){let _0x3c6929=_0x386f66;if(_0x3c6929['length']>this[_0x189e41(0x1cf)]['MAX_LINE_CONTENT_LENGTH']){const _0x4865bd=_0x3c6929['indexOf'](_0x2c2162),_0x514352=Math['max'](0x0,_0x4865bd-0x32),_0x24062b=Math['min'](_0x3c6929[_0x189e41(0x1f8)],_0x4865bd+_0x2c2162[_0x189e41(0x1f8)]+0x32);_0x3c6929=(_0x514352>0x0?_0x189e41(0x1e8):'')+_0x3c6929['substring'](_0x514352,_0x24062b)+(_0x24062b<_0x3c6929[_0x189e41(0x1f8)]?_0x189e41(0x1e8):'');}_0xaa4b56[_0x189e41(0x1e2)]({'term':_0x2c2162,'filePath':_0x5a582b,'lineNumber':_0x3819a9,'lineContent':_0x3c6929['trim']()}),_0x54d350++;if(_0x54d350>=this['seekConfig']['MAX_MATCHES_PER_FILE'])return this['logger']?.[_0x189e41(0x1ad)](_0x189e41(0x1f9),{'filePath':_0x5a582b}),_0xaa4b56;}}}}catch(_0x5e85c4){throw new Error('Failed\x20to\x20read\x20file:\x20'+_0x5e85c4['message']);}return _0xaa4b56;}[a0_0xa558fa(0x19f)](_0x42e38c,_0x250233,_0x37063a,_0x979019){const _0x5b1089=a0_0xa558fa;let _0x329237='';if(_0x37063a['length']>0x0){_0x329237+=_0x5b1089(0x1d7);for(const _0x1f580f of _0x37063a){_0x329237+='\x20\x20-\x20'+_0x1f580f+'\x0a';}_0x329237+='\x0a';}if(_0x250233['length']>0x0){_0x329237+='FILES\x20WITH\x20ERRORS:\x0a';for(const _0xf84c31 of _0x250233){_0x329237+=_0x5b1089(0x1c4)+_0xf84c31['filePath']+':\x20'+_0xf84c31[_0x5b1089(0x217)]+'\x0a';}_0x329237+='\x0a';}if(_0x42e38c[_0x5b1089(0x1f8)]===0x0)_0x329237+='No\x20matches\x20found\x20for\x20the\x20specified\x20search\x20terms\x20in\x20'+_0x979019+_0x5b1089(0x215);else{const _0xe8aead={};for(const _0x1f5b4d of _0x42e38c){!_0xe8aead[_0x1f5b4d[_0x5b1089(0x1c9)]]&&(_0xe8aead[_0x1f5b4d['term']]=[]),_0xe8aead[_0x1f5b4d['term']]['push'](_0x1f5b4d);}_0x329237+='SEARCH\x20RESULTS\x20('+_0x42e38c[_0x5b1089(0x1f8)]+_0x5b1089(0x1e0)+_0x979019+'\x20file(s)):\x0a\x0a';for(const [_0x195f58,_0x178bc0]of Object['entries'](_0xe8aead)){_0x329237+='Search\x20term:\x20\x22'+_0x195f58+'\x22\x20('+_0x178bc0[_0x5b1089(0x1f8)]+'\x20matches)\x0a';for(const _0x57362a of _0x178bc0){_0x329237+='\x20\x20'+_0x57362a[_0x5b1089(0x1bd)]+':'+_0x57362a['lineNumber']+'\x20-\x20'+_0x57362a['lineContent']+'\x0a';}_0x329237+='\x0a';}_0x42e38c['length']>=this[_0x5b1089(0x1cf)][_0x5b1089(0x20d)]&&(_0x329237+=_0x5b1089(0x1f1)+this['seekConfig']['MAX_TOTAL_MATCHES']+_0x5b1089(0x1a5));}return _0x329237[_0x5b1089(0x198)]();}[a0_0xa558fa(0x214)](){const _0xdce6cb=a0_0xa558fa;return[_0xdce6cb(0x1b5),_0xdce6cb(0x20c),'.ts','.tsx',_0xdce6cb(0x219),'.xml',_0xdce6cb(0x1be),'.css','.scss','.sass',_0xdce6cb(0x1e7),'.md',_0xdce6cb(0x1c6),_0xdce6cb(0x1b6),'.py',_0xdce6cb(0x1ed),_0xdce6cb(0x1e3),'.go','.rs','.c',_0xdce6cb(0x1db),'.h',_0xdce6cb(0x1bf),_0xdce6cb(0x197),'.bash','.zsh','.yml',_0xdce6cb(0x212),'.toml','.ini','.conf'];}async['cleanup'](_0x25c474){const _0x5610ea=a0_0xa558fa;this['logger']?.[_0x5610ea(0x1a4)](_0x5610ea(0x1de),{'operationId':_0x25c474});}}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_0x1af86f=a0_0x224a;function a0_0x224a(_0x103b1b,_0x4b5880){_0x103b1b=_0x103b1b-0x10e;const _0x2d8d93=a0_0x2d8d();let _0x224a26=_0x2d8d93[_0x103b1b];if(a0_0x224a['cciCTK']===undefined){var _0x2125eb=function(_0x312d96){const _0x599d69='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a9d9a='',_0x417253='';for(let _0x19f56d=0x0,_0x346124,_0xfb82e9,_0x4ad9e9=0x0;_0xfb82e9=_0x312d96['charAt'](_0x4ad9e9++);~_0xfb82e9&&(_0x346124=_0x19f56d%0x4?_0x346124*0x40+_0xfb82e9:_0xfb82e9,_0x19f56d++%0x4)?_0x3a9d9a+=String['fromCharCode'](0xff&_0x346124>>(-0x2*_0x19f56d&0x6)):0x0){_0xfb82e9=_0x599d69['indexOf'](_0xfb82e9);}for(let _0x256564=0x0,_0x1265b8=_0x3a9d9a['length'];_0x256564<_0x1265b8;_0x256564++){_0x417253+='%'+('00'+_0x3a9d9a['charCodeAt'](_0x256564)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x417253);};a0_0x224a['mjrZDI']=_0x2125eb,a0_0x224a['aRMJEL']={},a0_0x224a['cciCTK']=!![];}const _0x52935d=_0x2d8d93[0x0],_0x435324=_0x103b1b+_0x52935d,_0x55ba1a=a0_0x224a['aRMJEL'][_0x435324];return!_0x55ba1a?(_0x224a26=a0_0x224a['mjrZDI'](_0x224a26),a0_0x224a['aRMJEL'][_0x435324]=_0x224a26):_0x224a26=_0x55ba1a,_0x224a26;}(function(_0x15e36e,_0x35d78f){const _0x22609d=a0_0x224a,_0x501983=_0x15e36e();while(!![]){try{const _0x20fc31=-parseInt(_0x22609d(0x1c4))/0x1+-parseInt(_0x22609d(0x1d5))/0x2*(-parseInt(_0x22609d(0x1b5))/0x3)+parseInt(_0x22609d(0x14f))/0x4+-parseInt(_0x22609d(0x10e))/0x5*(parseInt(_0x22609d(0x185))/0x6)+parseInt(_0x22609d(0x156))/0x7*(-parseInt(_0x22609d(0x1bf))/0x8)+parseInt(_0x22609d(0x147))/0x9+parseInt(_0x22609d(0x16a))/0xa*(parseInt(_0x22609d(0x16e))/0xb);if(_0x20fc31===_0x35d78f)break;else _0x501983['push'](_0x501983['shift']());}catch(_0x75424e){_0x501983['push'](_0x501983['shift']());}}}(a0_0x2d8d,0xdd710));import{BaseTool}from'./baseTool.js';import a0_0x3a9d9a from'../utilities/tagParser.js';import a0_0x417253 from'../utilities/directoryAccessManager.js';import a0_0x19f56d from'fs/promises';import a0_0x346124 from'path';import a0_0xfb82e9 from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x4ad9e9={},_0x256564=null){const _0x401067=a0_0x224a;super(_0x4ad9e9,_0x256564),this['requiresProject']=!![],this['isAsync']=![],this['timeout']=_0x4ad9e9['timeout']||STATIC_ANALYSIS[_0x401067(0x1c0)],this['maxConcurrentOperations']=_0x4ad9e9[_0x401067(0x1d2)]||0x1,this[_0x401067(0x1c2)]=_0x4ad9e9[_0x401067(0x1c2)]||STATIC_ANALYSIS['MAX_FILE_SIZE_FOR_ANALYSIS'],this[_0x401067(0x13d)]=_0x4ad9e9['maxFilesPerBatch']||STATIC_ANALYSIS[_0x401067(0x1e6)],this['enableCache']=_0x4ad9e9[_0x401067(0x178)]!==![]&&STATIC_ANALYSIS[_0x401067(0x1cd)],this[_0x401067(0x186)]=new Map(),this[_0x401067(0x1e0)]=STATIC_ANALYSIS['CACHE_DURATION'],this[_0x401067(0x168)]=_0x4ad9e9['parallelAnalysis']!==![],this[_0x401067(0x1d8)]=_0x4ad9e9['maxParallelFiles']||0xa,this['useContentHash']=_0x4ad9e9['useContentHash']!==![],this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x401067(0x11e)]=new a0_0x417253(_0x4ad9e9,_0x256564),this['analyzers']={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this[_0x401067(0x115)]={'prettier':null};}['getDescription'](){const _0x3acc4d=a0_0x224a;return'\x0aStatic\x20Code\x20Analysis\x20Tool:\x20Analyze\x20code\x20files\x20for\x20errors\x20without\x20execution\x0a\x0aThis\x20tool\x20performs\x20static\x20analysis\x20on\x20code\x20files\x20to\x20find\x20syntax\x20errors,\x20type\x20errors,\x20import\x20issues,\x20and\x20other\x20problems\x20without\x20running\x20the\x20code.\x20It\x20uses\x20official\x20language\x20parsers\x20for\x20accurate\x20results.\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Python\x20(.py)\x0a-\x20CSS\x20(.css)\x0a-\x20SCSS\x20(.scss,\x20.sass)\x0a-\x20LESS\x20(.less)\x0a\x0aUSAGE\x20-\x20XML\x20FORMAT:\x0a\x0aSingle\x20File\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a[/tool]\x0a\x0aMultiple\x20Files\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/utils.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/components/Button.jsx\x22\x20/>\x0a[/tool]\x0a\x0aProject-Wide\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22src\x22\x20pattern=\x22**/*.js\x22\x20/>\x0a[/tool]\x0a\x0aAuto-Fix\x20Code\x20Issues:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<fix\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aFormat\x20Code:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<format\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aUSAGE\x20-\x20JSON\x20FORMAT:\x0a\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze\x22,\x0a\x20\x20\x20\x20\x20\x20\x22filePath\x22:\x20\x22src/index.js\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze-project\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22pattern\x22:\x20\x22**/*.{js,ts,py}\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20file-path:\x20Path\x20to\x20file\x20to\x20analyze\x20(for\x20single\x20file)\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(for\x20project-wide)\x0a-\x20pattern:\x20Glob\x20pattern\x20for\x20files\x20to\x20include\x20(optional,\x20defaults\x20to\x20language-specific\x20patterns)\x0a-\x20include-warnings:\x20Include\x20warnings\x20in\x20results\x20(true/false,\x20default:\x20true)\x0a-\x20max-errors:\x20Maximum\x20number\x20of\x20errors\x20to\x20return\x20(default:\x20all)\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20structured\x20error\x20information:\x0a-\x20file:\x20File\x20path\x0a-\x20line:\x20Line\x20number\x0a-\x20column:\x20Column\x20number\x0a-\x20severity:\x20critical\x20|\x20error\x20|\x20warning\x20|\x20info\x0a-\x20rule:\x20Rule\x20identifier\x0a-\x20message:\x20Human-readable\x20description\x0a-\x20category:\x20syntax\x20|\x20type\x20|\x20import\x20|\x20style\x20|\x20security\x20|\x20performance\x20|\x20best_practice\x0a-\x20fixable:\x20Whether\x20error\x20can\x20be\x20auto-fixed\x0a-\x20suggestion:\x20Fix\x20suggestion\x20(if\x20applicable)\x0a-\x20remediation:\x20Security\x20remediation\x20advice\x20(for\x20security\x20issues)\x0a\x0aDETECTION:\x0a-\x20Language:\x20Automatically\x20detected\x20from\x20file\x20extension\x0a-\x20Framework:\x20Detected\x20from\x20package.json,\x20requirements.txt,\x20etc.\x0a-\x20Context:\x20Project\x20structure\x20analyzed\x20for\x20better\x20accuracy\x0a\x0aEXAMPLES:\x0a\x0aFind\x20all\x20errors\x20in\x20a\x20JavaScript\x20file:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aAnalyze\x20TypeScript\x20with\x20type\x20checking:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/types.ts\x22\x20/>\x0a[/tool]\x0a\x0aCheck\x20all\x20Python\x20files\x20in\x20a\x20directory:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22backend\x22\x20pattern=\x22**/*.py\x22\x20/>\x0a[/tool]\x0a\x0aLIMITATIONS:\x0a-\x20File\x20size\x20limit:\x20'+Math['round'](this[_0x3acc4d(0x1c2)]/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this['maxFilesPerBatch']+'\x20files\x20per\x20operation\x0a-\x20Analysis\x20timeout:\x20'+this['timeout']/0x3e8+_0x3acc4d(0x165);}[a0_0x1af86f(0x1d0)](_0x1265b8){const _0x10550f=a0_0x1af86f;try{const _0x51f3dd={},_0x2ed8bd=[];this[_0x10550f(0x188)]?.[_0x10550f(0x157)](_0x10550f(0x148),{'contentLength':_0x1265b8[_0x10550f(0x1d9)],'contentPreview':_0x1265b8[_0x10550f(0x11a)](0x0,0xc8)});const _0x172cca=/<analyze\s+(.+?)\/>/g;let _0x448939;while((_0x448939=_0x172cca['exec'](_0x1265b8))!==null){const _0x4488ef=_0x448939[0x1]['trim'](),_0x69d660=new a0_0x3a9d9a(),_0x572d7a=_0x69d660[_0x10550f(0x13a)](_0x4488ef),_0x4e65d4={'type':_0x10550f(0x13f),..._0x572d7a};_0x4e65d4[_0x10550f(0x18e)]&&(_0x4e65d4['filePath']=_0x4e65d4[_0x10550f(0x18e)],delete _0x4e65d4['file-path']),_0x4e65d4['include-warnings']&&(_0x4e65d4['includeWarnings']=_0x4e65d4[_0x10550f(0x18c)]==='true',delete _0x4e65d4['include-warnings']),_0x4e65d4['max-errors']&&(_0x4e65d4[_0x10550f(0x191)]=parseInt(_0x4e65d4['max-errors'],0xa),delete _0x4e65d4[_0x10550f(0x16f)]),_0x2ed8bd[_0x10550f(0x16d)](_0x4e65d4);}const _0x29102c=/<analyze-project\s+(.+?)\/>/g;while((_0x448939=_0x29102c['exec'](_0x1265b8))!==null){const _0x6664de=_0x448939[0x1][_0x10550f(0x14a)](),_0x591365=new a0_0x3a9d9a(),_0x1ca3d8=_0x591365['parseAttributes'](_0x6664de),_0x1fc4bb={'type':'analyze-project',..._0x1ca3d8};_0x1fc4bb[_0x10550f(0x18c)]&&(_0x1fc4bb[_0x10550f(0x182)]=_0x1fc4bb[_0x10550f(0x18c)]==='true',delete _0x1fc4bb[_0x10550f(0x18c)]),_0x1fc4bb['max-errors']&&(_0x1fc4bb[_0x10550f(0x191)]=parseInt(_0x1fc4bb[_0x10550f(0x16f)],0xa),delete _0x1fc4bb[_0x10550f(0x16f)]),_0x2ed8bd[_0x10550f(0x16d)](_0x1fc4bb);}const _0x5181b0=/<fix\s+(.+?)\/>/g;while((_0x448939=_0x5181b0['exec'](_0x1265b8))!==null){const _0x20376c=_0x448939[0x1][_0x10550f(0x14a)](),_0x4f7c18=new a0_0x3a9d9a(),_0x1bffd3=_0x4f7c18[_0x10550f(0x13a)](_0x20376c),_0x13268d={'type':_0x10550f(0x1cc),..._0x1bffd3};_0x13268d['file-path']&&(_0x13268d['filePath']=_0x13268d[_0x10550f(0x18e)],delete _0x13268d['file-path']),_0x13268d[_0x10550f(0x1a8)]&&(_0x13268d['writeFile']=_0x13268d[_0x10550f(0x1a8)]===_0x10550f(0x1c7),delete _0x13268d['write-file']),_0x2ed8bd[_0x10550f(0x16d)](_0x13268d);}const _0x4bd090=/<format\s+(.+?)\/>/g;while((_0x448939=_0x4bd090['exec'](_0x1265b8))!==null){const _0x17e552=_0x448939[0x1][_0x10550f(0x14a)](),_0x2318b7=new a0_0x3a9d9a(),_0x215869=_0x2318b7[_0x10550f(0x13a)](_0x17e552),_0x7f551b={'type':'format',..._0x215869};_0x7f551b['file-path']&&(_0x7f551b[_0x10550f(0x1cb)]=_0x7f551b['file-path'],delete _0x7f551b[_0x10550f(0x18e)]),_0x7f551b[_0x10550f(0x1a8)]&&(_0x7f551b[_0x10550f(0x15d)]=_0x7f551b[_0x10550f(0x1a8)]===_0x10550f(0x1c7),delete _0x7f551b['write-file']),_0x2ed8bd[_0x10550f(0x16d)](_0x7f551b);}const _0x154b62=/<security-scan\s+(.+?)\/>/g;while((_0x448939=_0x154b62[_0x10550f(0x119)](_0x1265b8))!==null){const _0x4b024c=_0x448939[0x1][_0x10550f(0x14a)](),_0x2a2568=new a0_0x3a9d9a(),_0x318e61=_0x2a2568['parseAttributes'](_0x4b024c),_0x4d3c94={'type':_0x10550f(0x174),..._0x318e61};_0x4d3c94[_0x10550f(0x18e)]&&(_0x4d3c94[_0x10550f(0x1cb)]=_0x4d3c94[_0x10550f(0x18e)],delete _0x4d3c94['file-path']),_0x4d3c94['skip-test-files']&&(_0x4d3c94['skipTestFiles']=_0x4d3c94['skip-test-files']==='true',delete _0x4d3c94['skip-test-files']),_0x2ed8bd[_0x10550f(0x16d)](_0x4d3c94);}const _0x5e3bf1=/<security-scan-project\s+(.+?)\/>/g;while((_0x448939=_0x5e3bf1['exec'](_0x1265b8))!==null){const _0x5a0eb6=_0x448939[0x1]['trim'](),_0x4eedcc=new a0_0x3a9d9a(),_0x5b3848=_0x4eedcc[_0x10550f(0x13a)](_0x5a0eb6),_0x37e275={'type':'security-scan-project',..._0x5b3848};_0x37e275['skip-test-files']&&(_0x37e275['skipTestFiles']=_0x37e275[_0x10550f(0x16b)]===_0x10550f(0x1c7),delete _0x37e275['skip-test-files']),_0x2ed8bd[_0x10550f(0x16d)](_0x37e275);}const _0x782f95=/<validate-config\s+(.+?)\/>/g;while((_0x448939=_0x782f95['exec'](_0x1265b8))!==null){const _0x3d7fd1=_0x448939[0x1]['trim'](),_0x24a527=new a0_0x3a9d9a(),_0x3f833b=_0x24a527[_0x10550f(0x13a)](_0x3d7fd1),_0x55593e={'type':_0x10550f(0x131),..._0x3f833b};_0x55593e['file-path']&&(_0x55593e['filePath']=_0x55593e[_0x10550f(0x18e)],delete _0x55593e[_0x10550f(0x18e)]),_0x2ed8bd['push'](_0x55593e);}const _0x17eed3=/<validate-config-directory\s+(.+?)\/>/g;while((_0x448939=_0x17eed3[_0x10550f(0x119)](_0x1265b8))!==null){const _0x39a178=_0x448939[0x1]['trim'](),_0x2512a9=new a0_0x3a9d9a(),_0x47f256=_0x2512a9[_0x10550f(0x13a)](_0x39a178),_0x208640={'type':_0x10550f(0x16c),..._0x47f256};_0x2ed8bd[_0x10550f(0x16d)](_0x208640);}return _0x51f3dd[_0x10550f(0x123)]=_0x2ed8bd,_0x51f3dd['rawContent']=_0x1265b8['trim'](),this['logger']?.['debug'](_0x10550f(0x1ce),{'totalActions':_0x2ed8bd[_0x10550f(0x1d9)],'actionTypes':_0x2ed8bd['map'](_0x51354d=>_0x51354d[_0x10550f(0x10f)])}),_0x51f3dd;}catch(_0x37372e){throw new Error('Failed\x20to\x20parse\x20static\x20analysis\x20parameters:\x20'+_0x37372e[_0x10550f(0x19b)]);}}[a0_0x1af86f(0x1e3)](){const _0x3a5e6a=a0_0x1af86f;return[_0x3a5e6a(0x123)];}['customValidateParameters'](_0x456006){const _0x105c24=a0_0x1af86f,_0x56c051=[];if(!_0x456006[_0x105c24(0x123)]||!Array['isArray'](_0x456006[_0x105c24(0x123)])||_0x456006[_0x105c24(0x123)][_0x105c24(0x1d9)]===0x0)_0x56c051[_0x105c24(0x16d)](_0x105c24(0x180));else{for(const [_0x2ab612,_0x526f42]of _0x456006['actions']['entries']()){if(!_0x526f42[_0x105c24(0x10f)]){_0x56c051['push'](_0x105c24(0x160)+(_0x2ab612+0x1)+_0x105c24(0x140));continue;}switch(_0x526f42[_0x105c24(0x10f)]){case'analyze':!_0x526f42['filePath']&&_0x56c051['push'](_0x105c24(0x160)+(_0x2ab612+0x1)+_0x105c24(0x1dd));break;case _0x105c24(0x1ae):!_0x526f42['directory']&&_0x56c051['push']('Action\x20'+(_0x2ab612+0x1)+':\x20directory\x20is\x20required\x20for\x20analyze-project');break;case'fix':!_0x526f42['filePath']&&_0x56c051['push'](_0x105c24(0x160)+(_0x2ab612+0x1)+_0x105c24(0x1c6));break;case _0x105c24(0x149):!_0x526f42[_0x105c24(0x1cb)]&&_0x56c051['push']('Action\x20'+(_0x2ab612+0x1)+':\x20file-path\x20is\x20required\x20for\x20format');break;case'security-scan':!_0x526f42['filePath']&&_0x56c051['push'](_0x105c24(0x160)+(_0x2ab612+0x1)+':\x20file-path\x20is\x20required\x20for\x20security-scan');break;case _0x105c24(0x14e):!_0x526f42[_0x105c24(0x14b)]&&_0x56c051[_0x105c24(0x16d)]('Action\x20'+(_0x2ab612+0x1)+':\x20directory\x20is\x20required\x20for\x20security-scan-project');break;case'validate-config':!_0x526f42['filePath']&&_0x56c051['push'](_0x105c24(0x160)+(_0x2ab612+0x1)+':\x20file-path\x20is\x20required\x20for\x20validate-config');break;case'validate-config-directory':!_0x526f42[_0x105c24(0x14b)]&&_0x56c051[_0x105c24(0x16d)](_0x105c24(0x160)+(_0x2ab612+0x1)+_0x105c24(0x1d7));break;default:_0x56c051['push'](_0x105c24(0x160)+(_0x2ab612+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x526f42[_0x105c24(0x10f)]);}}_0x456006['actions'][_0x105c24(0x1d9)]>this[_0x105c24(0x13d)]&&_0x56c051[_0x105c24(0x16d)]('Too\x20many\x20actions:\x20'+_0x456006[_0x105c24(0x123)][_0x105c24(0x1d9)]+_0x105c24(0x15a)+this[_0x105c24(0x13d)]+')');}return{'valid':_0x56c051[_0x105c24(0x1d9)]===0x0,'errors':_0x56c051};}async['execute'](_0x2d7027,_0x54ea97){const _0x3c5ffd=a0_0x1af86f,{actions:_0x1ddcb7}=_0x2d7027,{projectDir:_0x527c36,agentId:_0x18c9fd,directoryAccess:_0x105d78}=_0x54ea97,_0xd73cac=_0x105d78||this[_0x3c5ffd(0x11e)][_0x3c5ffd(0x1c3)]({'workingDirectory':_0x527c36||process['cwd'](),'writeEnabledDirectories':[_0x527c36||process[_0x3c5ffd(0x134)]()],'restrictToProject':!![]}),_0x3c7443=this['directoryAccessManager']['getWorkingDirectory'](_0xd73cac),_0x1f3f06={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x1fd077 of _0x1ddcb7){try{let _0x56fff4;switch(_0x1fd077['type']){case _0x3c5ffd(0x13f):_0x56fff4=await this[_0x3c5ffd(0x198)](_0x1fd077[_0x3c5ffd(0x1cb)],_0x3c7443,_0xd73cac,_0x1fd077);_0x56fff4&&(_0x1f3f06['files']['push'](_0x56fff4),this[_0x3c5ffd(0x1aa)](_0x1f3f06['summary'],_0x56fff4));break;case _0x3c5ffd(0x1ae):const _0x228091=await this['analyzeProject'](_0x1fd077['directory'],_0x1fd077['pattern'],_0x3c7443,_0xd73cac,_0x1fd077);_0x1f3f06[_0x3c5ffd(0x126)][_0x3c5ffd(0x16d)](..._0x228091);for(const _0x5f386e of _0x228091){this['updateSummary'](_0x1f3f06[_0x3c5ffd(0x15f)],_0x5f386e);}break;case _0x3c5ffd(0x1cc):_0x56fff4=await this[_0x3c5ffd(0x15e)](_0x1fd077[_0x3c5ffd(0x1cb)],_0x3c7443,_0xd73cac,_0x1fd077);_0x56fff4&&_0x1f3f06['files']['push'](_0x56fff4);break;case _0x3c5ffd(0x149):_0x56fff4=await this[_0x3c5ffd(0x150)](_0x1fd077['filePath'],_0x3c7443,_0xd73cac,_0x1fd077);_0x56fff4&&_0x1f3f06['files'][_0x3c5ffd(0x16d)](_0x56fff4);break;case _0x3c5ffd(0x174):_0x56fff4=await this['securityScanFile'](_0x1fd077[_0x3c5ffd(0x1cb)],_0x3c7443,_0xd73cac,_0x1fd077);_0x56fff4&&(_0x1f3f06[_0x3c5ffd(0x126)][_0x3c5ffd(0x16d)](_0x56fff4),this[_0x3c5ffd(0x1aa)](_0x1f3f06[_0x3c5ffd(0x15f)],_0x56fff4));break;case'security-scan-project':const _0x4905e0=await this[_0x3c5ffd(0x17e)](_0x1fd077['directory'],_0x1fd077['pattern'],_0x3c7443,_0xd73cac,_0x1fd077);_0x1f3f06['files']['push'](..._0x4905e0);for(const _0x3fe5ec of _0x4905e0){this['updateSummary'](_0x1f3f06['summary'],_0x3fe5ec);}break;case'validate-config':_0x56fff4=await this['validateConfigFile'](_0x1fd077[_0x3c5ffd(0x1cb)],_0x3c7443,_0xd73cac,_0x1fd077);_0x56fff4&&(_0x1f3f06['files']['push'](_0x56fff4),this['updateSummary'](_0x1f3f06['summary'],_0x56fff4));break;case _0x3c5ffd(0x16c):const _0x43e97e=await this[_0x3c5ffd(0x122)](_0x1fd077[_0x3c5ffd(0x14b)],_0x3c7443,_0xd73cac,_0x1fd077);_0x1f3f06['files'][_0x3c5ffd(0x16d)](..._0x43e97e);for(const _0x599d8e of _0x43e97e){this[_0x3c5ffd(0x1aa)](_0x1f3f06[_0x3c5ffd(0x15f)],_0x599d8e);}break;default:throw new Error(_0x3c5ffd(0x1bd)+_0x1fd077['type']);}}catch(_0x5c3320){this['logger']?.[_0x3c5ffd(0x13e)](_0x3c5ffd(0x17a),{'action':_0x1fd077['type'],'error':_0x5c3320['message']}),_0x1f3f06[_0x3c5ffd(0x126)]['push']({'file':_0x1fd077['filePath']||_0x1fd077[_0x3c5ffd(0x14b)],'error':_0x5c3320[_0x3c5ffd(0x19b)],'success':![]});}}return{'success':!![],'results':_0x1f3f06,'toolUsed':_0x3c5ffd(0x179),'performance':this[_0x3c5ffd(0x1b9)]()};}async['analyzeFile'](_0x40bb79,_0x141a5e,_0x314b60,_0x4138e8={}){const _0x674763=a0_0x1af86f,_0x10e704=a0_0x346124[_0x674763(0x18b)](_0x40bb79)?a0_0x346124[_0x674763(0x129)](_0x40bb79):a0_0x346124['resolve'](_0x141a5e,_0x40bb79),_0x2a8d97=this['directoryAccessManager']['validateReadAccess'](_0x10e704,_0x314b60);if(!_0x2a8d97[_0x674763(0x1ba)])throw new Error('Read\x20access\x20denied:\x20'+_0x2a8d97[_0x674763(0x176)]);try{const _0xc0420c=await a0_0x19f56d[_0x674763(0x154)](_0x10e704);if(_0xc0420c[_0x674763(0x137)]>this[_0x674763(0x1c2)])throw new Error(_0x674763(0x135)+_0xc0420c['size']+'\x20bytes\x20(max\x20'+this[_0x674763(0x1c2)]+')');const _0xae7782=this[_0x674763(0x18a)](_0x10e704);if(!_0xae7782)return{'file':this[_0x674763(0x11e)]['createRelativePath'](_0x10e704,_0x314b60),'fullPath':_0x10e704,'language':_0x674763(0x1a3),'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'Unsupported\x20file\x20type'};const _0x2466ec=await a0_0x19f56d[_0x674763(0x167)](_0x10e704,_0x674763(0x14d)),_0x149bb3=this[_0x674763(0x172)]?this['computeContentHash'](_0x2466ec):null,_0x166e3c=this['useContentHash']?_0x10e704+':'+_0x149bb3:_0x10e704+':'+_0xc0420c[_0x674763(0x1e5)][_0x674763(0x1db)]();if(this[_0x674763(0x178)]&&this['analysisCache'][_0x674763(0x175)](_0x166e3c)){const _0x512872=this[_0x674763(0x186)][_0x674763(0x1a0)](_0x166e3c);if(Date[_0x674763(0x1d1)]()-_0x512872[_0x674763(0x1c1)]<this['cacheExpiry'])return this[_0x674763(0x188)]?.[_0x674763(0x157)]('Using\x20cached\x20analysis\x20result',{'file':_0x10e704}),this['metrics']['cacheHits']++,this[_0x674763(0x1b2)][_0x674763(0x1c8)]++,_0x512872[_0x674763(0x177)];}this[_0x674763(0x1b2)][_0x674763(0x14c)]++,this['metrics']['totalAnalyses']++;const _0xb3dfdd=await this['getAnalyzer'](_0xae7782);if(!_0xb3dfdd)return{'file':this[_0x674763(0x11e)]['createRelativePath'](_0x10e704,_0x314b60),'fullPath':_0x10e704,'language':_0xae7782,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'No\x20analyzer\x20available\x20for\x20'+_0xae7782};const _0x1e6590=Date[_0x674763(0x1d1)](),_0x3769f7=await _0xb3dfdd[_0x674763(0x13f)](_0x10e704,_0x2466ec,{'workingDir':_0x141a5e,'accessConfig':_0x314b60,'framework':await this['detectFramework'](_0x141a5e,_0xae7782)}),_0x4f573c=Date[_0x674763(0x1d1)]()-_0x1e6590;this[_0x674763(0x1b2)]['totalAnalysisTime']+=_0x4f573c,this[_0x674763(0x1b2)][_0x674763(0x139)]++;const _0x152669={'file':this[_0x674763(0x11e)]['createRelativePath'](_0x10e704,_0x314b60),'fullPath':_0x10e704,'language':_0xae7782,'framework':await this[_0x674763(0x1dc)](_0x141a5e,_0xae7782),'errors':_0x3769f7[_0x674763(0x1c5)](_0x313396=>_0x313396['severity']===STATIC_ANALYSIS[_0x674763(0x151)][_0x674763(0x155)]),'warnings':_0x4138e8['includeWarnings']!==![]?_0x3769f7['filter'](_0x2ea8fb=>_0x2ea8fb['severity']===STATIC_ANALYSIS['SEVERITY'][_0x674763(0x19c)]):[],'info':_0x3769f7[_0x674763(0x1c5)](_0x2639fd=>_0x2639fd[_0x674763(0x153)]===STATIC_ANALYSIS[_0x674763(0x151)][_0x674763(0x112)]),'totalIssues':_0x3769f7['length'],'analyzed':!![],'timestamp':new Date()[_0x674763(0x11d)]()};return _0x4138e8[_0x674763(0x191)]&&_0x152669['errors']['length']>_0x4138e8['maxErrors']&&(_0x152669[_0x674763(0x128)]=_0x152669[_0x674763(0x128)]['slice'](0x0,_0x4138e8[_0x674763(0x191)]),_0x152669['truncated']=!![]),this[_0x674763(0x178)]&&this[_0x674763(0x186)][_0x674763(0x114)](_0x166e3c,{'result':_0x152669,'timestamp':Date[_0x674763(0x1d1)]()}),_0x152669;}catch(_0x227edc){throw new Error(_0x674763(0x1a5)+_0x40bb79+':\x20'+_0x227edc[_0x674763(0x19b)]);}}async[a0_0x1af86f(0x1e4)](_0x4fc735,_0x1c0ef6,_0xe85c99,_0x5bd045,_0x4e1bdf={}){const _0x457563=a0_0x1af86f,_0x1f2710=a0_0x346124[_0x457563(0x18b)](_0x4fc735)?a0_0x346124[_0x457563(0x129)](_0x4fc735):a0_0x346124['resolve'](_0xe85c99,_0x4fc735),_0x2b6fde=this[_0x457563(0x11e)]['validateReadAccess'](_0x1f2710,_0x5bd045);if(!_0x2b6fde['allowed'])throw new Error(_0x457563(0x1d6)+_0x2b6fde['reason']);const _0x3c2760=await this['findFiles'](_0x1f2710,_0x1c0ef6);if(_0x3c2760['length']>this[_0x457563(0x13d)])throw new Error(_0x457563(0x125)+_0x3c2760[_0x457563(0x1d9)]+'\x20(max\x20'+this['maxFilesPerBatch']+')');const _0x2be747=[];if(this['parallelAnalysis']&&_0x3c2760['length']>0x1){this['logger']?.[_0x457563(0x157)]('Using\x20parallel\x20analysis',{'totalFiles':_0x3c2760['length'],'batchSize':this['maxParallelFiles']});for(let _0x2ba395=0x0;_0x2ba395<_0x3c2760['length'];_0x2ba395+=this['maxParallelFiles']){const _0x50e1a5=_0x3c2760['slice'](_0x2ba395,_0x2ba395+this[_0x457563(0x1d8)]);this[_0x457563(0x1b2)]['parallelBatches']++;const _0x3ee22f={'completed':_0x2ba395,'total':_0x3c2760[_0x457563(0x1d9)],'percentage':Math['round'](_0x2ba395/_0x3c2760[_0x457563(0x1d9)]*0x64)};_0x4e1bdf[_0x457563(0x1af)]&&_0x4e1bdf[_0x457563(0x1af)](_0x3ee22f);this['logger']?.[_0x457563(0x157)]('Analyzing\x20batch',{'batch':Math[_0x457563(0x17c)](_0x2ba395/this[_0x457563(0x1d8)])+0x1,'filesInBatch':_0x50e1a5[_0x457563(0x1d9)],'progress':_0x3ee22f[_0x457563(0x194)]+'/'+_0x3ee22f[_0x457563(0x181)]});const _0x4f1dbc=_0x50e1a5['map'](async _0x5c846e=>{const _0x41b64d=_0x457563;try{const _0x103c25=await this['analyzeFile'](_0x5c846e,_0xe85c99,_0x5bd045,_0x4e1bdf);return _0x103c25;}catch(_0x384308){return this[_0x41b64d(0x188)]?.[_0x41b64d(0x1ca)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x5c846e,'error':_0x384308['message']}),{'file':this[_0x41b64d(0x11e)][_0x41b64d(0x111)](_0x5c846e,_0x5bd045),'fullPath':_0x5c846e,'error':_0x384308['message'],'success':![]};}}),_0x27049c=await Promise['all'](_0x4f1dbc);_0x2be747['push'](..._0x27049c[_0x457563(0x1c5)](_0x1e933b=>_0x1e933b!==null));}_0x4e1bdf['onProgress']&&_0x4e1bdf['onProgress']({'completed':_0x3c2760[_0x457563(0x1d9)],'total':_0x3c2760['length'],'percentage':0x64});}else for(const _0x8607a6 of _0x3c2760){try{const _0x5a0f5e=await this['analyzeFile'](_0x8607a6,_0xe85c99,_0x5bd045,_0x4e1bdf);_0x5a0f5e&&_0x2be747['push'](_0x5a0f5e);}catch(_0x1c4322){this['logger']?.[_0x457563(0x1ca)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x8607a6,'error':_0x1c4322[_0x457563(0x19b)]}),_0x2be747['push']({'file':this['directoryAccessManager']['createRelativePath'](_0x8607a6,_0x5bd045),'fullPath':_0x8607a6,'error':_0x1c4322[_0x457563(0x19b)],'success':![]});}}return _0x2be747;}async[a0_0x1af86f(0x15e)](_0x5e4156,_0x2475d2,_0x278b9d,_0x3bd099={}){const _0xf4caeb=a0_0x1af86f,_0x3bcf60=a0_0x346124['isAbsolute'](_0x5e4156)?a0_0x346124[_0xf4caeb(0x129)](_0x5e4156):a0_0x346124[_0xf4caeb(0x1c9)](_0x2475d2,_0x5e4156),_0x9af703=this['directoryAccessManager'][_0xf4caeb(0x1de)](_0x3bcf60,_0x278b9d);if(!_0x9af703['allowed'])throw new Error(_0xf4caeb(0x1d6)+_0x9af703['reason']);if(_0x3bd099['writeFile']){const _0x9cf036=this['directoryAccessManager'][_0xf4caeb(0x18d)](_0x3bcf60,_0x278b9d);if(!_0x9cf036[_0xf4caeb(0x1ba)])throw new Error(_0xf4caeb(0x1bb)+_0x9cf036[_0xf4caeb(0x176)]);}try{const _0x1297fc=await a0_0x19f56d[_0xf4caeb(0x167)](_0x3bcf60,'utf-8'),_0x5e52fd=await this['getESLintAnalyzer'](),_0x5c26e4=await _0x5e52fd[_0xf4caeb(0x1cc)](_0x3bcf60,_0x1297fc,{'workingDir':_0x2475d2,'accessConfig':_0x278b9d,'framework':await this[_0xf4caeb(0x1dc)](_0x2475d2,this[_0xf4caeb(0x18a)](_0x3bcf60))});return _0x3bd099['writeFile']&&_0x5c26e4['fixed']&&(await a0_0x19f56d['writeFile'](_0x3bcf60,_0x5c26e4['content'],_0xf4caeb(0x14d)),this[_0xf4caeb(0x188)]?.[_0xf4caeb(0x192)](_0xf4caeb(0x1b7),{'file':_0x3bcf60})),{'file':this[_0xf4caeb(0x11e)]['createRelativePath'](_0x3bcf60,_0x278b9d),'fullPath':_0x3bcf60,'action':'fix','fixed':_0x5c26e4[_0xf4caeb(0x1be)],'fixedCount':_0x5c26e4[_0xf4caeb(0x164)],'remainingErrors':_0x5c26e4[_0xf4caeb(0x12b)],'remainingWarnings':_0x5c26e4['remainingWarnings'],'changes':_0x5c26e4[_0xf4caeb(0x132)],'written':!!(_0x3bd099['writeFile']&&_0x5c26e4[_0xf4caeb(0x1be)]),'preview':!_0x3bd099['writeFile']&&_0x5c26e4['fixed']?_0x5c26e4[_0xf4caeb(0x17b)]:undefined};}catch(_0x1459a4){throw new Error(_0xf4caeb(0x1e2)+_0x5e4156+':\x20'+_0x1459a4['message']);}}async['formatFile'](_0x43fade,_0x24da4a,_0x2ffaa2,_0x423fb6={}){const _0x3a2d16=a0_0x1af86f,_0x56163f=a0_0x346124['isAbsolute'](_0x43fade)?a0_0x346124['normalize'](_0x43fade):a0_0x346124['resolve'](_0x24da4a,_0x43fade),_0x1f1807=this[_0x3a2d16(0x11e)][_0x3a2d16(0x1de)](_0x56163f,_0x2ffaa2);if(!_0x1f1807[_0x3a2d16(0x1ba)])throw new Error(_0x3a2d16(0x1d6)+_0x1f1807[_0x3a2d16(0x176)]);if(_0x423fb6['writeFile']){const _0x10e686=this[_0x3a2d16(0x11e)]['validateWriteAccess'](_0x56163f,_0x2ffaa2);if(!_0x10e686[_0x3a2d16(0x1ba)])throw new Error(_0x3a2d16(0x1bb)+_0x10e686[_0x3a2d16(0x176)]);}try{const _0x18e3da=await a0_0x19f56d[_0x3a2d16(0x167)](_0x56163f,'utf-8'),_0xd14719=await this[_0x3a2d16(0x1e1)]();if(!_0xd14719['isSupported'](_0x56163f))return{'file':this[_0x3a2d16(0x11e)][_0x3a2d16(0x111)](_0x56163f,_0x2ffaa2),'fullPath':_0x56163f,'action':_0x3a2d16(0x149),'formatted':![],'skipped':!![],'skipReason':'File\x20type\x20not\x20supported\x20by\x20Prettier'};const _0x45f953=await _0xd14719[_0x3a2d16(0x149)](_0x56163f,_0x18e3da,{'workingDir':_0x24da4a,'accessConfig':_0x2ffaa2});return _0x423fb6[_0x3a2d16(0x15d)]&&_0x45f953['formatted']&&(await a0_0x19f56d[_0x3a2d16(0x15d)](_0x56163f,_0x45f953[_0x3a2d16(0x17b)],'utf-8'),this[_0x3a2d16(0x188)]?.['info'](_0x3a2d16(0x17f),{'file':_0x56163f})),{'file':this[_0x3a2d16(0x11e)][_0x3a2d16(0x111)](_0x56163f,_0x2ffaa2),'fullPath':_0x56163f,'action':'format','formatted':_0x45f953['formatted'],'linesChanged':_0x45f953['linesChanged'],'changes':_0x45f953[_0x3a2d16(0x132)],'written':!!(_0x423fb6[_0x3a2d16(0x15d)]&&_0x45f953[_0x3a2d16(0x1a2)]),'preview':!_0x423fb6['writeFile']&&_0x45f953[_0x3a2d16(0x1a2)]?_0x45f953['content']:undefined};}catch(_0x31905b){throw new Error('Failed\x20to\x20format\x20'+_0x43fade+':\x20'+_0x31905b['message']);}}async['securityScanFile'](_0x3a1c50,_0x158291,_0x21978a,_0x1ea9c1={}){const _0x59621c=a0_0x1af86f,_0x49ad5d=a0_0x346124[_0x59621c(0x18b)](_0x3a1c50)?a0_0x346124['normalize'](_0x3a1c50):a0_0x346124['resolve'](_0x158291,_0x3a1c50),_0x4cdc84=this[_0x59621c(0x11e)][_0x59621c(0x1de)](_0x49ad5d,_0x21978a);if(!_0x4cdc84['allowed'])throw new Error(_0x59621c(0x1d6)+_0x4cdc84['reason']);try{const _0x4778d5=await a0_0x19f56d[_0x59621c(0x154)](_0x49ad5d);if(_0x4778d5[_0x59621c(0x137)]>this[_0x59621c(0x1c2)])throw new Error(_0x59621c(0x135)+_0x4778d5['size']+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x20b9ea=this[_0x59621c(0x18a)](_0x49ad5d);if(!_0x20b9ea||!['javascript',_0x59621c(0x133),_0x59621c(0x11f)][_0x59621c(0x1e9)](_0x20b9ea))return{'file':this['directoryAccessManager']['createRelativePath'](_0x49ad5d,_0x21978a),'fullPath':_0x49ad5d,'language':_0x20b9ea||'unknown','issues':[],'skipped':!![],'skipReason':'Security\x20scanning\x20only\x20supports\x20JavaScript,\x20TypeScript,\x20and\x20Python\x20files'};const _0x1a865a=await a0_0x19f56d['readFile'](_0x49ad5d,_0x59621c(0x14d)),_0x4f5603=await this['getSecurityAnalyzer'](),_0x57c6b3=await _0x4f5603[_0x59621c(0x13f)](_0x49ad5d,_0x1a865a,{'skipTestFiles':_0x1ea9c1['skipTestFiles']!==![]}),_0x11827c={'file':this[_0x59621c(0x11e)]['createRelativePath'](_0x49ad5d,_0x21978a),'fullPath':_0x49ad5d,'language':_0x20b9ea,'action':_0x59621c(0x174),'critical':_0x57c6b3['filter'](_0x570227=>_0x570227['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x57c6b3['filter'](_0x46ad08=>_0x46ad08[_0x59621c(0x153)]===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x57c6b3['filter'](_0x47adb0=>_0x47adb0['severity']===STATIC_ANALYSIS[_0x59621c(0x151)][_0x59621c(0x19c)]),'info':_0x57c6b3['filter'](_0x27747c=>_0x27747c[_0x59621c(0x153)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x57c6b3[_0x59621c(0x1d9)],'analyzed':!![],'scannersUsed':_0x57c6b3[_0x59621c(0x1a4)](_0x49add1=>_0x49add1['scanner'])['filter']((_0x59a6ee,_0x3e1eb1,_0x190a48)=>_0x190a48[_0x59621c(0x1b8)](_0x59a6ee)===_0x3e1eb1),'timestamp':new Date()['toISOString']()};return _0x11827c;}catch(_0x4c54ed){throw new Error('Failed\x20to\x20security\x20scan\x20'+_0x3a1c50+':\x20'+_0x4c54ed['message']);}}async['securityScanProject'](_0x94750b,_0x2ce129,_0x53aa92,_0x2852a4,_0xfe5431={}){const _0x5ee1de=a0_0x1af86f,_0x8f1d9e=a0_0x346124[_0x5ee1de(0x18b)](_0x94750b)?a0_0x346124['normalize'](_0x94750b):a0_0x346124[_0x5ee1de(0x1c9)](_0x53aa92,_0x94750b),_0x5baece=this[_0x5ee1de(0x11e)][_0x5ee1de(0x1de)](_0x8f1d9e,_0x2852a4);if(!_0x5baece[_0x5ee1de(0x1ba)])throw new Error(_0x5ee1de(0x1d6)+_0x5baece['reason']);const _0x546488=await this['getSecurityAnalyzer'](),_0x57ad9a=await _0x546488[_0x5ee1de(0x1e4)](_0x8f1d9e,_0x5ee1de(0x1ea),_0xfe5431),_0x572458=_0x2ce129||_0x5ee1de(0x1da),_0x53ab6e=await this[_0x5ee1de(0x189)](_0x8f1d9e,_0x572458);if(_0x53ab6e[_0x5ee1de(0x1d9)]>this['maxFilesPerBatch'])throw new Error(_0x5ee1de(0x125)+_0x53ab6e[_0x5ee1de(0x1d9)]+_0x5ee1de(0x15a)+this[_0x5ee1de(0x13d)]+')');const _0x3aeffd=[];if(this[_0x5ee1de(0x168)]&&_0x53ab6e[_0x5ee1de(0x1d9)]>0x1){this['logger']?.[_0x5ee1de(0x157)]('Using\x20parallel\x20security\x20scanning',{'totalFiles':_0x53ab6e['length'],'batchSize':this[_0x5ee1de(0x1d8)]});for(let _0x4f48d1=0x0;_0x4f48d1<_0x53ab6e[_0x5ee1de(0x1d9)];_0x4f48d1+=this[_0x5ee1de(0x1d8)]){const _0x4e8a1c=_0x53ab6e[_0x5ee1de(0x17d)](_0x4f48d1,_0x4f48d1+this['maxParallelFiles']);_0xfe5431[_0x5ee1de(0x1af)]&&_0xfe5431['onProgress']({'completed':_0x4f48d1,'total':_0x53ab6e[_0x5ee1de(0x1d9)],'percentage':Math[_0x5ee1de(0x12f)](_0x4f48d1/_0x53ab6e[_0x5ee1de(0x1d9)]*0x64)});const _0xccd4c0=_0x4e8a1c['map'](async _0x5ce187=>{const _0x1680d1=_0x5ee1de;try{return await this[_0x1680d1(0x142)](_0x5ce187,_0x53aa92,_0x2852a4,_0xfe5431);}catch(_0xefb9df){return this[_0x1680d1(0x188)]?.[_0x1680d1(0x1ca)](_0x1680d1(0x130),{'file':_0x5ce187,'error':_0xefb9df[_0x1680d1(0x19b)]}),{'file':this['directoryAccessManager'][_0x1680d1(0x111)](_0x5ce187,_0x2852a4),'fullPath':_0x5ce187,'error':_0xefb9df[_0x1680d1(0x19b)],'success':![]};}}),_0x72b5b2=await Promise[_0x5ee1de(0x1a6)](_0xccd4c0);_0x3aeffd['push'](..._0x72b5b2[_0x5ee1de(0x1c5)](_0x185aaf=>_0x185aaf!==null));}_0xfe5431['onProgress']&&_0xfe5431[_0x5ee1de(0x1af)]({'completed':_0x53ab6e['length'],'total':_0x53ab6e['length'],'percentage':0x64});}else for(const _0x4d080f of _0x53ab6e){try{const _0x5d497e=await this[_0x5ee1de(0x142)](_0x4d080f,_0x53aa92,_0x2852a4,_0xfe5431);_0x5d497e&&_0x3aeffd['push'](_0x5d497e);}catch(_0x4c36db){this['logger']?.['warn']('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x4d080f,'error':_0x4c36db['message']}),_0x3aeffd[_0x5ee1de(0x16d)]({'file':this[_0x5ee1de(0x11e)][_0x5ee1de(0x111)](_0x4d080f,_0x2852a4),'fullPath':_0x4d080f,'error':_0x4c36db[_0x5ee1de(0x19b)],'success':![]});}}return _0x57ad9a['length']>0x0&&_0x3aeffd['push']({'file':a0_0x346124['join'](_0x8f1d9e,_0x5ee1de(0x1a1)),'fullPath':a0_0x346124[_0x5ee1de(0x161)](_0x8f1d9e,_0x5ee1de(0x1a1)),'action':_0x5ee1de(0x163),'critical':_0x57ad9a['filter'](_0x224650=>_0x224650['severity']===STATIC_ANALYSIS[_0x5ee1de(0x151)]['CRITICAL']),'errors':_0x57ad9a[_0x5ee1de(0x1c5)](_0x12b488=>_0x12b488['severity']===STATIC_ANALYSIS['SEVERITY'][_0x5ee1de(0x155)]),'warnings':_0x57ad9a[_0x5ee1de(0x1c5)](_0xba0983=>_0xba0983[_0x5ee1de(0x153)]===STATIC_ANALYSIS['SEVERITY'][_0x5ee1de(0x19c)]),'info':_0x57ad9a[_0x5ee1de(0x1c5)](_0x8e66f0=>_0x8e66f0[_0x5ee1de(0x153)]===STATIC_ANALYSIS[_0x5ee1de(0x151)]['INFO']),'totalIssues':_0x57ad9a['length'],'analyzed':!![],'scannersUsed':['npm-audit'],'timestamp':new Date()[_0x5ee1de(0x11d)]()}),_0x3aeffd;}async[a0_0x1af86f(0x190)](_0x1d7122,_0x5b4233,_0x5c8846,_0x184a14={}){const _0x1f4aa7=a0_0x1af86f,_0x513480=a0_0x346124['isAbsolute'](_0x1d7122)?a0_0x346124['normalize'](_0x1d7122):a0_0x346124[_0x1f4aa7(0x1c9)](_0x5b4233,_0x1d7122),_0x34c744=this[_0x1f4aa7(0x11e)]['validateReadAccess'](_0x513480,_0x5c8846);if(!_0x34c744[_0x1f4aa7(0x1ba)])throw new Error(_0x1f4aa7(0x1d6)+_0x34c744[_0x1f4aa7(0x176)]);try{const _0x550f9b=await a0_0x19f56d['stat'](_0x513480);if(_0x550f9b[_0x1f4aa7(0x137)]>this['maxFileSize'])throw new Error(_0x1f4aa7(0x135)+_0x550f9b['size']+_0x1f4aa7(0x19a)+this[_0x1f4aa7(0x1c2)]+')');const _0x4b4f3e=await this['getConfigValidator'](),_0x211416=await _0x4b4f3e[_0x1f4aa7(0x1b1)](_0x513480,_0x184a14),_0x75faaf={'file':this['directoryAccessManager']['createRelativePath'](_0x513480,_0x5c8846),'fullPath':_0x513480,'action':'validate-config','critical':_0x211416[_0x1f4aa7(0x1c5)](_0x5c0f5a=>_0x5c0f5a['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x211416[_0x1f4aa7(0x1c5)](_0x59fc58=>_0x59fc58[_0x1f4aa7(0x153)]===STATIC_ANALYSIS[_0x1f4aa7(0x151)]['ERROR']),'warnings':_0x211416[_0x1f4aa7(0x1c5)](_0x4a805b=>_0x4a805b['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x211416['filter'](_0x387a53=>_0x387a53['severity']===STATIC_ANALYSIS[_0x1f4aa7(0x151)][_0x1f4aa7(0x112)]),'totalIssues':_0x211416['length'],'analyzed':!![],'validatorsUsed':_0x211416['map'](_0x4082bc=>_0x4082bc['validator'])['filter']((_0x312496,_0x14a100,_0x1b5d75)=>_0x1b5d75[_0x1f4aa7(0x1b8)](_0x312496)===_0x14a100),'timestamp':new Date()[_0x1f4aa7(0x11d)]()};return _0x75faaf;}catch(_0x3e9d4b){throw new Error(_0x1f4aa7(0x158)+_0x1d7122+':\x20'+_0x3e9d4b[_0x1f4aa7(0x19b)]);}}async['validateConfigDirectory'](_0x15e1b7,_0x3f7688,_0x4c8a88,_0x364d1c={}){const _0x207e2d=a0_0x1af86f,_0x587925=a0_0x346124['isAbsolute'](_0x15e1b7)?a0_0x346124['normalize'](_0x15e1b7):a0_0x346124['resolve'](_0x3f7688,_0x15e1b7),_0x399274=this['directoryAccessManager'][_0x207e2d(0x1de)](_0x587925,_0x4c8a88);if(!_0x399274[_0x207e2d(0x1ba)])throw new Error(_0x207e2d(0x1d6)+_0x399274[_0x207e2d(0x176)]);const _0x15efbe=await this[_0x207e2d(0x162)](_0x587925);if(_0x15efbe['length']>this['maxFilesPerBatch'])throw new Error(_0x207e2d(0x11b)+_0x15efbe['length']+_0x207e2d(0x15a)+this[_0x207e2d(0x13d)]+')');const _0x7385ec=[];for(const _0x2f5602 of _0x15efbe){try{const _0x34342e=await this[_0x207e2d(0x190)](_0x2f5602,_0x3f7688,_0x4c8a88,_0x364d1c);_0x34342e&&_0x7385ec['push'](_0x34342e);}catch(_0x5b41ce){this[_0x207e2d(0x188)]?.[_0x207e2d(0x1ca)]('Failed\x20to\x20validate\x20config\x20file',{'file':_0x2f5602,'error':_0x5b41ce[_0x207e2d(0x19b)]}),_0x7385ec['push']({'file':this[_0x207e2d(0x11e)][_0x207e2d(0x111)](_0x2f5602,_0x4c8a88),'fullPath':_0x2f5602,'error':_0x5b41ce['message'],'success':![]});}}return _0x7385ec;}async['findConfigFiles'](_0x5c08ca){const _0x358876=a0_0x1af86f,_0x5d9433=[],_0x55583e=[_0x358876(0x1a1),'tsconfig.json','Dockerfile','docker-compose.yml','docker-compose.yaml','.env','.env.example',_0x358876(0x141),'.eslintrc.json',_0x358876(0x1b4),'.prettierrc.json'],_0x5df63d=['.yml','.yaml','.json',_0x358876(0x170),'.tfvars'],_0x5a9620=async _0x15b11a=>{const _0x233135=_0x358876,_0x36171c=await a0_0x19f56d['readdir'](_0x15b11a,{'withFileTypes':!![]});for(const _0x395690 of _0x36171c){const _0x53126f=a0_0x346124[_0x233135(0x161)](_0x15b11a,_0x395690['name']);if(_0x395690['isDirectory']()){if(_0x395690['name']===_0x233135(0x1d4)||_0x395690['name']==='kubernetes'||_0x395690[_0x233135(0x152)]===_0x233135(0x1e7)||_0x395690[_0x233135(0x152)]===_0x233135(0x136))await _0x5a9620(_0x53126f);else{if(!['node_modules',_0x233135(0x196),'dist',_0x233135(0x1df)]['includes'](_0x395690['name']))continue;}}else{if(_0x395690['isFile']()){if(_0x55583e['includes'](_0x395690[_0x233135(0x152)]))_0x5d9433[_0x233135(0x16d)](_0x53126f);else{const _0x1c3133=a0_0x346124['extname'](_0x395690[_0x233135(0x152)])[_0x233135(0x118)]();if(_0x5df63d[_0x233135(0x1e9)](_0x1c3133)){const _0x48819a=a0_0x346124['basename'](a0_0x346124['dirname'](_0x53126f));(_0x48819a==='kubernetes'||_0x48819a==='k8s'||_0x48819a===_0x233135(0x136)||_0x48819a==='workflows')&&_0x5d9433[_0x233135(0x16d)](_0x53126f);}}}}}};return await _0x5a9620(_0x5c08ca),_0x5d9433;}[a0_0x1af86f(0x18a)](_0x37f535){const _0x38e13b=a0_0x1af86f,_0x2ced07=a0_0x346124['extname'](_0x37f535)[_0x38e13b(0x118)]();return STATIC_ANALYSIS[_0x38e13b(0x146)][_0x2ced07]||null;}async[a0_0x1af86f(0x1dc)](_0x420a6b,_0x4cd05f){const _0x3da636=a0_0x1af86f;try{if(_0x4cd05f===STATIC_ANALYSIS[_0x3da636(0x19d)]['JAVASCRIPT']||_0x4cd05f===STATIC_ANALYSIS[_0x3da636(0x19d)]['TYPESCRIPT'])return await this[_0x3da636(0x15b)](_0x420a6b);if(_0x4cd05f===STATIC_ANALYSIS['LANGUAGE']['PYTHON'])return await this['detectPythonFramework'](_0x420a6b);return null;}catch(_0x4356d8){return this['logger']?.['debug']('Framework\x20detection\x20failed',{'error':_0x4356d8['message']}),null;}}async[a0_0x1af86f(0x15b)](_0x4406ea){const _0x5d923f=a0_0x1af86f;try{const _0x2946ed=a0_0x346124[_0x5d923f(0x161)](_0x4406ea,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x5d923f(0x19e)]),_0x26880f=await a0_0x19f56d['readFile'](_0x2946ed,_0x5d923f(0x14d)),_0x1d82fc=JSON[_0x5d923f(0x13b)](_0x26880f),_0x2869ac={..._0x1d82fc[_0x5d923f(0x1d3)],..._0x1d82fc['devDependencies']};for(const [_0x21b974,_0x5939fd]of Object['entries'](STATIC_ANALYSIS['JS_FRAMEWORKS'])){if(_0x2869ac[_0x5939fd])return _0x21b974['toLowerCase']();}return null;}catch(_0x13f9f5){return null;}}async['detectPythonFramework'](_0x40d818){const _0x4f85ab=a0_0x1af86f;try{const _0x36779e=a0_0x346124[_0x4f85ab(0x161)](_0x40d818,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x4f85ab(0x1bc)]),_0x10efea=await a0_0x19f56d['readFile'](_0x36779e,_0x4f85ab(0x14d));for(const [_0x446383,_0x7684b8]of Object[_0x4f85ab(0x184)](STATIC_ANALYSIS[_0x4f85ab(0x159)])){if(_0x10efea[_0x4f85ab(0x118)]()[_0x4f85ab(0x1e9)](_0x7684b8))return _0x446383[_0x4f85ab(0x118)]();}return null;}catch(_0x437fb6){try{const _0x5168ad=a0_0x346124[_0x4f85ab(0x161)](_0x40d818,STATIC_ANALYSIS[_0x4f85ab(0x173)][_0x4f85ab(0x1ab)]),_0x12bbdc=await a0_0x19f56d['readFile'](_0x5168ad,'utf-8');for(const [_0x5ee90c,_0x4f804c]of Object['entries'](STATIC_ANALYSIS[_0x4f85ab(0x159)])){if(_0x12bbdc['toLowerCase']()[_0x4f85ab(0x1e9)](_0x4f804c))return _0x5ee90c[_0x4f85ab(0x118)]();}}catch{}return null;}}async['findFiles'](_0x36c0c9,_0x5b4bb7){const _0x3e2879=[],_0xe4337d=_0x5b4bb7||'**/*.{js,jsx,mjs,cjs,ts,tsx,py,css,scss,sass,less}',_0x3158ac=_0x449310=>{const _0x1bea3d=a0_0x224a,_0x17eeda=[],_0x3c4037=_0x449310[_0x1bea3d(0x199)](/\*\.\{([^}]+)\}/);if(_0x3c4037){const _0x5b5e11=_0x3c4037[0x1][_0x1bea3d(0x121)](',')['map'](_0x16f2f1=>_0x16f2f1[_0x1bea3d(0x14a)]());_0x5b5e11['forEach'](_0x2fef8a=>_0x17eeda['push'](_0x2fef8a[_0x1bea3d(0x18f)]('.')?_0x2fef8a:'.'+_0x2fef8a));}else{const _0x36b43c=_0x449310['match'](/\*\.([a-z]+)$/i);if(_0x36b43c){const _0x4d68de=_0x36b43c[0x1];_0x17eeda['push'](_0x4d68de['startsWith']('.')?_0x4d68de:'.'+_0x4d68de);}}if(_0x17eeda['length']===0x0)return null;return _0x17eeda;},_0x36956b=_0x3158ac(_0xe4337d),_0x5c8169=async _0x14ce92=>{const _0x78c2ee=a0_0x224a,_0x3b2ee2=await a0_0x19f56d[_0x78c2ee(0x15c)](_0x14ce92,{'withFileTypes':!![]});for(const _0xe47086 of _0x3b2ee2){const _0x337fe2=a0_0x346124[_0x78c2ee(0x161)](_0x14ce92,_0xe47086[_0x78c2ee(0x152)]);if(_0xe47086['isDirectory']())![_0x78c2ee(0x124),'.git','dist',_0x78c2ee(0x1df),_0x78c2ee(0x138),'.venv',_0x78c2ee(0x144)]['includes'](_0xe47086[_0x78c2ee(0x152)])&&await _0x5c8169(_0x337fe2);else{if(_0xe47086['isFile']()){const _0x15ce0d=a0_0x346124[_0x78c2ee(0x13c)](_0xe47086[_0x78c2ee(0x152)])['toLowerCase']();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x15ce0d]&&((_0x36956b===null||_0x36956b['includes'](_0x15ce0d))&&_0x3e2879['push'](_0x337fe2));}}}};return await _0x5c8169(_0x36c0c9),_0x3e2879;}async['getAnalyzer'](_0xd068ef){const _0x49df5d=a0_0x1af86f;try{if(_0xd068ef===STATIC_ANALYSIS[_0x49df5d(0x19d)]['JAVASCRIPT']){if(!this[_0x49df5d(0x1ac)]['javascript']){const {default:_0x5367a1}=await import(_0x49df5d(0x193));this[_0x49df5d(0x1ac)][_0x49df5d(0x1ea)]=new _0x5367a1(this['logger']);}return this['analyzers'][_0x49df5d(0x1ea)];}if(_0xd068ef===STATIC_ANALYSIS['LANGUAGE'][_0x49df5d(0x120)]){if(!this[_0x49df5d(0x1ac)][_0x49df5d(0x133)]){const {default:_0x305f71}=await import(_0x49df5d(0x171));this[_0x49df5d(0x1ac)]['typescript']=new _0x305f71(this['logger']);}return this[_0x49df5d(0x1ac)][_0x49df5d(0x133)];}if(_0xd068ef===STATIC_ANALYSIS['LANGUAGE'][_0x49df5d(0x1bc)]){if(!this['analyzers'][_0x49df5d(0x11f)]){const {default:_0x48ac73}=await import(_0x49df5d(0x1b0));this[_0x49df5d(0x1ac)][_0x49df5d(0x11f)]=new _0x48ac73(this[_0x49df5d(0x188)]);}return this[_0x49df5d(0x1ac)]['python'];}if(_0xd068ef===STATIC_ANALYSIS[_0x49df5d(0x19d)][_0x49df5d(0x12d)]||_0xd068ef===STATIC_ANALYSIS[_0x49df5d(0x19d)]['SCSS']||_0xd068ef===STATIC_ANALYSIS[_0x49df5d(0x19d)][_0x49df5d(0x183)]){if(!this[_0x49df5d(0x1ac)]['css']){const {default:_0xd5fe88}=await import(_0x49df5d(0x197));this[_0x49df5d(0x1ac)]['css']=new _0xd5fe88(this[_0x49df5d(0x188)]);}return this['analyzers'][_0x49df5d(0x1b6)];}return null;}catch(_0xc88b91){return this['logger']?.['error']('Failed\x20to\x20load\x20analyzer',{'language':_0xd068ef,'error':_0xc88b91['message']}),null;}}async[a0_0x1af86f(0x1a7)](){const _0x4f765c=a0_0x1af86f;if(!this[_0x4f765c(0x1ac)][_0x4f765c(0x169)]){const {default:_0x1b402b}=await import(_0x4f765c(0x166));this['analyzers'][_0x4f765c(0x169)]=new _0x1b402b(this[_0x4f765c(0x188)]);}return this[_0x4f765c(0x1ac)]['eslint'];}async['getPrettierFormatter'](){const _0x542042=a0_0x1af86f;if(!this[_0x542042(0x115)]['prettier']){const {default:_0x422857}=await import('../analyzers/PrettierFormatter.js');this[_0x542042(0x115)]['prettier']=new _0x422857(this[_0x542042(0x188)]);}return this['formatters'][_0x542042(0x19f)];}async['getSecurityAnalyzer'](){const _0x172706=a0_0x1af86f;if(!this[_0x172706(0x1ac)][_0x172706(0x1ad)]){const {default:_0x18d262}=await import('../analyzers/SecurityAnalyzer.js');this['analyzers']['security']=new _0x18d262(this['logger']);}return this['analyzers'][_0x172706(0x1ad)];}async['getConfigValidator'](){const _0x3b6bc3=a0_0x1af86f;if(!this[_0x3b6bc3(0x1ac)][_0x3b6bc3(0x1cf)]){const {default:_0xc8e95d}=await import(_0x3b6bc3(0x1a9));this[_0x3b6bc3(0x1ac)][_0x3b6bc3(0x1cf)]=new _0xc8e95d(this['logger']);}return this[_0x3b6bc3(0x1ac)][_0x3b6bc3(0x1cf)];}['updateSummary'](_0x27ac1d,_0x571279){const _0xa47436=a0_0x1af86f;if(_0x571279['analyzed']){_0x27ac1d['totalFiles']++;const _0x435fbb=_0x571279['critical']?.[_0xa47436(0x1d9)]||0x0,_0x258f5c=_0x571279[_0xa47436(0x128)]?.['length']||0x0,_0x13e539=_0x571279[_0xa47436(0x145)]?.[_0xa47436(0x1d9)]||0x0,_0x5ae8a3=_0x571279[_0xa47436(0x192)]?.[_0xa47436(0x1d9)]||0x0;_0x27ac1d[_0xa47436(0x113)]===undefined&&(_0x27ac1d[_0xa47436(0x113)]=0x0);_0x27ac1d['totalCritical']+=_0x435fbb,_0x27ac1d[_0xa47436(0x1b3)]+=_0x258f5c,_0x27ac1d['totalWarnings']+=_0x13e539,_0x27ac1d['totalInfo']+=_0x5ae8a3;(_0x435fbb>0x0||_0x258f5c>0x0)&&_0x27ac1d['filesWithErrors']++;_0x571279[_0xa47436(0x127)]&&(_0x27ac1d['filesByLanguage'][_0x571279[_0xa47436(0x127)]]=(_0x27ac1d[_0xa47436(0x187)][_0x571279['language']]||0x0)+0x1);const _0x27d33b=[..._0x571279[_0xa47436(0x1e8)]||[],..._0x571279['errors']||[],..._0x571279['warnings']||[]];for(const _0x23963e of _0x27d33b){_0x23963e[_0xa47436(0x11c)]&&(_0x27ac1d['errorsByCategory'][_0x23963e[_0xa47436(0x11c)]]=(_0x27ac1d['errorsByCategory'][_0x23963e[_0xa47436(0x11c)]]||0x0)+0x1);}}}[a0_0x1af86f(0x195)](_0x1ea077){const _0x417ec7=a0_0x1af86f;return a0_0xfb82e9[_0x417ec7(0x117)]('sha256')['update'](_0x1ea077)[_0x417ec7(0x110)]('hex')['substring'](0x0,0x10);}[a0_0x1af86f(0x1b9)](){const _0x2157eb=a0_0x1af86f,_0x27f333=this['metrics'][_0x2157eb(0x1c8)]>0x0?this[_0x2157eb(0x1b2)][_0x2157eb(0x143)]/this[_0x2157eb(0x1b2)]['totalAnalyses']*0x64:0x0,_0xca647=this[_0x2157eb(0x1b2)][_0x2157eb(0x139)]>0x0?this[_0x2157eb(0x1b2)]['totalAnalysisTime']/this[_0x2157eb(0x1b2)]['filesAnalyzed']:0x0;return{...this[_0x2157eb(0x1b2)],'cacheHitRate':Math[_0x2157eb(0x12f)](_0x27f333*0xa)/0xa,'averageAnalysisTime':Math[_0x2157eb(0x12f)](_0xca647),'cacheSize':this[_0x2157eb(0x186)]['size']};}['resetPerformanceMetrics'](){this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}['clearCache'](){const _0x31790a=a0_0x1af86f;this[_0x31790a(0x186)]['clear'](),this[_0x31790a(0x188)]?.['debug'](_0x31790a(0x12a));}[a0_0x1af86f(0x12e)](){const _0x5d94ae=a0_0x1af86f;return['analyze','analyze-project','fix',_0x5d94ae(0x149),'security-scan','security-scan-project','validate-config','validate-config-directory'];}[a0_0x1af86f(0x116)](){const _0x2c88f1=a0_0x1af86f;return{'type':'object','properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this[_0x2c88f1(0x12e)]()},'filePath':{'type':'string'},'directory':{'type':'string'},'pattern':{'type':_0x2c88f1(0x12c)},'includeWarnings':{'type':'boolean'},'maxErrors':{'type':'number'}},'required':[_0x2c88f1(0x10f)]}}},'required':[_0x2c88f1(0x123)]};}}export default StaticAnalysisTool;function a0_0x2d8d(){const _0x394ae1=['oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzY1KAxjLy3rVCNK','Bwf4ugfYywXSzwXgAwXLCW','BgvUz3rO','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5Fq','z2v0vgLTzq','zgv0zwn0rNjHBwv3B3jR','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfUywX5EMu','DMfSAwrHDgvszwfKqwnJzxnZ','yNvPBgq','y2fJAgvfEhbPCNK','z2v0uhjLDhrPzxjgB3jTyxr0zxi','rMfPBgvKihrVigzPEca','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','yw5HBhL6zvbYB2PLy3q','BxrPBwu','tufyx0zjtevtx1bfuL9cqvrdsa','AZHZ','y3jPDgLJywW','Aw5JBhvKzxm','AMf2yxnJCMLWDa','nuPPvMDNDG','DhLWzq','zgLNzxn0','y3jLyxrLuMvSyxrPDMvqyxrO','su5gtW','Dg90ywXdCML0AwnHBa','C2v0','zM9YBwf0DgvYCW','z2v0ugfYyw1LDgvYu2nOzw1H','y3jLyxrLsgfZAa','Dg9mB3DLCKnHC2u','zxHLyW','C3vIC3rYAw5N','vg9Vig1HBNKGy29UzMLNigzPBgvZoIa','y2f0zwDVCNK','Dg9ju09tDhjPBMC','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','ChL0Ag9U','vfLqrvnduKLqva','C3bSAxq','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','ywn0Aw9UCW','BM9Kzv9TB2r1BgvZ','vg9Vig1HBNKGzMLSzxm6ia','zMLSzxm','BgfUz3vHz2u','zxjYB3jZ','BM9YBwfSAxPL','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','CMvTywLUAw5NrxjYB3jZ','C3rYAw5N','q1nt','z2v0u3vWCg9YDgvKqwn0Aw9UCW','CM91BMq','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','DMfSAwrHDguTy29UzMLN','y2HHBMDLCW','DhLWzxnJCMLWDa','y3DK','rMLSzsb0B28GBgfYz2u6ia','DgvYCMfMB3jT','C2L6zq','x19WEwnHy2HLx18','zMLSzxnbBMfSExPLza','CgfYC2vbDhrYAwj1DgvZ','CgfYC2u','zxH0BMfTzq','Bwf4rMLSzxnqzxjcyxrJAa','zxjYB3i','yw5HBhL6zq','oIb0ExbLigLZihjLCxvPCMvK','lMvZBgLUDhjJlMPZ','C2vJDxjPDhLty2fUrMLSzq','y2fJAgviAxrZ','DMvUDG','D2fYBMLUz3m','rvHuru5tsu9ox1rpx0XbtKDvquDf','nZC5mZaZn3DYu0ThAa','u3rHDgLJqw5HBhLZAxmGDg9VBcbWyxjZAw5NihbHCMfTzxrLCNm','zM9YBwf0','DhjPBq','zgLYzwn0B3j5','y2fJAgvnAxnZzxm','DxrMltG','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','ndm2ntaZmMzZufv1vq','zM9YBwf0rMLSzq','u0vwrvjjvfK','BMfTzq','C2v2zxjPDhK','C3rHDa','rvjst1i','mJaZAeLKrKzy','zgvIDwC','rMfPBgvKihrVihzHBgLKyxrLignVBMzPzYa','ufLuse9ox0zsqu1fv09ss1m','icHTyxGG','zgv0zwn0sLngCMfTzxDVCMS','CMvHzgrPCG','D3jPDgvgAwXL','zML4rMLSzq','C3vTBwfYEq','qwn0Aw9Uia','AM9PBG','zMLUzenVBMzPz0zPBgvZ','zgvWzw5Kzw5JEs1Zy2fU','zML4zwrdB3vUDa','ihnLy29UzhmklsbpBMX5ihn1ChbVCNrZigXHBMD1ywDLCYb3AxrOigj1AwX0lwLUigfUywX5EMvYCWOGicaG','lI4Vyw5HBhL6zxjZl0vttgLUDefUywX5EMvYlMPZ','CMvHzezPBgu','CgfYywXSzwXbBMfSExnPCW','zxnSAw50','ntaXmhHLAe9JEq','C2TPCc10zxn0lwzPBgvZ','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','ChvZAa','mtC3nZz4sMzLqNC','Bwf4lwvYCM9YCW','lNrM','lI4Vyw5HBhL6zxjZl1r5Cgvty3jPChrbBMfSExPLCI5QCW','DxnLq29UDgvUDeHHC2G','rLjbtuvxt1jlx01btKLgrvnuuW','C2vJDxjPDhKTC2nHBG','AgfZ','CMvHC29U','CMvZDwX0','zw5HyMXLq2fJAgu','C3rHDgLJyw5HBhLZAxm','u3rHDgLJigfUywX5C2LZigfJDgLVBIbMywLSzwq','y29UDgvUDa','zMXVB3i','C2XPy2u','C2vJDxjPDhLty2fUuhjVAMvJDa','rMLSzsbMB3jTyxr0zwqGyw5KihDYAxr0zw4','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','Dg90ywW','Aw5JBhvKzvDHCM5PBMDZ','tevtuW','zw50CMLLCW','mta2ndu0odjsr0nvBMC','yw5HBhLZAxndywnOzq','zMLSzxncEuXHBMD1ywDL','Bg9Nz2vY','zMLUzezPBgvZ','zgv0zwn0tgfUz3vHz2u','AxnbyNnVBhv0zq','Aw5JBhvKzs13yxjUAw5NCW','DMfSAwrHDgvxCML0zufJy2vZCW','zMLSzs1WyxrO','C3rHCNrZv2L0Aa','DMfSAwrHDgvdB25MAwDgAwXL','Bwf4rxjYB3jZ','Aw5MBW','lI4Vyw5HBhL6zxjZl0PHDMfty3jPChrbBMfSExPLCI5QCW','y29TCgXLDgvK','y29TChv0zunVBNrLBNriyxnO','lMDPDa','lI4Vyw5HBhL6zxjZl0ntu0fUywX5EMvYlMPZ','yw5HBhL6zuzPBgu','Bwf0y2G','igj5DgvZicHTyxGG','BwvZC2fNzq','v0fstKLorW','tefor1vbr0u','sKfwqvnduKLqva','ChjLDhrPzxi','z2v0','CgfJA2fNzs5QC29U','zM9YBwf0DgvK','Dw5RBM93BG','BwfW','rMfPBgvKihrVigfUywX5EMuG','ywXS','z2v0rvnmAw50qw5HBhL6zxi','D3jPDguTzMLSzq','lI4Vyw5HBhL6zxjZl0nVBMzPz1zHBgLKyxrVCI5QCW','DxbKyxrLu3vTBwfYEq','ufLuse9ox1bprvrswq','yw5HBhL6zxjZ','C2vJDxjPDhK','yw5HBhL6zs1WCM9Qzwn0','B25qCM9NCMvZCW','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','DMfSAwrHDgu','Bwv0CMLJCW','Dg90ywXfCNjVCNm','lNbYzxr0AwvYCMm','nZGXodGXq01my3DQ','y3nZ','rMLSzsbMAxHLzcbHBMqGD3jPDhrLBG','Aw5KzxHpzG','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','ywXSB3DLza','v3jPDguGywnJzxnZigrLBMLLzdOG','ufLuse9o','vw5RBM93BIbHy3rPB24GDhLWztOG','zML4zwq','nJq1nJbbru1kAK4','qu5btfLtsvnFveLnru9vva','DgLTzxn0yw1W','Bwf4rMLSzvnPEMu','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','mteYmdKZBhvKrKzd','zMLSDgvY','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzPEa','Dhj1zq','Dg90ywXbBMfSExnLCW','CMvZB2X2zq','D2fYBG','zMLSzvbHDgG','zML4','ru5bqKXfx0nbq0Hf','ugfYC2vKifn0yxrPy0fUywX5C2LZihrVB2WGCgfYyw1LDgvYCW','y29UzMLN','CgfYC2vqyxjHBwv0zxjZ','BM93','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','zgvWzw5Kzw5JAwvZ','lMDPDgH1yG','mM9XB0D5qG','uMvHzcbHy2nLC3mGzgvUAwvKoIa'];a0_0x2d8d=function(){return _0x394ae1;};return a0_0x2d8d();}
|
|
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;
|