@loxia-labs/loxia-autopilot-one 1.0.13 → 1.0.15

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.
Files changed (123) hide show
  1. package/README.md +7 -3
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/agentActivityService.js +1 -0
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +2 -2
  120. package/web-ui/build/static/index-CR8edPA3.js +348 -0
  121. package/web-ui/build/static/index-uN7nOVvZ.css +1 -0
  122. package/web-ui/build/static/index-DXN850Y2.js +0 -400
  123. package/web-ui/build/static/index-an-YRzUX.css +0 -1
@@ -1 +1 @@
1
- const a0_0x5a46b9=a0_0x46f2;(function(_0x4d1939,_0x7812eb){const _0x3186a0=a0_0x46f2,_0x484e16=_0x4d1939();while(!![]){try{const _0x17a26b=-parseInt(_0x3186a0(0xba))/0x1+parseInt(_0x3186a0(0xb4))/0x2+parseInt(_0x3186a0(0x108))/0x3*(parseInt(_0x3186a0(0xc8))/0x4)+parseInt(_0x3186a0(0xbc))/0x5+parseInt(_0x3186a0(0x9e))/0x6+-parseInt(_0x3186a0(0xfc))/0x7+parseInt(_0x3186a0(0xc3))/0x8;if(_0x17a26b===_0x7812eb)break;else _0x484e16['push'](_0x484e16['shift']());}catch(_0x23c260){_0x484e16['push'](_0x484e16['shift']());}}}(a0_0x280f,0x4dc97));import{BaseTool}from'./baseTool.js';import a0_0x1ce997 from'../utilities/tagParser.js';import a0_0x3650f6 from'../utilities/directoryAccessManager.js';import a0_0x9f149f from'fs/promises';import a0_0x239aa3 from'path';import a0_0x28f0ae from'crypto';function a0_0x280f(){const _0x18997b=['tM8Gyw5HBhL6zxiGyxzHAwXHyMXLigzVCIa','CMvHzezPBgu','zMLSzs1WyxrO','mZaZodi4nNvjsvDcyG','Bwv0CMLJCW','Bwf4ugfYywXSzwXgAwXLCW','rMLSzsbMB3jTyxr0zwqGyw5KihDYAxr0zw4','AxngAwXL','su5gtW','Aw5KzxHpzG','z2v0uhjLDhrPzxjgB3jTyxr0zxi','CgfYywXSzwXbBMfSExnPCW','y3jLyxrLsgfZAa','zgLYzwn0B3j5','zgvIDwC','AMf2yxnJCMLWDa','lMvUDI5LEgfTCgXL','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','z2v0q29UzMLNvMfSAwrHDg9Y','DhLWzq','CMvXDwLYzxnqCM9Qzwn0','Bwf4rMLSzvnPEMu','Aw5JBhvKzvDHCM5PBMDZ','C2TPCc10zxn0lwzPBgvZ','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','ndu0ntHcsfb3wKG','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','rMLSzsb0ExbLig5VDcbZDxbWB3j0zwqGyNKGuhjLDhrPzxi','y29UDgvUDa','CgfJA2fNzs5QC29U','C2vJDxjPDhKTC2nHBG','ntm1ndeWzfLmA1LL','Bwf4rMLSzxnqzxjcyxrJAa','mtu1mtuWB1nctKL0','z2v0u3vWCg9YDgvKqwn0Aw9UCW','AZHZ','igj5DgvZicHTyxGG','CgfYC2vbDhrYAwj1DgvZ','zgv2rgvWzw5Kzw5JAwvZ','vg9Vig1HBNKGy29UzMLNigzPBgvZoIa','mJC1otK2mfnZDu5Izq','DhLWzxnJCMLWDa','C3rHCNrZv2L0Aa','AxneAxjLy3rVCNK','zML4rMLSzq','nZuZody4z21yAM1M','CgfYywXSzwXcyxrJAgvZ','DMfSAwrHDgvszwfKqwnJzxnZ','zxnSAw50','y3jPDgLJywW','rLjbtuvxt1jlx01btKLgrvnuuW','DgvYCMfMB3jT','Dg9ju09tDhjPBMC','BM93','y2HHBMDLCW','z2v0vgLTzq','zM9YBwf0DgvYCW','B25qCM9NCMvZCW','y2fJAgviAxrZ','BgvUz3rO','CMvTywLUAw5Nv2fYBMLUz3m','A3vIzxjUzxrLCW','B2jQzwn0','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','tefor1vbr0u','z2v0ugfYyw1LDgvYu2nOzw1H','ufLuse9o','BMfTzq','zxjYB3jZqNLdyxrLz29YEq','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5Fq','C3vIC3rYAw5N','lMDPDa','DxbKyxrLu3vTBwfYEq','C2vJDxjPDhLty2fUrMLSzq','ihnLy29UzhmkicaGia','zMLSDgvY','AM9PBG','qw5HBhL6Aw5NigjHDgnO','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','yw5HBhL6zs1WCM9Qzwn0','Bwf4rxjYB3jZ','BgfUz3vHz2u','BxrPBwu','x19WEwnHy2HLx18','y2fJAgvnAxnZzxm','Aw5JBhvKzs13yxjUAw5NCW','y2f0zwDVCNK','DMfSAwrHDgu','DhjPBq','vfLqrvnduKLqva','ChvZAa','y29TCgXLDgvK','zMLSzxncEuXHBMD1ywDL','yw5HBhL6zvbYB2PLy3q','Dg90ywXbBMfSExnLCW','lNbYzxr0AwvYCMmUANnVBG','zMLSzvbHDgG','mty3nZaZowPYr0nYAq','zxHLy3v0zq','C2vJDxjPDhLty2fUuhjVAMvJDa','AxnbC3LUyW','DxnLq29UDgvUDeHHC2G','rNjHBwv3B3jRigrLDgvJDgLVBIbMywLSzwq','z2v0u2vJDxjPDhLbBMfSExPLCG','oIb0ExbLigLZihjLCxvPCMvK','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','vxnPBMCGCgfYywXSzwWGC2vJDxjPDhKGC2nHBM5PBMC','zxH0BMfTzq','DxrMltG','m3HzzNDIAa','y2XLyxjdywnOzq','lNrM','zxjYB3i','ufLuse9ox1bprvrswq','rvjst1i','CMvHC29U','zM9YBwf0rMLSzq','ywn0Aw9UCW','icHTyxGG','CMvZB2X2zq','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5lgnZCYXZy3nZlhnHC3mSBgvZC30','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YigfUywX5EMuTChjVAMvJDa','BNbTlwf1zgL0','Bwf4lwvYCM9YCW','zML4zwq','ChjLDhrPzxi','yw5HBhL6zxjZ','rMLSzsb0B28GBgfYz2u6ia','zMLSzxnbBMfSExPLza','y3nZ','zgv0zwn0rNjHBwv3B3jR','Dhj1zq','rMfPBgvKihrVigzVCM1HDca','z2v0qw5HBhL6zxi','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','D2fYBG','u0vwrvjjvfK','CMvZDwX0','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','C2v0','Dg90ywXbBMfSExnPC1rPBwu','D29YA2zSB3DZ','DMfSAwrHDguTy29UzMLN','Dg90ywXfCNjVCNm','BM9YBwfSAxPL','vw5RBM93BIbHy3rPB24GDhLWztOG','yM9VBgvHBG','Aw5MBW','zML4zwrdB3vUDa','u3rHDgLJigfUywX5C2LZigfJDgLVBIbMywLSzwq','Bg9Nz2vY','zgvWzw5Kzw5JAwvZ','y3jLyxrLuMvSyxrPDMvqyxrO','uMvHzcbHy2nLC3mGzgvUAwvKoIa','zMLSzxnxAxrOrxjYB3jZ','zMLUzezPBgvZ','C3rYAw5N','zxjYB3jZ','tufyx0zjtevFu0LArv9gt1jFqu5btfLtsvm','Dg90ywXdCML0AwnHBa','zgv0zwn0uhL0Ag9UrNjHBwv3B3jR','y29UzMLN','zM9YBwf0DgvK','AxnbyNnVBhv0zq','Dw5RBM93BG','lNzLBNy','ywXSB3DLza','DxbKyxrL','zgLYBMfTzq','lI4Vyw5HBhL6zxjZl0vttgLUDefUywX5EMvYlMPZ','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','qwn0Aw9Uia','DMfSAwrHDgvxCML0zufJy2vZCW','AxnbCNjHEq','yw5HBhL6zq','CgfYC2u','Aw5JBhvKzxm','C2vJDxjPDhK','BwfW','lNLHBwW','zgv0zwn0tgfUz3vHz2u','u0ntuW','CM91BMq','C2L6zq','zMLUzenVBMzPz0zPBgvZ','lNbYzxr0AwvYCMm','yxjYyxK','yw5HBhLZAxndywnOzq','sKfwqvnduKLqva','C2TPCfrLC3rgAwXLCW','zw5HyMXLq2fJAgu','Dg9mB3DLCKnHC2u','zML4','D3jPDgvgAwXL','BwvZC2fNzq','zMLSzxm','CMf3q29UDgvUDa','C3rHDa','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzVCM1HDa','D3jPDguTzMLSzq','zgv0zwn0sLngCMfTzxDVCMS','DgLTzw91Da','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4TChjVAMvJDa','C3vTBwfYEq','ChL0Ag9U','rMfPBgvKihrVigfUywX5EMuG','y2fJAgvfEhbPCNK','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzY1KAxjLy3rVCNK','lI4Vyw5HBhL6zxjZl1r5Cgvty3jPChrbBMfSExPLCI5QCW','lMvZBgLUDhjJlMPZ','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','yw5HBhL6zuzPBgu','zM9YBwf0','v0fstKLorW','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','tevtuW','C2v2zxjPDhK','u3rHDgLJqw5HBhLZAxmGDg9VBcbWyxjZAw5NihbHCMfTzxrLCNm','zxHLyW','AgfZ'];a0_0x280f=function(){return _0x18997b;};return a0_0x280f();}import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x46f2(_0x1f0b8d,_0x1a03bb){_0x1f0b8d=_0x1f0b8d-0x66;const _0x280f12=a0_0x280f();let _0x46f262=_0x280f12[_0x1f0b8d];if(a0_0x46f2['DlGDNQ']===undefined){var _0x33581d=function(_0x2d6021){const _0x201256='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ce997='',_0x3650f6='';for(let _0x9f149f=0x0,_0x239aa3,_0x28f0ae,_0x49ef88=0x0;_0x28f0ae=_0x2d6021['charAt'](_0x49ef88++);~_0x28f0ae&&(_0x239aa3=_0x9f149f%0x4?_0x239aa3*0x40+_0x28f0ae:_0x28f0ae,_0x9f149f++%0x4)?_0x1ce997+=String['fromCharCode'](0xff&_0x239aa3>>(-0x2*_0x9f149f&0x6)):0x0){_0x28f0ae=_0x201256['indexOf'](_0x28f0ae);}for(let _0x49ad52=0x0,_0x15d106=_0x1ce997['length'];_0x49ad52<_0x15d106;_0x49ad52++){_0x3650f6+='%'+('00'+_0x1ce997['charCodeAt'](_0x49ad52)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3650f6);};a0_0x46f2['mNPQnR']=_0x33581d,a0_0x46f2['wVVNAt']={},a0_0x46f2['DlGDNQ']=!![];}const _0x4e64df=_0x280f12[0x0],_0x4152bd=_0x1f0b8d+_0x4e64df,_0xa10dff=a0_0x46f2['wVVNAt'][_0x4152bd];return!_0xa10dff?(_0x46f262=a0_0x46f2['mNPQnR'](_0x46f262),a0_0x46f2['wVVNAt'][_0x4152bd]=_0x46f262):_0x46f262=_0xa10dff,_0x46f262;}class StaticAnalysisTool extends BaseTool{constructor(_0x49ef88={},_0x49ad52=null){const _0x44fe37=a0_0x46f2;super(_0x49ef88,_0x49ad52),this[_0x44fe37(0xaf)]=!![],this[_0x44fe37(0xff)]=![],this['timeout']=_0x49ef88['timeout']||STATIC_ANALYSIS['ANALYSIS_TIMEOUT'],this[_0x44fe37(0x91)]=_0x49ef88['maxConcurrentOperations']||0x1,this[_0x44fe37(0xb0)]=_0x49ef88['maxFileSize']||STATIC_ANALYSIS[_0x44fe37(0x139)],this[_0x44fe37(0xbb)]=_0x49ef88['maxFilesPerBatch']||STATIC_ANALYSIS['MAX_FILES_PER_BATCH'],this[_0x44fe37(0x7d)]=_0x49ef88['enableCache']!==![]&&STATIC_ANALYSIS['ENABLE_CACHE'],this[_0x44fe37(0x7a)]=new Map(),this[_0x44fe37(0x8d)]=STATIC_ANALYSIS['CACHE_DURATION'],this['parallelAnalysis']=_0x49ef88['parallelAnalysis']!==![],this['maxParallelFiles']=_0x49ef88['maxParallelFiles']||0xa,this['useContentHash']=_0x49ef88['useContentHash']!==![],this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x44fe37(0x121)]=new a0_0x3650f6(_0x49ef88,_0x49ad52),this[_0x44fe37(0x119)]={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}['getDescription'](){const _0x47bd45=a0_0x46f2;return'\x0aStatic\x20Code\x20Analysis\x20Tool:\x20Analyze\x20code\x20files\x20for\x20errors\x20without\x20execution\x0a\x0aThis\x20tool\x20performs\x20static\x20analysis\x20on\x20code\x20files\x20to\x20find\x20syntax\x20errors,\x20type\x20errors,\x20import\x20issues,\x20and\x20other\x20problems\x20without\x20running\x20the\x20code.\x20It\x20uses\x20official\x20language\x20parsers\x20for\x20accurate\x20results.\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Python\x20(.py)\x0a-\x20CSS\x20(.css)\x0a-\x20SCSS\x20(.scss,\x20.sass)\x0a-\x20LESS\x20(.less)\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze\x22,\x0a\x20\x20\x20\x20\x20\x20\x22filePath\x22:\x20\x22src/index.js\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze-project\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22pattern\x22:\x20\x22**/*.{js,ts,py}\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aACTION\x20TYPES:\x0a-\x20analyze:\x20Analyze\x20a\x20single\x20file\x0a-\x20analyze-project:\x20Analyze\x20all\x20files\x20in\x20a\x20directory\x0a-\x20fix:\x20Auto-fix\x20code\x20issues\x0a-\x20format:\x20Format\x20code\x20with\x20Prettier\x0a-\x20security-scan:\x20Scan\x20for\x20security\x20vulnerabilities\x0a-\x20security-scan-project:\x20Scan\x20entire\x20project\x20for\x20security\x20issues\x0a-\x20validate-config:\x20Validate\x20configuration\x20files\x0a-\x20validate-config-directory:\x20Validate\x20all\x20config\x20files\x20in\x20directory\x0a\x0aPARAMETERS:\x0a-\x20filePath:\x20Path\x20to\x20file\x20to\x20analyze\x20(for\x20single\x20file\x20actions)\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(for\x20project-wide\x20actions)\x0a-\x20pattern:\x20Glob\x20pattern\x20for\x20files\x20to\x20include\x20(optional)\x0a-\x20includeWarnings:\x20Include\x20warnings\x20in\x20results\x20(true/false,\x20default:\x20true)\x0a-\x20maxErrors:\x20Maximum\x20number\x20of\x20errors\x20to\x20return\x20(default:\x20all)\x0a-\x20writeFile:\x20Write\x20fixed/formatted\x20content\x20back\x20to\x20file\x20(for\x20fix/format\x20actions)\x0a\x0aEXAMPLES:\x0a\x0a1.\x20Analyze\x20a\x20single\x20JavaScript\x20file:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22analyze\x22,\x20\x22filePath\x22:\x20\x22src/app.js\x22\x20}]\x0a}\x0a```\x0a\x0a2.\x20Analyze\x20all\x20files\x20in\x20a\x20directory:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22analyze-project\x22,\x20\x22directory\x22:\x20\x22src\x22,\x20\x22pattern\x22:\x20\x22**/*.js\x22\x20}]\x0a}\x0a```\x0a\x0a3.\x20Auto-fix\x20code\x20issues:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22fix\x22,\x20\x22filePath\x22:\x20\x22src/app.js\x22,\x20\x22writeFile\x22:\x20true\x20}]\x0a}\x0a```\x0a\x0a4.\x20Security\x20scan\x20a\x20project:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22security-scan-project\x22,\x20\x22directory\x22:\x20\x22src\x22\x20}]\x0a}\x0a```\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20structured\x20error\x20information\x20with:\x20file,\x20line,\x20column,\x20severity,\x20rule,\x20message,\x20category,\x20fixable,\x20suggestion\x0a\x0aLIMITATIONS:\x0a-\x20File\x20size\x20limit:\x20'+Math['round'](this[_0x47bd45(0xb0)]/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this[_0x47bd45(0xbb)]+'\x20files\x20per\x20operation\x0a-\x20Analysis\x20timeout:\x20'+this[_0x47bd45(0x88)]/0x3e8+_0x47bd45(0xe5);}['parseParameters'](_0x15d106){const _0xa2ef6=a0_0x46f2;try{const _0x40da5f={},_0x41a20d=[];this['logger']?.['debug'](_0xa2ef6(0x98),{'contentLength':_0x15d106[_0xa2ef6(0xd6)],'contentPreview':_0x15d106['substring'](0x0,0xc8)});const _0x105e45=/<analyze\s+(.+?)\/>/g;let _0x4b09ff;while((_0x4b09ff=_0x105e45[_0xa2ef6(0x99)](_0x15d106))!==null){const _0x377624=_0x4b09ff[0x1][_0xa2ef6(0xf3)](),_0x242509=new a0_0x1ce997(),_0x402e6e=_0x242509['parseAttributes'](_0x377624),_0x1c0a0d={'type':_0xa2ef6(0x6d),..._0x402e6e};_0x1c0a0d[_0xa2ef6(0x9d)]&&(_0x1c0a0d[_0xa2ef6(0xfb)]=_0x1c0a0d[_0xa2ef6(0x9d)],delete _0x1c0a0d['file-path']),_0x1c0a0d[_0xa2ef6(0xf0)]&&(_0x1c0a0d[_0xa2ef6(0xb1)]=_0x1c0a0d['include-warnings']===_0xa2ef6(0x11e),delete _0x1c0a0d[_0xa2ef6(0xf0)]),_0x1c0a0d[_0xa2ef6(0x116)]&&(_0x1c0a0d['maxErrors']=parseInt(_0x1c0a0d[_0xa2ef6(0x116)],0xa),delete _0x1c0a0d['max-errors']),_0x41a20d['push'](_0x1c0a0d);}const _0x53e5da=/<analyze-project\s+(.+?)\/>/g;while((_0x4b09ff=_0x53e5da['exec'](_0x15d106))!==null){const _0x199f4c=_0x4b09ff[0x1]['trim'](),_0x36f5dd=new a0_0x1ce997(),_0x1b4488=_0x36f5dd['parseAttributes'](_0x199f4c),_0x41e29f={'type':'analyze-project',..._0x1b4488};_0x41e29f['include-warnings']&&(_0x41e29f['includeWarnings']=_0x41e29f['include-warnings']===_0xa2ef6(0x11e),delete _0x41e29f['include-warnings']),_0x41e29f['max-errors']&&(_0x41e29f[_0xa2ef6(0xeb)]=parseInt(_0x41e29f['max-errors'],0xa),delete _0x41e29f[_0xa2ef6(0x116)]),_0x41a20d['push'](_0x41e29f);}const _0x166b45=/<fix\s+(.+?)\/>/g;while((_0x4b09ff=_0x166b45['exec'](_0x15d106))!==null){const _0xd1cbeb=_0x4b09ff[0x1]['trim'](),_0xa6acdf=new a0_0x1ce997(),_0x1719bc=_0xa6acdf[_0xa2ef6(0xc0)](_0xd1cbeb),_0x3ffbf5={'type':_0xa2ef6(0x7f),..._0x1719bc};_0x3ffbf5[_0xa2ef6(0x9d)]&&(_0x3ffbf5['filePath']=_0x3ffbf5[_0xa2ef6(0x9d)],delete _0x3ffbf5['file-path']),_0x3ffbf5[_0xa2ef6(0x86)]&&(_0x3ffbf5['writeFile']=_0x3ffbf5[_0xa2ef6(0x86)]==='true',delete _0x3ffbf5[_0xa2ef6(0x86)]),_0x41a20d['push'](_0x3ffbf5);}const _0x66af1d=/<format\s+(.+?)\/>/g;while((_0x4b09ff=_0x66af1d['exec'](_0x15d106))!==null){const _0x128092=_0x4b09ff[0x1]['trim'](),_0xcdf78a=new a0_0x1ce997(),_0x2a39a9=_0xcdf78a['parseAttributes'](_0x128092),_0x23029a={'type':_0xa2ef6(0x93),..._0x2a39a9};_0x23029a[_0xa2ef6(0x9d)]&&(_0x23029a[_0xa2ef6(0xfb)]=_0x23029a['file-path'],delete _0x23029a[_0xa2ef6(0x9d)]),_0x23029a['write-file']&&(_0x23029a['writeFile']=_0x23029a[_0xa2ef6(0x86)]===_0xa2ef6(0x11e),delete _0x23029a[_0xa2ef6(0x86)]),_0x41a20d[_0xa2ef6(0xf5)](_0x23029a);}const _0xdcbdce=/<security-scan\s+(.+?)\/>/g;while((_0x4b09ff=_0xdcbdce[_0xa2ef6(0x99)](_0x15d106))!==null){const _0x16d6e1=_0x4b09ff[0x1][_0xa2ef6(0xf3)](),_0x210bb0=new a0_0x1ce997(),_0x3e9c50=_0x210bb0[_0xa2ef6(0xc0)](_0x16d6e1),_0x357db3={'type':_0xa2ef6(0xb9),..._0x3e9c50};_0x357db3['file-path']&&(_0x357db3[_0xa2ef6(0xfb)]=_0x357db3[_0xa2ef6(0x9d)],delete _0x357db3[_0xa2ef6(0x9d)]),_0x357db3['skip-test-files']&&(_0x357db3['skipTestFiles']=_0x357db3['skip-test-files']==='true',delete _0x357db3[_0xa2ef6(0xb2)]),_0x41a20d['push'](_0x357db3);}const _0x1b2467=/<security-scan-project\s+(.+?)\/>/g;while((_0x4b09ff=_0x1b2467[_0xa2ef6(0x99)](_0x15d106))!==null){const _0xb127c2=_0x4b09ff[0x1][_0xa2ef6(0xf3)](),_0x1ff295=new a0_0x1ce997(),_0x43f24a=_0x1ff295[_0xa2ef6(0xc0)](_0xb127c2),_0x4c507a={'type':'security-scan-project',..._0x43f24a};_0x4c507a['skip-test-files']&&(_0x4c507a[_0xa2ef6(0x7c)]=_0x4c507a[_0xa2ef6(0xb2)]===_0xa2ef6(0x11e),delete _0x4c507a['skip-test-files']),_0x41a20d['push'](_0x4c507a);}const _0x1a43b1=/<validate-config\s+(.+?)\/>/g;while((_0x4b09ff=_0x1a43b1[_0xa2ef6(0x99)](_0x15d106))!==null){const _0x89e728=_0x4b09ff[0x1]['trim'](),_0x5f2f4a=new a0_0x1ce997(),_0x197f2b=_0x5f2f4a[_0xa2ef6(0xc0)](_0x89e728),_0x44da2c={'type':'validate-config',..._0x197f2b};_0x44da2c['file-path']&&(_0x44da2c[_0xa2ef6(0xfb)]=_0x44da2c['file-path'],delete _0x44da2c[_0xa2ef6(0x9d)]),_0x41a20d['push'](_0x44da2c);}const _0xe0c8a7=/<validate-config-directory\s+(.+?)\/>/g;while((_0x4b09ff=_0xe0c8a7[_0xa2ef6(0x99)](_0x15d106))!==null){const _0x549947=_0x4b09ff[0x1]['trim'](),_0x51a3be=new a0_0x1ce997(),_0x301454=_0x51a3be[_0xa2ef6(0xc0)](_0x549947),_0xdfd51a={'type':_0xa2ef6(0xb3),..._0x301454};_0x41a20d['push'](_0xdfd51a);}return _0x40da5f['actions']=_0x41a20d,_0x40da5f[_0xa2ef6(0x83)]=_0x15d106[_0xa2ef6(0xf3)](),this['logger']?.['debug']('Parsed\x20StaticAnalysis\x20tool\x20parameters',{'totalActions':_0x41a20d['length'],'actionTypes':_0x41a20d[_0xa2ef6(0x71)](_0x4fe9fd=>_0x4fe9fd[_0xa2ef6(0xae)])}),_0x40da5f;}catch(_0x36c549){throw new Error('Failed\x20to\x20parse\x20static\x20analysis\x20parameters:\x20'+_0x36c549['message']);}}['getRequiredParameters'](){return['actions'];}['customValidateParameters'](_0x3aaa73){const _0x2d61d6=a0_0x46f2,_0x8b322b=[];if(!_0x3aaa73['actions']||!Array[_0x2d61d6(0x6c)](_0x3aaa73['actions'])||_0x3aaa73['actions']['length']===0x0)_0x8b322b[_0x2d61d6(0xf5)](_0x2d61d6(0x69));else{for(const [_0x1fbbe,_0x3e1eb7]of _0x3aaa73[_0x2d61d6(0x110)]['entries']()){if(!_0x3e1eb7[_0x2d61d6(0xae)]){_0x8b322b['push'](_0x2d61d6(0x6a)+(_0x1fbbe+0x1)+_0x2d61d6(0x103));continue;}switch(_0x3e1eb7['type']){case'analyze':!_0x3e1eb7[_0x2d61d6(0xfb)]&&_0x8b322b[_0x2d61d6(0xf5)]('Action\x20'+(_0x1fbbe+0x1)+':\x20file-path\x20is\x20required\x20for\x20analyze');break;case _0x2d61d6(0xea):!_0x3e1eb7['directory']&&_0x8b322b['push'](_0x2d61d6(0x6a)+(_0x1fbbe+0x1)+_0x2d61d6(0x114));break;case'fix':!_0x3e1eb7['filePath']&&_0x8b322b[_0x2d61d6(0xf5)]('Action\x20'+(_0x1fbbe+0x1)+':\x20file-path\x20is\x20required\x20for\x20fix');break;case _0x2d61d6(0x93):!_0x3e1eb7['filePath']&&_0x8b322b['push']('Action\x20'+(_0x1fbbe+0x1)+_0x2d61d6(0x85));break;case _0x2d61d6(0xb9):!_0x3e1eb7['filePath']&&_0x8b322b['push']('Action\x20'+(_0x1fbbe+0x1)+':\x20file-path\x20is\x20required\x20for\x20security-scan');break;case _0x2d61d6(0xda):!_0x3e1eb7['directory']&&_0x8b322b[_0x2d61d6(0xf5)](_0x2d61d6(0x6a)+(_0x1fbbe+0x1)+_0x2d61d6(0x89));break;case'validate-config':!_0x3e1eb7['filePath']&&_0x8b322b['push'](_0x2d61d6(0x6a)+(_0x1fbbe+0x1)+_0x2d61d6(0xe9));break;case'validate-config-directory':!_0x3e1eb7[_0x2d61d6(0xa8)]&&_0x8b322b[_0x2d61d6(0xf5)]('Action\x20'+(_0x1fbbe+0x1)+_0x2d61d6(0x8e));break;default:_0x8b322b['push'](_0x2d61d6(0x6a)+(_0x1fbbe+0x1)+_0x2d61d6(0x104)+_0x3e1eb7[_0x2d61d6(0xae)]);}}_0x3aaa73[_0x2d61d6(0x110)]['length']>this['maxFilesPerBatch']&&_0x8b322b[_0x2d61d6(0xf5)]('Too\x20many\x20actions:\x20'+_0x3aaa73[_0x2d61d6(0x110)][_0x2d61d6(0xd6)]+'\x20(max\x20'+this[_0x2d61d6(0xbb)]+')');}return{'valid':_0x8b322b['length']===0x0,'errors':_0x8b322b};}async[a0_0x5a46b9(0xfd)](_0x14212d,_0x51b4ec){const _0x3ce00f=a0_0x5a46b9,{actions:_0x3aed98}=_0x14212d,{projectDir:_0xbc8ece,agentId:_0x1152ba,directoryAccess:_0x375ee6}=_0x51b4ec,_0x5b1f9c=_0x375ee6||this[_0x3ce00f(0x121)]['createDirectoryAccess']({'workingDirectory':_0xbc8ece||process['cwd'](),'writeEnabledDirectories':[_0xbc8ece||process['cwd']()],'restrictToProject':!![]}),_0x5cc34c=this[_0x3ce00f(0x121)]['getWorkingDirectory'](_0x5b1f9c),_0x386f86={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0xa95f83 of _0x3aed98){try{let _0x228443;switch(_0xa95f83['type']){case'analyze':_0x228443=await this['analyzeFile'](_0xa95f83['filePath'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x228443&&(_0x386f86['files']['push'](_0x228443),this[_0x3ce00f(0xe3)](_0x386f86['summary'],_0x228443));break;case'analyze-project':const _0x2773c0=await this[_0x3ce00f(0xf8)](_0xa95f83['directory'],_0xa95f83['pattern'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x386f86['files'][_0x3ce00f(0xf5)](..._0x2773c0);for(const _0x2154a4 of _0x2773c0){this['updateSummary'](_0x386f86['summary'],_0x2154a4);}break;case'fix':_0x228443=await this[_0x3ce00f(0xc7)](_0xa95f83['filePath'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x228443&&_0x386f86['files'][_0x3ce00f(0xf5)](_0x228443);break;case _0x3ce00f(0x93):_0x228443=await this['formatFile'](_0xa95f83[_0x3ce00f(0xfb)],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x228443&&_0x386f86[_0x3ce00f(0x82)]['push'](_0x228443);break;case'security-scan':_0x228443=await this[_0x3ce00f(0xe4)](_0xa95f83['filePath'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x228443&&(_0x386f86[_0x3ce00f(0x82)][_0x3ce00f(0xf5)](_0x228443),this[_0x3ce00f(0xe3)](_0x386f86[_0x3ce00f(0x8a)],_0x228443));break;case'security-scan-project':const _0x14fe84=await this['securityScanProject'](_0xa95f83[_0x3ce00f(0xa8)],_0xa95f83['pattern'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x386f86['files']['push'](..._0x14fe84);for(const _0x7b6ad6 of _0x14fe84){this[_0x3ce00f(0xe3)](_0x386f86[_0x3ce00f(0x8a)],_0x7b6ad6);}break;case _0x3ce00f(0x129):_0x228443=await this['validateConfigFile'](_0xa95f83[_0x3ce00f(0xfb)],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x228443&&(_0x386f86[_0x3ce00f(0x82)][_0x3ce00f(0xf5)](_0x228443),this['updateSummary'](_0x386f86[_0x3ce00f(0x8a)],_0x228443));break;case _0x3ce00f(0xb3):const _0x585ac6=await this[_0x3ce00f(0x95)](_0xa95f83['directory'],_0x5cc34c,_0x5b1f9c,_0xa95f83);_0x386f86[_0x3ce00f(0x82)][_0x3ce00f(0xf5)](..._0x585ac6);for(const _0x3764da of _0x585ac6){this['updateSummary'](_0x386f86['summary'],_0x3764da);}break;default:throw new Error(_0x3ce00f(0x12c)+_0xa95f83['type']);}}catch(_0x5c6a4b){this['logger']?.[_0x3ce00f(0x10b)](_0x3ce00f(0x130),{'action':_0xa95f83['type'],'error':_0x5c6a4b[_0x3ce00f(0x81)]}),_0x386f86['files']['push']({'file':_0xa95f83[_0x3ce00f(0xfb)]||_0xa95f83['directory'],'error':_0x5c6a4b['message'],'success':![]});}}return{'success':!![],'results':_0x386f86,'toolUsed':'staticanalysis','performance':this['getPerformanceMetrics']()};}async['analyzeFile'](_0x3000ba,_0x19105a,_0x5c71fd,_0x2bb5b5={}){const _0xa16ff0=a0_0x5a46b9,_0x309b05=a0_0x239aa3['isAbsolute'](_0x3000ba)?a0_0x239aa3[_0xa16ff0(0x12b)](_0x3000ba):a0_0x239aa3['resolve'](_0x19105a,_0x3000ba),_0xd3e135=this[_0xa16ff0(0x121)][_0xa16ff0(0xca)](_0x309b05,_0x5c71fd);if(!_0xd3e135['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0xd3e135['reason']);try{const _0x363766=await a0_0x9f149f[_0xa16ff0(0x84)](_0x309b05);if(_0x363766['size']>this[_0xa16ff0(0xb0)])throw new Error('File\x20too\x20large:\x20'+_0x363766['size']+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x2485fc=this['detectLanguage'](_0x309b05);if(!_0x2485fc)return{'file':this[_0xa16ff0(0x121)][_0xa16ff0(0x133)](_0x309b05,_0x5c71fd),'fullPath':_0x309b05,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0xa16ff0(0xb5)};const _0x338f80=await a0_0x9f149f[_0xa16ff0(0x9c)](_0x309b05,_0xa16ff0(0x107)),_0x52b2a4=this[_0xa16ff0(0x100)]?this['computeContentHash'](_0x338f80):null,_0x5e5530=this[_0xa16ff0(0x100)]?_0x309b05+':'+_0x52b2a4:_0x309b05+':'+_0x363766[_0xa16ff0(0xed)][_0xa16ff0(0xd2)]();if(this['enableCache']&&this['analysisCache'][_0xa16ff0(0x9a)](_0x5e5530)){const _0x31189a=this[_0xa16ff0(0x7a)]['get'](_0x5e5530);if(Date[_0xa16ff0(0xd0)]()-_0x31189a['timestamp']<this[_0xa16ff0(0x8d)])return this[_0xa16ff0(0x131)]?.['debug']('Using\x20cached\x20analysis\x20result',{'file':_0x309b05}),this['metrics']['cacheHits']++,this['metrics']['totalAnalyses']++,_0x31189a[_0xa16ff0(0x124)];}this[_0xa16ff0(0x9f)][_0xa16ff0(0xef)]++,this[_0xa16ff0(0x9f)]['totalAnalyses']++;const _0x4695b4=await this[_0xa16ff0(0x120)](_0x2485fc);if(!_0x4695b4)return{'file':this[_0xa16ff0(0x121)]['createRelativePath'](_0x309b05,_0x5c71fd),'fullPath':_0x309b05,'language':_0x2485fc,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0xa16ff0(0x9b)+_0x2485fc};const _0x3e8c59=Date[_0xa16ff0(0xd0)](),_0x384e5c=await _0x4695b4['analyze'](_0x309b05,_0x338f80,{'workingDir':_0x19105a,'accessConfig':_0x5c71fd,'framework':await this['detectFramework'](_0x19105a,_0x2485fc)}),_0x474646=Date['now']()-_0x3e8c59;this['metrics'][_0xa16ff0(0x127)]+=_0x474646,this['metrics'][_0xa16ff0(0x11b)]++;const _0x8e4676={'file':this[_0xa16ff0(0x121)][_0xa16ff0(0x133)](_0x309b05,_0x5c71fd),'fullPath':_0x309b05,'language':_0x2485fc,'framework':await this[_0xa16ff0(0x11d)](_0x19105a,_0x2485fc),'errors':_0x384e5c[_0xa16ff0(0xe6)](_0x5ab96a=>_0x5ab96a[_0xa16ff0(0x97)]===STATIC_ANALYSIS['SEVERITY'][_0xa16ff0(0x10d)]),'warnings':_0x2bb5b5['includeWarnings']!==![]?_0x384e5c[_0xa16ff0(0xe6)](_0x1f21b1=>_0x1f21b1['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING']):[],'info':_0x384e5c[_0xa16ff0(0xe6)](_0x310d10=>_0x310d10[_0xa16ff0(0x97)]===STATIC_ANALYSIS[_0xa16ff0(0x123)]['INFO']),'totalIssues':_0x384e5c['length'],'analyzed':!![],'timestamp':new Date()['toISOString']()};return _0x2bb5b5[_0xa16ff0(0xeb)]&&_0x8e4676['errors'][_0xa16ff0(0xd6)]>_0x2bb5b5[_0xa16ff0(0xeb)]&&(_0x8e4676[_0xa16ff0(0x138)]=_0x8e4676['errors']['slice'](0x0,_0x2bb5b5['maxErrors']),_0x8e4676['truncated']=!![]),this[_0xa16ff0(0x7d)]&&this['analysisCache'][_0xa16ff0(0x126)](_0x5e5530,{'result':_0x8e4676,'timestamp':Date[_0xa16ff0(0xd0)]()}),_0x8e4676;}catch(_0x5e5ee8){throw new Error(_0xa16ff0(0x8c)+_0x3000ba+':\x20'+_0x5e5ee8[_0xa16ff0(0x81)]);}}async[a0_0x5a46b9(0xf8)](_0x2f3471,_0x151f0b,_0x4f566f,_0x2169a1,_0x51f58a={}){const _0x43c03a=a0_0x5a46b9,_0x44661a=a0_0x239aa3['isAbsolute'](_0x2f3471)?a0_0x239aa3[_0x43c03a(0x12b)](_0x2f3471):a0_0x239aa3['resolve'](_0x4f566f,_0x2f3471),_0x58009f=this[_0x43c03a(0x121)]['validateReadAccess'](_0x44661a,_0x2169a1);if(!_0x58009f['allowed'])throw new Error(_0x43c03a(0x134)+_0x58009f['reason']);const _0x2e719d=await this[_0x43c03a(0x136)](_0x44661a,_0x151f0b);if(_0x2e719d['length']>this[_0x43c03a(0xbb)])throw new Error('Too\x20many\x20files:\x20'+_0x2e719d['length']+'\x20(max\x20'+this['maxFilesPerBatch']+')');const _0x41798f=[];if(this[_0x43c03a(0xa6)]&&_0x2e719d['length']>0x1){this[_0x43c03a(0x131)]?.[_0x43c03a(0xa9)]('Using\x20parallel\x20analysis',{'totalFiles':_0x2e719d['length'],'batchSize':this['maxParallelFiles']});for(let _0x3b31aa=0x0;_0x3b31aa<_0x2e719d[_0x43c03a(0xd6)];_0x3b31aa+=this[_0x43c03a(0xa0)]){const _0x515d04=_0x2e719d['slice'](_0x3b31aa,_0x3b31aa+this[_0x43c03a(0xa0)]);this[_0x43c03a(0x9f)][_0x43c03a(0xc9)]++;const _0x500fac={'completed':_0x3b31aa,'total':_0x2e719d['length'],'percentage':Math[_0x43c03a(0x75)](_0x3b31aa/_0x2e719d['length']*0x64)};_0x51f58a['onProgress']&&_0x51f58a[_0x43c03a(0xd4)](_0x500fac);this[_0x43c03a(0x131)]?.['debug'](_0x43c03a(0xe8),{'batch':Math['floor'](_0x3b31aa/this['maxParallelFiles'])+0x1,'filesInBatch':_0x515d04[_0x43c03a(0xd6)],'progress':_0x500fac[_0x43c03a(0xf6)]+'/'+_0x500fac['total']});const _0x5902e0=_0x515d04['map'](async _0xf83e8f=>{const _0x1661ee=_0x43c03a;try{const _0x23eae4=await this[_0x1661ee(0x92)](_0xf83e8f,_0x4f566f,_0x2169a1,_0x51f58a);return _0x23eae4;}catch(_0x517619){return this[_0x1661ee(0x131)]?.['warn']('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0xf83e8f,'error':_0x517619[_0x1661ee(0x81)]}),{'file':this[_0x1661ee(0x121)]['createRelativePath'](_0xf83e8f,_0x2169a1),'fullPath':_0xf83e8f,'error':_0x517619[_0x1661ee(0x81)],'success':![]};}}),_0x20eda7=await Promise['all'](_0x5902e0);_0x41798f['push'](..._0x20eda7['filter'](_0x1267a1=>_0x1267a1!==null));}_0x51f58a[_0x43c03a(0xd4)]&&_0x51f58a[_0x43c03a(0xd4)]({'completed':_0x2e719d[_0x43c03a(0xd6)],'total':_0x2e719d['length'],'percentage':0x64});}else for(const _0x7c64ca of _0x2e719d){try{const _0x5e9857=await this['analyzeFile'](_0x7c64ca,_0x4f566f,_0x2169a1,_0x51f58a);_0x5e9857&&_0x41798f[_0x43c03a(0xf5)](_0x5e9857);}catch(_0x54f8e2){this['logger']?.[_0x43c03a(0x122)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x7c64ca,'error':_0x54f8e2['message']}),_0x41798f[_0x43c03a(0xf5)]({'file':this['directoryAccessManager'][_0x43c03a(0x133)](_0x7c64ca,_0x2169a1),'fullPath':_0x7c64ca,'error':_0x54f8e2['message'],'success':![]});}}return _0x41798f;}async['fixFile'](_0x5eb63f,_0x83ecb2,_0x338099,_0x31bf1e={}){const _0x51307a=a0_0x5a46b9,_0x3a84ea=a0_0x239aa3['isAbsolute'](_0x5eb63f)?a0_0x239aa3['normalize'](_0x5eb63f):a0_0x239aa3[_0x51307a(0x112)](_0x83ecb2,_0x5eb63f),_0x47a5b0=this['directoryAccessManager']['validateReadAccess'](_0x3a84ea,_0x338099);if(!_0x47a5b0[_0x51307a(0x141)])throw new Error(_0x51307a(0x134)+_0x47a5b0[_0x51307a(0x10e)]);if(_0x31bf1e['writeFile']){const _0x5bad82=this['directoryAccessManager']['validateWriteAccess'](_0x3a84ea,_0x338099);if(!_0x5bad82['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x5bad82[_0x51307a(0x10e)]);}try{const _0x3591c2=await a0_0x9f149f[_0x51307a(0x9c)](_0x3a84ea,'utf-8'),_0x1155a4=await this['getESLintAnalyzer'](),_0x38fc8b=await _0x1155a4[_0x51307a(0x7f)](_0x3a84ea,_0x3591c2,{'workingDir':_0x83ecb2,'accessConfig':_0x338099,'framework':await this['detectFramework'](_0x83ecb2,this[_0x51307a(0x73)](_0x3a84ea))});return _0x31bf1e['writeFile']&&_0x38fc8b['fixed']&&(await a0_0x9f149f[_0x51307a(0x80)](_0x3a84ea,_0x38fc8b[_0x51307a(0xb7)],_0x51307a(0x107)),this[_0x51307a(0x131)]?.['info']('File\x20fixed\x20and\x20written',{'file':_0x3a84ea})),{'file':this['directoryAccessManager'][_0x51307a(0x133)](_0x3a84ea,_0x338099),'fullPath':_0x3a84ea,'action':'fix','fixed':_0x38fc8b[_0x51307a(0x117)],'fixedCount':_0x38fc8b[_0x51307a(0x12f)],'remainingErrors':_0x38fc8b['remainingErrors'],'remainingWarnings':_0x38fc8b[_0x51307a(0xd7)],'changes':_0x38fc8b[_0x51307a(0xd1)],'written':!!(_0x31bf1e['writeFile']&&_0x38fc8b['fixed']),'preview':!_0x31bf1e['writeFile']&&_0x38fc8b['fixed']?_0x38fc8b[_0x51307a(0xb7)]:undefined};}catch(_0x2bbbbc){throw new Error('Failed\x20to\x20fix\x20'+_0x5eb63f+':\x20'+_0x2bbbbc['message']);}}async[a0_0x5a46b9(0x10f)](_0x3f6eb7,_0xf7ff4,_0x826ce7,_0x47b18e={}){const _0x2780ba=a0_0x5a46b9,_0x45ae9f=a0_0x239aa3[_0x2780ba(0x13e)](_0x3f6eb7)?a0_0x239aa3['normalize'](_0x3f6eb7):a0_0x239aa3['resolve'](_0xf7ff4,_0x3f6eb7),_0x167026=this['directoryAccessManager']['validateReadAccess'](_0x45ae9f,_0x826ce7);if(!_0x167026['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x167026['reason']);if(_0x47b18e['writeFile']){const _0x13b726=this[_0x2780ba(0x121)][_0x2780ba(0x6b)](_0x45ae9f,_0x826ce7);if(!_0x13b726['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x13b726[_0x2780ba(0x10e)]);}try{const _0x5b5998=await a0_0x9f149f['readFile'](_0x45ae9f,'utf-8'),_0x532a44=await this['getPrettierFormatter']();if(!_0x532a44['isSupported'](_0x45ae9f))return{'file':this['directoryAccessManager'][_0x2780ba(0x133)](_0x45ae9f,_0x826ce7),'fullPath':_0x45ae9f,'action':_0x2780ba(0x93),'formatted':![],'skipped':!![],'skipReason':_0x2780ba(0xb6)};const _0xe40468=await _0x532a44[_0x2780ba(0x93)](_0x45ae9f,_0x5b5998,{'workingDir':_0xf7ff4,'accessConfig':_0x826ce7});return _0x47b18e[_0x2780ba(0x80)]&&_0xe40468[_0x2780ba(0x13d)]&&(await a0_0x9f149f['writeFile'](_0x45ae9f,_0xe40468['content'],_0x2780ba(0x107)),this['logger']?.[_0x2780ba(0x12e)](_0x2780ba(0xa1),{'file':_0x45ae9f})),{'file':this[_0x2780ba(0x121)]['createRelativePath'](_0x45ae9f,_0x826ce7),'fullPath':_0x45ae9f,'action':_0x2780ba(0x93),'formatted':_0xe40468['formatted'],'linesChanged':_0xe40468['linesChanged'],'changes':_0xe40468[_0x2780ba(0xd1)],'written':!!(_0x47b18e[_0x2780ba(0x80)]&&_0xe40468['formatted']),'preview':!_0x47b18e['writeFile']&&_0xe40468[_0x2780ba(0x13d)]?_0xe40468[_0x2780ba(0xb7)]:undefined};}catch(_0x1a03fe){throw new Error(_0x2780ba(0x11f)+_0x3f6eb7+':\x20'+_0x1a03fe['message']);}}async['securityScanFile'](_0x1fb186,_0x5bfd5d,_0x317622,_0x556c69={}){const _0x29ece2=a0_0x5a46b9,_0xcc1cf4=a0_0x239aa3['isAbsolute'](_0x1fb186)?a0_0x239aa3['normalize'](_0x1fb186):a0_0x239aa3['resolve'](_0x5bfd5d,_0x1fb186),_0x1b47c2=this['directoryAccessManager']['validateReadAccess'](_0xcc1cf4,_0x317622);if(!_0x1b47c2[_0x29ece2(0x141)])throw new Error('Read\x20access\x20denied:\x20'+_0x1b47c2['reason']);try{const _0x3790a3=await a0_0x9f149f[_0x29ece2(0x84)](_0xcc1cf4);if(_0x3790a3[_0x29ece2(0x76)]>this['maxFileSize'])throw new Error(_0x29ece2(0x11a)+_0x3790a3[_0x29ece2(0x76)]+_0x29ece2(0xbf)+this['maxFileSize']+')');const _0x4e2bce=this['detectLanguage'](_0xcc1cf4);if(!_0x4e2bce||!['javascript','typescript',_0x29ece2(0x8b)][_0x29ece2(0x6f)](_0x4e2bce))return{'file':this[_0x29ece2(0x121)][_0x29ece2(0x133)](_0xcc1cf4,_0x317622),'fullPath':_0xcc1cf4,'language':_0x4e2bce||_0x29ece2(0x13f),'issues':[],'skipped':!![],'skipReason':'Security\x20scanning\x20only\x20supports\x20JavaScript,\x20TypeScript,\x20and\x20Python\x20files'};const _0x19e45d=await a0_0x9f149f['readFile'](_0xcc1cf4,_0x29ece2(0x107)),_0x40e453=await this[_0x29ece2(0x102)](),_0x1d7d6b=await _0x40e453[_0x29ece2(0x6d)](_0xcc1cf4,_0x19e45d,{'skipTestFiles':_0x556c69[_0x29ece2(0x7c)]!==![]}),_0x56495d={'file':this[_0x29ece2(0x121)]['createRelativePath'](_0xcc1cf4,_0x317622),'fullPath':_0xcc1cf4,'language':_0x4e2bce,'action':'security-scan','critical':_0x1d7d6b[_0x29ece2(0xe6)](_0x11ace2=>_0x11ace2['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x1d7d6b[_0x29ece2(0xe6)](_0x3377a9=>_0x3377a9['severity']===STATIC_ANALYSIS[_0x29ece2(0x123)][_0x29ece2(0x10d)]),'warnings':_0x1d7d6b['filter'](_0x7c498a=>_0x7c498a[_0x29ece2(0x97)]===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x1d7d6b[_0x29ece2(0xe6)](_0x24deff=>_0x24deff[_0x29ece2(0x97)]===STATIC_ANALYSIS[_0x29ece2(0x123)][_0x29ece2(0xa3)]),'totalIssues':_0x1d7d6b['length'],'analyzed':!![],'scannersUsed':_0x1d7d6b['map'](_0xe24345=>_0xe24345['scanner'])['filter']((_0x32130c,_0x16b650,_0x573925)=>_0x573925[_0x29ece2(0xa4)](_0x32130c)===_0x16b650),'timestamp':new Date()[_0x29ece2(0xcf)]()};return _0x56495d;}catch(_0xe7b729){throw new Error('Failed\x20to\x20security\x20scan\x20'+_0x1fb186+':\x20'+_0xe7b729[_0x29ece2(0x81)]);}}async[a0_0x5a46b9(0xfe)](_0x1ece1b,_0x3a3b7e,_0x767444,_0xec8f79,_0x48cc64={}){const _0x29a891=a0_0x5a46b9,_0x41359d=a0_0x239aa3['isAbsolute'](_0x1ece1b)?a0_0x239aa3['normalize'](_0x1ece1b):a0_0x239aa3[_0x29a891(0x112)](_0x767444,_0x1ece1b),_0x297823=this['directoryAccessManager']['validateReadAccess'](_0x41359d,_0xec8f79);if(!_0x297823[_0x29a891(0x141)])throw new Error(_0x29a891(0x134)+_0x297823[_0x29a891(0x10e)]);const _0x50f962=await this['getSecurityAnalyzer'](),_0x268e42=await _0x50f962[_0x29a891(0xf8)](_0x41359d,_0x29a891(0xaa),_0x48cc64),_0x3b5394=_0x3a3b7e||_0x29a891(0xe0),_0x396622=await this['findFiles'](_0x41359d,_0x3b5394);if(_0x396622['length']>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x396622[_0x29a891(0xd6)]+_0x29a891(0x111)+this[_0x29a891(0xbb)]+')');const _0x3b9dfc=[];if(this['parallelAnalysis']&&_0x396622[_0x29a891(0xd6)]>0x1){this['logger']?.['debug'](_0x29a891(0x105),{'totalFiles':_0x396622['length'],'batchSize':this[_0x29a891(0xa0)]});for(let _0x883ab6=0x0;_0x883ab6<_0x396622[_0x29a891(0xd6)];_0x883ab6+=this[_0x29a891(0xa0)]){const _0x59b7ce=_0x396622['slice'](_0x883ab6,_0x883ab6+this['maxParallelFiles']);_0x48cc64[_0x29a891(0xd4)]&&_0x48cc64[_0x29a891(0xd4)]({'completed':_0x883ab6,'total':_0x396622['length'],'percentage':Math[_0x29a891(0x75)](_0x883ab6/_0x396622['length']*0x64)});const _0x44e9e8=_0x59b7ce[_0x29a891(0x71)](async _0x339f27=>{const _0x4ff213=_0x29a891;try{return await this['securityScanFile'](_0x339f27,_0x767444,_0xec8f79,_0x48cc64);}catch(_0x39cd6b){return this[_0x4ff213(0x131)]?.[_0x4ff213(0x122)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x339f27,'error':_0x39cd6b['message']}),{'file':this[_0x4ff213(0x121)][_0x4ff213(0x133)](_0x339f27,_0xec8f79),'fullPath':_0x339f27,'error':_0x39cd6b[_0x4ff213(0x81)],'success':![]};}}),_0x5e9956=await Promise['all'](_0x44e9e8);_0x3b9dfc['push'](..._0x5e9956['filter'](_0x1eacea=>_0x1eacea!==null));}_0x48cc64[_0x29a891(0xd4)]&&_0x48cc64['onProgress']({'completed':_0x396622[_0x29a891(0xd6)],'total':_0x396622[_0x29a891(0xd6)],'percentage':0x64});}else for(const _0x248af1 of _0x396622){try{const _0x695cc8=await this['securityScanFile'](_0x248af1,_0x767444,_0xec8f79,_0x48cc64);_0x695cc8&&_0x3b9dfc[_0x29a891(0xf5)](_0x695cc8);}catch(_0x4a1592){this['logger']?.[_0x29a891(0x122)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x248af1,'error':_0x4a1592['message']}),_0x3b9dfc[_0x29a891(0xf5)]({'file':this[_0x29a891(0x121)]['createRelativePath'](_0x248af1,_0xec8f79),'fullPath':_0x248af1,'error':_0x4a1592[_0x29a891(0x81)],'success':![]});}}return _0x268e42['length']>0x0&&_0x3b9dfc[_0x29a891(0xf5)]({'file':a0_0x239aa3[_0x29a891(0xe7)](_0x41359d,_0x29a891(0xb8)),'fullPath':a0_0x239aa3[_0x29a891(0xe7)](_0x41359d,'package.json'),'action':'dependency-scan','critical':_0x268e42[_0x29a891(0xe6)](_0x2ca51b=>_0x2ca51b[_0x29a891(0x97)]===STATIC_ANALYSIS[_0x29a891(0x123)]['CRITICAL']),'errors':_0x268e42['filter'](_0x1dea0a=>_0x1dea0a['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x268e42[_0x29a891(0xe6)](_0x92fb18=>_0x92fb18['severity']===STATIC_ANALYSIS['SEVERITY'][_0x29a891(0x94)]),'info':_0x268e42['filter'](_0x2c01dd=>_0x2c01dd['severity']===STATIC_ANALYSIS['SEVERITY'][_0x29a891(0xa3)]),'totalIssues':_0x268e42['length'],'analyzed':!![],'scannersUsed':[_0x29a891(0x115)],'timestamp':new Date()[_0x29a891(0xcf)]()}),_0x3b9dfc;}async['validateConfigFile'](_0x591cc3,_0xef036d,_0x3d12d2,_0x5794b0={}){const _0x1ec36f=a0_0x5a46b9,_0x29e2cb=a0_0x239aa3[_0x1ec36f(0x13e)](_0x591cc3)?a0_0x239aa3['normalize'](_0x591cc3):a0_0x239aa3['resolve'](_0xef036d,_0x591cc3),_0x214077=this[_0x1ec36f(0x121)][_0x1ec36f(0xca)](_0x29e2cb,_0x3d12d2);if(!_0x214077[_0x1ec36f(0x141)])throw new Error('Read\x20access\x20denied:\x20'+_0x214077['reason']);try{const _0x444eca=await a0_0x9f149f['stat'](_0x29e2cb);if(_0x444eca[_0x1ec36f(0x76)]>this[_0x1ec36f(0xb0)])throw new Error('File\x20too\x20large:\x20'+_0x444eca[_0x1ec36f(0x76)]+_0x1ec36f(0xbf)+this[_0x1ec36f(0xb0)]+')');const _0x3dbb5f=await this[_0x1ec36f(0xad)](),_0x409171=await _0x3dbb5f[_0x1ec36f(0xf2)](_0x29e2cb,_0x5794b0),_0x222060={'file':this['directoryAccessManager']['createRelativePath'](_0x29e2cb,_0x3d12d2),'fullPath':_0x29e2cb,'action':_0x1ec36f(0x129),'critical':_0x409171['filter'](_0x41c381=>_0x41c381['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x409171['filter'](_0x109c68=>_0x109c68['severity']===STATIC_ANALYSIS[_0x1ec36f(0x123)][_0x1ec36f(0x10d)]),'warnings':_0x409171[_0x1ec36f(0xe6)](_0x464204=>_0x464204['severity']===STATIC_ANALYSIS['SEVERITY'][_0x1ec36f(0x94)]),'info':_0x409171[_0x1ec36f(0xe6)](_0x2d55ed=>_0x2d55ed[_0x1ec36f(0x97)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x409171[_0x1ec36f(0xd6)],'analyzed':!![],'validatorsUsed':_0x409171[_0x1ec36f(0x71)](_0x514fd2=>_0x514fd2['validator'])[_0x1ec36f(0xe6)]((_0xf14756,_0x78ce43,_0x4859f3)=>_0x4859f3[_0x1ec36f(0xa4)](_0xf14756)===_0x78ce43),'timestamp':new Date()['toISOString']()};return _0x222060;}catch(_0x3f2afa){throw new Error('Failed\x20to\x20validate\x20config\x20'+_0x591cc3+':\x20'+_0x3f2afa[_0x1ec36f(0x81)]);}}async[a0_0x5a46b9(0x95)](_0x4ae444,_0x134cd9,_0x266b3f,_0x1aceba={}){const _0x5927de=a0_0x5a46b9,_0xd14834=a0_0x239aa3['isAbsolute'](_0x4ae444)?a0_0x239aa3[_0x5927de(0x12b)](_0x4ae444):a0_0x239aa3[_0x5927de(0x112)](_0x134cd9,_0x4ae444),_0x71054a=this['directoryAccessManager'][_0x5927de(0xca)](_0xd14834,_0x266b3f);if(!_0x71054a[_0x5927de(0x141)])throw new Error('Read\x20access\x20denied:\x20'+_0x71054a['reason']);const _0x276a0c=await this[_0x5927de(0x77)](_0xd14834);if(_0x276a0c['length']>this['maxFilesPerBatch'])throw new Error(_0x5927de(0xc2)+_0x276a0c[_0x5927de(0xd6)]+'\x20(max\x20'+this['maxFilesPerBatch']+')');const _0x480a0e=[];for(const _0x5b32c8 of _0x276a0c){try{const _0x549dc7=await this['validateConfigFile'](_0x5b32c8,_0x134cd9,_0x266b3f,_0x1aceba);_0x549dc7&&_0x480a0e[_0x5927de(0xf5)](_0x549dc7);}catch(_0x423510){this[_0x5927de(0x131)]?.['warn']('Failed\x20to\x20validate\x20config\x20file',{'file':_0x5b32c8,'error':_0x423510[_0x5927de(0x81)]}),_0x480a0e[_0x5927de(0xf5)]({'file':this[_0x5927de(0x121)]['createRelativePath'](_0x5b32c8,_0x266b3f),'fullPath':_0x5b32c8,'error':_0x423510['message'],'success':![]});}}return _0x480a0e;}async[a0_0x5a46b9(0x77)](_0xeb81d7){const _0x4a18c5=a0_0x5a46b9,_0x258b5a=[],_0x529fa6=['package.json','tsconfig.json','Dockerfile','docker-compose.yml','docker-compose.yaml','.env',_0x4a18c5(0xab),_0x4a18c5(0x90),'.eslintrc.json',_0x4a18c5(0x78),_0x4a18c5(0xfa)],_0x1637ae=['.yml',_0x4a18c5(0x72),'.json',_0x4a18c5(0x10a),'.tfvars'],_0x2aa62d=async _0x5e41bc=>{const _0x16fc30=_0x4a18c5,_0x1fecf9=await a0_0x9f149f['readdir'](_0x5e41bc,{'withFileTypes':!![]});for(const _0x33ec84 of _0x1fecf9){const _0x35284c=a0_0x239aa3['join'](_0x5e41bc,_0x33ec84[_0x16fc30(0xde)]);if(_0x33ec84[_0x16fc30(0xc6)]()){if(_0x33ec84['name']==='.github'||_0x33ec84[_0x16fc30(0xde)]===_0x16fc30(0xd8)||_0x33ec84[_0x16fc30(0xde)]===_0x16fc30(0xbe)||_0x33ec84[_0x16fc30(0xde)]===_0x16fc30(0xce))await _0x2aa62d(_0x35284c);else{if(!['node_modules','.git','dist','build'][_0x16fc30(0x6f)](_0x33ec84['name']))continue;}}else{if(_0x33ec84['isFile']()){if(_0x529fa6[_0x16fc30(0x6f)](_0x33ec84['name']))_0x258b5a[_0x16fc30(0xf5)](_0x35284c);else{const _0x51bbbf=a0_0x239aa3['extname'](_0x33ec84['name'])[_0x16fc30(0x7e)]();if(_0x1637ae[_0x16fc30(0x6f)](_0x51bbbf)){const _0x35c183=a0_0x239aa3['basename'](a0_0x239aa3[_0x16fc30(0x67)](_0x35284c));(_0x35c183===_0x16fc30(0xd8)||_0x35c183===_0x16fc30(0xbe)||_0x35c183===_0x16fc30(0xce)||_0x35c183===_0x16fc30(0x128))&&_0x258b5a[_0x16fc30(0xf5)](_0x35284c);}}}}}};return await _0x2aa62d(_0xeb81d7),_0x258b5a;}[a0_0x5a46b9(0x73)](_0x10f26f){const _0x2483a3=a0_0x5a46b9,_0x33efef=a0_0x239aa3[_0x2483a3(0x106)](_0x10f26f)['toLowerCase']();return STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x33efef]||null;}async[a0_0x5a46b9(0x11d)](_0x1fabcb,_0x383d21){const _0x56bdb5=a0_0x5a46b9;try{if(_0x383d21===STATIC_ANALYSIS[_0x56bdb5(0xdb)]['JAVASCRIPT']||_0x383d21===STATIC_ANALYSIS['LANGUAGE'][_0x56bdb5(0xf4)])return await this['detectJSFramework'](_0x1fabcb);if(_0x383d21===STATIC_ANALYSIS['LANGUAGE'][_0x56bdb5(0xdd)])return await this[_0x56bdb5(0x13b)](_0x1fabcb);return null;}catch(_0x224129){return this[_0x56bdb5(0x131)]?.[_0x56bdb5(0xa9)](_0x56bdb5(0x101),{'error':_0x224129['message']}),null;}}async[a0_0x5a46b9(0x87)](_0x1a2a9a){const _0xb0f2b9=a0_0x5a46b9;try{const _0x54d60a=a0_0x239aa3[_0xb0f2b9(0xe7)](_0x1a2a9a,STATIC_ANALYSIS[_0xb0f2b9(0xcd)]['JAVASCRIPT']),_0x518ec1=await a0_0x9f149f[_0xb0f2b9(0x9c)](_0x54d60a,_0xb0f2b9(0x107)),_0x448fa4=JSON[_0xb0f2b9(0x6e)](_0x518ec1),_0x3093f2={..._0x448fa4[_0xb0f2b9(0x132)],..._0x448fa4[_0xb0f2b9(0xc1)]};for(const [_0x2c0785,_0x16eef9]of Object['entries'](STATIC_ANALYSIS['JS_FRAMEWORKS'])){if(_0x3093f2[_0x16eef9])return _0x2c0785[_0xb0f2b9(0x7e)]();}return null;}catch(_0xaf0fc){return null;}}async['detectPythonFramework'](_0x5246e9){const _0x4590a8=a0_0x5a46b9;try{const _0x4e508b=a0_0x239aa3['join'](_0x5246e9,STATIC_ANALYSIS[_0x4590a8(0xcd)][_0x4590a8(0xdd)]),_0x19efdc=await a0_0x9f149f['readFile'](_0x4e508b,'utf-8');for(const [_0x2f309f,_0x355e57]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x19efdc[_0x4590a8(0x7e)]()[_0x4590a8(0x6f)](_0x355e57))return _0x2f309f['toLowerCase']();}return null;}catch(_0x1cd775){try{const _0x131f2a=a0_0x239aa3[_0x4590a8(0xe7)](_0x5246e9,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x4590a8(0x10c)]),_0x19338e=await a0_0x9f149f['readFile'](_0x131f2a,_0x4590a8(0x107));for(const [_0x504d0d,_0x5e9e11]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x19338e['toLowerCase']()[_0x4590a8(0x6f)](_0x5e9e11))return _0x504d0d[_0x4590a8(0x7e)]();}}catch{}return null;}}async[a0_0x5a46b9(0x136)](_0x3df7d7,_0x1a7031){const _0x257e89=a0_0x5a46b9,_0x328e84=[],_0x25bf52=_0x1a7031||_0x257e89(0x113),_0x5173fd=_0x59250a=>{const _0x27398d=_0x257e89,_0x2be12a=[],_0x542f53=_0x59250a['match'](/\*\.\{([^}]+)\}/);if(_0x542f53){const _0x2c1693=_0x542f53[0x1]['split'](',')[_0x27398d(0x71)](_0xc9d662=>_0xc9d662['trim']());_0x2c1693['forEach'](_0x20f607=>_0x2be12a['push'](_0x20f607['startsWith']('.')?_0x20f607:'.'+_0x20f607));}else{const _0x12bc28=_0x59250a['match'](/\*\.([a-z]+)$/i);if(_0x12bc28){const _0x570a38=_0x12bc28[0x1];_0x2be12a['push'](_0x570a38[_0x27398d(0xc5)]('.')?_0x570a38:'.'+_0x570a38);}}if(_0x2be12a[_0x27398d(0xd6)]===0x0)return null;return _0x2be12a;},_0x13f12b=_0x5173fd(_0x25bf52),_0x5a1835=async _0x49c43b=>{const _0xcdb98c=_0x257e89,_0x6a9a49=await a0_0x9f149f['readdir'](_0x49c43b,{'withFileTypes':!![]});for(const _0x2f2e4d of _0x6a9a49){const _0x268ad4=a0_0x239aa3[_0xcdb98c(0xe7)](_0x49c43b,_0x2f2e4d[_0xcdb98c(0xde)]);if(_0x2f2e4d['isDirectory']())!['node_modules',_0xcdb98c(0xe2),'dist','build',_0xcdb98c(0xee),_0xcdb98c(0x140),'venv'][_0xcdb98c(0x6f)](_0x2f2e4d[_0xcdb98c(0xde)])&&await _0x5a1835(_0x268ad4);else{if(_0x2f2e4d[_0xcdb98c(0xa2)]()){const _0x5af4be=a0_0x239aa3['extname'](_0x2f2e4d['name'])[_0xcdb98c(0x7e)]();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x5af4be]&&((_0x13f12b===null||_0x13f12b[_0xcdb98c(0x6f)](_0x5af4be))&&_0x328e84[_0xcdb98c(0xf5)](_0x268ad4));}}}};return await _0x5a1835(_0x3df7d7),_0x328e84;}async['getAnalyzer'](_0x4d9e30){const _0x542ea2=a0_0x5a46b9;try{if(_0x4d9e30===STATIC_ANALYSIS[_0x542ea2(0xdb)][_0x542ea2(0x7b)]){if(!this['analyzers']['javascript']){const {default:_0xc7be0e}=await import('../analyzers/JavaScriptAnalyzer.js');this[_0x542ea2(0x119)]['javascript']=new _0xc7be0e(this[_0x542ea2(0x131)]);}return this[_0x542ea2(0x119)]['javascript'];}if(_0x4d9e30===STATIC_ANALYSIS['LANGUAGE'][_0x542ea2(0xf4)]){if(!this['analyzers']['typescript']){const {default:_0x14bd81}=await import(_0x542ea2(0x8f));this['analyzers']['typescript']=new _0x14bd81(this['logger']);}return this[_0x542ea2(0x119)][_0x542ea2(0xc4)];}if(_0x4d9e30===STATIC_ANALYSIS[_0x542ea2(0xdb)][_0x542ea2(0xdd)]){if(!this[_0x542ea2(0x119)]['python']){const {default:_0x15f9bb}=await import('../analyzers/PythonAnalyzer.js');this['analyzers']['python']=new _0x15f9bb(this['logger']);}return this['analyzers'][_0x542ea2(0x8b)];}if(_0x4d9e30===STATIC_ANALYSIS['LANGUAGE']['CSS']||_0x4d9e30===STATIC_ANALYSIS['LANGUAGE'][_0x542ea2(0x74)]||_0x4d9e30===STATIC_ANALYSIS[_0x542ea2(0xdb)][_0x542ea2(0x96)]){if(!this[_0x542ea2(0x119)][_0x542ea2(0x11c)]){const {default:_0x36f896}=await import('../analyzers/CSSAnalyzer.js');this['analyzers']['css']=new _0x36f896(this['logger']);}return this[_0x542ea2(0x119)]['css'];}return null;}catch(_0x2bdc82){return this['logger']?.[_0x542ea2(0x10b)]('Failed\x20to\x20load\x20analyzer',{'language':_0x4d9e30,'error':_0x2bdc82['message']}),null;}}async['getESLintAnalyzer'](){const _0x94be25=a0_0x5a46b9;if(!this['analyzers'][_0x94be25(0xcb)]){const {default:_0x5d1089}=await import(_0x94be25(0x68));this[_0x94be25(0x119)][_0x94be25(0xcb)]=new _0x5d1089(this[_0x94be25(0x131)]);}return this[_0x94be25(0x119)]['eslint'];}async[a0_0x5a46b9(0xa5)](){const _0x1810e6=a0_0x5a46b9;if(!this[_0x1810e6(0xd3)][_0x1810e6(0x118)]){const {default:_0x26d9cc}=await import('../analyzers/PrettierFormatter.js');this['formatters'][_0x1810e6(0x118)]=new _0x26d9cc(this['logger']);}return this[_0x1810e6(0xd3)]['prettier'];}async['getSecurityAnalyzer'](){const _0x466d8d=a0_0x5a46b9;if(!this[_0x466d8d(0x119)]['security']){const {default:_0x4fe519}=await import(_0x466d8d(0x125));this[_0x466d8d(0x119)][_0x466d8d(0x70)]=new _0x4fe519(this[_0x466d8d(0x131)]);}return this[_0x466d8d(0x119)]['security'];}async['getConfigValidator'](){const _0x5e29bd=a0_0x5a46b9;if(!this[_0x5e29bd(0x119)]['config']){const {default:_0x3d4135}=await import('../analyzers/ConfigValidator.js');this[_0x5e29bd(0x119)]['config']=new _0x3d4135(this[_0x5e29bd(0x131)]);}return this[_0x5e29bd(0x119)][_0x5e29bd(0x13c)];}[a0_0x5a46b9(0xe3)](_0x2ac380,_0x368116){const _0x28a6cc=a0_0x5a46b9;if(_0x368116['analyzed']){_0x2ac380['totalFiles']++;const _0x3bee5c=_0x368116[_0x28a6cc(0xcc)]?.[_0x28a6cc(0xd6)]||0x0,_0x8ef7dd=_0x368116['errors']?.[_0x28a6cc(0xd6)]||0x0,_0x43e51c=_0x368116['warnings']?.['length']||0x0,_0x47f458=_0x368116['info']?.['length']||0x0;_0x2ac380[_0x28a6cc(0x13a)]===undefined&&(_0x2ac380['totalCritical']=0x0);_0x2ac380['totalCritical']+=_0x3bee5c,_0x2ac380[_0x28a6cc(0x12a)]+=_0x8ef7dd,_0x2ac380['totalWarnings']+=_0x43e51c,_0x2ac380['totalInfo']+=_0x47f458;(_0x3bee5c>0x0||_0x8ef7dd>0x0)&&_0x2ac380[_0x28a6cc(0x135)]++;_0x368116[_0x28a6cc(0xec)]&&(_0x2ac380['filesByLanguage'][_0x368116[_0x28a6cc(0xec)]]=(_0x2ac380[_0x28a6cc(0xf7)][_0x368116[_0x28a6cc(0xec)]]||0x0)+0x1);const _0x3be6be=[..._0x368116['critical']||[],..._0x368116['errors']||[],..._0x368116['warnings']||[]];for(const _0x2e200b of _0x3be6be){_0x2e200b[_0x28a6cc(0xf1)]&&(_0x2ac380[_0x28a6cc(0xdf)][_0x2e200b['category']]=(_0x2ac380[_0x28a6cc(0xdf)][_0x2e200b['category']]||0x0)+0x1);}}}['computeContentHash'](_0x10973b){const _0x21367d=a0_0x5a46b9;return a0_0x28f0ae[_0x21367d(0xa7)]('sha256')[_0x21367d(0x66)](_0x10973b)['digest']('hex')[_0x21367d(0xe1)](0x0,0x10);}['getPerformanceMetrics'](){const _0x514776=a0_0x5a46b9,_0xc0377e=this[_0x514776(0x9f)]['totalAnalyses']>0x0?this[_0x514776(0x9f)][_0x514776(0xd5)]/this['metrics'][_0x514776(0xf9)]*0x64:0x0,_0x4a4133=this['metrics']['filesAnalyzed']>0x0?this['metrics'][_0x514776(0x127)]/this[_0x514776(0x9f)]['filesAnalyzed']:0x0;return{...this['metrics'],'cacheHitRate':Math['round'](_0xc0377e*0xa)/0xa,'averageAnalysisTime':Math[_0x514776(0x75)](_0x4a4133),'cacheSize':this['analysisCache']['size']};}['resetPerformanceMetrics'](){const _0x2d4c5a=a0_0x5a46b9;this[_0x2d4c5a(0x9f)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}[a0_0x5a46b9(0x109)](){const _0x2fe716=a0_0x5a46b9;this['analysisCache']['clear'](),this[_0x2fe716(0x131)]?.['debug'](_0x2fe716(0xac));}['getSupportedActions'](){const _0x2599db=a0_0x5a46b9;return['analyze','analyze-project','fix','format','security-scan',_0x2599db(0xda),'validate-config','validate-config-directory'];}[a0_0x5a46b9(0xdc)](){const _0x422047=a0_0x5a46b9;return{'type':_0x422047(0xd9),'properties':{'actions':{'type':_0x422047(0x79),'minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this[_0x422047(0xbd)]()},'filePath':{'type':'string'},'directory':{'type':_0x422047(0x137)},'pattern':{'type':_0x422047(0x137)},'includeWarnings':{'type':_0x422047(0x12d)},'maxErrors':{'type':'number'}},'required':[_0x422047(0xae)]}}},'required':[_0x422047(0x110)]};}}export default StaticAnalysisTool;
1
+ function a0_0x5a9a(_0x871805,_0x41e332){_0x871805=_0x871805-0xe6;const _0x1894b7=a0_0x1894();let _0x5a9a2=_0x1894b7[_0x871805];if(a0_0x5a9a['YjmeVg']===undefined){var _0x231d23=function(_0x868d47){const _0xc21328='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1461e6='',_0x52db54='';for(let _0xa7c7dc=0x0,_0x34daa3,_0x51307e,_0x3bdfb9=0x0;_0x51307e=_0x868d47['charAt'](_0x3bdfb9++);~_0x51307e&&(_0x34daa3=_0xa7c7dc%0x4?_0x34daa3*0x40+_0x51307e:_0x51307e,_0xa7c7dc++%0x4)?_0x1461e6+=String['fromCharCode'](0xff&_0x34daa3>>(-0x2*_0xa7c7dc&0x6)):0x0){_0x51307e=_0xc21328['indexOf'](_0x51307e);}for(let _0x4d9003=0x0,_0x2abd43=_0x1461e6['length'];_0x4d9003<_0x2abd43;_0x4d9003++){_0x52db54+='%'+('00'+_0x1461e6['charCodeAt'](_0x4d9003)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52db54);};a0_0x5a9a['SVYIsI']=_0x231d23,a0_0x5a9a['euYOAn']={},a0_0x5a9a['YjmeVg']=!![];}const _0x1bb687=_0x1894b7[0x0],_0x156408=_0x871805+_0x1bb687,_0x5a7e53=a0_0x5a9a['euYOAn'][_0x156408];return!_0x5a7e53?(_0x5a9a2=a0_0x5a9a['SVYIsI'](_0x5a9a2),a0_0x5a9a['euYOAn'][_0x156408]=_0x5a9a2):_0x5a9a2=_0x5a7e53,_0x5a9a2;}const a0_0x2c6d5a=a0_0x5a9a;(function(_0x21a2de,_0x4cd188){const _0x693aeb=a0_0x5a9a,_0x190688=_0x21a2de();while(!![]){try{const _0x124b3f=-parseInt(_0x693aeb(0x1b9))/0x1*(-parseInt(_0x693aeb(0x10d))/0x2)+parseInt(_0x693aeb(0x1ba))/0x3+-parseInt(_0x693aeb(0x150))/0x4*(parseInt(_0x693aeb(0x122))/0x5)+parseInt(_0x693aeb(0xfb))/0x6+parseInt(_0x693aeb(0x143))/0x7*(parseInt(_0x693aeb(0x11d))/0x8)+-parseInt(_0x693aeb(0x104))/0x9*(-parseInt(_0x693aeb(0xfc))/0xa)+-parseInt(_0x693aeb(0x191))/0xb;if(_0x124b3f===_0x4cd188)break;else _0x190688['push'](_0x190688['shift']());}catch(_0x4cb8ed){_0x190688['push'](_0x190688['shift']());}}}(a0_0x1894,0x7dee0));import{BaseTool}from'./baseTool.js';import a0_0x1461e6 from'../utilities/tagParser.js';import a0_0x52db54 from'../utilities/directoryAccessManager.js';import a0_0xa7c7dc from'fs/promises';import a0_0x34daa3 from'path';function a0_0x1894(){const _0x5e9d82=['y2HHBMDLCW','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','lMvZBgLUDhjJlMPZB24','BgLUzxndAgfUz2vK','rvHuru5tsu9ox1rpx0XbtKDvquDf','z2v0q29UzMLNvMfSAwrHDg9Y','ugfYC2vKifn0yxrPy0fUywX5C2LZihrVB2WGCgfYyw1LDgvYCW','zxjYB3i','DMfSAwrHDgvdB25MAwDgAwXL','C2v0','v3jPDguGywnJzxnZigrLBMLLzdOG','icHTyxGG','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','Bg9Nz2vY','D2fYBMLUz3m','zxnSAw50','uMvHzcbHy2nLC3mGzgvUAwvKoIa','yw5HBhL6zuzPBgu','Dg90ywXbBMfSExnLCW','Dg9mB3DLCKnHC2u','z2v0vgLTzq','BgfUz3vHz2u','nJi5nZu5q0rQwezw','mtmZntK2t2zXB3nw','BgvUz3rO','AxntDxbWB3j0zwq','zM9YBwf0DgvK','rMfPBgvKihrVigzVCM1HDca','Cgf0DgvYBG','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','y2fJAgviAxrZ','lNLHBwW','zMLSDgvY','DgLTzw91Da','AMf2yxnJCMLWDa','rMfPBgvKihrVigzPEca','BwvZC2fNzq','Dw5RBM93BG','D3jPDguTzMLSzq','C3vIC3rYAw5N','z2v0uhjLDhrPzxjgB3jTyxr0zxi','zML4zwq','lMvUDG','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','yw5HBhL6zwq','lMDPDgH1yG','C2XPy2u','v0fstKLorW','ChjLDhrPzxi','zgv0zwn0rNjHBwv3B3jR','CMf3q29UDgvUDa','AM9PBG','zxHLyW','vfLqrvnduKLqva','C2vJDxjPDhLty2fUuhjVAMvJDa','qu5btfLtsvnFveLnru9vva','CMvHzgrPCG','BwfW','ntG4mJa0rgPLAuzj','nZbHt010sNi','DMfSAwrHDguTy29UzMLN','ChL0Ag9U','lMvZBgLUDhjJlMPZ','zxH0BMfTzq','yw5HBhL6zxjZ','rMfPBgvKihrVigXVywqGyw5HBhL6zxi','ufLuse9o','nZiXmtK3BMDhDKT1','x19WEwnHy2HLx18','q1nt','BM93','zML4','vg9Vig1HBNKGy29UzMLNigzPBgvZoIa','DMfSAwrHDgvszwfKqwnJzxnZ','CM91BMq','Bwf4lwvYCM9YCW','mKnRAKjRuG','CgfYC2vbDhrYAwj1DgvZ','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','zML4zwrdB3vUDa','rvjst1i','zM9YBwf0rMLSzq','su5gtW','C2TPCc10zxn0lwzPBgvZ','qw5HBhL6Aw5NigjHDgnO','yw5HBhLZAxndywnOzq','lI4Vyw5HBhL6zxjZl0PHDMfty3jPChrbBMfSExPLCI5QCW','u0vwrvjjvfK','Aw5JBhvKzs13yxjUAw5NCW','CMvTywLUAw5NrxjYB3jZ','z2v0ugfYyw1LDgvYu2nOzw1H','CMvHzezPBgu','mtmZnJe2EgzcAg9A','zMLSzvbHDgG','lMDPDa','rMfPBgvKihrVihbHCNnLihn0yxrPyYbHBMfSExnPCYbWyxjHBwv0zxjZoIa','zML4rMLSzq','nJbVugDzA0W','Dhj1zq','zgLZDa','CMvZB2X2zq','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','D29YA2zSB3DZ','y3DK','B2jQzwn0','lNzLBNy','BM9Kzv9TB2r1BgvZ','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4TChjVAMvJDa','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','q1jjveLdquW','z2v0rvnmAw50qw5HBhL6zxi','CMvHC29U','Bwv0CMLJCW','Aw5KzxHpzG','zM9YrwfJAa','ufLuse9ox0zsqu1fv09ss1m','ywn0Aw9UCW','zM9YBwf0DgvYCW','lNrM','z2v0u2vJDxjPDhLbBMfSExPLCG','yw5HBhL6zs1WCM9Qzwn0','rMLSzsbMAxHLzcbHBMqGD3jPDhrLBG','yMfZzw5HBwu','zMLUzenVBMzPz0zPBgvZ','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4G','zMLSzs1WyxrO','u3rHDgLJigfUywX5C2LZigfJDgLVBIbMywLSzwq','DhLWzq','zgLYzwn0B3j5','Bwf4rMLSzxnqzxjcyxrJAa','mZvxsuPmweC','tefor1vbr0u','ChvZAa','Bwf4ugfYywXSzwXgAwXLCW','yw5HBhL6zvbYB2PLy3q','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','Dg90ywXbBMfSExnPC1rPBwu','C3rYAw5N','C2nHBM5LCG','DMfSAwrHDgu','AxneAxjLy3rVCNK','zw5HyMXLq2fJAgu','C2L6zq','ntK2mJbXvejrsgy','y29UDgvUDa','Dg9ju09tDhjPBMC','CgfJA2fNzs5QC29U','Aw5JBhvKzvDHCM5PBMDZ','lMvUDI5LEgfTCgXL','y3jPDgLJywW','Dhj1BMnHDgvK','zMLSzxncEuXHBMD1ywDL','lNbYzxr0AwvYCMmUANnVBG','lMPZB24','DxbKyxrLu3vTBwfYEq','igj5DgvZicHTyxGG','zgLNzxn0','lNbYzxr0AwvYCMm','C2vJDxjPDhKTC2nHBG','zMLSzxm','D2fYBG','Aw5JBhvKzxm','y3jLyxrLuMvSyxrPDMvqyxrO','AZHZ','yw5HBhL6zq','DhnJB25MAwCUANnVBG','rNjHBwv3B3jRigrLDgvJDgLVBIbMywLSzwq','zxjYB3jZ','y3nZ','DhjPBq','yxjYyxK','zg9JA2vYlwnVBxbVC2uUEwfTBa','y29TCgXLDgvK','zMXVB3i','rg9JA2vYzMLSzq','B25qCM9NCMvZCW','DxrMltG','DgvYCMfMB3jT','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5Fq','Aw5MBW','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','Bwf4rxjYB3jZ','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4','CgfYC2vqyxjHBwv0zxjZ','qwn0Aw9Uia','oIb0ExbLigLZihjLCxvPCMvK','C2vJDxjPDhLty2fUrMLSzq','ywXSB3DLza','DxnLq29UDgvUDeHHC2G','zMLUzezPBgvZ','CgfYC2u','zw50CMLLCW','D3jPDgvgAwXL','CgfYywXSzwXbBMfSExnPCW','C2v2zxjPDhK','BM9YBwfSAxPL','u2vJDxjPDhKGC2nHBM5PBMCGB25SEsbZDxbWB3j0CYbkyxzHu2nYAxb0lcbuExbLu2nYAxb0lcbHBMqGuhL0Ag9UigzPBgvZ','zgvWzw5Kzw5JAwvZ','CMvZDwX0','Agv4','C2TPCfrLC3rgAwXLCW','zgv0zwn0tgfUz3vHz2u','ywXS','zMLSzxnbBMfSExPLza','lI4Vyw5HBhL6zxjZl1r5Cgvty3jPChrbBMfSExPLCI5QCW','zgvIDwC','zgv0zwn0sLngCMfTzxDVCMS','AxnbyNnVBhv0zq','nZK0mZa3ofjqvxfYqG','y29UzMLN','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','y2f0zwDVCNK','C3rHDa','sKfwqvnduKLqva','rLjbtuvxt1jlx01btKLgrvnuuW','DMvUDG','rMLSzsb0B28GBgfYz2u6ia','y2XLyxjdywnOzq','AxnbC3LUyW','BMfTzq','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5lgnZCYXZy3nZlhnHC3mSBgvZC30','Dg90ywXdCML0AwnHBa','q0fdsevFrfvsqvrjt04','zM9YBwf0','Bwf4rMLSzvnPEMu','C3vTBwfYEq'];a0_0x1894=function(){return _0x5e9d82;};return a0_0x1894();}import a0_0x51307e from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x3bdfb9={},_0x4d9003=null){const _0x1d1835=a0_0x5a9a;super(_0x3bdfb9,_0x4d9003),this['requiresProject']=!![],this[_0x1d1835(0x19b)]=![],this['timeout']=_0x3bdfb9[_0x1d1835(0x1c6)]||STATIC_ANALYSIS[_0x1d1835(0xf8)],this[_0x1d1835(0x1c1)]=_0x3bdfb9[_0x1d1835(0x1c1)]||0x1,this[_0x1d1835(0x1a1)]=_0x3bdfb9[_0x1d1835(0x1a1)]||STATIC_ANALYSIS['MAX_FILE_SIZE_FOR_ANALYSIS'],this['maxFilesPerBatch']=_0x3bdfb9['maxFilesPerBatch']||STATIC_ANALYSIS['MAX_FILES_PER_BATCH'],this[_0x1d1835(0x14e)]=_0x3bdfb9['enableCache']!==![]&&STATIC_ANALYSIS['ENABLE_CACHE'],this[_0x1d1835(0x116)]=new Map(),this['cacheExpiry']=STATIC_ANALYSIS[_0x1d1835(0x19f)],this[_0x1d1835(0x182)]=_0x3bdfb9[_0x1d1835(0x182)]!==![],this[_0x1d1835(0x146)]=_0x3bdfb9['maxParallelFiles']||0xa,this['useContentHash']=_0x3bdfb9['useContentHash']!==![],this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x1d1835(0x1a4)]=new a0_0x52db54(_0x3bdfb9,_0x4d9003),this['analyzers']={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}['getDescription'](){const _0x3a7205=a0_0x5a9a;return'\x0aStatic\x20Code\x20Analysis\x20Tool:\x20Analyze\x20code\x20files\x20for\x20errors\x20without\x20execution\x0a\x0aThis\x20tool\x20performs\x20static\x20analysis\x20on\x20code\x20files\x20to\x20find\x20syntax\x20errors,\x20type\x20errors,\x20import\x20issues,\x20and\x20other\x20problems\x20without\x20running\x20the\x20code.\x20It\x20uses\x20official\x20language\x20parsers\x20for\x20accurate\x20results.\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Python\x20(.py)\x0a-\x20CSS\x20(.css)\x0a-\x20SCSS\x20(.scss,\x20.sass)\x0a-\x20LESS\x20(.less)\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze\x22,\x0a\x20\x20\x20\x20\x20\x20\x22filePath\x22:\x20\x22src/index.js\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze-project\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22pattern\x22:\x20\x22**/*.{js,ts,py}\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aACTION\x20TYPES:\x0a-\x20analyze:\x20Analyze\x20a\x20single\x20file\x0a-\x20analyze-project:\x20Analyze\x20all\x20files\x20in\x20a\x20directory\x0a-\x20fix:\x20Auto-fix\x20code\x20issues\x0a-\x20format:\x20Format\x20code\x20with\x20Prettier\x0a-\x20security-scan:\x20Scan\x20for\x20security\x20vulnerabilities\x0a-\x20security-scan-project:\x20Scan\x20entire\x20project\x20for\x20security\x20issues\x0a-\x20validate-config:\x20Validate\x20configuration\x20files\x0a-\x20validate-config-directory:\x20Validate\x20all\x20config\x20files\x20in\x20directory\x0a\x0aPARAMETERS:\x0a-\x20filePath:\x20Path\x20to\x20file\x20to\x20analyze\x20(for\x20single\x20file\x20actions)\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(for\x20project-wide\x20actions)\x0a-\x20pattern:\x20Glob\x20pattern\x20for\x20files\x20to\x20include\x20(optional)\x0a-\x20includeWarnings:\x20Include\x20warnings\x20in\x20results\x20(true/false,\x20default:\x20true)\x0a-\x20maxErrors:\x20Maximum\x20number\x20of\x20errors\x20to\x20return\x20(default:\x20all)\x0a-\x20writeFile:\x20Write\x20fixed/formatted\x20content\x20back\x20to\x20file\x20(for\x20fix/format\x20actions)\x0a\x0aEXAMPLES:\x0a\x0a1.\x20Analyze\x20a\x20single\x20JavaScript\x20file:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22analyze\x22,\x20\x22filePath\x22:\x20\x22src/app.js\x22\x20}]\x0a}\x0a```\x0a\x0a2.\x20Analyze\x20all\x20files\x20in\x20a\x20directory:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22analyze-project\x22,\x20\x22directory\x22:\x20\x22src\x22,\x20\x22pattern\x22:\x20\x22**/*.js\x22\x20}]\x0a}\x0a```\x0a\x0a3.\x20Auto-fix\x20code\x20issues:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22fix\x22,\x20\x22filePath\x22:\x20\x22src/app.js\x22,\x20\x22writeFile\x22:\x20true\x20}]\x0a}\x0a```\x0a\x0a4.\x20Security\x20scan\x20a\x20project:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22security-scan-project\x22,\x20\x22directory\x22:\x20\x22src\x22\x20}]\x0a}\x0a```\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20structured\x20error\x20information\x20with:\x20file,\x20line,\x20column,\x20severity,\x20rule,\x20message,\x20category,\x20fixable,\x20suggestion\x0a\x0aLIMITATIONS:\x0a-\x20File\x20size\x20limit:\x20'+Math['round'](this[_0x3a7205(0x1a1)]/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this[_0x3a7205(0x142)]+'\x20files\x20per\x20operation\x0a-\x20Analysis\x20timeout:\x20'+this[_0x3a7205(0x1c6)]/0x3e8+'\x20seconds\x0a\x20\x20\x20\x20';}[a0_0x2c6d5a(0x178)](_0x2abd43){const _0x20f8da=a0_0x2c6d5a;try{const _0x2bfa04={},_0x470181=[];this['logger']?.[_0x20f8da(0x18e)]('StaticAnalysis\x20tool\x20parsing\x20parameters',{'contentLength':_0x2abd43['length'],'contentPreview':_0x2abd43[_0x20f8da(0xe8)](0x0,0xc8)});const _0x50dfdc=/<analyze\s+(.+?)\/>/g;let _0x238332;while((_0x238332=_0x50dfdc['exec'](_0x2abd43))!==null){const _0x43c868=_0x238332[0x1]['trim'](),_0x3b4e58=new a0_0x1461e6(),_0x1dec04=_0x3b4e58[_0x20f8da(0x10e)](_0x43c868),_0x21a68c={'type':_0x20f8da(0x165),..._0x1dec04};_0x21a68c[_0x20f8da(0x13e)]&&(_0x21a68c['filePath']=_0x21a68c[_0x20f8da(0x13e)],delete _0x21a68c[_0x20f8da(0x13e)]),_0x21a68c['include-warnings']&&(_0x21a68c['includeWarnings']=_0x21a68c[_0x20f8da(0x119)]===_0x20f8da(0x123),delete _0x21a68c[_0x20f8da(0x119)]),_0x21a68c['max-errors']&&(_0x21a68c[_0x20f8da(0x176)]=parseInt(_0x21a68c['max-errors'],0xa),delete _0x21a68c['max-errors']),_0x470181[_0x20f8da(0x145)](_0x21a68c);}const _0x26aede=/<analyze-project\s+(.+?)\/>/g;while((_0x238332=_0x26aede[_0x20f8da(0xf5)](_0x2abd43))!==null){const _0xc6a6eb=_0x238332[0x1][_0x20f8da(0x16a)](),_0x4b6cf8=new a0_0x1461e6(),_0x23d1f7=_0x4b6cf8[_0x20f8da(0x10e)](_0xc6a6eb),_0x483a5b={'type':'analyze-project',..._0x23d1f7};_0x483a5b['include-warnings']&&(_0x483a5b[_0x20f8da(0x154)]=_0x483a5b[_0x20f8da(0x119)]===_0x20f8da(0x123),delete _0x483a5b[_0x20f8da(0x119)]),_0x483a5b['max-errors']&&(_0x483a5b[_0x20f8da(0x176)]=parseInt(_0x483a5b['max-errors'],0xa),delete _0x483a5b[_0x20f8da(0x10c)]),_0x470181['push'](_0x483a5b);}const _0x241fff=/<fix\s+(.+?)\/>/g;while((_0x238332=_0x241fff[_0x20f8da(0xf5)](_0x2abd43))!==null){const _0x42f51b=_0x238332[0x1][_0x20f8da(0x16a)](),_0x42a65f=new a0_0x1461e6(),_0x22da16=_0x42a65f[_0x20f8da(0x10e)](_0x42f51b),_0x22bc0d={'type':'fix',..._0x22da16};_0x22bc0d[_0x20f8da(0x13e)]&&(_0x22bc0d[_0x20f8da(0x11e)]=_0x22bc0d['file-path'],delete _0x22bc0d[_0x20f8da(0x13e)]),_0x22bc0d[_0x20f8da(0xe7)]&&(_0x22bc0d['writeFile']=_0x22bc0d[_0x20f8da(0xe7)]===_0x20f8da(0x123),delete _0x22bc0d['write-file']),_0x470181[_0x20f8da(0x145)](_0x22bc0d);}const _0x519553=/<format\s+(.+?)\/>/g;while((_0x238332=_0x519553['exec'](_0x2abd43))!==null){const _0x110772=_0x238332[0x1][_0x20f8da(0x16a)](),_0x14c69f=new a0_0x1461e6(),_0x185f0b=_0x14c69f['parseAttributes'](_0x110772),_0x35a028={'type':_0x20f8da(0x1a0),..._0x185f0b};_0x35a028['file-path']&&(_0x35a028[_0x20f8da(0x11e)]=_0x35a028['file-path'],delete _0x35a028['file-path']),_0x35a028['write-file']&&(_0x35a028['writeFile']=_0x35a028['write-file']==='true',delete _0x35a028[_0x20f8da(0xe7)]),_0x470181[_0x20f8da(0x145)](_0x35a028);}const _0x45f332=/<security-scan\s+(.+?)\/>/g;while((_0x238332=_0x45f332['exec'](_0x2abd43))!==null){const _0x11cd8c=_0x238332[0x1][_0x20f8da(0x16a)](),_0x8c3d1c=new a0_0x1461e6(),_0x4234f6=_0x8c3d1c['parseAttributes'](_0x11cd8c),_0xc3ae1={'type':_0x20f8da(0x15f),..._0x4234f6};_0xc3ae1[_0x20f8da(0x13e)]&&(_0xc3ae1['filePath']=_0xc3ae1[_0x20f8da(0x13e)],delete _0xc3ae1['file-path']),_0xc3ae1[_0x20f8da(0x114)]&&(_0xc3ae1['skipTestFiles']=_0xc3ae1['skip-test-files']===_0x20f8da(0x123),delete _0xc3ae1['skip-test-files']),_0x470181[_0x20f8da(0x145)](_0xc3ae1);}const _0x43c99f=/<security-scan-project\s+(.+?)\/>/g;while((_0x238332=_0x43c99f['exec'](_0x2abd43))!==null){const _0xea0004=_0x238332[0x1]['trim'](),_0x350f2e=new a0_0x1461e6(),_0x1cef3d=_0x350f2e['parseAttributes'](_0xea0004),_0x384f51={'type':'security-scan-project',..._0x1cef3d};_0x384f51['skip-test-files']&&(_0x384f51[_0x20f8da(0x189)]=_0x384f51['skip-test-files']==='true',delete _0x384f51['skip-test-files']),_0x470181[_0x20f8da(0x145)](_0x384f51);}const _0x1a6278=/<validate-config\s+(.+?)\/>/g;while((_0x238332=_0x1a6278['exec'](_0x2abd43))!==null){const _0xe587b=_0x238332[0x1][_0x20f8da(0x16a)](),_0x36edec=new a0_0x1461e6(),_0x58186c=_0x36edec[_0x20f8da(0x10e)](_0xe587b),_0x551871={'type':_0x20f8da(0xfd),..._0x58186c};_0x551871[_0x20f8da(0x13e)]&&(_0x551871['filePath']=_0x551871[_0x20f8da(0x13e)],delete _0x551871['file-path']),_0x470181[_0x20f8da(0x145)](_0x551871);}const _0x24a035=/<validate-config-directory\s+(.+?)\/>/g;while((_0x238332=_0x24a035['exec'](_0x2abd43))!==null){const _0x177273=_0x238332[0x1][_0x20f8da(0x16a)](),_0x3ed538=new a0_0x1461e6(),_0x47195a=_0x3ed538['parseAttributes'](_0x177273),_0x5d7556={'type':_0x20f8da(0x10f),..._0x47195a};_0x470181['push'](_0x5d7556);}return _0x2bfa04['actions']=_0x470181,_0x2bfa04[_0x20f8da(0xf3)]=_0x2abd43[_0x20f8da(0x16a)](),this[_0x20f8da(0x1b0)]?.[_0x20f8da(0x18e)](_0x20f8da(0x1a9),{'totalActions':_0x470181[_0x20f8da(0x1bb)],'actionTypes':_0x470181['map'](_0x1703ce=>_0x1703ce['type'])}),_0x2bfa04;}catch(_0x362a09){throw new Error(_0x20f8da(0x120)+_0x362a09[_0x20f8da(0x1c9)]);}}['getRequiredParameters'](){const _0xfcf34b=a0_0x2c6d5a;return[_0xfcf34b(0x135)];}['customValidateParameters'](_0x58569f){const _0x42bd69=a0_0x2c6d5a,_0x587736=[];if(!_0x58569f['actions']||!Array['isArray'](_0x58569f['actions'])||_0x58569f[_0x42bd69(0x135)]['length']===0x0)_0x587736['push'](_0x42bd69(0x12d));else{for(const [_0x2e5989,_0x5e0c5c]of _0x58569f['actions'][_0x42bd69(0x180)]()){if(!_0x5e0c5c['type']){_0x587736[_0x42bd69(0x145)]('Action\x20'+(_0x2e5989+0x1)+_0x42bd69(0x17a));continue;}switch(_0x5e0c5c['type']){case'analyze':!_0x5e0c5c[_0x42bd69(0x11e)]&&_0x587736['push'](_0x42bd69(0x179)+(_0x2e5989+0x1)+':\x20file-path\x20is\x20required\x20for\x20analyze');break;case _0x42bd69(0x139):!_0x5e0c5c[_0x42bd69(0x141)]&&_0x587736['push'](_0x42bd69(0x179)+(_0x2e5989+0x1)+':\x20directory\x20is\x20required\x20for\x20analyze-project');break;case _0x42bd69(0x108):!_0x5e0c5c['filePath']&&_0x587736['push']('Action\x20'+(_0x2e5989+0x1)+':\x20file-path\x20is\x20required\x20for\x20fix');break;case'format':!_0x5e0c5c[_0x42bd69(0x11e)]&&_0x587736[_0x42bd69(0x145)](_0x42bd69(0x179)+(_0x2e5989+0x1)+':\x20file-path\x20is\x20required\x20for\x20format');break;case _0x42bd69(0x15f):!_0x5e0c5c[_0x42bd69(0x11e)]&&_0x587736['push'](_0x42bd69(0x179)+(_0x2e5989+0x1)+_0x42bd69(0x177));break;case _0x42bd69(0x148):!_0x5e0c5c[_0x42bd69(0x141)]&&_0x587736['push']('Action\x20'+(_0x2e5989+0x1)+_0x42bd69(0x12c));break;case _0x42bd69(0xfd):!_0x5e0c5c[_0x42bd69(0x11e)]&&_0x587736[_0x42bd69(0x145)](_0x42bd69(0x179)+(_0x2e5989+0x1)+_0x42bd69(0xec));break;case'validate-config-directory':!_0x5e0c5c['directory']&&_0x587736[_0x42bd69(0x145)](_0x42bd69(0x179)+(_0x2e5989+0x1)+':\x20directory\x20is\x20required\x20for\x20validate-config-directory');break;default:_0x587736['push'](_0x42bd69(0x179)+(_0x2e5989+0x1)+_0x42bd69(0x1c0)+_0x5e0c5c[_0x42bd69(0x140)]);}}_0x58569f['actions']['length']>this[_0x42bd69(0x142)]&&_0x587736['push']('Too\x20many\x20actions:\x20'+_0x58569f[_0x42bd69(0x135)][_0x42bd69(0x1bb)]+'\x20(max\x20'+this[_0x42bd69(0x142)]+')');}return{'valid':_0x587736[_0x42bd69(0x1bb)]===0x0,'errors':_0x587736};}async['execute'](_0x357a39,_0x558153){const _0x1303bc=a0_0x2c6d5a,{actions:_0x539e01}=_0x357a39,{projectDir:_0x44c2bd,agentId:_0x5ade0e,directoryAccess:_0x4c00dc}=_0x558153,_0xeedffd=_0x4c00dc||this[_0x1303bc(0x1a4)]['createDirectoryAccess']({'workingDirectory':_0x44c2bd||process['cwd'](),'writeEnabledDirectories':[_0x44c2bd||process[_0x1303bc(0x128)]()],'restrictToProject':!![]}),_0x2345ee=this['directoryAccessManager']['getWorkingDirectory'](_0xeedffd),_0x5e5e77={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x2ee7a6 of _0x539e01){try{let _0x331ccc;switch(_0x2ee7a6[_0x1303bc(0x140)]){case'analyze':_0x331ccc=await this[_0x1303bc(0x1b4)](_0x2ee7a6[_0x1303bc(0x11e)],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x331ccc&&(_0x5e5e77[_0x1303bc(0x160)][_0x1303bc(0x145)](_0x331ccc),this['updateSummary'](_0x5e5e77[_0x1303bc(0x1a2)],_0x331ccc));break;case'analyze-project':const _0xe0711c=await this['analyzeProject'](_0x2ee7a6['directory'],_0x2ee7a6[_0x1303bc(0x1bf)],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x5e5e77['files']['push'](..._0xe0711c);for(const _0x1a51c0 of _0xe0711c){this[_0x1303bc(0x15b)](_0x5e5e77[_0x1303bc(0x1a2)],_0x1a51c0);}break;case _0x1303bc(0x108):_0x331ccc=await this['fixFile'](_0x2ee7a6['filePath'],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x331ccc&&_0x5e5e77['files']['push'](_0x331ccc);break;case _0x1303bc(0x1a0):_0x331ccc=await this['formatFile'](_0x2ee7a6['filePath'],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x331ccc&&_0x5e5e77['files']['push'](_0x331ccc);break;case'security-scan':_0x331ccc=await this[_0x1303bc(0x17b)](_0x2ee7a6[_0x1303bc(0x11e)],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x331ccc&&(_0x5e5e77['files']['push'](_0x331ccc),this['updateSummary'](_0x5e5e77['summary'],_0x331ccc));break;case'security-scan-project':const _0x490b03=await this['securityScanProject'](_0x2ee7a6[_0x1303bc(0x141)],_0x2ee7a6[_0x1303bc(0x1bf)],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x5e5e77[_0x1303bc(0x160)]['push'](..._0x490b03);for(const _0x325cba of _0x490b03){this[_0x1303bc(0x15b)](_0x5e5e77['summary'],_0x325cba);}break;case'validate-config':_0x331ccc=await this[_0x1303bc(0x1ab)](_0x2ee7a6[_0x1303bc(0x11e)],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x331ccc&&(_0x5e5e77[_0x1303bc(0x160)][_0x1303bc(0x145)](_0x331ccc),this['updateSummary'](_0x5e5e77[_0x1303bc(0x1a2)],_0x331ccc));break;case'validate-config-directory':const _0x3f5664=await this[_0x1303bc(0x1c2)](_0x2ee7a6['directory'],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x5e5e77[_0x1303bc(0x160)]['push'](..._0x3f5664);for(const _0x1f105e of _0x3f5664){this['updateSummary'](_0x5e5e77[_0x1303bc(0x1a2)],_0x1f105e);}break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x2ee7a6['type']);}}catch(_0x2ccac9){this[_0x1303bc(0x1b0)]?.[_0x1303bc(0x1aa)](_0x1303bc(0x13f),{'action':_0x2ee7a6[_0x1303bc(0x140)],'error':_0x2ccac9[_0x1303bc(0x1c9)]}),_0x5e5e77['files'][_0x1303bc(0x145)]({'file':_0x2ee7a6['filePath']||_0x2ee7a6['directory'],'error':_0x2ccac9['message'],'success':![]});}}return{'success':!![],'results':_0x5e5e77,'toolUsed':'staticanalysis','performance':this[_0x1303bc(0x126)]()};}async['analyzeFile'](_0x127c0,_0x2763ab,_0x5e9078,_0x1f69b4={}){const _0x352569=a0_0x2c6d5a,_0x30910c=a0_0x34daa3['isAbsolute'](_0x127c0)?a0_0x34daa3['normalize'](_0x127c0):a0_0x34daa3[_0x352569(0x125)](_0x2763ab,_0x127c0),_0x474d49=this['directoryAccessManager'][_0x352569(0x10a)](_0x30910c,_0x5e9078);if(!_0x474d49[_0x352569(0x17c)])throw new Error('Read\x20access\x20denied:\x20'+_0x474d49[_0x352569(0x130)]);try{const _0x237d60=await a0_0xa7c7dc['stat'](_0x30910c);if(_0x237d60[_0x352569(0x14f)]>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x237d60['size']+_0x352569(0x15c)+this['maxFileSize']+')');const _0x15015d=this['detectLanguage'](_0x30910c);if(!_0x15015d)return{'file':this['directoryAccessManager']['createRelativePath'](_0x30910c,_0x5e9078),'fullPath':_0x30910c,'language':_0x352569(0xe6),'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x352569(0x1af)};const _0x1d1f0a=await a0_0xa7c7dc[_0x352569(0x11c)](_0x30910c,'utf-8'),_0x41f55d=this['useContentHash']?this['computeContentHash'](_0x1d1f0a):null,_0x475dfe=this[_0x352569(0x17d)]?_0x30910c+':'+_0x41f55d:_0x30910c+':'+_0x237d60['mtime'][_0x352569(0x1b7)]();if(this[_0x352569(0x14e)]&&this['analysisCache']['has'](_0x475dfe)){const _0x40bbf5=this['analysisCache']['get'](_0x475dfe);if(Date[_0x352569(0x107)]()-_0x40bbf5['timestamp']<this['cacheExpiry'])return this[_0x352569(0x1b0)]?.[_0x352569(0x18e)]('Using\x20cached\x20analysis\x20result',{'file':_0x30910c}),this['metrics']['cacheHits']++,this[_0x352569(0x131)]['totalAnalyses']++,_0x40bbf5[_0x352569(0x187)];}this[_0x352569(0x131)]['cacheMisses']++,this[_0x352569(0x131)][_0x352569(0x1b5)]++;const _0x3a3e18=await this['getAnalyzer'](_0x15015d);if(!_0x3a3e18)return{'file':this[_0x352569(0x1a4)]['createRelativePath'](_0x30910c,_0x5e9078),'fullPath':_0x30910c,'language':_0x15015d,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'No\x20analyzer\x20available\x20for\x20'+_0x15015d};const _0x3a1064=Date[_0x352569(0x107)](),_0x4e80e6=await _0x3a3e18['analyze'](_0x30910c,_0x1d1f0a,{'workingDir':_0x2763ab,'accessConfig':_0x5e9078,'framework':await this[_0x352569(0xf2)](_0x2763ab,_0x15015d)}),_0x52f169=Date['now']()-_0x3a1064;this[_0x352569(0x131)][_0x352569(0x149)]+=_0x52f169,this[_0x352569(0x131)]['filesAnalyzed']++;const _0x3492f7={'file':this['directoryAccessManager'][_0x352569(0x163)](_0x30910c,_0x5e9078),'fullPath':_0x30910c,'language':_0x15015d,'framework':await this['detectFramework'](_0x2763ab,_0x15015d),'errors':_0x4e80e6['filter'](_0x16ecf5=>_0x16ecf5['severity']===STATIC_ANALYSIS[_0x352569(0x118)][_0x352569(0x111)]),'warnings':_0x1f69b4[_0x352569(0x154)]!==![]?_0x4e80e6[_0x352569(0x1c5)](_0x4866f3=>_0x4866f3['severity']===STATIC_ANALYSIS[_0x352569(0x118)]['WARNING']):[],'info':_0x4e80e6[_0x352569(0x1c5)](_0x4e2dff=>_0x4e2dff['severity']===STATIC_ANALYSIS['SEVERITY'][_0x352569(0x113)]),'totalIssues':_0x4e80e6[_0x352569(0x1bb)],'analyzed':!![],'timestamp':new Date()['toISOString']()};return _0x1f69b4[_0x352569(0x176)]&&_0x3492f7['errors'][_0x352569(0x1bb)]>_0x1f69b4['maxErrors']&&(_0x3492f7['errors']=_0x3492f7[_0x352569(0x168)]['slice'](0x0,_0x1f69b4[_0x352569(0x176)]),_0x3492f7[_0x352569(0x157)]=!![]),this[_0x352569(0x14e)]&&this[_0x352569(0x116)][_0x352569(0x1ac)](_0x475dfe,{'result':_0x3492f7,'timestamp':Date['now']()}),_0x3492f7;}catch(_0x20811b){throw new Error('Failed\x20to\x20analyze\x20'+_0x127c0+':\x20'+_0x20811b[_0x352569(0x1c9)]);}}async[a0_0x2c6d5a(0x147)](_0x219ef3,_0x5cb032,_0x3201ee,_0x126a28,_0x21fdc1={}){const _0x199390=a0_0x2c6d5a,_0x34b06e=a0_0x34daa3['isAbsolute'](_0x219ef3)?a0_0x34daa3[_0x199390(0x184)](_0x219ef3):a0_0x34daa3['resolve'](_0x3201ee,_0x219ef3),_0x299b82=this[_0x199390(0x1a4)][_0x199390(0x10a)](_0x34b06e,_0x126a28);if(!_0x299b82[_0x199390(0x17c)])throw new Error('Read\x20access\x20denied:\x20'+_0x299b82['reason']);const _0x121374=await this['findFiles'](_0x34b06e,_0x5cb032);if(_0x121374[_0x199390(0x1bb)]>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x121374['length']+_0x199390(0x1ae)+this[_0x199390(0x142)]+')');const _0x365134=[];if(this['parallelAnalysis']&&_0x121374['length']>0x1){this[_0x199390(0x1b0)]?.['debug']('Using\x20parallel\x20analysis',{'totalFiles':_0x121374['length'],'batchSize':this['maxParallelFiles']});for(let _0x2ce238=0x0;_0x2ce238<_0x121374['length'];_0x2ce238+=this[_0x199390(0x146)]){const _0x2f5090=_0x121374['slice'](_0x2ce238,_0x2ce238+this[_0x199390(0x146)]);this['metrics']['parallelBatches']++;const _0x51785a={'completed':_0x2ce238,'total':_0x121374[_0x199390(0x1bb)],'percentage':Math['round'](_0x2ce238/_0x121374[_0x199390(0x1bb)]*0x64)};_0x21fdc1['onProgress']&&_0x21fdc1[_0x199390(0x170)](_0x51785a);this['logger']?.['debug'](_0x199390(0x115),{'batch':Math[_0x199390(0x16e)](_0x2ce238/this[_0x199390(0x146)])+0x1,'filesInBatch':_0x2f5090['length'],'progress':_0x51785a[_0x199390(0x16d)]+'/'+_0x51785a['total']});const _0x4ddd93=_0x2f5090['map'](async _0x2c9561=>{const _0x3e4bb0=_0x199390;try{const _0x4fbed0=await this[_0x3e4bb0(0x1b4)](_0x2c9561,_0x3201ee,_0x126a28,_0x21fdc1);return _0x4fbed0;}catch(_0x504c31){return this['logger']?.[_0x3e4bb0(0x161)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x2c9561,'error':_0x504c31[_0x3e4bb0(0x1c9)]}),{'file':this['directoryAccessManager']['createRelativePath'](_0x2c9561,_0x126a28),'fullPath':_0x2c9561,'error':_0x504c31[_0x3e4bb0(0x1c9)],'success':![]};}}),_0x22210e=await Promise[_0x199390(0x18b)](_0x4ddd93);_0x365134[_0x199390(0x145)](..._0x22210e[_0x199390(0x1c5)](_0x556b8b=>_0x556b8b!==null));}_0x21fdc1['onProgress']&&_0x21fdc1[_0x199390(0x170)]({'completed':_0x121374['length'],'total':_0x121374['length'],'percentage':0x64});}else for(const _0x4877b9 of _0x121374){try{const _0x487216=await this['analyzeFile'](_0x4877b9,_0x3201ee,_0x126a28,_0x21fdc1);_0x487216&&_0x365134['push'](_0x487216);}catch(_0x396e9e){this[_0x199390(0x1b0)]?.['warn'](_0x199390(0x175),{'file':_0x4877b9,'error':_0x396e9e[_0x199390(0x1c9)]}),_0x365134['push']({'file':this['directoryAccessManager']['createRelativePath'](_0x4877b9,_0x126a28),'fullPath':_0x4877b9,'error':_0x396e9e['message'],'success':![]});}}return _0x365134;}async[a0_0x2c6d5a(0x121)](_0x35d3bf,_0x18beed,_0x523e79,_0x1fde71={}){const _0x19124b=a0_0x2c6d5a,_0x10aea6=a0_0x34daa3['isAbsolute'](_0x35d3bf)?a0_0x34daa3['normalize'](_0x35d3bf):a0_0x34daa3[_0x19124b(0x125)](_0x18beed,_0x35d3bf),_0x217f05=this['directoryAccessManager']['validateReadAccess'](_0x10aea6,_0x523e79);if(!_0x217f05['allowed'])throw new Error(_0x19124b(0x1b3)+_0x217f05['reason']);if(_0x1fde71['writeFile']){const _0x3a98cb=this[_0x19124b(0x1a4)]['validateWriteAccess'](_0x10aea6,_0x523e79);if(!_0x3a98cb[_0x19124b(0x17c)])throw new Error(_0x19124b(0x1ad)+_0x3a98cb[_0x19124b(0x130)]);}try{const _0x30d4f1=await a0_0xa7c7dc[_0x19124b(0x11c)](_0x10aea6,_0x19124b(0x171)),_0x48f7c2=await this[_0x19124b(0x12f)](),_0x110d86=await _0x48f7c2['fix'](_0x10aea6,_0x30d4f1,{'workingDir':_0x18beed,'accessConfig':_0x523e79,'framework':await this[_0x19124b(0xf2)](_0x18beed,this[_0x19124b(0x18a)](_0x10aea6))});return _0x1fde71[_0x19124b(0x181)]&&_0x110d86['fixed']&&(await a0_0xa7c7dc[_0x19124b(0x181)](_0x10aea6,_0x110d86['content'],'utf-8'),this['logger']?.[_0x19124b(0x174)](_0x19124b(0x13a),{'file':_0x10aea6})),{'file':this[_0x19124b(0x1a4)]['createRelativePath'](_0x10aea6,_0x523e79),'fullPath':_0x10aea6,'action':'fix','fixed':_0x110d86['fixed'],'fixedCount':_0x110d86[_0x19124b(0x110)],'remainingErrors':_0x110d86[_0x19124b(0x11a)],'remainingWarnings':_0x110d86['remainingWarnings'],'changes':_0x110d86['changes'],'written':!!(_0x1fde71[_0x19124b(0x181)]&&_0x110d86[_0x19124b(0xea)]),'preview':!_0x1fde71[_0x19124b(0x181)]&&_0x110d86['fixed']?_0x110d86['content']:undefined};}catch(_0x3f1a9f){throw new Error(_0x19124b(0x1c8)+_0x35d3bf+':\x20'+_0x3f1a9f[_0x19124b(0x1c9)]);}}async[a0_0x2c6d5a(0x112)](_0x78364,_0x565298,_0x2594dd,_0x15d8d1={}){const _0x450ec3=a0_0x2c6d5a,_0x39d15e=a0_0x34daa3['isAbsolute'](_0x78364)?a0_0x34daa3['normalize'](_0x78364):a0_0x34daa3['resolve'](_0x565298,_0x78364),_0x2a7531=this['directoryAccessManager'][_0x450ec3(0x10a)](_0x39d15e,_0x2594dd);if(!_0x2a7531['allowed'])throw new Error(_0x450ec3(0x1b3)+_0x2a7531[_0x450ec3(0x130)]);if(_0x15d8d1['writeFile']){const _0x54b164=this['directoryAccessManager']['validateWriteAccess'](_0x39d15e,_0x2594dd);if(!_0x54b164['allowed'])throw new Error(_0x450ec3(0x1ad)+_0x54b164['reason']);}try{const _0x1098a9=await a0_0xa7c7dc['readFile'](_0x39d15e,'utf-8'),_0x46ca67=await this[_0x450ec3(0xe9)]();if(!_0x46ca67[_0x450ec3(0x1bc)](_0x39d15e))return{'file':this['directoryAccessManager'][_0x450ec3(0x163)](_0x39d15e,_0x2594dd),'fullPath':_0x39d15e,'action':_0x450ec3(0x1a0),'formatted':![],'skipped':!![],'skipReason':'File\x20type\x20not\x20supported\x20by\x20Prettier'};const _0xcd43ad=await _0x46ca67['format'](_0x39d15e,_0x1098a9,{'workingDir':_0x565298,'accessConfig':_0x2594dd});return _0x15d8d1[_0x450ec3(0x181)]&&_0xcd43ad[_0x450ec3(0x1bd)]&&(await a0_0xa7c7dc['writeFile'](_0x39d15e,_0xcd43ad[_0x450ec3(0x151)],'utf-8'),this['logger']?.[_0x450ec3(0x174)]('File\x20formatted\x20and\x20written',{'file':_0x39d15e})),{'file':this[_0x450ec3(0x1a4)][_0x450ec3(0x163)](_0x39d15e,_0x2594dd),'fullPath':_0x39d15e,'action':'format','formatted':_0xcd43ad[_0x450ec3(0x1bd)],'linesChanged':_0xcd43ad[_0x450ec3(0x1a6)],'changes':_0xcd43ad[_0x450ec3(0x1a3)],'written':!!(_0x15d8d1['writeFile']&&_0xcd43ad['formatted']),'preview':!_0x15d8d1['writeFile']&&_0xcd43ad[_0x450ec3(0x1bd)]?_0xcd43ad['content']:undefined};}catch(_0x35fc17){throw new Error(_0x450ec3(0x1be)+_0x78364+':\x20'+_0x35fc17[_0x450ec3(0x1c9)]);}}async['securityScanFile'](_0x1b048b,_0x109b74,_0x525e01,_0x2e76dc={}){const _0x42dedd=a0_0x2c6d5a,_0x313084=a0_0x34daa3['isAbsolute'](_0x1b048b)?a0_0x34daa3['normalize'](_0x1b048b):a0_0x34daa3[_0x42dedd(0x125)](_0x109b74,_0x1b048b),_0x40117d=this['directoryAccessManager']['validateReadAccess'](_0x313084,_0x525e01);if(!_0x40117d[_0x42dedd(0x17c)])throw new Error('Read\x20access\x20denied:\x20'+_0x40117d[_0x42dedd(0x130)]);try{const _0x5c567e=await a0_0xa7c7dc[_0x42dedd(0x195)](_0x313084);if(_0x5c567e['size']>this['maxFileSize'])throw new Error(_0x42dedd(0x199)+_0x5c567e[_0x42dedd(0x14f)]+_0x42dedd(0x15c)+this[_0x42dedd(0x1a1)]+')');const _0x4d8609=this['detectLanguage'](_0x313084);if(!_0x4d8609||![_0x42dedd(0x1c7),'typescript',_0x42dedd(0xfe)][_0x42dedd(0x162)](_0x4d8609))return{'file':this['directoryAccessManager'][_0x42dedd(0x163)](_0x313084,_0x525e01),'fullPath':_0x313084,'language':_0x4d8609||_0x42dedd(0xe6),'issues':[],'skipped':!![],'skipReason':_0x42dedd(0x185)};const _0xa87c5d=await a0_0xa7c7dc[_0x42dedd(0x11c)](_0x313084,'utf-8'),_0x1463e0=await this['getSecurityAnalyzer'](),_0x67f499=await _0x1463e0[_0x42dedd(0x165)](_0x313084,_0xa87c5d,{'skipTestFiles':_0x2e76dc[_0x42dedd(0x189)]!==![]}),_0x338fa0={'file':this['directoryAccessManager'][_0x42dedd(0x163)](_0x313084,_0x525e01),'fullPath':_0x313084,'language':_0x4d8609,'action':'security-scan','critical':_0x67f499['filter'](_0x261768=>_0x261768['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x67f499[_0x42dedd(0x1c5)](_0x5b335c=>_0x5b335c['severity']===STATIC_ANALYSIS['SEVERITY'][_0x42dedd(0x111)]),'warnings':_0x67f499[_0x42dedd(0x1c5)](_0x495694=>_0x495694[_0x42dedd(0x183)]===STATIC_ANALYSIS[_0x42dedd(0x118)][_0x42dedd(0xf0)]),'info':_0x67f499[_0x42dedd(0x1c5)](_0x18db67=>_0x18db67[_0x42dedd(0x183)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x67f499[_0x42dedd(0x1bb)],'analyzed':!![],'scannersUsed':_0x67f499['map'](_0x2e9106=>_0x2e9106[_0x42dedd(0x14b)])['filter']((_0x12a3d6,_0x21482e,_0x102684)=>_0x102684[_0x42dedd(0x132)](_0x12a3d6)===_0x21482e),'timestamp':new Date()[_0x42dedd(0x152)]()};return _0x338fa0;}catch(_0x1439c9){throw new Error(_0x42dedd(0x13d)+_0x1b048b+':\x20'+_0x1439c9[_0x42dedd(0x1c9)]);}}async[a0_0x2c6d5a(0xf7)](_0x17f75e,_0x3d3d51,_0x443b57,_0x34a820,_0x34e1b0={}){const _0x515c82=a0_0x2c6d5a,_0x1fa468=a0_0x34daa3['isAbsolute'](_0x17f75e)?a0_0x34daa3[_0x515c82(0x184)](_0x17f75e):a0_0x34daa3['resolve'](_0x443b57,_0x17f75e),_0x1989fd=this[_0x515c82(0x1a4)][_0x515c82(0x10a)](_0x1fa468,_0x34a820);if(!_0x1989fd[_0x515c82(0x17c)])throw new Error(_0x515c82(0x1b3)+_0x1989fd['reason']);const _0xe2ab6b=await this[_0x515c82(0x138)](),_0x238b78=await _0xe2ab6b['analyzeProject'](_0x1fa468,'javascript',_0x34e1b0),_0x357375=_0x3d3d51||_0x515c82(0x173),_0x17c692=await this['findFiles'](_0x1fa468,_0x357375);if(_0x17c692[_0x515c82(0x1bb)]>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x17c692[_0x515c82(0x1bb)]+'\x20(max\x20'+this['maxFilesPerBatch']+')');const _0x4ea316=[];if(this[_0x515c82(0x182)]&&_0x17c692['length']>0x1){this['logger']?.['debug']('Using\x20parallel\x20security\x20scanning',{'totalFiles':_0x17c692[_0x515c82(0x1bb)],'batchSize':this[_0x515c82(0x146)]});for(let _0x32850b=0x0;_0x32850b<_0x17c692['length'];_0x32850b+=this['maxParallelFiles']){const _0x48a70a=_0x17c692[_0x515c82(0xef)](_0x32850b,_0x32850b+this['maxParallelFiles']);_0x34e1b0['onProgress']&&_0x34e1b0[_0x515c82(0x170)]({'completed':_0x32850b,'total':_0x17c692[_0x515c82(0x1bb)],'percentage':Math['round'](_0x32850b/_0x17c692[_0x515c82(0x1bb)]*0x64)});const _0x1e5db1=_0x48a70a[_0x515c82(0xfa)](async _0xc1c791=>{const _0x3a98e4=_0x515c82;try{return await this[_0x3a98e4(0x17b)](_0xc1c791,_0x443b57,_0x34a820,_0x34e1b0);}catch(_0x86e914){return this[_0x3a98e4(0x1b0)]?.['warn']('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0xc1c791,'error':_0x86e914[_0x3a98e4(0x1c9)]}),{'file':this['directoryAccessManager']['createRelativePath'](_0xc1c791,_0x34a820),'fullPath':_0xc1c791,'error':_0x86e914[_0x3a98e4(0x1c9)],'success':![]};}}),_0x454b92=await Promise[_0x515c82(0x18b)](_0x1e5db1);_0x4ea316[_0x515c82(0x145)](..._0x454b92[_0x515c82(0x1c5)](_0x43d4db=>_0x43d4db!==null));}_0x34e1b0['onProgress']&&_0x34e1b0[_0x515c82(0x170)]({'completed':_0x17c692[_0x515c82(0x1bb)],'total':_0x17c692['length'],'percentage':0x64});}else for(const _0x313027 of _0x17c692){try{const _0x112c99=await this[_0x515c82(0x17b)](_0x313027,_0x443b57,_0x34a820,_0x34e1b0);_0x112c99&&_0x4ea316['push'](_0x112c99);}catch(_0x5b89a0){this['logger']?.[_0x515c82(0x161)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x313027,'error':_0x5b89a0['message']}),_0x4ea316['push']({'file':this[_0x515c82(0x1a4)]['createRelativePath'](_0x313027,_0x34a820),'fullPath':_0x313027,'error':_0x5b89a0[_0x515c82(0x1c9)],'success':![]});}}return _0x238b78['length']>0x0&&_0x4ea316[_0x515c82(0x145)]({'file':a0_0x34daa3[_0x515c82(0xf4)](_0x1fa468,_0x515c82(0x153)),'fullPath':a0_0x34daa3['join'](_0x1fa468,'package.json'),'action':'dependency-scan','critical':_0x238b78['filter'](_0x498097=>_0x498097[_0x515c82(0x183)]===STATIC_ANALYSIS['SEVERITY'][_0x515c82(0x12e)]),'errors':_0x238b78[_0x515c82(0x1c5)](_0x1f8071=>_0x1f8071[_0x515c82(0x183)]===STATIC_ANALYSIS[_0x515c82(0x118)]['ERROR']),'warnings':_0x238b78[_0x515c82(0x1c5)](_0x1e0f1c=>_0x1e0f1c['severity']===STATIC_ANALYSIS['SEVERITY'][_0x515c82(0xf0)]),'info':_0x238b78[_0x515c82(0x1c5)](_0x487649=>_0x487649[_0x515c82(0x183)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x238b78[_0x515c82(0x1bb)],'analyzed':!![],'scannersUsed':['npm-audit'],'timestamp':new Date()['toISOString']()}),_0x4ea316;}async[a0_0x2c6d5a(0x1ab)](_0x104f9b,_0x2f1051,_0x5589d1,_0x4346c8={}){const _0x1da4f0=a0_0x2c6d5a,_0x566f77=a0_0x34daa3[_0x1da4f0(0x190)](_0x104f9b)?a0_0x34daa3[_0x1da4f0(0x184)](_0x104f9b):a0_0x34daa3[_0x1da4f0(0x125)](_0x2f1051,_0x104f9b),_0x29820a=this['directoryAccessManager']['validateReadAccess'](_0x566f77,_0x5589d1);if(!_0x29820a['allowed'])throw new Error(_0x1da4f0(0x1b3)+_0x29820a['reason']);try{const _0x436a6e=await a0_0xa7c7dc['stat'](_0x566f77);if(_0x436a6e[_0x1da4f0(0x14f)]>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x436a6e[_0x1da4f0(0x14f)]+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x2453e1=await this[_0x1da4f0(0x1a8)](),_0x16316c=await _0x2453e1[_0x1da4f0(0x14c)](_0x566f77,_0x4346c8),_0x3e8e5a={'file':this['directoryAccessManager'][_0x1da4f0(0x163)](_0x566f77,_0x5589d1),'fullPath':_0x566f77,'action':_0x1da4f0(0xfd),'critical':_0x16316c['filter'](_0x5ba815=>_0x5ba815[_0x1da4f0(0x183)]===STATIC_ANALYSIS['SEVERITY'][_0x1da4f0(0x12e)]),'errors':_0x16316c['filter'](_0x1c28ed=>_0x1c28ed['severity']===STATIC_ANALYSIS[_0x1da4f0(0x118)]['ERROR']),'warnings':_0x16316c['filter'](_0x342439=>_0x342439['severity']===STATIC_ANALYSIS[_0x1da4f0(0x118)]['WARNING']),'info':_0x16316c[_0x1da4f0(0x1c5)](_0x28f911=>_0x28f911['severity']===STATIC_ANALYSIS[_0x1da4f0(0x118)]['INFO']),'totalIssues':_0x16316c['length'],'analyzed':!![],'validatorsUsed':_0x16316c[_0x1da4f0(0xfa)](_0x2e51f4=>_0x2e51f4['validator'])['filter']((_0x3e9b75,_0x18531a,_0x16e6e8)=>_0x16e6e8[_0x1da4f0(0x132)](_0x3e9b75)===_0x18531a),'timestamp':new Date()['toISOString']()};return _0x3e8e5a;}catch(_0xd15b91){throw new Error('Failed\x20to\x20validate\x20config\x20'+_0x104f9b+':\x20'+_0xd15b91[_0x1da4f0(0x1c9)]);}}async['validateConfigDirectory'](_0x4bc912,_0x5bee87,_0x33af4e,_0x204c7d={}){const _0x2ef4b6=a0_0x2c6d5a,_0x28aa4c=a0_0x34daa3['isAbsolute'](_0x4bc912)?a0_0x34daa3[_0x2ef4b6(0x184)](_0x4bc912):a0_0x34daa3['resolve'](_0x5bee87,_0x4bc912),_0x9c91ef=this[_0x2ef4b6(0x1a4)]['validateReadAccess'](_0x28aa4c,_0x33af4e);if(!_0x9c91ef['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x9c91ef['reason']);const _0x35f690=await this['findConfigFiles'](_0x28aa4c);if(_0x35f690[_0x2ef4b6(0x1bb)]>this['maxFilesPerBatch'])throw new Error(_0x2ef4b6(0x109)+_0x35f690['length']+_0x2ef4b6(0x1ae)+this['maxFilesPerBatch']+')');const _0x47a2d6=[];for(const _0x506a12 of _0x35f690){try{const _0x2790d3=await this['validateConfigFile'](_0x506a12,_0x5bee87,_0x33af4e,_0x204c7d);_0x2790d3&&_0x47a2d6['push'](_0x2790d3);}catch(_0x4d3947){this[_0x2ef4b6(0x1b0)]?.[_0x2ef4b6(0x161)]('Failed\x20to\x20validate\x20config\x20file',{'file':_0x506a12,'error':_0x4d3947['message']}),_0x47a2d6['push']({'file':this[_0x2ef4b6(0x1a4)]['createRelativePath'](_0x506a12,_0x33af4e),'fullPath':_0x506a12,'error':_0x4d3947['message'],'success':![]});}}return _0x47a2d6;}async[a0_0x2c6d5a(0x13c)](_0x1b0532){const _0x2a4c8a=a0_0x2c6d5a,_0x515f30=[],_0x38b6ef=[_0x2a4c8a(0x153),_0x2a4c8a(0x166),_0x2a4c8a(0x16f),'docker-compose.yml',_0x2a4c8a(0x16c),_0x2a4c8a(0xeb),_0x2a4c8a(0x155),_0x2a4c8a(0xff),_0x2a4c8a(0x1a5),_0x2a4c8a(0x15e),_0x2a4c8a(0x159)],_0x2c2618=['.yml',_0x2a4c8a(0x1c4),_0x2a4c8a(0x15a),_0x2a4c8a(0x137),'.tfvars'],_0x28a490=async _0x9fcd4a=>{const _0x6a4684=_0x2a4c8a,_0x2e101d=await a0_0xa7c7dc['readdir'](_0x9fcd4a,{'withFileTypes':!![]});for(const _0x176a0e of _0x2e101d){const _0x461612=a0_0x34daa3[_0x6a4684(0xf4)](_0x9fcd4a,_0x176a0e[_0x6a4684(0x19c)]);if(_0x176a0e[_0x6a4684(0x14d)]()){if(_0x176a0e['name']===_0x6a4684(0xee)||_0x176a0e[_0x6a4684(0x19c)]==='kubernetes'||_0x176a0e[_0x6a4684(0x19c)]===_0x6a4684(0x164)||_0x176a0e[_0x6a4684(0x19c)]===_0x6a4684(0x172))await _0x28a490(_0x461612);else{if(!['node_modules','.git',_0x6a4684(0x124),'build']['includes'](_0x176a0e['name']))continue;}}else{if(_0x176a0e['isFile']()){if(_0x38b6ef[_0x6a4684(0x162)](_0x176a0e['name']))_0x515f30[_0x6a4684(0x145)](_0x461612);else{const _0x16ffd8=a0_0x34daa3[_0x6a4684(0x100)](_0x176a0e['name'])[_0x6a4684(0x1b6)]();if(_0x2c2618['includes'](_0x16ffd8)){const _0x43aa35=a0_0x34daa3[_0x6a4684(0x13b)](a0_0x34daa3['dirname'](_0x461612));(_0x43aa35==='kubernetes'||_0x43aa35==='k8s'||_0x43aa35==='terraform'||_0x43aa35===_0x6a4684(0x127))&&_0x515f30[_0x6a4684(0x145)](_0x461612);}}}}}};return await _0x28a490(_0x1b0532),_0x515f30;}['detectLanguage'](_0x32ee88){const _0x3fde15=a0_0x2c6d5a,_0x58f26a=a0_0x34daa3['extname'](_0x32ee88)['toLowerCase']();return STATIC_ANALYSIS[_0x3fde15(0x1a7)][_0x58f26a]||null;}async[a0_0x2c6d5a(0xf2)](_0x23cfee,_0x4b48c5){const _0x34cea9=a0_0x2c6d5a;try{if(_0x4b48c5===STATIC_ANALYSIS[_0x34cea9(0x144)][_0x34cea9(0x196)]||_0x4b48c5===STATIC_ANALYSIS['LANGUAGE']['TYPESCRIPT'])return await this['detectJSFramework'](_0x23cfee);if(_0x4b48c5===STATIC_ANALYSIS[_0x34cea9(0x144)]['PYTHON'])return await this['detectPythonFramework'](_0x23cfee);return null;}catch(_0x411f70){return this[_0x34cea9(0x1b0)]?.[_0x34cea9(0x18e)](_0x34cea9(0x167),{'error':_0x411f70['message']}),null;}}async[a0_0x2c6d5a(0x18f)](_0x1a4c46){const _0x21d87d=a0_0x2c6d5a;try{const _0x1aec7c=a0_0x34daa3['join'](_0x1a4c46,STATIC_ANALYSIS[_0x21d87d(0x197)]['JAVASCRIPT']),_0xf02630=await a0_0xa7c7dc['readFile'](_0x1aec7c,'utf-8'),_0x43caa1=JSON[_0x21d87d(0x17f)](_0xf02630),_0x54db19={..._0x43caa1[_0x21d87d(0x186)],..._0x43caa1['devDependencies']};for(const [_0x2acdf0,_0x1a0d74]of Object[_0x21d87d(0x180)](STATIC_ANALYSIS['JS_FRAMEWORKS'])){if(_0x54db19[_0x1a0d74])return _0x2acdf0['toLowerCase']();}return null;}catch(_0x4ead98){return null;}}async['detectPythonFramework'](_0x517b69){const _0x16d807=a0_0x2c6d5a;try{const _0xd55f25=a0_0x34daa3[_0x16d807(0xf4)](_0x517b69,STATIC_ANALYSIS[_0x16d807(0x197)][_0x16d807(0x103)]),_0x223e35=await a0_0xa7c7dc[_0x16d807(0x11c)](_0xd55f25,_0x16d807(0x171));for(const [_0x5ef957,_0x1200b1]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x223e35[_0x16d807(0x1b6)]()[_0x16d807(0x162)](_0x1200b1))return _0x5ef957['toLowerCase']();}return null;}catch(_0x415abf){try{const _0x53c067=a0_0x34daa3['join'](_0x517b69,STATIC_ANALYSIS[_0x16d807(0x197)]['PYTHON_POETRY']),_0x164f6a=await a0_0xa7c7dc[_0x16d807(0x11c)](_0x53c067,_0x16d807(0x171));for(const [_0x4dd725,_0x47d22d]of Object['entries'](STATIC_ANALYSIS[_0x16d807(0x134)])){if(_0x164f6a[_0x16d807(0x1b6)]()['includes'](_0x47d22d))return _0x4dd725['toLowerCase']();}}catch{}return null;}}async[a0_0x2c6d5a(0x17e)](_0x3bb576,_0x2f729d){const _0x4828e5=a0_0x2c6d5a,_0x55684e=[],_0x11c2cb=_0x2f729d||_0x4828e5(0x19d),_0x3c1187=_0x1c9725=>{const _0x21c2ce=_0x4828e5,_0x2f36f5=[],_0x34e601=_0x1c9725['match'](/\*\.\{([^}]+)\}/);if(_0x34e601){const _0x3bba7f=_0x34e601[0x1]['split'](',')['map'](_0x3c1e80=>_0x3c1e80[_0x21c2ce(0x16a)]());_0x3bba7f[_0x21c2ce(0x133)](_0x4dd7e0=>_0x2f36f5[_0x21c2ce(0x145)](_0x4dd7e0['startsWith']('.')?_0x4dd7e0:'.'+_0x4dd7e0));}else{const _0x599777=_0x1c9725['match'](/\*\.([a-z]+)$/i);if(_0x599777){const _0x5c5d40=_0x599777[0x1];_0x2f36f5['push'](_0x5c5d40['startsWith']('.')?_0x5c5d40:'.'+_0x5c5d40);}}if(_0x2f36f5[_0x21c2ce(0x1bb)]===0x0)return null;return _0x2f36f5;},_0x2f5a81=_0x3c1187(_0x11c2cb),_0x296c81=async _0x2d0328=>{const _0x327818=_0x4828e5,_0x2f40f4=await a0_0xa7c7dc[_0x327818(0xf9)](_0x2d0328,{'withFileTypes':!![]});for(const _0x2bc61e of _0x2f40f4){const _0x4bfbb4=a0_0x34daa3[_0x327818(0xf4)](_0x2d0328,_0x2bc61e[_0x327818(0x19c)]);if(_0x2bc61e[_0x327818(0x14d)]())![_0x327818(0x12b),_0x327818(0x11f),'dist','build',_0x327818(0x105),_0x327818(0x12a),_0x327818(0x198)][_0x327818(0x162)](_0x2bc61e['name'])&&await _0x296c81(_0x4bfbb4);else{if(_0x2bc61e['isFile']()){const _0xcd70b6=a0_0x34daa3[_0x327818(0x100)](_0x2bc61e['name'])['toLowerCase']();STATIC_ANALYSIS[_0x327818(0x1a7)][_0xcd70b6]&&((_0x2f5a81===null||_0x2f5a81[_0x327818(0x162)](_0xcd70b6))&&_0x55684e['push'](_0x4bfbb4));}}}};return await _0x296c81(_0x3bb576),_0x55684e;}async['getAnalyzer'](_0x6c5945){const _0x5d13e4=a0_0x2c6d5a;try{if(_0x6c5945===STATIC_ANALYSIS[_0x5d13e4(0x144)][_0x5d13e4(0x196)]){if(!this['analyzers']['javascript']){const {default:_0x5f4f76}=await import(_0x5d13e4(0x117));this['analyzers'][_0x5d13e4(0x1c7)]=new _0x5f4f76(this['logger']);}return this['analyzers'][_0x5d13e4(0x1c7)];}if(_0x6c5945===STATIC_ANALYSIS['LANGUAGE'][_0x5d13e4(0xf6)]){if(!this['analyzers']['typescript']){const {default:_0x30c09b}=await import(_0x5d13e4(0x18d));this['analyzers']['typescript']=new _0x30c09b(this[_0x5d13e4(0x1b0)]);}return this[_0x5d13e4(0x101)]['typescript'];}if(_0x6c5945===STATIC_ANALYSIS['LANGUAGE']['PYTHON']){if(!this[_0x5d13e4(0x101)][_0x5d13e4(0xfe)]){const {default:_0x31ee31}=await import(_0x5d13e4(0x193));this[_0x5d13e4(0x101)][_0x5d13e4(0xfe)]=new _0x31ee31(this[_0x5d13e4(0x1b0)]);}return this['analyzers'][_0x5d13e4(0xfe)];}if(_0x6c5945===STATIC_ANALYSIS['LANGUAGE'][_0x5d13e4(0x106)]||_0x6c5945===STATIC_ANALYSIS['LANGUAGE']['SCSS']||_0x6c5945===STATIC_ANALYSIS['LANGUAGE']['LESS']){if(!this[_0x5d13e4(0x101)][_0x5d13e4(0x169)]){const {default:_0x45a7f1}=await import('../analyzers/CSSAnalyzer.js');this['analyzers']['css']=new _0x45a7f1(this[_0x5d13e4(0x1b0)]);}return this['analyzers'][_0x5d13e4(0x169)];}return null;}catch(_0xdea815){return this[_0x5d13e4(0x1b0)]?.[_0x5d13e4(0x1aa)](_0x5d13e4(0x102),{'language':_0x6c5945,'error':_0xdea815[_0x5d13e4(0x1c9)]}),null;}}async[a0_0x2c6d5a(0x12f)](){const _0x4b5fa9=a0_0x2c6d5a;if(!this['analyzers'][_0x4b5fa9(0x1b2)]){const {default:_0x5e1d30}=await import('../analyzers/ESLintAnalyzer.js');this[_0x4b5fa9(0x101)][_0x4b5fa9(0x1b2)]=new _0x5e1d30(this[_0x4b5fa9(0x1b0)]);}return this['analyzers']['eslint'];}async['getPrettierFormatter'](){const _0x37be7e=a0_0x2c6d5a;if(!this[_0x37be7e(0x136)][_0x37be7e(0xf1)]){const {default:_0x582bb0}=await import('../analyzers/PrettierFormatter.js');this[_0x37be7e(0x136)]['prettier']=new _0x582bb0(this[_0x37be7e(0x1b0)]);}return this['formatters'][_0x37be7e(0xf1)];}async['getSecurityAnalyzer'](){const _0x5f3a1b=a0_0x2c6d5a;if(!this[_0x5f3a1b(0x101)]['security']){const {default:_0x2ffa29}=await import('../analyzers/SecurityAnalyzer.js');this['analyzers']['security']=new _0x2ffa29(this[_0x5f3a1b(0x1b0)]);}return this['analyzers']['security'];}async['getConfigValidator'](){const _0x319ab6=a0_0x2c6d5a;if(!this['analyzers']['config']){const {default:_0x2aea11}=await import('../analyzers/ConfigValidator.js');this['analyzers'][_0x319ab6(0x192)]=new _0x2aea11(this[_0x319ab6(0x1b0)]);}return this[_0x319ab6(0x101)]['config'];}[a0_0x2c6d5a(0x15b)](_0x2f8b38,_0x2ef98c){const _0x367988=a0_0x2c6d5a;if(_0x2ef98c[_0x367988(0xed)]){_0x2f8b38['totalFiles']++;const _0x269d26=_0x2ef98c['critical']?.[_0x367988(0x1bb)]||0x0,_0x16d57c=_0x2ef98c['errors']?.[_0x367988(0x1bb)]||0x0,_0x2660f6=_0x2ef98c[_0x367988(0x1b1)]?.['length']||0x0,_0x498a63=_0x2ef98c[_0x367988(0x174)]?.['length']||0x0;_0x2f8b38[_0x367988(0x19e)]===undefined&&(_0x2f8b38['totalCritical']=0x0);_0x2f8b38['totalCritical']+=_0x269d26,_0x2f8b38['totalErrors']+=_0x16d57c,_0x2f8b38['totalWarnings']+=_0x2660f6,_0x2f8b38['totalInfo']+=_0x498a63;(_0x269d26>0x0||_0x16d57c>0x0)&&_0x2f8b38['filesWithErrors']++;_0x2ef98c['language']&&(_0x2f8b38['filesByLanguage'][_0x2ef98c[_0x367988(0x1b8)]]=(_0x2f8b38[_0x367988(0x158)][_0x2ef98c[_0x367988(0x1b8)]]||0x0)+0x1);const _0x3424ef=[..._0x2ef98c[_0x367988(0x156)]||[],..._0x2ef98c['errors']||[],..._0x2ef98c['warnings']||[]];for(const _0x3ad547 of _0x3424ef){_0x3ad547[_0x367988(0x194)]&&(_0x2f8b38['errorsByCategory'][_0x3ad547['category']]=(_0x2f8b38['errorsByCategory'][_0x3ad547[_0x367988(0x194)]]||0x0)+0x1);}}}['computeContentHash'](_0x5609ba){const _0x3157a5=a0_0x2c6d5a;return a0_0x51307e['createHash']('sha256')['update'](_0x5609ba)[_0x3157a5(0x15d)](_0x3157a5(0x188))[_0x3157a5(0xe8)](0x0,0x10);}['getPerformanceMetrics'](){const _0x26f0db=a0_0x2c6d5a,_0x2d25dc=this['metrics'][_0x26f0db(0x1b5)]>0x0?this[_0x26f0db(0x131)][_0x26f0db(0x1c3)]/this['metrics']['totalAnalyses']*0x64:0x0,_0xbfef02=this['metrics']['filesAnalyzed']>0x0?this['metrics'][_0x26f0db(0x149)]/this['metrics'][_0x26f0db(0x18c)]:0x0;return{...this[_0x26f0db(0x131)],'cacheHitRate':Math[_0x26f0db(0x10b)](_0x2d25dc*0xa)/0xa,'averageAnalysisTime':Math['round'](_0xbfef02),'cacheSize':this['analysisCache'][_0x26f0db(0x14f)]};}['resetPerformanceMetrics'](){const _0x1aefc6=a0_0x2c6d5a;this[_0x1aefc6(0x131)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}[a0_0x2c6d5a(0x19a)](){const _0x968be8=a0_0x2c6d5a;this[_0x968be8(0x116)]['clear'](),this[_0x968be8(0x1b0)]?.[_0x968be8(0x18e)]('Analysis\x20cache\x20cleared');}['getSupportedActions'](){const _0x1ffe98=a0_0x2c6d5a;return[_0x1ffe98(0x165),_0x1ffe98(0x139),'fix',_0x1ffe98(0x1a0),_0x1ffe98(0x15f),'security-scan-project',_0x1ffe98(0xfd),_0x1ffe98(0x10f)];}[a0_0x2c6d5a(0x11b)](){const _0x244211=a0_0x2c6d5a;return{'type':_0x244211(0x129),'properties':{'actions':{'type':_0x244211(0x16b),'minItems':0x1,'items':{'type':_0x244211(0x129),'properties':{'type':{'type':_0x244211(0x14a),'enum':this['getSupportedActions']()},'filePath':{'type':'string'},'directory':{'type':'string'},'pattern':{'type':'string'},'includeWarnings':{'type':'boolean'},'maxErrors':{'type':'number'}},'required':[_0x244211(0x140)]}}},'required':[_0x244211(0x135)]};}}export default StaticAnalysisTool;