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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) 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
@@ -1 +1 @@
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
+ const a0_0x47ef63=a0_0x49d6;(function(_0x1127bc,_0x2456e3){const _0x26f672=a0_0x49d6,_0x51bbaf=_0x1127bc();while(!![]){try{const _0x6c7008=parseInt(_0x26f672(0x230))/0x1*(parseInt(_0x26f672(0x233))/0x2)+parseInt(_0x26f672(0x1ce))/0x3+-parseInt(_0x26f672(0x1de))/0x4+-parseInt(_0x26f672(0x1ea))/0x5*(-parseInt(_0x26f672(0x20e))/0x6)+parseInt(_0x26f672(0x213))/0x7*(parseInt(_0x26f672(0x24c))/0x8)+-parseInt(_0x26f672(0x220))/0x9+parseInt(_0x26f672(0x23f))/0xa*(-parseInt(_0x26f672(0x1f0))/0xb);if(_0x6c7008===_0x2456e3)break;else _0x51bbaf['push'](_0x51bbaf['shift']());}catch(_0x1e05b7){_0x51bbaf['push'](_0x51bbaf['shift']());}}}(a0_0x1142,0xe6b10));import{BaseTool}from'./baseTool.js';import{promises as a0_0x58c8f3}from'fs';import a0_0x2fdc9a 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_0x47ef63(0x21f),'LAST_BRANCH':'└──\x20','VERTICAL':'│\x20\x20\x20','INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=[a0_0x47ef63(0x1f4),a0_0x47ef63(0x217),'dist','build','coverage',a0_0x47ef63(0x210),'.nuxt',a0_0x47ef63(0x22e),a0_0x47ef63(0x200),'target',a0_0x47ef63(0x1da),'bower_components',a0_0x47ef63(0x1d6),a0_0x47ef63(0x251),'.vs','__pycache__',a0_0x47ef63(0x218),'env',a0_0x47ef63(0x24d),a0_0x47ef63(0x223),a0_0x47ef63(0x22f),a0_0x47ef63(0x226),'.eggs',a0_0x47ef63(0x244),a0_0x47ef63(0x242),a0_0x47ef63(0x1fc),a0_0x47ef63(0x222),'wheels',a0_0x47ef63(0x214),'.nox',a0_0x47ef63(0x209),a0_0x47ef63(0x21a),'tmp',a0_0x47ef63(0x1d1),'.tmp','.temp'],DEFAULT_IGNORE_EXTENSIONS=[a0_0x47ef63(0x239),a0_0x47ef63(0x249),a0_0x47ef63(0x212),'.lock',a0_0x47ef63(0x1ec),'.tmp',a0_0x47ef63(0x23a),'.pyc',a0_0x47ef63(0x250),a0_0x47ef63(0x1db),a0_0x47ef63(0x204),'.dll',a0_0x47ef63(0x20c),'.exe','.obj','.o','.a',a0_0x47ef63(0x203),'.jar','.war'],BINARY_EXTENSIONS=[a0_0x47ef63(0x245),'.jpg','.jpeg','.gif',a0_0x47ef63(0x21c),'.ico',a0_0x47ef63(0x1f5),a0_0x47ef63(0x1fd),a0_0x47ef63(0x22c),a0_0x47ef63(0x248),'.gz','.rar',a0_0x47ef63(0x240),'.mp3',a0_0x47ef63(0x1ef),a0_0x47ef63(0x23d),'.mov','.wmv',a0_0x47ef63(0x228),a0_0x47ef63(0x1ed),'.ttf','.eot','.bin','.dat',a0_0x47ef63(0x241),a0_0x47ef63(0x1fe)];class FileTreeTool extends BaseTool{constructor(_0x12aa82={},_0x413e7a=null){const _0xcf29ee=a0_0x47ef63;super(_0x12aa82,_0x413e7a),this[_0xcf29ee(0x215)]=!![],this['isAsync']=!![],this['timeout']=_0x12aa82['timeout']||0x1d4c0,this['treeConfig']={...TREE_CONFIG,..._0x12aa82[_0xcf29ee(0x1e5)]},this[_0xcf29ee(0x1f9)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}[a0_0x47ef63(0x1e7)](){const _0x4ecd80=a0_0x47ef63;return _0x4ecd80(0x1ee)+TREE_CONFIG[_0x4ecd80(0x1d0)]+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG[_0x4ecd80(0x247)]+'\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']+'\x0a-\x20Maximum\x20files:\x20'+TREE_CONFIG['MAX_FILES_IN_TREE']+_0x4ecd80(0x1f8)+TREE_CONFIG['MAX_DIRECTORIES']+_0x4ecd80(0x1ff);}[a0_0x47ef63(0x22b)](_0x26f6bc){const _0x5bb8b4=a0_0x47ef63;try{if(_0x26f6bc['trim']()['startsWith']('{')){const _0x593316=JSON[_0x5bb8b4(0x231)](_0x26f6bc);return{'directory':_0x593316['directory']||'.','maxDepth':_0x593316[_0x5bb8b4(0x1e2)]||TREE_CONFIG[_0x5bb8b4(0x1d0)],'includeExtensions':_0x593316['includeExtensions']||[],'excludeExtensions':_0x593316['excludeExtensions']||[],'excludeDirectories':_0x593316[_0x5bb8b4(0x1dd)]||[],'showFiles':_0x593316['showFiles']!==![],'showHidden':_0x593316['showHidden']===!![],'showSizes':_0x593316[_0x5bb8b4(0x232)]===!![],'ignoreBinaryFiles':_0x593316['ignoreBinaryFiles']===!![]};}const _0x1daff8={'directory':'.','maxDepth':TREE_CONFIG[_0x5bb8b4(0x1d0)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x52627b=/<directory>(.*?)<\/directory>/i,_0x2ea2f3=_0x52627b[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x2ea2f3&&(_0x1daff8['directory']=_0x2ea2f3[0x1]['trim']());const _0x1cf16f=/<max-depth>(\d+)<\/max-depth>/i,_0x169c2f=_0x1cf16f[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x169c2f&&(_0x1daff8[_0x5bb8b4(0x1e2)]=parseInt(_0x169c2f[0x1],0xa));const _0x144688=/<include-extensions>(.*?)<\/include-extensions>/i,_0x325356=_0x144688[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x325356&&(_0x1daff8['includeExtensions']=_0x325356[0x1]['split'](',')[_0x5bb8b4(0x1fa)](_0x37d8b9=>_0x37d8b9['trim']())['filter'](_0x1efb7e=>_0x1efb7e[_0x5bb8b4(0x23e)]>0x0));const _0x2b3f5d=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x150d19=_0x2b3f5d[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x150d19&&(_0x1daff8['excludeExtensions']=_0x150d19[0x1]['split'](',')['map'](_0x40728e=>_0x40728e[_0x5bb8b4(0x202)]())['filter'](_0x37f513=>_0x37f513[_0x5bb8b4(0x23e)]>0x0));const _0x568bc0=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x24c616=_0x568bc0[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x24c616&&(_0x1daff8['excludeDirectories']=_0x24c616[0x1][_0x5bb8b4(0x201)](',')['map'](_0x5dfd3c=>_0x5dfd3c['trim']())[_0x5bb8b4(0x206)](_0x56b106=>_0x56b106['length']>0x0));const _0x5389b9=/<show-files>(.*?)<\/show-files>/i,_0x420dbb=_0x5389b9[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x420dbb&&(_0x1daff8[_0x5bb8b4(0x246)]=_0x420dbb[0x1]['trim']()['toLowerCase']()!==_0x5bb8b4(0x1f7));const _0x35783e=/<show-hidden>(.*?)<\/show-hidden>/i,_0x4facf7=_0x35783e['exec'](_0x26f6bc);_0x4facf7&&(_0x1daff8['showHidden']=_0x4facf7[0x1][_0x5bb8b4(0x202)]()[_0x5bb8b4(0x235)]()==='true');const _0x18c388=/<show-sizes>(.*?)<\/show-sizes>/i,_0x217f40=_0x18c388['exec'](_0x26f6bc);_0x217f40&&(_0x1daff8['showSizes']=_0x217f40[0x1]['trim']()[_0x5bb8b4(0x235)]()===_0x5bb8b4(0x1df));const _0x44d59f=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x31d6a1=_0x44d59f['exec'](_0x26f6bc);return _0x31d6a1&&(_0x1daff8['ignoreBinaryFiles']=_0x31d6a1[0x1][_0x5bb8b4(0x202)]()[_0x5bb8b4(0x235)]()===_0x5bb8b4(0x1df)),_0x1daff8;}catch(_0x240138){return this['logger']?.['error'](_0x5bb8b4(0x252),{'error':_0x240138['message']}),{'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x240138['message']};}}['getRequiredParameters'](){return[];}['customValidateParameters'](_0x17a834){const _0x4f7d38=a0_0x47ef63,_0x3ddc00=[];if(_0x17a834[_0x4f7d38(0x1e2)]!==undefined){if(typeof _0x17a834[_0x4f7d38(0x1e2)]!==_0x4f7d38(0x1d2)||_0x17a834[_0x4f7d38(0x1e2)]<0x1)_0x3ddc00[_0x4f7d38(0x22d)](_0x4f7d38(0x1f6));else _0x17a834[_0x4f7d38(0x1e2)]>this[_0x4f7d38(0x1e5)][_0x4f7d38(0x247)]&&_0x3ddc00[_0x4f7d38(0x22d)]('max-depth\x20cannot\x20exceed\x20'+this[_0x4f7d38(0x1e5)]['MAX_DEPTH_LIMIT']);}_0x17a834[_0x4f7d38(0x21e)]&&_0x17a834['directory']['includes']('..')&&_0x3ddc00[_0x4f7d38(0x22d)]('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');if(_0x17a834['includeExtensions']!==undefined&&_0x17a834['includeExtensions']!==null){if(!Array['isArray'](_0x17a834[_0x4f7d38(0x253)]))_0x3ddc00['push']('includeExtensions\x20must\x20be\x20an\x20array');else for(const _0x5f55e2 of _0x17a834['includeExtensions']){!_0x5f55e2['startsWith']('.')&&_0x3ddc00[_0x4f7d38(0x22d)](_0x4f7d38(0x1e4)+_0x5f55e2+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}if(_0x17a834['excludeExtensions']!==undefined&&_0x17a834[_0x4f7d38(0x24e)]!==null){if(!Array[_0x4f7d38(0x21d)](_0x17a834['excludeExtensions']))_0x3ddc00[_0x4f7d38(0x22d)](_0x4f7d38(0x1cf));else for(const _0xa4a92f of _0x17a834['excludeExtensions']){!_0xa4a92f['startsWith']('.')&&_0x3ddc00['push']('Extension\x20\x22'+_0xa4a92f+_0x4f7d38(0x20d));}}_0x17a834['excludeDirectories']!==undefined&&_0x17a834['excludeDirectories']!==null&&(!Array['isArray'](_0x17a834[_0x4f7d38(0x1dd)])&&_0x3ddc00['push']('excludeDirectories\x20must\x20be\x20an\x20array'));if(_0x3ddc00['length']>0x0)throw new Error(_0x4f7d38(0x234)+_0x3ddc00['join'](',\x20'));return{'valid':!![],'errors':[]};}async['execute'](_0x52ef95,_0x3580e5){const _0x42f26a=a0_0x47ef63,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG[_0x42f26a(0x1d0)],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x52ef95,{projectDir:_0x4de8b8,agentId:_0x147704,directoryAccess:_0x4e2dd0}=_0x3580e5;let _0x13d20d=_0x4de8b8||process[_0x42f26a(0x227)]();_0x4e2dd0&&_0x4e2dd0['workingDirectory']&&(_0x13d20d=_0x4e2dd0['workingDirectory'],this['logger']?.[_0x42f26a(0x1f2)](_0x42f26a(0x225),{'workingDirectory':_0x4e2dd0[_0x42f26a(0x20a)],'agentId':_0x147704}));const _0x53e5bc=a0_0x2fdc9a[_0x42f26a(0x24b)](directory)?directory:a0_0x2fdc9a[_0x42f26a(0x21b)](_0x13d20d,directory);try{const _0x2f2ff6=await a0_0x58c8f3[_0x42f26a(0x23b)](_0x53e5bc);if(!_0x2f2ff6[_0x42f26a(0x208)]())throw new Error(_0x42f26a(0x229));}catch(_0x3a7a7a){throw new Error(_0x42f26a(0x20f)+directory);}this['logger']?.['info'](_0x42f26a(0x1e3),{'directory':directory,'targetDir':_0x53e5bc,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.[_0x42f26a(0x23e)]||0x0,'agentId':_0x147704}),this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x273169=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x51b888=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x51b888[_0x42f26a(0x22d)](...BINARY_EXTENSIONS);const _0x2b59d2=await this[_0x42f26a(0x23c)](_0x53e5bc,_0x53e5bc,0x0,maxDepth,_0x273169,includeExtensions||[],[...excludeExtensions||[],..._0x51b888],showFiles,showHidden,showSizes),_0x236139=this[_0x42f26a(0x1dc)](_0x2b59d2),_0x3f1972=this[_0x42f26a(0x211)](directory,this['stats'],maxDepth);return{'success':!![],'directory':_0x53e5bc,'tree':_0x236139,'summary':_0x3f1972,'maxDepth':maxDepth,'totalFiles':this[_0x42f26a(0x1f9)][_0x42f26a(0x221)],'totalDirectories':this[_0x42f26a(0x1f9)][_0x42f26a(0x219)],'skippedCount':this[_0x42f26a(0x1f9)]['skippedCount'],'statistics':{...this[_0x42f26a(0x1f9)]},'toolUsed':'file-tree'};}async[a0_0x47ef63(0x23c)](_0x1093f6,_0x2d230f,_0x4de929,_0x2713e5,_0x155a93,_0xbc90be,_0x58a74b,_0x3f1dcf,_0x1c2439,_0xfaa19d){const _0x5a2b26=a0_0x47ef63;if(_0x4de929>_0x2713e5)return null;if(this['stats']['directoriesCount']>=this['treeConfig'][_0x5a2b26(0x207)])return this['logger']?.['warn'](_0x5a2b26(0x243),{'maxDirectories':this['treeConfig'][_0x5a2b26(0x207)]}),null;try{const _0x1aeab0=await a0_0x58c8f3[_0x5a2b26(0x1d7)](_0x2d230f,{'withFileTypes':!![]}),_0xf5d7d3={'name':_0x4de929===0x0?a0_0x2fdc9a[_0x5a2b26(0x236)](_0x2d230f)+'/':a0_0x2fdc9a[_0x5a2b26(0x236)](_0x2d230f),'path':a0_0x2fdc9a['relative'](_0x1093f6,_0x2d230f),'type':_0x5a2b26(0x21e),'children':[]};this['stats'][_0x5a2b26(0x219)]++;for(const _0x3ff897 of _0x1aeab0){if(this[_0x5a2b26(0x1f9)]['filesCount']>=this[_0x5a2b26(0x1e5)]['MAX_FILES_IN_TREE']){this['logger']?.['warn']('Maximum\x20file\x20count\x20reached',{'maxFiles':this['treeConfig']['MAX_FILES_IN_TREE']});break;}if(!_0x1c2439&&_0x3ff897[_0x5a2b26(0x24f)][_0x5a2b26(0x1d5)]('.')){this['stats']['skippedCount']++;continue;}const _0x464a4c=a0_0x2fdc9a[_0x5a2b26(0x24a)](_0x2d230f,_0x3ff897[_0x5a2b26(0x24f)]);if(_0x3ff897['isDirectory']()){if(_0x155a93['includes'](_0x3ff897[_0x5a2b26(0x24f)])){this[_0x5a2b26(0x1f9)][_0x5a2b26(0x1eb)]++;continue;}const _0x344c97=await this[_0x5a2b26(0x23c)](_0x1093f6,_0x464a4c,_0x4de929+0x1,_0x2713e5,_0x155a93,_0xbc90be,_0x58a74b,_0x3f1dcf,_0x1c2439,_0xfaa19d);_0x344c97&&(_0x344c97[_0x5a2b26(0x224)]['length']>0x0||_0x4de929===0x0)&&_0xf5d7d3['children'][_0x5a2b26(0x22d)](_0x344c97);}else{if(_0x3ff897[_0x5a2b26(0x1fb)]()&&_0x3f1dcf){if(_0x4de929+0x1>_0x2713e5)continue;const _0x12acc7=a0_0x2fdc9a[_0x5a2b26(0x237)](_0x3ff897['name']);if(_0xbc90be[_0x5a2b26(0x23e)]>0x0){if(!_0xbc90be[_0x5a2b26(0x1d8)](_0x12acc7)){this['stats'][_0x5a2b26(0x1eb)]++;continue;}}else{if(_0x58a74b['includes'](_0x12acc7)){this['stats'][_0x5a2b26(0x1eb)]++;continue;}}let _0x3e27a2='';if(_0xfaa19d)try{const _0x39c303=await a0_0x58c8f3['stat'](_0x464a4c);_0x3e27a2='\x20('+this['formatFileSize'](_0x39c303[_0x5a2b26(0x1d3)])+')';}catch(_0xa0f7cd){}_0xf5d7d3[_0x5a2b26(0x224)][_0x5a2b26(0x22d)]({'name':_0x3ff897[_0x5a2b26(0x24f)]+_0x3e27a2,'path':a0_0x2fdc9a['relative'](_0x1093f6,_0x464a4c),'type':'file','ext':_0x12acc7}),this[_0x5a2b26(0x1f9)][_0x5a2b26(0x221)]++;}}}return _0xf5d7d3['children']['sort']((_0x5eecd1,_0x3ca06a)=>{const _0x12b76c=_0x5a2b26;if(_0x5eecd1[_0x12b76c(0x1e0)]===_0x3ca06a['type'])return _0x5eecd1['name']['localeCompare'](_0x3ca06a['name']);return _0x5eecd1['type']==='directory'?-0x1:0x1;}),_0xf5d7d3;}catch(_0x14b0d2){return this['logger']?.['error']('Error\x20building\x20tree',{'currentPath':_0x2d230f,'error':_0x14b0d2[_0x5a2b26(0x1e8)]}),{'name':a0_0x2fdc9a[_0x5a2b26(0x236)](_0x2d230f),'path':a0_0x2fdc9a['relative'](_0x1093f6,_0x2d230f),'type':_0x5a2b26(0x21e),'error':_0x14b0d2[_0x5a2b26(0x1e8)],'children':[]};}}[a0_0x47ef63(0x1dc)](_0x57ba7b,_0x42d70d='',_0x3a4bbd=!![],_0x1b00b5=!![]){const _0x615834=a0_0x47ef63;if(!_0x57ba7b)return'';const _0x5d604e=this['treeConfig'][_0x615834(0x1d9)];let _0x140618='';_0x1b00b5?_0x140618=_0x57ba7b[_0x615834(0x24f)]+'\x0a':_0x140618=''+_0x42d70d+(_0x3a4bbd?_0x5d604e[_0x615834(0x1f1)]:_0x5d604e[_0x615834(0x238)])+_0x57ba7b['name']+'\x0a';if(_0x57ba7b[_0x615834(0x224)]&&_0x57ba7b[_0x615834(0x224)][_0x615834(0x23e)]>0x0){const _0x4d45ba=_0x1b00b5?'':_0x42d70d+(_0x3a4bbd?_0x5d604e['INDENT']:_0x5d604e['VERTICAL']);_0x57ba7b[_0x615834(0x224)][_0x615834(0x1f3)]((_0x19479d,_0x70f89c)=>{const _0x107c5e=_0x615834,_0x4fab12=_0x70f89c===_0x57ba7b['children'][_0x107c5e(0x23e)]-0x1;_0x140618+=this[_0x107c5e(0x1dc)](_0x19479d,_0x4d45ba,_0x4fab12,![]);});}return _0x140618;}['formatFileSize'](_0x11acbf){const _0x52db2d=a0_0x47ef63,_0x59a993=0x400,_0xa5d801=_0x59a993*0x400,_0xb8b37c=_0xa5d801*0x400;if(_0x11acbf>=_0xb8b37c)return(_0x11acbf/_0xb8b37c)[_0x52db2d(0x20b)](0x2)+_0x52db2d(0x1e9);else{if(_0x11acbf>=_0xa5d801)return(_0x11acbf/_0xa5d801)['toFixed'](0x2)+'\x20MB';else return _0x11acbf>=_0x59a993?(_0x11acbf/_0x59a993)['toFixed'](0x2)+'\x20KB':_0x11acbf+'\x20B';}}[a0_0x47ef63(0x211)](_0x561d8a,_0x2d4ff2,_0x4a4f8c){const _0x3868e3=a0_0x47ef63;return(_0x3868e3(0x1e6)+_0x561d8a+'\x0aMax\x20Depth:\x20'+_0x4a4f8c+_0x3868e3(0x1d4)+_0x2d4ff2['filesCount']+_0x3868e3(0x254)+_0x2d4ff2[_0x3868e3(0x219)]+_0x3868e3(0x205)+_0x2d4ff2[_0x3868e3(0x1eb)]+'\x0a\x20\x20\x20\x20')[_0x3868e3(0x202)]();}async[a0_0x47ef63(0x216)](_0x7a86ec){const _0x450ed5=a0_0x47ef63;this['logger']?.[_0x450ed5(0x1f2)](_0x450ed5(0x22a),{'operationId':_0x7a86ec});}}function a0_0x1142(){const _0x4f1a96=['DMvUzg9Y','lNb5za','zM9YBwf0vhjLzq','zxHJBhvKzurPCMvJDg9YAwvZ','mtG2odG1nNHKvfvPCq','Dhj1zq','DhLWzq','zxHLyW','Bwf4rgvWDgG','r2vUzxjHDgLUzYbMAwXLihrYzwu','rxH0zw5ZAw9Uici','DhjLzunVBMzPzW','cKrPCMvJDg9YEtOG','z2v0rgvZy3jPChrPB24','BwvZC2fNzq','ieDc','mJb1tuDhuKu','C2TPChbLzenVDw50','lMXVzW','lNDVzMyY','cKzPBguGvhjLzsbuB29SoIbhzw5LCMf0zsbOAwvYyxjJAgLJywWGDhjLzsbYzxbYzxnLBNrHDgLVBIbVzIbWCM9Qzwn0igrPCMvJDg9YEsbZDhj1y3r1CMuUcGPytuWGvvnbr0u6cJXMAwXLlxrYzwu+cIaGpgrPCMvJDg9YEt5ZCMm8l2rPCMvJDg9YEt4kica8Bwf4lwrLChrOpJq8l21HEc1Kzxb0Ad4kica8Aw5JBhvKzs1LEhrLBNnPB25ZpI5QCYWUANn4lc50CYWUDhn4pc9PBMnSDwrLlwv4DgvUC2LVBNm+cIaGpgv4y2X1zguTzxH0zw5ZAw9UCZ4UDgvZDc5QCYWUC3bLyY5QCZWVzxHJBhvKzs1LEhrLBNnPB25ZpGOGidXZAg93lwzPBgvZpNrYDwu8l3nOB3CTzMLSzxm+cIaGphnOB3CTAgLKzgvUpMzHBhnLpc9ZAg93lwHPzgrLBJ4kpc9MAwXLlxrYzwu+cGPku09oifvtquDfoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicjTyxHezxb0Aci6idqScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUANmIlcaIlMPZEciSiciUDhmIlcaIlNrZEcjDlaOGicjLEgnSDwrLrxH0zw5ZAw9UCYi6ifSIlNrLC3qUANmIlcaIlNnWzwmUANmIxsWkicaIC2HVD0zPBgvZiJOGDhj1zsWkicaIC2HVD0HPzgrLBIi6igzHBhnLcN0kygbGcGPqqvjbtuvurvjtoGOkzgLYzwn0B3j5icHVChrPB25HBcK6cIaGlsbeAxjLy3rVCNKGDg8GC2nHBIaOzgvMyxvSDdOGD29YA2LUzYbKAxjLy3rVCNKPcIaGlsbdyw4GyMuGCMvSyxrPDMuGB3iGywjZB2X1DguGCgf0AaOGic0GrxHHBxbSzxm6icjZCMmIlcaIC3jJl2nVBxbVBMvUDhmIlcaIl2HVBwuVDxnLCI9WCM9Qzwn0iGOkBwf4rgvWDgGGkg9WDgLVBMfSktOkicaTie1HEgLTDw0GzgvWDgGGDg8GC2nHBIaOzgvMyxvSDdOG','lM1Wna','mte5owDZCvDMzW','teftvf9cuKfoq0G','Aw5MBW','zM9YrwfJAa','BM9Kzv9TB2r1BgvZ','lNn2zW','Bwf4lwrLChrOig11C3qGyMuGysbWB3nPDgL2zsbUDw1Izxi','zMfSC2u','cI0Gtwf4Aw11BsbKAxjLy3rVCMLLCZOG','C3rHDhm','BwfW','AxngAwXL','CgfYDhm','lNbKzG','lNnXBgL0zq','cI0GqMLUyxj5igzPBgvZignHBIbIzsbMAwX0zxjLzcb3AxrOigLNBM9YzujPBMfYEuzPBgvZig9WDgLVBGOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','B3v0','C3bSAxq','DhjPBq','lMnSyxnZ','lNnV','cLnRAxbWzwq6ia','zMLSDgvY','tufyx0rjuKvdve9ssuvt','AxneAxjLy3rVCNK','AhrTBgnVDG','D29YA2LUz0rPCMvJDg9YEq','Dg9gAxHLza','lMr5BgLI','iIbTDxn0ihn0yxj0ihDPDgGGysbKB3qGkguUzY4SiciUANmIkq','mtmXmte2mMXTAenMCG','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','lM5LEhq','z2vUzxjHDgvtDw1Tyxj5','lM1PBI5JC3m','odaZmZLMCMHoA1i','lNrVEa','CMvXDwLYzxnqCM9Qzwn0','y2XLyw51Ca','lMDPDa','DMvUDG','zgLYzwn0B3jPzxndB3vUDa','lMH5Cg90AgvZAxm','CMvZB2X2zq','lMjTCa','AxnbCNjHEq','zgLYzwn0B3j5','4PsC4Psa4Psaia','otK3mZi2mgj1C0LPyq','zMLSzxndB3vUDa','C2rPC3q','lNb5DgvZDf9JywnOzq','y2HPBgrYzw4','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','zwDNCW','y3DK','lNDVzMy','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','CgfYC2vqyxjHBwv0zxjZ','lNPPCa','ChvZAa','lMnHy2HL','lM15ChLFy2fJAgu','nZe3mZeXwwDcswX3','CgfYC2u','C2HVD1nPEMvZ','nffHywDrtG','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','Dg9mB3DLCKnHC2u','yMfZzw5HBwu','zxH0BMfTzq','qLjbtKni','lM1HCa','lNrLBxa','C3rHDa','yNvPBgruCMvL','lMf2Aq','BgvUz3rO','mtyZmtaWzuHfzhHz','lJD6','lMrI','BgLInJq','twf4Aw11BsbKAxjLy3rVCNKGy291BNqGCMvHy2HLza','BgLI','lNbUzW','C2HVD0zPBgvZ','tufyx0rfufrix0XjtuLu','lNrHCG','lM1PBI5QCW','AM9PBG','AxnbyNnVBhv0zq','odG4AKPPqNPb','lMvUDG','zxHJBhvKzuv4DgvUC2LVBNm','BMfTzq','lNb5BW','lMLKzwe','rMfPBgvKihrVihbHCNnLigzPBguTDhjLzsbWyxjHBwv0zxjZ','Aw5JBhvKzuv4DgvUC2LVBNm','cKrPCMvJDg9YAwvZoIa','mJe0nJeZn01eDLburW','zxHJBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','revgqvvmvf9nqvHFrevqveG','DgvTCa','BNvTyMvY','C2L6zq','cKzPBgvZoIa','C3rHCNrZv2L0Aa','lNzZy29Kzq','CMvHzgrPCG','Aw5JBhvKzxm','u1LnqK9muW'];a0_0x1142=function(){return _0x4f1a96;};return a0_0x1142();}function a0_0x49d6(_0x4eaf2a,_0x5a4a86){_0x4eaf2a=_0x4eaf2a-0x1ce;const _0x114268=a0_0x1142();let _0x49d67c=_0x114268[_0x4eaf2a];if(a0_0x49d6['bCTvxQ']===undefined){var _0x2abe17=function(_0x3edd33){const _0x4a6867='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58c8f3='',_0x2fdc9a='';for(let _0x12aa82=0x0,_0x413e7a,_0x26f6bc,_0x1daff8=0x0;_0x26f6bc=_0x3edd33['charAt'](_0x1daff8++);~_0x26f6bc&&(_0x413e7a=_0x12aa82%0x4?_0x413e7a*0x40+_0x26f6bc:_0x26f6bc,_0x12aa82++%0x4)?_0x58c8f3+=String['fromCharCode'](0xff&_0x413e7a>>(-0x2*_0x12aa82&0x6)):0x0){_0x26f6bc=_0x4a6867['indexOf'](_0x26f6bc);}for(let _0x52627b=0x0,_0x2ea2f3=_0x58c8f3['length'];_0x52627b<_0x2ea2f3;_0x52627b++){_0x2fdc9a+='%'+('00'+_0x58c8f3['charCodeAt'](_0x52627b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fdc9a);};a0_0x49d6['mdxJSE']=_0x2abe17,a0_0x49d6['mjVXAb']={},a0_0x49d6['bCTvxQ']=!![];}const _0x3e8ee8=_0x114268[0x0],_0xdbacff=_0x4eaf2a+_0x3e8ee8,_0x234126=a0_0x49d6['mjVXAb'][_0xdbacff];return!_0x234126?(_0x49d67c=a0_0x49d6['mdxJSE'](_0x49d67c),a0_0x49d6['mjVXAb'][_0xdbacff]=_0x49d67c):_0x49d67c=_0x234126,_0x49d67c;}export default FileTreeTool;
@@ -1 +1 @@
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
+ const a0_0x503e1f=a0_0x78d6;(function(_0x45e9a8,_0x40413d){const _0x495419=a0_0x78d6,_0x12a948=_0x45e9a8();while(!![]){try{const _0x3002bc=parseInt(_0x495419(0x172))/0x1*(-parseInt(_0x495419(0x179))/0x2)+parseInt(_0x495419(0x16e))/0x3*(-parseInt(_0x495419(0x194))/0x4)+-parseInt(_0x495419(0x192))/0x5*(-parseInt(_0x495419(0x148))/0x6)+parseInt(_0x495419(0x17f))/0x7+-parseInt(_0x495419(0x121))/0x8*(parseInt(_0x495419(0x190))/0x9)+parseInt(_0x495419(0x10a))/0xa*(parseInt(_0x495419(0x10d))/0xb)+parseInt(_0x495419(0x13d))/0xc*(parseInt(_0x495419(0x17b))/0xd);if(_0x3002bc===_0x40413d)break;else _0x12a948['push'](_0x12a948['shift']());}catch(_0x1cf921){_0x12a948['push'](_0x12a948['shift']());}}}(a0_0x5cf2,0xdeeb8));import a0_0x5c1e2b from'path';import a0_0x3b765c from'os';import{promises as a0_0x1709fa}from'fs';function a0_0x78d6(_0x2a2d7a,_0x1f0717){_0x2a2d7a=_0x2a2d7a-0x107;const _0x5cf205=a0_0x5cf2();let _0x78d610=_0x5cf205[_0x2a2d7a];if(a0_0x78d6['kUWeJk']===undefined){var _0x5ea265=function(_0xa75b22){const _0x970cc5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c1e2b='',_0x3b765c='';for(let _0x1709fa=0x0,_0x149304,_0x50b5a8,_0x2a1c57=0x0;_0x50b5a8=_0xa75b22['charAt'](_0x2a1c57++);~_0x50b5a8&&(_0x149304=_0x1709fa%0x4?_0x149304*0x40+_0x50b5a8:_0x50b5a8,_0x1709fa++%0x4)?_0x5c1e2b+=String['fromCharCode'](0xff&_0x149304>>(-0x2*_0x1709fa&0x6)):0x0){_0x50b5a8=_0x970cc5['indexOf'](_0x50b5a8);}for(let _0x297ecb=0x0,_0x584888=_0x5c1e2b['length'];_0x297ecb<_0x584888;_0x297ecb++){_0x3b765c+='%'+('00'+_0x5c1e2b['charCodeAt'](_0x297ecb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b765c);};a0_0x78d6['EgBEwI']=_0x5ea265,a0_0x78d6['FgzOvS']={},a0_0x78d6['kUWeJk']=!![];}const _0x4afd3d=_0x5cf205[0x0],_0x28e0f8=_0x2a2d7a+_0x4afd3d,_0x3423ef=a0_0x78d6['FgzOvS'][_0x28e0f8];return!_0x3423ef?(_0x78d610=a0_0x78d6['EgBEwI'](_0x78d610),a0_0x78d6['FgzOvS'][_0x28e0f8]=_0x78d610):_0x78d610=_0x3423ef,_0x78d610;}import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':a0_0x503e1f(0x146),'DEFAULT_SIZE':'1024x1024','DEFAULT_QUALITY':a0_0x503e1f(0x158),'VALID_SIZES':['256x256',a0_0x503e1f(0x189),'1024x1024','1024x1792','1792x1024'],'VALID_FORMATS':['png','jpg',a0_0x503e1f(0x169),'webp'],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};export class ImageTool extends BaseTool{constructor(_0x149304={},_0x50b5a8=null){const _0x484c35=a0_0x503e1f;super(_0x149304,_0x50b5a8),this['id']='image-gen',this['queue']=[],this['currentJob']=null,this[_0x484c35(0x166)]=new Map(),this[_0x484c35(0x197)]=![],this['aiService']=null,this['agentPool']=null,this[_0x484c35(0x10c)]=a0_0x5c1e2b[_0x484c35(0x175)](a0_0x3b765c[_0x484c35(0x18a)](),_0x484c35(0x199)),this['cleanupTimers']=new Map();}[a0_0x503e1f(0x152)](_0x2a1c57){const _0x55c8bf=a0_0x503e1f;this[_0x55c8bf(0x161)]=_0x2a1c57,this[_0x55c8bf(0x14a)]?.['info']('AI\x20Service\x20set\x20for\x20ImageTool');}['setAgentPool'](_0x297ecb){const _0x481480=a0_0x503e1f;this['agentPool']=_0x297ecb,this['logger']?.['info'](_0x481480(0x115));}[a0_0x503e1f(0x119)](){const _0x4cd026=a0_0x503e1f;return _0x4cd026(0x160)+IMAGE_CONFIG['QUEUE_LIMIT']+'\x20images\x20in\x20queue\x20at\x20once';}[a0_0x503e1f(0x127)](_0x584888){const _0x465e01=a0_0x503e1f;if(typeof _0x584888===_0x465e01(0x14e)&&_0x584888!==null)return this[_0x465e01(0x137)](_0x584888);if(typeof _0x584888===_0x465e01(0x185)){const _0x38d6a6=_0x584888['trim']();if(_0x38d6a6[_0x465e01(0x195)]('{')||_0x38d6a6['startsWith']('['))try{const _0x20aab9=JSON['parse'](_0x38d6a6);return this[_0x465e01(0x137)](_0x20aab9);}catch(_0x50d446){}return this[_0x465e01(0x173)](_0x584888);}throw new Error(_0x465e01(0x133));}['_parseJSONParams'](_0x330901){const _0x40b358=a0_0x503e1f;_0x330901[_0x40b358(0x183)]&&(_0x330901=_0x330901['parameters']);if(_0x330901['batch']&&Array[_0x40b358(0x10e)](_0x330901[_0x40b358(0x128)]))return{'batch':!![],'images':_0x330901[_0x40b358(0x128)][_0x40b358(0x145)](_0x29c95f=>this[_0x40b358(0x134)](_0x29c95f))};return{'batch':![],'images':[this[_0x40b358(0x134)](_0x330901)]};}[a0_0x503e1f(0x173)](_0x23ed43){const _0x383372=a0_0x503e1f,_0x1c4732={'batch':![],'images':[]},_0x392c1b=/<batch>([\s\S]*?)<\/batch>/i[_0x383372(0x18e)](_0x23ed43);if(_0x392c1b){_0x1c4732[_0x383372(0x128)]=!![];const _0x4c5015=_0x392c1b[0x1],_0x28a64a=/<image>([\s\S]*?)<\/image>/gi;let _0x50d358;while((_0x50d358=_0x28a64a[_0x383372(0x18e)](_0x4c5015))!==null){_0x1c4732['images']['push'](this[_0x383372(0x156)](_0x50d358[0x1]));}}else _0x1c4732[_0x383372(0x18f)]['push'](this[_0x383372(0x156)](_0x23ed43));if(_0x1c4732[_0x383372(0x18f)]['length']===0x0)throw new Error(_0x383372(0x13e));return _0x1c4732;}['_parseImageParams'](_0x55d0a0){const _0x46c403=a0_0x503e1f,_0x89abc7=_0x55d0a0['outputPath']||_0x55d0a0['output-path']||null;return{'prompt':_0x55d0a0[_0x46c403(0x184)]||'','outputPath':_0x89abc7,'saveToProject':_0x89abc7!==null,'model':_0x55d0a0[_0x46c403(0x181)]||IMAGE_CONFIG[_0x46c403(0x13c)],'size':_0x55d0a0['size']||IMAGE_CONFIG[_0x46c403(0x118)],'quality':_0x55d0a0['quality']||IMAGE_CONFIG[_0x46c403(0x15a)]};}['_parseXMLImage'](_0x22866e){const _0xcff431=a0_0x503e1f,_0x2a53a6=_0x1fe582=>{const _0x2a3b7e=a0_0x78d6,_0x5a2757=new RegExp('<'+_0x1fe582+'>([\x5cs\x5cS]*?)<\x5c/'+_0x1fe582+'>','i'),_0x1bf47f=_0x5a2757[_0x2a3b7e(0x18e)](_0x22866e);return _0x1bf47f?_0x1bf47f[0x1]['trim']():null;},_0x31da29=_0x2a53a6(_0xcff431(0x111))||null;return{'prompt':_0x2a53a6(_0xcff431(0x184))||'','outputPath':_0x31da29,'saveToProject':_0x31da29!==null,'model':_0x2a53a6('model')||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0x2a53a6('size')||IMAGE_CONFIG[_0xcff431(0x118)],'quality':_0x2a53a6('quality')||IMAGE_CONFIG[_0xcff431(0x15a)]};}async[a0_0x503e1f(0x157)](_0x563979,_0x30c84d={}){const _0x4a40a1=a0_0x503e1f;try{const {agentId:_0xf1a6c4,projectDir:_0x364146,directoryAccess:_0x4e3592,sessionId:_0x1d8c66}=_0x30c84d;typeof _0x563979==='string'&&(this[_0x4a40a1(0x14a)]?.[_0x4a40a1(0x144)]('ImageTool:\x20Auto-parsing\x20string\x20parameters'),_0x563979=this[_0x4a40a1(0x127)](_0x563979));this['_validateParameters'](_0x563979);const _0x5683ca=[];for(const _0x56e351 of _0x563979[_0x4a40a1(0x18f)]){const _0x248c20=this[_0x4a40a1(0x19f)](),_0x183b80={'jobId':_0x248c20,'agentId':_0xf1a6c4,'sessionId':_0x1d8c66,'prompt':_0x56e351[_0x4a40a1(0x184)],'outputPath':_0x56e351['outputPath'],'saveToProject':_0x56e351['saveToProject'],'model':_0x56e351[_0x4a40a1(0x181)],'size':_0x56e351['size'],'quality':_0x56e351[_0x4a40a1(0x182)],'projectDir':_0x364146||process[_0x4a40a1(0x187)](),'directoryAccess':_0x4e3592,'status':'queued','createdAt':new Date()['toISOString']()};if(this[_0x4a40a1(0x1a0)]['length']>=IMAGE_CONFIG[_0x4a40a1(0x113)])return{'success':![],'error':_0x4a40a1(0x19e)+IMAGE_CONFIG['QUEUE_LIMIT']+'\x20images).\x20Please\x20wait\x20for\x20current\x20jobs\x20to\x20complete.','queueLength':this['queue'][_0x4a40a1(0x198)]};this[_0x4a40a1(0x1a0)]['push'](_0x183b80),_0x5683ca['push'](_0x248c20),this['logger']?.['info'](_0x4a40a1(0x186)+_0x248c20,{'prompt':_0x56e351[_0x4a40a1(0x184)]['substring'](0x0,0x32)+'...','queuePosition':this[_0x4a40a1(0x1a0)]['length']});}return!this['isProcessing']&&this[_0x4a40a1(0x19d)]()['catch'](_0x4a2274=>{this['logger']?.['error']('Queue\x20processing\x20error:',_0x4a2274);}),{'success':!![],'jobIds':_0x5683ca,'queueLength':this['queue'][_0x4a40a1(0x198)],'message':_0x563979['batch']?_0x5683ca[_0x4a40a1(0x198)]+'\x20images\x20queued\x20for\x20generation':'Image\x20queued\x20for\x20generation','estimatedWaitTime':this[_0x4a40a1(0x19c)]()};}catch(_0x2361b2){return this[_0x4a40a1(0x14a)]?.['error'](_0x4a40a1(0x154),_0x2361b2),{'success':![],'error':_0x2361b2[_0x4a40a1(0x159)]};}}[a0_0x503e1f(0x15b)](_0x20abcd){const _0x142a3e=a0_0x503e1f;if(!_0x20abcd['images']||_0x20abcd[_0x142a3e(0x18f)]['length']===0x0)throw new Error(_0x142a3e(0x153));for(const _0x4402bf of _0x20abcd['images']){if(!_0x4402bf[_0x142a3e(0x184)]||_0x4402bf[_0x142a3e(0x184)][_0x142a3e(0x168)]()['length']===0x0)throw new Error(_0x142a3e(0x15d));if(_0x4402bf[_0x142a3e(0x184)]['length']>IMAGE_CONFIG[_0x142a3e(0x136)])throw new Error(_0x142a3e(0x143)+IMAGE_CONFIG['MAX_PROMPT_LENGTH']+'\x20characters)');if(_0x4402bf['size']&&!IMAGE_CONFIG['VALID_SIZES'][_0x142a3e(0x12a)](_0x4402bf['size']))throw new Error('Invalid\x20size:\x20'+_0x4402bf[_0x142a3e(0x155)]+_0x142a3e(0x16b)+IMAGE_CONFIG['VALID_SIZES']['join'](',\x20'));if(_0x4402bf['outputPath']){const _0x9bfdac=a0_0x5c1e2b[_0x142a3e(0x11b)](_0x4402bf[_0x142a3e(0x139)])['toLowerCase']()['replace']('.','');if(_0x9bfdac&&!IMAGE_CONFIG['VALID_FORMATS']['includes'](_0x9bfdac))throw new Error('Invalid\x20format:\x20'+_0x9bfdac+'.\x20Valid\x20formats:\x20'+IMAGE_CONFIG['VALID_FORMATS'][_0x142a3e(0x175)](',\x20'));}}}async[a0_0x503e1f(0x19d)](){const _0x56422b=a0_0x503e1f;if(this[_0x56422b(0x197)])return;this['isProcessing']=!![];while(this['queue']['length']>0x0){const _0x3079ad=this[_0x56422b(0x1a0)]['shift']();this[_0x56422b(0x15f)]=_0x3079ad,this[_0x56422b(0x14a)]?.['info']('Processing\x20image\x20generation\x20job:\x20'+_0x3079ad['jobId']);try{_0x3079ad[_0x56422b(0x13b)]=_0x56422b(0x11a);const _0xb1b559=await this['_generateImage'](_0x3079ad);_0x3079ad['status']=_0x56422b(0x18c),_0x3079ad['result']=_0xb1b559,_0x3079ad['completedAt']=new Date()[_0x56422b(0x180)](),this['completedJobs'][_0x56422b(0x138)](_0x3079ad[_0x56422b(0x108)],_0x3079ad);if(global['loxiaWebServer']&&_0x3079ad['sessionId']){let _0x4b55a5,_0x4ca935=![];if(_0xb1b559[_0x56422b(0x123)]&&_0xb1b559['resolvedOutputPath'])_0x4b55a5=this[_0x56422b(0x13a)](_0xb1b559['resolvedOutputPath'],_0x3079ad['sessionId']);else _0xb1b559['temporaryUrl']&&(_0x4b55a5=_0xb1b559['temporaryUrl'],_0x4ca935=!![]);global['loxiaWebServer'][_0x56422b(0x11e)](_0x3079ad[_0x56422b(0x16f)],{'type':_0x56422b(0x12e),'agentId':_0x3079ad[_0x56422b(0x191)],'jobId':_0x3079ad[_0x56422b(0x108)],'imageUrl':_0x4b55a5,'localPath':_0xb1b559[_0x56422b(0x164)],'prompt':_0x3079ad['prompt'],'success':!![],'isTemporary':_0x4ca935,'savedToDisk':_0xb1b559['savedToDisk'],'downloadError':_0xb1b559['downloadError'],'timestamp':_0x3079ad['completedAt']}),this['logger']?.['info']('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x3079ad['jobId'],'imageUrl':_0x4b55a5,'localPath':_0xb1b559[_0x56422b(0x164)],'savedToDisk':_0xb1b559['savedToDisk'],'isTemporary':_0x4ca935});if(this['agentPool']&&_0x3079ad['agentId'])try{const _0x2d0c67=await this[_0x56422b(0x17c)][_0x56422b(0x131)](_0x3079ad['agentId']);if(_0x2d0c67){let _0x3ed3ad=_0x56422b(0x14f)+_0x3079ad[_0x56422b(0x184)];_0x4ca935&&(_0x3ed3ad+='\x0a\x0a⚠️\x20**Warning:**\x20Image\x20is\x20using\x20a\x20temporary\x20URL\x20(expires\x20in\x20~1\x20hour).\x20Failed\x20to\x20save\x20to\x20disk.',_0xb1b559[_0x56422b(0x129)]&&(_0x3ed3ad+=_0x56422b(0x120)+_0xb1b559[_0x56422b(0x129)]));const _0x23c8cf={'id':_0x56422b(0x177)+_0x3079ad['jobId'],'role':'assistant','content':_0x3ed3ad,'timestamp':_0x3079ad[_0x56422b(0x163)],'imageUrl':_0x4b55a5,'type':_0x56422b(0x142),'toolId':'image-gen','status':_0x56422b(0x18c),'isTemporary':_0x4ca935||![],'savedToDisk':_0xb1b559[_0x56422b(0x123)]!==![]};_0x2d0c67[_0x56422b(0x170)][_0x56422b(0x10b)][_0x56422b(0x11d)]['push'](_0x23c8cf),_0x2d0c67['conversations']['full']['lastUpdated']=_0x3079ad[_0x56422b(0x163)],_0x2d0c67[_0x56422b(0x16a)]&&_0x2d0c67['conversations'][_0x2d0c67['currentModel']]&&(_0x2d0c67['conversations'][_0x2d0c67[_0x56422b(0x16a)]]['messages'][_0x56422b(0x19b)](_0x23c8cf),_0x2d0c67[_0x56422b(0x170)][_0x2d0c67['currentModel']]['lastUpdated']=_0x3079ad[_0x56422b(0x163)]),_0x2d0c67[_0x56422b(0x17a)]=_0x3079ad['completedAt'],await this[_0x56422b(0x17c)][_0x56422b(0x110)](_0x3079ad[_0x56422b(0x191)]),this[_0x56422b(0x14a)]?.[_0x56422b(0x144)](_0x56422b(0x174),{'agentId':_0x3079ad[_0x56422b(0x191)],'jobId':_0x3079ad[_0x56422b(0x108)],'messageId':_0x23c8cf['id']});}}catch(_0x4cbee9){this['logger']?.[_0x56422b(0x149)]('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x4cbee9['message'],'agentId':_0x3079ad['agentId'],'jobId':_0x3079ad[_0x56422b(0x108)]});}}this['logger']?.[_0x56422b(0x144)](_0x56422b(0x19a)+_0x3079ad['jobId'],{'outputPath':_0xb1b559['resolvedOutputPath']});}catch(_0x2d27b3){this['logger']?.['error']('Image\x20generation\x20failed:\x20'+_0x3079ad[_0x56422b(0x108)],_0x2d27b3),_0x3079ad['status']='failed',_0x3079ad['error']=_0x2d27b3['message'],_0x3079ad[_0x56422b(0x163)]=new Date()['toISOString'](),this[_0x56422b(0x166)][_0x56422b(0x138)](_0x3079ad[_0x56422b(0x108)],_0x3079ad);global[_0x56422b(0x18d)]&&_0x3079ad[_0x56422b(0x16f)]&&(global['loxiaWebServer']['broadcastToSession'](_0x3079ad[_0x56422b(0x16f)],{'type':'imageGenerated','jobId':_0x3079ad[_0x56422b(0x108)],'agentId':_0x3079ad['agentId'],'prompt':_0x3079ad[_0x56422b(0x184)],'success':![],'error':_0x2d27b3['message'],'timestamp':_0x3079ad['completedAt']}),this['logger']?.[_0x56422b(0x144)](_0x56422b(0x165),{'jobId':_0x3079ad[_0x56422b(0x108)],'sessionId':_0x3079ad['sessionId'],'error':_0x2d27b3['message']}));if(this[_0x56422b(0x17c)]&&_0x3079ad[_0x56422b(0x191)])try{const _0x4c2da7=await this['agentPool']['getAgent'](_0x3079ad['agentId']);if(_0x4c2da7){const _0x347be3={'id':'img-error-'+_0x3079ad['jobId'],'role':_0x56422b(0x12f),'content':_0x56422b(0x12b)+_0x2d27b3['message']+_0x56422b(0x150)+_0x3079ad[_0x56422b(0x184)],'timestamp':_0x3079ad['completedAt'],'type':'error','toolId':_0x56422b(0x147),'status':'failed','jobId':_0x3079ad['jobId']};_0x4c2da7['conversations']['full'][_0x56422b(0x11d)]['push'](_0x347be3),_0x4c2da7[_0x56422b(0x170)]['full'][_0x56422b(0x126)]=_0x3079ad[_0x56422b(0x163)],_0x4c2da7['currentModel']&&_0x4c2da7['conversations'][_0x4c2da7[_0x56422b(0x16a)]]&&(_0x4c2da7['conversations'][_0x4c2da7['currentModel']][_0x56422b(0x11d)][_0x56422b(0x19b)](_0x347be3),_0x4c2da7[_0x56422b(0x170)][_0x4c2da7['currentModel']][_0x56422b(0x126)]=_0x3079ad['completedAt']),_0x4c2da7['lastActivity']=_0x3079ad[_0x56422b(0x163)],await this[_0x56422b(0x17c)]['persistAgentState'](_0x3079ad[_0x56422b(0x191)]),this['logger']?.[_0x56422b(0x144)]('Image\x20error\x20saved\x20to\x20conversation\x20history',{'agentId':_0x3079ad['agentId'],'jobId':_0x3079ad[_0x56422b(0x108)],'error':_0x2d27b3['message']});}}catch(_0x535ede){this[_0x56422b(0x14a)]?.[_0x56422b(0x149)](_0x56422b(0x17d),{'error':_0x535ede[_0x56422b(0x159)],'agentId':_0x3079ad['agentId'],'jobId':_0x3079ad['jobId']});}}}this[_0x56422b(0x197)]=![],this[_0x56422b(0x15f)]=null;}async['_generateImage'](_0x11f98f){const _0x6ab16a=a0_0x503e1f;if(!this[_0x6ab16a(0x161)])throw new Error(_0x6ab16a(0x11c));const _0x2e8d0b=await this['_resolveOutputPath'](_0x11f98f),_0x34a3b0=a0_0x5c1e2b[_0x6ab16a(0x176)](_0x2e8d0b);await a0_0x1709fa[_0x6ab16a(0x13f)](_0x34a3b0,{'recursive':!![]}),this['logger']?.['info']('Generating\x20image\x20with\x20'+_0x11f98f[_0x6ab16a(0x181)],{'size':_0x11f98f[_0x6ab16a(0x155)],'quality':_0x11f98f['quality']});const _0x9cce8={'model':_0x11f98f[_0x6ab16a(0x181)],'size':_0x11f98f['size'],'quality':_0x11f98f['quality'],'responseFormat':_0x6ab16a(0x130),'sessionId':_0x11f98f['sessionId']},_0x5827c6=await this[_0x6ab16a(0x161)][_0x6ab16a(0x141)](_0x11f98f[_0x6ab16a(0x184)],_0x9cce8),_0x4661f2=_0x5827c6?.['url']||_0x5827c6?.['imageUrl'];if(!_0x4661f2)throw new Error('No image URL received from AI service');this[_0x6ab16a(0x14a)]?.['info']('Image\x20URL\x20received:\x20'+_0x4661f2['substring'](0x0,0x32)+_0x6ab16a(0x135));let _0x493891=![],_0x1d2258=null;try{await this['_downloadImage'](_0x4661f2,_0x2e8d0b),_0x493891=!![],!_0x11f98f[_0x6ab16a(0x188)]&&this[_0x6ab16a(0x109)](_0x2e8d0b,_0x11f98f['jobId']);}catch(_0x2f63d){_0x1d2258=_0x2f63d['message'],this[_0x6ab16a(0x14a)]?.[_0x6ab16a(0x16c)](_0x6ab16a(0x10f)+_0x2f63d['message']);}return{'jobId':_0x11f98f[_0x6ab16a(0x108)],'prompt':_0x11f98f[_0x6ab16a(0x184)],'outputPath':_0x11f98f['outputPath'],'resolvedOutputPath':_0x493891?_0x2e8d0b:null,'temporaryUrl':_0x4661f2,'savedToDisk':_0x493891,'downloadError':_0x1d2258,'success':!![],'model':_0x5827c6['model']||_0x11f98f[_0x6ab16a(0x181)],'size':_0x11f98f['size'],'usage':_0x5827c6[_0x6ab16a(0x151)]};}async[a0_0x503e1f(0x14c)](_0x3974d8){const _0x1f8a79=a0_0x503e1f;if(_0x3974d8['saveToProject']){const _0x562e99=_0x3974d8[_0x1f8a79(0x116)]||process[_0x1f8a79(0x187)]();let _0x333e00=_0x3974d8['outputPath'];if(!_0x333e00){const _0x5029b6=Date[_0x1f8a79(0x16d)]();_0x333e00=_0x1f8a79(0x122)+_0x5029b6+_0x1f8a79(0x15e);}const _0x5b436b=a0_0x5c1e2b['isAbsolute'](_0x333e00)?a0_0x5c1e2b['normalize'](_0x333e00):a0_0x5c1e2b['normalize'](a0_0x5c1e2b[_0x1f8a79(0x175)](_0x562e99,_0x333e00));if(!_0x5b436b['startsWith'](a0_0x5c1e2b['normalize'](_0x562e99)))throw new Error(_0x1f8a79(0x132));if(_0x3974d8[_0x1f8a79(0x193)]){const _0xc5efe5=a0_0x5c1e2b['relative'](_0x562e99,_0x5b436b);if(_0xc5efe5[_0x1f8a79(0x195)]('..'))throw new Error(_0x1f8a79(0x18b));}return _0x5b436b;}else{await a0_0x1709fa['mkdir'](this[_0x1f8a79(0x10c)],{'recursive':!![]});let _0x3d5bca=_0x3974d8['outputPath']?a0_0x5c1e2b[_0x1f8a79(0x12c)](_0x3974d8['outputPath']):_0x1f8a79(0x117)+_0x3974d8['jobId']+'.png';return a0_0x5c1e2b['join'](this['tempDir'],_0x3d5bca);}}async['_downloadImage'](_0x47b67c,_0x5f2969){const _0x569d75=a0_0x503e1f;try{const _0x53c68d=await fetch(_0x47b67c,{'signal':AbortSignal[_0x569d75(0x171)](IMAGE_CONFIG[_0x569d75(0x114)])});if(!_0x53c68d['ok'])throw new Error('Failed\x20to\x20download\x20image:\x20HTTP\x20'+_0x53c68d['status']);const _0x306075=Buffer['from'](await _0x53c68d[_0x569d75(0x124)]());await a0_0x1709fa[_0x569d75(0x162)](_0x5f2969,_0x306075),this[_0x569d75(0x14a)]?.[_0x569d75(0x144)](_0x569d75(0x15c)+_0x5f2969);}catch(_0xb979b3){if(_0xb979b3['name']==='TimeoutError')throw new Error('Image\x20download\x20timeout');else{if(_0xb979b3['name']==='TypeError')throw new Error('Network\x20error:\x20'+_0xb979b3['message']);else throw new Error('Download\x20failed:\x20'+_0xb979b3['message']);}}}['_scheduleCleanup'](_0x2a7050,_0x5c1404){const _0xbcfbf5=setTimeout(async()=>{const _0x520078=a0_0x78d6;try{await a0_0x1709fa['unlink'](_0x2a7050),this['logger']?.[_0x520078(0x112)]('Cleaned\x20up\x20temp\x20image:\x20'+_0x2a7050),this[_0x520078(0x11f)]['delete'](_0x5c1404);}catch(_0x2f035b){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this['cleanupTimers']['set'](_0x5c1404,_0xbcfbf5);}[a0_0x503e1f(0x13a)](_0x5706d6,_0x18e62e){const _0x1fb2fd=a0_0x503e1f,_0x355bd0=a0_0x5c1e2b['basename'](_0x5706d6),_0x599d31=global['loxiaWebServer']?.['port']||0x1f90;let _0x780e86=global['loxiaWebServer']?.[_0x1fb2fd(0x17e)]||_0x1fb2fd(0x14d);return _0x780e86==='0.0.0.0'&&(_0x780e86='localhost'),_0x1fb2fd(0x12d)+_0x780e86+':'+_0x599d31+_0x1fb2fd(0x196)+_0x18e62e+'/'+_0x355bd0;}[a0_0x503e1f(0x19c)](){const _0x59af6a=a0_0x503e1f,_0x5737a4=0x1e,_0x180c2b=this[_0x59af6a(0x1a0)][_0x59af6a(0x198)];if(_0x180c2b===0x0)return'~30\x20seconds';const _0x2cfe71=_0x180c2b*_0x5737a4,_0x45150a=Math[_0x59af6a(0x14b)](_0x2cfe71/0x3c),_0x328291=_0x2cfe71%0x3c;if(_0x45150a>0x0)return'~'+_0x45150a+'m\x20'+_0x328291+'s';return'~'+_0x328291+'s';}[a0_0x503e1f(0x19f)](){const _0x14c1f2=a0_0x503e1f;return _0x14c1f2(0x107)+Date[_0x14c1f2(0x16d)]()+'-'+Math[_0x14c1f2(0x140)]()['toString'](0x24)['substring'](0x2,0x9);}['getJobStatus'](_0x2d2e6f){const _0x5bf954=a0_0x503e1f;if(this[_0x5bf954(0x166)]['has'](_0x2d2e6f))return this[_0x5bf954(0x166)]['get'](_0x2d2e6f);if(this['currentJob']&&this['currentJob']['jobId']===_0x2d2e6f)return this[_0x5bf954(0x15f)];const _0x1a33dd=this['queue']['find'](_0x2fe587=>_0x2fe587[_0x5bf954(0x108)]===_0x2d2e6f);if(_0x1a33dd)return _0x1a33dd;return{'jobId':_0x2d2e6f,'status':'not_found'};}async[a0_0x503e1f(0x167)](){const _0x3efe64=a0_0x503e1f;this[_0x3efe64(0x14a)]?.['info'](_0x3efe64(0x125));for(const _0x4809b2 of this[_0x3efe64(0x11f)][_0x3efe64(0x178)]()){clearTimeout(_0x4809b2);}this[_0x3efe64(0x11f)]['clear']();for(const _0x50345b of this['queue']){_0x50345b['status']='cancelled';}this[_0x3efe64(0x1a0)]=[];}}export default ImageTool;function a0_0x5cf2(){const _0x3443e1=['zgLYBMfTzq','Aw1NlxjLC3vSDc0','DMfSDwvZ','mZyYwM9gEK5A','BgfZDefJDgL2Axr5','otuXmta5oxfyELHhsG','ywDLBNrqB29S','rMfPBgvKihrVihnHDMuGAw1Hz2uGzxjYB3iGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','Ag9ZDa','ntC2mtDHzgrMzNK','Dg9ju09tDhjPBMC','Bw9KzwW','CxvHBgL0Eq','CgfYyw1LDgvYCW','ChjVBxb0','C3rYAw5N','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','y3DK','C2f2zvrVuhjVAMvJDa','nteYEduXmG','Dg1WzgLY','qwnJzxnZigrLBMLLzdOGCgf0AcbVDxrZAwrLihbYB2PLy3qGzgLYzwn0B3j5','y29TCgXLDgvK','Bg94Awfxzwjtzxj2zxi','zxHLyW','Aw1Hz2vZ','oxvNt0TcBG','ywDLBNrjza','mJi2odv4z2znsLm','zgLYzwn0B3j5qwnJzxnZ','mJq0nhzkq1DXvq','C3rHCNrZv2L0Aa','l2fWAs9PBwfNzxmV','AxnqCM9JzxnZAw5N','BgvUz3rO','Bg94AweTAw1Hz2vZ','sw1Hz2uGz2vUzxjHDgLVBIbJB21WBgv0zwq6ia','ChvZAa','x2vZDgLTyxrLv2fPDfrPBwu','x3bYB2nLC3nrDwv1zq','uxvLDwuGBgLTAxqGCMvHy2HLzcaO','x2DLBMvYyxrLsM9Iswq','CxvLDwu','Aw1Nlq','AM9Iswq','x3nJAgvKDwXLq2XLyw51Ca','mZCWyLL6q1zW','zNvSBa','DgvTCerPCG','ndeWoti3tfzOCe1u','AxnbCNjHEq','rMfPBgvKihrVihnHDMuGAw1Hz2uGDg8GzgLZAYWGD2LSBcb1C2uGDgvTCg9Yyxj5ifvstdOG','CgvYC2LZDefNzw50u3rHDgu','B3v0Chv0lxbHDgG','zgvIDwC','uvvfvuvFteLnsvq','re9xtKXpqurFveLnru9vva','qwDLBNrqB29SihnLDcbMB3iGsw1Hz2vuB29S','ChjVAMvJDerPCG','z2vUzxjHDgvKlq','revgqvvmvf9tsvPf','z2v0rgvZy3jPChrPB24','ChjVy2vZC2LUzW','zxH0BMfTzq','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLlIbjBwfNzsbNzw5LCMf0Aw9UihjLCxvPCMvZiefjihnLCNzPy2uU','BwvZC2fNzxm','yNjVywrJyxn0vg9tzxnZAw9U','y2XLyw51CfrPBwvYCW','cIOQrxjYB3i6kIOG','mZe0ntu3nLfNB1zpDG','Aw1Hz2vZl2DLBMvYyxrLzc0','C2f2zwruB0rPC2S','yxjYyxLcDwzMzxi','u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','BgfZDfvWzgf0zwq','CgfYC2vqyxjHBwv0zxjZ','yMf0y2G','zg93BMXVywrfCNjVCG','Aw5JBhvKzxm','4P2mieLTywDLigDLBMvYyxrPB24GzMfPBgvKoIa','yMfZzw5HBwu','Ahr0CdOVlW','Aw1Hz2vhzw5LCMf0zwq','C3LZDgvT','DxjS','z2v0qwDLBNq','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0','x3bHCNnLsw1Hz2vqyxjHBxm','lI4U','tufyx1bst01qvf9mru5hveG','x3bHCNnLsLnptLbHCMfTCW','C2v0','B3v0Chv0ugf0Aa','x2nVBNzLCNruB1DLyLvYBa','C3rHDhvZ','revgqvvmvf9nt0rfta','mtj3CezgDKS','tM8GDMfSAwqGAw1Hz2uGCgfYyw1LDgvYCYbMB3vUza','BwTKAxi','CMfUzg9T','z2vUzxjHDgvjBwfNzq','Aw1Hz2uTCMvZDwX0','uhjVBxb0ihrVBYbSB25NicHTyxGG','Aw5MBW','BwfW','yxP1CMuTB3bLBMfPlwrHBgXLmW','Aw1Hz2uTz2vU','ntGYv0f0r0XV','zxjYB3i','Bg9Nz2vY','zMXVB3i','x3jLC29SDMvpDxrWDxrqyxrO','Bg9JywXOB3n0','B2jQzwn0','sw1Hz2uGz2vUzxjHDgvKoIa','cGOQkLbYB21WDdOQkIa','DxnHz2u','C2v0quLtzxj2AwnL','tM8GAw1Hz2vZihnWzwnPzMLLza','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','C2L6zq','x3bHCNnLwe1msw1Hz2u','zxHLy3v0zq','C3rHBMrHCMq','BwvZC2fNzq','revgqvvmvf9rvufmsvrz','x3zHBgLKyxrLugfYyw1LDgvYCW','sw1Hz2uGC2f2zwqGDg86ia','sw1Hz2uGChjVBxb0igLZihjLCxvPCMvK','lNbUzW','y3vYCMvUDePVyG','vg9VBdOGsw1Hz2uGr2vUzxjHDg9Yic0Gr2vUzxjHDguGAw1Hz2vZihvZAw5Niefjig1VzgvSCWOkkIPqDxjWB3nLoIOQieDLBMvYyxrLigLTywDLCYbMCM9TihrLEhqGzgvZy3jPChrPB25ZihvZAw5NierbteWTrsaZihzPysbbENvYzsbpCgvUquKUieLTywDLCYbHCMuGC2f2zwqGDg8GzMLSzxmGyw5KigrPC3bSyxLLzcbPBIb0AguGy2HHDc4kcIOQq1jjveLdquW6ief1Dg9TyxrPyYbfEgvJDxrPB24QkGOTiefowsbGygbQC29UigjSB2nRihDPDgGGiNrVB2Xjzci6icjPBwfNzs1Nzw4IihDPBgWGyMuGrvHfq1vuruqGsu1nrurjqvrftfKklsbbtLKGpgLTywDLlwDLBJ4Gwe1mihrHzYb3AwXSigjLievyrunvveveieLntuvesufuruXzcI0Gre8GtK9uihnOB3CGzxHHBxbSzxmGB3iGyxnRihbLCM1PC3nPB24GlsbQDxn0ig91Dhb1Dcb0AguGy29TBwfUzcb3AgvUihLVDsb3yw50ihrVigDLBMvYyxrLigfUigLTywDLcI0GswyGz2vUzxjHDgLVBIbMywLSCYWGB3v0Chv0igeGtKvxignVBw1HBMqGD2L0AcbJB3jYzwn0Aw9UCYaTigrVie5pvcbLEhbSywLUig9YihnOB3CGzxHHBxbSzxmkcIOQsw52B2nHDgLVBIbtEw50yxG6kIOkcLHntcbgB3jTyxqGkfbsruzfuLjfrcK6cJXPBwfNzs1Nzw4+cIaGphbYB21WDd5ezxrHAwXLzcbKzxnJCMLWDgLVBIbVzIb0AguGAw1Hz2u8l3bYB21WDd4kica8B3v0Chv0lxbHDgG+Aw1Hz2vZl2zPBgvUyw1LlNbUzZWVB3v0Chv0lxbHDgG+cIaGpg1VzgvSpMf6DxjLlw9Wzw5HAs1KywXSztm8l21VzgvSpGOGidXZAxPLpJeWmJr4mtaYndWVC2L6zt4kpc9PBwfNzs1Nzw4+cGPku09oiezVCM1HDcaOywXZBYb3B3jRCYK6cMbGygPZB24kEWOGicj0B29SswqIoIaIAw1Hz2uTz2vUiIWkicaICgfYyw1LDgvYCYi6ihSkicaGicjWCM9TChqIoIaIrgv0ywLSzwqGzgvZy3jPChrPB24IlaOGicaGiM91Dhb1DfbHDgGIoIaIAw1Hz2vZl2zPBgvUyw1LlNbUzYiScIaGicaIBw9KzwWIoIaIyxP1CMuTB3bLBMfPlwrHBgXLmYiScIaGicaIC2L6zsi6iciXmdi0EdeWmJqIcIaGFqP9cMbGyaOkkIPqyxjHBwv0zxjZoIOQcI0GkIPWCM9TChqQkIaOC3rYAw5NlcbYzxf1AxjLzcK6ierLDgfPBgvKigrLC2nYAxb0Aw9Uig9MihrOzsbPBwfNzsb0BYbNzw5LCMf0zqOTicOQB3v0Chv0ugf0AcOQicHZDhjPBMCSig9WDgLVBMfSktOGuMvSyxrPDMuGCgf0AcbMB3iGC2f2Aw5NihrOzsbPBwfNzqOGic0GswyGC3bLy2LMAwvKoIbtyxzLCYb0BYbWCM9Qzwn0igrPCMvJDg9YEsbHDcb0AgLZihbHDgGGkhbLCM1HBMvUDcKkicaTieLMig9TAxr0zwq6ifnHDMvZihrVihrLBxaGzgLYzwn0B3j5icHHDxrVlwrLBgv0zwqGywz0zxiGmsbOB3vYkqOTicOQBw9KzwWQkIaOC3rYAw5NlcbVChrPB25HBcK6iefjig1VzgvSihrVihvZzs4GrgvMyxvSDdOGiMf6DxjLlw9Wzw5HAs1KywXSztmIcI0GkIPZAxPLkIOGkhn0CMLUzYWGB3b0Aw9UywWPoIbjBwfNzsbZAxPLlIbpChrPB25ZoIaYntz4mJu2lca1mtj4nteYlcaXmdi0EdeWmJqSideWmJr4mtC5mIWGmtC5mNGXmdi0lIbezwzHDwX0oIaImtaYnhGXmdi0iGOTicOQCxvHBgL0EsOQicHZDhjPBMCSig9WDgLVBMfSktOGsw1Hz2uGCxvHBgL0Es4Gt3b0Aw9UCZOGC3rHBMrHCMqSigHKlIbezwzHDwX0oIaIC3rHBMrHCMqIcGOQkLn0B3jHz2uGqMvOyxzPB3i6kIOklsbxAxrOig91Dhb1DfbHDgG6ifnHDMvKihrVihbYB2PLy3qGzgLYzwn0B3j5icHWzxjTyw5LBNqPcI0Gv2L0Ag91DcbVDxrWDxrqyxrOoIbtyxzLzcb0BYb0zw1WigrPCMvJDg9YEsWGyxv0BY1KzwXLDgvKigfMDgvYideGAg91CGOkkIPvC2fNzsbjBNn0CNvJDgLVBNm6kIOkms4Gv2HLBIb1C2vYihjLCxvLC3rZigfUigLTywDLlcbVDxrWDxqGDgHLidXPBwfNzs1Nzw4+ihrHzYbjtu1freLbvevmwqOYlIbetYbot1qGyxnRigzVCIbWzxjTAxnZAw9Uig9YihnOB3CGzxHHBxbSzxmGzMLYC3qkmY4Gre8GtK9uigv4CgXHAw4GDgHLigzVCM1HDcaTigP1C3qGDxnLigL0cJqUieLMigL0igzHAwXZlcbYzxrYEsb3AxrOigeGy29YCMvJDgvKignVBw1HBMqGkg5Vigv4CgXHBMf0Aw9UCYKkns4Gt25SEsbNzw5LCMf0zsbptKuGAw1Hz2uGyxqGysb0Aw1LicHUBYbIyxrJAcbTB2rLig5LzwrLzcKkcIOQq29YCMvJDcbvC2fNzsbqyxr0zxjUoIOQcGPvC2vYoIaIy3jLyxrLigeGC3vUC2v0igLTywDLiGPzB3u6idXPBwfNzs1Nzw4+cIaGphbYB21WDd5bigjLyxv0Awz1BcbZDw5ZzxqGB3zLCIb0AguGB2nLyw4GD2L0Acb2AwjYyw50ig9Yyw5NzsbHBMqGCgLUAYbJB2XVCNmGCMvMBgvJDgLUzYbVBIbJywXTihDHDgvYCZWVChjVBxb0pGOGidXVDxrWDxqTCgf0Ad5PBwfNzxmVC3vUC2v0lNbUzZWVB3v0Chv0lxbHDgG+cJWVAw1Hz2uTz2vUpGOkkIPxuK9orYbvC2fNzsbqyxr0zxjUicHetYbot1qGre8GveHjuYK6kIOkcLvZzxi6icjJCMvHDguGysbZDw5ZzxqGAw1Hz2uIcLLVDtOGiKKNBgWGz2vUzxjHDguGDgHHDcbPBwfNzsbMB3iGEw91lIbizxjLj3mGDgHLignVBw1HBMq6cMbGyhHTBaO8Aw1Hz2uTz2vUpI4UlJWVAw1Hz2uTz2vUpGPGygakrg8GEw91ihDHBNqGBwuGDg8GChjVy2vLzd8IcUkgKcbuAgLZigLZifDst05higjLy2f1C2uGDgHLignVBw1HBMqGywXYzwfKEsbLEgvJDxrLzcb3AgvUihLVDsbZAg93zwqGAxqHcGOQkLjLCxvPCMvKifbHCMfTzxrLCNm6kIOklsbWCM9TChq6ierLDgfPBgvKlcbKzxnJCMLWDgL2zsb0zxH0icHIzsbJCMvHDgL2zsbHBMqGC3bLy2LMAwmPcI0GBw9KzwW6iefSD2f5CYb1C2uGiMf6DxjLlw9Wzw5HAs1KywXSztmIcI0GC2L6ztOGvxnLiciXmdi0EdeWmJqIigzVCIbZCxvHCMuSiciXmdi0Ede3otiIigzVCIbWB3j0CMfPDcWGiJe3otj4mtaYnciGzM9YigXHBMrZy2fWzqOkkIPpChrPB25HBcbqyxjHBwv0zxjZoIOQcI0GB3v0Chv0lxbHDgG6ifjLBgf0AxzLihbHDgGGBgLRzsaIAw1Hz2vZl2zPBgvUyw1LlNbUzYiGkg9TAxqGzM9YihrLBxaGzMLSzsKklsbXDwfSAxr5oIaIC3rHBMrHCMqIig9YicjOzciGkgrLzMf1Bhq6ihn0yw5KyxjKkqOkkIPjBxbVCNrHBNqGtM90zxm6kIOklsbjBwfNzxmGDgfRzsaXns0ZmcbZzwnVBMrZihrVigDLBMvYyxrLcI0Gww91j2XSigDLDcbPBw1LzgLHDguGy29UzMLYBwf0Aw9UihDPDgGGysbQB2iGsuqklsbuAguGAw1Hz2uGyxbWzwfYCYbHDxrVBwf0AwnHBgX5ihDOzw4Gy29TCgXLDguklsbczsbKzxnJCMLWDgL2zsbPBIbWCM9TChrZigzVCIbIzxr0zxiGCMvZDwX0CWOTie1HEgLTDw0G','ywLtzxj2AwnL','D3jPDgvgAwXL','y29TCgXLDgvKqxq','CMvZB2X2zwrpDxrWDxrqyxrO','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCIbICM9HzgnHC3qGC2vUDa','y29TCgXLDgvKsM9ICW','y2XLyw51Ca','DhjPBq','ANbLzW','y3vYCMvUDe1VzgvS','lIbwywXPzcbZAxPLCZOG','D2fYBG','BM93','nJeYouPOrxPlva','C2vZC2LVBKLK','y29UDMvYC2f0Aw9UCW','DgLTzw91Da','ndjuvuXNt04','x3bHCNnLwe1mugfYyw1Z','sw1Hz2uGCMvZDwX0ihnHDMvKihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','AM9PBG'];a0_0x5cf2=function(){return _0x3443e1;};return a0_0x5cf2();}
@@ -1 +1 @@
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','vg9VBdOGsw1WB3j0iefUywX5EMvYic0Gqw5HBhL6zsbkyxzHu2nYAxb0l1r5Cgvty3jPChqGAw1WB3j0CYbHBMqGzxHWB3j0CWOkkIPqDxjWB3nLoIOQiefUywX5EMvZiePHDMfty3jPChqVvhLWzvnJCMLWDcbWCM9Qzwn0CYb0BYbKzxrLy3qGyNjVA2vUigLTCg9YDhmSig1PC3nPBMCGzxHWB3j0CYWGy2LYy3vSyxiGzgvWzw5Kzw5JAwvZlcbHBMqGDw51C2vKigv4Cg9YDhmUcGOQkKLUDM9JyxrPB24Gu3LUDgf4oIOQcGPytuWGrM9YBwf0oGPGygb4BwWkpgLTCg9YDc1HBMfSExPLCJ4kica8Cgf0Ad4Ul3nYyZWVCgf0Ad4kica8Bw9Kzt5MDwXSpc9TB2rLpGOGidXVDxrWDxq+C3vTBwfYEtWVB3v0Chv0pGOGidXPz25VCMuTzMLSzt4Uz2L0AwDUB3jLpc9Pz25VCMuTzMLSzt4kpc9PBxbVCNqTyw5HBhL6zxi+cMbGyaOksLnptIbgB3jTyxq6cMbGygPZB24kEWOGicj0B29SswqIoIaIAw1WB3j0lwfUywX5EMvYiIWkicaICgfYyw1LDgvYCYi6ihSkicaGicjWyxrOiJOGiI4VC3jJiIWkicaGicjTB2rLiJOGiMz1BgWIlaOGicaGiM91Dhb1Dci6icjZDw1Tyxj5iIWkicaGicjPz25VCMvgAwXLiJOGiI5NAxrPz25VCMuIcIaGFqP9cMbGyaOkkIPqyxjHBwv0zxjZoIOQcI0GkIPWyxrOkIOGkhn0CMLUzYWGB3b0Aw9UywWPoIbqyxrOihrVigrPCMvJDg9YEsb0BYbHBMfSExPLlIbezwzHDwX0oIaIlIiklsaQkM1VzguQkIaOC3rYAw5NlcbVChrPB25HBcK6iefUywX5C2LZig1VzguUie9WDgLVBNm6cIaGlsaIzNvSBciGlsbdB21WBgv0zsbHBMfSExnPCYaOzgvMyxvSDcKkicaTicjXDwLJAYiGlsbgyxn0ihnJyw4GzM9Yig1PC3nPBMCGzMLSzxmGB25SEqOGic0GiMzPEciGlsbjBMnSDwrLCYbMAxGGC3vNz2vZDgLVBNmklsaQkM91Dhb1DcOQicHZDhjPBMCSig9WDgLVBMfSktOGt3v0Chv0igzVCM1HDc4Gt3b0Aw9UCZOkicaTicjZDw1Tyxj5iIaTienVBMnPC2uGC3vTBwfYEsaOzgvMyxvSDcKkicaTicjKzxrHAwXLzciGlsbgDwXSihjLCg9YDcb3AxrOigzPEgvZcIaGlsaIANnVBIiGlsbnywnOAw5LlxjLywrHyMXLigzVCM1HDaOTicOQAwDUB3jLrMLSzsOQicHZDhjPBMCSig9WDgLVBMfSktOGswDUB3jLigzPBguGBMfTzs4GrgvMyxvSDdOGiI5NAxrPz25VCMuIcGOQkLDOyxqGsxqGrgv0zwn0CZOQkGOTie1PC3nPBMCGzMLSzxmGkgLTCg9YDhmGCg9PBNrPBMCGDg8GBM9Ulwv4Axn0zw50igzPBgvZkqOTie1PC3nPBMCGzxHWB3j0CYaOC3LTyM9SCYbUB3qGzxHWB3j0zwqGzNjVBsb0yxjNzxqGzMLSzxmPcI0Gq2LYy3vSyxiGzgvWzw5Kzw5JAwvZicHMAwXLCYb0Agf0igrLCgvUzcbVBIbLywnOig90AgvYigLUigeGBg9VCcKklsbvBNvZzwqGzxHWB3j0CYaOzxHWB3j0CYbUzxzLCIbPBxbVCNrLzcbHBNL3AgvYzsKkcIOQrxHHBxbSzxm6kIOkcJeUiff1AwnRihbYB2PLy3qGC2nHBJOkygbGEg1ScJXPBxbVCNqTyw5HBhL6zxi+cIaGpg1Vzgu+CxvPy2S8l21Vzgu+cJWVAw1WB3j0lwfUywX5EMvYpGPGygakcJiUiez1BgWGyw5HBhLZAxmGD2L0AcbKzxrHAwXLzcbYzxbVCNq6cMbGyhHTBaO8Aw1WB3j0lwfUywX5EMvYpGOGidXTB2rLpMz1BgW8l21Vzgu+cIaGpg91Dhb1Dd5KzxrHAwXLzdWVB3v0Chv0pGO8l2LTCg9YDc1HBMfSExPLCJ4kygbGcGOZlIbbBMfSExPLihnWzwnPzMLJigrPCMvJDg9YEtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjPBxbVCNqTyw5HBhL6zxiIlaOGicjWyxjHBwv0zxjZiJOGEYaICgf0Aci6iciUl3nYyY9JB21WB25LBNrZiIWGiM1VzguIoIaIzNvSBciGFqP9cMbGyaOkkIPoB3rLCZOQkGOTifn1ChbVCNrZievtnIbTB2r1BgvZicHPBxbVCNqVzxHWB3j0ksbHBMqGq29TBw9UsLmGkhjLCxvPCMuVBw9KDwXLlMv4Cg9YDhmPcI0GuMvZCgvJDhmGlMDPDgLNBM9YzsbWyxr0zxjUCWOTienVCNjLy3rSEsbOyw5KBgvZignVBw1LBNrLzcbPBxbVCNrZigfUzcbTDwX0As1SAw5Lihn0yxrLBwvUDhmklsbxB3jRCYb3AxrOic5QCYWGlM1QCYWGlNrZlcaUANn4lcaUDhn4igzPBgvZ','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
+ const a0_0x1953d1=a0_0x5324;(function(_0x270f57,_0x5ab563){const _0x22e342=a0_0x5324,_0x42a494=_0x270f57();while(!![]){try{const _0x2dff84=-parseInt(_0x22e342(0x19c))/0x1+-parseInt(_0x22e342(0x17e))/0x2*(parseInt(_0x22e342(0x13c))/0x3)+-parseInt(_0x22e342(0x1b7))/0x4*(-parseInt(_0x22e342(0x1bb))/0x5)+-parseInt(_0x22e342(0x1cc))/0x6*(-parseInt(_0x22e342(0x197))/0x7)+parseInt(_0x22e342(0x130))/0x8*(parseInt(_0x22e342(0x1b0))/0x9)+-parseInt(_0x22e342(0x15e))/0xa+parseInt(_0x22e342(0x129))/0xb;if(_0x2dff84===_0x5ab563)break;else _0x42a494['push'](_0x42a494['shift']());}catch(_0xa65f77){_0x42a494['push'](_0x42a494['shift']());}}}(a0_0x5e67,0xe93fb));import{promises as a0_0x3a148f}from'fs';import a0_0x13b131 from'path';function a0_0x5e67(){const _0x4c4f88=['BMfTzwq','C2XPy2u','DhjPBq','ihn5BwjVBhmGBM90igv4Cg9YDgvKigzYB20GDgHLAxiGC291CMnLCW','t3v0Chv0oIa','zMLUzfvUDxnLzev4Cg9YDhm','x2zVCM1HDerLDgfPBgvKt3v0Chv0','zgv0ywLSzwq','Cgf0Aa','mtqZodm0nZbIzu1IvuG','y2LYy3vSyxjezxbLBMrLBMnPzxm','BwvZC2fNzq','BwLZC2LUz0v4Cg9YDhm','ugfYyw1LDgvYCYbTDxn0igjLigfUig9IAMvJDa','zgvIDwC','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw4OCYK','zNjVBq','D29YA2LUz0rPCMvJDg9YEq','icaGia','ywrK','8j+tPsbuB3rHBcbPBxbVCNrZoIa','lMPZ','AwDUB3jLlwzPBgu','revgqvvmvf9nt0rf','icaXlIbgAxGG','ig1PC3nPBMCGzxHWB3j0khmP','zMLSzu5VDezVDw5Ksw1WB3j0CW','z2v0','B2jQzwn0','sw52ywXPzcbTB2rLoIa','yNvPBgq','AxngAwXL','icaGicaG8j+sOsbgAxG6ierPzcb5B3uGBwvHBIaI','C3rHCNrZv2L0Aa','igHHCYa','yw5HBhL6zq','icaGiokaOIa','ugf0AcbKB2vZig5VDcbLEgLZDdOG','icHTyxG6ia','id4G','Dg90ywXgAwXLCW','mZqZmZm2DuDXzNLx','B3v0Chv0','Bg9HzeLNBM9YzuzPBgu','C2HVDwXKswDUB3jLrMLSzq','revgqvvmvf9jr05puKvFrKLmrq','CMvZB2X2zuLTCg9YDfbHDgG','Aw5JBhvKzxm','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw5ZigrLDgvJDgvK','CgfYC2vqyxjHBwv0zxjZ','icaGicaG8j+tPcbbDMfPBgfIBguGzxHWB3j0CZOG','lMDPDa','zw50CMLLCW','4P2mie1PC3nPBMCGzMLSzxm6ia','icaGicaG8j+sOsbgAxG6iefKzcbLEhbVCNrZihrVia','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','BwfW','sw1WB3j0igfUywX5C2LZignVBxbSzxrLza','yxzHAwXHyMXLrxHWB3j0CW','lIbnDxn0igjLig9UzsbVzJOG','cVcFK4qG','sw1WB3j0igfUywX5EMvYigv4zwn1DgLUzW','q2fUBM90ihjLywqGzgLYzwn0B3j5','z2v0rgvZy3jPChrPB24','icaG4PQG77Ipicbdyw5UB3qGzMLUzcbMAwXLoIa','AgfZ','ndaYmdHWweLuC04','zM9YrwfJAa','icaGipcFKQeGrML4oIbszwzHy3rVCIb0BYbICMvHAYb0AguGy2LYy3vSyxiGzgvWzw5Kzw5JEq','y292zxjHz2u','icaGicaG8j+sOsbgAxG6ie5VigrLzMf1BhqGzxHWB3j0lIbvC2uGBMfTzwqGAw1WB3j0oIb7ia','mtCXnJC0m0nIvKvjDa','vKfmsurFtu9ervm','sw1WB3j0igfUywX5EMvYigvYCM9YoG','icaGvw51C2vKoIa','icaGicaGrNjVBsbMAwXLoIa','iIaO','Dg90ywXfEhbVCNrZ','BgvUz3rO','AxnezwzHDwX0','igLZC3vLkhmPihrOyxqGBMvLzcbHDhrLBNrPB246','l2LUzgv4lNrZEa','rM91BMqGzMLSzxm','C3bSAxq','C2L6zq','AM9PBG','ig1PC3nPBMCGzMLSzsbYzwzLCMvUy2uOCYK','8j+tIIbjBxbVCNqVrxHWB3j0iefUywX5C2LZifn1Bw1HCNK','igLTCg9YDhmG','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','lMPZEa','mJG3mJG5qK9SzMjI','uNvUBMLUzYbMDwXSigfUywX5C2LZ','Dw51C2vKrxHWB3j0CW','C3rHDa','BM9YBwfSAxPL','ChvZAa','zxHLyW','ndeWotzJEK5pqwS','Aw5MBW','rM91BMqG','icaGicaGvgHLEsbTAwDODcbIzsb1C2vKigj5igv4DgvYBMfSihbHy2THz2vZig9YignVDwXKigjLihjLBw92zwq','nZCWrxDitvPn','yxr0CMLIDxrLCW','Aw5KzxHpzG','AwDUB3jLugf0DgvYBNm','AxneAxjLy3rVCNK','C2v0','DgvZDa','z2v0uMvSyxrPDMvqyxrO','ywnJzxnZ','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','x3zHBgLKyxrLugfYyw1LDgvYCW','zNvSBa','C29Tzq','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','zgLYBMfTzq','x2zVCM1HDfn1Bw1HCNLpDxrWDxq','C3rYAw5NAwz5','mtiZmfnysMzdBq','zML4','DxrMltG','zgvWzw5Kzw5JAwvZ','CMvHzezPBgu','Aw1WB3j0zwrgCM9TrMLSzq','rMLSzsbJB3vUDcbLEgnLzwrZigXPBwL0oIa','ANnVBG','mJi1ndq0ntzxyxLcvvm','CgfYC2vjBxbVCNrZ','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','CM9VDerPCG','yMfZzw5HBwu','A2v5CW','revgqvvmvf9pvvrqvvq','ndbXy01fExG','cIaGtwLZC2LUzYbfEhbVCNrZoG','icaGicaGvhj5Aw5NihrVigLTCg9YDdOG','tufyx0zjtevt','zgvSzxrL','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','CxvPy2S','zxHWB3j0CW','zMLUzenPCMn1BgfYrgvWzw5Kzw5JAwvZ','Axnoyw1LC3bHy2u','BwLZC2LUz0zPBgvZ','icaGicaG8j+tPcboBYbLEhbVCNrZigzVDw5KigLUihrHCMDLDcbMAwXL','mtvhywf2ANe','CMvZB2X2zq','C3vTBwfYEq','Aw1WB3j0CW','iokgKIa','C3rYAw5N','lMDPDgLNBM9Yzq','CMvKDwnL','CgfYC2vfEhbVCNrZ','BMfTzq','8j+tPcbuB3rHBcbLEhbVCNrZoIa','zxHPC3rZ','vKfmsurFt1vuufvuuW','Dg9mB3DLCKnHC2u','zxH0BMfTzq','l2LUzgv4lMPZ','AxnfEhrLCM5HBa','qw5HBhLZAxmGy29TCgXLDgu','Bw9Kzq','Bwf0y2G','lNrZ','Bg9Nz2vY','C3LTyM9StMfTzq','DMfSDwvZ','Aw1WB3j0zwrtEw1IB2W'];a0_0x5e67=function(){return _0x4c4f88;};return a0_0x5e67();}import{BaseTool}from'./baseTool.js';function a0_0x5324(_0x163565,_0x1beab0){_0x163565=_0x163565-0x123;const _0x5e673b=a0_0x5e67();let _0x5324e4=_0x5e673b[_0x163565];if(a0_0x5324['AMxbcx']===undefined){var _0xfe70d6=function(_0x24fbcd){const _0x3fb7e9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a148f='',_0x13b131='';for(let _0x454bba=0x0,_0x43fa53,_0x159bf8,_0x20e89b=0x0;_0x159bf8=_0x24fbcd['charAt'](_0x20e89b++);~_0x159bf8&&(_0x43fa53=_0x454bba%0x4?_0x43fa53*0x40+_0x159bf8:_0x159bf8,_0x454bba++%0x4)?_0x3a148f+=String['fromCharCode'](0xff&_0x43fa53>>(-0x2*_0x454bba&0x6)):0x0){_0x159bf8=_0x3fb7e9['indexOf'](_0x159bf8);}for(let _0x361188=0x0,_0x3d2ea2=_0x3a148f['length'];_0x361188<_0x3d2ea2;_0x361188++){_0x13b131+='%'+('00'+_0x3a148f['charCodeAt'](_0x361188)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13b131);};a0_0x5324['NVANnN']=_0xfe70d6,a0_0x5324['VQWbLE']={},a0_0x5324['AMxbcx']=!![];}const _0x4a485e=_0x5e673b[0x0],_0x5a34c2=_0x163565+_0x4a485e,_0x35c336=a0_0x5324['VQWbLE'][_0x5a34c2];return!_0x35c336?(_0x5324e4=a0_0x5324['NVANnN'](_0x5324e4),a0_0x5324['VQWbLE'][_0x5a34c2]=_0x5324e4):_0x5324e4=_0x35c336,_0x5324e4;}import a0_0x454bba from'../utilities/tagParser.js';const ANALYZER_CONFIG={'DEFAULT_MODE':'full','VALID_MODES':[a0_0x1953d1(0x1c6),a0_0x1953d1(0x136),'fix'],'DEFAULT_OUTPUT':a0_0x1953d1(0x13e),'VALID_OUTPUTS':['summary','detailed',a0_0x1953d1(0x128)],'DEFAULT_IGNORE_FILE':a0_0x1953d1(0x142),'MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':['.js','.mjs',a0_0x1953d1(0x150),a0_0x1953d1(0x1af),'.tsx'],'DEFAULT_IGNORE_PATTERNS':['node_modules',a0_0x1953d1(0x188),'dist',a0_0x1953d1(0x173),a0_0x1953d1(0x19a)],'FILE_READ_TIMEOUT':0x1388};export class ImportAnalyzerTool extends BaseTool{[a0_0x1953d1(0x194)](){return'Tool:\x20Import\x20Analyzer\x20-\x20Analyze\x20JavaScript/TypeScript\x20imports\x20and\x20exports\x0a\x0a**Purpose:**\x20Analyzes\x20JavaScript/TypeScript\x20projects\x20to\x20detect\x20broken\x20imports,\x20missing\x20exports,\x20circular\x20dependencies,\x20and\x20unused\x20exports.\x0a\x0a**Invocation\x20Syntax:**\x0a\x0aXML\x20Format:\x0a```xml\x0a<import-analyzer>\x0a\x20\x20<path>./src</path>\x0a\x20\x20<mode>full</mode>\x0a\x20\x20<output>summary</output>\x0a\x20\x20<ignore-file>.gitignore</ignore-file>\x0a</import-analyzer>\x0a```\x0a\x0aJSON\x20Format:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22path\x22:\x20\x22./src\x22,\x0a\x20\x20\x20\x20\x22mode\x22:\x20\x22full\x22,\x0a\x20\x20\x20\x20\x22output\x22:\x20\x22summary\x22,\x0a\x20\x20\x20\x20\x22ignoreFile\x22:\x20\x22.gitignore\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**path**\x20(string,\x20optional):\x20Path\x20to\x20directory\x20to\x20analyze.\x20Default:\x20\x22.\x22\x0a-\x20**mode**\x20(string,\x20optional):\x20Analysis\x20mode.\x20Options:\x0a\x20\x20-\x20\x22full\x22\x20-\x20Complete\x20analysis\x20(default)\x0a\x20\x20-\x20\x22quick\x22\x20-\x20Fast\x20scan\x20for\x20missing\x20files\x20only\x0a\x20\x20-\x20\x22fix\x22\x20-\x20Includes\x20fix\x20suggestions\x0a-\x20**output**\x20(string,\x20optional):\x20Output\x20format.\x20Options:\x0a\x20\x20-\x20\x22summary\x22\x20-\x20Concise\x20summary\x20(default)\x0a\x20\x20-\x20\x22detailed\x22\x20-\x20Full\x20report\x20with\x20fixes\x0a\x20\x20-\x20\x22json\x22\x20-\x20Machine-readable\x20format\x0a-\x20**ignoreFile**\x20(string,\x20optional):\x20Ignore\x20file\x20name.\x20Default:\x20\x22.gitignore\x22\x0a\x0a**What\x20It\x20Detects:**\x0a-\x20Missing\x20files\x20(imports\x20pointing\x20to\x20non-existent\x20files)\x0a-\x20Missing\x20exports\x20(symbols\x20not\x20exported\x20from\x20target\x20files)\x0a-\x20Circular\x20dependencies\x20(files\x20that\x20depend\x20on\x20each\x20other\x20in\x20a\x20loop)\x0a-\x20Unused\x20exports\x20(exports\x20never\x20imported\x20anywhere)\x0a\x0a**Examples:**\x0a\x0a1.\x20Quick\x20project\x20scan:\x0a```xml\x0a<import-analyzer>\x0a\x20\x20<mode>quick</mode>\x0a</import-analyzer>\x0a```\x0a\x0a2.\x20Full\x20analysis\x20with\x20detailed\x20report:\x0a```xml\x0a<import-analyzer>\x0a\x20\x20<mode>full</mode>\x0a\x20\x20<output>detailed</output>\x0a</import-analyzer>\x0a```\x0a\x0a3.\x20Analyze\x20specific\x20directory:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22path\x22:\x20\x22./src/components\x22,\x20\x22mode\x22:\x20\x22full\x22\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Supports\x20ES6\x20modules\x20(import/export)\x20and\x20CommonJS\x20(require/module.exports)\x0a-\x20Respects\x20.gitignore\x20patterns\x0a-\x20Correctly\x20handles\x20commented\x20imports\x20and\x20multi-line\x20statements\x0a-\x20Works\x20with\x20.js,\x20.mjs,\x20.ts,\x20.jsx,\x20.tsx\x20files';}[a0_0x1953d1(0x186)](_0x43fa53){const _0x57ee34=a0_0x1953d1;if(typeof _0x43fa53===_0x57ee34(0x171)&&_0x43fa53!==null)return{'path':_0x43fa53[_0x57ee34(0x15d)]||'.','mode':_0x43fa53[_0x57ee34(0x14e)]||ANALYZER_CONFIG['DEFAULT_MODE'],'output':_0x43fa53[_0x57ee34(0x17f)]||ANALYZER_CONFIG[_0x57ee34(0x12f)],'ignoreFile':_0x43fa53['ignoreFile']||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};if(typeof _0x43fa53===_0x57ee34(0x141)){const _0x159bf8=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x20e89b=_0x159bf8[_0x57ee34(0x1b6)](_0x43fa53);if(_0x20e89b){const _0x361188=_0x20e89b[0x1],_0x3d2ea2=_0x20e89b[0x2],_0xf15de5=/path=["']([^"']*)["']/i['exec'](_0x361188),_0x5491d4=/mode=["']([^"']*)["']/i['exec'](_0x361188),_0x545bdf=/output=["']([^"']*)["']/i['exec'](_0x361188),_0x3a9373=/ignore-file=["']([^"']*)["']/i['exec'](_0x361188),_0x210ffc=/<path>(.*?)<\/path>/i,_0x156fe4=_0x210ffc[_0x57ee34(0x1b6)](_0x3d2ea2),_0x37629e=/<mode>(.*?)<\/mode>/i,_0x59e887=_0x37629e['exec'](_0x3d2ea2),_0x3e80a2=/<output>(.*?)<\/output>/i,_0x4d2e84=_0x3e80a2['exec'](_0x3d2ea2),_0xd084ff=/<ignore-file>(.*?)<\/ignore-file>/i,_0x4ab22f=_0xd084ff[_0x57ee34(0x1b6)](_0x3d2ea2),_0x495df7=(_0x156fe4?_0x156fe4[0x1]['trim']():null)||(_0xf15de5?_0xf15de5[0x1]:'.'),_0x188271=(_0x59e887?_0x59e887[0x1]['trim']():null)||(_0x5491d4?_0x5491d4[0x1]:ANALYZER_CONFIG[_0x57ee34(0x16c)]),_0x26b80b=(_0x4d2e84?_0x4d2e84[0x1][_0x57ee34(0x157)]():null)||(_0x545bdf?_0x545bdf[0x1]:ANALYZER_CONFIG[_0x57ee34(0x12f)]),_0x507779=(_0x4ab22f?_0x4ab22f[0x1][_0x57ee34(0x157)]():null)||(_0x3a9373?_0x3a9373[0x1]:ANALYZER_CONFIG[_0x57ee34(0x182)]);return{'path':_0x495df7,'mode':_0x188271,'output':_0x26b80b,'ignoreFile':_0x507779};}try{const _0x3c4adb=a0_0x454bba['parseTags'](_0x43fa53,_0x57ee34(0x178));if(_0x3c4adb&&_0x3c4adb[_0x57ee34(0x1a3)]>0x0){const _0x21cfda=_0x3c4adb[0x0];return{'path':_0x21cfda[_0x57ee34(0x1bc)][_0x57ee34(0x15d)]||'.','mode':_0x21cfda[_0x57ee34(0x1bc)][_0x57ee34(0x14e)]||ANALYZER_CONFIG['DEFAULT_MODE'],'output':_0x21cfda[_0x57ee34(0x1bc)][_0x57ee34(0x17f)]||ANALYZER_CONFIG[_0x57ee34(0x12f)],'ignoreFile':_0x21cfda[_0x57ee34(0x1bc)][_0x57ee34(0x16b)]||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};}}catch(_0x4659c3){}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).');}['_validateParameters'](_0x58dd16){const _0x5c6f59=a0_0x1953d1;if(!_0x58dd16||typeof _0x58dd16!=='object')throw new Error(_0x5c6f59(0x162));if(_0x58dd16['path']&&typeof _0x58dd16['path']!==_0x5c6f59(0x141))throw new Error('path\x20must\x20be\x20a\x20string');if(_0x58dd16['mode']&&!ANALYZER_CONFIG[_0x5c6f59(0x19d)]['includes'](_0x58dd16[_0x5c6f59(0x14e)]))throw new Error(_0x5c6f59(0x172)+_0x58dd16['mode']+_0x5c6f59(0x190)+ANALYZER_CONFIG['VALID_MODES'][_0x5c6f59(0x1aa)](',\x20'));if(_0x58dd16[_0x5c6f59(0x17f)]&&!ANALYZER_CONFIG[_0x5c6f59(0x148)][_0x5c6f59(0x184)](_0x58dd16[_0x5c6f59(0x17f)]))throw new Error('Invalid\x20output:\x20'+_0x58dd16[_0x5c6f59(0x17f)]+_0x5c6f59(0x190)+ANALYZER_CONFIG[_0x5c6f59(0x148)][_0x5c6f59(0x1aa)](',\x20'));if(_0x58dd16['ignoreFile']&&typeof _0x58dd16['ignoreFile']!==_0x5c6f59(0x141))throw new Error('ignoreFile\x20must\x20be\x20a\x20string');}['_resolveAndValidatePath'](_0x4dcd13,_0x49ebd4){const _0x39a152=a0_0x1953d1,{projectDir:_0x4f5f5d,directoryAccess:_0x2ca367}=_0x49ebd4;let _0xdb0a35=_0x4f5f5d||process['cwd']();_0x2ca367&&_0x2ca367['workingDirectory']&&(_0xdb0a35=_0x2ca367[_0x39a152(0x166)]);const _0x20eb56=a0_0x13b131['isAbsolute'](_0x4dcd13)?a0_0x13b131[_0x39a152(0x1b4)](_0x4dcd13):a0_0x13b131[_0x39a152(0x1b4)](a0_0x13b131['join'](_0xdb0a35,_0x4dcd13)),_0x2e6816=a0_0x13b131['normalize'](_0xdb0a35);if(!_0x20eb56[_0x39a152(0x176)](_0x2e6816))throw new Error(_0x39a152(0x135)+_0x4dcd13+'\x20resolves\x20outside\x20working\x20directory');return _0x20eb56;}async['execute'](_0x5f047b,_0x30c663={}){const _0x5ae8a0=a0_0x1953d1;try{this[_0x5ae8a0(0x1c5)](_0x5f047b);const {path:_0x251870,mode:_0x585396,output:_0x590d14,ignoreFile:_0x3aa74c}=_0x5f047b,{projectDir:_0x52177d,agentId:_0x250733,directoryAccess:_0x36740a}=_0x30c663,_0x83ee48=this[_0x5ae8a0(0x1c4)](_0x251870,_0x30c663);this[_0x5ae8a0(0x151)]?.['info'](_0x5ae8a0(0x192),{'mode':_0x585396,'resolvedPath':_0x83ee48,'output':_0x590d14,'agentId':_0x250733});const _0x38499a=[];_0x38499a['push']('🔍\x20Analyzing\x20imports\x20in:\x20'+_0x83ee48),_0x38499a[_0x5ae8a0(0x1b5)]('Mode:\x20'+_0x585396),_0x38499a['push'](_0x5ae8a0(0x159)+_0x590d14+'\x0a');try{await a0_0x3a148f[_0x5ae8a0(0x1c3)](_0x83ee48);}catch{return{'success':![],'error':_0x5ae8a0(0x17a)+_0x83ee48,'output':_0x38499a[_0x5ae8a0(0x1aa)]('\x0a')};}const _0x398f11=new ImportExportAnalyzer(_0x83ee48,_0x3aa74c,this[_0x5ae8a0(0x151)]),_0x5daee4=await _0x398f11[_0x5ae8a0(0x178)](_0x585396);let _0x5ca968;switch(_0x590d14){case'json':_0x5ca968=JSON[_0x5ae8a0(0x1cb)](_0x5daee4,null,0x2);break;case _0x5ae8a0(0x15c):_0x5ca968=this[_0x5ae8a0(0x15b)](_0x5daee4),_0x38499a[_0x5ae8a0(0x1b5)](_0x5ca968);break;case _0x5ae8a0(0x13e):default:_0x5ca968=this['_formatSummaryOutput'](_0x5daee4),_0x38499a[_0x5ae8a0(0x1b5)](_0x5ca968);break;}return{'success':!![],'mode':_0x585396,'message':_0x5ae8a0(0x18e),'statistics':{'totalFiles':_0x5daee4[_0x5ae8a0(0x13e)]['totalFiles'],'totalImports':_0x5daee4[_0x5ae8a0(0x13e)]['totalImports'],'totalExports':_0x5daee4['summary'][_0x5ae8a0(0x1a2)],'issuesFound':_0x5daee4['fileNotFoundImports']['length']+Object[_0x5ae8a0(0x153)](_0x5daee4['missingExports'])['reduce']((_0xee29e3,_0x485716)=>_0xee29e3+_0x485716[_0x5ae8a0(0x1a3)],0x0)},'output':_0x590d14==='json'?_0x5ca968:_0x38499a['join']('\x0a'),'results':_0x5daee4};}catch(_0x3d307c){return this['logger']?.['error'](_0x5ae8a0(0x19e),_0x3d307c),{'success':![],'error':_0x3d307c['message'],'output':_0x3d307c[_0x5ae8a0(0x160)]};}}[a0_0x1953d1(0x1ca)](_0x16fd61){const _0x436f28=a0_0x1953d1,_0x5247ba=[];_0x5247ba['push'](_0x436f28(0x1ac)),_0x5247ba['push'](_0x436f28(0x18c)),_0x5247ba[_0x436f28(0x1b5)]('📁\x20Files\x20analyzed:\x20'+_0x16fd61['summary'][_0x436f28(0x17d)]),_0x5247ba['push'](_0x436f28(0x169)+_0x16fd61[_0x436f28(0x13e)]['totalImports']),_0x5247ba['push'](_0x436f28(0x146)+_0x16fd61['summary']['totalExports']+'\x0a');const _0xcc0a81=_0x16fd61[_0x436f28(0x16f)]['length'],_0x2c0391=Object[_0x436f28(0x153)](_0x16fd61[_0x436f28(0x161)])['reduce']((_0x3d8790,_0x23f67a)=>_0x3d8790+_0x23f67a[_0x436f28(0x1a3)],0x0),_0x55c0c6=_0x16fd61['circularDependencies']?_0x16fd61[_0x436f28(0x15f)][_0x436f28(0x1a3)]:0x0;return _0xcc0a81>0x0&&_0x5247ba['push'](_0x436f28(0x18a)+_0xcc0a81+'\x20imports\x20pointing\x20to\x20non-existent\x20files'),_0x2c0391>0x0&&_0x5247ba['push']('⚠️\x20\x20Missing\x20exports:\x20'+_0x2c0391+_0x436f28(0x158)),_0x55c0c6>0x0&&_0x5247ba['push']('🔄\x20Circular\x20dependencies:\x20'+_0x55c0c6+_0x436f28(0x185)),_0xcc0a81===0x0&&_0x2c0391===0x0&&_0x55c0c6===0x0?_0x5247ba[_0x436f28(0x1b5)]('\u2705 No import/export issues detected!'):(_0x5247ba[_0x436f28(0x1b5)]('\x0a🔍\x20Top\x20Issues\x20to\x20Fix:'),Object[_0x436f28(0x12e)](_0x16fd61[_0x436f28(0x13a)]||{})['length']>0x0&&(_0x5247ba[_0x436f28(0x1b5)]('\x0a\x20\x20Missing\x20Files:'),Object[_0x436f28(0x189)](_0x16fd61[_0x436f28(0x13a)])['slice'](0x0,0x3)[_0x436f28(0x198)](([_0x22b954,_0x4b06c2])=>{const _0x43de59=_0x436f28;_0x5247ba[_0x43de59(0x1b5)](_0x43de59(0x179)+_0x22b954+_0x43de59(0x177)+_0x4b06c2['length']+'\x20broken\x20import(s)');})),Object[_0x436f28(0x12e)](_0x16fd61['missingExports'])[_0x436f28(0x1a3)]>0x0&&(_0x5247ba['push'](_0x436f28(0x131)),Object['entries'](_0x16fd61[_0x436f28(0x161)])[_0x436f28(0x156)](0x0,0x3)[_0x436f28(0x198)](([_0x464d7c,_0x44c118])=>{const _0xfa8f70=_0x436f28;_0x5247ba[_0xfa8f70(0x1b5)](_0xfa8f70(0x179)+_0x464d7c+_0xfa8f70(0x1ad)+_0x44c118['length']+'\x20non-existent\x20symbol(s)');})),_0x5247ba['push']('\x0a💡\x20Run\x20with\x20output=\x22detailed\x22\x20for\x20complete\x20analysis\x20and\x20fix\x20suggestions')),_0x5247ba['join']('\x0a');}[a0_0x1953d1(0x15b)](_0x585135){const _0x41b94f=a0_0x1953d1,_0x1d39e5=[];_0x1d39e5['push']('📊\x20Detailed\x20Import/Export\x20Analysis\x20Report'),_0x1d39e5[_0x41b94f(0x1b5)]('=========================================\x0a'),_0x1d39e5[_0x41b94f(0x1b5)]('📈\x20Statistics:'),_0x1d39e5['push']('\x20\x20•\x20Files\x20analyzed:\x20'+_0x585135[_0x41b94f(0x13e)][_0x41b94f(0x17d)]),_0x1d39e5[_0x41b94f(0x1b5)]('\x20\x20•\x20Total\x20imports:\x20'+_0x585135[_0x41b94f(0x13e)]['totalImports']),_0x1d39e5[_0x41b94f(0x1b5)]('\x20\x20•\x20Total\x20exports:\x20'+_0x585135['summary'][_0x41b94f(0x1a2)]+'\x0a');if(_0x585135[_0x41b94f(0x16f)]['length']>0x0){_0x1d39e5[_0x41b94f(0x1b5)]('❌\x20MISSING\x20FILES'),_0x1d39e5['push'](_0x41b94f(0x1c8));const _0x2856fc={};_0x585135[_0x41b94f(0x16f)]['forEach'](_0x237ece=>{!_0x2856fc[_0x237ece['importingFile']]&&(_0x2856fc[_0x237ece['importingFile']]=[]),_0x2856fc[_0x237ece['importingFile']]['push'](_0x237ece);}),Object['entries'](_0x2856fc)['forEach'](([_0x6d91df,imports])=>{_0x1d39e5['push']('\x0a📄\x20'+_0x6d91df+':'),imports['forEach'](_0x1fee6e=>{const _0x559fdb=a0_0x5324,importType=_0x1fee6e['isDefault']?'default':_0x1fee6e[_0x559fdb(0x139)]?'namespace':_0x559fdb(0x155);_0x1d39e5[_0x559fdb(0x1b5)](_0x559fdb(0x195)+_0x1fee6e['importedFromFile']),_0x1d39e5['push'](_0x559fdb(0x132)+_0x1fee6e['importedSymbol']+'\x20('+importType+')'),_0x1d39e5[_0x559fdb(0x1b5)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Check\x20if\x20file\x20exists\x20or\x20correct\x20the\x20import\x20path');});});}Object['keys'](_0x585135['missingExports'])['length']>0x0&&(_0x1d39e5['push']('\x0a⚠️\x20\x20MISSING\x20EXPORTS'),_0x1d39e5[_0x41b94f(0x1b5)]('──────────────────'),Object[_0x41b94f(0x189)](_0x585135[_0x41b94f(0x161)])['forEach'](([_0x2ab874,_0x2d7c7d])=>{const _0x386854=_0x41b94f;_0x1d39e5['push'](_0x386854(0x191)+_0x2ab874+':'),_0x2d7c7d['forEach'](_0x46920e=>{const _0x154b45=_0x386854,importType=_0x46920e[_0x154b45(0x1a4)]?'default':_0x46920e[_0x154b45(0x139)]?'namespace':'named';_0x1d39e5[_0x154b45(0x1b5)]('\x20\x20\x20❌\x20Symbol\x20not\x20exported:\x20\x22'+_0x46920e['importedSymbol']+_0x154b45(0x1a1)+importType+')'),_0x1d39e5['push'](_0x154b45(0x1a0)+_0x46920e['importedFromFile']);if(_0x46920e['availableExports'][_0x154b45(0x1a3)]>0x0){_0x1d39e5[_0x154b45(0x1b5)](_0x154b45(0x187)+_0x46920e['availableExports']['join'](',\x20'));if(_0x46920e[_0x154b45(0x1a4)]&&_0x46920e[_0x154b45(0x18f)]['includes']('default'))_0x1d39e5['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Default\x20export\x20exists,\x20check\x20import\x20syntax');else{if(_0x46920e[_0x154b45(0x1a4)]&&!_0x46920e[_0x154b45(0x18f)]['includes']('default'))_0x1d39e5['push'](_0x154b45(0x19b)+(_0x46920e['availableExports'][0x0]||_0x154b45(0x152))+'\x20}');else{const _0x53684d=_0x46920e[_0x154b45(0x18f)]['find'](_0x370230=>_0x370230[_0x154b45(0x149)]()===_0x46920e[_0x154b45(0x154)]['toLowerCase']());_0x53684d?_0x1d39e5['push'](_0x154b45(0x175)+_0x53684d+'\x22?\x20(case\x20mismatch)'):_0x1d39e5[_0x154b45(0x1b5)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20export\x20for\x20\x22'+_0x46920e['importedSymbol']+'\x22\x20or\x20use\x20one\x20of\x20the\x20available\x20exports');}}}else _0x1d39e5['push'](_0x154b45(0x13b)),_0x1d39e5['push'](_0x154b45(0x18b)+_0x46920e['importedFromFile']+'\x20or\x20check\x20if\x20it\x27s\x20the\x20correct\x20file');});}));_0x585135[_0x41b94f(0x15f)]&&_0x585135[_0x41b94f(0x15f)]['length']>0x0&&(_0x1d39e5['push']('\x0a🔄\x20CIRCULAR\x20DEPENDENCIES'),_0x1d39e5['push'](_0x41b94f(0x1ae)),_0x585135[_0x41b94f(0x15f)]['forEach']((_0x6fcdf1,_0x25d8da)=>{const _0x417569=_0x41b94f;_0x1d39e5['push']('\x0a\x20\x20Cycle\x20'+(_0x25d8da+0x1)+':'),_0x6fcdf1['forEach']((_0x2c6173,_0x172207)=>{const _0x156e17=a0_0x5324;_0x172207<_0x6fcdf1[_0x156e17(0x1a3)]-0x1&&_0x1d39e5['push'](_0x156e17(0x167)+_0x2c6173+_0x156e17(0x140)+_0x6fcdf1[_0x172207+0x1]);}),_0x1d39e5['push'](_0x417569(0x199));}));_0x585135[_0x41b94f(0x1b2)]&&Object['keys'](_0x585135['unusedExports'])[_0x41b94f(0x1a3)]>0x0&&(_0x1d39e5['push']('\x0a🗑️\x20\x20POTENTIALLY\x20UNUSED\x20EXPORTS'),_0x1d39e5[_0x41b94f(0x1b5)](_0x41b94f(0x12b)),Object['entries'](_0x585135[_0x41b94f(0x1b2)])['slice'](0x0,0xa)[_0x41b94f(0x198)](([_0x11a0ce,exports])=>{const _0x142b16=_0x41b94f;_0x1d39e5['push'](_0x142b16(0x191)+_0x11a0ce+':'),_0x1d39e5['push'](_0x142b16(0x19f)+exports['join'](',\x20'));}),_0x1d39e5[_0x41b94f(0x1b5)]('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x1d39e5[_0x41b94f(0x1b5)](_0x41b94f(0x1ba)));_0x1d39e5[_0x41b94f(0x1b5)]('\x0a📋\x20RECOMMENDATIONS'),_0x1d39e5['push']('──────────────────');const _0x16ba79=_0x585135['fileNotFoundImports']['length']+Object[_0x41b94f(0x153)](_0x585135['missingExports'])[_0x41b94f(0x143)]((_0x51f477,_0x2b3bbe)=>_0x51f477+_0x2b3bbe['length'],0x0);return _0x16ba79===0x0?_0x1d39e5[_0x41b94f(0x1b5)]('\u2705 Your import/export structure looks good!'):(_0x1d39e5[_0x41b94f(0x1b5)](_0x41b94f(0x1b9)+_0x16ba79+_0x41b94f(0x1a5)),_0x585135['fileNotFoundImports']['length']>0x0&&_0x1d39e5[_0x41b94f(0x1b5)](_0x41b94f(0x16d)+_0x585135['fileNotFoundImports'][_0x41b94f(0x1a3)]+_0x41b94f(0x1ab)),Object[_0x41b94f(0x12e)](_0x585135[_0x41b94f(0x161)])[_0x41b94f(0x1a3)]>0x0&&_0x1d39e5[_0x41b94f(0x1b5)]('\x20\x202.\x20Resolve\x20'+Object[_0x41b94f(0x153)](_0x585135[_0x41b94f(0x161)])['reduce']((_0x5da0fb,_0x386c03)=>_0x5da0fb+_0x386c03['length'],0x0)+_0x41b94f(0x16e)),_0x585135[_0x41b94f(0x15f)]&&_0x585135['circularDependencies'][_0x41b94f(0x1a3)]>0x0&&_0x1d39e5['push']('\x20\x203.\x20Refactor\x20'+_0x585135[_0x41b94f(0x15f)][_0x41b94f(0x1a3)]+_0x41b94f(0x164))),_0x1d39e5['join']('\x0a');}}class ImportExportAnalyzer{constructor(_0x175a26,_0x549ef4='.gitignore',_0x279699=null){const _0x1d4575=a0_0x1953d1;this['rootDir']=a0_0x13b131['resolve'](_0x175a26),this['ignoreFile']=_0x549ef4,this[_0x1d4575(0x151)]=_0x279699,this[_0x1d4575(0x1be)]=[...ANALYZER_CONFIG['DEFAULT_IGNORE_PATTERNS']],this[_0x1d4575(0x13f)]=[],this['exports']=new Map(),this['dependencies']=new Map();}async[a0_0x1953d1(0x180)](){const _0x279d53=a0_0x1953d1;try{const _0x2d634b=a0_0x13b131[_0x279d53(0x1aa)](this['rootDir'],this['ignoreFile']),_0x34f4fa=await a0_0x3a148f['readFile'](_0x2d634b,_0x279d53(0x123)),_0x7c4edb=_0x34f4fa['split']('\x0a')['map'](_0x49d37d=>_0x49d37d[_0x279d53(0x157)]())['filter'](_0x2ac443=>_0x2ac443&&!_0x2ac443['startsWith']('#'));this[_0x279d53(0x1be)]['push'](..._0x7c4edb),this['logger']?.[_0x279d53(0x163)]('Loaded\x20ignore\x20patterns',{'count':_0x7c4edb[_0x279d53(0x1a3)]});}catch{this[_0x279d53(0x151)]?.[_0x279d53(0x163)]('No ignore file found, using defaults');}}[a0_0x1953d1(0x181)](_0x126d4b){const _0x56c4f4=a0_0x1953d1,_0x2af2a3=a0_0x13b131['relative'](this[_0x56c4f4(0x12c)],_0x126d4b);return this['ignorePatterns'][_0x56c4f4(0x1c7)](_0xa521fd=>{const _0x19b1e4=_0x56c4f4;if(_0xa521fd['includes']('*')){const _0x332ed8=new RegExp(_0xa521fd['replace'](/\*/g,'.*'));return _0x332ed8[_0x19b1e4(0x1c1)](_0x2af2a3)||_0x332ed8['test'](a0_0x13b131['basename'](_0x126d4b));}return _0x2af2a3[_0x19b1e4(0x184)](_0xa521fd)||a0_0x13b131[_0x19b1e4(0x12d)](_0x126d4b)===_0xa521fd;});}async['getAllFiles'](_0x4677ef){const _0x240e62=a0_0x1953d1,_0x32d6b5=[],_0x46ba31=async _0x204fbc=>{const _0x1dd23c=a0_0x5324;try{const _0x261e01=await a0_0x3a148f['readdir'](_0x204fbc,{'withFileTypes':!![]});for(const _0x47e3ed of _0x261e01){const _0x1b5577=a0_0x13b131['join'](_0x204fbc,_0x47e3ed[_0x1dd23c(0x145)]);if(this[_0x1dd23c(0x181)](_0x1b5577))continue;if(_0x47e3ed[_0x1dd23c(0x1bf)]())await _0x46ba31(_0x1b5577);else{if(_0x47e3ed[_0x1dd23c(0x174)]()){const _0x19672e=a0_0x13b131[_0x1dd23c(0x14a)](_0x47e3ed[_0x1dd23c(0x145)]);ANALYZER_CONFIG['SUPPORTED_EXTENSIONS'][_0x1dd23c(0x184)](_0x19672e)&&_0x32d6b5[_0x1dd23c(0x1b5)](_0x1b5577);}}}}catch(_0x4e638c){this[_0x1dd23c(0x151)]?.['warn'](_0x1dd23c(0x193),{'dir':_0x204fbc,'error':_0x4e638c[_0x1dd23c(0x160)]});}};await _0x46ba31(_0x4677ef);if(_0x32d6b5['length']>ANALYZER_CONFIG[_0x240e62(0x133)]){this[_0x240e62(0x151)]?.['warn'](_0x240e62(0x127)+_0x32d6b5['length']+_0x240e62(0x17c)+ANALYZER_CONFIG['MAX_FILES']);throw new Error('Too\x20many\x20files\x20to\x20analyze:\x20'+_0x32d6b5['length']+_0x240e62(0x17b)+ANALYZER_CONFIG['MAX_FILES']+')');}return _0x32d6b5;}async[a0_0x1953d1(0x12a)](_0x526174,_0x8b3899){const _0x3fc616=a0_0x1953d1,imports=[],_0x5655d4=_0x526174['split']('\x0a'),_0x376c5c=this[_0x3fc616(0x1c2)](_0x8b3899);!this['dependencies']['has'](_0x376c5c)&&this['dependencies']['set'](_0x376c5c,new Set());for(let _0x43a85f=0x0;_0x43a85f<_0x5655d4[_0x3fc616(0x1a3)];_0x43a85f++){const _0x4e9eab=_0x5655d4[_0x43a85f]['trim']();if(_0x4e9eab[_0x3fc616(0x176)]('//')||_0x4e9eab['startsWith']('/*'))continue;let _0x4878fb=_0x4e9eab,_0x20677d=_0x43a85f;while(!_0x4878fb[_0x3fc616(0x184)](';')&&!_0x4878fb[_0x3fc616(0x14f)](/from\s+['"`][^'"`]+['"`]/)&&_0x20677d<_0x5655d4['length']-0x1){_0x20677d++;const _0x49c02d=_0x5655d4[_0x20677d]['trim']();if(_0x49c02d['startsWith']('//')||_0x49c02d['startsWith']('/*'))continue;_0x4878fb+='\x20'+_0x49c02d;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0xa4ccda;while((_0xa4ccda=importRegex['exec'](_0x4878fb))!==null){const [,_0x426418,defaultImport,_0x4f0bcc,_0x3f141c,_0x36d622]=_0xa4ccda,_0x21dfae=await this[_0x3fc616(0x183)](_0x36d622,_0x8b3899);!_0x21dfae[_0x3fc616(0x14c)]&&_0x21dfae[_0x3fc616(0x147)]&&this[_0x3fc616(0x124)]['get'](_0x376c5c)[_0x3fc616(0x168)](_0x21dfae[_0x3fc616(0x15d)]);defaultImport&&imports['push']({'importingFile':_0x376c5c,'importedSymbol':defaultImport['trim'](),'importedFromFile':_0x21dfae['path'],'fileExists':_0x21dfae[_0x3fc616(0x147)],'isExternal':_0x21dfae['isExternal']||![],'isDefault':!![]});_0x3f141c&&imports['push']({'importingFile':_0x376c5c,'importedSymbol':_0x3f141c['trim'](),'importedFromFile':_0x21dfae[_0x3fc616(0x15d)],'fileExists':_0x21dfae['exists'],'isExternal':_0x21dfae[_0x3fc616(0x14c)]||![],'isNamespace':!![]});const _0x5afbb7=[_0x426418,_0x4f0bcc]['filter'](Boolean)['join'](',');if(_0x5afbb7){const _0x329566=_0x5afbb7['split'](',')[_0x3fc616(0x18d)](_0x11c465=>{const _0x15ea08=_0x3fc616,_0x147177=_0x11c465[_0x15ea08(0x157)]()['split'](/\s+as\s+/);return _0x147177[0x0][_0x15ea08(0x157)]();});_0x329566[_0x3fc616(0x198)](_0x5399f7=>{const _0x27e033=_0x3fc616;_0x5399f7&&imports['push']({'importingFile':_0x376c5c,'importedSymbol':_0x5399f7,'importedFromFile':_0x21dfae['path'],'fileExists':_0x21dfae[_0x27e033(0x147)],'isExternal':_0x21dfae['isExternal']||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0xa4ccda=requireRegex['exec'](_0x4878fb))!==null){const [,_0xa6433,_0x2de0a3,_0x24bd49]=_0xa4ccda,_0x34c811=await this[_0x3fc616(0x183)](_0x24bd49,_0x8b3899);!_0x34c811['isExternal']&&_0x34c811[_0x3fc616(0x147)]&&this[_0x3fc616(0x124)][_0x3fc616(0x170)](_0x376c5c)[_0x3fc616(0x168)](_0x34c811[_0x3fc616(0x15d)]);if(_0xa6433){const _0x597c80=_0xa6433[_0x3fc616(0x1a8)](',')[_0x3fc616(0x18d)](_0x17be42=>_0x17be42[_0x3fc616(0x157)]()['split'](':')[0x0]['trim']());_0x597c80[_0x3fc616(0x198)](_0x20a9b8=>{const _0x2b1247=_0x3fc616;_0x20a9b8&&imports[_0x2b1247(0x1b5)]({'importingFile':_0x376c5c,'importedSymbol':_0x20a9b8,'importedFromFile':_0x34c811['path'],'fileExists':_0x34c811[_0x2b1247(0x147)],'isExternal':_0x34c811['isExternal']||![],'isDefault':![]});});}else _0x2de0a3&&imports[_0x3fc616(0x1b5)]({'importingFile':_0x376c5c,'importedSymbol':_0x2de0a3['trim'](),'importedFromFile':_0x34c811[_0x3fc616(0x15d)],'fileExists':_0x34c811[_0x3fc616(0x147)],'isExternal':_0x34c811[_0x3fc616(0x14c)]||![],'isDefault':!![]});}_0x43a85f=_0x20677d;}return imports;}[a0_0x1953d1(0x144)](_0x20f422){const _0x3aa42f=a0_0x1953d1,exports=new Set(),_0x3caa26=_0x20f422[_0x3aa42f(0x1a8)]('\x0a');for(const _0x51fad5 of _0x3caa26){const _0x1a4ab6=_0x51fad5['trim']();if(_0x1a4ab6[_0x3aa42f(0x176)]('//')||_0x1a4ab6['startsWith']('/*'))continue;/export\s+default\s+/[_0x3aa42f(0x1c1)](_0x1a4ab6)&&exports['add']('default');const _0x35efc2=_0x1a4ab6[_0x3aa42f(0x14f)](/export\s+\{([^}]+)\}/);if(_0x35efc2){const _0x4fa58b=_0x35efc2[0x1]['split'](',')['map'](_0x49a84c=>{const _0x7082c7=_0x3aa42f,_0x52b526=_0x49a84c[_0x7082c7(0x157)]()[_0x7082c7(0x1a8)](/\s+as\s+/);return _0x52b526[_0x52b526[_0x7082c7(0x1a3)]-0x1][_0x7082c7(0x157)]();});_0x4fa58b['forEach'](_0x37d143=>exports['add'](_0x37d143));}const _0x1791da=_0x1a4ab6[_0x3aa42f(0x14f)](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x1791da&&exports[_0x3aa42f(0x168)](_0x1791da[0x1]);const exportFromMatch=_0x1a4ab6[_0x3aa42f(0x14f)](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0x2e4978=exportFromMatch[0x1]['split'](',')['map'](_0x1539c2=>{const _0x4b4e1f=_0x3aa42f,_0x1e08c5=_0x1539c2[_0x4b4e1f(0x157)]()['split'](/\s+as\s+/);return _0x1e08c5[_0x1e08c5['length']-0x1][_0x4b4e1f(0x157)]();});_0x2e4978['forEach'](_0x5d997f=>exports['add'](_0x5d997f));}/export\s+\*\s+from/['test'](_0x1a4ab6)&&exports['add']('*');const moduleExportsMatch=_0x1a4ab6['match'](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x1f68ac=moduleExportsMatch[0x1]['split'](',')[_0x3aa42f(0x18d)](_0x4cd587=>{const _0x567ee2=_0x3aa42f,_0x4c5ae8=_0x4cd587[_0x567ee2(0x157)]()[_0x567ee2(0x1a8)](':');return _0x4c5ae8[0x0]['trim']();});_0x1f68ac[_0x3aa42f(0x198)](_0x681589=>exports[_0x3aa42f(0x168)](_0x681589));}/module\.exports\s*=\s*[^{]/[_0x3aa42f(0x1c1)](_0x1a4ab6)&&exports['add']('default');const moduleExportsPropMatch=_0x1a4ab6[_0x3aa42f(0x14f)](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports[_0x3aa42f(0x168)](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0x1a4ab6['match'](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports[_0x3aa42f(0x168)](exportsPropMatch[0x1]);}return exports;}async['resolveImportPath'](importPath,_0x4e0916){const _0x349a79=a0_0x1953d1;if(importPath[_0x349a79(0x176)]('.')){const _0x538240=a0_0x13b131[_0x349a79(0x1c9)](_0x4e0916),_0x1c66d4=a0_0x13b131[_0x349a79(0x13d)](_0x538240,importPath);if(a0_0x13b131[_0x349a79(0x14a)](importPath))try{const _0x5af023=await a0_0x3a148f[_0x349a79(0x1b3)](_0x1c66d4);if(_0x5af023['isFile']())return{'path':this[_0x349a79(0x1c2)](_0x1c66d4),'exists':!![]};}catch{}const _0x1c7504=['',_0x349a79(0x16a),'.mjs','.ts','.jsx','.tsx',_0x349a79(0x14b),'/index.ts','/index.jsx',_0x349a79(0x1a6)];for(const _0x2a346a of _0x1c7504){const _0x50f6b6=_0x1c66d4+_0x2a346a;try{const _0x33c141=await a0_0x3a148f['stat'](_0x50f6b6);if(_0x33c141[_0x349a79(0x174)]())return{'path':this['getRelativePath'](_0x50f6b6),'exists':!![]};}catch{}}return{'path':this['getRelativePath'](_0x1c66d4),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}['getRelativePath'](_0xc968ae){return a0_0x13b131['relative'](this['rootDir'],_0xc968ae)['replace'](/\\/g,'/');}['findCircularDependencies'](){const _0x2f6879=a0_0x1953d1,_0x6a0d1=[],_0x21af75=new Set(),_0x1a5e51=new Set(),_0x5e3fe2=(_0x12bbd7,_0x43eca6=[])=>{const _0x2abc11=a0_0x5324;if(_0x1a5e51[_0x2abc11(0x196)](_0x12bbd7)){const _0x290ba3=_0x43eca6[_0x2abc11(0x1bd)](_0x12bbd7);_0x290ba3!==-0x1&&_0x6a0d1['push']([..._0x43eca6['slice'](_0x290ba3),_0x12bbd7]);return;}if(_0x21af75[_0x2abc11(0x196)](_0x12bbd7))return;_0x21af75[_0x2abc11(0x168)](_0x12bbd7),_0x1a5e51[_0x2abc11(0x168)](_0x12bbd7),_0x43eca6['push'](_0x12bbd7);const _0x5be74c=this[_0x2abc11(0x124)]['get'](_0x12bbd7)||new Set();for(const _0x343be8 of _0x5be74c){_0x5e3fe2(_0x343be8,[..._0x43eca6]);}_0x1a5e51[_0x2abc11(0x134)](_0x12bbd7);};for(const _0x2e2b90 of this[_0x2f6879(0x124)]['keys']()){!_0x21af75['has'](_0x2e2b90)&&_0x5e3fe2(_0x2e2b90);}return _0x6a0d1;}[a0_0x1953d1(0x15a)](){const _0x171be4=a0_0x1953d1,_0x2051a2=new Map();for(const _0x572fbb of this[_0x171be4(0x13f)]){!_0x572fbb['isExternal']&&(!_0x2051a2[_0x171be4(0x196)](_0x572fbb[_0x171be4(0x126)])&&_0x2051a2['set'](_0x572fbb['importedFromFile'],new Set()),_0x2051a2['get'](_0x572fbb['importedFromFile'])[_0x171be4(0x168)](_0x572fbb['importedSymbol']));}const _0x296b26={};for(const [_0x1fd154,exports]of this[_0x171be4(0x137)]['entries']()){const _0x1ed343=_0x2051a2[_0x171be4(0x170)](_0x1fd154)||new Set(),_0xe863c=Array[_0x171be4(0x165)](exports)['filter'](_0x3537f3=>!_0x1ed343['has'](_0x3537f3)&&_0x3537f3!=='*');_0xe863c[_0x171be4(0x1a3)]>0x0&&(_0x296b26[_0x1fd154]=_0xe863c);}return _0x296b26;}async[a0_0x1953d1(0x178)](_0x443b50=a0_0x1953d1(0x1c6)){const _0x404852=a0_0x1953d1;this[_0x404852(0x151)]?.[_0x404852(0x1b8)]('Starting import analysis',{'mode':_0x443b50,'rootDir':this['rootDir']}),await this['loadIgnoreFile']();const _0x131d89=await this['getAllFiles'](this[_0x404852(0x12c)]);this[_0x404852(0x151)]?.[_0x404852(0x1b8)](_0x404852(0x1a7),{'count':_0x131d89[_0x404852(0x1a3)]});for(const _0x447bdf of _0x131d89){try{const _0x30166f=await a0_0x3a148f[_0x404852(0x125)](_0x447bdf,'utf-8'),_0x31612b=this['getRelativePath'](_0x447bdf),_0xb26190=await this['parseImports'](_0x30166f,_0x447bdf);this[_0x404852(0x13f)][_0x404852(0x1b5)](..._0xb26190);const _0x3053f6=this['parseExports'](_0x30166f);this[_0x404852(0x137)][_0x404852(0x1c0)](_0x31612b,_0x3053f6);}catch(_0x3e2276){this[_0x404852(0x151)]?.['warn']('Error\x20parsing\x20file',{'file':_0x447bdf,'error':_0x3e2276[_0x404852(0x160)]});}}this[_0x404852(0x151)]?.[_0x404852(0x1b8)]('Parsed\x20all\x20files',{'imports':this[_0x404852(0x13f)][_0x404852(0x1a3)],'exports':this[_0x404852(0x137)]['size']});const _0x4b6177={'summary':{'totalFiles':_0x131d89[_0x404852(0x1a3)],'totalImports':this['imports'][_0x404852(0x1a3)],'totalExports':Array['from'](this[_0x404852(0x137)]['values']())[_0x404852(0x143)]((_0x17cd6a,exports)=>_0x17cd6a+exports['size'],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this['imports']){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0x1e0380,isNamespace:_0x35085e,fileExists:_0x51da50,isExternal:_0x2297e5}=importEntry;if(!_0x51da50&&!_0x2297e5){_0x4b6177['fileNotFoundImports']['push']({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0x1e0380||![],'isNamespace':_0x35085e||![]});!_0x4b6177[_0x404852(0x13a)][importingFile]&&(_0x4b6177[_0x404852(0x13a)][importingFile]=[]);_0x4b6177[_0x404852(0x13a)][importingFile][_0x404852(0x1b5)]({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0x1e0380||![],'isNamespace':_0x35085e||![]});continue;}if(_0x2297e5)continue;const exportingFileExports=this['exports'][_0x404852(0x170)](importedFromFile);let _0x34a09a=![];if(exportingFileExports){if(_0x35085e)_0x34a09a=exportingFileExports[_0x404852(0x1a9)]>0x0;else _0x1e0380?_0x34a09a=exportingFileExports['has']('default'):_0x34a09a=exportingFileExports[_0x404852(0x196)](importedSymbol)||exportingFileExports[_0x404852(0x196)]('*');}!_0x34a09a&&(!_0x4b6177[_0x404852(0x161)][importingFile]&&(_0x4b6177[_0x404852(0x161)][importingFile]=[]),_0x4b6177['missingExports'][importingFile][_0x404852(0x1b5)]({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array[_0x404852(0x165)](exportingFileExports):[],'isDefault':_0x1e0380||![],'isNamespace':_0x35085e||![]}));}return(_0x443b50===_0x404852(0x1c6)||_0x443b50===_0x404852(0x1cd))&&(this['logger']?.[_0x404852(0x1b8)](_0x404852(0x1b1)),_0x4b6177[_0x404852(0x15f)]=this[_0x404852(0x138)](),_0x4b6177[_0x404852(0x1b2)]=this[_0x404852(0x15a)]()),this[_0x404852(0x151)]?.[_0x404852(0x1b8)](_0x404852(0x14d),{'missingFiles':_0x4b6177[_0x404852(0x16f)]['length'],'missingExports':Object[_0x404852(0x12e)](_0x4b6177[_0x404852(0x161)])[_0x404852(0x1a3)]}),_0x4b6177;}}export default ImportAnalyzerTool;
@@ -1 +1 @@
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;
1
+ const a0_0x46a7e8=a0_0x1d8d;function a0_0x35fb(){const _0x2a9de5=['CgfYC2vqyxjHBwv0zxjZ','C3vTBwfYEq','4PYfifrHC2SGy29TCgXLDgvK','q2fSBcb0AgLZihrVB2WGD2HLBIb5B3uGAgf2zsbZDwnJzxnZzNvSBhKGy29TCgXLDgvKihrOzsbHC3nPz25Lzcb0yxnRlcbpuIbPzIb5B3uGyxjLihn0DwnRl3vUywjSzsb0BYbWCM9JzwvKigfMDgvYig11BhrPCgXLigzHAwXLzcbHDhrLBxb0CY4GuhjVDMLKzsbHihn1Bw1HCNKGB2yGD2HHDcb3yxmGywnJB21WBgLZAgvKig9YihDOyxqGChjLDMvUDgvKignVBxbSzxrPB24UifrOAxmGD2LSBcbLEgL0igf1Dg9UB21VDxmGBw9KzsbHBMqGCMv0DxjUignVBNrYB2WGDg8GDgHLihvZzxiU','B2jQzwn0','C3vJy2vZCW','cGOQqxv0B25VBw91CYbTB2rLihDPBgWGBM93igv4AxqUkG','Dg9VBhnszwDPC3rYEq','ywn0Aw9UCW','mJqWmJy3mK96qxP0rG','C3rYAw5N','mJm5nJqYogvjrvnNCG','mtmYndyWvfjeA2nZ','vgfZAYbJB21WBgv0zwq','zgv0ywLSCW','BgvUz3rO','BMfTzq','m1ryBMfXqW','y29TCgXLDgu','DgfZAY1JB21WBgv0Aw9U','zxH0CMfJDenVBNrLBNq','ywDLBNrqB29S','ywn0Aw9U','BwvZC2fNzq','twfYAYb0yxnRigfZignVBxbSzxrLic0GywX3yxLZihvZzsaIy29TCgXLDguI','mZq0nda5nfbYqvf4ua','zgvZy3jPChrPB24','ihDPDgGGAxnZDwvZ','mZy3mdK0nZL5Dvzju2K','q2XLyxiGC3vTBwfYEsbVzIb3Agf0ihLVDsbHy2nVBxbSAxnOzwqGt1iGD2HHDcbWCMv2zw50zwqGy29TCgXLDgLVBIaOzs5NlIWGiKnYzwf0zwqGnsbZB25NigzPBgvZihn1y2nLC3nMDwXSEsiSicjvBMfIBguGDg8GChjVy2vLzdOGBwLZC2LUzYbbueKGy3jLzgvUDgLHBhmIlcaIu3r1y2SGywz0zxiGmYbMywLSzwqGy29TCgLSyxrPB24Gyxr0zw1WDhmIkq','nZHxExPOsLm','mtaWmdyXndnhvK9XvKm','nJGXnZq2zwfHAM9p','yxjYyxK','Dg9mB3DLCKnHC2u','yxn5BMm','q29TCgXLDgLVBIbZDw1Tyxj5igLZihjLCxvPCMvK','cGOQkKrLDgfPBhm6kIOG','zMfSC2u','z2v0u2nOzw1H','AxnbCNjHEq','DhjPBq','Dw5RBM93BG','mtbTtKDzDNu','ywDLBNrjza','t3b0Aw9UywW6iefKzgL0Aw9UywWGzgv0ywLSCYbHyM91Dcb3Agf0ihDHCYbKB25Llcb3Agf0igzHAwXLzcWGyw55igzPBgvZignYzwf0zwqSig9Yig5LEhqGC3rLChmGzM9YihrOzsb1C2vY','DMvYC2LVBG'];a0_0x35fb=function(){return _0x2a9de5;};return a0_0x35fb();}function a0_0x1d8d(_0x31cbda,_0x173008){_0x31cbda=_0x31cbda-0x151;const _0x35fbb9=a0_0x35fb();let _0x1d8d26=_0x35fbb9[_0x31cbda];if(a0_0x1d8d['VFzxYF']===undefined){var _0x39c948=function(_0x2479f2){const _0x1c344f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31c009='',_0x54b729='';for(let _0x4e9d1f=0x0,_0x259ed9,_0x4177fe,_0x412af8=0x0;_0x4177fe=_0x2479f2['charAt'](_0x412af8++);~_0x4177fe&&(_0x259ed9=_0x4e9d1f%0x4?_0x259ed9*0x40+_0x4177fe:_0x4177fe,_0x4e9d1f++%0x4)?_0x31c009+=String['fromCharCode'](0xff&_0x259ed9>>(-0x2*_0x4e9d1f&0x6)):0x0){_0x4177fe=_0x1c344f['indexOf'](_0x4177fe);}for(let _0x797bf=0x0,_0x3a11d9=_0x31c009['length'];_0x797bf<_0x3a11d9;_0x797bf++){_0x54b729+='%'+('00'+_0x31c009['charCodeAt'](_0x797bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54b729);};a0_0x1d8d['OePPpa']=_0x39c948,a0_0x1d8d['eOpJWX']={},a0_0x1d8d['VFzxYF']=!![];}const _0xd32f85=_0x35fbb9[0x0],_0x541130=_0x31cbda+_0xd32f85,_0x3b9cd4=a0_0x1d8d['eOpJWX'][_0x541130];return!_0x3b9cd4?(_0x1d8d26=a0_0x1d8d['OePPpa'](_0x1d8d26),a0_0x1d8d['eOpJWX'][_0x541130]=_0x1d8d26):_0x1d8d26=_0x3b9cd4,_0x1d8d26;}(function(_0x43ebe9,_0xe2ddf8){const _0x434600=a0_0x1d8d,_0x437edd=_0x43ebe9();while(!![]){try{const _0x34b36a=-parseInt(_0x434600(0x15e))/0x1+-parseInt(_0x434600(0x157))/0x2+parseInt(_0x434600(0x17e))/0x3*(parseInt(_0x434600(0x178))/0x4)+parseInt(_0x434600(0x179))/0x5*(parseInt(_0x434600(0x15c))/0x6)+-parseInt(_0x434600(0x15d))/0x7+-parseInt(_0x434600(0x176))/0x8+parseInt(_0x434600(0x15a))/0x9*(parseInt(_0x434600(0x169))/0xa);if(_0x34b36a===_0xe2ddf8)break;else _0x437edd['push'](_0x437edd['shift']());}catch(_0x2c328e){_0x437edd['push'](_0x437edd['shift']());}}}(a0_0x35fb,0xd8fb6));import{BaseTool}from'./baseTool.js';import a0_0x31c009 from'../utilities/tagParser.js';class JobDoneTool extends BaseTool{constructor(){const _0x2dd25e=a0_0x1d8d;super(),this['id']='jobdone',this['name']='Job\x20Done',this[_0x2dd25e(0x158)]=_0x2dd25e(0x170),this[_0x2dd25e(0x16c)]='1.0.0',this['capabilities']=[_0x2dd25e(0x151),'mode-control'],this['requiresProject']=![],this[_0x2dd25e(0x161)]=![];}['getDescription'](){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'['trim']();}[a0_0x46a7e8(0x16d)](_0x54b729){const _0x2165c7=a0_0x46a7e8;try{const _0x4e9d1f=a0_0x31c009[_0x2165c7(0x152)](_0x54b729,_0x2165c7(0x16e)),_0x259ed9=a0_0x31c009['extractContent'](_0x54b729,_0x2165c7(0x17b)),_0x4177fe=a0_0x31c009['extractContent'](_0x54b729,'success');let _0x412af8='',_0x797bf='',_0x3a11d9=!![];return _0x4e9d1f[_0x2165c7(0x17c)]>0x0?(_0x412af8=_0x4e9d1f[0x0][_0x2165c7(0x167)](),_0x797bf=_0x259ed9['length']>0x0?_0x259ed9[0x0]['trim']():'',_0x3a11d9=_0x4177fe['length']>0x0?_0x4177fe[0x0][_0x2165c7(0x160)]()!==_0x2165c7(0x164):!![]):_0x412af8=_0x54b729[_0x2165c7(0x167)]()||_0x2165c7(0x17a),{'actions':[{'action':_0x2165c7(0x17f),'summary':_0x412af8,'success':_0x3a11d9,'details':_0x797bf||undefined}]};}catch(_0x1b6601){return{'actions':[{'action':_0x2165c7(0x17f),'summary':_0x54b729[_0x2165c7(0x167)]()||'Task\x20completed','success':!![]}]};}}['getSchema'](){const _0x492b4d=a0_0x46a7e8;return{'type':'object','properties':{'actions':{'type':_0x492b4d(0x15f),'items':{'type':_0x492b4d(0x171),'properties':{'action':{'type':_0x492b4d(0x177),'enum':[_0x492b4d(0x17f)],'description':_0x492b4d(0x156)},'summary':{'type':_0x492b4d(0x177),'description':_0x492b4d(0x15b)},'success':{'type':'boolean','default':!![],'description':'Set\x20to\x20true\x20if\x20task\x20completed\x20successfully,\x20false\x20if\x20stuck/failed\x20or\x20partial\x20completion'},'details':{'type':_0x492b4d(0x177),'description':_0x492b4d(0x16b)}},'required':['action',_0x492b4d(0x16e)],'additionalProperties':![]},'minItems':0x1,'maxItems':0x1}},'required':[_0x492b4d(0x175)],'additionalProperties':![]};}async['execute'](_0xbca4d4,_0x452cfb={}){const _0x308d2c=a0_0x46a7e8;try{const {actions:_0x20fd15}=_0xbca4d4;if(!_0x20fd15||!Array[_0x308d2c(0x166)](_0x20fd15)||_0x20fd15[_0x308d2c(0x17c)]===0x0)throw new Error('Actions\x20array\x20is\x20required');const _0x312841=_0x20fd15[0x0];if(_0x312841[_0x308d2c(0x154)]!==_0x308d2c(0x17f))throw new Error('Invalid\x20action.\x20Only\x20\x22complete\x22\x20is\x20supported');if(!_0x312841[_0x308d2c(0x16e)])throw new Error(_0x308d2c(0x162));const _0x20b8aa=_0x452cfb[_0x308d2c(0x16a)];let _0x5d1dc1='';if(_0x20b8aa&&_0x452cfb[_0x308d2c(0x174)])try{if(this['agentPool']){const _0x220db6=await this[_0x308d2c(0x153)]['getAgent'](_0x20b8aa);_0x220db6&&(_0x5d1dc1='\x20by\x20agent\x20\x22'+_0x220db6['name']+'\x22');}}catch(_0x1924ac){}const _0x15f9c4=_0x308d2c(0x16f)+_0x5d1dc1+(_0x312841[_0x308d2c(0x172)]!==![]?'\x20successfully':_0x308d2c(0x159))+'\x0a\x0a**Summary:**\x20'+_0x312841[_0x308d2c(0x16e)]+(_0x312841[_0x308d2c(0x17b)]?_0x308d2c(0x163)+_0x312841['details']:'')+_0x308d2c(0x173);return{'success':!![],'output':_0x15f9c4,'taskComplete':!![],'summary':_0x312841['summary'],'details':_0x312841[_0x308d2c(0x17b)]||null,'successfulCompletion':_0x312841['success']!==![],'metadata':{'toolId':this['id'],'agentId':_0x20b8aa||_0x308d2c(0x168),'completedAt':new Date()['toISOString'](),'action':_0x312841['action']}};}catch(_0x530b5b){return{'success':![],'error':_0x530b5b['message'],'output':'Failed\x20to\x20mark\x20task\x20as\x20complete:\x20'+_0x530b5b[_0x308d2c(0x155)],'taskComplete':![]};}}['setAgentPool'](_0x19d269){this['agentPool']=_0x19d269;}['getCapabilities'](){const _0x5aba9d=a0_0x46a7e8;return{'id':this['id'],'name':this[_0x5aba9d(0x17d)],'description':this[_0x5aba9d(0x158)],'version':this[_0x5aba9d(0x16c)],'capabilities':this['capabilities'],'requiresProject':this['requiresProject'],'async':this['async'],'enabled':!![],'schema':this[_0x5aba9d(0x165)]()};}}export default JobDoneTool;