@loxia-labs/loxia-autopilot-one 1.0.5 → 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_0x56e9dd=a0_0x50c5;(function(_0x4da2c8,_0x34cf05){const _0x3dcd87=a0_0x50c5,_0x5aba8b=_0x4da2c8();while(!![]){try{const _0x37d7fb=-parseInt(_0x3dcd87(0x1a6))/0x1+-parseInt(_0x3dcd87(0x18f))/0x2+-parseInt(_0x3dcd87(0x1de))/0x3+-parseInt(_0x3dcd87(0x1cb))/0x4+-parseInt(_0x3dcd87(0x1aa))/0x5+parseInt(_0x3dcd87(0x193))/0x6*(-parseInt(_0x3dcd87(0x197))/0x7)+-parseInt(_0x3dcd87(0x1ad))/0x8*(-parseInt(_0x3dcd87(0x1e2))/0x9);if(_0x37d7fb===_0x34cf05)break;else _0x5aba8b['push'](_0x5aba8b['shift']());}catch(_0x516db8){_0x5aba8b['push'](_0x5aba8b['shift']());}}}(a0_0x5a42,0xde812));import{promises as a0_0x46cc19}from'fs';import a0_0x1079de from'path';import{exec as a0_0x2e2cbc}from'child_process';import{promisify}from'util';function a0_0x50c5(_0x562c40,_0x4f76fd){_0x562c40=_0x562c40-0x160;const _0x5a4284=a0_0x5a42();let _0x50c58e=_0x5a4284[_0x562c40];if(a0_0x50c5['YWwhrk']===undefined){var _0x25992a=function(_0x4c28c6){const _0x43586b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46cc19='',_0x1079de='';for(let _0x2e2cbc=0x0,_0x4cb9bb,_0x3635f1,_0x1610c6=0x0;_0x3635f1=_0x4c28c6['charAt'](_0x1610c6++);~_0x3635f1&&(_0x4cb9bb=_0x2e2cbc%0x4?_0x4cb9bb*0x40+_0x3635f1:_0x3635f1,_0x2e2cbc++%0x4)?_0x46cc19+=String['fromCharCode'](0xff&_0x4cb9bb>>(-0x2*_0x2e2cbc&0x6)):0x0){_0x3635f1=_0x43586b['indexOf'](_0x3635f1);}for(let _0x136e55=0x0,_0x1edced=_0x46cc19['length'];_0x136e55<_0x1edced;_0x136e55++){_0x1079de+='%'+('00'+_0x46cc19['charCodeAt'](_0x136e55)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1079de);};a0_0x50c5['vOsaSN']=_0x25992a,a0_0x50c5['IAWuGy']={},a0_0x50c5['YWwhrk']=!![];}const _0x3d7bac=_0x5a4284[0x0],_0x1cb21f=_0x562c40+_0x3d7bac,_0x2aabec=a0_0x50c5['IAWuGy'][_0x1cb21f];return!_0x2aabec?(_0x50c58e=a0_0x50c5['vOsaSN'](_0x50c58e),a0_0x50c5['IAWuGy'][_0x1cb21f]=_0x50c58e):_0x50c58e=_0x2aabec,_0x50c58e;}function a0_0x5a42(){const _0x8030b2=['CMfUz2u','lMjHy2T1Cc5QC29U','ugfJA2fNzsbUB3qGzM91BMq6ia','tLbnx1jfr0Ltvfjzx1vsta','C2XPy2u','BNbTifDbuK4','DhjPBq','BgvUz3rO','x3nHDgLZzMLLC0nVBxbSzxHsyw5Nzq','4PYfiejHy2T1CcbJCMvHDgvKoIa','cVcFK6yGsw5ZDgfSBgvKihzLCNnPB25ZoG','Bw9Kzq','C3rYAw5N','ChjLzML4','x3bHCNnLvMvYC2LVBG','y2HLy2S','zgLZDc10ywDZ','vKfmsurFtu9ervm','BwLUB3i','Aw5MBW','C2LTCgXL','ihjLC29SDMvZig91DhnPzguGD29YA2LUzYbKAxjLy3rVCNK','x2zLDgnOugfJA2fNzuLUzM8','ChjLCMvSzwfZzq','x2LZvxbKyxrLqxzHAwXHyMXL','lIbnDxn0igjLig9UzsbVzJOG','Ec1Yyw5Nzq','Cgf0AcbTDxn0igjLigeGC3rYAw5N','Aw5JBhvKzurLDIbTDxn0igjLigeGyM9VBgvHBG','mta0nte5mM91AuDuAa','CgfYC2u','D29YA2LUz0rPCMvJDg9YEq','Cgf0Aa','x2LZq2fYzxrvCgrHDgvbDMfPBgfIBgu','Cgf0y2G','cVcFJOKGqwXSigrLCgvUzgvUy2LLCYbHCMuGDxaTDg8Tzgf0zse','CMfUz2vZ','cUkDJcbUCg0GAw5ZDgfSBcbMywLSzwq6ia','ywnJzxnZ','uKvhsvnuuLLFveLnru9vva','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0lIbfEhbLy3rLzcbZDhjPBMCGkfHntcKGB3iGB2jQzwn0icHku09oks4','ANnVBG','ugfYyw1LDgvYCYbTDxn0igjLigfUig9IAMvJDa','Ahr0Chm6lY9YzwDPC3rYEs5UCg1QCY5VCMC','uKvuuLLFrevmqvK','DxrMltG','yM9VBgvHBG','zML4','mZiYmZGZnLbHAwz0CW','B2jQzwn0','rM91BMqG','sfruuca','mtKXmJv1wKnlzMu','BwfQB3i','Dg9mB3DLCKnHC2u','yNvPBgq','x3bHCNnLqM9VBgvHBG','x2nVBxbHCMvqCMvYzwXLyxnL','DgvZDa','tM8GzgvWzw5Kzw5JAwvZigzVDw5KigLUihbHy2THz2uUANnVBG','x3zHBgLKyxrLugfYyw1LDgvYCW','4PQG77IpicbgywLSzwqGDg8GCMvZDg9YzsbIywnRDxa','Bwf4','zMLSDgvY','tufyx0nptKnvuLjftLrFq0Hfq0Tt','A2v5CW','icdIGkiG','cVcFKR4Gq3jLyxrPBMCGyMfJA3vWig9MihbHy2THz2uUANnVBI4UlG','x2LZu2LTCgXLvxbKyxrLqxzHAwXHyMXL','yxv0BW','C3rHCNrZv2L0Aa','x3bHCNnLq29TCgXLEfjHBMDL','zxHLyW','rxjYB3iGy2HLy2TPBMCG','cUkCQcboBYb1CgrHDgvZig5LzwrLza','8j+uJsbdAgvJA2LUzYbKzxbLBMrLBMnPzxmGAw46ia','x2nVBxbHCMvwzxjZAw9UCW','sw52ywXPzcbTB2rLoIa','x3nHDgLZzMLLC1jHBMDL','cUkCHsbszwDPC3rYEsbJAgvJAYbJB21WBgv0zq','C2LNBMfS','zxHLy3v0zq','x2LZrxHHy3rvCgrHDgvbDMfPBgfIBgu','B3bLCMf0B3i','BNbTigXZigzHAwXLzdO','8j+mKcbrDwvYEwLUzYbUCg0GCMvNAxn0CNKGzM9YihvWzgf0zxmUlI4','4PYfieLUC3rHBgXHDgLVBIbJB21WBgv0zq','zxjYB3i','vg9Vig1HBNKGzgvWzw5Kzw5JAwvZicG','Bg9Nz2vY','x2LZwfjHBMDLvxbKyxrLqxzHAwXHyMXL','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','BNbTigXZic0TzgvWDgG9mcaTlwPZB24','rgvWzw5Kzw5JEsbYzxnVBhzLCIbLEgvJDxrPBMC','Aw5JBhvKzurLDG','cVcFK4SGqxzHAwXHyMXLihvWzgf0zxm6','zw50CMLLCW','C29Tzq','x3bHCNnLvMvYC2LVBLjHBMDL','4PYfihbHy2THz2uUANnVBIb1CgrHDgvK','yw5K','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','C3rHDhvZ','AxnbyNnVBhv0zq','qKfds1vqx0vyvevou0LptG','mteYndGWoe52z01Xuq','iokgKIa','Dhj1zq','AM9PBG','ndeZmZGYBKnLqKLz','BwfW','DhLWzq','BM9YBwfSAxPL','mtC1AgT1quHJ','qwXSigrLCgvUzgvUy2LLCYbHCMuGDxaTDg8Tzgf0zq','uKvuuLLFqvruru1qvfm','rgvWzw5Kzw5JEsbYzxnVBhzLCIbLCNjVCJO','BNbTigLUC3rHBgWGzMfPBgvKoIa','x2LZq29TCgXLEfjHBMDL','zgv2rgvWzw5Kzw5JAwvZ','tufyx0rfuevorevoq0LfuW','C3rYAw5NAwz5','revgqvvmvf9nt0rf','C3bSAxq','DMvYC2LVBG','BwvZC2fNzq','C3rHDhvZvgv4Da','cVcFKQeGuNvUihDPDgGGBw9Kzt0IzML4iIbVCIbTB2rLpsjHDxrViIb0BYbHChbSEsb1CgrHDgvZ','odmWmZC1rwLnA0Dl','ChvZAa','rMfPBgvKihrVigzLDgnOia','zgvWzw5Kzw5JAwvZ','mJKXnJi5mgvoC0Lnra','ywXS','y29WEuzPBgu','mJiZodrtEhbuz0m'];a0_0x5a42=function(){return _0x8030b2;};return a0_0x5a42();}import{BaseTool}from'./baseTool.js';import a0_0x4cb9bb from'../utilities/tagParser.js';const exec=promisify(a0_0x2e2cbc),RESOLVER_CONFIG={'DEFAULT_MODE':a0_0x56e9dd(0x1bd),'VALID_MODES':['check','fix',a0_0x56e9dd(0x16b)],'NPM_COMMAND_TIMEOUT':0x493e0,'REGISTRY_TIMEOUT':0x2710,'MAX_CONCURRENT_CHECKS':0x5,'BACKUP_EXTENSION':a0_0x56e9dd(0x1af),'CREATE_BACKUPS':!![],'RETRY_ATTEMPTS':0x3,'RETRY_DELAY':0x3e8,'MAX_DEPENDENCIES':0x1f4,'NPM_REGISTRY_URL':a0_0x56e9dd(0x1d9)};export class DependencyResolverTool extends BaseTool{['getDescription'](){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'](_0x3635f1){const _0x357e4d=a0_0x56e9dd;if(typeof _0x3635f1===_0x357e4d(0x1df)&&_0x3635f1!==null)return{'path':_0x3635f1['path']||'.','mode':_0x3635f1[_0x357e4d(0x1b9)]||RESOLVER_CONFIG[_0x357e4d(0x1a0)],'includeDev':_0x3635f1['includeDev']!==undefined?_0x3635f1['includeDev']:!![]};if(typeof _0x3635f1==='string'){const _0x1610c6=/<dependency-resolve([^>]*)>([\s\S]*?)<\/dependency-resolve>/i,_0x136e55=_0x1610c6['exec'](_0x3635f1);if(_0x136e55){const _0x2cc73d=_0x136e55[0x1],_0x594532=_0x136e55[0x2],_0x5e4c0d=/path=["']([^"']*)["']/i[_0x357e4d(0x16e)](_0x2cc73d),_0xe2a66c=/mode=["']([^"']*)["']/i[_0x357e4d(0x16e)](_0x2cc73d),_0x676c73=/include-dev=["']([^"']*)["']/i['exec'](_0x2cc73d),_0x1803ab=/<path>(.*?)<\/path>/i,_0x311517=_0x1803ab[_0x357e4d(0x16e)](_0x594532),_0x5349ae=/<mode>(.*?)<\/mode>/i,_0x1edcdf=_0x5349ae['exec'](_0x594532),_0x1a922b=/<include-dev>(.*?)<\/include-dev>/i,_0x1818f5=_0x1a922b[_0x357e4d(0x16e)](_0x594532),_0x3df249=(_0x311517?_0x311517[0x1]['trim']():null)||(_0x5e4c0d?_0x5e4c0d[0x1]:'.'),_0x13fcb7=(_0x1edcdf?_0x1edcdf[0x1][_0x357e4d(0x1b4)]():null)||(_0xe2a66c?_0xe2a66c[0x1]:RESOLVER_CONFIG['DEFAULT_MODE']),_0x151815=(_0x1818f5?_0x1818f5[0x1][_0x357e4d(0x1b4)]():null)||(_0x676c73?_0x676c73[0x1]:'true');return{'path':_0x3df249,'mode':_0x13fcb7,'includeDev':this[_0x357e4d(0x1e6)](_0x151815,!![])};}const _0x1edced=/\[resolve\s+([^\]]*)\]/i,_0x581951=_0x1edced['exec'](_0x3635f1);if(_0x581951){const _0x3d5c6f=_0x581951[0x1],_0xff58d5=/path=["']([^"']*)["']/i[_0x357e4d(0x16e)](_0x3d5c6f),_0x171328=/mode=["']([^"']*)["']/i[_0x357e4d(0x16e)](_0x3d5c6f),_0x3812d9=/include-dev=["']([^"']*)["']/i[_0x357e4d(0x16e)](_0x3d5c6f);return{'path':_0xff58d5?_0xff58d5[0x1]:'.','mode':_0x171328?_0x171328[0x1]:RESOLVER_CONFIG['DEFAULT_MODE'],'includeDev':this[_0x357e4d(0x1e6)](_0x3812d9?_0x3812d9[0x1]:'true',!![])};}throw new Error('Invalid\x20dependency-resolve\x20format.\x20Use\x20<dependency-resolve>\x20tags\x20or\x20JSON\x20format.');}throw new Error(_0x357e4d(0x1d6));}['_parseBoolean'](_0x6d01c2,defaultValue=![]){const _0x450150=a0_0x56e9dd;if(_0x6d01c2===undefined||_0x6d01c2===null)return defaultValue;if(typeof _0x6d01c2===_0x450150(0x1dc))return _0x6d01c2;if(typeof _0x6d01c2===_0x450150(0x1ba))return _0x6d01c2[_0x450150(0x1e4)]()===_0x450150(0x191)||_0x6d01c2==='1';return defaultValue;}[a0_0x56e9dd(0x162)](_0x509cf8){const _0x1e1c09=a0_0x56e9dd;if(!_0x509cf8||typeof _0x509cf8!=='object')throw new Error(_0x1e1c09(0x1d8));if(_0x509cf8[_0x1e1c09(0x1ce)]&&typeof _0x509cf8['path']!==_0x1e1c09(0x1ba))throw new Error(_0x1e1c09(0x1c9));if(_0x509cf8[_0x1e1c09(0x1b9)]&&!RESOLVER_CONFIG[_0x1e1c09(0x1bf)]['includes'](_0x509cf8[_0x1e1c09(0x1b9)]))throw new Error(_0x1e1c09(0x173)+_0x509cf8['mode']+_0x1e1c09(0x1c7)+RESOLVER_CONFIG['VALID_MODES'][_0x1e1c09(0x192)](',\x20'));if(_0x509cf8[_0x1e1c09(0x184)]!==undefined&&typeof _0x509cf8[_0x1e1c09(0x184)]!=='boolean')throw new Error(_0x1e1c09(0x1ca));}['_resolveAndValidatePath'](_0x2974e4,_0x540d96){const _0x4818c6=a0_0x56e9dd,{projectDir:_0x33c622,directoryAccess:_0x5eb93b}=_0x540d96;let _0x207f5b=_0x33c622||process['cwd']();_0x5eb93b&&_0x5eb93b[_0x4818c6(0x1cd)]&&(_0x207f5b=_0x5eb93b[_0x4818c6(0x1cd)]);const _0x565de7=a0_0x1079de[_0x4818c6(0x18d)](_0x2974e4)?a0_0x1079de['normalize'](_0x2974e4):a0_0x1079de[_0x4818c6(0x196)](a0_0x1079de['join'](_0x207f5b,_0x2974e4)),_0x284b9d=a0_0x1079de['normalize'](_0x207f5b);if(!_0x565de7['startsWith'](_0x284b9d))throw new Error(_0x4818c6(0x18b)+_0x2974e4+_0x4818c6(0x1c3));return _0x565de7;}async['_createBackup'](_0x35e4e2){const _0xa23052=a0_0x56e9dd;if(!RESOLVER_CONFIG['CREATE_BACKUPS'])return null;try{const _0xc893e0=_0x35e4e2+RESOLVER_CONFIG[_0xa23052(0x18e)];return await a0_0x46cc19[_0xa23052(0x1ac)](_0x35e4e2,_0xc893e0),this[_0xa23052(0x17f)]?.[_0xa23052(0x1c1)]('Created\x20backup',{'backupPath':_0xc893e0}),_0xc893e0;}catch(_0x234bfd){return this[_0xa23052(0x17f)]?.['warn']('Failed\x20to\x20create\x20backup',{'error':_0x234bfd['message']}),null;}}async['_fetchPackageInfo'](_0x2ed0c2){const _0x4fcc73=a0_0x56e9dd,_0x56008f=RESOLVER_CONFIG[_0x4fcc73(0x1b1)]+'/'+encodeURIComponent(_0x2ed0c2);for(let _0xffdf1e=0x1;_0xffdf1e<=RESOLVER_CONFIG[_0x4fcc73(0x199)];_0xffdf1e++){try{const _0x534731=new AbortController(),_0x1e444d=setTimeout(()=>_0x534731['abort'](),RESOLVER_CONFIG[_0x4fcc73(0x1d5)]),_0x1d0202=await fetch(_0x56008f,{'signal':_0x534731[_0x4fcc73(0x176)]});clearTimeout(_0x1e444d);if(!_0x1d0202['ok']){if(_0x1d0202[_0x4fcc73(0x18c)]===0x194)return this[_0x4fcc73(0x17f)]?.['warn'](_0x4fcc73(0x1b0)+_0x2ed0c2),null;throw new Error(_0x4fcc73(0x1e1)+_0x1d0202[_0x4fcc73(0x18c)]+':\x20'+_0x1d0202[_0x4fcc73(0x1a4)]);}const _0x3eb22e=await _0x1d0202[_0x4fcc73(0x1d7)]();if(!_0x3eb22e||typeof _0x3eb22e!=='object'||!_0x3eb22e[_0x4fcc73(0x1be)])throw new Error('Invalid\x20registry\x20response\x20format');return _0x3eb22e;}catch(_0x2cedc0){if(_0xffdf1e<RESOLVER_CONFIG['RETRY_ATTEMPTS'])this[_0x4fcc73(0x17f)]?.['debug']('Retry\x20'+_0xffdf1e+'/'+RESOLVER_CONFIG['RETRY_ATTEMPTS']+'\x20for\x20'+_0x2ed0c2),await new Promise(_0x47d82a=>setTimeout(_0x47d82a,RESOLVER_CONFIG[_0x4fcc73(0x1da)]*_0xffdf1e));else return this[_0x4fcc73(0x17f)]?.[_0x4fcc73(0x17d)](_0x4fcc73(0x1a8)+_0x2ed0c2+':',_0x2cedc0[_0x4fcc73(0x1a3)]),null;}}return null;}async['_getLatestCompatibleVersion'](_0x32a300,_0xdc0b03){const _0x40be43=a0_0x56e9dd,_0x1c1ef2=await this[_0x40be43(0x1c4)](_0x32a300);if(!_0x1c1ef2)return null;const _0x16b216=_0x1c1ef2['dist-tags']?.['latest'];if(!_0x16b216)return null;const _0xd9ac1c=this['_parseVersion'](_0x16b216);if(!_0xd9ac1c)return null;if(this[_0x40be43(0x19c)](_0xdc0b03)){const _0x472642=this[_0x40be43(0x16d)](_0xdc0b03),_0x23b97f=this[_0x40be43(0x1b6)](_0x472642,_0xd9ac1c);if(_0x23b97f)return _0x16b216;return null;}const _0x5789c7=this[_0x40be43(0x188)](_0xdc0b03);if(!_0x5789c7)return null;const _0x503564=this[_0x40be43(0x1c6)](_0x5789c7,_0xd9ac1c);if(_0x503564)return _0x5789c7[_0x40be43(0x1bb)]+_0x16b216;return null;}[a0_0x56e9dd(0x1bc)](_0x553042){const _0x453f65=a0_0x56e9dd,_0x219055=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/,_0x24b48d=_0x219055[_0x453f65(0x16e)](_0x553042);if(!_0x24b48d){const _0xebab2a=_0x553042['match'](/^(\d+)\.(\d+)\.(\d+)/);if(_0xebab2a)return{'major':parseInt(_0xebab2a[0x1],0xa),'minor':parseInt(_0xebab2a[0x2],0xa),'patch':parseInt(_0xebab2a[0x3],0xa),'prerelease':null,'build':null};return null;}return{'major':parseInt(_0x24b48d[0x1],0xa),'minor':parseInt(_0x24b48d[0x2],0xa),'patch':parseInt(_0x24b48d[0x3],0xa),'prerelease':_0x24b48d[0x4]?_0x24b48d[0x4][_0x453f65(0x1a1)]('.'):null,'build':_0x24b48d[0x5]||null};}['_compareVersions'](_0x513761,_0x5cd1dc){const _0x5c7d9d=a0_0x56e9dd;if(_0x513761[_0x5c7d9d(0x1e3)]!==_0x5cd1dc[_0x5c7d9d(0x1e3)])return _0x513761['major']-_0x5cd1dc[_0x5c7d9d(0x1e3)];if(_0x513761['minor']!==_0x5cd1dc[_0x5c7d9d(0x1c0)])return _0x513761[_0x5c7d9d(0x1c0)]-_0x5cd1dc[_0x5c7d9d(0x1c0)];if(_0x513761[_0x5c7d9d(0x1d0)]!==_0x5cd1dc['patch'])return _0x513761['patch']-_0x5cd1dc[_0x5c7d9d(0x1d0)];if(!_0x513761['prerelease']&&!_0x5cd1dc['prerelease'])return 0x0;if(!_0x513761[_0x5c7d9d(0x1c5)]&&_0x5cd1dc[_0x5c7d9d(0x1c5)])return 0x1;if(_0x513761[_0x5c7d9d(0x1c5)]&&!_0x5cd1dc[_0x5c7d9d(0x1c5)])return-0x1;return this[_0x5c7d9d(0x1e7)](_0x513761['prerelease'],_0x5cd1dc[_0x5c7d9d(0x1c5)]);}['_comparePrerelease'](_0x769e4d,_0x2f0eac){const _0x51b890=a0_0x56e9dd,_0xa036a1=Math[_0x51b890(0x164)](_0x769e4d['length'],_0x2f0eac[_0x51b890(0x1b5)]);for(let _0x36bffb=0x0;_0x36bffb<_0xa036a1;_0x36bffb++){if(_0x36bffb>=_0x769e4d['length'])return-0x1;if(_0x36bffb>=_0x2f0eac['length'])return 0x1;const _0x48a179=_0x769e4d[_0x36bffb],_0x37b4af=_0x2f0eac[_0x36bffb],_0x217945=/^\d+$/['test'](_0x48a179)?parseInt(_0x48a179,0xa):null,_0x9ee629=/^\d+$/[_0x51b890(0x160)](_0x37b4af)?parseInt(_0x37b4af,0xa):null;if(_0x217945!==null&&_0x9ee629!==null){if(_0x217945!==_0x9ee629)return _0x217945-_0x9ee629;continue;}if(_0x217945!==null&&_0x9ee629===null)return-0x1;if(_0x217945===null&&_0x9ee629!==null)return 0x1;if(_0x48a179<_0x37b4af)return-0x1;if(_0x48a179>_0x37b4af)return 0x1;}return 0x0;}['_parseVersionRange'](_0x181c80){const _0x2740b8=a0_0x56e9dd,_0x498987=_0x181c80[_0x2740b8(0x1b4)](),_0x34963d=/^(\d+|\*|x)(\.(\d+|\*|x))?(\.(\d+|\*|x))?$/i,_0x13c55d=_0x34963d[_0x2740b8(0x16e)](_0x498987);if(_0x13c55d){const _0xf8b992=_0x13c55d[0x1],_0x5bfad5=_0x13c55d[0x3],_0x32c84a=_0x13c55d[0x5],_0x409807=_0xf8b992==='*'||_0xf8b992['toLowerCase']()==='x'||_0x5bfad5===undefined||_0x5bfad5==='*'||_0x5bfad5['toLowerCase']()==='x'||_0x32c84a===undefined||_0x32c84a==='*'||_0x32c84a['toLowerCase']()==='x';if(_0x409807)return{'prefix':'','operator':_0x2740b8(0x1c8),'major':_0xf8b992==='*'||_0xf8b992['toLowerCase']()==='x'?null:parseInt(_0xf8b992,0xa),'minor':!_0x5bfad5||_0x5bfad5==='*'||_0x5bfad5[_0x2740b8(0x1e4)]()==='x'?null:parseInt(_0x5bfad5,0xa),'patch':!_0x32c84a||_0x32c84a==='*'||_0x32c84a['toLowerCase']()==='x'?null:parseInt(_0x32c84a,0xa),'original':_0x181c80};}let _0x45160b='',_0x19bb48=_0x498987,_0x2be7ac='=';if(_0x498987[_0x2740b8(0x16c)]('^'))_0x45160b='^',_0x19bb48=_0x498987['slice'](0x1),_0x2be7ac='^';else{if(_0x498987['startsWith']('~'))_0x45160b='~',_0x19bb48=_0x498987[_0x2740b8(0x1b2)](0x1),_0x2be7ac='~';else{if(_0x498987['startsWith']('>='))_0x45160b='>=',_0x19bb48=_0x498987['slice'](0x2)[_0x2740b8(0x1b4)](),_0x2be7ac='>=';else{if(_0x498987['startsWith']('>'))_0x45160b='>',_0x19bb48=_0x498987['slice'](0x1)[_0x2740b8(0x1b4)](),_0x2be7ac='>';else{if(_0x498987[_0x2740b8(0x16c)]('<='))_0x45160b='<=',_0x19bb48=_0x498987['slice'](0x2)['trim'](),_0x2be7ac='<=';else _0x498987['startsWith']('<')&&(_0x45160b='<',_0x19bb48=_0x498987[_0x2740b8(0x1b2)](0x1)['trim'](),_0x2be7ac='<');}}}}const _0x2a02d6=this['_parseVersion'](_0x19bb48);if(!_0x2a02d6)return null;return{'prefix':_0x45160b,'operator':_0x2be7ac,'major':_0x2a02d6['major'],'minor':_0x2a02d6['minor'],'patch':_0x2a02d6['patch'],'prerelease':_0x2a02d6[_0x2740b8(0x1c5)],'build':_0x2a02d6['build'],'original':_0x181c80};}['_isUpdateAvailable'](_0x547778,_0x5f0e3f){const _0x19790c=a0_0x56e9dd,_0x2a8124={'major':_0x547778[_0x19790c(0x1e3)],'minor':_0x547778[_0x19790c(0x1c0)],'patch':_0x547778['patch'],'prerelease':_0x547778['prerelease']||null,'build':_0x547778[_0x19790c(0x1e5)]||null};switch(_0x547778['operator']){case'^':return this[_0x19790c(0x1cf)](_0x2a8124,_0x5f0e3f);case'~':return this['_isTildeUpdateAvailable'](_0x2a8124,_0x5f0e3f);case'>=':case'>':return this[_0x19790c(0x16a)](_0x2a8124,_0x5f0e3f);case'<':case'<=':return this['_isLessThanUpdateAvailable'](_0x547778,_0x5f0e3f);case'x-range':return this['_isXRangeUpdateAvailable'](_0x547778,_0x5f0e3f);case'=':default:return this[_0x19790c(0x178)](_0x2a8124,_0x5f0e3f);}}['_isCaretUpdateAvailable'](_0x4bacfd,_0x11b2f6){const _0x3ba02d=a0_0x56e9dd,_0x410e20=this['_compareVersions'](_0x11b2f6,_0x4bacfd);if(_0x410e20<=0x0)return![];if(_0x4bacfd[_0x3ba02d(0x1e3)]===0x0&&_0x4bacfd['minor']===0x0)return _0x11b2f6[_0x3ba02d(0x1e3)]===0x0&&_0x11b2f6[_0x3ba02d(0x1c0)]===0x0;if(_0x4bacfd[_0x3ba02d(0x1e3)]===0x0)return _0x11b2f6['major']===0x0&&_0x11b2f6['minor']===_0x4bacfd[_0x3ba02d(0x1c0)];return _0x11b2f6[_0x3ba02d(0x1e3)]===_0x4bacfd['major'];}['_isTildeUpdateAvailable'](_0x194cd0,_0x1cf5dd){const _0x193de0=a0_0x56e9dd,_0x1b5677=this[_0x193de0(0x172)](_0x1cf5dd,_0x194cd0);if(_0x1b5677<=0x0)return![];return _0x1cf5dd['major']===_0x194cd0['major']&&_0x1cf5dd[_0x193de0(0x1c0)]===_0x194cd0[_0x193de0(0x1c0)];}['_isSimpleUpdateAvailable'](_0xc5fc84,_0x403b3d){const _0x1967ac=this['_compareVersions'](_0x403b3d,_0xc5fc84);return _0x1967ac>0x0;}['_isExactUpdateAvailable'](_0x4701b3,_0x1dc20d){return this['_isSimpleUpdateAvailable'](_0x4701b3,_0x1dc20d);}['_isLessThanUpdateAvailable'](_0x46f160,_0xfb90fd){const _0x51b107=a0_0x56e9dd,_0x42bc6a=this[_0x51b107(0x172)](_0xfb90fd,_0x46f160);if(_0x46f160[_0x51b107(0x179)]==='<')return _0x42bc6a<0x0;else{if(_0x46f160['operator']==='<=')return _0x42bc6a<=0x0;}return![];}[a0_0x56e9dd(0x180)](_0x8142c2,_0x5b9c2b){const _0xef0a69=a0_0x56e9dd;if(_0x8142c2[_0xef0a69(0x1e3)]!==null&&_0x5b9c2b[_0xef0a69(0x1e3)]!==_0x8142c2['major'])return![];if(_0x8142c2['minor']!==null&&_0x5b9c2b[_0xef0a69(0x1c0)]!==_0x8142c2[_0xef0a69(0x1c0)])return![];if(_0x8142c2['patch']!==null&&_0x5b9c2b['patch']!==_0x8142c2['patch'])return![];return!![];}[a0_0x56e9dd(0x19c)](_0x3c9015){const _0x4648f6=a0_0x56e9dd;if(_0x3c9015['includes']('||'))return!![];const _0xdb7edf=_0x3c9015[_0x4648f6(0x1b4)]();if(_0xdb7edf['startsWith']('^')||_0xdb7edf['startsWith']('~'))return![];const _0x18e5db=_0xdb7edf['split'](/\s+/)[_0x4648f6(0x165)](_0x4ac9a2=>_0x4ac9a2['length']>0x0);if(_0x18e5db['length']>0x1){const _0x5b7b07=/^(>=?|<=?|\^|~|[0-9])/;return _0x18e5db['every'](_0x1b5e72=>_0x5b7b07['test'](_0x1b5e72));}return![];}[a0_0x56e9dd(0x16d)](_0x1bdce){const _0x5287de=a0_0x56e9dd;if(_0x1bdce['includes']('||')){const _0x4e7aca=_0x1bdce[_0x5287de(0x1a1)]('||')['map'](_0x34f349=>_0x34f349['trim']());return{'type':'or','ranges':_0x4e7aca['map'](_0x131023=>this['_parseComplexRange'](_0x131023))};}const _0x39c2a2=_0x1bdce[_0x5287de(0x1b4)]()['split'](/\s+/)[_0x5287de(0x165)](_0x1079e7=>_0x1079e7[_0x5287de(0x1b5)]>0x0);if(_0x39c2a2['length']>0x1)return{'type':'and','ranges':_0x39c2a2[_0x5287de(0x194)](_0x4c52b4=>this[_0x5287de(0x188)](_0x4c52b4))};return{'type':_0x5287de(0x1c2),'range':this['_parseVersionRange'](_0x1bdce)};}[a0_0x56e9dd(0x174)](_0x2d75d1,_0x5969bd){const _0x274c04=a0_0x56e9dd;if(!_0x2d75d1||!_0x5969bd)return![];return this[_0x274c04(0x1c6)](_0x2d75d1,_0x5969bd);}[a0_0x56e9dd(0x1b6)](_0x3b829d,_0x257c8f){const _0x4270ce=a0_0x56e9dd;if(!_0x3b829d||!_0x257c8f)return![];switch(_0x3b829d[_0x4270ce(0x195)]){case'simple':return this['_satisfiesRange'](_0x3b829d[_0x4270ce(0x1ae)],_0x257c8f);case _0x4270ce(0x18a):return _0x3b829d[_0x4270ce(0x1d2)]['every'](_0x4a71f1=>this['_satisfiesRange'](_0x4a71f1,_0x257c8f));case'or':return _0x3b829d['ranges'][_0x4270ce(0x187)](_0x2d09d1=>this['_satisfiesComplexRange'](_0x2d09d1,_0x257c8f));default:return![];}}async['_checkDependencies'](_0x34e233){const _0x1827f6=a0_0x56e9dd,_0x5e731f={},_0x59af90=Object[_0x1827f6(0x186)](_0x34e233);for(let _0x5eb455=0x0;_0x5eb455<_0x59af90['length'];_0x5eb455+=RESOLVER_CONFIG['MAX_CONCURRENT_CHECKS']){const _0x92a7ba=_0x59af90['slice'](_0x5eb455,_0x5eb455+RESOLVER_CONFIG[_0x1827f6(0x166)]),_0x2de681=_0x92a7ba[_0x1827f6(0x194)](async([_0x49bddb,_0x4865f2])=>{const _0x127f31=_0x1827f6;try{const _0x53473a=await this['_getLatestCompatibleVersion'](_0x49bddb,_0x4865f2);if(_0x53473a){const _0x3c2fca=_0x4865f2['match'](/^[\^~]/)?.[0x0]||'^';return{'pkg':_0x49bddb,'newVersion':''+_0x3c2fca+_0x53473a,'oldVersion':_0x4865f2};}return null;}catch(_0x17e00c){return this[_0x127f31(0x17f)]?.[_0x127f31(0x17d)](_0x127f31(0x16f)+_0x49bddb+':',_0x17e00c[_0x127f31(0x1a3)]),null;}}),_0x51a921=await Promise[_0x1827f6(0x1ab)](_0x2de681);_0x51a921['forEach'](_0x19e80f=>{_0x19e80f&&(_0x5e731f[_0x19e80f['pkg']]=_0x19e80f['newVersion']);});}return _0x5e731f;}async[a0_0x56e9dd(0x177)](_0x4b0181,_0x4110df={}){const _0x3c52d7=a0_0x56e9dd;try{this[_0x3c52d7(0x162)](_0x4b0181);const {path:_0x3ffe53,mode:_0x5264cb,includeDev:_0x5d85b2}=_0x4b0181,{projectDir:_0x360810,agentId:_0x787d44,directoryAccess:_0x4d8634}=_0x4110df,_0x4d1b20=this[_0x3c52d7(0x181)](_0x3ffe53,_0x4110df),_0xc09849=a0_0x1079de['join'](_0x4d1b20,'package.json');this[_0x3c52d7(0x17f)]?.[_0x3c52d7(0x1c1)](_0x3c52d7(0x183),{'mode':_0x5264cb,'resolvedPath':_0x4d1b20,'includeDev':_0x5d85b2,'agentId':_0x787d44});const _0x238a8c=[];_0x238a8c['push'](_0x3c52d7(0x171)+_0x4d1b20),_0x238a8c[_0x3c52d7(0x1a7)]('Mode:\x20'+_0x5264cb);try{await a0_0x46cc19[_0x3c52d7(0x1d4)](_0xc09849);}catch{return{'success':![],'error':'No\x20package.json\x20found\x20at:\x20'+_0xc09849,'output':_0x238a8c['join']('\x0a')};}_0x238a8c['push']('\x0a📦\x20Reading\x20package.json...');const _0x31f8b4=await a0_0x46cc19['readFile'](_0xc09849,_0x3c52d7(0x1db)),_0x402832=JSON['parse'](_0x31f8b4),_0x2253a9={..._0x402832[_0x3c52d7(0x1a9)]};_0x5d85b2&&_0x402832['devDependencies']&&Object['assign'](_0x2253a9,_0x402832['devDependencies']);if(Object[_0x3c52d7(0x167)](_0x2253a9)['length']===0x0)return{'success':!![],'mode':_0x5264cb,'message':_0x3c52d7(0x161),'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'output':_0x238a8c[_0x3c52d7(0x192)]('\x0a')};if(Object[_0x3c52d7(0x167)](_0x2253a9)['length']>RESOLVER_CONFIG[_0x3c52d7(0x19e)])return{'success':![],'error':_0x3c52d7(0x17e)+Object['keys'](_0x2253a9)['length']+'),\x20max\x20allowed:\x20'+RESOLVER_CONFIG['MAX_DEPENDENCIES'],'output':_0x238a8c[_0x3c52d7(0x192)]('\x0a')};_0x238a8c['push']('📊\x20Found\x20'+Object['keys'](_0x2253a9)['length']+'\x20dependencies\x20to\x20check'),_0x238a8c['push'](_0x3c52d7(0x17b));const _0xdc4f04=await this['_checkDependencies'](_0x2253a9);_0x238a8c[_0x3c52d7(0x1a7)](_0x3c52d7(0x175)),_0x238a8c[_0x3c52d7(0x1a7)]('📈\x20Updates\x20available:\x20'+Object[_0x3c52d7(0x167)](_0xdc4f04)[_0x3c52d7(0x1b5)]);if(Object['keys'](_0xdc4f04)[_0x3c52d7(0x1b5)]>0x0){_0x238a8c['push'](_0x3c52d7(0x185));for(const [_0x56a17b,_0x1c9a4b]of Object['entries'](_0xdc4f04)){const _0x3f9c9a=_0x2253a9[_0x56a17b];_0x238a8c['push']('\x20\x20•\x20'+_0x56a17b+':\x20'+_0x3f9c9a+_0x3c52d7(0x190)+_0x1c9a4b);}}else _0x238a8c['push'](_0x3c52d7(0x1d1));if(_0x5264cb==='check')return Object['keys'](_0xdc4f04)['length']>0x0&&_0x238a8c[_0x3c52d7(0x1a7)](_0x3c52d7(0x1a5)),{'success':!![],'mode':_0x3c52d7(0x1bd),'message':_0x3c52d7(0x1e0)+Object[_0x3c52d7(0x167)](_0xdc4f04)['length']+'\x20package(s)\x20with\x20available\x20updates','statistics':{'totalDependencies':Object[_0x3c52d7(0x167)](_0x2253a9)['length'],'updatesAvailable':Object[_0x3c52d7(0x167)](_0xdc4f04)[_0x3c52d7(0x1b5)],'updatesApplied':0x0,'errors':0x0},'updates':_0xdc4f04,'output':_0x238a8c[_0x3c52d7(0x192)]('\x0a')};if((_0x5264cb==='fix'||_0x5264cb===_0x3c52d7(0x16b))&&Object[_0x3c52d7(0x167)](_0xdc4f04)['length']>0x0){_0x238a8c['push'](_0x3c52d7(0x169));const _0x2cdcd7=await this['_createBackup'](_0xc09849);_0x2cdcd7?_0x238a8c['push'](_0x3c52d7(0x1b7)+a0_0x1079de['basename'](_0x2cdcd7)):_0x238a8c[_0x3c52d7(0x1a7)]('⚠️\x20\x20Backup\x20creation\x20failed,\x20continuing\x20anyway...');_0x238a8c[_0x3c52d7(0x1a7)]('\x0a🛠\x20\x20Updating\x20package.json...');for(const [_0x4f8bba,_0xe1c778]of Object[_0x3c52d7(0x186)](_0xdc4f04)){_0x402832[_0x3c52d7(0x1a9)]?.[_0x4f8bba]&&(_0x402832['dependencies'][_0x4f8bba]=_0xe1c778),_0x402832['devDependencies']?.[_0x4f8bba]&&(_0x402832[_0x3c52d7(0x19d)][_0x4f8bba]=_0xe1c778);}await a0_0x46cc19['writeFile'](_0xc09849,JSON[_0x3c52d7(0x19f)](_0x402832,null,0x2)+'\x0a'),_0x238a8c['push'](_0x3c52d7(0x189)),_0x238a8c[_0x3c52d7(0x1a7)]('\x0a📥\x20Installing\x20dependencies\x20(this\x20may\x20take\x20a\x20while)...');try{const {stdout:_0x40796c,stderr:_0x4adae3}=await exec('npm\x20install',{'cwd':_0x4d1b20,'timeout':RESOLVER_CONFIG['NPM_COMMAND_TIMEOUT'],'maxBuffer':0x400*0x400*0xa});if(_0x40796c){const _0x1587c0=_0x40796c['trim']()[_0x3c52d7(0x1a1)]('\x0a');_0x1587c0['length']>0xa?_0x238a8c[_0x3c52d7(0x1a7)]('\x20\x20'+_0x1587c0['slice'](-0x5)['join']('\x0a\x20\x20')):_0x238a8c[_0x3c52d7(0x1a7)]('\x20\x20'+_0x40796c[_0x3c52d7(0x1b4)]());}_0x4adae3&&!_0x4adae3['includes'](_0x3c52d7(0x1b3))&&_0x238a8c[_0x3c52d7(0x1a7)]('⚠️\x20\x20'+_0x4adae3['trim']());_0x238a8c[_0x3c52d7(0x1a7)](_0x3c52d7(0x17c));try{const {stdout:_0x2ff0ed}=await exec(_0x3c52d7(0x182),{'cwd':_0x4d1b20,'timeout':0x7530}),_0x589f1e=JSON[_0x3c52d7(0x1cc)](_0x2ff0ed);if(_0x589f1e['dependencies']){_0x238a8c[_0x3c52d7(0x1a7)](_0x3c52d7(0x1b8));for(const _0x4e4307 of Object['keys'](_0xdc4f04)){_0x589f1e['dependencies'][_0x4e4307]&&_0x238a8c['push'](_0x3c52d7(0x168)+_0x4e4307+'@'+_0x589f1e[_0x3c52d7(0x1a9)][_0x4e4307][_0x3c52d7(0x1a2)]);}}}catch(_0x3c6bdf){this[_0x3c52d7(0x17f)]?.['debug'](_0x3c52d7(0x17a),_0x3c6bdf['message']);}return{'success':!![],'mode':_0x5264cb,'message':'Successfully\x20updated\x20'+Object['keys'](_0xdc4f04)[_0x3c52d7(0x1b5)]+'\x20package(s)','statistics':{'totalDependencies':Object[_0x3c52d7(0x167)](_0x2253a9)['length'],'updatesAvailable':Object[_0x3c52d7(0x167)](_0xdc4f04)['length'],'updatesApplied':Object['keys'](_0xdc4f04)[_0x3c52d7(0x1b5)],'errors':0x0},'updates':_0xdc4f04,'backupCreated':_0x2cdcd7!==null,'backupPath':_0x2cdcd7,'output':_0x238a8c['join']('\x0a')};}catch(_0xee8c36){_0x238a8c[_0x3c52d7(0x1a7)](_0x3c52d7(0x1d3)+_0xee8c36['message']);if(_0x2cdcd7)try{await a0_0x46cc19[_0x3c52d7(0x1ac)](_0x2cdcd7,_0xc09849),_0x238a8c['push']('\uD83D\uDD04 Restored package.json from backup');}catch(_0x209d11){_0x238a8c[_0x3c52d7(0x1a7)](_0x3c52d7(0x163));}return{'success':![],'mode':_0x5264cb,'error':_0x3c52d7(0x19b)+_0xee8c36['message'],'statistics':{'totalDependencies':Object[_0x3c52d7(0x167)](_0x2253a9)[_0x3c52d7(0x1b5)],'updatesAvailable':Object['keys'](_0xdc4f04)[_0x3c52d7(0x1b5)],'updatesApplied':0x0,'errors':0x1},'updates':_0xdc4f04,'backupCreated':_0x2cdcd7!==null,'output':_0x238a8c['join']('\x0a')};}}else{if(_0x5264cb===_0x3c52d7(0x1dd)||_0x5264cb==='auto')return _0x238a8c[_0x3c52d7(0x1a7)](_0x3c52d7(0x170)),{'success':!![],'mode':_0x5264cb,'message':_0x3c52d7(0x198),'statistics':{'totalDependencies':Object[_0x3c52d7(0x167)](_0x2253a9)['length'],'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'updates':{},'output':_0x238a8c[_0x3c52d7(0x192)]('\x0a')};}}catch(_0x2a9f4d){return this['logger']?.['error'](_0x3c52d7(0x19a),_0x2a9f4d),{'success':![],'error':_0x2a9f4d['message'],'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x1},'output':_0x2a9f4d[_0x3c52d7(0x1a3)]};}}}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
- const a0_0x42a559=a0_0x5132;(function(_0x21b498,_0x123233){const _0x66316f=a0_0x5132,_0x7e5ee7=_0x21b498();while(!![]){try{const _0x509cbc=parseInt(_0x66316f(0x217))/0x1+-parseInt(_0x66316f(0x214))/0x2+-parseInt(_0x66316f(0x24b))/0x3+-parseInt(_0x66316f(0x253))/0x4+-parseInt(_0x66316f(0x203))/0x5+parseInt(_0x66316f(0x20a))/0x6+-parseInt(_0x66316f(0x215))/0x7*(-parseInt(_0x66316f(0x22c))/0x8);if(_0x509cbc===_0x123233)break;else _0x7e5ee7['push'](_0x7e5ee7['shift']());}catch(_0x71062b){_0x7e5ee7['push'](_0x7e5ee7['shift']());}}}(a0_0x2916,0xad6f6));import{BaseTool}from'./baseTool.js';import{promises as a0_0x128a6c}from'fs';function a0_0x2916(){const _0x4d0103=['AxnbyNnVBhv0zq','Bwf4','tuiPoIa','tufyx05fv19dt05uru5ux1njwKu','nda5mZe4ohnrqu1Zza','tufyx0zjtevtx1bfuL9puevsqvrjt04','BwfW','cKvYCM9YCZOG','s0iklsbnyxHPBxvTig5LDYbJB250zw50ihnPEMu6ia','B2XKq29UDgvUDa','Aw5JBhvKzxm','rxHLy3v0Aw5NigzPBguGy29UDgvUDcbYzxbSywnL','tufyx0zjtevFu0LArq','qKfds1vqx0vyvevou0LptG','mJC0oti1nLj0vLbuCa','nZDxt0HrwhO','C3rHDa','nZqWmtKXyLb6Ee9b','zxjYB3jZ','zxjYB3i','BMv3q29UDgvUDa','CMvHzezPBgu','yxbWBhLszxbSywnLBwvUDa','rMfPBgvKihrVihbHCNnLigzPBguTy29UDgvUDc1YzxbSywnLihbHCMfTzxrLCNm','AgfZ','CMvXDwLYzxnqCM9Qzwn0','z2vUzxjHDgveAwzM','s0iklsbnyxHPBxvTihjLCgXHy2vTzw50CYbWzxiGzMLSztOG','rMLSzsb0B28GBgfYz2uGkg1HEca','CgfYC2vqyxjHBwv0zxjZ','BwvZC2fNzq','BM9Uzq','C3bSAxq','zMLSzs1JB250zw50lxjLCgXHy2u','s0iP','CMvWBgfJzunVBMzPzW','twLZC2LUzYbUzxCTy29UDgvUDcbPBIbYzxbSywnLihrHzW','Bw9Kzq','mJmXmdK5mLDYyunKqG','cLbYB2nLC3nLzca','CgfYC2u','igXPBMvZksWGC2HVD2LUzYbZDw1Tyxj5ig9UBhK6cG','ig1PC3nPBMCGBMv3q29UDgvUDa','AM9PBG','twLZC2LUzYbVBgqTy29UDgvUDcbPBIbYzxbSywnLihrHzW','revgqvvmvf9uuKLnx01preu','CMvSyxrPDMu','igzPBgvZigLUig9UzsbVCgvYyxrPB24','cKjHy2T1ChmGy3jLyxrLzdOG','tM8GCMvWBgfJzw1LBNrZig1HzguGAw4G','BMv3q29UDgvUDcb0B28GBgfYz2uGkg1HEca','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','yMfJA3vWq3jLyxrLza','Bg9Nz2vY','BgLUzxnmAw1PDa','ChjVy2vZC0zPBgu','rMfPBgvKihrVignYzwf0zsbIywnRDxa6ia','rMLSzsa','yxbWBhLuCMLTtw9Kzq','y291BNrpy2n1CNjLBMnLCW','BwLU','CgfYC2vku09o','BgLUzxmTBgLTAxq','tufyx09mrf9dt05uru5ux1njwKu','Aw5MBW','rwfJAcbMAwXLig11C3qGAgf2zsbHihbHDgG','CMvWBgfJzw1LBNrZ','cKzPBguGq29UDgvUDcbszxbSywnLifrVB2W6ifjLCgXHy2uGC3bLy2LMAwmGy29UDgvUDcb3AxrOAw4GzMLSzxmGD2L0AcbWCMvJAxnPB24UcGPytuWGvvnbr0u6cJXMAwXLlwnVBNrLBNqTCMvWBgfJzt4kica8zMLSzsbWyxrOpsjZCMmVyxbWlMPZiJ4kicaGidXYzxbSywnLig1Vzgu9iNrYAw0IigXPBMvZlwXPBwL0psi1ldCTmtaIpGOGicaGica8B2XKlwnVBNrLBNq+cIaGicaGicaGy29UC3qGB2XKrNvUy3rPB24GpsaOksa9pIb7cIaGicaGicaGicbJB25ZB2XLlMXVzYGNB2XKjYK7cIaGicaGicaGFqOGicaGica8l29Szc1JB250zw50pGOGicaGica8BMv3lwnVBNrLBNq+cIaGicaGicaGy29UC3qGBMv3rNvUy3rPB24GpsaOksa9pIb7cIaGicaGicaGicbJB25ZB2XLlMXVzYGNBMv3jYK7cIaGicaGicaGFqOGicaGica8l25LDY1JB250zw50pGOGicaGpc9YzxbSywnLpGOGidWVzMLSzt4kpc9MAwXLlwnVBNrLBNqTCMvWBgfJzt4kcKPtt04Gvvnbr0u6cMbGygPZB24kEWOGicj0B29SswqIoIaIzMLSzs1JB250zw50lxjLCgXHy2uIlaOGicjMAwXLCYi6ifSkicaGihSkicaGicaGiNbHDgGIoIaIC3jJl2fWCc5QCYiScIaGicaGicjYzxbSywnLBwvUDhmIoIbBcIaGicaGicaGEWOGicaGicaGicaGiM9SzenVBNrLBNqIoIaIy29UC3qGB2XKrNvUy3rPB24GpsaOksa9pIb7FsiScIaGicaGicaGicaIBMv3q29UDgvUDci6icjJB25ZDcbUzxDgDw5JDgLVBIa9icGPid0+ihT9iIWkicaGicaGicaGicjTB2rLiJOGiNrYAw0IlaOGicaGicaGicaGiMXPBMvZtgLTAxqIoIaInsW3lteWiGOGicaGicaGih0kicaGicaGxqOGicaGFqOGif0kFqPGygakcLbbuKfnrvrfuLm6cGPWyxrOicHYzxf1AxjLzcK6cIaGlsbqyxrOihrVihrOzsbMAwXLihrVig1VzgLMEqOGic0Gq2fUigjLihjLBgf0AxzLig9YigfIC29SDxrLcIaGlsbfEgfTCgXLCZOGiNnYyY9HChaUANmIlcaIlI9JB25MAwCUANnVBIikcM9SzenVBNrLBNqGkhjLCxvPCMvKktOkicaTienVBNrLBNqGDg8GzMLUzcbHBMqGCMvWBgfJzqOGic0Gu3vIAMvJDcb0BYb0CMLTig1VzguGChjVy2vZC2LUzWOGic0GtxvZDcbLEgLZDcbPBIbMAwXLcGPUzxDdB250zw50icHYzxf1AxjLzcK6cIaGlsbszxbSywnLBwvUDcbJB250zw50cIaGlsbtDwjQzwn0ihrVihrYAw0GBw9KzsbWCM9JzxnZAw5NcIaGlsbdyw4GyMuGC2fTzsbSzw5NDgGSihnOB3j0zxiSig9YigXVBMDLCGOkBw9KzsaOB3b0Aw9UywWPoGOGic0Gv2HPDgvZCgfJzsbOyw5KBgLUzYbTB2rLcIaGlsbpChrPB25ZoGOGicaGkIaIDhjPBsiGkgrLzMf1BhqPoIbuCMLTigfSBcb3AgL0zxnWywnLigzYB20GyM90AcbLBMrZcIaGicaQicjUzxDSAw5LCYi6ie9UBhKGDhjPBsbUzxDSAw5LignOyxjHy3rLCNmkicaGicOGiM5VBMuIoIbvC2uGy29UDgvUDcbLEgfJDgX5igfZihbYB3zPzgvKcIaGlsbizwXWCYb3AxrOig1HDgnOAw5NigrLC3bPDguGAw5Kzw50yxrPB24GzgLMzMvYzw5JzxmkcMXPBMvZtgLTAxqGkg9WDgLVBMfSktOkicaTifjLC3rYAwn0ihjLCgXHy2vTzw50ihrVihnWzwnPzMLJigXPBMvZcIaGlsbgB3jTyxq6ienVBw1HlxnLCgfYyxrLzcbSAw5Lig51BwjLCNmGB3iGCMfUz2vZcIaGlsbfEgfTCgXLCZOkicaGicOGiJuIic0Gt25SEsbSAw5LidukicaGicOGiJuSmtaSmtuIic0GtgLUzxmGnsWGmtaSigfUzcaXnqOGicaGkIaIns0XmciGlsbmAw5LCYa1ihrOCM91z2GGmtakicaGicOGiJeTnsWXmcWXns0YmciGlsbmAw5LCYaXltuSideWlcbHBMqGmtuTmJakicaTieXPBMuGBNvTyMvYCYbHCMuGms1IyxnLzaOkvfjjtsbnt0rfuYbfwfbmquLoruq6cGPnB2rLoIaIDhjPBsiGkfjLy29TBwvUzgvKigzVCIbTB3n0ignHC2vZkqOGieLUChv0oGOGicaGiIaGy29UC3qGEca9ide7icbCBIikicbbzNrLCIb0CMLToGOGicaGiMnVBNn0ihGGpsaXoYikicbvC2uGD2HLBJOGsw5Kzw50yxrPB24GBwf5ihzHCNKkcK1Vzgu6icjUzxDSAw5LCYikicbjBNb1DdOkicaGicjCBIaGy29UC3qGEca9ide7icbCBIikicbbzNrLCIb0CMLToGOGicaGiIaGy29UC3qGEca9ide7icaIcIaGvxnLihDOzw46ifbYzxnLCNzPBMCGAw50zxjUywWGD2HPDgvZCgfJzqOktw9KztOGiM5VBMuIcIaGsw5WDxq6cIaGicaIicbJB25ZDcb4id0GmtSGifXUiGOGiefMDgvYihrYAw06cIaGicaIicbJB25ZDcb4id0GmtSGifXUiGOGifvZzsb3AgvUoIbfEgfJDcbJAgfYywn0zxiGBwf0y2GGBMvLzgvKcGPfwefnueXfuZOkcKv4yw1WBguGmsaTiejHC2LJihjLCgXHy2vTzw50ihDPDgGGDhjPBtOkpgzPBguTy29UDgvUDc1YzxbSywnLpGOGidXMAwXLihbHDgG9iNnYyY9JB21WB25LBNrZl0j1DhrVBI5QCYi+cIaGica8CMvWBgfJzsbTB2rLpsj0CMLTiJ4kicaGicaGpg9Szc1JB250zw50pGOGicaGicaGignVBNn0igHHBMrSzunSAwnRid0Gkgv2zw50ksa9pIb7cIaGicaGicaGicbJB25ZB2XLlMXVzYGNy2XPy2TLzcCPoWOGicaGicaGih0kicaGicaGpc9VBgqTy29UDgvUDd4kicaGicaGpg5LDY1JB250zw50pGOGicaGicaGignVBNn0igHHBMrSzunSAwnRid0Gkgv2zw50ksa9pIb7cIaGicaGicaGicbJB25ZB2XLlMXVzYGNy2XPy2TLzcCPoWOGicaGicaGicaGChjVChmUB25dBgLJAZ8Ukgv2zw50ktSkicaGicaGicb9cIaGicaGidWVBMv3lwnVBNrLBNq+cIaGica8l3jLCgXHy2u+cIaGpc9MAwXLpGO8l2zPBguTy29UDgvUDc1YzxbSywnLpGOkrxHHBxbSzsaYic0GtgLUzs1SAw1PDgvKihjLCgXHy2vTzw50oGO8zMLSzs1JB250zw50lxjLCgXHy2u+cIaGpgzPBguGCgf0Ad0IC3jJl0fWCc5QCYi+cIaGica8CMvWBgfJzsbSAw5LCY1SAw1PDd0ImtaTmJaIpGOGicaGica8B2XKlwnVBNrLBNq+y29UC3qGqvbjx1vstca9icDODhrWoI8VBg9JywXOB3n0oJmWmdaNpc9VBgqTy29UDgvUDd4kicaGicaGpg5LDY1JB250zw50pMnVBNn0iefqsv9vuKWGpsbWCM9JzxnZlMvUDI5bueLFvvjmpc9UzxCTy29UDgvUDd4kicaGidWVCMvWBgfJzt4kica8l2zPBgu+cJWVzMLSzs1JB250zw50lxjLCgXHy2u+cGPfEgfTCgXLidmGlsbnDwX0AxbSzsbYzxbSywnLBwvUDhmGAw4GB25LigzPBgu6cJXMAwXLlwnVBNrLBNqTCMvWBgfJzt4kica8zMLSzsbWyxrOpsjZCMmVy29UzMLNlMPZiJ4kicaGidXYzxbSywnLpGOGicaGica8B2XKlwnVBNrLBNq+revcvuCGpsbMywXZztWVB2XKlwnVBNrLBNq+cIaGicaGidXUzxCTy29UDgvUDd5erujvrYa9ihrYDwu8l25LDY1JB250zw50pGOGicaGpc9YzxbSywnLpGOGicaGphjLCgXHy2u+cIaGicaGidXVBgqTy29UDgvUDd5mt0DFtevwruWGpsaNzxjYB3iNpc9VBgqTy29UDgvUDd4kicaGicaGpg5LDY1JB250zw50pKXpr19mrvzftca9icDKzwj1zYC8l25LDY1JB250zw50pGOGicaGpc9YzxbSywnLpGOGidWVzMLSzt4kpc9MAwXLlwnVBNrLBNqTCMvWBgfJzt4kcKv4yw1WBguGncaTie11BhrPCgXLigzPBgvZoGO8zMLSzs1JB250zw50lxjLCgXHy2u+cIaGpgzPBguGCgf0Ad0IC3jJl2fWCc5QCYi+cIaGica8CMvWBgfJzt4kicaGicaGpg9Szc1JB250zw50pNzLCNnPB24GpsaNms4WlJaNpc9VBgqTy29UDgvUDd4kicaGicaGpg5LDY1JB250zw50pNzLCNnPB24GpsaNms4XlJaNpc9UzxCTy29UDgvUDd4kicaGidWVCMvWBgfJzt4kica8l2zPBgu+cIaGpgzPBguGCgf0Ad0ICgfJA2fNzs5QC29UiJ4kicaGidXYzxbSywnLig1Vzgu9iM5VBMuIpGOGicaGica8B2XKlwnVBNrLBNq+iNzLCNnPB24IoIaIms4WlJaIpc9VBgqTy29UDgvUDd4kicaGicaGpg5LDY1JB250zw50pIj2zxjZAw9UiJOGiJeUms4WiJWVBMv3lwnVBNrLBNq+cIaGica8l3jLCgXHy2u+cIaGpc9MAwXLpGO8l2zPBguTy29UDgvUDc1YzxbSywnLpGOkrxHHBxbSzsa1ic0GrxHHy3qGD2HPDgvZCgfJzsbTyxrJAgLUzZOkpgzPBguTy29UDgvUDc1YzxbSywnLpGOGidXMAwXLihbHDgG9iK1HA2vMAwXLiJ4kicaGidXYzxbSywnLig1Vzgu9iM5VBMuIpGOGicaGica8B2XKlwnVBNrLBNq+xhrIDwLSzdPCBLX0xhrNy2m8l29Szc1JB250zw50pGOGicaGica8BMv3lwnVBNrLBNq+xhrIDwLSzdPCBLX0xhrJBgfUzZWVBMv3lwnVBNrLBNq+cIaGica8l3jLCgXHy2u+cIaGpc9MAwXLpGO8l2zPBguTy29UDgvUDc1YzxbSywnLpGOkrKvbvfvsrvm6cGRINjmGqxv0B21HDgLJigjHy2T1CcbJCMvHDgLVBIaOlMjHAYbMAwXLCYKk4PYtiejLzM9Yzs9HzNrLCIbKAwzMihjLCg9YDhmk4PYtifjLCgXHy2vTzw50ignVDw50Aw5NigfUzcbZDgf0Axn0AwnZcUkCKYbnDwX0As1MAwXLig9WzxjHDgLVBNmk4PYtieXPBMuTBgLTAxrLzcbYzxbSywnLBwvUDhmk4PYtieLUDgvSBgLNzw50ihDOAxrLC3bHy2uGAgfUzgXPBMCk4PYtifnLy3vYAxr5ihzHBgLKyxrPB24GkhbHDgGGywnJzxnZkqRINjmGq3jLyxrLCYbWyxjLBNqGzgLYzwn0B3jPzxmGAwyGBMvLzgvKcGPmsu1jvefusu9ouZOkcI0Gtwf4Aw11BsbMAwXLihnPEMu6ia','twfKzsa','mZe5mJCWnuH2tu9sDq','pvSIj10Ow14Ij10QkvSIj10','tuiklsbnyxHPBxvTig9SzcbJB250zw50ihnPEMu6ia','zMLSzxnnB2rPzMLLza','tufyx0rjrKzFteLorvm','zMLSzxnqCM9JzxnZzwq','zMLSzxmGBxvZDcbIzsbHBIbHCNjHEq','ugfYyw1LDgvYihbHCNnPBMCGzMfPBgvKoIa','mZe5nZy4nfbTB1neAa','Cgf0Aa','igzPBguOCYKkvg90ywWGCMvWBgfJzw1LBNrZoIa','iebacG','lMjHAW','lI4U','zMLSzxmGyxjYyxKGy2fUBM90igjLigvTChr5','zxHLyW','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','AxnbCNjHEq','DgLTzw91Da','CMvWBgfJzw1LBNrZtwfKzq','yMfJA3vWC0nYzwf0zwq','zxH0CMfJDef0DhjPyNv0zq','DhjPBq','BMv3BgLUzxm','D2fYBG','CgfYC2vmAw5LuMfUz2vZ','DxrMltG','cGPot1rfuZOkcI0GvxnLihrOzsbZzwvRihrVB2WGzMLYC3qGDg8GDMvYAwz5ignVBNrLBNqGzxHPC3rZcI0GqMfJA3vWCYbHCMuGy3jLyxrLzcbHDxrVBwf0AwnHBgX5icGUyMfRigv4DgvUC2LVBIKklsbszxbSywnLBwvUDhmGyxjLignHC2uTC2vUC2L0AxzLcI0Gt2XKignVBNrLBNqGBxvZDcbTyxrJAcbLEgfJDgX5icHHzNrLCIb0CMLTig1VzguGyxbWBgLLzcKklsbnDwX0AxbSzsbVy2n1CNjLBMnLCYbHCMuGywXSihjLCgXHy2vKihvUBgvZCYbSAw5LC0XPBwL0ihnWzwnPzMLLzaOTifrVB2WGDMfSAwrHDgvZihbHDgHZigfNywLUC3qGywDLBNqNCYbHy2nLC3nPyMXLigrPCMvJDg9YAwvZcGPnvuXuss1esvjfq1rpuLKGu1vque9svdOkcLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','C2L6zq','zMLSzxm','AxnqyxrOqwnJzxnZAwjSzq','BgvUz3rO','y3DK','ChvZAa','mZi1nJy0nwfJEufvtG','y291BNq','uMvWBgfJzw1LBNqGAw4G'];a0_0x2916=function(){return _0x4d0103;};return a0_0x2916();}import a0_0x3daa83 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_0x42a559(0x257),'DIFF_CONTEXT_LINES':0x3,'MAX_DIFF_LINES':0x64,'DEFAULT_TRIM_MODE':a0_0x42a559(0x1f7)};class FileContentReplaceTool extends BaseTool{constructor(_0x58289e={},_0x4c7909=null){const _0x3d5e3e=a0_0x42a559;super(_0x58289e,_0x4c7909),this[_0x3d5e3e(0x21f)]=!![],this['isAsync']=!![],this[_0x3d5e3e(0x1f3)]=_0x58289e[_0x3d5e3e(0x1f3)]||0x1d4c0,this['replaceConfig']={...REPLACE_CONFIG,..._0x58289e['replaceConfig']};}['getDescription'](){const _0xdc2cd=a0_0x42a559;return _0xdc2cd(0x249)+REPLACE_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+_0xdc2cd(0x24d)+REPLACE_CONFIG[_0xdc2cd(0x245)]/0x400+_0xdc2cd(0x20e)+REPLACE_CONFIG[_0xdc2cd(0x209)]/0x400+_0xdc2cd(0x221)+REPLACE_CONFIG['MAX_REPLACEMENTS_PER_FILE']+'\x0a-\x20Maximum\x20files\x20per\x20operation:\x20'+REPLACE_CONFIG[_0xdc2cd(0x20b)]+_0xdc2cd(0x1fc);}[a0_0x42a559(0x223)](_0x107306){const _0x3efbff=a0_0x42a559;try{if(_0x107306['trim']()['startsWith']('{'))return this['parseJSON'](_0x107306);return this['parseXML'](_0x107306);}catch(_0x23b5db){this[_0x3efbff(0x23b)]?.[_0x3efbff(0x219)](_0x3efbff(0x21d),{'error':_0x23b5db['message']});throw new Error(_0x3efbff(0x252)+_0x23b5db[_0x3efbff(0x224)]);}}[a0_0x42a559(0x243)](_0x366313){const _0x2241a7=a0_0x42a559,_0x2eae91=JSON[_0x2241a7(0x22e)](_0x366313);if(!_0x2eae91['files']||!Array[_0x2241a7(0x1f2)](_0x2eae91[_0x2241a7(0x1fe)]))throw new Error('JSON\x20must\x20have\x20\x22files\x22\x20array');return{'files':_0x2eae91[_0x2241a7(0x1fe)][_0x2241a7(0x20c)](_0x2ce8e9=>({'path':_0x2ce8e9['path'],'replacements':(_0x2ce8e9[_0x2241a7(0x248)]||[])[_0x2241a7(0x20c)](_0x194dd1=>({'oldContent':_0x194dd1['oldContent'],'newContent':_0x194dd1['newContent'],'mode':_0x194dd1[_0x2241a7(0x22b)]||REPLACE_CONFIG[_0x2241a7(0x233)],'linesLimit':_0x194dd1[_0x2241a7(0x23c)]||null}))}))};}['parseXML'](_0x2c1af4){const _0x4b95b3=a0_0x42a559,_0x19d777=[],_0x577707=/<file\s+path="([^"]+)">([\s\S]*?)<\/file>/gi;let _0x2cfa4e;while((_0x2cfa4e=_0x577707['exec'](_0x2c1af4))!==null){const _0x885154=_0x2cfa4e[0x1],_0xe173dd=_0x2cfa4e[0x2],_0x13e5ff=[],_0x118440=/<replace(?:\s+([^>]*?))?>([\s\S]*?)<\/replace>/gi;let _0x1f8adf;while((_0x1f8adf=_0x118440['exec'](_0xe173dd))!==null){const _0x3a8e85=_0x1f8adf[0x1]||'',_0x5ea44d=_0x1f8adf[0x2],_0xdef6d2=this['extractAttribute'](_0x3a8e85,'mode')||REPLACE_CONFIG[_0x4b95b3(0x233)],_0x387a17=this['extractAttribute'](_0x3a8e85,_0x4b95b3(0x244)),_0x15b8fa=/<old-content>([\s\S]*?)<\/old-content>/i['exec'](_0x5ea44d);if(!_0x15b8fa){this[_0x4b95b3(0x23b)]?.['warn'](_0x4b95b3(0x232));continue;}const _0x1d779e=_0x15b8fa[0x1],_0x5e70b5=/<new-content>([\s\S]*?)<\/new-content>/i['exec'](_0x5ea44d);if(!_0x5e70b5){this['logger']?.['warn'](_0x4b95b3(0x22a));continue;}const _0x563e27=_0x5e70b5[0x1],_0x2a20a5=this['applyTrimMode'](_0x1d779e,_0xdef6d2),_0x3ae6d8=this[_0x4b95b3(0x240)](_0x563e27,_0xdef6d2);_0x13e5ff['push']({'oldContent':_0x2a20a5,'newContent':_0x3ae6d8,'mode':_0xdef6d2,'linesLimit':_0x387a17});}_0x13e5ff['length']>0x0&&_0x19d777[_0x4b95b3(0x202)]({'path':_0x885154,'replacements':_0x13e5ff});}return{'files':_0x19d777};}[a0_0x42a559(0x1f6)](_0x48b982,_0x4828a2){const _0x35fb72=a0_0x42a559,_0x2b1ce7=new RegExp(_0x4828a2+_0x35fb72(0x24c),'i'),_0x4a9708=_0x2b1ce7[_0x35fb72(0x1f0)](_0x48b982);return _0x4a9708?_0x4a9708[0x1]:null;}[a0_0x42a559(0x240)](_0x57aefa,_0x50a944){const _0x3961b7=a0_0x42a559;switch(_0x50a944){case _0x3961b7(0x1f8):return _0x57aefa['replace'](/^\n+|\n+$/g,'');case'none':return _0x57aefa;case _0x3961b7(0x1f7):default:return _0x57aefa[_0x3961b7(0x1f7)]();}}['getRequiredParameters'](){return['files'];}['customValidateParameters'](_0x40ba6e){const _0x2615d4=a0_0x42a559,_0x1290b7=[];if(!_0x40ba6e['files']||!Array['isArray'](_0x40ba6e[_0x2615d4(0x1fe)]))_0x1290b7['push'](_0x2615d4(0x251));else{_0x40ba6e[_0x2615d4(0x1fe)][_0x2615d4(0x200)]===0x0&&_0x1290b7[_0x2615d4(0x202)](_0x2615d4(0x1ef));_0x40ba6e[_0x2615d4(0x1fe)]['length']>this['replaceConfig'][_0x2615d4(0x20b)]&&_0x1290b7['push']('Cannot\x20process\x20more\x20than\x20'+this[_0x2615d4(0x229)]['MAX_FILES_PER_OPERATION']+_0x2615d4(0x235));for(const _0x234731 of _0x40ba6e['files']){!_0x234731[_0x2615d4(0x254)]&&_0x1290b7['push'](_0x2615d4(0x247));_0x234731['path']&&_0x234731['path']['includes']('..')&&_0x1290b7['push']('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security:\x20'+_0x234731['path']);if(!_0x234731['replacements']||!Array[_0x2615d4(0x1f2)](_0x234731[_0x2615d4(0x248)]))_0x1290b7[_0x2615d4(0x202)](_0x2615d4(0x23f)+_0x234731[_0x2615d4(0x254)]+'\x20must\x20have\x20replacements\x20array');else{if(_0x234731['replacements']['length']===0x0)_0x1290b7['push']('File\x20'+_0x234731[_0x2615d4(0x254)]+'\x20replacements\x20array\x20cannot\x20be\x20empty');else for(const _0x5d0a05 of _0x234731['replacements']){!_0x5d0a05['oldContent']&&_0x5d0a05['oldContent']!==''&&_0x1290b7[_0x2615d4(0x202)]('Replacement\x20in\x20'+_0x234731[_0x2615d4(0x254)]+'\x20missing\x20oldContent'),!_0x5d0a05['newContent']&&_0x5d0a05['newContent']!==''&&_0x1290b7[_0x2615d4(0x202)](_0x2615d4(0x205)+_0x234731['path']+_0x2615d4(0x230)),_0x5d0a05['oldContent']&&_0x5d0a05['oldContent'][_0x2615d4(0x200)]>this[_0x2615d4(0x229)][_0x2615d4(0x245)]&&_0x1290b7['push']('oldContent\x20too\x20large\x20(max\x20'+this[_0x2615d4(0x229)][_0x2615d4(0x245)]/0x400+_0x2615d4(0x228)),_0x5d0a05[_0x2615d4(0x21a)]&&_0x5d0a05[_0x2615d4(0x21a)][_0x2615d4(0x200)]>this['replaceConfig']['MAX_NEW_CONTENT_SIZE']&&_0x1290b7['push'](_0x2615d4(0x238)+this[_0x2615d4(0x229)]['MAX_NEW_CONTENT_SIZE']/0x400+'KB)'),_0x5d0a05['mode']&&!['trim',_0x2615d4(0x1f8),_0x2615d4(0x225)][_0x2615d4(0x210)](_0x5d0a05['mode'])&&_0x1290b7['push']('Invalid\x20mode:\x20'+_0x5d0a05[_0x2615d4(0x22b)]+'.\x20Must\x20be\x20\x27trim\x27,\x20\x27newlines\x27,\x20or\x20\x27none\x27');}}}}if(_0x1290b7[_0x2615d4(0x200)]>0x0)throw new Error(_0x2615d4(0x1f1)+_0x1290b7['join'](',\x20'));return{'valid':!![],'errors':[]};}async['execute'](_0x40d0f3,_0x5e5e60){const _0x350964=a0_0x42a559,{files:_0x5e1033}=_0x40d0f3,{projectDir:_0x1890cf,agentId:_0x11ecf3,directoryAccess:_0x583b56}=_0x5e5e60;let _0x5ad28b=_0x1890cf||process[_0x350964(0x201)]();_0x583b56&&_0x583b56['workingDirectory']&&(_0x5ad28b=_0x583b56['workingDirectory'],this['logger']?.['info']('Using\x20agent\x20configured\x20working\x20directory',{'workingDirectory':_0x583b56['workingDirectory'],'agentId':_0x11ecf3}));this['logger']?.[_0x350964(0x246)](_0x350964(0x211),{'fileCount':_0x5e1033['length'],'workingDirectory':_0x5ad28b,'agentId':_0x11ecf3});const _0x783f86=[],_0x4db4e4={'filesProcessed':0x0,'filesModified':0x0,'totalReplacements':0x0,'backupsCreated':0x0,'errors':0x0};for(const _0x3610aa of _0x5e1033){try{const _0x454252=await this[_0x350964(0x23d)](_0x3610aa,_0x5ad28b,_0x583b56);_0x783f86[_0x350964(0x202)](_0x454252),_0x4db4e4[_0x350964(0x250)]++,_0x454252[_0x350964(0x1f4)]>0x0&&(_0x4db4e4[_0x350964(0x24e)]++,_0x4db4e4['totalReplacements']+=_0x454252['replacementsMade']),_0x454252[_0x350964(0x23a)]&&_0x4db4e4['backupsCreated']++;}catch(_0x42e6c8){this[_0x350964(0x23b)]?.[_0x350964(0x219)]('Error\x20processing\x20file\x20'+_0x3610aa['path'],{'error':_0x42e6c8[_0x350964(0x224)]}),_0x783f86['push']({'filePath':_0x3610aa['path'],'success':![],'error':_0x42e6c8['message']}),_0x4db4e4['errors']++;}}return{'success':_0x4db4e4['errors']===0x0,'results':_0x783f86,'statistics':_0x4db4e4,'summary':this['generateSummary'](_0x4db4e4),'toolUsed':_0x350964(0x227)};}async['processFile'](_0x51b06b,_0x20f137,_0x6dd222){const _0x311683=a0_0x42a559,{path:_0x5963bc,replacements:_0x4474be}=_0x51b06b,_0x162959=a0_0x3daa83['isAbsolute'](_0x5963bc)?_0x5963bc:a0_0x3daa83['resolve'](_0x20f137,_0x5963bc);if(_0x6dd222){const _0x8e491e=this[_0x311683(0x1ff)](_0x162959,_0x20f137,_0x6dd222);if(!_0x8e491e)throw new Error('Path\x20not\x20accessible:\x20'+_0x5963bc);}try{await a0_0x128a6c['access'](_0x162959);}catch(_0x2dfd7b){throw new Error('File\x20not\x20found:\x20'+_0x5963bc);}const _0xb5e663=await a0_0x128a6c[_0x311683(0x216)](_0x162959);if(_0xb5e663[_0x311683(0x1fd)]>this['replaceConfig']['MAX_FILE_SIZE'])throw new Error(_0x311683(0x222)+this['replaceConfig'][_0x311683(0x212)]/(0x400*0x400)+_0x311683(0x208)+_0x5963bc);let _0x428b61=await a0_0x128a6c[_0x311683(0x21b)](_0x162959,'utf-8');const _0x1cf3ec=_0x428b61;let _0x517591=![];if(this['replaceConfig']['CREATE_BACKUPS']){const _0x2237af=_0x162959+this['replaceConfig'][_0x311683(0x213)];try{await a0_0x128a6c['writeFile'](_0x2237af,_0x1cf3ec,_0x311683(0x1fb)),_0x517591=!![];}catch(_0x5b0663){this['logger']?.[_0x311683(0x1f9)](_0x311683(0x23e)+_0x5b0663['message']);}}let _0x282580=0x0;const _0x5601ad=[];for(const _0x3091c8 of _0x4474be){const _0x3d676f=await this[_0x311683(0x21c)](_0x428b61,_0x3091c8[_0x311683(0x20f)],_0x3091c8[_0x311683(0x21a)],_0x3091c8[_0x311683(0x23c)],_0x3091c8['mode']);_0x428b61=_0x3d676f['newContent'],_0x282580+=_0x3d676f[_0x311683(0x204)],_0x5601ad['push']({'oldContent':_0x3091c8[_0x311683(0x20f)]['substring'](0x0,0x32)+(_0x3091c8['oldContent'][_0x311683(0x200)]>0x32?_0x311683(0x1ee):''),'newContent':_0x3091c8[_0x311683(0x21a)]['substring'](0x0,0x32)+(_0x3091c8['newContent']['length']>0x32?'...':''),'count':_0x3d676f['count'],'mode':_0x3091c8[_0x311683(0x22b)],'linesLimit':_0x3091c8['linesLimit']});}_0x282580>0x0&&await a0_0x128a6c['writeFile'](_0x162959,_0x428b61,_0x311683(0x1fb));const _0x2c56ab=_0x282580>0x0?this['generateDiff'](_0x1cf3ec,_0x428b61):null;return{'filePath':_0x5963bc,'resolvedPath':_0x162959,'success':!![],'replacementsMade':_0x282580,'backupCreated':_0x517591,'replacementDetails':_0x5601ad,'diff':_0x2c56ab,'message':_0x282580>0x0?_0x311683(0x24a)+_0x282580+'\x20replacement(s)\x20in\x20'+_0x5963bc:_0x311683(0x237)+_0x5963bc+'\x20(content\x20not\x20found)'};}[a0_0x42a559(0x1ff)](_0x89ca33,_0x412f69,_0x439599){const _0xfeaadc=a0_0x42a559,_0x50beb9=a0_0x3daa83['relative'](_0x412f69,_0x89ca33);if(!_0x50beb9['startsWith']('..')&&!a0_0x3daa83[_0xfeaadc(0x206)](_0x50beb9))return!![];if(_0x439599[_0xfeaadc(0x239)])for(const _0x3b23a9 of _0x439599[_0xfeaadc(0x239)]){const _0x2672c0=a0_0x3daa83[_0xfeaadc(0x234)](_0x3b23a9,_0x89ca33);if(!_0x2672c0['startsWith']('..')&&!a0_0x3daa83['isAbsolute'](_0x2672c0))return!![];}return![];}async[a0_0x42a559(0x21c)](_0x37667a,_0x4f3b01,_0x66ac60,_0x30696b,_0x388f85){const _0x2de4a9=a0_0x42a559;if(!_0x30696b){const _0x8c47e7=this[_0x2de4a9(0x241)](_0x37667a,_0x4f3b01);if(_0x8c47e7===0x0)return{'newContent':_0x37667a,'count':0x0};const _0x3a5011=_0x37667a['split'](_0x4f3b01)['join'](_0x66ac60);return{'newContent':_0x3a5011,'count':_0x8c47e7};}const _0x348ff3=this['parseLineRanges'](_0x30696b),_0x3aa6c4=_0x37667a[_0x2de4a9(0x226)]('\x0a');let _0x8aa3eb=0x0;for(let _0xba4f65=0x0;_0xba4f65<_0x3aa6c4['length'];_0xba4f65++){const _0x1ffa49=_0xba4f65+0x1;if(_0x348ff3[_0x2de4a9(0x21e)](_0x1ffa49)){if(_0x3aa6c4[_0xba4f65]['includes'](_0x4f3b01)){const _0x5b0711=this['countOccurrences'](_0x3aa6c4[_0xba4f65],_0x4f3b01);_0x3aa6c4[_0xba4f65]=_0x3aa6c4[_0xba4f65][_0x2de4a9(0x226)](_0x4f3b01)[_0x2de4a9(0x231)](_0x66ac60),_0x8aa3eb+=_0x5b0711;}}}return{'newContent':_0x3aa6c4['join']('\x0a'),'count':_0x8aa3eb};}[a0_0x42a559(0x241)](_0x3b22b8,_0x1edb52){if(!_0x1edb52)return 0x0;return _0x3b22b8['split'](_0x1edb52)['length']-0x1;}[a0_0x42a559(0x1fa)](_0x5f4652){const _0x6a5b27=a0_0x42a559,_0x2e3d7a=new Set();if(!_0x5f4652||_0x5f4652[_0x6a5b27(0x1f7)]()==='')return _0x2e3d7a;const _0xd664e4=_0x5f4652[_0x6a5b27(0x226)](',');for(const _0x189b20 of _0xd664e4){const _0x1e1611=_0x189b20['trim']();if(_0x1e1611==='')continue;if(_0x1e1611['includes']('-')){const [_0x14db95,_0x5cdce]=_0x1e1611['split']('-')[_0x6a5b27(0x20c)](_0xfe20a1=>parseInt(_0xfe20a1['trim'](),0xa));if(!isNaN(_0x14db95)&&!isNaN(_0x5cdce)&&_0x5cdce-_0x14db95<this['replaceConfig']['MAX_LINE_RANGE_SIZE'])for(let _0x3ebc14=_0x14db95;_0x3ebc14<=_0x5cdce;_0x3ebc14++){_0x2e3d7a['add'](_0x3ebc14);}}else{const _0x46a17a=parseInt(_0x1e1611,0xa);!isNaN(_0x46a17a)&&_0x2e3d7a['add'](_0x46a17a);}}return _0x2e3d7a;}[a0_0x42a559(0x220)](_0x38fa50,_0x1bb33e){const _0x5301fd=a0_0x42a559,_0x4fd783=_0x38fa50['split']('\x0a'),_0x5474a9=_0x1bb33e['split']('\x0a');let _0x1ad9c3=-0x1,_0x105908=-0x1;const _0x3e6d38=Math[_0x5301fd(0x207)](_0x4fd783[_0x5301fd(0x200)],_0x5474a9['length']);for(let _0x40481d=0x0;_0x40481d<_0x3e6d38;_0x40481d++){const _0x3be8e1=_0x40481d<_0x4fd783['length']?_0x4fd783[_0x40481d]:'',_0x4c308d=_0x40481d<_0x5474a9[_0x5301fd(0x200)]?_0x5474a9[_0x40481d]:'';if(_0x3be8e1!==_0x4c308d){if(_0x1ad9c3===-0x1)_0x1ad9c3=_0x40481d;_0x105908=_0x40481d;}}if(_0x1ad9c3===-0x1)return'No\x20differences';const _0x1d426d=this[_0x5301fd(0x229)]['DIFF_CONTEXT_LINES'],_0x2f3731=Math[_0x5301fd(0x207)](0x0,_0x1ad9c3-_0x1d426d),_0x29c886=Math[_0x5301fd(0x242)](_0x3e6d38-0x1,_0x105908+_0x1d426d);if(_0x29c886-_0x2f3731>this['replaceConfig'][_0x5301fd(0x24f)])return'Diff\x20too\x20large\x20('+(_0x29c886-_0x2f3731+0x1)+_0x5301fd(0x22f)+('Changed\x20lines:\x20'+(_0x1ad9c3+0x1)+'\x20to\x20'+(_0x105908+0x1));let _0x4449e4='@@\x20-'+(_0x2f3731+0x1)+','+(_0x29c886-_0x2f3731+0x1)+'\x20+'+(_0x2f3731+0x1)+','+(_0x29c886-_0x2f3731+0x1)+_0x5301fd(0x256);for(let _0x139a79=_0x2f3731;_0x139a79<=_0x29c886;_0x139a79++){const _0xbc1377=_0x139a79<_0x4fd783[_0x5301fd(0x200)]?_0x4fd783[_0x139a79]:'',_0x33b2e5=_0x139a79<_0x5474a9[_0x5301fd(0x200)]?_0x5474a9[_0x139a79]:'';_0xbc1377===_0x33b2e5?_0x4449e4+='\x20\x20'+_0xbc1377+'\x0a':(_0x4449e4+='-\x20'+_0xbc1377+'\x0a',_0x4449e4+='+\x20'+_0x33b2e5+'\x0a');}return _0x4449e4;}['generateSummary'](_0x36823e){const _0x1ef783=a0_0x42a559;return(_0x1ef783(0x22d)+_0x36823e['filesProcessed']+'\x20file(s)\x0aModified\x20'+_0x36823e[_0x1ef783(0x24e)]+_0x1ef783(0x255)+_0x36823e['totalReplacements']+_0x1ef783(0x236)+_0x36823e[_0x1ef783(0x1f5)]+_0x1ef783(0x20d)+_0x36823e[_0x1ef783(0x218)]+'\x0a\x20\x20\x20\x20')['trim']();}async['cleanup'](_0xec2a6a){const _0x531f2d=a0_0x42a559;this['logger']?.[_0x531f2d(0x246)]('File\x20content\x20replace\x20tool\x20cleanup\x20completed',{'operationId':_0xec2a6a});}}function a0_0x5132(_0x27b831,_0x3b61f2){_0x27b831=_0x27b831-0x1ee;const _0x2916f5=a0_0x2916();let _0x5132bd=_0x2916f5[_0x27b831];if(a0_0x5132['JGzLoM']===undefined){var _0x51d124=function(_0x41f392){const _0x1bcee0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x128a6c='',_0x3daa83='';for(let _0x58289e=0x0,_0x4c7909,_0x107306,_0x23b5db=0x0;_0x107306=_0x41f392['charAt'](_0x23b5db++);~_0x107306&&(_0x4c7909=_0x58289e%0x4?_0x4c7909*0x40+_0x107306:_0x107306,_0x58289e++%0x4)?_0x128a6c+=String['fromCharCode'](0xff&_0x4c7909>>(-0x2*_0x58289e&0x6)):0x0){_0x107306=_0x1bcee0['indexOf'](_0x107306);}for(let _0x366313=0x0,_0x2eae91=_0x128a6c['length'];_0x366313<_0x2eae91;_0x366313++){_0x3daa83+='%'+('00'+_0x128a6c['charCodeAt'](_0x366313)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3daa83);};a0_0x5132['GYvKPq']=_0x51d124,a0_0x5132['swgoeg']={},a0_0x5132['JGzLoM']=!![];}const _0x3a9148=_0x2916f5[0x0],_0x121b04=_0x27b831+_0x3a9148,_0x2750a7=a0_0x5132['swgoeg'][_0x121b04];return!_0x2750a7?(_0x5132bd=a0_0x5132['GYvKPq'](_0x5132bd),a0_0x5132['swgoeg'][_0x121b04]=_0x5132bd):_0x5132bd=_0x2750a7,_0x5132bd;}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_0x3635c5=a0_0x4aa5;function a0_0x4aa5(_0x4e252f,_0x5eb69b){_0x4e252f=_0x4e252f-0x154;const _0x94aaa=a0_0x94aa();let _0x4aa502=_0x94aaa[_0x4e252f];if(a0_0x4aa5['RzzhBG']===undefined){var _0x73a1b9=function(_0x57cb56){const _0x29e31b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20a6c2='',_0x40468f='';for(let _0x44f065=0x0,_0x482eec,_0x5300ea,_0x1ef9b1=0x0;_0x5300ea=_0x57cb56['charAt'](_0x1ef9b1++);~_0x5300ea&&(_0x482eec=_0x44f065%0x4?_0x482eec*0x40+_0x5300ea:_0x5300ea,_0x44f065++%0x4)?_0x20a6c2+=String['fromCharCode'](0xff&_0x482eec>>(-0x2*_0x44f065&0x6)):0x0){_0x5300ea=_0x29e31b['indexOf'](_0x5300ea);}for(let _0x1ce9a0=0x0,_0x5ae9f1=_0x20a6c2['length'];_0x1ce9a0<_0x5ae9f1;_0x1ce9a0++){_0x40468f+='%'+('00'+_0x20a6c2['charCodeAt'](_0x1ce9a0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40468f);};a0_0x4aa5['YtsFzR']=_0x73a1b9,a0_0x4aa5['lDNetj']={},a0_0x4aa5['RzzhBG']=!![];}const _0x20e960=_0x94aaa[0x0],_0x1cf5c5=_0x4e252f+_0x20e960,_0x213a4a=a0_0x4aa5['lDNetj'][_0x1cf5c5];return!_0x213a4a?(_0x4aa502=a0_0x4aa5['YtsFzR'](_0x4aa502),a0_0x4aa5['lDNetj'][_0x1cf5c5]=_0x4aa502):_0x4aa502=_0x213a4a,_0x4aa502;}(function(_0x3ba273,_0x4fc90f){const _0x656bc4=a0_0x4aa5,_0x559eda=_0x3ba273();while(!![]){try{const _0x20a7a1=-parseInt(_0x656bc4(0x1bc))/0x1*(parseInt(_0x656bc4(0x199))/0x2)+-parseInt(_0x656bc4(0x155))/0x3+parseInt(_0x656bc4(0x16b))/0x4*(-parseInt(_0x656bc4(0x1e2))/0x5)+-parseInt(_0x656bc4(0x174))/0x6+-parseInt(_0x656bc4(0x1a1))/0x7*(parseInt(_0x656bc4(0x1d5))/0x8)+-parseInt(_0x656bc4(0x16d))/0x9+parseInt(_0x656bc4(0x175))/0xa;if(_0x20a7a1===_0x4fc90f)break;else _0x559eda['push'](_0x559eda['shift']());}catch(_0x1271da){_0x559eda['push'](_0x559eda['shift']());}}}(a0_0x94aa,0xe780b));import{BaseTool}from'./baseTool.js';import a0_0x20a6c2 from'../utilities/tagParser.js';import a0_0x40468f from'../utilities/directoryAccessManager.js';function a0_0x94aa(){const _0x18e348=['rMLSzvn5C3rLBsberujvrZOGChjVAMvJDerPCIbPCZO','tgLZDgvKia','y3DK','A2v5CW','ihrVia','rMfPBgvKihrVihjLywqGzMLSzsa','ywDLBNrjza','ywXSB3DLza','CMf3q29UDgvUDa','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','zxHPC3rZ','nZuYmteYnu1sEfD1va','y3jLyxrLuMvSyxrPDMvqyxrO','odq2nZvXt012z2W','Bw92zuzPBgu','zgLYBMfTzq','DhjPBq','AxnbBgXVD2vKrMLSzuv4DgvUC2LVBG','B2jQzwn0','rMfPBgvKihrVig1VDMuG','uMvHzcbHy2nLC3mGzgvUAwvKoIa','y29WEuzPBgu','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9Yia','BgvUz3rO','ChvZAa','DgLTzw91Da','CM91BMq','zgLYzwn0B3j5','AxngAwXL','zgvZDc1WyxrO','BwvZC2fNzq','yxbWzw5KrMLSzq','BxrPBwu','DxrMoa','zxH0CMfJDfrHz3nxAxrOqxr0CMLIDxrLCW','ngnJA3PsvG','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','mtm1nZeZndnJr25pAfK','DMfSAwrHDgvxCML0zufJy2vZCW','C3vJy2vZCW','BM93','z2v0v29YA2LUz0rPCMvJDg9YEq','zgvSzxrL','Bwf4rMLSzvnPEMu','mtaWndm0nJburwHPENm','nZiXmtm5ntbNBNHotxO','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','CMvHC29U','tw92zwqG','zgvSzxrLrMLSzq','Aw5JBhvKzxm','Bw92zq','BwTKAxi','y3jLyxrLlwrPCNm','v3jPDguGywnJzxnZigrLBMLLzcbMB3iGzgvZDgLUyxrPB246ia','lMrLBgv0zwqTyMfJA3vWlq','AxneAxjLy3rVCNK','AxnbCNjHEq','C3rYAw5N','zMLSDgvY','y3jLyxrLrgLYzwn0B3j5','zw50CMLLCW','rMfPBgvKihrVigfWCgvUzcb0BYbMAwXLia','BwfW','ugfYC2vKiezPBgvtExn0zw0GDg9VBcbWyxjHBwv0zxjZ','DMfSAwrHDgvszwfKqwnJzxnZ','yxjYyxK','rMLSzvn5C3rLBsberujvrZOGvxnPBMCGzMfSBgjHy2SGD29YA2LUzYbKAxjLy3rVCNK6','z2v0u3vWCg9YDgvKqwn0Aw9UCW','C3vIC3rYAw5N','AxntEw1IB2XPy0XPBMS','lMv4zq','oIbMAwXLihr5CguGBM90igfSBg93zwq6ia','zxH0BMfTzq','rMLSzsb3B3vSzcbIzwnVBwuGDg9VigXHCMDLoIa','CgfYC2vbDhrYAwj1DgvZ','y29WEq','B3v0Chv0lxbHDgG','D3jPDgu','Dhj1zq','qwn0Aw9Uia','otC2ntzKz0TXrfi','q29WAwvKia','C3rHDa','B3v0Chv0ugf0Aa','C3rHDhm','ywnJzxnZ','C291CMnLlxbHDgG','C291CMnLugf0Aa','otq3ndKYn3Huy3n1Aq','y2HLy2TfEgLZDhm','y3jLyxrLrgLYCW','rMLSzvn5C3rLBsberujvrZOGzgLYzwn0B3j5qwnJzxnZigLZoG','zMLSzvbHDgG','yxbWzw5K','z2v0rMLSzvn0yxrZ','sw52ywXPzcbWyxjHBwv0zxjZoIbWyxjHBxmGBxvZDcbIzsbHBIbVyMPLy3q','ywn0Aw9UCW','zMLSzs1WyxrO','zgvIDwC','oIbZB3vYy2uTCgf0AcbPCYbYzxf1AxjLzcbMB3iG','rMfPBgvKihrVigXPC3qGzgLYzwn0B3j5ia','yxbWzw5Kvg9gAwXL','DMfSAwrHDgvqyxrOqwnJzxnZ','Bg9N','BgLZDa','ru5pru5u','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfWCgvUza','q3jLyxrLzcbKAxjLy3rVCNKG','igrVzxmGBM90igv4Axn0','Bg9Nz2vY','y29UDgvUDa','ywrKvg9iAxn0B3j5','yM9VBgvHBG','qxbWzw5KzwqG','AM9PBG','nhHqBNbHBq','igj5DgvZihrVia','rgvSzxrLigfJy2vZCYbKzw5Pzwq6ia','rMLSzvn5C3rLBsberujvrZOGrNvSBcbKAxjLy3rVCNLby2nLC3mGB2jQzwn0oG','zMLSzq','uMv0CMLLDMvKihn0yxrZigzVCIa','CMvHzezPBgu','y3jLyxrLlwrPCG','zw5JB2rPBMC','zgvZDfbHDgG','rMfPBgvKihrVignOzwnRigv4Axn0zw5JzsbVzIa','CMvZB2X2zvbHDgG','CMvXDwLYzxnqCM9Qzwn0','DhLWzq','CMvHza','D3jPDgvgAwXL','u291CMnLigzPBguGDg9VigXHCMDLoIa','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','rMfPBgvKihrVignVChKG','C2L6zq','v3jVDguG','Cgf0Aa','B3bLCMf0Aw9UsgLZDg9YEq','y29Kzq','tufyx0zjtevFu0LArq','oeLtEufHrW','BMfTzq'];a0_0x94aa=function(){return _0x18e348;};return a0_0x94aa();}import a0_0x44f065 from'fs/promises';import a0_0x482eec from'path';import a0_0x5300ea from'crypto';import{TOOL_STATUS,FILE_EXTENSIONS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class FileSystemTool extends BaseTool{constructor(_0x1ef9b1={},_0x1ce9a0=null){const _0x108e2b=a0_0x4aa5;super(_0x1ef9b1,_0x1ce9a0),this[_0x108e2b(0x1c8)]=!![],this['isAsync']=![],this['timeout']=_0x1ef9b1[_0x108e2b(0x161)]||0x7530,this[_0x108e2b(0x176)]=_0x1ef9b1['maxConcurrentOperations']||0x5,this[_0x108e2b(0x173)]=_0x1ef9b1['maxFileSize']||SYSTEM_DEFAULTS[_0x108e2b(0x1d4)],this['allowedExtensions']=_0x1ef9b1['allowedExtensions']||null,this['blockedExtensions']=_0x1ef9b1['blockedExtensions']||[_0x108e2b(0x18f),'.bat','.cmd','.scr','.com'],this['allowedDirectories']=_0x1ef9b1['allowedDirectories']||null,this[_0x108e2b(0x1d2)]=[],this['directoryAccessManager']=new a0_0x40468f(_0x1ef9b1,_0x1ce9a0);}['getDescription'](){const _0x238097=a0_0x4aa5;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[_0x238097(0x162)](this['maxFileSize']/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';}['parseParameters'](_0x5ae9f1){const _0x2c83fe=a0_0x4aa5;try{const _0x48b9fa={},_0x581f27=[];this['logger']?.['debug']('FileSystem\x20tool\x20parsing\x20parameters',{'contentLength':_0x5ae9f1['length'],'contentPreview':_0x5ae9f1[_0x2c83fe(0x18d)](0x0,0xc8)});const _0x2fcdff=['read','delete','copy',_0x2c83fe(0x17b),'create-dir',_0x2c83fe(0x1b1),_0x2c83fe(0x1e1),_0x2c83fe(0x19d),_0x2c83fe(0x1a6)];for(const _0x44231b of _0x2fcdff){const _0x5e449d=a0_0x20a6c2[_0x2c83fe(0x16a)](_0x5ae9f1,_0x44231b);for(const _0x2ed219 of _0x5e449d){const _0x1bbb4d={'type':_0x44231b,..._0x2ed219['attributes']};_0x1bbb4d['file-path']&&(_0x1bbb4d[_0x2c83fe(0x1a5)]=_0x1bbb4d[_0x2c83fe(0x1aa)],delete _0x1bbb4d['file-path']),_0x1bbb4d['output-path']&&(_0x1bbb4d['outputPath']=_0x1bbb4d['output-path'],delete _0x1bbb4d['output-path']),_0x1bbb4d[_0x2c83fe(0x19f)]&&(_0x1bbb4d['sourcePath']=_0x1bbb4d['source-path'],delete _0x1bbb4d['source-path']),_0x1bbb4d['dest-path']&&(_0x1bbb4d[_0x2c83fe(0x1c5)]=_0x1bbb4d[_0x2c83fe(0x165)],delete _0x1bbb4d[_0x2c83fe(0x165)]),_0x1bbb4d['create-dirs']&&(_0x1bbb4d[_0x2c83fe(0x1a3)]=_0x1bbb4d['create-dirs']===_0x2c83fe(0x197),delete _0x1bbb4d['create-dirs']),_0x581f27['push'](_0x1bbb4d);}}const _0x46c39f=_0x5ae9f1['matchAll'](/<write\s+([^>]*)>(.*?)<\/write>/gs);for(const _0x18bdfc of _0x46c39f){const _0x9df3c1=new a0_0x20a6c2(),_0x24281e=_0x9df3c1[_0x2c83fe(0x193)](_0x18bdfc[0x1]),_0x3c8249=_0x18bdfc[0x2][_0x2c83fe(0x158)](),_0x2496e0={'type':'write','content':_0x3c8249,..._0x24281e};_0x2496e0[_0x2c83fe(0x195)]&&(_0x2496e0['outputPath']=_0x2496e0[_0x2c83fe(0x195)],delete _0x2496e0['output-path']),_0x2496e0[_0x2c83fe(0x17d)]&&(_0x2496e0[_0x2c83fe(0x1a3)]=_0x2496e0[_0x2c83fe(0x17d)]===_0x2c83fe(0x197),delete _0x2496e0[_0x2c83fe(0x17d)]),_0x581f27[_0x2c83fe(0x160)](_0x2496e0);}const _0x2a0b86=_0x5ae9f1['matchAll'](/<append\s+([^>]*)>(.*?)<\/append>/gs);for(const _0x41ee04 of _0x2a0b86){const _0x47f2bf=new a0_0x20a6c2(),_0x5bc865=_0x47f2bf['parseAttributes'](_0x41ee04[0x1]),_0x28327f=_0x41ee04[0x2][_0x2c83fe(0x158)](),_0x39989f={'type':_0x2c83fe(0x1a6),'content':_0x28327f,..._0x5bc865};_0x39989f[_0x2c83fe(0x1aa)]&&(_0x39989f[_0x2c83fe(0x1a5)]=_0x39989f['file-path'],delete _0x39989f[_0x2c83fe(0x1aa)]),_0x581f27[_0x2c83fe(0x160)](_0x39989f);}return _0x48b9fa['actions']=_0x581f27,_0x48b9fa[_0x2c83fe(0x1df)]=_0x5ae9f1[_0x2c83fe(0x158)](),this[_0x2c83fe(0x1b6)]?.[_0x2c83fe(0x1ab)](_0x2c83fe(0x188),{'totalActions':_0x581f27['length'],'actionTypes':_0x581f27[_0x2c83fe(0x187)](_0x503535=>_0x503535[_0x2c83fe(0x1c9)]),'actions':_0x581f27[_0x2c83fe(0x187)](_0x385879=>({'type':_0x385879['type'],'filePath':_0x385879[_0x2c83fe(0x1a5)],'outputPath':_0x385879[_0x2c83fe(0x19c)],'hasContent':!!_0x385879[_0x2c83fe(0x1b7)]}))}),_0x48b9fa;}catch(_0xdfbf48){throw new Error('Failed\x20to\x20parse\x20filesystem\x20parameters:\x20'+_0xdfbf48['message']);}}[a0_0x3635c5(0x16c)](){const _0x1216d6=a0_0x3635c5;return[_0x1216d6(0x1a9)];}['customValidateParameters'](_0xe6fcf4){const _0xc268d8=a0_0x3635c5,_0x1c187a=[];if(!_0xe6fcf4[_0xc268d8(0x1a9)]||!Array[_0xc268d8(0x181)](_0xe6fcf4[_0xc268d8(0x1a9)])||_0xe6fcf4['actions'][_0xc268d8(0x15f)]===0x0)_0x1c187a[_0xc268d8(0x160)]('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x355e3d,_0x13dc42]of _0xe6fcf4['actions'][_0xc268d8(0x185)]()){if(!_0x13dc42[_0xc268d8(0x1c9)]){_0x1c187a[_0xc268d8(0x160)](_0xc268d8(0x198)+(_0x355e3d+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x13dc42['type']){case _0xc268d8(0x1ca):case _0xc268d8(0x172):case _0xc268d8(0x1e1):case _0xc268d8(0x19d):!_0x13dc42[_0xc268d8(0x1a5)]&&_0x1c187a['push'](_0xc268d8(0x198)+(_0x355e3d+0x1)+_0xc268d8(0x15e)+_0x13dc42['type']);break;case _0xc268d8(0x196):!_0x13dc42[_0xc268d8(0x19c)]&&_0x1c187a[_0xc268d8(0x160)](_0xc268d8(0x198)+(_0x355e3d+0x1)+':\x20output-path\x20is\x20required\x20for\x20write');!_0x13dc42[_0xc268d8(0x1b7)]&&_0x13dc42['content']!==''&&_0x1c187a[_0xc268d8(0x160)]('Action\x20'+(_0x355e3d+0x1)+':\x20content\x20is\x20required\x20for\x20write');break;case _0xc268d8(0x1a6):!_0x13dc42[_0xc268d8(0x1a5)]&&_0x1c187a['push']('Action\x20'+(_0x355e3d+0x1)+_0xc268d8(0x1b3));!_0x13dc42['content']&&_0x13dc42['content']!==''&&_0x1c187a['push']('Action\x20'+(_0x355e3d+0x1)+':\x20content\x20is\x20required\x20for\x20append');break;case'copy':case'move':!_0x13dc42['sourcePath']&&_0x1c187a['push']('Action\x20'+(_0x355e3d+0x1)+_0xc268d8(0x1ac)+_0x13dc42['type']);!_0x13dc42[_0xc268d8(0x1c5)]&&_0x1c187a[_0xc268d8(0x160)](_0xc268d8(0x198)+(_0x355e3d+0x1)+':\x20dest-path\x20is\x20required\x20for\x20'+_0x13dc42['type']);break;case'create-dir':case _0xc268d8(0x1b1):!_0x13dc42[_0xc268d8(0x163)]&&_0x1c187a[_0xc268d8(0x160)](_0xc268d8(0x198)+(_0x355e3d+0x1)+':\x20directory\x20is\x20required\x20for\x20'+_0x13dc42['type']);break;default:_0x1c187a[_0xc268d8(0x160)]('Action\x20'+(_0x355e3d+0x1)+_0xc268d8(0x1cd)+_0x13dc42['type']);}_0x13dc42['filePath']&&!this['isAllowedFileExtension'](_0x13dc42['filePath'])&&_0x1c187a[_0xc268d8(0x160)]('Action\x20'+(_0x355e3d+0x1)+_0xc268d8(0x190)+a0_0x482eec[_0xc268d8(0x191)](_0x13dc42['filePath'])),_0x13dc42[_0xc268d8(0x19c)]&&!this[_0xc268d8(0x159)](_0x13dc42[_0xc268d8(0x19c)])&&_0x1c187a['push']('Action\x20'+(_0x355e3d+0x1)+':\x20file\x20type\x20not\x20allowed:\x20'+a0_0x482eec['extname'](_0x13dc42['outputPath']));}return{'valid':_0x1c187a[_0xc268d8(0x15f)]===0x0,'errors':_0x1c187a};}async['execute'](_0x270e02,_0x453135){const _0x5a612d=a0_0x3635c5;if(!_0x270e02||typeof _0x270e02!==_0x5a612d(0x15a))throw new Error(_0x5a612d(0x1a8));const {actions:_0x55a7fa}=_0x270e02;if(!_0x55a7fa)throw new Error('Invalid\x20parameters:\x20actions\x20is\x20required.\x20Received\x20params:\x20'+JSON['stringify'](Object[_0x5a612d(0x1da)](_0x270e02)));if(!Array[_0x5a612d(0x181)](_0x55a7fa))throw new Error('Invalid\x20parameters:\x20actions\x20must\x20be\x20an\x20array.\x20Received\x20type:\x20'+typeof _0x55a7fa);if(_0x55a7fa['length']===0x0)throw new Error('Invalid\x20parameters:\x20actions\x20array\x20is\x20empty');const {projectDir:_0x17a0c7,agentId:_0xf5c009,directoryAccess:_0x22397f}=_0x453135,_0x4fbf84=_0x22397f||this[_0x5a612d(0x1e0)]['createDirectoryAccess']({'workingDirectory':_0x17a0c7||process[_0x5a612d(0x1d9)](),'writeEnabledDirectories':[_0x17a0c7||process['cwd']()],'restrictToProject':!![]});_0x22397f&&_0x22397f['workingDirectory']?(console[_0x5a612d(0x1b0)]('FileSystem\x20DEBUG:\x20Using\x20agent\x20configured\x20working\x20directory:',_0x22397f['workingDirectory']),console[_0x5a612d(0x1b0)](_0x5a612d(0x1bf),JSON['stringify'](_0x22397f,null,0x2))):(console[_0x5a612d(0x1b0)](_0x5a612d(0x18b),_0x17a0c7||process['cwd']()),console[_0x5a612d(0x1b0)](_0x5a612d(0x1a4),_0x22397f),console[_0x5a612d(0x1b0)](_0x5a612d(0x1d7),_0x17a0c7));const _0x44d922=[];for(const _0x5202f0 of _0x55a7fa){try{let _0x13e84a;switch(_0x5202f0['type']){case'read':_0x13e84a=await this[_0x5a612d(0x1c2)](_0x5202f0[_0x5a612d(0x1a5)],_0x4fbf84,_0x5202f0[_0x5a612d(0x1c4)]);break;case _0x5a612d(0x196):_0x13e84a=await this['writeFile'](_0x5202f0[_0x5a612d(0x19c)],_0x5202f0[_0x5a612d(0x1b7)],_0x4fbf84,{'encoding':_0x5202f0[_0x5a612d(0x1c4)],'createDirs':_0x5202f0[_0x5a612d(0x1a3)]});break;case'append':_0x13e84a=await this['appendToFile'](_0x5202f0['filePath'],_0x5202f0['content'],_0x4fbf84,_0x5202f0[_0x5a612d(0x1c4)]);break;case'delete':_0x13e84a=await this['deleteFile'](_0x5202f0[_0x5a612d(0x1a5)],_0x4fbf84);break;case'copy':_0x13e84a=await this[_0x5a612d(0x15d)](_0x5202f0[_0x5a612d(0x1a0)],_0x5202f0[_0x5a612d(0x1c5)],_0x4fbf84);break;case'move':_0x13e84a=await this['moveFile'](_0x5202f0[_0x5a612d(0x1a0)],_0x5202f0[_0x5a612d(0x1c5)],_0x4fbf84);break;case _0x5a612d(0x1c3):_0x13e84a=await this[_0x5a612d(0x184)](_0x5202f0[_0x5a612d(0x163)],_0x4fbf84);break;case'list':_0x13e84a=await this['listDirectory'](_0x5202f0['directory'],_0x4fbf84);break;case'exists':_0x13e84a=await this[_0x5a612d(0x1a2)](_0x5202f0['filePath'],_0x4fbf84);break;case _0x5a612d(0x19d):_0x13e84a=await this[_0x5a612d(0x1a7)](_0x5202f0['filePath'],_0x4fbf84);break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x5202f0[_0x5a612d(0x1c9)]);}_0x44d922[_0x5a612d(0x160)](_0x13e84a),this['addToHistory'](_0x5202f0,_0x13e84a,_0x453135[_0x5a612d(0x1dd)]);}catch(_0x4f82e5){const _0x40c195={'success':![],'action':_0x5202f0[_0x5a612d(0x1c9)],'error':_0x4f82e5['message'],'filePath':_0x5202f0['filePath']||_0x5202f0['outputPath']||_0x5202f0[_0x5a612d(0x163)]};_0x44d922['push'](_0x40c195),this[_0x5a612d(0x1b8)](_0x5202f0,_0x40c195,_0x453135[_0x5a612d(0x1dd)]);}}return{'success':!![],'actions':_0x44d922,'executedActions':_0x55a7fa[_0x5a612d(0x15f)],'toolUsed':'filesys'};}async['readFile'](_0x4a6f95,_0x23c55f,_0x2c0ccc=a0_0x3635c5(0x169)){const _0x29a3b9=a0_0x3635c5,_0x1f028c=this[_0x29a3b9(0x1e0)][_0x29a3b9(0x171)](_0x23c55f),_0x18ea37=this[_0x29a3b9(0x1c7)](_0x4a6f95,_0x1f028c),_0x47a440=this[_0x29a3b9(0x1e0)][_0x29a3b9(0x189)](_0x18ea37,_0x23c55f);if(!_0x47a440[_0x29a3b9(0x1de)])throw new Error(_0x29a3b9(0x15c)+_0x47a440['reason']+'\x20('+_0x47a440['path']+')');try{const _0x1f1bcf=await a0_0x44f065['stat'](_0x18ea37);if(_0x1f1bcf['size']>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x1f1bcf[_0x29a3b9(0x1cf)]+'\x20bytes\x20(max\x20'+this[_0x29a3b9(0x173)]+')');const _0x2e54d9=await a0_0x44f065['readFile'](_0x18ea37,_0x2c0ccc);return{'success':!![],'action':'read','filePath':this['directoryAccessManager'][_0x29a3b9(0x154)](_0x18ea37,_0x23c55f),'content':_0x2e54d9,'size':_0x1f1bcf[_0x29a3b9(0x1cf)],'encoding':_0x2c0ccc,'lastModified':_0x1f1bcf['mtime']['toISOString'](),'message':'Read\x20'+_0x1f1bcf[_0x29a3b9(0x1cf)]+'\x20bytes\x20from\x20'+_0x4a6f95};}catch(_0x4fa4dd){throw new Error(_0x29a3b9(0x1dc)+_0x4a6f95+':\x20'+_0x4fa4dd['message']);}}async[a0_0x3635c5(0x1cb)](_0x50b7ef,_0x3ef57c,_0x533183,_0x9e073e={}){const _0x4734e9=a0_0x3635c5,{encoding:encoding=_0x4734e9(0x169),createDirs:createDirs=!![]}=_0x9e073e,_0xf90b0b=this['directoryAccessManager']['getWorkingDirectory'](_0x533183),_0x30f9b1=this[_0x4734e9(0x1c7)](_0x50b7ef,_0xf90b0b),_0x19a666=this[_0x4734e9(0x1e0)]['validateWriteAccess'](_0x30f9b1,_0x533183);if(!_0x19a666['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x19a666['reason']+'\x20('+_0x19a666[_0x4734e9(0x1d1)]+')');try{const _0x3379cd=Buffer['byteLength'](_0x3ef57c,encoding);if(_0x3379cd>this['maxFileSize'])throw new Error('Content\x20too\x20large:\x20'+_0x3379cd+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');if(createDirs){const _0x13232d=a0_0x482eec[_0x4734e9(0x157)](_0x30f9b1);await a0_0x44f065[_0x4734e9(0x17c)](_0x13232d,{'recursive':!![]});}let _0x916511=null;try{await a0_0x44f065[_0x4734e9(0x19e)](_0x30f9b1),_0x916511=_0x30f9b1+'.backup-'+Date[_0x4734e9(0x170)](),await a0_0x44f065['copyFile'](_0x30f9b1,_0x916511);}catch{}await a0_0x44f065[_0x4734e9(0x1cb)](_0x30f9b1,_0x3ef57c,encoding);const _0x54d6f9=await a0_0x44f065[_0x4734e9(0x19b)](_0x30f9b1),_0x2eb3da=this[_0x4734e9(0x1e0)][_0x4734e9(0x154)](_0x30f9b1,_0x533183);return{'success':!![],'action':_0x4734e9(0x196),'outputPath':_0x2eb3da,'fullPath':_0x30f9b1,'size':_0x54d6f9[_0x4734e9(0x1cf)],'encoding':encoding,'backupPath':_0x916511?this['directoryAccessManager'][_0x4734e9(0x154)](_0x916511,_0x533183):null,'backupFullPath':_0x916511||null,'message':_0x4734e9(0x1d0)+_0x54d6f9[_0x4734e9(0x1cf)]+_0x4734e9(0x1bd)+_0x30f9b1};}catch(_0x4f53e9){throw new Error('Failed\x20to\x20write\x20file\x20'+_0x30f9b1+':\x20'+_0x4f53e9['message']);}}async[a0_0x3635c5(0x1ae)](_0xe873c9,_0x4b3772,_0x5112fb,_0xa2b4d6=a0_0x3635c5(0x169)){const _0x496893=a0_0x3635c5,_0x15380f=this['directoryAccessManager']['getWorkingDirectory'](_0x5112fb),_0x4183b8=this['resolvePath'](_0xe873c9,_0x15380f),_0x36a822=this['directoryAccessManager']['validateWriteAccess'](_0x4183b8,_0x5112fb);if(!_0x36a822['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x36a822[_0x496893(0x177)]+'\x20('+_0x36a822['path']+')');try{let _0x404223=0x0;try{const _0x3fb025=await a0_0x44f065['stat'](_0x4183b8);_0x404223=_0x3fb025['size'];}catch{}const _0x2df46e=Buffer['byteLength'](_0x4b3772,_0xa2b4d6);if(_0x404223+_0x2df46e>this['maxFileSize'])throw new Error(_0x496893(0x192)+(_0x404223+_0x2df46e)+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');await a0_0x44f065[_0x496893(0x167)](_0x4183b8,_0x4b3772,_0xa2b4d6);const _0xac232c=await a0_0x44f065['stat'](_0x4183b8),_0x17e8a0=this['directoryAccessManager'][_0x496893(0x154)](_0x4183b8,_0x5112fb);return{'success':!![],'action':_0x496893(0x1a6),'filePath':_0x17e8a0,'fullPath':_0x4183b8,'appendedBytes':_0x2df46e,'totalSize':_0xac232c[_0x496893(0x1cf)],'encoding':_0xa2b4d6,'message':_0x496893(0x1ba)+_0x2df46e+_0x496893(0x1bd)+_0x4183b8};}catch(_0xd91728){throw new Error(_0x496893(0x186)+_0x4183b8+':\x20'+_0xd91728[_0x496893(0x166)]);}}async[a0_0x3635c5(0x179)](_0xc2000,_0xac742f){const _0x690d64=a0_0x3635c5,_0x13ee81=this['directoryAccessManager'][_0x690d64(0x171)](_0xac742f),_0x5f01d7=this['resolvePath'](_0xc2000,_0x13ee81),_0x3a9a8d=this['directoryAccessManager'][_0x690d64(0x16e)](_0x5f01d7,_0xac742f);if(!_0x3a9a8d[_0x690d64(0x1de)])throw new Error(_0x690d64(0x1be)+_0x3a9a8d[_0x690d64(0x177)]+'\x20('+_0x3a9a8d['path']+')');try{const _0x364990=await a0_0x44f065[_0x690d64(0x19b)](_0x5f01d7),_0x46177b=_0x5f01d7+_0x690d64(0x17f)+Date[_0x690d64(0x170)]();await a0_0x44f065['copyFile'](_0x5f01d7,_0x46177b),await a0_0x44f065['unlink'](_0x5f01d7);const _0x1ecd74=this[_0x690d64(0x1e0)]['createRelativePath'](_0x5f01d7,_0xac742f),_0x2aa6ae=this[_0x690d64(0x1e0)][_0x690d64(0x154)](_0x46177b,_0xac742f);return{'success':!![],'action':_0x690d64(0x172),'filePath':_0x1ecd74,'fullPath':_0x5f01d7,'size':_0x364990['size'],'backupPath':_0x2aa6ae,'backupFullPath':_0x46177b,'message':'Deleted\x20'+_0x5f01d7+'\x20(backup\x20created)'};}catch(_0x3e9264){throw new Error('Failed\x20to\x20delete\x20file\x20'+_0x5f01d7+':\x20'+_0x3e9264['message']);}}async[a0_0x3635c5(0x15d)](_0x382eb4,_0x4aca65,_0x165a3a){const _0x18b474=a0_0x3635c5,_0x42c247=this['directoryAccessManager']['getWorkingDirectory'](_0x165a3a),_0x298286=this[_0x18b474(0x1c7)](_0x382eb4,_0x42c247),_0x41e65e=this[_0x18b474(0x1c7)](_0x4aca65,_0x42c247),_0x53d270=this['directoryAccessManager'][_0x18b474(0x189)](_0x298286,_0x165a3a);if(!_0x53d270['allowed'])throw new Error('Source\x20read\x20access\x20denied:\x20'+_0x53d270[_0x18b474(0x177)]+'\x20('+_0x53d270['path']+')');const _0x37e820=this[_0x18b474(0x1e0)]['validateWriteAccess'](_0x41e65e,_0x165a3a);if(!_0x37e820[_0x18b474(0x1de)])throw new Error('Destination\x20write\x20access\x20denied:\x20'+_0x37e820['reason']+'\x20('+_0x37e820['path']+')');try{const _0x20981e=await a0_0x44f065[_0x18b474(0x19b)](_0x298286);if(_0x20981e['size']>this[_0x18b474(0x173)])throw new Error(_0x18b474(0x1cc)+_0x20981e[_0x18b474(0x1cf)]+'\x20bytes');const _0x1f791f=a0_0x482eec['dirname'](_0x41e65e);await a0_0x44f065[_0x18b474(0x17c)](_0x1f791f,{'recursive':!![]}),await a0_0x44f065[_0x18b474(0x15d)](_0x298286,_0x41e65e);const _0x4851d0=this['directoryAccessManager'][_0x18b474(0x154)](_0x298286,_0x165a3a),_0x57b403=this['directoryAccessManager']['createRelativePath'](_0x41e65e,_0x165a3a);return{'success':!![],'action':'copy','sourcePath':_0x4851d0,'destPath':_0x57b403,'sourceFullPath':_0x298286,'destFullPath':_0x41e65e,'size':_0x20981e[_0x18b474(0x1cf)],'message':_0x18b474(0x19a)+_0x298286+_0x18b474(0x1db)+_0x41e65e};}catch(_0x240346){throw new Error(_0x18b474(0x1ce)+_0x298286+_0x18b474(0x1db)+_0x41e65e+':\x20'+_0x240346['message']);}}async[a0_0x3635c5(0x156)](_0x2bd134,_0x46b00f,_0xc85670){const _0x225802=a0_0x3635c5,_0x3b137c=this['directoryAccessManager']['getWorkingDirectory'](_0xc85670),_0x56a8e0=this[_0x225802(0x1c7)](_0x2bd134,_0x3b137c),_0x501357=this[_0x225802(0x1c7)](_0x46b00f,_0x3b137c),_0xb844c5=this[_0x225802(0x1e0)]['validateReadAccess'](_0x56a8e0,_0xc85670);if(!_0xb844c5[_0x225802(0x1de)])throw new Error('Read\x20access\x20denied\x20for\x20source:\x20'+_0xb844c5[_0x225802(0x177)]+'\x20('+_0xb844c5['path']+')');const _0x4ec87d=this[_0x225802(0x1e0)][_0x225802(0x16e)](_0x501357,_0xc85670);if(!_0x4ec87d[_0x225802(0x1de)])throw new Error(_0x225802(0x17e)+_0x4ec87d['reason']+'\x20('+_0x4ec87d[_0x225802(0x1d1)]+')');try{const _0x497061=await a0_0x44f065[_0x225802(0x19b)](_0x56a8e0),_0xff1a51=a0_0x482eec[_0x225802(0x157)](_0x501357);await a0_0x44f065['mkdir'](_0xff1a51,{'recursive':!![]}),await a0_0x44f065['rename'](_0x56a8e0,_0x501357);const _0x2fb9c8=this[_0x225802(0x1e0)]['createRelativePath'](_0x56a8e0,_0xc85670),_0x32639d=this[_0x225802(0x1e0)][_0x225802(0x154)](_0x501357,_0xc85670);return{'success':!![],'action':_0x225802(0x17b),'sourcePath':_0x2fb9c8,'destPath':_0x32639d,'fullSourcePath':_0x56a8e0,'fullDestPath':_0x501357,'size':_0x497061['size'],'message':_0x225802(0x178)+_0x2bd134+'\x20to\x20'+_0x46b00f};}catch(_0x14cea5){throw new Error(_0x225802(0x15b)+_0x2bd134+_0x225802(0x1db)+_0x46b00f+':\x20'+_0x14cea5['message']);}}async['createDirectory'](_0x3497ad,_0x402010){const _0x39c76a=a0_0x3635c5,_0x304962=this[_0x39c76a(0x1e0)][_0x39c76a(0x171)](_0x402010),_0x559201=this['resolvePath'](_0x3497ad,_0x304962),_0x71af56=this[_0x39c76a(0x1e0)][_0x39c76a(0x16e)](_0x559201,_0x402010);if(!_0x71af56['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x71af56['reason']+'\x20('+_0x71af56[_0x39c76a(0x1d1)]+')');try{await a0_0x44f065['mkdir'](_0x559201,{'recursive':!![]});const _0x34424b=this[_0x39c76a(0x1e0)]['createRelativePath'](_0x559201,_0x402010);return{'success':!![],'action':'create-dir','directory':_0x34424b,'fullPath':_0x559201,'message':_0x39c76a(0x1b4)+_0x3497ad};}catch(_0x53692c){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x3497ad+':\x20'+_0x53692c['message']);}}async['listDirectory'](_0x47a404,_0x5c3ffa){const _0x4057c7=a0_0x3635c5,_0x1e1165=this['directoryAccessManager']['getWorkingDirectory'](_0x5c3ffa),_0x2310a9=this['resolvePath'](_0x47a404,_0x1e1165),_0xbe5e3f=this[_0x4057c7(0x1e0)][_0x4057c7(0x189)](_0x2310a9,_0x5c3ffa);if(!_0xbe5e3f['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0xbe5e3f['reason']+'\x20('+_0xbe5e3f['path']+')');try{const _0x58c2b4=await a0_0x44f065['readdir'](_0x2310a9,{'withFileTypes':!![]}),_0x3b78a9=[];for(const _0x279d37 of _0x58c2b4){const _0x3ad26f=a0_0x482eec[_0x4057c7(0x1bb)](_0x2310a9,_0x279d37['name']),_0x5824da=await a0_0x44f065[_0x4057c7(0x19b)](_0x3ad26f);_0x3b78a9['push']({'name':_0x279d37[_0x4057c7(0x1d6)],'type':_0x279d37[_0x4057c7(0x180)]()?_0x4057c7(0x163):_0x4057c7(0x1c0),'size':_0x279d37[_0x4057c7(0x164)]()?_0x5824da[_0x4057c7(0x1cf)]:undefined,'lastModified':_0x5824da[_0x4057c7(0x168)]['toISOString'](),'permissions':_0x5824da['mode'],'isSymlink':_0x279d37[_0x4057c7(0x18e)]()});}const _0x5dc8c4=this['directoryAccessManager'][_0x4057c7(0x154)](_0x2310a9,_0x5c3ffa);return{'success':!![],'action':'list','directory':_0x5dc8c4,'fullPath':_0x2310a9,'contents':_0x3b78a9,'totalItems':_0x3b78a9['length'],'directories':_0x3b78a9['filter'](_0x5a7400=>_0x5a7400[_0x4057c7(0x1c9)]==='directory')[_0x4057c7(0x15f)],'files':_0x3b78a9[_0x4057c7(0x183)](_0x55cc79=>_0x55cc79['type']==='file')['length'],'message':_0x4057c7(0x1d8)+_0x3b78a9['length']+'\x20items\x20in\x20'+_0x47a404};}catch(_0x1b0b2a){throw new Error(_0x4057c7(0x1ad)+_0x47a404+':\x20'+_0x1b0b2a['message']);}}async['checkExists'](_0x27d456,_0x8a312b){const _0x51c7a3=a0_0x3635c5,_0x706ec0=this[_0x51c7a3(0x1e0)]['getWorkingDirectory'](_0x8a312b),_0x1884c0=this['resolvePath'](_0x27d456,_0x706ec0),_0xf67a3=this['directoryAccessManager'][_0x51c7a3(0x189)](_0x1884c0,_0x8a312b);if(!_0xf67a3[_0x51c7a3(0x1de)])throw new Error(_0x51c7a3(0x15c)+_0xf67a3[_0x51c7a3(0x177)]+'\x20('+_0xf67a3[_0x51c7a3(0x1d1)]+')');try{const _0x39a352=await a0_0x44f065['stat'](_0x1884c0),_0x1d529c=this['directoryAccessManager'][_0x51c7a3(0x154)](_0x1884c0,_0x8a312b);return{'success':!![],'action':_0x51c7a3(0x1e1),'filePath':_0x1d529c,'fullPath':_0x1884c0,'exists':!![],'type':_0x39a352[_0x51c7a3(0x180)]()?_0x51c7a3(0x163):'file','message':_0x27d456+'\x20exists\x20as\x20'+(_0x39a352['isDirectory']()?'directory':'file')};}catch(_0x1d7a03){if(_0x1d7a03[_0x51c7a3(0x1d3)]===_0x51c7a3(0x1b2)){const _0x4ffac2=this[_0x51c7a3(0x1e0)][_0x51c7a3(0x154)](_0x1884c0,_0x8a312b);return{'success':!![],'action':'exists','filePath':_0x4ffac2,'fullPath':_0x1884c0,'exists':![],'message':_0x27d456+_0x51c7a3(0x1b5)};}throw new Error(_0x51c7a3(0x1c6)+_0x27d456+':\x20'+_0x1d7a03['message']);}}async[a0_0x3635c5(0x1a7)](_0x2fb242,_0x8998eb){const _0x4d56e0=a0_0x3635c5,_0x462d70=this['directoryAccessManager']['getWorkingDirectory'](_0x8998eb),_0x1567ed=this[_0x4d56e0(0x1c7)](_0x2fb242,_0x462d70),_0xa44aa6=this[_0x4d56e0(0x1e0)][_0x4d56e0(0x189)](_0x1567ed,_0x8998eb);if(!_0xa44aa6[_0x4d56e0(0x1de)])throw new Error('Read\x20access\x20denied:\x20'+_0xa44aa6['reason']+'\x20('+_0xa44aa6[_0x4d56e0(0x1d1)]+')');try{const _0x2344cf=await a0_0x44f065[_0x4d56e0(0x19b)](_0x1567ed),_0x2de3d6=this['directoryAccessManager']['createRelativePath'](_0x1567ed,_0x8998eb);return{'success':!![],'action':_0x4d56e0(0x19d),'filePath':_0x2de3d6,'fullPath':_0x1567ed,'stats':{'size':_0x2344cf['size'],'type':_0x2344cf[_0x4d56e0(0x180)]()?'directory':'file','lastModified':_0x2344cf['mtime']['toISOString'](),'lastAccessed':_0x2344cf['atime']['toISOString'](),'created':_0x2344cf['birthtime']['toISOString'](),'permissions':_0x2344cf['mode'],'isSymlink':_0x2344cf[_0x4d56e0(0x18e)]()},'message':_0x4d56e0(0x1c1)+_0x2fb242};}catch(_0x21417d){throw new Error('Failed\x20to\x20get\x20stats\x20for\x20'+_0x2fb242+':\x20'+_0x21417d['message']);}}['resolvePath'](_0x10a8b0,_0x35899f){if(a0_0x482eec['isAbsolute'](_0x10a8b0))return a0_0x482eec['normalize'](_0x10a8b0);return a0_0x482eec['resolve'](_0x35899f,_0x10a8b0);}[a0_0x3635c5(0x1af)](_0x2758d8,_0x4a9aa9,_0x2f2c67=a0_0x3635c5(0x1ca)){const _0x5792b4=a0_0x3635c5,_0x1fbd92=_0x2f2c67==='write'?this['directoryAccessManager'][_0x5792b4(0x16e)](_0x2758d8,_0x4a9aa9):this[_0x5792b4(0x1e0)][_0x5792b4(0x189)](_0x2758d8,_0x4a9aa9);if(!_0x1fbd92['allowed'])throw new Error(_0x2f2c67+'\x20access\x20denied:\x20'+_0x1fbd92[_0x5792b4(0x177)]+'\x20('+_0x1fbd92[_0x5792b4(0x1d1)]+')');return _0x1fbd92;}[a0_0x3635c5(0x159)](_0x5b1cb9){const _0x13b476=a0_0x3635c5,_0x42827b=a0_0x482eec[_0x13b476(0x191)](_0x5b1cb9)['toLowerCase']();if(this['blockedExtensions'][_0x13b476(0x17a)](_0x42827b))return![];if(this['allowedExtensions']&&!this['allowedExtensions'][_0x13b476(0x17a)](_0x42827b))return![];return!![];}[a0_0x3635c5(0x1b8)](_0x13f950,_0x3824d3,_0x31331a){const _0x220ea7=a0_0x3635c5,_0x1275b0={'timestamp':new Date()['toISOString'](),'agentId':_0x31331a,'action':_0x13f950['type'],'filePath':_0x13f950[_0x220ea7(0x1a5)]||_0x13f950[_0x220ea7(0x19c)]||_0x13f950['directory'],'success':_0x3824d3[_0x220ea7(0x16f)],'size':_0x3824d3[_0x220ea7(0x1cf)]};this[_0x220ea7(0x1d2)][_0x220ea7(0x160)](_0x1275b0),this[_0x220ea7(0x1d2)][_0x220ea7(0x15f)]>0xc8&&(this['operationHistory']=this['operationHistory']['slice'](-0xc8));}['getSupportedActions'](){const _0x1d7969=a0_0x3635c5;return['read','write',_0x1d7969(0x1a6),_0x1d7969(0x172),_0x1d7969(0x194),'move','create-dir',_0x1d7969(0x1b1),_0x1d7969(0x1e1),_0x1d7969(0x19d)];}['getParameterSchema'](){const _0x29ce0e=a0_0x3635c5;return{'type':'object','properties':{'actions':{'type':_0x29ce0e(0x18a),'minItems':0x1,'items':{'type':_0x29ce0e(0x15a),'properties':{'type':{'type':'string','enum':this[_0x29ce0e(0x18c)]()},'filePath':{'type':_0x29ce0e(0x182)},'outputPath':{'type':_0x29ce0e(0x182)},'sourcePath':{'type':_0x29ce0e(0x182)},'destPath':{'type':'string'},'directory':{'type':_0x29ce0e(0x182)},'content':{'type':_0x29ce0e(0x182)},'encoding':{'type':_0x29ce0e(0x182)},'createDirs':{'type':_0x29ce0e(0x1b9)}},'required':[_0x29ce0e(0x1c9)]}}},'required':['actions']};}['getOperationHistory'](_0x1ec591=null){const _0x1a1bc3=a0_0x3635c5;if(_0x1ec591)return this[_0x1a1bc3(0x1d2)][_0x1a1bc3(0x183)](_0x5eb8ab=>_0x5eb8ab[_0x1a1bc3(0x1dd)]===_0x1ec591);return[...this['operationHistory']];}}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;