@loxia-labs/loxia-autopilot-one 1.0.10 → 1.0.11
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.
- package/README.md +2 -2
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/{index-CoRE46V-.js → index-C5X7qBNF.js} +63 -63
- package/web-ui/build/static/index-g2UFuTwG.css +1 -0
- package/web-ui/build/static/index-P281Rusr.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5078(){const _0x1914ed=['z2v0rgvZy3jPChrPB24','lM51Ehq','nMzPuuXTrq','Dg9gAxHLza','lNrHCG','4Psu4Psa4Psaia','BgLInJq','zxHJBhvKzuv4DgvUC2LVBNm','lNrLBxa','Bwf4lwrLChrOig11C3qGyMuGysbWB3nPDgL2zsbUDw1Izxi','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','mJq4odCZmLn0AefAyq','lM1VDG','lMvVDa','DhjLzunVBMzPzW','zxHJBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','C2HVD1nPEMvZ','lMrI','zxHJBhvKzurPCMvJDg9YAwvZig11C3qGyMuGyw4GyxjYyxK','lMvUDG','C2TPChbLzenVDw50','nde4mJi0ogTtAxzRsG','zM9YBwf0rMLSzvnPEMu','cKzPBguGvhjLzsbuB29SoIbhzw5LCMf0zsbOAwvYyxjJAgLJywWGDhjLzsbYzxbYzxnLBNrHDgLVBIbVzIbWCM9Qzwn0igrPCMvJDg9YEsbZDhj1y3r1CMuUcGPytuWGvvnbr0u6cJXMAwXLlxrYzwu+cIaGpgrPCMvJDg9YEt5ZCMm8l2rPCMvJDg9YEt4kica8Bwf4lwrLChrOpJq8l21HEc1Kzxb0Ad4kica8Aw5JBhvKzs1LEhrLBNnPB25ZpI5QCYWUANn4lc50CYWUDhn4pc9PBMnSDwrLlwv4DgvUC2LVBNm+cIaGpgv4y2X1zguTzxH0zw5ZAw9UCZ4UDgvZDc5QCYWUC3bLyY5QCZWVzxHJBhvKzs1LEhrLBNnPB25ZpGOGidXZAg93lwzPBgvZpNrYDwu8l3nOB3CTzMLSzxm+cIaGphnOB3CTAgLKzgvUpMzHBhnLpc9ZAg93lwHPzgrLBJ4kpc9MAwXLlxrYzwu+cGPku09oifvtquDfoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicjTyxHezxb0Aci6idqScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUANmIlcaIlMPZEciSiciUDhmIlcaIlNrZEcjDlaOGicjLEgnSDwrLrxH0zw5ZAw9UCYi6ifSIlNrLC3qUANmIlcaIlNnWzwmUANmIxsWkicaIC2HVD0zPBgvZiJOGDhj1zsWkicaIC2HVD0HPzgrLBIi6igzHBhnLcN0kygbGcGPqqvjbtuvurvjtoGOkzgLYzwn0B3j5icHVChrPB25HBcK6cIaGlsbeAxjLy3rVCNKGDg8GC2nHBIaOzgvMyxvSDdOGD29YA2LUzYbKAxjLy3rVCNKPcIaGlsbdyw4GyMuGCMvSyxrPDMuGB3iGywjZB2X1DguGCgf0AaOGic0GrxHHBxbSzxm6icjZCMmIlcaIC3jJl2nVBxbVBMvUDhmIlcaIl2HVBwuVDxnLCI9WCM9Qzwn0iGOkBwf4rgvWDgGGkg9WDgLVBMfSktOkicaTie1HEgLTDw0GzgvWDgGGDg8GC2nHBIaOzgvMyxvSDdOG','CMvSyxrPDMu','lM1HCa','zgLZDa','C3rHDa','m1r4r2znvW','lNrVEa','lNr0zG','vKvsveLdquW','lMjPBG','lNb5BW','y2HPBgrYzw4','lMjTCa','C29YDa','lNDVzMy','lNn2zW','lMD6','DhLWzq','Aw5JBhvKzxm','AwDUB3jLqMLUyxj5rMLSzxm','lNDVzMyY','rMfPBgvKihrVihbHCNnLigzPBguTDhjLzsbWyxjHBwv0zxjZ','Dg1W','AxnbyNnVBhv0zq','yNvPBgq','yNvPBgruCMvL','cI0GqMLUyxj5igzPBgvZignHBIbIzsbMAwX0zxjLzcb3AxrOigLNBM9YzujPBMfYEuzPBgvZig9WDgLVBGOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','teftvf9cuKfoq0G','lMPHCG','ChvZAa','r2vUzxjHDgLUzYbMAwXLihrYzwu','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','lMXVy2S','DgfYz2v0','ota0nZa1EhrAtK5s','iIbTDxn0ihn0yxj0ihDPDgGGysbKB3qGkguUzY4SiciUANmIkq','zxHLyW','zw52','lNjHCG','lNb5za','C2rPC3q','AxneAxjLy3rVCNK','DMvUzg9Y','ie1c','rxjYB3iGyNvPBgrPBMCGDhjLzq','mZy5mJm4ogvMuwviqG','zMLSDgvY','zgLYzwn0B3j5','Aw5MBW','BMfTzq','Dg9mB3DLCKnHC2u','lNb5DgvZDf9JywnOzq','zM9YBwf0vhjLzq','BwfW','lMrSBa','lMvNz3m','Bwf4lwrLChrOignHBM5VDcbLEgnLzwqG','lM15ChLFy2fJAgu','tufyx0rjuKvdve9ssuvt','D29YA2LUz0rPCMvJDg9YEq','C3rHDhm','zxHJBhvKzurPCMvJDg9YAwvZ','AM9PBG','DgLTzw91Da','y3DK','y292zxjHz2u','revgqvvmvf9nqvHFrevqveG','zxHLy3v0zq','zgLYzwn0B3jPzxndB3vUDa','twf4Aw11BsbMAwXLignVDw50ihjLywnOzwq','CMvXDwLYzxnqCM9Qzwn0','C2HVD0HPzgrLBG','Aw5JBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','zMLSzxndB3vUDa','lMXVzW','lMPWzW','AxngAwXL','B3v0','BwvZC2fNzq','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','BgLI','CMvHzgrPCG','yMfZzw5HBwu','CgfYC2u','cI0Gtwf4Aw11BsbKAxjLy3rVCMLLCZOG','C2HVD0zPBgvZ','mJa2nJaYC1PUz0vV','Bg9Nz2vY','tufyx0zjtevtx0Lox1rsruu','AxnbCNjHEq','mtuWmZa5nZjWDe92qMC','C2L6zq','4PsC4Psa4Psaia','cI0Gtwf4Aw11BsbMAwXLCZOG','Aw5JBhvKzuv4DgvUC2LVBNm','4PscicaG','BgvUz3rO','Bwf4rgvWDgG','lMDPDa','lNzZ','ntK4oti4thHVrMvM','C3bSAxq','Bg9JywXLq29TCgfYzq','zM9YrwfJAa','C3rHCNrZv2L0Aa','lNPPCa','lMDPzG','twf4Aw11BsbKAxjLy3rVCNKGy291BNqGCMvHy2HLza','DhjPBq'];a0_0x5078=function(){return _0x1914ed;};return a0_0x5078();}const a0_0x2f6857=a0_0xd7fa;(function(_0x1b37b8,_0x4602f1){const _0xa884c7=a0_0xd7fa,_0x2a8264=_0x1b37b8();while(!![]){try{const _0x4a1257=-parseInt(_0xa884c7(0x1a3))/0x1+-parseInt(_0xa884c7(0x219))/0x2+-parseInt(_0xa884c7(0x1c8))/0x3*(-parseInt(_0xa884c7(0x1b7))/0x4)+-parseInt(_0xa884c7(0x1e5))/0x5*(parseInt(_0xa884c7(0x1ae))/0x6)+-parseInt(_0xa884c7(0x1f0))/0x7+-parseInt(_0xa884c7(0x1c1))/0x8+parseInt(_0xa884c7(0x21d))/0x9;if(_0x4a1257===_0x4602f1)break;else _0x2a8264['push'](_0x2a8264['shift']());}catch(_0x58108e){_0x2a8264['push'](_0x2a8264['shift']());}}}(a0_0x5078,0x579c8));import{BaseTool}from'./baseTool.js';import{promises as a0_0x275447}from'fs';import a0_0x3a5c28 from'path';function a0_0xd7fa(_0x482ecc,_0x23c225){_0x482ecc=_0x482ecc-0x1a2;const _0x507822=a0_0x5078();let _0xd7fa71=_0x507822[_0x482ecc];if(a0_0xd7fa['SaiBvE']===undefined){var _0x56ad6d=function(_0x3ebe46){const _0x716521='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x275447='',_0x3a5c28='';for(let _0x2d76b1=0x0,_0x582482,_0x1675a7,_0x48db06=0x0;_0x1675a7=_0x3ebe46['charAt'](_0x48db06++);~_0x1675a7&&(_0x582482=_0x2d76b1%0x4?_0x582482*0x40+_0x1675a7:_0x1675a7,_0x2d76b1++%0x4)?_0x275447+=String['fromCharCode'](0xff&_0x582482>>(-0x2*_0x2d76b1&0x6)):0x0){_0x1675a7=_0x716521['indexOf'](_0x1675a7);}for(let _0xca917=0x0,_0x57ee3d=_0x275447['length'];_0xca917<_0x57ee3d;_0xca917++){_0x3a5c28+='%'+('00'+_0x275447['charCodeAt'](_0xca917)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3a5c28);};a0_0xd7fa['PCguAE']=_0x56ad6d,a0_0xd7fa['gXACog']={},a0_0xd7fa['SaiBvE']=!![];}const _0x310b38=_0x507822[0x0],_0xd65d73=_0x482ecc+_0x310b38,_0x921787=a0_0xd7fa['gXACog'][_0xd65d73];return!_0x921787?(_0xd7fa71=a0_0xd7fa['PCguAE'](_0xd7fa71),a0_0xd7fa['gXACog'][_0xd65d73]=_0xd7fa71):_0xd7fa71=_0x921787,_0xd7fa71;}const TREE_CONFIG={'DEFAULT_MAX_DEPTH':0x3,'MAX_DEPTH_LIMIT':0xa,'MAX_FILES_IN_TREE':0x2710,'MAX_DIRECTORIES':0x3e8,'SHOW_FILES_DEFAULT':!![],'SHOW_HIDDEN_DEFAULT':![],'SHOW_SIZES_DEFAULT':![],'SYMBOLS':{'BRANCH':a0_0x2f6857(0x21f),'LAST_BRANCH':a0_0x2f6857(0x1b1),'VERTICAL':a0_0x2f6857(0x222),'INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=['node_modules',a0_0x2f6857(0x225),a0_0x2f6857(0x1c6),a0_0x2f6857(0x1db),a0_0x2f6857(0x204),'.next',a0_0x2f6857(0x1ad),'.cache',a0_0x2f6857(0x210),a0_0x2f6857(0x1e4),a0_0x2f6857(0x1ed),'bower_components','.vscode','.idea',a0_0x2f6857(0x1a2),'__pycache__','venv',a0_0x2f6857(0x1e8),a0_0x2f6857(0x1bf),a0_0x2f6857(0x1f6),a0_0x2f6857(0x1fc),'eggs',a0_0x2f6857(0x1fa),a0_0x2f6857(0x213),a0_0x2f6857(0x1b2),'parts',a0_0x2f6857(0x1eb),'wheels',a0_0x2f6857(0x1c9),'.nox','htmlcov','.hypothesis',a0_0x2f6857(0x1d9),'temp','.tmp',a0_0x2f6857(0x1b4)],DEFAULT_IGNORE_EXTENSIONS=[a0_0x2f6857(0x1c5),'.min.js','.min.css',a0_0x2f6857(0x1e3),a0_0x2f6857(0x20d),'.tmp',a0_0x2f6857(0x1b4),'.pyc',a0_0x2f6857(0x1cd),a0_0x2f6857(0x1ea),'.so',a0_0x2f6857(0x1f9),'.dylib','.exe','.obj','.o','.a','.class',a0_0x2f6857(0x1df),'.war'],BINARY_EXTENSIONS=['.png',a0_0x2f6857(0x20e),'.jpeg',a0_0x2f6857(0x1a9),a0_0x2f6857(0x1cf),'.ico',a0_0x2f6857(0x1d2),'.pdf',a0_0x2f6857(0x1a8),a0_0x2f6857(0x1b0),a0_0x2f6857(0x1d3),a0_0x2f6857(0x1e9),'.7z','.mp3','.mp4','.avi',a0_0x2f6857(0x1b8),'.wmv',a0_0x2f6857(0x1d1),a0_0x2f6857(0x1d7),a0_0x2f6857(0x1ca),a0_0x2f6857(0x1b9),a0_0x2f6857(0x1cc),'.dat',a0_0x2f6857(0x1bd),'.sqlite'];class FileTreeTool extends BaseTool{constructor(_0x2d76b1={},_0x582482=null){const _0x73ba4b=a0_0x2f6857;super(_0x2d76b1,_0x582482),this[_0x73ba4b(0x209)]=!![],this['isAsync']=!![],this[_0x73ba4b(0x202)]=_0x2d76b1['timeout']||0x1d4c0,this[_0x73ba4b(0x1ba)]={...TREE_CONFIG,..._0x2d76b1[_0x73ba4b(0x1ba)]},this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}[a0_0x2f6857(0x1ac)](){const _0x2dce08=a0_0x2f6857;return _0x2dce08(0x1c3)+TREE_CONFIG[_0x2dce08(0x205)]+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG['MAX_DEPTH_LIMIT']+'\x0a\x20\x20-\x20Deeper\x20=\x20more\x20detail,\x20slower\x20performance\x0a\x0aincludeExtensions\x20(optional\x20-\x20WHITELIST):\x0a\x20\x20-\x20Include\x20ONLY\x20these\x20file\x20extensions\x0a\x20\x20-\x20Comma-separated\x20list\x0a\x20\x20-\x20Examples:\x20\x22.js,.jsx,.ts,.tsx\x22\x20or\x20\x22.py,.pyw\x22\x0a\x20\x20-\x20Takes\x20precedence\x20over\x20excludeExtensions\x0a\x0aexcludeExtensions\x20(optional\x20-\x20BLACKLIST):\x0a\x20\x20-\x20Exclude\x20these\x20file\x20extensions\x0a\x20\x20-\x20Comma-separated\x20list\x0a\x20\x20-\x20Examples:\x20\x22.test.js,.spec.js,.min.js\x22\x0a\x20\x20-\x20Only\x20applies\x20if\x20includeExtensions\x20is\x20not\x20set\x0a\x0aexcludeDirectories\x20(optional):\x0a\x20\x20-\x20Additional\x20directories\x20to\x20ignore\x0a\x20\x20-\x20Already\x20ignores:\x20node_modules,\x20.git,\x20dist,\x20build,\x20etc.\x0a\x20\x20-\x20Examples:\x20\x22tests,fixtures,mocks\x22\x0a\x0ashowFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20files\x20(default:\x20true)\x0a\x20\x20-\x20Set\x20to\x20false\x20to\x20show\x20only\x20directory\x20structure\x0a\x0ashowHidden\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20hidden\x20files/folders\x20(default:\x20false)\x0a\x20\x20-\x20Hidden\x20=\x20starts\x20with\x20\x27.\x27\x0a\x0ashowSizes\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20file\x20sizes\x20(default:\x20false)\x0a\x20\x20-\x20Format:\x20KB,\x20MB\x0a\x0aignoreBinaryFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20ignore\x20binary/media\x20files\x20(default:\x20false)\x0a\x20\x20-\x20Ignores:\x20images,\x20videos,\x20archives,\x20fonts,\x20etc.\x0a\x0aFILTERING\x20STRATEGIES:\x0a\x0aStrategy\x201:\x20WHITELIST\x20(Include\x20Only)\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx</include-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20ONLY\x20.js\x20and\x20.jsx\x20files\x0a\x0aStrategy\x202:\x20BLACKLIST\x20(Exclude)\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js</exclude-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20all\x20files\x20EXCEPT\x20.test.js\x20and\x20.spec.js\x0a\x0aStrategy\x203:\x20COMBINED\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<exclude-extensions>.test.js,.spec.ts</exclude-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20JS/JSX/TS/TSX\x20files,\x20but\x20excludes\x20test\x20files\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Basic\x20tree:\x0a<file-tree>\x0a\x20\x20<directory>.</directory>\x0a</file-tree>\x0a\x0aExample\x202\x20-\x20JavaScript/TypeScript\x20only:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<max-depth>5</max-depth>\x0a</file-tree>\x0a\x0aExample\x203\x20-\x20Python\x20project\x20structure:\x0a<file-tree>\x0a\x20\x20<directory>.</directory>\x0a\x20\x20<include-extensions>.py</include-extensions>\x0a\x20\x20<exclude-extensions>.pyc</exclude-extensions>\x0a\x20\x20<show-files>true</show-files>\x0a</file-tree>\x0a\x0aExample\x204\x20-\x20Directory\x20structure\x20only:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<show-files>false</show-files>\x0a\x20\x20<max-depth>3</max-depth>\x0a</file-tree>\x0a\x0aExample\x205\x20-\x20Exclude\x20test\x20files:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js,.test.ts,.spec.ts</exclude-extensions>\x0a\x20\x20<exclude-directories>__tests__,tests,specs</exclude-directories>\x0a</file-tree>\x0a\x0aOUTPUT\x20FORMAT:\x0asrc/\x0a├──\x20components/\x0a│\x20\x20\x20├──\x20Header.jsx\x0a│\x20\x20\x20├──\x20Footer.jsx\x0a│\x20\x20\x20└──\x20Layout.jsx\x0a├──\x20utils/\x0a│\x20\x20\x20├──\x20helpers.js\x0a│\x20\x20\x20└──\x20config.js\x0a└──\x20index.js\x0a\x0aAUTOMATIC\x20IGNORES:\x0aThe\x20tool\x20automatically\x20ignores\x20common\x20directories:\x0a-\x20node_modules,\x20.git,\x20dist,\x20build,\x20coverage\x0a-\x20.next,\x20.nuxt,\x20.cache,\x20out,\x20target\x0a-\x20.vscode,\x20.idea,\x20__pycache__,\x20venv\x0aAnd\x20more\x20(see\x20full\x20list\x20in\x20DEFAULT_IGNORE_DIRECTORIES)\x0a\x0aLIMITATIONS:\x0a-\x20Maximum\x20depth:\x20'+TREE_CONFIG['MAX_DEPTH_LIMIT']+_0x2dce08(0x220)+TREE_CONFIG[_0x2dce08(0x21b)]+_0x2dce08(0x217)+TREE_CONFIG['MAX_DIRECTORIES']+_0x2dce08(0x1dd);}['parseParameters'](_0x1675a7){const _0x1b3748=a0_0x2f6857;try{if(_0x1675a7['trim']()['startsWith']('{')){const _0x5b9674=JSON[_0x1b3748(0x216)](_0x1675a7);return{'directory':_0x5b9674[_0x1b3748(0x1f2)]||'.','maxDepth':_0x5b9674[_0x1b3748(0x224)]||TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':_0x5b9674['includeExtensions']||[],'excludeExtensions':_0x5b9674['excludeExtensions']||[],'excludeDirectories':_0x5b9674['excludeDirectories']||[],'showFiles':_0x5b9674[_0x1b3748(0x218)]!==![],'showHidden':_0x5b9674[_0x1b3748(0x20a)]===!![],'showSizes':_0x5b9674['showSizes']===!![],'ignoreBinaryFiles':_0x5b9674['ignoreBinaryFiles']===!![]};}const _0x48db06={'directory':'.','maxDepth':TREE_CONFIG[_0x1b3748(0x205)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0xca917=/<directory>(.*?)<\/directory>/i,_0x57ee3d=_0xca917[_0x1b3748(0x1e7)](_0x1675a7);_0x57ee3d&&(_0x48db06['directory']=_0x57ee3d[0x1][_0x1b3748(0x1ab)]());const _0x12452e=/<max-depth>(\d+)<\/max-depth>/i,_0x599959=_0x12452e['exec'](_0x1675a7);_0x599959&&(_0x48db06[_0x1b3748(0x224)]=parseInt(_0x599959[0x1],0xa));const _0x485921=/<include-extensions>(.*?)<\/include-extensions>/i,_0x4a641f=_0x485921[_0x1b3748(0x1e7)](_0x1675a7);_0x4a641f&&(_0x48db06['includeExtensions']=_0x4a641f[0x1]['split'](',')['map'](_0x8cbbd2=>_0x8cbbd2[_0x1b3748(0x1ab)]())[_0x1b3748(0x1f1)](_0x37e72a=>_0x37e72a[_0x1b3748(0x223)]>0x0));const _0x26bfc7=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x54e84c=_0x26bfc7[_0x1b3748(0x1e7)](_0x1675a7);_0x54e84c&&(_0x48db06['excludeExtensions']=_0x54e84c[0x1][_0x1b3748(0x1a4)](',')[_0x1b3748(0x1f8)](_0xcda0c2=>_0xcda0c2[_0x1b3748(0x1ab)]())['filter'](_0x3721c8=>_0x3721c8['length']>0x0));const _0x1318bd=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x3998d5=_0x1318bd[_0x1b3748(0x1e7)](_0x1675a7);_0x3998d5&&(_0x48db06[_0x1b3748(0x200)]=_0x3998d5[0x1][_0x1b3748(0x1a4)](',')[_0x1b3748(0x1f8)](_0xb2d1ad=>_0xb2d1ad[_0x1b3748(0x1ab)]())[_0x1b3748(0x1f1)](_0x5c6058=>_0x5c6058[_0x1b3748(0x223)]>0x0));const _0x1e97bc=/<show-files>(.*?)<\/show-files>/i,_0x2a0e5a=_0x1e97bc[_0x1b3748(0x1e7)](_0x1675a7);_0x2a0e5a&&(_0x48db06[_0x1b3748(0x218)]=_0x2a0e5a[0x1]['trim']()['toLowerCase']()!=='false');const _0x436a81=/<show-hidden>(.*?)<\/show-hidden>/i,_0x249d34=_0x436a81[_0x1b3748(0x1e7)](_0x1675a7);_0x249d34&&(_0x48db06['showHidden']=_0x249d34[0x1][_0x1b3748(0x1ab)]()['toLowerCase']()==='true');const _0x52ad6b=/<show-sizes>(.*?)<\/show-sizes>/i,_0x1dd40a=_0x52ad6b['exec'](_0x1675a7);_0x1dd40a&&(_0x48db06[_0x1b3748(0x1bc)]=_0x1dd40a[0x1][_0x1b3748(0x1ab)]()[_0x1b3748(0x1f5)]()==='true');const _0x24f197=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x379d62=_0x24f197[_0x1b3748(0x1e7)](_0x1675a7);return _0x379d62&&(_0x48db06[_0x1b3748(0x1d6)]=_0x379d62[0x1][_0x1b3748(0x1ab)]()['toLowerCase']()==='true'),_0x48db06;}catch(_0x59fbb6){return this[_0x1b3748(0x21a)]?.['error'](_0x1b3748(0x1d8),{'error':_0x59fbb6[_0x1b3748(0x211)]}),{'directory':'.','maxDepth':TREE_CONFIG[_0x1b3748(0x205)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x59fbb6['message']};}}[a0_0x2f6857(0x1b6)](){return[];}['customValidateParameters'](_0x573ac8){const _0x14ca8b=a0_0x2f6857,_0x3d28de=[];if(_0x573ac8[_0x14ca8b(0x224)]!==undefined){if(typeof _0x573ac8['maxDepth']!=='number'||_0x573ac8[_0x14ca8b(0x224)]<0x1)_0x3d28de[_0x14ca8b(0x1e0)](_0x14ca8b(0x1b5));else _0x573ac8['maxDepth']>this[_0x14ca8b(0x1ba)]['MAX_DEPTH_LIMIT']&&_0x3d28de[_0x14ca8b(0x1e0)](_0x14ca8b(0x1fb)+this['treeConfig']['MAX_DEPTH_LIMIT']);}_0x573ac8[_0x14ca8b(0x1f2)]&&_0x573ac8[_0x14ca8b(0x1f2)]['includes']('..')&&_0x3d28de[_0x14ca8b(0x1e0)]('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');if(_0x573ac8['includeExtensions']!==undefined&&_0x573ac8[_0x14ca8b(0x221)]!==null){if(!Array[_0x14ca8b(0x21c)](_0x573ac8[_0x14ca8b(0x221)]))_0x3d28de['push'](_0x14ca8b(0x20b));else for(const _0x3ab65b of _0x573ac8['includeExtensions']){!_0x3ab65b[_0x14ca8b(0x1a7)]('.')&&_0x3d28de[_0x14ca8b(0x1e0)]('Extension\x20\x22'+_0x3ab65b+_0x14ca8b(0x1e6));}}if(_0x573ac8[_0x14ca8b(0x1b3)]!==undefined&&_0x573ac8[_0x14ca8b(0x1b3)]!==null){if(!Array[_0x14ca8b(0x21c)](_0x573ac8['excludeExtensions']))_0x3d28de['push'](_0x14ca8b(0x1bb));else for(const _0x4fd70a of _0x573ac8['excludeExtensions']){!_0x4fd70a['startsWith']('.')&&_0x3d28de['push']('Extension\x20\x22'+_0x4fd70a+_0x14ca8b(0x1e6));}}_0x573ac8[_0x14ca8b(0x200)]!==undefined&&_0x573ac8['excludeDirectories']!==null&&(!Array['isArray'](_0x573ac8[_0x14ca8b(0x200)])&&_0x3d28de['push'](_0x14ca8b(0x1be)));if(_0x3d28de[_0x14ca8b(0x223)]>0x0)throw new Error(_0x14ca8b(0x1e2)+_0x3d28de[_0x14ca8b(0x201)](',\x20'));return{'valid':!![],'errors':[]};}async[a0_0x2f6857(0x206)](_0x4c0c2b,_0x14639e){const _0x56e688=a0_0x2f6857,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG[_0x56e688(0x205)],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x4c0c2b,{projectDir:_0x50b157,agentId:_0x5f4b7d,directoryAccess:_0x550ede}=_0x14639e;let _0x2dcbcc=_0x50b157||process[_0x56e688(0x203)]();_0x550ede&&_0x550ede['workingDirectory']&&(_0x2dcbcc=_0x550ede['workingDirectory'],this['logger']?.['info']('Using\x20agent\x20configured\x20working\x20directory',{'workingDirectory':_0x550ede[_0x56e688(0x1fe)],'agentId':_0x5f4b7d}));const _0x144e31=a0_0x3a5c28[_0x56e688(0x1da)](directory)?directory:a0_0x3a5c28['resolve'](_0x2dcbcc,directory);try{const _0x327626=await a0_0x275447['stat'](_0x144e31);if(!_0x327626['isDirectory']())throw new Error('Path\x20is\x20not\x20a\x20directory');}catch(_0x5ad698){throw new Error(_0x56e688(0x212)+directory);}this[_0x56e688(0x21a)]?.['info'](_0x56e688(0x1e1),{'directory':directory,'targetDir':_0x144e31,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.['length']||0x0,'agentId':_0x5f4b7d}),this[_0x56e688(0x1ff)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x10b52e=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x439c8c=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x439c8c[_0x56e688(0x1e0)](...BINARY_EXTENSIONS);const _0x316329=await this[_0x56e688(0x1dc)](_0x144e31,_0x144e31,0x0,maxDepth,_0x10b52e,includeExtensions||[],[...excludeExtensions||[],..._0x439c8c],showFiles,showHidden,showSizes),_0x1f1888=this[_0x56e688(0x1f7)](_0x316329),_0x1d0ea4=this['generateSummary'](directory,this['stats'],maxDepth);return{'success':!![],'directory':_0x144e31,'tree':_0x1f1888,'summary':_0x1d0ea4,'maxDepth':maxDepth,'totalFiles':this['stats']['filesCount'],'totalDirectories':this['stats'][_0x56e688(0x207)],'skippedCount':this['stats'][_0x56e688(0x1c0)],'statistics':{...this['stats']},'toolUsed':'file-tree'};}async['buildTree'](_0x32cddb,_0x4d0676,_0x47397f,_0x5e3bfb,_0x134c2a,_0x171967,_0x20e58a,_0x3990ba,_0x5008c2,_0x506495){const _0x1b0633=a0_0x2f6857;if(_0x47397f>_0x5e3bfb)return null;if(this['stats'][_0x1b0633(0x207)]>=this['treeConfig'][_0x1b0633(0x1fd)])return this[_0x1b0633(0x21a)]?.['warn'](_0x1b0633(0x1aa),{'maxDirectories':this['treeConfig'][_0x1b0633(0x1fd)]}),null;try{const _0x5cf2d9=await a0_0x275447[_0x1b0633(0x214)](_0x4d0676,{'withFileTypes':!![]}),_0x377594={'name':_0x47397f===0x0?a0_0x3a5c28[_0x1b0633(0x215)](_0x4d0676)+'/':a0_0x3a5c28[_0x1b0633(0x215)](_0x4d0676),'path':a0_0x3a5c28[_0x1b0633(0x1c4)](_0x32cddb,_0x4d0676),'type':_0x1b0633(0x1f2),'children':[]};this[_0x1b0633(0x1ff)]['directoriesCount']++;for(const _0x507f43 of _0x5cf2d9){if(this[_0x1b0633(0x1ff)][_0x1b0633(0x20c)]>=this['treeConfig'][_0x1b0633(0x21b)]){this['logger']?.['warn'](_0x1b0633(0x208),{'maxFiles':this[_0x1b0633(0x1ba)][_0x1b0633(0x21b)]});break;}if(!_0x5008c2&&_0x507f43['name'][_0x1b0633(0x1a7)]('.')){this['stats']['skippedCount']++;continue;}const _0x206c27=a0_0x3a5c28[_0x1b0633(0x201)](_0x4d0676,_0x507f43['name']);if(_0x507f43[_0x1b0633(0x1ec)]()){if(_0x134c2a[_0x1b0633(0x1d5)](_0x507f43['name'])){this[_0x1b0633(0x1ff)]['skippedCount']++;continue;}const _0x477819=await this['buildTree'](_0x32cddb,_0x206c27,_0x47397f+0x1,_0x5e3bfb,_0x134c2a,_0x171967,_0x20e58a,_0x3990ba,_0x5008c2,_0x506495);_0x477819&&(_0x477819[_0x1b0633(0x1ce)]['length']>0x0||_0x47397f===0x0)&&_0x377594['children'][_0x1b0633(0x1e0)](_0x477819);}else{if(_0x507f43[_0x1b0633(0x20f)]()&&_0x3990ba){if(_0x47397f+0x1>_0x5e3bfb)continue;const _0x2a204a=a0_0x3a5c28['extname'](_0x507f43['name']);if(_0x171967[_0x1b0633(0x223)]>0x0){if(!_0x171967['includes'](_0x2a204a)){this['stats'][_0x1b0633(0x1c0)]++;continue;}}else{if(_0x20e58a['includes'](_0x2a204a)){this[_0x1b0633(0x1ff)][_0x1b0633(0x1c0)]++;continue;}}let _0x2a8ba0='';if(_0x506495)try{const _0x318a72=await a0_0x275447[_0x1b0633(0x1c7)](_0x206c27);_0x2a8ba0='\x20('+this[_0x1b0633(0x1c2)](_0x318a72[_0x1b0633(0x21e)])+')';}catch(_0x26f0f5){}_0x377594['children']['push']({'name':_0x507f43[_0x1b0633(0x1f4)]+_0x2a8ba0,'path':a0_0x3a5c28[_0x1b0633(0x1c4)](_0x32cddb,_0x206c27),'type':'file','ext':_0x2a204a}),this[_0x1b0633(0x1ff)]['filesCount']++;}}}return _0x377594[_0x1b0633(0x1ce)][_0x1b0633(0x1d0)]((_0x586bbd,_0x19bbef)=>{const _0x5d9680=_0x1b0633;if(_0x586bbd[_0x5d9680(0x1d4)]===_0x19bbef[_0x5d9680(0x1d4)])return _0x586bbd[_0x5d9680(0x1f4)][_0x5d9680(0x1a5)](_0x19bbef['name']);return _0x586bbd[_0x5d9680(0x1d4)]===_0x5d9680(0x1f2)?-0x1:0x1;}),_0x377594;}catch(_0x172180){return this['logger']?.['error'](_0x1b0633(0x1ef),{'currentPath':_0x4d0676,'error':_0x172180['message']}),{'name':a0_0x3a5c28['basename'](_0x4d0676),'path':a0_0x3a5c28[_0x1b0633(0x1c4)](_0x32cddb,_0x4d0676),'type':'directory','error':_0x172180['message'],'children':[]};}}[a0_0x2f6857(0x1f7)](_0x567e72,_0x2f76e8='',_0x26dbf5=!![],_0x88d010=!![]){const _0x468c06=a0_0x2f6857;if(!_0x567e72)return'';const _0x1500ba=this['treeConfig']['SYMBOLS'];let _0xab2a4d='';_0x88d010?_0xab2a4d=_0x567e72[_0x468c06(0x1f4)]+'\x0a':_0xab2a4d=''+_0x2f76e8+(_0x26dbf5?_0x1500ba[_0x468c06(0x1de)]:_0x1500ba['BRANCH'])+_0x567e72['name']+'\x0a';if(_0x567e72[_0x468c06(0x1ce)]&&_0x567e72['children'][_0x468c06(0x223)]>0x0){const _0x34e7d9=_0x88d010?'':_0x2f76e8+(_0x26dbf5?_0x1500ba['INDENT']:_0x1500ba[_0x468c06(0x1cb)]);_0x567e72[_0x468c06(0x1ce)][_0x468c06(0x1a6)]((_0x554344,_0x284cf9)=>{const _0x25c1d4=_0x468c06,_0x217dbb=_0x284cf9===_0x567e72['children']['length']-0x1;_0xab2a4d+=this[_0x25c1d4(0x1f7)](_0x554344,_0x34e7d9,_0x217dbb,![]);});}return _0xab2a4d;}['formatFileSize'](_0x35fed1){const _0x5a0d07=a0_0x2f6857,_0x3f65f6=0x400,_0x4412e8=_0x3f65f6*0x400,_0x5966ae=_0x4412e8*0x400;if(_0x35fed1>=_0x5966ae)return(_0x35fed1/_0x5966ae)['toFixed'](0x2)+'\x20GB';else{if(_0x35fed1>=_0x4412e8)return(_0x35fed1/_0x4412e8)['toFixed'](0x2)+_0x5a0d07(0x1ee);else return _0x35fed1>=_0x3f65f6?(_0x35fed1/_0x3f65f6)[_0x5a0d07(0x1af)](0x2)+'\x20KB':_0x35fed1+'\x20B';}}['generateSummary'](_0x28a478,_0x375a28,_0x21f9f6){const _0x11a8d0=a0_0x2f6857;return('\x0aDirectory:\x20'+_0x28a478+'\x0aMax\x20Depth:\x20'+_0x21f9f6+'\x0aFiles:\x20'+_0x375a28['filesCount']+'\x0aDirectories:\x20'+_0x375a28['directoriesCount']+'\x0aSkipped:\x20'+_0x375a28['skippedCount']+'\x0a\x20\x20\x20\x20')[_0x11a8d0(0x1ab)]();}async['cleanup'](_0xc2cc49){const _0x12c5af=a0_0x2f6857;this[_0x12c5af(0x21a)]?.[_0x12c5af(0x1f3)]('File\x20tree\x20tool\x20cleanup\x20completed',{'operationId':_0xc2cc49});}}export default FileTreeTool;
|
|
1
|
+
const a0_0x53a932=a0_0x4815;(function(_0x53a020,_0x361c47){const _0x581542=a0_0x4815,_0x259ce5=_0x53a020();while(!![]){try{const _0x13189b=parseInt(_0x581542(0xa9))/0x1+-parseInt(_0x581542(0xab))/0x2+parseInt(_0x581542(0xb8))/0x3+-parseInt(_0x581542(0x92))/0x4*(-parseInt(_0x581542(0x96))/0x5)+-parseInt(_0x581542(0xd2))/0x6+-parseInt(_0x581542(0xd1))/0x7+parseInt(_0x581542(0xf7))/0x8;if(_0x13189b===_0x361c47)break;else _0x259ce5['push'](_0x259ce5['shift']());}catch(_0x2f5f68){_0x259ce5['push'](_0x259ce5['shift']());}}}(a0_0x49cf,0xb50b1));function a0_0x49cf(){const _0x276a0b=['ieTc','C2HVD0zPBgvZ','lMv4zq','zMLSzxndB3vUDa','Dg9mB3DLCKnHC2u','twf4Aw11BsbMAwXLignVDw50ihjLywnOzwq','CMvHzgrPCG','qLjbtKni','cKzPBgvZoIa','C2HVD1nPEMvZ','zxHLyW','Aw5JBhvKzuv4DgvUC2LVBNm','rMfPBgvKihrVihbHCNnLigzPBguTDhjLzsbWyxjHBwv0zxjZ','4PscicaG','BNvTyMvY','BMfTzq','lNbKzG','zgLYzwn0B3jPzxndB3vUDa','DhjLzunVBMzPzW','lM1WmW','zMLSzq','revgqvvmvf9nqvHFrevqveG','Bg9Nz2vY','yNvPBgruCMvL','cLnRAxbWzwq6ia','DhLWzq','zw52','lM1PBI5QCW','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','Bwf4lwrLChrOig11C3qGyMuGysbWB3nPDgL2zsbUDw1Izxi','lNb5za','y292zxjHz2u','iIbTDxn0ihn0yxj0ihDPDgGGysbKB3qGkguUzY4SiciUANmIkq','mta3mJuWodHArhDWzKC','BgLI','Dg9gAxHLza','lMnHy2HL','cIaGica','Aw5JBhvKzxm','BgvUz3rO','zgLYzwn0B3j5','C3rHCNrZv2L0Aa','cI0Gtwf4Aw11BsbKAxjLy3rVCMLLCZOG','C3rHDa','cI0Gtwf4Aw11BsbMAwXLCZOG','lMPWzW','AxngAwXL','lM5VEa','lM1Wna','Aw5MBW','AxnbCNjHEq','lM1PBI5JC3m','y2HPBgrYzw4','mtG4tLPWtMHP','D2fYBG','lNDHCG','Dhj1zq','otu3odvuCwnLv0S','C2HVD0HPzgrLBG','lNb5BW','4Psu4Psa4Psaia','lMH5Cg90AgvZAxm','zxjYB3i','zxH0BMfTzq','lNnV','lNDVzMy','lNzZy29Kzq','BwvZC2fNzq','CMvSyxrPDMu','lJD6','lNrHCG','ieDc','Bwf4rgvWDgG','C3bSAxq','rxH0zw5ZAw9Uici','r2vUzxjHDgLUzYbMAwXLihrYzwu','mtGXmdy2AwjnqxHP','cKrPCMvJDg9YEtOG','mJqWmZG2oeHpBe14sG','z2v0rgvZy3jPChrPB24','C3rHDhm','lMXVy2S','cK1HEcbezxb0AdOG','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','u1LnqK9muW','C2TPChbLzenVDw50','lM9IAG','cKrPCMvJDg9YAwvZoIa','yMfZzw5HBwu','AwDUB3jLqMLUyxj5rMLSzxm','ie1c','mZa4mJa2nwDVrgTxzq','D2HLzwXZ','vKvsveLdquW','BgLInJq','lMvNz3m','BM9Kzv9TB2r1BgvZ','zxHJBhvKzuv4DgvUC2LVBNm','BwfW','lMPWzwC','DhjPBq','tufyx0rfufrix0XjtuLu','AM9PBG','lNr0zG','x19WEwnHy2HLx18','tufyx0zjtevtx0Lox1rsruu','lMvUDG','CgfYC2vqyxjHBwv0zxjZ','D29YA2LUz0rPCMvJDg9YEq','zMLSDgvY','rxjYB3iGyNvPBgrPBMCGDhjLzq','lNb5DgvZDf9JywnOzq','lNnXBgL0zq','lNrVEa','ChvZAa','lNrLBxa','mJGXmZm5mwf1qw1bBq','nJyYndiXnMXLy0Tcwq','zxHJBhvKzurPCMvJDg9YAwvZ','twf4Aw11BsbKAxjLy3rVCNKGy291BNqGCMvHy2HLza','CMvXDwLYzxnqCM9Qzwn0'];a0_0x49cf=function(){return _0x276a0b;};return a0_0x49cf();}import{BaseTool}from'./baseTool.js';import{promises as a0_0x1a34b0}from'fs';import a0_0x37b2c9 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_0x53a932(0x99),'VERTICAL':a0_0x53a932(0xe3),'INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=[a0_0x53a932(0xbd),'.git','dist','build',a0_0x53a932(0xf5),'.next','.nuxt',a0_0x53a932(0xfa),'out','target','vendor','bower_components',a0_0x53a932(0x9f),'.idea','.vs',a0_0x53a932(0xc5),'venv',a0_0x53a932(0xf0),a0_0x53a932(0xc7),a0_0x53a932(0xcc),'.mypy_cache','eggs',a0_0x53a932(0xbc),a0_0x53a932(0xf8),a0_0x53a932(0xbb),'parts','sdist',a0_0x53a932(0xb9),a0_0x53a932(0xce),a0_0x53a932(0x8c),'htmlcov',a0_0x53a932(0x9a),'tmp','temp','.tmp','.temp'],DEFAULT_IGNORE_EXTENSIONS=['.map',a0_0x53a932(0xf1),a0_0x53a932(0x90),a0_0x53a932(0xae),'.log','.tmp',a0_0x53a932(0xd0),'.pyc',a0_0x53a932(0x98),a0_0x53a932(0xf4),a0_0x53a932(0x9d),'.dll','.dylib',a0_0x53a932(0xd8),a0_0x53a932(0xb3),'.o','.a','.class','.jar',a0_0x53a932(0x94)],BINARY_EXTENSIONS=['.png',a0_0x53a932(0x8a),a0_0x53a932(0xc0),'.gif','.bmp','.ico','.svg',a0_0x53a932(0xe6),'.zip',a0_0x53a932(0xa3),'.gz','.rar',a0_0x53a932(0xa2),a0_0x53a932(0xe9),a0_0x53a932(0x8d),'.avi','.mov','.wmv',a0_0x53a932(0x9e),'.woff2',a0_0x53a932(0xc4),'.eot','.bin','.dat','.db',a0_0x53a932(0xcd)];function a0_0x4815(_0xc03fcc,_0x2e025e){_0xc03fcc=_0xc03fcc-0x89;const _0x49cfb5=a0_0x49cf();let _0x481563=_0x49cfb5[_0xc03fcc];if(a0_0x4815['bdqMiv']===undefined){var _0x404d3b=function(_0x1169cb){const _0x29af11='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a34b0='',_0x37b2c9='';for(let _0x6d62d8=0x0,_0x5ea8b2,_0x548207,_0x510883=0x0;_0x548207=_0x1169cb['charAt'](_0x510883++);~_0x548207&&(_0x5ea8b2=_0x6d62d8%0x4?_0x5ea8b2*0x40+_0x548207:_0x548207,_0x6d62d8++%0x4)?_0x1a34b0+=String['fromCharCode'](0xff&_0x5ea8b2>>(-0x2*_0x6d62d8&0x6)):0x0){_0x548207=_0x29af11['indexOf'](_0x548207);}for(let _0x34b63b=0x0,_0x15c806=_0x1a34b0['length'];_0x34b63b<_0x15c806;_0x34b63b++){_0x37b2c9+='%'+('00'+_0x1a34b0['charCodeAt'](_0x34b63b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37b2c9);};a0_0x4815['iPbjkE']=_0x404d3b,a0_0x4815['SWcDRa']={},a0_0x4815['bdqMiv']=!![];}const _0x116f2e=_0x49cfb5[0x0],_0x1dbe17=_0xc03fcc+_0x116f2e,_0x9fd3=a0_0x4815['SWcDRa'][_0x1dbe17];return!_0x9fd3?(_0x481563=a0_0x4815['iPbjkE'](_0x481563),a0_0x4815['SWcDRa'][_0x1dbe17]=_0x481563):_0x481563=_0x9fd3,_0x481563;}class FileTreeTool extends BaseTool{constructor(_0x6d62d8={},_0x5ea8b2=null){const _0x2ec05f=a0_0x53a932;super(_0x6d62d8,_0x5ea8b2),this[_0x2ec05f(0xd5)]=!![],this['isAsync']=!![],this['timeout']=_0x6d62d8['timeout']||0x1d4c0,this['treeConfig']={...TREE_CONFIG,..._0x6d62d8['treeConfig']},this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}[a0_0x53a932(0xac)](){const _0x2b767d=a0_0x53a932;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[_0x2b767d(0xc2)]+_0x2b767d(0xb0)+TREE_CONFIG[_0x2b767d(0xc2)]+_0x2b767d(0x89)+TREE_CONFIG[_0x2b767d(0xc6)]+_0x2b767d(0x100)+TREE_CONFIG['MAX_DIRECTORIES']+'\x0a-\x20Binary\x20files\x20can\x20be\x20filtered\x20with\x20ignoreBinaryFiles\x20option\x0a\x0aMULTI-DIRECTORY\x20SUPPORT:\x0aWorks\x20with\x20agent\x27s\x20configured\x20accessible\x20directories.\x0aValidates\x20paths\x20against\x20directoryAccess\x20configuration.\x0a\x20\x20\x20\x20';}[a0_0x53a932(0xc8)](_0x548207){const _0x2f0a25=a0_0x53a932;try{if(_0x548207['trim']()['startsWith']('{')){const _0x2fea4c=JSON['parse'](_0x548207);return{'directory':_0x2fea4c[_0x2f0a25(0xfe)]||'.','maxDepth':_0x2fea4c[_0x2f0a25(0xa5)]||TREE_CONFIG[_0x2f0a25(0xeb)],'includeExtensions':_0x2fea4c['includeExtensions']||[],'excludeExtensions':_0x2fea4c[_0x2f0a25(0xbe)]||[],'excludeDirectories':_0x2fea4c['excludeDirectories']||[],'showFiles':_0x2fea4c[_0x2f0a25(0xd7)]!==![],'showHidden':_0x2fea4c[_0x2f0a25(0x97)]===!![],'showSizes':_0x2fea4c[_0x2f0a25(0xdf)]===!![],'ignoreBinaryFiles':_0x2fea4c[_0x2f0a25(0xb6)]===!![]};}const _0x510883={'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x34b63b=/<directory>(.*?)<\/directory>/i,_0x15c806=_0x34b63b['exec'](_0x548207);_0x15c806&&(_0x510883[_0x2f0a25(0xfe)]=_0x15c806[0x1][_0x2f0a25(0xc1)]());const _0x306656=/<max-depth>(\d+)<\/max-depth>/i,_0x2b1713=_0x306656['exec'](_0x548207);_0x2b1713&&(_0x510883[_0x2f0a25(0xa5)]=parseInt(_0x2b1713[0x1],0xa));const _0x1bc83e=/<include-extensions>(.*?)<\/include-extensions>/i,_0x45699f=_0x1bc83e[_0x2f0a25(0xe0)](_0x548207);_0x45699f&&(_0x510883[_0x2f0a25(0xe1)]=_0x45699f[0x1][_0x2f0a25(0xa6)](',')['map'](_0x299d8a=>_0x299d8a[_0x2f0a25(0xc1)]())[_0x2f0a25(0xca)](_0x5423c2=>_0x5423c2['length']>0x0));const _0x30656f=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x2b5697=_0x30656f[_0x2f0a25(0xe0)](_0x548207);_0x2b5697&&(_0x510883[_0x2f0a25(0xbe)]=_0x2b5697[0x1]['split'](',')[_0x2f0a25(0xbf)](_0x50f2e4=>_0x50f2e4['trim']())[_0x2f0a25(0xca)](_0x51171d=>_0x51171d['length']>0x0));const _0x1fa062=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x514aea=_0x1fa062['exec'](_0x548207);_0x514aea&&(_0x510883[_0x2f0a25(0xd3)]=_0x514aea[0x1][_0x2f0a25(0xa6)](',')['map'](_0x4dda8d=>_0x4dda8d['trim']())['filter'](_0x1365fb=>_0x1365fb['length']>0x0));const _0x5704f6=/<show-files>(.*?)<\/show-files>/i,_0x2bbb9e=_0x5704f6[_0x2f0a25(0xe0)](_0x548207);_0x2bbb9e&&(_0x510883[_0x2f0a25(0xd7)]=_0x2bbb9e[0x1]['trim']()[_0x2f0a25(0xda)]()!=='false');const _0x4a4d18=/<show-hidden>(.*?)<\/show-hidden>/i,_0x2b7840=_0x4a4d18[_0x2f0a25(0xe0)](_0x548207);_0x2b7840&&(_0x510883['showHidden']=_0x2b7840[0x1][_0x2f0a25(0xc1)]()[_0x2f0a25(0xda)]()==='true');const _0x2b3aa3=/<show-sizes>(.*?)<\/show-sizes>/i,_0x193ad7=_0x2b3aa3[_0x2f0a25(0xe0)](_0x548207);_0x193ad7&&(_0x510883[_0x2f0a25(0xdf)]=_0x193ad7[0x1][_0x2f0a25(0xc1)]()['toLowerCase']()===_0x2f0a25(0x95));const _0x365189=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0xc7fc20=_0x365189['exec'](_0x548207);return _0xc7fc20&&(_0x510883['ignoreBinaryFiles']=_0xc7fc20[0x1]['trim']()[_0x2f0a25(0xda)]()==='true'),_0x510883;}catch(_0x3c8293){return this[_0x2f0a25(0xec)]?.[_0x2f0a25(0x9b)](_0x2f0a25(0xe2),{'error':_0x3c8293['message']}),{'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x3c8293['message']};}}['getRequiredParameters'](){return[];}['customValidateParameters'](_0x52f25a){const _0xd49597=a0_0x53a932,_0x8f7ae1=[];if(_0x52f25a[_0xd49597(0xa5)]!==undefined){if(typeof _0x52f25a['maxDepth']!==_0xd49597(0xe4)||_0x52f25a[_0xd49597(0xa5)]<0x1)_0x8f7ae1['push'](_0xd49597(0xf3));else _0x52f25a[_0xd49597(0xa5)]>this['treeConfig'][_0xd49597(0xc2)]&&_0x8f7ae1[_0xd49597(0xcf)]('max-depth\x20cannot\x20exceed\x20'+this['treeConfig'][_0xd49597(0xc2)]);}_0x52f25a['directory']&&_0x52f25a['directory'][_0xd49597(0xfc)]('..')&&_0x8f7ae1[_0xd49597(0xcf)]('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');if(_0x52f25a[_0xd49597(0xe1)]!==undefined&&_0x52f25a[_0xd49597(0xe1)]!==null){if(!Array['isArray'](_0x52f25a[_0xd49597(0xe1)]))_0x8f7ae1[_0xd49597(0xcf)]('includeExtensions\x20must\x20be\x20an\x20array');else for(const _0x518f62 of _0x52f25a[_0xd49597(0xe1)]){!_0x518f62['startsWith']('.')&&_0x8f7ae1['push'](_0xd49597(0xa7)+_0x518f62+_0xd49597(0xf6));}}if(_0x52f25a['excludeExtensions']!==undefined&&_0x52f25a[_0xd49597(0xbe)]!==null){if(!Array[_0xd49597(0x8f)](_0x52f25a['excludeExtensions']))_0x8f7ae1['push']('excludeExtensions\x20must\x20be\x20an\x20array');else for(const _0x561bf3 of _0x52f25a[_0xd49597(0xbe)]){!_0x561bf3['startsWith']('.')&&_0x8f7ae1[_0xd49597(0xcf)](_0xd49597(0xa7)+_0x561bf3+_0xd49597(0xf6));}}_0x52f25a[_0xd49597(0xd3)]!==undefined&&_0x52f25a[_0xd49597(0xd3)]!==null&&(!Array['isArray'](_0x52f25a[_0xd49597(0xd3)])&&_0x8f7ae1[_0xd49597(0xcf)]('excludeDirectories\x20must\x20be\x20an\x20array'));if(_0x8f7ae1[_0xd49597(0xfd)]>0x0)throw new Error('Parameter\x20validation\x20failed:\x20'+_0x8f7ae1['join'](',\x20'));return{'valid':!![],'errors':[]};}async['execute'](_0x2a7a12,_0x168bfa){const _0x3f1e70=a0_0x53a932,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG['DEFAULT_MAX_DEPTH'],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x2a7a12,{projectDir:_0x34b42c,agentId:_0x39ac41,directoryAccess:_0x179911}=_0x168bfa;let _0x598339=_0x34b42c||process['cwd']();_0x179911&&_0x179911[_0x3f1e70(0xc9)]&&(_0x598339=_0x179911[_0x3f1e70(0xc9)],this['logger']?.[_0x3f1e70(0x8e)]('Using\x20agent\x20configured\x20working\x20directory',{'workingDirectory':_0x179911['workingDirectory'],'agentId':_0x39ac41}));const _0x3b8bb5=a0_0x37b2c9['isAbsolute'](directory)?directory:a0_0x37b2c9['resolve'](_0x598339,directory);try{const _0x28b835=await a0_0x1a34b0[_0x3f1e70(0x101)](_0x3b8bb5);if(!_0x28b835['isDirectory']())throw new Error('Path\x20is\x20not\x20a\x20directory');}catch(_0x5dbe6e){throw new Error('Directory\x20does\x20not\x20exist\x20or\x20is\x20inaccessible:\x20'+directory);}this['logger']?.['info'](_0x3f1e70(0xa8),{'directory':directory,'targetDir':_0x3b8bb5,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.['length']||0x0,'agentId':_0x39ac41}),this[_0x3f1e70(0xad)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x930c86=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0xd3e55f=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0xd3e55f['push'](...BINARY_EXTENSIONS);const _0xf26a70=await this['buildTree'](_0x3b8bb5,_0x3b8bb5,0x0,maxDepth,_0x930c86,includeExtensions||[],[...excludeExtensions||[],..._0xd3e55f],showFiles,showHidden,showSizes),_0x30614f=this['formatTree'](_0xf26a70),_0x4f650a=this['generateSummary'](directory,this['stats'],maxDepth);return{'success':!![],'directory':_0x3b8bb5,'tree':_0x30614f,'summary':_0x4f650a,'maxDepth':maxDepth,'totalFiles':this[_0x3f1e70(0xad)]['filesCount'],'totalDirectories':this[_0x3f1e70(0xad)]['directoriesCount'],'skippedCount':this['stats']['skippedCount'],'statistics':{...this['stats']},'toolUsed':'file-tree'};}async[a0_0x53a932(0xed)](_0x5c51fa,_0x941133,_0x28a6f0,_0x18e353,_0x206dde,_0xe32538,_0x2e6208,_0x229249,_0x227679,_0x3109d2){const _0x1a7dbb=a0_0x53a932;if(_0x28a6f0>_0x18e353)return null;if(this[_0x1a7dbb(0xad)][_0x1a7dbb(0xe7)]>=this[_0x1a7dbb(0xe8)]['MAX_DIRECTORIES'])return this['logger']?.['warn'](_0x1a7dbb(0xd4),{'maxDirectories':this[_0x1a7dbb(0xe8)]['MAX_DIRECTORIES']}),null;try{const _0x15924c=await a0_0x1a34b0[_0x1a7dbb(0xdc)](_0x941133,{'withFileTypes':!![]}),_0x20f7f6={'name':_0x28a6f0===0x0?a0_0x37b2c9[_0x1a7dbb(0xb5)](_0x941133)+'/':a0_0x37b2c9[_0x1a7dbb(0xb5)](_0x941133),'path':a0_0x37b2c9['relative'](_0x5c51fa,_0x941133),'type':'directory','children':[]};this['stats'][_0x1a7dbb(0xe7)]++;for(const _0x481559 of _0x15924c){if(this['stats'][_0x1a7dbb(0xd9)]>=this['treeConfig'][_0x1a7dbb(0xc6)]){this[_0x1a7dbb(0xec)]?.[_0x1a7dbb(0x93)](_0x1a7dbb(0xdb),{'maxFiles':this['treeConfig'][_0x1a7dbb(0xc6)]});break;}if(!_0x227679&&_0x481559['name'][_0x1a7dbb(0xff)]('.')){this[_0x1a7dbb(0xad)][_0x1a7dbb(0xb2)]++;continue;}const _0x72f211=a0_0x37b2c9[_0x1a7dbb(0xc3)](_0x941133,_0x481559[_0x1a7dbb(0xe5)]);if(_0x481559['isDirectory']()){if(_0x206dde['includes'](_0x481559['name'])){this['stats']['skippedCount']++;continue;}const _0x5185d8=await this['buildTree'](_0x5c51fa,_0x72f211,_0x28a6f0+0x1,_0x18e353,_0x206dde,_0xe32538,_0x2e6208,_0x229249,_0x227679,_0x3109d2);_0x5185d8&&(_0x5185d8[_0x1a7dbb(0x91)][_0x1a7dbb(0xfd)]>0x0||_0x28a6f0===0x0)&&_0x20f7f6[_0x1a7dbb(0x91)]['push'](_0x5185d8);}else{if(_0x481559[_0x1a7dbb(0x8b)]()&&_0x229249){if(_0x28a6f0+0x1>_0x18e353)continue;const _0x47a5eb=a0_0x37b2c9[_0x1a7dbb(0x9c)](_0x481559[_0x1a7dbb(0xe5)]);if(_0xe32538[_0x1a7dbb(0xfd)]>0x0){if(!_0xe32538[_0x1a7dbb(0xfc)](_0x47a5eb)){this[_0x1a7dbb(0xad)][_0x1a7dbb(0xb2)]++;continue;}}else{if(_0x2e6208['includes'](_0x47a5eb)){this[_0x1a7dbb(0xad)]['skippedCount']++;continue;}}let _0x39d330='';if(_0x3109d2)try{const _0x219c8a=await a0_0x1a34b0['stat'](_0x72f211);_0x39d330='\x20('+this['formatFileSize'](_0x219c8a['size'])+')';}catch(_0x3d772f){}_0x20f7f6[_0x1a7dbb(0x91)][_0x1a7dbb(0xcf)]({'name':_0x481559['name']+_0x39d330,'path':a0_0x37b2c9['relative'](_0x5c51fa,_0x72f211),'type':_0x1a7dbb(0xea),'ext':_0x47a5eb}),this[_0x1a7dbb(0xad)]['filesCount']++;}}}return _0x20f7f6['children']['sort']((_0x3d16a7,_0x2fd3ad)=>{const _0xd4a8e=_0x1a7dbb;if(_0x3d16a7['type']===_0x2fd3ad['type'])return _0x3d16a7[_0xd4a8e(0xe5)]['localeCompare'](_0x2fd3ad['name']);return _0x3d16a7[_0xd4a8e(0xef)]===_0xd4a8e(0xfe)?-0x1:0x1;}),_0x20f7f6;}catch(_0x918484){return this['logger']?.[_0x1a7dbb(0x9b)](_0x1a7dbb(0xcb),{'currentPath':_0x941133,'error':_0x918484[_0x1a7dbb(0xa0)]}),{'name':a0_0x37b2c9['basename'](_0x941133),'path':a0_0x37b2c9[_0x1a7dbb(0xa1)](_0x5c51fa,_0x941133),'type':_0x1a7dbb(0xfe),'error':_0x918484['message'],'children':[]};}}['formatTree'](_0x252599,_0x527fb8='',_0x4103be=!![],_0x25f1e7=!![]){const _0x5036c4=a0_0x53a932;if(!_0x252599)return'';const _0x351d99=this[_0x5036c4(0xe8)][_0x5036c4(0xb1)];let _0x20b333='';_0x25f1e7?_0x20b333=_0x252599['name']+'\x0a':_0x20b333=''+_0x527fb8+(_0x4103be?_0x351d99['LAST_BRANCH']:_0x351d99[_0x5036c4(0xdd)])+_0x252599[_0x5036c4(0xe5)]+'\x0a';if(_0x252599[_0x5036c4(0x91)]&&_0x252599[_0x5036c4(0x91)][_0x5036c4(0xfd)]>0x0){const _0xddde46=_0x25f1e7?'':_0x527fb8+(_0x4103be?_0x351d99['INDENT']:_0x351d99[_0x5036c4(0xba)]);_0x252599[_0x5036c4(0x91)]['forEach']((_0x6b76f3,_0xb8440d)=>{const _0x38d070=_0xb8440d===_0x252599['children']['length']-0x1;_0x20b333+=this['formatTree'](_0x6b76f3,_0xddde46,_0x38d070,![]);});}return _0x20b333;}['formatFileSize'](_0x23f989){const _0x24b642=a0_0x53a932,_0x59713a=0x400,_0x6c6f0e=_0x59713a*0x400,_0x1c5939=_0x6c6f0e*0x400;if(_0x23f989>=_0x1c5939)return(_0x23f989/_0x1c5939)[_0x24b642(0xf9)](0x2)+_0x24b642(0xa4);else{if(_0x23f989>=_0x6c6f0e)return(_0x23f989/_0x6c6f0e)['toFixed'](0x2)+_0x24b642(0xb7);else return _0x23f989>=_0x59713a?(_0x23f989/_0x59713a)[_0x24b642(0xf9)](0x2)+_0x24b642(0xd6):_0x23f989+'\x20B';}}['generateSummary'](_0x4cc2c2,_0x42b23b,_0x26066a){const _0x23adad=a0_0x53a932;return(_0x23adad(0xaa)+_0x4cc2c2+_0x23adad(0xaf)+_0x26066a+_0x23adad(0xde)+_0x42b23b[_0x23adad(0xd9)]+_0x23adad(0xb4)+_0x42b23b[_0x23adad(0xe7)]+_0x23adad(0xee)+_0x42b23b['skippedCount']+_0x23adad(0xfb))['trim']();}async['cleanup'](_0x4d0778){const _0x59b5b9=a0_0x53a932;this['logger']?.['info'](_0x59b5b9(0xf2),{'operationId':_0x4d0778});}}export default FileTreeTool;
|
package/src/tools/imageTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x4401(){const _0x291827=['uhjVBxb0ihrVBYbSB25NicHTyxGG','yMfZzw5HBwu','nJm4mJaWCLzithjK','qwDLBNrqB29SihnLDcbMB3iGsw1Hz2vuB29S','D2fYBG','BgfZDfvWzgf0zwq','z2v0','mtaYnhGXmdi0','vhLWzuvYCM9Y','Dg9tDhjPBMC','ChjVBxb0','DgvTCg9Yyxj5vxjS','x2rVD25SB2fKsw1Hz2u','tM8GDMfSAwqGAw1Hz2uGCgfYyw1LDgvYCYbMB3vUza','Aw1NlxjLC3vSDc0','yMf0y2G','quKGu2vYDMLJzsbZzxqGzM9YieLTywDLvg9VBa','zg93BMXVywrfCNjVCG','revgqvvmvf9nt0rfta','ChjVAMvJDerPCG','y3vYCMvUDePVyG','pIHBxhnCu10QpYK8xc8','C2f2zvrVuhjVAMvJDa','BwvZC2fNzxm','vKfmsurFu0LArvm','Aw5MBW','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','y29TCgXLDgvKqxq','sw1Hz2uGCxvLDwvKigzVCIbNzw5LCMf0Aw9U','mZyWmtzJqxr1rfq','lNbUzW','sw1Hz2uGz2vUzxjHDgvKoIa','Dg9ju09tDhjPBMC','CxvHBgL0Eq','C3rHDhvZ','C3rHCNrZv2L0Aa','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq','BgvUz3rO','uvvfvuvFteLnsvq','u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','zNvSBa','ANbN','ntCYBLngD3fS','Aw1Hz2uTz2vU','4P2mieLTywDLigDLBMvYyxrPB24GzMfPBgvKoIa','AxnqCM9JzxnZAw5N','FJmWihnLy29Uzhm','uhjVy2vZC2LUzYbPBwfNzsbNzw5LCMf0Aw9UigPVyJOG','ignOyxjHy3rLCNmP','CMvZDwX0','CMvZB2X2zwrpDxrWDxrqyxrO','Aw1Hz2vhzw5LCMf0zwq','ywLtzxj2AwnL','DxnHz2u','y29TCgXLDgvKsM9ICW','mtC5mNGXmdi0','cGOQkLbYB21WDdOQkIa','z2v0sM9Iu3rHDhvZ','rMfPBgvKihrVihnHDMuGAw1Hz2uGzxjYB3iGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','x3jLC29SDMvpDxrWDxrqyxrO','igLTywDLCYbXDwv1zwqGzM9YigDLBMvYyxrPB24','C2L6zq','x3bHCNnLsw1Hz2vqyxjHBxm','z2v0qwDLBNq','lI4U','BgfZDefJDgL2Axr5','zxHLyW','BM90x2zVDw5K','CgfYyw1LDgvYCW','sw1Hz2uGChjVBxb0igLZihjLCxvPCMvK','sw1Hz2uGz2vUzxjHDgLVBIbICM9HzgnHC3qGC2vUDa','nJbjALHpBLy','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0','D3jPDgvgAwXL','DhjPBq','C2vZC2LVBKLK','mJu2Edi1nG','x3zHBgLKyxrLugfYyw1LDgvYCW','mtK1mZK5oxbWs0PKyW','x3bHCNnLwe1mugfYyw1Z','Aw1Hz2vZ','cGRIMQdVUi8GkIPxyxjUAw5NoIOQieLTywDLigLZihvZAw5NigeGDgvTCg9Yyxj5ifvstcaOzxHWAxjLCYbPBIb+msbOB3vYks4GrMfPBgvKihrVihnHDMuGDg8GzgLZAY4','BM9YBwfSAxPL','r2vUzxjHDgLUzYbPBwfNzsb3AxrOia','BwTKAxi','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','AxnbyNnVBhv0zq','CMvWBgfJzq','vgLTzw91DevYCM9Y','CgvYC2LZDefNzw50u3rHDgu','ywDLBNrjza','sw1Hz2uGzxjYB3iGC2f2zwqGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','x2DLBMvYyxrLsw1Hz2u','ohnZEeroCq','ChvZAa','x2vZDgLTyxrLv2fPDfrPBwu','CgfYC2vqyxjHBwv0zxjZ','CxvLDwu','nteYEduXmG','zxjYB3i','zxH0BMfTzq','lIbwywXPzcbMB3jTyxrZoIa','C3vIC3rYAw5N','B3v0Chv0ugf0Aa','Aw1Hz2vvCMW','C2f2zwruB0rPC2S','tM8GAw1Hz2vZihnWzwnPzMLLza','AM9Iswq','AgfZ','zMfPBgvK','yNjVywrJyxn0vg9tzxnZAw9U','BM93','B2jQzwn0','mc4WlJaUma','sw52ywXPzcbMB3jTyxq6ia','mteWC3biqMvv','BwvZC2fNzq','CgfYC2u','qwnJzxnZigrLBMLLzdOGCgf0AcbVDxrZAwrLihbYB2PLy3qGzgLYzwn0B3j5','x3bHCNnLsLnptLbHCMfTCW','revgqvvmvf9rvufmsvrz','mtHnr05uENC','x3bYB2nLC3nrDwv1zq','Bw9KzwW','Dg9mB3DLCKnHC2u','CMfUzg9T','CxvLDwvK','zgLYBMfTzq','y29UDMvYC2f0Aw9UCW','yxP1CMuTB3bLBMfPlwrHBgXLmW','Bg9Nz2vY','zgLYzwn0B3j5qwnJzxnZ','odu3mJuYyvrvDNzL','re9xtKXpqurFveLnru9vva','C3rYAw5N','zMLUza','zxHLy3v0zq','y3vYCMvUDe1VzgvS','ywDLBNrqB29S','igLTywDLCYKUifbSzwfZzsb3ywL0igzVCIbJDxjYzw50igPVyNmGDg8Gy29TCgXLDguU','zgvSzxrL','lIbwywXPzcbZAxPLCZOG','Cg9YDa','x2DLBMvYyxrLsM9Iswq','y29TCgXLDgvK','Bg9JywXOB3n0','mZu0mty1revwvvfI','C3LZDgvT','C2HPzNq','mJG3n1LXyvvRsa','l2fWAs9PBwfNzxmV','vevnuf9dtevbtLvqx01t','x3bHCNnLwe1msw1Hz2u','Bg94Awfxzwjtzxj2zxi','mZqWmZmYquTczMfg','Cg5N','B3v0Chv0lxbHDgG','C2v0','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLlIbjBwfNzsbNzw5LCMf0Aw9UihjLCxvPCMvZiefjihnLCNzPy2uU','CMvSyxrPDMu','rMfPBgvKihrVihnHDMuGAw1Hz2uGDg8GzgLZAYWGD2LSBcb1C2uGDgvTCg9Yyxj5ifvstdOG','C2v0qwDLBNrqB29S','D2vICa','mtaYnhGXnZKY','C2v0quLtzxj2AwnL','tufyx1bst01qvf9mru5hveG','igLTywDLCYbPBIbXDwv1zsbHDcbVBMnL','tMv0D29YAYbLCNjVCJOG','AM9PBG','y2XLyw51CfrPBwvYCW','x3nJAgvKDwXLq2XLyw51Ca'];a0_0x4401=function(){return _0x291827;};return a0_0x4401();}const a0_0x21672c=a0_0x1cd9;(function(_0x483713,_0x16efa6){const _0x37d0f3=a0_0x1cd9,_0x532b99=_0x483713();while(!![]){try{const _0x45f21a=parseInt(_0x37d0f3(0x114))/0x1+-parseInt(_0x37d0f3(0x14f))/0x2*(parseInt(_0x37d0f3(0x10f))/0x3)+-parseInt(_0x37d0f3(0x142))/0x4*(parseInt(_0x37d0f3(0x199))/0x5)+-parseInt(_0x37d0f3(0xf3))/0x6*(parseInt(_0x37d0f3(0x10c))/0x7)+-parseInt(_0x37d0f3(0x183))/0x8*(-parseInt(_0x37d0f3(0x174))/0x9)+-parseInt(_0x37d0f3(0x127))/0xa+parseInt(_0x37d0f3(0xfe))/0xb*(parseInt(_0x37d0f3(0x16d))/0xc);if(_0x45f21a===_0x16efa6)break;else _0x532b99['push'](_0x532b99['shift']());}catch(_0x228c49){_0x532b99['push'](_0x532b99['shift']());}}}(a0_0x4401,0x3f440));import a0_0xfc8db3 from'path';import a0_0x417a97 from'os';import{promises as a0_0x3b1e12}from'fs';import{BaseTool}from'./baseTool.js';function a0_0x1cd9(_0x389641,_0x55bad1){_0x389641=_0x389641-0xef;const _0x44014b=a0_0x4401();let _0x1cd9fd=_0x44014b[_0x389641];if(a0_0x1cd9['WfVdAU']===undefined){var _0xc46e43=function(_0x4f202c){const _0x405a63='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfc8db3='',_0x417a97='';for(let _0x3b1e12=0x0,_0x45aa63,_0x4103a5,_0x35d9b1=0x0;_0x4103a5=_0x4f202c['charAt'](_0x35d9b1++);~_0x4103a5&&(_0x45aa63=_0x3b1e12%0x4?_0x45aa63*0x40+_0x4103a5:_0x4103a5,_0x3b1e12++%0x4)?_0xfc8db3+=String['fromCharCode'](0xff&_0x45aa63>>(-0x2*_0x3b1e12&0x6)):0x0){_0x4103a5=_0x405a63['indexOf'](_0x4103a5);}for(let _0x54c0d8=0x0,_0x4f1b16=_0xfc8db3['length'];_0x54c0d8<_0x4f1b16;_0x54c0d8++){_0x417a97+='%'+('00'+_0xfc8db3['charCodeAt'](_0x54c0d8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x417a97);};a0_0x1cd9['WppQfw']=_0xc46e43,a0_0x1cd9['cgutTh']={},a0_0x1cd9['WfVdAU']=!![];}const _0x35c680=_0x44014b[0x0],_0x31f592=_0x389641+_0x35c680,_0x5be06f=a0_0x1cd9['cgutTh'][_0x31f592];return!_0x5be06f?(_0x1cd9fd=a0_0x1cd9['WppQfw'](_0x1cd9fd),a0_0x1cd9['cgutTh'][_0x31f592]=_0x1cd9fd):_0x1cd9fd=_0x5be06f,_0x1cd9fd;}const IMAGE_CONFIG={'DEFAULT_MODEL':a0_0x21672c(0xfb),'DEFAULT_SIZE':a0_0x21672c(0x12c),'DEFAULT_QUALITY':'standard','VALID_SIZES':[a0_0x21672c(0x172),a0_0x21672c(0x188),a0_0x21672c(0x12c),a0_0x21672c(0x11d),a0_0x21672c(0x15c)],'VALID_FORMATS':[a0_0x21672c(0x115),a0_0x21672c(0x14e),'jpeg',a0_0x21672c(0x11c)],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};export class ImageTool extends BaseTool{constructor(_0x45aa63={},_0x4103a5=null){const _0x5d4919=a0_0x21672c;super(_0x45aa63,_0x4103a5),this['id']=_0x5d4919(0x150),this[_0x5d4919(0x187)]=[],this[_0x5d4919(0x139)]=null,this[_0x5d4919(0x15b)]=new Map(),this[_0x5d4919(0x152)]=![],this[_0x5d4919(0x159)]=null,this[_0x5d4919(0x104)]=null,this['tempDir']=a0_0xfc8db3[_0x5d4919(0x122)](a0_0x417a97['tmpdir'](),'loxia-images'),this['cleanupTimers']=new Map();}[a0_0x21672c(0x11e)](_0x35d9b1){const _0x519ccd=a0_0x21672c;this[_0x519ccd(0x159)]=_0x35d9b1,this['logger']?.['info'](_0x519ccd(0x135));}[a0_0x21672c(0x11b)](_0x54c0d8){const _0x18b5e0=a0_0x21672c;this['agentPool']=_0x54c0d8,this[_0x18b5e0(0xfc)]?.[_0x18b5e0(0x13e)](_0x18b5e0(0x128));}['getDescription'](){const _0x5c1b30=a0_0x21672c;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']+_0x5c1b30(0x120);}[a0_0x21672c(0x186)](_0x4f1b16){const _0x1beea4=a0_0x21672c;if(typeof _0x4f1b16===_0x1beea4(0x196)&&_0x4f1b16!==null)return this['_parseJSONParams'](_0x4f1b16);if(typeof _0x4f1b16==='string'){const _0x45945c=_0x4f1b16['trim']();if(_0x45945c[_0x1beea4(0x148)]('{')||_0x45945c[_0x1beea4(0x148)]('['))try{const _0xdda4b5=JSON[_0x1beea4(0xef)](_0x45945c);return this[_0x1beea4(0xf1)](_0xdda4b5);}catch(_0x2ca5bd){}return this['_parseXMLParams'](_0x4f1b16);}throw new Error(_0x1beea4(0x16e));}[a0_0x21672c(0xf1)](_0x3e902e){const _0x5041c8=a0_0x21672c;_0x3e902e['parameters']&&(_0x3e902e=_0x3e902e[_0x5041c8(0x16a)]);if(_0x3e902e[_0x5041c8(0x134)]&&Array['isArray'](_0x3e902e[_0x5041c8(0x134)]))return{'batch':!![],'images':_0x3e902e['batch']['map'](_0x42fe60=>this['_parseImageParams'](_0x42fe60))};return{'batch':![],'images':[this['_parseImageParams'](_0x3e902e)]};}[a0_0x21672c(0x175)](_0x3d608b){const _0x549115=a0_0x21672c,_0x336be5={'batch':![],'images':[]},_0xee93b4=/<batch>([\s\S]*?)<\/batch>/i['exec'](_0x3d608b);if(_0xee93b4){_0x336be5['batch']=!![];const _0x2e65d8=_0xee93b4[0x1],_0xf0e53e=/<image>([\s\S]*?)<\/image>/gi;let _0x60d505;while((_0x60d505=_0xf0e53e[_0x549115(0x168)](_0x2e65d8))!==null){_0x336be5['images'][_0x549115(0x184)](this[_0x549115(0x112)](_0x60d505[0x1]));}}else _0x336be5[_0x549115(0x176)]['push'](this[_0x549115(0x112)](_0x3d608b));if(_0x336be5['images']['length']===0x0)throw new Error(_0x549115(0x132));return _0x336be5;}[a0_0x21672c(0x164)](_0x6a86dc){const _0x21279a=a0_0x21672c,_0x4fcbac=_0x6a86dc[_0x21279a(0x18d)]||_0x6a86dc['output-path']||null;return{'prompt':_0x6a86dc[_0x21279a(0x12f)]||'','outputPath':_0x4fcbac,'saveToProject':_0x4fcbac!==null,'model':_0x6a86dc[_0x21279a(0xf5)]||IMAGE_CONFIG[_0x21279a(0x137)],'size':_0x6a86dc[_0x21279a(0x163)]||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x6a86dc[_0x21279a(0x146)]||IMAGE_CONFIG[_0x21279a(0xf2)]};}['_parseXMLImage'](_0xc44d9c){const _0x745522=a0_0x21672c,_0xf96b3e=_0x129b87=>{const _0x4285b4=a0_0x1cd9,_0x16f8f5=new RegExp('<'+_0x129b87+_0x4285b4(0x13a)+_0x129b87+'>','i'),_0x3c59e4=_0x16f8f5['exec'](_0xc44d9c);return _0x3c59e4?_0x3c59e4[0x1][_0x4285b4(0x170)]():null;},_0x273018=_0xf96b3e(_0x745522(0x116))||null;return{'prompt':_0xf96b3e('prompt')||'','outputPath':_0x273018,'saveToProject':_0x273018!==null,'model':_0xf96b3e(_0x745522(0xf5))||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0xf96b3e(_0x745522(0x163))||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0xf96b3e(_0x745522(0x146))||IMAGE_CONFIG[_0x745522(0xf2)]};}async[a0_0x21672c(0x102)](_0x572176,_0x2afa45={}){const _0x203592=a0_0x21672c;try{const {agentId:_0xf0d6c1,projectDir:_0x5554a3,directoryAccess:_0x33d22d,sessionId:_0x2f0f06}=_0x2afa45;typeof _0x572176===_0x203592(0x100)&&(this['logger']?.[_0x203592(0x13e)]('ImageTool:\x20Auto-parsing\x20string\x20parameters'),_0x572176=this['parseParameters'](_0x572176));this[_0x203592(0x173)](_0x572176);const _0x31c37e=[];for(const _0x54ab02 of _0x572176[_0x203592(0x176)]){const _0x534c44=this[_0x203592(0x109)](),_0x113f68={'jobId':_0x534c44,'agentId':_0xf0d6c1,'sessionId':_0x2f0f06,'prompt':_0x54ab02[_0x203592(0x12f)],'outputPath':_0x54ab02['outputPath'],'saveToProject':_0x54ab02['saveToProject'],'model':_0x54ab02[_0x203592(0xf5)],'size':_0x54ab02[_0x203592(0x163)],'quality':_0x54ab02[_0x203592(0x146)],'projectDir':_0x5554a3||process['cwd'](),'directoryAccess':_0x33d22d,'status':_0x203592(0xf8),'createdAt':new Date()['toISOString']()};if(this[_0x203592(0x187)]['length']>=IMAGE_CONFIG['QUEUE_LIMIT'])return{'success':![],'error':'Queue\x20limit\x20reached\x20('+IMAGE_CONFIG[_0x203592(0x14b)]+_0x203592(0x105),'queueLength':this[_0x203592(0x187)][_0x203592(0x14a)]};this['queue']['push'](_0x113f68),_0x31c37e['push'](_0x534c44),this[_0x203592(0xfc)]?.['info'](_0x203592(0x17b)+_0x534c44,{'prompt':_0x54ab02['prompt']['substring'](0x0,0x32)+_0x203592(0x166),'queuePosition':this['queue']['length']});}return!this[_0x203592(0x152)]&&this[_0x203592(0xf4)]()['catch'](_0x50d40a=>{const _0x568503=_0x203592;this[_0x568503(0xfc)]?.['error']('Queue\x20processing\x20error:',_0x50d40a);}),{'success':!![],'jobIds':_0x31c37e,'queueLength':this['queue'][_0x203592(0x14a)],'message':_0x572176['batch']?_0x31c37e['length']+_0x203592(0x162):_0x203592(0x141),'estimatedWaitTime':this[_0x203592(0x185)]()};}catch(_0x1fa21b){return this['logger']?.[_0x203592(0x189)](_0x203592(0x160),_0x1fa21b),{'success':![],'error':_0x1fa21b[_0x203592(0x19a)]};}}['_validateParameters'](_0xfcd43d){const _0x53f51c=a0_0x21672c;if(!_0xfcd43d['images']||_0xfcd43d[_0x53f51c(0x176)][_0x53f51c(0x14a)]===0x0)throw new Error(_0x53f51c(0x190));for(const _0x123c92 of _0xfcd43d[_0x53f51c(0x176)]){if(!_0x123c92['prompt']||_0x123c92[_0x53f51c(0x12f)]['trim']()[_0x53f51c(0x14a)]===0x0)throw new Error(_0x53f51c(0x16b));if(_0x123c92['prompt'][_0x53f51c(0x14a)]>IMAGE_CONFIG['MAX_PROMPT_LENGTH'])throw new Error(_0x53f51c(0x125)+IMAGE_CONFIG[_0x53f51c(0x11f)]+_0x53f51c(0x155));if(_0x123c92[_0x53f51c(0x163)]&&!IMAGE_CONFIG[_0x53f51c(0x13d)]['includes'](_0x123c92[_0x53f51c(0x163)]))throw new Error('Invalid\x20size:\x20'+_0x123c92['size']+_0x53f51c(0x107)+IMAGE_CONFIG['VALID_SIZES'][_0x53f51c(0x122)](',\x20'));if(_0x123c92['outputPath']){const _0x3d9eac=a0_0xfc8db3[_0x53f51c(0x18a)](_0x123c92[_0x53f51c(0x18d)])[_0x53f51c(0xf6)]()[_0x53f51c(0x17d)]('.','');if(_0x3d9eac&&!IMAGE_CONFIG['VALID_FORMATS']['includes'](_0x3d9eac))throw new Error(_0x53f51c(0x198)+_0x3d9eac+_0x53f51c(0x18b)+IMAGE_CONFIG['VALID_FORMATS']['join'](',\x20'));}}}async['_processQueue'](){const _0x8e7e10=a0_0x21672c;if(this['isProcessing'])return;this['isProcessing']=!![];while(this['queue'][_0x8e7e10(0x14a)]>0x0){const _0xaf2485=this[_0x8e7e10(0x187)][_0x8e7e10(0x10e)]();this['currentJob']=_0xaf2485,this[_0x8e7e10(0xfc)]?.[_0x8e7e10(0x13e)](_0x8e7e10(0x154)+_0xaf2485[_0x8e7e10(0x191)]);try{_0xaf2485['status']='processing';const _0x391399=await this[_0x8e7e10(0x182)](_0xaf2485);_0xaf2485[_0x8e7e10(0x147)]=_0x8e7e10(0x10a),_0xaf2485[_0x8e7e10(0x156)]=_0x391399,_0xaf2485[_0x8e7e10(0x140)]=new Date()[_0x8e7e10(0x145)](),this[_0x8e7e10(0x15b)][_0x8e7e10(0x117)](_0xaf2485['jobId'],_0xaf2485);if(global['loxiaWebServer']&&_0xaf2485['sessionId']){let _0x1b3fa7,_0x2eb2ea=![];if(_0x391399['savedToDisk']&&_0x391399[_0x8e7e10(0x157)])_0x1b3fa7=this['_convertToWebUrl'](_0x391399[_0x8e7e10(0x157)],_0xaf2485[_0x8e7e10(0x171)]);else _0x391399[_0x8e7e10(0x130)]&&(_0x1b3fa7=_0x391399[_0x8e7e10(0x130)],_0x2eb2ea=!![]);global['loxiaWebServer'][_0x8e7e10(0x194)](_0xaf2485[_0x8e7e10(0x171)],{'type':_0x8e7e10(0x158),'agentId':_0xaf2485[_0x8e7e10(0x180)],'jobId':_0xaf2485['jobId'],'imageUrl':_0x1b3fa7,'localPath':_0x391399['resolvedOutputPath'],'prompt':_0xaf2485['prompt'],'success':!![],'isTemporary':_0x2eb2ea,'savedToDisk':_0x391399['savedToDisk'],'downloadError':_0x391399[_0x8e7e10(0x136)],'timestamp':_0xaf2485['completedAt']}),this[_0x8e7e10(0xfc)]?.['info'](_0x8e7e10(0x16c),{'jobId':_0xaf2485['jobId'],'imageUrl':_0x1b3fa7,'localPath':_0x391399['resolvedOutputPath'],'savedToDisk':_0x391399[_0x8e7e10(0x18f)],'isTemporary':_0x2eb2ea});if(this[_0x8e7e10(0x104)]&&_0xaf2485[_0x8e7e10(0x180)])try{const _0x18bf5e=await this['agentPool'][_0x8e7e10(0x165)](_0xaf2485[_0x8e7e10(0x180)]);if(_0x18bf5e){let _0x43ce57=_0x8e7e10(0x144)+_0xaf2485[_0x8e7e10(0x12f)];_0x2eb2ea&&(_0x43ce57+=_0x8e7e10(0x177),_0x391399['downloadError']&&(_0x43ce57+='\x0a**Error:**\x20'+_0x391399['downloadError']));const _0xa9e5b8={'id':_0x8e7e10(0x133)+_0xaf2485['jobId'],'role':'assistant','content':_0x43ce57,'timestamp':_0xaf2485[_0x8e7e10(0x140)],'imageUrl':_0x1b3fa7,'type':'image-result','toolId':'image-gen','status':'completed','isTemporary':_0x2eb2ea||![],'savedToDisk':_0x391399['savedToDisk']!==![]};_0x18bf5e['conversations']['full']['messages']['push'](_0xa9e5b8),_0x18bf5e['conversations']['full']['lastUpdated']=_0xaf2485['completedAt'],_0x18bf5e[_0x8e7e10(0x103)]&&_0x18bf5e['conversations'][_0x18bf5e['currentModel']]&&(_0x18bf5e[_0x8e7e10(0xfa)][_0x18bf5e[_0x8e7e10(0x103)]]['messages'][_0x8e7e10(0x184)](_0xa9e5b8),_0x18bf5e[_0x8e7e10(0xfa)][_0x18bf5e[_0x8e7e10(0x103)]][_0x8e7e10(0x12a)]=_0xaf2485[_0x8e7e10(0x140)]),_0x18bf5e[_0x8e7e10(0x167)]=_0xaf2485[_0x8e7e10(0x140)],await this[_0x8e7e10(0x104)][_0x8e7e10(0x17f)](_0xaf2485['agentId']),this['logger']?.[_0x8e7e10(0x13e)]('Image\x20result\x20saved\x20to\x20conversation\x20history',{'agentId':_0xaf2485[_0x8e7e10(0x180)],'jobId':_0xaf2485[_0x8e7e10(0x191)],'messageId':_0xa9e5b8['id']});}}catch(_0x634f81){this[_0x8e7e10(0xfc)]?.['error']('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x634f81['message'],'agentId':_0xaf2485[_0x8e7e10(0x180)],'jobId':_0xaf2485[_0x8e7e10(0x191)]});}}this['logger']?.[_0x8e7e10(0x13e)]('Image\x20generation\x20completed:\x20'+_0xaf2485[_0x8e7e10(0x191)],{'outputPath':_0x391399['resolvedOutputPath']});}catch(_0x4f14ab){this['logger']?.['error'](_0x8e7e10(0x13f)+_0xaf2485[_0x8e7e10(0x191)],_0x4f14ab),_0xaf2485['status']='failed',_0xaf2485['error']=_0x4f14ab['message'],_0xaf2485[_0x8e7e10(0x140)]=new Date()['toISOString'](),this['completedJobs'][_0x8e7e10(0x117)](_0xaf2485['jobId'],_0xaf2485);global[_0x8e7e10(0x113)]&&_0xaf2485['sessionId']&&(global[_0x8e7e10(0x113)][_0x8e7e10(0x194)](_0xaf2485[_0x8e7e10(0x171)],{'type':_0x8e7e10(0x158),'jobId':_0xaf2485[_0x8e7e10(0x191)],'agentId':_0xaf2485[_0x8e7e10(0x180)],'prompt':_0xaf2485['prompt'],'success':![],'error':_0x4f14ab[_0x8e7e10(0x19a)],'timestamp':_0xaf2485[_0x8e7e10(0x140)]}),this['logger']?.[_0x8e7e10(0x13e)]('Image\x20generation\x20error\x20broadcast\x20sent',{'jobId':_0xaf2485[_0x8e7e10(0x191)],'sessionId':_0xaf2485['sessionId'],'error':_0x4f14ab['message']}));if(this[_0x8e7e10(0x104)]&&_0xaf2485['agentId'])try{const _0x1ab0cf=await this[_0x8e7e10(0x104)]['getAgent'](_0xaf2485['agentId']);if(_0x1ab0cf){const _0x2846fd={'id':'img-error-'+_0xaf2485['jobId'],'role':_0x8e7e10(0x10d),'content':_0x8e7e10(0x151)+_0x4f14ab[_0x8e7e10(0x19a)]+_0x8e7e10(0x15d)+_0xaf2485['prompt'],'timestamp':_0xaf2485['completedAt'],'type':_0x8e7e10(0x189),'toolId':_0x8e7e10(0x150),'status':_0x8e7e10(0x193),'jobId':_0xaf2485[_0x8e7e10(0x191)]};_0x1ab0cf['conversations'][_0x8e7e10(0x14d)]['messages'][_0x8e7e10(0x184)](_0x2846fd),_0x1ab0cf[_0x8e7e10(0xfa)]['full'][_0x8e7e10(0x12a)]=_0xaf2485[_0x8e7e10(0x140)],_0x1ab0cf['currentModel']&&_0x1ab0cf[_0x8e7e10(0xfa)][_0x1ab0cf[_0x8e7e10(0x103)]]&&(_0x1ab0cf[_0x8e7e10(0xfa)][_0x1ab0cf['currentModel']][_0x8e7e10(0x13c)]['push'](_0x2846fd),_0x1ab0cf[_0x8e7e10(0xfa)][_0x1ab0cf[_0x8e7e10(0x103)]][_0x8e7e10(0x12a)]=_0xaf2485['completedAt']),_0x1ab0cf['lastActivity']=_0xaf2485['completedAt'],await this['agentPool'][_0x8e7e10(0x17f)](_0xaf2485[_0x8e7e10(0x180)]),this[_0x8e7e10(0xfc)]?.['info'](_0x8e7e10(0x181),{'agentId':_0xaf2485['agentId'],'jobId':_0xaf2485['jobId'],'error':_0x4f14ab[_0x8e7e10(0x19a)]});}}catch(_0xc2289e){this['logger']?.['error'](_0x8e7e10(0x15f),{'error':_0xc2289e['message'],'agentId':_0xaf2485['agentId'],'jobId':_0xaf2485[_0x8e7e10(0x191)]});}}}this['isProcessing']=![],this[_0x8e7e10(0x139)]=null;}async[a0_0x21672c(0x182)](_0x345161){const _0x13f02f=a0_0x21672c;if(!this['aiService'])throw new Error(_0x13f02f(0x118));const _0x18666b=await this['_resolveOutputPath'](_0x345161),_0x428ec6=a0_0xfc8db3[_0x13f02f(0xf9)](_0x18666b);await a0_0x3b1e12[_0x13f02f(0x17a)](_0x428ec6,{'recursive':!![]}),this[_0x13f02f(0xfc)]?.[_0x13f02f(0x13e)](_0x13f02f(0x179)+_0x345161['model'],{'size':_0x345161['size'],'quality':_0x345161['quality']});const _0x1fca52={'model':_0x345161[_0x13f02f(0xf5)],'size':_0x345161[_0x13f02f(0x163)],'quality':_0x345161['quality'],'responseFormat':'url','sessionId':_0x345161[_0x13f02f(0x171)]},_0x18bf4c=await this['aiService']['generateImage'](_0x345161[_0x13f02f(0x12f)],_0x1fca52),_0x26aafc=_0x18bf4c?.['url']||_0x18bf4c?.[_0x13f02f(0x18e)];if(!_0x26aafc)throw new Error('No image URL received from AI service');this[_0x13f02f(0xfc)]?.[_0x13f02f(0x13e)]('Image\x20URL\x20received:\x20'+_0x26aafc[_0x13f02f(0x18c)](0x0,0x32)+_0x13f02f(0x166));let _0x196702=![],_0xb397d7=null;try{await this['_downloadImage'](_0x26aafc,_0x18666b),_0x196702=!![],!_0x345161[_0x13f02f(0x13b)]&&this[_0x13f02f(0x124)](_0x18666b,_0x345161['jobId']);}catch(_0x5de204){_0xb397d7=_0x5de204[_0x13f02f(0x19a)],this['logger']?.[_0x13f02f(0x129)](_0x13f02f(0x11a)+_0x5de204['message']);}return{'jobId':_0x345161[_0x13f02f(0x191)],'prompt':_0x345161[_0x13f02f(0x12f)],'outputPath':_0x345161['outputPath'],'resolvedOutputPath':_0x196702?_0x18666b:null,'temporaryUrl':_0x26aafc,'savedToDisk':_0x196702,'downloadError':_0xb397d7,'success':!![],'model':_0x18bf4c['model']||_0x345161['model'],'size':_0x345161['size'],'usage':_0x18bf4c[_0x13f02f(0x15a)]};}async[a0_0x21672c(0x161)](_0x3c1b94){const _0x422168=a0_0x21672c;if(_0x3c1b94['saveToProject']){const _0x3a7e28=_0x3c1b94[_0x422168(0x138)]||process['cwd']();let _0x52ccc2=_0x3c1b94['outputPath'];if(!_0x52ccc2){const _0x505692=Date[_0x422168(0x195)]();_0x52ccc2='images/generated-'+_0x505692+_0x422168(0x143);}const _0x30aca4=a0_0xfc8db3[_0x422168(0x17c)](_0x52ccc2)?a0_0xfc8db3['normalize'](_0x52ccc2):a0_0xfc8db3[_0x422168(0x178)](a0_0xfc8db3['join'](_0x3a7e28,_0x52ccc2));if(!_0x30aca4[_0x422168(0x148)](a0_0xfc8db3[_0x422168(0x178)](_0x3a7e28)))throw new Error(_0x422168(0x149));if(_0x3c1b94[_0x422168(0xfd)]){const _0x4b85a0=a0_0xfc8db3[_0x422168(0x119)](_0x3a7e28,_0x30aca4);if(_0x4b85a0['startsWith']('..'))throw new Error(_0x422168(0xf0));}return _0x30aca4;}else{await a0_0x3b1e12[_0x422168(0x17a)](this['tempDir'],{'recursive':!![]});let _0x99fca0=_0x3c1b94['outputPath']?a0_0xfc8db3[_0x422168(0x126)](_0x3c1b94['outputPath']):'generated-'+_0x3c1b94[_0x422168(0x191)]+_0x422168(0x143);return a0_0xfc8db3[_0x422168(0x122)](this['tempDir'],_0x99fca0);}}async[a0_0x21672c(0x131)](_0x5b83a1,_0x2b3c9b){const _0x406357=a0_0x21672c;try{const _0x48b124=await fetch(_0x5b83a1,{'signal':AbortSignal['timeout'](IMAGE_CONFIG[_0x406357(0xff)])});if(!_0x48b124['ok'])throw new Error('Failed\x20to\x20download\x20image:\x20HTTP\x20'+_0x48b124[_0x406357(0x147)]);const _0x58a185=Buffer['from'](await _0x48b124['arrayBuffer']());await a0_0x3b1e12[_0x406357(0x16f)](_0x2b3c9b,_0x58a185),this['logger']?.['info']('Image\x20saved\x20to:\x20'+_0x2b3c9b);}catch(_0x2b84a1){if(_0x2b84a1['name']===_0x406357(0x17e))throw new Error('Image\x20download\x20timeout');else{if(_0x2b84a1['name']===_0x406357(0x12d))throw new Error(_0x406357(0x121)+_0x2b84a1[_0x406357(0x19a)]);else throw new Error('Download\x20failed:\x20'+_0x2b84a1['message']);}}}['_scheduleCleanup'](_0x553f12,_0x498d21){const _0x3e5fe0=a0_0x21672c,_0x1842f5=setTimeout(async()=>{const _0x3587d9=a0_0x1cd9;try{await a0_0x3b1e12['unlink'](_0x553f12),this['logger']?.['debug']('Cleaned\x20up\x20temp\x20image:\x20'+_0x553f12),this['cleanupTimers'][_0x3587d9(0x106)](_0x498d21);}catch(_0x28d6a4){}},IMAGE_CONFIG[_0x3e5fe0(0x111)]);this[_0x3e5fe0(0x123)][_0x3e5fe0(0x117)](_0x498d21,_0x1842f5);}['_convertToWebUrl'](_0x120ac4,_0x408504){const _0x4179b2=a0_0x21672c,_0xf338ee=a0_0xfc8db3['basename'](_0x120ac4),_0x5cbd2c=global[_0x4179b2(0x113)]?.[_0x4179b2(0x108)]||0x1f90;let _0x3fc5ac=global['loxiaWebServer']?.['host']||'localhost';return _0x3fc5ac===_0x4179b2(0x197)&&(_0x3fc5ac=_0x4179b2(0x10b)),'http://'+_0x3fc5ac+':'+_0x5cbd2c+_0x4179b2(0x110)+_0x408504+'/'+_0xf338ee;}[a0_0x21672c(0x185)](){const _0x25bf68=a0_0x21672c,_0x57b652=0x1e,_0x22954f=this['queue'][_0x25bf68(0x14a)];if(_0x22954f===0x0)return _0x25bf68(0x153);const _0x4fe6ee=_0x22954f*_0x57b652,_0x58ee32=Math['floor'](_0x4fe6ee/0x3c),_0x4907fc=_0x4fe6ee%0x3c;if(_0x58ee32>0x0)return'~'+_0x58ee32+'m\x20'+_0x4907fc+'s';return'~'+_0x4907fc+'s';}['_generateJobId'](){const _0x242f4a=a0_0x21672c;return'img-'+Date[_0x242f4a(0x195)]()+'-'+Math[_0x242f4a(0xf7)]()[_0x242f4a(0x12e)](0x24)[_0x242f4a(0x18c)](0x2,0x9);}[a0_0x21672c(0x15e)](_0x21fb81){const _0xbaacba=a0_0x21672c;if(this['completedJobs'][_0xbaacba(0x192)](_0x21fb81))return this[_0xbaacba(0x15b)][_0xbaacba(0x12b)](_0x21fb81);if(this['currentJob']&&this[_0xbaacba(0x139)]['jobId']===_0x21fb81)return this[_0xbaacba(0x139)];const _0x5ac991=this[_0xbaacba(0x187)][_0xbaacba(0x101)](_0x322315=>_0x322315['jobId']===_0x21fb81);if(_0x5ac991)return _0x5ac991;return{'jobId':_0x21fb81,'status':_0xbaacba(0x169)};}async['cleanup'](){const _0x47924d=a0_0x21672c;this['logger']?.[_0x47924d(0x13e)](_0x47924d(0x14c));for(const _0x47c367 of this['cleanupTimers']['values']()){clearTimeout(_0x47c367);}this[_0x47924d(0x123)]['clear']();for(const _0xdc97a3 of this[_0x47924d(0x187)]){_0xdc97a3[_0x47924d(0x147)]='cancelled';}this[_0x47924d(0x187)]=[];}}export default ImageTool;
|
|
1
|
+
const a0_0x177b07=a0_0x5fed;function a0_0x571f(){const _0x3e9df2=['z2v0qwDLBNq','ANbN','BwvZC2fNzxm','ChjVBxb0','BwTKAxi','l2fWAs9PBwfNzxmV','qwDLBNrqB29SihnLDcbMB3iGsw1Hz2vuB29S','revgqvvmvf9rvufmsvrz','x3bHCNnLwe1msw1Hz2u','sw52ywXPzcbMB3jTyxq6ia','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','Dg9tDhjPBMC','x2DLBMvYyxrLsw1Hz2u','mZC4otmYng9ADvjADW','D3jPDgvgAwXL','mtaYnhGXnZKY','Aw1Hz2vZl2DLBMvYyxrLzc0','CMvZDwX0','x2nVBNzLCNruB1DLyLvYBa','CMvZB2X2zwrpDxrWDxrqyxrO','zgvIDwC','z2v0sM9Iu3rHDhvZ','ndi2mJi1uwLREMvT','y3vYCMvUDePVyG','sw1Hz2uGz2vUzxjHDgLVBIbJB21WBgv0zwq6ia','B3v0Chv0ugf0Aa','vgLTzw91DevYCM9Y','C3vIC3rYAw5N','Bg9Nz2vY','C3rHDhvZ','Bg9JywXOB3n0','zxHLyW','D2vICa','y29TCgXLDgvKqxq','ywDLBNrqB29S','Dg9ju09tDhjPBMC','vKfmsurFrK9stufuuW','sw52ywXPzcbZAxPLoIa','BgfZDfvWzgf0zwq','yMf0y2G','ofPpsvfpvW','yNjVywrJyxn0vg9tzxnZAw9U','BMfTzq','rMfPBgvKihrVigrVD25SB2fKigLTywDLoIbivfrqia','C2v0quLtzxj2AwnL','C3LZDgvT','Bg94Awfxzwjtzxj2zxi','AgfZ','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLlIbjBwfNzsbNzw5LCMf0Aw9UihjLCxvPCMvZiefjihnLCNzPy2uU','cIOQrxjYB3i6kIOG','lNbUzW','mJq2nZyYCMftq0jy','CxvLDwu','x3bHCNnLwe1mugfYyw1Z','x3jLC29SDMvpDxrWDxrqyxrO','tM8GAw1Hz2vZihnWzwnPzMLLza','y2f0y2G','odiYmtqXmgHnDxjQtW','Dg1WzgLY','mtu4ndGZnuz4v0vfDq','x3bHCNnLsw1Hz2vqyxjHBxm','C2f2zwruB0rPC2S','y29UDMvYC2f0Aw9UCW','CgvYC2LZDefNzw50u3rHDgu','z2vUzxjHDgvKlq','Cg9YDa','mtbszwDZD1u','CgfYC2vqyxjHBwv0zxjZ','Bw9KzwW','CgfYyw1LDgvYCW','4P2mieLTywDLigDLBMvYyxrPB24GzMfPBgvKoIa','ChjVy2vZC2LUzW','re9xtKXpqurFveLnru9vva','zxHLy3v0zq','lIbwywXPzcbZAxPLCZOG','AxnbCNjHEq','BwvZC2fNzq','Aw5MBW','zgvSzxrL','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq','zMXVB3i','y29TCgXLDgvK','C2f2zvrVuhjVAMvJDa','ywLtzxj2AwnL','vevnuf9dtevbtLvqx01t','mc4WlJaUma','DgvTCerPCG','Aw1Hz2vZ','Aw1NlxjLC3vSDc0','DxjS','y29TCgXLDgvKsM9ICW','sw1Hz2uGz2vUzxjHDgvKoIa','revgqvvmvf9nt0rfta','zgLYzwn0B3j5qwnJzxnZ','ngXgy3LcAa','BwfW','tufyx1bst01qvf9mru5hveG','AM9PBG','zg93BMXVywrfCNjVCG','mtbAvfPTyNq','y2XLyw51CfrPBwvYCW','yxjYyxLcDwzMzxi','C3rHCNrZv2L0Aa','zNvSBa','qwnJzxnZigrLBMLLzdOGCgf0AcbVDxrZAwrLihbYB2PLy3qGzgLYzwn0B3j5','ChvZAa','mtaYmZu2nhvlBwrQyW','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','C2HPzNq','zxjYB3i','CxvHBgL0Eq','y2XLyw51Ca','tMv0D29YAYbLCNjVCJOG','BM93','C2L6zq','x2DLBMvYyxrLsM9Iswq','x2rVD25SB2fKsw1Hz2u','x3bHCNnLsLnptLbHCMfTCW','B2jQzwn0','AxnqCM9JzxnZAw5N','DgLTzw91Da','vhLWzuvYCM9Y','AM9Iswq','z2v0','pIHBxhnCu10QpYK8xc8','r2vUzxjHDgLUzYbPBwfNzsb3AxrOia','C2v0qwDLBNrqB29S','yMfZzw5HBwu','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCIbICM9HzgnHC3qGC2vUDa','C2vZC2LVBKLK','ywDLBNrjza','ndyZodyWmufdA29hwq','DhjPBq','y3vYCMvUDe1VzgvS','C3rYAw5N','uxvLDwuGChjVy2vZC2LUzYbLCNjVCJO','revgqvvmvf9tsvPf','rg93BMXVywqGzMfPBgvKoIa','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','Aw1Hz2uTCMvZDwX0','zMfPBgvK','BgvUz3rO','BM90x2zVDw5K','ignOyxjHy3rLCNmP','C2v0','y3DK','uvvfvuvFteLnsvq'];a0_0x571f=function(){return _0x3e9df2;};return a0_0x571f();}(function(_0x28b3a3,_0x11a082){const _0x58dd5d=a0_0x5fed,_0x4692e9=_0x28b3a3();while(!![]){try{const _0x431a1f=-parseInt(_0x58dd5d(0x14c))/0x1+-parseInt(_0x58dd5d(0x194))/0x2*(-parseInt(_0x58dd5d(0x169))/0x3)+parseInt(_0x58dd5d(0x1a0))/0x4*(parseInt(_0x58dd5d(0x199))/0x5)+-parseInt(_0x58dd5d(0x1d6))/0x6+parseInt(_0x58dd5d(0x171))/0x7*(-parseInt(_0x58dd5d(0x15e))/0x8)+parseInt(_0x58dd5d(0x16f))/0x9+-parseInt(_0x58dd5d(0x178))/0xa*(-parseInt(_0x58dd5d(0x1b9))/0xb);if(_0x431a1f===_0x11a082)break;else _0x4692e9['push'](_0x4692e9['shift']());}catch(_0x189999){_0x4692e9['push'](_0x4692e9['shift']());}}}(a0_0x571f,0xb18f7));import a0_0x5f0053 from'path';function a0_0x5fed(_0x5b2e28,_0x1c5c05){_0x5b2e28=_0x5b2e28-0x14c;const _0x571fec=a0_0x571f();let _0x5fedfd=_0x571fec[_0x5b2e28];if(a0_0x5fed['uSkOcg']===undefined){var _0x4254d7=function(_0x39eebc){const _0x1b0ee5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f0053='',_0xdef866='';for(let _0x11b920=0x0,_0x16603a,_0x161a14,_0x475ffd=0x0;_0x161a14=_0x39eebc['charAt'](_0x475ffd++);~_0x161a14&&(_0x16603a=_0x11b920%0x4?_0x16603a*0x40+_0x161a14:_0x161a14,_0x11b920++%0x4)?_0x5f0053+=String['fromCharCode'](0xff&_0x16603a>>(-0x2*_0x11b920&0x6)):0x0){_0x161a14=_0x1b0ee5['indexOf'](_0x161a14);}for(let _0x26d5f9=0x0,_0x4256d3=_0x5f0053['length'];_0x26d5f9<_0x4256d3;_0x26d5f9++){_0xdef866+='%'+('00'+_0x5f0053['charCodeAt'](_0x26d5f9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdef866);};a0_0x5fed['lMiSyf']=_0x4254d7,a0_0x5fed['DJtRfY']={},a0_0x5fed['uSkOcg']=!![];}const _0x1c795a=_0x571fec[0x0],_0x2191bd=_0x5b2e28+_0x1c795a,_0x3bc184=a0_0x5fed['DJtRfY'][_0x2191bd];return!_0x3bc184?(_0x5fedfd=a0_0x5fed['lMiSyf'](_0x5fedfd),a0_0x5fed['DJtRfY'][_0x2191bd]=_0x5fedfd):_0x5fedfd=_0x3bc184,_0x5fedfd;}import a0_0xdef866 from'os';import{promises as a0_0x11b920}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':'azure-openai-dalle3','DEFAULT_SIZE':'1024x1024','DEFAULT_QUALITY':'standard','VALID_SIZES':['256x256','512x512','1024x1024',a0_0x177b07(0x1d8),'1792x1024'],'VALID_FORMATS':['png',a0_0x177b07(0x1ca),'jpeg',a0_0x177b07(0x156)],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};export class ImageTool extends BaseTool{constructor(_0x16603a={},_0x161a14=null){const _0x53e5c7=a0_0x177b07;super(_0x16603a,_0x161a14),this['id']='image-gen',this[_0x53e5c7(0x16a)]=[],this['currentJob']=null,this[_0x53e5c7(0x190)]=new Map(),this[_0x53e5c7(0x1ad)]=![],this[_0x53e5c7(0x189)]=null,this[_0x53e5c7(0x158)]=null,this[_0x53e5c7(0x18c)]=a0_0x5f0053[_0x53e5c7(0x197)](a0_0xdef866[_0x53e5c7(0x170)](),'loxia-images'),this[_0x53e5c7(0x19a)]=new Map();}[a0_0x177b07(0x162)](_0x475ffd){this['aiService']=_0x475ffd,this['logger']?.['info']('AI\x20Service\x20set\x20for\x20ImageTool');}[a0_0x177b07(0x1b4)](_0x26d5f9){const _0x2d0cc7=a0_0x177b07;this['agentPool']=_0x26d5f9,this[_0x2d0cc7(0x152)]?.['info'](_0x2d0cc7(0x1cf));}['getDescription'](){const _0x3181d2=a0_0x177b07;return _0x3181d2(0x1c0)+IMAGE_CONFIG[_0x3181d2(0x1c8)]+'\x20images\x20in\x20queue\x20at\x20once';}['parseParameters'](_0x4256d3){const _0x4e23ab=a0_0x177b07;if(typeof _0x4256d3===_0x4e23ab(0x1ac)&&_0x4256d3!==null)return this[_0x4e23ab(0x1ab)](_0x4256d3);if(typeof _0x4256d3==='string'){const _0x3a370e=_0x4256d3['trim']();if(_0x3a370e[_0x4e23ab(0x19c)]('{')||_0x3a370e['startsWith']('['))try{const _0x1329ad=JSON['parse'](_0x3a370e);return this[_0x4e23ab(0x1ab)](_0x1329ad);}catch(_0x343fa6){}return this[_0x4e23ab(0x16b)](_0x4256d3);}throw new Error('Invalid\x20parameter\x20format');}['_parseJSONParams'](_0x468215){const _0x229bd6=a0_0x177b07;_0x468215['parameters']&&(_0x468215=_0x468215[_0x229bd6(0x17b)]);if(_0x468215[_0x229bd6(0x15d)]&&Array[_0x229bd6(0x181)](_0x468215[_0x229bd6(0x15d)]))return{'batch':!![],'images':_0x468215['batch'][_0x229bd6(0x195)](_0x1dd793=>this['_parseImageParams'](_0x1dd793))};return{'batch':![],'images':[this[_0x229bd6(0x172)](_0x468215)]};}['_parseXMLParams'](_0x2e881a){const _0x420c94=a0_0x177b07,_0x6e6fb1={'batch':![],'images':[]},_0x3c8572=/<batch>([\s\S]*?)<\/batch>/i['exec'](_0x2e881a);if(_0x3c8572){_0x6e6fb1['batch']=!![];const _0x41d55b=_0x3c8572[0x1],_0x49d27a=/<image>([\s\S]*?)<\/image>/gi;let _0x13f235;while((_0x13f235=_0x49d27a[_0x420c94(0x155)](_0x41d55b))!==null){_0x6e6fb1[_0x420c94(0x18d)][_0x420c94(0x19f)](this['_parseXMLImage'](_0x13f235[0x1]));}}else _0x6e6fb1['images']['push'](this[_0x420c94(0x1d1)](_0x2e881a));if(_0x6e6fb1['images']['length']===0x0)throw new Error('No\x20valid\x20image\x20parameters\x20found');return _0x6e6fb1;}[a0_0x177b07(0x172)](_0x29b77d){const _0x27176f=a0_0x177b07,_0x5794ab=_0x29b77d['outputPath']||_0x29b77d['output-path']||null;return{'prompt':_0x29b77d['prompt']||'','outputPath':_0x5794ab,'saveToProject':_0x5794ab!==null,'model':_0x29b77d[_0x27176f(0x17a)]||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0x29b77d[_0x27176f(0x1a8)]||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x29b77d[_0x27176f(0x1a4)]||IMAGE_CONFIG[_0x27176f(0x1d0)]};}['_parseXMLImage'](_0x333c19){const _0x34669e=a0_0x177b07,_0x55f44b=_0x36944a=>{const _0x2c8b71=a0_0x5fed,_0x147255=new RegExp('<'+_0x36944a+_0x2c8b71(0x1b2)+_0x36944a+'>','i'),_0x1f915=_0x147255['exec'](_0x333c19);return _0x1f915?_0x1f915[0x1][_0x2c8b71(0x1ba)]():null;},_0x585f57=_0x55f44b('output-path')||null;return{'prompt':_0x55f44b(_0x34669e(0x1cc))||'','outputPath':_0x585f57,'saveToProject':_0x585f57!==null,'model':_0x55f44b('model')||IMAGE_CONFIG[_0x34669e(0x192)],'size':_0x55f44b('size')||IMAGE_CONFIG[_0x34669e(0x1be)],'quality':_0x55f44b('quality')||IMAGE_CONFIG['DEFAULT_QUALITY']};}async[a0_0x177b07(0x17f)](_0xb26235,_0xc5d07a={}){const _0x5deda2=a0_0x177b07;try{const {agentId:_0x281d49,projectDir:_0x354bc6,directoryAccess:_0x489261,sessionId:_0x1c0d03}=_0xc5d07a;typeof _0xb26235===_0x5deda2(0x1bc)&&(this[_0x5deda2(0x152)]?.[_0x5deda2(0x183)]('ImageTool:\x20Auto-parsing\x20string\x20parameters'),_0xb26235=this[_0x5deda2(0x179)](_0xb26235));this['_validateParameters'](_0xb26235);const _0x1819b5=[];for(const _0x1d533f of _0xb26235['images']){const _0x2a61c6=this[_0x5deda2(0x1a9)](),_0x4da4e7={'jobId':_0x2a61c6,'agentId':_0x281d49,'sessionId':_0x1c0d03,'prompt':_0x1d533f['prompt'],'outputPath':_0x1d533f[_0x5deda2(0x14f)],'saveToProject':_0x1d533f['saveToProject'],'model':_0x1d533f[_0x5deda2(0x17a)],'size':_0x1d533f['size'],'quality':_0x1d533f[_0x5deda2(0x1a4)],'projectDir':_0x354bc6||process['cwd'](),'directoryAccess':_0x489261,'status':'queued','createdAt':new Date()[_0x5deda2(0x159)]()};if(this['queue']['length']>=IMAGE_CONFIG['QUEUE_LIMIT'])return{'success':![],'error':'Queue\x20limit\x20reached\x20('+IMAGE_CONFIG['QUEUE_LIMIT']+'\x20images).\x20Please\x20wait\x20for\x20current\x20jobs\x20to\x20complete.','queueLength':this['queue'][_0x5deda2(0x1c3)]};this[_0x5deda2(0x16a)][_0x5deda2(0x19f)](_0x4da4e7),_0x1819b5['push'](_0x2a61c6),this[_0x5deda2(0x152)]?.[_0x5deda2(0x183)]('Image\x20generation\x20job\x20queued:\x20'+_0x2a61c6,{'prompt':_0x1d533f['prompt']['substring'](0x0,0x32)+'...','queuePosition':this[_0x5deda2(0x16a)]['length']});}return!this[_0x5deda2(0x1ad)]&&this['_processQueue']()[_0x5deda2(0x16e)](_0x40ffc8=>{const _0x4c5d5a=_0x5deda2;this['logger']?.['error'](_0x4c5d5a(0x1bd),_0x40ffc8);}),{'success':!![],'jobIds':_0x1819b5,'queueLength':this['queue'][_0x5deda2(0x1c3)],'message':_0xb26235[_0x5deda2(0x15d)]?_0x1819b5['length']+'\x20images\x20queued\x20for\x20generation':'Image\x20queued\x20for\x20generation','estimatedWaitTime':this['_estimateWaitTime']()};}catch(_0x3421b6){return this['logger']?.[_0x5deda2(0x1a3)](_0x5deda2(0x1a1),_0x3421b6),{'success':![],'error':_0x3421b6['message']};}}['_validateParameters'](_0x1e4745){const _0xeb06d9=a0_0x177b07;if(!_0x1e4745[_0xeb06d9(0x18d)]||_0x1e4745[_0xeb06d9(0x18d)][_0xeb06d9(0x1c3)]===0x0)throw new Error(_0xeb06d9(0x16d));for(const _0x36b3a1 of _0x1e4745[_0xeb06d9(0x18d)]){if(!_0x36b3a1['prompt']||_0x36b3a1['prompt'][_0xeb06d9(0x1ba)]()[_0xeb06d9(0x1c3)]===0x0)throw new Error('Image\x20prompt\x20is\x20required');if(_0x36b3a1[_0xeb06d9(0x1cc)]['length']>IMAGE_CONFIG['MAX_PROMPT_LENGTH'])throw new Error('Prompt\x20too\x20long\x20(max\x20'+IMAGE_CONFIG[_0xeb06d9(0x196)]+_0xeb06d9(0x1c5));if(_0x36b3a1['size']&&!IMAGE_CONFIG['VALID_SIZES']['includes'](_0x36b3a1[_0xeb06d9(0x1a8)]))throw new Error(_0xeb06d9(0x15b)+_0x36b3a1[_0xeb06d9(0x1a8)]+_0xeb06d9(0x180)+IMAGE_CONFIG['VALID_SIZES']['join'](',\x20'));if(_0x36b3a1['outputPath']){const _0x1ba095=a0_0x5f0053['extname'](_0x36b3a1['outputPath'])['toLowerCase']()['replace']('.','');if(_0x1ba095&&!IMAGE_CONFIG[_0xeb06d9(0x15a)]['includes'](_0x1ba095))throw new Error(_0xeb06d9(0x1d2)+_0x1ba095+'.\x20Valid\x20formats:\x20'+IMAGE_CONFIG['VALID_FORMATS'][_0xeb06d9(0x197)](',\x20'));}}}async['_processQueue'](){const _0x3f7c6a=a0_0x177b07;if(this['isProcessing'])return;this[_0x3f7c6a(0x1ad)]=!![];while(this['queue']['length']>0x0){const _0x1f8be1=this['queue'][_0x3f7c6a(0x1a2)]();this[_0x3f7c6a(0x14d)]=_0x1f8be1,this['logger']?.['info']('Processing\x20image\x20generation\x20job:\x20'+_0x1f8be1['jobId']);try{_0x1f8be1['status']=_0x3f7c6a(0x17d);const _0x5e3b98=await this['_generateImage'](_0x1f8be1);_0x1f8be1[_0x3f7c6a(0x153)]=_0x3f7c6a(0x187),_0x1f8be1[_0x3f7c6a(0x1da)]=_0x5e3b98,_0x1f8be1[_0x3f7c6a(0x157)]=new Date()[_0x3f7c6a(0x159)](),this['completedJobs']['set'](_0x1f8be1['jobId'],_0x1f8be1);if(global['loxiaWebServer']&&_0x1f8be1['sessionId']){let _0x59b2ce,_0x91a66d=![];if(_0x5e3b98[_0x3f7c6a(0x173)]&&_0x5e3b98['resolvedOutputPath'])_0x59b2ce=this[_0x3f7c6a(0x1db)](_0x5e3b98[_0x3f7c6a(0x1dc)],_0x1f8be1['sessionId']);else _0x5e3b98['temporaryUrl']&&(_0x59b2ce=_0x5e3b98['temporaryUrl'],_0x91a66d=!![]);global[_0x3f7c6a(0x164)]['broadcastToSession'](_0x1f8be1[_0x3f7c6a(0x1b7)],{'type':'imageGenerated','agentId':_0x1f8be1['agentId'],'jobId':_0x1f8be1[_0x3f7c6a(0x1b0)],'imageUrl':_0x59b2ce,'localPath':_0x5e3b98[_0x3f7c6a(0x1dc)],'prompt':_0x1f8be1['prompt'],'success':!![],'isTemporary':_0x91a66d,'savedToDisk':_0x5e3b98['savedToDisk'],'downloadError':_0x5e3b98[_0x3f7c6a(0x198)],'timestamp':_0x1f8be1[_0x3f7c6a(0x157)]}),this[_0x3f7c6a(0x152)]?.['info']('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x1f8be1[_0x3f7c6a(0x1b0)],'imageUrl':_0x59b2ce,'localPath':_0x5e3b98[_0x3f7c6a(0x1dc)],'savedToDisk':_0x5e3b98['savedToDisk'],'isTemporary':_0x91a66d});if(this['agentPool']&&_0x1f8be1['agentId'])try{const _0x138dcb=await this['agentPool']['getAgent'](_0x1f8be1['agentId']);if(_0x138dcb){let _0x598877=_0x3f7c6a(0x191)+_0x1f8be1[_0x3f7c6a(0x1cc)];_0x91a66d&&(_0x598877+='\x0a\x0a⚠️\x20**Warning:**\x20Image\x20is\x20using\x20a\x20temporary\x20URL\x20(expires\x20in\x20~1\x20hour).\x20Failed\x20to\x20save\x20to\x20disk.',_0x5e3b98['downloadError']&&(_0x598877+=_0x3f7c6a(0x167)+_0x5e3b98['downloadError']));const _0x139634={'id':_0x3f7c6a(0x18e)+_0x1f8be1[_0x3f7c6a(0x1b0)],'role':'assistant','content':_0x598877,'timestamp':_0x1f8be1[_0x3f7c6a(0x157)],'imageUrl':_0x59b2ce,'type':_0x3f7c6a(0x1c1),'toolId':'image-gen','status':_0x3f7c6a(0x187),'isTemporary':_0x91a66d||![],'savedToDisk':_0x5e3b98[_0x3f7c6a(0x173)]!==![]};_0x138dcb['conversations'][_0x3f7c6a(0x19d)]['messages'][_0x3f7c6a(0x19f)](_0x139634),_0x138dcb[_0x3f7c6a(0x174)]['full']['lastUpdated']=_0x1f8be1[_0x3f7c6a(0x157)],_0x138dcb[_0x3f7c6a(0x1bb)]&&_0x138dcb[_0x3f7c6a(0x174)][_0x138dcb['currentModel']]&&(_0x138dcb[_0x3f7c6a(0x174)][_0x138dcb['currentModel']][_0x3f7c6a(0x1cb)]['push'](_0x139634),_0x138dcb['conversations'][_0x138dcb[_0x3f7c6a(0x1bb)]][_0x3f7c6a(0x15c)]=_0x1f8be1['completedAt']),_0x138dcb['lastActivity']=_0x1f8be1['completedAt'],await this[_0x3f7c6a(0x158)][_0x3f7c6a(0x175)](_0x1f8be1[_0x3f7c6a(0x1b8)]),this['logger']?.['info']('Image\x20result\x20saved\x20to\x20conversation\x20history',{'agentId':_0x1f8be1[_0x3f7c6a(0x1b8)],'jobId':_0x1f8be1['jobId'],'messageId':_0x139634['id']});}}catch(_0x41cec0){this['logger']?.[_0x3f7c6a(0x1a3)]('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x41cec0['message'],'agentId':_0x1f8be1['agentId'],'jobId':_0x1f8be1[_0x3f7c6a(0x1b0)]});}}this[_0x3f7c6a(0x152)]?.['info'](_0x3f7c6a(0x14e)+_0x1f8be1[_0x3f7c6a(0x1b0)],{'outputPath':_0x5e3b98[_0x3f7c6a(0x1dc)]});}catch(_0x2db511){this[_0x3f7c6a(0x152)]?.[_0x3f7c6a(0x1a3)](_0x3f7c6a(0x1d3)+_0x1f8be1['jobId'],_0x2db511),_0x1f8be1['status']='failed',_0x1f8be1[_0x3f7c6a(0x1a3)]=_0x2db511['message'],_0x1f8be1['completedAt']=new Date()['toISOString'](),this[_0x3f7c6a(0x190)]['set'](_0x1f8be1['jobId'],_0x1f8be1);global['loxiaWebServer']&&_0x1f8be1[_0x3f7c6a(0x1b7)]&&(global['loxiaWebServer'][_0x3f7c6a(0x15f)](_0x1f8be1['sessionId'],{'type':'imageGenerated','jobId':_0x1f8be1[_0x3f7c6a(0x1b0)],'agentId':_0x1f8be1['agentId'],'prompt':_0x1f8be1[_0x3f7c6a(0x1cc)],'success':![],'error':_0x2db511[_0x3f7c6a(0x182)],'timestamp':_0x1f8be1['completedAt']}),this['logger']?.[_0x3f7c6a(0x183)](_0x3f7c6a(0x1b6),{'jobId':_0x1f8be1[_0x3f7c6a(0x1b0)],'sessionId':_0x1f8be1[_0x3f7c6a(0x1b7)],'error':_0x2db511[_0x3f7c6a(0x182)]}));if(this[_0x3f7c6a(0x158)]&&_0x1f8be1[_0x3f7c6a(0x1b8)])try{const _0x370d3c=await this['agentPool'][_0x3f7c6a(0x1c9)](_0x1f8be1['agentId']);if(_0x370d3c){const _0x1147ef={'id':'img-error-'+_0x1f8be1['jobId'],'role':_0x3f7c6a(0x163),'content':_0x3f7c6a(0x17c)+_0x2db511['message']+'\x0a\x0a**Prompt:**\x20'+_0x1f8be1[_0x3f7c6a(0x1cc)],'timestamp':_0x1f8be1['completedAt'],'type':_0x3f7c6a(0x1a3),'toolId':'image-gen','status':_0x3f7c6a(0x1c2),'jobId':_0x1f8be1[_0x3f7c6a(0x1b0)]};_0x370d3c[_0x3f7c6a(0x174)]['full']['messages']['push'](_0x1147ef),_0x370d3c['conversations'][_0x3f7c6a(0x19d)]['lastUpdated']=_0x1f8be1[_0x3f7c6a(0x157)],_0x370d3c['currentModel']&&_0x370d3c['conversations'][_0x370d3c['currentModel']]&&(_0x370d3c[_0x3f7c6a(0x174)][_0x370d3c['currentModel']][_0x3f7c6a(0x1cb)]['push'](_0x1147ef),_0x370d3c[_0x3f7c6a(0x174)][_0x370d3c[_0x3f7c6a(0x1bb)]]['lastUpdated']=_0x1f8be1[_0x3f7c6a(0x157)]),_0x370d3c['lastActivity']=_0x1f8be1['completedAt'],await this[_0x3f7c6a(0x158)]['persistAgentState'](_0x1f8be1[_0x3f7c6a(0x1b8)]),this[_0x3f7c6a(0x152)]?.['info']('Image\x20error\x20saved\x20to\x20conversation\x20history',{'agentId':_0x1f8be1['agentId'],'jobId':_0x1f8be1[_0x3f7c6a(0x1b0)],'error':_0x2db511[_0x3f7c6a(0x182)]});}}catch(_0x1af282){this['logger']?.['error']('Failed\x20to\x20save\x20image\x20error\x20to\x20conversation\x20history',{'error':_0x1af282[_0x3f7c6a(0x182)],'agentId':_0x1f8be1['agentId'],'jobId':_0x1f8be1['jobId']});}}}this['isProcessing']=![],this[_0x3f7c6a(0x14d)]=null;}async[a0_0x177b07(0x1d5)](_0x2e857f){const _0x2981f0=a0_0x177b07;if(!this[_0x2981f0(0x189)])throw new Error(_0x2981f0(0x166));const _0x2c4328=await this[_0x2981f0(0x16c)](_0x2e857f),_0x2f9825=a0_0x5f0053['dirname'](_0x2c4328);await a0_0x11b920['mkdir'](_0x2f9825,{'recursive':!![]}),this['logger']?.[_0x2981f0(0x183)](_0x2981f0(0x1b3)+_0x2e857f['model'],{'size':_0x2e857f['size'],'quality':_0x2e857f[_0x2981f0(0x1a4)]});const _0x44f9ee={'model':_0x2e857f['model'],'size':_0x2e857f[_0x2981f0(0x1a8)],'quality':_0x2e857f[_0x2981f0(0x1a4)],'responseFormat':'url','sessionId':_0x2e857f[_0x2981f0(0x1b7)]},_0x4762b7=await this['aiService']['generateImage'](_0x2e857f[_0x2981f0(0x1cc)],_0x44f9ee),_0x50fcce=_0x4762b7?.[_0x2981f0(0x18f)]||_0x4762b7?.['imageUrl'];if(!_0x50fcce)throw new Error('No image URL received from AI service');this[_0x2981f0(0x152)]?.[_0x2981f0(0x183)]('Image\x20URL\x20received:\x20'+_0x50fcce[_0x2981f0(0x151)](0x0,0x32)+'...');let _0x5c633a=![],_0x23a7bd=null;try{await this['_downloadImage'](_0x50fcce,_0x2c4328),_0x5c633a=!![],!_0x2e857f[_0x2981f0(0x188)]&&this['_scheduleCleanup'](_0x2c4328,_0x2e857f[_0x2981f0(0x1b0)]);}catch(_0xb55b61){_0x23a7bd=_0xb55b61['message'],this[_0x2981f0(0x152)]?.['warn']('Failed\x20to\x20save\x20image\x20to\x20disk,\x20will\x20use\x20temporary\x20URL:\x20'+_0xb55b61[_0x2981f0(0x182)]);}return{'jobId':_0x2e857f['jobId'],'prompt':_0x2e857f[_0x2981f0(0x1cc)],'outputPath':_0x2e857f['outputPath'],'resolvedOutputPath':_0x5c633a?_0x2c4328:null,'temporaryUrl':_0x50fcce,'savedToDisk':_0x5c633a,'downloadError':_0x23a7bd,'success':!![],'model':_0x4762b7['model']||_0x2e857f['model'],'size':_0x2e857f[_0x2981f0(0x1a8)],'usage':_0x4762b7['usage']};}async[a0_0x177b07(0x16c)](_0x3b4e25){const _0x4a179b=a0_0x177b07;if(_0x3b4e25[_0x4a179b(0x188)]){const _0x1143f0=_0x3b4e25['projectDir']||process[_0x4a179b(0x1c7)]();let _0x285548=_0x3b4e25['outputPath'];if(!_0x285548){const _0x8930e5=Date['now']();_0x285548=_0x4a179b(0x1d9)+_0x8930e5+_0x4a179b(0x168);}const _0x275d67=a0_0x5f0053['isAbsolute'](_0x285548)?a0_0x5f0053['normalize'](_0x285548):a0_0x5f0053['normalize'](a0_0x5f0053[_0x4a179b(0x197)](_0x1143f0,_0x285548));if(!_0x275d67['startsWith'](a0_0x5f0053['normalize'](_0x1143f0)))throw new Error(_0x4a179b(0x185));if(_0x3b4e25[_0x4a179b(0x193)]){const _0x2277a1=a0_0x5f0053['relative'](_0x1143f0,_0x275d67);if(_0x2277a1['startsWith']('..'))throw new Error(_0x4a179b(0x19e));}return _0x275d67;}else{await a0_0x11b920[_0x4a179b(0x1cd)](this['tempDir'],{'recursive':!![]});let _0x447684=_0x3b4e25['outputPath']?a0_0x5f0053[_0x4a179b(0x1b5)](_0x3b4e25[_0x4a179b(0x14f)]):_0x4a179b(0x176)+_0x3b4e25['jobId']+_0x4a179b(0x168);return a0_0x5f0053['join'](this['tempDir'],_0x447684);}}async[a0_0x177b07(0x1aa)](_0x5c59ae,_0x184939){const _0x55c376=a0_0x177b07;try{const _0x48c308=await fetch(_0x5c59ae,{'signal':AbortSignal[_0x55c376(0x1ae)](IMAGE_CONFIG[_0x55c376(0x17e)])});if(!_0x48c308['ok'])throw new Error(_0x55c376(0x161)+_0x48c308[_0x55c376(0x153)]);const _0x22537f=Buffer['from'](await _0x48c308[_0x55c376(0x19b)]());await a0_0x11b920[_0x55c376(0x1d7)](_0x184939,_0x22537f),this['logger']?.['info']('Image\x20saved\x20to:\x20'+_0x184939);}catch(_0x497a40){if(_0x497a40[_0x55c376(0x160)]===_0x55c376(0x150))throw new Error('Image\x20download\x20timeout');else{if(_0x497a40['name']===_0x55c376(0x1af))throw new Error(_0x55c376(0x1a6)+_0x497a40['message']);else throw new Error(_0x55c376(0x1bf)+_0x497a40['message']);}}}['_scheduleCleanup'](_0x422fba,_0x433a2f){const _0x106886=a0_0x177b07,_0x1cd8d1=setTimeout(async()=>{const _0x703124=a0_0x5fed;try{await a0_0x11b920['unlink'](_0x422fba),this[_0x703124(0x152)]?.[_0x703124(0x1dd)]('Cleaned\x20up\x20temp\x20image:\x20'+_0x422fba),this['cleanupTimers'][_0x703124(0x184)](_0x433a2f);}catch(_0x459a4d){}},IMAGE_CONFIG[_0x106886(0x18a)]);this[_0x106886(0x19a)][_0x106886(0x1c6)](_0x433a2f,_0x1cd8d1);}['_convertToWebUrl'](_0x243e0a,_0x5482ae){const _0x1e11bb=a0_0x177b07,_0x59891f=a0_0x5f0053[_0x1e11bb(0x1b5)](_0x243e0a),_0x15423d=global[_0x1e11bb(0x164)]?.[_0x1e11bb(0x177)]||0x1f90;let _0x5e8ee9=global[_0x1e11bb(0x164)]?.['host']||_0x1e11bb(0x154);return _0x5e8ee9===_0x1e11bb(0x18b)&&(_0x5e8ee9='localhost'),'http://'+_0x5e8ee9+':'+_0x15423d+_0x1e11bb(0x1ce)+_0x5482ae+'/'+_0x59891f;}['_estimateWaitTime'](){const _0x100965=a0_0x177b07,_0x18b10b=0x1e,_0x54cb0b=this['queue'][_0x100965(0x1c3)];if(_0x54cb0b===0x0)return'~30\x20seconds';const _0x597b88=_0x54cb0b*_0x18b10b,_0x2530a5=Math[_0x100965(0x186)](_0x597b88/0x3c),_0x348053=_0x597b88%0x3c;if(_0x2530a5>0x0)return'~'+_0x2530a5+'m\x20'+_0x348053+'s';return'~'+_0x348053+'s';}['_generateJobId'](){const _0x17458c=a0_0x177b07;return'img-'+Date[_0x17458c(0x1a7)]()+'-'+Math['random']()[_0x17458c(0x1d4)](0x24)[_0x17458c(0x151)](0x2,0x9);}[a0_0x177b07(0x1de)](_0x5d640c){const _0x3d1e57=a0_0x177b07;if(this[_0x3d1e57(0x190)][_0x3d1e57(0x165)](_0x5d640c))return this[_0x3d1e57(0x190)][_0x3d1e57(0x1b1)](_0x5d640c);if(this['currentJob']&&this[_0x3d1e57(0x14d)]['jobId']===_0x5d640c)return this['currentJob'];const _0x1035bf=this['queue']['find'](_0x993b18=>_0x993b18['jobId']===_0x5d640c);if(_0x1035bf)return _0x1035bf;return{'jobId':_0x5d640c,'status':_0x3d1e57(0x1c4)};}async[a0_0x177b07(0x1a5)](){const _0x53d306=a0_0x177b07;this[_0x53d306(0x152)]?.[_0x53d306(0x183)]('Shutting\x20down\x20ImageTool');for(const _0x584580 of this['cleanupTimers']['values']()){clearTimeout(_0x584580);}this['cleanupTimers']['clear']();for(const _0x2276ed of this['queue']){_0x2276ed['status']='cancelled';}this[_0x53d306(0x16a)]=[];}}export default ImageTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x160492=a0_0x3cf6;(function(_0x5c5eb0,_0x345601){const _0x374045=a0_0x3cf6,_0xb6c62a=_0x5c5eb0();while(!![]){try{const _0x23d8dc=-parseInt(_0x374045(0x153))/0x1+parseInt(_0x374045(0x162))/0x2*(-parseInt(_0x374045(0x157))/0x3)+parseInt(_0x374045(0x143))/0x4+-parseInt(_0x374045(0x1ac))/0x5+-parseInt(_0x374045(0x14e))/0x6+parseInt(_0x374045(0x17f))/0x7+parseInt(_0x374045(0x13b))/0x8;if(_0x23d8dc===_0x345601)break;else _0xb6c62a['push'](_0xb6c62a['shift']());}catch(_0x1766c7){_0xb6c62a['push'](_0xb6c62a['shift']());}}}(a0_0x9d77,0x2bd79));import{promises as a0_0x54f95d}from'fs';import a0_0x39585e from'path';function a0_0x9d77(){const _0x5b3a05=['cIaGtwLZC2LUzYbfEhbVCNrZoG','AwDUB3jLrMLSzq','tufyx0zjtevt','nJaYnJuYyKv6rxHx','AxngAwXL','rMLSzsbJB3vUDcbLEgnLzwrZigXPBwL0oIa','CM9VDerPCG','zxHLyW','mte5oty0rg94BwjN','8j+tPsbuB3rHBcbPBxbVCNrZoIa','icdIGkiGvg90ywWGzxHWB3j0CZOG','igLTCg9YDhmG','ote3mZq5EvfkzwTQ','icaGicaG8j+sOsbgAxG6iefKzcbLEhbVCNrZihrVia','BgvUz3rO','AwDUB3jLrMLSzsbTDxn0igjLigeGC3rYAw5N','y3DK','Aw1WB3j0CW','CMvHzgrPCG','CMvSyxrPDMu','Bg9Nz2vY','C3LTyM9StMfTzq','z2v0uMvSyxrPDMvqyxrO','mKXZqwP0DW','zMLSDgvY','C3vTBwfYEq','icaGicaGrNjVBsbMAwXLoIa','DhjPBq','y2LYy3vSyxjezxbLBMrLBMnPzxm','AxnezwzHDwX0','yxr0CMLIDxrLCW','vg9Vig1HBNKGzMLSzxmGDg8Gyw5HBhL6ztOG','Aw1WB3j0Aw5NrMLSzq','4PQG77IpicbnAxnZAw5Nigv4Cg9YDhm6ia','A2v5CW','BwvZC2fNzq','yw5HBhL6zq','Cgf0Aa','CgfYC2vuywDZ','CMvKDwnL','rM91BMqGzMLSzxm','Dg90ywXgAwXLCW','iIaO','z2v0','ywrK','zxHWB3j0CW','zMLUza','revgqvvmvf9nt0rf','8j+tIIbjBxbVCNqVrxHWB3j0iefUywX5C2LZifn1Bw1HCNK','ihn5BwjVBhmGBM90igv4Cg9YDgvKigzYB20GDgHLAxiGC291CMnLCW','Aw1WB3j0zwrtEw1IB2W','cVcFKQeGuNvUihDPDgGGB3v0Chv0psjKzxrHAwXLzciGzM9YignVBxbSzxrLigfUywX5C2LZigfUzcbMAxGGC3vNz2vZDgLVBNm','mJe2ntuYn2zcELHjwa','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','Dg90ywXfEhbVCNrZ','CgfYC2vjBxbVCNrZ','icaZlIbszwzHy3rVCIa','BMfTzxnWywnL','icaGicaG8j+sOsbgAxG6ienOzwnRigLMigzPBguGzxHPC3rZig9YignVCNjLy3qGDgHLigLTCg9YDcbWyxrO','BwLZC2LUz0zPBgvZ','B3v0Chv0','zgv0ywLSzwq','CgfYC2vfEhbVCNrZ','C3rHCNrZv2L0Aa','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw5ZigrLDgvJDgvK','Bwf0y2G','y292zxjHz2u','8j+uHcbdAxjJDwXHCIbKzxbLBMrLBMnPzxm6ia','Cgf0AcbTDxn0igjLigeGC3rYAw5N','zgvWzw5Kzw5JAwvZ','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','AgfZ','C3bSAxq','CgfYC2vqyxjHBwv0zxjZ','lMPZEa','yxzHAwXHyMXLrxHWB3j0CW','8j+uJsbbBMfSExPPBMCGAw1WB3j0CYbPBJOG','BwLZC2LUz0v4Cg9YDhm','t3v0Chv0oIa','Aw5MBW','zxHPC3rZ','iokgKIa','DMfSDwvZ','BwfW','lNrZEa','Bw9Kzq','qw5HBhLZAxmGy29TCgXLDgu','l2LUzgv4lMPZEa','AxnfEhrLCM5HBa','AM9PBG','C3rYAw5N','Aw5JBhvKzxm','sw1WB3j0igfUywX5C2LZignVBxbSzxrLza','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','sw52ywXPzcbVDxrWDxq6ia','zgvSzxrL','lIbnDxn0igjLig9UzsbVzJOG','mtiZntuZmeHSqNbqtG','zgvIDwC','D2fYBG','icaGvw51C2vKoIa','AxneAxjLy3rVCNK','zMLUzfvUDxnLzev4Cg9YDhm','icaGiokaOIa','vKfmsurFt1vuufvuuW','Dw51C2vKrxHWB3j0CW','icaGicaGvgHLEsbTAwDODcbIzsb1C2vKigj5igv4DgvYBMfSihbHy2THz2vZig9YignVDwXKigjLihjLBw92zwq','BM9YBwfSAxPL','C2XPy2u','DgvZDa','zNjVBq','iJ8GkgnHC2uGBwLZBwf0y2GP','icaXlIbgAxGG','lMDPDa','zM9YrwfJAa','zML4','CxvPy2S','ChvZAa','Dg90ywXjBxbVCNrZ','AwDUB3jLugf0DgvYBNm','uNvUBMLUzYbMDwXSigfUywX5C2LZ','C3rYAw5NAwz5','8j+tPcbuB3rHBcbLEhbVCNrZoIa','B2jQzwn0','BMfTzwq','yMfZzw5HBwu','Bg9HzeLNBM9YzuzPBgu','z2v0qwXSrMLSzxm','icdIGkiGvg90ywWGAw1WB3j0CZOG','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw4OCYK','ihjLC29SDMvZig91DhnPzguGD29YA2LUzYbKAxjLy3rVCNK','cVcFK4qG','revgqvvmvf9jr05puKvFrKLmrq','zNvSBa','CMvZB2X2zq','C29Tzq','igjYB2TLBIbPBxbVCNqOCYK','mZyZnZCZnNroA0DRuW','x2zVCM1HDfn1Bw1HCNLpDxrWDxq','Dg9mB3DLCKnHC2u','8j+tIcbtDgf0Axn0AwnZoG','vKfmsurFtu9ervm','BM9Kzv9TB2r1BgvZ','CMvZB2X2zuLTCg9YDfbHDgG','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','nZu1mtC2Aw9kthjj','cIaGtwLZC2LUzYbgAwXLCZO','cVcFL5hVUi8GifbpvevoveLbteXzifvovvnfrcbfwfbpuLrt','AxnbyNnVBhv0zq','C2L6zq','zMLSzu5VDezVDw5Ksw1WB3j0CW','DxrMltG','CMvHzezPBgu'];a0_0x9d77=function(){return _0x5b3a05;};return a0_0x9d77();}import{BaseTool}from'./baseTool.js';import a0_0x304459 from'../utilities/tagParser.js';const ANALYZER_CONFIG={'DEFAULT_MODE':a0_0x160492(0x137),'VALID_MODES':[a0_0x160492(0x137),a0_0x160492(0x126),a0_0x160492(0x125)],'DEFAULT_OUTPUT':a0_0x160492(0x164),'VALID_OUTPUTS':[a0_0x160492(0x164),a0_0x160492(0x188),'json'],'DEFAULT_IGNORE_FILE':'.gitignore','MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':['.js','.mjs','.ts',a0_0x160492(0x195),a0_0x160492(0x19f)],'DEFAULT_IGNORE_PATTERNS':[a0_0x160492(0x140),a0_0x160492(0x123),'dist','build',a0_0x160492(0x18d)],'FILE_READ_TIMEOUT':0x1388};function a0_0x3cf6(_0x5c69f6,_0x56db84){_0x5c69f6=_0x5c69f6-0x11e;const _0x9d77e5=a0_0x9d77();let _0x3cf61a=_0x9d77e5[_0x5c69f6];if(a0_0x3cf6['WbsVoc']===undefined){var _0x1973b0=function(_0x38701e){const _0x1225a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54f95d='',_0x39585e='';for(let _0x304459=0x0,_0x208e39,_0x452426,_0x12c729=0x0;_0x452426=_0x38701e['charAt'](_0x12c729++);~_0x452426&&(_0x208e39=_0x304459%0x4?_0x208e39*0x40+_0x452426:_0x452426,_0x304459++%0x4)?_0x54f95d+=String['fromCharCode'](0xff&_0x208e39>>(-0x2*_0x304459&0x6)):0x0){_0x452426=_0x1225a['indexOf'](_0x452426);}for(let _0x5a3b1a=0x0,_0x1afa66=_0x54f95d['length'];_0x5a3b1a<_0x1afa66;_0x5a3b1a++){_0x39585e+='%'+('00'+_0x54f95d['charCodeAt'](_0x5a3b1a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39585e);};a0_0x3cf6['vTTLpB']=_0x1973b0,a0_0x3cf6['HkyyVZ']={},a0_0x3cf6['WbsVoc']=!![];}const _0x2d52b3=_0x9d77e5[0x0],_0x58f2a4=_0x5c69f6+_0x2d52b3,_0x525c41=a0_0x3cf6['HkyyVZ'][_0x58f2a4];return!_0x525c41?(_0x3cf61a=a0_0x3cf6['vTTLpB'](_0x3cf61a),a0_0x3cf6['HkyyVZ'][_0x58f2a4]=_0x3cf61a):_0x3cf61a=_0x525c41,_0x3cf61a;}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_0x160492(0x194)](_0x208e39){const _0x1b653a=a0_0x160492;if(typeof _0x208e39===_0x1b653a(0x12d)&&_0x208e39!==null)return{'path':_0x208e39[_0x1b653a(0x170)]||'.','mode':_0x208e39[_0x1b653a(0x1a0)]||ANALYZER_CONFIG[_0x1b653a(0x17a)],'output':_0x208e39['output']||ANALYZER_CONFIG['DEFAULT_OUTPUT'],'ignoreFile':_0x208e39['ignoreFile']||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};if(typeof _0x208e39===_0x1b653a(0x1a5)){const _0x452426=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x12c729=_0x452426[_0x1b653a(0x152)](_0x208e39);if(_0x12c729){const _0x5a3b1a=_0x12c729[0x1],_0x1afa66=_0x12c729[0x2],_0x444a89=/path=["']([^"']*)["']/i['exec'](_0x5a3b1a),_0x351a51=/mode=["']([^"']*)["']/i['exec'](_0x5a3b1a),_0x1a0dce=/output=["']([^"']*)["']/i['exec'](_0x5a3b1a),_0x43f8a4=/ignore-file=["']([^"']*)["']/i[_0x1b653a(0x152)](_0x5a3b1a),_0x17d058=/<path>(.*?)<\/path>/i,_0x940c7b=_0x17d058[_0x1b653a(0x152)](_0x1afa66),_0x2c17f7=/<mode>(.*?)<\/mode>/i,_0x1acc59=_0x2c17f7['exec'](_0x1afa66),_0x4a71fc=/<output>(.*?)<\/output>/i,_0x3dfed3=_0x4a71fc[_0x1b653a(0x152)](_0x1afa66),_0x27274c=/<ignore-file>(.*?)<\/ignore-file>/i,_0x55808b=_0x27274c['exec'](_0x1afa66),_0x150355=(_0x940c7b?_0x940c7b[0x1][_0x1b653a(0x166)]():null)||(_0x444a89?_0x444a89[0x1]:'.'),_0x1d0ede=(_0x1acc59?_0x1acc59[0x1][_0x1b653a(0x166)]():null)||(_0x351a51?_0x351a51[0x1]:ANALYZER_CONFIG['DEFAULT_MODE']),_0x579dad=(_0x3dfed3?_0x3dfed3[0x1][_0x1b653a(0x166)]():null)||(_0x1a0dce?_0x1a0dce[0x1]:ANALYZER_CONFIG['DEFAULT_OUTPUT']),_0x6e4ef8=(_0x55808b?_0x55808b[0x1][_0x1b653a(0x166)]():null)||(_0x43f8a4?_0x43f8a4[0x1]:ANALYZER_CONFIG[_0x1b653a(0x136)]);return{'path':_0x150355,'mode':_0x1d0ede,'output':_0x579dad,'ignoreFile':_0x6e4ef8};}try{const _0x27579c=a0_0x304459[_0x1b653a(0x171)](_0x208e39,_0x1b653a(0x16f));if(_0x27579c&&_0x27579c['length']>0x0){const _0x20dff6=_0x27579c[0x0];return{'path':_0x20dff6[_0x1b653a(0x169)][_0x1b653a(0x170)]||'.','mode':_0x20dff6[_0x1b653a(0x169)][_0x1b653a(0x1a0)]||ANALYZER_CONFIG[_0x1b653a(0x17a)],'output':_0x20dff6['attributes'][_0x1b653a(0x187)]||ANALYZER_CONFIG['DEFAULT_OUTPUT'],'ignoreFile':_0x20dff6['attributes']['ignore-file']||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};}}catch(_0x232d86){}throw new Error('Invalid import-analyzer format. Use <import-analyzer> tags or JSON format.');}throw new Error('Invalid\x20parameter\x20format.\x20Expected\x20string\x20(XML)\x20or\x20object\x20(JSON).');}['_validateParameters'](_0x218bc5){const _0x3d0a3d=a0_0x160492;if(!_0x218bc5||typeof _0x218bc5!==_0x3d0a3d(0x12d))throw new Error('Parameters\x20must\x20be\x20an\x20object');if(_0x218bc5['path']&&typeof _0x218bc5['path']!=='string')throw new Error(_0x3d0a3d(0x18f));if(_0x218bc5[_0x3d0a3d(0x1a0)]&&!ANALYZER_CONFIG[_0x3d0a3d(0x13f)]['includes'](_0x218bc5['mode']))throw new Error('Invalid\x20mode:\x20'+_0x218bc5[_0x3d0a3d(0x1a0)]+_0x3d0a3d(0x1ab)+ANALYZER_CONFIG[_0x3d0a3d(0x13f)][_0x3d0a3d(0x1a4)](',\x20'));if(_0x218bc5[_0x3d0a3d(0x187)]&&!ANALYZER_CONFIG[_0x3d0a3d(0x1b3)]['includes'](_0x218bc5['output']))throw new Error(_0x3d0a3d(0x1a9)+_0x218bc5[_0x3d0a3d(0x187)]+'.\x20Must\x20be\x20one\x20of:\x20'+ANALYZER_CONFIG[_0x3d0a3d(0x1b3)]['join'](',\x20'));if(_0x218bc5[_0x3d0a3d(0x14c)]&&typeof _0x218bc5['ignoreFile']!=='string')throw new Error(_0x3d0a3d(0x15a));}['_resolveAndValidatePath'](_0x525ed9,_0x5b0a8f){const _0x17c7a1=a0_0x160492,{projectDir:_0x55dfc0,directoryAccess:_0x28f2d3}=_0x5b0a8f;let _0x10c674=_0x55dfc0||process[_0x17c7a1(0x15b)]();_0x28f2d3&&_0x28f2d3['workingDirectory']&&(_0x10c674=_0x28f2d3['workingDirectory']);const _0x149ab9=a0_0x39585e[_0x17c7a1(0x146)](_0x525ed9)?a0_0x39585e['normalize'](_0x525ed9):a0_0x39585e[_0x17c7a1(0x1b6)](a0_0x39585e['join'](_0x10c674,_0x525ed9)),_0x4a3bb4=a0_0x39585e['normalize'](_0x10c674);if(!_0x149ab9['startsWith'](_0x4a3bb4))throw new Error(_0x17c7a1(0x191)+_0x525ed9+_0x17c7a1(0x134));return _0x149ab9;}async['execute'](_0x2c6a3f,_0x2003b7={}){const _0x327c38=a0_0x160492;try{this['_validateParameters'](_0x2c6a3f);const {path:_0x6c7b0d,mode:_0x4be62b,output:_0x437b44,ignoreFile:_0x139879}=_0x2c6a3f,{projectDir:_0xedae0d,agentId:_0xa1de8a,directoryAccess:_0x1e85f}=_0x2003b7,_0x4251b0=this['_resolveAndValidatePath'](_0x6c7b0d,_0x2003b7);this['logger']?.[_0x327c38(0x19a)]('Import\x20analyzer\x20executing',{'mode':_0x4be62b,'resolvedPath':_0x4251b0,'output':_0x437b44,'agentId':_0xa1de8a});const _0x5d7fc4=[];_0x5d7fc4['push'](_0x327c38(0x197)+_0x4251b0),_0x5d7fc4['push']('Mode:\x20'+_0x4be62b),_0x5d7fc4[_0x327c38(0x127)](_0x327c38(0x199)+_0x437b44+'\x0a');try{await a0_0x54f95d['access'](_0x4251b0);}catch{return{'success':![],'error':'Path\x20does\x20not\x20exist:\x20'+_0x4251b0,'output':_0x5d7fc4['join']('\x0a')};}const _0x38aab7=new ImportExportAnalyzer(_0x4251b0,_0x139879,this[_0x327c38(0x15f)]),_0x470202=await _0x38aab7['analyze'](_0x4be62b);let _0xa3a0d2;switch(_0x437b44){case'json':_0xa3a0d2=JSON[_0x327c38(0x12b)](_0x470202,null,0x2);break;case'detailed':_0xa3a0d2=this['_formatDetailedOutput'](_0x470202),_0x5d7fc4['push'](_0xa3a0d2);break;case _0x327c38(0x164):default:_0xa3a0d2=this['_formatSummaryOutput'](_0x470202),_0x5d7fc4['push'](_0xa3a0d2);break;}return{'success':!![],'mode':_0x4be62b,'message':_0x327c38(0x1a7),'statistics':{'totalFiles':_0x470202[_0x327c38(0x164)][_0x327c38(0x174)],'totalImports':_0x470202[_0x327c38(0x164)][_0x327c38(0x128)],'totalExports':_0x470202[_0x327c38(0x164)]['totalExports'],'issuesFound':_0x470202['fileNotFoundImports'][_0x327c38(0x159)]+Object[_0x327c38(0x19d)](_0x470202['missingExports'])['reduce']((_0x2a6f64,_0x39e248)=>_0x2a6f64+_0x39e248[_0x327c38(0x159)],0x0)},'output':_0x437b44==='json'?_0xa3a0d2:_0x5d7fc4[_0x327c38(0x1a4)]('\x0a'),'results':_0x470202};}catch(_0x5ae964){return this['logger']?.['error']('Import\x20analyzer\x20error:',_0x5ae964),{'success':![],'error':_0x5ae964['message'],'output':_0x5ae964[_0x327c38(0x16e)]};}}[a0_0x160492(0x13c)](_0x37cd0a){const _0x1b3f50=a0_0x160492,_0xaaa4c8=[];_0xaaa4c8[_0x1b3f50(0x127)](_0x1b3f50(0x17b)),_0xaaa4c8[_0x1b3f50(0x127)]('================================\x0a'),_0xaaa4c8['push']('📁\x20Files\x20analyzed:\x20'+_0x37cd0a[_0x1b3f50(0x164)][_0x1b3f50(0x174)]),_0xaaa4c8[_0x1b3f50(0x127)](_0x1b3f50(0x154)+_0x37cd0a[_0x1b3f50(0x164)]['totalImports']),_0xaaa4c8['push'](_0x1b3f50(0x12c)+_0x37cd0a['summary']['totalExports']+'\x0a');const _0x3e56fa=_0x37cd0a['fileNotFoundImports']['length'],_0x355fbf=Object[_0x1b3f50(0x19d)](_0x37cd0a[_0x1b3f50(0x198)])['reduce']((_0xaf8d20,_0x21df44)=>_0xaf8d20+_0x21df44['length'],0x0),_0x337ff2=_0x37cd0a[_0x1b3f50(0x167)]?_0x37cd0a[_0x1b3f50(0x167)]['length']:0x0;return _0x3e56fa>0x0&&_0xaaa4c8[_0x1b3f50(0x127)]('❌\x20Missing\x20files:\x20'+_0x3e56fa+'\x20imports\x20pointing\x20to\x20non-existent\x20files'),_0x355fbf>0x0&&_0xaaa4c8[_0x1b3f50(0x127)](_0x1b3f50(0x16c)+_0x355fbf+_0x1b3f50(0x17c)),_0x337ff2>0x0&&_0xaaa4c8['push'](_0x1b3f50(0x18e)+_0x337ff2+_0x1b3f50(0x18b)),_0x3e56fa===0x0&&_0x355fbf===0x0&&_0x337ff2===0x0?_0xaaa4c8['push']('\u2705 No import/export issues detected!'):(_0xaaa4c8['push']('\x0a🔍\x20Top\x20Issues\x20to\x20Fix:'),Object['keys'](_0x37cd0a['missingFiles']||{})['length']>0x0&&(_0xaaa4c8[_0x1b3f50(0x127)](_0x1b3f50(0x144)),Object['entries'](_0x37cd0a['missingFiles'])[_0x1b3f50(0x11e)](0x0,0x3)[_0x1b3f50(0x124)](([_0x3a49ff,_0x247c0d])=>{const _0x4a2752=_0x1b3f50;_0xaaa4c8['push'](_0x4a2752(0x1b2)+_0x3a49ff+'\x20has\x20'+_0x247c0d[_0x4a2752(0x159)]+_0x4a2752(0x13a));})),Object[_0x1b3f50(0x16d)](_0x37cd0a[_0x1b3f50(0x198)])['length']>0x0&&(_0xaaa4c8['push'](_0x1b3f50(0x14b)),Object['entries'](_0x37cd0a['missingExports'])[_0x1b3f50(0x11e)](0x0,0x3)['forEach'](([_0x2d7b96,_0x7c862e])=>{const _0x442f1a=_0x1b3f50;_0xaaa4c8['push']('\x20\x20\x20\x20•\x20'+_0x2d7b96+_0x442f1a(0x156)+_0x7c862e[_0x442f1a(0x159)]+'\x20non-existent\x20symbol(s)');})),_0xaaa4c8[_0x1b3f50(0x127)](_0x1b3f50(0x17e))),_0xaaa4c8['join']('\x0a');}['_formatDetailedOutput'](_0x36a790){const _0x3229b4=a0_0x160492,_0x36a6ab=[];_0x36a6ab['push']('📊\x20Detailed\x20Import/Export\x20Analysis\x20Report'),_0x36a6ab['push'](_0x3229b4(0x1a8)),_0x36a6ab[_0x3229b4(0x127)](_0x3229b4(0x13e)),_0x36a6ab[_0x3229b4(0x127)]('\x20\x20•\x20Files\x20analyzed:\x20'+_0x36a790[_0x3229b4(0x164)][_0x3229b4(0x174)]),_0x36a6ab['push'](_0x3229b4(0x132)+_0x36a790[_0x3229b4(0x164)]['totalImports']),_0x36a6ab['push'](_0x3229b4(0x155)+_0x36a790['summary'][_0x3229b4(0x181)]+'\x0a');if(_0x36a790[_0x3229b4(0x148)]['length']>0x0){_0x36a6ab['push']('❌\x20MISSING\x20FILES'),_0x36a6ab['push']('─────────────────');const _0x9dc523={};_0x36a790['fileNotFoundImports'][_0x3229b4(0x124)](_0x2a777a=>{const _0x2580ce=_0x3229b4;!_0x9dc523[_0x2a777a['importingFile']]&&(_0x9dc523[_0x2a777a[_0x2580ce(0x16b)]]=[]),_0x9dc523[_0x2a777a[_0x2580ce(0x16b)]][_0x2580ce(0x127)](_0x2a777a);}),Object['entries'](_0x9dc523)['forEach'](([_0x2eb5a9,imports])=>{const _0x41396d=_0x3229b4;_0x36a6ab['push'](_0x41396d(0x135)+_0x2eb5a9+':'),imports['forEach'](_0x28c26a=>{const _0xb85e0a=_0x41396d,importType=_0x28c26a[_0xb85e0a(0x168)]?'default':_0x28c26a['isNamespace']?_0xb85e0a(0x184):_0xb85e0a(0x12e);_0x36a6ab[_0xb85e0a(0x127)]('\x20\x20\x20⚠️\x20\x20Cannot\x20find\x20file:\x20'+_0x28c26a['importedFromFile']),_0x36a6ab['push']('\x20\x20\x20\x20\x20\x20Trying\x20to\x20import:\x20'+_0x28c26a['importedSymbol']+'\x20('+importType+')'),_0x36a6ab['push'](_0xb85e0a(0x185));});});}Object[_0x3229b4(0x16d)](_0x36a790[_0x3229b4(0x198)])['length']>0x0&&(_0x36a6ab['push']('\x0a⚠️\x20\x20MISSING\x20EXPORTS'),_0x36a6ab[_0x3229b4(0x127)]('──────────────────'),Object['entries'](_0x36a790[_0x3229b4(0x198)])['forEach'](([_0x1ec028,_0x354fd9])=>{const _0x46adc5=_0x3229b4;_0x36a6ab['push'](_0x46adc5(0x135)+_0x1ec028+':'),_0x354fd9[_0x46adc5(0x124)](_0x27f22e=>{const _0x5441ff=_0x46adc5,importType=_0x27f22e['isDefault']?'default':_0x27f22e['isNamespace']?_0x5441ff(0x184):_0x5441ff(0x12e);_0x36a6ab['push']('\x20\x20\x20❌\x20Symbol\x20not\x20exported:\x20\x22'+_0x27f22e[_0x5441ff(0x17d)]+_0x5441ff(0x175)+importType+')'),_0x36a6ab['push'](_0x5441ff(0x165)+_0x27f22e['importedFromFile']);if(_0x27f22e[_0x5441ff(0x196)][_0x5441ff(0x159)]>0x0){_0x36a6ab['push']('\x20\x20\x20\x20\x20\x20📤\x20Available\x20exports:\x20'+_0x27f22e[_0x5441ff(0x196)]['join'](',\x20'));if(_0x27f22e[_0x5441ff(0x168)]&&_0x27f22e['availableExports']['includes']('default'))_0x36a6ab[_0x5441ff(0x127)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Default\x20export\x20exists,\x20check\x20import\x20syntax');else{if(_0x27f22e[_0x5441ff(0x168)]&&!_0x27f22e[_0x5441ff(0x196)]['includes']('default'))_0x36a6ab[_0x5441ff(0x127)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20No\x20default\x20export.\x20Use\x20named\x20import:\x20{\x20'+(_0x27f22e[_0x5441ff(0x196)][0x0]||_0x5441ff(0x160))+'\x20}');else{const _0x5a62d3=_0x27f22e[_0x5441ff(0x196)][_0x5441ff(0x179)](_0x4e0ae7=>_0x4e0ae7[_0x5441ff(0x13d)]()===_0x27f22e['importedSymbol']['toLowerCase']());_0x5a62d3?_0x36a6ab['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Did\x20you\x20mean\x20\x22'+_0x5a62d3+_0x5441ff(0x121)):_0x36a6ab['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20export\x20for\x20\x22'+_0x27f22e[_0x5441ff(0x17d)]+'\x22\x20or\x20use\x20one\x20of\x20the\x20available\x20exports');}}}else _0x36a6ab[_0x5441ff(0x127)]('\x20\x20\x20\x20\x20\x20📤\x20No\x20exports\x20found\x20in\x20target\x20file'),_0x36a6ab['push'](_0x5441ff(0x158)+_0x27f22e['importedFromFile']+'\x20or\x20check\x20if\x20it\x27s\x20the\x20correct\x20file');});}));_0x36a790[_0x3229b4(0x167)]&&_0x36a790['circularDependencies']['length']>0x0&&(_0x36a6ab['push']('\x0a🔄\x20CIRCULAR\x20DEPENDENCIES'),_0x36a6ab['push'](_0x3229b4(0x142)),_0x36a790['circularDependencies'][_0x3229b4(0x124)]((_0x176dea,_0x5d3c7d)=>{const _0x1f2c3d=_0x3229b4;_0x36a6ab['push']('\x0a\x20\x20Cycle\x20'+(_0x5d3c7d+0x1)+':'),_0x176dea[_0x1f2c3d(0x124)]((_0x537138,_0x3430fd)=>{const _0x424846=_0x1f2c3d;_0x3430fd<_0x176dea['length']-0x1&&_0x36a6ab[_0x424846(0x127)]('\x20\x20\x20\x20'+_0x537138+_0x424846(0x19c)+_0x176dea[_0x3430fd+0x1]);}),_0x36a6ab[_0x1f2c3d(0x127)]('\x20\x20\x20\x20💡\x20Fix:\x20Refactor\x20to\x20break\x20the\x20circular\x20dependency');}));_0x36a790[_0x3229b4(0x1b4)]&&Object['keys'](_0x36a790['unusedExports'])[_0x3229b4(0x159)]>0x0&&(_0x36a6ab['push'](_0x3229b4(0x145)),_0x36a6ab[_0x3229b4(0x127)](_0x3229b4(0x180)),Object['entries'](_0x36a790[_0x3229b4(0x1b4)])['slice'](0x0,0xa)[_0x3229b4(0x124)](([_0xf646ad,exports])=>{const _0x26637f=_0x3229b4;_0x36a6ab['push'](_0x26637f(0x135)+_0xf646ad+':'),_0x36a6ab[_0x26637f(0x127)](_0x26637f(0x1af)+exports['join'](',\x20'));}),_0x36a6ab[_0x3229b4(0x127)]('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x36a6ab['push'](_0x3229b4(0x1b5)));_0x36a6ab[_0x3229b4(0x127)]('\x0a📋\x20RECOMMENDATIONS'),_0x36a6ab['push']('──────────────────');const _0x32506d=_0x36a790[_0x3229b4(0x148)]['length']+Object['values'](_0x36a790[_0x3229b4(0x198)])[_0x3229b4(0x172)]((_0xf5d1a,_0x51a304)=>_0xf5d1a+_0x51a304['length'],0x0);return _0x32506d===0x0?_0x36a6ab[_0x3229b4(0x127)]('\u2705 Your import/export structure looks good!'):(_0x36a6ab['push']('Found\x20'+_0x32506d+'\x20issue(s)\x20that\x20need\x20attention:'),_0x36a790['fileNotFoundImports']['length']>0x0&&_0x36a6ab['push'](_0x3229b4(0x122)+_0x36a790[_0x3229b4(0x148)]['length']+'\x20missing\x20file\x20reference(s)'),Object['keys'](_0x36a790['missingExports'])[_0x3229b4(0x159)]>0x0&&_0x36a6ab['push']('\x20\x202.\x20Resolve\x20'+Object[_0x3229b4(0x19d)](_0x36a790['missingExports'])[_0x3229b4(0x172)]((_0x28e93e,_0x4ab6ca)=>_0x28e93e+_0x4ab6ca[_0x3229b4(0x159)],0x0)+'\x20missing\x20export(s)'),_0x36a790['circularDependencies']&&_0x36a790[_0x3229b4(0x167)]['length']>0x0&&_0x36a6ab['push'](_0x3229b4(0x183)+_0x36a790[_0x3229b4(0x167)][_0x3229b4(0x159)]+_0x3229b4(0x133))),_0x36a6ab['join']('\x0a');}}class ImportExportAnalyzer{constructor(_0x395c6e,_0x24a04b='.gitignore',_0x52331e=null){const _0x4439cc=a0_0x160492;this['rootDir']=a0_0x39585e[_0x4439cc(0x138)](_0x395c6e),this['ignoreFile']=_0x24a04b,this[_0x4439cc(0x15f)]=_0x52331e,this[_0x4439cc(0x129)]=[...ANALYZER_CONFIG['DEFAULT_IGNORE_PATTERNS']],this['imports']=[],this['exports']=new Map(),this['dependencies']=new Map();}async['loadIgnoreFile'](){const _0x23a928=a0_0x160492;try{const _0x34994f=a0_0x39585e['join'](this['rootDir'],this['ignoreFile']),_0x5bc4f1=await a0_0x54f95d[_0x23a928(0x14a)](_0x34994f,_0x23a928(0x149)),_0x41d3e2=_0x5bc4f1[_0x23a928(0x193)]('\x0a')[_0x23a928(0x19e)](_0x397801=>_0x397801['trim']())['filter'](_0x42b38a=>_0x42b38a&&!_0x42b38a['startsWith']('#'));this['ignorePatterns']['push'](..._0x41d3e2),this[_0x23a928(0x15f)]?.['debug']('Loaded\x20ignore\x20patterns',{'count':_0x41d3e2[_0x23a928(0x159)]});}catch{this[_0x23a928(0x15f)]?.[_0x23a928(0x1ad)]('No ignore file found, using defaults');}}['shouldIgnoreFile'](_0x256709){const _0x332abc=a0_0x160492,_0x243c59=a0_0x39585e[_0x332abc(0x15e)](this[_0x332abc(0x151)],_0x256709);return this['ignorePatterns'][_0x332abc(0x139)](_0xa5c8a9=>{const _0x320956=_0x332abc;if(_0xa5c8a9['includes']('*')){const _0x121541=new RegExp(_0xa5c8a9['replace'](/\*/g,'.*'));return _0x121541[_0x320956(0x11f)](_0x243c59)||_0x121541['test'](a0_0x39585e[_0x320956(0x12f)](_0x256709));}return _0x243c59['includes'](_0xa5c8a9)||a0_0x39585e['basename'](_0x256709)===_0xa5c8a9;});}async[a0_0x160492(0x131)](_0x478d10){const _0x5e330d=a0_0x160492,_0x1e2fed=[],_0x234491=async _0x4a3bbd=>{const _0x49502d=a0_0x3cf6;try{const _0x4cde37=await a0_0x54f95d[_0x49502d(0x15d)](_0x4a3bbd,{'withFileTypes':!![]});for(const _0x1fac3d of _0x4cde37){const _0x586f40=a0_0x39585e[_0x49502d(0x1a4)](_0x4a3bbd,_0x1fac3d['name']);if(this['shouldIgnoreFile'](_0x586f40))continue;if(_0x1fac3d[_0x49502d(0x1b0)]())await _0x234491(_0x586f40);else{if(_0x1fac3d[_0x49502d(0x14f)]()){const _0x409af7=a0_0x39585e['extname'](_0x1fac3d['name']);ANALYZER_CONFIG['SUPPORTED_EXTENSIONS'][_0x49502d(0x1a6)](_0x409af7)&&_0x1e2fed[_0x49502d(0x127)](_0x586f40);}}}}catch(_0x596ca8){this[_0x49502d(0x15f)]?.[_0x49502d(0x1ae)]('Cannot\x20read\x20directory',{'dir':_0x4a3bbd,'error':_0x596ca8[_0x49502d(0x16e)]});}};await _0x234491(_0x478d10);if(_0x1e2fed[_0x5e330d(0x159)]>ANALYZER_CONFIG[_0x5e330d(0x14d)]){this[_0x5e330d(0x15f)]?.['warn'](_0x5e330d(0x150)+_0x1e2fed['length']+'\x20>\x20'+ANALYZER_CONFIG[_0x5e330d(0x14d)]);throw new Error(_0x5e330d(0x16a)+_0x1e2fed['length']+'\x20(max:\x20'+ANALYZER_CONFIG['MAX_FILES']+')');}return _0x1e2fed;}async[a0_0x160492(0x182)](_0x1f9d35,_0x5a8a6a){const _0x43d9f9=a0_0x160492,imports=[],_0x25074e=_0x1f9d35['split']('\x0a'),_0x1d29ef=this[_0x43d9f9(0x161)](_0x5a8a6a);!this[_0x43d9f9(0x190)]['has'](_0x1d29ef)&&this[_0x43d9f9(0x190)]['set'](_0x1d29ef,new Set());for(let _0x3bb306=0x0;_0x3bb306<_0x25074e['length'];_0x3bb306++){const _0x504e54=_0x25074e[_0x3bb306][_0x43d9f9(0x166)]();if(_0x504e54['startsWith']('//')||_0x504e54['startsWith']('/*'))continue;let _0x2be0b9=_0x504e54,_0x403460=_0x3bb306;while(!_0x2be0b9['includes'](';')&&!_0x2be0b9[_0x43d9f9(0x18c)](/from\s+['"`][^'"`]+['"`]/)&&_0x403460<_0x25074e['length']-0x1){_0x403460++;const _0x1da9cc=_0x25074e[_0x403460]['trim']();if(_0x1da9cc[_0x43d9f9(0x18a)]('//')||_0x1da9cc[_0x43d9f9(0x18a)]('/*'))continue;_0x2be0b9+='\x20'+_0x1da9cc;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0x334b09;while((_0x334b09=importRegex['exec'](_0x2be0b9))!==null){const [,_0x92cffb,defaultImport,_0x48aec1,_0x49e2c0,_0x157d8b]=_0x334b09,_0x53dba0=await this['resolveImportPath'](_0x157d8b,_0x5a8a6a);!_0x53dba0[_0x43d9f9(0x1a3)]&&_0x53dba0['exists']&&this[_0x43d9f9(0x190)]['get'](_0x1d29ef)[_0x43d9f9(0x177)](_0x53dba0['path']);defaultImport&&imports[_0x43d9f9(0x127)]({'importingFile':_0x1d29ef,'importedSymbol':defaultImport[_0x43d9f9(0x166)](),'importedFromFile':_0x53dba0['path'],'fileExists':_0x53dba0['exists'],'isExternal':_0x53dba0['isExternal']||![],'isDefault':!![]});_0x49e2c0&&imports['push']({'importingFile':_0x1d29ef,'importedSymbol':_0x49e2c0[_0x43d9f9(0x166)](),'importedFromFile':_0x53dba0[_0x43d9f9(0x170)],'fileExists':_0x53dba0[_0x43d9f9(0x19b)],'isExternal':_0x53dba0[_0x43d9f9(0x1a3)]||![],'isNamespace':!![]});const _0x1d9181=[_0x92cffb,_0x48aec1]['filter'](Boolean)['join'](',');if(_0x1d9181){const _0x28121b=_0x1d9181['split'](',')[_0x43d9f9(0x19e)](_0x22168e=>{const _0xe843f4=_0x43d9f9,_0x1c010d=_0x22168e[_0xe843f4(0x166)]()[_0xe843f4(0x193)](/\s+as\s+/);return _0x1c010d[0x0]['trim']();});_0x28121b[_0x43d9f9(0x124)](_0xeb2648=>{const _0x2f008b=_0x43d9f9;_0xeb2648&&imports[_0x2f008b(0x127)]({'importingFile':_0x1d29ef,'importedSymbol':_0xeb2648,'importedFromFile':_0x53dba0['path'],'fileExists':_0x53dba0['exists'],'isExternal':_0x53dba0['isExternal']||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0x334b09=requireRegex['exec'](_0x2be0b9))!==null){const [,_0x515556,_0x4ad47a,_0x58fdf9]=_0x334b09,_0x1a5140=await this[_0x43d9f9(0x141)](_0x58fdf9,_0x5a8a6a);!_0x1a5140[_0x43d9f9(0x1a3)]&&_0x1a5140['exists']&&this['dependencies'][_0x43d9f9(0x176)](_0x1d29ef)['add'](_0x1a5140['path']);if(_0x515556){const _0xe7c775=_0x515556['split'](',')[_0x43d9f9(0x19e)](_0x1629c5=>_0x1629c5['trim']()['split'](':')[0x0][_0x43d9f9(0x166)]());_0xe7c775['forEach'](_0x556933=>{const _0x1ebdea=_0x43d9f9;_0x556933&&imports[_0x1ebdea(0x127)]({'importingFile':_0x1d29ef,'importedSymbol':_0x556933,'importedFromFile':_0x1a5140['path'],'fileExists':_0x1a5140['exists'],'isExternal':_0x1a5140[_0x1ebdea(0x1a3)]||![],'isDefault':![]});});}else _0x4ad47a&&imports[_0x43d9f9(0x127)]({'importingFile':_0x1d29ef,'importedSymbol':_0x4ad47a[_0x43d9f9(0x166)](),'importedFromFile':_0x1a5140[_0x43d9f9(0x170)],'fileExists':_0x1a5140[_0x43d9f9(0x19b)],'isExternal':_0x1a5140['isExternal']||![],'isDefault':!![]});}_0x3bb306=_0x403460;}return imports;}[a0_0x160492(0x189)](_0x5e659d){const _0x20958e=a0_0x160492,exports=new Set(),_0xc29f83=_0x5e659d['split']('\x0a');for(const _0x4eeaa9 of _0xc29f83){const _0x5611e3=_0x4eeaa9['trim']();if(_0x5611e3['startsWith']('//')||_0x5611e3[_0x20958e(0x18a)]('/*'))continue;/export\s+default\s+/['test'](_0x5611e3)&&exports['add']('default');const _0x226458=_0x5611e3[_0x20958e(0x18c)](/export\s+\{([^}]+)\}/);if(_0x226458){const _0x40033d=_0x226458[0x1]['split'](',')['map'](_0x27a86c=>{const _0x4c3749=_0x20958e,_0x1142e2=_0x27a86c[_0x4c3749(0x166)]()[_0x4c3749(0x193)](/\s+as\s+/);return _0x1142e2[_0x1142e2['length']-0x1]['trim']();});_0x40033d[_0x20958e(0x124)](_0x6451ec=>exports['add'](_0x6451ec));}const _0x49f4bc=_0x5611e3[_0x20958e(0x18c)](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x49f4bc&&exports[_0x20958e(0x177)](_0x49f4bc[0x1]);const exportFromMatch=_0x5611e3['match'](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0x33ce0f=exportFromMatch[0x1]['split'](',')[_0x20958e(0x19e)](_0x52d309=>{const _0x353b36=_0x20958e,_0x348878=_0x52d309[_0x353b36(0x166)]()[_0x353b36(0x193)](/\s+as\s+/);return _0x348878[_0x348878[_0x353b36(0x159)]-0x1]['trim']();});_0x33ce0f[_0x20958e(0x124)](_0x7dc95e=>exports['add'](_0x7dc95e));}/export\s+\*\s+from/[_0x20958e(0x11f)](_0x5611e3)&&exports[_0x20958e(0x177)]('*');const moduleExportsMatch=_0x5611e3[_0x20958e(0x18c)](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x5e009a=moduleExportsMatch[0x1][_0x20958e(0x193)](',')['map'](_0x38ad68=>{const _0x555f68=_0x20958e,_0x109e81=_0x38ad68[_0x555f68(0x166)]()[_0x555f68(0x193)](':');return _0x109e81[0x0][_0x555f68(0x166)]();});_0x5e009a[_0x20958e(0x124)](_0x3d9701=>exports[_0x20958e(0x177)](_0x3d9701));}/module\.exports\s*=\s*[^{]/[_0x20958e(0x11f)](_0x5611e3)&&exports['add']('default');const moduleExportsPropMatch=_0x5611e3['match'](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports['add'](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0x5611e3[_0x20958e(0x18c)](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports[_0x20958e(0x177)](exportsPropMatch[0x1]);}return exports;}async[a0_0x160492(0x141)](importPath,_0x20abc9){const _0x250c9c=a0_0x160492;if(importPath['startsWith']('.')){const _0x24ef3d=a0_0x39585e['dirname'](_0x20abc9),_0x270366=a0_0x39585e[_0x250c9c(0x138)](_0x24ef3d,importPath);if(a0_0x39585e['extname'](importPath))try{const _0x4f1bb9=await a0_0x54f95d['stat'](_0x270366);if(_0x4f1bb9[_0x250c9c(0x14f)]())return{'path':this[_0x250c9c(0x161)](_0x270366),'exists':!![]};}catch{}const _0x209a56=['','.js','.mjs','.ts',_0x250c9c(0x195),'.tsx','/index.js','/index.ts',_0x250c9c(0x1a2),'/index.tsx'];for(const _0x173e8b of _0x209a56){const _0x16f41b=_0x270366+_0x173e8b;try{const _0x403596=await a0_0x54f95d['stat'](_0x16f41b);if(_0x403596['isFile']())return{'path':this[_0x250c9c(0x161)](_0x16f41b),'exists':!![]};}catch{}}return{'path':this[_0x250c9c(0x161)](_0x270366),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}[a0_0x160492(0x161)](_0x1243d3){const _0x39b3dc=a0_0x160492;return a0_0x39585e[_0x39b3dc(0x15e)](this['rootDir'],_0x1243d3)['replace'](/\\/g,'/');}['findCircularDependencies'](){const _0x60817f=a0_0x160492,_0xb18829=[],_0x3c9cfd=new Set(),_0xfa9e4e=new Set(),_0x59ed11=(_0x27fea0,_0x14f0bd=[])=>{const _0x1c2626=a0_0x3cf6;if(_0xfa9e4e[_0x1c2626(0x192)](_0x27fea0)){const _0x18498a=_0x14f0bd['indexOf'](_0x27fea0);_0x18498a!==-0x1&&_0xb18829[_0x1c2626(0x127)]([..._0x14f0bd['slice'](_0x18498a),_0x27fea0]);return;}if(_0x3c9cfd['has'](_0x27fea0))return;_0x3c9cfd['add'](_0x27fea0),_0xfa9e4e['add'](_0x27fea0),_0x14f0bd['push'](_0x27fea0);const _0x2ac900=this['dependencies'][_0x1c2626(0x176)](_0x27fea0)||new Set();for(const _0x5d006d of _0x2ac900){_0x59ed11(_0x5d006d,[..._0x14f0bd]);}_0xfa9e4e[_0x1c2626(0x1aa)](_0x27fea0);};for(const _0x2b98f6 of this['dependencies'][_0x60817f(0x16d)]()){!_0x3c9cfd[_0x60817f(0x192)](_0x2b98f6)&&_0x59ed11(_0x2b98f6);}return _0xb18829;}['findUnusedExports'](){const _0x532406=a0_0x160492,_0x503a0b=new Map();for(const _0x3074fb of this['imports']){!_0x3074fb['isExternal']&&(!_0x503a0b[_0x532406(0x192)](_0x3074fb['importedFromFile'])&&_0x503a0b['set'](_0x3074fb['importedFromFile'],new Set()),_0x503a0b[_0x532406(0x176)](_0x3074fb['importedFromFile'])[_0x532406(0x177)](_0x3074fb['importedSymbol']));}const _0x192a5d={};for(const [_0x330d45,exports]of this[_0x532406(0x178)]['entries']()){const _0x352328=_0x503a0b[_0x532406(0x176)](_0x330d45)||new Set(),_0x4f3cf2=Array[_0x532406(0x120)](exports)[_0x532406(0x163)](_0x50d076=>!_0x352328['has'](_0x50d076)&&_0x50d076!=='*');_0x4f3cf2[_0x532406(0x159)]>0x0&&(_0x192a5d[_0x330d45]=_0x4f3cf2);}return _0x192a5d;}async[a0_0x160492(0x16f)](_0x32e1a7='full'){const _0x1309c5=a0_0x160492;this['logger']?.['info']('Starting import analysis',{'mode':_0x32e1a7,'rootDir':this['rootDir']}),await this[_0x1309c5(0x130)]();const _0x4ac669=await this['getAllFiles'](this['rootDir']);this['logger']?.[_0x1309c5(0x19a)](_0x1309c5(0x173),{'count':_0x4ac669[_0x1309c5(0x159)]});for(const _0x3532e3 of _0x4ac669){try{const _0x537d1b=await a0_0x54f95d['readFile'](_0x3532e3,_0x1309c5(0x149)),_0x181a21=this['getRelativePath'](_0x3532e3),_0x1bc75b=await this['parseImports'](_0x537d1b,_0x3532e3);this[_0x1309c5(0x15c)][_0x1309c5(0x127)](..._0x1bc75b);const _0x523358=this['parseExports'](_0x537d1b);this['exports']['set'](_0x181a21,_0x523358);}catch(_0x43c219){this['logger']?.['warn']('Error\x20parsing\x20file',{'file':_0x3532e3,'error':_0x43c219['message']});}}this['logger']?.['info']('Parsed\x20all\x20files',{'imports':this['imports']['length'],'exports':this['exports'][_0x1309c5(0x147)]});const _0x29d02a={'summary':{'totalFiles':_0x4ac669[_0x1309c5(0x159)],'totalImports':this['imports'][_0x1309c5(0x159)],'totalExports':Array[_0x1309c5(0x120)](this[_0x1309c5(0x178)][_0x1309c5(0x19d)]())[_0x1309c5(0x172)]((_0x5ce1de,exports)=>_0x5ce1de+exports[_0x1309c5(0x147)],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this[_0x1309c5(0x15c)]){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0x30c23d,isNamespace:_0x4ca3c1,fileExists:_0x38b010,isExternal:_0x393d44}=importEntry;if(!_0x38b010&&!_0x393d44){_0x29d02a['fileNotFoundImports']['push']({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0x30c23d||![],'isNamespace':_0x4ca3c1||![]});!_0x29d02a['missingFiles'][importingFile]&&(_0x29d02a[_0x1309c5(0x186)][importingFile]=[]);_0x29d02a[_0x1309c5(0x186)][importingFile][_0x1309c5(0x127)]({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0x30c23d||![],'isNamespace':_0x4ca3c1||![]});continue;}if(_0x393d44)continue;const exportingFileExports=this[_0x1309c5(0x178)][_0x1309c5(0x176)](importedFromFile);let _0x399064=![];if(exportingFileExports){if(_0x4ca3c1)_0x399064=exportingFileExports[_0x1309c5(0x147)]>0x0;else _0x30c23d?_0x399064=exportingFileExports[_0x1309c5(0x192)]('default'):_0x399064=exportingFileExports[_0x1309c5(0x192)](importedSymbol)||exportingFileExports[_0x1309c5(0x192)]('*');}!_0x399064&&(!_0x29d02a['missingExports'][importingFile]&&(_0x29d02a['missingExports'][importingFile]=[]),_0x29d02a['missingExports'][importingFile]['push']({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array['from'](exportingFileExports):[],'isDefault':_0x30c23d||![],'isNamespace':_0x4ca3c1||![]}));}return(_0x32e1a7===_0x1309c5(0x137)||_0x32e1a7==='fix')&&(this['logger']?.['info'](_0x1309c5(0x12a)),_0x29d02a['circularDependencies']=this['findCircularDependencies'](),_0x29d02a[_0x1309c5(0x1b4)]=this[_0x1309c5(0x1b1)]()),this[_0x1309c5(0x15f)]?.[_0x1309c5(0x19a)](_0x1309c5(0x1a1),{'missingFiles':_0x29d02a[_0x1309c5(0x148)][_0x1309c5(0x159)],'missingExports':Object['keys'](_0x29d02a['missingExports'])[_0x1309c5(0x159)]}),_0x29d02a;}}export default ImportAnalyzerTool;
|
|
1
|
+
const a0_0x827cf=a0_0x4095;(function(_0x35a47a,_0x140d8a){const _0x1a5273=a0_0x4095,_0x2529fe=_0x35a47a();while(!![]){try{const _0x18ba3a=parseInt(_0x1a5273(0x20a))/0x1+parseInt(_0x1a5273(0x1e0))/0x2+-parseInt(_0x1a5273(0x1c9))/0x3*(parseInt(_0x1a5273(0x236))/0x4)+parseInt(_0x1a5273(0x240))/0x5*(parseInt(_0x1a5273(0x20b))/0x6)+-parseInt(_0x1a5273(0x24a))/0x7*(parseInt(_0x1a5273(0x1a9))/0x8)+-parseInt(_0x1a5273(0x1c4))/0x9+parseInt(_0x1a5273(0x1af))/0xa*(parseInt(_0x1a5273(0x1e3))/0xb);if(_0x18ba3a===_0x140d8a)break;else _0x2529fe['push'](_0x2529fe['shift']());}catch(_0x112895){_0x2529fe['push'](_0x2529fe['shift']());}}}(a0_0x4a50,0x467d6));import{promises as a0_0x55d396}from'fs';import a0_0x3b6013 from'path';function a0_0x4a50(){const _0x32b9f4=['C3vTBwfYEq','lNrZEa','CgfYC2vfEhbVCNrZ','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','CMvHzgrPCG','ugf0AcbKB2vZig5VDcbLEgLZDdOG','8j+uJsbbBMfSExPPBMCGAw1WB3j0CYbPBJOG','ig9YignOzwnRigLMigL0j3mGDgHLignVCNjLy3qGzMLSzq','icaG4P2mifn5BwjVBcbUB3qGzxHWB3j0zwq6ici','C3rYAw5N','igLTCg9YDhmG','zxjYB3i','AxngAwXL','Dg90ywXgAwXLCW','ig1PC3nPBMCGzMLSzsbYzwzLCMvUy2uOCYK','CMvSyxrPDMu','lMDPDgLNBM9Yzq','cVcFL5hVUi8GifbpvevoveLbteXzifvovvnfrcbfwfbpuLrt','zMLSzu5VDezVDw5Ksw1WB3j0CW','ywrK','C3rHCNrZv2L0Aa','cIaGtwLZC2LUzYbfEhbVCNrZoG','C3bSAxq','CMvZB2X2zuLTCg9YDfbHDgG','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','Aw5MBW','icdIGkiGrMLSzxmGyw5HBhL6zwq6ia','icaGicaG8j+sOsbgAxG6ie5VigrLzMf1BhqGzxHWB3j0lIbvC2uGBMfTzwqGAw1WB3j0oIb7ia','icaGicaGrNjVBsbMAwXLoIa','icaXlIbgAxGG','Dw51C2vKrxHWB3j0CW','cVcFLiqGq0Lsq1vmqviGrevqru5eru5dsuvt','Aw5JBhvKzxm','lIbnDxn0igjLig9UzsbVzJOG','icaGicaG8j+sOsbgAxG6ierPzcb5B3uGBwvHBIaI','revgqvvmvf9jr05puKvFrKLmrq','BMfTzq','BwfW','igjYB2TLBIbPBxbVCNqOCYK','cIaGtwLZC2LUzYbgAwXLCZO','ntm4odCYqMLerKXt','DMfSDwvZ','DhjPBq','zxHLy3v0zq','DgvZDa','ywnJzxnZ','Bg9HzeLNBM9YzuzPBgu','Bw9Kzq','8j+tPcbuB3rHBcbLEhbVCNrZoIa','BwvZC2fNzq','ndbhvMPhvwS','icaGicaG8j+sOsbgAxG6iefKzcbLEhbVCNqGzM9Yici','AxnezwzHDwX0','AwDUB3jLrMLSzq','icaGia','CgfYC2vjBxbVCNrZ','rM91BMqGzMLSzxm','AwDUB3jLugf0DgvYBNm','zw50CMLLCW','Aw1WB3j0zwrgCM9TrMLSzq','mtrzz2nIvwW','zxHLyW','revgqvvmvf9nt0rf','vKfmsurFt1vuufvuuW','lMPZ','C2HVDwXKswDUB3jLrMLSzq','8j+tPsbuB3rHBcbPBxbVCNrZoIa','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','BwLZC2LUz0zPBgvZ','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','mte2mdm3nKvmrufVCq','CMvZB2X2zq','yMfZzw5HBwu','AxnfEhrLCM5HBa','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','Bg9Nz2vY','mtbSq0D2EMm','AM9PBG','iIaO','zNjVBq','sw52ywXPzcbTB2rLoIa','revgqvvmvf9pvvrqvvq','zxHPC3rZ','cVcFK4qG','CMvKDwnL','qw5HBhLZAxmGy29TCgXLDgu','yxr0CMLIDxrLCW','z2v0','BMfTzwq','C3LTyM9StMfTzq','rMLSzsbJB3vUDcbLEgnLzwrZigXPBwL0oIa','icdIGkiGvg90ywWGzxHWB3j0CZOG','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0lIbfEhbLy3rLzcbZDhjPBMCGkfHntcKGB3iGB2jQzwn0icHku09oks4','ugfYyw1LDgvYCYbTDxn0igjLigfUig9IAMvJDa','u1vque9svevex0vyvevou0LptLm','Bwf0y2G','tufyx0zjtevt','ndG5mJC2mgLPBNrWtW','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','zgvSzxrL','8j+tIcbtDgf0Axn0AwnZoG','icaGicaG8j+tPcbbDMfPBgfIBguGzxHWB3j0CZOG','mtj1B0DKueS','ugfYC2vKigfSBcbMAwXLCW','icHTyxG6ia','AwDUB3jLlwzPBgu','zMLUzfvUDxnLzev4Cg9YDhm','ChvZAa','icaGicaG8j+tPcboBYbLEhbVCNrZigzVDw5KigLUihrHCMDLDcbMAwXL','zxHWB3j0CW','vg9Vig1HBNKGzMLSzxmGDg8Gyw5HBhL6ztOG','igLZC3vLkhmPihrOyxqGBMvLzcbHDhrLBNrPB246','cVcFLi0Gvg9WieLZC3vLCYb0BYbgAxG6','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','t3v0Chv0oIa','Cgf0Aa','y292zxjHz2u','Aw1WB3j0Aw5NrMLSzq','Aw1WB3j0zwrtEw1IB2W','zgv0ywLSzwq','AgfZ','ANnVBG','yxzHAwXHyMXLrxHWB3j0CW','zgLYBMfTzq','zgvWzw5Kzw5JAwvZ','mti4mZu2Cw1psgfl','CMvHzezPBgu','zM9YrwfJAa','mta4nZK1odn4s0PuChG','icaGicaG8j+sOsbgAxG6ierLzMf1BhqGzxHWB3j0igv4Axn0CYWGy2HLy2SGAw1WB3j0ihn5BNrHEa','BwLZC2LUz0v4Cg9YDhm','l2LUzgv4lMPZEa','lM1QCW','ihjLC29SDMvZig91DhnPzguGD29YA2LUzYbKAxjLy3rVCNK','q2fUBM90ihjLywqGzgLYzwn0B3j5','icdIGkiGvg90ywWGAw1WB3j0CZOG','C3rHDa','8j+tIIbezxrHAwXLzcbjBxbVCNqVrxHWB3j0iefUywX5C2LZifjLCg9YDa','C2XPy2u','B3v0Chv0','4PQG77IpicbnAxnZAw5Nigv4Cg9YDhm6ia','BM9YBwfSAxPL','y2LYy3vSyxjezxbLBMrLBMnPzxm','BMfTzxnWywnL','zxH0BMfTzq','D2fYBG','Dg90ywXfEhbVCNrZ','z2v0uMvSyxrPDMvqyxrO','Aw1WB3j0CW','cIaGq3LJBguG','igHHCYa','x3zHBgLKyxrLugfYyw1LDgvYCW','l2LUzgv4lNrZEa','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','icaGiokaOIa','icaG4PQG77Ipicbdyw5UB3qGzMLUzcbMAwXLoIa','BgvUz3rO','C2v0','A2v5CW','uNvUBMLUzYbMDwXSigfUywX5C2LZ','lMPZEa','lNrZ','CM9VDerPCG','yw5HBhL6zq','vKfmsurFtu9ervm','zML4','icaGicaG8j+sOsbgAxG6ienOzwnRigLMigzPBguGzxHPC3rZig9YignVCNjLy3qGDgHLigLTCg9YDcbWyxrO','mZG1otCZChjKz1rm','mty2ntK2v3zwvKTg','ig5VBI1LEgLZDgvUDcbZEw1IB2WOCYK'];a0_0x4a50=function(){return _0x32b9f4;};return a0_0x4a50();}import{BaseTool}from'./baseTool.js';import a0_0x12ec6b from'../utilities/tagParser.js';function a0_0x4095(_0x524234,_0x287085){_0x524234=_0x524234-0x1a1;const _0x4a50e5=a0_0x4a50();let _0x4095a3=_0x4a50e5[_0x524234];if(a0_0x4095['ZTmCTC']===undefined){var _0x563d82=function(_0x3649a1){const _0x448beb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55d396='',_0x3b6013='';for(let _0x12ec6b=0x0,_0xab9113,_0x5aeb6e,_0x3f4667=0x0;_0x5aeb6e=_0x3649a1['charAt'](_0x3f4667++);~_0x5aeb6e&&(_0xab9113=_0x12ec6b%0x4?_0xab9113*0x40+_0x5aeb6e:_0x5aeb6e,_0x12ec6b++%0x4)?_0x55d396+=String['fromCharCode'](0xff&_0xab9113>>(-0x2*_0x12ec6b&0x6)):0x0){_0x5aeb6e=_0x448beb['indexOf'](_0x5aeb6e);}for(let _0x3b183f=0x0,_0x33fc33=_0x55d396['length'];_0x3b183f<_0x33fc33;_0x3b183f++){_0x3b6013+='%'+('00'+_0x55d396['charCodeAt'](_0x3b183f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b6013);};a0_0x4095['YxeugM']=_0x563d82,a0_0x4095['YlTjsr']={},a0_0x4095['ZTmCTC']=!![];}const _0x5e6cc4=_0x4a50e5[0x0],_0x354bc7=_0x524234+_0x5e6cc4,_0x48887b=a0_0x4095['YlTjsr'][_0x354bc7];return!_0x48887b?(_0x4095a3=a0_0x4095['YxeugM'](_0x4095a3),a0_0x4095['YlTjsr'][_0x354bc7]=_0x4095a3):_0x4095a3=_0x48887b,_0x4095a3;}const ANALYZER_CONFIG={'DEFAULT_MODE':'full','VALID_MODES':['full','quick','fix'],'DEFAULT_OUTPUT':'summary','VALID_OUTPUTS':['summary','detailed','json'],'DEFAULT_IGNORE_FILE':a0_0x827cf(0x21d),'MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':['.js',a0_0x827cf(0x1e7),a0_0x827cf(0x204),a0_0x827cf(0x203),a0_0x827cf(0x20e)],'DEFAULT_IGNORE_PATTERNS':['node_modules','.git','dist','build',a0_0x827cf(0x1d7)],'FILE_READ_TIMEOUT':0x1388};export class ImportAnalyzerTool extends BaseTool{['getDescription'](){const _0x288f77=a0_0x827cf;return _0x288f77(0x226);}['parseParameters'](_0xab9113){const _0x2603e9=a0_0x827cf;if(typeof _0xab9113==='object'&&_0xab9113!==null)return{'path':_0xab9113['path']||'.','mode':_0xab9113[_0x2603e9(0x23d)]||ANALYZER_CONFIG[_0x2603e9(0x1a1)],'output':_0xab9113['output']||ANALYZER_CONFIG[_0x2603e9(0x1b4)],'ignoreFile':_0xab9113[_0x2603e9(0x243)]||ANALYZER_CONFIG[_0x2603e9(0x231)]};if(typeof _0xab9113==='string'){const _0x5aeb6e=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x3f4667=_0x5aeb6e['exec'](_0xab9113);if(_0x3f4667){const _0x3b183f=_0x3f4667[0x1],_0x33fc33=_0x3f4667[0x2],_0x1f8cf8=/path=["']([^"']*)["']/i['exec'](_0x3b183f),_0x4e4e0f=/mode=["']([^"']*)["']/i['exec'](_0x3b183f),_0x510ac0=/output=["']([^"']*)["']/i['exec'](_0x3b183f),_0x36f844=/ignore-file=["']([^"']*)["']/i['exec'](_0x3b183f),_0x15bd3e=/<path>(.*?)<\/path>/i,_0x5190ee=_0x15bd3e[_0x2603e9(0x24b)](_0x33fc33),_0x1e7aee=/<mode>(.*?)<\/mode>/i,_0x38e4a8=_0x1e7aee['exec'](_0x33fc33),_0x5baecd=/<output>(.*?)<\/output>/i,_0x12ae60=_0x5baecd['exec'](_0x33fc33),_0x28b5e3=/<ignore-file>(.*?)<\/ignore-file>/i,_0x592650=_0x28b5e3['exec'](_0x33fc33),_0x48cca3=(_0x5190ee?_0x5190ee[0x1][_0x2603e9(0x238)]():null)||(_0x1f8cf8?_0x1f8cf8[0x1]:'.'),_0x3c6276=(_0x38e4a8?_0x38e4a8[0x1]['trim']():null)||(_0x4e4e0f?_0x4e4e0f[0x1]:ANALYZER_CONFIG['DEFAULT_MODE']),_0x374c5e=(_0x12ae60?_0x12ae60[0x1]['trim']():null)||(_0x510ac0?_0x510ac0[0x1]:ANALYZER_CONFIG[_0x2603e9(0x1b4)]),_0x6f86bd=(_0x592650?_0x592650[0x1]['trim']():null)||(_0x36f844?_0x36f844[0x1]:ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']);return{'path':_0x48cca3,'mode':_0x3c6276,'output':_0x374c5e,'ignoreFile':_0x6f86bd};}try{const _0x49213f=a0_0x12ec6b['parseTags'](_0xab9113,'analyze');if(_0x49213f&&_0x49213f[_0x2603e9(0x1ff)]>0x0){const _0x3087f6=_0x49213f[0x0];return{'path':_0x3087f6['attributes']['path']||'.','mode':_0x3087f6[_0x2603e9(0x1b9)]['mode']||ANALYZER_CONFIG[_0x2603e9(0x1a1)],'output':_0x3087f6[_0x2603e9(0x1b9)][_0x2603e9(0x1ee)]||ANALYZER_CONFIG[_0x2603e9(0x1b4)],'ignoreFile':_0x3087f6[_0x2603e9(0x1b9)][_0x2603e9(0x1cc)]||ANALYZER_CONFIG[_0x2603e9(0x231)]};}}catch(_0x3b57f8){}throw new Error('Invalid import-analyzer format. Use <import-analyzer> tags or JSON format.');}throw new Error(_0x2603e9(0x1bf));}[a0_0x827cf(0x1fa)](_0x2b6d8c){const _0x558fb8=a0_0x827cf;if(!_0x2b6d8c||typeof _0x2b6d8c!=='object')throw new Error(_0x558fb8(0x1c0));if(_0x2b6d8c['path']&&typeof _0x2b6d8c[_0x558fb8(0x1d6)]!=='string')throw new Error('path\x20must\x20be\x20a\x20string');if(_0x2b6d8c[_0x558fb8(0x23d)]&&!ANALYZER_CONFIG[_0x558fb8(0x207)]['includes'](_0x2b6d8c['mode']))throw new Error(_0x558fb8(0x1b3)+_0x2b6d8c[_0x558fb8(0x23d)]+_0x558fb8(0x22f)+ANALYZER_CONFIG[_0x558fb8(0x207)]['join'](',\x20'));if(_0x2b6d8c[_0x558fb8(0x1ee)]&&!ANALYZER_CONFIG[_0x558fb8(0x1a2)]['includes'](_0x2b6d8c['output']))throw new Error('Invalid\x20output:\x20'+_0x2b6d8c[_0x558fb8(0x1ee)]+'.\x20Must\x20be\x20one\x20of:\x20'+ANALYZER_CONFIG[_0x558fb8(0x1a2)]['join'](',\x20'));if(_0x2b6d8c['ignoreFile']&&typeof _0x2b6d8c[_0x558fb8(0x243)]!==_0x558fb8(0x216))throw new Error('ignoreFile\x20must\x20be\x20a\x20string');}[a0_0x827cf(0x1a8)](_0x5ed90d,_0x20ae04){const _0x2184e1=a0_0x827cf,{projectDir:_0x4f4eec,directoryAccess:_0x4241e5}=_0x20ae04;let _0x232995=_0x4f4eec||process['cwd']();_0x4241e5&&_0x4241e5['workingDirectory']&&(_0x232995=_0x4241e5['workingDirectory']);const _0x5a1c0d=a0_0x3b6013['isAbsolute'](_0x5ed90d)?a0_0x3b6013[_0x2184e1(0x1f0)](_0x5ed90d):a0_0x3b6013['normalize'](a0_0x3b6013['join'](_0x232995,_0x5ed90d)),_0x576a99=a0_0x3b6013['normalize'](_0x232995);if(!_0x5a1c0d['startsWith'](_0x576a99))throw new Error(_0x2184e1(0x210)+_0x5ed90d+_0x2184e1(0x1e8));return _0x5a1c0d;}async[a0_0x827cf(0x239)](_0x2b5875,_0x544bf4={}){const _0x1b9fd5=a0_0x827cf;try{this['_validateParameters'](_0x2b5875);const {path:_0x2abf90,mode:_0x4014d5,output:_0x181adc,ignoreFile:_0x42fe21}=_0x2b5875,{projectDir:_0x3bd5eb,agentId:_0x46538c,directoryAccess:_0x16b7d3}=_0x544bf4,_0x3b36fc=this[_0x1b9fd5(0x1a8)](_0x2abf90,_0x544bf4);this['logger']?.['info']('Import\x20analyzer\x20executing',{'mode':_0x4014d5,'resolvedPath':_0x3b36fc,'output':_0x181adc,'agentId':_0x46538c});const _0x27e12a=[];_0x27e12a['push'](_0x1b9fd5(0x213)+_0x3b36fc),_0x27e12a[_0x1b9fd5(0x1ce)]('Mode:\x20'+_0x4014d5),_0x27e12a['push'](_0x1b9fd5(0x1d5)+_0x181adc+'\x0a');try{await a0_0x55d396[_0x1b9fd5(0x23b)](_0x3b36fc);}catch{return{'success':![],'error':_0x1b9fd5(0x212)+_0x3b36fc,'output':_0x27e12a[_0x1b9fd5(0x1b0)]('\x0a')};}const _0x3e1535=new ImportExportAnalyzer(_0x3b36fc,_0x42fe21,this['logger']),_0x170164=await _0x3e1535[_0x1b9fd5(0x206)](_0x4014d5);let _0x41edb0;switch(_0x181adc){case _0x1b9fd5(0x1dc):_0x41edb0=JSON['stringify'](_0x170164,null,0x2);break;case _0x1b9fd5(0x1da):_0x41edb0=this['_formatDetailedOutput'](_0x170164),_0x27e12a[_0x1b9fd5(0x1ce)](_0x41edb0);break;case _0x1b9fd5(0x20d):default:_0x41edb0=this['_formatSummaryOutput'](_0x170164),_0x27e12a[_0x1b9fd5(0x1ce)](_0x41edb0);break;}return{'success':!![],'mode':_0x4014d5,'message':'Import\x20analysis\x20completed','statistics':{'totalFiles':_0x170164[_0x1b9fd5(0x20d)]['totalFiles'],'totalImports':_0x170164[_0x1b9fd5(0x20d)]['totalImports'],'totalExports':_0x170164['summary']['totalExports'],'issuesFound':_0x170164['fileNotFoundImports'][_0x1b9fd5(0x1ff)]+Object['values'](_0x170164[_0x1b9fd5(0x1e5)])[_0x1b9fd5(0x1b7)]((_0x595531,_0x5e966a)=>_0x595531+_0x5e966a[_0x1b9fd5(0x1ff)],0x0)},'output':_0x181adc==='json'?_0x41edb0:_0x27e12a[_0x1b9fd5(0x1b0)]('\x0a'),'results':_0x170164};}catch(_0x5f10aa){return this[_0x1b9fd5(0x1ae)]?.[_0x1b9fd5(0x218)]('Import\x20analyzer\x20error:',_0x5f10aa),{'success':![],'error':_0x5f10aa[_0x1b9fd5(0x23f)],'output':_0x5f10aa[_0x1b9fd5(0x23f)]};}}['_formatSummaryOutput'](_0x278183){const _0x4106a2=a0_0x827cf,_0x123b11=[];_0x123b11[_0x4106a2(0x1ce)]('📊\x20Import/Export\x20Analysis\x20Summary'),_0x123b11[_0x4106a2(0x1ce)](_0x4106a2(0x1c5)),_0x123b11['push']('📁\x20Files\x20analyzed:\x20'+_0x278183['summary'][_0x4106a2(0x21a)]),_0x123b11[_0x4106a2(0x1ce)](_0x4106a2(0x1a5)+_0x278183['summary']['totalImports']),_0x123b11['push'](_0x4106a2(0x23e)+_0x278183['summary']['totalExports']+'\x0a');const _0x433f5d=_0x278183['fileNotFoundImports']['length'],_0x4449f1=Object['values'](_0x278183['missingExports'])['reduce']((_0x5dac5e,_0x582d33)=>_0x5dac5e+_0x582d33['length'],0x0),_0xf9a24c=_0x278183['circularDependencies']?_0x278183['circularDependencies']['length']:0x0;return _0x433f5d>0x0&&_0x123b11['push']('❌\x20Missing\x20files:\x20'+_0x433f5d+'\x20imports\x20pointing\x20to\x20non-existent\x20files'),_0x4449f1>0x0&&_0x123b11[_0x4106a2(0x1ce)](_0x4106a2(0x1ef)+_0x4449f1+'\x20symbols\x20not\x20exported\x20from\x20their\x20sources'),_0xf9a24c>0x0&&_0x123b11[_0x4106a2(0x1ce)]('🔄\x20Circular\x20dependencies:\x20'+_0xf9a24c+'\x20circular\x20dependency\x20chains\x20detected'),_0x433f5d===0x0&&_0x4449f1===0x0&&_0xf9a24c===0x0?_0x123b11[_0x4106a2(0x1ce)]('\u2705 No import/export issues detected!'):(_0x123b11['push'](_0x4106a2(0x1d3)),Object[_0x4106a2(0x201)](_0x278183[_0x4106a2(0x1a7)]||{})[_0x4106a2(0x1ff)]>0x0&&(_0x123b11[_0x4106a2(0x1ce)](_0x4106a2(0x235)),Object['entries'](_0x278183['missingFiles'])[_0x4106a2(0x1ed)](0x0,0x3)['forEach'](([_0x313fa5,_0x51abc7])=>{const _0x2675a2=_0x4106a2;_0x123b11['push'](_0x2675a2(0x1fd)+_0x313fa5+_0x2675a2(0x1f9)+_0x51abc7['length']+_0x2675a2(0x234));})),Object['keys'](_0x278183['missingExports'])[_0x4106a2(0x1ff)]>0x0&&(_0x123b11['push'](_0x4106a2(0x222)),Object['entries'](_0x278183[_0x4106a2(0x1e5)])[_0x4106a2(0x1ed)](0x0,0x3)['forEach'](([_0x5b8286,_0x19b99c])=>{const _0x13c1ce=_0x4106a2;_0x123b11['push'](_0x13c1ce(0x1fd)+_0x5b8286+_0x13c1ce(0x217)+_0x19b99c[_0x13c1ce(0x1ff)]+_0x13c1ce(0x20c));})),_0x123b11['push']('\x0a💡\x20Run\x20with\x20output=\x22detailed\x22\x20for\x20complete\x20analysis\x20and\x20fix\x20suggestions')),_0x123b11['join']('\x0a');}['_formatDetailedOutput'](_0x1b9716){const _0xe1d75=a0_0x827cf,_0x35b85f=[];_0x35b85f[_0xe1d75(0x1ce)](_0xe1d75(0x1ec)),_0x35b85f['push'](_0xe1d75(0x1a6)),_0x35b85f['push'](_0xe1d75(0x1c7)),_0x35b85f['push'](_0xe1d75(0x228)+_0x1b9716[_0xe1d75(0x20d)]['totalFiles']),_0x35b85f[_0xe1d75(0x1ce)](_0xe1d75(0x1ea)+_0x1b9716['summary']['totalImports']),_0x35b85f[_0xe1d75(0x1ce)](_0xe1d75(0x1be)+_0x1b9716['summary'][_0xe1d75(0x1f5)]+'\x0a');if(_0x1b9716[_0xe1d75(0x21f)]['length']>0x0){_0x35b85f[_0xe1d75(0x1ce)]('❌\x20MISSING\x20FILES'),_0x35b85f[_0xe1d75(0x1ce)](_0xe1d75(0x1fc));const _0xac56e8={};_0x1b9716['fileNotFoundImports'][_0xe1d75(0x1e2)](_0x156f6a=>{const _0x487574=_0xe1d75;!_0xac56e8[_0x156f6a[_0x487574(0x1d8)]]&&(_0xac56e8[_0x156f6a['importingFile']]=[]),_0xac56e8[_0x156f6a[_0x487574(0x1d8)]]['push'](_0x156f6a);}),Object['entries'](_0xac56e8)[_0xe1d75(0x1e2)](([_0x473fae,imports])=>{const _0x1416f9=_0xe1d75;_0x35b85f[_0x1416f9(0x1ce)]('\x0a📄\x20'+_0x473fae+':'),imports[_0x1416f9(0x1e2)](_0x100fc3=>{const _0x1c15d6=_0x1416f9,importType=_0x100fc3[_0x1c15d6(0x242)]?'default':_0x100fc3['isNamespace']?'namespace':_0x1c15d6(0x1bb);_0x35b85f['push'](_0x1c15d6(0x1fe)+_0x100fc3[_0x1c15d6(0x249)]),_0x35b85f['push']('\x20\x20\x20\x20\x20\x20Trying\x20to\x20import:\x20'+_0x100fc3[_0x1c15d6(0x1d9)]+'\x20('+importType+')'),_0x35b85f[_0x1c15d6(0x1ce)](_0x1c15d6(0x209));});});}Object[_0xe1d75(0x201)](_0x1b9716['missingExports'])[_0xe1d75(0x1ff)]>0x0&&(_0x35b85f['push']('\x0a⚠️\x20\x20MISSING\x20EXPORTS'),_0x35b85f['push']('──────────────────'),Object[_0xe1d75(0x248)](_0x1b9716['missingExports'])[_0xe1d75(0x1e2)](([_0x56ee7e,_0x1fa065])=>{const _0x501966=_0xe1d75;_0x35b85f[_0x501966(0x1ce)](_0x501966(0x1b6)+_0x56ee7e+':'),_0x1fa065['forEach'](_0x5dcc6a=>{const _0x36c1ad=_0x501966,importType=_0x5dcc6a[_0x36c1ad(0x242)]?'default':_0x5dcc6a['isNamespace']?_0x36c1ad(0x1f2):'named';_0x35b85f[_0x36c1ad(0x1ce)](_0x36c1ad(0x215)+_0x5dcc6a[_0x36c1ad(0x1d9)]+_0x36c1ad(0x1b1)+importType+')'),_0x35b85f[_0x36c1ad(0x1ce)](_0x36c1ad(0x22a)+_0x5dcc6a['importedFromFile']);if(_0x5dcc6a['availableExports']['length']>0x0){_0x35b85f[_0x36c1ad(0x1ce)](_0x36c1ad(0x1c8)+_0x5dcc6a[_0x36c1ad(0x1dd)]['join'](',\x20'));if(_0x5dcc6a[_0x36c1ad(0x242)]&&_0x5dcc6a['availableExports']['includes']('default'))_0x35b85f['push'](_0x36c1ad(0x1e4));else{if(_0x5dcc6a['isDefault']&&!_0x5dcc6a['availableExports']['includes']('default'))_0x35b85f['push'](_0x36c1ad(0x229)+(_0x5dcc6a['availableExports'][0x0]||_0x36c1ad(0x1bc))+'\x20}');else{const _0x1a54d4=_0x5dcc6a[_0x36c1ad(0x1dd)]['find'](_0x162c7a=>_0x162c7a['toLowerCase']()===_0x5dcc6a['importedSymbol']['toLowerCase']());_0x1a54d4?_0x35b85f[_0x36c1ad(0x1ce)](_0x36c1ad(0x230)+_0x1a54d4+'\x22?\x20(case\x20mismatch)'):_0x35b85f[_0x36c1ad(0x1ce)](_0x36c1ad(0x241)+_0x5dcc6a[_0x36c1ad(0x1d9)]+_0x36c1ad(0x225));}}}else _0x35b85f['push'](_0x36c1ad(0x1cf)),_0x35b85f['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20exports\x20to\x20'+_0x5dcc6a[_0x36c1ad(0x249)]+_0x36c1ad(0x214));});}));_0x1b9716['circularDependencies']&&_0x1b9716['circularDependencies']['length']>0x0&&(_0x35b85f[_0xe1d75(0x1ce)](_0xe1d75(0x22d)),_0x35b85f[_0xe1d75(0x1ce)](_0xe1d75(0x1ad)),_0x1b9716['circularDependencies'][_0xe1d75(0x1e2)]((_0x2a980c,_0xc4f713)=>{const _0xeab150=_0xe1d75;_0x35b85f[_0xeab150(0x1ce)](_0xeab150(0x1f8)+(_0xc4f713+0x1)+':'),_0x2a980c['forEach']((_0x2e9a5d,_0x2ec7c7)=>{const _0x15e969=_0xeab150;_0x2ec7c7<_0x2a980c[_0x15e969(0x1ff)]-0x1&&_0x35b85f[_0x15e969(0x1ce)](_0x15e969(0x244)+_0x2e9a5d+'\x20→\x20'+_0x2a980c[_0x2ec7c7+0x1]);}),_0x35b85f[_0xeab150(0x1ce)]('\x20\x20\x20\x20💡\x20Fix:\x20Refactor\x20to\x20break\x20the\x20circular\x20dependency');}));_0x1b9716['unusedExports']&&Object['keys'](_0x1b9716['unusedExports'])['length']>0x0&&(_0x35b85f['push'](_0xe1d75(0x21e)),_0x35b85f[_0xe1d75(0x1ce)]('──────────────────────────────'),Object[_0xe1d75(0x248)](_0x1b9716['unusedExports'])[_0xe1d75(0x1ed)](0x0,0xa)['forEach'](([_0x3293d6,exports])=>{const _0xfebdb7=_0xe1d75;_0x35b85f[_0xfebdb7(0x1ce)]('\x0a📄\x20'+_0x3293d6+':'),_0x35b85f['push']('\x20\x20\x20Unused:\x20'+exports['join'](',\x20'));}),_0x35b85f['push']('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x35b85f[_0xe1d75(0x1ce)]('\x20\x20\x20\x20\x20\x20They\x20might\x20be\x20used\x20by\x20external\x20packages\x20or\x20could\x20be\x20removed'));_0x35b85f[_0xe1d75(0x1ce)]('\x0a📋\x20RECOMMENDATIONS'),_0x35b85f[_0xe1d75(0x1ce)](_0xe1d75(0x1d4));const _0x42bc5c=_0x1b9716['fileNotFoundImports'][_0xe1d75(0x1ff)]+Object['values'](_0x1b9716['missingExports'])[_0xe1d75(0x1b7)]((_0x387248,_0x4f5670)=>_0x387248+_0x4f5670['length'],0x0);return _0x42bc5c===0x0?_0x35b85f['push']('\u2705 Your import/export structure looks good!'):(_0x35b85f['push']('Found\x20'+_0x42bc5c+_0xe1d75(0x1d2)),_0x1b9716[_0xe1d75(0x21f)][_0xe1d75(0x1ff)]>0x0&&_0x35b85f[_0xe1d75(0x1ce)](_0xe1d75(0x22b)+_0x1b9716['fileNotFoundImports']['length']+_0xe1d75(0x21b)),Object[_0xe1d75(0x201)](_0x1b9716[_0xe1d75(0x1e5)])['length']>0x0&&_0x35b85f[_0xe1d75(0x1ce)]('\x20\x202.\x20Resolve\x20'+Object[_0xe1d75(0x237)](_0x1b9716['missingExports'])['reduce']((_0x3fcef7,_0x366c03)=>_0x3fcef7+_0x366c03[_0xe1d75(0x1ff)],0x0)+'\x20missing\x20export(s)'),_0x1b9716[_0xe1d75(0x1f1)]&&_0x1b9716[_0xe1d75(0x1f1)][_0xe1d75(0x1ff)]>0x0&&_0x35b85f[_0xe1d75(0x1ce)]('\x20\x203.\x20Refactor\x20'+_0x1b9716['circularDependencies']['length']+'\x20circular\x20dependency\x20chain(s)')),_0x35b85f[_0xe1d75(0x1b0)]('\x0a');}}class ImportExportAnalyzer{constructor(_0x119f69,_0x2c58ac='.gitignore',_0x3c20df=null){const _0x243f5b=a0_0x827cf;this[_0x243f5b(0x205)]=a0_0x3b6013['resolve'](_0x119f69),this['ignoreFile']=_0x2c58ac,this[_0x243f5b(0x1ae)]=_0x3c20df,this['ignorePatterns']=[...ANALYZER_CONFIG['DEFAULT_IGNORE_PATTERNS']],this[_0x243f5b(0x1f7)]=[],this['exports']=new Map(),this['dependencies']=new Map();}async[a0_0x827cf(0x23c)](){const _0x21b94b=a0_0x827cf;try{const _0x1102ed=a0_0x3b6013[_0x21b94b(0x1b0)](this[_0x21b94b(0x205)],this['ignoreFile']),_0x13c496=await a0_0x55d396[_0x21b94b(0x1e1)](_0x1102ed,'utf-8'),_0x37f24a=_0x13c496[_0x21b94b(0x223)]('\x0a')[_0x21b94b(0x233)](_0x4a70a5=>_0x4a70a5['trim']())['filter'](_0x43bbf4=>_0x43bbf4&&!_0x43bbf4['startsWith']('#'));this['ignorePatterns']['push'](..._0x37f24a),this['logger']?.['debug']('Loaded\x20ignore\x20patterns',{'count':_0x37f24a[_0x21b94b(0x1ff)]});}catch{this[_0x21b94b(0x1ae)]?.['debug']('No ignore file found, using defaults');}}[a0_0x827cf(0x1a4)](_0x31ebdc){const _0x32a97e=a0_0x827cf,_0x49d1dd=a0_0x3b6013[_0x32a97e(0x21c)](this['rootDir'],_0x31ebdc);return this[_0x32a97e(0x247)]['some'](_0x2c619b=>{const _0x517ce0=_0x32a97e;if(_0x2c619b[_0x517ce0(0x22e)]('*')){const _0x54cca3=new RegExp(_0x2c619b['replace'](/\*/g,'.*'));return _0x54cca3[_0x517ce0(0x23a)](_0x49d1dd)||_0x54cca3[_0x517ce0(0x23a)](a0_0x3b6013[_0x517ce0(0x1ab)](_0x31ebdc));}return _0x49d1dd[_0x517ce0(0x22e)](_0x2c619b)||a0_0x3b6013['basename'](_0x31ebdc)===_0x2c619b;});}async['getAllFiles'](_0x1978a9){const _0x4768b4=a0_0x827cf,_0x13263b=[],_0x58e802=async _0x5bcc34=>{const _0x5d0066=a0_0x4095;try{const _0x39a09c=await a0_0x55d396[_0x5d0066(0x211)](_0x5bcc34,{'withFileTypes':!![]});for(const _0x133db4 of _0x39a09c){const _0x58a9bb=a0_0x3b6013[_0x5d0066(0x1b0)](_0x5bcc34,_0x133db4[_0x5d0066(0x232)]);if(this['shouldIgnoreFile'](_0x58a9bb))continue;if(_0x133db4['isDirectory']())await _0x58e802(_0x58a9bb);else{if(_0x133db4['isFile']()){const _0x21c988=a0_0x3b6013['extname'](_0x133db4[_0x5d0066(0x232)]);ANALYZER_CONFIG[_0x5d0066(0x1c1)]['includes'](_0x21c988)&&_0x13263b['push'](_0x58a9bb);}}}}catch(_0x4d21e6){this[_0x5d0066(0x1ae)]?.[_0x5d0066(0x1f4)](_0x5d0066(0x1e9),{'dir':_0x5bcc34,'error':_0x4d21e6[_0x5d0066(0x23f)]});}};await _0x58e802(_0x1978a9);if(_0x13263b['length']>ANALYZER_CONFIG['MAX_FILES']){this[_0x4768b4(0x1ae)]?.[_0x4768b4(0x1f4)](_0x4768b4(0x1bd)+_0x13263b[_0x4768b4(0x1ff)]+'\x20>\x20'+ANALYZER_CONFIG[_0x4768b4(0x1c3)]);throw new Error(_0x4768b4(0x1d1)+_0x13263b[_0x4768b4(0x1ff)]+_0x4768b4(0x1cb)+ANALYZER_CONFIG['MAX_FILES']+')');}return _0x13263b;}async[a0_0x827cf(0x245)](_0x9453e1,_0x5f5a10){const _0x47044d=a0_0x827cf,imports=[],_0x24a9b4=_0x9453e1[_0x47044d(0x223)]('\x0a'),_0x4f6037=this['getRelativePath'](_0x5f5a10);!this['dependencies']['has'](_0x4f6037)&&this['dependencies']['set'](_0x4f6037,new Set());for(let _0x22c337=0x0;_0x22c337<_0x24a9b4['length'];_0x22c337++){const _0x53dfa2=_0x24a9b4[_0x22c337][_0x47044d(0x238)]();if(_0x53dfa2['startsWith']('//')||_0x53dfa2['startsWith']('/*'))continue;let _0x4e38af=_0x53dfa2,_0x49468f=_0x22c337;while(!_0x4e38af[_0x47044d(0x22e)](';')&&!_0x4e38af['match'](/from\s+['"`][^'"`]+['"`]/)&&_0x49468f<_0x24a9b4[_0x47044d(0x1ff)]-0x1){_0x49468f++;const _0x4b8e7e=_0x24a9b4[_0x49468f][_0x47044d(0x238)]();if(_0x4b8e7e['startsWith']('//')||_0x4b8e7e['startsWith']('/*'))continue;_0x4e38af+='\x20'+_0x4b8e7e;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0x298598;while((_0x298598=importRegex[_0x47044d(0x24b)](_0x4e38af))!==null){const [,_0x51d0cc,defaultImport,_0x28269c,_0x35e4d0,_0x2302f0]=_0x298598,_0x5a1047=await this[_0x47044d(0x224)](_0x2302f0,_0x5f5a10);!_0x5a1047['isExternal']&&_0x5a1047[_0x47044d(0x1b5)]&&this[_0x47044d(0x1df)][_0x47044d(0x1ba)](_0x4f6037)[_0x47044d(0x220)](_0x5a1047['path']);defaultImport&&imports[_0x47044d(0x1ce)]({'importingFile':_0x4f6037,'importedSymbol':defaultImport[_0x47044d(0x238)](),'importedFromFile':_0x5a1047[_0x47044d(0x1d6)],'fileExists':_0x5a1047[_0x47044d(0x1b5)],'isExternal':_0x5a1047['isExternal']||![],'isDefault':!![]});_0x35e4d0&&imports[_0x47044d(0x1ce)]({'importingFile':_0x4f6037,'importedSymbol':_0x35e4d0['trim'](),'importedFromFile':_0x5a1047['path'],'fileExists':_0x5a1047['exists'],'isExternal':_0x5a1047['isExternal']||![],'isNamespace':!![]});const _0x41ed6d=[_0x51d0cc,_0x28269c]['filter'](Boolean)['join'](',');if(_0x41ed6d){const _0x45e244=_0x41ed6d['split'](',')['map'](_0x5d0e7f=>{const _0x2ee033=_0x47044d,_0x3cf027=_0x5d0e7f[_0x2ee033(0x238)]()['split'](/\s+as\s+/);return _0x3cf027[0x0]['trim']();});_0x45e244[_0x47044d(0x1e2)](_0x93faab=>{const _0x4b6e15=_0x47044d;_0x93faab&&imports[_0x4b6e15(0x1ce)]({'importingFile':_0x4f6037,'importedSymbol':_0x93faab,'importedFromFile':_0x5a1047['path'],'fileExists':_0x5a1047[_0x4b6e15(0x1b5)],'isExternal':_0x5a1047[_0x4b6e15(0x1ac)]||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0x298598=requireRegex[_0x47044d(0x24b)](_0x4e38af))!==null){const [,_0x41f2e7,_0x2fd3b3,_0x14b907]=_0x298598,_0xb8958e=await this[_0x47044d(0x224)](_0x14b907,_0x5f5a10);!_0xb8958e[_0x47044d(0x1ac)]&&_0xb8958e['exists']&&this['dependencies']['get'](_0x4f6037)[_0x47044d(0x220)](_0xb8958e[_0x47044d(0x1d6)]);if(_0x41f2e7){const _0x44232a=_0x41f2e7['split'](',')[_0x47044d(0x233)](_0x28bed2=>_0x28bed2['trim']()['split'](':')[0x0]['trim']());_0x44232a[_0x47044d(0x1e2)](_0x450352=>{const _0x5a0d3b=_0x47044d;_0x450352&&imports[_0x5a0d3b(0x1ce)]({'importingFile':_0x4f6037,'importedSymbol':_0x450352,'importedFromFile':_0xb8958e['path'],'fileExists':_0xb8958e[_0x5a0d3b(0x1b5)],'isExternal':_0xb8958e['isExternal']||![],'isDefault':![]});});}else _0x2fd3b3&&imports[_0x47044d(0x1ce)]({'importingFile':_0x4f6037,'importedSymbol':_0x2fd3b3[_0x47044d(0x238)](),'importedFromFile':_0xb8958e['path'],'fileExists':_0xb8958e['exists'],'isExternal':_0xb8958e['isExternal']||![],'isDefault':!![]});}_0x22c337=_0x49468f;}return imports;}[a0_0x827cf(0x20f)](_0x42fe59){const _0xc45f23=a0_0x827cf,exports=new Set(),_0x4ea767=_0x42fe59['split']('\x0a');for(const _0x25108d of _0x4ea767){const _0x2f7fd=_0x25108d[_0xc45f23(0x238)]();if(_0x2f7fd[_0xc45f23(0x221)]('//')||_0x2f7fd['startsWith']('/*'))continue;/export\s+default\s+/['test'](_0x2f7fd)&&exports[_0xc45f23(0x220)]('default');const _0x543fdc=_0x2f7fd[_0xc45f23(0x1c2)](/export\s+\{([^}]+)\}/);if(_0x543fdc){const _0x3e5987=_0x543fdc[0x1][_0xc45f23(0x223)](',')[_0xc45f23(0x233)](_0x43a503=>{const _0x3b2f2c=_0xc45f23,_0x144324=_0x43a503['trim']()[_0x3b2f2c(0x223)](/\s+as\s+/);return _0x144324[_0x144324[_0x3b2f2c(0x1ff)]-0x1][_0x3b2f2c(0x238)]();});_0x3e5987['forEach'](_0xe03510=>exports[_0xc45f23(0x220)](_0xe03510));}const _0x2ac917=_0x2f7fd['match'](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x2ac917&&exports['add'](_0x2ac917[0x1]);const exportFromMatch=_0x2f7fd[_0xc45f23(0x1c2)](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0x347cb4=exportFromMatch[0x1]['split'](',')['map'](_0x2193a8=>{const _0x486d4d=_0xc45f23,_0x302558=_0x2193a8['trim']()['split'](/\s+as\s+/);return _0x302558[_0x302558[_0x486d4d(0x1ff)]-0x1]['trim']();});_0x347cb4['forEach'](_0x2c9be8=>exports['add'](_0x2c9be8));}/export\s+\*\s+from/['test'](_0x2f7fd)&&exports[_0xc45f23(0x220)]('*');const moduleExportsMatch=_0x2f7fd['match'](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x1486fe=moduleExportsMatch[0x1][_0xc45f23(0x223)](',')['map'](_0x5b8ef9=>{const _0x268566=_0xc45f23,_0xd50ff5=_0x5b8ef9[_0x268566(0x238)]()['split'](':');return _0xd50ff5[0x0]['trim']();});_0x1486fe['forEach'](_0x5a4934=>exports[_0xc45f23(0x220)](_0x5a4934));}/module\.exports\s*=\s*[^{]/['test'](_0x2f7fd)&&exports['add']('default');const moduleExportsPropMatch=_0x2f7fd['match'](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports['add'](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0x2f7fd[_0xc45f23(0x1c2)](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports['add'](exportsPropMatch[0x1]);}return exports;}async['resolveImportPath'](importPath,_0x3ce037){const _0x3171f7=a0_0x827cf;if(importPath[_0x3171f7(0x221)]('.')){const _0x55d704=a0_0x3b6013[_0x3171f7(0x1de)](_0x3ce037),_0x50774b=a0_0x3b6013[_0x3171f7(0x1aa)](_0x55d704,importPath);if(a0_0x3b6013[_0x3171f7(0x1f3)](importPath))try{const _0x5c516b=await a0_0x55d396[_0x3171f7(0x1eb)](_0x50774b);if(_0x5c516b[_0x3171f7(0x219)]())return{'path':this[_0x3171f7(0x1f6)](_0x50774b),'exists':!![]};}catch{}const _0x2fcc86=['',_0x3171f7(0x1a3),'.mjs',_0x3171f7(0x204),'.jsx',_0x3171f7(0x20e),'/index.js','/index.ts',_0x3171f7(0x1e6),_0x3171f7(0x1fb)];for(const _0x4add39 of _0x2fcc86){const _0x3746a1=_0x50774b+_0x4add39;try{const _0x477ac9=await a0_0x55d396['stat'](_0x3746a1);if(_0x477ac9['isFile']())return{'path':this['getRelativePath'](_0x3746a1),'exists':!![]};}catch{}}return{'path':this['getRelativePath'](_0x50774b),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}[a0_0x827cf(0x1f6)](_0x1bc29c){return a0_0x3b6013['relative'](this['rootDir'],_0x1bc29c)['replace'](/\\/g,'/');}['findCircularDependencies'](){const _0x4920fa=a0_0x827cf,_0x404e6d=[],_0x247fd9=new Set(),_0x1181d5=new Set(),_0x39f11b=(_0xad1dda,_0x3d1c85=[])=>{const _0x36a6d8=a0_0x4095;if(_0x1181d5['has'](_0xad1dda)){const _0x4e98e3=_0x3d1c85['indexOf'](_0xad1dda);_0x4e98e3!==-0x1&&_0x404e6d['push']([..._0x3d1c85[_0x36a6d8(0x1ed)](_0x4e98e3),_0xad1dda]);return;}if(_0x247fd9['has'](_0xad1dda))return;_0x247fd9['add'](_0xad1dda),_0x1181d5['add'](_0xad1dda),_0x3d1c85[_0x36a6d8(0x1ce)](_0xad1dda);const _0x389b54=this[_0x36a6d8(0x1df)]['get'](_0xad1dda)||new Set();for(const _0xad8835 of _0x389b54){_0x39f11b(_0xad8835,[..._0x3d1c85]);}_0x1181d5[_0x36a6d8(0x1c6)](_0xad1dda);};for(const _0x112542 of this['dependencies'][_0x4920fa(0x201)]()){!_0x247fd9[_0x4920fa(0x1db)](_0x112542)&&_0x39f11b(_0x112542);}return _0x404e6d;}[a0_0x827cf(0x1cd)](){const _0xd74aae=a0_0x827cf,_0x2aafe4=new Map();for(const _0x48a663 of this['imports']){!_0x48a663['isExternal']&&(!_0x2aafe4[_0xd74aae(0x1db)](_0x48a663['importedFromFile'])&&_0x2aafe4[_0xd74aae(0x200)](_0x48a663[_0xd74aae(0x249)],new Set()),_0x2aafe4[_0xd74aae(0x1ba)](_0x48a663['importedFromFile'])[_0xd74aae(0x220)](_0x48a663['importedSymbol']));}const _0xbb4aac={};for(const [_0x219cf0,exports]of this['exports'][_0xd74aae(0x248)]()){const _0x5c32d6=_0x2aafe4['get'](_0x219cf0)||new Set(),_0x1e6945=Array['from'](exports)['filter'](_0x327ca1=>!_0x5c32d6['has'](_0x327ca1)&&_0x327ca1!=='*');_0x1e6945['length']>0x0&&(_0xbb4aac[_0x219cf0]=_0x1e6945);}return _0xbb4aac;}async[a0_0x827cf(0x206)](_0x176c07='full'){const _0x183c00=a0_0x827cf;this[_0x183c00(0x1ae)]?.[_0x183c00(0x227)]('Starting import analysis',{'mode':_0x176c07,'rootDir':this[_0x183c00(0x205)]}),await this['loadIgnoreFile']();const _0x4ce1db=await this['getAllFiles'](this[_0x183c00(0x205)]);this['logger']?.[_0x183c00(0x227)](_0x183c00(0x246),{'count':_0x4ce1db['length']});for(const _0x735abe of _0x4ce1db){try{const _0x5493a5=await a0_0x55d396['readFile'](_0x735abe,'utf-8'),_0x500891=this['getRelativePath'](_0x735abe),_0x405a1d=await this['parseImports'](_0x5493a5,_0x735abe);this['imports']['push'](..._0x405a1d);const _0xddc204=this['parseExports'](_0x5493a5);this['exports']['set'](_0x500891,_0xddc204);}catch(_0x1ff7e6){this['logger']?.['warn']('Error\x20parsing\x20file',{'file':_0x735abe,'error':_0x1ff7e6['message']});}}this['logger']?.[_0x183c00(0x227)](_0x183c00(0x1ca),{'imports':this['imports']['length'],'exports':this['exports']['size']});const _0xea7c76={'summary':{'totalFiles':_0x4ce1db['length'],'totalImports':this['imports'][_0x183c00(0x1ff)],'totalExports':Array[_0x183c00(0x1b2)](this[_0x183c00(0x1d0)]['values']())['reduce']((_0x20af92,exports)=>_0x20af92+exports['size'],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this[_0x183c00(0x1f7)]){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0x33091a,isNamespace:_0x9d476,fileExists:_0x53d9a,isExternal:_0x465b6c}=importEntry;if(!_0x53d9a&&!_0x465b6c){_0xea7c76[_0x183c00(0x21f)]['push']({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0x33091a||![],'isNamespace':_0x9d476||![]});!_0xea7c76[_0x183c00(0x1a7)][importingFile]&&(_0xea7c76[_0x183c00(0x1a7)][importingFile]=[]);_0xea7c76['missingFiles'][importingFile]['push']({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0x33091a||![],'isNamespace':_0x9d476||![]});continue;}if(_0x465b6c)continue;const exportingFileExports=this['exports'][_0x183c00(0x1ba)](importedFromFile);let _0x3cefdb=![];if(exportingFileExports){if(_0x9d476)_0x3cefdb=exportingFileExports['size']>0x0;else _0x33091a?_0x3cefdb=exportingFileExports['has']('default'):_0x3cefdb=exportingFileExports[_0x183c00(0x1db)](importedSymbol)||exportingFileExports[_0x183c00(0x1db)]('*');}!_0x3cefdb&&(!_0xea7c76[_0x183c00(0x1e5)][importingFile]&&(_0xea7c76['missingExports'][importingFile]=[]),_0xea7c76['missingExports'][importingFile]['push']({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array['from'](exportingFileExports):[],'isDefault':_0x33091a||![],'isNamespace':_0x9d476||![]}));}return(_0x176c07==='full'||_0x176c07===_0x183c00(0x208))&&(this[_0x183c00(0x1ae)]?.[_0x183c00(0x227)](_0x183c00(0x202)),_0xea7c76[_0x183c00(0x1f1)]=this['findCircularDependencies'](),_0xea7c76[_0x183c00(0x22c)]=this[_0x183c00(0x1cd)]()),this['logger']?.['info'](_0x183c00(0x1b8),{'missingFiles':_0xea7c76[_0x183c00(0x21f)]['length'],'missingExports':Object['keys'](_0xea7c76[_0x183c00(0x1e5)])[_0x183c00(0x1ff)]}),_0xea7c76;}}export default ImportAnalyzerTool;
|
package/src/tools/jobDoneTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x2844(_0x1d8beb,_0x35dd68){_0x1d8beb=_0x1d8beb-0x1b0;const _0x2eeddb=a0_0x2eed();let _0x284447=_0x2eeddb[_0x1d8beb];if(a0_0x2844['mEKvYd']===undefined){var _0x1c7e75=function(_0x22bda9){const _0x5af8c0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xdf09d2='',_0xa30d6a='';for(let _0x55d965=0x0,_0x17b344,_0x44d5da,_0x5c8c44=0x0;_0x44d5da=_0x22bda9['charAt'](_0x5c8c44++);~_0x44d5da&&(_0x17b344=_0x55d965%0x4?_0x17b344*0x40+_0x44d5da:_0x44d5da,_0x55d965++%0x4)?_0xdf09d2+=String['fromCharCode'](0xff&_0x17b344>>(-0x2*_0x55d965&0x6)):0x0){_0x44d5da=_0x5af8c0['indexOf'](_0x44d5da);}for(let _0x4818c8=0x0,_0x44f42d=_0xdf09d2['length'];_0x4818c8<_0x44f42d;_0x4818c8++){_0xa30d6a+='%'+('00'+_0xdf09d2['charCodeAt'](_0x4818c8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa30d6a);};a0_0x2844['WSNiie']=_0x1c7e75,a0_0x2844['SWiYlA']={},a0_0x2844['mEKvYd']=!![];}const _0x5bcebc=_0x2eeddb[0x0],_0x95f60a=_0x1d8beb+_0x5bcebc,_0x1c25b1=a0_0x2844['SWiYlA'][_0x95f60a];return!_0x1c25b1?(_0x284447=a0_0x2844['WSNiie'](_0x284447),a0_0x2844['SWiYlA'][_0x95f60a]=_0x284447):_0x284447=_0x1c25b1,_0x284447;}const a0_0x49adb5=a0_0x2844;(function(_0x4d7692,_0x2838f8){const _0xdb26e6=a0_0x2844,_0x3411ce=_0x4d7692();while(!![]){try{const _0x2bf2e5=-parseInt(_0xdb26e6(0x1cc))/0x1*(parseInt(_0xdb26e6(0x1b1))/0x2)+parseInt(_0xdb26e6(0x1bd))/0x3+-parseInt(_0xdb26e6(0x1b6))/0x4*(-parseInt(_0xdb26e6(0x1c0))/0x5)+parseInt(_0xdb26e6(0x1b8))/0x6+-parseInt(_0xdb26e6(0x1d4))/0x7*(parseInt(_0xdb26e6(0x1cd))/0x8)+parseInt(_0xdb26e6(0x1d3))/0x9+-parseInt(_0xdb26e6(0x1b7))/0xa;if(_0x2bf2e5===_0x2838f8)break;else _0x3411ce['push'](_0x3411ce['shift']());}catch(_0x471418){_0x3411ce['push'](_0x3411ce['shift']());}}}(a0_0x2eed,0x92fac));import{BaseTool}from'./baseTool.js';function a0_0x2eed(){const _0x53141f=['C3rYAw5N','otu1mtbfALLQqNK','BwvZC2fNzq','y2fWywjPBgL0AwvZ','zxH0CMfJDenVBNrLBNq','DMvYC2LVBG','ihDPDgGGAxnZDwvZ','ms4WlJa','zgvZy3jPChrPB24','zgv0ywLSCW','sw52ywXPzcbHy3rPB24Uie9UBhKGiMnVBxbSzxrLiIbPCYbZDxbWB3j0zwq','C3vTBwfYEq','twfYAYb0yxnRigfZignVBxbSzxrLic0GywX3yxLZihvZzsaIy29TCgXLDguI','mtKXwgTHrg90','oduWmtG0uKfREMjp','DgfZAY1JB21WBgv0Aw9U','CgfYC2vqyxjHBwv0zxjZ','BMfTzq','q2fSBcb0AgLZihrVB2WGD2HLBIb5B3uGAgf2zsbZDwnJzxnZzNvSBhKGy29TCgXLDgvKihrOzsbHC3nPz25Lzcb0yxnRlcbpuIbPzIb5B3uGyxjLihn0DwnRl3vUywjSzsb0BYbWCM9JzwvKigfMDgvYig11BhrPCgXLigzHAwXLzcbHDhrLBxb0CY4GuhjVDMLKzsbHihn1Bw1HCNKGB2yGD2HHDcb3yxmGywnJB21WBgLZAgvKig9YihDOyxqGChjLDMvUDgvKignVBxbSzxrPB24UifrOAxmGD2LSBcbLEgL0igf1Dg9UB21VDxmGBw9KzsbHBMqGCMv0DxjUignVBNrYB2WGDg8GDgHLihvZzxiU','u2v0ihrVihrYDwuGAwyGDgfZAYbJB21WBgv0zwqGC3vJy2vZC2z1BgX5lcbMywXZzsbPzIbZDhvJAY9MywLSzwqGB3iGCgfYDgLHBcbJB21WBgv0Aw9U','nJG0nJG1oef5rNPXsq','nZDstwvrCg0','q29TCgXLDgLVBIbZDw1Tyxj5igLZihjLCxvPCMvK','qwn0Aw9UCYbHCNjHEsbPCYbYzxf1AxjLza','C3vJy2vZCW','nJu5mKXiz1fXta','AxnbCNjHEq','4PYfifrHC2SGy29TCgXLDgvK','BgvUz3rO','y29TCgXLDgu','mtu2EhvnA2f2','mZG0oduXmfzIqxvzqG','mJG1mdK3ohHUAfbmBa','sM9IierVBMu','ywn0Aw9U','vgfZAYbJB21WBgv0zwq','DhjPBq','mJqXmZu0nw96CMjyEG','z2v0u2nOzw1H'];a0_0x2eed=function(){return _0x53141f;};return a0_0x2eed();}import a0_0xdf09d2 from'../utilities/tagParser.js';class JobDoneTool extends BaseTool{constructor(){const _0x3b3270=a0_0x2844;super(),this['id']='jobdone',this[_0x3b3270(0x1d0)]=_0x3b3270(0x1b9),this[_0x3b3270(0x1c7)]=_0x3b3270(0x1d1),this[_0x3b3270(0x1c4)]=_0x3b3270(0x1c6),this[_0x3b3270(0x1c2)]=[_0x3b3270(0x1ce),'mode-control'],this['requiresProject']=![],this['async']=![];}['getDescription'](){return'\x0aJob\x20Done\x20Tool:\x20Signal\x20task\x20completion\x20in\x20autonomous\x20mode\x20and\x20exit\x20to\x20chat\x20mode.\x0a\x0aUsage\x20Instructions:\x0a-\x20Call\x20this\x20tool\x20when\x20you\x20have\x20SUCCESSFULLY\x20completed\x20the\x20assigned\x20task\x0a-\x20Also\x20call\x20this\x20tool\x20if\x20you\x20are\x20STUCK\x20or\x20UNABLE\x20to\x20proceed\x20after\x20multiple\x20failed\x20attempts\x0a-\x20Provide\x20a\x20clear\x20summary\x20of\x20what\x20was\x20accomplished\x20OR\x20what\x20prevented\x20completion\x0a-\x20This\x20will\x20immediately\x20exit\x20autonomous\x20mode\x20and\x20return\x20control\x20to\x20the\x20user\x0a\x0aExamples:\x0a-\x20\x22Created\x205\x20song\x20files\x20successfully\x20with\x20lyrics\x20and\x20melodies\x22\x0a-\x20\x22Unable\x20to\x20proceed:\x20missing\x20API\x20credentials\x20for\x20the\x20service\x22\x0a-\x20\x22Stuck\x20after\x203\x20failed\x20compilation\x20attempts\x20-\x20syntax\x20errors\x20persist\x22\x0a-\x20\x22Task\x20partially\x20complete:\x20implemented\x202\x20of\x203\x20requested\x20features\x22\x0a\x0aThe\x20tool\x20will\x20format\x20a\x20completion\x20message\x20and\x20gracefully\x20exit\x20autonomous\x20mode.\x0a\x20\x20\x20\x20'['trim']();}[a0_0x49adb5(0x1cf)](_0xa30d6a){const _0x187d38=a0_0x49adb5;try{const _0x55d965=a0_0xdf09d2[_0x187d38(0x1c3)](_0xa30d6a,'summary'),_0x17b344=a0_0xdf09d2['extractContent'](_0xa30d6a,'details'),_0x44d5da=a0_0xdf09d2['extractContent'](_0xa30d6a,_0x187d38(0x1b0));let _0x5c8c44='',_0x4818c8='',_0x44f42d=!![];return _0x55d965[_0x187d38(0x1b4)]>0x0?(_0x5c8c44=_0x55d965[0x0]['trim'](),_0x4818c8=_0x17b344[_0x187d38(0x1b4)]>0x0?_0x17b344[0x0][_0x187d38(0x1bc)]():'',_0x44f42d=_0x44d5da[_0x187d38(0x1b4)]>0x0?_0x44d5da[0x0]['toLowerCase']()!=='false':!![]):_0x5c8c44=_0xa30d6a['trim']()||'Task\x20completed',{'actions':[{'action':'complete','summary':_0x5c8c44,'success':_0x44f42d,'details':_0x4818c8||undefined}]};}catch(_0x1bb7a0){return{'actions':[{'action':_0x187d38(0x1b5),'summary':_0xa30d6a['trim']()||_0x187d38(0x1bb),'success':!![]}]};}}[a0_0x49adb5(0x1be)](){const _0x25c09b=a0_0x49adb5;return{'type':'object','properties':{'actions':{'type':'array','items':{'type':'object','properties':{'action':{'type':_0x25c09b(0x1bf),'enum':['complete'],'description':_0x25c09b(0x1cb)},'summary':{'type':'string','description':'Clear\x20summary\x20of\x20what\x20you\x20accomplished\x20OR\x20what\x20prevented\x20completion\x20(e.g.,\x20\x22Created\x205\x20song\x20files\x20successfully\x22,\x20\x22Unable\x20to\x20proceed:\x20missing\x20API\x20credentials\x22,\x20\x22Stuck\x20after\x203\x20failed\x20compilation\x20attempts\x22)'},'success':{'type':'boolean','default':!![],'description':_0x25c09b(0x1d2)},'details':{'type':'string','description':'Optional:\x20Additional\x20details\x20about\x20what\x20was\x20done,\x20what\x20failed,\x20any\x20files\x20created,\x20or\x20next\x20steps\x20for\x20the\x20user'}},'required':[_0x25c09b(0x1ba),_0x25c09b(0x1ca)],'additionalProperties':![]},'minItems':0x1,'maxItems':0x1}},'required':['actions'],'additionalProperties':![]};}async['execute'](_0x529ca3,_0x5786aa={}){const _0x42e11c=a0_0x49adb5;try{const {actions:_0xcb6235}=_0x529ca3;if(!_0xcb6235||!Array[_0x42e11c(0x1b2)](_0xcb6235)||_0xcb6235['length']===0x0)throw new Error(_0x42e11c(0x1d6));const _0x54d4a7=_0xcb6235[0x0];if(_0x54d4a7[_0x42e11c(0x1ba)]!==_0x42e11c(0x1b5))throw new Error(_0x42e11c(0x1c9));if(!_0x54d4a7[_0x42e11c(0x1ca)])throw new Error(_0x42e11c(0x1d5));const _0x230b3f=_0x5786aa['agentId'];let _0x37e032='';if(_0x230b3f&&_0x5786aa['toolsRegistry'])try{if(this['agentPool']){const _0x1cdcde=await this['agentPool']['getAgent'](_0x230b3f);_0x1cdcde&&(_0x37e032='\x20by\x20agent\x20\x22'+_0x1cdcde[_0x42e11c(0x1d0)]+'\x22');}}catch(_0x2deb1b){}const _0x1a3b20=_0x42e11c(0x1b3)+_0x37e032+(_0x54d4a7['success']!==![]?'\x20successfully':_0x42e11c(0x1c5))+'\x0a\x0a**Summary:**\x20'+_0x54d4a7[_0x42e11c(0x1ca)]+(_0x54d4a7[_0x42e11c(0x1c8)]?'\x0a\x0a**Details:**\x20'+_0x54d4a7['details']:'')+'\x0a\x0a*Autonomous\x20mode\x20will\x20now\x20exit.*';return{'success':!![],'output':_0x1a3b20,'taskComplete':!![],'summary':_0x54d4a7[_0x42e11c(0x1ca)],'details':_0x54d4a7['details']||null,'successfulCompletion':_0x54d4a7['success']!==![],'metadata':{'toolId':this['id'],'agentId':_0x230b3f||'unknown','completedAt':new Date()['toISOString'](),'action':_0x54d4a7['action']}};}catch(_0x2a13f5){return{'success':![],'error':_0x2a13f5[_0x42e11c(0x1c1)],'output':'Failed\x20to\x20mark\x20task\x20as\x20complete:\x20'+_0x2a13f5['message'],'taskComplete':![]};}}['setAgentPool'](_0x1bbe5e){this['agentPool']=_0x1bbe5e;}['getCapabilities'](){const _0xb07693=a0_0x49adb5;return{'id':this['id'],'name':this[_0xb07693(0x1d0)],'description':this[_0xb07693(0x1c7)],'version':this[_0xb07693(0x1c4)],'capabilities':this[_0xb07693(0x1c2)],'requiresProject':this['requiresProject'],'async':this['async'],'enabled':!![],'schema':this[_0xb07693(0x1be)]()};}}export default JobDoneTool;
|