@loxia-labs/loxia-autopilot-one 1.0.17 → 1.0.19

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 (122) hide show
  1. package/README.md +5 -3
  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/agentActivityService.js +1 -1
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +2 -2
  120. package/web-ui/build/static/index-Cb8CHAFw.css +1 -0
  121. package/web-ui/build/static/{index-DzOU48ux.js → index-CcwO7jS4.js} +72 -72
  122. package/web-ui/build/static/index-CRkOpV4k.css +0 -1
@@ -1 +1 @@
1
- function a0_0x10d5(){const _0xb3e802=['lMv4zq','DhjPBq','z2vUzxjHDgvtDw1Tyxj5','BwvZC2fNzq','4PsC4Psa4Psaia','zgLYzwn0B3jPzxndB3vUDa','zM9YBwf0vhjLzq','Aw5JBhvKzxm','lMrSBa','lMLKzwe','lNzZy29Kzq','zgLYzwn0B3j5','lNDVzMy','lNPPCa','n2DNEeLoBa','Dg9mB3DLCKnHC2u','mJG0mdC5mfrAtu5Hta','Bwf4rgvWDgG','Bg9JywXLq29TCgfYzq','mte5ouHpyNr2vG','tufyx0rfufrix0XjtuLu','teftvf9cuKfoq0G','BNvTyMvY','mtG1yvvpue54','D29YA2LUz0rPCMvJDg9YEq','lNnXBgL0zq','CMvZB2X2zq','cK1HEcbezxb0AdOG','lM1Wna','Aw5MBW','lMr5BgLI','BM9Kzv9TB2r1BgvZ','4Psu4Psa4Psaia','zxHLyW','Aw5JBhvKzuv4DgvUC2LVBNm','lNrLBxa','zxHJBhvKzurPCMvJDg9YAwvZig11C3qGyMuGyw4GyxjYyxK','lMjPBG','C2HVD0HPzgrLBG','kqOGic0GuMfUz2u6ideT','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','DhLWzq','BgLInJq','ndm4mZa4mgzJuNH0vW','cI0GqMLUyxj5igzPBgvZignHBIbIzsbMAwX0zxjLzcb3AxrOigLNBM9YzujPBMfYEuzPBgvZig9WDgLVBGOGicaG','zxHJBhvKzurPCMvJDg9YAwvZ','ovPKsw5Asq','icaGia','AxnbCNjHEq','zw52','BwfW','zMLSzq','mtGWmtuWz0HQDNDZ','zxHJBhvKzuv4DgvUC2LVBNm','otq5mJiYneTcALzkzq','lMPWzwC','C3rHDhm','C2HVD1nPEMvZ','C2TPChbLzenVDw50','y3DK','D2fYBG','BMfTzq','y2HPBgrYzw4','cI0Gtwf4Aw11BsbKAxjLy3rVCMLLCZOG','lM1PBI5JC3m','DMvUDG','DgfYz2v0','yNvPBgq','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','su5eru5u','ChvZAa','Aw5JBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','lNb5za','tufyx0rjuKvdve9ssuvt','mtm4otqXmhr6q2Dizq','Dg9gAxHLza','D2HLzwXZ','rxjYB3iGyNvPBgrPBMCGDhjLzq','CgfYC2u','Dg1W','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','cKzPBgvZoIa','Dhj1zq','lNrTCa','zxjYB3i','lM51Ehq','qLjbtKni','tufyx0zjtevtx0Lox1rsruu','BgvUz3rO','DMvUzg9Y','AxngAwXL','mJGWntzjBfDPy2u','yMfZzw5HBwu','lMrHDa','DgvTCa','lNb5DgvZDf9JywnOzq','zwDNCW','C2L6zq','Bg9Nz2vY','lMvUDG','ntGWntq4sNLcCKXh','u1LnqK9muW','mZq2rvHPA3fW','zMLSDgvY','yNvPBgruCMvL','lMvNz3m','lNjHCG','C3bSAxq','zMfSC2u','C3rHDa','yM93zxjFy29TCg9Uzw50CW','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','cLnRAxbWzwq6ia','lMLJBW','zMLSzxndB3vUDa','lMPWzW','zM9YBwf0rMLSzvnPEMu','lMD6','CMvSyxrPDMu','lNrHCG','DhjLzunVBMzPzW'];a0_0x10d5=function(){return _0xb3e802;};return a0_0x10d5();}const a0_0x38a9c3=a0_0x4adf;(function(_0x353bf5,_0x85632d){const _0x16e34f=a0_0x4adf,_0x4bc190=_0x353bf5();while(!![]){try{const _0x4efd69=parseInt(_0x16e34f(0x180))/0x1+parseInt(_0x16e34f(0x19c))/0x2*(parseInt(_0x16e34f(0x191))/0x3)+parseInt(_0x16e34f(0x161))/0x4+-parseInt(_0x16e34f(0x1c6))/0x5*(-parseInt(_0x16e34f(0x16a))/0x6)+-parseInt(_0x16e34f(0x1bd))/0x7*(-parseInt(_0x16e34f(0x16c))/0x8)+-parseInt(_0x16e34f(0x164))/0x9*(parseInt(_0x16e34f(0x1bf))/0xa)+parseInt(_0x16e34f(0x1c2))/0xb*(-parseInt(_0x16e34f(0x19a))/0xc);if(_0x4efd69===_0x85632d)break;else _0x4bc190['push'](_0x4bc190['shift']());}catch(_0x4bacee){_0x4bc190['push'](_0x4bc190['shift']());}}}(a0_0x10d5,0xcdd83));function a0_0x4adf(_0x1d6d99,_0x53e34a){_0x1d6d99=_0x1d6d99-0x14f;const _0x10d5ea=a0_0x10d5();let _0x4adf66=_0x10d5ea[_0x1d6d99];if(a0_0x4adf['fffpvC']===undefined){var _0x51f641=function(_0x571290){const _0x7a03c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x278c74='',_0xcdb5e6='';for(let _0x42580d=0x0,_0x5d3456,_0x3fa928,_0x41f245=0x0;_0x3fa928=_0x571290['charAt'](_0x41f245++);~_0x3fa928&&(_0x5d3456=_0x42580d%0x4?_0x5d3456*0x40+_0x3fa928:_0x3fa928,_0x42580d++%0x4)?_0x278c74+=String['fromCharCode'](0xff&_0x5d3456>>(-0x2*_0x42580d&0x6)):0x0){_0x3fa928=_0x7a03c9['indexOf'](_0x3fa928);}for(let _0x2fa212=0x0,_0x208876=_0x278c74['length'];_0x2fa212<_0x208876;_0x2fa212++){_0xcdb5e6+='%'+('00'+_0x278c74['charCodeAt'](_0x2fa212)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcdb5e6);};a0_0x4adf['rWHYta']=_0x51f641,a0_0x4adf['KgTlQe']={},a0_0x4adf['fffpvC']=!![];}const _0x3a9302=_0x10d5ea[0x0],_0x145173=_0x1d6d99+_0x3a9302,_0x456a74=a0_0x4adf['KgTlQe'][_0x145173];return!_0x456a74?(_0x4adf66=a0_0x4adf['rWHYta'](_0x4adf66),a0_0x4adf['KgTlQe'][_0x145173]=_0x4adf66):_0x4adf66=_0x456a74,_0x4adf66;}import{BaseTool}from'./baseTool.js';import{promises as a0_0x278c74}from'fs';import a0_0xcdb5e6 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_0x38a9c3(0x1b3),'LAST_BRANCH':a0_0x38a9c3(0x156),'VERTICAL':'│\x20\x20\x20','INDENT':a0_0x38a9c3(0x165)}},DEFAULT_IGNORE_DIRECTORIES=[a0_0x38a9c3(0x155),'.git','dist',a0_0x38a9c3(0x179),'coverage','.next',a0_0x38a9c3(0x18b),'.cache','out',a0_0x38a9c3(0x178),a0_0x38a9c3(0x18f),a0_0x38a9c3(0x1a4),a0_0x38a9c3(0x1b9),a0_0x38a9c3(0x1b8),'.vs','__pycache__',a0_0x38a9c3(0x177),a0_0x38a9c3(0x167),a0_0x38a9c3(0x199),a0_0x38a9c3(0x195),'.mypy_cache',a0_0x38a9c3(0x196),a0_0x38a9c3(0x19f),'lib',a0_0x38a9c3(0x160),'parts','sdist',a0_0x38a9c3(0x182),'.tox','.nox','htmlcov','.hypothesis',a0_0x38a9c3(0x185),a0_0x38a9c3(0x194),'.tmp',a0_0x38a9c3(0x159)],DEFAULT_IGNORE_EXTENSIONS=['.map','.min.js',a0_0x38a9c3(0x176),'.lock','.log',a0_0x38a9c3(0x189),a0_0x38a9c3(0x159),'.pyc','.pyo',a0_0x38a9c3(0x17e),'.so',a0_0x38a9c3(0x1b7),a0_0x38a9c3(0x154),a0_0x38a9c3(0x1af),'.obj','.o','.a','.class','.jar','.war'],BINARY_EXTENSIONS=['.png',a0_0x38a9c3(0x1a9),a0_0x38a9c3(0x16d),'.gif','.bmp',a0_0x38a9c3(0x1a7),'.svg','.pdf',a0_0x38a9c3(0x1bc),a0_0x38a9c3(0x1ad),a0_0x38a9c3(0x1ab),a0_0x38a9c3(0x1a0),'.7z','.mp3',a0_0x38a9c3(0x152),'.avi','.mov','.wmv',a0_0x38a9c3(0x1bb),'.woff2','.ttf','.eot',a0_0x38a9c3(0x15b),a0_0x38a9c3(0x193),'.db',a0_0x38a9c3(0x14f)];class FileTreeTool extends BaseTool{constructor(_0x42580d={},_0x5d3456=null){const _0x30a699=a0_0x38a9c3;super(_0x42580d,_0x5d3456),this['id']='file-tree',this['requiresProject']=!![],this['isAsync']=!![],this['timeout']=_0x42580d['timeout']||0x1d4c0,this[_0x30a699(0x1ae)]={...TREE_CONFIG,..._0x42580d['treeConfig']},this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}['getDescription'](){const _0x48fcd0=a0_0x38a9c3;return'\x0aFile\x20Tree\x20Tool:\x20Generate\x20hierarchical\x20tree\x20representation\x20of\x20project\x20directory\x20structure.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x22maxDepth\x22:\x204,\x0a\x20\x20\x22includeExtensions\x22:\x20[\x22.js\x22,\x20\x22.jsx\x22,\x20\x22.ts\x22,\x20\x22.tsx\x22],\x0a\x20\x20\x22excludeExtensions\x22:\x20[\x22.test.js\x22,\x20\x22.spec.js\x22],\x0a\x20\x20\x22showFiles\x22:\x20true,\x0a\x20\x20\x22showHidden\x22:\x20false\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a\x0adirectory\x20(optional):\x0a\x20\x20-\x20Directory\x20to\x20scan\x20(default:\x20working\x20directory)\x0a\x20\x20-\x20Can\x20be\x20relative\x20or\x20absolute\x20path\x0a\x20\x20-\x20Examples:\x20\x22src\x22,\x20\x22src/components\x22,\x20\x22/home/user/project\x22\x0a\x0amaxDepth\x20(optional):\x0a\x20\x20-\x20Maximum\x20depth\x20to\x20scan\x20(default:\x20'+TREE_CONFIG['DEFAULT_MAX_DEPTH']+_0x48fcd0(0x15d)+TREE_CONFIG['MAX_DEPTH_LIMIT']+'\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-\x20Array\x20of\x20extensions\x0a\x20\x20-\x20Examples:\x20[\x22.js\x22,\x20\x22.jsx\x22,\x20\x22.ts\x22,\x20\x22.tsx\x22]\x0a\x20\x20-\x20Takes\x20precedence\x20over\x20excludeExtensions\x0a\x0aexcludeExtensions\x20(optional\x20-\x20BLACKLIST):\x0a\x20\x20-\x20Exclude\x20these\x20file\x20extensions\x0a\x20\x20-\x20Array\x20of\x20extensions\x0a\x20\x20-\x20Examples:\x20[\x22.test.js\x22,\x20\x22.spec.js\x22,\x20\x22.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\x22,\x20\x22fixtures\x22,\x20\x22mocks\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\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Basic\x20tree:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22.\x22\x0a}\x0a```\x0a\x0aExample\x202\x20-\x20JavaScript/TypeScript\x20only:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x22includeExtensions\x22:\x20[\x22.js\x22,\x20\x22.jsx\x22,\x20\x22.ts\x22,\x20\x22.tsx\x22],\x0a\x20\x20\x22maxDepth\x22:\x205\x0a}\x0a```\x0a\x0aExample\x203\x20-\x20Python\x20project\x20structure:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22.\x22,\x0a\x20\x20\x22includeExtensions\x22:\x20[\x22.py\x22],\x0a\x20\x20\x22excludeExtensions\x22:\x20[\x22.pyc\x22],\x0a\x20\x20\x22showFiles\x22:\x20true\x0a}\x0a```\x0a\x0aExample\x204\x20-\x20Directory\x20structure\x20only:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x22showFiles\x22:\x20false,\x0a\x20\x20\x22maxDepth\x22:\x203\x0a}\x0a```\x0a\x0aExample\x205\x20-\x20Exclude\x20test\x20files:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x22excludeExtensions\x22:\x20[\x22.test.js\x22,\x20\x22.spec.js\x22,\x20\x22.test.ts\x22,\x20\x22.spec.ts\x22],\x0a\x20\x20\x22excludeDirectories\x22:\x20[\x22__tests__\x22,\x20\x22tests\x22,\x20\x22specs\x22]\x0a}\x0a```\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\x0a\x0aLIMITATIONS:\x0a-\x20Maximum\x20depth:\x20'+TREE_CONFIG['MAX_DEPTH_LIMIT']+'\x0a-\x20Maximum\x20files:\x20'+TREE_CONFIG[_0x48fcd0(0x18d)]+_0x48fcd0(0x175)+TREE_CONFIG['MAX_DIRECTORIES']+_0x48fcd0(0x162);}['parseParameters'](_0x3fa928){const _0x518c5c=a0_0x38a9c3;try{if(_0x3fa928[_0x518c5c(0x1b0)]()['startsWith']('{')){const _0x173310=JSON[_0x518c5c(0x184)](_0x3fa928);return{'directory':_0x173310['directory']||'.','maxDepth':_0x173310[_0x518c5c(0x1c0)]||TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':_0x173310[_0x518c5c(0x158)]||[],'excludeExtensions':_0x173310[_0x518c5c(0x16b)]||[],'excludeDirectories':_0x173310[_0x518c5c(0x163)]||[],'showFiles':_0x173310['showFiles']!==![],'showHidden':_0x173310[_0x518c5c(0x15c)]===!![],'showSizes':_0x173310['showSizes']===!![],'ignoreBinaryFiles':_0x173310['ignoreBinaryFiles']===!![]};}const _0x41f245={'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x2fa212=/<directory>(.*?)<\/directory>/i,_0x208876=_0x2fa212[_0x518c5c(0x157)](_0x3fa928);_0x208876&&(_0x41f245[_0x518c5c(0x1ba)]=_0x208876[0x1][_0x518c5c(0x1b0)]());const _0x435aeb=/<max-depth>(\d+)<\/max-depth>/i,_0x231778=_0x435aeb['exec'](_0x3fa928);_0x231778&&(_0x41f245['maxDepth']=parseInt(_0x231778[0x1],0xa));const _0xc5caac=/<include-extensions>(.*?)<\/include-extensions>/i,_0xb7ae4c=_0xc5caac['exec'](_0x3fa928);_0xb7ae4c&&(_0x41f245[_0x518c5c(0x158)]=_0xb7ae4c[0x1][_0x518c5c(0x1a1)](',')[_0x518c5c(0x168)](_0x37c33a=>_0x37c33a['trim']())[_0x518c5c(0x19d)](_0x548858=>_0x548858['length']>0x0));const _0x4c5bcf=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x27b58e=_0x4c5bcf[_0x518c5c(0x157)](_0x3fa928);_0x27b58e&&(_0x41f245['excludeExtensions']=_0x27b58e[0x1][_0x518c5c(0x1a1)](',')[_0x518c5c(0x168)](_0x5af320=>_0x5af320[_0x518c5c(0x1b0)]())['filter'](_0x5069be=>_0x5069be['length']>0x0));const _0x20db9e=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x4b8c38=_0x20db9e['exec'](_0x3fa928);_0x4b8c38&&(_0x41f245['excludeDirectories']=_0x4b8c38[0x1][_0x518c5c(0x1a1)](',')['map'](_0x3946bf=>_0x3946bf[_0x518c5c(0x1b0)]())['filter'](_0x4ca7e0=>_0x4ca7e0['length']>0x0));const _0x82641=/<show-files>(.*?)<\/show-files>/i,_0x283aac=_0x82641[_0x518c5c(0x157)](_0x3fa928);_0x283aac&&(_0x41f245['showFiles']=_0x283aac[0x1]['trim']()['toLowerCase']()!==_0x518c5c(0x1a2));const _0x5b7849=/<show-hidden>(.*?)<\/show-hidden>/i,_0x2ccbce=_0x5b7849['exec'](_0x3fa928);_0x2ccbce&&(_0x41f245[_0x518c5c(0x15c)]=_0x2ccbce[0x1]['trim']()[_0x518c5c(0x1be)]()===_0x518c5c(0x188));const _0x1b7b09=/<show-sizes>(.*?)<\/show-sizes>/i,_0x31c5e5=_0x1b7b09[_0x518c5c(0x157)](_0x3fa928);_0x31c5e5&&(_0x41f245[_0x518c5c(0x16f)]=_0x31c5e5[0x1]['trim']()['toLowerCase']()===_0x518c5c(0x188));const _0x378365=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x315544=_0x378365[_0x518c5c(0x157)](_0x3fa928);return _0x315544&&(_0x41f245['ignoreBinaryFiles']=_0x315544[0x1][_0x518c5c(0x1b0)]()[_0x518c5c(0x1be)]()===_0x518c5c(0x188)),_0x41f245;}catch(_0x460674){return this['logger']?.[_0x518c5c(0x18a)]('Failed\x20to\x20parse\x20file-tree\x20parameters',{'error':_0x460674['message']}),{'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x460674[_0x518c5c(0x1b2)]};}}['getRequiredParameters'](){return[];}[a0_0x38a9c3(0x15e)](_0x200dcf){const _0x3ae893=a0_0x38a9c3,_0x22c01d=[];if(_0x200dcf['maxDepth']!==undefined){if(typeof _0x200dcf[_0x3ae893(0x1c0)]!==_0x3ae893(0x1c5)||_0x200dcf[_0x3ae893(0x1c0)]<0x1)_0x22c01d[_0x3ae893(0x17c)]('max-depth\x20must\x20be\x20a\x20positive\x20number');else _0x200dcf['maxDepth']>this[_0x3ae893(0x1ae)]['MAX_DEPTH_LIMIT']&&_0x22c01d[_0x3ae893(0x17c)]('max-depth\x20cannot\x20exceed\x20'+this[_0x3ae893(0x1ae)][_0x3ae893(0x1c3)]);}_0x200dcf[_0x3ae893(0x1ba)]&&_0x200dcf['directory'][_0x3ae893(0x1b6)]('..')&&_0x22c01d[_0x3ae893(0x17c)]('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');if(_0x200dcf['includeExtensions']!==undefined&&_0x200dcf['includeExtensions']!==null){if(!Array[_0x3ae893(0x166)](_0x200dcf['includeExtensions']))_0x22c01d[_0x3ae893(0x17c)](_0x3ae893(0x17d));else for(const _0x4b7b26 of _0x200dcf[_0x3ae893(0x158)]){!_0x4b7b26['startsWith']('.')&&_0x22c01d[_0x3ae893(0x17c)]('Extension\x20\x22'+_0x4b7b26+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}if(_0x200dcf['excludeExtensions']!==undefined&&_0x200dcf['excludeExtensions']!==null){if(!Array[_0x3ae893(0x166)](_0x200dcf['excludeExtensions']))_0x22c01d[_0x3ae893(0x17c)]('excludeExtensions\x20must\x20be\x20an\x20array');else for(const _0x33a463 of _0x200dcf['excludeExtensions']){!_0x33a463['startsWith']('.')&&_0x22c01d[_0x3ae893(0x17c)]('Extension\x20\x22'+_0x33a463+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}_0x200dcf[_0x3ae893(0x163)]!==undefined&&_0x200dcf['excludeDirectories']!==null&&(!Array['isArray'](_0x200dcf['excludeDirectories'])&&_0x22c01d[_0x3ae893(0x17c)](_0x3ae893(0x15a)));if(_0x22c01d['length']>0x0)throw new Error(_0x3ae893(0x1a5)+_0x22c01d['join'](',\x20'));return{'valid':!![],'errors':[]};}async['execute'](_0x325245,_0x32333e){const _0x5c2f4d=a0_0x38a9c3,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG['DEFAULT_MAX_DEPTH'],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x325245,{projectDir:_0x54d49b,agentId:_0x3fcd75,directoryAccess:_0x2adb68}=_0x32333e;let _0x197b5d=_0x54d49b||process[_0x5c2f4d(0x171)]();_0x2adb68&&_0x2adb68[_0x5c2f4d(0x1c7)]&&(_0x197b5d=_0x2adb68['workingDirectory'],this[_0x5c2f4d(0x198)]?.[_0x5c2f4d(0x153)]('Using\x20agent\x20configured\x20working\x20directory',{'workingDirectory':_0x2adb68['workingDirectory'],'agentId':_0x3fcd75}));const _0x54e1d4=a0_0xcdb5e6['isAbsolute'](directory)?directory:a0_0xcdb5e6[_0x5c2f4d(0x150)](_0x197b5d,directory);try{const _0x3d76df=await a0_0x278c74[_0x5c2f4d(0x1a3)](_0x54e1d4);if(!_0x3d76df['isDirectory']())throw new Error(_0x5c2f4d(0x17a));}catch(_0x4be907){throw new Error('Directory\x20does\x20not\x20exist\x20or\x20is\x20inaccessible:\x20'+directory);}this[_0x5c2f4d(0x198)]?.[_0x5c2f4d(0x153)]('Generating\x20file\x20tree',{'directory':directory,'targetDir':_0x54e1d4,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.[_0x5c2f4d(0x18e)]||0x0,'agentId':_0x3fcd75}),this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0xbc6019=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x3be9f3=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x3be9f3['push'](...BINARY_EXTENSIONS);const _0x3a35f4=await this[_0x5c2f4d(0x19e)](_0x54e1d4,_0x54e1d4,0x0,maxDepth,_0xbc6019,includeExtensions||[],[...excludeExtensions||[],..._0x3be9f3],showFiles,showHidden,showSizes),_0x8af19b=this['formatTree'](_0x3a35f4),_0x595324=this[_0x5c2f4d(0x1b1)](directory,this['stats'],maxDepth);return{'success':!![],'directory':_0x54e1d4,'tree':_0x8af19b,'summary':_0x595324,'maxDepth':maxDepth,'totalFiles':this['stats']['filesCount'],'totalDirectories':this['stats'][_0x5c2f4d(0x1b4)],'skippedCount':this[_0x5c2f4d(0x16e)][_0x5c2f4d(0x170)],'statistics':{...this['stats']},'toolUsed':'file-tree'};}async['buildTree'](_0x4244ba,_0x44daa6,_0x9b1551,_0x1cfea1,_0x49d5fa,_0x4f1d68,_0x83612d,_0xe2d9d7,_0x31be1a,_0x14d93f){const _0x4e8a94=a0_0x38a9c3;if(_0x9b1551>_0x1cfea1)return null;if(this['stats']['directoriesCount']>=this['treeConfig'][_0x4e8a94(0x17f)])return this[_0x4e8a94(0x198)]?.['warn']('Maximum\x20directory\x20count\x20reached',{'maxDirectories':this['treeConfig'][_0x4e8a94(0x17f)]}),null;try{const _0x1c08a8=await a0_0x278c74['readdir'](_0x44daa6,{'withFileTypes':!![]}),_0x5c9d45={'name':_0x9b1551===0x0?a0_0xcdb5e6[_0x4e8a94(0x192)](_0x44daa6)+'/':a0_0xcdb5e6['basename'](_0x44daa6),'path':a0_0xcdb5e6['relative'](_0x4244ba,_0x44daa6),'type':'directory','children':[]};this[_0x4e8a94(0x16e)]['directoriesCount']++;for(const _0x33dc0a of _0x1c08a8){if(this['stats'][_0x4e8a94(0x1a8)]>=this[_0x4e8a94(0x1ae)][_0x4e8a94(0x18d)]){this['logger']?.[_0x4e8a94(0x172)]('Maximum\x20file\x20count\x20reached',{'maxFiles':this['treeConfig'][_0x4e8a94(0x18d)]});break;}if(!_0x31be1a&&_0x33dc0a[_0x4e8a94(0x173)]['startsWith']('.')){this['stats']['skippedCount']++;continue;}const _0x6496b1=a0_0xcdb5e6['join'](_0x44daa6,_0x33dc0a['name']);if(_0x33dc0a['isDirectory']()){if(_0x49d5fa[_0x4e8a94(0x1b6)](_0x33dc0a[_0x4e8a94(0x173)])){this['stats']['skippedCount']++;continue;}const _0x5bb14a=await this[_0x4e8a94(0x19e)](_0x4244ba,_0x6496b1,_0x9b1551+0x1,_0x1cfea1,_0x49d5fa,_0x4f1d68,_0x83612d,_0xe2d9d7,_0x31be1a,_0x14d93f);_0x5bb14a&&(_0x5bb14a['children'][_0x4e8a94(0x18e)]>0x0||_0x9b1551===0x0)&&_0x5c9d45[_0x4e8a94(0x174)][_0x4e8a94(0x17c)](_0x5bb14a);}else{if(_0x33dc0a[_0x4e8a94(0x190)]()&&_0xe2d9d7){if(_0x9b1551+0x1>_0x1cfea1)continue;const _0xbceddf=a0_0xcdb5e6['extname'](_0x33dc0a['name']);if(_0x4f1d68['length']>0x0){if(!_0x4f1d68['includes'](_0xbceddf)){this[_0x4e8a94(0x16e)]['skippedCount']++;continue;}}else{if(_0x83612d['includes'](_0xbceddf)){this[_0x4e8a94(0x16e)]['skippedCount']++;continue;}}let _0x1d2099='';if(_0x14d93f)try{const _0x16d568=await a0_0x278c74['stat'](_0x6496b1);_0x1d2099='\x20('+this[_0x4e8a94(0x1aa)](_0x16d568[_0x4e8a94(0x197)])+')';}catch(_0x267620){}_0x5c9d45['children']['push']({'name':_0x33dc0a['name']+_0x1d2099,'path':a0_0xcdb5e6['relative'](_0x4244ba,_0x6496b1),'type':_0x4e8a94(0x169),'ext':_0xbceddf}),this[_0x4e8a94(0x16e)][_0x4e8a94(0x1a8)]++;}}}return _0x5c9d45[_0x4e8a94(0x174)]['sort']((_0x4c5022,_0x3e3979)=>{const _0x51c6b2=_0x4e8a94;if(_0x4c5022['type']===_0x3e3979[_0x51c6b2(0x15f)])return _0x4c5022[_0x51c6b2(0x173)][_0x51c6b2(0x1c1)](_0x3e3979['name']);return _0x4c5022[_0x51c6b2(0x15f)]==='directory'?-0x1:0x1;}),_0x5c9d45;}catch(_0x128d06){return this['logger']?.[_0x4e8a94(0x18a)](_0x4e8a94(0x183),{'currentPath':_0x44daa6,'error':_0x128d06['message']}),{'name':a0_0xcdb5e6['basename'](_0x44daa6),'path':a0_0xcdb5e6[_0x4e8a94(0x1ac)](_0x4244ba,_0x44daa6),'type':_0x4e8a94(0x1ba),'error':_0x128d06[_0x4e8a94(0x1b2)],'children':[]};}}[a0_0x38a9c3(0x1b5)](_0x4b748e,_0x362c03='',_0x5372e9=!![],_0x276c57=!![]){const _0x4f3215=a0_0x38a9c3;if(!_0x4b748e)return'';const _0x1a26fa=this['treeConfig'][_0x4f3215(0x19b)];let _0x48c41e='';_0x276c57?_0x48c41e=_0x4b748e[_0x4f3215(0x173)]+'\x0a':_0x48c41e=''+_0x362c03+(_0x5372e9?_0x1a26fa[_0x4f3215(0x1c4)]:_0x1a26fa[_0x4f3215(0x18c)])+_0x4b748e[_0x4f3215(0x173)]+'\x0a';if(_0x4b748e[_0x4f3215(0x174)]&&_0x4b748e[_0x4f3215(0x174)]['length']>0x0){const _0x4787cb=_0x276c57?'':_0x362c03+(_0x5372e9?_0x1a26fa[_0x4f3215(0x17b)]:_0x1a26fa['VERTICAL']);_0x4b748e[_0x4f3215(0x174)]['forEach']((_0x3cc9aa,_0x267dc3)=>{const _0x422c91=_0x4f3215,_0x18dc7b=_0x267dc3===_0x4b748e[_0x422c91(0x174)]['length']-0x1;_0x48c41e+=this[_0x422c91(0x1b5)](_0x3cc9aa,_0x4787cb,_0x18dc7b,![]);});}return _0x48c41e;}['formatFileSize'](_0x2d2b5e){const _0x5a7043=a0_0x38a9c3,_0x19e627=0x400,_0xeb499d=_0x19e627*0x400,_0x23723a=_0xeb499d*0x400;if(_0x2d2b5e>=_0x23723a)return(_0x2d2b5e/_0x23723a)[_0x5a7043(0x181)](0x2)+'\x20GB';else{if(_0x2d2b5e>=_0xeb499d)return(_0x2d2b5e/_0xeb499d)[_0x5a7043(0x181)](0x2)+'\x20MB';else return _0x2d2b5e>=_0x19e627?(_0x2d2b5e/_0x19e627)[_0x5a7043(0x181)](0x2)+'\x20KB':_0x2d2b5e+'\x20B';}}[a0_0x38a9c3(0x1b1)](_0x4c5283,_0x26790d,_0x43b99e){const _0x241620=a0_0x38a9c3;return('\x0aDirectory:\x20'+_0x4c5283+_0x241620(0x151)+_0x43b99e+_0x241620(0x187)+_0x26790d[_0x241620(0x1a8)]+'\x0aDirectories:\x20'+_0x26790d['directoriesCount']+_0x241620(0x1a6)+_0x26790d['skippedCount']+'\x0a\x20\x20\x20\x20')['trim']();}async['cleanup'](_0x256768){const _0x20d426=a0_0x38a9c3;this['logger']?.[_0x20d426(0x153)](_0x20d426(0x186),{'operationId':_0x256768});}}export default FileTreeTool;
1
+ const a0_0x4486b7=a0_0x13e7;function a0_0x13e7(_0x3a6c4a,_0x264197){_0x3a6c4a=_0x3a6c4a-0x1a4;const _0x16f993=a0_0x16f9();let _0x13e7e4=_0x16f993[_0x3a6c4a];if(a0_0x13e7['xCIPVC']===undefined){var _0x431c70=function(_0x253b53){const _0x41930c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26cef1='',_0x4a077f='';for(let _0x2fba2e=0x0,_0x12a6b8,_0x3fb146,_0x65112b=0x0;_0x3fb146=_0x253b53['charAt'](_0x65112b++);~_0x3fb146&&(_0x12a6b8=_0x2fba2e%0x4?_0x12a6b8*0x40+_0x3fb146:_0x3fb146,_0x2fba2e++%0x4)?_0x26cef1+=String['fromCharCode'](0xff&_0x12a6b8>>(-0x2*_0x2fba2e&0x6)):0x0){_0x3fb146=_0x41930c['indexOf'](_0x3fb146);}for(let _0xb7d6a0=0x0,_0x4d3ede=_0x26cef1['length'];_0xb7d6a0<_0x4d3ede;_0xb7d6a0++){_0x4a077f+='%'+('00'+_0x26cef1['charCodeAt'](_0xb7d6a0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a077f);};a0_0x13e7['YLmtGX']=_0x431c70,a0_0x13e7['lxwVaK']={},a0_0x13e7['xCIPVC']=!![];}const _0x4e1162=_0x16f993[0x0],_0x4f2b9c=_0x3a6c4a+_0x4e1162,_0x3851d8=a0_0x13e7['lxwVaK'][_0x4f2b9c];return!_0x3851d8?(_0x13e7e4=a0_0x13e7['YLmtGX'](_0x13e7e4),a0_0x13e7['lxwVaK'][_0x4f2b9c]=_0x13e7e4):_0x13e7e4=_0x3851d8,_0x13e7e4;}(function(_0x572488,_0x587101){const _0x1a2d7d=a0_0x13e7,_0x5c588e=_0x572488();while(!![]){try{const _0x542c7f=parseInt(_0x1a2d7d(0x225))/0x1*(parseInt(_0x1a2d7d(0x1e4))/0x2)+-parseInt(_0x1a2d7d(0x223))/0x3*(-parseInt(_0x1a2d7d(0x1b1))/0x4)+-parseInt(_0x1a2d7d(0x229))/0x5+parseInt(_0x1a2d7d(0x1f4))/0x6+parseInt(_0x1a2d7d(0x221))/0x7*(-parseInt(_0x1a2d7d(0x1e5))/0x8)+-parseInt(_0x1a2d7d(0x1c6))/0x9*(-parseInt(_0x1a2d7d(0x1fe))/0xa)+parseInt(_0x1a2d7d(0x222))/0xb*(-parseInt(_0x1a2d7d(0x1cf))/0xc);if(_0x542c7f===_0x587101)break;else _0x5c588e['push'](_0x5c588e['shift']());}catch(_0x5f21d0){_0x5c588e['push'](_0x5c588e['shift']());}}}(a0_0x16f9,0x575e3));import{BaseTool}from'./baseTool.js';import{promises as a0_0x26cef1}from'fs';import a0_0x4a077f from'path';const TREE_CONFIG={'DEFAULT_MAX_DEPTH':0x3,'MAX_DEPTH_LIMIT':0xa,'MAX_FILES_IN_TREE':0x2710,'MAX_DIRECTORIES':0x3e8,'SHOW_FILES_DEFAULT':!![],'SHOW_HIDDEN_DEFAULT':![],'SHOW_SIZES_DEFAULT':![],'SYMBOLS':{'BRANCH':'├──\x20','LAST_BRANCH':a0_0x4486b7(0x205),'VERTICAL':a0_0x4486b7(0x1b5),'INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=[a0_0x4486b7(0x22a),'.git',a0_0x4486b7(0x1e1),'build',a0_0x4486b7(0x1b3),'.next','.nuxt','.cache','out','target',a0_0x4486b7(0x1de),a0_0x4486b7(0x224),'.vscode','.idea',a0_0x4486b7(0x215),a0_0x4486b7(0x1d5),a0_0x4486b7(0x1ce),a0_0x4486b7(0x1d6),a0_0x4486b7(0x1ae),a0_0x4486b7(0x1a4),'.mypy_cache',a0_0x4486b7(0x1eb),a0_0x4486b7(0x213),a0_0x4486b7(0x20c),a0_0x4486b7(0x1c9),a0_0x4486b7(0x1da),'sdist',a0_0x4486b7(0x211),a0_0x4486b7(0x1f1),'.nox',a0_0x4486b7(0x1f7),'.hypothesis','tmp',a0_0x4486b7(0x20f),'.tmp',a0_0x4486b7(0x203)],DEFAULT_IGNORE_EXTENSIONS=[a0_0x4486b7(0x1e3),'.min.js',a0_0x4486b7(0x217),a0_0x4486b7(0x1be),'.log',a0_0x4486b7(0x1c4),'.temp','.pyc',a0_0x4486b7(0x1d4),a0_0x4486b7(0x1ad),'.so','.dll',a0_0x4486b7(0x22d),'.exe','.obj','.o','.a','.class',a0_0x4486b7(0x1e7),a0_0x4486b7(0x1ef)],BINARY_EXTENSIONS=[a0_0x4486b7(0x1fd),a0_0x4486b7(0x1f6),'.jpeg',a0_0x4486b7(0x22b),'.bmp','.ico',a0_0x4486b7(0x21e),'.pdf',a0_0x4486b7(0x1d2),'.tar',a0_0x4486b7(0x20a),a0_0x4486b7(0x20e),a0_0x4486b7(0x1cd),'.mp3','.mp4',a0_0x4486b7(0x200),'.mov','.wmv',a0_0x4486b7(0x230),a0_0x4486b7(0x22f),a0_0x4486b7(0x1fb),a0_0x4486b7(0x1bf),'.bin',a0_0x4486b7(0x1d0),'.db','.sqlite'];function a0_0x16f9(){const _0x696699=['vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','lM1HCa','nhn2EhzOrq','mZiYndq4ExvuAwf6','y3DK','lMPHCG','Aw5MBW','cI0Gtwf4Aw11BsbKAxjLy3rVCMLLCZOG','Bwf4rgvWDgG','zwDNCW','AM9PBG','zgLYzwn0B3j5','cKzPBguGvhjLzsbuB29SoIbhzw5LCMf0zsbOAwvYyxjJAgLJywWGDhjLzsbYzxbYzxnLBNrHDgLVBIbVzIbWCM9Qzwn0igrPCMvJDg9YEsbZDhj1y3r1CMuUcGPvu0fhrtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjMAwXLlxrYzwuIlaOGicjKAxjLy3rVCNKIoIaIC3jJiIWkicaIBwf4rgvWDgGIoIa0laOGicjPBMnSDwrLrxH0zw5ZAw9UCYi6ifSIlMPZiIWGiI5QC3GIlcaIlNrZiIWGiI50C3GIxsWkicaIzxHJBhvKzuv4DgvUC2LVBNmIoIbBiI50zxn0lMPZiIWGiI5ZCgvJlMPZiL0ScIaGiNnOB3DgAwXLCYi6ihrYDwuScIaGiNnOB3DiAwrKzw4IoIbMywXZzqP9cMbGyaOkuefsqu1fvevsuZOkcMrPCMvJDg9YEsaOB3b0Aw9UywWPoGOGic0GrgLYzwn0B3j5ihrVihnJyw4GkgrLzMf1Bhq6ihDVCMTPBMCGzgLYzwn0B3j5kqOGic0Gq2fUigjLihjLBgf0AxzLig9YigfIC29SDxrLihbHDgGkicaTiev4yw1WBgvZoIaIC3jJiIWGiNnYyY9JB21WB25LBNrZiIWGiI9OB21Ll3vZzxiVChjVAMvJDcikcM1HEerLChrOicHVChrPB25HBcK6cIaGlsbnyxHPBxvTigrLChrOihrVihnJyw4GkgrLzMf1Bhq6ia','lNDHCG','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','lNrVEa','C3bSAxq','D29YA2LUz0rPCMvJDg9YEq','mJq1nZGZnfffBhLWwG','Aw5JBhvKzuv4DgvUC2LVBNm','lMPWzW','AhrTBgnVDG','zMLSzq','zgLYzwn0B3jPzxndB3vUDa','teftvf9cuKfoq0G','lNr0zG','y2XLyw51Ca','lNbUzW','mJmWtwzKtgTS','AxnbyNnVBhv0zq','lMf2Aq','zMLSzxndB3vUDa','rMfPBgvKihrVihbHCNnLigzPBguTDhjLzsbWyxjHBwv0zxjZ','lNrLBxa','CMvXDwLYzxnqCM9Qzwn0','4Psu4Psa4Psaia','Dg9gAxHLza','rxH0zw5ZAw9Uici','cK1HEcbezxb0AdOG','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','lMD6','CMvHzgrPCG','BgLI','CgfYC2vqyxjHBwv0zxjZ','lNjHCG','DgvTCa','cIaGica','D2HLzwXZ','ieTc','lMvNz3m','cIaGlsbezwvWzxiGpsbTB3jLigrLDgfPBcWGC2XVD2vYihbLCMzVCM1HBMnLcGPPBMnSDwrLrxH0zw5ZAw9UCYaOB3b0Aw9UywWGlsbxseLuruXju1qPoGOGic0Gsw5JBhvKzsbptKXzihrOzxnLigzPBguGzxH0zw5ZAw9UCWOGic0GqxjYyxKGB2yGzxH0zw5ZAw9UCWOGic0GrxHHBxbSzxm6ifSIlMPZiIWGiI5QC3GIlcaIlNrZiIWGiI50C3GIxqOGic0GvgfRzxmGChjLy2vKzw5JzsbVDMvYigv4y2X1zgvfEhrLBNnPB25ZcGPLEgnSDwrLrxH0zw5ZAw9UCYaOB3b0Aw9UywWGlsbctefds0Xju1qPoGOGic0GrxHJBhvKzsb0AgvZzsbMAwXLigv4DgvUC2LVBNmkicaTiefYCMf5ig9Migv4DgvUC2LVBNmkicaTiev4yw1WBgvZoIbBiI50zxn0lMPZiIWGiI5ZCgvJlMPZiIWGiI5TAw4UANmIxqOGic0Gt25SEsbHChbSAwvZigLMigLUy2X1zgvfEhrLBNnPB25ZigLZig5VDcbZzxqkcMv4y2X1zgveAxjLy3rVCMLLCYaOB3b0Aw9UywWPoGOGic0GqwrKAxrPB25HBcbKAxjLy3rVCMLLCYb0BYbPz25VCMukicaTiefSCMvHzhKGAwDUB3jLCZOGBM9Kzv9TB2r1BgvZlcaUz2L0lcbKAxn0lcbIDwLSzcWGzxrJlGOGic0GrxHHBxbSzxm6ifSIDgvZDhmIlcaIzML4DhvYzxmIlcaIBw9JA3mIxqOkC2HVD0zPBgvZicHVChrPB25HBcK6cIaGlsbxAgv0AgvYihrVihnOB3CGzMLSzxmGkgrLzMf1Bhq6ihrYDwuPcIaGlsbtzxqGDg8GzMfSC2uGDg8GC2HVDYbVBMX5igrPCMvJDg9YEsbZDhj1y3r1CMukcNnOB3DiAwrKzw4Gkg9WDgLVBMfSktOkicaTifDOzxrOzxiGDg8GC2HVDYbOAwrKzw4GzMLSzxmVzM9SzgvYCYaOzgvMyxvSDdOGzMfSC2uPcIaGlsbiAwrKzw4GpsbZDgfYDhmGD2L0AcaNlICkcNnOB3DtAxPLCYaOB3b0Aw9UywWPoGOGic0Gv2HLDgHLCIb0BYbZAg93igzPBguGC2L6zxmGkgrLzMf1Bhq6igzHBhnLkqOGic0GrM9YBwf0oIblqIWGtuikcMLNBM9YzujPBMfYEuzPBgvZicHVChrPB25HBcK6cIaGlsbxAgv0AgvYihrVigLNBM9YzsbIAw5HCNKVBwvKAweGzMLSzxmGkgrLzMf1Bhq6igzHBhnLkqOGic0GswDUB3jLCZOGAw1Hz2vZlcb2AwrLB3mSigfYy2HPDMvZlcbMB250CYWGzxrJlGOkrvHbtvbmrvm6cGPfEgfTCgXLideGlsbcyxnPyYb0CMvLoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6iciUiGP9cMbGyaOkrxHHBxbSzsaYic0GsMf2yvnJCMLWDc9uExbLu2nYAxb0ig9UBhK6cMbGygPZB24kEWOGicj0B29SswqIoIaIzMLSzs10CMvLiIWkicaIzgLYzwn0B3j5iJOGiNnYyYiScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUANmIlcaIlMPZEciSiciUDhmIlcaIlNrZEcjDlaOGicjTyxHezxb0Aci6idukFqPGygakcKv4yw1WBguGmYaTifb5DgHVBIbWCM9Qzwn0ihn0CNvJDhvYztOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjMAwXLlxrYzwuIlaOGicjKAxjLy3rVCNKIoIaIlIiScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUChKIxsWkicaIzxHJBhvKzuv4DgvUC2LVBNmIoIbBiI5WEwmIxsWkicaIC2HVD0zPBgvZiJOGDhj1zqP9cMbGyaOkrxHHBxbSzsa0ic0GrgLYzwn0B3j5ihn0CNvJDhvYzsbVBMX5oGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicjZAg93rMLSzxmIoIbMywXZzsWkicaIBwf4rgvWDgGIoIaZcN0kygbGcGPfEgfTCgXLiduGlsbfEgnSDwrLihrLC3qGzMLSzxm6cMbGygPZB24kEWOGicj0B29SswqIoIaIzMLSzs10CMvLiIWkicaIzgLYzwn0B3j5iJOGiNnYyYiScIaGiMv4y2X1zgvfEhrLBNnPB25ZiJOGwYiUDgvZDc5QCYiSiciUC3bLyY5QCYiSiciUDgvZDc50CYiSiciUC3bLyY50CYjDlaOGicjLEgnSDwrLrgLYzwn0B3jPzxmIoIbBiL9FDgvZDhnFxYiSicj0zxn0CYiSicjZCgvJCYjDcN0kygbGcGPpvvrqvvqGrK9stufuoGPZCMmVcUkuNokuGokuGcbJB21WB25LBNrZlWRILiiGicdILjZILidILiaGsgvHzgvYlMPZEaRILiiGicdILjZILidILiaGrM9VDgvYlMPZEaRILiiGicdILjtILidILiaGtgf5B3v0lMPZEaRILjZILidILiaGDxrPBhmVcUkuGIaGiokuNokuGokuGcbOzwXWzxjZlMPZcUkuGIaGiokuLokuGokuGcbJB25MAwCUANmk4Psu4Psa4PsaigLUzgv4lMPZcGPbvvrptufusumGsuDot1jfuZOkvgHLihrVB2WGyxv0B21HDgLJywXSEsbPz25VCMvZignVBw1VBIbKAxjLy3rVCMLLCZOklsbUB2rLx21VzhvSzxmSic5NAxqSigrPC3qSigj1AwXKlcbJB3zLCMfNzqOTic5UzxH0lcaUBNv4DcWGlMnHy2HLlcbVDxqSihrHCMDLDaOTic52C2nVzguSic5PzgvHlcbFx3b5y2fJAgvFxYWGDMvUDGOkteLnsvrbveLptLm6cI0Gtwf4Aw11BsbKzxb0AdOG','lNzZ','z2v0rgvZy3jPChrPB24','lM1PBI5JC3m','AxneAxjLy3rVCNK','zxjYB3i','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','D2fYBG','vKvsveLdquW','Bg9Nz2vY','lNn2zW','qLjbtKni','CMvZB2X2zq','mZvYrLzez3i','ntC2ntG3q1Dgqxrn','mZm2odq5uuTYuwze','yM93zxjFy29TCg9Uzw50CW','odm4odnyvLfVsgK','BgvUz3rO','u1LnqK9muW','Dhj1zq','mtm4odKZmejhAeHOtG','BM9Kzv9TB2r1BgvZ','lMDPzG','CMvSyxrPDMu','lMr5BgLI','BwfW','lNDVzMyY','lNDVzMy','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','lNb5DgvZDf9JywnOzq','yMfZzw5HBwu','DhLWzq','yNvPBgruCMvL','zxHJBhvKzurPCMvJDg9YAwvZ','zxHJBhvKzurPCMvJDg9YAwvZig11C3qGyMuGyw4GyxjYyxK','y2HPBgrYzw4','cLnRAxbWzwq6ia','zxHJBhvKzuv4DgvUC2LVBNm','lNb5za','lMvUDG','BwvZC2fNzq','AxnbC3LUyW','mJb1s3z3vNa','tufyx0zjtevtx0Lox1rsruu','y292zxjHz2u','iIbTDxn0ihn0yxj0ihDPDgGGysbKB3qGkguUzY4SiciUANmIkq','4PscicaG','zM9YBwf0rMLSzvnPEMu','BMfTzq','AxnbCNjHEq','ieDc','C3rHCNrZv2L0Aa','zMfSC2u','zMLSzs10CMvL','C2TPChbLzenVDw50','lMXVy2S','lMvVDa','su5eru5u','zMLSDgvY','Aw5JBhvKzxm','ie1c','lNrTCa','DhjLzunVBMzPzW','mtq4nJa4zxnMzxDL','Dg9mB3DLCKnHC2u','Bg9JywXLq29TCgfYzq','BgLInJq','ChvZAa','z2vUzxjHDgvtDw1Tyxj5','revgqvvmvf9nqvHFrevqveG','lJD6','DMvUDG','mtu2sgfkyKzw','lMrHDa','C2HVD0HPzgrLBG','lNPPCa','twf4Aw11BsbKAxjLy3rVCNKGy291BNqGCMvHy2HLza','lNb5BW','x19WEwnHy2HLx18','zw52','zxHLy3v0zq','tufyx0rjuKvdve9ssuvt','C3rHDhm','CgfYDhm','zM9YBwf0vhjLzq','zxHLyW','C3rHDa','DMvUzg9Y','zxH0BMfTzq','DhjPBq','zgLZDa'];a0_0x16f9=function(){return _0x696699;};return a0_0x16f9();}class FileTreeTool extends BaseTool{constructor(_0x2fba2e={},_0x12a6b8=null){const _0x1d1487=a0_0x4486b7;super(_0x2fba2e,_0x12a6b8),this['id']=_0x1d1487(0x1bc),this[_0x1d1487(0x204)]=!![],this[_0x1d1487(0x1b0)]=!![],this['timeout']=_0x2fba2e['timeout']||0x1d4c0,this[_0x1d1487(0x1c5)]={...TREE_CONFIG,..._0x2fba2e[_0x1d1487(0x1c5)]},this[_0x1d1487(0x1d9)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}[a0_0x4486b7(0x216)](){const _0x2e873a=a0_0x4486b7;return _0x2e873a(0x1ee)+TREE_CONFIG[_0x2e873a(0x1cc)]+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG['MAX_DEPTH_LIMIT']+_0x2e873a(0x214)+TREE_CONFIG['MAX_DEPTH_LIMIT']+'\x0a-\x20Maximum\x20files:\x20'+TREE_CONFIG['MAX_FILES_IN_TREE']+_0x2e873a(0x1e9)+TREE_CONFIG['MAX_DIRECTORIES']+'\x0a-\x20Binary\x20files\x20can\x20be\x20filtered\x20with\x20ignoreBinaryFiles\x20option\x0a\x20\x20\x20\x20';}[a0_0x4486b7(0x20d)](_0x3fb146){const _0x1a168b=a0_0x4486b7;try{if(_0x3fb146[_0x1a168b(0x1e0)]()[_0x1a168b(0x1ba)]('{')){const _0x17c948=JSON['parse'](_0x3fb146);return{'directory':_0x17c948[_0x1a168b(0x1ed)]||'.','maxDepth':_0x17c948['maxDepth']||TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':_0x17c948[_0x1a168b(0x1f5)]||[],'excludeExtensions':_0x17c948['excludeExtensions']||[],'excludeDirectories':_0x17c948[_0x1a168b(0x1a8)]||[],'showFiles':_0x17c948['showFiles']!==![],'showHidden':_0x17c948[_0x1a168b(0x1d1)]===!![],'showSizes':_0x17c948['showSizes']===!![],'ignoreBinaryFiles':_0x17c948['ignoreBinaryFiles']===!![]};}const _0x65112b={'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0xb7d6a0=/<directory>(.*?)<\/directory>/i,_0x4d3ede=_0xb7d6a0[_0x1a168b(0x1dc)](_0x3fb146);_0x4d3ede&&(_0x65112b[_0x1a168b(0x1ed)]=_0x4d3ede[0x1][_0x1a168b(0x1e0)]());const _0x2ba6b4=/<max-depth>(\d+)<\/max-depth>/i,_0x45cf9a=_0x2ba6b4[_0x1a168b(0x1dc)](_0x3fb146);_0x45cf9a&&(_0x65112b['maxDepth']=parseInt(_0x45cf9a[0x1],0xa));const _0x15c875=/<include-extensions>(.*?)<\/include-extensions>/i,_0x5e460f=_0x15c875[_0x1a168b(0x1dc)](_0x3fb146);_0x5e460f&&(_0x65112b['includeExtensions']=_0x5e460f[0x1][_0x1a168b(0x1f2)](',')['map'](_0x14fc7a=>_0x14fc7a['trim']())[_0x1a168b(0x1c1)](_0x327704=>_0x327704[_0x1a168b(0x226)]>0x0));const _0x548245=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x208d45=_0x548245['exec'](_0x3fb146);_0x208d45&&(_0x65112b[_0x1a168b(0x1ac)]=_0x208d45[0x1][_0x1a168b(0x1f2)](',')[_0x1a168b(0x22e)](_0x27acb1=>_0x27acb1['trim']())['filter'](_0xc2e73=>_0xc2e73['length']>0x0));const _0x5cb7ec=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x4e4bcd=_0x5cb7ec['exec'](_0x3fb146);_0x4e4bcd&&(_0x65112b['excludeDirectories']=_0x4e4bcd[0x1][_0x1a168b(0x1f2)](',')['map'](_0x13e875=>_0x13e875['trim']())['filter'](_0xcf5f96=>_0xcf5f96['length']>0x0));const _0x5e58cb=/<show-files>(.*?)<\/show-files>/i,_0x331c39=_0x5e58cb[_0x1a168b(0x1dc)](_0x3fb146);_0x331c39&&(_0x65112b['showFiles']=_0x331c39[0x1]['trim']()[_0x1a168b(0x1c7)]()!==_0x1a168b(0x1bb));const _0x2d46ae=/<show-hidden>(.*?)<\/show-hidden>/i,_0x720b8c=_0x2d46ae[_0x1a168b(0x1dc)](_0x3fb146);_0x720b8c&&(_0x65112b['showHidden']=_0x720b8c[0x1]['trim']()[_0x1a168b(0x1c7)]()==='true');const _0x130b54=/<show-sizes>(.*?)<\/show-sizes>/i,_0x3f1d86=_0x130b54['exec'](_0x3fb146);_0x3f1d86&&(_0x65112b['showSizes']=_0x3f1d86[0x1]['trim']()[_0x1a168b(0x1c7)]()==='true');const _0x4c350b=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x4b2492=_0x4c350b[_0x1a168b(0x1dc)](_0x3fb146);return _0x4b2492&&(_0x65112b['ignoreBinaryFiles']=_0x4b2492[0x1]['trim']()[_0x1a168b(0x1c7)]()===_0x1a168b(0x228)),_0x65112b;}catch(_0x21bd6c){return this[_0x1a168b(0x21d)]?.['error'](_0x1a168b(0x202),{'error':_0x21bd6c[_0x1a168b(0x1af)]}),{'directory':'.','maxDepth':TREE_CONFIG[_0x1a168b(0x1cc)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x21bd6c[_0x1a168b(0x1af)]};}}['getRequiredParameters'](){return[];}[a0_0x4486b7(0x21a)](_0x531d96){const _0x3e0db0=a0_0x4486b7,_0x3a6afb=[];if(_0x531d96[_0x3e0db0(0x1ea)]!==undefined){if(typeof _0x531d96[_0x3e0db0(0x1ea)]!=='number'||_0x531d96[_0x3e0db0(0x1ea)]<0x1)_0x3a6afb['push']('max-depth\x20must\x20be\x20a\x20positive\x20number');else _0x531d96[_0x3e0db0(0x1ea)]>this[_0x3e0db0(0x1c5)]['MAX_DEPTH_LIMIT']&&_0x3a6afb['push']('max-depth\x20cannot\x20exceed\x20'+this['treeConfig']['MAX_DEPTH_LIMIT']);}_0x531d96[_0x3e0db0(0x1ed)]&&_0x531d96['directory'][_0x3e0db0(0x1c2)]('..')&&_0x3a6afb['push']('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');if(_0x531d96[_0x3e0db0(0x1f5)]!==undefined&&_0x531d96[_0x3e0db0(0x1f5)]!==null){if(!Array[_0x3e0db0(0x1b8)](_0x531d96['includeExtensions']))_0x3a6afb[_0x3e0db0(0x1ca)]('includeExtensions\x20must\x20be\x20an\x20array');else for(const _0x251832 of _0x531d96[_0x3e0db0(0x1f5)]){!_0x251832['startsWith']('.')&&_0x3a6afb['push'](_0x3e0db0(0x207)+_0x251832+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}if(_0x531d96['excludeExtensions']!==undefined&&_0x531d96[_0x3e0db0(0x1ac)]!==null){if(!Array['isArray'](_0x531d96['excludeExtensions']))_0x3a6afb['push']('excludeExtensions\x20must\x20be\x20an\x20array');else for(const _0x1cbff0 of _0x531d96['excludeExtensions']){!_0x1cbff0['startsWith']('.')&&_0x3a6afb[_0x3e0db0(0x1ca)](_0x3e0db0(0x207)+_0x1cbff0+_0x3e0db0(0x1b4));}}_0x531d96[_0x3e0db0(0x1a8)]!==undefined&&_0x531d96['excludeDirectories']!==null&&(!Array['isArray'](_0x531d96[_0x3e0db0(0x1a8)])&&_0x3a6afb['push'](_0x3e0db0(0x1a9)));if(_0x3a6afb['length']>0x0)throw new Error(_0x3e0db0(0x231)+_0x3a6afb['join'](',\x20'));return{'valid':!![],'errors':[]};}async[a0_0x4486b7(0x1d7)](_0x154f2d,_0x465093){const _0x9215b=a0_0x4486b7,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG['DEFAULT_MAX_DEPTH'],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x154f2d,{projectDir:_0x4bd0d6,agentId:_0x31ac93,directoryAccess:_0x4b01e5}=_0x465093;let _0x2b10f0=_0x4bd0d6||process[_0x9215b(0x1e6)]();_0x4b01e5&&_0x4b01e5[_0x9215b(0x1f3)]&&(_0x2b10f0=_0x4b01e5['workingDirectory'],this['logger']?.[_0x9215b(0x1e8)](_0x9215b(0x1e2),{'workingDirectory':_0x4b01e5['workingDirectory'],'agentId':_0x31ac93}));const _0x3bc0ed=a0_0x4a077f[_0x9215b(0x1ff)](directory)?directory:a0_0x4a077f[_0x9215b(0x220)](_0x2b10f0,directory);try{const _0x3fabe0=await a0_0x26cef1['stat'](_0x3bc0ed);if(!_0x3fabe0[_0x9215b(0x218)]())throw new Error('Path\x20is\x20not\x20a\x20directory');}catch(_0x26e671){throw new Error(_0x9215b(0x209)+directory);}this[_0x9215b(0x21d)]?.['info']('Generating\x20file\x20tree',{'directory':directory,'targetDir':_0x3bc0ed,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.[_0x9215b(0x226)]||0x0,'agentId':_0x31ac93}),this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x47e347=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x186c22=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x186c22[_0x9215b(0x1ca)](...BINARY_EXTENSIONS);const _0x121b9a=await this['buildTree'](_0x3bc0ed,_0x3bc0ed,0x0,maxDepth,_0x47e347,includeExtensions||[],[...excludeExtensions||[],..._0x186c22],showFiles,showHidden,showSizes),_0xc4e493=this[_0x9215b(0x1db)](_0x121b9a),_0x1a860b=this[_0x9215b(0x1cb)](directory,this['stats'],maxDepth);return{'success':!![],'directory':_0x3bc0ed,'tree':_0xc4e493,'summary':_0x1a860b,'maxDepth':maxDepth,'totalFiles':this[_0x9215b(0x1d9)][_0x9215b(0x201)],'totalDirectories':this['stats'][_0x9215b(0x1f9)],'skippedCount':this[_0x9215b(0x1d9)]['skippedCount'],'statistics':{...this[_0x9215b(0x1d9)]},'toolUsed':'file-tree'};}async['buildTree'](_0x583c2d,_0x5b2a3f,_0x2a3bd1,_0x21315a,_0x3e4c47,_0x47a6fa,_0x2bed73,_0x3b7cfe,_0x36f3b6,_0x8fc8bd){const _0x4c99c8=a0_0x4486b7;if(_0x2a3bd1>_0x21315a)return null;if(this['stats']['directoriesCount']>=this[_0x4c99c8(0x1c5)][_0x4c99c8(0x1d8)])return this[_0x4c99c8(0x21d)]?.['warn'](_0x4c99c8(0x1d3),{'maxDirectories':this[_0x4c99c8(0x1c5)][_0x4c99c8(0x1d8)]}),null;try{const _0x11c83f=await a0_0x26cef1[_0x4c99c8(0x20b)](_0x5b2a3f,{'withFileTypes':!![]}),_0x234527={'name':_0x2a3bd1===0x0?a0_0x4a077f['basename'](_0x5b2a3f)+'/':a0_0x4a077f['basename'](_0x5b2a3f),'path':a0_0x4a077f[_0x4c99c8(0x22c)](_0x583c2d,_0x5b2a3f),'type':'directory','children':[]};this[_0x4c99c8(0x1d9)][_0x4c99c8(0x1f9)]++;for(const _0x2e6031 of _0x11c83f){if(this['stats'][_0x4c99c8(0x201)]>=this['treeConfig']['MAX_FILES_IN_TREE']){this['logger']?.[_0x4c99c8(0x21b)]('Maximum\x20file\x20count\x20reached',{'maxFiles':this[_0x4c99c8(0x1c5)][_0x4c99c8(0x1b2)]});break;}if(!_0x36f3b6&&_0x2e6031[_0x4c99c8(0x1b7)][_0x4c99c8(0x1ba)]('.')){this['stats']['skippedCount']++;continue;}const _0x59a69c=a0_0x4a077f[_0x4c99c8(0x1ec)](_0x5b2a3f,_0x2e6031['name']);if(_0x2e6031['isDirectory']()){if(_0x3e4c47[_0x4c99c8(0x1c2)](_0x2e6031[_0x4c99c8(0x1b7)])){this[_0x4c99c8(0x1d9)]['skippedCount']++;continue;}const _0x40513f=await this[_0x4c99c8(0x1a7)](_0x583c2d,_0x59a69c,_0x2a3bd1+0x1,_0x21315a,_0x3e4c47,_0x47a6fa,_0x2bed73,_0x3b7cfe,_0x36f3b6,_0x8fc8bd);_0x40513f&&(_0x40513f['children'][_0x4c99c8(0x226)]>0x0||_0x2a3bd1===0x0)&&_0x234527[_0x4c99c8(0x1aa)]['push'](_0x40513f);}else{if(_0x2e6031['isFile']()&&_0x3b7cfe){if(_0x2a3bd1+0x1>_0x21315a)continue;const _0x5bbd2b=a0_0x4a077f[_0x4c99c8(0x1df)](_0x2e6031['name']);if(_0x47a6fa['length']>0x0){if(!_0x47a6fa[_0x4c99c8(0x1c2)](_0x5bbd2b)){this[_0x4c99c8(0x1d9)][_0x4c99c8(0x1bd)]++;continue;}}else{if(_0x2bed73[_0x4c99c8(0x1c2)](_0x5bbd2b)){this['stats'][_0x4c99c8(0x1bd)]++;continue;}}let _0x215846='';if(_0x8fc8bd)try{const _0xf8fd99=await a0_0x26cef1[_0x4c99c8(0x1dd)](_0x59a69c);_0x215846='\x20('+this['formatFileSize'](_0xf8fd99['size'])+')';}catch(_0x534b47){}_0x234527[_0x4c99c8(0x1aa)][_0x4c99c8(0x1ca)]({'name':_0x2e6031[_0x4c99c8(0x1b7)]+_0x215846,'path':a0_0x4a077f[_0x4c99c8(0x22c)](_0x583c2d,_0x59a69c),'type':_0x4c99c8(0x1f8),'ext':_0x5bbd2b}),this['stats']['filesCount']++;}}}return _0x234527['children']['sort']((_0x1c9e34,_0x5547b0)=>{const _0x2d6f10=_0x4c99c8;if(_0x1c9e34['type']===_0x5547b0[_0x2d6f10(0x1a6)])return _0x1c9e34[_0x2d6f10(0x1b7)][_0x2d6f10(0x1c8)](_0x5547b0['name']);return _0x1c9e34[_0x2d6f10(0x1a6)]==='directory'?-0x1:0x1;}),_0x234527;}catch(_0x21c73f){return this[_0x4c99c8(0x21d)]?.[_0x4c99c8(0x219)]('Error\x20building\x20tree',{'currentPath':_0x5b2a3f,'error':_0x21c73f['message']}),{'name':a0_0x4a077f[_0x4c99c8(0x1a5)](_0x5b2a3f),'path':a0_0x4a077f['relative'](_0x583c2d,_0x5b2a3f),'type':'directory','error':_0x21c73f['message'],'children':[]};}}[a0_0x4486b7(0x1db)](_0x381e1e,_0x570d3b='',_0x1a1cab=!![],_0x791883=!![]){const _0x472983=a0_0x4486b7;if(!_0x381e1e)return'';const _0x3e45ab=this[_0x472983(0x1c5)][_0x472983(0x227)];let _0x54124a='';_0x791883?_0x54124a=_0x381e1e[_0x472983(0x1b7)]+'\x0a':_0x54124a=''+_0x570d3b+(_0x1a1cab?_0x3e45ab[_0x472983(0x1fa)]:_0x3e45ab[_0x472983(0x21f)])+_0x381e1e[_0x472983(0x1b7)]+'\x0a';if(_0x381e1e[_0x472983(0x1aa)]&&_0x381e1e[_0x472983(0x1aa)][_0x472983(0x226)]>0x0){const _0x1e8a0c=_0x791883?'':_0x570d3b+(_0x1a1cab?_0x3e45ab[_0x472983(0x1c0)]:_0x3e45ab[_0x472983(0x21c)]);_0x381e1e['children']['forEach']((_0x49fa70,_0x5e025a)=>{const _0x5d1ab0=_0x472983,_0x249f63=_0x5e025a===_0x381e1e[_0x5d1ab0(0x1aa)]['length']-0x1;_0x54124a+=this['formatTree'](_0x49fa70,_0x1e8a0c,_0x249f63,![]);});}return _0x54124a;}[a0_0x4486b7(0x1b6)](_0x411980){const _0x3caa53=a0_0x4486b7,_0x2abf29=0x400,_0x456db0=_0x2abf29*0x400,_0x4c75db=_0x456db0*0x400;if(_0x411980>=_0x4c75db)return(_0x411980/_0x4c75db)[_0x3caa53(0x206)](0x2)+_0x3caa53(0x1b9);else{if(_0x411980>=_0x456db0)return(_0x411980/_0x456db0)['toFixed'](0x2)+_0x3caa53(0x1c3);else return _0x411980>=_0x2abf29?(_0x411980/_0x2abf29)[_0x3caa53(0x206)](0x2)+_0x3caa53(0x212):_0x411980+'\x20B';}}['generateSummary'](_0x26a430,_0x4d0e10,_0x6f4eec){const _0x22debd=a0_0x4486b7;return('\x0aDirectory:\x20'+_0x26a430+_0x22debd(0x208)+_0x6f4eec+'\x0aFiles:\x20'+_0x4d0e10['filesCount']+'\x0aDirectories:\x20'+_0x4d0e10['directoriesCount']+_0x22debd(0x1ab)+_0x4d0e10['skippedCount']+_0x22debd(0x210))[_0x22debd(0x1e0)]();}async[a0_0x4486b7(0x1fc)](_0xde19b8){const _0x5f36a1=a0_0x4486b7;this['logger']?.['info'](_0x5f36a1(0x1f0),{'operationId':_0xde19b8});}}export default FileTreeTool;
@@ -1 +1 @@
1
- function a0_0x3131(_0x37bc80,_0x2a1193){_0x37bc80=_0x37bc80-0xb6;const _0x515aee=a0_0x515a();let _0x3131a2=_0x515aee[_0x37bc80];if(a0_0x3131['VqqZAK']===undefined){var _0x47b135=function(_0xd4672b){const _0x56a774='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x227abb='',_0x536468='';for(let _0x64eb12=0x0,_0x3e2fc5,_0x135853,_0x8e4b65=0x0;_0x135853=_0xd4672b['charAt'](_0x8e4b65++);~_0x135853&&(_0x3e2fc5=_0x64eb12%0x4?_0x3e2fc5*0x40+_0x135853:_0x135853,_0x64eb12++%0x4)?_0x227abb+=String['fromCharCode'](0xff&_0x3e2fc5>>(-0x2*_0x64eb12&0x6)):0x0){_0x135853=_0x56a774['indexOf'](_0x135853);}for(let _0x3d00ef=0x0,_0x3ac1b0=_0x227abb['length'];_0x3d00ef<_0x3ac1b0;_0x3d00ef++){_0x536468+='%'+('00'+_0x227abb['charCodeAt'](_0x3d00ef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x536468);};a0_0x3131['jgkled']=_0x47b135,a0_0x3131['IyXVeO']={},a0_0x3131['VqqZAK']=!![];}const _0x10a73a=_0x515aee[0x0],_0x1014f6=_0x37bc80+_0x10a73a,_0x4b653e=a0_0x3131['IyXVeO'][_0x1014f6];return!_0x4b653e?(_0x3131a2=a0_0x3131['jgkled'](_0x3131a2),a0_0x3131['IyXVeO'][_0x1014f6]=_0x3131a2):_0x3131a2=_0x4b653e,_0x3131a2;}const a0_0x5042b0=a0_0x3131;(function(_0x47520f,_0x52b057){const _0x4634a8=a0_0x3131,_0x35b909=_0x47520f();while(!![]){try{const _0x49c9f4=parseInt(_0x4634a8(0xd7))/0x1+-parseInt(_0x4634a8(0x113))/0x2*(-parseInt(_0x4634a8(0x138))/0x3)+parseInt(_0x4634a8(0xbc))/0x4+-parseInt(_0x4634a8(0x108))/0x5+-parseInt(_0x4634a8(0x135))/0x6*(parseInt(_0x4634a8(0xca))/0x7)+-parseInt(_0x4634a8(0x133))/0x8+parseInt(_0x4634a8(0x12f))/0x9;if(_0x49c9f4===_0x52b057)break;else _0x35b909['push'](_0x35b909['shift']());}catch(_0x27727a){_0x35b909['push'](_0x35b909['shift']());}}}(a0_0x515a,0x1dd25));import a0_0x227abb from'path';import a0_0x536468 from'os';function a0_0x515a(){const _0x11da60=['y29TCgXLDgvKqxq','sw1Hz2vuB29SoIboB3jTywXPEMLUzYbVyMPLy3qGCgfYyw1LDgvYCW','y3vYCMvUDe1VzgvS','AxnbCNjHEq','BM93','vgLTzw91DevYCM9Y','Aw1NlwvYCM9Ylq','C3rHDhvZ','zxjYB3i','x2vZDgLTyxrLv2fPDfrPBwu','mtaYnhGXmdi0','Bg9Nz2vY','rMfPBgvKihrVihnHDMuGAw1Hz2uGDg8GzgLZAYWGD2LSBcb1C2uGDgvTCg9Yyxj5ifvstdOG','DMfSDwvZ','Aw1NlxjLC3vSDc0','yNjVywrJyxn0vg9tzxnZAw9U','y2fUy2vSBgvK','CxvHBgL0Eq','B3v0Chv0lxbHDgG','x2nVBNzLCNruB1DLyLvYBa','revgqvvmvf9rvufmsvrz','mtaZndm3mfjRA1rSqq','DhjPBq','uvvfvuvFteLnsvq','CMvZB2X2zwrpDxrWDxrqyxrO','nJmZnteYBgvxBvLb','sw1Hz2uGzg93BMXVywqGDgLTzw91Da','mZbXrw9Uu3i','C2f2zwruB0rPC2S','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0','ntfpugHAwg8','uhjVBxb0ihrVBYbSB25NicHTyxGG','BMfTzq','zg93BMXVywrfCNjVCG','mc4WlJaUma','Aw5MBW','ChvZAa','x2rVD25SB2fKsw1Hz2u','mJu2Edi1nG','ywDLBNrjza','zMfPBgvK','zNvSBa','y29UDMvYC2f0Aw9UCW','mZqYmtm2EM9jwev3','zMLUza','zxHLyW','CxvLDwu','y2f0y2G','x2DLBMvYyxrLsM9Iswq','C2L6zq','y3vYCMvUDePVyG','tMv0D29YAYbLCNjVCJOG','BwvZC2fNzxm','C2vZC2LVBKLK','x3bHCNnLwe1msw1Hz2u','BM9YBwfSAxPL','ywLtzxj2AwnL','mJC4nZq3sgHgwvjx','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','BgvUz3rO','sw52ywXPzcbMB3jTyxq6ia','q2XLyw5Lzcb1Ccb0zw1WigLTywDLoIa','Bg94Awfxzwjtzxj2zxi','C2f2zvrVuhjVAMvJDa','D3jPDgvgAwXL','C2v0quLtzxj2AwnL','y2XLyw51CfrPBwvYCW','C3vIC3rYAw5N','y3DK','rMfPBgvKihrVigrVD25SB2fKigLTywDLoIbivfrqia','mtKWmtm4qKLcwgri','lIbwywXPzcbZAxPLCZOG','z2vUzxjHDgvjBwfNzq','C3rYAw5N','DgvTCerPCG','Aw1Hz2uTz2vU','Bw9KzwW','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq','BwvZC2fNzq','y2XLyw51Ca','BgfZDfvWzgf0zwq','z2v0qwDLBNq','x3jLC29SDMvpDxrWDxrqyxrO','x2DLBMvYyxrLsw1Hz2u','C2v0qwDLBNrqB29S','x3zHBgLKyxrLugfYyw1LDgvYCW','B3v0Chv0ugf0Aa','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCIbICM9HzgnHC3qGC2vUDa','BgfZDefJDgL2Axr5','tM8GAw1Hz2vZihnWzwnPzMLLza','AM9PBG','Aw1Hz2vZ','BwTKAxi','ANbLzW','ChjVBxb0','x3bHCNnLsLnptLbHCMfTCW','uxvLDwuGChjVy2vZC2LUzYbLCNjVCJO','zgvSzxrL','Cg5N','CgfYC2vqyxjHBwv0zxjZ','Aw1Nlq','DgvTCg9Yyxj5vxjS','Aw1Hz2vvCMW','y2XLyxi','Dg9mB3DLCKnHC2u','y29TCgXLDgvKsM9ICW','vevnuf9dtevbtLvqx01t','tufyx1bst01qvf9mru5hveG','C3rHCNrZv2L0Aa','revgqvvmvf9tsvPf','mtaYnhGXnZKY','AM9Iswq','yxnZAxn0yw50','cGOQkLbYB21WDdOQkIa','B2jQzwn0','AxnqCM9JzxnZAw5N','lI4U','u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','zNjVBq','mZmZodKWDMznDxjM','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','vKfmsurFrK9stufuuW','ywDLBNrqB29S','C2HPzNq','AgfZ','C3LZDgvT','r2vUzxjHDgLUzYbPBwfNzsb3AxrOia','cIOQrxjYB3i6kIOG','C2v0','x3nJAgvKDwXLq2XLyw51Ca','otaXngXJrMrVAa','yxjYyxLcDwzMzxi','CMvZDwX0','qwDLBNrqB29SihnLDcbMB3iGsw1Hz2vuB29S','zgLYzwn0B3j5qwnJzxnZ','sw1Hz2uGvvjmihjLy2vPDMvKoIa','zgvIDwC'];a0_0x515a=function(){return _0x11da60;};return a0_0x515a();}import{promises as a0_0x64eb12}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':'azure-openai-dalle3','DEFAULT_SIZE':a0_0x5042b0(0x124),'DEFAULT_QUALITY':'standard','VALID_SIZES':[a0_0x5042b0(0xb7),'512x512','1024x1024',a0_0x5042b0(0xff),'1792x1024'],'VALID_FORMATS':[a0_0x5042b0(0xf3),'jpg',a0_0x5042b0(0xee),'webp'],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};export class ImageTool extends BaseTool{constructor(_0x3e2fc5={},_0x135853=null){const _0x2ed878=a0_0x5042b0;super(_0x3e2fc5,_0x135853),this['id']=_0x2ed878(0xdc),this[_0x2ed878(0xbf)]=[],this[_0x2ed878(0xc3)]=null,this['completedJobs']=new Map(),this['isProcessing']=![],this[_0x2ed878(0xc9)]=null,this[_0x2ed878(0x10b)]=null,this[_0x2ed878(0xdb)]=a0_0x227abb[_0x2ed878(0xeb)](a0_0x536468['tmpdir'](),'loxia-images'),this['cleanupTimers']=new Map();}[a0_0x5042b0(0xd2)](_0x8e4b65){const _0x296b52=a0_0x5042b0;this[_0x296b52(0xc9)]=_0x8e4b65,this[_0x296b52(0x125)]?.[_0x296b52(0x13d)]('AI\x20Service\x20set\x20for\x20ImageTool');}[a0_0x5042b0(0xe5)](_0x3d00ef){const _0x5ae17c=a0_0x5042b0;this[_0x5ae17c(0x10b)]=_0x3d00ef,this['logger']?.[_0x5ae17c(0x13d)](_0x5ae17c(0x116));}['getDescription'](){const _0xc4c5eb=a0_0x5042b0;return'Tool:\x20Image\x20Generator\x20-\x20Generate\x20images\x20using\x20AI\x20models\x0a\x0a**Purpose:**\x20Generate\x20images\x20from\x20text\x20descriptions\x20using\x20DALL-E\x203.\x20Images\x20are\x20saved\x20to\x20files\x20and\x20displayed\x20in\x20chat.\x0a\x0a**CRITICAL:\x20Automatic\x20Execution**\x0a-\x20ANY\x20```json\x20block\x20with\x20\x22toolId\x22:\x20\x22image-gen\x22\x20will\x20be\x20EXECUTED\x20IMMEDIATELY\x0a-\x20Just\x20output\x20the\x20command\x20when\x20you\x20want\x20to\x20generate\x20an\x20image\x0a-\x20If\x20generation\x20fails,\x20output\x20a\x20NEW\x20command\x20with\x20corrections\x0a\x0a**USAGE:**\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\x20of\x20the\x20image\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(required):\x20Detailed\x20description\x20of\x20image\x20to\x20generate\x0a-\x20**outputPath**\x20(optional):\x20Path\x20to\x20save\x20image\x20(permanent).\x20Omit\x20for\x20temp\x20file.\x0a-\x20**model**\x20(optional):\x20\x22azure-openai-dalle3\x22\x20(default)\x0a-\x20**size**\x20(optional):\x20256x256,\x20512x512,\x201024x1024,\x201024x1792,\x201792x1024\x20(default:\x201024x1024)\x0a-\x20**quality**\x20(optional):\x20\x22standard\x22\x20or\x20\x22hd\x22\x20(default:\x20standard)\x0a\x0a**EXAMPLE:**\x0aUser:\x20\x22create\x20a\x20sunset\x20image\x22\x0aYou\x20output:\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\x22A\x20beautiful\x20sunset\x20over\x20the\x20ocean\x20with\x20vibrant\x20orange\x20and\x20pink\x20colors\x20reflecting\x20on\x20calm\x20waters\x22,\x0a\x20\x20\x20\x20\x22outputPath\x22:\x20\x22images/sunset.png\x22,\x0a\x20\x20\x20\x20\x22size\x22:\x20\x221024x1024\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Images\x20take\x2015-30\x20seconds\x20to\x20generate\x0a-\x20Be\x20descriptive\x20in\x20prompts\x20for\x20better\x20results\x0a-\x20Max\x20'+IMAGE_CONFIG[_0xc4c5eb(0x131)]+'\x20images\x20in\x20queue';}['parseParameters'](_0x3ac1b0){const _0x4c5688=a0_0x5042b0;if(typeof _0x3ac1b0==='object'&&_0x3ac1b0!==null)return this[_0x4c5688(0xf0)](_0x3ac1b0);if(typeof _0x3ac1b0===_0x4c5688(0xda)){const _0x4f64cf=_0x3ac1b0[_0x4c5688(0x130)]();if(_0x4f64cf['startsWith']('{')||_0x4f64cf[_0x4c5688(0xfd)]('['))try{const _0x57f91f=JSON['parse'](_0x4f64cf);return this['_parseJSONParams'](_0x57f91f);}catch(_0x361e0e){}return this['_parseXMLParams'](_0x3ac1b0);}throw new Error(_0x4c5688(0x137));}[a0_0x5042b0(0xf0)](_0x547b07){const _0x54fea3=a0_0x5042b0;_0x547b07['parameters']&&(_0x547b07=_0x547b07['parameters']);if(_0x547b07['batch']&&Array[_0x54fea3(0x11d)](_0x547b07['batch']))return{'batch':!![],'images':_0x547b07['batch']['map'](_0x480446=>this['_parseImageParams'](_0x480446))};return{'batch':![],'images':[this['_parseImageParams'](_0x547b07)]};}['_parseXMLParams'](_0x100183){const _0x19a2cc=a0_0x5042b0,_0x57dd39={'batch':![],'images':[]},_0x26b315=/<batch>([\s\S]*?)<\/batch>/i[_0x19a2cc(0xbe)](_0x100183);if(_0x26b315){_0x57dd39['batch']=!![];const _0x450a52=_0x26b315[0x1],_0x408db4=/<image>([\s\S]*?)<\/image>/gi;let _0x1711a8;while((_0x1711a8=_0x408db4[_0x19a2cc(0xbe)](_0x450a52))!==null){_0x57dd39[_0x19a2cc(0xec)][_0x19a2cc(0x13e)](this['_parseXMLImage'](_0x1711a8[0x1]));}}else _0x57dd39[_0x19a2cc(0xec)][_0x19a2cc(0x13e)](this[_0x19a2cc(0xc7)](_0x100183));if(_0x57dd39[_0x19a2cc(0xec)]['length']===0x0)throw new Error('No\x20valid\x20image\x20parameters\x20found');return _0x57dd39;}['_parseImageParams'](_0x26734d){const _0x29e4f5=a0_0x5042b0,_0x550d66=_0x26734d[_0x29e4f5(0xe7)]||_0x26734d[_0x29e4f5(0x12c)]||null;return{'prompt':_0x26734d['prompt']||'','outputPath':_0x550d66,'saveToProject':_0x550d66!==null,'model':_0x26734d[_0x29e4f5(0xdd)]||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0x26734d['size']||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x26734d[_0x29e4f5(0x12b)]||IMAGE_CONFIG[_0x29e4f5(0x12e)]};}['_parseXMLImage'](_0x371c87){const _0x45885e=a0_0x5042b0,_0x3c69c7=_0x1aba92=>{const _0x106287=new RegExp('<'+_0x1aba92+'>([\x5cs\x5cS]*?)<\x5c/'+_0x1aba92+'>','i'),_0x392f3a=_0x106287['exec'](_0x371c87);return _0x392f3a?_0x392f3a[0x1]['trim']():null;},_0x280f37=_0x3c69c7(_0x45885e(0x12c))||null;return{'prompt':_0x3c69c7('prompt')||'','outputPath':_0x280f37,'saveToProject':_0x280f37!==null,'model':_0x3c69c7('model')||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0x3c69c7('size')||IMAGE_CONFIG[_0x45885e(0xfe)],'quality':_0x3c69c7('quality')||IMAGE_CONFIG['DEFAULT_QUALITY']};}async['execute'](_0x5ea2fc,_0x21c98a={}){const _0x3aa3e1=a0_0x5042b0;try{const {agentId:_0x5d2fe3,projectDir:_0x2b1e0d,directoryAccess:_0x1c2cd1,sessionId:_0x520523}=_0x21c98a;if(typeof _0x5ea2fc==='string')this[_0x3aa3e1(0x125)]?.[_0x3aa3e1(0x13d)]('ImageTool:\x20Auto-parsing\x20string\x20parameters'),_0x5ea2fc=this[_0x3aa3e1(0xf4)](_0x5ea2fc);else typeof _0x5ea2fc===_0x3aa3e1(0x103)&&_0x5ea2fc!==null&&!_0x5ea2fc[_0x3aa3e1(0xec)]&&(this['logger']?.[_0x3aa3e1(0x13d)](_0x3aa3e1(0x11b)),_0x5ea2fc=this[_0x3aa3e1(0xf4)](_0x5ea2fc));this[_0x3aa3e1(0xe6)](_0x5ea2fc);const _0x433fa3=[];for(const _0x5b981b of _0x5ea2fc['images']){const _0x4df110=this[_0x3aa3e1(0xc1)](),_0x3c698d={'jobId':_0x4df110,'agentId':_0x5d2fe3,'sessionId':_0x520523,'prompt':_0x5b981b[_0x3aa3e1(0xef)],'outputPath':_0x5b981b['outputPath'],'saveToProject':_0x5b981b['saveToProject'],'model':_0x5b981b['model'],'size':_0x5b981b['size'],'quality':_0x5b981b[_0x3aa3e1(0x12b)],'projectDir':_0x2b1e0d||process['cwd'](),'directoryAccess':_0x1c2cd1,'status':'queued','createdAt':new Date()['toISOString']()};if(this[_0x3aa3e1(0xbf)]['length']>=IMAGE_CONFIG[_0x3aa3e1(0x131)])return{'success':![],'error':'Queue\x20limit\x20reached\x20('+IMAGE_CONFIG[_0x3aa3e1(0x131)]+'\x20images).\x20Please\x20wait\x20for\x20current\x20jobs\x20to\x20complete.','queueLength':this[_0x3aa3e1(0xbf)][_0x3aa3e1(0xcc)]};this[_0x3aa3e1(0xbf)][_0x3aa3e1(0x13e)](_0x3c698d),_0x433fa3[_0x3aa3e1(0x13e)](_0x4df110),this['logger']?.[_0x3aa3e1(0x13d)](_0x3aa3e1(0x109)+_0x4df110,{'prompt':_0x5b981b[_0x3aa3e1(0xef)]['substring'](0x0,0x32)+_0x3aa3e1(0x105),'queuePosition':this[_0x3aa3e1(0xbf)]['length']});}return!this[_0x3aa3e1(0x104)]&&this['_processQueue']()[_0x3aa3e1(0xc0)](_0x1ce51d=>{const _0x128e66=_0x3aa3e1;this['logger']?.[_0x128e66(0x122)](_0x128e66(0xf1),_0x1ce51d);}),{'success':!![],'jobIds':_0x433fa3,'queueLength':this[_0x3aa3e1(0xbf)]['length'],'message':_0x5ea2fc['batch']?_0x433fa3[_0x3aa3e1(0xcc)]+'\x20images\x20queued\x20for\x20generation':'Image\x20queued\x20for\x20generation','estimatedWaitTime':this['_estimateWaitTime']()};}catch(_0x142eb0){return this[_0x3aa3e1(0x125)]?.['error']('Image\x20generation\x20error:',_0x142eb0),{'success':![],'error':_0x142eb0[_0x3aa3e1(0xdf)]};}}['_validateParameters'](_0x1f1dea){const _0xc87599=a0_0x5042b0;if(!_0x1f1dea[_0xc87599(0xec)]||_0x1f1dea[_0xc87599(0xec)][_0xc87599(0xcc)]===0x0)throw new Error(_0xc87599(0xea));for(const _0x3f06fa of _0x1f1dea[_0xc87599(0xec)]){if(!_0x3f06fa['prompt']||_0x3f06fa[_0xc87599(0xef)][_0xc87599(0x130)]()['length']===0x0)throw new Error('Image\x20prompt\x20is\x20required');if(_0x3f06fa[_0xc87599(0xef)]['length']>IMAGE_CONFIG['MAX_PROMPT_LENGTH'])throw new Error(_0xc87599(0x139)+IMAGE_CONFIG[_0xc87599(0xfc)]+'\x20characters)');if(_0x3f06fa['size']&&!IMAGE_CONFIG['VALID_SIZES']['includes'](_0x3f06fa['size']))throw new Error('Invalid\x20size:\x20'+_0x3f06fa['size']+_0xc87599(0xd8)+IMAGE_CONFIG['VALID_SIZES'][_0xc87599(0xeb)](',\x20'));if(_0x3f06fa['outputPath']){const _0x427d52=a0_0x227abb['extname'](_0x3f06fa[_0xc87599(0xe7)])[_0xc87599(0xf9)]()['replace']('.','');if(_0x427d52&&!IMAGE_CONFIG[_0xc87599(0x10a)]['includes'](_0x427d52))throw new Error(_0xc87599(0xcd)+_0x427d52+'.\x20Valid\x20formats:\x20'+IMAGE_CONFIG['VALID_FORMATS'][_0xc87599(0xeb)](',\x20'));}}}async['_processQueue'](){const _0x2ab8f6=a0_0x5042b0;if(this[_0x2ab8f6(0x104)])return;this[_0x2ab8f6(0x104)]=!![];while(this['queue'][_0x2ab8f6(0xcc)]>0x0){const _0x3dde29=this[_0x2ab8f6(0xbf)][_0x2ab8f6(0x10c)]();this[_0x2ab8f6(0xc3)]=_0x3dde29,this[_0x2ab8f6(0x125)]?.['info']('Processing\x20image\x20generation\x20job:\x20'+_0x3dde29[_0x2ab8f6(0x100)]);try{_0x3dde29[_0x2ab8f6(0x121)]='processing';const _0x532f40=await this[_0x2ab8f6(0xe4)](_0x3dde29);_0x3dde29[_0x2ab8f6(0x121)]='completed',_0x3dde29[_0x2ab8f6(0x115)]=_0x532f40,_0x3dde29[_0x2ab8f6(0x11a)]=new Date()['toISOString'](),this['completedJobs'][_0x2ab8f6(0x111)](_0x3dde29[_0x2ab8f6(0x100)],_0x3dde29);if(global[_0x2ab8f6(0xcf)]&&_0x3dde29[_0x2ab8f6(0xc6)]){let _0x2f7692,_0x11ae14=![];if(_0x532f40[_0x2ab8f6(0x136)]&&_0x532f40[_0x2ab8f6(0x132)])_0x2f7692=this['_convertToWebUrl'](_0x532f40['resolvedOutputPath'],_0x3dde29['sessionId']);else _0x532f40[_0x2ab8f6(0xf6)]&&(_0x2f7692=_0x532f40[_0x2ab8f6(0xf6)],_0x11ae14=!![]);global['loxiaWebServer'][_0x2ab8f6(0x129)](_0x3dde29[_0x2ab8f6(0xc6)],{'type':'imageGenerated','agentId':_0x3dde29[_0x2ab8f6(0xb8)],'jobId':_0x3dde29['jobId'],'imageUrl':_0x2f7692,'localPath':_0x532f40[_0x2ab8f6(0x132)],'prompt':_0x3dde29[_0x2ab8f6(0xef)],'success':!![],'isTemporary':_0x11ae14,'savedToDisk':_0x532f40['savedToDisk'],'downloadError':_0x532f40[_0x2ab8f6(0x13b)],'timestamp':_0x3dde29[_0x2ab8f6(0x11a)]}),this['logger']?.['info']('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x3dde29['jobId'],'imageUrl':_0x2f7692,'localPath':_0x532f40[_0x2ab8f6(0x132)],'savedToDisk':_0x532f40['savedToDisk'],'isTemporary':_0x11ae14});if(this['agentPool']&&_0x3dde29[_0x2ab8f6(0xb8)])try{const _0x3b669d=await this['agentPool'][_0x2ab8f6(0xe2)](_0x3dde29['agentId']);if(_0x3b669d){let _0x44c1ac='Image\x20generated:\x20'+_0x3dde29[_0x2ab8f6(0xef)];_0x11ae14&&(_0x44c1ac+='\x0a\x0a⚠️\x20**Warning:**\x20Image\x20is\x20using\x20a\x20temporary\x20URL\x20(expires\x20in\x20~1\x20hour).\x20Failed\x20to\x20save\x20to\x20disk.',_0x532f40['downloadError']&&(_0x44c1ac+=_0x2ab8f6(0x110)+_0x532f40[_0x2ab8f6(0x13b)]));const _0x34db77={'id':_0x2ab8f6(0x128)+_0x3dde29[_0x2ab8f6(0x100)],'role':_0x2ab8f6(0x101),'content':_0x44c1ac,'timestamp':_0x3dde29['completedAt'],'imageUrl':_0x2f7692,'type':'image-result','toolId':'image-gen','status':'completed','isTemporary':_0x11ae14||![],'savedToDisk':_0x532f40['savedToDisk']!==![]};_0x3b669d[_0x2ab8f6(0xbb)]['full'][_0x2ab8f6(0xc5)][_0x2ab8f6(0x13e)](_0x34db77),_0x3b669d['conversations'][_0x2ab8f6(0xba)][_0x2ab8f6(0xe1)]=_0x3dde29[_0x2ab8f6(0x11a)],_0x3b669d[_0x2ab8f6(0x11c)]&&_0x3b669d['conversations'][_0x3b669d[_0x2ab8f6(0x11c)]]&&(_0x3b669d[_0x2ab8f6(0xbb)][_0x3b669d['currentModel']]['messages']['push'](_0x34db77),_0x3b669d[_0x2ab8f6(0xbb)][_0x3b669d['currentModel']][_0x2ab8f6(0xe1)]=_0x3dde29['completedAt']),_0x3b669d[_0x2ab8f6(0xe9)]=_0x3dde29[_0x2ab8f6(0x11a)],await this['agentPool']['persistAgentState'](_0x3dde29[_0x2ab8f6(0xb8)]),this['logger']?.['info']('Image\x20result\x20saved\x20to\x20conversation\x20history',{'agentId':_0x3dde29['agentId'],'jobId':_0x3dde29['jobId'],'messageId':_0x34db77['id']});}}catch(_0x45f952){this['logger']?.['error']('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x45f952[_0x2ab8f6(0xdf)],'agentId':_0x3dde29[_0x2ab8f6(0xb8)],'jobId':_0x3dde29['jobId']});}}this[_0x2ab8f6(0x125)]?.[_0x2ab8f6(0x13d)]('Image\x20generation\x20completed:\x20'+_0x3dde29[_0x2ab8f6(0x100)],{'outputPath':_0x532f40[_0x2ab8f6(0x132)]});}catch(_0x1d1ff1){this['logger']?.[_0x2ab8f6(0x122)](_0x2ab8f6(0xcb)+_0x3dde29['jobId'],_0x1d1ff1),_0x3dde29[_0x2ab8f6(0x121)]='failed',_0x3dde29['error']=_0x1d1ff1[_0x2ab8f6(0xdf)],_0x3dde29[_0x2ab8f6(0x11a)]=new Date()['toISOString'](),this[_0x2ab8f6(0xfa)][_0x2ab8f6(0x111)](_0x3dde29['jobId'],_0x3dde29);global['loxiaWebServer']&&_0x3dde29['sessionId']&&(global[_0x2ab8f6(0xcf)][_0x2ab8f6(0x129)](_0x3dde29[_0x2ab8f6(0xc6)],{'type':'imageGenerated','jobId':_0x3dde29['jobId'],'agentId':_0x3dde29[_0x2ab8f6(0xb8)],'prompt':_0x3dde29[_0x2ab8f6(0xef)],'success':![],'error':_0x1d1ff1['message'],'timestamp':_0x3dde29['completedAt']}),this[_0x2ab8f6(0x125)]?.[_0x2ab8f6(0x13d)](_0x2ab8f6(0xe8),{'jobId':_0x3dde29[_0x2ab8f6(0x100)],'sessionId':_0x3dde29[_0x2ab8f6(0xc6)],'error':_0x1d1ff1['message']}));if(this[_0x2ab8f6(0x10b)]&&_0x3dde29[_0x2ab8f6(0xb8)])try{const _0x258478=await this[_0x2ab8f6(0x10b)]['getAgent'](_0x3dde29[_0x2ab8f6(0xb8)]);if(_0x258478){const _0x1d350d={'id':_0x2ab8f6(0x120)+_0x3dde29['jobId'],'role':_0x2ab8f6(0x10e),'content':'❌\x20Image\x20generation\x20failed:\x20'+_0x1d1ff1[_0x2ab8f6(0xdf)]+_0x2ab8f6(0x102)+_0x3dde29[_0x2ab8f6(0xef)],'timestamp':_0x3dde29['completedAt'],'type':'error','toolId':'image-gen','status':_0x2ab8f6(0xb9),'jobId':_0x3dde29[_0x2ab8f6(0x100)]};_0x258478['conversations'][_0x2ab8f6(0xba)][_0x2ab8f6(0xc5)][_0x2ab8f6(0x13e)](_0x1d350d),_0x258478[_0x2ab8f6(0xbb)]['full'][_0x2ab8f6(0xe1)]=_0x3dde29['completedAt'],_0x258478['currentModel']&&_0x258478[_0x2ab8f6(0xbb)][_0x258478['currentModel']]&&(_0x258478[_0x2ab8f6(0xbb)][_0x258478['currentModel']][_0x2ab8f6(0xc5)]['push'](_0x1d350d),_0x258478[_0x2ab8f6(0xbb)][_0x258478['currentModel']][_0x2ab8f6(0xe1)]=_0x3dde29['completedAt']),_0x258478['lastActivity']=_0x3dde29['completedAt'],await this[_0x2ab8f6(0x10b)]['persistAgentState'](_0x3dde29[_0x2ab8f6(0xb8)]),this[_0x2ab8f6(0x125)]?.[_0x2ab8f6(0x13d)]('Image\x20error\x20saved\x20to\x20conversation\x20history',{'agentId':_0x3dde29['agentId'],'jobId':_0x3dde29['jobId'],'error':_0x1d1ff1['message']});}}catch(_0x5c70ca){this['logger']?.['error']('Failed\x20to\x20save\x20image\x20error\x20to\x20conversation\x20history',{'error':_0x5c70ca[_0x2ab8f6(0xdf)],'agentId':_0x3dde29[_0x2ab8f6(0xb8)],'jobId':_0x3dde29[_0x2ab8f6(0x100)]});}}}this['isProcessing']=![],this[_0x2ab8f6(0xc3)]=null;}async['_generateImage'](_0x2c2c20){const _0x3f485e=a0_0x5042b0;if(!this[_0x3f485e(0xc9)])throw new Error('AI\x20service\x20not\x20available.\x20Image\x20generation\x20requires\x20AI\x20service.');const _0x452b30=await this[_0x3f485e(0xe3)](_0x2c2c20),_0x7557c=a0_0x227abb['dirname'](_0x452b30);await a0_0x64eb12['mkdir'](_0x7557c,{'recursive':!![]}),this['logger']?.[_0x3f485e(0x13d)](_0x3f485e(0x10f)+_0x2c2c20['model'],{'size':_0x2c2c20[_0x3f485e(0xc2)],'quality':_0x2c2c20[_0x3f485e(0x12b)]});const _0x101bf1={'model':_0x2c2c20['model'],'size':_0x2c2c20[_0x3f485e(0xc2)],'quality':_0x2c2c20['quality'],'responseFormat':'url','sessionId':_0x2c2c20[_0x3f485e(0xc6)]},_0x3031f7=await this[_0x3f485e(0xc9)][_0x3f485e(0xd9)](_0x2c2c20[_0x3f485e(0xef)],_0x101bf1),_0xc3d333=_0x3031f7?.['url']||_0x3031f7?.[_0x3f485e(0xf7)];if(!_0xc3d333)throw new Error('No image URL received from AI service');this[_0x3f485e(0x125)]?.[_0x3f485e(0x13d)](_0x3f485e(0x118)+_0xc3d333[_0x3f485e(0xd4)](0x0,0x32)+'...');let _0x312fa1=![],_0x580abf=null;try{await this[_0x3f485e(0xb6)](_0xc3d333,_0x452b30),_0x312fa1=!![],!_0x2c2c20[_0x3f485e(0xd0)]&&this['_scheduleCleanup'](_0x452b30,_0x2c2c20['jobId']);}catch(_0x20c21e){_0x580abf=_0x20c21e['message'],this[_0x3f485e(0x125)]?.['warn'](_0x3f485e(0x126)+_0x20c21e[_0x3f485e(0xdf)]);}return{'jobId':_0x2c2c20['jobId'],'prompt':_0x2c2c20[_0x3f485e(0xef)],'outputPath':_0x2c2c20['outputPath'],'resolvedOutputPath':_0x312fa1?_0x452b30:null,'temporaryUrl':_0xc3d333,'savedToDisk':_0x312fa1,'downloadError':_0x580abf,'success':!![],'model':_0x3031f7['model']||_0x2c2c20['model'],'size':_0x2c2c20['size'],'usage':_0x3031f7['usage']};}async[a0_0x5042b0(0xe3)](_0x4a2c8d){const _0x4f880f=a0_0x5042b0;if(_0x4a2c8d['saveToProject']){const _0x3cad7c=_0x4a2c8d['projectDir']||process[_0x4f880f(0xd5)]();let _0x3eee8c=_0x4a2c8d[_0x4f880f(0xe7)];if(!_0x3eee8c){const _0x13a38c=Date[_0x4f880f(0x11e)]();_0x3eee8c='images/generated-'+_0x13a38c+'.png';}const _0x242790=a0_0x227abb['isAbsolute'](_0x3eee8c)?a0_0x227abb['normalize'](_0x3eee8c):a0_0x227abb['normalize'](a0_0x227abb['join'](_0x3cad7c,_0x3eee8c));if(!_0x242790[_0x4f880f(0xfd)](a0_0x227abb[_0x4f880f(0xc8)](_0x3cad7c)))throw new Error(_0x4f880f(0xde));if(_0x4a2c8d[_0x4f880f(0x117)]){const _0x482938=a0_0x227abb['relative'](_0x3cad7c,_0x242790);if(_0x482938[_0x4f880f(0xfd)]('..'))throw new Error('Access\x20denied:\x20path\x20outside\x20project\x20directory');}return _0x242790;}else{await a0_0x64eb12[_0x4f880f(0xed)](this[_0x4f880f(0xdb)],{'recursive':!![]});let _0x511e7b=_0x4a2c8d[_0x4f880f(0xe7)]?a0_0x227abb['basename'](_0x4a2c8d[_0x4f880f(0xe7)]):'generated-'+_0x4a2c8d['jobId']+'.png';return a0_0x227abb[_0x4f880f(0xeb)](this[_0x4f880f(0xdb)],_0x511e7b);}}async['_downloadImage'](_0x253d39,_0x2752e0){const _0x562978=a0_0x5042b0;try{const _0x495641=await fetch(_0x253d39,{'signal':AbortSignal['timeout'](IMAGE_CONFIG['DOWNLOAD_TIMEOUT'])});if(!_0x495641['ok'])throw new Error(_0x562978(0xd6)+_0x495641['status']);const _0x38a878=Buffer[_0x562978(0x107)](await _0x495641[_0x562978(0x114)]());await a0_0x64eb12[_0x562978(0xd1)](_0x2752e0,_0x38a878),this['logger']?.['info']('Image\x20saved\x20to:\x20'+_0x2752e0);}catch(_0x13a9d8){if(_0x13a9d8[_0x562978(0x13a)]===_0x562978(0x11f))throw new Error(_0x562978(0x134));else{if(_0x13a9d8['name']==='TypeError')throw new Error(_0x562978(0xc4)+_0x13a9d8['message']);else throw new Error('Download\x20failed:\x20'+_0x13a9d8[_0x562978(0xdf)]);}}}[a0_0x5042b0(0x112)](_0x3080c4,_0x107767){const _0x33585f=a0_0x5042b0,_0x53d023=setTimeout(async()=>{const _0x2f6ed7=a0_0x3131;try{await a0_0x64eb12['unlink'](_0x3080c4),this[_0x2f6ed7(0x125)]?.[_0x2f6ed7(0x119)](_0x2f6ed7(0xce)+_0x3080c4),this[_0x2f6ed7(0xd3)][_0x2f6ed7(0xf2)](_0x107767);}catch(_0x3a5019){}},IMAGE_CONFIG[_0x33585f(0xfb)]);this['cleanupTimers'][_0x33585f(0x111)](_0x107767,_0x53d023);}[a0_0x5042b0(0x12d)](_0x505d43,_0xb1deec){const _0x37ec0e=a0_0x5042b0,_0x4d4ab8=a0_0x227abb['basename'](_0x505d43),_0x4e5845=global[_0x37ec0e(0xcf)]?.['port']||0x1f90;let _0x5fa1=global['loxiaWebServer']?.['host']||'localhost';return _0x5fa1===_0x37ec0e(0x13c)&&(_0x5fa1='localhost'),'http://'+_0x5fa1+':'+_0x4e5845+'/api/images/'+_0xb1deec+'/'+_0x4d4ab8;}[a0_0x5042b0(0x123)](){const _0x5a69a0=a0_0x5042b0,_0x44c747=0x1e,_0x11eda6=this['queue'][_0x5a69a0(0xcc)];if(_0x11eda6===0x0)return'~30\x20seconds';const _0x1fd78b=_0x11eda6*_0x44c747,_0x164f51=Math['floor'](_0x1fd78b/0x3c),_0x4805b1=_0x1fd78b%0x3c;if(_0x164f51>0x0)return'~'+_0x164f51+'m\x20'+_0x4805b1+'s';return'~'+_0x4805b1+'s';}['_generateJobId'](){const _0x126bd6=a0_0x5042b0;return _0x126bd6(0xf5)+Date['now']()+'-'+Math['random']()['toString'](0x24)[_0x126bd6(0xd4)](0x2,0x9);}['getJobStatus'](_0x585024){const _0x5de1c4=a0_0x5042b0;if(this[_0x5de1c4(0xfa)][_0x5de1c4(0x10d)](_0x585024))return this[_0x5de1c4(0xfa)]['get'](_0x585024);if(this['currentJob']&&this[_0x5de1c4(0xc3)][_0x5de1c4(0x100)]===_0x585024)return this['currentJob'];const _0x2d7bea=this[_0x5de1c4(0xbf)][_0x5de1c4(0xbd)](_0x198548=>_0x198548['jobId']===_0x585024);if(_0x2d7bea)return _0x2d7bea;return{'jobId':_0x585024,'status':'not_found'};}async[a0_0x5042b0(0xe0)](){const _0x49e246=a0_0x5042b0;this[_0x49e246(0x125)]?.[_0x49e246(0x13d)](_0x49e246(0x106));for(const _0x28cb12 of this[_0x49e246(0xd3)][_0x49e246(0x127)]()){clearTimeout(_0x28cb12);}this['cleanupTimers'][_0x49e246(0xf8)]();for(const _0x5be31c of this['queue']){_0x5be31c[_0x49e246(0x121)]=_0x49e246(0x12a);}this['queue']=[];}}export default ImageTool;
1
+ const a0_0x3fed8c=a0_0x55a3;(function(_0x50e653,_0xafcb04){const _0x1df3b9=a0_0x55a3,_0x228e83=_0x50e653();while(!![]){try{const _0x15cf1e=parseInt(_0x1df3b9(0xb5))/0x1*(parseInt(_0x1df3b9(0xf5))/0x2)+-parseInt(_0x1df3b9(0xda))/0x3*(parseInt(_0x1df3b9(0x11e))/0x4)+-parseInt(_0x1df3b9(0xd8))/0x5+-parseInt(_0x1df3b9(0x12e))/0x6*(parseInt(_0x1df3b9(0x115))/0x7)+-parseInt(_0x1df3b9(0xac))/0x8+parseInt(_0x1df3b9(0x11a))/0x9*(-parseInt(_0x1df3b9(0x12b))/0xa)+parseInt(_0x1df3b9(0x112))/0xb;if(_0x15cf1e===_0xafcb04)break;else _0x228e83['push'](_0x228e83['shift']());}catch(_0x2e91d7){_0x228e83['push'](_0x228e83['shift']());}}}(a0_0x5433,0x419f1));import a0_0x5b5c4a from'path';function a0_0x55a3(_0x465343,_0x2bf022){_0x465343=_0x465343-0x98;const _0x543374=a0_0x5433();let _0x55a3ff=_0x543374[_0x465343];if(a0_0x55a3['nYDWwm']===undefined){var _0x15b742=function(_0x1cf6f7){const _0x1c5ab5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b5c4a='',_0x35d93b='';for(let _0xe9ed89=0x0,_0x4a3cc1,_0x1a7c06,_0x3177bf=0x0;_0x1a7c06=_0x1cf6f7['charAt'](_0x3177bf++);~_0x1a7c06&&(_0x4a3cc1=_0xe9ed89%0x4?_0x4a3cc1*0x40+_0x1a7c06:_0x1a7c06,_0xe9ed89++%0x4)?_0x5b5c4a+=String['fromCharCode'](0xff&_0x4a3cc1>>(-0x2*_0xe9ed89&0x6)):0x0){_0x1a7c06=_0x1c5ab5['indexOf'](_0x1a7c06);}for(let _0x9ccd94=0x0,_0x4b3be1=_0x5b5c4a['length'];_0x9ccd94<_0x4b3be1;_0x9ccd94++){_0x35d93b+='%'+('00'+_0x5b5c4a['charCodeAt'](_0x9ccd94)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35d93b);};a0_0x55a3['YQQftm']=_0x15b742,a0_0x55a3['AYSZdI']={},a0_0x55a3['nYDWwm']=!![];}const _0x5c92f0=_0x543374[0x0],_0x39e4e9=_0x465343+_0x5c92f0,_0x3aaf6a=a0_0x55a3['AYSZdI'][_0x39e4e9];return!_0x3aaf6a?(_0x55a3ff=a0_0x55a3['YQQftm'](_0x55a3ff),a0_0x55a3['AYSZdI'][_0x39e4e9]=_0x55a3ff):_0x55a3ff=_0x3aaf6a,_0x55a3ff;}import a0_0x35d93b from'os';import{promises as a0_0xe9ed89}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':'azure-openai-dalle3','DEFAULT_SIZE':a0_0x3fed8c(0xc7),'DEFAULT_QUALITY':a0_0x3fed8c(0xbb),'VALID_SIZES':[a0_0x3fed8c(0xfa),a0_0x3fed8c(0x11d),a0_0x3fed8c(0xc7),a0_0x3fed8c(0xdf),a0_0x3fed8c(0xe9)],'VALID_FORMATS':['png','jpg',a0_0x3fed8c(0x99),a0_0x3fed8c(0xb4)],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};function a0_0x5433(){const _0xf1000e=['rMfPBgvKihrVihnHDMuGAw1Hz2uGCMvZDwX0ihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','rMfPBgvKihrVigrVD25SB2fKigLTywDLoIbivfrqia','BwvZC2fNzxm','ChjVBxb0','mtC5mNGXmdi0','Aw5MBW','uvvfvuvFteLnsvq','ywDLBNrqB29S','tufyx1bst01qvf9mru5hveG','C3rHDhvZ','Dg9mB3DLCKnHC2u','ChvZAa','sw1Hz2uGz2vUzxjHDgLVBIbJB21WBgv0zwq6ia','Bw9KzwW','Aw1NlwvYCM9Ylq','C2v0','nJe0nNHWy05HBa','uhjVy2vZC2LUzYbPBwfNzsbNzw5LCMf0Aw9UigPVyJOG','CgvYC2LZDefNzw50u3rHDgu','l2fWAs9PBwfNzxmV','Aw1Hz2vZ','mJu2Edi1nG','x3bHCNnLsw1Hz2vqyxjHBxm','cGRIMQdVUi8GkIPxyxjUAw5NoIOQieLTywDLigLZihvZAw5NigeGDgvTCg9Yyxj5ifvstcaOzxHWAxjLCYbPBIb+msbOB3vYks4GrMfPBgvKihrVihnHDMuGDg8GzgLZAY4','y3DK','z2v0qwDLBNq','BM93','zxjYB3i','AgfZ','sw1Hz2vuB29SoIboB3jTywXPEMLUzYbVyMPLy3qGCgfYyw1LDgvYCW','x2DLBMvYyxrLsw1Hz2u','x2nVBNzLCNruB1DLyLvYBa','vKfmsurFu0LArvm','CxvLDwvK','C3vIC3rYAw5N','sw1Hz2uGvvjmihjLy2vPDMvKoIa','AxnqCM9JzxnZAw5N','B2jQzwn0','ChjVy2vZC2LUzW','y29TCgXLDgvKsM9ICW','sw1Hz2uGz2vUzxjHDgvKoIa','C2f2zwruB0rPC2S','y29TCgXLDgvKqxq','Dg9ju09tDhjPBMC','y3vYCMvUDePVyG','mte2ode5mtjeuLvQBMi','Bg9Nz2vY','CMvSyxrPDMu','otmXq2rWwhLk','BgfZDfvWzgf0zwq','x3bHCNnLsLnptLbHCMfTCW','x2vZDgLTyxrLv2fPDfrPBwu','sw1Hz2uGC2f2zwqGDg86ia','ndm4nZiZtK9uEK1y','lNbUzW','C3LZDgvT','nteYEduXmG','nffvAMTPvq','ywDLBNrjza','C2f2zvrVuhjVAMvJDa','uhjVBxb0ihrVBYbSB25NicHTyxGG','Bg94AweTAw1Hz2vZ','Ahr0CdOVlW','BMfTzq','CMvZB2X2zwrpDxrWDxrqyxrO','tM8GAw1Hz2vZihnWzwnPzMLLza','C2L6zq','C3rHCNrZv2L0Aa','Aw1Nlq','DhjPBq','nZbqqM5kv1m','yxjYyxLcDwzMzxi','revgqvvmvf9nt0rfta','mti1nfPVtgTjva','x2DLBMvYyxrLsM9Iswq','x3zHBgLKyxrLugfYyw1LDgvYCW','ANbLzW','Bg94Awfxzwjtzxj2zxi','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','x3nJAgvKDwXLq2XLyw51Ca','igLTywDLCYbPBIbXDwv1zq','AM9Iswq','D3jPDgvgAwXL','AxnbCNjHEq','CxvHBgL0Eq','cGOQkLbYB21WDdOQkIa','CgfYC2vqyxjHBwv0zxjZ','r2vUzxjHDgLUzYbPBwfNzsb3AxrOia','lI4U','CMvZDwX0','yMfZzw5HBwu','x3bYB2nLC3nrDwv1zq','y2f0y2G','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCIbICM9HzgnHC3qGC2vUDa','zgvIDwC','nduZotj0z1Htr3y','Aw1NlxjLC3vSDc0','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','zg93BMXVywrfCNjVCG','z2v0','sw1Hz2uGCMvZDwX0ihnHDMvKihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLlIbjBwfNzsbNzw5LCMf0Aw9UihjLCxvPCMvZiefjihnLCNzPy2uU','Aw1Hz2uTz2vU','D2vICa','nJLkDuPdAgm','C2v0quLtzxj2AwnL','y3vYCMvUDe1VzgvS','BM90x2zVDw5K','mc4WlJaUma','C2vZC2LVBKLK','C3rHBMrHCMq','y2XLyw51CfrPBwvYCW','4P2mieLTywDLigDLBMvYyxrPB24GzMfPBgvKoIa','C2v0qwDLBNrqB29S','FJmWihnLy29Uzhm','vKfmsurFrK9stufuuW','C2HPzNq','yMf0y2G','CxvLDwu','revgqvvmvf9rvufmsvrz','Aw1Hz2vhzw5LCMf0zwq','B3v0Chv0ugf0Aa','mtaYnhGXmdi0','DgvTCg9Yyxj5vxjS','z2vUzxjHDgvKlq','q2XLyw5Lzcb1Ccb0zw1WigLTywDLoIa','zNjVBq','Aw5JBhvKzxm','z2v0sM9Iu3rHDhvZ','quKGu2vYDMLJzsbZzxqGzM9YieLTywDLvg9VBa','rMfPBgvKihrVihnHDMuGAw1Hz2uGzxjYB3iGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','Ag9ZDa','y29UDMvYC2f0Aw9UCW','zNvSBa','x3bHCNnLwe1mugfYyw1Z','AM9PBG','zxHLyW','x3bHCNnLwe1msw1Hz2u','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq','mtG0otaYmhfRrLrRsq','Dg9tDhjPBMC','nZGYmJiWtvrguwDb','BgvUz3rO','BwvZC2fNzq','revgqvvmvf9tsvPf','DgvTCerPCG','mtaYnhGXnZKY','Aw1Hz2vZl2DLBMvYyxrLzc0','tMv0D29YAYbLCNjVCJOG','zgLYBMfTzq','sw1Hz2uGCxvLDwvKigzVCIbNzw5LCMf0Aw9U','DgLTzw91Da'];a0_0x5433=function(){return _0xf1000e;};return a0_0x5433();}export class ImageTool extends BaseTool{constructor(_0x4a3cc1={},_0x1a7c06=null){const _0xbdc2d0=a0_0x3fed8c;super(_0x4a3cc1,_0x1a7c06),this['id']=_0xbdc2d0(0xb3),this['queue']=[],this['currentJob']=null,this[_0xbdc2d0(0x10c)]=new Map(),this['isProcessing']=![],this['aiService']=null,this['agentPool']=null,this['tempDir']=a0_0x5b5c4a[_0xbdc2d0(0xd4)](a0_0x35d93b['tmpdir'](),_0xbdc2d0(0x122)),this[_0xbdc2d0(0xbc)]=new Map();}[a0_0x3fed8c(0xb6)](_0x3177bf){const _0x4396b7=a0_0x3fed8c;this['aiService']=_0x3177bf,this['logger']?.[_0x4396b7(0xea)](_0x4396b7(0xce));}[a0_0x3fed8c(0xbe)](_0x9ccd94){const _0x275fd5=a0_0x3fed8c;this[_0x275fd5(0xec)]=_0x9ccd94,this['logger']?.['info']('AgentPool\x20set\x20for\x20ImageTool');}['getDescription'](){const _0x533685=a0_0x3fed8c;return'Tool:\x20Image\x20Generator\x20-\x20Generate\x20images\x20using\x20AI\x20models\x0a\x0a**Purpose:**\x20Generate\x20images\x20from\x20text\x20descriptions\x20using\x20DALL-E\x203.\x20Images\x20are\x20saved\x20to\x20files\x20and\x20displayed\x20in\x20chat.\x0a\x0a**CRITICAL:\x20Automatic\x20Execution**\x0a-\x20ANY\x20```json\x20block\x20with\x20\x22toolId\x22:\x20\x22image-gen\x22\x20will\x20be\x20EXECUTED\x20IMMEDIATELY\x0a-\x20Just\x20output\x20the\x20command\x20when\x20you\x20want\x20to\x20generate\x20an\x20image\x0a-\x20If\x20generation\x20fails,\x20output\x20a\x20NEW\x20command\x20with\x20corrections\x0a\x0a**USAGE:**\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\x20of\x20the\x20image\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(required):\x20Detailed\x20description\x20of\x20image\x20to\x20generate\x0a-\x20**outputPath**\x20(optional):\x20Path\x20to\x20save\x20image\x20(permanent).\x20Omit\x20for\x20temp\x20file.\x0a-\x20**model**\x20(optional):\x20\x22azure-openai-dalle3\x22\x20(default)\x0a-\x20**size**\x20(optional):\x20256x256,\x20512x512,\x201024x1024,\x201024x1792,\x201792x1024\x20(default:\x201024x1024)\x0a-\x20**quality**\x20(optional):\x20\x22standard\x22\x20or\x20\x22hd\x22\x20(default:\x20standard)\x0a\x0a**EXAMPLE:**\x0aUser:\x20\x22create\x20a\x20sunset\x20image\x22\x0aYou\x20output:\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\x22A\x20beautiful\x20sunset\x20over\x20the\x20ocean\x20with\x20vibrant\x20orange\x20and\x20pink\x20colors\x20reflecting\x20on\x20calm\x20waters\x22,\x0a\x20\x20\x20\x20\x22outputPath\x22:\x20\x22images/sunset.png\x22,\x0a\x20\x20\x20\x20\x22size\x22:\x20\x221024x1024\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Images\x20take\x2015-30\x20seconds\x20to\x20generate\x0a-\x20Be\x20descriptive\x20in\x20prompts\x20for\x20better\x20results\x0a-\x20Max\x20'+IMAGE_CONFIG[_0x533685(0xeb)]+_0x533685(0x9d);}[a0_0x3fed8c(0xa3)](_0x4b3be1){const _0x2ff153=a0_0x3fed8c;if(typeof _0x4b3be1===_0x2ff153(0x10a)&&_0x4b3be1!==null)return this['_parseJSONParams'](_0x4b3be1);if(typeof _0x4b3be1==='string'){const _0x12c4d2=_0x4b3be1[_0x2ff153(0x12a)]();if(_0x12c4d2[_0x2ff153(0x128)]('{')||_0x12c4d2[_0x2ff153(0x128)]('['))try{const _0x481836=JSON['parse'](_0x12c4d2);return this[_0x2ff153(0x117)](_0x481836);}catch(_0x1d6457){}return this[_0x2ff153(0xd3)](_0x4b3be1);}throw new Error('Invalid\x20parameter\x20format');}[a0_0x3fed8c(0x117)](_0x1e3062){const _0x31663c=a0_0x3fed8c;_0x1e3062['parameters']&&(_0x1e3062=_0x1e3062['parameters']);if(_0x1e3062[_0x31663c(0xc2)]&&Array[_0x31663c(0xa0)](_0x1e3062['batch']))return{'batch':!![],'images':_0x1e3062['batch']['map'](_0x23a79b=>this[_0x31663c(0xfb)](_0x23a79b))};return{'batch':![],'images':[this[_0x31663c(0xfb)](_0x1e3062)]};}['_parseXMLParams'](_0x5632cb){const _0x5c5b11=a0_0x3fed8c,_0x4047f9={'batch':![],'images':[]},_0x3408f0=/<batch>([\s\S]*?)<\/batch>/i['exec'](_0x5632cb);if(_0x3408f0){_0x4047f9[_0x5c5b11(0xc2)]=!![];const _0x1c653c=_0x3408f0[0x1],_0x492a7f=/<image>([\s\S]*?)<\/image>/gi;let _0x3fb26b;while((_0x3fb26b=_0x492a7f['exec'](_0x1c653c))!==null){_0x4047f9['images'][_0x5c5b11(0xf0)](this[_0x5c5b11(0xd6)](_0x3fb26b[0x1]));}}else _0x4047f9['images']['push'](this['_parseXMLImage'](_0x5632cb));if(_0x4047f9['images']['length']===0x0)throw new Error('No\x20valid\x20image\x20parameters\x20found');return _0x4047f9;}['_parseImageParams'](_0xe41dd4){const _0x46c24d=a0_0x3fed8c,_0x1bfcd5=_0xe41dd4['outputPath']||_0xe41dd4['output-path']||null;return{'prompt':_0xe41dd4['prompt']||'','outputPath':_0x1bfcd5,'saveToProject':_0x1bfcd5!==null,'model':_0xe41dd4['model']||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0xe41dd4[_0x46c24d(0x127)]||IMAGE_CONFIG[_0x46c24d(0xdd)],'quality':_0xe41dd4[_0x46c24d(0xa1)]||IMAGE_CONFIG[_0x46c24d(0xc4)]};}['_parseXMLImage'](_0x3515f5){const _0x217d16=a0_0x3fed8c,_0x44a2b4=_0x189bcc=>{const _0x198fa=a0_0x55a3,_0x5d3b06=new RegExp('<'+_0x189bcc+'>([\x5cs\x5cS]*?)<\x5c/'+_0x189bcc+'>','i'),_0x5d9cba=_0x5d3b06[_0x198fa(0xd5)](_0x3515f5);return _0x5d9cba?_0x5d9cba[0x1][_0x198fa(0x12a)]():null;},_0x5b52c5=_0x44a2b4('output-path')||null;return{'prompt':_0x44a2b4(_0x217d16(0xe8))||'','outputPath':_0x5b52c5,'saveToProject':_0x5b52c5!==null,'model':_0x44a2b4('model')||IMAGE_CONFIG[_0x217d16(0x12d)],'size':_0x44a2b4('size')||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x44a2b4('quality')||IMAGE_CONFIG['DEFAULT_QUALITY']};}async['execute'](_0x22f269,_0x5ad217={}){const _0x387516=a0_0x3fed8c;try{const {agentId:_0x469904,projectDir:_0x2a3d75,directoryAccess:_0x2b1991,sessionId:_0x1e1973}=_0x5ad217;if(typeof _0x22f269==='string')this['logger']?.['info']('ImageTool:\x20Auto-parsing\x20string\x20parameters'),_0x22f269=this['parseParameters'](_0x22f269);else typeof _0x22f269===_0x387516(0x10a)&&_0x22f269!==null&&!_0x22f269['images']&&(this['logger']?.[_0x387516(0xea)](_0x387516(0x102)),_0x22f269=this[_0x387516(0xa3)](_0x22f269));this[_0x387516(0x98)](_0x22f269);const _0x457da8=[];for(const _0x398cba of _0x22f269[_0x387516(0xf9)]){const _0x312884=this[_0x387516(0x12f)](),_0x3fe9a7={'jobId':_0x312884,'agentId':_0x469904,'sessionId':_0x1e1973,'prompt':_0x398cba[_0x387516(0xe8)],'outputPath':_0x398cba[_0x387516(0xc6)],'saveToProject':_0x398cba['saveToProject'],'model':_0x398cba['model'],'size':_0x398cba[_0x387516(0x127)],'quality':_0x398cba[_0x387516(0xa1)],'projectDir':_0x2a3d75||process[_0x387516(0xfd)](),'directoryAccess':_0x2b1991,'status':_0x387516(0x106),'createdAt':new Date()['toISOString']()};if(this[_0x387516(0xc3)][_0x387516(0xdb)]>=IMAGE_CONFIG[_0x387516(0xeb)])return{'success':![],'error':'Queue\x20limit\x20reached\x20('+IMAGE_CONFIG[_0x387516(0xeb)]+'\x20images).\x20Please\x20wait\x20for\x20current\x20jobs\x20to\x20complete.','queueLength':this[_0x387516(0xc3)]['length']};this[_0x387516(0xc3)][_0x387516(0xf0)](_0x3fe9a7),_0x457da8[_0x387516(0xf0)](_0x312884),this[_0x387516(0x113)]?.[_0x387516(0xea)]('Image\x20generation\x20job\x20queued:\x20'+_0x312884,{'prompt':_0x398cba['prompt'][_0x387516(0x107)](0x0,0x32)+'...','queuePosition':this['queue']['length']});}return!this['isProcessing']&&this[_0x387516(0xa8)]()[_0x387516(0xa9)](_0x539a63=>{this['logger']?.['error']('Queue\x20processing\x20error:',_0x539a63);}),{'success':!![],'jobIds':_0x457da8,'queueLength':this[_0x387516(0xc3)]['length'],'message':_0x22f269['batch']?_0x457da8['length']+'\x20images\x20queued\x20for\x20generation':_0x387516(0xe3),'estimatedWaitTime':this[_0x387516(0x118)]()};}catch(_0x8aa835){return this['logger']?.[_0x387516(0x100)](_0x387516(0x9b),_0x8aa835),{'success':![],'error':_0x8aa835['message']};}}[a0_0x3fed8c(0x98)](_0xabf750){const _0x1774aa=a0_0x3fed8c;if(!_0xabf750[_0x1774aa(0xf9)]||_0xabf750[_0x1774aa(0xf9)][_0x1774aa(0xdb)]===0x0)throw new Error(_0x1774aa(0x126));for(const _0x43c63f of _0xabf750['images']){if(!_0x43c63f[_0x1774aa(0xe8)]||_0x43c63f['prompt'][_0x1774aa(0x12a)]()['length']===0x0)throw new Error('Image\x20prompt\x20is\x20required');if(_0x43c63f['prompt']['length']>IMAGE_CONFIG[_0x1774aa(0xed)])throw new Error(_0x1774aa(0x121)+IMAGE_CONFIG[_0x1774aa(0xed)]+'\x20characters)');if(_0x43c63f[_0x1774aa(0x127)]&&!IMAGE_CONFIG['VALID_SIZES']['includes'](_0x43c63f['size']))throw new Error('Invalid\x20size:\x20'+_0x43c63f[_0x1774aa(0x127)]+'.\x20Valid\x20sizes:\x20'+IMAGE_CONFIG[_0x1774aa(0x105)]['join'](',\x20'));if(_0x43c63f['outputPath']){const _0x1227f3=a0_0x5b5c4a['extname'](_0x43c63f['outputPath'])[_0x1774aa(0xef)]()['replace']('.','');if(_0x1227f3&&!IMAGE_CONFIG[_0x1774aa(0xc0)][_0x1774aa(0xcc)](_0x1227f3))throw new Error('Invalid\x20format:\x20'+_0x1227f3+'.\x20Valid\x20formats:\x20'+IMAGE_CONFIG[_0x1774aa(0xc0)]['join'](',\x20'));}}}async['_processQueue'](){const _0xdbb968=a0_0x3fed8c;if(this[_0xdbb968(0x109)])return;this[_0xdbb968(0x109)]=!![];while(this[_0xdbb968(0xc3)]['length']>0x0){const _0x5b5c14=this[_0xdbb968(0xc3)][_0xdbb968(0xc1)]();this['currentJob']=_0x5b5c14,this['logger']?.[_0xdbb968(0xea)](_0xdbb968(0xf6)+_0x5b5c14[_0xdbb968(0x9e)]);try{_0x5b5c14[_0xdbb968(0xee)]=_0xdbb968(0x10b);const _0x527be1=await this['_generateImage'](_0x5b5c14);_0x5b5c14['status']='completed',_0x5b5c14[_0xdbb968(0xa6)]=_0x527be1,_0x5b5c14['completedAt']=new Date()[_0xdbb968(0x110)](),this['completedJobs'][_0xdbb968(0xf4)](_0x5b5c14[_0xdbb968(0x9e)],_0x5b5c14);if(global[_0xdbb968(0x9a)]&&_0x5b5c14['sessionId']){let _0x49f39e,_0x4f83f0=![];if(_0x527be1[_0xdbb968(0x10e)]&&_0x527be1[_0xdbb968(0x125)])_0x49f39e=this[_0xdbb968(0x104)](_0x527be1['resolvedOutputPath'],_0x5b5c14[_0xdbb968(0xba)]);else _0x527be1[_0xdbb968(0xc8)]&&(_0x49f39e=_0x527be1['temporaryUrl'],_0x4f83f0=!![]);global['loxiaWebServer']['broadcastToSession'](_0x5b5c14['sessionId'],{'type':_0xdbb968(0xc5),'agentId':_0x5b5c14['agentId'],'jobId':_0x5b5c14[_0xdbb968(0x9e)],'imageUrl':_0x49f39e,'localPath':_0x527be1['resolvedOutputPath'],'prompt':_0x5b5c14[_0xdbb968(0xe8)],'success':!![],'isTemporary':_0x4f83f0,'savedToDisk':_0x527be1[_0xdbb968(0x10e)],'downloadError':_0x527be1[_0xdbb968(0xaf)],'timestamp':_0x5b5c14['completedAt']}),this['logger']?.['info']('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x5b5c14[_0xdbb968(0x9e)],'imageUrl':_0x49f39e,'localPath':_0x527be1[_0xdbb968(0x125)],'savedToDisk':_0x527be1['savedToDisk'],'isTemporary':_0x4f83f0});if(this['agentPool']&&_0x5b5c14[_0xdbb968(0x11f)])try{const _0x1b79aa=await this['agentPool']['getAgent'](_0x5b5c14[_0xdbb968(0x11f)]);if(_0x1b79aa){let _0x2d118f=_0xdbb968(0x10d)+_0x5b5c14['prompt'];_0x4f83f0&&(_0x2d118f+=_0xdbb968(0xfc),_0x527be1['downloadError']&&(_0x2d118f+='\x0a**Error:**\x20'+_0x527be1[_0xdbb968(0xaf)]));const _0x32ef9b={'id':_0xdbb968(0xad)+_0x5b5c14['jobId'],'role':'assistant','content':_0x2d118f,'timestamp':_0x5b5c14['completedAt'],'imageUrl':_0x49f39e,'type':'image-result','toolId':'image-gen','status':'completed','isTemporary':_0x4f83f0||![],'savedToDisk':_0x527be1[_0xdbb968(0x10e)]!==![]};_0x1b79aa['conversations']['full']['messages']['push'](_0x32ef9b),_0x1b79aa[_0xdbb968(0xd1)][_0xdbb968(0xd2)][_0xdbb968(0x116)]=_0x5b5c14[_0xdbb968(0x10f)],_0x1b79aa['currentModel']&&_0x1b79aa['conversations'][_0x1b79aa[_0xdbb968(0xb7)]]&&(_0x1b79aa[_0xdbb968(0xd1)][_0x1b79aa['currentModel']][_0xdbb968(0xe7)][_0xdbb968(0xf0)](_0x32ef9b),_0x1b79aa[_0xdbb968(0xd1)][_0x1b79aa[_0xdbb968(0xb7)]][_0xdbb968(0x116)]=_0x5b5c14[_0xdbb968(0x10f)]),_0x1b79aa['lastActivity']=_0x5b5c14['completedAt'],await this[_0xdbb968(0xec)][_0xdbb968(0xf7)](_0x5b5c14[_0xdbb968(0x11f)]),this['logger']?.['info'](_0xdbb968(0xb1),{'agentId':_0x5b5c14['agentId'],'jobId':_0x5b5c14['jobId'],'messageId':_0x32ef9b['id']});}}catch(_0x1ed3c0){this['logger']?.[_0xdbb968(0x100)](_0xdbb968(0xe5),{'error':_0x1ed3c0['message'],'agentId':_0x5b5c14[_0xdbb968(0x11f)],'jobId':_0x5b5c14[_0xdbb968(0x9e)]});}}this['logger']?.['info'](_0xdbb968(0xf1)+_0x5b5c14[_0xdbb968(0x9e)],{'outputPath':_0x527be1['resolvedOutputPath']});}catch(_0x2fa6d9){this[_0xdbb968(0x113)]?.['error'](_0xdbb968(0xae)+_0x5b5c14[_0xdbb968(0x9e)],_0x2fa6d9),_0x5b5c14[_0xdbb968(0xee)]='failed',_0x5b5c14[_0xdbb968(0x100)]=_0x2fa6d9['message'],_0x5b5c14['completedAt']=new Date()['toISOString'](),this['completedJobs']['set'](_0x5b5c14['jobId'],_0x5b5c14);global[_0xdbb968(0x9a)]&&_0x5b5c14['sessionId']&&(global[_0xdbb968(0x9a)]['broadcastToSession'](_0x5b5c14['sessionId'],{'type':'imageGenerated','jobId':_0x5b5c14['jobId'],'agentId':_0x5b5c14['agentId'],'prompt':_0x5b5c14[_0xdbb968(0xe8)],'success':![],'error':_0x2fa6d9[_0xdbb968(0xdc)],'timestamp':_0x5b5c14[_0xdbb968(0x10f)]}),this['logger']?.[_0xdbb968(0xea)](_0xdbb968(0xaa),{'jobId':_0x5b5c14[_0xdbb968(0x9e)],'sessionId':_0x5b5c14[_0xdbb968(0xba)],'error':_0x2fa6d9[_0xdbb968(0xdc)]}));if(this['agentPool']&&_0x5b5c14['agentId'])try{const _0x43304e=await this['agentPool'][_0xdbb968(0xfe)](_0x5b5c14[_0xdbb968(0x11f)]);if(_0x43304e){const _0x752e2c={'id':_0xdbb968(0xf3)+_0x5b5c14['jobId'],'role':_0xdbb968(0x11c),'content':_0xdbb968(0xbd)+_0x2fa6d9['message']+_0xdbb968(0xa2)+_0x5b5c14['prompt'],'timestamp':_0x5b5c14[_0xdbb968(0x10f)],'type':_0xdbb968(0x100),'toolId':_0xdbb968(0xb3),'status':'failed','jobId':_0x5b5c14[_0xdbb968(0x9e)]};_0x43304e['conversations']['full']['messages'][_0xdbb968(0xf0)](_0x752e2c),_0x43304e['conversations']['full'][_0xdbb968(0x116)]=_0x5b5c14[_0xdbb968(0x10f)],_0x43304e[_0xdbb968(0xb7)]&&_0x43304e[_0xdbb968(0xd1)][_0x43304e[_0xdbb968(0xb7)]]&&(_0x43304e['conversations'][_0x43304e['currentModel']]['messages']['push'](_0x752e2c),_0x43304e[_0xdbb968(0xd1)][_0x43304e['currentModel']]['lastUpdated']=_0x5b5c14[_0xdbb968(0x10f)]),_0x43304e['lastActivity']=_0x5b5c14[_0xdbb968(0x10f)],await this[_0xdbb968(0xec)]['persistAgentState'](_0x5b5c14[_0xdbb968(0x11f)]),this['logger']?.['info']('Image\x20error\x20saved\x20to\x20conversation\x20history',{'agentId':_0x5b5c14['agentId'],'jobId':_0x5b5c14[_0xdbb968(0x9e)],'error':_0x2fa6d9['message']});}}catch(_0x22a0d1){this[_0xdbb968(0x113)]?.['error'](_0xdbb968(0xcf),{'error':_0x22a0d1['message'],'agentId':_0x5b5c14[_0xdbb968(0x11f)],'jobId':_0x5b5c14[_0xdbb968(0x9e)]});}}}this['isProcessing']=![],this[_0xdbb968(0x111)]=null;}async[a0_0x3fed8c(0x103)](_0x3c1a94){const _0x3aa4ff=a0_0x3fed8c;if(!this['aiService'])throw new Error(_0x3aa4ff(0xb2));const _0x8e6955=await this['_resolveOutputPath'](_0x3c1a94),_0x1f60ea=a0_0x5b5c4a[_0x3aa4ff(0xe2)](_0x8e6955);await a0_0xe9ed89['mkdir'](_0x1f60ea,{'recursive':!![]}),this[_0x3aa4ff(0x113)]?.['info'](_0x3aa4ff(0xa4)+_0x3c1a94[_0x3aa4ff(0xf2)],{'size':_0x3c1a94[_0x3aa4ff(0x127)],'quality':_0x3c1a94[_0x3aa4ff(0xa1)]});const _0x510208={'model':_0x3c1a94[_0x3aa4ff(0xf2)],'size':_0x3c1a94['size'],'quality':_0x3c1a94[_0x3aa4ff(0xa1)],'responseFormat':'url','sessionId':_0x3c1a94['sessionId']},_0x566543=await this['aiService']['generateImage'](_0x3c1a94['prompt'],_0x510208),_0x4a65ac=_0x566543?.['url']||_0x566543?.['imageUrl'];if(!_0x4a65ac)throw new Error('No image URL received from AI service');this['logger']?.['info'](_0x3aa4ff(0x108)+_0x4a65ac['substring'](0x0,0x32)+_0x3aa4ff(0xa5));let _0x1a87f7=![],_0x4d4e81=null;try{await this['_downloadImage'](_0x4a65ac,_0x8e6955),_0x1a87f7=!![],!_0x3c1a94[_0x3aa4ff(0x120)]&&this[_0x3aa4ff(0x9c)](_0x8e6955,_0x3c1a94['jobId']);}catch(_0x5cae3d){_0x4d4e81=_0x5cae3d[_0x3aa4ff(0xdc)],this['logger']?.['warn']('Failed\x20to\x20save\x20image\x20to\x20disk,\x20will\x20use\x20temporary\x20URL:\x20'+_0x5cae3d[_0x3aa4ff(0xdc)]);}return{'jobId':_0x3c1a94['jobId'],'prompt':_0x3c1a94['prompt'],'outputPath':_0x3c1a94[_0x3aa4ff(0xc6)],'resolvedOutputPath':_0x1a87f7?_0x8e6955:null,'temporaryUrl':_0x4a65ac,'savedToDisk':_0x1a87f7,'downloadError':_0x4d4e81,'success':!![],'model':_0x566543[_0x3aa4ff(0xf2)]||_0x3c1a94['model'],'size':_0x3c1a94[_0x3aa4ff(0x127)],'usage':_0x566543['usage']};}async['_resolveOutputPath'](_0x72fe3f){const _0x59f164=a0_0x3fed8c;if(_0x72fe3f[_0x59f164(0x120)]){const _0x16db94=_0x72fe3f['projectDir']||process[_0x59f164(0xfd)]();let _0x1b4fc4=_0x72fe3f['outputPath'];if(!_0x1b4fc4){const _0x47f68e=Date[_0x59f164(0xff)]();_0x1b4fc4=_0x59f164(0xe0)+_0x47f68e+_0x59f164(0x11b);}const _0x27e198=a0_0x5b5c4a['isAbsolute'](_0x1b4fc4)?a0_0x5b5c4a['normalize'](_0x1b4fc4):a0_0x5b5c4a['normalize'](a0_0x5b5c4a[_0x59f164(0xd4)](_0x16db94,_0x1b4fc4));if(!_0x27e198[_0x59f164(0x128)](a0_0x5b5c4a['normalize'](_0x16db94)))throw new Error(_0x59f164(0xd7));if(_0x72fe3f['directoryAccess']){const _0x2fa7f8=a0_0x5b5c4a[_0x59f164(0x114)](_0x16db94,_0x27e198);if(_0x2fa7f8['startsWith']('..'))throw new Error('Access\x20denied:\x20path\x20outside\x20project\x20directory');}return _0x27e198;}else{await a0_0xe9ed89['mkdir'](this[_0x59f164(0xde)],{'recursive':!![]});let _0x575a82=_0x72fe3f[_0x59f164(0xc6)]?a0_0x5b5c4a['basename'](_0x72fe3f['outputPath']):_0x59f164(0xc9)+_0x72fe3f[_0x59f164(0x9e)]+'.png';return a0_0x5b5c4a[_0x59f164(0xd4)](this['tempDir'],_0x575a82);}}async['_downloadImage'](_0x52bf62,_0x132f62){const _0x25cfde=a0_0x3fed8c;try{const _0x37b4ac=await fetch(_0x52bf62,{'signal':AbortSignal[_0x25cfde(0xe4)](IMAGE_CONFIG['DOWNLOAD_TIMEOUT'])});if(!_0x37b4ac['ok'])throw new Error(_0x25cfde(0xe6)+_0x37b4ac[_0x25cfde(0xee)]);const _0x26e861=Buffer[_0x25cfde(0xcb)](await _0x37b4ac[_0x25cfde(0x12c)]());await a0_0xe9ed89[_0x25cfde(0x9f)](_0x132f62,_0x26e861),this['logger']?.[_0x25cfde(0xea)](_0x25cfde(0x119)+_0x132f62);}catch(_0x30b59f){if(_0x30b59f[_0x25cfde(0x124)]==='TimeoutError')throw new Error('Image\x20download\x20timeout');else{if(_0x30b59f['name']==='TypeError')throw new Error(_0x25cfde(0xe1)+_0x30b59f['message']);else throw new Error('Download\x20failed:\x20'+_0x30b59f[_0x25cfde(0xdc)]);}}}[a0_0x3fed8c(0x9c)](_0x1879bd,_0x5d8e8a){const _0x216c47=setTimeout(async()=>{const _0x4b8056=a0_0x55a3;try{await a0_0xe9ed89['unlink'](_0x1879bd),this[_0x4b8056(0x113)]?.[_0x4b8056(0xab)](_0x4b8056(0xca)+_0x1879bd),this[_0x4b8056(0xbc)]['delete'](_0x5d8e8a);}catch(_0x563e99){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this['cleanupTimers']['set'](_0x5d8e8a,_0x216c47);}['_convertToWebUrl'](_0xdf8940,_0x109e93){const _0x2fcec4=a0_0x3fed8c,_0x227d4a=a0_0x5b5c4a[_0x2fcec4(0xa7)](_0xdf8940),_0x6ed8c=global[_0x2fcec4(0x9a)]?.['port']||0x1f90;let _0x182dc6=global['loxiaWebServer']?.[_0x2fcec4(0xd0)]||'localhost';return _0x182dc6===_0x2fcec4(0xb9)&&(_0x182dc6='localhost'),_0x2fcec4(0x123)+_0x182dc6+':'+_0x6ed8c+_0x2fcec4(0xf8)+_0x109e93+'/'+_0x227d4a;}[a0_0x3fed8c(0x118)](){const _0x4dadcb=a0_0x3fed8c,_0x52f107=0x1e,_0x15500b=this['queue']['length'];if(_0x15500b===0x0)return _0x4dadcb(0xbf);const _0x3675c2=_0x15500b*_0x52f107,_0x4ca19e=Math['floor'](_0x3675c2/0x3c),_0x2836a3=_0x3675c2%0x3c;if(_0x4ca19e>0x0)return'~'+_0x4ca19e+'m\x20'+_0x2836a3+'s';return'~'+_0x2836a3+'s';}['_generateJobId'](){const _0x39a123=a0_0x3fed8c;return _0x39a123(0x129)+Date['now']()+'-'+Math['random']()[_0x39a123(0xd9)](0x24)[_0x39a123(0x107)](0x2,0x9);}[a0_0x3fed8c(0xcd)](_0x31b073){const _0x577e36=a0_0x3fed8c;if(this['completedJobs'][_0x577e36(0x101)](_0x31b073))return this[_0x577e36(0x10c)][_0x577e36(0xb0)](_0x31b073);if(this[_0x577e36(0x111)]&&this['currentJob']['jobId']===_0x31b073)return this['currentJob'];const _0x1bd0d7=this['queue']['find'](_0xcff904=>_0xcff904[_0x577e36(0x9e)]===_0x31b073);if(_0x1bd0d7)return _0x1bd0d7;return{'jobId':_0x31b073,'status':_0x577e36(0xb8)};}async['cleanup'](){const _0x2fa152=a0_0x3fed8c;this[_0x2fa152(0x113)]?.[_0x2fa152(0xea)]('Shutting\x20down\x20ImageTool');for(const _0x26aafe of this['cleanupTimers']['values']()){clearTimeout(_0x26aafe);}this[_0x2fa152(0xbc)]['clear']();for(const _0x335278 of this[_0x2fa152(0xc3)]){_0x335278[_0x2fa152(0xee)]='cancelled';}this['queue']=[];}}export default ImageTool;
@@ -1 +1 @@
1
- const a0_0x57f0e4=a0_0x174d;(function(_0x5b0d99,_0x2339e0){const _0x4c5d4b=a0_0x174d,_0x46634c=_0x5b0d99();while(!![]){try{const _0x58d34e=parseInt(_0x4c5d4b(0xe9))/0x1*(parseInt(_0x4c5d4b(0x84))/0x2)+-parseInt(_0x4c5d4b(0xe5))/0x3*(-parseInt(_0x4c5d4b(0x107))/0x4)+parseInt(_0x4c5d4b(0xc9))/0x5*(-parseInt(_0x4c5d4b(0xee))/0x6)+parseInt(_0x4c5d4b(0x8d))/0x7*(-parseInt(_0x4c5d4b(0xb0))/0x8)+parseInt(_0x4c5d4b(0x11f))/0x9*(-parseInt(_0x4c5d4b(0xf0))/0xa)+-parseInt(_0x4c5d4b(0x116))/0xb+parseInt(_0x4c5d4b(0xb3))/0xc;if(_0x58d34e===_0x2339e0)break;else _0x46634c['push'](_0x46634c['shift']());}catch(_0x20325b){_0x46634c['push'](_0x46634c['shift']());}}}(a0_0x5b97,0x900a8));import{promises as a0_0x3f6e9c}from'fs';import a0_0x343342 from'path';import{BaseTool}from'./baseTool.js';import a0_0xcd151c from'../utilities/tagParser.js';const ANALYZER_CONFIG={'DEFAULT_MODE':'full','VALID_MODES':[a0_0x57f0e4(0x9d),'quick',a0_0x57f0e4(0x11a)],'DEFAULT_OUTPUT':a0_0x57f0e4(0xe4),'VALID_OUTPUTS':['summary','detailed',a0_0x57f0e4(0xb7)],'DEFAULT_IGNORE_FILE':a0_0x57f0e4(0x10c),'MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':['.js','.mjs',a0_0x57f0e4(0xff),a0_0x57f0e4(0x111),a0_0x57f0e4(0x97)],'DEFAULT_IGNORE_PATTERNS':[a0_0x57f0e4(0x109),a0_0x57f0e4(0xf8),'dist',a0_0x57f0e4(0xb6),a0_0x57f0e4(0x102)],'FILE_READ_TIMEOUT':0x1388};export class ImportAnalyzerTool extends BaseTool{constructor(_0x1c48e5={},_0x38cc2e=null){super(_0x1c48e5,_0x38cc2e),this['id']='import-analyzer';}['getDescription'](){const _0x420329=a0_0x57f0e4;return _0x420329(0x9a);}[a0_0x57f0e4(0x115)](_0x2d6a0f){const _0x57071c=a0_0x57f0e4;if(typeof _0x2d6a0f===_0x57071c(0x125)&&_0x2d6a0f!==null)return{'path':_0x2d6a0f['path']||'.','mode':_0x2d6a0f['mode']||ANALYZER_CONFIG['DEFAULT_MODE'],'output':_0x2d6a0f['output']||ANALYZER_CONFIG[_0x57071c(0xc5)],'ignoreFile':_0x2d6a0f[_0x57071c(0xb1)]||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};if(typeof _0x2d6a0f===_0x57071c(0xf9)){const _0x2fd2ae=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x261e3a=_0x2fd2ae['exec'](_0x2d6a0f);if(_0x261e3a){const _0x29ed2e=_0x261e3a[0x1],_0x2f3dbf=_0x261e3a[0x2],_0x1d64d4=/path=["']([^"']*)["']/i[_0x57071c(0xb9)](_0x29ed2e),_0x3b77ee=/mode=["']([^"']*)["']/i[_0x57071c(0xb9)](_0x29ed2e),_0x3ee62a=/output=["']([^"']*)["']/i[_0x57071c(0xb9)](_0x29ed2e),_0x104dfc=/ignore-file=["']([^"']*)["']/i['exec'](_0x29ed2e),_0x53cbf2=/<path>(.*?)<\/path>/i,_0x3379ea=_0x53cbf2[_0x57071c(0xb9)](_0x2f3dbf),_0x25e511=/<mode>(.*?)<\/mode>/i,_0x369295=_0x25e511[_0x57071c(0xb9)](_0x2f3dbf),_0xf506af=/<output>(.*?)<\/output>/i,_0x164828=_0xf506af['exec'](_0x2f3dbf),_0x5e1b37=/<ignore-file>(.*?)<\/ignore-file>/i,_0x1bcddb=_0x5e1b37['exec'](_0x2f3dbf),_0x255a49=(_0x3379ea?_0x3379ea[0x1][_0x57071c(0xc6)]():null)||(_0x1d64d4?_0x1d64d4[0x1]:'.'),_0x51509f=(_0x369295?_0x369295[0x1]['trim']():null)||(_0x3b77ee?_0x3b77ee[0x1]:ANALYZER_CONFIG['DEFAULT_MODE']),_0x52187e=(_0x164828?_0x164828[0x1][_0x57071c(0xc6)]():null)||(_0x3ee62a?_0x3ee62a[0x1]:ANALYZER_CONFIG['DEFAULT_OUTPUT']),_0x29c8e4=(_0x1bcddb?_0x1bcddb[0x1]['trim']():null)||(_0x104dfc?_0x104dfc[0x1]:ANALYZER_CONFIG[_0x57071c(0x108)]);return{'path':_0x255a49,'mode':_0x51509f,'output':_0x52187e,'ignoreFile':_0x29c8e4};}try{const _0x3fae1c=a0_0xcd151c['parseTags'](_0x2d6a0f,'analyze');if(_0x3fae1c&&_0x3fae1c['length']>0x0){const _0x2bd9da=_0x3fae1c[0x0];return{'path':_0x2bd9da['attributes']['path']||'.','mode':_0x2bd9da['attributes'][_0x57071c(0x9f)]||ANALYZER_CONFIG[_0x57071c(0x110)],'output':_0x2bd9da[_0x57071c(0x98)][_0x57071c(0xbe)]||ANALYZER_CONFIG[_0x57071c(0xc5)],'ignoreFile':_0x2bd9da['attributes']['ignore-file']||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};}}catch(_0x3bb987){}throw new Error('Invalid import-analyzer format. Use <import-analyzer> tags or JSON format.');}throw new Error(_0x57071c(0x12b));}[a0_0x57f0e4(0xd7)](_0x621ce8){const _0x4b60a4=a0_0x57f0e4;if(!_0x621ce8||typeof _0x621ce8!=='object')throw new Error('Parameters\x20must\x20be\x20an\x20object');if(_0x621ce8[_0x4b60a4(0x124)]&&typeof _0x621ce8[_0x4b60a4(0x124)]!==_0x4b60a4(0xf9))throw new Error(_0x4b60a4(0x83));if(_0x621ce8[_0x4b60a4(0x9f)]&&!ANALYZER_CONFIG[_0x4b60a4(0xbf)][_0x4b60a4(0x93)](_0x621ce8[_0x4b60a4(0x9f)]))throw new Error('Invalid\x20mode:\x20'+_0x621ce8['mode']+_0x4b60a4(0xcb)+ANALYZER_CONFIG[_0x4b60a4(0xbf)][_0x4b60a4(0xbd)](',\x20'));if(_0x621ce8['output']&&!ANALYZER_CONFIG[_0x4b60a4(0x96)][_0x4b60a4(0x93)](_0x621ce8['output']))throw new Error(_0x4b60a4(0xfa)+_0x621ce8['output']+_0x4b60a4(0xcb)+ANALYZER_CONFIG[_0x4b60a4(0x96)]['join'](',\x20'));if(_0x621ce8['ignoreFile']&&typeof _0x621ce8[_0x4b60a4(0xb1)]!==_0x4b60a4(0xf9))throw new Error('ignoreFile\x20must\x20be\x20a\x20string');}[a0_0x57f0e4(0x85)](_0x3c801c,_0x3d1e94){const _0x48f19a=a0_0x57f0e4,{projectDir:_0x51f776,directoryAccess:_0x3e897f}=_0x3d1e94;let _0x3d8d3c=_0x51f776||process[_0x48f19a(0x12c)]();_0x3e897f&&_0x3e897f[_0x48f19a(0xe3)]&&(_0x3d8d3c=_0x3e897f[_0x48f19a(0xe3)]);const _0x34d6d8=a0_0x343342[_0x48f19a(0xf3)](_0x3c801c)?a0_0x343342['normalize'](_0x3c801c):a0_0x343342[_0x48f19a(0x128)](a0_0x343342[_0x48f19a(0xbd)](_0x3d8d3c,_0x3c801c)),_0x4505da=a0_0x343342[_0x48f19a(0x128)](_0x3d8d3c);if(!_0x34d6d8['startsWith'](_0x4505da))throw new Error('Path\x20traversal\x20detected:\x20'+_0x3c801c+_0x48f19a(0x87));return _0x34d6d8;}async['execute'](_0x5cedfd,_0x8a3717={}){const _0xf4855f=a0_0x57f0e4;try{this['_validateParameters'](_0x5cedfd);const {path:_0x4d1c47,mode:_0x2c252a,output:_0x20a1b2,ignoreFile:_0x32ec4f}=_0x5cedfd,{projectDir:_0x23c900,agentId:_0x4db24b,directoryAccess:_0x29d717}=_0x8a3717,_0x5f2a18=this[_0xf4855f(0x85)](_0x4d1c47,_0x8a3717);this['logger']?.[_0xf4855f(0xb4)](_0xf4855f(0xe1),{'mode':_0x2c252a,'resolvedPath':_0x5f2a18,'output':_0x20a1b2,'agentId':_0x4db24b});const _0x1e96bf=[];_0x1e96bf[_0xf4855f(0xea)](_0xf4855f(0x11e)+_0x5f2a18),_0x1e96bf[_0xf4855f(0xea)](_0xf4855f(0xac)+_0x2c252a),_0x1e96bf[_0xf4855f(0xea)](_0xf4855f(0x100)+_0x20a1b2+'\x0a');try{await a0_0x3f6e9c[_0xf4855f(0xba)](_0x5f2a18);}catch{return{'success':![],'error':'Path\x20does\x20not\x20exist:\x20'+_0x5f2a18,'output':_0x1e96bf[_0xf4855f(0xbd)]('\x0a')};}const _0x24992c=new ImportExportAnalyzer(_0x5f2a18,_0x32ec4f,this[_0xf4855f(0xcd)]),_0x1b684f=await _0x24992c['analyze'](_0x2c252a);let _0x116b74;switch(_0x20a1b2){case'json':_0x116b74=JSON['stringify'](_0x1b684f,null,0x2);break;case _0xf4855f(0xaa):_0x116b74=this[_0xf4855f(0xfb)](_0x1b684f),_0x1e96bf['push'](_0x116b74);break;case _0xf4855f(0xe4):default:_0x116b74=this[_0xf4855f(0x92)](_0x1b684f),_0x1e96bf[_0xf4855f(0xea)](_0x116b74);break;}return{'success':!![],'mode':_0x2c252a,'message':'Import\x20analysis\x20completed','statistics':{'totalFiles':_0x1b684f[_0xf4855f(0xe4)]['totalFiles'],'totalImports':_0x1b684f[_0xf4855f(0xe4)][_0xf4855f(0x127)],'totalExports':_0x1b684f['summary'][_0xf4855f(0x121)],'issuesFound':_0x1b684f[_0xf4855f(0xbc)][_0xf4855f(0x94)]+Object[_0xf4855f(0xc1)](_0x1b684f[_0xf4855f(0x8a)])[_0xf4855f(0x82)]((_0x422343,_0x167dbc)=>_0x422343+_0x167dbc['length'],0x0)},'output':_0x20a1b2===_0xf4855f(0xb7)?_0x116b74:_0x1e96bf[_0xf4855f(0xbd)]('\x0a'),'results':_0x1b684f};}catch(_0x1af514){return this['logger']?.[_0xf4855f(0x86)]('Import\x20analyzer\x20error:',_0x1af514),{'success':![],'error':_0x1af514[_0xf4855f(0x10d)],'output':_0x1af514['message']};}}[a0_0x57f0e4(0x92)](_0x56e3ae){const _0x236837=a0_0x57f0e4,_0x596db2=[];_0x596db2['push'](_0x236837(0x12a)),_0x596db2[_0x236837(0xea)]('================================\x0a'),_0x596db2[_0x236837(0xea)](_0x236837(0xeb)+_0x56e3ae['summary'][_0x236837(0xbb)]),_0x596db2['push'](_0x236837(0xe0)+_0x56e3ae['summary']['totalImports']),_0x596db2[_0x236837(0xea)]('📤\x20Total\x20exports:\x20'+_0x56e3ae['summary'][_0x236837(0x121)]+'\x0a');const _0x11044b=_0x56e3ae[_0x236837(0xbc)][_0x236837(0x94)],_0x237d82=Object['values'](_0x56e3ae[_0x236837(0x8a)])['reduce']((_0x5a5fb6,_0x50c257)=>_0x5a5fb6+_0x50c257['length'],0x0),_0x251121=_0x56e3ae['circularDependencies']?_0x56e3ae[_0x236837(0xc7)][_0x236837(0x94)]:0x0;return _0x11044b>0x0&&_0x596db2['push'](_0x236837(0xdf)+_0x11044b+_0x236837(0xe6)),_0x237d82>0x0&&_0x596db2[_0x236837(0xea)](_0x236837(0x89)+_0x237d82+'\x20symbols\x20not\x20exported\x20from\x20their\x20sources'),_0x251121>0x0&&_0x596db2[_0x236837(0xea)]('🔄\x20Circular\x20dependencies:\x20'+_0x251121+'\x20circular\x20dependency\x20chains\x20detected'),_0x11044b===0x0&&_0x237d82===0x0&&_0x251121===0x0?_0x596db2[_0x236837(0xea)]('\u2705 No import/export issues detected!'):(_0x596db2['push']('\x0a🔍\x20Top\x20Issues\x20to\x20Fix:'),Object['keys'](_0x56e3ae[_0x236837(0xf7)]||{})[_0x236837(0x94)]>0x0&&(_0x596db2['push']('\x0a\x20\x20Missing\x20Files:'),Object[_0x236837(0x103)](_0x56e3ae['missingFiles'])['slice'](0x0,0x3)[_0x236837(0xab)](([_0x50c9c2,_0x1532c8])=>{const _0x3e854a=_0x236837;_0x596db2[_0x3e854a(0xea)](_0x3e854a(0x11b)+_0x50c9c2+_0x3e854a(0xdc)+_0x1532c8[_0x3e854a(0x94)]+'\x20broken\x20import(s)');})),Object['keys'](_0x56e3ae['missingExports'])[_0x236837(0x94)]>0x0&&(_0x596db2[_0x236837(0xea)]('\x0a\x20\x20Missing\x20Exports:'),Object[_0x236837(0x103)](_0x56e3ae['missingExports'])['slice'](0x0,0x3)[_0x236837(0xab)](([_0x33e0bb,_0x84976d])=>{const _0x5d82e0=_0x236837;_0x596db2[_0x5d82e0(0xea)]('\x20\x20\x20\x20•\x20'+_0x33e0bb+'\x20imports\x20'+_0x84976d[_0x5d82e0(0x94)]+_0x5d82e0(0xed));})),_0x596db2['push']('\x0a💡\x20Run\x20with\x20output=\x22detailed\x22\x20for\x20complete\x20analysis\x20and\x20fix\x20suggestions')),_0x596db2[_0x236837(0xbd)]('\x0a');}[a0_0x57f0e4(0xfb)](_0x3c8950){const _0x52f08c=a0_0x57f0e4,_0x20a0c1=[];_0x20a0c1[_0x52f08c(0xea)](_0x52f08c(0xb5)),_0x20a0c1[_0x52f08c(0xea)]('=========================================\x0a'),_0x20a0c1['push']('📈\x20Statistics:'),_0x20a0c1[_0x52f08c(0xea)]('\x20\x20•\x20Files\x20analyzed:\x20'+_0x3c8950['summary']['totalFiles']),_0x20a0c1[_0x52f08c(0xea)](_0x52f08c(0xc0)+_0x3c8950['summary']['totalImports']),_0x20a0c1[_0x52f08c(0xea)]('\x20\x20•\x20Total\x20exports:\x20'+_0x3c8950['summary']['totalExports']+'\x0a');if(_0x3c8950[_0x52f08c(0xbc)]['length']>0x0){_0x20a0c1['push'](_0x52f08c(0xfd)),_0x20a0c1['push']('─────────────────');const _0x473e84={};_0x3c8950['fileNotFoundImports']['forEach'](_0x1b2478=>{const _0xbad203=_0x52f08c;!_0x473e84[_0x1b2478['importingFile']]&&(_0x473e84[_0x1b2478['importingFile']]=[]),_0x473e84[_0x1b2478[_0xbad203(0xd4)]]['push'](_0x1b2478);}),Object['entries'](_0x473e84)['forEach'](([_0x4849ff,imports])=>{const _0x103375=_0x52f08c;_0x20a0c1[_0x103375(0xea)](_0x103375(0x106)+_0x4849ff+':'),imports[_0x103375(0xab)](_0x19ee8b=>{const _0x1be23f=_0x103375,importType=_0x19ee8b[_0x1be23f(0xc3)]?'default':_0x19ee8b[_0x1be23f(0xd3)]?_0x1be23f(0xd2):'named';_0x20a0c1[_0x1be23f(0xea)]('\x20\x20\x20⚠️\x20\x20Cannot\x20find\x20file:\x20'+_0x19ee8b['importedFromFile']),_0x20a0c1['push']('\x20\x20\x20\x20\x20\x20Trying\x20to\x20import:\x20'+_0x19ee8b['importedSymbol']+'\x20('+importType+')'),_0x20a0c1[_0x1be23f(0xea)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Check\x20if\x20file\x20exists\x20or\x20correct\x20the\x20import\x20path');});});}Object[_0x52f08c(0xe7)](_0x3c8950[_0x52f08c(0x8a)])['length']>0x0&&(_0x20a0c1[_0x52f08c(0xea)]('\x0a⚠️\x20\x20MISSING\x20EXPORTS'),_0x20a0c1[_0x52f08c(0xea)]('──────────────────'),Object[_0x52f08c(0x103)](_0x3c8950[_0x52f08c(0x8a)])[_0x52f08c(0xab)](([_0x2e3691,_0x339555])=>{const _0x455403=_0x52f08c;_0x20a0c1[_0x455403(0xea)]('\x0a📄\x20'+_0x2e3691+':'),_0x339555['forEach'](_0x1eb156=>{const _0x47fd63=_0x455403,importType=_0x1eb156['isDefault']?'default':_0x1eb156['isNamespace']?'namespace':_0x47fd63(0x10a);_0x20a0c1['push'](_0x47fd63(0x81)+_0x1eb156['importedSymbol']+_0x47fd63(0xf1)+importType+')'),_0x20a0c1['push']('\x20\x20\x20\x20\x20\x20From\x20file:\x20'+_0x1eb156[_0x47fd63(0xc4)]);if(_0x1eb156[_0x47fd63(0xa7)][_0x47fd63(0x94)]>0x0){_0x20a0c1[_0x47fd63(0xea)](_0x47fd63(0xa6)+_0x1eb156['availableExports'][_0x47fd63(0xbd)](',\x20'));if(_0x1eb156[_0x47fd63(0xc3)]&&_0x1eb156[_0x47fd63(0xa7)]['includes']('default'))_0x20a0c1['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Default\x20export\x20exists,\x20check\x20import\x20syntax');else{if(_0x1eb156[_0x47fd63(0xc3)]&&!_0x1eb156['availableExports']['includes']('default'))_0x20a0c1['push'](_0x47fd63(0xdb)+(_0x1eb156[_0x47fd63(0xa7)][0x0]||_0x47fd63(0xec))+'\x20}');else{const _0x21a44e=_0x1eb156[_0x47fd63(0xa7)]['find'](_0x5b4e0b=>_0x5b4e0b[_0x47fd63(0xcc)]()===_0x1eb156[_0x47fd63(0x118)]['toLowerCase']());_0x21a44e?_0x20a0c1[_0x47fd63(0xea)](_0x47fd63(0x8f)+_0x21a44e+'\x22?\x20(case\x20mismatch)'):_0x20a0c1['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20export\x20for\x20\x22'+_0x1eb156[_0x47fd63(0x118)]+_0x47fd63(0xf6));}}}else _0x20a0c1['push'](_0x47fd63(0x11c)),_0x20a0c1[_0x47fd63(0xea)](_0x47fd63(0x10e)+_0x1eb156[_0x47fd63(0xc4)]+_0x47fd63(0xa0));});}));_0x3c8950[_0x52f08c(0xc7)]&&_0x3c8950[_0x52f08c(0xc7)]['length']>0x0&&(_0x20a0c1['push'](_0x52f08c(0x90)),_0x20a0c1['push']('────────────────────────'),_0x3c8950[_0x52f08c(0xc7)][_0x52f08c(0xab)]((_0x5d9021,_0x29380d)=>{const _0x262656=_0x52f08c;_0x20a0c1['push'](_0x262656(0x119)+(_0x29380d+0x1)+':'),_0x5d9021[_0x262656(0xab)]((_0x5052fe,_0x549894)=>{_0x549894<_0x5d9021['length']-0x1&&_0x20a0c1['push']('\x20\x20\x20\x20'+_0x5052fe+'\x20→\x20'+_0x5d9021[_0x549894+0x1]);}),_0x20a0c1[_0x262656(0xea)](_0x262656(0x95));}));_0x3c8950['unusedExports']&&Object[_0x52f08c(0xe7)](_0x3c8950['unusedExports'])[_0x52f08c(0x94)]>0x0&&(_0x20a0c1['push'](_0x52f08c(0x101)),_0x20a0c1[_0x52f08c(0xea)]('──────────────────────────────'),Object[_0x52f08c(0x103)](_0x3c8950[_0x52f08c(0xd1)])[_0x52f08c(0xa5)](0x0,0xa)[_0x52f08c(0xab)](([_0x257ce0,exports])=>{const _0x1dc092=_0x52f08c;_0x20a0c1['push'](_0x1dc092(0x106)+_0x257ce0+':'),_0x20a0c1['push'](_0x1dc092(0xf5)+exports[_0x1dc092(0xbd)](',\x20'));}),_0x20a0c1[_0x52f08c(0xea)]('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x20a0c1['push']('\x20\x20\x20\x20\x20\x20They\x20might\x20be\x20used\x20by\x20external\x20packages\x20or\x20could\x20be\x20removed'));_0x20a0c1[_0x52f08c(0xea)]('\x0a📋\x20RECOMMENDATIONS'),_0x20a0c1['push']('──────────────────');const _0x2e63d4=_0x3c8950[_0x52f08c(0xbc)]['length']+Object['values'](_0x3c8950[_0x52f08c(0x8a)])[_0x52f08c(0x82)]((_0x2ecabc,_0x1410e0)=>_0x2ecabc+_0x1410e0[_0x52f08c(0x94)],0x0);return _0x2e63d4===0x0?_0x20a0c1['push']('\u2705 Your import/export structure looks good!'):(_0x20a0c1['push']('Found\x20'+_0x2e63d4+_0x52f08c(0xb2)),_0x3c8950[_0x52f08c(0xbc)][_0x52f08c(0x94)]>0x0&&_0x20a0c1[_0x52f08c(0xea)]('\x20\x201.\x20Fix\x20'+_0x3c8950['fileNotFoundImports'][_0x52f08c(0x94)]+_0x52f08c(0x104)),Object[_0x52f08c(0xe7)](_0x3c8950[_0x52f08c(0x8a)])[_0x52f08c(0x94)]>0x0&&_0x20a0c1[_0x52f08c(0xea)]('\x20\x202.\x20Resolve\x20'+Object['values'](_0x3c8950['missingExports'])['reduce']((_0x151b58,_0x21ad22)=>_0x151b58+_0x21ad22['length'],0x0)+_0x52f08c(0xd8)),_0x3c8950['circularDependencies']&&_0x3c8950['circularDependencies']['length']>0x0&&_0x20a0c1['push']('\x20\x203.\x20Refactor\x20'+_0x3c8950[_0x52f08c(0xc7)]['length']+'\x20circular\x20dependency\x20chain(s)')),_0x20a0c1[_0x52f08c(0xbd)]('\x0a');}}class ImportExportAnalyzer{constructor(_0x186421,_0x4a26c9='.gitignore',_0x25258f=null){const _0x457b93=a0_0x57f0e4;this[_0x457b93(0xf4)]=a0_0x343342['resolve'](_0x186421),this[_0x457b93(0xb1)]=_0x4a26c9,this[_0x457b93(0xcd)]=_0x25258f,this['ignorePatterns']=[...ANALYZER_CONFIG[_0x457b93(0xa1)]],this['imports']=[],this[_0x457b93(0xc2)]=new Map(),this[_0x457b93(0xde)]=new Map();}async[a0_0x57f0e4(0xa8)](){const _0x3cddda=a0_0x57f0e4;try{const _0x4dd791=a0_0x343342['join'](this[_0x3cddda(0xf4)],this[_0x3cddda(0xb1)]),_0x5e1c71=await a0_0x3f6e9c['readFile'](_0x4dd791,'utf-8'),_0x557ea5=_0x5e1c71['split']('\x0a')['map'](_0x17252e=>_0x17252e[_0x3cddda(0xc6)]())[_0x3cddda(0xa9)](_0x3c9241=>_0x3c9241&&!_0x3c9241[_0x3cddda(0x122)]('#'));this[_0x3cddda(0x120)]['push'](..._0x557ea5),this['logger']?.[_0x3cddda(0xa4)](_0x3cddda(0xd0),{'count':_0x557ea5[_0x3cddda(0x94)]});}catch{this['logger']?.['debug']('No ignore file found, using defaults');}}['shouldIgnoreFile'](_0x410092){const _0x4c2c78=a0_0x57f0e4,_0x23dbbc=a0_0x343342[_0x4c2c78(0xef)](this['rootDir'],_0x410092);return this['ignorePatterns'][_0x4c2c78(0xc8)](_0x2c3f02=>{const _0x5c8928=_0x4c2c78;if(_0x2c3f02['includes']('*')){const _0x5c0baa=new RegExp(_0x2c3f02['replace'](/\*/g,'.*'));return _0x5c0baa['test'](_0x23dbbc)||_0x5c0baa['test'](a0_0x343342['basename'](_0x410092));}return _0x23dbbc[_0x5c8928(0x93)](_0x2c3f02)||a0_0x343342[_0x5c8928(0x112)](_0x410092)===_0x2c3f02;});}async[a0_0x57f0e4(0xcf)](_0x279109){const _0x34ff69=a0_0x57f0e4,_0x857dc=[],_0x1f4102=async _0xc3d3f4=>{const _0x4a44d7=a0_0x174d;try{const _0x207f6e=await a0_0x3f6e9c['readdir'](_0xc3d3f4,{'withFileTypes':!![]});for(const _0x438db5 of _0x207f6e){const _0x5378f3=a0_0x343342['join'](_0xc3d3f4,_0x438db5['name']);if(this[_0x4a44d7(0xa2)](_0x5378f3))continue;if(_0x438db5['isDirectory']())await _0x1f4102(_0x5378f3);else{if(_0x438db5[_0x4a44d7(0xaf)]()){const _0x53c812=a0_0x343342[_0x4a44d7(0xfe)](_0x438db5[_0x4a44d7(0x88)]);ANALYZER_CONFIG[_0x4a44d7(0xe8)][_0x4a44d7(0x93)](_0x53c812)&&_0x857dc['push'](_0x5378f3);}}}}catch(_0x291dc9){this[_0x4a44d7(0xcd)]?.[_0x4a44d7(0x8e)](_0x4a44d7(0xd6),{'dir':_0xc3d3f4,'error':_0x291dc9['message']});}};await _0x1f4102(_0x279109);if(_0x857dc['length']>ANALYZER_CONFIG['MAX_FILES']){this[_0x34ff69(0xcd)]?.['warn']('File\x20count\x20exceeds\x20limit:\x20'+_0x857dc[_0x34ff69(0x94)]+'\x20>\x20'+ANALYZER_CONFIG[_0x34ff69(0xd5)]);throw new Error(_0x34ff69(0xa3)+_0x857dc[_0x34ff69(0x94)]+_0x34ff69(0xfc)+ANALYZER_CONFIG[_0x34ff69(0xd5)]+')');}return _0x857dc;}async[a0_0x57f0e4(0x126)](_0x1c78b1,_0x20f80e){const _0x41a9ec=a0_0x57f0e4,imports=[],_0x3d2634=_0x1c78b1['split']('\x0a'),_0x5462e0=this['getRelativePath'](_0x20f80e);!this[_0x41a9ec(0xde)]['has'](_0x5462e0)&&this[_0x41a9ec(0xde)]['set'](_0x5462e0,new Set());for(let _0x14ec8a=0x0;_0x14ec8a<_0x3d2634['length'];_0x14ec8a++){const _0x2f1788=_0x3d2634[_0x14ec8a][_0x41a9ec(0xc6)]();if(_0x2f1788[_0x41a9ec(0x122)]('//')||_0x2f1788['startsWith']('/*'))continue;let _0x349087=_0x2f1788,_0x59284c=_0x14ec8a;while(!_0x349087[_0x41a9ec(0x93)](';')&&!_0x349087['match'](/from\s+['"`][^'"`]+['"`]/)&&_0x59284c<_0x3d2634['length']-0x1){_0x59284c++;const _0x14d656=_0x3d2634[_0x59284c][_0x41a9ec(0xc6)]();if(_0x14d656['startsWith']('//')||_0x14d656[_0x41a9ec(0x122)]('/*'))continue;_0x349087+='\x20'+_0x14d656;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0x5b078c;while((_0x5b078c=importRegex['exec'](_0x349087))!==null){const [,_0x4a52df,defaultImport,_0xfecde8,_0x1ff8ef,_0x40a7b4]=_0x5b078c,_0x2c440a=await this[_0x41a9ec(0x105)](_0x40a7b4,_0x20f80e);!_0x2c440a[_0x41a9ec(0x114)]&&_0x2c440a[_0x41a9ec(0xf2)]&&this[_0x41a9ec(0xde)]['get'](_0x5462e0)['add'](_0x2c440a[_0x41a9ec(0x124)]);defaultImport&&imports['push']({'importingFile':_0x5462e0,'importedSymbol':defaultImport['trim'](),'importedFromFile':_0x2c440a[_0x41a9ec(0x124)],'fileExists':_0x2c440a[_0x41a9ec(0xf2)],'isExternal':_0x2c440a[_0x41a9ec(0x114)]||![],'isDefault':!![]});_0x1ff8ef&&imports[_0x41a9ec(0xea)]({'importingFile':_0x5462e0,'importedSymbol':_0x1ff8ef['trim'](),'importedFromFile':_0x2c440a[_0x41a9ec(0x124)],'fileExists':_0x2c440a[_0x41a9ec(0xf2)],'isExternal':_0x2c440a[_0x41a9ec(0x114)]||![],'isNamespace':!![]});const _0x2694ad=[_0x4a52df,_0xfecde8]['filter'](Boolean)['join'](',');if(_0x2694ad){const _0x458a82=_0x2694ad['split'](',')['map'](_0x32ea45=>{const _0x17aa5e=_0x41a9ec,_0x518739=_0x32ea45[_0x17aa5e(0xc6)]()[_0x17aa5e(0x123)](/\s+as\s+/);return _0x518739[0x0][_0x17aa5e(0xc6)]();});_0x458a82[_0x41a9ec(0xab)](_0x1fd68f=>{const _0x3ea912=_0x41a9ec;_0x1fd68f&&imports['push']({'importingFile':_0x5462e0,'importedSymbol':_0x1fd68f,'importedFromFile':_0x2c440a[_0x3ea912(0x124)],'fileExists':_0x2c440a[_0x3ea912(0xf2)],'isExternal':_0x2c440a[_0x3ea912(0x114)]||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0x5b078c=requireRegex[_0x41a9ec(0xb9)](_0x349087))!==null){const [,_0x59a40d,_0x54bb66,_0x96a56c]=_0x5b078c,_0x4d6500=await this[_0x41a9ec(0x105)](_0x96a56c,_0x20f80e);!_0x4d6500[_0x41a9ec(0x114)]&&_0x4d6500['exists']&&this[_0x41a9ec(0xde)][_0x41a9ec(0x10f)](_0x5462e0)[_0x41a9ec(0x99)](_0x4d6500[_0x41a9ec(0x124)]);if(_0x59a40d){const _0x68600=_0x59a40d[_0x41a9ec(0x123)](',')['map'](_0x55fef5=>_0x55fef5['trim']()['split'](':')[0x0][_0x41a9ec(0xc6)]());_0x68600['forEach'](_0x35954f=>{const _0x21f1c6=_0x41a9ec;_0x35954f&&imports[_0x21f1c6(0xea)]({'importingFile':_0x5462e0,'importedSymbol':_0x35954f,'importedFromFile':_0x4d6500[_0x21f1c6(0x124)],'fileExists':_0x4d6500['exists'],'isExternal':_0x4d6500[_0x21f1c6(0x114)]||![],'isDefault':![]});});}else _0x54bb66&&imports['push']({'importingFile':_0x5462e0,'importedSymbol':_0x54bb66[_0x41a9ec(0xc6)](),'importedFromFile':_0x4d6500['path'],'fileExists':_0x4d6500[_0x41a9ec(0xf2)],'isExternal':_0x4d6500[_0x41a9ec(0x114)]||![],'isDefault':!![]});}_0x14ec8a=_0x59284c;}return imports;}['parseExports'](_0x570940){const _0x5dc119=a0_0x57f0e4,exports=new Set(),_0x35f482=_0x570940['split']('\x0a');for(const _0x148482 of _0x35f482){const _0x309f12=_0x148482[_0x5dc119(0xc6)]();if(_0x309f12['startsWith']('//')||_0x309f12['startsWith']('/*'))continue;/export\s+default\s+/[_0x5dc119(0xb8)](_0x309f12)&&exports['add']('default');const _0x185974=_0x309f12['match'](/export\s+\{([^}]+)\}/);if(_0x185974){const _0x12faca=_0x185974[0x1][_0x5dc119(0x123)](',')['map'](_0x3cbdec=>{const _0x3e2b3e=_0x5dc119,_0x4640e4=_0x3cbdec[_0x3e2b3e(0xc6)]()['split'](/\s+as\s+/);return _0x4640e4[_0x4640e4['length']-0x1]['trim']();});_0x12faca[_0x5dc119(0xab)](_0x3679e8=>exports['add'](_0x3679e8));}const _0x21abb9=_0x309f12['match'](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x21abb9&&exports[_0x5dc119(0x99)](_0x21abb9[0x1]);const exportFromMatch=_0x309f12['match'](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0xd40201=exportFromMatch[0x1][_0x5dc119(0x123)](',')['map'](_0x1b6fcf=>{const _0x41b658=_0x5dc119,_0xd2305c=_0x1b6fcf['trim']()['split'](/\s+as\s+/);return _0xd2305c[_0xd2305c[_0x41b658(0x94)]-0x1]['trim']();});_0xd40201['forEach'](_0x4f6d5f=>exports[_0x5dc119(0x99)](_0x4f6d5f));}/export\s+\*\s+from/[_0x5dc119(0xb8)](_0x309f12)&&exports[_0x5dc119(0x99)]('*');const moduleExportsMatch=_0x309f12[_0x5dc119(0xce)](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x2fe123=moduleExportsMatch[0x1]['split'](',')['map'](_0x38a13d=>{const _0x7c24ba=_0x5dc119,_0x2a692c=_0x38a13d[_0x7c24ba(0xc6)]()['split'](':');return _0x2a692c[0x0]['trim']();});_0x2fe123['forEach'](_0x252d43=>exports[_0x5dc119(0x99)](_0x252d43));}/module\.exports\s*=\s*[^{]/['test'](_0x309f12)&&exports['add']('default');const moduleExportsPropMatch=_0x309f12['match'](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports['add'](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0x309f12['match'](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports['add'](exportsPropMatch[0x1]);}return exports;}async[a0_0x57f0e4(0x105)](importPath,_0xf0cbb){const _0x265cd3=a0_0x57f0e4;if(importPath['startsWith']('.')){const _0x5ad550=a0_0x343342['dirname'](_0xf0cbb),_0x250055=a0_0x343342['resolve'](_0x5ad550,importPath);if(a0_0x343342[_0x265cd3(0xfe)](importPath))try{const _0x74836a=await a0_0x3f6e9c[_0x265cd3(0xdd)](_0x250055);if(_0x74836a[_0x265cd3(0xaf)]())return{'path':this['getRelativePath'](_0x250055),'exists':!![]};}catch{}const _0xb9cada=['','.js','.mjs',_0x265cd3(0xff),'.jsx',_0x265cd3(0x97),_0x265cd3(0xca),_0x265cd3(0x91),_0x265cd3(0xad),_0x265cd3(0x9b)];for(const _0x1d02db of _0xb9cada){const _0x469470=_0x250055+_0x1d02db;try{const _0x328820=await a0_0x3f6e9c['stat'](_0x469470);if(_0x328820['isFile']())return{'path':this['getRelativePath'](_0x469470),'exists':!![]};}catch{}}return{'path':this['getRelativePath'](_0x250055),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}[a0_0x57f0e4(0x10b)](_0x14fef7){const _0x1543c0=a0_0x57f0e4;return a0_0x343342['relative'](this[_0x1543c0(0xf4)],_0x14fef7)['replace'](/\\/g,'/');}['findCircularDependencies'](){const _0x272c21=a0_0x57f0e4,_0x428b5c=[],_0x4767a5=new Set(),_0x473893=new Set(),_0x3cc154=(_0x4f6fe7,_0x248c66=[])=>{const _0x170664=a0_0x174d;if(_0x473893[_0x170664(0x117)](_0x4f6fe7)){const _0x94329e=_0x248c66[_0x170664(0xe2)](_0x4f6fe7);_0x94329e!==-0x1&&_0x428b5c['push']([..._0x248c66['slice'](_0x94329e),_0x4f6fe7]);return;}if(_0x4767a5[_0x170664(0x117)](_0x4f6fe7))return;_0x4767a5['add'](_0x4f6fe7),_0x473893[_0x170664(0x99)](_0x4f6fe7),_0x248c66[_0x170664(0xea)](_0x4f6fe7);const _0x8284e9=this['dependencies']['get'](_0x4f6fe7)||new Set();for(const _0x31c719 of _0x8284e9){_0x3cc154(_0x31c719,[..._0x248c66]);}_0x473893['delete'](_0x4f6fe7);};for(const _0x4f58d0 of this[_0x272c21(0xde)]['keys']()){!_0x4767a5[_0x272c21(0x117)](_0x4f58d0)&&_0x3cc154(_0x4f58d0);}return _0x428b5c;}[a0_0x57f0e4(0x8b)](){const _0x1e1468=a0_0x57f0e4,_0x39af3f=new Map();for(const _0xd9a3d5 of this['imports']){!_0xd9a3d5[_0x1e1468(0x114)]&&(!_0x39af3f[_0x1e1468(0x117)](_0xd9a3d5['importedFromFile'])&&_0x39af3f[_0x1e1468(0xda)](_0xd9a3d5['importedFromFile'],new Set()),_0x39af3f[_0x1e1468(0x10f)](_0xd9a3d5[_0x1e1468(0xc4)])['add'](_0xd9a3d5[_0x1e1468(0x118)]));}const _0x297a8e={};for(const [_0x4f11c6,exports]of this['exports']['entries']()){const _0x2573ff=_0x39af3f['get'](_0x4f11c6)||new Set(),_0x571593=Array[_0x1e1468(0x11d)](exports)[_0x1e1468(0xa9)](_0x2e59bc=>!_0x2573ff['has'](_0x2e59bc)&&_0x2e59bc!=='*');_0x571593['length']>0x0&&(_0x297a8e[_0x4f11c6]=_0x571593);}return _0x297a8e;}async['analyze'](_0x5af4aa='full'){const _0xe8b62f=a0_0x57f0e4;this[_0xe8b62f(0xcd)]?.['info']('Starting import analysis',{'mode':_0x5af4aa,'rootDir':this['rootDir']}),await this['loadIgnoreFile']();const _0x32b823=await this['getAllFiles'](this['rootDir']);this[_0xe8b62f(0xcd)]?.['info']('Found\x20files',{'count':_0x32b823[_0xe8b62f(0x94)]});for(const _0x3c746d of _0x32b823){try{const _0x349f11=await a0_0x3f6e9c[_0xe8b62f(0xd9)](_0x3c746d,_0xe8b62f(0xae)),_0x450fdb=this[_0xe8b62f(0x10b)](_0x3c746d),_0x552200=await this[_0xe8b62f(0x126)](_0x349f11,_0x3c746d);this['imports']['push'](..._0x552200);const _0x52876a=this[_0xe8b62f(0x9c)](_0x349f11);this['exports'][_0xe8b62f(0xda)](_0x450fdb,_0x52876a);}catch(_0x4da499){this['logger']?.[_0xe8b62f(0x8e)](_0xe8b62f(0x129),{'file':_0x3c746d,'error':_0x4da499['message']});}}this[_0xe8b62f(0xcd)]?.[_0xe8b62f(0xb4)]('Parsed\x20all\x20files',{'imports':this['imports']['length'],'exports':this['exports']['size']});const _0x2a4440={'summary':{'totalFiles':_0x32b823['length'],'totalImports':this[_0xe8b62f(0x113)][_0xe8b62f(0x94)],'totalExports':Array[_0xe8b62f(0x11d)](this['exports'][_0xe8b62f(0xc1)]())['reduce']((_0x2b59be,exports)=>_0x2b59be+exports['size'],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this[_0xe8b62f(0x113)]){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0x41494d,isNamespace:_0x4606bf,fileExists:_0x56c9ce,isExternal:_0x480e79}=importEntry;if(!_0x56c9ce&&!_0x480e79){_0x2a4440['fileNotFoundImports'][_0xe8b62f(0xea)]({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0x41494d||![],'isNamespace':_0x4606bf||![]});!_0x2a4440['missingFiles'][importingFile]&&(_0x2a4440['missingFiles'][importingFile]=[]);_0x2a4440['missingFiles'][importingFile][_0xe8b62f(0xea)]({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0x41494d||![],'isNamespace':_0x4606bf||![]});continue;}if(_0x480e79)continue;const exportingFileExports=this['exports'][_0xe8b62f(0x10f)](importedFromFile);let _0x388dd8=![];if(exportingFileExports){if(_0x4606bf)_0x388dd8=exportingFileExports['size']>0x0;else _0x41494d?_0x388dd8=exportingFileExports['has']('default'):_0x388dd8=exportingFileExports['has'](importedSymbol)||exportingFileExports[_0xe8b62f(0x117)]('*');}!_0x388dd8&&(!_0x2a4440[_0xe8b62f(0x8a)][importingFile]&&(_0x2a4440['missingExports'][importingFile]=[]),_0x2a4440[_0xe8b62f(0x8a)][importingFile]['push']({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array['from'](exportingFileExports):[],'isDefault':_0x41494d||![],'isNamespace':_0x4606bf||![]}));}return(_0x5af4aa==='full'||_0x5af4aa===_0xe8b62f(0x11a))&&(this[_0xe8b62f(0xcd)]?.['info'](_0xe8b62f(0x8c)),_0x2a4440[_0xe8b62f(0xc7)]=this['findCircularDependencies'](),_0x2a4440['unusedExports']=this['findUnusedExports']()),this['logger']?.[_0xe8b62f(0xb4)](_0xe8b62f(0x9e),{'missingFiles':_0x2a4440[_0xe8b62f(0xbc)][_0xe8b62f(0x94)],'missingExports':Object[_0xe8b62f(0xe7)](_0x2a4440[_0xe8b62f(0x8a)])['length']}),_0x2a4440;}}function a0_0x174d(_0x35c63d,_0x47d8b6){_0x35c63d=_0x35c63d-0x81;const _0x5b9734=a0_0x5b97();let _0x174d24=_0x5b9734[_0x35c63d];if(a0_0x174d['DFoVDs']===undefined){var _0x2e479f=function(_0xcd8d9b){const _0x53f707='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f6e9c='',_0x343342='';for(let _0xcd151c=0x0,_0x1c48e5,_0x38cc2e,_0x2d6a0f=0x0;_0x38cc2e=_0xcd8d9b['charAt'](_0x2d6a0f++);~_0x38cc2e&&(_0x1c48e5=_0xcd151c%0x4?_0x1c48e5*0x40+_0x38cc2e:_0x38cc2e,_0xcd151c++%0x4)?_0x3f6e9c+=String['fromCharCode'](0xff&_0x1c48e5>>(-0x2*_0xcd151c&0x6)):0x0){_0x38cc2e=_0x53f707['indexOf'](_0x38cc2e);}for(let _0x2fd2ae=0x0,_0x261e3a=_0x3f6e9c['length'];_0x2fd2ae<_0x261e3a;_0x2fd2ae++){_0x343342+='%'+('00'+_0x3f6e9c['charCodeAt'](_0x2fd2ae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x343342);};a0_0x174d['KautOg']=_0x2e479f,a0_0x174d['PRolSZ']={},a0_0x174d['DFoVDs']=!![];}const _0x239c29=_0x5b9734[0x0],_0x599f75=_0x35c63d+_0x239c29,_0x154fe2=a0_0x174d['PRolSZ'][_0x599f75];return!_0x154fe2?(_0x174d24=a0_0x174d['KautOg'](_0x174d24),a0_0x174d['PRolSZ'][_0x599f75]=_0x174d24):_0x174d24=_0x154fe2,_0x174d24;}export default ImportAnalyzerTool;function a0_0x5b97(){const _0x474116=['z2v0uMvSyxrPDMvqyxrO','lMDPDgLNBM9Yzq','BwvZC2fNzq','icaGicaG8j+sOsbgAxG6iefKzcbLEhbVCNrZihrVia','z2v0','revgqvvmvf9nt0rf','lMPZEa','yMfZzw5HBwu','Aw1WB3j0CW','AxnfEhrLCM5HBa','CgfYC2vqyxjHBwv0zxjZ','ndCZodq1owTWuffYyq','AgfZ','Aw1WB3j0zwrtEw1IB2W','cIaGq3LJBguG','zML4','icaGiokaOIa','icaGicaG8j+tPcboBYbLEhbVCNrZigzVDw5KigLUihrHCMDLDcbMAwXL','zNjVBq','8j+uJsbbBMfSExPPBMCGAw1WB3j0CYbPBJOG','mtH0uur0z3u','AwDUB3jLugf0DgvYBNm','Dg90ywXfEhbVCNrZ','C3rHCNrZv2L0Aa','C3bSAxq','Cgf0Aa','B2jQzwn0','CgfYC2vjBxbVCNrZ','Dg90ywXjBxbVCNrZ','BM9YBwfSAxPL','rxjYB3iGCgfYC2LUzYbMAwXL','8j+tIIbjBxbVCNqVrxHWB3j0iefUywX5C2LZifn1Bw1HCNK','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0lIbfEhbLy3rLzcbZDhjPBMCGkfHntcKGB3iGB2jQzwn0icHku09oks4','y3DK','icaG4P2mifn5BwjVBcbUB3qGzxHWB3j0zwq6ici','CMvKDwnL','Cgf0AcbTDxn0igjLigeGC3rYAw5N','mKj4shftvW','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','zxjYB3i','ihjLC29SDMvZig91DhnPzguGD29YA2LUzYbKAxjLy3rVCNK','BMfTzq','4PQG77IpicbnAxnZAw5Nigv4Cg9YDhm6ia','BwLZC2LUz0v4Cg9YDhm','zMLUzfvUDxnLzev4Cg9YDhm','uNvUBMLUzYbMDwXSigfUywX5C2LZ','mtG4odG5nePYsfrVDa','D2fYBG','icaGicaG8j+sOsbgAxG6ierPzcb5B3uGBwvHBIaI','cVcFLiqGq0Lsq1vmqviGrevqru5eru5dsuvt','l2LUzgv4lNrZ','x2zVCM1HDfn1Bw1HCNLpDxrWDxq','Aw5JBhvKzxm','BgvUz3rO','icaGipcFKQeGrML4oIbszwzHy3rVCIb0BYbICMvHAYb0AguGy2LYy3vSyxiGzgvWzw5Kzw5JEq','vKfmsurFt1vuufvuuW','lNrZEa','yxr0CMLIDxrLCW','ywrK','vg9VBdOGsw1WB3j0iefUywX5EMvYic0Gqw5HBhL6zsbkyxzHu2nYAxb0l1r5Cgvty3jPChqGAw1WB3j0CYbHBMqGzxHWB3j0CWOkkIPqDxjWB3nLoIOQiefUywX5EMvZiePHDMfty3jPChqVvhLWzvnJCMLWDcbWCM9Qzwn0CYb0BYbKzxrLy3qGyNjVA2vUigLTCg9YDhmSig1PC3nPBMCGzxHWB3j0CYWGy2LYy3vSyxiGzgvWzw5Kzw5JAwvZlcbHBMqGDw51C2vKigv4Cg9YDhmUcGOQkLvtquDfoIOQcMbGygPZB24kEWOGicj0B29SswqIoIaIAw1WB3j0lwfUywX5EMvYiIWkicaICgfYyw1LDgvYCYi6ihSkicaGicjWyxrOiJOGiI4VC3jJiIWkicaGicjTB2rLiJOGiMz1BgWIlaOGicaGiM91Dhb1Dci6icjZDw1Tyxj5iIWkicaGicjPz25VCMvgAwXLiJOGiI5NAxrPz25VCMuIcIaGFqP9cMbGyaOkkIPqyxjHBwv0zxjZoIOQcI0GkIPWyxrOkIOGkhn0CMLUzYWGB3b0Aw9UywWPoIbqyxrOihrVigrPCMvJDg9YEsb0BYbHBMfSExPLlIbezwzHDwX0oIaIlIiklsaQkM1VzguQkIaOC3rYAw5NlcbVChrPB25HBcK6iefUywX5C2LZig1VzguUie9WDgLVBNm6cIaGlsaIzNvSBciGlsbdB21WBgv0zsbHBMfSExnPCYaOzgvMyxvSDcKkicaTicjXDwLJAYiGlsbgyxn0ihnJyw4GzM9Yig1PC3nPBMCGzMLSzxmGB25SEqOGic0GiMzPEciGlsbjBMnSDwrLCYbMAxGGC3vNz2vZDgLVBNmklsaQkM91Dhb1DcOQicHZDhjPBMCSig9WDgLVBMfSktOGt3v0Chv0igzVCM1HDc4Gt3b0Aw9UCZOkicaTicjZDw1Tyxj5iIaTienVBMnPC2uGC3vTBwfYEsaOzgvMyxvSDcKkicaTicjKzxrHAwXLzciGlsbgDwXSihjLCg9YDcb3AxrOigzPEgvZcIaGlsaIANnVBIiGlsbnywnOAw5LlxjLywrHyMXLigzVCM1HDaOTicOQAwDUB3jLrMLSzsOQicHZDhjPBMCSig9WDgLVBMfSktOGswDUB3jLigzPBguGBMfTzs4GrgvMyxvSDdOGiI5NAxrPz25VCMuIcGOQkLDOyxqGsxqGrgv0zwn0CZOQkGOTie1PC3nPBMCGzMLSzxmGkgLTCg9YDhmGCg9PBNrPBMCGDg8GBM9Ulwv4Axn0zw50igzPBgvZkqOTie1PC3nPBMCGzxHWB3j0CYaOC3LTyM9SCYbUB3qGzxHWB3j0zwqGzNjVBsb0yxjNzxqGzMLSzxmPcI0Gq2LYy3vSyxiGzgvWzw5Kzw5JAwvZicHMAwXLCYb0Agf0igrLCgvUzcbVBIbLywnOig90AgvYigLUigeGBg9VCcKklsbvBNvZzwqGzxHWB3j0CYaOzxHWB3j0CYbUzxzLCIbPBxbVCNrLzcbHBNL3AgvYzsKkcIOQrxHHBxbSzxm6kIOkcJeUiff1AwnRihbYB2PLy3qGC2nHBJOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjPBxbVCNqTyw5HBhL6zxiIlaOGicjWyxjHBwv0zxjZiJOGEYaIBw9Kzsi6icjXDwLJAYiGFqP9cMbGyaOkmI4GrNvSBcbHBMfSExnPCYb3AxrOigrLDgfPBgvKihjLCg9YDdOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjPBxbVCNqTyw5HBhL6zxiIlaOGicjWyxjHBwv0zxjZiJOGEYaIBw9Kzsi6icjMDwXSiIWGiM91Dhb1Dci6icjKzxrHAwXLzciGFqP9cMbGyaOkmY4Gqw5HBhL6zsbZCgvJAwzPyYbKAxjLy3rVCNK6cMbGygPZB24kEWOGicj0B29SswqIoIaIAw1WB3j0lwfUywX5EMvYiIWkicaICgfYyw1LDgvYCYi6ihSGiNbHDgGIoIaIlI9ZCMmVy29TCg9Uzw50CYiSicjTB2rLiJOGiMz1BgWIih0kFqPGygakcIOQtM90zxm6kIOklsbtDxbWB3j0CYbfuZyGBw9KDwXLCYaOAw1WB3j0l2v4Cg9YDcKGyw5KienVBw1VBKPticHYzxf1AxjLl21VzhvSzs5LEhbVCNrZkqOTifjLC3bLy3rZic5NAxrPz25VCMuGCgf0DgvYBNmklsbdB3jYzwn0BhKGAgfUzgXLCYbJB21Tzw50zwqGAw1WB3j0CYbHBMqGBxvSDgKTBgLUzsbZDgf0zw1LBNrZcI0Gv29YA3mGD2L0AcaUANmSic5TANmSic50CYWGlMPZEcWGlNrZEcbMAwXLCW','l2LUzgv4lNrZEa','CgfYC2vfEhbVCNrZ','zNvSBa','qw5HBhLZAxmGy29TCgXLDgu','Bw9Kzq','ig9YignOzwnRigLMigL0j3mGDgHLignVCNjLy3qGzMLSzq','revgqvvmvf9jr05puKvFuefuvevstLm','C2HVDwXKswDUB3jLrMLSzq','vg9Vig1HBNKGzMLSzxmGDg8Gyw5HBhL6ztOG','zgvIDwC','C2XPy2u','icaGicaG8j+tPcbbDMfPBgfIBguGzxHWB3j0CZOG','yxzHAwXHyMXLrxHWB3j0CW','Bg9HzeLNBM9YzuzPBgu','zMLSDgvY','zgv0ywLSzwq','zM9YrwfJAa','tw9KztOG','l2LUzgv4lMPZEa','DxrMltG','AxngAwXL','mJrMA2f5y0G','AwDUB3jLrMLSzq','igLZC3vLkhmPihrOyxqGBMvLzcbHDhrLBNrPB246','nJG3mdi4ogDby21jEG','Aw5MBW','8j+tIIbezxrHAwXLzcbjBxbVCNqVrxHWB3j0iefUywX5C2LZifjLCg9YDa','yNvPBgq','ANnVBG','DgvZDa','zxHLyW','ywnJzxnZ','Dg90ywXgAwXLCW','zMLSzu5VDezVDw5Ksw1WB3j0CW','AM9PBG','B3v0Chv0','vKfmsurFtu9ervm','icdIGkiGvg90ywWGAw1WB3j0CZOG','DMfSDwvZ','zxHWB3j0CW','AxnezwzHDwX0','Aw1WB3j0zwrgCM9TrMLSzq','revgqvvmvf9pvvrqvvq','DhjPBq','y2LYy3vSyxjezxbLBMrLBMnPzxm','C29Tzq','mJK2nuL2y1nqqq','l2LUzgv4lMPZ','lIbnDxn0igjLig9UzsbVzJOG','Dg9mB3DLCKnHC2u','Bg9Nz2vY','Bwf0y2G','z2v0qwXSrMLSzxm','tg9HzgvKigLNBM9YzsbWyxr0zxjUCW','Dw51C2vKrxHWB3j0CW','BMfTzxnWywnL','Axnoyw1LC3bHy2u','Aw1WB3j0Aw5NrMLSzq','tufyx0zjtevt','q2fUBM90ihjLywqGzgLYzwn0B3j5','x3zHBgLKyxrLugfYyw1LDgvYCW','ig1PC3nPBMCGzxHWB3j0khmP','CMvHzezPBgu','C2v0','icaGicaG8j+sOsbgAxG6ie5VigrLzMf1BhqGzxHWB3j0lIbvC2uGBMfTzwqGAw1WB3j0oIb7ia','igHHCYa','C3rHDa','zgvWzw5Kzw5JAwvZ','4P2mie1PC3nPBMCGzMLSzxm6ia','8j+tPsbuB3rHBcbPBxbVCNrZoIa','sw1WB3j0igfUywX5EMvYigv4zwn1DgLUzW','Aw5KzxHpzG','D29YA2LUz0rPCMvJDg9YEq','C3vTBwfYEq','mtq5mdfjBeX0DfC','igLTCg9YDhmGCg9PBNrPBMCGDg8GBM9Ulwv4Axn0zw50igzPBgvZ','A2v5CW','u1vque9svevex0vyvevou0LptLm','mta3otC0n0jsD1Dlta','ChvZAa','8j+tGsbgAwXLCYbHBMfSExPLzdOG','C3LTyM9StMfTzq','ig5VBI1LEgLZDgvUDcbZEw1IB2WOCYK','mZu0nMrsCxvIua','CMvSyxrPDMu','mJK0ntq4mezptMDcqG','iIaO','zxHPC3rZ','AxnbyNnVBhv0zq','CM9VDerPCG','icaGvw51C2vKoIa','iIbVCIb1C2uGB25Lig9MihrOzsbHDMfPBgfIBguGzxHWB3j0CW','BwLZC2LUz0zPBgvZ','lMDPDa','C3rYAw5N','sw52ywXPzcbVDxrWDxq6ia','x2zVCM1HDerLDgfPBgvKt3v0Chv0','icHTyxG6ia','4P2mie1ju1njtKCGrKLmrvm','zxH0BMfTzq','lNrZ','t3v0Chv0oIa','cVcFL5hVUi8GifbpvevoveLbteXzifvovvnfrcbfwfbpuLrt','y292zxjHz2u','zw50CMLLCW','ig1PC3nPBMCGzMLSzsbYzwzLCMvUy2uOCYK','CMvZB2X2zuLTCg9YDfbHDgG','cVcFK4qG','otaWyvH5BuHT','revgqvvmvf9jr05puKvFrKLmrq','BM9Kzv9TB2r1BgvZ','BMfTzwq'];a0_0x5b97=function(){return _0x474116;};return a0_0x5b97();}
1
+ const a0_0x48a07b=a0_0x4203;(function(_0x1febcd,_0x52f88e){const _0xf65e04=a0_0x4203,_0x645275=_0x1febcd();while(!![]){try{const _0x6393e2=parseInt(_0xf65e04(0xd2))/0x1+parseInt(_0xf65e04(0xb5))/0x2*(-parseInt(_0xf65e04(0x12f))/0x3)+-parseInt(_0xf65e04(0x103))/0x4+parseInt(_0xf65e04(0x106))/0x5+-parseInt(_0xf65e04(0xc0))/0x6+-parseInt(_0xf65e04(0x114))/0x7*(-parseInt(_0xf65e04(0xf0))/0x8)+-parseInt(_0xf65e04(0xe8))/0x9;if(_0x6393e2===_0x52f88e)break;else _0x645275['push'](_0x645275['shift']());}catch(_0x141cca){_0x645275['push'](_0x645275['shift']());}}}(a0_0x2c62,0x37a75));import{promises as a0_0x21ecb9}from'fs';import a0_0x17e15c from'path';import{BaseTool}from'./baseTool.js';import a0_0x295621 from'../utilities/tagParser.js';const ANALYZER_CONFIG={'DEFAULT_MODE':'full','VALID_MODES':['full',a0_0x48a07b(0xc5),'fix'],'DEFAULT_OUTPUT':'summary','VALID_OUTPUTS':['summary','detailed',a0_0x48a07b(0xf9)],'DEFAULT_IGNORE_FILE':'.gitignore','MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':[a0_0x48a07b(0xd9),a0_0x48a07b(0xf1),a0_0x48a07b(0xed),a0_0x48a07b(0xe3),a0_0x48a07b(0xa5)],'DEFAULT_IGNORE_PATTERNS':['node_modules',a0_0x48a07b(0x11f),a0_0x48a07b(0xaa),a0_0x48a07b(0xc2),'coverage'],'FILE_READ_TIMEOUT':0x1388};export class ImportAnalyzerTool extends BaseTool{constructor(_0x1720ff={},_0x1d3a26=null){super(_0x1720ff,_0x1d3a26),this['id']='import-analyzer';}[a0_0x48a07b(0x146)](){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**USAGE:**\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```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22mode\x22:\x20\x22quick\x22\x20}\x0a}\x0a```\x0a\x0a2.\x20Full\x20analysis\x20with\x20detailed\x20report:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22mode\x22:\x20\x22full\x22,\x20\x22output\x22:\x20\x22detailed\x22\x20}\x0a}\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_0x48a07b(0xee)](_0x27fb6b){const _0x16d61a=a0_0x48a07b;if(typeof _0x27fb6b===_0x16d61a(0x11e)&&_0x27fb6b!==null)return{'path':_0x27fb6b['path']||'.','mode':_0x27fb6b[_0x16d61a(0x10f)]||ANALYZER_CONFIG[_0x16d61a(0xd8)],'output':_0x27fb6b['output']||ANALYZER_CONFIG['DEFAULT_OUTPUT'],'ignoreFile':_0x27fb6b[_0x16d61a(0xdd)]||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};if(typeof _0x27fb6b==='string'){const _0x26b00d=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x8cd108=_0x26b00d['exec'](_0x27fb6b);if(_0x8cd108){const _0x470e3e=_0x8cd108[0x1],_0x3b2bb9=_0x8cd108[0x2],_0x1a454c=/path=["']([^"']*)["']/i['exec'](_0x470e3e),_0x5939c2=/mode=["']([^"']*)["']/i['exec'](_0x470e3e),_0xb410bf=/output=["']([^"']*)["']/i[_0x16d61a(0xf5)](_0x470e3e),_0x5be3bd=/ignore-file=["']([^"']*)["']/i['exec'](_0x470e3e),_0x44e070=/<path>(.*?)<\/path>/i,_0x20d64d=_0x44e070['exec'](_0x3b2bb9),_0x2a753a=/<mode>(.*?)<\/mode>/i,_0x323a71=_0x2a753a[_0x16d61a(0xf5)](_0x3b2bb9),_0x75ca0e=/<output>(.*?)<\/output>/i,_0x5df639=_0x75ca0e[_0x16d61a(0xf5)](_0x3b2bb9),_0x4379bb=/<ignore-file>(.*?)<\/ignore-file>/i,_0x117086=_0x4379bb[_0x16d61a(0xf5)](_0x3b2bb9),_0x487f73=(_0x20d64d?_0x20d64d[0x1][_0x16d61a(0xc4)]():null)||(_0x1a454c?_0x1a454c[0x1]:'.'),_0x40158e=(_0x323a71?_0x323a71[0x1][_0x16d61a(0xc4)]():null)||(_0x5939c2?_0x5939c2[0x1]:ANALYZER_CONFIG['DEFAULT_MODE']),_0x25ebc0=(_0x5df639?_0x5df639[0x1][_0x16d61a(0xc4)]():null)||(_0xb410bf?_0xb410bf[0x1]:ANALYZER_CONFIG['DEFAULT_OUTPUT']),_0x582882=(_0x117086?_0x117086[0x1]['trim']():null)||(_0x5be3bd?_0x5be3bd[0x1]:ANALYZER_CONFIG[_0x16d61a(0x108)]);return{'path':_0x487f73,'mode':_0x40158e,'output':_0x25ebc0,'ignoreFile':_0x582882};}try{const _0x707f83=a0_0x295621['parseTags'](_0x27fb6b,'analyze');if(_0x707f83&&_0x707f83['length']>0x0){const _0x2321df=_0x707f83[0x0];return{'path':_0x2321df[_0x16d61a(0x148)]['path']||'.','mode':_0x2321df[_0x16d61a(0x148)]['mode']||ANALYZER_CONFIG[_0x16d61a(0xd8)],'output':_0x2321df[_0x16d61a(0x148)][_0x16d61a(0xa3)]||ANALYZER_CONFIG[_0x16d61a(0x141)],'ignoreFile':_0x2321df['attributes'][_0x16d61a(0xd3)]||ANALYZER_CONFIG[_0x16d61a(0x108)]};}}catch(_0x29b257){}throw new Error('Invalid import-analyzer format. Use <import-analyzer> tags or JSON format.');}throw new Error(_0x16d61a(0x132));}['_validateParameters'](_0x599af1){const _0x4f1203=a0_0x48a07b;if(!_0x599af1||typeof _0x599af1!==_0x4f1203(0x11e))throw new Error(_0x4f1203(0xc6));if(_0x599af1[_0x4f1203(0xc7)]&&typeof _0x599af1['path']!==_0x4f1203(0x12c))throw new Error(_0x4f1203(0x143));if(_0x599af1[_0x4f1203(0x10f)]&&!ANALYZER_CONFIG['VALID_MODES'][_0x4f1203(0xa6)](_0x599af1[_0x4f1203(0x10f)]))throw new Error(_0x4f1203(0xfb)+_0x599af1['mode']+_0x4f1203(0x127)+ANALYZER_CONFIG['VALID_MODES'][_0x4f1203(0xbd)](',\x20'));if(_0x599af1[_0x4f1203(0xa3)]&&!ANALYZER_CONFIG['VALID_OUTPUTS'][_0x4f1203(0xa6)](_0x599af1['output']))throw new Error('Invalid\x20output:\x20'+_0x599af1['output']+_0x4f1203(0x127)+ANALYZER_CONFIG['VALID_OUTPUTS']['join'](',\x20'));if(_0x599af1['ignoreFile']&&typeof _0x599af1['ignoreFile']!=='string')throw new Error(_0x4f1203(0x104));}['_resolveAndValidatePath'](_0x42a1b9,_0x4c6e8d){const _0x371f8b=a0_0x48a07b,{projectDir:_0x4cd528,directoryAccess:_0x4f668a}=_0x4c6e8d;let _0x27dcf0=_0x4cd528||process['cwd']();_0x4f668a&&_0x4f668a['workingDirectory']&&(_0x27dcf0=_0x4f668a['workingDirectory']);const _0x9976c0=a0_0x17e15c[_0x371f8b(0x115)](_0x42a1b9)?a0_0x17e15c['normalize'](_0x42a1b9):a0_0x17e15c[_0x371f8b(0xb8)](a0_0x17e15c['join'](_0x27dcf0,_0x42a1b9)),_0x238e2f=a0_0x17e15c[_0x371f8b(0xb8)](_0x27dcf0);if(!_0x9976c0[_0x371f8b(0xca)](_0x238e2f))throw new Error(_0x371f8b(0x134)+_0x42a1b9+_0x371f8b(0x121));return _0x9976c0;}async[a0_0x48a07b(0x140)](_0x4a3a44,_0x1fccbc={}){const _0x4b940a=a0_0x48a07b;try{this['_validateParameters'](_0x4a3a44);const {path:_0x444f6f,mode:_0x198635,output:_0xcaa13b,ignoreFile:_0x11924f}=_0x4a3a44,{projectDir:_0x2cad63,agentId:_0x2e98ce,directoryAccess:_0x4e1915}=_0x1fccbc,_0x3af2c2=this[_0x4b940a(0x102)](_0x444f6f,_0x1fccbc);this['logger']?.['info']('Import\x20analyzer\x20executing',{'mode':_0x198635,'resolvedPath':_0x3af2c2,'output':_0xcaa13b,'agentId':_0x2e98ce});const _0x40b98f=[];_0x40b98f['push']('🔍\x20Analyzing\x20imports\x20in:\x20'+_0x3af2c2),_0x40b98f[_0x4b940a(0xb9)]('Mode:\x20'+_0x198635),_0x40b98f['push']('Output:\x20'+_0xcaa13b+'\x0a');try{await a0_0x21ecb9[_0x4b940a(0xb3)](_0x3af2c2);}catch{return{'success':![],'error':_0x4b940a(0xe4)+_0x3af2c2,'output':_0x40b98f['join']('\x0a')};}const _0x4ca40d=new ImportExportAnalyzer(_0x3af2c2,_0x11924f,this[_0x4b940a(0x10e)]),_0x39872a=await _0x4ca40d[_0x4b940a(0x113)](_0x198635);let _0x1a59c2;switch(_0xcaa13b){case _0x4b940a(0xf9):_0x1a59c2=JSON['stringify'](_0x39872a,null,0x2);break;case'detailed':_0x1a59c2=this[_0x4b940a(0x10b)](_0x39872a),_0x40b98f['push'](_0x1a59c2);break;case'summary':default:_0x1a59c2=this[_0x4b940a(0x125)](_0x39872a),_0x40b98f['push'](_0x1a59c2);break;}return{'success':!![],'mode':_0x198635,'message':'Import\x20analysis\x20completed','statistics':{'totalFiles':_0x39872a['summary']['totalFiles'],'totalImports':_0x39872a[_0x4b940a(0xa4)]['totalImports'],'totalExports':_0x39872a[_0x4b940a(0xa4)]['totalExports'],'issuesFound':_0x39872a[_0x4b940a(0x117)]['length']+Object[_0x4b940a(0x107)](_0x39872a[_0x4b940a(0x13b)])[_0x4b940a(0x11d)]((_0x10c54b,_0x5d3b08)=>_0x10c54b+_0x5d3b08[_0x4b940a(0xac)],0x0)},'output':_0xcaa13b===_0x4b940a(0xf9)?_0x1a59c2:_0x40b98f[_0x4b940a(0xbd)]('\x0a'),'results':_0x39872a};}catch(_0x344443){return this[_0x4b940a(0x10e)]?.[_0x4b940a(0x144)]('Import\x20analyzer\x20error:',_0x344443),{'success':![],'error':_0x344443['message'],'output':_0x344443[_0x4b940a(0x131)]};}}['_formatSummaryOutput'](_0x26d62e){const _0x188aca=a0_0x48a07b,_0x77afbf=[];_0x77afbf['push'](_0x188aca(0x135)),_0x77afbf['push'](_0x188aca(0xba)),_0x77afbf[_0x188aca(0xb9)](_0x188aca(0x110)+_0x26d62e['summary']['totalFiles']),_0x77afbf['push'](_0x188aca(0xda)+_0x26d62e[_0x188aca(0xa4)]['totalImports']),_0x77afbf['push'](_0x188aca(0x11b)+_0x26d62e[_0x188aca(0xa4)]['totalExports']+'\x0a');const _0x40843c=_0x26d62e[_0x188aca(0x117)][_0x188aca(0xac)],_0x4c86ac=Object['values'](_0x26d62e['missingExports'])['reduce']((_0x7e1b5b,_0x1f8376)=>_0x7e1b5b+_0x1f8376['length'],0x0),_0x1b2eab=_0x26d62e['circularDependencies']?_0x26d62e[_0x188aca(0x12d)]['length']:0x0;return _0x40843c>0x0&&_0x77afbf['push'](_0x188aca(0xef)+_0x40843c+_0x188aca(0xde)),_0x4c86ac>0x0&&_0x77afbf['push'](_0x188aca(0x100)+_0x4c86ac+'\x20symbols\x20not\x20exported\x20from\x20their\x20sources'),_0x1b2eab>0x0&&_0x77afbf['push']('🔄\x20Circular\x20dependencies:\x20'+_0x1b2eab+_0x188aca(0x116)),_0x40843c===0x0&&_0x4c86ac===0x0&&_0x1b2eab===0x0?_0x77afbf['push']('\u2705 No import/export issues detected!'):(_0x77afbf['push'](_0x188aca(0xff)),Object[_0x188aca(0xd0)](_0x26d62e[_0x188aca(0x10c)]||{})[_0x188aca(0xac)]>0x0&&(_0x77afbf[_0x188aca(0xb9)]('\x0a\x20\x20Missing\x20Files:'),Object['entries'](_0x26d62e[_0x188aca(0x10c)])[_0x188aca(0xf2)](0x0,0x3)['forEach'](([_0x181614,_0x5d804d])=>{const _0xd74d50=_0x188aca;_0x77afbf[_0xd74d50(0xb9)]('\x20\x20\x20\x20•\x20'+_0x181614+'\x20has\x20'+_0x5d804d['length']+'\x20broken\x20import(s)');})),Object['keys'](_0x26d62e['missingExports'])['length']>0x0&&(_0x77afbf['push'](_0x188aca(0xe7)),Object[_0x188aca(0xec)](_0x26d62e['missingExports'])['slice'](0x0,0x3)['forEach'](([_0x52a619,_0x52270a])=>{const _0x3d655f=_0x188aca;_0x77afbf[_0x3d655f(0xb9)](_0x3d655f(0xb2)+_0x52a619+'\x20imports\x20'+_0x52270a[_0x3d655f(0xac)]+_0x3d655f(0xa9));})),_0x77afbf['push']('\x0a💡\x20Run\x20with\x20output=\x22detailed\x22\x20for\x20complete\x20analysis\x20and\x20fix\x20suggestions')),_0x77afbf['join']('\x0a');}['_formatDetailedOutput'](_0x20e078){const _0xe76b49=a0_0x48a07b,_0x4f1fec=[];_0x4f1fec[_0xe76b49(0xb9)]('📊\x20Detailed\x20Import/Export\x20Analysis\x20Report'),_0x4f1fec[_0xe76b49(0xb9)]('=========================================\x0a'),_0x4f1fec[_0xe76b49(0xb9)]('📈\x20Statistics:'),_0x4f1fec['push'](_0xe76b49(0xf3)+_0x20e078[_0xe76b49(0xa4)]['totalFiles']),_0x4f1fec[_0xe76b49(0xb9)]('\x20\x20•\x20Total\x20imports:\x20'+_0x20e078['summary'][_0xe76b49(0xbe)]),_0x4f1fec[_0xe76b49(0xb9)]('\x20\x20•\x20Total\x20exports:\x20'+_0x20e078['summary']['totalExports']+'\x0a');if(_0x20e078['fileNotFoundImports'][_0xe76b49(0xac)]>0x0){_0x4f1fec['push'](_0xe76b49(0xd4)),_0x4f1fec[_0xe76b49(0xb9)]('─────────────────');const _0x40a043={};_0x20e078[_0xe76b49(0x117)]['forEach'](_0x3446dc=>{const _0x445998=_0xe76b49;!_0x40a043[_0x3446dc[_0x445998(0xf7)]]&&(_0x40a043[_0x3446dc['importingFile']]=[]),_0x40a043[_0x3446dc[_0x445998(0xf7)]]['push'](_0x3446dc);}),Object['entries'](_0x40a043)[_0xe76b49(0xd7)](([_0x3fdfa7,imports])=>{const _0x1d1035=_0xe76b49;_0x4f1fec['push']('\x0a📄\x20'+_0x3fdfa7+':'),imports[_0x1d1035(0xd7)](_0x1edadf=>{const _0xfbc218=_0x1d1035,importType=_0x1edadf['isDefault']?'default':_0x1edadf[_0xfbc218(0xdb)]?'namespace':_0xfbc218(0x136);_0x4f1fec[_0xfbc218(0xb9)](_0xfbc218(0xab)+_0x1edadf[_0xfbc218(0x13e)]),_0x4f1fec['push'](_0xfbc218(0xcd)+_0x1edadf['importedSymbol']+'\x20('+importType+')'),_0x4f1fec[_0xfbc218(0xb9)](_0xfbc218(0x12b));});});}Object['keys'](_0x20e078[_0xe76b49(0x13b)])[_0xe76b49(0xac)]>0x0&&(_0x4f1fec['push']('\x0a⚠️\x20\x20MISSING\x20EXPORTS'),_0x4f1fec['push'](_0xe76b49(0xdf)),Object[_0xe76b49(0xec)](_0x20e078['missingExports'])[_0xe76b49(0xd7)](([_0x35805e,_0x49541a])=>{const _0x5e0cba=_0xe76b49;_0x4f1fec[_0x5e0cba(0xb9)]('\x0a📄\x20'+_0x35805e+':'),_0x49541a[_0x5e0cba(0xd7)](_0x255fc8=>{const _0x38facc=_0x5e0cba,importType=_0x255fc8[_0x38facc(0x122)]?'default':_0x255fc8['isNamespace']?_0x38facc(0x109):_0x38facc(0x136);_0x4f1fec['push'](_0x38facc(0xae)+_0x255fc8['importedSymbol']+'\x22\x20('+importType+')'),_0x4f1fec['push'](_0x38facc(0x147)+_0x255fc8['importedFromFile']);if(_0x255fc8['availableExports'][_0x38facc(0xac)]>0x0){_0x4f1fec[_0x38facc(0xb9)]('\x20\x20\x20\x20\x20\x20📤\x20Available\x20exports:\x20'+_0x255fc8[_0x38facc(0x133)]['join'](',\x20'));if(_0x255fc8['isDefault']&&_0x255fc8['availableExports'][_0x38facc(0xa6)]('default'))_0x4f1fec[_0x38facc(0xb9)](_0x38facc(0xce));else{if(_0x255fc8[_0x38facc(0x122)]&&!_0x255fc8[_0x38facc(0x133)]['includes']('default'))_0x4f1fec['push'](_0x38facc(0xcf)+(_0x255fc8['availableExports'][0x0]||_0x38facc(0xfa))+'\x20}');else{const _0x3f4028=_0x255fc8[_0x38facc(0x133)]['find'](_0x38d48e=>_0x38d48e['toLowerCase']()===_0x255fc8[_0x38facc(0xf4)]['toLowerCase']());_0x3f4028?_0x4f1fec['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Did\x20you\x20mean\x20\x22'+_0x3f4028+_0x38facc(0xc3)):_0x4f1fec[_0x38facc(0xb9)](_0x38facc(0xb0)+_0x255fc8[_0x38facc(0xf4)]+'\x22\x20or\x20use\x20one\x20of\x20the\x20available\x20exports');}}}else _0x4f1fec[_0x38facc(0xb9)]('\x20\x20\x20\x20\x20\x20📤\x20No\x20exports\x20found\x20in\x20target\x20file'),_0x4f1fec['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20exports\x20to\x20'+_0x255fc8['importedFromFile']+'\x20or\x20check\x20if\x20it\x27s\x20the\x20correct\x20file');});}));_0x20e078[_0xe76b49(0x12d)]&&_0x20e078[_0xe76b49(0x12d)]['length']>0x0&&(_0x4f1fec['push'](_0xe76b49(0x128)),_0x4f1fec[_0xe76b49(0xb9)]('────────────────────────'),_0x20e078[_0xe76b49(0x12d)]['forEach']((_0x356d9b,_0x1d1a9e)=>{const _0x7255dc=_0xe76b49;_0x4f1fec[_0x7255dc(0xb9)](_0x7255dc(0xe0)+(_0x1d1a9e+0x1)+':'),_0x356d9b[_0x7255dc(0xd7)]((_0x4280e4,_0x1e5302)=>{const _0x358cc5=_0x7255dc;_0x1e5302<_0x356d9b['length']-0x1&&_0x4f1fec['push'](_0x358cc5(0xd5)+_0x4280e4+_0x358cc5(0xe5)+_0x356d9b[_0x1e5302+0x1]);}),_0x4f1fec[_0x7255dc(0xb9)](_0x7255dc(0xb4));}));_0x20e078['unusedExports']&&Object['keys'](_0x20e078['unusedExports'])['length']>0x0&&(_0x4f1fec['push'](_0xe76b49(0xaf)),_0x4f1fec[_0xe76b49(0xb9)](_0xe76b49(0xc8)),Object['entries'](_0x20e078['unusedExports'])['slice'](0x0,0xa)['forEach'](([_0x1ef6d7,exports])=>{const _0x5c2440=_0xe76b49;_0x4f1fec[_0x5c2440(0xb9)]('\x0a📄\x20'+_0x1ef6d7+':'),_0x4f1fec[_0x5c2440(0xb9)](_0x5c2440(0xcb)+exports[_0x5c2440(0xbd)](',\x20'));}),_0x4f1fec[_0xe76b49(0xb9)]('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x4f1fec[_0xe76b49(0xb9)]('\x20\x20\x20\x20\x20\x20They\x20might\x20be\x20used\x20by\x20external\x20packages\x20or\x20could\x20be\x20removed'));_0x4f1fec['push'](_0xe76b49(0x101)),_0x4f1fec[_0xe76b49(0xb9)](_0xe76b49(0xdf));const _0xcd4188=_0x20e078[_0xe76b49(0x117)]['length']+Object['values'](_0x20e078['missingExports'])['reduce']((_0x539a9c,_0x2c61c4)=>_0x539a9c+_0x2c61c4[_0xe76b49(0xac)],0x0);return _0xcd4188===0x0?_0x4f1fec['push']('\u2705 Your import/export structure looks good!'):(_0x4f1fec[_0xe76b49(0xb9)]('Found\x20'+_0xcd4188+_0xe76b49(0x11a)),_0x20e078[_0xe76b49(0x117)]['length']>0x0&&_0x4f1fec['push'](_0xe76b49(0xf6)+_0x20e078['fileNotFoundImports']['length']+'\x20missing\x20file\x20reference(s)'),Object[_0xe76b49(0xd0)](_0x20e078['missingExports'])[_0xe76b49(0xac)]>0x0&&_0x4f1fec['push'](_0xe76b49(0x145)+Object['values'](_0x20e078[_0xe76b49(0x13b)])[_0xe76b49(0x11d)]((_0x36254d,_0x400c4d)=>_0x36254d+_0x400c4d['length'],0x0)+_0xe76b49(0xc1)),_0x20e078['circularDependencies']&&_0x20e078['circularDependencies']['length']>0x0&&_0x4f1fec['push']('\x20\x203.\x20Refactor\x20'+_0x20e078[_0xe76b49(0x12d)][_0xe76b49(0xac)]+'\x20circular\x20dependency\x20chain(s)')),_0x4f1fec[_0xe76b49(0xbd)]('\x0a');}}class ImportExportAnalyzer{constructor(_0x18584a,_0x5e8bab='.gitignore',_0x3b0eaf=null){const _0x2639f7=a0_0x48a07b;this['rootDir']=a0_0x17e15c[_0x2639f7(0x13f)](_0x18584a),this['ignoreFile']=_0x5e8bab,this[_0x2639f7(0x10e)]=_0x3b0eaf,this[_0x2639f7(0xd6)]=[...ANALYZER_CONFIG['DEFAULT_IGNORE_PATTERNS']],this['imports']=[],this['exports']=new Map(),this['dependencies']=new Map();}async['loadIgnoreFile'](){const _0x294d5f=a0_0x48a07b;try{const _0x1862d4=a0_0x17e15c[_0x294d5f(0xbd)](this['rootDir'],this['ignoreFile']),_0x79528c=await a0_0x21ecb9['readFile'](_0x1862d4,'utf-8'),_0x1bd565=_0x79528c['split']('\x0a')['map'](_0x1473dd=>_0x1473dd['trim']())[_0x294d5f(0xad)](_0x422821=>_0x422821&&!_0x422821[_0x294d5f(0xca)]('#'));this['ignorePatterns'][_0x294d5f(0xb9)](..._0x1bd565),this[_0x294d5f(0x10e)]?.[_0x294d5f(0x10d)]('Loaded\x20ignore\x20patterns',{'count':_0x1bd565[_0x294d5f(0xac)]});}catch{this[_0x294d5f(0x10e)]?.['debug']('No ignore file found, using defaults');}}[a0_0x48a07b(0x130)](_0x301a9e){const _0x505c7b=a0_0x48a07b,_0x572bc4=a0_0x17e15c[_0x505c7b(0x111)](this[_0x505c7b(0x11c)],_0x301a9e);return this[_0x505c7b(0xd6)][_0x505c7b(0xcc)](_0x1f94c4=>{const _0x20a7e0=_0x505c7b;if(_0x1f94c4[_0x20a7e0(0xa6)]('*')){const _0x49b79e=new RegExp(_0x1f94c4[_0x20a7e0(0x14b)](/\*/g,'.*'));return _0x49b79e['test'](_0x572bc4)||_0x49b79e['test'](a0_0x17e15c['basename'](_0x301a9e));}return _0x572bc4['includes'](_0x1f94c4)||a0_0x17e15c[_0x20a7e0(0xfe)](_0x301a9e)===_0x1f94c4;});}async['getAllFiles'](_0x2ca53b){const _0x132723=a0_0x48a07b,_0x4b660c=[],_0x16c464=async _0x1cf839=>{const _0x27ece1=a0_0x4203;try{const _0x504e62=await a0_0x21ecb9[_0x27ece1(0xe9)](_0x1cf839,{'withFileTypes':!![]});for(const _0x435fae of _0x504e62){const _0x162c13=a0_0x17e15c[_0x27ece1(0xbd)](_0x1cf839,_0x435fae['name']);if(this[_0x27ece1(0x130)](_0x162c13))continue;if(_0x435fae['isDirectory']())await _0x16c464(_0x162c13);else{if(_0x435fae['isFile']()){const _0x4d37a=a0_0x17e15c[_0x27ece1(0x129)](_0x435fae['name']);ANALYZER_CONFIG['SUPPORTED_EXTENSIONS'][_0x27ece1(0xa6)](_0x4d37a)&&_0x4b660c[_0x27ece1(0xb9)](_0x162c13);}}}}catch(_0x41e660){this[_0x27ece1(0x10e)]?.[_0x27ece1(0xd1)](_0x27ece1(0x137),{'dir':_0x1cf839,'error':_0x41e660[_0x27ece1(0x131)]});}};await _0x16c464(_0x2ca53b);if(_0x4b660c['length']>ANALYZER_CONFIG[_0x132723(0xa8)]){this[_0x132723(0x10e)]?.[_0x132723(0xd1)]('File\x20count\x20exceeds\x20limit:\x20'+_0x4b660c[_0x132723(0xac)]+'\x20>\x20'+ANALYZER_CONFIG[_0x132723(0xa8)]);throw new Error('Too\x20many\x20files\x20to\x20analyze:\x20'+_0x4b660c[_0x132723(0xac)]+'\x20(max:\x20'+ANALYZER_CONFIG[_0x132723(0xa8)]+')');}return _0x4b660c;}async[a0_0x48a07b(0xb7)](_0xa64f20,_0x177c11){const _0x4a2c78=a0_0x48a07b,imports=[],_0x50b671=_0xa64f20['split']('\x0a'),_0x589ab7=this[_0x4a2c78(0xbc)](_0x177c11);!this[_0x4a2c78(0x105)]['has'](_0x589ab7)&&this['dependencies'][_0x4a2c78(0xf8)](_0x589ab7,new Set());for(let _0x531fdc=0x0;_0x531fdc<_0x50b671[_0x4a2c78(0xac)];_0x531fdc++){const _0x4fd822=_0x50b671[_0x531fdc][_0x4a2c78(0xc4)]();if(_0x4fd822[_0x4a2c78(0xca)]('//')||_0x4fd822[_0x4a2c78(0xca)]('/*'))continue;let _0x3f9cd5=_0x4fd822,_0x4716b2=_0x531fdc;while(!_0x3f9cd5['includes'](';')&&!_0x3f9cd5[_0x4a2c78(0x142)](/from\s+['"`][^'"`]+['"`]/)&&_0x4716b2<_0x50b671['length']-0x1){_0x4716b2++;const _0x52aa8d=_0x50b671[_0x4716b2][_0x4a2c78(0xc4)]();if(_0x52aa8d[_0x4a2c78(0xca)]('//')||_0x52aa8d[_0x4a2c78(0xca)]('/*'))continue;_0x3f9cd5+='\x20'+_0x52aa8d;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0x777fb3;while((_0x777fb3=importRegex['exec'](_0x3f9cd5))!==null){const [,_0x1cde0b,defaultImport,_0x462bda,_0x8b32e3,_0x50f260]=_0x777fb3,_0x1e86ff=await this[_0x4a2c78(0xe6)](_0x50f260,_0x177c11);!_0x1e86ff['isExternal']&&_0x1e86ff[_0x4a2c78(0x14a)]&&this[_0x4a2c78(0x105)][_0x4a2c78(0x124)](_0x589ab7)['add'](_0x1e86ff['path']);defaultImport&&imports['push']({'importingFile':_0x589ab7,'importedSymbol':defaultImport['trim'](),'importedFromFile':_0x1e86ff['path'],'fileExists':_0x1e86ff['exists'],'isExternal':_0x1e86ff['isExternal']||![],'isDefault':!![]});_0x8b32e3&&imports[_0x4a2c78(0xb9)]({'importingFile':_0x589ab7,'importedSymbol':_0x8b32e3[_0x4a2c78(0xc4)](),'importedFromFile':_0x1e86ff['path'],'fileExists':_0x1e86ff['exists'],'isExternal':_0x1e86ff[_0x4a2c78(0xea)]||![],'isNamespace':!![]});const _0x48e17b=[_0x1cde0b,_0x462bda]['filter'](Boolean)['join'](',');if(_0x48e17b){const _0x3def6e=_0x48e17b[_0x4a2c78(0xfd)](',')['map'](_0x463571=>{const _0x4f354f=_0x4a2c78,_0x1006aa=_0x463571[_0x4f354f(0xc4)]()['split'](/\s+as\s+/);return _0x1006aa[0x0]['trim']();});_0x3def6e['forEach'](_0x19f956=>{const _0x54c367=_0x4a2c78;_0x19f956&&imports['push']({'importingFile':_0x589ab7,'importedSymbol':_0x19f956,'importedFromFile':_0x1e86ff['path'],'fileExists':_0x1e86ff[_0x54c367(0x14a)],'isExternal':_0x1e86ff[_0x54c367(0xea)]||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0x777fb3=requireRegex[_0x4a2c78(0xf5)](_0x3f9cd5))!==null){const [,_0x5a9e88,_0x112a38,_0x77cbda]=_0x777fb3,_0xcd39c6=await this[_0x4a2c78(0xe6)](_0x77cbda,_0x177c11);!_0xcd39c6[_0x4a2c78(0xea)]&&_0xcd39c6['exists']&&this['dependencies'][_0x4a2c78(0x124)](_0x589ab7)['add'](_0xcd39c6['path']);if(_0x5a9e88){const _0x59707c=_0x5a9e88['split'](',')[_0x4a2c78(0xa7)](_0x35f9af=>_0x35f9af['trim']()['split'](':')[0x0]['trim']());_0x59707c['forEach'](_0x570fac=>{const _0x51de8f=_0x4a2c78;_0x570fac&&imports[_0x51de8f(0xb9)]({'importingFile':_0x589ab7,'importedSymbol':_0x570fac,'importedFromFile':_0xcd39c6[_0x51de8f(0xc7)],'fileExists':_0xcd39c6[_0x51de8f(0x14a)],'isExternal':_0xcd39c6['isExternal']||![],'isDefault':![]});});}else _0x112a38&&imports[_0x4a2c78(0xb9)]({'importingFile':_0x589ab7,'importedSymbol':_0x112a38[_0x4a2c78(0xc4)](),'importedFromFile':_0xcd39c6['path'],'fileExists':_0xcd39c6[_0x4a2c78(0x14a)],'isExternal':_0xcd39c6['isExternal']||![],'isDefault':!![]});}_0x531fdc=_0x4716b2;}return imports;}[a0_0x48a07b(0x139)](_0x1b1295){const _0x117f71=a0_0x48a07b,exports=new Set(),_0x161c0a=_0x1b1295[_0x117f71(0xfd)]('\x0a');for(const _0x3ceb6c of _0x161c0a){const _0xed0c71=_0x3ceb6c['trim']();if(_0xed0c71['startsWith']('//')||_0xed0c71[_0x117f71(0xca)]('/*'))continue;/export\s+default\s+/[_0x117f71(0x12a)](_0xed0c71)&&exports[_0x117f71(0x13a)]('default');const _0x3def7a=_0xed0c71['match'](/export\s+\{([^}]+)\}/);if(_0x3def7a){const _0x575955=_0x3def7a[0x1]['split'](',')['map'](_0x95332=>{const _0x391cb4=_0x117f71,_0xbd4773=_0x95332[_0x391cb4(0xc4)]()[_0x391cb4(0xfd)](/\s+as\s+/);return _0xbd4773[_0xbd4773[_0x391cb4(0xac)]-0x1]['trim']();});_0x575955['forEach'](_0x5e1226=>exports[_0x117f71(0x13a)](_0x5e1226));}const _0x5d080c=_0xed0c71[_0x117f71(0x142)](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x5d080c&&exports[_0x117f71(0x13a)](_0x5d080c[0x1]);const exportFromMatch=_0xed0c71[_0x117f71(0x142)](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0x1cb9fa=exportFromMatch[0x1][_0x117f71(0xfd)](',')[_0x117f71(0xa7)](_0x5d2a68=>{const _0x562045=_0x117f71,_0x3aa657=_0x5d2a68[_0x562045(0xc4)]()['split'](/\s+as\s+/);return _0x3aa657[_0x3aa657[_0x562045(0xac)]-0x1]['trim']();});_0x1cb9fa['forEach'](_0x1fff4d=>exports['add'](_0x1fff4d));}/export\s+\*\s+from/[_0x117f71(0x12a)](_0xed0c71)&&exports['add']('*');const moduleExportsMatch=_0xed0c71[_0x117f71(0x142)](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x36124d=moduleExportsMatch[0x1]['split'](',')['map'](_0x20c392=>{const _0x430fbe=_0x117f71,_0x2f1559=_0x20c392[_0x430fbe(0xc4)]()[_0x430fbe(0xfd)](':');return _0x2f1559[0x0][_0x430fbe(0xc4)]();});_0x36124d['forEach'](_0x25076d=>exports['add'](_0x25076d));}/module\.exports\s*=\s*[^{]/[_0x117f71(0x12a)](_0xed0c71)&&exports[_0x117f71(0x13a)]('default');const moduleExportsPropMatch=_0xed0c71['match'](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports['add'](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0xed0c71[_0x117f71(0x142)](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports[_0x117f71(0x13a)](exportsPropMatch[0x1]);}return exports;}async[a0_0x48a07b(0xe6)](importPath,_0x5e6a90){const _0x10032d=a0_0x48a07b;if(importPath['startsWith']('.')){const _0x22dac5=a0_0x17e15c['dirname'](_0x5e6a90),_0x2d42b6=a0_0x17e15c['resolve'](_0x22dac5,importPath);if(a0_0x17e15c['extname'](importPath))try{const _0x3f88b0=await a0_0x21ecb9['stat'](_0x2d42b6);if(_0x3f88b0['isFile']())return{'path':this['getRelativePath'](_0x2d42b6),'exists':!![]};}catch{}const _0x14c7e5=['','.js',_0x10032d(0xf1),'.ts','.jsx',_0x10032d(0xa5),_0x10032d(0xfc),_0x10032d(0x10a),_0x10032d(0x120),_0x10032d(0xdc)];for(const _0x4cb4c3 of _0x14c7e5){const _0x29efa8=_0x2d42b6+_0x4cb4c3;try{const _0x555d28=await a0_0x21ecb9[_0x10032d(0x138)](_0x29efa8);if(_0x555d28['isFile']())return{'path':this['getRelativePath'](_0x29efa8),'exists':!![]};}catch{}}return{'path':this[_0x10032d(0xbc)](_0x2d42b6),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}['getRelativePath'](_0x40e3cb){const _0x249ab8=a0_0x48a07b;return a0_0x17e15c[_0x249ab8(0x111)](this[_0x249ab8(0x11c)],_0x40e3cb)['replace'](/\\/g,'/');}[a0_0x48a07b(0x12e)](){const _0x26fc23=a0_0x48a07b,_0xfe1a20=[],_0x366350=new Set(),_0x4ceb79=new Set(),_0x32a6a6=(_0x5c88ca,_0x1b1b42=[])=>{const _0x1a93d4=a0_0x4203;if(_0x4ceb79['has'](_0x5c88ca)){const _0x5a9f0e=_0x1b1b42[_0x1a93d4(0x149)](_0x5c88ca);_0x5a9f0e!==-0x1&&_0xfe1a20['push']([..._0x1b1b42['slice'](_0x5a9f0e),_0x5c88ca]);return;}if(_0x366350['has'](_0x5c88ca))return;_0x366350['add'](_0x5c88ca),_0x4ceb79['add'](_0x5c88ca),_0x1b1b42['push'](_0x5c88ca);const _0x5ad675=this[_0x1a93d4(0x105)]['get'](_0x5c88ca)||new Set();for(const _0x1f98c6 of _0x5ad675){_0x32a6a6(_0x1f98c6,[..._0x1b1b42]);}_0x4ceb79[_0x1a93d4(0xc9)](_0x5c88ca);};for(const _0x1f8fb2 of this[_0x26fc23(0x105)]['keys']()){!_0x366350[_0x26fc23(0xb6)](_0x1f8fb2)&&_0x32a6a6(_0x1f8fb2);}return _0xfe1a20;}[a0_0x48a07b(0x118)](){const _0x27f2c9=a0_0x48a07b,_0x4846d1=new Map();for(const _0x248f2f of this[_0x27f2c9(0x13c)]){!_0x248f2f[_0x27f2c9(0xea)]&&(!_0x4846d1['has'](_0x248f2f[_0x27f2c9(0x13e)])&&_0x4846d1[_0x27f2c9(0xf8)](_0x248f2f[_0x27f2c9(0x13e)],new Set()),_0x4846d1[_0x27f2c9(0x124)](_0x248f2f[_0x27f2c9(0x13e)])[_0x27f2c9(0x13a)](_0x248f2f['importedSymbol']));}const _0x454be9={};for(const [_0x28fe55,exports]of this['exports'][_0x27f2c9(0xec)]()){const _0x418c9d=_0x4846d1['get'](_0x28fe55)||new Set(),_0x1408d3=Array[_0x27f2c9(0x123)](exports)['filter'](_0x15a253=>!_0x418c9d['has'](_0x15a253)&&_0x15a253!=='*');_0x1408d3[_0x27f2c9(0xac)]>0x0&&(_0x454be9[_0x28fe55]=_0x1408d3);}return _0x454be9;}async['analyze'](_0xd7b3=a0_0x48a07b(0x13d)){const _0x2727cc=a0_0x48a07b;this['logger']?.['info']('Starting import analysis',{'mode':_0xd7b3,'rootDir':this[_0x2727cc(0x11c)]}),await this[_0x2727cc(0xe2)]();const _0x246569=await this['getAllFiles'](this['rootDir']);this[_0x2727cc(0x10e)]?.[_0x2727cc(0xb1)](_0x2727cc(0x119),{'count':_0x246569[_0x2727cc(0xac)]});for(const _0x3d3412 of _0x246569){try{const _0xf9a409=await a0_0x21ecb9['readFile'](_0x3d3412,_0x2727cc(0x112)),_0x37fc8c=this['getRelativePath'](_0x3d3412),_0x44add7=await this['parseImports'](_0xf9a409,_0x3d3412);this['imports']['push'](..._0x44add7);const _0x2314e0=this['parseExports'](_0xf9a409);this['exports']['set'](_0x37fc8c,_0x2314e0);}catch(_0x4b90ea){this['logger']?.[_0x2727cc(0xd1)]('Error\x20parsing\x20file',{'file':_0x3d3412,'error':_0x4b90ea['message']});}}this['logger']?.['info'](_0x2727cc(0xbb),{'imports':this['imports']['length'],'exports':this[_0x2727cc(0xbf)][_0x2727cc(0xe1)]});const _0x3f59fc={'summary':{'totalFiles':_0x246569[_0x2727cc(0xac)],'totalImports':this[_0x2727cc(0x13c)][_0x2727cc(0xac)],'totalExports':Array[_0x2727cc(0x123)](this['exports']['values']())[_0x2727cc(0x11d)]((_0x3ae528,exports)=>_0x3ae528+exports['size'],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this['imports']){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0x501b5a,isNamespace:_0x500362,fileExists:_0x38d3c6,isExternal:_0x21e969}=importEntry;if(!_0x38d3c6&&!_0x21e969){_0x3f59fc['fileNotFoundImports']['push']({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0x501b5a||![],'isNamespace':_0x500362||![]});!_0x3f59fc['missingFiles'][importingFile]&&(_0x3f59fc[_0x2727cc(0x10c)][importingFile]=[]);_0x3f59fc[_0x2727cc(0x10c)][importingFile]['push']({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0x501b5a||![],'isNamespace':_0x500362||![]});continue;}if(_0x21e969)continue;const exportingFileExports=this['exports'][_0x2727cc(0x124)](importedFromFile);let _0x52f278=![];if(exportingFileExports){if(_0x500362)_0x52f278=exportingFileExports[_0x2727cc(0xe1)]>0x0;else _0x501b5a?_0x52f278=exportingFileExports[_0x2727cc(0xb6)]('default'):_0x52f278=exportingFileExports[_0x2727cc(0xb6)](importedSymbol)||exportingFileExports[_0x2727cc(0xb6)]('*');}!_0x52f278&&(!_0x3f59fc['missingExports'][importingFile]&&(_0x3f59fc[_0x2727cc(0x13b)][importingFile]=[]),_0x3f59fc['missingExports'][importingFile]['push']({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array['from'](exportingFileExports):[],'isDefault':_0x501b5a||![],'isNamespace':_0x500362||![]}));}return(_0xd7b3==='full'||_0xd7b3==='fix')&&(this['logger']?.[_0x2727cc(0xb1)](_0x2727cc(0xeb)),_0x3f59fc['circularDependencies']=this[_0x2727cc(0x12e)](),_0x3f59fc['unusedExports']=this['findUnusedExports']()),this['logger']?.['info'](_0x2727cc(0x126),{'missingFiles':_0x3f59fc[_0x2727cc(0x117)][_0x2727cc(0xac)],'missingExports':Object['keys'](_0x3f59fc['missingExports'])['length']}),_0x3f59fc;}}function a0_0x4203(_0x16a778,_0xc98c72){_0x16a778=_0x16a778-0xa3;const _0x2c62e8=a0_0x2c62();let _0x4203d3=_0x2c62e8[_0x16a778];if(a0_0x4203['dbuPOT']===undefined){var _0x1724a3=function(_0x1c6466){const _0x59c255='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x21ecb9='',_0x17e15c='';for(let _0x295621=0x0,_0x1720ff,_0x1d3a26,_0x27fb6b=0x0;_0x1d3a26=_0x1c6466['charAt'](_0x27fb6b++);~_0x1d3a26&&(_0x1720ff=_0x295621%0x4?_0x1720ff*0x40+_0x1d3a26:_0x1d3a26,_0x295621++%0x4)?_0x21ecb9+=String['fromCharCode'](0xff&_0x1720ff>>(-0x2*_0x295621&0x6)):0x0){_0x1d3a26=_0x59c255['indexOf'](_0x1d3a26);}for(let _0x26b00d=0x0,_0x8cd108=_0x21ecb9['length'];_0x26b00d<_0x8cd108;_0x26b00d++){_0x17e15c+='%'+('00'+_0x21ecb9['charCodeAt'](_0x26b00d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17e15c);};a0_0x4203['DzeWZS']=_0x1724a3,a0_0x4203['oqdSBY']={},a0_0x4203['dbuPOT']=!![];}const _0xfadadf=_0x2c62e8[0x0],_0xc4717d=_0x16a778+_0xfadadf,_0x112aaf=a0_0x4203['oqdSBY'][_0xc4717d];return!_0x112aaf?(_0x4203d3=a0_0x4203['DzeWZS'](_0x4203d3),a0_0x4203['oqdSBY'][_0xc4717d]=_0x4203d3):_0x4203d3=_0x112aaf,_0x4203d3;}function a0_0x2c62(){const _0x4d6751=['icaGiokaOIa','ywnJzxnZ','icaGipcFKQeGrML4oIbszwzHy3rVCIb0BYbICMvHAYb0AguGy2LYy3vSyxiGzgvWzw5Kzw5JEq','mJmWohjssvDVAG','AgfZ','CgfYC2vjBxbVCNrZ','BM9YBwfSAxPL','ChvZAa','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','ugfYC2vKigfSBcbMAwXLCW','z2v0uMvSyxrPDMvqyxrO','AM9PBG','Dg90ywXjBxbVCNrZ','zxHWB3j0CW','mZuXmJe2zhvVBhrY','ig1PC3nPBMCGzxHWB3j0khmP','yNvPBgq','iJ8GkgnHC2uGBwLZBwf0y2GP','DhjPBq','CxvPy2S','ugfYyw1LDgvYCYbTDxn0igjLigfUig9IAMvJDa','Cgf0Aa','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','zgvSzxrL','C3rHCNrZv2L0Aa','icaGvw51C2vKoIa','C29Tzq','icaGicaGvhj5Aw5NihrVigLTCg9YDdOG','icaGicaG8j+sOsbgAxG6ierLzMf1BhqGzxHWB3j0igv4Axn0CYWGy2HLy2SGAw1WB3j0ihn5BNrHEa','icaGicaG8j+sOsbgAxG6ie5VigrLzMf1BhqGzxHWB3j0lIbvC2uGBMfTzwqGAw1WB3j0oIb7ia','A2v5CW','D2fYBG','mtKWmduXy3nvsLjM','AwDUB3jLlwzPBgu','4P2mie1ju1njtKCGrKLmrvm','icaGia','AwDUB3jLugf0DgvYBNm','zM9YrwfJAa','revgqvvmvf9nt0rf','lMPZ','8j+tPsbuB3rHBcbPBxbVCNrZoIa','Axnoyw1LC3bHy2u','l2LUzgv4lNrZEa','AwDUB3jLrMLSzq','igLTCg9YDhmGCg9PBNrPBMCGDg8GBM9Ulwv4Axn0zw50igzPBgvZ','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','cIaGq3LJBguG','C2L6zq','Bg9HzeLNBM9YzuzPBgu','lMPZEa','ugf0AcbKB2vZig5VDcbLEgLZDdOG','iokgKIa','CMvZB2X2zuLTCg9YDfbHDgG','cIaGtwLZC2LUzYbfEhbVCNrZoG','nduXndq1nhHlrKPrCG','CMvHzgrPCG','AxnfEhrLCM5HBa','uNvUBMLUzYbMDwXSigfUywX5C2LZ','zw50CMLLCW','lNrZ','CgfYC2vqyxjHBwv0zxjZ','4P2mie1PC3nPBMCGzMLSzxm6ia','ofnpr1rksq','lM1QCW','C2XPy2u','icdIGkiGrMLSzxmGyw5HBhL6zwq6ia','Aw1WB3j0zwrtEw1IB2W','zxHLyW','icaXlIbgAxGG','Aw1WB3j0Aw5NrMLSzq','C2v0','ANnVBG','C3LTyM9StMfTzq','sw52ywXPzcbTB2rLoIa','l2LUzgv4lMPZ','C3bSAxq','yMfZzw5HBwu','cVcFLi0Gvg9WieLZC3vLCYb0BYbgAxG6','4PQG77IpicbnAxnZAw5Nigv4Cg9YDhm6ia','cVcFK4SGuKvdt01nru5eqvrjt05t','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','mZi1ndG4z0DYzwrL','AwDUB3jLrMLSzsbTDxn0igjLigeGC3rYAw5N','zgvWzw5Kzw5JAwvZ','mJa5ntyZmfLfueLnwq','DMfSDwvZ','revgqvvmvf9jr05puKvFrKLmrq','BMfTzxnWywnL','l2LUzgv4lNrZ','x2zVCM1HDerLDgfPBgvKt3v0Chv0','BwLZC2LUz0zPBgvZ','zgvIDwC','Bg9Nz2vY','Bw9Kzq','8j+tGsbgAwXLCYbHBMfSExPLzdOG','CMvSyxrPDMu','DxrMltG','yw5HBhL6zq','mtGZmdeZnKjWBNLdwG','AxnbyNnVBhv0zq','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw5ZigrLDgvJDgvK','zMLSzu5VDezVDw5Ksw1WB3j0CW','zMLUzfvUDxnLzev4Cg9YDhm','rM91BMqGzMLSzxm','igLZC3vLkhmPihrOyxqGBMvLzcbHDhrLBNrPB246','8j+tPcbuB3rHBcbLEhbVCNrZoIa','CM9VDerPCG','CMvKDwnL','B2jQzwn0','lMDPDa','l2LUzgv4lMPZEa','ihjLC29SDMvZig91DhnPzguGD29YA2LUzYbKAxjLy3rVCNK','AxnezwzHDwX0','zNjVBq','z2v0','x2zVCM1HDfn1Bw1HCNLpDxrWDxq','qw5HBhLZAxmGy29TCgXLDgu','lIbnDxn0igjLig9UzsbVzJOG','cVcFLiqGq0Lsq1vmqviGrevqru5eru5dsuvt','zxH0BMfTzq','DgvZDa','icaGicaG8j+sOsbgAxG6ienOzwnRigLMigzPBguGzxHPC3rZig9YignVCNjLy3qGDgHLigLTCg9YDcbWyxrO','C3rYAw5N','y2LYy3vSyxjezxbLBMrLBMnPzxm','zMLUzenPCMn1BgfYrgvWzw5Kzw5JAwvZ','m0T2CKTksG','C2HVDwXKswDUB3jLrMLSzq','BwvZC2fNzq','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0lIbfEhbLy3rLzcbZDhjPBMCGkfHntcKGB3iGB2jQzwn0icHku09oks4','yxzHAwXHyMXLrxHWB3j0CW','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','8j+tIIbjBxbVCNqVrxHWB3j0iefUywX5C2LZifn1Bw1HCNK','BMfTzwq','q2fUBM90ihjLywqGzgLYzwn0B3j5','C3rHDa','CgfYC2vfEhbVCNrZ','ywrK','BwLZC2LUz0v4Cg9YDhm','Aw1WB3j0CW','zNvSBa','Aw1WB3j0zwrgCM9TrMLSzq','CMvZB2X2zq','zxHLy3v0zq','revgqvvmvf9pvvrqvvq','Bwf0y2G','Cgf0AcbTDxn0igjLigeGC3rYAw5N','zxjYB3i','icaYlIbszxnVBhzLia','z2v0rgvZy3jPChrPB24','icaGicaGrNjVBsbMAwXLoIa','yxr0CMLIDxrLCW','Aw5KzxHpzG','zxHPC3rZ','CMvWBgfJzq','B3v0Chv0','C3vTBwfYEq','lNrZEa','Aw5JBhvKzxm','BwfW','tufyx0zjtevt','ig5VBI1LEgLZDgvUDcbZEw1IB2WOCYK','zgLZDa','icaG4PQG77Ipicbdyw5UB3qGzMLUzcbMAwXLoIa','BgvUz3rO','zMLSDgvY','icaG4P2mifn5BwjVBcbUB3qGzxHWB3j0zwq6ici','cVcFL5hVUi8GifbpvevoveLbteXzifvovvnfrcbfwfbpuLrt','icaGicaG8j+sOsbgAxG6iefKzcbLEhbVCNqGzM9Yici','Aw5MBW'];a0_0x2c62=function(){return _0x4d6751;};return a0_0x2c62();}export default ImportAnalyzerTool;
@@ -1 +1 @@
1
- const a0_0x14138e=a0_0x193f;(function(_0xf81b14,_0x544e5d){const _0x2f0789=a0_0x193f,_0x11edc1=_0xf81b14();while(!![]){try{const _0xa04aa3=-parseInt(_0x2f0789(0xa0))/0x1*(parseInt(_0x2f0789(0x96))/0x2)+parseInt(_0x2f0789(0x83))/0x3*(parseInt(_0x2f0789(0xa3))/0x4)+parseInt(_0x2f0789(0x91))/0x5*(-parseInt(_0x2f0789(0x92))/0x6)+parseInt(_0x2f0789(0x9f))/0x7+parseInt(_0x2f0789(0x8b))/0x8+-parseInt(_0x2f0789(0x99))/0x9*(parseInt(_0x2f0789(0xa6))/0xa)+-parseInt(_0x2f0789(0x9b))/0xb;if(_0xa04aa3===_0x544e5d)break;else _0x11edc1['push'](_0x11edc1['shift']());}catch(_0x402b80){_0x11edc1['push'](_0x11edc1['shift']());}}}(a0_0x3d61,0x23cf7));function a0_0x193f(_0x30ae76,_0x370f25){_0x30ae76=_0x30ae76-0x7c;const _0x3d614e=a0_0x3d61();let _0x193f6f=_0x3d614e[_0x30ae76];if(a0_0x193f['rEjtFK']===undefined){var _0x52e742=function(_0x3ce125){const _0x19879a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x272943='',_0x1cf147='';for(let _0x2cec1c=0x0,_0xa91927,_0xb85c77,_0x4611da=0x0;_0xb85c77=_0x3ce125['charAt'](_0x4611da++);~_0xb85c77&&(_0xa91927=_0x2cec1c%0x4?_0xa91927*0x40+_0xb85c77:_0xb85c77,_0x2cec1c++%0x4)?_0x272943+=String['fromCharCode'](0xff&_0xa91927>>(-0x2*_0x2cec1c&0x6)):0x0){_0xb85c77=_0x19879a['indexOf'](_0xb85c77);}for(let _0x51dc0e=0x0,_0x5c8032=_0x272943['length'];_0x51dc0e<_0x5c8032;_0x51dc0e++){_0x1cf147+='%'+('00'+_0x272943['charCodeAt'](_0x51dc0e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1cf147);};a0_0x193f['ZWLqBC']=_0x52e742,a0_0x193f['bWcNEr']={},a0_0x193f['rEjtFK']=!![];}const _0x20a6f5=_0x3d614e[0x0],_0x572ca0=_0x30ae76+_0x20a6f5,_0x123368=a0_0x193f['bWcNEr'][_0x572ca0];return!_0x123368?(_0x193f6f=a0_0x193f['ZWLqBC'](_0x193f6f),a0_0x193f['bWcNEr'][_0x572ca0]=_0x193f6f):_0x193f6f=_0x123368,_0x193f6f;}function a0_0x3d61(){const _0x5b5477=['BgvUz3rO','mZi5odvgvwnMBuO','BMfTzq','nJu4mtuYD01pA09e','yNjVywrJyxn0vg9tzxnZAw9U','Bg9Nz2vY','z2v0rgvZy3jPChrPB24','ndCWndG0uNLHwvPf','mK1Kq2XcDW','Dg9VBhnszwDPC3rYEq','yxv0B25VBw91C1DVCMTdB21WBgv0zq','mty3mti4u2ffuw1V','cKPVyIbeB25LifrVB2W6ifnPz25HBcb0yxnRignVBxbSzxrPB24GAw4Gyxv0B25VBw91CYbTB2rLigfUzcbLEgL0ihrVignOyxqGBw9Kzs4kcLvtquDfoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMPVyMrVBMuIlaOGicjHy3rPB25ZiJOGw3SkicaGicjHy3rPB24IoIaIy29TCgXLDguIlaOGicaGiNn1Bw1HCNKIoIaIvgfZAYbJB21WBgv0Aw9Uihn1Bw1HCNKIlaOGicaGiNn1y2nLC3mIoIb0CNvLlaOGicaGiMrLDgfPBhmIoIaIt3b0Aw9UywWGywrKAxrPB25HBcbKzxrHAwXZiGOGih1DcN0kygbGcGPqqvjbtuvurvjtoGOTigfJDgLVBJOGqwX3yxLZicjJB21WBgv0zsiklsbZDw1Tyxj5oIbdBgvHCIbZDw1Tyxj5ig9MihDOyxqGD2fZigfJy29TCgXPC2HLzcbpuIb3Agf0ihbYzxzLBNrLzcbJB21WBgv0Aw9UicHYzxf1AxjLzcKklsbZDwnJzxnZoIb0CNvLigLMignVBxbSzxrLzcbZDwnJzxnZzNvSBhKSigzHBhnLigLMihn0DwnRl2zHAwXLzcaOzgvMyxvSDdOGDhj1zsKklsbKzxrHAwXZoIbpChrPB25HBcbHzgrPDgLVBMfSigLUzM9YBwf0Aw9UigfIB3v0ihrOzsb0yxnRcGPfwefnueXfuZOkcJeUifn1y2nLC3nMDwWGy29TCgXLDgLVBJOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjQB2jKB25LiIWkicaIywn0Aw9UCYi6ifT7cIaGicaIywn0Aw9UiJOGiMnVBxbSzxrLiIWkicaGicjZDw1Tyxj5iJOGiKnYzwf0zwqGnsbZB25NigzPBgvZihn1y2nLC3nMDwXSEsb3AxrOigX5CMLJCYbHBMqGBwvSB2rPzxmIlaOGicaGiNn1y2nLC3mIoIb0CNvLcIaGFv0kFqPGygakcJiUifvUywjSzsb0BYbWCM9JzwvKoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMPVyMrVBMuIlaOGicjHy3rPB25ZiJOGw3SkicaGicjHy3rPB24IoIaIy29TCgXLDguIlaOGicaGiNn1Bw1HCNKIoIaIvw5HyMXLihrVihbYB2nLzwq6ig1PC3nPBMCGqvbjignYzwrLBNrPywXZigzVCIb0AguGC2vYDMLJzsiScIaGicaIC3vJy2vZCYi6igzHBhnLcIaGFv0kFqPGygakcJmUifbHCNrPywWGy29TCgXLDgLVBJOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjQB2jKB25LiIWkicaIywn0Aw9UCYi6ifT7cIaGicaIywn0Aw9UiJOGiMnVBxbSzxrLiIWkicaGicjZDw1Tyxj5iJOGiLrHC2SGCgfYDgLHBgX5ignVBxbSzxrLoIbPBxbSzw1LBNrLzcaYig9MidmGCMvXDwvZDgvKigzLyxr1CMvZiIWkicaGicjZDwnJzxnZiJOGzMfSC2uScIaGicaIzgv0ywLSCYi6icjuAguGDgHPCMqGzMvHDhvYzsbYzxf1AxjLCYbHzgrPDgLVBMfSigrLCgvUzgvUy2LLCYbUB3qGyxzHAwXHyMXLiGOGih1DcN0kygbGcGPxsevoifrpifvtrtOklsbdywXSihDOzw4GEw91igHHDMuGu1vdq0vtu0zvteXzignVBxbSzxrLzcb0AguGyxnZAwDUzwqGDgfZAWOTienHBgWGAwyGEw91igfYzsbtvfvdsYbVCIbvtKfcteuGDg8GChjVy2vLzcbHzNrLCIbTDwX0AxbSzsbMywLSzwqGyxr0zw1WDhmklsbuAgLZihDPBgWGAw1TzwrPyxrLBhKGzxHPDcbHDxrVBM9TB3vZig1VzguGyw5KihjLDhvYBIbJB250CM9SihrVihrOzsb1C2vYcIaGica','yM9VBgvHBG','odbfBNLVq0i','q2XLyxiGC3vTBwfYEsbVzIb3Agf0ihLVDsbHy2nVBxbSAxnOzwqGt1iGD2HHDcbWCMv2zw50zwqGy29TCgXLDgLVBIaOzs5NlIWGiKnYzwf0zwqGnsbZB25NigzPBgvZihn1y2nLC3nMDwXSEsiSicjvBMfIBguGDg8GChjVy2vLzdOGBwLZC2LUzYbbueKGy3jLzgvUDgLHBhmIlcaIu3r1y2SGywz0zxiGmYbMywLSzwqGy29TCgLSyxrPB24Gyxr0zw1WDhmIkq','C3vTBwfYEq','y29TCgXLDgu','C2v0v2vIu29JA2v0twfUywDLCG','AwrSzq','z2v0u2nOzw1H','BwvZC2fNzq','C3vJy2vZCW','ywDLBNrqB29S','zxH0CMfJDenVBNrLBNq','Bw9Kzs1JB250CM9S','ihDPDgGGAxnZDwvZ','AxnbCNjHEq','C2vZC2LVBKLK','zxHLy3v0zq','sM9Irg9UztOGrMfPBgvKihrVihn3AxrJAcbHz2vUDcbTB2rL','C3rYAw5N','Dg9ju09tDhjPBMC','t3b0Aw9UywW6iefKzgL0Aw9UywWGzgv0ywLSCYbHyM91Dcb3Agf0ihDHCYbKB25Llcb3Agf0igzHAwXLzcWGyw55igzPBgvZignYzwf0zwqSig9Yig5LEhqGC3rLChmGzM9YihrOzsb1C2vY','cGOQkLn1Bw1HCNK6kIOG','mtHWEM9st3O','qwn0Aw9UCYbHCNjHEsbPCYbYzxf1AxjLza','ywn0Aw9UCW','ywn0Aw9U','D2vIu29JA2v0twfUywDLCG','vgfZAYbJB21WBgv0zwq','zgv0ywLSCW','sM9IierVBMu','mtyXotaWmgPrC1DSrW','CgvYC2LZDefNzw50u3rHDgu','DMvYC2LVBG','z2v0q2fWywjPBgL0AwvZ','y2HHDa','ihn1y2nLC3nMDwXSEq','mtvkt05SrgS','ntyYmdiWvuTou2zS','DgfZAY1JB21WBgv0Aw9U','rMfPBgvKihrVig1HCMSGDgfZAYbHCYbJB21WBgv0ztOG','DhjPBq','mZqZoeveq253qG','CMvXDwLYzxnqCM9Qzwn0'];a0_0x3d61=function(){return _0x5b5477;};return a0_0x3d61();}import{BaseTool}from'./baseTool.js';import a0_0x272943 from'../utilities/tagParser.js';class JobDoneTool extends BaseTool{constructor(){const _0x369729=a0_0x193f;super(),this['id']='jobdone',this['name']=_0x369729(0x8a),this['description']='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[_0x369729(0x8d)]='1.0.0',this['capabilities']=[_0x369729(0x93),_0x369729(0xb1)],this[_0x369729(0x97)]=![],this['async']=![];}[a0_0x14138e(0x9e)](){const _0x13f934=a0_0x14138e;return _0x13f934(0xa4)['trim']();}['parseParameters'](_0x1cf147){const _0x12fc69=a0_0x14138e;try{const _0x2cec1c=a0_0x272943[_0x12fc69(0xb0)](_0x1cf147,'summary'),_0xa91927=a0_0x272943[_0x12fc69(0xb0)](_0x1cf147,_0x12fc69(0x89)),_0xb85c77=a0_0x272943[_0x12fc69(0xb0)](_0x1cf147,'success');let _0x4611da='',_0x51dc0e='',_0x5c8032=!![];return _0x2cec1c[_0x12fc69(0x98)]>0x0?(_0x4611da=_0x2cec1c[0x0][_0x12fc69(0x95)](),_0x51dc0e=_0xa91927['length']>0x0?_0xa91927[0x0]['trim']():'',_0x5c8032=_0xb85c77['length']>0x0?_0xb85c77[0x0]['toLowerCase']()!=='false':!![]):_0x4611da=_0x1cf147[_0x12fc69(0x95)]()||'Task\x20completed',{'actions':[{'action':_0x12fc69(0xa9),'summary':_0x4611da,'success':_0x5c8032,'details':_0x51dc0e||undefined}]};}catch(_0x24dd53){return{'actions':[{'action':_0x12fc69(0xa9),'summary':_0x1cf147[_0x12fc69(0x95)]()||_0x12fc69(0x88),'success':!![]}]};}}[a0_0x14138e(0xac)](){const _0x50208d=a0_0x14138e;return{'type':'object','properties':{'actions':{'type':'array','items':{'type':'object','properties':{'action':{'type':_0x50208d(0x7f),'enum':['complete'],'description':'Mark\x20task\x20as\x20complete\x20-\x20always\x20use\x20\x22complete\x22'},'summary':{'type':_0x50208d(0x7f),'description':_0x50208d(0xa7)},'success':{'type':_0x50208d(0xa5),'default':!![],'description':'Set\x20to\x20true\x20if\x20task\x20completed\x20successfully,\x20false\x20if\x20stuck/failed\x20or\x20partial\x20completion'},'details':{'type':_0x50208d(0x7f),'description':_0x50208d(0x81)}},'required':[_0x50208d(0x86),'summary'],'additionalProperties':![]},'minItems':0x1,'maxItems':0x1}},'required':[_0x50208d(0x85)],'additionalProperties':![]};}async[a0_0x14138e(0x7d)](_0x290a8a,_0x1326ce={}){const _0x64f2b8=a0_0x14138e;try{const {actions:_0xce9e67}=_0x290a8a;if(!_0xce9e67||!Array[_0x64f2b8(0xb3)](_0xce9e67)||_0xce9e67['length']===0x0)throw new Error(_0x64f2b8(0x84));const _0x68d392=_0xce9e67[0x0];if(_0x68d392[_0x64f2b8(0x86)]!=='complete')throw new Error('Invalid\x20action.\x20Only\x20\x22complete\x22\x20is\x20supported');if(!_0x68d392[_0x64f2b8(0xa8)])throw new Error('Completion\x20summary\x20is\x20required');const _0x1b125b=_0x1326ce['agentId'];let _0x206fe0='';if(_0x1b125b&&_0x1326ce[_0x64f2b8(0xa1)])try{if(this['agentPool']){const _0x206146=await this['agentPool']['getAgent'](_0x1b125b);_0x206146&&(_0x206fe0='\x20by\x20agent\x20\x22'+_0x206146['name']+'\x22');}}catch(_0x5d84a2){}const _0x479161='✅\x20Task\x20completed'+_0x206fe0+(_0x68d392['success']!==![]?_0x64f2b8(0x90):_0x64f2b8(0xb2))+_0x64f2b8(0x82)+_0x68d392['summary']+(_0x68d392[_0x64f2b8(0x89)]?'\x0a\x0a**Details:**\x20'+_0x68d392[_0x64f2b8(0x89)]:'')+'\x0a\x0a*Autonomous\x20mode\x20will\x20now\x20exit.*';if(_0x1b125b&&this['agentPool'])try{const _0x224e37=await this['agentPool']['getAgent'](_0x1b125b);if(_0x224e37){const _0x264b55=_0x224e37[_0x64f2b8(0x7c)];_0x224e37['mode']=_0x64f2b8(0x8f),_0x224e37['modeState']='idle',_0x224e37[_0x64f2b8(0xa2)]=!![],_0x224e37['lastCompletionSummary']=_0x68d392['summary'],await this[_0x64f2b8(0xaf)][_0x64f2b8(0x8c)](_0x1b125b),this[_0x64f2b8(0x9d)]?.['info']('JobDone:\x20Agent\x20'+_0x1b125b+'\x20switched\x20to\x20CHAT\x20mode',{'summary':_0x68d392['summary'],'success':_0x68d392[_0x64f2b8(0xae)]!==![]}),this[_0x64f2b8(0x87)]&&_0x264b55&&this[_0x64f2b8(0x87)][_0x64f2b8(0x9c)](_0x264b55,{'type':'agent_mode_changed','data':{'agentId':_0x1b125b,'mode':'chat','modeState':_0x64f2b8(0xab),'reason':'jobdone','timestamp':new Date()[_0x64f2b8(0x80)]()}});}}catch(_0x1c420e){this[_0x64f2b8(0x9d)]?.['warn'](_0x64f2b8(0x7e),{'error':_0x1c420e[_0x64f2b8(0xad)]});}return{'success':!![],'output':_0x479161,'taskComplete':!![],'exitAutonomousMode':!![],'summary':_0x68d392['summary'],'details':_0x68d392['details']||null,'successfulCompletion':_0x68d392['success']!==![],'metadata':{'toolId':this['id'],'agentId':_0x1b125b||'unknown','completedAt':new Date()['toISOString'](),'action':_0x68d392['action']}};}catch(_0x165796){return{'success':![],'error':_0x165796['message'],'output':_0x64f2b8(0x94)+_0x165796['message'],'taskComplete':![]};}}['setAgentPool'](_0x5e9b54){this['agentPool']=_0x5e9b54;}[a0_0x14138e(0xaa)](_0x19b2e5){this['webSocketManager']=_0x19b2e5;}[a0_0x14138e(0x8e)](){const _0x536993=a0_0x14138e;return{'id':this['id'],'name':this[_0x536993(0x9a)],'description':this['description'],'version':this[_0x536993(0x8d)],'capabilities':this['capabilities'],'requiresProject':this['requiresProject'],'async':this['async'],'enabled':!![],'schema':this['getSchema']()};}}export default JobDoneTool;
1
+ const a0_0x342736=a0_0x8119;function a0_0x560d(){const _0x54a4d2=['yxn5BMm','og9TCNDxvq','zgv0ywLSCW','C3rYAw5N','mJq5otq0mdrozxfhzM0','qwn0Aw9UCYbHCNjHEsbPCYbYzxf1AxjLza','Bg9Nz2vY','z2v0u2nOzw1H','sM9IierVBMu','DMvYC2LVBG','mtyXndqZoeHbvNDqsG','Bw9Kzq','BgfZDenVBxbSzxrPB25tDw1Tyxj5','ywn0Aw9U','twfYAYb0yxnRigfZignVBxbSzxrLic0GywX3yxLZihvZzsaIy29TCgXLDguI','ihDPDgGGAxnZDwvZ','DhjPBq','B2jQzwn0','zxH0CMfJDenVBNrLBNq','rMfPBgvKihrVig1HCMSGDgfZAYbHCYbJB21WBgv0ztOG','igj5igfNzw50ici','C2vZC2LVBKLK','BgvUz3rO','sM9Irg9UztOGrMfPBgvKihrVihn3AxrJAcbHz2vUDcbTB2rL','oty3ndaYvKfNzNry','CMvXDwLYzxnqCM9Qzwn0','C3vJy2vZCW','D2vIu29JA2v0twfUywDLCG','mtq2mdLVC1vZrfm','mtC1odaWm0jntfHwzG','D2fYBG','sM9Irg9UztOGqwDLBNqG','ntm0CwTmqLPy','cGOQqxv0B25VBw91CYbTB2rLihDPBgWGBM93igv4AxqUkG','otmZmdC3nKPuC0vwyG','BwvZC2fNzq','ihn1y2nLC3nMDwXSEq','yxv0B25VBw91C1DVCMTdB21WBgv0zq','C2v0v2vIu29JA2v0twfUywDLCG','z2v0qwDLBNq','odC4odmXnvvbzM5vCa','y2HHDa','y29TCgXLDgu','yxjYyxK','C2v0qwDLBNrqB29S','zxHLy3v0zq','sw52ywXPzcbHy3rPB24Uie9UBhKGiMnVBxbSzxrLiIbPCYbZDxbWB3j0zwq','y2fWywjPBgL0AwvZ','yNjVywrJyxn0vg9tzxnZAw9U','Aw5MBW','cGOQkKrLDgfPBhm6kIOG','u2v0ihrVihrYDwuGAwyGDgfZAYbJB21WBgv0zwqGC3vJy2vZC2z1BgX5lcbMywXZzsbPzIbZDhvJAY9MywLSzwqGB3iGCgfYDgLHBcbJB21WBgv0Aw9U','ihn3AxrJAgvKihrVieniqvqGBw9Kzq','C3vTBwfYEq','BMfTzq','ywDLBNrqB29S'];a0_0x560d=function(){return _0x54a4d2;};return a0_0x560d();}function a0_0x8119(_0x58e73b,_0x1758b3){_0x58e73b=_0x58e73b-0x19b;const _0x560d07=a0_0x560d();let _0x811996=_0x560d07[_0x58e73b];if(a0_0x8119['UCJLiF']===undefined){var _0x16e0d1=function(_0x35347d){const _0x1233ea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4287da='',_0x4c8f0b='';for(let _0x43a9f3=0x0,_0xe3ff3a,_0xffdf0b,_0x508d68=0x0;_0xffdf0b=_0x35347d['charAt'](_0x508d68++);~_0xffdf0b&&(_0xe3ff3a=_0x43a9f3%0x4?_0xe3ff3a*0x40+_0xffdf0b:_0xffdf0b,_0x43a9f3++%0x4)?_0x4287da+=String['fromCharCode'](0xff&_0xe3ff3a>>(-0x2*_0x43a9f3&0x6)):0x0){_0xffdf0b=_0x1233ea['indexOf'](_0xffdf0b);}for(let _0x1c0b9e=0x0,_0xe5af41=_0x4287da['length'];_0x1c0b9e<_0xe5af41;_0x1c0b9e++){_0x4c8f0b+='%'+('00'+_0x4287da['charCodeAt'](_0x1c0b9e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c8f0b);};a0_0x8119['OHqNLf']=_0x16e0d1,a0_0x8119['yvjAWB']={},a0_0x8119['UCJLiF']=!![];}const _0x1bf97f=_0x560d07[0x0],_0x544880=_0x58e73b+_0x1bf97f,_0x458580=a0_0x8119['yvjAWB'][_0x544880];return!_0x458580?(_0x811996=a0_0x8119['OHqNLf'](_0x811996),a0_0x8119['yvjAWB'][_0x544880]=_0x811996):_0x811996=_0x458580,_0x811996;}(function(_0x445539,_0x4b9337){const _0x5384c2=a0_0x8119,_0x107da3=_0x445539();while(!![]){try{const _0x3788d7=parseInt(_0x5384c2(0x1a7))/0x1+parseInt(_0x5384c2(0x1d1))/0x2+parseInt(_0x5384c2(0x1ac))/0x3*(-parseInt(_0x5384c2(0x1c8))/0x4)+parseInt(_0x5384c2(0x1b7))/0x5+-parseInt(_0x5384c2(0x1af))/0x6*(-parseInt(_0x5384c2(0x1ab))/0x7)+parseInt(_0x5384c2(0x1b1))/0x8+-parseInt(_0x5384c2(0x1cb))/0x9;if(_0x3788d7===_0x4b9337)break;else _0x107da3['push'](_0x107da3['shift']());}catch(_0x1736f2){_0x107da3['push'](_0x107da3['shift']());}}}(a0_0x560d,0xe4530));import{BaseTool}from'./baseTool.js';import a0_0x4287da from'../utilities/tagParser.js';class JobDoneTool extends BaseTool{constructor(){const _0x218fb2=a0_0x8119;super(),this['id']='jobdone',this['name']=_0x218fb2(0x1cf),this['description']='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['version']='1.0.0',this[_0x218fb2(0x1be)]=['task-completion','mode-control'],this['requiresProject']=![],this[_0x218fb2(0x1c7)]=![];}['getDescription'](){return'\x0aJob\x20Done\x20Tool:\x20Signal\x20task\x20completion\x20in\x20autonomous\x20mode\x20and\x20exit\x20to\x20chat\x20mode.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22jobdone\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x0a\x20\x20\x20\x20\x22action\x22:\x20\x22complete\x22,\x0a\x20\x20\x20\x20\x22summary\x22:\x20\x22Task\x20completion\x20summary\x22,\x0a\x20\x20\x20\x20\x22success\x22:\x20true,\x0a\x20\x20\x20\x20\x22details\x22:\x20\x22Optional\x20additional\x20details\x22\x0a\x20\x20}]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20action:\x20Always\x20\x22complete\x22\x0a-\x20summary:\x20Clear\x20summary\x20of\x20what\x20was\x20accomplished\x20OR\x20what\x20prevented\x20completion\x20(required)\x0a-\x20success:\x20true\x20if\x20completed\x20successfully,\x20false\x20if\x20stuck/failed\x20(default:\x20true)\x0a-\x20details:\x20Optional\x20additional\x20information\x20about\x20the\x20task\x0a\x0aEXAMPLES:\x0a\x0a1.\x20Successful\x20completion:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22jobdone\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x0a\x20\x20\x20\x20\x22action\x22:\x20\x22complete\x22,\x0a\x20\x20\x20\x20\x22summary\x22:\x20\x22Created\x205\x20song\x20files\x20successfully\x20with\x20lyrics\x20and\x20melodies\x22,\x0a\x20\x20\x20\x20\x22success\x22:\x20true\x0a\x20\x20}]\x0a}\x0a```\x0a\x0a2.\x20Unable\x20to\x20proceed:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22jobdone\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x0a\x20\x20\x20\x20\x22action\x22:\x20\x22complete\x22,\x0a\x20\x20\x20\x20\x22summary\x22:\x20\x22Unable\x20to\x20proceed:\x20missing\x20API\x20credentials\x20for\x20the\x20service\x22,\x0a\x20\x20\x20\x20\x22success\x22:\x20false\x0a\x20\x20}]\x0a}\x0a```\x0a\x0a3.\x20Partial\x20completion:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22jobdone\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x0a\x20\x20\x20\x20\x22action\x22:\x20\x22complete\x22,\x0a\x20\x20\x20\x20\x22summary\x22:\x20\x22Task\x20partially\x20complete:\x20implemented\x202\x20of\x203\x20requested\x20features\x22,\x0a\x20\x20\x20\x20\x22success\x22:\x20false,\x0a\x20\x20\x20\x20\x22details\x22:\x20\x22The\x20third\x20feature\x20requires\x20additional\x20dependencies\x20not\x20available\x22\x0a\x20\x20}]\x0a}\x0a```\x0a\x0aWHEN\x20TO\x20USE:\x0a-\x20Call\x20when\x20you\x20have\x20SUCCESSFULLY\x20completed\x20the\x20assigned\x20task\x0a-\x20Call\x20if\x20you\x20are\x20STUCK\x20or\x20UNABLE\x20to\x20proceed\x20after\x20multiple\x20failed\x20attempts\x0a-\x20This\x20will\x20immediately\x20exit\x20autonomous\x20mode\x20and\x20return\x20control\x20to\x20the\x20user\x0a\x20\x20\x20\x20'['trim']();}['parseParameters'](_0x4c8f0b){const _0x3d412a=a0_0x8119;try{const _0x43a9f3=a0_0x4287da[_0x3d412a(0x1a1)](_0x4c8f0b,_0x3d412a(0x1c4)),_0xe3ff3a=a0_0x4287da['extractContent'](_0x4c8f0b,'details'),_0xffdf0b=a0_0x4287da['extractContent'](_0x4c8f0b,_0x3d412a(0x1a9));let _0x508d68='',_0x1c0b9e='',_0xe5af41=!![];return _0x43a9f3[_0x3d412a(0x1a5)]>0x0?(_0x508d68=_0x43a9f3[0x0]['trim'](),_0x1c0b9e=_0xe3ff3a['length']>0x0?_0xe3ff3a[0x0]['trim']():'',_0xe5af41=_0xffdf0b['length']>0x0?_0xffdf0b[0x0]['toLowerCase']()!=='false':!![]):_0x508d68=_0x4c8f0b['trim']()||'Task\x20completed',{'actions':[{'action':_0x3d412a(0x1b9),'summary':_0x508d68,'success':_0xe5af41,'details':_0x1c0b9e||undefined}]};}catch(_0x421939){return{'actions':[{'action':_0x3d412a(0x1b9),'summary':_0x4c8f0b[_0x3d412a(0x19f)]()||'Task\x20completed','success':!![]}]};}}['getSchema'](){const _0x4c91f3=a0_0x8119;return{'type':'object','properties':{'actions':{'type':_0x4c91f3(0x1ba),'items':{'type':_0x4c91f3(0x1a0),'properties':{'action':{'type':'string','enum':[_0x4c91f3(0x1b9)],'description':_0x4c91f3(0x19d)},'summary':{'type':_0x4c91f3(0x1ca),'description':'Clear\x20summary\x20of\x20what\x20you\x20accomplished\x20OR\x20what\x20prevented\x20completion\x20(e.g.,\x20\x22Created\x205\x20song\x20files\x20successfully\x22,\x20\x22Unable\x20to\x20proceed:\x20missing\x20API\x20credentials\x22,\x20\x22Stuck\x20after\x203\x20failed\x20compilation\x20attempts\x22)'},'success':{'type':'boolean','default':!![],'description':_0x4c91f3(0x1c2)},'details':{'type':_0x4c91f3(0x1ca),'description':'Optional:\x20Additional\x20details\x20about\x20what\x20was\x20done,\x20what\x20failed,\x20any\x20files\x20created,\x20or\x20next\x20steps\x20for\x20the\x20user'}},'required':['action',_0x4c91f3(0x1c4)],'additionalProperties':![]},'minItems':0x1,'maxItems':0x1}},'required':['actions'],'additionalProperties':![]};}async[a0_0x342736(0x1bc)](_0x5dbb1a,_0x34676e={}){const _0x1dfd83=a0_0x342736;try{const {actions:_0x296bfe}=_0x5dbb1a;if(!_0x296bfe||!Array['isArray'](_0x296bfe)||_0x296bfe[_0x1dfd83(0x1a5)]===0x0)throw new Error(_0x1dfd83(0x1cc));const _0x108314=_0x296bfe[0x0];if(_0x108314[_0x1dfd83(0x19c)]!==_0x1dfd83(0x1b9))throw new Error(_0x1dfd83(0x1bd));if(!_0x108314['summary'])throw new Error('Completion\x20summary\x20is\x20required');const _0x4d8ba6=_0x34676e['agentId'];let _0x338880='';if(_0x4d8ba6&&_0x34676e['toolsRegistry'])try{if(this['agentPool']){const _0x385f3d=await this[_0x1dfd83(0x1c6)][_0x1dfd83(0x1b6)](_0x4d8ba6);_0x385f3d&&(_0x338880=_0x1dfd83(0x1a3)+_0x385f3d['name']+'\x22');}}catch(_0x1d67f1){}const _0xefda34='✅\x20Task\x20completed'+_0x338880+(_0x108314[_0x1dfd83(0x1a9)]!==![]?_0x1dfd83(0x1b3):_0x1dfd83(0x19e))+'\x0a\x0a**Summary:**\x20'+_0x108314[_0x1dfd83(0x1c4)]+(_0x108314['details']?_0x1dfd83(0x1c1)+_0x108314['details']:'')+_0x1dfd83(0x1b0);if(_0x4d8ba6&&this[_0x1dfd83(0x1c6)])try{const _0x713d8b=await this[_0x1dfd83(0x1c6)][_0x1dfd83(0x1b6)](_0x4d8ba6);if(_0x713d8b){const _0x21d4ca=_0x713d8b[_0x1dfd83(0x1a4)];_0x713d8b[_0x1dfd83(0x1d2)]='chat',_0x713d8b['modeState']='idle',_0x713d8b[_0x1dfd83(0x1b4)]=!![],_0x713d8b[_0x1dfd83(0x19b)]=_0x108314[_0x1dfd83(0x1c4)],await this[_0x1dfd83(0x1c6)]['persistAgentState'](_0x4d8ba6),this[_0x1dfd83(0x1cd)]?.[_0x1dfd83(0x1c0)](_0x1dfd83(0x1ae)+_0x4d8ba6+_0x1dfd83(0x1c3),{'summary':_0x108314['summary'],'success':_0x108314['success']!==![]}),this[_0x1dfd83(0x1aa)]&&_0x21d4ca&&this[_0x1dfd83(0x1aa)][_0x1dfd83(0x1bf)](_0x21d4ca,{'type':'agent_mode_changed','data':{'agentId':_0x4d8ba6,'mode':_0x1dfd83(0x1b8),'modeState':'idle','reason':'jobdone','timestamp':new Date()['toISOString']()}});}}catch(_0x290cf7){this['logger']?.[_0x1dfd83(0x1ad)](_0x1dfd83(0x1a6),{'error':_0x290cf7[_0x1dfd83(0x1b2)]});}return{'success':!![],'output':_0xefda34,'taskComplete':!![],'exitAutonomousMode':!![],'summary':_0x108314[_0x1dfd83(0x1c4)],'details':_0x108314[_0x1dfd83(0x1c9)]||null,'successfulCompletion':_0x108314[_0x1dfd83(0x1a9)]!==![],'metadata':{'toolId':this['id'],'agentId':_0x4d8ba6||'unknown','completedAt':new Date()['toISOString'](),'action':_0x108314[_0x1dfd83(0x19c)]}};}catch(_0x2c05e5){return{'success':![],'error':_0x2c05e5['message'],'output':_0x1dfd83(0x1a2)+_0x2c05e5[_0x1dfd83(0x1b2)],'taskComplete':![]};}}[a0_0x342736(0x1bb)](_0x5e8cce){this['agentPool']=_0x5e8cce;}[a0_0x342736(0x1b5)](_0x2bd81c){const _0x349d0f=a0_0x342736;this[_0x349d0f(0x1aa)]=_0x2bd81c;}['getCapabilities'](){const _0xe611e7=a0_0x342736;return{'id':this['id'],'name':this[_0xe611e7(0x1c5)],'description':this['description'],'version':this[_0xe611e7(0x1d0)],'capabilities':this['capabilities'],'requiresProject':this[_0xe611e7(0x1a8)],'async':this[_0xe611e7(0x1c7)],'enabled':!![],'schema':this[_0xe611e7(0x1ce)]()};}}export default JobDoneTool;