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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/index-BmKxmRe3.css +1 -0
  119. package/web-ui/build/static/{index-CX8ZfpGw.js → index-BzXbDs8z.js} +69 -69
  120. package/web-ui/build/static/index-Dwg_JrlO.css +0 -1
@@ -1 +1 @@
1
- const a0_0x34d383=a0_0x3446;(function(_0x2e52fa,_0x46e63e){const _0x10f975=a0_0x3446,_0x13d407=_0x2e52fa();while(!![]){try{const _0x514743=parseInt(_0x10f975(0x1ac))/0x1*(-parseInt(_0x10f975(0x1cb))/0x2)+parseInt(_0x10f975(0x19d))/0x3*(parseInt(_0x10f975(0x183))/0x4)+-parseInt(_0x10f975(0x173))/0x5*(parseInt(_0x10f975(0x194))/0x6)+parseInt(_0x10f975(0x1cf))/0x7+-parseInt(_0x10f975(0x17e))/0x8*(parseInt(_0x10f975(0x1d3))/0x9)+parseInt(_0x10f975(0x1cd))/0xa+-parseInt(_0x10f975(0x1a3))/0xb*(parseInt(_0x10f975(0x17a))/0xc);if(_0x514743===_0x46e63e)break;else _0x13d407['push'](_0x13d407['shift']());}catch(_0x2a026e){_0x13d407['push'](_0x13d407['shift']());}}}(a0_0x23db,0xadb43));function a0_0x23db(){const _0x36b682=['DgvTCa','CMvSyxrPDMu','lNnV','zxHJBhvKzurPCMvJDg9YAwvZ','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','zxjYB3i','D29YA2LUz0rPCMvJDg9YEq','lNzZy29Kzq','DhLWzq','4PscicaG','lNr0zG','lMXVy2S','CgfYDhm','zgLZDa','lNbUzW','zxHJBhvKzuv4DgvUC2LVBNm','zM9YBwf0vhjLzq','ChvZAa','C2HVD1nPEMvZ','zMLSDgvY','y2HPBgrYzw4','lM1VDG','Bwf4rgvWDgG','Bg9JywXLq29TCgfYzq','lMvNz3m','cK1HEcbezxb0AdOG','iIbTDxn0ihn0yxj0ihDPDgGGysbKB3qGkguUzY4SiciUANmIkq','AxnbCNjHEq','lMrI','DgfYz2v0','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','cI0Gtwf4Aw11BsbMAwXLCZOG','lNDTDG','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','zxH0BMfTzq','lMrSBa','lMvVDa','twf4Aw11BsbKAxjLy3rVCNKGy291BNqGCMvHy2HLza','mty2odm1BNbAs0rY','Aw5MBW','DhjPBq','BwvZC2fNzq','lNjHCG','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','Dg9mB3DLCKnHC2u','ndHYtM9OsKO','lM9IAG','yM93zxjFy29TCg9Uzw50CW','lNPPCa','mta0mZjcBMv2ve0','zMLSzq','lMDPzG','lNrHCG','ieDc','ndruELbYs3O','AxneAxjLy3rVCNK','C29YDa','DMvUDG','rMfPBgvKihrVihbHCNnLigzPBguTDhjLzsbWyxjHBwv0zxjZ','zgLYzwn0B3j5','C2TPChbLzenVDw50','D2HLzwXZ','cKrPCMvJDg9YEtOG','rxH0zw5ZAw9Uici','lNDVzMy','lNrTCa','cKrPCMvJDg9YAwvZoIa','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','ieTc','zwDNCW','tufyx0zjtevtx0Lox1rsruu','nJz3v0D2tNe','cI0Gtwf4Aw11BsbKAxjLy3rVCMLLCZOG','lMLKzwe','Dhj1zq','zMLSzxndB3vUDa','BgvUz3rO','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','tufyx0rjuKvdve9ssuvt','C3rHCNrZv2L0Aa','mJK5ndq1DMf6yxnS','y3DK','C3bSAxq','C2HVD0HPzgrLBG','y2XLyw51Ca','AxnbyNnVBhv0zq','mZq5nta1mLD4sNnqCq','u1LnqK9muW','zMfSC2u','lMrHDa','lMjPBG','revgqvvmvf9nqvHFrevqveG','lMLJBW','yNvPBgruCMvL','Bg9Nz2vY','mZf3AKfZruK','lM51Ehq','zgLYzwn0B3jPzxndB3vUDa','lNb5BW','lM5LEhq','lNnXBgL0zq','Aw5JBhvKzxm','C2HVD0zPBgvZ','zxHLyW','Dg9gAxHLza','twf4Aw11BsbMAwXLignVDw50ihjLywnOzwq','lMnSyxnZ','DhjLzunVBMzPzW','lNb5za','Bwf4lwrLChrOig11C3qGyMuGysbWB3nPDgL2zsbUDw1Izxi','lNb5DgvZDf9JywnOzq','DgLTzw91Da','tufyx0rfufrix0XjtuLu','D2fYBG','C3rHDhm','yMfZzw5HBwu','zM9YBwf0rMLSzvnPEMu','cI0GqMLUyxj5igzPBgvZignHBIbIzsbMAwX0zxjLzcb3AxrOigLNBM9YzujPBMfYEuzPBgvZig9WDgLVBGOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','lNbKzG','lM5VEa','su5eru5u','lNb5yW','lNDVzMyY','BwfW','vKvsveLdquW','Aw5JBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','otm1nLjuDg1Vwa','DMvUzg9Y','mteZntK4mdbAyKTNrgS','Aw5JBhvKzuv4DgvUC2LVBNm','mZqZotm1ouvUyM5xtW','cIaGlsbezwvWzxiGpsbTB3jLigrLDgfPBcWGC2XVD2vYihbLCMzVCM1HBMnLcGPPBMnSDwrLrxH0zw5ZAw9UCYaOB3b0Aw9UywWGlsbxseLuruXju1qPoGOGic0Gsw5JBhvKzsbptKXzihrOzxnLigzPBguGzxH0zw5ZAw9UCWOGic0Gq29TBweTC2vWyxjHDgvKigXPC3qkicaTiev4yw1WBgvZoIaIlMPZlc5QC3GSlNrZlc50C3GIig9YiciUChKSlNb5DYikicaTifrHA2vZihbYzwnLzgvUy2uGB3zLCIbLEgnSDwrLrxH0zw5ZAw9UCWOkzxHJBhvKzuv4DgvUC2LVBNmGkg9WDgLVBMfSic0GqKXbq0TmsvnuktOkicaTiev4y2X1zguGDgHLC2uGzMLSzsbLEhrLBNnPB25ZcIaGlsbdB21Tys1ZzxbHCMf0zwqGBgLZDaOGic0GrxHHBxbSzxm6iciUDgvZDc5QCYWUC3bLyY5QCYWUBwLUlMPZiGOGic0Gt25SEsbHChbSAwvZigLMigLUy2X1zgvfEhrLBNnPB25ZigLZig5VDcbZzxqkcMv4y2X1zgveAxjLy3rVCMLLCYaOB3b0Aw9UywWPoGOGic0GqwrKAxrPB25HBcbKAxjLy3rVCMLLCYb0BYbPz25VCMukicaTiefSCMvHzhKGAwDUB3jLCZOGBM9Kzv9TB2r1BgvZlcaUz2L0lcbKAxn0lcbIDwLSzcWGzxrJlGOGic0GrxHHBxbSzxm6icj0zxn0CYXMAxH0DxjLCYXTB2nRCYikcNnOB3DgAwXLCYaOB3b0Aw9UywWPoGOGic0Gv2HLDgHLCIb0BYbZAg93igzPBgvZicHKzwzHDwX0oIb0CNvLkqOGic0Gu2v0ihrVigzHBhnLihrVihnOB3CGB25SEsbKAxjLy3rVCNKGC3rYDwn0DxjLcGPZAg93sgLKzgvUicHVChrPB25HBcK6cIaGlsbxAgv0AgvYihrVihnOB3CGAgLKzgvUigzPBgvZl2zVBgrLCNmGkgrLzMf1Bhq6igzHBhnLkqOGic0GsgLKzgvUid0GC3rHCNrZihDPDgGGjY4NcGPZAg93u2L6zxmGkg9WDgLVBMfSktOkicaTifDOzxrOzxiGDg8GC2HVDYbMAwXLihnPEMvZicHKzwzHDwX0oIbMywXZzsKkicaTiezVCM1HDdOGs0iSie1ccGPPz25VCMvcAw5HCNLgAwXLCYaOB3b0Aw9UywWPoGOGic0Gv2HLDgHLCIb0BYbPz25VCMuGyMLUyxj5l21LzgLHigzPBgvZicHKzwzHDwX0oIbMywXZzsKkicaTieLNBM9Yzxm6igLTywDLCYWGDMLKzw9ZlcbHCMnOAxzLCYWGzM9UDhmSigv0yY4kcKzjtfrfuKLorYbtvfjbvevhsuvtoGOku3rYyxrLz3KGmtOGv0HjvevmsvnuicHjBMnSDwrLie9UBhKPcJXMAwXLlxrYzwu+cIaGpgrPCMvJDg9YEt5ZCMm8l2rPCMvJDg9YEt4kica8Aw5JBhvKzs1LEhrLBNnPB25ZpI5QCYWUANn4pc9PBMnSDwrLlwv4DgvUC2LVBNm+cJWVzMLSzs10CMvLpGPszxn1Bhq6ifnOB3DZie9otfKGlMPZigfUzcaUANn4igzPBgvZcGPtDhjHDgvNEsaYoIbctefds0Xju1qGkev4y2X1zguPcJXMAwXLlxrYzwu+cIaGpgrPCMvJDg9YEt5ZCMm8l2rPCMvJDg9YEt4kica8zxHJBhvKzs1LEhrLBNnPB25ZpI50zxn0lMPZlc5ZCgvJlMPZpc9LEgnSDwrLlwv4DgvUC2LVBNm+cJWVzMLSzs10CMvLpGPszxn1Bhq6ifnOB3DZigfSBcbMAwXLCYbfwenfufqGlNrLC3qUANmGyw5Kic5ZCgvJlMPZcGPtDhjHDgvNEsaZoIbdt01csu5fraO8zMLSzs10CMvLpGOGidXKAxjLy3rVCNK+C3jJpc9KAxjLy3rVCNK+cIaGpgLUy2X1zguTzxH0zw5ZAw9UCZ4UANmSlMPZEcWUDhmSlNrZEdWVAw5JBhvKzs1LEhrLBNnPB25ZpGOGidXLEgnSDwrLlwv4DgvUC2LVBNm+lNrLC3qUANmSlNnWzwmUDhm8l2v4y2X1zguTzxH0zw5ZAw9UCZ4kpc9MAwXLlxrYzwu+cLjLC3vSDdOGu2HVD3mGsLmVsLnyl1rtl1rtwcbMAwXLCYWGyNv0igv4y2X1zgvZihrLC3qGzMLSzxmkcKvyqu1qtevtoGOkrxHHBxbSzsaXic0GqMfZAwmGDhjLztOkpgzPBguTDhjLzt4kica8zgLYzwn0B3j5pI48l2rPCMvJDg9YEt4kpc9MAwXLlxrYzwu+cGPfEgfTCgXLidiGlsbkyxzHu2nYAxb0l1r5Cgvty3jPChqGB25SEtOkpgzPBguTDhjLzt4kica8zgLYzwn0B3j5pNnYyZWVzgLYzwn0B3j5pGOGidXPBMnSDwrLlwv4DgvUC2LVBNm+lMPZlc5QC3GSlNrZlc50C3G8l2LUy2X1zguTzxH0zw5ZAw9UCZ4kica8Bwf4lwrLChrOpJu8l21HEc1Kzxb0Ad4kpc9MAwXLlxrYzwu+cGPfEgfTCgXLidmGlsbqExrOB24GChjVAMvJDcbZDhj1y3r1CMu6cJXMAwXLlxrYzwu+cIaGpgrPCMvJDg9YEt4Upc9KAxjLy3rVCNK+cIaGpgLUy2X1zguTzxH0zw5ZAw9UCZ4UChK8l2LUy2X1zguTzxH0zw5ZAw9UCZ4kica8zxHJBhvKzs1LEhrLBNnPB25ZpI5WEwm8l2v4y2X1zguTzxH0zw5ZAw9UCZ4kica8C2HVDY1MAwXLCZ50CNvLpc9ZAg93lwzPBgvZpGO8l2zPBguTDhjLzt4kcKv4yw1WBguGncaTierPCMvJDg9YEsbZDhj1y3r1CMuGB25SEtOkpgzPBguTDhjLzt4kica8zgLYzwn0B3j5pNnYyZWVzgLYzwn0B3j5pGOGidXZAg93lwzPBgvZpMzHBhnLpc9ZAg93lwzPBgvZpGOGidXTyxGTzgvWDgG+mZWVBwf4lwrLChrOpGO8l2zPBguTDhjLzt4kcKv4yw1WBguGnsaTiev4y2X1zguGDgvZDcbMAwXLCZOkpgzPBguTDhjLzt4kica8zgLYzwn0B3j5pNnYyZWVzgLYzwn0B3j5pGOGidXLEgnSDwrLlwv4DgvUC2LVBNm+lNrLC3qUANmSlNnWzwmUANmSlNrLC3qUDhmSlNnWzwmUDhm8l2v4y2X1zguTzxH0zw5ZAw9UCZ4kica8zxHJBhvKzs1KAxjLy3rVCMLLCZ5Fx3rLC3rZx18SDgvZDhmSC3bLy3m8l2v4y2X1zguTzgLYzwn0B3jPzxm+cJWVzMLSzs10CMvLpGOkt1vuufvuiezpuK1bvdOkC3jJlWRILjZILidILiaGy29TCg9Uzw50CY8k4PscicaG4PsC4Psa4PsaieHLywrLCI5QC3Gk4PscicaG4PsC4Psa4PsaiezVB3rLCI5QC3Gk4PscicaG4Psu4Psa4PsaieXHEw91Dc5QC3Gk4PsC4Psa4Psaihv0AwXZlWRILiiGicdILjZILidILiaGAgvSCgvYCY5QCWRILiiGicdILjtILidILiaGy29UzMLNlMPZcUkuLokuGokuGcbPBMrLEc5QCWOkqvvut01bveLdieLhtK9srvm6cLrOzsb0B29Sigf1Dg9TyxrPy2fSBhKGAwDUB3jLCYbJB21TB24GzgLYzwn0B3jPzxm6cI0GBM9Kzv9TB2r1BgvZlcaUz2L0lcbKAxn0lcbIDwLSzcWGy292zxjHz2uklsaUBMv4DcWGlM51EhqSic5JywnOzsWGB3v0lcb0yxjNzxqklsaUDNnJB2rLlcaUAwrLysWGx19WEwnHy2HLx18SihzLBNykqw5Kig1VCMuGkhnLzsbMDwXSigXPC3qGAw4Grevgqvvmvf9jr05puKvFreLsrunut1jjrvmPcGPmsu1jvefusu9ouZOklsbnyxHPBxvTigrLChrOoIa','BMfTzq','ie1c','mtu5m1L4vujrtW'];a0_0x23db=function(){return _0x36b682;};return a0_0x23db();}function a0_0x3446(_0x747a4,_0x583096){_0x747a4=_0x747a4-0x14d;const _0x23dbf7=a0_0x23db();let _0x3446f5=_0x23dbf7[_0x747a4];if(a0_0x3446['DsPCQK']===undefined){var _0x30a817=function(_0x38577c){const _0x4d5c5a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5925a2='',_0x4dbb0a='';for(let _0x5cda9b=0x0,_0x11f924,_0x3ad9b3,_0x372f9c=0x0;_0x3ad9b3=_0x38577c['charAt'](_0x372f9c++);~_0x3ad9b3&&(_0x11f924=_0x5cda9b%0x4?_0x11f924*0x40+_0x3ad9b3:_0x3ad9b3,_0x5cda9b++%0x4)?_0x5925a2+=String['fromCharCode'](0xff&_0x11f924>>(-0x2*_0x5cda9b&0x6)):0x0){_0x3ad9b3=_0x4d5c5a['indexOf'](_0x3ad9b3);}for(let _0x19bcd9=0x0,_0x335358=_0x5925a2['length'];_0x19bcd9<_0x335358;_0x19bcd9++){_0x4dbb0a+='%'+('00'+_0x5925a2['charCodeAt'](_0x19bcd9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4dbb0a);};a0_0x3446['EABBTZ']=_0x30a817,a0_0x3446['PWRHyF']={},a0_0x3446['DsPCQK']=!![];}const _0x526390=_0x23dbf7[0x0],_0x27e62a=_0x747a4+_0x526390,_0x2606b4=a0_0x3446['PWRHyF'][_0x27e62a];return!_0x2606b4?(_0x3446f5=a0_0x3446['EABBTZ'](_0x3446f5),a0_0x3446['PWRHyF'][_0x27e62a]=_0x3446f5):_0x3446f5=_0x2606b4,_0x3446f5;}import{BaseTool}from'./baseTool.js';import{promises as a0_0x5925a2}from'fs';import a0_0x4dbb0a from'path';const TREE_CONFIG={'DEFAULT_MAX_DEPTH':0x3,'MAX_DEPTH_LIMIT':0xa,'MAX_FILES_IN_TREE':0x2710,'MAX_DIRECTORIES':0x3e8,'SHOW_FILES_DEFAULT':!![],'SHOW_HIDDEN_DEFAULT':![],'SHOW_SIZES_DEFAULT':![],'SYMBOLS':{'BRANCH':'├──\x20','LAST_BRANCH':'└──\x20','VERTICAL':a0_0x34d383(0x156),'INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=['node_modules','.git',a0_0x34d383(0x15a),'build','coverage',a0_0x34d383(0x1b0),a0_0x34d383(0x1ad),'.cache','out',a0_0x34d383(0x16a),a0_0x34d383(0x1cc),a0_0x34d383(0x17c),a0_0x34d383(0x154),a0_0x34d383(0x196),'.vs','__pycache__',a0_0x34d383(0x186),'env','.env',a0_0x34d383(0x1bb),'.mypy_cache',a0_0x34d383(0x192),a0_0x34d383(0x165),'lib','lib64',a0_0x34d383(0x159),'sdist',a0_0x34d383(0x18a),'.tox',a0_0x34d383(0x1c4),'htmlcov','.hypothesis','tmp',a0_0x34d383(0x14d),'.tmp','.temp'],DEFAULT_IGNORE_EXTENSIONS=['.map','.min.js','.min.css',a0_0x34d383(0x158),'.log',a0_0x34d383(0x18e),'.temp',a0_0x34d383(0x1c6),a0_0x34d383(0x1af),a0_0x34d383(0x1b9),a0_0x34d383(0x14f),a0_0x34d383(0x170),'.dylib','.exe',a0_0x34d383(0x17b),'.o','.a',a0_0x34d383(0x1b7),'.jar','.war'],BINARY_EXTENSIONS=[a0_0x34d383(0x15b),'.jpg','.jpeg',a0_0x34d383(0x180),'.bmp',a0_0x34d383(0x1a9),'.svg',a0_0x34d383(0x1c3),a0_0x34d383(0x17d),a0_0x34d383(0x181),'.gz',a0_0x34d383(0x177),'.7z','.mp3','.mp4','.avi',a0_0x34d383(0x162),a0_0x34d383(0x16d),a0_0x34d383(0x18d),a0_0x34d383(0x1c7),a0_0x34d383(0x157),a0_0x34d383(0x171),a0_0x34d383(0x1a7),a0_0x34d383(0x1a6),a0_0x34d383(0x169),a0_0x34d383(0x1b1)];class FileTreeTool extends BaseTool{constructor(_0x5cda9b={},_0x11f924=null){const _0x45edfe=a0_0x34d383;super(_0x5cda9b,_0x11f924),this['requiresProject']=!![],this['isAsync']=!![],this[_0x45edfe(0x1bc)]=_0x5cda9b['timeout']||0x1d4c0,this[_0x45edfe(0x1b8)]={...TREE_CONFIG,..._0x5cda9b['treeConfig']},this[_0x45edfe(0x1bf)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}['getDescription'](){const _0x9ee48c=a0_0x34d383;return'\x0aFile\x20Tree\x20Tool:\x20Generate\x20hierarchical\x20tree\x20representation\x20of\x20project\x20directory\x20structure.\x0a\x0aXML\x20USAGE:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<max-depth>4</max-depth>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js</exclude-extensions>\x0a\x20\x20<show-files>true</show-files>\x0a\x20\x20<show-hidden>false</show-hidden>\x0a</file-tree>\x0a\x0aJSON\x20USAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x22maxDepth\x22:\x204,\x0a\x20\x20\x22includeExtensions\x22:\x20[\x22.js\x22,\x20\x22.jsx\x22,\x20\x22.ts\x22,\x20\x22.tsx\x22],\x0a\x20\x20\x22excludeExtensions\x22:\x20[\x22.test.js\x22,\x20\x22.spec.js\x22],\x0a\x20\x20\x22showFiles\x22:\x20true,\x0a\x20\x20\x22showHidden\x22:\x20false\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a\x0adirectory\x20(optional):\x0a\x20\x20-\x20Directory\x20to\x20scan\x20(default:\x20working\x20directory)\x0a\x20\x20-\x20Can\x20be\x20relative\x20or\x20absolute\x20path\x0a\x20\x20-\x20Examples:\x20\x22src\x22,\x20\x22src/components\x22,\x20\x22/home/user/project\x22\x0a\x0amaxDepth\x20(optional):\x0a\x20\x20-\x20Maximum\x20depth\x20to\x20scan\x20(default:\x20'+TREE_CONFIG['DEFAULT_MAX_DEPTH']+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG[_0x9ee48c(0x1bd)]+_0x9ee48c(0x1d0)+TREE_CONFIG['MAX_DEPTH_LIMIT']+_0x9ee48c(0x16c)+TREE_CONFIG[_0x9ee48c(0x193)]+_0x9ee48c(0x195)+TREE_CONFIG[_0x9ee48c(0x19b)]+_0x9ee48c(0x1c2);}['parseParameters'](_0x3ad9b3){const _0x3cce98=a0_0x34d383;try{if(_0x3ad9b3['trim']()[_0x3cce98(0x19c)]('{')){const _0x5e7c74=JSON['parse'](_0x3ad9b3);return{'directory':_0x5e7c74['directory']||'.','maxDepth':_0x5e7c74['maxDepth']||TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':_0x5e7c74['includeExtensions']||[],'excludeExtensions':_0x5e7c74['excludeExtensions']||[],'excludeDirectories':_0x5e7c74[_0x3cce98(0x150)]||[],'showFiles':_0x5e7c74[_0x3cce98(0x1b3)]!==![],'showHidden':_0x5e7c74[_0x3cce98(0x1a0)]===!![],'showSizes':_0x5e7c74[_0x3cce98(0x15f)]===!![],'ignoreBinaryFiles':_0x5e7c74['ignoreBinaryFiles']===!![]};}const _0x372f9c={'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x19bcd9=/<directory>(.*?)<\/directory>/i,_0x335358=_0x19bcd9[_0x3cce98(0x1b4)](_0x3ad9b3);_0x335358&&(_0x372f9c['directory']=_0x335358[0x1]['trim']());const _0x157657=/<max-depth>(\d+)<\/max-depth>/i,_0x55d2dc=_0x157657['exec'](_0x3ad9b3);_0x55d2dc&&(_0x372f9c[_0x3cce98(0x163)]=parseInt(_0x55d2dc[0x1],0xa));const _0x4c415d=/<include-extensions>(.*?)<\/include-extensions>/i,_0xb506a4=_0x4c415d[_0x3cce98(0x1b4)](_0x3ad9b3);_0xb506a4&&(_0x372f9c[_0x3cce98(0x1ce)]=_0xb506a4[0x1][_0x3cce98(0x19f)](',')[_0x3cce98(0x1c8)](_0x51c7b3=>_0x51c7b3['trim']())[_0x3cce98(0x160)](_0x3a445a=>_0x3a445a[_0x3cce98(0x199)]>0x0));const _0x4448a9=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x161114=_0x4448a9[_0x3cce98(0x1b4)](_0x3ad9b3);_0x161114&&(_0x372f9c[_0x3cce98(0x15c)]=_0x161114[0x1]['split'](',')['map'](_0x4bbd1b=>_0x4bbd1b['trim']())['filter'](_0xf42a49=>_0xf42a49['length']>0x0));const _0x259122=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x2f2c2e=_0x259122['exec'](_0x3ad9b3);_0x2f2c2e&&(_0x372f9c[_0x3cce98(0x150)]=_0x2f2c2e[0x1]['split'](',')['map'](_0x166663=>_0x166663[_0x3cce98(0x175)]())['filter'](_0x2e40d3=>_0x2e40d3[_0x3cce98(0x199)]>0x0));const _0x270893=/<show-files>(.*?)<\/show-files>/i,_0x59a9f4=_0x270893['exec'](_0x3ad9b3);_0x59a9f4&&(_0x372f9c['showFiles']=_0x59a9f4[0x1]['trim']()[_0x3cce98(0x179)]()!==_0x3cce98(0x1a5));const _0x17775a=/<show-hidden>(.*?)<\/show-hidden>/i,_0x424142=_0x17775a['exec'](_0x3ad9b3);_0x424142&&(_0x372f9c[_0x3cce98(0x1a0)]=_0x424142[0x1][_0x3cce98(0x175)]()[_0x3cce98(0x179)]()==='true');const _0x17c671=/<show-sizes>(.*?)<\/show-sizes>/i,_0x30e425=_0x17c671[_0x3cce98(0x1b4)](_0x3ad9b3);_0x30e425&&(_0x372f9c[_0x3cce98(0x15f)]=_0x30e425[0x1][_0x3cce98(0x175)]()[_0x3cce98(0x179)]()==='true');const _0x78a6e5=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x2cb7a0=_0x78a6e5['exec'](_0x3ad9b3);return _0x2cb7a0&&(_0x372f9c['ignoreBinaryFiles']=_0x2cb7a0[0x1][_0x3cce98(0x175)]()[_0x3cce98(0x179)]()===_0x3cce98(0x197)),_0x372f9c;}catch(_0x267e9e){return this[_0x3cce98(0x1ab)]?.['error'](_0x3cce98(0x187),{'error':_0x267e9e['message']}),{'directory':'.','maxDepth':TREE_CONFIG[_0x3cce98(0x1a8)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x267e9e['message']};}}[a0_0x34d383(0x16b)](){return[];}[a0_0x34d383(0x178)](_0x4d8c94){const _0x45f87e=a0_0x34d383,_0x1fbf42=[];if(_0x4d8c94[_0x45f87e(0x163)]!==undefined){if(typeof _0x4d8c94['maxDepth']!=='number'||_0x4d8c94['maxDepth']<0x1)_0x1fbf42[_0x45f87e(0x15e)](_0x45f87e(0x1ba));else _0x4d8c94['maxDepth']>this[_0x45f87e(0x1b8)]['MAX_DEPTH_LIMIT']&&_0x1fbf42[_0x45f87e(0x15e)]('max-depth\x20cannot\x20exceed\x20'+this[_0x45f87e(0x1b8)][_0x45f87e(0x1bd)]);}_0x4d8c94['directory']&&_0x4d8c94['directory'][_0x45f87e(0x1b2)]('..')&&_0x1fbf42['push']('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');if(_0x4d8c94['includeExtensions']!==undefined&&_0x4d8c94['includeExtensions']!==null){if(!Array['isArray'](_0x4d8c94['includeExtensions']))_0x1fbf42[_0x45f87e(0x15e)](_0x45f87e(0x1ca));else for(const _0x3d3ab0 of _0x4d8c94[_0x45f87e(0x1ce)]){!_0x3d3ab0[_0x45f87e(0x19c)]('.')&&_0x1fbf42[_0x45f87e(0x15e)](_0x45f87e(0x18c)+_0x3d3ab0+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}if(_0x4d8c94[_0x45f87e(0x15c)]!==undefined&&_0x4d8c94[_0x45f87e(0x15c)]!==null){if(!Array['isArray'](_0x4d8c94[_0x45f87e(0x15c)]))_0x1fbf42['push']('excludeExtensions\x20must\x20be\x20an\x20array');else for(const _0x317ba1 of _0x4d8c94['excludeExtensions']){!_0x317ba1[_0x45f87e(0x19c)]('.')&&_0x1fbf42['push'](_0x45f87e(0x18c)+_0x317ba1+_0x45f87e(0x167));}}_0x4d8c94['excludeDirectories']!==undefined&&_0x4d8c94[_0x45f87e(0x150)]!==null&&(!Array[_0x45f87e(0x168)](_0x4d8c94['excludeDirectories'])&&_0x1fbf42['push']('excludeDirectories\x20must\x20be\x20an\x20array'));if(_0x1fbf42['length']>0x0)throw new Error(_0x45f87e(0x16e)+_0x1fbf42['join'](',\x20'));return{'valid':!![],'errors':[]};}async['execute'](_0x44b7e1,_0x38051b){const _0x28ac76=a0_0x34d383,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG[_0x28ac76(0x1a8)],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x44b7e1,{projectDir:_0x5c4d39,agentId:_0x2381d1,directoryAccess:_0x564d39}=_0x38051b;let _0x308b70=_0x5c4d39||process[_0x28ac76(0x19e)]();_0x564d39&&_0x564d39[_0x28ac76(0x153)]&&(_0x308b70=_0x564d39['workingDirectory'],this[_0x28ac76(0x1ab)]?.[_0x28ac76(0x174)](_0x28ac76(0x151),{'workingDirectory':_0x564d39[_0x28ac76(0x153)],'agentId':_0x2381d1}));const _0x5081ea=a0_0x4dbb0a[_0x28ac76(0x1a2)](directory)?directory:a0_0x4dbb0a['resolve'](_0x308b70,directory);try{const _0x38013e=await a0_0x5925a2['stat'](_0x5081ea);if(!_0x38013e['isDirectory']())throw new Error('Path\x20is\x20not\x20a\x20directory');}catch(_0x17cbfe){throw new Error(_0x28ac76(0x19a)+directory);}this['logger']?.[_0x28ac76(0x174)]('Generating\x20file\x20tree',{'directory':directory,'targetDir':_0x5081ea,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.['length']||0x0,'agentId':_0x2381d1}),this[_0x28ac76(0x1bf)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x14e56d=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x4bc122=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x4bc122['push'](...BINARY_EXTENSIONS);const _0x3e7342=await this[_0x28ac76(0x1aa)](_0x5081ea,_0x5081ea,0x0,maxDepth,_0x14e56d,includeExtensions||[],[...excludeExtensions||[],..._0x4bc122],showFiles,showHidden,showSizes),_0x5938b4=this[_0x28ac76(0x15d)](_0x3e7342),_0x3ed62d=this['generateSummary'](directory,this['stats'],maxDepth);return{'success':!![],'directory':_0x5081ea,'tree':_0x5938b4,'summary':_0x3ed62d,'maxDepth':maxDepth,'totalFiles':this['stats'][_0x28ac76(0x198)],'totalDirectories':this[_0x28ac76(0x1bf)]['directoriesCount'],'skippedCount':this['stats'][_0x28ac76(0x189)],'statistics':{...this[_0x28ac76(0x1bf)]},'toolUsed':'file-tree'};}async['buildTree'](_0x4ea004,_0x737f62,_0x41ac93,_0x1064ff,_0x38e3c9,_0x3af0ea,_0x3544e1,_0x2af154,_0x382a44,_0xf5e7d5){const _0xe74579=a0_0x34d383;if(_0x41ac93>_0x1064ff)return null;if(this[_0xe74579(0x1bf)]['directoriesCount']>=this['treeConfig'][_0xe74579(0x19b)])return this[_0xe74579(0x1ab)]?.[_0xe74579(0x1be)](_0xe74579(0x172),{'maxDirectories':this[_0xe74579(0x1b8)]['MAX_DIRECTORIES']}),null;try{const _0x1faa93=await a0_0x5925a2['readdir'](_0x737f62,{'withFileTypes':!![]}),_0x2671bf={'name':_0x41ac93===0x0?a0_0x4dbb0a[_0xe74579(0x1c0)](_0x737f62)+'/':a0_0x4dbb0a[_0xe74579(0x1c0)](_0x737f62),'path':a0_0x4dbb0a[_0xe74579(0x14e)](_0x4ea004,_0x737f62),'type':_0xe74579(0x188),'children':[]};this[_0xe74579(0x1bf)][_0xe74579(0x1ae)]++;for(const _0x3fccf8 of _0x1faa93){if(this['stats']['filesCount']>=this[_0xe74579(0x1b8)][_0xe74579(0x193)]){this['logger']?.[_0xe74579(0x1be)](_0xe74579(0x1b6),{'maxFiles':this[_0xe74579(0x1b8)][_0xe74579(0x193)]});break;}if(!_0x382a44&&_0x3fccf8['name']['startsWith']('.')){this[_0xe74579(0x1bf)]['skippedCount']++;continue;}const _0x276c06=a0_0x4dbb0a['join'](_0x737f62,_0x3fccf8[_0xe74579(0x1d1)]);if(_0x3fccf8[_0xe74579(0x184)]()){if(_0x38e3c9[_0xe74579(0x1b2)](_0x3fccf8[_0xe74579(0x1d1)])){this[_0xe74579(0x1bf)]['skippedCount']++;continue;}const _0x256266=await this[_0xe74579(0x1aa)](_0x4ea004,_0x276c06,_0x41ac93+0x1,_0x1064ff,_0x38e3c9,_0x3af0ea,_0x3544e1,_0x2af154,_0x382a44,_0xf5e7d5);_0x256266&&(_0x256266['children'][_0xe74579(0x199)]>0x0||_0x41ac93===0x0)&&_0x2671bf[_0xe74579(0x161)]['push'](_0x256266);}else{if(_0x3fccf8['isFile']()&&_0x2af154){if(_0x41ac93+0x1>_0x1064ff)continue;const _0x39a3fd=a0_0x4dbb0a[_0xe74579(0x16f)](_0x3fccf8[_0xe74579(0x1d1)]);if(_0x3af0ea[_0xe74579(0x199)]>0x0){if(!_0x3af0ea['includes'](_0x39a3fd)){this[_0xe74579(0x1bf)][_0xe74579(0x189)]++;continue;}}else{if(_0x3544e1[_0xe74579(0x1b2)](_0x39a3fd)){this['stats']['skippedCount']++;continue;}}let _0x1f7eca='';if(_0xf5e7d5)try{const _0x1a3be8=await a0_0x5925a2['stat'](_0x276c06);_0x1f7eca='\x20('+this[_0xe74579(0x1c1)](_0x1a3be8['size'])+')';}catch(_0x3a1c3f){}_0x2671bf[_0xe74579(0x161)]['push']({'name':_0x3fccf8[_0xe74579(0x1d1)]+_0x1f7eca,'path':a0_0x4dbb0a[_0xe74579(0x14e)](_0x4ea004,_0x276c06),'type':_0xe74579(0x17f),'ext':_0x39a3fd}),this[_0xe74579(0x1bf)][_0xe74579(0x198)]++;}}}return _0x2671bf[_0xe74579(0x161)][_0xe74579(0x185)]((_0x5ef486,_0x329238)=>{const _0x278cb6=_0xe74579;if(_0x5ef486[_0x278cb6(0x155)]===_0x329238['type'])return _0x5ef486['name'][_0x278cb6(0x164)](_0x329238['name']);return _0x5ef486['type']==='directory'?-0x1:0x1;}),_0x2671bf;}catch(_0x3589bd){return this['logger']?.[_0xe74579(0x152)]('Error\x20building\x20tree',{'currentPath':_0x737f62,'error':_0x3589bd[_0xe74579(0x176)]}),{'name':a0_0x4dbb0a['basename'](_0x737f62),'path':a0_0x4dbb0a[_0xe74579(0x14e)](_0x4ea004,_0x737f62),'type':'directory','error':_0x3589bd['message'],'children':[]};}}['formatTree'](_0x4e2e47,_0x58fbcd='',_0x5a59f5=!![],_0xd58f4a=!![]){const _0x286336=a0_0x34d383;if(!_0x4e2e47)return'';const _0x4a8eb6=this[_0x286336(0x1b8)][_0x286336(0x1a4)];let _0x42ad57='';_0xd58f4a?_0x42ad57=_0x4e2e47[_0x286336(0x1d1)]+'\x0a':_0x42ad57=''+_0x58fbcd+(_0x5a59f5?_0x4a8eb6['LAST_BRANCH']:_0x4a8eb6['BRANCH'])+_0x4e2e47['name']+'\x0a';if(_0x4e2e47[_0x286336(0x161)]&&_0x4e2e47['children']['length']>0x0){const _0x40a897=_0xd58f4a?'':_0x58fbcd+(_0x5a59f5?_0x4a8eb6[_0x286336(0x1c5)]:_0x4a8eb6[_0x286336(0x1c9)]);_0x4e2e47['children']['forEach']((_0x2c9438,_0x17891a)=>{const _0x1bb0cd=_0x286336,_0x5752dd=_0x17891a===_0x4e2e47[_0x1bb0cd(0x161)]['length']-0x1;_0x42ad57+=this['formatTree'](_0x2c9438,_0x40a897,_0x5752dd,![]);});}return _0x42ad57;}['formatFileSize'](_0x454fbf){const _0x200836=a0_0x34d383,_0x2df385=0x400,_0x72bdf0=_0x2df385*0x400,_0x37d352=_0x72bdf0*0x400;if(_0x454fbf>=_0x37d352)return(_0x454fbf/_0x37d352)['toFixed'](0x2)+_0x200836(0x182);else{if(_0x454fbf>=_0x72bdf0)return(_0x454fbf/_0x72bdf0)[_0x200836(0x1b5)](0x2)+_0x200836(0x1d2);else return _0x454fbf>=_0x2df385?(_0x454fbf/_0x2df385)['toFixed'](0x2)+_0x200836(0x191):_0x454fbf+'\x20B';}}['generateSummary'](_0x66b9bf,_0x396f30,_0x5ddc8c){const _0x166cac=a0_0x34d383;return(_0x166cac(0x18b)+_0x66b9bf+_0x166cac(0x166)+_0x5ddc8c+'\x0aFiles:\x20'+_0x396f30[_0x166cac(0x198)]+_0x166cac(0x18f)+_0x396f30[_0x166cac(0x1ae)]+'\x0aSkipped:\x20'+_0x396f30[_0x166cac(0x189)]+'\x0a\x20\x20\x20\x20')['trim']();}async[a0_0x34d383(0x1a1)](_0x263773){const _0x4f5577=a0_0x34d383;this[_0x4f5577(0x1ab)]?.['info'](_0x4f5577(0x190),{'operationId':_0x263773});}}export default FileTreeTool;
1
+ const a0_0x47a7ff=a0_0x4677;(function(_0x15a329,_0xbafe65){const _0x61b77b=a0_0x4677,_0x5b131c=_0x15a329();while(!![]){try{const _0x4e86a1=parseInt(_0x61b77b(0x199))/0x1*(parseInt(_0x61b77b(0x134))/0x2)+-parseInt(_0x61b77b(0x159))/0x3*(parseInt(_0x61b77b(0x178))/0x4)+-parseInt(_0x61b77b(0x194))/0x5*(-parseInt(_0x61b77b(0x190))/0x6)+parseInt(_0x61b77b(0x158))/0x7+parseInt(_0x61b77b(0x13a))/0x8+parseInt(_0x61b77b(0x142))/0x9*(parseInt(_0x61b77b(0x163))/0xa)+-parseInt(_0x61b77b(0x151))/0xb;if(_0x4e86a1===_0xbafe65)break;else _0x5b131c['push'](_0x5b131c['shift']());}catch(_0x5e911c){_0x5b131c['push'](_0x5b131c['shift']());}}}(a0_0x4e30,0x31e46));import{BaseTool}from'./baseTool.js';function a0_0x4677(_0x4d6985,_0x2059eb){_0x4d6985=_0x4d6985-0x124;const _0x4e30ac=a0_0x4e30();let _0x467766=_0x4e30ac[_0x4d6985];if(a0_0x4677['arqmMX']===undefined){var _0x4abd20=function(_0xf50060){const _0x3f19bd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x286af4='',_0x410e83='';for(let _0x4462ee=0x0,_0x3dc986,_0x3db5fb,_0x6c7d2c=0x0;_0x3db5fb=_0xf50060['charAt'](_0x6c7d2c++);~_0x3db5fb&&(_0x3dc986=_0x4462ee%0x4?_0x3dc986*0x40+_0x3db5fb:_0x3db5fb,_0x4462ee++%0x4)?_0x286af4+=String['fromCharCode'](0xff&_0x3dc986>>(-0x2*_0x4462ee&0x6)):0x0){_0x3db5fb=_0x3f19bd['indexOf'](_0x3db5fb);}for(let _0x13dbd5=0x0,_0x3abcef=_0x286af4['length'];_0x13dbd5<_0x3abcef;_0x13dbd5++){_0x410e83+='%'+('00'+_0x286af4['charCodeAt'](_0x13dbd5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x410e83);};a0_0x4677['NHBJXr']=_0x4abd20,a0_0x4677['dNNeKF']={},a0_0x4677['arqmMX']=!![];}const _0x2b1ebf=_0x4e30ac[0x0],_0x51d262=_0x4d6985+_0x2b1ebf,_0xc5e1fa=a0_0x4677['dNNeKF'][_0x51d262];return!_0xc5e1fa?(_0x467766=a0_0x4677['NHBJXr'](_0x467766),a0_0x4677['dNNeKF'][_0x51d262]=_0x467766):_0x467766=_0xc5e1fa,_0x467766;}function a0_0x4e30(){const _0x2a1d11=['C2HVD0HPzgrLBG','C3rHDa','mtq0mtG4sendBKfi','teftvf9cuKfoq0G','Aw5JBhvKzuv4DgvUC2LVBNm','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','C2rPC3q','lM1VDG','icaGia','lNDVzMy','cI0Gtwf4Aw11BsbMAwXLCZOG','C3rHDhm','BgLInJq','lNzZ','lNrTCa','zMLSzq','zM9YBwf0vhjLzq','zMLSDgvY','lNPPCa','DhjPBq','zgLYzwn0B3jPzxndB3vUDa','lNn2zW','C2HVD0zPBgvZ','twf4Aw11BsbMAwXLignVDw50ihjLywnOzwq','revgqvvmvf9nqvHFrevqveG','lNr0zG','mteXnJbTBMjozgO','zxHJBhvKzurPCMvJDg9YAwvZ','lMD6','lM5LEhq','ndyWD3Dqt0XK','zgLYzwn0B3j5','cI0GqMLUyxj5igzPBgvZignHBIbIzsbMAwX0zxjLzcb3AxrOigLNBM9YzujPBMfYEuzPBgvZig9WDgLVBGOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','lJD6','CMvSyxrPDMu','mLjLC1DwuG','tufyx0rfufrix0XjtuLu','zxHLy3v0zq','zMLSzxndB3vUDa','tufyx0rjuKvdve9ssuvt','cKzPBguGvhjLzsbuB29SoIbhzw5LCMf0zsbOAwvYyxjJAgLJywWGDhjLzsbYzxbYzxnLBNrHDgLVBIbVzIbWCM9Qzwn0igrPCMvJDg9YEsbZDhj1y3r1CMuUcGPytuWGvvnbr0u6cJXMAwXLlxrYzwu+cIaGpgrPCMvJDg9YEt5ZCMm8l2rPCMvJDg9YEt4kica8Bwf4lwrLChrOpJq8l21HEc1Kzxb0Ad4kica8Aw5JBhvKzs1LEhrLBNnPB25ZpI5QCYWUANn4lc50CYWUDhn4pc9PBMnSDwrLlwv4DgvUC2LVBNm+cIaGpgv4y2X1zguTzxH0zw5ZAw9UCZ4UDgvZDc5QCYWUC3bLyY5QCZWVzxHJBhvKzs1LEhrLBNnPB25ZpGOGidXZAg93lwzPBgvZpNrYDwu8l3nOB3CTzMLSzxm+cIaGphnOB3CTAgLKzgvUpMzHBhnLpc9ZAg93lwHPzgrLBJ4kpc9MAwXLlxrYzwu+cGPku09oifvtquDfoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicjTyxHezxb0Aci6idqScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUANmIlcaIlMPZEciSiciUDhmIlcaIlNrZEcjDlaOGicjLEgnSDwrLrxH0zw5ZAw9UCYi6ifSIlNrLC3qUANmIlcaIlNnWzwmUANmIxsWkicaIC2HVD0zPBgvZiJOGDhj1zsWkicaIC2HVD0HPzgrLBIi6igzHBhnLcN0kygbGcGPqqvjbtuvurvjtoGOkzgLYzwn0B3j5icHVChrPB25HBcK6cIaGlsbeAxjLy3rVCNKGDg8GC2nHBIaOzgvMyxvSDdOGD29YA2LUzYbKAxjLy3rVCNKPcIaGlsbdyw4GyMuGCMvSyxrPDMuGB3iGywjZB2X1DguGCgf0AaOGic0GrxHHBxbSzxm6icjZCMmIlcaIC3jJl2nVBxbVBMvUDhmIlcaIl2HVBwuVDxnLCI9WCM9Qzwn0iGOkBwf4rgvWDgGGkg9WDgLVBMfSktOkicaTie1HEgLTDw0GzgvWDgGGDg8GC2nHBIaOzgvMyxvSDdOG','4PsC4Psa4Psaia','cKzPBgvZoIa','lMvUDG','CgfYC2u','AM9PBG','lMvNz3m','Bwf4rgvWDgG','lNb5za','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','yNvPBgruCMvL','zMfSC2u','D29YA2LUz0rPCMvJDg9YEq','ugf0Acb0CMf2zxjZywWGkc4UksbUB3qGywXSB3DLzcbMB3iGC2vJDxjPDhK','lMnSyxnZ','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','zMLSzs10CMvL','mZy5mtrJBhLKvhG','lMrHDa','BwfW','Aw5JBhvKzxm','DgLTzw91Da','lMv4zq','mJqYmZa4offlB2v0sW','Dg9mB3DLCKnHC2u','vKvsveLdquW','BMfTzq','Aw5MBW','DhjLzunVBMzPzW','tufyx0zjtevtx0Lox1rsruu','C3rHCNrZv2L0Aa','odfTy3roEMO','BwvZC2fNzq','lNbUzW','rMfPBgvKihrVihbHCNnLigzPBguTDhjLzsbWyxjHBwv0zxjZ','zxHJBhvKzurPCMvJDg9YAwvZig11C3qGyMuGyw4GyxjYyxK','zwDNCW','Bwf4lwrLChrOig11C3qGyMuGysbWB3nPDgL2zsbUDw1Izxi','lMjTCa','lNrVEa','zM9YrwfJAa','lMrSBa','y2XLyw51Ca','qLjbtKni','BNvTyMvY','DMvUDG','nZi2mJC4m2Pbre1vAW','AxnbCNjHEq','AxnbC3LUyW','zxHLyW','yNvPBgq','lMXVzW','ieTc','mJm3mtK2ng9zt3rurq','m1vQrw5Isa','lNnXBgL0zq','Dg1W','rxjYB3iGyNvPBgrPBMCGDhjLzq','C3bSAxq','lMf2Aq','lM1HCa','AxneAxjLy3rVCNK','yMfZzw5HBwu','CMvXDwLYzxnqCM9Qzwn0','nty1ndbSALHHwu0','lNnV','ChvZAa','lMjPBG','C2TPChbLzenVDw50','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','y2HPBgrYzw4','Dhj1zq','lNrLBxa','Bg9Nz2vY','su5eru5u','C2HVD1nPEMvZ','zxHJBhvKzuv4DgvUC2LVBNm','cKrPCMvJDg9YEtOG','lMnHy2HL','ieDc','BgvUz3rO','AxngAwXL','r2vUzxjHDgLUzYbMAwXLihrYzwu'];a0_0x4e30=function(){return _0x2a1d11;};return a0_0x4e30();}import{promises as a0_0x286af4}from'fs';import a0_0x410e83 from'path';const TREE_CONFIG={'DEFAULT_MAX_DEPTH':0x3,'MAX_DEPTH_LIMIT':0xa,'MAX_FILES_IN_TREE':0x2710,'MAX_DIRECTORIES':0x3e8,'SHOW_FILES_DEFAULT':!![],'SHOW_HIDDEN_DEFAULT':![],'SHOW_SIZES_DEFAULT':![],'SYMBOLS':{'BRANCH':a0_0x47a7ff(0x124),'LAST_BRANCH':'└──\x20','VERTICAL':'│\x20\x20\x20','INDENT':a0_0x47a7ff(0x17e)}},DEFAULT_IGNORE_DIRECTORIES=['node_modules','.git','dist',a0_0x47a7ff(0x155),'coverage',a0_0x47a7ff(0x193),'.nuxt',a0_0x47a7ff(0x171),'out','target','vendor','bower_components','.vscode','.idea',a0_0x47a7ff(0x183),'__pycache__',a0_0x47a7ff(0x150),'env',a0_0x47a7ff(0x126),'.pytest_cache','.mypy_cache',a0_0x47a7ff(0x147),a0_0x47a7ff(0x129),'lib',a0_0x47a7ff(0x182),'parts',a0_0x47a7ff(0x17c),'wheels',a0_0x47a7ff(0x14a),'.nox','htmlcov','.hypothesis',a0_0x47a7ff(0x15b),'temp','.tmp','.temp'],DEFAULT_IGNORE_EXTENSIONS=[a0_0x47a7ff(0x15f),'.min.js','.min.css','.lock',a0_0x47a7ff(0x156),a0_0x47a7ff(0x184),a0_0x47a7ff(0x16b),'.pyc','.pyo',a0_0x47a7ff(0x12b),a0_0x47a7ff(0x164),a0_0x47a7ff(0x14c),'.dylib',a0_0x47a7ff(0x139),'.obj','.o','.a',a0_0x47a7ff(0x131),'.jar','.war'],BINARY_EXTENSIONS=[a0_0x47a7ff(0x144),'.jpg','.jpeg','.gif',a0_0x47a7ff(0x149),'.ico',a0_0x47a7ff(0x18b),'.pdf',a0_0x47a7ff(0x188),'.tar',a0_0x47a7ff(0x192),'.rar',a0_0x47a7ff(0x197),'.mp3','.mp4',a0_0x47a7ff(0x15e),a0_0x47a7ff(0x17d),'.wmv',a0_0x47a7ff(0x17f),'.woff2',a0_0x47a7ff(0x18f),'.eot',a0_0x47a7ff(0x166),a0_0x47a7ff(0x135),'.db',a0_0x47a7ff(0x15a)];class FileTreeTool extends BaseTool{constructor(_0x4462ee={},_0x3dc986=null){const _0xe2824c=a0_0x47a7ff;super(_0x4462ee,_0x3dc986),this[_0xe2824c(0x162)]=!![],this[_0xe2824c(0x153)]=!![],this[_0xe2824c(0x138)]=_0x4462ee[_0xe2824c(0x138)]||0x1d4c0,this[_0xe2824c(0x13f)]={...TREE_CONFIG,..._0x4462ee[_0xe2824c(0x13f)]},this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}['getDescription'](){const _0x90f9a1=a0_0x47a7ff;return _0x90f9a1(0x19e)+TREE_CONFIG[_0x90f9a1(0x18e)]+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG[_0x90f9a1(0x19a)]+'\x0a\x20\x20-\x20Deeper\x20=\x20more\x20detail,\x20slower\x20performance\x0a\x0aincludeExtensions\x20(optional\x20-\x20WHITELIST):\x0a\x20\x20-\x20Include\x20ONLY\x20these\x20file\x20extensions\x0a\x20\x20-\x20Comma-separated\x20list\x0a\x20\x20-\x20Examples:\x20\x22.js,.jsx,.ts,.tsx\x22\x20or\x20\x22.py,.pyw\x22\x0a\x20\x20-\x20Takes\x20precedence\x20over\x20excludeExtensions\x0a\x0aexcludeExtensions\x20(optional\x20-\x20BLACKLIST):\x0a\x20\x20-\x20Exclude\x20these\x20file\x20extensions\x0a\x20\x20-\x20Comma-separated\x20list\x0a\x20\x20-\x20Examples:\x20\x22.test.js,.spec.js,.min.js\x22\x0a\x20\x20-\x20Only\x20applies\x20if\x20includeExtensions\x20is\x20not\x20set\x0a\x0aexcludeDirectories\x20(optional):\x0a\x20\x20-\x20Additional\x20directories\x20to\x20ignore\x0a\x20\x20-\x20Already\x20ignores:\x20node_modules,\x20.git,\x20dist,\x20build,\x20etc.\x0a\x20\x20-\x20Examples:\x20\x22tests,fixtures,mocks\x22\x0a\x0ashowFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20files\x20(default:\x20true)\x0a\x20\x20-\x20Set\x20to\x20false\x20to\x20show\x20only\x20directory\x20structure\x0a\x0ashowHidden\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20hidden\x20files/folders\x20(default:\x20false)\x0a\x20\x20-\x20Hidden\x20=\x20starts\x20with\x20\x27.\x27\x0a\x0ashowSizes\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20file\x20sizes\x20(default:\x20false)\x0a\x20\x20-\x20Format:\x20KB,\x20MB\x0a\x0aignoreBinaryFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20ignore\x20binary/media\x20files\x20(default:\x20false)\x0a\x20\x20-\x20Ignores:\x20images,\x20videos,\x20archives,\x20fonts,\x20etc.\x0a\x0aFILTERING\x20STRATEGIES:\x0a\x0aStrategy\x201:\x20WHITELIST\x20(Include\x20Only)\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx</include-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20ONLY\x20.js\x20and\x20.jsx\x20files\x0a\x0aStrategy\x202:\x20BLACKLIST\x20(Exclude)\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js</exclude-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20all\x20files\x20EXCEPT\x20.test.js\x20and\x20.spec.js\x0a\x0aStrategy\x203:\x20COMBINED\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<exclude-extensions>.test.js,.spec.ts</exclude-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20JS/JSX/TS/TSX\x20files,\x20but\x20excludes\x20test\x20files\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Basic\x20tree:\x0a<file-tree>\x0a\x20\x20<directory>.</directory>\x0a</file-tree>\x0a\x0aExample\x202\x20-\x20JavaScript/TypeScript\x20only:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<max-depth>5</max-depth>\x0a</file-tree>\x0a\x0aExample\x203\x20-\x20Python\x20project\x20structure:\x0a<file-tree>\x0a\x20\x20<directory>.</directory>\x0a\x20\x20<include-extensions>.py</include-extensions>\x0a\x20\x20<exclude-extensions>.pyc</exclude-extensions>\x0a\x20\x20<show-files>true</show-files>\x0a</file-tree>\x0a\x0aExample\x204\x20-\x20Directory\x20structure\x20only:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<show-files>false</show-files>\x0a\x20\x20<max-depth>3</max-depth>\x0a</file-tree>\x0a\x0aExample\x205\x20-\x20Exclude\x20test\x20files:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js,.test.ts,.spec.ts</exclude-extensions>\x0a\x20\x20<exclude-directories>__tests__,tests,specs</exclude-directories>\x0a</file-tree>\x0a\x0aOUTPUT\x20FORMAT:\x0asrc/\x0a├──\x20components/\x0a│\x20\x20\x20├──\x20Header.jsx\x0a│\x20\x20\x20├──\x20Footer.jsx\x0a│\x20\x20\x20└──\x20Layout.jsx\x0a├──\x20utils/\x0a│\x20\x20\x20├──\x20helpers.js\x0a│\x20\x20\x20└──\x20config.js\x0a└──\x20index.js\x0a\x0aAUTOMATIC\x20IGNORES:\x0aThe\x20tool\x20automatically\x20ignores\x20common\x20directories:\x0a-\x20node_modules,\x20.git,\x20dist,\x20build,\x20coverage\x0a-\x20.next,\x20.nuxt,\x20.cache,\x20out,\x20target\x0a-\x20.vscode,\x20.idea,\x20__pycache__,\x20venv\x0aAnd\x20more\x20(see\x20full\x20list\x20in\x20DEFAULT_IGNORE_DIRECTORIES)\x0a\x0aLIMITATIONS:\x0a-\x20Maximum\x20depth:\x20'+TREE_CONFIG['MAX_DEPTH_LIMIT']+_0x90f9a1(0x180)+TREE_CONFIG['MAX_FILES_IN_TREE']+'\x0a-\x20Maximum\x20directories:\x20'+TREE_CONFIG[_0x90f9a1(0x19d)]+_0x90f9a1(0x196);}['parseParameters'](_0x3db5fb){const _0x40b6b1=a0_0x47a7ff;try{if(_0x3db5fb[_0x40b6b1(0x189)]()['startsWith']('{')){const _0xc46a71=JSON[_0x40b6b1(0x127)](_0x3db5fb);return{'directory':_0xc46a71['directory']||'.','maxDepth':_0xc46a71[_0x40b6b1(0x12a)]||TREE_CONFIG[_0x40b6b1(0x18e)],'includeExtensions':_0xc46a71['includeExtensions']||[],'excludeExtensions':_0xc46a71['excludeExtensions']||[],'excludeDirectories':_0xc46a71['excludeDirectories']||[],'showFiles':_0xc46a71['showFiles']!==![],'showHidden':_0xc46a71['showHidden']===!![],'showSizes':_0xc46a71[_0x40b6b1(0x16e)]===!![],'ignoreBinaryFiles':_0xc46a71['ignoreBinaryFiles']===!![]};}const _0x6c7d2c={'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x13dbd5=/<directory>(.*?)<\/directory>/i,_0x3abcef=_0x13dbd5['exec'](_0x3db5fb);_0x3abcef&&(_0x6c7d2c['directory']=_0x3abcef[0x1][_0x40b6b1(0x189)]());const _0x4a4602=/<max-depth>(\d+)<\/max-depth>/i,_0x3daaaf=_0x4a4602[_0x40b6b1(0x154)](_0x3db5fb);_0x3daaaf&&(_0x6c7d2c['maxDepth']=parseInt(_0x3daaaf[0x1],0xa));const _0x317920=/<include-extensions>(.*?)<\/include-extensions>/i,_0x1c0311=_0x317920['exec'](_0x3db5fb);_0x1c0311&&(_0x6c7d2c[_0x40b6b1(0x17a)]=_0x1c0311[0x1]['split'](',')['map'](_0x2adbf6=>_0x2adbf6['trim']())[_0x40b6b1(0x187)](_0x1dbdab=>_0x1dbdab[_0x40b6b1(0x173)]>0x0));const _0xad3e06=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x1592fb=_0xad3e06[_0x40b6b1(0x154)](_0x3db5fb);_0x1592fb&&(_0x6c7d2c[_0x40b6b1(0x16f)]=_0x1592fb[0x1][_0x40b6b1(0x15d)](',')['map'](_0x4a3888=>_0x4a3888[_0x40b6b1(0x189)]())['filter'](_0x14baab=>_0x14baab[_0x40b6b1(0x173)]>0x0));const _0x1a8abc=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x2e896a=_0x1a8abc['exec'](_0x3db5fb);_0x2e896a&&(_0x6c7d2c['excludeDirectories']=_0x2e896a[0x1]['split'](',')[_0x40b6b1(0x136)](_0x4fe434=>_0x4fe434[_0x40b6b1(0x189)]())[_0x40b6b1(0x187)](_0xb99397=>_0xb99397[_0x40b6b1(0x173)]>0x0));const _0x50c9f9=/<show-files>(.*?)<\/show-files>/i,_0x46f2e3=_0x50c9f9[_0x40b6b1(0x154)](_0x3db5fb);_0x46f2e3&&(_0x6c7d2c[_0x40b6b1(0x18c)]=_0x46f2e3[0x1]['trim']()['toLowerCase']()!==_0x40b6b1(0x12e));const _0x15be51=/<show-hidden>(.*?)<\/show-hidden>/i,_0x29744f=_0x15be51[_0x40b6b1(0x154)](_0x3db5fb);_0x29744f&&(_0x6c7d2c[_0x40b6b1(0x176)]=_0x29744f[0x1][_0x40b6b1(0x189)]()[_0x40b6b1(0x13b)]()===_0x40b6b1(0x16a));const _0x48c182=/<show-sizes>(.*?)<\/show-sizes>/i,_0x24ceb5=_0x48c182['exec'](_0x3db5fb);_0x24ceb5&&(_0x6c7d2c['showSizes']=_0x24ceb5[0x1]['trim']()[_0x40b6b1(0x13b)]()===_0x40b6b1(0x16a));const _0x41a364=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x1a19cb=_0x41a364['exec'](_0x3db5fb);return _0x1a19cb&&(_0x6c7d2c['ignoreBinaryFiles']=_0x1a19cb[0x1][_0x40b6b1(0x189)]()['toLowerCase']()===_0x40b6b1(0x16a)),_0x6c7d2c;}catch(_0x5ddc14){return this['logger']?.['error'](_0x40b6b1(0x145),{'error':_0x5ddc14[_0x40b6b1(0x143)]}),{'directory':'.','maxDepth':TREE_CONFIG[_0x40b6b1(0x18e)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x5ddc14['message']};}}['getRequiredParameters'](){return[];}['customValidateParameters'](_0xee0674){const _0xc3117d=a0_0x47a7ff,_0x2f0613=[];if(_0xee0674['maxDepth']!==undefined){if(typeof _0xee0674['maxDepth']!==_0xc3117d(0x14f)||_0xee0674[_0xc3117d(0x12a)]<0x1)_0x2f0613[_0xc3117d(0x165)](_0xc3117d(0x148));else _0xee0674['maxDepth']>this['treeConfig'][_0xc3117d(0x19a)]&&_0x2f0613['push']('max-depth\x20cannot\x20exceed\x20'+this['treeConfig']['MAX_DEPTH_LIMIT']);}_0xee0674['directory']&&_0xee0674[_0xc3117d(0x195)][_0xc3117d(0x137)]('..')&&_0x2f0613['push'](_0xc3117d(0x130));if(_0xee0674[_0xc3117d(0x17a)]!==undefined&&_0xee0674[_0xc3117d(0x17a)]!==null){if(!Array[_0xc3117d(0x152)](_0xee0674['includeExtensions']))_0x2f0613['push']('includeExtensions\x20must\x20be\x20an\x20array');else for(const _0xded567 of _0xee0674['includeExtensions']){!_0xded567[_0xc3117d(0x141)]('.')&&_0x2f0613['push']('Extension\x20\x22'+_0xded567+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}if(_0xee0674['excludeExtensions']!==undefined&&_0xee0674[_0xc3117d(0x16f)]!==null){if(!Array['isArray'](_0xee0674['excludeExtensions']))_0x2f0613[_0xc3117d(0x165)]('excludeExtensions\x20must\x20be\x20an\x20array');else for(const _0x2fd2c0 of _0xee0674['excludeExtensions']){!_0x2fd2c0[_0xc3117d(0x141)]('.')&&_0x2f0613['push']('Extension\x20\x22'+_0x2fd2c0+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}_0xee0674[_0xc3117d(0x191)]!==undefined&&_0xee0674['excludeDirectories']!==null&&(!Array[_0xc3117d(0x152)](_0xee0674[_0xc3117d(0x191)])&&_0x2f0613[_0xc3117d(0x165)](_0xc3117d(0x146)));if(_0x2f0613[_0xc3117d(0x173)]>0x0)throw new Error(_0xc3117d(0x12c)+_0x2f0613[_0xc3117d(0x128)](',\x20'));return{'valid':!![],'errors':[]};}async[a0_0x47a7ff(0x19b)](_0x26255c,_0x5b007c){const _0x4ae362=a0_0x47a7ff,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG['DEFAULT_MAX_DEPTH'],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x26255c,{projectDir:_0x1e0a1d,agentId:_0x18ae11,directoryAccess:_0x2f5f86}=_0x5b007c;let _0x127ee6=_0x1e0a1d||process['cwd']();_0x2f5f86&&_0x2f5f86[_0x4ae362(0x12f)]&&(_0x127ee6=_0x2f5f86['workingDirectory'],this['logger']?.[_0x4ae362(0x13e)](_0x4ae362(0x168),{'workingDirectory':_0x2f5f86['workingDirectory'],'agentId':_0x18ae11}));const _0x350262=a0_0x410e83['isAbsolute'](directory)?directory:a0_0x410e83['resolve'](_0x127ee6,directory);try{const _0x5a87c7=await a0_0x286af4[_0x4ae362(0x177)](_0x350262);if(!_0x5a87c7[_0x4ae362(0x160)]())throw new Error('Path\x20is\x20not\x20a\x20directory');}catch(_0x3c2b7b){throw new Error(_0x4ae362(0x17b)+directory);}this[_0x4ae362(0x16c)]?.['info'](_0x4ae362(0x175),{'directory':directory,'targetDir':_0x350262,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.[_0x4ae362(0x173)]||0x0,'excludeExtensions':excludeExtensions?.['length']||0x0,'agentId':_0x18ae11}),this[_0x4ae362(0x181)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0xbdb23d=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x570b74=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x570b74[_0x4ae362(0x165)](...BINARY_EXTENSIONS);const _0xf0ceff=await this[_0x4ae362(0x12d)](_0x350262,_0x350262,0x0,maxDepth,_0xbdb23d,includeExtensions||[],[...excludeExtensions||[],..._0x570b74],showFiles,showHidden,showSizes),_0x2072ed=this[_0x4ae362(0x186)](_0xf0ceff),_0xdce314=this['generateSummary'](directory,this[_0x4ae362(0x181)],maxDepth);return{'success':!![],'directory':_0x350262,'tree':_0x2072ed,'summary':_0xdce314,'maxDepth':maxDepth,'totalFiles':this[_0x4ae362(0x181)][_0x4ae362(0x19c)],'totalDirectories':this[_0x4ae362(0x181)][_0x4ae362(0x18a)],'skippedCount':this['stats'][_0x4ae362(0x167)],'statistics':{...this['stats']},'toolUsed':_0x4ae362(0x133)};}async[a0_0x47a7ff(0x12d)](_0x3900f2,_0x4294b2,_0x417030,_0x59528a,_0x31ab89,_0x524235,_0x12a608,_0x349d5,_0x4550ef,_0x34809d){const _0x28b247=a0_0x47a7ff;if(_0x417030>_0x59528a)return null;if(this['stats']['directoriesCount']>=this['treeConfig']['MAX_DIRECTORIES'])return this[_0x28b247(0x16c)]?.['warn']('Maximum\x20directory\x20count\x20reached',{'maxDirectories':this['treeConfig']['MAX_DIRECTORIES']}),null;try{const _0x5e3f12=await a0_0x286af4['readdir'](_0x4294b2,{'withFileTypes':!![]}),_0x38cd5f={'name':_0x417030===0x0?a0_0x410e83[_0x28b247(0x161)](_0x4294b2)+'/':a0_0x410e83['basename'](_0x4294b2),'path':a0_0x410e83['relative'](_0x3900f2,_0x4294b2),'type':'directory','children':[]};this[_0x28b247(0x181)]['directoriesCount']++;for(const _0x752780 of _0x5e3f12){if(this[_0x28b247(0x181)][_0x28b247(0x19c)]>=this['treeConfig'][_0x28b247(0x140)]){this[_0x28b247(0x16c)]?.['warn'](_0x28b247(0x18d),{'maxFiles':this['treeConfig']['MAX_FILES_IN_TREE']});break;}if(!_0x4550ef&&_0x752780[_0x28b247(0x13d)]['startsWith']('.')){this[_0x28b247(0x181)]['skippedCount']++;continue;}const _0x19dba4=a0_0x410e83[_0x28b247(0x128)](_0x4294b2,_0x752780[_0x28b247(0x13d)]);if(_0x752780['isDirectory']()){if(_0x31ab89['includes'](_0x752780[_0x28b247(0x13d)])){this[_0x28b247(0x181)][_0x28b247(0x167)]++;continue;}const _0x588178=await this['buildTree'](_0x3900f2,_0x19dba4,_0x417030+0x1,_0x59528a,_0x31ab89,_0x524235,_0x12a608,_0x349d5,_0x4550ef,_0x34809d);_0x588178&&(_0x588178[_0x28b247(0x169)]['length']>0x0||_0x417030===0x0)&&_0x38cd5f[_0x28b247(0x169)][_0x28b247(0x165)](_0x588178);}else{if(_0x752780[_0x28b247(0x174)]()&&_0x349d5){if(_0x417030+0x1>_0x59528a)continue;const _0x3ee987=a0_0x410e83['extname'](_0x752780[_0x28b247(0x13d)]);if(_0x524235[_0x28b247(0x173)]>0x0){if(!_0x524235['includes'](_0x3ee987)){this['stats'][_0x28b247(0x167)]++;continue;}}else{if(_0x12a608['includes'](_0x3ee987)){this[_0x28b247(0x181)]['skippedCount']++;continue;}}let _0x2243fc='';if(_0x34809d)try{const _0x37b57f=await a0_0x286af4[_0x28b247(0x177)](_0x19dba4);_0x2243fc='\x20('+this['formatFileSize'](_0x37b57f['size'])+')';}catch(_0x275129){}_0x38cd5f['children'][_0x28b247(0x165)]({'name':_0x752780['name']+_0x2243fc,'path':a0_0x410e83[_0x28b247(0x198)](_0x3900f2,_0x19dba4),'type':_0x28b247(0x185),'ext':_0x3ee987}),this['stats']['filesCount']++;}}}return _0x38cd5f['children']['sort']((_0x9867ac,_0x34bc8c)=>{const _0x38b672=_0x28b247;if(_0x9867ac['type']===_0x34bc8c['type'])return _0x9867ac[_0x38b672(0x13d)]['localeCompare'](_0x34bc8c[_0x38b672(0x13d)]);return _0x9867ac['type']==='directory'?-0x1:0x1;}),_0x38cd5f;}catch(_0x522440){return this[_0x28b247(0x16c)]?.['error'](_0x28b247(0x15c),{'currentPath':_0x4294b2,'error':_0x522440['message']}),{'name':a0_0x410e83['basename'](_0x4294b2),'path':a0_0x410e83['relative'](_0x3900f2,_0x4294b2),'type':_0x28b247(0x195),'error':_0x522440[_0x28b247(0x143)],'children':[]};}}[a0_0x47a7ff(0x186)](_0x3a800c,_0x4c951d='',_0x3420f5=!![],_0x59ce61=!![]){const _0x12626d=a0_0x47a7ff;if(!_0x3a800c)return'';const _0x11fd3f=this['treeConfig']['SYMBOLS'];let _0x42bd1b='';_0x59ce61?_0x42bd1b=_0x3a800c[_0x12626d(0x13d)]+'\x0a':_0x42bd1b=''+_0x4c951d+(_0x3420f5?_0x11fd3f[_0x12626d(0x179)]:_0x11fd3f[_0x12626d(0x14e)])+_0x3a800c[_0x12626d(0x13d)]+'\x0a';if(_0x3a800c[_0x12626d(0x169)]&&_0x3a800c['children'][_0x12626d(0x173)]>0x0){const _0x1aa049=_0x59ce61?'':_0x4c951d+(_0x3420f5?_0x11fd3f[_0x12626d(0x16d)]:_0x11fd3f[_0x12626d(0x13c)]);_0x3a800c['children'][_0x12626d(0x14b)]((_0x1f148a,_0x1a5f2e)=>{const _0x5b6891=_0x12626d,_0xac3842=_0x1a5f2e===_0x3a800c[_0x5b6891(0x169)][_0x5b6891(0x173)]-0x1;_0x42bd1b+=this[_0x5b6891(0x186)](_0x1f148a,_0x1aa049,_0xac3842,![]);});}return _0x42bd1b;}['formatFileSize'](_0x1242b3){const _0x40338e=a0_0x47a7ff,_0x5b3849=0x400,_0x5b11a5=_0x5b3849*0x400,_0x36b60b=_0x5b11a5*0x400;if(_0x1242b3>=_0x36b60b)return(_0x1242b3/_0x36b60b)['toFixed'](0x2)+_0x40338e(0x172);else{if(_0x1242b3>=_0x5b11a5)return(_0x1242b3/_0x5b11a5)['toFixed'](0x2)+'\x20MB';else return _0x1242b3>=_0x5b3849?(_0x1242b3/_0x5b3849)['toFixed'](0x2)+_0x40338e(0x157):_0x1242b3+'\x20B';}}['generateSummary'](_0x4bac57,_0x52b418,_0x38f088){const _0x31439f=a0_0x47a7ff;return(_0x31439f(0x170)+_0x4bac57+'\x0aMax\x20Depth:\x20'+_0x38f088+_0x31439f(0x125)+_0x52b418['filesCount']+'\x0aDirectories:\x20'+_0x52b418[_0x31439f(0x18a)]+'\x0aSkipped:\x20'+_0x52b418['skippedCount']+'\x0a\x20\x20\x20\x20')['trim']();}async[a0_0x47a7ff(0x14d)](_0x35a024){const _0x25bcf1=a0_0x47a7ff;this[_0x25bcf1(0x16c)]?.[_0x25bcf1(0x13e)](_0x25bcf1(0x132),{'operationId':_0x35a024});}}export default FileTreeTool;
@@ -1 +1 @@
1
- function a0_0x50f1(_0x4ccea0,_0x5b0d51){_0x4ccea0=_0x4ccea0-0x140;const _0x471748=a0_0x4717();let _0x50f1ea=_0x471748[_0x4ccea0];if(a0_0x50f1['SZZSpE']===undefined){var _0x8e5f71=function(_0x5a13ee){const _0x2df66d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39773e='',_0x39a1c2='';for(let _0x21de8e=0x0,_0x7faf61,_0x54825d,_0x518e79=0x0;_0x54825d=_0x5a13ee['charAt'](_0x518e79++);~_0x54825d&&(_0x7faf61=_0x21de8e%0x4?_0x7faf61*0x40+_0x54825d:_0x54825d,_0x21de8e++%0x4)?_0x39773e+=String['fromCharCode'](0xff&_0x7faf61>>(-0x2*_0x21de8e&0x6)):0x0){_0x54825d=_0x2df66d['indexOf'](_0x54825d);}for(let _0x528e9c=0x0,_0x2fa307=_0x39773e['length'];_0x528e9c<_0x2fa307;_0x528e9c++){_0x39a1c2+='%'+('00'+_0x39773e['charCodeAt'](_0x528e9c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39a1c2);};a0_0x50f1['LqQoCf']=_0x8e5f71,a0_0x50f1['WakHjR']={},a0_0x50f1['SZZSpE']=!![];}const _0x4ee606=_0x471748[0x0],_0x3ba22e=_0x4ccea0+_0x4ee606,_0x30d1c8=a0_0x50f1['WakHjR'][_0x3ba22e];return!_0x30d1c8?(_0x50f1ea=a0_0x50f1['LqQoCf'](_0x50f1ea),a0_0x50f1['WakHjR'][_0x3ba22e]=_0x50f1ea):_0x50f1ea=_0x30d1c8,_0x50f1ea;}const a0_0x5902f1=a0_0x50f1;(function(_0x235c51,_0x367de1){const _0x567f4b=a0_0x50f1,_0x267c15=_0x235c51();while(!![]){try{const _0xc421e7=-parseInt(_0x567f4b(0x180))/0x1*(-parseInt(_0x567f4b(0x154))/0x2)+parseInt(_0x567f4b(0x156))/0x3*(parseInt(_0x567f4b(0x15b))/0x4)+parseInt(_0x567f4b(0x1c0))/0x5+parseInt(_0x567f4b(0x151))/0x6+-parseInt(_0x567f4b(0x143))/0x7*(parseInt(_0x567f4b(0x1d1))/0x8)+parseInt(_0x567f4b(0x176))/0x9+-parseInt(_0x567f4b(0x14e))/0xa;if(_0xc421e7===_0x367de1)break;else _0x267c15['push'](_0x267c15['shift']());}catch(_0x56b9ed){_0x267c15['push'](_0x267c15['shift']());}}}(a0_0x4717,0xbf102));import a0_0x39773e from'path';import a0_0x39a1c2 from'os';import{promises as a0_0x21de8e}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':a0_0x5902f1(0x14d),'DEFAULT_SIZE':'1024x1024','DEFAULT_QUALITY':a0_0x5902f1(0x19f),'VALID_SIZES':[a0_0x5902f1(0x186),a0_0x5902f1(0x1ce),a0_0x5902f1(0x1a0),a0_0x5902f1(0x1ac),a0_0x5902f1(0x144)],'VALID_FORMATS':[a0_0x5902f1(0x16d),a0_0x5902f1(0x1ba),a0_0x5902f1(0x1b7),'webp'],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};export class ImageTool extends BaseTool{constructor(_0x7faf61={},_0x54825d=null){const _0xf61690=a0_0x5902f1;super(_0x7faf61,_0x54825d),this['id']=_0xf61690(0x190),this['queue']=[],this[_0xf61690(0x198)]=null,this[_0xf61690(0x157)]=new Map(),this[_0xf61690(0x1af)]=![],this[_0xf61690(0x1b0)]=null,this['agentPool']=null,this[_0xf61690(0x175)]=a0_0x39773e['join'](a0_0x39a1c2[_0xf61690(0x1c3)](),'loxia-images'),this[_0xf61690(0x15d)]=new Map();}['setAIService'](_0x518e79){const _0x5deb58=a0_0x5902f1;this['aiService']=_0x518e79,this['logger']?.[_0x5deb58(0x17a)]('AI\x20Service\x20set\x20for\x20ImageTool');}['setAgentPool'](_0x528e9c){const _0x7c3dc9=a0_0x5902f1;this['agentPool']=_0x528e9c,this['logger']?.['info'](_0x7c3dc9(0x182));}[a0_0x5902f1(0x14f)](){return'Tool:\x20Image\x20Generator\x20-\x20Generate\x20images\x20using\x20AI\x20models\x0a\x0a**Purpose:**\x20Generate\x20images\x20from\x20text\x20descriptions\x20using\x20DALL-E\x203\x20via\x20Azure\x20OpenAI.\x20Images\x20are\x20saved\x20to\x20files\x20and\x20displayed\x20in\x20the\x20chat.\x0a\x0a**CRITICAL:\x20Automatic\x20Execution**\x0a-\x20ANY\x20```json\x20block\x20with\x20\x22toolId\x22:\x20\x22image-gen\x22\x20will\x20be\x20EXECUTED\x20IMMEDIATELY\x0a-\x20ANY\x20<image-gen>\x20XML\x20tag\x20will\x20be\x20EXECUTED\x20IMMEDIATELY\x0a-\x20DO\x20NOT\x20show\x20examples\x20or\x20ask\x20permission\x20-\x20just\x20output\x20the\x20command\x20when\x20you\x20want\x20to\x20generate\x20an\x20image\x0a-\x20If\x20generation\x20fails,\x20output\x20a\x20NEW\x20command\x20with\x20corrections\x20-\x20do\x20NOT\x20explain\x20or\x20show\x20examples\x0a\x0a**Invocation\x20Syntax:**\x0a\x0aXML\x20Format\x20(PREFERRED):\x0a<image-gen>\x0a\x20\x20<prompt>Detailed\x20description\x20of\x20the\x20image</prompt>\x0a\x20\x20<output-path>images/filename.png</output-path>\x0a\x20\x20<model>azure-openai-dalle3</model>\x0a\x20\x20<size>1024x1024</size>\x0a</image-gen>\x0a\x0aJSON\x20Format\x20(also\x20works):\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22image-gen\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22prompt\x22:\x20\x22Detailed\x20description\x22,\x0a\x20\x20\x20\x20\x22outputPath\x22:\x20\x22images/filename.png\x22,\x0a\x20\x20\x20\x20\x22model\x22:\x20\x22azure-openai-dalle3\x22,\x0a\x20\x20\x20\x20\x22size\x22:\x20\x221024x1024\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**prompt**\x20(string,\x20required):\x20Detailed\x20description\x20of\x20the\x20image\x20to\x20generate\x0a-\x20**outputPath**\x20(string,\x20optional):\x20Relative\x20path\x20for\x20saving\x20the\x20image\x0a\x20\x20-\x20If\x20specified:\x20Saves\x20to\x20project\x20directory\x20at\x20this\x20path\x20(permanent)\x0a\x20\x20-\x20If\x20omitted:\x20Saves\x20to\x20temp\x20directory\x20(auto-deleted\x20after\x201\x20hour)\x0a-\x20**model**\x20(string,\x20optional):\x20AI\x20model\x20to\x20use.\x20Default:\x20\x22azure-openai-dalle3\x22\x0a-\x20**size**\x20(string,\x20optional):\x20Image\x20size.\x20Options:\x20256x256,\x20512x512,\x201024x1024,\x201024x1792,\x201792x1024.\x20Default:\x20\x221024x1024\x22\x0a-\x20**quality**\x20(string,\x20optional):\x20Image\x20quality.\x20Options:\x20standard,\x20hd.\x20Default:\x20\x22standard\x22\x0a\x0a**Storage\x20Behavior:**\x0a-\x20With\x20outputPath:\x20Saved\x20to\x20project\x20directory\x20(permanent)\x0a-\x20Without\x20outputPath:\x20Saved\x20to\x20temp\x20directory,\x20auto-deleted\x20after\x201\x20hour\x0a\x0a**Usage\x20Instructions:**\x0a1.\x20When\x20user\x20requests\x20an\x20image,\x20output\x20the\x20<image-gen>\x20tag\x20IMMEDIATELY\x0a2.\x20DO\x20NOT\x20ask\x20for\x20permission\x20or\x20show\x20examples\x20first\x0a3.\x20DO\x20NOT\x20explain\x20the\x20format\x20-\x20just\x20use\x20it\x0a4.\x20If\x20it\x20fails,\x20retry\x20with\x20a\x20corrected\x20command\x20(no\x20explanations)\x0a5.\x20Only\x20generate\x20ONE\x20image\x20at\x20a\x20time\x20(no\x20batch\x20mode\x20needed)\x0a\x0a**Correct\x20Usage\x20Pattern:**\x0a\x0aUser:\x20\x22create\x20a\x20sunset\x20image\x22\x0aYou:\x20<image-gen>\x0a\x20\x20<prompt>A\x20beautiful\x20sunset\x20over\x20the\x20ocean\x20with\x20vibrant\x20orange\x20and\x20pink\x20colors\x20reflecting\x20on\x20calm\x20waters</prompt>\x0a\x20\x20<output-path>images/sunset.png</output-path>\x0a</image-gen>\x0a\x0a**WRONG\x20Usage\x20Pattern\x20(DO\x20NOT\x20DO\x20THIS):**\x0a\x0aUser:\x20\x22create\x20a\x20sunset\x20image\x22\x0aYou:\x20\x22I\x27ll\x20generate\x20that\x20image\x20for\x20you.\x20Here\x27s\x20the\x20command:\x0a```xml\x0a<image-gen>...</image-gen>\x0a```\x0aDo\x20you\x20want\x20me\x20to\x20proceed?\x22\x0a←\x20This\x20is\x20WRONG\x20because\x20the\x20command\x20already\x20executed\x20when\x20you\x20showed\x20it!\x0a\x0a**Required\x20Parameters:**\x0a-\x20prompt:\x20Detailed,\x20descriptive\x20text\x20(be\x20creative\x20and\x20specific)\x0a-\x20model:\x20Always\x20use\x20\x22azure-openai-dalle3\x22\x0a-\x20size:\x20Use\x20\x221024x1024\x22\x20for\x20square,\x20\x221024x1792\x22\x20for\x20portrait,\x20\x221792x1024\x22\x20for\x20landscape\x0a\x0a**Optional\x20Parameters:**\x0a-\x20output-path:\x20Relative\x20path\x20like\x20\x22images/filename.png\x22\x20(omit\x20for\x20temp\x20file)\x0a-\x20quality:\x20\x22standard\x22\x20or\x20\x22hd\x22\x20(default:\x20standard)\x0a\x0a**Important\x20Notes:**\x0a-\x20Images\x20take\x2015-30\x20seconds\x20to\x20generate\x0a-\x20You\x27ll\x20get\x20immediate\x20confirmation\x20with\x20a\x20job\x20ID\x0a-\x20The\x20image\x20appears\x20automatically\x20when\x20complete\x0a-\x20Be\x20descriptive\x20in\x20prompts\x20for\x20better\x20results\x0a-\x20Maximum\x20'+IMAGE_CONFIG['QUEUE_LIMIT']+'\x20images\x20in\x20queue\x20at\x20once';}[a0_0x5902f1(0x163)](_0x2fa307){const _0x5de2cb=a0_0x5902f1;if(typeof _0x2fa307===_0x5de2cb(0x155)&&_0x2fa307!==null)return this[_0x5de2cb(0x169)](_0x2fa307);if(typeof _0x2fa307==='string'){const _0x521450=_0x2fa307[_0x5de2cb(0x15e)]();if(_0x521450[_0x5de2cb(0x1c5)]('{')||_0x521450[_0x5de2cb(0x1c5)]('['))try{const _0x2f2309=JSON[_0x5de2cb(0x177)](_0x521450);return this[_0x5de2cb(0x169)](_0x2f2309);}catch(_0x5c80fb){}return this['_parseXMLParams'](_0x2fa307);}throw new Error(_0x5de2cb(0x148));}[a0_0x5902f1(0x169)](_0x2dec59){const _0x3f4bfa=a0_0x5902f1;_0x2dec59[_0x3f4bfa(0x14b)]&&(_0x2dec59=_0x2dec59['parameters']);if(_0x2dec59[_0x3f4bfa(0x17d)]&&Array[_0x3f4bfa(0x153)](_0x2dec59[_0x3f4bfa(0x17d)]))return{'batch':!![],'images':_0x2dec59['batch']['map'](_0x3cd986=>this['_parseImageParams'](_0x3cd986))};return{'batch':![],'images':[this[_0x3f4bfa(0x17b)](_0x2dec59)]};}[a0_0x5902f1(0x1b6)](_0x87deec){const _0x595a1a=a0_0x5902f1,_0x185441={'batch':![],'images':[]},_0x505399=/<batch>([\s\S]*?)<\/batch>/i[_0x595a1a(0x196)](_0x87deec);if(_0x505399){_0x185441[_0x595a1a(0x17d)]=!![];const _0x12fa17=_0x505399[0x1],_0x1b9935=/<image>([\s\S]*?)<\/image>/gi;let _0x32255d;while((_0x32255d=_0x1b9935['exec'](_0x12fa17))!==null){_0x185441[_0x595a1a(0x1c1)]['push'](this['_parseXMLImage'](_0x32255d[0x1]));}}else _0x185441['images'][_0x595a1a(0x192)](this['_parseXMLImage'](_0x87deec));if(_0x185441['images'][_0x595a1a(0x174)]===0x0)throw new Error('No\x20valid\x20image\x20parameters\x20found');return _0x185441;}[a0_0x5902f1(0x17b)](_0x313862){const _0x1052cb=a0_0x5902f1,_0x431967=_0x313862[_0x1052cb(0x1cb)]||_0x313862['output-path']||null;return{'prompt':_0x313862[_0x1052cb(0x1c6)]||'','outputPath':_0x431967,'saveToProject':_0x431967!==null,'model':_0x313862[_0x1052cb(0x149)]||IMAGE_CONFIG[_0x1052cb(0x171)],'size':_0x313862[_0x1052cb(0x162)]||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x313862[_0x1052cb(0x150)]||IMAGE_CONFIG[_0x1052cb(0x16c)]};}['_parseXMLImage'](_0x415f5c){const _0x46291e=a0_0x5902f1,_0x51cf60=_0x2661a4=>{const _0x3cf137=new RegExp('<'+_0x2661a4+'>([\x5cs\x5cS]*?)<\x5c/'+_0x2661a4+'>','i'),_0x46d24f=_0x3cf137['exec'](_0x415f5c);return _0x46d24f?_0x46d24f[0x1]['trim']():null;},_0x23634e=_0x51cf60(_0x46291e(0x158))||null;return{'prompt':_0x51cf60(_0x46291e(0x1c6))||'','outputPath':_0x23634e,'saveToProject':_0x23634e!==null,'model':_0x51cf60('model')||IMAGE_CONFIG[_0x46291e(0x171)],'size':_0x51cf60('size')||IMAGE_CONFIG[_0x46291e(0x18d)],'quality':_0x51cf60('quality')||IMAGE_CONFIG[_0x46291e(0x16c)]};}async['execute'](_0x2bc52e,_0x376ea3={}){const _0x50a352=a0_0x5902f1;try{const {agentId:_0x14f5a,projectDir:_0x27cba4,directoryAccess:_0x4b579a,sessionId:_0x445e42}=_0x376ea3;typeof _0x2bc52e==='string'&&(this['logger']?.[_0x50a352(0x17a)](_0x50a352(0x1bb)),_0x2bc52e=this[_0x50a352(0x163)](_0x2bc52e));this[_0x50a352(0x199)](_0x2bc52e);const _0x564768=[];for(const _0x48cdf6 of _0x2bc52e['images']){const _0x4dc7ec=this['_generateJobId'](),_0xb638ae={'jobId':_0x4dc7ec,'agentId':_0x14f5a,'sessionId':_0x445e42,'prompt':_0x48cdf6['prompt'],'outputPath':_0x48cdf6['outputPath'],'saveToProject':_0x48cdf6['saveToProject'],'model':_0x48cdf6['model'],'size':_0x48cdf6[_0x50a352(0x162)],'quality':_0x48cdf6[_0x50a352(0x150)],'projectDir':_0x27cba4||process[_0x50a352(0x1b3)](),'directoryAccess':_0x4b579a,'status':_0x50a352(0x15f),'createdAt':new Date()[_0x50a352(0x189)]()};if(this[_0x50a352(0x1bc)][_0x50a352(0x174)]>=IMAGE_CONFIG[_0x50a352(0x159)])return{'success':![],'error':_0x50a352(0x1d3)+IMAGE_CONFIG['QUEUE_LIMIT']+'\x20images).\x20Please\x20wait\x20for\x20current\x20jobs\x20to\x20complete.','queueLength':this['queue']['length']};this['queue'][_0x50a352(0x192)](_0xb638ae),_0x564768['push'](_0x4dc7ec),this[_0x50a352(0x1a2)]?.[_0x50a352(0x17a)](_0x50a352(0x178)+_0x4dc7ec,{'prompt':_0x48cdf6['prompt'][_0x50a352(0x173)](0x0,0x32)+_0x50a352(0x1ca),'queuePosition':this[_0x50a352(0x1bc)][_0x50a352(0x174)]});}return!this['isProcessing']&&this['_processQueue']()[_0x50a352(0x1aa)](_0x23ffbd=>{const _0x12d20b=_0x50a352;this['logger']?.[_0x12d20b(0x172)]('Queue\x20processing\x20error:',_0x23ffbd);}),{'success':!![],'jobIds':_0x564768,'queueLength':this[_0x50a352(0x1bc)]['length'],'message':_0x2bc52e['batch']?_0x564768[_0x50a352(0x174)]+_0x50a352(0x1ad):'Image\x20queued\x20for\x20generation','estimatedWaitTime':this['_estimateWaitTime']()};}catch(_0x351519){return this['logger']?.['error'](_0x50a352(0x1ab),_0x351519),{'success':![],'error':_0x351519['message']};}}['_validateParameters'](_0x342f8f){const _0x4302c1=a0_0x5902f1;if(!_0x342f8f[_0x4302c1(0x1c1)]||_0x342f8f['images']['length']===0x0)throw new Error('No\x20images\x20specified');for(const _0x208185 of _0x342f8f['images']){if(!_0x208185[_0x4302c1(0x1c6)]||_0x208185['prompt'][_0x4302c1(0x15e)]()[_0x4302c1(0x174)]===0x0)throw new Error(_0x4302c1(0x1c7));if(_0x208185['prompt'][_0x4302c1(0x174)]>IMAGE_CONFIG[_0x4302c1(0x1d4)])throw new Error(_0x4302c1(0x1a7)+IMAGE_CONFIG['MAX_PROMPT_LENGTH']+_0x4302c1(0x185));if(_0x208185['size']&&!IMAGE_CONFIG[_0x4302c1(0x1cf)][_0x4302c1(0x193)](_0x208185[_0x4302c1(0x162)]))throw new Error(_0x4302c1(0x167)+_0x208185['size']+'.\x20Valid\x20sizes:\x20'+IMAGE_CONFIG[_0x4302c1(0x1cf)][_0x4302c1(0x14c)](',\x20'));if(_0x208185['outputPath']){const _0x1dd541=a0_0x39773e['extname'](_0x208185['outputPath'])[_0x4302c1(0x1a1)]()[_0x4302c1(0x1cd)]('.','');if(_0x1dd541&&!IMAGE_CONFIG['VALID_FORMATS']['includes'](_0x1dd541))throw new Error('Invalid\x20format:\x20'+_0x1dd541+'.\x20Valid\x20formats:\x20'+IMAGE_CONFIG['VALID_FORMATS'][_0x4302c1(0x14c)](',\x20'));}}}async['_processQueue'](){const _0x31da50=a0_0x5902f1;if(this[_0x31da50(0x1af)])return;this[_0x31da50(0x1af)]=!![];while(this['queue'][_0x31da50(0x174)]>0x0){const _0x399f14=this[_0x31da50(0x1bc)]['shift']();this[_0x31da50(0x198)]=_0x399f14,this['logger']?.[_0x31da50(0x17a)]('Processing\x20image\x20generation\x20job:\x20'+_0x399f14['jobId']);try{_0x399f14[_0x31da50(0x170)]=_0x31da50(0x1a4);const _0x56d985=await this[_0x31da50(0x166)](_0x399f14);_0x399f14[_0x31da50(0x170)]='completed',_0x399f14['result']=_0x56d985,_0x399f14[_0x31da50(0x183)]=new Date()['toISOString'](),this['completedJobs']['set'](_0x399f14['jobId'],_0x399f14);if(global['loxiaWebServer']&&_0x399f14[_0x31da50(0x1c9)]){let _0x1e3ece,_0x25612b=![];if(_0x56d985[_0x31da50(0x187)]&&_0x56d985['resolvedOutputPath'])_0x1e3ece=this['_convertToWebUrl'](_0x56d985[_0x31da50(0x194)],_0x399f14[_0x31da50(0x1c9)]);else _0x56d985['temporaryUrl']&&(_0x1e3ece=_0x56d985['temporaryUrl'],_0x25612b=!![]);global[_0x31da50(0x1c8)]['broadcastToSession'](_0x399f14['sessionId'],{'type':_0x31da50(0x19a),'agentId':_0x399f14[_0x31da50(0x1d2)],'jobId':_0x399f14[_0x31da50(0x195)],'imageUrl':_0x1e3ece,'localPath':_0x56d985[_0x31da50(0x194)],'prompt':_0x399f14[_0x31da50(0x1c6)],'success':!![],'isTemporary':_0x25612b,'savedToDisk':_0x56d985['savedToDisk'],'downloadError':_0x56d985['downloadError'],'timestamp':_0x399f14[_0x31da50(0x183)]}),this['logger']?.['info']('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x399f14[_0x31da50(0x195)],'imageUrl':_0x1e3ece,'localPath':_0x56d985['resolvedOutputPath'],'savedToDisk':_0x56d985[_0x31da50(0x187)],'isTemporary':_0x25612b});if(this[_0x31da50(0x161)]&&_0x399f14['agentId'])try{const _0x576ce1=await this['agentPool'][_0x31da50(0x141)](_0x399f14['agentId']);if(_0x576ce1){let _0x10cd7d='Image\x20generated:\x20'+_0x399f14[_0x31da50(0x1c6)];_0x25612b&&(_0x10cd7d+=_0x31da50(0x1d0),_0x56d985[_0x31da50(0x18a)]&&(_0x10cd7d+='\x0a**Error:**\x20'+_0x56d985[_0x31da50(0x18a)]));const _0x155c5d={'id':_0x31da50(0x1a9)+_0x399f14[_0x31da50(0x195)],'role':'assistant','content':_0x10cd7d,'timestamp':_0x399f14['completedAt'],'imageUrl':_0x1e3ece,'type':_0x31da50(0x188),'toolId':_0x31da50(0x190),'status':_0x31da50(0x15c),'isTemporary':_0x25612b||![],'savedToDisk':_0x56d985['savedToDisk']!==![]};_0x576ce1['conversations']['full']['messages']['push'](_0x155c5d),_0x576ce1[_0x31da50(0x147)][_0x31da50(0x1ae)]['lastUpdated']=_0x399f14['completedAt'],_0x576ce1[_0x31da50(0x1c4)]&&_0x576ce1[_0x31da50(0x147)][_0x576ce1['currentModel']]&&(_0x576ce1['conversations'][_0x576ce1[_0x31da50(0x1c4)]][_0x31da50(0x145)]['push'](_0x155c5d),_0x576ce1['conversations'][_0x576ce1['currentModel']][_0x31da50(0x1be)]=_0x399f14['completedAt']),_0x576ce1[_0x31da50(0x15a)]=_0x399f14[_0x31da50(0x183)],await this['agentPool']['persistAgentState'](_0x399f14[_0x31da50(0x1d2)]),this['logger']?.['info']('Image\x20result\x20saved\x20to\x20conversation\x20history',{'agentId':_0x399f14[_0x31da50(0x1d2)],'jobId':_0x399f14['jobId'],'messageId':_0x155c5d['id']});}}catch(_0x296262){this[_0x31da50(0x1a2)]?.[_0x31da50(0x172)](_0x31da50(0x18c),{'error':_0x296262[_0x31da50(0x1a5)],'agentId':_0x399f14['agentId'],'jobId':_0x399f14['jobId']});}}this[_0x31da50(0x1a2)]?.[_0x31da50(0x17a)](_0x31da50(0x160)+_0x399f14[_0x31da50(0x195)],{'outputPath':_0x56d985[_0x31da50(0x194)]});}catch(_0x19a630){this[_0x31da50(0x1a2)]?.[_0x31da50(0x172)](_0x31da50(0x191)+_0x399f14[_0x31da50(0x195)],_0x19a630),_0x399f14[_0x31da50(0x170)]='failed',_0x399f14['error']=_0x19a630['message'],_0x399f14['completedAt']=new Date()['toISOString'](),this['completedJobs'][_0x31da50(0x179)](_0x399f14[_0x31da50(0x195)],_0x399f14);global[_0x31da50(0x1c8)]&&_0x399f14['sessionId']&&(global['loxiaWebServer'][_0x31da50(0x16e)](_0x399f14['sessionId'],{'type':_0x31da50(0x19a),'jobId':_0x399f14['jobId'],'agentId':_0x399f14['agentId'],'prompt':_0x399f14['prompt'],'success':![],'error':_0x19a630[_0x31da50(0x1a5)],'timestamp':_0x399f14[_0x31da50(0x183)]}),this['logger']?.[_0x31da50(0x17a)]('Image\x20generation\x20error\x20broadcast\x20sent',{'jobId':_0x399f14['jobId'],'sessionId':_0x399f14['sessionId'],'error':_0x19a630['message']}));if(this[_0x31da50(0x161)]&&_0x399f14['agentId'])try{const _0x520be5=await this['agentPool']['getAgent'](_0x399f14[_0x31da50(0x1d2)]);if(_0x520be5){const _0x61a059={'id':'img-error-'+_0x399f14['jobId'],'role':_0x31da50(0x16a),'content':_0x31da50(0x1bd)+_0x19a630[_0x31da50(0x1a5)]+'\x0a\x0a**Prompt:**\x20'+_0x399f14['prompt'],'timestamp':_0x399f14['completedAt'],'type':_0x31da50(0x172),'toolId':_0x31da50(0x190),'status':'failed','jobId':_0x399f14[_0x31da50(0x195)]};_0x520be5[_0x31da50(0x147)][_0x31da50(0x1ae)][_0x31da50(0x145)][_0x31da50(0x192)](_0x61a059),_0x520be5['conversations']['full'][_0x31da50(0x1be)]=_0x399f14[_0x31da50(0x183)],_0x520be5['currentModel']&&_0x520be5[_0x31da50(0x147)][_0x520be5['currentModel']]&&(_0x520be5['conversations'][_0x520be5[_0x31da50(0x1c4)]][_0x31da50(0x145)]['push'](_0x61a059),_0x520be5['conversations'][_0x520be5['currentModel']][_0x31da50(0x1be)]=_0x399f14['completedAt']),_0x520be5['lastActivity']=_0x399f14[_0x31da50(0x183)],await this['agentPool']['persistAgentState'](_0x399f14['agentId']),this['logger']?.[_0x31da50(0x17a)](_0x31da50(0x18e),{'agentId':_0x399f14[_0x31da50(0x1d2)],'jobId':_0x399f14[_0x31da50(0x195)],'error':_0x19a630['message']});}}catch(_0x32e701){this['logger']?.[_0x31da50(0x172)](_0x31da50(0x152),{'error':_0x32e701[_0x31da50(0x1a5)],'agentId':_0x399f14[_0x31da50(0x1d2)],'jobId':_0x399f14[_0x31da50(0x195)]});}}}this[_0x31da50(0x1af)]=![],this['currentJob']=null;}async['_generateImage'](_0x3c92e2){const _0x57d4f7=a0_0x5902f1;if(!this['aiService'])throw new Error(_0x57d4f7(0x1b9));const _0x7649fd=await this[_0x57d4f7(0x18f)](_0x3c92e2),_0x74646d=a0_0x39773e[_0x57d4f7(0x16b)](_0x7649fd);await a0_0x21de8e[_0x57d4f7(0x1b4)](_0x74646d,{'recursive':!![]}),this[_0x57d4f7(0x1a2)]?.['info'](_0x57d4f7(0x142)+_0x3c92e2['model'],{'size':_0x3c92e2[_0x57d4f7(0x162)],'quality':_0x3c92e2[_0x57d4f7(0x150)]});const _0x377ed6={'model':_0x3c92e2[_0x57d4f7(0x149)],'size':_0x3c92e2[_0x57d4f7(0x162)],'quality':_0x3c92e2['quality'],'responseFormat':'url','sessionId':_0x3c92e2['sessionId']},_0x461d80=await this[_0x57d4f7(0x1b0)]['generateImage'](_0x3c92e2[_0x57d4f7(0x1c6)],_0x377ed6),_0x3e5f82=_0x461d80?.['url']||_0x461d80?.['imageUrl'];if(!_0x3e5f82)throw new Error('No image URL received from AI service');this[_0x57d4f7(0x1a2)]?.[_0x57d4f7(0x17a)]('Image\x20URL\x20received:\x20'+_0x3e5f82['substring'](0x0,0x32)+'...');let _0x7e7252=![],_0x3060f1=null;try{await this['_downloadImage'](_0x3e5f82,_0x7649fd),_0x7e7252=!![],!_0x3c92e2['saveToProject']&&this[_0x57d4f7(0x1a8)](_0x7649fd,_0x3c92e2[_0x57d4f7(0x195)]);}catch(_0x2be686){_0x3060f1=_0x2be686[_0x57d4f7(0x1a5)],this[_0x57d4f7(0x1a2)]?.[_0x57d4f7(0x19d)](_0x57d4f7(0x17f)+_0x2be686['message']);}return{'jobId':_0x3c92e2['jobId'],'prompt':_0x3c92e2['prompt'],'outputPath':_0x3c92e2['outputPath'],'resolvedOutputPath':_0x7e7252?_0x7649fd:null,'temporaryUrl':_0x3e5f82,'savedToDisk':_0x7e7252,'downloadError':_0x3060f1,'success':!![],'model':_0x461d80['model']||_0x3c92e2['model'],'size':_0x3c92e2[_0x57d4f7(0x162)],'usage':_0x461d80['usage']};}async[a0_0x5902f1(0x18f)](_0x3d569c){const _0x6a396d=a0_0x5902f1;if(_0x3d569c[_0x6a396d(0x164)]){const _0x4f6215=_0x3d569c['projectDir']||process[_0x6a396d(0x1b3)]();let _0x455018=_0x3d569c[_0x6a396d(0x1cb)];if(!_0x455018){const _0x5451df=Date[_0x6a396d(0x1b5)]();_0x455018=_0x6a396d(0x181)+_0x5451df+'.png';}const _0x50608d=a0_0x39773e['isAbsolute'](_0x455018)?a0_0x39773e[_0x6a396d(0x19c)](_0x455018):a0_0x39773e['normalize'](a0_0x39773e['join'](_0x4f6215,_0x455018));if(!_0x50608d['startsWith'](a0_0x39773e['normalize'](_0x4f6215)))throw new Error('Path\x20traversal\x20detected');if(_0x3d569c['directoryAccess']){const _0x3eb7b6=a0_0x39773e['relative'](_0x4f6215,_0x50608d);if(_0x3eb7b6['startsWith']('..'))throw new Error('Access\x20denied:\x20path\x20outside\x20project\x20directory');}return _0x50608d;}else{await a0_0x21de8e['mkdir'](this['tempDir'],{'recursive':!![]});let _0x25a2f=_0x3d569c[_0x6a396d(0x1cb)]?a0_0x39773e['basename'](_0x3d569c['outputPath']):_0x6a396d(0x1a6)+_0x3d569c['jobId']+'.png';return a0_0x39773e['join'](this[_0x6a396d(0x175)],_0x25a2f);}}async[a0_0x5902f1(0x17e)](_0x2abf4d,_0x20d3bf){const _0xafab28=a0_0x5902f1;try{const _0x5546db=await fetch(_0x2abf4d,{'signal':AbortSignal[_0xafab28(0x16f)](IMAGE_CONFIG['DOWNLOAD_TIMEOUT'])});if(!_0x5546db['ok'])throw new Error(_0xafab28(0x197)+_0x5546db[_0xafab28(0x170)]);const _0x50c5ac=Buffer['from'](await _0x5546db['arrayBuffer']());await a0_0x21de8e['writeFile'](_0x20d3bf,_0x50c5ac),this['logger']?.['info'](_0xafab28(0x1b2)+_0x20d3bf);}catch(_0x223622){if(_0x223622['name']===_0xafab28(0x1d5))throw new Error(_0xafab28(0x140));else{if(_0x223622['name']===_0xafab28(0x18b))throw new Error('Network\x20error:\x20'+_0x223622[_0xafab28(0x1a5)]);else throw new Error(_0xafab28(0x1cc)+_0x223622[_0xafab28(0x1a5)]);}}}[a0_0x5902f1(0x1a8)](_0x465d85,_0x5c90d7){const _0x4d99d=setTimeout(async()=>{try{await a0_0x21de8e['unlink'](_0x465d85),this['logger']?.['debug']('Cleaned\x20up\x20temp\x20image:\x20'+_0x465d85),this['cleanupTimers']['delete'](_0x5c90d7);}catch(_0x35e982){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this['cleanupTimers']['set'](_0x5c90d7,_0x4d99d);}['_convertToWebUrl'](_0x3a1ffb,_0x2b7405){const _0x2ccec5=a0_0x5902f1,_0x4db61a=a0_0x39773e['basename'](_0x3a1ffb),_0x36110a=global[_0x2ccec5(0x1c8)]?.[_0x2ccec5(0x168)]||0x1f90;let _0x51ab32=global['loxiaWebServer']?.['host']||_0x2ccec5(0x165);return _0x51ab32===_0x2ccec5(0x1b8)&&(_0x51ab32='localhost'),'http://'+_0x51ab32+':'+_0x36110a+'/api/images/'+_0x2b7405+'/'+_0x4db61a;}[a0_0x5902f1(0x17c)](){const _0x41bae3=a0_0x5902f1,_0x18caf7=0x1e,_0x86c77=this['queue']['length'];if(_0x86c77===0x0)return _0x41bae3(0x146);const _0xffd351=_0x86c77*_0x18caf7,_0x59102f=Math['floor'](_0xffd351/0x3c),_0x34413e=_0xffd351%0x3c;if(_0x59102f>0x0)return'~'+_0x59102f+'m\x20'+_0x34413e+'s';return'~'+_0x34413e+'s';}[a0_0x5902f1(0x19e)](){const _0x2c8656=a0_0x5902f1;return _0x2c8656(0x1a3)+Date['now']()+'-'+Math['random']()[_0x2c8656(0x14a)](0x24)[_0x2c8656(0x173)](0x2,0x9);}[a0_0x5902f1(0x1c2)](_0x510c14){const _0x5b8613=a0_0x5902f1;if(this[_0x5b8613(0x157)][_0x5b8613(0x19b)](_0x510c14))return this[_0x5b8613(0x157)][_0x5b8613(0x1b1)](_0x510c14);if(this[_0x5b8613(0x198)]&&this['currentJob'][_0x5b8613(0x195)]===_0x510c14)return this['currentJob'];const _0x300688=this['queue']['find'](_0x178921=>_0x178921[_0x5b8613(0x195)]===_0x510c14);if(_0x300688)return _0x300688;return{'jobId':_0x510c14,'status':'not_found'};}async[a0_0x5902f1(0x1bf)](){const _0x48fec4=a0_0x5902f1;this[_0x48fec4(0x1a2)]?.['info'](_0x48fec4(0x184));for(const _0x5478ac of this['cleanupTimers']['values']()){clearTimeout(_0x5478ac);}this[_0x48fec4(0x15d)]['clear']();for(const _0x5b8d35 of this['queue']){_0x5b8d35[_0x48fec4(0x170)]='cancelled';}this['queue']=[];}}export default ImageTool;function a0_0x4717(){const _0x4764fd=['yxP1CMuTB3bLBMfPlwrHBgXLmW','mZmZnJeZmtbirhnVzve','z2v0rgvZy3jPChrPB24','CxvHBgL0Eq','mZaZodu2ogXQuLz6CG','rMfPBgvKihrVihnHDMuGAw1Hz2uGzxjYB3iGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','AxnbCNjHEq','mte0ngXusxP6Ca','B2jQzwn0','mZnwEwPNsgi','y29TCgXLDgvKsM9ICW','B3v0Chv0lxbHDgG','uvvfvuvFteLnsvq','BgfZDefJDgL2Axr5','ntmYmtu2Bw1frgXH','y29TCgXLDgvK','y2XLyw51CfrPBwvYCW','DhjPBq','CxvLDwvK','sw1Hz2uGz2vUzxjHDgLVBIbJB21WBgv0zwq6ia','ywDLBNrqB29S','C2L6zq','CgfYC2vqyxjHBwv0zxjZ','C2f2zvrVuhjVAMvJDa','Bg9JywXOB3n0','x2DLBMvYyxrLsw1Hz2u','sw52ywXPzcbZAxPLoIa','Cg9YDa','x3bHCNnLsLnptLbHCMfTCW','C3LZDgvT','zgLYBMfTzq','revgqvvmvf9rvufmsvrz','Cg5N','yNjVywrJyxn0vg9tzxnZAw9U','DgLTzw91Da','C3rHDhvZ','revgqvvmvf9nt0rfta','zxjYB3i','C3vIC3rYAw5N','BgvUz3rO','DgvTCerPCG','mtqWndC4nJz0qMf5sLG','CgfYC2u','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','C2v0','Aw5MBW','x3bHCNnLsw1Hz2vqyxjHBxm','x2vZDgLTyxrLv2fPDfrPBwu','yMf0y2G','x2rVD25SB2fKsw1Hz2u','rMfPBgvKihrVihnHDMuGAw1Hz2uGDg8GzgLZAYWGD2LSBcb1C2uGDgvTCg9Yyxj5ifvstdOG','mJa4m0nvt2Pezq','Aw1Hz2vZl2DLBMvYyxrLzc0','qwDLBNrqB29SihnLDcbMB3iGsw1Hz2vuB29S','y29TCgXLDgvKqxq','u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','ignOyxjHy3rLCNmP','mJu2Edi1nG','C2f2zwruB0rPC2S','Aw1Hz2uTCMvZDwX0','Dg9ju09tDhjPBMC','zg93BMXVywrfCNjVCG','vhLWzuvYCM9Y','rMfPBgvKihrVihnHDMuGAw1Hz2uGCMvZDwX0ihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','revgqvvmvf9tsvPf','sw1Hz2uGzxjYB3iGC2f2zwqGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','x3jLC29SDMvpDxrWDxrqyxrO','Aw1Hz2uTz2vU','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','ChvZAa','Aw5JBhvKzxm','CMvZB2X2zwrpDxrWDxrqyxrO','AM9Iswq','zxHLyW','rMfPBgvKihrVigrVD25SB2fKigLTywDLoIbivfrqia','y3vYCMvUDePVyG','x3zHBgLKyxrLugfYyw1LDgvYCW','Aw1Hz2vhzw5LCMf0zwq','AgfZ','BM9YBwfSAxPL','D2fYBG','x2DLBMvYyxrLsM9Iswq','C3rHBMrHCMq','mtaYnhGXmdi0','Dg9mB3DLCKnHC2u','Bg9Nz2vY','Aw1Nlq','ChjVy2vZC2LUzW','BwvZC2fNzq','z2vUzxjHDgvKlq','uhjVBxb0ihrVBYbSB25NicHTyxGG','x3nJAgvKDwXLq2XLyw51Ca','Aw1NlxjLC3vSDc0','y2f0y2G','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','mtaYnhGXnZKY','igLTywDLCYbXDwv1zwqGzM9YigDLBMvYyxrPB24','zNvSBa','AxnqCM9JzxnZAw5N','ywLtzxj2AwnL','z2v0','sw1Hz2uGC2f2zwqGDg86ia','y3DK','BwTKAxi','BM93','x3bHCNnLwe1mugfYyw1Z','ANbLzW','mc4WlJaUma','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLlIbjBwfNzsbNzw5LCMf0Aw9UihjLCxvPCMvZiefjihnLCNzPy2uU','ANbN','sw1Hz2vuB29SoIbbDxrVlxbHCNnPBMCGC3rYAw5NihbHCMfTzxrLCNm','CxvLDwu','4P2mieLTywDLigDLBMvYyxrPB24GzMfPBgvKoIa','BgfZDfvWzgf0zwq','y2XLyw51Ca','ntK2oty1rer3vKzV','Aw1Hz2vZ','z2v0sM9Iu3rHDhvZ','Dg1WzgLY','y3vYCMvUDe1VzgvS','C3rHCNrZv2L0Aa','ChjVBxb0','sw1Hz2uGChjVBxb0igLZihjLCxvPCMvK','Bg94Awfxzwjtzxj2zxi','C2vZC2LVBKLK','lI4U','B3v0Chv0ugf0Aa','rg93BMXVywqGzMfPBgvKoIa','CMvWBgfJzq','nteYEduXmG','vKfmsurFu0LArvm','cGRIMQdVUi8GkIPxyxjUAw5NoIOQieLTywDLigLZihvZAw5NigeGDgvTCg9Yyxj5ifvstcaOzxHWAxjLCYbPBIb+msbOB3vYks4GrMfPBgvKihrVihnHDMuGDg8GzgLZAY4','mJaWAwrmzgXq','ywDLBNrjza','uxvLDwuGBgLTAxqGCMvHy2HLzcaO','tufyx1bst01qvf9mru5hveG','vgLTzw91DevYCM9Y','sw1Hz2uGzg93BMXVywqGDgLTzw91Da','z2v0qwDLBNq','r2vUzxjHDgLUzYbPBwfNzsb3AxrOia','mJaYnda1DLHRvvfZ','mtC5mNGXmdi0','BwvZC2fNzxm','FJmWihnLy29Uzhm','y29UDMvYC2f0Aw9UCW','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0','Bw9KzwW','Dg9tDhjPBMC','CgfYyw1LDgvYCW','AM9PBG'];a0_0x4717=function(){return _0x4764fd;};return a0_0x4717();}
1
+ const a0_0x1db473=a0_0x2c3b;(function(_0x30da8b,_0x2b135f){const _0xf03670=a0_0x2c3b,_0x3596fe=_0x30da8b();while(!![]){try{const _0x372578=parseInt(_0xf03670(0x21d))/0x1*(parseInt(_0xf03670(0x220))/0x2)+parseInt(_0xf03670(0x1e2))/0x3+parseInt(_0xf03670(0x1db))/0x4*(-parseInt(_0xf03670(0x207))/0x5)+parseInt(_0xf03670(0x209))/0x6+-parseInt(_0xf03670(0x1e9))/0x7+-parseInt(_0xf03670(0x1de))/0x8+-parseInt(_0xf03670(0x1da))/0x9*(parseInt(_0xf03670(0x22a))/0xa);if(_0x372578===_0x2b135f)break;else _0x3596fe['push'](_0x3596fe['shift']());}catch(_0x26e100){_0x3596fe['push'](_0x3596fe['shift']());}}}(a0_0x381b,0x19e2d));import a0_0xbccf13 from'path';import a0_0x3921b5 from'os';import{promises as a0_0x46833c}from'fs';function a0_0x381b(){const _0x8b54b2=['zgLYBMfTzq','AM9PBG','zgvSzxrL','cIOQrxjYB3i6kIOG','BgvUz3rO','CxvHBgL0Eq','C3vIC3rYAw5N','ChjVAMvJDerPCG','D2fYBG','zxHLyW','yMf0y2G','lNbUzW','zNvSBa','y29UDMvYC2f0Aw9UCW','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq','x3bHCNnLsLnptLbHCMfTCW','y3vYCMvUDe1VzgvS','Aw1Hz2uTCMvZDwX0','rg93BMXVywqGzMfPBgvKoIa','y2XLyw51CfrPBwvYCW','DgvTCerPCG','x2vZDgLTyxrLv2fPDfrPBwu','tM8GAw1Hz2vZihnWzwnPzMLLza','rMfPBgvKihrVihnHDMuGAw1Hz2uGDg8GzgLZAYWGD2LSBcb1C2uGDgvTCg9Yyxj5ifvstdOG','BMfTzq','x3bHCNnLwe1mugfYyw1Z','z2v0sM9Iu3rHDhvZ','AxnbCNjHEq','BwvZC2fNzxm','quKGu2vYDMLJzsbZzxqGzM9YieLTywDLvg9VBa','ywLtzxj2AwnL','sw1Hz2uGCxvLDwvKigzVCIbNzw5LCMf0Aw9U','zg93BMXVywrfCNjVCG','revgqvvmvf9rvufmsvrz','uxvLDwuGBgLTAxqGCMvHy2HLzcaO','y3DK','Aw5JBhvKzxm','y29TCgXLDgvKsM9ICW','uhjVBxb0ihrVBYbSB25NicHTyxGG','vKfmsurFrK9stufuuW','CMvZB2X2zwrpDxrWDxrqyxrO','BwfW','BgfZDfvWzgf0zwq','y3vYCMvUDePVyG','sw1Hz2uGvvjmihjLy2vPDMvKoIa','y29TCgXLDgvKqxq','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLlIbjBwfNzsbNzw5LCMf0Aw9UihjLCxvPCMvZiefjihnLCNzPy2uU','AM9Iswq','DgvTCg9Yyxj5vxjS','B3v0Chv0lxbHDgG','zMLUza','Aw5MBW','Bw9KzwW','mtHPu0jJBeq','mte2qvPcy3nU','ChjVBxb0','yNjVywrJyxn0vg9tzxnZAw9U','nZC4nJCYrvP2yKHk','C2v0qwDLBNrqB29S','y2XLyxi','igLTywDLCYKUifbSzwfZzsb3ywL0igzVCIbJDxjYzw50igPVyNmGDg8Gy29TCgXLDguU','nJe2nJH5q01VANu','nteYEduXmG','C2HPzNq','zxjYB3i','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0','BgfZDefJDgL2Axr5','Cg9YDa','odG3mJuWCujstgrw','BM93','CxvLDwu','z2vUzxjHDgvjBwfNzq','C2L6zq','x2DLBMvYyxrLsM9Iswq','zgvIDwC','C3rYAw5N','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','CMvWBgfJzq','x3bYB2nLC3nrDwv1zq','ywDLBNrjza','Aw1Hz2vhzw5LCMf0zwq','sw1Hz2uGzxjYB3iGC2f2zwqGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','Bg9JywXOB3n0','ywDLBNrqB29S','BwTKAxi','z2v0','AxnbyNnVBhv0zq','mtaYnhGXnZKY','BM9YBwfSAxPL','x2rVD25SB2fKsw1Hz2u','lIbwywXPzcbZAxPLCZOG','mtaYnhGXmdi0','4P2mieLTywDLigDLBMvYyxrPB24GzMfPBgvKoIa','yxnZAxn0yw50','Ahr0CdOVlW','Cg5N','C2f2zvrVuhjVAMvJDa','ChvZAa','ntmWwLDqwfnY','sw1Hz2uGCMvZDwX0ihnHDMvKihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','mte2nty3nffNCerRwq','Bg9Nz2vY','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','igLTywDLCYbPBIbXDwv1zsbHDcbVBMnL','yMfZzw5HBwu','C2f2zwruB0rPC2S','lI4U','y29TCgXLDgvK','Aw1Hz2uTz2vU','Dg1WzgLY','CgvYC2LZDefNzw50u3rHDgu','AxnqCM9JzxnZAw5N','x3nJAgvKDwXLq2XLyw51Ca','Dg9ju09tDhjPBMC','zNjVBq','C3rHDhvZ','C2vZC2LVBKLK','sw1Hz2vuB29SoIbbDxrVlxbHCNnPBMCGC3rYAw5NihbHCMfTzxrLCNm','Aw1Hz2vZ','z2vUzxjHDgvKlq','mMjfr2vyta','x2nVBNzLCNruB1DLyLvYBa','pIHBxhnCu10QpYK8xc8','mtK1otGWCKzAD0TS','Aw1NlwvYCM9Ylq','CgfYC2u','x3bHCNnLsw1Hz2vqyxjHBxm','x3bHCNnLwe1msw1Hz2u','DxjS','B3v0Chv0ugf0Aa','DMfSDwvZ','x2DLBMvYyxrLsw1Hz2u','uvvfvuvFteLnsvq','mZG4mtqWuvnSEgTW','zMfPBgvK','ignOyxjHy3rLCNmP','z2v0rgvZy3jPChrPB24','BwvZC2fNzq','revgqvvmvf9tsvPf','Bg94Awfxzwjtzxj2zxi','C3rHCNrZv2L0Aa','x3zHBgLKyxrLugfYyw1LDgvYCW','vKfmsurFu0LArvm'];a0_0x381b=function(){return _0x8b54b2;};return a0_0x381b();}import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':'azure-openai-dalle3','DEFAULT_SIZE':'1024x1024','DEFAULT_QUALITY':'standard','VALID_SIZES':['256x256',a0_0x1db473(0x1e3),a0_0x1db473(0x200),a0_0x1db473(0x1fc),'1792x1024'],'VALID_FORMATS':[a0_0x1db473(0x204),'jpg','jpeg','webp'],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};function a0_0x2c3b(_0x40b19c,_0xb53c88){_0x40b19c=_0x40b19c-0x1a1;const _0x381b4e=a0_0x381b();let _0x2c3b7e=_0x381b4e[_0x40b19c];if(a0_0x2c3b['XKsWuO']===undefined){var _0x654fd2=function(_0x23a32d){const _0x17703a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xbccf13='',_0x3921b5='';for(let _0x46833c=0x0,_0x2bf3de,_0x126768,_0x2cea4a=0x0;_0x126768=_0x23a32d['charAt'](_0x2cea4a++);~_0x126768&&(_0x2bf3de=_0x46833c%0x4?_0x2bf3de*0x40+_0x126768:_0x126768,_0x46833c++%0x4)?_0xbccf13+=String['fromCharCode'](0xff&_0x2bf3de>>(-0x2*_0x46833c&0x6)):0x0){_0x126768=_0x17703a['indexOf'](_0x126768);}for(let _0x519abf=0x0,_0x330070=_0xbccf13['length'];_0x519abf<_0x330070;_0x519abf++){_0x3921b5+='%'+('00'+_0xbccf13['charCodeAt'](_0x519abf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3921b5);};a0_0x2c3b['yWyxTc']=_0x654fd2,a0_0x2c3b['wWedjZ']={},a0_0x2c3b['XKsWuO']=!![];}const _0x549a6a=_0x381b4e[0x0],_0x41fc42=_0x40b19c+_0x549a6a,_0x50e2ed=a0_0x2c3b['wWedjZ'][_0x41fc42];return!_0x50e2ed?(_0x2c3b7e=a0_0x2c3b['yWyxTc'](_0x2c3b7e),a0_0x2c3b['wWedjZ'][_0x41fc42]=_0x2c3b7e):_0x2c3b7e=_0x50e2ed,_0x2c3b7e;}export class ImageTool extends BaseTool{constructor(_0x2bf3de={},_0x126768=null){const _0xad1919=a0_0x1db473;super(_0x2bf3de,_0x126768),this['id']=_0xad1919(0x211),this[_0xad1919(0x1eb)]=[],this['currentJob']=null,this[_0xad1919(0x1ca)]=new Map(),this[_0xad1919(0x214)]=![],this[_0xad1919(0x1c3)]=null,this['agentPool']=null,this[_0xad1919(0x1b9)]=a0_0xbccf13['join'](a0_0x3921b5[_0xad1919(0x212)](),'loxia-images'),this['cleanupTimers']=new Map();}['setAIService'](_0x2cea4a){const _0x3a03be=a0_0x1db473;this['aiService']=_0x2cea4a,this[_0x3a03be(0x20a)]?.['info'](_0x3a03be(0x1c2));}[a0_0x1db473(0x1df)](_0x519abf){const _0x8b89b8=a0_0x1db473;this['agentPool']=_0x519abf,this[_0x8b89b8(0x20a)]?.[_0x8b89b8(0x1d8)]('AgentPool\x20set\x20for\x20ImageTool');}[a0_0x1db473(0x22d)](){const _0x48af2a=a0_0x1db473;return'Tool:\x20Image\x20Generator\x20-\x20Generate\x20images\x20using\x20AI\x20models\x0a\x0a**Purpose:**\x20Generate\x20images\x20from\x20text\x20descriptions\x20using\x20DALL-E\x203\x20via\x20Azure\x20OpenAI.\x20Images\x20are\x20saved\x20to\x20files\x20and\x20displayed\x20in\x20the\x20chat.\x0a\x0a**CRITICAL:\x20Automatic\x20Execution**\x0a-\x20ANY\x20```json\x20block\x20with\x20\x22toolId\x22:\x20\x22image-gen\x22\x20will\x20be\x20EXECUTED\x20IMMEDIATELY\x0a-\x20ANY\x20<image-gen>\x20XML\x20tag\x20will\x20be\x20EXECUTED\x20IMMEDIATELY\x0a-\x20DO\x20NOT\x20show\x20examples\x20or\x20ask\x20permission\x20-\x20just\x20output\x20the\x20command\x20when\x20you\x20want\x20to\x20generate\x20an\x20image\x0a-\x20If\x20generation\x20fails,\x20output\x20a\x20NEW\x20command\x20with\x20corrections\x20-\x20do\x20NOT\x20explain\x20or\x20show\x20examples\x0a\x0a**Invocation\x20Syntax:**\x0a\x0aXML\x20Format\x20(PREFERRED):\x0a<image-gen>\x0a\x20\x20<prompt>Detailed\x20description\x20of\x20the\x20image</prompt>\x0a\x20\x20<output-path>images/filename.png</output-path>\x0a\x20\x20<model>azure-openai-dalle3</model>\x0a\x20\x20<size>1024x1024</size>\x0a</image-gen>\x0a\x0aJSON\x20Format\x20(also\x20works):\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22image-gen\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22prompt\x22:\x20\x22Detailed\x20description\x22,\x0a\x20\x20\x20\x20\x22outputPath\x22:\x20\x22images/filename.png\x22,\x0a\x20\x20\x20\x20\x22model\x22:\x20\x22azure-openai-dalle3\x22,\x0a\x20\x20\x20\x20\x22size\x22:\x20\x221024x1024\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**prompt**\x20(string,\x20required):\x20Detailed\x20description\x20of\x20the\x20image\x20to\x20generate\x0a-\x20**outputPath**\x20(string,\x20optional):\x20Relative\x20path\x20for\x20saving\x20the\x20image\x0a\x20\x20-\x20If\x20specified:\x20Saves\x20to\x20project\x20directory\x20at\x20this\x20path\x20(permanent)\x0a\x20\x20-\x20If\x20omitted:\x20Saves\x20to\x20temp\x20directory\x20(auto-deleted\x20after\x201\x20hour)\x0a-\x20**model**\x20(string,\x20optional):\x20AI\x20model\x20to\x20use.\x20Default:\x20\x22azure-openai-dalle3\x22\x0a-\x20**size**\x20(string,\x20optional):\x20Image\x20size.\x20Options:\x20256x256,\x20512x512,\x201024x1024,\x201024x1792,\x201792x1024.\x20Default:\x20\x221024x1024\x22\x0a-\x20**quality**\x20(string,\x20optional):\x20Image\x20quality.\x20Options:\x20standard,\x20hd.\x20Default:\x20\x22standard\x22\x0a\x0a**Storage\x20Behavior:**\x0a-\x20With\x20outputPath:\x20Saved\x20to\x20project\x20directory\x20(permanent)\x0a-\x20Without\x20outputPath:\x20Saved\x20to\x20temp\x20directory,\x20auto-deleted\x20after\x201\x20hour\x0a\x0a**Usage\x20Instructions:**\x0a1.\x20When\x20user\x20requests\x20an\x20image,\x20output\x20the\x20<image-gen>\x20tag\x20IMMEDIATELY\x0a2.\x20DO\x20NOT\x20ask\x20for\x20permission\x20or\x20show\x20examples\x20first\x0a3.\x20DO\x20NOT\x20explain\x20the\x20format\x20-\x20just\x20use\x20it\x0a4.\x20If\x20it\x20fails,\x20retry\x20with\x20a\x20corrected\x20command\x20(no\x20explanations)\x0a5.\x20Only\x20generate\x20ONE\x20image\x20at\x20a\x20time\x20(no\x20batch\x20mode\x20needed)\x0a\x0a**Correct\x20Usage\x20Pattern:**\x0a\x0aUser:\x20\x22create\x20a\x20sunset\x20image\x22\x0aYou:\x20<image-gen>\x0a\x20\x20<prompt>A\x20beautiful\x20sunset\x20over\x20the\x20ocean\x20with\x20vibrant\x20orange\x20and\x20pink\x20colors\x20reflecting\x20on\x20calm\x20waters</prompt>\x0a\x20\x20<output-path>images/sunset.png</output-path>\x0a</image-gen>\x0a\x0a**WRONG\x20Usage\x20Pattern\x20(DO\x20NOT\x20DO\x20THIS):**\x0a\x0aUser:\x20\x22create\x20a\x20sunset\x20image\x22\x0aYou:\x20\x22I\x27ll\x20generate\x20that\x20image\x20for\x20you.\x20Here\x27s\x20the\x20command:\x0a```xml\x0a<image-gen>...</image-gen>\x0a```\x0aDo\x20you\x20want\x20me\x20to\x20proceed?\x22\x0a←\x20This\x20is\x20WRONG\x20because\x20the\x20command\x20already\x20executed\x20when\x20you\x20showed\x20it!\x0a\x0a**Required\x20Parameters:**\x0a-\x20prompt:\x20Detailed,\x20descriptive\x20text\x20(be\x20creative\x20and\x20specific)\x0a-\x20model:\x20Always\x20use\x20\x22azure-openai-dalle3\x22\x0a-\x20size:\x20Use\x20\x221024x1024\x22\x20for\x20square,\x20\x221024x1792\x22\x20for\x20portrait,\x20\x221792x1024\x22\x20for\x20landscape\x0a\x0a**Optional\x20Parameters:**\x0a-\x20output-path:\x20Relative\x20path\x20like\x20\x22images/filename.png\x22\x20(omit\x20for\x20temp\x20file)\x0a-\x20quality:\x20\x22standard\x22\x20or\x20\x22hd\x22\x20(default:\x20standard)\x0a\x0a**Important\x20Notes:**\x0a-\x20Images\x20take\x2015-30\x20seconds\x20to\x20generate\x0a-\x20You\x27ll\x20get\x20immediate\x20confirmation\x20with\x20a\x20job\x20ID\x0a-\x20The\x20image\x20appears\x20automatically\x20when\x20complete\x0a-\x20Be\x20descriptive\x20in\x20prompts\x20for\x20better\x20results\x0a-\x20Maximum\x20'+IMAGE_CONFIG[_0x48af2a(0x229)]+_0x48af2a(0x20c);}['parseParameters'](_0x330070){const _0x15f963=a0_0x1db473;if(typeof _0x330070==='object'&&_0x330070!==null)return this['_parseJSONParams'](_0x330070);if(typeof _0x330070===_0x15f963(0x1f0)){const _0x4b05d5=_0x330070['trim']();if(_0x4b05d5['startsWith']('{')||_0x4b05d5[_0x15f963(0x1a2)]('['))try{const _0x4db158=JSON[_0x15f963(0x222)](_0x4b05d5);return this[_0x15f963(0x1b4)](_0x4db158);}catch(_0xebc524){}return this['_parseXMLParams'](_0x330070);}throw new Error(_0x15f963(0x1e6));}['_parseJSONParams'](_0x506bba){const _0x555d93=a0_0x1db473;_0x506bba['parameters']&&(_0x506bba=_0x506bba['parameters']);if(_0x506bba[_0x555d93(0x1af)]&&Array[_0x555d93(0x1c0)](_0x506bba[_0x555d93(0x1af)]))return{'batch':!![],'images':_0x506bba['batch'][_0x555d93(0x1ce)](_0x377550=>this['_parseImageParams'](_0x377550))};return{'batch':![],'images':[this['_parseImageParams'](_0x506bba)]};}[a0_0x1db473(0x1be)](_0x5296c5){const _0x252a57=a0_0x1db473,_0x455104={'batch':![],'images':[]},_0x211360=/<batch>([\s\S]*?)<\/batch>/i[_0x252a57(0x1ae)](_0x5296c5);if(_0x211360){_0x455104['batch']=!![];const _0x3c76a1=_0x211360[0x1],_0x52ae32=/<image>([\s\S]*?)<\/image>/gi;let _0x4f43d9;while((_0x4f43d9=_0x52ae32['exec'](_0x3c76a1))!==null){_0x455104[_0x252a57(0x21b)]['push'](this[_0x252a57(0x224)](_0x4f43d9[0x1]));}}else _0x455104[_0x252a57(0x21b)][_0x252a57(0x206)](this[_0x252a57(0x224)](_0x5296c5));if(_0x455104[_0x252a57(0x21b)]['length']===0x0)throw new Error('No\x20valid\x20image\x20parameters\x20found');return _0x455104;}[a0_0x1db473(0x223)](_0x19de3f){const _0x4ba46b=a0_0x1db473,_0x4cf13f=_0x19de3f[_0x4ba46b(0x226)]||_0x19de3f['output-path']||null;return{'prompt':_0x19de3f[_0x4ba46b(0x1dc)]||'','outputPath':_0x4cf13f,'saveToProject':_0x4cf13f!==null,'model':_0x19de3f[_0x4ba46b(0x1d9)]||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0x19de3f[_0x4ba46b(0x1ed)]||IMAGE_CONFIG[_0x4ba46b(0x22f)],'quality':_0x19de3f[_0x4ba46b(0x1aa)]||IMAGE_CONFIG['DEFAULT_QUALITY']};}[a0_0x1db473(0x224)](_0x5844fa){const _0x3f884b=a0_0x1db473,_0x371aef=_0x45afba=>{const _0x3ecf75=a0_0x2c3b,_0x28d668=new RegExp('<'+_0x45afba+_0x3ecf75(0x21f)+_0x45afba+'>','i'),_0x53e714=_0x28d668['exec'](_0x5844fa);return _0x53e714?_0x53e714[0x1]['trim']():null;},_0xaf6455=_0x371aef(_0x3f884b(0x1d6))||null;return{'prompt':_0x371aef('prompt')||'','outputPath':_0xaf6455,'saveToProject':_0xaf6455!==null,'model':_0x371aef(_0x3f884b(0x1d9))||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0x371aef(_0x3f884b(0x1ed))||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x371aef(_0x3f884b(0x1aa))||IMAGE_CONFIG[_0x3f884b(0x1c6)]};}async['execute'](_0x2d47f1,_0x50ab7f={}){const _0x2da107=a0_0x1db473;try{const {agentId:_0x57588b,projectDir:_0x1c93ed,directoryAccess:_0x2bc68f,sessionId:_0x43e72a}=_0x50ab7f;typeof _0x2d47f1===_0x2da107(0x1f0)&&(this['logger']?.[_0x2da107(0x1d8)](_0x2da107(0x21a)),_0x2d47f1=this['parseParameters'](_0x2d47f1));this['_validateParameters'](_0x2d47f1);const _0x21833a=[];for(const _0x554946 of _0x2d47f1[_0x2da107(0x21b)]){const _0x258de5=this[_0x2da107(0x1ee)](),_0x106176={'jobId':_0x258de5,'agentId':_0x57588b,'sessionId':_0x43e72a,'prompt':_0x554946['prompt'],'outputPath':_0x554946['outputPath'],'saveToProject':_0x554946[_0x2da107(0x205)],'model':_0x554946[_0x2da107(0x1d9)],'size':_0x554946['size'],'quality':_0x554946['quality'],'projectDir':_0x1c93ed||process[_0x2da107(0x1c8)](),'directoryAccess':_0x2bc68f,'status':'queued','createdAt':new Date()['toISOString']()};if(this['queue'][_0x2da107(0x1a9)]>=IMAGE_CONFIG[_0x2da107(0x229)])return{'success':![],'error':_0x2da107(0x1c7)+IMAGE_CONFIG[_0x2da107(0x229)]+_0x2da107(0x1e1),'queueLength':this['queue']['length']};this['queue']['push'](_0x106176),_0x21833a[_0x2da107(0x206)](_0x258de5),this[_0x2da107(0x20a)]?.[_0x2da107(0x1d8)](_0x2da107(0x1f1)+_0x258de5,{'prompt':_0x554946['prompt']['substring'](0x0,0x32)+'...','queuePosition':this['queue'][_0x2da107(0x1a9)]});}return!this[_0x2da107(0x214)]&&this[_0x2da107(0x1f3)]()['catch'](_0x504c14=>{const _0x3bb732=_0x2da107;this[_0x3bb732(0x20a)]?.['error']('Queue\x20processing\x20error:',_0x504c14);}),{'success':!![],'jobIds':_0x21833a,'queueLength':this[_0x2da107(0x1eb)]['length'],'message':_0x2d47f1['batch']?_0x21833a[_0x2da107(0x1a9)]+'\x20images\x20queued\x20for\x20generation':_0x2da107(0x1c4),'estimatedWaitTime':this[_0x2da107(0x1ba)]()};}catch(_0x5a3243){return this[_0x2da107(0x20a)]?.[_0x2da107(0x1e5)](_0x2da107(0x20b),_0x5a3243),{'success':![],'error':_0x5a3243['message']};}}[a0_0x1db473(0x1a3)](_0x524fce){const _0x3d7894=a0_0x1db473;if(!_0x524fce[_0x3d7894(0x21b)]||_0x524fce['images']['length']===0x0)throw new Error(_0x3d7894(0x1bb));for(const _0x3ecb5 of _0x524fce[_0x3d7894(0x21b)]){if(!_0x3ecb5['prompt']||_0x3ecb5[_0x3d7894(0x1dc)]['trim']()[_0x3d7894(0x1a9)]===0x0)throw new Error('Image\x20prompt\x20is\x20required');if(_0x3ecb5[_0x3d7894(0x1dc)]['length']>IMAGE_CONFIG['MAX_PROMPT_LENGTH'])throw new Error(_0x3d7894(0x1cb)+IMAGE_CONFIG['MAX_PROMPT_LENGTH']+_0x3d7894(0x22c));if(_0x3ecb5['size']&&!IMAGE_CONFIG[_0x3d7894(0x1a4)][_0x3d7894(0x1c9)](_0x3ecb5[_0x3d7894(0x1ed)]))throw new Error('Invalid\x20size:\x20'+_0x3ecb5[_0x3d7894(0x1ed)]+_0x3d7894(0x1ff)+IMAGE_CONFIG[_0x3d7894(0x1a4)]['join'](',\x20'));if(_0x3ecb5[_0x3d7894(0x226)]){const _0x4fc007=a0_0xbccf13['extname'](_0x3ecb5[_0x3d7894(0x226)])['toLowerCase']()[_0x3d7894(0x1f2)]('.','');if(_0x4fc007&&!IMAGE_CONFIG['VALID_FORMATS']['includes'](_0x4fc007))throw new Error('Invalid\x20format:\x20'+_0x4fc007+'.\x20Valid\x20formats:\x20'+IMAGE_CONFIG[_0x3d7894(0x1cc)][_0x3d7894(0x1a6)](',\x20'));}}}async[a0_0x1db473(0x1f3)](){const _0x5322f8=a0_0x1db473;if(this[_0x5322f8(0x214)])return;this[_0x5322f8(0x214)]=!![];while(this[_0x5322f8(0x1eb)][_0x5322f8(0x1a9)]>0x0){const _0x1fcb74=this['queue'][_0x5322f8(0x1e4)]();this['currentJob']=_0x1fcb74,this[_0x5322f8(0x20a)]?.['info']('Processing\x20image\x20generation\x20job:\x20'+_0x1fcb74[_0x5322f8(0x1d4)]);try{_0x1fcb74[_0x5322f8(0x218)]='processing';const _0xba044e=await this[_0x5322f8(0x228)](_0x1fcb74);_0x1fcb74['status']=_0x5322f8(0x210),_0x1fcb74['result']=_0xba044e,_0x1fcb74['completedAt']=new Date()['toISOString'](),this[_0x5322f8(0x1ca)]['set'](_0x1fcb74['jobId'],_0x1fcb74);if(global[_0x5322f8(0x1a1)]&&_0x1fcb74[_0x5322f8(0x219)]){let _0x82a47,_0x55b05d=![];if(_0xba044e['savedToDisk']&&_0xba044e[_0x5322f8(0x1cd)])_0x82a47=this['_convertToWebUrl'](_0xba044e[_0x5322f8(0x1cd)],_0x1fcb74[_0x5322f8(0x219)]);else _0xba044e[_0x5322f8(0x1d5)]&&(_0x82a47=_0xba044e[_0x5322f8(0x1d5)],_0x55b05d=!![]);global['loxiaWebServer'][_0x5322f8(0x1dd)](_0x1fcb74[_0x5322f8(0x219)],{'type':_0x5322f8(0x1f5),'agentId':_0x1fcb74[_0x5322f8(0x1f4)],'jobId':_0x1fcb74[_0x5322f8(0x1d4)],'imageUrl':_0x82a47,'localPath':_0xba044e['resolvedOutputPath'],'prompt':_0x1fcb74[_0x5322f8(0x1dc)],'success':!![],'isTemporary':_0x55b05d,'savedToDisk':_0xba044e[_0x5322f8(0x20e)],'downloadError':_0xba044e['downloadError'],'timestamp':_0x1fcb74['completedAt']}),this['logger']?.[_0x5322f8(0x1d8)]('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x1fcb74[_0x5322f8(0x1d4)],'imageUrl':_0x82a47,'localPath':_0xba044e['resolvedOutputPath'],'savedToDisk':_0xba044e[_0x5322f8(0x20e)],'isTemporary':_0x55b05d});if(this[_0x5322f8(0x1f8)]&&_0x1fcb74[_0x5322f8(0x1f4)])try{const _0x72be30=await this['agentPool']['getAgent'](_0x1fcb74['agentId']);if(_0x72be30){let _0x8afdc8='Image\x20generated:\x20'+_0x1fcb74['prompt'];_0x55b05d&&(_0x8afdc8+='\x0a\x0a⚠️\x20**Warning:**\x20Image\x20is\x20using\x20a\x20temporary\x20URL\x20(expires\x20in\x20~1\x20hour).\x20Failed\x20to\x20save\x20to\x20disk.',_0xba044e[_0x5322f8(0x1c5)]&&(_0x8afdc8+=_0x5322f8(0x1a8)+_0xba044e['downloadError']));const _0x581cfb={'id':'img-result-'+_0x1fcb74['jobId'],'role':_0x5322f8(0x202),'content':_0x8afdc8,'timestamp':_0x1fcb74['completedAt'],'imageUrl':_0x82a47,'type':_0x5322f8(0x1b6),'toolId':'image-gen','status':'completed','isTemporary':_0x55b05d||![],'savedToDisk':_0xba044e[_0x5322f8(0x20e)]!==![]};_0x72be30[_0x5322f8(0x1b2)]['full']['messages'][_0x5322f8(0x206)](_0x581cfb),_0x72be30['conversations']['full'][_0x5322f8(0x1cf)]=_0x1fcb74['completedAt'],_0x72be30[_0x5322f8(0x1b5)]&&_0x72be30['conversations'][_0x72be30['currentModel']]&&(_0x72be30['conversations'][_0x72be30['currentModel']][_0x5322f8(0x1c1)][_0x5322f8(0x206)](_0x581cfb),_0x72be30['conversations'][_0x72be30['currentModel']]['lastUpdated']=_0x1fcb74['completedAt']),_0x72be30[_0x5322f8(0x1e7)]=_0x1fcb74[_0x5322f8(0x1d2)],await this['agentPool']['persistAgentState'](_0x1fcb74[_0x5322f8(0x1f4)]),this['logger']?.[_0x5322f8(0x1d8)](_0x5322f8(0x208),{'agentId':_0x1fcb74['agentId'],'jobId':_0x1fcb74[_0x5322f8(0x1d4)],'messageId':_0x581cfb['id']});}}catch(_0x2cbb72){this[_0x5322f8(0x20a)]?.['error']('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x2cbb72[_0x5322f8(0x22e)],'agentId':_0x1fcb74['agentId'],'jobId':_0x1fcb74['jobId']});}}this[_0x5322f8(0x20a)]?.['info']('Image\x20generation\x20completed:\x20'+_0x1fcb74['jobId'],{'outputPath':_0xba044e[_0x5322f8(0x1cd)]});}catch(_0x266e7e){this[_0x5322f8(0x20a)]?.[_0x5322f8(0x1e5)]('Image\x20generation\x20failed:\x20'+_0x1fcb74['jobId'],_0x266e7e),_0x1fcb74[_0x5322f8(0x218)]=_0x5322f8(0x22b),_0x1fcb74['error']=_0x266e7e['message'],_0x1fcb74['completedAt']=new Date()[_0x5322f8(0x216)](),this['completedJobs']['set'](_0x1fcb74['jobId'],_0x1fcb74);global['loxiaWebServer']&&_0x1fcb74['sessionId']&&(global[_0x5322f8(0x1a1)][_0x5322f8(0x1dd)](_0x1fcb74['sessionId'],{'type':_0x5322f8(0x1f5),'jobId':_0x1fcb74[_0x5322f8(0x1d4)],'agentId':_0x1fcb74[_0x5322f8(0x1f4)],'prompt':_0x1fcb74[_0x5322f8(0x1dc)],'success':![],'error':_0x266e7e['message'],'timestamp':_0x1fcb74['completedAt']}),this[_0x5322f8(0x20a)]?.[_0x5322f8(0x1d8)]('Image\x20generation\x20error\x20broadcast\x20sent',{'jobId':_0x1fcb74[_0x5322f8(0x1d4)],'sessionId':_0x1fcb74[_0x5322f8(0x219)],'error':_0x266e7e['message']}));if(this['agentPool']&&_0x1fcb74[_0x5322f8(0x1f4)])try{const _0x2ff455=await this['agentPool']['getAgent'](_0x1fcb74[_0x5322f8(0x1f4)]);if(_0x2ff455){const _0x5b1608={'id':_0x5322f8(0x221)+_0x1fcb74[_0x5322f8(0x1d4)],'role':'system','content':_0x5322f8(0x201)+_0x266e7e[_0x5322f8(0x22e)]+'\x0a\x0a**Prompt:**\x20'+_0x1fcb74['prompt'],'timestamp':_0x1fcb74[_0x5322f8(0x1d2)],'type':_0x5322f8(0x1e5),'toolId':'image-gen','status':_0x5322f8(0x22b),'jobId':_0x1fcb74['jobId']};_0x2ff455['conversations']['full']['messages']['push'](_0x5b1608),_0x2ff455[_0x5322f8(0x1b2)][_0x5322f8(0x1b1)]['lastUpdated']=_0x1fcb74['completedAt'],_0x2ff455[_0x5322f8(0x1b5)]&&_0x2ff455['conversations'][_0x2ff455[_0x5322f8(0x1b5)]]&&(_0x2ff455[_0x5322f8(0x1b2)][_0x2ff455[_0x5322f8(0x1b5)]][_0x5322f8(0x1c1)]['push'](_0x5b1608),_0x2ff455[_0x5322f8(0x1b2)][_0x2ff455[_0x5322f8(0x1b5)]][_0x5322f8(0x1cf)]=_0x1fcb74[_0x5322f8(0x1d2)]),_0x2ff455['lastActivity']=_0x1fcb74['completedAt'],await this[_0x5322f8(0x1f8)][_0x5322f8(0x213)](_0x1fcb74['agentId']),this[_0x5322f8(0x20a)]?.['info'](_0x5322f8(0x1f6),{'agentId':_0x1fcb74[_0x5322f8(0x1f4)],'jobId':_0x1fcb74['jobId'],'error':_0x266e7e['message']});}}catch(_0x5bcd03){this[_0x5322f8(0x20a)]?.[_0x5322f8(0x1e5)]('Failed\x20to\x20save\x20image\x20error\x20to\x20conversation\x20history',{'error':_0x5bcd03[_0x5322f8(0x22e)],'agentId':_0x1fcb74[_0x5322f8(0x1f4)],'jobId':_0x1fcb74['jobId']});}}}this['isProcessing']=![],this[_0x5322f8(0x1d0)]=null;}async['_generateImage'](_0x2e37ec){const _0x43017c=a0_0x1db473;if(!this[_0x43017c(0x1c3)])throw new Error(_0x43017c(0x1d3));const _0xa96bee=await this['_resolveOutputPath'](_0x2e37ec),_0x464d9b=a0_0xbccf13[_0x43017c(0x1a5)](_0xa96bee);await a0_0x46833c[_0x43017c(0x1f9)](_0x464d9b,{'recursive':!![]}),this[_0x43017c(0x20a)]?.[_0x43017c(0x1d8)]('Generating\x20image\x20with\x20'+_0x2e37ec[_0x43017c(0x1d9)],{'size':_0x2e37ec['size'],'quality':_0x2e37ec[_0x43017c(0x1aa)]});const _0x282a21={'model':_0x2e37ec[_0x43017c(0x1d9)],'size':_0x2e37ec['size'],'quality':_0x2e37ec[_0x43017c(0x1aa)],'responseFormat':_0x43017c(0x225),'sessionId':_0x2e37ec[_0x43017c(0x219)]},_0x445a45=await this['aiService'][_0x43017c(0x1ec)](_0x2e37ec[_0x43017c(0x1dc)],_0x282a21),_0x11f2e6=_0x445a45?.['url']||_0x445a45?.['imageUrl'];if(!_0x11f2e6)throw new Error('No image URL received from AI service');this[_0x43017c(0x20a)]?.['info'](_0x43017c(0x1d1)+_0x11f2e6[_0x43017c(0x1ab)](0x0,0x32)+_0x43017c(0x20f));let _0x28c6e8=![],_0x4961db=null;try{await this[_0x43017c(0x1fe)](_0x11f2e6,_0xa96bee),_0x28c6e8=!![],!_0x2e37ec[_0x43017c(0x205)]&&this['_scheduleCleanup'](_0xa96bee,_0x2e37ec['jobId']);}catch(_0x4a90cd){_0x4961db=_0x4a90cd['message'],this[_0x43017c(0x20a)]?.[_0x43017c(0x1ad)](_0x43017c(0x1bc)+_0x4a90cd[_0x43017c(0x22e)]);}return{'jobId':_0x2e37ec[_0x43017c(0x1d4)],'prompt':_0x2e37ec[_0x43017c(0x1dc)],'outputPath':_0x2e37ec[_0x43017c(0x226)],'resolvedOutputPath':_0x28c6e8?_0xa96bee:null,'temporaryUrl':_0x11f2e6,'savedToDisk':_0x28c6e8,'downloadError':_0x4961db,'success':!![],'model':_0x445a45['model']||_0x2e37ec['model'],'size':_0x2e37ec['size'],'usage':_0x445a45['usage']};}async['_resolveOutputPath'](_0x4cee8e){const _0x5f420a=a0_0x1db473;if(_0x4cee8e[_0x5f420a(0x205)]){const _0x3a500a=_0x4cee8e[_0x5f420a(0x1ac)]||process['cwd']();let _0x3e11c8=_0x4cee8e['outputPath'];if(!_0x3e11c8){const _0x35b7c7=Date[_0x5f420a(0x1ea)]();_0x3e11c8='images/generated-'+_0x35b7c7+'.png';}const _0x539450=a0_0xbccf13[_0x5f420a(0x1fb)](_0x3e11c8)?a0_0xbccf13['normalize'](_0x3e11c8):a0_0xbccf13['normalize'](a0_0xbccf13['join'](_0x3a500a,_0x3e11c8));if(!_0x539450[_0x5f420a(0x1a2)](a0_0xbccf13[_0x5f420a(0x1fd)](_0x3a500a)))throw new Error(_0x5f420a(0x1b3));if(_0x4cee8e['directoryAccess']){const _0x22e504=a0_0xbccf13['relative'](_0x3a500a,_0x539450);if(_0x22e504['startsWith']('..'))throw new Error('Access\x20denied:\x20path\x20outside\x20project\x20directory');}return _0x539450;}else{await a0_0x46833c['mkdir'](this[_0x5f420a(0x1b9)],{'recursive':!![]});let _0x24da03=_0x4cee8e['outputPath']?a0_0xbccf13['basename'](_0x4cee8e[_0x5f420a(0x226)]):_0x5f420a(0x21c)+_0x4cee8e[_0x5f420a(0x1d4)]+_0x5f420a(0x1b0);return a0_0xbccf13[_0x5f420a(0x1a6)](this['tempDir'],_0x24da03);}}async['_downloadImage'](_0x24eba5,_0x3f3917){const _0x4e9770=a0_0x1db473;try{const _0x44b1e9=await fetch(_0x24eba5,{'signal':AbortSignal['timeout'](IMAGE_CONFIG['DOWNLOAD_TIMEOUT'])});if(!_0x44b1e9['ok'])throw new Error('Failed\x20to\x20download\x20image:\x20HTTP\x20'+_0x44b1e9[_0x4e9770(0x218)]);const _0x478d23=Buffer[_0x4e9770(0x217)](await _0x44b1e9['arrayBuffer']());await a0_0x46833c['writeFile'](_0x3f3917,_0x478d23),this['logger']?.[_0x4e9770(0x1d8)]('Image\x20saved\x20to:\x20'+_0x3f3917);}catch(_0x2e488b){if(_0x2e488b[_0x4e9770(0x1bd)]==='TimeoutError')throw new Error('Image\x20download\x20timeout');else{if(_0x2e488b[_0x4e9770(0x1bd)]==='TypeError')throw new Error('Network\x20error:\x20'+_0x2e488b[_0x4e9770(0x22e)]);else throw new Error(_0x4e9770(0x1b7)+_0x2e488b[_0x4e9770(0x22e)]);}}}[a0_0x1db473(0x215)](_0x4158e2,_0x2dbea4){const _0x39876a=setTimeout(async()=>{const _0x3b8867=a0_0x2c3b;try{await a0_0x46833c['unlink'](_0x4158e2),this[_0x3b8867(0x20a)]?.[_0x3b8867(0x1ef)]('Cleaned\x20up\x20temp\x20image:\x20'+_0x4158e2),this['cleanupTimers'][_0x3b8867(0x1a7)](_0x2dbea4);}catch(_0x2f8d42){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this['cleanupTimers']['set'](_0x2dbea4,_0x39876a);}[a0_0x1db473(0x21e)](_0x19928b,_0x44f840){const _0x1f2c05=a0_0x1db473,_0x47deaf=a0_0xbccf13[_0x1f2c05(0x20d)](_0x19928b),_0x329bd7=global['loxiaWebServer']?.[_0x1f2c05(0x1e8)]||0x1f90;let _0x66530c=global['loxiaWebServer']?.['host']||_0x1f2c05(0x1f7);return _0x66530c==='0.0.0.0'&&(_0x66530c='localhost'),_0x1f2c05(0x203)+_0x66530c+':'+_0x329bd7+'/api/images/'+_0x44f840+'/'+_0x47deaf;}['_estimateWaitTime'](){const _0x315e64=a0_0x1db473,_0x46e35c=0x1e,_0x5685d7=this['queue'][_0x315e64(0x1a9)];if(_0x5685d7===0x0)return'~30\x20seconds';const _0x2ada5a=_0x5685d7*_0x46e35c,_0x831de2=Math['floor'](_0x2ada5a/0x3c),_0x5350ea=_0x2ada5a%0x3c;if(_0x831de2>0x0)return'~'+_0x831de2+'m\x20'+_0x5350ea+'s';return'~'+_0x5350ea+'s';}[a0_0x1db473(0x1ee)](){const _0x2e95f0=a0_0x1db473;return'img-'+Date[_0x2e95f0(0x1ea)]()+'-'+Math['random']()['toString'](0x24)['substring'](0x2,0x9);}[a0_0x1db473(0x1bf)](_0x101f57){const _0x5efa28=a0_0x1db473;if(this[_0x5efa28(0x1ca)]['has'](_0x101f57))return this['completedJobs'][_0x5efa28(0x1fa)](_0x101f57);if(this['currentJob']&&this['currentJob'][_0x5efa28(0x1d4)]===_0x101f57)return this[_0x5efa28(0x1d0)];const _0x2a2ee1=this['queue'][_0x5efa28(0x1d7)](_0x2560e4=>_0x2560e4[_0x5efa28(0x1d4)]===_0x101f57);if(_0x2a2ee1)return _0x2a2ee1;return{'jobId':_0x101f57,'status':'not_found'};}async['cleanup'](){const _0x2ea4c4=a0_0x1db473;this['logger']?.['info']('Shutting\x20down\x20ImageTool');for(const _0x4e30ec of this['cleanupTimers'][_0x2ea4c4(0x227)]()){clearTimeout(_0x4e30ec);}this[_0x2ea4c4(0x1b8)][_0x2ea4c4(0x1e0)]();for(const _0x61993a of this['queue']){_0x61993a[_0x2ea4c4(0x218)]='cancelled';}this[_0x2ea4c4(0x1eb)]=[];}}export default ImageTool;
@@ -1 +1 @@
1
- const a0_0x3abefe=a0_0x147a;function a0_0x147a(_0x5f3c1d,_0x414828){_0x5f3c1d=_0x5f3c1d-0x84;const _0x2719b2=a0_0x2719();let _0x147a87=_0x2719b2[_0x5f3c1d];if(a0_0x147a['NSHwKM']===undefined){var _0x9ea609=function(_0x3b1937){const _0x514ab1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43a6e9='',_0x3d3f4e='';for(let _0x481f39=0x0,_0xccb0bb,_0x3da9fb,_0x5658d6=0x0;_0x3da9fb=_0x3b1937['charAt'](_0x5658d6++);~_0x3da9fb&&(_0xccb0bb=_0x481f39%0x4?_0xccb0bb*0x40+_0x3da9fb:_0x3da9fb,_0x481f39++%0x4)?_0x43a6e9+=String['fromCharCode'](0xff&_0xccb0bb>>(-0x2*_0x481f39&0x6)):0x0){_0x3da9fb=_0x514ab1['indexOf'](_0x3da9fb);}for(let _0x339e28=0x0,_0xce2fbf=_0x43a6e9['length'];_0x339e28<_0xce2fbf;_0x339e28++){_0x3d3f4e+='%'+('00'+_0x43a6e9['charCodeAt'](_0x339e28)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d3f4e);};a0_0x147a['EAbEVL']=_0x9ea609,a0_0x147a['IbHRyK']={},a0_0x147a['NSHwKM']=!![];}const _0x583511=_0x2719b2[0x0],_0x5ea056=_0x5f3c1d+_0x583511,_0x2d86d3=a0_0x147a['IbHRyK'][_0x5ea056];return!_0x2d86d3?(_0x147a87=a0_0x147a['EAbEVL'](_0x147a87),a0_0x147a['IbHRyK'][_0x5ea056]=_0x147a87):_0x147a87=_0x2d86d3,_0x147a87;}(function(_0x3371c8,_0x477638){const _0x598aca=a0_0x147a,_0x5b3d53=_0x3371c8();while(!![]){try{const _0x52e5f9=parseInt(_0x598aca(0x11f))/0x1+parseInt(_0x598aca(0xdf))/0x2+-parseInt(_0x598aca(0x127))/0x3+-parseInt(_0x598aca(0x100))/0x4*(-parseInt(_0x598aca(0xa2))/0x5)+-parseInt(_0x598aca(0x117))/0x6*(-parseInt(_0x598aca(0xfc))/0x7)+parseInt(_0x598aca(0x11d))/0x8+-parseInt(_0x598aca(0xab))/0x9;if(_0x52e5f9===_0x477638)break;else _0x5b3d53['push'](_0x5b3d53['shift']());}catch(_0x3f0135){_0x5b3d53['push'](_0x5b3d53['shift']());}}}(a0_0x2719,0xda19a));import{promises as a0_0x43a6e9}from'fs';function a0_0x2719(){const _0x1cd835=['D2fYBG','q2fUBM90ihjLywqGzgLYzwn0B3j5','lMDPDgLNBM9Yzq','zxHLyW','tufyx0zjtevt','AxnfEhrLCM5HBa','Dg90ywXfEhbVCNrZ','vKfmsurFtu9ervm','zgLYBMfTzq','DgvZDa','ndCWEhzVyNvm','rxjYB3iGCgfYC2LUzYbMAwXL','Dw51C2vKrxHWB3j0CW','C3rHCNrZv2L0Aa','AxnbyNnVBhv0zq','uNvUBMLUzYbMDwXSigfUywX5C2LZ','revgqvvmvf9nt0rf','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw4OCYK','8j+uJsbbBMfSExPPBMCGAw1WB3j0CYbPBJOG','ndeZmZi0ndzMq0LpvLm','icaGicaG8j+tPcbbDMfPBgfIBguGzxHWB3j0CZOG','icdIGkiGvg90ywWGAw1WB3j0CZOG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','icaGiokaOIa','B3v0Chv0','yw5HBhL6zq','igHHCYa','zw50CMLLCW','zxHWB3j0CW','Bw9Kzq','lIbnDxn0igjLig9UzsbVzJOG','rM91BMqG','icaGicaGrNjVBsbMAwXLoIa','z2v0','C3LTyM9StMfTzq','Aw1WB3j0CW','AwDUB3jLlwzPBgu','AgfZ','zMLUzfvUDxnLzev4Cg9YDhm','C2L6zq','C2XPy2u','8j+tIcbtDgf0Axn0AwnZoG','8j+tGsbgAwXLCYbHBMfSExPLzdOG','DMfSDwvZ','igLTCg9YDhmG','BMfTzxnWywnL','Aw5MBW','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','ugf0AcbKB2vZig5VDcbLEgLZDdOG','ihn5BwjVBhmGBM90igv4Cg9YDgvKigzYB20GDgHLAxiGC291CMnLCW','z2v0uMvSyxrPDMvqyxrO','BwLZC2LUz0v4Cg9YDhm','icaXlIbgAxGG','CgfYC2vuywDZ','icdIGkiGvg90ywWGzxHWB3j0CZOG','AxnezwzHDwX0','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','CMvWBgfJzq','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','Cgf0AcbTDxn0igjLigeGC3rYAw5N','rM91BMqGzMLSzxm','ywnJzxnZ','zNjVBq','cIaGtwLZC2LUzYbfEhbVCNrZoG','DxrMltG','cIaGtwLZC2LUzYbgAwXLCZO','z2v0rgvZy3jPChrPB24','icaGicaG8j+sOsbgAxG6ierPzcb5B3uGBwvHBIaI','C3bSAxq','zxHLy3v0zq','icaGicaGvhj5Aw5NihrVigLTCg9YDdOG','mJy5ndi4mhvAvLvuwq','AxngAwXL','ywrK','DhjPBq','8j+tIIbezxrHAwXLzcbjBxbVCNqVrxHWB3j0iefUywX5C2LZifjLCg9YDa','zMLSzu5VDezVDw5Ksw1WB3j0CW','lNrZ','BM9YBwfSAxPL','D29YA2LUz0rPCMvJDg9YEq','AwDUB3jLrMLSzq','Cgf0Aa','yMfZzw5HBwu','icaG4PQG77Ipicbdyw5UB3qGzMLUzcbMAwXLoIa','l2LUzgv4lNrZEa','BwvZC2fNzq','A2v5CW','BgvUz3rO','C2HVDwXKswDUB3jLrMLSzq','zgvWzw5Kzw5JAwvZ','icaGicaG8j+sOsbgAxG6ie5VigrLzMf1BhqGzxHWB3j0lIbvC2uGBMfTzwqGAw1WB3j0oIb7ia','yNvPBgq','lMPZ','Dg90ywXgAwXLCW','icaGia','revgqvvmvf9jr05puKvFrKLmrq','lNrZEa','Dg9mB3DLCKnHC2u','CM9VDerPCG','CgfYC2vqyxjHBwv0zxjZ','mtKZnJLnBg5bDhy','BwfW','Aw1WB3j0Aw5NrMLSzq','Dg90ywXjBxbVCNrZ','mtK3otj4B1Pxsei','l2LUzgv4lMPZEa','t3v0Chv0oIa','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','zM9YrwfJAa','zML4','igjYB2TLBIbPBxbVCNqOCYK','icaZlIbszwzHy3rVCIa','icaGipcFKQeGrML4oIbszwzHy3rVCIb0BYbICMvHAYb0AguGy2LYy3vSyxiGzgvWzw5Kzw5JEq','ChvZAa','AwDUB3jLugf0DgvYBNm','zMLUza','icaG4P2mifn5BwjVBcbUB3qGzxHWB3j0zwq6ici','sw1WB3j0igfUywX5C2LZignVBxbSzxrLza','tw9KztOG','y2LYy3vSyxjezxbLBMrLBMnPzxm','Aw1WB3j0zwrgCM9TrMLSzq','CMvHzgrPCG','iIbVCIb1C2uGB25Lig9MihrOzsbHDMfPBgfIBguGzxHWB3j0CW','4PQG77IpicbnAxnZAw5Nigv4Cg9YDhm6ia','x3zHBgLKyxrLugfYyw1LDgvYCW','Aw5JBhvKzxm','ANnVBG','mJm1ogncyM1qqW','cVcFK4qG','icdIGkiGrMLSzxmGyw5HBhL6zwq6ia','Bwf0y2G','C2v0','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','oteXmJa4ogDHz3fdDG','BMfTzq','mtyXndu5m3rrqKrKuW','zgLZDa','sw1WB3j0igfUywX5EMvYigv4zwn1DgLUzW','x2zVCM1HDerLDgfPBgvKt3v0Chv0','AM9PBG','l2LUzgv4lMPZ','C3rYAw5N','Aw1WB3j0zwrtEw1IB2W','ntaYmZy1uuPTwNbW','cVcFKQeGuNvUihDPDgGGB3v0Chv0psjKzxrHAwXLzciGzM9YignVBxbSzxrLigfUywX5C2LZigfUzcbMAxGGC3vNz2vZDgLVBNm','Bg9Nz2vY','y3DK','cUkAOo+4JYaGtuLtu0LorYbfwfbpuLrt','zxHPC3rZ','Bg9HzeLNBM9YzuzPBgu','CMvKDwnL','ugfYC2vKigfSBcbMAwXLCW','zgvSzxrL','sw1WB3j0igfUywX5EMvYigvYCM9YoG','CMvHzezPBgu','CMvZB2X2zuLTCg9YDfbHDgG','zgv0ywLSzwq','lMPZEa','yxzHAwXHyMXLrxHWB3j0CW','C3vTBwfYEq','id4G','zNvSBa','icaGicaG8j+tPcboBYbLEhbVCNrZigzVDw5KigLUihrHCMDLDcbMAwXL','CgfYC2vjBxbVCNrZ','z2v0qwXSrMLSzxm'];a0_0x2719=function(){return _0x1cd835;};return a0_0x2719();}import a0_0x3d3f4e from'path';import{BaseTool}from'./baseTool.js';import a0_0x481f39 from'../utilities/tagParser.js';const ANALYZER_CONFIG={'DEFAULT_MODE':a0_0x3abefe(0x94),'VALID_MODES':[a0_0x3abefe(0x94),'quick','fix'],'DEFAULT_OUTPUT':'summary','VALID_OUTPUTS':['summary','detailed','json'],'DEFAULT_IGNORE_FILE':a0_0x3abefe(0x9a),'MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':[a0_0x3abefe(0xf4),'.mjs',a0_0x3abefe(0xe5),a0_0x3abefe(0x90),a0_0x3abefe(0xf8)],'DEFAULT_IGNORE_PATTERNS':['node_modules','.git',a0_0x3abefe(0x120),a0_0x3abefe(0xf3),'coverage'],'FILE_READ_TIMEOUT':0x1388};export class ImportAnalyzerTool extends BaseTool{[a0_0x3abefe(0xda)](){const _0x28ce23=a0_0x3abefe;return _0x28ce23(0xd0);}[a0_0x3abefe(0xfb)](_0xccb0bb){const _0x586f9c=a0_0x3abefe;if(typeof _0xccb0bb==='object'&&_0xccb0bb!==null)return{'path':_0xccb0bb['path']||'.','mode':_0xccb0bb['mode']||ANALYZER_CONFIG['DEFAULT_MODE'],'output':_0xccb0bb[_0x586f9c(0xb0)]||ANALYZER_CONFIG['DEFAULT_OUTPUT'],'ignoreFile':_0xccb0bb['ignoreFile']||ANALYZER_CONFIG[_0x586f9c(0xf7)]};if(typeof _0xccb0bb===_0x586f9c(0x125)){const _0x3da9fb=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x5658d6=_0x3da9fb[_0x586f9c(0x9b)](_0xccb0bb);if(_0x5658d6){const _0x339e28=_0x5658d6[0x1],_0xce2fbf=_0x5658d6[0x2],_0x3d41f9=/path=["']([^"']*)["']/i[_0x586f9c(0x9b)](_0x339e28),_0x26d177=/mode=["']([^"']*)["']/i[_0x586f9c(0x9b)](_0x339e28),_0x518522=/output=["']([^"']*)["']/i[_0x586f9c(0x9b)](_0x339e28),_0x15a2b8=/ignore-file=["']([^"']*)["']/i['exec'](_0x339e28),_0x54ec97=/<path>(.*?)<\/path>/i,_0x5eb9cc=_0x54ec97[_0x586f9c(0x9b)](_0xce2fbf),_0x43f520=/<mode>(.*?)<\/mode>/i,_0x5b2de9=_0x43f520['exec'](_0xce2fbf),_0x48004a=/<output>(.*?)<\/output>/i,_0x3912c5=_0x48004a[_0x586f9c(0x9b)](_0xce2fbf),_0x1a0547=/<ignore-file>(.*?)<\/ignore-file>/i,_0x3a2bdb=_0x1a0547['exec'](_0xce2fbf),_0x265c50=(_0x5eb9cc?_0x5eb9cc[0x1][_0x586f9c(0xe2)]():null)||(_0x3d41f9?_0x3d41f9[0x1]:'.'),_0x425768=(_0x5b2de9?_0x5b2de9[0x1]['trim']():null)||(_0x26d177?_0x26d177[0x1]:ANALYZER_CONFIG['DEFAULT_MODE']),_0x37082c=(_0x3912c5?_0x3912c5[0x1]['trim']():null)||(_0x518522?_0x518522[0x1]:ANALYZER_CONFIG['DEFAULT_OUTPUT']),_0x416c38=(_0x3a2bdb?_0x3a2bdb[0x1]['trim']():null)||(_0x15a2b8?_0x15a2b8[0x1]:ANALYZER_CONFIG[_0x586f9c(0xf7)]);return{'path':_0x265c50,'mode':_0x425768,'output':_0x37082c,'ignoreFile':_0x416c38};}try{const _0x75d5b2=a0_0x481f39[_0x586f9c(0xcd)](_0xccb0bb,_0x586f9c(0xb1));if(_0x75d5b2&&_0x75d5b2[_0x586f9c(0xef)]>0x0){const _0x261aac=_0x75d5b2[0x0];return{'path':_0x261aac['attributes'][_0x586f9c(0xe9)]||'.','mode':_0x261aac['attributes'][_0x586f9c(0xb5)]||ANALYZER_CONFIG[_0x586f9c(0xa8)],'output':_0x261aac['attributes']['output']||ANALYZER_CONFIG['DEFAULT_OUTPUT'],'ignoreFile':_0x261aac['attributes'][_0x586f9c(0xbc)]||ANALYZER_CONFIG[_0x586f9c(0xf7)]};}}catch(_0x3c223b){}throw new Error('Invalid import-analyzer format. Use <import-analyzer> tags or JSON format.');}throw new Error('Invalid\x20parameter\x20format.\x20Expected\x20string\x20(XML)\x20or\x20object\x20(JSON).');}[a0_0x3abefe(0x114)](_0x58418a){const _0x507e8d=a0_0x3abefe;if(!_0x58418a||typeof _0x58418a!=='object')throw new Error('Parameters\x20must\x20be\x20an\x20object');if(_0x58418a['path']&&typeof _0x58418a['path']!=='string')throw new Error(_0x507e8d(0xd3));if(_0x58418a[_0x507e8d(0xb5)]&&!ANALYZER_CONFIG[_0x507e8d(0x9f)][_0x507e8d(0x115)](_0x58418a['mode']))throw new Error('Invalid\x20mode:\x20'+_0x58418a['mode']+_0x507e8d(0xb6)+ANALYZER_CONFIG['VALID_MODES']['join'](',\x20'));if(_0x58418a[_0x507e8d(0xb0)]&&!ANALYZER_CONFIG['VALID_OUTPUTS'][_0x507e8d(0x115)](_0x58418a['output']))throw new Error('Invalid\x20output:\x20'+_0x58418a['output']+'.\x20Must\x20be\x20one\x20of:\x20'+ANALYZER_CONFIG['VALID_OUTPUTS'][_0x507e8d(0x123)](',\x20'));if(_0x58418a[_0x507e8d(0xe8)]&&typeof _0x58418a[_0x507e8d(0xe8)]!==_0x507e8d(0x125))throw new Error('ignoreFile\x20must\x20be\x20a\x20string');}[a0_0x3abefe(0x103)](_0x43273e,_0x10fa11){const _0x2eb7d5=a0_0x3abefe,{projectDir:_0x32fd09,directoryAccess:_0x2dca16}=_0x10fa11;let _0x5948ca=_0x32fd09||process[_0x2eb7d5(0x85)]();_0x2dca16&&_0x2dca16[_0x2eb7d5(0xe7)]&&(_0x5948ca=_0x2dca16['workingDirectory']);const _0x47b7fd=a0_0x3d3f4e[_0x2eb7d5(0xa6)](_0x43273e)?a0_0x3d3f4e[_0x2eb7d5(0xe6)](_0x43273e):a0_0x3d3f4e[_0x2eb7d5(0xe6)](a0_0x3d3f4e[_0x2eb7d5(0x123)](_0x5948ca,_0x43273e)),_0x3d82df=a0_0x3d3f4e['normalize'](_0x5948ca);if(!_0x47b7fd[_0x2eb7d5(0xa5)](_0x3d82df))throw new Error(_0x2eb7d5(0x11c)+_0x43273e+'\x20resolves\x20outside\x20working\x20directory');return _0x47b7fd;}async[a0_0x3abefe(0xdd)](_0x30ee3d,_0x577c58={}){const _0x9000cf=a0_0x3abefe;try{this[_0x9000cf(0x114)](_0x30ee3d);const {path:_0x386a1a,mode:_0x48ab04,output:_0x25278b,ignoreFile:_0x402627}=_0x30ee3d,{projectDir:_0x5d4614,agentId:_0x45e369,directoryAccess:_0x2cf363}=_0x577c58,_0x28437e=this['_resolveAndValidatePath'](_0x386a1a,_0x577c58);this['logger']?.[_0x9000cf(0xc6)](_0x9000cf(0x121),{'mode':_0x48ab04,'resolvedPath':_0x28437e,'output':_0x25278b,'agentId':_0x45e369});const _0x4a3b2a=[];_0x4a3b2a[_0x9000cf(0x109)](_0x9000cf(0xaa)+_0x28437e),_0x4a3b2a['push'](_0x9000cf(0x10e)+_0x48ab04),_0x4a3b2a[_0x9000cf(0x109)](_0x9000cf(0x102)+_0x25278b+'\x0a');try{await a0_0x43a6e9[_0x9000cf(0xd5)](_0x28437e);}catch{return{'success':![],'error':_0x9000cf(0xc8)+_0x28437e,'output':_0x4a3b2a[_0x9000cf(0x123)]('\x0a')};}const _0x52b86f=new ImportExportAnalyzer(_0x28437e,_0x402627,this[_0x9000cf(0x84)]),_0x13149a=await _0x52b86f[_0x9000cf(0xb1)](_0x48ab04);let _0x16c51d;switch(_0x25278b){case'json':_0x16c51d=JSON['stringify'](_0x13149a,null,0x2);break;case _0x9000cf(0x8f):_0x16c51d=this['_formatDetailedOutput'](_0x13149a),_0x4a3b2a[_0x9000cf(0x109)](_0x16c51d);break;case'summary':default:_0x16c51d=this['_formatSummaryOutput'](_0x13149a),_0x4a3b2a[_0x9000cf(0x109)](_0x16c51d);break;}return{'success':!![],'mode':_0x48ab04,'message':_0x9000cf(0x10d),'statistics':{'totalFiles':_0x13149a['summary'][_0x9000cf(0xf5)],'totalImports':_0x13149a[_0x9000cf(0x92)][_0x9000cf(0xff)],'totalExports':_0x13149a['summary']['totalExports'],'issuesFound':_0x13149a['fileNotFoundImports'][_0x9000cf(0xef)]+Object['values'](_0x13149a['missingExports'])['reduce']((_0x221f79,_0x16a3fe)=>_0x221f79+_0x16a3fe['length'],0x0)},'output':_0x25278b===_0x9000cf(0x116)?_0x16c51d:_0x4a3b2a['join']('\x0a'),'results':_0x13149a};}catch(_0x346b2a){return this['logger']?.['error'](_0x9000cf(0x8c),_0x346b2a),{'success':![],'error':_0x346b2a[_0x9000cf(0xed)],'output':_0x346b2a['message']};}}['_formatSummaryOutput'](_0x187bfc){const _0x289d47=a0_0x3abefe,_0x33bc8f=[];_0x33bc8f[_0x289d47(0x109)]('📊\x20Import/Export\x20Analysis\x20Summary'),_0x33bc8f[_0x289d47(0x109)](_0x289d47(0xc7)),_0x33bc8f[_0x289d47(0x109)](_0x289d47(0xc2)+_0x187bfc[_0x289d47(0x92)]['totalFiles']),_0x33bc8f['push']('📥\x20Total\x20imports:\x20'+_0x187bfc['summary']['totalImports']),_0x33bc8f['push']('📤\x20Total\x20exports:\x20'+_0x187bfc['summary'][_0x289d47(0x9e)]+'\x0a');const _0x4bbf6c=_0x187bfc['fileNotFoundImports']['length'],_0x1a8ac5=Object[_0x289d47(0xc3)](_0x187bfc['missingExports'])[_0x289d47(0x89)]((_0x2e82ad,_0xcabea2)=>_0x2e82ad+_0xcabea2['length'],0x0),_0x3519a7=_0x187bfc[_0x289d47(0x10f)]?_0x187bfc['circularDependencies']['length']:0x0;return _0x4bbf6c>0x0&&_0x33bc8f[_0x289d47(0x109)]('❌\x20Missing\x20files:\x20'+_0x4bbf6c+'\x20imports\x20pointing\x20to\x20non-existent\x20files'),_0x1a8ac5>0x0&&_0x33bc8f['push'](_0x289d47(0x113)+_0x1a8ac5+_0x289d47(0xc9)),_0x3519a7>0x0&&_0x33bc8f[_0x289d47(0x109)]('🔄\x20Circular\x20dependencies:\x20'+_0x3519a7+'\x20circular\x20dependency\x20chains\x20detected'),_0x4bbf6c===0x0&&_0x1a8ac5===0x0&&_0x3519a7===0x0?_0x33bc8f['push']('\u2705 No import/export issues detected!'):(_0x33bc8f[_0x289d47(0x109)]('\x0a🔍\x20Top\x20Issues\x20to\x20Fix:'),Object[_0x289d47(0xee)](_0x187bfc['missingFiles']||{})['length']>0x0&&(_0x33bc8f[_0x289d47(0x109)](_0x289d47(0xd9)),Object['entries'](_0x187bfc['missingFiles'])['slice'](0x0,0x3)['forEach'](([_0x4abb23,_0x47fd0a])=>{const _0x2339b4=_0x289d47;_0x33bc8f[_0x2339b4(0x109)]('\x20\x20\x20\x20•\x20'+_0x4abb23+_0x2339b4(0xb2)+_0x47fd0a['length']+_0x2339b4(0x106));})),Object[_0x289d47(0xee)](_0x187bfc['missingExports'])[_0x289d47(0xef)]>0x0&&(_0x33bc8f['push'](_0x289d47(0xd7)),Object['entries'](_0x187bfc[_0x289d47(0xcb)])[_0x289d47(0xc0)](0x0,0x3)['forEach'](([_0x502769,_0x1d7738])=>{const _0x488c59=_0x289d47;_0x33bc8f['push'](_0x488c59(0xaf)+_0x502769+_0x488c59(0xc4)+_0x1d7738['length']+'\x20non-existent\x20symbol(s)');})),_0x33bc8f[_0x289d47(0x109)](_0x289d47(0x128))),_0x33bc8f[_0x289d47(0x123)]('\x0a');}[a0_0x3abefe(0x122)](_0x4ce154){const _0x5dde5d=a0_0x3abefe,_0x3b6457=[];_0x3b6457[_0x5dde5d(0x109)](_0x5dde5d(0xe3)),_0x3b6457['push'](_0x5dde5d(0xae)),_0x3b6457['push'](_0x5dde5d(0xc1)),_0x3b6457[_0x5dde5d(0x109)](_0x5dde5d(0x119)+_0x4ce154['summary']['totalFiles']),_0x3b6457['push'](_0x5dde5d(0xad)+_0x4ce154['summary']['totalImports']),_0x3b6457[_0x5dde5d(0x109)](_0x5dde5d(0xce)+_0x4ce154['summary']['totalExports']+'\x0a');if(_0x4ce154['fileNotFoundImports'][_0x5dde5d(0xef)]>0x0){_0x3b6457[_0x5dde5d(0x109)]('❌\x20MISSING\x20FILES'),_0x3b6457[_0x5dde5d(0x109)]('─────────────────');const _0x2a0923={};_0x4ce154[_0x5dde5d(0xe4)][_0x5dde5d(0x104)](_0x87b7ee=>{const _0x417ff9=_0x5dde5d;!_0x2a0923[_0x87b7ee['importingFile']]&&(_0x2a0923[_0x87b7ee['importingFile']]=[]),_0x2a0923[_0x87b7ee[_0x417ff9(0xfe)]]['push'](_0x87b7ee);}),Object['entries'](_0x2a0923)[_0x5dde5d(0x104)](([_0x9bfb20,imports])=>{const _0x2f21ab=_0x5dde5d;_0x3b6457['push'](_0x2f21ab(0x118)+_0x9bfb20+':'),imports[_0x2f21ab(0x104)](_0x4e1a79=>{const _0x4eada6=_0x2f21ab,importType=_0x4e1a79[_0x4eada6(0xcf)]?'default':_0x4e1a79['isNamespace']?'namespace':'named';_0x3b6457[_0x4eada6(0x109)](_0x4eada6(0xeb)+_0x4e1a79['importedFromFile']),_0x3b6457['push'](_0x4eada6(0xde)+_0x4e1a79[_0x4eada6(0x126)]+'\x20('+importType+')'),_0x3b6457[_0x4eada6(0x109)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Check\x20if\x20file\x20exists\x20or\x20correct\x20the\x20import\x20path');});});}Object[_0x5dde5d(0xee)](_0x4ce154['missingExports'])[_0x5dde5d(0xef)]>0x0&&(_0x3b6457[_0x5dde5d(0x109)](_0x5dde5d(0x86)),_0x3b6457['push']('──────────────────'),Object[_0x5dde5d(0xb3)](_0x4ce154[_0x5dde5d(0xcb)])[_0x5dde5d(0x104)](([_0x65b9c0,_0x15eb79])=>{_0x3b6457['push']('\x0a📄\x20'+_0x65b9c0+':'),_0x15eb79['forEach'](_0x42a996=>{const _0x5cce5a=a0_0x147a,importType=_0x42a996[_0x5cce5a(0xcf)]?'default':_0x42a996['isNamespace']?_0x5cce5a(0xc5):'named';_0x3b6457[_0x5cce5a(0x109)](_0x5cce5a(0x10c)+_0x42a996[_0x5cce5a(0x126)]+'\x22\x20('+importType+')'),_0x3b6457['push'](_0x5cce5a(0xb8)+_0x42a996['importedFromFile']);if(_0x42a996['availableExports'][_0x5cce5a(0xef)]>0x0){_0x3b6457['push'](_0x5cce5a(0xac)+_0x42a996[_0x5cce5a(0x91)][_0x5cce5a(0x123)](',\x20'));if(_0x42a996['isDefault']&&_0x42a996[_0x5cce5a(0x91)]['includes']('default'))_0x3b6457['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Default\x20export\x20exists,\x20check\x20import\x20syntax');else{if(_0x42a996[_0x5cce5a(0xcf)]&&!_0x42a996[_0x5cce5a(0x91)]['includes']('default'))_0x3b6457['push'](_0x5cce5a(0xf2)+(_0x42a996['availableExports'][0x0]||_0x5cce5a(0xba))+'\x20}');else{const _0x3747b5=_0x42a996['availableExports'][_0x5cce5a(0x10b)](_0x4c1cea=>_0x4c1cea[_0x5cce5a(0xf9)]()===_0x42a996['importedSymbol'][_0x5cce5a(0xf9)]());_0x3747b5?_0x3b6457[_0x5cce5a(0x109)](_0x5cce5a(0xdb)+_0x3747b5+'\x22?\x20(case\x20mismatch)'):_0x3b6457['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20export\x20for\x20\x22'+_0x42a996['importedSymbol']+_0x5cce5a(0x112));}}}else _0x3b6457[_0x5cce5a(0x109)](_0x5cce5a(0x95)),_0x3b6457[_0x5cce5a(0x109)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20exports\x20to\x20'+_0x42a996[_0x5cce5a(0x110)]+'\x20or\x20check\x20if\x20it\x27s\x20the\x20correct\x20file');});}));_0x4ce154['circularDependencies']&&_0x4ce154['circularDependencies'][_0x5dde5d(0xef)]>0x0&&(_0x3b6457[_0x5dde5d(0x109)]('\x0a🔄\x20CIRCULAR\x20DEPENDENCIES'),_0x3b6457['push']('────────────────────────'),_0x4ce154['circularDependencies'][_0x5dde5d(0x104)]((_0x43733e,_0x333a98)=>{const _0x1b3b48=_0x5dde5d;_0x3b6457['push']('\x0a\x20\x20Cycle\x20'+(_0x333a98+0x1)+':'),_0x43733e[_0x1b3b48(0x104)]((_0x21d003,_0x3f7b87)=>{const _0x5c3cfd=_0x1b3b48;_0x3f7b87<_0x43733e['length']-0x1&&_0x3b6457['push'](_0x5c3cfd(0xf6)+_0x21d003+'\x20→\x20'+_0x43733e[_0x3f7b87+0x1]);}),_0x3b6457[_0x1b3b48(0x109)](_0x1b3b48(0x108));}));_0x4ce154[_0x5dde5d(0xa4)]&&Object['keys'](_0x4ce154['unusedExports'])['length']>0x0&&(_0x3b6457['push']('\x0a🗑️\x20\x20POTENTIALLY\x20UNUSED\x20EXPORTS'),_0x3b6457[_0x5dde5d(0x109)]('──────────────────────────────'),Object['entries'](_0x4ce154['unusedExports'])[_0x5dde5d(0xc0)](0x0,0xa)[_0x5dde5d(0x104)](([_0x1696bc,exports])=>{const _0x2279ec=_0x5dde5d;_0x3b6457['push']('\x0a📄\x20'+_0x1696bc+':'),_0x3b6457['push']('\x20\x20\x20Unused:\x20'+exports[_0x2279ec(0x123)](',\x20'));}),_0x3b6457['push']('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x3b6457['push']('\x20\x20\x20\x20\x20\x20They\x20might\x20be\x20used\x20by\x20external\x20packages\x20or\x20could\x20be\x20removed'));_0x3b6457['push']('\x0a📋\x20RECOMMENDATIONS'),_0x3b6457['push'](_0x5dde5d(0xd2));const _0xe48f0=_0x4ce154[_0x5dde5d(0xe4)]['length']+Object['values'](_0x4ce154[_0x5dde5d(0xcb)])['reduce']((_0xf30a71,_0x9598b7)=>_0xf30a71+_0x9598b7['length'],0x0);return _0xe48f0===0x0?_0x3b6457['push']('\u2705 Your import/export structure looks good!'):(_0x3b6457['push'](_0x5dde5d(0xb7)+_0xe48f0+'\x20issue(s)\x20that\x20need\x20attention:'),_0x4ce154['fileNotFoundImports']['length']>0x0&&_0x3b6457['push'](_0x5dde5d(0xcc)+_0x4ce154['fileNotFoundImports'][_0x5dde5d(0xef)]+'\x20missing\x20file\x20reference(s)'),Object['keys'](_0x4ce154['missingExports'])['length']>0x0&&_0x3b6457['push']('\x20\x202.\x20Resolve\x20'+Object[_0x5dde5d(0xc3)](_0x4ce154[_0x5dde5d(0xcb)])['reduce']((_0x2c439d,_0x48edfa)=>_0x2c439d+_0x48edfa[_0x5dde5d(0xef)],0x0)+'\x20missing\x20export(s)'),_0x4ce154[_0x5dde5d(0x10f)]&&_0x4ce154['circularDependencies']['length']>0x0&&_0x3b6457[_0x5dde5d(0x109)](_0x5dde5d(0x107)+_0x4ce154[_0x5dde5d(0x10f)]['length']+_0x5dde5d(0xa9))),_0x3b6457['join']('\x0a');}}class ImportExportAnalyzer{constructor(_0x2b2f26,_0x1a0fa2='.gitignore',_0x2fe624=null){const _0x2677f3=a0_0x3abefe;this['rootDir']=a0_0x3d3f4e['resolve'](_0x2b2f26),this['ignoreFile']=_0x1a0fa2,this['logger']=_0x2fe624,this[_0x2677f3(0x10a)]=[...ANALYZER_CONFIG['DEFAULT_IGNORE_PATTERNS']],this['imports']=[],this[_0x2677f3(0xb4)]=new Map(),this['dependencies']=new Map();}async[a0_0x3abefe(0x88)](){const _0x4da358=a0_0x3abefe;try{const _0x90da4d=a0_0x3d3f4e['join'](this['rootDir'],this[_0x4da358(0xe8)]),_0x35a99a=await a0_0x43a6e9[_0x4da358(0x8d)](_0x90da4d,_0x4da358(0xd8)),_0x174b44=_0x35a99a['split']('\x0a')[_0x4da358(0xfd)](_0x28adcd=>_0x28adcd['trim']())['filter'](_0x25403d=>_0x25403d&&!_0x25403d['startsWith']('#'));this[_0x4da358(0x10a)]['push'](..._0x174b44),this['logger']?.['debug']('Loaded\x20ignore\x20patterns',{'count':_0x174b44['length']});}catch{this[_0x4da358(0x84)]?.['debug']('No ignore file found, using defaults');}}[a0_0x3abefe(0xf0)](_0xd7c0ea){const _0x2a889f=a0_0x3abefe,_0x489206=a0_0x3d3f4e['relative'](this[_0x2a889f(0xfa)],_0xd7c0ea);return this[_0x2a889f(0x10a)]['some'](_0x252448=>{const _0xe29706=_0x2a889f;if(_0x252448[_0xe29706(0x115)]('*')){const _0x57263a=new RegExp(_0x252448['replace'](/\*/g,'.*'));return _0x57263a[_0xe29706(0xa1)](_0x489206)||_0x57263a[_0xe29706(0xa1)](a0_0x3d3f4e[_0xe29706(0xea)](_0xd7c0ea));}return _0x489206['includes'](_0x252448)||a0_0x3d3f4e[_0xe29706(0xea)](_0xd7c0ea)===_0x252448;});}async[a0_0x3abefe(0x97)](_0x51a55c){const _0x5503df=a0_0x3abefe,_0x17109a=[],_0x4b3229=async _0xce6c8=>{const _0x2cc048=a0_0x147a;try{const _0x210f02=await a0_0x43a6e9[_0x2cc048(0x111)](_0xce6c8,{'withFileTypes':!![]});for(const _0x20925d of _0x210f02){const _0x55ddb8=a0_0x3d3f4e[_0x2cc048(0x123)](_0xce6c8,_0x20925d[_0x2cc048(0x11e)]);if(this[_0x2cc048(0xf0)](_0x55ddb8))continue;if(_0x20925d['isDirectory']())await _0x4b3229(_0x55ddb8);else{if(_0x20925d[_0x2cc048(0xe0)]()){const _0x592fdd=a0_0x3d3f4e['extname'](_0x20925d['name']);ANALYZER_CONFIG['SUPPORTED_EXTENSIONS']['includes'](_0x592fdd)&&_0x17109a[_0x2cc048(0x109)](_0x55ddb8);}}}}catch(_0x108339){this[_0x2cc048(0x84)]?.[_0x2cc048(0x98)](_0x2cc048(0x99),{'dir':_0xce6c8,'error':_0x108339['message']});}};await _0x4b3229(_0x51a55c);if(_0x17109a[_0x5503df(0xef)]>ANALYZER_CONFIG[_0x5503df(0x9c)]){this[_0x5503df(0x84)]?.[_0x5503df(0x98)]('File\x20count\x20exceeds\x20limit:\x20'+_0x17109a[_0x5503df(0xef)]+_0x5503df(0x93)+ANALYZER_CONFIG['MAX_FILES']);throw new Error('Too\x20many\x20files\x20to\x20analyze:\x20'+_0x17109a[_0x5503df(0xef)]+'\x20(max:\x20'+ANALYZER_CONFIG['MAX_FILES']+')');}return _0x17109a;}async[a0_0x3abefe(0x96)](_0x665588,_0x627a32){const _0x766ced=a0_0x3abefe,imports=[],_0x1b6ad6=_0x665588[_0x766ced(0xdc)]('\x0a'),_0xd48e22=this[_0x766ced(0xca)](_0x627a32);!this[_0x766ced(0xf1)][_0x766ced(0xbd)](_0xd48e22)&&this[_0x766ced(0xf1)]['set'](_0xd48e22,new Set());for(let _0x3fb2e1=0x0;_0x3fb2e1<_0x1b6ad6[_0x766ced(0xef)];_0x3fb2e1++){const _0x51a3c8=_0x1b6ad6[_0x3fb2e1]['trim']();if(_0x51a3c8['startsWith']('//')||_0x51a3c8['startsWith']('/*'))continue;let _0x1ba538=_0x51a3c8,_0x48625e=_0x3fb2e1;while(!_0x1ba538[_0x766ced(0x115)](';')&&!_0x1ba538[_0x766ced(0x11a)](/from\s+['"`][^'"`]+['"`]/)&&_0x48625e<_0x1b6ad6[_0x766ced(0xef)]-0x1){_0x48625e++;const _0x22984d=_0x1b6ad6[_0x48625e]['trim']();if(_0x22984d[_0x766ced(0xa5)]('//')||_0x22984d['startsWith']('/*'))continue;_0x1ba538+='\x20'+_0x22984d;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0x362e2f;while((_0x362e2f=importRegex['exec'](_0x1ba538))!==null){const [,_0x475de9,defaultImport,_0x51ab1c,_0x276d62,_0x17168d]=_0x362e2f,_0x1568c6=await this['resolveImportPath'](_0x17168d,_0x627a32);!_0x1568c6[_0x766ced(0x9d)]&&_0x1568c6[_0x766ced(0x87)]&&this['dependencies'][_0x766ced(0xb9)](_0xd48e22)[_0x766ced(0xe1)](_0x1568c6[_0x766ced(0xe9)]);defaultImport&&imports[_0x766ced(0x109)]({'importingFile':_0xd48e22,'importedSymbol':defaultImport[_0x766ced(0xe2)](),'importedFromFile':_0x1568c6[_0x766ced(0xe9)],'fileExists':_0x1568c6['exists'],'isExternal':_0x1568c6[_0x766ced(0x9d)]||![],'isDefault':!![]});_0x276d62&&imports[_0x766ced(0x109)]({'importingFile':_0xd48e22,'importedSymbol':_0x276d62['trim'](),'importedFromFile':_0x1568c6[_0x766ced(0xe9)],'fileExists':_0x1568c6[_0x766ced(0x87)],'isExternal':_0x1568c6['isExternal']||![],'isNamespace':!![]});const _0x19d881=[_0x475de9,_0x51ab1c]['filter'](Boolean)[_0x766ced(0x123)](',');if(_0x19d881){const _0x598494=_0x19d881[_0x766ced(0xdc)](',')['map'](_0x4b8441=>{const _0x301a52=_0x766ced,_0x444fe3=_0x4b8441['trim']()[_0x301a52(0xdc)](/\s+as\s+/);return _0x444fe3[0x0]['trim']();});_0x598494[_0x766ced(0x104)](_0x5eb82f=>{const _0x21149d=_0x766ced;_0x5eb82f&&imports[_0x21149d(0x109)]({'importingFile':_0xd48e22,'importedSymbol':_0x5eb82f,'importedFromFile':_0x1568c6[_0x21149d(0xe9)],'fileExists':_0x1568c6[_0x21149d(0x87)],'isExternal':_0x1568c6[_0x21149d(0x9d)]||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0x362e2f=requireRegex['exec'](_0x1ba538))!==null){const [,_0x33b3ef,_0xc0283c,_0x20486e]=_0x362e2f,_0x4f21da=await this[_0x766ced(0x8e)](_0x20486e,_0x627a32);!_0x4f21da[_0x766ced(0x9d)]&&_0x4f21da['exists']&&this[_0x766ced(0xf1)]['get'](_0xd48e22)['add'](_0x4f21da[_0x766ced(0xe9)]);if(_0x33b3ef){const _0x355acb=_0x33b3ef['split'](',')['map'](_0x42e55a=>_0x42e55a[_0x766ced(0xe2)]()['split'](':')[0x0]['trim']());_0x355acb['forEach'](_0x2d1e9d=>{const _0x2ddfb2=_0x766ced;_0x2d1e9d&&imports['push']({'importingFile':_0xd48e22,'importedSymbol':_0x2d1e9d,'importedFromFile':_0x4f21da['path'],'fileExists':_0x4f21da[_0x2ddfb2(0x87)],'isExternal':_0x4f21da['isExternal']||![],'isDefault':![]});});}else _0xc0283c&&imports['push']({'importingFile':_0xd48e22,'importedSymbol':_0xc0283c['trim'](),'importedFromFile':_0x4f21da['path'],'fileExists':_0x4f21da['exists'],'isExternal':_0x4f21da['isExternal']||![],'isDefault':!![]});}_0x3fb2e1=_0x48625e;}return imports;}['parseExports'](_0x306ecc){const _0x31bd1c=a0_0x3abefe,exports=new Set(),_0xa9d1d7=_0x306ecc[_0x31bd1c(0xdc)]('\x0a');for(const _0x59aec5 of _0xa9d1d7){const _0x56d57c=_0x59aec5['trim']();if(_0x56d57c[_0x31bd1c(0xa5)]('//')||_0x56d57c['startsWith']('/*'))continue;/export\s+default\s+/[_0x31bd1c(0xa1)](_0x56d57c)&&exports[_0x31bd1c(0xe1)]('default');const _0x157b2e=_0x56d57c['match'](/export\s+\{([^}]+)\}/);if(_0x157b2e){const _0x17bbc7=_0x157b2e[0x1][_0x31bd1c(0xdc)](',')[_0x31bd1c(0xfd)](_0x51b984=>{const _0x2215fe=_0x31bd1c,_0x2c18c8=_0x51b984['trim']()[_0x2215fe(0xdc)](/\s+as\s+/);return _0x2c18c8[_0x2c18c8[_0x2215fe(0xef)]-0x1]['trim']();});_0x17bbc7['forEach'](_0x588863=>exports[_0x31bd1c(0xe1)](_0x588863));}const _0x32474f=_0x56d57c['match'](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x32474f&&exports[_0x31bd1c(0xe1)](_0x32474f[0x1]);const exportFromMatch=_0x56d57c['match'](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0x510a56=exportFromMatch[0x1][_0x31bd1c(0xdc)](',')['map'](_0x318222=>{const _0x1aa7b4=_0x31bd1c,_0x1b03bc=_0x318222['trim']()[_0x1aa7b4(0xdc)](/\s+as\s+/);return _0x1b03bc[_0x1b03bc[_0x1aa7b4(0xef)]-0x1]['trim']();});_0x510a56['forEach'](_0x12ccaa=>exports['add'](_0x12ccaa));}/export\s+\*\s+from/['test'](_0x56d57c)&&exports[_0x31bd1c(0xe1)]('*');const moduleExportsMatch=_0x56d57c[_0x31bd1c(0x11a)](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x3bf9e2=moduleExportsMatch[0x1][_0x31bd1c(0xdc)](',')['map'](_0x2a0153=>{const _0x511d05=_0x31bd1c,_0x293dcf=_0x2a0153['trim']()[_0x511d05(0xdc)](':');return _0x293dcf[0x0][_0x511d05(0xe2)]();});_0x3bf9e2['forEach'](_0x237fa4=>exports['add'](_0x237fa4));}/module\.exports\s*=\s*[^{]/['test'](_0x56d57c)&&exports['add']('default');const moduleExportsPropMatch=_0x56d57c['match'](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports[_0x31bd1c(0xe1)](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0x56d57c[_0x31bd1c(0x11a)](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports[_0x31bd1c(0xe1)](exportsPropMatch[0x1]);}return exports;}async[a0_0x3abefe(0x8e)](importPath,_0x4faa06){const _0x42665f=a0_0x3abefe;if(importPath['startsWith']('.')){const _0x50ab4b=a0_0x3d3f4e[_0x42665f(0xa0)](_0x4faa06),_0x2eebb2=a0_0x3d3f4e['resolve'](_0x50ab4b,importPath);if(a0_0x3d3f4e['extname'](importPath))try{const _0xdd5b1e=await a0_0x43a6e9['stat'](_0x2eebb2);if(_0xdd5b1e['isFile']())return{'path':this['getRelativePath'](_0x2eebb2),'exists':!![]};}catch{}const _0x51fd92=['','.js','.mjs',_0x42665f(0xe5),'.jsx','.tsx',_0x42665f(0x124),'/index.ts',_0x42665f(0x101),_0x42665f(0xec)];for(const _0x1c8613 of _0x51fd92){const _0x2f4d1b=_0x2eebb2+_0x1c8613;try{const _0x1955f0=await a0_0x43a6e9['stat'](_0x2f4d1b);if(_0x1955f0[_0x42665f(0xe0)]())return{'path':this[_0x42665f(0xca)](_0x2f4d1b),'exists':!![]};}catch{}}return{'path':this[_0x42665f(0xca)](_0x2eebb2),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}[a0_0x3abefe(0xca)](_0x3c0cdc){const _0xeb18a0=a0_0x3abefe;return a0_0x3d3f4e['relative'](this['rootDir'],_0x3c0cdc)[_0xeb18a0(0xd1)](/\\/g,'/');}['findCircularDependencies'](){const _0x50cde0=a0_0x3abefe,_0x1031dc=[],_0x5780b2=new Set(),_0x322107=new Set(),_0x150ca6=(_0x498ae8,_0x21775c=[])=>{const _0x37da17=a0_0x147a;if(_0x322107['has'](_0x498ae8)){const _0x59b9c5=_0x21775c['indexOf'](_0x498ae8);_0x59b9c5!==-0x1&&_0x1031dc[_0x37da17(0x109)]([..._0x21775c[_0x37da17(0xc0)](_0x59b9c5),_0x498ae8]);return;}if(_0x5780b2[_0x37da17(0xbd)](_0x498ae8))return;_0x5780b2[_0x37da17(0xe1)](_0x498ae8),_0x322107['add'](_0x498ae8),_0x21775c[_0x37da17(0x109)](_0x498ae8);const _0x411f36=this['dependencies'][_0x37da17(0xb9)](_0x498ae8)||new Set();for(const _0x459974 of _0x411f36){_0x150ca6(_0x459974,[..._0x21775c]);}_0x322107[_0x37da17(0x8b)](_0x498ae8);};for(const _0x349206 of this[_0x50cde0(0xf1)]['keys']()){!_0x5780b2[_0x50cde0(0xbd)](_0x349206)&&_0x150ca6(_0x349206);}return _0x1031dc;}[a0_0x3abefe(0xbe)](){const _0x2dee9f=a0_0x3abefe,_0x5b39e7=new Map();for(const _0x289c56 of this[_0x2dee9f(0xbb)]){!_0x289c56['isExternal']&&(!_0x5b39e7['has'](_0x289c56[_0x2dee9f(0x110)])&&_0x5b39e7['set'](_0x289c56['importedFromFile'],new Set()),_0x5b39e7[_0x2dee9f(0xb9)](_0x289c56['importedFromFile'])['add'](_0x289c56['importedSymbol']));}const _0x550e8e={};for(const [_0x23f311,exports]of this[_0x2dee9f(0xb4)]['entries']()){const _0xddaba2=_0x5b39e7[_0x2dee9f(0xb9)](_0x23f311)||new Set(),_0x117e0d=Array[_0x2dee9f(0xd6)](exports)['filter'](_0x4765cc=>!_0xddaba2[_0x2dee9f(0xbd)](_0x4765cc)&&_0x4765cc!=='*');_0x117e0d['length']>0x0&&(_0x550e8e[_0x23f311]=_0x117e0d);}return _0x550e8e;}async['analyze'](_0xfdecaa=a0_0x3abefe(0x94)){const _0x1d43b7=a0_0x3abefe;this['logger']?.['info']('Starting import analysis',{'mode':_0xfdecaa,'rootDir':this[_0x1d43b7(0xfa)]}),await this['loadIgnoreFile']();const _0x275c8f=await this['getAllFiles'](this[_0x1d43b7(0xfa)]);this['logger']?.['info'](_0x1d43b7(0xd4),{'count':_0x275c8f['length']});for(const _0x5ec912 of _0x275c8f){try{const _0x3f0f04=await a0_0x43a6e9[_0x1d43b7(0x8d)](_0x5ec912,_0x1d43b7(0xd8)),_0x1a4cb0=this[_0x1d43b7(0xca)](_0x5ec912),_0x34dd9b=await this['parseImports'](_0x3f0f04,_0x5ec912);this['imports'][_0x1d43b7(0x109)](..._0x34dd9b);const _0x28aec5=this['parseExports'](_0x3f0f04);this['exports'][_0x1d43b7(0x11b)](_0x1a4cb0,_0x28aec5);}catch(_0x1e9774){this['logger']?.[_0x1d43b7(0x98)](_0x1d43b7(0xa3),{'file':_0x5ec912,'error':_0x1e9774[_0x1d43b7(0xed)]});}}this[_0x1d43b7(0x84)]?.['info'](_0x1d43b7(0x8a),{'imports':this[_0x1d43b7(0xbb)]['length'],'exports':this['exports'][_0x1d43b7(0xbf)]});const _0x5ea4d5={'summary':{'totalFiles':_0x275c8f['length'],'totalImports':this['imports']['length'],'totalExports':Array['from'](this[_0x1d43b7(0xb4)]['values']())[_0x1d43b7(0x89)]((_0x9cc562,exports)=>_0x9cc562+exports[_0x1d43b7(0xbf)],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this['imports']){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0x2530f4,isNamespace:_0x47118d,fileExists:_0x10cf25,isExternal:_0x7b8dd4}=importEntry;if(!_0x10cf25&&!_0x7b8dd4){_0x5ea4d5['fileNotFoundImports']['push']({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0x2530f4||![],'isNamespace':_0x47118d||![]});!_0x5ea4d5['missingFiles'][importingFile]&&(_0x5ea4d5['missingFiles'][importingFile]=[]);_0x5ea4d5['missingFiles'][importingFile][_0x1d43b7(0x109)]({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0x2530f4||![],'isNamespace':_0x47118d||![]});continue;}if(_0x7b8dd4)continue;const exportingFileExports=this[_0x1d43b7(0xb4)]['get'](importedFromFile);let _0x1cc97f=![];if(exportingFileExports){if(_0x47118d)_0x1cc97f=exportingFileExports['size']>0x0;else _0x2530f4?_0x1cc97f=exportingFileExports[_0x1d43b7(0xbd)]('default'):_0x1cc97f=exportingFileExports[_0x1d43b7(0xbd)](importedSymbol)||exportingFileExports[_0x1d43b7(0xbd)]('*');}!_0x1cc97f&&(!_0x5ea4d5['missingExports'][importingFile]&&(_0x5ea4d5['missingExports'][importingFile]=[]),_0x5ea4d5['missingExports'][importingFile]['push']({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array['from'](exportingFileExports):[],'isDefault':_0x2530f4||![],'isNamespace':_0x47118d||![]}));}return(_0xfdecaa===_0x1d43b7(0x94)||_0xfdecaa===_0x1d43b7(0x105))&&(this[_0x1d43b7(0x84)]?.['info'](_0x1d43b7(0xa7)),_0x5ea4d5[_0x1d43b7(0x10f)]=this['findCircularDependencies'](),_0x5ea4d5[_0x1d43b7(0xa4)]=this[_0x1d43b7(0xbe)]()),this['logger']?.[_0x1d43b7(0xc6)]('Analysis\x20complete',{'missingFiles':_0x5ea4d5['fileNotFoundImports'][_0x1d43b7(0xef)],'missingExports':Object['keys'](_0x5ea4d5[_0x1d43b7(0xcb)])['length']}),_0x5ea4d5;}}export default ImportAnalyzerTool;
1
+ const a0_0x248b1e=a0_0x27ed;(function(_0x39f636,_0x1f1928){const _0xf3c920=a0_0x27ed,_0x5283ff=_0x39f636();while(!![]){try{const _0x5322f0=-parseInt(_0xf3c920(0xce))/0x1*(-parseInt(_0xf3c920(0x9b))/0x2)+parseInt(_0xf3c920(0xcb))/0x3*(parseInt(_0xf3c920(0xfe))/0x4)+parseInt(_0xf3c920(0xd8))/0x5+parseInt(_0xf3c920(0xb2))/0x6*(-parseInt(_0xf3c920(0xee))/0x7)+parseInt(_0xf3c920(0xeb))/0x8+-parseInt(_0xf3c920(0xb4))/0x9*(parseInt(_0xf3c920(0x7c))/0xa)+parseInt(_0xf3c920(0x88))/0xb*(-parseInt(_0xf3c920(0xd7))/0xc);if(_0x5322f0===_0x1f1928)break;else _0x5283ff['push'](_0x5283ff['shift']());}catch(_0x43d549){_0x5283ff['push'](_0x5283ff['shift']());}}}(a0_0xfe1a,0x6bd93));function a0_0x27ed(_0x278bbf,_0x32692c){_0x278bbf=_0x278bbf-0x78;const _0xfe1a64=a0_0xfe1a();let _0x27edf5=_0xfe1a64[_0x278bbf];if(a0_0x27ed['AFWRHw']===undefined){var _0x5321ed=function(_0x5edb26){const _0x4aa800='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39d946='',_0x1b0a17='';for(let _0x347940=0x0,_0x2bd3cc,_0x2b7ff0,_0x1e6328=0x0;_0x2b7ff0=_0x5edb26['charAt'](_0x1e6328++);~_0x2b7ff0&&(_0x2bd3cc=_0x347940%0x4?_0x2bd3cc*0x40+_0x2b7ff0:_0x2b7ff0,_0x347940++%0x4)?_0x39d946+=String['fromCharCode'](0xff&_0x2bd3cc>>(-0x2*_0x347940&0x6)):0x0){_0x2b7ff0=_0x4aa800['indexOf'](_0x2b7ff0);}for(let _0x493cc6=0x0,_0x5f5003=_0x39d946['length'];_0x493cc6<_0x5f5003;_0x493cc6++){_0x1b0a17+='%'+('00'+_0x39d946['charCodeAt'](_0x493cc6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b0a17);};a0_0x27ed['FtkyiL']=_0x5321ed,a0_0x27ed['bOYbrl']={},a0_0x27ed['AFWRHw']=!![];}const _0x2a20c2=_0xfe1a64[0x0],_0x39c172=_0x278bbf+_0x2a20c2,_0x53539d=a0_0x27ed['bOYbrl'][_0x39c172];return!_0x53539d?(_0x27edf5=a0_0x27ed['FtkyiL'](_0x27edf5),a0_0x27ed['bOYbrl'][_0x39c172]=_0x27edf5):_0x27edf5=_0x53539d,_0x27edf5;}function a0_0xfe1a(){const _0x491eac=['ndm5mdLhEu5dBNu','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','Dw51C2vKrxHWB3j0CW','DxrMltG','cVcFL5hVUi8GifbpvevoveLbteXzifvovvnfrcbfwfbpuLrt','Aw1WB3j0zwrtEw1IB2W','icaG4PQG77Ipicbdyw5UB3qGzMLUzcbMAwXLoIa','Bw9Kzq','BwvZC2fNzq','mte5ndeWotjxyuL5BMy','mJeYmJaXmfDVCeDQAa','t3v0Chv0oIa','sw52ywXPzcbVDxrWDxq6ia','lMDPDgLNBM9Yzq','iIbVCIb1C2uGB25Lig9MihrOzsbHDMfPBgfIBguGzxHWB3j0CW','icaGicaGrNjVBsbMAwXLoIa','C3rHCNrZv2L0Aa','lM1QCW','zxHPC3rZ','CM9VDerPCG','z2v0','DMfSDwvZ','Bg9Nz2vY','zM9YrwfJAa','BM9Kzv9TB2r1BgvZ','ihn5BwjVBhmGBM90igv4Cg9YDgvKigzYB20GDgHLAxiGC291CMnLCW','Aw1WB3j0CW','C29Tzq','icaGicaG8j+sOsbgAxG6iefKzcbLEhbVCNrZihrVia','mJa3nty0meP1qMPYEG','x3zHBgLKyxrLugfYyw1LDgvYCW','C2L6zq','mteWndi1n1jUzezhrq','x2zVCM1HDfn1Bw1HCNLpDxrWDxq','C3vTBwfYEq','D2fYBG','AwDUB3jLrMLSzq','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw4OCYK','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0lIbfEhbLy3rLzcbZDhjPBMCGkfHntcKGB3iGB2jQzwn0icHku09oks4','lMPZEa','icaZlIbszwzHy3rVCIa','qw5HBhLZAxmGy29TCgXLDgu','zML4','yMfZzw5HBwu','tufyx0zjtevt','cVcFLiqGq0Lsq1vmqviGrevqru5eru5dsuvt','CMvZB2X2zuLTCg9YDfbHDgG','ChvZAa','mZq4mti3nNjWzhDszq','cVcFLi0Gvg9WieLZC3vLCYb0BYbgAxG6','l2LUzgv4lMPZ','icaGicaG8j+sOsbgAxG6ienOzwnRigLMigzPBguGzxHPC3rZig9YignVCNjLy3qGDgHLigLTCg9YDcbWyxrO','iIaO','Aw5JBhvKzxm','CMvKDwnL','Aw5MBW','igjYB2TLBIbPBxbVCNqOCYK','CgfYC2vjBxbVCNrZ','zgLYBMfTzq','CMvHzezPBgu','icaGiokaOIa','y2LYy3vSyxjezxbLBMrLBMnPzxm','Aw1WB3j0zwrgCM9TrMLSzq','q2fUBM90ihjLywqGzgLYzwn0B3j5','u1vque9svevex0vyvevou0LptLm','A2v5CW','zxjYB3i','revgqvvmvf9nt0rf','C3LTyM9StMfTzq','4P2mie1ju1njtKCGrKLmrvm','BwfW','zxHWB3j0CW','zMLSDgvY','lNrZ','DhjPBq','icaGicaG8j+sOsbgAxG6ierLzMf1BhqGzxHWB3j0igv4Axn0CYWGy2HLy2SGAw1WB3j0ihn5BNrHEa','lNrZEa','AgfZ','Cgf0AcbTDxn0igjLigeGC3rYAw5N','BwLZC2LUz0v4Cg9YDhm','sw1WB3j0igfUywX5EMvYigv4zwn1DgLUzW','BMfTzq','mZiXndbwywrntwO','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','icaGicaGvhj5Aw5NihrVigLTCg9YDdOG','DgvZDa','rxjYB3iGCgfYC2LUzYbMAwXL','igHHCYa','CMvWBgfJzq','4P2mie1PC3nPBMCGzMLSzxm6ia','z2v0uMvSyxrPDMvqyxrO','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','zNvSBa','tg9HzgvKigLNBM9YzsbWyxr0zxjUCW','mtfbyxHRC1e','lMDPDa','yxr0CMLIDxrLCW','yxzHAwXHyMXLrxHWB3j0CW','ANnVBG','8j+tIIbezxrHAwXLzcbjBxbVCNqVrxHWB3j0iefUywX5C2LZifjLCg9YDa','rM91BMqGzMLSzxm','Dg90ywXgAwXLCW','icaXlIbgAxGG','B3v0Chv0','icdIGkiGvg90ywWGzxHWB3j0CZOG','revgqvvmvf9pvvrqvvq','BgvUz3rO','4PQG77IpicbnAxnZAw5Nigv4Cg9YDhm6ia','CMvSyxrPDMu','revgqvvmvf9jr05puKvFrKLmrq','B2jQzwn0','Dg90ywXfEhbVCNrZ','Dg9mB3DLCKnHC2u','mZH3BNvcDvG','igLTCg9YDhmGCg9PBNrPBMCGDg8GBM9Ulwv4Axn0zw50igzPBgvZ','Aw1WB3j0Aw5NrMLSzq','cIaGq3LJBguG','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','zgv0ywLSzwq','zgvWzw5Kzw5JAwvZ','zMLUzfvUDxnLzev4Cg9YDhm','lIbnDxn0igjLig9UzsbVzJOG','AxnezwzHDwX0','zMLSzu5VDezVDw5Ksw1WB3j0CW','yw5HBhL6zq','ywrK','rMLSzsbJB3vUDcbLEgnLzwrZigXPBwL0oIa','Bg9HzeLNBM9YzuzPBgu','icaGia','AwDUB3jLugf0DgvYBNm','vKfmsurFt1vuufvuuW','D29YA2LUz0rPCMvJDg9YEq','AxnfEhrLCM5HBa','C3bSAxq','zxHLyW','zxH0BMfTzq','nKjov2v4CG','AxngAwXL','mJiYm3bUvwH6Ea','ugfYyw1LDgvYCYbTDxn0igjLigfUig9IAMvJDa','Cgf0Aa','zw50CMLLCW','Dg90ywXjBxbVCNrZ','icaG4P2mifn5BwjVBcbUB3qGzxHWB3j0zwq6ici','cIaGtwLZC2LUzYbfEhbVCNrZoG','vKfmsurFtu9ervm','l2LUzgv4lNrZEa','icaGicaG8j+sOsbgAxG6ierPzcb5B3uGBwvHBIaI','l2LUzgv4lMPZEa','CMvHzgrPCG','tw9KztOG','l2LUzgv4lNrZ','AM9PBG','rM91BMqG','CMvZB2X2zq','BwLZC2LUz0zPBgvZ','iokgKIa','zNjVBq','z2v0rgvZy3jPChrPB24','Bwf0y2G','ig1PC3nPBMCGzMLSzsbYzwzLCMvUy2uOCYK','m0j2zLH3sq','BMfTzxnWywnL','8j+uJsbbBMfSExPPBMCGAw1WB3j0CYbPBJOG'];a0_0xfe1a=function(){return _0x491eac;};return a0_0xfe1a();}import{promises as a0_0x39d946}from'fs';import a0_0x1b0a17 from'path';import{BaseTool}from'./baseTool.js';import a0_0x347940 from'../utilities/tagParser.js';const ANALYZER_CONFIG={'DEFAULT_MODE':a0_0x248b1e(0x86),'VALID_MODES':[a0_0x248b1e(0x86),'quick',a0_0x248b1e(0xf8)],'DEFAULT_OUTPUT':'summary','VALID_OUTPUTS':['summary','detailed',a0_0x248b1e(0x8c)],'DEFAULT_IGNORE_FILE':'.gitignore','MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':['.js','.mjs','.ts','.jsx',a0_0x248b1e(0x11a)],'DEFAULT_IGNORE_PATTERNS':[a0_0x248b1e(0xe6),a0_0x248b1e(0x89),'dist','build','coverage'],'FILE_READ_TIMEOUT':0x1388};export class ImportAnalyzerTool extends BaseTool{[a0_0x248b1e(0xc8)](){const _0x34cb86=a0_0x248b1e;return _0x34cb86(0xcf);}['parseParameters'](_0x2bd3cc){const _0x5701fc=a0_0x248b1e;if(typeof _0x2bd3cc===_0x5701fc(0x98)&&_0x2bd3cc!==null)return{'path':_0x2bd3cc[_0x5701fc(0xb6)]||'.','mode':_0x2bd3cc[_0x5701fc(0xd5)]||ANALYZER_CONFIG[_0x5701fc(0x111)],'output':_0x2bd3cc['output']||ANALYZER_CONFIG['DEFAULT_OUTPUT'],'ignoreFile':_0x2bd3cc[_0x5701fc(0xf2)]||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};if(typeof _0x2bd3cc==='string'){const _0x2b7ff0=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x1e6328=_0x2b7ff0[_0x5701fc(0xb0)](_0x2bd3cc);if(_0x1e6328){const _0x493cc6=_0x1e6328[0x1],_0x5f5003=_0x1e6328[0x2],_0x3de482=/path=["']([^"']*)["']/i[_0x5701fc(0xb0)](_0x493cc6),_0x2f1016=/mode=["']([^"']*)["']/i[_0x5701fc(0xb0)](_0x493cc6),_0x30eb61=/output=["']([^"']*)["']/i['exec'](_0x493cc6),_0x153d2d=/ignore-file=["']([^"']*)["']/i['exec'](_0x493cc6),_0x22185c=/<path>(.*?)<\/path>/i,_0x2f3a8a=_0x22185c['exec'](_0x5f5003),_0x54b35f=/<mode>(.*?)<\/mode>/i,_0x40c289=_0x54b35f[_0x5701fc(0xb0)](_0x5f5003),_0x434d4a=/<output>(.*?)<\/output>/i,_0x36908f=_0x434d4a[_0x5701fc(0xb0)](_0x5f5003),_0xe9cd0c=/<ignore-file>(.*?)<\/ignore-file>/i,_0xeb2c9a=_0xe9cd0c['exec'](_0x5f5003),_0x4be897=(_0x2f3a8a?_0x2f3a8a[0x1][_0x5701fc(0x118)]():null)||(_0x3de482?_0x3de482[0x1]:'.'),_0x5778fd=(_0x40c289?_0x40c289[0x1]['trim']():null)||(_0x2f1016?_0x2f1016[0x1]:ANALYZER_CONFIG[_0x5701fc(0x111)]),_0x334df3=(_0x36908f?_0x36908f[0x1][_0x5701fc(0x118)]():null)||(_0x30eb61?_0x30eb61[0x1]:ANALYZER_CONFIG['DEFAULT_OUTPUT']),_0x4697db=(_0xeb2c9a?_0xeb2c9a[0x1][_0x5701fc(0x118)]():null)||(_0x153d2d?_0x153d2d[0x1]:ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']);return{'path':_0x4be897,'mode':_0x5778fd,'output':_0x334df3,'ignoreFile':_0x4697db};}try{const _0x4b3132=a0_0x347940['parseTags'](_0x2bd3cc,'analyze');if(_0x4b3132&&_0x4b3132[_0x5701fc(0x94)]>0x0){const _0x41748e=_0x4b3132[0x0];return{'path':_0x41748e[_0x5701fc(0x8a)][_0x5701fc(0xb6)]||'.','mode':_0x41748e['attributes']['mode']||ANALYZER_CONFIG['DEFAULT_MODE'],'output':_0x41748e['attributes']['output']||ANALYZER_CONFIG[_0x5701fc(0x93)],'ignoreFile':_0x41748e['attributes']['ignore-file']||ANALYZER_CONFIG[_0x5701fc(0x97)]};}}catch(_0x1177bd){}throw new Error('Invalid import-analyzer format. Use <import-analyzer> tags or JSON format.');}throw new Error(_0x5701fc(0xf4));}[a0_0x248b1e(0xec)](_0x5ccf81){const _0x5716c4=a0_0x248b1e;if(!_0x5ccf81||typeof _0x5ccf81!=='object')throw new Error(_0x5716c4(0xb5));if(_0x5ccf81['path']&&typeof _0x5ccf81[_0x5716c4(0xb6)]!=='string')throw new Error(_0x5716c4(0x78));if(_0x5ccf81['mode']&&!ANALYZER_CONFIG['VALID_MODES']['includes'](_0x5ccf81[_0x5716c4(0xd5)]))throw new Error('Invalid\x20mode:\x20'+_0x5ccf81['mode']+'.\x20Must\x20be\x20one\x20of:\x20'+ANALYZER_CONFIG[_0x5716c4(0xbb)]['join'](',\x20'));if(_0x5ccf81[_0x5716c4(0x91)]&&!ANALYZER_CONFIG['VALID_OUTPUTS'][_0x5716c4(0x103)](_0x5ccf81['output']))throw new Error(_0x5716c4(0xda)+_0x5ccf81['output']+_0x5716c4(0xa3)+ANALYZER_CONFIG[_0x5716c4(0xac)][_0x5716c4(0xc2)](',\x20'));if(_0x5ccf81['ignoreFile']&&typeof _0x5ccf81[_0x5716c4(0xf2)]!=='string')throw new Error('ignoreFile\x20must\x20be\x20a\x20string');}[a0_0x248b1e(0x7d)](_0x2e8a5a,_0x381f21){const _0x5707fc=a0_0x248b1e,{projectDir:_0x21afab,directoryAccess:_0x4aee92}=_0x381f21;let _0x3e17b1=_0x21afab||process['cwd']();_0x4aee92&&_0x4aee92[_0x5707fc(0xad)]&&(_0x3e17b1=_0x4aee92['workingDirectory']);const _0x1dbdc3=a0_0x1b0a17['isAbsolute'](_0x2e8a5a)?a0_0x1b0a17['normalize'](_0x2e8a5a):a0_0x1b0a17['normalize'](a0_0x1b0a17['join'](_0x3e17b1,_0x2e8a5a)),_0x258a2a=a0_0x1b0a17['normalize'](_0x3e17b1);if(!_0x1dbdc3['startsWith'](_0x258a2a))throw new Error('Path\x20traversal\x20detected:\x20'+_0x2e8a5a+'\x20resolves\x20outside\x20working\x20directory');return _0x1dbdc3;}async['execute'](_0x40eb38,_0x5507cb={}){const _0x1d45d4=a0_0x248b1e;try{this['_validateParameters'](_0x40eb38);const {path:_0x5bc2d7,mode:_0x4dea16,output:_0x446c25,ignoreFile:_0x2e71e3}=_0x40eb38,{projectDir:_0x152850,agentId:_0x5643e0,directoryAccess:_0x50696d}=_0x5507cb,_0x219870=this['_resolveAndValidatePath'](_0x5bc2d7,_0x5507cb);this[_0x1d45d4(0xe4)]?.[_0x1d45d4(0x105)](_0x1d45d4(0x7a),{'mode':_0x4dea16,'resolvedPath':_0x219870,'output':_0x446c25,'agentId':_0x5643e0});const _0x4c76e1=[];_0x4c76e1[_0x1d45d4(0xfd)](_0x1d45d4(0xcd)+_0x219870),_0x4c76e1[_0x1d45d4(0xfd)](_0x1d45d4(0xc0)+_0x4dea16),_0x4c76e1[_0x1d45d4(0xfd)](_0x1d45d4(0xd9)+_0x446c25+'\x0a');try{await a0_0x39d946['access'](_0x219870);}catch{return{'success':![],'error':'Path\x20does\x20not\x20exist:\x20'+_0x219870,'output':_0x4c76e1[_0x1d45d4(0xc2)]('\x0a')};}const _0x2acf22=new ImportExportAnalyzer(_0x219870,_0x2e71e3,this['logger']),_0x2ac6fa=await _0x2acf22['analyze'](_0x4dea16);let _0x470e7a;switch(_0x446c25){case'json':_0x470e7a=JSON['stringify'](_0x2ac6fa,null,0x2);break;case _0x1d45d4(0xa0):_0x470e7a=this['_formatDetailedOutput'](_0x2ac6fa),_0x4c76e1['push'](_0x470e7a);break;case _0x1d45d4(0xf0):default:_0x470e7a=this[_0x1d45d4(0xef)](_0x2ac6fa),_0x4c76e1[_0x1d45d4(0xfd)](_0x470e7a);break;}return{'success':!![],'mode':_0x4dea16,'message':'Import\x20analysis\x20completed','statistics':{'totalFiles':_0x2ac6fa['summary']['totalFiles'],'totalImports':_0x2ac6fa[_0x1d45d4(0xf0)]['totalImports'],'totalExports':_0x2ac6fa['summary']['totalExports'],'issuesFound':_0x2ac6fa['fileNotFoundImports']['length']+Object[_0x1d45d4(0xe3)](_0x2ac6fa['missingExports'])['reduce']((_0xc14282,_0x28d5c2)=>_0xc14282+_0x28d5c2[_0x1d45d4(0x94)],0x0)},'output':_0x446c25===_0x1d45d4(0x8c)?_0x470e7a:_0x4c76e1['join']('\x0a'),'results':_0x2ac6fa};}catch(_0x46301d){return this[_0x1d45d4(0xe4)]?.[_0x1d45d4(0x110)]('Import\x20analyzer\x20error:',_0x46301d),{'success':![],'error':_0x46301d['message'],'output':_0x46301d[_0x1d45d4(0xd6)]};}}['_formatSummaryOutput'](_0x246dcd){const _0x43ba82=a0_0x248b1e,_0x557a4f=[];_0x557a4f['push']('📊\x20Import/Export\x20Analysis\x20Summary'),_0x557a4f[_0x43ba82(0xfd)]('================================\x0a'),_0x557a4f[_0x43ba82(0xfd)]('📁\x20Files\x20analyzed:\x20'+_0x246dcd['summary']['totalFiles']),_0x557a4f[_0x43ba82(0xfd)]('📥\x20Total\x20imports:\x20'+_0x246dcd[_0x43ba82(0xf0)]['totalImports']),_0x557a4f[_0x43ba82(0xfd)]('📤\x20Total\x20exports:\x20'+_0x246dcd[_0x43ba82(0xf0)][_0x43ba82(0x99)]+'\x0a');const _0x276d5b=_0x246dcd[_0x43ba82(0xa5)]['length'],_0x12e9af=Object['values'](_0x246dcd['missingExports'])[_0x43ba82(0x104)]((_0x400ed3,_0x2a7ace)=>_0x400ed3+_0x2a7ace['length'],0x0),_0x1f3a6d=_0x246dcd[_0x43ba82(0x10b)]?_0x246dcd['circularDependencies']['length']:0x0;return _0x276d5b>0x0&&_0x557a4f['push'](_0x43ba82(0x83)+_0x276d5b+_0x43ba82(0x9c)),_0x12e9af>0x0&&_0x557a4f[_0x43ba82(0xfd)](_0x43ba82(0x95)+_0x12e9af+_0x43ba82(0xe7)),_0x1f3a6d>0x0&&_0x557a4f['push']('🔄\x20Circular\x20dependencies:\x20'+_0x1f3a6d+'\x20circular\x20dependency\x20chains\x20detected'),_0x276d5b===0x0&&_0x12e9af===0x0&&_0x1f3a6d===0x0?_0x557a4f[_0x43ba82(0xfd)]('\u2705 No import/export issues detected!'):(_0x557a4f['push'](_0x43ba82(0xff)),Object['keys'](_0x246dcd[_0x43ba82(0xc5)]||{})[_0x43ba82(0x94)]>0x0&&(_0x557a4f['push']('\x0a\x20\x20Missing\x20Files:'),Object[_0x43ba82(0xb7)](_0x246dcd[_0x43ba82(0xc5)])['slice'](0x0,0x3)[_0x43ba82(0xe5)](([_0x235851,_0x3fac6b])=>{const _0xd75f51=_0x43ba82;_0x557a4f[_0xd75f51(0xfd)](_0xd75f51(0x10a)+_0x235851+_0xd75f51(0x81)+_0x3fac6b[_0xd75f51(0x94)]+_0xd75f51(0x106));})),Object['keys'](_0x246dcd['missingExports'])['length']>0x0&&(_0x557a4f['push'](_0x43ba82(0xba)),Object['entries'](_0x246dcd[_0x43ba82(0x79)])['slice'](0x0,0x3)[_0x43ba82(0xe5)](([_0x52aec7,_0x1fa1e3])=>{const _0x2c231f=_0x43ba82;_0x557a4f['push']('\x20\x20\x20\x20•\x20'+_0x52aec7+'\x20imports\x20'+_0x1fa1e3[_0x2c231f(0x94)]+'\x20non-existent\x20symbol(s)');})),_0x557a4f[_0x43ba82(0xfd)]('\x0a💡\x20Run\x20with\x20output=\x22detailed\x22\x20for\x20complete\x20analysis\x20and\x20fix\x20suggestions')),_0x557a4f['join']('\x0a');}['_formatDetailedOutput'](_0x56c151){const _0x1f859a=a0_0x248b1e,_0x3203ef=[];_0x3203ef['push'](_0x1f859a(0x8d)),_0x3203ef['push']('=========================================\x0a'),_0x3203ef['push']('📈\x20Statistics:'),_0x3203ef[_0x1f859a(0xfd)]('\x20\x20•\x20Files\x20analyzed:\x20'+_0x56c151['summary'][_0x1f859a(0x8f)]),_0x3203ef['push']('\x20\x20•\x20Total\x20imports:\x20'+_0x56c151['summary'][_0x1f859a(0xb8)]),_0x3203ef['push'](_0x1f859a(0x92)+_0x56c151['summary']['totalExports']+'\x0a');if(_0x56c151[_0x1f859a(0xa5)]['length']>0x0){_0x3203ef['push'](_0x1f859a(0x113)),_0x3203ef[_0x1f859a(0xfd)]('─────────────────');const _0xc9be38={};_0x56c151['fileNotFoundImports'][_0x1f859a(0xe5)](_0x214354=>{const _0x1f6184=_0x1f859a;!_0xc9be38[_0x214354[_0x1f6184(0x9d)]]&&(_0xc9be38[_0x214354[_0x1f6184(0x9d)]]=[]),_0xc9be38[_0x214354[_0x1f6184(0x9d)]]['push'](_0x214354);}),Object[_0x1f859a(0xb7)](_0xc9be38)[_0x1f859a(0xe5)](([_0x5cd7f2,imports])=>{_0x3203ef['push']('\x0a📄\x20'+_0x5cd7f2+':'),imports['forEach'](_0x594ca1=>{const _0x48c194=a0_0x27ed,importType=_0x594ca1['isDefault']?'default':_0x594ca1['isNamespace']?_0x48c194(0xcc):'named';_0x3203ef[_0x48c194(0xfd)](_0x48c194(0xd4)+_0x594ca1['importedFromFile']),_0x3203ef[_0x48c194(0xfd)](_0x48c194(0x7e)+_0x594ca1['importedSymbol']+'\x20('+importType+')'),_0x3203ef[_0x48c194(0xfd)](_0x48c194(0x101));});});}Object['keys'](_0x56c151[_0x1f859a(0x79)])[_0x1f859a(0x94)]>0x0&&(_0x3203ef['push']('\x0a⚠️\x20\x20MISSING\x20EXPORTS'),_0x3203ef['push'](_0x1f859a(0x9f)),Object[_0x1f859a(0xb7)](_0x56c151[_0x1f859a(0x79)])[_0x1f859a(0xe5)](([_0x42d300,_0x270e09])=>{_0x3203ef['push']('\x0a📄\x20'+_0x42d300+':'),_0x270e09['forEach'](_0x52e68b=>{const _0x2c0ed8=a0_0x27ed,importType=_0x52e68b['isDefault']?'default':_0x52e68b['isNamespace']?'namespace':'named';_0x3203ef[_0x2c0ed8(0xfd)](_0x2c0ed8(0xb9)+_0x52e68b[_0x2c0ed8(0xd3)]+_0x2c0ed8(0x102)+importType+')'),_0x3203ef[_0x2c0ed8(0xfd)](_0x2c0ed8(0xdd)+_0x52e68b[_0x2c0ed8(0x10c)]);if(_0x52e68b[_0x2c0ed8(0x8b)][_0x2c0ed8(0x94)]>0x0){_0x3203ef['push']('\x20\x20\x20\x20\x20\x20📤\x20Available\x20exports:\x20'+_0x52e68b['availableExports'][_0x2c0ed8(0xc2)](',\x20'));if(_0x52e68b['isDefault']&&_0x52e68b['availableExports'][_0x2c0ed8(0x103)]('default'))_0x3203ef['push'](_0x2c0ed8(0x119));else{if(_0x52e68b[_0x2c0ed8(0xa4)]&&!_0x52e68b[_0x2c0ed8(0x8b)]['includes']('default'))_0x3203ef[_0x2c0ed8(0xfd)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20No\x20default\x20export.\x20Use\x20named\x20import:\x20{\x20'+(_0x52e68b[_0x2c0ed8(0x8b)][0x0]||_0x2c0ed8(0x112))+'\x20}');else{const _0x358998=_0x52e68b[_0x2c0ed8(0x8b)]['find'](_0x591afe=>_0x591afe['toLowerCase']()===_0x52e68b['importedSymbol'][_0x2c0ed8(0x9a)]());_0x358998?_0x3203ef[_0x2c0ed8(0xfd)](_0x2c0ed8(0xbd)+_0x358998+'\x22?\x20(case\x20mismatch)'):_0x3203ef['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20export\x20for\x20\x22'+_0x52e68b['importedSymbol']+_0x2c0ed8(0xdc));}}}else _0x3203ef[_0x2c0ed8(0xfd)]('\x20\x20\x20\x20\x20\x20📤\x20No\x20exports\x20found\x20in\x20target\x20file'),_0x3203ef['push'](_0x2c0ed8(0xea)+_0x52e68b[_0x2c0ed8(0x10c)]+'\x20or\x20check\x20if\x20it\x27s\x20the\x20correct\x20file');});}));_0x56c151[_0x1f859a(0x10b)]&&_0x56c151['circularDependencies'][_0x1f859a(0x94)]>0x0&&(_0x3203ef[_0x1f859a(0xfd)](_0x1f859a(0xfb)),_0x3203ef[_0x1f859a(0xfd)]('────────────────────────'),_0x56c151[_0x1f859a(0x10b)][_0x1f859a(0xe5)]((_0x445464,_0x407954)=>{const _0x29ba32=_0x1f859a;_0x3203ef[_0x29ba32(0xfd)](_0x29ba32(0x9e)+(_0x407954+0x1)+':'),_0x445464[_0x29ba32(0xe5)]((_0x33160d,_0x146f25)=>{const _0x529417=_0x29ba32;_0x146f25<_0x445464['length']-0x1&&_0x3203ef[_0x529417(0xfd)](_0x529417(0xaa)+_0x33160d+_0x529417(0xc6)+_0x445464[_0x146f25+0x1]);}),_0x3203ef['push']('\x20\x20\x20\x20💡\x20Fix:\x20Refactor\x20to\x20break\x20the\x20circular\x20dependency');}));_0x56c151[_0x1f859a(0xd0)]&&Object['keys'](_0x56c151[_0x1f859a(0xd0)])['length']>0x0&&(_0x3203ef[_0x1f859a(0xfd)](_0x1f859a(0xd2)),_0x3203ef[_0x1f859a(0xfd)](_0x1f859a(0x85)),Object[_0x1f859a(0xb7)](_0x56c151['unusedExports'])['slice'](0x0,0xa)[_0x1f859a(0xe5)](([_0x5c6304,exports])=>{const _0x5e0e9f=_0x1f859a;_0x3203ef[_0x5e0e9f(0xfd)]('\x0a📄\x20'+_0x5c6304+':'),_0x3203ef[_0x5e0e9f(0xfd)]('\x20\x20\x20Unused:\x20'+exports['join'](',\x20'));}),_0x3203ef[_0x1f859a(0xfd)]('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x3203ef['push']('\x20\x20\x20\x20\x20\x20They\x20might\x20be\x20used\x20by\x20external\x20packages\x20or\x20could\x20be\x20removed'));_0x3203ef['push']('\x0a📋\x20RECOMMENDATIONS'),_0x3203ef[_0x1f859a(0xfd)]('──────────────────');const _0xf94d09=_0x56c151['fileNotFoundImports'][_0x1f859a(0x94)]+Object['values'](_0x56c151['missingExports'])['reduce']((_0x2c85c7,_0x32abb4)=>_0x2c85c7+_0x32abb4[_0x1f859a(0x94)],0x0);return _0xf94d09===0x0?_0x3203ef[_0x1f859a(0xfd)]('\u2705 Your import/export structure looks good!'):(_0x3203ef['push'](_0x1f859a(0xc3)+_0xf94d09+'\x20issue(s)\x20that\x20need\x20attention:'),_0x56c151['fileNotFoundImports'][_0x1f859a(0x94)]>0x0&&_0x3203ef['push'](_0x1f859a(0x90)+_0x56c151[_0x1f859a(0xa5)][_0x1f859a(0x94)]+_0x1f859a(0xca)),Object[_0x1f859a(0x10f)](_0x56c151['missingExports'])[_0x1f859a(0x94)]>0x0&&_0x3203ef[_0x1f859a(0xfd)]('\x20\x202.\x20Resolve\x20'+Object['values'](_0x56c151[_0x1f859a(0x79)])[_0x1f859a(0x104)]((_0x4ab934,_0x4d3859)=>_0x4ab934+_0x4d3859['length'],0x0)+'\x20missing\x20export(s)'),_0x56c151[_0x1f859a(0x10b)]&&_0x56c151[_0x1f859a(0x10b)]['length']>0x0&&_0x3203ef['push'](_0x1f859a(0xf6)+_0x56c151['circularDependencies'][_0x1f859a(0x94)]+_0x1f859a(0xf3))),_0x3203ef[_0x1f859a(0xc2)]('\x0a');}}class ImportExportAnalyzer{constructor(_0x142227,_0x36c566=a0_0x248b1e(0xdb),_0x402700=null){const _0x246e5a=a0_0x248b1e;this['rootDir']=a0_0x1b0a17['resolve'](_0x142227),this[_0x246e5a(0xf2)]=_0x36c566,this['logger']=_0x402700,this['ignorePatterns']=[...ANALYZER_CONFIG['DEFAULT_IGNORE_PATTERNS']],this['imports']=[],this[_0x246e5a(0x115)]=new Map(),this[_0x246e5a(0xa1)]=new Map();}async['loadIgnoreFile'](){const _0x5f23ed=a0_0x248b1e;try{const _0x5160a1=a0_0x1b0a17['join'](this[_0x5f23ed(0xe1)],this[_0x5f23ed(0xf2)]),_0x306b0e=await a0_0x39d946[_0x5f23ed(0x109)](_0x5160a1,_0x5f23ed(0xd1)),_0x596037=_0x306b0e['split']('\x0a')[_0x5f23ed(0x114)](_0x1b4642=>_0x1b4642['trim']())[_0x5f23ed(0x116)](_0x30dcf6=>_0x30dcf6&&!_0x30dcf6['startsWith']('#'));this[_0x5f23ed(0xab)]['push'](..._0x596037),this['logger']?.['debug'](_0x5f23ed(0x87),{'count':_0x596037[_0x5f23ed(0x94)]});}catch{this['logger']?.['debug']('No ignore file found, using defaults');}}['shouldIgnoreFile'](_0x45ef54){const _0x1345e2=a0_0x248b1e,_0x18e23f=a0_0x1b0a17['relative'](this['rootDir'],_0x45ef54);return this['ignorePatterns'][_0x1345e2(0xe9)](_0x3b3e9f=>{const _0x45fc72=_0x1345e2;if(_0x3b3e9f[_0x45fc72(0x103)]('*')){const _0x3c74f9=new RegExp(_0x3b3e9f[_0x45fc72(0x82)](/\*/g,'.*'));return _0x3c74f9[_0x45fc72(0x7f)](_0x18e23f)||_0x3c74f9['test'](a0_0x1b0a17[_0x45fc72(0xf9)](_0x45ef54));}return _0x18e23f['includes'](_0x3b3e9f)||a0_0x1b0a17[_0x45fc72(0xf9)](_0x45ef54)===_0x3b3e9f;});}async['getAllFiles'](_0x5bb440){const _0x109d43=a0_0x248b1e,_0x1278ce=[],_0x1f0b14=async _0x31022c=>{const _0x503b18=a0_0x27ed;try{const _0x5f0a7c=await a0_0x39d946[_0x503b18(0xbf)](_0x31022c,{'withFileTypes':!![]});for(const _0x3e47e4 of _0x5f0a7c){const _0x1f08cb=a0_0x1b0a17['join'](_0x31022c,_0x3e47e4['name']);if(this['shouldIgnoreFile'](_0x1f08cb))continue;if(_0x3e47e4['isDirectory']())await _0x1f0b14(_0x1f08cb);else{if(_0x3e47e4[_0x503b18(0xb3)]()){const _0x465480=a0_0x1b0a17[_0x503b18(0xb1)](_0x3e47e4[_0x503b18(0x7b)]);ANALYZER_CONFIG[_0x503b18(0x10e)]['includes'](_0x465480)&&_0x1278ce['push'](_0x1f08cb);}}}}catch(_0x401051){this['logger']?.['warn'](_0x503b18(0x10d),{'dir':_0x31022c,'error':_0x401051[_0x503b18(0xd6)]});}};await _0x1f0b14(_0x5bb440);if(_0x1278ce['length']>ANALYZER_CONFIG['MAX_FILES']){this['logger']?.['warn'](_0x109d43(0xa8)+_0x1278ce['length']+'\x20>\x20'+ANALYZER_CONFIG['MAX_FILES']);throw new Error('Too\x20many\x20files\x20to\x20analyze:\x20'+_0x1278ce['length']+'\x20(max:\x20'+ANALYZER_CONFIG[_0x109d43(0xfa)]+')');}return _0x1278ce;}async[a0_0x248b1e(0x107)](_0x21d442,_0x1a2dec){const _0x26a95f=a0_0x248b1e,imports=[],_0x16a40f=_0x21d442[_0x26a95f(0xaf)]('\x0a'),_0x32502e=this[_0x26a95f(0x84)](_0x1a2dec);!this[_0x26a95f(0xa1)]['has'](_0x32502e)&&this[_0x26a95f(0xa1)]['set'](_0x32502e,new Set());for(let _0x400bc1=0x0;_0x400bc1<_0x16a40f['length'];_0x400bc1++){const _0x3b43e2=_0x16a40f[_0x400bc1][_0x26a95f(0x118)]();if(_0x3b43e2['startsWith']('//')||_0x3b43e2[_0x26a95f(0xde)]('/*'))continue;let _0x42a930=_0x3b43e2,_0x5c1bed=_0x400bc1;while(!_0x42a930['includes'](';')&&!_0x42a930['match'](/from\s+['"`][^'"`]+['"`]/)&&_0x5c1bed<_0x16a40f['length']-0x1){_0x5c1bed++;const _0x3a71de=_0x16a40f[_0x5c1bed][_0x26a95f(0x118)]();if(_0x3a71de[_0x26a95f(0xde)]('//')||_0x3a71de[_0x26a95f(0xde)]('/*'))continue;_0x42a930+='\x20'+_0x3a71de;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0xa8f412;while((_0xa8f412=importRegex[_0x26a95f(0xb0)](_0x42a930))!==null){const [,_0x27f70d,defaultImport,_0x4fcaba,_0x51fa16,_0x534a6b]=_0xa8f412,_0x1fefa1=await this['resolveImportPath'](_0x534a6b,_0x1a2dec);!_0x1fefa1[_0x26a95f(0xae)]&&_0x1fefa1[_0x26a95f(0xe0)]&&this['dependencies'][_0x26a95f(0xe2)](_0x32502e)['add'](_0x1fefa1['path']);defaultImport&&imports['push']({'importingFile':_0x32502e,'importedSymbol':defaultImport[_0x26a95f(0x118)](),'importedFromFile':_0x1fefa1[_0x26a95f(0xb6)],'fileExists':_0x1fefa1['exists'],'isExternal':_0x1fefa1['isExternal']||![],'isDefault':!![]});_0x51fa16&&imports[_0x26a95f(0xfd)]({'importingFile':_0x32502e,'importedSymbol':_0x51fa16[_0x26a95f(0x118)](),'importedFromFile':_0x1fefa1[_0x26a95f(0xb6)],'fileExists':_0x1fefa1['exists'],'isExternal':_0x1fefa1[_0x26a95f(0xae)]||![],'isNamespace':!![]});const _0x474bf4=[_0x27f70d,_0x4fcaba]['filter'](Boolean)['join'](',');if(_0x474bf4){const _0x21e0d5=_0x474bf4['split'](',')[_0x26a95f(0x114)](_0x32f157=>{const _0x485946=_0x26a95f,_0xa297c6=_0x32f157[_0x485946(0x118)]()[_0x485946(0xaf)](/\s+as\s+/);return _0xa297c6[0x0]['trim']();});_0x21e0d5[_0x26a95f(0xe5)](_0xb9e141=>{const _0xa0cc09=_0x26a95f;_0xb9e141&&imports['push']({'importingFile':_0x32502e,'importedSymbol':_0xb9e141,'importedFromFile':_0x1fefa1[_0xa0cc09(0xb6)],'fileExists':_0x1fefa1[_0xa0cc09(0xe0)],'isExternal':_0x1fefa1[_0xa0cc09(0xae)]||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0xa8f412=requireRegex['exec'](_0x42a930))!==null){const [,_0x579a92,_0x2d5351,_0x38ab69]=_0xa8f412,_0x8d01db=await this[_0x26a95f(0xfc)](_0x38ab69,_0x1a2dec);!_0x8d01db[_0x26a95f(0xae)]&&_0x8d01db[_0x26a95f(0xe0)]&&this[_0x26a95f(0xa1)][_0x26a95f(0xe2)](_0x32502e)[_0x26a95f(0xa7)](_0x8d01db['path']);if(_0x579a92){const _0x4a021f=_0x579a92[_0x26a95f(0xaf)](',')[_0x26a95f(0x114)](_0x598ae8=>_0x598ae8['trim']()[_0x26a95f(0xaf)](':')[0x0]['trim']());_0x4a021f[_0x26a95f(0xe5)](_0x34fdd3=>{const _0x476368=_0x26a95f;_0x34fdd3&&imports[_0x476368(0xfd)]({'importingFile':_0x32502e,'importedSymbol':_0x34fdd3,'importedFromFile':_0x8d01db[_0x476368(0xb6)],'fileExists':_0x8d01db[_0x476368(0xe0)],'isExternal':_0x8d01db['isExternal']||![],'isDefault':![]});});}else _0x2d5351&&imports['push']({'importingFile':_0x32502e,'importedSymbol':_0x2d5351['trim'](),'importedFromFile':_0x8d01db[_0x26a95f(0xb6)],'fileExists':_0x8d01db['exists'],'isExternal':_0x8d01db['isExternal']||![],'isDefault':!![]});}_0x400bc1=_0x5c1bed;}return imports;}['parseExports'](_0xa9b5a7){const _0x28011e=a0_0x248b1e,exports=new Set(),_0x1bca22=_0xa9b5a7[_0x28011e(0xaf)]('\x0a');for(const _0x1d7f16 of _0x1bca22){const _0xea9862=_0x1d7f16['trim']();if(_0xea9862[_0x28011e(0xde)]('//')||_0xea9862['startsWith']('/*'))continue;/export\s+default\s+/['test'](_0xea9862)&&exports[_0x28011e(0xa7)]('default');const _0x376479=_0xea9862[_0x28011e(0xc9)](/export\s+\{([^}]+)\}/);if(_0x376479){const _0x1fecab=_0x376479[0x1]['split'](',')[_0x28011e(0x114)](_0x1f6b25=>{const _0x5cbdd3=_0x28011e,_0x19084e=_0x1f6b25[_0x5cbdd3(0x118)]()['split'](/\s+as\s+/);return _0x19084e[_0x19084e[_0x5cbdd3(0x94)]-0x1][_0x5cbdd3(0x118)]();});_0x1fecab['forEach'](_0x37112e=>exports[_0x28011e(0xa7)](_0x37112e));}const _0x390d5e=_0xea9862[_0x28011e(0xc9)](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x390d5e&&exports['add'](_0x390d5e[0x1]);const exportFromMatch=_0xea9862['match'](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0x5c82a0=exportFromMatch[0x1]['split'](',')[_0x28011e(0x114)](_0x599413=>{const _0x54b380=_0x28011e,_0x2dffcf=_0x599413[_0x54b380(0x118)]()['split'](/\s+as\s+/);return _0x2dffcf[_0x2dffcf[_0x54b380(0x94)]-0x1][_0x54b380(0x118)]();});_0x5c82a0['forEach'](_0x5a2683=>exports[_0x28011e(0xa7)](_0x5a2683));}/export\s+\*\s+from/[_0x28011e(0x7f)](_0xea9862)&&exports[_0x28011e(0xa7)]('*');const moduleExportsMatch=_0xea9862[_0x28011e(0xc9)](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x23b421=moduleExportsMatch[0x1]['split'](',')[_0x28011e(0x114)](_0x41560a=>{const _0x3e53b4=_0x28011e,_0xe611c8=_0x41560a[_0x3e53b4(0x118)]()[_0x3e53b4(0xaf)](':');return _0xe611c8[0x0][_0x3e53b4(0x118)]();});_0x23b421[_0x28011e(0xe5)](_0x33a83d=>exports[_0x28011e(0xa7)](_0x33a83d));}/module\.exports\s*=\s*[^{]/['test'](_0xea9862)&&exports[_0x28011e(0xa7)]('default');const moduleExportsPropMatch=_0xea9862['match'](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports['add'](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0xea9862[_0x28011e(0xc9)](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports[_0x28011e(0xa7)](exportsPropMatch[0x1]);}return exports;}async['resolveImportPath'](importPath,_0x38e255){const _0x2d59aa=a0_0x248b1e;if(importPath['startsWith']('.')){const _0x44839d=a0_0x1b0a17[_0x2d59aa(0x108)](_0x38e255),_0x1724ed=a0_0x1b0a17[_0x2d59aa(0xc4)](_0x44839d,importPath);if(a0_0x1b0a17[_0x2d59aa(0xb1)](importPath))try{const _0x999530=await a0_0x39d946['stat'](_0x1724ed);if(_0x999530['isFile']())return{'path':this[_0x2d59aa(0x84)](_0x1724ed),'exists':!![]};}catch{}const _0x340b30=['','.js',_0x2d59aa(0xdf),_0x2d59aa(0x117),_0x2d59aa(0xf5),_0x2d59aa(0x11a),_0x2d59aa(0x100),_0x2d59aa(0xc1),_0x2d59aa(0xbe),_0x2d59aa(0xbc)];for(const _0x1d25e7 of _0x340b30){const _0x316f7d=_0x1724ed+_0x1d25e7;try{const _0x12aefa=await a0_0x39d946['stat'](_0x316f7d);if(_0x12aefa['isFile']())return{'path':this[_0x2d59aa(0x84)](_0x316f7d),'exists':!![]};}catch{}}return{'path':this['getRelativePath'](_0x1724ed),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}[a0_0x248b1e(0x84)](_0x3e7255){const _0x3fb9c2=a0_0x248b1e;return a0_0x1b0a17[_0x3fb9c2(0x96)](this['rootDir'],_0x3e7255)[_0x3fb9c2(0x82)](/\\/g,'/');}['findCircularDependencies'](){const _0x336d2f=[],_0x19df69=new Set(),_0x31a93f=new Set(),_0x410cc3=(_0x2964ef,_0x68fd8c=[])=>{const _0x5804ac=a0_0x27ed;if(_0x31a93f[_0x5804ac(0x11b)](_0x2964ef)){const _0x508118=_0x68fd8c['indexOf'](_0x2964ef);_0x508118!==-0x1&&_0x336d2f[_0x5804ac(0xfd)]([..._0x68fd8c['slice'](_0x508118),_0x2964ef]);return;}if(_0x19df69[_0x5804ac(0x11b)](_0x2964ef))return;_0x19df69['add'](_0x2964ef),_0x31a93f[_0x5804ac(0xa7)](_0x2964ef),_0x68fd8c['push'](_0x2964ef);const _0x22ccca=this['dependencies']['get'](_0x2964ef)||new Set();for(const _0xb328f9 of _0x22ccca){_0x410cc3(_0xb328f9,[..._0x68fd8c]);}_0x31a93f['delete'](_0x2964ef);};for(const _0x2b2219 of this['dependencies']['keys']()){!_0x19df69['has'](_0x2b2219)&&_0x410cc3(_0x2b2219);}return _0x336d2f;}[a0_0x248b1e(0xa2)](){const _0x27ecb2=a0_0x248b1e,_0xee48b1=new Map();for(const _0x482317 of this['imports']){!_0x482317[_0x27ecb2(0xae)]&&(!_0xee48b1['has'](_0x482317['importedFromFile'])&&_0xee48b1['set'](_0x482317[_0x27ecb2(0x10c)],new Set()),_0xee48b1[_0x27ecb2(0xe2)](_0x482317['importedFromFile'])[_0x27ecb2(0xa7)](_0x482317['importedSymbol']));}const _0x221068={};for(const [_0x25704e,exports]of this['exports'][_0x27ecb2(0xb7)]()){const _0x49b265=_0xee48b1[_0x27ecb2(0xe2)](_0x25704e)||new Set(),_0xdd6831=Array['from'](exports)[_0x27ecb2(0x116)](_0x316d89=>!_0x49b265['has'](_0x316d89)&&_0x316d89!=='*');_0xdd6831['length']>0x0&&(_0x221068[_0x25704e]=_0xdd6831);}return _0x221068;}async[a0_0x248b1e(0xa6)](_0x321c39=a0_0x248b1e(0x86)){const _0x17a775=a0_0x248b1e;this['logger']?.['info']('Starting import analysis',{'mode':_0x321c39,'rootDir':this[_0x17a775(0xe1)]}),await this[_0x17a775(0xa9)]();const _0x23a4ba=await this['getAllFiles'](this[_0x17a775(0xe1)]);this[_0x17a775(0xe4)]?.[_0x17a775(0x105)](_0x17a775(0x8e),{'count':_0x23a4ba[_0x17a775(0x94)]});for(const _0x506578 of _0x23a4ba){try{const _0x138c4c=await a0_0x39d946['readFile'](_0x506578,'utf-8'),_0x1a6f09=this[_0x17a775(0x84)](_0x506578),_0x506229=await this['parseImports'](_0x138c4c,_0x506578);this['imports']['push'](..._0x506229);const _0x5869a8=this['parseExports'](_0x138c4c);this[_0x17a775(0x115)]['set'](_0x1a6f09,_0x5869a8);}catch(_0x23538b){this['logger']?.[_0x17a775(0xf1)](_0x17a775(0x80),{'file':_0x506578,'error':_0x23538b[_0x17a775(0xd6)]});}}this[_0x17a775(0xe4)]?.['info']('Parsed\x20all\x20files',{'imports':this['imports'][_0x17a775(0x94)],'exports':this['exports'][_0x17a775(0xed)]});const _0x494f94={'summary':{'totalFiles':_0x23a4ba[_0x17a775(0x94)],'totalImports':this[_0x17a775(0xe8)]['length'],'totalExports':Array[_0x17a775(0xc7)](this[_0x17a775(0x115)]['values']())[_0x17a775(0x104)]((_0x457d78,exports)=>_0x457d78+exports['size'],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this['imports']){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0xeee0ef,isNamespace:_0x8f995e,fileExists:_0x2830dd,isExternal:_0x5788c8}=importEntry;if(!_0x2830dd&&!_0x5788c8){_0x494f94['fileNotFoundImports'][_0x17a775(0xfd)]({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0xeee0ef||![],'isNamespace':_0x8f995e||![]});!_0x494f94['missingFiles'][importingFile]&&(_0x494f94['missingFiles'][importingFile]=[]);_0x494f94[_0x17a775(0xc5)][importingFile]['push']({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0xeee0ef||![],'isNamespace':_0x8f995e||![]});continue;}if(_0x5788c8)continue;const exportingFileExports=this[_0x17a775(0x115)][_0x17a775(0xe2)](importedFromFile);let _0x2a982f=![];if(exportingFileExports){if(_0x8f995e)_0x2a982f=exportingFileExports['size']>0x0;else _0xeee0ef?_0x2a982f=exportingFileExports[_0x17a775(0x11b)]('default'):_0x2a982f=exportingFileExports['has'](importedSymbol)||exportingFileExports[_0x17a775(0x11b)]('*');}!_0x2a982f&&(!_0x494f94[_0x17a775(0x79)][importingFile]&&(_0x494f94[_0x17a775(0x79)][importingFile]=[]),_0x494f94[_0x17a775(0x79)][importingFile]['push']({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array['from'](exportingFileExports):[],'isDefault':_0xeee0ef||![],'isNamespace':_0x8f995e||![]}));}return(_0x321c39==='full'||_0x321c39==='fix')&&(this['logger']?.[_0x17a775(0x105)]('Running\x20full\x20analysis'),_0x494f94[_0x17a775(0x10b)]=this['findCircularDependencies'](),_0x494f94['unusedExports']=this[_0x17a775(0xa2)]()),this[_0x17a775(0xe4)]?.['info'](_0x17a775(0xf7),{'missingFiles':_0x494f94['fileNotFoundImports']['length'],'missingExports':Object['keys'](_0x494f94[_0x17a775(0x79)])[_0x17a775(0x94)]}),_0x494f94;}}export default ImportAnalyzerTool;
@@ -1 +1 @@
1
- const a0_0x48908f=a0_0x28ff;function a0_0x28ff(_0x49ee2c,_0x3138fe){_0x49ee2c=_0x49ee2c-0xaa;const _0x4b4585=a0_0x4b45();let _0x28ff9f=_0x4b4585[_0x49ee2c];if(a0_0x28ff['BrRkZw']===undefined){var _0x274149=function(_0x39a9a7){const _0x39e900='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41016f='',_0x9239ec='';for(let _0x4393e3=0x0,_0x50ffbe,_0x28998a,_0x3baa1d=0x0;_0x28998a=_0x39a9a7['charAt'](_0x3baa1d++);~_0x28998a&&(_0x50ffbe=_0x4393e3%0x4?_0x50ffbe*0x40+_0x28998a:_0x28998a,_0x4393e3++%0x4)?_0x41016f+=String['fromCharCode'](0xff&_0x50ffbe>>(-0x2*_0x4393e3&0x6)):0x0){_0x28998a=_0x39e900['indexOf'](_0x28998a);}for(let _0x24dcf6=0x0,_0x534cf1=_0x41016f['length'];_0x24dcf6<_0x534cf1;_0x24dcf6++){_0x9239ec+='%'+('00'+_0x41016f['charCodeAt'](_0x24dcf6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9239ec);};a0_0x28ff['crCXjr']=_0x274149,a0_0x28ff['wJPwwe']={},a0_0x28ff['BrRkZw']=!![];}const _0x142516=_0x4b4585[0x0],_0x2c19b8=_0x49ee2c+_0x142516,_0x35d2e2=a0_0x28ff['wJPwwe'][_0x2c19b8];return!_0x35d2e2?(_0x28ff9f=a0_0x28ff['crCXjr'](_0x28ff9f),a0_0x28ff['wJPwwe'][_0x2c19b8]=_0x28ff9f):_0x28ff9f=_0x35d2e2,_0x28ff9f;}function a0_0x4b45(){const _0xcb4d21=['zgvZy3jPChrPB24','mZeWodyWEwDYwg11','C3rYAw5N','mJK1ntzVBxzIthq','mJq5yKDTuw91','BwvZC2fNzq','mtu3mdrMzMjyy3G','DhjPBq','Dg9VBhnszwDPC3rYEq','q29TCgXLDgLVBIbZDw1Tyxj5igLZihjLCxvPCMvK','Dw5RBM93BG','mtqZnuT0qu5sBq','yxjYyxK','ntG3n1rZz2nMuq','B2jQzwn0','nJu0ngzuwuTUDa','u2v0ihrVihrYDwuGAwyGDgfZAYbJB21WBgv0zwqGC3vJy2vZC2z1BgX5lcbMywXZzsbPzIbZDhvJAY9MywLSzwqGB3iGCgfYDgLHBcbJB21WBgv0Aw9U','z2v0rgvZy3jPChrPB24','twfYAYb0yxnRigfZignVBxbSzxrLic0GywX3yxLZihvZzsaIy29TCgXLDguI','zgv0ywLSCW','z2v0qwDLBNq','C3vJy2vZCW','y29TCgXLDgu','mJzpuvHcD2C','ywn0Aw9UCW','q2fSBcb0AgLZihrVB2WGD2HLBIb5B3uGAgf2zsbZDwnJzxnZzNvSBhKGy29TCgXLDgvKihrOzsbHC3nPz25Lzcb0yxnRlcbpuIbPzIb5B3uGyxjLihn0DwnRl3vUywjSzsb0BYbWCM9JzwvKigfMDgvYig11BhrPCgXLigzHAwXLzcbHDhrLBxb0CY4GuhjVDMLKzsbHihn1Bw1HCNKGB2yGD2HHDcb3yxmGywnJB21WBgLZAgvKig9YihDOyxqGChjLDMvUDgvKignVBxbSzxrPB24UifrOAxmGD2LSBcbLEgL0igf1Dg9UB21VDxmGBw9KzsbHBMqGCMv0DxjUignVBNrYB2WGDg8GDgHLihvZzxiU','vgfZAYbJB21WBgv0zwq','qwn0Aw9UCYbHCNjHEsbPCYbYzxf1AxjLza','ywn0Aw9U','cGOQkKrLDgfPBhm6kIOG','yxn5BMm','zxH0CMfJDenVBNrLBNq','rMfPBgvKihrVig1HCMSGDgfZAYbHCYbJB21WBgv0ztOG','nJC3mtC2me5twe14wq','odKZodu4nfzKuffduG','Dg9mB3DLCKnHC2u','y2fWywjPBgL0AwvZ','cGOQqxv0B25VBw91CYbTB2rLihDPBgWGBM93igv4AxqUkG','C3vTBwfYEq','ywDLBNrqB29S','mZyWvvLOvu9L','BMfTzq','DMvYC2LVBG','BgvUz3rO','mZfhu3ruq3e','z2v0q2fWywjPBgL0AwvZ','mZiXmJHMrwDXy3i'];a0_0x4b45=function(){return _0xcb4d21;};return a0_0x4b45();}(function(_0x42979a,_0x3be648){const _0xbfed23=a0_0x28ff,_0x6a6f6e=_0x42979a();while(!![]){try{const _0x459706=-parseInt(_0xbfed23(0xc9))/0x1*(parseInt(_0xbfed23(0xcb))/0x2)+parseInt(_0xbfed23(0xd0))/0x3*(-parseInt(_0xbfed23(0xac))/0x4)+-parseInt(_0xbfed23(0xbe))/0x5+-parseInt(_0xbfed23(0xcf))/0x6*(parseInt(_0xbfed23(0xd7))/0x7)+-parseInt(_0xbfed23(0xd2))/0x8*(-parseInt(_0xbfed23(0xaa))/0x9)+parseInt(_0xbfed23(0xc5))/0xa*(parseInt(_0xbfed23(0xcd))/0xb)+parseInt(_0xbfed23(0xbf))/0xc*(parseInt(_0xbfed23(0xb4))/0xd);if(_0x459706===_0x3be648)break;else _0x6a6f6e['push'](_0x6a6f6e['shift']());}catch(_0x3b5368){_0x6a6f6e['push'](_0x6a6f6e['shift']());}}}(a0_0x4b45,0xc11e1));import{BaseTool}from'./baseTool.js';import a0_0x41016f from'../utilities/tagParser.js';class JobDoneTool extends BaseTool{constructor(){const _0x1e698b=a0_0x28ff;super(),this['id']='jobdone',this[_0x1e698b(0xc6)]='Job\x20Done',this[_0x1e698b(0xcc)]=_0x1e698b(0xb6),this[_0x1e698b(0xc7)]='1.0.0',this[_0x1e698b(0xc1)]=['task-completion','mode-control'],this['requiresProject']=![],this[_0x1e698b(0xbb)]=![];}[a0_0x48908f(0xae)](){const _0xf22520=a0_0x48908f;return'\x0aJob\x20Done\x20Tool:\x20Signal\x20task\x20completion\x20in\x20autonomous\x20mode\x20and\x20exit\x20to\x20chat\x20mode.\x0a\x0aUsage\x20Instructions:\x0a-\x20Call\x20this\x20tool\x20when\x20you\x20have\x20SUCCESSFULLY\x20completed\x20the\x20assigned\x20task\x0a-\x20Also\x20call\x20this\x20tool\x20if\x20you\x20are\x20STUCK\x20or\x20UNABLE\x20to\x20proceed\x20after\x20multiple\x20failed\x20attempts\x0a-\x20Provide\x20a\x20clear\x20summary\x20of\x20what\x20was\x20accomplished\x20OR\x20what\x20prevented\x20completion\x0a-\x20This\x20will\x20immediately\x20exit\x20autonomous\x20mode\x20and\x20return\x20control\x20to\x20the\x20user\x0a\x0aExamples:\x0a-\x20\x22Created\x205\x20song\x20files\x20successfully\x20with\x20lyrics\x20and\x20melodies\x22\x0a-\x20\x22Unable\x20to\x20proceed:\x20missing\x20API\x20credentials\x20for\x20the\x20service\x22\x0a-\x20\x22Stuck\x20after\x203\x20failed\x20compilation\x20attempts\x20-\x20syntax\x20errors\x20persist\x22\x0a-\x20\x22Task\x20partially\x20complete:\x20implemented\x202\x20of\x203\x20requested\x20features\x22\x0a\x0aThe\x20tool\x20will\x20format\x20a\x20completion\x20message\x20and\x20gracefully\x20exit\x20autonomous\x20mode.\x0a\x20\x20\x20\x20'[_0xf22520(0xd3)]();}['parseParameters'](_0x9239ec){const _0x2113df=a0_0x48908f;try{const _0x4393e3=a0_0x41016f[_0x2113df(0xbc)](_0x9239ec,'summary'),_0x50ffbe=a0_0x41016f[_0x2113df(0xbc)](_0x9239ec,_0x2113df(0xb0)),_0x28998a=a0_0x41016f['extractContent'](_0x9239ec,_0x2113df(0xb2));let _0x3baa1d='',_0x24dcf6='',_0x534cf1=!![];return _0x4393e3['length']>0x0?(_0x3baa1d=_0x4393e3[0x0][_0x2113df(0xd3)](),_0x24dcf6=_0x50ffbe[_0x2113df(0xc8)]>0x0?_0x50ffbe[0x0]['trim']():'',_0x534cf1=_0x28998a[_0x2113df(0xc8)]>0x0?_0x28998a[0x0][_0x2113df(0xc0)]()!=='false':!![]):_0x3baa1d=_0x9239ec[_0x2113df(0xd3)]()||'Task\x20completed',{'actions':[{'action':'complete','summary':_0x3baa1d,'success':_0x534cf1,'details':_0x24dcf6||undefined}]};}catch(_0x4eff99){return{'actions':[{'action':'complete','summary':_0x9239ec[_0x2113df(0xd3)]()||_0x2113df(0xb7),'success':!![]}]};}}['getSchema'](){const _0x327e08=a0_0x48908f;return{'type':'object','properties':{'actions':{'type':_0x327e08(0xd8),'items':{'type':_0x327e08(0xab),'properties':{'action':{'type':_0x327e08(0xce),'enum':[_0x327e08(0xb3)],'description':_0x327e08(0xaf)},'summary':{'type':_0x327e08(0xce),'description':'Clear\x20summary\x20of\x20what\x20you\x20accomplished\x20OR\x20what\x20prevented\x20completion\x20(e.g.,\x20\x22Created\x205\x20song\x20files\x20successfully\x22,\x20\x22Unable\x20to\x20proceed:\x20missing\x20API\x20credentials\x22,\x20\x22Stuck\x20after\x203\x20failed\x20compilation\x20attempts\x22)'},'success':{'type':'boolean','default':!![],'description':_0x327e08(0xad)},'details':{'type':_0x327e08(0xce),'description':'Optional:\x20Additional\x20details\x20about\x20what\x20was\x20done,\x20what\x20failed,\x20any\x20files\x20created,\x20or\x20next\x20steps\x20for\x20the\x20user'}},'required':['action','summary'],'additionalProperties':![]},'minItems':0x1,'maxItems':0x1}},'required':[_0x327e08(0xb5)],'additionalProperties':![]};}async['execute'](_0x1841ed,_0x292ee6={}){const _0x16894a=a0_0x48908f;try{const {actions:_0x273f30}=_0x1841ed;if(!_0x273f30||!Array['isArray'](_0x273f30)||_0x273f30[_0x16894a(0xc8)]===0x0)throw new Error(_0x16894a(0xb8));const _0x4bd6a1=_0x273f30[0x0];if(_0x4bd6a1[_0x16894a(0xb9)]!=='complete')throw new Error('Invalid\x20action.\x20Only\x20\x22complete\x22\x20is\x20supported');if(!_0x4bd6a1[_0x16894a(0xc3)])throw new Error(_0x16894a(0xd5));const _0x3e2dc3=_0x292ee6['agentId'];let _0x12b9ca='';if(_0x3e2dc3&&_0x292ee6[_0x16894a(0xd4)])try{if(this[_0x16894a(0xc4)]){const _0x4912e9=await this[_0x16894a(0xc4)][_0x16894a(0xb1)](_0x3e2dc3);_0x4912e9&&(_0x12b9ca='\x20by\x20agent\x20\x22'+_0x4912e9['name']+'\x22');}}catch(_0x55b922){}const _0x9be4a5='✅\x20Task\x20completed'+_0x12b9ca+(_0x4bd6a1[_0x16894a(0xb2)]!==![]?'\x20successfully':'\x20with\x20issues')+'\x0a\x0a**Summary:**\x20'+_0x4bd6a1[_0x16894a(0xc3)]+(_0x4bd6a1[_0x16894a(0xb0)]?_0x16894a(0xba)+_0x4bd6a1[_0x16894a(0xb0)]:'')+_0x16894a(0xc2);return{'success':!![],'output':_0x9be4a5,'taskComplete':!![],'summary':_0x4bd6a1[_0x16894a(0xc3)],'details':_0x4bd6a1['details']||null,'successfulCompletion':_0x4bd6a1['success']!==![],'metadata':{'toolId':this['id'],'agentId':_0x3e2dc3||_0x16894a(0xd6),'completedAt':new Date()['toISOString'](),'action':_0x4bd6a1['action']}};}catch(_0x43054b){return{'success':![],'error':_0x43054b['message'],'output':_0x16894a(0xbd)+_0x43054b[_0x16894a(0xd1)],'taskComplete':![]};}}['setAgentPool'](_0x1e4b29){this['agentPool']=_0x1e4b29;}[a0_0x48908f(0xca)](){const _0x45a456=a0_0x48908f;return{'id':this['id'],'name':this[_0x45a456(0xc6)],'description':this['description'],'version':this[_0x45a456(0xc7)],'capabilities':this[_0x45a456(0xc1)],'requiresProject':this['requiresProject'],'async':this[_0x45a456(0xbb)],'enabled':!![],'schema':this['getSchema']()};}}export default JobDoneTool;
1
+ const a0_0x93ac29=a0_0x10ae;(function(_0x458a8f,_0x59d5ac){const _0x39906f=a0_0x10ae,_0xbc3e0f=_0x458a8f();while(!![]){try{const _0x3f1f2c=parseInt(_0x39906f(0x1b0))/0x1+parseInt(_0x39906f(0x1af))/0x2*(parseInt(_0x39906f(0x1a7))/0x3)+parseInt(_0x39906f(0x1a4))/0x4*(-parseInt(_0x39906f(0x1b2))/0x5)+parseInt(_0x39906f(0x18c))/0x6+-parseInt(_0x39906f(0x1aa))/0x7*(parseInt(_0x39906f(0x1ab))/0x8)+-parseInt(_0x39906f(0x19d))/0x9*(parseInt(_0x39906f(0x19f))/0xa)+parseInt(_0x39906f(0x1a1))/0xb*(parseInt(_0x39906f(0x18e))/0xc);if(_0x3f1f2c===_0x59d5ac)break;else _0xbc3e0f['push'](_0xbc3e0f['shift']());}catch(_0x179a7f){_0xbc3e0f['push'](_0xbc3e0f['shift']());}}}(a0_0x3346,0xc5024));import{BaseTool}from'./baseTool.js';function a0_0x3346(){const _0x47113a=['C3vJy2vZCW','yxn5BMm','ywDLBNrjza','sM9IierVBMu','C2v0qwDLBNrqB29S','y2fWywjPBgL0AwvZ','ywDLBNrqB29S','DMvYC2LVBG','ywn0Aw9UCW','Dg9VBhnszwDPC3rYEq','owXirNfmCG','zgvZy3jPChrPB24','mtq0nZqWmJbqvKrXB2W','4PYfifrHC2SGy29TCgXLDgvK','odu3nduWmgDJD2X1uG','y29TCgXLDgu','C3rYAw5N','mZe5ndy2ngPkEvndyq','CMvXDwLYzxnqCM9Qzwn0','u2v0ihrVihrYDwuGAwyGDgfZAYbJB21WBgv0zwqGC3vJy2vZC2z1BgX5lcbMywXZzsbPzIbZDhvJAY9MywLSzwqGB3iGCgfYDgLHBcbJB21WBgv0Aw9U','mJe1n3DpyLLjAW','ywn0Aw9U','Dg9ju09tDhjPBMC','mtiZndm4v0XKAMHy','nJmYqxvNDgfL','BMfTzq','yM9VBgvHBG','cGOQqxv0B25VBw91CYbTB2rLihDPBgWGBM93igv4AxqUkG','ntGWzhLYDxjv','mtiYnJuYmuTHt1LkDq','z2v0rgvZy3jPChrPB24','nw15BgfRva','DhjPBq','zxH0CMfJDenVBNrLBNq','Dw5RBM93BG','AxnbCNjHEq','odCXmJqYnMXSr3DHwG','CgfYC2vqyxjHBwv0zxjZ','mJrNrwP6q2m','C3vTBwfYEq','zgv0ywLSCW','BwvZC2fNzq','vgfZAYbJB21WBgv0zwq'];a0_0x3346=function(){return _0x47113a;};return a0_0x3346();}function a0_0x10ae(_0x3e5fe2,_0x3d0a72){_0x3e5fe2=_0x3e5fe2-0x188;const _0x334683=a0_0x3346();let _0x10ae7c=_0x334683[_0x3e5fe2];if(a0_0x10ae['yAhHDS']===undefined){var _0x5f22ba=function(_0x51e2b3){const _0x4fc1e0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fa2e7='',_0x287c06='';for(let _0x4d2386=0x0,_0x17ab11,_0x46cdc6,_0x3e5ef9=0x0;_0x46cdc6=_0x51e2b3['charAt'](_0x3e5ef9++);~_0x46cdc6&&(_0x17ab11=_0x4d2386%0x4?_0x17ab11*0x40+_0x46cdc6:_0x46cdc6,_0x4d2386++%0x4)?_0x3fa2e7+=String['fromCharCode'](0xff&_0x17ab11>>(-0x2*_0x4d2386&0x6)):0x0){_0x46cdc6=_0x4fc1e0['indexOf'](_0x46cdc6);}for(let _0x731dd6=0x0,_0xec7c32=_0x3fa2e7['length'];_0x731dd6<_0xec7c32;_0x731dd6++){_0x287c06+='%'+('00'+_0x3fa2e7['charCodeAt'](_0x731dd6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x287c06);};a0_0x10ae['xulcgf']=_0x5f22ba,a0_0x10ae['mMLuqD']={},a0_0x10ae['yAhHDS']=!![];}const _0x1f8582=_0x334683[0x0],_0x3ea8e8=_0x3e5fe2+_0x1f8582,_0x46c413=a0_0x10ae['mMLuqD'][_0x3ea8e8];return!_0x46c413?(_0x10ae7c=a0_0x10ae['xulcgf'](_0x10ae7c),a0_0x10ae['mMLuqD'][_0x3ea8e8]=_0x10ae7c):_0x10ae7c=_0x46c413,_0x10ae7c;}import a0_0x3fa2e7 from'../utilities/tagParser.js';class JobDoneTool extends BaseTool{constructor(){const _0x30c790=a0_0x10ae;super(),this['id']='jobdone',this['name']=_0x30c790(0x196),this[_0x30c790(0x19e)]='Call\x20this\x20tool\x20when\x20you\x20have\x20successfully\x20completed\x20the\x20assigned\x20task,\x20OR\x20if\x20you\x20are\x20stuck/unable\x20to\x20proceed\x20after\x20multiple\x20failed\x20attempts.\x20Provide\x20a\x20summary\x20of\x20what\x20was\x20accomplished\x20or\x20what\x20prevented\x20completion.\x20This\x20will\x20exit\x20autonomous\x20mode\x20and\x20return\x20control\x20to\x20the\x20user.',this[_0x30c790(0x19a)]='1.0.0',this[_0x30c790(0x198)]=['task-completion','mode-control'],this[_0x30c790(0x1a5)]=![],this[_0x30c790(0x194)]=![];}[a0_0x93ac29(0x1b1)](){const _0x173078=a0_0x93ac29;return'\x0aJob\x20Done\x20Tool:\x20Signal\x20task\x20completion\x20in\x20autonomous\x20mode\x20and\x20exit\x20to\x20chat\x20mode.\x0a\x0aUsage\x20Instructions:\x0a-\x20Call\x20this\x20tool\x20when\x20you\x20have\x20SUCCESSFULLY\x20completed\x20the\x20assigned\x20task\x0a-\x20Also\x20call\x20this\x20tool\x20if\x20you\x20are\x20STUCK\x20or\x20UNABLE\x20to\x20proceed\x20after\x20multiple\x20failed\x20attempts\x0a-\x20Provide\x20a\x20clear\x20summary\x20of\x20what\x20was\x20accomplished\x20OR\x20what\x20prevented\x20completion\x0a-\x20This\x20will\x20immediately\x20exit\x20autonomous\x20mode\x20and\x20return\x20control\x20to\x20the\x20user\x0a\x0aExamples:\x0a-\x20\x22Created\x205\x20song\x20files\x20successfully\x20with\x20lyrics\x20and\x20melodies\x22\x0a-\x20\x22Unable\x20to\x20proceed:\x20missing\x20API\x20credentials\x20for\x20the\x20service\x22\x0a-\x20\x22Stuck\x20after\x203\x20failed\x20compilation\x20attempts\x20-\x20syntax\x20errors\x20persist\x22\x0a-\x20\x22Task\x20partially\x20complete:\x20implemented\x202\x20of\x203\x20requested\x20features\x22\x0a\x0aThe\x20tool\x20will\x20format\x20a\x20completion\x20message\x20and\x20gracefully\x20exit\x20autonomous\x20mode.\x0a\x20\x20\x20\x20'[_0x173078(0x188)]();}[a0_0x93ac29(0x18d)](_0x287c06){const _0x5cf37c=a0_0x93ac29;try{const _0x4d2386=a0_0x3fa2e7[_0x5cf37c(0x189)](_0x287c06,_0x5cf37c(0x18f)),_0x17ab11=a0_0x3fa2e7['extractContent'](_0x287c06,'details'),_0x46cdc6=a0_0x3fa2e7[_0x5cf37c(0x189)](_0x287c06,_0x5cf37c(0x193));let _0x3e5ef9='',_0x731dd6='',_0xec7c32=!![];return _0x4d2386['length']>0x0?(_0x3e5ef9=_0x4d2386[0x0]['trim'](),_0x731dd6=_0x17ab11['length']>0x0?_0x17ab11[0x0][_0x5cf37c(0x188)]():'',_0xec7c32=_0x46cdc6['length']>0x0?_0x46cdc6[0x0]['toLowerCase']()!=='false':!![]):_0x3e5ef9=_0x287c06['trim']()||_0x5cf37c(0x192),{'actions':[{'action':'complete','summary':_0x3e5ef9,'success':_0xec7c32,'details':_0x731dd6||undefined}]};}catch(_0x1d6eed){return{'actions':[{'action':'complete','summary':_0x287c06['trim']()||'Task\x20completed','success':!![]}]};}}['getSchema'](){const _0xf981d4=a0_0x93ac29;return{'type':'object','properties':{'actions':{'type':'array','items':{'type':'object','properties':{'action':{'type':'string','enum':[_0xf981d4(0x1a2)],'description':'Mark\x20task\x20as\x20complete\x20-\x20always\x20use\x20\x22complete\x22'},'summary':{'type':'string','description':'Clear\x20summary\x20of\x20what\x20you\x20accomplished\x20OR\x20what\x20prevented\x20completion\x20(e.g.,\x20\x22Created\x205\x20song\x20files\x20successfully\x22,\x20\x22Unable\x20to\x20proceed:\x20missing\x20API\x20credentials\x22,\x20\x22Stuck\x20after\x203\x20failed\x20compilation\x20attempts\x22)'},'success':{'type':_0xf981d4(0x1ad),'default':!![],'description':_0xf981d4(0x1a6)},'details':{'type':_0xf981d4(0x1a3),'description':'Optional:\x20Additional\x20details\x20about\x20what\x20was\x20done,\x20what\x20failed,\x20any\x20files\x20created,\x20or\x20next\x20steps\x20for\x20the\x20user'}},'required':[_0xf981d4(0x1a8),'summary'],'additionalProperties':![]},'minItems':0x1,'maxItems':0x1}},'required':[_0xf981d4(0x19b)],'additionalProperties':![]};}async['execute'](_0x19cc30,_0x44fde1={}){const _0x5967c8=a0_0x93ac29;try{const {actions:_0x12d4e5}=_0x19cc30;if(!_0x12d4e5||!Array[_0x5967c8(0x18b)](_0x12d4e5)||_0x12d4e5['length']===0x0)throw new Error('Actions\x20array\x20is\x20required');const _0x4dd71c=_0x12d4e5[0x0];if(_0x4dd71c['action']!=='complete')throw new Error('Invalid\x20action.\x20Only\x20\x22complete\x22\x20is\x20supported');if(!_0x4dd71c['summary'])throw new Error('Completion\x20summary\x20is\x20required');const _0x3bcde6=_0x44fde1[_0x5967c8(0x195)];let _0x572ad1='';if(_0x3bcde6&&_0x44fde1[_0x5967c8(0x19c)])try{if(this['agentPool']){const _0xe7f04b=await this[_0x5967c8(0x199)]['getAgent'](_0x3bcde6);_0xe7f04b&&(_0x572ad1='\x20by\x20agent\x20\x22'+_0xe7f04b[_0x5967c8(0x1ac)]+'\x22');}}catch(_0x488eea){}const _0x164585=_0x5967c8(0x1a0)+_0x572ad1+(_0x4dd71c[_0x5967c8(0x193)]!==![]?'\x20successfully':'\x20with\x20issues')+'\x0a\x0a**Summary:**\x20'+_0x4dd71c['summary']+(_0x4dd71c[_0x5967c8(0x190)]?'\x0a\x0a**Details:**\x20'+_0x4dd71c['details']:'')+_0x5967c8(0x1ae);return{'success':!![],'output':_0x164585,'taskComplete':!![],'summary':_0x4dd71c[_0x5967c8(0x18f)],'details':_0x4dd71c['details']||null,'successfulCompletion':_0x4dd71c['success']!==![],'metadata':{'toolId':this['id'],'agentId':_0x3bcde6||_0x5967c8(0x18a),'completedAt':new Date()[_0x5967c8(0x1a9)](),'action':_0x4dd71c['action']}};}catch(_0x4f2dac){return{'success':![],'error':_0x4f2dac['message'],'output':'Failed\x20to\x20mark\x20task\x20as\x20complete:\x20'+_0x4f2dac[_0x5967c8(0x191)],'taskComplete':![]};}}[a0_0x93ac29(0x197)](_0x235b2a){this['agentPool']=_0x235b2a;}['getCapabilities'](){return{'id':this['id'],'name':this['name'],'description':this['description'],'version':this['version'],'capabilities':this['capabilities'],'requiresProject':this['requiresProject'],'async':this['async'],'enabled':!![],'schema':this['getSchema']()};}}export default JobDoneTool;