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

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 (120) hide show
  1. package/bin/cli.js +1 -1
  2. package/bin/loxia-terminal-v2.js +1 -1
  3. package/bin/loxia-terminal.js +1 -1
  4. package/bin/start-with-terminal.js +1 -1
  5. package/package.json +1 -2
  6. package/scripts/install-scanners.js +1 -1
  7. package/src/analyzers/CSSAnalyzer.js +1 -1
  8. package/src/analyzers/ConfigValidator.js +1 -1
  9. package/src/analyzers/ESLintAnalyzer.js +1 -1
  10. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  11. package/src/analyzers/PrettierFormatter.js +1 -1
  12. package/src/analyzers/PythonAnalyzer.js +1 -1
  13. package/src/analyzers/SecurityAnalyzer.js +1 -1
  14. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  15. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  17. package/src/analyzers/codeCloneDetector/index.js +1 -1
  18. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  19. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  20. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  21. package/src/core/agentPool.js +1 -1
  22. package/src/core/agentScheduler.js +1 -1
  23. package/src/core/contextManager.js +1 -1
  24. package/src/core/messageProcessor.js +1 -1
  25. package/src/core/orchestrator.js +1 -1
  26. package/src/core/stateManager.js +1 -1
  27. package/src/index.js +1 -1
  28. package/src/interfaces/cli.js +1 -1
  29. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  38. package/src/interfaces/terminal/api/apiClient.js +1 -1
  39. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  40. package/src/interfaces/terminal/api/session.js +1 -1
  41. package/src/interfaces/terminal/api/websocket.js +1 -1
  42. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  43. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  44. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  45. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  47. package/src/interfaces/terminal/components/Header.js +1 -1
  48. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  49. package/src/interfaces/terminal/components/InputBox.js +1 -1
  50. package/src/interfaces/terminal/components/Layout.js +1 -1
  51. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  52. package/src/interfaces/terminal/components/MessageList.js +1 -1
  53. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  54. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  55. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  56. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  57. package/src/interfaces/terminal/components/TextInput.js +1 -1
  58. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  59. package/src/interfaces/terminal/config/constants.js +1 -1
  60. package/src/interfaces/terminal/index.js +1 -1
  61. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  62. package/src/interfaces/terminal/state/useAgents.js +1 -1
  63. package/src/interfaces/terminal/state/useConnection.js +1 -1
  64. package/src/interfaces/terminal/state/useMessages.js +1 -1
  65. package/src/interfaces/terminal/state/useTools.js +1 -1
  66. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  67. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  68. package/src/interfaces/terminal/utils/theme.js +1 -1
  69. package/src/interfaces/webServer.js +1 -1
  70. package/src/modules/fileExplorer/controller.js +1 -1
  71. package/src/modules/fileExplorer/index.js +1 -1
  72. package/src/modules/fileExplorer/middleware.js +1 -1
  73. package/src/modules/fileExplorer/routes.js +1 -1
  74. package/src/services/aiService.js +1 -1
  75. package/src/services/apiKeyManager.js +1 -1
  76. package/src/services/benchmarkService.js +1 -1
  77. package/src/services/budgetService.js +1 -1
  78. package/src/services/contextInjectionService.js +1 -1
  79. package/src/services/conversationCompactionService.js +1 -1
  80. package/src/services/errorHandler.js +1 -1
  81. package/src/services/fileAttachmentService.js +1 -1
  82. package/src/services/modelRouterService.js +1 -1
  83. package/src/services/modelsService.js +1 -1
  84. package/src/services/qualityInspector.js +1 -1
  85. package/src/services/tokenCountingService.js +1 -1
  86. package/src/tools/agentCommunicationTool.js +1 -1
  87. package/src/tools/agentDelayTool.js +1 -1
  88. package/src/tools/asyncToolManager.js +1 -1
  89. package/src/tools/baseTool.js +1 -1
  90. package/src/tools/browserTool.js +1 -1
  91. package/src/tools/cloneDetectionTool.js +1 -1
  92. package/src/tools/dependencyResolverTool.js +1 -1
  93. package/src/tools/fileContentReplaceTool.js +1 -1
  94. package/src/tools/fileSystemTool.js +1 -1
  95. package/src/tools/fileTreeTool.js +1 -1
  96. package/src/tools/imageTool.js +1 -1
  97. package/src/tools/importAnalyzerTool.js +1 -1
  98. package/src/tools/jobDoneTool.js +1 -1
  99. package/src/tools/seekTool.js +1 -1
  100. package/src/tools/staticAnalysisTool.js +1 -1
  101. package/src/tools/taskManagerTool.js +1 -1
  102. package/src/tools/terminalTool.js +1 -1
  103. package/src/tools/webTool.js +1 -1
  104. package/src/types/agent.js +1 -1
  105. package/src/types/contextReference.js +1 -1
  106. package/src/types/conversation.js +1 -1
  107. package/src/types/toolCommand.js +1 -1
  108. package/src/utilities/attachmentValidator.js +1 -1
  109. package/src/utilities/configManager.js +1 -1
  110. package/src/utilities/constants.js +1 -1
  111. package/src/utilities/directoryAccessManager.js +1 -1
  112. package/src/utilities/fileProcessor.js +1 -1
  113. package/src/utilities/logger.js +1 -1
  114. package/src/utilities/tagParser.js +1 -1
  115. package/src/utilities/toolConstants.js +1 -1
  116. package/src/utilities/userDataDir.js +1 -0
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-C5X7qBNF.js → index-DXN850Y2.js} +69 -65
  119. package/web-ui/build/static/index-an-YRzUX.css +1 -0
  120. package/web-ui/build/static/index-g2UFuTwG.css +0 -1
@@ -1 +1 @@
1
- const a0_0x80e5e8=a0_0x4d2a;(function(_0x306265,_0x14358d){const _0x37ee1c=a0_0x4d2a,_0x445dc7=_0x306265();while(!![]){try{const _0x4fcf24=-parseInt(_0x37ee1c(0x1de))/0x1*(parseInt(_0x37ee1c(0x183))/0x2)+-parseInt(_0x37ee1c(0x1dc))/0x3+-parseInt(_0x37ee1c(0x1f2))/0x4*(-parseInt(_0x37ee1c(0x1d2))/0x5)+-parseInt(_0x37ee1c(0x1c3))/0x6+-parseInt(_0x37ee1c(0x1df))/0x7*(parseInt(_0x37ee1c(0x20d))/0x8)+parseInt(_0x37ee1c(0x1d4))/0x9+parseInt(_0x37ee1c(0x1f5))/0xa*(parseInt(_0x37ee1c(0x1c8))/0xb);if(_0x4fcf24===_0x14358d)break;else _0x445dc7['push'](_0x445dc7['shift']());}catch(_0x49b167){_0x445dc7['push'](_0x445dc7['shift']());}}}(a0_0x4bcb,0x409ba));import{BaseTool}from'./baseTool.js';import a0_0x43e51e from'../utilities/tagParser.js';function a0_0x4d2a(_0x28f868,_0x414cf6){_0x28f868=_0x28f868-0x17b;const _0x4bcbfd=a0_0x4bcb();let _0x4d2ac6=_0x4bcbfd[_0x28f868];if(a0_0x4d2a['FcekFK']===undefined){var _0x4dbf55=function(_0x10ef32){const _0x230d07='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43e51e='',_0x1802b5='';for(let _0x930193=0x0,_0x16c405,_0x5639d3,_0x43880a=0x0;_0x5639d3=_0x10ef32['charAt'](_0x43880a++);~_0x5639d3&&(_0x16c405=_0x930193%0x4?_0x16c405*0x40+_0x5639d3:_0x5639d3,_0x930193++%0x4)?_0x43e51e+=String['fromCharCode'](0xff&_0x16c405>>(-0x2*_0x930193&0x6)):0x0){_0x5639d3=_0x230d07['indexOf'](_0x5639d3);}for(let _0x44ba51=0x0,_0x4d70ea=_0x43e51e['length'];_0x44ba51<_0x4d70ea;_0x44ba51++){_0x1802b5+='%'+('00'+_0x43e51e['charCodeAt'](_0x44ba51)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1802b5);};a0_0x4d2a['BfbaPC']=_0x4dbf55,a0_0x4d2a['VrGiJF']={},a0_0x4d2a['FcekFK']=!![];}const _0x1d3714=_0x4bcbfd[0x0],_0x154cd9=_0x28f868+_0x1d3714,_0x3b3434=a0_0x4d2a['VrGiJF'][_0x154cd9];return!_0x3b3434?(_0x4d2ac6=a0_0x4d2a['BfbaPC'](_0x4d2ac6),a0_0x4d2a['VrGiJF'][_0x154cd9]=_0x4d2ac6):_0x4d2ac6=_0x3b3434,_0x4d2ac6;}function a0_0x4bcb(){const _0x3e0eb3=['AxnbCNjHEq','BwfW','AxngAwXL','lNHTBa','lMD6','lMXVzW','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','icHUB3qGysbYzwD1BgfYigzPBguP','C2vLA0nVBMzPzW','oIbWyxrOihrYyxzLCNnHBcaOlI4Pig5VDcbHBgXVD2vKigzVCIbZzwn1CML0Eq','rMLSzsb0B28GBgfYz2uGka','C3bSAxq','AxnqyxrOqwnJzxnZAwjSzq','zxH0BMfTzq','C2HVDwXKu2TPCezPBgu','zMLSzvbHDgG','zxjYB3jgAwXLCW','Aw5JBhvKzxm','lNjZ','BgvUz3rO','twf4Aw11Bsb0B3rHBcbTyxrJAgvZihjLywnOzwq','zxjYB3i','CMvHzezPBgu','ks4Gu29TzsbTyxrJAgvZig1HEsbUB3qGyMuGC2HVD24UcG','BMfTzq','ywrK','lNr0zG','DgvZDa','zgLYBMfTzq','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','Bwf0y2HLC1bHDhrLCM4','lM5LEhq','Bg9Nz2vY','lNnV','lMrSBa','vg9Vig1HBNKGzMLSzxmGDg8GC2vHCMnOicG','lNnHC3m','ChvZAa','zM9YBwf0uMvZDwX0CW','C3rHDa','lMrHDa','lMPHDMe','zxHWyw5Kr2XVyLbHDhrLCM4','igzPBguOCYKUcG','lNDVzMyY','ic0G','C2vHCMnOvgvYBxm','BgLUzunVBNrLBNq','CMvHze9UBhLeAxjLy3rVCMLLCW','lNLTBa','zMLUzezPBgvZuMvJDxjZAxzLBhK','C2vHCMnOrMLSzxm','lNDTDG','C3rHCNrZv2L0Aa','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','tufyx0zjtevFuefusfm','BM90rM91BMq','igzPBgvZihbLCIbZzwfYy2GklsbnyxHPBxvTia','zM91BMq','vxnPBMCGywDLBNqGy29UzMLNDxjLzcbKAxjLy3rVCNKGywnJzxnZ','DgvYBq','mtiWnduWnM15qNvQEa','CMvZB2X2zuzPBgvqyxrOCW','lMnVBMy','BwvZC2fNzq','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','odKXr3HksKzZ','y292zxjHz2u','CM91BMq','CMvZB2X2zq','tufyx0zjtevFu0LArq','lMDV','D29YA2LUz0rPCMvJDg9YEq','lNn2zW','tufyx0XjtKvFq09ovevovf9mru5hveG','Bwf0y2HLCW','nwLYuMv4CG','zxnJyxbLuMvNrxHW','mtG2mZGZn3HZz1vjDW','rMfPBgvKihrVihbHCNnLihnLzwSGCgfYyw1LDgvYCW','yMfZzw5HBwu','ig1HDgnOzxmGDg90ywWkcLjfu1vmvcbgt1jnqvq6cLrOzsb0B29SihjLDhvYBNm6cI0GtgLZDcbVzIbMAwXLCYb0Agf0ihDLCMuGBM90igzVDw5KcI0GtgLZDcbVzIbMAwXLCYb0Agf0igHHzcbLCNjVCNmGzhvYAw5NihnLyxjJAaOTiezVCIbLywnOihnLyxjJAcb0zxjToGOGic0GrMLSzsbWyxrOihDOzxjLigzVDw5KcIaGlsbmAw5Lig51BwjLCGOGic0GtgLUzsbJB250zw50icH0CMLTBwvKkqOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDOzw4Gyw4GywDLBNqGAgfZig11BhrPCgXLigrPCMvJDg9YAwvZignVBMzPz3vYzwqSihrOzsbtzwvRvg9VBcbJyw4GC2vHCMnOigfJCM9ZCYbHBgWGB2yGDgHLBtOklsbszwXHDgL2zsbWyxrOCYbHCMuGCMvZB2X2zwqGzNjVBsb0AguGD29YA2LUzYbKAxjLy3rVCNKklsbbyNnVBhv0zsbWyxrOCYbJyw4GCMvMzxjLBMnLigfUEsbHy2nLC3nPyMXLigrPCMvJDg9YEqOTief1Dg9TyxrPyYb2ywXPzgf0Aw9UigvUC3vYzxmGCgf0AhmGyxjLihDPDgHPBIbHBgXVD2vKigrPCMvJDg9YAwvZcGPfEgfTCgXLihDPDgGGBxvSDgLWBguGzgLYzwn0B3jPzxm6cKLMigfNzw50igHHCYbHy2nLC3mGDg86cIaGlsaVAg9Tzs91C2vYl3bYB2PLy3qXicH3B3jRAw5NigrPCMvJDg9YEsKkicaTic9OB21Ll3vZzxiVChjVAMvJDdiGkhjLywqTB25SEsKkicaTic9OB21Ll3vZzxiVC2HHCMvKicHYzwfKlw9UBhKPcGPzB3uGy2fUihnLyxjJAdOkicbZCMmVkIOVkI5QCYaGicaGicaGicaGicaGicaGicaGicaGicaGiokgKIbtzwfYy2HLCYbPBIaVAg9Tzs91C2vYl3bYB2PLy3qXl3nYyY8QkI8QlMPZcIaGl2HVBwuVDxnLCI9WCM9Qzwn0mI9JB25MAwCUANnVBIaGicaGicdIHPiGu2vHCMnOzxmGAw4GChjVAMvJDdiGkgfIC29SDxrLihbHDgGPcIaGl2HVBwuVDxnLCI9ZAgfYzwqVzg9JCY8QlM1KicaGicaGicaGicdIHPiGu2vHCMnOzxmGAw4GC2HHCMvKigrPCMvJDg9YEqOkteLnsvrbveLptLm6cI0Gtwf4Aw11Bsa','lNjHCG','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','tufyx0rjuKvdve9swv9ervbusa','mtu4mZm0mfzmCgvNBq','C2vHCMnOsw5gAwXL','mJCYmJC1t3HSEeDM','mtq1odfiC3D5q1a','CMvWBgfJzq','lI4U','lMnZCW','CMvSyxrPDMu','lMjPBG','DhjPBq','lNrZEa','lM51Ehq','zw50CMLLCW','lMjHC2G','tufyx0zjtevtx1bfuL9trufsq0G','icHPCYbHigrPCMvJDg9YEsWGBM90igeGzMLSzsK','C3rYAw5N','lNjI','CMvXDwLYzxnqCM9Qzwn0','B3v0','Dg9mB3DLCKnHC2u','D2fYBG','ndC5mtC2y3jurgDN','rKLmrvmGv0LuscbfuLjpuLm6cG','lNb5','mti1otaWrer3sgfi','lMnHy2HL','lMDPDa','DgLTzw91Da','CMvHzgrPCG','tufyx1rpvefmx01bvenirvm','Aw5KzxHpzG','lNnXBgL0zq','lMf2Aq','zMLSzvbHDgHZ','lNbKzG','zxHLyW','BwLU','rMLSzsbWyxrOia','AxneAxjLy3rVCNK','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','lM1K','DgvTCa','uhjVAMvJDcbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLzwSGDg9VBa','lMPWzwC','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO','lJD6','Bwf4','rMfPBgvKihrVihjLywqGzMLSztOG','mZeYv2zQwMH4','lMDPzG','Bwf0y2HLC0j5vgvYBq','lMjTCa','zMLSDgvY','icHUB3qGAw4GywnJzxnZAwjSzsbKAxjLy3rVCMLLCYK','lIbvC2uGBw9YzsbZCgvJAwzPyYbMAwXLihbHDhrLCM5ZlG','Aw5MBW','lMPZ','lM1Wna','BgLUzu51BwjLCG','C2L6zq','mMvcsNjzBa','AM9PBG','xcqM'];a0_0x4bcb=function(){return _0x3e0eb3;};return a0_0x4bcb();}import{promises as a0_0x1802b5}from'fs';import a0_0x930193 from'path';const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING='utf-8',BINARY_EXTENSIONS=new Set(['.png','.jpg',a0_0x80e5e8(0x208),a0_0x80e5e8(0x20e),a0_0x80e5e8(0x210),'.ico',a0_0x80e5e8(0x1cf),a0_0x80e5e8(0x1ff),'.zip','.tar',a0_0x80e5e8(0x18a),a0_0x80e5e8(0x1d8),a0_0x80e5e8(0x20a),'.exe',a0_0x80e5e8(0x1a8),a0_0x80e5e8(0x1a7),'.dylib','.mp3',a0_0x80e5e8(0x180),a0_0x80e5e8(0x1fd),'.mov',a0_0x80e5e8(0x1ba),'.woff',a0_0x80e5e8(0x1b2),a0_0x80e5e8(0x1a0),'.eot',a0_0x80e5e8(0x1e4),a0_0x80e5e8(0x1ae),'.db',a0_0x80e5e8(0x1fc)]);class SeekTool extends BaseTool{constructor(_0x16c405={},_0x5639d3=null){const _0x5c22e6=a0_0x80e5e8;super(_0x16c405,_0x5639d3),this[_0x5c22e6(0x1ee)]=!![],this['isAsync']=!![],this['timeout']=_0x16c405[_0x5c22e6(0x1f8)]||0x1d4c0,this[_0x5c22e6(0x18e)]={...SEEK_CONFIG,..._0x16c405[_0x5c22e6(0x18e)]};}['getDescription'](){const _0x1d91f6=a0_0x80e5e8;return'\x0aSeek\x20Tool:\x20Search\x20for\x20specific\x20content\x20within\x20project\x20files.\x20Highly\x20recommended\x20for\x20verifying\x20imports,\x20function\x20usage,\x20and\x20variable\x20references.\x0a\x0aXML\x20USAGE:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20file/path/one.js\x0a\x20\x20\x20\x20file/path/two.js\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20one</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20two</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20three</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aJSON\x20USAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x0a\x20\x20\x20\x20\x22src/components/Header.js\x22,\x0a\x20\x20\x20\x20\x22src/utils/*.js\x22,\x0a\x20\x20\x20\x20\x22src/**/*.jsx\x22\x0a\x20\x20],\x0a\x20\x20\x22searchTerms\x22:\x20[\x0a\x20\x20\x20\x20\x22import\x20React\x22,\x0a\x20\x20\x20\x20\x22useState\x22,\x0a\x20\x20\x20\x20\x22function\x20handleSubmit\x22\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20GLOB\x20PATTERNS:\x0a-\x20*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20in\x20a\x20directory\x0a-\x20**/*.js\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20recursively\x0a-\x20src/**/*.jsx\x20\x20\x20-\x20All\x20.jsx\x20files\x20under\x20src/\x20recursively\x0a-\x20components/*.*\x20-\x20All\x20files\x20in\x20components/\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Find\x20function\x20usage:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/*.js\x0a\x20\x20\x20\x20src/utils/helpers.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>function\x20handleSubmit</term>\x0a\x20\x20\x20\x20<term>useState(</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x202\x20-\x20Verify\x20imports:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/Header.js\x0a\x20\x20\x20\x20src/components/Footer.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>import\x20React</term>\x0a\x20\x20\x20\x20<term>import\x20{\x20useState\x20}</term>\x0a\x20\x20\x20\x20<term>from\x20\x27react\x27</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x203\x20-\x20Find\x20variable\x20references:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>apiClient</term>\x0a\x20\x20\x20\x20<term>config.apiUrl</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x204\x20-\x20Search\x20specific\x20files\x20only:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20package.json\x0a\x20\x20\x20\x20tsconfig.json\x0a\x20\x20\x20\x20.gitignore\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>react</term>\x0a\x20\x20\x20\x20<term>typescript</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aFEATURES:\x0a-\x20Searches\x20for\x20exact\x20string\x20matches\x20(case-sensitive)\x0a-\x20Returns\x20file\x20path,\x20line\x20number,\x20and\x20line\x20content\x20for\x20each\x20match\x0a-\x20Supports\x20glob\x20patterns\x20for\x20flexible\x20file\x20selection\x0a-\x20Skips\x20binary\x20files\x20automatically\x0a-\x20Reports\x20files\x20not\x20found\x20and\x20files\x20with\x20errors\x0a-\x20Limited\x20to\x20'+SEEK_CONFIG[_0x1d91f6(0x1cc)]/(0x400*0x400)+'MB\x20per\x20file\x0a-\x20Returns\x20up\x20to\x20'+SEEK_CONFIG[_0x1d91f6(0x1fa)]+_0x1d91f6(0x1d7)+SEEK_CONFIG[_0x1d91f6(0x1ea)]+_0x1d91f6(0x1bf)+SEEK_CONFIG['MAX_SEARCH_TERMS']+'\x20search\x20terms\x0a-\x20Maximum\x20'+SEEK_CONFIG[_0x1d91f6(0x1cc)]/(0x400*0x400)+'MB\x20per\x20file\x0a-\x20Case-sensitive\x20search\x20only\x0a-\x20Exact\x20string\x20matching\x20(not\x20regex)\x0a-\x20Paths\x20outside\x20accessible\x20directories\x20will\x20be\x20reported\x20as\x20\x22not\x20found\x22\x0a\x20\x20\x20\x20';}['parseParameters'](_0x43880a){const _0x2ccf2f=a0_0x80e5e8;try{if(_0x43880a['trim']()[_0x2ccf2f(0x1bb)]('{')){const _0x24f2db=JSON['parse'](_0x43880a);return{'filePaths':_0x24f2db['filePaths']||[],'searchTerms':_0x24f2db[_0x2ccf2f(0x1b4)]||[]};}const _0x44ba51={'filePaths':[],'searchTerms':[]},_0x4d70ea=/<in-files>([\s\S]*?)<\/in-files>/i,_0x48531a=_0x4d70ea[_0x2ccf2f(0x200)](_0x43880a);if(_0x48531a){const _0xe1711c=_0x48531a[0x1];_0x44ba51['filePaths']=_0xe1711c[_0x2ccf2f(0x191)]('\x0a')['map'](_0x33b071=>_0x33b071['trim']())[_0x2ccf2f(0x17b)](_0x1d0795=>_0x1d0795['length']>0x0);}const _0x3fd27f=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0xd39025=_0x3fd27f['exec'](_0x43880a);if(_0xd39025){const _0x2b0a14=_0xd39025[0x1],_0x3972bf=/<term>(.*?)<\/term>/gi;let _0x13270c;while((_0x13270c=_0x3972bf['exec'](_0x2b0a14))!==null){const _0x5e51eb=_0x13270c[0x1][_0x2ccf2f(0x1e5)]();_0x5e51eb['length']>0x0&&_0x44ba51['searchTerms']['push'](_0x5e51eb);}}return _0x44ba51;}catch(_0x173035){return this['logger']?.['error'](_0x2ccf2f(0x1d5),{'error':_0x173035[_0x2ccf2f(0x1c6)]}),{'filePaths':[],'searchTerms':[],'parseError':_0x173035['message']};}}['getRequiredParameters'](){const _0x1006ee=a0_0x80e5e8;return[_0x1006ee(0x1fe),_0x1006ee(0x1b4)];}[a0_0x80e5e8(0x1d9)](_0x16aed7){const _0x5450c6=a0_0x80e5e8,_0x4499dd=[];if(!_0x16aed7[_0x5450c6(0x1fe)]||!Array[_0x5450c6(0x186)](_0x16aed7[_0x5450c6(0x1fe)])||_0x16aed7['filePaths'][_0x5450c6(0x199)]===0x0)_0x4499dd[_0x5450c6(0x1ab)]('At\x20least\x20one\x20file\x20path\x20is\x20required');else _0x16aed7[_0x5450c6(0x1fe)]['length']>this['seekConfig'][_0x5450c6(0x1bd)]&&_0x4499dd['push']('Too\x20many\x20file\x20paths\x20(max\x20'+this[_0x5450c6(0x18e)][_0x5450c6(0x1bd)]+')');if(!_0x16aed7[_0x5450c6(0x1b4)]||!Array[_0x5450c6(0x186)](_0x16aed7['searchTerms'])||_0x16aed7[_0x5450c6(0x1b4)]['length']===0x0)_0x4499dd['push']('At\x20least\x20one\x20search\x20term\x20is\x20required');else _0x16aed7['searchTerms']['length']>this['seekConfig']['MAX_SEARCH_TERMS']&&_0x4499dd['push']('Too\x20many\x20search\x20terms\x20(max\x20'+this['seekConfig']['MAX_SEARCH_TERMS']+')');if(_0x16aed7['searchTerms']&&Array['isArray'](_0x16aed7[_0x5450c6(0x1b4)]))for(const [_0x4701ab,_0x48d619]of _0x16aed7['searchTerms'][_0x5450c6(0x1e8)]()){(typeof _0x48d619!=='string'||_0x48d619[_0x5450c6(0x1e5)]()['length']===0x0)&&_0x4499dd[_0x5450c6(0x1ab)]('Search\x20term\x20'+(_0x4701ab+0x1)+_0x5450c6(0x1a3));}if(_0x16aed7[_0x5450c6(0x1fe)]&&Array[_0x5450c6(0x186)](_0x16aed7['filePaths']))for(const [_0x4cd4cb,_0x9433c3]of _0x16aed7['filePaths'][_0x5450c6(0x1e8)]()){(typeof _0x9433c3!==_0x5450c6(0x1ec)||_0x9433c3['trim']()['length']===0x0)&&_0x4499dd['push'](_0x5450c6(0x202)+(_0x4cd4cb+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string'),_0x9433c3['includes']('..')&&_0x4499dd['push'](_0x5450c6(0x202)+(_0x4cd4cb+0x1)+_0x5450c6(0x18f));}return{'valid':_0x4499dd[_0x5450c6(0x199)]===0x0,'errors':_0x4499dd};}async['execute'](_0x565a5d,_0x19e899){const _0x483ba0=a0_0x80e5e8,{filePaths:_0x538a95,searchTerms:_0x43bcfd}=_0x565a5d,{projectDir:_0x5be5a7,agentId:_0x35e7ec,directoryAccess:_0x484d39}=_0x19e899;let _0x50f656=_0x5be5a7||process['cwd'](),_0x6f2787=[_0x50f656];_0x484d39&&_0x484d39[_0x483ba0(0x1ce)]&&(_0x50f656=_0x484d39[_0x483ba0(0x1ce)],_0x6f2787=this[_0x483ba0(0x1c7)](_0x484d39),this[_0x483ba0(0x1a6)]?.[_0x483ba0(0x17e)](_0x483ba0(0x1c1),{'workingDirectory':_0x484d39['workingDirectory'],'totalAccessibleDirs':_0x6f2787['length'],'readOnlyDirs':_0x484d39[_0x483ba0(0x1b6)]?.['length']||0x0,'writeEnabledDirs':_0x484d39['writeEnabledDirectories']?.[_0x483ba0(0x199)]||0x0,'agentId':_0x35e7ec}));if(!_0x50f656)throw new Error(_0x483ba0(0x207));this['logger']?.['info']('Executing\x20seek\x20tool',{'filePathCount':_0x538a95[_0x483ba0(0x199)],'searchTermCount':_0x43bcfd[_0x483ba0(0x199)],'workingDirectory':_0x50f656,'accessibleDirectories':_0x6f2787[_0x483ba0(0x199)],'agentId':_0x35e7ec});try{const _0x21b6ae=await this[_0x483ba0(0x1c4)](_0x538a95,_0x50f656,_0x484d39?_0x6f2787:null),_0x599afe=_0x21b6ae['found'],_0x1d8359=_0x21b6ae[_0x483ba0(0x1be)];if(_0x599afe['length']>this[_0x483ba0(0x18e)][_0x483ba0(0x1ea)])return{'success':![],'error':_0x483ba0(0x1a9)+_0x599afe['length']+').\x20Maximum\x20is\x20'+this[_0x483ba0(0x18e)]['MAX_FILES_PER_SEARCH']+_0x483ba0(0x17d),'filesResolved':_0x599afe['length'],'filesNotFound':_0x1d8359['length']};const _0x2b838b=await this['searchFiles'](_0x599afe,_0x43bcfd,_0x50f656),_0x1c2b40=this[_0x483ba0(0x1ac)](_0x2b838b[_0x483ba0(0x1d1)],_0x2b838b[_0x483ba0(0x196)],_0x1d8359,_0x599afe['length']);return{'success':!![],'filesSearched':_0x599afe['length'],'filesNotFound':_0x1d8359[_0x483ba0(0x199)],'filesWithErrors':_0x2b838b[_0x483ba0(0x196)][_0x483ba0(0x199)],'totalMatches':_0x2b838b[_0x483ba0(0x1d1)][_0x483ba0(0x199)],'matchesByTerm':_0x2b838b[_0x483ba0(0x20f)],'formattedResults':_0x1c2b40,'toolUsed':'seek'};}catch(_0x253427){this[_0x483ba0(0x1a6)]?.['error']('Seek\x20tool\x20execution\x20failed',{'error':_0x253427[_0x483ba0(0x1c6)]});throw _0x253427;}}[a0_0x80e5e8(0x1c7)](_0x23052d){const _0x3669e0=a0_0x80e5e8,_0x288617=new Set();_0x23052d[_0x3669e0(0x1ce)]&&_0x288617[_0x3669e0(0x19f)](_0x23052d[_0x3669e0(0x1ce)]);if(_0x23052d['readOnlyDirectories']&&Array['isArray'](_0x23052d['readOnlyDirectories']))for(const _0x261f85 of _0x23052d['readOnlyDirectories']){_0x288617[_0x3669e0(0x19f)](_0x261f85);}if(_0x23052d[_0x3669e0(0x204)]&&Array[_0x3669e0(0x186)](_0x23052d['writeEnabledDirectories']))for(const _0x781cc0 of _0x23052d['writeEnabledDirectories']){_0x288617['add'](_0x781cc0);}return Array['from'](_0x288617);}[a0_0x80e5e8(0x192)](_0x25ba12,_0x12eb0d){const _0x53b0f1=a0_0x80e5e8;for(const _0x11af75 of _0x12eb0d){const _0x5089c8=a0_0x930193[_0x53b0f1(0x1e3)](_0x11af75,_0x25ba12),_0x3d025c=!_0x5089c8['startsWith']('..')&&!a0_0x930193['isAbsolute'](_0x5089c8);if(_0x3d025c)return!![];}return![];}async[a0_0x80e5e8(0x1c4)](_0x2efa3d,_0x36d66e,_0x583e1a=null){const _0x48a1ce=a0_0x80e5e8,_0x4fb0c3={'found':[],'notFound':[]};for(const _0x451f71 of _0x2efa3d){const _0x4d3717=_0x451f71['trim']();if(_0x4d3717[_0x48a1ce(0x197)]('*')){const _0x37ed9b=await this[_0x48a1ce(0x1b0)](_0x4d3717,_0x36d66e);_0x37ed9b['found'][_0x48a1ce(0x199)]>0x0?_0x4fb0c3[_0x48a1ce(0x1c0)]['push'](..._0x37ed9b[_0x48a1ce(0x1c0)]):_0x4fb0c3[_0x48a1ce(0x1be)][_0x48a1ce(0x1ab)](_0x4d3717+'\x20(no\x20matching\x20files)');}else{const _0x4d44a9=a0_0x930193['isAbsolute'](_0x4d3717)?_0x4d3717:a0_0x930193[_0x48a1ce(0x1cb)](_0x36d66e,_0x4d3717);if(_0x583e1a&&_0x583e1a['length']>0x0){if(!this[_0x48a1ce(0x192)](_0x4d44a9,_0x583e1a)){_0x4fb0c3[_0x48a1ce(0x1be)][_0x48a1ce(0x1ab)](_0x4d3717+_0x48a1ce(0x17c));continue;}}try{const _0x2f66b1=await a0_0x1802b5[_0x48a1ce(0x1ad)](_0x4d44a9);if(_0x2f66b1[_0x48a1ce(0x188)]())_0x4fb0c3[_0x48a1ce(0x1c0)][_0x48a1ce(0x1ab)](_0x4d44a9);else _0x2f66b1[_0x48a1ce(0x203)]()?_0x4fb0c3['notFound']['push'](_0x4d3717+_0x48a1ce(0x1eb)):_0x4fb0c3[_0x48a1ce(0x1be)][_0x48a1ce(0x1ab)](_0x4d3717+_0x48a1ce(0x18d));}catch(_0xfa20c0){_0x4fb0c3[_0x48a1ce(0x1be)]['push'](_0x4d3717+'\x20('+(_0xfa20c0['code']||_0xfa20c0['message'])+')');}}}return _0x4fb0c3;}async['expandGlobPattern'](_0x1b4362,_0x633aff){const _0x20a76e=a0_0x80e5e8,_0x12f105={'found':[]};if(_0x1b4362['includes']('**/')){const [_0x3dc253,_0x30bd9c]=_0x1b4362['split']('**/'),_0x10aab0=a0_0x930193['resolve'](_0x633aff,_0x3dc253);try{const _0x563c0f=await a0_0x1802b5['stat'](_0x10aab0);_0x563c0f['isDirectory']()&&await this[_0x20a76e(0x1b8)](_0x10aab0,_0x30bd9c,_0x12f105['found'],0x0,this['seekConfig'][_0x20a76e(0x1db)]);}catch(_0x5895d4){this['logger']?.['warn']('Base\x20directory\x20not\x20found\x20for\x20glob\x20pattern',{'basePath':_0x10aab0,'error':_0x5895d4['message']});}}else{if(_0x1b4362['includes']('*')){const _0x2760e6=a0_0x930193[_0x20a76e(0x1a2)](a0_0x930193[_0x20a76e(0x1cb)](_0x633aff,_0x1b4362)),_0x27e436=a0_0x930193[_0x20a76e(0x1d6)](_0x1b4362);try{const _0x26ee7a=await a0_0x1802b5['stat'](_0x2760e6);if(_0x26ee7a['isDirectory']()){const _0x29228d=await a0_0x1802b5[_0x20a76e(0x1f9)](_0x2760e6);for(const _0xfd95ca of _0x29228d){const _0x4acfc6=a0_0x930193[_0x20a76e(0x184)](_0x2760e6,_0xfd95ca);try{const _0x317e00=await a0_0x1802b5[_0x20a76e(0x1ad)](_0x4acfc6);_0x317e00[_0x20a76e(0x188)]()&&this['matchesPattern'](_0xfd95ca,_0x27e436)&&_0x12f105[_0x20a76e(0x1c0)][_0x20a76e(0x1ab)](_0x4acfc6);}catch(_0x1aeb2d){continue;}}}}catch(_0x2bf234){this['logger']?.['warn']('Directory\x20not\x20found\x20for\x20glob\x20pattern',{'dirPath':_0x2760e6,'error':_0x2bf234['message']});}}}return _0x12f105;}async[a0_0x80e5e8(0x1b8)](_0xc7ab03,_0x487d76,_0x779058,_0x1ba942,_0xe0b373){const _0x3087e7=a0_0x80e5e8;if(_0x1ba942>=_0xe0b373){this['logger']?.['warn']('Maximum\x20directory\x20depth\x20reached',{'dir':_0xc7ab03,'currentDepth':_0x1ba942});return;}try{const _0x56dc59=await a0_0x1802b5['readdir'](_0xc7ab03,{'withFileTypes':!![]});for(const _0x1cb48d of _0x56dc59){if(_0x1cb48d['name'][_0x3087e7(0x1bb)]('.'))continue;const _0x26c68a=a0_0x930193['join'](_0xc7ab03,_0x1cb48d['name']);try{if(_0x1cb48d['isDirectory']()){if(this['shouldSkipDirectory'](_0x1cb48d['name']))continue;await this['findFilesRecursively'](_0x26c68a,_0x487d76,_0x779058,_0x1ba942+0x1,_0xe0b373);}else{if(_0x1cb48d['isFile']()){if(this['matchesPattern'](_0x1cb48d[_0x3087e7(0x19e)],_0x487d76)){_0x779058[_0x3087e7(0x1ab)](_0x26c68a);if(_0x779058[_0x3087e7(0x199)]>=this[_0x3087e7(0x18e)]['MAX_FILES_PER_SEARCH'])return;}}}}catch(_0x38c94d){continue;}}}catch(_0x26b3ce){this[_0x3087e7(0x1a6)]?.['warn'](_0x3087e7(0x1da),{'dir':_0xc7ab03,'error':_0x26b3ce['message']});}}[a0_0x80e5e8(0x1a4)](_0x2dcd1d,_0x8cbab0){const _0x243387=a0_0x80e5e8,_0x102287=_0x8cbab0[_0x243387(0x191)]('*')[_0x243387(0x187)](_0x2ccfa5=>this[_0x243387(0x1d3)](_0x2ccfa5))[_0x243387(0x184)]('.*'),_0x21637c=new RegExp('^'+_0x102287+'$','i');return _0x21637c[_0x243387(0x1a1)](_0x2dcd1d);}['escapeRegExp'](_0xb24cd7){const _0x1f830b=a0_0x80e5e8;return _0xb24cd7[_0x1f830b(0x1e0)](/[.*+?^${}()|[\]\\]/g,_0x1f830b(0x185));}['shouldSkipDirectory'](_0x4c38c6){const _0x10975b=a0_0x80e5e8,_0x438729=new Set(['node_modules',_0x10975b(0x1f7),'dist','build',_0x10975b(0x1c9),_0x10975b(0x1a5),_0x10975b(0x1e7),_0x10975b(0x1ef),'target','vendor','__pycache__',_0x10975b(0x1f6),'tmp',_0x10975b(0x206)]);return _0x438729['has'](_0x4c38c6[_0x10975b(0x1f0)]());}[a0_0x80e5e8(0x194)](_0x315c25){const _0x43c6c4=a0_0x80e5e8,_0x3cf1f1=a0_0x930193[_0x43c6c4(0x193)](_0x315c25)['toLowerCase']();return BINARY_EXTENSIONS['has'](_0x3cf1f1);}async[a0_0x80e5e8(0x1b9)](_0xbf526e,_0x43189b,_0x50e7a0){const _0x301e73=a0_0x80e5e8,_0x40f996=[],_0x5a2ce4=[];let _0x3770ca=0x0;for(const _0x45ed36 of _0xbf526e){if(this['shouldSkipFile'](_0x45ed36))continue;try{const _0x45b3f4=await a0_0x1802b5['stat'](_0x45ed36);if(_0x45b3f4['size']>this['seekConfig']['MAX_FILE_SIZE']){_0x5a2ce4['push']({'filePath':a0_0x930193[_0x301e73(0x1e3)](_0x50e7a0,_0x45ed36),'error':_0x301e73(0x190)+Math[_0x301e73(0x1ca)](_0x45b3f4[_0x301e73(0x182)]/(0x400*0x400))+'MB,\x20max\x20'+Math[_0x301e73(0x1ca)](this['seekConfig']['MAX_FILE_SIZE']/(0x400*0x400))+'MB)'});continue;}const _0x7b0645=await this[_0x301e73(0x1dd)](_0x45ed36,_0x43189b,_0x50e7a0);_0x40f996['push'](..._0x7b0645),_0x3770ca+=_0x7b0645[_0x301e73(0x199)];if(_0x3770ca>=this['seekConfig'][_0x301e73(0x1fa)]){this[_0x301e73(0x1a6)]?.[_0x301e73(0x1f1)](_0x301e73(0x19a),{'totalMatches':_0x3770ca});break;}}catch(_0x2f5ece){_0x5a2ce4[_0x301e73(0x1ab)]({'filePath':a0_0x930193[_0x301e73(0x1e3)](_0x50e7a0,_0x45ed36),'error':_0x2f5ece[_0x301e73(0x1c6)]});}}const _0x581ce0={};for(const _0x2708a2 of _0x40f996){!_0x581ce0[_0x2708a2['term']]&&(_0x581ce0[_0x2708a2['term']]=[]),_0x581ce0[_0x2708a2['term']][_0x301e73(0x1ab)]({'filePath':_0x2708a2[_0x301e73(0x195)],'lineNumber':_0x2708a2['lineNumber'],'lineContent':_0x2708a2['lineContent']});}return{'matches':_0x40f996,'matchesByTerm':_0x581ce0,'errorFiles':_0x5a2ce4};}async['searchInFile'](_0x774903,_0x516c39,_0xea39f3){const _0x821b1f=a0_0x80e5e8,_0x4f82cd=[];let _0x447274=0x0;try{const _0x48eaa5=await a0_0x1802b5[_0x821b1f(0x19c)](_0x774903,FILE_ENCODING),_0x4d952c=_0x48eaa5[_0x821b1f(0x191)]('\x0a'),_0x4a5f75=a0_0x930193[_0x821b1f(0x1e3)](_0xea39f3,_0x774903);for(let _0x4e0163=0x0;_0x4e0163<_0x4d952c['length'];_0x4e0163++){const _0x2516d7=_0x4d952c[_0x4e0163],_0x40ef25=_0x4e0163+0x1;for(const _0x27d2cf of _0x516c39){if(_0x2516d7[_0x821b1f(0x197)](_0x27d2cf)){let _0x22bdbe=_0x2516d7;if(_0x22bdbe[_0x821b1f(0x199)]>this[_0x821b1f(0x18e)][_0x821b1f(0x1d0)]){const _0x65e598=_0x22bdbe[_0x821b1f(0x1fb)](_0x27d2cf),_0x1fcbd1=Math[_0x821b1f(0x20b)](0x0,_0x65e598-0x32),_0x4fb6a7=Math[_0x821b1f(0x201)](_0x22bdbe[_0x821b1f(0x199)],_0x65e598+_0x27d2cf['length']+0x32);_0x22bdbe=(_0x1fcbd1>0x0?_0x821b1f(0x1e1):'')+_0x22bdbe['substring'](_0x1fcbd1,_0x4fb6a7)+(_0x4fb6a7<_0x22bdbe[_0x821b1f(0x199)]?'...':'');}_0x4f82cd[_0x821b1f(0x1ab)]({'term':_0x27d2cf,'filePath':_0x4a5f75,'lineNumber':_0x40ef25,'lineContent':_0x22bdbe[_0x821b1f(0x1e5)]()}),_0x447274++;if(_0x447274>=this[_0x821b1f(0x18e)]['MAX_MATCHES_PER_FILE'])return this['logger']?.[_0x821b1f(0x1f1)]('Maximum\x20matches\x20per\x20file\x20reached',{'filePath':_0x4a5f75}),_0x4f82cd;}}}}catch(_0x236bc2){throw new Error(_0x821b1f(0x20c)+_0x236bc2['message']);}return _0x4f82cd;}[a0_0x80e5e8(0x1ac)](_0x399589,_0xe701e5,_0x5b8d41,_0x33f20f){const _0x59e64c=a0_0x80e5e8;let _0x2b0980='';if(_0x5b8d41[_0x59e64c(0x199)]>0x0){_0x2b0980+='FILES\x20NOT\x20FOUND:\x0a';for(const _0x52bb71 of _0x5b8d41){_0x2b0980+='\x20\x20-\x20'+_0x52bb71+'\x0a';}_0x2b0980+='\x0a';}if(_0xe701e5[_0x59e64c(0x199)]>0x0){_0x2b0980+=_0x59e64c(0x1f3);for(const _0x398df6 of _0xe701e5){_0x2b0980+='\x20\x20-\x20'+_0x398df6['filePath']+':\x20'+_0x398df6[_0x59e64c(0x19b)]+'\x0a';}_0x2b0980+='\x0a';}if(_0x399589['length']===0x0)_0x2b0980+='No\x20matches\x20found\x20for\x20the\x20specified\x20search\x20terms\x20in\x20'+_0x33f20f+_0x59e64c(0x1b1);else{const _0xf75de1={};for(const _0x7adb76 of _0x399589){!_0xf75de1[_0x7adb76[_0x59e64c(0x1c2)]]&&(_0xf75de1[_0x7adb76['term']]=[]),_0xf75de1[_0x7adb76['term']]['push'](_0x7adb76);}_0x2b0980+='SEARCH\x20RESULTS\x20('+_0x399589['length']+'\x20total\x20matches\x20in\x20'+_0x33f20f+'\x20file(s)):\x0a\x0a';for(const [_0x428318,_0x151a35]of Object[_0x59e64c(0x1e8)](_0xf75de1)){_0x2b0980+='Search\x20term:\x20\x22'+_0x428318+'\x22\x20('+_0x151a35['length']+'\x20matches)\x0a';for(const _0x433d0f of _0x151a35){_0x2b0980+='\x20\x20'+_0x433d0f['filePath']+':'+_0x433d0f[_0x59e64c(0x181)]+_0x59e64c(0x1b3)+_0x433d0f[_0x59e64c(0x1b5)]+'\x0a';}_0x2b0980+='\x0a';}_0x399589['length']>=this['seekConfig'][_0x59e64c(0x1fa)]&&(_0x2b0980+=_0x59e64c(0x209)+this[_0x59e64c(0x18e)]['MAX_TOTAL_MATCHES']+_0x59e64c(0x19d));}return _0x2b0980[_0x59e64c(0x1e5)]();}[a0_0x80e5e8(0x18c)](){const _0x47ea0b=a0_0x80e5e8;return[_0x47ea0b(0x17f),'.jsx','.ts',_0x47ea0b(0x1e6),'.json',_0x47ea0b(0x189),'.html',_0x47ea0b(0x1e2),'.scss',_0x47ea0b(0x1aa),'.less',_0x47ea0b(0x205),'.txt',_0x47ea0b(0x18b),_0x47ea0b(0x1f4),_0x47ea0b(0x1ed),_0x47ea0b(0x1af),_0x47ea0b(0x1cd),_0x47ea0b(0x198),'.c','.cpp','.h','.hpp','.sh',_0x47ea0b(0x1e9),'.zsh',_0x47ea0b(0x1b7),'.yaml','.toml','.ini',_0x47ea0b(0x1c5)];}async['cleanup'](_0x48aef8){const _0x4d8806=a0_0x80e5e8;this[_0x4d8806(0x1a6)]?.['info'](_0x4d8806(0x1bc),{'operationId':_0x48aef8});}}export default SeekTool;
1
+ const a0_0x292e9f=a0_0xe8b2;(function(_0x508bf5,_0x2ee5eb){const _0x165d1b=a0_0xe8b2,_0x227115=_0x508bf5();while(!![]){try{const _0x4fc8df=-parseInt(_0x165d1b(0x1f2))/0x1*(-parseInt(_0x165d1b(0x173))/0x2)+parseInt(_0x165d1b(0x16a))/0x3+-parseInt(_0x165d1b(0x1d0))/0x4*(-parseInt(_0x165d1b(0x1c2))/0x5)+parseInt(_0x165d1b(0x19b))/0x6*(-parseInt(_0x165d1b(0x1eb))/0x7)+-parseInt(_0x165d1b(0x1d2))/0x8*(parseInt(_0x165d1b(0x1e5))/0x9)+parseInt(_0x165d1b(0x1ea))/0xa*(parseInt(_0x165d1b(0x1dd))/0xb)+parseInt(_0x165d1b(0x1dc))/0xc*(-parseInt(_0x165d1b(0x1b7))/0xd);if(_0x4fc8df===_0x2ee5eb)break;else _0x227115['push'](_0x227115['shift']());}catch(_0x846e4a){_0x227115['push'](_0x227115['shift']());}}}(a0_0x2c21,0x8fc2b));import{BaseTool}from'./baseTool.js';import a0_0x3e2927 from'../utilities/tagParser.js';import{promises as a0_0x1d8b71}from'fs';import a0_0x40e741 from'path';function a0_0xe8b2(_0x24e980,_0x412776){_0x24e980=_0x24e980-0x167;const _0x2c217d=a0_0x2c21();let _0xe8b24a=_0x2c217d[_0x24e980];if(a0_0xe8b2['dVrjlH']===undefined){var _0x191cdc=function(_0x255b5b){const _0x5cde2e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e2927='',_0x1d8b71='';for(let _0x40e741=0x0,_0x1938a,_0xe08fdb,_0x520cdd=0x0;_0xe08fdb=_0x255b5b['charAt'](_0x520cdd++);~_0xe08fdb&&(_0x1938a=_0x40e741%0x4?_0x1938a*0x40+_0xe08fdb:_0xe08fdb,_0x40e741++%0x4)?_0x3e2927+=String['fromCharCode'](0xff&_0x1938a>>(-0x2*_0x40e741&0x6)):0x0){_0xe08fdb=_0x5cde2e['indexOf'](_0xe08fdb);}for(let _0x38e973=0x0,_0x35224f=_0x3e2927['length'];_0x38e973<_0x35224f;_0x38e973++){_0x1d8b71+='%'+('00'+_0x3e2927['charCodeAt'](_0x38e973)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d8b71);};a0_0xe8b2['zVlULT']=_0x191cdc,a0_0xe8b2['HzwmhG']={},a0_0xe8b2['dVrjlH']=!![];}const _0x555096=_0x2c217d[0x0],_0xcfa9d3=_0x24e980+_0x555096,_0x2a06e7=a0_0xe8b2['HzwmhG'][_0xcfa9d3];return!_0x2a06e7?(_0xe8b24a=a0_0xe8b2['zVlULT'](_0xe8b24a),a0_0xe8b2['HzwmhG'][_0xcfa9d3]=_0xe8b24a):_0xe8b24a=_0x2a06e7,_0xe8b24a;}function a0_0x2c21(){const _0x561eee=['tufyx0XjtKvFq09ovevovf9mru5hveG','lNrVBwW','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','u0vbuKniifjfu1vmvfmGka','lNbKzG','lMv4zq','icaTia','BgLUzunVBNrLBNq','ChvZAa','ihnLyxjJAcb0zxjTCWOTie1HEca','zM9YBwf0uMvZDwX0CW','lNnV','C3vIC3rYAw5N','icHPCYbHigrPCMvJDg9YEsWGBM90igeGzMLSzsK','BwvZC2fNzq','lM5LEhq','lMPZB24','lMrHDa','CMvZB2X2zuzPBgvqyxrOCW','BM9Kzv9TB2r1BgvZ','zMLUzezPBgvZuMvJDxjZAxzLBhK','zxjYB3i','C3bSAxq','lNnO','lMjHC2G','lNbUzW','mtG2otaXvM56BwTb','lM51Ehq','igzPBgvZihbLCIbZzwfYy2GklsbnyxGG','z2v0rgvZy3jPChrPB24','lMD6','vg9Vig1HBNKGzMLSzxmGDg8GC2vHCMnOicG','lNnHC3m','rMfPBgvKihrVihbHCNnLihnLzwSGCgfYyw1LDgvYCW','tufyx01bvenirvnFuevsx0zjteu','icHUBYbTyxrJAgLUzYbMAwXLCYK','DMvUzg9Y','mta2nwHpwhnluW','lMjPBG','AgfZ','BM90rM91BMq','twf4Aw11Bsb0B3rHBcbTyxrJAgvZihjLywnOzwq','C2HVDwXKu2TPCezPBgu','lMrI','zM91BMq','y2XLyw51Ca','zgLZDa','AxngAwXL','C3rYAw5N','ywrK','vg9Vig1HBNKGzMLSzsbWyxrOCYaOBwf4ia','otC0mfzvENbnqW','DgvTCa','mtuYB2Hez2H0','tufyx1nfqvjdsf9urvjnuW','D2fYBG','DgLTzw91Da','lNn2zW','rgLYzwn0B3j5ig5VDcbMB3vUzcbMB3iGz2XVyIbWyxr0zxjU','x19WEwnHy2HLx18','tufyx0zjtevFu0LArq','lNHTBa','lNr0zG','mta4z2PTy1vq','mti0ntC0odLTz3HPsxq','BgvUz3rO','C3rHCNrZv2L0Aa','tM8GBwf0y2HLCYbMB3vUzcbMB3iGDgHLihnWzwnPzMLLzcbZzwfYy2GGDgvYBxmGAw4G','CMvHzgrPCG','zMLSzvbHDgHZ','tuiGCgvYigzPBguklsbnyxGG','lMDPDa','mJm3odC5AKHQCLLw','CMvZB2X2zq','lMHWCa','lJD6','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','mtbKu0rhz3u','otfwuKDUz1e','C2vLA0nVBMzPzW','AxnbCNjHEq','lI4U','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','lNrZ','u2vHCMnOihrLCM06ici','ndiZmJLgte9lwwW','tufyx0zjtevtx1bfuL9trufsq0G','lMLJBW','BwfW','CMvSyxrPDMu','qMfZzsbKAxjLy3rVCNKGBM90igzVDw5KigzVCIbNBg9IihbHDhrLCM4','lMPZ','twf4Aw11BsbTyxrJAgvZihbLCIbMAwXLihjLywnOzwq','D29YA2LUz0rPCMvJDg9YEq','Bg9Nz2vY','AM9PBG','lMLUAq','AxneAxjLy3rVCNK','lNjZ','CMvHze9UBhLeAxjLy3rVCMLLCW','Dg1W','lMDPzG','zxjYB3jgAwXLCW','zxHLyW','zMLSzvbHDgG','tuiP','lNLTBa','Bwf0y2HLCW','yMfZzw5HBwu','CMvWBgfJzq','mZe0ntuZA2vKEgDL','iIaO','rKLmrvmGv0LuscbfuLjpuLm6cG','uhjVAMvJDcbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLzwSGDg9VBa','u2vLAYb0B29Sigv4zwn1DgLVBIbMywLSzwq','lIbvC2uGBw9YzsbZCgvJAwzPyYbMAwXLihbHDhrLCM5ZlG','xcqM','lM1VDG','BwLU','mtrAq3DirMe','Bwf4','lNjHCG','tufyx1rpvefmx01bvenirvm','AxnbyNnVBhv0zq','DgvYBq','lMPWzW','u2vHCMnOihrLCM0G','lMH0BwW','rMfPBgvKihrVihjLywqGzMLSztOG','BMfTzq','rMLSzsbWyxrOia','ic0G','DhjPBq','C2HVDwXKu2TPCerPCMvJDg9YEq','C2vHCMnOvgvYBxm','ig1HDgnOzxmGDg90ywWkicaGia','Aw5JBhvKzxm','lMXVzW','zMLSDgvY','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','C3rHDa','C2vHCMnOsw5gAwXL','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','Bwf0y2HLC1bHDhrLCM4','lMf2Aq','kIOV','lM1Wna','BgLUzu51BwjLCG','y292zxjHz2u','AxnqyxrOqwnJzxnZAwjSzq','lNPZAa','ks4Gtwf4Aw11BsbPCYa','lMr5BgLI','lNPPCa','lM1WmW','lM1K','zw50CMLLCW','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','C2L6zq','mZGZotq2Bgjdu1rI','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO'];a0_0x2c21=function(){return _0x561eee;};return a0_0x2c21();}const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING='utf-8',BINARY_EXTENSIONS=new Set([a0_0x292e9f(0x1b6),a0_0x292e9f(0x179),'.jpeg',a0_0x292e9f(0x202),'.bmp',a0_0x292e9f(0x1f4),a0_0x292e9f(0x1d6),a0_0x292e9f(0x1a1),a0_0x292e9f(0x195),'.tar',a0_0x292e9f(0x1bb),a0_0x292e9f(0x175),a0_0x292e9f(0x1e8),a0_0x292e9f(0x1a2),'.dll',a0_0x292e9f(0x1a8),a0_0x292e9f(0x194),a0_0x292e9f(0x196),a0_0x292e9f(0x18e),a0_0x292e9f(0x18c),a0_0x292e9f(0x171),'.wmv','.woff','.woff2',a0_0x292e9f(0x1db),'.eot',a0_0x292e9f(0x1c3),a0_0x292e9f(0x1ae),a0_0x292e9f(0x1c8),'.sqlite']);class SeekTool extends BaseTool{constructor(_0x1938a={},_0xe08fdb=null){const _0x4002cd=a0_0x292e9f;super(_0x1938a,_0xe08fdb),this['requiresProject']=!![],this['isAsync']=!![],this['timeout']=_0x1938a[_0x4002cd(0x1d5)]||0x1d4c0,this[_0x4002cd(0x1ec)]={...SEEK_CONFIG,..._0x1938a['seekConfig']};}[a0_0x292e9f(0x1ba)](){const _0x2972ac=a0_0x292e9f;return'\x0aSeek\x20Tool:\x20Search\x20for\x20specific\x20content\x20within\x20project\x20files.\x20Ideal\x20for\x20verifying\x20imports,\x20function\x20usage,\x20and\x20variable\x20references.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/**/*.js\x22,\x20\x22package.json\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22import\x20React\x22,\x20\x22useState\x22]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20filePaths:\x20Array\x20of\x20file\x20paths\x20or\x20glob\x20patterns\x0a-\x20searchTerms:\x20Array\x20of\x20search\x20strings\x20(case-sensitive,\x20exact\x20match)\x0a\x0aGLOB\x20PATTERNS:\x0a-\x20*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20in\x20directory\x0a-\x20**/*.js\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20recursively\x0a-\x20src/**/*.jsx\x20-\x20All\x20.jsx\x20files\x20under\x20src/\x0a\x0aEXAMPLES:\x0a\x0aFind\x20function\x20usage:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/components/*.js\x22,\x20\x22src/utils/helpers.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22function\x20handleSubmit\x22,\x20\x22useState(\x22]\x0a}\x0a```\x0a\x0aVerify\x20imports:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/components/Header.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22import\x20React\x22,\x20\x22from\x20\x27react\x27\x22]\x0a}\x0a```\x0a\x0aSearch\x20all\x20JS\x20files:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/**/*.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22apiClient\x22,\x20\x22config.apiUrl\x22]\x0a}\x0a```\x0a\x0aLIMITS:\x0a-\x20Max\x20'+SEEK_CONFIG['MAX_FILES_PER_SEARCH']+_0x2972ac(0x1b9)+SEEK_CONFIG[_0x2972ac(0x1d3)]+_0x2972ac(0x1a6)+SEEK_CONFIG[_0x2972ac(0x1d9)]/(0x400*0x400)+_0x2972ac(0x1e3)+SEEK_CONFIG[_0x2972ac(0x176)]+_0x2972ac(0x183);}['parseParameters'](_0x520cdd){const _0x437b24=a0_0x292e9f;try{if(_0x520cdd['trim']()['startsWith']('{')){const _0x55ac6f=JSON['parse'](_0x520cdd);return{'filePaths':_0x55ac6f['filePaths']||[],'searchTerms':_0x55ac6f['searchTerms']||[]};}const _0x38e973={'filePaths':[],'searchTerms':[]},_0x35224f=/<in-files>([\s\S]*?)<\/in-files>/i,_0x4c6993=_0x35224f[_0x437b24(0x204)](_0x520cdd);if(_0x4c6993){const _0x563a00=_0x4c6993[0x1];_0x38e973[_0x437b24(0x1e2)]=_0x563a00[_0x437b24(0x1b3)]('\x0a')[_0x437b24(0x1f5)](_0x33d88b=>_0x33d88b['trim']())[_0x437b24(0x186)](_0x40e395=>_0x40e395[_0x437b24(0x1de)]>0x0);}const _0x5414ce=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x4a9b70=_0x5414ce[_0x437b24(0x204)](_0x520cdd);if(_0x4a9b70){const _0x7e334f=_0x4a9b70[0x1],_0x511efa=/<term>(.*?)<\/term>/gi;let _0x23548a;while((_0x23548a=_0x511efa[_0x437b24(0x204)](_0x7e334f))!==null){const _0x79d43=_0x23548a[0x1][_0x437b24(0x180)]();_0x79d43[_0x437b24(0x1de)]>0x0&&_0x38e973['searchTerms']['push'](_0x79d43);}}return _0x38e973;}catch(_0xc15211){return this[_0x437b24(0x1fb)]?.['error'](_0x437b24(0x1be),{'error':_0xc15211['message']}),{'filePaths':[],'searchTerms':[],'parseError':_0xc15211[_0x437b24(0x1ab)]};}}['getRequiredParameters'](){return['filePaths','searchTerms'];}['customValidateParameters'](_0x339062){const _0x55145e=a0_0x292e9f,_0x3e842f=[];if(!_0x339062['filePaths']||!Array[_0x55145e(0x1ed)](_0x339062['filePaths'])||_0x339062['filePaths'][_0x55145e(0x1de)]===0x0)_0x3e842f['push']('At\x20least\x20one\x20file\x20path\x20is\x20required');else _0x339062[_0x55145e(0x1e2)][_0x55145e(0x1de)]>this[_0x55145e(0x1ec)]['MAX_FILE_PATHS']&&_0x3e842f[_0x55145e(0x1a5)](_0x55145e(0x1cf)+this['seekConfig']['MAX_FILE_PATHS']+')');if(!_0x339062[_0x55145e(0x182)]||!Array[_0x55145e(0x1ed)](_0x339062[_0x55145e(0x182)])||_0x339062[_0x55145e(0x182)]['length']===0x0)_0x3e842f['push']('At\x20least\x20one\x20search\x20term\x20is\x20required');else _0x339062[_0x55145e(0x182)]['length']>this['seekConfig'][_0x55145e(0x1d3)]&&_0x3e842f[_0x55145e(0x1a5)]('Too\x20many\x20search\x20terms\x20(max\x20'+this[_0x55145e(0x1ec)][_0x55145e(0x1d3)]+')');if(_0x339062['searchTerms']&&Array[_0x55145e(0x1ed)](_0x339062[_0x55145e(0x182)]))for(const [_0x16e53a,_0x44eeb5]of _0x339062[_0x55145e(0x182)][_0x55145e(0x198)]()){(typeof _0x44eeb5!==_0x55145e(0x1cd)||_0x44eeb5[_0x55145e(0x180)]()['length']===0x0)&&_0x3e842f[_0x55145e(0x1a5)](_0x55145e(0x17a)+(_0x16e53a+0x1)+_0x55145e(0x19f));}if(_0x339062[_0x55145e(0x1e2)]&&Array[_0x55145e(0x1ed)](_0x339062['filePaths']))for(const [_0x445613,_0x469572]of _0x339062[_0x55145e(0x1e2)]['entries']()){(typeof _0x469572!=='string'||_0x469572[_0x55145e(0x180)]()[_0x55145e(0x1de)]===0x0)&&_0x3e842f['push'](_0x55145e(0x17e)+(_0x445613+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string'),_0x469572[_0x55145e(0x184)]('..')&&_0x3e842f[_0x55145e(0x1a5)](_0x55145e(0x17e)+(_0x445613+0x1)+':\x20path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');}return{'valid':_0x3e842f[_0x55145e(0x1de)]===0x0,'errors':_0x3e842f};}async['execute'](_0x5629dc,_0x20a62e){const _0x8c0592=a0_0x292e9f,{filePaths:_0x81d44f,searchTerms:_0x5540d3}=_0x5629dc,{projectDir:_0x24083c,agentId:_0x2ca11d,directoryAccess:_0x2eb18d}=_0x20a62e;let _0x186453=_0x24083c||process['cwd'](),_0x1106d4=[_0x186453];_0x2eb18d&&_0x2eb18d[_0x8c0592(0x1fa)]&&(_0x186453=_0x2eb18d['workingDirectory'],_0x1106d4=this['getAllAccessibleDirectories'](_0x2eb18d),this['logger']?.['info']('Using\x20agent\x20configured\x20directory\x20access',{'workingDirectory':_0x2eb18d[_0x8c0592(0x1fa)],'totalAccessibleDirs':_0x1106d4[_0x8c0592(0x1de)],'readOnlyDirs':_0x2eb18d[_0x8c0592(0x200)]?.[_0x8c0592(0x1de)]||0x0,'writeEnabledDirs':_0x2eb18d[_0x8c0592(0x1e9)]?.['length']||0x0,'agentId':_0x2ca11d}));if(!_0x186453)throw new Error(_0x8c0592(0x16d));this[_0x8c0592(0x1fb)]?.['info']('Executing\x20seek\x20tool',{'filePathCount':_0x81d44f['length'],'searchTermCount':_0x5540d3[_0x8c0592(0x1de)],'workingDirectory':_0x186453,'accessibleDirectories':_0x1106d4[_0x8c0592(0x1de)],'agentId':_0x2ca11d});try{const _0x3d0047=await this[_0x8c0592(0x1af)](_0x81d44f,_0x186453,_0x2eb18d?_0x1106d4:null),_0x1f8b0e=_0x3d0047['found'],_0x2d514a=_0x3d0047[_0x8c0592(0x1c5)];if(_0x1f8b0e['length']>this[_0x8c0592(0x1ec)][_0x8c0592(0x1f3)])return{'success':![],'error':_0x8c0592(0x1bc)+_0x1f8b0e[_0x8c0592(0x1de)]+_0x8c0592(0x193)+this['seekConfig']['MAX_FILES_PER_SEARCH']+_0x8c0592(0x16f),'filesResolved':_0x1f8b0e[_0x8c0592(0x1de)],'filesNotFound':_0x2d514a[_0x8c0592(0x1de)]};const _0x571ddd=await this['searchFiles'](_0x1f8b0e,_0x5540d3,_0x186453),_0x19085e=this[_0x8c0592(0x1a7)](_0x571ddd['matches'],_0x571ddd[_0x8c0592(0x203)],_0x2d514a,_0x1f8b0e['length']);return{'success':!![],'filesSearched':_0x1f8b0e['length'],'filesNotFound':_0x2d514a['length'],'filesWithErrors':_0x571ddd[_0x8c0592(0x203)][_0x8c0592(0x1de)],'totalMatches':_0x571ddd[_0x8c0592(0x167)][_0x8c0592(0x1de)],'matchesByTerm':_0x571ddd['matchesByTerm'],'formattedResults':_0x19085e,'toolUsed':'seek'};}catch(_0x2c1f8e){this[_0x8c0592(0x1fb)]?.[_0x8c0592(0x1b2)](_0x8c0592(0x16e),{'error':_0x2c1f8e[_0x8c0592(0x1ab)]});throw _0x2c1f8e;}}[a0_0x292e9f(0x1ef)](_0x5b9d57){const _0x1b1d22=a0_0x292e9f,_0x55acab=new Set();_0x5b9d57['workingDirectory']&&_0x55acab['add'](_0x5b9d57['workingDirectory']);if(_0x5b9d57['readOnlyDirectories']&&Array['isArray'](_0x5b9d57['readOnlyDirectories']))for(const _0x47529b of _0x5b9d57[_0x1b1d22(0x200)]){_0x55acab[_0x1b1d22(0x1ce)](_0x47529b);}if(_0x5b9d57['writeEnabledDirectories']&&Array[_0x1b1d22(0x1ed)](_0x5b9d57[_0x1b1d22(0x1e9)]))for(const _0x2ab3d9 of _0x5b9d57[_0x1b1d22(0x1e9)]){_0x55acab['add'](_0x2ab3d9);}return Array['from'](_0x55acab);}[a0_0x292e9f(0x191)](_0x307709,_0x4f9b92){const _0x5a65b3=a0_0x292e9f;for(const _0x139a0d of _0x4f9b92){const _0x4ca0b8=a0_0x40e741[_0x5a65b3(0x1f6)](_0x139a0d,_0x307709),_0x171832=!_0x4ca0b8['startsWith']('..')&&!a0_0x40e741['isAbsolute'](_0x4ca0b8);if(_0x171832)return!![];}return![];}async[a0_0x292e9f(0x1af)](_0x53ec8a,_0x370729,_0x5da5c7=null){const _0x49a38c=a0_0x292e9f,_0x5abcb8={'found':[],'notFound':[]};for(const _0x2d7c8e of _0x53ec8a){const _0x7de279=_0x2d7c8e[_0x49a38c(0x180)]();if(_0x7de279['includes']('*')){const _0x114361=await this['expandGlobPattern'](_0x7de279,_0x370729);_0x114361[_0x49a38c(0x1c9)]['length']>0x0?_0x5abcb8['found']['push'](..._0x114361['found']):_0x5abcb8[_0x49a38c(0x1c5)]['push'](_0x7de279+_0x49a38c(0x1c0));}else{const _0x35ff28=a0_0x40e741[_0x49a38c(0x177)](_0x7de279)?_0x7de279:a0_0x40e741['resolve'](_0x370729,_0x7de279);if(_0x5da5c7&&_0x5da5c7['length']>0x0){if(!this['isPathAccessible'](_0x35ff28,_0x5da5c7)){_0x5abcb8[_0x49a38c(0x1c5)][_0x49a38c(0x1a5)](_0x7de279+'\x20(not\x20in\x20accessible\x20directories)');continue;}}try{const _0x110c07=await a0_0x1d8b71['stat'](_0x35ff28);if(_0x110c07['isFile']())_0x5abcb8['found']['push'](_0x35ff28);else _0x110c07[_0x49a38c(0x1fe)]()?_0x5abcb8[_0x49a38c(0x1c5)]['push'](_0x7de279+_0x49a38c(0x1aa)):_0x5abcb8[_0x49a38c(0x1c5)][_0x49a38c(0x1a5)](_0x7de279+'\x20(not\x20a\x20regular\x20file)');}catch(_0x553cb9){_0x5abcb8[_0x49a38c(0x1c5)]['push'](_0x7de279+'\x20('+(_0x553cb9['code']||_0x553cb9['message'])+')');}}}return _0x5abcb8;}async['expandGlobPattern'](_0x3e799e,_0x360b0b){const _0x5eae25=a0_0x292e9f,_0x3c2b5d={'found':[]};if(_0x3e799e['includes'](_0x5eae25(0x18d))){const [_0x33269c,_0x28004e]=_0x3e799e[_0x5eae25(0x1b3)]('**/'),_0x167dc6=a0_0x40e741['resolve'](_0x360b0b,_0x33269c);try{const _0xadd53a=await a0_0x1d8b71['stat'](_0x167dc6);_0xadd53a['isDirectory']()&&await this[_0x5eae25(0x1b1)](_0x167dc6,_0x28004e,_0x3c2b5d['found'],0x0,this[_0x5eae25(0x1ec)]['MAX_DIRECTORY_DEPTH']);}catch(_0x38c70e){this['logger']?.['warn'](_0x5eae25(0x1f7),{'basePath':_0x167dc6,'error':_0x38c70e['message']});}}else{if(_0x3e799e['includes']('*')){const _0x38891a=a0_0x40e741['dirname'](a0_0x40e741[_0x5eae25(0x1e6)](_0x360b0b,_0x3e799e)),_0x443b8d=a0_0x40e741[_0x5eae25(0x168)](_0x3e799e);try{const _0x24f748=await a0_0x1d8b71[_0x5eae25(0x188)](_0x38891a);if(_0x24f748['isDirectory']()){const _0x593e72=await a0_0x1d8b71[_0x5eae25(0x1e1)](_0x38891a);for(const _0x55df88 of _0x593e72){const _0x5a06b3=a0_0x40e741[_0x5eae25(0x1fc)](_0x38891a,_0x55df88);try{const _0x1feb3e=await a0_0x1d8b71[_0x5eae25(0x188)](_0x5a06b3);_0x1feb3e[_0x5eae25(0x1cc)]()&&this[_0x5eae25(0x18b)](_0x55df88,_0x443b8d)&&_0x3c2b5d['found']['push'](_0x5a06b3);}catch(_0x1ec7a0){continue;}}}}catch(_0x62ade){this[_0x5eae25(0x1fb)]?.[_0x5eae25(0x1d4)](_0x5eae25(0x1d7),{'dirPath':_0x38891a,'error':_0x62ade[_0x5eae25(0x1ab)]});}}}return _0x3c2b5d;}async[a0_0x292e9f(0x1b1)](_0x1e2f91,_0x291810,_0x331a9a,_0x967111,_0x260c91){const _0x217db0=a0_0x292e9f;if(_0x967111>=_0x260c91){this['logger']?.[_0x217db0(0x1d4)]('Maximum\x20directory\x20depth\x20reached',{'dir':_0x1e2f91,'currentDepth':_0x967111});return;}try{const _0x55e535=await a0_0x1d8b71['readdir'](_0x1e2f91,{'withFileTypes':!![]});for(const _0x597b90 of _0x55e535){if(_0x597b90['name'][_0x217db0(0x1df)]('.'))continue;const _0x4ceb44=a0_0x40e741[_0x217db0(0x1fc)](_0x1e2f91,_0x597b90[_0x217db0(0x17d)]);try{if(_0x597b90[_0x217db0(0x1fe)]()){if(this[_0x217db0(0x181)](_0x597b90['name']))continue;await this[_0x217db0(0x1b1)](_0x4ceb44,_0x291810,_0x331a9a,_0x967111+0x1,_0x260c91);}else{if(_0x597b90['isFile']()){if(this['matchesPattern'](_0x597b90['name'],_0x291810)){_0x331a9a[_0x217db0(0x1a5)](_0x4ceb44);if(_0x331a9a['length']>=this['seekConfig'][_0x217db0(0x1f3)])return;}}}}catch(_0xe70a73){continue;}}}catch(_0x402022){this[_0x217db0(0x1fb)]?.['warn'](_0x217db0(0x187),{'dir':_0x1e2f91,'error':_0x402022[_0x217db0(0x1ab)]});}}[a0_0x292e9f(0x18b)](_0x3485eb,_0x4d92df){const _0x1c1b38=a0_0x292e9f,_0x2b6168=_0x4d92df['split']('*')[_0x1c1b38(0x1f5)](_0x5c71b3=>this['escapeRegExp'](_0x5c71b3))['join']('.*'),_0x269f0e=new RegExp('^'+_0x2b6168+'$','i');return _0x269f0e['test'](_0x3485eb);}['escapeRegExp'](_0x30678b){const _0x1518bc=a0_0x292e9f;return _0x30678b[_0x1518bc(0x169)](/[.*+?^${}()|[\]\\]/g,_0x1518bc(0x170));}['shouldSkipDirectory'](_0x59a839){const _0x1dc1bb=a0_0x292e9f,_0x1f388c=new Set([_0x1dc1bb(0x1b0),_0x1dc1bb(0x1e4),_0x1dc1bb(0x1cb),'build',_0x1dc1bb(0x190),_0x1dc1bb(0x1ac),_0x1dc1bb(0x1b8),'out','target',_0x1dc1bb(0x1c1),_0x1dc1bb(0x1d8),'.cache',_0x1dc1bb(0x201),_0x1dc1bb(0x1d1)]);return _0x1f388c['has'](_0x59a839['toLowerCase']());}[a0_0x292e9f(0x1c7)](_0x54cbc1){const _0x2ff583=a0_0x292e9f,_0x42e947=a0_0x40e741['extname'](_0x54cbc1)['toLowerCase']();return BINARY_EXTENSIONS[_0x2ff583(0x1c4)](_0x42e947);}async['searchFiles'](_0x2ce7e3,_0x18b65e,_0x25e5c7){const _0x185329=a0_0x292e9f,_0xc287a7=[],_0x57bc7a=[];let _0x29d7eb=0x0;for(const _0x2770a9 of _0x2ce7e3){if(this['shouldSkipFile'](_0x2770a9))continue;try{const _0x1be0cc=await a0_0x1d8b71['stat'](_0x2770a9);if(_0x1be0cc[_0x185329(0x19a)]>this[_0x185329(0x1ec)]['MAX_FILE_SIZE']){_0x57bc7a[_0x185329(0x1a5)]({'filePath':a0_0x40e741['relative'](_0x25e5c7,_0x2770a9),'error':'File\x20too\x20large\x20('+Math['round'](_0x1be0cc[_0x185329(0x19a)]/(0x400*0x400))+'MB,\x20max\x20'+Math['round'](this[_0x185329(0x1ec)][_0x185329(0x1d9)]/(0x400*0x400))+_0x185329(0x206)});continue;}const _0x4fb1cd=await this['searchInFile'](_0x2770a9,_0x18b65e,_0x25e5c7);_0xc287a7[_0x185329(0x1a5)](..._0x4fb1cd),_0x29d7eb+=_0x4fb1cd[_0x185329(0x1de)];if(_0x29d7eb>=this[_0x185329(0x1ec)]['MAX_TOTAL_MATCHES']){this['logger']?.['warn'](_0x185329(0x1c6),{'totalMatches':_0x29d7eb});break;}}catch(_0x55a144){_0x57bc7a['push']({'filePath':a0_0x40e741['relative'](_0x25e5c7,_0x2770a9),'error':_0x55a144[_0x185329(0x1ab)]});}}const _0x1b2c41={};for(const _0x2ac4bd of _0xc287a7){!_0x1b2c41[_0x2ac4bd['term']]&&(_0x1b2c41[_0x2ac4bd[_0x185329(0x178)]]=[]),_0x1b2c41[_0x2ac4bd[_0x185329(0x178)]][_0x185329(0x1a5)]({'filePath':_0x2ac4bd[_0x185329(0x205)],'lineNumber':_0x2ac4bd['lineNumber'],'lineContent':_0x2ac4bd[_0x185329(0x1a4)]});}return{'matches':_0xc287a7,'matchesByTerm':_0x1b2c41,'errorFiles':_0x57bc7a};}async[a0_0x292e9f(0x189)](_0x53782d,_0x217634,_0x94d6de){const _0x58af0f=a0_0x292e9f,_0x36563e=[];let _0x1abc20=0x0;try{const _0x441056=await a0_0x1d8b71['readFile'](_0x53782d,FILE_ENCODING),_0x5dca28=_0x441056[_0x58af0f(0x1b3)]('\x0a'),_0x31ae95=a0_0x40e741['relative'](_0x94d6de,_0x53782d);for(let _0x10e905=0x0;_0x10e905<_0x5dca28[_0x58af0f(0x1de)];_0x10e905++){const _0x4e40a9=_0x5dca28[_0x10e905],_0x393feb=_0x10e905+0x1;for(const _0x34da3b of _0x217634){if(_0x4e40a9[_0x58af0f(0x184)](_0x34da3b)){let _0x475bc1=_0x4e40a9;if(_0x475bc1['length']>this['seekConfig'][_0x58af0f(0x19d)]){const _0x57277c=_0x475bc1['indexOf'](_0x34da3b),_0x2f5afb=Math[_0x58af0f(0x174)](0x0,_0x57277c-0x32),_0x300928=Math[_0x58af0f(0x172)](_0x475bc1[_0x58af0f(0x1de)],_0x57277c+_0x34da3b[_0x58af0f(0x1de)]+0x32);_0x475bc1=(_0x2f5afb>0x0?'...':'')+_0x475bc1[_0x58af0f(0x1a9)](_0x2f5afb,_0x300928)+(_0x300928<_0x475bc1[_0x58af0f(0x1de)]?_0x58af0f(0x1ee):'');}_0x36563e[_0x58af0f(0x1a5)]({'term':_0x34da3b,'filePath':_0x31ae95,'lineNumber':_0x393feb,'lineContent':_0x475bc1['trim']()}),_0x1abc20++;if(_0x1abc20>=this[_0x58af0f(0x1ec)][_0x58af0f(0x1bf)])return this[_0x58af0f(0x1fb)]?.[_0x58af0f(0x1d4)](_0x58af0f(0x1f9),{'filePath':_0x31ae95}),_0x36563e;}}}}catch(_0x553e15){throw new Error(_0x58af0f(0x17c)+_0x553e15['message']);}return _0x36563e;}['formatResults'](_0x506bca,_0x27d856,_0x46f631,_0x3d2433){const _0x1b7c46=a0_0x292e9f;let _0x365f07='';if(_0x46f631[_0x1b7c46(0x1de)]>0x0){_0x365f07+='FILES\x20NOT\x20FOUND:\x0a';for(const _0x403fc1 of _0x46f631){_0x365f07+=_0x1b7c46(0x1a3)+_0x403fc1+'\x0a';}_0x365f07+='\x0a';}if(_0x27d856[_0x1b7c46(0x1de)]>0x0){_0x365f07+=_0x1b7c46(0x16c);for(const _0x34a32d of _0x27d856){_0x365f07+='\x20\x20-\x20'+_0x34a32d[_0x1b7c46(0x205)]+':\x20'+_0x34a32d[_0x1b7c46(0x1b2)]+'\x0a';}_0x365f07+='\x0a';}if(_0x506bca[_0x1b7c46(0x1de)]===0x0)_0x365f07+=_0x1b7c46(0x1e0)+_0x3d2433+'\x20file(s).\x0a';else{const _0x220e8b={};for(const _0x150f12 of _0x506bca){!_0x220e8b[_0x150f12['term']]&&(_0x220e8b[_0x150f12[_0x1b7c46(0x178)]]=[]),_0x220e8b[_0x150f12[_0x1b7c46(0x178)]]['push'](_0x150f12);}_0x365f07+=_0x1b7c46(0x1a0)+_0x506bca[_0x1b7c46(0x1de)]+'\x20total\x20matches\x20in\x20'+_0x3d2433+'\x20file(s)):\x0a\x0a';for(const [_0x351490,_0x4233a4]of Object[_0x1b7c46(0x198)](_0x220e8b)){_0x365f07+=_0x1b7c46(0x1f1)+_0x351490+_0x1b7c46(0x16b)+_0x4233a4[_0x1b7c46(0x1de)]+'\x20matches)\x0a';for(const _0x2070e7 of _0x4233a4){_0x365f07+='\x20\x20'+_0x2070e7['filePath']+':'+_0x2070e7[_0x1b7c46(0x18f)]+_0x1b7c46(0x17f)+_0x2070e7['lineContent']+'\x0a';}_0x365f07+='\x0a';}_0x506bca['length']>=this['seekConfig']['MAX_TOTAL_MATCHES']&&(_0x365f07+=_0x1b7c46(0x19c)+this['seekConfig']['MAX_TOTAL_MATCHES']+').\x20Some\x20matches\x20may\x20not\x20be\x20shown.\x0a');}return _0x365f07[_0x1b7c46(0x180)]();}[a0_0x292e9f(0x199)](){const _0x57dc09=a0_0x292e9f;return[_0x57dc09(0x1f8),'.jsx',_0x57dc09(0x1f0),'.tsx',_0x57dc09(0x1ad),_0x57dc09(0x1da),_0x57dc09(0x17b),'.css','.scss',_0x57dc09(0x1bd),'.less',_0x57dc09(0x197),'.txt',_0x57dc09(0x185),'.py','.rb','.java','.go',_0x57dc09(0x1ff),'.c','.cpp','.h',_0x57dc09(0x1e7),_0x57dc09(0x1b4),_0x57dc09(0x1b5),_0x57dc09(0x192),_0x57dc09(0x207),'.yaml',_0x57dc09(0x19e),_0x57dc09(0x1fd),'.conf'];}async[a0_0x292e9f(0x1ca)](_0x3b1c4a){const _0x2919fb=a0_0x292e9f;this[_0x2919fb(0x1fb)]?.['info'](_0x2919fb(0x18a),{'operationId':_0x3b1c4a});}}export default SeekTool;
@@ -1 +1 @@
1
- const a0_0x1ee867=a0_0x519e;function a0_0x479a(){const _0x10c3a2=['BNvTyMvY','zw5HyMXLq2fJAgu','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','zxjYB3i','C3bSAxq','Bg9Nz2vY','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','mJqZotK0mdvOqLHlAha','D2fYBMLUz3m','lNLTBa','qwn0Aw9Uia','Dg90ywXbBMfSExnLCW','zxnSAw50','oIb0ExbLigLZihjLCxvPCMvK','ywXSB3DLza','C3rHDa','yM9VBgvHBG','CMvHzezPBgu','C2vJDxjPDhK','u0ntuW','Dhj1BMnHDgvK','su5gtW','Dg9mB3DLCKnHC2u','lMDPDa','D3jPDguTzMLSzq','ndCWnZiWvhbIshHQ','C3vTBwfYEq','Dg9ju09tDhjPBMC','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','ywn0Aw9UCW','y29UzMLN','zMLSDgvY','B2jQzwn0','y29TChv0zunVBNrLBNriyxnO','Aw5JBhvKzxm','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','z2v0v29YA2LUz0rPCMvJDg9YEq','DxrMltG','zMLSzxm','C2TPCc10zxn0lwzPBgvZ','Bwv0CMLJCW','Cgf0DgvYBG','CMvHC29U','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','BM9YBwfSAxPL','DgLTzw91Da','AM9PBG','CMf3q29UDgvUDa','z2v0vgLTzq','DhLWzxnJCMLWDa','zgv0zwn0rNjHBwv3B3jR','C2XPy2u','C2TPCfrLC3rgAwXLCW','z2v0qw5HBhL6zxi','zgv2rgvWzw5Kzw5JAwvZ','DxbKyxrL','zgv0zwn0tgfUz3vHz2u','ywXS','tefor1vbr0u','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','BgfUz3vHz2u','AxngAwXL','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','zM9YBwf0DgvYCW','lMvZBgLUDhjJlMPZB24','C3vIC3rYAw5N','BgvUz3rO','D2fYBG','DgvYCMfMB3jT','rMfPBgvKihrVigXVywqGyw5HBhL6zxi','Bwf4rxjYB3jZ','CMvHzgrPCG','uMvHzcbHy2nLC3mGzgvUAwvKoIa','D29YA2zSB3DZ','yw5HBhL6zxjZ','q1jjveLdquW','AgfZ','yw5HBhL6zvbYB2PLy3q','y29UDgvUDa','rMfPBgvKihrVihzHBgLKyxrLignVBMzPzYbMAwXL','qu5btfLtsvnFveLnru9vva','mta3AxbkCezS','y3DK','DMfSAwrHDgvdB25MAwDgAwXL','C2L6zq','ihnLy29UzhmklsbpBMX5ihn1ChbVCNrZigXHBMD1ywDLCYb3AxrOigj1AwX0lwLUigfUywX5EMvYCWOGicaG','z2v0','odi3ogHwv2Xksa','zMLSzxnbBMfSExPLza','CgfYywXSzwXcyxrJAgvZ','z2v0u2vJDxjPDhLbBMfSExPLCG','y3jLyxrLuMvSyxrPDMvqyxrO','AZHZ','BMfTzq','mZe1ndCXnLHUAgXiva','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','yw5HBhL6zq','lMvZBgLUDhjJlMPZ','CgfYC2vbDhrYAwj1DgvZ','Dg90ywXbBMfSExnPC1rPBwu','zML4rMLSzq','BwfW','Bwf4ugfYywXSzwXgAwXLCW','DMfSAwrHDgvszwfKqwnJzxnZ','C2v2zxjPDhK','zgvIDwC','D3jPDgvgAwXL','AMf2yxnJCMLWDa','lI4Vyw5HBhL6zxjZl0nVBMzPz1zHBgLKyxrVCI5QCW','y2HHBMDLCW','zgLYzwn0B3j5','DhjPBq','u0vwrvjjvfK','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','zML4zwq','DgLTzxn0yw1W','zM9YBwf0DgvK','tevtuW','Aw5MBW','BwvZC2fNzq','Bwf0y2G','AxnbyNnVBhv0zq','zML4','zgLZDa','y3nZ','lMvUDI5LEgfTCgXL','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzY1KAxjLy3rVCNK','zxHLyW','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','Bwf4lwvYCM9YCW','z2v0q29UzMLNvMfSAwrHDg9Y','yNvPBgq','rMfPBgvKihrVihzHBgLKyxrLignVBMzPzYa','zxjYB3jZqNLdyxrLz29YEq','C2vJDxjPDhLty2fUrMLSzq','sKfwqvnduKLqva','vg9Vig1HBNKGzMLSzxm6ia','DhLWzq','zw50CMLLCW','Bwf4rMLSzvnPEMu','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzVCM1HDa','y3jPDgLJywW','yMfZzw5HBwu','y2fJAgviAxrZ','ndyZoti1nKryt2jizG','CM91BMq','BNbTlwf1zgL0','odi5mZm0muDbEKTzyG','DMfSAwrHDguTy29UzMLN','BxrPBwu','z2v0u3vWCg9YDgvKqwn0Aw9UCW','zM9YBwf0rMLSzq','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','igzPBgvZihbLCIbVCgvYyxrPB24klsbbBMfSExnPCYb0Aw1LB3v0oIa','zgLNzxn0','ChvZAa','icHTyxGG','CgfYywXSzwXbBMfSExnPCW','C3rYAw5N','x19WEwnHy2HLx18','Dg90ywXdCML0AwnHBa','CMvZDwX0','Dg90ywW','C2nHBM5LCG','CMvZB2X2zq','AxnbCNjHEq','zg9JA2vYlwnVBxbVC2uUEw1S','zMLUzenVBMzPz0zPBgvZ','DhnJB25MAwCUANnVBG','CgfYC2u','DMfSAwrHDg9Y','y2f0zwDVCNK','lNLHBwW','DxnLq29UDgvUDeHHC2G','zMLSzxncEuXHBMD1ywDL','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','zgv0zwn0sLngCMfTzxDVCMS','rvHuru5tsu9ox1rpx0XbtKDvquDf','rMLSzsbMB3jTyxr0zwqGyw5KihDYAxr0zw4','B25qCM9NCMvZCW','y2XLyxjdywnOzq','tufyx0zjtevtx1bfuL9cqvrdsa','ChL0Ag9U','rvjst1i','C2vJDxjPDhKTC2nHBG','DxbKyxrLu3vTBwfYEq','lNbYzxr0AwvYCMmUANnVBG','CMvTywLUAw5Nv2fYBMLUz3m','z2v0rgvZy3jPChrPB24','v3jPDguGywnJzxnZigrLBMLLzdOG','Bwf4rMLSzxnqzxjcyxrJAa','rg9JA2vYzMLSzq','v0fstKLorW','Agv4','nwnSBKH0qG','zM9YBwf0','zxH0BMfTzq','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','zxjYB3jZ','ufLuse9ox0zsqu1fv09ss1m','z2v0ugfYyw1LDgvYu2nOzw1H','vfLqrvnduKLqva','yw5HBhLZAxndywnOzq','z2v0uhjLDhrPzxjgB3jTyxr0zxi','AxntDxbWB3j0zwq','Dhj1zq','ufLuse9o','rMLSzsb0B28GBgfYz2u6ia','zMLSzs1WyxrO','vxnPBMCGCgfYywXSzwWGC2vJDxjPDhKGC2nHBM5PBMC','zgv0zwn0uhL0Ag9UrNjHBwv3B3jR','C3rHCNrZv2L0Aa','Aw5JBhvKzs13yxjUAw5NCW','yw5HBhL6zs1WCM9Qzwn0','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfUywX5EMu','nJu5ndy0ofLfEfDPDG','Dw5RBM93BG','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','BM93','zMLSzvbHDgG','u3rHDgLJqw5HBhLZAxmGDg9VBcbWyxjZAw5NihbHCMfTzxrLCNm','rLjbtuvxt1jlx01btKLgrvnuuW','CgfJA2fNzs5QC29U','Aw5KzxHpzG','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5lgnZCYXZy3nZlhnHC3mSBgvZC30','yw5HBhL6zuzPBgu','vg9Vig1HBNKGywn0Aw9UCZOG','A3vIzxjUzxrLCW','vw5RBM93BIbHy3rPB24GDhLWztOG','C3rHDgLJyw5HBhLZAxm'];a0_0x479a=function(){return _0x10c3a2;};return a0_0x479a();}(function(_0x1d7e5f,_0x530016){const _0x170e56=a0_0x519e,_0x1d0cdb=_0x1d7e5f();while(!![]){try{const _0x187640=parseInt(_0x170e56(0x1ce))/0x1*(-parseInt(_0x170e56(0x1d4))/0x2)+-parseInt(_0x170e56(0x1db))/0x3+-parseInt(_0x170e56(0x27c))/0x4+-parseInt(_0x170e56(0x23f))/0x5*(parseInt(_0x170e56(0x254))/0x6)+parseInt(_0x170e56(0x210))/0x7+-parseInt(_0x170e56(0x20d))/0x8+parseInt(_0x170e56(0x26a))/0x9;if(_0x187640===_0x530016)break;else _0x1d0cdb['push'](_0x1d0cdb['shift']());}catch(_0x5623bb){_0x1d0cdb['push'](_0x1d0cdb['shift']());}}}(a0_0x479a,0x939fc));import{BaseTool}from'./baseTool.js';import a0_0xc7a590 from'../utilities/tagParser.js';import a0_0x1c53b7 from'../utilities/directoryAccessManager.js';import a0_0x332bed from'fs/promises';import a0_0x410463 from'path';function a0_0x519e(_0x4c4327,_0x428ff3){_0x4c4327=_0x4c4327-0x1b0;const _0x479a65=a0_0x479a();let _0x519e1d=_0x479a65[_0x4c4327];if(a0_0x519e['qAuxXG']===undefined){var _0x1dca58=function(_0x151711){const _0x3b9922='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc7a590='',_0x1c53b7='';for(let _0x332bed=0x0,_0x410463,_0x35e28c,_0x4834d2=0x0;_0x35e28c=_0x151711['charAt'](_0x4834d2++);~_0x35e28c&&(_0x410463=_0x332bed%0x4?_0x410463*0x40+_0x35e28c:_0x35e28c,_0x332bed++%0x4)?_0xc7a590+=String['fromCharCode'](0xff&_0x410463>>(-0x2*_0x332bed&0x6)):0x0){_0x35e28c=_0x3b9922['indexOf'](_0x35e28c);}for(let _0x3e2285=0x0,_0x3ee0f7=_0xc7a590['length'];_0x3e2285<_0x3ee0f7;_0x3e2285++){_0x1c53b7+='%'+('00'+_0xc7a590['charCodeAt'](_0x3e2285)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c53b7);};a0_0x519e['pDkkoI']=_0x1dca58,a0_0x519e['IFHFoW']={},a0_0x519e['qAuxXG']=!![];}const _0x464478=_0x479a65[0x0],_0x57fe36=_0x4c4327+_0x464478,_0x3fc405=a0_0x519e['IFHFoW'][_0x57fe36];return!_0x3fc405?(_0x519e1d=a0_0x519e['pDkkoI'](_0x519e1d),a0_0x519e['IFHFoW'][_0x57fe36]=_0x519e1d):_0x519e1d=_0x3fc405,_0x519e1d;}import a0_0x35e28c from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x4834d2={},_0x3e2285=null){const _0x398187=a0_0x519e;super(_0x4834d2,_0x3e2285),this['requiresProject']=!![],this['isAsync']=![],this['timeout']=_0x4834d2[_0x398187(0x290)]||STATIC_ANALYSIS[_0x398187(0x1cd)],this[_0x398187(0x28e)]=_0x4834d2[_0x398187(0x28e)]||0x1,this['maxFileSize']=_0x4834d2[_0x398187(0x208)]||STATIC_ANALYSIS['MAX_FILE_SIZE_FOR_ANALYSIS'],this['maxFilesPerBatch']=_0x4834d2['maxFilesPerBatch']||STATIC_ANALYSIS[_0x398187(0x232)],this[_0x398187(0x264)]=_0x4834d2[_0x398187(0x264)]!==![]&&STATIC_ANALYSIS['ENABLE_CACHE'],this[_0x398187(0x247)]=new Map(),this['cacheExpiry']=STATIC_ANALYSIS['CACHE_DURATION'],this[_0x398187(0x21a)]=_0x4834d2[_0x398187(0x21a)]!==![],this[_0x398187(0x1e3)]=_0x4834d2['maxParallelFiles']||0xa,this[_0x398187(0x22a)]=_0x4834d2[_0x398187(0x22a)]!==![],this[_0x398187(0x28b)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x398187(0x1b8)]=new a0_0x1c53b7(_0x4834d2,_0x3e2285),this['analyzers']={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}[a0_0x1ee867(0x239)](){const _0x4eaca5=a0_0x1ee867;return'\x0aStatic\x20Code\x20Analysis\x20Tool:\x20Analyze\x20code\x20files\x20for\x20errors\x20without\x20execution\x0a\x0aThis\x20tool\x20performs\x20static\x20analysis\x20on\x20code\x20files\x20to\x20find\x20syntax\x20errors,\x20type\x20errors,\x20import\x20issues,\x20and\x20other\x20problems\x20without\x20running\x20the\x20code.\x20It\x20uses\x20official\x20language\x20parsers\x20for\x20accurate\x20results.\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Python\x20(.py)\x0a-\x20CSS\x20(.css)\x0a-\x20SCSS\x20(.scss,\x20.sass)\x0a-\x20LESS\x20(.less)\x0a\x0aUSAGE\x20-\x20XML\x20FORMAT:\x0a\x0aSingle\x20File\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a[/tool]\x0a\x0aMultiple\x20Files\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/utils.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/components/Button.jsx\x22\x20/>\x0a[/tool]\x0a\x0aProject-Wide\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22src\x22\x20pattern=\x22**/*.js\x22\x20/>\x0a[/tool]\x0a\x0aAuto-Fix\x20Code\x20Issues:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<fix\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aFormat\x20Code:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<format\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aUSAGE\x20-\x20JSON\x20FORMAT:\x0a\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze\x22,\x0a\x20\x20\x20\x20\x20\x20\x22filePath\x22:\x20\x22src/index.js\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze-project\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22pattern\x22:\x20\x22**/*.{js,ts,py}\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20file-path:\x20Path\x20to\x20file\x20to\x20analyze\x20(for\x20single\x20file)\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(for\x20project-wide)\x0a-\x20pattern:\x20Glob\x20pattern\x20for\x20files\x20to\x20include\x20(optional,\x20defaults\x20to\x20language-specific\x20patterns)\x0a-\x20include-warnings:\x20Include\x20warnings\x20in\x20results\x20(true/false,\x20default:\x20true)\x0a-\x20max-errors:\x20Maximum\x20number\x20of\x20errors\x20to\x20return\x20(default:\x20all)\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20structured\x20error\x20information:\x0a-\x20file:\x20File\x20path\x0a-\x20line:\x20Line\x20number\x0a-\x20column:\x20Column\x20number\x0a-\x20severity:\x20critical\x20|\x20error\x20|\x20warning\x20|\x20info\x0a-\x20rule:\x20Rule\x20identifier\x0a-\x20message:\x20Human-readable\x20description\x0a-\x20category:\x20syntax\x20|\x20type\x20|\x20import\x20|\x20style\x20|\x20security\x20|\x20performance\x20|\x20best_practice\x0a-\x20fixable:\x20Whether\x20error\x20can\x20be\x20auto-fixed\x0a-\x20suggestion:\x20Fix\x20suggestion\x20(if\x20applicable)\x0a-\x20remediation:\x20Security\x20remediation\x20advice\x20(for\x20security\x20issues)\x0a\x0aDETECTION:\x0a-\x20Language:\x20Automatically\x20detected\x20from\x20file\x20extension\x0a-\x20Framework:\x20Detected\x20from\x20package.json,\x20requirements.txt,\x20etc.\x0a-\x20Context:\x20Project\x20structure\x20analyzed\x20for\x20better\x20accuracy\x0a\x0aEXAMPLES:\x0a\x0aFind\x20all\x20errors\x20in\x20a\x20JavaScript\x20file:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aAnalyze\x20TypeScript\x20with\x20type\x20checking:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/types.ts\x22\x20/>\x0a[/tool]\x0a\x0aCheck\x20all\x20Python\x20files\x20in\x20a\x20directory:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22backend\x22\x20pattern=\x22**/*.py\x22\x20/>\x0a[/tool]\x0a\x0aLIMITATIONS:\x0a-\x20File\x20size\x20limit:\x20'+Math[_0x4eaca5(0x20e)](this[_0x4eaca5(0x208)]/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this[_0x4eaca5(0x23b)]+_0x4eaca5(0x216)+this[_0x4eaca5(0x290)]/0x3e8+_0x4eaca5(0x1d2);}['parseParameters'](_0x3ee0f7){const _0x34a1dd=a0_0x1ee867;try{const _0x28e38d={},_0x2d4903=[];this['logger']?.[_0x34a1dd(0x1e6)](_0x34a1dd(0x259),{'contentLength':_0x3ee0f7['length'],'contentPreview':_0x3ee0f7['substring'](0x0,0xc8)});const _0x4c8533=/<analyze\s+(.+?)\/>/g;let _0x320ad5;while((_0x320ad5=_0x4c8533[_0x34a1dd(0x1fc)](_0x3ee0f7))!==null){const _0x28b2de=_0x320ad5[0x1]['trim'](),_0x572165=new a0_0xc7a590(),_0x1e4e65=_0x572165['parseAttributes'](_0x28b2de),_0x427bbb={'type':'analyze',..._0x1e4e65};_0x427bbb[_0x34a1dd(0x24d)]&&(_0x427bbb[_0x34a1dd(0x258)]=_0x427bbb['file-path'],delete _0x427bbb['file-path']),_0x427bbb['include-warnings']&&(_0x427bbb['includeWarnings']=_0x427bbb['include-warnings']==='true',delete _0x427bbb[_0x34a1dd(0x251)]),_0x427bbb['max-errors']&&(_0x427bbb[_0x34a1dd(0x1c3)]=parseInt(_0x427bbb[_0x34a1dd(0x1fe)],0xa),delete _0x427bbb[_0x34a1dd(0x1fe)]),_0x2d4903[_0x34a1dd(0x218)](_0x427bbb);}const _0x112ef1=/<analyze-project\s+(.+?)\/>/g;while((_0x320ad5=_0x112ef1['exec'](_0x3ee0f7))!==null){const _0x13d543=_0x320ad5[0x1][_0x34a1dd(0x1ec)](),_0x569ece=new a0_0xc7a590(),_0x3a286c=_0x569ece['parseAttributes'](_0x13d543),_0x172f98={'type':_0x34a1dd(0x252),..._0x3a286c};_0x172f98['include-warnings']&&(_0x172f98['includeWarnings']=_0x172f98[_0x34a1dd(0x251)]==='true',delete _0x172f98[_0x34a1dd(0x251)]),_0x172f98['max-errors']&&(_0x172f98[_0x34a1dd(0x1c3)]=parseInt(_0x172f98['max-errors'],0xa),delete _0x172f98[_0x34a1dd(0x1fe)]),_0x2d4903[_0x34a1dd(0x218)](_0x172f98);}const _0x475f35=/<fix\s+(.+?)\/>/g;while((_0x320ad5=_0x475f35[_0x34a1dd(0x1fc)](_0x3ee0f7))!==null){const _0x4153ef=_0x320ad5[0x1]['trim'](),_0x332c19=new a0_0xc7a590(),_0x7f8f9=_0x332c19['parseAttributes'](_0x4153ef),_0x2a97cd={'type':_0x34a1dd(0x1f7),..._0x7f8f9};_0x2a97cd['file-path']&&(_0x2a97cd[_0x34a1dd(0x258)]=_0x2a97cd[_0x34a1dd(0x24d)],delete _0x2a97cd[_0x34a1dd(0x24d)]),_0x2a97cd[_0x34a1dd(0x27b)]&&(_0x2a97cd['writeFile']=_0x2a97cd['write-file']===_0x34a1dd(0x24a),delete _0x2a97cd[_0x34a1dd(0x27b)]),_0x2d4903['push'](_0x2a97cd);}const _0x45d82f=/<format\s+(.+?)\/>/g;while((_0x320ad5=_0x45d82f[_0x34a1dd(0x1fc)](_0x3ee0f7))!==null){const _0x5c339d=_0x320ad5[0x1][_0x34a1dd(0x1ec)](),_0xf7e6f0=new a0_0xc7a590(),_0x58fed6=_0xf7e6f0[_0x34a1dd(0x1df)](_0x5c339d),_0x434d87={'type':_0x34a1dd(0x240),..._0x58fed6};_0x434d87[_0x34a1dd(0x24d)]&&(_0x434d87[_0x34a1dd(0x258)]=_0x434d87['file-path'],delete _0x434d87[_0x34a1dd(0x24d)]),_0x434d87[_0x34a1dd(0x27b)]&&(_0x434d87['writeFile']=_0x434d87['write-file']==='true',delete _0x434d87[_0x34a1dd(0x27b)]),_0x2d4903[_0x34a1dd(0x218)](_0x434d87);}const _0x44c57b=/<security-scan\s+(.+?)\/>/g;while((_0x320ad5=_0x44c57b['exec'](_0x3ee0f7))!==null){const _0xb4f5ed=_0x320ad5[0x1][_0x34a1dd(0x1ec)](),_0xf93a1b=new a0_0xc7a590(),_0x2481a6=_0xf93a1b['parseAttributes'](_0xb4f5ed),_0x185a1e={'type':'security-scan',..._0x2481a6};_0x185a1e[_0x34a1dd(0x24d)]&&(_0x185a1e[_0x34a1dd(0x258)]=_0x185a1e[_0x34a1dd(0x24d)],delete _0x185a1e['file-path']),_0x185a1e[_0x34a1dd(0x28a)]&&(_0x185a1e[_0x34a1dd(0x1b1)]=_0x185a1e[_0x34a1dd(0x28a)]===_0x34a1dd(0x24a),delete _0x185a1e['skip-test-files']),_0x2d4903['push'](_0x185a1e);}const _0x1c94dc=/<security-scan-project\s+(.+?)\/>/g;while((_0x320ad5=_0x1c94dc['exec'](_0x3ee0f7))!==null){const _0x4dd26d=_0x320ad5[0x1][_0x34a1dd(0x1ec)](),_0xe5ab5c=new a0_0xc7a590(),_0x3851c9=_0xe5ab5c[_0x34a1dd(0x1df)](_0x4dd26d),_0x45950a={'type':_0x34a1dd(0x286),..._0x3851c9};_0x45950a[_0x34a1dd(0x28a)]&&(_0x45950a['skipTestFiles']=_0x45950a['skip-test-files']===_0x34a1dd(0x24a),delete _0x45950a[_0x34a1dd(0x28a)]),_0x2d4903[_0x34a1dd(0x218)](_0x45950a);}const _0x683554=/<validate-config\s+(.+?)\/>/g;while((_0x320ad5=_0x683554['exec'](_0x3ee0f7))!==null){const _0x537cd1=_0x320ad5[0x1]['trim'](),_0x440b59=new a0_0xc7a590(),_0x559f7c=_0x440b59['parseAttributes'](_0x537cd1),_0xf9929b={'type':'validate-config',..._0x559f7c};_0xf9929b['file-path']&&(_0xf9929b[_0x34a1dd(0x258)]=_0xf9929b['file-path'],delete _0xf9929b[_0x34a1dd(0x24d)]),_0x2d4903['push'](_0xf9929b);}const _0x417106=/<validate-config-directory\s+(.+?)\/>/g;while((_0x320ad5=_0x417106[_0x34a1dd(0x1fc)](_0x3ee0f7))!==null){const _0x2e21ef=_0x320ad5[0x1][_0x34a1dd(0x1ec)](),_0x3932d5=new a0_0xc7a590(),_0xec57a9=_0x3932d5[_0x34a1dd(0x1df)](_0x2e21ef),_0x23352b={'type':_0x34a1dd(0x1dc),..._0xec57a9};_0x2d4903['push'](_0x23352b);}return _0x28e38d[_0x34a1dd(0x280)]=_0x2d4903,_0x28e38d[_0x34a1dd(0x292)]=_0x3ee0f7[_0x34a1dd(0x1ec)](),this['logger']?.[_0x34a1dd(0x1e6)]('Parsed\x20StaticAnalysis\x20tool\x20parameters',{'totalActions':_0x2d4903[_0x34a1dd(0x1bf)],'actionTypes':_0x2d4903['map'](_0x2c93d1=>_0x2c93d1[_0x34a1dd(0x206)])}),_0x28e38d;}catch(_0x7f69d8){throw new Error('Failed\x20to\x20parse\x20static\x20analysis\x20parameters:\x20'+_0x7f69d8['message']);}}[a0_0x1ee867(0x22c)](){return['actions'];}['customValidateParameters'](_0x51aa0e){const _0x652ea1=a0_0x1ee867,_0x2f9ea3=[];if(!_0x51aa0e[_0x652ea1(0x280)]||!Array[_0x652ea1(0x222)](_0x51aa0e['actions'])||_0x51aa0e[_0x652ea1(0x280)]['length']===0x0)_0x2f9ea3['push'](_0x652ea1(0x265));else{for(const [_0x439d5d,_0xa4fe97]of _0x51aa0e['actions'][_0x652ea1(0x207)]()){if(!_0xa4fe97['type']){_0x2f9ea3['push'](_0x652ea1(0x26d)+(_0x439d5d+0x1)+_0x652ea1(0x270));continue;}switch(_0xa4fe97['type']){case'analyze':!_0xa4fe97[_0x652ea1(0x258)]&&_0x2f9ea3['push'](_0x652ea1(0x26d)+(_0x439d5d+0x1)+_0x652ea1(0x253));break;case _0x652ea1(0x252):!_0xa4fe97[_0x652ea1(0x1eb)]&&_0x2f9ea3[_0x652ea1(0x218)](_0x652ea1(0x26d)+(_0x439d5d+0x1)+':\x20directory\x20is\x20required\x20for\x20analyze-project');break;case _0x652ea1(0x1f7):!_0xa4fe97['filePath']&&_0x2f9ea3['push'](_0x652ea1(0x26d)+(_0x439d5d+0x1)+':\x20file-path\x20is\x20required\x20for\x20fix');break;case _0x652ea1(0x240):!_0xa4fe97[_0x652ea1(0x258)]&&_0x2f9ea3['push'](_0x652ea1(0x26d)+(_0x439d5d+0x1)+_0x652ea1(0x209));break;case _0x652ea1(0x235):!_0xa4fe97['filePath']&&_0x2f9ea3[_0x652ea1(0x218)](_0x652ea1(0x26d)+(_0x439d5d+0x1)+':\x20file-path\x20is\x20required\x20for\x20security-scan');break;case _0x652ea1(0x286):!_0xa4fe97[_0x652ea1(0x1eb)]&&_0x2f9ea3[_0x652ea1(0x218)](_0x652ea1(0x26d)+(_0x439d5d+0x1)+':\x20directory\x20is\x20required\x20for\x20security-scan-project');break;case _0x652ea1(0x211):!_0xa4fe97['filePath']&&_0x2f9ea3[_0x652ea1(0x218)]('Action\x20'+(_0x439d5d+0x1)+':\x20file-path\x20is\x20required\x20for\x20validate-config');break;case _0x652ea1(0x1dc):!_0xa4fe97[_0x652ea1(0x1eb)]&&_0x2f9ea3['push']('Action\x20'+(_0x439d5d+0x1)+_0x652ea1(0x1fb));break;default:_0x2f9ea3[_0x652ea1(0x218)]('Action\x20'+(_0x439d5d+0x1)+_0x652ea1(0x27f)+_0xa4fe97[_0x652ea1(0x206)]);}}_0x51aa0e['actions'][_0x652ea1(0x1bf)]>this[_0x652ea1(0x23b)]&&_0x2f9ea3[_0x652ea1(0x218)](_0x652ea1(0x25f)+_0x51aa0e['actions'][_0x652ea1(0x1bf)]+_0x652ea1(0x219)+this['maxFilesPerBatch']+')');}return{'valid':_0x2f9ea3[_0x652ea1(0x1bf)]===0x0,'errors':_0x2f9ea3};}async['execute'](_0x3e1be6,_0x27c3ed){const _0x118c8e=a0_0x1ee867,{actions:_0x265b99}=_0x3e1be6,{projectDir:_0x41f877,agentId:_0x250c00,directoryAccess:_0x246765}=_0x27c3ed,_0x1c5735=_0x246765||this[_0x118c8e(0x1b8)][_0x118c8e(0x269)]({'workingDirectory':_0x41f877||process[_0x118c8e(0x1cf)](),'writeEnabledDirectories':[_0x41f877||process[_0x118c8e(0x1cf)]()],'restrictToProject':!![]}),_0x2a139d=this['directoryAccessManager'][_0x118c8e(0x287)](_0x1c5735),_0x55ded={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x53ab46 of _0x265b99){try{let _0x36637b;switch(_0x53ab46['type']){case _0x118c8e(0x1dd):_0x36637b=await this['analyzeFile'](_0x53ab46[_0x118c8e(0x258)],_0x2a139d,_0x1c5735,_0x53ab46);_0x36637b&&(_0x55ded['files'][_0x118c8e(0x218)](_0x36637b),this['updateSummary'](_0x55ded[_0x118c8e(0x27d)],_0x36637b));break;case'analyze-project':const _0x885cdb=await this[_0x118c8e(0x1ca)](_0x53ab46[_0x118c8e(0x1eb)],_0x53ab46['pattern'],_0x2a139d,_0x1c5735,_0x53ab46);_0x55ded[_0x118c8e(0x289)][_0x118c8e(0x218)](..._0x885cdb);for(const _0x5d395b of _0x885cdb){this[_0x118c8e(0x236)](_0x55ded[_0x118c8e(0x27d)],_0x5d395b);}break;case'fix':_0x36637b=await this[_0x118c8e(0x1e1)](_0x53ab46['filePath'],_0x2a139d,_0x1c5735,_0x53ab46);_0x36637b&&_0x55ded['files'][_0x118c8e(0x218)](_0x36637b);break;case _0x118c8e(0x240):_0x36637b=await this[_0x118c8e(0x214)](_0x53ab46['filePath'],_0x2a139d,_0x1c5735,_0x53ab46);_0x36637b&&_0x55ded[_0x118c8e(0x289)][_0x118c8e(0x218)](_0x36637b);break;case _0x118c8e(0x235):_0x36637b=await this[_0x118c8e(0x203)](_0x53ab46[_0x118c8e(0x258)],_0x2a139d,_0x1c5735,_0x53ab46);_0x36637b&&(_0x55ded['files']['push'](_0x36637b),this['updateSummary'](_0x55ded['summary'],_0x36637b));break;case _0x118c8e(0x286):const _0x27e18e=await this['securityScanProject'](_0x53ab46[_0x118c8e(0x1eb)],_0x53ab46[_0x118c8e(0x28c)],_0x2a139d,_0x1c5735,_0x53ab46);_0x55ded[_0x118c8e(0x289)]['push'](..._0x27e18e);for(const _0x406aaa of _0x27e18e){this[_0x118c8e(0x236)](_0x55ded['summary'],_0x406aaa);}break;case'validate-config':_0x36637b=await this['validateConfigFile'](_0x53ab46['filePath'],_0x2a139d,_0x1c5735,_0x53ab46);_0x36637b&&(_0x55ded['files'][_0x118c8e(0x218)](_0x36637b),this['updateSummary'](_0x55ded['summary'],_0x36637b));break;case _0x118c8e(0x1dc):const _0x9e9364=await this['validateConfigDirectory'](_0x53ab46['directory'],_0x2a139d,_0x1c5735,_0x53ab46);_0x55ded[_0x118c8e(0x289)][_0x118c8e(0x218)](..._0x9e9364);for(const _0x2caa9a of _0x9e9364){this['updateSummary'](_0x55ded['summary'],_0x2caa9a);}break;default:throw new Error(_0x118c8e(0x261)+_0x53ab46['type']);}}catch(_0x4fe069){this[_0x118c8e(0x268)]?.[_0x118c8e(0x266)]('Static\x20analysis\x20action\x20failed',{'action':_0x53ab46[_0x118c8e(0x206)],'error':_0x4fe069[_0x118c8e(0x1f4)]}),_0x55ded[_0x118c8e(0x289)][_0x118c8e(0x218)]({'file':_0x53ab46[_0x118c8e(0x258)]||_0x53ab46[_0x118c8e(0x1eb)],'error':_0x4fe069[_0x118c8e(0x1f4)],'success':![]});}}return{'success':!![],'results':_0x55ded,'toolUsed':_0x118c8e(0x262),'performance':this[_0x118c8e(0x256)]()};}async[a0_0x1ee867(0x25e)](_0x3c1254,_0x5e3a22,_0x919c87,_0x29f0b8={}){const _0x2f5b1c=a0_0x1ee867,_0x23bdc4=a0_0x410463['isAbsolute'](_0x3c1254)?a0_0x410463['normalize'](_0x3c1254):a0_0x410463['resolve'](_0x5e3a22,_0x3c1254),_0x4dc16f=this[_0x2f5b1c(0x1b8)]['validateReadAccess'](_0x23bdc4,_0x919c87);if(!_0x4dc16f[_0x2f5b1c(0x271)])throw new Error(_0x2f5b1c(0x1c5)+_0x4dc16f['reason']);try{const _0x2583cf=await a0_0x332bed['stat'](_0x23bdc4);if(_0x2583cf['size']>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x2583cf[_0x2f5b1c(0x1d1)]+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x2e9a96=this[_0x2f5b1c(0x1b5)](_0x23bdc4);if(!_0x2e9a96)return{'file':this['directoryAccessManager']['createRelativePath'](_0x23bdc4,_0x919c87),'fullPath':_0x23bdc4,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'Unsupported\x20file\x20type'};const _0x550f1c=await a0_0x332bed[_0x2f5b1c(0x274)](_0x23bdc4,_0x2f5b1c(0x288)),_0x5782d9=this[_0x2f5b1c(0x22a)]?this['computeContentHash'](_0x550f1c):null,_0x1b9d75=this['useContentHash']?_0x23bdc4+':'+_0x5782d9:_0x23bdc4+':'+_0x2583cf[_0x2f5b1c(0x212)][_0x2f5b1c(0x293)]();if(this['enableCache']&&this[_0x2f5b1c(0x247)][_0x2f5b1c(0x1c9)](_0x1b9d75)){const _0xac1e8c=this[_0x2f5b1c(0x247)][_0x2f5b1c(0x1d3)](_0x1b9d75);if(Date[_0x2f5b1c(0x257)]()-_0xac1e8c[_0x2f5b1c(0x1f0)]<this['cacheExpiry'])return this[_0x2f5b1c(0x268)]?.[_0x2f5b1c(0x1e6)]('Using\x20cached\x20analysis\x20result',{'file':_0x23bdc4}),this[_0x2f5b1c(0x28b)]['cacheHits']++,this[_0x2f5b1c(0x28b)]['totalAnalyses']++,_0xac1e8c[_0x2f5b1c(0x21e)];}this[_0x2f5b1c(0x28b)]['cacheMisses']++,this['metrics'][_0x2f5b1c(0x26e)]++;const _0x58b765=await this['getAnalyzer'](_0x2e9a96);if(!_0x58b765)return{'file':this['directoryAccessManager'][_0x2f5b1c(0x1d8)](_0x23bdc4,_0x919c87),'fullPath':_0x23bdc4,'language':_0x2e9a96,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'No\x20analyzer\x20available\x20for\x20'+_0x2e9a96};const _0x46a4dc=Date['now'](),_0x3abe3e=await _0x58b765[_0x2f5b1c(0x1dd)](_0x23bdc4,_0x550f1c,{'workingDir':_0x5e3a22,'accessConfig':_0x919c87,'framework':await this[_0x2f5b1c(0x295)](_0x5e3a22,_0x2e9a96)}),_0x290e91=Date['now']()-_0x46a4dc;this['metrics'][_0x2f5b1c(0x1e0)]+=_0x290e91,this['metrics'][_0x2f5b1c(0x1d5)]++;const _0xcb3454={'file':this['directoryAccessManager'][_0x2f5b1c(0x1d8)](_0x23bdc4,_0x919c87),'fullPath':_0x23bdc4,'language':_0x2e9a96,'framework':await this[_0x2f5b1c(0x295)](_0x5e3a22,_0x2e9a96),'errors':_0x3abe3e[_0x2f5b1c(0x282)](_0x3075a0=>_0x3075a0[_0x2f5b1c(0x1e5)]===STATIC_ANALYSIS[_0x2f5b1c(0x1ed)]['ERROR']),'warnings':_0x29f0b8['includeWarnings']!==![]?_0x3abe3e['filter'](_0x32e8cf=>_0x32e8cf[_0x2f5b1c(0x1e5)]===STATIC_ANALYSIS[_0x2f5b1c(0x1ed)][_0x2f5b1c(0x23d)]):[],'info':_0x3abe3e[_0x2f5b1c(0x282)](_0x471d55=>_0x471d55[_0x2f5b1c(0x1e5)]===STATIC_ANALYSIS[_0x2f5b1c(0x1ed)]['INFO']),'totalIssues':_0x3abe3e[_0x2f5b1c(0x1bf)],'analyzed':!![],'timestamp':new Date()[_0x2f5b1c(0x27e)]()};return _0x29f0b8[_0x2f5b1c(0x1c3)]&&_0xcb3454['errors'][_0x2f5b1c(0x1bf)]>_0x29f0b8[_0x2f5b1c(0x1c3)]&&(_0xcb3454['errors']=_0xcb3454[_0x2f5b1c(0x243)][_0x2f5b1c(0x1b0)](0x0,_0x29f0b8[_0x2f5b1c(0x1c3)]),_0xcb3454[_0x2f5b1c(0x277)]=!![]),this[_0x2f5b1c(0x264)]&&this[_0x2f5b1c(0x247)]['set'](_0x1b9d75,{'result':_0xcb3454,'timestamp':Date[_0x2f5b1c(0x257)]()}),_0xcb3454;}catch(_0x263d5b){throw new Error('Failed\x20to\x20analyze\x20'+_0x3c1254+':\x20'+_0x263d5b[_0x2f5b1c(0x1f4)]);}}async['analyzeProject'](_0x1bb4f4,_0x94f932,_0x130f6a,_0xcd9766,_0x2e7846={}){const _0x4af8d4=a0_0x1ee867,_0x394d99=a0_0x410463[_0x4af8d4(0x1f6)](_0x1bb4f4)?a0_0x410463[_0x4af8d4(0x28f)](_0x1bb4f4):a0_0x410463[_0x4af8d4(0x221)](_0x130f6a,_0x1bb4f4),_0x11d2bb=this['directoryAccessManager'][_0x4af8d4(0x1e4)](_0x394d99,_0xcd9766);if(!_0x11d2bb['allowed'])throw new Error(_0x4af8d4(0x1c5)+_0x11d2bb['reason']);const _0x1b698c=await this['findFiles'](_0x394d99,_0x94f932);if(_0x1b698c[_0x4af8d4(0x1bf)]>this[_0x4af8d4(0x23b)])throw new Error(_0x4af8d4(0x205)+_0x1b698c['length']+'\x20(max\x20'+this[_0x4af8d4(0x23b)]+')');const _0x12e07c=[];if(this['parallelAnalysis']&&_0x1b698c['length']>0x1){this['logger']?.['debug']('Using\x20parallel\x20analysis',{'totalFiles':_0x1b698c['length'],'batchSize':this[_0x4af8d4(0x1e3)]});for(let _0x2ebe16=0x0;_0x2ebe16<_0x1b698c[_0x4af8d4(0x1bf)];_0x2ebe16+=this[_0x4af8d4(0x1e3)]){const _0x3317c2=_0x1b698c['slice'](_0x2ebe16,_0x2ebe16+this[_0x4af8d4(0x1e3)]);this['metrics'][_0x4af8d4(0x1d6)]++;const _0xccb05b={'completed':_0x2ebe16,'total':_0x1b698c['length'],'percentage':Math['round'](_0x2ebe16/_0x1b698c['length']*0x64)};_0x2e7846[_0x4af8d4(0x230)]&&_0x2e7846['onProgress'](_0xccb05b);this[_0x4af8d4(0x268)]?.[_0x4af8d4(0x1e6)]('Analyzing\x20batch',{'batch':Math['floor'](_0x2ebe16/this[_0x4af8d4(0x1e3)])+0x1,'filesInBatch':_0x3317c2['length'],'progress':_0xccb05b['completed']+'/'+_0xccb05b[_0x4af8d4(0x21f)]});const _0x5b0ba9=_0x3317c2[_0x4af8d4(0x1e2)](async _0x115abe=>{const _0x51a8d3=_0x4af8d4;try{const _0x21fb68=await this['analyzeFile'](_0x115abe,_0x130f6a,_0xcd9766,_0x2e7846);return _0x21fb68;}catch(_0x2b5bc0){return this['logger']?.[_0x51a8d3(0x1c0)](_0x51a8d3(0x1ee),{'file':_0x115abe,'error':_0x2b5bc0['message']}),{'file':this['directoryAccessManager']['createRelativePath'](_0x115abe,_0xcd9766),'fullPath':_0x115abe,'error':_0x2b5bc0[_0x51a8d3(0x1f4)],'success':![]};}}),_0x2d4c2c=await Promise[_0x4af8d4(0x1b6)](_0x5b0ba9);_0x12e07c[_0x4af8d4(0x218)](..._0x2d4c2c['filter'](_0xdb70b6=>_0xdb70b6!==null));}_0x2e7846['onProgress']&&_0x2e7846['onProgress']({'completed':_0x1b698c[_0x4af8d4(0x1bf)],'total':_0x1b698c[_0x4af8d4(0x1bf)],'percentage':0x64});}else for(const _0x47973a of _0x1b698c){try{const _0x51bcfd=await this['analyzeFile'](_0x47973a,_0x130f6a,_0xcd9766,_0x2e7846);_0x51bcfd&&_0x12e07c['push'](_0x51bcfd);}catch(_0x1fcc10){this[_0x4af8d4(0x268)]?.[_0x4af8d4(0x1c0)](_0x4af8d4(0x1ee),{'file':_0x47973a,'error':_0x1fcc10['message']}),_0x12e07c['push']({'file':this[_0x4af8d4(0x1b8)]['createRelativePath'](_0x47973a,_0xcd9766),'fullPath':_0x47973a,'error':_0x1fcc10[_0x4af8d4(0x1f4)],'success':![]});}}return _0x12e07c;}async['fixFile'](_0x30640e,_0x275fd9,_0x45eb58,_0x4594be={}){const _0x43e561=a0_0x1ee867,_0x327a8c=a0_0x410463[_0x43e561(0x1f6)](_0x30640e)?a0_0x410463['normalize'](_0x30640e):a0_0x410463[_0x43e561(0x221)](_0x275fd9,_0x30640e),_0x4f300d=this[_0x43e561(0x1b8)][_0x43e561(0x1e4)](_0x327a8c,_0x45eb58);if(!_0x4f300d['allowed'])throw new Error(_0x43e561(0x1c5)+_0x4f300d[_0x43e561(0x28d)]);if(_0x4594be[_0x43e561(0x1e7)]){const _0x557cae=this[_0x43e561(0x1b8)]['validateWriteAccess'](_0x327a8c,_0x45eb58);if(!_0x557cae[_0x43e561(0x271)])throw new Error(_0x43e561(0x23a)+_0x557cae['reason']);}try{const _0x79c938=await a0_0x332bed['readFile'](_0x327a8c,_0x43e561(0x288)),_0x1ff62f=await this['getESLintAnalyzer'](),_0x2fc961=await _0x1ff62f['fix'](_0x327a8c,_0x79c938,{'workingDir':_0x275fd9,'accessConfig':_0x45eb58,'framework':await this[_0x43e561(0x295)](_0x275fd9,this[_0x43e561(0x1b5)](_0x327a8c))});return _0x4594be['writeFile']&&_0x2fc961[_0x43e561(0x1ef)]&&(await a0_0x332bed[_0x43e561(0x1e7)](_0x327a8c,_0x2fc961['content'],'utf-8'),this['logger']?.[_0x43e561(0x1f3)]('File\x20fixed\x20and\x20written',{'file':_0x327a8c})),{'file':this['directoryAccessManager']['createRelativePath'](_0x327a8c,_0x45eb58),'fullPath':_0x327a8c,'action':_0x43e561(0x1f7),'fixed':_0x2fc961[_0x43e561(0x1ef)],'fixedCount':_0x2fc961['fixedCount'],'remainingErrors':_0x2fc961['remainingErrors'],'remainingWarnings':_0x2fc961[_0x43e561(0x238)],'changes':_0x2fc961[_0x43e561(0x1ea)],'written':!!(_0x4594be[_0x43e561(0x1e7)]&&_0x2fc961['fixed']),'preview':!_0x4594be['writeFile']&&_0x2fc961['fixed']?_0x2fc961[_0x43e561(0x1cb)]:undefined};}catch(_0x3efdeb){throw new Error('Failed\x20to\x20fix\x20'+_0x30640e+':\x20'+_0x3efdeb[_0x43e561(0x1f4)]);}}async['formatFile'](_0x3751ff,_0x891cc0,_0x2db81a,_0x1c66de={}){const _0x16a969=a0_0x1ee867,_0xb4d6d4=a0_0x410463[_0x16a969(0x1f6)](_0x3751ff)?a0_0x410463['normalize'](_0x3751ff):a0_0x410463['resolve'](_0x891cc0,_0x3751ff),_0x1f7efa=this[_0x16a969(0x1b8)][_0x16a969(0x1e4)](_0xb4d6d4,_0x2db81a);if(!_0x1f7efa['allowed'])throw new Error(_0x16a969(0x1c5)+_0x1f7efa['reason']);if(_0x1c66de[_0x16a969(0x1e7)]){const _0x24339d=this[_0x16a969(0x1b8)]['validateWriteAccess'](_0xb4d6d4,_0x2db81a);if(!_0x24339d[_0x16a969(0x271)])throw new Error('Write\x20access\x20denied:\x20'+_0x24339d[_0x16a969(0x28d)]);}try{const _0x2a4497=await a0_0x332bed[_0x16a969(0x274)](_0xb4d6d4,'utf-8'),_0x1e6349=await this['getPrettierFormatter']();if(!_0x1e6349[_0x16a969(0x249)](_0xb4d6d4))return{'file':this[_0x16a969(0x1b8)][_0x16a969(0x1d8)](_0xb4d6d4,_0x2db81a),'fullPath':_0xb4d6d4,'action':_0x16a969(0x240),'formatted':![],'skipped':!![],'skipReason':'File\x20type\x20not\x20supported\x20by\x20Prettier'};const _0x4ccbfb=await _0x1e6349['format'](_0xb4d6d4,_0x2a4497,{'workingDir':_0x891cc0,'accessConfig':_0x2db81a});return _0x1c66de[_0x16a969(0x1e7)]&&_0x4ccbfb['formatted']&&(await a0_0x332bed['writeFile'](_0xb4d6d4,_0x4ccbfb['content'],_0x16a969(0x288)),this[_0x16a969(0x268)]?.['info'](_0x16a969(0x22f),{'file':_0xb4d6d4})),{'file':this['directoryAccessManager'][_0x16a969(0x1d8)](_0xb4d6d4,_0x2db81a),'fullPath':_0xb4d6d4,'action':_0x16a969(0x240),'formatted':_0x4ccbfb[_0x16a969(0x1f1)],'linesChanged':_0x4ccbfb['linesChanged'],'changes':_0x4ccbfb['changes'],'written':!!(_0x1c66de['writeFile']&&_0x4ccbfb['formatted']),'preview':!_0x1c66de['writeFile']&&_0x4ccbfb[_0x16a969(0x1f1)]?_0x4ccbfb['content']:undefined};}catch(_0x4434c4){throw new Error('Failed\x20to\x20format\x20'+_0x3751ff+':\x20'+_0x4434c4['message']);}}async[a0_0x1ee867(0x203)](_0x2b4946,_0x5e547a,_0x1b494a,_0x44fc98={}){const _0xa98f37=a0_0x1ee867,_0x210990=a0_0x410463[_0xa98f37(0x1f6)](_0x2b4946)?a0_0x410463[_0xa98f37(0x28f)](_0x2b4946):a0_0x410463[_0xa98f37(0x221)](_0x5e547a,_0x2b4946),_0x5ba0c3=this['directoryAccessManager']['validateReadAccess'](_0x210990,_0x1b494a);if(!_0x5ba0c3['allowed'])throw new Error(_0xa98f37(0x1c5)+_0x5ba0c3[_0xa98f37(0x28d)]);try{const _0x1a2c22=await a0_0x332bed[_0xa98f37(0x272)](_0x210990);if(_0x1a2c22[_0xa98f37(0x1d1)]>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x1a2c22[_0xa98f37(0x1d1)]+'\x20bytes\x20(max\x20'+this[_0xa98f37(0x208)]+')');const _0x4d8e8a=this[_0xa98f37(0x1b5)](_0x210990);if(!_0x4d8e8a||![_0xa98f37(0x1e8),'typescript','python']['includes'](_0x4d8e8a))return{'file':this['directoryAccessManager'][_0xa98f37(0x1d8)](_0x210990,_0x1b494a),'fullPath':_0x210990,'language':_0x4d8e8a||_0xa98f37(0x255),'issues':[],'skipped':!![],'skipReason':'Security\x20scanning\x20only\x20supports\x20JavaScript,\x20TypeScript,\x20and\x20Python\x20files'};const _0x2383b5=await a0_0x332bed['readFile'](_0x210990,'utf-8'),_0x22451a=await this['getSecurityAnalyzer'](),_0x4874bf=await _0x22451a['analyze'](_0x210990,_0x2383b5,{'skipTestFiles':_0x44fc98[_0xa98f37(0x1b1)]!==![]}),_0x12d310={'file':this['directoryAccessManager'][_0xa98f37(0x1d8)](_0x210990,_0x1b494a),'fullPath':_0x210990,'language':_0x4d8e8a,'action':'security-scan','critical':_0x4874bf[_0xa98f37(0x282)](_0x417b30=>_0x417b30['severity']===STATIC_ANALYSIS[_0xa98f37(0x1ed)][_0xa98f37(0x1c8)]),'errors':_0x4874bf['filter'](_0x571249=>_0x571249['severity']===STATIC_ANALYSIS[_0xa98f37(0x1ed)]['ERROR']),'warnings':_0x4874bf['filter'](_0x76df7d=>_0x76df7d[_0xa98f37(0x1e5)]===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x4874bf[_0xa98f37(0x282)](_0xafb5b4=>_0xafb5b4[_0xa98f37(0x1e5)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x4874bf[_0xa98f37(0x1bf)],'analyzed':!![],'scannersUsed':_0x4874bf[_0xa98f37(0x1e2)](_0x46d053=>_0x46d053[_0xa98f37(0x220)])['filter']((_0x24eece,_0x36e82a,_0x53712f)=>_0x53712f[_0xa98f37(0x25c)](_0x24eece)===_0x36e82a),'timestamp':new Date()['toISOString']()};return _0x12d310;}catch(_0x1e597b){throw new Error('Failed\x20to\x20security\x20scan\x20'+_0x2b4946+':\x20'+_0x1e597b[_0xa98f37(0x1f4)]);}}async['securityScanProject'](_0xb992e5,_0xd2697f,_0x277353,_0x1cc5c1,_0x25372d={}){const _0x3b3288=a0_0x1ee867,_0x37e1f9=a0_0x410463['isAbsolute'](_0xb992e5)?a0_0x410463[_0x3b3288(0x28f)](_0xb992e5):a0_0x410463['resolve'](_0x277353,_0xb992e5),_0x420624=this['directoryAccessManager']['validateReadAccess'](_0x37e1f9,_0x1cc5c1);if(!_0x420624['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x420624[_0x3b3288(0x28d)]);const _0x4c336f=await this[_0x3b3288(0x1d7)](),_0x5f5c77=await _0x4c336f[_0x3b3288(0x1ca)](_0x37e1f9,'javascript',_0x25372d),_0x24f0c5=_0xd2697f||'**/*.{js,jsx,mjs,cjs,ts,tsx,py}',_0x212113=await this['findFiles'](_0x37e1f9,_0x24f0c5);if(_0x212113[_0x3b3288(0x1bf)]>this['maxFilesPerBatch'])throw new Error(_0x3b3288(0x205)+_0x212113['length']+'\x20(max\x20'+this[_0x3b3288(0x23b)]+')');const _0xbbdf4b=[];if(this['parallelAnalysis']&&_0x212113['length']>0x1){this['logger']?.[_0x3b3288(0x1e6)](_0x3b3288(0x24e),{'totalFiles':_0x212113['length'],'batchSize':this[_0x3b3288(0x1e3)]});for(let _0x699356=0x0;_0x699356<_0x212113['length'];_0x699356+=this[_0x3b3288(0x1e3)]){const _0xcb4e45=_0x212113['slice'](_0x699356,_0x699356+this[_0x3b3288(0x1e3)]);_0x25372d['onProgress']&&_0x25372d['onProgress']({'completed':_0x699356,'total':_0x212113[_0x3b3288(0x1bf)],'percentage':Math['round'](_0x699356/_0x212113[_0x3b3288(0x1bf)]*0x64)});const _0x6722f=_0xcb4e45[_0x3b3288(0x1e2)](async _0x3f686e=>{const _0x586461=_0x3b3288;try{return await this['securityScanFile'](_0x3f686e,_0x277353,_0x1cc5c1,_0x25372d);}catch(_0x298c86){return this['logger']?.[_0x586461(0x1c0)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x3f686e,'error':_0x298c86[_0x586461(0x1f4)]}),{'file':this['directoryAccessManager']['createRelativePath'](_0x3f686e,_0x1cc5c1),'fullPath':_0x3f686e,'error':_0x298c86[_0x586461(0x1f4)],'success':![]};}}),_0xade13e=await Promise[_0x3b3288(0x1b6)](_0x6722f);_0xbbdf4b['push'](..._0xade13e[_0x3b3288(0x282)](_0x68c826=>_0x68c826!==null));}_0x25372d['onProgress']&&_0x25372d['onProgress']({'completed':_0x212113[_0x3b3288(0x1bf)],'total':_0x212113[_0x3b3288(0x1bf)],'percentage':0x64});}else for(const _0x5c1c4d of _0x212113){try{const _0x44938e=await this[_0x3b3288(0x203)](_0x5c1c4d,_0x277353,_0x1cc5c1,_0x25372d);_0x44938e&&_0xbbdf4b[_0x3b3288(0x218)](_0x44938e);}catch(_0x46d411){this[_0x3b3288(0x268)]?.['warn'](_0x3b3288(0x242),{'file':_0x5c1c4d,'error':_0x46d411[_0x3b3288(0x1f4)]}),_0xbbdf4b[_0x3b3288(0x218)]({'file':this['directoryAccessManager']['createRelativePath'](_0x5c1c4d,_0x1cc5c1),'fullPath':_0x5c1c4d,'error':_0x46d411['message'],'success':![]});}}return _0x5f5c77['length']>0x0&&_0xbbdf4b['push']({'file':a0_0x410463[_0x3b3288(0x291)](_0x37e1f9,_0x3b3288(0x25b)),'fullPath':a0_0x410463[_0x3b3288(0x291)](_0x37e1f9,'package.json'),'action':'dependency-scan','critical':_0x5f5c77[_0x3b3288(0x282)](_0x4090c3=>_0x4090c3[_0x3b3288(0x1e5)]===STATIC_ANALYSIS[_0x3b3288(0x1ed)]['CRITICAL']),'errors':_0x5f5c77[_0x3b3288(0x282)](_0x9691ae=>_0x9691ae['severity']===STATIC_ANALYSIS[_0x3b3288(0x1ed)][_0x3b3288(0x234)]),'warnings':_0x5f5c77['filter'](_0x36a2d2=>_0x36a2d2['severity']===STATIC_ANALYSIS[_0x3b3288(0x1ed)][_0x3b3288(0x23d)]),'info':_0x5f5c77[_0x3b3288(0x282)](_0x124772=>_0x124772['severity']===STATIC_ANALYSIS['SEVERITY'][_0x3b3288(0x278)]),'totalIssues':_0x5f5c77['length'],'analyzed':!![],'scannersUsed':[_0x3b3288(0x20f)],'timestamp':new Date()[_0x3b3288(0x27e)]()}),_0xbbdf4b;}async[a0_0x1ee867(0x1d0)](_0x27501c,_0x5533ae,_0x19517c,_0x53a246={}){const _0x38ec39=a0_0x1ee867,_0x1d39a4=a0_0x410463['isAbsolute'](_0x27501c)?a0_0x410463['normalize'](_0x27501c):a0_0x410463[_0x38ec39(0x221)](_0x5533ae,_0x27501c),_0x25f095=this['directoryAccessManager'][_0x38ec39(0x1e4)](_0x1d39a4,_0x19517c);if(!_0x25f095[_0x38ec39(0x271)])throw new Error('Read\x20access\x20denied:\x20'+_0x25f095[_0x38ec39(0x28d)]);try{const _0x17fcf2=await a0_0x332bed[_0x38ec39(0x272)](_0x1d39a4);if(_0x17fcf2['size']>this['maxFileSize'])throw new Error(_0x38ec39(0x24c)+_0x17fcf2[_0x38ec39(0x1d1)]+'\x20bytes\x20(max\x20'+this[_0x38ec39(0x208)]+')');const _0x4db3b7=await this['getConfigValidator'](),_0x2e4595=await _0x4db3b7['validate'](_0x1d39a4,_0x53a246),_0x52e3cc={'file':this[_0x38ec39(0x1b8)][_0x38ec39(0x1d8)](_0x1d39a4,_0x19517c),'fullPath':_0x1d39a4,'action':_0x38ec39(0x211),'critical':_0x2e4595['filter'](_0x113c0b=>_0x113c0b['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x2e4595['filter'](_0x409db=>_0x409db['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x2e4595[_0x38ec39(0x282)](_0x9102a1=>_0x9102a1['severity']===STATIC_ANALYSIS[_0x38ec39(0x1ed)][_0x38ec39(0x23d)]),'info':_0x2e4595[_0x38ec39(0x282)](_0x5cecfa=>_0x5cecfa['severity']===STATIC_ANALYSIS[_0x38ec39(0x1ed)]['INFO']),'totalIssues':_0x2e4595['length'],'analyzed':!![],'validatorsUsed':_0x2e4595[_0x38ec39(0x1e2)](_0x2b55f6=>_0x2b55f6[_0x38ec39(0x227)])[_0x38ec39(0x282)]((_0x81b04f,_0x3b882e,_0x2b2876)=>_0x2b2876[_0x38ec39(0x25c)](_0x81b04f)===_0x3b882e),'timestamp':new Date()[_0x38ec39(0x27e)]()};return _0x52e3cc;}catch(_0x4694b1){throw new Error(_0x38ec39(0x201)+_0x27501c+':\x20'+_0x4694b1['message']);}}async['validateConfigDirectory'](_0x5309e9,_0x4023e8,_0x4e49a5,_0xa6fb4b={}){const _0x1c0adf=a0_0x1ee867,_0x12a966=a0_0x410463['isAbsolute'](_0x5309e9)?a0_0x410463[_0x1c0adf(0x28f)](_0x5309e9):a0_0x410463['resolve'](_0x4023e8,_0x5309e9),_0x562de7=this[_0x1c0adf(0x1b8)][_0x1c0adf(0x1e4)](_0x12a966,_0x4e49a5);if(!_0x562de7['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x562de7[_0x1c0adf(0x28d)]);const _0x28817b=await this['findConfigFiles'](_0x12a966);if(_0x28817b['length']>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20config\x20files:\x20'+_0x28817b[_0x1c0adf(0x1bf)]+_0x1c0adf(0x219)+this[_0x1c0adf(0x23b)]+')');const _0x256bc0=[];for(const _0xc04f70 of _0x28817b){try{const _0x1b9078=await this['validateConfigFile'](_0xc04f70,_0x4023e8,_0x4e49a5,_0xa6fb4b);_0x1b9078&&_0x256bc0[_0x1c0adf(0x218)](_0x1b9078);}catch(_0x441585){this['logger']?.[_0x1c0adf(0x1c0)](_0x1c0adf(0x1cc),{'file':_0xc04f70,'error':_0x441585['message']}),_0x256bc0['push']({'file':this['directoryAccessManager'][_0x1c0adf(0x1d8)](_0xc04f70,_0x4e49a5),'fullPath':_0xc04f70,'error':_0x441585['message'],'success':![]});}}return _0x256bc0;}async[a0_0x1ee867(0x224)](_0x5efdee){const _0x31ca78=a0_0x1ee867,_0x12ea20=[],_0x42db05=['package.json',_0x31ca78(0x225),_0x31ca78(0x23c),_0x31ca78(0x223),'docker-compose.yaml','.env',_0x31ca78(0x1fa),_0x31ca78(0x1de),_0x31ca78(0x1bd),'.prettierrc',_0x31ca78(0x237)],_0x2c565e=[_0x31ca78(0x26c),_0x31ca78(0x229),'.json','.tf','.tfvars'],_0x452a69=async _0x585933=>{const _0x398c13=_0x31ca78,_0xfc0d52=await a0_0x332bed[_0x398c13(0x1c4)](_0x585933,{'withFileTypes':!![]});for(const _0x4db369 of _0xfc0d52){const _0x192e38=a0_0x410463[_0x398c13(0x291)](_0x585933,_0x4db369[_0x398c13(0x1da)]);if(_0x4db369['isDirectory']()){if(_0x4db369[_0x398c13(0x1da)]==='.github'||_0x4db369[_0x398c13(0x1da)]===_0x398c13(0x260)||_0x4db369['name']==='k8s'||_0x4db369['name']===_0x398c13(0x1c1))await _0x452a69(_0x192e38);else{if(!['node_modules','.git',_0x398c13(0x1f8),_0x398c13(0x200)][_0x398c13(0x285)](_0x4db369[_0x398c13(0x1da)]))continue;}}else{if(_0x4db369['isFile']()){if(_0x42db05[_0x398c13(0x285)](_0x4db369[_0x398c13(0x1da)]))_0x12ea20[_0x398c13(0x218)](_0x192e38);else{const _0x2705da=a0_0x410463['extname'](_0x4db369['name'])[_0x398c13(0x279)]();if(_0x2c565e[_0x398c13(0x285)](_0x2705da)){const _0x4c68a8=a0_0x410463[_0x398c13(0x20b)](a0_0x410463['dirname'](_0x192e38));(_0x4c68a8===_0x398c13(0x260)||_0x4c68a8===_0x398c13(0x1d9)||_0x4c68a8==='terraform'||_0x4c68a8===_0x398c13(0x1c6))&&_0x12ea20['push'](_0x192e38);}}}}}};return await _0x452a69(_0x5efdee),_0x12ea20;}['detectLanguage'](_0x21edd0){const _0x318ba3=a0_0x1ee867,_0x38f6c8=a0_0x410463['extname'](_0x21edd0)[_0x318ba3(0x279)]();return STATIC_ANALYSIS[_0x318ba3(0x22e)][_0x38f6c8]||null;}async['detectFramework'](_0x7ac9e3,_0x5d0f45){const _0x283ef9=a0_0x1ee867;try{if(_0x5d0f45===STATIC_ANALYSIS['LANGUAGE']['JAVASCRIPT']||_0x5d0f45===STATIC_ANALYSIS['LANGUAGE']['TYPESCRIPT'])return await this[_0x283ef9(0x22d)](_0x7ac9e3);if(_0x5d0f45===STATIC_ANALYSIS['LANGUAGE'][_0x283ef9(0x24b)])return await this[_0x283ef9(0x24f)](_0x7ac9e3);return null;}catch(_0x31caaf){return this['logger']?.[_0x283ef9(0x1e6)]('Framework\x20detection\x20failed',{'error':_0x31caaf['message']}),null;}}async[a0_0x1ee867(0x22d)](_0x155d83){const _0x19e742=a0_0x1ee867;try{const _0x290eb7=a0_0x410463[_0x19e742(0x291)](_0x155d83,STATIC_ANALYSIS[_0x19e742(0x25a)][_0x19e742(0x204)]),_0x1a1b00=await a0_0x332bed[_0x19e742(0x274)](_0x290eb7,'utf-8'),_0x556024=JSON[_0x19e742(0x226)](_0x1a1b00),_0x23ffa0={..._0x556024['dependencies'],..._0x556024[_0x19e742(0x1b3)]};for(const [_0x352cb2,_0x23341b]of Object['entries'](STATIC_ANALYSIS['JS_FRAMEWORKS'])){if(_0x23ffa0[_0x23341b])return _0x352cb2[_0x19e742(0x279)]();}return null;}catch(_0x4c2f1f){return null;}}async[a0_0x1ee867(0x24f)](_0x2a43c4){const _0x57dd69=a0_0x1ee867;try{const _0x45d11d=a0_0x410463[_0x57dd69(0x291)](_0x2a43c4,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS']['PYTHON']),_0x57a90b=await a0_0x332bed['readFile'](_0x45d11d,'utf-8');for(const [_0x41631d,_0x3a3222]of Object[_0x57dd69(0x207)](STATIC_ANALYSIS[_0x57dd69(0x244)])){if(_0x57a90b[_0x57dd69(0x279)]()['includes'](_0x3a3222))return _0x41631d['toLowerCase']();}return null;}catch(_0xb806){try{const _0x2852ae=a0_0x410463['join'](_0x2a43c4,STATIC_ANALYSIS[_0x57dd69(0x25a)]['PYTHON_POETRY']),_0x532c11=await a0_0x332bed['readFile'](_0x2852ae,'utf-8');for(const [_0x218822,_0x2d4faa]of Object[_0x57dd69(0x207)](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x532c11[_0x57dd69(0x279)]()[_0x57dd69(0x285)](_0x2d4faa))return _0x218822[_0x57dd69(0x279)]();}}catch{}return null;}}async['findFiles'](_0x25bf42,_0x45f70b){const _0x165c7a=a0_0x1ee867,_0x2cea81=[],_0x534ef1=_0x45f70b||_0x165c7a(0x25d),_0x665aec=_0x27b9c1=>{const _0x23bdec=_0x165c7a,_0x18d084=[],_0x5ccbd3=_0x27b9c1[_0x23bdec(0x1f5)](/\*\.\{([^}]+)\}/);if(_0x5ccbd3){const _0x513121=_0x5ccbd3[0x1][_0x23bdec(0x267)](',')['map'](_0x54c3fa=>_0x54c3fa['trim']());_0x513121['forEach'](_0x2dd0ef=>_0x18d084['push'](_0x2dd0ef[_0x23bdec(0x250)]('.')?_0x2dd0ef:'.'+_0x2dd0ef));}else{const _0x3d8c82=_0x27b9c1['match'](/\*\.([a-z]+)$/i);if(_0x3d8c82){const _0x5375f3=_0x3d8c82[0x1];_0x18d084['push'](_0x5375f3[_0x23bdec(0x250)]('.')?_0x5375f3:'.'+_0x5375f3);}}if(_0x18d084[_0x23bdec(0x1bf)]===0x0)return null;return _0x18d084;},_0x49e1df=_0x665aec(_0x534ef1),_0x5b3626=async _0x4eec04=>{const _0x474048=_0x165c7a,_0x4eaca4=await a0_0x332bed['readdir'](_0x4eec04,{'withFileTypes':!![]});for(const _0x391481 of _0x4eaca4){const _0x507228=a0_0x410463['join'](_0x4eec04,_0x391481[_0x474048(0x1da)]);if(_0x391481['isDirectory']())!['node_modules',_0x474048(0x27a),'dist','build',_0x474048(0x21c),'.venv','venv']['includes'](_0x391481['name'])&&await _0x5b3626(_0x507228);else{if(_0x391481[_0x474048(0x1ba)]()){const _0x3616c9=a0_0x410463[_0x474048(0x241)](_0x391481[_0x474048(0x1da)])[_0x474048(0x279)]();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x3616c9]&&((_0x49e1df===null||_0x49e1df[_0x474048(0x285)](_0x3616c9))&&_0x2cea81[_0x474048(0x218)](_0x507228));}}}};return await _0x5b3626(_0x25bf42),_0x2cea81;}async[a0_0x1ee867(0x1b2)](_0x4c1e8d){const _0x16c666=a0_0x1ee867;try{if(_0x4c1e8d===STATIC_ANALYSIS['LANGUAGE'][_0x16c666(0x204)]){if(!this['analyzers']['javascript']){const {default:_0x477813}=await import('../analyzers/JavaScriptAnalyzer.js');this['analyzers']['javascript']=new _0x477813(this[_0x16c666(0x268)]);}return this['analyzers']['javascript'];}if(_0x4c1e8d===STATIC_ANALYSIS[_0x16c666(0x1b7)][_0x16c666(0x246)]){if(!this[_0x16c666(0x1c7)]['typescript']){const {default:_0x769a22}=await import('../analyzers/TypeScriptAnalyzer.js');this[_0x16c666(0x1c7)][_0x16c666(0x294)]=new _0x769a22(this['logger']);}return this[_0x16c666(0x1c7)]['typescript'];}if(_0x4c1e8d===STATIC_ANALYSIS['LANGUAGE'][_0x16c666(0x24b)]){if(!this['analyzers'][_0x16c666(0x233)]){const {default:_0x2ecd74}=await import(_0x16c666(0x1bb));this['analyzers']['python']=new _0x2ecd74(this[_0x16c666(0x268)]);}return this[_0x16c666(0x1c7)]['python'];}if(_0x4c1e8d===STATIC_ANALYSIS['LANGUAGE']['CSS']||_0x4c1e8d===STATIC_ANALYSIS[_0x16c666(0x1b7)][_0x16c666(0x276)]||_0x4c1e8d===STATIC_ANALYSIS[_0x16c666(0x1b7)][_0x16c666(0x1f2)]){if(!this['analyzers'][_0x16c666(0x1f9)]){const {default:_0x226777}=await import('../analyzers/CSSAnalyzer.js');this[_0x16c666(0x1c7)][_0x16c666(0x1f9)]=new _0x226777(this['logger']);}return this[_0x16c666(0x1c7)][_0x16c666(0x1f9)];}return null;}catch(_0x29446d){return this[_0x16c666(0x268)]?.['error'](_0x16c666(0x1c2),{'language':_0x4c1e8d,'error':_0x29446d[_0x16c666(0x1f4)]}),null;}}async['getESLintAnalyzer'](){const _0x244248=a0_0x1ee867;if(!this[_0x244248(0x1c7)][_0x244248(0x26f)]){const {default:_0x2c2322}=await import('../analyzers/ESLintAnalyzer.js');this['analyzers']['eslint']=new _0x2c2322(this[_0x244248(0x268)]);}return this[_0x244248(0x1c7)]['eslint'];}async[a0_0x1ee867(0x248)](){const _0x152131=a0_0x1ee867;if(!this['formatters']['prettier']){const {default:_0x1e56f6}=await import('../analyzers/PrettierFormatter.js');this[_0x152131(0x1bc)]['prettier']=new _0x1e56f6(this[_0x152131(0x268)]);}return this[_0x152131(0x1bc)]['prettier'];}async[a0_0x1ee867(0x1d7)](){const _0x3b4fdf=a0_0x1ee867;if(!this['analyzers'][_0x3b4fdf(0x275)]){const {default:_0x27057d}=await import(_0x3b4fdf(0x215));this[_0x3b4fdf(0x1c7)][_0x3b4fdf(0x275)]=new _0x27057d(this['logger']);}return this['analyzers']['security'];}async[a0_0x1ee867(0x1ff)](){const _0x4dc0f3=a0_0x1ee867;if(!this['analyzers']['config']){const {default:_0x379eec}=await import(_0x4dc0f3(0x1e9));this['analyzers'][_0x4dc0f3(0x281)]=new _0x379eec(this['logger']);}return this[_0x4dc0f3(0x1c7)][_0x4dc0f3(0x281)];}['updateSummary'](_0x5c09ae,_0x4f4e47){const _0x250bd0=a0_0x1ee867;if(_0x4f4e47['analyzed']){_0x5c09ae['totalFiles']++;const _0x3ac560=_0x4f4e47[_0x250bd0(0x20a)]?.[_0x250bd0(0x1bf)]||0x0,_0x16de28=_0x4f4e47['errors']?.['length']||0x0,_0x4a2ba3=_0x4f4e47[_0x250bd0(0x26b)]?.['length']||0x0,_0x6615ad=_0x4f4e47[_0x250bd0(0x1f3)]?.[_0x250bd0(0x1bf)]||0x0;_0x5c09ae['totalCritical']===undefined&&(_0x5c09ae['totalCritical']=0x0);_0x5c09ae[_0x250bd0(0x21d)]+=_0x3ac560,_0x5c09ae['totalErrors']+=_0x16de28,_0x5c09ae['totalWarnings']+=_0x4a2ba3,_0x5c09ae['totalInfo']+=_0x6615ad;(_0x3ac560>0x0||_0x16de28>0x0)&&_0x5c09ae['filesWithErrors']++;_0x4f4e47[_0x250bd0(0x1b9)]&&(_0x5c09ae[_0x250bd0(0x22b)][_0x4f4e47[_0x250bd0(0x1b9)]]=(_0x5c09ae[_0x250bd0(0x22b)][_0x4f4e47['language']]||0x0)+0x1);const _0x19c25d=[..._0x4f4e47[_0x250bd0(0x20a)]||[],..._0x4f4e47['errors']||[],..._0x4f4e47['warnings']||[]];for(const _0x2881d5 of _0x19c25d){_0x2881d5['category']&&(_0x5c09ae['errorsByCategory'][_0x2881d5['category']]=(_0x5c09ae[_0x250bd0(0x202)][_0x2881d5[_0x250bd0(0x228)]]||0x0)+0x1);}}}[a0_0x1ee867(0x284)](_0x2a7c4c){const _0x51bb91=a0_0x1ee867;return a0_0x35e28c['createHash']('sha256')[_0x51bb91(0x1b4)](_0x2a7c4c)[_0x51bb91(0x217)](_0x51bb91(0x23e))[_0x51bb91(0x1be)](0x0,0x10);}['getPerformanceMetrics'](){const _0xbc9227=a0_0x1ee867,_0xc63022=this['metrics']['totalAnalyses']>0x0?this[_0xbc9227(0x28b)][_0xbc9227(0x20c)]/this['metrics'][_0xbc9227(0x26e)]*0x64:0x0,_0x40a05e=this['metrics'][_0xbc9227(0x1d5)]>0x0?this['metrics'][_0xbc9227(0x1e0)]/this['metrics'][_0xbc9227(0x1d5)]:0x0;return{...this[_0xbc9227(0x28b)],'cacheHitRate':Math[_0xbc9227(0x20e)](_0xc63022*0xa)/0xa,'averageAnalysisTime':Math['round'](_0x40a05e),'cacheSize':this[_0xbc9227(0x247)]['size']};}['resetPerformanceMetrics'](){this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}[a0_0x1ee867(0x231)](){const _0x394ed8=a0_0x1ee867;this['analysisCache']['clear'](),this['logger']?.[_0x394ed8(0x1e6)](_0x394ed8(0x1fd));}['getSupportedActions'](){const _0x3c5c40=a0_0x1ee867;return[_0x3c5c40(0x1dd),'analyze-project',_0x3c5c40(0x1f7),'format','security-scan','security-scan-project',_0x3c5c40(0x211),_0x3c5c40(0x1dc)];}[a0_0x1ee867(0x245)](){const _0x262bf4=a0_0x1ee867;return{'type':_0x262bf4(0x283),'properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':_0x262bf4(0x283),'properties':{'type':{'type':_0x262bf4(0x21b),'enum':this[_0x262bf4(0x213)]()},'filePath':{'type':'string'},'directory':{'type':_0x262bf4(0x21b)},'pattern':{'type':'string'},'includeWarnings':{'type':_0x262bf4(0x273)},'maxErrors':{'type':_0x262bf4(0x263)}},'required':[_0x262bf4(0x206)]}}},'required':['actions']};}}export default StaticAnalysisTool;
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;