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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +1 -1
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/index-BVF_10a5.css +1 -0
  119. package/web-ui/build/static/{index-CX8ZfpGw.js → index-DE5VFS1q.js} +69 -69
  120. package/web-ui/build/static/index-Dwg_JrlO.css +0 -1
@@ -1 +1 @@
1
- const a0_0x34d383=a0_0x3446;(function(_0x2e52fa,_0x46e63e){const _0x10f975=a0_0x3446,_0x13d407=_0x2e52fa();while(!![]){try{const _0x514743=parseInt(_0x10f975(0x1ac))/0x1*(-parseInt(_0x10f975(0x1cb))/0x2)+parseInt(_0x10f975(0x19d))/0x3*(parseInt(_0x10f975(0x183))/0x4)+-parseInt(_0x10f975(0x173))/0x5*(parseInt(_0x10f975(0x194))/0x6)+parseInt(_0x10f975(0x1cf))/0x7+-parseInt(_0x10f975(0x17e))/0x8*(parseInt(_0x10f975(0x1d3))/0x9)+parseInt(_0x10f975(0x1cd))/0xa+-parseInt(_0x10f975(0x1a3))/0xb*(parseInt(_0x10f975(0x17a))/0xc);if(_0x514743===_0x46e63e)break;else _0x13d407['push'](_0x13d407['shift']());}catch(_0x2a026e){_0x13d407['push'](_0x13d407['shift']());}}}(a0_0x23db,0xadb43));function a0_0x23db(){const _0x36b682=['DgvTCa','CMvSyxrPDMu','lNnV','zxHJBhvKzurPCMvJDg9YAwvZ','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','zxjYB3i','D29YA2LUz0rPCMvJDg9YEq','lNzZy29Kzq','DhLWzq','4PscicaG','lNr0zG','lMXVy2S','CgfYDhm','zgLZDa','lNbUzW','zxHJBhvKzuv4DgvUC2LVBNm','zM9YBwf0vhjLzq','ChvZAa','C2HVD1nPEMvZ','zMLSDgvY','y2HPBgrYzw4','lM1VDG','Bwf4rgvWDgG','Bg9JywXLq29TCgfYzq','lMvNz3m','cK1HEcbezxb0AdOG','iIbTDxn0ihn0yxj0ihDPDgGGysbKB3qGkguUzY4SiciUANmIkq','AxnbCNjHEq','lMrI','DgfYz2v0','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','cI0Gtwf4Aw11BsbMAwXLCZOG','lNDTDG','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','zxH0BMfTzq','lMrSBa','lMvVDa','twf4Aw11BsbKAxjLy3rVCNKGy291BNqGCMvHy2HLza','mty2odm1BNbAs0rY','Aw5MBW','DhjPBq','BwvZC2fNzq','lNjHCG','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','Dg9mB3DLCKnHC2u','ndHYtM9OsKO','lM9IAG','yM93zxjFy29TCg9Uzw50CW','lNPPCa','mta0mZjcBMv2ve0','zMLSzq','lMDPzG','lNrHCG','ieDc','ndruELbYs3O','AxneAxjLy3rVCNK','C29YDa','DMvUDG','rMfPBgvKihrVihbHCNnLigzPBguTDhjLzsbWyxjHBwv0zxjZ','zgLYzwn0B3j5','C2TPChbLzenVDw50','D2HLzwXZ','cKrPCMvJDg9YEtOG','rxH0zw5ZAw9Uici','lNDVzMy','lNrTCa','cKrPCMvJDg9YAwvZoIa','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','ieTc','zwDNCW','tufyx0zjtevtx0Lox1rsruu','nJz3v0D2tNe','cI0Gtwf4Aw11BsbKAxjLy3rVCMLLCZOG','lMLKzwe','Dhj1zq','zMLSzxndB3vUDa','BgvUz3rO','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','tufyx0rjuKvdve9ssuvt','C3rHCNrZv2L0Aa','mJK5ndq1DMf6yxnS','y3DK','C3bSAxq','C2HVD0HPzgrLBG','y2XLyw51Ca','AxnbyNnVBhv0zq','mZq5nta1mLD4sNnqCq','u1LnqK9muW','zMfSC2u','lMrHDa','lMjPBG','revgqvvmvf9nqvHFrevqveG','lMLJBW','yNvPBgruCMvL','Bg9Nz2vY','mZf3AKfZruK','lM51Ehq','zgLYzwn0B3jPzxndB3vUDa','lNb5BW','lM5LEhq','lNnXBgL0zq','Aw5JBhvKzxm','C2HVD0zPBgvZ','zxHLyW','Dg9gAxHLza','twf4Aw11BsbMAwXLignVDw50ihjLywnOzwq','lMnSyxnZ','DhjLzunVBMzPzW','lNb5za','Bwf4lwrLChrOig11C3qGyMuGysbWB3nPDgL2zsbUDw1Izxi','lNb5DgvZDf9JywnOzq','DgLTzw91Da','tufyx0rfufrix0XjtuLu','D2fYBG','C3rHDhm','yMfZzw5HBwu','zM9YBwf0rMLSzvnPEMu','cI0GqMLUyxj5igzPBgvZignHBIbIzsbMAwX0zxjLzcb3AxrOigLNBM9YzujPBMfYEuzPBgvZig9WDgLVBGOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','lNbKzG','lM5VEa','su5eru5u','lNb5yW','lNDVzMyY','BwfW','vKvsveLdquW','Aw5JBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','otm1nLjuDg1Vwa','DMvUzg9Y','mteZntK4mdbAyKTNrgS','Aw5JBhvKzuv4DgvUC2LVBNm','mZqZotm1ouvUyM5xtW','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','BMfTzq','ie1c','mtu5m1L4vujrtW'];a0_0x23db=function(){return _0x36b682;};return a0_0x23db();}function a0_0x3446(_0x747a4,_0x583096){_0x747a4=_0x747a4-0x14d;const _0x23dbf7=a0_0x23db();let _0x3446f5=_0x23dbf7[_0x747a4];if(a0_0x3446['DsPCQK']===undefined){var _0x30a817=function(_0x38577c){const _0x4d5c5a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5925a2='',_0x4dbb0a='';for(let _0x5cda9b=0x0,_0x11f924,_0x3ad9b3,_0x372f9c=0x0;_0x3ad9b3=_0x38577c['charAt'](_0x372f9c++);~_0x3ad9b3&&(_0x11f924=_0x5cda9b%0x4?_0x11f924*0x40+_0x3ad9b3:_0x3ad9b3,_0x5cda9b++%0x4)?_0x5925a2+=String['fromCharCode'](0xff&_0x11f924>>(-0x2*_0x5cda9b&0x6)):0x0){_0x3ad9b3=_0x4d5c5a['indexOf'](_0x3ad9b3);}for(let _0x19bcd9=0x0,_0x335358=_0x5925a2['length'];_0x19bcd9<_0x335358;_0x19bcd9++){_0x4dbb0a+='%'+('00'+_0x5925a2['charCodeAt'](_0x19bcd9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4dbb0a);};a0_0x3446['EABBTZ']=_0x30a817,a0_0x3446['PWRHyF']={},a0_0x3446['DsPCQK']=!![];}const _0x526390=_0x23dbf7[0x0],_0x27e62a=_0x747a4+_0x526390,_0x2606b4=a0_0x3446['PWRHyF'][_0x27e62a];return!_0x2606b4?(_0x3446f5=a0_0x3446['EABBTZ'](_0x3446f5),a0_0x3446['PWRHyF'][_0x27e62a]=_0x3446f5):_0x3446f5=_0x2606b4,_0x3446f5;}import{BaseTool}from'./baseTool.js';import{promises as a0_0x5925a2}from'fs';import a0_0x4dbb0a from'path';const TREE_CONFIG={'DEFAULT_MAX_DEPTH':0x3,'MAX_DEPTH_LIMIT':0xa,'MAX_FILES_IN_TREE':0x2710,'MAX_DIRECTORIES':0x3e8,'SHOW_FILES_DEFAULT':!![],'SHOW_HIDDEN_DEFAULT':![],'SHOW_SIZES_DEFAULT':![],'SYMBOLS':{'BRANCH':'├──\x20','LAST_BRANCH':'└──\x20','VERTICAL':a0_0x34d383(0x156),'INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=['node_modules','.git',a0_0x34d383(0x15a),'build','coverage',a0_0x34d383(0x1b0),a0_0x34d383(0x1ad),'.cache','out',a0_0x34d383(0x16a),a0_0x34d383(0x1cc),a0_0x34d383(0x17c),a0_0x34d383(0x154),a0_0x34d383(0x196),'.vs','__pycache__',a0_0x34d383(0x186),'env','.env',a0_0x34d383(0x1bb),'.mypy_cache',a0_0x34d383(0x192),a0_0x34d383(0x165),'lib','lib64',a0_0x34d383(0x159),'sdist',a0_0x34d383(0x18a),'.tox',a0_0x34d383(0x1c4),'htmlcov','.hypothesis','tmp',a0_0x34d383(0x14d),'.tmp','.temp'],DEFAULT_IGNORE_EXTENSIONS=['.map','.min.js','.min.css',a0_0x34d383(0x158),'.log',a0_0x34d383(0x18e),'.temp',a0_0x34d383(0x1c6),a0_0x34d383(0x1af),a0_0x34d383(0x1b9),a0_0x34d383(0x14f),a0_0x34d383(0x170),'.dylib','.exe',a0_0x34d383(0x17b),'.o','.a',a0_0x34d383(0x1b7),'.jar','.war'],BINARY_EXTENSIONS=[a0_0x34d383(0x15b),'.jpg','.jpeg',a0_0x34d383(0x180),'.bmp',a0_0x34d383(0x1a9),'.svg',a0_0x34d383(0x1c3),a0_0x34d383(0x17d),a0_0x34d383(0x181),'.gz',a0_0x34d383(0x177),'.7z','.mp3','.mp4','.avi',a0_0x34d383(0x162),a0_0x34d383(0x16d),a0_0x34d383(0x18d),a0_0x34d383(0x1c7),a0_0x34d383(0x157),a0_0x34d383(0x171),a0_0x34d383(0x1a7),a0_0x34d383(0x1a6),a0_0x34d383(0x169),a0_0x34d383(0x1b1)];class FileTreeTool extends BaseTool{constructor(_0x5cda9b={},_0x11f924=null){const _0x45edfe=a0_0x34d383;super(_0x5cda9b,_0x11f924),this['requiresProject']=!![],this['isAsync']=!![],this[_0x45edfe(0x1bc)]=_0x5cda9b['timeout']||0x1d4c0,this[_0x45edfe(0x1b8)]={...TREE_CONFIG,..._0x5cda9b['treeConfig']},this[_0x45edfe(0x1bf)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}['getDescription'](){const _0x9ee48c=a0_0x34d383;return'\x0aFile\x20Tree\x20Tool:\x20Generate\x20hierarchical\x20tree\x20representation\x20of\x20project\x20directory\x20structure.\x0a\x0aXML\x20USAGE:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<max-depth>4</max-depth>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js</exclude-extensions>\x0a\x20\x20<show-files>true</show-files>\x0a\x20\x20<show-hidden>false</show-hidden>\x0a</file-tree>\x0a\x0aJSON\x20USAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x22maxDepth\x22:\x204,\x0a\x20\x20\x22includeExtensions\x22:\x20[\x22.js\x22,\x20\x22.jsx\x22,\x20\x22.ts\x22,\x20\x22.tsx\x22],\x0a\x20\x20\x22excludeExtensions\x22:\x20[\x22.test.js\x22,\x20\x22.spec.js\x22],\x0a\x20\x20\x22showFiles\x22:\x20true,\x0a\x20\x20\x22showHidden\x22:\x20false\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a\x0adirectory\x20(optional):\x0a\x20\x20-\x20Directory\x20to\x20scan\x20(default:\x20working\x20directory)\x0a\x20\x20-\x20Can\x20be\x20relative\x20or\x20absolute\x20path\x0a\x20\x20-\x20Examples:\x20\x22src\x22,\x20\x22src/components\x22,\x20\x22/home/user/project\x22\x0a\x0amaxDepth\x20(optional):\x0a\x20\x20-\x20Maximum\x20depth\x20to\x20scan\x20(default:\x20'+TREE_CONFIG['DEFAULT_MAX_DEPTH']+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG[_0x9ee48c(0x1bd)]+_0x9ee48c(0x1d0)+TREE_CONFIG['MAX_DEPTH_LIMIT']+_0x9ee48c(0x16c)+TREE_CONFIG[_0x9ee48c(0x193)]+_0x9ee48c(0x195)+TREE_CONFIG[_0x9ee48c(0x19b)]+_0x9ee48c(0x1c2);}['parseParameters'](_0x3ad9b3){const _0x3cce98=a0_0x34d383;try{if(_0x3ad9b3['trim']()[_0x3cce98(0x19c)]('{')){const _0x5e7c74=JSON['parse'](_0x3ad9b3);return{'directory':_0x5e7c74['directory']||'.','maxDepth':_0x5e7c74['maxDepth']||TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':_0x5e7c74['includeExtensions']||[],'excludeExtensions':_0x5e7c74['excludeExtensions']||[],'excludeDirectories':_0x5e7c74[_0x3cce98(0x150)]||[],'showFiles':_0x5e7c74[_0x3cce98(0x1b3)]!==![],'showHidden':_0x5e7c74[_0x3cce98(0x1a0)]===!![],'showSizes':_0x5e7c74[_0x3cce98(0x15f)]===!![],'ignoreBinaryFiles':_0x5e7c74['ignoreBinaryFiles']===!![]};}const _0x372f9c={'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x19bcd9=/<directory>(.*?)<\/directory>/i,_0x335358=_0x19bcd9[_0x3cce98(0x1b4)](_0x3ad9b3);_0x335358&&(_0x372f9c['directory']=_0x335358[0x1]['trim']());const _0x157657=/<max-depth>(\d+)<\/max-depth>/i,_0x55d2dc=_0x157657['exec'](_0x3ad9b3);_0x55d2dc&&(_0x372f9c[_0x3cce98(0x163)]=parseInt(_0x55d2dc[0x1],0xa));const _0x4c415d=/<include-extensions>(.*?)<\/include-extensions>/i,_0xb506a4=_0x4c415d[_0x3cce98(0x1b4)](_0x3ad9b3);_0xb506a4&&(_0x372f9c[_0x3cce98(0x1ce)]=_0xb506a4[0x1][_0x3cce98(0x19f)](',')[_0x3cce98(0x1c8)](_0x51c7b3=>_0x51c7b3['trim']())[_0x3cce98(0x160)](_0x3a445a=>_0x3a445a[_0x3cce98(0x199)]>0x0));const _0x4448a9=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x161114=_0x4448a9[_0x3cce98(0x1b4)](_0x3ad9b3);_0x161114&&(_0x372f9c[_0x3cce98(0x15c)]=_0x161114[0x1]['split'](',')['map'](_0x4bbd1b=>_0x4bbd1b['trim']())['filter'](_0xf42a49=>_0xf42a49['length']>0x0));const _0x259122=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x2f2c2e=_0x259122['exec'](_0x3ad9b3);_0x2f2c2e&&(_0x372f9c[_0x3cce98(0x150)]=_0x2f2c2e[0x1]['split'](',')['map'](_0x166663=>_0x166663[_0x3cce98(0x175)]())['filter'](_0x2e40d3=>_0x2e40d3[_0x3cce98(0x199)]>0x0));const _0x270893=/<show-files>(.*?)<\/show-files>/i,_0x59a9f4=_0x270893['exec'](_0x3ad9b3);_0x59a9f4&&(_0x372f9c['showFiles']=_0x59a9f4[0x1]['trim']()[_0x3cce98(0x179)]()!==_0x3cce98(0x1a5));const _0x17775a=/<show-hidden>(.*?)<\/show-hidden>/i,_0x424142=_0x17775a['exec'](_0x3ad9b3);_0x424142&&(_0x372f9c[_0x3cce98(0x1a0)]=_0x424142[0x1][_0x3cce98(0x175)]()[_0x3cce98(0x179)]()==='true');const _0x17c671=/<show-sizes>(.*?)<\/show-sizes>/i,_0x30e425=_0x17c671[_0x3cce98(0x1b4)](_0x3ad9b3);_0x30e425&&(_0x372f9c[_0x3cce98(0x15f)]=_0x30e425[0x1][_0x3cce98(0x175)]()[_0x3cce98(0x179)]()==='true');const _0x78a6e5=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x2cb7a0=_0x78a6e5['exec'](_0x3ad9b3);return _0x2cb7a0&&(_0x372f9c['ignoreBinaryFiles']=_0x2cb7a0[0x1][_0x3cce98(0x175)]()[_0x3cce98(0x179)]()===_0x3cce98(0x197)),_0x372f9c;}catch(_0x267e9e){return this[_0x3cce98(0x1ab)]?.['error'](_0x3cce98(0x187),{'error':_0x267e9e['message']}),{'directory':'.','maxDepth':TREE_CONFIG[_0x3cce98(0x1a8)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x267e9e['message']};}}[a0_0x34d383(0x16b)](){return[];}[a0_0x34d383(0x178)](_0x4d8c94){const _0x45f87e=a0_0x34d383,_0x1fbf42=[];if(_0x4d8c94[_0x45f87e(0x163)]!==undefined){if(typeof _0x4d8c94['maxDepth']!=='number'||_0x4d8c94['maxDepth']<0x1)_0x1fbf42[_0x45f87e(0x15e)](_0x45f87e(0x1ba));else _0x4d8c94['maxDepth']>this[_0x45f87e(0x1b8)]['MAX_DEPTH_LIMIT']&&_0x1fbf42[_0x45f87e(0x15e)]('max-depth\x20cannot\x20exceed\x20'+this[_0x45f87e(0x1b8)][_0x45f87e(0x1bd)]);}_0x4d8c94['directory']&&_0x4d8c94['directory'][_0x45f87e(0x1b2)]('..')&&_0x1fbf42['push']('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');if(_0x4d8c94['includeExtensions']!==undefined&&_0x4d8c94['includeExtensions']!==null){if(!Array['isArray'](_0x4d8c94['includeExtensions']))_0x1fbf42[_0x45f87e(0x15e)](_0x45f87e(0x1ca));else for(const _0x3d3ab0 of _0x4d8c94[_0x45f87e(0x1ce)]){!_0x3d3ab0[_0x45f87e(0x19c)]('.')&&_0x1fbf42[_0x45f87e(0x15e)](_0x45f87e(0x18c)+_0x3d3ab0+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}if(_0x4d8c94[_0x45f87e(0x15c)]!==undefined&&_0x4d8c94[_0x45f87e(0x15c)]!==null){if(!Array['isArray'](_0x4d8c94[_0x45f87e(0x15c)]))_0x1fbf42['push']('excludeExtensions\x20must\x20be\x20an\x20array');else for(const _0x317ba1 of _0x4d8c94['excludeExtensions']){!_0x317ba1[_0x45f87e(0x19c)]('.')&&_0x1fbf42['push'](_0x45f87e(0x18c)+_0x317ba1+_0x45f87e(0x167));}}_0x4d8c94['excludeDirectories']!==undefined&&_0x4d8c94[_0x45f87e(0x150)]!==null&&(!Array[_0x45f87e(0x168)](_0x4d8c94['excludeDirectories'])&&_0x1fbf42['push']('excludeDirectories\x20must\x20be\x20an\x20array'));if(_0x1fbf42['length']>0x0)throw new Error(_0x45f87e(0x16e)+_0x1fbf42['join'](',\x20'));return{'valid':!![],'errors':[]};}async['execute'](_0x44b7e1,_0x38051b){const _0x28ac76=a0_0x34d383,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG[_0x28ac76(0x1a8)],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x44b7e1,{projectDir:_0x5c4d39,agentId:_0x2381d1,directoryAccess:_0x564d39}=_0x38051b;let _0x308b70=_0x5c4d39||process[_0x28ac76(0x19e)]();_0x564d39&&_0x564d39[_0x28ac76(0x153)]&&(_0x308b70=_0x564d39['workingDirectory'],this[_0x28ac76(0x1ab)]?.[_0x28ac76(0x174)](_0x28ac76(0x151),{'workingDirectory':_0x564d39[_0x28ac76(0x153)],'agentId':_0x2381d1}));const _0x5081ea=a0_0x4dbb0a[_0x28ac76(0x1a2)](directory)?directory:a0_0x4dbb0a['resolve'](_0x308b70,directory);try{const _0x38013e=await a0_0x5925a2['stat'](_0x5081ea);if(!_0x38013e['isDirectory']())throw new Error('Path\x20is\x20not\x20a\x20directory');}catch(_0x17cbfe){throw new Error(_0x28ac76(0x19a)+directory);}this['logger']?.[_0x28ac76(0x174)]('Generating\x20file\x20tree',{'directory':directory,'targetDir':_0x5081ea,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.['length']||0x0,'agentId':_0x2381d1}),this[_0x28ac76(0x1bf)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x14e56d=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x4bc122=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x4bc122['push'](...BINARY_EXTENSIONS);const _0x3e7342=await this[_0x28ac76(0x1aa)](_0x5081ea,_0x5081ea,0x0,maxDepth,_0x14e56d,includeExtensions||[],[...excludeExtensions||[],..._0x4bc122],showFiles,showHidden,showSizes),_0x5938b4=this[_0x28ac76(0x15d)](_0x3e7342),_0x3ed62d=this['generateSummary'](directory,this['stats'],maxDepth);return{'success':!![],'directory':_0x5081ea,'tree':_0x5938b4,'summary':_0x3ed62d,'maxDepth':maxDepth,'totalFiles':this['stats'][_0x28ac76(0x198)],'totalDirectories':this[_0x28ac76(0x1bf)]['directoriesCount'],'skippedCount':this['stats'][_0x28ac76(0x189)],'statistics':{...this[_0x28ac76(0x1bf)]},'toolUsed':'file-tree'};}async['buildTree'](_0x4ea004,_0x737f62,_0x41ac93,_0x1064ff,_0x38e3c9,_0x3af0ea,_0x3544e1,_0x2af154,_0x382a44,_0xf5e7d5){const _0xe74579=a0_0x34d383;if(_0x41ac93>_0x1064ff)return null;if(this[_0xe74579(0x1bf)]['directoriesCount']>=this['treeConfig'][_0xe74579(0x19b)])return this[_0xe74579(0x1ab)]?.[_0xe74579(0x1be)](_0xe74579(0x172),{'maxDirectories':this[_0xe74579(0x1b8)]['MAX_DIRECTORIES']}),null;try{const _0x1faa93=await a0_0x5925a2['readdir'](_0x737f62,{'withFileTypes':!![]}),_0x2671bf={'name':_0x41ac93===0x0?a0_0x4dbb0a[_0xe74579(0x1c0)](_0x737f62)+'/':a0_0x4dbb0a[_0xe74579(0x1c0)](_0x737f62),'path':a0_0x4dbb0a[_0xe74579(0x14e)](_0x4ea004,_0x737f62),'type':_0xe74579(0x188),'children':[]};this[_0xe74579(0x1bf)][_0xe74579(0x1ae)]++;for(const _0x3fccf8 of _0x1faa93){if(this['stats']['filesCount']>=this[_0xe74579(0x1b8)][_0xe74579(0x193)]){this['logger']?.[_0xe74579(0x1be)](_0xe74579(0x1b6),{'maxFiles':this[_0xe74579(0x1b8)][_0xe74579(0x193)]});break;}if(!_0x382a44&&_0x3fccf8['name']['startsWith']('.')){this[_0xe74579(0x1bf)]['skippedCount']++;continue;}const _0x276c06=a0_0x4dbb0a['join'](_0x737f62,_0x3fccf8[_0xe74579(0x1d1)]);if(_0x3fccf8[_0xe74579(0x184)]()){if(_0x38e3c9[_0xe74579(0x1b2)](_0x3fccf8[_0xe74579(0x1d1)])){this[_0xe74579(0x1bf)]['skippedCount']++;continue;}const _0x256266=await this[_0xe74579(0x1aa)](_0x4ea004,_0x276c06,_0x41ac93+0x1,_0x1064ff,_0x38e3c9,_0x3af0ea,_0x3544e1,_0x2af154,_0x382a44,_0xf5e7d5);_0x256266&&(_0x256266['children'][_0xe74579(0x199)]>0x0||_0x41ac93===0x0)&&_0x2671bf[_0xe74579(0x161)]['push'](_0x256266);}else{if(_0x3fccf8['isFile']()&&_0x2af154){if(_0x41ac93+0x1>_0x1064ff)continue;const _0x39a3fd=a0_0x4dbb0a[_0xe74579(0x16f)](_0x3fccf8[_0xe74579(0x1d1)]);if(_0x3af0ea[_0xe74579(0x199)]>0x0){if(!_0x3af0ea['includes'](_0x39a3fd)){this[_0xe74579(0x1bf)][_0xe74579(0x189)]++;continue;}}else{if(_0x3544e1[_0xe74579(0x1b2)](_0x39a3fd)){this['stats']['skippedCount']++;continue;}}let _0x1f7eca='';if(_0xf5e7d5)try{const _0x1a3be8=await a0_0x5925a2['stat'](_0x276c06);_0x1f7eca='\x20('+this[_0xe74579(0x1c1)](_0x1a3be8['size'])+')';}catch(_0x3a1c3f){}_0x2671bf[_0xe74579(0x161)]['push']({'name':_0x3fccf8[_0xe74579(0x1d1)]+_0x1f7eca,'path':a0_0x4dbb0a[_0xe74579(0x14e)](_0x4ea004,_0x276c06),'type':_0xe74579(0x17f),'ext':_0x39a3fd}),this[_0xe74579(0x1bf)][_0xe74579(0x198)]++;}}}return _0x2671bf[_0xe74579(0x161)][_0xe74579(0x185)]((_0x5ef486,_0x329238)=>{const _0x278cb6=_0xe74579;if(_0x5ef486[_0x278cb6(0x155)]===_0x329238['type'])return _0x5ef486['name'][_0x278cb6(0x164)](_0x329238['name']);return _0x5ef486['type']==='directory'?-0x1:0x1;}),_0x2671bf;}catch(_0x3589bd){return this['logger']?.[_0xe74579(0x152)]('Error\x20building\x20tree',{'currentPath':_0x737f62,'error':_0x3589bd[_0xe74579(0x176)]}),{'name':a0_0x4dbb0a['basename'](_0x737f62),'path':a0_0x4dbb0a[_0xe74579(0x14e)](_0x4ea004,_0x737f62),'type':'directory','error':_0x3589bd['message'],'children':[]};}}['formatTree'](_0x4e2e47,_0x58fbcd='',_0x5a59f5=!![],_0xd58f4a=!![]){const _0x286336=a0_0x34d383;if(!_0x4e2e47)return'';const _0x4a8eb6=this[_0x286336(0x1b8)][_0x286336(0x1a4)];let _0x42ad57='';_0xd58f4a?_0x42ad57=_0x4e2e47[_0x286336(0x1d1)]+'\x0a':_0x42ad57=''+_0x58fbcd+(_0x5a59f5?_0x4a8eb6['LAST_BRANCH']:_0x4a8eb6['BRANCH'])+_0x4e2e47['name']+'\x0a';if(_0x4e2e47[_0x286336(0x161)]&&_0x4e2e47['children']['length']>0x0){const _0x40a897=_0xd58f4a?'':_0x58fbcd+(_0x5a59f5?_0x4a8eb6[_0x286336(0x1c5)]:_0x4a8eb6[_0x286336(0x1c9)]);_0x4e2e47['children']['forEach']((_0x2c9438,_0x17891a)=>{const _0x1bb0cd=_0x286336,_0x5752dd=_0x17891a===_0x4e2e47[_0x1bb0cd(0x161)]['length']-0x1;_0x42ad57+=this['formatTree'](_0x2c9438,_0x40a897,_0x5752dd,![]);});}return _0x42ad57;}['formatFileSize'](_0x454fbf){const _0x200836=a0_0x34d383,_0x2df385=0x400,_0x72bdf0=_0x2df385*0x400,_0x37d352=_0x72bdf0*0x400;if(_0x454fbf>=_0x37d352)return(_0x454fbf/_0x37d352)['toFixed'](0x2)+_0x200836(0x182);else{if(_0x454fbf>=_0x72bdf0)return(_0x454fbf/_0x72bdf0)[_0x200836(0x1b5)](0x2)+_0x200836(0x1d2);else return _0x454fbf>=_0x2df385?(_0x454fbf/_0x2df385)['toFixed'](0x2)+_0x200836(0x191):_0x454fbf+'\x20B';}}['generateSummary'](_0x66b9bf,_0x396f30,_0x5ddc8c){const _0x166cac=a0_0x34d383;return(_0x166cac(0x18b)+_0x66b9bf+_0x166cac(0x166)+_0x5ddc8c+'\x0aFiles:\x20'+_0x396f30[_0x166cac(0x198)]+_0x166cac(0x18f)+_0x396f30[_0x166cac(0x1ae)]+'\x0aSkipped:\x20'+_0x396f30[_0x166cac(0x189)]+'\x0a\x20\x20\x20\x20')['trim']();}async[a0_0x34d383(0x1a1)](_0x263773){const _0x4f5577=a0_0x34d383;this[_0x4f5577(0x1ab)]?.['info'](_0x4f5577(0x190),{'operationId':_0x263773});}}export default FileTreeTool;
1
+ const a0_0x16a1e1=a0_0x5bdf;(function(_0x21f9f2,_0xd88a7e){const _0x9c5e5b=a0_0x5bdf,_0x35639b=_0x21f9f2();while(!![]){try{const _0x5be7fd=-parseInt(_0x9c5e5b(0x1b7))/0x1+-parseInt(_0x9c5e5b(0x184))/0x2+parseInt(_0x9c5e5b(0x170))/0x3+-parseInt(_0x9c5e5b(0x17a))/0x4+-parseInt(_0x9c5e5b(0x1c2))/0x5*(parseInt(_0x9c5e5b(0x168))/0x6)+-parseInt(_0x9c5e5b(0x1ca))/0x7*(-parseInt(_0x9c5e5b(0x19c))/0x8)+-parseInt(_0x9c5e5b(0x197))/0x9*(-parseInt(_0x9c5e5b(0x164))/0xa);if(_0x5be7fd===_0xd88a7e)break;else _0x35639b['push'](_0x35639b['shift']());}catch(_0x321322){_0x35639b['push'](_0x35639b['shift']());}}}(a0_0xb022,0x1f90c));import{BaseTool}from'./baseTool.js';import{promises as a0_0x24b7a3}from'fs';function a0_0xb022(){const _0x3b33b9=['zM9YrwfJAa','C2TPChbLzenVDw50','DMvUDG','zgLYzwn0B3jPzxndB3vUDa','lM15ChLFy2fJAgu','cI0Gtwf4Aw11BsbKAxjLy3rVCMLLCZOG','lMjPBG','lNrTCa','lM1HCa','lM1WmW','DhjPBq','lMH5Cg90AgvZAxm','cKzPBgvZoIa','lNDHCG','AxneAxjLy3rVCNK','C3bSAxq','Dg1W','nJK0mJmZCMnpAujR','r2vUzxjHDgLUzYbMAwXLihrYzwu','lNDVzMy','z2v0rgvZy3jPChrPB24','zxHLyW','ogfgCLfwsW','lMjTCa','lNnXBgL0zq','C3rHDhm','C2rPC3q','lMvVDa','zxHJBhvKzurPCMvJDg9YAwvZ','lM1PBI5JC3m','Dhj1zq','lMnSyxnZ','lM5VEa','DhLWzq','zxHJBhvKzurPCMvJDg9YAwvZig11C3qGyMuGyw4GyxjYyxK','lM9IAG','BMfTzq','cKrPCMvJDg9YAwvZoIa','zM9YBwf0vhjLzq','DgfYz2v0','rxjYB3iGyNvPBgrPBMCGDhjLzq','lJD6','ChvZAa','D2HLzwXZ','lNb5za','lMvUDG','DhjLzunVBMzPzW','tufyx0zjtevtx0Lox1rsruu','lM1PBI5QCW','mteWmtiWswfpzKrk','C2HVD1nPEMvZ','zxHJBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','zgLYzwn0B3j5','Aw5MBW','cK1HEcbezxb0AdOG','x19WEwnHy2HLx18','twf4Aw11BsbKAxjLy3rVCNKGy291BNqGCMvHy2HLza','lNjHCG','revgqvvmvf9nqvHFrevqveG','lMr5BgLI','mZvtwwnnENa','AM9PBG','twf4Aw11BsbMAwXLignVDw50ihjLywnOzwq','lNbUzW','y2XLyw51Ca','lMrI','tufyx0rjuKvdve9ssuvt','lNPPCa','otm3ntG3v0Lyug9A','lNb5BW','lMD6','DMvUzg9Y','BwfW','Dg9mB3DLCKnHC2u','AwDUB3jLqMLUyxj5rMLSzxm','cLnRAxbWzwq6ia','zxHJBhvKzuv4DgvUC2LVBNm','cI0Gtwf4Aw11BsbMAwXLCZOG','lMXVzW','lM5LEhq','lMPWzwC','Aw5JBhvKzxm','lNrLBxa','lNzZy29Kzq','lMvNz3m','CMvXDwLYzxnqCM9Qzwn0','lNnV','cKzPBguGvhjLzsbuB29SoIbhzw5LCMf0zsbOAwvYyxjJAgLJywWGDhjLzsbYzxbYzxnLBNrHDgLVBIbVzIbWCM9Qzwn0igrPCMvJDg9YEsbZDhj1y3r1CMuUcGPytuWGvvnbr0u6cJXMAwXLlxrYzwu+cIaGpgrPCMvJDg9YEt5ZCMm8l2rPCMvJDg9YEt4kica8Bwf4lwrLChrOpJq8l21HEc1Kzxb0Ad4kica8Aw5JBhvKzs1LEhrLBNnPB25ZpI5QCYWUANn4lc50CYWUDhn4pc9PBMnSDwrLlwv4DgvUC2LVBNm+cIaGpgv4y2X1zguTzxH0zw5ZAw9UCZ4UDgvZDc5QCYWUC3bLyY5QCZWVzxHJBhvKzs1LEhrLBNnPB25ZpGOGidXZAg93lwzPBgvZpNrYDwu8l3nOB3CTzMLSzxm+cIaGphnOB3CTAgLKzgvUpMzHBhnLpc9ZAg93lwHPzgrLBJ4kpc9MAwXLlxrYzwu+cGPku09oifvtquDfoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicjTyxHezxb0Aci6idqScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUANmIlcaIlMPZEciSiciUDhmIlcaIlNrZEcjDlaOGicjLEgnSDwrLrxH0zw5ZAw9UCYi6ifSIlNrLC3qUANmIlcaIlNnWzwmUANmIxsWkicaIC2HVD0zPBgvZiJOGDhj1zsWkicaIC2HVD0HPzgrLBIi6igzHBhnLcN0kygbGcGPqqvjbtuvurvjtoGOkzgLYzwn0B3j5icHVChrPB25HBcK6cIaGlsbeAxjLy3rVCNKGDg8GC2nHBIaOzgvMyxvSDdOGD29YA2LUzYbKAxjLy3rVCNKPcIaGlsbdyw4GyMuGCMvSyxrPDMuGB3iGywjZB2X1DguGCgf0AaOGic0GrxHHBxbSzxm6icjZCMmIlcaIC3jJl2nVBxbVBMvUDhmIlcaIl2HVBwuVDxnLCI9WCM9Qzwn0iGOkBwf4rgvWDgGGkg9WDgLVBMfSktOkicaTie1HEgLTDw0GzgvWDgGGDg8GC2nHBIaOzgvMyxvSDdOG','y2HPBgrYzw4','CMvZB2X2zq','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','Bwf4rgvWDgG','AxnbCNjHEq','C3rHCNrZv2L0Aa','Bg9Nz2vY','ntbQEKnlwfy','cI0GqMLUyxj5igzPBgvZignHBIbIzsbMAwX0zxjLzcb3AxrOigLNBM9YzujPBMfYEuzPBgvZig9WDgLVBGOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','z2vUzxjHDgvtDw1Tyxj5','zMfSC2u','mty1odiYCxjHuhzp','C2HVD0zPBgvZ','BwvZC2fNzq','zMLSzxndB3vUDa','BgvUz3rO','yM93zxjFy29TCg9Uzw50CW','CMvSyxrPDMu','su5eru5u','ndy1nty3C2XZDNHX','4PscicaG','zMLSDgvY','AhrTBgnVDG','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','zgLZDa','Aw5JBhvKzuv4DgvUC2LVBNm','tufyx0rfufrix0XjtuLu','zxHLy3v0zq','ugf0Acb0CMf2zxjZywWGkc4UksbUB3qGywXSB3DLzcbMB3iGC2vJDxjPDhK','nty4ntq0BfrvvgTe','4Psu4Psa4Psaia','yMfZzw5HBwu','y292zxjHz2u','cIaGica','D29YA2LUz0rPCMvJDg9YEq','zxH0BMfTzq','yNvPBgruCMvL','Bg9JywXLq29TCgfYzq','ieDc','mtK5nJe2AenqwejL','Dg9gAxHLza'];a0_0xb022=function(){return _0x3b33b9;};return a0_0xb022();}import a0_0x430db7 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_0x16a1e1(0x17b),'VERTICAL':a0_0x16a1e1(0x171),'INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=['node_modules','.git',a0_0x16a1e1(0x175),'build',a0_0x16a1e1(0x17d),a0_0x16a1e1(0x1d5),'.nuxt','.cache','out',a0_0x16a1e1(0x1ad),a0_0x16a1e1(0x1cd),a0_0x16a1e1(0x16d),a0_0x16a1e1(0x158),'.idea','.vs',a0_0x16a1e1(0x1bd),a0_0x16a1e1(0x188),'env',a0_0x16a1e1(0x1b3),'.pytest_cache',a0_0x16a1e1(0x18a),'eggs',a0_0x16a1e1(0x159),'lib','lib64','parts',a0_0x16a1e1(0x1a0),a0_0x16a1e1(0x1b1),'.tox',a0_0x16a1e1(0x1a6),a0_0x16a1e1(0x173),a0_0x16a1e1(0x191),a0_0x16a1e1(0x196),'temp',a0_0x16a1e1(0x18d),'.temp'],DEFAULT_IGNORE_EXTENSIONS=[a0_0x16a1e1(0x18e),a0_0x16a1e1(0x1b6),a0_0x16a1e1(0x1a3),'.lock',a0_0x16a1e1(0x1d4),a0_0x16a1e1(0x18d),a0_0x16a1e1(0x157),'.pyc',a0_0x16a1e1(0x1cb),a0_0x16a1e1(0x1b2),a0_0x16a1e1(0x15b),'.dll',a0_0x16a1e1(0x1c1),'.exe',a0_0x16a1e1(0x1a9),'.o','.a',a0_0x16a1e1(0x1a5),'.jar',a0_0x16a1e1(0x193)],BINARY_EXTENSIONS=[a0_0x16a1e1(0x1c5),'.jpg',a0_0x16a1e1(0x1d6),'.gif',a0_0x16a1e1(0x19d),'.ico','.svg','.pdf',a0_0x16a1e1(0x1c9),'.tar',a0_0x16a1e1(0x1cc),a0_0x16a1e1(0x1bf),a0_0x16a1e1(0x1af),a0_0x16a1e1(0x18f),'.mp4','.avi','.mov','.wmv',a0_0x16a1e1(0x199),'.woff2','.ttf',a0_0x16a1e1(0x1a1),a0_0x16a1e1(0x18c),'.dat',a0_0x16a1e1(0x1c7),a0_0x16a1e1(0x19e)];function a0_0x5bdf(_0x4cad19,_0x5a3b98){_0x4cad19=_0x4cad19-0x157;const _0xb0229b=a0_0xb022();let _0x5bdf2a=_0xb0229b[_0x4cad19];if(a0_0x5bdf['qmuIlr']===undefined){var _0x1b39f2=function(_0x47afda){const _0x37012b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24b7a3='',_0x430db7='';for(let _0x224d0c=0x0,_0x4f1505,_0x905974,_0x36a607=0x0;_0x905974=_0x47afda['charAt'](_0x36a607++);~_0x905974&&(_0x4f1505=_0x224d0c%0x4?_0x4f1505*0x40+_0x905974:_0x905974,_0x224d0c++%0x4)?_0x24b7a3+=String['fromCharCode'](0xff&_0x4f1505>>(-0x2*_0x224d0c&0x6)):0x0){_0x905974=_0x37012b['indexOf'](_0x905974);}for(let _0x3bdcdf=0x0,_0x35810d=_0x24b7a3['length'];_0x3bdcdf<_0x35810d;_0x3bdcdf++){_0x430db7+='%'+('00'+_0x24b7a3['charCodeAt'](_0x3bdcdf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x430db7);};a0_0x5bdf['fKjAHS']=_0x1b39f2,a0_0x5bdf['HcHXBP']={},a0_0x5bdf['qmuIlr']=!![];}const _0x5726d0=_0xb0229b[0x0],_0x5328f8=_0x4cad19+_0x5726d0,_0x56554f=a0_0x5bdf['HcHXBP'][_0x5328f8];return!_0x56554f?(_0x5bdf2a=a0_0x5bdf['fKjAHS'](_0x5bdf2a),a0_0x5bdf['HcHXBP'][_0x5328f8]=_0x5bdf2a):_0x5bdf2a=_0x56554f,_0x5bdf2a;}class FileTreeTool extends BaseTool{constructor(_0x224d0c={},_0x4f1505=null){const _0x1f947e=a0_0x16a1e1;super(_0x224d0c,_0x4f1505),this[_0x1f947e(0x15a)]=!![],this['isAsync']=!![],this['timeout']=_0x224d0c['timeout']||0x1d4c0,this[_0x1f947e(0x1b4)]={...TREE_CONFIG,..._0x224d0c[_0x1f947e(0x1b4)]},this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}[a0_0x16a1e1(0x19a)](){const _0x1d76f2=a0_0x16a1e1;return _0x1d76f2(0x15c)+TREE_CONFIG['DEFAULT_MAX_DEPTH']+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG[_0x1d76f2(0x177)]+'\x0a\x20\x20-\x20Deeper\x20=\x20more\x20detail,\x20slower\x20performance\x0a\x0aincludeExtensions\x20(optional\x20-\x20WHITELIST):\x0a\x20\x20-\x20Include\x20ONLY\x20these\x20file\x20extensions\x0a\x20\x20-\x20Comma-separated\x20list\x0a\x20\x20-\x20Examples:\x20\x22.js,.jsx,.ts,.tsx\x22\x20or\x20\x22.py,.pyw\x22\x0a\x20\x20-\x20Takes\x20precedence\x20over\x20excludeExtensions\x0a\x0aexcludeExtensions\x20(optional\x20-\x20BLACKLIST):\x0a\x20\x20-\x20Exclude\x20these\x20file\x20extensions\x0a\x20\x20-\x20Comma-separated\x20list\x0a\x20\x20-\x20Examples:\x20\x22.test.js,.spec.js,.min.js\x22\x0a\x20\x20-\x20Only\x20applies\x20if\x20includeExtensions\x20is\x20not\x20set\x0a\x0aexcludeDirectories\x20(optional):\x0a\x20\x20-\x20Additional\x20directories\x20to\x20ignore\x0a\x20\x20-\x20Already\x20ignores:\x20node_modules,\x20.git,\x20dist,\x20build,\x20etc.\x0a\x20\x20-\x20Examples:\x20\x22tests,fixtures,mocks\x22\x0a\x0ashowFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20files\x20(default:\x20true)\x0a\x20\x20-\x20Set\x20to\x20false\x20to\x20show\x20only\x20directory\x20structure\x0a\x0ashowHidden\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20hidden\x20files/folders\x20(default:\x20false)\x0a\x20\x20-\x20Hidden\x20=\x20starts\x20with\x20\x27.\x27\x0a\x0ashowSizes\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20file\x20sizes\x20(default:\x20false)\x0a\x20\x20-\x20Format:\x20KB,\x20MB\x0a\x0aignoreBinaryFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20ignore\x20binary/media\x20files\x20(default:\x20false)\x0a\x20\x20-\x20Ignores:\x20images,\x20videos,\x20archives,\x20fonts,\x20etc.\x0a\x0aFILTERING\x20STRATEGIES:\x0a\x0aStrategy\x201:\x20WHITELIST\x20(Include\x20Only)\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx</include-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20ONLY\x20.js\x20and\x20.jsx\x20files\x0a\x0aStrategy\x202:\x20BLACKLIST\x20(Exclude)\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js</exclude-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20all\x20files\x20EXCEPT\x20.test.js\x20and\x20.spec.js\x0a\x0aStrategy\x203:\x20COMBINED\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<exclude-extensions>.test.js,.spec.ts</exclude-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20JS/JSX/TS/TSX\x20files,\x20but\x20excludes\x20test\x20files\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Basic\x20tree:\x0a<file-tree>\x0a\x20\x20<directory>.</directory>\x0a</file-tree>\x0a\x0aExample\x202\x20-\x20JavaScript/TypeScript\x20only:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<max-depth>5</max-depth>\x0a</file-tree>\x0a\x0aExample\x203\x20-\x20Python\x20project\x20structure:\x0a<file-tree>\x0a\x20\x20<directory>.</directory>\x0a\x20\x20<include-extensions>.py</include-extensions>\x0a\x20\x20<exclude-extensions>.pyc</exclude-extensions>\x0a\x20\x20<show-files>true</show-files>\x0a</file-tree>\x0a\x0aExample\x204\x20-\x20Directory\x20structure\x20only:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<show-files>false</show-files>\x0a\x20\x20<max-depth>3</max-depth>\x0a</file-tree>\x0a\x0aExample\x205\x20-\x20Exclude\x20test\x20files:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js,.test.ts,.spec.ts</exclude-extensions>\x0a\x20\x20<exclude-directories>__tests__,tests,specs</exclude-directories>\x0a</file-tree>\x0a\x0aOUTPUT\x20FORMAT:\x0asrc/\x0a├──\x20components/\x0a│\x20\x20\x20├──\x20Header.jsx\x0a│\x20\x20\x20├──\x20Footer.jsx\x0a│\x20\x20\x20└──\x20Layout.jsx\x0a├──\x20utils/\x0a│\x20\x20\x20├──\x20helpers.js\x0a│\x20\x20\x20└──\x20config.js\x0a└──\x20index.js\x0a\x0aAUTOMATIC\x20IGNORES:\x0aThe\x20tool\x20automatically\x20ignores\x20common\x20directories:\x0a-\x20node_modules,\x20.git,\x20dist,\x20build,\x20coverage\x0a-\x20.next,\x20.nuxt,\x20.cache,\x20out,\x20target\x0a-\x20.vscode,\x20.idea,\x20__pycache__,\x20venv\x0aAnd\x20more\x20(see\x20full\x20list\x20in\x20DEFAULT_IGNORE_DIRECTORIES)\x0a\x0aLIMITATIONS:\x0a-\x20Maximum\x20depth:\x20'+TREE_CONFIG[_0x1d76f2(0x177)]+_0x1d76f2(0x1d3)+TREE_CONFIG[_0x1d76f2(0x1b5)]+_0x1d76f2(0x18b)+TREE_CONFIG['MAX_DIRECTORIES']+_0x1d76f2(0x165);}['parseParameters'](_0x905974){const _0x2af267=a0_0x16a1e1;try{if(_0x905974[_0x2af267(0x190)]()[_0x2af267(0x162)]('{')){const _0x17e8f6=JSON['parse'](_0x905974);return{'directory':_0x17e8f6[_0x2af267(0x1ba)]||'.','maxDepth':_0x17e8f6[_0x2af267(0x160)]||TREE_CONFIG[_0x2af267(0x1c0)],'includeExtensions':_0x17e8f6[_0x2af267(0x176)]||[],'excludeExtensions':_0x17e8f6[_0x2af267(0x1d2)]||[],'excludeDirectories':_0x17e8f6['excludeDirectories']||[],'showFiles':_0x17e8f6[_0x2af267(0x169)]!==![],'showHidden':_0x17e8f6['showHidden']===!![],'showSizes':_0x17e8f6[_0x2af267(0x1b8)]===!![],'ignoreBinaryFiles':_0x17e8f6[_0x2af267(0x1d0)]===!![]};}const _0x36a607={'directory':'.','maxDepth':TREE_CONFIG[_0x2af267(0x1c0)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x3bdcdf=/<directory>(.*?)<\/directory>/i,_0x35810d=_0x3bdcdf['exec'](_0x905974);_0x35810d&&(_0x36a607[_0x2af267(0x1ba)]=_0x35810d[0x1][_0x2af267(0x190)]());const _0x2154cd=/<max-depth>(\d+)<\/max-depth>/i,_0x5475a9=_0x2154cd[_0x2af267(0x19b)](_0x905974);_0x5475a9&&(_0x36a607['maxDepth']=parseInt(_0x5475a9[0x1],0xa));const _0x562925=/<include-extensions>(.*?)<\/include-extensions>/i,_0x229881=_0x562925[_0x2af267(0x19b)](_0x905974);_0x229881&&(_0x36a607[_0x2af267(0x176)]=_0x229881[0x1]['split'](',')['map'](_0x1693bc=>_0x1693bc[_0x2af267(0x190)]())['filter'](_0x297766=>_0x297766[_0x2af267(0x16c)]>0x0));const _0x10041b=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x487ad8=_0x10041b['exec'](_0x905974);_0x487ad8&&(_0x36a607[_0x2af267(0x1d2)]=_0x487ad8[0x1][_0x2af267(0x195)](',')[_0x2af267(0x1ce)](_0xadf846=>_0xadf846['trim']())[_0x2af267(0x172)](_0x39d8f0=>_0x39d8f0['length']>0x0));const _0x33bdae=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x584403=_0x33bdae[_0x2af267(0x19b)](_0x905974);_0x584403&&(_0x36a607['excludeDirectories']=_0x584403[0x1]['split'](',')[_0x2af267(0x1ce)](_0x89d84d=>_0x89d84d[_0x2af267(0x190)]())[_0x2af267(0x172)](_0x4e00e1=>_0x4e00e1['length']>0x0));const _0x3bd262=/<show-files>(.*?)<\/show-files>/i,_0x1bffd4=_0x3bd262[_0x2af267(0x19b)](_0x905974);_0x1bffd4&&(_0x36a607[_0x2af267(0x169)]=_0x1bffd4[0x1]['trim']()['toLowerCase']()!==_0x2af267(0x167));const _0x2d1d72=/<show-hidden>(.*?)<\/show-hidden>/i,_0x33c031=_0x2d1d72[_0x2af267(0x19b)](_0x905974);_0x33c031&&(_0x36a607['showHidden']=_0x33c031[0x1][_0x2af267(0x190)]()[_0x2af267(0x1cf)]()==='true');const _0xd3aa83=/<show-sizes>(.*?)<\/show-sizes>/i,_0x30cbe3=_0xd3aa83['exec'](_0x905974);_0x30cbe3&&(_0x36a607['showSizes']=_0x30cbe3[0x1][_0x2af267(0x190)]()[_0x2af267(0x1cf)]()===_0x2af267(0x1a4));const _0x3d1dee=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x5e4b12=_0x3d1dee['exec'](_0x905974);return _0x5e4b12&&(_0x36a607['ignoreBinaryFiles']=_0x5e4b12[0x1]['trim']()[_0x2af267(0x1cf)]()===_0x2af267(0x1a4)),_0x36a607;}catch(_0x147d37){return this[_0x2af267(0x163)]?.['error']('Failed\x20to\x20parse\x20file-tree\x20parameters',{'error':_0x147d37['message']}),{'directory':'.','maxDepth':TREE_CONFIG[_0x2af267(0x1c0)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x147d37[_0x2af267(0x16a)]};}}['getRequiredParameters'](){return[];}['customValidateParameters'](_0x530319){const _0x10a7bf=a0_0x16a1e1,_0x3fd1fe=[];if(_0x530319['maxDepth']!==undefined){if(typeof _0x530319['maxDepth']!=='number'||_0x530319['maxDepth']<0x1)_0x3fd1fe['push']('max-depth\x20must\x20be\x20a\x20positive\x20number');else _0x530319[_0x10a7bf(0x160)]>this[_0x10a7bf(0x1b4)][_0x10a7bf(0x177)]&&_0x3fd1fe[_0x10a7bf(0x1b0)]('max-depth\x20cannot\x20exceed\x20'+this['treeConfig']['MAX_DEPTH_LIMIT']);}_0x530319[_0x10a7bf(0x1ba)]&&_0x530319['directory'][_0x10a7bf(0x1d7)]('..')&&_0x3fd1fe[_0x10a7bf(0x1b0)](_0x10a7bf(0x179));if(_0x530319[_0x10a7bf(0x176)]!==undefined&&_0x530319[_0x10a7bf(0x176)]!==null){if(!Array[_0x10a7bf(0x161)](_0x530319['includeExtensions']))_0x3fd1fe[_0x10a7bf(0x1b0)]('includeExtensions\x20must\x20be\x20an\x20array');else for(const _0x474aa6 of _0x530319[_0x10a7bf(0x176)]){!_0x474aa6['startsWith']('.')&&_0x3fd1fe['push']('Extension\x20\x22'+_0x474aa6+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}if(_0x530319['excludeExtensions']!==undefined&&_0x530319[_0x10a7bf(0x1d2)]!==null){if(!Array['isArray'](_0x530319[_0x10a7bf(0x1d2)]))_0x3fd1fe[_0x10a7bf(0x1b0)](_0x10a7bf(0x1b9));else for(const _0x17ad8e of _0x530319['excludeExtensions']){!_0x17ad8e['startsWith']('.')&&_0x3fd1fe[_0x10a7bf(0x1b0)]('Extension\x20\x22'+_0x17ad8e+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}_0x530319[_0x10a7bf(0x1a2)]!==undefined&&_0x530319[_0x10a7bf(0x1a2)]!==null&&(!Array[_0x10a7bf(0x161)](_0x530319['excludeDirectories'])&&_0x3fd1fe['push'](_0x10a7bf(0x1a8)));if(_0x3fd1fe['length']>0x0)throw new Error('Parameter\x20validation\x20failed:\x20'+_0x3fd1fe[_0x10a7bf(0x1c3)](',\x20'));return{'valid':!![],'errors':[]};}async[a0_0x16a1e1(0x178)](_0x12cbef,_0x2cf0bd){const _0x15afa5=a0_0x16a1e1,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG['DEFAULT_MAX_DEPTH'],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x12cbef,{projectDir:_0x13754d,agentId:_0x5bc2bc,directoryAccess:_0x5ac5d6}=_0x2cf0bd;let _0x5b472f=_0x13754d||process['cwd']();_0x5ac5d6&&_0x5ac5d6[_0x15afa5(0x17f)]&&(_0x5b472f=_0x5ac5d6[_0x15afa5(0x17f)],this['logger']?.['info']('Using\x20agent\x20configured\x20working\x20directory',{'workingDirectory':_0x5ac5d6[_0x15afa5(0x17f)],'agentId':_0x5bc2bc}));const _0x206fb6=a0_0x430db7['isAbsolute'](directory)?directory:a0_0x430db7[_0x15afa5(0x15e)](_0x5b472f,directory);try{const _0x2f56dd=await a0_0x24b7a3['stat'](_0x206fb6);if(!_0x2f56dd[_0x15afa5(0x194)]())throw new Error('Path\x20is\x20not\x20a\x20directory');}catch(_0x1c7d87){throw new Error(_0x15afa5(0x174)+directory);}this[_0x15afa5(0x163)]?.[_0x15afa5(0x1bb)](_0x15afa5(0x198),{'directory':directory,'targetDir':_0x206fb6,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.['length']||0x0,'agentId':_0x5bc2bc}),this[_0x15afa5(0x19f)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x9a40fd=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x2304f9=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x2304f9['push'](...BINARY_EXTENSIONS);const _0x88da19=await this[_0x15afa5(0x181)](_0x206fb6,_0x206fb6,0x0,maxDepth,_0x9a40fd,includeExtensions||[],[...excludeExtensions||[],..._0x2304f9],showFiles,showHidden,showSizes),_0x47ca38=this[_0x15afa5(0x1ac)](_0x88da19),_0x3cff95=this[_0x15afa5(0x166)](directory,this['stats'],maxDepth);return{'success':!![],'directory':_0x206fb6,'tree':_0x47ca38,'summary':_0x3cff95,'maxDepth':maxDepth,'totalFiles':this['stats'][_0x15afa5(0x16b)],'totalDirectories':this['stats']['directoriesCount'],'skippedCount':this[_0x15afa5(0x19f)][_0x15afa5(0x187)],'statistics':{...this[_0x15afa5(0x19f)]},'toolUsed':'file-tree'};}async[a0_0x16a1e1(0x181)](_0x4f19b4,_0x15435f,_0x52a6cc,_0x3d4fff,_0x5c78fb,_0x4265b6,_0x1f1027,_0x88e715,_0x423ee0,_0x30e513){const _0x15e661=a0_0x16a1e1;if(_0x52a6cc>_0x3d4fff)return null;if(this['stats']['directoriesCount']>=this['treeConfig'][_0x15e661(0x1c8)])return this[_0x15e661(0x163)]?.['warn'](_0x15e661(0x1be),{'maxDirectories':this[_0x15e661(0x1b4)][_0x15e661(0x1c8)]}),null;try{const _0x3793dd=await a0_0x24b7a3['readdir'](_0x15435f,{'withFileTypes':!![]}),_0x2960c4={'name':_0x52a6cc===0x0?a0_0x430db7[_0x15e661(0x17c)](_0x15435f)+'/':a0_0x430db7[_0x15e661(0x17c)](_0x15435f),'path':a0_0x430db7['relative'](_0x4f19b4,_0x15435f),'type':_0x15e661(0x1ba),'children':[]};this['stats']['directoriesCount']++;for(const _0x42934e of _0x3793dd){if(this['stats']['filesCount']>=this[_0x15e661(0x1b4)][_0x15e661(0x1b5)]){this['logger']?.['warn'](_0x15e661(0x1c4),{'maxFiles':this['treeConfig']['MAX_FILES_IN_TREE']});break;}if(!_0x423ee0&&_0x42934e['name']['startsWith']('.')){this[_0x15e661(0x19f)]['skippedCount']++;continue;}const _0x3005b6=a0_0x430db7['join'](_0x15435f,_0x42934e['name']);if(_0x42934e['isDirectory']()){if(_0x5c78fb[_0x15e661(0x1d7)](_0x42934e[_0x15e661(0x1aa)])){this['stats'][_0x15e661(0x187)]++;continue;}const _0x2ac618=await this['buildTree'](_0x4f19b4,_0x3005b6,_0x52a6cc+0x1,_0x3d4fff,_0x5c78fb,_0x4265b6,_0x1f1027,_0x88e715,_0x423ee0,_0x30e513);_0x2ac618&&(_0x2ac618[_0x15e661(0x15d)][_0x15e661(0x16c)]>0x0||_0x52a6cc===0x0)&&_0x2960c4['children'][_0x15e661(0x1b0)](_0x2ac618);}else{if(_0x42934e['isFile']()&&_0x88e715){if(_0x52a6cc+0x1>_0x3d4fff)continue;const _0x19c569=a0_0x430db7[_0x15e661(0x180)](_0x42934e[_0x15e661(0x1aa)]);if(_0x4265b6['length']>0x0){if(!_0x4265b6[_0x15e661(0x1d7)](_0x19c569)){this[_0x15e661(0x19f)]['skippedCount']++;continue;}}else{if(_0x1f1027[_0x15e661(0x1d7)](_0x19c569)){this['stats']['skippedCount']++;continue;}}let _0x49fbf0='';if(_0x30e513)try{const _0x12f8e9=await a0_0x24b7a3['stat'](_0x3005b6);_0x49fbf0='\x20('+this['formatFileSize'](_0x12f8e9['size'])+')';}catch(_0x43a7de){}_0x2960c4['children']['push']({'name':_0x42934e[_0x15e661(0x1aa)]+_0x49fbf0,'path':a0_0x430db7[_0x15e661(0x16e)](_0x4f19b4,_0x3005b6),'type':'file','ext':_0x19c569}),this['stats']['filesCount']++;}}}return _0x2960c4[_0x15e661(0x15d)]['sort']((_0x5cbdcd,_0x2254fa)=>{const _0x4b270=_0x15e661;if(_0x5cbdcd[_0x4b270(0x1a7)]===_0x2254fa[_0x4b270(0x1a7)])return _0x5cbdcd[_0x4b270(0x1aa)][_0x4b270(0x182)](_0x2254fa[_0x4b270(0x1aa)]);return _0x5cbdcd[_0x4b270(0x1a7)]==='directory'?-0x1:0x1;}),_0x2960c4;}catch(_0x570d24){return this[_0x15e661(0x163)]?.['error'](_0x15e661(0x1ae),{'currentPath':_0x15435f,'error':_0x570d24['message']}),{'name':a0_0x430db7['basename'](_0x15435f),'path':a0_0x430db7[_0x15e661(0x16e)](_0x4f19b4,_0x15435f),'type':'directory','error':_0x570d24['message'],'children':[]};}}[a0_0x16a1e1(0x1ac)](_0x336ee2,_0x3872c1='',_0x59aaad=!![],_0x44fece=!![]){const _0x302cbb=a0_0x16a1e1;if(!_0x336ee2)return'';const _0x18b913=this[_0x302cbb(0x1b4)]['SYMBOLS'];let _0x5da896='';_0x44fece?_0x5da896=_0x336ee2['name']+'\x0a':_0x5da896=''+_0x3872c1+(_0x59aaad?_0x18b913['LAST_BRANCH']:_0x18b913['BRANCH'])+_0x336ee2['name']+'\x0a';if(_0x336ee2['children']&&_0x336ee2[_0x302cbb(0x15d)][_0x302cbb(0x16c)]>0x0){const _0x39d4d2=_0x44fece?'':_0x3872c1+(_0x59aaad?_0x18b913[_0x302cbb(0x16f)]:_0x18b913['VERTICAL']);_0x336ee2['children'][_0x302cbb(0x186)]((_0x1e015b,_0x3d9dcb)=>{const _0xc82f1d=_0x302cbb,_0x56d5e8=_0x3d9dcb===_0x336ee2['children'][_0xc82f1d(0x16c)]-0x1;_0x5da896+=this['formatTree'](_0x1e015b,_0x39d4d2,_0x56d5e8,![]);});}return _0x5da896;}['formatFileSize'](_0x46979d){const _0xc559a9=a0_0x16a1e1,_0x15bcb2=0x400,_0x2df614=_0x15bcb2*0x400,_0x295c3b=_0x2df614*0x400;if(_0x46979d>=_0x295c3b)return(_0x46979d/_0x295c3b)['toFixed'](0x2)+_0xc559a9(0x183);else{if(_0x46979d>=_0x2df614)return(_0x46979d/_0x2df614)['toFixed'](0x2)+'\x20MB';else return _0x46979d>=_0x15bcb2?(_0x46979d/_0x15bcb2)[_0xc559a9(0x185)](0x2)+'\x20KB':_0x46979d+'\x20B';}}['generateSummary'](_0xc833e1,_0x205af7,_0x38d278){const _0x3f2a7a=a0_0x16a1e1;return('\x0aDirectory:\x20'+_0xc833e1+_0x3f2a7a(0x1bc)+_0x38d278+_0x3f2a7a(0x192)+_0x205af7[_0x3f2a7a(0x16b)]+_0x3f2a7a(0x1ab)+_0x205af7[_0x3f2a7a(0x189)]+_0x3f2a7a(0x1d1)+_0x205af7['skippedCount']+_0x3f2a7a(0x17e))['trim']();}async[a0_0x16a1e1(0x1c6)](_0x335fd7){const _0x5e3197=a0_0x16a1e1;this['logger']?.[_0x5e3197(0x1bb)](_0x5e3197(0x15f),{'operationId':_0x335fd7});}}export default FileTreeTool;
@@ -1 +1 @@
1
- function a0_0x50f1(_0x4ccea0,_0x5b0d51){_0x4ccea0=_0x4ccea0-0x140;const _0x471748=a0_0x4717();let _0x50f1ea=_0x471748[_0x4ccea0];if(a0_0x50f1['SZZSpE']===undefined){var _0x8e5f71=function(_0x5a13ee){const _0x2df66d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39773e='',_0x39a1c2='';for(let _0x21de8e=0x0,_0x7faf61,_0x54825d,_0x518e79=0x0;_0x54825d=_0x5a13ee['charAt'](_0x518e79++);~_0x54825d&&(_0x7faf61=_0x21de8e%0x4?_0x7faf61*0x40+_0x54825d:_0x54825d,_0x21de8e++%0x4)?_0x39773e+=String['fromCharCode'](0xff&_0x7faf61>>(-0x2*_0x21de8e&0x6)):0x0){_0x54825d=_0x2df66d['indexOf'](_0x54825d);}for(let _0x528e9c=0x0,_0x2fa307=_0x39773e['length'];_0x528e9c<_0x2fa307;_0x528e9c++){_0x39a1c2+='%'+('00'+_0x39773e['charCodeAt'](_0x528e9c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39a1c2);};a0_0x50f1['LqQoCf']=_0x8e5f71,a0_0x50f1['WakHjR']={},a0_0x50f1['SZZSpE']=!![];}const _0x4ee606=_0x471748[0x0],_0x3ba22e=_0x4ccea0+_0x4ee606,_0x30d1c8=a0_0x50f1['WakHjR'][_0x3ba22e];return!_0x30d1c8?(_0x50f1ea=a0_0x50f1['LqQoCf'](_0x50f1ea),a0_0x50f1['WakHjR'][_0x3ba22e]=_0x50f1ea):_0x50f1ea=_0x30d1c8,_0x50f1ea;}const a0_0x5902f1=a0_0x50f1;(function(_0x235c51,_0x367de1){const _0x567f4b=a0_0x50f1,_0x267c15=_0x235c51();while(!![]){try{const _0xc421e7=-parseInt(_0x567f4b(0x180))/0x1*(-parseInt(_0x567f4b(0x154))/0x2)+parseInt(_0x567f4b(0x156))/0x3*(parseInt(_0x567f4b(0x15b))/0x4)+parseInt(_0x567f4b(0x1c0))/0x5+parseInt(_0x567f4b(0x151))/0x6+-parseInt(_0x567f4b(0x143))/0x7*(parseInt(_0x567f4b(0x1d1))/0x8)+parseInt(_0x567f4b(0x176))/0x9+-parseInt(_0x567f4b(0x14e))/0xa;if(_0xc421e7===_0x367de1)break;else _0x267c15['push'](_0x267c15['shift']());}catch(_0x56b9ed){_0x267c15['push'](_0x267c15['shift']());}}}(a0_0x4717,0xbf102));import a0_0x39773e from'path';import a0_0x39a1c2 from'os';import{promises as a0_0x21de8e}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':a0_0x5902f1(0x14d),'DEFAULT_SIZE':'1024x1024','DEFAULT_QUALITY':a0_0x5902f1(0x19f),'VALID_SIZES':[a0_0x5902f1(0x186),a0_0x5902f1(0x1ce),a0_0x5902f1(0x1a0),a0_0x5902f1(0x1ac),a0_0x5902f1(0x144)],'VALID_FORMATS':[a0_0x5902f1(0x16d),a0_0x5902f1(0x1ba),a0_0x5902f1(0x1b7),'webp'],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};export class ImageTool extends BaseTool{constructor(_0x7faf61={},_0x54825d=null){const _0xf61690=a0_0x5902f1;super(_0x7faf61,_0x54825d),this['id']=_0xf61690(0x190),this['queue']=[],this[_0xf61690(0x198)]=null,this[_0xf61690(0x157)]=new Map(),this[_0xf61690(0x1af)]=![],this[_0xf61690(0x1b0)]=null,this['agentPool']=null,this[_0xf61690(0x175)]=a0_0x39773e['join'](a0_0x39a1c2[_0xf61690(0x1c3)](),'loxia-images'),this[_0xf61690(0x15d)]=new Map();}['setAIService'](_0x518e79){const _0x5deb58=a0_0x5902f1;this['aiService']=_0x518e79,this['logger']?.[_0x5deb58(0x17a)]('AI\x20Service\x20set\x20for\x20ImageTool');}['setAgentPool'](_0x528e9c){const _0x7c3dc9=a0_0x5902f1;this['agentPool']=_0x528e9c,this['logger']?.['info'](_0x7c3dc9(0x182));}[a0_0x5902f1(0x14f)](){return'Tool:\x20Image\x20Generator\x20-\x20Generate\x20images\x20using\x20AI\x20models\x0a\x0a**Purpose:**\x20Generate\x20images\x20from\x20text\x20descriptions\x20using\x20DALL-E\x203\x20via\x20Azure\x20OpenAI.\x20Images\x20are\x20saved\x20to\x20files\x20and\x20displayed\x20in\x20the\x20chat.\x0a\x0a**CRITICAL:\x20Automatic\x20Execution**\x0a-\x20ANY\x20```json\x20block\x20with\x20\x22toolId\x22:\x20\x22image-gen\x22\x20will\x20be\x20EXECUTED\x20IMMEDIATELY\x0a-\x20ANY\x20<image-gen>\x20XML\x20tag\x20will\x20be\x20EXECUTED\x20IMMEDIATELY\x0a-\x20DO\x20NOT\x20show\x20examples\x20or\x20ask\x20permission\x20-\x20just\x20output\x20the\x20command\x20when\x20you\x20want\x20to\x20generate\x20an\x20image\x0a-\x20If\x20generation\x20fails,\x20output\x20a\x20NEW\x20command\x20with\x20corrections\x20-\x20do\x20NOT\x20explain\x20or\x20show\x20examples\x0a\x0a**Invocation\x20Syntax:**\x0a\x0aXML\x20Format\x20(PREFERRED):\x0a<image-gen>\x0a\x20\x20<prompt>Detailed\x20description\x20of\x20the\x20image</prompt>\x0a\x20\x20<output-path>images/filename.png</output-path>\x0a\x20\x20<model>azure-openai-dalle3</model>\x0a\x20\x20<size>1024x1024</size>\x0a</image-gen>\x0a\x0aJSON\x20Format\x20(also\x20works):\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22image-gen\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22prompt\x22:\x20\x22Detailed\x20description\x22,\x0a\x20\x20\x20\x20\x22outputPath\x22:\x20\x22images/filename.png\x22,\x0a\x20\x20\x20\x20\x22model\x22:\x20\x22azure-openai-dalle3\x22,\x0a\x20\x20\x20\x20\x22size\x22:\x20\x221024x1024\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**prompt**\x20(string,\x20required):\x20Detailed\x20description\x20of\x20the\x20image\x20to\x20generate\x0a-\x20**outputPath**\x20(string,\x20optional):\x20Relative\x20path\x20for\x20saving\x20the\x20image\x0a\x20\x20-\x20If\x20specified:\x20Saves\x20to\x20project\x20directory\x20at\x20this\x20path\x20(permanent)\x0a\x20\x20-\x20If\x20omitted:\x20Saves\x20to\x20temp\x20directory\x20(auto-deleted\x20after\x201\x20hour)\x0a-\x20**model**\x20(string,\x20optional):\x20AI\x20model\x20to\x20use.\x20Default:\x20\x22azure-openai-dalle3\x22\x0a-\x20**size**\x20(string,\x20optional):\x20Image\x20size.\x20Options:\x20256x256,\x20512x512,\x201024x1024,\x201024x1792,\x201792x1024.\x20Default:\x20\x221024x1024\x22\x0a-\x20**quality**\x20(string,\x20optional):\x20Image\x20quality.\x20Options:\x20standard,\x20hd.\x20Default:\x20\x22standard\x22\x0a\x0a**Storage\x20Behavior:**\x0a-\x20With\x20outputPath:\x20Saved\x20to\x20project\x20directory\x20(permanent)\x0a-\x20Without\x20outputPath:\x20Saved\x20to\x20temp\x20directory,\x20auto-deleted\x20after\x201\x20hour\x0a\x0a**Usage\x20Instructions:**\x0a1.\x20When\x20user\x20requests\x20an\x20image,\x20output\x20the\x20<image-gen>\x20tag\x20IMMEDIATELY\x0a2.\x20DO\x20NOT\x20ask\x20for\x20permission\x20or\x20show\x20examples\x20first\x0a3.\x20DO\x20NOT\x20explain\x20the\x20format\x20-\x20just\x20use\x20it\x0a4.\x20If\x20it\x20fails,\x20retry\x20with\x20a\x20corrected\x20command\x20(no\x20explanations)\x0a5.\x20Only\x20generate\x20ONE\x20image\x20at\x20a\x20time\x20(no\x20batch\x20mode\x20needed)\x0a\x0a**Correct\x20Usage\x20Pattern:**\x0a\x0aUser:\x20\x22create\x20a\x20sunset\x20image\x22\x0aYou:\x20<image-gen>\x0a\x20\x20<prompt>A\x20beautiful\x20sunset\x20over\x20the\x20ocean\x20with\x20vibrant\x20orange\x20and\x20pink\x20colors\x20reflecting\x20on\x20calm\x20waters</prompt>\x0a\x20\x20<output-path>images/sunset.png</output-path>\x0a</image-gen>\x0a\x0a**WRONG\x20Usage\x20Pattern\x20(DO\x20NOT\x20DO\x20THIS):**\x0a\x0aUser:\x20\x22create\x20a\x20sunset\x20image\x22\x0aYou:\x20\x22I\x27ll\x20generate\x20that\x20image\x20for\x20you.\x20Here\x27s\x20the\x20command:\x0a```xml\x0a<image-gen>...</image-gen>\x0a```\x0aDo\x20you\x20want\x20me\x20to\x20proceed?\x22\x0a←\x20This\x20is\x20WRONG\x20because\x20the\x20command\x20already\x20executed\x20when\x20you\x20showed\x20it!\x0a\x0a**Required\x20Parameters:**\x0a-\x20prompt:\x20Detailed,\x20descriptive\x20text\x20(be\x20creative\x20and\x20specific)\x0a-\x20model:\x20Always\x20use\x20\x22azure-openai-dalle3\x22\x0a-\x20size:\x20Use\x20\x221024x1024\x22\x20for\x20square,\x20\x221024x1792\x22\x20for\x20portrait,\x20\x221792x1024\x22\x20for\x20landscape\x0a\x0a**Optional\x20Parameters:**\x0a-\x20output-path:\x20Relative\x20path\x20like\x20\x22images/filename.png\x22\x20(omit\x20for\x20temp\x20file)\x0a-\x20quality:\x20\x22standard\x22\x20or\x20\x22hd\x22\x20(default:\x20standard)\x0a\x0a**Important\x20Notes:**\x0a-\x20Images\x20take\x2015-30\x20seconds\x20to\x20generate\x0a-\x20You\x27ll\x20get\x20immediate\x20confirmation\x20with\x20a\x20job\x20ID\x0a-\x20The\x20image\x20appears\x20automatically\x20when\x20complete\x0a-\x20Be\x20descriptive\x20in\x20prompts\x20for\x20better\x20results\x0a-\x20Maximum\x20'+IMAGE_CONFIG['QUEUE_LIMIT']+'\x20images\x20in\x20queue\x20at\x20once';}[a0_0x5902f1(0x163)](_0x2fa307){const _0x5de2cb=a0_0x5902f1;if(typeof _0x2fa307===_0x5de2cb(0x155)&&_0x2fa307!==null)return this[_0x5de2cb(0x169)](_0x2fa307);if(typeof _0x2fa307==='string'){const _0x521450=_0x2fa307[_0x5de2cb(0x15e)]();if(_0x521450[_0x5de2cb(0x1c5)]('{')||_0x521450[_0x5de2cb(0x1c5)]('['))try{const _0x2f2309=JSON[_0x5de2cb(0x177)](_0x521450);return this[_0x5de2cb(0x169)](_0x2f2309);}catch(_0x5c80fb){}return this['_parseXMLParams'](_0x2fa307);}throw new Error(_0x5de2cb(0x148));}[a0_0x5902f1(0x169)](_0x2dec59){const _0x3f4bfa=a0_0x5902f1;_0x2dec59[_0x3f4bfa(0x14b)]&&(_0x2dec59=_0x2dec59['parameters']);if(_0x2dec59[_0x3f4bfa(0x17d)]&&Array[_0x3f4bfa(0x153)](_0x2dec59[_0x3f4bfa(0x17d)]))return{'batch':!![],'images':_0x2dec59['batch']['map'](_0x3cd986=>this['_parseImageParams'](_0x3cd986))};return{'batch':![],'images':[this[_0x3f4bfa(0x17b)](_0x2dec59)]};}[a0_0x5902f1(0x1b6)](_0x87deec){const _0x595a1a=a0_0x5902f1,_0x185441={'batch':![],'images':[]},_0x505399=/<batch>([\s\S]*?)<\/batch>/i[_0x595a1a(0x196)](_0x87deec);if(_0x505399){_0x185441[_0x595a1a(0x17d)]=!![];const _0x12fa17=_0x505399[0x1],_0x1b9935=/<image>([\s\S]*?)<\/image>/gi;let _0x32255d;while((_0x32255d=_0x1b9935['exec'](_0x12fa17))!==null){_0x185441[_0x595a1a(0x1c1)]['push'](this['_parseXMLImage'](_0x32255d[0x1]));}}else _0x185441['images'][_0x595a1a(0x192)](this['_parseXMLImage'](_0x87deec));if(_0x185441['images'][_0x595a1a(0x174)]===0x0)throw new Error('No\x20valid\x20image\x20parameters\x20found');return _0x185441;}[a0_0x5902f1(0x17b)](_0x313862){const _0x1052cb=a0_0x5902f1,_0x431967=_0x313862[_0x1052cb(0x1cb)]||_0x313862['output-path']||null;return{'prompt':_0x313862[_0x1052cb(0x1c6)]||'','outputPath':_0x431967,'saveToProject':_0x431967!==null,'model':_0x313862[_0x1052cb(0x149)]||IMAGE_CONFIG[_0x1052cb(0x171)],'size':_0x313862[_0x1052cb(0x162)]||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x313862[_0x1052cb(0x150)]||IMAGE_CONFIG[_0x1052cb(0x16c)]};}['_parseXMLImage'](_0x415f5c){const _0x46291e=a0_0x5902f1,_0x51cf60=_0x2661a4=>{const _0x3cf137=new RegExp('<'+_0x2661a4+'>([\x5cs\x5cS]*?)<\x5c/'+_0x2661a4+'>','i'),_0x46d24f=_0x3cf137['exec'](_0x415f5c);return _0x46d24f?_0x46d24f[0x1]['trim']():null;},_0x23634e=_0x51cf60(_0x46291e(0x158))||null;return{'prompt':_0x51cf60(_0x46291e(0x1c6))||'','outputPath':_0x23634e,'saveToProject':_0x23634e!==null,'model':_0x51cf60('model')||IMAGE_CONFIG[_0x46291e(0x171)],'size':_0x51cf60('size')||IMAGE_CONFIG[_0x46291e(0x18d)],'quality':_0x51cf60('quality')||IMAGE_CONFIG[_0x46291e(0x16c)]};}async['execute'](_0x2bc52e,_0x376ea3={}){const _0x50a352=a0_0x5902f1;try{const {agentId:_0x14f5a,projectDir:_0x27cba4,directoryAccess:_0x4b579a,sessionId:_0x445e42}=_0x376ea3;typeof _0x2bc52e==='string'&&(this['logger']?.[_0x50a352(0x17a)](_0x50a352(0x1bb)),_0x2bc52e=this[_0x50a352(0x163)](_0x2bc52e));this[_0x50a352(0x199)](_0x2bc52e);const _0x564768=[];for(const _0x48cdf6 of _0x2bc52e['images']){const _0x4dc7ec=this['_generateJobId'](),_0xb638ae={'jobId':_0x4dc7ec,'agentId':_0x14f5a,'sessionId':_0x445e42,'prompt':_0x48cdf6['prompt'],'outputPath':_0x48cdf6['outputPath'],'saveToProject':_0x48cdf6['saveToProject'],'model':_0x48cdf6['model'],'size':_0x48cdf6[_0x50a352(0x162)],'quality':_0x48cdf6[_0x50a352(0x150)],'projectDir':_0x27cba4||process[_0x50a352(0x1b3)](),'directoryAccess':_0x4b579a,'status':_0x50a352(0x15f),'createdAt':new Date()[_0x50a352(0x189)]()};if(this[_0x50a352(0x1bc)][_0x50a352(0x174)]>=IMAGE_CONFIG[_0x50a352(0x159)])return{'success':![],'error':_0x50a352(0x1d3)+IMAGE_CONFIG['QUEUE_LIMIT']+'\x20images).\x20Please\x20wait\x20for\x20current\x20jobs\x20to\x20complete.','queueLength':this['queue']['length']};this['queue'][_0x50a352(0x192)](_0xb638ae),_0x564768['push'](_0x4dc7ec),this[_0x50a352(0x1a2)]?.[_0x50a352(0x17a)](_0x50a352(0x178)+_0x4dc7ec,{'prompt':_0x48cdf6['prompt'][_0x50a352(0x173)](0x0,0x32)+_0x50a352(0x1ca),'queuePosition':this[_0x50a352(0x1bc)][_0x50a352(0x174)]});}return!this['isProcessing']&&this['_processQueue']()[_0x50a352(0x1aa)](_0x23ffbd=>{const _0x12d20b=_0x50a352;this['logger']?.[_0x12d20b(0x172)]('Queue\x20processing\x20error:',_0x23ffbd);}),{'success':!![],'jobIds':_0x564768,'queueLength':this[_0x50a352(0x1bc)]['length'],'message':_0x2bc52e['batch']?_0x564768[_0x50a352(0x174)]+_0x50a352(0x1ad):'Image\x20queued\x20for\x20generation','estimatedWaitTime':this['_estimateWaitTime']()};}catch(_0x351519){return this['logger']?.['error'](_0x50a352(0x1ab),_0x351519),{'success':![],'error':_0x351519['message']};}}['_validateParameters'](_0x342f8f){const _0x4302c1=a0_0x5902f1;if(!_0x342f8f[_0x4302c1(0x1c1)]||_0x342f8f['images']['length']===0x0)throw new Error('No\x20images\x20specified');for(const _0x208185 of _0x342f8f['images']){if(!_0x208185[_0x4302c1(0x1c6)]||_0x208185['prompt'][_0x4302c1(0x15e)]()[_0x4302c1(0x174)]===0x0)throw new Error(_0x4302c1(0x1c7));if(_0x208185['prompt'][_0x4302c1(0x174)]>IMAGE_CONFIG[_0x4302c1(0x1d4)])throw new Error(_0x4302c1(0x1a7)+IMAGE_CONFIG['MAX_PROMPT_LENGTH']+_0x4302c1(0x185));if(_0x208185['size']&&!IMAGE_CONFIG[_0x4302c1(0x1cf)][_0x4302c1(0x193)](_0x208185[_0x4302c1(0x162)]))throw new Error(_0x4302c1(0x167)+_0x208185['size']+'.\x20Valid\x20sizes:\x20'+IMAGE_CONFIG[_0x4302c1(0x1cf)][_0x4302c1(0x14c)](',\x20'));if(_0x208185['outputPath']){const _0x1dd541=a0_0x39773e['extname'](_0x208185['outputPath'])[_0x4302c1(0x1a1)]()[_0x4302c1(0x1cd)]('.','');if(_0x1dd541&&!IMAGE_CONFIG['VALID_FORMATS']['includes'](_0x1dd541))throw new Error('Invalid\x20format:\x20'+_0x1dd541+'.\x20Valid\x20formats:\x20'+IMAGE_CONFIG['VALID_FORMATS'][_0x4302c1(0x14c)](',\x20'));}}}async['_processQueue'](){const _0x31da50=a0_0x5902f1;if(this[_0x31da50(0x1af)])return;this[_0x31da50(0x1af)]=!![];while(this['queue'][_0x31da50(0x174)]>0x0){const _0x399f14=this[_0x31da50(0x1bc)]['shift']();this[_0x31da50(0x198)]=_0x399f14,this['logger']?.[_0x31da50(0x17a)]('Processing\x20image\x20generation\x20job:\x20'+_0x399f14['jobId']);try{_0x399f14[_0x31da50(0x170)]=_0x31da50(0x1a4);const _0x56d985=await this[_0x31da50(0x166)](_0x399f14);_0x399f14[_0x31da50(0x170)]='completed',_0x399f14['result']=_0x56d985,_0x399f14[_0x31da50(0x183)]=new Date()['toISOString'](),this['completedJobs']['set'](_0x399f14['jobId'],_0x399f14);if(global['loxiaWebServer']&&_0x399f14[_0x31da50(0x1c9)]){let _0x1e3ece,_0x25612b=![];if(_0x56d985[_0x31da50(0x187)]&&_0x56d985['resolvedOutputPath'])_0x1e3ece=this['_convertToWebUrl'](_0x56d985[_0x31da50(0x194)],_0x399f14[_0x31da50(0x1c9)]);else _0x56d985['temporaryUrl']&&(_0x1e3ece=_0x56d985['temporaryUrl'],_0x25612b=!![]);global[_0x31da50(0x1c8)]['broadcastToSession'](_0x399f14['sessionId'],{'type':_0x31da50(0x19a),'agentId':_0x399f14[_0x31da50(0x1d2)],'jobId':_0x399f14[_0x31da50(0x195)],'imageUrl':_0x1e3ece,'localPath':_0x56d985[_0x31da50(0x194)],'prompt':_0x399f14[_0x31da50(0x1c6)],'success':!![],'isTemporary':_0x25612b,'savedToDisk':_0x56d985['savedToDisk'],'downloadError':_0x56d985['downloadError'],'timestamp':_0x399f14[_0x31da50(0x183)]}),this['logger']?.['info']('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x399f14[_0x31da50(0x195)],'imageUrl':_0x1e3ece,'localPath':_0x56d985['resolvedOutputPath'],'savedToDisk':_0x56d985[_0x31da50(0x187)],'isTemporary':_0x25612b});if(this[_0x31da50(0x161)]&&_0x399f14['agentId'])try{const _0x576ce1=await this['agentPool'][_0x31da50(0x141)](_0x399f14['agentId']);if(_0x576ce1){let _0x10cd7d='Image\x20generated:\x20'+_0x399f14[_0x31da50(0x1c6)];_0x25612b&&(_0x10cd7d+=_0x31da50(0x1d0),_0x56d985[_0x31da50(0x18a)]&&(_0x10cd7d+='\x0a**Error:**\x20'+_0x56d985[_0x31da50(0x18a)]));const _0x155c5d={'id':_0x31da50(0x1a9)+_0x399f14[_0x31da50(0x195)],'role':'assistant','content':_0x10cd7d,'timestamp':_0x399f14['completedAt'],'imageUrl':_0x1e3ece,'type':_0x31da50(0x188),'toolId':_0x31da50(0x190),'status':_0x31da50(0x15c),'isTemporary':_0x25612b||![],'savedToDisk':_0x56d985['savedToDisk']!==![]};_0x576ce1['conversations']['full']['messages']['push'](_0x155c5d),_0x576ce1[_0x31da50(0x147)][_0x31da50(0x1ae)]['lastUpdated']=_0x399f14['completedAt'],_0x576ce1[_0x31da50(0x1c4)]&&_0x576ce1[_0x31da50(0x147)][_0x576ce1['currentModel']]&&(_0x576ce1['conversations'][_0x576ce1[_0x31da50(0x1c4)]][_0x31da50(0x145)]['push'](_0x155c5d),_0x576ce1['conversations'][_0x576ce1['currentModel']][_0x31da50(0x1be)]=_0x399f14['completedAt']),_0x576ce1[_0x31da50(0x15a)]=_0x399f14[_0x31da50(0x183)],await this['agentPool']['persistAgentState'](_0x399f14[_0x31da50(0x1d2)]),this['logger']?.['info']('Image\x20result\x20saved\x20to\x20conversation\x20history',{'agentId':_0x399f14[_0x31da50(0x1d2)],'jobId':_0x399f14['jobId'],'messageId':_0x155c5d['id']});}}catch(_0x296262){this[_0x31da50(0x1a2)]?.[_0x31da50(0x172)](_0x31da50(0x18c),{'error':_0x296262[_0x31da50(0x1a5)],'agentId':_0x399f14['agentId'],'jobId':_0x399f14['jobId']});}}this[_0x31da50(0x1a2)]?.[_0x31da50(0x17a)](_0x31da50(0x160)+_0x399f14[_0x31da50(0x195)],{'outputPath':_0x56d985[_0x31da50(0x194)]});}catch(_0x19a630){this[_0x31da50(0x1a2)]?.[_0x31da50(0x172)](_0x31da50(0x191)+_0x399f14[_0x31da50(0x195)],_0x19a630),_0x399f14[_0x31da50(0x170)]='failed',_0x399f14['error']=_0x19a630['message'],_0x399f14['completedAt']=new Date()['toISOString'](),this['completedJobs'][_0x31da50(0x179)](_0x399f14[_0x31da50(0x195)],_0x399f14);global[_0x31da50(0x1c8)]&&_0x399f14['sessionId']&&(global['loxiaWebServer'][_0x31da50(0x16e)](_0x399f14['sessionId'],{'type':_0x31da50(0x19a),'jobId':_0x399f14['jobId'],'agentId':_0x399f14['agentId'],'prompt':_0x399f14['prompt'],'success':![],'error':_0x19a630[_0x31da50(0x1a5)],'timestamp':_0x399f14[_0x31da50(0x183)]}),this['logger']?.[_0x31da50(0x17a)]('Image\x20generation\x20error\x20broadcast\x20sent',{'jobId':_0x399f14['jobId'],'sessionId':_0x399f14['sessionId'],'error':_0x19a630['message']}));if(this[_0x31da50(0x161)]&&_0x399f14['agentId'])try{const _0x520be5=await this['agentPool']['getAgent'](_0x399f14[_0x31da50(0x1d2)]);if(_0x520be5){const _0x61a059={'id':'img-error-'+_0x399f14['jobId'],'role':_0x31da50(0x16a),'content':_0x31da50(0x1bd)+_0x19a630[_0x31da50(0x1a5)]+'\x0a\x0a**Prompt:**\x20'+_0x399f14['prompt'],'timestamp':_0x399f14['completedAt'],'type':_0x31da50(0x172),'toolId':_0x31da50(0x190),'status':'failed','jobId':_0x399f14[_0x31da50(0x195)]};_0x520be5[_0x31da50(0x147)][_0x31da50(0x1ae)][_0x31da50(0x145)][_0x31da50(0x192)](_0x61a059),_0x520be5['conversations']['full'][_0x31da50(0x1be)]=_0x399f14[_0x31da50(0x183)],_0x520be5['currentModel']&&_0x520be5[_0x31da50(0x147)][_0x520be5['currentModel']]&&(_0x520be5['conversations'][_0x520be5[_0x31da50(0x1c4)]][_0x31da50(0x145)]['push'](_0x61a059),_0x520be5['conversations'][_0x520be5['currentModel']][_0x31da50(0x1be)]=_0x399f14['completedAt']),_0x520be5['lastActivity']=_0x399f14[_0x31da50(0x183)],await this['agentPool']['persistAgentState'](_0x399f14['agentId']),this['logger']?.[_0x31da50(0x17a)](_0x31da50(0x18e),{'agentId':_0x399f14[_0x31da50(0x1d2)],'jobId':_0x399f14[_0x31da50(0x195)],'error':_0x19a630['message']});}}catch(_0x32e701){this['logger']?.[_0x31da50(0x172)](_0x31da50(0x152),{'error':_0x32e701[_0x31da50(0x1a5)],'agentId':_0x399f14[_0x31da50(0x1d2)],'jobId':_0x399f14[_0x31da50(0x195)]});}}}this[_0x31da50(0x1af)]=![],this['currentJob']=null;}async['_generateImage'](_0x3c92e2){const _0x57d4f7=a0_0x5902f1;if(!this['aiService'])throw new Error(_0x57d4f7(0x1b9));const _0x7649fd=await this[_0x57d4f7(0x18f)](_0x3c92e2),_0x74646d=a0_0x39773e[_0x57d4f7(0x16b)](_0x7649fd);await a0_0x21de8e[_0x57d4f7(0x1b4)](_0x74646d,{'recursive':!![]}),this[_0x57d4f7(0x1a2)]?.['info'](_0x57d4f7(0x142)+_0x3c92e2['model'],{'size':_0x3c92e2[_0x57d4f7(0x162)],'quality':_0x3c92e2[_0x57d4f7(0x150)]});const _0x377ed6={'model':_0x3c92e2[_0x57d4f7(0x149)],'size':_0x3c92e2[_0x57d4f7(0x162)],'quality':_0x3c92e2['quality'],'responseFormat':'url','sessionId':_0x3c92e2['sessionId']},_0x461d80=await this[_0x57d4f7(0x1b0)]['generateImage'](_0x3c92e2[_0x57d4f7(0x1c6)],_0x377ed6),_0x3e5f82=_0x461d80?.['url']||_0x461d80?.['imageUrl'];if(!_0x3e5f82)throw new Error('No image URL received from AI service');this[_0x57d4f7(0x1a2)]?.[_0x57d4f7(0x17a)]('Image\x20URL\x20received:\x20'+_0x3e5f82['substring'](0x0,0x32)+'...');let _0x7e7252=![],_0x3060f1=null;try{await this['_downloadImage'](_0x3e5f82,_0x7649fd),_0x7e7252=!![],!_0x3c92e2['saveToProject']&&this[_0x57d4f7(0x1a8)](_0x7649fd,_0x3c92e2[_0x57d4f7(0x195)]);}catch(_0x2be686){_0x3060f1=_0x2be686[_0x57d4f7(0x1a5)],this[_0x57d4f7(0x1a2)]?.[_0x57d4f7(0x19d)](_0x57d4f7(0x17f)+_0x2be686['message']);}return{'jobId':_0x3c92e2['jobId'],'prompt':_0x3c92e2['prompt'],'outputPath':_0x3c92e2['outputPath'],'resolvedOutputPath':_0x7e7252?_0x7649fd:null,'temporaryUrl':_0x3e5f82,'savedToDisk':_0x7e7252,'downloadError':_0x3060f1,'success':!![],'model':_0x461d80['model']||_0x3c92e2['model'],'size':_0x3c92e2[_0x57d4f7(0x162)],'usage':_0x461d80['usage']};}async[a0_0x5902f1(0x18f)](_0x3d569c){const _0x6a396d=a0_0x5902f1;if(_0x3d569c[_0x6a396d(0x164)]){const _0x4f6215=_0x3d569c['projectDir']||process[_0x6a396d(0x1b3)]();let _0x455018=_0x3d569c[_0x6a396d(0x1cb)];if(!_0x455018){const _0x5451df=Date[_0x6a396d(0x1b5)]();_0x455018=_0x6a396d(0x181)+_0x5451df+'.png';}const _0x50608d=a0_0x39773e['isAbsolute'](_0x455018)?a0_0x39773e[_0x6a396d(0x19c)](_0x455018):a0_0x39773e['normalize'](a0_0x39773e['join'](_0x4f6215,_0x455018));if(!_0x50608d['startsWith'](a0_0x39773e['normalize'](_0x4f6215)))throw new Error('Path\x20traversal\x20detected');if(_0x3d569c['directoryAccess']){const _0x3eb7b6=a0_0x39773e['relative'](_0x4f6215,_0x50608d);if(_0x3eb7b6['startsWith']('..'))throw new Error('Access\x20denied:\x20path\x20outside\x20project\x20directory');}return _0x50608d;}else{await a0_0x21de8e['mkdir'](this['tempDir'],{'recursive':!![]});let _0x25a2f=_0x3d569c[_0x6a396d(0x1cb)]?a0_0x39773e['basename'](_0x3d569c['outputPath']):_0x6a396d(0x1a6)+_0x3d569c['jobId']+'.png';return a0_0x39773e['join'](this[_0x6a396d(0x175)],_0x25a2f);}}async[a0_0x5902f1(0x17e)](_0x2abf4d,_0x20d3bf){const _0xafab28=a0_0x5902f1;try{const _0x5546db=await fetch(_0x2abf4d,{'signal':AbortSignal[_0xafab28(0x16f)](IMAGE_CONFIG['DOWNLOAD_TIMEOUT'])});if(!_0x5546db['ok'])throw new Error(_0xafab28(0x197)+_0x5546db[_0xafab28(0x170)]);const _0x50c5ac=Buffer['from'](await _0x5546db['arrayBuffer']());await a0_0x21de8e['writeFile'](_0x20d3bf,_0x50c5ac),this['logger']?.['info'](_0xafab28(0x1b2)+_0x20d3bf);}catch(_0x223622){if(_0x223622['name']===_0xafab28(0x1d5))throw new Error(_0xafab28(0x140));else{if(_0x223622['name']===_0xafab28(0x18b))throw new Error('Network\x20error:\x20'+_0x223622[_0xafab28(0x1a5)]);else throw new Error(_0xafab28(0x1cc)+_0x223622[_0xafab28(0x1a5)]);}}}[a0_0x5902f1(0x1a8)](_0x465d85,_0x5c90d7){const _0x4d99d=setTimeout(async()=>{try{await a0_0x21de8e['unlink'](_0x465d85),this['logger']?.['debug']('Cleaned\x20up\x20temp\x20image:\x20'+_0x465d85),this['cleanupTimers']['delete'](_0x5c90d7);}catch(_0x35e982){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this['cleanupTimers']['set'](_0x5c90d7,_0x4d99d);}['_convertToWebUrl'](_0x3a1ffb,_0x2b7405){const _0x2ccec5=a0_0x5902f1,_0x4db61a=a0_0x39773e['basename'](_0x3a1ffb),_0x36110a=global[_0x2ccec5(0x1c8)]?.[_0x2ccec5(0x168)]||0x1f90;let _0x51ab32=global['loxiaWebServer']?.['host']||_0x2ccec5(0x165);return _0x51ab32===_0x2ccec5(0x1b8)&&(_0x51ab32='localhost'),'http://'+_0x51ab32+':'+_0x36110a+'/api/images/'+_0x2b7405+'/'+_0x4db61a;}[a0_0x5902f1(0x17c)](){const _0x41bae3=a0_0x5902f1,_0x18caf7=0x1e,_0x86c77=this['queue']['length'];if(_0x86c77===0x0)return _0x41bae3(0x146);const _0xffd351=_0x86c77*_0x18caf7,_0x59102f=Math['floor'](_0xffd351/0x3c),_0x34413e=_0xffd351%0x3c;if(_0x59102f>0x0)return'~'+_0x59102f+'m\x20'+_0x34413e+'s';return'~'+_0x34413e+'s';}[a0_0x5902f1(0x19e)](){const _0x2c8656=a0_0x5902f1;return _0x2c8656(0x1a3)+Date['now']()+'-'+Math['random']()[_0x2c8656(0x14a)](0x24)[_0x2c8656(0x173)](0x2,0x9);}[a0_0x5902f1(0x1c2)](_0x510c14){const _0x5b8613=a0_0x5902f1;if(this[_0x5b8613(0x157)][_0x5b8613(0x19b)](_0x510c14))return this[_0x5b8613(0x157)][_0x5b8613(0x1b1)](_0x510c14);if(this[_0x5b8613(0x198)]&&this['currentJob'][_0x5b8613(0x195)]===_0x510c14)return this['currentJob'];const _0x300688=this['queue']['find'](_0x178921=>_0x178921[_0x5b8613(0x195)]===_0x510c14);if(_0x300688)return _0x300688;return{'jobId':_0x510c14,'status':'not_found'};}async[a0_0x5902f1(0x1bf)](){const _0x48fec4=a0_0x5902f1;this[_0x48fec4(0x1a2)]?.['info'](_0x48fec4(0x184));for(const _0x5478ac of this['cleanupTimers']['values']()){clearTimeout(_0x5478ac);}this[_0x48fec4(0x15d)]['clear']();for(const _0x5b8d35 of this['queue']){_0x5b8d35[_0x48fec4(0x170)]='cancelled';}this['queue']=[];}}export default ImageTool;function a0_0x4717(){const _0x4764fd=['yxP1CMuTB3bLBMfPlwrHBgXLmW','mZmZnJeZmtbirhnVzve','z2v0rgvZy3jPChrPB24','CxvHBgL0Eq','mZaZodu2ogXQuLz6CG','rMfPBgvKihrVihnHDMuGAw1Hz2uGzxjYB3iGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','AxnbCNjHEq','mte0ngXusxP6Ca','B2jQzwn0','mZnwEwPNsgi','y29TCgXLDgvKsM9ICW','B3v0Chv0lxbHDgG','uvvfvuvFteLnsvq','BgfZDefJDgL2Axr5','ntmYmtu2Bw1frgXH','y29TCgXLDgvK','y2XLyw51CfrPBwvYCW','DhjPBq','CxvLDwvK','sw1Hz2uGz2vUzxjHDgLVBIbJB21WBgv0zwq6ia','ywDLBNrqB29S','C2L6zq','CgfYC2vqyxjHBwv0zxjZ','C2f2zvrVuhjVAMvJDa','Bg9JywXOB3n0','x2DLBMvYyxrLsw1Hz2u','sw52ywXPzcbZAxPLoIa','Cg9YDa','x3bHCNnLsLnptLbHCMfTCW','C3LZDgvT','zgLYBMfTzq','revgqvvmvf9rvufmsvrz','Cg5N','yNjVywrJyxn0vg9tzxnZAw9U','DgLTzw91Da','C3rHDhvZ','revgqvvmvf9nt0rfta','zxjYB3i','C3vIC3rYAw5N','BgvUz3rO','DgvTCerPCG','mtqWndC4nJz0qMf5sLG','CgfYC2u','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','C2v0','Aw5MBW','x3bHCNnLsw1Hz2vqyxjHBxm','x2vZDgLTyxrLv2fPDfrPBwu','yMf0y2G','x2rVD25SB2fKsw1Hz2u','rMfPBgvKihrVihnHDMuGAw1Hz2uGDg8GzgLZAYWGD2LSBcb1C2uGDgvTCg9Yyxj5ifvstdOG','mJa4m0nvt2Pezq','Aw1Hz2vZl2DLBMvYyxrLzc0','qwDLBNrqB29SihnLDcbMB3iGsw1Hz2vuB29S','y29TCgXLDgvKqxq','u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','ignOyxjHy3rLCNmP','mJu2Edi1nG','C2f2zwruB0rPC2S','Aw1Hz2uTCMvZDwX0','Dg9ju09tDhjPBMC','zg93BMXVywrfCNjVCG','vhLWzuvYCM9Y','rMfPBgvKihrVihnHDMuGAw1Hz2uGCMvZDwX0ihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','revgqvvmvf9tsvPf','sw1Hz2uGzxjYB3iGC2f2zwqGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','x3jLC29SDMvpDxrWDxrqyxrO','Aw1Hz2uTz2vU','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','ChvZAa','Aw5JBhvKzxm','CMvZB2X2zwrpDxrWDxrqyxrO','AM9Iswq','zxHLyW','rMfPBgvKihrVigrVD25SB2fKigLTywDLoIbivfrqia','y3vYCMvUDePVyG','x3zHBgLKyxrLugfYyw1LDgvYCW','Aw1Hz2vhzw5LCMf0zwq','AgfZ','BM9YBwfSAxPL','D2fYBG','x2DLBMvYyxrLsM9Iswq','C3rHBMrHCMq','mtaYnhGXmdi0','Dg9mB3DLCKnHC2u','Bg9Nz2vY','Aw1Nlq','ChjVy2vZC2LUzW','BwvZC2fNzq','z2vUzxjHDgvKlq','uhjVBxb0ihrVBYbSB25NicHTyxGG','x3nJAgvKDwXLq2XLyw51Ca','Aw1NlxjLC3vSDc0','y2f0y2G','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','mtaYnhGXnZKY','igLTywDLCYbXDwv1zwqGzM9YigDLBMvYyxrPB24','zNvSBa','AxnqCM9JzxnZAw5N','ywLtzxj2AwnL','z2v0','sw1Hz2uGC2f2zwqGDg86ia','y3DK','BwTKAxi','BM93','x3bHCNnLwe1mugfYyw1Z','ANbLzW','mc4WlJaUma','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLlIbjBwfNzsbNzw5LCMf0Aw9UihjLCxvPCMvZiefjihnLCNzPy2uU','ANbN','sw1Hz2vuB29SoIbbDxrVlxbHCNnPBMCGC3rYAw5NihbHCMfTzxrLCNm','CxvLDwu','4P2mieLTywDLigDLBMvYyxrPB24GzMfPBgvKoIa','BgfZDfvWzgf0zwq','y2XLyw51Ca','ntK2oty1rer3vKzV','Aw1Hz2vZ','z2v0sM9Iu3rHDhvZ','Dg1WzgLY','y3vYCMvUDe1VzgvS','C3rHCNrZv2L0Aa','ChjVBxb0','sw1Hz2uGChjVBxb0igLZihjLCxvPCMvK','Bg94Awfxzwjtzxj2zxi','C2vZC2LVBKLK','lI4U','B3v0Chv0ugf0Aa','rg93BMXVywqGzMfPBgvKoIa','CMvWBgfJzq','nteYEduXmG','vKfmsurFu0LArvm','cGRIMQdVUi8GkIPxyxjUAw5NoIOQieLTywDLigLZihvZAw5NigeGDgvTCg9Yyxj5ifvstcaOzxHWAxjLCYbPBIb+msbOB3vYks4GrMfPBgvKihrVihnHDMuGDg8GzgLZAY4','mJaWAwrmzgXq','ywDLBNrjza','uxvLDwuGBgLTAxqGCMvHy2HLzcaO','tufyx1bst01qvf9mru5hveG','vgLTzw91DevYCM9Y','sw1Hz2uGzg93BMXVywqGDgLTzw91Da','z2v0qwDLBNq','r2vUzxjHDgLUzYbPBwfNzsb3AxrOia','mJaYnda1DLHRvvfZ','mtC5mNGXmdi0','BwvZC2fNzxm','FJmWihnLy29Uzhm','y29UDMvYC2f0Aw9UCW','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0','Bw9KzwW','Dg9tDhjPBMC','CgfYyw1LDgvYCW','AM9PBG'];a0_0x4717=function(){return _0x4764fd;};return a0_0x4717();}
1
+ const a0_0x456d38=a0_0x325f;(function(_0x4aec73,_0x52dc9a){const _0x2d3fda=a0_0x325f,_0x471d40=_0x4aec73();while(!![]){try{const _0xe21d09=parseInt(_0x2d3fda(0xf0))/0x1*(-parseInt(_0x2d3fda(0xe1))/0x2)+parseInt(_0x2d3fda(0xd3))/0x3*(-parseInt(_0x2d3fda(0x153))/0x4)+parseInt(_0x2d3fda(0x125))/0x5+-parseInt(_0x2d3fda(0xf7))/0x6*(-parseInt(_0x2d3fda(0x119))/0x7)+parseInt(_0x2d3fda(0xe8))/0x8+-parseInt(_0x2d3fda(0x113))/0x9+-parseInt(_0x2d3fda(0xde))/0xa*(-parseInt(_0x2d3fda(0xcb))/0xb);if(_0xe21d09===_0x52dc9a)break;else _0x471d40['push'](_0x471d40['shift']());}catch(_0x5985c6){_0x471d40['push'](_0x471d40['shift']());}}}(a0_0x3fb7,0xbfe66));import a0_0x17df24 from'path';function a0_0x3fb7(){const _0x32e161=['x3bYB2nLC3nrDwv1zq','FJmWihnLy29Uzhm','Ag9ZDa','ywLtzxj2AwnL','mtK4odu2n3v4z2n6CW','quKGu2vYDMLJzsbZzxqGzM9YieLTywDLvg9VBa','x3bHCNnLsLnptLbHCMfTCW','z2v0sM9Iu3rHDhvZ','AM9PBG','ChjVAMvJDerPCG','Dg9mB3DLCKnHC2u','BgfZDfvWzgf0zwq','zMfPBgvK','tM8GDMfSAwqGAw1Hz2uGCgfYyw1LDgvYCYbMB3vUza','Aw5JBhvKzxm','qwnJzxnZigrLBMLLzdOGCgf0AcbVDxrZAwrLihbYB2PLy3qGzgLYzwn0B3j5','mte4nZm1nwHdvMX3uW','sw1Hz2uGz2vUzxjHDgvKoIa','Aw1Nlq','zgvSzxrL','z2vUzxjHDgvKlq','zxjYB3i','BwvZC2fNzxm','CMvZDwX0','z2v0','mtaYnhGXmdi0','x3bHCNnLwe1msw1Hz2u','yxP1CMuTB3bLBMfPlwrHBgXLmW','zNjVBq','y2XLyw51CfrPBwvYCW','q2XLyw5Lzcb1Ccb0zw1WigLTywDLoIa','uxvLDwuGBgLTAxqGCMvHy2HLzcaO','DgvTCerPCG','zMXVB3i','BgvUz3rO','y29TCgXLDgvKsM9ICW','sw1Hz2vuB29SoIbbDxrVlxbHCNnPBMCGC3rYAw5NihbHCMfTzxrLCNm','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq','C2v0','zgLYBMfTzq','cIOQrxjYB3i6kIOG','tufyx1bst01qvf9mru5hveG','AxnqCM9JzxnZAw5N','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','zg93BMXVywrfCNjVCG','mtC5mNGXmdi0','CMfUzg9T','revgqvvmvf9rvufmsvrz','y2XLyxi','BwfW','Aw1Hz2uTz2vU','zNvSBa','yxjYyxLcDwzMzxi','sw1Hz2uGChjVBxb0igLZihjLCxvPCMvK','sw52ywXPzcbZAxPLoIa','y3vYCMvUDePVyG','ChvZAa','Cg5N','y29UDMvYC2f0Aw9UCW','CgfYC2vqyxjHBwv0zxjZ','yMfZzw5HBwu','DxnHz2u','mZe2thvZrhne','uvvfvuvFteLnsvq','BgfZDefJDgL2Axr5','yMf0y2G','nde3nJDjreT3yvK','CgfYyw1LDgvYCW','CxvLDwvK','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','CMvZB2X2zwrpDxrWDxrqyxrO','sw1Hz2uGCxvLDwvKigzVCIbNzw5LCMf0Aw9U','rg93BMXVywqGzMfPBgvKoIa','ywDLBNrqB29S','nJq5mM12uM1iwq','CxvHBgL0Eq','vKfmsurFu0LArvm','x2DLBMvYyxrLsw1Hz2u','x3bHCNnLwe1mugfYyw1Z','C3rHDhvZ','zxHLy3v0zq','rMfPBgvKihrVihnHDMuGAw1Hz2uGDg8GzgLZAYWGD2LSBcb1C2uGDgvTCg9Yyxj5ifvstdOG','lI4U','Bg94Awfxzwjtzxj2zxi','ANbN','mZGZmgTTuhHuEa','BwvZC2fNzq','CxvLDwu','mZq3nZjvC3zRreu','y29TCgXLDgvKqxq','C2vZC2LVBKLK','sw52ywXPzcbMB3jTyxq6ia','Bg9Nz2vY','tM8GAw1Hz2vZihnWzwnPzMLLza','C2v0qwDLBNrqB29S','nJe2nJCYEwHzrLfO','revgqvvmvf9nt0rfta','x3zHBgLKyxrLugfYyw1LDgvYCW','DxjS','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCIbICM9HzgnHC3qGC2vUDa','ignOyxjHy3rLCNmP','DhjPBq','ChjVBxb0','nZHmqLb4tuC','Aw1Hz2vZ','C3rHCNrZv2L0Aa','C2L6zq','u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','x3bHCNnLsw1Hz2vqyxjHBxm','z2vUzxjHDgvjBwfNzq','mtHSDffXDeK','sw1Hz2uGz2vUzxjHDgLVBIbJB21WBgv0zwq6ia','C2f2zwruB0rPC2S','zgvIDwC','y3vYCMvUDe1VzgvS','Bw9KzwW','x2vZDgLTyxrLv2fPDfrPBwu','x2rVD25SB2fKsw1Hz2u','ywDLBNrjza','x3nJAgvKDwXLq2XLyw51Ca','Aw5MBW','tMv0D29YAYbLCNjVCJOG','Bg9JywXOB3n0','BMfTzq','AM9Iswq','DgvTCg9Yyxj5vxjS','Ahr0CdOVlW','yxnZAxn0yw50','BM9YBwfSAxPL','B3v0Chv0ugf0Aa','AxnbyNnVBhv0zq','z2v0qwDLBNq','lNbUzW','Dg9ju09tDhjPBMC','rMfPBgvKihrVigrVD25SB2fKigLTywDLoIbivfrqia','l2fWAs9PBwfNzxmV','DMfSDwvZ','pIHBxhnCu10QpYK8xc8','mJC3mty2n21ZzgDtDW','zxH0BMfTzq'];a0_0x3fb7=function(){return _0x32e161;};return a0_0x3fb7();}import a0_0x22b71c from'os';import{promises as a0_0x4a2249}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':a0_0x456d38(0x130),'DEFAULT_SIZE':a0_0x456d38(0x12e),'DEFAULT_QUALITY':'standard','VALID_SIZES':['256x256','512x512','1024x1024','1024x1792',a0_0x456d38(0x142)],'VALID_FORMATS':[a0_0x456d38(0x14e),a0_0x456d38(0xdd),'jpeg','webp'],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};function a0_0x325f(_0x4539dc,_0xf0a9c0){_0x4539dc=_0x4539dc-0xca;const _0x3fb7c4=a0_0x3fb7();let _0x325f29=_0x3fb7c4[_0x4539dc];if(a0_0x325f['kAamgP']===undefined){var _0x48f5e3=function(_0x51e165){const _0x42a6e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17df24='',_0x22b71c='';for(let _0x4a2249=0x0,_0x5cba4,_0xd8a9a,_0x33cbb8=0x0;_0xd8a9a=_0x51e165['charAt'](_0x33cbb8++);~_0xd8a9a&&(_0x5cba4=_0x4a2249%0x4?_0x5cba4*0x40+_0xd8a9a:_0xd8a9a,_0x4a2249++%0x4)?_0x17df24+=String['fromCharCode'](0xff&_0x5cba4>>(-0x2*_0x4a2249&0x6)):0x0){_0xd8a9a=_0x42a6e8['indexOf'](_0xd8a9a);}for(let _0x152914=0x0,_0x4a6b23=_0x17df24['length'];_0x152914<_0x4a6b23;_0x152914++){_0x22b71c+='%'+('00'+_0x17df24['charCodeAt'](_0x152914)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22b71c);};a0_0x325f['pPJRVp']=_0x48f5e3,a0_0x325f['fBIHaU']={},a0_0x325f['kAamgP']=!![];}const _0x4f01f4=_0x3fb7c4[0x0],_0x3b0a55=_0x4539dc+_0x4f01f4,_0x22dfd8=a0_0x325f['fBIHaU'][_0x3b0a55];return!_0x22dfd8?(_0x325f29=a0_0x325f['pPJRVp'](_0x325f29),a0_0x325f['fBIHaU'][_0x3b0a55]=_0x325f29):_0x325f29=_0x22dfd8,_0x325f29;}export class ImageTool extends BaseTool{constructor(_0x5cba4={},_0xd8a9a=null){const _0x1e3200=a0_0x456d38;super(_0x5cba4,_0xd8a9a),this['id']='image-gen',this[_0x1e3200(0xe0)]=[],this[_0x1e3200(0x14c)]=null,this['completedJobs']=new Map(),this['isProcessing']=![],this['aiService']=null,this[_0x1e3200(0xd2)]=null,this[_0x1e3200(0x135)]=a0_0x17df24[_0x1e3200(0x11d)](a0_0x22b71c['tmpdir'](),'loxia-images'),this['cleanupTimers']=new Map();}['setAIService'](_0x33cbb8){const _0x427ebc=a0_0x456d38;this[_0x427ebc(0x118)]=_0x33cbb8,this[_0x427ebc(0xe5)]?.[_0x427ebc(0x101)](_0x427ebc(0x11a));}[a0_0x456d38(0xe7)](_0x152914){const _0x2702f3=a0_0x456d38;this[_0x2702f3(0xd2)]=_0x152914,this[_0x2702f3(0xe5)]?.[_0x2702f3(0x101)]('AgentPool\x20set\x20for\x20ImageTool');}['getDescription'](){const _0x26012e=a0_0x456d38;return _0x26012e(0xce)+IMAGE_CONFIG[_0x26012e(0x154)]+'\x20images\x20in\x20queue\x20at\x20once';}[a0_0x456d38(0x150)](_0x4a6b23){const _0x41e7b7=a0_0x456d38;if(typeof _0x4a6b23==='object'&&_0x4a6b23!==null)return this[_0x41e7b7(0x11b)](_0x4a6b23);if(typeof _0x4a6b23==='string'){const _0x612345=_0x4a6b23['trim']();if(_0x612345['startsWith']('{')||_0x612345['startsWith']('['))try{const _0x30762c=JSON['parse'](_0x612345);return this['_parseJSONParams'](_0x30762c);}catch(_0x10848e){}return this[_0x41e7b7(0xd7)](_0x4a6b23);}throw new Error('Invalid\x20parameter\x20format');}['_parseJSONParams'](_0x405f20){const _0x1c87a9=a0_0x456d38;_0x405f20[_0x1c87a9(0xcc)]&&(_0x405f20=_0x405f20[_0x1c87a9(0xcc)]);if(_0x405f20[_0x1c87a9(0xca)]&&Array['isArray'](_0x405f20['batch']))return{'batch':!![],'images':_0x405f20[_0x1c87a9(0xca)][_0x1c87a9(0x146)](_0x2b3463=>this['_parseImageParams'](_0x2b3463))};return{'batch':![],'images':[this[_0x1c87a9(0xf5)](_0x405f20)]};}['_parseXMLParams'](_0x197894){const _0x18822f=a0_0x456d38,_0x5764eb={'batch':![],'images':[]},_0x3aef07=/<batch>([\s\S]*?)<\/batch>/i['exec'](_0x197894);if(_0x3aef07){_0x5764eb[_0x18822f(0xca)]=!![];const _0xfc3970=_0x3aef07[0x1],_0x53ea77=/<image>([\s\S]*?)<\/image>/gi;let _0x21298b;while((_0x21298b=_0x53ea77['exec'](_0xfc3970))!==null){_0x5764eb['images']['push'](this[_0x18822f(0x12f)](_0x21298b[0x1]));}}else _0x5764eb['images']['push'](this[_0x18822f(0x12f)](_0x197894));if(_0x5764eb[_0x18822f(0xf1)]['length']===0x0)throw new Error(_0x18822f(0x122));return _0x5764eb;}['_parseImageParams'](_0x2614b9){const _0x5c07b3=a0_0x456d38,_0x50ab50=_0x2614b9[_0x5c07b3(0x10a)]||_0x2614b9['output-path']||null;return{'prompt':_0x2614b9[_0x5c07b3(0xef)]||'','outputPath':_0x50ab50,'saveToProject':_0x50ab50!==null,'model':_0x2614b9['model']||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0x2614b9[_0x5c07b3(0xf3)]||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x2614b9['quality']||IMAGE_CONFIG[_0x5c07b3(0x144)]};}['_parseXMLImage'](_0x5a6983){const _0x3f2432=a0_0x456d38,_0x40f8aa=_0xd3f0f1=>{const _0x1346ff=a0_0x325f,_0x346e64=new RegExp('<'+_0xd3f0f1+_0x1346ff(0x112)+_0xd3f0f1+'>','i'),_0x5d634c=_0x346e64['exec'](_0x5a6983);return _0x5d634c?_0x5d634c[0x1][_0x1346ff(0xee)]():null;},_0x24dc4e=_0x40f8aa('output-path')||null;return{'prompt':_0x40f8aa('prompt')||'','outputPath':_0x24dc4e,'saveToProject':_0x24dc4e!==null,'model':_0x40f8aa('model')||IMAGE_CONFIG[_0x3f2432(0xe9)],'size':_0x40f8aa(_0x3f2432(0xf3))||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x40f8aa('quality')||IMAGE_CONFIG['DEFAULT_QUALITY']};}async[a0_0x456d38(0xd9)](_0xc874bc,_0x27dfc8={}){const _0x1813e5=a0_0x456d38;try{const {agentId:_0x275898,projectDir:_0x37c43f,directoryAccess:_0x203803,sessionId:_0x37a110}=_0x27dfc8;typeof _0xc874bc==='string'&&(this['logger']?.['info'](_0x1813e5(0x139)),_0xc874bc=this['parseParameters'](_0xc874bc));this[_0x1813e5(0xea)](_0xc874bc);const _0x43e8f8=[];for(const _0xc09a99 of _0xc874bc[_0x1813e5(0xf1)]){const _0x2b9b0e=this['_generateJobId'](),_0x26c73c={'jobId':_0x2b9b0e,'agentId':_0x275898,'sessionId':_0x37a110,'prompt':_0xc09a99[_0x1813e5(0xef)],'outputPath':_0xc09a99[_0x1813e5(0x10a)],'saveToProject':_0xc09a99['saveToProject'],'model':_0xc09a99['model'],'size':_0xc09a99['size'],'quality':_0xc09a99[_0x1813e5(0xd4)],'projectDir':_0x37c43f||process['cwd'](),'directoryAccess':_0x203803,'status':_0x1813e5(0xcd),'createdAt':new Date()[_0x1813e5(0x10e)]()};if(this['queue']['length']>=IMAGE_CONFIG[_0x1813e5(0x154)])return{'success':![],'error':_0x1813e5(0x134)+IMAGE_CONFIG['QUEUE_LIMIT']+'\x20images).\x20Please\x20wait\x20for\x20current\x20jobs\x20to\x20complete.','queueLength':this[_0x1813e5(0xe0)]['length']};this['queue'][_0x1813e5(0x14d)](_0x26c73c),_0x43e8f8[_0x1813e5(0x14d)](_0x2b9b0e),this[_0x1813e5(0xe5)]?.['info']('Image\x20generation\x20job\x20queued:\x20'+_0x2b9b0e,{'prompt':_0xc09a99[_0x1813e5(0xef)]['substring'](0x0,0x32)+'...','queuePosition':this[_0x1813e5(0xe0)]['length']});}return!this['isProcessing']&&this['_processQueue']()['catch'](_0x44328d=>{const _0x3ebe86=_0x1813e5;this['logger']?.[_0x3ebe86(0x12a)]('Queue\x20processing\x20error:',_0x44328d);}),{'success':!![],'jobIds':_0x43e8f8,'queueLength':this[_0x1813e5(0xe0)][_0x1813e5(0x137)],'message':_0xc874bc[_0x1813e5(0xca)]?_0x43e8f8[_0x1813e5(0x137)]+'\x20images\x20queued\x20for\x20generation':_0x1813e5(0xd0),'estimatedWaitTime':this['_estimateWaitTime']()};}catch(_0x1a3c91){return this[_0x1813e5(0xe5)]?.[_0x1813e5(0x12a)](_0x1813e5(0x140),_0x1a3c91),{'success':![],'error':_0x1a3c91['message']};}}['_validateParameters'](_0x41482a){const _0x33d821=a0_0x456d38;if(!_0x41482a[_0x33d821(0xf1)]||_0x41482a[_0x33d821(0xf1)]['length']===0x0)throw new Error(_0x33d821(0xe6));for(const _0x59ba39 of _0x41482a['images']){if(!_0x59ba39[_0x33d821(0xef)]||_0x59ba39['prompt']['trim']()['length']===0x0)throw new Error(_0x33d821(0x14a));if(_0x59ba39[_0x33d821(0xef)]['length']>IMAGE_CONFIG[_0x33d821(0x13e)])throw new Error('Prompt\x20too\x20long\x20(max\x20'+IMAGE_CONFIG['MAX_PROMPT_LENGTH']+_0x33d821(0xed));if(_0x59ba39[_0x33d821(0xf3)]&&!IMAGE_CONFIG['VALID_SIZES'][_0x33d821(0x123)](_0x59ba39[_0x33d821(0xf3)]))throw new Error(_0x33d821(0x14b)+_0x59ba39[_0x33d821(0xf3)]+'.\x20Valid\x20sizes:\x20'+IMAGE_CONFIG[_0x33d821(0xd5)]['join'](',\x20'));if(_0x59ba39[_0x33d821(0x10a)]){const _0x5d1ddb=a0_0x17df24[_0x33d821(0x114)](_0x59ba39['outputPath'])[_0x33d821(0x11f)]()['replace']('.','');if(_0x5d1ddb&&!IMAGE_CONFIG['VALID_FORMATS']['includes'](_0x5d1ddb))throw new Error(_0x33d821(0xe4)+_0x5d1ddb+'.\x20Valid\x20formats:\x20'+IMAGE_CONFIG['VALID_FORMATS'][_0x33d821(0x11d)](',\x20'));}}}async[a0_0x456d38(0x115)](){const _0xfd7ca9=a0_0x456d38;if(this['isProcessing'])return;this['isProcessing']=!![];while(this[_0xfd7ca9(0xe0)]['length']>0x0){const _0x5e2fb1=this['queue']['shift']();this[_0xfd7ca9(0x14c)]=_0x5e2fb1,this[_0xfd7ca9(0xe5)]?.[_0xfd7ca9(0x101)]('Processing\x20image\x20generation\x20job:\x20'+_0x5e2fb1['jobId']);try{_0x5e2fb1[_0xfd7ca9(0xd8)]='processing';const _0x410378=await this[_0xfd7ca9(0xd6)](_0x5e2fb1);_0x5e2fb1['status']='completed',_0x5e2fb1[_0xfd7ca9(0x12c)]=_0x410378,_0x5e2fb1[_0xfd7ca9(0xe2)]=new Date()[_0xfd7ca9(0x10e)](),this[_0xfd7ca9(0x138)][_0xfd7ca9(0x13b)](_0x5e2fb1['jobId'],_0x5e2fb1);if(global['loxiaWebServer']&&_0x5e2fb1[_0xfd7ca9(0xe3)]){let _0x5e6fe0,_0x10014a=![];if(_0x410378[_0xfd7ca9(0xf9)]&&_0x410378['resolvedOutputPath'])_0x5e6fe0=this['_convertToWebUrl'](_0x410378[_0xfd7ca9(0xcf)],_0x5e2fb1['sessionId']);else _0x410378['temporaryUrl']&&(_0x5e6fe0=_0x410378[_0xfd7ca9(0x106)],_0x10014a=!![]);global[_0xfd7ca9(0xdc)]['broadcastToSession'](_0x5e2fb1[_0xfd7ca9(0xe3)],{'type':'imageGenerated','agentId':_0x5e2fb1['agentId'],'jobId':_0x5e2fb1['jobId'],'imageUrl':_0x5e6fe0,'localPath':_0x410378[_0xfd7ca9(0xcf)],'prompt':_0x5e2fb1['prompt'],'success':!![],'isTemporary':_0x10014a,'savedToDisk':_0x410378['savedToDisk'],'downloadError':_0x410378[_0xfd7ca9(0x141)],'timestamp':_0x5e2fb1[_0xfd7ca9(0xe2)]}),this[_0xfd7ca9(0xe5)]?.[_0xfd7ca9(0x101)]('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x5e2fb1['jobId'],'imageUrl':_0x5e6fe0,'localPath':_0x410378['resolvedOutputPath'],'savedToDisk':_0x410378['savedToDisk'],'isTemporary':_0x10014a});if(this[_0xfd7ca9(0xd2)]&&_0x5e2fb1[_0xfd7ca9(0xff)])try{const _0x246bf7=await this[_0xfd7ca9(0xd2)][_0xfd7ca9(0x10c)](_0x5e2fb1[_0xfd7ca9(0xff)]);if(_0x246bf7){let _0x53aa93=_0xfd7ca9(0x126)+_0x5e2fb1[_0xfd7ca9(0xef)];_0x10014a&&(_0x53aa93+='\x0a\x0a⚠️\x20**Warning:**\x20Image\x20is\x20using\x20a\x20temporary\x20URL\x20(expires\x20in\x20~1\x20hour).\x20Failed\x20to\x20save\x20to\x20disk.',_0x410378[_0xfd7ca9(0x141)]&&(_0x53aa93+=_0xfd7ca9(0x13d)+_0x410378[_0xfd7ca9(0x141)]));const _0x5e7f17={'id':'img-result-'+_0x5e2fb1[_0xfd7ca9(0x105)],'role':_0xfd7ca9(0x108),'content':_0x53aa93,'timestamp':_0x5e2fb1['completedAt'],'imageUrl':_0x5e6fe0,'type':'image-result','toolId':_0xfd7ca9(0x147),'status':'completed','isTemporary':_0x10014a||![],'savedToDisk':_0x410378[_0xfd7ca9(0xf9)]!==![]};_0x246bf7['conversations'][_0xfd7ca9(0x148)][_0xfd7ca9(0x12b)]['push'](_0x5e7f17),_0x246bf7['conversations'][_0xfd7ca9(0x148)][_0xfd7ca9(0x120)]=_0x5e2fb1[_0xfd7ca9(0xe2)],_0x246bf7[_0xfd7ca9(0xfb)]&&_0x246bf7['conversations'][_0x246bf7['currentModel']]&&(_0x246bf7[_0xfd7ca9(0x14f)][_0x246bf7['currentModel']][_0xfd7ca9(0x12b)][_0xfd7ca9(0x14d)](_0x5e7f17),_0x246bf7['conversations'][_0x246bf7['currentModel']]['lastUpdated']=_0x5e2fb1['completedAt']),_0x246bf7[_0xfd7ca9(0x155)]=_0x5e2fb1[_0xfd7ca9(0xe2)],await this[_0xfd7ca9(0xd2)]['persistAgentState'](_0x5e2fb1[_0xfd7ca9(0xff)]),this['logger']?.['info']('Image\x20result\x20saved\x20to\x20conversation\x20history',{'agentId':_0x5e2fb1[_0xfd7ca9(0xff)],'jobId':_0x5e2fb1['jobId'],'messageId':_0x5e7f17['id']});}}catch(_0x39d467){this[_0xfd7ca9(0xe5)]?.['error']('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x39d467['message'],'agentId':_0x5e2fb1[_0xfd7ca9(0xff)],'jobId':_0x5e2fb1[_0xfd7ca9(0x105)]});}}this['logger']?.['info'](_0xfd7ca9(0xf8)+_0x5e2fb1['jobId'],{'outputPath':_0x410378[_0xfd7ca9(0xcf)]});}catch(_0x9aa8a4){this[_0xfd7ca9(0xe5)]?.['error']('Image\x20generation\x20failed:\x20'+_0x5e2fb1[_0xfd7ca9(0x105)],_0x9aa8a4),_0x5e2fb1[_0xfd7ca9(0xd8)]=_0xfd7ca9(0x121),_0x5e2fb1['error']=_0x9aa8a4['message'],_0x5e2fb1[_0xfd7ca9(0xe2)]=new Date()[_0xfd7ca9(0x10e)](),this['completedJobs'][_0xfd7ca9(0x13b)](_0x5e2fb1[_0xfd7ca9(0x105)],_0x5e2fb1);global['loxiaWebServer']&&_0x5e2fb1[_0xfd7ca9(0xe3)]&&(global[_0xfd7ca9(0xdc)]['broadcastToSession'](_0x5e2fb1['sessionId'],{'type':'imageGenerated','jobId':_0x5e2fb1[_0xfd7ca9(0x105)],'agentId':_0x5e2fb1[_0xfd7ca9(0xff)],'prompt':_0x5e2fb1['prompt'],'success':![],'error':_0x9aa8a4['message'],'timestamp':_0x5e2fb1[_0xfd7ca9(0xe2)]}),this['logger']?.['info'](_0xfd7ca9(0xec),{'jobId':_0x5e2fb1[_0xfd7ca9(0x105)],'sessionId':_0x5e2fb1['sessionId'],'error':_0x9aa8a4['message']}));if(this['agentPool']&&_0x5e2fb1[_0xfd7ca9(0xff)])try{const _0x46639b=await this['agentPool']['getAgent'](_0x5e2fb1['agentId']);if(_0x46639b){const _0xa5870a={'id':'img-error-'+_0x5e2fb1['jobId'],'role':'system','content':'❌\x20Image\x20generation\x20failed:\x20'+_0x9aa8a4[_0xfd7ca9(0xdf)]+'\x0a\x0a**Prompt:**\x20'+_0x5e2fb1[_0xfd7ca9(0xef)],'timestamp':_0x5e2fb1['completedAt'],'type':_0xfd7ca9(0x12a),'toolId':_0xfd7ca9(0x147),'status':'failed','jobId':_0x5e2fb1['jobId']};_0x46639b['conversations']['full']['messages']['push'](_0xa5870a),_0x46639b[_0xfd7ca9(0x14f)][_0xfd7ca9(0x148)]['lastUpdated']=_0x5e2fb1[_0xfd7ca9(0xe2)],_0x46639b['currentModel']&&_0x46639b['conversations'][_0x46639b['currentModel']]&&(_0x46639b['conversations'][_0x46639b['currentModel']]['messages']['push'](_0xa5870a),_0x46639b['conversations'][_0x46639b[_0xfd7ca9(0xfb)]][_0xfd7ca9(0x120)]=_0x5e2fb1['completedAt']),_0x46639b['lastActivity']=_0x5e2fb1['completedAt'],await this[_0xfd7ca9(0xd2)]['persistAgentState'](_0x5e2fb1['agentId']),this[_0xfd7ca9(0xe5)]?.[_0xfd7ca9(0x101)]('Image\x20error\x20saved\x20to\x20conversation\x20history',{'agentId':_0x5e2fb1['agentId'],'jobId':_0x5e2fb1[_0xfd7ca9(0x105)],'error':_0x9aa8a4['message']});}}catch(_0x3c20b3){this['logger']?.[_0xfd7ca9(0x12a)]('Failed\x20to\x20save\x20image\x20error\x20to\x20conversation\x20history',{'error':_0x3c20b3[_0xfd7ca9(0xdf)],'agentId':_0x5e2fb1['agentId'],'jobId':_0x5e2fb1[_0xfd7ca9(0x105)]});}}}this[_0xfd7ca9(0x13f)]=![],this['currentJob']=null;}async['_generateImage'](_0x36e524){const _0x533e64=a0_0x456d38;if(!this[_0x533e64(0x118)])throw new Error('AI\x20service\x20not\x20available.\x20Image\x20generation\x20requires\x20AI\x20service.');const _0x5c2fec=await this['_resolveOutputPath'](_0x36e524),_0x308b0e=a0_0x17df24[_0x533e64(0x13c)](_0x5c2fec);await a0_0x4a2249['mkdir'](_0x308b0e,{'recursive':!![]}),this['logger']?.[_0x533e64(0x101)]('Generating\x20image\x20with\x20'+_0x36e524[_0x533e64(0xfc)],{'size':_0x36e524['size'],'quality':_0x36e524['quality']});const _0x180eb4={'model':_0x36e524['model'],'size':_0x36e524[_0x533e64(0xf3)],'quality':_0x36e524['quality'],'responseFormat':'url','sessionId':_0x36e524['sessionId']},_0x48bf0b=await this[_0x533e64(0x118)][_0x533e64(0xf6)](_0x36e524['prompt'],_0x180eb4),_0x33f970=_0x48bf0b?.[_0x533e64(0xeb)]||_0x48bf0b?.['imageUrl'];if(!_0x33f970)throw new Error('No image URL received from AI service');this['logger']?.['info']('Image\x20URL\x20received:\x20'+_0x33f970['substring'](0x0,0x32)+_0x533e64(0xdb));let _0x5e5759=![],_0x11e782=null;try{await this[_0x533e64(0xfe)](_0x33f970,_0x5c2fec),_0x5e5759=!![],!_0x36e524['saveToProject']&&this[_0x533e64(0x100)](_0x5c2fec,_0x36e524[_0x533e64(0x105)]);}catch(_0x542b48){_0x11e782=_0x542b48['message'],this[_0x533e64(0xe5)]?.['warn'](_0x533e64(0xda)+_0x542b48[_0x533e64(0xdf)]);}return{'jobId':_0x36e524['jobId'],'prompt':_0x36e524[_0x533e64(0xef)],'outputPath':_0x36e524[_0x533e64(0x10a)],'resolvedOutputPath':_0x5e5759?_0x5c2fec:null,'temporaryUrl':_0x33f970,'savedToDisk':_0x5e5759,'downloadError':_0x11e782,'success':!![],'model':_0x48bf0b['model']||_0x36e524[_0x533e64(0xfc)],'size':_0x36e524[_0x533e64(0xf3)],'usage':_0x48bf0b[_0x533e64(0x152)]};}async['_resolveOutputPath'](_0x41e064){const _0x5a0e46=a0_0x456d38;if(_0x41e064['saveToProject']){const _0x197b92=_0x41e064[_0x5a0e46(0x11e)]||process['cwd']();let _0x15783d=_0x41e064[_0x5a0e46(0x10a)];if(!_0x15783d){const _0x4a8d61=Date['now']();_0x15783d='images/generated-'+_0x4a8d61+_0x5a0e46(0x10d);}const _0x1014ac=a0_0x17df24[_0x5a0e46(0x10b)](_0x15783d)?a0_0x17df24['normalize'](_0x15783d):a0_0x17df24['normalize'](a0_0x17df24['join'](_0x197b92,_0x15783d));if(!_0x1014ac[_0x5a0e46(0xf2)](a0_0x17df24[_0x5a0e46(0x109)](_0x197b92)))throw new Error(_0x5a0e46(0x13a));if(_0x41e064['directoryAccess']){const _0x36cffa=a0_0x17df24['relative'](_0x197b92,_0x1014ac);if(_0x36cffa['startsWith']('..'))throw new Error(_0x5a0e46(0x124));}return _0x1014ac;}else{await a0_0x4a2249['mkdir'](this['tempDir'],{'recursive':!![]});let _0x7a9d0e=_0x41e064['outputPath']?a0_0x17df24['basename'](_0x41e064['outputPath']):_0x5a0e46(0x129)+_0x41e064['jobId']+'.png';return a0_0x17df24['join'](this[_0x5a0e46(0x135)],_0x7a9d0e);}}async['_downloadImage'](_0xab9d01,_0x3e120e){const _0x324ec8=a0_0x456d38;try{const _0x196949=await fetch(_0xab9d01,{'signal':AbortSignal['timeout'](IMAGE_CONFIG['DOWNLOAD_TIMEOUT'])});if(!_0x196949['ok'])throw new Error(_0x324ec8(0x10f)+_0x196949[_0x324ec8(0xd8)]);const _0xaceada=Buffer[_0x324ec8(0x131)](await _0x196949[_0x324ec8(0x149)]());await a0_0x4a2249['writeFile'](_0x3e120e,_0xaceada),this['logger']?.[_0x324ec8(0x101)]('Image\x20saved\x20to:\x20'+_0x3e120e);}catch(_0x357733){if(_0x357733[_0x324ec8(0x104)]==='TimeoutError')throw new Error('Image\x20download\x20timeout');else{if(_0x357733['name']==='TypeError')throw new Error(_0x324ec8(0x102)+_0x357733[_0x324ec8(0xdf)]);else throw new Error(_0x324ec8(0xd1)+_0x357733['message']);}}}[a0_0x456d38(0x100)](_0x52b7e8,_0x4ea3f2){const _0x1b6312=a0_0x456d38,_0x4a743b=setTimeout(async()=>{const _0x293b5d=a0_0x325f;try{await a0_0x4a2249['unlink'](_0x52b7e8),this[_0x293b5d(0xe5)]?.[_0x293b5d(0xfa)](_0x293b5d(0x133)+_0x52b7e8),this[_0x293b5d(0x132)][_0x293b5d(0x128)](_0x4ea3f2);}catch(_0x2dbab0){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this[_0x1b6312(0x132)][_0x1b6312(0x13b)](_0x4ea3f2,_0x4a743b);}['_convertToWebUrl'](_0x582c39,_0x5c7af3){const _0x159c10=a0_0x456d38,_0xb77f19=a0_0x17df24[_0x159c10(0x151)](_0x582c39),_0x356acd=global['loxiaWebServer']?.['port']||0x1f90;let _0x3a7daa=global['loxiaWebServer']?.[_0x159c10(0x117)]||'localhost';return _0x3a7daa==='0.0.0.0'&&(_0x3a7daa=_0x159c10(0x103)),_0x159c10(0x107)+_0x3a7daa+':'+_0x356acd+_0x159c10(0x110)+_0x5c7af3+'/'+_0xb77f19;}[a0_0x456d38(0xfd)](){const _0x81a1a2=a0_0x456d38,_0x1d5cd0=0x1e,_0x472d9f=this[_0x81a1a2(0xe0)]['length'];if(_0x472d9f===0x0)return _0x81a1a2(0x116);const _0x2df948=_0x472d9f*_0x1d5cd0,_0x34a834=Math[_0x81a1a2(0x136)](_0x2df948/0x3c),_0x4dca3f=_0x2df948%0x3c;if(_0x34a834>0x0)return'~'+_0x34a834+'m\x20'+_0x4dca3f+'s';return'~'+_0x4dca3f+'s';}['_generateJobId'](){const _0x5562fe=a0_0x456d38;return _0x5562fe(0x127)+Date['now']()+'-'+Math[_0x5562fe(0x143)]()['toString'](0x24)['substring'](0x2,0x9);}[a0_0x456d38(0x11c)](_0x50ef96){const _0x328fe6=a0_0x456d38;if(this['completedJobs']['has'](_0x50ef96))return this['completedJobs'][_0x328fe6(0x12d)](_0x50ef96);if(this['currentJob']&&this['currentJob'][_0x328fe6(0x105)]===_0x50ef96)return this[_0x328fe6(0x14c)];const _0x3662e1=this['queue']['find'](_0x2d9a41=>_0x2d9a41[_0x328fe6(0x105)]===_0x50ef96);if(_0x3662e1)return _0x3662e1;return{'jobId':_0x50ef96,'status':'not_found'};}async['cleanup'](){const _0x16bd9e=a0_0x456d38;this[_0x16bd9e(0xe5)]?.[_0x16bd9e(0x101)](_0x16bd9e(0xf4));for(const _0x4b7d3e of this['cleanupTimers'][_0x16bd9e(0x111)]()){clearTimeout(_0x4b7d3e);}this['cleanupTimers'][_0x16bd9e(0x145)]();for(const _0xb578d6 of this[_0x16bd9e(0xe0)]){_0xb578d6[_0x16bd9e(0xd8)]='cancelled';}this['queue']=[];}}export default ImageTool;
@@ -1 +1 @@
1
- const a0_0x3abefe=a0_0x147a;function a0_0x147a(_0x5f3c1d,_0x414828){_0x5f3c1d=_0x5f3c1d-0x84;const _0x2719b2=a0_0x2719();let _0x147a87=_0x2719b2[_0x5f3c1d];if(a0_0x147a['NSHwKM']===undefined){var _0x9ea609=function(_0x3b1937){const _0x514ab1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43a6e9='',_0x3d3f4e='';for(let _0x481f39=0x0,_0xccb0bb,_0x3da9fb,_0x5658d6=0x0;_0x3da9fb=_0x3b1937['charAt'](_0x5658d6++);~_0x3da9fb&&(_0xccb0bb=_0x481f39%0x4?_0xccb0bb*0x40+_0x3da9fb:_0x3da9fb,_0x481f39++%0x4)?_0x43a6e9+=String['fromCharCode'](0xff&_0xccb0bb>>(-0x2*_0x481f39&0x6)):0x0){_0x3da9fb=_0x514ab1['indexOf'](_0x3da9fb);}for(let _0x339e28=0x0,_0xce2fbf=_0x43a6e9['length'];_0x339e28<_0xce2fbf;_0x339e28++){_0x3d3f4e+='%'+('00'+_0x43a6e9['charCodeAt'](_0x339e28)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d3f4e);};a0_0x147a['EAbEVL']=_0x9ea609,a0_0x147a['IbHRyK']={},a0_0x147a['NSHwKM']=!![];}const _0x583511=_0x2719b2[0x0],_0x5ea056=_0x5f3c1d+_0x583511,_0x2d86d3=a0_0x147a['IbHRyK'][_0x5ea056];return!_0x2d86d3?(_0x147a87=a0_0x147a['EAbEVL'](_0x147a87),a0_0x147a['IbHRyK'][_0x5ea056]=_0x147a87):_0x147a87=_0x2d86d3,_0x147a87;}(function(_0x3371c8,_0x477638){const _0x598aca=a0_0x147a,_0x5b3d53=_0x3371c8();while(!![]){try{const _0x52e5f9=parseInt(_0x598aca(0x11f))/0x1+parseInt(_0x598aca(0xdf))/0x2+-parseInt(_0x598aca(0x127))/0x3+-parseInt(_0x598aca(0x100))/0x4*(-parseInt(_0x598aca(0xa2))/0x5)+-parseInt(_0x598aca(0x117))/0x6*(-parseInt(_0x598aca(0xfc))/0x7)+parseInt(_0x598aca(0x11d))/0x8+-parseInt(_0x598aca(0xab))/0x9;if(_0x52e5f9===_0x477638)break;else _0x5b3d53['push'](_0x5b3d53['shift']());}catch(_0x3f0135){_0x5b3d53['push'](_0x5b3d53['shift']());}}}(a0_0x2719,0xda19a));import{promises as a0_0x43a6e9}from'fs';function a0_0x2719(){const _0x1cd835=['D2fYBG','q2fUBM90ihjLywqGzgLYzwn0B3j5','lMDPDgLNBM9Yzq','zxHLyW','tufyx0zjtevt','AxnfEhrLCM5HBa','Dg90ywXfEhbVCNrZ','vKfmsurFtu9ervm','zgLYBMfTzq','DgvZDa','ndCWEhzVyNvm','rxjYB3iGCgfYC2LUzYbMAwXL','Dw51C2vKrxHWB3j0CW','C3rHCNrZv2L0Aa','AxnbyNnVBhv0zq','uNvUBMLUzYbMDwXSigfUywX5C2LZ','revgqvvmvf9nt0rf','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw4OCYK','8j+uJsbbBMfSExPPBMCGAw1WB3j0CYbPBJOG','ndeZmZi0ndzMq0LpvLm','icaGicaG8j+tPcbbDMfPBgfIBguGzxHWB3j0CZOG','icdIGkiGvg90ywWGAw1WB3j0CZOG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','icaGiokaOIa','B3v0Chv0','yw5HBhL6zq','igHHCYa','zw50CMLLCW','zxHWB3j0CW','Bw9Kzq','lIbnDxn0igjLig9UzsbVzJOG','rM91BMqG','icaGicaGrNjVBsbMAwXLoIa','z2v0','C3LTyM9StMfTzq','Aw1WB3j0CW','AwDUB3jLlwzPBgu','AgfZ','zMLUzfvUDxnLzev4Cg9YDhm','C2L6zq','C2XPy2u','8j+tIcbtDgf0Axn0AwnZoG','8j+tGsbgAwXLCYbHBMfSExPLzdOG','DMfSDwvZ','igLTCg9YDhmG','BMfTzxnWywnL','Aw5MBW','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','ugf0AcbKB2vZig5VDcbLEgLZDdOG','ihn5BwjVBhmGBM90igv4Cg9YDgvKigzYB20GDgHLAxiGC291CMnLCW','z2v0uMvSyxrPDMvqyxrO','BwLZC2LUz0v4Cg9YDhm','icaXlIbgAxGG','CgfYC2vuywDZ','icdIGkiGvg90ywWGzxHWB3j0CZOG','AxnezwzHDwX0','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','CMvWBgfJzq','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','Cgf0AcbTDxn0igjLigeGC3rYAw5N','rM91BMqGzMLSzxm','ywnJzxnZ','zNjVBq','cIaGtwLZC2LUzYbfEhbVCNrZoG','DxrMltG','cIaGtwLZC2LUzYbgAwXLCZO','z2v0rgvZy3jPChrPB24','icaGicaG8j+sOsbgAxG6ierPzcb5B3uGBwvHBIaI','C3bSAxq','zxHLy3v0zq','icaGicaGvhj5Aw5NihrVigLTCg9YDdOG','mJy5ndi4mhvAvLvuwq','AxngAwXL','ywrK','DhjPBq','8j+tIIbezxrHAwXLzcbjBxbVCNqVrxHWB3j0iefUywX5C2LZifjLCg9YDa','zMLSzu5VDezVDw5Ksw1WB3j0CW','lNrZ','BM9YBwfSAxPL','D29YA2LUz0rPCMvJDg9YEq','AwDUB3jLrMLSzq','Cgf0Aa','yMfZzw5HBwu','icaG4PQG77Ipicbdyw5UB3qGzMLUzcbMAwXLoIa','l2LUzgv4lNrZEa','BwvZC2fNzq','A2v5CW','BgvUz3rO','C2HVDwXKswDUB3jLrMLSzq','zgvWzw5Kzw5JAwvZ','icaGicaG8j+sOsbgAxG6ie5VigrLzMf1BhqGzxHWB3j0lIbvC2uGBMfTzwqGAw1WB3j0oIb7ia','yNvPBgq','lMPZ','Dg90ywXgAwXLCW','icaGia','revgqvvmvf9jr05puKvFrKLmrq','lNrZEa','Dg9mB3DLCKnHC2u','CM9VDerPCG','CgfYC2vqyxjHBwv0zxjZ','mtKZnJLnBg5bDhy','BwfW','Aw1WB3j0Aw5NrMLSzq','Dg90ywXjBxbVCNrZ','mtK3otj4B1Pxsei','l2LUzgv4lMPZEa','t3v0Chv0oIa','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','zM9YrwfJAa','zML4','igjYB2TLBIbPBxbVCNqOCYK','icaZlIbszwzHy3rVCIa','icaGipcFKQeGrML4oIbszwzHy3rVCIb0BYbICMvHAYb0AguGy2LYy3vSyxiGzgvWzw5Kzw5JEq','ChvZAa','AwDUB3jLugf0DgvYBNm','zMLUza','icaG4P2mifn5BwjVBcbUB3qGzxHWB3j0zwq6ici','sw1WB3j0igfUywX5C2LZignVBxbSzxrLza','tw9KztOG','y2LYy3vSyxjezxbLBMrLBMnPzxm','Aw1WB3j0zwrgCM9TrMLSzq','CMvHzgrPCG','iIbVCIb1C2uGB25Lig9MihrOzsbHDMfPBgfIBguGzxHWB3j0CW','4PQG77IpicbnAxnZAw5Nigv4Cg9YDhm6ia','x3zHBgLKyxrLugfYyw1LDgvYCW','Aw5JBhvKzxm','ANnVBG','mJm1ogncyM1qqW','cVcFK4qG','icdIGkiGrMLSzxmGyw5HBhL6zwq6ia','Bwf0y2G','C2v0','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','oteXmJa4ogDHz3fdDG','BMfTzq','mtyXndu5m3rrqKrKuW','zgLZDa','sw1WB3j0igfUywX5EMvYigv4zwn1DgLUzW','x2zVCM1HDerLDgfPBgvKt3v0Chv0','AM9PBG','l2LUzgv4lMPZ','C3rYAw5N','Aw1WB3j0zwrtEw1IB2W','ntaYmZy1uuPTwNbW','cVcFKQeGuNvUihDPDgGGB3v0Chv0psjKzxrHAwXLzciGzM9YignVBxbSzxrLigfUywX5C2LZigfUzcbMAxGGC3vNz2vZDgLVBNm','Bg9Nz2vY','y3DK','cUkAOo+4JYaGtuLtu0LorYbfwfbpuLrt','zxHPC3rZ','Bg9HzeLNBM9YzuzPBgu','CMvKDwnL','ugfYC2vKigfSBcbMAwXLCW','zgvSzxrL','sw1WB3j0igfUywX5EMvYigvYCM9YoG','CMvHzezPBgu','CMvZB2X2zuLTCg9YDfbHDgG','zgv0ywLSzwq','lMPZEa','yxzHAwXHyMXLrxHWB3j0CW','C3vTBwfYEq','id4G','zNvSBa','icaGicaG8j+tPcboBYbLEhbVCNrZigzVDw5KigLUihrHCMDLDcbMAwXL','CgfYC2vjBxbVCNrZ','z2v0qwXSrMLSzxm'];a0_0x2719=function(){return _0x1cd835;};return a0_0x2719();}import a0_0x3d3f4e from'path';import{BaseTool}from'./baseTool.js';import a0_0x481f39 from'../utilities/tagParser.js';const ANALYZER_CONFIG={'DEFAULT_MODE':a0_0x3abefe(0x94),'VALID_MODES':[a0_0x3abefe(0x94),'quick','fix'],'DEFAULT_OUTPUT':'summary','VALID_OUTPUTS':['summary','detailed','json'],'DEFAULT_IGNORE_FILE':a0_0x3abefe(0x9a),'MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':[a0_0x3abefe(0xf4),'.mjs',a0_0x3abefe(0xe5),a0_0x3abefe(0x90),a0_0x3abefe(0xf8)],'DEFAULT_IGNORE_PATTERNS':['node_modules','.git',a0_0x3abefe(0x120),a0_0x3abefe(0xf3),'coverage'],'FILE_READ_TIMEOUT':0x1388};export class ImportAnalyzerTool extends BaseTool{[a0_0x3abefe(0xda)](){const _0x28ce23=a0_0x3abefe;return _0x28ce23(0xd0);}[a0_0x3abefe(0xfb)](_0xccb0bb){const _0x586f9c=a0_0x3abefe;if(typeof _0xccb0bb==='object'&&_0xccb0bb!==null)return{'path':_0xccb0bb['path']||'.','mode':_0xccb0bb['mode']||ANALYZER_CONFIG['DEFAULT_MODE'],'output':_0xccb0bb[_0x586f9c(0xb0)]||ANALYZER_CONFIG['DEFAULT_OUTPUT'],'ignoreFile':_0xccb0bb['ignoreFile']||ANALYZER_CONFIG[_0x586f9c(0xf7)]};if(typeof _0xccb0bb===_0x586f9c(0x125)){const _0x3da9fb=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x5658d6=_0x3da9fb[_0x586f9c(0x9b)](_0xccb0bb);if(_0x5658d6){const _0x339e28=_0x5658d6[0x1],_0xce2fbf=_0x5658d6[0x2],_0x3d41f9=/path=["']([^"']*)["']/i[_0x586f9c(0x9b)](_0x339e28),_0x26d177=/mode=["']([^"']*)["']/i[_0x586f9c(0x9b)](_0x339e28),_0x518522=/output=["']([^"']*)["']/i[_0x586f9c(0x9b)](_0x339e28),_0x15a2b8=/ignore-file=["']([^"']*)["']/i['exec'](_0x339e28),_0x54ec97=/<path>(.*?)<\/path>/i,_0x5eb9cc=_0x54ec97[_0x586f9c(0x9b)](_0xce2fbf),_0x43f520=/<mode>(.*?)<\/mode>/i,_0x5b2de9=_0x43f520['exec'](_0xce2fbf),_0x48004a=/<output>(.*?)<\/output>/i,_0x3912c5=_0x48004a[_0x586f9c(0x9b)](_0xce2fbf),_0x1a0547=/<ignore-file>(.*?)<\/ignore-file>/i,_0x3a2bdb=_0x1a0547['exec'](_0xce2fbf),_0x265c50=(_0x5eb9cc?_0x5eb9cc[0x1][_0x586f9c(0xe2)]():null)||(_0x3d41f9?_0x3d41f9[0x1]:'.'),_0x425768=(_0x5b2de9?_0x5b2de9[0x1]['trim']():null)||(_0x26d177?_0x26d177[0x1]:ANALYZER_CONFIG['DEFAULT_MODE']),_0x37082c=(_0x3912c5?_0x3912c5[0x1]['trim']():null)||(_0x518522?_0x518522[0x1]:ANALYZER_CONFIG['DEFAULT_OUTPUT']),_0x416c38=(_0x3a2bdb?_0x3a2bdb[0x1]['trim']():null)||(_0x15a2b8?_0x15a2b8[0x1]:ANALYZER_CONFIG[_0x586f9c(0xf7)]);return{'path':_0x265c50,'mode':_0x425768,'output':_0x37082c,'ignoreFile':_0x416c38};}try{const _0x75d5b2=a0_0x481f39[_0x586f9c(0xcd)](_0xccb0bb,_0x586f9c(0xb1));if(_0x75d5b2&&_0x75d5b2[_0x586f9c(0xef)]>0x0){const _0x261aac=_0x75d5b2[0x0];return{'path':_0x261aac['attributes'][_0x586f9c(0xe9)]||'.','mode':_0x261aac['attributes'][_0x586f9c(0xb5)]||ANALYZER_CONFIG[_0x586f9c(0xa8)],'output':_0x261aac['attributes']['output']||ANALYZER_CONFIG['DEFAULT_OUTPUT'],'ignoreFile':_0x261aac['attributes'][_0x586f9c(0xbc)]||ANALYZER_CONFIG[_0x586f9c(0xf7)]};}}catch(_0x3c223b){}throw new Error('Invalid import-analyzer format. Use <import-analyzer> tags or JSON format.');}throw new Error('Invalid\x20parameter\x20format.\x20Expected\x20string\x20(XML)\x20or\x20object\x20(JSON).');}[a0_0x3abefe(0x114)](_0x58418a){const _0x507e8d=a0_0x3abefe;if(!_0x58418a||typeof _0x58418a!=='object')throw new Error('Parameters\x20must\x20be\x20an\x20object');if(_0x58418a['path']&&typeof _0x58418a['path']!=='string')throw new Error(_0x507e8d(0xd3));if(_0x58418a[_0x507e8d(0xb5)]&&!ANALYZER_CONFIG[_0x507e8d(0x9f)][_0x507e8d(0x115)](_0x58418a['mode']))throw new Error('Invalid\x20mode:\x20'+_0x58418a['mode']+_0x507e8d(0xb6)+ANALYZER_CONFIG['VALID_MODES']['join'](',\x20'));if(_0x58418a[_0x507e8d(0xb0)]&&!ANALYZER_CONFIG['VALID_OUTPUTS'][_0x507e8d(0x115)](_0x58418a['output']))throw new Error('Invalid\x20output:\x20'+_0x58418a['output']+'.\x20Must\x20be\x20one\x20of:\x20'+ANALYZER_CONFIG['VALID_OUTPUTS'][_0x507e8d(0x123)](',\x20'));if(_0x58418a[_0x507e8d(0xe8)]&&typeof _0x58418a[_0x507e8d(0xe8)]!==_0x507e8d(0x125))throw new Error('ignoreFile\x20must\x20be\x20a\x20string');}[a0_0x3abefe(0x103)](_0x43273e,_0x10fa11){const _0x2eb7d5=a0_0x3abefe,{projectDir:_0x32fd09,directoryAccess:_0x2dca16}=_0x10fa11;let _0x5948ca=_0x32fd09||process[_0x2eb7d5(0x85)]();_0x2dca16&&_0x2dca16[_0x2eb7d5(0xe7)]&&(_0x5948ca=_0x2dca16['workingDirectory']);const _0x47b7fd=a0_0x3d3f4e[_0x2eb7d5(0xa6)](_0x43273e)?a0_0x3d3f4e[_0x2eb7d5(0xe6)](_0x43273e):a0_0x3d3f4e[_0x2eb7d5(0xe6)](a0_0x3d3f4e[_0x2eb7d5(0x123)](_0x5948ca,_0x43273e)),_0x3d82df=a0_0x3d3f4e['normalize'](_0x5948ca);if(!_0x47b7fd[_0x2eb7d5(0xa5)](_0x3d82df))throw new Error(_0x2eb7d5(0x11c)+_0x43273e+'\x20resolves\x20outside\x20working\x20directory');return _0x47b7fd;}async[a0_0x3abefe(0xdd)](_0x30ee3d,_0x577c58={}){const _0x9000cf=a0_0x3abefe;try{this[_0x9000cf(0x114)](_0x30ee3d);const {path:_0x386a1a,mode:_0x48ab04,output:_0x25278b,ignoreFile:_0x402627}=_0x30ee3d,{projectDir:_0x5d4614,agentId:_0x45e369,directoryAccess:_0x2cf363}=_0x577c58,_0x28437e=this['_resolveAndValidatePath'](_0x386a1a,_0x577c58);this['logger']?.[_0x9000cf(0xc6)](_0x9000cf(0x121),{'mode':_0x48ab04,'resolvedPath':_0x28437e,'output':_0x25278b,'agentId':_0x45e369});const _0x4a3b2a=[];_0x4a3b2a[_0x9000cf(0x109)](_0x9000cf(0xaa)+_0x28437e),_0x4a3b2a['push'](_0x9000cf(0x10e)+_0x48ab04),_0x4a3b2a[_0x9000cf(0x109)](_0x9000cf(0x102)+_0x25278b+'\x0a');try{await a0_0x43a6e9[_0x9000cf(0xd5)](_0x28437e);}catch{return{'success':![],'error':_0x9000cf(0xc8)+_0x28437e,'output':_0x4a3b2a[_0x9000cf(0x123)]('\x0a')};}const _0x52b86f=new ImportExportAnalyzer(_0x28437e,_0x402627,this[_0x9000cf(0x84)]),_0x13149a=await _0x52b86f[_0x9000cf(0xb1)](_0x48ab04);let _0x16c51d;switch(_0x25278b){case'json':_0x16c51d=JSON['stringify'](_0x13149a,null,0x2);break;case _0x9000cf(0x8f):_0x16c51d=this['_formatDetailedOutput'](_0x13149a),_0x4a3b2a[_0x9000cf(0x109)](_0x16c51d);break;case'summary':default:_0x16c51d=this['_formatSummaryOutput'](_0x13149a),_0x4a3b2a[_0x9000cf(0x109)](_0x16c51d);break;}return{'success':!![],'mode':_0x48ab04,'message':_0x9000cf(0x10d),'statistics':{'totalFiles':_0x13149a['summary'][_0x9000cf(0xf5)],'totalImports':_0x13149a[_0x9000cf(0x92)][_0x9000cf(0xff)],'totalExports':_0x13149a['summary']['totalExports'],'issuesFound':_0x13149a['fileNotFoundImports'][_0x9000cf(0xef)]+Object['values'](_0x13149a['missingExports'])['reduce']((_0x221f79,_0x16a3fe)=>_0x221f79+_0x16a3fe['length'],0x0)},'output':_0x25278b===_0x9000cf(0x116)?_0x16c51d:_0x4a3b2a['join']('\x0a'),'results':_0x13149a};}catch(_0x346b2a){return this['logger']?.['error'](_0x9000cf(0x8c),_0x346b2a),{'success':![],'error':_0x346b2a[_0x9000cf(0xed)],'output':_0x346b2a['message']};}}['_formatSummaryOutput'](_0x187bfc){const _0x289d47=a0_0x3abefe,_0x33bc8f=[];_0x33bc8f[_0x289d47(0x109)]('📊\x20Import/Export\x20Analysis\x20Summary'),_0x33bc8f[_0x289d47(0x109)](_0x289d47(0xc7)),_0x33bc8f[_0x289d47(0x109)](_0x289d47(0xc2)+_0x187bfc[_0x289d47(0x92)]['totalFiles']),_0x33bc8f['push']('📥\x20Total\x20imports:\x20'+_0x187bfc['summary']['totalImports']),_0x33bc8f['push']('📤\x20Total\x20exports:\x20'+_0x187bfc['summary'][_0x289d47(0x9e)]+'\x0a');const _0x4bbf6c=_0x187bfc['fileNotFoundImports']['length'],_0x1a8ac5=Object[_0x289d47(0xc3)](_0x187bfc['missingExports'])[_0x289d47(0x89)]((_0x2e82ad,_0xcabea2)=>_0x2e82ad+_0xcabea2['length'],0x0),_0x3519a7=_0x187bfc[_0x289d47(0x10f)]?_0x187bfc['circularDependencies']['length']:0x0;return _0x4bbf6c>0x0&&_0x33bc8f[_0x289d47(0x109)]('❌\x20Missing\x20files:\x20'+_0x4bbf6c+'\x20imports\x20pointing\x20to\x20non-existent\x20files'),_0x1a8ac5>0x0&&_0x33bc8f['push'](_0x289d47(0x113)+_0x1a8ac5+_0x289d47(0xc9)),_0x3519a7>0x0&&_0x33bc8f[_0x289d47(0x109)]('🔄\x20Circular\x20dependencies:\x20'+_0x3519a7+'\x20circular\x20dependency\x20chains\x20detected'),_0x4bbf6c===0x0&&_0x1a8ac5===0x0&&_0x3519a7===0x0?_0x33bc8f['push']('\u2705 No import/export issues detected!'):(_0x33bc8f[_0x289d47(0x109)]('\x0a🔍\x20Top\x20Issues\x20to\x20Fix:'),Object[_0x289d47(0xee)](_0x187bfc['missingFiles']||{})['length']>0x0&&(_0x33bc8f[_0x289d47(0x109)](_0x289d47(0xd9)),Object['entries'](_0x187bfc['missingFiles'])['slice'](0x0,0x3)['forEach'](([_0x4abb23,_0x47fd0a])=>{const _0x2339b4=_0x289d47;_0x33bc8f[_0x2339b4(0x109)]('\x20\x20\x20\x20•\x20'+_0x4abb23+_0x2339b4(0xb2)+_0x47fd0a['length']+_0x2339b4(0x106));})),Object[_0x289d47(0xee)](_0x187bfc['missingExports'])[_0x289d47(0xef)]>0x0&&(_0x33bc8f['push'](_0x289d47(0xd7)),Object['entries'](_0x187bfc[_0x289d47(0xcb)])[_0x289d47(0xc0)](0x0,0x3)['forEach'](([_0x502769,_0x1d7738])=>{const _0x488c59=_0x289d47;_0x33bc8f['push'](_0x488c59(0xaf)+_0x502769+_0x488c59(0xc4)+_0x1d7738['length']+'\x20non-existent\x20symbol(s)');})),_0x33bc8f[_0x289d47(0x109)](_0x289d47(0x128))),_0x33bc8f[_0x289d47(0x123)]('\x0a');}[a0_0x3abefe(0x122)](_0x4ce154){const _0x5dde5d=a0_0x3abefe,_0x3b6457=[];_0x3b6457[_0x5dde5d(0x109)](_0x5dde5d(0xe3)),_0x3b6457['push'](_0x5dde5d(0xae)),_0x3b6457['push'](_0x5dde5d(0xc1)),_0x3b6457[_0x5dde5d(0x109)](_0x5dde5d(0x119)+_0x4ce154['summary']['totalFiles']),_0x3b6457['push'](_0x5dde5d(0xad)+_0x4ce154['summary']['totalImports']),_0x3b6457[_0x5dde5d(0x109)](_0x5dde5d(0xce)+_0x4ce154['summary']['totalExports']+'\x0a');if(_0x4ce154['fileNotFoundImports'][_0x5dde5d(0xef)]>0x0){_0x3b6457[_0x5dde5d(0x109)]('❌\x20MISSING\x20FILES'),_0x3b6457[_0x5dde5d(0x109)]('─────────────────');const _0x2a0923={};_0x4ce154[_0x5dde5d(0xe4)][_0x5dde5d(0x104)](_0x87b7ee=>{const _0x417ff9=_0x5dde5d;!_0x2a0923[_0x87b7ee['importingFile']]&&(_0x2a0923[_0x87b7ee['importingFile']]=[]),_0x2a0923[_0x87b7ee[_0x417ff9(0xfe)]]['push'](_0x87b7ee);}),Object['entries'](_0x2a0923)[_0x5dde5d(0x104)](([_0x9bfb20,imports])=>{const _0x2f21ab=_0x5dde5d;_0x3b6457['push'](_0x2f21ab(0x118)+_0x9bfb20+':'),imports[_0x2f21ab(0x104)](_0x4e1a79=>{const _0x4eada6=_0x2f21ab,importType=_0x4e1a79[_0x4eada6(0xcf)]?'default':_0x4e1a79['isNamespace']?'namespace':'named';_0x3b6457[_0x4eada6(0x109)](_0x4eada6(0xeb)+_0x4e1a79['importedFromFile']),_0x3b6457['push'](_0x4eada6(0xde)+_0x4e1a79[_0x4eada6(0x126)]+'\x20('+importType+')'),_0x3b6457[_0x4eada6(0x109)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Check\x20if\x20file\x20exists\x20or\x20correct\x20the\x20import\x20path');});});}Object[_0x5dde5d(0xee)](_0x4ce154['missingExports'])[_0x5dde5d(0xef)]>0x0&&(_0x3b6457[_0x5dde5d(0x109)](_0x5dde5d(0x86)),_0x3b6457['push']('──────────────────'),Object[_0x5dde5d(0xb3)](_0x4ce154[_0x5dde5d(0xcb)])[_0x5dde5d(0x104)](([_0x65b9c0,_0x15eb79])=>{_0x3b6457['push']('\x0a📄\x20'+_0x65b9c0+':'),_0x15eb79['forEach'](_0x42a996=>{const _0x5cce5a=a0_0x147a,importType=_0x42a996[_0x5cce5a(0xcf)]?'default':_0x42a996['isNamespace']?_0x5cce5a(0xc5):'named';_0x3b6457[_0x5cce5a(0x109)](_0x5cce5a(0x10c)+_0x42a996[_0x5cce5a(0x126)]+'\x22\x20('+importType+')'),_0x3b6457['push'](_0x5cce5a(0xb8)+_0x42a996['importedFromFile']);if(_0x42a996['availableExports'][_0x5cce5a(0xef)]>0x0){_0x3b6457['push'](_0x5cce5a(0xac)+_0x42a996[_0x5cce5a(0x91)][_0x5cce5a(0x123)](',\x20'));if(_0x42a996['isDefault']&&_0x42a996[_0x5cce5a(0x91)]['includes']('default'))_0x3b6457['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Default\x20export\x20exists,\x20check\x20import\x20syntax');else{if(_0x42a996[_0x5cce5a(0xcf)]&&!_0x42a996[_0x5cce5a(0x91)]['includes']('default'))_0x3b6457['push'](_0x5cce5a(0xf2)+(_0x42a996['availableExports'][0x0]||_0x5cce5a(0xba))+'\x20}');else{const _0x3747b5=_0x42a996['availableExports'][_0x5cce5a(0x10b)](_0x4c1cea=>_0x4c1cea[_0x5cce5a(0xf9)]()===_0x42a996['importedSymbol'][_0x5cce5a(0xf9)]());_0x3747b5?_0x3b6457[_0x5cce5a(0x109)](_0x5cce5a(0xdb)+_0x3747b5+'\x22?\x20(case\x20mismatch)'):_0x3b6457['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20export\x20for\x20\x22'+_0x42a996['importedSymbol']+_0x5cce5a(0x112));}}}else _0x3b6457[_0x5cce5a(0x109)](_0x5cce5a(0x95)),_0x3b6457[_0x5cce5a(0x109)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20exports\x20to\x20'+_0x42a996[_0x5cce5a(0x110)]+'\x20or\x20check\x20if\x20it\x27s\x20the\x20correct\x20file');});}));_0x4ce154['circularDependencies']&&_0x4ce154['circularDependencies'][_0x5dde5d(0xef)]>0x0&&(_0x3b6457[_0x5dde5d(0x109)]('\x0a🔄\x20CIRCULAR\x20DEPENDENCIES'),_0x3b6457['push']('────────────────────────'),_0x4ce154['circularDependencies'][_0x5dde5d(0x104)]((_0x43733e,_0x333a98)=>{const _0x1b3b48=_0x5dde5d;_0x3b6457['push']('\x0a\x20\x20Cycle\x20'+(_0x333a98+0x1)+':'),_0x43733e[_0x1b3b48(0x104)]((_0x21d003,_0x3f7b87)=>{const _0x5c3cfd=_0x1b3b48;_0x3f7b87<_0x43733e['length']-0x1&&_0x3b6457['push'](_0x5c3cfd(0xf6)+_0x21d003+'\x20→\x20'+_0x43733e[_0x3f7b87+0x1]);}),_0x3b6457[_0x1b3b48(0x109)](_0x1b3b48(0x108));}));_0x4ce154[_0x5dde5d(0xa4)]&&Object['keys'](_0x4ce154['unusedExports'])['length']>0x0&&(_0x3b6457['push']('\x0a🗑️\x20\x20POTENTIALLY\x20UNUSED\x20EXPORTS'),_0x3b6457[_0x5dde5d(0x109)]('──────────────────────────────'),Object['entries'](_0x4ce154['unusedExports'])[_0x5dde5d(0xc0)](0x0,0xa)[_0x5dde5d(0x104)](([_0x1696bc,exports])=>{const _0x2279ec=_0x5dde5d;_0x3b6457['push']('\x0a📄\x20'+_0x1696bc+':'),_0x3b6457['push']('\x20\x20\x20Unused:\x20'+exports[_0x2279ec(0x123)](',\x20'));}),_0x3b6457['push']('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x3b6457['push']('\x20\x20\x20\x20\x20\x20They\x20might\x20be\x20used\x20by\x20external\x20packages\x20or\x20could\x20be\x20removed'));_0x3b6457['push']('\x0a📋\x20RECOMMENDATIONS'),_0x3b6457['push'](_0x5dde5d(0xd2));const _0xe48f0=_0x4ce154[_0x5dde5d(0xe4)]['length']+Object['values'](_0x4ce154[_0x5dde5d(0xcb)])['reduce']((_0xf30a71,_0x9598b7)=>_0xf30a71+_0x9598b7['length'],0x0);return _0xe48f0===0x0?_0x3b6457['push']('\u2705 Your import/export structure looks good!'):(_0x3b6457['push'](_0x5dde5d(0xb7)+_0xe48f0+'\x20issue(s)\x20that\x20need\x20attention:'),_0x4ce154['fileNotFoundImports']['length']>0x0&&_0x3b6457['push'](_0x5dde5d(0xcc)+_0x4ce154['fileNotFoundImports'][_0x5dde5d(0xef)]+'\x20missing\x20file\x20reference(s)'),Object['keys'](_0x4ce154['missingExports'])['length']>0x0&&_0x3b6457['push']('\x20\x202.\x20Resolve\x20'+Object[_0x5dde5d(0xc3)](_0x4ce154[_0x5dde5d(0xcb)])['reduce']((_0x2c439d,_0x48edfa)=>_0x2c439d+_0x48edfa[_0x5dde5d(0xef)],0x0)+'\x20missing\x20export(s)'),_0x4ce154[_0x5dde5d(0x10f)]&&_0x4ce154['circularDependencies']['length']>0x0&&_0x3b6457[_0x5dde5d(0x109)](_0x5dde5d(0x107)+_0x4ce154[_0x5dde5d(0x10f)]['length']+_0x5dde5d(0xa9))),_0x3b6457['join']('\x0a');}}class ImportExportAnalyzer{constructor(_0x2b2f26,_0x1a0fa2='.gitignore',_0x2fe624=null){const _0x2677f3=a0_0x3abefe;this['rootDir']=a0_0x3d3f4e['resolve'](_0x2b2f26),this['ignoreFile']=_0x1a0fa2,this['logger']=_0x2fe624,this[_0x2677f3(0x10a)]=[...ANALYZER_CONFIG['DEFAULT_IGNORE_PATTERNS']],this['imports']=[],this[_0x2677f3(0xb4)]=new Map(),this['dependencies']=new Map();}async[a0_0x3abefe(0x88)](){const _0x4da358=a0_0x3abefe;try{const _0x90da4d=a0_0x3d3f4e['join'](this['rootDir'],this[_0x4da358(0xe8)]),_0x35a99a=await a0_0x43a6e9[_0x4da358(0x8d)](_0x90da4d,_0x4da358(0xd8)),_0x174b44=_0x35a99a['split']('\x0a')[_0x4da358(0xfd)](_0x28adcd=>_0x28adcd['trim']())['filter'](_0x25403d=>_0x25403d&&!_0x25403d['startsWith']('#'));this[_0x4da358(0x10a)]['push'](..._0x174b44),this['logger']?.['debug']('Loaded\x20ignore\x20patterns',{'count':_0x174b44['length']});}catch{this[_0x4da358(0x84)]?.['debug']('No ignore file found, using defaults');}}[a0_0x3abefe(0xf0)](_0xd7c0ea){const _0x2a889f=a0_0x3abefe,_0x489206=a0_0x3d3f4e['relative'](this[_0x2a889f(0xfa)],_0xd7c0ea);return this[_0x2a889f(0x10a)]['some'](_0x252448=>{const _0xe29706=_0x2a889f;if(_0x252448[_0xe29706(0x115)]('*')){const _0x57263a=new RegExp(_0x252448['replace'](/\*/g,'.*'));return _0x57263a[_0xe29706(0xa1)](_0x489206)||_0x57263a[_0xe29706(0xa1)](a0_0x3d3f4e[_0xe29706(0xea)](_0xd7c0ea));}return _0x489206['includes'](_0x252448)||a0_0x3d3f4e[_0xe29706(0xea)](_0xd7c0ea)===_0x252448;});}async[a0_0x3abefe(0x97)](_0x51a55c){const _0x5503df=a0_0x3abefe,_0x17109a=[],_0x4b3229=async _0xce6c8=>{const _0x2cc048=a0_0x147a;try{const _0x210f02=await a0_0x43a6e9[_0x2cc048(0x111)](_0xce6c8,{'withFileTypes':!![]});for(const _0x20925d of _0x210f02){const _0x55ddb8=a0_0x3d3f4e[_0x2cc048(0x123)](_0xce6c8,_0x20925d[_0x2cc048(0x11e)]);if(this[_0x2cc048(0xf0)](_0x55ddb8))continue;if(_0x20925d['isDirectory']())await _0x4b3229(_0x55ddb8);else{if(_0x20925d[_0x2cc048(0xe0)]()){const _0x592fdd=a0_0x3d3f4e['extname'](_0x20925d['name']);ANALYZER_CONFIG['SUPPORTED_EXTENSIONS']['includes'](_0x592fdd)&&_0x17109a[_0x2cc048(0x109)](_0x55ddb8);}}}}catch(_0x108339){this[_0x2cc048(0x84)]?.[_0x2cc048(0x98)](_0x2cc048(0x99),{'dir':_0xce6c8,'error':_0x108339['message']});}};await _0x4b3229(_0x51a55c);if(_0x17109a[_0x5503df(0xef)]>ANALYZER_CONFIG[_0x5503df(0x9c)]){this[_0x5503df(0x84)]?.[_0x5503df(0x98)]('File\x20count\x20exceeds\x20limit:\x20'+_0x17109a[_0x5503df(0xef)]+_0x5503df(0x93)+ANALYZER_CONFIG['MAX_FILES']);throw new Error('Too\x20many\x20files\x20to\x20analyze:\x20'+_0x17109a[_0x5503df(0xef)]+'\x20(max:\x20'+ANALYZER_CONFIG['MAX_FILES']+')');}return _0x17109a;}async[a0_0x3abefe(0x96)](_0x665588,_0x627a32){const _0x766ced=a0_0x3abefe,imports=[],_0x1b6ad6=_0x665588[_0x766ced(0xdc)]('\x0a'),_0xd48e22=this[_0x766ced(0xca)](_0x627a32);!this[_0x766ced(0xf1)][_0x766ced(0xbd)](_0xd48e22)&&this[_0x766ced(0xf1)]['set'](_0xd48e22,new Set());for(let _0x3fb2e1=0x0;_0x3fb2e1<_0x1b6ad6[_0x766ced(0xef)];_0x3fb2e1++){const _0x51a3c8=_0x1b6ad6[_0x3fb2e1]['trim']();if(_0x51a3c8['startsWith']('//')||_0x51a3c8['startsWith']('/*'))continue;let _0x1ba538=_0x51a3c8,_0x48625e=_0x3fb2e1;while(!_0x1ba538[_0x766ced(0x115)](';')&&!_0x1ba538[_0x766ced(0x11a)](/from\s+['"`][^'"`]+['"`]/)&&_0x48625e<_0x1b6ad6[_0x766ced(0xef)]-0x1){_0x48625e++;const _0x22984d=_0x1b6ad6[_0x48625e]['trim']();if(_0x22984d[_0x766ced(0xa5)]('//')||_0x22984d['startsWith']('/*'))continue;_0x1ba538+='\x20'+_0x22984d;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0x362e2f;while((_0x362e2f=importRegex['exec'](_0x1ba538))!==null){const [,_0x475de9,defaultImport,_0x51ab1c,_0x276d62,_0x17168d]=_0x362e2f,_0x1568c6=await this['resolveImportPath'](_0x17168d,_0x627a32);!_0x1568c6[_0x766ced(0x9d)]&&_0x1568c6[_0x766ced(0x87)]&&this['dependencies'][_0x766ced(0xb9)](_0xd48e22)[_0x766ced(0xe1)](_0x1568c6[_0x766ced(0xe9)]);defaultImport&&imports[_0x766ced(0x109)]({'importingFile':_0xd48e22,'importedSymbol':defaultImport[_0x766ced(0xe2)](),'importedFromFile':_0x1568c6[_0x766ced(0xe9)],'fileExists':_0x1568c6['exists'],'isExternal':_0x1568c6[_0x766ced(0x9d)]||![],'isDefault':!![]});_0x276d62&&imports[_0x766ced(0x109)]({'importingFile':_0xd48e22,'importedSymbol':_0x276d62['trim'](),'importedFromFile':_0x1568c6[_0x766ced(0xe9)],'fileExists':_0x1568c6[_0x766ced(0x87)],'isExternal':_0x1568c6['isExternal']||![],'isNamespace':!![]});const _0x19d881=[_0x475de9,_0x51ab1c]['filter'](Boolean)[_0x766ced(0x123)](',');if(_0x19d881){const _0x598494=_0x19d881[_0x766ced(0xdc)](',')['map'](_0x4b8441=>{const _0x301a52=_0x766ced,_0x444fe3=_0x4b8441['trim']()[_0x301a52(0xdc)](/\s+as\s+/);return _0x444fe3[0x0]['trim']();});_0x598494[_0x766ced(0x104)](_0x5eb82f=>{const _0x21149d=_0x766ced;_0x5eb82f&&imports[_0x21149d(0x109)]({'importingFile':_0xd48e22,'importedSymbol':_0x5eb82f,'importedFromFile':_0x1568c6[_0x21149d(0xe9)],'fileExists':_0x1568c6[_0x21149d(0x87)],'isExternal':_0x1568c6[_0x21149d(0x9d)]||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0x362e2f=requireRegex['exec'](_0x1ba538))!==null){const [,_0x33b3ef,_0xc0283c,_0x20486e]=_0x362e2f,_0x4f21da=await this[_0x766ced(0x8e)](_0x20486e,_0x627a32);!_0x4f21da[_0x766ced(0x9d)]&&_0x4f21da['exists']&&this[_0x766ced(0xf1)]['get'](_0xd48e22)['add'](_0x4f21da[_0x766ced(0xe9)]);if(_0x33b3ef){const _0x355acb=_0x33b3ef['split'](',')['map'](_0x42e55a=>_0x42e55a[_0x766ced(0xe2)]()['split'](':')[0x0]['trim']());_0x355acb['forEach'](_0x2d1e9d=>{const _0x2ddfb2=_0x766ced;_0x2d1e9d&&imports['push']({'importingFile':_0xd48e22,'importedSymbol':_0x2d1e9d,'importedFromFile':_0x4f21da['path'],'fileExists':_0x4f21da[_0x2ddfb2(0x87)],'isExternal':_0x4f21da['isExternal']||![],'isDefault':![]});});}else _0xc0283c&&imports['push']({'importingFile':_0xd48e22,'importedSymbol':_0xc0283c['trim'](),'importedFromFile':_0x4f21da['path'],'fileExists':_0x4f21da['exists'],'isExternal':_0x4f21da['isExternal']||![],'isDefault':!![]});}_0x3fb2e1=_0x48625e;}return imports;}['parseExports'](_0x306ecc){const _0x31bd1c=a0_0x3abefe,exports=new Set(),_0xa9d1d7=_0x306ecc[_0x31bd1c(0xdc)]('\x0a');for(const _0x59aec5 of _0xa9d1d7){const _0x56d57c=_0x59aec5['trim']();if(_0x56d57c[_0x31bd1c(0xa5)]('//')||_0x56d57c['startsWith']('/*'))continue;/export\s+default\s+/[_0x31bd1c(0xa1)](_0x56d57c)&&exports[_0x31bd1c(0xe1)]('default');const _0x157b2e=_0x56d57c['match'](/export\s+\{([^}]+)\}/);if(_0x157b2e){const _0x17bbc7=_0x157b2e[0x1][_0x31bd1c(0xdc)](',')[_0x31bd1c(0xfd)](_0x51b984=>{const _0x2215fe=_0x31bd1c,_0x2c18c8=_0x51b984['trim']()[_0x2215fe(0xdc)](/\s+as\s+/);return _0x2c18c8[_0x2c18c8[_0x2215fe(0xef)]-0x1]['trim']();});_0x17bbc7['forEach'](_0x588863=>exports[_0x31bd1c(0xe1)](_0x588863));}const _0x32474f=_0x56d57c['match'](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x32474f&&exports[_0x31bd1c(0xe1)](_0x32474f[0x1]);const exportFromMatch=_0x56d57c['match'](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0x510a56=exportFromMatch[0x1][_0x31bd1c(0xdc)](',')['map'](_0x318222=>{const _0x1aa7b4=_0x31bd1c,_0x1b03bc=_0x318222['trim']()[_0x1aa7b4(0xdc)](/\s+as\s+/);return _0x1b03bc[_0x1b03bc[_0x1aa7b4(0xef)]-0x1]['trim']();});_0x510a56['forEach'](_0x12ccaa=>exports['add'](_0x12ccaa));}/export\s+\*\s+from/['test'](_0x56d57c)&&exports[_0x31bd1c(0xe1)]('*');const moduleExportsMatch=_0x56d57c[_0x31bd1c(0x11a)](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x3bf9e2=moduleExportsMatch[0x1][_0x31bd1c(0xdc)](',')['map'](_0x2a0153=>{const _0x511d05=_0x31bd1c,_0x293dcf=_0x2a0153['trim']()[_0x511d05(0xdc)](':');return _0x293dcf[0x0][_0x511d05(0xe2)]();});_0x3bf9e2['forEach'](_0x237fa4=>exports['add'](_0x237fa4));}/module\.exports\s*=\s*[^{]/['test'](_0x56d57c)&&exports['add']('default');const moduleExportsPropMatch=_0x56d57c['match'](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports[_0x31bd1c(0xe1)](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0x56d57c[_0x31bd1c(0x11a)](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports[_0x31bd1c(0xe1)](exportsPropMatch[0x1]);}return exports;}async[a0_0x3abefe(0x8e)](importPath,_0x4faa06){const _0x42665f=a0_0x3abefe;if(importPath['startsWith']('.')){const _0x50ab4b=a0_0x3d3f4e[_0x42665f(0xa0)](_0x4faa06),_0x2eebb2=a0_0x3d3f4e['resolve'](_0x50ab4b,importPath);if(a0_0x3d3f4e['extname'](importPath))try{const _0xdd5b1e=await a0_0x43a6e9['stat'](_0x2eebb2);if(_0xdd5b1e['isFile']())return{'path':this['getRelativePath'](_0x2eebb2),'exists':!![]};}catch{}const _0x51fd92=['','.js','.mjs',_0x42665f(0xe5),'.jsx','.tsx',_0x42665f(0x124),'/index.ts',_0x42665f(0x101),_0x42665f(0xec)];for(const _0x1c8613 of _0x51fd92){const _0x2f4d1b=_0x2eebb2+_0x1c8613;try{const _0x1955f0=await a0_0x43a6e9['stat'](_0x2f4d1b);if(_0x1955f0[_0x42665f(0xe0)]())return{'path':this[_0x42665f(0xca)](_0x2f4d1b),'exists':!![]};}catch{}}return{'path':this[_0x42665f(0xca)](_0x2eebb2),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}[a0_0x3abefe(0xca)](_0x3c0cdc){const _0xeb18a0=a0_0x3abefe;return a0_0x3d3f4e['relative'](this['rootDir'],_0x3c0cdc)[_0xeb18a0(0xd1)](/\\/g,'/');}['findCircularDependencies'](){const _0x50cde0=a0_0x3abefe,_0x1031dc=[],_0x5780b2=new Set(),_0x322107=new Set(),_0x150ca6=(_0x498ae8,_0x21775c=[])=>{const _0x37da17=a0_0x147a;if(_0x322107['has'](_0x498ae8)){const _0x59b9c5=_0x21775c['indexOf'](_0x498ae8);_0x59b9c5!==-0x1&&_0x1031dc[_0x37da17(0x109)]([..._0x21775c[_0x37da17(0xc0)](_0x59b9c5),_0x498ae8]);return;}if(_0x5780b2[_0x37da17(0xbd)](_0x498ae8))return;_0x5780b2[_0x37da17(0xe1)](_0x498ae8),_0x322107['add'](_0x498ae8),_0x21775c[_0x37da17(0x109)](_0x498ae8);const _0x411f36=this['dependencies'][_0x37da17(0xb9)](_0x498ae8)||new Set();for(const _0x459974 of _0x411f36){_0x150ca6(_0x459974,[..._0x21775c]);}_0x322107[_0x37da17(0x8b)](_0x498ae8);};for(const _0x349206 of this[_0x50cde0(0xf1)]['keys']()){!_0x5780b2[_0x50cde0(0xbd)](_0x349206)&&_0x150ca6(_0x349206);}return _0x1031dc;}[a0_0x3abefe(0xbe)](){const _0x2dee9f=a0_0x3abefe,_0x5b39e7=new Map();for(const _0x289c56 of this[_0x2dee9f(0xbb)]){!_0x289c56['isExternal']&&(!_0x5b39e7['has'](_0x289c56[_0x2dee9f(0x110)])&&_0x5b39e7['set'](_0x289c56['importedFromFile'],new Set()),_0x5b39e7[_0x2dee9f(0xb9)](_0x289c56['importedFromFile'])['add'](_0x289c56['importedSymbol']));}const _0x550e8e={};for(const [_0x23f311,exports]of this[_0x2dee9f(0xb4)]['entries']()){const _0xddaba2=_0x5b39e7[_0x2dee9f(0xb9)](_0x23f311)||new Set(),_0x117e0d=Array[_0x2dee9f(0xd6)](exports)['filter'](_0x4765cc=>!_0xddaba2[_0x2dee9f(0xbd)](_0x4765cc)&&_0x4765cc!=='*');_0x117e0d['length']>0x0&&(_0x550e8e[_0x23f311]=_0x117e0d);}return _0x550e8e;}async['analyze'](_0xfdecaa=a0_0x3abefe(0x94)){const _0x1d43b7=a0_0x3abefe;this['logger']?.['info']('Starting import analysis',{'mode':_0xfdecaa,'rootDir':this[_0x1d43b7(0xfa)]}),await this['loadIgnoreFile']();const _0x275c8f=await this['getAllFiles'](this[_0x1d43b7(0xfa)]);this['logger']?.['info'](_0x1d43b7(0xd4),{'count':_0x275c8f['length']});for(const _0x5ec912 of _0x275c8f){try{const _0x3f0f04=await a0_0x43a6e9[_0x1d43b7(0x8d)](_0x5ec912,_0x1d43b7(0xd8)),_0x1a4cb0=this[_0x1d43b7(0xca)](_0x5ec912),_0x34dd9b=await this['parseImports'](_0x3f0f04,_0x5ec912);this['imports'][_0x1d43b7(0x109)](..._0x34dd9b);const _0x28aec5=this['parseExports'](_0x3f0f04);this['exports'][_0x1d43b7(0x11b)](_0x1a4cb0,_0x28aec5);}catch(_0x1e9774){this['logger']?.[_0x1d43b7(0x98)](_0x1d43b7(0xa3),{'file':_0x5ec912,'error':_0x1e9774[_0x1d43b7(0xed)]});}}this[_0x1d43b7(0x84)]?.['info'](_0x1d43b7(0x8a),{'imports':this[_0x1d43b7(0xbb)]['length'],'exports':this['exports'][_0x1d43b7(0xbf)]});const _0x5ea4d5={'summary':{'totalFiles':_0x275c8f['length'],'totalImports':this['imports']['length'],'totalExports':Array['from'](this[_0x1d43b7(0xb4)]['values']())[_0x1d43b7(0x89)]((_0x9cc562,exports)=>_0x9cc562+exports[_0x1d43b7(0xbf)],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this['imports']){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0x2530f4,isNamespace:_0x47118d,fileExists:_0x10cf25,isExternal:_0x7b8dd4}=importEntry;if(!_0x10cf25&&!_0x7b8dd4){_0x5ea4d5['fileNotFoundImports']['push']({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0x2530f4||![],'isNamespace':_0x47118d||![]});!_0x5ea4d5['missingFiles'][importingFile]&&(_0x5ea4d5['missingFiles'][importingFile]=[]);_0x5ea4d5['missingFiles'][importingFile][_0x1d43b7(0x109)]({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0x2530f4||![],'isNamespace':_0x47118d||![]});continue;}if(_0x7b8dd4)continue;const exportingFileExports=this[_0x1d43b7(0xb4)]['get'](importedFromFile);let _0x1cc97f=![];if(exportingFileExports){if(_0x47118d)_0x1cc97f=exportingFileExports['size']>0x0;else _0x2530f4?_0x1cc97f=exportingFileExports[_0x1d43b7(0xbd)]('default'):_0x1cc97f=exportingFileExports[_0x1d43b7(0xbd)](importedSymbol)||exportingFileExports[_0x1d43b7(0xbd)]('*');}!_0x1cc97f&&(!_0x5ea4d5['missingExports'][importingFile]&&(_0x5ea4d5['missingExports'][importingFile]=[]),_0x5ea4d5['missingExports'][importingFile]['push']({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array['from'](exportingFileExports):[],'isDefault':_0x2530f4||![],'isNamespace':_0x47118d||![]}));}return(_0xfdecaa===_0x1d43b7(0x94)||_0xfdecaa===_0x1d43b7(0x105))&&(this[_0x1d43b7(0x84)]?.['info'](_0x1d43b7(0xa7)),_0x5ea4d5[_0x1d43b7(0x10f)]=this['findCircularDependencies'](),_0x5ea4d5[_0x1d43b7(0xa4)]=this[_0x1d43b7(0xbe)]()),this['logger']?.[_0x1d43b7(0xc6)]('Analysis\x20complete',{'missingFiles':_0x5ea4d5['fileNotFoundImports'][_0x1d43b7(0xef)],'missingExports':Object['keys'](_0x5ea4d5[_0x1d43b7(0xcb)])['length']}),_0x5ea4d5;}}export default ImportAnalyzerTool;
1
+ const a0_0x4fd53e=a0_0x5bc2;function a0_0x1d78(){const _0x3ec989=['Cgf0Aa','Aw1WB3j0CW','ndm5nJi5ugXdrMDe','C3bSAxq','iJ8GkgnHC2uGBwLZBwf0y2GP','cVcFLiqGq0Lsq1vmqviGrevqru5eru5dsuvt','zxHLyW','ANnVBG','zNjVBq','igLTCg9YDhmG','y3DK','AwDUB3jLugf0DgvYBNm','lMPZEa','zgvSzxrL','ndruDwLZuMe','yMfZzw5HBwu','icHTyxG6ia','zMLSzu5VDezVDw5Ksw1WB3j0CW','C3LTyM9StMfTzq','tufyx0zjtevt','vKfmsurFt1vuufvuuW','zgvIDwC','CMvZB2X2zuLTCg9YDfbHDgG','sw1WB3j0igfUywX5C2LZignVBxbSzxrLza','C3rYAw5NAwz5','Bwf0y2G','rM91BMqGzMLSzxm','zNvSBa','8j+tIIbjBxbVCNqVrxHWB3j0iefUywX5C2LZifn1Bw1HCNK','CMvWBgfJzq','AwDUB3jLrMLSzq','yNvPBgq','icaZlIbszwzHy3rVCIa','Aw5MBW','lMPZ','B3v0Chv0','Dw51C2vKrxHWB3j0CW','igLZC3vLkhmPihrOyxqGBMvLzcbHDhrLBNrPB246','zMLSDgvY','icaGicaG8j+sOsbgAxG6ienOzwnRigLMigzPBguGzxHPC3rZig9YignVCNjLy3qGDgHLigLTCg9YDcbWyxrO','yxzHAwXHyMXLrxHWB3j0CW','yw5HBhL6zq','vKfmsurFtu9ervm','C3rHCNrZv2L0Aa','zxH0BMfTzq','yxr0CMLIDxrLCW','C2XPy2u','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','Dg90ywXgAwXLCW','t3v0Chv0oIa','icdIGkiGrMLSzxmGyw5HBhL6zwq6ia','igjYB2TLBIbPBxbVCNqOCYK','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','z2v0uMvSyxrPDMvqyxrO','nenoB0rSzW','Aw5KzxHpzG','icaGicaG8j+sOsbgAxG6ierPzcb5B3uGBwvHBIaI','y2LYy3vSyxjezxbLBMrLBMnPzxm','AxngAwXL','AxnfEhrLCM5HBa','x3zHBgLKyxrLugfYyw1LDgvYCW','zMLUzfvUDxnLzev4Cg9YDhm','zM9YrwfJAa','8j+tPsbuB3rHBcbPBxbVCNrZoIa','AgfZ','revgqvvmvf9nt0rf','Axnoyw1LC3bHy2u','cIaGtwLZC2LUzYbgAwXLCZO','CgfYC2vqyxjHBwv0zxjZ','8j+uHcbdAxjJDwXHCIbKzxbLBMrLBMnPzxm6ia','igHHCYa','Dg9mB3DLCKnHC2u','x2zVCM1HDfn1Bw1HCNLpDxrWDxq','AwDUB3jLrMLSzsbTDxn0igjLigeGC3rYAw5N','Dg90ywXjBxbVCNrZ','zMLUza','BwLZC2LUz0v4Cg9YDhm','BMfTzxnWywnL','icaGicaG8j+sOsbgAxG6ie5VigrLzMf1BhqGzxHWB3j0lIbvC2uGBMfTzwqGAw1WB3j0oIb7ia','l2LUzgv4lNrZ','cVcFK4qG','Aw1WB3j0zwrgCM9TrMLSzq','z2v0','icaGiokaOIa','4P2mie1PC3nPBMCGzMLSzxm6ia','mtC0ote4mg9vt1fesq','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','DxrMltG','CMvKDwnL','icaGicaG8j+tPcboBYbLEhbVCNrZigzVDw5KigLUihrHCMDLDcbMAwXL','C2HVDwXKswDUB3jLrMLSzq','BgvUz3rO','zxHPC3rZ','AM9PBG','BM9YBwfSAxPL','z2v0qwXSrMLSzxm','mZqYnZC3nLP5ruLVta','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','Bg9HzeLNBM9YzuzPBgu','lNrZ','BM9Kzv9TB2r1BgvZ','icaGicaG8j+sOsbgAxG6iefKzcbLEhbVCNqGzM9Yici','lMDPDgLNBM9Yzq','zgLYBMfTzq','AxnbyNnVBhv0zq','rMLSzsbJB3vUDcbLEgnLzwrZigXPBwL0oIa','u1vque9svevex0vyvevou0LptLm','zxHLy3v0zq','l2LUzgv4lMPZ','mJK4oti1yw1ms3DH','DgvZDa','cIaGq3LJBguG','zgLZDa','CM9VDerPCG','DMfSDwvZ','id4G','Bg9Nz2vY','Aw1WB3j0zwrtEw1IB2W','C2L6zq','icaYlIbszxnVBhzLia','Aw5JBhvKzxm','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw5ZigrLDgvJDgvK','Dg90ywXfEhbVCNrZ','mtu3nZm3nMD1vxLVza','Bw9Kzq','AwDUB3jLlwzPBgu','D29YA2LUz0rPCMvJDg9YEq','ChvZAa','Cgf0AcbTDxn0igjLigeGC3rYAw5N','ywrK','x2zVCM1HDerLDgfPBgvKt3v0Chv0','vg9Vig1HBNKGzMLSzxmGDg8Gyw5HBhL6ztOG','l2LUzgv4lNrZEa','mtrhvLPTEfm','Aw1WB3j0Aw5NrMLSzq','DhjPBq','n0Pqy3DIEq','BwLZC2LUz0zPBgvZ','B2jQzwn0','AxnezwzHDwX0','zgv0ywLSzwq','CxvPy2S','CMvSyxrPDMu','mZC0mJLbvMPIqvG','mtmWy2fSv3L3','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','C3vTBwfYEq','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw4OCYK','8j+tIcbtDgf0Axn0AwnZoG','C2v0','cVcFLi0Gvg9WieLZC3vLCYb0BYbgAxG6','BMfTzq','zgvWzw5Kzw5JAwvZ','icaGicaG8j+tPcbbDMfPBgfIBguGzxHWB3j0CZOG','A2v5CW','icaGicaGrNjVBsbMAwXLoIa','BwvZC2fNzq','zw50CMLLCW','mtuXmJi3vuPuzLHA','BwfW','ig1PC3nPBMCGzxHWB3j0khmP','revgqvvmvf9pvvrqvvq'];a0_0x1d78=function(){return _0x3ec989;};return a0_0x1d78();}(function(_0x2b2c0c,_0x3f5ca3){const _0x179d60=a0_0x5bc2,_0x3849cf=_0x2b2c0c();while(!![]){try{const _0x30d18c=parseInt(_0x179d60(0x1dd))/0x1*(parseInt(_0x179d60(0x1d3))/0x2)+parseInt(_0x179d60(0x1f2))/0x3*(parseInt(_0x179d60(0x226))/0x4)+-parseInt(_0x179d60(0x1bb))/0x5+-parseInt(_0x179d60(0x1c9))/0x6*(-parseInt(_0x179d60(0x1d6))/0x7)+parseInt(_0x179d60(0x250))/0x8+-parseInt(_0x179d60(0x1ec))/0x9*(parseInt(_0x179d60(0x1de))/0xa)+parseInt(_0x179d60(0x1fe))/0xb*(-parseInt(_0x179d60(0x245))/0xc);if(_0x30d18c===_0x3f5ca3)break;else _0x3849cf['push'](_0x3849cf['shift']());}catch(_0x32c7cd){_0x3849cf['push'](_0x3849cf['shift']());}}}(a0_0x1d78,0x3a426));import{promises as a0_0x289b41}from'fs';import a0_0x3f9295 from'path';function a0_0x5bc2(_0x590ba8,_0x225fd5){_0x590ba8=_0x590ba8-0x1b8;const _0x1d7829=a0_0x1d78();let _0x5bc283=_0x1d7829[_0x590ba8];if(a0_0x5bc2['BHUbWT']===undefined){var _0x37dad2=function(_0x672c30){const _0x428b91='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x289b41='',_0x3f9295='';for(let _0x1cd39a=0x0,_0x4ba0c4,_0xfa66e6,_0x3f64dc=0x0;_0xfa66e6=_0x672c30['charAt'](_0x3f64dc++);~_0xfa66e6&&(_0x4ba0c4=_0x1cd39a%0x4?_0x4ba0c4*0x40+_0xfa66e6:_0xfa66e6,_0x1cd39a++%0x4)?_0x289b41+=String['fromCharCode'](0xff&_0x4ba0c4>>(-0x2*_0x1cd39a&0x6)):0x0){_0xfa66e6=_0x428b91['indexOf'](_0xfa66e6);}for(let _0x45e462=0x0,_0x15d42e=_0x289b41['length'];_0x45e462<_0x15d42e;_0x45e462++){_0x3f9295+='%'+('00'+_0x289b41['charCodeAt'](_0x45e462)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f9295);};a0_0x5bc2['epvRXL']=_0x37dad2,a0_0x5bc2['NmTAIc']={},a0_0x5bc2['BHUbWT']=!![];}const _0x2e2d0a=_0x1d7829[0x0],_0x2f0246=_0x590ba8+_0x2e2d0a,_0x1ffbe4=a0_0x5bc2['NmTAIc'][_0x2f0246];return!_0x1ffbe4?(_0x5bc283=a0_0x5bc2['epvRXL'](_0x5bc283),a0_0x5bc2['NmTAIc'][_0x2f0246]=_0x5bc283):_0x5bc283=_0x1ffbe4,_0x5bc283;}import{BaseTool}from'./baseTool.js';import a0_0x1cd39a from'../utilities/tagParser.js';const ANALYZER_CONFIG={'DEFAULT_MODE':a0_0x4fd53e(0x20b),'VALID_MODES':[a0_0x4fd53e(0x20b),a0_0x4fd53e(0x1db),'fix'],'DEFAULT_OUTPUT':'summary','VALID_OUTPUTS':['summary',a0_0x4fd53e(0x1da),a0_0x4fd53e(0x1f7)],'DEFAULT_IGNORE_FILE':a0_0x4fd53e(0x256),'MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':[a0_0x4fd53e(0x212),'.mjs',a0_0x4fd53e(0x253),a0_0x4fd53e(0x1fc),'.tsx'],'DEFAULT_IGNORE_PATTERNS':[a0_0x4fd53e(0x254),'.git',a0_0x4fd53e(0x1be),a0_0x4fd53e(0x20f),'coverage'],'FILE_READ_TIMEOUT':0x1388};export class ImportAnalyzerTool extends BaseTool{['getDescription'](){return'Tool:\x20Import\x20Analyzer\x20-\x20Analyze\x20JavaScript/TypeScript\x20imports\x20and\x20exports\x0a\x0a**Purpose:**\x20Analyzes\x20JavaScript/TypeScript\x20projects\x20to\x20detect\x20broken\x20imports,\x20missing\x20exports,\x20circular\x20dependencies,\x20and\x20unused\x20exports.\x0a\x0a**Invocation\x20Syntax:**\x0a\x0aXML\x20Format:\x0a```xml\x0a<import-analyzer>\x0a\x20\x20<path>./src</path>\x0a\x20\x20<mode>full</mode>\x0a\x20\x20<output>summary</output>\x0a\x20\x20<ignore-file>.gitignore</ignore-file>\x0a</import-analyzer>\x0a```\x0a\x0aJSON\x20Format:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22path\x22:\x20\x22./src\x22,\x0a\x20\x20\x20\x20\x22mode\x22:\x20\x22full\x22,\x0a\x20\x20\x20\x20\x22output\x22:\x20\x22summary\x22,\x0a\x20\x20\x20\x20\x22ignoreFile\x22:\x20\x22.gitignore\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**path**\x20(string,\x20optional):\x20Path\x20to\x20directory\x20to\x20analyze.\x20Default:\x20\x22.\x22\x0a-\x20**mode**\x20(string,\x20optional):\x20Analysis\x20mode.\x20Options:\x0a\x20\x20-\x20\x22full\x22\x20-\x20Complete\x20analysis\x20(default)\x0a\x20\x20-\x20\x22quick\x22\x20-\x20Fast\x20scan\x20for\x20missing\x20files\x20only\x0a\x20\x20-\x20\x22fix\x22\x20-\x20Includes\x20fix\x20suggestions\x0a-\x20**output**\x20(string,\x20optional):\x20Output\x20format.\x20Options:\x0a\x20\x20-\x20\x22summary\x22\x20-\x20Concise\x20summary\x20(default)\x0a\x20\x20-\x20\x22detailed\x22\x20-\x20Full\x20report\x20with\x20fixes\x0a\x20\x20-\x20\x22json\x22\x20-\x20Machine-readable\x20format\x0a-\x20**ignoreFile**\x20(string,\x20optional):\x20Ignore\x20file\x20name.\x20Default:\x20\x22.gitignore\x22\x0a\x0a**What\x20It\x20Detects:**\x0a-\x20Missing\x20files\x20(imports\x20pointing\x20to\x20non-existent\x20files)\x0a-\x20Missing\x20exports\x20(symbols\x20not\x20exported\x20from\x20target\x20files)\x0a-\x20Circular\x20dependencies\x20(files\x20that\x20depend\x20on\x20each\x20other\x20in\x20a\x20loop)\x0a-\x20Unused\x20exports\x20(exports\x20never\x20imported\x20anywhere)\x0a\x0a**Examples:**\x0a\x0a1.\x20Quick\x20project\x20scan:\x0a```xml\x0a<import-analyzer>\x0a\x20\x20<mode>quick</mode>\x0a</import-analyzer>\x0a```\x0a\x0a2.\x20Full\x20analysis\x20with\x20detailed\x20report:\x0a```xml\x0a<import-analyzer>\x0a\x20\x20<mode>full</mode>\x0a\x20\x20<output>detailed</output>\x0a</import-analyzer>\x0a```\x0a\x0a3.\x20Analyze\x20specific\x20directory:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22path\x22:\x20\x22./src/components\x22,\x20\x22mode\x22:\x20\x22full\x22\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Supports\x20ES6\x20modules\x20(import/export)\x20and\x20CommonJS\x20(require/module.exports)\x0a-\x20Respects\x20.gitignore\x20patterns\x0a-\x20Correctly\x20handles\x20commented\x20imports\x20and\x20multi-line\x20statements\x0a-\x20Works\x20with\x20.js,\x20.mjs,\x20.ts,\x20.jsx,\x20.tsx\x20files';}[a0_0x4fd53e(0x234)](_0x4ba0c4){const _0x1cf73d=a0_0x4fd53e;if(typeof _0x4ba0c4===_0x1cf73d(0x1d8)&&_0x4ba0c4!==null)return{'path':_0x4ba0c4[_0x1cf73d(0x1f0)]||'.','mode':_0x4ba0c4[_0x1cf73d(0x1ca)]||ANALYZER_CONFIG[_0x1cf73d(0x231)],'output':_0x4ba0c4[_0x1cf73d(0x213)]||ANALYZER_CONFIG[_0x1cf73d(0x1ef)],'ignoreFile':_0x4ba0c4['ignoreFile']||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};if(typeof _0x4ba0c4==='string'){const _0xfa66e6=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x3f64dc=_0xfa66e6[_0x1cf73d(0x1f6)](_0x4ba0c4);if(_0x3f64dc){const _0x45e462=_0x3f64dc[0x1],_0x15d42e=_0x3f64dc[0x2],_0x87771b=/path=["']([^"']*)["']/i[_0x1cf73d(0x1f6)](_0x45e462),_0x1eed57=/mode=["']([^"']*)["']/i['exec'](_0x45e462),_0x47c2b1=/output=["']([^"']*)["']/i['exec'](_0x45e462),_0x4fc545=/ignore-file=["']([^"']*)["']/i['exec'](_0x45e462),_0x2d92fd=/<path>(.*?)<\/path>/i,_0x2aa28a=_0x2d92fd['exec'](_0x15d42e),_0x31671b=/<mode>(.*?)<\/mode>/i,_0x505e40=_0x31671b['exec'](_0x15d42e),_0x119022=/<output>(.*?)<\/output>/i,_0x50c9f7=_0x119022[_0x1cf73d(0x1f6)](_0x15d42e),_0x4a92e3=/<ignore-file>(.*?)<\/ignore-file>/i,_0x29ab2e=_0x4a92e3['exec'](_0x15d42e),_0x5bd717=(_0x2aa28a?_0x2aa28a[0x1][_0x1cf73d(0x1d5)]():null)||(_0x87771b?_0x87771b[0x1]:'.'),_0x9133b6=(_0x505e40?_0x505e40[0x1][_0x1cf73d(0x1d5)]():null)||(_0x1eed57?_0x1eed57[0x1]:ANALYZER_CONFIG['DEFAULT_MODE']),_0x32a233=(_0x50c9f7?_0x50c9f7[0x1][_0x1cf73d(0x1d5)]():null)||(_0x47c2b1?_0x47c2b1[0x1]:ANALYZER_CONFIG[_0x1cf73d(0x1ef)]),_0x4eb119=(_0x29ab2e?_0x29ab2e[0x1][_0x1cf73d(0x1d5)]():null)||(_0x4fc545?_0x4fc545[0x1]:ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']);return{'path':_0x5bd717,'mode':_0x9133b6,'output':_0x32a233,'ignoreFile':_0x4eb119};}try{const _0x49b9d7=a0_0x1cd39a['parseTags'](_0x4ba0c4,'analyze');if(_0x49b9d7&&_0x49b9d7[_0x1cf73d(0x24b)]>0x0){const _0x1f594c=_0x49b9d7[0x0];return{'path':_0x1f594c[_0x1cf73d(0x21d)][_0x1cf73d(0x1f0)]||'.','mode':_0x1f594c[_0x1cf73d(0x21d)][_0x1cf73d(0x1ca)]||ANALYZER_CONFIG[_0x1cf73d(0x231)],'output':_0x1f594c[_0x1cf73d(0x21d)]['output']||ANALYZER_CONFIG[_0x1cf73d(0x1ef)],'ignoreFile':_0x1f594c[_0x1cf73d(0x21d)][_0x1cf73d(0x1cb)]||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};}}catch(_0x50b153){}throw new Error('Invalid import-analyzer format. Use <import-analyzer> tags or JSON format.');}throw new Error('Invalid\x20parameter\x20format.\x20Expected\x20string\x20(XML)\x20or\x20object\x20(JSON).');}[a0_0x4fd53e(0x22c)](_0x3eaa4f){const _0x1afdde=a0_0x4fd53e;if(!_0x3eaa4f||typeof _0x3eaa4f!=='object')throw new Error('Parameters\x20must\x20be\x20an\x20object');if(_0x3eaa4f[_0x1afdde(0x1f0)]&&typeof _0x3eaa4f[_0x1afdde(0x1f0)]!=='string')throw new Error(_0x1afdde(0x1ce));if(_0x3eaa4f['mode']&&!ANALYZER_CONFIG['VALID_MODES']['includes'](_0x3eaa4f[_0x1afdde(0x1ca)]))throw new Error('Invalid\x20mode:\x20'+_0x3eaa4f['mode']+'.\x20Must\x20be\x20one\x20of:\x20'+ANALYZER_CONFIG[_0x1afdde(0x21a)]['join'](',\x20'));if(_0x3eaa4f[_0x1afdde(0x213)]&&!ANALYZER_CONFIG['VALID_OUTPUTS']['includes'](_0x3eaa4f[_0x1afdde(0x213)]))throw new Error('Invalid\x20output:\x20'+_0x3eaa4f[_0x1afdde(0x213)]+'.\x20Must\x20be\x20one\x20of:\x20'+ANALYZER_CONFIG[_0x1afdde(0x204)]['join'](',\x20'));if(_0x3eaa4f['ignoreFile']&&typeof _0x3eaa4f['ignoreFile']!=='string')throw new Error(_0x1afdde(0x239));}['_resolveAndValidatePath'](_0x26aeab,_0x3c89b5){const _0x15bf94=a0_0x4fd53e,{projectDir:_0x1e2023,directoryAccess:_0x146394}=_0x3c89b5;let _0x116036=_0x1e2023||process[_0x15bf94(0x1fa)]();_0x146394&&_0x146394[_0x15bf94(0x1cc)]&&(_0x116036=_0x146394['workingDirectory']);const _0x4baba3=a0_0x3f9295[_0x15bf94(0x258)](_0x26aeab)?a0_0x3f9295['normalize'](_0x26aeab):a0_0x3f9295[_0x15bf94(0x24e)](a0_0x3f9295['join'](_0x116036,_0x26aeab)),_0x32270a=a0_0x3f9295[_0x15bf94(0x24e)](_0x116036);if(!_0x4baba3['startsWith'](_0x32270a))throw new Error('Path\x20traversal\x20detected:\x20'+_0x26aeab+'\x20resolves\x20outside\x20working\x20directory');return _0x4baba3;}async[a0_0x4fd53e(0x1b9)](_0x111611,_0xb5d6d2={}){const _0x31cdfd=a0_0x4fd53e;try{this['_validateParameters'](_0x111611);const {path:_0x511c93,mode:_0x24dd37,output:_0x3718a7,ignoreFile:_0x22c6ef}=_0x111611,{projectDir:_0x438208,agentId:_0x2a001e,directoryAccess:_0x555f05}=_0xb5d6d2,_0x376dec=this['_resolveAndValidatePath'](_0x511c93,_0xb5d6d2);this['logger']?.['info']('Import\x20analyzer\x20executing',{'mode':_0x24dd37,'resolvedPath':_0x376dec,'output':_0x3718a7,'agentId':_0x2a001e});const _0x184c50=[];_0x184c50[_0x31cdfd(0x1cd)]('🔍\x20Analyzing\x20imports\x20in:\x20'+_0x376dec),_0x184c50[_0x31cdfd(0x1cd)]('Mode:\x20'+_0x24dd37),_0x184c50[_0x31cdfd(0x1cd)](_0x31cdfd(0x221)+_0x3718a7+'\x0a');try{await a0_0x289b41['access'](_0x376dec);}catch{return{'success':![],'error':'Path\x20does\x20not\x20exist:\x20'+_0x376dec,'output':_0x184c50['join']('\x0a')};}const _0x53d322=new ImportExportAnalyzer(_0x376dec,_0x22c6ef,this[_0x31cdfd(0x1c2)]),_0x409e82=await _0x53d322[_0x31cdfd(0x219)](_0x24dd37);let _0x4b2df1;switch(_0x3718a7){case _0x31cdfd(0x1f7):_0x4b2df1=JSON[_0x31cdfd(0x208)](_0x409e82,null,0x2);break;case _0x31cdfd(0x1da):_0x4b2df1=this[_0x31cdfd(0x1d0)](_0x409e82),_0x184c50['push'](_0x4b2df1);break;case'summary':default:_0x4b2df1=this['_formatSummaryOutput'](_0x409e82),_0x184c50['push'](_0x4b2df1);break;}return{'success':!![],'mode':_0x24dd37,'message':_0x31cdfd(0x207),'statistics':{'totalFiles':_0x409e82['summary'][_0x31cdfd(0x220)],'totalImports':_0x409e82[_0x31cdfd(0x1e0)]['totalImports'],'totalExports':_0x409e82[_0x31cdfd(0x1e0)][_0x31cdfd(0x1c8)],'issuesFound':_0x409e82[_0x31cdfd(0x201)][_0x31cdfd(0x24b)]+Object[_0x31cdfd(0x1c0)](_0x409e82[_0x31cdfd(0x23c)])[_0x31cdfd(0x248)]((_0x5c26d7,_0x3f49c5)=>_0x5c26d7+_0x3f49c5['length'],0x0)},'output':_0x3718a7==='json'?_0x4b2df1:_0x184c50[_0x31cdfd(0x24d)]('\x0a'),'results':_0x409e82};}catch(_0x11914b){return this['logger']?.['error']('Import\x20analyzer\x20error:',_0x11914b),{'success':![],'error':_0x11914b[_0x31cdfd(0x1ea)],'output':_0x11914b[_0x31cdfd(0x1ea)]};}}[a0_0x4fd53e(0x238)](_0x597693){const _0x5e95f2=a0_0x4fd53e,_0x3020c5=[];_0x3020c5['push'](_0x5e95f2(0x20c)),_0x3020c5[_0x5e95f2(0x1cd)](_0x5e95f2(0x251)),_0x3020c5[_0x5e95f2(0x1cd)]('📁\x20Files\x20analyzed:\x20'+_0x597693['summary']['totalFiles']),_0x3020c5['push'](_0x5e95f2(0x22f)+_0x597693[_0x5e95f2(0x1e0)][_0x5e95f2(0x23a)]),_0x3020c5[_0x5e95f2(0x1cd)]('📤\x20Total\x20exports:\x20'+_0x597693['summary'][_0x5e95f2(0x1c8)]+'\x0a');const _0x6c144e=_0x597693[_0x5e95f2(0x201)][_0x5e95f2(0x24b)],_0x19976c=Object['values'](_0x597693[_0x5e95f2(0x23c)])['reduce']((_0x16fc4c,_0x481dad)=>_0x16fc4c+_0x481dad['length'],0x0),_0x30b97f=_0x597693[_0x5e95f2(0x229)]?_0x597693['circularDependencies']['length']:0x0;return _0x6c144e>0x0&&_0x3020c5['push'](_0x5e95f2(0x244)+_0x6c144e+'\x20imports\x20pointing\x20to\x20non-existent\x20files'),_0x19976c>0x0&&_0x3020c5[_0x5e95f2(0x1cd)]('⚠️\x20\x20Missing\x20exports:\x20'+_0x19976c+'\x20symbols\x20not\x20exported\x20from\x20their\x20sources'),_0x30b97f>0x0&&_0x3020c5[_0x5e95f2(0x1cd)](_0x5e95f2(0x235)+_0x30b97f+_0x5e95f2(0x1c7)),_0x6c144e===0x0&&_0x19976c===0x0&&_0x30b97f===0x0?_0x3020c5['push']('\u2705 No import/export issues detected!'):(_0x3020c5['push'](_0x5e95f2(0x1e4)),Object[_0x5e95f2(0x1e8)](_0x597693['missingFiles']||{})[_0x5e95f2(0x24b)]>0x0&&(_0x3020c5['push'](_0x5e95f2(0x233)),Object['entries'](_0x597693['missingFiles'])['slice'](0x0,0x3)['forEach'](([_0x585184,_0x41d492])=>{const _0x40310f=_0x5e95f2;_0x3020c5[_0x40310f(0x1cd)]('\x20\x20\x20\x20•\x20'+_0x585184+_0x40310f(0x236)+_0x41d492['length']+_0x40310f(0x223));})),Object[_0x5e95f2(0x1e8)](_0x597693[_0x5e95f2(0x23c)])['length']>0x0&&(_0x3020c5[_0x5e95f2(0x1cd)]('\x0a\x20\x20Missing\x20Exports:'),Object[_0x5e95f2(0x1eb)](_0x597693[_0x5e95f2(0x23c)])[_0x5e95f2(0x21e)](0x0,0x3)['forEach'](([_0x1c37e2,_0x22daeb])=>{const _0x4c6b90=_0x5e95f2;_0x3020c5['push'](_0x4c6b90(0x243)+_0x1c37e2+_0x4c6b90(0x1f9)+_0x22daeb[_0x4c6b90(0x24b)]+'\x20non-existent\x20symbol(s)');})),_0x3020c5['push']('\x0a💡\x20Run\x20with\x20output=\x22detailed\x22\x20for\x20complete\x20analysis\x20and\x20fix\x20suggestions')),_0x3020c5[_0x5e95f2(0x24d)]('\x0a');}['_formatDetailedOutput'](_0x4c03ad){const _0xba63e2=a0_0x4fd53e,_0x5c256c=[];_0x5c256c['push']('📊\x20Detailed\x20Import/Export\x20Analysis\x20Report'),_0x5c256c['push'](_0xba63e2(0x224)),_0x5c256c[_0xba63e2(0x1cd)](_0xba63e2(0x1e2)),_0x5c256c[_0xba63e2(0x1cd)](_0xba63e2(0x222)+_0x4c03ad['summary'][_0xba63e2(0x220)]),_0x5c256c['push']('\x20\x20•\x20Total\x20imports:\x20'+_0x4c03ad[_0xba63e2(0x1e0)][_0xba63e2(0x23a)]),_0x5c256c[_0xba63e2(0x1cd)]('\x20\x20•\x20Total\x20exports:\x20'+_0x4c03ad[_0xba63e2(0x1e0)][_0xba63e2(0x1c8)]+'\x0a');if(_0x4c03ad[_0xba63e2(0x201)][_0xba63e2(0x24b)]>0x0){_0x5c256c[_0xba63e2(0x1cd)]('❌\x20MISSING\x20FILES'),_0x5c256c['push'](_0xba63e2(0x246));const _0xdc005e={};_0x4c03ad[_0xba63e2(0x201)][_0xba63e2(0x22e)](_0x1832c3=>{const _0x8bf149=_0xba63e2;!_0xdc005e[_0x1832c3['importingFile']]&&(_0xdc005e[_0x1832c3['importingFile']]=[]),_0xdc005e[_0x1832c3[_0x8bf149(0x1d4)]][_0x8bf149(0x1cd)](_0x1832c3);}),Object[_0xba63e2(0x1eb)](_0xdc005e)['forEach'](([_0xa80a7,imports])=>{_0x5c256c['push']('\x0a📄\x20'+_0xa80a7+':'),imports['forEach'](_0x3f7967=>{const _0x86d7bc=a0_0x5bc2,importType=_0x3f7967[_0x86d7bc(0x1d9)]?'default':_0x3f7967[_0x86d7bc(0x232)]?_0x86d7bc(0x23d):'named';_0x5c256c['push']('\x20\x20\x20⚠️\x20\x20Cannot\x20find\x20file:\x20'+_0x3f7967['importedFromFile']),_0x5c256c['push']('\x20\x20\x20\x20\x20\x20Trying\x20to\x20import:\x20'+_0x3f7967['importedSymbol']+'\x20('+importType+')'),_0x5c256c['push'](_0x86d7bc(0x217));});});}Object[_0xba63e2(0x1e8)](_0x4c03ad[_0xba63e2(0x23c)])['length']>0x0&&(_0x5c256c['push']('\x0a⚠️\x20\x20MISSING\x20EXPORTS'),_0x5c256c['push']('──────────────────'),Object[_0xba63e2(0x1eb)](_0x4c03ad[_0xba63e2(0x23c)])['forEach'](([_0x50a33d,_0x2cd19b])=>{_0x5c256c['push']('\x0a📄\x20'+_0x50a33d+':'),_0x2cd19b['forEach'](_0x1c5747=>{const _0x48335c=a0_0x5bc2,importType=_0x1c5747[_0x48335c(0x1d9)]?'default':_0x1c5747[_0x48335c(0x232)]?_0x48335c(0x23d):'named';_0x5c256c['push']('\x20\x20\x20❌\x20Symbol\x20not\x20exported:\x20\x22'+_0x1c5747[_0x48335c(0x1c3)]+'\x22\x20('+importType+')'),_0x5c256c[_0x48335c(0x1cd)](_0x48335c(0x1e9)+_0x1c5747['importedFromFile']);if(_0x1c5747[_0x48335c(0x218)]['length']>0x0){_0x5c256c[_0x48335c(0x1cd)](_0x48335c(0x1e7)+_0x1c5747[_0x48335c(0x218)]['join'](',\x20'));if(_0x1c5747['isDefault']&&_0x1c5747['availableExports']['includes']('default'))_0x5c256c['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Default\x20export\x20exists,\x20check\x20import\x20syntax');else{if(_0x1c5747[_0x48335c(0x1d9)]&&!_0x1c5747['availableExports'][_0x48335c(0x1c6)]('default'))_0x5c256c[_0x48335c(0x1cd)](_0x48335c(0x23e)+(_0x1c5747['availableExports'][0x0]||_0x48335c(0x202))+'\x20}');else{const _0x293875=_0x1c5747['availableExports'][_0x48335c(0x23b)](_0x938a25=>_0x938a25['toLowerCase']()===_0x1c5747[_0x48335c(0x1c3)][_0x48335c(0x237)]());_0x293875?_0x5c256c[_0x48335c(0x1cd)](_0x48335c(0x228)+_0x293875+_0x48335c(0x1f4)):_0x5c256c[_0x48335c(0x1cd)](_0x48335c(0x255)+_0x1c5747[_0x48335c(0x1c3)]+'\x22\x20or\x20use\x20one\x20of\x20the\x20available\x20exports');}}}else _0x5c256c['push'](_0x48335c(0x249)),_0x5c256c['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20exports\x20to\x20'+_0x1c5747[_0x48335c(0x241)]+'\x20or\x20check\x20if\x20it\x27s\x20the\x20correct\x20file');});}));_0x4c03ad[_0xba63e2(0x229)]&&_0x4c03ad['circularDependencies']['length']>0x0&&(_0x5c256c[_0xba63e2(0x1cd)](_0xba63e2(0x1f5)),_0x5c256c['push'](_0xba63e2(0x1df)),_0x4c03ad['circularDependencies'][_0xba63e2(0x22e)]((_0x21079c,_0x51703f)=>{const _0x11340f=_0xba63e2;_0x5c256c[_0x11340f(0x1cd)](_0x11340f(0x1bd)+(_0x51703f+0x1)+':'),_0x21079c[_0x11340f(0x22e)]((_0x51a24d,_0xa19f4e)=>{const _0x216a7a=_0x11340f;_0xa19f4e<_0x21079c['length']-0x1&&_0x5c256c[_0x216a7a(0x1cd)]('\x20\x20\x20\x20'+_0x51a24d+'\x20→\x20'+_0x21079c[_0xa19f4e+0x1]);}),_0x5c256c['push']('\x20\x20\x20\x20💡\x20Fix:\x20Refactor\x20to\x20break\x20the\x20circular\x20dependency');}));_0x4c03ad['unusedExports']&&Object['keys'](_0x4c03ad['unusedExports'])[_0xba63e2(0x24b)]>0x0&&(_0x5c256c['push']('\x0a🗑️\x20\x20POTENTIALLY\x20UNUSED\x20EXPORTS'),_0x5c256c[_0xba63e2(0x1cd)](_0xba63e2(0x21f)),Object['entries'](_0x4c03ad[_0xba63e2(0x214)])['slice'](0x0,0xa)['forEach'](([_0x30d2f9,exports])=>{const _0x4b153f=_0xba63e2;_0x5c256c['push'](_0x4b153f(0x240)+_0x30d2f9+':'),_0x5c256c['push']('\x20\x20\x20Unused:\x20'+exports['join'](',\x20'));}),_0x5c256c[_0xba63e2(0x1cd)]('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x5c256c[_0xba63e2(0x1cd)]('\x20\x20\x20\x20\x20\x20They\x20might\x20be\x20used\x20by\x20external\x20packages\x20or\x20could\x20be\x20removed'));_0x5c256c['push']('\x0a📋\x20RECOMMENDATIONS'),_0x5c256c[_0xba63e2(0x1cd)]('──────────────────');const _0x2ddc7=_0x4c03ad[_0xba63e2(0x201)][_0xba63e2(0x24b)]+Object['values'](_0x4c03ad[_0xba63e2(0x23c)])[_0xba63e2(0x248)]((_0x1c5fbb,_0xe0dcea)=>_0x1c5fbb+_0xe0dcea['length'],0x0);return _0x2ddc7===0x0?_0x5c256c[_0xba63e2(0x1cd)]('\u2705 Your import/export structure looks good!'):(_0x5c256c[_0xba63e2(0x1cd)]('Found\x20'+_0x2ddc7+_0xba63e2(0x215)),_0x4c03ad[_0xba63e2(0x201)]['length']>0x0&&_0x5c256c[_0xba63e2(0x1cd)]('\x20\x201.\x20Fix\x20'+_0x4c03ad[_0xba63e2(0x201)]['length']+'\x20missing\x20file\x20reference(s)'),Object[_0xba63e2(0x1e8)](_0x4c03ad[_0xba63e2(0x23c)])['length']>0x0&&_0x5c256c['push'](_0xba63e2(0x1c5)+Object['values'](_0x4c03ad[_0xba63e2(0x23c)])[_0xba63e2(0x248)]((_0x26e325,_0x5c730c)=>_0x26e325+_0x5c730c['length'],0x0)+_0xba63e2(0x1ee)),_0x4c03ad[_0xba63e2(0x229)]&&_0x4c03ad[_0xba63e2(0x229)]['length']>0x0&&_0x5c256c[_0xba63e2(0x1cd)](_0xba63e2(0x210)+_0x4c03ad[_0xba63e2(0x229)]['length']+_0xba63e2(0x1e1))),_0x5c256c[_0xba63e2(0x24d)]('\x0a');}}class ImportExportAnalyzer{constructor(_0xbbd920,_0x2781d2='.gitignore',_0x4d9a8c=null){const _0x138661=a0_0x4fd53e;this[_0x138661(0x1bf)]=a0_0x3f9295['resolve'](_0xbbd920),this[_0x138661(0x20e)]=_0x2781d2,this['logger']=_0x4d9a8c,this['ignorePatterns']=[...ANALYZER_CONFIG['DEFAULT_IGNORE_PATTERNS']],this['imports']=[],this['exports']=new Map(),this['dependencies']=new Map();}async[a0_0x4fd53e(0x252)](){const _0x54806d=a0_0x4fd53e;try{const _0x2c3615=a0_0x3f9295['join'](this['rootDir'],this[_0x54806d(0x20e)]),_0x12117b=await a0_0x289b41['readFile'](_0x2c3615,'utf-8'),_0x51acbe=_0x12117b[_0x54806d(0x1f3)]('\x0a')['map'](_0x43febe=>_0x43febe['trim']())[_0x54806d(0x216)](_0x38617f=>_0x38617f&&!_0x38617f[_0x54806d(0x21b)]('#'));this['ignorePatterns']['push'](..._0x51acbe),this[_0x54806d(0x1c2)]?.[_0x54806d(0x205)]('Loaded\x20ignore\x20patterns',{'count':_0x51acbe[_0x54806d(0x24b)]});}catch{this[_0x54806d(0x1c2)]?.['debug']('No ignore file found, using defaults');}}[a0_0x4fd53e(0x24a)](_0x19d49c){const _0x59e057=a0_0x4fd53e,_0x4e5357=a0_0x3f9295[_0x59e057(0x1dc)](this[_0x59e057(0x1bf)],_0x19d49c);return this[_0x59e057(0x1fb)]['some'](_0x39efc7=>{const _0x49258a=_0x59e057;if(_0x39efc7[_0x49258a(0x1c6)]('*')){const _0x142a32=new RegExp(_0x39efc7[_0x49258a(0x20d)](/\*/g,'.*'));return _0x142a32[_0x49258a(0x1bc)](_0x4e5357)||_0x142a32[_0x49258a(0x1bc)](a0_0x3f9295[_0x49258a(0x1ff)](_0x19d49c));}return _0x4e5357[_0x49258a(0x1c6)](_0x39efc7)||a0_0x3f9295['basename'](_0x19d49c)===_0x39efc7;});}async['getAllFiles'](_0x49fd65){const _0x21ea58=a0_0x4fd53e,_0x428bd1=[],_0x108468=async _0x43faee=>{const _0x13351d=a0_0x5bc2;try{const _0xd49ef8=await a0_0x289b41['readdir'](_0x43faee,{'withFileTypes':!![]});for(const _0x334026 of _0xd49ef8){const _0x1fd1a9=a0_0x3f9295[_0x13351d(0x24d)](_0x43faee,_0x334026[_0x13351d(0x1e5)]);if(this['shouldIgnoreFile'](_0x1fd1a9))continue;if(_0x334026['isDirectory']())await _0x108468(_0x1fd1a9);else{if(_0x334026[_0x13351d(0x22a)]()){const _0xb152ac=a0_0x3f9295[_0x13351d(0x21c)](_0x334026['name']);ANALYZER_CONFIG[_0x13351d(0x1b8)][_0x13351d(0x1c6)](_0xb152ac)&&_0x428bd1[_0x13351d(0x1cd)](_0x1fd1a9);}}}}catch(_0x23e2b7){this['logger']?.['warn']('Cannot\x20read\x20directory',{'dir':_0x43faee,'error':_0x23e2b7['message']});}};await _0x108468(_0x49fd65);if(_0x428bd1['length']>ANALYZER_CONFIG['MAX_FILES']){this['logger']?.['warn'](_0x21ea58(0x259)+_0x428bd1['length']+_0x21ea58(0x1c1)+ANALYZER_CONFIG['MAX_FILES']);throw new Error(_0x21ea58(0x1d1)+_0x428bd1[_0x21ea58(0x24b)]+_0x21ea58(0x200)+ANALYZER_CONFIG[_0x21ea58(0x203)]+')');}return _0x428bd1;}async['parseImports'](_0x18b7a9,_0x34d95e){const _0x5c8fed=a0_0x4fd53e,imports=[],_0x1b00e5=_0x18b7a9[_0x5c8fed(0x1f3)]('\x0a'),_0x33ae54=this[_0x5c8fed(0x225)](_0x34d95e);!this['dependencies'][_0x5c8fed(0x230)](_0x33ae54)&&this[_0x5c8fed(0x1e6)][_0x5c8fed(0x1e3)](_0x33ae54,new Set());for(let _0x118a3e=0x0;_0x118a3e<_0x1b00e5['length'];_0x118a3e++){const _0x4b0a6f=_0x1b00e5[_0x118a3e]['trim']();if(_0x4b0a6f[_0x5c8fed(0x21b)]('//')||_0x4b0a6f[_0x5c8fed(0x21b)]('/*'))continue;let _0x5d8c41=_0x4b0a6f,_0xaa1624=_0x118a3e;while(!_0x5d8c41['includes'](';')&&!_0x5d8c41['match'](/from\s+['"`][^'"`]+['"`]/)&&_0xaa1624<_0x1b00e5['length']-0x1){_0xaa1624++;const _0xc4a36=_0x1b00e5[_0xaa1624][_0x5c8fed(0x1d5)]();if(_0xc4a36[_0x5c8fed(0x21b)]('//')||_0xc4a36['startsWith']('/*'))continue;_0x5d8c41+='\x20'+_0xc4a36;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0x3248ac;while((_0x3248ac=importRegex[_0x5c8fed(0x1f6)](_0x5d8c41))!==null){const [,_0x1b66cd,defaultImport,_0x5d59ec,_0x208701,_0x33df55]=_0x3248ac,_0x80d177=await this[_0x5c8fed(0x206)](_0x33df55,_0x34d95e);!_0x80d177[_0x5c8fed(0x22b)]&&_0x80d177[_0x5c8fed(0x24c)]&&this['dependencies'][_0x5c8fed(0x242)](_0x33ae54)[_0x5c8fed(0x1cf)](_0x80d177['path']);defaultImport&&imports[_0x5c8fed(0x1cd)]({'importingFile':_0x33ae54,'importedSymbol':defaultImport[_0x5c8fed(0x1d5)](),'importedFromFile':_0x80d177[_0x5c8fed(0x1f0)],'fileExists':_0x80d177['exists'],'isExternal':_0x80d177[_0x5c8fed(0x22b)]||![],'isDefault':!![]});_0x208701&&imports['push']({'importingFile':_0x33ae54,'importedSymbol':_0x208701[_0x5c8fed(0x1d5)](),'importedFromFile':_0x80d177['path'],'fileExists':_0x80d177['exists'],'isExternal':_0x80d177['isExternal']||![],'isNamespace':!![]});const _0x35d81f=[_0x1b66cd,_0x5d59ec]['filter'](Boolean)[_0x5c8fed(0x24d)](',');if(_0x35d81f){const _0x327f7a=_0x35d81f['split'](',')['map'](_0x460678=>{const _0x2e7f5b=_0x5c8fed,_0x283bfd=_0x460678[_0x2e7f5b(0x1d5)]()[_0x2e7f5b(0x1f3)](/\s+as\s+/);return _0x283bfd[0x0][_0x2e7f5b(0x1d5)]();});_0x327f7a[_0x5c8fed(0x22e)](_0x181a03=>{const _0xdf75d9=_0x5c8fed;_0x181a03&&imports[_0xdf75d9(0x1cd)]({'importingFile':_0x33ae54,'importedSymbol':_0x181a03,'importedFromFile':_0x80d177[_0xdf75d9(0x1f0)],'fileExists':_0x80d177['exists'],'isExternal':_0x80d177[_0xdf75d9(0x22b)]||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0x3248ac=requireRegex['exec'](_0x5d8c41))!==null){const [,_0x359a1f,_0x313dd0,_0x3a0c0c]=_0x3248ac,_0x4e64c4=await this[_0x5c8fed(0x206)](_0x3a0c0c,_0x34d95e);!_0x4e64c4[_0x5c8fed(0x22b)]&&_0x4e64c4['exists']&&this[_0x5c8fed(0x1e6)]['get'](_0x33ae54)['add'](_0x4e64c4['path']);if(_0x359a1f){const _0x1bfb17=_0x359a1f['split'](',')['map'](_0x2b94f8=>_0x2b94f8[_0x5c8fed(0x1d5)]()[_0x5c8fed(0x1f3)](':')[0x0][_0x5c8fed(0x1d5)]());_0x1bfb17[_0x5c8fed(0x22e)](_0x169dfb=>{const _0x328042=_0x5c8fed;_0x169dfb&&imports['push']({'importingFile':_0x33ae54,'importedSymbol':_0x169dfb,'importedFromFile':_0x4e64c4[_0x328042(0x1f0)],'fileExists':_0x4e64c4[_0x328042(0x24c)],'isExternal':_0x4e64c4[_0x328042(0x22b)]||![],'isDefault':![]});});}else _0x313dd0&&imports[_0x5c8fed(0x1cd)]({'importingFile':_0x33ae54,'importedSymbol':_0x313dd0['trim'](),'importedFromFile':_0x4e64c4['path'],'fileExists':_0x4e64c4['exists'],'isExternal':_0x4e64c4['isExternal']||![],'isDefault':!![]});}_0x118a3e=_0xaa1624;}return imports;}['parseExports'](_0x4c8bc9){const _0x17cf1a=a0_0x4fd53e,exports=new Set(),_0x5a4d52=_0x4c8bc9['split']('\x0a');for(const _0x2ab351 of _0x5a4d52){const _0x37f3e5=_0x2ab351[_0x17cf1a(0x1d5)]();if(_0x37f3e5[_0x17cf1a(0x21b)]('//')||_0x37f3e5['startsWith']('/*'))continue;/export\s+default\s+/['test'](_0x37f3e5)&&exports['add']('default');const _0x435252=_0x37f3e5[_0x17cf1a(0x209)](/export\s+\{([^}]+)\}/);if(_0x435252){const _0x58a86b=_0x435252[0x1][_0x17cf1a(0x1f3)](',')[_0x17cf1a(0x1ed)](_0x2ca766=>{const _0xad8368=_0x17cf1a,_0xe1ae5c=_0x2ca766[_0xad8368(0x1d5)]()['split'](/\s+as\s+/);return _0xe1ae5c[_0xe1ae5c[_0xad8368(0x24b)]-0x1]['trim']();});_0x58a86b[_0x17cf1a(0x22e)](_0x5b3d49=>exports['add'](_0x5b3d49));}const _0x79df26=_0x37f3e5['match'](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x79df26&&exports[_0x17cf1a(0x1cf)](_0x79df26[0x1]);const exportFromMatch=_0x37f3e5[_0x17cf1a(0x209)](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0x25b2e0=exportFromMatch[0x1][_0x17cf1a(0x1f3)](',')[_0x17cf1a(0x1ed)](_0x44dbb7=>{const _0xc5572=_0x17cf1a,_0x7e98c5=_0x44dbb7[_0xc5572(0x1d5)]()[_0xc5572(0x1f3)](/\s+as\s+/);return _0x7e98c5[_0x7e98c5[_0xc5572(0x24b)]-0x1]['trim']();});_0x25b2e0['forEach'](_0x135d7d=>exports[_0x17cf1a(0x1cf)](_0x135d7d));}/export\s+\*\s+from/['test'](_0x37f3e5)&&exports[_0x17cf1a(0x1cf)]('*');const moduleExportsMatch=_0x37f3e5['match'](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x244727=moduleExportsMatch[0x1][_0x17cf1a(0x1f3)](',')[_0x17cf1a(0x1ed)](_0x4ebd1d=>{const _0x44e97a=_0x17cf1a,_0xf563fb=_0x4ebd1d[_0x44e97a(0x1d5)]()[_0x44e97a(0x1f3)](':');return _0xf563fb[0x0]['trim']();});_0x244727['forEach'](_0x400b1b=>exports[_0x17cf1a(0x1cf)](_0x400b1b));}/module\.exports\s*=\s*[^{]/[_0x17cf1a(0x1bc)](_0x37f3e5)&&exports[_0x17cf1a(0x1cf)]('default');const moduleExportsPropMatch=_0x37f3e5[_0x17cf1a(0x209)](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports[_0x17cf1a(0x1cf)](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0x37f3e5[_0x17cf1a(0x209)](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports[_0x17cf1a(0x1cf)](exportsPropMatch[0x1]);}return exports;}async['resolveImportPath'](importPath,_0x105760){const _0x2def88=a0_0x4fd53e;if(importPath['startsWith']('.')){const _0x24242a=a0_0x3f9295[_0x2def88(0x257)](_0x105760),_0x406f2e=a0_0x3f9295['resolve'](_0x24242a,importPath);if(a0_0x3f9295['extname'](importPath))try{const _0x4107fa=await a0_0x289b41['stat'](_0x406f2e);if(_0x4107fa['isFile']())return{'path':this['getRelativePath'](_0x406f2e),'exists':!![]};}catch{}const _0x1ace1f=['','.js','.mjs','.ts','.jsx','.tsx',_0x2def88(0x1ba),_0x2def88(0x23f),'/index.jsx',_0x2def88(0x1d2)];for(const _0x5ef6a2 of _0x1ace1f){const _0x27abf2=_0x406f2e+_0x5ef6a2;try{const _0x43c841=await a0_0x289b41['stat'](_0x27abf2);if(_0x43c841[_0x2def88(0x22a)]())return{'path':this['getRelativePath'](_0x27abf2),'exists':!![]};}catch{}}return{'path':this[_0x2def88(0x225)](_0x406f2e),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}[a0_0x4fd53e(0x225)](_0x568466){const _0x32c32d=a0_0x4fd53e;return a0_0x3f9295[_0x32c32d(0x1dc)](this[_0x32c32d(0x1bf)],_0x568466)['replace'](/\\/g,'/');}['findCircularDependencies'](){const _0x2538ba=a0_0x4fd53e,_0x103f9a=[],_0x5e3994=new Set(),_0x12d29b=new Set(),_0x33268c=(_0x32db30,_0x220b29=[])=>{const _0x574795=a0_0x5bc2;if(_0x12d29b['has'](_0x32db30)){const _0x5b895b=_0x220b29[_0x574795(0x227)](_0x32db30);_0x5b895b!==-0x1&&_0x103f9a['push']([..._0x220b29['slice'](_0x5b895b),_0x32db30]);return;}if(_0x5e3994['has'](_0x32db30))return;_0x5e3994[_0x574795(0x1cf)](_0x32db30),_0x12d29b['add'](_0x32db30),_0x220b29['push'](_0x32db30);const _0x36b1a1=this[_0x574795(0x1e6)][_0x574795(0x242)](_0x32db30)||new Set();for(const _0x40a40f of _0x36b1a1){_0x33268c(_0x40a40f,[..._0x220b29]);}_0x12d29b[_0x574795(0x1fd)](_0x32db30);};for(const _0x3105f3 of this['dependencies'][_0x2538ba(0x1e8)]()){!_0x5e3994[_0x2538ba(0x230)](_0x3105f3)&&_0x33268c(_0x3105f3);}return _0x103f9a;}[a0_0x4fd53e(0x22d)](){const _0x10a500=a0_0x4fd53e,_0x3f29f3=new Map();for(const _0x3b11d6 of this['imports']){!_0x3b11d6['isExternal']&&(!_0x3f29f3[_0x10a500(0x230)](_0x3b11d6[_0x10a500(0x241)])&&_0x3f29f3[_0x10a500(0x1e3)](_0x3b11d6['importedFromFile'],new Set()),_0x3f29f3['get'](_0x3b11d6[_0x10a500(0x241)])[_0x10a500(0x1cf)](_0x3b11d6['importedSymbol']));}const _0x3b9d52={};for(const [_0x223ae3,exports]of this['exports']['entries']()){const _0x4b8d5f=_0x3f29f3[_0x10a500(0x242)](_0x223ae3)||new Set(),_0x59483f=Array[_0x10a500(0x1f8)](exports)['filter'](_0x4956b9=>!_0x4b8d5f[_0x10a500(0x230)](_0x4956b9)&&_0x4956b9!=='*');_0x59483f[_0x10a500(0x24b)]>0x0&&(_0x3b9d52[_0x223ae3]=_0x59483f);}return _0x3b9d52;}async['analyze'](_0x36ecf6='full'){const _0x1db277=a0_0x4fd53e;this[_0x1db277(0x1c2)]?.['info']('Starting import analysis',{'mode':_0x36ecf6,'rootDir':this['rootDir']}),await this[_0x1db277(0x252)]();const _0x3bfcf1=await this[_0x1db277(0x24f)](this[_0x1db277(0x1bf)]);this[_0x1db277(0x1c2)]?.[_0x1db277(0x211)](_0x1db277(0x20a),{'count':_0x3bfcf1['length']});for(const _0x58b1bf of _0x3bfcf1){try{const _0x57e908=await a0_0x289b41['readFile'](_0x58b1bf,_0x1db277(0x247)),_0x528956=this['getRelativePath'](_0x58b1bf),_0x5089a8=await this['parseImports'](_0x57e908,_0x58b1bf);this['imports'][_0x1db277(0x1cd)](..._0x5089a8);const _0x235286=this['parseExports'](_0x57e908);this['exports'][_0x1db277(0x1e3)](_0x528956,_0x235286);}catch(_0x58c26d){this['logger']?.['warn']('Error\x20parsing\x20file',{'file':_0x58b1bf,'error':_0x58c26d['message']});}}this['logger']?.['info']('Parsed\x20all\x20files',{'imports':this['imports'][_0x1db277(0x24b)],'exports':this['exports']['size']});const _0x1fe760={'summary':{'totalFiles':_0x3bfcf1[_0x1db277(0x24b)],'totalImports':this['imports']['length'],'totalExports':Array[_0x1db277(0x1f8)](this['exports']['values']())[_0x1db277(0x248)]((_0x3afaf8,exports)=>_0x3afaf8+exports['size'],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this[_0x1db277(0x1f1)]){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0x551423,isNamespace:_0x2d40ba,fileExists:_0x1cef71,isExternal:_0x1aace2}=importEntry;if(!_0x1cef71&&!_0x1aace2){_0x1fe760[_0x1db277(0x201)][_0x1db277(0x1cd)]({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0x551423||![],'isNamespace':_0x2d40ba||![]});!_0x1fe760[_0x1db277(0x1d7)][importingFile]&&(_0x1fe760['missingFiles'][importingFile]=[]);_0x1fe760[_0x1db277(0x1d7)][importingFile][_0x1db277(0x1cd)]({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0x551423||![],'isNamespace':_0x2d40ba||![]});continue;}if(_0x1aace2)continue;const exportingFileExports=this['exports']['get'](importedFromFile);let _0x52984c=![];if(exportingFileExports){if(_0x2d40ba)_0x52984c=exportingFileExports[_0x1db277(0x1c4)]>0x0;else _0x551423?_0x52984c=exportingFileExports['has']('default'):_0x52984c=exportingFileExports['has'](importedSymbol)||exportingFileExports['has']('*');}!_0x52984c&&(!_0x1fe760['missingExports'][importingFile]&&(_0x1fe760['missingExports'][importingFile]=[]),_0x1fe760['missingExports'][importingFile][_0x1db277(0x1cd)]({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array[_0x1db277(0x1f8)](exportingFileExports):[],'isDefault':_0x551423||![],'isNamespace':_0x2d40ba||![]}));}return(_0x36ecf6==='full'||_0x36ecf6==='fix')&&(this['logger']?.['info']('Running\x20full\x20analysis'),_0x1fe760['circularDependencies']=this['findCircularDependencies'](),_0x1fe760['unusedExports']=this[_0x1db277(0x22d)]()),this[_0x1db277(0x1c2)]?.['info']('Analysis\x20complete',{'missingFiles':_0x1fe760[_0x1db277(0x201)]['length'],'missingExports':Object['keys'](_0x1fe760[_0x1db277(0x23c)])['length']}),_0x1fe760;}}export default ImportAnalyzerTool;
@@ -1 +1 @@
1
- const a0_0x48908f=a0_0x28ff;function a0_0x28ff(_0x49ee2c,_0x3138fe){_0x49ee2c=_0x49ee2c-0xaa;const _0x4b4585=a0_0x4b45();let _0x28ff9f=_0x4b4585[_0x49ee2c];if(a0_0x28ff['BrRkZw']===undefined){var _0x274149=function(_0x39a9a7){const _0x39e900='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41016f='',_0x9239ec='';for(let _0x4393e3=0x0,_0x50ffbe,_0x28998a,_0x3baa1d=0x0;_0x28998a=_0x39a9a7['charAt'](_0x3baa1d++);~_0x28998a&&(_0x50ffbe=_0x4393e3%0x4?_0x50ffbe*0x40+_0x28998a:_0x28998a,_0x4393e3++%0x4)?_0x41016f+=String['fromCharCode'](0xff&_0x50ffbe>>(-0x2*_0x4393e3&0x6)):0x0){_0x28998a=_0x39e900['indexOf'](_0x28998a);}for(let _0x24dcf6=0x0,_0x534cf1=_0x41016f['length'];_0x24dcf6<_0x534cf1;_0x24dcf6++){_0x9239ec+='%'+('00'+_0x41016f['charCodeAt'](_0x24dcf6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9239ec);};a0_0x28ff['crCXjr']=_0x274149,a0_0x28ff['wJPwwe']={},a0_0x28ff['BrRkZw']=!![];}const _0x142516=_0x4b4585[0x0],_0x2c19b8=_0x49ee2c+_0x142516,_0x35d2e2=a0_0x28ff['wJPwwe'][_0x2c19b8];return!_0x35d2e2?(_0x28ff9f=a0_0x28ff['crCXjr'](_0x28ff9f),a0_0x28ff['wJPwwe'][_0x2c19b8]=_0x28ff9f):_0x28ff9f=_0x35d2e2,_0x28ff9f;}function a0_0x4b45(){const _0xcb4d21=['zgvZy3jPChrPB24','mZeWodyWEwDYwg11','C3rYAw5N','mJK1ntzVBxzIthq','mJq5yKDTuw91','BwvZC2fNzq','mtu3mdrMzMjyy3G','DhjPBq','Dg9VBhnszwDPC3rYEq','q29TCgXLDgLVBIbZDw1Tyxj5igLZihjLCxvPCMvK','Dw5RBM93BG','mtqZnuT0qu5sBq','yxjYyxK','ntG3n1rZz2nMuq','B2jQzwn0','nJu0ngzuwuTUDa','u2v0ihrVihrYDwuGAwyGDgfZAYbJB21WBgv0zwqGC3vJy2vZC2z1BgX5lcbMywXZzsbPzIbZDhvJAY9MywLSzwqGB3iGCgfYDgLHBcbJB21WBgv0Aw9U','z2v0rgvZy3jPChrPB24','twfYAYb0yxnRigfZignVBxbSzxrLic0GywX3yxLZihvZzsaIy29TCgXLDguI','zgv0ywLSCW','z2v0qwDLBNq','C3vJy2vZCW','y29TCgXLDgu','mJzpuvHcD2C','ywn0Aw9UCW','q2fSBcb0AgLZihrVB2WGD2HLBIb5B3uGAgf2zsbZDwnJzxnZzNvSBhKGy29TCgXLDgvKihrOzsbHC3nPz25Lzcb0yxnRlcbpuIbPzIb5B3uGyxjLihn0DwnRl3vUywjSzsb0BYbWCM9JzwvKigfMDgvYig11BhrPCgXLigzHAwXLzcbHDhrLBxb0CY4GuhjVDMLKzsbHihn1Bw1HCNKGB2yGD2HHDcb3yxmGywnJB21WBgLZAgvKig9YihDOyxqGChjLDMvUDgvKignVBxbSzxrPB24UifrOAxmGD2LSBcbLEgL0igf1Dg9UB21VDxmGBw9KzsbHBMqGCMv0DxjUignVBNrYB2WGDg8GDgHLihvZzxiU','vgfZAYbJB21WBgv0zwq','qwn0Aw9UCYbHCNjHEsbPCYbYzxf1AxjLza','ywn0Aw9U','cGOQkKrLDgfPBhm6kIOG','yxn5BMm','zxH0CMfJDenVBNrLBNq','rMfPBgvKihrVig1HCMSGDgfZAYbHCYbJB21WBgv0ztOG','nJC3mtC2me5twe14wq','odKZodu4nfzKuffduG','Dg9mB3DLCKnHC2u','y2fWywjPBgL0AwvZ','cGOQqxv0B25VBw91CYbTB2rLihDPBgWGBM93igv4AxqUkG','C3vTBwfYEq','ywDLBNrqB29S','mZyWvvLOvu9L','BMfTzq','DMvYC2LVBG','BgvUz3rO','mZfhu3ruq3e','z2v0q2fWywjPBgL0AwvZ','mZiXmJHMrwDXy3i'];a0_0x4b45=function(){return _0xcb4d21;};return a0_0x4b45();}(function(_0x42979a,_0x3be648){const _0xbfed23=a0_0x28ff,_0x6a6f6e=_0x42979a();while(!![]){try{const _0x459706=-parseInt(_0xbfed23(0xc9))/0x1*(parseInt(_0xbfed23(0xcb))/0x2)+parseInt(_0xbfed23(0xd0))/0x3*(-parseInt(_0xbfed23(0xac))/0x4)+-parseInt(_0xbfed23(0xbe))/0x5+-parseInt(_0xbfed23(0xcf))/0x6*(parseInt(_0xbfed23(0xd7))/0x7)+-parseInt(_0xbfed23(0xd2))/0x8*(-parseInt(_0xbfed23(0xaa))/0x9)+parseInt(_0xbfed23(0xc5))/0xa*(parseInt(_0xbfed23(0xcd))/0xb)+parseInt(_0xbfed23(0xbf))/0xc*(parseInt(_0xbfed23(0xb4))/0xd);if(_0x459706===_0x3be648)break;else _0x6a6f6e['push'](_0x6a6f6e['shift']());}catch(_0x3b5368){_0x6a6f6e['push'](_0x6a6f6e['shift']());}}}(a0_0x4b45,0xc11e1));import{BaseTool}from'./baseTool.js';import a0_0x41016f from'../utilities/tagParser.js';class JobDoneTool extends BaseTool{constructor(){const _0x1e698b=a0_0x28ff;super(),this['id']='jobdone',this[_0x1e698b(0xc6)]='Job\x20Done',this[_0x1e698b(0xcc)]=_0x1e698b(0xb6),this[_0x1e698b(0xc7)]='1.0.0',this[_0x1e698b(0xc1)]=['task-completion','mode-control'],this['requiresProject']=![],this[_0x1e698b(0xbb)]=![];}[a0_0x48908f(0xae)](){const _0xf22520=a0_0x48908f;return'\x0aJob\x20Done\x20Tool:\x20Signal\x20task\x20completion\x20in\x20autonomous\x20mode\x20and\x20exit\x20to\x20chat\x20mode.\x0a\x0aUsage\x20Instructions:\x0a-\x20Call\x20this\x20tool\x20when\x20you\x20have\x20SUCCESSFULLY\x20completed\x20the\x20assigned\x20task\x0a-\x20Also\x20call\x20this\x20tool\x20if\x20you\x20are\x20STUCK\x20or\x20UNABLE\x20to\x20proceed\x20after\x20multiple\x20failed\x20attempts\x0a-\x20Provide\x20a\x20clear\x20summary\x20of\x20what\x20was\x20accomplished\x20OR\x20what\x20prevented\x20completion\x0a-\x20This\x20will\x20immediately\x20exit\x20autonomous\x20mode\x20and\x20return\x20control\x20to\x20the\x20user\x0a\x0aExamples:\x0a-\x20\x22Created\x205\x20song\x20files\x20successfully\x20with\x20lyrics\x20and\x20melodies\x22\x0a-\x20\x22Unable\x20to\x20proceed:\x20missing\x20API\x20credentials\x20for\x20the\x20service\x22\x0a-\x20\x22Stuck\x20after\x203\x20failed\x20compilation\x20attempts\x20-\x20syntax\x20errors\x20persist\x22\x0a-\x20\x22Task\x20partially\x20complete:\x20implemented\x202\x20of\x203\x20requested\x20features\x22\x0a\x0aThe\x20tool\x20will\x20format\x20a\x20completion\x20message\x20and\x20gracefully\x20exit\x20autonomous\x20mode.\x0a\x20\x20\x20\x20'[_0xf22520(0xd3)]();}['parseParameters'](_0x9239ec){const _0x2113df=a0_0x48908f;try{const _0x4393e3=a0_0x41016f[_0x2113df(0xbc)](_0x9239ec,'summary'),_0x50ffbe=a0_0x41016f[_0x2113df(0xbc)](_0x9239ec,_0x2113df(0xb0)),_0x28998a=a0_0x41016f['extractContent'](_0x9239ec,_0x2113df(0xb2));let _0x3baa1d='',_0x24dcf6='',_0x534cf1=!![];return _0x4393e3['length']>0x0?(_0x3baa1d=_0x4393e3[0x0][_0x2113df(0xd3)](),_0x24dcf6=_0x50ffbe[_0x2113df(0xc8)]>0x0?_0x50ffbe[0x0]['trim']():'',_0x534cf1=_0x28998a[_0x2113df(0xc8)]>0x0?_0x28998a[0x0][_0x2113df(0xc0)]()!=='false':!![]):_0x3baa1d=_0x9239ec[_0x2113df(0xd3)]()||'Task\x20completed',{'actions':[{'action':'complete','summary':_0x3baa1d,'success':_0x534cf1,'details':_0x24dcf6||undefined}]};}catch(_0x4eff99){return{'actions':[{'action':'complete','summary':_0x9239ec[_0x2113df(0xd3)]()||_0x2113df(0xb7),'success':!![]}]};}}['getSchema'](){const _0x327e08=a0_0x48908f;return{'type':'object','properties':{'actions':{'type':_0x327e08(0xd8),'items':{'type':_0x327e08(0xab),'properties':{'action':{'type':_0x327e08(0xce),'enum':[_0x327e08(0xb3)],'description':_0x327e08(0xaf)},'summary':{'type':_0x327e08(0xce),'description':'Clear\x20summary\x20of\x20what\x20you\x20accomplished\x20OR\x20what\x20prevented\x20completion\x20(e.g.,\x20\x22Created\x205\x20song\x20files\x20successfully\x22,\x20\x22Unable\x20to\x20proceed:\x20missing\x20API\x20credentials\x22,\x20\x22Stuck\x20after\x203\x20failed\x20compilation\x20attempts\x22)'},'success':{'type':'boolean','default':!![],'description':_0x327e08(0xad)},'details':{'type':_0x327e08(0xce),'description':'Optional:\x20Additional\x20details\x20about\x20what\x20was\x20done,\x20what\x20failed,\x20any\x20files\x20created,\x20or\x20next\x20steps\x20for\x20the\x20user'}},'required':['action','summary'],'additionalProperties':![]},'minItems':0x1,'maxItems':0x1}},'required':[_0x327e08(0xb5)],'additionalProperties':![]};}async['execute'](_0x1841ed,_0x292ee6={}){const _0x16894a=a0_0x48908f;try{const {actions:_0x273f30}=_0x1841ed;if(!_0x273f30||!Array['isArray'](_0x273f30)||_0x273f30[_0x16894a(0xc8)]===0x0)throw new Error(_0x16894a(0xb8));const _0x4bd6a1=_0x273f30[0x0];if(_0x4bd6a1[_0x16894a(0xb9)]!=='complete')throw new Error('Invalid\x20action.\x20Only\x20\x22complete\x22\x20is\x20supported');if(!_0x4bd6a1[_0x16894a(0xc3)])throw new Error(_0x16894a(0xd5));const _0x3e2dc3=_0x292ee6['agentId'];let _0x12b9ca='';if(_0x3e2dc3&&_0x292ee6[_0x16894a(0xd4)])try{if(this[_0x16894a(0xc4)]){const _0x4912e9=await this[_0x16894a(0xc4)][_0x16894a(0xb1)](_0x3e2dc3);_0x4912e9&&(_0x12b9ca='\x20by\x20agent\x20\x22'+_0x4912e9['name']+'\x22');}}catch(_0x55b922){}const _0x9be4a5='✅\x20Task\x20completed'+_0x12b9ca+(_0x4bd6a1[_0x16894a(0xb2)]!==![]?'\x20successfully':'\x20with\x20issues')+'\x0a\x0a**Summary:**\x20'+_0x4bd6a1[_0x16894a(0xc3)]+(_0x4bd6a1[_0x16894a(0xb0)]?_0x16894a(0xba)+_0x4bd6a1[_0x16894a(0xb0)]:'')+_0x16894a(0xc2);return{'success':!![],'output':_0x9be4a5,'taskComplete':!![],'summary':_0x4bd6a1[_0x16894a(0xc3)],'details':_0x4bd6a1['details']||null,'successfulCompletion':_0x4bd6a1['success']!==![],'metadata':{'toolId':this['id'],'agentId':_0x3e2dc3||_0x16894a(0xd6),'completedAt':new Date()['toISOString'](),'action':_0x4bd6a1['action']}};}catch(_0x43054b){return{'success':![],'error':_0x43054b['message'],'output':_0x16894a(0xbd)+_0x43054b[_0x16894a(0xd1)],'taskComplete':![]};}}['setAgentPool'](_0x1e4b29){this['agentPool']=_0x1e4b29;}[a0_0x48908f(0xca)](){const _0x45a456=a0_0x48908f;return{'id':this['id'],'name':this[_0x45a456(0xc6)],'description':this['description'],'version':this[_0x45a456(0xc7)],'capabilities':this[_0x45a456(0xc1)],'requiresProject':this['requiresProject'],'async':this[_0x45a456(0xbb)],'enabled':!![],'schema':this['getSchema']()};}}export default JobDoneTool;
1
+ const a0_0x5b3d97=a0_0x4530;(function(_0x419ad0,_0x4ba77f){const _0x3a3119=a0_0x4530,_0x12fe78=_0x419ad0();while(!![]){try{const _0xe799a1=-parseInt(_0x3a3119(0x9d))/0x1*(parseInt(_0x3a3119(0xcb))/0x2)+-parseInt(_0x3a3119(0xbd))/0x3*(parseInt(_0x3a3119(0xcc))/0x4)+-parseInt(_0x3a3119(0xc2))/0x5*(-parseInt(_0x3a3119(0xac))/0x6)+-parseInt(_0x3a3119(0xae))/0x7+-parseInt(_0x3a3119(0xc0))/0x8+parseInt(_0x3a3119(0xc4))/0x9+parseInt(_0x3a3119(0xb8))/0xa*(parseInt(_0x3a3119(0x9c))/0xb);if(_0xe799a1===_0x4ba77f)break;else _0x12fe78['push'](_0x12fe78['shift']());}catch(_0x358230){_0x12fe78['push'](_0x12fe78['shift']());}}}(a0_0x2293,0x3ad35));import{BaseTool}from'./baseTool.js';import a0_0x40c120 from'../utilities/tagParser.js';function a0_0x2293(){const _0x368011=['BMfTzq','DgfZAY1JB21WBgv0Aw9U','AM9Izg9Uzq','z2v0u2nOzw1H','sM9IierVBMu','nJe2ntaYmfrgr2risG','yM9VBgvHBG','igj5igfNzw50ici','twfYAYb0yxnRigfZignVBxbSzxrLic0GywX3yxLZihvZzsaIy29TCgXLDguI','ihn1y2nLC3nMDwXSEq','mtq5odeXt3DOzgvv','cGOQkLn1Bw1HCNK6kIOG','C3vTBwfYEq','mtiYmtmYmejcqxDytq','zMfSC2u','mtKXnvzJANzcBa','ms4WlJa','mJa2ntqXmeDHufLvuW','B2jQzwn0','AxnbCNjHEq','zgv0ywLSCW','BgvUz3rO','q2fSBcb0AgLZihrVB2WGD2HLBIb5B3uGAgf2zsbZDwnJzxnZzNvSBhKGy29TCgXLDgvKihrOzsbHC3nPz25Lzcb0yxnRlcbpuIbPzIb5B3uGyxjLihn0DwnRl3vUywjSzsb0BYbWCM9JzwvKigfMDgvYig11BhrPCgXLigzHAwXLzcbHDhrLBxb0CY4GuhjVDMLKzsbHihn1Bw1HCNKGB2yGD2HHDcb3yxmGywnJB21WBgLZAgvKig9YihDOyxqGChjLDMvUDgvKignVBxbSzxrPB24UifrOAxmGD2LSBcbLEgL0igf1Dg9UB21VDxmGBw9KzsbHBMqGCMv0DxjUignVBNrYB2WGDg8GDgHLihvZzxiU','y2fWywjPBgL0AwvZ','otG2mMDuEffNsq','nfPut3bitG','4PYfifrHC2SGy29TCgXLDgvK','Dw5RBM93BG','ihDPDgGGAxnZDwvZ','qwn0Aw9UCYbHCNjHEsbPCYbYzxf1AxjLza','q2XLyxiGC3vTBwfYEsbVzIb3Agf0ihLVDsbHy2nVBxbSAxnOzwqGt1iGD2HHDcbWCMv2zw50zwqGy29TCgXLDgLVBIaOzs5NlIWGiKnYzwf0zwqGnsbZB25NigzPBgvZihn1y2nLC3nMDwXSEsiSicjvBMfIBguGDg8GChjVy2vLzdOGBwLZC2LUzYbbueKGy3jLzgvUDgLHBhmIlcaIu3r1y2SGywz0zxiGmYbMywLSzwqGy29TCgLSyxrPB24Gyxr0zw1WDhmIkq','mtfyuxntwfy','nJr5uKPqzgm','ywn0Aw9U','yxn5BMm','cGOQqxv0B25VBw91CYbTB2rLihDPBgWGBM93igv4AxqUkG','DhjPBq','ywDLBNrjza','DMvYC2LVBG','Dg9mB3DLCKnHC2u','Dg9VBhnszwDPC3rYEq','vgfZAYbJB21WBgv0zwq','z2v0q2fWywjPBgL0AwvZ','rMfPBgvKihrVig1HCMSGDgfZAYbHCYbJB21WBgv0ztOG','cGOQkKrLDgfPBhm6kIOG','t3b0Aw9UywW6iefKzgL0Aw9UywWGzgv0ywLSCYbHyM91Dcb3Agf0ihDHCYbKB25Llcb3Agf0igzHAwXLzcWGyw55igzPBgvZignYzwf0zwqSig9Yig5LEhqGC3rLChmGzM9YihrOzsb1C2vY','zxH0CMfJDenVBNrLBNq','ndqYmLHKzwv3uG','y29TCgXLDgu','mJu4mZG5nNr3v2P6ta','CMvXDwLYzxnqCM9Qzwn0','cKPVyIbeB25LifrVB2W6ifnPz25HBcb0yxnRignVBxbSzxrPB24GAw4Gyxv0B25VBw91CYbTB2rLigfUzcbLEgL0ihrVignOyxqGBw9Kzs4kcLvZywDLieLUC3rYDwn0Aw9UCZOklsbdywXSihrOAxmGDg9VBcb3AgvUihLVDsbOyxzLifnvq0nfu1ngvuXmwsbJB21WBgv0zwqGDgHLigfZC2LNBMvKihrHC2SklsbbBhnVignHBgWGDgHPCYb0B29SigLMihLVDsbHCMuGu1rvq0SGB3iGvu5bqKXfihrVihbYB2nLzwqGywz0zxiGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZcI0GuhjVDMLKzsbHignSzwfYihn1Bw1HCNKGB2yGD2HHDcb3yxmGywnJB21WBgLZAgvKie9sihDOyxqGChjLDMvUDgvKignVBxbSzxrPB24klsbuAgLZihDPBgWGAw1TzwrPyxrLBhKGzxHPDcbHDxrVBM9TB3vZig1VzguGyw5KihjLDhvYBIbJB250CM9SihrVihrOzsb1C2vYcGPfEgfTCgXLCZOklsaIq3jLyxrLzca1ihnVBMCGzMLSzxmGC3vJy2vZC2z1BgX5ihDPDgGGBhLYAwnZigfUzcbTzwXVzgLLCYiklsaIvw5HyMXLihrVihbYB2nLzwq6ig1PC3nPBMCGqvbjignYzwrLBNrPywXZigzVCIb0AguGC2vYDMLJzsiklsaIu3r1y2SGywz0zxiGmYbMywLSzwqGy29TCgLSyxrPB24Gyxr0zw1WDhmGlsbZEw50yxGGzxjYB3jZihbLCNnPC3qIcI0GiLrHC2SGCgfYDgLHBgX5ignVBxbSzxrLoIbPBxbSzw1LBNrLzcaYig9MidmGCMvXDwvZDgvKigzLyxr1CMvZiGOkvgHLihrVB2WGD2LSBcbMB3jTyxqGysbJB21WBgv0Aw9Uig1LC3nHz2uGyw5KigDYywnLzNvSBhKGzxHPDcbHDxrVBM9TB3vZig1VzguUcIaGica','Bw9Kzs1JB250CM9S','ywDLBNrqB29S'];a0_0x2293=function(){return _0x368011;};return a0_0x2293();}class JobDoneTool extends BaseTool{constructor(){const _0x29de3e=a0_0x4530;super(),this['id']=_0x29de3e(0xb5),this[_0x29de3e(0xb3)]=_0x29de3e(0xb7),this['description']=_0x29de3e(0xc9),this[_0x29de3e(0xa3)]=_0x29de3e(0xc3),this[_0x29de3e(0xca)]=[_0x29de3e(0xb4),_0x29de3e(0xb1)],this['requiresProject']=![],this[_0x29de3e(0x9f)]=![];}['getDescription'](){const _0x41a573=a0_0x4530;return _0x41a573(0xb0)['trim']();}['parseParameters'](_0x16e5df){const _0x5820fd=a0_0x4530;try{const _0x4f1103=a0_0x40c120[_0x5820fd(0xab)](_0x16e5df,'summary'),_0x31874d=a0_0x40c120[_0x5820fd(0xab)](_0x16e5df,_0x5820fd(0xc7)),_0x97a780=a0_0x40c120[_0x5820fd(0xab)](_0x16e5df,'success');let _0x7357fb='',_0x451eec='',_0x3a5220=!![];return _0x4f1103[_0x5820fd(0xc8)]>0x0?(_0x7357fb=_0x4f1103[0x0]['trim'](),_0x451eec=_0x31874d['length']>0x0?_0x31874d[0x0][_0x5820fd(0xa1)]():'',_0x3a5220=_0x97a780['length']>0x0?_0x97a780[0x0][_0x5820fd(0xa4)]()!==_0x5820fd(0xc1):!![]):_0x7357fb=_0x16e5df[_0x5820fd(0xa1)]()||'Task\x20completed',{'actions':[{'action':_0x5820fd(0xad),'summary':_0x7357fb,'success':_0x3a5220,'details':_0x451eec||undefined}]};}catch(_0x13750e){return{'actions':[{'action':_0x5820fd(0xad),'summary':_0x16e5df[_0x5820fd(0xa1)]()||_0x5820fd(0xa6),'success':!![]}]};}}['getSchema'](){const _0x464ba7=a0_0x4530;return{'type':_0x464ba7(0xc5),'properties':{'actions':{'type':'array','items':{'type':_0x464ba7(0xc5),'properties':{'action':{'type':'string','enum':[_0x464ba7(0xad)],'description':_0x464ba7(0xbb)},'summary':{'type':'string','description':_0x464ba7(0x9b)},'success':{'type':_0x464ba7(0xb9),'default':!![],'description':'Set\x20to\x20true\x20if\x20task\x20completed\x20successfully,\x20false\x20if\x20stuck/failed\x20or\x20partial\x20completion'},'details':{'type':'string','description':_0x464ba7(0xaa)}},'required':[_0x464ba7(0x9e),'summary'],'additionalProperties':![]},'minItems':0x1,'maxItems':0x1}},'required':['actions'],'additionalProperties':![]};}async['execute'](_0x2654ba,_0x3c4eb7={}){const _0xffa7a5=a0_0x4530;try{const {actions:_0x47e5fc}=_0x2654ba;if(!_0x47e5fc||!Array[_0xffa7a5(0xc6)](_0x47e5fc)||_0x47e5fc['length']===0x0)throw new Error(_0xffa7a5(0x9a));const _0x427e4e=_0x47e5fc[0x0];if(_0x427e4e['action']!=='complete')throw new Error('Invalid\x20action.\x20Only\x20\x22complete\x22\x20is\x20supported');if(!_0x427e4e[_0xffa7a5(0xbf)])throw new Error('Completion\x20summary\x20is\x20required');const _0x4173a6=_0x3c4eb7[_0xffa7a5(0xa2)];let _0x2b143d='';if(_0x4173a6&&_0x3c4eb7[_0xffa7a5(0xa5)])try{if(this[_0xffa7a5(0xb2)]){const _0x511795=await this[_0xffa7a5(0xb2)]['getAgent'](_0x4173a6);_0x511795&&(_0x2b143d=_0xffa7a5(0xba)+_0x511795[_0xffa7a5(0xb3)]+'\x22');}}catch(_0x4493a1){}const _0x1a461c=_0xffa7a5(0x97)+_0x2b143d+(_0x427e4e['success']!==![]?_0xffa7a5(0xbc):_0xffa7a5(0x99))+_0xffa7a5(0xbe)+_0x427e4e['summary']+(_0x427e4e['details']?_0xffa7a5(0xa9)+_0x427e4e[_0xffa7a5(0xc7)]:'')+_0xffa7a5(0xa0);return{'success':!![],'output':_0x1a461c,'taskComplete':!![],'summary':_0x427e4e['summary'],'details':_0x427e4e[_0xffa7a5(0xc7)]||null,'successfulCompletion':_0x427e4e['success']!==![],'metadata':{'toolId':this['id'],'agentId':_0x4173a6||_0xffa7a5(0x98),'completedAt':new Date()['toISOString'](),'action':_0x427e4e['action']}};}catch(_0x43b584){return{'success':![],'error':_0x43b584['message'],'output':_0xffa7a5(0xa8)+_0x43b584['message'],'taskComplete':![]};}}['setAgentPool'](_0x19e7a1){this['agentPool']=_0x19e7a1;}[a0_0x5b3d97(0xa7)](){const _0x36040f=a0_0x5b3d97;return{'id':this['id'],'name':this['name'],'description':this['description'],'version':this['version'],'capabilities':this['capabilities'],'requiresProject':this[_0x36040f(0xaf)],'async':this['async'],'enabled':!![],'schema':this[_0x36040f(0xb6)]()};}}function a0_0x4530(_0x48e229,_0x2fa52e){_0x48e229=_0x48e229-0x97;const _0x2293f0=a0_0x2293();let _0x453016=_0x2293f0[_0x48e229];if(a0_0x4530['YHbiLc']===undefined){var _0x17567e=function(_0x1b1b1b){const _0x3530ac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40c120='',_0x16e5df='';for(let _0x4f1103=0x0,_0x31874d,_0x97a780,_0x7357fb=0x0;_0x97a780=_0x1b1b1b['charAt'](_0x7357fb++);~_0x97a780&&(_0x31874d=_0x4f1103%0x4?_0x31874d*0x40+_0x97a780:_0x97a780,_0x4f1103++%0x4)?_0x40c120+=String['fromCharCode'](0xff&_0x31874d>>(-0x2*_0x4f1103&0x6)):0x0){_0x97a780=_0x3530ac['indexOf'](_0x97a780);}for(let _0x451eec=0x0,_0x3a5220=_0x40c120['length'];_0x451eec<_0x3a5220;_0x451eec++){_0x16e5df+='%'+('00'+_0x40c120['charCodeAt'](_0x451eec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16e5df);};a0_0x4530['fyEXNX']=_0x17567e,a0_0x4530['LiQOSA']={},a0_0x4530['YHbiLc']=!![];}const _0x51a975=_0x2293f0[0x0],_0x32dea0=_0x48e229+_0x51a975,_0x25c2e0=a0_0x4530['LiQOSA'][_0x32dea0];return!_0x25c2e0?(_0x453016=a0_0x4530['fyEXNX'](_0x453016),a0_0x4530['LiQOSA'][_0x32dea0]=_0x453016):_0x453016=_0x25c2e0,_0x453016;}export default JobDoneTool;