@loxia-labs/loxia-autopilot-one 1.0.7 → 1.0.9

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 (119) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-BVF_10a5.css → index-BmKxmRe3.css} +1 -1
  119. package/web-ui/build/static/{index-DE5VFS1q.js → index-BzXbDs8z.js} +63 -63
@@ -1 +1 @@
1
- const a0_0xce3fde=a0_0x3cb4;(function(_0x5bb2e7,_0xb303a1){const _0x20fcd6=a0_0x3cb4,_0xf6b6f0=_0x5bb2e7();while(!![]){try{const _0x177e7e=parseInt(_0x20fcd6(0x106))/0x1+parseInt(_0x20fcd6(0x126))/0x2+-parseInt(_0x20fcd6(0x15c))/0x3+-parseInt(_0x20fcd6(0xf6))/0x4*(parseInt(_0x20fcd6(0xff))/0x5)+parseInt(_0x20fcd6(0x13b))/0x6+parseInt(_0x20fcd6(0xe2))/0x7+parseInt(_0x20fcd6(0x12c))/0x8*(-parseInt(_0x20fcd6(0x10a))/0x9);if(_0x177e7e===_0xb303a1)break;else _0xf6b6f0['push'](_0xf6b6f0['shift']());}catch(_0x525a9f){_0xf6b6f0['push'](_0xf6b6f0['shift']());}}}(a0_0x17bb,0xd23ed));import{BaseTool}from'./baseTool.js';import a0_0x58a822 from'../utilities/tagParser.js';import a0_0x498e45 from'puppeteer';import a0_0x133599 from'fs/promises';import a0_0x47d649 from'path';function a0_0x17bb(){const _0x4cc551=['Aw5JBhvKzxm','Dg9ju09tDhjPBMC','AgvPz2H0','y2XVC2u','C2nYzwvUC2HVDa','zxHLyW','DhLWzq','mtGWndqWyM9lDwvj','B3v0Chv0ugf0Aa','ls1KAxnHyMXLlwrLDI1ZAg0TDxnHz2u','Bg9Nz2vY','DxjS','CMf3q29UDgvUDa','CMLNAhq','mtG1ode5tgzKww50','zxjYB3i','D2fPDfnLBgvJDg9Y','CMvXDwLYzxnqCM9Qzwn0','owjfB2f2Eq','zNvSBfbHz2u','ywrKvg9iAxn0B3j5','Dhj1zq','C2nYB2XSqNK','D2fPDc10ExbL','D2fPDc1ZzwXLy3rVCG','C2nYB2XStgvMDa','BM93','oIbZzwXLy3rVCIbPCYbYzxf1AxjLzcbMB3iG','z2v0','z2v0qNjVD3nLCG','AxnbC3LUyW','C2vSzwn0B3i','vw5RBM93BIbHy3rPB24GDhLWztOG','AxnbBgXVD2vKvxjS','y3DK','B3v0Chv0lxbHDgG','zNvSBc1WywDL','zgvSzxrL','ywDLBNrjza','A2v5yM9HCMq','BwvZC2fNzq','C2v0','oIbVDxrWDxqTCgf0AcbPCYbYzxf1AxjLzcbMB3iGC2nYzwvUC2HVDa','v2fPDgvKia','u2nYB2XSzwqG','D2fPDezVCLnLBgvJDg9Y','mJu2mteYng5dwgf1wG','ignOyxjHy3rLCNmGAw50BYa','y2XLyw51CejYB3DZzxi','D2fPDa','ls1UBY1Zyw5KyM94','BxmGCgvYig9WzxjHDgLVBGPnqvGGv0fjvcbusu1foIaZmcbZzwnVBMrZicGZmdaWmg1ZkqOGicaG','mJKZnZKWneL1r3j5CW','u2nYzwvUC2HVDcb0B28GBgfYz2u6ia','cKjYB3DZzxiGvg9VBdOGqxv0B21HDguGD2vIigjYB3DZzxiGAw50zxjHy3rPB25ZlcbUyxzPz2f0Aw9UlcbHBMqGzgf0ysbLEhrYywn0Aw9UlGOksu1qt1juqu5uic0Gu1LovefyoIbvC2uGC2vSzI1JBg9ZAw5NihrHz3mGD2L0AcbHBMDSzsbICMfJA2v0CYa8id4Sig5VDcbZCxvHCMuGyNjHy2TLDhmGwYbDlGOkwe1mifvtquDficHszwnVBw1LBMrLzcK6cJXICM93C2vYpGOGidXUyxzPz2f0zsb1CMW9iMH0DhbZoI8VzxHHBxbSzs5JB20Iic8+cIaGphDHAxqGD2fPDc10Aw1LpsiYmdaWiIaVpGOGidXJBgLJAYbZzwXLy3rVCJ0IyNv0Dg9UlNn1yM1PDciGlZ4kica8C2nYzwvUC2HVDcbVDxrWDxqTCgf0Ad0IC2nYzwvUC2HVDc5WBMCIic8+cJWVyNjVD3nLCJ4kcKPtt04Gvvnbr0uGkefSDgvYBMf0AxzLktOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjICM93C2vYiIWkicaIywn0Aw9UCYi6ifSkicaGihSGiNr5CguIoIaIBMf2AwDHDguIlcaIDxjSiJOGiMH0DhbZoI8VzxHHBxbSzs5JB20Iih0ScIaGicb7icj0ExbLiJOGiNDHAxqIlcaID2fPDfrPBwuIoIaYmdaWih0ScIaGicb7icj0ExbLiJOGiMnSAwnRiIWGiNnLBgvJDg9YiJOGiMj1DhrVBI5ZDwjTAxqIih0ScIaGicb7icj0ExbLiJOGiNnJCMvLBNnOB3qIlcaIB3v0Chv0ugf0Aci6icjZy3jLzw5ZAg90lNbUzYiGFqOGif0kFqPGygakcLnvufbpuLrfrcbbq1rjt05toGOTig5HDMLNyxrLoIboyxzPz2f0zsb0BYbHifvstcaOCMvXDwLYzxm6ihvYBcKklsbJBgLJAZOGq2XPy2SGB24Gyw4GzwXLBwvUDcaOCMvXDwLYzxm6ihnLBgvJDg9YkqOTihr5Cgu6ifr5CguGDgv4DcbPBNrVigfUigLUChv0igzPzwXKicHYzxf1AxjLCZOGC2vSzwn0B3iSihrLEhqPcI0GD2fPDdOGv2fPDcbMB3iGzwXLBwvUDcbVCIb0Aw1LicHYzxf1AxjLCZOGD2fPDc10Aw1Lie9sihDHAxqTC2vSzwn0B3iPcI0GC2nYzwvUC2HVDdOGvgfRzsbZy3jLzw5ZAg90ig9MihbHz2uGkhjLCxvPCMvZoIbVDxrWDxqTCgf0AcKklsbLEhrYywn0oIbfEhrYywn0ihrLEhqVzgf0ysbMCM9TigvSzw1LBNrZicHYzxf1AxjLCZOGC2vSzwn0B3iSigf0DhjPyNv0zsKklsbZy3jVBgW6ifnJCM9SBcbWywDLig9YigvSzw1LBNqGkhjLCxvPCMvZoIbKAxjLy3rPB24PcI0Gy2XVC2u6ienSB3nLigjYB3DZzxiGAw5ZDgfUy2uGkg5VihbHCMfTzxrLCNmPcGPqqvjbtuvurviGuKvgrvjftKnfoGOTihvYBdOGvgfYz2v0ifvstcbMB3iGBMf2AwDHDgLVBGOTihnLBgvJDg9YoIbdu1mGC2vSzwn0B3iGzM9YigvSzw1LBNqGDgfYz2v0Aw5NicHLlMCUlcaIi2LKiIWGiI5JBgfZCYiSicjIDxr0B25BDhLWzt0NC3vIBwL0j10IkqOTihrLEhq6ifrLEhqGy29UDgvUDcb0BYb0ExbLcI0GB3v0Chv0lxbHDgG6iezPBguGCgf0AcbMB3iGC2nYzwvUC2HVDhmGkgTLyMfIlwnHC2uGAw4Gwe1mlcbVDxrWDxrqyxrOigLUiePtt04PcI0GD2fPDc10Aw1LoIbuAw1LihrVihDHAxqGAw4GBwLSBgLZzwnVBMrZicGXmdaTmZaWmdaSigTLyMfIlwnHC2uGAw4Gwe1mlcb3ywL0vgLTzsbPBIbku09okqOTihDHAxqTC2vSzwn0B3i6ievSzw1LBNqGC2vSzwn0B3iGDg8GD2fPDcbMB3iGkgTLyMfIlwnHC2uGAw4Gwe1mlcb3ywL0u2vSzwn0B3iGAw4GsLnptIKklsb3ywL0lxr5Cgu6ifDHAxqGDhLWzsaTicj2AxnPyMXLiIbVCIaIAgLKzgvUiIaOzgvMyxvSDdOGiNzPC2LIBguIkqOTigf0DhjPyNv0ztOGsfrntcbHDhrYAwj1DguGDg8GzxH0CMfJDcaOzgvMyxvSDdOGiNrLEhqIkqOTigrPCMvJDgLVBJOGu2nYB2XSigrPCMvJDgLVBIaTicj1CciSicjKB3DUiIWGiMXLzNqIlcaICMLNAhqIcI0GCgL4zwXZoIbty3jVBgWGzgLZDgfUy2uGAw4GCgL4zwXZicHKzwzHDwX0oIaZmdaPcI0GzNvSBc1WywDLoIbuywTLigz1BgWGCgfNzsbZy3jLzw5ZAg90ic0GiNrYDwuIig9YicjMywXZzsikcKvyqu1qtevtoGOkrxHHBxbSzsaXic0GuMvZzwfYy2GGyw5KihnJCMvLBNnOB3q6cJXICM93C2vYpGOGidXUyxzPz2f0zsb1CMW9iMH0DhbZoI8Vz2L0AhvIlMnVBs90CMvUzgLUzYiGlZ4kica8D2fPDcb3ywL0lxrPBwu9iJiWmdaIic8+cIaGphnJCMvLBNnOB3qGB3v0Chv0lxbHDgG9iNrYzw5KAw5NlNbUzYiGlZ4kica8zxH0CMfJDcbZzwXLy3rVCJ0IAdiUAdmIigf0DhjPyNv0zt0IDgv4DciGlZ4kica8y2XVC2uGlZ4kpc9ICM93C2vYpGOkrxHHBxbSzsaYic0GrM9YBsbHDxrVBwf0Aw9UoGO8yNjVD3nLCJ4kica8BMf2AwDHDguGDxjSpsjODhrWCZOVl2v4yw1WBguUy29Tl2XVz2LUiIaVpGOGidX3ywL0ihDHAxqTC2vSzwn0B3i9iMLUChv0i3vZzxjUyw1LiIaVpGOGidX0ExbLihnLBgvJDg9YpsjPBNb1Dcn1C2vYBMfTzsiGDgv4Dd0IBxL1C2vYiIaVpGOGidX0ExbLihnLBgvJDg9YpsjPBNb1DcnWyxnZD29YzciGDgv4Dd0IBxLWyxnZiIaVpGOGidXJBgLJAYbZzwXLy3rVCJ0IyNv0Dg9Uw3r5Cgu9j3n1yM1PDcDDiIaVpGOGidX3ywL0ihDHAxqTC2vSzwn0B3i9iI5ZDwnJzxnZlw1LC3nHz2uIic8+cIaGpgnSB3nLic8+cJWVyNjVD3nLCJ4kcKv4yw1WBguGmYaTierHDgeGzxH0CMfJDgLVBJOkpgjYB3DZzxi+cIaGpg5HDMLNyxrLihvYBd0IAhr0Chm6lY9LEgfTCgXLlMnVBs9WCM9KDwn0CYiGlZ4kica8D2fPDcb3ywL0lxrPBwu9iJeWmdaIic8+cIaGpgv4DhjHy3qGC2vSzwn0B3i9iMGXlNbYB2r1y3qTDgL0BguIigf0DhjPyNv0zt0IDgv4DciGlZ4kica8zxH0CMfJDcbZzwXLy3rVCJ0IC3bHBI5WCMLJzsiGyxr0CMLIDxrLpsj0zxH0iIaVpGOGidXLEhrYywn0ihnLBgvJDg9YpsjPBwCUChjVzhvJDciGyxr0CMLIDxrLpsjZCMmIic8+cIaGpgnSB3nLic8+cJWVyNjVD3nLCJ4kcKv4yw1WBguGncaTifnJCM9SBgLUzYbHBMqGD2fPDgLUzZOkpgjYB3DZzxi+cIaGpg5HDMLNyxrLihvYBd0IAhr0Chm6lY9LEgfTCgXLlMnVBs9SB25NlxbHz2uIic8+cIaGphnJCM9SBcbKAxjLy3rPB249iMrVD24IihbPEgvSCZ0IntaWiIaVpGOGidX3ywL0ihDHAxqTDgLTzt0ImtaWmciGlZ4kica8C2nYB2XSigrPCMvJDgLVBJ0Izg93BIiGCgL4zwXZpsi1mdaIic8+cIaGphnJCMvLBNnOB3qGB3v0Chv0lxbHDgG9iNnJCM9SBgvKlNbUzYiGzNvSBc1WywDLpsj0CNvLiIaVpGOGidXJBg9ZzsaVpGO8l2jYB3DZzxi+cGPtwu5uqvGGuLvmrvm6cUkCHsbetZOGpg5HDMLNyxrLihvYBd0IlI4UiIaVpIaGkhnLBgyTy2XVC2LUzYb3AxrOic8+kqRINiuGre86idXUyxzPz2f0zsb1CMW9iI4UlIi+icaGicaOy2fUig9TAxqGlZ4GAwyGChjLzMvYCMvKkqRINyWGre9oj1q6idXUyxzPz2f0zsb1CMW9iI4UlIi+pc9UyxzPz2f0zt4GicHUBYbJBg9ZAw5NihrHzYbUzwvKzwqPcUkDJcbet04NvdOGw25HDMLNyxrLihvYBd0IlI4UiIaVxsaGkhnXDwfYzsbICMfJA2v0CYbUB3qGC3vWCg9YDgvKkqOkqvruuKLcvvrfie5btuLorZOklsbytuWGDxnLCYbRzwjHyI1JyxnLoIb3ywL0lxrPBwuSig91Dhb1Dc1WyxrOlcb3ywL0lxnLBgvJDg9YcI0GsLnptIb1C2vZignHBwvSq2fZztOGD2fPDfrPBwuSig91Dhb1DfbHDgGSihDHAxrtzwXLy3rVCGOTifbHCNnLCIbHDxrVlwnVBNzLCNrZigTLyMfIlwnHC2uGDg8Gy2fTzwXdyxnLigLUDgvYBMfSBhKkcLnfq1vssvrzoGOTifjLC3rYAwn0zwqGDg8GywXSB3DLzcbKB21HAw5ZicHPzIbJB25MAwD1CMvKkqOTiejSB2nRzwqGzg9TywLUCYbLBMzVCMnLzcbMB3iGC2vJDxjPDhKklsbty3jLzw5ZAg90ihnPEMuGBgLTAxrZigvUzM9Yy2vKicHTyxGGnu1ckqOTief1Dg9TyxrPyYbJBgvHBNvWig9MigjYB3DZzxiGAw5ZDgfUy2vZigfMDgvYideWig1PBNv0zxmklsbtyw5KyM94zwqGyNjVD3nLCIbLEgvJDxrPB24kcKjst1DtrviGu0vtu0LptJOkvgHLihrVB2WGBwfPBNrHAw5ZigjYB3DZzxiGAw5ZDgfUy2vZihbLCIbHz2vUDcbJB250zxH0lGPvC2uGpgnSB3nLic8+igfJDgLVBIb0BYbLEhbSAwnPDgX5ignSzwfUDxaSig9YigLUC3rHBMnLCYbHDxrVlwnSzwfUDxaGywz0zxiGDgLTzw91Dc4kcLzjrvDqt1juoIa','ls1KAxnHyMXLlwDWDq','CgfYC2u','tMf2AwDHDgvKihrVia','B3bLCMf0Aw9UsgLZDg9YEq','D2fPDfr5Cgu','CMvSyxrPDMu','jgv2ywW','AgLKzgvU','yNjVD3nLCG','zM9JDxm','oIb1CMWGAxmGCMvXDwLYzwqGzM9Yig5HDMLNyxrL','y2XPy2S','nJuXoduYnLHIzfjtyW','rxH0CMfJDgvKia','D2fPDc10Aw1L','C29Tzq','yMXVy2TLzerVBwfPBNm','qwn0Aw9Uia','oIb3ywL0lxrPBwuGBxvZDcbIzsbIzxr3zwvUideWmcbHBMqGmZaWmdaGBwLSBgLZzwnVBMrZ','z2v0u3vWCg9YDgvKqwn0Aw9UCW','DgLTzw91Da','C3vJy2vZCW','oIbLAxrOzxiGD2fPDc10Aw1Lig9YihDHAxqTC2vSzwn0B3iGAxmGCMvXDwLYzwq','z2v0ugfNzq','z2v0qxr0CMLIDxrL','CMvZB2X2zq','CgfNzq','C2nYB2XS','ihrVigjLia','igj5DgvZicHTyxGG','BgvMDa','v2fPDcbMywLSzwq6ia','xhmRkfTEpL0QpYLCCYPClZ8+','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','yNjVD3nLCKLUC3rHBMnLCW','oIb0zxH0igLZihjLCxvPCMvKigzVCIb0ExbL','D2fPDfrPBwu','zMLSDgvY','C2v0vxnLCKfNzw50','ywn0Aw9UCW','tw96AwXSys81lJaGkfDPBMrVD3mGtLqGmtaUmdSGv2LUnJq7ihG2ncKGqxbWBgvxzwjlAxqVntm3lJm2','Bwf4u2nYzwvUC2HVDfnPEMu','DxnLCKfNzw50','AxndB25Uzwn0zwq','zxH0CMfJDa','mZC1nZy0mwXwu1Ldta','DMLLD3bVCNq','CgfNzvrPBwvVDxq','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','mJC4mta0nhLdwhbVvq','C2L6zq','yNjVD3nLCKnVBMzPzW','Dgv4Da','v2fPDgvKigzVCIa','zgLYzwn0Aw9U','rxH0CMfJDcbMywLSzwqGB24G','oIbvuKWGBM90igfSBg93zwq6ia','z2v0rgvZy3jPChrPB24','C2v0vMLLD3bVCNq','z2v0ugfYyw1LDgvYu2nOzw1H','zgLYBMfTzq','BgvUz3rO','ChvZAa','ywXSB3DLzerVBwfPBNm','BMf2AwDHDgu','vhLWzsbMywLSzwqGB24G','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','zxzHBhvHDgu','rMfPBgvKihrVignSB3nLigjYB3DZzxi6ia','ntjtuuzqv2K','C3rYAw5N'];a0_0x17bb=function(){return _0x4cc551;};return a0_0x17bb();}import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x3cb4(_0xbd450f,_0xa8cff8){_0xbd450f=_0xbd450f-0xe2;const _0x17bb90=a0_0x17bb();let _0x3cb4f8=_0x17bb90[_0xbd450f];if(a0_0x3cb4['JfVRGY']===undefined){var _0x2153bb=function(_0x1aa6e2){const _0x26891f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58a822='',_0x498e45='';for(let _0x133599=0x0,_0x47d649,_0x58d49e,_0x224668=0x0;_0x58d49e=_0x1aa6e2['charAt'](_0x224668++);~_0x58d49e&&(_0x47d649=_0x133599%0x4?_0x47d649*0x40+_0x58d49e:_0x58d49e,_0x133599++%0x4)?_0x58a822+=String['fromCharCode'](0xff&_0x47d649>>(-0x2*_0x133599&0x6)):0x0){_0x58d49e=_0x26891f['indexOf'](_0x58d49e);}for(let _0x44a6fd=0x0,_0x4baa7f=_0x58a822['length'];_0x44a6fd<_0x4baa7f;_0x44a6fd++){_0x498e45+='%'+('00'+_0x58a822['charCodeAt'](_0x44a6fd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x498e45);};a0_0x3cb4['ILOgMG']=_0x2153bb,a0_0x3cb4['wDdFMA']={},a0_0x3cb4['JfVRGY']=!![];}const _0x1991a0=_0x17bb90[0x0],_0x57ce99=_0xbd450f+_0x1991a0,_0x4d02bf=a0_0x3cb4['wDdFMA'][_0x57ce99];return!_0x4d02bf?(_0x3cb4f8=a0_0x3cb4['ILOgMG'](_0x3cb4f8),a0_0x3cb4['wDdFMA'][_0x57ce99]=_0x3cb4f8):_0x3cb4f8=_0x4d02bf,_0x3cb4f8;}class BrowserTool extends BaseTool{constructor(_0x58d49e={},_0x224668=null){const _0x40f925=a0_0x3cb4;super(_0x58d49e,_0x224668),this[_0x40f925(0x109)]=![],this[_0x40f925(0x116)]=!![],this[_0x40f925(0x143)]=_0x58d49e[_0x40f925(0x143)]||0xea60,this[_0x40f925(0x150)]=_0x58d49e[_0x40f925(0x150)]||0x2,this[_0x40f925(0xe4)]={'headless':_0x58d49e['headless']!==![],'viewport':_0x58d49e[_0x40f925(0x15d)]||{'width':0x500,'height':0x2d0},'userAgent':_0x58d49e[_0x40f925(0x159)]||_0x40f925(0x157),'timeout':_0x58d49e[_0x40f925(0x15e)]||0x7530},this['browserInstances']=new Map(),this[_0x40f925(0xf0)]=_0x58d49e[_0x40f925(0xf0)]||null,this[_0x40f925(0x13f)]=_0x58d49e[_0x40f925(0x13f)]||[],this[_0x40f925(0x158)]=_0x58d49e[_0x40f925(0x158)]||0x5*0x400*0x400,this[_0x40f925(0x132)]=[];}[a0_0xce3fde(0xea)](){const _0xd23d87=a0_0xce3fde;return _0xd23d87(0x12e)+this['browserConfig'][_0xd23d87(0x15d)]['width']+'x'+this[_0xd23d87(0xe4)]['viewport'][_0xd23d87(0xfa)]+'\x0aTIMEOUT:\x20'+this['browserConfig'][_0xd23d87(0x143)]+_0xd23d87(0x12b);}['parseParameters'](_0x44a6fd){const _0x3c155e=a0_0xce3fde;try{if(_0x44a6fd['trim']()['startsWith']('{')){const _0x37432e=JSON[_0x3c155e(0x130)](_0x44a6fd);return!_0x37432e['actions']&&(_0x37432e['actions']=[]),!Array['isArray'](_0x37432e['actions'])&&(_0x37432e['actions']=[_0x37432e['actions']]),_0x37432e;}const _0x4baa7f={},_0x36db8f=[],_0x30d00f=['navigate','click','type','wait',_0x3c155e(0xfc),_0x3c155e(0x15b),_0x3c155e(0x14a),_0x3c155e(0xfb)];for(const _0x3b46ca of _0x30d00f){const _0x38541e=new RegExp('<'+_0x3b46ca+_0x3c155e(0x14f),'gi');let _0x4def7f;while((_0x4def7f=_0x38541e[_0x3c155e(0xfd)](_0x44a6fd))!==null){const _0x2cf375=_0x4def7f[0x1],_0xcfe93b=this['parseAttributes'](_0x2cf375),_0x536f5a={'type':_0x3b46ca,..._0xcfe93b};_0x536f5a[_0x3c155e(0x11b)]&&(_0x536f5a[_0x3c155e(0x100)]=_0x536f5a['output-path'],delete _0x536f5a['output-path']),_0x536f5a[_0x3c155e(0x13d)]&&(_0x536f5a['waitTime']=parseInt(_0x536f5a[_0x3c155e(0x13d)],0xa),delete _0x536f5a['wait-time']),_0x536f5a['wait-selector']&&(_0x536f5a['waitSelector']=_0x536f5a[_0x3c155e(0x110)],delete _0x536f5a[_0x3c155e(0x110)]),_0x536f5a['wait-type']&&(_0x536f5a[_0x3c155e(0x133)]=_0x536f5a['wait-type'],delete _0x536f5a[_0x3c155e(0x10f)]),_0x536f5a[_0x3c155e(0x11c)]&&(_0x536f5a[_0x3c155e(0x10b)]=_0x536f5a['full-page']===_0x3c155e(0x10d),delete _0x536f5a[_0x3c155e(0x11c)]),_0x36db8f['push'](_0x536f5a);}}return _0x4baa7f['actions']=Array['isArray'](_0x36db8f)?_0x36db8f:[],_0x4baa7f[_0x3c155e(0x104)]=_0x44a6fd['trim'](),_0x4baa7f;}catch(_0x408354){return this[_0x3c155e(0x102)]?.[_0x3c155e(0x107)]('Failed\x20to\x20parse\x20browser\x20parameters',{'error':_0x408354[_0x3c155e(0x120)]}),{'actions':[],'rawContent':_0x44a6fd['trim'](),'parseError':_0x408354['message']};}}['parseAttributes'](_0x12f881){const _0x1358f6=a0_0xce3fde,_0x39d84d={};if(!_0x12f881)return _0x39d84d;const _0x11d681=/([\w-]+)\s*=\s*["']([^"']*)["']/g;let _0x127986;while((_0x127986=_0x11d681[_0x1358f6(0xfd)](_0x12f881))!==null){const _0x49fa20=_0x127986[0x1],_0x2d9a5e=_0x127986[0x2];_0x39d84d[_0x49fa20]=_0x2d9a5e;}return _0x39d84d;}['getRequiredParameters'](){return['actions'];}[a0_0xce3fde(0xf3)](_0x4f4afa){const _0x532428=a0_0xce3fde,_0x3310d0=[];if(!_0x4f4afa['actions']||!Array['isArray'](_0x4f4afa[_0x532428(0x156)])||_0x4f4afa[_0x532428(0x156)][_0x532428(0xee)]===0x0)_0x3310d0[_0x532428(0xef)]('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x4d2207,_0xb57465]of _0x4f4afa[_0x532428(0x156)]['entries']()){if(!_0xb57465['type']){_0x3310d0[_0x532428(0xef)](_0x532428(0x140)+(_0x4d2207+0x1)+':\x20type\x20is\x20required');continue;}switch(_0xb57465['type']){case'navigate':if(!_0xb57465['url'])_0x3310d0['push']('Action\x20'+(_0x4d2207+0x1)+_0x532428(0x139));else!this[_0x532428(0x119)](_0xb57465[_0x532428(0x103)])&&_0x3310d0[_0x532428(0xef)](_0x532428(0x140)+(_0x4d2207+0x1)+_0x532428(0xe9)+_0xb57465[_0x532428(0x103)]);break;case'click':case _0x532428(0x15b):!_0xb57465[_0x532428(0x117)]&&_0x3310d0['push']('Action\x20'+(_0x4d2207+0x1)+_0x532428(0x113)+_0xb57465['type']);break;case'type':!_0xb57465[_0x532428(0x117)]&&_0x3310d0['push']('Action\x20'+(_0x4d2207+0x1)+':\x20selector\x20is\x20required\x20for\x20type');!_0xb57465[_0x532428(0xe5)]&&_0xb57465[_0x532428(0xe5)]!==''&&_0x3310d0['push']('Action\x20'+(_0x4d2207+0x1)+_0x532428(0x152));break;case _0x532428(0x129):!_0xb57465[_0x532428(0x153)]&&!_0xb57465['waitSelector']&&_0x3310d0[_0x532428(0xef)](_0x532428(0x140)+(_0x4d2207+0x1)+_0x532428(0x145));_0xb57465[_0x532428(0x153)]&&(_0xb57465[_0x532428(0x153)]<0x64||_0xb57465['waitTime']>0x7530)&&_0x3310d0[_0x532428(0xef)]('Action\x20'+(_0x4d2207+0x1)+_0x532428(0x141));break;case'screenshot':!_0xb57465[_0x532428(0x100)]&&_0x3310d0['push'](_0x532428(0x140)+(_0x4d2207+0x1)+_0x532428(0x122));break;case _0x532428(0x14a):if(!_0xb57465['direction'])_0x3310d0[_0x532428(0xef)](_0x532428(0x140)+(_0x4d2207+0x1)+':\x20direction\x20is\x20required\x20for\x20scroll');else!['up','down','left',_0x532428(0x105)][_0x532428(0xf8)](_0xb57465[_0x532428(0xe7)])&&_0x3310d0[_0x532428(0xef)](_0x532428(0x140)+(_0x4d2207+0x1)+':\x20invalid\x20scroll\x20direction:\x20'+_0xb57465[_0x532428(0xe7)]);break;case'close':break;default:_0x3310d0[_0x532428(0xef)]('Action\x20'+(_0x4d2207+0x1)+_0x532428(0x15f)+_0xb57465['type']);}}return{'valid':_0x3310d0[_0x532428(0xee)]===0x0,'errors':_0x3310d0};}async['execute'](_0x3680ee,_0x4a8e15){const _0x52a73e=a0_0xce3fde,{actions:_0x389074}=_0x3680ee,{agentId:_0x20f8e4,projectDir:_0x43f55e}=_0x4a8e15,_0x71e724=_0x20f8e4+'-'+(_0x43f55e||'default'),_0x3c4539=[];for(const _0x48b38e of _0x389074){try{let _0x165587;switch(_0x48b38e[_0x52a73e(0xfe)]){case _0x52a73e(0xf1):_0x165587=await this[_0x52a73e(0xf1)](_0x48b38e['url'],_0x71e724);break;case _0x52a73e(0x13a):_0x165587=await this[_0x52a73e(0x13a)](_0x48b38e['selector'],_0x71e724);break;case _0x52a73e(0xfe):_0x165587=await this[_0x52a73e(0xfe)](_0x48b38e[_0x52a73e(0x117)],_0x48b38e['text'],_0x71e724);break;case'wait':_0x165587=await this['wait'](_0x48b38e,_0x71e724);break;case'screenshot':_0x165587=await this['screenshot'](_0x48b38e[_0x52a73e(0x100)],_0x43f55e,_0x71e724,_0x48b38e);break;case'extract':_0x165587=await this['extract'](_0x48b38e[_0x52a73e(0x117)],_0x48b38e['attribute']||_0x52a73e(0xe5),_0x71e724);break;case'scroll':_0x165587=await this[_0x52a73e(0x14a)](_0x48b38e,_0x71e724);break;case _0x52a73e(0xfb):_0x165587=await this['closeBrowser'](_0x71e724);break;default:throw new Error(_0x52a73e(0x118)+_0x48b38e['type']);}_0x3c4539[_0x52a73e(0xef)](_0x165587),this['addToHistory'](_0x48b38e,_0x165587,_0x20f8e4);}catch(_0x2c3f93){const _0x5136d7={'success':![],'action':_0x48b38e[_0x52a73e(0xfe)],'error':_0x2c3f93[_0x52a73e(0x120)],'selector':_0x48b38e['selector']||_0x48b38e[_0x52a73e(0x103)]};_0x3c4539['push'](_0x5136d7),this['addToHistory'](_0x48b38e,_0x5136d7,_0x20f8e4);}}return{'success':!![],'actions':_0x3c4539,'executedActions':_0x389074[_0x52a73e(0xee)],'toolUsed':_0x52a73e(0x137)};}async[a0_0xce3fde(0xf1)](_0xb91480,_0x54e00f){const _0x3d3e48=a0_0xce3fde,_0x579e82=await this[_0x3d3e48(0x115)](_0x54e00f),_0x483111=await this['getPage'](_0x54e00f),_0x121668=Date[_0x3d3e48(0x112)]();try{await _0x483111['goto'](_0xb91480,{'waitUntil':'networkidle0','timeout':this[_0x3d3e48(0xe4)][_0x3d3e48(0x143)]});const _0x40f7c1=await _0x483111['title'](),_0x12664c=_0x483111['url']();return{'success':!![],'action':'navigate','url':_0x12664c,'originalUrl':_0xb91480,'title':_0x40f7c1,'loadTime':Date[_0x3d3e48(0x112)]()-_0x121668,'message':_0x3d3e48(0x131)+_0xb91480};}catch(_0x35a9dc){throw new Error('Navigation\x20failed:\x20'+_0x35a9dc['message']);}}async['click'](_0x43ac87,_0x3cbb26){const _0x4a108d=a0_0xce3fde,_0x5c2b02=await this[_0x4a108d(0x146)](_0x3cbb26);try{return await _0x5c2b02['waitForSelector'](_0x43ac87,{'timeout':0x1388}),await _0x5c2b02['click'](_0x43ac87),{'success':!![],'action':'click','selector':_0x43ac87,'message':'Clicked\x20on\x20'+_0x43ac87};}catch(_0x2d9b9f){throw new Error('Click\x20failed\x20on\x20'+_0x43ac87+':\x20'+_0x2d9b9f[_0x4a108d(0x120)]);}}async['type'](_0x831436,_0x382272,_0x7594ba){const _0x538b14=a0_0xce3fde,_0x5ad3b9=await this['getPage'](_0x7594ba);try{return await _0x5ad3b9[_0x538b14(0x125)](_0x831436,{'timeout':0x1388}),await _0x5ad3b9[_0x538b14(0x138)](_0x831436),await _0x5ad3b9[_0x538b14(0x11f)]['selectAll'](),await _0x5ad3b9[_0x538b14(0xfe)](_0x831436,_0x382272),{'success':!![],'action':'type','selector':_0x831436,'text':_0x382272,'textLength':_0x382272[_0x538b14(0xee)],'message':'Typed\x20'+_0x382272[_0x538b14(0xee)]+_0x538b14(0x127)+_0x831436};}catch(_0x2db557){throw new Error(_0x538b14(0xf2)+_0x831436+':\x20'+_0x2db557[_0x538b14(0x120)]);}}async[a0_0xce3fde(0x129)](_0x125870,_0xdd338b){const _0x879a11=a0_0xce3fde,_0x1d29fc=await this[_0x879a11(0x146)](_0xdd338b);try{if(_0x125870['waitTime'])return await _0x1d29fc['waitForTimeout'](_0x125870['waitTime']),{'success':!![],'action':_0x879a11(0x129),'waitTime':_0x125870['waitTime'],'message':_0x879a11(0x123)+_0x125870[_0x879a11(0x153)]+'ms'};if(_0x125870[_0x879a11(0x108)]){const _0x33bd60=_0x125870['waitType']||'visible',_0x4177f1={'timeout':0x2710};return _0x33bd60===_0x879a11(0x136)?await _0x1d29fc['waitForSelector'](_0x125870[_0x879a11(0x108)],{..._0x4177f1,'hidden':!![]}):await _0x1d29fc['waitForSelector'](_0x125870[_0x879a11(0x108)],_0x4177f1),{'success':!![],'action':_0x879a11(0x129),'waitSelector':_0x125870[_0x879a11(0x108)],'waitType':_0x33bd60,'message':_0x879a11(0xe6)+_0x125870[_0x879a11(0x108)]+_0x879a11(0x14b)+_0x33bd60};}}catch(_0x54f4eb){throw new Error(_0x879a11(0x14e)+_0x54f4eb[_0x879a11(0x120)]);}}async[a0_0xce3fde(0xfc)](_0x56a7b4,_0x56e91a,_0x330d98,_0x11e5c9={}){const _0xb687b=a0_0xce3fde,_0xe1e779=await this[_0xb687b(0x146)](_0x330d98);try{const _0x246e37=_0x56e91a?a0_0x47d649['resolve'](_0x56e91a,_0x56a7b4):a0_0x47d649[_0xb687b(0x148)](_0x56a7b4),_0x31f6a8=a0_0x47d649[_0xb687b(0xed)](_0x246e37);await a0_0x133599['mkdir'](_0x31f6a8,{'recursive':!![]});const _0x33358e={'path':_0x246e37,'type':'png'};_0x11e5c9[_0xb687b(0x10b)]&&(_0x33358e['fullPage']=!![]);await _0xe1e779[_0xb687b(0xfc)](_0x33358e);const _0x457bbd=await a0_0x133599['stat'](_0x246e37);if(_0x457bbd[_0xb687b(0xe3)]>this['maxScreenshotSize'])throw new Error(_0xb687b(0x12d)+_0x457bbd['size']+_0xb687b(0x14c)+this['maxScreenshotSize']+')');return{'success':!![],'action':_0xb687b(0xfc),'outputPath':a0_0x47d649[_0xb687b(0x134)](_0x56e91a||process[_0xb687b(0x11a)](),_0x246e37),'size':_0x457bbd['size'],'fullPage':!!_0x11e5c9[_0xb687b(0x10b)],'message':'Screenshot\x20saved:\x20'+_0x56a7b4};}catch(_0x210863){throw new Error('Screenshot\x20failed:\x20'+_0x210863['message']);}}async[a0_0xce3fde(0x15b)](_0x32cfe4,_0x510452,_0xccff1b){const _0x4bdae2=a0_0xce3fde,_0x3121e9=await this['getPage'](_0xccff1b);try{await _0x3121e9[_0x4bdae2(0x125)](_0x32cfe4,{'timeout':0x1388});let _0x199e5c;return _0x510452===_0x4bdae2(0xe5)?_0x199e5c=await _0x3121e9['$eval'](_0x32cfe4,_0x18076b=>_0x18076b['textContent']['trim']()):_0x199e5c=await _0x3121e9[_0x4bdae2(0x135)](_0x32cfe4,(_0x455c70,_0x1dabc7)=>_0x455c70[_0x4bdae2(0x147)](_0x1dabc7),_0x510452),{'success':!![],'action':'extract','selector':_0x32cfe4,'attribute':_0x510452,'data':_0x199e5c,'message':_0x4bdae2(0x13c)+_0x510452+'\x20from\x20'+_0x32cfe4};}catch(_0x2d432c){throw new Error(_0x4bdae2(0xe8)+_0x32cfe4+':\x20'+_0x2d432c[_0x4bdae2(0x120)]);}}async[a0_0xce3fde(0x14a)](_0x330a1e,_0x2c9f17){const _0x30924b=a0_0xce3fde,_0x58b41c=await this[_0x30924b(0x146)](_0x2c9f17);try{const {direction:_0x59741b,pixels:pixels=0x12c,selector:_0x103ee5}=_0x330a1e;return _0x103ee5?await _0x58b41c[_0x30924b(0xf4)]((_0x103eb5,_0x3bf0ac,_0x4b373f)=>{const _0x33d061=_0x30924b,_0x1be8a9=document['querySelector'](_0x103eb5);if(_0x1be8a9){if(_0x3bf0ac==='down')_0x1be8a9['scrollTop']+=_0x4b373f;else{if(_0x3bf0ac==='up')_0x1be8a9['scrollTop']-=_0x4b373f;else{if(_0x3bf0ac===_0x33d061(0x105))_0x1be8a9[_0x33d061(0x111)]+=_0x4b373f;else{if(_0x3bf0ac===_0x33d061(0x14d))_0x1be8a9['scrollLeft']-=_0x4b373f;}}}}},_0x103ee5,_0x59741b,pixels):await _0x58b41c['evaluate']((_0x138523,_0x28536e)=>{const _0x279fc8=_0x30924b;if(_0x138523==='down')window[_0x279fc8(0x10e)](0x0,_0x28536e);else{if(_0x138523==='up')window[_0x279fc8(0x10e)](0x0,-_0x28536e);else{if(_0x138523==='right')window[_0x279fc8(0x10e)](_0x28536e,0x0);else{if(_0x138523==='left')window['scrollBy'](-_0x28536e,0x0);}}}},_0x59741b,pixels),{'success':!![],'action':'scroll','direction':_0x59741b,'pixels':pixels,'selector':_0x103ee5||'page','message':_0x30924b(0x124)+_0x59741b+'\x20by\x20'+pixels+'px'};}catch(_0x1aafc6){throw new Error('Scroll\x20failed:\x20'+_0x1aafc6[_0x30924b(0x120)]);}}async[a0_0xce3fde(0x115)](_0x3e4cae){const _0x1a195b=a0_0xce3fde;if(this[_0x1a195b(0x151)]['has'](_0x3e4cae)){const _0x2bfc32=this['browserInstances'][_0x1a195b(0x114)](_0x3e4cae);if(!_0x2bfc32['browser'][_0x1a195b(0x15a)]())this['browserInstances'][_0x1a195b(0x11d)](_0x3e4cae);else return _0x2bfc32['browser'];}const _0x2e7b36=await a0_0x498e45['launch']({'headless':this['browserConfig']['headless'],'args':[_0x1a195b(0x12a),'--disable-setuid-sandbox',_0x1a195b(0x101),_0x1a195b(0x12f)]}),_0x2c1865=await _0x2e7b36['newPage']();return await _0x2c1865[_0x1a195b(0xeb)](this[_0x1a195b(0xe4)]['viewport']),await _0x2c1865[_0x1a195b(0x155)](this['browserConfig'][_0x1a195b(0x159)]),this[_0x1a195b(0x151)][_0x1a195b(0x121)](_0x3e4cae,{'browser':_0x2e7b36,'page':_0x2c1865,'created':Date[_0x1a195b(0x112)]()}),setTimeout(()=>{const _0x483174=_0x1a195b;this[_0x483174(0x128)](_0x3e4cae);},0xa*0x3c*0x3e8),_0x2e7b36;}async[a0_0xce3fde(0x146)](_0x456ada){const _0x3b5fef=a0_0xce3fde;return await this[_0x3b5fef(0x115)](_0x456ada),this[_0x3b5fef(0x151)][_0x3b5fef(0x114)](_0x456ada)[_0x3b5fef(0x149)];}async['closeBrowser'](_0x1e806f){const _0x4f7977=a0_0xce3fde,_0x537269=this[_0x4f7977(0x151)]['get'](_0x1e806f);if(_0x537269)try{return await _0x537269['browser'][_0x4f7977(0xfb)](),this[_0x4f7977(0x151)][_0x4f7977(0x11d)](_0x1e806f),{'success':!![],'action':'close','browserKey':_0x1e806f,'message':'Browser\x20instance\x20closed'};}catch(_0x155982){throw new Error(_0x4f7977(0xf5)+_0x155982[_0x4f7977(0x120)]);}return{'success':!![],'action':_0x4f7977(0xfb),'browserKey':_0x1e806f,'message':'Browser\x20instance\x20not\x20found\x20(already\x20closed)'};}async['cleanupBrowser'](_0x58eb3b){const _0x9b6fa5=a0_0xce3fde,_0x35fa44=this[_0x9b6fa5(0x151)][_0x9b6fa5(0x114)](_0x58eb3b);if(_0x35fa44)try{await _0x35fa44['browser']['close']();}catch(_0x208b2c){}finally{this[_0x9b6fa5(0x151)]['delete'](_0x58eb3b);}}['isAllowedUrl'](_0x1e6669){const _0x33a890=a0_0xce3fde;try{const _0x137b47=new URL(_0x1e6669),_0x450206=_0x137b47['hostname']['toLowerCase']();if(this['blockedDomains'][_0x33a890(0x13e)](_0x1269d8=>_0x450206['includes'](_0x1269d8['toLowerCase']())))return![];if(this['allowedDomains']&&this['allowedDomains'][_0x33a890(0xee)]>0x0)return this[_0x33a890(0xf0)][_0x33a890(0x13e)](_0x2fd4a4=>_0x450206['includes'](_0x2fd4a4['toLowerCase']()));return!![];}catch{return![];}}[a0_0xce3fde(0x10c)](_0x2efa01,_0x5a27e3,_0x41bc2a){const _0x3aaef5=a0_0xce3fde,_0x253e61={'timestamp':new Date()[_0x3aaef5(0xf9)](),'agentId':_0x41bc2a,'action':_0x2efa01['type'],'selector':_0x2efa01['selector']||_0x2efa01[_0x3aaef5(0x103)],'success':_0x5a27e3[_0x3aaef5(0x144)],'loadTime':_0x5a27e3['loadTime']||0x0};this['operationHistory'][_0x3aaef5(0xef)](_0x253e61),this[_0x3aaef5(0x132)]['length']>0x64&&(this[_0x3aaef5(0x132)]=this[_0x3aaef5(0x132)]['slice'](-0x64));}[a0_0xce3fde(0x142)](){const _0x57f829=a0_0xce3fde;return[_0x57f829(0xf1),'click',_0x57f829(0xfe),'wait','screenshot','extract',_0x57f829(0x14a),'close'];}[a0_0xce3fde(0xec)](){const _0x3dabe0=a0_0xce3fde;return{'type':'object','properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this[_0x3dabe0(0x142)]()},'url':{'type':_0x3dabe0(0xf7)},'selector':{'type':'string'},'text':{'type':'string'},'outputPath':{'type':_0x3dabe0(0xf7)},'waitTime':{'type':'integer'},'waitSelector':{'type':'string'},'attribute':{'type':_0x3dabe0(0xf7)},'direction':{'type':'string'},'pixels':{'type':'integer'}},'required':['type']}}},'required':[_0x3dabe0(0x156)]};}async['cleanup'](_0x1c2d6b){const _0x101783=a0_0xce3fde;for(const [_0x309e26]of this[_0x101783(0x151)]){await this[_0x101783(0x128)](_0x309e26);}}['getOperationHistory'](_0x2b045f=null){const _0x2c1302=a0_0xce3fde;if(_0x2b045f)return this['operationHistory'][_0x2c1302(0x154)](_0x5ef7d9=>_0x5ef7d9[_0x2c1302(0x11e)]===_0x2b045f);return[...this[_0x2c1302(0x132)]];}}export default BrowserTool;
1
+ const a0_0x579e7b=a0_0x1aff;function a0_0x1aff(_0x8914a9,_0x50d547){_0x8914a9=_0x8914a9-0xfe;const _0x1e326b=a0_0x1e32();let _0x1aff28=_0x1e326b[_0x8914a9];if(a0_0x1aff['woPBxQ']===undefined){var _0x3d055b=function(_0x25f31e){const _0x3658ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a9ba9='',_0x24b6d4='';for(let _0x1a05aa=0x0,_0x2db0f2,_0x215fba,_0x1a0130=0x0;_0x215fba=_0x25f31e['charAt'](_0x1a0130++);~_0x215fba&&(_0x2db0f2=_0x1a05aa%0x4?_0x2db0f2*0x40+_0x215fba:_0x215fba,_0x1a05aa++%0x4)?_0x4a9ba9+=String['fromCharCode'](0xff&_0x2db0f2>>(-0x2*_0x1a05aa&0x6)):0x0){_0x215fba=_0x3658ab['indexOf'](_0x215fba);}for(let _0x166715=0x0,_0x13aac7=_0x4a9ba9['length'];_0x166715<_0x13aac7;_0x166715++){_0x24b6d4+='%'+('00'+_0x4a9ba9['charCodeAt'](_0x166715)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24b6d4);};a0_0x1aff['psDcef']=_0x3d055b,a0_0x1aff['eQWReM']={},a0_0x1aff['woPBxQ']=!![];}const _0x3007cc=_0x1e326b[0x0],_0x23aa80=_0x8914a9+_0x3007cc,_0x19a33c=a0_0x1aff['eQWReM'][_0x23aa80];return!_0x19a33c?(_0x1aff28=a0_0x1aff['psDcef'](_0x1aff28),a0_0x1aff['eQWReM'][_0x23aa80]=_0x1aff28):_0x1aff28=_0x19a33c,_0x1aff28;}(function(_0x56467e,_0x512561){const _0x59f906=a0_0x1aff,_0x54ae79=_0x56467e();while(!![]){try{const _0xc6a56e=-parseInt(_0x59f906(0x131))/0x1+-parseInt(_0x59f906(0x12f))/0x2+parseInt(_0x59f906(0x108))/0x3+parseInt(_0x59f906(0x10d))/0x4*(-parseInt(_0x59f906(0x124))/0x5)+parseInt(_0x59f906(0x15d))/0x6*(-parseInt(_0x59f906(0x126))/0x7)+parseInt(_0x59f906(0x11d))/0x8+parseInt(_0x59f906(0x110))/0x9*(parseInt(_0x59f906(0x146))/0xa);if(_0xc6a56e===_0x512561)break;else _0x54ae79['push'](_0x54ae79['shift']());}catch(_0xf0e4c2){_0x54ae79['push'](_0x54ae79['shift']());}}}(a0_0x1e32,0x68876));import{BaseTool}from'./baseTool.js';import a0_0x4a9ba9 from'../utilities/tagParser.js';import a0_0x24b6d4 from'puppeteer';import a0_0x1a05aa from'fs/promises';import a0_0x2db0f2 from'path';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class BrowserTool extends BaseTool{constructor(_0x215fba={},_0x1a0130=null){const _0x40c0be=a0_0x1aff;super(_0x215fba,_0x1a0130),this['requiresProject']=![],this[_0x40c0be(0x12a)]=!![],this[_0x40c0be(0x164)]=_0x215fba[_0x40c0be(0x164)]||0xea60,this['maxConcurrentOperations']=_0x215fba['maxConcurrentOperations']||0x2,this[_0x40c0be(0x103)]={'headless':_0x215fba['headless']!==![],'viewport':_0x215fba['viewport']||{'width':0x500,'height':0x2d0},'userAgent':_0x215fba['userAgent']||_0x40c0be(0x116),'timeout':_0x215fba[_0x40c0be(0x143)]||0x7530},this[_0x40c0be(0x130)]=new Map(),this[_0x40c0be(0x104)]=_0x215fba['allowedDomains']||null,this['blockedDomains']=_0x215fba['blockedDomains']||[],this[_0x40c0be(0x166)]=_0x215fba['maxScreenshotSize']||0x5*0x400*0x400,this[_0x40c0be(0x14b)]=[];}[a0_0x579e7b(0x154)](){const _0x3b287d=a0_0x579e7b;return _0x3b287d(0x161)+this[_0x3b287d(0x103)]['viewport']['width']+'x'+this['browserConfig']['viewport']['height']+_0x3b287d(0x160)+this['browserConfig']['timeout']+'ms\x20per\x20operation\x0aMAX\x20WAIT\x20TIME:\x2030\x20seconds\x20(30000ms)\x0a\x20\x20\x20\x20';}['parseParameters'](_0x166715){const _0x493227=a0_0x579e7b;try{if(_0x166715[_0x493227(0x134)]()[_0x493227(0x114)]('{')){const _0x13e3a6=JSON[_0x493227(0x10e)](_0x166715);return!_0x13e3a6[_0x493227(0x162)]&&(_0x13e3a6['actions']=[]),!Array[_0x493227(0x10b)](_0x13e3a6[_0x493227(0x162)])&&(_0x13e3a6[_0x493227(0x162)]=[_0x13e3a6['actions']]),_0x13e3a6;}const _0x13aac7={},_0x8e3a9=[],_0x288533=['navigate',_0x493227(0x142),'type','wait',_0x493227(0x12e),'extract',_0x493227(0x144),_0x493227(0x151)];for(const _0x38e0cf of _0x288533){const _0x4bc365=new RegExp('<'+_0x38e0cf+'\x5cs+([^>]*?)\x5cs*\x5c/?>','gi');let _0x574aae;while((_0x574aae=_0x4bc365['exec'](_0x166715))!==null){const _0x5b20fb=_0x574aae[0x1],_0x41cb83=this[_0x493227(0x11e)](_0x5b20fb),_0x24f8e3={'type':_0x38e0cf,..._0x41cb83};_0x24f8e3[_0x493227(0x10c)]&&(_0x24f8e3['outputPath']=_0x24f8e3[_0x493227(0x10c)],delete _0x24f8e3[_0x493227(0x10c)]),_0x24f8e3[_0x493227(0x165)]&&(_0x24f8e3['waitTime']=parseInt(_0x24f8e3[_0x493227(0x165)],0xa),delete _0x24f8e3[_0x493227(0x165)]),_0x24f8e3[_0x493227(0x16c)]&&(_0x24f8e3[_0x493227(0x16a)]=_0x24f8e3['wait-selector'],delete _0x24f8e3['wait-selector']),_0x24f8e3[_0x493227(0x13b)]&&(_0x24f8e3['waitType']=_0x24f8e3['wait-type'],delete _0x24f8e3[_0x493227(0x13b)]),_0x24f8e3[_0x493227(0x15e)]&&(_0x24f8e3[_0x493227(0x10f)]=_0x24f8e3[_0x493227(0x15e)]==='true',delete _0x24f8e3[_0x493227(0x15e)]),_0x8e3a9[_0x493227(0xff)](_0x24f8e3);}}return _0x13aac7[_0x493227(0x162)]=Array['isArray'](_0x8e3a9)?_0x8e3a9:[],_0x13aac7[_0x493227(0x14f)]=_0x166715[_0x493227(0x134)](),_0x13aac7;}catch(_0x2ce9d1){return this['logger']?.[_0x493227(0x128)](_0x493227(0x169),{'error':_0x2ce9d1[_0x493227(0x136)]}),{'actions':[],'rawContent':_0x166715[_0x493227(0x134)](),'parseError':_0x2ce9d1[_0x493227(0x136)]};}}['parseAttributes'](_0x5395f0){const _0x35913c=a0_0x579e7b,_0x3b2ee7={};if(!_0x5395f0)return _0x3b2ee7;const _0xfc045c=/([\w-]+)\s*=\s*["']([^"']*)["']/g;let _0x349579;while((_0x349579=_0xfc045c[_0x35913c(0x159)](_0x5395f0))!==null){const _0x55ac70=_0x349579[0x1],_0x461d79=_0x349579[0x2];_0x3b2ee7[_0x55ac70]=_0x461d79;}return _0x3b2ee7;}['getRequiredParameters'](){return['actions'];}[a0_0x579e7b(0x158)](_0x34db72){const _0x5429e3=a0_0x579e7b,_0x262d35=[];if(!_0x34db72[_0x5429e3(0x162)]||!Array['isArray'](_0x34db72['actions'])||_0x34db72['actions']['length']===0x0)_0x262d35[_0x5429e3(0xff)]('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x3f006f,_0x3cad49]of _0x34db72['actions'][_0x5429e3(0x13e)]()){if(!_0x3cad49['type']){_0x262d35['push']('Action\x20'+(_0x3f006f+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x3cad49[_0x5429e3(0x149)]){case'navigate':if(!_0x3cad49['url'])_0x262d35[_0x5429e3(0xff)]('Action\x20'+(_0x3f006f+0x1)+':\x20url\x20is\x20required\x20for\x20navigate');else!this['isAllowedUrl'](_0x3cad49[_0x5429e3(0x15c)])&&_0x262d35[_0x5429e3(0xff)](_0x5429e3(0x15a)+(_0x3f006f+0x1)+_0x5429e3(0x11c)+_0x3cad49[_0x5429e3(0x15c)]);break;case _0x5429e3(0x142):case'extract':!_0x3cad49[_0x5429e3(0x132)]&&_0x262d35['push']('Action\x20'+(_0x3f006f+0x1)+':\x20selector\x20is\x20required\x20for\x20'+_0x3cad49[_0x5429e3(0x149)]);break;case _0x5429e3(0x149):!_0x3cad49['selector']&&_0x262d35['push'](_0x5429e3(0x15a)+(_0x3f006f+0x1)+_0x5429e3(0x111));!_0x3cad49[_0x5429e3(0xfe)]&&_0x3cad49['text']!==''&&_0x262d35['push']('Action\x20'+(_0x3f006f+0x1)+_0x5429e3(0x12c));break;case _0x5429e3(0x123):!_0x3cad49['waitTime']&&!_0x3cad49['waitSelector']&&_0x262d35['push'](_0x5429e3(0x15a)+(_0x3f006f+0x1)+':\x20either\x20wait-time\x20or\x20wait-selector\x20is\x20required');_0x3cad49[_0x5429e3(0x15f)]&&(_0x3cad49['waitTime']<0x64||_0x3cad49[_0x5429e3(0x15f)]>0x7530)&&_0x262d35['push']('Action\x20'+(_0x3f006f+0x1)+':\x20wait-time\x20must\x20be\x20between\x20100\x20and\x2030000\x20milliseconds');break;case'screenshot':!_0x3cad49['outputPath']&&_0x262d35['push']('Action\x20'+(_0x3f006f+0x1)+_0x5429e3(0x153));break;case'scroll':if(!_0x3cad49[_0x5429e3(0x135)])_0x262d35[_0x5429e3(0xff)](_0x5429e3(0x15a)+(_0x3f006f+0x1)+':\x20direction\x20is\x20required\x20for\x20scroll');else!['up',_0x5429e3(0x121),'left',_0x5429e3(0x137)]['includes'](_0x3cad49['direction'])&&_0x262d35[_0x5429e3(0xff)]('Action\x20'+(_0x3f006f+0x1)+_0x5429e3(0x13f)+_0x3cad49[_0x5429e3(0x135)]);break;case _0x5429e3(0x151):break;default:_0x262d35[_0x5429e3(0xff)]('Action\x20'+(_0x3f006f+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x3cad49[_0x5429e3(0x149)]);}}return{'valid':_0x262d35['length']===0x0,'errors':_0x262d35};}async['execute'](_0x46c54b,_0x45de2b){const _0x357301=a0_0x579e7b,{actions:_0x4a4ad1}=_0x46c54b,{agentId:_0x4df98f,projectDir:_0x48bd6f}=_0x45de2b,_0x21ecb6=_0x4df98f+'-'+(_0x48bd6f||'default'),_0x5cd332=[];for(const _0x1c1ab1 of _0x4a4ad1){try{let _0x27ae9e;switch(_0x1c1ab1['type']){case'navigate':_0x27ae9e=await this[_0x357301(0x15b)](_0x1c1ab1['url'],_0x21ecb6);break;case _0x357301(0x142):_0x27ae9e=await this['click'](_0x1c1ab1[_0x357301(0x132)],_0x21ecb6);break;case'type':_0x27ae9e=await this['type'](_0x1c1ab1[_0x357301(0x132)],_0x1c1ab1[_0x357301(0xfe)],_0x21ecb6);break;case _0x357301(0x123):_0x27ae9e=await this['wait'](_0x1c1ab1,_0x21ecb6);break;case'screenshot':_0x27ae9e=await this[_0x357301(0x12e)](_0x1c1ab1['outputPath'],_0x48bd6f,_0x21ecb6,_0x1c1ab1);break;case'extract':_0x27ae9e=await this[_0x357301(0x155)](_0x1c1ab1['selector'],_0x1c1ab1['attribute']||_0x357301(0xfe),_0x21ecb6);break;case _0x357301(0x144):_0x27ae9e=await this[_0x357301(0x144)](_0x1c1ab1,_0x21ecb6);break;case _0x357301(0x151):_0x27ae9e=await this['closeBrowser'](_0x21ecb6);break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x1c1ab1['type']);}_0x5cd332['push'](_0x27ae9e),this['addToHistory'](_0x1c1ab1,_0x27ae9e,_0x4df98f);}catch(_0x1337f9){const _0x31c610={'success':![],'action':_0x1c1ab1['type'],'error':_0x1337f9['message'],'selector':_0x1c1ab1[_0x357301(0x132)]||_0x1c1ab1['url']};_0x5cd332[_0x357301(0xff)](_0x31c610),this['addToHistory'](_0x1c1ab1,_0x31c610,_0x4df98f);}}return{'success':!![],'actions':_0x5cd332,'executedActions':_0x4a4ad1[_0x357301(0x14e)],'toolUsed':'browser'};}async['navigate'](_0x35132d,_0x4bb1e5){const _0x5d35f1=a0_0x579e7b,_0x30034e=await this[_0x5d35f1(0x115)](_0x4bb1e5),_0x30b6e0=await this['getPage'](_0x4bb1e5),_0x1c3beb=Date[_0x5d35f1(0x16b)]();try{await _0x30b6e0['goto'](_0x35132d,{'waitUntil':'networkidle0','timeout':this['browserConfig']['timeout']});const _0x471704=await _0x30b6e0[_0x5d35f1(0x105)](),_0x260f56=_0x30b6e0[_0x5d35f1(0x15c)]();return{'success':!![],'action':_0x5d35f1(0x15b),'url':_0x260f56,'originalUrl':_0x35132d,'title':_0x471704,'loadTime':Date[_0x5d35f1(0x16b)]()-_0x1c3beb,'message':'Navigated\x20to\x20'+_0x35132d};}catch(_0x9bf59e){throw new Error('Navigation\x20failed:\x20'+_0x9bf59e[_0x5d35f1(0x136)]);}}async[a0_0x579e7b(0x142)](_0x33ef05,_0x2961c8){const _0x20ae0b=a0_0x579e7b,_0x599d4d=await this['getPage'](_0x2961c8);try{return await _0x599d4d[_0x20ae0b(0x106)](_0x33ef05,{'timeout':0x1388}),await _0x599d4d['click'](_0x33ef05),{'success':!![],'action':'click','selector':_0x33ef05,'message':_0x20ae0b(0x14a)+_0x33ef05};}catch(_0x1d35ac){throw new Error(_0x20ae0b(0x140)+_0x33ef05+':\x20'+_0x1d35ac['message']);}}async[a0_0x579e7b(0x149)](_0x1ceab9,_0x350692,_0x3bdb02){const _0x11935c=a0_0x579e7b,_0x4d2429=await this['getPage'](_0x3bdb02);try{return await _0x4d2429['waitForSelector'](_0x1ceab9,{'timeout':0x1388}),await _0x4d2429[_0x11935c(0x118)](_0x1ceab9),await _0x4d2429['keyboard']['selectAll'](),await _0x4d2429[_0x11935c(0x149)](_0x1ceab9,_0x350692),{'success':!![],'action':_0x11935c(0x149),'selector':_0x1ceab9,'text':_0x350692,'textLength':_0x350692[_0x11935c(0x14e)],'message':'Typed\x20'+_0x350692[_0x11935c(0x14e)]+_0x11935c(0x168)+_0x1ceab9};}catch(_0x30615f){throw new Error('Type\x20failed\x20on\x20'+_0x1ceab9+':\x20'+_0x30615f['message']);}}async[a0_0x579e7b(0x123)](_0x192e43,_0x3f714d){const _0x485261=a0_0x579e7b,_0x33137b=await this['getPage'](_0x3f714d);try{if(_0x192e43[_0x485261(0x15f)])return await _0x33137b['waitForTimeout'](_0x192e43['waitTime']),{'success':!![],'action':'wait','waitTime':_0x192e43[_0x485261(0x15f)],'message':'Waited\x20'+_0x192e43[_0x485261(0x15f)]+'ms'};if(_0x192e43[_0x485261(0x16a)]){const _0x41fb0e=_0x192e43['waitType']||'visible',_0x138e96={'timeout':0x2710};return _0x41fb0e==='hidden'?await _0x33137b['waitForSelector'](_0x192e43['waitSelector'],{..._0x138e96,'hidden':!![]}):await _0x33137b['waitForSelector'](_0x192e43['waitSelector'],_0x138e96),{'success':!![],'action':_0x485261(0x123),'waitSelector':_0x192e43['waitSelector'],'waitType':_0x41fb0e,'message':_0x485261(0x12b)+_0x192e43[_0x485261(0x16a)]+'\x20to\x20be\x20'+_0x41fb0e};}}catch(_0x5c9bd9){throw new Error('Wait\x20failed:\x20'+_0x5c9bd9['message']);}}async['screenshot'](_0x4e2899,_0x427750,_0x4bef0,_0x5bd443={}){const _0x59695f=a0_0x579e7b,_0x1178e0=await this['getPage'](_0x4bef0);try{const _0x49fc65=_0x427750?a0_0x2db0f2[_0x59695f(0x156)](_0x427750,_0x4e2899):a0_0x2db0f2[_0x59695f(0x156)](_0x4e2899),_0x278831=a0_0x2db0f2['dirname'](_0x49fc65);await a0_0x1a05aa['mkdir'](_0x278831,{'recursive':!![]});const _0x3e5448={'path':_0x49fc65,'type':_0x59695f(0x107)};_0x5bd443['fullPage']&&(_0x3e5448[_0x59695f(0x10f)]=!![]);await _0x1178e0[_0x59695f(0x12e)](_0x3e5448);const _0x3e3af3=await a0_0x1a05aa[_0x59695f(0x147)](_0x49fc65);if(_0x3e3af3['size']>this['maxScreenshotSize'])throw new Error('Screenshot\x20too\x20large:\x20'+_0x3e3af3['size']+_0x59695f(0x133)+this[_0x59695f(0x166)]+')');return{'success':!![],'action':'screenshot','outputPath':a0_0x2db0f2[_0x59695f(0x11a)](_0x427750||process[_0x59695f(0x145)](),_0x49fc65),'size':_0x3e3af3['size'],'fullPage':!!_0x5bd443['fullPage'],'message':'Screenshot\x20saved:\x20'+_0x4e2899};}catch(_0x568c42){throw new Error(_0x59695f(0x14d)+_0x568c42['message']);}}async[a0_0x579e7b(0x155)](_0x7c023a,_0x2cf12f,_0x28733d){const _0x2ab174=a0_0x579e7b,_0x3fd66f=await this['getPage'](_0x28733d);try{await _0x3fd66f[_0x2ab174(0x106)](_0x7c023a,{'timeout':0x1388});let _0x16cd94;return _0x2cf12f==='text'?_0x16cd94=await _0x3fd66f[_0x2ab174(0x12d)](_0x7c023a,_0x2cd394=>_0x2cd394[_0x2ab174(0x150)]['trim']()):_0x16cd94=await _0x3fd66f[_0x2ab174(0x12d)](_0x7c023a,(_0x52cf30,_0x578933)=>_0x52cf30['getAttribute'](_0x578933),_0x2cf12f),{'success':!![],'action':'extract','selector':_0x7c023a,'attribute':_0x2cf12f,'data':_0x16cd94,'message':_0x2ab174(0x139)+_0x2cf12f+'\x20from\x20'+_0x7c023a};}catch(_0x27d5de){throw new Error('Extract\x20failed\x20on\x20'+_0x7c023a+':\x20'+_0x27d5de[_0x2ab174(0x136)]);}}async['scroll'](_0x48cd8f,_0x57cd4f){const _0x1c2995=a0_0x579e7b,_0x337f51=await this['getPage'](_0x57cd4f);try{const {direction:_0x10955b,pixels:pixels=0x12c,selector:_0x1b112f}=_0x48cd8f;return _0x1b112f?await _0x337f51[_0x1c2995(0x11b)]((_0x1d7d1c,_0x26f195,_0x1f6841)=>{const _0x3b5645=_0x1c2995,_0x4fd85f=document['querySelector'](_0x1d7d1c);if(_0x4fd85f){if(_0x26f195==='down')_0x4fd85f['scrollTop']+=_0x1f6841;else{if(_0x26f195==='up')_0x4fd85f[_0x3b5645(0x167)]-=_0x1f6841;else{if(_0x26f195==='right')_0x4fd85f[_0x3b5645(0x102)]+=_0x1f6841;else{if(_0x26f195==='left')_0x4fd85f['scrollLeft']-=_0x1f6841;}}}}},_0x1b112f,_0x10955b,pixels):await _0x337f51[_0x1c2995(0x11b)]((_0x39c7b1,_0x49a4b9)=>{const _0x1afc1d=_0x1c2995;if(_0x39c7b1==='down')window['scrollBy'](0x0,_0x49a4b9);else{if(_0x39c7b1==='up')window['scrollBy'](0x0,-_0x49a4b9);else{if(_0x39c7b1===_0x1afc1d(0x137))window[_0x1afc1d(0x163)](_0x49a4b9,0x0);else{if(_0x39c7b1==='left')window['scrollBy'](-_0x49a4b9,0x0);}}}},_0x10955b,pixels),{'success':!![],'action':_0x1c2995(0x144),'direction':_0x10955b,'pixels':pixels,'selector':_0x1b112f||_0x1c2995(0x13d),'message':'Scrolled\x20'+_0x10955b+'\x20by\x20'+pixels+'px'};}catch(_0x56a14b){throw new Error(_0x1c2995(0x125)+_0x56a14b[_0x1c2995(0x136)]);}}async[a0_0x579e7b(0x115)](_0x270e54){const _0x1beca2=a0_0x579e7b;if(this['browserInstances'][_0x1beca2(0x148)](_0x270e54)){const _0x267cec=this['browserInstances']['get'](_0x270e54);if(!_0x267cec[_0x1beca2(0x101)]['isConnected']())this[_0x1beca2(0x130)]['delete'](_0x270e54);else return _0x267cec[_0x1beca2(0x101)];}const _0x331eec=await a0_0x24b6d4[_0x1beca2(0x109)]({'headless':this[_0x1beca2(0x103)]['headless'],'args':[_0x1beca2(0x119),'--disable-setuid-sandbox','--disable-dev-shm-usage',_0x1beca2(0x120)]}),_0x54dee2=await _0x331eec[_0x1beca2(0x117)]();return await _0x54dee2[_0x1beca2(0x112)](this[_0x1beca2(0x103)][_0x1beca2(0x13c)]),await _0x54dee2['setUserAgent'](this[_0x1beca2(0x103)][_0x1beca2(0x152)]),this['browserInstances']['set'](_0x270e54,{'browser':_0x331eec,'page':_0x54dee2,'created':Date[_0x1beca2(0x16b)]()}),setTimeout(()=>{const _0x541ec2=_0x1beca2;this[_0x541ec2(0x113)](_0x270e54);},0xa*0x3c*0x3e8),_0x331eec;}async[a0_0x579e7b(0x11f)](_0x2226e3){const _0x557bbf=a0_0x579e7b;return await this[_0x557bbf(0x115)](_0x2226e3),this['browserInstances'][_0x557bbf(0x129)](_0x2226e3)['page'];}async['closeBrowser'](_0x318ce9){const _0x2d1895=a0_0x579e7b,_0x4c8a49=this['browserInstances'][_0x2d1895(0x129)](_0x318ce9);if(_0x4c8a49)try{return await _0x4c8a49['browser']['close'](),this['browserInstances']['delete'](_0x318ce9),{'success':!![],'action':_0x2d1895(0x151),'browserKey':_0x318ce9,'message':_0x2d1895(0x141)};}catch(_0x52456b){throw new Error(_0x2d1895(0x138)+_0x52456b[_0x2d1895(0x136)]);}return{'success':!![],'action':'close','browserKey':_0x318ce9,'message':'Browser\x20instance\x20not\x20found\x20(already\x20closed)'};}async['cleanupBrowser'](_0x321570){const _0x471926=a0_0x579e7b,_0x63d11a=this[_0x471926(0x130)]['get'](_0x321570);if(_0x63d11a)try{await _0x63d11a[_0x471926(0x101)]['close']();}catch(_0x1f66bd){}finally{this[_0x471926(0x130)]['delete'](_0x321570);}}[a0_0x579e7b(0x10a)](_0x58126a){const _0x2c8524=a0_0x579e7b;try{const _0x3d1d62=new URL(_0x58126a),_0x3cae6c=_0x3d1d62['hostname']['toLowerCase']();if(this['blockedDomains']['some'](_0x371297=>_0x3cae6c[_0x2c8524(0x127)](_0x371297['toLowerCase']())))return![];if(this[_0x2c8524(0x104)]&&this[_0x2c8524(0x104)][_0x2c8524(0x14e)]>0x0)return this['allowedDomains']['some'](_0x2111fc=>_0x3cae6c['includes'](_0x2111fc['toLowerCase']()));return!![];}catch{return![];}}['addToHistory'](_0x47574b,_0x36284e,_0x308457){const _0x5e23d4=a0_0x579e7b,_0x1e70f1={'timestamp':new Date()[_0x5e23d4(0x14c)](),'agentId':_0x308457,'action':_0x47574b[_0x5e23d4(0x149)],'selector':_0x47574b['selector']||_0x47574b['url'],'success':_0x36284e['success'],'loadTime':_0x36284e['loadTime']||0x0};this[_0x5e23d4(0x14b)]['push'](_0x1e70f1),this[_0x5e23d4(0x14b)]['length']>0x64&&(this[_0x5e23d4(0x14b)]=this['operationHistory']['slice'](-0x64));}['getSupportedActions'](){const _0xcc1e9d=a0_0x579e7b;return['navigate',_0xcc1e9d(0x142),'type','wait','screenshot','extract',_0xcc1e9d(0x144),'close'];}['getParameterSchema'](){const _0x4a62cf=a0_0x579e7b;return{'type':'object','properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':_0x4a62cf(0x100),'properties':{'type':{'type':_0x4a62cf(0x122),'enum':this['getSupportedActions']()},'url':{'type':_0x4a62cf(0x122)},'selector':{'type':_0x4a62cf(0x122)},'text':{'type':_0x4a62cf(0x122)},'outputPath':{'type':'string'},'waitTime':{'type':'integer'},'waitSelector':{'type':_0x4a62cf(0x122)},'attribute':{'type':'string'},'direction':{'type':'string'},'pixels':{'type':_0x4a62cf(0x157)}},'required':[_0x4a62cf(0x149)]}}},'required':['actions']};}async['cleanup'](_0x5d9503){const _0x5c46e1=a0_0x579e7b;for(const [_0x12aa68]of this[_0x5c46e1(0x130)]){await this['cleanupBrowser'](_0x12aa68);}}[a0_0x579e7b(0x13a)](_0x493ffd=null){const _0x444a97=a0_0x579e7b;if(_0x493ffd)return this[_0x444a97(0x14b)]['filter'](_0x152b38=>_0x152b38['agentId']===_0x493ffd);return[...this['operationHistory']];}}export default BrowserTool;function a0_0x1e32(){const _0x344efa=['rxH0CMfJDgvKia','z2v0t3bLCMf0Aw9UsgLZDg9YEq','D2fPDc10ExbL','DMLLD3bVCNq','CgfNzq','zw50CMLLCW','oIbPBNzHBgLKihnJCM9SBcbKAxjLy3rPB246ia','q2XPy2SGzMfPBgvKig9Uia','qNjVD3nLCIbPBNn0yw5JzsbJBg9Zzwq','y2XPy2S','CgfNzvrPBwvVDxq','C2nYB2XS','y3DK','nZa4mZC0mfzjDLPrqG','C3rHDa','AgfZ','DhLWzq','q2XPy2TLzcbVBIa','B3bLCMf0Aw9UsgLZDg9YEq','Dg9ju09tDhjPBMC','u2nYzwvUC2HVDcbMywLSzwq6ia','BgvUz3rO','CMf3q29UDgvUDa','Dgv4DenVBNrLBNq','y2XVC2u','DxnLCKfNzw50','oIbVDxrWDxqTCgf0AcbPCYbYzxf1AxjLzcbMB3iGC2nYzwvUC2HVDa','z2v0rgvZy3jPChrPB24','zxH0CMfJDa','CMvZB2X2zq','Aw50zwDLCG','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','zxHLyW','qwn0Aw9Uia','BMf2AwDHDgu','DxjS','nK9Vtfzpzq','zNvSBc1WywDL','D2fPDfrPBwu','cLrjtuvpvvq6ia','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','ywn0Aw9UCW','C2nYB2XSqNK','DgLTzw91Da','D2fPDc10Aw1L','Bwf4u2nYzwvUC2HVDfnPEMu','C2nYB2XSvg9W','ignOyxjHy3rLCNmGAw50BYa','rMfPBgvKihrVihbHCNnLigjYB3DZzxiGCgfYyw1LDgvYCW','D2fPDfnLBgvJDg9Y','BM93','D2fPDc1ZzwXLy3rVCG','Dgv4Da','ChvZAa','B2jQzwn0','yNjVD3nLCG','C2nYB2XStgvMDa','yNjVD3nLCKnVBMzPzW','ywXSB3DLzerVBwfPBNm','DgL0Bgu','D2fPDezVCLnLBgvJDg9Y','Cg5N','mZu0mdnQCwjyDNG','Bgf1BMnO','AxnbBgXVD2vKvxjS','AxnbCNjHEq','B3v0Chv0lxbHDgG','mte2twTdy1Pq','CgfYC2u','zNvSBfbHz2u','ouXsDNHOza','oIbZzwXLy3rVCIbPCYbYzxf1AxjLzcbMB3iGDhLWzq','C2v0vMLLD3bVCNq','y2XLyw51CejYB3DZzxi','C3rHCNrZv2L0Aa','z2v0qNjVD3nLCG','tw96AwXSys81lJaGkfDPBMrVD3mGtLqGmtaUmdSGv2LUnJq7ihG2ncKGqxbWBgvxzwjlAxqVntm3lJm2','BMv3ugfNzq','zM9JDxm','ls1UBY1Zyw5KyM94','CMvSyxrPDMu','zxzHBhvHDgu','oIbvuKWGBM90igfSBg93zwq6ia','mtCYmdGZmNjPu0XnqG','CgfYC2vbDhrYAwj1DgvZ','z2v0ugfNzq','ls1KAxnHyMXLlwDWDq','zg93BG','C3rYAw5N','D2fPDa','mta0nun4EfPtrG','u2nYB2XSigzHAwXLzdOG','nti1ntq2EeTYqxLs','Aw5JBhvKzxm','zxjYB3i','z2v0','AxnbC3LUyW','v2fPDgvKigzVCIa','oIb0zxH0igLZihjLCxvPCMvKigzVCIb0ExbL','jgv2ywW','C2nYzwvUC2HVDa','mJa0odi0BNPJvwvk','yNjVD3nLCKLUC3rHBMnLCW','mZiZntC4ueXqEvzt','C2vSzwn0B3i','igj5DgvZicHTyxGG','DhjPBq','zgLYzwn0Aw9U','BwvZC2fNzq','CMLNAhq','rMfPBgvKihrVignSB3nLigjYB3DZzxi6ia'];a0_0x1e32=function(){return _0x344efa;};return a0_0x1e32();}
@@ -1 +1 @@
1
- const a0_0x27d552=a0_0x4a08;(function(_0x34f076,_0x2c8f9d){const _0x4466ef=a0_0x4a08,_0x775f4b=_0x34f076();while(!![]){try{const _0x370e74=parseInt(_0x4466ef(0x14a))/0x1+-parseInt(_0x4466ef(0x143))/0x2*(parseInt(_0x4466ef(0x14c))/0x3)+parseInt(_0x4466ef(0x146))/0x4*(parseInt(_0x4466ef(0x179))/0x5)+-parseInt(_0x4466ef(0x166))/0x6*(-parseInt(_0x4466ef(0x138))/0x7)+-parseInt(_0x4466ef(0x163))/0x8*(parseInt(_0x4466ef(0x15a))/0x9)+-parseInt(_0x4466ef(0x144))/0xa+-parseInt(_0x4466ef(0x14f))/0xb;if(_0x370e74===_0x2c8f9d)break;else _0x775f4b['push'](_0x775f4b['shift']());}catch(_0x1fe407){_0x775f4b['push'](_0x775f4b['shift']());}}}(a0_0x4d09,0x67d2a));import{BaseTool}from'./baseTool.js';function a0_0x4a08(_0x431924,_0x119e0b){_0x431924=_0x431924-0x11b;const _0x4d0919=a0_0x4d09();let _0x4a089f=_0x4d0919[_0x431924];if(a0_0x4a08['oUuaTX']===undefined){var _0x559317=function(_0x5bd923){const _0x2435c8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a7b17='',_0x3e42f5='';for(let _0x64fb22=0x0,_0x5a3f40,_0x1d1586,_0x3bde0b=0x0;_0x1d1586=_0x5bd923['charAt'](_0x3bde0b++);~_0x1d1586&&(_0x5a3f40=_0x64fb22%0x4?_0x5a3f40*0x40+_0x1d1586:_0x1d1586,_0x64fb22++%0x4)?_0x1a7b17+=String['fromCharCode'](0xff&_0x5a3f40>>(-0x2*_0x64fb22&0x6)):0x0){_0x1d1586=_0x2435c8['indexOf'](_0x1d1586);}for(let _0x17e2b4=0x0,_0x90b002=_0x1a7b17['length'];_0x17e2b4<_0x90b002;_0x17e2b4++){_0x3e42f5+='%'+('00'+_0x1a7b17['charCodeAt'](_0x17e2b4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e42f5);};a0_0x4a08['fRhnAM']=_0x559317,a0_0x4a08['nqyDms']={},a0_0x4a08['oUuaTX']=!![];}const _0x560f3b=_0x4d0919[0x0],_0x1018e6=_0x431924+_0x560f3b,_0x20e94a=a0_0x4a08['nqyDms'][_0x1018e6];return!_0x20e94a?(_0x4a089f=a0_0x4a08['fRhnAM'](_0x4a089f),a0_0x4a08['nqyDms'][_0x1018e6]=_0x4a089f):_0x4a089f=_0x20e94a,_0x4a089f;}import a0_0x1a7b17 from'../utilities/tagParser.js';import a0_0x3e42f5 from'../utilities/directoryAccessManager.js';function a0_0x4d09(){const _0x4ead4a=['C2LTAwXHCML0EvrOCMvZAg9Sza','Bg9Nz2vY','mtjNqu9lD0m','odq0ndyWmgr2AfrABq','ugfYC2vKienSB25Lrgv0zwn0Aw9UihrVB2WGCgfYyw1LDgvYCW','ndrAA21lu1a','oIbTAw4TDg9Rzw5Zig11C3qGyMuGyMv0D2vLBIaXmcbHBMqGmtaWma','ywXSB3DLza','zM9YBwf0rgv0ywLSzwrpDxrWDxq','nJm2mdu0BhfhEKzq','BwLUlwXPBMvZ','mJa4odn1r2LAugy','C2XPy2u','Bwf4lxjLC3vSDhm','mZKYotG2yMv3vxLr','DhLWzq','oIb0ExbLigLZihjLCxvPCMvK','kIOVBM9Kzv9TB2r1BgvZlYOQ','z2v0u3vWCg9YDgvKqwn0Aw9UCW','zgv0zwn0q2XVBMvZ','kIOVkI5QC3G','kIOVkI50zxn0lMPZ','ChjPB3jPDhLdB3vUDhm','uMvHzcbHy2nLC3mGzgvUAwvKoIa','zgvMyxvSDfnPBwLSyxjPDhLuAhjLC2HVBgq','owjRyuPbza','y3DK','oIbTAw4TBgLUzxmGBxvZDcbIzsbIzxr3zwvUideGyw5KideWma','AM9PBG','zgLYzwn0B3j5','Dg90ywXgAwXLCW','C3vIC3rYAw5N','DMfSAwrHDgvszwfKqwnJzxnZ','rMfPBgvKihrVigrLDgvJDcbJBg9UzxmGAw4G','mtCYnda0oeTuy1fdAG','ywn0Aw9UCW','ihnLy29UzhmkcLvtrsbdqvnfuZOklsbjzgvUDgLMEsbYzwzHy3rVCMLUzYbVChbVCNr1BML0AwvZigjLzM9YzsbJB2rLihjLDMLLDWOTifrYywnRihrLy2HUAwnHBcbKzwj0igfUzcbJB2rLigr1CgXPy2f0Aw9Uig1LDhjPy3mklsbgAw5KignHBMrPzgf0zxmGzM9YierswsaOrg9Uj3qGuMvWzwf0ifLVDxjZzwXMksbYzwzHy3rVCMLUzWOTifbYAw9YAxrPEMuGBwfPBNrLBMfUy2uGD29YAYbIEsbPBxbHy3qGC2nVCMukicaGia','odqWntr6ue5yy2m','y3jLyxrLuMvSyxrPDMvqyxrO','kIOVyNvPBgqVkIO','DhjPBq','BwLUvg9Rzw5Z','B3v0Chv0lw1Vzgu','AxnbC3LUyW','ChjPB3jPDhLgAwX0zxi','zgv0zwn0lwnSB25LCW','Bwv0CMLJCW','BgvUz3rO','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','C3vTBwfYEq','zgvIDwC','kIOVkI5TANm','zw50CMLLCW','C3rHCNrmAw5L','zw5KtgLUzq','C3rYyxrLz3K','mJGXmtiWueDbEhjn','AgLNAa','z2v0q2XVBMvezxrLy3rVCG','y29UzMLKzw5Jzq','qwn0Aw9Uia','ChvZAa','C2LTAwXHCML0Es10AhjLC2HVBgq','C3rYAw5N','ChjPB3jPDhKTzMLSDgvY','zhvWBgLJyxrPB25qzxjJzw50ywDL','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','cI4UlIaODhj1BMnHDgvKkq','BNvTyMvY','BwLUtgLUzxm','y29Kzq','ywn0Aw9UywjSzvn0zxbZ','ChjPB3jPDhK','zgvMyxvSDe1PBKXPBMvZ','B3v0Chv0tw9Kzq','kIOVkI5QCW','BgLUzunVDw50','Aw5ZDgfUy2vdB3vUDa','C3bSAxq','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','BwfW','BwvKAxvT','CNvU','Bg93','kIOVkI5ZCgvJlMPZ','DgLTzw91Da','zgv0ywLSzwq','oIbWCMLVCML0Es1MAwX0zxiGBxvZDcbIzsbOAwDOlcbTzwrPDw0Sig9YigXVDW','CMvMywn0B3jPBMDbzhzPy2u','kIOVkI50C3G','Aw5MBW','Bwf4uMvZDwX0CW','BwLUlxrVA2vUCW','zgvMyxvSDe1PBLrVA2vUCW','mtu0DM5YuhPo','zxHLy3v0zq','lI4Vyw5HBhL6zxjZl2nVzgvdBg9UzurLDgvJDg9Yl2LUzgv4lMPZ','vw5RBM93BIbHy3rPB24GDhLWztOG','Aw5JBhvKzxm','zMLSzq','kIOVkI50CW','AxnbyNnVBhv0zq','BwvZC2fNzq'];a0_0x4d09=function(){return _0x4ead4a;};return a0_0x4d09();}import a0_0x64fb22 from'path';import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class CloneDetectionTool extends BaseTool{constructor(_0x5a3f40={},_0x1d1586=null){const _0xcbd29c=a0_0x4a08;super(_0x5a3f40,_0x1d1586),this['requiresProject']=!![],this[_0xcbd29c(0x16c)]=![],this['timeout']=_0x5a3f40[_0xcbd29c(0x12f)]||0x1d4c0,this[_0xcbd29c(0x171)]=_0x5a3f40['maxConcurrentOperations']||0x1,this[_0xcbd29c(0x137)]=_0x5a3f40[_0xcbd29c(0x137)]||0x32,this[_0xcbd29c(0x123)]=_0x5a3f40[_0xcbd29c(0x123)]||0x5,this['defaultSimilarityThreshold']=_0x5a3f40[_0xcbd29c(0x159)]||0.85,this['maxFileSize']=_0x5a3f40['maxFileSize']||0x7a120,this[_0xcbd29c(0x129)]=new a0_0x3e42f5(_0x5a3f40,_0x1d1586),this['cloneDetector']=null;}['getDescription'](){const _0xeea0d8=a0_0x4a08;return'\x0aCode\x20Clone\x20Detection\x20Tool:\x20Find\x20duplicated\x20code\x20for\x20refactoring\x20opportunities\x0a\x0aThis\x20tool\x20identifies\x20exact\x20and\x20similar\x20code\x20patterns\x20(code\x20clones)\x20across\x20your\x20codebase\x20to\x20help\x20reduce\x20duplication,\x20improve\x20maintainability,\x20and\x20identify\x20refactoring\x20opportunities.\x0a\x0aWHAT\x20IT\x20DETECTS:\x0a-\x20Exact\x20Clones\x20(Type\x201):\x20Identical\x20code\x20with\x20different\x20formatting/comments\x0a-\x20Similar\x20Clones\x20(Type\x202/3):\x20Structurally\x20similar\x20code\x20with\x20minor\x20variations\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Vue\x20(.vue)\x0a\x0aUSAGE\x20-\x20XML\x20FORMAT:\x0a\x0aDetect\x20clones\x20in\x20entire\x20directory:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20/>\x0a[/tool]\x0a\x0aDetect\x20clones\x20in\x20specific\x20directory:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22src/services\x22\x20/>\x0a[/tool]\x0a\x0aCustom\x20sensitivity\x20(lower\x20minTokens\x20=\x20more\x20sensitive):\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22src\x22\x20min-tokens=\x2230\x22\x20min-lines=\x225\x22\x20/>\x0a[/tool]\x0a\x0aFilter\x20by\x20priority:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20priority-filter=\x22high\x22\x20max-results=\x225\x22\x20/>\x0a[/tool]\x0a\x0aGet\x20summary\x20only:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20output-mode=\x22summary\x22\x20/>\x0a[/tool]\x0a\x0aUSAGE\x20-\x20JSON\x20FORMAT:\x0a\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22clonedetection\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22detect-clones\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22minTokens\x22:\x2050,\x0a\x20\x20\x20\x20\x20\x20\x22minLines\x22:\x205,\x0a\x20\x20\x20\x20\x20\x20\x22similarityThreshold\x22:\x200.85,\x0a\x20\x20\x20\x20\x20\x20\x22priorityFilter\x22:\x20\x22high\x22,\x0a\x20\x20\x20\x20\x20\x20\x22maxResults\x22:\x2010,\x0a\x20\x20\x20\x20\x20\x20\x22outputMode\x22:\x20\x22summary\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(required)\x0a-\x20min-tokens:\x20Minimum\x20token\x20count\x20(default:\x2050,\x20lower\x20=\x20more\x20sensitive)\x0a-\x20min-lines:\x20Minimum\x20line\x20count\x20(default:\x205)\x0a-\x20similarity-threshold:\x200-1\x20similarity\x20threshold\x20(default:\x200.85)\x0a-\x20priority-filter:\x20Filter\x20by\x20priority\x20(high/medium/low,\x20optional)\x0a-\x20max-results:\x20Maximum\x20number\x20of\x20clones\x20to\x20return\x20(optional)\x0a-\x20output-mode:\x20summary|detailed|recommendations\x20(default:\x20detailed)\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20clone\x20detection\x20results\x20with:\x0a-\x20summary:\x20Overall\x20statistics\x20(total\x20clones,\x20duplication\x20%,\x20priority\x20breakdown)\x0a-\x20clones:\x20Array\x20of\x20detected\x20clone\x20groups\x0a\x20\x20-\x20id:\x20Clone\x20identifier\x0a\x20\x20-\x20type:\x20exact\x20|\x20similar\x0a\x20\x20-\x20confidence:\x20Detection\x20confidence\x20(0-1)\x0a\x20\x20-\x20instances:\x20Array\x20of\x20code\x20locations\x20with\x20file\x20paths\x20and\x20line\x20numbers\x0a\x20\x20-\x20metrics:\x20tokenCount,\x20lineCount,\x20instanceCount,\x20impactScore,\x20filesCovered\x0a\x20\x20-\x20refactoringAdvice:\x0a\x20\x20\x20\x20-\x20priority:\x20high\x20|\x20medium\x20|\x20low\x0a\x20\x20\x20\x20-\x20strategy:\x20extract-function\x20|\x20extract-class\x20|\x20extract-module\x20|\x20extract-constant\x0a\x20\x20\x20\x20-\x20suggestedName:\x20Recommended\x20name\x20for\x20extracted\x20code\x0a\x20\x20\x20\x20-\x20reasoning:\x20Why\x20this\x20refactoring\x20is\x20recommended\x0a\x20\x20\x20\x20-\x20estimatedEffort:\x20low\x20|\x20medium\x20|\x20high\x0a\x20\x20\x20\x20-\x20benefits:\x20Array\x20of\x20benefits\x0a\x20\x20\x20\x20-\x20actionableSteps:\x20Step-by-step\x20refactoring\x20instructions\x0a\x0aOUTPUT\x20MODES:\x0a-\x20summary:\x20High-level\x20overview\x20only\x20(duplication\x20%,\x20top\x205\x20clones)\x0a-\x20detailed:\x20Full\x20clone\x20details\x20with\x20code\x20snippets\x20(default)\x0a-\x20recommendations:\x20Refactoring\x20priorities\x20with\x20actionable\x20steps\x0a\x0aDETECTION\x20ALGORITHM:\x0a-\x20Uses\x20AST\x20(Abstract\x20Syntax\x20Tree)\x20parsing\x20via\x20Babel\x0a-\x20Token-based\x20similarity\x20with\x20normalization\x0a-\x20Longest\x20Common\x20Subsequence\x20(LCS)\x20algorithm\x20for\x20similarity\x0a-\x20Configurable\x20sensitivity\x20and\x20thresholds\x0a\x0aEXAMPLES:\x0a\x0aFind\x20all\x20clones\x20in\x20project:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20/>\x0a[/tool]\x0a\x0aHigh-priority\x20refactoring\x20opportunities\x20only:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22src\x22\x20priority-filter=\x22high\x22\x20max-results=\x2210\x22\x20/>\x0a[/tool]\x0a\x0aMore\x20sensitive\x20detection\x20(finds\x20smaller\x20clones):\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20min-tokens=\x2230\x22\x20similarity-threshold=\x220.80\x22\x20/>\x0a[/tool]\x0a\x0aQuick\x20overview:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20output-mode=\x22summary\x22\x20/>\x0a[/tool]\x0a\x0aLIMITATIONS:\x0a-\x20Analyzes\x20JavaScript/TypeScript\x20family\x20only\x0a-\x20Performance\x20depends\x20on\x20codebase\x20size\x20(500ms\x20per\x20file\x20typical)\x0a-\x20Maximum\x20file\x20size:\x20'+Math['round'](this['maxFileSize']/0x400)+'KB\x20per\x20file\x0a-\x20Analysis\x20timeout:\x20'+this['timeout']/0x3e8+_0xeea0d8(0x165);}['parseParameters'](_0x3bde0b){const _0x3705bb=a0_0x4a08;try{const _0x17e2b4={},_0x90b002=[];this['logger']?.['debug']('CloneDetection\x20tool\x20parsing\x20parameters',{'contentLength':_0x3bde0b['length'],'contentPreview':_0x3bde0b[_0x3705bb(0x160)](0x0,0xc8)});const _0x13c8fe=/<detect-clones\s+(.+?)\/>/g;let _0x2d9f4a;while((_0x2d9f4a=_0x13c8fe['exec'](_0x3bde0b))!==null){const _0x3322e9=_0x2d9f4a[0x1][_0x3705bb(0x169)](),_0x459c21=new a0_0x1a7b17(),_0x4379f4=_0x459c21['parseAttributes'](_0x3322e9),_0x1d3410={'type':_0x3705bb(0x16e),..._0x4379f4};_0x1d3410[_0x3705bb(0x136)]&&(_0x1d3410[_0x3705bb(0x16a)]=parseInt(_0x1d3410[_0x3705bb(0x136)],0xa),delete _0x1d3410['min-tokens']),_0x1d3410[_0x3705bb(0x14b)]&&(_0x1d3410['minLines']=parseInt(_0x1d3410[_0x3705bb(0x14b)],0xa),delete _0x1d3410[_0x3705bb(0x14b)]),_0x1d3410[_0x3705bb(0x17f)]&&(_0x1d3410['similarityThreshold']=parseFloat(_0x1d3410['similarity-threshold']),delete _0x1d3410['similarity-threshold']),_0x1d3410[_0x3705bb(0x181)]&&(_0x1d3410[_0x3705bb(0x16d)]=_0x1d3410['priority-filter'],delete _0x1d3410[_0x3705bb(0x181)]),_0x1d3410[_0x3705bb(0x14e)]&&(_0x1d3410[_0x3705bb(0x135)]=parseInt(_0x1d3410[_0x3705bb(0x14e)],0xa),delete _0x1d3410['max-results']),_0x1d3410[_0x3705bb(0x16b)]&&(_0x1d3410[_0x3705bb(0x124)]=_0x1d3410['output-mode'],delete _0x1d3410['output-mode']),_0x90b002[_0x3705bb(0x17e)](_0x1d3410);}return _0x17e2b4['actions']=_0x90b002,_0x17e2b4['rawContent']=_0x3bde0b[_0x3705bb(0x169)](),this['logger']?.['debug'](_0x3705bb(0x145),{'totalActions':_0x90b002[_0x3705bb(0x170)],'actionTypes':_0x90b002['map'](_0xdc3dfe=>_0xdc3dfe[_0x3705bb(0x150)])}),_0x17e2b4;}catch(_0x5c1fa7){throw new Error('Failed\x20to\x20parse\x20clone\x20detection\x20parameters:\x20'+_0x5c1fa7['message']);}}['getRequiredParameters'](){return['actions'];}['customValidateParameters'](_0xa93f93){const _0x4c206f=a0_0x4a08,_0x5d954b=[];if(!_0xa93f93[_0x4c206f(0x164)]||!Array['isArray'](_0xa93f93[_0x4c206f(0x164)])||_0xa93f93['actions']['length']===0x0)_0x5d954b['push'](_0x4c206f(0x11c));else for(const [_0x4ed9f9,_0x542d3e]of _0xa93f93[_0x4c206f(0x164)][_0x4c206f(0x175)]()){if(!_0x542d3e['type']){_0x5d954b['push'](_0x4c206f(0x17d)+(_0x4ed9f9+0x1)+_0x4c206f(0x151));continue;}_0x542d3e[_0x4c206f(0x150)]===_0x4c206f(0x16e)?(!_0x542d3e[_0x4c206f(0x15e)]&&_0x5d954b['push'](_0x4c206f(0x17d)+(_0x4ed9f9+0x1)+':\x20directory\x20is\x20required\x20for\x20detect-clones'),_0x542d3e['minTokens']!==undefined&&(_0x542d3e[_0x4c206f(0x16a)]<0xa||_0x542d3e['minTokens']>0x3e8)&&_0x5d954b['push']('Action\x20'+(_0x4ed9f9+0x1)+_0x4c206f(0x147)),_0x542d3e[_0x4c206f(0x11f)]!==undefined&&(_0x542d3e[_0x4c206f(0x11f)]<0x1||_0x542d3e['minLines']>0x64)&&_0x5d954b['push']('Action\x20'+(_0x4ed9f9+0x1)+_0x4c206f(0x15c)),_0x542d3e[_0x4c206f(0x141)]!==undefined&&(_0x542d3e[_0x4c206f(0x141)]<0.5||_0x542d3e[_0x4c206f(0x141)]>0x1)&&_0x5d954b['push']('Action\x20'+(_0x4ed9f9+0x1)+':\x20similarity-threshold\x20must\x20be\x20between\x200.5\x20and\x201.0'),_0x542d3e[_0x4c206f(0x16d)]&&![_0x4c206f(0x17a),_0x4c206f(0x12b),_0x4c206f(0x12d)]['includes'](_0x542d3e[_0x4c206f(0x16d)])&&_0x5d954b[_0x4c206f(0x17e)]('Action\x20'+(_0x4ed9f9+0x1)+_0x4c206f(0x131)),_0x542d3e['outputMode']&&!['summary',_0x4c206f(0x130),'recommendations'][_0x4c206f(0x13c)](_0x542d3e['outputMode'])&&_0x5d954b['push']('Action\x20'+(_0x4ed9f9+0x1)+':\x20output-mode\x20must\x20be\x20summary,\x20detailed,\x20or\x20recommendations')):_0x5d954b[_0x4c206f(0x17e)]('Action\x20'+(_0x4ed9f9+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x542d3e['type']);}return{'valid':_0x5d954b[_0x4c206f(0x170)]===0x0,'errors':_0x5d954b};}async[a0_0x27d552(0x139)](_0x21b980,_0x24a757){const _0x46eb0c=a0_0x27d552,{actions:_0x3e303a}=_0x21b980,{projectDir:_0x3b0260,agentId:_0x48ea43,directoryAccess:_0x2db73b}=_0x24a757,_0x599cd7=_0x2db73b||this['directoryAccessManager']['createDirectoryAccess']({'workingDirectory':_0x3b0260||process['cwd'](),'writeEnabledDirectories':[],'readOnlyDirectories':[_0x3b0260||process[_0x46eb0c(0x15b)]()],'restrictToProject':!![]}),_0x2dbed2=this['directoryAccessManager']['getWorkingDirectory'](_0x599cd7),_0x230d7a=[];for(const _0x4bb79e of _0x3e303a){try{if(_0x4bb79e[_0x46eb0c(0x150)]===_0x46eb0c(0x16e)){const _0x28a3ed=await this[_0x46eb0c(0x154)](_0x4bb79e['directory'],_0x2dbed2,_0x599cd7,_0x4bb79e);_0x230d7a['push'](_0x28a3ed);}else throw new Error(_0x46eb0c(0x13b)+_0x4bb79e[_0x46eb0c(0x150)]);}catch(_0x10bd28){this['logger']?.['error']('Clone\x20detection\x20action\x20failed',{'action':_0x4bb79e[_0x46eb0c(0x150)],'error':_0x10bd28[_0x46eb0c(0x140)]}),_0x230d7a['push']({'directory':_0x4bb79e[_0x46eb0c(0x15e)],'error':_0x10bd28[_0x46eb0c(0x140)],'success':![]});}}return{'success':!![],'results':_0x230d7a,'toolUsed':'clonedetection'};}async[a0_0x27d552(0x154)](_0x76b3a2,_0x3febc6,_0x2d4285,_0x1207c8={}){const _0x26aa08=a0_0x27d552,_0x58e908=a0_0x64fb22[_0x26aa08(0x13f)](_0x76b3a2)?a0_0x64fb22['normalize'](_0x76b3a2):a0_0x64fb22['resolve'](_0x3febc6,_0x76b3a2),_0x4d3b5e=this[_0x26aa08(0x129)][_0x26aa08(0x161)](_0x58e908,_0x2d4285);if(!_0x4d3b5e[_0x26aa08(0x148)])throw new Error(_0x26aa08(0x158)+_0x4d3b5e['reason']);try{const _0x3ec8e2=await this[_0x26aa08(0x17b)](),_0x65a443={'minTokens':_0x1207c8[_0x26aa08(0x16a)]||this['defaultMinTokens'],'minLines':_0x1207c8[_0x26aa08(0x11f)]||this[_0x26aa08(0x123)],'similarityThreshold':_0x1207c8['similarityThreshold']||this[_0x26aa08(0x159)],'include':['**/*.js',_0x26aa08(0x155),_0x26aa08(0x174),'**/*.cjs','**/*.ts','**/*.tsx','**/*.vue'],'exclude':[_0x26aa08(0x152),'**/dist/**','**/build/**',_0x26aa08(0x156),_0x26aa08(0x12e)],'maxFileSize':this['maxFileSize']};this[_0x26aa08(0x142)]?.[_0x26aa08(0x134)]('Starting\x20clone\x20detection',{'directory':_0x58e908,'config':_0x65a443});const _0x298cda=await _0x3ec8e2[_0x26aa08(0x12c)](_0x58e908,null);if(!_0x298cda)return{'directory':this['directoryAccessManager']['createRelativePath'](_0x58e908,_0x2d4285),'fullPath':_0x58e908,'success':!![],'summary':{'totalFiles':0x0,'totalClones':0x0,'duplicationPercentage':0x0},'clones':[],'message':'No\x20files\x20found\x20or\x20no\x20clones\x20detected'};let _0x448ed9=_0x298cda['clones'];_0x1207c8[_0x26aa08(0x16d)]&&(_0x448ed9=_0x448ed9['filter'](_0x268e32=>_0x268e32['refactoringAdvice']['priority']===_0x1207c8['priorityFilter']));_0x1207c8['maxResults']&&(_0x448ed9=_0x448ed9['slice'](0x0,_0x1207c8[_0x26aa08(0x135)]));const _0x5b3fa7=_0x1207c8[_0x26aa08(0x124)]||_0x26aa08(0x130);if(_0x5b3fa7==='summary')return this['formatSummaryOutput'](_0x298cda,_0x448ed9,_0x58e908,_0x2d4285);else return _0x5b3fa7==='recommendations'?this['formatRecommendationsOutput'](_0x298cda,_0x448ed9,_0x58e908,_0x2d4285):this['formatDetailedOutput'](_0x298cda,_0x448ed9,_0x58e908,_0x2d4285);}catch(_0x13b29d){throw new Error(_0x26aa08(0x162)+_0x76b3a2+':\x20'+_0x13b29d[_0x26aa08(0x140)]);}}['formatSummaryOutput'](_0x4f0a60,_0x412d60,_0x16e9b3,_0x3e14f3){const _0xdc17de=a0_0x27d552;return{'directory':this['directoryAccessManager'][_0xdc17de(0x167)](_0x16e9b3,_0x3e14f3),'fullPath':_0x16e9b3,'success':!![],'outputMode':_0xdc17de(0x172),'summary':{'totalFiles':_0x4f0a60[_0xdc17de(0x172)][_0xdc17de(0x15f)],'totalClones':_0x4f0a60[_0xdc17de(0x172)]['totalClones'],'duplicatedLines':_0x4f0a60[_0xdc17de(0x172)]['totalDuplicatedLines'],'duplicationPercentage':_0x4f0a60[_0xdc17de(0x172)][_0xdc17de(0x11b)],'priorityCounts':_0x4f0a60[_0xdc17de(0x172)][_0xdc17de(0x157)],'topClones':_0x412d60['slice'](0x0,0x5)['map'](_0x4d51e4=>({'id':_0x4d51e4['id'],'type':_0x4d51e4['type'],'confidence':_0x4d51e4[_0xdc17de(0x17c)],'instances':_0x4d51e4['metrics'][_0xdc17de(0x127)],'lines':_0x4d51e4['metrics']['lineCount'],'priority':_0x4d51e4[_0xdc17de(0x132)][_0xdc17de(0x122)],'strategy':_0x4d51e4['refactoringAdvice']['strategy'],'locations':_0x4d51e4['instances'][_0xdc17de(0x12a)](_0x1293cc=>_0x1293cc[_0xdc17de(0x13d)]+':'+_0x1293cc[_0xdc17de(0x176)]+'-'+_0x1293cc[_0xdc17de(0x177)])}))}};}['formatRecommendationsOutput'](_0x5dd090,_0x5b737c,_0xf19973,_0x752605){const _0x3598ba=a0_0x27d552;return{'directory':this[_0x3598ba(0x129)][_0x3598ba(0x167)](_0xf19973,_0x752605),'fullPath':_0xf19973,'success':!![],'outputMode':'recommendations','summary':{'totalFiles':_0x5dd090[_0x3598ba(0x172)]['totalFiles'],'totalClones':_0x5dd090['summary']['totalClones'],'duplicationPercentage':_0x5dd090[_0x3598ba(0x172)]['duplicationPercentage']},'recommendations':_0x5b737c[_0x3598ba(0x12a)](_0x56f03f=>({'id':_0x56f03f['id'],'priority':_0x56f03f[_0x3598ba(0x132)]['priority'],'strategy':_0x56f03f[_0x3598ba(0x132)][_0x3598ba(0x178)],'suggestedName':_0x56f03f[_0x3598ba(0x132)]['suggestedName'],'reasoning':_0x56f03f['refactoringAdvice']['reasoning'],'effort':_0x56f03f[_0x3598ba(0x132)]['estimatedEffort'],'benefits':_0x56f03f['refactoringAdvice']['benefits'],'steps':_0x56f03f['refactoringAdvice'][_0x3598ba(0x121)],'metrics':{'instances':_0x56f03f[_0x3598ba(0x16f)][_0x3598ba(0x127)],'lines':_0x56f03f[_0x3598ba(0x16f)][_0x3598ba(0x126)],'files':_0x56f03f['metrics']['filesCovered'],'impact':_0x56f03f[_0x3598ba(0x16f)]['impactScore']},'locations':_0x56f03f['instances']['map'](_0x18b424=>({'file':_0x18b424[_0x3598ba(0x13d)],'startLine':_0x18b424['startLine'],'endLine':_0x18b424['endLine']}))}))};}[a0_0x27d552(0x149)](_0x388776,_0x550011,_0x2c2a1c,_0x38691f){const _0x18ffe7=a0_0x27d552;return{'directory':this['directoryAccessManager'][_0x18ffe7(0x167)](_0x2c2a1c,_0x38691f),'fullPath':_0x2c2a1c,'success':!![],'outputMode':'detailed','summary':_0x388776[_0x18ffe7(0x172)],'clones':_0x550011['map'](_0x2278f9=>({..._0x2278f9,'instances':_0x2278f9['instances'][_0x18ffe7(0x12a)](_0x4e7595=>({..._0x4e7595,'code':_0x4e7595[_0x18ffe7(0x120)][_0x18ffe7(0x128)]('\x0a')[_0x18ffe7(0x14d)](0x0,0xa)[_0x18ffe7(0x15d)]('\x0a')+(_0x4e7595['code']['split']('\x0a')['length']>0xa?_0x18ffe7(0x11d):'')}))}))};}async['getCloneDetector'](){const _0x12572b=a0_0x27d552;if(!this['cloneDetector']){const {CloneDetectionTool:_0x2dea53}=await import(_0x12572b(0x13a)),_0x4a920e={'minTokens':this[_0x12572b(0x137)],'minLines':this[_0x12572b(0x123)],'similarityThreshold':this['defaultSimilarityThreshold'],'include':[_0x12572b(0x125),'**/*.jsx',_0x12572b(0x13e),_0x12572b(0x133),'**/*.vue'],'exclude':['**/node_modules/**','**/dist/**',_0x12572b(0x168)],'maxFileSize':this['maxFileSize']};this['cloneDetector']=new _0x2dea53(_0x4a920e),this['logger']?.[_0x12572b(0x173)]('Clone\x20detector\x20initialized',{'config':_0x4a920e});}return this['cloneDetector'];}[a0_0x27d552(0x153)](){return['detect-clones'];}['getParameterSchema'](){const _0x83525e=a0_0x27d552;return{'type':'object','properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':'object','properties':{'type':{'type':_0x83525e(0x180),'enum':this['getSupportedActions']()},'directory':{'type':_0x83525e(0x180)},'minTokens':{'type':_0x83525e(0x11e),'minimum':0xa,'maximum':0x3e8},'minLines':{'type':_0x83525e(0x11e),'minimum':0x1,'maximum':0x64},'similarityThreshold':{'type':'number','minimum':0.5,'maximum':0x1},'priorityFilter':{'type':_0x83525e(0x180),'enum':[_0x83525e(0x17a),_0x83525e(0x12b),'low']},'maxResults':{'type':_0x83525e(0x11e),'minimum':0x1},'outputMode':{'type':'string','enum':[_0x83525e(0x172),_0x83525e(0x130),'recommendations']}},'required':[_0x83525e(0x150),_0x83525e(0x15e)]}}},'required':[_0x83525e(0x164)]};}}export default CloneDetectionTool;
1
+ const a0_0x45eb83=a0_0x2ca9;(function(_0x5678fd,_0x23e93b){const _0x4ede19=a0_0x2ca9,_0x4bc0c9=_0x5678fd();while(!![]){try{const _0x4cee1a=parseInt(_0x4ede19(0x10c))/0x1+parseInt(_0x4ede19(0xea))/0x2*(parseInt(_0x4ede19(0xb6))/0x3)+-parseInt(_0x4ede19(0xc7))/0x4*(parseInt(_0x4ede19(0xe4))/0x5)+parseInt(_0x4ede19(0xb2))/0x6*(parseInt(_0x4ede19(0xe2))/0x7)+parseInt(_0x4ede19(0xd5))/0x8+-parseInt(_0x4ede19(0xac))/0x9*(parseInt(_0x4ede19(0xcc))/0xa)+-parseInt(_0x4ede19(0xef))/0xb;if(_0x4cee1a===_0x23e93b)break;else _0x4bc0c9['push'](_0x4bc0c9['shift']());}catch(_0x37a3b8){_0x4bc0c9['push'](_0x4bc0c9['shift']());}}}(a0_0x1ff0,0xc8ae8));import{BaseTool}from'./baseTool.js';import a0_0x1abae8 from'../utilities/tagParser.js';import a0_0x325904 from'../utilities/directoryAccessManager.js';import a0_0x434eb5 from'path';function a0_0x1ff0(){const _0x3aa1a9=['Dg90ywXeDxbSAwnHDgvKtgLUzxm','CMvJB21Tzw5KyxrPB25Z','C3vIC3rYAw5N','Aw1Wywn0u2nVCMu','mJKYmK9czhvNwG','CgfYC2vqyxjHBwv0zxjZ','kIOVkI50C3G','zw5KtgLUzq','mtvnC2P4B04','C3rYyxrLz3K','kIOVzgLZDc8QkG','kIOVyNvPBgqVkIO','BwLUvg9Rzw5Z','zM9YBwf0uMvJB21Tzw5KyxrPB25Zt3v0Chv0','BgLUzunVDw50','ChjPB3jPDhK','zhvWBgLJyxrPB25qzxjJzw50ywDL','yxjYyxK','zgvMyxvSDfnPBwLSyxjPDhLuAhjLC2HVBgq','B2jQzwn0','ywXSB3DLza','Aw5ZDgfUy2vZ','BwLUlwXPBMvZ','Bg93','BwLUtgLUzxm','mJq2ohPYq2XIta','zgv0zwn0q2XVBMvZ','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','AM9PBG','qwn0Aw9Uia','mteWC3jOAePZ','z2v0ugfYyw1LDgvYu2nOzw1H','CMvHC29UAw5N','q2XVBMuGzgv0zwn0Aw9UigfJDgLVBIbMywLSzwq','ChvZAa','z2v0u3vWCg9YDgvKqwn0Aw9UCW','DhLWzq','zMLSDgvY','B3v0Chv0tw9Kzq','mtiXndGYodb2D2PxELO','yMvUzwzPDhm','zgvIDwC','kIOVkI50zxn0lMPZ','q2XVBMuGzgv0zwn0B3iGAw5PDgLHBgL6zwq','y29Kzq','BwLUlxrVA2vUCW','DhjPBq','oIbTAw4TBgLUzxmGBxvZDcbIzsbIzxr3zwvUideGyw5KideWma','C3bSAxq','oIbWCMLVCML0Es1MAwX0zxiGBxvZDcbIzsbOAwDOlcbTzwrPDw0Sig9YigXVDW','z2v0v29YA2LUz0rPCMvJDg9YEq','C2LTAwXHCML0EvrOCMvZAg9Sza','mtq5ntLhDeDwCMi','ChjPB3jPDhLgAwX0zxi','mtu2nxHIt3nAvq','C3vTBwfYEq','Aw5JBhvKzxm','oIbZAw1PBgfYAxr5lxrOCMvZAg9SzcbTDxn0igjLigjLDhDLzw4Gmc41igfUzcaXlJa','AxnbC3LUyW','BgvUz3rO','mZCZodCWD0D4y0rm','DMfSAwrHDgvszwfKqwnJzxnZ','kIOVkI5JANm','rMfPBgvKihrVigrLDgvJDcbJBg9UzxmGAw4G','Bwf4lxjLC3vSDhm','mZu2odCXnJHYuhbkr1K','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','C2LTAwXHCML0Es10AhjLC2HVBgq','y2XVBMvKzxrLy3rPB24','kIOVkI5QC3G','u3rHCNrPBMCGy2XVBMuGzgv0zwn0Aw9U','zMLSzq','y2XVBMvezxrLy3rVCG','B3v0Chv0lw1Vzgu','CMvHC29U','zgLYzwn0B3j5','zgv0zwn0lwnSB25LCW','ChjPB3jPDhLdB3vUDhm','Dg90ywXdBg9Uzxm','Bwv0CMLJCW','kIOVBM9Kzv9TB2r1BgvZlYOQ','oIb0ExbLigLZihjLCxvPCMvK','Bg9Nz2vY','CNvU','AgLNAa','ywn0Aw9UCW','zM9YBwf0rgv0ywLSzwrpDxrWDxq','zMLSzxndB3zLCMvK','Bwf4uMvZDwX0CW','ChjPB3jPDhKTzMLSDgvY','zgvMyxvSDe1PBLrVA2vUCW','BwfW','zgvMyxvSDe1PBKXPBMvZ','BwvKAxvT','mtu2mJeWm1fVrNLxsG','C3rHCNrmAw5L','Aw5ZDgfUy2vdB3vUDa','CMvMywn0B3jPBMDbzhzPy2u','y3jLyxrLuMvSyxrPDMvqyxrO','C3rYAw5N','Bwf4rMLSzvnPEMu','vw5RBM93BIbHy3rPB24GDhLWztOG','kIOVkI5QCW','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','zw50CMLLCW','BNvTyMvY','z2v0q2XVBMvezxrLy3rVCG','y3DK','zgv0ywLSzwq','zM9YBwf0u3vTBwfYEu91Dhb1Da','nJuXnZG5vgryuKzz','y2XVBMvZ'];a0_0x1ff0=function(){return _0x3aa1a9;};return a0_0x1ff0();}function a0_0x2ca9(_0x275f8b,_0x2bcadf){_0x275f8b=_0x275f8b-0xa2;const _0x1ff0be=a0_0x1ff0();let _0x2ca956=_0x1ff0be[_0x275f8b];if(a0_0x2ca9['vkUlMB']===undefined){var _0x314890=function(_0x54fb6f){const _0x1366d5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1abae8='',_0x325904='';for(let _0x434eb5=0x0,_0x200c3b,_0x53b209,_0x47663b=0x0;_0x53b209=_0x54fb6f['charAt'](_0x47663b++);~_0x53b209&&(_0x200c3b=_0x434eb5%0x4?_0x200c3b*0x40+_0x53b209:_0x53b209,_0x434eb5++%0x4)?_0x1abae8+=String['fromCharCode'](0xff&_0x200c3b>>(-0x2*_0x434eb5&0x6)):0x0){_0x53b209=_0x1366d5['indexOf'](_0x53b209);}for(let _0x8f3ebf=0x0,_0x49b80a=_0x1abae8['length'];_0x8f3ebf<_0x49b80a;_0x8f3ebf++){_0x325904+='%'+('00'+_0x1abae8['charCodeAt'](_0x8f3ebf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x325904);};a0_0x2ca9['GojswF']=_0x314890,a0_0x2ca9['UpsTZe']={},a0_0x2ca9['vkUlMB']=!![];}const _0x3a1418=_0x1ff0be[0x0],_0x117537=_0x275f8b+_0x3a1418,_0x25306a=a0_0x2ca9['UpsTZe'][_0x117537];return!_0x25306a?(_0x2ca956=a0_0x2ca9['GojswF'](_0x2ca956),a0_0x2ca9['UpsTZe'][_0x117537]=_0x2ca956):_0x2ca956=_0x25306a,_0x2ca956;}import{TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class CloneDetectionTool extends BaseTool{constructor(_0x200c3b={},_0x53b209=null){const _0xc05f1d=a0_0x2ca9;super(_0x200c3b,_0x53b209),this['requiresProject']=!![],this[_0xc05f1d(0xe8)]=![],this['timeout']=_0x200c3b['timeout']||0x1d4c0,this[_0xc05f1d(0xf0)]=_0x200c3b['maxConcurrentOperations']||0x1,this['defaultMinTokens']=_0x200c3b[_0xc05f1d(0x108)]||0x32,this[_0xc05f1d(0x10a)]=_0x200c3b['defaultMinLines']||0x5,this['defaultSimilarityThreshold']=_0x200c3b['defaultSimilarityThreshold']||0.85,this['maxFileSize']=_0x200c3b[_0xc05f1d(0xa2)]||0x7a120,this['directoryAccessManager']=new a0_0x325904(_0x200c3b,_0x53b209),this[_0xc05f1d(0xf6)]=null;}['getDescription'](){return'\x0aCode\x20Clone\x20Detection\x20Tool:\x20Find\x20duplicated\x20code\x20for\x20refactoring\x20opportunities\x0a\x0aThis\x20tool\x20identifies\x20exact\x20and\x20similar\x20code\x20patterns\x20(code\x20clones)\x20across\x20your\x20codebase\x20to\x20help\x20reduce\x20duplication,\x20improve\x20maintainability,\x20and\x20identify\x20refactoring\x20opportunities.\x0a\x0aWHAT\x20IT\x20DETECTS:\x0a-\x20Exact\x20Clones\x20(Type\x201):\x20Identical\x20code\x20with\x20different\x20formatting/comments\x0a-\x20Similar\x20Clones\x20(Type\x202/3):\x20Structurally\x20similar\x20code\x20with\x20minor\x20variations\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Vue\x20(.vue)\x0a\x0aUSAGE\x20-\x20XML\x20FORMAT:\x0a\x0aDetect\x20clones\x20in\x20entire\x20directory:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20/>\x0a[/tool]\x0a\x0aDetect\x20clones\x20in\x20specific\x20directory:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22src/services\x22\x20/>\x0a[/tool]\x0a\x0aCustom\x20sensitivity\x20(lower\x20minTokens\x20=\x20more\x20sensitive):\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22src\x22\x20min-tokens=\x2230\x22\x20min-lines=\x225\x22\x20/>\x0a[/tool]\x0a\x0aFilter\x20by\x20priority:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20priority-filter=\x22high\x22\x20max-results=\x225\x22\x20/>\x0a[/tool]\x0a\x0aGet\x20summary\x20only:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20output-mode=\x22summary\x22\x20/>\x0a[/tool]\x0a\x0aUSAGE\x20-\x20JSON\x20FORMAT:\x0a\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22clonedetection\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22detect-clones\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22minTokens\x22:\x2050,\x0a\x20\x20\x20\x20\x20\x20\x22minLines\x22:\x205,\x0a\x20\x20\x20\x20\x20\x20\x22similarityThreshold\x22:\x200.85,\x0a\x20\x20\x20\x20\x20\x20\x22priorityFilter\x22:\x20\x22high\x22,\x0a\x20\x20\x20\x20\x20\x20\x22maxResults\x22:\x2010,\x0a\x20\x20\x20\x20\x20\x20\x22outputMode\x22:\x20\x22summary\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(required)\x0a-\x20min-tokens:\x20Minimum\x20token\x20count\x20(default:\x2050,\x20lower\x20=\x20more\x20sensitive)\x0a-\x20min-lines:\x20Minimum\x20line\x20count\x20(default:\x205)\x0a-\x20similarity-threshold:\x200-1\x20similarity\x20threshold\x20(default:\x200.85)\x0a-\x20priority-filter:\x20Filter\x20by\x20priority\x20(high/medium/low,\x20optional)\x0a-\x20max-results:\x20Maximum\x20number\x20of\x20clones\x20to\x20return\x20(optional)\x0a-\x20output-mode:\x20summary|detailed|recommendations\x20(default:\x20detailed)\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20clone\x20detection\x20results\x20with:\x0a-\x20summary:\x20Overall\x20statistics\x20(total\x20clones,\x20duplication\x20%,\x20priority\x20breakdown)\x0a-\x20clones:\x20Array\x20of\x20detected\x20clone\x20groups\x0a\x20\x20-\x20id:\x20Clone\x20identifier\x0a\x20\x20-\x20type:\x20exact\x20|\x20similar\x0a\x20\x20-\x20confidence:\x20Detection\x20confidence\x20(0-1)\x0a\x20\x20-\x20instances:\x20Array\x20of\x20code\x20locations\x20with\x20file\x20paths\x20and\x20line\x20numbers\x0a\x20\x20-\x20metrics:\x20tokenCount,\x20lineCount,\x20instanceCount,\x20impactScore,\x20filesCovered\x0a\x20\x20-\x20refactoringAdvice:\x0a\x20\x20\x20\x20-\x20priority:\x20high\x20|\x20medium\x20|\x20low\x0a\x20\x20\x20\x20-\x20strategy:\x20extract-function\x20|\x20extract-class\x20|\x20extract-module\x20|\x20extract-constant\x0a\x20\x20\x20\x20-\x20suggestedName:\x20Recommended\x20name\x20for\x20extracted\x20code\x0a\x20\x20\x20\x20-\x20reasoning:\x20Why\x20this\x20refactoring\x20is\x20recommended\x0a\x20\x20\x20\x20-\x20estimatedEffort:\x20low\x20|\x20medium\x20|\x20high\x0a\x20\x20\x20\x20-\x20benefits:\x20Array\x20of\x20benefits\x0a\x20\x20\x20\x20-\x20actionableSteps:\x20Step-by-step\x20refactoring\x20instructions\x0a\x0aOUTPUT\x20MODES:\x0a-\x20summary:\x20High-level\x20overview\x20only\x20(duplication\x20%,\x20top\x205\x20clones)\x0a-\x20detailed:\x20Full\x20clone\x20details\x20with\x20code\x20snippets\x20(default)\x0a-\x20recommendations:\x20Refactoring\x20priorities\x20with\x20actionable\x20steps\x0a\x0aDETECTION\x20ALGORITHM:\x0a-\x20Uses\x20AST\x20(Abstract\x20Syntax\x20Tree)\x20parsing\x20via\x20Babel\x0a-\x20Token-based\x20similarity\x20with\x20normalization\x0a-\x20Longest\x20Common\x20Subsequence\x20(LCS)\x20algorithm\x20for\x20similarity\x0a-\x20Configurable\x20sensitivity\x20and\x20thresholds\x0a\x0aEXAMPLES:\x0a\x0aFind\x20all\x20clones\x20in\x20project:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20/>\x0a[/tool]\x0a\x0aHigh-priority\x20refactoring\x20opportunities\x20only:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22src\x22\x20priority-filter=\x22high\x22\x20max-results=\x2210\x22\x20/>\x0a[/tool]\x0a\x0aMore\x20sensitive\x20detection\x20(finds\x20smaller\x20clones):\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20min-tokens=\x2230\x22\x20similarity-threshold=\x220.80\x22\x20/>\x0a[/tool]\x0a\x0aQuick\x20overview:\x0a[tool\x20id=\x22clonedetection\x22]\x0a<detect-clones\x20directory=\x22.\x22\x20output-mode=\x22summary\x22\x20/>\x0a[/tool]\x0a\x0aLIMITATIONS:\x0a-\x20Analyzes\x20JavaScript/TypeScript\x20family\x20only\x0a-\x20Performance\x20depends\x20on\x20codebase\x20size\x20(500ms\x20per\x20file\x20typical)\x0a-\x20Maximum\x20file\x20size:\x20'+Math['round'](this['maxFileSize']/0x400)+'KB\x20per\x20file\x0a-\x20Analysis\x20timeout:\x20'+this['timeout']/0x3e8+'\x20seconds\x0a\x0aUSE\x20CASES:\x0a-\x20Identify\x20refactoring\x20opportunities\x20before\x20code\x20review\x0a-\x20Track\x20technical\x20debt\x20and\x20code\x20duplication\x20metrics\x0a-\x20Find\x20candidates\x20for\x20DRY\x20(Don\x27t\x20Repeat\x20Yourself)\x20refactoring\x0a-\x20Prioritize\x20maintenance\x20work\x20by\x20impact\x20score\x0a\x20\x20\x20\x20';}[a0_0x45eb83(0xb3)](_0x47663b){const _0x5b93d8=a0_0x45eb83;try{const _0x8f3ebf={},_0x49b80a=[];this[_0x5b93d8(0x100)]?.['debug']('CloneDetection\x20tool\x20parsing\x20parameters',{'contentLength':_0x47663b['length'],'contentPreview':_0x47663b[_0x5b93d8(0xb0)](0x0,0xc8)});const _0x1aaf6c=/<detect-clones\s+(.+?)\/>/g;let _0x171654;while((_0x171654=_0x1aaf6c['exec'](_0x47663b))!==null){const _0x1f63e6=_0x171654[0x1][_0x5b93d8(0xdc)](),_0x4ab39f=new a0_0x1abae8(),_0x1e965f=_0x4ab39f['parseAttributes'](_0x1f63e6),_0x366821={'type':'detect-clones',..._0x1e965f};_0x366821[_0x5b93d8(0xdb)]&&(_0x366821[_0x5b93d8(0xba)]=parseInt(_0x366821['min-tokens'],0xa),delete _0x366821['min-tokens']),_0x366821['min-lines']&&(_0x366821['minLines']=parseInt(_0x366821[_0x5b93d8(0xc4)],0xa),delete _0x366821[_0x5b93d8(0xc4)]),_0x366821['similarity-threshold']&&(_0x366821['similarityThreshold']=parseFloat(_0x366821['similarity-threshold']),delete _0x366821[_0x5b93d8(0xf1)]),_0x366821[_0x5b93d8(0x107)]&&(_0x366821[_0x5b93d8(0xe3)]=_0x366821[_0x5b93d8(0x107)],delete _0x366821['priority-filter']),_0x366821['max-results']&&(_0x366821[_0x5b93d8(0x106)]=parseInt(_0x366821[_0x5b93d8(0xee)],0xa),delete _0x366821['max-results']),_0x366821['output-mode']&&(_0x366821['outputMode']=_0x366821[_0x5b93d8(0xf7)],delete _0x366821[_0x5b93d8(0xf7)]),_0x49b80a['push'](_0x366821);}return _0x8f3ebf[_0x5b93d8(0x103)]=_0x49b80a,_0x8f3ebf['rawContent']=_0x47663b[_0x5b93d8(0xdc)](),this[_0x5b93d8(0x100)]?.[_0x5b93d8(0xd7)]('Parsed\x20CloneDetection\x20tool\x20parameters',{'totalActions':_0x49b80a[_0x5b93d8(0xe9)],'actionTypes':_0x49b80a['map'](_0x496fe2=>_0x496fe2[_0x5b93d8(0xd2)])}),_0x8f3ebf;}catch(_0x1dd94c){throw new Error('Failed\x20to\x20parse\x20clone\x20detection\x20parameters:\x20'+_0x1dd94c['message']);}}['getRequiredParameters'](){return['actions'];}['customValidateParameters'](_0x4b7461){const _0x5645d2=a0_0x45eb83,_0x576102=[];if(!_0x4b7461['actions']||!Array['isArray'](_0x4b7461['actions'])||_0x4b7461[_0x5645d2(0x103)]['length']===0x0)_0x576102['push']('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x571a8e,_0x1a0866]of _0x4b7461['actions'][_0x5645d2(0xa6)]()){if(!_0x1a0866[_0x5645d2(0xd2)]){_0x576102['push']('Action\x20'+(_0x571a8e+0x1)+_0x5645d2(0xff));continue;}_0x1a0866[_0x5645d2(0xd2)]==='detect-clones'?(!_0x1a0866['directory']&&_0x576102[_0x5645d2(0xd0)](_0x5645d2(0xcb)+(_0x571a8e+0x1)+':\x20directory\x20is\x20required\x20for\x20detect-clones'),_0x1a0866['minTokens']!==undefined&&(_0x1a0866['minTokens']<0xa||_0x1a0866[_0x5645d2(0xba)]>0x3e8)&&_0x576102[_0x5645d2(0xd0)]('Action\x20'+(_0x571a8e+0x1)+':\x20min-tokens\x20must\x20be\x20between\x2010\x20and\x201000'),_0x1a0866['minLines']!==undefined&&(_0x1a0866['minLines']<0x1||_0x1a0866[_0x5645d2(0xc6)]>0x64)&&_0x576102['push']('Action\x20'+(_0x571a8e+0x1)+_0x5645d2(0xdd)),_0x1a0866[_0x5645d2(0xe1)]!==undefined&&(_0x1a0866[_0x5645d2(0xe1)]<0.5||_0x1a0866[_0x5645d2(0xe1)]>0x1)&&_0x576102[_0x5645d2(0xd0)](_0x5645d2(0xcb)+(_0x571a8e+0x1)+_0x5645d2(0xe7)),_0x1a0866[_0x5645d2(0xe3)]&&![_0x5645d2(0x102),_0x5645d2(0x10b),_0x5645d2(0xc5)][_0x5645d2(0xe6)](_0x1a0866['priorityFilter'])&&_0x576102[_0x5645d2(0xd0)]('Action\x20'+(_0x571a8e+0x1)+_0x5645d2(0xdf)),_0x1a0866[_0x5645d2(0xd4)]&&!['summary',_0x5645d2(0xaa),'recommendations']['includes'](_0x1a0866[_0x5645d2(0xd4)])&&_0x576102[_0x5645d2(0xd0)]('Action\x20'+(_0x571a8e+0x1)+':\x20output-mode\x20must\x20be\x20summary,\x20detailed,\x20or\x20recommendations')):_0x576102['push']('Action\x20'+(_0x571a8e+0x1)+_0x5645d2(0xc9)+_0x1a0866['type']);}return{'valid':_0x576102[_0x5645d2(0xe9)]===0x0,'errors':_0x576102};}async['execute'](_0x43d48c,_0x21caac){const _0x1db4a9=a0_0x45eb83,{actions:_0x14e4cc}=_0x43d48c,{projectDir:_0x4ae05c,agentId:_0x5b1a8a,directoryAccess:_0x57b634}=_0x21caac,_0x5b202b=_0x57b634||this['directoryAccessManager']['createDirectoryAccess']({'workingDirectory':_0x4ae05c||process['cwd'](),'writeEnabledDirectories':[],'readOnlyDirectories':[_0x4ae05c||process[_0x1db4a9(0xa9)]()],'restrictToProject':!![]}),_0x4ff467=this['directoryAccessManager'][_0x1db4a9(0xe0)](_0x5b202b),_0x3e461f=[];for(const _0x5b0d27 of _0x14e4cc){try{if(_0x5b0d27[_0x1db4a9(0xd2)]===_0x1db4a9(0xfa)){const _0x1e1d66=await this[_0x1db4a9(0xc8)](_0x5b0d27[_0x1db4a9(0xf9)],_0x4ff467,_0x5b202b,_0x5b0d27);_0x3e461f['push'](_0x1e1d66);}else throw new Error(_0x1db4a9(0xa3)+_0x5b0d27['type']);}catch(_0x999ac3){this[_0x1db4a9(0x100)]?.['error'](_0x1db4a9(0xcf),{'action':_0x5b0d27[_0x1db4a9(0xd2)],'error':_0x999ac3['message']}),_0x3e461f['push']({'directory':_0x5b0d27[_0x1db4a9(0xf9)],'error':_0x999ac3['message'],'success':![]});}}return{'success':!![],'results':_0x3e461f,'toolUsed':_0x1db4a9(0xf2)};}async['detectClones'](_0x58fc85,_0x1cb070,_0x2198ff,_0x58faa7={}){const _0x109e83=a0_0x45eb83,_0x111384=a0_0x434eb5['isAbsolute'](_0x58fc85)?a0_0x434eb5['normalize'](_0x58fc85):a0_0x434eb5['resolve'](_0x1cb070,_0x58fc85),_0x90a993=this['directoryAccessManager'][_0x109e83(0xeb)](_0x111384,_0x2198ff);if(!_0x90a993[_0x109e83(0xc2)])throw new Error('Read\x20access\x20denied:\x20'+_0x90a993[_0x109e83(0xf8)]);try{const _0x189ca5=await this[_0x109e83(0xa8)](),_0x5d34a1={'minTokens':_0x58faa7[_0x109e83(0xba)]||this['defaultMinTokens'],'minLines':_0x58faa7[_0x109e83(0xc6)]||this['defaultMinLines'],'similarityThreshold':_0x58faa7['similarityThreshold']||this[_0x109e83(0xc0)],'include':[_0x109e83(0xa4),'**/*.jsx','**/*.mjs',_0x109e83(0xec),'**/*.ts',_0x109e83(0xb4),'**/*.vue'],'exclude':[_0x109e83(0xfe),_0x109e83(0xb8),_0x109e83(0xb9),_0x109e83(0xd8),'**/*.spec.js'],'maxFileSize':this['maxFileSize']};this['logger']?.['info'](_0x109e83(0xf4),{'directory':_0x111384,'config':_0x5d34a1});const _0x86c66e=await _0x189ca5[_0x109e83(0x101)](_0x111384,null);if(!_0x86c66e)return{'directory':this[_0x109e83(0xa5)][_0x109e83(0x110)](_0x111384,_0x2198ff),'fullPath':_0x111384,'success':!![],'summary':{'totalFiles':0x0,'totalClones':0x0,'duplicationPercentage':0x0},'clones':[],'message':'No\x20files\x20found\x20or\x20no\x20clones\x20detected'};let _0x4933e6=_0x86c66e[_0x109e83(0xad)];_0x58faa7[_0x109e83(0xe3)]&&(_0x4933e6=_0x4933e6[_0x109e83(0xd3)](_0x1a0343=>_0x1a0343['refactoringAdvice'][_0x109e83(0xbd)]===_0x58faa7[_0x109e83(0xe3)]));_0x58faa7[_0x109e83(0x106)]&&(_0x4933e6=_0x4933e6['slice'](0x0,_0x58faa7[_0x109e83(0x106)]));const _0x4f7b0d=_0x58faa7['outputMode']||'detailed';if(_0x4f7b0d===_0x109e83(0xe5))return this['formatSummaryOutput'](_0x86c66e,_0x4933e6,_0x111384,_0x2198ff);else return _0x4f7b0d===_0x109e83(0xaf)?this['formatRecommendationsOutput'](_0x86c66e,_0x4933e6,_0x111384,_0x2198ff):this[_0x109e83(0x104)](_0x86c66e,_0x4933e6,_0x111384,_0x2198ff);}catch(_0x1ca8b8){throw new Error(_0x109e83(0xed)+_0x58fc85+':\x20'+_0x1ca8b8['message']);}}[a0_0x45eb83(0xab)](_0x366dd2,_0x764643,_0x45eba8,_0x1be8da){const _0x4a44d5=a0_0x45eb83;return{'directory':this[_0x4a44d5(0xa5)][_0x4a44d5(0x110)](_0x45eba8,_0x1be8da),'fullPath':_0x45eba8,'success':!![],'outputMode':'summary','summary':{'totalFiles':_0x366dd2[_0x4a44d5(0xe5)]['totalFiles'],'totalClones':_0x366dd2['summary'][_0x4a44d5(0xfc)],'duplicatedLines':_0x366dd2[_0x4a44d5(0xe5)][_0x4a44d5(0xae)],'duplicationPercentage':_0x366dd2[_0x4a44d5(0xe5)][_0x4a44d5(0xbe)],'priorityCounts':_0x366dd2[_0x4a44d5(0xe5)][_0x4a44d5(0xfb)],'topClones':_0x764643['slice'](0x0,0x5)['map'](_0x5a1e1c=>({'id':_0x5a1e1c['id'],'type':_0x5a1e1c['type'],'confidence':_0x5a1e1c['confidence'],'instances':_0x5a1e1c['metrics']['instanceCount'],'lines':_0x5a1e1c[_0x4a44d5(0xfd)][_0x4a44d5(0xbc)],'priority':_0x5a1e1c[_0x4a44d5(0x10f)][_0x4a44d5(0xbd)],'strategy':_0x5a1e1c[_0x4a44d5(0x10f)][_0x4a44d5(0xb7)],'locations':_0x5a1e1c['instances']['map'](_0x14b0d5=>_0x14b0d5['file']+':'+_0x14b0d5[_0x4a44d5(0x10d)]+'-'+_0x14b0d5['endLine'])}))}};}[a0_0x45eb83(0xbb)](_0x1d3b6d,_0x3f0696,_0x82a481,_0x55ef9c){const _0x3ebc18=a0_0x45eb83;return{'directory':this[_0x3ebc18(0xa5)]['createRelativePath'](_0x82a481,_0x55ef9c),'fullPath':_0x82a481,'success':!![],'outputMode':'recommendations','summary':{'totalFiles':_0x1d3b6d['summary']['totalFiles'],'totalClones':_0x1d3b6d['summary']['totalClones'],'duplicationPercentage':_0x1d3b6d['summary']['duplicationPercentage']},'recommendations':_0x3f0696[_0x3ebc18(0x109)](_0x38d8f8=>({'id':_0x38d8f8['id'],'priority':_0x38d8f8['refactoringAdvice']['priority'],'strategy':_0x38d8f8[_0x3ebc18(0x10f)][_0x3ebc18(0xb7)],'suggestedName':_0x38d8f8['refactoringAdvice']['suggestedName'],'reasoning':_0x38d8f8['refactoringAdvice'][_0x3ebc18(0xce)],'effort':_0x38d8f8[_0x3ebc18(0x10f)]['estimatedEffort'],'benefits':_0x38d8f8[_0x3ebc18(0x10f)][_0x3ebc18(0xd6)],'steps':_0x38d8f8[_0x3ebc18(0x10f)]['actionableSteps'],'metrics':{'instances':_0x38d8f8[_0x3ebc18(0xfd)][_0x3ebc18(0x10e)],'lines':_0x38d8f8['metrics']['lineCount'],'files':_0x38d8f8[_0x3ebc18(0xfd)][_0x3ebc18(0x105)],'impact':_0x38d8f8['metrics'][_0x3ebc18(0xb1)]},'locations':_0x38d8f8['instances']['map'](_0x5f11cb=>({'file':_0x5f11cb[_0x3ebc18(0xf5)],'startLine':_0x5f11cb['startLine'],'endLine':_0x5f11cb[_0x3ebc18(0xb5)]}))}))};}[a0_0x45eb83(0x104)](_0x248a07,_0x31e3e0,_0x1d69a1,_0x864fbc){const _0x13555b=a0_0x45eb83;return{'directory':this['directoryAccessManager']['createRelativePath'](_0x1d69a1,_0x864fbc),'fullPath':_0x1d69a1,'success':!![],'outputMode':'detailed','summary':_0x248a07['summary'],'clones':_0x31e3e0[_0x13555b(0x109)](_0x5668c4=>({..._0x5668c4,'instances':_0x5668c4[_0x13555b(0xc3)][_0x13555b(0x109)](_0x13cd36=>({..._0x13cd36,'code':_0x13cd36[_0x13555b(0xda)][_0x13555b(0xde)]('\x0a')['slice'](0x0,0xa)[_0x13555b(0xca)]('\x0a')+(_0x13cd36[_0x13555b(0xda)][_0x13555b(0xde)]('\x0a')[_0x13555b(0xe9)]>0xa?'\x0a...\x20(truncated)':'')}))}))};}async['getCloneDetector'](){const _0x46ae03=a0_0x45eb83;if(!this[_0x46ae03(0xf6)]){const {CloneDetectionTool:_0x5d33b8}=await import('../analyzers/codeCloneDetector/index.js'),_0x1d18bd={'minTokens':this[_0x46ae03(0x108)],'minLines':this[_0x46ae03(0x10a)],'similarityThreshold':this[_0x46ae03(0xc0)],'include':[_0x46ae03(0xa4),_0x46ae03(0xf3),'**/*.ts',_0x46ae03(0xb4),'**/*.vue'],'exclude':[_0x46ae03(0xfe),'**/dist/**',_0x46ae03(0xb9)],'maxFileSize':this['maxFileSize']};this['cloneDetector']=new _0x5d33b8(_0x1d18bd),this[_0x46ae03(0x100)]?.[_0x46ae03(0xd7)](_0x46ae03(0xd9),{'config':_0x1d18bd});}return this['cloneDetector'];}[a0_0x45eb83(0xd1)](){const _0x45d128=a0_0x45eb83;return[_0x45d128(0xfa)];}[a0_0x45eb83(0xcd)](){const _0xbe5340=a0_0x45eb83;return{'type':_0xbe5340(0xc1),'properties':{'actions':{'type':_0xbe5340(0xbf),'minItems':0x1,'items':{'type':_0xbe5340(0xc1),'properties':{'type':{'type':_0xbe5340(0x111),'enum':this['getSupportedActions']()},'directory':{'type':'string'},'minTokens':{'type':_0xbe5340(0xa7),'minimum':0xa,'maximum':0x3e8},'minLines':{'type':'number','minimum':0x1,'maximum':0x64},'similarityThreshold':{'type':_0xbe5340(0xa7),'minimum':0.5,'maximum':0x1},'priorityFilter':{'type':_0xbe5340(0x111),'enum':['high',_0xbe5340(0x10b),_0xbe5340(0xc5)]},'maxResults':{'type':_0xbe5340(0xa7),'minimum':0x1},'outputMode':{'type':'string','enum':['summary','detailed',_0xbe5340(0xaf)]}},'required':[_0xbe5340(0xd2),'directory']}}},'required':['actions']};}}export default CloneDetectionTool;
@@ -1 +1 @@
1
- const a0_0x3ca43f=a0_0xcdb4;(function(_0x21fbe4,_0x1cd27e){const _0x292f67=a0_0xcdb4,_0xcb4214=_0x21fbe4();while(!![]){try{const _0x356cc6=parseInt(_0x292f67(0xb8))/0x1*(-parseInt(_0x292f67(0xb1))/0x2)+-parseInt(_0x292f67(0x9c))/0x3*(-parseInt(_0x292f67(0xc5))/0x4)+parseInt(_0x292f67(0xbb))/0x5*(parseInt(_0x292f67(0xae))/0x6)+-parseInt(_0x292f67(0xad))/0x7*(-parseInt(_0x292f67(0xa0))/0x8)+parseInt(_0x292f67(0x9e))/0x9*(parseInt(_0x292f67(0xe0))/0xa)+parseInt(_0x292f67(0x94))/0xb+-parseInt(_0x292f67(0xb3))/0xc*(parseInt(_0x292f67(0xec))/0xd);if(_0x356cc6===_0x1cd27e)break;else _0xcb4214['push'](_0xcb4214['shift']());}catch(_0x3cdde8){_0xcb4214['push'](_0xcb4214['shift']());}}}(a0_0x27e8,0xbffc8));import{promises as a0_0x58f77b}from'fs';import a0_0x171250 from'path';function a0_0xcdb4(_0x4a5477,_0xb599b0){_0x4a5477=_0x4a5477-0x80;const _0x27e827=a0_0x27e8();let _0xcdb430=_0x27e827[_0x4a5477];if(a0_0xcdb4['aGlLoi']===undefined){var _0x3aed3b=function(_0x5892bf){const _0x5d9768='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58f77b='',_0x171250='';for(let _0xf38af0=0x0,_0x1429d4,_0x57a73d,_0x49c23e=0x0;_0x57a73d=_0x5892bf['charAt'](_0x49c23e++);~_0x57a73d&&(_0x1429d4=_0xf38af0%0x4?_0x1429d4*0x40+_0x57a73d:_0x57a73d,_0xf38af0++%0x4)?_0x58f77b+=String['fromCharCode'](0xff&_0x1429d4>>(-0x2*_0xf38af0&0x6)):0x0){_0x57a73d=_0x5d9768['indexOf'](_0x57a73d);}for(let _0x297831=0x0,_0x26b04f=_0x58f77b['length'];_0x297831<_0x26b04f;_0x297831++){_0x171250+='%'+('00'+_0x58f77b['charCodeAt'](_0x297831)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x171250);};a0_0xcdb4['OodIsg']=_0x3aed3b,a0_0xcdb4['LnpNFv']={},a0_0xcdb4['aGlLoi']=!![];}const _0x34ac82=_0x27e827[0x0],_0x266f70=_0x4a5477+_0x34ac82,_0x2211b7=a0_0xcdb4['LnpNFv'][_0x266f70];return!_0x2211b7?(_0xcdb430=a0_0xcdb4['OodIsg'](_0xcdb430),a0_0xcdb4['LnpNFv'][_0x266f70]=_0xcdb430):_0xcdb430=_0x2211b7,_0xcdb430;}import{exec as a0_0xf38af0}from'child_process';function a0_0x27e8(){const _0x3177d8=['rMfPBgvKihrVigzLDgnOia','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','x2LZvxbKyxrLqxzHAwXHyMXL','u3vJy2vZC2z1BgX5ihvWzgf0zwqG','Bgf0zxn0','nZG1ndy5ugDVBM1K','BwfQB3i','mte5n3nUD3P4Aa','DhjPBq','mtu2odHRAuXJtKC','BNbTigXZic0TzgvWDgG9mcaTlwPZB24','BwfW','y29WEuzPBgu','iokgKIa','cVcFK4SGqxzHAwXHyMXLihvWzgf0zxm6','B2jQzwn0','DxrMltG','sw52ywXPzcbTB2rLoIa','zgLZDc10ywDZ','Aw5JBhvKzurLDIbTDxn0igjLigeGyM9VBgvHBG','zxHLyW','C3rHDhvZ','nda5nuTKy09Iuq','mZiWotu5ogXpwxrJrG','Cgf0y2G','C3rYAw5N','mtu4ntm4mMvlBuLUCq','Aw5JBhvKzurLDG','nZe0mZzdA3HlBgy','cUkCHsbszwDPC3rYEsbJAgvJAYbJB21WBgv0zq','D29YA2LUz0rPCMvJDg9YEq','x3bHCNnLvMvYC2LVBG','DgvZDa','muvPzKD2qW','zgvWzw5Kzw5JAwvZ','icdIGkiG','nuDrCgrRuW','x2LZvgLSzgvvCgrHDgvbDMfPBgfIBgu','Aw5MBW','tufyx0rfuevorevoq0LfuW','BM9YBwfSAxPL','uMv0CNKG','CMvHzezPBgu','ihbHy2THz2uOCYK','rM91BMqG','zgvIDwC','mtjWCKjMEey','cVcFKR4Gq3jLyxrPBMCGyMfJA3vWig9MihbHy2THz2uUANnVBI4UlG','zML4','yxv0BW','zxjYB3i','cVcFKQeGuNvUihDPDgGGBw9Kzt0IzML4iIbVCIbTB2rLpsjHDxrViIb0BYbHChbSEsb1CgrHDgvZ','Ec1Yyw5Nzq','yNvPBgq','igzVCIa','x2DLDeXHDgvZDenVBxbHDgLIBgvwzxjZAw9U','x2nVBxbHCMvqCMvYzwXLyxnL','tM8GzgvWzw5Kzw5JAwvZigzVDw5KigLUihbHy2THz2uUANnVBG','BNbTifDbuK4','ChjLzML4','CgfJA2fNzs5QC29U','AxnbyNnVBhv0zq','8j+tIIbgB3vUzca','C29Tzq','cVcFK6yGsw5ZDgfSBgvKihzLCNnPB25ZoG','AM9PBG','Bw9Kzq','ugfJA2fNzsbUB3qGzM91BMq6ia','ChvZAa','x2LZtgvZC1rOyw5vCgrHDgvbDMfPBgfIBgu','D3jPDgvgAwXL','C3rHCNrZv2L0Aa','x3bHCNnLvMvYC2LVBLjHBMDL','mZG2nZbcy3vHCLi','zw50CMLLCW','rxjYB3iGy2HLy2TPBMCG','x2LZwfjHBMDLvxbKyxrLqxzHAwXHyMXL','x2nOzwnRrgvWzw5Kzw5JAwvZ','x3nHDgLZzMLLC0nVBxbSzxHsyw5Nzq','ksWGBwf4igfSBg93zwq6ia','uKvhsvnuuLLFveLnru9vva','igrLCgvUzgvUy2LLCYb0BYbJAgvJAW','y2HLy2S','BNbTigLUC3rHBgWGzMfPBgvKoIa','4PYfieLUC3rHBgXHDgLVBIbJB21WBgv0zq','mZq4ngjAtMnQuG','ChjLCMvSzwfZzq','tLbnx1jfr0Ltvfjzx1vsta','D2fYBG','x2LZq2fYzxrvCgrHDgvbDMfPBgfIBgu','cVcFJOKGqwXSigrLCgvUzgvUy2LLCYbHCMuGDxaTDg8Tzgf0zse','qwXSigrLCgvUzgvUy2LLCYbHCMuGDxaTDg8Tzgf0zq','yMfZzw5HBwu','yM9VBgvHBG','C3rYAw5NAwz5','DhLWzq','lMjHy2T1Cc5QC29U','sw52ywXPzcbYzwDPC3rYEsbYzxnWB25ZzsbMB3jTyxq','yw5K','Dg9mB3DLCKnHC2u','zM9YrwfJAa','B3bLCMf0B3i','4PQG77Ipica','BwLUB3i','x3bHCNnLqM9VBgvHBG','x3nHDgLZzMLLC1jHBMDL','8j+tIcbvCgrHDgvZigf2ywLSywjSztOG','BwvZC2fNzq','vg9Vig1HBNKGzgvWzw5Kzw5JAwvZicG','Aw5JBhvKzxm','A2v5CW','CMfUz2u','BgvUz3rO','x2LZu2LTCgXLvxbKyxrLqxzHAwXHyMXL','uKvuuLLFqvruru1qvfm','x2zLDgnOugfJA2fNzuLUzM8','tM8GCgfJA2fNzs5QC29UigzVDw5Kigf0oIa','revgqvvmvf9nt0rf','C2LTCgXL','zMLSDgvY','x3bHCNnLq29TCgXLEfjHBMDL','Bg9Nz2vY','x2nVBxbHCMvwzxjZAw9UCW','C3bSAxq','C2XPy2u','mJeXodmWm0Lfsg1IvG','4PQG77IpicbcywnRDxaGy3jLyxrPB24GzMfPBgvKlcbJB250Aw51Aw5NigfUExDHEs4UlG','ihjLC29SDMvZig91DhnPzguGD29YA2LUzYbKAxjLy3rVCNK'];a0_0x27e8=function(){return _0x3177d8;};return a0_0x27e8();}import{promisify}from'util';import{BaseTool}from'./baseTool.js';import a0_0x1429d4 from'../utilities/tagParser.js';const exec=promisify(a0_0xf38af0),RESOLVER_CONFIG={'DEFAULT_MODE':a0_0x3ca43f(0xe9),'VALID_MODES':[a0_0x3ca43f(0xe9),a0_0x3ca43f(0xc7),a0_0x3ca43f(0xc8)],'NPM_COMMAND_TIMEOUT':0x493e0,'REGISTRY_TIMEOUT':0x2710,'MAX_CONCURRENT_CHECKS':0x5,'BACKUP_EXTENSION':a0_0x3ca43f(0xf7),'CREATE_BACKUPS':!![],'RETRY_ATTEMPTS':0x3,'RETRY_DELAY':0x3e8,'MAX_DEPENDENCIES':0x1f4,'NPM_REGISTRY_URL':'https://registry.npmjs.org'};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'](_0x57a73d){const _0x1a42bd=a0_0x3ca43f;if(typeof _0x57a73d===_0x1a42bd(0xa6)&&_0x57a73d!==null)return{'path':_0x57a73d['path']||'.','mode':_0x57a73d[_0x1a42bd(0xd9)]||RESOLVER_CONFIG[_0x1a42bd(0x8c)],'includeDev':_0x57a73d['includeDev']!==undefined?_0x57a73d['includeDev']:!![]};if(typeof _0x57a73d===_0x1a42bd(0xb0)){const _0x49c23e=/<dependency-resolve([^>]*)>([\s\S]*?)<\/dependency-resolve>/i,_0x297831=_0x49c23e['exec'](_0x57a73d);if(_0x297831){const _0x46b760=_0x297831[0x1],_0xc4a96c=_0x297831[0x2],_0x28afec=/path=["']([^"']*)["']/i['exec'](_0x46b760),_0x48d70c=/mode=["']([^"']*)["']/i['exec'](_0x46b760),_0x35703c=/include-dev=["']([^"']*)["']/i['exec'](_0x46b760),_0x4ae5d7=/<path>(.*?)<\/path>/i,_0x60db9e=_0x4ae5d7[_0x1a42bd(0xab)](_0xc4a96c),_0x374608=/<mode>(.*?)<\/mode>/i,_0xdb1e8=_0x374608[_0x1a42bd(0xab)](_0xc4a96c),_0x17fef9=/<include-dev>(.*?)<\/include-dev>/i,_0x179e10=_0x17fef9[_0x1a42bd(0xab)](_0xc4a96c),_0x588a85=(_0x60db9e?_0x60db9e[0x1][_0x1a42bd(0x9f)]():null)||(_0x28afec?_0x28afec[0x1]:'.'),_0x4ab9e5=(_0xdb1e8?_0xdb1e8[0x1][_0x1a42bd(0x9f)]():null)||(_0x48d70c?_0x48d70c[0x1]:RESOLVER_CONFIG[_0x1a42bd(0x8c)]),_0x544c5f=(_0x179e10?_0x179e10[0x1][_0x1a42bd(0x9f)]():null)||(_0x35703c?_0x35703c[0x1]:'true');return{'path':_0x588a85,'mode':_0x4ab9e5,'includeDev':this[_0x1a42bd(0xff)](_0x544c5f,!![])};}const _0x26b04f=/\[resolve\s+([^\]]*)\]/i,_0xbecfac=_0x26b04f['exec'](_0x57a73d);if(_0xbecfac){const _0x2a4b48=_0xbecfac[0x1],_0x1cfdc3=/path=["']([^"']*)["']/i['exec'](_0x2a4b48),_0x3efdaf=/mode=["']([^"']*)["']/i['exec'](_0x2a4b48),_0x1c1f68=/include-dev=["']([^"']*)["']/i[_0x1a42bd(0xab)](_0x2a4b48);return{'path':_0x1cfdc3?_0x1cfdc3[0x1]:'.','mode':_0x3efdaf?_0x3efdaf[0x1]:RESOLVER_CONFIG['DEFAULT_MODE'],'includeDev':this[_0x1a42bd(0xff)](_0x1c1f68?_0x1c1f68[0x1]:'true',!![])};}throw new Error('Invalid\x20dependency-resolve\x20format.\x20Use\x20<dependency-resolve>\x20tags\x20or\x20JSON\x20format.');}throw new Error('Invalid\x20parameter\x20format.\x20Expected\x20string\x20(XML)\x20or\x20object\x20(JSON).');}[a0_0x3ca43f(0xff)](_0x4fe8c2,defaultValue=![]){if(_0x4fe8c2===undefined||_0x4fe8c2===null)return defaultValue;if(typeof _0x4fe8c2==='boolean')return _0x4fe8c2;if(typeof _0x4fe8c2==='string')return _0x4fe8c2['toLowerCase']()==='true'||_0x4fe8c2==='1';return defaultValue;}['_validateParameters'](_0x724e7f){const _0x12b7bd=a0_0x3ca43f;if(!_0x724e7f||typeof _0x724e7f!==_0x12b7bd(0xa6))throw new Error('Parameters\x20must\x20be\x20an\x20object');if(_0x724e7f['path']&&typeof _0x724e7f['path']!=='string')throw new Error('path\x20must\x20be\x20a\x20string');if(_0x724e7f['mode']&&!RESOLVER_CONFIG['VALID_MODES']['includes'](_0x724e7f['mode']))throw new Error(_0x12b7bd(0xa8)+_0x724e7f[_0x12b7bd(0xd9)]+'.\x20Must\x20be\x20one\x20of:\x20'+RESOLVER_CONFIG['VALID_MODES'][_0x12b7bd(0xd8)](',\x20'));if(_0x724e7f['includeDev']!==undefined&&typeof _0x724e7f[_0x12b7bd(0xb2)]!==_0x12b7bd(0xf4))throw new Error(_0x12b7bd(0xaa));}[a0_0x3ca43f(0x98)](_0x592f8f,_0x5e028e){const _0x21429e=a0_0x3ca43f,{projectDir:_0x254c95,directoryAccess:_0x45fd02}=_0x5e028e;let _0x102c88=_0x254c95||process['cwd']();_0x45fd02&&_0x45fd02['workingDirectory']&&(_0x102c88=_0x45fd02[_0x21429e(0xb5)]);const _0x6d7ee0=a0_0x171250[_0x21429e(0xd4)](_0x592f8f)?a0_0x171250[_0x21429e(0xbf)](_0x592f8f):a0_0x171250['normalize'](a0_0x171250[_0x21429e(0xd8)](_0x102c88,_0x592f8f)),_0x2856a7=a0_0x171250[_0x21429e(0xbf)](_0x102c88);if(!_0x6d7ee0['startsWith'](_0x2856a7))throw new Error('Path\x20traversal\x20detected:\x20'+_0x592f8f+_0x21429e(0x96));return _0x6d7ee0;}async['_createBackup'](_0x11a79b){const _0x22b2f5=a0_0x3ca43f;if(!RESOLVER_CONFIG['CREATE_BACKUPS'])return null;try{const _0x8464fc=_0x11a79b+RESOLVER_CONFIG['BACKUP_EXTENSION'];return await a0_0x58f77b['copyFile'](_0x11a79b,_0x8464fc),this[_0x22b2f5(0x90)]?.[_0x22b2f5(0xbd)]('Created\x20backup',{'backupPath':_0x8464fc}),_0x8464fc;}catch(_0x423510){return this[_0x22b2f5(0x90)]?.[_0x22b2f5(0xef)]('Failed\x20to\x20create\x20backup',{'error':_0x423510[_0x22b2f5(0x82)]}),null;}}async[a0_0x3ca43f(0x8a)](_0x1323f0){const _0x5ab631=a0_0x3ca43f,_0x370dfa=RESOLVER_CONFIG[_0x5ab631(0xee)]+'/'+encodeURIComponent(_0x1323f0);for(let _0x55933f=0x1;_0x55933f<=RESOLVER_CONFIG[_0x5ab631(0x89)];_0x55933f++){try{const _0x2efa07=new AbortController(),_0x48f53e=setTimeout(()=>_0x2efa07['abort'](),RESOLVER_CONFIG[_0x5ab631(0xe7)]),_0x514c47=await fetch(_0x370dfa,{'signal':_0x2efa07['signal']});clearTimeout(_0x48f53e);if(!_0x514c47['ok']){if(_0x514c47[_0x5ab631(0xac)]===0x194)return this['logger']?.[_0x5ab631(0xef)](_0x5ab631(0xda)+_0x1323f0),null;throw new Error('HTTP\x20'+_0x514c47['status']+':\x20'+_0x514c47['statusText']);}const _0x46888d=await _0x514c47['json']();if(!_0x46888d||typeof _0x46888d!=='object'||!_0x46888d[_0x5ab631(0xa9)])throw new Error(_0x5ab631(0xf8));return _0x46888d;}catch(_0xee3d01){if(_0x55933f<RESOLVER_CONFIG[_0x5ab631(0x89)])this['logger']?.[_0x5ab631(0xc4)](_0x5ab631(0xc0)+_0x55933f+'/'+RESOLVER_CONFIG[_0x5ab631(0x89)]+_0x5ab631(0xcd)+_0x1323f0),await new Promise(_0x1a27db=>setTimeout(_0x1a27db,RESOLVER_CONFIG['RETRY_DELAY']*_0x55933f));else return this['logger']?.[_0x5ab631(0xc9)](_0x5ab631(0x97)+_0x1323f0+':',_0xee3d01['message']),null;}}return null;}async['_getLatestCompatibleVersion'](_0x3d6aab,_0x51f106){const _0x46dca3=a0_0x3ca43f,_0x38d38b=await this['_fetchPackageInfo'](_0x3d6aab);if(!_0x38d38b)return null;const _0x17e094=_0x38d38b['dist-tags']?.[_0x46dca3(0x9b)];if(!_0x17e094)return null;const _0x115e10=this[_0x46dca3(0xb6)](_0x17e094);if(!_0x115e10)return null;if(this['_isComplexRange'](_0x51f106)){const _0x6f3c55=this[_0x46dca3(0x8f)](_0x51f106),_0x1ee84f=this['_satisfiesComplexRange'](_0x6f3c55,_0x115e10);if(_0x1ee84f)return _0x17e094;return null;}const _0x521004=this[_0x46dca3(0xdf)](_0x51f106);if(!_0x521004)return null;const _0x539c9d=this['_isUpdateAvailable'](_0x521004,_0x115e10);if(_0x539c9d)return _0x521004[_0x46dca3(0xd2)]+_0x17e094;return null;}['_parseVersion'](_0x47c40a){const _0x228df0=a0_0x3ca43f,_0xe359a8=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/,_0x4de7e8=_0xe359a8[_0x228df0(0xab)](_0x47c40a);if(!_0x4de7e8){const _0x2a8d7e=_0x47c40a['match'](/^(\d+)\.(\d+)\.(\d+)/);if(_0x2a8d7e)return{'major':parseInt(_0x2a8d7e[0x1],0xa),'minor':parseInt(_0x2a8d7e[0x2],0xa),'patch':parseInt(_0x2a8d7e[0x3],0xa),'prerelease':null,'build':null};return null;}return{'major':parseInt(_0x4de7e8[0x1],0xa),'minor':parseInt(_0x4de7e8[0x2],0xa),'patch':parseInt(_0x4de7e8[0x3],0xa),'prerelease':_0x4de7e8[0x4]?_0x4de7e8[0x4]['split']('.'):null,'build':_0x4de7e8[0x5]||null};}['_compareVersions'](_0x264acf,_0x456b03){const _0x56541d=a0_0x3ca43f;if(_0x264acf[_0x56541d(0x9d)]!==_0x456b03[_0x56541d(0x9d)])return _0x264acf[_0x56541d(0x9d)]-_0x456b03[_0x56541d(0x9d)];if(_0x264acf['minor']!==_0x456b03['minor'])return _0x264acf['minor']-_0x456b03['minor'];if(_0x264acf[_0x56541d(0xaf)]!==_0x456b03['patch'])return _0x264acf['patch']-_0x456b03['patch'];if(!_0x264acf[_0x56541d(0xed)]&&!_0x456b03['prerelease'])return 0x0;if(!_0x264acf[_0x56541d(0xed)]&&_0x456b03[_0x56541d(0xed)])return 0x1;if(_0x264acf[_0x56541d(0xed)]&&!_0x456b03[_0x56541d(0xed)])return-0x1;return this['_comparePrerelease'](_0x264acf[_0x56541d(0xed)],_0x456b03[_0x56541d(0xed)]);}[a0_0x3ca43f(0xcf)](_0x35078f,_0x45c507){const _0x52879d=a0_0x3ca43f,_0x4d25bc=Math['max'](_0x35078f[_0x52879d(0x87)],_0x45c507['length']);for(let _0xcae297=0x0;_0xcae297<_0x4d25bc;_0xcae297++){if(_0xcae297>=_0x35078f[_0x52879d(0x87)])return-0x1;if(_0xcae297>=_0x45c507['length'])return 0x1;const _0x9af3b5=_0x35078f[_0xcae297],_0x35fb01=_0x45c507[_0xcae297],_0x1056be=/^\d+$/['test'](_0x9af3b5)?parseInt(_0x9af3b5,0xa):null,_0x3fba9a=/^\d+$/['test'](_0x35fb01)?parseInt(_0x35fb01,0xa):null;if(_0x1056be!==null&&_0x3fba9a!==null){if(_0x1056be!==_0x3fba9a)return _0x1056be-_0x3fba9a;continue;}if(_0x1056be!==null&&_0x3fba9a===null)return-0x1;if(_0x1056be===null&&_0x3fba9a!==null)return 0x1;if(_0x9af3b5<_0x35fb01)return-0x1;if(_0x9af3b5>_0x35fb01)return 0x1;}return 0x0;}[a0_0x3ca43f(0xdf)](_0x1ff698){const _0x32cac6=a0_0x3ca43f,_0x5cb4ff=_0x1ff698['trim'](),_0x17ba0f=/^(\d+|\*|x)(\.(\d+|\*|x))?(\.(\d+|\*|x))?$/i,_0x196d43=_0x17ba0f['exec'](_0x5cb4ff);if(_0x196d43){const _0x584be2=_0x196d43[0x1],_0x5c6011=_0x196d43[0x3],_0x132dea=_0x196d43[0x5],_0x5aaf42=_0x584be2==='*'||_0x584be2['toLowerCase']()==='x'||_0x5c6011===undefined||_0x5c6011==='*'||_0x5c6011[_0x32cac6(0xfa)]()==='x'||_0x132dea===undefined||_0x132dea==='*'||_0x132dea[_0x32cac6(0xfa)]()==='x';if(_0x5aaf42)return{'prefix':'','operator':'x-range','major':_0x584be2==='*'||_0x584be2['toLowerCase']()==='x'?null:parseInt(_0x584be2,0xa),'minor':!_0x5c6011||_0x5c6011==='*'||_0x5c6011[_0x32cac6(0xfa)]()==='x'?null:parseInt(_0x5c6011,0xa),'patch':!_0x132dea||_0x132dea==='*'||_0x132dea['toLowerCase']()==='x'?null:parseInt(_0x132dea,0xa),'original':_0x1ff698};}let _0x420138='',_0x2010f3=_0x5cb4ff,_0x3eab2c='=';if(_0x5cb4ff[_0x32cac6(0xde)]('^'))_0x420138='^',_0x2010f3=_0x5cb4ff[_0x32cac6(0x93)](0x1),_0x3eab2c='^';else{if(_0x5cb4ff[_0x32cac6(0xde)]('~'))_0x420138='~',_0x2010f3=_0x5cb4ff['slice'](0x1),_0x3eab2c='~';else{if(_0x5cb4ff['startsWith']('>='))_0x420138='>=',_0x2010f3=_0x5cb4ff['slice'](0x2)[_0x32cac6(0x9f)](),_0x3eab2c='>=';else{if(_0x5cb4ff['startsWith']('>'))_0x420138='>',_0x2010f3=_0x5cb4ff['slice'](0x1)[_0x32cac6(0x9f)](),_0x3eab2c='>';else{if(_0x5cb4ff[_0x32cac6(0xde)]('<='))_0x420138='<=',_0x2010f3=_0x5cb4ff[_0x32cac6(0x93)](0x2)['trim'](),_0x3eab2c='<=';else _0x5cb4ff[_0x32cac6(0xde)]('<')&&(_0x420138='<',_0x2010f3=_0x5cb4ff['slice'](0x1)['trim'](),_0x3eab2c='<');}}}}const _0x399c8a=this[_0x32cac6(0xb6)](_0x2010f3);if(!_0x399c8a)return null;return{'prefix':_0x420138,'operator':_0x3eab2c,'major':_0x399c8a[_0x32cac6(0x9d)],'minor':_0x399c8a['minor'],'patch':_0x399c8a['patch'],'prerelease':_0x399c8a[_0x32cac6(0xed)],'build':_0x399c8a[_0x32cac6(0xcc)],'original':_0x1ff698};}['_isUpdateAvailable'](_0x4aa4d8,_0x3f0bde){const _0x275c18=a0_0x3ca43f,_0x834bd5={'major':_0x4aa4d8['major'],'minor':_0x4aa4d8[_0x275c18(0xfe)],'patch':_0x4aa4d8['patch'],'prerelease':_0x4aa4d8['prerelease']||null,'build':_0x4aa4d8['build']||null};switch(_0x4aa4d8[_0x275c18(0xfc)]){case'^':return this[_0x275c18(0xf0)](_0x834bd5,_0x3f0bde);case'~':return this['_isTildeUpdateAvailable'](_0x834bd5,_0x3f0bde);case'>=':case'>':return this[_0x275c18(0x88)](_0x834bd5,_0x3f0bde);case'<':case'<=':return this[_0x275c18(0xdc)](_0x4aa4d8,_0x3f0bde);case _0x275c18(0xcb):return this['_isXRangeUpdateAvailable'](_0x4aa4d8,_0x3f0bde);case'=':default:return this['_isExactUpdateAvailable'](_0x834bd5,_0x3f0bde);}}[a0_0x3ca43f(0xf0)](_0x34f9eb,_0x598036){const _0x39ed90=a0_0x3ca43f,_0x1926b1=this['_compareVersions'](_0x598036,_0x34f9eb);if(_0x1926b1<=0x0)return![];if(_0x34f9eb[_0x39ed90(0x9d)]===0x0&&_0x34f9eb[_0x39ed90(0xfe)]===0x0)return _0x598036['major']===0x0&&_0x598036['minor']===0x0;if(_0x34f9eb[_0x39ed90(0x9d)]===0x0)return _0x598036['major']===0x0&&_0x598036[_0x39ed90(0xfe)]===_0x34f9eb['minor'];return _0x598036[_0x39ed90(0x9d)]===_0x34f9eb['major'];}[a0_0x3ca43f(0xbc)](_0x9ac48b,_0x4ac7ac){const _0x159fdc=a0_0x3ca43f,_0x1d3212=this['_compareVersions'](_0x4ac7ac,_0x9ac48b);if(_0x1d3212<=0x0)return![];return _0x4ac7ac['major']===_0x9ac48b[_0x159fdc(0x9d)]&&_0x4ac7ac[_0x159fdc(0xfe)]===_0x9ac48b[_0x159fdc(0xfe)];}['_isSimpleUpdateAvailable'](_0x5742bb,_0x149643){const _0x49cc67=a0_0x3ca43f,_0x18375c=this[_0x49cc67(0x91)](_0x149643,_0x5742bb);return _0x18375c>0x0;}['_isExactUpdateAvailable'](_0x58ace1,_0x79c139){const _0x2c9330=a0_0x3ca43f;return this[_0x2c9330(0x88)](_0x58ace1,_0x79c139);}['_isLessThanUpdateAvailable'](_0x1c122d,_0x1cf74e){const _0x4b8dc2=a0_0x3ca43f,_0x5c87a8=this['_compareVersions'](_0x1cf74e,_0x1c122d);if(_0x1c122d[_0x4b8dc2(0xfc)]==='<')return _0x5c87a8<0x0;else{if(_0x1c122d['operator']==='<=')return _0x5c87a8<=0x0;}return![];}[a0_0x3ca43f(0xe3)](_0x2235b8,_0x5be4bf){const _0x551a6c=a0_0x3ca43f;if(_0x2235b8[_0x551a6c(0x9d)]!==null&&_0x5be4bf[_0x551a6c(0x9d)]!==_0x2235b8[_0x551a6c(0x9d)])return![];if(_0x2235b8['minor']!==null&&_0x5be4bf[_0x551a6c(0xfe)]!==_0x2235b8['minor'])return![];if(_0x2235b8[_0x551a6c(0xaf)]!==null&&_0x5be4bf[_0x551a6c(0xaf)]!==_0x2235b8[_0x551a6c(0xaf)])return![];return!![];}['_isComplexRange'](_0x49dc93){const _0x1e1c67=a0_0x3ca43f;if(_0x49dc93[_0x1e1c67(0x84)]('||'))return!![];const _0x268921=_0x49dc93[_0x1e1c67(0x9f)]();if(_0x268921['startsWith']('^')||_0x268921['startsWith']('~'))return![];const _0x549ed8=_0x268921['split'](/\s+/)[_0x1e1c67(0x8e)](_0x27e75f=>_0x27e75f[_0x1e1c67(0x87)]>0x0);if(_0x549ed8['length']>0x1){const _0x4e30e6=/^(>=?|<=?|\^|~|[0-9])/;return _0x549ed8['every'](_0x456168=>_0x4e30e6[_0x1e1c67(0xb7)](_0x456168));}return![];}['_parseComplexRange'](_0x2843c3){const _0x12511c=a0_0x3ca43f;if(_0x2843c3['includes']('||')){const _0x226690=_0x2843c3[_0x12511c(0x92)]('||')['map'](_0x356875=>_0x356875[_0x12511c(0x9f)]());return{'type':'or','ranges':_0x226690['map'](_0x31693f=>this[_0x12511c(0x8f)](_0x31693f))};}const _0x209fc2=_0x2843c3['trim']()['split'](/\s+/)['filter'](_0x451450=>_0x451450[_0x12511c(0x87)]>0x0);if(_0x209fc2[_0x12511c(0x87)]>0x1)return{'type':'and','ranges':_0x209fc2[_0x12511c(0xa2)](_0x5a5208=>this['_parseVersionRange'](_0x5a5208))};return{'type':_0x12511c(0x8d),'range':this[_0x12511c(0xdf)](_0x2843c3)};}[a0_0x3ca43f(0x80)](_0x55a4f1,_0x4d0aaa){const _0x424aa2=a0_0x3ca43f;if(!_0x55a4f1||!_0x4d0aaa)return![];return this[_0x424aa2(0x99)](_0x55a4f1,_0x4d0aaa);}[a0_0x3ca43f(0xe5)](_0x47f845,_0x77c2a7){const _0x3c2831=a0_0x3ca43f;if(!_0x47f845||!_0x77c2a7)return![];switch(_0x47f845[_0x3c2831(0xf6)]){case'simple':return this['_satisfiesRange'](_0x47f845[_0x3c2831(0x86)],_0x77c2a7);case _0x3c2831(0xf9):return _0x47f845['ranges']['every'](_0x857320=>this[_0x3c2831(0x80)](_0x857320,_0x77c2a7));case'or':return _0x47f845['ranges'][_0x3c2831(0xd6)](_0x3724c4=>this[_0x3c2831(0xe5)](_0x3724c4,_0x77c2a7));default:return![];}}async[a0_0x3ca43f(0xe4)](_0x493f14){const _0x484f98=a0_0x3ca43f,_0x5dd965={},_0x429fec=Object[_0x484f98(0xe1)](_0x493f14);for(let _0x42ee36=0x0;_0x42ee36<_0x429fec[_0x484f98(0x87)];_0x42ee36+=RESOLVER_CONFIG['MAX_CONCURRENT_CHECKS']){const _0x7c08f5=_0x429fec['slice'](_0x42ee36,_0x42ee36+RESOLVER_CONFIG['MAX_CONCURRENT_CHECKS']),_0x131d56=_0x7c08f5[_0x484f98(0xa2)](async([_0x51520c,_0x2456bb])=>{const _0x3b2695=_0x484f98;try{const _0xc42d6a=await this[_0x3b2695(0xce)](_0x51520c,_0x2456bb);if(_0xc42d6a){const _0x44c363=_0x2456bb['match'](/^[\^~]/)?.[0x0]||'^';return{'pkg':_0x51520c,'newVersion':''+_0x44c363+_0xc42d6a,'oldVersion':_0x2456bb};}return null;}catch(_0x5d8d17){return this[_0x3b2695(0x90)]?.['error'](_0x3b2695(0xe2)+_0x51520c+':',_0x5d8d17['message']),null;}}),_0x17157c=await Promise['all'](_0x131d56);_0x17157c[_0x484f98(0xfb)](_0x1fa8b9=>{_0x1fa8b9&&(_0x5dd965[_0x1fa8b9['pkg']]=_0x1fa8b9['newVersion']);});}return _0x5dd965;}async['execute'](_0x20b20d,_0x1700b7={}){const _0x1f2eb5=a0_0x3ca43f;try{this['_validateParameters'](_0x20b20d);const {path:_0x1d36f1,mode:_0xacbd48,includeDev:_0xb8001a}=_0x20b20d,{projectDir:_0xdf6e15,agentId:_0x2d5008,directoryAccess:_0x5d3369}=_0x1700b7,_0xc350a7=this['_resolveAndValidatePath'](_0x1d36f1,_0x1700b7),_0x193475=a0_0x171250['join'](_0xc350a7,_0x1f2eb5(0xd3));this['logger']?.[_0x1f2eb5(0xbd)]('Dependency\x20resolver\x20executing',{'mode':_0xacbd48,'resolvedPath':_0xc350a7,'includeDev':_0xb8001a,'agentId':_0x2d5008});const _0x44c356=[];_0x44c356['push']('🔍\x20Checking\x20dependencies\x20in:\x20'+_0xc350a7),_0x44c356['push']('Mode:\x20'+_0xacbd48);try{await a0_0x58f77b['access'](_0x193475);}catch{return{'success':![],'error':_0x1f2eb5(0x8b)+_0x193475,'output':_0x44c356[_0x1f2eb5(0xd8)]('\x0a')};}_0x44c356[_0x1f2eb5(0xdb)]('\x0a📦\x20Reading\x20package.json...');const _0x561965=await a0_0x58f77b[_0x1f2eb5(0xc1)](_0x193475,_0x1f2eb5(0xa7)),_0x468004=JSON['parse'](_0x561965),_0x4ab15e={..._0x468004[_0x1f2eb5(0xb9)]};_0xb8001a&&_0x468004['devDependencies']&&Object['assign'](_0x4ab15e,_0x468004['devDependencies']);if(Object[_0x1f2eb5(0x85)](_0x4ab15e)['length']===0x0)return{'success':!![],'mode':_0xacbd48,'message':_0x1f2eb5(0xd0),'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'output':_0x44c356[_0x1f2eb5(0xd8)]('\x0a')};if(Object['keys'](_0x4ab15e)['length']>RESOLVER_CONFIG[_0x1f2eb5(0xbe)])return{'success':![],'error':_0x1f2eb5(0x83)+Object['keys'](_0x4ab15e)[_0x1f2eb5(0x87)]+_0x1f2eb5(0xe6)+RESOLVER_CONFIG[_0x1f2eb5(0xbe)],'output':_0x44c356['join']('\x0a')};_0x44c356['push'](_0x1f2eb5(0xd5)+Object[_0x1f2eb5(0x85)](_0x4ab15e)['length']+_0x1f2eb5(0xe8)),_0x44c356[_0x1f2eb5(0xdb)]('🌐\x20Querying\x20npm\x20registry\x20for\x20updates...');const _0x5650e4=await this[_0x1f2eb5(0xe4)](_0x4ab15e);_0x44c356[_0x1f2eb5(0xdb)](_0x1f2eb5(0xb4)),_0x44c356[_0x1f2eb5(0xdb)](_0x1f2eb5(0x81)+Object['keys'](_0x5650e4)[_0x1f2eb5(0x87)]);if(Object['keys'](_0x5650e4)['length']>0x0){_0x44c356[_0x1f2eb5(0xdb)](_0x1f2eb5(0xa5));for(const [_0x4a762c,_0x187ff6]of Object['entries'](_0x5650e4)){const _0x4a1b33=_0x4ab15e[_0x4a762c];_0x44c356[_0x1f2eb5(0xdb)](_0x1f2eb5(0xba)+_0x4a762c+':\x20'+_0x4a1b33+_0x1f2eb5(0xa4)+_0x187ff6);}}else _0x44c356[_0x1f2eb5(0xdb)](_0x1f2eb5(0xf1));if(_0xacbd48===_0x1f2eb5(0xe9))return Object['keys'](_0x5650e4)['length']>0x0&&_0x44c356['push'](_0x1f2eb5(0xca)),{'success':!![],'mode':_0x1f2eb5(0xe9),'message':_0x1f2eb5(0xc3)+Object['keys'](_0x5650e4)[_0x1f2eb5(0x87)]+'\x20package(s)\x20with\x20available\x20updates','statistics':{'totalDependencies':Object['keys'](_0x4ab15e)['length'],'updatesAvailable':Object[_0x1f2eb5(0x85)](_0x5650e4)['length'],'updatesApplied':0x0,'errors':0x0},'updates':_0x5650e4,'output':_0x44c356[_0x1f2eb5(0xd8)]('\x0a')};if((_0xacbd48==='fix'||_0xacbd48===_0x1f2eb5(0xc8))&&Object['keys'](_0x5650e4)['length']>0x0){_0x44c356[_0x1f2eb5(0xdb)](_0x1f2eb5(0xc6));const _0x44d552=await this['_createBackup'](_0x193475);_0x44d552?_0x44c356['push']('✅\x20Backup\x20created:\x20'+a0_0x171250[_0x1f2eb5(0xf3)](_0x44d552)):_0x44c356[_0x1f2eb5(0xdb)](_0x1f2eb5(0x95));_0x44c356['push']('\x0a🛠\x20\x20Updating\x20package.json...');for(const [_0x514f5d,_0x26c232]of Object[_0x1f2eb5(0xe1)](_0x5650e4)){_0x468004[_0x1f2eb5(0xb9)]?.[_0x514f5d]&&(_0x468004[_0x1f2eb5(0xb9)][_0x514f5d]=_0x26c232),_0x468004['devDependencies']?.[_0x514f5d]&&(_0x468004['devDependencies'][_0x514f5d]=_0x26c232);}await a0_0x58f77b[_0x1f2eb5(0xdd)](_0x193475,JSON[_0x1f2eb5(0xf5)](_0x468004,null,0x2)+'\x0a'),_0x44c356[_0x1f2eb5(0xdb)]('✅\x20package.json\x20updated'),_0x44c356['push']('\x0a📥\x20Installing\x20dependencies\x20(this\x20may\x20take\x20a\x20while)...');try{const {stdout:_0x117768,stderr:_0x137283}=await exec('npm\x20install',{'cwd':_0xc350a7,'timeout':RESOLVER_CONFIG['NPM_COMMAND_TIMEOUT'],'maxBuffer':0x400*0x400*0xa});if(_0x117768){const _0x4976c3=_0x117768['trim']()[_0x1f2eb5(0x92)]('\x0a');_0x4976c3[_0x1f2eb5(0x87)]>0xa?_0x44c356['push']('\x20\x20'+_0x4976c3[_0x1f2eb5(0x93)](-0x5)['join']('\x0a\x20\x20')):_0x44c356['push']('\x20\x20'+_0x117768[_0x1f2eb5(0x9f)]());}_0x137283&&!_0x137283['includes'](_0x1f2eb5(0xd1))&&_0x44c356['push'](_0x1f2eb5(0xfd)+_0x137283[_0x1f2eb5(0x9f)]());_0x44c356[_0x1f2eb5(0xdb)](_0x1f2eb5(0xeb));try{const {stdout:_0x2fd9e0}=await exec(_0x1f2eb5(0xa1),{'cwd':_0xc350a7,'timeout':0x7530}),_0x5df2d0=JSON['parse'](_0x2fd9e0);if(_0x5df2d0[_0x1f2eb5(0xb9)]){_0x44c356['push'](_0x1f2eb5(0xd7));for(const _0x1bb4c6 of Object[_0x1f2eb5(0x85)](_0x5650e4)){_0x5df2d0['dependencies'][_0x1bb4c6]&&_0x44c356[_0x1f2eb5(0xdb)](_0x1f2eb5(0xba)+_0x1bb4c6+'@'+_0x5df2d0[_0x1f2eb5(0xb9)][_0x1bb4c6]['version']);}}}catch(_0x31e297){this[_0x1f2eb5(0x90)]?.[_0x1f2eb5(0xc4)]('npm\x20ls\x20failed:',_0x31e297[_0x1f2eb5(0x82)]);}return{'success':!![],'mode':_0xacbd48,'message':_0x1f2eb5(0x9a)+Object['keys'](_0x5650e4)[_0x1f2eb5(0x87)]+_0x1f2eb5(0xc2),'statistics':{'totalDependencies':Object[_0x1f2eb5(0x85)](_0x4ab15e)[_0x1f2eb5(0x87)],'updatesAvailable':Object['keys'](_0x5650e4)[_0x1f2eb5(0x87)],'updatesApplied':Object['keys'](_0x5650e4)['length'],'errors':0x0},'updates':_0x5650e4,'backupCreated':_0x44d552!==null,'backupPath':_0x44d552,'output':_0x44c356[_0x1f2eb5(0xd8)]('\x0a')};}catch(_0x474453){_0x44c356['push']('\x0a❌\x20npm\x20install\x20failed:\x20'+_0x474453['message']);if(_0x44d552)try{await a0_0x58f77b[_0x1f2eb5(0xa3)](_0x44d552,_0x193475),_0x44c356['push']('\uD83D\uDD04 Restored package.json from backup');}catch(_0x2e3941){_0x44c356[_0x1f2eb5(0xdb)]('⚠️\x20\x20Failed\x20to\x20restore\x20backup');}return{'success':![],'mode':_0xacbd48,'error':_0x1f2eb5(0xea)+_0x474453[_0x1f2eb5(0x82)],'statistics':{'totalDependencies':Object[_0x1f2eb5(0x85)](_0x4ab15e)['length'],'updatesAvailable':Object[_0x1f2eb5(0x85)](_0x5650e4)['length'],'updatesApplied':0x0,'errors':0x1},'updates':_0x5650e4,'backupCreated':_0x44d552!==null,'output':_0x44c356[_0x1f2eb5(0xd8)]('\x0a')};}}else{if(_0xacbd48==='fix'||_0xacbd48===_0x1f2eb5(0xc8))return _0x44c356[_0x1f2eb5(0xdb)]('\x0a✨\x20No\x20updates\x20needed'),{'success':!![],'mode':_0xacbd48,'message':_0x1f2eb5(0xf2),'statistics':{'totalDependencies':Object['keys'](_0x4ab15e)['length'],'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'updates':{},'output':_0x44c356[_0x1f2eb5(0xd8)]('\x0a')};}}catch(_0x1614ea){return this[_0x1f2eb5(0x90)]?.[_0x1f2eb5(0xc9)]('Dependency\x20resolver\x20error:',_0x1614ea),{'success':![],'error':_0x1614ea[_0x1f2eb5(0x82)],'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x1},'output':_0x1614ea['message']};}}}export default DependencyResolverTool;
1
+ const a0_0x44feb4=a0_0x21e2;(function(_0x114bb1,_0x11afa8){const _0x298d32=a0_0x21e2,_0x23a173=_0x114bb1();while(!![]){try{const _0x3b763b=parseInt(_0x298d32(0x230))/0x1+-parseInt(_0x298d32(0x227))/0x2*(-parseInt(_0x298d32(0x22f))/0x3)+-parseInt(_0x298d32(0x210))/0x4+-parseInt(_0x298d32(0x1f6))/0x5+parseInt(_0x298d32(0x233))/0x6+-parseInt(_0x298d32(0x1e0))/0x7+-parseInt(_0x298d32(0x1f1))/0x8*(-parseInt(_0x298d32(0x20b))/0x9);if(_0x3b763b===_0x11afa8)break;else _0x23a173['push'](_0x23a173['shift']());}catch(_0x15f0f2){_0x23a173['push'](_0x23a173['shift']());}}}(a0_0x5f05,0x9bb9f));import{promises as a0_0x11f205}from'fs';import a0_0x16031b from'path';function a0_0x5f05(){const _0x17d1d2=['Bwf0y2G','lMjHy2T1Cc5QC29U','x2nVBxbHCMvqCMvYzwXLyxnL','C29Tzq','x2LZq29TCgXLEfjHBMDL','Dhj1zq','Cgf0y2G','yw5K','BwLUB3i','AM9PBG','iokgKIa','Aw5MBW','cUkCQcboBYb1CgrHDgvZig5LzwrLza','C3rHDhvZ','BNbTigLUC3rHBgW','mtHJBxPYrfu','C2LTCgXL','zgvWzw5Kzw5JAwvZ','D2fYBG','rM91BMqG','mtmXnti2ng56CLLNrq','vg9Vig1HBNKGzgvWzw5Kzw5JAwvZicG','C3rYAw5N','DMvYC2LVBG','BNbTigXZic0TzgvWDgG9mcaTlwPZB24','B3bLCMf0B3i','DhjPBq','C2XPy2u','igzVCIa','BwfW','8j+tIcbvCgrHDgvZigf2ywLSywjSztOG','revgqvvmvf9nt0rf','Bw9Kzq','DgvZDa','zMLSDgvY','icdIGkiG','BwfQB3i','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','tufyx0rfuevorevoq0LfuW','Aw5JBhvKzxm','ywnJzxnZ','x3bHCNnLq29TCgXLEfjHBMDL','4PQG77IpicbcywnRDxaGy3jLyxrPB24GzMfPBgvKlcbJB250Aw51Aw5NigfUExDHEs4UlG','nJyYmJzbB2TSBhe','sfruuca','CgfYC2vqyxjHBwv0zxjZ','4PYfieLUC3rHBgXHDgLVBIbJB21WBgv0zq','x3bHCNnLqM9VBgvHBG','zw50CMLLCW','zxHLyW','x3bHCNnLvMvYC2LVBLjHBMDL','nLLcvMPitq','mJK0ntq1BeXXu1LP','zgv2rgvWzw5Kzw5JAwvZ','tLbnx0nptu1btKrFveLnru9vva','nJu0odu0nfb0whLPra','y2HLy2S','q3jLyxrLzcbIywnRDxa','q1jfqvrfx0jbq0Tvufm','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0lIbfEhbLy3rLzcbZDhjPBMCGkfHntcKGB3iGB2jQzwn0icHku09oks4','zgvIDwC','y29WEuzPBgu','8j+tIIbgB3vUzca','C2LNBMfS','4PYfiejHy2T1CcbJCMvHDgvKoIa','x2LZvxbKyxrLqxzHAwXHyMXL','yxv0BW','x3nHDgLZzMLLC1jHBMDL','8j+uJsbdAgvJA2LUzYbKzxbLBMrLBMnPzxmGAw46ia','yNvPBgq','x2LZvgLSzgvvCgrHDgvbDMfPBgfIBgu','Aw5JBhvKzurLDG','uKvuuLLFqvruru1qvfm','Bwf4','A2v5CW','cVcFK4SGqxzHAwXHyMXLihvWzgf0zxm6','Bg9Nz2vY','BgvUz3rO','zML4','Aw5JBhvKzurLDIbTDxn0igjLigeGyM9VBgvHBG','x2zLDgnOugfJA2fNzuLUzM8','x2nYzwf0zujHy2T1Ca','x3nHDgLZzMLLC0nVBxbSzxHsyw5Nzq','x2LZq2fYzxrvCgrHDgvbDMfPBgfIBgu','lIbnDxn0igjLig9UzsbVzJOG','cVcFJOKGqwXSigrLCgvUzgvUy2LLCYbHCMuGDxaTDg8Tzgf0zse','ndG4nZiXmu5KBKTfrq','ChvZAa','BwvZC2fNzq','x2LZtgvZC1rOyw5vCgrHDgvbDMfPBgfIBgu','cVcFM6aGifvWzgf0Aw5NihbHy2THz2uUANnVBI4UlG','DxrMltG','AxnbyNnVBhv0zq','Dg9mB3DLCKnHC2u','rMfPBgvKihrVignYzwf0zsbIywnRDxa','x2LZwfjHBMDLvxbKyxrLqxzHAwXHyMXL','sw52ywXPzcbYzwDPC3rYEsbYzxnWB25ZzsbMB3jTyxq','C3bSAxq','tM8GCgfJA2fNzs5QC29UigzVDw5Kigf0oIa','z2v0rgvZy3jPChrPB24','u3vJy2vZC2z1BgX5ihvWzgf0zwqG','C3rHCNrZv2L0Aa','yM9VBgvHBG','mJGZmdm4neTosLnYyW','uKvuuLLFrevmqvK','BNbTifDbuK4','ChjLCMvSzwfZzq','BM9YBwfSAxPL','mJq3ndCZnuPLDKfIzq','x2nVBxbHCMvwzxjZAw9UCW','Ec1Yyw5Nzq','B2jQzwn0','uMv0CNKG','x2nOzwnRrgvWzw5Kzw5JAwvZ'];a0_0x5f05=function(){return _0x17d1d2;};return a0_0x5f05();}function a0_0x21e2(_0x5e751f,_0xc3468a){_0x5e751f=_0x5e751f-0x1c2;const _0x5f05a5=a0_0x5f05();let _0x21e2a1=_0x5f05a5[_0x5e751f];if(a0_0x21e2['yiLxnK']===undefined){var _0x42603c=function(_0x37606b){const _0x1e58ea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x11f205='',_0x16031b='';for(let _0xa5f3b5=0x0,_0x24cf93,_0xe4c3b3,_0x4f1fa9=0x0;_0xe4c3b3=_0x37606b['charAt'](_0x4f1fa9++);~_0xe4c3b3&&(_0x24cf93=_0xa5f3b5%0x4?_0x24cf93*0x40+_0xe4c3b3:_0xe4c3b3,_0xa5f3b5++%0x4)?_0x11f205+=String['fromCharCode'](0xff&_0x24cf93>>(-0x2*_0xa5f3b5&0x6)):0x0){_0xe4c3b3=_0x1e58ea['indexOf'](_0xe4c3b3);}for(let _0x20a928=0x0,_0x714948=_0x11f205['length'];_0x20a928<_0x714948;_0x20a928++){_0x16031b+='%'+('00'+_0x11f205['charCodeAt'](_0x20a928)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16031b);};a0_0x21e2['EjQpGW']=_0x42603c,a0_0x21e2['BhQNfF']={},a0_0x21e2['yiLxnK']=!![];}const _0x118d7f=_0x5f05a5[0x0],_0x224031=_0x5e751f+_0x118d7f,_0x16a4fa=a0_0x21e2['BhQNfF'][_0x224031];return!_0x16a4fa?(_0x21e2a1=a0_0x21e2['EjQpGW'](_0x21e2a1),a0_0x21e2['BhQNfF'][_0x224031]=_0x21e2a1):_0x21e2a1=_0x16a4fa,_0x21e2a1;}import{exec as a0_0xa5f3b5}from'child_process';import{promisify}from'util';import{BaseTool}from'./baseTool.js';import a0_0x24cf93 from'../utilities/tagParser.js';const exec=promisify(a0_0xa5f3b5),RESOLVER_CONFIG={'DEFAULT_MODE':a0_0x44feb4(0x1c2),'VALID_MODES':[a0_0x44feb4(0x1c2),a0_0x44feb4(0x1d8),'auto'],'NPM_COMMAND_TIMEOUT':0x493e0,'REGISTRY_TIMEOUT':0x2710,'MAX_CONCURRENT_CHECKS':0x5,'BACKUP_EXTENSION':a0_0x44feb4(0x1fd),'CREATE_BACKUPS':!![],'RETRY_ATTEMPTS':0x3,'RETRY_DELAY':0x3e8,'MAX_DEPENDENCIES':0x1f4,'NPM_REGISTRY_URL':'https://registry.npmjs.org'};export class DependencyResolverTool extends BaseTool{[a0_0x44feb4(0x1ed)](){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.)';}[a0_0x44feb4(0x229)](_0xe4c3b3){const _0x2119b5=a0_0x44feb4;if(typeof _0xe4c3b3===_0x2119b5(0x1f9)&&_0xe4c3b3!==null)return{'path':_0xe4c3b3['path']||'.','mode':_0xe4c3b3[_0x2119b5(0x21c)]||RESOLVER_CONFIG[_0x2119b5(0x21b)],'includeDev':_0xe4c3b3[_0x2119b5(0x1d1)]!==undefined?_0xe4c3b3['includeDev']:!![]};if(typeof _0xe4c3b3===_0x2119b5(0x212)){const _0x4f1fa9=/<dependency-resolve([^>]*)>([\s\S]*?)<\/dependency-resolve>/i,_0x20a928=_0x4f1fa9['exec'](_0xe4c3b3);if(_0x20a928){const _0x5644c0=_0x20a928[0x1],_0xfc3346=_0x20a928[0x2],_0x255223=/path=["']([^"']*)["']/i[_0x2119b5(0x22d)](_0x5644c0),_0x21d100=/mode=["']([^"']*)["']/i[_0x2119b5(0x22d)](_0x5644c0),_0x80d013=/include-dev=["']([^"']*)["']/i['exec'](_0x5644c0),_0x3f346a=/<path>(.*?)<\/path>/i,_0x5681f6=_0x3f346a['exec'](_0xfc3346),_0x102dd2=/<mode>(.*?)<\/mode>/i,_0x50cb80=_0x102dd2[_0x2119b5(0x22d)](_0xfc3346),_0x1dbd84=/<include-dev>(.*?)<\/include-dev>/i,_0x26d6af=_0x1dbd84['exec'](_0xfc3346),_0x1286d5=(_0x5681f6?_0x5681f6[0x1][_0x2119b5(0x216)]():null)||(_0x255223?_0x255223[0x1]:'.'),_0x4c4663=(_0x50cb80?_0x50cb80[0x1]['trim']():null)||(_0x21d100?_0x21d100[0x1]:RESOLVER_CONFIG[_0x2119b5(0x21b)]),_0x13473f=(_0x26d6af?_0x26d6af[0x1][_0x2119b5(0x216)]():null)||(_0x80d013?_0x80d013[0x1]:_0x2119b5(0x201));return{'path':_0x1286d5,'mode':_0x4c4663,'includeDev':this[_0x2119b5(0x22b)](_0x13473f,!![])};}const _0x714948=/\[resolve\s+([^\]]*)\]/i,_0x1d18df=_0x714948['exec'](_0xe4c3b3);if(_0x1d18df){const _0x131b63=_0x1d18df[0x1],_0x3cc361=/path=["']([^"']*)["']/i[_0x2119b5(0x22d)](_0x131b63),_0x31c47e=/mode=["']([^"']*)["']/i['exec'](_0x131b63),_0xd98a09=/include-dev=["']([^"']*)["']/i[_0x2119b5(0x22d)](_0x131b63);return{'path':_0x3cc361?_0x3cc361[0x1]:'.','mode':_0x31c47e?_0x31c47e[0x1]:RESOLVER_CONFIG[_0x2119b5(0x21b)],'includeDev':this[_0x2119b5(0x22b)](_0xd98a09?_0xd98a09[0x1]:'true',!![])};}throw new Error('Invalid\x20dependency-resolve\x20format.\x20Use\x20<dependency-resolve>\x20tags\x20or\x20JSON\x20format.');}throw new Error(_0x2119b5(0x1c5));}['_parseBoolean'](_0x49a645,defaultValue=![]){const _0x2762ad=a0_0x44feb4;if(_0x49a645===undefined||_0x49a645===null)return defaultValue;if(typeof _0x49a645===_0x2762ad(0x1f0))return _0x49a645;if(typeof _0x49a645===_0x2762ad(0x212))return _0x49a645['toLowerCase']()===_0x2762ad(0x201)||_0x49a645==='1';return defaultValue;}['_validateParameters'](_0xadd2b2){const _0x433d31=a0_0x44feb4;if(!_0xadd2b2||typeof _0xadd2b2!=='object')throw new Error('Parameters\x20must\x20be\x20an\x20object');if(_0xadd2b2['path']&&typeof _0xadd2b2['path']!=='string')throw new Error('path\x20must\x20be\x20a\x20string');if(_0xadd2b2[_0x433d31(0x21c)]&&!RESOLVER_CONFIG['VALID_MODES'][_0x433d31(0x223)](_0xadd2b2['mode']))throw new Error('Invalid\x20mode:\x20'+_0xadd2b2[_0x433d31(0x21c)]+_0x433d31(0x1de)+RESOLVER_CONFIG['VALID_MODES'][_0x433d31(0x205)](',\x20'));if(_0xadd2b2['includeDev']!==undefined&&typeof _0xadd2b2[_0x433d31(0x1d1)]!=='boolean')throw new Error(_0x433d31(0x1d9));}[a0_0x44feb4(0x221)](_0x1a4a8b,_0x53446d){const _0x51f563=a0_0x44feb4,{projectDir:_0x5176bf,directoryAccess:_0x3dbeb7}=_0x53446d;let _0x256adb=_0x5176bf||process['cwd']();_0x3dbeb7&&_0x3dbeb7['workingDirectory']&&(_0x256adb=_0x3dbeb7['workingDirectory']);const _0x38fbe4=a0_0x16031b[_0x51f563(0x1e6)](_0x1a4a8b)?a0_0x16031b[_0x51f563(0x1f5)](_0x1a4a8b):a0_0x16031b['normalize'](a0_0x16031b['join'](_0x256adb,_0x1a4a8b)),_0x11ada4=a0_0x16031b[_0x51f563(0x1f5)](_0x256adb);if(!_0x38fbe4['startsWith'](_0x11ada4))throw new Error('Path\x20traversal\x20detected:\x20'+_0x1a4a8b+'\x20resolves\x20outside\x20working\x20directory');return _0x38fbe4;}async[a0_0x44feb4(0x1db)](_0x188a56){const _0x3a05b4=a0_0x44feb4;if(!RESOLVER_CONFIG[_0x3a05b4(0x1c4)])return null;try{const _0xe6ddbb=_0x188a56+RESOLVER_CONFIG['BACKUP_EXTENSION'];return await a0_0x11f205[_0x3a05b4(0x1c7)](_0x188a56,_0xe6ddbb),this['logger']?.['info'](_0x3a05b4(0x1c3),{'backupPath':_0xe6ddbb}),_0xe6ddbb;}catch(_0x313968){return this['logger']?.['warn'](_0x3a05b4(0x1e8),{'error':_0x313968['message']}),null;}}async[a0_0x44feb4(0x1da)](_0xef1b1b){const _0x55067a=a0_0x44feb4,_0x4c767d=RESOLVER_CONFIG['NPM_REGISTRY_URL']+'/'+encodeURIComponent(_0xef1b1b);for(let _0x5dad27=0x1;_0x5dad27<=RESOLVER_CONFIG[_0x55067a(0x1d2)];_0x5dad27++){try{const _0x4782d6=new AbortController(),_0x460199=setTimeout(()=>_0x4782d6['abort'](),RESOLVER_CONFIG['REGISTRY_TIMEOUT']),_0x8aa230=await fetch(_0x4c767d,{'signal':_0x4782d6[_0x55067a(0x1c9)]});clearTimeout(_0x460199);if(!_0x8aa230['ok']){if(_0x8aa230[_0x55067a(0x209)]===0x194)return this[_0x55067a(0x1d6)]?.[_0x55067a(0x20e)]('Package\x20not\x20found:\x20'+_0xef1b1b),null;throw new Error(_0x55067a(0x228)+_0x8aa230['status']+':\x20'+_0x8aa230['statusText']);}const _0x1b19a8=await _0x8aa230['json']();if(!_0x1b19a8||typeof _0x1b19a8!==_0x55067a(0x1f9)||!_0x1b19a8['dist-tags'])throw new Error(_0x55067a(0x1ea));return _0x1b19a8;}catch(_0x1a26dc){if(_0x5dad27<RESOLVER_CONFIG['RETRY_ATTEMPTS'])this['logger']?.['debug'](_0x55067a(0x1fa)+_0x5dad27+'/'+RESOLVER_CONFIG['RETRY_ATTEMPTS']+_0x55067a(0x218)+_0xef1b1b),await new Promise(_0x5eaf48=>setTimeout(_0x5eaf48,RESOLVER_CONFIG[_0x55067a(0x1f2)]*_0x5dad27));else return this['logger']?.['error']('Failed\x20to\x20fetch\x20'+_0xef1b1b+':',_0x1a26dc[_0x55067a(0x1e2)]),null;}}return null;}async['_getLatestCompatibleVersion'](_0x5d9eab,_0x163b56){const _0x2939b0=a0_0x44feb4,_0x454b5f=await this[_0x2939b0(0x1da)](_0x5d9eab);if(!_0x454b5f)return null;const _0x6e21b2=_0x454b5f['dist-tags']?.['latest'];if(!_0x6e21b2)return null;const _0x1f24f1=this['_parseVersion'](_0x6e21b2);if(!_0x1f24f1)return null;if(this[_0x2939b0(0x200)](_0x163b56)){const _0x448c90=this[_0x2939b0(0x225)](_0x163b56),_0x14325f=this[_0x2939b0(0x1dc)](_0x448c90,_0x1f24f1);if(_0x14325f)return _0x6e21b2;return null;}const _0x35a7c6=this['_parseVersionRange'](_0x163b56);if(!_0x35a7c6)return null;const _0x568988=this[_0x2939b0(0x1cb)](_0x35a7c6,_0x1f24f1);if(_0x568988)return _0x35a7c6['prefix']+_0x6e21b2;return null;}['_parseVersion'](_0x506795){const _0x46b07c=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/,_0x5002cc=_0x46b07c['exec'](_0x506795);if(!_0x5002cc){const _0x3d38f6=_0x506795['match'](/^(\d+)\.(\d+)\.(\d+)/);if(_0x3d38f6)return{'major':parseInt(_0x3d38f6[0x1],0xa),'minor':parseInt(_0x3d38f6[0x2],0xa),'patch':parseInt(_0x3d38f6[0x3],0xa),'prerelease':null,'build':null};return null;}return{'major':parseInt(_0x5002cc[0x1],0xa),'minor':parseInt(_0x5002cc[0x2],0xa),'patch':parseInt(_0x5002cc[0x3],0xa),'prerelease':_0x5002cc[0x4]?_0x5002cc[0x4]['split']('.'):null,'build':_0x5002cc[0x5]||null};}[a0_0x44feb4(0x1f7)](_0x187dd1,_0x581ef3){const _0x19fa21=a0_0x44feb4;if(_0x187dd1[_0x19fa21(0x220)]!==_0x581ef3['major'])return _0x187dd1[_0x19fa21(0x220)]-_0x581ef3[_0x19fa21(0x220)];if(_0x187dd1[_0x19fa21(0x204)]!==_0x581ef3['minor'])return _0x187dd1[_0x19fa21(0x204)]-_0x581ef3[_0x19fa21(0x204)];if(_0x187dd1[_0x19fa21(0x202)]!==_0x581ef3['patch'])return _0x187dd1[_0x19fa21(0x202)]-_0x581ef3['patch'];if(!_0x187dd1[_0x19fa21(0x1f4)]&&!_0x581ef3['prerelease'])return 0x0;if(!_0x187dd1[_0x19fa21(0x1f4)]&&_0x581ef3[_0x19fa21(0x1f4)])return 0x1;if(_0x187dd1[_0x19fa21(0x1f4)]&&!_0x581ef3[_0x19fa21(0x1f4)])return-0x1;return this['_comparePrerelease'](_0x187dd1['prerelease'],_0x581ef3['prerelease']);}[a0_0x44feb4(0x1fe)](_0xeae282,_0x733a4e){const _0x3c221f=a0_0x44feb4,_0x4ba15a=Math[_0x3c221f(0x1d3)](_0xeae282[_0x3c221f(0x1d7)],_0x733a4e[_0x3c221f(0x1d7)]);for(let _0x37dcf2=0x0;_0x37dcf2<_0x4ba15a;_0x37dcf2++){if(_0x37dcf2>=_0xeae282['length'])return-0x1;if(_0x37dcf2>=_0x733a4e[_0x3c221f(0x1d7)])return 0x1;const _0x364115=_0xeae282[_0x37dcf2],_0x100b37=_0x733a4e[_0x37dcf2],_0x1eeb15=/^\d+$/['test'](_0x364115)?parseInt(_0x364115,0xa):null,_0x1ee0c0=/^\d+$/['test'](_0x100b37)?parseInt(_0x100b37,0xa):null;if(_0x1eeb15!==null&&_0x1ee0c0!==null){if(_0x1eeb15!==_0x1ee0c0)return _0x1eeb15-_0x1ee0c0;continue;}if(_0x1eeb15!==null&&_0x1ee0c0===null)return-0x1;if(_0x1eeb15===null&&_0x1ee0c0!==null)return 0x1;if(_0x364115<_0x100b37)return-0x1;if(_0x364115>_0x100b37)return 0x1;}return 0x0;}[a0_0x44feb4(0x22e)](_0x40d54a){const _0x1e5479=a0_0x44feb4,_0x373b4d=_0x40d54a[_0x1e5479(0x216)](),_0x17ed27=/^(\d+|\*|x)(\.(\d+|\*|x))?(\.(\d+|\*|x))?$/i,_0xd31005=_0x17ed27['exec'](_0x373b4d);if(_0xd31005){const _0x541401=_0xd31005[0x1],_0x4832=_0xd31005[0x3],_0x437a50=_0xd31005[0x5],_0x107661=_0x541401==='*'||_0x541401[_0x1e5479(0x1e7)]()==='x'||_0x4832===undefined||_0x4832==='*'||_0x4832[_0x1e5479(0x1e7)]()==='x'||_0x437a50===undefined||_0x437a50==='*'||_0x437a50['toLowerCase']()==='x';if(_0x107661)return{'prefix':'','operator':'x-range','major':_0x541401==='*'||_0x541401['toLowerCase']()==='x'?null:parseInt(_0x541401,0xa),'minor':!_0x4832||_0x4832==='*'||_0x4832[_0x1e5479(0x1e7)]()==='x'?null:parseInt(_0x4832,0xa),'patch':!_0x437a50||_0x437a50==='*'||_0x437a50[_0x1e5479(0x1e7)]()==='x'?null:parseInt(_0x437a50,0xa),'original':_0x40d54a};}let _0x1f3cb1='',_0x3f0b87=_0x373b4d,_0x1ac521='=';if(_0x373b4d['startsWith']('^'))_0x1f3cb1='^',_0x3f0b87=_0x373b4d['slice'](0x1),_0x1ac521='^';else{if(_0x373b4d[_0x1e5479(0x1ef)]('~'))_0x1f3cb1='~',_0x3f0b87=_0x373b4d[_0x1e5479(0x217)](0x1),_0x1ac521='~';else{if(_0x373b4d['startsWith']('>='))_0x1f3cb1='>=',_0x3f0b87=_0x373b4d[_0x1e5479(0x217)](0x2)['trim'](),_0x1ac521='>=';else{if(_0x373b4d[_0x1e5479(0x1ef)]('>'))_0x1f3cb1='>',_0x3f0b87=_0x373b4d['slice'](0x1)['trim'](),_0x1ac521='>';else{if(_0x373b4d[_0x1e5479(0x1ef)]('<='))_0x1f3cb1='<=',_0x3f0b87=_0x373b4d[_0x1e5479(0x217)](0x2)[_0x1e5479(0x216)](),_0x1ac521='<=';else _0x373b4d[_0x1e5479(0x1ef)]('<')&&(_0x1f3cb1='<',_0x3f0b87=_0x373b4d['slice'](0x1)['trim'](),_0x1ac521='<');}}}}const _0x324b4e=this['_parseVersion'](_0x3f0b87);if(!_0x324b4e)return null;return{'prefix':_0x1f3cb1,'operator':_0x1ac521,'major':_0x324b4e['major'],'minor':_0x324b4e['minor'],'patch':_0x324b4e[_0x1e5479(0x202)],'prerelease':_0x324b4e['prerelease'],'build':_0x324b4e[_0x1e5479(0x1cf)],'original':_0x40d54a};}[a0_0x44feb4(0x1cb)](_0x5afc45,_0x17cdeb){const _0x4e1873=a0_0x44feb4,_0x28cd27={'major':_0x5afc45[_0x4e1873(0x220)],'minor':_0x5afc45[_0x4e1873(0x204)],'patch':_0x5afc45[_0x4e1873(0x202)],'prerelease':_0x5afc45['prerelease']||null,'build':_0x5afc45['build']||null};switch(_0x5afc45['operator']){case'^':return this[_0x4e1873(0x1dd)](_0x28cd27,_0x17cdeb);case'~':return this['_isTildeUpdateAvailable'](_0x28cd27,_0x17cdeb);case'>=':case'>':return this['_isSimpleUpdateAvailable'](_0x28cd27,_0x17cdeb);case'<':case'<=':return this[_0x4e1873(0x1e3)](_0x5afc45,_0x17cdeb);case _0x4e1873(0x1f8):return this['_isXRangeUpdateAvailable'](_0x5afc45,_0x17cdeb);case'=':default:return this['_isExactUpdateAvailable'](_0x28cd27,_0x17cdeb);}}['_isCaretUpdateAvailable'](_0x1b79ea,_0x3681ef){const _0x314cd9=a0_0x44feb4,_0x1c6355=this[_0x314cd9(0x1f7)](_0x3681ef,_0x1b79ea);if(_0x1c6355<=0x0)return![];if(_0x1b79ea[_0x314cd9(0x220)]===0x0&&_0x1b79ea[_0x314cd9(0x204)]===0x0)return _0x3681ef[_0x314cd9(0x220)]===0x0&&_0x3681ef['minor']===0x0;if(_0x1b79ea['major']===0x0)return _0x3681ef['major']===0x0&&_0x3681ef['minor']===_0x1b79ea[_0x314cd9(0x204)];return _0x3681ef[_0x314cd9(0x220)]===_0x1b79ea[_0x314cd9(0x220)];}[a0_0x44feb4(0x1d0)](_0x134cca,_0x510952){const _0x156d10=a0_0x44feb4,_0x3967a4=this['_compareVersions'](_0x510952,_0x134cca);if(_0x3967a4<=0x0)return![];return _0x510952['major']===_0x134cca['major']&&_0x510952[_0x156d10(0x204)]===_0x134cca['minor'];}['_isSimpleUpdateAvailable'](_0x5687ce,_0x12972d){const _0x3abf74=a0_0x44feb4,_0x5527a1=this[_0x3abf74(0x1f7)](_0x12972d,_0x5687ce);return _0x5527a1>0x0;}['_isExactUpdateAvailable'](_0xb7cd59,_0x5a0a6e){return this['_isSimpleUpdateAvailable'](_0xb7cd59,_0x5a0a6e);}[a0_0x44feb4(0x1e3)](_0x242bee,_0xfc75b7){const _0x57eeaf=a0_0x44feb4,_0x247860=this['_compareVersions'](_0xfc75b7,_0x242bee);if(_0x242bee[_0x57eeaf(0x215)]==='<')return _0x247860<0x0;else{if(_0x242bee['operator']==='<=')return _0x247860<=0x0;}return![];}[a0_0x44feb4(0x1e9)](_0x40c662,_0x2b2b8b){const _0x93cae8=a0_0x44feb4;if(_0x40c662['major']!==null&&_0x2b2b8b['major']!==_0x40c662['major'])return![];if(_0x40c662['minor']!==null&&_0x2b2b8b[_0x93cae8(0x204)]!==_0x40c662['minor'])return![];if(_0x40c662['patch']!==null&&_0x2b2b8b['patch']!==_0x40c662[_0x93cae8(0x202)])return![];return!![];}[a0_0x44feb4(0x200)](_0x2b32ca){const _0x227d6b=a0_0x44feb4;if(_0x2b32ca[_0x227d6b(0x223)]('||'))return!![];const _0x125102=_0x2b32ca[_0x227d6b(0x216)]();if(_0x125102['startsWith']('^')||_0x125102[_0x227d6b(0x1ef)]('~'))return![];const _0x5aa5d1=_0x125102[_0x227d6b(0x1eb)](/\s+/)[_0x227d6b(0x21e)](_0x487218=>_0x487218[_0x227d6b(0x1d7)]>0x0);if(_0x5aa5d1[_0x227d6b(0x1d7)]>0x1){const _0x4f3651=/^(>=?|<=?|\^|~|[0-9])/;return _0x5aa5d1['every'](_0x26f2fc=>_0x4f3651[_0x227d6b(0x21d)](_0x26f2fc));}return![];}['_parseComplexRange'](_0x5b4686){const _0x42d479=a0_0x44feb4;if(_0x5b4686[_0x42d479(0x223)]('||')){const _0x24c323=_0x5b4686[_0x42d479(0x1eb)]('||')[_0x42d479(0x219)](_0x583893=>_0x583893[_0x42d479(0x216)]());return{'type':'or','ranges':_0x24c323[_0x42d479(0x219)](_0x19d6a6=>this['_parseComplexRange'](_0x19d6a6))};}const _0x604ed6=_0x5b4686[_0x42d479(0x216)]()['split'](/\s+/)['filter'](_0x229c90=>_0x229c90['length']>0x0);if(_0x604ed6[_0x42d479(0x1d7)]>0x1)return{'type':_0x42d479(0x203),'ranges':_0x604ed6[_0x42d479(0x219)](_0x48ea89=>this['_parseVersionRange'](_0x48ea89))};return{'type':'simple','range':this['_parseVersionRange'](_0x5b4686)};}['_satisfiesRange'](_0x2a6e0d,_0x12259d){if(!_0x2a6e0d||!_0x12259d)return![];return this['_isUpdateAvailable'](_0x2a6e0d,_0x12259d);}['_satisfiesComplexRange'](_0x4adefd,_0x2570e3){const _0x170839=a0_0x44feb4;if(!_0x4adefd||!_0x2570e3)return![];switch(_0x4adefd['type']){case _0x170839(0x20c):return this[_0x170839(0x1cd)](_0x4adefd['range'],_0x2570e3);case'and':return _0x4adefd['ranges']['every'](_0x3b8b54=>this[_0x170839(0x1cd)](_0x3b8b54,_0x2570e3));case'or':return _0x4adefd['ranges'][_0x170839(0x1ff)](_0x1bb5f5=>this[_0x170839(0x1dc)](_0x1bb5f5,_0x2570e3));default:return![];}}async['_checkDependencies'](_0x5b66a7){const _0x504b93=a0_0x44feb4,_0x4f87b7={},_0x154753=Object[_0x504b93(0x22c)](_0x5b66a7);for(let _0x5cef19=0x0;_0x5cef19<_0x154753['length'];_0x5cef19+=RESOLVER_CONFIG['MAX_CONCURRENT_CHECKS']){const _0x48dd90=_0x154753['slice'](_0x5cef19,_0x5cef19+RESOLVER_CONFIG['MAX_CONCURRENT_CHECKS']),_0x4c26fa=_0x48dd90[_0x504b93(0x219)](async([_0x3dd766,_0x152e8e])=>{const _0x510119=_0x504b93;try{const _0x92acee=await this['_getLatestCompatibleVersion'](_0x3dd766,_0x152e8e);if(_0x92acee){const _0x3abe14=_0x152e8e[_0x510119(0x1fc)](/^[\^~]/)?.[0x0]||'^';return{'pkg':_0x3dd766,'newVersion':''+_0x3abe14+_0x92acee,'oldVersion':_0x152e8e};}return null;}catch(_0x5aa464){return this[_0x510119(0x1d6)]?.['error']('Error\x20checking\x20'+_0x3dd766+':',_0x5aa464[_0x510119(0x1e2)]),null;}}),_0x512bce=await Promise['all'](_0x4c26fa);_0x512bce['forEach'](_0x550320=>{_0x550320&&(_0x4f87b7[_0x550320['pkg']]=_0x550320['newVersion']);});}return _0x4f87b7;}async['execute'](_0x52888b,_0x46899e={}){const _0x51919b=a0_0x44feb4;try{this['_validateParameters'](_0x52888b);const {path:_0x43234c,mode:_0x2dd68a,includeDev:_0x439d24}=_0x52888b,{projectDir:_0x53c8a0,agentId:_0x14dae4,directoryAccess:_0x167871}=_0x46899e,_0x2dbdfc=this['_resolveAndValidatePath'](_0x43234c,_0x46899e),_0x476238=a0_0x16031b[_0x51919b(0x205)](_0x2dbdfc,'package.json');this['logger']?.[_0x51919b(0x207)]('Dependency\x20resolver\x20executing',{'mode':_0x2dd68a,'resolvedPath':_0x2dbdfc,'includeDev':_0x439d24,'agentId':_0x14dae4});const _0x18ee30=[];_0x18ee30[_0x51919b(0x1e1)](_0x51919b(0x1ce)+_0x2dbdfc),_0x18ee30[_0x51919b(0x1e1)]('Mode:\x20'+_0x2dd68a);try{await a0_0x11f205[_0x51919b(0x224)](_0x476238);}catch{return{'success':![],'error':_0x51919b(0x1ec)+_0x476238,'output':_0x18ee30['join']('\x0a')};}_0x18ee30['push']('\x0a📦\x20Reading\x20package.json...');const _0x44829b=await a0_0x11f205['readFile'](_0x476238,_0x51919b(0x1e5)),_0x396e55=JSON['parse'](_0x44829b),_0xd8be54={..._0x396e55['dependencies']};_0x439d24&&_0x396e55[_0x51919b(0x231)]&&Object['assign'](_0xd8be54,_0x396e55['devDependencies']);if(Object[_0x51919b(0x1d4)](_0xd8be54)['length']===0x0)return{'success':!![],'mode':_0x2dd68a,'message':'No\x20dependencies\x20found\x20in\x20package.json','statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'output':_0x18ee30['join']('\x0a')};if(Object['keys'](_0xd8be54)[_0x51919b(0x1d7)]>RESOLVER_CONFIG['MAX_DEPENDENCIES'])return{'success':![],'error':_0x51919b(0x211)+Object['keys'](_0xd8be54)[_0x51919b(0x1d7)]+'),\x20max\x20allowed:\x20'+RESOLVER_CONFIG[_0x51919b(0x222)],'output':_0x18ee30[_0x51919b(0x205)]('\x0a')};_0x18ee30[_0x51919b(0x1e1)](_0x51919b(0x1c8)+Object[_0x51919b(0x1d4)](_0xd8be54)['length']+'\x20dependencies\x20to\x20check'),_0x18ee30['push']('🌐\x20Querying\x20npm\x20registry\x20for\x20updates...');const _0x23a811=await this[_0x51919b(0x1fb)](_0xd8be54);_0x18ee30[_0x51919b(0x1e1)]('\x0a✅\x20Registry\x20check\x20complete'),_0x18ee30['push'](_0x51919b(0x21a)+Object[_0x51919b(0x1d4)](_0x23a811)[_0x51919b(0x1d7)]);if(Object[_0x51919b(0x1d4)](_0x23a811)[_0x51919b(0x1d7)]>0x0){_0x18ee30['push'](_0x51919b(0x1d5));for(const [_0x400c34,_0x235fe9]of Object['entries'](_0x23a811)){const _0x3172f8=_0xd8be54[_0x400c34];_0x18ee30[_0x51919b(0x1e1)](_0x51919b(0x21f)+_0x400c34+':\x20'+_0x3172f8+_0x51919b(0x206)+_0x235fe9);}}else _0x18ee30[_0x51919b(0x1e1)](_0x51919b(0x1df));if(_0x2dd68a===_0x51919b(0x1c2))return Object['keys'](_0x23a811)[_0x51919b(0x1d7)]>0x0&&_0x18ee30[_0x51919b(0x1e1)]('\x0a💡\x20Run\x20with\x20mode=\x22fix\x22\x20or\x20mode=\x22auto\x22\x20to\x20apply\x20updates'),{'success':!![],'mode':'check','message':_0x51919b(0x20f)+Object['keys'](_0x23a811)[_0x51919b(0x1d7)]+'\x20package(s)\x20with\x20available\x20updates','statistics':{'totalDependencies':Object[_0x51919b(0x1d4)](_0xd8be54)['length'],'updatesAvailable':Object[_0x51919b(0x1d4)](_0x23a811)['length'],'updatesApplied':0x0,'errors':0x0},'updates':_0x23a811,'output':_0x18ee30['join']('\x0a')};if((_0x2dd68a==='fix'||_0x2dd68a===_0x51919b(0x1cc))&&Object[_0x51919b(0x1d4)](_0x23a811)['length']>0x0){_0x18ee30['push']('\x0a💾\x20Creating\x20backup\x20of\x20package.json...');const _0x4439cb=await this[_0x51919b(0x1db)](_0x476238);_0x4439cb?_0x18ee30['push'](_0x51919b(0x1ca)+a0_0x16031b['basename'](_0x4439cb)):_0x18ee30['push'](_0x51919b(0x226));_0x18ee30[_0x51919b(0x1e1)](_0x51919b(0x1e4));for(const [_0x141a92,_0x35dd33]of Object[_0x51919b(0x22c)](_0x23a811)){_0x396e55[_0x51919b(0x20d)]?.[_0x141a92]&&(_0x396e55['dependencies'][_0x141a92]=_0x35dd33),_0x396e55[_0x51919b(0x231)]?.[_0x141a92]&&(_0x396e55['devDependencies'][_0x141a92]=_0x35dd33);}await a0_0x11f205['writeFile'](_0x476238,JSON['stringify'](_0x396e55,null,0x2)+'\x0a'),_0x18ee30['push']('✅\x20package.json\x20updated'),_0x18ee30[_0x51919b(0x1e1)]('\x0a📥\x20Installing\x20dependencies\x20(this\x20may\x20take\x20a\x20while)...');try{const {stdout:_0x54ef8d,stderr:_0x410c9}=await exec(_0x51919b(0x20a),{'cwd':_0x2dbdfc,'timeout':RESOLVER_CONFIG[_0x51919b(0x232)],'maxBuffer':0x400*0x400*0xa});if(_0x54ef8d){const _0x36fede=_0x54ef8d[_0x51919b(0x216)]()['split']('\x0a');_0x36fede[_0x51919b(0x1d7)]>0xa?_0x18ee30['push']('\x20\x20'+_0x36fede['slice'](-0x5)['join']('\x0a\x20\x20')):_0x18ee30[_0x51919b(0x1e1)]('\x20\x20'+_0x54ef8d[_0x51919b(0x216)]());}_0x410c9&&!_0x410c9['includes'](_0x51919b(0x1f3))&&_0x18ee30[_0x51919b(0x1e1)]('⚠️\x20\x20'+_0x410c9[_0x51919b(0x216)]());_0x18ee30[_0x51919b(0x1e1)](_0x51919b(0x22a));try{const {stdout:_0x296af4}=await exec(_0x51919b(0x214),{'cwd':_0x2dbdfc,'timeout':0x7530}),_0x5d908d=JSON['parse'](_0x296af4);if(_0x5d908d['dependencies']){_0x18ee30['push']('\x0a📦\x20Installed\x20versions:');for(const _0x2d3d1a of Object['keys'](_0x23a811)){_0x5d908d[_0x51919b(0x20d)][_0x2d3d1a]&&_0x18ee30['push'](_0x51919b(0x21f)+_0x2d3d1a+'@'+_0x5d908d['dependencies'][_0x2d3d1a][_0x51919b(0x213)]);}}}catch(_0x1bb5ea){this[_0x51919b(0x1d6)]?.[_0x51919b(0x1c6)]('npm\x20ls\x20failed:',_0x1bb5ea[_0x51919b(0x1e2)]);}return{'success':!![],'mode':_0x2dd68a,'message':_0x51919b(0x1ee)+Object['keys'](_0x23a811)['length']+'\x20package(s)','statistics':{'totalDependencies':Object[_0x51919b(0x1d4)](_0xd8be54)['length'],'updatesAvailable':Object['keys'](_0x23a811)[_0x51919b(0x1d7)],'updatesApplied':Object[_0x51919b(0x1d4)](_0x23a811)['length'],'errors':0x0},'updates':_0x23a811,'backupCreated':_0x4439cb!==null,'backupPath':_0x4439cb,'output':_0x18ee30[_0x51919b(0x205)]('\x0a')};}catch(_0x406b09){_0x18ee30[_0x51919b(0x1e1)]('\x0a❌\x20npm\x20install\x20failed:\x20'+_0x406b09['message']);if(_0x4439cb)try{await a0_0x11f205['copyFile'](_0x4439cb,_0x476238),_0x18ee30['push']('\uD83D\uDD04 Restored package.json from backup');}catch(_0x5e1b53){_0x18ee30[_0x51919b(0x1e1)]('⚠️\x20\x20Failed\x20to\x20restore\x20backup');}return{'success':![],'mode':_0x2dd68a,'error':'npm\x20install\x20failed:\x20'+_0x406b09['message'],'statistics':{'totalDependencies':Object['keys'](_0xd8be54)['length'],'updatesAvailable':Object[_0x51919b(0x1d4)](_0x23a811)['length'],'updatesApplied':0x0,'errors':0x1},'updates':_0x23a811,'backupCreated':_0x4439cb!==null,'output':_0x18ee30['join']('\x0a')};}}else{if(_0x2dd68a===_0x51919b(0x1d8)||_0x2dd68a==='auto')return _0x18ee30['push'](_0x51919b(0x208)),{'success':!![],'mode':_0x2dd68a,'message':'All\x20dependencies\x20are\x20up-to-date','statistics':{'totalDependencies':Object[_0x51919b(0x1d4)](_0xd8be54)[_0x51919b(0x1d7)],'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x0},'updates':{},'output':_0x18ee30['join']('\x0a')};}}catch(_0x6329b){return this[_0x51919b(0x1d6)]?.['error']('Dependency\x20resolver\x20error:',_0x6329b),{'success':![],'error':_0x6329b['message'],'statistics':{'totalDependencies':0x0,'updatesAvailable':0x0,'updatesApplied':0x0,'errors':0x1},'output':_0x6329b['message']};}}}export default DependencyResolverTool;
@@ -1 +1 @@
1
- const a0_0x521141=a0_0x3b4e;function a0_0x3b4e(_0x37e915,_0xf64dd8){_0x37e915=_0x37e915-0xeb;const _0x3ef90d=a0_0x3ef9();let _0x3b4e8f=_0x3ef90d[_0x37e915];if(a0_0x3b4e['TnKfgs']===undefined){var _0x2f6997=function(_0x4438aa){const _0x2c626e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b8e05='',_0x574c29='';for(let _0x474ef0=0x0,_0x569201,_0x2697c4,_0x972ec9=0x0;_0x2697c4=_0x4438aa['charAt'](_0x972ec9++);~_0x2697c4&&(_0x569201=_0x474ef0%0x4?_0x569201*0x40+_0x2697c4:_0x2697c4,_0x474ef0++%0x4)?_0x1b8e05+=String['fromCharCode'](0xff&_0x569201>>(-0x2*_0x474ef0&0x6)):0x0){_0x2697c4=_0x2c626e['indexOf'](_0x2697c4);}for(let _0x38e11a=0x0,_0x4a7d07=_0x1b8e05['length'];_0x38e11a<_0x4a7d07;_0x38e11a++){_0x574c29+='%'+('00'+_0x1b8e05['charCodeAt'](_0x38e11a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x574c29);};a0_0x3b4e['ZEtmbr']=_0x2f6997,a0_0x3b4e['bswutE']={},a0_0x3b4e['TnKfgs']=!![];}const _0x54c452=_0x3ef90d[0x0],_0x5f15fd=_0x37e915+_0x54c452,_0x45d0e9=a0_0x3b4e['bswutE'][_0x5f15fd];return!_0x45d0e9?(_0x3b4e8f=a0_0x3b4e['ZEtmbr'](_0x3b4e8f),a0_0x3b4e['bswutE'][_0x5f15fd]=_0x3b4e8f):_0x3b4e8f=_0x45d0e9,_0x3b4e8f;}(function(_0x2edfda,_0x51441c){const _0x185642=a0_0x3b4e,_0x429242=_0x2edfda();while(!![]){try{const _0x21ea64=parseInt(_0x185642(0x140))/0x1+-parseInt(_0x185642(0x125))/0x2*(-parseInt(_0x185642(0x10e))/0x3)+-parseInt(_0x185642(0x122))/0x4*(-parseInt(_0x185642(0x143))/0x5)+parseInt(_0x185642(0x135))/0x6*(parseInt(_0x185642(0x119))/0x7)+-parseInt(_0x185642(0xfa))/0x8+-parseInt(_0x185642(0xee))/0x9*(parseInt(_0x185642(0x116))/0xa)+-parseInt(_0x185642(0x147))/0xb;if(_0x21ea64===_0x51441c)break;else _0x429242['push'](_0x429242['shift']());}catch(_0x1d2eef){_0x429242['push'](_0x429242['shift']());}}}(a0_0x3ef9,0x3ea93));import{BaseTool}from'./baseTool.js';import{promises as a0_0x1b8e05}from'fs';import a0_0x574c29 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_0x521141(0xfc)};class FileContentReplaceTool extends BaseTool{constructor(_0x474ef0={},_0x569201=null){const _0x1c6407=a0_0x521141;super(_0x474ef0,_0x569201),this['requiresProject']=!![],this['isAsync']=!![],this['timeout']=_0x474ef0[_0x1c6407(0x146)]||0x1d4c0,this[_0x1c6407(0x149)]={...REPLACE_CONFIG,..._0x474ef0['replaceConfig']};}[a0_0x521141(0x145)](){const _0x39da0c=a0_0x521141;return _0x39da0c(0x103)+REPLACE_CONFIG[_0x39da0c(0xf5)]/(0x400*0x400)+'MB\x0a-\x20Maximum\x20old\x20content\x20size:\x20'+REPLACE_CONFIG[_0x39da0c(0xf9)]/0x400+_0x39da0c(0x132)+REPLACE_CONFIG[_0x39da0c(0x11d)]/0x400+_0x39da0c(0x138)+REPLACE_CONFIG[_0x39da0c(0x142)]+'\x0a-\x20Maximum\x20files\x20per\x20operation:\x20'+REPLACE_CONFIG['MAX_FILES_PER_OPERATION']+_0x39da0c(0xf3);}[a0_0x521141(0x137)](_0x2697c4){const _0x8fc3ee=a0_0x521141;try{if(_0x2697c4['trim']()['startsWith']('{'))return this['parseJSON'](_0x2697c4);return this[_0x8fc3ee(0x15a)](_0x2697c4);}catch(_0x972ec9){this['logger']?.[_0x8fc3ee(0x131)](_0x8fc3ee(0x101),{'error':_0x972ec9[_0x8fc3ee(0x12e)]});throw new Error(_0x8fc3ee(0x157)+_0x972ec9['message']);}}[a0_0x521141(0x111)](_0x38e11a){const _0x3a1329=a0_0x521141,_0x4a7d07=JSON['parse'](_0x38e11a);if(!_0x4a7d07['files']||!Array['isArray'](_0x4a7d07['files']))throw new Error(_0x3a1329(0x151));return{'files':_0x4a7d07['files']['map'](_0x17681e=>({'path':_0x17681e[_0x3a1329(0x133)],'replacements':(_0x17681e[_0x3a1329(0x10a)]||[])[_0x3a1329(0x105)](_0x3d1969=>({'oldContent':_0x3d1969['oldContent'],'newContent':_0x3d1969[_0x3a1329(0x11c)],'mode':_0x3d1969['mode']||REPLACE_CONFIG[_0x3a1329(0xeb)],'linesLimit':_0x3d1969['linesLimit']||null}))}))};}[a0_0x521141(0x15a)](_0x5e03fa){const _0x3d3138=a0_0x521141,_0x5159eb=[],_0x16a458=/<file\s+path="([^"]+)">([\s\S]*?)<\/file>/gi;let _0x307b6d;while((_0x307b6d=_0x16a458[_0x3d3138(0x100)](_0x5e03fa))!==null){const _0x5dac51=_0x307b6d[0x1],_0x500e16=_0x307b6d[0x2],_0x5264db=[],_0x1c632b=/<replace(?:\s+([^>]*?))?>([\s\S]*?)<\/replace>/gi;let _0x4262cb;while((_0x4262cb=_0x1c632b[_0x3d3138(0x100)](_0x500e16))!==null){const _0x58c23d=_0x4262cb[0x1]||'',_0x540494=_0x4262cb[0x2],_0x154748=this['extractAttribute'](_0x58c23d,'mode')||REPLACE_CONFIG[_0x3d3138(0xeb)],_0x3f548d=this['extractAttribute'](_0x58c23d,_0x3d3138(0x156)),_0x4acbab=/<old-content>([\s\S]*?)<\/old-content>/i['exec'](_0x540494);if(!_0x4acbab){this[_0x3d3138(0x14a)]?.['warn']('Missing\x20old-content\x20in\x20replace\x20tag');continue;}const _0x3c85c1=_0x4acbab[0x1],_0x53fa66=/<new-content>([\s\S]*?)<\/new-content>/i['exec'](_0x540494);if(!_0x53fa66){this[_0x3d3138(0x14a)]?.[_0x3d3138(0x113)]('Missing\x20new-content\x20in\x20replace\x20tag');continue;}const _0x4a64fe=_0x53fa66[0x1],_0x5ebbdc=this[_0x3d3138(0x161)](_0x3c85c1,_0x154748),_0xbd215f=this['applyTrimMode'](_0x4a64fe,_0x154748);_0x5264db['push']({'oldContent':_0x5ebbdc,'newContent':_0xbd215f,'mode':_0x154748,'linesLimit':_0x3f548d});}_0x5264db['length']>0x0&&_0x5159eb[_0x3d3138(0x152)]({'path':_0x5dac51,'replacements':_0x5264db});}return{'files':_0x5159eb};}['extractAttribute'](_0x3edf41,_0xfe729c){const _0x1b4f18=a0_0x521141,_0x26920c=new RegExp(_0xfe729c+_0x1b4f18(0x10c),'i'),_0x550b81=_0x26920c[_0x1b4f18(0x100)](_0x3edf41);return _0x550b81?_0x550b81[0x1]:null;}[a0_0x521141(0x161)](_0x3cd20d,_0x45a0e2){const _0x2ecccc=a0_0x521141;switch(_0x45a0e2){case _0x2ecccc(0x144):return _0x3cd20d['replace'](/^\n+|\n+$/g,'');case _0x2ecccc(0x112):return _0x3cd20d;case _0x2ecccc(0xfc):default:return _0x3cd20d[_0x2ecccc(0xfc)]();}}['getRequiredParameters'](){const _0x2ca4cc=a0_0x521141;return[_0x2ca4cc(0x15f)];}[a0_0x521141(0xf2)](_0x4c439e){const _0x33959b=a0_0x521141,_0x5bc401=[];if(!_0x4c439e['files']||!Array['isArray'](_0x4c439e[_0x33959b(0x15f)]))_0x5bc401['push'](_0x33959b(0xed));else{_0x4c439e[_0x33959b(0x15f)][_0x33959b(0x118)]===0x0&&_0x5bc401[_0x33959b(0x152)](_0x33959b(0x108));_0x4c439e['files'][_0x33959b(0x118)]>this['replaceConfig']['MAX_FILES_PER_OPERATION']&&_0x5bc401[_0x33959b(0x152)](_0x33959b(0xfe)+this['replaceConfig'][_0x33959b(0x109)]+_0x33959b(0xf4));for(const _0x9c0e40 of _0x4c439e['files']){!_0x9c0e40[_0x33959b(0x133)]&&_0x5bc401[_0x33959b(0x152)](_0x33959b(0x11b));_0x9c0e40[_0x33959b(0x133)]&&_0x9c0e40[_0x33959b(0x133)]['includes']('..')&&_0x5bc401[_0x33959b(0x152)](_0x33959b(0x134)+_0x9c0e40[_0x33959b(0x133)]);if(!_0x9c0e40['replacements']||!Array[_0x33959b(0x15d)](_0x9c0e40[_0x33959b(0x10a)]))_0x5bc401['push']('File\x20'+_0x9c0e40['path']+'\x20must\x20have\x20replacements\x20array');else{if(_0x9c0e40['replacements'][_0x33959b(0x118)]===0x0)_0x5bc401[_0x33959b(0x152)](_0x33959b(0x13b)+_0x9c0e40['path']+_0x33959b(0xf7));else for(const _0x3fca22 of _0x9c0e40['replacements']){!_0x3fca22['oldContent']&&_0x3fca22['oldContent']!==''&&_0x5bc401['push'](_0x33959b(0x155)+_0x9c0e40[_0x33959b(0x133)]+_0x33959b(0x15c)),!_0x3fca22['newContent']&&_0x3fca22[_0x33959b(0x11c)]!==''&&_0x5bc401['push']('Replacement\x20in\x20'+_0x9c0e40['path']+_0x33959b(0x106)),_0x3fca22['oldContent']&&_0x3fca22['oldContent']['length']>this[_0x33959b(0x149)][_0x33959b(0xf9)]&&_0x5bc401[_0x33959b(0x152)](_0x33959b(0x114)+this[_0x33959b(0x149)]['MAX_OLD_CONTENT_SIZE']/0x400+_0x33959b(0x124)),_0x3fca22[_0x33959b(0x11c)]&&_0x3fca22[_0x33959b(0x11c)]['length']>this['replaceConfig'][_0x33959b(0x11d)]&&_0x5bc401[_0x33959b(0x152)](_0x33959b(0x115)+this[_0x33959b(0x149)]['MAX_NEW_CONTENT_SIZE']/0x400+_0x33959b(0x124)),_0x3fca22['mode']&&![_0x33959b(0xfc),'newlines',_0x33959b(0x112)][_0x33959b(0x12b)](_0x3fca22['mode'])&&_0x5bc401[_0x33959b(0x152)](_0x33959b(0x121)+_0x3fca22[_0x33959b(0x128)]+'.\x20Must\x20be\x20\x27trim\x27,\x20\x27newlines\x27,\x20or\x20\x27none\x27');}}}}if(_0x5bc401['length']>0x0)throw new Error(_0x33959b(0xf1)+_0x5bc401[_0x33959b(0x120)](',\x20'));return{'valid':!![],'errors':[]};}async['execute'](_0x1e70cb,_0x5137f0){const _0x271547=a0_0x521141,{files:_0x6f0067}=_0x1e70cb,{projectDir:_0x30e8db,agentId:_0x16d8e4,directoryAccess:_0x46e659}=_0x5137f0;let _0x2d0151=_0x30e8db||process[_0x271547(0x10d)]();_0x46e659&&_0x46e659['workingDirectory']&&(_0x2d0151=_0x46e659[_0x271547(0x136)],this[_0x271547(0x14a)]?.['info']('Using\x20agent\x20configured\x20working\x20directory',{'workingDirectory':_0x46e659['workingDirectory'],'agentId':_0x16d8e4}));this[_0x271547(0x14a)]?.['info']('Executing\x20file\x20content\x20replace',{'fileCount':_0x6f0067['length'],'workingDirectory':_0x2d0151,'agentId':_0x16d8e4});const _0x137e43=[],_0x131263={'filesProcessed':0x0,'filesModified':0x0,'totalReplacements':0x0,'backupsCreated':0x0,'errors':0x0};for(const _0x5ea314 of _0x6f0067){try{const _0x116d53=await this['processFile'](_0x5ea314,_0x2d0151,_0x46e659);_0x137e43[_0x271547(0x152)](_0x116d53),_0x131263['filesProcessed']++,_0x116d53[_0x271547(0xec)]>0x0&&(_0x131263[_0x271547(0x11a)]++,_0x131263[_0x271547(0x12f)]+=_0x116d53['replacementsMade']),_0x116d53[_0x271547(0x126)]&&_0x131263[_0x271547(0xfd)]++;}catch(_0x43ac3d){this[_0x271547(0x14a)]?.[_0x271547(0x131)](_0x271547(0x14c)+_0x5ea314['path'],{'error':_0x43ac3d['message']}),_0x137e43[_0x271547(0x152)]({'filePath':_0x5ea314['path'],'success':![],'error':_0x43ac3d['message']}),_0x131263['errors']++;}}return{'success':_0x131263[_0x271547(0x14e)]===0x0,'results':_0x137e43,'statistics':_0x131263,'summary':this['generateSummary'](_0x131263),'toolUsed':_0x271547(0x127)};}async[a0_0x521141(0x159)](_0x259e28,_0x4f77a4,_0x5e87e1){const _0x3571dd=a0_0x521141,{path:_0x2f0bcb,replacements:_0x40a27d}=_0x259e28,_0x48cab0=a0_0x574c29['isAbsolute'](_0x2f0bcb)?_0x2f0bcb:a0_0x574c29['resolve'](_0x4f77a4,_0x2f0bcb);if(_0x5e87e1){const _0x531ce2=this['isPathAccessible'](_0x48cab0,_0x4f77a4,_0x5e87e1);if(!_0x531ce2)throw new Error('Path\x20not\x20accessible:\x20'+_0x2f0bcb);}try{await a0_0x1b8e05['access'](_0x48cab0);}catch(_0x269a40){throw new Error('File\x20not\x20found:\x20'+_0x2f0bcb);}const _0x24186b=await a0_0x1b8e05[_0x3571dd(0x14f)](_0x48cab0);if(_0x24186b[_0x3571dd(0xf8)]>this[_0x3571dd(0x149)]['MAX_FILE_SIZE'])throw new Error('File\x20too\x20large\x20(max\x20'+this['replaceConfig'][_0x3571dd(0xf5)]/(0x400*0x400)+_0x3571dd(0x12c)+_0x2f0bcb);let _0x21388e=await a0_0x1b8e05[_0x3571dd(0x13f)](_0x48cab0,_0x3571dd(0x13a));const _0x273126=_0x21388e;let _0x48abb4=![];if(this['replaceConfig'][_0x3571dd(0x102)]){const _0x1fada1=_0x48cab0+this[_0x3571dd(0x149)][_0x3571dd(0x15e)];try{await a0_0x1b8e05['writeFile'](_0x1fada1,_0x273126,'utf-8'),_0x48abb4=!![];}catch(_0x2df031){this['logger']?.[_0x3571dd(0x113)](_0x3571dd(0x14b)+_0x2df031['message']);}}let _0x572dab=0x0;const _0x4d45ad=[];for(const _0x4ef624 of _0x40a27d){const _0x397ff7=await this['applyReplacement'](_0x21388e,_0x4ef624[_0x3571dd(0x150)],_0x4ef624['newContent'],_0x4ef624['linesLimit'],_0x4ef624['mode']);_0x21388e=_0x397ff7[_0x3571dd(0x11c)],_0x572dab+=_0x397ff7['count'],_0x4d45ad[_0x3571dd(0x152)]({'oldContent':_0x4ef624['oldContent'][_0x3571dd(0xf0)](0x0,0x32)+(_0x4ef624['oldContent'][_0x3571dd(0x118)]>0x32?_0x3571dd(0x160):''),'newContent':_0x4ef624['newContent'][_0x3571dd(0xf0)](0x0,0x32)+(_0x4ef624['newContent'][_0x3571dd(0x118)]>0x32?_0x3571dd(0x160):''),'count':_0x397ff7[_0x3571dd(0x104)],'mode':_0x4ef624[_0x3571dd(0x128)],'linesLimit':_0x4ef624[_0x3571dd(0x14d)]});}_0x572dab>0x0&&await a0_0x1b8e05[_0x3571dd(0x153)](_0x48cab0,_0x21388e,'utf-8');const _0x522f73=_0x572dab>0x0?this[_0x3571dd(0x11e)](_0x273126,_0x21388e):null;return{'filePath':_0x2f0bcb,'resolvedPath':_0x48cab0,'success':!![],'replacementsMade':_0x572dab,'backupCreated':_0x48abb4,'replacementDetails':_0x4d45ad,'diff':_0x522f73,'message':_0x572dab>0x0?_0x3571dd(0x11f)+_0x572dab+_0x3571dd(0x12a)+_0x2f0bcb:'No\x20replacements\x20made\x20in\x20'+_0x2f0bcb+'\x20(content\x20not\x20found)'};}[a0_0x521141(0x148)](_0x9728,_0x400043,_0x83c739){const _0x3fa765=a0_0x521141,_0xda6751=a0_0x574c29['relative'](_0x400043,_0x9728);if(!_0xda6751['startsWith']('..')&&!a0_0x574c29['isAbsolute'](_0xda6751))return!![];if(_0x83c739[_0x3fa765(0x13c)])for(const _0x1c4afd of _0x83c739['writeEnabledDirectories']){const _0x46824e=a0_0x574c29[_0x3fa765(0x117)](_0x1c4afd,_0x9728);if(!_0x46824e[_0x3fa765(0xf6)]('..')&&!a0_0x574c29[_0x3fa765(0x10f)](_0x46824e))return!![];}return![];}async['applyReplacement'](_0xe4d286,_0x20a257,_0x1fd319,_0x283efc,_0x104a66){const _0xb1807b=a0_0x521141;if(!_0x283efc){const _0x2aa623=this[_0xb1807b(0x15b)](_0xe4d286,_0x20a257);if(_0x2aa623===0x0)return{'newContent':_0xe4d286,'count':0x0};const _0x4d9bbb=_0xe4d286['split'](_0x20a257)[_0xb1807b(0x120)](_0x1fd319);return{'newContent':_0x4d9bbb,'count':_0x2aa623};}const _0x5ed233=this[_0xb1807b(0xff)](_0x283efc),_0x2f01b6=_0xe4d286[_0xb1807b(0x10b)]('\x0a');let _0xc42fe=0x0;for(let _0x4e36b6=0x0;_0x4e36b6<_0x2f01b6['length'];_0x4e36b6++){const _0x2591f6=_0x4e36b6+0x1;if(_0x5ed233[_0xb1807b(0x141)](_0x2591f6)){if(_0x2f01b6[_0x4e36b6][_0xb1807b(0x12b)](_0x20a257)){const _0x439c9b=this[_0xb1807b(0x15b)](_0x2f01b6[_0x4e36b6],_0x20a257);_0x2f01b6[_0x4e36b6]=_0x2f01b6[_0x4e36b6][_0xb1807b(0x10b)](_0x20a257)['join'](_0x1fd319),_0xc42fe+=_0x439c9b;}}}return{'newContent':_0x2f01b6[_0xb1807b(0x120)]('\x0a'),'count':_0xc42fe};}['countOccurrences'](_0x374ab8,_0x5c1947){const _0x29abe0=a0_0x521141;if(!_0x5c1947)return 0x0;return _0x374ab8['split'](_0x5c1947)[_0x29abe0(0x118)]-0x1;}['parseLineRanges'](_0x507f84){const _0x14b407=a0_0x521141,_0xc0b367=new Set();if(!_0x507f84||_0x507f84['trim']()==='')return _0xc0b367;const _0x1212e4=_0x507f84[_0x14b407(0x10b)](',');for(const _0x417d5f of _0x1212e4){const _0x1972d5=_0x417d5f[_0x14b407(0xfc)]();if(_0x1972d5==='')continue;if(_0x1972d5[_0x14b407(0x12b)]('-')){const [_0xe4c693,_0x1b78e9]=_0x1972d5[_0x14b407(0x10b)]('-')[_0x14b407(0x105)](_0x36ec86=>parseInt(_0x36ec86[_0x14b407(0xfc)](),0xa));if(!isNaN(_0xe4c693)&&!isNaN(_0x1b78e9)&&_0x1b78e9-_0xe4c693<this[_0x14b407(0x149)]['MAX_LINE_RANGE_SIZE'])for(let _0x1ff325=_0xe4c693;_0x1ff325<=_0x1b78e9;_0x1ff325++){_0xc0b367[_0x14b407(0xef)](_0x1ff325);}}else{const _0x10fbc2=parseInt(_0x1972d5,0xa);!isNaN(_0x10fbc2)&&_0xc0b367[_0x14b407(0xef)](_0x10fbc2);}}return _0xc0b367;}[a0_0x521141(0x11e)](_0x5038ed,_0x88b2f7){const _0x4127e2=a0_0x521141,_0x682dff=_0x5038ed[_0x4127e2(0x10b)]('\x0a'),_0x34c5a9=_0x88b2f7['split']('\x0a');let _0x4be869=-0x1,_0x2199a8=-0x1;const _0xce8682=Math[_0x4127e2(0xfb)](_0x682dff[_0x4127e2(0x118)],_0x34c5a9[_0x4127e2(0x118)]);for(let _0x319d16=0x0;_0x319d16<_0xce8682;_0x319d16++){const _0x1feec9=_0x319d16<_0x682dff[_0x4127e2(0x118)]?_0x682dff[_0x319d16]:'',_0x39247c=_0x319d16<_0x34c5a9[_0x4127e2(0x118)]?_0x34c5a9[_0x319d16]:'';if(_0x1feec9!==_0x39247c){if(_0x4be869===-0x1)_0x4be869=_0x319d16;_0x2199a8=_0x319d16;}}if(_0x4be869===-0x1)return'No\x20differences';const _0x277f71=this[_0x4127e2(0x149)][_0x4127e2(0x158)],_0x57fb29=Math['max'](0x0,_0x4be869-_0x277f71),_0x4c3b1d=Math[_0x4127e2(0x13e)](_0xce8682-0x1,_0x2199a8+_0x277f71);if(_0x4c3b1d-_0x57fb29>this[_0x4127e2(0x149)]['MAX_DIFF_LINES'])return _0x4127e2(0x13d)+(_0x4c3b1d-_0x57fb29+0x1)+'\x20lines),\x20showing\x20summary\x20only:\x0a'+('Changed\x20lines:\x20'+(_0x4be869+0x1)+'\x20to\x20'+(_0x2199a8+0x1));let _0x187c69=_0x4127e2(0x154)+(_0x57fb29+0x1)+','+(_0x4c3b1d-_0x57fb29+0x1)+'\x20+'+(_0x57fb29+0x1)+','+(_0x4c3b1d-_0x57fb29+0x1)+_0x4127e2(0x129);for(let _0x43e540=_0x57fb29;_0x43e540<=_0x4c3b1d;_0x43e540++){const _0x535f1c=_0x43e540<_0x682dff[_0x4127e2(0x118)]?_0x682dff[_0x43e540]:'',_0x42ecde=_0x43e540<_0x34c5a9['length']?_0x34c5a9[_0x43e540]:'';_0x535f1c===_0x42ecde?_0x187c69+='\x20\x20'+_0x535f1c+'\x0a':(_0x187c69+='-\x20'+_0x535f1c+'\x0a',_0x187c69+='+\x20'+_0x42ecde+'\x0a');}return _0x187c69;}[a0_0x521141(0x12d)](_0xbce435){const _0x263e0a=a0_0x521141;return('\x0aProcessed\x20'+_0xbce435['filesProcessed']+_0x263e0a(0x130)+_0xbce435['filesModified']+'\x20file(s)\x0aTotal\x20replacements:\x20'+_0xbce435[_0x263e0a(0x12f)]+_0x263e0a(0x110)+_0xbce435['backupsCreated']+_0x263e0a(0x123)+_0xbce435[_0x263e0a(0x14e)]+'\x0a\x20\x20\x20\x20')[_0x263e0a(0xfc)]();}async[a0_0x521141(0x139)](_0xc55e9d){const _0x2461b4=a0_0x521141;this['logger']?.[_0x2461b4(0x107)]('File\x20content\x20replace\x20tool\x20cleanup\x20completed',{'operationId':_0xc55e9d});}}function a0_0x3ef9(){const _0x34411a=['BwfW','ig1PC3nPBMCGBMv3q29UDgvUDa','Aw5MBW','zMLSzxmGyxjYyxKGy2fUBM90igjLigvTChr5','tufyx0zjtevtx1bfuL9puevsqvrjt04','CMvWBgfJzw1LBNrZ','C3bSAxq','pvSIj10Ow14Ij10QkvSIj10','y3DK','ovHzsM1crW','AxnbyNnVBhv0zq','cKjHy2T1ChmGy3jLyxrLzdOG','CgfYC2vku09o','BM9Uzq','D2fYBG','B2XKq29UDgvUDcb0B28GBgfYz2uGkg1HEca','BMv3q29UDgvUDcb0B28GBgfYz2uGkg1HEca','mtbJsfbHsvm','CMvSyxrPDMu','BgvUz3rO','ndeZmJaZEwnhsM9O','zMLSzxnnB2rPzMLLza','rwfJAcbMAwXLig11C3qGAgf2zsbHihbHDgG','BMv3q29UDgvUDa','tufyx05fv19dt05uru5ux1njwKu','z2vUzxjHDgveAwzM','twfKzsa','AM9PBG','sw52ywXPzcbTB2rLoIa','mJaWs3jYueff','cKvYCM9YCZOG','s0iP','ntK4mJjSq3jvs1i','yMfJA3vWq3jLyxrLza','zMLSzs1JB250zw50lxjLCgXHy2u','Bw9Kzq','iebacG','ihjLCgXHy2vTzw50khmPigLUia','Aw5JBhvKzxm','tuiPoIa','z2vUzxjHDgvtDw1Tyxj5','BwvZC2fNzq','Dg90ywXszxbSywnLBwvUDhm','igzPBguOCYKktw9KAwzPzwqG','zxjYB3i','s0iklsbnyxHPBxvTig5LDYbJB250zw50ihnPEMu6ia','Cgf0Aa','ugf0Acb0CMf2zxjZywWGkc4UksbUB3qGywXSB3DLzcbMB3iGC2vJDxjPDhK6ia','mtjJtvjAA0e','D29YA2LUz0rPCMvJDg9YEq','CgfYC2vqyxjHBwv0zxjZ','s0iklsbnyxHPBxvTihjLCgXHy2vTzw50CYbWzxiGzMLSztOG','y2XLyw51Ca','DxrMltG','rMLSzsa','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','rgLMzIb0B28GBgfYz2uGka','BwLU','CMvHzezPBgu','mJi5ntu2sxnZEgzN','AgfZ','tufyx1jfueXbq0vnru5uu19qrvjFrKLmrq','nta2ntbTs2HewNm','BMv3BgLUzxm','z2v0rgvZy3jPChrPB24','DgLTzw91Da','mJqZmdG5uNPxq3LO','AxnqyxrOqwnJzxnZAwjSzq','CMvWBgfJzunVBMzPzW','Bg9Nz2vY','rMfPBgvKihrVignYzwf0zsbIywnRDxa6ia','rxjYB3iGChjVy2vZC2LUzYbMAwXLia','BgLUzxnmAw1PDa','zxjYB3jZ','C3rHDa','B2XKq29UDgvUDa','sLnptIbTDxn0igHHDMuGiMzPBgvZiIbHCNjHEq','ChvZAa','D3jPDgvgAwXL','qeaGlq','uMvWBgfJzw1LBNqGAw4G','BgLUzxmTBgLTAxq','ugfYyw1LDgvYihbHCNnPBMCGzMfPBgvKoIa','reLgrL9dt05urvHux0XjtKvt','ChjVy2vZC0zPBgu','CgfYC2vytuW','y291BNrpy2n1CNjLBMnLCW','ig1PC3nPBMCGB2XKq29UDgvUDa','AxnbCNjHEq','qKfds1vqx0vyvevou0LptG','zMLSzxm','lI4U','yxbWBhLuCMLTtw9Kzq','revgqvvmvf9uuKLnx01preu','CMvWBgfJzw1LBNrZtwfKzq','zMLSzxmGBxvZDcbIzsbHBIbHCNjHEq','mZG1oteZn3rtvLfNza','ywrK','C3vIC3rYAw5N','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','cGPot1rfuZOkcI0GvxnLihrOzsbZzwvRihrVB2WGzMLYC3qGDg8GDMvYAwz5ignVBNrLBNqGzxHPC3rZcI0GqMfJA3vWCYbHCMuGy3jLyxrLzcbHDxrVBwf0AwnHBgX5icGUyMfRigv4DgvUC2LVBIKklsbszxbSywnLBwvUDhmGyxjLignHC2uTC2vUC2L0AxzLcI0Gt2XKignVBNrLBNqGBxvZDcbTyxrJAcbLEgfJDgX5icHHzNrLCIb0CMLTig1VzguGyxbWBgLLzcKklsbnDwX0AxbSzsbVy2n1CNjLBMnLCYbHCMuGywXSihjLCgXHy2vKihvUBgvZCYbSAw5LC0XPBwL0ihnWzwnPzMLLzaOTifrVB2WGDMfSAwrHDgvZihbHDgHZigfNywLUC3qGywDLBNqNCYbHy2nLC3nPyMXLigrPCMvJDg9YAwvZcGPnvuXuss1esvjfq1rpuLKGu1vque9svdOkcLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','igzPBgvZigLUig9UzsbVCgvYyxrPB24','tufyx0zjtevFu0LArq','C3rHCNrZv2L0Aa','ihjLCgXHy2vTzw50CYbHCNjHEsbJyw5UB3qGyMuGzw1WDhK','C2L6zq','tufyx09mrf9dt05uru5ux1njwKu','mtG5mdm2oeziuuDuua','Bwf4','DhjPBq','yMfJA3vWC0nYzwf0zwq','q2fUBM90ihbYB2nLC3mGBw9Yzsb0AgfUia','CgfYC2vmAw5LuMfUz2vZ','zxHLyW','rMfPBgvKihrVihbHCNnLigzPBguTy29UDgvUDc1YzxbSywnLihbHCMfTzxrLCNm','q1jfqvrfx0jbq0Tvufm','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','y291BNq'];a0_0x3ef9=function(){return _0x34411a;};return a0_0x3ef9();}export default FileContentReplaceTool;
1
+ const a0_0x4299ae=a0_0x1c55;(function(_0x31310d,_0x2b9c57){const _0x101404=a0_0x1c55,_0x2bf4ad=_0x31310d();while(!![]){try{const _0x25fbec=parseInt(_0x101404(0x1ff))/0x1+-parseInt(_0x101404(0x22f))/0x2+-parseInt(_0x101404(0x21c))/0x3+parseInt(_0x101404(0x22a))/0x4*(-parseInt(_0x101404(0x1fc))/0x5)+parseInt(_0x101404(0x1ef))/0x6*(parseInt(_0x101404(0x213))/0x7)+-parseInt(_0x101404(0x23e))/0x8+parseInt(_0x101404(0x22d))/0x9;if(_0x25fbec===_0x2b9c57)break;else _0x2bf4ad['push'](_0x2bf4ad['shift']());}catch(_0x437bbb){_0x2bf4ad['push'](_0x2bf4ad['shift']());}}}(a0_0x45a7,0x99948));import{BaseTool}from'./baseTool.js';import{promises as a0_0x187c1d}from'fs';function a0_0x1c55(_0x5035f7,_0x343a70){_0x5035f7=_0x5035f7-0x1dc;const _0x45a798=a0_0x45a7();let _0x1c5529=_0x45a798[_0x5035f7];if(a0_0x1c55['ZxvTNe']===undefined){var _0x37367b=function(_0x29c31c){const _0x288c04='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x187c1d='',_0x1c7ff5='';for(let _0x906a52=0x0,_0x200645,_0x2c22cf,_0x2486b7=0x0;_0x2c22cf=_0x29c31c['charAt'](_0x2486b7++);~_0x2c22cf&&(_0x200645=_0x906a52%0x4?_0x200645*0x40+_0x2c22cf:_0x2c22cf,_0x906a52++%0x4)?_0x187c1d+=String['fromCharCode'](0xff&_0x200645>>(-0x2*_0x906a52&0x6)):0x0){_0x2c22cf=_0x288c04['indexOf'](_0x2c22cf);}for(let _0x3e838f=0x0,_0x1a775c=_0x187c1d['length'];_0x3e838f<_0x1a775c;_0x3e838f++){_0x1c7ff5+='%'+('00'+_0x187c1d['charCodeAt'](_0x3e838f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c7ff5);};a0_0x1c55['iUuPqB']=_0x37367b,a0_0x1c55['pyEEmE']={},a0_0x1c55['ZxvTNe']=!![];}const _0x4722a6=_0x45a798[0x0],_0x23b417=_0x5035f7+_0x4722a6,_0x4e7c7b=a0_0x1c55['pyEEmE'][_0x23b417];return!_0x4e7c7b?(_0x1c5529=a0_0x1c55['iUuPqB'](_0x1c5529),a0_0x1c55['pyEEmE'][_0x23b417]=_0x1c5529):_0x1c5529=_0x4e7c7b,_0x1c5529;}import a0_0x1c7ff5 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_0x4299ae(0x229),'DIFF_CONTEXT_LINES':0x3,'MAX_DIFF_LINES':0x64,'DEFAULT_TRIM_MODE':a0_0x4299ae(0x230)};class FileContentReplaceTool extends BaseTool{constructor(_0x906a52={},_0x200645=null){const _0x32c9fb=a0_0x4299ae;super(_0x906a52,_0x200645),this['requiresProject']=!![],this[_0x32c9fb(0x1fd)]=!![],this[_0x32c9fb(0x1f3)]=_0x906a52[_0x32c9fb(0x1f3)]||0x1d4c0,this['replaceConfig']={...REPLACE_CONFIG,..._0x906a52['replaceConfig']};}[a0_0x4299ae(0x217)](){const _0x10ade9=a0_0x4299ae;return _0x10ade9(0x240)+REPLACE_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+'MB\x0a-\x20Maximum\x20old\x20content\x20size:\x20'+REPLACE_CONFIG['MAX_OLD_CONTENT_SIZE']/0x400+_0x10ade9(0x1f5)+REPLACE_CONFIG['MAX_NEW_CONTENT_SIZE']/0x400+'KB\x0a-\x20Maximum\x20replacements\x20per\x20file:\x20'+REPLACE_CONFIG['MAX_REPLACEMENTS_PER_FILE']+_0x10ade9(0x222)+REPLACE_CONFIG['MAX_FILES_PER_OPERATION']+_0x10ade9(0x21b);}['parseParameters'](_0x2c22cf){const _0x254d9a=a0_0x4299ae;try{if(_0x2c22cf['trim']()['startsWith']('{'))return this['parseJSON'](_0x2c22cf);return this['parseXML'](_0x2c22cf);}catch(_0x2486b7){this['logger']?.['error'](_0x254d9a(0x1fa),{'error':_0x2486b7[_0x254d9a(0x233)]});throw new Error('Parameter\x20parsing\x20failed:\x20'+_0x2486b7[_0x254d9a(0x233)]);}}[a0_0x4299ae(0x234)](_0x3e838f){const _0x58af03=a0_0x4299ae,_0x1a775c=JSON['parse'](_0x3e838f);if(!_0x1a775c['files']||!Array['isArray'](_0x1a775c['files']))throw new Error('JSON\x20must\x20have\x20\x22files\x22\x20array');return{'files':_0x1a775c['files'][_0x58af03(0x205)](_0x32865a=>({'path':_0x32865a[_0x58af03(0x21e)],'replacements':(_0x32865a[_0x58af03(0x1e8)]||[])['map'](_0x1029e7=>({'oldContent':_0x1029e7[_0x58af03(0x1ec)],'newContent':_0x1029e7['newContent'],'mode':_0x1029e7['mode']||REPLACE_CONFIG['DEFAULT_TRIM_MODE'],'linesLimit':_0x1029e7[_0x58af03(0x232)]||null}))}))};}[a0_0x4299ae(0x211)](_0x2d0561){const _0x18d996=a0_0x4299ae,_0x5e6368=[],_0x407970=/<file\s+path="([^"]+)">([\s\S]*?)<\/file>/gi;let _0x17f8d1;while((_0x17f8d1=_0x407970[_0x18d996(0x235)](_0x2d0561))!==null){const _0x336464=_0x17f8d1[0x1],_0x50e01d=_0x17f8d1[0x2],_0x22ccb5=[],_0x803e1b=/<replace(?:\s+([^>]*?))?>([\s\S]*?)<\/replace>/gi;let _0x521477;while((_0x521477=_0x803e1b[_0x18d996(0x235)](_0x50e01d))!==null){const _0x2b1edb=_0x521477[0x1]||'',_0x16cba9=_0x521477[0x2],_0x1a465c=this['extractAttribute'](_0x2b1edb,_0x18d996(0x1de))||REPLACE_CONFIG[_0x18d996(0x1f2)],_0x140feb=this[_0x18d996(0x1df)](_0x2b1edb,'lines-limit'),_0x3e2fe7=/<old-content>([\s\S]*?)<\/old-content>/i['exec'](_0x16cba9);if(!_0x3e2fe7){this[_0x18d996(0x204)]?.['warn']('Missing\x20old-content\x20in\x20replace\x20tag');continue;}const _0x20fdb4=_0x3e2fe7[0x1],_0x50d261=/<new-content>([\s\S]*?)<\/new-content>/i['exec'](_0x16cba9);if(!_0x50d261){this['logger']?.['warn'](_0x18d996(0x1ed));continue;}const _0x5a3356=_0x50d261[0x1],_0x11e26c=this['applyTrimMode'](_0x20fdb4,_0x1a465c),_0x49860a=this[_0x18d996(0x210)](_0x5a3356,_0x1a465c);_0x22ccb5['push']({'oldContent':_0x11e26c,'newContent':_0x49860a,'mode':_0x1a465c,'linesLimit':_0x140feb});}_0x22ccb5['length']>0x0&&_0x5e6368[_0x18d996(0x1ea)]({'path':_0x336464,'replacements':_0x22ccb5});}return{'files':_0x5e6368};}[a0_0x4299ae(0x1df)](_0x1a9540,_0x631663){const _0x2beb74=a0_0x4299ae,_0x182983=new RegExp(_0x631663+_0x2beb74(0x225),'i'),_0x353b72=_0x182983[_0x2beb74(0x235)](_0x1a9540);return _0x353b72?_0x353b72[0x1]:null;}['applyTrimMode'](_0x436ea3,_0x5cd541){const _0x3bc8ad=a0_0x4299ae;switch(_0x5cd541){case'newlines':return _0x436ea3[_0x3bc8ad(0x1e7)](/^\n+|\n+$/g,'');case _0x3bc8ad(0x1f1):return _0x436ea3;case'trim':default:return _0x436ea3['trim']();}}['getRequiredParameters'](){const _0x1ece1e=a0_0x4299ae;return[_0x1ece1e(0x1e2)];}['customValidateParameters'](_0x1a925e){const _0x1ae6f2=a0_0x4299ae,_0x13f3ee=[];if(!_0x1a925e[_0x1ae6f2(0x1e2)]||!Array['isArray'](_0x1a925e[_0x1ae6f2(0x1e2)]))_0x13f3ee[_0x1ae6f2(0x1ea)](_0x1ae6f2(0x238));else{_0x1a925e['files']['length']===0x0&&_0x13f3ee['push'](_0x1ae6f2(0x1f7));_0x1a925e['files']['length']>this['replaceConfig']['MAX_FILES_PER_OPERATION']&&_0x13f3ee['push'](_0x1ae6f2(0x20e)+this[_0x1ae6f2(0x209)][_0x1ae6f2(0x1ee)]+_0x1ae6f2(0x201));for(const _0x17447d of _0x1a925e['files']){!_0x17447d['path']&&_0x13f3ee['push']('Each\x20file\x20must\x20have\x20a\x20path');_0x17447d['path']&&_0x17447d['path'][_0x1ae6f2(0x23c)]('..')&&_0x13f3ee[_0x1ae6f2(0x1ea)](_0x1ae6f2(0x228)+_0x17447d['path']);if(!_0x17447d['replacements']||!Array[_0x1ae6f2(0x1f4)](_0x17447d['replacements']))_0x13f3ee[_0x1ae6f2(0x1ea)]('File\x20'+_0x17447d['path']+'\x20must\x20have\x20replacements\x20array');else{if(_0x17447d[_0x1ae6f2(0x1e8)][_0x1ae6f2(0x224)]===0x0)_0x13f3ee[_0x1ae6f2(0x1ea)]('File\x20'+_0x17447d['path']+'\x20replacements\x20array\x20cannot\x20be\x20empty');else for(const _0x4d706a of _0x17447d[_0x1ae6f2(0x1e8)]){!_0x4d706a[_0x1ae6f2(0x1ec)]&&_0x4d706a[_0x1ae6f2(0x1ec)]!==''&&_0x13f3ee[_0x1ae6f2(0x1ea)]('Replacement\x20in\x20'+_0x17447d[_0x1ae6f2(0x21e)]+_0x1ae6f2(0x202)),!_0x4d706a[_0x1ae6f2(0x214)]&&_0x4d706a[_0x1ae6f2(0x214)]!==''&&_0x13f3ee['push'](_0x1ae6f2(0x1f0)+_0x17447d['path']+_0x1ae6f2(0x1e5)),_0x4d706a[_0x1ae6f2(0x1ec)]&&_0x4d706a['oldContent'][_0x1ae6f2(0x224)]>this[_0x1ae6f2(0x209)][_0x1ae6f2(0x1e4)]&&_0x13f3ee[_0x1ae6f2(0x1ea)]('oldContent\x20too\x20large\x20(max\x20'+this[_0x1ae6f2(0x209)]['MAX_OLD_CONTENT_SIZE']/0x400+_0x1ae6f2(0x1f8)),_0x4d706a[_0x1ae6f2(0x214)]&&_0x4d706a['newContent']['length']>this[_0x1ae6f2(0x209)]['MAX_NEW_CONTENT_SIZE']&&_0x13f3ee[_0x1ae6f2(0x1ea)](_0x1ae6f2(0x206)+this['replaceConfig']['MAX_NEW_CONTENT_SIZE']/0x400+_0x1ae6f2(0x1f8)),_0x4d706a[_0x1ae6f2(0x1de)]&&!['trim','newlines','none']['includes'](_0x4d706a[_0x1ae6f2(0x1de)])&&_0x13f3ee[_0x1ae6f2(0x1ea)](_0x1ae6f2(0x23d)+_0x4d706a['mode']+_0x1ae6f2(0x21f));}}}}if(_0x13f3ee[_0x1ae6f2(0x224)]>0x0)throw new Error(_0x1ae6f2(0x215)+_0x13f3ee['join'](',\x20'));return{'valid':!![],'errors':[]};}async[a0_0x4299ae(0x23a)](_0x4cee6c,_0x3fec51){const _0x17ccca=a0_0x4299ae,{files:_0x5379bb}=_0x4cee6c,{projectDir:_0xe96eba,agentId:_0x4a3e48,directoryAccess:_0x3d30ef}=_0x3fec51;let _0x485bc9=_0xe96eba||process['cwd']();_0x3d30ef&&_0x3d30ef['workingDirectory']&&(_0x485bc9=_0x3d30ef['workingDirectory'],this['logger']?.['info'](_0x17ccca(0x1e1),{'workingDirectory':_0x3d30ef['workingDirectory'],'agentId':_0x4a3e48}));this['logger']?.[_0x17ccca(0x200)](_0x17ccca(0x23b),{'fileCount':_0x5379bb['length'],'workingDirectory':_0x485bc9,'agentId':_0x4a3e48});const _0x4049c4=[],_0x178fd3={'filesProcessed':0x0,'filesModified':0x0,'totalReplacements':0x0,'backupsCreated':0x0,'errors':0x0};for(const _0x2536c9 of _0x5379bb){try{const _0x1736b7=await this['processFile'](_0x2536c9,_0x485bc9,_0x3d30ef);_0x4049c4['push'](_0x1736b7),_0x178fd3['filesProcessed']++,_0x1736b7[_0x17ccca(0x212)]>0x0&&(_0x178fd3['filesModified']++,_0x178fd3['totalReplacements']+=_0x1736b7['replacementsMade']),_0x1736b7[_0x17ccca(0x236)]&&_0x178fd3[_0x17ccca(0x22e)]++;}catch(_0x305baa){this[_0x17ccca(0x204)]?.['error'](_0x17ccca(0x219)+_0x2536c9['path'],{'error':_0x305baa[_0x17ccca(0x233)]}),_0x4049c4['push']({'filePath':_0x2536c9['path'],'success':![],'error':_0x305baa[_0x17ccca(0x233)]}),_0x178fd3['errors']++;}}return{'success':_0x178fd3['errors']===0x0,'results':_0x4049c4,'statistics':_0x178fd3,'summary':this['generateSummary'](_0x178fd3),'toolUsed':_0x17ccca(0x218)};}async[a0_0x4299ae(0x20a)](_0x52acff,_0x443c42,_0x3045d0){const _0x427a7f=a0_0x4299ae,{path:_0x1ed109,replacements:_0x26408d}=_0x52acff,_0x13b7f2=a0_0x1c7ff5[_0x427a7f(0x23f)](_0x1ed109)?_0x1ed109:a0_0x1c7ff5['resolve'](_0x443c42,_0x1ed109);if(_0x3045d0){const _0x30e03c=this['isPathAccessible'](_0x13b7f2,_0x443c42,_0x3045d0);if(!_0x30e03c)throw new Error(_0x427a7f(0x1e0)+_0x1ed109);}try{await a0_0x187c1d['access'](_0x13b7f2);}catch(_0x2c68f5){throw new Error(_0x427a7f(0x20f)+_0x1ed109);}const _0x521eab=await a0_0x187c1d[_0x427a7f(0x1eb)](_0x13b7f2);if(_0x521eab['size']>this['replaceConfig']['MAX_FILE_SIZE'])throw new Error('File\x20too\x20large\x20(max\x20'+this['replaceConfig']['MAX_FILE_SIZE']/(0x400*0x400)+'MB):\x20'+_0x1ed109);let _0x49bd98=await a0_0x187c1d['readFile'](_0x13b7f2,_0x427a7f(0x1dd));const _0x1e3750=_0x49bd98;let _0x525c6f=![];if(this[_0x427a7f(0x209)]['CREATE_BACKUPS']){const _0xe139b3=_0x13b7f2+this['replaceConfig']['BACKUP_EXTENSION'];try{await a0_0x187c1d[_0x427a7f(0x21d)](_0xe139b3,_0x1e3750,_0x427a7f(0x1dd)),_0x525c6f=!![];}catch(_0xa0b783){this[_0x427a7f(0x204)]?.['warn'](_0x427a7f(0x21a)+_0xa0b783['message']);}}let _0x12a06a=0x0;const _0x3ee847=[];for(const _0x48915b of _0x26408d){const _0x5f423d=await this[_0x427a7f(0x1f6)](_0x49bd98,_0x48915b['oldContent'],_0x48915b[_0x427a7f(0x214)],_0x48915b[_0x427a7f(0x232)],_0x48915b[_0x427a7f(0x1de)]);_0x49bd98=_0x5f423d[_0x427a7f(0x214)],_0x12a06a+=_0x5f423d['count'],_0x3ee847['push']({'oldContent':_0x48915b['oldContent'][_0x427a7f(0x1fe)](0x0,0x32)+(_0x48915b[_0x427a7f(0x1ec)]['length']>0x32?'...':''),'newContent':_0x48915b['newContent'][_0x427a7f(0x1fe)](0x0,0x32)+(_0x48915b['newContent']['length']>0x32?'...':''),'count':_0x5f423d[_0x427a7f(0x20d)],'mode':_0x48915b[_0x427a7f(0x1de)],'linesLimit':_0x48915b[_0x427a7f(0x232)]});}_0x12a06a>0x0&&await a0_0x187c1d['writeFile'](_0x13b7f2,_0x49bd98,_0x427a7f(0x1dd));const _0x4d5709=_0x12a06a>0x0?this['generateDiff'](_0x1e3750,_0x49bd98):null;return{'filePath':_0x1ed109,'resolvedPath':_0x13b7f2,'success':!![],'replacementsMade':_0x12a06a,'backupCreated':_0x525c6f,'replacementDetails':_0x3ee847,'diff':_0x4d5709,'message':_0x12a06a>0x0?_0x427a7f(0x20c)+_0x12a06a+'\x20replacement(s)\x20in\x20'+_0x1ed109:_0x427a7f(0x20b)+_0x1ed109+'\x20(content\x20not\x20found)'};}['isPathAccessible'](_0x586c4b,_0x4eecd8,_0x163706){const _0x24a921=a0_0x4299ae,_0x5d1e7e=a0_0x1c7ff5['relative'](_0x4eecd8,_0x586c4b);if(!_0x5d1e7e['startsWith']('..')&&!a0_0x1c7ff5[_0x24a921(0x23f)](_0x5d1e7e))return!![];if(_0x163706[_0x24a921(0x1dc)])for(const _0x18ae84 of _0x163706['writeEnabledDirectories']){const _0x48d22b=a0_0x1c7ff5['relative'](_0x18ae84,_0x586c4b);if(!_0x48d22b['startsWith']('..')&&!a0_0x1c7ff5[_0x24a921(0x23f)](_0x48d22b))return!![];}return![];}async['applyReplacement'](_0x55d981,_0x42069e,_0x28f718,_0x2cc1a3,_0x56e2a8){const _0x16d727=a0_0x4299ae;if(!_0x2cc1a3){const _0x4bfdde=this[_0x16d727(0x220)](_0x55d981,_0x42069e);if(_0x4bfdde===0x0)return{'newContent':_0x55d981,'count':0x0};const _0x398b8b=_0x55d981[_0x16d727(0x1fb)](_0x42069e)['join'](_0x28f718);return{'newContent':_0x398b8b,'count':_0x4bfdde};}const _0x2c5ed6=this[_0x16d727(0x226)](_0x2cc1a3),_0x5a5811=_0x55d981['split']('\x0a');let _0x2f535e=0x0;for(let _0x31c112=0x0;_0x31c112<_0x5a5811['length'];_0x31c112++){const _0x5b0db9=_0x31c112+0x1;if(_0x2c5ed6[_0x16d727(0x216)](_0x5b0db9)){if(_0x5a5811[_0x31c112]['includes'](_0x42069e)){const _0x19f68b=this['countOccurrences'](_0x5a5811[_0x31c112],_0x42069e);_0x5a5811[_0x31c112]=_0x5a5811[_0x31c112][_0x16d727(0x1fb)](_0x42069e)[_0x16d727(0x208)](_0x28f718),_0x2f535e+=_0x19f68b;}}}return{'newContent':_0x5a5811[_0x16d727(0x208)]('\x0a'),'count':_0x2f535e};}[a0_0x4299ae(0x220)](_0x59addd,_0x427b86){const _0x1e8c1b=a0_0x4299ae;if(!_0x427b86)return 0x0;return _0x59addd[_0x1e8c1b(0x1fb)](_0x427b86)['length']-0x1;}[a0_0x4299ae(0x226)](_0xaf4fb7){const _0x31e048=a0_0x4299ae,_0x2bafbe=new Set();if(!_0xaf4fb7||_0xaf4fb7[_0x31e048(0x230)]()==='')return _0x2bafbe;const _0x465a11=_0xaf4fb7[_0x31e048(0x1fb)](',');for(const _0x553467 of _0x465a11){const _0x336651=_0x553467['trim']();if(_0x336651==='')continue;if(_0x336651[_0x31e048(0x23c)]('-')){const [_0x5d2c4f,_0x407a4b]=_0x336651[_0x31e048(0x1fb)]('-')['map'](_0x4d57fc=>parseInt(_0x4d57fc[_0x31e048(0x230)](),0xa));if(!isNaN(_0x5d2c4f)&&!isNaN(_0x407a4b)&&_0x407a4b-_0x5d2c4f<this[_0x31e048(0x209)]['MAX_LINE_RANGE_SIZE'])for(let _0x1b5141=_0x5d2c4f;_0x1b5141<=_0x407a4b;_0x1b5141++){_0x2bafbe['add'](_0x1b5141);}}else{const _0x3ba4d6=parseInt(_0x336651,0xa);!isNaN(_0x3ba4d6)&&_0x2bafbe[_0x31e048(0x223)](_0x3ba4d6);}}return _0x2bafbe;}[a0_0x4299ae(0x1e9)](_0x2573b7,_0x36e09d){const _0x15d4b8=a0_0x4299ae,_0x3b496b=_0x2573b7[_0x15d4b8(0x1fb)]('\x0a'),_0x59f23a=_0x36e09d['split']('\x0a');let _0x2b36d9=-0x1,_0x56e276=-0x1;const _0x3fb001=Math['max'](_0x3b496b[_0x15d4b8(0x224)],_0x59f23a['length']);for(let _0x93bc0a=0x0;_0x93bc0a<_0x3fb001;_0x93bc0a++){const _0x1d9fc1=_0x93bc0a<_0x3b496b['length']?_0x3b496b[_0x93bc0a]:'',_0x8c6b59=_0x93bc0a<_0x59f23a['length']?_0x59f23a[_0x93bc0a]:'';if(_0x1d9fc1!==_0x8c6b59){if(_0x2b36d9===-0x1)_0x2b36d9=_0x93bc0a;_0x56e276=_0x93bc0a;}}if(_0x2b36d9===-0x1)return _0x15d4b8(0x239);const _0x3b3283=this[_0x15d4b8(0x209)][_0x15d4b8(0x207)],_0x4aff8a=Math[_0x15d4b8(0x1f9)](0x0,_0x2b36d9-_0x3b3283),_0x2f3735=Math[_0x15d4b8(0x203)](_0x3fb001-0x1,_0x56e276+_0x3b3283);if(_0x2f3735-_0x4aff8a>this['replaceConfig']['MAX_DIFF_LINES'])return _0x15d4b8(0x237)+(_0x2f3735-_0x4aff8a+0x1)+'\x20lines),\x20showing\x20summary\x20only:\x0a'+(_0x15d4b8(0x1e3)+(_0x2b36d9+0x1)+'\x20to\x20'+(_0x56e276+0x1));let _0x3f5493='@@\x20-'+(_0x4aff8a+0x1)+','+(_0x2f3735-_0x4aff8a+0x1)+'\x20+'+(_0x4aff8a+0x1)+','+(_0x2f3735-_0x4aff8a+0x1)+'\x20@@\x0a';for(let _0x38f605=_0x4aff8a;_0x38f605<=_0x2f3735;_0x38f605++){const _0x1aa226=_0x38f605<_0x3b496b['length']?_0x3b496b[_0x38f605]:'',_0x21122e=_0x38f605<_0x59f23a['length']?_0x59f23a[_0x38f605]:'';_0x1aa226===_0x21122e?_0x3f5493+='\x20\x20'+_0x1aa226+'\x0a':(_0x3f5493+='-\x20'+_0x1aa226+'\x0a',_0x3f5493+='+\x20'+_0x21122e+'\x0a');}return _0x3f5493;}['generateSummary'](_0x44ee8b){const _0x2fa158=a0_0x4299ae;return(_0x2fa158(0x221)+_0x44ee8b[_0x2fa158(0x1e6)]+'\x20file(s)\x0aModified\x20'+_0x44ee8b[_0x2fa158(0x22b)]+'\x20file(s)\x0aTotal\x20replacements:\x20'+_0x44ee8b['totalReplacements']+'\x0aBackups\x20created:\x20'+_0x44ee8b['backupsCreated']+_0x2fa158(0x231)+_0x44ee8b['errors']+_0x2fa158(0x227))[_0x2fa158(0x230)]();}async['cleanup'](_0x591901){const _0x3cc53c=a0_0x4299ae;this['logger']?.['info'](_0x3cc53c(0x22c),{'operationId':_0x591901});}}function a0_0x45a7(){const _0x575f1c=['zMLSzxmGBxvZDcbIzsbHBIbHCNjHEq','tM8GzgLMzMvYzw5Jzxm','zxHLy3v0zq','rxHLy3v0Aw5NigzPBguGy29UDgvUDcbYzxbSywnL','Aw5JBhvKzxm','sw52ywXPzcbTB2rLoIa','ndy2nta4ofzluMXJsa','AxnbyNnVBhv0zq','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','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','DxrMltG','Bw9Kzq','zxH0CMfJDef0DhjPyNv0zq','ugf0AcbUB3qGywnJzxnZAwjSztOG','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','zMLSzxm','q2HHBMDLzcbSAw5LCZOG','tufyx09mrf9dt05uru5ux1njwKu','ig1PC3nPBMCGBMv3q29UDgvUDa','zMLSzxnqCM9JzxnZzwq','CMvWBgfJzq','CMvWBgfJzw1LBNrZ','z2vUzxjHDgveAwzM','ChvZAa','C3rHDa','B2XKq29UDgvUDa','twLZC2LUzYbUzxCTy29UDgvUDcbPBIbYzxbSywnLihrHzW','tufyx0zjtevtx1bfuL9puevsqvrjt04','mtaYAfvXwfPY','uMvWBgfJzw1LBNqGAw4G','BM9Uzq','revgqvvmvf9uuKLnx01preu','DgLTzw91Da','AxnbCNjHEq','s0iklsbnyxHPBxvTig5LDYbJB250zw50ihnPEMu6ia','yxbWBhLszxbSywnLBwvUDa','zMLSzxmGyxjYyxKGy2fUBM90igjLigvTChr5','s0iP','Bwf4','rMfPBgvKihrVihbHCNnLigzPBguTy29UDgvUDc1YzxbSywnLihbHCMfTzxrLCNm','C3bSAxq','nwngEhjNsa','AxnbC3LUyW','C3vIC3rYAw5N','mJC2mti3BKDJDhL6','Aw5MBW','igzPBgvZigLUig9UzsbVCgvYyxrPB24','ig1PC3nPBMCGB2XKq29UDgvUDa','BwLU','Bg9Nz2vY','BwfW','BMv3q29UDgvUDcb0B28GBgfYz2uGkg1HEca','reLgrL9dt05urvHux0XjtKvt','AM9PBG','CMvWBgfJzunVBMzPzW','ChjVy2vZC0zPBgu','tM8GCMvWBgfJzw1LBNrZig1HzguGAw4G','twfKzsa','y291BNq','q2fUBM90ihbYB2nLC3mGBw9Yzsb0AgfUia','rMLSzsbUB3qGzM91BMq6ia','yxbWBhLuCMLTtw9Kzq','CgfYC2vytuW','CMvWBgfJzw1LBNrZtwfKzq','ndu4mJLQDxDkvha','BMv3q29UDgvUDa','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','AgfZ','z2v0rgvZy3jPChrPB24','zMLSzs1JB250zw50lxjLCgXHy2u','rxjYB3iGChjVy2vZC2LUzYbMAwXLia','rMfPBgvKihrVignYzwf0zsbIywnRDxa6ia','cGPot1rfuZOkcI0GvxnLihrOzsbZzwvRihrVB2WGzMLYC3qGDg8GDMvYAwz5ignVBNrLBNqGzxHPC3rZcI0GqMfJA3vWCYbHCMuGy3jLyxrLzcbHDxrVBwf0AwnHBgX5icGUyMfRigv4DgvUC2LVBIKklsbszxbSywnLBwvUDhmGyxjLignHC2uTC2vUC2L0AxzLcI0Gt2XKignVBNrLBNqGBxvZDcbTyxrJAcbLEgfJDgX5icHHzNrLCIb0CMLTig1VzguGyxbWBgLLzcKklsbnDwX0AxbSzsbVy2n1CNjLBMnLCYbHCMuGywXSihjLCgXHy2vKihvUBgvZCYbSAw5LC0XPBwL0ihnWzwnPzMLLzaOTifrVB2WGDMfSAwrHDgvZihbHDgHZigfNywLUC3qGywDLBNqNCYbHy2nLC3nPyMXLigrPCMvJDg9YAwvZcGPnvuXuss1esvjfq1rpuLKGu1vque9svdOkcLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','mJG1mdu3menPAu93Ca','D3jPDgvgAwXL','Cgf0Aa','lIbnDxn0igjLicD0CMLTjYWGj25LD2XPBMvZjYWGB3iGj25VBMuN','y291BNrpy2n1CNjLBMnLCW','cLbYB2nLC3nLzca','cI0Gtwf4Aw11BsbMAwXLCYbWzxiGB3bLCMf0Aw9UoIa','ywrK','BgvUz3rO','pvSIj10Ow14Ij10QkvSIj10','CgfYC2vmAw5LuMfUz2vZ','cIaGica','ugf0Acb0CMf2zxjZywWGkc4UksbUB3qGywXSB3DLzcbMB3iGC2vJDxjPDhK6ia','lMjHAW','nJK5mJeYs1r5uxPY','zMLSzxnnB2rPzMLLza','rMLSzsbJB250zw50ihjLCgXHy2uGDg9VBcbJBgvHBNvWignVBxbSzxrLza','mJi5oduYmZvvqMHYuw0','yMfJA3vWC0nYzwf0zwq','mtiWodi5nNjTqMnxCq','DhjPBq','cKvYCM9YCZOG','BgLUzxnmAw1PDa','BwvZC2fNzq','CgfYC2vku09o','zxHLyW','yMfJA3vWq3jLyxrLza','rgLMzIb0B28GBgfYz2uGka'];a0_0x45a7=function(){return _0x575f1c;};return a0_0x45a7();}export default FileContentReplaceTool;