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

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/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-CoRE46V-.js → index-C5X7qBNF.js} +63 -63
  119. package/web-ui/build/static/index-g2UFuTwG.css +1 -0
  120. package/web-ui/build/static/index-P281Rusr.css +0 -1
@@ -1 +1 @@
1
- const a0_0x4a41fc=a0_0x3a25;function a0_0x31e3(){const _0x4f8e41=['Bwf0y2HLC0j5vgvYBq','AM9PBG','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO','qMfZzsbKAxjLy3rVCNKGBM90igzVDw5KigzVCIbNBg9IihbHDhrLCM4','ywrK','Aw5JBhvKzxm','tufyx0zjtevFu0LArq','zMLSzvbHDgHZ','zMLSDgvY','C2HVDwXKu2TPCerPCMvJDg9YEq','mJm5me5PqvLwDa','lNrVBwW','mJqYotjcv216Cge','lMHWCa','lNnHC3m','CMvHze9UBhLeAxjLy3rVCMLLCW','tM8GBwf0y2HLCYbMB3vUzcbMB3iGDgHLihnWzwnPzMLLzcbZzwfYy2GGDgvYBxmGAw4G','tuiGCgvYigzPBguklsbszxr1CM5ZihvWihrVia','lNnXBgL0zq','mJuYnZeYounmvejquG','oIbWyxrOihrYyxzLCNnHBcaOlI4Pig5VDcbHBgXVD2vKigzVCIbZzwn1CML0Eq','BM90rM91BMq','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','lNjI','lNnV','lMnZCW','lJD6','ihnLyxjJAcb0zxjTCWOTie1HEgLTDw0G','lNLTBa','lNn2zW','Aw5MBW','lMrSBa','CMvHzgrPCG','u0vbuKniifjfu1vmvfmGka','y3DK','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','lNrZEa','uhjVAMvJDcbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLzwSGDg9VBa','tufyx1nfqvjdsf9urvjnuW','ks4Gtwf4Aw11BsbPCYa','BMfTzq','lMvVDa','lNbUzW','zxH0BMfTzq','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','tufyx1rpvefmx01bvenirvm','C2vHCMnOvgvYBxm','zxjYB3jgAwXLCW','Bwf0y2HLC1bHDhrLCM4','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','lMLUAq','C2vLA0nVBMzPzW','D29YA2LUz0rPCMvJDg9YEq','BwLU','DhjPBq','C2vHCMnOrMLSzxm','tuiGCgvYigzPBguklsbdyxnLlxnLBNnPDgL2zsbZzwfYy2GGB25SEqOTiev4ywn0ihn0CMLUzYbTyxrJAgLUzYaOBM90ihjLz2v4kqOTifbHDgHZig91DhnPzguGywnJzxnZAwjSzsbKAxjLy3rVCMLLCYb3AwXSigjLihjLCg9YDgvKigfZicjUB3qGzM91BMqIcIaGica','lNDVzMyY','lMD6','y2XLyw51Ca','lMDV','lM51Ehq','CM91BMq','DgvYBq','AxnqyxrOqwnJzxnZAwjSzq','vg9Vig1HBNKGzMLSzsbWyxrOCYaOBwf4ia','BgvUz3rO','kIOV','lMjPBG','lNbKzG','ks4Gu29TzsbTyxrJAgvZig1HEsbUB3qGyMuGC2HVD24UcG','Aw5KzxHpzG','tufyx0zjtevFuefusfm','rMLSzsbWyxrOia','BgLUzu51BwjLCG','tufyx0XjtKvFq09ovevovf9mru5hveG','lMDPDa','lM1K','lMnWCa','tufyx0rjuKvdve9swv9ervbusa','C3rHCNrZv2L0Aa','mJGYmZGWnhLfq2vdsq','zxHWyw5Kr2XVyLbHDhrLCM4','ChvZAa','ig1HDgnOzxmPcG','zM91BMq','C3bSAxq','nJq1otG1t0HWBMff','yNvPBgq','lMf2Aq','z2v0rgvZy3jPChrPB24','CgfYC2u','lMPZB24','CgfYC2vqyxjHBwv0zxjZ','BwvZC2fNzq','AxnbyNnVBhv0zq','BwfW','lNHTBa','vg9Vig1HBNKGC2vHCMnOihrLCM1ZicHTyxGG','Dg9mB3DLCKnHC2u','nJK1sgnit3vx','ihrVDgfSig1HDgnOzxmGAw4G','zxjYB3i','B3v0','C3rHDa','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','qxqGBgvHC3qGB25LihnLyxjJAcb0zxjTigLZihjLCxvPCMvK','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','AxngAwXL','BgLUzunVBNrLBNq','AxnbCNjHEq','lMLJBW','C3rYAw5N','ntaXnJu3nMrNv2jRsq','lNPPCa','AxneAxjLy3rVCNK','xcqM','mtrxs29PAvG','AxnbC3LUyW','DMvUzg9Y','lI4U','zxHLyW','Bg9Nz2vY','Bwf4','C2L6zq','zMLSzvbHDgG','mJboserSBKO','lMrHDa','zw50CMLLCW','vxnPBMCGywDLBNqGy29UzMLNDxjLzcbKAxjLy3rVCNKGywnJzxnZ','rgLYzwn0B3j5ig5VDcbMB3vUzcbMB3iGz2XVyIbWyxr0zxjU','otK3mJLqBKnfAg0','lNnO','y29Kzq','C2HVDwXKu2TPCezPBgu','twf4Aw11BsbKAxjLy3rVCNKGzgvWDgGGCMvHy2HLza','AgfZ','Bwf0y2HLCW','icaTia','DgLTzw91Da','zxnJyxbLuMvNrxHW','CMvWBgfJzq','DgfYz2v0','lM5LEhq','CMvSyxrPDMu','mtm2CwD0zfDu','lMr5BgLI','tufyx0zjtevtx1bfuL9trufsq0G','mta0murLD0DVsW','BM9Kzv9TB2r1BgvZ','rKLmrvmGv0LuscbfuLjpuLm6cG','lNjHCG','zgLZDa','rMfPBgvKihrVihbHCNnLihnLzwSGCgfYyw1LDgvYCW','DgvTCa','D2fYBG','zMLUzezPBgvZuMvJDxjZAxzLBhK'];a0_0x31e3=function(){return _0x4f8e41;};return a0_0x31e3();}function a0_0x3a25(_0x204ff5,_0x343902){_0x204ff5=_0x204ff5-0x74;const _0x31e387=a0_0x31e3();let _0x3a2594=_0x31e387[_0x204ff5];if(a0_0x3a25['iaPboy']===undefined){var _0x4810d6=function(_0x186e8b){const _0x21fbb6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36c8cb='',_0x2f5d8b='';for(let _0xb9ec78=0x0,_0xfe1893,_0x547f1c,_0x2d40c1=0x0;_0x547f1c=_0x186e8b['charAt'](_0x2d40c1++);~_0x547f1c&&(_0xfe1893=_0xb9ec78%0x4?_0xfe1893*0x40+_0x547f1c:_0x547f1c,_0xb9ec78++%0x4)?_0x36c8cb+=String['fromCharCode'](0xff&_0xfe1893>>(-0x2*_0xb9ec78&0x6)):0x0){_0x547f1c=_0x21fbb6['indexOf'](_0x547f1c);}for(let _0x5e77bb=0x0,_0x40a170=_0x36c8cb['length'];_0x5e77bb<_0x40a170;_0x5e77bb++){_0x2f5d8b+='%'+('00'+_0x36c8cb['charCodeAt'](_0x5e77bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f5d8b);};a0_0x3a25['qGsdYU']=_0x4810d6,a0_0x3a25['cQglXU']={},a0_0x3a25['iaPboy']=!![];}const _0x417c2f=_0x31e387[0x0],_0x3d99d2=_0x204ff5+_0x417c2f,_0x502aad=a0_0x3a25['cQglXU'][_0x3d99d2];return!_0x502aad?(_0x3a2594=a0_0x3a25['qGsdYU'](_0x3a2594),a0_0x3a25['cQglXU'][_0x3d99d2]=_0x3a2594):_0x3a2594=_0x502aad,_0x3a2594;}(function(_0x4816ad,_0x340b21){const _0x193653=a0_0x3a25,_0x57878b=_0x4816ad();while(!![]){try{const _0x49ceb2=-parseInt(_0x193653(0xdb))/0x1+parseInt(_0x193653(0x8e))/0x2*(-parseInt(_0x193653(0x7b))/0x3)+-parseInt(_0x193653(0x90))/0x4*(-parseInt(_0x193653(0xe8))/0x5)+parseInt(_0x193653(0xd5))/0x6*(parseInt(_0x193653(0xf9))/0x7)+parseInt(_0x193653(0x78))/0x8*(-parseInt(_0x193653(0x107))/0x9)+parseInt(_0x193653(0x102))/0xa*(-parseInt(_0x193653(0x97))/0xb)+parseInt(_0x193653(0xf5))/0xc;if(_0x49ceb2===_0x340b21)break;else _0x57878b['push'](_0x57878b['shift']());}catch(_0x590403){_0x57878b['push'](_0x57878b['shift']());}}}(a0_0x31e3,0x78d6e));import{BaseTool}from'./baseTool.js';import a0_0x36c8cb from'../utilities/tagParser.js';import{promises as a0_0x2f5d8b}from'fs';import a0_0xb9ec78 from'path';const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING='utf-8',BINARY_EXTENSIONS=new Set([a0_0x4a41fc(0xae),'.jpg','.jpeg','.gif','.bmp',a0_0x4a41fc(0xf3),a0_0x4a41fc(0xa1),a0_0x4a41fc(0xc9),a0_0x4a41fc(0xf6),'.tar',a0_0x4a41fc(0xbe),a0_0x4a41fc(0x7e),a0_0x4a41fc(0x9e),'.exe',a0_0x4a41fc(0xa3),a0_0x4a41fc(0x9c),a0_0x4a41fc(0x79),'.mp3','.mp4',a0_0x4a41fc(0xdd),'.mov','.wmv','.woff',a0_0x4a41fc(0xbd),'.ttf',a0_0x4a41fc(0xad),a0_0x4a41fc(0xc8),a0_0x4a41fc(0x103),'.db',a0_0x4a41fc(0x96)]);class SeekTool extends BaseTool{constructor(_0xfe1893={},_0x547f1c=null){const _0x16d7f1=a0_0x4a41fc;super(_0xfe1893,_0x547f1c),this['requiresProject']=!![],this[_0x16d7f1(0xfa)]=!![],this[_0x16d7f1(0x10f)]=_0xfe1893[_0x16d7f1(0x10f)]||0x1d4c0,this['seekConfig']={...SEEK_CONFIG,..._0xfe1893['seekConfig']};}[a0_0x4a41fc(0xde)](){const _0x5581f2=a0_0x4a41fc;return'\x0aSeek\x20Tool:\x20Search\x20for\x20specific\x20content\x20within\x20project\x20files.\x20Highly\x20recommended\x20for\x20verifying\x20imports,\x20function\x20usage,\x20and\x20variable\x20references.\x0a\x0aXML\x20USAGE:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20file/path/one.js\x0a\x20\x20\x20\x20file/path/two.js\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20one</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20two</term>\x0a\x20\x20\x20\x20<term>search\x20phrase\x20three</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aJSON\x20USAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x0a\x20\x20\x20\x20\x22src/components/Header.js\x22,\x0a\x20\x20\x20\x20\x22src/utils/*.js\x22,\x0a\x20\x20\x20\x20\x22src/**/*.jsx\x22\x0a\x20\x20],\x0a\x20\x20\x22searchTerms\x22:\x20[\x0a\x20\x20\x20\x20\x22import\x20React\x22,\x0a\x20\x20\x20\x20\x22useState\x22,\x0a\x20\x20\x20\x20\x22function\x20handleSubmit\x22\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20GLOB\x20PATTERNS:\x0a-\x20*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20in\x20a\x20directory\x0a-\x20**/*.js\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20recursively\x0a-\x20src/**/*.jsx\x20\x20\x20-\x20All\x20.jsx\x20files\x20under\x20src/\x20recursively\x0a-\x20components/*.*\x20-\x20All\x20files\x20in\x20components/\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Find\x20function\x20usage:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/*.js\x0a\x20\x20\x20\x20src/utils/helpers.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>function\x20handleSubmit</term>\x0a\x20\x20\x20\x20<term>useState(</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x202\x20-\x20Verify\x20imports:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/components/Header.js\x0a\x20\x20\x20\x20src/components/Footer.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>import\x20React</term>\x0a\x20\x20\x20\x20<term>import\x20{\x20useState\x20}</term>\x0a\x20\x20\x20\x20<term>from\x20\x27react\x27</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x203\x20-\x20Find\x20variable\x20references:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20src/**/*.js\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>apiClient</term>\x0a\x20\x20\x20\x20<term>config.apiUrl</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aExample\x204\x20-\x20Search\x20specific\x20files\x20only:\x0a<seek>\x0a\x20\x20<in-files>\x0a\x20\x20\x20\x20package.json\x0a\x20\x20\x20\x20tsconfig.json\x0a\x20\x20\x20\x20.gitignore\x0a\x20\x20</in-files>\x0a\x20\x20<search-terms>\x0a\x20\x20\x20\x20<term>react</term>\x0a\x20\x20\x20\x20<term>typescript</term>\x0a\x20\x20</search-terms>\x0a</seek>\x0a\x0aFEATURES:\x0a-\x20Searches\x20for\x20exact\x20string\x20matches\x20(case-sensitive)\x0a-\x20Returns\x20file\x20path,\x20line\x20number,\x20and\x20line\x20content\x20for\x20each\x20match\x0a-\x20Supports\x20glob\x20patterns\x20for\x20flexible\x20file\x20selection\x0a-\x20Skips\x20binary\x20files\x20automatically\x0a-\x20Reports\x20files\x20not\x20found\x20and\x20files\x20with\x20errors\x0a-\x20Limited\x20to\x20'+SEEK_CONFIG[_0x5581f2(0x8a)]/(0x400*0x400)+_0x5581f2(0x95)+SEEK_CONFIG['MAX_TOTAL_MATCHES']+'\x20matches\x20total\x0a\x0aRESULT\x20FORMAT:\x0aThe\x20tool\x20returns:\x0a-\x20List\x20of\x20files\x20that\x20were\x20not\x20found\x0a-\x20List\x20of\x20files\x20that\x20had\x20errors\x20during\x20search\x0a-\x20For\x20each\x20search\x20term:\x0a\x20\x20-\x20File\x20path\x20where\x20found\x0a\x20\x20-\x20Line\x20number\x0a\x20\x20-\x20Line\x20content\x20(trimmed)\x0a\x0aMULTI-DIRECTORY\x20SUPPORT:\x0aWhen\x20an\x20agent\x20has\x20multiple\x20directories\x20configured,\x20the\x20SeekTool\x20can\x20search\x20across\x20all\x20of\x20them:\x0a-\x20Relative\x20paths\x20are\x20resolved\x20from\x20the\x20working\x20directory\x0a-\x20Absolute\x20paths\x20can\x20reference\x20any\x20accessible\x20directory\x0a-\x20Automatic\x20validation\x20ensures\x20paths\x20are\x20within\x20allowed\x20directories\x0a\x0aExample\x20with\x20multiple\x20directories:\x0aIf\x20agent\x20has\x20access\x20to:\x0a\x20\x20-\x20/home/user/project1\x20(working\x20directory)\x0a\x20\x20-\x20/home/user/project2\x20(read-only)\x0a\x20\x20-\x20/home/user/shared\x20(read-only)\x0a\x0aYou\x20can\x20search:\x0a\x20\x20src/**/*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20Searches\x20in\x20/home/user/project1/src/**/*.js\x0a\x20\x20/home/user/project2/config.json\x20\x20\x20\x20\x20\x20\x20→\x20Searches\x20in\x20project2\x20(absolute\x20path)\x0a\x20\x20/home/user/shared/docs/*.md\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20Searches\x20in\x20shared\x20directory\x0a\x0aLIMITATIONS:\x0a-\x20Maximum\x20'+SEEK_CONFIG['MAX_FILES_PER_SEARCH']+'\x20files\x20per\x20search\x0a-\x20Maximum\x20'+SEEK_CONFIG[_0x5581f2(0xaa)]+_0x5581f2(0x9f)+SEEK_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+_0x5581f2(0xbc);}[a0_0x4a41fc(0xe1)](_0x2d40c1){const _0x1b127b=a0_0x4a41fc;try{if(_0x2d40c1['trim']()['startsWith']('{')){const _0x33cee7=JSON[_0x1b127b(0xdf)](_0x2d40c1);return{'filePaths':_0x33cee7['filePaths']||[],'searchTerms':_0x33cee7[_0x1b127b(0xb2)]||[]};}const _0x5e77bb={'filePaths':[],'searchTerms':[]},_0x40a170=/<in-files>([\s\S]*?)<\/in-files>/i,_0x25cb1f=_0x40a170[_0x1b127b(0xfd)](_0x2d40c1);if(_0x25cb1f){const _0x4f878b=_0x25cb1f[0x1];_0x5e77bb[_0x1b127b(0x8b)]=_0x4f878b['split']('\x0a')[_0x1b127b(0xe4)](_0x2e4c01=>_0x2e4c01[_0x1b127b(0xba)]())[_0x1b127b(0x8c)](_0x2af8e5=>_0x2af8e5[_0x1b127b(0xc6)]>0x0);}const _0x20b6e9=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x28753c=_0x20b6e9['exec'](_0x2d40c1);if(_0x28753c){const _0x30fdff=_0x28753c[0x1],_0x3c1567=/<term>(.*?)<\/term>/gi;let _0x26d173;while((_0x26d173=_0x3c1567[_0x1b127b(0xfd)](_0x30fdff))!==null){const _0x4e7918=_0x26d173[0x1][_0x1b127b(0xba)]();_0x4e7918['length']>0x0&&_0x5e77bb[_0x1b127b(0xb2)]['push'](_0x4e7918);}}return _0x5e77bb;}catch(_0x3fdef1){return this[_0x1b127b(0xfe)]?.[_0x1b127b(0xea)](_0x1b127b(0x80),{'error':_0x3fdef1['message']}),{'filePaths':[],'searchTerms':[],'parseError':_0x3fdef1[_0x1b127b(0xe2)]};}}[a0_0x4a41fc(0xa7)](){const _0x3fd500=a0_0x4a41fc;return['filePaths',_0x3fd500(0xb2)];}['customValidateParameters'](_0x369ff5){const _0x154d59=a0_0x4a41fc,_0x331fea=[];if(!_0x369ff5[_0x154d59(0x8b)]||!Array[_0x154d59(0xf2)](_0x369ff5['filePaths'])||_0x369ff5['filePaths']['length']===0x0)_0x331fea['push']('At\x20least\x20one\x20file\x20path\x20is\x20required');else _0x369ff5['filePaths']['length']>this['seekConfig'][_0x154d59(0xcc)]&&_0x331fea[_0x154d59(0xd7)](_0x154d59(0xc5)+this[_0x154d59(0xb7)][_0x154d59(0xcc)]+')');if(!_0x369ff5['searchTerms']||!Array[_0x154d59(0xf2)](_0x369ff5['searchTerms'])||_0x369ff5[_0x154d59(0xb2)]['length']===0x0)_0x331fea['push'](_0x154d59(0xee));else _0x369ff5[_0x154d59(0xb2)]['length']>this[_0x154d59(0xb7)]['MAX_SEARCH_TERMS']&&_0x331fea[_0x154d59(0xd7)](_0x154d59(0xe6)+this['seekConfig'][_0x154d59(0xaa)]+')');if(_0x369ff5[_0x154d59(0xb2)]&&Array['isArray'](_0x369ff5['searchTerms']))for(const [_0x1040a9,_0x123344]of _0x369ff5['searchTerms'][_0x154d59(0x104)]()){(typeof _0x123344!==_0x154d59(0xf4)||_0x123344[_0x154d59(0xba)]()[_0x154d59(0xc6)]===0x0)&&_0x331fea[_0x154d59(0xd7)]('Search\x20term\x20'+(_0x1040a9+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string');}if(_0x369ff5[_0x154d59(0x8b)]&&Array[_0x154d59(0xf2)](_0x369ff5[_0x154d59(0x8b)]))for(const [_0x44f54a,_0x47d6cf]of _0x369ff5[_0x154d59(0x8b)]['entries']()){(typeof _0x47d6cf!=='string'||_0x47d6cf[_0x154d59(0xba)]()[_0x154d59(0xc6)]===0x0)&&_0x331fea['push'](_0x154d59(0xcd)+(_0x44f54a+0x1)+_0x154d59(0xb0)),_0x47d6cf[_0x154d59(0x89)]('..')&&_0x331fea['push']('File\x20path\x20'+(_0x44f54a+0x1)+_0x154d59(0x98));}return{'valid':_0x331fea['length']===0x0,'errors':_0x331fea};}async['execute'](_0x2ca23c,_0x520337){const _0x34e035=a0_0x4a41fc,{filePaths:_0x8258d0,searchTerms:_0x476ede}=_0x2ca23c,{projectDir:_0x280517,agentId:_0x1ef17b,directoryAccess:_0x46b369}=_0x520337;let _0xc7c44e=_0x280517||process[_0x34e035(0xa6)](),_0x3e778c=[_0xc7c44e];_0x46b369&&_0x46b369[_0x34e035(0xb8)]&&(_0xc7c44e=_0x46b369['workingDirectory'],_0x3e778c=this['getAllAccessibleDirectories'](_0x46b369),this[_0x34e035(0xfe)]?.[_0x34e035(0xa2)](_0x34e035(0x105),{'workingDirectory':_0x46b369[_0x34e035(0xb8)],'totalAccessibleDirs':_0x3e778c[_0x34e035(0xc6)],'readOnlyDirs':_0x46b369['readOnlyDirectories']?.['length']||0x0,'writeEnabledDirs':_0x46b369['writeEnabledDirectories']?.[_0x34e035(0xc6)]||0x0,'agentId':_0x1ef17b}));if(!_0xc7c44e)throw new Error(_0x34e035(0xa9));this['logger']?.[_0x34e035(0xa2)]('Executing\x20seek\x20tool',{'filePathCount':_0x8258d0['length'],'searchTermCount':_0x476ede['length'],'workingDirectory':_0xc7c44e,'accessibleDirectories':_0x3e778c['length'],'agentId':_0x1ef17b});try{const _0x31e0fc=await this['resolveFilePaths'](_0x8258d0,_0xc7c44e,_0x46b369?_0x3e778c:null),_0x172c48=_0x31e0fc['found'],_0xe53289=_0x31e0fc[_0x34e035(0x99)];if(_0x172c48['length']>this['seekConfig']['MAX_FILES_PER_SEARCH'])return{'success':![],'error':'Too\x20many\x20files\x20to\x20search\x20('+_0x172c48['length']+_0x34e035(0xab)+this[_0x34e035(0xb7)][_0x34e035(0x7a)]+'.\x20Use\x20more\x20specific\x20file\x20patterns.','filesResolved':_0x172c48[_0x34e035(0xc6)],'filesNotFound':_0xe53289['length']};const _0x4171e4=await this['searchFiles'](_0x172c48,_0x476ede,_0xc7c44e),_0x42f20c=this['formatResults'](_0x4171e4['matches'],_0x4171e4['errorFiles'],_0xe53289,_0x172c48[_0x34e035(0xc6)]);return{'success':!![],'filesSearched':_0x172c48[_0x34e035(0xc6)],'filesNotFound':_0xe53289[_0x34e035(0xc6)],'filesWithErrors':_0x4171e4[_0x34e035(0xb3)]['length'],'totalMatches':_0x4171e4[_0x34e035(0x10d)]['length'],'matchesByTerm':_0x4171e4[_0x34e035(0x84)],'formattedResults':_0x42f20c,'toolUsed':'seek'};}catch(_0x523422){this[_0x34e035(0xfe)]?.[_0x34e035(0xea)]('Seek\x20tool\x20execution\x20failed',{'error':_0x523422[_0x34e035(0xe2)]});throw _0x523422;}}[a0_0x4a41fc(0xef)](_0x84604a){const _0x56e9bb=a0_0x4a41fc,_0x119122=new Set();_0x84604a['workingDirectory']&&_0x119122['add'](_0x84604a[_0x56e9bb(0xb8)]);if(_0x84604a['readOnlyDirectories']&&Array['isArray'](_0x84604a[_0x56e9bb(0x93)]))for(const _0x4c8a43 of _0x84604a['readOnlyDirectories']){_0x119122['add'](_0x4c8a43);}if(_0x84604a[_0x56e9bb(0xed)]&&Array['isArray'](_0x84604a['writeEnabledDirectories']))for(const _0x28ac22 of _0x84604a['writeEnabledDirectories']){_0x119122[_0x56e9bb(0x88)](_0x28ac22);}return Array['from'](_0x119122);}[a0_0x4a41fc(0xc4)](_0x37cd15,_0x5b75d8){const _0x2b807e=a0_0x4a41fc;for(const _0x39e6eb of _0x5b75d8){const _0xe17445=a0_0xb9ec78['relative'](_0x39e6eb,_0x37cd15),_0x14fc2f=!_0xe17445[_0x2b807e(0xd4)]('..')&&!a0_0xb9ec78[_0x2b807e(0xe3)](_0xe17445);if(_0x14fc2f)return!![];}return![];}async['resolveFilePaths'](_0x17c986,_0x1d7201,_0x268f16=null){const _0x479ce1=a0_0x4a41fc,_0x1e3746={'found':[],'notFound':[]};for(const _0x5ac5ca of _0x17c986){const _0x30bfe0=_0x5ac5ca[_0x479ce1(0xba)]();if(_0x30bfe0['includes']('*')){const _0x10ee08=await this[_0x479ce1(0xd6)](_0x30bfe0,_0x1d7201);_0x10ee08['found']['length']>0x0?_0x1e3746[_0x479ce1(0xd9)]['push'](..._0x10ee08[_0x479ce1(0xd9)]):_0x1e3746[_0x479ce1(0x99)]['push'](_0x30bfe0+'\x20(no\x20matching\x20files)');}else{const _0x10545e=a0_0xb9ec78['isAbsolute'](_0x30bfe0)?_0x30bfe0:a0_0xb9ec78['resolve'](_0x1d7201,_0x30bfe0);if(_0x268f16&&_0x268f16['length']>0x0){if(!this[_0x479ce1(0xc4)](_0x10545e,_0x268f16)){_0x1e3746['notFound']['push'](_0x30bfe0+'\x20(not\x20in\x20accessible\x20directories)');continue;}}try{const _0x42a129=await a0_0x2f5d8b[_0x479ce1(0xec)](_0x10545e);if(_0x42a129[_0x479ce1(0xf0)]())_0x1e3746['found'][_0x479ce1(0xd7)](_0x10545e);else _0x42a129['isDirectory']()?_0x1e3746['notFound'][_0x479ce1(0xd7)](_0x30bfe0+'\x20(is\x20a\x20directory,\x20not\x20a\x20file)'):_0x1e3746[_0x479ce1(0x99)][_0x479ce1(0xd7)](_0x30bfe0+'\x20(not\x20a\x20regular\x20file)');}catch(_0x34c0bb){_0x1e3746[_0x479ce1(0x99)][_0x479ce1(0xd7)](_0x30bfe0+'\x20('+(_0x34c0bb[_0x479ce1(0x109)]||_0x34c0bb[_0x479ce1(0xe2)])+')');}}}return _0x1e3746;}async['expandGlobPattern'](_0x20f477,_0x2db25e){const _0x37b99d=a0_0x4a41fc,_0x221d33={'found':[]};if(_0x20f477['includes']('**/')){const [_0x57d67f,_0x3ebacb]=_0x20f477[_0x37b99d(0xda)](_0x37b99d(0xc7)),_0x189871=a0_0xb9ec78['resolve'](_0x2db25e,_0x57d67f);try{const _0xefba2c=await a0_0x2f5d8b['stat'](_0x189871);_0xefba2c[_0x37b99d(0xf7)]()&&await this[_0x37b99d(0x83)](_0x189871,_0x3ebacb,_0x221d33['found'],0x0,this[_0x37b99d(0xb7)][_0x37b99d(0xd3)]);}catch(_0x399841){this['logger']?.[_0x37b99d(0x82)](_0x37b99d(0x87),{'basePath':_0x189871,'error':_0x399841[_0x37b99d(0xe2)]});}}else{if(_0x20f477['includes']('*')){const _0x4a002d=a0_0xb9ec78['dirname'](a0_0xb9ec78['resolve'](_0x2db25e,_0x20f477)),_0x2b29d3=a0_0xb9ec78['basename'](_0x20f477);try{const _0x1b0a3f=await a0_0x2f5d8b[_0x37b99d(0xec)](_0x4a002d);if(_0x1b0a3f[_0x37b99d(0xf7)]()){const _0x625606=await a0_0x2f5d8b['readdir'](_0x4a002d);for(const _0x59940e of _0x625606){const _0x23abbe=a0_0xb9ec78['join'](_0x4a002d,_0x59940e);try{const _0x1da106=await a0_0x2f5d8b['stat'](_0x23abbe);_0x1da106[_0x37b99d(0xf0)]()&&this['matchesPattern'](_0x59940e,_0x2b29d3)&&_0x221d33['found']['push'](_0x23abbe);}catch(_0x12a716){continue;}}}}catch(_0x203838){this[_0x37b99d(0xfe)]?.[_0x37b99d(0x82)](_0x37b99d(0x106),{'dirPath':_0x4a002d,'error':_0x203838[_0x37b99d(0xe2)]});}}}return _0x221d33;}async['findFilesRecursively'](_0x3ec74e,_0x316c0d,_0x2f76b2,_0x570f8b,_0x56a67a){const _0x1b7aa6=a0_0x4a41fc;if(_0x570f8b>=_0x56a67a){this['logger']?.['warn'](_0x1b7aa6(0x10b),{'dir':_0x3ec74e,'currentDepth':_0x570f8b});return;}try{const _0x5caa0d=await a0_0x2f5d8b[_0x1b7aa6(0xa4)](_0x3ec74e,{'withFileTypes':!![]});for(const _0x47d279 of _0x5caa0d){if(_0x47d279[_0x1b7aa6(0xac)][_0x1b7aa6(0xd4)]('.'))continue;const _0x16260c=a0_0xb9ec78[_0x1b7aa6(0x85)](_0x3ec74e,_0x47d279[_0x1b7aa6(0xac)]);try{if(_0x47d279[_0x1b7aa6(0xf7)]()){if(this['shouldSkipDirectory'](_0x47d279['name']))continue;await this['findFilesRecursively'](_0x16260c,_0x316c0d,_0x2f76b2,_0x570f8b+0x1,_0x56a67a);}else{if(_0x47d279[_0x1b7aa6(0xf0)]()){if(this[_0x1b7aa6(0xb4)](_0x47d279[_0x1b7aa6(0xac)],_0x316c0d)){_0x2f76b2[_0x1b7aa6(0xd7)](_0x16260c);if(_0x2f76b2['length']>=this['seekConfig']['MAX_FILES_PER_SEARCH'])return;}}}}catch(_0xb4b1e7){continue;}}}catch(_0x5278c5){this['logger']?.[_0x1b7aa6(0x82)](_0x1b7aa6(0x9a),{'dir':_0x3ec74e,'error':_0x5278c5[_0x1b7aa6(0xe2)]});}}['matchesPattern'](_0x738993,_0x30a1db){const _0x1e5a36=a0_0x4a41fc,_0x4611fd=_0x30a1db['split']('*')['map'](_0x5806c2=>this[_0x1e5a36(0x110)](_0x5806c2))['join']('.*'),_0x490a64=new RegExp('^'+_0x4611fd+'$','i');return _0x490a64['test'](_0x738993);}[a0_0x4a41fc(0x110)](_0x58890f){const _0x56d9da=a0_0x4a41fc;return _0x58890f[_0x56d9da(0x74)](/[.*+?^${}()|[\]\\]/g,_0x56d9da(0xf8));}[a0_0x4a41fc(0x8d)](_0x1f652b){const _0x5529ac=a0_0x4a41fc,_0x18a7b5=new Set([_0x5529ac(0x7c),_0x5529ac(0xd0),_0x5529ac(0x7f),_0x5529ac(0xdc),'coverage',_0x5529ac(0x76),_0x5529ac(0xc1),_0x5529ac(0xeb),_0x5529ac(0x75),_0x5529ac(0xfb),'__pycache__','.cache','tmp',_0x5529ac(0x81)]);return _0x18a7b5['has'](_0x1f652b[_0x5529ac(0xe7)]());}['shouldSkipFile'](_0x5002ef){const _0x99dbe4=a0_0x4a41fc,_0x1734ab=a0_0xb9ec78[_0x99dbe4(0xaf)](_0x5002ef)['toLowerCase']();return BINARY_EXTENSIONS[_0x99dbe4(0x10c)](_0x1734ab);}async[a0_0x4a41fc(0xbb)](_0x286103,_0x44a1cc,_0x3dbd34){const _0x5402cc=a0_0x4a41fc,_0x1a9b96=[],_0x23d1c8=[];let _0x10a286=0x0;for(const _0x2a5b2a of _0x286103){if(this[_0x5402cc(0x10a)](_0x2a5b2a))continue;try{const _0x252583=await a0_0x2f5d8b['stat'](_0x2a5b2a);if(_0x252583[_0x5402cc(0x100)]>this['seekConfig'][_0x5402cc(0x8a)]){_0x23d1c8[_0x5402cc(0xd7)]({'filePath':a0_0xb9ec78['relative'](_0x3dbd34,_0x2a5b2a),'error':'File\x20too\x20large\x20('+Math['round'](_0x252583['size']/(0x400*0x400))+'MB,\x20max\x20'+Math[_0x5402cc(0xc2)](this['seekConfig'][_0x5402cc(0x8a)]/(0x400*0x400))+'MB)'});continue;}const _0x3a8c25=await this['searchInFile'](_0x2a5b2a,_0x44a1cc,_0x3dbd34);_0x1a9b96[_0x5402cc(0xd7)](..._0x3a8c25),_0x10a286+=_0x3a8c25['length'];if(_0x10a286>=this['seekConfig']['MAX_TOTAL_MATCHES']){this['logger']?.['warn']('Maximum\x20total\x20matches\x20reached',{'totalMatches':_0x10a286});break;}}catch(_0x578545){_0x23d1c8[_0x5402cc(0xd7)]({'filePath':a0_0xb9ec78[_0x5402cc(0x77)](_0x3dbd34,_0x2a5b2a),'error':_0x578545['message']});}}const _0x3e7fec={};for(const _0x2bc9e6 of _0x1a9b96){!_0x3e7fec[_0x2bc9e6['term']]&&(_0x3e7fec[_0x2bc9e6['term']]=[]),_0x3e7fec[_0x2bc9e6['term']]['push']({'filePath':_0x2bc9e6['filePath'],'lineNumber':_0x2bc9e6[_0x5402cc(0xce)],'lineContent':_0x2bc9e6['lineContent']});}return{'matches':_0x1a9b96,'matchesByTerm':_0x3e7fec,'errorFiles':_0x23d1c8};}async['searchInFile'](_0x3c2161,_0x6ce73b,_0x59f6e6){const _0x4354cb=a0_0x4a41fc,_0x445599=[];let _0x7cadee=0x0;try{const _0x3d5157=await a0_0x2f5d8b['readFile'](_0x3c2161,FILE_ENCODING),_0x3f49aa=_0x3d5157[_0x4354cb(0xda)]('\x0a'),_0x1461a6=a0_0xb9ec78[_0x4354cb(0x77)](_0x59f6e6,_0x3c2161);for(let _0x321fea=0x0;_0x321fea<_0x3f49aa[_0x4354cb(0xc6)];_0x321fea++){const _0x1ac7c0=_0x3f49aa[_0x321fea],_0x36c717=_0x321fea+0x1;for(const _0x52e716 of _0x6ce73b){if(_0x1ac7c0['includes'](_0x52e716)){let _0x1bea11=_0x1ac7c0;if(_0x1bea11[_0x4354cb(0xc6)]>this[_0x4354cb(0xb7)][_0x4354cb(0xcf)]){const _0x305faa=_0x1bea11[_0x4354cb(0xcb)](_0x52e716),_0x146b19=Math[_0x4354cb(0xff)](0x0,_0x305faa-0x32),_0x5299ed=Math[_0x4354cb(0xb9)](_0x1bea11['length'],_0x305faa+_0x52e716['length']+0x32);_0x1bea11=(_0x146b19>0x0?_0x4354cb(0xfc):'')+_0x1bea11['substring'](_0x146b19,_0x5299ed)+(_0x5299ed<_0x1bea11[_0x4354cb(0xc6)]?_0x4354cb(0xfc):'');}_0x445599[_0x4354cb(0xd7)]({'term':_0x52e716,'filePath':_0x1461a6,'lineNumber':_0x36c717,'lineContent':_0x1bea11['trim']()}),_0x7cadee++;if(_0x7cadee>=this['seekConfig']['MAX_MATCHES_PER_FILE'])return this['logger']?.[_0x4354cb(0x82)]('Maximum\x20matches\x20per\x20file\x20reached',{'filePath':_0x1461a6}),_0x445599;}}}}catch(_0xb8837b){throw new Error('Failed\x20to\x20read\x20file:\x20'+_0xb8837b['message']);}return _0x445599;}['formatResults'](_0xa75ca2,_0x1a8d69,_0x3969b8,_0x2feedc){const _0x96e251=a0_0x4a41fc;let _0xe5f242='';if(_0x3969b8[_0x96e251(0xc6)]>0x0){_0xe5f242+='FILES\x20NOT\x20FOUND:\x0a';for(const _0x14fd75 of _0x3969b8){_0xe5f242+=_0x96e251(0x10e)+_0x14fd75+'\x0a';}_0xe5f242+='\x0a';}if(_0x1a8d69['length']>0x0){_0xe5f242+=_0x96e251(0x7d);for(const _0x37ef62 of _0x1a8d69){_0xe5f242+='\x20\x20-\x20'+_0x37ef62['filePath']+':\x20'+_0x37ef62[_0x96e251(0xea)]+'\x0a';}_0xe5f242+='\x0a';}if(_0xa75ca2[_0x96e251(0xc6)]===0x0)_0xe5f242+=_0x96e251(0x94)+_0x2feedc+'\x20file(s).\x0a';else{const _0x421573={};for(const _0x981a72 of _0xa75ca2){!_0x421573[_0x981a72['term']]&&(_0x421573[_0x981a72[_0x96e251(0xc3)]]=[]),_0x421573[_0x981a72['term']][_0x96e251(0xd7)](_0x981a72);}_0xe5f242+=_0x96e251(0xa5)+_0xa75ca2[_0x96e251(0xc6)]+_0x96e251(0xe9)+_0x2feedc+'\x20file(s)):\x0a\x0a';for(const [_0xb65a81,_0x1b4720]of Object['entries'](_0x421573)){_0xe5f242+='Search\x20term:\x20\x22'+_0xb65a81+'\x22\x20('+_0x1b4720['length']+_0x96e251(0xd8);for(const _0x369f44 of _0x1b4720){_0xe5f242+='\x20\x20'+_0x369f44[_0x96e251(0x101)]+':'+_0x369f44[_0x96e251(0xce)]+'\x20-\x20'+_0x369f44[_0x96e251(0xf1)]+'\x0a';}_0xe5f242+='\x0a';}_0xa75ca2[_0x96e251(0xc6)]>=this[_0x96e251(0xb7)]['MAX_TOTAL_MATCHES']&&(_0xe5f242+=_0x96e251(0x86)+this['seekConfig'][_0x96e251(0xb1)]+_0x96e251(0xca));}return _0xe5f242['trim']();}[a0_0x4a41fc(0xb5)](){const _0xf5529=a0_0x4a41fc;return['.js','.jsx','.ts',_0xf5529(0xa8),_0xf5529(0xe0),_0xf5529(0xe5),'.html',_0xf5529(0x9d),'.scss',_0xf5529(0x92),'.less',_0xf5529(0xd1),'.txt','.log','.py',_0xf5529(0x9b),'.java',_0xf5529(0xc0),'.rs','.c',_0xf5529(0xd2),'.h',_0xf5529(0x91),_0xf5529(0x108),'.bash','.zsh',_0xf5529(0xa0),'.yaml',_0xf5529(0x8f),_0xf5529(0xb6),'.conf'];}async[a0_0x4a41fc(0xbf)](_0x1ff74d){const _0x5dc823=a0_0x4a41fc;this[_0x5dc823(0xfe)]?.['info']('Seek\x20tool\x20cleanup\x20completed',{'operationId':_0x1ff74d});}}export default SeekTool;
1
+ const a0_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 +1 @@
1
- const a0_0x56df7a=a0_0x3d84;(function(_0x415051,_0x5a6f89){const _0xabb430=a0_0x3d84,_0x32ca25=_0x415051();while(!![]){try{const _0x21aa24=-parseInt(_0xabb430(0x165))/0x1+parseInt(_0xabb430(0x178))/0x2*(-parseInt(_0xabb430(0x152))/0x3)+parseInt(_0xabb430(0x12f))/0x4*(-parseInt(_0xabb430(0x19e))/0x5)+-parseInt(_0xabb430(0x16f))/0x6*(-parseInt(_0xabb430(0x156))/0x7)+-parseInt(_0xabb430(0xe4))/0x8+parseInt(_0xabb430(0x1a4))/0x9+parseInt(_0xabb430(0x111))/0xa;if(_0x21aa24===_0x5a6f89)break;else _0x32ca25['push'](_0x32ca25['shift']());}catch(_0x4161f6){_0x32ca25['push'](_0x32ca25['shift']());}}}(a0_0x15ec,0x94726));import{BaseTool}from'./baseTool.js';import a0_0x30dc60 from'../utilities/tagParser.js';function a0_0x15ec(){const _0x255d1d=['mtu2ngzwAK52sG','lMPZB24','ChvZAa','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','ugfYC2vKifn0yxrPy0fUywX5C2LZihrVB2WGCgfYyw1LDgvYCW','BgvUz3rO','u3rHDgLJigfUywX5C2LZigfJDgLVBIbMywLSzwq','zM9YBwf0DgvYCW','ChjLDhrPzxi','Dhj1BMnHDgvK','DMfSAwrHDgvxCML0zufJy2vZCW','igj5DgvZicHTyxGG','DMfSAwrHDguTy29UzMLN','zgv0zwn0rNjHBwv3B3jR','zgvIDwC','DhnJB25MAwCUANnVBG','zg9JA2vYlwnVBxbVC2uUEwfTBa','DgLTzxn0yw1W','zMLUzezPBgvZ','Bwf4ugfYywXSzwXgAwXLCW','lNLTBa','zML4zwq','BM93','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','ywXSB3DLza','Aw5JBhvKzs13yxjUAw5NCW','Dg90ywXbBMfSExnLCW','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','lI4Vyw5HBhL6zxjZl1r5Cgvty3jPChrbBMfSExPLCI5QCW','yNvPBgq','Dg9ju09tDhjPBMC','yw5HBhL6zq','Aw5MBW','C3rYAw5N','C2vJDxjPDhLty2fUuhjVAMvJDa','ntuZnw9eteXuuG','zxjYB3i','zxHLyW','ufLuse9ox0zsqu1fv09ss1m','nJeWneHJEgPTrW','D29YA2zSB3DZ','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4TChjVAMvJDa','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','A3vIzxjUzxrLCW','CM91BMq','rNjHBwv3B3jRigrLDgvJDgLVBIbMywLSzwq','zM9YBwf0rMLSzq','C2L6zq','C2vJDxjPDhK','C2TPCc10zxn0lwzPBgvZ','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','zMLUzenVBMzPz0zPBgvZ','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','DMfSAwrHDgvszwfKqwnJzxnZ','mZCXnZG0AuLLserx','AM9PBG','CMvZDwX0','C2TPCfrLC3rgAwXLCW','lI4Vyw5HBhL6zxjZl0vttgLUDefUywX5EMvYlMPZ','DxbKyxrLu3vTBwfYEq','y2f0zwDVCNK','zMLSzxnbBMfSExPLza','DhLWzq','Dw5RBM93BG','nZi0ohHWAun3Da','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','lNbYzxr0AwvYCMm','CgfJA2fNzs5QC29U','y3DK','vxnPBMCGCgfYywXSzwWGyw5HBhLZAxm','zMLSzxnxAxrOrxjYB3jZ','lNzLBNy','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','mta3nKniENfMEq','z2v0','AMf2yxnJCMLWDa','C2HHmJu2','Aw5JBhvKzvDHCM5PBMDZ','su5gtW','CgfYC2vbDhrYAwj1DgvZ','Bwv0CMLJCW','v3jPDguGywnJzxnZigrLBMLLzdOG','igzPBgvZihbLCIbVCgvYyxrPB24klsbbBMfSExnPCYb0Aw1LB3v0oIa','z2v0u2vJDxjPDhLbBMfSExPLCG','vg9Vig1HBNKGzMLSzxm6ia','C2vJDxjPDhLty2fUrMLSzq','BM9YBwfSAxPL','Bwf0y2G','zgLNzxn0','vxnPBMCGCgfYywXSzwWGC2vJDxjPDhKGC2nHBM5PBMC','zxnSAw50','yw5HBhL6zxjZ','zxjYB3jZ','lI4Vyw5HBhL6zxjZl0ntu0fUywX5EMvYlMPZ','tufyx0zjtevFu0LArv9gt1jFqu5btfLtsvm','C3rHCNrZv2L0Aa','ywn0Aw9UCW','Dhj1zq','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','rMfPBgvKihrVigzPEca','q1jjveLdquW','y2fJAgvnAxnZzxm','C2vJDxjPDhKTC2nHBG','Bwf4lwvYCM9YCW','Dg90ywXdCML0AwnHBa','zMLSzs1WyxrO','zgv0zwn0uhL0Ag9UrNjHBwv3B3jR','Dg90ywW','y3jLyxrLuMvSyxrPDMvqyxrO','Dg90ywXgAwXLCW','BMfTzq','nJmXmfvOrvLHuG','q0fdsevFrfvsqvrjt04','Bg9Nz2vY','CMvZB2X2zq','lNbYzxr0AwvYCMmUANnVBG','CgfYywXSzwXbBMfSExnPCW','mtaZotG0nJvbtgXTAeu','u0vwrvjjvfK','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4','zM9YrwfJAa','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','Bwf4rMLSzxnqzxjcyxrJAa','zMLSzvbHDgG','DgLTzw91Da','B2jQzwn0','AxngAwXL','vfLqrvnduKLqva','C3bSAxq','C2XPy2u','Agv4','D2fYBMLUz3m','y2HHBMDLCW','y3nZ','lI4Vyw5HBhL6zxjZl1bYzxr0AwvYrM9YBwf0DgvYlMPZ','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4G','B25qCM9NCMvZCW','rvjst1i','icHTyxGG','uMvHzcbHy2nLC3mGzgvUAwvKoIa','zMXVB3i','AZHZ','mtm0ntq5nKveExL5tq','yxjYyxK','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','DMfSAwrHDgvdB25MAwDgAwXL','zxH0BMfTzq','ufLuse9ox1bprvrswq','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','AxnbyNnVBhv0zq','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','BM9Kzv9TB2r1BgvZ','C2v2zxjPDhK','D2fYBG','sKfwqvnduKLqva','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','C3rHDgLJyw5HBhLZAxm','D3jPDgvgAwXL','C3vTBwfYEq','zM9YBwf0','y29UzMLN','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','Dg90ywXbBMfSExnPC1rPBwu','DhjPBq','CMvHC29U','z2v0rvnmAw50qw5HBhL6zxi','yw5HBhL6zuzPBgu','zML4rMLSzq','zgLYzwn0B3j5','lI4Vyw5HBhL6zxjZl0nVBMzPz1zHBgLKyxrVCI5QCW','Aw5KzxHpzG','zgv2rgvWzw5Kzw5JAwvZ','zML4','zgLZDa','rMLSzsb0B28GBgfYz2u6ia','zMLSzxm','zw5HyMXLq2fJAgu','zM9YBwf0DgvK','Bwf4rMLSzvnPEMu','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfUywX5EMu','zgv0zwn0tgfUz3vHz2u','BwvZC2fNzq','ufLuse9o','tefor1vbr0u','z2v0qw5HBhL6zxi','DgvYCMfMB3jT','ndi1mZaWmefxAKTeqG','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','lMvUDG','DxrMltG','BwfW','AxneAxjLy3rVCNK','zMLSDgvY','DxnLq29UDgvUDeHHC2G','ChL0Ag9U','rMfPBgvKihrVigfUywX5EMuG','DhLWzxnJCMLWDa','Bwf4rxjYB3jZ','CMvZzxrqzxjMB3jTyw5Jzu1LDhjPy3m','D3jPDguTzMLSzq','vg9Vig1HBNKGy29UzMLNigzPBgvZoIa','y29TChv0zunVBNrLBNriyxnO','CMf3q29UDgvUDa','Dg9mB3DLCKnHC2u','y3jPDgLJywW','v0fstKLorW','CMvHzezPBgu','qw5HBhL6Aw5NigjHDgnO','qwn0Aw9Uia','AgfZ','yw5HBhL6zs1WCM9Qzwn0','z2v0q29UzMLNvMfSAwrHDg9Y','CMvTywLUAw5Nv2fYBMLUz3m','yw5HBhLZAxndywnOzq','zg9JA2vYlwnVBxbVC2uUEw1S','Aw5JBhvKzxm'];a0_0x15ec=function(){return _0x255d1d;};return a0_0x15ec();}import a0_0x4e5c48 from'../utilities/directoryAccessManager.js';import a0_0x15a704 from'fs/promises';import a0_0x3d0e54 from'path';import a0_0x22cec4 from'crypto';function a0_0x3d84(_0x2c05f9,_0x559f0f){_0x2c05f9=_0x2c05f9-0xe3;const _0x15eccc=a0_0x15ec();let _0x3d84f6=_0x15eccc[_0x2c05f9];if(a0_0x3d84['xdEffw']===undefined){var _0x4eb3d6=function(_0x2024af){const _0x5c8e51='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30dc60='',_0x4e5c48='';for(let _0x15a704=0x0,_0x3d0e54,_0x22cec4,_0x1f0843=0x0;_0x22cec4=_0x2024af['charAt'](_0x1f0843++);~_0x22cec4&&(_0x3d0e54=_0x15a704%0x4?_0x3d0e54*0x40+_0x22cec4:_0x22cec4,_0x15a704++%0x4)?_0x30dc60+=String['fromCharCode'](0xff&_0x3d0e54>>(-0x2*_0x15a704&0x6)):0x0){_0x22cec4=_0x5c8e51['indexOf'](_0x22cec4);}for(let _0x1c25c8=0x0,_0x10f772=_0x30dc60['length'];_0x1c25c8<_0x10f772;_0x1c25c8++){_0x4e5c48+='%'+('00'+_0x30dc60['charCodeAt'](_0x1c25c8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e5c48);};a0_0x3d84['hiOCnP']=_0x4eb3d6,a0_0x3d84['FmkqgA']={},a0_0x3d84['xdEffw']=!![];}const _0x1d36fc=_0x15eccc[0x0],_0x552c2c=_0x2c05f9+_0x1d36fc,_0x58f247=a0_0x3d84['FmkqgA'][_0x552c2c];return!_0x58f247?(_0x3d84f6=a0_0x3d84['hiOCnP'](_0x3d84f6),a0_0x3d84['FmkqgA'][_0x552c2c]=_0x3d84f6):_0x3d84f6=_0x58f247,_0x3d84f6;}import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x1f0843={},_0x1c25c8=null){const _0x187679=a0_0x3d84;super(_0x1f0843,_0x1c25c8),this['requiresProject']=!![],this['isAsync']=![],this['timeout']=_0x1f0843[_0x187679(0x1ab)]||STATIC_ANALYSIS['ANALYSIS_TIMEOUT'],this['maxConcurrentOperations']=_0x1f0843[_0x187679(0xe6)]||0x1,this[_0x187679(0x109)]=_0x1f0843[_0x187679(0x109)]||STATIC_ANALYSIS[_0x187679(0x18d)],this['maxFilesPerBatch']=_0x1f0843[_0x187679(0x1a9)]||STATIC_ANALYSIS['MAX_FILES_PER_BATCH'],this['enableCache']=_0x1f0843['enableCache']!==![]&&STATIC_ANALYSIS['ENABLE_CACHE'],this[_0x187679(0x12c)]=new Map(),this['cacheExpiry']=STATIC_ANALYSIS[_0x187679(0x19f)],this[_0x187679(0x1a3)]=_0x1f0843[_0x187679(0x1a3)]!==![],this[_0x187679(0x142)]=_0x1f0843['maxParallelFiles']||0xa,this[_0x187679(0x118)]=_0x1f0843['useContentHash']!==![],this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x187679(0x14a)]=new a0_0x4e5c48(_0x1f0843,_0x1c25c8),this['analyzers']={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this[_0x187679(0x136)]={'prettier':null};}['getDescription'](){const _0x14119f=a0_0x3d84;return'\x0aStatic\x20Code\x20Analysis\x20Tool:\x20Analyze\x20code\x20files\x20for\x20errors\x20without\x20execution\x0a\x0aThis\x20tool\x20performs\x20static\x20analysis\x20on\x20code\x20files\x20to\x20find\x20syntax\x20errors,\x20type\x20errors,\x20import\x20issues,\x20and\x20other\x20problems\x20without\x20running\x20the\x20code.\x20It\x20uses\x20official\x20language\x20parsers\x20for\x20accurate\x20results.\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Python\x20(.py)\x0a-\x20CSS\x20(.css)\x0a-\x20SCSS\x20(.scss,\x20.sass)\x0a-\x20LESS\x20(.less)\x0a\x0aUSAGE\x20-\x20XML\x20FORMAT:\x0a\x0aSingle\x20File\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a[/tool]\x0a\x0aMultiple\x20Files\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/index.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/utils.js\x22\x20/>\x0a<analyze\x20file-path=\x22src/components/Button.jsx\x22\x20/>\x0a[/tool]\x0a\x0aProject-Wide\x20Analysis:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22src\x22\x20pattern=\x22**/*.js\x22\x20/>\x0a[/tool]\x0a\x0aAuto-Fix\x20Code\x20Issues:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<fix\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aFormat\x20Code:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<format\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aUSAGE\x20-\x20JSON\x20FORMAT:\x0a\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze\x22,\x0a\x20\x20\x20\x20\x20\x20\x22filePath\x22:\x20\x22src/index.js\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze-project\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22pattern\x22:\x20\x22**/*.{js,ts,py}\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20file-path:\x20Path\x20to\x20file\x20to\x20analyze\x20(for\x20single\x20file)\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(for\x20project-wide)\x0a-\x20pattern:\x20Glob\x20pattern\x20for\x20files\x20to\x20include\x20(optional,\x20defaults\x20to\x20language-specific\x20patterns)\x0a-\x20include-warnings:\x20Include\x20warnings\x20in\x20results\x20(true/false,\x20default:\x20true)\x0a-\x20max-errors:\x20Maximum\x20number\x20of\x20errors\x20to\x20return\x20(default:\x20all)\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20structured\x20error\x20information:\x0a-\x20file:\x20File\x20path\x0a-\x20line:\x20Line\x20number\x0a-\x20column:\x20Column\x20number\x0a-\x20severity:\x20critical\x20|\x20error\x20|\x20warning\x20|\x20info\x0a-\x20rule:\x20Rule\x20identifier\x0a-\x20message:\x20Human-readable\x20description\x0a-\x20category:\x20syntax\x20|\x20type\x20|\x20import\x20|\x20style\x20|\x20security\x20|\x20performance\x20|\x20best_practice\x0a-\x20fixable:\x20Whether\x20error\x20can\x20be\x20auto-fixed\x0a-\x20suggestion:\x20Fix\x20suggestion\x20(if\x20applicable)\x0a-\x20remediation:\x20Security\x20remediation\x20advice\x20(for\x20security\x20issues)\x0a\x0aDETECTION:\x0a-\x20Language:\x20Automatically\x20detected\x20from\x20file\x20extension\x0a-\x20Framework:\x20Detected\x20from\x20package.json,\x20requirements.txt,\x20etc.\x0a-\x20Context:\x20Project\x20structure\x20analyzed\x20for\x20better\x20accuracy\x0a\x0aEXAMPLES:\x0a\x0aFind\x20all\x20errors\x20in\x20a\x20JavaScript\x20file:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/app.js\x22\x20/>\x0a[/tool]\x0a\x0aAnalyze\x20TypeScript\x20with\x20type\x20checking:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze\x20file-path=\x22src/types.ts\x22\x20/>\x0a[/tool]\x0a\x0aCheck\x20all\x20Python\x20files\x20in\x20a\x20directory:\x0a[tool\x20id=\x22staticanalysis\x22]\x0a<analyze-project\x20directory=\x22backend\x22\x20pattern=\x22**/*.py\x22\x20/>\x0a[/tool]\x0a\x0aLIMITATIONS:\x0a-\x20File\x20size\x20limit:\x20'+Math[_0x14119f(0x15b)](this['maxFileSize']/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this['maxFilesPerBatch']+_0x14119f(0x181)+this['timeout']/0x3e8+'\x20seconds\x0a-\x20Only\x20supports\x20languages\x20with\x20built-in\x20analyzers\x0a\x20\x20\x20\x20';}['parseParameters'](_0x10f772){const _0x54959c=a0_0x3d84;try{const _0x450af6={},_0x4fae4d=[];this[_0x54959c(0x1a0)]?.['debug']('StaticAnalysis\x20tool\x20parsing\x20parameters',{'contentLength':_0x10f772[_0x54959c(0x134)],'contentPreview':_0x10f772['substring'](0x0,0xc8)});const _0x34e1ec=/<analyze\s+(.+?)\/>/g;let _0x25f1f0;while((_0x25f1f0=_0x34e1ec['exec'](_0x10f772))!==null){const _0x324fc0=_0x25f1f0[0x1][_0x54959c(0xfa)](),_0x5395da=new a0_0x30dc60(),_0x4bc032=_0x5395da['parseAttributes'](_0x324fc0),_0x288841={'type':_0x54959c(0x14e),..._0x4bc032};_0x288841[_0x54959c(0x198)]&&(_0x288841[_0x54959c(0x1aa)]=_0x288841['file-path'],delete _0x288841[_0x54959c(0x198)]),_0x288841[_0x54959c(0x148)]&&(_0x288841['includeWarnings']=_0x288841['include-warnings']===_0x54959c(0x190),delete _0x288841[_0x54959c(0x148)]),_0x288841['max-errors']&&(_0x288841[_0x54959c(0x11c)]=parseInt(_0x288841['max-errors'],0xa),delete _0x288841['max-errors']),_0x4fae4d[_0x54959c(0x131)](_0x288841);}const _0x35734f=/<analyze-project\s+(.+?)\/>/g;while((_0x25f1f0=_0x35734f['exec'](_0x10f772))!==null){const _0x57e885=_0x25f1f0[0x1]['trim'](),_0xd4e509=new a0_0x30dc60(),_0x44cf96=_0xd4e509[_0x54959c(0x17e)](_0x57e885),_0x348c71={'type':'analyze-project',..._0x44cf96};_0x348c71[_0x54959c(0x148)]&&(_0x348c71['includeWarnings']=_0x348c71['include-warnings']===_0x54959c(0x190),delete _0x348c71['include-warnings']),_0x348c71['max-errors']&&(_0x348c71['maxErrors']=parseInt(_0x348c71['max-errors'],0xa),delete _0x348c71[_0x54959c(0x196)]),_0x4fae4d['push'](_0x348c71);}const _0x315522=/<fix\s+(.+?)\/>/g;while((_0x25f1f0=_0x315522['exec'](_0x10f772))!==null){const _0x427478=_0x25f1f0[0x1]['trim'](),_0x4343b8=new a0_0x30dc60(),_0x5411d8=_0x4343b8['parseAttributes'](_0x427478),_0x335849={'type':'fix',..._0x5411d8};_0x335849[_0x54959c(0x198)]&&(_0x335849['filePath']=_0x335849[_0x54959c(0x198)],delete _0x335849[_0x54959c(0x198)]),_0x335849['write-file']&&(_0x335849['writeFile']=_0x335849[_0x54959c(0x11e)]==='true',delete _0x335849[_0x54959c(0x11e)]),_0x4fae4d['push'](_0x335849);}const _0x438d78=/<format\s+(.+?)\/>/g;while((_0x25f1f0=_0x438d78[_0x54959c(0x154)](_0x10f772))!==null){const _0x447b39=_0x25f1f0[0x1][_0x54959c(0xfa)](),_0x159391=new a0_0x30dc60(),_0x1a21ff=_0x159391['parseAttributes'](_0x447b39),_0x32249f={'type':_0x54959c(0xf5),..._0x1a21ff};_0x32249f[_0x54959c(0x198)]&&(_0x32249f['filePath']=_0x32249f['file-path'],delete _0x32249f[_0x54959c(0x198)]),_0x32249f['write-file']&&(_0x32249f['writeFile']=_0x32249f['write-file']==='true',delete _0x32249f['write-file']),_0x4fae4d[_0x54959c(0x131)](_0x32249f);}const _0x5b1ae1=/<security-scan\s+(.+?)\/>/g;while((_0x25f1f0=_0x5b1ae1['exec'](_0x10f772))!==null){const _0x36c573=_0x25f1f0[0x1][_0x54959c(0xfa)](),_0x915896=new a0_0x30dc60(),_0x61cc2=_0x915896['parseAttributes'](_0x36c573),_0x703ff3={'type':'security-scan',..._0x61cc2};_0x703ff3[_0x54959c(0x198)]&&(_0x703ff3['filePath']=_0x703ff3[_0x54959c(0x198)],delete _0x703ff3[_0x54959c(0x198)]),_0x703ff3['skip-test-files']&&(_0x703ff3['skipTestFiles']=_0x703ff3['skip-test-files']==='true',delete _0x703ff3[_0x54959c(0x160)]),_0x4fae4d[_0x54959c(0x131)](_0x703ff3);}const _0x1423e4=/<security-scan-project\s+(.+?)\/>/g;while((_0x25f1f0=_0x1423e4[_0x54959c(0x154)](_0x10f772))!==null){const _0x1be2a5=_0x25f1f0[0x1]['trim'](),_0x22e2e4=new a0_0x30dc60(),_0x3b3eec=_0x22e2e4[_0x54959c(0x17e)](_0x1be2a5),_0x311bd1={'type':'security-scan-project',..._0x3b3eec};_0x311bd1['skip-test-files']&&(_0x311bd1[_0x54959c(0x168)]=_0x311bd1[_0x54959c(0x160)]==='true',delete _0x311bd1[_0x54959c(0x160)]),_0x4fae4d[_0x54959c(0x131)](_0x311bd1);}const _0x43f002=/<validate-config\s+(.+?)\/>/g;while((_0x25f1f0=_0x43f002[_0x54959c(0x154)](_0x10f772))!==null){const _0x5ed593=_0x25f1f0[0x1][_0x54959c(0xfa)](),_0x398a9e=new a0_0x30dc60(),_0x329f42=_0x398a9e['parseAttributes'](_0x5ed593),_0xd69e00={'type':'validate-config',..._0x329f42};_0xd69e00[_0x54959c(0x198)]&&(_0xd69e00[_0x54959c(0x1aa)]=_0xd69e00['file-path'],delete _0xd69e00[_0x54959c(0x198)]),_0x4fae4d['push'](_0xd69e00);}const _0x47ed55=/<validate-config-directory\s+(.+?)\/>/g;while((_0x25f1f0=_0x47ed55['exec'](_0x10f772))!==null){const _0x616eb9=_0x25f1f0[0x1][_0x54959c(0xfa)](),_0x2e4749=new a0_0x30dc60(),_0x5c0455=_0x2e4749['parseAttributes'](_0x616eb9),_0x4aaea9={'type':'validate-config-directory',..._0x5c0455};_0x4fae4d['push'](_0x4aaea9);}return _0x450af6[_0x54959c(0x18f)]=_0x4fae4d,_0x450af6[_0x54959c(0x121)]=_0x10f772[_0x54959c(0xfa)](),this[_0x54959c(0x1a0)]?.['debug'](_0x54959c(0x133),{'totalActions':_0x4fae4d['length'],'actionTypes':_0x4fae4d['map'](_0x20e06a=>_0x20e06a[_0x54959c(0x16d)])}),_0x450af6;}catch(_0x2bb59f){throw new Error('Failed\x20to\x20parse\x20static\x20analysis\x20parameters:\x20'+_0x2bb59f['message']);}}[a0_0x56df7a(0xec)](){return['actions'];}[a0_0x56df7a(0x161)](_0x7c0458){const _0x81f697=a0_0x56df7a,_0x58cbf6=[];if(!_0x7c0458['actions']||!Array['isArray'](_0x7c0458[_0x81f697(0x18f)])||_0x7c0458['actions']['length']===0x0)_0x58cbf6[_0x81f697(0x131)](_0x81f697(0x112));else{for(const [_0xd49aa9,_0x1ca4c3]of _0x7c0458[_0x81f697(0x18f)]['entries']()){if(!_0x1ca4c3['type']){_0x58cbf6[_0x81f697(0x131)]('Action\x20'+(_0xd49aa9+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x1ca4c3['type']){case _0x81f697(0x14e):!_0x1ca4c3['filePath']&&_0x58cbf6[_0x81f697(0x131)](_0x81f697(0x127)+(_0xd49aa9+0x1)+_0x81f697(0x10a));break;case _0x81f697(0x129):!_0x1ca4c3[_0x81f697(0xff)]&&_0x58cbf6[_0x81f697(0x131)](_0x81f697(0x127)+(_0xd49aa9+0x1)+':\x20directory\x20is\x20required\x20for\x20analyze-project');break;case'fix':!_0x1ca4c3['filePath']&&_0x58cbf6['push']('Action\x20'+(_0xd49aa9+0x1)+':\x20file-path\x20is\x20required\x20for\x20fix');break;case _0x81f697(0xf5):!_0x1ca4c3['filePath']&&_0x58cbf6['push']('Action\x20'+(_0xd49aa9+0x1)+':\x20file-path\x20is\x20required\x20for\x20format');break;case'security-scan':!_0x1ca4c3[_0x81f697(0x1aa)]&&_0x58cbf6[_0x81f697(0x131)]('Action\x20'+(_0xd49aa9+0x1)+_0x81f697(0x1a6));break;case _0x81f697(0xf8):!_0x1ca4c3['directory']&&_0x58cbf6[_0x81f697(0x131)](_0x81f697(0x127)+(_0xd49aa9+0x1)+_0x81f697(0x158));break;case _0x81f697(0x13b):!_0x1ca4c3[_0x81f697(0x1aa)]&&_0x58cbf6['push'](_0x81f697(0x127)+(_0xd49aa9+0x1)+_0x81f697(0x159));break;case'validate-config-directory':!_0x1ca4c3['directory']&&_0x58cbf6['push'](_0x81f697(0x127)+(_0xd49aa9+0x1)+':\x20directory\x20is\x20required\x20for\x20validate-config-directory');break;default:_0x58cbf6[_0x81f697(0x131)]('Action\x20'+(_0xd49aa9+0x1)+_0x81f697(0x163)+_0x1ca4c3['type']);}}_0x7c0458['actions'][_0x81f697(0x134)]>this['maxFilesPerBatch']&&_0x58cbf6['push']('Too\x20many\x20actions:\x20'+_0x7c0458[_0x81f697(0x18f)][_0x81f697(0x134)]+_0x81f697(0x1b9)+this['maxFilesPerBatch']+')');}return{'valid':_0x58cbf6['length']===0x0,'errors':_0x58cbf6};}async['execute'](_0x1dcfd3,_0x25a504){const _0xcedb6=a0_0x56df7a,{actions:_0x3a1a6a}=_0x1dcfd3,{projectDir:_0x2f14ff,agentId:_0x4bc142,directoryAccess:_0x2924e2}=_0x25a504,_0x220a12=_0x2924e2||this['directoryAccessManager']['createDirectoryAccess']({'workingDirectory':_0x2f14ff||process['cwd'](),'writeEnabledDirectories':[_0x2f14ff||process[_0xcedb6(0x173)]()],'restrictToProject':!![]}),_0x1e9b71=this[_0xcedb6(0x14a)]['getWorkingDirectory'](_0x220a12),_0x235fd7={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x37915d of _0x3a1a6a){try{let _0x5dd88b;switch(_0x37915d[_0xcedb6(0x16d)]){case _0xcedb6(0x14e):_0x5dd88b=await this[_0xcedb6(0xfd)](_0x37915d['filePath'],_0x1e9b71,_0x220a12,_0x37915d);_0x5dd88b&&(_0x235fd7['files']['push'](_0x5dd88b),this[_0xcedb6(0x16a)](_0x235fd7['summary'],_0x5dd88b));break;case'analyze-project':const _0x49e18b=await this['analyzeProject'](_0x37915d[_0xcedb6(0xff)],_0x37915d['pattern'],_0x1e9b71,_0x220a12,_0x37915d);_0x235fd7[_0xcedb6(0x106)]['push'](..._0x49e18b);for(const _0x1f3bcd of _0x49e18b){this['updateSummary'](_0x235fd7['summary'],_0x1f3bcd);}break;case _0xcedb6(0x103):_0x5dd88b=await this[_0xcedb6(0xfe)](_0x37915d['filePath'],_0x1e9b71,_0x220a12,_0x37915d);_0x5dd88b&&_0x235fd7['files'][_0xcedb6(0x131)](_0x5dd88b);break;case _0xcedb6(0xf5):_0x5dd88b=await this['formatFile'](_0x37915d['filePath'],_0x1e9b71,_0x220a12,_0x37915d);_0x5dd88b&&_0x235fd7[_0xcedb6(0x106)][_0xcedb6(0x131)](_0x5dd88b);break;case _0xcedb6(0x195):_0x5dd88b=await this[_0xcedb6(0x184)](_0x37915d['filePath'],_0x1e9b71,_0x220a12,_0x37915d);_0x5dd88b&&(_0x235fd7['files']['push'](_0x5dd88b),this['updateSummary'](_0x235fd7[_0xcedb6(0xf4)],_0x5dd88b));break;case'security-scan-project':const _0x48dce8=await this['securityScanProject'](_0x37915d[_0xcedb6(0xff)],_0x37915d['pattern'],_0x1e9b71,_0x220a12,_0x37915d);_0x235fd7['files']['push'](..._0x48dce8);for(const _0x2f9027 of _0x48dce8){this[_0xcedb6(0x16a)](_0x235fd7[_0xcedb6(0xf4)],_0x2f9027);}break;case'validate-config':_0x5dd88b=await this[_0xcedb6(0xe7)](_0x37915d['filePath'],_0x1e9b71,_0x220a12,_0x37915d);_0x5dd88b&&(_0x235fd7[_0xcedb6(0x106)]['push'](_0x5dd88b),this[_0xcedb6(0x16a)](_0x235fd7[_0xcedb6(0xf4)],_0x5dd88b));break;case _0xcedb6(0xea):const _0x5105dc=await this[_0xcedb6(0xf7)](_0x37915d[_0xcedb6(0xff)],_0x1e9b71,_0x220a12,_0x37915d);_0x235fd7['files'][_0xcedb6(0x131)](..._0x5105dc);for(const _0x292ff6 of _0x5105dc){this[_0xcedb6(0x16a)](_0x235fd7[_0xcedb6(0xf4)],_0x292ff6);}break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x37915d['type']);}}catch(_0x220930){this[_0xcedb6(0x1a0)]?.[_0xcedb6(0x153)](_0xcedb6(0x135),{'action':_0x37915d['type'],'error':_0x220930['message']}),_0x235fd7['files']['push']({'file':_0x37915d['filePath']||_0x37915d[_0xcedb6(0xff)],'error':_0x220930[_0xcedb6(0x10c)],'success':![]});}}return{'success':!![],'results':_0x235fd7,'toolUsed':_0xcedb6(0xf2),'performance':this[_0xcedb6(0x177)]()};}async['analyzeFile'](_0x20e3b3,_0x525095,_0x34cfe8,_0x3be6d3={}){const _0x44434c=a0_0x56df7a,_0x3a8849=a0_0x3d0e54['isAbsolute'](_0x20e3b3)?a0_0x3d0e54['normalize'](_0x20e3b3):a0_0x3d0e54[_0x44434c(0x1a1)](_0x525095,_0x20e3b3),_0x2eb2a0=this['directoryAccessManager'][_0x44434c(0x164)](_0x3a8849,_0x34cfe8);if(!_0x2eb2a0[_0x44434c(0x147)])throw new Error(_0x44434c(0x1ba)+_0x2eb2a0['reason']);try{const _0x53350e=await a0_0x15a704['stat'](_0x3a8849);if(_0x53350e[_0x44434c(0x15e)]>this[_0x44434c(0x109)])throw new Error('File\x20too\x20large:\x20'+_0x53350e['size']+_0x44434c(0x13a)+this['maxFileSize']+')');const _0x4a3407=this[_0x44434c(0x10b)](_0x3a8849);if(!_0x4a3407)return{'file':this['directoryAccessManager']['createRelativePath'](_0x3a8849,_0x34cfe8),'fullPath':_0x3a8849,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x44434c(0x170)};const _0x33df39=await a0_0x15a704[_0x44434c(0x125)](_0x3a8849,_0x44434c(0x114)),_0x1cd23a=this['useContentHash']?this[_0x44434c(0x120)](_0x33df39):null,_0x5e54c7=this[_0x44434c(0x118)]?_0x3a8849+':'+_0x1cd23a:_0x3a8849+':'+_0x53350e['mtime']['getTime']();if(this[_0x44434c(0x107)]&&this['analysisCache'][_0x44434c(0x128)](_0x5e54c7)){const _0x36abe1=this['analysisCache'][_0x44434c(0x179)](_0x5e54c7);if(Date['now']()-_0x36abe1[_0x44434c(0x140)]<this['cacheExpiry'])return this[_0x44434c(0x1a0)]?.[_0x44434c(0x13d)]('Using\x20cached\x20analysis\x20result',{'file':_0x3a8849}),this['metrics']['cacheHits']++,this[_0x44434c(0x17f)]['totalAnalyses']++,_0x36abe1[_0x44434c(0x167)];}this['metrics'][_0x44434c(0x194)]++,this[_0x44434c(0x17f)][_0x44434c(0x149)]++;const _0x356c09=await this[_0x44434c(0x10f)](_0x4a3407);if(!_0x356c09)return{'file':this[_0x44434c(0x14a)]['createRelativePath'](_0x3a8849,_0x34cfe8),'fullPath':_0x3a8849,'language':_0x4a3407,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'No\x20analyzer\x20available\x20for\x20'+_0x4a3407};const _0x119044=Date['now'](),_0x2c4aae=await _0x356c09[_0x44434c(0x14e)](_0x3a8849,_0x33df39,{'workingDir':_0x525095,'accessConfig':_0x34cfe8,'framework':await this['detectFramework'](_0x525095,_0x4a3407)}),_0x2a3634=Date['now']()-_0x119044;this['metrics'][_0x44434c(0xf9)]+=_0x2a3634,this['metrics'][_0x44434c(0x16c)]++;const _0x26ec1b={'file':this[_0x44434c(0x14a)][_0x44434c(0x19b)](_0x3a8849,_0x34cfe8),'fullPath':_0x3a8849,'language':_0x4a3407,'framework':await this[_0x44434c(0x13c)](_0x525095,_0x4a3407),'errors':_0x2c4aae[_0x44434c(0x117)](_0x21d5ee=>_0x21d5ee[_0x44434c(0xee)]===STATIC_ANALYSIS[_0x44434c(0x1a5)][_0x44434c(0x1b8)]),'warnings':_0x3be6d3[_0x44434c(0x17c)]!==![]?_0x2c4aae[_0x44434c(0x117)](_0x2e8fb=>_0x2e8fb['severity']===STATIC_ANALYSIS[_0x44434c(0x1a5)]['WARNING']):[],'info':_0x2c4aae['filter'](_0x1afe01=>_0x1afe01['severity']===STATIC_ANALYSIS['SEVERITY'][_0x44434c(0x17d)]),'totalIssues':_0x2c4aae['length'],'analyzed':!![],'timestamp':new Date()[_0x44434c(0x14d)]()};return _0x3be6d3[_0x44434c(0x11c)]&&_0x26ec1b['errors']['length']>_0x3be6d3['maxErrors']&&(_0x26ec1b['errors']=_0x26ec1b[_0x44434c(0x18b)][_0x44434c(0x1b0)](0x0,_0x3be6d3['maxErrors']),_0x26ec1b[_0x44434c(0x138)]=!![]),this['enableCache']&&this[_0x44434c(0x12c)]['set'](_0x5e54c7,{'result':_0x26ec1b,'timestamp':Date[_0x44434c(0x145)]()}),_0x26ec1b;}catch(_0x2bfd04){throw new Error(_0x44434c(0x11a)+_0x20e3b3+':\x20'+_0x2bfd04['message']);}}async['analyzeProject'](_0x3b51c8,_0x2728ae,_0x4b17eb,_0x383045,_0x57391d={}){const _0x2f0ae3=a0_0x56df7a,_0x32e641=a0_0x3d0e54[_0x2f0ae3(0xeb)](_0x3b51c8)?a0_0x3d0e54['normalize'](_0x3b51c8):a0_0x3d0e54['resolve'](_0x4b17eb,_0x3b51c8),_0x362c82=this[_0x2f0ae3(0x14a)][_0x2f0ae3(0x164)](_0x32e641,_0x383045);if(!_0x362c82['allowed'])throw new Error(_0x2f0ae3(0x1ba)+_0x362c82['reason']);const _0x5e10da=await this['findFiles'](_0x32e641,_0x2728ae);if(_0x5e10da[_0x2f0ae3(0x134)]>this[_0x2f0ae3(0x1a9)])throw new Error('Too\x20many\x20files:\x20'+_0x5e10da[_0x2f0ae3(0x134)]+'\x20(max\x20'+this[_0x2f0ae3(0x1a9)]+')');const _0x37ba6c=[];if(this['parallelAnalysis']&&_0x5e10da[_0x2f0ae3(0x134)]>0x1){this[_0x2f0ae3(0x1a0)]?.[_0x2f0ae3(0x13d)](_0x2f0ae3(0x174),{'totalFiles':_0x5e10da[_0x2f0ae3(0x134)],'batchSize':this[_0x2f0ae3(0x142)]});for(let _0x5fdd1=0x0;_0x5fdd1<_0x5e10da['length'];_0x5fdd1+=this[_0x2f0ae3(0x142)]){const _0x366f7a=_0x5e10da[_0x2f0ae3(0x1b0)](_0x5fdd1,_0x5fdd1+this[_0x2f0ae3(0x142)]);this['metrics']['parallelBatches']++;const _0x5df433={'completed':_0x5fdd1,'total':_0x5e10da['length'],'percentage':Math['round'](_0x5fdd1/_0x5e10da['length']*0x64)};_0x57391d[_0x2f0ae3(0x1b7)]&&_0x57391d['onProgress'](_0x5df433);this[_0x2f0ae3(0x1a0)]?.['debug'](_0x2f0ae3(0x126),{'batch':Math[_0x2f0ae3(0x1bb)](_0x5fdd1/this[_0x2f0ae3(0x142)])+0x1,'filesInBatch':_0x366f7a['length'],'progress':_0x5df433['completed']+'/'+_0x5df433[_0x2f0ae3(0x19a)]});const _0x50ef4f=_0x366f7a['map'](async _0x5e0b7e=>{const _0x446506=_0x2f0ae3;try{const _0x4ca90d=await this['analyzeFile'](_0x5e0b7e,_0x4b17eb,_0x383045,_0x57391d);return _0x4ca90d;}catch(_0x473070){return this[_0x446506(0x1a0)]?.['warn']('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x5e0b7e,'error':_0x473070[_0x446506(0x10c)]}),{'file':this[_0x446506(0x14a)][_0x446506(0x19b)](_0x5e0b7e,_0x383045),'fullPath':_0x5e0b7e,'error':_0x473070[_0x446506(0x10c)],'success':![]};}}),_0x5d8e92=await Promise['all'](_0x50ef4f);_0x37ba6c['push'](..._0x5d8e92['filter'](_0x347ee8=>_0x347ee8!==null));}_0x57391d['onProgress']&&_0x57391d['onProgress']({'completed':_0x5e10da[_0x2f0ae3(0x134)],'total':_0x5e10da['length'],'percentage':0x64});}else for(const _0x2a7229 of _0x5e10da){try{const _0x36422c=await this['analyzeFile'](_0x2a7229,_0x4b17eb,_0x383045,_0x57391d);_0x36422c&&_0x37ba6c['push'](_0x36422c);}catch(_0x512292){this['logger']?.[_0x2f0ae3(0xef)](_0x2f0ae3(0x146),{'file':_0x2a7229,'error':_0x512292['message']}),_0x37ba6c[_0x2f0ae3(0x131)]({'file':this[_0x2f0ae3(0x14a)]['createRelativePath'](_0x2a7229,_0x383045),'fullPath':_0x2a7229,'error':_0x512292[_0x2f0ae3(0x10c)],'success':![]});}}return _0x37ba6c;}async['fixFile'](_0x21045a,_0x471886,_0x2520a7,_0xdf8df1={}){const _0x412fe8=a0_0x56df7a,_0x147b0c=a0_0x3d0e54['isAbsolute'](_0x21045a)?a0_0x3d0e54[_0x412fe8(0x185)](_0x21045a):a0_0x3d0e54[_0x412fe8(0x1a1)](_0x471886,_0x21045a),_0x16602e=this['directoryAccessManager'][_0x412fe8(0x164)](_0x147b0c,_0x2520a7);if(!_0x16602e[_0x412fe8(0x147)])throw new Error('Read\x20access\x20denied:\x20'+_0x16602e[_0x412fe8(0xfb)]);if(_0xdf8df1[_0x412fe8(0xf3)]){const _0x447252=this['directoryAccessManager']['validateWriteAccess'](_0x147b0c,_0x2520a7);if(!_0x447252['allowed'])throw new Error(_0x412fe8(0x180)+_0x447252[_0x412fe8(0xfb)]);}try{const _0x1eae13=await a0_0x15a704[_0x412fe8(0x125)](_0x147b0c,'utf-8'),_0x508fa0=await this[_0x412fe8(0xfc)](),_0x1427f0=await _0x508fa0[_0x412fe8(0x103)](_0x147b0c,_0x1eae13,{'workingDir':_0x471886,'accessConfig':_0x2520a7,'framework':await this['detectFramework'](_0x471886,this['detectLanguage'](_0x147b0c))});return _0xdf8df1['writeFile']&&_0x1427f0[_0x412fe8(0x144)]&&(await a0_0x15a704[_0x412fe8(0xf3)](_0x147b0c,_0x1427f0['content'],'utf-8'),this[_0x412fe8(0x1a0)]?.[_0x412fe8(0x14f)]('File\x20fixed\x20and\x20written',{'file':_0x147b0c})),{'file':this[_0x412fe8(0x14a)][_0x412fe8(0x19b)](_0x147b0c,_0x2520a7),'fullPath':_0x147b0c,'action':_0x412fe8(0x103),'fixed':_0x1427f0['fixed'],'fixedCount':_0x1427f0['fixedCount'],'remainingErrors':_0x1427f0['remainingErrors'],'remainingWarnings':_0x1427f0[_0x412fe8(0x12b)],'changes':_0x1427f0['changes'],'written':!!(_0xdf8df1['writeFile']&&_0x1427f0['fixed']),'preview':!_0xdf8df1[_0x412fe8(0xf3)]&&_0x1427f0['fixed']?_0x1427f0['content']:undefined};}catch(_0x421035){throw new Error(_0x412fe8(0x192)+_0x21045a+':\x20'+_0x421035[_0x412fe8(0x10c)]);}}async[a0_0x56df7a(0x15d)](_0x425d35,_0x537ee9,_0x4383b0,_0x3e9b11={}){const _0x49bafa=a0_0x56df7a,_0x3161ab=a0_0x3d0e54['isAbsolute'](_0x425d35)?a0_0x3d0e54[_0x49bafa(0x185)](_0x425d35):a0_0x3d0e54['resolve'](_0x537ee9,_0x425d35),_0x1bee0d=this['directoryAccessManager'][_0x49bafa(0x164)](_0x3161ab,_0x4383b0);if(!_0x1bee0d[_0x49bafa(0x147)])throw new Error(_0x49bafa(0x1ba)+_0x1bee0d[_0x49bafa(0xfb)]);if(_0x3e9b11[_0x49bafa(0xf3)]){const _0x5713ff=this['directoryAccessManager'][_0x49bafa(0x139)](_0x3161ab,_0x4383b0);if(!_0x5713ff[_0x49bafa(0x147)])throw new Error('Write\x20access\x20denied:\x20'+_0x5713ff['reason']);}try{const _0x5cd05d=await a0_0x15a704[_0x49bafa(0x125)](_0x3161ab,_0x49bafa(0x114)),_0x5f12ed=await this['getPrettierFormatter']();if(!_0x5f12ed['isSupported'](_0x3161ab))return{'file':this['directoryAccessManager'][_0x49bafa(0x19b)](_0x3161ab,_0x4383b0),'fullPath':_0x3161ab,'action':_0x49bafa(0xf5),'formatted':![],'skipped':!![],'skipReason':'File\x20type\x20not\x20supported\x20by\x20Prettier'};const _0x18ae2a=await _0x5f12ed[_0x49bafa(0xf5)](_0x3161ab,_0x5cd05d,{'workingDir':_0x537ee9,'accessConfig':_0x4383b0});return _0x3e9b11['writeFile']&&_0x18ae2a['formatted']&&(await a0_0x15a704['writeFile'](_0x3161ab,_0x18ae2a['content'],'utf-8'),this['logger']?.[_0x49bafa(0x14f)]('File\x20formatted\x20and\x20written',{'file':_0x3161ab})),{'file':this['directoryAccessManager'][_0x49bafa(0x19b)](_0x3161ab,_0x4383b0),'fullPath':_0x3161ab,'action':_0x49bafa(0xf5),'formatted':_0x18ae2a['formatted'],'linesChanged':_0x18ae2a['linesChanged'],'changes':_0x18ae2a[_0x49bafa(0x1b3)],'written':!!(_0x3e9b11['writeFile']&&_0x18ae2a['formatted']),'preview':!_0x3e9b11[_0x49bafa(0xf3)]&&_0x18ae2a[_0x49bafa(0x108)]?_0x18ae2a['content']:undefined};}catch(_0x5aebce){throw new Error('Failed\x20to\x20format\x20'+_0x425d35+':\x20'+_0x5aebce['message']);}}async['securityScanFile'](_0x690174,_0x31b5fa,_0x26807b,_0x4043f5={}){const _0x3b47bf=a0_0x56df7a,_0x3174a7=a0_0x3d0e54[_0x3b47bf(0xeb)](_0x690174)?a0_0x3d0e54[_0x3b47bf(0x185)](_0x690174):a0_0x3d0e54['resolve'](_0x31b5fa,_0x690174),_0x2215df=this[_0x3b47bf(0x14a)][_0x3b47bf(0x164)](_0x3174a7,_0x26807b);if(!_0x2215df['allowed'])throw new Error(_0x3b47bf(0x1ba)+_0x2215df[_0x3b47bf(0xfb)]);try{const _0xd55be6=await a0_0x15a704['stat'](_0x3174a7);if(_0xd55be6['size']>this[_0x3b47bf(0x109)])throw new Error('File\x20too\x20large:\x20'+_0xd55be6['size']+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x53692b=this['detectLanguage'](_0x3174a7);if(!_0x53692b||!['javascript','typescript',_0x3b47bf(0x119)][_0x3b47bf(0x12e)](_0x53692b))return{'file':this['directoryAccessManager'][_0x3b47bf(0x19b)](_0x3174a7,_0x26807b),'fullPath':_0x3174a7,'language':_0x53692b||_0x3b47bf(0x16e),'issues':[],'skipped':!![],'skipReason':'Security\x20scanning\x20only\x20supports\x20JavaScript,\x20TypeScript,\x20and\x20Python\x20files'};const _0xb55f6c=await a0_0x15a704[_0x3b47bf(0x125)](_0x3174a7,_0x3b47bf(0x114)),_0x1fa12c=await this[_0x3b47bf(0x182)](),_0x8f5982=await _0x1fa12c['analyze'](_0x3174a7,_0xb55f6c,{'skipTestFiles':_0x4043f5['skipTestFiles']!==![]}),_0x3e9e72={'file':this['directoryAccessManager'][_0x3b47bf(0x19b)](_0x3174a7,_0x26807b),'fullPath':_0x3174a7,'language':_0x53692b,'action':'security-scan','critical':_0x8f5982['filter'](_0x32820d=>_0x32820d[_0x3b47bf(0xee)]===STATIC_ANALYSIS['SEVERITY'][_0x3b47bf(0x193)]),'errors':_0x8f5982['filter'](_0x4edef7=>_0x4edef7['severity']===STATIC_ANALYSIS[_0x3b47bf(0x1a5)][_0x3b47bf(0x1b8)]),'warnings':_0x8f5982['filter'](_0x456c0b=>_0x456c0b['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING']),'info':_0x8f5982[_0x3b47bf(0x117)](_0x117699=>_0x117699['severity']===STATIC_ANALYSIS[_0x3b47bf(0x1a5)]['INFO']),'totalIssues':_0x8f5982['length'],'analyzed':!![],'scannersUsed':_0x8f5982[_0x3b47bf(0x115)](_0x835e9d=>_0x835e9d['scanner'])[_0x3b47bf(0x117)]((_0x3a8b7b,_0x360cf8,_0x12d8f7)=>_0x12d8f7[_0x3b47bf(0x101)](_0x3a8b7b)===_0x360cf8),'timestamp':new Date()['toISOString']()};return _0x3e9e72;}catch(_0x7f3ec2){throw new Error(_0x3b47bf(0x1b6)+_0x690174+':\x20'+_0x7f3ec2['message']);}}async[a0_0x56df7a(0x151)](_0xa4bad7,_0x2a4bd3,_0x54f080,_0x483272,_0x24d6e8={}){const _0x26679e=a0_0x56df7a,_0x566f96=a0_0x3d0e54[_0x26679e(0xeb)](_0xa4bad7)?a0_0x3d0e54[_0x26679e(0x185)](_0xa4bad7):a0_0x3d0e54['resolve'](_0x54f080,_0xa4bad7),_0x194f33=this['directoryAccessManager'][_0x26679e(0x164)](_0x566f96,_0x483272);if(!_0x194f33[_0x26679e(0x147)])throw new Error(_0x26679e(0x1ba)+_0x194f33['reason']);const _0x100e6d=await this['getSecurityAnalyzer'](),_0x69888f=await _0x100e6d['analyzeProject'](_0x566f96,_0x26679e(0x17a),_0x24d6e8),_0xad5fba=_0x2a4bd3||'**/*.{js,jsx,mjs,cjs,ts,tsx,py}',_0x249dea=await this[_0x26679e(0x141)](_0x566f96,_0xad5fba);if(_0x249dea[_0x26679e(0x134)]>this[_0x26679e(0x1a9)])throw new Error(_0x26679e(0x183)+_0x249dea['length']+'\x20(max\x20'+this[_0x26679e(0x1a9)]+')');const _0xa8f132=[];if(this['parallelAnalysis']&&_0x249dea['length']>0x1){this[_0x26679e(0x1a0)]?.['debug'](_0x26679e(0x188),{'totalFiles':_0x249dea['length'],'batchSize':this[_0x26679e(0x142)]});for(let _0x46a042=0x0;_0x46a042<_0x249dea[_0x26679e(0x134)];_0x46a042+=this['maxParallelFiles']){const _0x568a56=_0x249dea[_0x26679e(0x1b0)](_0x46a042,_0x46a042+this[_0x26679e(0x142)]);_0x24d6e8[_0x26679e(0x1b7)]&&_0x24d6e8['onProgress']({'completed':_0x46a042,'total':_0x249dea['length'],'percentage':Math['round'](_0x46a042/_0x249dea['length']*0x64)});const _0x2d1092=_0x568a56[_0x26679e(0x115)](async _0x666390=>{const _0x42b6=_0x26679e;try{return await this['securityScanFile'](_0x666390,_0x54f080,_0x483272,_0x24d6e8);}catch(_0x1000bc){return this['logger']?.['warn'](_0x42b6(0x132),{'file':_0x666390,'error':_0x1000bc['message']}),{'file':this[_0x42b6(0x14a)][_0x42b6(0x19b)](_0x666390,_0x483272),'fullPath':_0x666390,'error':_0x1000bc[_0x42b6(0x10c)],'success':![]};}}),_0x4a6e62=await Promise['all'](_0x2d1092);_0xa8f132[_0x26679e(0x131)](..._0x4a6e62['filter'](_0x53aef3=>_0x53aef3!==null));}_0x24d6e8[_0x26679e(0x1b7)]&&_0x24d6e8['onProgress']({'completed':_0x249dea['length'],'total':_0x249dea[_0x26679e(0x134)],'percentage':0x64});}else for(const _0x39a357 of _0x249dea){try{const _0x1855f2=await this['securityScanFile'](_0x39a357,_0x54f080,_0x483272,_0x24d6e8);_0x1855f2&&_0xa8f132['push'](_0x1855f2);}catch(_0x245865){this[_0x26679e(0x1a0)]?.['warn']('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x39a357,'error':_0x245865[_0x26679e(0x10c)]}),_0xa8f132[_0x26679e(0x131)]({'file':this[_0x26679e(0x14a)][_0x26679e(0x19b)](_0x39a357,_0x483272),'fullPath':_0x39a357,'error':_0x245865['message'],'success':![]});}}return _0x69888f['length']>0x0&&_0xa8f132[_0x26679e(0x131)]({'file':a0_0x3d0e54['join'](_0x566f96,'package.json'),'fullPath':a0_0x3d0e54['join'](_0x566f96,_0x26679e(0x172)),'action':'dependency-scan','critical':_0x69888f[_0x26679e(0x117)](_0x5afd50=>_0x5afd50[_0x26679e(0xee)]===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x69888f['filter'](_0x3227d7=>_0x3227d7[_0x26679e(0xee)]===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x69888f['filter'](_0x55e3c6=>_0x55e3c6['severity']===STATIC_ANALYSIS['SEVERITY'][_0x26679e(0x124)]),'info':_0x69888f['filter'](_0x545746=>_0x545746['severity']===STATIC_ANALYSIS[_0x26679e(0x1a5)][_0x26679e(0x17d)]),'totalIssues':_0x69888f['length'],'analyzed':!![],'scannersUsed':['npm-audit'],'timestamp':new Date()[_0x26679e(0x14d)]()}),_0xa8f132;}async['validateConfigFile'](_0x400d23,_0x40ca2f,_0x1a4582,_0x2b3a0d={}){const _0x53aaeb=a0_0x56df7a,_0x3da422=a0_0x3d0e54[_0x53aaeb(0xeb)](_0x400d23)?a0_0x3d0e54['normalize'](_0x400d23):a0_0x3d0e54[_0x53aaeb(0x1a1)](_0x40ca2f,_0x400d23),_0x1a5c48=this[_0x53aaeb(0x14a)][_0x53aaeb(0x164)](_0x3da422,_0x1a4582);if(!_0x1a5c48[_0x53aaeb(0x147)])throw new Error('Read\x20access\x20denied:\x20'+_0x1a5c48[_0x53aaeb(0xfb)]);try{const _0x37068d=await a0_0x15a704['stat'](_0x3da422);if(_0x37068d['size']>this[_0x53aaeb(0x109)])throw new Error(_0x53aaeb(0x105)+_0x37068d['size']+'\x20bytes\x20(max\x20'+this[_0x53aaeb(0x109)]+')');const _0x4bb82b=await this[_0x53aaeb(0x12a)](),_0x19ebca=await _0x4bb82b['validate'](_0x3da422,_0x2b3a0d),_0x4abc96={'file':this[_0x53aaeb(0x14a)]['createRelativePath'](_0x3da422,_0x1a4582),'fullPath':_0x3da422,'action':_0x53aaeb(0x13b),'critical':_0x19ebca[_0x53aaeb(0x117)](_0x3d3ccb=>_0x3d3ccb[_0x53aaeb(0xee)]===STATIC_ANALYSIS[_0x53aaeb(0x1a5)][_0x53aaeb(0x193)]),'errors':_0x19ebca['filter'](_0x1e7f76=>_0x1e7f76[_0x53aaeb(0xee)]===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x19ebca['filter'](_0xe48403=>_0xe48403[_0x53aaeb(0xee)]===STATIC_ANALYSIS[_0x53aaeb(0x1a5)]['WARNING']),'info':_0x19ebca['filter'](_0x221a77=>_0x221a77[_0x53aaeb(0xee)]===STATIC_ANALYSIS[_0x53aaeb(0x1a5)]['INFO']),'totalIssues':_0x19ebca[_0x53aaeb(0x134)],'analyzed':!![],'validatorsUsed':_0x19ebca['map'](_0x5c604c=>_0x5c604c['validator'])[_0x53aaeb(0x117)]((_0x342fc2,_0x314404,_0x35b311)=>_0x35b311['indexOf'](_0x342fc2)===_0x314404),'timestamp':new Date()[_0x53aaeb(0x14d)]()};return _0x4abc96;}catch(_0x38f1d1){throw new Error('Failed\x20to\x20validate\x20config\x20'+_0x400d23+':\x20'+_0x38f1d1[_0x53aaeb(0x10c)]);}}async['validateConfigDirectory'](_0x1a17e3,_0x39f630,_0x36af75,_0x559c5e={}){const _0x4ec84f=a0_0x56df7a,_0x42e74f=a0_0x3d0e54[_0x4ec84f(0xeb)](_0x1a17e3)?a0_0x3d0e54[_0x4ec84f(0x185)](_0x1a17e3):a0_0x3d0e54['resolve'](_0x39f630,_0x1a17e3),_0x18d10b=this[_0x4ec84f(0x14a)][_0x4ec84f(0x164)](_0x42e74f,_0x36af75);if(!_0x18d10b['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x18d10b[_0x4ec84f(0xfb)]);const _0x307d2d=await this['findConfigFiles'](_0x42e74f);if(_0x307d2d['length']>this['maxFilesPerBatch'])throw new Error(_0x4ec84f(0x11f)+_0x307d2d['length']+_0x4ec84f(0x1b9)+this['maxFilesPerBatch']+')');const _0x170498=[];for(const _0x3767db of _0x307d2d){try{const _0x4c4f4d=await this[_0x4ec84f(0xe7)](_0x3767db,_0x39f630,_0x36af75,_0x559c5e);_0x4c4f4d&&_0x170498[_0x4ec84f(0x131)](_0x4c4f4d);}catch(_0x3d8f07){this['logger']?.[_0x4ec84f(0xef)]('Failed\x20to\x20validate\x20config\x20file',{'file':_0x3767db,'error':_0x3d8f07[_0x4ec84f(0x10c)]}),_0x170498['push']({'file':this['directoryAccessManager']['createRelativePath'](_0x3767db,_0x36af75),'fullPath':_0x3767db,'error':_0x3d8f07['message'],'success':![]});}}return _0x170498;}async[a0_0x56df7a(0x162)](_0x1bb96f){const _0x10ffbd=a0_0x56df7a,_0x404f8e=[],_0x351f4a=[_0x10ffbd(0x172),_0x10ffbd(0x13e),'Dockerfile',_0x10ffbd(0x12d),_0x10ffbd(0x13f),_0x10ffbd(0x113),'.env.example','.eslintrc.js','.eslintrc.json',_0x10ffbd(0x171),_0x10ffbd(0x1a2)],_0xb1a61e=[_0x10ffbd(0x143),'.yaml',_0x10ffbd(0x130),'.tf','.tfvars'],_0x4a9445=async _0x5a7b19=>{const _0x2ede4a=_0x10ffbd,_0x3da915=await a0_0x15a704['readdir'](_0x5a7b19,{'withFileTypes':!![]});for(const _0x6f801c of _0x3da915){const _0x268c68=a0_0x3d0e54['join'](_0x5a7b19,_0x6f801c['name']);if(_0x6f801c[_0x2ede4a(0x116)]()){if(_0x6f801c['name']==='.github'||_0x6f801c[_0x2ede4a(0x19d)]===_0x2ede4a(0x15a)||_0x6f801c['name']===_0x2ede4a(0xe3)||_0x6f801c['name']===_0x2ede4a(0x110))await _0x4a9445(_0x268c68);else{if(![_0x2ede4a(0xed),'.git',_0x2ede4a(0x104),_0x2ede4a(0x14c)]['includes'](_0x6f801c['name']))continue;}}else{if(_0x6f801c[_0x2ede4a(0x1ad)]()){if(_0x351f4a[_0x2ede4a(0x12e)](_0x6f801c[_0x2ede4a(0x19d)]))_0x404f8e['push'](_0x268c68);else{const _0xc4320e=a0_0x3d0e54[_0x2ede4a(0xe8)](_0x6f801c[_0x2ede4a(0x19d)])['toLowerCase']();if(_0xb1a61e[_0x2ede4a(0x12e)](_0xc4320e)){const _0x32c128=a0_0x3d0e54['basename'](a0_0x3d0e54['dirname'](_0x268c68));(_0x32c128==='kubernetes'||_0x32c128==='k8s'||_0x32c128==='terraform'||_0x32c128===_0x2ede4a(0x157))&&_0x404f8e[_0x2ede4a(0x131)](_0x268c68);}}}}}};return await _0x4a9445(_0x1bb96f),_0x404f8e;}['detectLanguage'](_0x1f8108){const _0x45fb97=a0_0x3d0e54['extname'](_0x1f8108)['toLowerCase']();return STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x45fb97]||null;}async[a0_0x56df7a(0x13c)](_0x4b00e4,_0x2858f2){const _0x2db700=a0_0x56df7a;try{if(_0x2858f2===STATIC_ANALYSIS[_0x2db700(0x10e)]['JAVASCRIPT']||_0x2858f2===STATIC_ANALYSIS['LANGUAGE']['TYPESCRIPT'])return await this['detectJSFramework'](_0x4b00e4);if(_0x2858f2===STATIC_ANALYSIS[_0x2db700(0x10e)]['PYTHON'])return await this[_0x2db700(0x199)](_0x4b00e4);return null;}catch(_0x2b33e7){return this[_0x2db700(0x1a0)]?.[_0x2db700(0x13d)](_0x2db700(0x15c),{'error':_0x2b33e7[_0x2db700(0x10c)]}),null;}}async['detectJSFramework'](_0x2d6d2d){const _0x165ff5=a0_0x56df7a;try{const _0x5bb5ff=a0_0x3d0e54[_0x165ff5(0x166)](_0x2d6d2d,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x165ff5(0xf0)]),_0x379ccf=await a0_0x15a704[_0x165ff5(0x125)](_0x5bb5ff,_0x165ff5(0x114)),_0xf9893c=JSON['parse'](_0x379ccf),_0x163e12={..._0xf9893c['dependencies'],..._0xf9893c[_0x165ff5(0x102)]};for(const [_0x58b3f4,_0x59ab50]of Object['entries'](STATIC_ANALYSIS['JS_FRAMEWORKS'])){if(_0x163e12[_0x59ab50])return _0x58b3f4[_0x165ff5(0x122)]();}return null;}catch(_0x448ed2){return null;}}async[a0_0x56df7a(0x199)](_0xc34099){const _0x3f086c=a0_0x56df7a;try{const _0xd49634=a0_0x3d0e54['join'](_0xc34099,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x3f086c(0x10d)]),_0x29dfe7=await a0_0x15a704['readFile'](_0xd49634,_0x3f086c(0x114));for(const [_0x3b1f41,_0x2967c5]of Object['entries'](STATIC_ANALYSIS[_0x3f086c(0x155)])){if(_0x29dfe7['toLowerCase']()['includes'](_0x2967c5))return _0x3b1f41['toLowerCase']();}return null;}catch(_0x14f278){try{const _0x2f3eea=a0_0x3d0e54[_0x3f086c(0x166)](_0xc34099,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS'][_0x3f086c(0xe9)]),_0xc23867=await a0_0x15a704['readFile'](_0x2f3eea,'utf-8');for(const [_0x339172,_0x451cc6]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0xc23867[_0x3f086c(0x122)]()['includes'](_0x451cc6))return _0x339172[_0x3f086c(0x122)]();}}catch{}return null;}}async[a0_0x56df7a(0x141)](_0xf3936c,_0x217ecc){const _0x309dd7=[],_0x40286b=_0x217ecc||'**/*.{js,jsx,mjs,cjs,ts,tsx,py,css,scss,sass,less}',_0x1c90b9=_0x568028=>{const _0x3b04d3=a0_0x3d84,_0x3ac58e=[],_0x4165e3=_0x568028[_0x3b04d3(0x186)](/\*\.\{([^}]+)\}/);if(_0x4165e3){const _0x3c0ed5=_0x4165e3[0x1][_0x3b04d3(0x1af)](',')[_0x3b04d3(0x115)](_0x4245a5=>_0x4245a5[_0x3b04d3(0xfa)]());_0x3c0ed5[_0x3b04d3(0x1a7)](_0x2c7666=>_0x3ac58e['push'](_0x2c7666['startsWith']('.')?_0x2c7666:'.'+_0x2c7666));}else{const _0x144a56=_0x568028['match'](/\*\.([a-z]+)$/i);if(_0x144a56){const _0x175847=_0x144a56[0x1];_0x3ac58e[_0x3b04d3(0x131)](_0x175847[_0x3b04d3(0x18e)]('.')?_0x175847:'.'+_0x175847);}}if(_0x3ac58e['length']===0x0)return null;return _0x3ac58e;},_0x27a8b1=_0x1c90b9(_0x40286b),_0x518917=async _0x24c8cb=>{const _0x4b81ab=a0_0x3d84,_0x1ba87f=await a0_0x15a704['readdir'](_0x24c8cb,{'withFileTypes':!![]});for(const _0xa491e2 of _0x1ba87f){const _0x57d9e7=a0_0x3d0e54[_0x4b81ab(0x166)](_0x24c8cb,_0xa491e2['name']);if(_0xa491e2[_0x4b81ab(0x116)]())![_0x4b81ab(0xed),'.git','dist',_0x4b81ab(0x14c),'__pycache__',_0x4b81ab(0x176),'venv'][_0x4b81ab(0x12e)](_0xa491e2['name'])&&await _0x518917(_0x57d9e7);else{if(_0xa491e2['isFile']()){const _0x23c6eb=a0_0x3d0e54['extname'](_0xa491e2[_0x4b81ab(0x19d)])[_0x4b81ab(0x122)]();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x23c6eb]&&((_0x27a8b1===null||_0x27a8b1[_0x4b81ab(0x12e)](_0x23c6eb))&&_0x309dd7[_0x4b81ab(0x131)](_0x57d9e7));}}}};return await _0x518917(_0xf3936c),_0x309dd7;}async[a0_0x56df7a(0x10f)](_0x41819d){const _0x198249=a0_0x56df7a;try{if(_0x41819d===STATIC_ANALYSIS[_0x198249(0x10e)]['JAVASCRIPT']){if(!this['analyzers'][_0x198249(0x17a)]){const {default:_0x175f5e}=await import('../analyzers/JavaScriptAnalyzer.js');this[_0x198249(0x18a)]['javascript']=new _0x175f5e(this['logger']);}return this['analyzers'][_0x198249(0x17a)];}if(_0x41819d===STATIC_ANALYSIS[_0x198249(0x10e)][_0x198249(0x1ae)]){if(!this['analyzers']['typescript']){const {default:_0x5f366b}=await import(_0x198249(0x14b));this['analyzers'][_0x198249(0x11b)]=new _0x5f366b(this['logger']);}return this['analyzers'][_0x198249(0x11b)];}if(_0x41819d===STATIC_ANALYSIS['LANGUAGE'][_0x198249(0x10d)]){if(!this['analyzers']['python']){const {default:_0x12d891}=await import(_0x198249(0x191));this[_0x198249(0x18a)][_0x198249(0x119)]=new _0x12d891(this[_0x198249(0x1a0)]);}return this['analyzers'][_0x198249(0x119)];}if(_0x41819d===STATIC_ANALYSIS[_0x198249(0x10e)]['CSS']||_0x41819d===STATIC_ANALYSIS['LANGUAGE']['SCSS']||_0x41819d===STATIC_ANALYSIS['LANGUAGE']['LESS']){if(!this[_0x198249(0x18a)][_0x198249(0x1b4)]){const {default:_0x477236}=await import(_0x198249(0x18c));this['analyzers']['css']=new _0x477236(this['logger']);}return this[_0x198249(0x18a)]['css'];}return null;}catch(_0x3262e4){return this[_0x198249(0x1a0)]?.['error']('Failed\x20to\x20load\x20analyzer',{'language':_0x41819d,'error':_0x3262e4[_0x198249(0x10c)]}),null;}}async['getESLintAnalyzer'](){const _0x183468=a0_0x56df7a;if(!this[_0x183468(0x18a)][_0x183468(0x189)]){const {default:_0x410268}=await import(_0x183468(0x169));this['analyzers'][_0x183468(0x189)]=new _0x410268(this[_0x183468(0x1a0)]);}return this[_0x183468(0x18a)]['eslint'];}async['getPrettierFormatter'](){const _0x251073=a0_0x56df7a;if(!this['formatters']['prettier']){const {default:_0x3a8d7e}=await import(_0x251073(0x1b5));this['formatters'][_0x251073(0x137)]=new _0x3a8d7e(this['logger']);}return this[_0x251073(0x136)][_0x251073(0x137)];}async['getSecurityAnalyzer'](){const _0x48c42c=a0_0x56df7a;if(!this['analyzers']['security']){const {default:_0x5890bf}=await import(_0x48c42c(0xf1));this[_0x48c42c(0x18a)][_0x48c42c(0x15f)]=new _0x5890bf(this['logger']);}return this[_0x48c42c(0x18a)][_0x48c42c(0x15f)];}async['getConfigValidator'](){const _0x39696e=a0_0x56df7a;if(!this['analyzers'][_0x39696e(0xf6)]){const {default:_0x2bdefc}=await import(_0x39696e(0x100));this['analyzers'][_0x39696e(0xf6)]=new _0x2bdefc(this['logger']);}return this[_0x39696e(0x18a)][_0x39696e(0xf6)];}['updateSummary'](_0x4c34ca,_0x39c447){const _0x31816d=a0_0x56df7a;if(_0x39c447['analyzed']){_0x4c34ca[_0x31816d(0x19c)]++;const _0x2fd277=_0x39c447[_0x31816d(0x123)]?.[_0x31816d(0x134)]||0x0,_0xc26ad3=_0x39c447[_0x31816d(0x18b)]?.[_0x31816d(0x134)]||0x0,_0x309e9f=_0x39c447[_0x31816d(0x1b2)]?.['length']||0x0,_0x5b8d05=_0x39c447['info']?.[_0x31816d(0x134)]||0x0;_0x4c34ca[_0x31816d(0x197)]===undefined&&(_0x4c34ca['totalCritical']=0x0);_0x4c34ca['totalCritical']+=_0x2fd277,_0x4c34ca['totalErrors']+=_0xc26ad3,_0x4c34ca['totalWarnings']+=_0x309e9f,_0x4c34ca['totalInfo']+=_0x5b8d05;(_0x2fd277>0x0||_0xc26ad3>0x0)&&_0x4c34ca[_0x31816d(0x175)]++;_0x39c447['language']&&(_0x4c34ca['filesByLanguage'][_0x39c447['language']]=(_0x4c34ca['filesByLanguage'][_0x39c447['language']]||0x0)+0x1);const _0x58de1e=[..._0x39c447['critical']||[],..._0x39c447['errors']||[],..._0x39c447[_0x31816d(0x1b2)]||[]];for(const _0x1ee1be of _0x58de1e){_0x1ee1be[_0x31816d(0x16b)]&&(_0x4c34ca['errorsByCategory'][_0x1ee1be[_0x31816d(0x16b)]]=(_0x4c34ca['errorsByCategory'][_0x1ee1be['category']]||0x0)+0x1);}}}[a0_0x56df7a(0x120)](_0x3e84d5){const _0x381522=a0_0x56df7a;return a0_0x22cec4['createHash'](_0x381522(0x17b))['update'](_0x3e84d5)[_0x381522(0x187)](_0x381522(0x1b1))['substring'](0x0,0x10);}['getPerformanceMetrics'](){const _0x484df3=a0_0x56df7a,_0x1fc0ba=this[_0x484df3(0x17f)][_0x484df3(0x149)]>0x0?this['metrics']['cacheHits']/this[_0x484df3(0x17f)]['totalAnalyses']*0x64:0x0,_0x388669=this['metrics']['filesAnalyzed']>0x0?this['metrics'][_0x484df3(0xf9)]/this[_0x484df3(0x17f)][_0x484df3(0x16c)]:0x0;return{...this[_0x484df3(0x17f)],'cacheHitRate':Math[_0x484df3(0x15b)](_0x1fc0ba*0xa)/0xa,'averageAnalysisTime':Math['round'](_0x388669),'cacheSize':this[_0x484df3(0x12c)][_0x484df3(0x15e)]};}[a0_0x56df7a(0x11d)](){const _0x2da9a5=a0_0x56df7a;this[_0x2da9a5(0x17f)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}['clearCache'](){const _0x172f0f=a0_0x56df7a;this['analysisCache']['clear'](),this['logger']?.[_0x172f0f(0x13d)](_0x172f0f(0x1a8));}['getSupportedActions'](){const _0x37db57=a0_0x56df7a;return['analyze',_0x37db57(0x129),_0x37db57(0x103),_0x37db57(0xf5),_0x37db57(0x195),'security-scan-project',_0x37db57(0x13b),_0x37db57(0xea)];}['getParameterSchema'](){const _0x161846=a0_0x56df7a;return{'type':_0x161846(0x1ac),'properties':{'actions':{'type':_0x161846(0xe5),'minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'filePath':{'type':_0x161846(0x150)},'directory':{'type':'string'},'pattern':{'type':'string'},'includeWarnings':{'type':'boolean'},'maxErrors':{'type':'number'}},'required':['type']}}},'required':[_0x161846(0x18f)]};}}export default StaticAnalysisTool;
1
+ const a0_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;