@loxia-labs/loxia-autopilot-one 1.0.12 → 1.0.13
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/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 -2
- 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/src/utilities/userDataDir.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5c78(_0x2aa757,_0x5329b3){_0x2aa757=_0x2aa757-0x120;const _0x443fd9=a0_0x443f();let _0x5c78c1=_0x443fd9[_0x2aa757];if(a0_0x5c78['giYObD']===undefined){var _0x1495bc=function(_0x164fb4){const _0x519766='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x543bdf='',_0x23370a='';for(let _0x2e8510=0x0,_0x1a4f8d,_0x3c1047,_0x33d5e7=0x0;_0x3c1047=_0x164fb4['charAt'](_0x33d5e7++);~_0x3c1047&&(_0x1a4f8d=_0x2e8510%0x4?_0x1a4f8d*0x40+_0x3c1047:_0x3c1047,_0x2e8510++%0x4)?_0x543bdf+=String['fromCharCode'](0xff&_0x1a4f8d>>(-0x2*_0x2e8510&0x6)):0x0){_0x3c1047=_0x519766['indexOf'](_0x3c1047);}for(let _0x51a29c=0x0,_0x5dea10=_0x543bdf['length'];_0x51a29c<_0x5dea10;_0x51a29c++){_0x23370a+='%'+('00'+_0x543bdf['charCodeAt'](_0x51a29c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23370a);};a0_0x5c78['LflmRm']=_0x1495bc,a0_0x5c78['TgPBoe']={},a0_0x5c78['giYObD']=!![];}const _0xb679ce=_0x443fd9[0x0],_0x5d2616=_0x2aa757+_0xb679ce,_0x16eeb2=a0_0x5c78['TgPBoe'][_0x5d2616];return!_0x16eeb2?(_0x5c78c1=a0_0x5c78['LflmRm'](_0x5c78c1),a0_0x5c78['TgPBoe'][_0x5d2616]=_0x5c78c1):_0x5c78c1=_0x16eeb2,_0x5c78c1;}const a0_0x4ccab5=a0_0x5c78;(function(_0x1b13fd,_0x56746d){const _0x5d6261=a0_0x5c78,_0x3f1925=_0x1b13fd();while(!![]){try{const _0x41acf8=-parseInt(_0x5d6261(0x168))/0x1*(parseInt(_0x5d6261(0x151))/0x2)+parseInt(_0x5d6261(0x135))/0x3+-parseInt(_0x5d6261(0x152))/0x4*(-parseInt(_0x5d6261(0x150))/0x5)+-parseInt(_0x5d6261(0x140))/0x6+-parseInt(_0x5d6261(0x18e))/0x7*(-parseInt(_0x5d6261(0x197))/0x8)+parseInt(_0x5d6261(0x133))/0x9*(-parseInt(_0x5d6261(0x177))/0xa)+parseInt(_0x5d6261(0x173))/0xb;if(_0x41acf8===_0x56746d)break;else _0x3f1925['push'](_0x3f1925['shift']());}catch(_0x2e0811){_0x3f1925['push'](_0x3f1925['shift']());}}}(a0_0x443f,0xc7cbe));import{BaseTool}from'./baseTool.js';import{promises as a0_0x543bdf}from'fs';import a0_0x23370a 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_0x4ccab5(0x12e),'VERTICAL':'│\x20\x20\x20','INDENT':a0_0x4ccab5(0x16f)}},DEFAULT_IGNORE_DIRECTORIES=['node_modules',a0_0x4ccab5(0x132),a0_0x4ccab5(0x180),'build',a0_0x4ccab5(0x16e),a0_0x4ccab5(0x178),'.nuxt',a0_0x4ccab5(0x12c),'out','target',a0_0x4ccab5(0x156),'bower_components',a0_0x4ccab5(0x18f),'.idea',a0_0x4ccab5(0x15c),a0_0x4ccab5(0x14c),'venv',a0_0x4ccab5(0x18a),'.env','.pytest_cache','.mypy_cache','eggs','.eggs','lib','lib64','parts',a0_0x4ccab5(0x17a),a0_0x4ccab5(0x15a),a0_0x4ccab5(0x189),'.nox','htmlcov','.hypothesis',a0_0x4ccab5(0x179),'temp',a0_0x4ccab5(0x167),'.temp'],DEFAULT_IGNORE_EXTENSIONS=['.map',a0_0x4ccab5(0x123),'.min.css','.lock','.log','.tmp','.temp','.pyc','.pyo','.pyd',a0_0x4ccab5(0x141),a0_0x4ccab5(0x158),a0_0x4ccab5(0x18d),'.exe',a0_0x4ccab5(0x190),'.o','.a',a0_0x4ccab5(0x186),'.jar',a0_0x4ccab5(0x12a)],BINARY_EXTENSIONS=[a0_0x4ccab5(0x183),'.jpg','.jpeg',a0_0x4ccab5(0x199),a0_0x4ccab5(0x155),'.ico','.svg',a0_0x4ccab5(0x153),a0_0x4ccab5(0x120),'.tar',a0_0x4ccab5(0x17f),'.rar',a0_0x4ccab5(0x18b),a0_0x4ccab5(0x175),a0_0x4ccab5(0x146),'.avi','.mov','.wmv',a0_0x4ccab5(0x184),a0_0x4ccab5(0x161),a0_0x4ccab5(0x144),'.eot','.bin','.dat','.db','.sqlite'];class FileTreeTool extends BaseTool{constructor(_0x2e8510={},_0x1a4f8d=null){const _0x2711b9=a0_0x4ccab5;super(_0x2e8510,_0x1a4f8d),this['id']='file-tree',this['requiresProject']=!![],this['isAsync']=!![],this['timeout']=_0x2e8510['timeout']||0x1d4c0,this['treeConfig']={...TREE_CONFIG,..._0x2e8510[_0x2711b9(0x187)]},this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}['getDescription'](){const _0x1f142e=a0_0x4ccab5;return'\x0aFile\x20Tree\x20Tool:\x20Generate\x20hierarchical\x20tree\x20representation\x20of\x20project\x20directory\x20structure.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x22maxDepth\x22:\x204,\x0a\x20\x20\x22includeExtensions\x22:\x20[\x22.js\x22,\x20\x22.jsx\x22,\x20\x22.ts\x22,\x20\x22.tsx\x22],\x0a\x20\x20\x22excludeExtensions\x22:\x20[\x22.test.js\x22,\x20\x22.spec.js\x22],\x0a\x20\x20\x22showFiles\x22:\x20true,\x0a\x20\x20\x22showHidden\x22:\x20false\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a\x0adirectory\x20(optional):\x0a\x20\x20-\x20Directory\x20to\x20scan\x20(default:\x20working\x20directory)\x0a\x20\x20-\x20Can\x20be\x20relative\x20or\x20absolute\x20path\x0a\x20\x20-\x20Examples:\x20\x22src\x22,\x20\x22src/components\x22,\x20\x22/home/user/project\x22\x0a\x0amaxDepth\x20(optional):\x0a\x20\x20-\x20Maximum\x20depth\x20to\x20scan\x20(default:\x20'+TREE_CONFIG['DEFAULT_MAX_DEPTH']+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG[_0x1f142e(0x137)]+_0x1f142e(0x12b)+TREE_CONFIG[_0x1f142e(0x137)]+'\x0a-\x20Maximum\x20files:\x20'+TREE_CONFIG['MAX_FILES_IN_TREE']+'\x0a-\x20Maximum\x20directories:\x20'+TREE_CONFIG[_0x1f142e(0x14a)]+_0x1f142e(0x15e);}['parseParameters'](_0x3c1047){const _0x425c1b=a0_0x4ccab5;try{if(_0x3c1047['trim']()[_0x425c1b(0x198)]('{')){const _0x333d4f=JSON[_0x425c1b(0x17c)](_0x3c1047);return{'directory':_0x333d4f['directory']||'.','maxDepth':_0x333d4f['maxDepth']||TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':_0x333d4f['includeExtensions']||[],'excludeExtensions':_0x333d4f['excludeExtensions']||[],'excludeDirectories':_0x333d4f[_0x425c1b(0x160)]||[],'showFiles':_0x333d4f[_0x425c1b(0x127)]!==![],'showHidden':_0x333d4f[_0x425c1b(0x14f)]===!![],'showSizes':_0x333d4f['showSizes']===!![],'ignoreBinaryFiles':_0x333d4f['ignoreBinaryFiles']===!![]};}const _0x33d5e7={'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x51a29c=/<directory>(.*?)<\/directory>/i,_0x5dea10=_0x51a29c[_0x425c1b(0x15f)](_0x3c1047);_0x5dea10&&(_0x33d5e7['directory']=_0x5dea10[0x1]['trim']());const _0xe43810=/<max-depth>(\d+)<\/max-depth>/i,_0x12d7d3=_0xe43810[_0x425c1b(0x15f)](_0x3c1047);_0x12d7d3&&(_0x33d5e7[_0x425c1b(0x191)]=parseInt(_0x12d7d3[0x1],0xa));const _0x30ac63=/<include-extensions>(.*?)<\/include-extensions>/i,_0x4f7160=_0x30ac63['exec'](_0x3c1047);_0x4f7160&&(_0x33d5e7[_0x425c1b(0x149)]=_0x4f7160[0x1]['split'](',')[_0x425c1b(0x159)](_0x254b75=>_0x254b75[_0x425c1b(0x13f)]())[_0x425c1b(0x182)](_0x470e12=>_0x470e12[_0x425c1b(0x16c)]>0x0));const _0x164633=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x76054=_0x164633[_0x425c1b(0x15f)](_0x3c1047);_0x76054&&(_0x33d5e7['excludeExtensions']=_0x76054[0x1][_0x425c1b(0x16a)](',')[_0x425c1b(0x159)](_0x4a019e=>_0x4a019e['trim']())[_0x425c1b(0x182)](_0x2d4c1c=>_0x2d4c1c[_0x425c1b(0x16c)]>0x0));const _0x32238f=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x15bc18=_0x32238f['exec'](_0x3c1047);_0x15bc18&&(_0x33d5e7[_0x425c1b(0x160)]=_0x15bc18[0x1]['split'](',')[_0x425c1b(0x159)](_0x5a1bab=>_0x5a1bab[_0x425c1b(0x13f)]())['filter'](_0x31c48e=>_0x31c48e['length']>0x0));const _0x4d5077=/<show-files>(.*?)<\/show-files>/i,_0x556bf4=_0x4d5077[_0x425c1b(0x15f)](_0x3c1047);_0x556bf4&&(_0x33d5e7[_0x425c1b(0x127)]=_0x556bf4[0x1]['trim']()['toLowerCase']()!==_0x425c1b(0x129));const _0x3bedd6=/<show-hidden>(.*?)<\/show-hidden>/i,_0x5f0601=_0x3bedd6[_0x425c1b(0x15f)](_0x3c1047);_0x5f0601&&(_0x33d5e7['showHidden']=_0x5f0601[0x1][_0x425c1b(0x13f)]()['toLowerCase']()===_0x425c1b(0x164));const _0x4e9c54=/<show-sizes>(.*?)<\/show-sizes>/i,_0x26df2=_0x4e9c54['exec'](_0x3c1047);_0x26df2&&(_0x33d5e7[_0x425c1b(0x14e)]=_0x26df2[0x1][_0x425c1b(0x13f)]()['toLowerCase']()===_0x425c1b(0x164));const _0x1b1289=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0xfe0929=_0x1b1289['exec'](_0x3c1047);return _0xfe0929&&(_0x33d5e7['ignoreBinaryFiles']=_0xfe0929[0x1][_0x425c1b(0x13f)]()[_0x425c1b(0x13b)]()==='true'),_0x33d5e7;}catch(_0xef4dd1){return this['logger']?.['error'](_0x425c1b(0x143),{'error':_0xef4dd1['message']}),{'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0xef4dd1['message']};}}[a0_0x4ccab5(0x163)](){return[];}[a0_0x4ccab5(0x196)](_0x1ffdbc){const _0x37aac5=a0_0x4ccab5,_0x118a93=[];if(_0x1ffdbc[_0x37aac5(0x191)]!==undefined){if(typeof _0x1ffdbc[_0x37aac5(0x191)]!=='number'||_0x1ffdbc['maxDepth']<0x1)_0x118a93['push'](_0x37aac5(0x17e));else _0x1ffdbc['maxDepth']>this[_0x37aac5(0x187)]['MAX_DEPTH_LIMIT']&&_0x118a93[_0x37aac5(0x15b)]('max-depth\x20cannot\x20exceed\x20'+this['treeConfig']['MAX_DEPTH_LIMIT']);}_0x1ffdbc['directory']&&_0x1ffdbc[_0x37aac5(0x188)]['includes']('..')&&_0x118a93[_0x37aac5(0x15b)]('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');if(_0x1ffdbc[_0x37aac5(0x149)]!==undefined&&_0x1ffdbc[_0x37aac5(0x149)]!==null){if(!Array['isArray'](_0x1ffdbc['includeExtensions']))_0x118a93[_0x37aac5(0x15b)]('includeExtensions\x20must\x20be\x20an\x20array');else for(const _0x387698 of _0x1ffdbc['includeExtensions']){!_0x387698[_0x37aac5(0x198)]('.')&&_0x118a93[_0x37aac5(0x15b)](_0x37aac5(0x125)+_0x387698+_0x37aac5(0x17b));}}if(_0x1ffdbc[_0x37aac5(0x195)]!==undefined&&_0x1ffdbc[_0x37aac5(0x195)]!==null){if(!Array[_0x37aac5(0x157)](_0x1ffdbc['excludeExtensions']))_0x118a93['push']('excludeExtensions\x20must\x20be\x20an\x20array');else for(const _0x1ace29 of _0x1ffdbc[_0x37aac5(0x195)]){!_0x1ace29['startsWith']('.')&&_0x118a93[_0x37aac5(0x15b)](_0x37aac5(0x125)+_0x1ace29+_0x37aac5(0x17b));}}_0x1ffdbc['excludeDirectories']!==undefined&&_0x1ffdbc[_0x37aac5(0x160)]!==null&&(!Array['isArray'](_0x1ffdbc[_0x37aac5(0x160)])&&_0x118a93[_0x37aac5(0x15b)](_0x37aac5(0x128)));if(_0x118a93['length']>0x0)throw new Error('Parameter\x20validation\x20failed:\x20'+_0x118a93['join'](',\x20'));return{'valid':!![],'errors':[]};}async[a0_0x4ccab5(0x147)](_0x40cbb6,_0x25c8ab){const _0x32c19a=a0_0x4ccab5,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG[_0x32c19a(0x176)],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x40cbb6,{projectDir:_0x7af553,agentId:_0x49246f,directoryAccess:_0x27fe5f}=_0x25c8ab;let _0xed0a2d=_0x7af553||process[_0x32c19a(0x193)]();_0x27fe5f&&_0x27fe5f['workingDirectory']&&(_0xed0a2d=_0x27fe5f[_0x32c19a(0x162)],this['logger']?.['info'](_0x32c19a(0x15d),{'workingDirectory':_0x27fe5f[_0x32c19a(0x162)],'agentId':_0x49246f}));const _0x23d76f=a0_0x23370a[_0x32c19a(0x124)](directory)?directory:a0_0x23370a['resolve'](_0xed0a2d,directory);try{const _0x5e37e5=await a0_0x543bdf['stat'](_0x23d76f);if(!_0x5e37e5[_0x32c19a(0x138)]())throw new Error('Path\x20is\x20not\x20a\x20directory');}catch(_0x1f82bf){throw new Error('Directory\x20does\x20not\x20exist\x20or\x20is\x20inaccessible:\x20'+directory);}this[_0x32c19a(0x192)]?.['info']('Generating\x20file\x20tree',{'directory':directory,'targetDir':_0x23d76f,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.[_0x32c19a(0x16c)]||0x0,'excludeExtensions':excludeExtensions?.['length']||0x0,'agentId':_0x49246f}),this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x59b871=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x536b15=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x536b15['push'](...BINARY_EXTENSIONS);const _0x7c030=await this[_0x32c19a(0x126)](_0x23d76f,_0x23d76f,0x0,maxDepth,_0x59b871,includeExtensions||[],[...excludeExtensions||[],..._0x536b15],showFiles,showHidden,showSizes),_0x35a787=this[_0x32c19a(0x185)](_0x7c030),_0x490bfe=this['generateSummary'](directory,this['stats'],maxDepth);return{'success':!![],'directory':_0x23d76f,'tree':_0x35a787,'summary':_0x490bfe,'maxDepth':maxDepth,'totalFiles':this[_0x32c19a(0x121)]['filesCount'],'totalDirectories':this[_0x32c19a(0x121)][_0x32c19a(0x13c)],'skippedCount':this[_0x32c19a(0x121)][_0x32c19a(0x14b)],'statistics':{...this[_0x32c19a(0x121)]},'toolUsed':'file-tree'};}async[a0_0x4ccab5(0x126)](_0x58934e,_0x481696,_0x58c949,_0x3085b5,_0xe02108,_0x531ad2,_0x61b919,_0x2a1b31,_0x237d26,_0xadb397){const _0x25b93a=a0_0x4ccab5;if(_0x58c949>_0x3085b5)return null;if(this[_0x25b93a(0x121)][_0x25b93a(0x13c)]>=this['treeConfig']['MAX_DIRECTORIES'])return this['logger']?.[_0x25b93a(0x122)]('Maximum\x20directory\x20count\x20reached',{'maxDirectories':this['treeConfig']['MAX_DIRECTORIES']}),null;try{const _0x92c682=await a0_0x543bdf[_0x25b93a(0x142)](_0x481696,{'withFileTypes':!![]}),_0x4ed8b3={'name':_0x58c949===0x0?a0_0x23370a[_0x25b93a(0x172)](_0x481696)+'/':a0_0x23370a[_0x25b93a(0x172)](_0x481696),'path':a0_0x23370a[_0x25b93a(0x166)](_0x58934e,_0x481696),'type':_0x25b93a(0x188),'children':[]};this['stats']['directoriesCount']++;for(const _0xb90f10 of _0x92c682){if(this[_0x25b93a(0x121)]['filesCount']>=this[_0x25b93a(0x187)]['MAX_FILES_IN_TREE']){this[_0x25b93a(0x192)]?.[_0x25b93a(0x122)](_0x25b93a(0x131),{'maxFiles':this[_0x25b93a(0x187)][_0x25b93a(0x13e)]});break;}if(!_0x237d26&&_0xb90f10['name']['startsWith']('.')){this[_0x25b93a(0x121)][_0x25b93a(0x14b)]++;continue;}const _0x27bd56=a0_0x23370a['join'](_0x481696,_0xb90f10[_0x25b93a(0x169)]);if(_0xb90f10[_0x25b93a(0x138)]()){if(_0xe02108['includes'](_0xb90f10[_0x25b93a(0x169)])){this[_0x25b93a(0x121)][_0x25b93a(0x14b)]++;continue;}const _0x5c5f40=await this[_0x25b93a(0x126)](_0x58934e,_0x27bd56,_0x58c949+0x1,_0x3085b5,_0xe02108,_0x531ad2,_0x61b919,_0x2a1b31,_0x237d26,_0xadb397);_0x5c5f40&&(_0x5c5f40['children'][_0x25b93a(0x16c)]>0x0||_0x58c949===0x0)&&_0x4ed8b3['children'][_0x25b93a(0x15b)](_0x5c5f40);}else{if(_0xb90f10[_0x25b93a(0x170)]()&&_0x2a1b31){if(_0x58c949+0x1>_0x3085b5)continue;const _0x551024=a0_0x23370a[_0x25b93a(0x18c)](_0xb90f10[_0x25b93a(0x169)]);if(_0x531ad2[_0x25b93a(0x16c)]>0x0){if(!_0x531ad2[_0x25b93a(0x134)](_0x551024)){this['stats'][_0x25b93a(0x14b)]++;continue;}}else{if(_0x61b919[_0x25b93a(0x134)](_0x551024)){this[_0x25b93a(0x121)][_0x25b93a(0x14b)]++;continue;}}let _0x547ee8='';if(_0xadb397)try{const _0x38f639=await a0_0x543bdf[_0x25b93a(0x14d)](_0x27bd56);_0x547ee8='\x20('+this[_0x25b93a(0x136)](_0x38f639[_0x25b93a(0x194)])+')';}catch(_0x3002b5){}_0x4ed8b3[_0x25b93a(0x12f)][_0x25b93a(0x15b)]({'name':_0xb90f10['name']+_0x547ee8,'path':a0_0x23370a[_0x25b93a(0x166)](_0x58934e,_0x27bd56),'type':_0x25b93a(0x148),'ext':_0x551024}),this['stats'][_0x25b93a(0x154)]++;}}}return _0x4ed8b3['children']['sort']((_0x24bcdc,_0x2e217f)=>{const _0x55f6e4=_0x25b93a;if(_0x24bcdc[_0x55f6e4(0x145)]===_0x2e217f[_0x55f6e4(0x145)])return _0x24bcdc[_0x55f6e4(0x169)][_0x55f6e4(0x16b)](_0x2e217f[_0x55f6e4(0x169)]);return _0x24bcdc[_0x55f6e4(0x145)]===_0x55f6e4(0x188)?-0x1:0x1;}),_0x4ed8b3;}catch(_0x1af9d4){return this[_0x25b93a(0x192)]?.['error']('Error\x20building\x20tree',{'currentPath':_0x481696,'error':_0x1af9d4[_0x25b93a(0x16d)]}),{'name':a0_0x23370a[_0x25b93a(0x172)](_0x481696),'path':a0_0x23370a[_0x25b93a(0x166)](_0x58934e,_0x481696),'type':_0x25b93a(0x188),'error':_0x1af9d4['message'],'children':[]};}}[a0_0x4ccab5(0x185)](_0xf9d547,_0x423225='',_0x1e50ea=!![],_0x40e353=!![]){const _0x6054ad=a0_0x4ccab5;if(!_0xf9d547)return'';const _0x58d4d2=this['treeConfig']['SYMBOLS'];let _0x2080fb='';_0x40e353?_0x2080fb=_0xf9d547['name']+'\x0a':_0x2080fb=''+_0x423225+(_0x1e50ea?_0x58d4d2['LAST_BRANCH']:_0x58d4d2['BRANCH'])+_0xf9d547[_0x6054ad(0x169)]+'\x0a';if(_0xf9d547[_0x6054ad(0x12f)]&&_0xf9d547['children'][_0x6054ad(0x16c)]>0x0){const _0x291380=_0x40e353?'':_0x423225+(_0x1e50ea?_0x58d4d2['INDENT']:_0x58d4d2['VERTICAL']);_0xf9d547[_0x6054ad(0x12f)]['forEach']((_0x364649,_0x28bf7b)=>{const _0x8fcc06=_0x6054ad,_0x187655=_0x28bf7b===_0xf9d547['children'][_0x8fcc06(0x16c)]-0x1;_0x2080fb+=this['formatTree'](_0x364649,_0x291380,_0x187655,![]);});}return _0x2080fb;}[a0_0x4ccab5(0x136)](_0x5b8343){const _0xf66ad1=a0_0x4ccab5,_0x18517f=0x400,_0x9dc837=_0x18517f*0x400,_0x1402de=_0x9dc837*0x400;if(_0x5b8343>=_0x1402de)return(_0x5b8343/_0x1402de)[_0xf66ad1(0x13a)](0x2)+_0xf66ad1(0x17d);else{if(_0x5b8343>=_0x9dc837)return(_0x5b8343/_0x9dc837)[_0xf66ad1(0x13a)](0x2)+'\x20MB';else return _0x5b8343>=_0x18517f?(_0x5b8343/_0x18517f)['toFixed'](0x2)+_0xf66ad1(0x171):_0x5b8343+'\x20B';}}['generateSummary'](_0x2b3a6c,_0x464a9e,_0x36ea62){const _0x1424a8=a0_0x4ccab5;return(_0x1424a8(0x139)+_0x2b3a6c+_0x1424a8(0x13d)+_0x36ea62+'\x0aFiles:\x20'+_0x464a9e[_0x1424a8(0x154)]+'\x0aDirectories:\x20'+_0x464a9e[_0x1424a8(0x13c)]+_0x1424a8(0x174)+_0x464a9e['skippedCount']+_0x1424a8(0x12d))['trim']();}async[a0_0x4ccab5(0x165)](_0x1f94c7){const _0x261bbc=a0_0x4ccab5;this[_0x261bbc(0x192)]?.[_0x261bbc(0x130)](_0x261bbc(0x181),{'operationId':_0x1f94c7});}}function a0_0x443f(){const _0x111b22=['n2Xqvu5wDa','lNzZy29Kzq','lM9IAG','Bwf4rgvWDgG','Bg9Nz2vY','y3DK','C2L6zq','zxHJBhvKzuv4DgvUC2LVBNm','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','ntiXnJG4AhDctLLS','C3rHCNrZv2L0Aa','lMDPzG','lNPPCa','C3rHDhm','D2fYBG','lM1PBI5QCW','AxnbyNnVBhv0zq','rxH0zw5ZAw9Uici','yNvPBgruCMvL','C2HVD0zPBgvZ','zxHJBhvKzurPCMvJDg9YAwvZig11C3qGyMuGyw4GyxjYyxK','zMfSC2u','lNDHCG','cIaGlsbezwvWzxiGpsbTB3jLigrLDgfPBcWGC2XVD2vYihbLCMzVCM1HBMnLcGPPBMnSDwrLrxH0zw5ZAw9UCYaOB3b0Aw9UywWGlsbxseLuruXju1qPoGOGic0Gsw5JBhvKzsbptKXzihrOzxnLigzPBguGzxH0zw5ZAw9UCWOGic0GqxjYyxKGB2yGzxH0zw5ZAw9UCWOGic0GrxHHBxbSzxm6ifSIlMPZiIWGiI5QC3GIlcaIlNrZiIWGiI50C3GIxqOGic0GvgfRzxmGChjLy2vKzw5JzsbVDMvYigv4y2X1zgvfEhrLBNnPB25ZcGPLEgnSDwrLrxH0zw5ZAw9UCYaOB3b0Aw9UywWGlsbctefds0Xju1qPoGOGic0GrxHJBhvKzsb0AgvZzsbMAwXLigv4DgvUC2LVBNmkicaTiefYCMf5ig9Migv4DgvUC2LVBNmkicaTiev4yw1WBgvZoIbBiI50zxn0lMPZiIWGiI5ZCgvJlMPZiIWGiI5TAw4UANmIxqOGic0Gt25SEsbHChbSAwvZigLMigLUy2X1zgvfEhrLBNnPB25ZigLZig5VDcbZzxqkcMv4y2X1zgveAxjLy3rVCMLLCYaOB3b0Aw9UywWPoGOGic0GqwrKAxrPB25HBcbKAxjLy3rVCMLLCYb0BYbPz25VCMukicaTiefSCMvHzhKGAwDUB3jLCZOGBM9Kzv9TB2r1BgvZlcaUz2L0lcbKAxn0lcbIDwLSzcWGzxrJlGOGic0GrxHHBxbSzxm6ifSIDgvZDhmIlcaIzML4DhvYzxmIlcaIBw9JA3mIxqOkC2HVD0zPBgvZicHVChrPB25HBcK6cIaGlsbxAgv0AgvYihrVihnOB3CGzMLSzxmGkgrLzMf1Bhq6ihrYDwuPcIaGlsbtzxqGDg8GzMfSC2uGDg8GC2HVDYbVBMX5igrPCMvJDg9YEsbZDhj1y3r1CMukcNnOB3DiAwrKzw4Gkg9WDgLVBMfSktOkicaTifDOzxrOzxiGDg8GC2HVDYbOAwrKzw4GzMLSzxmVzM9SzgvYCYaOzgvMyxvSDdOGzMfSC2uPcIaGlsbiAwrKzw4GpsbZDgfYDhmGD2L0AcaNlICkcNnOB3DtAxPLCYaOB3b0Aw9UywWPoGOGic0Gv2HLDgHLCIb0BYbZAg93igzPBguGC2L6zxmGkgrLzMf1Bhq6igzHBhnLkqOGic0GrM9YBwf0oIblqIWGtuikcMLNBM9YzujPBMfYEuzPBgvZicHVChrPB25HBcK6cIaGlsbxAgv0AgvYihrVigLNBM9YzsbIAw5HCNKVBwvKAweGzMLSzxmGkgrLzMf1Bhq6igzHBhnLkqOGic0GswDUB3jLCZOGAw1Hz2vZlcb2AwrLB3mSigfYy2HPDMvZlcbMB250CYWGzxrJlGOkrvHbtvbmrvm6cGPfEgfTCgXLideGlsbcyxnPyYb0CMvLoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6iciUiGP9cMbGyaOkrxHHBxbSzsaYic0GsMf2yvnJCMLWDc9uExbLu2nYAxb0ig9UBhK6cMbGygPZB24kEWOGicj0B29SswqIoIaIzMLSzs10CMvLiIWkicaIzgLYzwn0B3j5iJOGiNnYyYiScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUANmIlcaIlMPZEciSiciUDhmIlcaIlNrZEcjDlaOGicjTyxHezxb0Aci6idukFqPGygakcKv4yw1WBguGmYaTifb5DgHVBIbWCM9Qzwn0ihn0CNvJDhvYztOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjMAwXLlxrYzwuIlaOGicjKAxjLy3rVCNKIoIaIlIiScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUChKIxsWkicaIzxHJBhvKzuv4DgvUC2LVBNmIoIbBiI5WEwmIxsWkicaIC2HVD0zPBgvZiJOGDhj1zqP9cMbGyaOkrxHHBxbSzsa0ic0GrgLYzwn0B3j5ihn0CNvJDhvYzsbVBMX5oGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicjZAg93rMLSzxmIoIbMywXZzsWkicaIBwf4rgvWDgGIoIaZcN0kygbGcGPfEgfTCgXLiduGlsbfEgnSDwrLihrLC3qGzMLSzxm6cMbGygPZB24kEWOGicj0B29SswqIoIaIzMLSzs10CMvLiIWkicaIzgLYzwn0B3j5iJOGiNnYyYiScIaGiMv4y2X1zgvfEhrLBNnPB25ZiJOGwYiUDgvZDc5QCYiSiciUC3bLyY5QCYiSiciUDgvZDc50CYiSiciUC3bLyY50CYjDlaOGicjLEgnSDwrLrgLYzwn0B3jPzxmIoIbBiL9FDgvZDhnFxYiSicj0zxn0CYiSicjZCgvJCYjDcN0kygbGcGPpvvrqvvqGrK9stufuoGPZCMmVcUkuNokuGokuGcbJB21WB25LBNrZlWRILiiGicdILjZILidILiaGsgvHzgvYlMPZEaRILiiGicdILjZILidILiaGrM9VDgvYlMPZEaRILiiGicdILjtILidILiaGtgf5B3v0lMPZEaRILjZILidILiaGDxrPBhmVcUkuGIaGiokuNokuGokuGcbOzwXWzxjZlMPZcUkuGIaGiokuLokuGokuGcbJB25MAwCUANmk4Psu4Psa4PsaigLUzgv4lMPZcGPbvvrptufusumGsuDot1jfuZOkvgHLihrVB2WGyxv0B21HDgLJywXSEsbPz25VCMvZignVBw1VBIbKAxjLy3rVCMLLCZOklsbUB2rLx21VzhvSzxmSic5NAxqSigrPC3qSigj1AwXKlcbJB3zLCMfNzqOTic5UzxH0lcaUBNv4DcWGlMnHy2HLlcbVDxqSihrHCMDLDaOTic52C2nVzguSic5PzgvHlcbFx3b5y2fJAgvFxYWGDMvUDGOkteLnsvrbveLptLm6cI0Gtwf4Aw11BsbKzxb0AdOG','lMnHy2HL','cIaGica','4Psu4Psa4Psaia','y2HPBgrYzw4','Aw5MBW','twf4Aw11BsbMAwXLignVDw50ihjLywnOzwq','lMDPDa','otq4nte5CMfcr09b','Aw5JBhvKzxm','mte2nty1m0fNAwnhra','zM9YBwf0rMLSzvnPEMu','tufyx0rfufrix0XjtuLu','AxneAxjLy3rVCNK','cKrPCMvJDg9YEtOG','Dg9gAxHLza','Dg9mB3DLCKnHC2u','zgLYzwn0B3jPzxndB3vUDa','cK1HEcbezxb0AdOG','tufyx0zjtevtx0Lox1rsruu','DhjPBq','ndGYoty3nLbJCe5Xzq','lNnV','CMvHzgrPCG','rMfPBgvKihrVihbHCNnLigzPBguTDhjLzsbWyxjHBwv0zxjZ','lNr0zG','DhLWzq','lM1Wna','zxHLy3v0zq','zMLSzq','Aw5JBhvKzuv4DgvUC2LVBNm','tufyx0rjuKvdve9ssuvt','C2TPChbLzenVDw50','x19WEwnHy2HLx18','C3rHDa','C2HVD1nPEMvZ','C2HVD0HPzgrLBG','mJqXodKWnuTNB2DHwG','mNLuDgfiBG','ne9QAvnXwq','lNbKzG','zMLSzxndB3vUDa','lMjTCa','DMvUzg9Y','AxnbCNjHEq','lMrSBa','BwfW','D2HLzwXZ','ChvZAa','lNzZ','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','cI0GqMLUyxj5igzPBgvZignHBIbIzsbMAwX0zxjLzcb3AxrOigLNBM9YzujPBMfYEuzPBgvZig9WDgLVBGOGicaG','zxHLyW','zxHJBhvKzurPCMvJDg9YAwvZ','lNDVzMyY','D29YA2LUz0rPCMvJDg9YEq','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','Dhj1zq','y2XLyw51Ca','CMvSyxrPDMu','lNrTCa','mta5nJiYmwf1DwnPBq','BMfTzq','C3bSAxq','Bg9JywXLq29TCgfYzq','BgvUz3rO','BwvZC2fNzq','y292zxjHz2u','icaGia','AxngAwXL','ieTc','yMfZzw5HBwu','mJy1ntC2otz4q1jUzxm','cLnRAxbWzwq6ia','lM1WmW','revgqvvmvf9nqvHFrevqveG','nJbHBMnxzNm','lM5LEhq','Dg1W','C2rPC3q','iIbTDxn0ihn0yxj0ihDPDgGGysbKB3qGkguUzY4SiciUANmIkq','CgfYC2u','ieDc','Bwf4lwrLChrOig11C3qGyMuGysbWB3nPDgL2zsbUDw1Izxi','lMD6','zgLZDa','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','zMLSDgvY','lNbUzW','lNDVzMy','zM9YBwf0vhjLzq','lMnSyxnZ','DhjLzunVBMzPzW','zgLYzwn0B3j5','lNrVEa','zw52','lJD6','zxH0BMfTzq','lMr5BgLI'];a0_0x443f=function(){return _0x111b22;};return a0_0x443f();}export default FileTreeTool;
|
|
1
|
+
const a0_0x48d644=a0_0x473e;(function(_0x1d01d6,_0x2c8272){const _0x9ead1f=a0_0x473e,_0x551c95=_0x1d01d6();while(!![]){try{const _0x4b3c52=parseInt(_0x9ead1f(0x201))/0x1*(parseInt(_0x9ead1f(0x1cc))/0x2)+-parseInt(_0x9ead1f(0x1ce))/0x3*(parseInt(_0x9ead1f(0x210))/0x4)+parseInt(_0x9ead1f(0x1f0))/0x5*(-parseInt(_0x9ead1f(0x205))/0x6)+-parseInt(_0x9ead1f(0x1ac))/0x7+parseInt(_0x9ead1f(0x1ab))/0x8+-parseInt(_0x9ead1f(0x20b))/0x9*(-parseInt(_0x9ead1f(0x1b4))/0xa)+parseInt(_0x9ead1f(0x19d))/0xb;if(_0x4b3c52===_0x2c8272)break;else _0x551c95['push'](_0x551c95['shift']());}catch(_0xe8de09){_0x551c95['push'](_0x551c95['shift']());}}}(a0_0x4f6a,0xb38ed));function a0_0x4f6a(){const _0x3fb618=['tufyx0rfufrix0XjtuLu','mteXodC3mZzxrgvXt1e','mZGXmdq5owTzv1DysG','lNr0zG','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','Aw5JBhvKzuv4DgvUC2LVBNm','x19WEwnHy2HLx18','qLjbtKni','zMLSzxndB3vUDa','cIaGlsbezwvWzxiGpsbTB3jLigrLDgfPBcWGC2XVD2vYihbLCMzVCM1HBMnLcGPPBMnSDwrLrxH0zw5ZAw9UCYaOB3b0Aw9UywWGlsbxseLuruXju1qPoGOGic0Gsw5JBhvKzsbptKXzihrOzxnLigzPBguGzxH0zw5ZAw9UCWOGic0GqxjYyxKGB2yGzxH0zw5ZAw9UCWOGic0GrxHHBxbSzxm6ifSIlMPZiIWGiI5QC3GIlcaIlNrZiIWGiI50C3GIxqOGic0GvgfRzxmGChjLy2vKzw5JzsbVDMvYigv4y2X1zgvfEhrLBNnPB25ZcGPLEgnSDwrLrxH0zw5ZAw9UCYaOB3b0Aw9UywWGlsbctefds0Xju1qPoGOGic0GrxHJBhvKzsb0AgvZzsbMAwXLigv4DgvUC2LVBNmkicaTiefYCMf5ig9Migv4DgvUC2LVBNmkicaTiev4yw1WBgvZoIbBiI50zxn0lMPZiIWGiI5ZCgvJlMPZiIWGiI5TAw4UANmIxqOGic0Gt25SEsbHChbSAwvZigLMigLUy2X1zgvfEhrLBNnPB25ZigLZig5VDcbZzxqkcMv4y2X1zgveAxjLy3rVCMLLCYaOB3b0Aw9UywWPoGOGic0GqwrKAxrPB25HBcbKAxjLy3rVCMLLCYb0BYbPz25VCMukicaTiefSCMvHzhKGAwDUB3jLCZOGBM9Kzv9TB2r1BgvZlcaUz2L0lcbKAxn0lcbIDwLSzcWGzxrJlGOGic0GrxHHBxbSzxm6ifSIDgvZDhmIlcaIzML4DhvYzxmIlcaIBw9JA3mIxqOkC2HVD0zPBgvZicHVChrPB25HBcK6cIaGlsbxAgv0AgvYihrVihnOB3CGzMLSzxmGkgrLzMf1Bhq6ihrYDwuPcIaGlsbtzxqGDg8GzMfSC2uGDg8GC2HVDYbVBMX5igrPCMvJDg9YEsbZDhj1y3r1CMukcNnOB3DiAwrKzw4Gkg9WDgLVBMfSktOkicaTifDOzxrOzxiGDg8GC2HVDYbOAwrKzw4GzMLSzxmVzM9SzgvYCYaOzgvMyxvSDdOGzMfSC2uPcIaGlsbiAwrKzw4GpsbZDgfYDhmGD2L0AcaNlICkcNnOB3DtAxPLCYaOB3b0Aw9UywWPoGOGic0Gv2HLDgHLCIb0BYbZAg93igzPBguGC2L6zxmGkgrLzMf1Bhq6igzHBhnLkqOGic0GrM9YBwf0oIblqIWGtuikcMLNBM9YzujPBMfYEuzPBgvZicHVChrPB25HBcK6cIaGlsbxAgv0AgvYihrVigLNBM9YzsbIAw5HCNKVBwvKAweGzMLSzxmGkgrLzMf1Bhq6igzHBhnLkqOGic0GswDUB3jLCZOGAw1Hz2vZlcb2AwrLB3mSigfYy2HPDMvZlcbMB250CYWGzxrJlGOkrvHbtvbmrvm6cGPfEgfTCgXLideGlsbcyxnPyYb0CMvLoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6iciUiGP9cMbGyaOkrxHHBxbSzsaYic0GsMf2yvnJCMLWDc9uExbLu2nYAxb0ig9UBhK6cMbGygPZB24kEWOGicj0B29SswqIoIaIzMLSzs10CMvLiIWkicaIzgLYzwn0B3j5iJOGiNnYyYiScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUANmIlcaIlMPZEciSiciUDhmIlcaIlNrZEcjDlaOGicjTyxHezxb0Aci6idukFqPGygakcKv4yw1WBguGmYaTifb5DgHVBIbWCM9Qzwn0ihn0CNvJDhvYztOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjMAwXLlxrYzwuIlaOGicjKAxjLy3rVCNKIoIaIlIiScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUChKIxsWkicaIzxHJBhvKzuv4DgvUC2LVBNmIoIbBiI5WEwmIxsWkicaIC2HVD0zPBgvZiJOGDhj1zqP9cMbGyaOkrxHHBxbSzsa0ic0GrgLYzwn0B3j5ihn0CNvJDhvYzsbVBMX5oGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicjZAg93rMLSzxmIoIbMywXZzsWkicaIBwf4rgvWDgGIoIaZcN0kygbGcGPfEgfTCgXLiduGlsbfEgnSDwrLihrLC3qGzMLSzxm6cMbGygPZB24kEWOGicj0B29SswqIoIaIzMLSzs10CMvLiIWkicaIzgLYzwn0B3j5iJOGiNnYyYiScIaGiMv4y2X1zgvfEhrLBNnPB25ZiJOGwYiUDgvZDc5QCYiSiciUC3bLyY5QCYiSiciUDgvZDc50CYiSiciUC3bLyY50CYjDlaOGicjLEgnSDwrLrgLYzwn0B3jPzxmIoIbBiL9FDgvZDhnFxYiSicj0zxn0CYiSicjZCgvJCYjDcN0kygbGcGPpvvrqvvqGrK9stufuoGPZCMmVcUkuNokuGokuGcbJB21WB25LBNrZlWRILiiGicdILjZILidILiaGsgvHzgvYlMPZEaRILiiGicdILjZILidILiaGrM9VDgvYlMPZEaRILiiGicdILjtILidILiaGtgf5B3v0lMPZEaRILjZILidILiaGDxrPBhmVcUkuGIaGiokuNokuGokuGcbOzwXWzxjZlMPZcUkuGIaGiokuLokuGokuGcbJB25MAwCUANmk4Psu4Psa4PsaigLUzgv4lMPZcGPbvvrptufusumGsuDot1jfuZOkvgHLihrVB2WGyxv0B21HDgLJywXSEsbPz25VCMvZignVBw1VBIbKAxjLy3rVCMLLCZOklsbUB2rLx21VzhvSzxmSic5NAxqSigrPC3qSigj1AwXKlcbJB3zLCMfNzqOTic5UzxH0lcaUBNv4DcWGlMnHy2HLlcbVDxqSihrHCMDLDaOTic52C2nVzguSic5PzgvHlcbFx3b5y2fJAgvFxYWGDMvUDGOkteLnsvrbveLptLm6cI0Gtwf4Aw11BsbKzxb0AdOG','otm1mdyWqMrVyuTA','Bwf4lwrLChrOig11C3qGyMuGysbWB3nPDgL2zsbUDw1Izxi','C2L6zq','lMDPDa','lNjHCG','cLnRAxbWzwq6ia','cIaGica','lNrLBxa','r2vUzxjHDgLUzYbMAwXLihrYzwu','lNDVzMy','zxH0BMfTzq','Aw5MBW','C2HVD1nPEMvZ','Dg9gAxHLza','iIbTDxn0ihn0yxj0ihDPDgGGysbKB3qGkguUzY4SiciUANmIkq','lMPHCG','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','zgLYzwn0B3j5','lNPPCa','CgfYC2u','D29YA2LUz0rPCMvJDg9YEq','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','zMfSC2u','BgLI','ode5ndmWthnOwg91','CMvHzgrPCG','otzyEKLHB2O','lNn2zW','lNbUzW','lM1WmW','y2HPBgrYzw4','zxHJBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','lMDPzG','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','lNDVzMyY','DgfYz2v0','zxHJBhvKzurPCMvJDg9YAwvZ','yNvPBgruCMvL','DgLTzw91Da','lNrVEa','CMvSyxrPDMu','lNzZ','DhLWzq','BM9Kzv9TB2r1BgvZ','cKzPBguGvhjLzsbuB29SoIbhzw5LCMf0zsbOAwvYyxjJAgLJywWGDhjLzsbYzxbYzxnLBNrHDgLVBIbVzIbWCM9Qzwn0igrPCMvJDg9YEsbZDhj1y3r1CMuUcGPvu0fhrtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjMAwXLlxrYzwuIlaOGicjKAxjLy3rVCNKIoIaIC3jJiIWkicaIBwf4rgvWDgGIoIa0laOGicjPBMnSDwrLrxH0zw5ZAw9UCYi6ifSIlMPZiIWGiI5QC3GIlcaIlNrZiIWGiI50C3GIxsWkicaIzxHJBhvKzuv4DgvUC2LVBNmIoIbBiI50zxn0lMPZiIWGiI5ZCgvJlMPZiL0ScIaGiNnOB3DgAwXLCYi6ihrYDwuScIaGiNnOB3DiAwrKzw4IoIbMywXZzqP9cMbGyaOkuefsqu1fvevsuZOkcMrPCMvJDg9YEsaOB3b0Aw9UywWPoGOGic0GrgLYzwn0B3j5ihrVihnJyw4GkgrLzMf1Bhq6ihDVCMTPBMCGzgLYzwn0B3j5kqOGic0Gq2fUigjLihjLBgf0AxzLig9YigfIC29SDxrLihbHDgGkicaTiev4yw1WBgvZoIaIC3jJiIWGiNnYyY9JB21WB25LBNrZiIWGiI9OB21Ll3vZzxiVChjVAMvJDcikcM1HEerLChrOicHVChrPB25HBcK6cIaGlsbnyxHPBxvTigrLChrOihrVihnJyw4GkgrLzMf1Bhq6ia','yMfZzw5HBwu','u1LnqK9muW','zxHJBhvKzurPCMvJDg9YAwvZig11C3qGyMuGyw4GyxjYyxK','zxHLyW','lMrI','Dg1W','zM9YBwf0vhjLzq','zxHLy3v0zq','revgqvvmvf9nqvHFrevqveG','BwvZC2fNzq','zMLSzs10CMvL','BNvTyMvY','Bg9Nz2vY','DhjPBq','BwfW','mtqXntq5nxLRBLzgsG','ChvZAa','BgvUz3rO','lNDHCG','lMXVzW','lMXVy2S','Bwf4rgvWDgG','B3v0','DMvUzg9Y','zMLSDgvY','zxHJBhvKzuv4DgvUC2LVBNm','C3bSAxq','C3rHCNrZv2L0Aa','DMvUDG','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','D2fYBG','mxrvwvzRuG','lMjTCa','C2rPC3q','CMvZB2X2zq','nLfvDM1Lsq','zgLYzwn0B3jPzxndB3vUDa','AxnbCNjHEq','ieDc','zwDNCW','y292zxjHz2u','ouHJyMLRsG','ie1c','zM9YrwfJAa','lNb5DgvZDf9JywnOzq','yNvPBgq','mtqYntmYCfHZvKPI','C2TPChbLzenVDw50','Dhj1zq','C3rHDhm','BMfTzq','cI0Gtwf4Aw11BsbMAwXLCZOG','lNb5za','Dg9mB3DLCKnHC2u','tufyx0zjtevtx0Lox1rsruu','lMLJBW','odGXnJqYm2j6Dw1oAW','lM5LEhq','C2HVD0HPzgrLBG','DhjLzunVBMzPzW','lM1PBI5QCW','cKrPCMvJDg9YEtOG','lNbKzG','lMnSyxnZ','twf4Aw11BsbKAxjLy3rVCNKGy291BNqGCMvHy2HLza','AM9PBG','DgvTCa','lMr5BgLI','tufyx0rjuKvdve9ssuvt'];a0_0x4f6a=function(){return _0x3fb618;};return a0_0x4f6a();}import{BaseTool}from'./baseTool.js';import{promises as a0_0x1724fc}from'fs';import a0_0x2b4021 from'path';const TREE_CONFIG={'DEFAULT_MAX_DEPTH':0x3,'MAX_DEPTH_LIMIT':0xa,'MAX_FILES_IN_TREE':0x2710,'MAX_DIRECTORIES':0x3e8,'SHOW_FILES_DEFAULT':!![],'SHOW_HIDDEN_DEFAULT':![],'SHOW_SIZES_DEFAULT':![],'SYMBOLS':{'BRANCH':'├──\x20','LAST_BRANCH':'└──\x20','VERTICAL':'│\x20\x20\x20','INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=[a0_0x48d644(0x1df),a0_0x48d644(0x1b7),'dist',a0_0x48d644(0x20f),a0_0x48d644(0x20a),a0_0x48d644(0x19e),'.nuxt','.cache',a0_0x48d644(0x1f7),a0_0x48d644(0x1d7),a0_0x48d644(0x1f8),'bower_components','.vscode','.idea',a0_0x48d644(0x1dd),a0_0x48d644(0x1b0),a0_0x48d644(0x1fd),'env','.env',a0_0x48d644(0x20e),'.mypy_cache',a0_0x48d644(0x209),'.eggs',a0_0x48d644(0x1cb),'lib64','parts',a0_0x48d644(0x203),'wheels',a0_0x48d644(0x1db),'.nox','htmlcov','.hypothesis',a0_0x48d644(0x1e6),a0_0x48d644(0x1a7),'.tmp','.temp'],DEFAULT_IGNORE_EXTENSIONS=['.map',a0_0x48d644(0x1a1),'.min.css',a0_0x48d644(0x1f5),a0_0x48d644(0x1f4),'.tmp',a0_0x48d644(0x1bb),'.pyc','.pyo',a0_0x48d644(0x199),'.so','.dll',a0_0x48d644(0x1a8),'.exe','.obj','.o','.a',a0_0x48d644(0x1a4),a0_0x48d644(0x1c3),a0_0x48d644(0x1f3)],BINARY_EXTENSIONS=[a0_0x48d644(0x1d0),'.jpg','.jpeg',a0_0x48d644(0x1d4),a0_0x48d644(0x202),a0_0x48d644(0x19c),a0_0x48d644(0x1cf),a0_0x48d644(0x1a3),a0_0x48d644(0x1c6),'.tar','.gz',a0_0x48d644(0x1b8),'.7z',a0_0x48d644(0x1d1),'.mp4','.avi','.mov','.wmv',a0_0x48d644(0x1bd),a0_0x48d644(0x1d6),a0_0x48d644(0x1ad),'.eot','.bin','.dat',a0_0x48d644(0x1e5),'.sqlite'];function a0_0x473e(_0x3fbe02,_0x4edf27){_0x3fbe02=_0x3fbe02-0x199;const _0x4f6a20=a0_0x4f6a();let _0x473ec0=_0x4f6a20[_0x3fbe02];if(a0_0x473e['ybxNYU']===undefined){var _0x1cdaf3=function(_0x4526f6){const _0x49aadf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1724fc='',_0x2b4021='';for(let _0x297a9c=0x0,_0x3adda6,_0x528840,_0x1d3ff6=0x0;_0x528840=_0x4526f6['charAt'](_0x1d3ff6++);~_0x528840&&(_0x3adda6=_0x297a9c%0x4?_0x3adda6*0x40+_0x528840:_0x528840,_0x297a9c++%0x4)?_0x1724fc+=String['fromCharCode'](0xff&_0x3adda6>>(-0x2*_0x297a9c&0x6)):0x0){_0x528840=_0x49aadf['indexOf'](_0x528840);}for(let _0x2dd7d0=0x0,_0x4737d9=_0x1724fc['length'];_0x2dd7d0<_0x4737d9;_0x2dd7d0++){_0x2b4021+='%'+('00'+_0x1724fc['charCodeAt'](_0x2dd7d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b4021);};a0_0x473e['pxirKM']=_0x1cdaf3,a0_0x473e['KYRmmR']={},a0_0x473e['ybxNYU']=!![];}const _0xcc28cf=_0x4f6a20[0x0],_0x3ec97c=_0x3fbe02+_0xcc28cf,_0x4f7aba=a0_0x473e['KYRmmR'][_0x3ec97c];return!_0x4f7aba?(_0x473ec0=a0_0x473e['pxirKM'](_0x473ec0),a0_0x473e['KYRmmR'][_0x3ec97c]=_0x473ec0):_0x473ec0=_0x4f7aba,_0x473ec0;}class FileTreeTool extends BaseTool{constructor(_0x297a9c={},_0x3adda6=null){const _0x5d1436=a0_0x48d644;super(_0x297a9c,_0x3adda6),this['id']=_0x5d1436(0x1eb),this['requiresProject']=!![],this['isAsync']=!![],this[_0x5d1436(0x1da)]=_0x297a9c['timeout']||0x1d4c0,this[_0x5d1436(0x1a0)]={...TREE_CONFIG,..._0x297a9c['treeConfig']},this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}['getDescription'](){const _0x16d3c1=a0_0x48d644;return _0x16d3c1(0x1e0)+TREE_CONFIG['DEFAULT_MAX_DEPTH']+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG['MAX_DEPTH_LIMIT']+_0x16d3c1(0x1b3)+TREE_CONFIG[_0x16d3c1(0x1aa)]+_0x16d3c1(0x215)+TREE_CONFIG[_0x16d3c1(0x19b)]+'\x0a-\x20Maximum\x20directories:\x20'+TREE_CONFIG[_0x16d3c1(0x1a9)]+'\x0a-\x20Binary\x20files\x20can\x20be\x20filtered\x20with\x20ignoreBinaryFiles\x20option\x0a\x20\x20\x20\x20';}['parseParameters'](_0x528840){const _0x4e44c3=a0_0x48d644;try{if(_0x528840['trim']()[_0x4e44c3(0x1fc)]('{')){const _0x5862d3=JSON[_0x4e44c3(0x1c7)](_0x528840);return{'directory':_0x5862d3[_0x4e44c3(0x1c5)]||'.','maxDepth':_0x5862d3[_0x4e44c3(0x1f6)]||TREE_CONFIG[_0x4e44c3(0x1e9)],'includeExtensions':_0x5862d3['includeExtensions']||[],'excludeExtensions':_0x5862d3['excludeExtensions']||[],'excludeDirectories':_0x5862d3[_0x4e44c3(0x1d8)]||[],'showFiles':_0x5862d3['showFiles']!==![],'showHidden':_0x5862d3[_0x4e44c3(0x19f)]===!![],'showSizes':_0x5862d3[_0x4e44c3(0x1c0)]===!![],'ignoreBinaryFiles':_0x5862d3['ignoreBinaryFiles']===!![]};}const _0x1d3ff6={'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x2dd7d0=/<directory>(.*?)<\/directory>/i,_0x4737d9=_0x2dd7d0[_0x4e44c3(0x1e4)](_0x528840);_0x4737d9&&(_0x1d3ff6[_0x4e44c3(0x1c5)]=_0x4737d9[0x1]['trim']());const _0x4b7fde=/<max-depth>(\d+)<\/max-depth>/i,_0x5b064f=_0x4b7fde['exec'](_0x528840);_0x5b064f&&(_0x1d3ff6[_0x4e44c3(0x1f6)]=parseInt(_0x5b064f[0x1],0xa));const _0x159b60=/<include-extensions>(.*?)<\/include-extensions>/i,_0x59fd9f=_0x159b60['exec'](_0x528840);_0x59fd9f&&(_0x1d3ff6['includeExtensions']=_0x59fd9f[0x1][_0x4e44c3(0x1fb)](',')[_0x4e44c3(0x1ef)](_0x49ea3f=>_0x49ea3f[_0x4e44c3(0x1ee)]())[_0x4e44c3(0x1f9)](_0x462d68=>_0x462d68[_0x4e44c3(0x1f2)]>0x0));const _0x577486=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0xf21dc8=_0x577486[_0x4e44c3(0x1e4)](_0x528840);_0xf21dc8&&(_0x1d3ff6[_0x4e44c3(0x1fa)]=_0xf21dc8[0x1]['split'](',')[_0x4e44c3(0x1ef)](_0x5d9f50=>_0x5d9f50[_0x4e44c3(0x1ee)]())[_0x4e44c3(0x1f9)](_0x2c3a65=>_0x2c3a65['length']>0x0));const _0x35eecb=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x42b464=_0x35eecb[_0x4e44c3(0x1e4)](_0x528840);_0x42b464&&(_0x1d3ff6['excludeDirectories']=_0x42b464[0x1]['split'](',')[_0x4e44c3(0x1ef)](_0x3ad543=>_0x3ad543[_0x4e44c3(0x1ee)]())[_0x4e44c3(0x1f9)](_0x49ae74=>_0x49ae74[_0x4e44c3(0x1f2)]>0x0));const _0x81b06d=/<show-files>(.*?)<\/show-files>/i,_0x3a52a8=_0x81b06d[_0x4e44c3(0x1e4)](_0x528840);_0x3a52a8&&(_0x1d3ff6['showFiles']=_0x3a52a8[0x1]['trim']()[_0x4e44c3(0x19a)]()!==_0x4e44c3(0x1ca));const _0x14113e=/<show-hidden>(.*?)<\/show-hidden>/i,_0x734421=_0x14113e['exec'](_0x528840);_0x734421&&(_0x1d3ff6[_0x4e44c3(0x19f)]=_0x734421[0x1]['trim']()['toLowerCase']()===_0x4e44c3(0x212));const _0x5352d3=/<show-sizes>(.*?)<\/show-sizes>/i,_0x44426c=_0x5352d3[_0x4e44c3(0x1e4)](_0x528840);_0x44426c&&(_0x1d3ff6[_0x4e44c3(0x1c0)]=_0x44426c[0x1]['trim']()['toLowerCase']()===_0x4e44c3(0x212));const _0x14e894=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x2ebb8c=_0x14e894[_0x4e44c3(0x1e4)](_0x528840);return _0x2ebb8c&&(_0x1d3ff6['ignoreBinaryFiles']=_0x2ebb8c[0x1]['trim']()['toLowerCase']()===_0x4e44c3(0x212)),_0x1d3ff6;}catch(_0x2a17ab){return this[_0x4e44c3(0x1ed)]?.['error']('Failed\x20to\x20parse\x20file-tree\x20parameters',{'error':_0x2a17ab[_0x4e44c3(0x1ea)]}),{'directory':'.','maxDepth':TREE_CONFIG[_0x4e44c3(0x1e9)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x2a17ab[_0x4e44c3(0x1ea)]};}}[a0_0x48d644(0x1c4)](){return[];}[a0_0x48d644(0x1d5)](_0x49cef9){const _0xb57b76=a0_0x48d644,_0x7b21d9=[];if(_0x49cef9['maxDepth']!==undefined){if(typeof _0x49cef9[_0xb57b76(0x1f6)]!==_0xb57b76(0x1ec)||_0x49cef9['maxDepth']<0x1)_0x7b21d9[_0xb57b76(0x1f1)](_0xb57b76(0x1b5));else _0x49cef9['maxDepth']>this['treeConfig'][_0xb57b76(0x1aa)]&&_0x7b21d9[_0xb57b76(0x1f1)]('max-depth\x20cannot\x20exceed\x20'+this[_0xb57b76(0x1a0)][_0xb57b76(0x1aa)]);}_0x49cef9['directory']&&_0x49cef9['directory']['includes']('..')&&_0x7b21d9['push']('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');if(_0x49cef9[_0xb57b76(0x1af)]!==undefined&&_0x49cef9['includeExtensions']!==null){if(!Array['isArray'](_0x49cef9[_0xb57b76(0x1af)]))_0x7b21d9['push']('includeExtensions\x20must\x20be\x20an\x20array');else for(const _0x26b811 of _0x49cef9['includeExtensions']){!_0x26b811['startsWith']('.')&&_0x7b21d9[_0xb57b76(0x1f1)]('Extension\x20\x22'+_0x26b811+_0xb57b76(0x1c2));}}if(_0x49cef9[_0xb57b76(0x1fa)]!==undefined&&_0x49cef9[_0xb57b76(0x1fa)]!==null){if(!Array[_0xb57b76(0x207)](_0x49cef9['excludeExtensions']))_0x7b21d9['push'](_0xb57b76(0x1d3));else for(const _0x5b2da6 of _0x49cef9[_0xb57b76(0x1fa)]){!_0x5b2da6['startsWith']('.')&&_0x7b21d9['push']('Extension\x20\x22'+_0x5b2da6+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}_0x49cef9['excludeDirectories']!==undefined&&_0x49cef9['excludeDirectories']!==null&&(!Array[_0xb57b76(0x207)](_0x49cef9['excludeDirectories'])&&_0x7b21d9[_0xb57b76(0x1f1)](_0xb57b76(0x1e3)));if(_0x7b21d9['length']>0x0)throw new Error(_0xb57b76(0x1c9)+_0x7b21d9[_0xb57b76(0x1a6)](',\x20'));return{'valid':!![],'errors':[]};}async[a0_0x48d644(0x1e8)](_0x52b36c,_0x378fa7){const _0x4dc10a=a0_0x48d644,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG['DEFAULT_MAX_DEPTH'],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x52b36c,{projectDir:_0xc35685,agentId:_0x23600e,directoryAccess:_0x20a55b}=_0x378fa7;let _0x40ae6f=_0xc35685||process['cwd']();_0x20a55b&&_0x20a55b['workingDirectory']&&(_0x40ae6f=_0x20a55b['workingDirectory'],this[_0x4dc10a(0x1ed)]?.['info'](_0x4dc10a(0x1ae),{'workingDirectory':_0x20a55b[_0x4dc10a(0x1c8)],'agentId':_0x23600e}));const _0x16b446=a0_0x2b4021['isAbsolute'](directory)?directory:a0_0x2b4021[_0x4dc10a(0x204)](_0x40ae6f,directory);try{const _0x2b04f1=await a0_0x1724fc['stat'](_0x16b446);if(!_0x2b04f1['isDirectory']())throw new Error('Path\x20is\x20not\x20a\x20directory');}catch(_0xfe0cbc){throw new Error(_0x4dc10a(0x1fe)+directory);}this['logger']?.[_0x4dc10a(0x1bf)](_0x4dc10a(0x1bc),{'directory':directory,'targetDir':_0x16b446,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.[_0x4dc10a(0x1f2)]||0x0,'agentId':_0x23600e}),this[_0x4dc10a(0x213)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x1a5376=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x15dbde=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x15dbde['push'](...BINARY_EXTENSIONS);const _0x107645=await this['buildTree'](_0x16b446,_0x16b446,0x0,maxDepth,_0x1a5376,includeExtensions||[],[...excludeExtensions||[],..._0x15dbde],showFiles,showHidden,showSizes),_0x521237=this[_0x4dc10a(0x1e7)](_0x107645),_0x4d1ee9=this['generateSummary'](directory,this[_0x4dc10a(0x213)],maxDepth);return{'success':!![],'directory':_0x16b446,'tree':_0x521237,'summary':_0x4d1ee9,'maxDepth':maxDepth,'totalFiles':this['stats'][_0x4dc10a(0x1b2)],'totalDirectories':this[_0x4dc10a(0x213)][_0x4dc10a(0x206)],'skippedCount':this['stats'][_0x4dc10a(0x211)],'statistics':{...this[_0x4dc10a(0x213)]},'toolUsed':_0x4dc10a(0x1eb)};}async[a0_0x48d644(0x1d9)](_0x33dafe,_0x397b07,_0x1ad99f,_0x468ce9,_0x33d1a4,_0x21ec51,_0x166b4d,_0x5d0893,_0x18a676,_0x423b35){const _0x202290=a0_0x48d644;if(_0x1ad99f>_0x468ce9)return null;if(this[_0x202290(0x213)][_0x202290(0x206)]>=this['treeConfig']['MAX_DIRECTORIES'])return this['logger']?.[_0x202290(0x200)](_0x202290(0x1a5),{'maxDirectories':this[_0x202290(0x1a0)]['MAX_DIRECTORIES']}),null;try{const _0x3dfb7f=await a0_0x1724fc[_0x202290(0x1cd)](_0x397b07,{'withFileTypes':!![]}),_0x5211b4={'name':_0x1ad99f===0x0?a0_0x2b4021['basename'](_0x397b07)+'/':a0_0x2b4021[_0x202290(0x1e1)](_0x397b07),'path':a0_0x2b4021[_0x202290(0x1dc)](_0x33dafe,_0x397b07),'type':_0x202290(0x1c5),'children':[]};this['stats']['directoriesCount']++;for(const _0x45ed35 of _0x3dfb7f){if(this['stats']['filesCount']>=this['treeConfig']['MAX_FILES_IN_TREE']){this['logger']?.[_0x202290(0x200)]('Maximum\x20file\x20count\x20reached',{'maxFiles':this[_0x202290(0x1a0)]['MAX_FILES_IN_TREE']});break;}if(!_0x18a676&&_0x45ed35[_0x202290(0x214)][_0x202290(0x1fc)]('.')){this['stats'][_0x202290(0x211)]++;continue;}const _0xc267ee=a0_0x2b4021['join'](_0x397b07,_0x45ed35['name']);if(_0x45ed35['isDirectory']()){if(_0x33d1a4['includes'](_0x45ed35[_0x202290(0x214)])){this['stats']['skippedCount']++;continue;}const _0x2db80d=await this[_0x202290(0x1d9)](_0x33dafe,_0xc267ee,_0x1ad99f+0x1,_0x468ce9,_0x33d1a4,_0x21ec51,_0x166b4d,_0x5d0893,_0x18a676,_0x423b35);_0x2db80d&&(_0x2db80d[_0x202290(0x1d2)][_0x202290(0x1f2)]>0x0||_0x1ad99f===0x0)&&_0x5211b4[_0x202290(0x1d2)][_0x202290(0x1f1)](_0x2db80d);}else{if(_0x45ed35['isFile']()&&_0x5d0893){if(_0x1ad99f+0x1>_0x468ce9)continue;const _0xf7e0c8=a0_0x2b4021[_0x202290(0x1be)](_0x45ed35[_0x202290(0x214)]);if(_0x21ec51['length']>0x0){if(!_0x21ec51['includes'](_0xf7e0c8)){this[_0x202290(0x213)][_0x202290(0x211)]++;continue;}}else{if(_0x166b4d['includes'](_0xf7e0c8)){this[_0x202290(0x213)]['skippedCount']++;continue;}}let _0x371842='';if(_0x423b35)try{const _0x331f7a=await a0_0x1724fc['stat'](_0xc267ee);_0x371842='\x20('+this['formatFileSize'](_0x331f7a[_0x202290(0x1b6)])+')';}catch(_0x430a62){}_0x5211b4[_0x202290(0x1d2)][_0x202290(0x1f1)]({'name':_0x45ed35[_0x202290(0x214)]+_0x371842,'path':a0_0x2b4021[_0x202290(0x1dc)](_0x33dafe,_0xc267ee),'type':'file','ext':_0xf7e0c8}),this[_0x202290(0x213)]['filesCount']++;}}}return _0x5211b4[_0x202290(0x1d2)]['sort']((_0x29e722,_0x182585)=>{const _0x3fbd81=_0x202290;if(_0x29e722[_0x3fbd81(0x1de)]===_0x182585['type'])return _0x29e722[_0x3fbd81(0x214)]['localeCompare'](_0x182585['name']);return _0x29e722['type']==='directory'?-0x1:0x1;}),_0x5211b4;}catch(_0x2cbd46){return this['logger']?.['error']('Error\x20building\x20tree',{'currentPath':_0x397b07,'error':_0x2cbd46[_0x202290(0x1ea)]}),{'name':a0_0x2b4021['basename'](_0x397b07),'path':a0_0x2b4021['relative'](_0x33dafe,_0x397b07),'type':'directory','error':_0x2cbd46['message'],'children':[]};}}[a0_0x48d644(0x1e7)](_0x396af9,_0x2a348e='',_0x433660=!![],_0x282071=!![]){const _0xe7065a=a0_0x48d644;if(!_0x396af9)return'';const _0x2957e3=this[_0xe7065a(0x1a0)][_0xe7065a(0x1e2)];let _0x547f87='';_0x282071?_0x547f87=_0x396af9['name']+'\x0a':_0x547f87=''+_0x2a348e+(_0x433660?_0x2957e3['LAST_BRANCH']:_0x2957e3[_0xe7065a(0x1b1)])+_0x396af9[_0xe7065a(0x214)]+'\x0a';if(_0x396af9['children']&&_0x396af9['children']['length']>0x0){const _0x331fa2=_0x282071?'':_0x2a348e+(_0x433660?_0x2957e3['INDENT']:_0x2957e3['VERTICAL']);_0x396af9['children'][_0xe7065a(0x20d)]((_0x4a3e81,_0x2ba81a)=>{const _0x47b57f=_0x2ba81a===_0x396af9['children']['length']-0x1;_0x547f87+=this['formatTree'](_0x4a3e81,_0x331fa2,_0x47b57f,![]);});}return _0x547f87;}['formatFileSize'](_0x29025e){const _0x18cc22=a0_0x48d644,_0x32c571=0x400,_0xfa12a6=_0x32c571*0x400,_0xdfbf43=_0xfa12a6*0x400;if(_0x29025e>=_0xdfbf43)return(_0x29025e/_0xdfbf43)[_0x18cc22(0x1c1)](0x2)+_0x18cc22(0x208);else{if(_0x29025e>=_0xfa12a6)return(_0x29025e/_0xfa12a6)['toFixed'](0x2)+_0x18cc22(0x20c);else return _0x29025e>=_0x32c571?(_0x29025e/_0x32c571)[_0x18cc22(0x1c1)](0x2)+'\x20KB':_0x29025e+'\x20B';}}['generateSummary'](_0x365bc9,_0xfbb15a,_0x1f3113){const _0x53f422=a0_0x48d644;return(_0x53f422(0x1a2)+_0x365bc9+'\x0aMax\x20Depth:\x20'+_0x1f3113+'\x0aFiles:\x20'+_0xfbb15a['filesCount']+'\x0aDirectories:\x20'+_0xfbb15a['directoriesCount']+_0x53f422(0x1b9)+_0xfbb15a['skippedCount']+_0x53f422(0x1ba))[_0x53f422(0x1ee)]();}async['cleanup'](_0x52c9fb){const _0x29ee74=a0_0x48d644;this[_0x29ee74(0x1ed)]?.[_0x29ee74(0x1bf)](_0x29ee74(0x1ff),{'operationId':_0x52c9fb});}}export default FileTreeTool;
|
package/src/tools/imageTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x14aa(){const _0x33f4b8=['yNjVywrJyxn0vg9tzxnZAw9U','Aw1Hz2uTz2vU','BgfZDfvWzgf0zwq','ywLtzxj2AwnL','C3vIC3rYAw5N','x2vZDgLTyxrLv2fPDfrPBwu','ChjVy2vZC2LUzW','zgLYzwn0B3j5qwnJzxnZ','tMv0D29YAYbLCNjVCJOG','y3DK','lIbwywXPzcbZAxPLCZOG','Aw1NlxjLC3vSDc0','Bg94AweTAw1Hz2vZ','yMfZzw5HBwu','sw1Hz2vuB29SoIbbDxrVlxbHCNnPBMCGC3rYAw5NihbHCMfTzxrLCNm','Cg5N','BwTKAxi','cGRIMQdVUi8GkIPxyxjUAw5NoIOQieLTywDLigLZihvZAw5NigeGDgvTCg9Yyxj5ifvstcaOzxHWAxjLCYbPBIb+msbOB3vYks4GrMfPBgvKihrVihnHDMuGDg8GzgLZAY4','sw1Hz2uGChjVBxb0igLZihjLCxvPCMvK','BgvUz3rO','CgfYyw1LDgvYCW','qwnJzxnZigrLBMLLzdOGCgf0AcbVDxrZAwrLihbYB2PLy3qGzgLYzwn0B3j5','D2vICa','Aw5MBW','sw1Hz2uGzxjYB3iGC2f2zwqGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','x3zHBgLKyxrLugfYyw1LDgvYCW','C2HPzNq','sw1Hz2uGCMvZDwX0ihnHDMvKihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','x2DLBMvYyxrLsw1Hz2u','cGOQkLbYB21WDdOQkIa','ywDLBNrjza','BwvZC2fNzxm','Dg9ju09tDhjPBMC','AxnbyNnVBhv0zq','CgfYC2u','zxHLy3v0zq','B2jQzwn0','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','vevnuf9dtevbtLvqx01t','BMfTzq','mJeYmJi5yMjksMvo','vKfmsurFrK9stufuuW','mZi4mZG5ruzyv3jI','C2f2zwruB0rPC2S','y29UDMvYC2f0Aw9UCW','BwvZC2fNzq','mtC5mNGXmdi0','x3bHCNnLwe1msw1Hz2u','zxHLyW','BM9YBwfSAxPL','vhLWzuvYCM9Y','DgvTCerPCG','Aw1Hz2vhzw5LCMf0zwq','x3bHCNnLsLnptLbHCMfTCW','u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','B3v0Chv0ugf0Aa','zgvSzxrL','Aw1Hz2vZl2DLBMvYyxrLzc0','Aw1Hz2vZ','C2L6zq','igLTywDLCYbPBIbXDwv1zq','Dg1WzgLY','CMvSyxrPDMu','x3bHCNnLsw1Hz2vqyxjHBxm','revgqvvmvf9tsvPf','rg93BMXVywqGzMfPBgvKoIa','x3jLC29SDMvpDxrWDxrqyxrO','y2XLyw51CfrPBwvYCW','CxvLDwu','mtyXmdyZngvTt1PLuq','CxvHBgL0Eq','y2fUy2vSBgvK','ChvZAa','zMXVB3i','uxvLDwuGBgLTAxqGCMvHy2HLzcaO','x2rVD25SB2fKsw1Hz2u','DgvTCg9Yyxj5vxjS','yMf0y2G','Ahr0CdOVlW','C2v0','y29TCgXLDgvKsM9ICW','BgfZDefJDgL2Axr5','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','y3vYCMvUDe1VzgvS','CMvZDwX0','mtaYnhGXmdi0','C3rHBMrHCMq','zNjVBq','x2nVBNzLCNruB1DLyLvYBa','tM8GAw1Hz2vZihnWzwnPzMLLza','igLTywDLCYKUifbSzwfZzsb3ywL0igzVCIbJDxjYzw50igPVyNmGDg8Gy29TCgXLDguU','C2vZC2LVBKLK','revgqvvmvf9rvufmsvrz','BwfW','cIOQrxjYB3i6kIOG','C2f2zvrVuhjVAMvJDa','ngn2AgjZwG','Bg9JywXOB3n0','mti4rvDuufjX','AxnbCNjHEq','nteYEduXmG','y29TCgXLDgvK','DxjS','DhjPBq','y2XLyxi','y3vYCMvUDePVyG','lIbwywXPzcbMB3jTyxrZoIa','CMvWBgfJzq','C3LZDgvT','ChjVBxb0','revgqvvmvf9nt0rfta','CgfYC2vqyxjHBwv0zxjZ','zg93BMXVywrfCNjVCG','zgvIDwC','y29TCgXLDgvKqxq','otaYndy4z050we94','nZKWoda1CfHnCuHe','BM93','AM9PBG','Aw5JBhvKzxm','x3nJAgvKDwXLq2XLyw51Ca','ntK0otiZrgfxru5T','y2f0y2G','uvvfvuvFteLnsvq','zxjYB3i','uxvLDwuGChjVy2vZC2LUzYbLCNjVCJO','z2v0qwDLBNq','CMvZB2X2zwrpDxrWDxrqyxrO','Bw9KzwW','ywDLBNrqB29S','x3bHCNnLwe1mugfYyw1Z','B3v0Chv0lxbHDgG','ANbN','CgvYC2LZDefNzw50u3rHDgu','x3bYB2nLC3nrDwv1zq','C3rHDhvZ','AxnqCM9JzxnZAw5N','mtGXnteYouTJt3DNqG','Bg9Nz2vY','zNvSBa','C3rYAw5N','Bg94Awfxzwjtzxj2zxi','AM9Iswq'];a0_0x14aa=function(){return _0x33f4b8;};return a0_0x14aa();}const a0_0x475ef2=a0_0x28d9;(function(_0x1a62ec,_0x47c252){const _0x49275a=a0_0x28d9,_0x46e7fc=_0x1a62ec();while(!![]){try{const _0x54db8d=-parseInt(_0x49275a(0x13b))/0x1+-parseInt(_0x49275a(0x184))/0x2+parseInt(_0x49275a(0x19a))/0x3*(parseInt(_0x49275a(0x171))/0x4)+-parseInt(_0x49275a(0x185))/0x5+parseInt(_0x49275a(0x156))/0x6+parseInt(_0x49275a(0x18a))/0x7+-parseInt(_0x49275a(0x173))/0x8*(-parseInt(_0x49275a(0x139))/0x9);if(_0x54db8d===_0x47c252)break;else _0x46e7fc['push'](_0x46e7fc['shift']());}catch(_0x295952){_0x46e7fc['push'](_0x46e7fc['shift']());}}}(a0_0x14aa,0x6129f));import a0_0x36de65 from'path';import a0_0x2359af from'os';import{promises as a0_0x1066b9}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':'azure-openai-dalle3','DEFAULT_SIZE':'1024x1024','DEFAULT_QUALITY':a0_0x475ef2(0x167),'VALID_SIZES':['256x256',a0_0x475ef2(0x175),a0_0x475ef2(0x166),'1024x1792',a0_0x475ef2(0x13f)],'VALID_FORMATS':[a0_0x475ef2(0x1af),a0_0x475ef2(0x195),'jpeg',a0_0x475ef2(0x127)],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};function a0_0x28d9(_0x5be07a,_0x3ae92c){_0x5be07a=_0x5be07a-0x123;const _0x14aa9e=a0_0x14aa();let _0x28d9be=_0x14aa9e[_0x5be07a];if(a0_0x28d9['nZOPiH']===undefined){var _0x54d7c0=function(_0x47a643){const _0x5e0d31='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36de65='',_0x2359af='';for(let _0x1066b9=0x0,_0x30a91a,_0x4ea983,_0x1b8860=0x0;_0x4ea983=_0x47a643['charAt'](_0x1b8860++);~_0x4ea983&&(_0x30a91a=_0x1066b9%0x4?_0x30a91a*0x40+_0x4ea983:_0x4ea983,_0x1066b9++%0x4)?_0x36de65+=String['fromCharCode'](0xff&_0x30a91a>>(-0x2*_0x1066b9&0x6)):0x0){_0x4ea983=_0x5e0d31['indexOf'](_0x4ea983);}for(let _0xb479d0=0x0,_0x3f40bf=_0x36de65['length'];_0xb479d0<_0x3f40bf;_0xb479d0++){_0x2359af+='%'+('00'+_0x36de65['charCodeAt'](_0xb479d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2359af);};a0_0x28d9['EGbcMv']=_0x54d7c0,a0_0x28d9['YsRJxr']={},a0_0x28d9['nZOPiH']=!![];}const _0x1889f5=_0x14aa9e[0x0],_0x2ac04c=_0x5be07a+_0x1889f5,_0x1d91e8=a0_0x28d9['YsRJxr'][_0x2ac04c];return!_0x1d91e8?(_0x28d9be=a0_0x28d9['EGbcMv'](_0x28d9be),a0_0x28d9['YsRJxr'][_0x2ac04c]=_0x28d9be):_0x28d9be=_0x1d91e8,_0x28d9be;}export class ImageTool extends BaseTool{constructor(_0x30a91a={},_0x4ea983=null){const _0x5743aa=a0_0x475ef2;super(_0x30a91a,_0x4ea983),this['id']=_0x5743aa(0x1a1),this['queue']=[],this['currentJob']=null,this[_0x5743aa(0x161)]=new Map(),this['isProcessing']=![],this['aiService']=null,this['agentPool']=null,this[_0x5743aa(0x144)]=a0_0x36de65['join'](a0_0x2359af[_0x5743aa(0x14e)](),_0x5743aa(0x1ac)),this[_0x5743aa(0x154)]=new Map();}['setAIService'](_0x1b8860){this['aiService']=_0x1b8860,this['logger']?.['info']('AI\x20Service\x20set\x20for\x20ImageTool');}['setAgentPool'](_0xb479d0){const _0x27bcf0=a0_0x475ef2;this['agentPool']=_0xb479d0,this[_0x27bcf0(0x19b)]?.['info']('AgentPool\x20set\x20for\x20ImageTool');}['getDescription'](){const _0x1ff1b9=a0_0x475ef2;return'Tool:\x20Image\x20Generator\x20-\x20Generate\x20images\x20using\x20AI\x20models\x0a\x0a**Purpose:**\x20Generate\x20images\x20from\x20text\x20descriptions\x20using\x20DALL-E\x203.\x20Images\x20are\x20saved\x20to\x20files\x20and\x20displayed\x20in\x20chat.\x0a\x0a**CRITICAL:\x20Automatic\x20Execution**\x0a-\x20ANY\x20```json\x20block\x20with\x20\x22toolId\x22:\x20\x22image-gen\x22\x20will\x20be\x20EXECUTED\x20IMMEDIATELY\x0a-\x20Just\x20output\x20the\x20command\x20when\x20you\x20want\x20to\x20generate\x20an\x20image\x0a-\x20If\x20generation\x20fails,\x20output\x20a\x20NEW\x20command\x20with\x20corrections\x0a\x0a**USAGE:**\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22image-gen\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22prompt\x22:\x20\x22Detailed\x20description\x20of\x20the\x20image\x22,\x0a\x20\x20\x20\x20\x22outputPath\x22:\x20\x22images/filename.png\x22,\x0a\x20\x20\x20\x20\x22model\x22:\x20\x22azure-openai-dalle3\x22,\x0a\x20\x20\x20\x20\x22size\x22:\x20\x221024x1024\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**prompt**\x20(required):\x20Detailed\x20description\x20of\x20image\x20to\x20generate\x0a-\x20**outputPath**\x20(optional):\x20Path\x20to\x20save\x20image\x20(permanent).\x20Omit\x20for\x20temp\x20file.\x0a-\x20**model**\x20(optional):\x20\x22azure-openai-dalle3\x22\x20(default)\x0a-\x20**size**\x20(optional):\x20256x256,\x20512x512,\x201024x1024,\x201024x1792,\x201792x1024\x20(default:\x201024x1024)\x0a-\x20**quality**\x20(optional):\x20\x22standard\x22\x20or\x20\x22hd\x22\x20(default:\x20standard)\x0a\x0a**EXAMPLE:**\x0aUser:\x20\x22create\x20a\x20sunset\x20image\x22\x0aYou\x20output:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22image-gen\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22prompt\x22:\x20\x22A\x20beautiful\x20sunset\x20over\x20the\x20ocean\x20with\x20vibrant\x20orange\x20and\x20pink\x20colors\x20reflecting\x20on\x20calm\x20waters\x22,\x0a\x20\x20\x20\x20\x22outputPath\x22:\x20\x22images/sunset.png\x22,\x0a\x20\x20\x20\x20\x22size\x22:\x20\x221024x1024\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Images\x20take\x2015-30\x20seconds\x20to\x20generate\x0a-\x20Be\x20descriptive\x20in\x20prompts\x20for\x20better\x20results\x0a-\x20Max\x20'+IMAGE_CONFIG[_0x1ff1b9(0x18c)]+_0x1ff1b9(0x14d);}['parseParameters'](_0x3f40bf){const _0xb81bb6=a0_0x475ef2;if(typeof _0x3f40bf==='object'&&_0x3f40bf!==null)return this[_0xb81bb6(0x146)](_0x3f40bf);if(typeof _0x3f40bf==='string'){const _0xe33e12=_0x3f40bf['trim']();if(_0xe33e12['startsWith']('{')||_0xe33e12['startsWith']('['))try{const _0x1fa888=JSON[_0xb81bb6(0x133)](_0xe33e12);return this[_0xb81bb6(0x146)](_0x1fa888);}catch(_0x301cd4){}return this['_parseXMLParams'](_0x3f40bf);}throw new Error('Invalid\x20parameter\x20format');}['_parseJSONParams'](_0x2b6366){const _0x42ff3a=a0_0x475ef2;_0x2b6366[_0x42ff3a(0x125)]&&(_0x2b6366=_0x2b6366['parameters']);if(_0x2b6366['batch']&&Array[_0x42ff3a(0x174)](_0x2b6366[_0x42ff3a(0x15e)]))return{'batch':!![],'images':_0x2b6366['batch'][_0x42ff3a(0x16e)](_0x15f070=>this['_parseImageParams'](_0x15f070))};return{'batch':![],'images':[this[_0x42ff3a(0x150)](_0x2b6366)]};}[a0_0x475ef2(0x193)](_0x579233){const _0x4bbbf9=a0_0x475ef2,_0x21f13a={'batch':![],'images':[]},_0x2ad834=/<batch>([\s\S]*?)<\/batch>/i[_0x4bbbf9(0x141)](_0x579233);if(_0x2ad834){_0x21f13a[_0x4bbbf9(0x15e)]=!![];const _0x262b67=_0x2ad834[0x1],_0xe13966=/<image>([\s\S]*?)<\/image>/gi;let _0x229234;while((_0x229234=_0xe13966[_0x4bbbf9(0x141)](_0x262b67))!==null){_0x21f13a['images'][_0x4bbbf9(0x159)](this['_parseXMLImage'](_0x229234[0x1]));}}else _0x21f13a[_0x4bbbf9(0x14b)]['push'](this[_0x4bbbf9(0x140)](_0x579233));if(_0x21f13a['images']['length']===0x0)throw new Error('No\x20valid\x20image\x20parameters\x20found');return _0x21f13a;}[a0_0x475ef2(0x150)](_0x106f6b){const _0x2574a2=a0_0x475ef2,_0x415e69=_0x106f6b[_0x2574a2(0x148)]||_0x106f6b[_0x2574a2(0x194)]||null;return{'prompt':_0x106f6b['prompt']||'','outputPath':_0x415e69,'saveToProject':_0x415e69!==null,'model':_0x106f6b['model']||IMAGE_CONFIG[_0x2574a2(0x17f)],'size':_0x106f6b[_0x2574a2(0x14c)]||IMAGE_CONFIG[_0x2574a2(0x151)],'quality':_0x106f6b[_0x2574a2(0x157)]||IMAGE_CONFIG['DEFAULT_QUALITY']};}['_parseXMLImage'](_0x2e6956){const _0x1fe7c4=a0_0x475ef2,_0x20ae5d=_0x11b465=>{const _0x3cd557=a0_0x28d9,_0x366fc0=new RegExp('<'+_0x11b465+'>([\x5cs\x5cS]*?)<\x5c/'+_0x11b465+'>','i'),_0x372a58=_0x366fc0[_0x3cd557(0x141)](_0x2e6956);return _0x372a58?_0x372a58[0x1][_0x3cd557(0x178)]():null;},_0x3dffca=_0x20ae5d(_0x1fe7c4(0x194))||null;return{'prompt':_0x20ae5d('prompt')||'','outputPath':_0x3dffca,'saveToProject':_0x3dffca!==null,'model':_0x20ae5d(_0x1fe7c4(0x191))||IMAGE_CONFIG[_0x1fe7c4(0x17f)],'size':_0x20ae5d('size')||IMAGE_CONFIG[_0x1fe7c4(0x151)],'quality':_0x20ae5d(_0x1fe7c4(0x157))||IMAGE_CONFIG[_0x1fe7c4(0x16d)]};}async[a0_0x475ef2(0x134)](_0x50c2e6,_0x19c653={}){const _0xa5f6a2=a0_0x475ef2;try{const {agentId:_0x5cbb13,projectDir:_0x3a54e3,directoryAccess:_0x23b173,sessionId:_0x30d30a}=_0x19c653;if(typeof _0x50c2e6===_0xa5f6a2(0x19d))this[_0xa5f6a2(0x19b)]?.[_0xa5f6a2(0x128)](_0xa5f6a2(0x1ae)),_0x50c2e6=this['parseParameters'](_0x50c2e6);else typeof _0x50c2e6===_0xa5f6a2(0x135)&&_0x50c2e6!==null&&!_0x50c2e6['images']&&(this[_0xa5f6a2(0x19b)]?.['info']('ImageTool:\x20Normalizing\x20object\x20parameters'),_0x50c2e6=this[_0xa5f6a2(0x180)](_0x50c2e6));this['_validateParameters'](_0x50c2e6);const _0x5363ea=[];for(const _0x5278ef of _0x50c2e6['images']){const _0x3264c9=this['_generateJobId'](),_0x53f4a5={'jobId':_0x3264c9,'agentId':_0x5cbb13,'sessionId':_0x30d30a,'prompt':_0x5278ef['prompt'],'outputPath':_0x5278ef['outputPath'],'saveToProject':_0x5278ef['saveToProject'],'model':_0x5278ef['model'],'size':_0x5278ef['size'],'quality':_0x5278ef['quality'],'projectDir':_0x3a54e3||process[_0xa5f6a2(0x1a9)](),'directoryAccess':_0x23b173,'status':'queued','createdAt':new Date()['toISOString']()};if(this[_0xa5f6a2(0x155)]['length']>=IMAGE_CONFIG['QUEUE_LIMIT'])return{'success':![],'error':_0xa5f6a2(0x15b)+IMAGE_CONFIG['QUEUE_LIMIT']+_0xa5f6a2(0x16b),'queueLength':this['queue']['length']};this[_0xa5f6a2(0x155)][_0xa5f6a2(0x159)](_0x53f4a5),_0x5363ea[_0xa5f6a2(0x159)](_0x3264c9),this[_0xa5f6a2(0x19b)]?.[_0xa5f6a2(0x128)](_0xa5f6a2(0x163)+_0x3264c9,{'prompt':_0x5278ef[_0xa5f6a2(0x17e)][_0xa5f6a2(0x1a4)](0x0,0x32)+'...','queuePosition':this[_0xa5f6a2(0x155)]['length']});}return!this[_0xa5f6a2(0x199)]&&this[_0xa5f6a2(0x197)]()[_0xa5f6a2(0x18b)](_0x5ba9e4=>{const _0x4069da=_0xa5f6a2;this[_0x4069da(0x19b)]?.[_0x4069da(0x18d)](_0x4069da(0x18e),_0x5ba9e4);}),{'success':!![],'jobIds':_0x5363ea,'queueLength':this['queue'][_0xa5f6a2(0x124)],'message':_0x50c2e6['batch']?_0x5363ea['length']+'\x20images\x20queued\x20for\x20generation':'Image\x20queued\x20for\x20generation','estimatedWaitTime':this[_0xa5f6a2(0x1a5)]()};}catch(_0x4177e2){return this['logger']?.[_0xa5f6a2(0x18d)]('Image\x20generation\x20error:',_0x4177e2),{'success':![],'error':_0x4177e2['message']};}}[a0_0x475ef2(0x12a)](_0x301531){const _0x20fa0b=a0_0x475ef2;if(!_0x301531['images']||_0x301531[_0x20fa0b(0x14b)]['length']===0x0)throw new Error(_0x20fa0b(0x16a));for(const _0x4447a1 of _0x301531[_0x20fa0b(0x14b)]){if(!_0x4447a1[_0x20fa0b(0x17e)]||_0x4447a1['prompt'][_0x20fa0b(0x178)]()[_0x20fa0b(0x124)]===0x0)throw new Error(_0x20fa0b(0x123));if(_0x4447a1['prompt'][_0x20fa0b(0x124)]>IMAGE_CONFIG['MAX_PROMPT_LENGTH'])throw new Error('Prompt\x20too\x20long\x20(max\x20'+IMAGE_CONFIG['MAX_PROMPT_LENGTH']+'\x20characters)');if(_0x4447a1[_0x20fa0b(0x14c)]&&!IMAGE_CONFIG['VALID_SIZES'][_0x20fa0b(0x188)](_0x4447a1[_0x20fa0b(0x14c)]))throw new Error('Invalid\x20size:\x20'+_0x4447a1['size']+_0x20fa0b(0x1aa)+IMAGE_CONFIG['VALID_SIZES']['join'](',\x20'));if(_0x4447a1['outputPath']){const _0x3e7d8e=a0_0x36de65['extname'](_0x4447a1[_0x20fa0b(0x148)])['toLowerCase']()[_0x20fa0b(0x17c)]('.','');if(_0x3e7d8e&&!IMAGE_CONFIG['VALID_FORMATS']['includes'](_0x3e7d8e))throw new Error('Invalid\x20format:\x20'+_0x3e7d8e+_0x20fa0b(0x17b)+IMAGE_CONFIG[_0x20fa0b(0x13a)]['join'](',\x20'));}}}async[a0_0x475ef2(0x197)](){const _0x49edce=a0_0x475ef2;if(this['isProcessing'])return;this[_0x49edce(0x199)]=!![];while(this[_0x49edce(0x155)][_0x49edce(0x124)]>0x0){const _0x4a0a95=this[_0x49edce(0x155)][_0x49edce(0x12b)]();this['currentJob']=_0x4a0a95,this[_0x49edce(0x19b)]?.['info']('Processing\x20image\x20generation\x20job:\x20'+_0x4a0a95['jobId']);try{_0x4a0a95['status']=_0x49edce(0x1a6);const _0xd9667b=await this['_generateImage'](_0x4a0a95);_0x4a0a95['status']='completed',_0x4a0a95[_0x49edce(0x165)]=_0xd9667b,_0x4a0a95[_0x49edce(0x183)]=new Date()['toISOString'](),this['completedJobs'][_0x49edce(0x160)](_0x4a0a95['jobId'],_0x4a0a95);if(global['loxiaWebServer']&&_0x4a0a95[_0x49edce(0x16c)]){let _0x387bc5,_0x7f39ab=![];if(_0xd9667b[_0x49edce(0x13c)]&&_0xd9667b['resolvedOutputPath'])_0x387bc5=this['_convertToWebUrl'](_0xd9667b[_0x49edce(0x190)],_0x4a0a95[_0x49edce(0x16c)]);else _0xd9667b['temporaryUrl']&&(_0x387bc5=_0xd9667b[_0x49edce(0x15d)],_0x7f39ab=!![]);global['loxiaWebServer']['broadcastToSession'](_0x4a0a95[_0x49edce(0x16c)],{'type':_0x49edce(0x145),'agentId':_0x4a0a95['agentId'],'jobId':_0x4a0a95[_0x49edce(0x19f)],'imageUrl':_0x387bc5,'localPath':_0xd9667b['resolvedOutputPath'],'prompt':_0x4a0a95[_0x49edce(0x17e)],'success':!![],'isTemporary':_0x7f39ab,'savedToDisk':_0xd9667b['savedToDisk'],'downloadError':_0xd9667b['downloadError'],'timestamp':_0x4a0a95['completedAt']}),this[_0x49edce(0x19b)]?.[_0x49edce(0x128)]('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x4a0a95[_0x49edce(0x19f)],'imageUrl':_0x387bc5,'localPath':_0xd9667b['resolvedOutputPath'],'savedToDisk':_0xd9667b['savedToDisk'],'isTemporary':_0x7f39ab});if(this[_0x49edce(0x192)]&&_0x4a0a95['agentId'])try{const _0x4fb279=await this[_0x49edce(0x192)]['getAgent'](_0x4a0a95[_0x49edce(0x12f)]);if(_0x4fb279){let _0x4f218e='Image\x20generated:\x20'+_0x4a0a95[_0x49edce(0x17e)];_0x7f39ab&&(_0x4f218e+=_0x49edce(0x1b1),_0xd9667b[_0x49edce(0x181)]&&(_0x4f218e+=_0x49edce(0x16f)+_0xd9667b[_0x49edce(0x181)]));const _0xcb8874={'id':_0x49edce(0x1ab)+_0x4a0a95[_0x49edce(0x19f)],'role':'assistant','content':_0x4f218e,'timestamp':_0x4a0a95['completedAt'],'imageUrl':_0x387bc5,'type':'image-result','toolId':_0x49edce(0x1a1),'status':_0x49edce(0x176),'isTemporary':_0x7f39ab||![],'savedToDisk':_0xd9667b['savedToDisk']!==![]};_0x4fb279[_0x49edce(0x13d)][_0x49edce(0x19c)][_0x49edce(0x130)][_0x49edce(0x159)](_0xcb8874),_0x4fb279[_0x49edce(0x13d)][_0x49edce(0x19c)][_0x49edce(0x1a2)]=_0x4a0a95[_0x49edce(0x183)],_0x4fb279[_0x49edce(0x164)]&&_0x4fb279['conversations'][_0x4fb279['currentModel']]&&(_0x4fb279[_0x49edce(0x13d)][_0x4fb279['currentModel']][_0x49edce(0x130)]['push'](_0xcb8874),_0x4fb279['conversations'][_0x4fb279[_0x49edce(0x164)]][_0x49edce(0x1a2)]=_0x4a0a95[_0x49edce(0x183)]),_0x4fb279[_0x49edce(0x162)]=_0x4a0a95['completedAt'],await this[_0x49edce(0x192)][_0x49edce(0x196)](_0x4a0a95['agentId']),this['logger']?.['info'](_0x49edce(0x12c),{'agentId':_0x4a0a95['agentId'],'jobId':_0x4a0a95['jobId'],'messageId':_0xcb8874['id']});}}catch(_0x22a284){this['logger']?.[_0x49edce(0x18d)]('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x22a284[_0x49edce(0x13e)],'agentId':_0x4a0a95['agentId'],'jobId':_0x4a0a95['jobId']});}}this[_0x49edce(0x19b)]?.['info']('Image\x20generation\x20completed:\x20'+_0x4a0a95[_0x49edce(0x19f)],{'outputPath':_0xd9667b['resolvedOutputPath']});}catch(_0x2e493d){this[_0x49edce(0x19b)]?.['error'](_0x49edce(0x136)+_0x4a0a95['jobId'],_0x2e493d),_0x4a0a95[_0x49edce(0x198)]='failed',_0x4a0a95[_0x49edce(0x18d)]=_0x2e493d['message'],_0x4a0a95[_0x49edce(0x183)]=new Date()[_0x49edce(0x131)](),this['completedJobs'][_0x49edce(0x160)](_0x4a0a95['jobId'],_0x4a0a95);global['loxiaWebServer']&&_0x4a0a95['sessionId']&&(global[_0x49edce(0x19e)][_0x49edce(0x1a0)](_0x4a0a95['sessionId'],{'type':_0x49edce(0x145),'jobId':_0x4a0a95[_0x49edce(0x19f)],'agentId':_0x4a0a95[_0x49edce(0x12f)],'prompt':_0x4a0a95[_0x49edce(0x17e)],'success':![],'error':_0x2e493d['message'],'timestamp':_0x4a0a95['completedAt']}),this['logger']?.['info']('Image\x20generation\x20error\x20broadcast\x20sent',{'jobId':_0x4a0a95[_0x49edce(0x19f)],'sessionId':_0x4a0a95[_0x49edce(0x16c)],'error':_0x2e493d['message']}));if(this[_0x49edce(0x192)]&&_0x4a0a95[_0x49edce(0x12f)])try{const _0x1f8eb4=await this[_0x49edce(0x192)][_0x49edce(0x18f)](_0x4a0a95['agentId']);if(_0x1f8eb4){const _0x4c1e90={'id':'img-error-'+_0x4a0a95[_0x49edce(0x19f)],'role':_0x49edce(0x17d),'content':'❌\x20Image\x20generation\x20failed:\x20'+_0x2e493d[_0x49edce(0x13e)]+_0x49edce(0x12e)+_0x4a0a95[_0x49edce(0x17e)],'timestamp':_0x4a0a95[_0x49edce(0x183)],'type':_0x49edce(0x18d),'toolId':_0x49edce(0x1a1),'status':'failed','jobId':_0x4a0a95['jobId']};_0x1f8eb4[_0x49edce(0x13d)]['full']['messages'][_0x49edce(0x159)](_0x4c1e90),_0x1f8eb4[_0x49edce(0x13d)]['full']['lastUpdated']=_0x4a0a95['completedAt'],_0x1f8eb4['currentModel']&&_0x1f8eb4['conversations'][_0x1f8eb4[_0x49edce(0x164)]]&&(_0x1f8eb4['conversations'][_0x1f8eb4[_0x49edce(0x164)]]['messages']['push'](_0x4c1e90),_0x1f8eb4[_0x49edce(0x13d)][_0x1f8eb4[_0x49edce(0x164)]]['lastUpdated']=_0x4a0a95[_0x49edce(0x183)]),_0x1f8eb4['lastActivity']=_0x4a0a95['completedAt'],await this['agentPool']['persistAgentState'](_0x4a0a95['agentId']),this[_0x49edce(0x19b)]?.[_0x49edce(0x128)](_0x49edce(0x129),{'agentId':_0x4a0a95['agentId'],'jobId':_0x4a0a95[_0x49edce(0x19f)],'error':_0x2e493d['message']});}}catch(_0x2b1fef){this['logger']?.[_0x49edce(0x18d)]('Failed\x20to\x20save\x20image\x20error\x20to\x20conversation\x20history',{'error':_0x2b1fef[_0x49edce(0x13e)],'agentId':_0x4a0a95[_0x49edce(0x12f)],'jobId':_0x4a0a95[_0x49edce(0x19f)]});}}}this['isProcessing']=![],this['currentJob']=null;}async[a0_0x475ef2(0x12d)](_0x5b3cf4){const _0xfea034=a0_0x475ef2;if(!this[_0xfea034(0x1a3)])throw new Error('AI\x20service\x20not\x20available.\x20Image\x20generation\x20requires\x20AI\x20service.');const _0x1da9a6=await this[_0xfea034(0x153)](_0x5b3cf4),_0x15dec1=a0_0x36de65['dirname'](_0x1da9a6);await a0_0x1066b9['mkdir'](_0x15dec1,{'recursive':!![]}),this[_0xfea034(0x19b)]?.[_0xfea034(0x128)]('Generating\x20image\x20with\x20'+_0x5b3cf4['model'],{'size':_0x5b3cf4[_0xfea034(0x14c)],'quality':_0x5b3cf4['quality']});const _0x510a1e={'model':_0x5b3cf4[_0xfea034(0x191)],'size':_0x5b3cf4[_0xfea034(0x14c)],'quality':_0x5b3cf4[_0xfea034(0x157)],'responseFormat':_0xfea034(0x177),'sessionId':_0x5b3cf4[_0xfea034(0x16c)]},_0x35b6da=await this['aiService']['generateImage'](_0x5b3cf4[_0xfea034(0x17e)],_0x510a1e),_0x47b425=_0x35b6da?.['url']||_0x35b6da?.['imageUrl'];if(!_0x47b425)throw new Error('No image URL received from AI service');this['logger']?.['info']('Image\x20URL\x20received:\x20'+_0x47b425[_0xfea034(0x1a4)](0x0,0x32)+'...');let _0x31b09b=![],_0x2f9ee0=null;try{await this[_0xfea034(0x15c)](_0x47b425,_0x1da9a6),_0x31b09b=!![],!_0x5b3cf4['saveToProject']&&this[_0xfea034(0x189)](_0x1da9a6,_0x5b3cf4['jobId']);}catch(_0x164773){_0x2f9ee0=_0x164773[_0xfea034(0x13e)],this['logger']?.['warn']('Failed\x20to\x20save\x20image\x20to\x20disk,\x20will\x20use\x20temporary\x20URL:\x20'+_0x164773['message']);}return{'jobId':_0x5b3cf4['jobId'],'prompt':_0x5b3cf4['prompt'],'outputPath':_0x5b3cf4['outputPath'],'resolvedOutputPath':_0x31b09b?_0x1da9a6:null,'temporaryUrl':_0x47b425,'savedToDisk':_0x31b09b,'downloadError':_0x2f9ee0,'success':!![],'model':_0x35b6da['model']||_0x5b3cf4[_0xfea034(0x191)],'size':_0x5b3cf4['size'],'usage':_0x35b6da['usage']};}async[a0_0x475ef2(0x153)](_0x3b1aac){const _0x4f9916=a0_0x475ef2;if(_0x3b1aac[_0x4f9916(0x170)]){const _0xb2898d=_0x3b1aac['projectDir']||process['cwd']();let _0x5e96e4=_0x3b1aac[_0x4f9916(0x148)];if(!_0x5e96e4){const _0x3b9b17=Date[_0x4f9916(0x186)]();_0x5e96e4=_0x4f9916(0x14a)+_0x3b9b17+'.png';}const _0x1a64b1=a0_0x36de65[_0x4f9916(0x132)](_0x5e96e4)?a0_0x36de65['normalize'](_0x5e96e4):a0_0x36de65[_0x4f9916(0x142)](a0_0x36de65[_0x4f9916(0x187)](_0xb2898d,_0x5e96e4));if(!_0x1a64b1['startsWith'](a0_0x36de65['normalize'](_0xb2898d)))throw new Error('Path\x20traversal\x20detected');if(_0x3b1aac[_0x4f9916(0x1a7)]){const _0x29cdc7=a0_0x36de65[_0x4f9916(0x14f)](_0xb2898d,_0x1a64b1);if(_0x29cdc7['startsWith']('..'))throw new Error(_0x4f9916(0x126));}return _0x1a64b1;}else{await a0_0x1066b9[_0x4f9916(0x1b0)](this[_0x4f9916(0x144)],{'recursive':!![]});let _0xcbcc29=_0x3b1aac['outputPath']?a0_0x36de65[_0x4f9916(0x1ad)](_0x3b1aac[_0x4f9916(0x148)]):'generated-'+_0x3b1aac['jobId']+'.png';return a0_0x36de65['join'](this['tempDir'],_0xcbcc29);}}async[a0_0x475ef2(0x15c)](_0x1fda9b,_0x560244){const _0x537c55=a0_0x475ef2;try{const _0x7a3c98=await fetch(_0x1fda9b,{'signal':AbortSignal['timeout'](IMAGE_CONFIG['DOWNLOAD_TIMEOUT'])});if(!_0x7a3c98['ok'])throw new Error('Failed\x20to\x20download\x20image:\x20HTTP\x20'+_0x7a3c98[_0x537c55(0x198)]);const _0x5611d8=Buffer[_0x537c55(0x168)](await _0x7a3c98['arrayBuffer']());await a0_0x1066b9['writeFile'](_0x560244,_0x5611d8),this['logger']?.['info']('Image\x20saved\x20to:\x20'+_0x560244);}catch(_0x3b7e99){if(_0x3b7e99[_0x537c55(0x138)]==='TimeoutError')throw new Error('Image\x20download\x20timeout');else{if(_0x3b7e99[_0x537c55(0x138)]===_0x537c55(0x143))throw new Error(_0x537c55(0x1a8)+_0x3b7e99['message']);else throw new Error(_0x537c55(0x152)+_0x3b7e99[_0x537c55(0x13e)]);}}}[a0_0x475ef2(0x189)](_0x2c767d,_0x593d04){const _0x245a04=a0_0x475ef2,_0x209bd7=setTimeout(async()=>{const _0x287afa=a0_0x28d9;try{await a0_0x1066b9['unlink'](_0x2c767d),this[_0x287afa(0x19b)]?.[_0x287afa(0x182)]('Cleaned\x20up\x20temp\x20image:\x20'+_0x2c767d),this['cleanupTimers'][_0x287afa(0x149)](_0x593d04);}catch(_0x1973b2){}},IMAGE_CONFIG[_0x245a04(0x137)]);this[_0x245a04(0x154)][_0x245a04(0x160)](_0x593d04,_0x209bd7);}[a0_0x475ef2(0x169)](_0x1cb23e,_0x93021e){const _0x1a5116=a0_0x475ef2,_0x41827e=a0_0x36de65['basename'](_0x1cb23e),_0x3c921c=global[_0x1a5116(0x19e)]?.['port']||0x1f90;let _0x3131bd=global[_0x1a5116(0x19e)]?.['host']||_0x1a5116(0x172);return _0x3131bd==='0.0.0.0'&&(_0x3131bd=_0x1a5116(0x172)),_0x1a5116(0x15f)+_0x3131bd+':'+_0x3c921c+'/api/images/'+_0x93021e+'/'+_0x41827e;}[a0_0x475ef2(0x1a5)](){const _0x4d71b3=a0_0x475ef2,_0x4b4505=0x1e,_0x5d04ca=this['queue']['length'];if(_0x5d04ca===0x0)return'~30\x20seconds';const _0x438971=_0x5d04ca*_0x4b4505,_0x34bc2b=Math[_0x4d71b3(0x15a)](_0x438971/0x3c),_0x42e7f3=_0x438971%0x3c;if(_0x34bc2b>0x0)return'~'+_0x34bc2b+'m\x20'+_0x42e7f3+'s';return'~'+_0x42e7f3+'s';}['_generateJobId'](){return'img-'+Date['now']()+'-'+Math['random']()['toString'](0x24)['substring'](0x2,0x9);}['getJobStatus'](_0x2d9c44){const _0x9ce7ed=a0_0x475ef2;if(this['completedJobs']['has'](_0x2d9c44))return this['completedJobs']['get'](_0x2d9c44);if(this['currentJob']&&this[_0x9ce7ed(0x17a)]['jobId']===_0x2d9c44)return this['currentJob'];const _0xed8a52=this['queue']['find'](_0xa0413d=>_0xa0413d['jobId']===_0x2d9c44);if(_0xed8a52)return _0xed8a52;return{'jobId':_0x2d9c44,'status':'not_found'};}async['cleanup'](){const _0x35254f=a0_0x475ef2;this[_0x35254f(0x19b)]?.['info'](_0x35254f(0x147));for(const _0xd4022 of this['cleanupTimers']['values']()){clearTimeout(_0xd4022);}this[_0x35254f(0x154)][_0x35254f(0x179)]();for(const _0x57e02b of this[_0x35254f(0x155)]){_0x57e02b[_0x35254f(0x198)]=_0x35254f(0x158);}this[_0x35254f(0x155)]=[];}}export default ImageTool;
|
|
1
|
+
const a0_0x2ea0f1=a0_0x289b;function a0_0x289b(_0x54a68f,_0x3637a2){_0x54a68f=_0x54a68f-0x123;const _0x8cb1e8=a0_0x8cb1();let _0x289b99=_0x8cb1e8[_0x54a68f];if(a0_0x289b['eSnEOB']===undefined){var _0x9b5289=function(_0x291234){const _0x12e7d2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5628f7='',_0x47effa='';for(let _0xa5d2f8=0x0,_0x151a26,_0x34cc5a,_0x3e1b47=0x0;_0x34cc5a=_0x291234['charAt'](_0x3e1b47++);~_0x34cc5a&&(_0x151a26=_0xa5d2f8%0x4?_0x151a26*0x40+_0x34cc5a:_0x34cc5a,_0xa5d2f8++%0x4)?_0x5628f7+=String['fromCharCode'](0xff&_0x151a26>>(-0x2*_0xa5d2f8&0x6)):0x0){_0x34cc5a=_0x12e7d2['indexOf'](_0x34cc5a);}for(let _0x314ae4=0x0,_0x58dd67=_0x5628f7['length'];_0x314ae4<_0x58dd67;_0x314ae4++){_0x47effa+='%'+('00'+_0x5628f7['charCodeAt'](_0x314ae4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47effa);};a0_0x289b['wseysl']=_0x9b5289,a0_0x289b['tsgsLU']={},a0_0x289b['eSnEOB']=!![];}const _0x531d85=_0x8cb1e8[0x0],_0x439f79=_0x54a68f+_0x531d85,_0x5a0b10=a0_0x289b['tsgsLU'][_0x439f79];return!_0x5a0b10?(_0x289b99=a0_0x289b['wseysl'](_0x289b99),a0_0x289b['tsgsLU'][_0x439f79]=_0x289b99):_0x289b99=_0x5a0b10,_0x289b99;}(function(_0x33010d,_0x2ffde6){const _0x524526=a0_0x289b,_0x861b36=_0x33010d();while(!![]){try{const _0x1eb31f=-parseInt(_0x524526(0x1ac))/0x1*(parseInt(_0x524526(0x17c))/0x2)+parseInt(_0x524526(0x136))/0x3+-parseInt(_0x524526(0x15b))/0x4*(parseInt(_0x524526(0x135))/0x5)+parseInt(_0x524526(0x15a))/0x6+parseInt(_0x524526(0x12e))/0x7*(parseInt(_0x524526(0x12b))/0x8)+parseInt(_0x524526(0x1a0))/0x9+-parseInt(_0x524526(0x1b8))/0xa;if(_0x1eb31f===_0x2ffde6)break;else _0x861b36['push'](_0x861b36['shift']());}catch(_0x5971a2){_0x861b36['push'](_0x861b36['shift']());}}}(a0_0x8cb1,0x6f1f9));function a0_0x8cb1(){const _0x59e0f5=['u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','zxH0BMfTzq','qwnJzxnZigrLBMLLzdOGCgf0AcbVDxrZAwrLihbYB2PLy3qGzgLYzwn0B3j5','x2DLBMvYyxrLsM9Iswq','nteYEduXmG','Dg9ju09tDhjPBMC','zMfPBgvK','D3jPDgvgAwXL','CMvZB2X2zwrpDxrWDxrqyxrO','Ag9ZDa','AxnbCNjHEq','x3zHBgLKyxrLugfYyw1LDgvYCW','C2f2zvrVuhjVAMvJDa','ywDLBNrjza','x3bHCNnLwe1msw1Hz2u','yMf0y2G','CMvWBgfJzq','lI4U','C2HPzNq','C3rYAw5N','sw1Hz2uGz2vUzxjHDgvKoIa','quKGu2vYDMLJzsbZzxqGzM9YieLTywDLvg9VBa','Aw1Hz2uTCMvZDwX0','ChjVAMvJDerPCG','zNvSBa','ndq0nJe5mKHIBK1svq','otCYt1DbveTh','CgfYC2vqyxjHBwv0zxjZ','x2DLBMvYyxrLsw1Hz2u','Bg9Nz2vY','BwfW','rMfPBgvKihrVigrVD25SB2fKigLTywDLoIbivfrqia','x3bHCNnLsLnptLbHCMfTCW','BM90x2zVDw5K','C3vIC3rYAw5N','vKfmsurFu0LArvm','ChvZAa','Bg9JywXOB3n0','igLTywDLCYbXDwv1zwqGzM9YigDLBMvYyxrPB24','CxvLDwu','yxP1CMuTB3bLBMfPlwrHBgXLmW','CgvYC2LZDefNzw50u3rHDgu','yMfZzw5HBwu','sw1Hz2uGz2vUzxjHDgLVBIbICM9HzgnHC3qGC2vUDa','vgLTzw91DevYCM9Y','y2XLyw51Ca','z2vUzxjHDgvKlq','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLlIbjBwfNzsbNzw5LCMf0Aw9UihjLCxvPCMvZiefjihnLCNzPy2uU','tM8GAw1Hz2vZihnWzwnPzMLLza','rg93BMXVywqGzMfPBgvKoIa','DhjPBq','BwvZC2fNzxm','vKfmsurFrK9stufuuW','mtC5mNGXmdi0','cGRIMQdVUi8GkIPxyxjUAw5NoIOQieLTywDLigLZihvZAw5NigeGDgvTCg9Yyxj5ifvstcaOzxHWAxjLCYbPBIb+msbOB3vYks4GrMfPBgvKihrVihnHDMuGDg8GzgLZAY4','x3jLC29SDMvpDxrWDxrqyxrO','sw1Hz2uGzg93BMXVywqGDgLTzw91Da','zgLYBMfTzq','C2L6zq','mJeZndbKyMXut04','ChjVBxb0','Dg9tDhjPBMC','sw1Hz2uGCxvLDwvKigzVCIbNzw5LCMf0Aw9U','sw52ywXPzcbZAxPLoIa','Bw9KzwW','x3bHCNnLsw1Hz2vqyxjHBxm','z2vUzxjHDgvjBwfNzq','Aw5MBW','ywDLBNrqB29S','AgfZ','CxvHBgL0Eq','AM9PBG','Aw1Hz2uTz2vU','yNjVywrJyxn0vg9tzxnZAw9U','C2v0qwDLBNrqB29S','BwTKAxi','lIbwywXPzcbZAxPLCZOG','zxjYB3i','BwvZC2fNzq','zgvSzxrL','lNbUzW','Bg94AweTAw1Hz2vZ','BM93','uxvLDwuGChjVy2vZC2LUzYbLCNjVCJO','BgfZDefJDgL2Axr5','y29TCgXLDgvKqxq','C3rHDhvZ','ChjVy2vZC2LUzW','C3rHCNrZv2L0Aa','y2XLyw51CfrPBwvYCW','Aw1Hz2vZ','y29UDMvYC2f0Aw9UCW','zgLYzwn0B3j5qwnJzxnZ','Aw1NlwvYCM9Ylq','DxjS','mtK1nZG3oezdsg9LCG','x2rVD25SB2fKsw1Hz2u','ANbLzW','AxnqCM9JzxnZAw5N','y3vYCMvUDePVyG','zg93BMXVywrfCNjVCG','C3LZDgvT','cIOQrxjYB3i6kIOG','x3bHCNnLwe1mugfYyw1Z','Aw1Hz2vhzw5LCMf0zwq','BMfTzq','z2v0sM9Iu3rHDhvZ','mZffEenSzeq','mc4WlJaUma','B3v0Chv0lxbHDgG','Ahr0CdOVlW','igLTywDLCYKUifbSzwfZzsb3ywL0igzVCIbJDxjYzw50igPVyNmGDg8Gy29TCgXLDguU','y29TCgXLDgvK','rMfPBgvKihrVihnHDMuGAw1Hz2uGzxjYB3iGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','C2f2zwruB0rPC2S','yxjYyxLcDwzMzxi','BgvUz3rO','BM9YBwfSAxPL','sw1Hz2uGz2vUzxjHDgLVBIbJB21WBgv0zwq6ia','ndi3mteXmhnTzhLrwa','x2nVBNzLCNruB1DLyLvYBa','uvvfvuvFteLnsvq','B2jQzwn0','C2vZC2LVBKLK','x3bYB2nLC3nrDwv1zq','y3vYCMvUDe1VzgvS','Aw5JBhvKzxm','zMXVB3i','zxHLyW','4P2mieLTywDLigDLBMvYyxrPB24GzMfPBgvKoIa','revgqvvmvf9nt0rfta','BgfZDfvWzgf0zwq','AM9Iswq','C3rHBMrHCMq','mJyZmKjUt1HRCG','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','CgfYyw1LDgvYCW','ody1owfmDfjzCG','lIbwywXPzcbMB3jTyxrZoIa','AxnbyNnVBhv0zq','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','Bg94Awfxzwjtzxj2zxi','sw1Hz2uGCMvZDwX0ihnHDMvKihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','DgvTCg9Yyxj5vxjS','otKXnvfszNnyCa','otG4mdKYB3nsBxrd','tufyx1bst01qvf9mru5hveG','tM8GDMfSAwqGAw1Hz2uGCgfYyw1LDgvYCYbMB3vUza','DgvTCerPCG','q2XLyw5Lzcb1Ccb0zw1WigLTywDLoIa','y2fUy2vSBgvK','B3v0Chv0ugf0Aa','y29TCgXLDgvKsM9ICW','zMLUza','y2XLyxi','revgqvvmvf9tsvPf'];a0_0x8cb1=function(){return _0x59e0f5;};return a0_0x8cb1();}import a0_0x5628f7 from'path';import a0_0x47effa from'os';import{promises as a0_0xa5d2f8}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':a0_0x2ea0f1(0x169),'DEFAULT_SIZE':'1024x1024','DEFAULT_QUALITY':a0_0x2ea0f1(0x12a),'VALID_SIZES':['256x256',a0_0x2ea0f1(0x145),'1024x1024','1024x1792',a0_0x2ea0f1(0x176)],'VALID_FORMATS':['png','jpg',a0_0x2ea0f1(0x1a2),'webp'],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};export class ImageTool extends BaseTool{constructor(_0x151a26={},_0x34cc5a=null){const _0x3df08a=a0_0x2ea0f1;super(_0x151a26,_0x34cc5a),this['id']=_0x3df08a(0x189),this[_0x3df08a(0x168)]=[],this[_0x3df08a(0x1a4)]=null,this['completedJobs']=new Map(),this[_0x3df08a(0x1a3)]=![],this['aiService']=null,this[_0x3df08a(0x185)]=null,this['tempDir']=a0_0x5628f7[_0x3df08a(0x188)](a0_0x47effa['tmpdir'](),_0x3df08a(0x192)),this[_0x3df08a(0x19a)]=new Map();}['setAIService'](_0x3e1b47){const _0x4bf055=a0_0x2ea0f1;this['aiService']=_0x3e1b47,this[_0x4bf055(0x15e)]?.[_0x4bf055(0x184)](_0x4bf055(0x156));}[a0_0x2ea0f1(0x18b)](_0x314ae4){const _0x5427f6=a0_0x2ea0f1;this[_0x5427f6(0x185)]=_0x314ae4,this['logger']?.['info']('AgentPool\x20set\x20for\x20ImageTool');}['getDescription'](){const _0x10bff0=a0_0x2ea0f1;return'Tool:\x20Image\x20Generator\x20-\x20Generate\x20images\x20using\x20AI\x20models\x0a\x0a**Purpose:**\x20Generate\x20images\x20from\x20text\x20descriptions\x20using\x20DALL-E\x203.\x20Images\x20are\x20saved\x20to\x20files\x20and\x20displayed\x20in\x20chat.\x0a\x0a**CRITICAL:\x20Automatic\x20Execution**\x0a-\x20ANY\x20```json\x20block\x20with\x20\x22toolId\x22:\x20\x22image-gen\x22\x20will\x20be\x20EXECUTED\x20IMMEDIATELY\x0a-\x20Just\x20output\x20the\x20command\x20when\x20you\x20want\x20to\x20generate\x20an\x20image\x0a-\x20If\x20generation\x20fails,\x20output\x20a\x20NEW\x20command\x20with\x20corrections\x0a\x0a**USAGE:**\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22image-gen\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22prompt\x22:\x20\x22Detailed\x20description\x20of\x20the\x20image\x22,\x0a\x20\x20\x20\x20\x22outputPath\x22:\x20\x22images/filename.png\x22,\x0a\x20\x20\x20\x20\x22model\x22:\x20\x22azure-openai-dalle3\x22,\x0a\x20\x20\x20\x20\x22size\x22:\x20\x221024x1024\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**prompt**\x20(required):\x20Detailed\x20description\x20of\x20image\x20to\x20generate\x0a-\x20**outputPath**\x20(optional):\x20Path\x20to\x20save\x20image\x20(permanent).\x20Omit\x20for\x20temp\x20file.\x0a-\x20**model**\x20(optional):\x20\x22azure-openai-dalle3\x22\x20(default)\x0a-\x20**size**\x20(optional):\x20256x256,\x20512x512,\x201024x1024,\x201024x1792,\x201792x1024\x20(default:\x201024x1024)\x0a-\x20**quality**\x20(optional):\x20\x22standard\x22\x20or\x20\x22hd\x22\x20(default:\x20standard)\x0a\x0a**EXAMPLE:**\x0aUser:\x20\x22create\x20a\x20sunset\x20image\x22\x0aYou\x20output:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22image-gen\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22prompt\x22:\x20\x22A\x20beautiful\x20sunset\x20over\x20the\x20ocean\x20with\x20vibrant\x20orange\x20and\x20pink\x20colors\x20reflecting\x20on\x20calm\x20waters\x22,\x0a\x20\x20\x20\x20\x22outputPath\x22:\x20\x22images/sunset.png\x22,\x0a\x20\x20\x20\x20\x22size\x22:\x20\x221024x1024\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Images\x20take\x2015-30\x20seconds\x20to\x20generate\x0a-\x20Be\x20descriptive\x20in\x20prompts\x20for\x20better\x20results\x0a-\x20Max\x20'+IMAGE_CONFIG[_0x10bff0(0x1ba)]+'\x20images\x20in\x20queue';}[a0_0x2ea0f1(0x15c)](_0x58dd67){const _0x58f916=a0_0x2ea0f1;if(typeof _0x58dd67==='object'&&_0x58dd67!==null)return this['_parseJSONParams'](_0x58dd67);if(typeof _0x58dd67===_0x58f916(0x154)){const _0xf38f03=_0x58dd67['trim']();if(_0xf38f03[_0x58f916(0x199)]('{')||_0xf38f03['startsWith']('['))try{const _0x147d66=JSON['parse'](_0xf38f03);return this[_0x58f916(0x161)](_0x147d66);}catch(_0x2c87ce){}return this[_0x58f916(0x1a8)](_0x58dd67);}throw new Error('Invalid\x20parameter\x20format');}['_parseJSONParams'](_0x303548){const _0x5f40ec=a0_0x2ea0f1;_0x303548['parameters']&&(_0x303548=_0x303548[_0x5f40ec(0x12d)]);if(_0x303548[_0x5f40ec(0x150)]&&Array[_0x5f40ec(0x14b)](_0x303548[_0x5f40ec(0x150)]))return{'batch':!![],'images':_0x303548[_0x5f40ec(0x150)][_0x5f40ec(0x15f)](_0x321f67=>this[_0x5f40ec(0x182)](_0x321f67))};return{'batch':![],'images':[this['_parseImageParams'](_0x303548)]};}[a0_0x2ea0f1(0x1a8)](_0x44e5a8){const _0x453e1f=a0_0x2ea0f1,_0x4d682a={'batch':![],'images':[]},_0x507835=/<batch>([\s\S]*?)<\/batch>/i[_0x453e1f(0x125)](_0x44e5a8);if(_0x507835){_0x4d682a[_0x453e1f(0x150)]=!![];const _0x6a414c=_0x507835[0x1],_0x2c1dc1=/<image>([\s\S]*?)<\/image>/gi;let _0x4488fa;while((_0x4488fa=_0x2c1dc1['exec'](_0x6a414c))!==null){_0x4d682a['images'][_0x453e1f(0x165)](this[_0x453e1f(0x14f)](_0x4488fa[0x1]));}}else _0x4d682a['images']['push'](this['_parseXMLImage'](_0x44e5a8));if(_0x4d682a[_0x453e1f(0x19b)]['length']===0x0)throw new Error(_0x453e1f(0x138));return _0x4d682a;}[a0_0x2ea0f1(0x182)](_0x371de2){const _0x1d1ec5=a0_0x2ea0f1,_0x123144=_0x371de2[_0x1d1ec5(0x13c)]||_0x371de2[_0x1d1ec5(0x1ae)]||null;return{'prompt':_0x371de2['prompt']||'','outputPath':_0x123144,'saveToProject':_0x123144!==null,'model':_0x371de2['model']||IMAGE_CONFIG[_0x1d1ec5(0x127)],'size':_0x371de2[_0x1d1ec5(0x17b)]||IMAGE_CONFIG[_0x1d1ec5(0x140)],'quality':_0x371de2[_0x1d1ec5(0x187)]||IMAGE_CONFIG['DEFAULT_QUALITY']};}['_parseXMLImage'](_0x1e8456){const _0x53e3b8=a0_0x2ea0f1,_0x348433=_0x3847c4=>{const _0x3f942f=a0_0x289b,_0x35ed6a=new RegExp('<'+_0x3847c4+'>([\x5cs\x5cS]*?)<\x5c/'+_0x3847c4+'>','i'),_0x35bf70=_0x35ed6a['exec'](_0x1e8456);return _0x35bf70?_0x35bf70[0x1][_0x3f942f(0x173)]():null;},_0x329dde=_0x348433(_0x53e3b8(0x1ae))||null;return{'prompt':_0x348433(_0x53e3b8(0x17d))||'','outputPath':_0x329dde,'saveToProject':_0x329dde!==null,'model':_0x348433('model')||IMAGE_CONFIG[_0x53e3b8(0x127)],'size':_0x348433('size')||IMAGE_CONFIG[_0x53e3b8(0x140)],'quality':_0x348433('quality')||IMAGE_CONFIG['DEFAULT_QUALITY']};}async['execute'](_0x4b697e,_0x49011d={}){const _0x58360a=a0_0x2ea0f1;try{const {agentId:_0x2464c0,projectDir:_0x2e2f3e,directoryAccess:_0x33811b,sessionId:_0x38c4b0}=_0x49011d;if(typeof _0x4b697e===_0x58360a(0x154))this['logger']?.[_0x58360a(0x184)]('ImageTool:\x20Auto-parsing\x20string\x20parameters'),_0x4b697e=this[_0x58360a(0x15c)](_0x4b697e);else typeof _0x4b697e===_0x58360a(0x1bb)&&_0x4b697e!==null&&!_0x4b697e['images']&&(this['logger']?.[_0x58360a(0x184)]('ImageTool:\x20Normalizing\x20object\x20parameters'),_0x4b697e=this[_0x58360a(0x15c)](_0x4b697e));this['_validateParameters'](_0x4b697e);const _0x337c3f=[];for(const _0x14db0e of _0x4b697e[_0x58360a(0x19b)]){const _0x51729e=this[_0x58360a(0x144)](),_0x1f8664={'jobId':_0x51729e,'agentId':_0x2464c0,'sessionId':_0x38c4b0,'prompt':_0x14db0e['prompt'],'outputPath':_0x14db0e['outputPath'],'saveToProject':_0x14db0e['saveToProject'],'model':_0x14db0e['model'],'size':_0x14db0e[_0x58360a(0x17b)],'quality':_0x14db0e[_0x58360a(0x187)],'projectDir':_0x2e2f3e||process['cwd'](),'directoryAccess':_0x33811b,'status':'queued','createdAt':new Date()[_0x58360a(0x146)]()};if(this['queue'][_0x58360a(0x1b5)]>=IMAGE_CONFIG[_0x58360a(0x1ba)])return{'success':![],'error':'Queue\x20limit\x20reached\x20('+IMAGE_CONFIG['QUEUE_LIMIT']+_0x58360a(0x1b0),'queueLength':this[_0x58360a(0x168)]['length']};this['queue']['push'](_0x1f8664),_0x337c3f[_0x58360a(0x165)](_0x51729e),this['logger']?.[_0x58360a(0x184)](_0x58360a(0x131)+_0x51729e,{'prompt':_0x14db0e['prompt']['substring'](0x0,0x32)+_0x58360a(0x152),'queuePosition':this[_0x58360a(0x168)][_0x58360a(0x1b5)]});}return!this[_0x58360a(0x1a3)]&&this[_0x58360a(0x1bd)]()['catch'](_0x506801=>{const _0x5368ae=_0x58360a;this['logger']?.['error'](_0x5368ae(0x194),_0x506801);}),{'success':!![],'jobIds':_0x337c3f,'queueLength':this[_0x58360a(0x168)][_0x58360a(0x1b5)],'message':_0x4b697e[_0x58360a(0x150)]?_0x337c3f['length']+_0x58360a(0x167):_0x58360a(0x17f),'estimatedWaitTime':this['_estimateWaitTime']()};}catch(_0x462607){return this['logger']?.[_0x58360a(0x18e)](_0x58360a(0x12c),_0x462607),{'success':![],'error':_0x462607[_0x58360a(0x18f)]};}}[a0_0x2ea0f1(0x14c)](_0x3e2408){const _0x3f2448=a0_0x2ea0f1;if(!_0x3e2408[_0x3f2448(0x19b)]||_0x3e2408['images']['length']===0x0)throw new Error(_0x3f2448(0x171));for(const _0xdc7c1 of _0x3e2408[_0x3f2448(0x19b)]){if(!_0xdc7c1['prompt']||_0xdc7c1[_0x3f2448(0x17d)]['trim']()['length']===0x0)throw new Error('Image\x20prompt\x20is\x20required');if(_0xdc7c1['prompt']['length']>IMAGE_CONFIG[_0x3f2448(0x137)])throw new Error('Prompt\x20too\x20long\x20(max\x20'+IMAGE_CONFIG[_0x3f2448(0x137)]+'\x20characters)');if(_0xdc7c1[_0x3f2448(0x17b)]&&!IMAGE_CONFIG['VALID_SIZES'][_0x3f2448(0x123)](_0xdc7c1['size']))throw new Error(_0x3f2448(0x180)+_0xdc7c1[_0x3f2448(0x17b)]+_0x3f2448(0x18d)+IMAGE_CONFIG[_0x3f2448(0x164)][_0x3f2448(0x188)](',\x20'));if(_0xdc7c1['outputPath']){const _0x107ca3=a0_0x5628f7[_0x3f2448(0x142)](_0xdc7c1['outputPath'])['toLowerCase']()[_0x3f2448(0x151)]('.','');if(_0x107ca3&&!IMAGE_CONFIG[_0x3f2448(0x175)]['includes'](_0x107ca3))throw new Error('Invalid\x20format:\x20'+_0x107ca3+_0x3f2448(0x12f)+IMAGE_CONFIG[_0x3f2448(0x175)]['join'](',\x20'));}}}async['_processQueue'](){const _0x12fbb7=a0_0x2ea0f1;if(this[_0x12fbb7(0x1a3)])return;this['isProcessing']=!![];while(this[_0x12fbb7(0x168)][_0x12fbb7(0x1b5)]>0x0){const _0x21f664=this['queue'][_0x12fbb7(0x153)]();this[_0x12fbb7(0x1a4)]=_0x21f664,this[_0x12fbb7(0x15e)]?.['info']('Processing\x20image\x20generation\x20job:\x20'+_0x21f664['jobId']);try{_0x21f664['status']=_0x12fbb7(0x198);const _0x68ca81=await this[_0x12fbb7(0x15d)](_0x21f664);_0x21f664['status']=_0x12fbb7(0x1b1),_0x21f664['result']=_0x68ca81,_0x21f664[_0x12fbb7(0x196)]=new Date()['toISOString'](),this['completedJobs']['set'](_0x21f664[_0x12fbb7(0x129)],_0x21f664);if(global['loxiaWebServer']&&_0x21f664['sessionId']){let _0x562da4,_0x1793e9=![];if(_0x68ca81[_0x12fbb7(0x1b3)]&&_0x68ca81[_0x12fbb7(0x149)])_0x562da4=this[_0x12fbb7(0x1b9)](_0x68ca81['resolvedOutputPath'],_0x21f664['sessionId']);else _0x68ca81[_0x12fbb7(0x134)]&&(_0x562da4=_0x68ca81['temporaryUrl'],_0x1793e9=!![]);global[_0x12fbb7(0x132)][_0x12fbb7(0x18a)](_0x21f664[_0x12fbb7(0x1bc)],{'type':'imageGenerated','agentId':_0x21f664[_0x12fbb7(0x14e)],'jobId':_0x21f664[_0x12fbb7(0x129)],'imageUrl':_0x562da4,'localPath':_0x68ca81['resolvedOutputPath'],'prompt':_0x21f664[_0x12fbb7(0x17d)],'success':!![],'isTemporary':_0x1793e9,'savedToDisk':_0x68ca81['savedToDisk'],'downloadError':_0x68ca81[_0x12fbb7(0x1a5)],'timestamp':_0x21f664[_0x12fbb7(0x196)]}),this[_0x12fbb7(0x15e)]?.['info'](_0x12fbb7(0x16c),{'jobId':_0x21f664['jobId'],'imageUrl':_0x562da4,'localPath':_0x68ca81['resolvedOutputPath'],'savedToDisk':_0x68ca81['savedToDisk'],'isTemporary':_0x1793e9});if(this[_0x12fbb7(0x185)]&&_0x21f664['agentId'])try{const _0x365146=await this[_0x12fbb7(0x185)]['getAgent'](_0x21f664[_0x12fbb7(0x14e)]);if(_0x365146){let _0x470322=_0x12fbb7(0x155)+_0x21f664['prompt'];_0x1793e9&&(_0x470322+=_0x12fbb7(0x177),_0x68ca81[_0x12fbb7(0x1a5)]&&(_0x470322+=_0x12fbb7(0x1a7)+_0x68ca81['downloadError']));const _0x542190={'id':'img-result-'+_0x21f664['jobId'],'role':'assistant','content':_0x470322,'timestamp':_0x21f664[_0x12fbb7(0x196)],'imageUrl':_0x562da4,'type':_0x12fbb7(0x157),'toolId':'image-gen','status':_0x12fbb7(0x1b1),'isTemporary':_0x1793e9||![],'savedToDisk':_0x68ca81[_0x12fbb7(0x1b3)]!==![]};_0x365146['conversations']['full']['messages']['push'](_0x542190),_0x365146['conversations']['full']['lastUpdated']=_0x21f664[_0x12fbb7(0x196)],_0x365146[_0x12fbb7(0x1be)]&&_0x365146[_0x12fbb7(0x19c)][_0x365146[_0x12fbb7(0x1be)]]&&(_0x365146[_0x12fbb7(0x19c)][_0x365146[_0x12fbb7(0x1be)]][_0x12fbb7(0x174)][_0x12fbb7(0x165)](_0x542190),_0x365146['conversations'][_0x365146['currentModel']]['lastUpdated']=_0x21f664['completedAt']),_0x365146['lastActivity']=_0x21f664['completedAt'],await this['agentPool'][_0x12fbb7(0x16a)](_0x21f664['agentId']),this[_0x12fbb7(0x15e)]?.['info'](_0x12fbb7(0x133),{'agentId':_0x21f664[_0x12fbb7(0x14e)],'jobId':_0x21f664[_0x12fbb7(0x129)],'messageId':_0x542190['id']});}}catch(_0x5ac08a){this['logger']?.[_0x12fbb7(0x18e)]('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x5ac08a['message'],'agentId':_0x21f664['agentId'],'jobId':_0x21f664[_0x12fbb7(0x129)]});}}this['logger']?.[_0x12fbb7(0x184)](_0x12fbb7(0x1b7)+_0x21f664['jobId'],{'outputPath':_0x68ca81['resolvedOutputPath']});}catch(_0x5b7620){this[_0x12fbb7(0x15e)]?.['error']('Image\x20generation\x20failed:\x20'+_0x21f664[_0x12fbb7(0x129)],_0x5b7620),_0x21f664[_0x12fbb7(0x197)]=_0x12fbb7(0x147),_0x21f664['error']=_0x5b7620[_0x12fbb7(0x18f)],_0x21f664[_0x12fbb7(0x196)]=new Date()['toISOString'](),this['completedJobs']['set'](_0x21f664[_0x12fbb7(0x129)],_0x21f664);global[_0x12fbb7(0x132)]&&_0x21f664[_0x12fbb7(0x1bc)]&&(global[_0x12fbb7(0x132)]['broadcastToSession'](_0x21f664[_0x12fbb7(0x1bc)],{'type':_0x12fbb7(0x1a9),'jobId':_0x21f664[_0x12fbb7(0x129)],'agentId':_0x21f664['agentId'],'prompt':_0x21f664[_0x12fbb7(0x17d)],'success':![],'error':_0x5b7620[_0x12fbb7(0x18f)],'timestamp':_0x21f664['completedAt']}),this[_0x12fbb7(0x15e)]?.['info']('Image\x20generation\x20error\x20broadcast\x20sent',{'jobId':_0x21f664[_0x12fbb7(0x129)],'sessionId':_0x21f664[_0x12fbb7(0x1bc)],'error':_0x5b7620[_0x12fbb7(0x18f)]}));if(this[_0x12fbb7(0x185)]&&_0x21f664[_0x12fbb7(0x14e)])try{const _0x4f5f4c=await this[_0x12fbb7(0x185)]['getAgent'](_0x21f664[_0x12fbb7(0x14e)]);if(_0x4f5f4c){const _0x515be8={'id':_0x12fbb7(0x19e)+_0x21f664['jobId'],'role':_0x12fbb7(0x1a6),'content':_0x12fbb7(0x126)+_0x5b7620[_0x12fbb7(0x18f)]+'\x0a\x0a**Prompt:**\x20'+_0x21f664['prompt'],'timestamp':_0x21f664[_0x12fbb7(0x196)],'type':'error','toolId':'image-gen','status':'failed','jobId':_0x21f664[_0x12fbb7(0x129)]};_0x4f5f4c['conversations'][_0x12fbb7(0x159)]['messages'][_0x12fbb7(0x165)](_0x515be8),_0x4f5f4c[_0x12fbb7(0x19c)][_0x12fbb7(0x159)][_0x12fbb7(0x128)]=_0x21f664[_0x12fbb7(0x196)],_0x4f5f4c['currentModel']&&_0x4f5f4c['conversations'][_0x4f5f4c['currentModel']]&&(_0x4f5f4c['conversations'][_0x4f5f4c[_0x12fbb7(0x1be)]]['messages'][_0x12fbb7(0x165)](_0x515be8),_0x4f5f4c[_0x12fbb7(0x19c)][_0x4f5f4c['currentModel']][_0x12fbb7(0x128)]=_0x21f664['completedAt']),_0x4f5f4c[_0x12fbb7(0x195)]=_0x21f664[_0x12fbb7(0x196)],await this['agentPool'][_0x12fbb7(0x16a)](_0x21f664['agentId']),this[_0x12fbb7(0x15e)]?.[_0x12fbb7(0x184)]('Image\x20error\x20saved\x20to\x20conversation\x20history',{'agentId':_0x21f664['agentId'],'jobId':_0x21f664['jobId'],'error':_0x5b7620[_0x12fbb7(0x18f)]});}}catch(_0x8a3664){this['logger']?.[_0x12fbb7(0x18e)](_0x12fbb7(0x1b2),{'error':_0x8a3664['message'],'agentId':_0x21f664['agentId'],'jobId':_0x21f664['jobId']});}}}this['isProcessing']=![],this[_0x12fbb7(0x1a4)]=null;}async[a0_0x2ea0f1(0x15d)](_0x30312e){const _0x3139f1=a0_0x2ea0f1;if(!this['aiService'])throw new Error(_0x3139f1(0x170));const _0x28967d=await this[_0x3139f1(0x178)](_0x30312e),_0x386b49=a0_0x5628f7[_0x3139f1(0x17a)](_0x28967d);await a0_0xa5d2f8['mkdir'](_0x386b49,{'recursive':!![]}),this[_0x3139f1(0x15e)]?.[_0x3139f1(0x184)]('Generating\x20image\x20with\x20'+_0x30312e['model'],{'size':_0x30312e[_0x3139f1(0x17b)],'quality':_0x30312e[_0x3139f1(0x187)]});const _0x2fbe40={'model':_0x30312e['model'],'size':_0x30312e['size'],'quality':_0x30312e[_0x3139f1(0x187)],'responseFormat':_0x3139f1(0x19f),'sessionId':_0x30312e[_0x3139f1(0x1bc)]},_0x5b037c=await this['aiService'][_0x3139f1(0x183)](_0x30312e['prompt'],_0x2fbe40),_0x4ca477=_0x5b037c?.['url']||_0x5b037c?.['imageUrl'];if(!_0x4ca477)throw new Error('No image URL received from AI service');this[_0x3139f1(0x15e)]?.[_0x3139f1(0x184)]('Image\x20URL\x20received:\x20'+_0x4ca477['substring'](0x0,0x32)+_0x3139f1(0x152));let _0x3f2d1a=![],_0x536fae=null;try{await this[_0x3139f1(0x1a1)](_0x4ca477,_0x28967d),_0x3f2d1a=!![],!_0x30312e['saveToProject']&&this['_scheduleCleanup'](_0x28967d,_0x30312e['jobId']);}catch(_0x48093c){_0x536fae=_0x48093c[_0x3139f1(0x18f)],this[_0x3139f1(0x15e)]?.['warn']('Failed\x20to\x20save\x20image\x20to\x20disk,\x20will\x20use\x20temporary\x20URL:\x20'+_0x48093c['message']);}return{'jobId':_0x30312e['jobId'],'prompt':_0x30312e[_0x3139f1(0x17d)],'outputPath':_0x30312e['outputPath'],'resolvedOutputPath':_0x3f2d1a?_0x28967d:null,'temporaryUrl':_0x4ca477,'savedToDisk':_0x3f2d1a,'downloadError':_0x536fae,'success':!![],'model':_0x5b037c['model']||_0x30312e[_0x3139f1(0x181)],'size':_0x30312e[_0x3139f1(0x17b)],'usage':_0x5b037c['usage']};}async['_resolveOutputPath'](_0x1f0528){const _0x3482b4=a0_0x2ea0f1;if(_0x1f0528[_0x3482b4(0x14d)]){const _0x3e26e1=_0x1f0528[_0x3482b4(0x158)]||process['cwd']();let _0x45e8d3=_0x1f0528[_0x3482b4(0x13c)];if(!_0x45e8d3){const _0x108c27=Date[_0x3482b4(0x193)]();_0x45e8d3='images/generated-'+_0x108c27+_0x3482b4(0x191);}const _0x44188a=a0_0x5628f7[_0x3482b4(0x130)](_0x45e8d3)?a0_0x5628f7['normalize'](_0x45e8d3):a0_0x5628f7[_0x3482b4(0x1b6)](a0_0x5628f7['join'](_0x3e26e1,_0x45e8d3));if(!_0x44188a['startsWith'](a0_0x5628f7['normalize'](_0x3e26e1)))throw new Error('Path\x20traversal\x20detected');if(_0x1f0528[_0x3482b4(0x19d)]){const _0x43714d=a0_0x5628f7['relative'](_0x3e26e1,_0x44188a);if(_0x43714d['startsWith']('..'))throw new Error(_0x3482b4(0x143));}return _0x44188a;}else{await a0_0xa5d2f8[_0x3482b4(0x18c)](this['tempDir'],{'recursive':!![]});let _0x2c2fce=_0x1f0528['outputPath']?a0_0x5628f7['basename'](_0x1f0528[_0x3482b4(0x13c)]):_0x3482b4(0x16f)+_0x1f0528[_0x3482b4(0x129)]+_0x3482b4(0x191);return a0_0x5628f7[_0x3482b4(0x188)](this[_0x3482b4(0x139)],_0x2c2fce);}}async[a0_0x2ea0f1(0x1a1)](_0xf60154,_0x19b988){const _0x4ff17b=a0_0x2ea0f1;try{const _0x27746f=await fetch(_0xf60154,{'signal':AbortSignal['timeout'](IMAGE_CONFIG['DOWNLOAD_TIMEOUT'])});if(!_0x27746f['ok'])throw new Error(_0x4ff17b(0x160)+_0x27746f[_0x4ff17b(0x197)]);const _0x5bfee8=Buffer['from'](await _0x27746f[_0x4ff17b(0x1b4)]());await a0_0xa5d2f8[_0x4ff17b(0x148)](_0x19b988,_0x5bfee8),this[_0x4ff17b(0x15e)]?.['info']('Image\x20saved\x20to:\x20'+_0x19b988);}catch(_0xc07819){if(_0xc07819[_0x4ff17b(0x1aa)]===_0x4ff17b(0x16d))throw new Error(_0x4ff17b(0x179));else{if(_0xc07819['name']==='TypeError')throw new Error('Network\x20error:\x20'+_0xc07819['message']);else throw new Error(_0x4ff17b(0x172)+_0xc07819[_0x4ff17b(0x18f)]);}}}['_scheduleCleanup'](_0x160fed,_0x322466){const _0xfe821=a0_0x2ea0f1,_0x585091=setTimeout(async()=>{const _0x3db4a3=a0_0x289b;try{await a0_0xa5d2f8['unlink'](_0x160fed),this['logger']?.['debug'](_0x3db4a3(0x13a)+_0x160fed),this[_0x3db4a3(0x19a)][_0x3db4a3(0x190)](_0x322466);}catch(_0xde4216){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this[_0xfe821(0x19a)]['set'](_0x322466,_0x585091);}['_convertToWebUrl'](_0x2e5617,_0x5e4715){const _0x442c3f=a0_0x2ea0f1,_0xd3ed55=a0_0x5628f7[_0x442c3f(0x16b)](_0x2e5617),_0x3884fd=global['loxiaWebServer']?.['port']||0x1f90;let _0x35ad61=global['loxiaWebServer']?.[_0x442c3f(0x14a)]||_0x442c3f(0x166);return _0x35ad61===_0x442c3f(0x1ad)&&(_0x35ad61='localhost'),_0x442c3f(0x1af)+_0x35ad61+':'+_0x3884fd+'/api/images/'+_0x5e4715+'/'+_0xd3ed55;}['_estimateWaitTime'](){const _0x533e33=a0_0x2ea0f1,_0x3dba2b=0x1e,_0x28f52f=this['queue']['length'];if(_0x28f52f===0x0)return'~30\x20seconds';const _0x2d2f67=_0x28f52f*_0x3dba2b,_0x3bed46=Math[_0x533e33(0x124)](_0x2d2f67/0x3c),_0x4eb09e=_0x2d2f67%0x3c;if(_0x3bed46>0x0)return'~'+_0x3bed46+'m\x20'+_0x4eb09e+'s';return'~'+_0x4eb09e+'s';}[a0_0x2ea0f1(0x144)](){const _0x447eaa=a0_0x2ea0f1;return'img-'+Date['now']()+'-'+Math['random']()[_0x447eaa(0x17e)](0x24)[_0x447eaa(0x163)](0x2,0x9);}[a0_0x2ea0f1(0x1ab)](_0x225d09){const _0x52361d=a0_0x2ea0f1;if(this[_0x52361d(0x13d)][_0x52361d(0x186)](_0x225d09))return this[_0x52361d(0x13d)]['get'](_0x225d09);if(this[_0x52361d(0x1a4)]&&this['currentJob']['jobId']===_0x225d09)return this[_0x52361d(0x1a4)];const _0x568ac8=this['queue'][_0x52361d(0x13e)](_0x4c7d1e=>_0x4c7d1e['jobId']===_0x225d09);if(_0x568ac8)return _0x568ac8;return{'jobId':_0x225d09,'status':_0x52361d(0x162)};}async[a0_0x2ea0f1(0x16e)](){const _0x3aa9fc=a0_0x2ea0f1;this[_0x3aa9fc(0x15e)]?.['info'](_0x3aa9fc(0x141));for(const _0x4d7958 of this['cleanupTimers']['values']()){clearTimeout(_0x4d7958);}this[_0x3aa9fc(0x19a)][_0x3aa9fc(0x13f)]();for(const _0x3bbec9 of this[_0x3aa9fc(0x168)]){_0x3bbec9['status']=_0x3aa9fc(0x13b);}this['queue']=[];}}export default ImageTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2d17f4=a0_0x568f;(function(_0x2a4095,_0x4fb7f0){const _0x366808=a0_0x568f,_0x3f9308=_0x2a4095();while(!![]){try{const _0x2eda0c=parseInt(_0x366808(0xf9))/0x1+-parseInt(_0x366808(0x139))/0x2+-parseInt(_0x366808(0x16e))/0x3+parseInt(_0x366808(0x175))/0x4+-parseInt(_0x366808(0x173))/0x5*(-parseInt(_0x366808(0x14a))/0x6)+parseInt(_0x366808(0x158))/0x7*(-parseInt(_0x366808(0xf7))/0x8)+-parseInt(_0x366808(0x126))/0x9*(-parseInt(_0x366808(0x150))/0xa);if(_0x2eda0c===_0x4fb7f0)break;else _0x3f9308['push'](_0x3f9308['shift']());}catch(_0x30e03a){_0x3f9308['push'](_0x3f9308['shift']());}}}(a0_0x5a03,0x98552));function a0_0x5a03(){const _0x5bd336=['4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','CMvWBgfJzq','tufyx0zjtevt','zNjVBq','Bwf0y2G','rM91BMqGzMLSzxm','C2XPy2u','8j+tIIbjBxbVCNqVrxHWB3j0iefUywX5C2LZifn1Bw1HCNK','A2v5CW','C2L6zq','CxvPy2S','B3v0Chv0','CM9VDerPCG','zgLYBMfTzq','zxHLy3v0zq','icdIGkiGrMLSzxmGyw5HBhL6zwq6ia','BM9YBwfSAxPL','nJu2nZnXt1vRvfG','icaGicaG8j+tPcboBYbLEhbVCNrZigzVDw5KigLUihrHCMDLDcbMAwXL','zMLSzu5VDezVDw5Ksw1WB3j0CW','Dg90ywXgAwXLCW','4P2mie1ju1njtKCGrKLmrvm','Aw5MBW','CMvZB2X2zq','8j+uHcbdAxjJDwXHCIbKzxbLBMrLBMnPzxm6ia','C2v0','iokgKIa','zgvIDwC','z2v0','zw50CMLLCW','CMvKDwnL','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw4OCYK','Bw9Kzq','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','tg9HzgvKigLNBM9YzsbWyxr0zxjUCW','Bg9HzeLNBM9YzuzPBgu','nZy2mJe2q0jsrgHS','ig9YignOzwnRigLMigL0j3mGDgHLignVCNjLy3qGzMLSzq','icaG4PQG77Ipicbdyw5UB3qGzMLUzcbMAwXLoIa','yw5HBhL6zq','iIbVCIb1C2uGB25Lig9MihrOzsbHDMfPBgfIBguGzxHWB3j0CW','revgqvvmvf9nt0rf','C29Tzq','y3DK','l2LUzgv4lNrZEa','zMLUzfvUDxnLzev4Cg9YDhm','CMvHzezPBgu','ig1PC3nPBMCGzxHWB3j0khmP','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','C3vTBwfYEq','4PQG77IpicbnAxnZAw5Nigv4Cg9YDhm6ia','icaXlIbgAxGG','lMPZ','mJrXqM95vgO','ANnVBG','BMfTzq','ywrK','sw52ywXPzcbVDxrWDxq6ia','AM9PBG','nJuWzwjXwePd','icaGiokaOIa','ChvZAa','revgqvvmvf9jr05puKvFrKLmrq','C3rYAw5NAwz5','icaGicaG8j+tPcbbDMfPBgfIBguGzxHWB3j0CZOG','z2v0uMvSyxrPDMvqyxrO','y2LYy3vSyxjezxbLBMrLBMnPzxm','mti1m0LdALfYBa','Bg9Nz2vY','ig1PC3nPBMCGzMLSzsbYzwzLCMvUy2uOCYK','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','zgvSzxrL','yNvPBgq','yMfZzw5HBwu','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','AwDUB3jLlwzPBgu','zxHPC3rZ','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','DhjPBq','sw1WB3j0igfUywX5EMvYigvYCM9YoG','zxHLyW','CgfYC2vfEhbVCNrZ','Dg90ywXjBxbVCNrZ','Aw5JBhvKzxm','DxrMltG','cIaGtwLZC2LUzYbgAwXLCZO','vg9Vig1HBNKGzMLSzxmGDg8Gyw5HBhL6ztOG','lM1QCW','C3rYAw5N','mZu5ndi0CM5SDeDQ','C2HVDwXKswDUB3jLrMLSzq','yxzHAwXHyMXLrxHWB3j0CW','C3rHCNrZv2L0Aa','sw52ywXPzcbTB2rLoIa','ndqXodvtEvrQAeG','BMfTzwq','ndGZodm4ohrAzfjpvW','BwLZC2LUz0zPBgvZ','lNrZ','lMDPDgLNBM9Yzq','AxnfEhrLCM5HBa','iJ8GkgnHC2uGBwLZBwf0y2GP','igHHCYa','z2v0rgvZy3jPChrPB24','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','Aw5KzxHpzG','Dw51C2vKrxHWB3j0CW','C3bSAxq','igLZC3vLkhmPihrOyxqGBMvLzcbHDhrLBNrPB246','cIaGtwLZC2LUzYbfEhbVCNrZoG','id4G','icaGicaG8j+sOsbgAxG6ienOzwnRigLMigzPBguGzxHPC3rZig9YignVCNjLy3qGDgHLigLTCg9YDcbWyxrO','Aw1WB3j0Aw5NrMLSzq','BwLZC2LUz0v4Cg9YDhm','cVcFK4qG','AwDUB3jLrMLSzq','cVcFK4SGuKvdt01nru5eqvrjt05t','zgLZDa','BMfTzxnWywnL','BM9Kzv9TB2r1BgvZ','C3LTyM9StMfTzq','BwvZC2fNzq','DMfSDwvZ','revgqvvmvf9pvvrqvvq','l2LUzgv4lMPZ','Aw1WB3j0CW','CgfYC2vjBxbVCNrZ','zxHWB3j0CW','B2jQzwn0','DgvZDa','lNrZEa','Axnoyw1LC3bHy2u','Dg90ywXfEhbVCNrZ','nti3mJH3q2rlrgS','AwDUB3jLrMLSzsbTDxn0igjLigeGC3rYAw5N','ntG3nda5B1Llqu5J','Aw1WB3j0zwrtEw1IB2W','AxnbyNnVBhv0zq','l2LUzgv4lMPZEa','zML4','vKfmsurFtu9ervm','ywnJzxnZ','Aw1WB3j0zwrgCM9TrMLSzq','Cgf0Aa','BgvUz3rO','icaGicaG8j+sOsbgAxG6iefKzcbLEhbVCNqGzM9Yici','ig5VBI1LEgLZDgvUDcbZEw1IB2WOCYK','z2v0qwXSrMLSzxm','zxH0BMfTzq','lIbnDxn0igjLig9UzsbVzJOG','zgv0ywLSzwq','yxr0CMLIDxrLCW','CMvZB2X2zuLTCg9YDfbHDgG','zMLUzenPCMn1BgfYrgvWzw5Kzw5JAwvZ','BwfW','AxnezwzHDwX0','zM9YrwfJAa','rxjYB3iGCgfYC2LUzYbMAwXL','icaGipcFKQeGrML4oIbszwzHy3rVCIb0BYbICMvHAYb0AguGy2LYy3vSyxiGzgvWzw5Kzw5JEq','vKfmsurFt1vuufvuuW','zgvWzw5Kzw5JAwvZ','CMvSyxrPDMu','AgfZ'];a0_0x5a03=function(){return _0x5bd336;};return a0_0x5a03();}import{promises as a0_0x4446ef}from'fs';import a0_0x421d46 from'path';function a0_0x568f(_0x112e51,_0x47f89e){_0x112e51=_0x112e51-0xd4;const _0x5a039b=a0_0x5a03();let _0x568fbd=_0x5a039b[_0x112e51];if(a0_0x568f['IAhvvj']===undefined){var _0xf7ba2d=function(_0x1cbfe4){const _0x66561='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4446ef='',_0x421d46='';for(let _0xf84b16=0x0,_0x12b9f0,_0x28bb69,_0x324a9e=0x0;_0x28bb69=_0x1cbfe4['charAt'](_0x324a9e++);~_0x28bb69&&(_0x12b9f0=_0xf84b16%0x4?_0x12b9f0*0x40+_0x28bb69:_0x28bb69,_0xf84b16++%0x4)?_0x4446ef+=String['fromCharCode'](0xff&_0x12b9f0>>(-0x2*_0xf84b16&0x6)):0x0){_0x28bb69=_0x66561['indexOf'](_0x28bb69);}for(let _0x1f4ceb=0x0,_0x40a570=_0x4446ef['length'];_0x1f4ceb<_0x40a570;_0x1f4ceb++){_0x421d46+='%'+('00'+_0x4446ef['charCodeAt'](_0x1f4ceb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x421d46);};a0_0x568f['zENCJL']=_0xf7ba2d,a0_0x568f['cZYMVD']={},a0_0x568f['IAhvvj']=!![];}const _0x34bfd7=_0x5a039b[0x0],_0x19ad4d=_0x112e51+_0x34bfd7,_0x8189db=a0_0x568f['cZYMVD'][_0x19ad4d];return!_0x8189db?(_0x568fbd=a0_0x568f['zENCJL'](_0x568fbd),a0_0x568f['cZYMVD'][_0x19ad4d]=_0x568fbd):_0x568fbd=_0x8189db,_0x568fbd;}import{BaseTool}from'./baseTool.js';import a0_0xf84b16 from'../utilities/tagParser.js';const ANALYZER_CONFIG={'DEFAULT_MODE':'full','VALID_MODES':['full',a0_0x2d17f4(0x11f),a0_0x2d17f4(0xfd)],'DEFAULT_OUTPUT':a0_0x2d17f4(0x146),'VALID_OUTPUTS':['summary',a0_0x2d17f4(0x108),a0_0x2d17f4(0x14b)],'DEFAULT_IGNORE_FILE':a0_0x2d17f4(0xd5),'MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':[a0_0x2d17f4(0x149),a0_0x2d17f4(0x16c),a0_0x2d17f4(0xd4),'.jsx',a0_0x2d17f4(0xf4)],'DEFAULT_IGNORE_PATTERNS':[a0_0x2d17f4(0xe9),'.git',a0_0x2d17f4(0xe7),a0_0x2d17f4(0x15d),'coverage'],'FILE_READ_TIMEOUT':0x1388};export class ImportAnalyzerTool extends BaseTool{constructor(_0x12b9f0={},_0x28bb69=null){super(_0x12b9f0,_0x28bb69),this['id']='import-analyzer';}[a0_0x2d17f4(0xd9)](){return'Tool:\x20Import\x20Analyzer\x20-\x20Analyze\x20JavaScript/TypeScript\x20imports\x20and\x20exports\x0a\x0a**Purpose:**\x20Analyzes\x20JavaScript/TypeScript\x20projects\x20to\x20detect\x20broken\x20imports,\x20missing\x20exports,\x20circular\x20dependencies,\x20and\x20unused\x20exports.\x0a\x0a**USAGE:**\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22path\x22:\x20\x22./src\x22,\x0a\x20\x20\x20\x20\x22mode\x22:\x20\x22full\x22,\x0a\x20\x20\x20\x20\x22output\x22:\x20\x22summary\x22,\x0a\x20\x20\x20\x20\x22ignoreFile\x22:\x20\x22.gitignore\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**path**\x20(string,\x20optional):\x20Path\x20to\x20directory\x20to\x20analyze.\x20Default:\x20\x22.\x22\x0a-\x20**mode**\x20(string,\x20optional):\x20Analysis\x20mode.\x20Options:\x0a\x20\x20-\x20\x22full\x22\x20-\x20Complete\x20analysis\x20(default)\x0a\x20\x20-\x20\x22quick\x22\x20-\x20Fast\x20scan\x20for\x20missing\x20files\x20only\x0a\x20\x20-\x20\x22fix\x22\x20-\x20Includes\x20fix\x20suggestions\x0a-\x20**output**\x20(string,\x20optional):\x20Output\x20format.\x20Options:\x0a\x20\x20-\x20\x22summary\x22\x20-\x20Concise\x20summary\x20(default)\x0a\x20\x20-\x20\x22detailed\x22\x20-\x20Full\x20report\x20with\x20fixes\x0a\x20\x20-\x20\x22json\x22\x20-\x20Machine-readable\x20format\x0a-\x20**ignoreFile**\x20(string,\x20optional):\x20Ignore\x20file\x20name.\x20Default:\x20\x22.gitignore\x22\x0a\x0a**What\x20It\x20Detects:**\x0a-\x20Missing\x20files\x20(imports\x20pointing\x20to\x20non-existent\x20files)\x0a-\x20Missing\x20exports\x20(symbols\x20not\x20exported\x20from\x20target\x20files)\x0a-\x20Circular\x20dependencies\x20(files\x20that\x20depend\x20on\x20each\x20other\x20in\x20a\x20loop)\x0a-\x20Unused\x20exports\x20(exports\x20never\x20imported\x20anywhere)\x0a\x0a**Examples:**\x0a\x0a1.\x20Quick\x20project\x20scan:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22mode\x22:\x20\x22quick\x22\x20}\x0a}\x0a```\x0a\x0a2.\x20Full\x20analysis\x20with\x20detailed\x20report:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22mode\x22:\x20\x22full\x22,\x20\x22output\x22:\x20\x22detailed\x22\x20}\x0a}\x0a```\x0a\x0a3.\x20Analyze\x20specific\x20directory:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22path\x22:\x20\x22./src/components\x22,\x20\x22mode\x22:\x20\x22full\x22\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Supports\x20ES6\x20modules\x20(import/export)\x20and\x20CommonJS\x20(require/module.exports)\x0a-\x20Respects\x20.gitignore\x20patterns\x0a-\x20Correctly\x20handles\x20commented\x20imports\x20and\x20multi-line\x20statements\x0a-\x20Works\x20with\x20.js,\x20.mjs,\x20.ts,\x20.jsx,\x20.tsx\x20files';}['parseParameters'](_0x324a9e){const _0x26381c=a0_0x2d17f4;if(typeof _0x324a9e===_0x26381c(0xf2)&&_0x324a9e!==null)return{'path':_0x324a9e[_0x26381c(0x101)]||'.','mode':_0x324a9e[_0x26381c(0x135)]||ANALYZER_CONFIG['DEFAULT_MODE'],'output':_0x324a9e['output']||ANALYZER_CONFIG['DEFAULT_OUTPUT'],'ignoreFile':_0x324a9e[_0x26381c(0xe5)]||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};if(typeof _0x324a9e===_0x26381c(0x16d)){const _0x1f4ceb=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x40a570=_0x1f4ceb[_0x26381c(0x165)](_0x324a9e);if(_0x40a570){const _0x164117=_0x40a570[0x1],_0x5ce50b=_0x40a570[0x2],_0x416b08=/path=["']([^"']*)["']/i['exec'](_0x164117),_0x3ddb23=/mode=["']([^"']*)["']/i['exec'](_0x164117),_0x4fcc18=/output=["']([^"']*)["']/i['exec'](_0x164117),_0x6d189d=/ignore-file=["']([^"']*)["']/i['exec'](_0x164117),_0x38c188=/<path>(.*?)<\/path>/i,_0x5445cc=_0x38c188['exec'](_0x5ce50b),_0x4b4701=/<mode>(.*?)<\/mode>/i,_0x213477=_0x4b4701['exec'](_0x5ce50b),_0x318058=/<output>(.*?)<\/output>/i,_0x29e955=_0x318058['exec'](_0x5ce50b),_0x16b7d5=/<ignore-file>(.*?)<\/ignore-file>/i,_0x159300=_0x16b7d5[_0x26381c(0x165)](_0x5ce50b),_0x5eb1e6=(_0x5445cc?_0x5445cc[0x1][_0x26381c(0x163)]():null)||(_0x416b08?_0x416b08[0x1]:'.'),_0x298aa3=(_0x213477?_0x213477[0x1][_0x26381c(0x163)]():null)||(_0x3ddb23?_0x3ddb23[0x1]:ANALYZER_CONFIG[_0x26381c(0x13e)]),_0x6129c8=(_0x29e955?_0x29e955[0x1][_0x26381c(0x163)]():null)||(_0x4fcc18?_0x4fcc18[0x1]:ANALYZER_CONFIG[_0x26381c(0xed)]),_0x194b03=(_0x159300?_0x159300[0x1][_0x26381c(0x163)]():null)||(_0x6d189d?_0x6d189d[0x1]:ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']);return{'path':_0x5eb1e6,'mode':_0x298aa3,'output':_0x6129c8,'ignoreFile':_0x194b03};}try{const _0x3fc812=a0_0xf84b16['parseTags'](_0x324a9e,'analyze');if(_0x3fc812&&_0x3fc812['length']>0x0){const _0x21d80b=_0x3fc812[0x0];return{'path':_0x21d80b['attributes']['path']||'.','mode':_0x21d80b[_0x26381c(0x109)][_0x26381c(0x135)]||ANALYZER_CONFIG[_0x26381c(0x13e)],'output':_0x21d80b['attributes'][_0x26381c(0x120)]||ANALYZER_CONFIG[_0x26381c(0xed)],'ignoreFile':_0x21d80b[_0x26381c(0x109)][_0x26381c(0x160)]||ANALYZER_CONFIG[_0x26381c(0x153)]};}}catch(_0x1722dd){}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'](_0x1cb66c){const _0x1dc58d=a0_0x2d17f4;if(!_0x1cb66c||typeof _0x1cb66c!=='object')throw new Error('Parameters\x20must\x20be\x20an\x20object');if(_0x1cb66c[_0x1dc58d(0x101)]&&typeof _0x1cb66c[_0x1dc58d(0x101)]!==_0x1dc58d(0x16d))throw new Error('path\x20must\x20be\x20a\x20string');if(_0x1cb66c['mode']&&!ANALYZER_CONFIG['VALID_MODES'][_0x1dc58d(0x168)](_0x1cb66c['mode']))throw new Error(_0x1dc58d(0x172)+_0x1cb66c['mode']+_0x1dc58d(0x107)+ANALYZER_CONFIG[_0x1dc58d(0xfe)]['join'](',\x20'));if(_0x1cb66c['output']&&!ANALYZER_CONFIG['VALID_OUTPUTS']['includes'](_0x1cb66c[_0x1dc58d(0x120)]))throw new Error(_0x1dc58d(0x14e)+_0x1cb66c[_0x1dc58d(0x120)]+'.\x20Must\x20be\x20one\x20of:\x20'+ANALYZER_CONFIG[_0x1dc58d(0x111)]['join'](',\x20'));if(_0x1cb66c[_0x1dc58d(0xe5)]&&typeof _0x1cb66c[_0x1dc58d(0xe5)]!=='string')throw new Error(_0x1dc58d(0xf8));}['_resolveAndValidatePath'](_0x1f855d,_0x3f3b98){const _0x128675=a0_0x2d17f4,{projectDir:_0x272514,directoryAccess:_0x4cdf29}=_0x3f3b98;let _0x402371=_0x272514||process[_0x128675(0x140)]();_0x4cdf29&&_0x4cdf29['workingDirectory']&&(_0x402371=_0x4cdf29['workingDirectory']);const _0x19d3c5=a0_0x421d46[_0x128675(0xfb)](_0x1f855d)?a0_0x421d46[_0x128675(0x125)](_0x1f855d):a0_0x421d46['normalize'](a0_0x421d46['join'](_0x402371,_0x1f855d)),_0x32f4ed=a0_0x421d46[_0x128675(0x125)](_0x402371);if(!_0x19d3c5[_0x128675(0x171)](_0x32f4ed))throw new Error(_0x128675(0x15b)+_0x1f855d+'\x20resolves\x20outside\x20working\x20directory');return _0x19d3c5;}async[a0_0x2d17f4(0x123)](_0x30e40c,_0x1059ec={}){const _0x2a8646=a0_0x2d17f4;try{this['_validateParameters'](_0x30e40c);const {path:_0x43953d,mode:_0x5c8092,output:_0x3e1747,ignoreFile:_0x225c54}=_0x30e40c,{projectDir:_0x4687e8,agentId:_0x131fa1,directoryAccess:_0x489ea8}=_0x1059ec,_0x1bd49f=this[_0x2a8646(0x15f)](_0x43953d,_0x1059ec);this['logger']?.['info']('Import\x20analyzer\x20executing',{'mode':_0x5c8092,'resolvedPath':_0x1bd49f,'output':_0x3e1747,'agentId':_0x131fa1});const _0x17b656=[];_0x17b656['push']('🔍\x20Analyzing\x20imports\x20in:\x20'+_0x1bd49f),_0x17b656[_0x2a8646(0x152)]('Mode:\x20'+_0x5c8092),_0x17b656['push']('Output:\x20'+_0x3e1747+'\x0a');try{await a0_0x4446ef[_0x2a8646(0xff)](_0x1bd49f);}catch{return{'success':![],'error':'Path\x20does\x20not\x20exist:\x20'+_0x1bd49f,'output':_0x17b656['join']('\x0a')};}const _0x10d5d4=new ImportExportAnalyzer(_0x1bd49f,_0x225c54,this[_0x2a8646(0x159)]),_0x360b52=await _0x10d5d4['analyze'](_0x5c8092);let _0x160efc;switch(_0x3e1747){case'json':_0x160efc=JSON[_0x2a8646(0x154)](_0x360b52,null,0x2);break;case _0x2a8646(0x108):_0x160efc=this['_formatDetailedOutput'](_0x360b52),_0x17b656[_0x2a8646(0x152)](_0x160efc);break;case'summary':default:_0x160efc=this['_formatSummaryOutput'](_0x360b52),_0x17b656['push'](_0x160efc);break;}return{'success':!![],'mode':_0x5c8092,'message':'Import\x20analysis\x20completed','statistics':{'totalFiles':_0x360b52[_0x2a8646(0x146)][_0x2a8646(0x129)],'totalImports':_0x360b52['summary'][_0x2a8646(0x167)],'totalExports':_0x360b52[_0x2a8646(0x146)]['totalExports'],'issuesFound':_0x360b52[_0x2a8646(0x128)]['length']+Object[_0x2a8646(0xec)](_0x360b52[_0x2a8646(0xe3)])['reduce']((_0x310009,_0x4fb1c3)=>_0x310009+_0x4fb1c3['length'],0x0)},'output':_0x3e1747===_0x2a8646(0x14b)?_0x160efc:_0x17b656[_0x2a8646(0x14f)]('\x0a'),'results':_0x360b52};}catch(_0x402261){return this[_0x2a8646(0x159)]?.['error'](_0x2a8646(0x164),_0x402261),{'success':![],'error':_0x402261[_0x2a8646(0xeb)],'output':_0x402261['message']};}}['_formatSummaryOutput'](_0xe311a6){const _0x2e315c=a0_0x2d17f4,_0x4abf07=[];_0x4abf07[_0x2e315c(0x152)](_0x2e315c(0x11c)),_0x4abf07[_0x2e315c(0x152)](_0x2e315c(0x145)),_0x4abf07[_0x2e315c(0x152)]('📁\x20Files\x20analyzed:\x20'+_0xe311a6['summary']['totalFiles']),_0x4abf07[_0x2e315c(0x152)]('📥\x20Total\x20imports:\x20'+_0xe311a6['summary']['totalImports']),_0x4abf07[_0x2e315c(0x152)]('📤\x20Total\x20exports:\x20'+_0xe311a6['summary']['totalExports']+'\x0a');const _0x4dab21=_0xe311a6[_0x2e315c(0x128)]['length'],_0x57530a=Object[_0x2e315c(0xec)](_0xe311a6['missingExports'])['reduce']((_0x104d43,_0x43b225)=>_0x104d43+_0x43b225['length'],0x0),_0x2476fe=_0xe311a6['circularDependencies']?_0xe311a6[_0x2e315c(0x157)]['length']:0x0;return _0x4dab21>0x0&&_0x4abf07[_0x2e315c(0x152)]('❌\x20Missing\x20files:\x20'+_0x4dab21+'\x20imports\x20pointing\x20to\x20non-existent\x20files'),_0x57530a>0x0&&_0x4abf07[_0x2e315c(0x152)](_0x2e315c(0x147)+_0x57530a+'\x20symbols\x20not\x20exported\x20from\x20their\x20sources'),_0x2476fe>0x0&&_0x4abf07[_0x2e315c(0x152)](_0x2e315c(0x12d)+_0x2476fe+'\x20circular\x20dependency\x20chains\x20detected'),_0x4dab21===0x0&&_0x57530a===0x0&&_0x2476fe===0x0?_0x4abf07['push']('\u2705 No import/export issues detected!'):(_0x4abf07[_0x2e315c(0x152)]('\x0a🔍\x20Top\x20Issues\x20to\x20Fix:'),Object['keys'](_0xe311a6['missingFiles']||{})[_0x2e315c(0x102)]>0x0&&(_0x4abf07[_0x2e315c(0x152)](_0x2e315c(0x16a)),Object['entries'](_0xe311a6[_0x2e315c(0x176)])[_0x2e315c(0x11b)](0x0,0x3)['forEach'](([_0x1180a1,_0x2bf224])=>{const _0xc81168=_0x2e315c;_0x4abf07[_0xc81168(0x152)]('\x20\x20\x20\x20•\x20'+_0x1180a1+_0xc81168(0xd8)+_0x2bf224[_0xc81168(0x102)]+'\x20broken\x20import(s)');})),Object[_0x2e315c(0x11d)](_0xe311a6[_0x2e315c(0xe3)])['length']>0x0&&(_0x4abf07[_0x2e315c(0x152)](_0x2e315c(0xdf)),Object['entries'](_0xe311a6[_0x2e315c(0xe3)])[_0x2e315c(0x11b)](0x0,0x3)['forEach'](([_0x1a2ec1,_0x309e0c])=>{const _0x7643db=_0x2e315c;_0x4abf07[_0x7643db(0x152)](_0x7643db(0x151)+_0x1a2ec1+'\x20imports\x20'+_0x309e0c[_0x7643db(0x102)]+_0x7643db(0x104));})),_0x4abf07[_0x2e315c(0x152)]('\x0a💡\x20Run\x20with\x20output=\x22detailed\x22\x20for\x20complete\x20analysis\x20and\x20fix\x20suggestions')),_0x4abf07[_0x2e315c(0x14f)]('\x0a');}['_formatDetailedOutput'](_0xaae9dd){const _0xbd0d6a=a0_0x2d17f4,_0x526021=[];_0x526021['push']('📊\x20Detailed\x20Import/Export\x20Analysis\x20Report'),_0x526021[_0xbd0d6a(0x152)](_0xbd0d6a(0xda)),_0x526021[_0xbd0d6a(0x152)]('📈\x20Statistics:'),_0x526021[_0xbd0d6a(0x152)](_0xbd0d6a(0x124)+_0xaae9dd['summary']['totalFiles']),_0x526021['push']('\x20\x20•\x20Total\x20imports:\x20'+_0xaae9dd[_0xbd0d6a(0x146)][_0xbd0d6a(0x167)]),_0x526021['push']('\x20\x20•\x20Total\x20exports:\x20'+_0xaae9dd[_0xbd0d6a(0x146)][_0xbd0d6a(0xf6)]+'\x0a');if(_0xaae9dd[_0xbd0d6a(0x128)]['length']>0x0){_0x526021[_0xbd0d6a(0x152)](_0xbd0d6a(0x12a)),_0x526021[_0xbd0d6a(0x152)]('─────────────────');const _0x2eba6b={};_0xaae9dd['fileNotFoundImports']['forEach'](_0x5bca0b=>{const _0x56f1c4=_0xbd0d6a;!_0x2eba6b[_0x5bca0b[_0x56f1c4(0xe2)]]&&(_0x2eba6b[_0x5bca0b['importingFile']]=[]),_0x2eba6b[_0x5bca0b[_0x56f1c4(0xe2)]]['push'](_0x5bca0b);}),Object['entries'](_0x2eba6b)[_0xbd0d6a(0x10e)](([_0x3ed1ee,imports])=>{_0x526021['push']('\x0a📄\x20'+_0x3ed1ee+':'),imports['forEach'](_0x47a9c7=>{const _0x466a40=a0_0x568f,importType=_0x47a9c7[_0x466a40(0x10d)]?'default':_0x47a9c7['isNamespace']?'namespace':'named';_0x526021[_0x466a40(0x152)](_0x466a40(0x13b)+_0x47a9c7['importedFromFile']),_0x526021['push']('\x20\x20\x20\x20\x20\x20Trying\x20to\x20import:\x20'+_0x47a9c7['importedSymbol']+'\x20('+importType+')'),_0x526021['push'](_0x466a40(0xe1));});});}Object[_0xbd0d6a(0x11d)](_0xaae9dd['missingExports'])[_0xbd0d6a(0x102)]>0x0&&(_0x526021['push']('\x0a⚠️\x20\x20MISSING\x20EXPORTS'),_0x526021[_0xbd0d6a(0x152)]('──────────────────'),Object[_0xbd0d6a(0x132)](_0xaae9dd['missingExports'])[_0xbd0d6a(0x10e)](([_0xd1c90a,_0x574fe0])=>{const _0x1570da=_0xbd0d6a;_0x526021[_0x1570da(0x152)](_0x1570da(0xe4)+_0xd1c90a+':'),_0x574fe0[_0x1570da(0x10e)](_0x7394a7=>{const _0x139afd=_0x1570da,importType=_0x7394a7[_0x139afd(0x10d)]?'default':_0x7394a7[_0x139afd(0xf5)]?_0x139afd(0xe8):_0x139afd(0x174);_0x526021['push']('\x20\x20\x20❌\x20Symbol\x20not\x20exported:\x20\x22'+_0x7394a7['importedSymbol']+'\x22\x20('+importType+')'),_0x526021[_0x139afd(0x152)]('\x20\x20\x20\x20\x20\x20From\x20file:\x20'+_0x7394a7[_0x139afd(0x100)]);if(_0x7394a7['availableExports'][_0x139afd(0x102)]>0x0){_0x526021[_0x139afd(0x152)](_0x139afd(0x155)+_0x7394a7[_0x139afd(0x170)]['join'](',\x20'));if(_0x7394a7['isDefault']&&_0x7394a7['availableExports'][_0x139afd(0x168)]('default'))_0x526021['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Default\x20export\x20exists,\x20check\x20import\x20syntax');else{if(_0x7394a7[_0x139afd(0x10d)]&&!_0x7394a7[_0x139afd(0x170)]['includes']('default'))_0x526021['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20No\x20default\x20export.\x20Use\x20named\x20import:\x20{\x20'+(_0x7394a7[_0x139afd(0x170)][0x0]||_0x139afd(0xea))+'\x20}');else{const _0x5ce9f2=_0x7394a7['availableExports']['find'](_0x22733b=>_0x22733b['toLowerCase']()===_0x7394a7[_0x139afd(0xfa)]['toLowerCase']());_0x5ce9f2?_0x526021['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Did\x20you\x20mean\x20\x22'+_0x5ce9f2+_0x139afd(0xd7)):_0x526021[_0x139afd(0x152)](_0x139afd(0x103)+_0x7394a7[_0x139afd(0xfa)]+_0x139afd(0x13d));}}}else _0x526021['push'](_0x139afd(0x127)),_0x526021['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20exports\x20to\x20'+_0x7394a7[_0x139afd(0x100)]+_0x139afd(0x13a));});}));_0xaae9dd[_0xbd0d6a(0x157)]&&_0xaae9dd['circularDependencies']['length']>0x0&&(_0x526021[_0xbd0d6a(0x152)]('\x0a🔄\x20CIRCULAR\x20DEPENDENCIES'),_0x526021['push'](_0xbd0d6a(0x136)),_0xaae9dd['circularDependencies'][_0xbd0d6a(0x10e)]((_0x5799b2,_0x354927)=>{const _0xf153de=_0xbd0d6a;_0x526021['push']('\x0a\x20\x20Cycle\x20'+(_0x354927+0x1)+':'),_0x5799b2[_0xf153de(0x10e)]((_0x5d2d6c,_0x5b8c2b)=>{const _0x4c995f=_0xf153de;_0x5b8c2b<_0x5799b2['length']-0x1&&_0x526021[_0x4c995f(0x152)]('\x20\x20\x20\x20'+_0x5d2d6c+_0x4c995f(0x12f)+_0x5799b2[_0x5b8c2b+0x1]);}),_0x526021['push'](_0xf153de(0x110));}));_0xaae9dd[_0xbd0d6a(0xdc)]&&Object['keys'](_0xaae9dd[_0xbd0d6a(0xdc)])['length']>0x0&&(_0x526021['push']('\x0a🗑️\x20\x20POTENTIALLY\x20UNUSED\x20EXPORTS'),_0x526021['push'](_0xbd0d6a(0x162)),Object[_0xbd0d6a(0x132)](_0xaae9dd[_0xbd0d6a(0xdc)])['slice'](0x0,0xa)['forEach'](([_0x2c4676,exports])=>{const _0x3cf52e=_0xbd0d6a;_0x526021['push'](_0x3cf52e(0xe4)+_0x2c4676+':'),_0x526021[_0x3cf52e(0x152)]('\x20\x20\x20Unused:\x20'+exports['join'](',\x20'));}),_0x526021['push']('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x526021['push']('\x20\x20\x20\x20\x20\x20They\x20might\x20be\x20used\x20by\x20external\x20packages\x20or\x20could\x20be\x20removed'));_0x526021['push'](_0xbd0d6a(0xe6)),_0x526021[_0xbd0d6a(0x152)](_0xbd0d6a(0x115));const _0x563c40=_0xaae9dd[_0xbd0d6a(0x128)][_0xbd0d6a(0x102)]+Object[_0xbd0d6a(0xec)](_0xaae9dd[_0xbd0d6a(0xe3)])[_0xbd0d6a(0x133)]((_0x2834ec,_0xc16595)=>_0x2834ec+_0xc16595[_0xbd0d6a(0x102)],0x0);return _0x563c40===0x0?_0x526021['push']('\u2705 Your import/export structure looks good!'):(_0x526021['push']('Found\x20'+_0x563c40+_0xbd0d6a(0xde)),_0xaae9dd['fileNotFoundImports'][_0xbd0d6a(0x102)]>0x0&&_0x526021['push'](_0xbd0d6a(0x148)+_0xaae9dd['fileNotFoundImports']['length']+_0xbd0d6a(0x15a)),Object[_0xbd0d6a(0x11d)](_0xaae9dd['missingExports'])['length']>0x0&&_0x526021[_0xbd0d6a(0x152)]('\x20\x202.\x20Resolve\x20'+Object[_0xbd0d6a(0xec)](_0xaae9dd['missingExports'])['reduce']((_0x30936c,_0x16661d)=>_0x30936c+_0x16661d[_0xbd0d6a(0x102)],0x0)+_0xbd0d6a(0x144)),_0xaae9dd['circularDependencies']&&_0xaae9dd['circularDependencies'][_0xbd0d6a(0x102)]>0x0&&_0x526021['push']('\x20\x203.\x20Refactor\x20'+_0xaae9dd[_0xbd0d6a(0x157)][_0xbd0d6a(0x102)]+_0xbd0d6a(0x134))),_0x526021['join']('\x0a');}}class ImportExportAnalyzer{constructor(_0x10469d,_0x3ed8f5='.gitignore',_0x3b9144=null){const _0x581008=a0_0x2d17f4;this[_0x581008(0x121)]=a0_0x421d46[_0x581008(0x12c)](_0x10469d),this[_0x581008(0xe5)]=_0x3ed8f5,this['logger']=_0x3b9144,this['ignorePatterns']=[...ANALYZER_CONFIG['DEFAULT_IGNORE_PATTERNS']],this['imports']=[],this[_0x581008(0xf1)]=new Map(),this['dependencies']=new Map();}async['loadIgnoreFile'](){const _0x338c8e=a0_0x2d17f4;try{const _0x40b64f=a0_0x421d46['join'](this['rootDir'],this['ignoreFile']),_0x16a25b=await a0_0x4446ef[_0x338c8e(0x143)](_0x40b64f,_0x338c8e(0x169)),_0x12f2c4=_0x16a25b['split']('\x0a')['map'](_0x54ac9d=>_0x54ac9d['trim']())['filter'](_0x355e21=>_0x355e21&&!_0x355e21['startsWith']('#'));this['ignorePatterns'][_0x338c8e(0x152)](..._0x12f2c4),this[_0x338c8e(0x159)]?.[_0x338c8e(0x130)](_0x338c8e(0x137),{'count':_0x12f2c4['length']});}catch{this['logger']?.[_0x338c8e(0x130)]('No ignore file found, using defaults');}}[a0_0x2d17f4(0x16f)](_0x12dde0){const _0x4d6da8=a0_0x2d17f4,_0x46e79b=a0_0x421d46[_0x4d6da8(0x113)](this['rootDir'],_0x12dde0);return this['ignorePatterns'][_0x4d6da8(0x13f)](_0x536ca9=>{const _0x2de9cf=_0x4d6da8;if(_0x536ca9['includes']('*')){const _0x2186b5=new RegExp(_0x536ca9['replace'](/\*/g,'.*'));return _0x2186b5['test'](_0x46e79b)||_0x2186b5[_0x2de9cf(0xf3)](a0_0x421d46['basename'](_0x12dde0));}return _0x46e79b['includes'](_0x536ca9)||a0_0x421d46[_0x2de9cf(0x15e)](_0x12dde0)===_0x536ca9;});}async[a0_0x2d17f4(0x105)](_0x5323f8){const _0x107b31=a0_0x2d17f4,_0x15aba4=[],_0x3aeef5=async _0x3cdd3d=>{const _0x4f51aa=a0_0x568f;try{const _0x71659e=await a0_0x4446ef['readdir'](_0x3cdd3d,{'withFileTypes':!![]});for(const _0x1e9a76 of _0x71659e){const _0x1bd0d6=a0_0x421d46[_0x4f51aa(0x14f)](_0x3cdd3d,_0x1e9a76['name']);if(this['shouldIgnoreFile'](_0x1bd0d6))continue;if(_0x1e9a76['isDirectory']())await _0x3aeef5(_0x1bd0d6);else{if(_0x1e9a76['isFile']()){const _0x12591f=a0_0x421d46[_0x4f51aa(0x106)](_0x1e9a76[_0x4f51aa(0x14c)]);ANALYZER_CONFIG['SUPPORTED_EXTENSIONS']['includes'](_0x12591f)&&_0x15aba4[_0x4f51aa(0x152)](_0x1bd0d6);}}}}catch(_0x514202){this['logger']?.['warn']('Cannot\x20read\x20directory',{'dir':_0x3cdd3d,'error':_0x514202[_0x4f51aa(0xeb)]});}};await _0x3aeef5(_0x5323f8);if(_0x15aba4['length']>ANALYZER_CONFIG['MAX_FILES']){this[_0x107b31(0x159)]?.['warn']('File\x20count\x20exceeds\x20limit:\x20'+_0x15aba4['length']+_0x107b31(0xe0)+ANALYZER_CONFIG[_0x107b31(0x117)]);throw new Error(_0x107b31(0x16b)+_0x15aba4[_0x107b31(0x102)]+'\x20(max:\x20'+ANALYZER_CONFIG[_0x107b31(0x117)]+')');}return _0x15aba4;}async[a0_0x2d17f4(0xf0)](_0x37dc18,_0x5972dc){const _0x3535f2=a0_0x2d17f4,imports=[],_0x4a1fbd=_0x37dc18[_0x3535f2(0xdd)]('\x0a'),_0x57300a=this[_0x3535f2(0x156)](_0x5972dc);!this['dependencies'][_0x3535f2(0x114)](_0x57300a)&&this[_0x3535f2(0x112)]['set'](_0x57300a,new Set());for(let _0x13fb23=0x0;_0x13fb23<_0x4a1fbd['length'];_0x13fb23++){const _0x59ba4d=_0x4a1fbd[_0x13fb23]['trim']();if(_0x59ba4d['startsWith']('//')||_0x59ba4d[_0x3535f2(0x171)]('/*'))continue;let _0x387214=_0x59ba4d,_0x3cf774=_0x13fb23;while(!_0x387214[_0x3535f2(0x168)](';')&&!_0x387214[_0x3535f2(0x119)](/from\s+['"`][^'"`]+['"`]/)&&_0x3cf774<_0x4a1fbd['length']-0x1){_0x3cf774++;const _0x16ca54=_0x4a1fbd[_0x3cf774][_0x3535f2(0x163)]();if(_0x16ca54['startsWith']('//')||_0x16ca54['startsWith']('/*'))continue;_0x387214+='\x20'+_0x16ca54;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0xfdf462;while((_0xfdf462=importRegex[_0x3535f2(0x165)](_0x387214))!==null){const [,_0x4ff313,defaultImport,_0x900a1a,_0x180e5a,_0x3e41dd]=_0xfdf462,_0x2b25ff=await this[_0x3535f2(0x10a)](_0x3e41dd,_0x5972dc);!_0x2b25ff['isExternal']&&_0x2b25ff[_0x3535f2(0x161)]&&this['dependencies'][_0x3535f2(0x131)](_0x57300a)[_0x3535f2(0x14d)](_0x2b25ff['path']);defaultImport&&imports[_0x3535f2(0x152)]({'importingFile':_0x57300a,'importedSymbol':defaultImport[_0x3535f2(0x163)](),'importedFromFile':_0x2b25ff['path'],'fileExists':_0x2b25ff[_0x3535f2(0x161)],'isExternal':_0x2b25ff[_0x3535f2(0xd6)]||![],'isDefault':!![]});_0x180e5a&&imports[_0x3535f2(0x152)]({'importingFile':_0x57300a,'importedSymbol':_0x180e5a['trim'](),'importedFromFile':_0x2b25ff['path'],'fileExists':_0x2b25ff['exists'],'isExternal':_0x2b25ff[_0x3535f2(0xd6)]||![],'isNamespace':!![]});const _0x5ab77e=[_0x4ff313,_0x900a1a]['filter'](Boolean)[_0x3535f2(0x14f)](',');if(_0x5ab77e){const _0x53ea37=_0x5ab77e[_0x3535f2(0xdd)](',')[_0x3535f2(0x10c)](_0x408598=>{const _0x32beda=_0x3535f2,_0x475d16=_0x408598['trim']()[_0x32beda(0xdd)](/\s+as\s+/);return _0x475d16[0x0][_0x32beda(0x163)]();});_0x53ea37[_0x3535f2(0x10e)](_0x1cff01=>{const _0x39bbdb=_0x3535f2;_0x1cff01&&imports[_0x39bbdb(0x152)]({'importingFile':_0x57300a,'importedSymbol':_0x1cff01,'importedFromFile':_0x2b25ff['path'],'fileExists':_0x2b25ff['exists'],'isExternal':_0x2b25ff[_0x39bbdb(0xd6)]||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0xfdf462=requireRegex[_0x3535f2(0x165)](_0x387214))!==null){const [,_0x500c17,_0x176545,_0x4605d4]=_0xfdf462,_0x14562d=await this['resolveImportPath'](_0x4605d4,_0x5972dc);!_0x14562d[_0x3535f2(0xd6)]&&_0x14562d['exists']&&this['dependencies'][_0x3535f2(0x131)](_0x57300a)[_0x3535f2(0x14d)](_0x14562d['path']);if(_0x500c17){const _0x133ff5=_0x500c17[_0x3535f2(0xdd)](',')['map'](_0x486a49=>_0x486a49['trim']()[_0x3535f2(0xdd)](':')[0x0]['trim']());_0x133ff5[_0x3535f2(0x10e)](_0x39179f=>{const _0x590c1a=_0x3535f2;_0x39179f&&imports[_0x590c1a(0x152)]({'importingFile':_0x57300a,'importedSymbol':_0x39179f,'importedFromFile':_0x14562d['path'],'fileExists':_0x14562d['exists'],'isExternal':_0x14562d[_0x590c1a(0xd6)]||![],'isDefault':![]});});}else _0x176545&&imports['push']({'importingFile':_0x57300a,'importedSymbol':_0x176545[_0x3535f2(0x163)](),'importedFromFile':_0x14562d['path'],'fileExists':_0x14562d[_0x3535f2(0x161)],'isExternal':_0x14562d[_0x3535f2(0xd6)]||![],'isDefault':!![]});}_0x13fb23=_0x3cf774;}return imports;}[a0_0x2d17f4(0x166)](_0x4a0270){const _0x357699=a0_0x2d17f4,exports=new Set(),_0x34e553=_0x4a0270['split']('\x0a');for(const _0x499243 of _0x34e553){const _0x107335=_0x499243['trim']();if(_0x107335[_0x357699(0x171)]('//')||_0x107335[_0x357699(0x171)]('/*'))continue;/export\s+default\s+/['test'](_0x107335)&&exports['add']('default');const _0x10d6dc=_0x107335[_0x357699(0x119)](/export\s+\{([^}]+)\}/);if(_0x10d6dc){const _0x490965=_0x10d6dc[0x1]['split'](',')[_0x357699(0x10c)](_0x462b01=>{const _0x29a6c3=_0x357699,_0x59569f=_0x462b01[_0x29a6c3(0x163)]()['split'](/\s+as\s+/);return _0x59569f[_0x59569f['length']-0x1][_0x29a6c3(0x163)]();});_0x490965[_0x357699(0x10e)](_0x2bfd4c=>exports['add'](_0x2bfd4c));}const _0x2d0c07=_0x107335['match'](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x2d0c07&&exports[_0x357699(0x14d)](_0x2d0c07[0x1]);const exportFromMatch=_0x107335['match'](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0x3eb19a=exportFromMatch[0x1]['split'](',')[_0x357699(0x10c)](_0x247563=>{const _0x343600=_0x357699,_0x1bddea=_0x247563[_0x343600(0x163)]()[_0x343600(0xdd)](/\s+as\s+/);return _0x1bddea[_0x1bddea[_0x343600(0x102)]-0x1][_0x343600(0x163)]();});_0x3eb19a[_0x357699(0x10e)](_0x27c8ec=>exports[_0x357699(0x14d)](_0x27c8ec));}/export\s+\*\s+from/['test'](_0x107335)&&exports[_0x357699(0x14d)]('*');const moduleExportsMatch=_0x107335[_0x357699(0x119)](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x513a35=moduleExportsMatch[0x1]['split'](',')[_0x357699(0x10c)](_0x2a8afa=>{const _0x128640=_0x357699,_0x5e419e=_0x2a8afa[_0x128640(0x163)]()[_0x128640(0xdd)](':');return _0x5e419e[0x0][_0x128640(0x163)]();});_0x513a35['forEach'](_0x182661=>exports['add'](_0x182661));}/module\.exports\s*=\s*[^{]/[_0x357699(0xf3)](_0x107335)&&exports[_0x357699(0x14d)]('default');const moduleExportsPropMatch=_0x107335['match'](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports['add'](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0x107335[_0x357699(0x119)](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports[_0x357699(0x14d)](exportsPropMatch[0x1]);}return exports;}async['resolveImportPath'](importPath,_0x2a3bae){const _0x2679f1=a0_0x2d17f4;if(importPath[_0x2679f1(0x171)]('.')){const _0x139ee2=a0_0x421d46[_0x2679f1(0x122)](_0x2a3bae),_0x435e4b=a0_0x421d46['resolve'](_0x139ee2,importPath);if(a0_0x421d46[_0x2679f1(0x106)](importPath))try{const _0x9724c3=await a0_0x4446ef['stat'](_0x435e4b);if(_0x9724c3['isFile']())return{'path':this['getRelativePath'](_0x435e4b),'exists':!![]};}catch{}const _0x44adbf=['',_0x2679f1(0x149),'.mjs','.ts','.jsx','.tsx',_0x2679f1(0xee),'/index.ts',_0x2679f1(0xfc),_0x2679f1(0x141)];for(const _0x2c9d44 of _0x44adbf){const _0x3b92ca=_0x435e4b+_0x2c9d44;try{const _0x33e583=await a0_0x4446ef['stat'](_0x3b92ca);if(_0x33e583['isFile']())return{'path':this['getRelativePath'](_0x3b92ca),'exists':!![]};}catch{}}return{'path':this[_0x2679f1(0x156)](_0x435e4b),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}['getRelativePath'](_0x551d69){const _0x2a8cef=a0_0x2d17f4;return a0_0x421d46[_0x2a8cef(0x113)](this['rootDir'],_0x551d69)[_0x2a8cef(0x116)](/\\/g,'/');}[a0_0x2d17f4(0x10b)](){const _0x3c1ba9=a0_0x2d17f4,_0x19d821=[],_0xf83c0b=new Set(),_0x1e09ea=new Set(),_0xea40c8=(_0x4cfb7f,_0x3e389d=[])=>{const _0x1eb313=a0_0x568f;if(_0x1e09ea[_0x1eb313(0x114)](_0x4cfb7f)){const _0x44d245=_0x3e389d[_0x1eb313(0xdb)](_0x4cfb7f);_0x44d245!==-0x1&&_0x19d821['push']([..._0x3e389d[_0x1eb313(0x11b)](_0x44d245),_0x4cfb7f]);return;}if(_0xf83c0b['has'](_0x4cfb7f))return;_0xf83c0b[_0x1eb313(0x14d)](_0x4cfb7f),_0x1e09ea['add'](_0x4cfb7f),_0x3e389d[_0x1eb313(0x152)](_0x4cfb7f);const _0x424f16=this['dependencies'][_0x1eb313(0x131)](_0x4cfb7f)||new Set();for(const _0x245c69 of _0x424f16){_0xea40c8(_0x245c69,[..._0x3e389d]);}_0x1e09ea[_0x1eb313(0x15c)](_0x4cfb7f);};for(const _0x41d5a2 of this[_0x3c1ba9(0x112)]['keys']()){!_0xf83c0b['has'](_0x41d5a2)&&_0xea40c8(_0x41d5a2);}return _0x19d821;}[a0_0x2d17f4(0x142)](){const _0x2a0fdc=a0_0x2d17f4,_0x5088a7=new Map();for(const _0x59bd4e of this[_0x2a0fdc(0xef)]){!_0x59bd4e[_0x2a0fdc(0xd6)]&&(!_0x5088a7['has'](_0x59bd4e['importedFromFile'])&&_0x5088a7[_0x2a0fdc(0x12e)](_0x59bd4e[_0x2a0fdc(0x100)],new Set()),_0x5088a7[_0x2a0fdc(0x131)](_0x59bd4e['importedFromFile'])['add'](_0x59bd4e['importedSymbol']));}const _0x43ce36={};for(const [_0xfc175f,exports]of this[_0x2a0fdc(0xf1)][_0x2a0fdc(0x132)]()){const _0x58b26f=_0x5088a7['get'](_0xfc175f)||new Set(),_0xe4a927=Array['from'](exports)['filter'](_0x356eaa=>!_0x58b26f[_0x2a0fdc(0x114)](_0x356eaa)&&_0x356eaa!=='*');_0xe4a927[_0x2a0fdc(0x102)]>0x0&&(_0x43ce36[_0xfc175f]=_0xe4a927);}return _0x43ce36;}async[a0_0x2d17f4(0x13c)](_0x94870='full'){const _0x5b6007=a0_0x2d17f4;this[_0x5b6007(0x159)]?.['info']('Starting import analysis',{'mode':_0x94870,'rootDir':this[_0x5b6007(0x121)]}),await this[_0x5b6007(0x138)]();const _0x48247a=await this[_0x5b6007(0x105)](this[_0x5b6007(0x121)]);this[_0x5b6007(0x159)]?.[_0x5b6007(0x12b)](_0x5b6007(0x11a),{'count':_0x48247a['length']});for(const _0x3b0d63 of _0x48247a){try{const _0x12bdca=await a0_0x4446ef[_0x5b6007(0x143)](_0x3b0d63,'utf-8'),_0x1d7566=this[_0x5b6007(0x156)](_0x3b0d63),_0x2eac16=await this[_0x5b6007(0xf0)](_0x12bdca,_0x3b0d63);this[_0x5b6007(0xef)][_0x5b6007(0x152)](..._0x2eac16);const _0x190b72=this[_0x5b6007(0x166)](_0x12bdca);this['exports']['set'](_0x1d7566,_0x190b72);}catch(_0x3832c8){this['logger']?.['warn'](_0x5b6007(0x10f),{'file':_0x3b0d63,'error':_0x3832c8[_0x5b6007(0xeb)]});}}this[_0x5b6007(0x159)]?.[_0x5b6007(0x12b)]('Parsed\x20all\x20files',{'imports':this[_0x5b6007(0xef)][_0x5b6007(0x102)],'exports':this[_0x5b6007(0xf1)][_0x5b6007(0x11e)]});const _0x326e15={'summary':{'totalFiles':_0x48247a['length'],'totalImports':this['imports'][_0x5b6007(0x102)],'totalExports':Array[_0x5b6007(0x118)](this[_0x5b6007(0xf1)]['values']())[_0x5b6007(0x133)]((_0x529caf,exports)=>_0x529caf+exports[_0x5b6007(0x11e)],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this['imports']){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0x172620,isNamespace:_0x2dfa80,fileExists:_0x128e1b,isExternal:_0x53781e}=importEntry;if(!_0x128e1b&&!_0x53781e){_0x326e15[_0x5b6007(0x128)]['push']({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0x172620||![],'isNamespace':_0x2dfa80||![]});!_0x326e15[_0x5b6007(0x176)][importingFile]&&(_0x326e15[_0x5b6007(0x176)][importingFile]=[]);_0x326e15['missingFiles'][importingFile][_0x5b6007(0x152)]({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0x172620||![],'isNamespace':_0x2dfa80||![]});continue;}if(_0x53781e)continue;const exportingFileExports=this[_0x5b6007(0xf1)]['get'](importedFromFile);let _0x1da2bb=![];if(exportingFileExports){if(_0x2dfa80)_0x1da2bb=exportingFileExports['size']>0x0;else _0x172620?_0x1da2bb=exportingFileExports[_0x5b6007(0x114)]('default'):_0x1da2bb=exportingFileExports['has'](importedSymbol)||exportingFileExports['has']('*');}!_0x1da2bb&&(!_0x326e15['missingExports'][importingFile]&&(_0x326e15['missingExports'][importingFile]=[]),_0x326e15[_0x5b6007(0xe3)][importingFile][_0x5b6007(0x152)]({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array['from'](exportingFileExports):[],'isDefault':_0x172620||![],'isNamespace':_0x2dfa80||![]}));}return(_0x94870==='full'||_0x94870===_0x5b6007(0xfd))&&(this[_0x5b6007(0x159)]?.['info']('Running\x20full\x20analysis'),_0x326e15['circularDependencies']=this['findCircularDependencies'](),_0x326e15[_0x5b6007(0xdc)]=this[_0x5b6007(0x142)]()),this[_0x5b6007(0x159)]?.['info']('Analysis\x20complete',{'missingFiles':_0x326e15['fileNotFoundImports']['length'],'missingExports':Object[_0x5b6007(0x11d)](_0x326e15['missingExports'])['length']}),_0x326e15;}}export default ImportAnalyzerTool;
|
|
1
|
+
const a0_0x1a1f34=a0_0x194e;(function(_0xe00aad,_0x1ca651){const _0x2fb33d=a0_0x194e,_0x143860=_0xe00aad();while(!![]){try{const _0x97155c=parseInt(_0x2fb33d(0x170))/0x1+parseInt(_0x2fb33d(0x11f))/0x2+parseInt(_0x2fb33d(0x1a6))/0x3*(parseInt(_0x2fb33d(0x17d))/0x4)+-parseInt(_0x2fb33d(0x16f))/0x5+parseInt(_0x2fb33d(0x192))/0x6*(-parseInt(_0x2fb33d(0x129))/0x7)+parseInt(_0x2fb33d(0x159))/0x8+parseInt(_0x2fb33d(0x123))/0x9*(-parseInt(_0x2fb33d(0x17f))/0xa);if(_0x97155c===_0x1ca651)break;else _0x143860['push'](_0x143860['shift']());}catch(_0x9702b6){_0x143860['push'](_0x143860['shift']());}}}(a0_0x1435,0xa545b));import{promises as a0_0xda8eb7}from'fs';import a0_0x1b3758 from'path';import{BaseTool}from'./baseTool.js';import a0_0x590460 from'../utilities/tagParser.js';const ANALYZER_CONFIG={'DEFAULT_MODE':'full','VALID_MODES':[a0_0x1a1f34(0x173),'quick',a0_0x1a1f34(0x117)],'DEFAULT_OUTPUT':'summary','VALID_OUTPUTS':[a0_0x1a1f34(0x1aa),a0_0x1a1f34(0x17e),a0_0x1a1f34(0x19c)],'DEFAULT_IGNORE_FILE':'.gitignore','MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':['.js','.mjs',a0_0x1a1f34(0x198),a0_0x1a1f34(0x146),'.tsx'],'DEFAULT_IGNORE_PATTERNS':['node_modules','.git','dist',a0_0x1a1f34(0x150),'coverage'],'FILE_READ_TIMEOUT':0x1388};function a0_0x1435(){const _0x2838ff=['yMfZzw5HBwu','icaGicaGrNjVBsbMAwXLoIa','zxjYB3i','CgfYC2vfEhbVCNrZ','C3rHDa','sw52ywXPzcbTB2rLoIa','DgvZDa','m2j6CK1PqW','t3v0Chv0oIa','Aw1WB3j0CW','x2zVCM1HDerLDgfPBgvKt3v0Chv0','C3vTBwfYEq','Cgf0Aa','AwDUB3jLrMLSzq','Bg9HzeLNBM9YzuzPBgu','BM9YBwfSAxPL','sw52ywXPzcbVDxrWDxq6ia','iokgKIa','igLTCg9YDhmG','Aw5MBW','revgqvvmvf9nt0rf','vg9Vig1HBNKGzMLSzxmGDg8Gyw5HBhL6ztOG','cVcFK4qG','cVcFLi0Gvg9WieLZC3vLCYb0BYbgAxG6','AwDUB3jLlwzPBgu','zML4','DMfSDwvZ','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0lIbfEhbLy3rLzcbZDhjPBMCGkfHntcKGB3iGB2jQzwn0icHku09oks4','CMvWBgfJzq','zMLUzfvUDxnLzev4Cg9YDhm','lIbnDxn0igjLig9UzsbVzJOG','icdIGkiGvg90ywWGAw1WB3j0CZOG','y2LYy3vSyxjezxbLBMrLBMnPzxm','mtuYnJG4t0TSwxze','zNjVBq','zxHPC3rZ','Cgf0AcbTDxn0igjLigeGC3rYAw5N','oufHwM1hEq','revgqvvmvf9pvvrqvvq','Bg9Nz2vY','cVcFKQeGuNvUihDPDgGGB3v0Chv0psjKzxrHAwXLzciGzM9YignVBxbSzxrLigfUywX5C2LZigfUzcbMAxGGC3vNz2vZDgLVBNm','l2LUzgv4lMPZ','zgvWzw5Kzw5JAwvZ','ndi3n1v6sLvSzG','z2v0uMvSyxrPDMvqyxrO','icHTyxG6ia','icaGiokaOIa','8j+uHcbdAxjJDwXHCIbKzxbLBMrLBMnPzxm6ia','x3zHBgLKyxrLugfYyw1LDgvYCW','DhjPBq','Dg90ywXjBxbVCNrZ','AxneAxjLy3rVCNK','BMfTzwq','zxHLyW','Aw1WB3j0Aw5NrMLSzq','8j+tIIbezxrHAwXLzcbjBxbVCNqVrxHWB3j0iefUywX5C2LZifjLCg9YDa','Bwf0y2G','yxr0CMLIDxrLCW','ywrK','B3v0Chv0','sw1WB3j0igfUywX5C2LZignVBxbSzxrLza','sw1WB3j0igfUywX5EMvYigv4zwn1DgLUzW','C3rHCNrZv2L0Aa','C2XPy2u','x2zVCM1HDfn1Bw1HCNLpDxrWDxq','8j+tPsbuB3rHBcbPBxbVCNrZoIa','tw9KztOG','id4G','lNrZEa','C3bSAxq','AxnfEhrLCM5HBa','Dw51C2vKrxHWB3j0CW','lMPZEa','BwLZC2LUz0zPBgvZ','Bw9Kzq','ig5VBI1LEgLZDgvUDcbZEw1IB2WOCYK','z2v0rgvZy3jPChrPB24','iIaO','icaYlIbszxnVBhzLia','l2LUzgv4lMPZEa','zxHWB3j0CW','zgvIDwC','yNvPBgq','CMvHzezPBgu','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','l2LUzgv4lNrZEa','AwDUB3jLugf0DgvYBNm','revgqvvmvf9jr05puKvFrKLmrq','zxHLy3v0zq','CMvZB2X2zq','Aw1WB3j0zwrtEw1IB2W','mJu4ntqYngvLrgnWsq','z2v0qwXSrMLSzxm','icaGicaGvgHLEsbTAwDODcbIzsb1C2vKigj5igv4DgvYBMfSihbHy2THz2vZig9YignVDwXKigjLihjLBw92zwq','BwvZC2fNzq','rM91BMqG','CgfYC2vuywDZ','rxjYB3iGCgfYC2LUzYbMAwXL','BwfW','C2v0','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','vKfmsurFtu9ervm','icdIGkiGrMLSzxmGyw5HBhL6zwq6ia','zw50CMLLCW','yw5HBhL6zq','cIaGq3LJBguG','cIaGtwLZC2LUzYbfEhbVCNrZoG','AgfZ','yxzHAwXHyMXLrxHWB3j0CW','igLTCg9YDhmGCg9PBNrPBMCGDg8GBM9Ulwv4Axn0zw50igzPBgvZ','icaGipcFKQeGrML4oIbszwzHy3rVCIb0BYbICMvHAYb0AguGy2LYy3vSyxiGzgvWzw5Kzw5JEq','BgvUz3rO','cVcFK4SGuKvdt01nru5eqvrjt05t','mJm4mZaYnvzhwhz6rW','nteZnZC5wezRAMrO','CMvKDwnL','AxnbyNnVBhv0zq','zNvSBa','ChvZAa','Dg9mB3DLCKnHC2u','AM9PBG','4PQG77IpicbnAxnZAw5Nigv4Cg9YDhm6ia','C3rYAw5N','icaG4PQG77Ipicbdyw5UB3qGzMLUzcbMAwXLoIa','DxrMltG','CM9VDerPCG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','mZG0ody4nhnvtgHRDG','zgv0ywLSzwq','mZy5mZy1meLVzev3Cq','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','sw1WB3j0igfUywX5EMvYigvYCM9YoG','CMvZB2X2zuLTCg9YDfbHDgG','4P2mie1PC3nPBMCGzMLSzxm6ia','Aw1WB3j0zwrgCM9TrMLSzq','icaGicaG8j+tPcboBYbLEhbVCNrZigzVDw5KigLUihrHCMDLDcbMAwXL','C2HVDwXKswDUB3jLrMLSzq','tufyx0zjtevt','CgfYC2vjBxbVCNrZ','zxH0BMfTzq','icaGicaG8j+sOsbgAxG6ierPzcb5B3uGBwvHBIaI','zM9YrwfJAa','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','igLZC3vLkhmPihrOyxqGBMvLzcbHDhrLBNrPB246','zMLSzu5VDezVDw5Ksw1WB3j0CW','A2v5CW','BwLZC2LUz0v4Cg9YDhm','AxngAwXL','mZq2mMfpCefSDa','AxnezwzHDwX0','D29YA2LUz0rPCMvJDg9YEq','z2v0','Aw5JBhvKzxm','Aw5KzxHpzG','lNrZ','D2fYBG','Dg90ywXfEhbVCNrZ','C3rYAw5NAwz5','ANnVBG','CMvHzgrPCG','4P2mie1ju1njtKCGrKLmrvm'];a0_0x1435=function(){return _0x2838ff;};return a0_0x1435();}export class ImportAnalyzerTool extends BaseTool{constructor(_0x4386e9={},_0xca8948=null){super(_0x4386e9,_0xca8948),this['id']='import-analyzer';}[a0_0x1a1f34(0x14a)](){return'Tool:\x20Import\x20Analyzer\x20-\x20Analyze\x20JavaScript/TypeScript\x20imports\x20and\x20exports\x0a\x0a**Purpose:**\x20Analyzes\x20JavaScript/TypeScript\x20projects\x20to\x20detect\x20broken\x20imports,\x20missing\x20exports,\x20circular\x20dependencies,\x20and\x20unused\x20exports.\x0a\x0a**USAGE:**\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22path\x22:\x20\x22./src\x22,\x0a\x20\x20\x20\x20\x22mode\x22:\x20\x22full\x22,\x0a\x20\x20\x20\x20\x22output\x22:\x20\x22summary\x22,\x0a\x20\x20\x20\x20\x22ignoreFile\x22:\x20\x22.gitignore\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**path**\x20(string,\x20optional):\x20Path\x20to\x20directory\x20to\x20analyze.\x20Default:\x20\x22.\x22\x0a-\x20**mode**\x20(string,\x20optional):\x20Analysis\x20mode.\x20Options:\x0a\x20\x20-\x20\x22full\x22\x20-\x20Complete\x20analysis\x20(default)\x0a\x20\x20-\x20\x22quick\x22\x20-\x20Fast\x20scan\x20for\x20missing\x20files\x20only\x0a\x20\x20-\x20\x22fix\x22\x20-\x20Includes\x20fix\x20suggestions\x0a-\x20**output**\x20(string,\x20optional):\x20Output\x20format.\x20Options:\x0a\x20\x20-\x20\x22summary\x22\x20-\x20Concise\x20summary\x20(default)\x0a\x20\x20-\x20\x22detailed\x22\x20-\x20Full\x20report\x20with\x20fixes\x0a\x20\x20-\x20\x22json\x22\x20-\x20Machine-readable\x20format\x0a-\x20**ignoreFile**\x20(string,\x20optional):\x20Ignore\x20file\x20name.\x20Default:\x20\x22.gitignore\x22\x0a\x0a**What\x20It\x20Detects:**\x0a-\x20Missing\x20files\x20(imports\x20pointing\x20to\x20non-existent\x20files)\x0a-\x20Missing\x20exports\x20(symbols\x20not\x20exported\x20from\x20target\x20files)\x0a-\x20Circular\x20dependencies\x20(files\x20that\x20depend\x20on\x20each\x20other\x20in\x20a\x20loop)\x0a-\x20Unused\x20exports\x20(exports\x20never\x20imported\x20anywhere)\x0a\x0a**Examples:**\x0a\x0a1.\x20Quick\x20project\x20scan:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22mode\x22:\x20\x22quick\x22\x20}\x0a}\x0a```\x0a\x0a2.\x20Full\x20analysis\x20with\x20detailed\x20report:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22mode\x22:\x20\x22full\x22,\x20\x22output\x22:\x20\x22detailed\x22\x20}\x0a}\x0a```\x0a\x0a3.\x20Analyze\x20specific\x20directory:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22import-analyzer\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x20\x22path\x22:\x20\x22./src/components\x22,\x20\x22mode\x22:\x20\x22full\x22\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Supports\x20ES6\x20modules\x20(import/export)\x20and\x20CommonJS\x20(require/module.exports)\x0a-\x20Respects\x20.gitignore\x20patterns\x0a-\x20Correctly\x20handles\x20commented\x20imports\x20and\x20multi-line\x20statements\x0a-\x20Works\x20with\x20.js,\x20.mjs,\x20.ts,\x20.jsx,\x20.tsx\x20files';}['parseParameters'](_0x1ba1e4){const _0x17fd5f=a0_0x1a1f34;if(typeof _0x1ba1e4==='object'&&_0x1ba1e4!==null)return{'path':_0x1ba1e4['path']||'.','mode':_0x1ba1e4[_0x17fd5f(0x148)]||ANALYZER_CONFIG[_0x17fd5f(0x112)],'output':_0x1ba1e4[_0x17fd5f(0x139)]||ANALYZER_CONFIG[_0x17fd5f(0x124)],'ignoreFile':_0x1ba1e4[_0x17fd5f(0x1ac)]||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};if(typeof _0x1ba1e4===_0x17fd5f(0x178)){const _0x504dbe=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x32bcc5=_0x504dbe[_0x17fd5f(0x133)](_0x1ba1e4);if(_0x32bcc5){const _0x3286a8=_0x32bcc5[0x1],_0x813a81=_0x32bcc5[0x2],_0x2da021=/path=["']([^"']*)["']/i['exec'](_0x3286a8),_0x16b581=/mode=["']([^"']*)["']/i[_0x17fd5f(0x133)](_0x3286a8),_0x617f08=/output=["']([^"']*)["']/i[_0x17fd5f(0x133)](_0x3286a8),_0x25454c=/ignore-file=["']([^"']*)["']/i['exec'](_0x3286a8),_0x69407b=/<path>(.*?)<\/path>/i,_0x1202e5=_0x69407b[_0x17fd5f(0x133)](_0x813a81),_0x4fae81=/<mode>(.*?)<\/mode>/i,_0xe2bf69=_0x4fae81[_0x17fd5f(0x133)](_0x813a81),_0x27e911=/<output>(.*?)<\/output>/i,_0xe87aba=_0x27e911[_0x17fd5f(0x133)](_0x813a81),_0x3cfcd0=/<ignore-file>(.*?)<\/ignore-file>/i,_0x58a000=_0x3cfcd0[_0x17fd5f(0x133)](_0x813a81),_0x233b0c=(_0x1202e5?_0x1202e5[0x1][_0x17fd5f(0x12f)]():null)||(_0x2da021?_0x2da021[0x1]:'.'),_0x5318c3=(_0xe2bf69?_0xe2bf69[0x1][_0x17fd5f(0x12f)]():null)||(_0x16b581?_0x16b581[0x1]:ANALYZER_CONFIG[_0x17fd5f(0x112)]),_0x3c03c9=(_0xe87aba?_0xe87aba[0x1][_0x17fd5f(0x12f)]():null)||(_0x617f08?_0x617f08[0x1]:ANALYZER_CONFIG['DEFAULT_OUTPUT']),_0x4a05e1=(_0x58a000?_0x58a000[0x1]['trim']():null)||(_0x25454c?_0x25454c[0x1]:ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']);return{'path':_0x233b0c,'mode':_0x5318c3,'output':_0x3c03c9,'ignoreFile':_0x4a05e1};}try{const _0x124520=a0_0x590460[_0x17fd5f(0x15e)](_0x1ba1e4,_0x17fd5f(0x166));if(_0x124520&&_0x124520['length']>0x0){const _0x2242df=_0x124520[0x0];return{'path':_0x2242df[_0x17fd5f(0x137)]['path']||'.','mode':_0x2242df[_0x17fd5f(0x137)]['mode']||ANALYZER_CONFIG[_0x17fd5f(0x112)],'output':_0x2242df['attributes']['output']||ANALYZER_CONFIG['DEFAULT_OUTPUT'],'ignoreFile':_0x2242df['attributes'][_0x17fd5f(0x116)]||ANALYZER_CONFIG[_0x17fd5f(0x155)]};}}catch(_0x365071){}throw new Error('Invalid import-analyzer format. Use <import-analyzer> tags or JSON format.');}throw new Error(_0x17fd5f(0x119));}[a0_0x1a1f34(0x12e)](_0x179019){const _0x38e339=a0_0x1a1f34;if(!_0x179019||typeof _0x179019!=='object')throw new Error('Parameters\x20must\x20be\x20an\x20object');if(_0x179019[_0x38e339(0x1ab)]&&typeof _0x179019[_0x38e339(0x1ab)]!==_0x38e339(0x178))throw new Error(_0x38e339(0x122));if(_0x179019['mode']&&!ANALYZER_CONFIG[_0x38e339(0x163)][_0x38e339(0x196)](_0x179019[_0x38e339(0x148)]))throw new Error(_0x38e339(0x1a4)+_0x179019[_0x38e339(0x148)]+_0x38e339(0x11c)+ANALYZER_CONFIG[_0x38e339(0x163)]['join'](',\x20'));if(_0x179019['output']&&!ANALYZER_CONFIG['VALID_OUTPUTS'][_0x38e339(0x196)](_0x179019[_0x38e339(0x139)]))throw new Error(_0x38e339(0x10e)+_0x179019[_0x38e339(0x139)]+_0x38e339(0x11c)+ANALYZER_CONFIG['VALID_OUTPUTS'][_0x38e339(0x176)](',\x20'));if(_0x179019[_0x38e339(0x1ac)]&&typeof _0x179019[_0x38e339(0x1ac)]!==_0x38e339(0x178))throw new Error('ignoreFile\x20must\x20be\x20a\x20string');}[a0_0x1a1f34(0x152)](_0x5c1301,_0x437f13){const _0x468111=a0_0x1a1f34,{projectDir:_0x16b641,directoryAccess:_0x177478}=_0x437f13;let _0x4805fa=_0x16b641||process['cwd']();_0x177478&&_0x177478['workingDirectory']&&(_0x4805fa=_0x177478[_0x468111(0x194)]);const _0x1ca571=a0_0x1b3758[_0x468111(0x172)](_0x5c1301)?a0_0x1b3758['normalize'](_0x5c1301):a0_0x1b3758['normalize'](a0_0x1b3758['join'](_0x4805fa,_0x5c1301)),_0x530cfc=a0_0x1b3758[_0x468111(0x10d)](_0x4805fa);if(!_0x1ca571[_0x468111(0x13c)](_0x530cfc))throw new Error(_0x468111(0x180)+_0x5c1301+'\x20resolves\x20outside\x20working\x20directory');return _0x1ca571;}async[a0_0x1a1f34(0x156)](_0x13d47f,_0x49331b={}){const _0x1b13bf=a0_0x1a1f34;try{this[_0x1b13bf(0x12e)](_0x13d47f);const {path:_0x2be9b4,mode:_0x1ae3bc,output:_0x384e19,ignoreFile:_0x143358}=_0x13d47f,{projectDir:_0x569763,agentId:_0x134546,directoryAccess:_0x540ce4}=_0x49331b,_0x53ad18=this[_0x1b13bf(0x152)](_0x2be9b4,_0x49331b);this[_0x1b13bf(0x125)]?.[_0x1b13bf(0x111)](_0x1b13bf(0x13b),{'mode':_0x1ae3bc,'resolvedPath':_0x53ad18,'output':_0x384e19,'agentId':_0x134546});const _0x30d588=[];_0x30d588[_0x1b13bf(0x174)]('🔍\x20Analyzing\x20imports\x20in:\x20'+_0x53ad18),_0x30d588['push'](_0x1b13bf(0x140)+_0x1ae3bc),_0x30d588['push'](_0x1b13bf(0x1a7)+_0x384e19+'\x0a');try{await a0_0xda8eb7['access'](_0x53ad18);}catch{return{'success':![],'error':'Path\x20does\x20not\x20exist:\x20'+_0x53ad18,'output':_0x30d588[_0x1b13bf(0x176)]('\x0a')};}const _0x328320=new ImportExportAnalyzer(_0x53ad18,_0x143358,this['logger']),_0x184aaf=await _0x328320['analyze'](_0x1ae3bc);let _0x2ae3ff;switch(_0x384e19){case'json':_0x2ae3ff=JSON[_0x1b13bf(0x19b)](_0x184aaf,null,0x2);break;case _0x1b13bf(0x17e):_0x2ae3ff=this['_formatDetailedOutput'](_0x184aaf),_0x30d588['push'](_0x2ae3ff);break;case _0x1b13bf(0x1aa):default:_0x2ae3ff=this[_0x1b13bf(0x13e)](_0x184aaf),_0x30d588[_0x1b13bf(0x174)](_0x2ae3ff);break;}return{'success':!![],'mode':_0x1ae3bc,'message':_0x1b13bf(0x13a),'statistics':{'totalFiles':_0x184aaf[_0x1b13bf(0x1aa)]['totalFiles'],'totalImports':_0x184aaf['summary']['totalImports'],'totalExports':_0x184aaf['summary'][_0x1b13bf(0x19a)],'issuesFound':_0x184aaf[_0x1b13bf(0x18e)][_0x1b13bf(0x16d)]+Object['values'](_0x184aaf['missingExports'])['reduce']((_0x145190,_0x2eb37e)=>_0x145190+_0x2eb37e['length'],0x0)},'output':_0x384e19==='json'?_0x2ae3ff:_0x30d588['join']('\x0a'),'results':_0x184aaf};}catch(_0x300b5b){return this[_0x1b13bf(0x125)]?.[_0x1b13bf(0x1a1)](_0x1b13bf(0x181),_0x300b5b),{'success':![],'error':_0x300b5b['message'],'output':_0x300b5b[_0x1b13bf(0x15c)]};}}[a0_0x1a1f34(0x13e)](_0x942eba){const _0x3ad41e=a0_0x1a1f34,_0x138b4f=[];_0x138b4f[_0x3ad41e(0x174)]('📊\x20Import/Export\x20Analysis\x20Summary'),_0x138b4f['push']('================================\x0a'),_0x138b4f[_0x3ad41e(0x174)]('📁\x20Files\x20analyzed:\x20'+_0x942eba[_0x3ad41e(0x1aa)]['totalFiles']),_0x138b4f['push'](_0x3ad41e(0x13f)+_0x942eba['summary'][_0x3ad41e(0x130)]),_0x138b4f['push']('📤\x20Total\x20exports:\x20'+_0x942eba['summary']['totalExports']+'\x0a');const _0x2a4481=_0x942eba['fileNotFoundImports']['length'],_0x4d93d9=Object[_0x3ad41e(0x118)](_0x942eba[_0x3ad41e(0x190)])[_0x3ad41e(0x171)]((_0x196167,_0x696bc1)=>_0x196167+_0x696bc1[_0x3ad41e(0x16d)],0x0),_0x4216ba=_0x942eba[_0x3ad41e(0x11e)]?_0x942eba['circularDependencies']['length']:0x0;return _0x2a4481>0x0&&_0x138b4f['push'](_0x3ad41e(0x183)+_0x2a4481+_0x3ad41e(0x16b)),_0x4d93d9>0x0&&_0x138b4f['push'](_0x3ad41e(0x177)+_0x4d93d9+'\x20symbols\x20not\x20exported\x20from\x20their\x20sources'),_0x4216ba>0x0&&_0x138b4f['push'](_0x3ad41e(0x12d)+_0x4216ba+'\x20circular\x20dependency\x20chains\x20detected'),_0x2a4481===0x0&&_0x4d93d9===0x0&&_0x4216ba===0x0?_0x138b4f['push']('\u2705 No import/export issues detected!'):(_0x138b4f['push'](_0x3ad41e(0x115)),Object['keys'](_0x942eba[_0x3ad41e(0x147)]||{})[_0x3ad41e(0x16d)]>0x0&&(_0x138b4f[_0x3ad41e(0x174)]('\x0a\x20\x20Missing\x20Files:'),Object[_0x3ad41e(0x165)](_0x942eba[_0x3ad41e(0x147)])['slice'](0x0,0x3)[_0x3ad41e(0x18b)](([_0x398990,_0x15a54d])=>{const _0x397081=_0x3ad41e;_0x138b4f[_0x397081(0x174)](_0x397081(0x12c)+_0x398990+'\x20has\x20'+_0x15a54d[_0x397081(0x16d)]+'\x20broken\x20import(s)');})),Object['keys'](_0x942eba['missingExports'])['length']>0x0&&(_0x138b4f[_0x3ad41e(0x174)](_0x3ad41e(0x168)),Object['entries'](_0x942eba[_0x3ad41e(0x190)])['slice'](0x0,0x3)[_0x3ad41e(0x18b)](([_0x3917d4,_0x137f01])=>{const _0x2d9944=_0x3ad41e;_0x138b4f[_0x2d9944(0x174)]('\x20\x20\x20\x20•\x20'+_0x3917d4+_0x2d9944(0x110)+_0x137f01[_0x2d9944(0x16d)]+_0x2d9944(0x149));})),_0x138b4f[_0x3ad41e(0x174)](_0x3ad41e(0x126))),_0x138b4f[_0x3ad41e(0x176)]('\x0a');}[a0_0x1a1f34(0x1a9)](_0x35a61e){const _0x57b7d9=a0_0x1a1f34,_0x481378=[];_0x481378[_0x57b7d9(0x174)](_0x57b7d9(0x135)),_0x481378[_0x57b7d9(0x174)](_0x57b7d9(0x17c)),_0x481378[_0x57b7d9(0x174)]('📈\x20Statistics:'),_0x481378['push'](_0x57b7d9(0x164)+_0x35a61e[_0x57b7d9(0x1aa)]['totalFiles']),_0x481378['push'](_0x57b7d9(0x11d)+_0x35a61e['summary']['totalImports']),_0x481378['push']('\x20\x20•\x20Total\x20exports:\x20'+_0x35a61e[_0x57b7d9(0x1aa)]['totalExports']+'\x0a');if(_0x35a61e[_0x57b7d9(0x18e)][_0x57b7d9(0x16d)]>0x0){_0x481378[_0x57b7d9(0x174)](_0x57b7d9(0x19e)),_0x481378[_0x57b7d9(0x174)]('─────────────────');const _0x3d7ab6={};_0x35a61e[_0x57b7d9(0x18e)]['forEach'](_0x2f7a17=>{const _0x179d86=_0x57b7d9;!_0x3d7ab6[_0x2f7a17[_0x179d86(0x134)]]&&(_0x3d7ab6[_0x2f7a17['importingFile']]=[]),_0x3d7ab6[_0x2f7a17['importingFile']]['push'](_0x2f7a17);}),Object[_0x57b7d9(0x165)](_0x3d7ab6)['forEach'](([_0x358bbb,imports])=>{const _0x50c4a1=_0x57b7d9;_0x481378['push'](_0x50c4a1(0x114)+_0x358bbb+':'),imports['forEach'](_0x2021fd=>{const _0x26e74e=_0x50c4a1,importType=_0x2021fd[_0x26e74e(0x193)]?'default':_0x2021fd['isNamespace']?'namespace':_0x26e74e(0x132);_0x481378[_0x26e74e(0x174)](_0x26e74e(0x179)+_0x2021fd[_0x26e74e(0x184)]),_0x481378['push']('\x20\x20\x20\x20\x20\x20Trying\x20to\x20import:\x20'+_0x2021fd[_0x26e74e(0x158)]+'\x20('+importType+')'),_0x481378['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Check\x20if\x20file\x20exists\x20or\x20correct\x20the\x20import\x20path');});});}Object[_0x57b7d9(0x18f)](_0x35a61e[_0x57b7d9(0x190)])['length']>0x0&&(_0x481378[_0x57b7d9(0x174)]('\x0a⚠️\x20\x20MISSING\x20EXPORTS'),_0x481378['push']('──────────────────'),Object[_0x57b7d9(0x165)](_0x35a61e[_0x57b7d9(0x190)])['forEach'](([_0x595e14,_0x5e3975])=>{const _0x4bf6aa=_0x57b7d9;_0x481378[_0x4bf6aa(0x174)](_0x4bf6aa(0x114)+_0x595e14+':'),_0x5e3975[_0x4bf6aa(0x18b)](_0x3bd9aa=>{const _0x17822b=_0x4bf6aa,importType=_0x3bd9aa['isDefault']?'default':_0x3bd9aa['isNamespace']?'namespace':'named';_0x481378['push']('\x20\x20\x20❌\x20Symbol\x20not\x20exported:\x20\x22'+_0x3bd9aa[_0x17822b(0x158)]+_0x17822b(0x14b)+importType+')'),_0x481378[_0x17822b(0x174)](_0x17822b(0x1a0)+_0x3bd9aa[_0x17822b(0x184)]);if(_0x3bd9aa[_0x17822b(0x16a)][_0x17822b(0x16d)]>0x0){_0x481378['push']('\x20\x20\x20\x20\x20\x20📤\x20Available\x20exports:\x20'+_0x3bd9aa['availableExports'][_0x17822b(0x176)](',\x20'));if(_0x3bd9aa['isDefault']&&_0x3bd9aa['availableExports']['includes']('default'))_0x481378[_0x17822b(0x174)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Default\x20export\x20exists,\x20check\x20import\x20syntax');else{if(_0x3bd9aa[_0x17822b(0x193)]&&!_0x3bd9aa['availableExports'][_0x17822b(0x196)]('default'))_0x481378['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20No\x20default\x20export.\x20Use\x20named\x20import:\x20{\x20'+(_0x3bd9aa[_0x17822b(0x16a)][0x0]||'symbolName')+'\x20}');else{const _0x1e594b=_0x3bd9aa['availableExports']['find'](_0x499bf3=>_0x499bf3[_0x17822b(0x175)]()===_0x3bd9aa[_0x17822b(0x158)]['toLowerCase']());_0x1e594b?_0x481378[_0x17822b(0x174)](_0x17822b(0x18a)+_0x1e594b+'\x22?\x20(case\x20mismatch)'):_0x481378['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20export\x20for\x20\x22'+_0x3bd9aa['importedSymbol']+'\x22\x20or\x20use\x20one\x20of\x20the\x20available\x20exports');}}}else _0x481378['push'](_0x17822b(0x185)),_0x481378[_0x17822b(0x174)]('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Add\x20exports\x20to\x20'+_0x3bd9aa[_0x17822b(0x184)]+'\x20or\x20check\x20if\x20it\x27s\x20the\x20correct\x20file');});}));_0x35a61e[_0x57b7d9(0x11e)]&&_0x35a61e['circularDependencies'][_0x57b7d9(0x16d)]>0x0&&(_0x481378['push']('\x0a🔄\x20CIRCULAR\x20DEPENDENCIES'),_0x481378[_0x57b7d9(0x174)](_0x57b7d9(0x162)),_0x35a61e['circularDependencies']['forEach']((_0x51ebec,_0x248be1)=>{const _0x1f0424=_0x57b7d9;_0x481378['push'](_0x1f0424(0x167)+(_0x248be1+0x1)+':'),_0x51ebec[_0x1f0424(0x18b)]((_0x5ab1d1,_0x11d574)=>{const _0x1ede9e=_0x1f0424;_0x11d574<_0x51ebec[_0x1ede9e(0x16d)]-0x1&&_0x481378[_0x1ede9e(0x174)]('\x20\x20\x20\x20'+_0x5ab1d1+_0x1ede9e(0x10f)+_0x51ebec[_0x11d574+0x1]);}),_0x481378['push'](_0x1f0424(0x16c));}));_0x35a61e[_0x57b7d9(0x145)]&&Object['keys'](_0x35a61e['unusedExports'])[_0x57b7d9(0x16d)]>0x0&&(_0x481378[_0x57b7d9(0x174)]('\x0a🗑️\x20\x20POTENTIALLY\x20UNUSED\x20EXPORTS'),_0x481378['push']('──────────────────────────────'),Object[_0x57b7d9(0x165)](_0x35a61e['unusedExports'])[_0x57b7d9(0x13d)](0x0,0xa)[_0x57b7d9(0x18b)](([_0x3019bc,exports])=>{const _0x35ff03=_0x57b7d9;_0x481378['push'](_0x35ff03(0x114)+_0x3019bc+':'),_0x481378['push']('\x20\x20\x20Unused:\x20'+exports[_0x35ff03(0x176)](',\x20'));}),_0x481378['push']('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x481378['push'](_0x57b7d9(0x15b)));_0x481378[_0x57b7d9(0x174)](_0x57b7d9(0x16e)),_0x481378['push'](_0x57b7d9(0x18c));const _0x3945ae=_0x35a61e[_0x57b7d9(0x18e)]['length']+Object[_0x57b7d9(0x118)](_0x35a61e[_0x57b7d9(0x190)])['reduce']((_0x537aea,_0x127599)=>_0x537aea+_0x127599['length'],0x0);return _0x3945ae===0x0?_0x481378['push']('\u2705 Your import/export structure looks good!'):(_0x481378['push'](_0x57b7d9(0x15d)+_0x3945ae+_0x57b7d9(0x18d)),_0x35a61e[_0x57b7d9(0x18e)]['length']>0x0&&_0x481378[_0x57b7d9(0x174)]('\x20\x201.\x20Fix\x20'+_0x35a61e[_0x57b7d9(0x18e)]['length']+'\x20missing\x20file\x20reference(s)'),Object['keys'](_0x35a61e['missingExports'])[_0x57b7d9(0x16d)]>0x0&&_0x481378['push'](_0x57b7d9(0x14c)+Object[_0x57b7d9(0x118)](_0x35a61e['missingExports'])[_0x57b7d9(0x171)]((_0x233fa6,_0x543654)=>_0x233fa6+_0x543654[_0x57b7d9(0x16d)],0x0)+'\x20missing\x20export(s)'),_0x35a61e['circularDependencies']&&_0x35a61e[_0x57b7d9(0x11e)]['length']>0x0&&_0x481378[_0x57b7d9(0x174)]('\x20\x203.\x20Refactor\x20'+_0x35a61e['circularDependencies'][_0x57b7d9(0x16d)]+'\x20circular\x20dependency\x20chain(s)')),_0x481378[_0x57b7d9(0x176)]('\x0a');}}function a0_0x194e(_0xaa4541,_0x1ea1da){_0xaa4541=_0xaa4541-0x10d;const _0x143575=a0_0x1435();let _0x194e9b=_0x143575[_0xaa4541];if(a0_0x194e['ykcllz']===undefined){var _0x332140=function(_0x3be272){const _0x4d3e00='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xda8eb7='',_0x1b3758='';for(let _0x590460=0x0,_0x4386e9,_0xca8948,_0x1ba1e4=0x0;_0xca8948=_0x3be272['charAt'](_0x1ba1e4++);~_0xca8948&&(_0x4386e9=_0x590460%0x4?_0x4386e9*0x40+_0xca8948:_0xca8948,_0x590460++%0x4)?_0xda8eb7+=String['fromCharCode'](0xff&_0x4386e9>>(-0x2*_0x590460&0x6)):0x0){_0xca8948=_0x4d3e00['indexOf'](_0xca8948);}for(let _0x504dbe=0x0,_0x32bcc5=_0xda8eb7['length'];_0x504dbe<_0x32bcc5;_0x504dbe++){_0x1b3758+='%'+('00'+_0xda8eb7['charCodeAt'](_0x504dbe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b3758);};a0_0x194e['bDYOWh']=_0x332140,a0_0x194e['vctlGS']={},a0_0x194e['ykcllz']=!![];}const _0x122c40=_0x143575[0x0],_0x5032e4=_0xaa4541+_0x122c40,_0x45c693=a0_0x194e['vctlGS'][_0x5032e4];return!_0x45c693?(_0x194e9b=a0_0x194e['bDYOWh'](_0x194e9b),a0_0x194e['vctlGS'][_0x5032e4]=_0x194e9b):_0x194e9b=_0x45c693,_0x194e9b;}class ImportExportAnalyzer{constructor(_0x3973d4,_0x2d14d7='.gitignore',_0x3ab7ae=null){const _0x56b5f5=a0_0x1a1f34;this[_0x56b5f5(0x17b)]=a0_0x1b3758['resolve'](_0x3973d4),this['ignoreFile']=_0x2d14d7,this['logger']=_0x3ab7ae,this['ignorePatterns']=[...ANALYZER_CONFIG['DEFAULT_IGNORE_PATTERNS']],this['imports']=[],this['exports']=new Map(),this['dependencies']=new Map();}async[a0_0x1a1f34(0x1ad)](){const _0xc4f03f=a0_0x1a1f34;try{const _0x27bc74=a0_0x1b3758[_0xc4f03f(0x176)](this[_0xc4f03f(0x17b)],this['ignoreFile']),_0x4a4b2f=await a0_0xda8eb7[_0xc4f03f(0x151)](_0x27bc74,'utf-8'),_0x1c997b=_0x4a4b2f['split']('\x0a')[_0xc4f03f(0x160)](_0x4767b0=>_0x4767b0[_0xc4f03f(0x12f)]())['filter'](_0x232e6d=>_0x232e6d&&!_0x232e6d['startsWith']('#'));this[_0xc4f03f(0x154)]['push'](..._0x1c997b),this['logger']?.[_0xc4f03f(0x14f)]('Loaded\x20ignore\x20patterns',{'count':_0x1c997b[_0xc4f03f(0x16d)]});}catch{this[_0xc4f03f(0x125)]?.['debug']('No ignore file found, using defaults');}}[a0_0x1a1f34(0x186)](_0x4ce776){const _0x2b5120=a0_0x1a1f34,_0x1f069a=a0_0x1b3758['relative'](this[_0x2b5120(0x17b)],_0x4ce776);return this[_0x2b5120(0x154)]['some'](_0xf30c42=>{const _0x19811a=_0x2b5120;if(_0xf30c42['includes']('*')){const _0x20d7cc=new RegExp(_0xf30c42[_0x19811a(0x11a)](/\*/g,'.*'));return _0x20d7cc[_0x19811a(0x1a5)](_0x1f069a)||_0x20d7cc['test'](a0_0x1b3758['basename'](_0x4ce776));}return _0x1f069a['includes'](_0xf30c42)||a0_0x1b3758[_0x19811a(0x19f)](_0x4ce776)===_0xf30c42;});}async[a0_0x1a1f34(0x15a)](_0xdbc998){const _0x110dbd=a0_0x1a1f34,_0x33c64c=[],_0x555d28=async _0x2cde1c=>{const _0xa1cd1b=a0_0x194e;try{const _0x2c831f=await a0_0xda8eb7[_0xa1cd1b(0x19d)](_0x2cde1c,{'withFileTypes':!![]});for(const _0x1b96fc of _0x2c831f){const _0x1bf02a=a0_0x1b3758['join'](_0x2cde1c,_0x1b96fc['name']);if(this['shouldIgnoreFile'](_0x1bf02a))continue;if(_0x1b96fc[_0xa1cd1b(0x131)]())await _0x555d28(_0x1bf02a);else{if(_0x1b96fc[_0xa1cd1b(0x191)]()){const _0x342e67=a0_0x1b3758['extname'](_0x1b96fc['name']);ANALYZER_CONFIG['SUPPORTED_EXTENSIONS'][_0xa1cd1b(0x196)](_0x342e67)&&_0x33c64c[_0xa1cd1b(0x174)](_0x1bf02a);}}}}catch(_0x7b5101){this['logger']?.['warn']('Cannot\x20read\x20directory',{'dir':_0x2cde1c,'error':_0x7b5101['message']});}};await _0x555d28(_0xdbc998);if(_0x33c64c['length']>ANALYZER_CONFIG[_0x110dbd(0x187)]){this[_0x110dbd(0x125)]?.['warn']('File\x20count\x20exceeds\x20limit:\x20'+_0x33c64c[_0x110dbd(0x16d)]+_0x110dbd(0x141)+ANALYZER_CONFIG['MAX_FILES']);throw new Error(_0x110dbd(0x113)+_0x33c64c[_0x110dbd(0x16d)]+_0x110dbd(0x12b)+ANALYZER_CONFIG[_0x110dbd(0x187)]+')');}return _0x33c64c;}async['parseImports'](_0x18ea26,_0x1eb87f){const _0x3304cd=a0_0x1a1f34,imports=[],_0x243dba=_0x18ea26['split']('\x0a'),_0x5d8349=this[_0x3304cd(0x12a)](_0x1eb87f);!this[_0x3304cd(0x128)][_0x3304cd(0x169)](_0x5d8349)&&this['dependencies']['set'](_0x5d8349,new Set());for(let _0x3c535d=0x0;_0x3c535d<_0x243dba['length'];_0x3c535d++){const _0xfb9612=_0x243dba[_0x3c535d][_0x3304cd(0x12f)]();if(_0xfb9612[_0x3304cd(0x13c)]('//')||_0xfb9612['startsWith']('/*'))continue;let _0x3132bb=_0xfb9612,_0xaf82aa=_0x3c535d;while(!_0x3132bb['includes'](';')&&!_0x3132bb[_0x3304cd(0x136)](/from\s+['"`][^'"`]+['"`]/)&&_0xaf82aa<_0x243dba[_0x3304cd(0x16d)]-0x1){_0xaf82aa++;const _0x4fbf6e=_0x243dba[_0xaf82aa]['trim']();if(_0x4fbf6e[_0x3304cd(0x13c)]('//')||_0x4fbf6e[_0x3304cd(0x13c)]('/*'))continue;_0x3132bb+='\x20'+_0x4fbf6e;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0x4a2602;while((_0x4a2602=importRegex['exec'](_0x3132bb))!==null){const [,_0x56f03d,defaultImport,_0x17ebe9,_0x352fc6,_0x5a52ee]=_0x4a2602,_0x33ba57=await this[_0x3304cd(0x182)](_0x5a52ee,_0x1eb87f);!_0x33ba57[_0x3304cd(0x144)]&&_0x33ba57['exists']&&this[_0x3304cd(0x128)][_0x3304cd(0x195)](_0x5d8349)['add'](_0x33ba57['path']);defaultImport&&imports['push']({'importingFile':_0x5d8349,'importedSymbol':defaultImport['trim'](),'importedFromFile':_0x33ba57['path'],'fileExists':_0x33ba57[_0x3304cd(0x121)],'isExternal':_0x33ba57['isExternal']||![],'isDefault':!![]});_0x352fc6&&imports['push']({'importingFile':_0x5d8349,'importedSymbol':_0x352fc6[_0x3304cd(0x12f)](),'importedFromFile':_0x33ba57[_0x3304cd(0x1ab)],'fileExists':_0x33ba57['exists'],'isExternal':_0x33ba57['isExternal']||![],'isNamespace':!![]});const _0x50b83e=[_0x56f03d,_0x17ebe9]['filter'](Boolean)['join'](',');if(_0x50b83e){const _0x1682d8=_0x50b83e['split'](',')[_0x3304cd(0x160)](_0x14a750=>{const _0x1f30ae=_0x3304cd,_0x343238=_0x14a750['trim']()[_0x1f30ae(0x143)](/\s+as\s+/);return _0x343238[0x0]['trim']();});_0x1682d8[_0x3304cd(0x18b)](_0x195a43=>{const _0x419c4d=_0x3304cd;_0x195a43&&imports['push']({'importingFile':_0x5d8349,'importedSymbol':_0x195a43,'importedFromFile':_0x33ba57['path'],'fileExists':_0x33ba57[_0x419c4d(0x121)],'isExternal':_0x33ba57[_0x419c4d(0x144)]||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0x4a2602=requireRegex['exec'](_0x3132bb))!==null){const [,_0x40cd47,_0x3e30e5,_0x2b65e4]=_0x4a2602,_0x1bf213=await this['resolveImportPath'](_0x2b65e4,_0x1eb87f);!_0x1bf213['isExternal']&&_0x1bf213[_0x3304cd(0x121)]&&this['dependencies']['get'](_0x5d8349)[_0x3304cd(0x138)](_0x1bf213[_0x3304cd(0x1ab)]);if(_0x40cd47){const _0x5d3d11=_0x40cd47[_0x3304cd(0x143)](',')['map'](_0x2353f1=>_0x2353f1[_0x3304cd(0x12f)]()[_0x3304cd(0x143)](':')[0x0][_0x3304cd(0x12f)]());_0x5d3d11['forEach'](_0x22a826=>{const _0x56439b=_0x3304cd;_0x22a826&&imports['push']({'importingFile':_0x5d8349,'importedSymbol':_0x22a826,'importedFromFile':_0x1bf213['path'],'fileExists':_0x1bf213[_0x56439b(0x121)],'isExternal':_0x1bf213['isExternal']||![],'isDefault':![]});});}else _0x3e30e5&&imports[_0x3304cd(0x174)]({'importingFile':_0x5d8349,'importedSymbol':_0x3e30e5['trim'](),'importedFromFile':_0x1bf213[_0x3304cd(0x1ab)],'fileExists':_0x1bf213['exists'],'isExternal':_0x1bf213['isExternal']||![],'isDefault':!![]});}_0x3c535d=_0xaf82aa;}return imports;}[a0_0x1a1f34(0x1a2)](_0x258632){const _0x22e3e4=a0_0x1a1f34,exports=new Set(),_0x5bca3d=_0x258632['split']('\x0a');for(const _0x2de87d of _0x5bca3d){const _0x1af451=_0x2de87d[_0x22e3e4(0x12f)]();if(_0x1af451['startsWith']('//')||_0x1af451[_0x22e3e4(0x13c)]('/*'))continue;/export\s+default\s+/['test'](_0x1af451)&&exports['add']('default');const _0x274849=_0x1af451[_0x22e3e4(0x136)](/export\s+\{([^}]+)\}/);if(_0x274849){const _0x453e81=_0x274849[0x1][_0x22e3e4(0x143)](',')['map'](_0x53b69e=>{const _0x365a88=_0x22e3e4,_0x1a06b4=_0x53b69e['trim']()[_0x365a88(0x143)](/\s+as\s+/);return _0x1a06b4[_0x1a06b4[_0x365a88(0x16d)]-0x1][_0x365a88(0x12f)]();});_0x453e81[_0x22e3e4(0x18b)](_0x48675e=>exports[_0x22e3e4(0x138)](_0x48675e));}const _0x228a46=_0x1af451['match'](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x228a46&&exports[_0x22e3e4(0x138)](_0x228a46[0x1]);const exportFromMatch=_0x1af451['match'](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0x2fc4d2=exportFromMatch[0x1]['split'](',')[_0x22e3e4(0x160)](_0x819f1b=>{const _0x35ad0b=_0x22e3e4,_0x19cd84=_0x819f1b[_0x35ad0b(0x12f)]()[_0x35ad0b(0x143)](/\s+as\s+/);return _0x19cd84[_0x19cd84[_0x35ad0b(0x16d)]-0x1]['trim']();});_0x2fc4d2[_0x22e3e4(0x18b)](_0x13894=>exports[_0x22e3e4(0x138)](_0x13894));}/export\s+\*\s+from/[_0x22e3e4(0x1a5)](_0x1af451)&&exports['add']('*');const moduleExportsMatch=_0x1af451[_0x22e3e4(0x136)](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x17c4c6=moduleExportsMatch[0x1]['split'](',')['map'](_0x4dbac4=>{const _0x5b9047=_0x22e3e4,_0x5c500f=_0x4dbac4[_0x5b9047(0x12f)]()[_0x5b9047(0x143)](':');return _0x5c500f[0x0][_0x5b9047(0x12f)]();});_0x17c4c6['forEach'](_0x981ecd=>exports['add'](_0x981ecd));}/module\.exports\s*=\s*[^{]/[_0x22e3e4(0x1a5)](_0x1af451)&&exports['add']('default');const moduleExportsPropMatch=_0x1af451['match'](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports['add'](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0x1af451[_0x22e3e4(0x136)](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports[_0x22e3e4(0x138)](exportsPropMatch[0x1]);}return exports;}async['resolveImportPath'](importPath,_0x42c3c2){const _0x39fa61=a0_0x1a1f34;if(importPath[_0x39fa61(0x13c)]('.')){const _0x29df4f=a0_0x1b3758['dirname'](_0x42c3c2),_0x32c6f5=a0_0x1b3758[_0x39fa61(0x157)](_0x29df4f,importPath);if(a0_0x1b3758[_0x39fa61(0x189)](importPath))try{const _0x467ee0=await a0_0xda8eb7['stat'](_0x32c6f5);if(_0x467ee0[_0x39fa61(0x191)]())return{'path':this[_0x39fa61(0x12a)](_0x32c6f5),'exists':!![]};}catch{}const _0x178702=['','.js','.mjs','.ts',_0x39fa61(0x146),_0x39fa61(0x142),_0x39fa61(0x127),'/index.ts',_0x39fa61(0x14d),_0x39fa61(0x153)];for(const _0x22d3d7 of _0x178702){const _0x4b8fb3=_0x32c6f5+_0x22d3d7;try{const _0x5ccb6a=await a0_0xda8eb7[_0x39fa61(0x1a3)](_0x4b8fb3);if(_0x5ccb6a['isFile']())return{'path':this['getRelativePath'](_0x4b8fb3),'exists':!![]};}catch{}}return{'path':this['getRelativePath'](_0x32c6f5),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}['getRelativePath'](_0x53acc3){const _0x2f8c3e=a0_0x1a1f34;return a0_0x1b3758['relative'](this[_0x2f8c3e(0x17b)],_0x53acc3)['replace'](/\\/g,'/');}['findCircularDependencies'](){const _0x4f9a9d=a0_0x1a1f34,_0x395aad=[],_0x14beb4=new Set(),_0xfc83e0=new Set(),_0x458eb9=(_0x108769,_0x36578a=[])=>{const _0x4ad490=a0_0x194e;if(_0xfc83e0[_0x4ad490(0x169)](_0x108769)){const _0x295889=_0x36578a[_0x4ad490(0x197)](_0x108769);_0x295889!==-0x1&&_0x395aad[_0x4ad490(0x174)]([..._0x36578a[_0x4ad490(0x13d)](_0x295889),_0x108769]);return;}if(_0x14beb4[_0x4ad490(0x169)](_0x108769))return;_0x14beb4[_0x4ad490(0x138)](_0x108769),_0xfc83e0['add'](_0x108769),_0x36578a['push'](_0x108769);const _0x2e94e1=this[_0x4ad490(0x128)]['get'](_0x108769)||new Set();for(const _0x457b32 of _0x2e94e1){_0x458eb9(_0x457b32,[..._0x36578a]);}_0xfc83e0['delete'](_0x108769);};for(const _0x49ab39 of this['dependencies'][_0x4f9a9d(0x18f)]()){!_0x14beb4['has'](_0x49ab39)&&_0x458eb9(_0x49ab39);}return _0x395aad;}['findUnusedExports'](){const _0x2fede1=a0_0x1a1f34,_0x3c3c63=new Map();for(const _0x453385 of this[_0x2fede1(0x1a8)]){!_0x453385[_0x2fede1(0x144)]&&(!_0x3c3c63[_0x2fede1(0x169)](_0x453385[_0x2fede1(0x184)])&&_0x3c3c63[_0x2fede1(0x161)](_0x453385[_0x2fede1(0x184)],new Set()),_0x3c3c63['get'](_0x453385[_0x2fede1(0x184)])[_0x2fede1(0x138)](_0x453385['importedSymbol']));}const _0x1a5971={};for(const [_0x3d0e10,exports]of this[_0x2fede1(0x14e)]['entries']()){const _0xbb3d4d=_0x3c3c63[_0x2fede1(0x195)](_0x3d0e10)||new Set(),_0x3b8169=Array[_0x2fede1(0x120)](exports)['filter'](_0x1d935f=>!_0xbb3d4d['has'](_0x1d935f)&&_0x1d935f!=='*');_0x3b8169['length']>0x0&&(_0x1a5971[_0x3d0e10]=_0x3b8169);}return _0x1a5971;}async['analyze'](_0x3752fb=a0_0x1a1f34(0x173)){const _0x511fc4=a0_0x1a1f34;this['logger']?.['info']('Starting import analysis',{'mode':_0x3752fb,'rootDir':this[_0x511fc4(0x17b)]}),await this[_0x511fc4(0x1ad)]();const _0x59780d=await this['getAllFiles'](this['rootDir']);this[_0x511fc4(0x125)]?.['info']('Found\x20files',{'count':_0x59780d['length']});for(const _0x7cfefc of _0x59780d){try{const _0x342f08=await a0_0xda8eb7['readFile'](_0x7cfefc,_0x511fc4(0x17a)),_0x11e7f9=this[_0x511fc4(0x12a)](_0x7cfefc),_0x3a6645=await this[_0x511fc4(0x188)](_0x342f08,_0x7cfefc);this['imports']['push'](..._0x3a6645);const _0x4456b2=this[_0x511fc4(0x1a2)](_0x342f08);this['exports']['set'](_0x11e7f9,_0x4456b2);}catch(_0x4f4056){this['logger']?.[_0x511fc4(0x199)](_0x511fc4(0x15f),{'file':_0x7cfefc,'error':_0x4f4056['message']});}}this['logger']?.['info']('Parsed\x20all\x20files',{'imports':this['imports']['length'],'exports':this[_0x511fc4(0x14e)]['size']});const _0x44bc11={'summary':{'totalFiles':_0x59780d[_0x511fc4(0x16d)],'totalImports':this[_0x511fc4(0x1a8)]['length'],'totalExports':Array['from'](this['exports']['values']())['reduce']((_0x35a4f8,exports)=>_0x35a4f8+exports['size'],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this[_0x511fc4(0x1a8)]){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0x260ae9,isNamespace:_0x277d50,fileExists:_0x10d16f,isExternal:_0x29a8b1}=importEntry;if(!_0x10d16f&&!_0x29a8b1){_0x44bc11['fileNotFoundImports'][_0x511fc4(0x174)]({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0x260ae9||![],'isNamespace':_0x277d50||![]});!_0x44bc11['missingFiles'][importingFile]&&(_0x44bc11['missingFiles'][importingFile]=[]);_0x44bc11['missingFiles'][importingFile][_0x511fc4(0x174)]({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0x260ae9||![],'isNamespace':_0x277d50||![]});continue;}if(_0x29a8b1)continue;const exportingFileExports=this[_0x511fc4(0x14e)][_0x511fc4(0x195)](importedFromFile);let _0x59b9b1=![];if(exportingFileExports){if(_0x277d50)_0x59b9b1=exportingFileExports['size']>0x0;else _0x260ae9?_0x59b9b1=exportingFileExports['has']('default'):_0x59b9b1=exportingFileExports[_0x511fc4(0x169)](importedSymbol)||exportingFileExports[_0x511fc4(0x169)]('*');}!_0x59b9b1&&(!_0x44bc11['missingExports'][importingFile]&&(_0x44bc11[_0x511fc4(0x190)][importingFile]=[]),_0x44bc11[_0x511fc4(0x190)][importingFile]['push']({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array['from'](exportingFileExports):[],'isDefault':_0x260ae9||![],'isNamespace':_0x277d50||![]}));}return(_0x3752fb===_0x511fc4(0x173)||_0x3752fb===_0x511fc4(0x117))&&(this[_0x511fc4(0x125)]?.[_0x511fc4(0x111)]('Running\x20full\x20analysis'),_0x44bc11['circularDependencies']=this['findCircularDependencies'](),_0x44bc11['unusedExports']=this[_0x511fc4(0x11b)]()),this[_0x511fc4(0x125)]?.[_0x511fc4(0x111)]('Analysis\x20complete',{'missingFiles':_0x44bc11['fileNotFoundImports'][_0x511fc4(0x16d)],'missingExports':Object[_0x511fc4(0x18f)](_0x44bc11[_0x511fc4(0x190)])[_0x511fc4(0x16d)]}),_0x44bc11;}}export default ImportAnalyzerTool;
|
package/src/tools/jobDoneTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x53c4(_0x5596d1,_0x422b0c){_0x5596d1=_0x5596d1-0x10a;const _0x4d432e=a0_0x4d43();let _0x53c402=_0x4d432e[_0x5596d1];if(a0_0x53c4['ADHDKk']===undefined){var _0x4cfcc8=function(_0x4911c1){const _0x4249ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fc0a3='',_0x10ccd3='';for(let _0x4cea06=0x0,_0x568feb,_0x5b75b5,_0x16c43e=0x0;_0x5b75b5=_0x4911c1['charAt'](_0x16c43e++);~_0x5b75b5&&(_0x568feb=_0x4cea06%0x4?_0x568feb*0x40+_0x5b75b5:_0x5b75b5,_0x4cea06++%0x4)?_0x4fc0a3+=String['fromCharCode'](0xff&_0x568feb>>(-0x2*_0x4cea06&0x6)):0x0){_0x5b75b5=_0x4249ab['indexOf'](_0x5b75b5);}for(let _0x5a0f1f=0x0,_0x4822b4=_0x4fc0a3['length'];_0x5a0f1f<_0x4822b4;_0x5a0f1f++){_0x10ccd3+='%'+('00'+_0x4fc0a3['charCodeAt'](_0x5a0f1f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x10ccd3);};a0_0x53c4['psSdDU']=_0x4cfcc8,a0_0x53c4['PefDht']={},a0_0x53c4['ADHDKk']=!![];}const _0x55fa92=_0x4d432e[0x0],_0x2268d4=_0x5596d1+_0x55fa92,_0x3808b6=a0_0x53c4['PefDht'][_0x2268d4];return!_0x3808b6?(_0x53c402=a0_0x53c4['psSdDU'](_0x53c402),a0_0x53c4['PefDht'][_0x2268d4]=_0x53c402):_0x53c402=_0x3808b6,_0x53c402;}const a0_0x273914=a0_0x53c4;(function(_0x1c766e,_0x5b29a9){const _0x117ecc=a0_0x53c4,_0x477a58=_0x1c766e();while(!![]){try{const _0x5f0aab=parseInt(_0x117ecc(0x127))/0x1*(parseInt(_0x117ecc(0x137))/0x2)+-parseInt(_0x117ecc(0x118))/0x3*(-parseInt(_0x117ecc(0x130))/0x4)+parseInt(_0x117ecc(0x132))/0x5+parseInt(_0x117ecc(0x12e))/0x6+parseInt(_0x117ecc(0x10a))/0x7+-parseInt(_0x117ecc(0x113))/0x8*(-parseInt(_0x117ecc(0x11d))/0x9)+-parseInt(_0x117ecc(0x12a))/0xa;if(_0x5f0aab===_0x5b29a9)break;else _0x477a58['push'](_0x477a58['shift']());}catch(_0x4d30bd){_0x477a58['push'](_0x477a58['shift']());}}}(a0_0x4d43,0x69335));import{BaseTool}from'./baseTool.js';function a0_0x4d43(){const _0x280062=['mtq3otK0otbyAgDWDhi','C3rYAw5N','AxnbCNjHEq','qwn0Aw9UCYbHCNjHEsbPCYbYzxf1AxjLza','ntKYmdi2te9rzLDu','BMfTzq','mte4mtK0nhrcDw5pzq','z2v0qwDLBNq','mtaXndeWnwHkuvbdvG','DhjPBq','DMvYC2LVBG','cKPVyIbeB25LifrVB2W6ifnPz25HBcb0yxnRignVBxbSzxrPB24GAw4Gyxv0B25VBw91CYbTB2rLigfUzcbLEgL0ihrVignOyxqGBw9Kzs4kcLvtquDfoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMPVyMrVBMuIlaOGicjHy3rPB25ZiJOGw3SkicaGicjHy3rPB24IoIaIy29TCgXLDguIlaOGicaGiNn1Bw1HCNKIoIaIvgfZAYbJB21WBgv0Aw9Uihn1Bw1HCNKIlaOGicaGiNn1y2nLC3mIoIb0CNvLlaOGicaGiMrLDgfPBhmIoIaIt3b0Aw9UywWGywrKAxrPB25HBcbKzxrHAwXZiGOGih1DcN0kygbGcGPqqvjbtuvurvjtoGOTigfJDgLVBJOGqwX3yxLZicjJB21WBgv0zsiklsbZDw1Tyxj5oIbdBgvHCIbZDw1Tyxj5ig9MihDOyxqGD2fZigfJy29TCgXPC2HLzcbpuIb3Agf0ihbYzxzLBNrLzcbJB21WBgv0Aw9UicHYzxf1AxjLzcKklsbZDwnJzxnZoIb0CNvLigLMignVBxbSzxrLzcbZDwnJzxnZzNvSBhKSigzHBhnLigLMihn0DwnRl2zHAwXLzcaOzgvMyxvSDdOGDhj1zsKklsbKzxrHAwXZoIbpChrPB25HBcbHzgrPDgLVBMfSigLUzM9YBwf0Aw9UigfIB3v0ihrOzsb0yxnRcGPfwefnueXfuZOkcJeUifn1y2nLC3nMDwWGy29TCgXLDgLVBJOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjQB2jKB25LiIWkicaIywn0Aw9UCYi6ifT7cIaGicaIywn0Aw9UiJOGiMnVBxbSzxrLiIWkicaGicjZDw1Tyxj5iJOGiKnYzwf0zwqGnsbZB25NigzPBgvZihn1y2nLC3nMDwXSEsb3AxrOigX5CMLJCYbHBMqGBwvSB2rPzxmIlaOGicaGiNn1y2nLC3mIoIb0CNvLcIaGFv0kFqPGygakcJiUifvUywjSzsb0BYbWCM9JzwvKoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMPVyMrVBMuIlaOGicjHy3rPB25ZiJOGw3SkicaGicjHy3rPB24IoIaIy29TCgXLDguIlaOGicaGiNn1Bw1HCNKIoIaIvw5HyMXLihrVihbYB2nLzwq6ig1PC3nPBMCGqvbjignYzwrLBNrPywXZigzVCIb0AguGC2vYDMLJzsiScIaGicaIC3vJy2vZCYi6igzHBhnLcIaGFv0kFqPGygakcJmUifbHCNrPywWGy29TCgXLDgLVBJOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjQB2jKB25LiIWkicaIywn0Aw9UCYi6ifT7cIaGicaIywn0Aw9UiJOGiMnVBxbSzxrLiIWkicaGicjZDw1Tyxj5iJOGiLrHC2SGCgfYDgLHBgX5ignVBxbSzxrLoIbPBxbSzw1LBNrLzcaYig9MidmGCMvXDwvZDgvKigzLyxr1CMvZiIWkicaGicjZDwnJzxnZiJOGzMfSC2uScIaGicaIzgv0ywLSCYi6icjuAguGDgHPCMqGzMvHDhvYzsbYzxf1AxjLCYbHzgrPDgLVBMfSigrLCgvUzgvUy2LLCYbUB3qGyxzHAwXHyMXLiGOGih1DcN0kygbGcGPxsevoifrpifvtrtOklsbdywXSihDOzw4GEw91igHHDMuGu1vdq0vtu0zvteXzignVBxbSzxrLzcb0AguGyxnZAwDUzwqGDgfZAWOTienHBgWGAwyGEw91igfYzsbtvfvdsYbVCIbvtKfcteuGDg8GChjVy2vLzcbHzNrLCIbTDwX0AxbSzsbMywLSzwqGyxr0zw1WDhmklsbuAgLZihDPBgWGAw1TzwrPyxrLBhKGzxHPDcbHDxrVBM9TB3vZig1VzguGyw5KihjLDhvYBIbJB250CM9SihrVihrOzsb1C2vYcIaGica','y29TCgXLDgu','neDVwuLftW','mJi1ota4oxfksgTKwa','vgfZAYbJB21WBgv0zwq','twfYAYb0yxnRigfZignVBxbSzxrLic0GywX3yxLZihvZzsaIy29TCgXLDguI','zgv0ywLSCW','ywn0Aw9U','yxjYyxK','AM9Izg9Uzq','ihn1y2nLC3nMDwXSEq','q29TCgXLDgLVBIbZDw1Tyxj5igLZihjLCxvPCMvK','nde4nJrfCfHvtee','sM9IierVBMu','CgfYC2vqyxjHBwv0zxjZ','cGOQkKrLDgfPBhm6kIOG','BgvUz3rO','m0jXzg1bqq','Dw5RBM93BG','zxH0CMfJDenVBNrLBNq','zgvZy3jPChrPB24','DgfZAY1JB21WBgv0Aw9U','mJC5EfvdCNzH','B2jQzwn0','t3b0Aw9UywW6iefKzgL0Aw9UywWGzgv0ywLSCYbHyM91Dcb3Agf0ihDHCYbKB25Llcb3Agf0igzHAwXLzcWGyw55igzPBgvZignYzwf0zwqSig9Yig5LEhqGC3rLChmGzM9YihrOzsb1C2vY','Dg9ju09tDhjPBMC','yxn5BMm','C3vTBwfYEq','y2fWywjPBgL0AwvZ','ywDLBNrjza','BwvZC2fNzq','sw52ywXPzcbHy3rPB24Uie9UBhKGiMnVBxbSzxrLiIbPCYbZDxbWB3j0zwq','nde0ndyXAgTry0Pn','z2v0u2nOzw1H','ywDLBNrqB29S'];a0_0x4d43=function(){return _0x280062;};return a0_0x4d43();}import a0_0x4fc0a3 from'../utilities/tagParser.js';class JobDoneTool extends BaseTool{constructor(){const _0x3cfaa2=a0_0x53c4;super(),this['id']=_0x3cfaa2(0x110),this[_0x3cfaa2(0x12f)]=_0x3cfaa2(0x114),this[_0x3cfaa2(0x11b)]='Call\x20this\x20tool\x20when\x20you\x20have\x20successfully\x20completed\x20the\x20assigned\x20task,\x20OR\x20if\x20you\x20are\x20stuck/unable\x20to\x20proceed\x20after\x20multiple\x20failed\x20attempts.\x20Provide\x20a\x20summary\x20of\x20what\x20was\x20accomplished\x20or\x20what\x20prevented\x20completion.\x20This\x20will\x20exit\x20autonomous\x20mode\x20and\x20return\x20control\x20to\x20the\x20user.',this[_0x3cfaa2(0x134)]='1.0.0',this[_0x3cfaa2(0x123)]=[_0x3cfaa2(0x11c),'mode-control'],this['requiresProject']=![],this[_0x3cfaa2(0x121)]=![];}['getDescription'](){const _0x49d8b1=a0_0x53c4;return _0x49d8b1(0x135)['trim']();}[a0_0x273914(0x115)](_0x10ccd3){const _0x51ee15=a0_0x273914;try{const _0x4cea06=a0_0x4fc0a3['extractContent'](_0x10ccd3,_0x51ee15(0x122)),_0x568feb=a0_0x4fc0a3[_0x51ee15(0x11a)](_0x10ccd3,_0x51ee15(0x10d)),_0x5b75b5=a0_0x4fc0a3[_0x51ee15(0x11a)](_0x10ccd3,'success');let _0x16c43e='',_0x5a0f1f='',_0x4822b4=!![];return _0x4cea06[_0x51ee15(0x117)]>0x0?(_0x16c43e=_0x4cea06[0x0][_0x51ee15(0x133)](),_0x5a0f1f=_0x568feb['length']>0x0?_0x568feb[0x0]['trim']():'',_0x4822b4=_0x5b75b5['length']>0x0?_0x5b75b5[0x0]['toLowerCase']()!=='false':!![]):_0x16c43e=_0x10ccd3[_0x51ee15(0x133)]()||'Task\x20completed',{'actions':[{'action':'complete','summary':_0x16c43e,'success':_0x4822b4,'details':_0x5a0f1f||undefined}]};}catch(_0x629321){return{'actions':[{'action':'complete','summary':_0x10ccd3[_0x51ee15(0x133)]()||_0x51ee15(0x10b),'success':!![]}]};}}[a0_0x273914(0x128)](){const _0x134967=a0_0x273914;return{'type':_0x134967(0x11e),'properties':{'actions':{'type':_0x134967(0x10f),'items':{'type':_0x134967(0x11e),'properties':{'action':{'type':'string','enum':[_0x134967(0x136)],'description':_0x134967(0x10c)},'summary':{'type':_0x134967(0x12b),'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':'Set\x20to\x20true\x20if\x20task\x20completed\x20successfully,\x20false\x20if\x20stuck/failed\x20or\x20partial\x20completion'},'details':{'type':'string','description':_0x134967(0x11f)}},'required':[_0x134967(0x10e),_0x134967(0x122)],'additionalProperties':![]},'minItems':0x1,'maxItems':0x1}},'required':['actions'],'additionalProperties':![]};}async['execute'](_0x284da2,_0x695b09={}){const _0x2eee0b=a0_0x273914;try{const {actions:_0x47670f}=_0x284da2;if(!_0x47670f||!Array[_0x2eee0b(0x12c)](_0x47670f)||_0x47670f['length']===0x0)throw new Error(_0x2eee0b(0x12d));const _0x48e5a5=_0x47670f[0x0];if(_0x48e5a5['action']!=='complete')throw new Error(_0x2eee0b(0x126));if(!_0x48e5a5['summary'])throw new Error(_0x2eee0b(0x112));const _0x4f65a5=_0x695b09[_0x2eee0b(0x124)];let _0x4a489a='';if(_0x4f65a5&&_0x695b09['toolsRegistry'])try{if(this[_0x2eee0b(0x129)]){const _0x3b55e5=await this[_0x2eee0b(0x129)][_0x2eee0b(0x131)](_0x4f65a5);_0x3b55e5&&(_0x4a489a='\x20by\x20agent\x20\x22'+_0x3b55e5[_0x2eee0b(0x12f)]+'\x22');}}catch(_0x294d63){}const _0x2c17bb='✅\x20Task\x20completed'+_0x4a489a+(_0x48e5a5['success']!==![]?_0x2eee0b(0x111):'\x20with\x20issues')+'\x0a\x0a**Summary:**\x20'+_0x48e5a5[_0x2eee0b(0x122)]+(_0x48e5a5['details']?_0x2eee0b(0x116)+_0x48e5a5['details']:'')+'\x0a\x0a*Autonomous\x20mode\x20will\x20now\x20exit.*';return{'success':!![],'output':_0x2c17bb,'taskComplete':!![],'summary':_0x48e5a5[_0x2eee0b(0x122)],'details':_0x48e5a5['details']||null,'successfulCompletion':_0x48e5a5['success']!==![],'metadata':{'toolId':this['id'],'agentId':_0x4f65a5||_0x2eee0b(0x119),'completedAt':new Date()[_0x2eee0b(0x120)](),'action':_0x48e5a5[_0x2eee0b(0x10e)]}};}catch(_0x3d95ce){return{'success':![],'error':_0x3d95ce['message'],'output':'Failed\x20to\x20mark\x20task\x20as\x20complete:\x20'+_0x3d95ce[_0x2eee0b(0x125)],'taskComplete':![]};}}['setAgentPool'](_0x46b047){const _0x58f2ad=a0_0x273914;this[_0x58f2ad(0x129)]=_0x46b047;}['getCapabilities'](){const _0x419b9d=a0_0x273914;return{'id':this['id'],'name':this['name'],'description':this[_0x419b9d(0x11b)],'version':this['version'],'capabilities':this[_0x419b9d(0x123)],'requiresProject':this['requiresProject'],'async':this[_0x419b9d(0x121)],'enabled':!![],'schema':this['getSchema']()};}}export default JobDoneTool;
|