@loxia-labs/loxia-autopilot-one 1.0.4 → 1.0.6

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 +1 -1
  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-lCBai6dX.js → index-CX8ZfpGw.js} +113 -60
  119. package/web-ui/build/static/index-Dwg_JrlO.css +1 -0
  120. package/web-ui/build/static/index-CClD1090.css +0 -1
@@ -1 +1 @@
1
- const a0_0xbda7d4=a0_0x45fa;(function(_0x242d86,_0x14d1a1){const _0x307555=a0_0x45fa,_0x3d8c89=_0x242d86();while(!![]){try{const _0x526017=parseInt(_0x307555(0x11c))/0x1+parseInt(_0x307555(0xca))/0x2+parseInt(_0x307555(0xa9))/0x3*(parseInt(_0x307555(0xe4))/0x4)+parseInt(_0x307555(0x119))/0x5+parseInt(_0x307555(0x102))/0x6+-parseInt(_0x307555(0xe5))/0x7+-parseInt(_0x307555(0x111))/0x8;if(_0x526017===_0x14d1a1)break;else _0x3d8c89['push'](_0x3d8c89['shift']());}catch(_0x5925e5){_0x3d8c89['push'](_0x3d8c89['shift']());}}}(a0_0x15e1,0x7f976));import{promises as a0_0x4ffdd1}from'fs';function a0_0x15e1(){const _0x5d0850=['x2LZrxHHy3rvCgrHDgvbDMfPBgfIBgu','ChjLCMvSzwfZzq','Bg9Nz2vY','Cgf0Aa','Bwf4','tLbnx1jfr0Ltvfjzx1vsta','yw5K','zxHLyW','mtq5ntuZmM9bCLznta','cVcFK6yGsw5ZDgfSBgvKihzLCNnPB25ZoG','A2v5CW','sw52ywXPzcbYzwDPC3rYEsbYzxnWB25ZzsbMB3jTyxq','uKvuuLLFqvruru1qvfm','BwfW','cVcFK4SGqxzHAwXHyMXLihvWzgf0zxm6','Dg9mB3DLCKnHC2u','Ec1Yyw5Nzq','x2LZq2fYzxrvCgrHDgvbDMfPBgfIBgu','uKvuuLLFrevmqvK','AM9PBG','x3nHDgLZzMLLC1jHBMDL','ywjVCNq','tufyx0nptKnvuLjftLrFq0Hfq0Tt','B2jQzwn0','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','qKfds1vqx0vyvevou0LptG','Aw5JBhvKzxm','cUkCQcboBYb1CgrHDgvZig5LzwrLza','Aw5JBhvKzurLDG','C29Tzq','yxv0BW','BwvZC2fNzq','zxzLCNK','ugfYyw1LDgvYCYbTDxn0igjLigfUig9IAMvJDa','mJH1zMXnAKK','otGXmZm3sePswwfN','qwXSigrLCgvUzgvUy2LLCYbHCMuGDxaTDg8Tzgf0zq','ANnVBG','x2DLDeXHDgvZDenVBxbHDgLIBgvwzxjZAw9U','z2v0rgvZy3jPChrPB24','Aw5MBW','BNbTigLUC3rHBgW','zgv2rgvWzw5Kzw5JAwvZ','4PQG77Ipica','DgvZDa','yNvPBgq','cVcFK6uGsw5ZDgfSBgLUzYbKzxbLBMrLBMnPzxmGkhrOAxmGBwf5ihrHA2uGysb3AgLSzsKUlI4','uKvhsvnuuLLFveLnru9vva','D29YA2LUz0rPCMvJDg9YEq','Cgf0y2G','rMfPBgvKihrVignYzwf0zsbIywnRDxa','rgvWzw5Kzw5JEsbYzxnVBhzLCIbLCNjVCJO','x2LZvgLSzgvvCgrHDgvbDMfPBgfIBgu','8j+uJsbdAgvJA2LUzYbKzxbLBMrLBMnPzxmGAw46ia','ihjLC29SDMvZig91DhnPzguGD29YA2LUzYbKAxjLy3rVCNK','tM8GzgvWzw5Kzw5JAwvZigzVDw5KigLUihbHy2THz2uUANnVBG','C3rHCNrZv2L0Aa','C3bSAxq','ChvZAa','x2LZwfjHBMDLvxbKyxrLqxzHAwXHyMXL','q1jfqvrfx0jbq0Tvufm','x3bHCNnLvMvYC2LVBG','C3rHDhvZ','Bwf0y2G','mZuWmtK0ofDszK5uEa','x2LZtgvZC1rOyw5vCgrHDgvbDMfPBgfIBgu','zM9YrwfJAa','CgfYC2u','ywnJzxnZ','Bw9Kzq','cUkCHsbszwDPC3rYEsbJAgvJAYbJB21WBgv0zq','x3zHBgLKyxrLugfYyw1LDgvYCW','iokgKIa','zw50CMLLCW','D2fYBG','x2nOzwnRrgvWzw5Kzw5JAwvZ','Cgf0AcbTDxn0igjLigeGC3rYAw5N','8j+mKcbrDwvYEwLUzYbUCg0GCMvNAxn0CNKGzM9YihvWzgf0zxmUlI4','y3DK','mtC1nJK0ntzkt05xqNG','yM9VBgvHBG','x3bHCNnLq29TCgXLEfjHBMDL','AxnbyNnVBhv0zq','x3nHDgLZzMLLC0nVBxbSzxHsyw5Nzq','x3bHCNnLvMvYC2LVBLjHBMDL','x2LZvxbKyxrLqxzHAwXHyMXL','C3rYAw5NAwz5','mZe0mJKZmhzuzMXtuq','x3bHCNnLqM9VBgvHBG','C2XPy2u','ndG2mhrzsLzZAG','cVcFM6aGifvWzgf0Aw5NihbHy2THz2uUANnVBI4UlG','q3jLyxrLzcbIywnRDxa','C3rYAw5N','x2nVBxbHCMvwzxjZAw9UCW','BwLUB3i','ChjLzML4','B3bLCMf0B3i','DhLWzq','zgvIDwC','cUkDJcbUCg0GAw5ZDgfSBcbMywLSzwq6ia','yxnZAwDU','x2nVBxbHCMvqCMvYzwXLyxnL','Ahr0Chm6lY9YzwDPC3rYEs5UCg1QCY5VCMC','CMfUz2vZ','mZGZmtKZz3ntBLns','vg9VBdOGrgvWzw5Kzw5JEsbszxnVBhzLCIaTifjLC29SDMuGtM9Kzs5QCYbWywnRywDLigrLCgvUzgvUy3KGy29UzMXPy3rZcGOQkLb1CNbVC2u6kIOGq2HLy2TZig5WBsbKzxbLBMrLBMnPzxmGzM9YihvWzgf0zxmGyw5Kig9WDgLVBMfSBhKGDxbKyxrLCYbWywnRywDLlMPZB24GDg8GBgf0zxn0ignVBxbHDgLIBguGDMvYC2LVBNmGyxv0B21HDgLJywXSEs4kcIOQsw52B2nHDgLVBIbtEw50yxG6kIOkcLHntcbgB3jTyxq6cMbGyhHTBaO8zgvWzw5Kzw5JEs1YzxnVBhzLpGOGidXWyxrOpI4VBxKTChjVAMvJDdWVCgf0Ad4kica8Bw9Kzt5JAgvJAZWVBw9Kzt4kica8Aw5JBhvKzs1Kzxy+Dhj1ztWVAw5JBhvKzs1Kzxy+cJWVzgvWzw5Kzw5JEs1YzxnVBhzLpGPGygakcKPtt04GrM9YBwf0oGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMrLCgvUzgvUy3KTCMvZB2X2zxiIlaOGicjWyxjHBwv0zxjZiJOGEWOGicaGiNbHDgGIoIaIlI9TEs1WCM9Qzwn0iIWkicaGicjTB2rLiJOGiMnOzwnRiIWkicaGicjPBMnSDwrLrgv2iJOGDhj1zqOGih0kFqPGygakcIOQugfYyw1LDgvYCZOQkGOTicOQCgf0AcOQicHZDhjPBMCSig9WDgLVBMfSktOGugf0Acb0BYbWCM9Qzwn0igrPCMvJDg9YEsb3AxrOihbHy2THz2uUANnVBI4GrgvMyxvSDdOGiI4IcI0GkIPTB2rLkIOGkhn0CMLUzYWGB3b0Aw9UywWPoIbpCgvYyxrPB24GBw9Kzs4Gt3b0Aw9UCZOkicaTicjJAgvJAYiGlsbpBMX5ignOzwnRigzVCIb1CgrHDgvZicHKzwzHDwX0kqOGic0GiMzPEciGlsbvCgrHDguGCgfJA2fNzs5QC29UigfUzcbYDw4GBNbTigLUC3rHBgWkicaTicjHDxrViIaTief1Dg9TyxrPy2fSBhKGzML4igfSBcbJB25MBgLJDhmklsaQkMLUy2X1zgvezxyQkIaOyM9VBgvHBIWGB3b0Aw9UywWPoIbjBMnSDwrLigrLDKrLCgvUzgvUy2LLCY4GrgvMyxvSDdOGDhj1zqOkkIPxAgf0ieL0ierVzxm6kIOklsbdAgvJA3mGBNbTihjLz2LZDhj5igzVCIbSyxrLC3qGy29TCgf0AwjSzsb2zxjZAw9UCWOTifjLC3bLy3rZihnLBxzLCIbYyw5NzxmGkf4Sih4Sid49lcbLDgmUkqOTienYzwf0zxmGyxv0B21HDgLJigjHy2T1ChmGyMvMB3jLig1VzgLMAwnHDgLVBNmklsbsDw5Zig5WBsbPBNn0ywXSigfMDgvYihvWzgf0zxmGkgLUigzPEc9HDxrVig1VzguPcI0GuhjVDMLKzxmGzgv0ywLSzwqGDxbKyxrLihjLCg9YDaOkkIPfEgfTCgXLCZOQkGOkms4Gq2HLy2SGzM9YihvWzgf0zxm6cMbGyhHTBaO8zgvWzw5Kzw5JEs1YzxnVBhzLCJ4kica8Bw9Kzt5JAgvJAZWVBw9Kzt4kpc9KzxbLBMrLBMn5lxjLC29SDMvYpGPGygakcJiUiezPEcbVDxrKyxrLzcbKzxbLBMrLBMnPzxm6cMbGyhHTBaO8zgvWzw5Kzw5JEs1YzxnVBhzLCJ4kica8Cgf0Ad4Ul215lxbYB2PLy3q8l3bHDgG+cIaGpg1Vzgu+zML4pc9TB2rLpGO8l2rLCgvUzgvUy3KTCMvZB2X2zxi+cMbGyaOkmY4Gqxv0BY1MAxGGD2L0AcbKzxzezxbLBMrLBMnPzxm6cMbGygPZB24kEWOGicj0B29SswqIoIaIzgvWzw5Kzw5JEs1YzxnVBhzLCIiScIaGiNbHCMfTzxrLCNmIoIb7icjTB2rLiJOGiMf1Dg8IlcaIAw5JBhvKzurLDIi6ihrYDwuGFqP9cMbGyaOkkIPoB3rLCZOQkGOTiefSD2f5CYbJCMvHDgvZigjHy2T1CcaOlMjHy2T1Cc5QC29UksbIzwzVCMuGBw9KAwzPy2f0Aw9UCWOTie5LDhDVCMSGCMvXDwvZDhmGAgf2zsb0Aw1LB3v0igfUzcbYzxrYEsbSB2DPyWOTig5WBsbPBNn0ywXSihj1BNmGD2L0Acb0Aw1LB3v0ihbYB3rLy3rPB24GkduGBwLUDxrLCYbTyxGPcI0Gu3vWCg9YDhmGy29TCgXLEcbZzw12zxiGCMfUz2vZicH8FcWGjIySigv0yY4P','C2LTCgXL','BNbTifDbuK4','4PYfihbHy2THz2uUANnVBIb1CgrHDgvK','BM9YBwfSAxPL','x2nYzwf0zujHy2T1Ca','zxjYB3i','4PYfieLUC3rHBgXHDgLVBIbJB21WBgv0zq','DhjPBq','zML4','Dhj1zq','x2LZu2LTCgXLvxbKyxrLqxzHAwXHyMXL','ywXS','zMLSDgvY','8j+tIIbgB3vUzca','x2zLDgnOugfJA2fNzuLUzM8','y2HLy2S','BgvUz3rO','BwfQB3i','cIaG','icdIGkiG','zgvWzw5Kzw5JAwvZ','vg9Vig1HBNKGzgvWzw5Kzw5JAwvZicG','ihbHy2THz2uOCYKGD2L0AcbHDMfPBgfIBguGDxbKyxrLCW'];a0_0x15e1=function(){return _0x5d0850;};return a0_0x15e1();}import a0_0xfd3da3 from'path';import{exec as a0_0x2c0f37}from'child_process';import{promisify}from'util';import{BaseTool}from'./baseTool.js';import a0_0x3a5cd5 from'../utilities/tagParser.js';const exec=promisify(a0_0x2c0f37),RESOLVER_CONFIG={'DEFAULT_MODE':a0_0xbda7d4(0xba),'VALID_MODES':['check',a0_0xbda7d4(0xb3),a0_0xbda7d4(0xe0)],'NPM_COMMAND_TIMEOUT':0x493e0,'REGISTRY_TIMEOUT':0x2710,'MAX_CONCURRENT_CHECKS':0x5,'BACKUP_EXTENSION':'.backup.json','CREATE_BACKUPS':!![],'RETRY_ATTEMPTS':0x3,'RETRY_DELAY':0x3e8,'MAX_DEPENDENCIES':0x1f4,'NPM_REGISTRY_URL':a0_0xbda7d4(0xa7)};function a0_0x45fa(_0x563825,_0x2a9702){_0x563825=_0x563825-0x9b;const _0x15e17d=a0_0x15e1();let _0x45fa44=_0x15e17d[_0x563825];if(a0_0x45fa['lkDqxd']===undefined){var _0x2cd63a=function(_0x2a8d44){const _0x162a42='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ffdd1='',_0xfd3da3='';for(let _0x2c0f37=0x0,_0x3a5cd5,_0x394093,_0x1db7f5=0x0;_0x394093=_0x2a8d44['charAt'](_0x1db7f5++);~_0x394093&&(_0x3a5cd5=_0x2c0f37%0x4?_0x3a5cd5*0x40+_0x394093:_0x394093,_0x2c0f37++%0x4)?_0x4ffdd1+=String['fromCharCode'](0xff&_0x3a5cd5>>(-0x2*_0x2c0f37&0x6)):0x0){_0x394093=_0x162a42['indexOf'](_0x394093);}for(let _0x28fad4=0x0,_0x5bf255=_0x4ffdd1['length'];_0x28fad4<_0x5bf255;_0x28fad4++){_0xfd3da3+='%'+('00'+_0x4ffdd1['charCodeAt'](_0x28fad4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xfd3da3);};a0_0x45fa['qdpUMP']=_0x2cd63a,a0_0x45fa['QRmwoo']={},a0_0x45fa['lkDqxd']=!![];}const _0x5c6735=_0x15e17d[0x0],_0x2c3d5e=_0x563825+_0x5c6735,_0x12dddb=a0_0x45fa['QRmwoo'][_0x2c3d5e];return!_0x12dddb?(_0x45fa44=a0_0x45fa['qdpUMP'](_0x45fa44),a0_0x45fa['QRmwoo'][_0x2c3d5e]=_0x45fa44):_0x45fa44=_0x12dddb,_0x45fa44;}export class DependencyResolverTool extends BaseTool{[a0_0xbda7d4(0xe9)](){const _0x2b26aa=a0_0xbda7d4;return _0x2b26aa(0xaa);}['parseParameters'](_0x394093){const _0x39adbe=a0_0xbda7d4;if(typeof _0x394093===_0x39adbe(0xd9)&&_0x394093!==null)return{'path':_0x394093[_0x39adbe(0xc5)]||'.','mode':_0x394093['mode']||RESOLVER_CONFIG['DEFAULT_MODE'],'includeDev':_0x394093['includeDev']!==undefined?_0x394093['includeDev']:!![]};if(typeof _0x394093===_0x39adbe(0x9d)){const _0x1db7f5=/<dependency-resolve([^>]*)>([\s\S]*?)<\/dependency-resolve>/i,_0x28fad4=_0x1db7f5[_0x39adbe(0xc9)](_0x394093);if(_0x28fad4){const _0x2e4a62=_0x28fad4[0x1],_0x3850e1=_0x28fad4[0x2],_0x1fd896=/path=["']([^"']*)["']/i['exec'](_0x2e4a62),_0x553153=/mode=["']([^"']*)["']/i['exec'](_0x2e4a62),_0x223688=/include-dev=["']([^"']*)["']/i[_0x39adbe(0xc9)](_0x2e4a62),_0x2b7723=/<path>(.*?)<\/path>/i,_0x870538=_0x2b7723[_0x39adbe(0xc9)](_0x3850e1),_0xbb7520=/<mode>(.*?)<\/mode>/i,_0xb32515=_0xbb7520[_0x39adbe(0xc9)](_0x3850e1),_0x162766=/<include-dev>(.*?)<\/include-dev>/i,_0x48adaf=_0x162766['exec'](_0x3850e1),_0x478e11=(_0x870538?_0x870538[0x1]['trim']():null)||(_0x1fd896?_0x1fd896[0x1]:'.'),_0x50b869=(_0xb32515?_0xb32515[0x1][_0x39adbe(0xb2)]():null)||(_0x553153?_0x553153[0x1]:RESOLVER_CONFIG['DEFAULT_MODE']),_0x380b22=(_0x48adaf?_0x48adaf[0x1]['trim']():null)||(_0x223688?_0x223688[0x1]:_0x39adbe(0xb4));return{'path':_0x478e11,'mode':_0x50b869,'includeDev':this[_0x39adbe(0x11a)](_0x380b22,!![])};}const _0x5bf255=/\[resolve\s+([^\]]*)\]/i,_0x3101f3=_0x5bf255['exec'](_0x394093);if(_0x3101f3){const _0x2360fd=_0x3101f3[0x1],_0x32d74c=/path=["']([^"']*)["']/i[_0x39adbe(0xc9)](_0x2360fd),_0x13b16e=/mode=["']([^"']*)["']/i['exec'](_0x2360fd),_0x4be62e=/include-dev=["']([^"']*)["']/i[_0x39adbe(0xc9)](_0x2360fd);return{'path':_0x32d74c?_0x32d74c[0x1]:'.','mode':_0x13b16e?_0x13b16e[0x1]:RESOLVER_CONFIG['DEFAULT_MODE'],'includeDev':this[_0x39adbe(0x11a)](_0x4be62e?_0x4be62e[0x1]:'true',!![])};}throw new Error('Invalid\x20dependency-resolve\x20format.\x20Use\x20<dependency-resolve>\x20tags\x20or\x20JSON\x20format.');}throw new Error('Invalid\x20parameter\x20format.\x20Expected\x20string\x20(XML)\x20or\x20object\x20(JSON).');}[a0_0xbda7d4(0x11a)](_0x28ac00,defaultValue=![]){const _0x14b3c1=a0_0xbda7d4;if(_0x28ac00===undefined||_0x28ac00===null)return defaultValue;if(typeof _0x28ac00==='boolean')return _0x28ac00;if(typeof _0x28ac00==='string')return _0x28ac00[_0x14b3c1(0xd1)]()==='true'||_0x28ac00==='1';return defaultValue;}[a0_0xbda7d4(0x109)](_0x2ef05d){const _0x3ecf31=a0_0xbda7d4;if(!_0x2ef05d||typeof _0x2ef05d!=='object')throw new Error(_0x3ecf31(0xe3));if(_0x2ef05d['path']&&typeof _0x2ef05d[_0x3ecf31(0xc5)]!=='string')throw new Error(_0x3ecf31(0x10e));if(_0x2ef05d[_0x3ecf31(0x107)]&&!RESOLVER_CONFIG['VALID_MODES']['includes'](_0x2ef05d[_0x3ecf31(0x107)]))throw new Error('Invalid\x20mode:\x20'+_0x2ef05d[_0x3ecf31(0x107)]+'.\x20Must\x20be\x20one\x20of:\x20'+RESOLVER_CONFIG['VALID_MODES'][_0x3ecf31(0xd5)](',\x20'));if(_0x2ef05d['includeDev']!==undefined&&typeof _0x2ef05d[_0x3ecf31(0xde)]!==_0x3ecf31(0x112))throw new Error('includeDev\x20must\x20be\x20a\x20boolean');}[a0_0xbda7d4(0xda)](_0xa4e578,_0x4d43d0){const _0x2ec016=a0_0xbda7d4,{projectDir:_0x5c9b91,directoryAccess:_0x2e59c6}=_0x4d43d0;let _0x5108df=_0x5c9b91||process[_0x2ec016(0x110)]();_0x2e59c6&&_0x2e59c6[_0x2ec016(0xf2)]&&(_0x5108df=_0x2e59c6[_0x2ec016(0xf2)]);const _0xcf0b52=a0_0xfd3da3[_0x2ec016(0x114)](_0xa4e578)?a0_0xfd3da3[_0x2ec016(0xae)](_0xa4e578):a0_0xfd3da3[_0x2ec016(0xae)](a0_0xfd3da3[_0x2ec016(0xd5)](_0x5108df,_0xa4e578)),_0x2fcf18=a0_0xfd3da3[_0x2ec016(0xae)](_0x5108df);if(!_0xcf0b52[_0x2ec016(0xfa)](_0x2fcf18))throw new Error('Path\x20traversal\x20detected:\x20'+_0xa4e578+_0x2ec016(0xf8));return _0xcf0b52;}async[a0_0xbda7d4(0xaf)](_0x50dc56){const _0x4a4543=a0_0xbda7d4;if(!RESOLVER_CONFIG[_0x4a4543(0xfe)])return null;try{const _0x3d31c5=_0x50dc56+RESOLVER_CONFIG[_0x4a4543(0xdb)];return await a0_0x4ffdd1['copyFile'](_0x50dc56,_0x3d31c5),this['logger']?.[_0x4a4543(0xea)](_0x4a4543(0x9c),{'backupPath':_0x3d31c5}),_0x3d31c5;}catch(_0x463ba0){return this['logger']?.[_0x4a4543(0x10c)](_0x4a4543(0xf4),{'error':_0x463ba0[_0x4a4543(0xe1)]}),null;}}async[a0_0xbda7d4(0xb9)](_0xc5392b){const _0x587139=a0_0xbda7d4,_0x30b855=RESOLVER_CONFIG[_0x587139(0xc7)]+'/'+encodeURIComponent(_0xc5392b);for(let _0x527a3a=0x1;_0x527a3a<=RESOLVER_CONFIG[_0x587139(0xce)];_0x527a3a++){try{const _0x3e4553=new AbortController(),_0x1a1716=setTimeout(()=>_0x3e4553[_0x587139(0xd7)](),RESOLVER_CONFIG[_0x587139(0xf1)]),_0x436c51=await fetch(_0x30b855,{'signal':_0x3e4553['signal']});clearTimeout(_0x1a1716);if(!_0x436c51['ok']){if(_0x436c51[_0x587139(0x100)]===0x194)return this[_0x587139(0xc4)]?.['warn']('Package\x20not\x20found:\x20'+_0xc5392b),null;throw new Error('HTTP\x20'+_0x436c51[_0x587139(0x100)]+':\x20'+_0x436c51['statusText']);}const _0x57643d=await _0x436c51[_0x587139(0xe7)]();if(!_0x57643d||typeof _0x57643d!=='object'||!_0x57643d['dist-tags'])throw new Error(_0x587139(0xcd));return _0x57643d;}catch(_0x224964){if(_0x527a3a<RESOLVER_CONFIG[_0x587139(0xce)])this['logger']?.['debug']('Retry\x20'+_0x527a3a+'/'+RESOLVER_CONFIG['RETRY_ATTEMPTS']+'\x20for\x20'+_0xc5392b),await new Promise(_0x159232=>setTimeout(_0x159232,RESOLVER_CONFIG[_0x587139(0xd4)]*_0x527a3a));else return this['logger']?.[_0x587139(0xb0)]('Failed\x20to\x20fetch\x20'+_0xc5392b+':',_0x224964[_0x587139(0xe1)]),null;}}return null;}async[a0_0xbda7d4(0xe8)](_0x20585c,_0x150547){const _0xda3349=a0_0xbda7d4,_0xc39aa5=await this['_fetchPackageInfo'](_0x20585c);if(!_0xc39aa5)return null;const _0x2d00f0=_0xc39aa5['dist-tags']?.['latest'];if(!_0x2d00f0)return null;const _0x1cce93=this[_0xda3349(0xff)](_0x2d00f0);if(!_0x1cce93)return null;if(this['_isComplexRange'](_0x150547)){const _0x306ec2=this[_0xda3349(0x113)](_0x150547),_0x1a89fd=this[_0xda3349(0x115)](_0x306ec2,_0x1cce93);if(_0x1a89fd)return _0x2d00f0;return null;}const _0x44e592=this[_0xda3349(0x116)](_0x150547);if(!_0x44e592)return null;const _0x5246c0=this[_0xda3349(0x117)](_0x44e592,_0x1cce93);if(_0x5246c0)return _0x44e592[_0xda3349(0xa0)]+_0x2d00f0;return null;}[a0_0xbda7d4(0xff)](_0x3fd607){const _0x1a4d87=a0_0xbda7d4,_0x136063=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/,_0x1185ab=_0x136063[_0x1a4d87(0xc9)](_0x3fd607);if(!_0x1185ab){const _0x14a53a=_0x3fd607[_0x1a4d87(0x101)](/^(\d+)\.(\d+)\.(\d+)/);if(_0x14a53a)return{'major':parseInt(_0x14a53a[0x1],0xa),'minor':parseInt(_0x14a53a[0x2],0xa),'patch':parseInt(_0x14a53a[0x3],0xa),'prerelease':null,'build':null};return null;}return{'major':parseInt(_0x1185ab[0x1],0xa),'minor':parseInt(_0x1185ab[0x2],0xa),'patch':parseInt(_0x1185ab[0x3],0xa),'prerelease':_0x1185ab[0x4]?_0x1185ab[0x4]['split']('.'):null,'build':_0x1185ab[0x5]||null};}[a0_0xbda7d4(0x9e)](_0x18ba79,_0x5c4853){const _0x53f816=a0_0xbda7d4;if(_0x18ba79[_0x53f816(0xbc)]!==_0x5c4853[_0x53f816(0xbc)])return _0x18ba79['major']-_0x5c4853[_0x53f816(0xbc)];if(_0x18ba79['minor']!==_0x5c4853[_0x53f816(0x9f)])return _0x18ba79[_0x53f816(0x9f)]-_0x5c4853['minor'];if(_0x18ba79['patch']!==_0x5c4853['patch'])return _0x18ba79['patch']-_0x5c4853[_0x53f816(0xf3)];if(!_0x18ba79['prerelease']&&!_0x5c4853['prerelease'])return 0x0;if(!_0x18ba79[_0x53f816(0xc3)]&&_0x5c4853[_0x53f816(0xc3)])return 0x1;if(_0x18ba79[_0x53f816(0xc3)]&&!_0x5c4853['prerelease'])return-0x1;return this[_0x53f816(0xa6)](_0x18ba79[_0x53f816(0xc3)],_0x5c4853['prerelease']);}['_comparePrerelease'](_0x4ad632,_0x556fb3){const _0x55fd3c=a0_0xbda7d4,_0x1c0f4b=Math[_0x55fd3c(0xc6)](_0x4ad632[_0x55fd3c(0xbb)],_0x556fb3[_0x55fd3c(0xbb)]);for(let _0xba6979=0x0;_0xba6979<_0x1c0f4b;_0xba6979++){if(_0xba6979>=_0x4ad632['length'])return-0x1;if(_0xba6979>=_0x556fb3[_0x55fd3c(0xbb)])return 0x1;const _0x14455d=_0x4ad632[_0xba6979],_0x2ae625=_0x556fb3[_0xba6979],_0x2f567a=/^\d+$/['test'](_0x14455d)?parseInt(_0x14455d,0xa):null,_0x1af856=/^\d+$/[_0x55fd3c(0xee)](_0x2ae625)?parseInt(_0x2ae625,0xa):null;if(_0x2f567a!==null&&_0x1af856!==null){if(_0x2f567a!==_0x1af856)return _0x2f567a-_0x1af856;continue;}if(_0x2f567a!==null&&_0x1af856===null)return-0x1;if(_0x2f567a===null&&_0x1af856!==null)return 0x1;if(_0x14455d<_0x2ae625)return-0x1;if(_0x14455d>_0x2ae625)return 0x1;}return 0x0;}[a0_0xbda7d4(0x116)](_0xbe834b){const _0x3c6bc2=a0_0xbda7d4,_0x4fe834=_0xbe834b[_0x3c6bc2(0xb2)](),_0x250f2c=/^(\d+|\*|x)(\.(\d+|\*|x))?(\.(\d+|\*|x))?$/i,_0x5d1d09=_0x250f2c['exec'](_0x4fe834);if(_0x5d1d09){const _0x482db6=_0x5d1d09[0x1],_0xcd574b=_0x5d1d09[0x3],_0x5ed672=_0x5d1d09[0x5],_0xecbe17=_0x482db6==='*'||_0x482db6[_0x3c6bc2(0xd1)]()==='x'||_0xcd574b===undefined||_0xcd574b==='*'||_0xcd574b['toLowerCase']()==='x'||_0x5ed672===undefined||_0x5ed672==='*'||_0x5ed672['toLowerCase']()==='x';if(_0xecbe17)return{'prefix':'','operator':_0x3c6bc2(0xd2),'major':_0x482db6==='*'||_0x482db6['toLowerCase']()==='x'?null:parseInt(_0x482db6,0xa),'minor':!_0xcd574b||_0xcd574b==='*'||_0xcd574b[_0x3c6bc2(0xd1)]()==='x'?null:parseInt(_0xcd574b,0xa),'patch':!_0x5ed672||_0x5ed672==='*'||_0x5ed672['toLowerCase']()==='x'?null:parseInt(_0x5ed672,0xa),'original':_0xbe834b};}let _0x496dd2='',_0x5702f3=_0x4fe834,_0x5235c1='=';if(_0x4fe834['startsWith']('^'))_0x496dd2='^',_0x5702f3=_0x4fe834['slice'](0x1),_0x5235c1='^';else{if(_0x4fe834['startsWith']('~'))_0x496dd2='~',_0x5702f3=_0x4fe834[_0x3c6bc2(0x11b)](0x1),_0x5235c1='~';else{if(_0x4fe834[_0x3c6bc2(0xfa)]('>='))_0x496dd2='>=',_0x5702f3=_0x4fe834[_0x3c6bc2(0x11b)](0x2)[_0x3c6bc2(0xb2)](),_0x5235c1='>=';else{if(_0x4fe834[_0x3c6bc2(0xfa)]('>'))_0x496dd2='>',_0x5702f3=_0x4fe834[_0x3c6bc2(0x11b)](0x1)['trim'](),_0x5235c1='>';else{if(_0x4fe834['startsWith']('<='))_0x496dd2='<=',_0x5702f3=_0x4fe834['slice'](0x2)['trim'](),_0x5235c1='<=';else _0x4fe834[_0x3c6bc2(0xfa)]('<')&&(_0x496dd2='<',_0x5702f3=_0x4fe834['slice'](0x1)[_0x3c6bc2(0xb2)](),_0x5235c1='<');}}}}const _0x54489c=this['_parseVersion'](_0x5702f3);if(!_0x54489c)return null;return{'prefix':_0x496dd2,'operator':_0x5235c1,'major':_0x54489c[_0x3c6bc2(0xbc)],'minor':_0x54489c[_0x3c6bc2(0x9f)],'patch':_0x54489c['patch'],'prerelease':_0x54489c[_0x3c6bc2(0xc3)],'build':_0x54489c['build'],'original':_0xbe834b};}[a0_0xbda7d4(0x117)](_0x32f4b1,_0x3ef78d){const _0x3ed852=a0_0xbda7d4,_0x216809={'major':_0x32f4b1['major'],'minor':_0x32f4b1[_0x3ed852(0x9f)],'patch':_0x32f4b1[_0x3ed852(0xf3)],'prerelease':_0x32f4b1[_0x3ed852(0xc3)]||null,'build':_0x32f4b1[_0x3ed852(0xef)]||null};switch(_0x32f4b1[_0x3ed852(0xa1)]){case'^':return this[_0x3ed852(0xd3)](_0x216809,_0x3ef78d);case'~':return this['_isTildeUpdateAvailable'](_0x216809,_0x3ef78d);case'>=':case'>':return this['_isSimpleUpdateAvailable'](_0x216809,_0x3ef78d);case'<':case'<=':return this[_0x3ed852(0x103)](_0x32f4b1,_0x3ef78d);case'x-range':return this[_0x3ed852(0xfd)](_0x32f4b1,_0x3ef78d);case'=':default:return this['_isExactUpdateAvailable'](_0x216809,_0x3ef78d);}}['_isCaretUpdateAvailable'](_0xf8c7d5,_0x42a554){const _0x591707=a0_0xbda7d4,_0x559ff3=this['_compareVersions'](_0x42a554,_0xf8c7d5);if(_0x559ff3<=0x0)return![];if(_0xf8c7d5[_0x591707(0xbc)]===0x0&&_0xf8c7d5[_0x591707(0x9f)]===0x0)return _0x42a554[_0x591707(0xbc)]===0x0&&_0x42a554['minor']===0x0;if(_0xf8c7d5['major']===0x0)return _0x42a554[_0x591707(0xbc)]===0x0&&_0x42a554['minor']===_0xf8c7d5[_0x591707(0x9f)];return _0x42a554['major']===_0xf8c7d5[_0x591707(0xbc)];}[a0_0xbda7d4(0xf6)](_0x32fc69,_0x4de5dc){const _0x49db25=a0_0xbda7d4,_0x4cb0bc=this[_0x49db25(0x9e)](_0x4de5dc,_0x32fc69);if(_0x4cb0bc<=0x0)return![];return _0x4de5dc['major']===_0x32fc69['major']&&_0x4de5dc[_0x49db25(0x9f)]===_0x32fc69[_0x49db25(0x9f)];}[a0_0xbda7d4(0xb5)](_0x5c8e23,_0x535e73){const _0x267378=this['_compareVersions'](_0x535e73,_0x5c8e23);return _0x267378>0x0;}[a0_0xbda7d4(0xc2)](_0x48cbca,_0x1ab732){const _0x2f3b68=a0_0xbda7d4;return this[_0x2f3b68(0xb5)](_0x48cbca,_0x1ab732);}[a0_0xbda7d4(0x103)](_0x256c0e,_0x4c81fd){const _0x39eb9e=a0_0xbda7d4,_0x3b9fc8=this[_0x39eb9e(0x9e)](_0x4c81fd,_0x256c0e);if(_0x256c0e['operator']==='<')return _0x3b9fc8<0x0;else{if(_0x256c0e['operator']==='<=')return _0x3b9fc8<=0x0;}return![];}[a0_0xbda7d4(0xfd)](_0xfc694b,_0x954a9c){const _0x5ca211=a0_0xbda7d4;if(_0xfc694b[_0x5ca211(0xbc)]!==null&&_0x954a9c[_0x5ca211(0xbc)]!==_0xfc694b[_0x5ca211(0xbc)])return![];if(_0xfc694b['minor']!==null&&_0x954a9c[_0x5ca211(0x9f)]!==_0xfc694b['minor'])return![];if(_0xfc694b[_0x5ca211(0xf3)]!==null&&_0x954a9c['patch']!==_0xfc694b['patch'])return![];return!![];}['_isComplexRange'](_0x3239e1){const _0x427b0d=a0_0xbda7d4;if(_0x3239e1[_0x427b0d(0xdc)]('||'))return!![];const _0x542b2a=_0x3239e1['trim']();if(_0x542b2a[_0x427b0d(0xfa)]('^')||_0x542b2a['startsWith']('~'))return![];const _0x31641f=_0x542b2a[_0x427b0d(0xfb)](/\s+/)[_0x427b0d(0xb7)](_0x2c1e40=>_0x2c1e40['length']>0x0);if(_0x31641f[_0x427b0d(0xbb)]>0x1){const _0x163c4a=/^(>=?|<=?|\^|~|[0-9])/;return _0x31641f['every'](_0x208ae1=>_0x163c4a['test'](_0x208ae1));}return![];}[a0_0xbda7d4(0x113)](_0x10da05){const _0x45c01b=a0_0xbda7d4;if(_0x10da05['includes']('||')){const _0x31a872=_0x10da05[_0x45c01b(0xfb)]('||')[_0x45c01b(0xcf)](_0xc66558=>_0xc66558['trim']());return{'type':'or','ranges':_0x31a872['map'](_0x3522d4=>this[_0x45c01b(0x113)](_0x3522d4))};}const _0x126f22=_0x10da05[_0x45c01b(0xb2)]()['split'](/\s+/)[_0x45c01b(0xb7)](_0x5ebd2c=>_0x5ebd2c[_0x45c01b(0xbb)]>0x0);if(_0x126f22[_0x45c01b(0xbb)]>0x1)return{'type':_0x45c01b(0xc8),'ranges':_0x126f22[_0x45c01b(0xcf)](_0x2d435f=>this['_parseVersionRange'](_0x2d435f))};return{'type':'simple','range':this['_parseVersionRange'](_0x10da05)};}['_satisfiesRange'](_0x122b54,_0x1dda86){if(!_0x122b54||!_0x1dda86)return![];return this['_isUpdateAvailable'](_0x122b54,_0x1dda86);}['_satisfiesComplexRange'](_0x2cc755,_0x55e296){const _0x12b80b=a0_0xbda7d4;if(!_0x2cc755||!_0x55e296)return![];switch(_0x2cc755[_0x12b80b(0xa2)]){case _0x12b80b(0xab):return this[_0x12b80b(0xd6)](_0x2cc755['range'],_0x55e296);case _0x12b80b(0xc8):return _0x2cc755['ranges'][_0x12b80b(0xe2)](_0x536172=>this['_satisfiesRange'](_0x536172,_0x55e296));case'or':return _0x2cc755[_0x12b80b(0xa8)][_0x12b80b(0xdf)](_0x34e0e9=>this[_0x12b80b(0x115)](_0x34e0e9,_0x55e296));default:return![];}}async[a0_0xbda7d4(0x10d)](_0x17b15f){const _0x4da515=a0_0xbda7d4,_0x122dcc={},_0x449754=Object['entries'](_0x17b15f);for(let _0x3c4620=0x0;_0x3c4620<_0x449754[_0x4da515(0xbb)];_0x3c4620+=RESOLVER_CONFIG['MAX_CONCURRENT_CHECKS']){const _0x3b2836=_0x449754[_0x4da515(0x11b)](_0x3c4620,_0x3c4620+RESOLVER_CONFIG[_0x4da515(0xd8)]),_0x176293=_0x3b2836['map'](async([_0x2067d5,_0x392929])=>{const _0x5948ed=_0x4da515;try{const _0x2f5ee6=await this[_0x5948ed(0xe8)](_0x2067d5,_0x392929);if(_0x2f5ee6){const _0x52fda5=_0x392929[_0x5948ed(0x101)](/^[\^~]/)?.[0x0]||'^';return{'pkg':_0x2067d5,'newVersion':''+_0x52fda5+_0x2f5ee6,'oldVersion':_0x392929};}return null;}catch(_0x64c9cc){return this['logger']?.['error']('Error\x20checking\x20'+_0x2067d5+':',_0x64c9cc['message']),null;}}),_0x2893d6=await Promise[_0x4da515(0xb6)](_0x176293);_0x2893d6[_0x4da515(0x104)](_0x29b20e=>{_0x29b20e&&(_0x122dcc[_0x29b20e['pkg']]=_0x29b20e['newVersion']);});}return _0x122dcc;}async['execute'](_0x3c2fb0,_0x45bdcf={}){const _0x5c2fae=a0_0xbda7d4;try{this[_0x5c2fae(0x109)](_0x3c2fb0);const {path:_0x4047b8,mode:_0x47ba1a,includeDev:_0x51a4d3}=_0x3c2fb0,{projectDir:_0x49e4b6,agentId:_0x12237a,directoryAccess:_0x1908ad}=_0x45bdcf,_0x49c42d=this[_0x5c2fae(0xda)](_0x4047b8,_0x45bdcf),_0x243434=a0_0xfd3da3['join'](_0x49c42d,'package.json');this['logger']?.[_0x5c2fae(0xea)]('Dependency\x20resolver\x20executing',{'mode':_0x47ba1a,'resolvedPath':_0x49c42d,'includeDev':_0x51a4d3,'agentId':_0x12237a});const _0x4872b8=[];_0x4872b8['push'](_0x5c2fae(0xf7)+_0x49c42d),_0x4872b8[_0x5c2fae(0xfc)]('Mode:\x20'+_0x47ba1a);try{await a0_0x4ffdd1[_0x5c2fae(0x106)](_0x243434);}catch{return{'success':![],'error':'No\x20package.json\x20found\x20at:\x20'+_0x243434,'output':_0x4872b8[_0x5c2fae(0xd5)]('\x0a')};}_0x4872b8['push']('\x0a📦\x20Reading\x20package.json...');const _0x27a66e=await a0_0x4ffdd1['readFile'](_0x243434,'utf-8'),_0x43d6cc=JSON['parse'](_0x27a66e),_0x3f97db={..._0x43d6cc[_0x5c2fae(0xbf)]};_0x51a4d3&&_0x43d6cc['devDependencies']&&Object[_0x5c2fae(0xa5)](_0x3f97db,_0x43d6cc['devDependencies']);if(Object['keys'](_0x3f97db)['length']===0x0)return{'success':!![],'mode':_0x47ba1a,'message':_0x5c2fae(0xf9),'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'output':_0x4872b8[_0x5c2fae(0xd5)]('\x0a')};if(Object[_0x5c2fae(0xcc)](_0x3f97db)['length']>RESOLVER_CONFIG['MAX_DEPENDENCIES'])return{'success':![],'error':_0x5c2fae(0xc0)+Object[_0x5c2fae(0xcc)](_0x3f97db)[_0x5c2fae(0xbb)]+'),\x20max\x20allowed:\x20'+RESOLVER_CONFIG['MAX_DEPENDENCIES'],'output':_0x4872b8[_0x5c2fae(0xd5)]('\x0a')};_0x4872b8[_0x5c2fae(0xfc)](_0x5c2fae(0xb8)+Object['keys'](_0x3f97db)[_0x5c2fae(0xbb)]+'\x20dependencies\x20to\x20check'),_0x4872b8[_0x5c2fae(0xfc)](_0x5c2fae(0x10f));const _0x479918=await this[_0x5c2fae(0x10d)](_0x3f97db);_0x4872b8['push'](_0x5c2fae(0x108)),_0x4872b8[_0x5c2fae(0xfc)]('📈\x20Updates\x20available:\x20'+Object[_0x5c2fae(0xcc)](_0x479918)[_0x5c2fae(0xbb)]);if(Object[_0x5c2fae(0xcc)](_0x479918)['length']>0x0){_0x4872b8[_0x5c2fae(0xfc)](_0x5c2fae(0xd0));for(const [_0x56dbe2,_0x10ee3e]of Object[_0x5c2fae(0x10b)](_0x479918)){const _0x8da24b=_0x3f97db[_0x56dbe2];_0x4872b8['push']('\x20\x20•\x20'+_0x56dbe2+':\x20'+_0x8da24b+_0x5c2fae(0x10a)+_0x10ee3e);}}else _0x4872b8['push']('\x0a🎉\x20All\x20dependencies\x20are\x20up-to-date!');if(_0x47ba1a===_0x5c2fae(0xba))return Object[_0x5c2fae(0xcc)](_0x479918)['length']>0x0&&_0x4872b8[_0x5c2fae(0xfc)]('\x0a💡\x20Run\x20with\x20mode=\x22fix\x22\x20or\x20mode=\x22auto\x22\x20to\x20apply\x20updates'),{'success':!![],'mode':_0x5c2fae(0xba),'message':'Found\x20'+Object['keys'](_0x479918)[_0x5c2fae(0xbb)]+_0x5c2fae(0xc1),'statistics':{'totalDependencies':Object[_0x5c2fae(0xcc)](_0x3f97db)[_0x5c2fae(0xbb)],'updatesAvailable':Object[_0x5c2fae(0xcc)](_0x479918)[_0x5c2fae(0xbb)],'updatesApplied':0x0,'errors':0x0},'updates':_0x479918,'output':_0x4872b8['join']('\x0a')};if((_0x47ba1a===_0x5c2fae(0xb3)||_0x47ba1a==='auto')&&Object['keys'](_0x479918)[_0x5c2fae(0xbb)]>0x0){_0x4872b8['push']('\x0a💾\x20Creating\x20backup\x20of\x20package.json...');const _0x346708=await this[_0x5c2fae(0xaf)](_0x243434);_0x346708?_0x4872b8['push']('✅\x20Backup\x20created:\x20'+a0_0xfd3da3['basename'](_0x346708)):_0x4872b8['push']('⚠️\x20\x20Backup\x20creation\x20failed,\x20continuing\x20anyway...');_0x4872b8[_0x5c2fae(0xfc)](_0x5c2fae(0x9b));for(const [_0x45a59d,_0x540d17]of Object[_0x5c2fae(0x10b)](_0x479918)){_0x43d6cc['dependencies']?.[_0x45a59d]&&(_0x43d6cc[_0x5c2fae(0xbf)][_0x45a59d]=_0x540d17),_0x43d6cc[_0x5c2fae(0xec)]?.[_0x45a59d]&&(_0x43d6cc['devDependencies'][_0x45a59d]=_0x540d17);}await a0_0x4ffdd1['writeFile'](_0x243434,JSON[_0x5c2fae(0x118)](_0x43d6cc,null,0x2)+'\x0a'),_0x4872b8['push'](_0x5c2fae(0xad)),_0x4872b8[_0x5c2fae(0xfc)](_0x5c2fae(0xf0));try{const {stdout:_0x3c8cbf,stderr:_0x14af82}=await exec(_0x5c2fae(0xeb),{'cwd':_0x49c42d,'timeout':RESOLVER_CONFIG['NPM_COMMAND_TIMEOUT'],'maxBuffer':0x400*0x400*0xa});if(_0x3c8cbf){const _0x800629=_0x3c8cbf['trim']()['split']('\x0a');_0x800629['length']>0xa?_0x4872b8[_0x5c2fae(0xfc)]('\x20\x20'+_0x800629['slice'](-0x5)['join'](_0x5c2fae(0xbd))):_0x4872b8['push']('\x20\x20'+_0x3c8cbf['trim']());}_0x14af82&&!_0x14af82[_0x5c2fae(0xdc)](_0x5c2fae(0xac))&&_0x4872b8['push'](_0x5c2fae(0xed)+_0x14af82[_0x5c2fae(0xb2)]());_0x4872b8['push'](_0x5c2fae(0xb1));try{const {stdout:_0x4b0f13}=await exec('npm\x20ls\x20--depth=0\x20--json',{'cwd':_0x49c42d,'timeout':0x7530}),_0x2e487c=JSON[_0x5c2fae(0x105)](_0x4b0f13);if(_0x2e487c['dependencies']){_0x4872b8['push'](_0x5c2fae(0xcb));for(const _0x2c0c3f of Object[_0x5c2fae(0xcc)](_0x479918)){_0x2e487c['dependencies'][_0x2c0c3f]&&_0x4872b8[_0x5c2fae(0xfc)](_0x5c2fae(0xbe)+_0x2c0c3f+'@'+_0x2e487c[_0x5c2fae(0xbf)][_0x2c0c3f]['version']);}}}catch(_0x209fb0){this['logger']?.[_0x5c2fae(0xa3)]('npm\x20ls\x20failed:',_0x209fb0['message']);}return{'success':!![],'mode':_0x47ba1a,'message':'Successfully\x20updated\x20'+Object[_0x5c2fae(0xcc)](_0x479918)[_0x5c2fae(0xbb)]+'\x20package(s)','statistics':{'totalDependencies':Object['keys'](_0x3f97db)[_0x5c2fae(0xbb)],'updatesAvailable':Object['keys'](_0x479918)[_0x5c2fae(0xbb)],'updatesApplied':Object['keys'](_0x479918)[_0x5c2fae(0xbb)],'errors':0x0},'updates':_0x479918,'backupCreated':_0x346708!==null,'backupPath':_0x346708,'output':_0x4872b8['join']('\x0a')};}catch(_0x4a978e){_0x4872b8['push'](_0x5c2fae(0xa4)+_0x4a978e['message']);if(_0x346708)try{await a0_0x4ffdd1['copyFile'](_0x346708,_0x243434),_0x4872b8[_0x5c2fae(0xfc)]('\uD83D\uDD04 Restored package.json from backup');}catch(_0x52609d){_0x4872b8[_0x5c2fae(0xfc)]('⚠️\x20\x20Failed\x20to\x20restore\x20backup');}return{'success':![],'mode':_0x47ba1a,'error':'npm\x20install\x20failed:\x20'+_0x4a978e['message'],'statistics':{'totalDependencies':Object[_0x5c2fae(0xcc)](_0x3f97db)['length'],'updatesAvailable':Object['keys'](_0x479918)['length'],'updatesApplied':0x0,'errors':0x1},'updates':_0x479918,'backupCreated':_0x346708!==null,'output':_0x4872b8['join']('\x0a')};}}else{if(_0x47ba1a==='fix'||_0x47ba1a===_0x5c2fae(0xe0))return _0x4872b8['push'](_0x5c2fae(0xdd)),{'success':!![],'mode':_0x47ba1a,'message':_0x5c2fae(0xe6),'statistics':{'totalDependencies':Object[_0x5c2fae(0xcc)](_0x3f97db)['length'],'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'updates':{},'output':_0x4872b8[_0x5c2fae(0xd5)]('\x0a')};}}catch(_0x3ef6a0){return this['logger']?.['error'](_0x5c2fae(0xf5),_0x3ef6a0),{'success':![],'error':_0x3ef6a0['message'],'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x1},'output':_0x3ef6a0[_0x5c2fae(0xe1)]};}}}export default DependencyResolverTool;
1
+ const a0_0x4d676f=a0_0xbc45;(function(_0x118d32,_0x518bac){const _0x58829e=a0_0xbc45,_0x166c86=_0x118d32();while(!![]){try{const _0x3a12f4=parseInt(_0x58829e(0x130))/0x1*(-parseInt(_0x58829e(0xca))/0x2)+parseInt(_0x58829e(0xd9))/0x3*(parseInt(_0x58829e(0xef))/0x4)+-parseInt(_0x58829e(0x121))/0x5+-parseInt(_0x58829e(0xdc))/0x6*(parseInt(_0x58829e(0xc8))/0x7)+parseInt(_0x58829e(0x136))/0x8+-parseInt(_0x58829e(0xff))/0x9*(parseInt(_0x58829e(0xb9))/0xa)+parseInt(_0x58829e(0xee))/0xb*(parseInt(_0x58829e(0xda))/0xc);if(_0x3a12f4===_0x518bac)break;else _0x166c86['push'](_0x166c86['shift']());}catch(_0x3691d3){_0x166c86['push'](_0x166c86['shift']());}}}(a0_0x4221,0x51469));import{promises as a0_0xea59a8}from'fs';import a0_0x4dd6b6 from'path';import{exec as a0_0x7adf81}from'child_process';import{promisify}from'util';import{BaseTool}from'./baseTool.js';import a0_0x55c15f from'../utilities/tagParser.js';const exec=promisify(a0_0x7adf81),RESOLVER_CONFIG={'DEFAULT_MODE':'check','VALID_MODES':['check','fix',a0_0x4d676f(0x11a)],'NPM_COMMAND_TIMEOUT':0x493e0,'REGISTRY_TIMEOUT':0x2710,'MAX_CONCURRENT_CHECKS':0x5,'BACKUP_EXTENSION':a0_0x4d676f(0xde),'CREATE_BACKUPS':!![],'RETRY_ATTEMPTS':0x3,'RETRY_DELAY':0x3e8,'MAX_DEPENDENCIES':0x1f4,'NPM_REGISTRY_URL':a0_0x4d676f(0xd5)};export class DependencyResolverTool extends BaseTool{[a0_0x4d676f(0x135)](){return'Tool:\x20Dependency\x20Resolver\x20-\x20Resolve\x20Node.js\x20package\x20dependency\x20conflicts\x0a\x0a**Purpose:**\x20Checks\x20npm\x20dependencies\x20for\x20updates\x20and\x20optionally\x20updates\x20package.json\x20to\x20latest\x20compatible\x20versions\x20automatically.\x0a\x0a**Invocation\x20Syntax:**\x0a\x0aXML\x20Format:\x0a```xml\x0a<dependency-resolve>\x0a\x20\x20<path>./my-project</path>\x0a\x20\x20<mode>check</mode>\x0a\x20\x20<include-dev>true</include-dev>\x0a</dependency-resolve>\x0a```\x0a\x0aJSON\x20Format:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22dependency-resolver\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22path\x22:\x20\x22./my-project\x22,\x0a\x20\x20\x20\x20\x22mode\x22:\x20\x22check\x22,\x0a\x20\x20\x20\x20\x22includeDev\x22:\x20true\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**path**\x20(string,\x20optional):\x20Path\x20to\x20project\x20directory\x20with\x20package.json.\x20Default:\x20\x22.\x22\x0a-\x20**mode**\x20(string,\x20optional):\x20Operation\x20mode.\x20Options:\x0a\x20\x20-\x20\x22check\x22\x20-\x20Only\x20check\x20for\x20updates\x20(default)\x0a\x20\x20-\x20\x22fix\x22\x20-\x20Update\x20package.json\x20and\x20run\x20npm\x20install\x0a\x20\x20-\x20\x22auto\x22\x20-\x20Automatically\x20fix\x20all\x20conflicts\x0a-\x20**includeDev**\x20(boolean,\x20optional):\x20Include\x20devDependencies.\x20Default:\x20true\x0a\x0a**What\x20It\x20Does:**\x0a-\x20Checks\x20npm\x20registry\x20for\x20latest\x20compatible\x20versions\x0a-\x20Respects\x20semver\x20ranges\x20(^,\x20~,\x20>=,\x20etc.)\x0a-\x20Creates\x20automatic\x20backups\x20before\x20modifications\x0a-\x20Runs\x20npm\x20install\x20after\x20updates\x20(in\x20fix/auto\x20mode)\x0a-\x20Provides\x20detailed\x20update\x20report\x0a\x0a**Examples:**\x0a\x0a1.\x20Check\x20for\x20updates:\x0a```xml\x0a<dependency-resolver>\x0a\x20\x20<mode>check</mode>\x0a</dependency-resolver>\x0a```\x0a\x0a2.\x20Fix\x20outdated\x20dependencies:\x0a```xml\x0a<dependency-resolver>\x0a\x20\x20<path>./my-project</path>\x0a\x20\x20<mode>fix</mode>\x0a</dependency-resolver>\x0a```\x0a\x0a3.\x20Auto-fix\x20with\x20devDependencies:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22dependency-resolver\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22mode\x22:\x20\x22auto\x22,\x20\x22includeDev\x22:\x20true\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Always\x20creates\x20backup\x20(.backup.json)\x20before\x20modifications\x0a-\x20Network\x20requests\x20have\x20timeout\x20and\x20retry\x20logic\x0a-\x20npm\x20install\x20runs\x20with\x20timeout\x20protection\x20(5\x20minutes\x20max)\x0a-\x20Supports\x20complex\x20semver\x20ranges\x20(||,\x20&&,\x20etc.)';}['parseParameters'](_0x308f82){const _0x3df02b=a0_0x4d676f;if(typeof _0x308f82==='object'&&_0x308f82!==null)return{'path':_0x308f82['path']||'.','mode':_0x308f82[_0x3df02b(0x112)]||RESOLVER_CONFIG[_0x3df02b(0xc5)],'includeDev':_0x308f82[_0x3df02b(0xfc)]!==undefined?_0x308f82[_0x3df02b(0xfc)]:!![]};if(typeof _0x308f82==='string'){const _0x1a4bc7=/<dependency-resolve([^>]*)>([\s\S]*?)<\/dependency-resolve>/i,_0x38842a=_0x1a4bc7[_0x3df02b(0xc9)](_0x308f82);if(_0x38842a){const _0x74d67d=_0x38842a[0x1],_0x5ec7f1=_0x38842a[0x2],_0xd08d96=/path=["']([^"']*)["']/i[_0x3df02b(0xc9)](_0x74d67d),_0x338995=/mode=["']([^"']*)["']/i[_0x3df02b(0xc9)](_0x74d67d),_0x5b15d7=/include-dev=["']([^"']*)["']/i[_0x3df02b(0xc9)](_0x74d67d),_0x291a0e=/<path>(.*?)<\/path>/i,_0x4fadee=_0x291a0e[_0x3df02b(0xc9)](_0x5ec7f1),_0x55c3cb=/<mode>(.*?)<\/mode>/i,_0x35ec96=_0x55c3cb[_0x3df02b(0xc9)](_0x5ec7f1),_0x9a2e3a=/<include-dev>(.*?)<\/include-dev>/i,_0x4d0808=_0x9a2e3a[_0x3df02b(0xc9)](_0x5ec7f1),_0x2d8747=(_0x4fadee?_0x4fadee[0x1]['trim']():null)||(_0xd08d96?_0xd08d96[0x1]:'.'),_0x52a4c1=(_0x35ec96?_0x35ec96[0x1]['trim']():null)||(_0x338995?_0x338995[0x1]:RESOLVER_CONFIG['DEFAULT_MODE']),_0x3aee4a=(_0x4d0808?_0x4d0808[0x1]['trim']():null)||(_0x5b15d7?_0x5b15d7[0x1]:'true');return{'path':_0x2d8747,'mode':_0x52a4c1,'includeDev':this['_parseBoolean'](_0x3aee4a,!![])};}const _0x3fa9ae=/\[resolve\s+([^\]]*)\]/i,_0xd4c146=_0x3fa9ae['exec'](_0x308f82);if(_0xd4c146){const _0x435ce7=_0xd4c146[0x1],_0xd14877=/path=["']([^"']*)["']/i[_0x3df02b(0xc9)](_0x435ce7),_0x4e04db=/mode=["']([^"']*)["']/i['exec'](_0x435ce7),_0x46cd08=/include-dev=["']([^"']*)["']/i['exec'](_0x435ce7);return{'path':_0xd14877?_0xd14877[0x1]:'.','mode':_0x4e04db?_0x4e04db[0x1]:RESOLVER_CONFIG['DEFAULT_MODE'],'includeDev':this['_parseBoolean'](_0x46cd08?_0x46cd08[0x1]:_0x3df02b(0x12f),!![])};}throw new Error(_0x3df02b(0xe6));}throw new Error(_0x3df02b(0x113));}[a0_0x4d676f(0xbc)](_0x3c7f75,defaultValue=![]){const _0x19414a=a0_0x4d676f;if(_0x3c7f75===undefined||_0x3c7f75===null)return defaultValue;if(typeof _0x3c7f75==='boolean')return _0x3c7f75;if(typeof _0x3c7f75===_0x19414a(0x11e))return _0x3c7f75['toLowerCase']()==='true'||_0x3c7f75==='1';return defaultValue;}['_validateParameters'](_0x5469c4){const _0x35388a=a0_0x4d676f;if(!_0x5469c4||typeof _0x5469c4!==_0x35388a(0x134))throw new Error(_0x35388a(0x110));if(_0x5469c4[_0x35388a(0x122)]&&typeof _0x5469c4['path']!==_0x35388a(0x11e))throw new Error('path\x20must\x20be\x20a\x20string');if(_0x5469c4['mode']&&!RESOLVER_CONFIG[_0x35388a(0x119)]['includes'](_0x5469c4[_0x35388a(0x112)]))throw new Error(_0x35388a(0x11b)+_0x5469c4[_0x35388a(0x112)]+'.\x20Must\x20be\x20one\x20of:\x20'+RESOLVER_CONFIG['VALID_MODES']['join'](',\x20'));if(_0x5469c4['includeDev']!==undefined&&typeof _0x5469c4[_0x35388a(0xfc)]!==_0x35388a(0xea))throw new Error('includeDev\x20must\x20be\x20a\x20boolean');}[a0_0x4d676f(0xce)](_0x21d6d3,_0x1cde1b){const _0x6e63d1=a0_0x4d676f,{projectDir:_0xe2181d,directoryAccess:_0x4a3f93}=_0x1cde1b;let _0x322c26=_0xe2181d||process['cwd']();_0x4a3f93&&_0x4a3f93[_0x6e63d1(0xec)]&&(_0x322c26=_0x4a3f93[_0x6e63d1(0xec)]);const _0x3aff16=a0_0x4dd6b6[_0x6e63d1(0xcb)](_0x21d6d3)?a0_0x4dd6b6[_0x6e63d1(0xd8)](_0x21d6d3):a0_0x4dd6b6[_0x6e63d1(0xd8)](a0_0x4dd6b6[_0x6e63d1(0xe7)](_0x322c26,_0x21d6d3)),_0x2c58f3=a0_0x4dd6b6['normalize'](_0x322c26);if(!_0x3aff16[_0x6e63d1(0xc4)](_0x2c58f3))throw new Error(_0x6e63d1(0xf8)+_0x21d6d3+'\x20resolves\x20outside\x20working\x20directory');return _0x3aff16;}async['_createBackup'](_0xe54805){const _0x99e159=a0_0x4d676f;if(!RESOLVER_CONFIG['CREATE_BACKUPS'])return null;try{const _0x3a5db4=_0xe54805+RESOLVER_CONFIG['BACKUP_EXTENSION'];return await a0_0xea59a8[_0x99e159(0xc7)](_0xe54805,_0x3a5db4),this['logger']?.['info']('Created\x20backup',{'backupPath':_0x3a5db4}),_0x3a5db4;}catch(_0x37d16c){return this['logger']?.[_0x99e159(0xc2)]('Failed\x20to\x20create\x20backup',{'error':_0x37d16c['message']}),null;}}async[a0_0x4d676f(0x10a)](_0x41139e){const _0x2e2456=a0_0x4d676f,_0x5450e1=RESOLVER_CONFIG['NPM_REGISTRY_URL']+'/'+encodeURIComponent(_0x41139e);for(let _0x31c0e3=0x1;_0x31c0e3<=RESOLVER_CONFIG['RETRY_ATTEMPTS'];_0x31c0e3++){try{const _0x36a683=new AbortController(),_0x470755=setTimeout(()=>_0x36a683[_0x2e2456(0x129)](),RESOLVER_CONFIG[_0x2e2456(0x12a)]),_0x43bdae=await fetch(_0x5450e1,{'signal':_0x36a683['signal']});clearTimeout(_0x470755);if(!_0x43bdae['ok']){if(_0x43bdae[_0x2e2456(0xfd)]===0x194)return this['logger']?.['warn'](_0x2e2456(0xd6)+_0x41139e),null;throw new Error('HTTP\x20'+_0x43bdae['status']+':\x20'+_0x43bdae['statusText']);}const _0x5e1447=await _0x43bdae['json']();if(!_0x5e1447||typeof _0x5e1447!==_0x2e2456(0x134)||!_0x5e1447['dist-tags'])throw new Error(_0x2e2456(0xf2));return _0x5e1447;}catch(_0x315cc1){if(_0x31c0e3<RESOLVER_CONFIG['RETRY_ATTEMPTS'])this[_0x2e2456(0xf1)]?.['debug'](_0x2e2456(0xe5)+_0x31c0e3+'/'+RESOLVER_CONFIG['RETRY_ATTEMPTS']+_0x2e2456(0xb6)+_0x41139e),await new Promise(_0x4ae213=>setTimeout(_0x4ae213,RESOLVER_CONFIG['RETRY_DELAY']*_0x31c0e3));else return this['logger']?.[_0x2e2456(0x105)](_0x2e2456(0x111)+_0x41139e+':',_0x315cc1[_0x2e2456(0xb3)]),null;}}return null;}async[a0_0x4d676f(0x11f)](_0x304483,_0x5e7c36){const _0x471672=a0_0x4d676f,_0x264c4d=await this[_0x471672(0x10a)](_0x304483);if(!_0x264c4d)return null;const _0x12bccc=_0x264c4d['dist-tags']?.['latest'];if(!_0x12bccc)return null;const _0x58cc51=this[_0x471672(0x12d)](_0x12bccc);if(!_0x58cc51)return null;if(this[_0x471672(0xe3)](_0x5e7c36)){const _0x59a41e=this['_parseComplexRange'](_0x5e7c36),_0x438749=this[_0x471672(0x12b)](_0x59a41e,_0x58cc51);if(_0x438749)return _0x12bccc;return null;}const _0x4d2f29=this['_parseVersionRange'](_0x5e7c36);if(!_0x4d2f29)return null;const _0x5af244=this[_0x471672(0xbe)](_0x4d2f29,_0x58cc51);if(_0x5af244)return _0x4d2f29['prefix']+_0x12bccc;return null;}[a0_0x4d676f(0x12d)](_0x95fffa){const _0x2d2df0=a0_0x4d676f,_0x56aae8=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/,_0x3d1c76=_0x56aae8[_0x2d2df0(0xc9)](_0x95fffa);if(!_0x3d1c76){const _0x6ced9b=_0x95fffa[_0x2d2df0(0xcf)](/^(\d+)\.(\d+)\.(\d+)/);if(_0x6ced9b)return{'major':parseInt(_0x6ced9b[0x1],0xa),'minor':parseInt(_0x6ced9b[0x2],0xa),'patch':parseInt(_0x6ced9b[0x3],0xa),'prerelease':null,'build':null};return null;}return{'major':parseInt(_0x3d1c76[0x1],0xa),'minor':parseInt(_0x3d1c76[0x2],0xa),'patch':parseInt(_0x3d1c76[0x3],0xa),'prerelease':_0x3d1c76[0x4]?_0x3d1c76[0x4][_0x2d2df0(0x125)]('.'):null,'build':_0x3d1c76[0x5]||null};}[a0_0x4d676f(0xba)](_0x2e5a7e,_0x214e64){const _0x5b9940=a0_0x4d676f;if(_0x2e5a7e[_0x5b9940(0x114)]!==_0x214e64['major'])return _0x2e5a7e[_0x5b9940(0x114)]-_0x214e64[_0x5b9940(0x114)];if(_0x2e5a7e[_0x5b9940(0xdf)]!==_0x214e64[_0x5b9940(0xdf)])return _0x2e5a7e['minor']-_0x214e64[_0x5b9940(0xdf)];if(_0x2e5a7e['patch']!==_0x214e64[_0x5b9940(0xeb)])return _0x2e5a7e[_0x5b9940(0xeb)]-_0x214e64[_0x5b9940(0xeb)];if(!_0x2e5a7e['prerelease']&&!_0x214e64[_0x5b9940(0xb5)])return 0x0;if(!_0x2e5a7e[_0x5b9940(0xb5)]&&_0x214e64[_0x5b9940(0xb5)])return 0x1;if(_0x2e5a7e[_0x5b9940(0xb5)]&&!_0x214e64[_0x5b9940(0xb5)])return-0x1;return this[_0x5b9940(0xfe)](_0x2e5a7e[_0x5b9940(0xb5)],_0x214e64['prerelease']);}['_comparePrerelease'](_0x5788b3,_0x1b9dae){const _0x4ed764=a0_0x4d676f,_0x51c69a=Math[_0x4ed764(0xbf)](_0x5788b3['length'],_0x1b9dae['length']);for(let _0x3934ea=0x0;_0x3934ea<_0x51c69a;_0x3934ea++){if(_0x3934ea>=_0x5788b3[_0x4ed764(0xfa)])return-0x1;if(_0x3934ea>=_0x1b9dae[_0x4ed764(0xfa)])return 0x1;const _0x5b6d69=_0x5788b3[_0x3934ea],_0x2494f8=_0x1b9dae[_0x3934ea],_0x479328=/^\d+$/[_0x4ed764(0x108)](_0x5b6d69)?parseInt(_0x5b6d69,0xa):null,_0x3c8ead=/^\d+$/['test'](_0x2494f8)?parseInt(_0x2494f8,0xa):null;if(_0x479328!==null&&_0x3c8ead!==null){if(_0x479328!==_0x3c8ead)return _0x479328-_0x3c8ead;continue;}if(_0x479328!==null&&_0x3c8ead===null)return-0x1;if(_0x479328===null&&_0x3c8ead!==null)return 0x1;if(_0x5b6d69<_0x2494f8)return-0x1;if(_0x5b6d69>_0x2494f8)return 0x1;}return 0x0;}['_parseVersionRange'](_0x36ac04){const _0x119861=a0_0x4d676f,_0x23a0d1=_0x36ac04[_0x119861(0x109)](),_0x562978=/^(\d+|\*|x)(\.(\d+|\*|x))?(\.(\d+|\*|x))?$/i,_0x3a90fd=_0x562978[_0x119861(0xc9)](_0x23a0d1);if(_0x3a90fd){const _0x16ebf4=_0x3a90fd[0x1],_0x44158d=_0x3a90fd[0x3],_0x4edf45=_0x3a90fd[0x5],_0x5e2f62=_0x16ebf4==='*'||_0x16ebf4['toLowerCase']()==='x'||_0x44158d===undefined||_0x44158d==='*'||_0x44158d[_0x119861(0xc6)]()==='x'||_0x4edf45===undefined||_0x4edf45==='*'||_0x4edf45['toLowerCase']()==='x';if(_0x5e2f62)return{'prefix':'','operator':'x-range','major':_0x16ebf4==='*'||_0x16ebf4[_0x119861(0xc6)]()==='x'?null:parseInt(_0x16ebf4,0xa),'minor':!_0x44158d||_0x44158d==='*'||_0x44158d['toLowerCase']()==='x'?null:parseInt(_0x44158d,0xa),'patch':!_0x4edf45||_0x4edf45==='*'||_0x4edf45['toLowerCase']()==='x'?null:parseInt(_0x4edf45,0xa),'original':_0x36ac04};}let _0x1e7212='',_0x3dea0a=_0x23a0d1,_0x4a128f='=';if(_0x23a0d1[_0x119861(0xc4)]('^'))_0x1e7212='^',_0x3dea0a=_0x23a0d1[_0x119861(0xcd)](0x1),_0x4a128f='^';else{if(_0x23a0d1[_0x119861(0xc4)]('~'))_0x1e7212='~',_0x3dea0a=_0x23a0d1['slice'](0x1),_0x4a128f='~';else{if(_0x23a0d1[_0x119861(0xc4)]('>='))_0x1e7212='>=',_0x3dea0a=_0x23a0d1[_0x119861(0xcd)](0x2)['trim'](),_0x4a128f='>=';else{if(_0x23a0d1[_0x119861(0xc4)]('>'))_0x1e7212='>',_0x3dea0a=_0x23a0d1['slice'](0x1)[_0x119861(0x109)](),_0x4a128f='>';else{if(_0x23a0d1['startsWith']('<='))_0x1e7212='<=',_0x3dea0a=_0x23a0d1['slice'](0x2)['trim'](),_0x4a128f='<=';else _0x23a0d1[_0x119861(0xc4)]('<')&&(_0x1e7212='<',_0x3dea0a=_0x23a0d1[_0x119861(0xcd)](0x1)['trim'](),_0x4a128f='<');}}}}const _0x202107=this[_0x119861(0x12d)](_0x3dea0a);if(!_0x202107)return null;return{'prefix':_0x1e7212,'operator':_0x4a128f,'major':_0x202107[_0x119861(0x114)],'minor':_0x202107[_0x119861(0xdf)],'patch':_0x202107[_0x119861(0xeb)],'prerelease':_0x202107['prerelease'],'build':_0x202107[_0x119861(0xc0)],'original':_0x36ac04};}[a0_0x4d676f(0xbe)](_0x4ab6b2,_0xec6f6c){const _0x156dff=a0_0x4d676f,_0x7fa71c={'major':_0x4ab6b2['major'],'minor':_0x4ab6b2['minor'],'patch':_0x4ab6b2[_0x156dff(0xeb)],'prerelease':_0x4ab6b2['prerelease']||null,'build':_0x4ab6b2[_0x156dff(0xc0)]||null};switch(_0x4ab6b2[_0x156dff(0xf4)]){case'^':return this['_isCaretUpdateAvailable'](_0x7fa71c,_0xec6f6c);case'~':return this[_0x156dff(0xbd)](_0x7fa71c,_0xec6f6c);case'>=':case'>':return this[_0x156dff(0x116)](_0x7fa71c,_0xec6f6c);case'<':case'<=':return this[_0x156dff(0xe1)](_0x4ab6b2,_0xec6f6c);case _0x156dff(0xed):return this[_0x156dff(0xb2)](_0x4ab6b2,_0xec6f6c);case'=':default:return this['_isExactUpdateAvailable'](_0x7fa71c,_0xec6f6c);}}['_isCaretUpdateAvailable'](_0x5260f5,_0x45e0b7){const _0x2fbd7c=a0_0x4d676f,_0x13891a=this[_0x2fbd7c(0xba)](_0x45e0b7,_0x5260f5);if(_0x13891a<=0x0)return![];if(_0x5260f5[_0x2fbd7c(0x114)]===0x0&&_0x5260f5[_0x2fbd7c(0xdf)]===0x0)return _0x45e0b7[_0x2fbd7c(0x114)]===0x0&&_0x45e0b7['minor']===0x0;if(_0x5260f5['major']===0x0)return _0x45e0b7[_0x2fbd7c(0x114)]===0x0&&_0x45e0b7['minor']===_0x5260f5[_0x2fbd7c(0xdf)];return _0x45e0b7['major']===_0x5260f5[_0x2fbd7c(0x114)];}[a0_0x4d676f(0xbd)](_0x4e11bd,_0x25c439){const _0x56479a=a0_0x4d676f,_0xa8e8b=this[_0x56479a(0xba)](_0x25c439,_0x4e11bd);if(_0xa8e8b<=0x0)return![];return _0x25c439['major']===_0x4e11bd['major']&&_0x25c439['minor']===_0x4e11bd['minor'];}[a0_0x4d676f(0x116)](_0x135c40,_0x3bc903){const _0x547ada=this['_compareVersions'](_0x3bc903,_0x135c40);return _0x547ada>0x0;}['_isExactUpdateAvailable'](_0xcf2d06,_0xe40541){const _0xcfd1b9=a0_0x4d676f;return this[_0xcfd1b9(0x116)](_0xcf2d06,_0xe40541);}['_isLessThanUpdateAvailable'](_0x264a21,_0x1ad97d){const _0xbdc0ea=a0_0x4d676f,_0x28e91d=this[_0xbdc0ea(0xba)](_0x1ad97d,_0x264a21);if(_0x264a21['operator']==='<')return _0x28e91d<0x0;else{if(_0x264a21['operator']==='<=')return _0x28e91d<=0x0;}return![];}[a0_0x4d676f(0xb2)](_0x5412d2,_0x3ed9c2){const _0x167144=a0_0x4d676f;if(_0x5412d2[_0x167144(0x114)]!==null&&_0x3ed9c2[_0x167144(0x114)]!==_0x5412d2[_0x167144(0x114)])return![];if(_0x5412d2['minor']!==null&&_0x3ed9c2['minor']!==_0x5412d2[_0x167144(0xdf)])return![];if(_0x5412d2[_0x167144(0xeb)]!==null&&_0x3ed9c2[_0x167144(0xeb)]!==_0x5412d2[_0x167144(0xeb)])return![];return!![];}['_isComplexRange'](_0x3671bf){const _0x521c0e=a0_0x4d676f;if(_0x3671bf['includes']('||'))return!![];const _0x554615=_0x3671bf[_0x521c0e(0x109)]();if(_0x554615[_0x521c0e(0xc4)]('^')||_0x554615[_0x521c0e(0xc4)]('~'))return![];const _0x3aa3ab=_0x554615[_0x521c0e(0x125)](/\s+/)[_0x521c0e(0xe2)](_0xea438c=>_0xea438c['length']>0x0);if(_0x3aa3ab['length']>0x1){const _0x3dc214=/^(>=?|<=?|\^|~|[0-9])/;return _0x3aa3ab[_0x521c0e(0xf0)](_0x588a27=>_0x3dc214[_0x521c0e(0x108)](_0x588a27));}return![];}['_parseComplexRange'](_0x1d03ff){const _0x1c6f11=a0_0x4d676f;if(_0x1d03ff['includes']('||')){const _0x224987=_0x1d03ff[_0x1c6f11(0x125)]('||')[_0x1c6f11(0xd4)](_0x1a128=>_0x1a128['trim']());return{'type':'or','ranges':_0x224987['map'](_0x4ed0c4=>this['_parseComplexRange'](_0x4ed0c4))};}const _0x1d8883=_0x1d03ff['trim']()[_0x1c6f11(0x125)](/\s+/)['filter'](_0x49f97b=>_0x49f97b[_0x1c6f11(0xfa)]>0x0);if(_0x1d8883['length']>0x1)return{'type':_0x1c6f11(0x106),'ranges':_0x1d8883['map'](_0x5d3ed8=>this[_0x1c6f11(0x10b)](_0x5d3ed8))};return{'type':_0x1c6f11(0xd3),'range':this['_parseVersionRange'](_0x1d03ff)};}[a0_0x4d676f(0xdb)](_0x2cc18d,_0x38fbb9){if(!_0x2cc18d||!_0x38fbb9)return![];return this['_isUpdateAvailable'](_0x2cc18d,_0x38fbb9);}['_satisfiesComplexRange'](_0x143a6f,_0x29c5ae){const _0x19a9b1=a0_0x4d676f;if(!_0x143a6f||!_0x29c5ae)return![];switch(_0x143a6f['type']){case'simple':return this['_satisfiesRange'](_0x143a6f[_0x19a9b1(0x133)],_0x29c5ae);case'and':return _0x143a6f[_0x19a9b1(0x128)][_0x19a9b1(0xf0)](_0x54e14f=>this['_satisfiesRange'](_0x54e14f,_0x29c5ae));case'or':return _0x143a6f[_0x19a9b1(0x128)]['some'](_0x528c0f=>this[_0x19a9b1(0x12b)](_0x528c0f,_0x29c5ae));default:return![];}}async['_checkDependencies'](_0x9638bb){const _0x1f810a=a0_0x4d676f,_0x10e0dd={},_0x546a89=Object['entries'](_0x9638bb);for(let _0x440dda=0x0;_0x440dda<_0x546a89[_0x1f810a(0xfa)];_0x440dda+=RESOLVER_CONFIG['MAX_CONCURRENT_CHECKS']){const _0x597840=_0x546a89[_0x1f810a(0xcd)](_0x440dda,_0x440dda+RESOLVER_CONFIG[_0x1f810a(0x102)]),_0x400bb8=_0x597840[_0x1f810a(0xd4)](async([_0x1477ec,_0x49bbb6])=>{const _0x583a53=_0x1f810a;try{const _0x1cc799=await this[_0x583a53(0x11f)](_0x1477ec,_0x49bbb6);if(_0x1cc799){const _0x5e2b05=_0x49bbb6[_0x583a53(0xcf)](/^[\^~]/)?.[0x0]||'^';return{'pkg':_0x1477ec,'newVersion':''+_0x5e2b05+_0x1cc799,'oldVersion':_0x49bbb6};}return null;}catch(_0x554363){return this[_0x583a53(0xf1)]?.[_0x583a53(0x105)]('Error\x20checking\x20'+_0x1477ec+':',_0x554363['message']),null;}}),_0x380654=await Promise[_0x1f810a(0x118)](_0x400bb8);_0x380654[_0x1f810a(0xd0)](_0x5dc219=>{_0x5dc219&&(_0x10e0dd[_0x5dc219['pkg']]=_0x5dc219['newVersion']);});}return _0x10e0dd;}async['execute'](_0x25aeac,_0x1443b9={}){const _0x3ab4a2=a0_0x4d676f;try{this['_validateParameters'](_0x25aeac);const {path:_0x52e7dc,mode:_0x316cd8,includeDev:_0x16f6f4}=_0x25aeac,{projectDir:_0x5f4f57,agentId:_0x2e85b3,directoryAccess:_0x2e3d1e}=_0x1443b9,_0xaf32ec=this['_resolveAndValidatePath'](_0x52e7dc,_0x1443b9),_0x9f8c58=a0_0x4dd6b6[_0x3ab4a2(0xe7)](_0xaf32ec,_0x3ab4a2(0xd7));this[_0x3ab4a2(0xf1)]?.[_0x3ab4a2(0x10f)]('Dependency\x20resolver\x20executing',{'mode':_0x316cd8,'resolvedPath':_0xaf32ec,'includeDev':_0x16f6f4,'agentId':_0x2e85b3});const _0x3b4acd=[];_0x3b4acd[_0x3ab4a2(0xdd)](_0x3ab4a2(0x127)+_0xaf32ec),_0x3b4acd['push'](_0x3ab4a2(0x124)+_0x316cd8);try{await a0_0xea59a8[_0x3ab4a2(0x12e)](_0x9f8c58);}catch{return{'success':![],'error':_0x3ab4a2(0xbb)+_0x9f8c58,'output':_0x3b4acd[_0x3ab4a2(0xe7)]('\x0a')};}_0x3b4acd[_0x3ab4a2(0xdd)](_0x3ab4a2(0xd2));const _0x32570e=await a0_0xea59a8['readFile'](_0x9f8c58,_0x3ab4a2(0x120)),_0x5326d0=JSON[_0x3ab4a2(0xe8)](_0x32570e),_0x2babb6={..._0x5326d0[_0x3ab4a2(0xc1)]};_0x16f6f4&&_0x5326d0[_0x3ab4a2(0x11d)]&&Object[_0x3ab4a2(0xe9)](_0x2babb6,_0x5326d0['devDependencies']);if(Object[_0x3ab4a2(0x11c)](_0x2babb6)['length']===0x0)return{'success':!![],'mode':_0x316cd8,'message':'No\x20dependencies\x20found\x20in\x20package.json','statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'output':_0x3b4acd[_0x3ab4a2(0xe7)]('\x0a')};if(Object['keys'](_0x2babb6)[_0x3ab4a2(0xfa)]>RESOLVER_CONFIG['MAX_DEPENDENCIES'])return{'success':![],'error':'Too\x20many\x20dependencies\x20('+Object['keys'](_0x2babb6)[_0x3ab4a2(0xfa)]+'),\x20max\x20allowed:\x20'+RESOLVER_CONFIG['MAX_DEPENDENCIES'],'output':_0x3b4acd['join']('\x0a')};_0x3b4acd['push'](_0x3ab4a2(0x132)+Object[_0x3ab4a2(0x11c)](_0x2babb6)[_0x3ab4a2(0xfa)]+'\x20dependencies\x20to\x20check'),_0x3b4acd['push']('🌐\x20Querying\x20npm\x20registry\x20for\x20updates...');const _0xec6407=await this['_checkDependencies'](_0x2babb6);_0x3b4acd[_0x3ab4a2(0xdd)]('\x0a✅\x20Registry\x20check\x20complete'),_0x3b4acd['push']('📈\x20Updates\x20available:\x20'+Object['keys'](_0xec6407)['length']);if(Object['keys'](_0xec6407)[_0x3ab4a2(0xfa)]>0x0){_0x3b4acd['push'](_0x3ab4a2(0x131));for(const [_0x4c3ac0,_0x5b83da]of Object[_0x3ab4a2(0x104)](_0xec6407)){const _0x3682aa=_0x2babb6[_0x4c3ac0];_0x3b4acd[_0x3ab4a2(0xdd)]('\x20\x20•\x20'+_0x4c3ac0+':\x20'+_0x3682aa+_0x3ab4a2(0xf5)+_0x5b83da);}}else _0x3b4acd['push'](_0x3ab4a2(0x103));if(_0x316cd8==='check')return Object['keys'](_0xec6407)['length']>0x0&&_0x3b4acd['push'](_0x3ab4a2(0x115)),{'success':!![],'mode':_0x3ab4a2(0xb7),'message':_0x3ab4a2(0x101)+Object[_0x3ab4a2(0x11c)](_0xec6407)['length']+_0x3ab4a2(0x12c),'statistics':{'totalDependencies':Object['keys'](_0x2babb6)['length'],'updatesAvailable':Object['keys'](_0xec6407)['length'],'updatesApplied':0x0,'errors':0x0},'updates':_0xec6407,'output':_0x3b4acd[_0x3ab4a2(0xe7)]('\x0a')};if((_0x316cd8==='fix'||_0x316cd8==='auto')&&Object['keys'](_0xec6407)['length']>0x0){_0x3b4acd['push'](_0x3ab4a2(0x10d));const _0x601057=await this[_0x3ab4a2(0xf7)](_0x9f8c58);_0x601057?_0x3b4acd['push'](_0x3ab4a2(0x10c)+a0_0x4dd6b6[_0x3ab4a2(0xc3)](_0x601057)):_0x3b4acd[_0x3ab4a2(0xdd)](_0x3ab4a2(0xf3));_0x3b4acd[_0x3ab4a2(0xdd)](_0x3ab4a2(0x107));for(const [_0x1d20c0,_0x1c6632]of Object['entries'](_0xec6407)){_0x5326d0[_0x3ab4a2(0xc1)]?.[_0x1d20c0]&&(_0x5326d0[_0x3ab4a2(0xc1)][_0x1d20c0]=_0x1c6632),_0x5326d0['devDependencies']?.[_0x1d20c0]&&(_0x5326d0['devDependencies'][_0x1d20c0]=_0x1c6632);}await a0_0xea59a8[_0x3ab4a2(0x10e)](_0x9f8c58,JSON[_0x3ab4a2(0xe0)](_0x5326d0,null,0x2)+'\x0a'),_0x3b4acd['push'](_0x3ab4a2(0xcc)),_0x3b4acd['push'](_0x3ab4a2(0x100));try{const {stdout:_0x552b56,stderr:_0x159053}=await exec(_0x3ab4a2(0xb1),{'cwd':_0xaf32ec,'timeout':RESOLVER_CONFIG['NPM_COMMAND_TIMEOUT'],'maxBuffer':0x400*0x400*0xa});if(_0x552b56){const _0x32edc9=_0x552b56[_0x3ab4a2(0x109)]()[_0x3ab4a2(0x125)]('\x0a');_0x32edc9[_0x3ab4a2(0xfa)]>0xa?_0x3b4acd['push']('\x20\x20'+_0x32edc9[_0x3ab4a2(0xcd)](-0x5)['join'](_0x3ab4a2(0xe4))):_0x3b4acd['push']('\x20\x20'+_0x552b56['trim']());}_0x159053&&!_0x159053[_0x3ab4a2(0xf6)](_0x3ab4a2(0x123))&&_0x3b4acd[_0x3ab4a2(0xdd)](_0x3ab4a2(0x117)+_0x159053[_0x3ab4a2(0x109)]());_0x3b4acd['push']('✅\x20Installation\x20complete');try{const {stdout:_0x28bef1}=await exec('npm\x20ls\x20--depth=0\x20--json',{'cwd':_0xaf32ec,'timeout':0x7530}),_0x3162df=JSON[_0x3ab4a2(0xe8)](_0x28bef1);if(_0x3162df[_0x3ab4a2(0xc1)]){_0x3b4acd['push'](_0x3ab4a2(0xfb));for(const _0x48f352 of Object[_0x3ab4a2(0x11c)](_0xec6407)){_0x3162df['dependencies'][_0x48f352]&&_0x3b4acd[_0x3ab4a2(0xdd)](_0x3ab4a2(0xb0)+_0x48f352+'@'+_0x3162df['dependencies'][_0x48f352][_0x3ab4a2(0xd1)]);}}}catch(_0x4364f1){this[_0x3ab4a2(0xf1)]?.['debug']('npm\x20ls\x20failed:',_0x4364f1['message']);}return{'success':!![],'mode':_0x316cd8,'message':'Successfully\x20updated\x20'+Object[_0x3ab4a2(0x11c)](_0xec6407)['length']+_0x3ab4a2(0xf9),'statistics':{'totalDependencies':Object[_0x3ab4a2(0x11c)](_0x2babb6)[_0x3ab4a2(0xfa)],'updatesAvailable':Object[_0x3ab4a2(0x11c)](_0xec6407)['length'],'updatesApplied':Object[_0x3ab4a2(0x11c)](_0xec6407)[_0x3ab4a2(0xfa)],'errors':0x0},'updates':_0xec6407,'backupCreated':_0x601057!==null,'backupPath':_0x601057,'output':_0x3b4acd[_0x3ab4a2(0xe7)]('\x0a')};}catch(_0x5bbff3){_0x3b4acd['push']('\x0a❌\x20npm\x20install\x20failed:\x20'+_0x5bbff3['message']);if(_0x601057)try{await a0_0xea59a8[_0x3ab4a2(0xc7)](_0x601057,_0x9f8c58),_0x3b4acd[_0x3ab4a2(0xdd)]('\uD83D\uDD04 Restored package.json from backup');}catch(_0x2063e1){_0x3b4acd[_0x3ab4a2(0xdd)]('⚠️\x20\x20Failed\x20to\x20restore\x20backup');}return{'success':![],'mode':_0x316cd8,'error':'npm\x20install\x20failed:\x20'+_0x5bbff3[_0x3ab4a2(0xb3)],'statistics':{'totalDependencies':Object[_0x3ab4a2(0x11c)](_0x2babb6)['length'],'updatesAvailable':Object[_0x3ab4a2(0x11c)](_0xec6407)[_0x3ab4a2(0xfa)],'updatesApplied':0x0,'errors':0x1},'updates':_0xec6407,'backupCreated':_0x601057!==null,'output':_0x3b4acd['join']('\x0a')};}}else{if(_0x316cd8===_0x3ab4a2(0x126)||_0x316cd8==='auto')return _0x3b4acd['push'](_0x3ab4a2(0xb4)),{'success':!![],'mode':_0x316cd8,'message':_0x3ab4a2(0xb8),'statistics':{'totalDependencies':Object[_0x3ab4a2(0x11c)](_0x2babb6)['length'],'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'updates':{},'output':_0x3b4acd['join']('\x0a')};}}catch(_0x3f550a){return this['logger']?.[_0x3ab4a2(0x105)]('Dependency\x20resolver\x20error:',_0x3f550a),{'success':![],'error':_0x3f550a['message'],'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x1},'output':_0x3f550a['message']};}}}function a0_0x4221(){const _0x18fa14=['C3rHCNrZv2L0Aa','revgqvvmvf9nt0rf','Dg9mB3DLCKnHC2u','y29WEuzPBgu','nZDVsK1Tv2q','zxHLyW','nLLwyuTkza','AxnbyNnVBhv0zq','4PYfihbHy2THz2uUANnVBIb1CgrHDgvK','C2XPy2u','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','Bwf0y2G','zM9YrwfJAa','DMvYC2LVBG','cVcFK6yGuMvHzgLUzYbWywnRywDLlMPZB24UlI4','C2LTCgXL','BwfW','Ahr0Chm6lY9YzwDPC3rYEs5UCg1QCY5VCMC','ugfJA2fNzsbUB3qGzM91BMq6ia','CgfJA2fNzs5QC29U','BM9YBwfSAxPL','mtKYnZK3nhPZruPvwa','mZuWmJi2mfHWsw16CG','x3nHDgLZzMLLC1jHBMDL','mtK4ndG2yM9NDwnT','ChvZAa','lMjHy2T1Cc5QC29U','BwLUB3i','C3rYAw5NAwz5','x2LZtgvZC1rOyw5vCgrHDgvbDMfPBgfIBgu','zMLSDgvY','x2LZq29TCgXLEfjHBMDL','cIaG','uMv0CNKG','sw52ywXPzcbKzxbLBMrLBMn5lxjLC29SDMuGzM9YBwf0lIbvC2uGpgrLCgvUzgvUy3KTCMvZB2X2zt4GDgfNCYbVCIbku09oigzVCM1HDc4','AM9PBG','CgfYC2u','yxnZAwDU','yM9VBgvHBG','Cgf0y2G','D29YA2LUz0rPCMvJDg9YEq','Ec1Yyw5Nzq','mJjgrMHfqKS','ngPetNLlEq','zxzLCNK','Bg9Nz2vY','sw52ywXPzcbYzwDPC3rYEsbYzxnWB25ZzsbMB3jTyxq','4PQG77IpicbcywnRDxaGy3jLyxrPB24GzMfPBgvKlcbJB250Aw51Aw5NigfUExDHEs4UlG','B3bLCMf0B3i','iokgKIa','Aw5JBhvKzxm','x2nYzwf0zujHy2T1Ca','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','ihbHy2THz2uOCYK','BgvUz3rO','cVcFK6yGsw5ZDgfSBgvKihzLCNnPB25ZoG','Aw5JBhvKzurLDG','C3rHDhvZ','x2nVBxbHCMvqCMvYzwXLyxnL','mta4mdbUEw5mzg0','cVcFK6uGsw5ZDgfSBgLUzYbKzxbLBMrLBMnPzxmGkhrOAxmGBwf5ihrHA2uGysb3AgLSzsKUlI4','rM91BMqG','tufyx0nptKnvuLjftLrFq0Hfq0Tt','cVcFJOKGqwXSigrLCgvUzgvUy2LLCYbHCMuGDxaTDg8Tzgf0zse','zw50CMLLCW','zxjYB3i','yw5K','cVcFM6aGifvWzgf0Aw5NihbHy2THz2uUANnVBI4UlG','DgvZDa','DhjPBq','x2zLDgnOugfJA2fNzuLUzM8','x3bHCNnLvMvYC2LVBLjHBMDL','4PYfiejHy2T1CcbJCMvHDgvKoIa','cVcFKR4Gq3jLyxrPBMCGyMfJA3vWig9MihbHy2THz2uUANnVBI4UlG','D3jPDgvgAwXL','Aw5MBW','ugfYyw1LDgvYCYbTDxn0igjLigfUig9IAMvJDa','rMfPBgvKihrVigzLDgnOia','Bw9Kzq','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0lIbfEhbLy3rLzcbZDhjPBMCGkfHntcKGB3iGB2jQzwn0icHku09oks4','BwfQB3i','cVcFKQeGuNvUihDPDgGGBw9Kzt0IzML4iIbVCIbTB2rLpsjHDxrViIb0BYbHChbSEsb1CgrHDgvZ','x2LZu2LTCgXLvxbKyxrLqxzHAwXHyMXL','4PQG77Ipica','ywXS','vKfmsurFtu9ervm','yxv0BW','sw52ywXPzcbTB2rLoIa','A2v5CW','zgv2rgvWzw5Kzw5JAwvZ','C3rYAw5N','x2DLDeXHDgvZDenVBxbHDgLIBgvwzxjZAw9U','DxrMltG','mtq0ndyWmgvKzLjJAq','Cgf0Aa','BNbTifDbuK4','tw9KztOG','C3bSAxq','zML4','8j+uJsbdAgvJA2LUzYbKzxbLBMrLBMnPzxmGAw46ia','CMfUz2vZ','ywjVCNq','uKvhsvnuuLLFveLnru9vva','x3nHDgLZzMLLC0nVBxbSzxHsyw5Nzq','ihbHy2THz2uOCYKGD2L0AcbHDMfPBgfIBguGDxbKyxrLCW','x3bHCNnLvMvYC2LVBG','ywnJzxnZ','Dhj1zq','mtKZnJiZEuXAyu1W','cVcFK4SGqxzHAwXHyMXLihvWzgf0zxm6','8j+tIIbgB3vUzca','CMfUz2u','B2jQzwn0','z2v0rgvZy3jPChrPB24','mZK2otCZnLf1uMPozG','icdIGkiG','BNbTigLUC3rHBgW','x2LZwfjHBMDLvxbKyxrLqxzHAwXHyMXL','BwvZC2fNzq','cUkCQcboBYb1CgrHDgvZig5LzwrLza','ChjLCMvSzwfZzq','igzVCIa','y2HLy2S','qwXSigrLCgvUzgvUy2LLCYbHCMuGDxaTDg8Tzgf0zq','mtmWmhHXquvXrG','x2nVBxbHCMvwzxjZAw9UCW','tM8GCgfJA2fNzs5QC29UigzVDw5Kigf0oIa','x3bHCNnLqM9VBgvHBG','x2LZvgLSzgvvCgrHDgvbDMfPBgfIBgu','x2LZvxbKyxrLqxzHAwXHyMXL','Bwf4','yNvPBgq','zgvWzw5Kzw5JAwvZ','D2fYBG','yMfZzw5HBwu'];a0_0x4221=function(){return _0x18fa14;};return a0_0x4221();}function a0_0xbc45(_0x60b583,_0x39e0c5){_0x60b583=_0x60b583-0xb0;const _0x4221d2=a0_0x4221();let _0xbc45a5=_0x4221d2[_0x60b583];if(a0_0xbc45['FtvyWw']===undefined){var _0x5b7730=function(_0x3f4074){const _0x77a767='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xea59a8='',_0x4dd6b6='';for(let _0x7adf81=0x0,_0x55c15f,_0x308f82,_0x1a4bc7=0x0;_0x308f82=_0x3f4074['charAt'](_0x1a4bc7++);~_0x308f82&&(_0x55c15f=_0x7adf81%0x4?_0x55c15f*0x40+_0x308f82:_0x308f82,_0x7adf81++%0x4)?_0xea59a8+=String['fromCharCode'](0xff&_0x55c15f>>(-0x2*_0x7adf81&0x6)):0x0){_0x308f82=_0x77a767['indexOf'](_0x308f82);}for(let _0x38842a=0x0,_0x3fa9ae=_0xea59a8['length'];_0x38842a<_0x3fa9ae;_0x38842a++){_0x4dd6b6+='%'+('00'+_0xea59a8['charCodeAt'](_0x38842a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4dd6b6);};a0_0xbc45['mDfhEV']=_0x5b7730,a0_0xbc45['NJcWUB']={},a0_0xbc45['FtvyWw']=!![];}const _0xb8ba24=_0x4221d2[0x0],_0x46233a=_0x60b583+_0xb8ba24,_0x13ee76=a0_0xbc45['NJcWUB'][_0x46233a];return!_0x13ee76?(_0xbc45a5=a0_0xbc45['mDfhEV'](_0xbc45a5),a0_0xbc45['NJcWUB'][_0x46233a]=_0xbc45a5):_0xbc45a5=_0x13ee76,_0xbc45a5;}export default DependencyResolverTool;
@@ -1 +1 @@
1
- function a0_0x38d1(_0x6a61df,_0x57874f){_0x6a61df=_0x6a61df-0x196;const _0x471c1a=a0_0x471c();let _0x38d1b4=_0x471c1a[_0x6a61df];if(a0_0x38d1['HtNQta']===undefined){var _0x4ddaca=function(_0x28f6b4){const _0x2cc007='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58b70e='',_0x11c690='';for(let _0x5f2754=0x0,_0x112521,_0x294c47,_0x3a6c60=0x0;_0x294c47=_0x28f6b4['charAt'](_0x3a6c60++);~_0x294c47&&(_0x112521=_0x5f2754%0x4?_0x112521*0x40+_0x294c47:_0x294c47,_0x5f2754++%0x4)?_0x58b70e+=String['fromCharCode'](0xff&_0x112521>>(-0x2*_0x5f2754&0x6)):0x0){_0x294c47=_0x2cc007['indexOf'](_0x294c47);}for(let _0x25c408=0x0,_0x41f18d=_0x58b70e['length'];_0x25c408<_0x41f18d;_0x25c408++){_0x11c690+='%'+('00'+_0x58b70e['charCodeAt'](_0x25c408)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11c690);};a0_0x38d1['slNtUV']=_0x4ddaca,a0_0x38d1['AHtYwk']={},a0_0x38d1['HtNQta']=!![];}const _0x4d5fe1=_0x471c1a[0x0],_0x5159f6=_0x6a61df+_0x4d5fe1,_0x367d4d=a0_0x38d1['AHtYwk'][_0x5159f6];return!_0x367d4d?(_0x38d1b4=a0_0x38d1['slNtUV'](_0x38d1b4),a0_0x38d1['AHtYwk'][_0x5159f6]=_0x38d1b4):_0x38d1b4=_0x367d4d,_0x38d1b4;}const a0_0x19bb1a=a0_0x38d1;(function(_0x2f0670,_0x2cc8b2){const _0x1d000a=a0_0x38d1,_0x161e53=_0x2f0670();while(!![]){try{const _0x4aaaf4=parseInt(_0x1d000a(0x1d8))/0x1*(parseInt(_0x1d000a(0x1ed))/0x2)+-parseInt(_0x1d000a(0x1d5))/0x3+-parseInt(_0x1d000a(0x19c))/0x4+-parseInt(_0x1d000a(0x196))/0x5+parseInt(_0x1d000a(0x1f6))/0x6*(-parseInt(_0x1d000a(0x19e))/0x7)+-parseInt(_0x1d000a(0x19f))/0x8*(parseInt(_0x1d000a(0x201))/0x9)+parseInt(_0x1d000a(0x1db))/0xa*(parseInt(_0x1d000a(0x1dc))/0xb);if(_0x4aaaf4===_0x2cc8b2)break;else _0x161e53['push'](_0x161e53['shift']());}catch(_0x5181de){_0x161e53['push'](_0x161e53['shift']());}}}(a0_0x471c,0x9903e));function a0_0x471c(){const _0x3c2704=['tufyx0zjtevtx1bfuL9puevsqvrjt04','tufyx05fv19dt05uru5ux1njwKu','AM9PBG','revgqvvmvf9uuKLnx01preu','zxH0CMfJDef0DhjPyNv0zq','icHJB250zw50ig5VDcbMB3vUzcK','ugf0AcbUB3qGywnJzxnZAwjSztOG','Bg9Nz2vY','CMvWBgfJzw1LBNrZ','zxHLyW','zxjYB3jZ','D3jPDgvgAwXL','cGPot1rfuZOkcI0GvxnLihrOzsbZzwvRihrVB2WGzMLYC3qGDg8GDMvYAwz5ignVBNrLBNqGzxHPC3rZcI0GqMfJA3vWCYbHCMuGy3jLyxrLzcbHDxrVBwf0AwnHBgX5icGUyMfRigv4DgvUC2LVBIKklsbszxbSywnLBwvUDhmGyxjLignHC2uTC2vUC2L0AxzLcI0Gt2XKignVBNrLBNqGBxvZDcbTyxrJAcbLEgfJDgX5icHHzNrLCIb0CMLTig1VzguGyxbWBgLLzcKklsbnDwX0AxbSzsbVy2n1CNjLBMnLCYbHCMuGywXSihjLCgXHy2vKihvUBgvZCYbSAw5LC0XPBwL0ihnWzwnPzMLLzaOTifrVB2WGDMfSAwrHDgvZihbHDgHZigfNywLUC3qGywDLBNqNCYbHy2nLC3nPyMXLigrPCMvJDg9YAwvZcGPnvuXuss1esvjfq1rpuLKGu1vque9svdOkcLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','cIaGica','AxnbCNjHEq','tufyx0zjtevFu0LArq','iebacG','cLbYB2nLC3nLzca','rMfPBgvKihrVihbHCNnLigzPBguTy29UDgvUDc1YzxbSywnLihbHCMfTzxrLCNm','nZuZote1uevIwunr','tuiPoIa','ugf0Acb0CMf2zxjZywWGkc4UksbUB3qGywXSB3DLzcbMB3iGC2vJDxjPDhK6ia','mtjLAKXWq1C','B2XKq29UDgvUDa','twfKzsa','mtmYotbsB2f0BMu','mtGZntLgBePRuwu','twLZC2LUzYbVBgqTy29UDgvUDcbPBIbYzxbSywnLihrHzW','CMvXDwLYzxnqCM9Qzwn0','BwfW','rMLSzsbJB250zw50ihjLCgXHy2uGDg9VBcbJBgvHBNvWignVBxbSzxrLza','rMLSzsbUB3qGzM91BMq6ia','igzPBguOCYKkvg90ywWGCMvWBgfJzw1LBNrZoIa','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','zMLSzxnnB2rPzMLLza','yMfJA3vWC0nYzwf0zwq','AxnbyNnVBhv0zq','CMvSyxrPDMu','C3rHCNrZv2L0Aa','C3bSAxq','rMLSzsa','AxnqyxrOqwnJzxnZAwjSzq','BM9Uzq','mty0otGYzunbteLJ','igzPBgvZigLUig9UzsbVCgvYyxrPB24','ChvZAa','BgLUzxmTBgLTAxq','CMvWBgfJzw1LBNrZtwfKzq','zMLSzxnqCM9JzxnZzwq','DgLTzw91Da','BMv3q29UDgvUDa','CMvWBgfJzunVBMzPzW','mta4mer5tvvpEG','ywnJzxnZ','BwvZC2fNzq','Aw5MBW','CgfYC2vku09o','yMfJA3vWq3jLyxrLza','cKjHy2T1ChmGy3jLyxrLzdOG','Aw5JBhvKzxm','lI4U','DxrMltG','CMvHzezPBgu','mJG4mda5svzNveHX','BMv3BgLUzxm','q1jfqvrfx0jbq0Tvufm','odyXoty1v1rvvePy','tufyx09mrf9dt05uru5ux1njwKu','CMvZB2X2zq','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','BgLUzxnmAw1PDa','ig1PC3nPBMCGB2XKq29UDgvUDa','mtGWmdaZmKTvs0ntCa','twLZC2LUzYbUzxCTy29UDgvUDcbPBIbYzxbSywnLihrHzW','nduYndHZugHQDNC','mtm2BxzAr2ru','z2vUzxjHDgveAwzM','rMfPBgvKihrVignYzwf0zsbIywnRDxa6ia','D29YA2LUz0rPCMvJDg9YEq','q2fUBM90ihbYB2nLC3mGBw9Yzsb0AgfUia','BgvUz3rO','yxbWBhLuCMLTtw9Kzq','zMLSzs1JB250zw50lxjLCgXHy2u','yxbWBhLszxbSywnLBwvUDa','BMv3q29UDgvUDcb0B28GBgfYz2uGkg1HEca','lMjHAW','AgfZ','zxjYB3i','C3vIC3rYAw5N','zMLSzxmGBxvZDcbIzsbHBIbHCNjHEq','CgfYC2vytuW','Dg90ywXszxbSywnLBwvUDhm','pvSIj10Ow14Ij10QkvSIj10','cI0Gtwf4Aw11BsbMAwXLCYbWzxiGB3bLCMf0Aw9UoIa','B2XKq29UDgvUDcb0B28GBgfYz2uGkg1HEca','ig11C3qGAgf2zsbYzxbSywnLBwvUDhmGyxjYyxK','tufyx0XjtKvFuKfor0vFu0LArq','DhjPBq','D2fYBG','zMLSzxmGyxjYyxKGy2fUBM90igjLigvTChr5','z2vUzxjHDgvtDw1Tyxj5','ihrVia','CgfYC2vmAw5LuMfUz2vZ','tM8GzgLMzMvYzw5Jzxm','zMLSzxm','y291BNrpy2n1CNjLBMnLCW','Cgf0Aa','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','Bw9Kzq','ywrK'];a0_0x471c=function(){return _0x3c2704;};return a0_0x471c();}import{BaseTool}from'./baseTool.js';import{promises as a0_0x58b70e}from'fs';import a0_0x11c690 from'path';const REPLACE_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_OLD_CONTENT_SIZE':0x64*0x400,'MAX_NEW_CONTENT_SIZE':0x64*0x400,'MAX_REPLACEMENTS_PER_FILE':0x3e8,'MAX_FILES_PER_OPERATION':0x32,'MAX_LINE_RANGE_SIZE':0x2710,'CREATE_BACKUPS':!![],'BACKUP_EXTENSION':a0_0x19bb1a(0x1a9),'DIFF_CONTEXT_LINES':0x3,'MAX_DIFF_LINES':0x64,'DEFAULT_TRIM_MODE':'trim'};class FileContentReplaceTool extends BaseTool{constructor(_0x5f2754={},_0x112521=null){const _0x4e304b=a0_0x19bb1a;super(_0x5f2754,_0x112521),this[_0x4e304b(0x1de)]=!![],this['isAsync']=!![],this[_0x4e304b(0x1f3)]=_0x5f2754['timeout']||0x1d4c0,this['replaceConfig']={...REPLACE_CONFIG,..._0x5f2754['replaceConfig']};}['getDescription'](){const _0x4da637=a0_0x19bb1a;return'\x0aFile\x20Content\x20Replace\x20Tool:\x20Replace\x20specific\x20content\x20within\x20files\x20with\x20precision.\x0a\x0aXML\x20USAGE:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22src/app.js\x22>\x0a\x20\x20\x20\x20<replace\x20mode=\x22trim\x22\x20lines-limit=\x225,7-10\x22>\x0a\x20\x20\x20\x20\x20\x20<old-content>\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20oldFunction\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27old\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20newFunction\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27new\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aJSON\x20USAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-content-replace\x22,\x0a\x20\x20\x22files\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22path\x22:\x20\x22src/app.js\x22,\x0a\x20\x20\x20\x20\x20\x20\x22replacements\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22oldContent\x22:\x20\x22const\x20oldFunction\x20=\x20()\x20=>\x20{}\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22newContent\x22:\x20\x22const\x20newFunction\x20=\x20()\x20=>\x20{}\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22mode\x22:\x20\x22trim\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22linesLimit\x22:\x20\x225,7-10\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a\x0apath\x20(required):\x0a\x20\x20-\x20Path\x20to\x20the\x20file\x20to\x20modify\x0a\x20\x20-\x20Can\x20be\x20relative\x20or\x20absolute\x0a\x20\x20-\x20Examples:\x20\x22src/app.js\x22,\x20\x22./config.json\x22\x0a\x0aoldContent\x20(required):\x0a\x20\x20-\x20Content\x20to\x20find\x20and\x20replace\x0a\x20\x20-\x20Subject\x20to\x20trim\x20mode\x20processing\x0a\x20\x20-\x20Must\x20exist\x20in\x20file\x0a\x0anewContent\x20(required):\x0a\x20\x20-\x20Replacement\x20content\x0a\x20\x20-\x20Subject\x20to\x20trim\x20mode\x20processing\x0a\x20\x20-\x20Can\x20be\x20same\x20length,\x20shorter,\x20or\x20longer\x0a\x0amode\x20(optional):\x0a\x20\x20-\x20Whitespace\x20handling\x20mode\x0a\x20\x20-\x20Options:\x0a\x20\x20\x20\x20*\x20\x22trim\x22\x20(default):\x20Trim\x20all\x20whitespace\x20from\x20both\x20ends\x0a\x20\x20\x20\x20*\x20\x22newlines\x22:\x20Only\x20trim\x20newline\x20characters\x0a\x20\x20\x20\x20*\x20\x22none\x22:\x20Use\x20content\x20exactly\x20as\x20provided\x0a\x20\x20-\x20Helps\x20with\x20matching\x20despite\x20indentation\x20differences\x0a\x0alinesLimit\x20(optional):\x0a\x20\x20-\x20Restrict\x20replacement\x20to\x20specific\x20lines\x0a\x20\x20-\x20Format:\x20Comma-separated\x20line\x20numbers\x20or\x20ranges\x0a\x20\x20-\x20Examples:\x0a\x20\x20\x20\x20*\x20\x225\x22\x20-\x20Only\x20line\x205\x0a\x20\x20\x20\x20*\x20\x225,10,15\x22\x20-\x20Lines\x205,\x2010,\x20and\x2015\x0a\x20\x20\x20\x20*\x20\x225-10\x22\x20-\x20Lines\x205\x20through\x2010\x0a\x20\x20\x20\x20*\x20\x221-5,10,15-20\x22\x20-\x20Lines\x201-5,\x2010,\x20and\x2015-20\x0a\x20\x20-\x20Line\x20numbers\x20are\x201-based\x0a\x0aTRIM\x20MODES\x20EXPLAINED:\x0a\x0aMode:\x20\x22trim\x22\x20(Recommended\x20for\x20most\x20cases)\x0a\x20\x20Input:\x0a\x20\x20\x20\x20\x22\x20\x20const\x20x\x20=\x201;\x20\x20\x5cn\x22\x0a\x20\x20After\x20trim:\x0a\x20\x20\x20\x20\x22const\x20x\x20=\x201;\x22\x0a\x20\x20Use\x20when:\x20Indentation\x20may\x20vary\x0a\x0aMode:\x20\x22newlines\x22\x0a\x20\x20Input:\x0a\x20\x20\x20\x20\x22\x5cn\x20\x20const\x20x\x20=\x201;\x20\x20\x5cn\x22\x0a\x20\x20After\x20trim:\x0a\x20\x20\x20\x20\x22\x20\x20const\x20x\x20=\x201;\x20\x20\x22\x0a\x20\x20Use\x20when:\x20Preserving\x20internal\x20whitespace\x0a\x0aMode:\x20\x22none\x22\x0a\x20\x20Input:\x0a\x20\x20\x20\x20\x22\x20\x20const\x20x\x20=\x201;\x20\x20\x5cn\x22\x0a\x20\x20After\x20trim:\x0a\x20\x20\x20\x20\x22\x20\x20const\x20x\x20=\x201;\x20\x20\x5cn\x22\x0a\x20\x20Use\x20when:\x20Exact\x20character\x20match\x20needed\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Basic\x20replacement\x20with\x20trim:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22src/components/Button.js\x22>\x0a\x20\x20\x20\x20<replace\x20mode=\x22trim\x22>\x0a\x20\x20\x20\x20\x20\x20<old-content>\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20handleClick\x20=\x20(event)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27clicked\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20handleClick\x20=\x20(event)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27clicked\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20props.onClick?.(event);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aExample\x202\x20-\x20Line-limited\x20replacement:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22src/App.js\x22>\x0a\x20\x20\x20\x20<replace\x20lines-limit=\x2210-20\x22>\x0a\x20\x20\x20\x20\x20\x20<old-content>const\x20API_URL\x20=\x20\x27http://localhost:3000\x27</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>const\x20API_URL\x20=\x20process.env.API_URL</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aExample\x203\x20-\x20Multiple\x20replacements\x20in\x20one\x20file:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22src/config.js\x22>\x0a\x20\x20\x20\x20<replace>\x0a\x20\x20\x20\x20\x20\x20<old-content>DEBUG\x20=\x20false</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>DEBUG\x20=\x20true</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20\x20\x20<replace>\x0a\x20\x20\x20\x20\x20\x20<old-content>LOG_LEVEL\x20=\x20\x27error\x27</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>LOG_LEVEL\x20=\x20\x27debug\x27</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aExample\x204\x20-\x20Multiple\x20files:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22src/app.js\x22>\x0a\x20\x20\x20\x20<replace>\x0a\x20\x20\x20\x20\x20\x20<old-content>version\x20=\x20\x271.0.0\x27</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>version\x20=\x20\x271.1.0\x27</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a\x20\x20<file\x20path=\x22package.json\x22>\x0a\x20\x20\x20\x20<replace\x20mode=\x22none\x22>\x0a\x20\x20\x20\x20\x20\x20<old-content>\x22version\x22:\x20\x221.0.0\x22</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>\x22version\x22:\x20\x221.1.0\x22</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aExample\x205\x20-\x20Exact\x20whitespace\x20matching:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22Makefile\x22>\x0a\x20\x20\x20\x20<replace\x20mode=\x22none\x22>\x0a\x20\x20\x20\x20\x20\x20<old-content>\x5ctbuild:\x5cn\x5ct\x5ctgcc</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>\x5ctbuild:\x5cn\x5ct\x5ctclang</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aFEATURES:\x0a\x0a✓\x20Automatic\x20backup\x20creation\x20(.bak\x20files)\x0a✓\x20Before/after\x20diff\x20reports\x0a✓\x20Replacement\x20counting\x20and\x20statistics\x0a✓\x20Multi-file\x20operations\x0a✓\x20Line-limited\x20replacements\x0a✓\x20Intelligent\x20whitespace\x20handling\x0a✓\x20Security\x20validation\x20(path\x20access)\x0a✓\x20Creates\x20parent\x20directories\x20if\x20needed\x0a\x0aLIMITATIONS:\x0a\x0a-\x20Maximum\x20file\x20size:\x20'+REPLACE_CONFIG[_0x4da637(0x1d1)]/(0x400*0x400)+'MB\x0a-\x20Maximum\x20old\x20content\x20size:\x20'+REPLACE_CONFIG['MAX_OLD_CONTENT_SIZE']/0x400+'KB\x0a-\x20Maximum\x20new\x20content\x20size:\x20'+REPLACE_CONFIG[_0x4da637(0x1c3)]/0x400+'KB\x0a-\x20Maximum\x20replacements\x20per\x20file:\x20'+REPLACE_CONFIG['MAX_REPLACEMENTS_PER_FILE']+_0x4da637(0x1b1)+REPLACE_CONFIG[_0x4da637(0x1c2)]+_0x4da637(0x1ce);}['parseParameters'](_0x294c47){const _0x31f754=a0_0x19bb1a;try{if(_0x294c47[_0x31f754(0x1b5)]()['startsWith']('{'))return this[_0x31f754(0x1fa)](_0x294c47);return this[_0x31f754(0x1ae)](_0x294c47);}catch(_0x3a6c60){this['logger']?.[_0x31f754(0x1ab)](_0x31f754(0x1d4),{'error':_0x3a6c60[_0x31f754(0x1f8)]});throw new Error('Parameter\x20parsing\x20failed:\x20'+_0x3a6c60[_0x31f754(0x1f8)]);}}[a0_0x19bb1a(0x1fa)](_0x25c408){const _0x1b5a78=a0_0x19bb1a,_0x41f18d=JSON['parse'](_0x25c408);if(!_0x41f18d['files']||!Array[_0x1b5a78(0x1d0)](_0x41f18d['files']))throw new Error('JSON\x20must\x20have\x20\x22files\x22\x20array');return{'files':_0x41f18d[_0x1b5a78(0x1bc)][_0x1b5a78(0x1df)](_0x4b9005=>({'path':_0x4b9005['path'],'replacements':(_0x4b9005['replacements']||[])[_0x1b5a78(0x1df)](_0x3e560e=>({'oldContent':_0x3e560e[_0x1b5a78(0x1d9)],'newContent':_0x3e560e[_0x1b5a78(0x1f4)],'mode':_0x3e560e['mode']||REPLACE_CONFIG['DEFAULT_TRIM_MODE'],'linesLimit':_0x3e560e[_0x1b5a78(0x19a)]||null}))}))};}['parseXML'](_0x4e8ea6){const _0x3c6528=a0_0x19bb1a,_0x3a4ca3=[],_0x51dffd=/<file\s+path="([^"]+)">([\s\S]*?)<\/file>/gi;let _0x4e8e1f;while((_0x4e8e1f=_0x51dffd[_0x3c6528(0x1cb)](_0x4e8ea6))!==null){const _0x7c7cd2=_0x4e8e1f[0x1],_0x382fa2=_0x4e8e1f[0x2],_0x26b59a=[],_0x17bf28=/<replace(?:\s+([^>]*?))?>([\s\S]*?)<\/replace>/gi;let _0xf82867;while((_0xf82867=_0x17bf28[_0x3c6528(0x1cb)](_0x382fa2))!==null){const _0x49aee3=_0xf82867[0x1]||'',_0x10e5f2=_0xf82867[0x2],_0x3ad65f=this[_0x3c6528(0x1c6)](_0x49aee3,'mode')||REPLACE_CONFIG[_0x3c6528(0x1c5)],_0x2055eb=this['extractAttribute'](_0x49aee3,_0x3c6528(0x1f0)),_0x2d1557=/<old-content>([\s\S]*?)<\/old-content>/i['exec'](_0x10e5f2);if(!_0x2d1557){this[_0x3c6528(0x1c9)]?.['warn'](_0x3c6528(0x1dd));continue;}const _0x5baccd=_0x2d1557[0x1],_0x16e6af=/<new-content>([\s\S]*?)<\/new-content>/i[_0x3c6528(0x1cb)](_0x10e5f2);if(!_0x16e6af){this[_0x3c6528(0x1c9)]?.[_0x3c6528(0x1b6)](_0x3c6528(0x19d));continue;}const _0x1bd86f=_0x16e6af[0x1],_0x2e6918=this['applyTrimMode'](_0x5baccd,_0x3ad65f),_0x47a77e=this['applyTrimMode'](_0x1bd86f,_0x3ad65f);_0x26b59a['push']({'oldContent':_0x2e6918,'newContent':_0x47a77e,'mode':_0x3ad65f,'linesLimit':_0x2055eb});}_0x26b59a[_0x3c6528(0x1a4)]>0x0&&_0x3a4ca3['push']({'path':_0x7c7cd2,'replacements':_0x26b59a});}return{'files':_0x3a4ca3};}[a0_0x19bb1a(0x1c6)](_0x58d1e6,_0x59ed1b){const _0x364355=a0_0x19bb1a,_0x324499=new RegExp(_0x59ed1b+_0x364355(0x1b0),'i'),_0x1534ed=_0x324499[_0x364355(0x1cb)](_0x58d1e6);return _0x1534ed?_0x1534ed[0x1]:null;}[a0_0x19bb1a(0x1a5)](_0x49c83,_0x3dc50c){const _0x2374da=a0_0x19bb1a;switch(_0x3dc50c){case _0x2374da(0x202):return _0x49c83['replace'](/^\n+|\n+$/g,'');case'none':return _0x49c83;case _0x2374da(0x1b5):default:return _0x49c83['trim']();}}[a0_0x19bb1a(0x1bf)](){const _0x2ede20=a0_0x19bb1a;return[_0x2ede20(0x1bc)];}['customValidateParameters'](_0x4eae62){const _0x1fda5b=a0_0x19bb1a,_0x41d49f=[];if(!_0x4eae62['files']||!Array['isArray'](_0x4eae62[_0x1fda5b(0x1bc)]))_0x41d49f['push'](_0x1fda5b(0x1ad));else{_0x4eae62['files'][_0x1fda5b(0x1a4)]===0x0&&_0x41d49f[_0x1fda5b(0x1ef)](_0x1fda5b(0x1b7));_0x4eae62[_0x1fda5b(0x1bc)][_0x1fda5b(0x1a4)]>this['replaceConfig']['MAX_FILES_PER_OPERATION']&&_0x41d49f['push'](_0x1fda5b(0x1a3)+this['replaceConfig'][_0x1fda5b(0x1c2)]+_0x1fda5b(0x1ee));for(const _0x1fb96c of _0x4eae62['files']){!_0x1fb96c[_0x1fda5b(0x1be)]&&_0x41d49f[_0x1fda5b(0x1ef)]('Each\x20file\x20must\x20have\x20a\x20path');_0x1fb96c['path']&&_0x1fb96c[_0x1fda5b(0x1be)]['includes']('..')&&_0x41d49f['push'](_0x1fda5b(0x1d7)+_0x1fb96c['path']);if(!_0x1fb96c[_0x1fda5b(0x1ca)]||!Array[_0x1fda5b(0x1d0)](_0x1fb96c[_0x1fda5b(0x1ca)]))_0x41d49f[_0x1fda5b(0x1ef)](_0x1fda5b(0x1ea)+_0x1fb96c['path']+_0x1fda5b(0x1b3));else{if(_0x1fb96c['replacements'][_0x1fda5b(0x1a4)]===0x0)_0x41d49f['push'](_0x1fda5b(0x1ea)+_0x1fb96c[_0x1fda5b(0x1be)]+'\x20replacements\x20array\x20cannot\x20be\x20empty');else for(const _0x25c753 of _0x1fb96c[_0x1fda5b(0x1ca)]){!_0x25c753['oldContent']&&_0x25c753[_0x1fda5b(0x1d9)]!==''&&_0x41d49f['push']('Replacement\x20in\x20'+_0x1fb96c['path']+_0x1fda5b(0x19b)),!_0x25c753['newContent']&&_0x25c753['newContent']!==''&&_0x41d49f['push']('Replacement\x20in\x20'+_0x1fb96c[_0x1fda5b(0x1be)]+'\x20missing\x20newContent'),_0x25c753['oldContent']&&_0x25c753['oldContent'][_0x1fda5b(0x1a4)]>this['replaceConfig'][_0x1fda5b(0x197)]&&_0x41d49f['push'](_0x1fda5b(0x1b2)+this[_0x1fda5b(0x1f5)]['MAX_OLD_CONTENT_SIZE']/0x400+'KB)'),_0x25c753[_0x1fda5b(0x1f4)]&&_0x25c753['newContent'][_0x1fda5b(0x1a4)]>this[_0x1fda5b(0x1f5)]['MAX_NEW_CONTENT_SIZE']&&_0x41d49f['push'](_0x1fda5b(0x1a8)+this[_0x1fda5b(0x1f5)]['MAX_NEW_CONTENT_SIZE']/0x400+'KB)'),_0x25c753[_0x1fda5b(0x1c0)]&&!['trim',_0x1fda5b(0x202),_0x1fda5b(0x1ec)][_0x1fda5b(0x1fd)](_0x25c753['mode'])&&_0x41d49f['push']('Invalid\x20mode:\x20'+_0x25c753[_0x1fda5b(0x1c0)]+'.\x20Must\x20be\x20\x27trim\x27,\x20\x27newlines\x27,\x20or\x20\x27none\x27');}}}}if(_0x41d49f['length']>0x0)throw new Error('Parameter\x20validation\x20failed:\x20'+_0x41d49f['join'](',\x20'));return{'valid':!![],'errors':[]};}async['execute'](_0x211131,_0x2797b2){const _0x34e9b5=a0_0x19bb1a,{files:_0x47b86f}=_0x211131,{projectDir:_0xa5b63c,agentId:_0x92a78a,directoryAccess:_0x26263f}=_0x2797b2;let _0x35c7cc=_0xa5b63c||process['cwd']();_0x26263f&&_0x26263f[_0x34e9b5(0x1a2)]&&(_0x35c7cc=_0x26263f['workingDirectory'],this[_0x34e9b5(0x1c9)]?.['info'](_0x34e9b5(0x199),{'workingDirectory':_0x26263f['workingDirectory'],'agentId':_0x92a78a}));this[_0x34e9b5(0x1c9)]?.[_0x34e9b5(0x1f9)]('Executing\x20file\x20content\x20replace',{'fileCount':_0x47b86f['length'],'workingDirectory':_0x35c7cc,'agentId':_0x92a78a});const _0x34bb09=[],_0x57e659={'filesProcessed':0x0,'filesModified':0x0,'totalReplacements':0x0,'backupsCreated':0x0,'errors':0x0};for(const _0x3296c3 of _0x47b86f){try{const _0x535256=await this['processFile'](_0x3296c3,_0x35c7cc,_0x26263f);_0x34bb09[_0x34e9b5(0x1ef)](_0x535256),_0x57e659['filesProcessed']++,_0x535256['replacementsMade']>0x0&&(_0x57e659['filesModified']++,_0x57e659[_0x34e9b5(0x1af)]+=_0x535256[_0x34e9b5(0x1f1)]),_0x535256[_0x34e9b5(0x1fb)]&&_0x57e659[_0x34e9b5(0x1e5)]++;}catch(_0x3a1910){this['logger']?.['error']('Error\x20processing\x20file\x20'+_0x3296c3['path'],{'error':_0x3a1910['message']}),_0x34bb09[_0x34e9b5(0x1ef)]({'filePath':_0x3296c3[_0x34e9b5(0x1be)],'success':![],'error':_0x3a1910['message']}),_0x57e659['errors']++;}}return{'success':_0x57e659['errors']===0x0,'results':_0x34bb09,'statistics':_0x57e659,'summary':this[_0x34e9b5(0x1b8)](_0x57e659),'toolUsed':_0x34e9b5(0x1a6)};}async['processFile'](_0x7901ec,_0x43e2be,_0x42a01d){const _0x10a1f5=a0_0x19bb1a,{path:_0x390276,replacements:_0x48371c}=_0x7901ec,_0x3152f4=a0_0x11c690[_0x10a1f5(0x1e6)](_0x390276)?_0x390276:a0_0x11c690[_0x10a1f5(0x198)](_0x43e2be,_0x390276);if(_0x42a01d){const _0x58e612=this[_0x10a1f5(0x1eb)](_0x3152f4,_0x43e2be,_0x42a01d);if(!_0x58e612)throw new Error(_0x10a1f5(0x1c8)+_0x390276);}try{await a0_0x58b70e[_0x10a1f5(0x1f7)](_0x3152f4);}catch(_0x5b9149){throw new Error(_0x10a1f5(0x1e1)+_0x390276);}const _0x49f216=await a0_0x58b70e['stat'](_0x3152f4);if(_0x49f216['size']>this[_0x10a1f5(0x1f5)][_0x10a1f5(0x1d1)])throw new Error('File\x20too\x20large\x20(max\x20'+this['replaceConfig']['MAX_FILE_SIZE']/(0x400*0x400)+_0x10a1f5(0x1d6)+_0x390276);let _0x3677f1=await a0_0x58b70e[_0x10a1f5(0x200)](_0x3152f4,'utf-8');const _0x364bb2=_0x3677f1;let _0x437981=![];if(this[_0x10a1f5(0x1f5)][_0x10a1f5(0x203)]){const _0x3d2af3=_0x3152f4+this['replaceConfig']['BACKUP_EXTENSION'];try{await a0_0x58b70e[_0x10a1f5(0x1cd)](_0x3d2af3,_0x364bb2,_0x10a1f5(0x1ff)),_0x437981=!![];}catch(_0x2ec4da){this['logger']?.['warn'](_0x10a1f5(0x1a1)+_0x2ec4da[_0x10a1f5(0x1f8)]);}}let _0x2f33f6=0x0;const _0x4b04cc=[];for(const _0x1c0c7b of _0x48371c){const _0x449df1=await this[_0x10a1f5(0x1a7)](_0x3677f1,_0x1c0c7b[_0x10a1f5(0x1d9)],_0x1c0c7b[_0x10a1f5(0x1f4)],_0x1c0c7b['linesLimit'],_0x1c0c7b[_0x10a1f5(0x1c0)]);_0x3677f1=_0x449df1[_0x10a1f5(0x1f4)],_0x2f33f6+=_0x449df1['count'],_0x4b04cc['push']({'oldContent':_0x1c0c7b[_0x10a1f5(0x1d9)]['substring'](0x0,0x32)+(_0x1c0c7b['oldContent']['length']>0x32?_0x10a1f5(0x1fe):''),'newContent':_0x1c0c7b['newContent'][_0x10a1f5(0x1ac)](0x0,0x32)+(_0x1c0c7b[_0x10a1f5(0x1f4)][_0x10a1f5(0x1a4)]>0x32?'...':''),'count':_0x449df1['count'],'mode':_0x1c0c7b[_0x10a1f5(0x1c0)],'linesLimit':_0x1c0c7b[_0x10a1f5(0x19a)]});}_0x2f33f6>0x0&&await a0_0x58b70e[_0x10a1f5(0x1cd)](_0x3152f4,_0x3677f1,_0x10a1f5(0x1ff));const _0x4dc71b=_0x2f33f6>0x0?this[_0x10a1f5(0x1a0)](_0x364bb2,_0x3677f1):null;return{'filePath':_0x390276,'resolvedPath':_0x3152f4,'success':!![],'replacementsMade':_0x2f33f6,'backupCreated':_0x437981,'replacementDetails':_0x4b04cc,'diff':_0x4dc71b,'message':_0x2f33f6>0x0?_0x10a1f5(0x1da)+_0x2f33f6+'\x20replacement(s)\x20in\x20'+_0x390276:'No\x20replacements\x20made\x20in\x20'+_0x390276+_0x10a1f5(0x1c7)};}['isPathAccessible'](_0x14a323,_0x559b91,_0x133e7a){const _0x9b2935=a0_0x19bb1a,_0x548eab=a0_0x11c690[_0x9b2935(0x1e7)](_0x559b91,_0x14a323);if(!_0x548eab[_0x9b2935(0x1e8)]('..')&&!a0_0x11c690['isAbsolute'](_0x548eab))return!![];if(_0x133e7a['writeEnabledDirectories'])for(const _0xb8a267 of _0x133e7a[_0x9b2935(0x1e3)]){const _0x491c27=a0_0x11c690['relative'](_0xb8a267,_0x14a323);if(!_0x491c27['startsWith']('..')&&!a0_0x11c690[_0x9b2935(0x1e6)](_0x491c27))return!![];}return![];}async[a0_0x19bb1a(0x1a7)](_0x1760bd,_0x564158,_0x5657e2,_0x1b3537,_0x1b542d){const _0x1b9ec2=a0_0x19bb1a;if(!_0x1b3537){const _0x56b6eb=this[_0x1b9ec2(0x1bd)](_0x1760bd,_0x564158);if(_0x56b6eb===0x0)return{'newContent':_0x1760bd,'count':0x0};const _0x2e73b3=_0x1760bd[_0x1b9ec2(0x1e9)](_0x564158)[_0x1b9ec2(0x1c4)](_0x5657e2);return{'newContent':_0x2e73b3,'count':_0x56b6eb};}const _0x22a922=this[_0x1b9ec2(0x1ba)](_0x1b3537),_0x17a050=_0x1760bd[_0x1b9ec2(0x1e9)]('\x0a');let _0x593383=0x0;for(let _0x331204=0x0;_0x331204<_0x17a050['length'];_0x331204++){const _0x5b7e3f=_0x331204+0x1;if(_0x22a922[_0x1b9ec2(0x1aa)](_0x5b7e3f)){if(_0x17a050[_0x331204][_0x1b9ec2(0x1fd)](_0x564158)){const _0x145940=this['countOccurrences'](_0x17a050[_0x331204],_0x564158);_0x17a050[_0x331204]=_0x17a050[_0x331204]['split'](_0x564158)[_0x1b9ec2(0x1c4)](_0x5657e2),_0x593383+=_0x145940;}}}return{'newContent':_0x17a050['join']('\x0a'),'count':_0x593383};}['countOccurrences'](_0x10d06a,_0x2a3e6c){const _0x201876=a0_0x19bb1a;if(!_0x2a3e6c)return 0x0;return _0x10d06a[_0x201876(0x1e9)](_0x2a3e6c)[_0x201876(0x1a4)]-0x1;}['parseLineRanges'](_0x4f9679){const _0x1860d1=a0_0x19bb1a,_0x36d334=new Set();if(!_0x4f9679||_0x4f9679[_0x1860d1(0x1b5)]()==='')return _0x36d334;const _0x416a45=_0x4f9679['split'](',');for(const _0x5c5ef6 of _0x416a45){const _0x2ea3a4=_0x5c5ef6[_0x1860d1(0x1b5)]();if(_0x2ea3a4==='')continue;if(_0x2ea3a4['includes']('-')){const [_0x32624f,_0x593ba2]=_0x2ea3a4[_0x1860d1(0x1e9)]('-')['map'](_0x3afda0=>parseInt(_0x3afda0['trim'](),0xa));if(!isNaN(_0x32624f)&&!isNaN(_0x593ba2)&&_0x593ba2-_0x32624f<this['replaceConfig'][_0x1860d1(0x1b4)])for(let _0x4732a7=_0x32624f;_0x4732a7<=_0x593ba2;_0x4732a7++){_0x36d334[_0x1860d1(0x1c1)](_0x4732a7);}}else{const _0x2fb35f=parseInt(_0x2ea3a4,0xa);!isNaN(_0x2fb35f)&&_0x36d334[_0x1860d1(0x1c1)](_0x2fb35f);}}return _0x36d334;}[a0_0x19bb1a(0x1a0)](_0x406bc2,_0x1f8c69){const _0x172b92=a0_0x19bb1a,_0x33ccf9=_0x406bc2['split']('\x0a'),_0x3e97d1=_0x1f8c69['split']('\x0a');let _0x10b914=-0x1,_0x5cf0d2=-0x1;const _0x3143b9=Math['max'](_0x33ccf9[_0x172b92(0x1a4)],_0x3e97d1['length']);for(let _0x35ae53=0x0;_0x35ae53<_0x3143b9;_0x35ae53++){const _0x4f3232=_0x35ae53<_0x33ccf9[_0x172b92(0x1a4)]?_0x33ccf9[_0x35ae53]:'',_0x4baf86=_0x35ae53<_0x3e97d1['length']?_0x3e97d1[_0x35ae53]:'';if(_0x4f3232!==_0x4baf86){if(_0x10b914===-0x1)_0x10b914=_0x35ae53;_0x5cf0d2=_0x35ae53;}}if(_0x10b914===-0x1)return _0x172b92(0x1bb);const _0x297a7a=this['replaceConfig']['DIFF_CONTEXT_LINES'],_0x2a5e54=Math['max'](0x0,_0x10b914-_0x297a7a),_0x44ddc7=Math['min'](_0x3143b9-0x1,_0x5cf0d2+_0x297a7a);if(_0x44ddc7-_0x2a5e54>this['replaceConfig']['MAX_DIFF_LINES'])return'Diff\x20too\x20large\x20('+(_0x44ddc7-_0x2a5e54+0x1)+'\x20lines),\x20showing\x20summary\x20only:\x0a'+('Changed\x20lines:\x20'+(_0x10b914+0x1)+_0x172b92(0x1b9)+(_0x5cf0d2+0x1));let _0x268d18='@@\x20-'+(_0x2a5e54+0x1)+','+(_0x44ddc7-_0x2a5e54+0x1)+'\x20+'+(_0x2a5e54+0x1)+','+(_0x44ddc7-_0x2a5e54+0x1)+_0x172b92(0x1d2);for(let _0x157a8c=_0x2a5e54;_0x157a8c<=_0x44ddc7;_0x157a8c++){const _0x523ba2=_0x157a8c<_0x33ccf9['length']?_0x33ccf9[_0x157a8c]:'',_0x19d02d=_0x157a8c<_0x3e97d1[_0x172b92(0x1a4)]?_0x3e97d1[_0x157a8c]:'';_0x523ba2===_0x19d02d?_0x268d18+='\x20\x20'+_0x523ba2+'\x0a':(_0x268d18+='-\x20'+_0x523ba2+'\x0a',_0x268d18+='+\x20'+_0x19d02d+'\x0a');}return _0x268d18;}['generateSummary'](_0x492de3){const _0x5bada2=a0_0x19bb1a;return(_0x5bada2(0x1d3)+_0x492de3[_0x5bada2(0x1f2)]+'\x20file(s)\x0aModified\x20'+_0x492de3[_0x5bada2(0x1e4)]+_0x5bada2(0x1e2)+_0x492de3['totalReplacements']+_0x5bada2(0x1fc)+_0x492de3['backupsCreated']+'\x0aErrors:\x20'+_0x492de3[_0x5bada2(0x1cc)]+_0x5bada2(0x1cf))[_0x5bada2(0x1b5)]();}async['cleanup'](_0x2eaeaa){const _0x744618=a0_0x19bb1a;this['logger']?.['info'](_0x744618(0x1e0),{'operationId':_0x2eaeaa});}}export default FileContentReplaceTool;
1
+ const a0_0x4859f8=a0_0x4809;(function(_0x2f43e1,_0x25b13d){const _0x4d5cec=a0_0x4809,_0x291396=_0x2f43e1();while(!![]){try{const _0x53cfb1=-parseInt(_0x4d5cec(0x1a1))/0x1+parseInt(_0x4d5cec(0x153))/0x2+parseInt(_0x4d5cec(0x182))/0x3+-parseInt(_0x4d5cec(0x15d))/0x4+-parseInt(_0x4d5cec(0x147))/0x5+parseInt(_0x4d5cec(0x192))/0x6+parseInt(_0x4d5cec(0x19f))/0x7;if(_0x53cfb1===_0x25b13d)break;else _0x291396['push'](_0x291396['shift']());}catch(_0x578daf){_0x291396['push'](_0x291396['shift']());}}}(a0_0x3b22,0x712bc));import{BaseTool}from'./baseTool.js';import{promises as a0_0x3fe062}from'fs';import a0_0x4d01c9 from'path';const REPLACE_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_OLD_CONTENT_SIZE':0x64*0x400,'MAX_NEW_CONTENT_SIZE':0x64*0x400,'MAX_REPLACEMENTS_PER_FILE':0x3e8,'MAX_FILES_PER_OPERATION':0x32,'MAX_LINE_RANGE_SIZE':0x2710,'CREATE_BACKUPS':!![],'BACKUP_EXTENSION':'.bak','DIFF_CONTEXT_LINES':0x3,'MAX_DIFF_LINES':0x64,'DEFAULT_TRIM_MODE':a0_0x4859f8(0x1a4)};class FileContentReplaceTool extends BaseTool{constructor(_0x50fe14={},_0x1591e5=null){const _0x1c566e=a0_0x4859f8;super(_0x50fe14,_0x1591e5),this['requiresProject']=!![],this[_0x1c566e(0x183)]=!![],this[_0x1c566e(0x199)]=_0x50fe14['timeout']||0x1d4c0,this[_0x1c566e(0x15f)]={...REPLACE_CONFIG,..._0x50fe14[_0x1c566e(0x15f)]};}[a0_0x4859f8(0x194)](){const _0x170947=a0_0x4859f8;return'\x0aFile\x20Content\x20Replace\x20Tool:\x20Replace\x20specific\x20content\x20within\x20files\x20with\x20precision.\x0a\x0aXML\x20USAGE:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22src/app.js\x22>\x0a\x20\x20\x20\x20<replace\x20mode=\x22trim\x22\x20lines-limit=\x225,7-10\x22>\x0a\x20\x20\x20\x20\x20\x20<old-content>\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20oldFunction\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27old\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20newFunction\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27new\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aJSON\x20USAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-content-replace\x22,\x0a\x20\x20\x22files\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22path\x22:\x20\x22src/app.js\x22,\x0a\x20\x20\x20\x20\x20\x20\x22replacements\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22oldContent\x22:\x20\x22const\x20oldFunction\x20=\x20()\x20=>\x20{}\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22newContent\x22:\x20\x22const\x20newFunction\x20=\x20()\x20=>\x20{}\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22mode\x22:\x20\x22trim\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22linesLimit\x22:\x20\x225,7-10\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a\x0apath\x20(required):\x0a\x20\x20-\x20Path\x20to\x20the\x20file\x20to\x20modify\x0a\x20\x20-\x20Can\x20be\x20relative\x20or\x20absolute\x0a\x20\x20-\x20Examples:\x20\x22src/app.js\x22,\x20\x22./config.json\x22\x0a\x0aoldContent\x20(required):\x0a\x20\x20-\x20Content\x20to\x20find\x20and\x20replace\x0a\x20\x20-\x20Subject\x20to\x20trim\x20mode\x20processing\x0a\x20\x20-\x20Must\x20exist\x20in\x20file\x0a\x0anewContent\x20(required):\x0a\x20\x20-\x20Replacement\x20content\x0a\x20\x20-\x20Subject\x20to\x20trim\x20mode\x20processing\x0a\x20\x20-\x20Can\x20be\x20same\x20length,\x20shorter,\x20or\x20longer\x0a\x0amode\x20(optional):\x0a\x20\x20-\x20Whitespace\x20handling\x20mode\x0a\x20\x20-\x20Options:\x0a\x20\x20\x20\x20*\x20\x22trim\x22\x20(default):\x20Trim\x20all\x20whitespace\x20from\x20both\x20ends\x0a\x20\x20\x20\x20*\x20\x22newlines\x22:\x20Only\x20trim\x20newline\x20characters\x0a\x20\x20\x20\x20*\x20\x22none\x22:\x20Use\x20content\x20exactly\x20as\x20provided\x0a\x20\x20-\x20Helps\x20with\x20matching\x20despite\x20indentation\x20differences\x0a\x0alinesLimit\x20(optional):\x0a\x20\x20-\x20Restrict\x20replacement\x20to\x20specific\x20lines\x0a\x20\x20-\x20Format:\x20Comma-separated\x20line\x20numbers\x20or\x20ranges\x0a\x20\x20-\x20Examples:\x0a\x20\x20\x20\x20*\x20\x225\x22\x20-\x20Only\x20line\x205\x0a\x20\x20\x20\x20*\x20\x225,10,15\x22\x20-\x20Lines\x205,\x2010,\x20and\x2015\x0a\x20\x20\x20\x20*\x20\x225-10\x22\x20-\x20Lines\x205\x20through\x2010\x0a\x20\x20\x20\x20*\x20\x221-5,10,15-20\x22\x20-\x20Lines\x201-5,\x2010,\x20and\x2015-20\x0a\x20\x20-\x20Line\x20numbers\x20are\x201-based\x0a\x0aTRIM\x20MODES\x20EXPLAINED:\x0a\x0aMode:\x20\x22trim\x22\x20(Recommended\x20for\x20most\x20cases)\x0a\x20\x20Input:\x0a\x20\x20\x20\x20\x22\x20\x20const\x20x\x20=\x201;\x20\x20\x5cn\x22\x0a\x20\x20After\x20trim:\x0a\x20\x20\x20\x20\x22const\x20x\x20=\x201;\x22\x0a\x20\x20Use\x20when:\x20Indentation\x20may\x20vary\x0a\x0aMode:\x20\x22newlines\x22\x0a\x20\x20Input:\x0a\x20\x20\x20\x20\x22\x5cn\x20\x20const\x20x\x20=\x201;\x20\x20\x5cn\x22\x0a\x20\x20After\x20trim:\x0a\x20\x20\x20\x20\x22\x20\x20const\x20x\x20=\x201;\x20\x20\x22\x0a\x20\x20Use\x20when:\x20Preserving\x20internal\x20whitespace\x0a\x0aMode:\x20\x22none\x22\x0a\x20\x20Input:\x0a\x20\x20\x20\x20\x22\x20\x20const\x20x\x20=\x201;\x20\x20\x5cn\x22\x0a\x20\x20After\x20trim:\x0a\x20\x20\x20\x20\x22\x20\x20const\x20x\x20=\x201;\x20\x20\x5cn\x22\x0a\x20\x20Use\x20when:\x20Exact\x20character\x20match\x20needed\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Basic\x20replacement\x20with\x20trim:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22src/components/Button.js\x22>\x0a\x20\x20\x20\x20<replace\x20mode=\x22trim\x22>\x0a\x20\x20\x20\x20\x20\x20<old-content>\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20handleClick\x20=\x20(event)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27clicked\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20handleClick\x20=\x20(event)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27clicked\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20props.onClick?.(event);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aExample\x202\x20-\x20Line-limited\x20replacement:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22src/App.js\x22>\x0a\x20\x20\x20\x20<replace\x20lines-limit=\x2210-20\x22>\x0a\x20\x20\x20\x20\x20\x20<old-content>const\x20API_URL\x20=\x20\x27http://localhost:3000\x27</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>const\x20API_URL\x20=\x20process.env.API_URL</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aExample\x203\x20-\x20Multiple\x20replacements\x20in\x20one\x20file:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22src/config.js\x22>\x0a\x20\x20\x20\x20<replace>\x0a\x20\x20\x20\x20\x20\x20<old-content>DEBUG\x20=\x20false</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>DEBUG\x20=\x20true</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20\x20\x20<replace>\x0a\x20\x20\x20\x20\x20\x20<old-content>LOG_LEVEL\x20=\x20\x27error\x27</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>LOG_LEVEL\x20=\x20\x27debug\x27</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aExample\x204\x20-\x20Multiple\x20files:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22src/app.js\x22>\x0a\x20\x20\x20\x20<replace>\x0a\x20\x20\x20\x20\x20\x20<old-content>version\x20=\x20\x271.0.0\x27</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>version\x20=\x20\x271.1.0\x27</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a\x20\x20<file\x20path=\x22package.json\x22>\x0a\x20\x20\x20\x20<replace\x20mode=\x22none\x22>\x0a\x20\x20\x20\x20\x20\x20<old-content>\x22version\x22:\x20\x221.0.0\x22</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>\x22version\x22:\x20\x221.1.0\x22</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aExample\x205\x20-\x20Exact\x20whitespace\x20matching:\x0a<file-content-replace>\x0a\x20\x20<file\x20path=\x22Makefile\x22>\x0a\x20\x20\x20\x20<replace\x20mode=\x22none\x22>\x0a\x20\x20\x20\x20\x20\x20<old-content>\x5ctbuild:\x5cn\x5ct\x5ctgcc</old-content>\x0a\x20\x20\x20\x20\x20\x20<new-content>\x5ctbuild:\x5cn\x5ct\x5ctclang</new-content>\x0a\x20\x20\x20\x20</replace>\x0a\x20\x20</file>\x0a</file-content-replace>\x0a\x0aFEATURES:\x0a\x0a✓\x20Automatic\x20backup\x20creation\x20(.bak\x20files)\x0a✓\x20Before/after\x20diff\x20reports\x0a✓\x20Replacement\x20counting\x20and\x20statistics\x0a✓\x20Multi-file\x20operations\x0a✓\x20Line-limited\x20replacements\x0a✓\x20Intelligent\x20whitespace\x20handling\x0a✓\x20Security\x20validation\x20(path\x20access)\x0a✓\x20Creates\x20parent\x20directories\x20if\x20needed\x0a\x0aLIMITATIONS:\x0a\x0a-\x20Maximum\x20file\x20size:\x20'+REPLACE_CONFIG[_0x170947(0x145)]/(0x400*0x400)+'MB\x0a-\x20Maximum\x20old\x20content\x20size:\x20'+REPLACE_CONFIG[_0x170947(0x154)]/0x400+'KB\x0a-\x20Maximum\x20new\x20content\x20size:\x20'+REPLACE_CONFIG['MAX_NEW_CONTENT_SIZE']/0x400+'KB\x0a-\x20Maximum\x20replacements\x20per\x20file:\x20'+REPLACE_CONFIG[_0x170947(0x14d)]+_0x170947(0x18f)+REPLACE_CONFIG[_0x170947(0x16c)]+'\x0a\x0aNOTES:\x0a\x0a-\x20Use\x20the\x20seek\x20tool\x20first\x20to\x20verify\x20content\x20exists\x0a-\x20Backups\x20are\x20created\x20automatically\x20(.bak\x20extension)\x0a-\x20Replacements\x20are\x20case-sensitive\x0a-\x20Old\x20content\x20must\x20match\x20exactly\x20(after\x20trim\x20mode\x20applied)\x0a-\x20Multiple\x20occurrences\x20are\x20all\x20replaced\x20unless\x20linesLimit\x20specified\x0a-\x20Tool\x20validates\x20paths\x20against\x20agent\x27s\x20accessible\x20directories\x0a\x0aMULTI-DIRECTORY\x20SUPPORT:\x0a\x0aWorks\x20with\x20agent\x27s\x20configured\x20accessible\x20directories.\x0aValidates\x20paths\x20against\x20directoryAccess\x20configuration.\x0a\x20\x20\x20\x20';}[a0_0x4859f8(0x161)](_0x23e2c5){const _0x3d69ec=a0_0x4859f8;try{if(_0x23e2c5['trim']()['startsWith']('{'))return this['parseJSON'](_0x23e2c5);return this[_0x3d69ec(0x180)](_0x23e2c5);}catch(_0xf3b1bb){this['logger']?.['error']('Failed\x20to\x20parse\x20file-content-replace\x20parameters',{'error':_0xf3b1bb[_0x3d69ec(0x19c)]});throw new Error('Parameter\x20parsing\x20failed:\x20'+_0xf3b1bb['message']);}}[a0_0x4859f8(0x188)](_0x261611){const _0xad03cf=a0_0x4859f8,_0x9688f=JSON[_0xad03cf(0x16d)](_0x261611);if(!_0x9688f[_0xad03cf(0x155)]||!Array[_0xad03cf(0x179)](_0x9688f[_0xad03cf(0x155)]))throw new Error(_0xad03cf(0x17a));return{'files':_0x9688f[_0xad03cf(0x155)]['map'](_0x3c74bc=>({'path':_0x3c74bc[_0xad03cf(0x167)],'replacements':(_0x3c74bc[_0xad03cf(0x1a3)]||[])['map'](_0x5e5803=>({'oldContent':_0x5e5803['oldContent'],'newContent':_0x5e5803['newContent'],'mode':_0x5e5803[_0xad03cf(0x19e)]||REPLACE_CONFIG[_0xad03cf(0x176)],'linesLimit':_0x5e5803['linesLimit']||null}))}))};}[a0_0x4859f8(0x180)](_0x401578){const _0x4a92ce=a0_0x4859f8,_0xf9a651=[],_0x1fcd28=/<file\s+path="([^"]+)">([\s\S]*?)<\/file>/gi;let _0x24e441;while((_0x24e441=_0x1fcd28['exec'](_0x401578))!==null){const _0x53c2ce=_0x24e441[0x1],_0x57f5d2=_0x24e441[0x2],_0x13492a=[],_0x48b2e0=/<replace(?:\s+([^>]*?))?>([\s\S]*?)<\/replace>/gi;let _0x207fe4;while((_0x207fe4=_0x48b2e0['exec'](_0x57f5d2))!==null){const _0x1a797b=_0x207fe4[0x1]||'',_0x5ba078=_0x207fe4[0x2],_0x58bc66=this['extractAttribute'](_0x1a797b,_0x4a92ce(0x19e))||REPLACE_CONFIG['DEFAULT_TRIM_MODE'],_0x2843f4=this[_0x4a92ce(0x184)](_0x1a797b,'lines-limit'),_0x596ac1=/<old-content>([\s\S]*?)<\/old-content>/i[_0x4a92ce(0x14e)](_0x5ba078);if(!_0x596ac1){this['logger']?.['warn'](_0x4a92ce(0x163));continue;}const _0x54844d=_0x596ac1[0x1],_0x156cb3=/<new-content>([\s\S]*?)<\/new-content>/i['exec'](_0x5ba078);if(!_0x156cb3){this[_0x4a92ce(0x174)]?.[_0x4a92ce(0x19b)]('Missing\x20new-content\x20in\x20replace\x20tag');continue;}const _0x46a0d1=_0x156cb3[0x1],_0x560a0f=this['applyTrimMode'](_0x54844d,_0x58bc66),_0x56a089=this[_0x4a92ce(0x162)](_0x46a0d1,_0x58bc66);_0x13492a['push']({'oldContent':_0x560a0f,'newContent':_0x56a089,'mode':_0x58bc66,'linesLimit':_0x2843f4});}_0x13492a[_0x4a92ce(0x187)]>0x0&&_0xf9a651['push']({'path':_0x53c2ce,'replacements':_0x13492a});}return{'files':_0xf9a651};}[a0_0x4859f8(0x184)](_0x393c86,_0x3847ef){const _0x238d53=a0_0x4859f8,_0x290581=new RegExp(_0x3847ef+'=[\x22\x27]([^\x22\x27]*)[\x22\x27]','i'),_0x1923ea=_0x290581[_0x238d53(0x14e)](_0x393c86);return _0x1923ea?_0x1923ea[0x1]:null;}[a0_0x4859f8(0x162)](_0x446423,_0x25ab72){const _0x98909c=a0_0x4859f8;switch(_0x25ab72){case'newlines':return _0x446423[_0x98909c(0x1aa)](/^\n+|\n+$/g,'');case'none':return _0x446423;case _0x98909c(0x1a4):default:return _0x446423['trim']();}}['getRequiredParameters'](){return['files'];}[a0_0x4859f8(0x146)](_0x155e24){const _0x233d6e=a0_0x4859f8,_0x21c0ad=[];if(!_0x155e24['files']||!Array[_0x233d6e(0x179)](_0x155e24[_0x233d6e(0x155)]))_0x21c0ad[_0x233d6e(0x193)](_0x233d6e(0x149));else{_0x155e24[_0x233d6e(0x155)]['length']===0x0&&_0x21c0ad[_0x233d6e(0x193)]('files\x20array\x20cannot\x20be\x20empty');_0x155e24[_0x233d6e(0x155)]['length']>this[_0x233d6e(0x15f)][_0x233d6e(0x16c)]&&_0x21c0ad['push']('Cannot\x20process\x20more\x20than\x20'+this[_0x233d6e(0x15f)][_0x233d6e(0x16c)]+_0x233d6e(0x171));for(const _0x197da7 of _0x155e24[_0x233d6e(0x155)]){!_0x197da7[_0x233d6e(0x167)]&&_0x21c0ad[_0x233d6e(0x193)](_0x233d6e(0x19a));_0x197da7[_0x233d6e(0x167)]&&_0x197da7[_0x233d6e(0x167)][_0x233d6e(0x170)]('..')&&_0x21c0ad[_0x233d6e(0x193)](_0x233d6e(0x17d)+_0x197da7['path']);if(!_0x197da7[_0x233d6e(0x1a3)]||!Array[_0x233d6e(0x179)](_0x197da7['replacements']))_0x21c0ad['push']('File\x20'+_0x197da7['path']+'\x20must\x20have\x20replacements\x20array');else{if(_0x197da7['replacements']['length']===0x0)_0x21c0ad['push'](_0x233d6e(0x156)+_0x197da7[_0x233d6e(0x167)]+'\x20replacements\x20array\x20cannot\x20be\x20empty');else for(const _0x4ee13c of _0x197da7[_0x233d6e(0x1a3)]){!_0x4ee13c[_0x233d6e(0x168)]&&_0x4ee13c['oldContent']!==''&&_0x21c0ad['push'](_0x233d6e(0x16a)+_0x197da7['path']+_0x233d6e(0x14f)),!_0x4ee13c[_0x233d6e(0x150)]&&_0x4ee13c['newContent']!==''&&_0x21c0ad['push']('Replacement\x20in\x20'+_0x197da7['path']+'\x20missing\x20newContent'),_0x4ee13c[_0x233d6e(0x168)]&&_0x4ee13c[_0x233d6e(0x168)]['length']>this['replaceConfig']['MAX_OLD_CONTENT_SIZE']&&_0x21c0ad[_0x233d6e(0x193)](_0x233d6e(0x18b)+this[_0x233d6e(0x15f)][_0x233d6e(0x154)]/0x400+_0x233d6e(0x166)),_0x4ee13c['newContent']&&_0x4ee13c[_0x233d6e(0x150)]['length']>this['replaceConfig']['MAX_NEW_CONTENT_SIZE']&&_0x21c0ad['push'](_0x233d6e(0x18d)+this['replaceConfig'][_0x233d6e(0x190)]/0x400+_0x233d6e(0x166)),_0x4ee13c['mode']&&![_0x233d6e(0x1a4),'newlines',_0x233d6e(0x15b)]['includes'](_0x4ee13c['mode'])&&_0x21c0ad[_0x233d6e(0x193)](_0x233d6e(0x197)+_0x4ee13c['mode']+'.\x20Must\x20be\x20\x27trim\x27,\x20\x27newlines\x27,\x20or\x20\x27none\x27');}}}}if(_0x21c0ad[_0x233d6e(0x187)]>0x0)throw new Error('Parameter\x20validation\x20failed:\x20'+_0x21c0ad['join'](',\x20'));return{'valid':!![],'errors':[]};}async['execute'](_0x106d29,_0x71fafd){const _0x120e10=a0_0x4859f8,{files:_0x8e0e7}=_0x106d29,{projectDir:_0x83183,agentId:_0x7e064d,directoryAccess:_0x3c168d}=_0x71fafd;let _0x247ffa=_0x83183||process['cwd']();_0x3c168d&&_0x3c168d['workingDirectory']&&(_0x247ffa=_0x3c168d['workingDirectory'],this[_0x120e10(0x174)]?.[_0x120e10(0x17f)]('Using\x20agent\x20configured\x20working\x20directory',{'workingDirectory':_0x3c168d['workingDirectory'],'agentId':_0x7e064d}));this['logger']?.['info']('Executing\x20file\x20content\x20replace',{'fileCount':_0x8e0e7[_0x120e10(0x187)],'workingDirectory':_0x247ffa,'agentId':_0x7e064d});const _0x5ee1ab=[],_0x356bf9={'filesProcessed':0x0,'filesModified':0x0,'totalReplacements':0x0,'backupsCreated':0x0,'errors':0x0};for(const _0x9cdbd8 of _0x8e0e7){try{const _0x13c394=await this[_0x120e10(0x152)](_0x9cdbd8,_0x247ffa,_0x3c168d);_0x5ee1ab[_0x120e10(0x193)](_0x13c394),_0x356bf9['filesProcessed']++,_0x13c394[_0x120e10(0x151)]>0x0&&(_0x356bf9[_0x120e10(0x19d)]++,_0x356bf9[_0x120e10(0x16b)]+=_0x13c394[_0x120e10(0x151)]),_0x13c394[_0x120e10(0x165)]&&_0x356bf9['backupsCreated']++;}catch(_0x2e15e7){this[_0x120e10(0x174)]?.['error']('Error\x20processing\x20file\x20'+_0x9cdbd8[_0x120e10(0x167)],{'error':_0x2e15e7[_0x120e10(0x19c)]}),_0x5ee1ab[_0x120e10(0x193)]({'filePath':_0x9cdbd8['path'],'success':![],'error':_0x2e15e7['message']}),_0x356bf9[_0x120e10(0x148)]++;}}return{'success':_0x356bf9['errors']===0x0,'results':_0x5ee1ab,'statistics':_0x356bf9,'summary':this[_0x120e10(0x1ab)](_0x356bf9),'toolUsed':_0x120e10(0x1a0)};}async['processFile'](_0x50a2f0,_0xf36401,_0xa19701){const _0x2e252e=a0_0x4859f8,{path:_0x27a4e1,replacements:_0x327079}=_0x50a2f0,_0x4fcc7=a0_0x4d01c9[_0x2e252e(0x186)](_0x27a4e1)?_0x27a4e1:a0_0x4d01c9[_0x2e252e(0x164)](_0xf36401,_0x27a4e1);if(_0xa19701){const _0x417645=this['isPathAccessible'](_0x4fcc7,_0xf36401,_0xa19701);if(!_0x417645)throw new Error(_0x2e252e(0x17b)+_0x27a4e1);}try{await a0_0x3fe062['access'](_0x4fcc7);}catch(_0xd3c810){throw new Error(_0x2e252e(0x189)+_0x27a4e1);}const _0x193c5d=await a0_0x3fe062[_0x2e252e(0x144)](_0x4fcc7);if(_0x193c5d['size']>this['replaceConfig'][_0x2e252e(0x145)])throw new Error(_0x2e252e(0x14a)+this[_0x2e252e(0x15f)]['MAX_FILE_SIZE']/(0x400*0x400)+'MB):\x20'+_0x27a4e1);let _0xfa7045=await a0_0x3fe062[_0x2e252e(0x15c)](_0x4fcc7,_0x2e252e(0x157));const _0x29ddc0=_0xfa7045;let _0x5582e2=![];if(this[_0x2e252e(0x15f)]['CREATE_BACKUPS']){const _0x278f50=_0x4fcc7+this[_0x2e252e(0x15f)][_0x2e252e(0x195)];try{await a0_0x3fe062[_0x2e252e(0x177)](_0x278f50,_0x29ddc0,_0x2e252e(0x157)),_0x5582e2=!![];}catch(_0x4c4e11){this['logger']?.['warn'](_0x2e252e(0x181)+_0x4c4e11[_0x2e252e(0x19c)]);}}let _0x2ba903=0x0;const _0x9af47f=[];for(const _0x1885a7 of _0x327079){const _0x2473eb=await this[_0x2e252e(0x175)](_0xfa7045,_0x1885a7['oldContent'],_0x1885a7['newContent'],_0x1885a7[_0x2e252e(0x1a9)],_0x1885a7['mode']);_0xfa7045=_0x2473eb['newContent'],_0x2ba903+=_0x2473eb[_0x2e252e(0x18e)],_0x9af47f[_0x2e252e(0x193)]({'oldContent':_0x1885a7['oldContent'][_0x2e252e(0x172)](0x0,0x32)+(_0x1885a7['oldContent'][_0x2e252e(0x187)]>0x32?'...':''),'newContent':_0x1885a7[_0x2e252e(0x150)]['substring'](0x0,0x32)+(_0x1885a7[_0x2e252e(0x150)][_0x2e252e(0x187)]>0x32?_0x2e252e(0x17e):''),'count':_0x2473eb[_0x2e252e(0x18e)],'mode':_0x1885a7[_0x2e252e(0x19e)],'linesLimit':_0x1885a7['linesLimit']});}_0x2ba903>0x0&&await a0_0x3fe062['writeFile'](_0x4fcc7,_0xfa7045,_0x2e252e(0x157));const _0x227c26=_0x2ba903>0x0?this[_0x2e252e(0x17c)](_0x29ddc0,_0xfa7045):null;return{'filePath':_0x27a4e1,'resolvedPath':_0x4fcc7,'success':!![],'replacementsMade':_0x2ba903,'backupCreated':_0x5582e2,'replacementDetails':_0x9af47f,'diff':_0x227c26,'message':_0x2ba903>0x0?_0x2e252e(0x1a5)+_0x2ba903+_0x2e252e(0x1a6)+_0x27a4e1:_0x2e252e(0x158)+_0x27a4e1+'\x20(content\x20not\x20found)'};}['isPathAccessible'](_0x4b90fd,_0x2e9c24,_0x3973af){const _0x361d9e=a0_0x4859f8,_0x1d3715=a0_0x4d01c9[_0x361d9e(0x159)](_0x2e9c24,_0x4b90fd);if(!_0x1d3715[_0x361d9e(0x198)]('..')&&!a0_0x4d01c9[_0x361d9e(0x186)](_0x1d3715))return!![];if(_0x3973af[_0x361d9e(0x178)])for(const _0x5524ec of _0x3973af['writeEnabledDirectories']){const _0x5579ae=a0_0x4d01c9['relative'](_0x5524ec,_0x4b90fd);if(!_0x5579ae['startsWith']('..')&&!a0_0x4d01c9['isAbsolute'](_0x5579ae))return!![];}return![];}async[a0_0x4859f8(0x175)](_0x5200b7,_0x395095,_0x33e35d,_0x44c5ae,_0x25c875){const _0x5979ad=a0_0x4859f8;if(!_0x44c5ae){const _0x2cf235=this['countOccurrences'](_0x5200b7,_0x395095);if(_0x2cf235===0x0)return{'newContent':_0x5200b7,'count':0x0};const _0x2f050a=_0x5200b7['split'](_0x395095)['join'](_0x33e35d);return{'newContent':_0x2f050a,'count':_0x2cf235};}const _0x1e52cc=this[_0x5979ad(0x14c)](_0x44c5ae),_0x113dd4=_0x5200b7['split']('\x0a');let _0x10a01c=0x0;for(let _0x5e4139=0x0;_0x5e4139<_0x113dd4['length'];_0x5e4139++){const _0xc99d8c=_0x5e4139+0x1;if(_0x1e52cc['has'](_0xc99d8c)){if(_0x113dd4[_0x5e4139]['includes'](_0x395095)){const _0x1d3545=this[_0x5979ad(0x18c)](_0x113dd4[_0x5e4139],_0x395095);_0x113dd4[_0x5e4139]=_0x113dd4[_0x5e4139][_0x5979ad(0x169)](_0x395095)['join'](_0x33e35d),_0x10a01c+=_0x1d3545;}}}return{'newContent':_0x113dd4['join']('\x0a'),'count':_0x10a01c};}['countOccurrences'](_0x248085,_0xfce241){if(!_0xfce241)return 0x0;return _0x248085['split'](_0xfce241)['length']-0x1;}[a0_0x4859f8(0x14c)](_0x418f8d){const _0x96eedf=a0_0x4859f8,_0x4bc3f7=new Set();if(!_0x418f8d||_0x418f8d[_0x96eedf(0x1a4)]()==='')return _0x4bc3f7;const _0x3624ab=_0x418f8d[_0x96eedf(0x169)](',');for(const _0x3cb890 of _0x3624ab){const _0x226fa5=_0x3cb890[_0x96eedf(0x1a4)]();if(_0x226fa5==='')continue;if(_0x226fa5[_0x96eedf(0x170)]('-')){const [_0x301999,_0x1f445f]=_0x226fa5[_0x96eedf(0x169)]('-')['map'](_0x11f5dd=>parseInt(_0x11f5dd[_0x96eedf(0x1a4)](),0xa));if(!isNaN(_0x301999)&&!isNaN(_0x1f445f)&&_0x1f445f-_0x301999<this[_0x96eedf(0x15f)][_0x96eedf(0x15a)])for(let _0x43a340=_0x301999;_0x43a340<=_0x1f445f;_0x43a340++){_0x4bc3f7[_0x96eedf(0x18a)](_0x43a340);}}else{const _0x15f343=parseInt(_0x226fa5,0xa);!isNaN(_0x15f343)&&_0x4bc3f7[_0x96eedf(0x18a)](_0x15f343);}}return _0x4bc3f7;}['generateDiff'](_0x122f28,_0x292413){const _0x5092c2=a0_0x4859f8,_0x3d7a30=_0x122f28['split']('\x0a'),_0x18833f=_0x292413[_0x5092c2(0x169)]('\x0a');let _0x474ef8=-0x1,_0x47f998=-0x1;const _0x1628f3=Math['max'](_0x3d7a30[_0x5092c2(0x187)],_0x18833f[_0x5092c2(0x187)]);for(let _0x407b14=0x0;_0x407b14<_0x1628f3;_0x407b14++){const _0x35e834=_0x407b14<_0x3d7a30['length']?_0x3d7a30[_0x407b14]:'',_0x521515=_0x407b14<_0x18833f['length']?_0x18833f[_0x407b14]:'';if(_0x35e834!==_0x521515){if(_0x474ef8===-0x1)_0x474ef8=_0x407b14;_0x47f998=_0x407b14;}}if(_0x474ef8===-0x1)return _0x5092c2(0x15e);const _0xdb5e1f=this['replaceConfig'][_0x5092c2(0x1a8)],_0xc589c0=Math['max'](0x0,_0x474ef8-_0xdb5e1f),_0x40bc8a=Math['min'](_0x1628f3-0x1,_0x47f998+_0xdb5e1f);if(_0x40bc8a-_0xc589c0>this[_0x5092c2(0x15f)][_0x5092c2(0x196)])return _0x5092c2(0x1a7)+(_0x40bc8a-_0xc589c0+0x1)+_0x5092c2(0x185)+('Changed\x20lines:\x20'+(_0x474ef8+0x1)+_0x5092c2(0x16f)+(_0x47f998+0x1));let _0x4df03d=_0x5092c2(0x16e)+(_0xc589c0+0x1)+','+(_0x40bc8a-_0xc589c0+0x1)+'\x20+'+(_0xc589c0+0x1)+','+(_0x40bc8a-_0xc589c0+0x1)+'\x20@@\x0a';for(let _0x511d9c=_0xc589c0;_0x511d9c<=_0x40bc8a;_0x511d9c++){const _0x381130=_0x511d9c<_0x3d7a30['length']?_0x3d7a30[_0x511d9c]:'',_0x6f5cba=_0x511d9c<_0x18833f['length']?_0x18833f[_0x511d9c]:'';_0x381130===_0x6f5cba?_0x4df03d+='\x20\x20'+_0x381130+'\x0a':(_0x4df03d+='-\x20'+_0x381130+'\x0a',_0x4df03d+='+\x20'+_0x6f5cba+'\x0a');}return _0x4df03d;}['generateSummary'](_0x917267){const _0x2c86da=a0_0x4859f8;return('\x0aProcessed\x20'+_0x917267[_0x2c86da(0x14b)]+_0x2c86da(0x173)+_0x917267[_0x2c86da(0x19d)]+'\x20file(s)\x0aTotal\x20replacements:\x20'+_0x917267['totalReplacements']+'\x0aBackups\x20created:\x20'+_0x917267[_0x2c86da(0x191)]+'\x0aErrors:\x20'+_0x917267[_0x2c86da(0x148)]+'\x0a\x20\x20\x20\x20')['trim']();}async[a0_0x4859f8(0x160)](_0x4df08e){const _0x4201fa=a0_0x4859f8;this[_0x4201fa(0x174)]?.['info'](_0x4201fa(0x1a2),{'operationId':_0x4df08e});}}export default FileContentReplaceTool;function a0_0x4809(_0x532512,_0x3e3013){_0x532512=_0x532512-0x144;const _0x3b22e2=a0_0x3b22();let _0x480921=_0x3b22e2[_0x532512];if(a0_0x4809['QcMxrW']===undefined){var _0x2be3a8=function(_0x59b5a2){const _0x4585bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fe062='',_0x4d01c9='';for(let _0x50fe14=0x0,_0x1591e5,_0x23e2c5,_0xf3b1bb=0x0;_0x23e2c5=_0x59b5a2['charAt'](_0xf3b1bb++);~_0x23e2c5&&(_0x1591e5=_0x50fe14%0x4?_0x1591e5*0x40+_0x23e2c5:_0x23e2c5,_0x50fe14++%0x4)?_0x3fe062+=String['fromCharCode'](0xff&_0x1591e5>>(-0x2*_0x50fe14&0x6)):0x0){_0x23e2c5=_0x4585bc['indexOf'](_0x23e2c5);}for(let _0x261611=0x0,_0x9688f=_0x3fe062['length'];_0x261611<_0x9688f;_0x261611++){_0x4d01c9+='%'+('00'+_0x3fe062['charCodeAt'](_0x261611)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d01c9);};a0_0x4809['OYUhGz']=_0x2be3a8,a0_0x4809['TPqdEC']={},a0_0x4809['QcMxrW']=!![];}const _0x103e13=_0x3b22e2[0x0],_0x23337c=_0x532512+_0x103e13,_0x3c76eb=a0_0x4809['TPqdEC'][_0x23337c];return!_0x3c76eb?(_0x480921=a0_0x4809['OYUhGz'](_0x480921),a0_0x4809['TPqdEC'][_0x23337c]=_0x480921):_0x480921=_0x3c76eb,_0x480921;}function a0_0x3b22(){const _0x586fec=['D2fYBG','BwvZC2fNzq','zMLSzxnnB2rPzMLLza','Bw9Kzq','ntK4ntiZoff5wMnvrG','zMLSzs1JB250zw50lxjLCgXHy2u','ntm5mZe4zhb1r29k','rMLSzsbJB250zw50ihjLCgXHy2uGDg9VBcbJBgvHBNvWignVBxbSzxrLza','CMvWBgfJzw1LBNrZ','DhjPBq','twfKzsa','ihjLCgXHy2vTzw50khmPigLUia','rgLMzIb0B28GBgfYz2uGka','reLgrL9dt05urvHux0XjtKvt','BgLUzxnmAw1PDa','CMvWBgfJzq','z2vUzxjHDgvtDw1Tyxj5','C3rHDa','tufyx0zjtevFu0LArq','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','ndqXmZC5nuPjz3fSrq','zxjYB3jZ','zMLSzxmGBxvZDcbIzsbHBIbHCNjHEq','rMLSzsb0B28GBgfYz2uGkg1HEca','zMLSzxnqCM9JzxnZzwq','CgfYC2vmAw5LuMfUz2vZ','tufyx1jfueXbq0vnru5uu19qrvjFrKLmrq','zxHLyW','ig1PC3nPBMCGB2XKq29UDgvUDa','BMv3q29UDgvUDa','CMvWBgfJzw1LBNrZtwfKzq','ChjVy2vZC0zPBgu','mta0oty4mfbJq3ntBa','tufyx09mrf9dt05uru5ux1njwKu','zMLSzxm','rMLSzsa','DxrMltG','tM8GCMvWBgfJzw1LBNrZig1HzguGAw4G','CMvSyxrPDMu','tufyx0XjtKvFuKfor0vFu0LArq','BM9Uzq','CMvHzezPBgu','mtC2nZG5nMTuyNHwBq','tM8GzgLMzMvYzw5Jzxm','CMvWBgfJzunVBMzPzW','y2XLyw51Ca','CgfYC2vqyxjHBwv0zxjZ','yxbWBhLuCMLTtw9Kzq','twLZC2LUzYbVBgqTy29UDgvUDcbPBIbYzxbSywnLihrHzW','CMvZB2X2zq','yMfJA3vWq3jLyxrLza','s0iP','Cgf0Aa','B2XKq29UDgvUDa','C3bSAxq','uMvWBgfJzw1LBNqGAw4G','Dg90ywXszxbSywnLBwvUDhm','tufyx0zjtevtx1bfuL9puevsqvrjt04','CgfYC2u','qeaGlq','ihrVia','Aw5JBhvKzxm','igzPBgvZigLUig9UzsbVCgvYyxrPB24','C3vIC3rYAw5N','igzPBguOCYKktw9KAwzPzwqG','Bg9Nz2vY','yxbWBhLszxbSywnLBwvUDa','revgqvvmvf9uuKLnx01preu','D3jPDgvgAwXL','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','AxnbCNjHEq','sLnptIbTDxn0igHHDMuGiMzPBgvZiIbHCNjHEq','ugf0AcbUB3qGywnJzxnZAwjSztOG','z2vUzxjHDgveAwzM','ugf0Acb0CMf2zxjZywWGkc4UksbUB3qGywXSB3DLzcbMB3iGC2vJDxjPDhK6ia','lI4U','Aw5MBW','CgfYC2vytuW','rMfPBgvKihrVignYzwf0zsbIywnRDxa6ia','mJm3mdi5n0fQtNPwrG','AxnbC3LUyW','zxH0CMfJDef0DhjPyNv0zq','igXPBMvZksWGC2HVD2LUzYbZDw1Tyxj5ig9UBhK6cG','AxnbyNnVBhv0zq','BgvUz3rO','CgfYC2vku09o','rMLSzsbUB3qGzM91BMq6ia','ywrK','B2XKq29UDgvUDcb0B28GBgfYz2uGkg1HEca','y291BNrpy2n1CNjLBMnLCW','BMv3q29UDgvUDcb0B28GBgfYz2uGkg1HEca','y291BNq','cI0Gtwf4Aw11BsbMAwXLCYbWzxiGB3bLCMf0Aw9UoIa','tufyx05fv19dt05uru5ux1njwKu','yMfJA3vWC0nYzwf0zwq','otq1nZu2D2zYAwL0','ChvZAa','z2v0rgvZy3jPChrPB24','qKfds1vqx0vyvevou0LptG','tufyx0rjrKzFteLorvm','sw52ywXPzcbTB2rLoIa','C3rHCNrZv2L0Aa','DgLTzw91Da','rwfJAcbMAwXLig11C3qGAgf2zsbHihbHDgG'];a0_0x3b22=function(){return _0x586fec;};return a0_0x3b22();}
@@ -1 +1 @@
1
- const a0_0x4a8135=a0_0x16d8;(function(_0x46c182,_0x135876){const _0x273188=a0_0x16d8,_0x28b8af=_0x46c182();while(!![]){try{const _0xb1597=parseInt(_0x273188(0x113))/0x1*(parseInt(_0x273188(0xed))/0x2)+parseInt(_0x273188(0x119))/0x3+parseInt(_0x273188(0xf0))/0x4+parseInt(_0x273188(0xfe))/0x5+parseInt(_0x273188(0x111))/0x6+-parseInt(_0x273188(0xfb))/0x7+-parseInt(_0x273188(0x10b))/0x8;if(_0xb1597===_0x135876)break;else _0x28b8af['push'](_0x28b8af['shift']());}catch(_0x1cd831){_0x28b8af['push'](_0x28b8af['shift']());}}}(a0_0x4755,0xce4e3));import{BaseTool}from'./baseTool.js';import a0_0x14816d from'../utilities/tagParser.js';import a0_0x2d08cc from'../utilities/directoryAccessManager.js';import a0_0xa233b7 from'fs/promises';import a0_0x291fbd from'path';function a0_0x4755(){const _0x511d9f=['C2XPy2u','mZG0nZm4rNvKtffH','C291CMnLugf0Aa','mtK0nJaXrM9Pzu1W','zgvSzxrL','rMfPBgvKihrVihjLywqGzMLSzsa','ihrVia','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9Yia','BM93','nda2mZi4nfnbqLbArq','A2v5CW','rMfPBgvKihrVihbHCNnLigzPBgvZExn0zw0GCgfYyw1LDgvYCZOG','ywXSB3DLzerPCMvJDg9YAwvZ','C291CMnLlxbHDgG','rMfPBgvKihrVigDLDcbZDgf0CYbMB3iG','ywn0Aw9UCW','oIbZB3vYy2uTCgf0AcbPCYbYzxf1AxjLzcbMB3iG','oIbVDxrWDxqTCgf0AcbPCYbYzxf1AxjLzcbMB3iGD3jPDgu','rMLSzvn5C3rLBsberujvrZOGChjVAMvJDerPCIbPCZO','C3rHDa','y3jLyxrLlwrPCG','DgLTzw91Da','yxbWzw5KrMLSzq','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','BMfTzq','igj5DgvZicHTyxGG','DhjPBq','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','q3jLyxrLzcbKAxjLy3rVCNKG','C2L6zq','CMvHzezPBgu','CMvUyw1L','Dhj1zq','tuiPcI0GrgfUz2vYB3vZigzPBguGDhLWzxmGyMXVy2TLzaOTifbHDgGGDhjHDMvYC2fSihbYB3rLy3rPB24klsbcywnRDxaGy3jLyxrLzcbMB3iGzgvZDhj1y3rPDMuGB3bLCMf0Aw9UCWOkru5dt0rjtKCGu1vque9svdOklsb1Dgy4icHKzwzHDwX0kqOTigfZy2LPcI0GyMfZzty0cI0GyMLUyxj5cI0GAgv4cIaGica','igj5DgvZigzYB20G','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25Zig11C3qGyMuGyw4GyxjYyxKUifjLy2vPDMvKihr5Cgu6ia','y29UDgvUDa','oIbMAwXLihr5CguGBM90igfSBg93zwq6ia','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9Yia','C3rYAw5N','zgvZDc1WyxrO','BgLZDa','D3jPDgu','igL0zw1ZigLUia','DxrMoa','oIb0ExbLigLZihjLCxvPCMvK','Bw92zuzPBgu','ru5pru5u','rMfPBgvKihrVigrLBgv0zsbMAwXLia','C3rYAw5NAwz5','lMnTza','Bg9Nz2vY','ywXSB3DLza','rMfPBgvKihrVigXPC3qGzgLYzwn0B3j5ia','CMvHza','v3jPDguGywnJzxnZigrLBMLLzdOG','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','q29WAwvKia','DhLWzq','zgLYzwn0B3j5','ywnJzxnZ','BgvUz3rO','zgvZDfbHDgG','Bg9N','B3bLCMf0Aw9UsgLZDg9YEq','C3rHDhm','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','uMvHzcbHy2nLC3mGzgvUAwvKoIa','ywXSB3DLzev4DgvUC2LVBNm','zMLSzvbHDgG','AxneAxjLy3rVCNK','C3vIC3rYAw5N','AxnbBgXVD2vKrMLSzuv4DgvUC2LVBG','CgfYC2vbDhrYAwj1DgvZ','z2v0v29YA2LUz0rPCMvJDg9YEq','lMv4zq','u291CMnLihjLywqGywnJzxnZigrLBMLLzdOG','y3jLyxrLlwrPCNm','y29Kzq','rMfPBgvKihrVig1VDMuG','zgLYBMfTzq','CMf3q29UDgvUDa','Bwf4rMLSzvnPEMu','y3DK','zgvSzxrLrMLSzq','rMLSzvn5C3rLBsb0B29SihbHCNnPBMCGCgfYyw1LDgvYCW','B3v0Chv0ugf0Aa','AxntEw1IB2XPy0XPBMS','sw52ywXPzcbWyxjHBwv0zxjZoIbWyxjHBxmGBxvZDcbIzsbHBIbVyMPLy3q','rMLSzvn5C3rLBsberujvrZOGvxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEtO','rMfPBgvKihrVignOzwnRigv4Axn0zw5JzsbVzIa','BgLZDerPCMvJDg9YEq','z2v0u3vWCg9YDgvKqwn0Aw9UCW','ywrKvg9iAxn0B3j5','CMvHC29U','BwTKAxi','zxH0CMfJDfrHz3nxAxrOqxr0CMLIDxrLCW','DMfSAwrHDgvszwfKqwnJzxnZ','zgvIDwC','rMLSzvn5C3rLBsberujvrZOGzgLYzwn0B3j5qwnJzxnZigLZoG','yNL0zuXLBMD0Aa','B2jQzwn0','oIbKzxn0lxbHDgGGAxmGCMvXDwLYzwqGzM9Yia','B3v0Chv0lxbHDgG','AxngAwXL','Bw92zq','rgvZDgLUyxrPB24GD3jPDguGywnJzxnZigrLBMLLzdOG','Dg9ju09tDhjPBMC','rgvSzxrLzca','AxnbCNjHEq','zxHPC3rZ','BwfW','Cgf0Aa','yMXVy2TLzev4DgvUC2LVBNm','zMLSDgvY','zMLSzq','mtjdq3PnwNG','igj5DgvZihrVia','yxbWzw5K','nJCYmtuWohPPBg54Ba','y3jLyxrLrgLYCW','rMLSzvn5C3rLBsberujvrZOGrNvSBcbKAxjLy3rVCNLby2nLC3mGB2jQzwn0oG','y3jLyxrLuMvSyxrPDMvqyxrO','DMfSAwrHDgvqyxrOqwnJzxnZ','zw5JB2rPBMC','CMvZB2X2zq','BxrPBwu','qwn0Aw9Uia','BM9YBwfSAxPL','y29WEq','mZm0otm1m3PywfvTuW','Aw5JBhvKzxm','DMfSAwrHDgvxCML0zufJy2vZCW','ntm0otCYme56sg5RAq','BwvZC2fNzq','rMfPBgvKihrVihDYAxrLigzPBguG','uMv0CMLLDMvKihn0yxrZigzVCIa','y3jLyxrLrgLYzwn0B3j5','ChvZAa','lMnVBq','Dg9mB3DLCKnHC2u','CMvZB2X2zvbHDgG','y29WEuzPBgu','zMLSzs1WyxrO','zxH0BMfTzq','z2v0rMLSzvn0yxrZ','mZiXmdm3nZznAwPuCwu','z2v0rgvZy3jPChrPB24','igrVzxmGBM90igv4Axn0','rMfPBgvKihrVignVChKG','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ'];a0_0x4755=function(){return _0x511d9f;};return a0_0x4755();}import a0_0x17ea40 from'crypto';import{TOOL_STATUS,FILE_EXTENSIONS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class FileSystemTool extends BaseTool{constructor(_0x3cf2f4={},_0x3d13dd=null){const _0x5dcd83=a0_0x16d8;super(_0x3cf2f4,_0x3d13dd),this['requiresProject']=!![],this['isAsync']=![],this[_0x5dcd83(0x125)]=_0x3cf2f4[_0x5dcd83(0x125)]||0x7530,this[_0x5dcd83(0x149)]=_0x3cf2f4['maxConcurrentOperations']||0x5,this['maxFileSize']=_0x3cf2f4['maxFileSize']||SYSTEM_DEFAULTS['MAX_FILE_SIZE'],this[_0x5dcd83(0x155)]=_0x3cf2f4[_0x5dcd83(0x155)]||null,this['blockedExtensions']=_0x3cf2f4[_0x5dcd83(0xea)]||[_0x5dcd83(0x15c),'.bat',_0x5dcd83(0x143),'.scr',_0x5dcd83(0x104)],this[_0x5dcd83(0x11c)]=_0x3cf2f4['allowedDirectories']||null,this[_0x5dcd83(0x151)]=[],this[_0x5dcd83(0x153)]=new a0_0x2d08cc(_0x3cf2f4,_0x3d13dd);}[a0_0x4a8135(0x10c)](){const _0x2215f0=a0_0x4a8135;return'\x0aFile\x20System\x20Tool:\x20Perform\x20file\x20and\x20directory\x20operations\x20safely\x20within\x20the\x20project\x20scope.\x0a\x0aCRITICAL:\x20Both\x20XML\x20and\x20JSON\x20formats\x20are\x20fully\x20supported.\x20When\x20using\x20XML\x20format,\x20commands\x20are\x20automatically\x20converted\x20to\x20the\x20appropriate\x20structure\x20internally\x20-\x20you\x20don\x27t\x20need\x20to\x20manually\x20wrap\x20them\x20in\x20an\x20actions\x20array.\x0a\x0aUSAGE\x20-\x20TWO\x20FORMATS\x20SUPPORTED:\x0a\x0aFORMAT\x201\x20-\x20XML\x20STYLE\x20(Recommended):\x0a[tool\x20id=\x22filesystem\x22]\x0a<read\x20file-path=\x22src/index.js\x22\x20/>\x0a<write\x20output-path=\x22src/components/Button.js\x22>\x0aconst\x20Button\x20=\x20()\x20=>\x20{\x0a\x20\x20return\x20<button>Click\x20me</button>;\x0a};\x0aexport\x20default\x20Button;\x0a</write>\x0a[/tool]\x0a\x0aFORMAT\x202\x20-\x20JSON\x20STYLE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x20\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22read\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\x22write\x22,\x20\x0a\x20\x20\x20\x20\x20\x20\x22outputPath\x22:\x20\x22src/components/Button.js\x22,\x0a\x20\x20\x20\x20\x20\x20\x22content\x22:\x20\x22const\x20Button\x20=\x20()\x20=>\x20{\x20return\x20<button>Click\x20me</button>;\x20};\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aIMPORTANT:\x20\x0a-\x20Use\x20either\x20format\x20consistently.\x20Do\x20NOT\x20mix\x20formats\x20in\x20a\x20single\x20command.\x0a-\x20XML\x20format\x20is\x20recommended\x20for\x20single\x20operations\x20and\x20better\x20readability\x0a-\x20JSON\x20format\x20is\x20recommended\x20for\x20complex\x20multi-action\x20operations\x0a-\x20Both\x20formats\x20work\x20equally\x20well\x20and\x20produce\x20the\x20same\x20results\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20read:\x20Read\x20file\x20contents\x0a-\x20write:\x20Write\x20content\x20to\x20file\x0a-\x20append:\x20Append\x20content\x20to\x20existing\x20file\x0a-\x20delete:\x20Delete\x20a\x20file\x0a-\x20copy:\x20Copy\x20file\x20from\x20source\x20to\x20destination\x0a-\x20move:\x20Move/rename\x20file\x0a-\x20create-dir:\x20Create\x20directory\x0a-\x20list:\x20List\x20directory\x20contents\x0a-\x20exists:\x20Check\x20if\x20file/directory\x20exists\x0a-\x20stats:\x20Get\x20file/directory\x20metadata\x0a\x0aPARAMETERS:\x0a-\x20file-path:\x20Path\x20to\x20file\x20to\x20read\x0a-\x20output-path:\x20Path\x20where\x20to\x20write/create\x20file\x0a-\x20source-path:\x20Source\x20path\x20for\x20copy/move\x20operations\x0a-\x20dest-path:\x20Destination\x20path\x20for\x20copy/move\x20operations\x0a-\x20directory:\x20Directory\x20path\x20for\x20directory\x20operations\x0a-\x20content:\x20Content\x20to\x20write/append\x0a-\x20encoding:\x20File\x20encoding\x20(default:\x20utf8)\x0a-\x20create-dirs:\x20Create\x20parent\x20directories\x20if\x20they\x20don\x27t\x20exist\x20(true/false)\x0a\x0aEXAMPLES:\x0a\x0aSIMPLE\x20FILE\x20CREATION\x20(XML\x20format\x20-\x20recommended):\x0a[tool\x20id=\x22filesystem\x22]\x0a<write\x20output-path=\x22hello.c\x22>\x0a#include\x20<stdio.h>\x0a\x0aint\x20main()\x20{\x0a\x20\x20\x20\x20printf(\x22Hello,\x20World!\x5cn\x22);\x0a\x20\x20\x20\x20return\x200;\x0a}\x0a</write>\x0a[/tool]\x0a\x0aREADING\x20FILES\x20(XML\x20format):\x0a[tool\x20id=\x22filesystem\x22]\x0a<read\x20file-path=\x22package.json\x22\x20/>\x0a[/tool]\x0a\x0aMULTIPLE\x20OPERATIONS\x20(JSON\x20format\x20recommended):\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22read\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\x22write\x22,\x0a\x20\x20\x20\x20\x20\x20\x22outputPath\x22:\x20\x22src/backup.js\x22,\x0a\x20\x20\x20\x20\x20\x20\x22content\x22:\x20\x22//\x20Backup\x20file\x5cnconsole.log(\x27backup\x27);\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aOTHER\x20XML\x20EXAMPLES:\x0a[tool\x20id=\x22filesystem\x22]\x0a<copy\x20source-path=\x22template.js\x22\x20dest-path=\x22src/component.js\x22\x20/>\x0a<create-dir\x20directory=\x22src/components/ui\x22\x20/>\x0a<list\x20directory=\x22src\x22\x20/>\x0a[/tool]\x0a\x0aSECURITY:\x0a-\x20Operations\x20restricted\x20to\x20project\x20directory\x0a-\x20File\x20size\x20limits\x20enforced\x20(max\x20'+Math['round'](this[_0x2215f0(0x163)]/0x400/0x400)+_0x2215f0(0x132);}['parseParameters'](_0x4f26d4){const _0x3c325b=a0_0x4a8135;try{const _0x17bc6e={},_0x4ad2b7=[];this[_0x3c325b(0x144)]?.[_0x3c325b(0x173)](_0x3c325b(0x166),{'contentLength':_0x4f26d4['length'],'contentPreview':_0x4f26d4[_0x3c325b(0x158)](0x0,0xc8)});const _0x7e344=['read',_0x3c325b(0x114),_0x3c325b(0xfa),'move',_0x3c325b(0x124),_0x3c325b(0x13a),_0x3c325b(0xe7),'stats',_0x3c325b(0xef)];for(const _0x490cd0 of _0x7e344){const _0x2c1161=a0_0x14816d[_0x3c325b(0x171)](_0x4f26d4,_0x490cd0);for(const _0x676378 of _0x2c1161){const _0x887e62={'type':_0x490cd0,..._0x676378['attributes']};_0x887e62[_0x3c325b(0x108)]&&(_0x887e62['filePath']=_0x887e62[_0x3c325b(0x108)],delete _0x887e62['file-path']),_0x887e62[_0x3c325b(0x178)]&&(_0x887e62['outputPath']=_0x887e62[_0x3c325b(0x178)],delete _0x887e62[_0x3c325b(0x178)]),_0x887e62[_0x3c325b(0x11d)]&&(_0x887e62[_0x3c325b(0x112)]=_0x887e62['source-path'],delete _0x887e62['source-path']),_0x887e62['dest-path']&&(_0x887e62[_0x3c325b(0x14f)]=_0x887e62['dest-path'],delete _0x887e62[_0x3c325b(0x139)]),_0x887e62['create-dirs']&&(_0x887e62[_0x3c325b(0xf1)]=_0x887e62['create-dirs']===_0x3c325b(0x131),delete _0x887e62['create-dirs']),_0x4ad2b7[_0x3c325b(0x103)](_0x887e62);}}const _0x484749=_0x4f26d4['matchAll'](/<write\s+([^>]*)>(.*?)<\/write>/gs);for(const _0x5e7443 of _0x484749){const _0x288084=new a0_0x14816d(),_0x42e71b=_0x288084['parseAttributes'](_0x5e7443[0x1]),_0x149804=_0x5e7443[0x2]['trim'](),_0x55b092={'type':'write','content':_0x149804,..._0x42e71b};_0x55b092['output-path']&&(_0x55b092[_0x3c325b(0x167)]=_0x55b092['output-path'],delete _0x55b092['output-path']),_0x55b092['create-dirs']&&(_0x55b092[_0x3c325b(0xf1)]=_0x55b092[_0x3c325b(0x15e)]==='true',delete _0x55b092[_0x3c325b(0x15e)]),_0x4ad2b7['push'](_0x55b092);}const _0x2acabd=_0x4f26d4['matchAll'](/<append\s+([^>]*)>(.*?)<\/append>/gs);for(const _0x5e551c of _0x2acabd){const _0x53864d=new a0_0x14816d(),_0x4cdb4e=_0x53864d[_0x3c325b(0x15a)](_0x5e551c[0x1]),_0x490f7f=_0x5e551c[0x2][_0x3c325b(0x12a)](),_0x578af8={'type':'append','content':_0x490f7f,..._0x4cdb4e};_0x578af8['file-path']&&(_0x578af8['filePath']=_0x578af8['file-path'],delete _0x578af8[_0x3c325b(0x108)]),_0x4ad2b7['push'](_0x578af8);}return _0x17bc6e['actions']=_0x4ad2b7,_0x17bc6e[_0x3c325b(0x162)]=_0x4f26d4[_0x3c325b(0x12a)](),this['logger']?.[_0x3c325b(0x173)]('Parsed\x20FileSystem\x20tool\x20parameters',{'totalActions':_0x4ad2b7['length'],'actionTypes':_0x4ad2b7['map'](_0x509978=>_0x509978['type']),'actions':_0x4ad2b7[_0x3c325b(0xe8)](_0x10a4fc=>({'type':_0x10a4fc['type'],'filePath':_0x10a4fc['filePath'],'outputPath':_0x10a4fc['outputPath'],'hasContent':!!_0x10a4fc['content']}))}),_0x17bc6e;}catch(_0x255516){throw new Error(_0x3c325b(0x11b)+_0x255516['message']);}}[a0_0x4a8135(0x12c)](){return['actions'];}[a0_0x4a8135(0x10f)](_0x2fc070){const _0x5d7286=a0_0x4a8135,_0x4af72b=[];if(!_0x2fc070[_0x5d7286(0x11f)]||!Array[_0x5d7286(0xe6)](_0x2fc070['actions'])||_0x2fc070['actions'][_0x5d7286(0x14e)]===0x0)_0x4af72b['push'](_0x5d7286(0x12b));else for(const [_0x13e38b,_0x5e6ba8]of _0x2fc070[_0x5d7286(0x11f)]['entries']()){if(!_0x5e6ba8[_0x5d7286(0x14b)]){_0x4af72b['push'](_0x5d7286(0xf8)+(_0x13e38b+0x1)+_0x5d7286(0x13e));continue;}switch(_0x5e6ba8[_0x5d7286(0x14b)]){case _0x5d7286(0x147):case'delete':case _0x5d7286(0xe7):case'stats':!_0x5e6ba8['filePath']&&_0x4af72b['push'](_0x5d7286(0xf8)+(_0x13e38b+0x1)+_0x5d7286(0x137)+_0x5e6ba8['type']);break;case'write':!_0x5e6ba8['outputPath']&&_0x4af72b['push'](_0x5d7286(0xf8)+(_0x13e38b+0x1)+_0x5d7286(0x121));!_0x5e6ba8['content']&&_0x5e6ba8[_0x5d7286(0x135)]!==''&&_0x4af72b[_0x5d7286(0x103)](_0x5d7286(0xf8)+(_0x13e38b+0x1)+':\x20content\x20is\x20required\x20for\x20write');break;case'append':!_0x5e6ba8[_0x5d7286(0x156)]&&_0x4af72b['push']('Action\x20'+(_0x13e38b+0x1)+':\x20file-path\x20is\x20required\x20for\x20append');!_0x5e6ba8['content']&&_0x5e6ba8['content']!==''&&_0x4af72b['push'](_0x5d7286(0xf8)+(_0x13e38b+0x1)+':\x20content\x20is\x20required\x20for\x20append');break;case _0x5d7286(0xfa):case'move':!_0x5e6ba8['sourcePath']&&_0x4af72b['push']('Action\x20'+(_0x13e38b+0x1)+_0x5d7286(0x120)+_0x5e6ba8['type']);!_0x5e6ba8[_0x5d7286(0x14f)]&&_0x4af72b['push'](_0x5d7286(0xf8)+(_0x13e38b+0x1)+_0x5d7286(0x177)+_0x5e6ba8['type']);break;case _0x5d7286(0x124):case _0x5d7286(0x13a):!_0x5e6ba8['directory']&&_0x4af72b[_0x5d7286(0x103)](_0x5d7286(0xf8)+(_0x13e38b+0x1)+_0x5d7286(0x117)+_0x5e6ba8['type']);break;default:_0x4af72b[_0x5d7286(0x103)]('Action\x20'+(_0x13e38b+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x5e6ba8['type']);}_0x5e6ba8[_0x5d7286(0x156)]&&!this['isAllowedFileExtension'](_0x5e6ba8[_0x5d7286(0x156)])&&_0x4af72b['push'](_0x5d7286(0xf8)+(_0x13e38b+0x1)+_0x5d7286(0x136)+a0_0x291fbd['extname'](_0x5e6ba8['filePath'])),_0x5e6ba8['outputPath']&&!this[_0x5d7286(0x159)](_0x5e6ba8[_0x5d7286(0x167)])&&_0x4af72b['push']('Action\x20'+(_0x13e38b+0x1)+':\x20file\x20type\x20not\x20allowed:\x20'+a0_0x291fbd[_0x5d7286(0x109)](_0x5e6ba8['outputPath']));}return{'valid':_0x4af72b['length']===0x0,'errors':_0x4af72b};}async['execute'](_0x4f6b6e,_0x479384){const _0x2b534b=a0_0x4a8135;if(!_0x4f6b6e||typeof _0x4f6b6e!==_0x2b534b(0x176))throw new Error(_0x2b534b(0x169));const {actions:_0x4cf380}=_0x4f6b6e;if(!_0x4cf380)throw new Error('Invalid\x20parameters:\x20actions\x20is\x20required.\x20Received\x20params:\x20'+JSON[_0x2b534b(0x142)](Object[_0x2b534b(0x11a)](_0x4f6b6e)));if(!Array[_0x2b534b(0xe6)](_0x4cf380))throw new Error(_0x2b534b(0x134)+typeof _0x4cf380);if(_0x4cf380[_0x2b534b(0x14e)]===0x0)throw new Error('Invalid\x20parameters:\x20actions\x20array\x20is\x20empty');const {projectDir:_0x553cba,agentId:_0xab7ce0,directoryAccess:_0x3adcf3}=_0x479384,_0x1e64e1=_0x3adcf3||this['directoryAccessManager'][_0x2b534b(0x127)]({'workingDirectory':_0x553cba||process[_0x2b534b(0x164)](),'writeEnabledDirectories':[_0x553cba||process['cwd']()],'restrictToProject':!![]});_0x3adcf3&&_0x3adcf3['workingDirectory']?(console[_0x2b534b(0x150)](_0x2b534b(0x16a),_0x3adcf3['workingDirectory']),console[_0x2b534b(0x150)](_0x2b534b(0xf2),JSON[_0x2b534b(0x142)](_0x3adcf3,null,0x2))):(console['log']('FileSystem\x20DEBUG:\x20Using\x20fallback\x20working\x20directory:',_0x553cba||process[_0x2b534b(0x164)]()),console['log'](_0x2b534b(0x174),_0x3adcf3),console['log'](_0x2b534b(0x122),_0x553cba));const _0x5196ae=[];for(const _0x1319c4 of _0x4cf380){try{let _0x1dd747;switch(_0x1319c4['type']){case _0x2b534b(0x147):_0x1dd747=await this['readFile'](_0x1319c4['filePath'],_0x1e64e1,_0x1319c4[_0x2b534b(0xf5)]);break;case _0x2b534b(0x13b):_0x1dd747=await this['writeFile'](_0x1319c4['outputPath'],_0x1319c4[_0x2b534b(0x135)],_0x1e64e1,{'encoding':_0x1319c4[_0x2b534b(0xf5)],'createDirs':_0x1319c4[_0x2b534b(0xf1)]});break;case'append':_0x1dd747=await this['appendToFile'](_0x1319c4['filePath'],_0x1319c4[_0x2b534b(0x135)],_0x1e64e1,_0x1319c4[_0x2b534b(0xf5)]);break;case'delete':_0x1dd747=await this['deleteFile'](_0x1319c4[_0x2b534b(0x156)],_0x1e64e1);break;case'copy':_0x1dd747=await this['copyFile'](_0x1319c4[_0x2b534b(0x112)],_0x1319c4[_0x2b534b(0x14f)],_0x1e64e1);break;case _0x2b534b(0xe2):_0x1dd747=await this['moveFile'](_0x1319c4['sourcePath'],_0x1319c4[_0x2b534b(0x14f)],_0x1e64e1);break;case _0x2b534b(0x124):_0x1dd747=await this[_0x2b534b(0x102)](_0x1319c4['directory'],_0x1e64e1);break;case _0x2b534b(0x13a):_0x1dd747=await this[_0x2b534b(0x16c)](_0x1319c4['directory'],_0x1e64e1);break;case _0x2b534b(0xe7):_0x1dd747=await this['checkExists'](_0x1319c4['filePath'],_0x1e64e1);break;case _0x2b534b(0x152):_0x1dd747=await this[_0x2b534b(0x10a)](_0x1319c4[_0x2b534b(0x156)],_0x1e64e1);break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x1319c4['type']);}_0x5196ae['push'](_0x1dd747),this[_0x2b534b(0x16e)](_0x1319c4,_0x1dd747,_0x479384['agentId']);}catch(_0x20510a){const _0x8f9687={'success':![],'action':_0x1319c4[_0x2b534b(0x14b)],'error':_0x20510a[_0x2b534b(0xff)],'filePath':_0x1319c4['filePath']||_0x1319c4[_0x2b534b(0x167)]||_0x1319c4['directory']};_0x5196ae[_0x2b534b(0x103)](_0x8f9687),this['addToHistory'](_0x1319c4,_0x8f9687,_0x479384['agentId']);}}return{'success':!![],'actions':_0x5196ae,'executedActions':_0x4cf380[_0x2b534b(0x14e)],'toolUsed':'filesys'};}async['readFile'](_0x5224ab,_0x51a05b,_0x26395e=a0_0x4a8135(0x13d)){const _0x4b6637=a0_0x4a8135,_0xcf98db=this['directoryAccessManager'][_0x4b6637(0x15b)](_0x51a05b),_0x524a69=this[_0x4b6637(0x106)](_0x5224ab,_0xcf98db),_0x505b57=this[_0x4b6637(0x153)][_0x4b6637(0x172)](_0x524a69,_0x51a05b);if(!_0x505b57[_0x4b6637(0x145)])throw new Error(_0x4b6637(0x154)+_0x505b57['reason']+'\x20('+_0x505b57[_0x4b6637(0xe9)]+')');try{const _0x58d2da=await a0_0xa233b7[_0x4b6637(0x123)](_0x524a69);if(_0x58d2da[_0x4b6637(0x12e)]>this[_0x4b6637(0x163)])throw new Error('File\x20too\x20large:\x20'+_0x58d2da[_0x4b6637(0x12e)]+'\x20bytes\x20(max\x20'+this[_0x4b6637(0x163)]+')');const _0x56eb09=await a0_0xa233b7[_0x4b6637(0x12f)](_0x524a69,_0x26395e);return{'success':!![],'action':'read','filePath':this[_0x4b6637(0x153)][_0x4b6637(0xf3)](_0x524a69,_0x51a05b),'content':_0x56eb09,'size':_0x58d2da['size'],'encoding':_0x26395e,'lastModified':_0x58d2da[_0x4b6637(0xf7)][_0x4b6637(0xe4)](),'message':'Read\x20'+_0x58d2da['size']+_0x4b6637(0x133)+_0x5224ab};}catch(_0x3dab67){throw new Error(_0x4b6637(0x115)+_0x5224ab+':\x20'+_0x3dab67[_0x4b6637(0xff)]);}}async['writeFile'](_0x49c506,_0x3b0057,_0x15cd2a,_0x1b1427={}){const _0x17e6d2=a0_0x4a8135,{encoding:encoding='utf8',createDirs:createDirs=!![]}=_0x1b1427,_0x42088c=this['directoryAccessManager'][_0x17e6d2(0x15b)](_0x15cd2a),_0x1e9aa1=this[_0x17e6d2(0x106)](_0x49c506,_0x42088c),_0x28c364=this['directoryAccessManager']['validateWriteAccess'](_0x1e9aa1,_0x15cd2a);if(!_0x28c364['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x28c364[_0x17e6d2(0x16f)]+'\x20('+_0x28c364[_0x17e6d2(0xe9)]+')');try{const _0x1c2ecb=Buffer['byteLength'](_0x3b0057,encoding);if(_0x1c2ecb>this['maxFileSize'])throw new Error('Content\x20too\x20large:\x20'+_0x1c2ecb+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');if(createDirs){const _0x15a08c=a0_0x291fbd[_0x17e6d2(0x161)](_0x1e9aa1);await a0_0xa233b7[_0x17e6d2(0x170)](_0x15a08c,{'recursive':!![]});}let _0x1bebb6=null;try{await a0_0xa233b7[_0x17e6d2(0x14d)](_0x1e9aa1),_0x1bebb6=_0x1e9aa1+'.backup-'+Date['now'](),await a0_0xa233b7[_0x17e6d2(0x107)](_0x1e9aa1,_0x1bebb6);}catch{}await a0_0xa233b7['writeFile'](_0x1e9aa1,_0x3b0057,encoding);const _0x1af95a=await a0_0xa233b7[_0x17e6d2(0x123)](_0x1e9aa1),_0x588d2d=this[_0x17e6d2(0x153)][_0x17e6d2(0xf3)](_0x1e9aa1,_0x15cd2a);return{'success':!![],'action':_0x17e6d2(0x13b),'outputPath':_0x588d2d,'fullPath':_0x1e9aa1,'size':_0x1af95a[_0x17e6d2(0x12e)],'encoding':encoding,'backupPath':_0x1bebb6?this[_0x17e6d2(0x153)][_0x17e6d2(0xf3)](_0x1bebb6,_0x15cd2a):null,'backupFullPath':_0x1bebb6||null,'message':'Wrote\x20'+_0x1af95a[_0x17e6d2(0x12e)]+_0x17e6d2(0xee)+_0x1e9aa1};}catch(_0x1bc40c){throw new Error(_0x17e6d2(0x100)+_0x1e9aa1+':\x20'+_0x1bc40c[_0x17e6d2(0xff)]);}}async['appendToFile'](_0x2d3baf,_0x96952c,_0x40ae0e,_0x4bddd9='utf8'){const _0x464f14=a0_0x4a8135,_0x5a629e=this['directoryAccessManager']['getWorkingDirectory'](_0x40ae0e),_0x507118=this[_0x464f14(0x106)](_0x2d3baf,_0x5a629e),_0x13fb8b=this['directoryAccessManager'][_0x464f14(0xfd)](_0x507118,_0x40ae0e);if(!_0x13fb8b['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x13fb8b['reason']+'\x20('+_0x13fb8b[_0x464f14(0xe9)]+')');try{let _0x13bd7c=0x0;try{const _0x256308=await a0_0xa233b7['stat'](_0x507118);_0x13bd7c=_0x256308[_0x464f14(0x12e)];}catch{}const _0x36e5cd=Buffer[_0x464f14(0x175)](_0x96952c,_0x4bddd9);if(_0x13bd7c+_0x36e5cd>this['maxFileSize'])throw new Error('File\x20would\x20become\x20too\x20large:\x20'+(_0x13bd7c+_0x36e5cd)+_0x464f14(0x129)+this['maxFileSize']+')');await a0_0xa233b7[_0x464f14(0x126)](_0x507118,_0x96952c,_0x4bddd9);const _0x2277e8=await a0_0xa233b7['stat'](_0x507118),_0x7a03e9=this['directoryAccessManager'][_0x464f14(0xf3)](_0x507118,_0x40ae0e);return{'success':!![],'action':'append','filePath':_0x7a03e9,'fullPath':_0x507118,'appendedBytes':_0x36e5cd,'totalSize':_0x2277e8[_0x464f14(0x12e)],'encoding':_0x4bddd9,'message':'Appended\x20'+_0x36e5cd+'\x20bytes\x20to\x20'+_0x507118};}catch(_0x36df66){throw new Error('Failed\x20to\x20append\x20to\x20file\x20'+_0x507118+':\x20'+_0x36df66['message']);}}async[a0_0x4a8135(0x165)](_0x563345,_0x108b84){const _0x1ce8ee=a0_0x4a8135,_0x1d553c=this[_0x1ce8ee(0x153)][_0x1ce8ee(0x15b)](_0x108b84),_0x53e994=this['resolvePath'](_0x563345,_0x1d553c),_0x4b1762=this[_0x1ce8ee(0x153)][_0x1ce8ee(0xfd)](_0x53e994,_0x108b84);if(!_0x4b1762['allowed'])throw new Error('Delete\x20access\x20denied:\x20'+_0x4b1762[_0x1ce8ee(0x16f)]+'\x20('+_0x4b1762['path']+')');try{const _0x21079e=await a0_0xa233b7['stat'](_0x53e994),_0x3d6890=_0x53e994+'.deleted-backup-'+Date[_0x1ce8ee(0x118)]();await a0_0xa233b7[_0x1ce8ee(0x107)](_0x53e994,_0x3d6890),await a0_0xa233b7['unlink'](_0x53e994);const _0x32294c=this[_0x1ce8ee(0x153)][_0x1ce8ee(0xf3)](_0x53e994,_0x108b84),_0x31b247=this[_0x1ce8ee(0x153)]['createRelativePath'](_0x3d6890,_0x108b84);return{'success':!![],'action':_0x1ce8ee(0x114),'filePath':_0x32294c,'fullPath':_0x53e994,'size':_0x21079e['size'],'backupPath':_0x31b247,'backupFullPath':_0x3d6890,'message':_0x1ce8ee(0xe5)+_0x53e994+'\x20(backup\x20created)'};}catch(_0x38e418){throw new Error(_0x1ce8ee(0x141)+_0x53e994+':\x20'+_0x38e418[_0x1ce8ee(0xff)]);}}async['copyFile'](_0xa4dbf0,_0x597efd,_0x142d16){const _0x5724ac=a0_0x4a8135,_0x1dde45=this['directoryAccessManager'][_0x5724ac(0x15b)](_0x142d16),_0x24de14=this['resolvePath'](_0xa4dbf0,_0x1dde45),_0x586493=this[_0x5724ac(0x106)](_0x597efd,_0x1dde45),_0x12a062=this[_0x5724ac(0x153)][_0x5724ac(0x172)](_0x24de14,_0x142d16);if(!_0x12a062['allowed'])throw new Error(_0x5724ac(0x15d)+_0x12a062['reason']+'\x20('+_0x12a062['path']+')');const _0x3090f1=this[_0x5724ac(0x153)][_0x5724ac(0xfd)](_0x586493,_0x142d16);if(!_0x3090f1['allowed'])throw new Error(_0x5724ac(0xe3)+_0x3090f1['reason']+'\x20('+_0x3090f1['path']+')');try{const _0x5a7bbf=await a0_0xa233b7[_0x5724ac(0x123)](_0x24de14);if(_0x5a7bbf['size']>this[_0x5724ac(0x163)])throw new Error('Source\x20file\x20too\x20large:\x20'+_0x5a7bbf['size']+'\x20bytes');const _0x30cec6=a0_0x291fbd['dirname'](_0x586493);await a0_0xa233b7[_0x5724ac(0x170)](_0x30cec6,{'recursive':!![]}),await a0_0xa233b7['copyFile'](_0x24de14,_0x586493);const _0x13c241=this[_0x5724ac(0x153)][_0x5724ac(0xf3)](_0x24de14,_0x142d16),_0x325294=this['directoryAccessManager'][_0x5724ac(0xf3)](_0x586493,_0x142d16);return{'success':!![],'action':_0x5724ac(0xfa),'sourcePath':_0x13c241,'destPath':_0x325294,'sourceFullPath':_0x24de14,'destFullPath':_0x586493,'size':_0x5a7bbf['size'],'message':_0x5724ac(0x14a)+_0x24de14+_0x5724ac(0x116)+_0x586493};}catch(_0x35c9d9){throw new Error(_0x5724ac(0x10e)+_0x24de14+'\x20to\x20'+_0x586493+':\x20'+_0x35c9d9[_0x5724ac(0xff)]);}}async[a0_0x4a8135(0x13f)](_0x5cbcf6,_0x4ed61f,_0x41f1a6){const _0x32b16d=a0_0x4a8135,_0x131c45=this[_0x32b16d(0x153)]['getWorkingDirectory'](_0x41f1a6),_0x3f46fa=this[_0x32b16d(0x106)](_0x5cbcf6,_0x131c45),_0x1d89af=this[_0x32b16d(0x106)](_0x4ed61f,_0x131c45),_0x113624=this['directoryAccessManager'][_0x32b16d(0x172)](_0x3f46fa,_0x41f1a6);if(!_0x113624['allowed'])throw new Error('Read\x20access\x20denied\x20for\x20source:\x20'+_0x113624['reason']+'\x20('+_0x113624['path']+')');const _0x262d97=this['directoryAccessManager']['validateWriteAccess'](_0x1d89af,_0x41f1a6);if(!_0x262d97['allowed'])throw new Error('Write\x20access\x20denied\x20for\x20destination:\x20'+_0x262d97[_0x32b16d(0x16f)]+'\x20('+_0x262d97['path']+')');try{const _0x588ae9=await a0_0xa233b7['stat'](_0x3f46fa),_0x24646e=a0_0x291fbd['dirname'](_0x1d89af);await a0_0xa233b7['mkdir'](_0x24646e,{'recursive':!![]}),await a0_0xa233b7[_0x32b16d(0x130)](_0x3f46fa,_0x1d89af);const _0x1af727=this[_0x32b16d(0x153)][_0x32b16d(0xf3)](_0x3f46fa,_0x41f1a6),_0x174a00=this[_0x32b16d(0x153)]['createRelativePath'](_0x1d89af,_0x41f1a6);return{'success':!![],'action':'move','sourcePath':_0x1af727,'destPath':_0x174a00,'fullSourcePath':_0x3f46fa,'fullDestPath':_0x1d89af,'size':_0x588ae9['size'],'message':'Moved\x20'+_0x5cbcf6+_0x32b16d(0x116)+_0x4ed61f};}catch(_0x23fe05){throw new Error(_0x32b16d(0x160)+_0x5cbcf6+'\x20to\x20'+_0x4ed61f+':\x20'+_0x23fe05[_0x32b16d(0xff)]);}}async['createDirectory'](_0x8b4ee1,_0x2d2ba1){const _0x47960e=a0_0x4a8135,_0x4bfa97=this[_0x47960e(0x153)][_0x47960e(0x15b)](_0x2d2ba1),_0x3be836=this['resolvePath'](_0x8b4ee1,_0x4bfa97),_0x13b7e4=this['directoryAccessManager'][_0x47960e(0xfd)](_0x3be836,_0x2d2ba1);if(!_0x13b7e4[_0x47960e(0x145)])throw new Error(_0x47960e(0x148)+_0x13b7e4['reason']+'\x20('+_0x13b7e4[_0x47960e(0xe9)]+')');try{await a0_0xa233b7['mkdir'](_0x3be836,{'recursive':!![]});const _0x32772e=this['directoryAccessManager'][_0x47960e(0xf3)](_0x3be836,_0x2d2ba1);return{'success':!![],'action':'create-dir','directory':_0x32772e,'fullPath':_0x3be836,'message':_0x47960e(0x12d)+_0x8b4ee1};}catch(_0x357e2e){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x8b4ee1+':\x20'+_0x357e2e[_0x47960e(0xff)]);}}async[a0_0x4a8135(0x16c)](_0x500883,_0x282379){const _0x283e3b=a0_0x4a8135,_0xe6159=this[_0x283e3b(0x153)][_0x283e3b(0x15b)](_0x282379),_0x20847b=this['resolvePath'](_0x500883,_0xe6159),_0x47e38d=this['directoryAccessManager'][_0x283e3b(0x172)](_0x20847b,_0x282379);if(!_0x47e38d[_0x283e3b(0x145)])throw new Error('Read\x20access\x20denied:\x20'+_0x47e38d['reason']+'\x20('+_0x47e38d[_0x283e3b(0xe9)]+')');try{const _0x11da56=await a0_0xa233b7['readdir'](_0x20847b,{'withFileTypes':!![]}),_0x2f81ac=[];for(const _0x3908c9 of _0x11da56){const _0x5a18dd=a0_0x291fbd['join'](_0x20847b,_0x3908c9[_0x283e3b(0x128)]),_0xfacd8f=await a0_0xa233b7['stat'](_0x5a18dd);_0x2f81ac[_0x283e3b(0x103)]({'name':_0x3908c9[_0x283e3b(0x128)],'type':_0x3908c9['isDirectory']()?'directory':_0x283e3b(0xec),'size':_0x3908c9[_0x283e3b(0xe1)]()?_0xfacd8f[_0x283e3b(0x12e)]:undefined,'lastModified':_0xfacd8f['mtime'][_0x283e3b(0xe4)](),'permissions':_0xfacd8f['mode'],'isSymlink':_0x3908c9['isSymbolicLink']()});}const _0x5c6e31=this['directoryAccessManager']['createRelativePath'](_0x20847b,_0x282379);return{'success':!![],'action':_0x283e3b(0x13a),'directory':_0x5c6e31,'fullPath':_0x20847b,'contents':_0x2f81ac,'totalItems':_0x2f81ac['length'],'directories':_0x2f81ac[_0x283e3b(0xeb)](_0x304053=>_0x304053['type']===_0x283e3b(0x14c))['length'],'files':_0x2f81ac['filter'](_0xcdbe34=>_0xcdbe34[_0x283e3b(0x14b)]==='file')[_0x283e3b(0x14e)],'message':'Listed\x20'+_0x2f81ac[_0x283e3b(0x14e)]+_0x283e3b(0x13c)+_0x500883};}catch(_0x3241da){throw new Error(_0x283e3b(0x146)+_0x500883+':\x20'+_0x3241da['message']);}}async['checkExists'](_0x248409,_0x3d3ae0){const _0x23e4b9=a0_0x4a8135,_0x3085fd=this['directoryAccessManager']['getWorkingDirectory'](_0x3d3ae0),_0x2259dd=this[_0x23e4b9(0x106)](_0x248409,_0x3085fd),_0x5cb5ab=this['directoryAccessManager']['validateReadAccess'](_0x2259dd,_0x3d3ae0);if(!_0x5cb5ab[_0x23e4b9(0x145)])throw new Error('Read\x20access\x20denied:\x20'+_0x5cb5ab['reason']+'\x20('+_0x5cb5ab[_0x23e4b9(0xe9)]+')');try{const _0x57b79b=await a0_0xa233b7['stat'](_0x2259dd),_0x416867=this['directoryAccessManager'][_0x23e4b9(0xf3)](_0x2259dd,_0x3d3ae0);return{'success':!![],'action':_0x23e4b9(0xe7),'filePath':_0x416867,'fullPath':_0x2259dd,'exists':!![],'type':_0x57b79b[_0x23e4b9(0x157)]()?'directory':_0x23e4b9(0xec),'message':_0x248409+'\x20exists\x20as\x20'+(_0x57b79b[_0x23e4b9(0x157)]()?'directory':_0x23e4b9(0xec))};}catch(_0x25217f){if(_0x25217f[_0x23e4b9(0x15f)]===_0x23e4b9(0x140)){const _0x412aad=this[_0x23e4b9(0x153)][_0x23e4b9(0xf3)](_0x2259dd,_0x3d3ae0);return{'success':!![],'action':'exists','filePath':_0x412aad,'fullPath':_0x2259dd,'exists':![],'message':_0x248409+_0x23e4b9(0x10d)};}throw new Error(_0x23e4b9(0x16b)+_0x248409+':\x20'+_0x25217f[_0x23e4b9(0xff)]);}}async[a0_0x4a8135(0x10a)](_0x22a14d,_0x335e44){const _0x49a790=a0_0x4a8135,_0x5ccf5f=this['directoryAccessManager'][_0x49a790(0x15b)](_0x335e44),_0x17c21c=this[_0x49a790(0x106)](_0x22a14d,_0x5ccf5f),_0x445633=this['directoryAccessManager'][_0x49a790(0x172)](_0x17c21c,_0x335e44);if(!_0x445633['allowed'])throw new Error(_0x49a790(0x154)+_0x445633['reason']+'\x20('+_0x445633[_0x49a790(0xe9)]+')');try{const _0x5c2a75=await a0_0xa233b7['stat'](_0x17c21c),_0x3c660b=this['directoryAccessManager']['createRelativePath'](_0x17c21c,_0x335e44);return{'success':!![],'action':_0x49a790(0x152),'filePath':_0x3c660b,'fullPath':_0x17c21c,'stats':{'size':_0x5c2a75['size'],'type':_0x5c2a75[_0x49a790(0x157)]()?'directory':'file','lastModified':_0x5c2a75[_0x49a790(0xf7)][_0x49a790(0xe4)](),'lastAccessed':_0x5c2a75['atime']['toISOString'](),'created':_0x5c2a75['birthtime'][_0x49a790(0xe4)](),'permissions':_0x5c2a75['mode'],'isSymlink':_0x5c2a75[_0x49a790(0x168)]()},'message':_0x49a790(0x101)+_0x22a14d};}catch(_0x26cd2d){throw new Error(_0x49a790(0x11e)+_0x22a14d+':\x20'+_0x26cd2d['message']);}}['resolvePath'](_0x40165b,_0x22defa){const _0x58f948=a0_0x4a8135;if(a0_0x291fbd['isAbsolute'](_0x40165b))return a0_0x291fbd[_0x58f948(0xf9)](_0x40165b);return a0_0x291fbd[_0x58f948(0xf6)](_0x22defa,_0x40165b);}[a0_0x4a8135(0xf4)](_0x3eb273,_0x1c8d10,_0x496a0f='read'){const _0x9470da=a0_0x4a8135,_0x2d032c=_0x496a0f===_0x9470da(0x13b)?this[_0x9470da(0x153)]['validateWriteAccess'](_0x3eb273,_0x1c8d10):this['directoryAccessManager']['validateReadAccess'](_0x3eb273,_0x1c8d10);if(!_0x2d032c[_0x9470da(0x145)])throw new Error(_0x496a0f+'\x20access\x20denied:\x20'+_0x2d032c['reason']+'\x20('+_0x2d032c['path']+')');return _0x2d032c;}[a0_0x4a8135(0x159)](_0x121998){const _0x1814b3=a0_0x4a8135,_0x31b99c=a0_0x291fbd['extname'](_0x121998)[_0x1814b3(0x105)]();if(this['blockedExtensions'][_0x1814b3(0xfc)](_0x31b99c))return![];if(this['allowedExtensions']&&!this[_0x1814b3(0x155)][_0x1814b3(0xfc)](_0x31b99c))return![];return!![];}[a0_0x4a8135(0x16e)](_0x19b137,_0x4f0ef1,_0x12dc1f){const _0x427a00=a0_0x4a8135,_0xa6d44b={'timestamp':new Date()['toISOString'](),'agentId':_0x12dc1f,'action':_0x19b137[_0x427a00(0x14b)],'filePath':_0x19b137[_0x427a00(0x156)]||_0x19b137['outputPath']||_0x19b137['directory'],'success':_0x4f0ef1['success'],'size':_0x4f0ef1[_0x427a00(0x12e)]};this[_0x427a00(0x151)]['push'](_0xa6d44b),this[_0x427a00(0x151)][_0x427a00(0x14e)]>0xc8&&(this['operationHistory']=this[_0x427a00(0x151)][_0x427a00(0x110)](-0xc8));}[a0_0x4a8135(0x16d)](){const _0x4028f1=a0_0x4a8135;return[_0x4028f1(0x147),'write',_0x4028f1(0xef),_0x4028f1(0x114),'copy','move','create-dir',_0x4028f1(0x13a),'exists',_0x4028f1(0x152)];}['getParameterSchema'](){const _0xddf9ec=a0_0x4a8135;return{'type':'object','properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':'object','properties':{'type':{'type':_0xddf9ec(0x138),'enum':this[_0xddf9ec(0x16d)]()},'filePath':{'type':_0xddf9ec(0x138)},'outputPath':{'type':'string'},'sourcePath':{'type':'string'},'destPath':{'type':_0xddf9ec(0x138)},'directory':{'type':_0xddf9ec(0x138)},'content':{'type':'string'},'encoding':{'type':_0xddf9ec(0x138)},'createDirs':{'type':'boolean'}},'required':['type']}}},'required':['actions']};}['getOperationHistory'](_0x1095f8=null){const _0xc29acc=a0_0x4a8135;if(_0x1095f8)return this['operationHistory'][_0xc29acc(0xeb)](_0x503c94=>_0x503c94['agentId']===_0x1095f8);return[...this[_0xc29acc(0x151)]];}}function a0_0x16d8(_0x361deb,_0x372a6c){_0x361deb=_0x361deb-0xe1;const _0x4755a0=a0_0x4755();let _0x16d8df=_0x4755a0[_0x361deb];if(a0_0x16d8['qiyGGp']===undefined){var _0x4bf62e=function(_0x89574d){const _0x124c58='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14816d='',_0x2d08cc='';for(let _0xa233b7=0x0,_0x291fbd,_0x17ea40,_0x3cf2f4=0x0;_0x17ea40=_0x89574d['charAt'](_0x3cf2f4++);~_0x17ea40&&(_0x291fbd=_0xa233b7%0x4?_0x291fbd*0x40+_0x17ea40:_0x17ea40,_0xa233b7++%0x4)?_0x14816d+=String['fromCharCode'](0xff&_0x291fbd>>(-0x2*_0xa233b7&0x6)):0x0){_0x17ea40=_0x124c58['indexOf'](_0x17ea40);}for(let _0x3d13dd=0x0,_0x4f26d4=_0x14816d['length'];_0x3d13dd<_0x4f26d4;_0x3d13dd++){_0x2d08cc+='%'+('00'+_0x14816d['charCodeAt'](_0x3d13dd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d08cc);};a0_0x16d8['qQuPCz']=_0x4bf62e,a0_0x16d8['uipKqL']={},a0_0x16d8['qiyGGp']=!![];}const _0x2ee41a=_0x4755a0[0x0],_0x2b20d8=_0x361deb+_0x2ee41a,_0x14ac0a=a0_0x16d8['uipKqL'][_0x2b20d8];return!_0x14ac0a?(_0x16d8df=a0_0x16d8['qQuPCz'](_0x16d8df),a0_0x16d8['uipKqL'][_0x2b20d8]=_0x16d8df):_0x16d8df=_0x14ac0a,_0x16d8df;}export default FileSystemTool;
1
+ function a0_0x13ab(){const _0x165167=['u291CMnLigzPBguGDg9VigXHCMDLoIa','CgfYC2vqyxjHBwv0zxjZ','D3jPDgvgAwXL','BwfW','zgvIDwC','n3rWsuTerW','mZu3ndy0vxvNv1bc','CgfYC2vbDhrYAwj1DgvZ','zxHLy3v0zq','CMvZB2X2zq','y2HLy2TfEgLZDhm','y29UDgvUDa','lMrLBgv0zwqTyMfJA3vWlq','mNbpCvzmuW','yxbWzw5K','z2v0ugfYyw1LDgvYu2nOzw1H','C3rYAw5NAwz5','ChvZAa','BwvZC2fNzq','DMfSAwrHDgvxCML0zufJy2vZCW','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9Yia','qxbWzw5KzwqG','DhLWzq','m1LLDwPtBW','nJG2nZK2tMrhtxv6','C291CMnLlxbHDgG','zMLSzxn5CW','igL0zw1ZigLUia','zMLSzvbHDgG','yNL0zuXLBMD0Aa','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25ZigfYCMf5igLZigvTChr5','zxH0BMfTzq','y3jLyxrLlwrPCG','igfJy2vZCYbKzw5Pzwq6ia','y3jLyxrLrgLYzwn0B3j5','oIbMAwXLihr5CguGBM90igfSBg93zwq6ia','BwTKAxi','odbwBefNwgG','ihrVia','rMfPBgvKihrVigfWCgvUzcb0BYbMAwXLia','zw50CMLLCW','CMvHzezPBgu','BgLZDa','yxbWzw5KrMLSzq','y29WEuzPBgu','C3vJy2vZCW','Dhj1zq','rMfPBgvKihrVihDYAxrLigzPBguG','B2jQzwn0','Cgf0Aa','AxnbBgXVD2vKrMLSzuv4DgvUC2LVBG','DxrMoa','ugfYC2vKiezPBgvtExn0zw0GDg9VBcbWyxjHBwv0zxjZ','rMfPBgvKihrVihjLywqGzMLSzsa','uMvHzcbHy2nLC3mGzgvUAwvKoIa','mJaYndCYtKzWywTc','A2v5CW','CMvZB2X2zvbHDgG','Dg9ju09tDhjPBMC','AxntEw1IB2XPy0XPBMS','D3jPDgu','rMfPBgvKihrVig1VDMuG','Bw9Kzq','ywn0Aw9UCW','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNKG','qwn0Aw9Uia','AxnbCNjHEq','Bw92zq','rMLSzvn5C3rLBsberujvrZOGvxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEtO','BxrPBwu','y3DK','igj5DgvZigzYB20G','ovDgshjfCa','ywDLBNrjza','igrVzxmGBM90igv4Axn0','igj5DgvZihrVia','zgvZDfbHDgG','zgLYzwn0B3j5','q29WAwvKia','u291CMnLihjLywqGywnJzxnZigrLBMLLzdOG','zxHPC3rZ','Bwf4rMLSzvnPEMu','CMf3q29UDgvUDa','yxbWzw5Kvg9gAwXL','DhjPBq','rMfPBgvKihrVignVChKG','C291CMnLugf0Aa','AxneAxjLy3rVCNK','ru5pru5u','lMnVBq','yM9VBgvHBG','zgvSzxrL','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','C3rHDhm','CMvHzgrPCG','CMvXDwLYzxnqCM9Qzwn0','zgvZDc1WyxrO','rMLSzvn5C3rLBsberujvrZOGrNvSBcbKAxjLy3rVCNLby2nLC3mGB2jQzwn0oG','tufyx0zjtevFu0LArq','nti5mZi0ogvyq0vXqq','ntaYotG0rvvbrhzJ','rMLSzvn5C3rLBsberujvrZOGChjVAMvJDerPCIbPCZO','Bg9N','Bw92zuzPBgu','zMLSzq','BMfTzq','ywXSB3DLza','sw52ywXPzcbWyxjHBwv0zxjZoIbWyxjHBxmGBxvZDcbIzsbHBIbVyMPLy3q','DMfSAwrHDgvqyxrOqwnJzxnZ','igj5DgvZ','y29WEq','uMv0CMLLDMvKihn0yxrZigzVCIa','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','Bwf0y2HbBgW','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','z2v0rgvZy3jPChrPB24','oIbZB3vYy2uTCgf0AcbPCYbYzxf1AxjLzcbMB3iG','igv4Axn0CYbHCYa','BgvUz3rO','yxr0CMLIDxrLCW','rgvSzxrLigfJy2vZCYbKzw5Pzwq6ia','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','CMvHC29U','zgLYBMfTzq','z2v0rMLSzvn0yxrZ','zMLSzs1WyxrO','AxngAwXL','lNnJCG','zgvSzxrLrMLSzq','y3jLyxrLuMvSyxrPDMvqyxrO','DMfSAwrHDgvszwfKqwnJzxnZ','z2v0v29YA2LUz0rPCMvJDg9YEq','ywXSB3DLzev4DgvUC2LVBNm','C3rHDa','Bg9Nz2vY','mty3odG0merlC0Hvra','BgLZDerPCMvJDg9YEq','yMXVy2TLzev4DgvUC2LVBNm','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25Zig11C3qGyMuGyw4GyxjYyxKUifjLy2vPDMvKihr5Cgu6ia','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfWCgvUza','B3bLCMf0Aw9UsgLZDg9YEq','y3jLyxrLrgLYCW','CMvHza','mJC3mZK5ofjiq3jxCq','B3v0Chv0ugf0Aa','v3jPDguGywnJzxnZigrLBMLLzdOG','ywnJzxnZ','ywrKvg9iAxn0B3j5','uMvHzca','y29Kzq','C3rYAw5N','zw5JB2rPBMC','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','C2L6zq','B3v0Chv0lxbHDgG','yMLYDgH0Aw1L','yxjYyxK','igj5DgvZicHTyxGG','lMnTza'];a0_0x13ab=function(){return _0x165167;};return a0_0x13ab();}const a0_0x1b257c=a0_0x4a13;(function(_0x49b399,_0x2a8bff){const _0x386410=a0_0x4a13,_0x547b9d=_0x49b399();while(!![]){try{const _0xcc1b26=-parseInt(_0x386410(0x12e))/0x1*(-parseInt(_0x386410(0x135))/0x2)+parseInt(_0x386410(0x13f))/0x3*(parseInt(_0x386410(0x18c))/0x4)+parseInt(_0x386410(0x1b0))/0x5+parseInt(_0x386410(0x1b8))/0x6*(-parseInt(_0x386410(0x1cd))/0x7)+-parseInt(_0x386410(0x15f))/0x8*(parseInt(_0x386410(0x170))/0x9)+parseInt(_0x386410(0x14d))/0xa*(-parseInt(_0x386410(0x140))/0xb)+parseInt(_0x386410(0x18b))/0xc;if(_0xcc1b26===_0x2a8bff)break;else _0x547b9d['push'](_0x547b9d['shift']());}catch(_0x369c3a){_0x547b9d['push'](_0x547b9d['shift']());}}}(a0_0x13ab,0x42a38));import{BaseTool}from'./baseTool.js';function a0_0x4a13(_0x598ef7,_0x16ee93){_0x598ef7=_0x598ef7-0x12e;const _0x13abe9=a0_0x13ab();let _0x4a131d=_0x13abe9[_0x598ef7];if(a0_0x4a13['sqriQH']===undefined){var _0x5b239e=function(_0x3b76b4){const _0x16c7b1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f981f='',_0x38ecb0='';for(let _0x2b3c54=0x0,_0x12a82a,_0x38a092,_0x1fc8a1=0x0;_0x38a092=_0x3b76b4['charAt'](_0x1fc8a1++);~_0x38a092&&(_0x12a82a=_0x2b3c54%0x4?_0x12a82a*0x40+_0x38a092:_0x38a092,_0x2b3c54++%0x4)?_0x2f981f+=String['fromCharCode'](0xff&_0x12a82a>>(-0x2*_0x2b3c54&0x6)):0x0){_0x38a092=_0x16c7b1['indexOf'](_0x38a092);}for(let _0x3e42cf=0x0,_0x25f746=_0x2f981f['length'];_0x3e42cf<_0x25f746;_0x3e42cf++){_0x38ecb0+='%'+('00'+_0x2f981f['charCodeAt'](_0x3e42cf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38ecb0);};a0_0x4a13['XevNKl']=_0x5b239e,a0_0x4a13['STkIMr']={},a0_0x4a13['sqriQH']=!![];}const _0x293698=_0x13abe9[0x0],_0x439df6=_0x598ef7+_0x293698,_0x493d67=a0_0x4a13['STkIMr'][_0x439df6];return!_0x493d67?(_0x4a131d=a0_0x4a13['XevNKl'](_0x4a131d),a0_0x4a13['STkIMr'][_0x439df6]=_0x4a131d):_0x4a131d=_0x493d67,_0x4a131d;}import a0_0x2f981f from'../utilities/tagParser.js';import a0_0x38ecb0 from'../utilities/directoryAccessManager.js';import a0_0x2b3c54 from'fs/promises';import a0_0x12a82a from'path';import a0_0x38a092 from'crypto';import{TOOL_STATUS,FILE_EXTENSIONS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class FileSystemTool extends BaseTool{constructor(_0x1fc8a1={},_0x3e42cf=null){const _0x5b3819=a0_0x4a13;super(_0x1fc8a1,_0x3e42cf),this[_0x5b3819(0x187)]=!![],this['isAsync']=![],this['timeout']=_0x1fc8a1['timeout']||0x7530,this[_0x5b3819(0x19a)]=_0x1fc8a1[_0x5b3819(0x19a)]||0x5,this['maxFileSize']=_0x1fc8a1[_0x5b3819(0x179)]||SYSTEM_DEFAULTS[_0x5b3819(0x18a)],this[_0x5b3819(0x1ad)]=_0x1fc8a1['allowedExtensions']||null,this[_0x5b3819(0x1b2)]=_0x1fc8a1['blockedExtensions']||['.exe','.bat',_0x5b3819(0x1c7),_0x5b3819(0x1a8),_0x5b3819(0x181)],this['allowedDirectories']=_0x1fc8a1['allowedDirectories']||null,this[_0x5b3819(0x1b5)]=[],this[_0x5b3819(0x184)]=new a0_0x38ecb0(_0x1fc8a1,_0x3e42cf);}[a0_0x1b257c(0x19c)](){const _0x16d7be=a0_0x1b257c;return'\x0aFile\x20System\x20Tool:\x20Perform\x20file\x20and\x20directory\x20operations\x20safely\x20within\x20the\x20project\x20scope.\x0a\x0aCRITICAL:\x20Both\x20XML\x20and\x20JSON\x20formats\x20are\x20fully\x20supported.\x20When\x20using\x20XML\x20format,\x20commands\x20are\x20automatically\x20converted\x20to\x20the\x20appropriate\x20structure\x20internally\x20-\x20you\x20don\x27t\x20need\x20to\x20manually\x20wrap\x20them\x20in\x20an\x20actions\x20array.\x0a\x0aUSAGE\x20-\x20TWO\x20FORMATS\x20SUPPORTED:\x0a\x0aFORMAT\x201\x20-\x20XML\x20STYLE\x20(Recommended):\x0a[tool\x20id=\x22filesystem\x22]\x0a<read\x20file-path=\x22src/index.js\x22\x20/>\x0a<write\x20output-path=\x22src/components/Button.js\x22>\x0aconst\x20Button\x20=\x20()\x20=>\x20{\x0a\x20\x20return\x20<button>Click\x20me</button>;\x0a};\x0aexport\x20default\x20Button;\x0a</write>\x0a[/tool]\x0a\x0aFORMAT\x202\x20-\x20JSON\x20STYLE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x20\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22read\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\x22write\x22,\x20\x0a\x20\x20\x20\x20\x20\x20\x22outputPath\x22:\x20\x22src/components/Button.js\x22,\x0a\x20\x20\x20\x20\x20\x20\x22content\x22:\x20\x22const\x20Button\x20=\x20()\x20=>\x20{\x20return\x20<button>Click\x20me</button>;\x20};\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aIMPORTANT:\x20\x0a-\x20Use\x20either\x20format\x20consistently.\x20Do\x20NOT\x20mix\x20formats\x20in\x20a\x20single\x20command.\x0a-\x20XML\x20format\x20is\x20recommended\x20for\x20single\x20operations\x20and\x20better\x20readability\x0a-\x20JSON\x20format\x20is\x20recommended\x20for\x20complex\x20multi-action\x20operations\x0a-\x20Both\x20formats\x20work\x20equally\x20well\x20and\x20produce\x20the\x20same\x20results\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20read:\x20Read\x20file\x20contents\x0a-\x20write:\x20Write\x20content\x20to\x20file\x0a-\x20append:\x20Append\x20content\x20to\x20existing\x20file\x0a-\x20delete:\x20Delete\x20a\x20file\x0a-\x20copy:\x20Copy\x20file\x20from\x20source\x20to\x20destination\x0a-\x20move:\x20Move/rename\x20file\x0a-\x20create-dir:\x20Create\x20directory\x0a-\x20list:\x20List\x20directory\x20contents\x0a-\x20exists:\x20Check\x20if\x20file/directory\x20exists\x0a-\x20stats:\x20Get\x20file/directory\x20metadata\x0a\x0aPARAMETERS:\x0a-\x20file-path:\x20Path\x20to\x20file\x20to\x20read\x0a-\x20output-path:\x20Path\x20where\x20to\x20write/create\x20file\x0a-\x20source-path:\x20Source\x20path\x20for\x20copy/move\x20operations\x0a-\x20dest-path:\x20Destination\x20path\x20for\x20copy/move\x20operations\x0a-\x20directory:\x20Directory\x20path\x20for\x20directory\x20operations\x0a-\x20content:\x20Content\x20to\x20write/append\x0a-\x20encoding:\x20File\x20encoding\x20(default:\x20utf8)\x0a-\x20create-dirs:\x20Create\x20parent\x20directories\x20if\x20they\x20don\x27t\x20exist\x20(true/false)\x0a\x0aEXAMPLES:\x0a\x0aSIMPLE\x20FILE\x20CREATION\x20(XML\x20format\x20-\x20recommended):\x0a[tool\x20id=\x22filesystem\x22]\x0a<write\x20output-path=\x22hello.c\x22>\x0a#include\x20<stdio.h>\x0a\x0aint\x20main()\x20{\x0a\x20\x20\x20\x20printf(\x22Hello,\x20World!\x5cn\x22);\x0a\x20\x20\x20\x20return\x200;\x0a}\x0a</write>\x0a[/tool]\x0a\x0aREADING\x20FILES\x20(XML\x20format):\x0a[tool\x20id=\x22filesystem\x22]\x0a<read\x20file-path=\x22package.json\x22\x20/>\x0a[/tool]\x0a\x0aMULTIPLE\x20OPERATIONS\x20(JSON\x20format\x20recommended):\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22read\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\x22write\x22,\x0a\x20\x20\x20\x20\x20\x20\x22outputPath\x22:\x20\x22src/backup.js\x22,\x0a\x20\x20\x20\x20\x20\x20\x22content\x22:\x20\x22//\x20Backup\x20file\x5cnconsole.log(\x27backup\x27);\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aOTHER\x20XML\x20EXAMPLES:\x0a[tool\x20id=\x22filesystem\x22]\x0a<copy\x20source-path=\x22template.js\x22\x20dest-path=\x22src/component.js\x22\x20/>\x0a<create-dir\x20directory=\x22src/components/ui\x22\x20/>\x0a<list\x20directory=\x22src\x22\x20/>\x0a[/tool]\x0a\x0aSECURITY:\x0a-\x20Operations\x20restricted\x20to\x20project\x20directory\x0a-\x20File\x20size\x20limits\x20enforced\x20(max\x20'+Math['round'](this[_0x16d7be(0x179)]/0x400/0x400)+'MB)\x0a-\x20Dangerous\x20file\x20types\x20blocked\x0a-\x20Path\x20traversal\x20protection\x0a-\x20Backup\x20created\x20for\x20destructive\x20operations\x0a\x0aENCODING\x20SUPPORT:\x0a-\x20utf8\x20(default)\x0a-\x20ascii\x0a-\x20base64\x0a-\x20binary\x0a-\x20hex\x0a\x20\x20\x20\x20';}[a0_0x1b257c(0x1c9)](_0x25f746){const _0x87dce4=a0_0x1b257c;try{const _0xd28166={},_0x15c877=[];this[_0x87dce4(0x1af)]?.['debug']('FileSystem\x20tool\x20parsing\x20parameters',{'contentLength':_0x25f746[_0x87dce4(0x19f)],'contentPreview':_0x25f746['substring'](0x0,0xc8)});const _0x9609e6=['read',_0x87dce4(0x183),'copy','move',_0x87dce4(0x148),_0x87dce4(0x152),_0x87dce4(0x178),_0x87dce4(0x185),_0x87dce4(0x136)];for(const _0x31d13 of _0x9609e6){const _0x4f5e8b=a0_0x2f981f['extractTagsWithAttributes'](_0x25f746,_0x31d13);for(const _0x325af7 of _0x4f5e8b){const _0x7dc5ba={'type':_0x31d13,..._0x325af7[_0x87dce4(0x1a0)]};_0x7dc5ba[_0x87dce4(0x1a6)]&&(_0x7dc5ba[_0x87dce4(0x144)]=_0x7dc5ba['file-path'],delete _0x7dc5ba['file-path']),_0x7dc5ba['output-path']&&(_0x7dc5ba[_0x87dce4(0x1b9)]=_0x7dc5ba['output-path'],delete _0x7dc5ba[_0x87dce4(0x1c3)]),_0x7dc5ba['source-path']&&(_0x7dc5ba[_0x87dce4(0x17e)]=_0x7dc5ba['source-path'],delete _0x7dc5ba[_0x87dce4(0x141)]),_0x7dc5ba[_0x87dce4(0x188)]&&(_0x7dc5ba['destPath']=_0x7dc5ba[_0x87dce4(0x188)],delete _0x7dc5ba[_0x87dce4(0x188)]),_0x7dc5ba['create-dirs']&&(_0x7dc5ba[_0x87dce4(0x1b6)]=_0x7dc5ba['create-dirs']==='true',delete _0x7dc5ba['create-dirs']),_0x15c877['push'](_0x7dc5ba);}}const _0x82d44=_0x25f746['matchAll'](/<write\s+([^>]*)>(.*?)<\/write>/gs);for(const _0x18ba2d of _0x82d44){const _0x2b45bd=new a0_0x2f981f(),_0x37c1da=_0x2b45bd['parseAttributes'](_0x18ba2d[0x1]),_0xd4a146=_0x18ba2d[0x2]['trim'](),_0x1c93a9={'type':'write','content':_0xd4a146,..._0x37c1da};_0x1c93a9[_0x87dce4(0x1c3)]&&(_0x1c93a9[_0x87dce4(0x1b9)]=_0x1c93a9[_0x87dce4(0x1c3)],delete _0x1c93a9[_0x87dce4(0x1c3)]),_0x1c93a9['create-dirs']&&(_0x1c93a9['createDirs']=_0x1c93a9['create-dirs']===_0x87dce4(0x156),delete _0x1c93a9['create-dirs']),_0x15c877['push'](_0x1c93a9);}const _0xb2d0f8=_0x25f746[_0x87dce4(0x199)](/<append\s+([^>]*)>(.*?)<\/append>/gs);for(const _0x1ccbed of _0xb2d0f8){const _0x10a44b=new a0_0x2f981f(),_0x4f610f=_0x10a44b[_0x87dce4(0x12f)](_0x1ccbed[0x1]),_0x24e65a=_0x1ccbed[0x2][_0x87dce4(0x17c)](),_0x2d2cb2={'type':_0x87dce4(0x136),'content':_0x24e65a,..._0x4f610f};_0x2d2cb2['file-path']&&(_0x2d2cb2['filePath']=_0x2d2cb2[_0x87dce4(0x1a6)],delete _0x2d2cb2[_0x87dce4(0x1a6)]),_0x15c877[_0x87dce4(0x139)](_0x2d2cb2);}return _0xd28166[_0x87dce4(0x167)]=_0x15c877,_0xd28166[_0x87dce4(0x17a)]=_0x25f746[_0x87dce4(0x17c)](),this[_0x87dce4(0x1af)]?.[_0x87dce4(0x1cc)](_0x87dce4(0x15c),{'totalActions':_0x15c877['length'],'actionTypes':_0x15c877[_0x87dce4(0x1cb)](_0x56694d=>_0x56694d[_0x87dce4(0x13e)]),'actions':_0x15c877[_0x87dce4(0x1cb)](_0xabd20b=>({'type':_0xabd20b['type'],'filePath':_0xabd20b[_0x87dce4(0x144)],'outputPath':_0xabd20b['outputPath'],'hasContent':!!_0xabd20b['content']}))}),_0xd28166;}catch(_0x1f959f){throw new Error('Failed\x20to\x20parse\x20filesystem\x20parameters:\x20'+_0x1f959f[_0x87dce4(0x13a)]);}}[a0_0x1b257c(0x19b)](){return['actions'];}[a0_0x1b257c(0x1c1)](_0x1cad85){const _0x510b87=a0_0x1b257c,_0xcb794a=[];if(!_0x1cad85[_0x510b87(0x167)]||!Array['isArray'](_0x1cad85['actions'])||_0x1cad85['actions'][_0x510b87(0x19f)]===0x0)_0xcb794a['push'](_0x510b87(0x1a2));else for(const [_0x3dbc79,_0x471f7b]of _0x1cad85['actions'][_0x510b87(0x150)]()){if(!_0x471f7b[_0x510b87(0x13e)]){_0xcb794a[_0x510b87(0x139)](_0x510b87(0x169)+(_0x3dbc79+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x471f7b[_0x510b87(0x13e)]){case'read':case'delete':case'exists':case'stats':!_0x471f7b[_0x510b87(0x144)]&&_0xcb794a['push'](_0x510b87(0x169)+(_0x3dbc79+0x1)+_0x510b87(0x13c)+_0x471f7b['type']);break;case _0x510b87(0x164):!_0x471f7b['outputPath']&&_0xcb794a[_0x510b87(0x139)](_0x510b87(0x169)+(_0x3dbc79+0x1)+':\x20output-path\x20is\x20required\x20for\x20write');!_0x471f7b['content']&&_0x471f7b[_0x510b87(0x133)]!==''&&_0xcb794a[_0x510b87(0x139)]('Action\x20'+(_0x3dbc79+0x1)+':\x20content\x20is\x20required\x20for\x20write');break;case'append':!_0x471f7b['filePath']&&_0xcb794a[_0x510b87(0x139)]('Action\x20'+(_0x3dbc79+0x1)+_0x510b87(0x1b4));!_0x471f7b['content']&&_0x471f7b[_0x510b87(0x133)]!==''&&_0xcb794a[_0x510b87(0x139)](_0x510b87(0x169)+(_0x3dbc79+0x1)+':\x20content\x20is\x20required\x20for\x20append');break;case _0x510b87(0x196):case _0x510b87(0x16b):!_0x471f7b[_0x510b87(0x17e)]&&_0xcb794a['push'](_0x510b87(0x169)+(_0x3dbc79+0x1)+_0x510b87(0x19d)+_0x471f7b[_0x510b87(0x13e)]);!_0x471f7b[_0x510b87(0x174)]&&_0xcb794a[_0x510b87(0x139)]('Action\x20'+(_0x3dbc79+0x1)+':\x20dest-path\x20is\x20required\x20for\x20'+_0x471f7b['type']);break;case'create-dir':case _0x510b87(0x152):!_0x471f7b['directory']&&_0xcb794a['push']('Action\x20'+(_0x3dbc79+0x1)+':\x20directory\x20is\x20required\x20for\x20'+_0x471f7b['type']);break;default:_0xcb794a[_0x510b87(0x139)](_0x510b87(0x169)+(_0x3dbc79+0x1)+_0x510b87(0x198)+_0x471f7b['type']);}_0x471f7b['filePath']&&!this['isAllowedFileExtension'](_0x471f7b['filePath'])&&_0xcb794a['push']('Action\x20'+(_0x3dbc79+0x1)+':\x20file\x20type\x20not\x20allowed:\x20'+a0_0x12a82a['extname'](_0x471f7b['filePath'])),_0x471f7b['outputPath']&&!this['isAllowedFileExtension'](_0x471f7b[_0x510b87(0x1b9)])&&_0xcb794a[_0x510b87(0x139)]('Action\x20'+(_0x3dbc79+0x1)+_0x510b87(0x14b)+a0_0x12a82a[_0x510b87(0x147)](_0x471f7b[_0x510b87(0x1b9)]));}return{'valid':_0xcb794a[_0x510b87(0x19f)]===0x0,'errors':_0xcb794a};}async[a0_0x1b257c(0x130)](_0x370655,_0x1b470b){const _0x490be9=a0_0x1b257c;if(!_0x370655||typeof _0x370655!==_0x490be9(0x158))throw new Error(_0x490be9(0x193));const {actions:_0x4cf16c}=_0x370655;if(!_0x4cf16c)throw new Error('Invalid\x20parameters:\x20actions\x20is\x20required.\x20Received\x20params:\x20'+JSON['stringify'](Object[_0x490be9(0x160)](_0x370655)));if(!Array[_0x490be9(0x16a)](_0x4cf16c))throw new Error(_0x490be9(0x1b3)+typeof _0x4cf16c);if(_0x4cf16c[_0x490be9(0x19f)]===0x0)throw new Error(_0x490be9(0x146));const {projectDir:_0x1f3038,agentId:_0x44c8b6,directoryAccess:_0x566607}=_0x1b470b,_0x41ae47=_0x566607||this['directoryAccessManager']['createDirectoryAccess']({'workingDirectory':_0x1f3038||process[_0x490be9(0x16e)](),'writeEnabledDirectories':[_0x1f3038||process[_0x490be9(0x16e)]()],'restrictToProject':!![]});_0x566607&&_0x566607['workingDirectory']?(console['log'](_0x490be9(0x16c),_0x566607['workingDirectory']),console[_0x490be9(0x18e)](_0x490be9(0x189),JSON[_0x490be9(0x138)](_0x566607,null,0x2))):(console['log']('FileSystem\x20DEBUG:\x20Using\x20fallback\x20working\x20directory:',_0x1f3038||process[_0x490be9(0x16e)]()),console[_0x490be9(0x18e)]('FileSystem\x20DEBUG:\x20directoryAccess\x20is:',_0x566607),console[_0x490be9(0x18e)](_0x490be9(0x18d),_0x1f3038));const _0x46755f=[];for(const _0x3f100b of _0x4cf16c){try{let _0x588841;switch(_0x3f100b[_0x490be9(0x13e)]){case _0x490be9(0x1b7):_0x588841=await this['readFile'](_0x3f100b['filePath'],_0x41ae47,_0x3f100b['encoding']);break;case _0x490be9(0x164):_0x588841=await this[_0x490be9(0x1ca)](_0x3f100b[_0x490be9(0x1b9)],_0x3f100b[_0x490be9(0x133)],_0x41ae47,{'encoding':_0x3f100b[_0x490be9(0x1c0)],'createDirs':_0x3f100b['createDirs']});break;case'append':_0x588841=await this[_0x490be9(0x17b)](_0x3f100b['filePath'],_0x3f100b['content'],_0x41ae47,_0x3f100b['encoding']);break;case _0x490be9(0x183):_0x588841=await this[_0x490be9(0x1a9)](_0x3f100b[_0x490be9(0x144)],_0x41ae47);break;case _0x490be9(0x196):_0x588841=await this['copyFile'](_0x3f100b[_0x490be9(0x17e)],_0x3f100b['destPath'],_0x41ae47);break;case _0x490be9(0x16b):_0x588841=await this[_0x490be9(0x18f)](_0x3f100b['sourcePath'],_0x3f100b['destPath'],_0x41ae47);break;case'create-dir':_0x588841=await this[_0x490be9(0x14a)](_0x3f100b['directory'],_0x41ae47);break;case _0x490be9(0x152):_0x588841=await this[_0x490be9(0x1b1)](_0x3f100b['directory'],_0x41ae47);break;case'exists':_0x588841=await this['checkExists'](_0x3f100b[_0x490be9(0x144)],_0x41ae47);break;case'stats':_0x588841=await this[_0x490be9(0x1a5)](_0x3f100b['filePath'],_0x41ae47);break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x3f100b['type']);}_0x46755f['push'](_0x588841),this['addToHistory'](_0x3f100b,_0x588841,_0x1b470b[_0x490be9(0x171)]);}catch(_0x4aa839){const _0x7c9d22={'success':![],'action':_0x3f100b['type'],'error':_0x4aa839[_0x490be9(0x13a)],'filePath':_0x3f100b['filePath']||_0x3f100b[_0x490be9(0x1b9)]||_0x3f100b['directory']};_0x46755f['push'](_0x7c9d22),this[_0x490be9(0x1bc)](_0x3f100b,_0x7c9d22,_0x1b470b['agentId']);}}return{'success':!![],'actions':_0x46755f,'executedActions':_0x4cf16c['length'],'toolUsed':_0x490be9(0x142)};}async[a0_0x1b257c(0x151)](_0x201b2c,_0x15d907,_0x4dc5c0=a0_0x1b257c(0x15b)){const _0x3926ac=a0_0x1b257c,_0x548de7=this[_0x3926ac(0x184)]['getWorkingDirectory'](_0x15d907),_0x31bd94=this[_0x3926ac(0x161)](_0x201b2c,_0x548de7),_0x4c2b8d=this['directoryAccessManager']['validateReadAccess'](_0x31bd94,_0x15d907);if(!_0x4c2b8d[_0x3926ac(0x192)])throw new Error('Read\x20access\x20denied:\x20'+_0x4c2b8d['reason']+'\x20('+_0x4c2b8d['path']+')');try{const _0x515f6b=await a0_0x2b3c54['stat'](_0x31bd94);if(_0x515f6b[_0x3926ac(0x1c2)]>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x515f6b['size']+_0x3926ac(0x1c6)+this['maxFileSize']+')');const _0x5bf297=await a0_0x2b3c54['readFile'](_0x31bd94,_0x4dc5c0);return{'success':!![],'action':'read','filePath':this['directoryAccessManager']['createRelativePath'](_0x31bd94,_0x15d907),'content':_0x5bf297,'size':_0x515f6b['size'],'encoding':_0x4dc5c0,'lastModified':_0x515f6b[_0x3926ac(0x16d)][_0x3926ac(0x162)](),'message':_0x3926ac(0x1bd)+_0x515f6b[_0x3926ac(0x1c2)]+_0x3926ac(0x16f)+_0x201b2c};}catch(_0x22a32a){throw new Error(_0x3926ac(0x15d)+_0x201b2c+':\x20'+_0x22a32a[_0x3926ac(0x13a)]);}}async[a0_0x1b257c(0x1ca)](_0x185d09,_0x36e424,_0x45a1e2,_0x47d439={}){const _0x23b8d1=a0_0x1b257c,{encoding:encoding='utf8',createDirs:createDirs=!![]}=_0x47d439,_0x36d1cc=this['directoryAccessManager'][_0x23b8d1(0x1ac)](_0x45a1e2),_0x4860af=this['resolvePath'](_0x185d09,_0x36d1cc),_0x1a764f=this[_0x23b8d1(0x184)]['validateWriteAccess'](_0x4860af,_0x45a1e2);if(!_0x1a764f[_0x23b8d1(0x192)])throw new Error('Write\x20access\x20denied:\x20'+_0x1a764f['reason']+'\x20('+_0x1a764f['path']+')');try{const _0x5568b2=Buffer[_0x23b8d1(0x145)](_0x36e424,encoding);if(_0x5568b2>this['maxFileSize'])throw new Error('Content\x20too\x20large:\x20'+_0x5568b2+_0x23b8d1(0x1c6)+this['maxFileSize']+')');if(createDirs){const _0x4c169d=a0_0x12a82a[_0x23b8d1(0x1a4)](_0x4860af);await a0_0x2b3c54[_0x23b8d1(0x14c)](_0x4c169d,{'recursive':!![]});}let _0x3f16e1=null;try{await a0_0x2b3c54[_0x23b8d1(0x1bb)](_0x4860af),_0x3f16e1=_0x4860af+'.backup-'+Date['now'](),await a0_0x2b3c54['copyFile'](_0x4860af,_0x3f16e1);}catch{}await a0_0x2b3c54['writeFile'](_0x4860af,_0x36e424,encoding);const _0x3b9e6d=await a0_0x2b3c54[_0x23b8d1(0x1ae)](_0x4860af),_0x2c3be1=this[_0x23b8d1(0x184)]['createRelativePath'](_0x4860af,_0x45a1e2);return{'success':!![],'action':'write','outputPath':_0x2c3be1,'fullPath':_0x4860af,'size':_0x3b9e6d['size'],'encoding':encoding,'backupPath':_0x3f16e1?this['directoryAccessManager']['createRelativePath'](_0x3f16e1,_0x45a1e2):null,'backupFullPath':_0x3f16e1||null,'message':'Wrote\x20'+_0x3b9e6d[_0x23b8d1(0x1c2)]+_0x23b8d1(0x173)+_0x4860af};}catch(_0x3e25c8){throw new Error(_0x23b8d1(0x157)+_0x4860af+':\x20'+_0x3e25c8[_0x23b8d1(0x13a)]);}}async[a0_0x1b257c(0x17b)](_0x222bca,_0x4982b8,_0x7e7977,_0x24869d='utf8'){const _0x980600=a0_0x1b257c,_0x5ee74d=this['directoryAccessManager'][_0x980600(0x1ac)](_0x7e7977),_0x5105f1=this[_0x980600(0x161)](_0x222bca,_0x5ee74d),_0x4f5d15=this[_0x980600(0x184)]['validateWriteAccess'](_0x5105f1,_0x7e7977);if(!_0x4f5d15[_0x980600(0x192)])throw new Error('Write\x20access\x20denied:\x20'+_0x4f5d15[_0x980600(0x1a3)]+'\x20('+_0x4f5d15[_0x980600(0x159)]+')');try{let _0x3b85fd=0x0;try{const _0x5e0437=await a0_0x2b3c54['stat'](_0x5105f1);_0x3b85fd=_0x5e0437[_0x980600(0x1c2)];}catch{}const _0x205b89=Buffer['byteLength'](_0x4982b8,_0x24869d);if(_0x3b85fd+_0x205b89>this[_0x980600(0x179)])throw new Error('File\x20would\x20become\x20too\x20large:\x20'+(_0x3b85fd+_0x205b89)+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');await a0_0x2b3c54[_0x980600(0x153)](_0x5105f1,_0x4982b8,_0x24869d);const _0x101da2=await a0_0x2b3c54['stat'](_0x5105f1),_0x10a656=this['directoryAccessManager']['createRelativePath'](_0x5105f1,_0x7e7977);return{'success':!![],'action':_0x980600(0x136),'filePath':_0x10a656,'fullPath':_0x5105f1,'appendedBytes':_0x205b89,'totalSize':_0x101da2[_0x980600(0x1c2)],'encoding':_0x24869d,'message':_0x980600(0x13d)+_0x205b89+_0x980600(0x173)+_0x5105f1};}catch(_0xf5d35){throw new Error(_0x980600(0x14f)+_0x5105f1+':\x20'+_0xf5d35[_0x980600(0x13a)]);}}async['deleteFile'](_0x180c06,_0x1dff16){const _0x47f5e7=a0_0x1b257c,_0x18aad9=this['directoryAccessManager']['getWorkingDirectory'](_0x1dff16),_0x13d3b1=this['resolvePath'](_0x180c06,_0x18aad9),_0x37b904=this[_0x47f5e7(0x184)]['validateWriteAccess'](_0x13d3b1,_0x1dff16);if(!_0x37b904['allowed'])throw new Error(_0x47f5e7(0x1a1)+_0x37b904['reason']+'\x20('+_0x37b904[_0x47f5e7(0x159)]+')');try{const _0x485a13=await a0_0x2b3c54['stat'](_0x13d3b1),_0x1865aa=_0x13d3b1+_0x47f5e7(0x134)+Date['now']();await a0_0x2b3c54['copyFile'](_0x13d3b1,_0x1865aa),await a0_0x2b3c54['unlink'](_0x13d3b1);const _0x44de81=this[_0x47f5e7(0x184)]['createRelativePath'](_0x13d3b1,_0x1dff16),_0x1d1e72=this['directoryAccessManager']['createRelativePath'](_0x1865aa,_0x1dff16);return{'success':!![],'action':_0x47f5e7(0x183),'filePath':_0x44de81,'fullPath':_0x13d3b1,'size':_0x485a13['size'],'backupPath':_0x1d1e72,'backupFullPath':_0x1865aa,'message':'Deleted\x20'+_0x13d3b1+'\x20(backup\x20created)'};}catch(_0x2fef4b){throw new Error('Failed\x20to\x20delete\x20file\x20'+_0x13d3b1+':\x20'+_0x2fef4b[_0x47f5e7(0x13a)]);}}async[a0_0x1b257c(0x154)](_0x3650b7,_0x28bc6f,_0xd504b9){const _0x1d28de=a0_0x1b257c,_0x3e3f24=this['directoryAccessManager'][_0x1d28de(0x1ac)](_0xd504b9),_0xee2b1=this[_0x1d28de(0x161)](_0x3650b7,_0x3e3f24),_0x7d0dc0=this[_0x1d28de(0x161)](_0x28bc6f,_0x3e3f24),_0x4b434f=this[_0x1d28de(0x184)][_0x1d28de(0x1ab)](_0xee2b1,_0xd504b9);if(!_0x4b434f['allowed'])throw new Error(_0x1d28de(0x177)+_0x4b434f[_0x1d28de(0x1a3)]+'\x20('+_0x4b434f[_0x1d28de(0x159)]+')');const _0x3c200b=this['directoryAccessManager'][_0x1d28de(0x13b)](_0x7d0dc0,_0xd504b9);if(!_0x3c200b[_0x1d28de(0x192)])throw new Error('Destination\x20write\x20access\x20denied:\x20'+_0x3c200b[_0x1d28de(0x1a3)]+'\x20('+_0x3c200b[_0x1d28de(0x159)]+')');try{const _0x4fe202=await a0_0x2b3c54[_0x1d28de(0x1ae)](_0xee2b1);if(_0x4fe202['size']>this['maxFileSize'])throw new Error(_0x1d28de(0x1c8)+_0x4fe202[_0x1d28de(0x1c2)]+_0x1d28de(0x195));const _0xa321a1=a0_0x12a82a[_0x1d28de(0x1a4)](_0x7d0dc0);await a0_0x2b3c54['mkdir'](_0xa321a1,{'recursive':!![]}),await a0_0x2b3c54[_0x1d28de(0x154)](_0xee2b1,_0x7d0dc0);const _0x49e8fc=this['directoryAccessManager'][_0x1d28de(0x1aa)](_0xee2b1,_0xd504b9),_0x28fbc7=this[_0x1d28de(0x184)]['createRelativePath'](_0x7d0dc0,_0xd504b9);return{'success':!![],'action':_0x1d28de(0x196),'sourcePath':_0x49e8fc,'destPath':_0x28fbc7,'sourceFullPath':_0xee2b1,'destFullPath':_0x7d0dc0,'size':_0x4fe202['size'],'message':_0x1d28de(0x176)+_0xee2b1+_0x1d28de(0x14e)+_0x7d0dc0};}catch(_0x2661c1){throw new Error(_0x1d28de(0x17d)+_0xee2b1+'\x20to\x20'+_0x7d0dc0+':\x20'+_0x2661c1['message']);}}async['moveFile'](_0x28768d,_0x2651a7,_0x4c823c){const _0x5a6f05=a0_0x1b257c,_0x92350a=this[_0x5a6f05(0x184)]['getWorkingDirectory'](_0x4c823c),_0x4a1d4b=this['resolvePath'](_0x28768d,_0x92350a),_0x3d3882=this['resolvePath'](_0x2651a7,_0x92350a),_0x3f03eb=this[_0x5a6f05(0x184)]['validateReadAccess'](_0x4a1d4b,_0x4c823c);if(!_0x3f03eb[_0x5a6f05(0x192)])throw new Error('Read\x20access\x20denied\x20for\x20source:\x20'+_0x3f03eb[_0x5a6f05(0x1a3)]+'\x20('+_0x3f03eb['path']+')');const _0x67e725=this[_0x5a6f05(0x184)]['validateWriteAccess'](_0x3d3882,_0x4c823c);if(!_0x67e725['allowed'])throw new Error('Write\x20access\x20denied\x20for\x20destination:\x20'+_0x67e725[_0x5a6f05(0x1a3)]+'\x20('+_0x67e725['path']+')');try{const _0x1c8593=await a0_0x2b3c54[_0x5a6f05(0x1ae)](_0x4a1d4b),_0x34d912=a0_0x12a82a[_0x5a6f05(0x1a4)](_0x3d3882);await a0_0x2b3c54['mkdir'](_0x34d912,{'recursive':!![]}),await a0_0x2b3c54['rename'](_0x4a1d4b,_0x3d3882);const _0x4de5ac=this['directoryAccessManager']['createRelativePath'](_0x4a1d4b,_0x4c823c),_0x495e82=this['directoryAccessManager']['createRelativePath'](_0x3d3882,_0x4c823c);return{'success':!![],'action':_0x5a6f05(0x16b),'sourcePath':_0x4de5ac,'destPath':_0x495e82,'fullSourcePath':_0x4a1d4b,'fullDestPath':_0x3d3882,'size':_0x1c8593[_0x5a6f05(0x1c2)],'message':'Moved\x20'+_0x28768d+'\x20to\x20'+_0x2651a7};}catch(_0x5571d0){throw new Error(_0x5a6f05(0x165)+_0x28768d+_0x5a6f05(0x14e)+_0x2651a7+':\x20'+_0x5571d0[_0x5a6f05(0x13a)]);}}async['createDirectory'](_0x42c329,_0x158fdd){const _0x43d34c=a0_0x1b257c,_0x2adbe5=this[_0x43d34c(0x184)]['getWorkingDirectory'](_0x158fdd),_0x365cea=this['resolvePath'](_0x42c329,_0x2adbe5),_0x34cadb=this[_0x43d34c(0x184)][_0x43d34c(0x13b)](_0x365cea,_0x158fdd);if(!_0x34cadb[_0x43d34c(0x192)])throw new Error(_0x43d34c(0x1ba)+_0x34cadb[_0x43d34c(0x1a3)]+'\x20('+_0x34cadb['path']+')');try{await a0_0x2b3c54[_0x43d34c(0x14c)](_0x365cea,{'recursive':!![]});const _0x1e034e=this[_0x43d34c(0x184)]['createRelativePath'](_0x365cea,_0x158fdd);return{'success':!![],'action':'create-dir','directory':_0x1e034e,'fullPath':_0x365cea,'message':'Created\x20directory\x20'+_0x42c329};}catch(_0x21e9b8){throw new Error(_0x43d34c(0x168)+_0x42c329+':\x20'+_0x21e9b8['message']);}}async['listDirectory'](_0x3d6c1f,_0x37af37){const _0x37be34=a0_0x1b257c,_0x65e756=this['directoryAccessManager'][_0x37be34(0x1ac)](_0x37af37),_0x2027aa=this['resolvePath'](_0x3d6c1f,_0x65e756),_0x5f55cb=this[_0x37be34(0x184)]['validateReadAccess'](_0x2027aa,_0x37af37);if(!_0x5f55cb['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x5f55cb['reason']+'\x20('+_0x5f55cb[_0x37be34(0x159)]+')');try{const _0x2702f6=await a0_0x2b3c54[_0x37be34(0x186)](_0x2027aa,{'withFileTypes':!![]}),_0x5d9ce3=[];for(const _0x36fcd5 of _0x2702f6){const _0x45caca=a0_0x12a82a['join'](_0x2027aa,_0x36fcd5['name']),_0x4053ef=await a0_0x2b3c54['stat'](_0x45caca);_0x5d9ce3[_0x37be34(0x139)]({'name':_0x36fcd5[_0x37be34(0x191)],'type':_0x36fcd5[_0x37be34(0x17f)]()?_0x37be34(0x175):_0x37be34(0x190),'size':_0x36fcd5[_0x37be34(0x1a7)]()?_0x4053ef['size']:undefined,'lastModified':_0x4053ef[_0x37be34(0x16d)][_0x37be34(0x162)](),'permissions':_0x4053ef['mode'],'isSymlink':_0x36fcd5['isSymbolicLink']()});}const _0x12fe55=this['directoryAccessManager'][_0x37be34(0x1aa)](_0x2027aa,_0x37af37);return{'success':!![],'action':_0x37be34(0x152),'directory':_0x12fe55,'fullPath':_0x2027aa,'contents':_0x5d9ce3,'totalItems':_0x5d9ce3['length'],'directories':_0x5d9ce3['filter'](_0x50d88c=>_0x50d88c[_0x37be34(0x13e)]==='directory')['length'],'files':_0x5d9ce3['filter'](_0x4cde4b=>_0x4cde4b['type']==='file')[_0x37be34(0x19f)],'message':'Listed\x20'+_0x5d9ce3[_0x37be34(0x19f)]+_0x37be34(0x143)+_0x3d6c1f};}catch(_0x2c1d91){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0x3d6c1f+':\x20'+_0x2c1d91[_0x37be34(0x13a)]);}}async[a0_0x1b257c(0x132)](_0x2206fb,_0x4b26ce){const _0x496b84=a0_0x1b257c,_0x1a3326=this['directoryAccessManager']['getWorkingDirectory'](_0x4b26ce),_0x1af550=this[_0x496b84(0x161)](_0x2206fb,_0x1a3326),_0x248553=this['directoryAccessManager'][_0x496b84(0x1ab)](_0x1af550,_0x4b26ce);if(!_0x248553['allowed'])throw new Error(_0x496b84(0x15e)+_0x248553[_0x496b84(0x1a3)]+'\x20('+_0x248553['path']+')');try{const _0x227401=await a0_0x2b3c54['stat'](_0x1af550),_0x5f255b=this[_0x496b84(0x184)]['createRelativePath'](_0x1af550,_0x4b26ce);return{'success':!![],'action':'exists','filePath':_0x5f255b,'fullPath':_0x1af550,'exists':!![],'type':_0x227401[_0x496b84(0x17f)]()?_0x496b84(0x175):_0x496b84(0x190),'message':_0x2206fb+_0x496b84(0x19e)+(_0x227401[_0x496b84(0x17f)]()?_0x496b84(0x175):'file')};}catch(_0x63edd0){if(_0x63edd0[_0x496b84(0x1be)]===_0x496b84(0x180)){const _0x9529a3=this['directoryAccessManager'][_0x496b84(0x1aa)](_0x1af550,_0x4b26ce);return{'success':!![],'action':'exists','filePath':_0x9529a3,'fullPath':_0x1af550,'exists':![],'message':_0x2206fb+_0x496b84(0x172)};}throw new Error('Failed\x20to\x20check\x20existence\x20of\x20'+_0x2206fb+':\x20'+_0x63edd0[_0x496b84(0x13a)]);}}async['getFileStats'](_0x2399cb,_0x2b6ef2){const _0x319e92=a0_0x1b257c,_0xe4332=this[_0x319e92(0x184)]['getWorkingDirectory'](_0x2b6ef2),_0x20bc19=this[_0x319e92(0x161)](_0x2399cb,_0xe4332),_0x197d5a=this[_0x319e92(0x184)]['validateReadAccess'](_0x20bc19,_0x2b6ef2);if(!_0x197d5a['allowed'])throw new Error(_0x319e92(0x15e)+_0x197d5a[_0x319e92(0x1a3)]+'\x20('+_0x197d5a['path']+')');try{const _0x960a9d=await a0_0x2b3c54[_0x319e92(0x1ae)](_0x20bc19),_0x4ec0ed=this[_0x319e92(0x184)][_0x319e92(0x1aa)](_0x20bc19,_0x2b6ef2);return{'success':!![],'action':_0x319e92(0x185),'filePath':_0x4ec0ed,'fullPath':_0x20bc19,'stats':{'size':_0x960a9d[_0x319e92(0x1c2)],'type':_0x960a9d['isDirectory']()?'directory':_0x319e92(0x190),'lastModified':_0x960a9d[_0x319e92(0x16d)]['toISOString'](),'lastAccessed':_0x960a9d['atime'][_0x319e92(0x162)](),'created':_0x960a9d[_0x319e92(0x1c4)]['toISOString'](),'permissions':_0x960a9d[_0x319e92(0x166)],'isSymlink':_0x960a9d[_0x319e92(0x163)]()},'message':_0x319e92(0x197)+_0x2399cb};}catch(_0x5538e7){throw new Error('Failed\x20to\x20get\x20stats\x20for\x20'+_0x2399cb+':\x20'+_0x5538e7['message']);}}['resolvePath'](_0x4b2b54,_0xd61210){const _0x11765=a0_0x1b257c;if(a0_0x12a82a['isAbsolute'](_0x4b2b54))return a0_0x12a82a['normalize'](_0x4b2b54);return a0_0x12a82a[_0x11765(0x131)](_0xd61210,_0x4b2b54);}[a0_0x1b257c(0x194)](_0x261c4f,_0x1e1300,_0x132fe9='read'){const _0x1f128f=a0_0x1b257c,_0x31586a=_0x132fe9==='write'?this[_0x1f128f(0x184)]['validateWriteAccess'](_0x261c4f,_0x1e1300):this[_0x1f128f(0x184)]['validateReadAccess'](_0x261c4f,_0x1e1300);if(!_0x31586a[_0x1f128f(0x192)])throw new Error(_0x132fe9+_0x1f128f(0x149)+_0x31586a['reason']+'\x20('+_0x31586a['path']+')');return _0x31586a;}[a0_0x1b257c(0x15a)](_0x489858){const _0x4c9433=a0_0x1b257c,_0xab82cd=a0_0x12a82a[_0x4c9433(0x147)](_0x489858)['toLowerCase']();if(this[_0x4c9433(0x1b2)]['includes'](_0xab82cd))return![];if(this['allowedExtensions']&&!this['allowedExtensions']['includes'](_0xab82cd))return![];return!![];}['addToHistory'](_0x23da34,_0xf182e9,_0xd89b45){const _0x5d5f04=a0_0x1b257c,_0x4cf45e={'timestamp':new Date()[_0x5d5f04(0x162)](),'agentId':_0xd89b45,'action':_0x23da34[_0x5d5f04(0x13e)],'filePath':_0x23da34[_0x5d5f04(0x144)]||_0x23da34[_0x5d5f04(0x1b9)]||_0x23da34['directory'],'success':_0xf182e9[_0x5d5f04(0x155)],'size':_0xf182e9[_0x5d5f04(0x1c2)]};this[_0x5d5f04(0x1b5)]['push'](_0x4cf45e),this['operationHistory']['length']>0xc8&&(this[_0x5d5f04(0x1b5)]=this[_0x5d5f04(0x1b5)]['slice'](-0xc8));}['getSupportedActions'](){const _0x43d912=a0_0x1b257c;return[_0x43d912(0x1b7),'write','append',_0x43d912(0x183),_0x43d912(0x196),'move',_0x43d912(0x148),_0x43d912(0x152),_0x43d912(0x178),_0x43d912(0x185)];}[a0_0x1b257c(0x137)](){const _0x22d718=a0_0x1b257c;return{'type':'object','properties':{'actions':{'type':_0x22d718(0x1c5),'minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this['getSupportedActions']()},'filePath':{'type':'string'},'outputPath':{'type':'string'},'sourcePath':{'type':_0x22d718(0x1bf)},'destPath':{'type':_0x22d718(0x1bf)},'directory':{'type':_0x22d718(0x1bf)},'content':{'type':_0x22d718(0x1bf)},'encoding':{'type':'string'},'createDirs':{'type':_0x22d718(0x182)}},'required':['type']}}},'required':['actions']};}['getOperationHistory'](_0x4b2cda=null){const _0x21bc85=a0_0x1b257c;if(_0x4b2cda)return this[_0x21bc85(0x1b5)]['filter'](_0x2efbcf=>_0x2efbcf['agentId']===_0x4b2cda);return[...this[_0x21bc85(0x1b5)]];}}export default FileSystemTool;