@loxia-labs/loxia-autopilot-one 1.0.12 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- 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/agentActivityService.js +1 -0
- 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
|
+
function a0_0x16c2(_0x181bac,_0x245f1c){_0x181bac=_0x181bac-0xb8;const _0x3db94f=a0_0x3db9();let _0x16c257=_0x3db94f[_0x181bac];if(a0_0x16c2['DtKzbp']===undefined){var _0x121c22=function(_0x583ef8){const _0x2e5389='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x818870='',_0x3e7cca='';for(let _0x17bca1=0x0,_0x5938c5,_0x234afc,_0x5c20f3=0x0;_0x234afc=_0x583ef8['charAt'](_0x5c20f3++);~_0x234afc&&(_0x5938c5=_0x17bca1%0x4?_0x5938c5*0x40+_0x234afc:_0x234afc,_0x17bca1++%0x4)?_0x818870+=String['fromCharCode'](0xff&_0x5938c5>>(-0x2*_0x17bca1&0x6)):0x0){_0x234afc=_0x2e5389['indexOf'](_0x234afc);}for(let _0x3610b9=0x0,_0x17b479=_0x818870['length'];_0x3610b9<_0x17b479;_0x3610b9++){_0x3e7cca+='%'+('00'+_0x818870['charCodeAt'](_0x3610b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e7cca);};a0_0x16c2['rXesRQ']=_0x121c22,a0_0x16c2['VgZLWQ']={},a0_0x16c2['DtKzbp']=!![];}const _0x5dca33=_0x3db94f[0x0],_0x820db=_0x181bac+_0x5dca33,_0x4c34de=a0_0x16c2['VgZLWQ'][_0x820db];return!_0x4c34de?(_0x16c257=a0_0x16c2['rXesRQ'](_0x16c257),a0_0x16c2['VgZLWQ'][_0x820db]=_0x16c257):_0x16c257=_0x4c34de,_0x16c257;}const a0_0x2112e5=a0_0x16c2;(function(_0x148483,_0x4d4b41){const _0xf43031=a0_0x16c2,_0x4fc47a=_0x148483();while(!![]){try{const _0x4c1f68=parseInt(_0xf43031(0x115))/0x1*(parseInt(_0xf43031(0xb9))/0x2)+parseInt(_0xf43031(0xbd))/0x3+parseInt(_0xf43031(0xfb))/0x4+parseInt(_0xf43031(0xda))/0x5*(-parseInt(_0xf43031(0xc1))/0x6)+-parseInt(_0xf43031(0x125))/0x7+parseInt(_0xf43031(0x11b))/0x8+-parseInt(_0xf43031(0x10d))/0x9*(parseInt(_0xf43031(0x118))/0xa);if(_0x4c1f68===_0x4d4b41)break;else _0x4fc47a['push'](_0x4fc47a['shift']());}catch(_0x51bac2){_0x4fc47a['push'](_0x4fc47a['shift']());}}}(a0_0x3db9,0x8a776));import{BaseTool}from'./baseTool.js';import{promises as a0_0x818870}from'fs';import a0_0x3e7cca from'path';const TREE_CONFIG={'DEFAULT_MAX_DEPTH':0x3,'MAX_DEPTH_LIMIT':0xa,'MAX_FILES_IN_TREE':0x2710,'MAX_DIRECTORIES':0x3e8,'SHOW_FILES_DEFAULT':!![],'SHOW_HIDDEN_DEFAULT':![],'SHOW_SIZES_DEFAULT':![],'SYMBOLS':{'BRANCH':a0_0x2112e5(0x120),'LAST_BRANCH':a0_0x2112e5(0xe1),'VERTICAL':a0_0x2112e5(0x121),'INDENT':a0_0x2112e5(0xe6)}},DEFAULT_IGNORE_DIRECTORIES=['node_modules',a0_0x2112e5(0x122),'dist',a0_0x2112e5(0x10e),a0_0x2112e5(0xcc),a0_0x2112e5(0x116),'.nuxt',a0_0x2112e5(0xe8),'out',a0_0x2112e5(0xe9),'vendor','bower_components','.vscode','.idea','.vs','__pycache__','venv','env','.env',a0_0x2112e5(0x124),a0_0x2112e5(0xd5),'eggs',a0_0x2112e5(0xeb),'lib','lib64','parts','sdist','wheels','.tox',a0_0x2112e5(0x10c),'htmlcov','.hypothesis',a0_0x2112e5(0xce),a0_0x2112e5(0x107),a0_0x2112e5(0x111),'.temp'],DEFAULT_IGNORE_EXTENSIONS=['.map','.min.js',a0_0x2112e5(0xbb),'.lock','.log','.tmp','.temp','.pyc',a0_0x2112e5(0x103),'.pyd','.so',a0_0x2112e5(0xba),a0_0x2112e5(0xf4),'.exe','.obj','.o','.a',a0_0x2112e5(0x113),a0_0x2112e5(0xed),'.war'],BINARY_EXTENSIONS=['.png',a0_0x2112e5(0xc5),'.jpeg',a0_0x2112e5(0xbe),a0_0x2112e5(0xf5),a0_0x2112e5(0xc0),'.svg','.pdf',a0_0x2112e5(0x102),a0_0x2112e5(0xe0),'.gz',a0_0x2112e5(0xf9),'.7z',a0_0x2112e5(0x11c),'.mp4',a0_0x2112e5(0xf6),'.mov',a0_0x2112e5(0x100),'.woff',a0_0x2112e5(0xc2),a0_0x2112e5(0x11f),'.eot',a0_0x2112e5(0xdf),'.dat',a0_0x2112e5(0xfd),a0_0x2112e5(0xe4)];class FileTreeTool extends BaseTool{constructor(_0x17bca1={},_0x5938c5=null){const _0x581dd9=a0_0x2112e5;super(_0x17bca1,_0x5938c5),this['id']='file-tree',this[_0x581dd9(0x128)]=!![],this[_0x581dd9(0xbc)]=!![],this['timeout']=_0x17bca1[_0x581dd9(0xf0)]||0x1d4c0,this[_0x581dd9(0x10b)]={...TREE_CONFIG,..._0x17bca1['treeConfig']},this[_0x581dd9(0xd9)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}[a0_0x2112e5(0xd3)](){const _0x8cee83=a0_0x2112e5;return _0x8cee83(0xd0)+TREE_CONFIG['DEFAULT_MAX_DEPTH']+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG['MAX_DEPTH_LIMIT']+'\x0a\x20\x20-\x20Deeper\x20=\x20more\x20detail,\x20slower\x20performance\x0a\x0aincludeExtensions\x20(optional\x20-\x20WHITELIST):\x0a\x20\x20-\x20Include\x20ONLY\x20these\x20file\x20extensions\x0a\x20\x20-\x20Array\x20of\x20extensions\x0a\x20\x20-\x20Examples:\x20[\x22.js\x22,\x20\x22.jsx\x22,\x20\x22.ts\x22,\x20\x22.tsx\x22]\x0a\x20\x20-\x20Takes\x20precedence\x20over\x20excludeExtensions\x0a\x0aexcludeExtensions\x20(optional\x20-\x20BLACKLIST):\x0a\x20\x20-\x20Exclude\x20these\x20file\x20extensions\x0a\x20\x20-\x20Array\x20of\x20extensions\x0a\x20\x20-\x20Examples:\x20[\x22.test.js\x22,\x20\x22.spec.js\x22,\x20\x22.min.js\x22]\x0a\x20\x20-\x20Only\x20applies\x20if\x20includeExtensions\x20is\x20not\x20set\x0a\x0aexcludeDirectories\x20(optional):\x0a\x20\x20-\x20Additional\x20directories\x20to\x20ignore\x0a\x20\x20-\x20Already\x20ignores:\x20node_modules,\x20.git,\x20dist,\x20build,\x20etc.\x0a\x20\x20-\x20Examples:\x20[\x22tests\x22,\x20\x22fixtures\x22,\x20\x22mocks\x22]\x0a\x0ashowFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20files\x20(default:\x20true)\x0a\x20\x20-\x20Set\x20to\x20false\x20to\x20show\x20only\x20directory\x20structure\x0a\x0ashowHidden\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20hidden\x20files/folders\x20(default:\x20false)\x0a\x20\x20-\x20Hidden\x20=\x20starts\x20with\x20\x27.\x27\x0a\x0ashowSizes\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20file\x20sizes\x20(default:\x20false)\x0a\x20\x20-\x20Format:\x20KB,\x20MB\x0a\x0aignoreBinaryFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20ignore\x20binary/media\x20files\x20(default:\x20false)\x0a\x20\x20-\x20Ignores:\x20images,\x20videos,\x20archives,\x20fonts,\x20etc.\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Basic\x20tree:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22.\x22\x0a}\x0a```\x0a\x0aExample\x202\x20-\x20JavaScript/TypeScript\x20only:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x22includeExtensions\x22:\x20[\x22.js\x22,\x20\x22.jsx\x22,\x20\x22.ts\x22,\x20\x22.tsx\x22],\x0a\x20\x20\x22maxDepth\x22:\x205\x0a}\x0a```\x0a\x0aExample\x203\x20-\x20Python\x20project\x20structure:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22.\x22,\x0a\x20\x20\x22includeExtensions\x22:\x20[\x22.py\x22],\x0a\x20\x20\x22excludeExtensions\x22:\x20[\x22.pyc\x22],\x0a\x20\x20\x22showFiles\x22:\x20true\x0a}\x0a```\x0a\x0aExample\x204\x20-\x20Directory\x20structure\x20only:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x22showFiles\x22:\x20false,\x0a\x20\x20\x22maxDepth\x22:\x203\x0a}\x0a```\x0a\x0aExample\x205\x20-\x20Exclude\x20test\x20files:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22file-tree\x22,\x0a\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x22excludeExtensions\x22:\x20[\x22.test.js\x22,\x20\x22.spec.js\x22,\x20\x22.test.ts\x22,\x20\x22.spec.ts\x22],\x0a\x20\x20\x22excludeDirectories\x22:\x20[\x22__tests__\x22,\x20\x22tests\x22,\x20\x22specs\x22]\x0a}\x0a```\x0a\x0aOUTPUT\x20FORMAT:\x0asrc/\x0a├──\x20components/\x0a│\x20\x20\x20├──\x20Header.jsx\x0a│\x20\x20\x20├──\x20Footer.jsx\x0a│\x20\x20\x20└──\x20Layout.jsx\x0a├──\x20utils/\x0a│\x20\x20\x20├──\x20helpers.js\x0a│\x20\x20\x20└──\x20config.js\x0a└──\x20index.js\x0a\x0aAUTOMATIC\x20IGNORES:\x0aThe\x20tool\x20automatically\x20ignores\x20common\x20directories:\x0a-\x20node_modules,\x20.git,\x20dist,\x20build,\x20coverage\x0a-\x20.next,\x20.nuxt,\x20.cache,\x20out,\x20target\x0a-\x20.vscode,\x20.idea,\x20__pycache__,\x20venv\x0a\x0aLIMITATIONS:\x0a-\x20Maximum\x20depth:\x20'+TREE_CONFIG['MAX_DEPTH_LIMIT']+'\x0a-\x20Maximum\x20files:\x20'+TREE_CONFIG['MAX_FILES_IN_TREE']+'\x0a-\x20Maximum\x20directories:\x20'+TREE_CONFIG['MAX_DIRECTORIES']+'\x0a-\x20Binary\x20files\x20can\x20be\x20filtered\x20with\x20ignoreBinaryFiles\x20option\x0a\x20\x20\x20\x20';}['parseParameters'](_0x234afc){const _0x2b9b6d=a0_0x2112e5;try{if(_0x234afc['trim']()['startsWith']('{')){const _0x32c320=JSON['parse'](_0x234afc);return{'directory':_0x32c320['directory']||'.','maxDepth':_0x32c320['maxDepth']||TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':_0x32c320['includeExtensions']||[],'excludeExtensions':_0x32c320['excludeExtensions']||[],'excludeDirectories':_0x32c320[_0x2b9b6d(0xee)]||[],'showFiles':_0x32c320['showFiles']!==![],'showHidden':_0x32c320['showHidden']===!![],'showSizes':_0x32c320['showSizes']===!![],'ignoreBinaryFiles':_0x32c320['ignoreBinaryFiles']===!![]};}const _0x5c20f3={'directory':'.','maxDepth':TREE_CONFIG[_0x2b9b6d(0x127)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x3610b9=/<directory>(.*?)<\/directory>/i,_0x17b479=_0x3610b9[_0x2b9b6d(0x11a)](_0x234afc);_0x17b479&&(_0x5c20f3[_0x2b9b6d(0x11d)]=_0x17b479[0x1][_0x2b9b6d(0xf3)]());const _0x1a6826=/<max-depth>(\d+)<\/max-depth>/i,_0x401578=_0x1a6826['exec'](_0x234afc);_0x401578&&(_0x5c20f3['maxDepth']=parseInt(_0x401578[0x1],0xa));const _0x16960f=/<include-extensions>(.*?)<\/include-extensions>/i,_0x246cd3=_0x16960f[_0x2b9b6d(0x11a)](_0x234afc);_0x246cd3&&(_0x5c20f3[_0x2b9b6d(0x106)]=_0x246cd3[0x1][_0x2b9b6d(0xc4)](',')[_0x2b9b6d(0xea)](_0x2b6855=>_0x2b6855['trim']())['filter'](_0x312fcb=>_0x312fcb[_0x2b9b6d(0xd2)]>0x0));const _0x96d17c=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x1f3bde=_0x96d17c[_0x2b9b6d(0x11a)](_0x234afc);_0x1f3bde&&(_0x5c20f3['excludeExtensions']=_0x1f3bde[0x1][_0x2b9b6d(0xc4)](',')[_0x2b9b6d(0xea)](_0xcf237e=>_0xcf237e['trim']())['filter'](_0x22590e=>_0x22590e['length']>0x0));const _0x46ef58=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x5f5368=_0x46ef58[_0x2b9b6d(0x11a)](_0x234afc);_0x5f5368&&(_0x5c20f3['excludeDirectories']=_0x5f5368[0x1]['split'](',')[_0x2b9b6d(0xea)](_0x206d39=>_0x206d39[_0x2b9b6d(0xf3)]())[_0x2b9b6d(0xff)](_0x23c725=>_0x23c725[_0x2b9b6d(0xd2)]>0x0));const _0x13a0f4=/<show-files>(.*?)<\/show-files>/i,_0xbc3243=_0x13a0f4[_0x2b9b6d(0x11a)](_0x234afc);_0xbc3243&&(_0x5c20f3['showFiles']=_0xbc3243[0x1][_0x2b9b6d(0xf3)]()[_0x2b9b6d(0x101)]()!=='false');const _0x5caceb=/<show-hidden>(.*?)<\/show-hidden>/i,_0x5ce18d=_0x5caceb['exec'](_0x234afc);_0x5ce18d&&(_0x5c20f3['showHidden']=_0x5ce18d[0x1]['trim']()[_0x2b9b6d(0x101)]()===_0x2b9b6d(0xf1));const _0xa1938d=/<show-sizes>(.*?)<\/show-sizes>/i,_0x18af0c=_0xa1938d[_0x2b9b6d(0x11a)](_0x234afc);_0x18af0c&&(_0x5c20f3['showSizes']=_0x18af0c[0x1]['trim']()['toLowerCase']()==='true');const _0x3e71cd=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x2ab7ad=_0x3e71cd[_0x2b9b6d(0x11a)](_0x234afc);return _0x2ab7ad&&(_0x5c20f3['ignoreBinaryFiles']=_0x2ab7ad[0x1]['trim']()[_0x2b9b6d(0x101)]()===_0x2b9b6d(0xf1)),_0x5c20f3;}catch(_0x4c0715){return this['logger']?.[_0x2b9b6d(0xf2)](_0x2b9b6d(0x123),{'error':_0x4c0715['message']}),{'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x4c0715['message']};}}['getRequiredParameters'](){return[];}['customValidateParameters'](_0x15e3b9){const _0x2eda14=a0_0x2112e5,_0x18c123=[];if(_0x15e3b9[_0x2eda14(0xcd)]!==undefined){if(typeof _0x15e3b9['maxDepth']!==_0x2eda14(0x105)||_0x15e3b9[_0x2eda14(0xcd)]<0x1)_0x18c123['push'](_0x2eda14(0xde));else _0x15e3b9['maxDepth']>this['treeConfig']['MAX_DEPTH_LIMIT']&&_0x18c123[_0x2eda14(0xc9)]('max-depth\x20cannot\x20exceed\x20'+this[_0x2eda14(0x10b)]['MAX_DEPTH_LIMIT']);}_0x15e3b9[_0x2eda14(0x11d)]&&_0x15e3b9['directory'][_0x2eda14(0xbf)]('..')&&_0x18c123['push'](_0x2eda14(0xca));if(_0x15e3b9[_0x2eda14(0x106)]!==undefined&&_0x15e3b9['includeExtensions']!==null){if(!Array[_0x2eda14(0xfe)](_0x15e3b9[_0x2eda14(0x106)]))_0x18c123[_0x2eda14(0xc9)](_0x2eda14(0xf7));else for(const _0x2d7da6 of _0x15e3b9[_0x2eda14(0x106)]){!_0x2d7da6['startsWith']('.')&&_0x18c123[_0x2eda14(0xc9)](_0x2eda14(0xe7)+_0x2d7da6+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}if(_0x15e3b9[_0x2eda14(0xdb)]!==undefined&&_0x15e3b9['excludeExtensions']!==null){if(!Array[_0x2eda14(0xfe)](_0x15e3b9[_0x2eda14(0xdb)]))_0x18c123[_0x2eda14(0xc9)]('excludeExtensions\x20must\x20be\x20an\x20array');else for(const _0x1402ce of _0x15e3b9['excludeExtensions']){!_0x1402ce['startsWith']('.')&&_0x18c123['push']('Extension\x20\x22'+_0x1402ce+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}_0x15e3b9[_0x2eda14(0xee)]!==undefined&&_0x15e3b9['excludeDirectories']!==null&&(!Array[_0x2eda14(0xfe)](_0x15e3b9['excludeDirectories'])&&_0x18c123['push']('excludeDirectories\x20must\x20be\x20an\x20array'));if(_0x18c123[_0x2eda14(0xd2)]>0x0)throw new Error('Parameter\x20validation\x20failed:\x20'+_0x18c123['join'](',\x20'));return{'valid':!![],'errors':[]};}async[a0_0x2112e5(0x117)](_0x3f0857,_0x270c02){const _0x9f71d8=a0_0x2112e5,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG[_0x9f71d8(0x127)],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x3f0857,{projectDir:_0x3e1f91,agentId:_0x2b0b49,directoryAccess:_0x36cfc3}=_0x270c02;let _0xf0336d=_0x3e1f91||process['cwd']();_0x36cfc3&&_0x36cfc3[_0x9f71d8(0x10a)]&&(_0xf0336d=_0x36cfc3[_0x9f71d8(0x10a)],this[_0x9f71d8(0x11e)]?.[_0x9f71d8(0xdd)]('Using\x20agent\x20configured\x20working\x20directory',{'workingDirectory':_0x36cfc3[_0x9f71d8(0x10a)],'agentId':_0x2b0b49}));const _0x3a8a39=a0_0x3e7cca[_0x9f71d8(0xe2)](directory)?directory:a0_0x3e7cca['resolve'](_0xf0336d,directory);try{const _0x558a43=await a0_0x818870['stat'](_0x3a8a39);if(!_0x558a43[_0x9f71d8(0x109)]())throw new Error(_0x9f71d8(0xf8));}catch(_0x133b4d){throw new Error('Directory\x20does\x20not\x20exist\x20or\x20is\x20inaccessible:\x20'+directory);}this[_0x9f71d8(0x11e)]?.['info']('Generating\x20file\x20tree',{'directory':directory,'targetDir':_0x3a8a39,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.[_0x9f71d8(0xd2)]||0x0,'excludeExtensions':excludeExtensions?.[_0x9f71d8(0xd2)]||0x0,'agentId':_0x2b0b49}),this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x5ed20a=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x30a4b1=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x30a4b1[_0x9f71d8(0xc9)](...BINARY_EXTENSIONS);const _0x44567b=await this[_0x9f71d8(0x126)](_0x3a8a39,_0x3a8a39,0x0,maxDepth,_0x5ed20a,includeExtensions||[],[...excludeExtensions||[],..._0x30a4b1],showFiles,showHidden,showSizes),_0x5b6062=this['formatTree'](_0x44567b),_0x1f7775=this['generateSummary'](directory,this[_0x9f71d8(0xd9)],maxDepth);return{'success':!![],'directory':_0x3a8a39,'tree':_0x5b6062,'summary':_0x1f7775,'maxDepth':maxDepth,'totalFiles':this['stats'][_0x9f71d8(0x104)],'totalDirectories':this['stats']['directoriesCount'],'skippedCount':this[_0x9f71d8(0xd9)]['skippedCount'],'statistics':{...this['stats']},'toolUsed':_0x9f71d8(0x112)};}async[a0_0x2112e5(0x126)](_0x40f73e,_0x2de12b,_0x32169c,_0x4d0e2c,_0x1f47e6,_0x35d341,_0x3cae8b,_0x270387,_0x475b78,_0x98f20){const _0x39c362=a0_0x2112e5;if(_0x32169c>_0x4d0e2c)return null;if(this[_0x39c362(0xd9)]['directoriesCount']>=this['treeConfig'][_0x39c362(0xcb)])return this[_0x39c362(0x11e)]?.['warn']('Maximum\x20directory\x20count\x20reached',{'maxDirectories':this['treeConfig'][_0x39c362(0xcb)]}),null;try{const _0x18cddf=await a0_0x818870['readdir'](_0x2de12b,{'withFileTypes':!![]}),_0x2d0cb6={'name':_0x32169c===0x0?a0_0x3e7cca[_0x39c362(0x10f)](_0x2de12b)+'/':a0_0x3e7cca[_0x39c362(0x10f)](_0x2de12b),'path':a0_0x3e7cca[_0x39c362(0xd1)](_0x40f73e,_0x2de12b),'type':'directory','children':[]};this[_0x39c362(0xd9)]['directoriesCount']++;for(const _0x4569bf of _0x18cddf){if(this['stats'][_0x39c362(0x104)]>=this['treeConfig'][_0x39c362(0xc8)]){this['logger']?.[_0x39c362(0xb8)]('Maximum\x20file\x20count\x20reached',{'maxFiles':this[_0x39c362(0x10b)]['MAX_FILES_IN_TREE']});break;}if(!_0x475b78&&_0x4569bf[_0x39c362(0xd4)]['startsWith']('.')){this['stats'][_0x39c362(0xd7)]++;continue;}const _0x3d56a0=a0_0x3e7cca[_0x39c362(0xfc)](_0x2de12b,_0x4569bf['name']);if(_0x4569bf[_0x39c362(0x109)]()){if(_0x1f47e6[_0x39c362(0xbf)](_0x4569bf[_0x39c362(0xd4)])){this['stats']['skippedCount']++;continue;}const _0x3d1ebd=await this[_0x39c362(0x126)](_0x40f73e,_0x3d56a0,_0x32169c+0x1,_0x4d0e2c,_0x1f47e6,_0x35d341,_0x3cae8b,_0x270387,_0x475b78,_0x98f20);_0x3d1ebd&&(_0x3d1ebd[_0x39c362(0xc6)][_0x39c362(0xd2)]>0x0||_0x32169c===0x0)&&_0x2d0cb6['children']['push'](_0x3d1ebd);}else{if(_0x4569bf['isFile']()&&_0x270387){if(_0x32169c+0x1>_0x4d0e2c)continue;const _0x376f34=a0_0x3e7cca[_0x39c362(0xd8)](_0x4569bf[_0x39c362(0xd4)]);if(_0x35d341['length']>0x0){if(!_0x35d341['includes'](_0x376f34)){this['stats'][_0x39c362(0xd7)]++;continue;}}else{if(_0x3cae8b['includes'](_0x376f34)){this[_0x39c362(0xd9)][_0x39c362(0xd7)]++;continue;}}let _0x3eb0e1='';if(_0x98f20)try{const _0x46fb14=await a0_0x818870['stat'](_0x3d56a0);_0x3eb0e1='\x20('+this['formatFileSize'](_0x46fb14[_0x39c362(0xdc)])+')';}catch(_0x5b27a7){}_0x2d0cb6['children'][_0x39c362(0xc9)]({'name':_0x4569bf['name']+_0x3eb0e1,'path':a0_0x3e7cca['relative'](_0x40f73e,_0x3d56a0),'type':'file','ext':_0x376f34}),this[_0x39c362(0xd9)][_0x39c362(0x104)]++;}}}return _0x2d0cb6['children'][_0x39c362(0xe5)]((_0x1d8f40,_0xc1418b)=>{const _0x15f9f6=_0x39c362;if(_0x1d8f40[_0x15f9f6(0xe3)]===_0xc1418b[_0x15f9f6(0xe3)])return _0x1d8f40[_0x15f9f6(0xd4)][_0x15f9f6(0x129)](_0xc1418b[_0x15f9f6(0xd4)]);return _0x1d8f40['type']===_0x15f9f6(0x11d)?-0x1:0x1;}),_0x2d0cb6;}catch(_0x1822df){return this[_0x39c362(0x11e)]?.['error']('Error\x20building\x20tree',{'currentPath':_0x2de12b,'error':_0x1822df['message']}),{'name':a0_0x3e7cca['basename'](_0x2de12b),'path':a0_0x3e7cca['relative'](_0x40f73e,_0x2de12b),'type':'directory','error':_0x1822df[_0x39c362(0x119)],'children':[]};}}[a0_0x2112e5(0x110)](_0x7c4799,_0x1c1318='',_0xc2848c=!![],_0x3cec20=!![]){const _0x442124=a0_0x2112e5;if(!_0x7c4799)return'';const _0x3fc772=this['treeConfig']['SYMBOLS'];let _0x39f945='';_0x3cec20?_0x39f945=_0x7c4799['name']+'\x0a':_0x39f945=''+_0x1c1318+(_0xc2848c?_0x3fc772['LAST_BRANCH']:_0x3fc772['BRANCH'])+_0x7c4799['name']+'\x0a';if(_0x7c4799['children']&&_0x7c4799[_0x442124(0xc6)][_0x442124(0xd2)]>0x0){const _0x24700c=_0x3cec20?'':_0x1c1318+(_0xc2848c?_0x3fc772[_0x442124(0xc7)]:_0x3fc772['VERTICAL']);_0x7c4799['children'][_0x442124(0xec)]((_0x19ff57,_0x1bc9bc)=>{const _0x5e04a7=_0x442124,_0xe77e78=_0x1bc9bc===_0x7c4799[_0x5e04a7(0xc6)]['length']-0x1;_0x39f945+=this['formatTree'](_0x19ff57,_0x24700c,_0xe77e78,![]);});}return _0x39f945;}[a0_0x2112e5(0xc3)](_0x20ec4d){const _0xa3bba9=a0_0x2112e5,_0x26bbdb=0x400,_0x10decf=_0x26bbdb*0x400,_0x160492=_0x10decf*0x400;if(_0x20ec4d>=_0x160492)return(_0x20ec4d/_0x160492)['toFixed'](0x2)+_0xa3bba9(0x108);else{if(_0x20ec4d>=_0x10decf)return(_0x20ec4d/_0x10decf)['toFixed'](0x2)+'\x20MB';else return _0x20ec4d>=_0x26bbdb?(_0x20ec4d/_0x26bbdb)['toFixed'](0x2)+'\x20KB':_0x20ec4d+'\x20B';}}['generateSummary'](_0x7eaa1e,_0x5ad1c0,_0x3b913a){const _0xb3fd69=a0_0x2112e5;return(_0xb3fd69(0xfa)+_0x7eaa1e+_0xb3fd69(0xef)+_0x3b913a+'\x0aFiles:\x20'+_0x5ad1c0[_0xb3fd69(0x104)]+_0xb3fd69(0x114)+_0x5ad1c0[_0xb3fd69(0xd6)]+'\x0aSkipped:\x20'+_0x5ad1c0['skippedCount']+'\x0a\x20\x20\x20\x20')['trim']();}async[a0_0x2112e5(0xcf)](_0x7ae920){const _0x36bea2=a0_0x2112e5;this[_0x36bea2(0x11e)]?.[_0x36bea2(0xdd)]('File\x20tree\x20tool\x20cleanup\x20completed',{'operationId':_0x7ae920});}}export default FileTreeTool;function a0_0x3db9(){const _0x27cb9c=['ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','lNjHCG','cKrPCMvJDg9YEtOG','mZy2oty4ngjkALrKua','AM9PBG','lMrI','AxnbCNjHEq','zMLSDgvY','lNDTDG','Dg9mB3DLCKnHC2u','lNPPCa','lNb5BW','zMLSzxndB3vUDa','BNvTyMvY','Aw5JBhvKzuv4DgvUC2LVBNm','DgvTCa','ieDc','AxneAxjLy3rVCNK','D29YA2LUz0rPCMvJDg9YEq','DhjLzunVBMzPzW','lM5VEa','ote3mtGXwvr5swXu','yNvPBgq','yMfZzw5HBwu','zM9YBwf0vhjLzq','lNrTCa','zMLSzs10CMvL','lMnSyxnZ','cKrPCMvJDg9YAwvZoIa','mZHtyuvLBuG','lM5LEhq','zxHLy3v0zq','mtKWse11rfvy','BwvZC2fNzq','zxHLyW','odKYnteZnKn0t2ncsq','lM1WmW','zgLYzwn0B3j5','Bg9Nz2vY','lNr0zG','4PsC4Psa4Psaia','4PscicaG','lMDPDa','rMfPBgvKihrVihbHCNnLigzPBguTDhjLzsbWyxjHBwv0zxjZ','lNb5DgvZDf9JywnOzq','ody1mZy4sKDRt0rU','yNvPBgruCMvL','revgqvvmvf9nqvHFrevqveG','CMvXDwLYzxnqCM9Qzwn0','Bg9JywXLq29TCgfYzq','D2fYBG','mJiYmJzUthL4v1y','lMrSBa','lM1PBI5JC3m','AxnbC3LUyW','mJm1mJG5muHSAhfqCq','lMDPzG','Aw5JBhvKzxm','lMLJBW','nJzgrwj6wNq','lNDVzMyY','zM9YBwf0rMLSzvnPEMu','C3bSAxq','lMPWzW','y2HPBgrYzw4','su5eru5u','tufyx0zjtevtx0Lox1rsruu','ChvZAa','ugf0Acb0CMf2zxjZywWGkc4UksbUB3qGywXSB3DLzcbMB3iGC2vJDxjPDhK','tufyx0rjuKvdve9ssuvt','y292zxjHz2u','Bwf4rgvWDgG','Dg1W','y2XLyw51Ca','cKzPBguGvhjLzsbuB29SoIbhzw5LCMf0zsbOAwvYyxjJAgLJywWGDhjLzsbYzxbYzxnLBNrHDgLVBIbVzIbWCM9Qzwn0igrPCMvJDg9YEsbZDhj1y3r1CMuUcGPvu0fhrtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjMAwXLlxrYzwuIlaOGicjKAxjLy3rVCNKIoIaIC3jJiIWkicaIBwf4rgvWDgGIoIa0laOGicjPBMnSDwrLrxH0zw5ZAw9UCYi6ifSIlMPZiIWGiI5QC3GIlcaIlNrZiIWGiI50C3GIxsWkicaIzxHJBhvKzuv4DgvUC2LVBNmIoIbBiI50zxn0lMPZiIWGiI5ZCgvJlMPZiL0ScIaGiNnOB3DgAwXLCYi6ihrYDwuScIaGiNnOB3DiAwrKzw4IoIbMywXZzqP9cMbGyaOkuefsqu1fvevsuZOkcMrPCMvJDg9YEsaOB3b0Aw9UywWPoGOGic0GrgLYzwn0B3j5ihrVihnJyw4GkgrLzMf1Bhq6ihDVCMTPBMCGzgLYzwn0B3j5kqOGic0Gq2fUigjLihjLBgf0AxzLig9YigfIC29SDxrLihbHDgGkicaTiev4yw1WBgvZoIaIC3jJiIWGiNnYyY9JB21WB25LBNrZiIWGiI9OB21Ll3vZzxiVChjVAMvJDcikcM1HEerLChrOicHVChrPB25HBcK6cIaGlsbnyxHPBxvTigrLChrOihrVihnJyw4GkgrLzMf1Bhq6ia','CMvSyxrPDMu','BgvUz3rO','z2v0rgvZy3jPChrPB24','BMfTzq','lM15ChLFy2fJAgu','zgLYzwn0B3jPzxndB3vUDa','C2TPChbLzenVDw50','zxH0BMfTzq','C3rHDhm','mJC4ndu1yKrpBfnZ','zxHJBhvKzuv4DgvUC2LVBNm','C2L6zq','Aw5MBW','Bwf4lwrLChrOig11C3qGyMuGysbWB3nPDgL2zsbUDw1Izxi','lMjPBG','lNrHCG','4Psu4Psa4Psaia','AxnbyNnVBhv0zq','DhLWzq','lNnXBgL0zq','C29YDa','icaGia','rxH0zw5ZAw9Uici','lMnHy2HL','DgfYz2v0','BwfW','lMvNz3m','zM9YrwfJAa','lMPHCG','zxHJBhvKzurPCMvJDg9YAwvZ','cK1HEcbezxb0AdOG','DgLTzw91Da','Dhj1zq','zxjYB3i','DhjPBq','lMr5BgLI','lMjTCa','lMf2Aq','Aw5JBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq'];a0_0x3db9=function(){return _0x27cb9c;};return a0_0x3db9();}
|
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
|
+
function a0_0x8235(_0x5ce4e7,_0x5775ed){_0x5ce4e7=_0x5ce4e7-0x8c;const _0xb0f53d=a0_0xb0f5();let _0x8235d6=_0xb0f53d[_0x5ce4e7];if(a0_0x8235['VlJRQL']===undefined){var _0x44bce9=function(_0x12295f){const _0x117839='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31adb9='',_0x349a58='';for(let _0x272c7f=0x0,_0x145b63,_0x1574b4,_0x10e1db=0x0;_0x1574b4=_0x12295f['charAt'](_0x10e1db++);~_0x1574b4&&(_0x145b63=_0x272c7f%0x4?_0x145b63*0x40+_0x1574b4:_0x1574b4,_0x272c7f++%0x4)?_0x31adb9+=String['fromCharCode'](0xff&_0x145b63>>(-0x2*_0x272c7f&0x6)):0x0){_0x1574b4=_0x117839['indexOf'](_0x1574b4);}for(let _0x2a8162=0x0,_0x2ae99f=_0x31adb9['length'];_0x2a8162<_0x2ae99f;_0x2a8162++){_0x349a58+='%'+('00'+_0x31adb9['charCodeAt'](_0x2a8162)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x349a58);};a0_0x8235['NKFuQI']=_0x44bce9,a0_0x8235['evlNUV']={},a0_0x8235['VlJRQL']=!![];}const _0x1bf069=_0xb0f53d[0x0],_0x1960bf=_0x5ce4e7+_0x1bf069,_0x2a437f=a0_0x8235['evlNUV'][_0x1960bf];return!_0x2a437f?(_0x8235d6=a0_0x8235['NKFuQI'](_0x8235d6),a0_0x8235['evlNUV'][_0x1960bf]=_0x8235d6):_0x8235d6=_0x2a437f,_0x8235d6;}const a0_0x245888=a0_0x8235;(function(_0x2249ab,_0x550f34){const _0x22db52=a0_0x8235,_0x408826=_0x2249ab();while(!![]){try{const _0x15e30c=parseInt(_0x22db52(0xab))/0x1*(-parseInt(_0x22db52(0xc5))/0x2)+-parseInt(_0x22db52(0xd6))/0x3*(parseInt(_0x22db52(0xe0))/0x4)+parseInt(_0x22db52(0x99))/0x5*(parseInt(_0x22db52(0xea))/0x6)+-parseInt(_0x22db52(0xf4))/0x7*(parseInt(_0x22db52(0xc6))/0x8)+-parseInt(_0x22db52(0x97))/0x9*(-parseInt(_0x22db52(0x11a))/0xa)+parseInt(_0x22db52(0x9f))/0xb+parseInt(_0x22db52(0xf8))/0xc;if(_0x15e30c===_0x550f34)break;else _0x408826['push'](_0x408826['shift']());}catch(_0x56b11f){_0x408826['push'](_0x408826['shift']());}}}(a0_0xb0f5,0x95041));import a0_0x31adb9 from'path';import a0_0x349a58 from'os';function a0_0xb0f5(){const _0x40c4c1=['Aw1Hz2uTz2vU','lNbUzW','CgfYyw1LDgvYCW','mZe2nZmWsNPnueDs','Aw1Hz2vZl2DLBMvYyxrLzc0','quKGu2vYDMLJzsbZzxqGzM9YieLTywDLvg9VBa','DxjS','zNvSBa','igLTywDLCYbPBIbXDwv1zq','BgfZDefJDgL2Axr5','Aw1Hz2vZ','BgfZDfvWzgf0zwq','y29TCgXLDgvK','Dg9tDhjPBMC','C3rYAw5N','Bg9Nz2vY','C3rHBMrHCMq','zxHLyW','Aw1Nlq','vhLWzuvYCM9Y','z2v0sM9Iu3rHDhvZ','CxvLDwvK','zMfPBgvK','DMfSDwvZ','C2f2zwruB0rPC2S','x2DLBMvYyxrLsw1Hz2u','mc4WlJaUma','vg9VBdOGsw1Hz2uGr2vUzxjHDg9Yic0Gr2vUzxjHDguGAw1Hz2vZihvZAw5Niefjig1VzgvSCWOkkIPqDxjWB3nLoIOQieDLBMvYyxrLigLTywDLCYbMCM9TihrLEhqGzgvZy3jPChrPB25ZihvZAw5NierbteWTrsaZlIbjBwfNzxmGyxjLihnHDMvKihrVigzPBgvZigfUzcbKAxnWBgf5zwqGAw4Gy2HHDc4kcIOQq1jjveLdquW6ief1Dg9TyxrPyYbfEgvJDxrPB24QkGOTiefowsbGygbQC29UigjSB2nRihDPDgGGiNrVB2Xjzci6icjPBwfNzs1Nzw4IihDPBgWGyMuGrvHfq1vuruqGsu1nrurjqvrftfKklsbkDxn0ig91Dhb1Dcb0AguGy29TBwfUzcb3AgvUihLVDsb3yw50ihrVigDLBMvYyxrLigfUigLTywDLcI0GswyGz2vUzxjHDgLVBIbMywLSCYWGB3v0Chv0igeGtKvxignVBw1HBMqGD2L0AcbJB3jYzwn0Aw9UCWOkkIPvu0fhrtOQkGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMLTywDLlwDLBIiScIaGiNbHCMfTzxrLCNmIoIb7cIaGicaIChjVBxb0iJOGiKrLDgfPBgvKigrLC2nYAxb0Aw9Uig9MihrOzsbPBwfNzsiScIaGicaIB3v0Chv0ugf0Aci6icjPBwfNzxmVzMLSzw5HBwuUCg5NiIWkicaGicjTB2rLBci6icjHENvYzs1VCgvUywKTzgfSBguZiIWkicaGicjZAxPLiJOGiJeWmJr4mtaYncikicb9cN0kygbGcGOQkLbHCMfTzxrLCNm6kIOklsaQkNbYB21WDcOQicHYzxf1AxjLzcK6ierLDgfPBgvKigrLC2nYAxb0Aw9Uig9MigLTywDLihrVigDLBMvYyxrLcI0GkIPVDxrWDxrqyxrOkIOGkg9WDgLVBMfSktOGugf0Acb0BYbZyxzLigLTywDLicHWzxjTyw5LBNqPlIbpBwL0igzVCIb0zw1WigzPBguUcI0GkIPTB2rLBcOQicHVChrPB25HBcK6icjHENvYzs1VCgvUywKTzgfSBguZiIaOzgvMyxvSDcKklsaQkNnPEMuQkIaOB3b0Aw9UywWPoIaYntz4mJu2lca1mtj4nteYlcaXmdi0EdeWmJqSideWmJr4mtC5mIWGmtC5mNGXmdi0icHKzwzHDwX0oIaXmdi0EdeWmJqPcI0GkIPXDwfSAxr5kIOGkg9WDgLVBMfSktOGiNn0yw5KyxjKiIbVCIaIAgqIicHKzwzHDwX0oIbZDgfUzgfYzcKkcIOQrvHbtvbmrtOQkGPvC2vYoIaIy3jLyxrLigeGC3vUC2v0igLTywDLiGPzB3uGB3v0Chv0oGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMLTywDLlwDLBIiScIaGiNbHCMfTzxrLCNmIoIb7cIaGicaIChjVBxb0iJOGiKeGyMvHDxrPzNvSihn1BNnLDcbVDMvYihrOzsbVy2vHBIb3AxrOihzPyNjHBNqGB3jHBMDLigfUzcbWAw5RignVBg9YCYbYzwzSzwn0Aw5Nig9UignHBg0GD2f0zxjZiIWkicaGicjVDxrWDxrqyxrOiJOGiMLTywDLCY9ZDw5ZzxqUCg5NiIWkicaGicjZAxPLiJOGiJeWmJr4mtaYncikicb9cN0kygbGcGOQkK5VDgvZoIOQcI0Gsw1Hz2vZihrHA2uGmtuTmZaGC2vJB25KCYb0BYbNzw5LCMf0zqOTiejLigrLC2nYAxb0AxzLigLUihbYB21WDhmGzM9YigjLDhrLCIbYzxn1BhrZcI0Gtwf4ia','C3rHDhvZ','ntrer3P4Euy','FJmWihnLy29Uzhm','mJi0nvDwDK1qtq','CgfYC2vqyxjHBwv0zxjZ','CMvZB2X2zwrpDxrWDxrqyxrO','ChjVy2vZC2LUzW','x2vZDgLTyxrLv2fPDfrPBwu','4P2mieLTywDLigDLBMvYyxrPB24GzMfPBgvKoIa','odaZote1mLrdrwTVBa','B2jQzwn0','CxvLDwu','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq','CMfUzg9T','AxnbyNnVBhv0zq','Aw1NlxjLC3vSDc0','vgLTzw91DevYCM9Y','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','zgLYBMfTzq','x3bYB2nLC3nrDwv1zq','DgvTCg9Yyxj5vxjS','mvz0yMfmBq','y2XLyw51CfrPBwvYCW','zMXVB3i','yMfZzw5HBwu','nteYEduXmG','DgvTCerPCG','yNjVywrJyxn0vg9tzxnZAw9U','B3v0Chv0ugf0Aa','y3vYCMvUDe1VzgvS','ChvZAa','cGOQkLbYB21WDdOQkIa','z2vUzxjHDgvKlq','DgLTzw91Da','Bw9KzwW','ChjVAMvJDerPCG','AM9Iswq','x3bHCNnLsLnptLbHCMfTCW','uvvfvuvFteLnsvq','CxvHBgL0Eq','x2DLBMvYyxrLsM9Iswq','zMLUza','y29UDMvYC2f0Aw9UCW','DhjPBq','y29TCgXLDgvKsM9ICW','yxjYyxLcDwzMzxi','tufyx1bst01qvf9mru5hveG','mtG5mJeXmhnJuejutG','ntiWoeP2AfLRAq','BM93','Bg94Awfxzwjtzxj2zxi','C2v0','Dg1WzgLY','zgvIDwC','uhjVBxb0ihrVBYbSB25NicHTyxGG','BM9YBwfSAxPL','z2v0rgvZy3jPChrPB24','tM8GDMfSAwqGAw1Hz2uGCgfYyw1LDgvYCYbMB3vUza','re9xtKXpqurFveLnru9vva','Dg9ju09tDhjPBMC','C2L6zq','qwDLBNrqB29SihnLDcbMB3iGsw1Hz2vuB29S','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLlIbjBwfNzsbNzw5LCMf0Aw9UihjLCxvPCMvZiefjihnLCNzPy2uU','y3vYCMvUDePVyG','mJy0oda0BxDKrKXl','mtaYnhGXnZKY','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','zxjYB3i','AxnbCNjHEq','sw52ywXPzcbMB3jTyxq6ia','ChjVBxb0','x3jLC29SDMvpDxrWDxrqyxrO','uxvLDwuGBgLTAxqGCMvHy2HLzcaO','rMfPBgvKihrVihnHDMuGAw1Hz2uGzxjYB3iGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','mtzeBeLcwvC','x3zHBgLKyxrLugfYyw1LDgvYCW','tMv0D29YAYbLCNjVCJOG','yMf0y2G','Aw1Hz2vhzw5LCMf0zwq','lI4U','y29TCgXLDgvKqxq','BgvUz3rO','mtaYnhGXmdi0','C2vZC2LVBKLK','nJC4rwXctMPZ','C3rHCNrZv2L0Aa','cIOQrxjYB3i6kIOG','CgvYC2LZDefNzw50u3rHDgu','ywLtzxj2AwnL','zxH0BMfTzq','x2nVBNzLCNruB1DLyLvYBa','x2rVD25SB2fKsw1Hz2u','CMvZDwX0','pIHBxhnCu10QpYK8xc8','nte4shbNsuTv','qwnJzxnZigrLBMLLzdOGCgf0AcbVDxrZAwrLihbYB2PLy3qGzgLYzwn0B3j5','Ag9ZDa','zg93BMXVywrfCNjVCG','mte4mZi3ntzruezev2q','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCIbICM9HzgnHC3qGC2vUDa','x3nJAgvKDwXLq2XLyw51Ca','AM9PBG','yxP1CMuTB3bLBMfPlwrHBgXLmW','revgqvvmvf9nt0rfta','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0','BwvZC2fNzxm','Aw1Hz2uTCMvZDwX0','Aw5MBW','sw1Hz2uGzg93BMXVywqGDgLTzw91Da','igLTywDLCYKUifbSzwfZzsb3ywL0igzVCIbJDxjYzw50igPVyNmGDg8Gy29TCgXLDguU','ywDLBNrqB29S','revgqvvmvf9tsvPf','sw1Hz2uGCMvZDwX0ihnHDMvKihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','C2HPzNq','x3bHCNnLwe1msw1Hz2u','C2f2zvrVuhjVAMvJDa','sw1Hz2uGz2vUzxjHDgLVBIbJB21WBgv0zwq6ia','ywDLBNrjza','Bg9JywXOB3n0','BMfTzq','BwvZC2fNzq','y2XLyxi','u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','x3bHCNnLsw1Hz2vqyxjHBxm','Aw5JBhvKzxm','sw1Hz2vuB29SoIboB3jTywXPEMLUzYbVyMPLy3qGCgfYyw1LDgvYCW','x3bHCNnLwe1mugfYyw1Z','D3jPDgvgAwXL','vKfmsurFrK9stufuuW'];a0_0xb0f5=function(){return _0x40c4c1;};return a0_0xb0f5();}import{promises as a0_0x272c7f}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':a0_0x245888(0xfc),'DEFAULT_SIZE':'1024x1024','DEFAULT_QUALITY':a0_0x245888(0x127),'VALID_SIZES':['256x256',a0_0x245888(0xaf),a0_0x245888(0xe8),a0_0x245888(0xd7),'1792x1024'],'VALID_FORMATS':['png','jpg','jpeg','webp'],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};export class ImageTool extends BaseTool{constructor(_0x145b63={},_0x1574b4=null){const _0x3e43e3=a0_0x245888;super(_0x145b63,_0x1574b4),this['id']=_0x3e43e3(0x117),this[_0x3e43e3(0xa1)]=[],this[_0x3e43e3(0xd5)]=null,this[_0x3e43e3(0xc2)]=new Map(),this['isProcessing']=![],this[_0x3e43e3(0xee)]=null,this[_0x3e43e3(0x104)]=null,this[_0x3e43e3(0xb0)]=a0_0x31adb9['join'](a0_0x349a58[_0x3e43e3(0xca)](),'loxia-images'),this['cleanupTimers']=new Map();}['setAIService'](_0x10e1db){const _0x4552d3=a0_0x245888;this['aiService']=_0x10e1db,this['logger']?.['info'](_0x4552d3(0x11c));}['setAgentPool'](_0x2a8162){const _0x43e2da=a0_0x245888;this['agentPool']=_0x2a8162,this[_0x43e2da(0x126)]?.[_0x43e2da(0x101)](_0x43e2da(0xd3));}[a0_0x245888(0xce)](){const _0x215eaf=a0_0x245888;return _0x215eaf(0x95)+IMAGE_CONFIG['QUEUE_LIMIT']+_0x215eaf(0x11f);}['parseParameters'](_0x2ae99f){const _0x585cb1=a0_0x245888;if(typeof _0x2ae99f==='object'&&_0x2ae99f!==null)return this['_parseJSONParams'](_0x2ae99f);if(typeof _0x2ae99f===_0x585cb1(0x125)){const _0x1a4c00=_0x2ae99f['trim']();if(_0x1a4c00['startsWith']('{')||_0x1a4c00[_0x585cb1(0xeb)]('['))try{const _0x406827=JSON['parse'](_0x1a4c00);return this[_0x585cb1(0xbb)](_0x406827);}catch(_0x4acf08){}return this[_0x585cb1(0x114)](_0x2ae99f);}throw new Error(_0x585cb1(0xfe));}['_parseJSONParams'](_0x526d73){const _0x4c9307=a0_0x245888;_0x526d73['parameters']&&(_0x526d73=_0x526d73[_0x4c9307(0x119)]);if(_0x526d73['batch']&&Array[_0x4c9307(0xda)](_0x526d73[_0x4c9307(0xe3)]))return{'batch':!![],'images':_0x526d73[_0x4c9307(0xe3)]['map'](_0x15c555=>this[_0x4c9307(0x111)](_0x15c555))};return{'batch':![],'images':[this[_0x4c9307(0x111)](_0x526d73)]};}['_parseXMLParams'](_0x5ca4c4){const _0x2a4ada=a0_0x245888,_0x23711a={'batch':![],'images':[]},_0xe0e021=/<batch>([\s\S]*?)<\/batch>/i[_0x2a4ada(0x128)](_0x5ca4c4);if(_0xe0e021){_0x23711a['batch']=!![];const _0x519e04=_0xe0e021[0x1],_0x1a253b=/<image>([\s\S]*?)<\/image>/gi;let _0x2fb9a1;while((_0x2fb9a1=_0x1a253b[_0x2a4ada(0x128)](_0x519e04))!==null){_0x23711a['images'][_0x2a4ada(0xb4)](this['_parseXMLImage'](_0x2fb9a1[0x1]));}}else _0x23711a[_0x2a4ada(0x121)][_0x2a4ada(0xb4)](this[_0x2a4ada(0x108)](_0x5ca4c4));if(_0x23711a['images'][_0x2a4ada(0xe7)]===0x0)throw new Error(_0x2a4ada(0xcf));return _0x23711a;}[a0_0x245888(0x111)](_0xde2d2c){const _0x55de53=a0_0x245888,_0x45bfd7=_0xde2d2c[_0x55de53(0xb2)]||_0xde2d2c['output-path']||null;return{'prompt':_0xde2d2c['prompt']||'','outputPath':_0x45bfd7,'saveToProject':_0x45bfd7!==null,'model':_0xde2d2c['model']||IMAGE_CONFIG[_0x55de53(0xfd)],'size':_0xde2d2c['size']||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0xde2d2c[_0x55de53(0xbd)]||IMAGE_CONFIG['DEFAULT_QUALITY']};}[a0_0x245888(0x108)](_0x1fbe01){const _0x5e7e3f=a0_0x245888,_0x5b980c=_0x14fce7=>{const _0x1fb7a7=a0_0x8235,_0x4f764b=new RegExp('<'+_0x14fce7+_0x1fb7a7(0xf3)+_0x14fce7+'>','i'),_0x46fa0c=_0x4f764b['exec'](_0x1fbe01);return _0x46fa0c?_0x46fa0c[0x1][_0x1fb7a7(0xc1)]():null;},_0x434fb1=_0x5b980c('output-path')||null;return{'prompt':_0x5b980c(_0x5e7e3f(0xdc))||'','outputPath':_0x434fb1,'saveToProject':_0x434fb1!==null,'model':_0x5b980c(_0x5e7e3f(0xb8))||IMAGE_CONFIG[_0x5e7e3f(0xfd)],'size':_0x5b980c(_0x5e7e3f(0xd2))||IMAGE_CONFIG[_0x5e7e3f(0x105)],'quality':_0x5b980c(_0x5e7e3f(0xbd))||IMAGE_CONFIG['DEFAULT_QUALITY']};}async['execute'](_0xca9dc6,_0xc7617d={}){const _0x4a6ad3=a0_0x245888;try{const {agentId:_0x5a7735,projectDir:_0x5bfe97,directoryAccess:_0x325989,sessionId:_0x3138a6}=_0xc7617d;if(typeof _0xca9dc6==='string')this['logger']?.['info']('ImageTool:\x20Auto-parsing\x20string\x20parameters'),_0xca9dc6=this[_0x4a6ad3(0x9a)](_0xca9dc6);else typeof _0xca9dc6===_0x4a6ad3(0xa0)&&_0xca9dc6!==null&&!_0xca9dc6[_0x4a6ad3(0x121)]&&(this['logger']?.[_0x4a6ad3(0x101)](_0x4a6ad3(0x113)),_0xca9dc6=this[_0x4a6ad3(0x9a)](_0xca9dc6));this[_0x4a6ad3(0xe1)](_0xca9dc6);const _0x3cfe31=[];for(const _0xa6d507 of _0xca9dc6[_0x4a6ad3(0x121)]){const _0x175f2c=this[_0x4a6ad3(0xbe)](),_0x53f92f={'jobId':_0x175f2c,'agentId':_0x5a7735,'sessionId':_0x3138a6,'prompt':_0xa6d507[_0x4a6ad3(0xdc)],'outputPath':_0xa6d507[_0x4a6ad3(0xb2)],'saveToProject':_0xa6d507['saveToProject'],'model':_0xa6d507[_0x4a6ad3(0xb8)],'size':_0xa6d507[_0x4a6ad3(0xd2)],'quality':_0xa6d507[_0x4a6ad3(0xbd)],'projectDir':_0x5bfe97||process['cwd'](),'directoryAccess':_0x325989,'status':_0x4a6ad3(0x8f),'createdAt':new Date()[_0x4a6ad3(0xd1)]()};if(this[_0x4a6ad3(0xa1)]['length']>=IMAGE_CONFIG['QUEUE_LIMIT'])return{'success':![],'error':_0x4a6ad3(0xde)+IMAGE_CONFIG[_0x4a6ad3(0xbc)]+_0x4a6ad3(0x103),'queueLength':this['queue'][_0x4a6ad3(0xe7)]};this['queue'][_0x4a6ad3(0xb4)](_0x53f92f),_0x3cfe31['push'](_0x175f2c),this['logger']?.[_0x4a6ad3(0x101)](_0x4a6ad3(0xd8)+_0x175f2c,{'prompt':_0xa6d507['prompt']['substring'](0x0,0x32)+_0x4a6ad3(0xe5),'queuePosition':this[_0x4a6ad3(0xa1)]['length']});}return!this['isProcessing']&&this[_0x4a6ad3(0xa9)]()['catch'](_0xb65b12=>{const _0x5ac304=_0x4a6ad3;this['logger']?.[_0x5ac304(0xd9)]('Queue\x20processing\x20error:',_0xb65b12);}),{'success':!![],'jobIds':_0x3cfe31,'queueLength':this[_0x4a6ad3(0xa1)]['length'],'message':_0xca9dc6['batch']?_0x3cfe31['length']+'\x20images\x20queued\x20for\x20generation':'Image\x20queued\x20for\x20generation','estimatedWaitTime':this[_0x4a6ad3(0x9d)]()};}catch(_0x306138){return this['logger']?.[_0x4a6ad3(0xd9)](_0x4a6ad3(0xa7),_0x306138),{'success':![],'error':_0x306138['message']};}}[a0_0x245888(0xe1)](_0x1cf36f){const _0x45c618=a0_0x245888;if(!_0x1cf36f[_0x45c618(0x121)]||_0x1cf36f[_0x45c618(0x121)]['length']===0x0)throw new Error('No\x20images\x20specified');for(const _0x494d4b of _0x1cf36f[_0x45c618(0x121)]){if(!_0x494d4b['prompt']||_0x494d4b[_0x45c618(0xdc)]['trim']()[_0x45c618(0xe7)]===0x0)throw new Error('Image\x20prompt\x20is\x20required');if(_0x494d4b[_0x45c618(0xdc)][_0x45c618(0xe7)]>IMAGE_CONFIG[_0x45c618(0xc4)])throw new Error(_0x45c618(0xcc)+IMAGE_CONFIG[_0x45c618(0xc4)]+'\x20characters)');if(_0x494d4b[_0x45c618(0xd2)]&&!IMAGE_CONFIG['VALID_SIZES']['includes'](_0x494d4b[_0x45c618(0xd2)]))throw new Error('Invalid\x20size:\x20'+_0x494d4b['size']+'.\x20Valid\x20sizes:\x20'+IMAGE_CONFIG['VALID_SIZES']['join'](',\x20'));if(_0x494d4b[_0x45c618(0xb2)]){const _0x4c8b05=a0_0x31adb9[_0x45c618(0xef)](_0x494d4b['outputPath'])['toLowerCase']()['replace']('.','');if(_0x4c8b05&&!IMAGE_CONFIG[_0x45c618(0x116)][_0x45c618(0x112)](_0x4c8b05))throw new Error(_0x45c618(0xdb)+_0x4c8b05+'.\x20Valid\x20formats:\x20'+IMAGE_CONFIG[_0x45c618(0x116)][_0x45c618(0xfb)](',\x20'));}}}async['_processQueue'](){const _0x4f548f=a0_0x245888;if(this['isProcessing'])return;this['isProcessing']=!![];while(this['queue'][_0x4f548f(0xe7)]>0x0){const _0x108290=this[_0x4f548f(0xa1)][_0x4f548f(0x107)]();this[_0x4f548f(0xd5)]=_0x108290,this[_0x4f548f(0x126)]?.[_0x4f548f(0x101)]('Processing\x20image\x20generation\x20job:\x20'+_0x108290[_0x4f548f(0xba)]);try{_0x108290[_0x4f548f(0x96)]=_0x4f548f(0x9c);const _0x38d549=await this[_0x4f548f(0x93)](_0x108290);_0x108290[_0x4f548f(0x96)]=_0x4f548f(0x123),_0x108290[_0x4f548f(0xf2)]=_0x38d549,_0x108290[_0x4f548f(0xe6)]=new Date()[_0x4f548f(0xd1)](),this[_0x4f548f(0xc2)]['set'](_0x108290['jobId'],_0x108290);if(global[_0x4f548f(0xc8)]&&_0x108290['sessionId']){let _0x56b38b,_0x1fc206=![];if(_0x38d549[_0x4f548f(0x92)]&&_0x38d549['resolvedOutputPath'])_0x56b38b=this['_convertToWebUrl'](_0x38d549[_0x4f548f(0x9b)],_0x108290[_0x4f548f(0xe9)]);else _0x38d549[_0x4f548f(0xaa)]&&(_0x56b38b=_0x38d549[_0x4f548f(0xaa)],_0x1fc206=!![]);global['loxiaWebServer'][_0x4f548f(0xb1)](_0x108290['sessionId'],{'type':_0x4f548f(0xe4),'agentId':_0x108290[_0x4f548f(0x10b)],'jobId':_0x108290[_0x4f548f(0xba)],'imageUrl':_0x56b38b,'localPath':_0x38d549['resolvedOutputPath'],'prompt':_0x108290[_0x4f548f(0xdc)],'success':!![],'isTemporary':_0x1fc206,'savedToDisk':_0x38d549[_0x4f548f(0x92)],'downloadError':_0x38d549['downloadError'],'timestamp':_0x108290['completedAt']}),this['logger']?.[_0x4f548f(0x101)]('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x108290['jobId'],'imageUrl':_0x56b38b,'localPath':_0x38d549[_0x4f548f(0x9b)],'savedToDisk':_0x38d549[_0x4f548f(0x92)],'isTemporary':_0x1fc206});if(this[_0x4f548f(0x104)]&&_0x108290[_0x4f548f(0x10b)])try{const _0x549dd3=await this['agentPool']['getAgent'](_0x108290['agentId']);if(_0x549dd3){let _0x2384cb='Image\x20generated:\x20'+_0x108290['prompt'];_0x1fc206&&(_0x2384cb+='\x0a\x0a⚠️\x20**Warning:**\x20Image\x20is\x20using\x20a\x20temporary\x20URL\x20(expires\x20in\x20~1\x20hour).\x20Failed\x20to\x20save\x20to\x20disk.',_0x38d549['downloadError']&&(_0x2384cb+=_0x4f548f(0xec)+_0x38d549[_0x4f548f(0xf7)]));const _0x23e472={'id':_0x4f548f(0xa5)+_0x108290['jobId'],'role':'assistant','content':_0x2384cb,'timestamp':_0x108290[_0x4f548f(0xe6)],'imageUrl':_0x56b38b,'type':_0x4f548f(0x100),'toolId':_0x4f548f(0x117),'status':_0x4f548f(0x123),'isTemporary':_0x1fc206||![],'savedToDisk':_0x38d549[_0x4f548f(0x92)]!==![]};_0x549dd3['conversations'][_0x4f548f(0x11e)][_0x4f548f(0xff)]['push'](_0x23e472),_0x549dd3['conversations']['full'][_0x4f548f(0x122)]=_0x108290['completedAt'],_0x549dd3[_0x4f548f(0xb3)]&&_0x549dd3['conversations'][_0x549dd3[_0x4f548f(0xb3)]]&&(_0x549dd3['conversations'][_0x549dd3[_0x4f548f(0xb3)]]['messages'][_0x4f548f(0xb4)](_0x23e472),_0x549dd3['conversations'][_0x549dd3['currentModel']]['lastUpdated']=_0x108290['completedAt']),_0x549dd3[_0x4f548f(0x120)]=_0x108290[_0x4f548f(0xe6)],await this[_0x4f548f(0x104)][_0x4f548f(0xed)](_0x108290['agentId']),this['logger']?.[_0x4f548f(0x101)](_0x4f548f(0x106),{'agentId':_0x108290[_0x4f548f(0x10b)],'jobId':_0x108290[_0x4f548f(0xba)],'messageId':_0x23e472['id']});}}catch(_0x134093){this[_0x4f548f(0x126)]?.[_0x4f548f(0xd9)]('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x134093[_0x4f548f(0x10e)],'agentId':_0x108290['agentId'],'jobId':_0x108290[_0x4f548f(0xba)]});}}this[_0x4f548f(0x126)]?.[_0x4f548f(0x101)](_0x4f548f(0x10a)+_0x108290['jobId'],{'outputPath':_0x38d549['resolvedOutputPath']});}catch(_0x2a8aca){this['logger']?.[_0x4f548f(0xd9)]('Image\x20generation\x20failed:\x20'+_0x108290[_0x4f548f(0xba)],_0x2a8aca),_0x108290['status']=_0x4f548f(0x90),_0x108290['error']=_0x2a8aca['message'],_0x108290[_0x4f548f(0xe6)]=new Date()[_0x4f548f(0xd1)](),this[_0x4f548f(0xc2)][_0x4f548f(0xc9)](_0x108290['jobId'],_0x108290);global['loxiaWebServer']&&_0x108290[_0x4f548f(0xe9)]&&(global['loxiaWebServer'][_0x4f548f(0xb1)](_0x108290['sessionId'],{'type':'imageGenerated','jobId':_0x108290[_0x4f548f(0xba)],'agentId':_0x108290['agentId'],'prompt':_0x108290['prompt'],'success':![],'error':_0x2a8aca[_0x4f548f(0x10e)],'timestamp':_0x108290[_0x4f548f(0xe6)]}),this['logger']?.[_0x4f548f(0x101)](_0x4f548f(0xf9),{'jobId':_0x108290[_0x4f548f(0xba)],'sessionId':_0x108290['sessionId'],'error':_0x2a8aca[_0x4f548f(0x10e)]}));if(this['agentPool']&&_0x108290[_0x4f548f(0x10b)])try{const _0x5318fc=await this[_0x4f548f(0x104)]['getAgent'](_0x108290[_0x4f548f(0x10b)]);if(_0x5318fc){const _0x3634e3={'id':'img-error-'+_0x108290[_0x4f548f(0xba)],'role':'system','content':_0x4f548f(0x9e)+_0x2a8aca[_0x4f548f(0x10e)]+_0x4f548f(0xb5)+_0x108290[_0x4f548f(0xdc)],'timestamp':_0x108290[_0x4f548f(0xe6)],'type':'error','toolId':'image-gen','status':_0x4f548f(0x90),'jobId':_0x108290['jobId']};_0x5318fc[_0x4f548f(0xc0)]['full']['messages']['push'](_0x3634e3),_0x5318fc[_0x4f548f(0xc0)]['full'][_0x4f548f(0x122)]=_0x108290['completedAt'],_0x5318fc['currentModel']&&_0x5318fc[_0x4f548f(0xc0)][_0x5318fc[_0x4f548f(0xb3)]]&&(_0x5318fc[_0x4f548f(0xc0)][_0x5318fc['currentModel']][_0x4f548f(0xff)][_0x4f548f(0xb4)](_0x3634e3),_0x5318fc[_0x4f548f(0xc0)][_0x5318fc[_0x4f548f(0xb3)]][_0x4f548f(0x122)]=_0x108290['completedAt']),_0x5318fc['lastActivity']=_0x108290['completedAt'],await this['agentPool']['persistAgentState'](_0x108290['agentId']),this['logger']?.['info']('Image\x20error\x20saved\x20to\x20conversation\x20history',{'agentId':_0x108290[_0x4f548f(0x10b)],'jobId':_0x108290[_0x4f548f(0xba)],'error':_0x2a8aca['message']});}}catch(_0x3a4857){this['logger']?.[_0x4f548f(0xd9)](_0x4f548f(0xdf),{'error':_0x3a4857[_0x4f548f(0x10e)],'agentId':_0x108290['agentId'],'jobId':_0x108290[_0x4f548f(0xba)]});}}}this['isProcessing']=![],this[_0x4f548f(0xd5)]=null;}async['_generateImage'](_0x2dd929){const _0x114953=a0_0x245888;if(!this[_0x114953(0xee)])throw new Error(_0x114953(0xd4));const _0x27b4bc=await this[_0x114953(0xdd)](_0x2dd929),_0x434678=a0_0x31adb9[_0x114953(0xa8)](_0x27b4bc);await a0_0x272c7f['mkdir'](_0x434678,{'recursive':!![]}),this['logger']?.['info']('Generating\x20image\x20with\x20'+_0x2dd929[_0x114953(0xb8)],{'size':_0x2dd929[_0x114953(0xd2)],'quality':_0x2dd929['quality']});const _0x3388e5={'model':_0x2dd929['model'],'size':_0x2dd929[_0x114953(0xd2)],'quality':_0x2dd929[_0x114953(0xbd)],'responseFormat':'url','sessionId':_0x2dd929['sessionId']},_0x3116d4=await this[_0x114953(0xee)]['generateImage'](_0x2dd929['prompt'],_0x3388e5),_0x2f23ca=_0x3116d4?.[_0x114953(0x11d)]||_0x3116d4?.['imageUrl'];if(!_0x2f23ca)throw new Error('No image URL received from AI service');this[_0x114953(0x126)]?.[_0x114953(0x101)]('Image\x20URL\x20received:\x20'+_0x2f23ca['substring'](0x0,0x32)+_0x114953(0xe5));let _0x318414=![],_0x1189d8=null;try{await this['_downloadImage'](_0x2f23ca,_0x27b4bc),_0x318414=!![],!_0x2dd929[_0x114953(0x109)]&&this['_scheduleCleanup'](_0x27b4bc,_0x2dd929['jobId']);}catch(_0x3f40e1){_0x1189d8=_0x3f40e1['message'],this[_0x114953(0x126)]?.['warn']('Failed\x20to\x20save\x20image\x20to\x20disk,\x20will\x20use\x20temporary\x20URL:\x20'+_0x3f40e1['message']);}return{'jobId':_0x2dd929['jobId'],'prompt':_0x2dd929[_0x114953(0xdc)],'outputPath':_0x2dd929['outputPath'],'resolvedOutputPath':_0x318414?_0x27b4bc:null,'temporaryUrl':_0x2f23ca,'savedToDisk':_0x318414,'downloadError':_0x1189d8,'success':!![],'model':_0x3116d4[_0x114953(0xb8)]||_0x2dd929['model'],'size':_0x2dd929['size'],'usage':_0x3116d4['usage']};}async['_resolveOutputPath'](_0x152994){const _0x83e748=a0_0x245888;if(_0x152994['saveToProject']){const _0x17fd05=_0x152994[_0x83e748(0xb9)]||process['cwd']();let _0x39e902=_0x152994[_0x83e748(0xb2)];if(!_0x39e902){const _0x43f9a3=Date[_0x83e748(0xc7)]();_0x39e902=_0x83e748(0x11b)+_0x43f9a3+'.png';}const _0x2d2163=a0_0x31adb9[_0x83e748(0xa4)](_0x39e902)?a0_0x31adb9[_0x83e748(0xcd)](_0x39e902):a0_0x31adb9['normalize'](a0_0x31adb9[_0x83e748(0xfb)](_0x17fd05,_0x39e902));if(!_0x2d2163[_0x83e748(0xeb)](a0_0x31adb9['normalize'](_0x17fd05)))throw new Error(_0x83e748(0xa2));if(_0x152994['directoryAccess']){const _0x373792=a0_0x31adb9['relative'](_0x17fd05,_0x2d2163);if(_0x373792[_0x83e748(0xeb)]('..'))throw new Error(_0x83e748(0xf5));}return _0x2d2163;}else{await a0_0x272c7f['mkdir'](this['tempDir'],{'recursive':!![]});let _0x2df4b0=_0x152994['outputPath']?a0_0x31adb9['basename'](_0x152994[_0x83e748(0xb2)]):_0x83e748(0xb6)+_0x152994[_0x83e748(0xba)]+_0x83e748(0x118);return a0_0x31adb9['join'](this['tempDir'],_0x2df4b0);}}async[a0_0x245888(0xf1)](_0x2d3a93,_0x4942d5){const _0x1e4865=a0_0x245888;try{const _0x134843=await fetch(_0x2d3a93,{'signal':AbortSignal[_0x1e4865(0xb7)](IMAGE_CONFIG[_0x1e4865(0xd0)])});if(!_0x134843['ok'])throw new Error('Failed\x20to\x20download\x20image:\x20HTTP\x20'+_0x134843['status']);const _0x26504=Buffer['from'](await _0x134843[_0x1e4865(0xc3)]());await a0_0x272c7f[_0x1e4865(0x115)](_0x4942d5,_0x26504),this[_0x1e4865(0x126)]?.[_0x1e4865(0x101)]('Image\x20saved\x20to:\x20'+_0x4942d5);}catch(_0x5180e2){if(_0x5180e2[_0x1e4865(0x10d)]===_0x1e4865(0xa6))throw new Error(_0x1e4865(0x102));else{if(_0x5180e2[_0x1e4865(0x10d)]===_0x1e4865(0x8d))throw new Error(_0x1e4865(0xe2)+_0x5180e2[_0x1e4865(0x10e)]);else throw new Error('Download\x20failed:\x20'+_0x5180e2['message']);}}}[a0_0x245888(0xfa)](_0x22dd56,_0xa08d54){const _0xcfe90d=setTimeout(async()=>{const _0x14f672=a0_0x8235;try{await a0_0x272c7f['unlink'](_0x22dd56),this['logger']?.[_0x14f672(0xcb)]('Cleaned\x20up\x20temp\x20image:\x20'+_0x22dd56),this[_0x14f672(0xac)]['delete'](_0xa08d54);}catch(_0x4a6010){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this['cleanupTimers']['set'](_0xa08d54,_0xcfe90d);}[a0_0x245888(0xf0)](_0x58d557,_0x420097){const _0xe5fe8c=a0_0x245888,_0x4f678e=a0_0x31adb9[_0xe5fe8c(0xae)](_0x58d557),_0x527a1d=global[_0xe5fe8c(0xc8)]?.['port']||0x1f90;let _0x403c35=global[_0xe5fe8c(0xc8)]?.[_0xe5fe8c(0xf6)]||_0xe5fe8c(0x10c);return _0x403c35===_0xe5fe8c(0x94)&&(_0x403c35='localhost'),'http://'+_0x403c35+':'+_0x527a1d+'/api/images/'+_0x420097+'/'+_0x4f678e;}[a0_0x245888(0x9d)](){const _0x5f3a02=a0_0x245888,_0x288289=0x1e,_0x44c6f5=this['queue'][_0x5f3a02(0xe7)];if(_0x44c6f5===0x0)return _0x5f3a02(0x98);const _0x1753f8=_0x44c6f5*_0x288289,_0x144706=Math[_0x5f3a02(0xad)](_0x1753f8/0x3c),_0x1654ac=_0x1753f8%0x3c;if(_0x144706>0x0)return'~'+_0x144706+'m\x20'+_0x1654ac+'s';return'~'+_0x1654ac+'s';}[a0_0x245888(0xbe)](){const _0x4dccc2=a0_0x245888;return _0x4dccc2(0x8c)+Date['now']()+'-'+Math[_0x4dccc2(0xa3)]()[_0x4dccc2(0x124)](0x24)['substring'](0x2,0x9);}[a0_0x245888(0x8e)](_0x5cb1c3){const _0x1a504f=a0_0x245888;if(this['completedJobs']['has'](_0x5cb1c3))return this['completedJobs']['get'](_0x5cb1c3);if(this[_0x1a504f(0xd5)]&&this[_0x1a504f(0xd5)][_0x1a504f(0xba)]===_0x5cb1c3)return this['currentJob'];const _0x593758=this[_0x1a504f(0xa1)][_0x1a504f(0xbf)](_0x59b629=>_0x59b629[_0x1a504f(0xba)]===_0x5cb1c3);if(_0x593758)return _0x593758;return{'jobId':_0x5cb1c3,'status':'not_found'};}async['cleanup'](){const _0x235a14=a0_0x245888;this[_0x235a14(0x126)]?.['info'](_0x235a14(0x110));for(const _0x738ca1 of this['cleanupTimers'][_0x235a14(0x91)]()){clearTimeout(_0x738ca1);}this[_0x235a14(0xac)][_0x235a14(0x10f)]();for(const _0x3b25d3 of this['queue']){_0x3b25d3['status']='cancelled';}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_0x335cdc=a0_0x5b26;(function(_0xe134d5,_0x1b84b3){const _0x390d5e=a0_0x5b26,_0x5cb018=_0xe134d5();while(!![]){try{const _0x5b7cce=parseInt(_0x390d5e(0x13d))/0x1+-parseInt(_0x390d5e(0x174))/0x2*(parseInt(_0x390d5e(0x15b))/0x3)+parseInt(_0x390d5e(0x1a2))/0x4+parseInt(_0x390d5e(0x13b))/0x5*(-parseInt(_0x390d5e(0x146))/0x6)+parseInt(_0x390d5e(0x160))/0x7*(parseInt(_0x390d5e(0x112))/0x8)+-parseInt(_0x390d5e(0x181))/0x9+parseInt(_0x390d5e(0x197))/0xa;if(_0x5b7cce===_0x1b84b3)break;else _0x5cb018['push'](_0x5cb018['shift']());}catch(_0x2d2e97){_0x5cb018['push'](_0x5cb018['shift']());}}}(a0_0x2211,0xb237e));import{promises as a0_0x3c9c93}from'fs';import a0_0x2f562d from'path';import{BaseTool}from'./baseTool.js';function a0_0x5b26(_0x5b0ab9,_0x2d3c10){_0x5b0ab9=_0x5b0ab9-0x10c;const _0x22111b=a0_0x2211();let _0x5b2627=_0x22111b[_0x5b0ab9];if(a0_0x5b26['XyqfxV']===undefined){var _0x2395bc=function(_0x228762){const _0x2719c0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c9c93='',_0x2f562d='';for(let _0x21e836=0x0,_0x4740ef,_0x20ec1b,_0x17e657=0x0;_0x20ec1b=_0x228762['charAt'](_0x17e657++);~_0x20ec1b&&(_0x4740ef=_0x21e836%0x4?_0x4740ef*0x40+_0x20ec1b:_0x20ec1b,_0x21e836++%0x4)?_0x3c9c93+=String['fromCharCode'](0xff&_0x4740ef>>(-0x2*_0x21e836&0x6)):0x0){_0x20ec1b=_0x2719c0['indexOf'](_0x20ec1b);}for(let _0x52cc85=0x0,_0x40dda4=_0x3c9c93['length'];_0x52cc85<_0x40dda4;_0x52cc85++){_0x2f562d+='%'+('00'+_0x3c9c93['charCodeAt'](_0x52cc85)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f562d);};a0_0x5b26['pPKtwg']=_0x2395bc,a0_0x5b26['KZfAUr']={},a0_0x5b26['XyqfxV']=!![];}const _0x464aa9=_0x22111b[0x0],_0x2bca6d=_0x5b0ab9+_0x464aa9,_0x27d955=a0_0x5b26['KZfAUr'][_0x2bca6d];return!_0x27d955?(_0x5b2627=a0_0x5b26['pPKtwg'](_0x5b2627),a0_0x5b26['KZfAUr'][_0x2bca6d]=_0x5b2627):_0x5b2627=_0x27d955,_0x5b2627;}import a0_0x21e836 from'../utilities/tagParser.js';const ANALYZER_CONFIG={'DEFAULT_MODE':a0_0x335cdc(0x11f),'VALID_MODES':['full','quick',a0_0x335cdc(0x17c)],'DEFAULT_OUTPUT':'summary','VALID_OUTPUTS':[a0_0x335cdc(0x1a5),a0_0x335cdc(0x11e),'json'],'DEFAULT_IGNORE_FILE':a0_0x335cdc(0x1ad),'MAX_FILES':0x2710,'SUPPORTED_EXTENSIONS':['.js',a0_0x335cdc(0x14b),'.ts',a0_0x335cdc(0x1b4),'.tsx'],'DEFAULT_IGNORE_PATTERNS':['node_modules','.git','dist',a0_0x335cdc(0x1ab),a0_0x335cdc(0x176)],'FILE_READ_TIMEOUT':0x1388};export class ImportAnalyzerTool extends BaseTool{constructor(_0x4740ef={},_0x20ec1b=null){super(_0x4740ef,_0x20ec1b),this['id']='import-analyzer';}['getDescription'](){const _0x2354f4=a0_0x335cdc;return _0x2354f4(0x119);}['parseParameters'](_0x17e657){const _0x540414=a0_0x335cdc;if(typeof _0x17e657===_0x540414(0x1aa)&&_0x17e657!==null)return{'path':_0x17e657[_0x540414(0x18b)]||'.','mode':_0x17e657['mode']||ANALYZER_CONFIG[_0x540414(0x1a1)],'output':_0x17e657['output']||ANALYZER_CONFIG[_0x540414(0x178)],'ignoreFile':_0x17e657['ignoreFile']||ANALYZER_CONFIG[_0x540414(0x171)]};if(typeof _0x17e657==='string'){const _0x52cc85=/<import-analyzer([^>]*)>([\s\S]*?)<\/import-analyzer>/i,_0x40dda4=_0x52cc85['exec'](_0x17e657);if(_0x40dda4){const _0x2dbd33=_0x40dda4[0x1],_0x10439f=_0x40dda4[0x2],_0x634443=/path=["']([^"']*)["']/i[_0x540414(0x186)](_0x2dbd33),_0x56e373=/mode=["']([^"']*)["']/i['exec'](_0x2dbd33),_0x2caba7=/output=["']([^"']*)["']/i[_0x540414(0x186)](_0x2dbd33),_0x478433=/ignore-file=["']([^"']*)["']/i['exec'](_0x2dbd33),_0x1f5047=/<path>(.*?)<\/path>/i,_0x497838=_0x1f5047['exec'](_0x10439f),_0x4728ee=/<mode>(.*?)<\/mode>/i,_0x20e306=_0x4728ee[_0x540414(0x186)](_0x10439f),_0xaff877=/<output>(.*?)<\/output>/i,_0x3fc256=_0xaff877['exec'](_0x10439f),_0x49f56a=/<ignore-file>(.*?)<\/ignore-file>/i,_0x10d2b=_0x49f56a[_0x540414(0x186)](_0x10439f),_0x3747c7=(_0x497838?_0x497838[0x1]['trim']():null)||(_0x634443?_0x634443[0x1]:'.'),_0x4b3b5a=(_0x20e306?_0x20e306[0x1][_0x540414(0x12e)]():null)||(_0x56e373?_0x56e373[0x1]:ANALYZER_CONFIG['DEFAULT_MODE']),_0x1d6e9f=(_0x3fc256?_0x3fc256[0x1][_0x540414(0x12e)]():null)||(_0x2caba7?_0x2caba7[0x1]:ANALYZER_CONFIG[_0x540414(0x178)]),_0x37c7be=(_0x10d2b?_0x10d2b[0x1]['trim']():null)||(_0x478433?_0x478433[0x1]:ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']);return{'path':_0x3747c7,'mode':_0x4b3b5a,'output':_0x1d6e9f,'ignoreFile':_0x37c7be};}try{const _0xa02f8a=a0_0x21e836[_0x540414(0x116)](_0x17e657,'analyze');if(_0xa02f8a&&_0xa02f8a[_0x540414(0x17e)]>0x0){const _0x53e24f=_0xa02f8a[0x0];return{'path':_0x53e24f[_0x540414(0x173)][_0x540414(0x18b)]||'.','mode':_0x53e24f[_0x540414(0x173)][_0x540414(0x19e)]||ANALYZER_CONFIG[_0x540414(0x1a1)],'output':_0x53e24f[_0x540414(0x173)][_0x540414(0x128)]||ANALYZER_CONFIG['DEFAULT_OUTPUT'],'ignoreFile':_0x53e24f[_0x540414(0x173)][_0x540414(0x120)]||ANALYZER_CONFIG['DEFAULT_IGNORE_FILE']};}}catch(_0x122aaf){}throw new Error('Invalid import-analyzer format. Use <import-analyzer> tags or JSON format.');}throw new Error('Invalid\x20parameter\x20format.\x20Expected\x20string\x20(XML)\x20or\x20object\x20(JSON).');}[a0_0x335cdc(0x165)](_0x509db6){const _0x53d520=a0_0x335cdc;if(!_0x509db6||typeof _0x509db6!=='object')throw new Error('Parameters\x20must\x20be\x20an\x20object');if(_0x509db6[_0x53d520(0x18b)]&&typeof _0x509db6['path']!=='string')throw new Error(_0x53d520(0x19c));if(_0x509db6[_0x53d520(0x19e)]&&!ANALYZER_CONFIG['VALID_MODES'][_0x53d520(0x15e)](_0x509db6['mode']))throw new Error('Invalid\x20mode:\x20'+_0x509db6['mode']+_0x53d520(0x18c)+ANALYZER_CONFIG['VALID_MODES'][_0x53d520(0x129)](',\x20'));if(_0x509db6[_0x53d520(0x128)]&&!ANALYZER_CONFIG[_0x53d520(0x10d)][_0x53d520(0x15e)](_0x509db6[_0x53d520(0x128)]))throw new Error('Invalid\x20output:\x20'+_0x509db6['output']+'.\x20Must\x20be\x20one\x20of:\x20'+ANALYZER_CONFIG[_0x53d520(0x10d)][_0x53d520(0x129)](',\x20'));if(_0x509db6['ignoreFile']&&typeof _0x509db6[_0x53d520(0x14c)]!=='string')throw new Error(_0x53d520(0x192));}[a0_0x335cdc(0x17f)](_0x26848f,_0x5f1e94){const _0x30530d=a0_0x335cdc,{projectDir:_0x5e760b,directoryAccess:_0x30465a}=_0x5f1e94;let _0x52937c=_0x5e760b||process[_0x30530d(0x182)]();_0x30465a&&_0x30465a['workingDirectory']&&(_0x52937c=_0x30465a[_0x30530d(0x134)]);const _0x41bcae=a0_0x2f562d['isAbsolute'](_0x26848f)?a0_0x2f562d[_0x30530d(0x1b0)](_0x26848f):a0_0x2f562d['normalize'](a0_0x2f562d['join'](_0x52937c,_0x26848f)),_0x4d8031=a0_0x2f562d[_0x30530d(0x1b0)](_0x52937c);if(!_0x41bcae[_0x30530d(0x172)](_0x4d8031))throw new Error(_0x30530d(0x149)+_0x26848f+_0x30530d(0x16d));return _0x41bcae;}async[a0_0x335cdc(0x11c)](_0x17b2cf,_0x32fb19={}){const _0x4b82b7=a0_0x335cdc;try{this['_validateParameters'](_0x17b2cf);const {path:_0x522dae,mode:_0x277268,output:_0x3e0c9e,ignoreFile:_0x22fe07}=_0x17b2cf,{projectDir:_0x6e6a10,agentId:_0x52d5d2,directoryAccess:_0x52516d}=_0x32fb19,_0x56d354=this[_0x4b82b7(0x17f)](_0x522dae,_0x32fb19);this['logger']?.[_0x4b82b7(0x147)]('Import\x20analyzer\x20executing',{'mode':_0x277268,'resolvedPath':_0x56d354,'output':_0x3e0c9e,'agentId':_0x52d5d2});const _0x11f802=[];_0x11f802['push']('🔍\x20Analyzing\x20imports\x20in:\x20'+_0x56d354),_0x11f802['push']('Mode:\x20'+_0x277268),_0x11f802[_0x4b82b7(0x18a)]('Output:\x20'+_0x3e0c9e+'\x0a');try{await a0_0x3c9c93[_0x4b82b7(0x157)](_0x56d354);}catch{return{'success':![],'error':_0x4b82b7(0x177)+_0x56d354,'output':_0x11f802[_0x4b82b7(0x129)]('\x0a')};}const _0x1a8b67=new ImportExportAnalyzer(_0x56d354,_0x22fe07,this['logger']),_0x3a6da5=await _0x1a8b67['analyze'](_0x277268);let _0x2f4add;switch(_0x3e0c9e){case _0x4b82b7(0x13f):_0x2f4add=JSON['stringify'](_0x3a6da5,null,0x2);break;case'detailed':_0x2f4add=this['_formatDetailedOutput'](_0x3a6da5),_0x11f802[_0x4b82b7(0x18a)](_0x2f4add);break;case _0x4b82b7(0x1a5):default:_0x2f4add=this['_formatSummaryOutput'](_0x3a6da5),_0x11f802[_0x4b82b7(0x18a)](_0x2f4add);break;}return{'success':!![],'mode':_0x277268,'message':'Import\x20analysis\x20completed','statistics':{'totalFiles':_0x3a6da5['summary']['totalFiles'],'totalImports':_0x3a6da5['summary'][_0x4b82b7(0x1ac)],'totalExports':_0x3a6da5[_0x4b82b7(0x1a5)][_0x4b82b7(0x180)],'issuesFound':_0x3a6da5[_0x4b82b7(0x163)]['length']+Object['values'](_0x3a6da5[_0x4b82b7(0x15c)])['reduce']((_0x556211,_0xe34443)=>_0x556211+_0xe34443[_0x4b82b7(0x17e)],0x0)},'output':_0x3e0c9e==='json'?_0x2f4add:_0x11f802[_0x4b82b7(0x129)]('\x0a'),'results':_0x3a6da5};}catch(_0x4108f5){return this[_0x4b82b7(0x135)]?.[_0x4b82b7(0x17b)](_0x4b82b7(0x179),_0x4108f5),{'success':![],'error':_0x4108f5[_0x4b82b7(0x1a7)],'output':_0x4108f5[_0x4b82b7(0x1a7)]};}}['_formatSummaryOutput'](_0x346f90){const _0x4fdaa4=a0_0x335cdc,_0x34bdb0=[];_0x34bdb0[_0x4fdaa4(0x18a)]('📊\x20Import/Export\x20Analysis\x20Summary'),_0x34bdb0[_0x4fdaa4(0x18a)](_0x4fdaa4(0x131)),_0x34bdb0['push'](_0x4fdaa4(0x1a6)+_0x346f90['summary'][_0x4fdaa4(0x117)]),_0x34bdb0[_0x4fdaa4(0x18a)]('📥\x20Total\x20imports:\x20'+_0x346f90['summary'][_0x4fdaa4(0x1ac)]),_0x34bdb0[_0x4fdaa4(0x18a)](_0x4fdaa4(0x132)+_0x346f90[_0x4fdaa4(0x1a5)][_0x4fdaa4(0x180)]+'\x0a');const _0xc5959e=_0x346f90[_0x4fdaa4(0x163)][_0x4fdaa4(0x17e)],_0x4b1828=Object[_0x4fdaa4(0x190)](_0x346f90[_0x4fdaa4(0x15c)])[_0x4fdaa4(0x12f)]((_0x9eae88,_0x372169)=>_0x9eae88+_0x372169[_0x4fdaa4(0x17e)],0x0),_0x552984=_0x346f90['circularDependencies']?_0x346f90[_0x4fdaa4(0x110)]['length']:0x0;return _0xc5959e>0x0&&_0x34bdb0['push']('❌\x20Missing\x20files:\x20'+_0xc5959e+'\x20imports\x20pointing\x20to\x20non-existent\x20files'),_0x4b1828>0x0&&_0x34bdb0[_0x4fdaa4(0x18a)]('⚠️\x20\x20Missing\x20exports:\x20'+_0x4b1828+'\x20symbols\x20not\x20exported\x20from\x20their\x20sources'),_0x552984>0x0&&_0x34bdb0['push']('🔄\x20Circular\x20dependencies:\x20'+_0x552984+_0x4fdaa4(0x122)),_0xc5959e===0x0&&_0x4b1828===0x0&&_0x552984===0x0?_0x34bdb0[_0x4fdaa4(0x18a)]('\u2705 No import/export issues detected!'):(_0x34bdb0[_0x4fdaa4(0x18a)](_0x4fdaa4(0x145)),Object[_0x4fdaa4(0x115)](_0x346f90['missingFiles']||{})[_0x4fdaa4(0x17e)]>0x0&&(_0x34bdb0['push']('\x0a\x20\x20Missing\x20Files:'),Object[_0x4fdaa4(0x188)](_0x346f90[_0x4fdaa4(0x150)])['slice'](0x0,0x3)['forEach'](([_0x4c5965,_0x5d651d])=>{const _0x3455d4=_0x4fdaa4;_0x34bdb0['push'](_0x3455d4(0x136)+_0x4c5965+'\x20has\x20'+_0x5d651d[_0x3455d4(0x17e)]+_0x3455d4(0x169));})),Object[_0x4fdaa4(0x115)](_0x346f90['missingExports'])['length']>0x0&&(_0x34bdb0['push'](_0x4fdaa4(0x12d)),Object[_0x4fdaa4(0x188)](_0x346f90['missingExports'])['slice'](0x0,0x3)['forEach'](([_0xe41203,_0xdf014])=>{const _0x3773dd=_0x4fdaa4;_0x34bdb0['push'](_0x3773dd(0x136)+_0xe41203+'\x20imports\x20'+_0xdf014['length']+_0x3773dd(0x14e));})),_0x34bdb0['push']('\x0a💡\x20Run\x20with\x20output=\x22detailed\x22\x20for\x20complete\x20analysis\x20and\x20fix\x20suggestions')),_0x34bdb0[_0x4fdaa4(0x129)]('\x0a');}[a0_0x335cdc(0x17a)](_0x78fe82){const _0x102b5c=a0_0x335cdc,_0x43496b=[];_0x43496b['push'](_0x102b5c(0x10e)),_0x43496b[_0x102b5c(0x18a)](_0x102b5c(0x113)),_0x43496b['push']('📈\x20Statistics:'),_0x43496b['push'](_0x102b5c(0x185)+_0x78fe82['summary']['totalFiles']),_0x43496b['push'](_0x102b5c(0x191)+_0x78fe82[_0x102b5c(0x1a5)]['totalImports']),_0x43496b[_0x102b5c(0x18a)]('\x20\x20•\x20Total\x20exports:\x20'+_0x78fe82[_0x102b5c(0x1a5)][_0x102b5c(0x180)]+'\x0a');if(_0x78fe82['fileNotFoundImports']['length']>0x0){_0x43496b[_0x102b5c(0x18a)](_0x102b5c(0x15a)),_0x43496b['push'](_0x102b5c(0x18d));const _0x256451={};_0x78fe82[_0x102b5c(0x163)]['forEach'](_0x53d70b=>{const _0x1efd29=_0x102b5c;!_0x256451[_0x53d70b['importingFile']]&&(_0x256451[_0x53d70b['importingFile']]=[]),_0x256451[_0x53d70b[_0x1efd29(0x167)]][_0x1efd29(0x18a)](_0x53d70b);}),Object[_0x102b5c(0x188)](_0x256451)['forEach'](([_0x402b67,imports])=>{const _0x3701e4=_0x102b5c;_0x43496b[_0x3701e4(0x18a)](_0x3701e4(0x1a3)+_0x402b67+':'),imports['forEach'](_0x313f39=>{const _0x421b24=_0x3701e4,importType=_0x313f39[_0x421b24(0x166)]?'default':_0x313f39['isNamespace']?_0x421b24(0x121):_0x421b24(0x118);_0x43496b['push'](_0x421b24(0x144)+_0x313f39[_0x421b24(0x19a)]),_0x43496b['push'](_0x421b24(0x152)+_0x313f39['importedSymbol']+'\x20('+importType+')'),_0x43496b['push']('\x20\x20\x20\x20\x20\x20💡\x20Fix:\x20Check\x20if\x20file\x20exists\x20or\x20correct\x20the\x20import\x20path');});});}Object['keys'](_0x78fe82['missingExports'])['length']>0x0&&(_0x43496b['push'](_0x102b5c(0x13a)),_0x43496b['push'](_0x102b5c(0x1a9)),Object[_0x102b5c(0x188)](_0x78fe82[_0x102b5c(0x15c)])[_0x102b5c(0x153)](([_0x1d321c,_0x15a11b])=>{const _0x668248=_0x102b5c;_0x43496b['push']('\x0a📄\x20'+_0x1d321c+':'),_0x15a11b[_0x668248(0x153)](_0x167695=>{const _0x5d4e08=_0x668248,importType=_0x167695['isDefault']?'default':_0x167695[_0x5d4e08(0x1a4)]?'namespace':_0x5d4e08(0x118);_0x43496b[_0x5d4e08(0x18a)](_0x5d4e08(0x16a)+_0x167695['importedSymbol']+'\x22\x20('+importType+')'),_0x43496b['push'](_0x5d4e08(0x126)+_0x167695['importedFromFile']);if(_0x167695[_0x5d4e08(0x1a8)]['length']>0x0){_0x43496b[_0x5d4e08(0x18a)]('\x20\x20\x20\x20\x20\x20📤\x20Available\x20exports:\x20'+_0x167695['availableExports']['join'](',\x20'));if(_0x167695[_0x5d4e08(0x166)]&&_0x167695['availableExports'][_0x5d4e08(0x15e)]('default'))_0x43496b[_0x5d4e08(0x18a)](_0x5d4e08(0x187));else{if(_0x167695[_0x5d4e08(0x166)]&&!_0x167695[_0x5d4e08(0x1a8)]['includes']('default'))_0x43496b['push'](_0x5d4e08(0x15f)+(_0x167695['availableExports'][0x0]||'symbolName')+'\x20}');else{const _0x2a2515=_0x167695['availableExports']['find'](_0x60f43c=>_0x60f43c['toLowerCase']()===_0x167695['importedSymbol'][_0x5d4e08(0x199)]());_0x2a2515?_0x43496b[_0x5d4e08(0x18a)](_0x5d4e08(0x168)+_0x2a2515+_0x5d4e08(0x155)):_0x43496b[_0x5d4e08(0x18a)](_0x5d4e08(0x12a)+_0x167695[_0x5d4e08(0x143)]+'\x22\x20or\x20use\x20one\x20of\x20the\x20available\x20exports');}}}else _0x43496b[_0x5d4e08(0x18a)](_0x5d4e08(0x133)),_0x43496b['push'](_0x5d4e08(0x10c)+_0x167695['importedFromFile']+_0x5d4e08(0x140));});}));_0x78fe82[_0x102b5c(0x110)]&&_0x78fe82['circularDependencies'][_0x102b5c(0x17e)]>0x0&&(_0x43496b[_0x102b5c(0x18a)](_0x102b5c(0x159)),_0x43496b[_0x102b5c(0x18a)](_0x102b5c(0x170)),_0x78fe82[_0x102b5c(0x110)][_0x102b5c(0x153)]((_0x79c95c,_0x5b4581)=>{const _0x127911=_0x102b5c;_0x43496b['push']('\x0a\x20\x20Cycle\x20'+(_0x5b4581+0x1)+':'),_0x79c95c['forEach']((_0x1e8cd2,_0x27639b)=>{const _0x31f801=a0_0x5b26;_0x27639b<_0x79c95c[_0x31f801(0x17e)]-0x1&&_0x43496b[_0x31f801(0x18a)]('\x20\x20\x20\x20'+_0x1e8cd2+_0x31f801(0x175)+_0x79c95c[_0x27639b+0x1]);}),_0x43496b[_0x127911(0x18a)]('\x20\x20\x20\x20💡\x20Fix:\x20Refactor\x20to\x20break\x20the\x20circular\x20dependency');}));_0x78fe82[_0x102b5c(0x156)]&&Object[_0x102b5c(0x115)](_0x78fe82['unusedExports'])[_0x102b5c(0x17e)]>0x0&&(_0x43496b['push']('\x0a🗑️\x20\x20POTENTIALLY\x20UNUSED\x20EXPORTS'),_0x43496b[_0x102b5c(0x18a)]('──────────────────────────────'),Object['entries'](_0x78fe82[_0x102b5c(0x156)])['slice'](0x0,0xa)[_0x102b5c(0x153)](([_0x16abf1,exports])=>{const _0x109cc7=_0x102b5c;_0x43496b['push']('\x0a📄\x20'+_0x16abf1+':'),_0x43496b['push']('\x20\x20\x20Unused:\x20'+exports[_0x109cc7(0x129)](',\x20'));}),_0x43496b[_0x102b5c(0x18a)]('\n \uD83D\uDCA1 Note: These exports are not imported within this project'),_0x43496b[_0x102b5c(0x18a)]('\x20\x20\x20\x20\x20\x20They\x20might\x20be\x20used\x20by\x20external\x20packages\x20or\x20could\x20be\x20removed'));_0x43496b['push']('\x0a📋\x20RECOMMENDATIONS'),_0x43496b['push']('──────────────────');const _0x25d0f4=_0x78fe82[_0x102b5c(0x163)][_0x102b5c(0x17e)]+Object[_0x102b5c(0x190)](_0x78fe82[_0x102b5c(0x15c)])[_0x102b5c(0x12f)]((_0x16fa8f,_0x123a72)=>_0x16fa8f+_0x123a72['length'],0x0);return _0x25d0f4===0x0?_0x43496b['push']('\u2705 Your import/export structure looks good!'):(_0x43496b[_0x102b5c(0x18a)]('Found\x20'+_0x25d0f4+'\x20issue(s)\x20that\x20need\x20attention:'),_0x78fe82['fileNotFoundImports']['length']>0x0&&_0x43496b[_0x102b5c(0x18a)](_0x102b5c(0x16e)+_0x78fe82['fileNotFoundImports'][_0x102b5c(0x17e)]+'\x20missing\x20file\x20reference(s)'),Object[_0x102b5c(0x115)](_0x78fe82[_0x102b5c(0x15c)])['length']>0x0&&_0x43496b[_0x102b5c(0x18a)](_0x102b5c(0x162)+Object['values'](_0x78fe82['missingExports'])['reduce']((_0x57a2a6,_0x56019b)=>_0x57a2a6+_0x56019b[_0x102b5c(0x17e)],0x0)+_0x102b5c(0x137)),_0x78fe82['circularDependencies']&&_0x78fe82[_0x102b5c(0x110)][_0x102b5c(0x17e)]>0x0&&_0x43496b[_0x102b5c(0x18a)]('\x20\x203.\x20Refactor\x20'+_0x78fe82[_0x102b5c(0x110)][_0x102b5c(0x17e)]+_0x102b5c(0x130))),_0x43496b['join']('\x0a');}}class ImportExportAnalyzer{constructor(_0x16f814,_0x4e96aa=a0_0x335cdc(0x1ad),_0x35af75=null){const _0xa2f7e2=a0_0x335cdc;this['rootDir']=a0_0x2f562d[_0xa2f7e2(0x19f)](_0x16f814),this['ignoreFile']=_0x4e96aa,this[_0xa2f7e2(0x135)]=_0x35af75,this['ignorePatterns']=[...ANALYZER_CONFIG[_0xa2f7e2(0x114)]],this['imports']=[],this[_0xa2f7e2(0x198)]=new Map(),this['dependencies']=new Map();}async['loadIgnoreFile'](){const _0x4854bf=a0_0x335cdc;try{const _0x5a1a68=a0_0x2f562d['join'](this[_0x4854bf(0x19b)],this['ignoreFile']),_0x5eec48=await a0_0x3c9c93[_0x4854bf(0x1b3)](_0x5a1a68,_0x4854bf(0x196)),_0x5a49d8=_0x5eec48['split']('\x0a')['map'](_0x1da7ca=>_0x1da7ca['trim']())[_0x4854bf(0x164)](_0x500e0f=>_0x500e0f&&!_0x500e0f['startsWith']('#'));this[_0x4854bf(0x13e)]['push'](..._0x5a49d8),this[_0x4854bf(0x135)]?.[_0x4854bf(0x183)]('Loaded\x20ignore\x20patterns',{'count':_0x5a49d8[_0x4854bf(0x17e)]});}catch{this['logger']?.[_0x4854bf(0x183)]('No ignore file found, using defaults');}}['shouldIgnoreFile'](_0x1e35f0){const _0x2afdeb=a0_0x335cdc,_0x28c102=a0_0x2f562d[_0x2afdeb(0x154)](this[_0x2afdeb(0x19b)],_0x1e35f0);return this[_0x2afdeb(0x13e)][_0x2afdeb(0x189)](_0x332875=>{const _0x13d228=_0x2afdeb;if(_0x332875['includes']('*')){const _0x4a3af6=new RegExp(_0x332875['replace'](/\*/g,'.*'));return _0x4a3af6[_0x13d228(0x194)](_0x28c102)||_0x4a3af6[_0x13d228(0x194)](a0_0x2f562d[_0x13d228(0x1b1)](_0x1e35f0));}return _0x28c102['includes'](_0x332875)||a0_0x2f562d['basename'](_0x1e35f0)===_0x332875;});}async[a0_0x335cdc(0x17d)](_0x38b4d6){const _0x3eec6b=a0_0x335cdc,_0x5e3adb=[],_0x57dabc=async _0x12ca18=>{const _0x6829b7=a0_0x5b26;try{const _0x16c63a=await a0_0x3c9c93['readdir'](_0x12ca18,{'withFileTypes':!![]});for(const _0xd32083 of _0x16c63a){const _0x33001d=a0_0x2f562d[_0x6829b7(0x129)](_0x12ca18,_0xd32083[_0x6829b7(0x13c)]);if(this['shouldIgnoreFile'](_0x33001d))continue;if(_0xd32083[_0x6829b7(0x1af)]())await _0x57dabc(_0x33001d);else{if(_0xd32083[_0x6829b7(0x123)]()){const _0x211bd1=a0_0x2f562d[_0x6829b7(0x148)](_0xd32083['name']);ANALYZER_CONFIG[_0x6829b7(0x1a0)]['includes'](_0x211bd1)&&_0x5e3adb[_0x6829b7(0x18a)](_0x33001d);}}}}catch(_0x16118f){this['logger']?.[_0x6829b7(0x111)]('Cannot\x20read\x20directory',{'dir':_0x12ca18,'error':_0x16118f[_0x6829b7(0x1a7)]});}};await _0x57dabc(_0x38b4d6);if(_0x5e3adb[_0x3eec6b(0x17e)]>ANALYZER_CONFIG['MAX_FILES']){this['logger']?.['warn']('File\x20count\x20exceeds\x20limit:\x20'+_0x5e3adb[_0x3eec6b(0x17e)]+_0x3eec6b(0x10f)+ANALYZER_CONFIG['MAX_FILES']);throw new Error(_0x3eec6b(0x14f)+_0x5e3adb[_0x3eec6b(0x17e)]+'\x20(max:\x20'+ANALYZER_CONFIG[_0x3eec6b(0x151)]+')');}return _0x5e3adb;}async['parseImports'](_0x2ee29a,_0x38da14){const _0x1b391b=a0_0x335cdc,imports=[],_0x2e5a60=_0x2ee29a['split']('\x0a'),_0x2fa3d5=this['getRelativePath'](_0x38da14);!this['dependencies']['has'](_0x2fa3d5)&&this[_0x1b391b(0x1ae)][_0x1b391b(0x138)](_0x2fa3d5,new Set());for(let _0x69c362=0x0;_0x69c362<_0x2e5a60[_0x1b391b(0x17e)];_0x69c362++){const _0x1a2309=_0x2e5a60[_0x69c362]['trim']();if(_0x1a2309['startsWith']('//')||_0x1a2309['startsWith']('/*'))continue;let _0x2008aa=_0x1a2309,_0x108197=_0x69c362;while(!_0x2008aa['includes'](';')&&!_0x2008aa['match'](/from\s+['"`][^'"`]+['"`]/)&&_0x108197<_0x2e5a60['length']-0x1){_0x108197++;const _0x572f51=_0x2e5a60[_0x108197][_0x1b391b(0x12e)]();if(_0x572f51['startsWith']('//')||_0x572f51['startsWith']('/*'))continue;_0x2008aa+='\x20'+_0x572f51;}const importRegex=/import\s+(?:(?:\{([^}]+)\})|(?:([^,\s]+)(?:\s*,\s*\{([^}]+)\})?)|(?:\*\s+as\s+([^,\s]+)))\s+from\s+['"`]([^'"`]+)['"`]/g;let _0x5de893;while((_0x5de893=importRegex['exec'](_0x2008aa))!==null){const [,_0x1456af,defaultImport,_0x5a8b4f,_0x5e349e,_0x2c2ba3]=_0x5de893,_0x49292a=await this[_0x1b391b(0x12b)](_0x2c2ba3,_0x38da14);!_0x49292a[_0x1b391b(0x158)]&&_0x49292a[_0x1b391b(0x184)]&&this['dependencies'][_0x1b391b(0x18e)](_0x2fa3d5)['add'](_0x49292a['path']);defaultImport&&imports[_0x1b391b(0x18a)]({'importingFile':_0x2fa3d5,'importedSymbol':defaultImport['trim'](),'importedFromFile':_0x49292a[_0x1b391b(0x18b)],'fileExists':_0x49292a['exists'],'isExternal':_0x49292a[_0x1b391b(0x158)]||![],'isDefault':!![]});_0x5e349e&&imports['push']({'importingFile':_0x2fa3d5,'importedSymbol':_0x5e349e[_0x1b391b(0x12e)](),'importedFromFile':_0x49292a['path'],'fileExists':_0x49292a['exists'],'isExternal':_0x49292a['isExternal']||![],'isNamespace':!![]});const _0x1ec766=[_0x1456af,_0x5a8b4f]['filter'](Boolean)['join'](',');if(_0x1ec766){const _0xb2560c=_0x1ec766[_0x1b391b(0x125)](',')[_0x1b391b(0x14d)](_0x4e7abf=>{const _0x57b224=_0x1b391b,_0x16cdfd=_0x4e7abf[_0x57b224(0x12e)]()['split'](/\s+as\s+/);return _0x16cdfd[0x0][_0x57b224(0x12e)]();});_0xb2560c[_0x1b391b(0x153)](_0x3e72d3=>{const _0x42c077=_0x1b391b;_0x3e72d3&&imports[_0x42c077(0x18a)]({'importingFile':_0x2fa3d5,'importedSymbol':_0x3e72d3,'importedFromFile':_0x49292a['path'],'fileExists':_0x49292a['exists'],'isExternal':_0x49292a[_0x42c077(0x158)]||![],'isDefault':![]});});}}const requireRegex=/(?:const|let|var)\s+(?:\{([^}]+)\}|([^=\s]+))\s*=\s*require\(['"`]([^'"`]+)['"`]\)/g;while((_0x5de893=requireRegex[_0x1b391b(0x186)](_0x2008aa))!==null){const [,_0x197933,_0x55161d,_0x3a2f29]=_0x5de893,_0x5439d3=await this[_0x1b391b(0x12b)](_0x3a2f29,_0x38da14);!_0x5439d3[_0x1b391b(0x158)]&&_0x5439d3[_0x1b391b(0x184)]&&this[_0x1b391b(0x1ae)][_0x1b391b(0x18e)](_0x2fa3d5)['add'](_0x5439d3['path']);if(_0x197933){const _0xa8e89d=_0x197933['split'](',')['map'](_0x3616de=>_0x3616de[_0x1b391b(0x12e)]()[_0x1b391b(0x125)](':')[0x0]['trim']());_0xa8e89d['forEach'](_0x35ffe1=>{const _0x15095b=_0x1b391b;_0x35ffe1&&imports[_0x15095b(0x18a)]({'importingFile':_0x2fa3d5,'importedSymbol':_0x35ffe1,'importedFromFile':_0x5439d3[_0x15095b(0x18b)],'fileExists':_0x5439d3[_0x15095b(0x184)],'isExternal':_0x5439d3[_0x15095b(0x158)]||![],'isDefault':![]});});}else _0x55161d&&imports['push']({'importingFile':_0x2fa3d5,'importedSymbol':_0x55161d[_0x1b391b(0x12e)](),'importedFromFile':_0x5439d3[_0x1b391b(0x18b)],'fileExists':_0x5439d3[_0x1b391b(0x184)],'isExternal':_0x5439d3[_0x1b391b(0x158)]||![],'isDefault':!![]});}_0x69c362=_0x108197;}return imports;}['parseExports'](_0x566fae){const _0x5703fb=a0_0x335cdc,exports=new Set(),_0x4f2687=_0x566fae['split']('\x0a');for(const _0x4a6049 of _0x4f2687){const _0x15b931=_0x4a6049['trim']();if(_0x15b931[_0x5703fb(0x172)]('//')||_0x15b931['startsWith']('/*'))continue;/export\s+default\s+/['test'](_0x15b931)&&exports['add']('default');const _0x54671f=_0x15b931['match'](/export\s+\{([^}]+)\}/);if(_0x54671f){const _0x54574c=_0x54671f[0x1][_0x5703fb(0x125)](',')[_0x5703fb(0x14d)](_0x19f8f8=>{const _0x3955dc=_0x5703fb,_0x43754f=_0x19f8f8[_0x3955dc(0x12e)]()['split'](/\s+as\s+/);return _0x43754f[_0x43754f['length']-0x1][_0x3955dc(0x12e)]();});_0x54574c[_0x5703fb(0x153)](_0x2cd32f=>exports[_0x5703fb(0x12c)](_0x2cd32f));}const _0x4111cf=_0x15b931['match'](/export\s+(?:const|let|var|function|class|async\s+function)\s+([^=\s(]+)/);_0x4111cf&&exports['add'](_0x4111cf[0x1]);const exportFromMatch=_0x15b931[_0x5703fb(0x19d)](/export\s+\{([^}]+)\}\s+from/);if(exportFromMatch){const _0x5c384e=exportFromMatch[0x1][_0x5703fb(0x125)](',')['map'](_0x46b917=>{const _0x40ffcf=_0x5703fb,_0x1c6e4b=_0x46b917[_0x40ffcf(0x12e)]()[_0x40ffcf(0x125)](/\s+as\s+/);return _0x1c6e4b[_0x1c6e4b['length']-0x1][_0x40ffcf(0x12e)]();});_0x5c384e[_0x5703fb(0x153)](_0x1633e4=>exports[_0x5703fb(0x12c)](_0x1633e4));}/export\s+\*\s+from/['test'](_0x15b931)&&exports['add']('*');const moduleExportsMatch=_0x15b931[_0x5703fb(0x19d)](/module\.exports\s*=\s*\{([^}]+)\}/);if(moduleExportsMatch){const _0x8a2a0e=moduleExportsMatch[0x1]['split'](',')[_0x5703fb(0x14d)](_0x2bb6ae=>{const _0x31070e=_0x5703fb,_0x435408=_0x2bb6ae[_0x31070e(0x12e)]()['split'](':');return _0x435408[0x0][_0x31070e(0x12e)]();});_0x8a2a0e[_0x5703fb(0x153)](_0x58408a=>exports['add'](_0x58408a));}/module\.exports\s*=\s*[^{]/['test'](_0x15b931)&&exports['add']('default');const moduleExportsPropMatch=_0x15b931[_0x5703fb(0x19d)](/module\.exports\.([^=\s]+)\s*=/);moduleExportsPropMatch&&exports[_0x5703fb(0x12c)](moduleExportsPropMatch[0x1]);const exportsPropMatch=_0x15b931['match'](/exports\.([^=\s]+)\s*=/);exportsPropMatch&&exports[_0x5703fb(0x12c)](exportsPropMatch[0x1]);}return exports;}async['resolveImportPath'](importPath,_0x58913f){const _0x164f26=a0_0x335cdc;if(importPath[_0x164f26(0x172)]('.')){const _0x1476ef=a0_0x2f562d[_0x164f26(0x193)](_0x58913f),_0x4bfc59=a0_0x2f562d['resolve'](_0x1476ef,importPath);if(a0_0x2f562d['extname'](importPath))try{const _0x2bafa9=await a0_0x3c9c93['stat'](_0x4bfc59);if(_0x2bafa9['isFile']())return{'path':this['getRelativePath'](_0x4bfc59),'exists':!![]};}catch{}const _0x4d8b3f=['','.js','.mjs','.ts','.jsx',_0x164f26(0x16c),'/index.js',_0x164f26(0x11b),'/index.jsx','/index.tsx'];for(const _0x468e16 of _0x4d8b3f){const _0x4d78aa=_0x4bfc59+_0x468e16;try{const _0x53c402=await a0_0x3c9c93[_0x164f26(0x16b)](_0x4d78aa);if(_0x53c402[_0x164f26(0x123)]())return{'path':this['getRelativePath'](_0x4d78aa),'exists':!![]};}catch{}}return{'path':this['getRelativePath'](_0x4bfc59),'exists':![]};}return{'path':importPath,'exists':!![],'isExternal':!![]};}[a0_0x335cdc(0x11a)](_0x3918f9){const _0x59dc74=a0_0x335cdc;return a0_0x2f562d['relative'](this[_0x59dc74(0x19b)],_0x3918f9)[_0x59dc74(0x161)](/\\/g,'/');}['findCircularDependencies'](){const _0x1f06b5=a0_0x335cdc,_0x1a86e3=[],_0x44c540=new Set(),_0x14642d=new Set(),_0x392978=(_0x35fc08,_0x485c4b=[])=>{const _0x546894=a0_0x5b26;if(_0x14642d['has'](_0x35fc08)){const _0x556f46=_0x485c4b['indexOf'](_0x35fc08);_0x556f46!==-0x1&&_0x1a86e3[_0x546894(0x18a)]([..._0x485c4b[_0x546894(0x16f)](_0x556f46),_0x35fc08]);return;}if(_0x44c540[_0x546894(0x1b2)](_0x35fc08))return;_0x44c540['add'](_0x35fc08),_0x14642d[_0x546894(0x12c)](_0x35fc08),_0x485c4b['push'](_0x35fc08);const _0x50fbc8=this[_0x546894(0x1ae)]['get'](_0x35fc08)||new Set();for(const _0x23789c of _0x50fbc8){_0x392978(_0x23789c,[..._0x485c4b]);}_0x14642d[_0x546894(0x124)](_0x35fc08);};for(const _0xcde765 of this['dependencies'][_0x1f06b5(0x115)]()){!_0x44c540[_0x1f06b5(0x1b2)](_0xcde765)&&_0x392978(_0xcde765);}return _0x1a86e3;}[a0_0x335cdc(0x142)](){const _0x10e279=a0_0x335cdc,_0x57e41b=new Map();for(const _0x1e7846 of this['imports']){!_0x1e7846[_0x10e279(0x158)]&&(!_0x57e41b['has'](_0x1e7846['importedFromFile'])&&_0x57e41b[_0x10e279(0x138)](_0x1e7846['importedFromFile'],new Set()),_0x57e41b['get'](_0x1e7846['importedFromFile'])[_0x10e279(0x12c)](_0x1e7846['importedSymbol']));}const _0x4a0f30={};for(const [_0x5c8dc8,exports]of this[_0x10e279(0x198)][_0x10e279(0x188)]()){const _0x412800=_0x57e41b[_0x10e279(0x18e)](_0x5c8dc8)||new Set(),_0x3588b3=Array[_0x10e279(0x14a)](exports)[_0x10e279(0x164)](_0x48398e=>!_0x412800['has'](_0x48398e)&&_0x48398e!=='*');_0x3588b3['length']>0x0&&(_0x4a0f30[_0x5c8dc8]=_0x3588b3);}return _0x4a0f30;}async[a0_0x335cdc(0x141)](_0x223852='full'){const _0x5c763e=a0_0x335cdc;this['logger']?.[_0x5c763e(0x147)]('Starting import analysis',{'mode':_0x223852,'rootDir':this[_0x5c763e(0x19b)]}),await this['loadIgnoreFile']();const _0x26d5a8=await this[_0x5c763e(0x17d)](this['rootDir']);this['logger']?.['info'](_0x5c763e(0x139),{'count':_0x26d5a8['length']});for(const _0x567576 of _0x26d5a8){try{const _0xad0445=await a0_0x3c9c93['readFile'](_0x567576,'utf-8'),_0x4d9bc4=this['getRelativePath'](_0x567576),_0x4bb552=await this['parseImports'](_0xad0445,_0x567576);this['imports'][_0x5c763e(0x18a)](..._0x4bb552);const _0x4cc34a=this['parseExports'](_0xad0445);this[_0x5c763e(0x198)]['set'](_0x4d9bc4,_0x4cc34a);}catch(_0x4ebbee){this['logger']?.['warn']('Error\x20parsing\x20file',{'file':_0x567576,'error':_0x4ebbee['message']});}}this['logger']?.[_0x5c763e(0x147)](_0x5c763e(0x127),{'imports':this['imports']['length'],'exports':this['exports'][_0x5c763e(0x18f)]});const _0x2da9ed={'summary':{'totalFiles':_0x26d5a8[_0x5c763e(0x17e)],'totalImports':this['imports']['length'],'totalExports':Array['from'](this[_0x5c763e(0x198)]['values']())['reduce']((_0x26e3ee,exports)=>_0x26e3ee+exports['size'],0x0)},'missingExports':{},'missingFiles':{},'fileNotFoundImports':[]};for(const importEntry of this[_0x5c763e(0x11d)]){const {importingFile:importingFile,importedSymbol:importedSymbol,importedFromFile:importedFromFile,isDefault:_0x11802d,isNamespace:_0x21f2be,fileExists:_0x446514,isExternal:_0x8a6c7c}=importEntry;if(!_0x446514&&!_0x8a6c7c){_0x2da9ed['fileNotFoundImports']['push']({'importingFile':importingFile,'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'isDefault':_0x11802d||![],'isNamespace':_0x21f2be||![]});!_0x2da9ed[_0x5c763e(0x150)][importingFile]&&(_0x2da9ed['missingFiles'][importingFile]=[]);_0x2da9ed['missingFiles'][importingFile]['push']({'missingFile':importedFromFile,'importedSymbol':importedSymbol,'isDefault':_0x11802d||![],'isNamespace':_0x21f2be||![]});continue;}if(_0x8a6c7c)continue;const exportingFileExports=this[_0x5c763e(0x198)]['get'](importedFromFile);let _0x17b658=![];if(exportingFileExports){if(_0x21f2be)_0x17b658=exportingFileExports['size']>0x0;else _0x11802d?_0x17b658=exportingFileExports[_0x5c763e(0x1b2)]('default'):_0x17b658=exportingFileExports['has'](importedSymbol)||exportingFileExports['has']('*');}!_0x17b658&&(!_0x2da9ed[_0x5c763e(0x15c)][importingFile]&&(_0x2da9ed[_0x5c763e(0x15c)][importingFile]=[]),_0x2da9ed[_0x5c763e(0x15c)][importingFile][_0x5c763e(0x18a)]({'importedSymbol':importedSymbol,'importedFromFile':importedFromFile,'availableExports':exportingFileExports?Array['from'](exportingFileExports):[],'isDefault':_0x11802d||![],'isNamespace':_0x21f2be||![]}));}return(_0x223852===_0x5c763e(0x11f)||_0x223852===_0x5c763e(0x17c))&&(this['logger']?.[_0x5c763e(0x147)](_0x5c763e(0x15d)),_0x2da9ed['circularDependencies']=this[_0x5c763e(0x195)](),_0x2da9ed['unusedExports']=this[_0x5c763e(0x142)]()),this[_0x5c763e(0x135)]?.['info']('Analysis\x20complete',{'missingFiles':_0x2da9ed['fileNotFoundImports']['length'],'missingExports':Object['keys'](_0x2da9ed[_0x5c763e(0x15c)])['length']}),_0x2da9ed;}}function a0_0x2211(){const _0x507a0f=['CgfYC2vuywDZ','Dg90ywXgAwXLCW','BMfTzwq','vg9VBdOGsw1WB3j0iefUywX5EMvYic0Gqw5HBhL6zsbkyxzHu2nYAxb0l1r5Cgvty3jPChqGAw1WB3j0CYbHBMqGzxHWB3j0CWOkkIPqDxjWB3nLoIOQiefUywX5EMvZiePHDMfty3jPChqVvhLWzvnJCMLWDcbWCM9Qzwn0CYb0BYbKzxrLy3qGyNjVA2vUigLTCg9YDhmSig1PC3nPBMCGzxHWB3j0CYWGy2LYy3vSyxiGzgvWzw5Kzw5JAwvZlcbHBMqGDw51C2vKigv4Cg9YDhmUcGOQkLvtquDfoIOQcMbGygPZB24kEWOGicj0B29SswqIoIaIAw1WB3j0lwfUywX5EMvYiIWkicaICgfYyw1LDgvYCYi6ihSkicaGicjWyxrOiJOGiI4VC3jJiIWkicaGicjTB2rLiJOGiMz1BgWIlaOGicaGiM91Dhb1Dci6icjZDw1Tyxj5iIWkicaGicjPz25VCMvgAwXLiJOGiI5NAxrPz25VCMuIcIaGFqP9cMbGyaOkkIPqyxjHBwv0zxjZoIOQcI0GkIPWyxrOkIOGkhn0CMLUzYWGB3b0Aw9UywWPoIbqyxrOihrVigrPCMvJDg9YEsb0BYbHBMfSExPLlIbezwzHDwX0oIaIlIiklsaQkM1VzguQkIaOC3rYAw5NlcbVChrPB25HBcK6iefUywX5C2LZig1VzguUie9WDgLVBNm6cIaGlsaIzNvSBciGlsbdB21WBgv0zsbHBMfSExnPCYaOzgvMyxvSDcKkicaTicjXDwLJAYiGlsbgyxn0ihnJyw4GzM9Yig1PC3nPBMCGzMLSzxmGB25SEqOGic0GiMzPEciGlsbjBMnSDwrLCYbMAxGGC3vNz2vZDgLVBNmklsaQkM91Dhb1DcOQicHZDhjPBMCSig9WDgLVBMfSktOGt3v0Chv0igzVCM1HDc4Gt3b0Aw9UCZOkicaTicjZDw1Tyxj5iIaTienVBMnPC2uGC3vTBwfYEsaOzgvMyxvSDcKkicaTicjKzxrHAwXLzciGlsbgDwXSihjLCg9YDcb3AxrOigzPEgvZcIaGlsaIANnVBIiGlsbnywnOAw5LlxjLywrHyMXLigzVCM1HDaOTicOQAwDUB3jLrMLSzsOQicHZDhjPBMCSig9WDgLVBMfSktOGswDUB3jLigzPBguGBMfTzs4GrgvMyxvSDdOGiI5NAxrPz25VCMuIcGOQkLDOyxqGsxqGrgv0zwn0CZOQkGOTie1PC3nPBMCGzMLSzxmGkgLTCg9YDhmGCg9PBNrPBMCGDg8GBM9Ulwv4Axn0zw50igzPBgvZkqOTie1PC3nPBMCGzxHWB3j0CYaOC3LTyM9SCYbUB3qGzxHWB3j0zwqGzNjVBsb0yxjNzxqGzMLSzxmPcI0Gq2LYy3vSyxiGzgvWzw5Kzw5JAwvZicHMAwXLCYb0Agf0igrLCgvUzcbVBIbLywnOig90AgvYigLUigeGBg9VCcKklsbvBNvZzwqGzxHWB3j0CYaOzxHWB3j0CYbUzxzLCIbPBxbVCNrLzcbHBNL3AgvYzsKkcIOQrxHHBxbSzxm6kIOkcJeUiff1AwnRihbYB2PLy3qGC2nHBJOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjPBxbVCNqTyw5HBhL6zxiIlaOGicjWyxjHBwv0zxjZiJOGEYaIBw9Kzsi6icjXDwLJAYiGFqP9cMbGyaOkmI4GrNvSBcbHBMfSExnPCYb3AxrOigrLDgfPBgvKihjLCg9YDdOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjPBxbVCNqTyw5HBhL6zxiIlaOGicjWyxjHBwv0zxjZiJOGEYaIBw9Kzsi6icjMDwXSiIWGiM91Dhb1Dci6icjKzxrHAwXLzciGFqP9cMbGyaOkmY4Gqw5HBhL6zsbZCgvJAwzPyYbKAxjLy3rVCNK6cMbGygPZB24kEWOGicj0B29SswqIoIaIAw1WB3j0lwfUywX5EMvYiIWkicaICgfYyw1LDgvYCYi6ihSGiNbHDgGIoIaIlI9ZCMmVy29TCg9Uzw50CYiSicjTB2rLiJOGiMz1BgWIih0kFqPGygakcIOQtM90zxm6kIOklsbtDxbWB3j0CYbfuZyGBw9KDwXLCYaOAw1WB3j0l2v4Cg9YDcKGyw5KienVBw1VBKPticHYzxf1AxjLl21VzhvSzs5LEhbVCNrZkqOTifjLC3bLy3rZic5NAxrPz25VCMuGCgf0DgvYBNmklsbdB3jYzwn0BhKGAgfUzgXLCYbJB21Tzw50zwqGAw1WB3j0CYbHBMqGBxvSDgKTBgLUzsbZDgf0zw1LBNrZcI0Gv29YA3mGD2L0AcaUANmSic5TANmSic50CYWGlMPZEcWGlNrZEcbMAwXLCW','z2v0uMvSyxrPDMvqyxrO','l2LUzgv4lNrZ','zxHLy3v0zq','Aw1WB3j0CW','zgv0ywLSzwq','zNvSBa','AwDUB3jLlwzPBgu','BMfTzxnWywnL','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw5ZigrLDgvJDgvK','AxngAwXL','zgvSzxrL','C3bSAxq','icaGicaGrNjVBsbMAwXLoIa','ugfYC2vKigfSBcbMAwXLCW','B3v0Chv0','AM9PBG','icaGicaG8j+sOsbgAxG6iefKzcbLEhbVCNqGzM9Yici','CMvZB2X2zuLTCg9YDfbHDgG','ywrK','cIaGtwLZC2LUzYbfEhbVCNrZoG','DhjPBq','CMvKDwnL','ignPCMn1BgfYigrLCgvUzgvUy3KGy2HHAw4OCYK','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','8j+tPcbuB3rHBcbLEhbVCNrZoIa','icaGicaG8j+tPcboBYbLEhbVCNrZigzVDw5KigLUihrHCMDLDcbMAwXL','D29YA2LUz0rPCMvJDg9YEq','Bg9Nz2vY','icaGiokaOIa','ig1PC3nPBMCGzxHWB3j0khmP','C2v0','rM91BMqGzMLSzxm','cUkAOo+4JYaGtuLtu0LorYbfwfbpuLrt','mJCYotm1C2zAvKPQ','BMfTzq','nJa2mtaZAu5My09K','AwDUB3jLugf0DgvYBNm','ANnVBG','ig9YignOzwnRigLMigL0j3mGDgHLignVCNjLy3qGzMLSzq','yw5HBhL6zq','zMLUzfvUDxnLzev4Cg9YDhm','Aw1WB3j0zwrtEw1IB2W','icaG4PQG77Ipicbdyw5UB3qGzMLUzcbMAwXLoIa','cVcFLi0Gvg9WieLZC3vLCYb0BYbgAxG6','mtm4qMDrzePK','Aw5MBW','zxH0BMfTzq','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq6ia','zNjVBq','lM1QCW','AwDUB3jLrMLSzq','BwfW','ig5VBI1LEgLZDgvUDcbZEw1IB2WOCYK','vg9Vig1HBNKGzMLSzxmGDg8Gyw5HBhL6ztOG','BwLZC2LUz0zPBgvZ','tufyx0zjtevt','icaGicaGvhj5Aw5NihrVigLTCg9YDdOG','zM9YrwfJAa','CMvSyxrPDMu','iJ8GkgnHC2uGBwLZBwf0y2GP','Dw51C2vKrxHWB3j0CW','ywnJzxnZ','AxnfEhrLCM5HBa','cVcFLiqGq0Lsq1vmqviGrevqru5eru5dsuvt','4P2mie1ju1njtKCGrKLmrvm','m0HPEMLfta','BwLZC2LUz0v4Cg9YDhm','uNvUBMLUzYbMDwXSigfUywX5C2LZ','Aw5JBhvKzxm','icaGicaG8j+sOsbgAxG6ie5VigrLzMf1BhqGzxHWB3j0lIbvC2uGBMfTzwqGAw1WB3j0oIb7ia','ndu4mdC3oxHfu0D1EG','CMvWBgfJzq','icaYlIbszxnVBhzLia','zMLSzu5VDezVDw5Ksw1WB3j0CW','zMLSDgvY','x3zHBgLKyxrLugfYyw1LDgvYCW','AxnezwzHDwX0','Aw1WB3j0Aw5NrMLSzq','icaGicaG8j+sOsbgAxG6ierPzcb5B3uGBwvHBIaI','igjYB2TLBIbPBxbVCNqOCYK','icaG4P2mifn5BwjVBcbUB3qGzxHWB3j0zwq6ici','C3rHDa','lNrZEa','ihjLC29SDMvZig91DhnPzguGD29YA2LUzYbKAxjLy3rVCNK','icaXlIbgAxGG','C2XPy2u','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','revgqvvmvf9jr05puKvFrKLmrq','C3rHCNrZv2L0Aa','yxr0CMLIDxrLCW','nZaWndm4q0HNB3Ht','iokgKIa','y292zxjHz2u','ugf0AcbKB2vZig5VDcbLEgLZDdOG','revgqvvmvf9pvvrqvvq','sw1WB3j0igfUywX5EMvYigvYCM9YoG','x2zVCM1HDerLDgfPBgvKt3v0Chv0','zxjYB3i','zML4','z2v0qwXSrMLSzxm','BgvUz3rO','x3jLC29SDMvbBMrwywXPzgf0zvbHDgG','Dg90ywXfEhbVCNrZ','odmWotaXnLv3sNvHvW','y3DK','zgvIDwC','zxHPC3rZ','icdIGkiGrMLSzxmGyw5HBhL6zwq6ia','zxHLyW','icaGicaG8j+sOsbgAxG6ierLzMf1BhqGzxHWB3j0igv4Axn0CYWGy2HLy2SGAw1WB3j0ihn5BNrHEa','zw50CMLLCW','C29Tzq','ChvZAa','Cgf0Aa','lIbnDxn0igjLig9UzsbVzJOG','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','z2v0','C2L6zq','DMfSDwvZ','icdIGkiGvg90ywWGAw1WB3j0CZOG','AwDUB3jLrMLSzsbTDxn0igjLigeGC3rYAw5N','zgLYBMfTzq','DgvZDa','zMLUzenPCMn1BgfYrgvWzw5Kzw5JAwvZ','DxrMltG','ndGZndm1mhDmCKTrAq','zxHWB3j0CW','Dg9mB3DLCKnHC2u','Aw1WB3j0zwrgCM9TrMLSzq','CM9VDerPCG','Cgf0AcbTDxn0igjLigeGC3rYAw5N','Bwf0y2G','Bw9Kzq','CMvZB2X2zq','u1vque9svevex0vyvevou0LptLm','revgqvvmvf9nt0rf','mZq0mJm3nMXoz3PsyW','cVcFK4qG','Axnoyw1LC3bHy2u','C3vTBwfYEq','8j+tGsbgAwXLCYbHBMfSExPLzdOG','BwvZC2fNzq','yxzHAwXHyMXLrxHWB3j0CW','4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','B2jQzwn0','yNvPBgq','Dg90ywXjBxbVCNrZ','lMDPDgLNBM9Yzq','zgvWzw5Kzw5JAwvZ','AxneAxjLy3rVCNK','BM9YBwfSAxPL','yMfZzw5HBwu','AgfZ','CMvHzezPBgu','lMPZEa','icaGicaG8j+sOsbgAxG6iefKzcbLEhbVCNrZihrVia','vKfmsurFt1vuufvuuW','8j+tIIbezxrHAwXLzcbjBxbVCNqVrxHWB3j0iefUywX5C2LZifjLCg9YDa','id4G','y2LYy3vSyxjezxbLBMrLBMnPzxm','D2fYBG','mtzYwgnSv2y','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0k','revgqvvmvf9jr05puKvFuefuvevstLm','A2v5CW'];a0_0x2211=function(){return _0x507a0f;};return a0_0x2211();}export default ImportAnalyzerTool;
|
package/src/tools/jobDoneTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2f26b3=a0_0x21d1;(function(_0x1c6666,_0x442a3d){const _0x2602a9=a0_0x21d1,_0x561dc1=_0x1c6666();while(!![]){try{const _0x11bf99=-parseInt(_0x2602a9(0x88))/0x1*(-parseInt(_0x2602a9(0x82))/0x2)+-parseInt(_0x2602a9(0x6e))/0x3+parseInt(_0x2602a9(0x78))/0x4*(-parseInt(_0x2602a9(0x7c))/0x5)+parseInt(_0x2602a9(0x6d))/0x6+parseInt(_0x2602a9(0x7e))/0x7*(parseInt(_0x2602a9(0x75))/0x8)+-parseInt(_0x2602a9(0x72))/0x9+parseInt(_0x2602a9(0x7d))/0xa;if(_0x11bf99===_0x442a3d)break;else _0x561dc1['push'](_0x561dc1['shift']());}catch(_0x2bf83a){_0x561dc1['push'](_0x561dc1['shift']());}}}(a0_0x1f2d,0x3087c));import{BaseTool}from'./baseTool.js';import a0_0x4de8a7 from'../utilities/tagParser.js';class JobDoneTool extends BaseTool{constructor(){const _0x365dda=a0_0x21d1;super(),this['id']=_0x365dda(0x69),this['name']='Job\x20Done',this['description']='Call\x20this\x20tool\x20when\x20you\x20have\x20successfully\x20completed\x20the\x20assigned\x20task,\x20OR\x20if\x20you\x20are\x20stuck/unable\x20to\x20proceed\x20after\x20multiple\x20failed\x20attempts.\x20Provide\x20a\x20summary\x20of\x20what\x20was\x20accomplished\x20or\x20what\x20prevented\x20completion.\x20This\x20will\x20exit\x20autonomous\x20mode\x20and\x20return\x20control\x20to\x20the\x20user.',this['version']='1.0.0',this[_0x365dda(0x67)]=[_0x365dda(0x66),'mode-control'],this['requiresProject']=![],this[_0x365dda(0x6a)]=![];}['getDescription'](){return'\x0aJob\x20Done\x20Tool:\x20Signal\x20task\x20completion\x20in\x20autonomous\x20mode\x20and\x20exit\x20to\x20chat\x20mode.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22jobdone\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x0a\x20\x20\x20\x20\x22action\x22:\x20\x22complete\x22,\x0a\x20\x20\x20\x20\x22summary\x22:\x20\x22Task\x20completion\x20summary\x22,\x0a\x20\x20\x20\x20\x22success\x22:\x20true,\x0a\x20\x20\x20\x20\x22details\x22:\x20\x22Optional\x20additional\x20details\x22\x0a\x20\x20}]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20action:\x20Always\x20\x22complete\x22\x0a-\x20summary:\x20Clear\x20summary\x20of\x20what\x20was\x20accomplished\x20OR\x20what\x20prevented\x20completion\x20(required)\x0a-\x20success:\x20true\x20if\x20completed\x20successfully,\x20false\x20if\x20stuck/failed\x20(default:\x20true)\x0a-\x20details:\x20Optional\x20additional\x20information\x20about\x20the\x20task\x0a\x0aEXAMPLES:\x0a\x0a1.\x20Successful\x20completion:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22jobdone\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x0a\x20\x20\x20\x20\x22action\x22:\x20\x22complete\x22,\x0a\x20\x20\x20\x20\x22summary\x22:\x20\x22Created\x205\x20song\x20files\x20successfully\x20with\x20lyrics\x20and\x20melodies\x22,\x0a\x20\x20\x20\x20\x22success\x22:\x20true\x0a\x20\x20}]\x0a}\x0a```\x0a\x0a2.\x20Unable\x20to\x20proceed:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22jobdone\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x0a\x20\x20\x20\x20\x22action\x22:\x20\x22complete\x22,\x0a\x20\x20\x20\x20\x22summary\x22:\x20\x22Unable\x20to\x20proceed:\x20missing\x20API\x20credentials\x20for\x20the\x20service\x22,\x0a\x20\x20\x20\x20\x22success\x22:\x20false\x0a\x20\x20}]\x0a}\x0a```\x0a\x0a3.\x20Partial\x20completion:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22jobdone\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x0a\x20\x20\x20\x20\x22action\x22:\x20\x22complete\x22,\x0a\x20\x20\x20\x20\x22summary\x22:\x20\x22Task\x20partially\x20complete:\x20implemented\x202\x20of\x203\x20requested\x20features\x22,\x0a\x20\x20\x20\x20\x22success\x22:\x20false,\x0a\x20\x20\x20\x20\x22details\x22:\x20\x22The\x20third\x20feature\x20requires\x20additional\x20dependencies\x20not\x20available\x22\x0a\x20\x20}]\x0a}\x0a```\x0a\x0aWHEN\x20TO\x20USE:\x0a-\x20Call\x20when\x20you\x20have\x20SUCCESSFULLY\x20completed\x20the\x20assigned\x20task\x0a-\x20Call\x20if\x20you\x20are\x20STUCK\x20or\x20UNABLE\x20to\x20proceed\x20after\x20multiple\x20failed\x20attempts\x0a-\x20This\x20will\x20immediately\x20exit\x20autonomous\x20mode\x20and\x20return\x20control\x20to\x20the\x20user\x0a\x20\x20\x20\x20'['trim']();}[a0_0x2f26b3(0x74)](_0x4805a8){const _0x3e3491=a0_0x2f26b3;try{const _0x5a98a3=a0_0x4de8a7['extractContent'](_0x4805a8,'summary'),_0x2b29ce=a0_0x4de8a7['extractContent'](_0x4805a8,'details'),_0x2e15b3=a0_0x4de8a7['extractContent'](_0x4805a8,'success');let _0x37b4ed='',_0x3eb29b='',_0x533e1e=!![];return _0x5a98a3[_0x3e3491(0x6c)]>0x0?(_0x37b4ed=_0x5a98a3[0x0]['trim'](),_0x3eb29b=_0x2b29ce['length']>0x0?_0x2b29ce[0x0][_0x3e3491(0x8e)]():'',_0x533e1e=_0x2e15b3[_0x3e3491(0x6c)]>0x0?_0x2e15b3[0x0][_0x3e3491(0x76)]()!==_0x3e3491(0x84):!![]):_0x37b4ed=_0x4805a8[_0x3e3491(0x8e)]()||'Task\x20completed',{'actions':[{'action':_0x3e3491(0x7b),'summary':_0x37b4ed,'success':_0x533e1e,'details':_0x3eb29b||undefined}]};}catch(_0x3fd895){return{'actions':[{'action':_0x3e3491(0x7b),'summary':_0x4805a8[_0x3e3491(0x8e)]()||'Task\x20completed','success':!![]}]};}}['getSchema'](){const _0x39c183=a0_0x2f26b3;return{'type':_0x39c183(0x73),'properties':{'actions':{'type':'array','items':{'type':_0x39c183(0x73),'properties':{'action':{'type':'string','enum':['complete'],'description':'Mark\x20task\x20as\x20complete\x20-\x20always\x20use\x20\x22complete\x22'},'summary':{'type':_0x39c183(0x8f),'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':_0x39c183(0x8b)},'details':{'type':'string','description':'Optional:\x20Additional\x20details\x20about\x20what\x20was\x20done,\x20what\x20failed,\x20any\x20files\x20created,\x20or\x20next\x20steps\x20for\x20the\x20user'}},'required':['action',_0x39c183(0x79)],'additionalProperties':![]},'minItems':0x1,'maxItems':0x1}},'required':[_0x39c183(0x87)],'additionalProperties':![]};}async[a0_0x2f26b3(0x8d)](_0xd4c3ac,_0x2d0e84={}){const _0x506b27=a0_0x2f26b3;try{const {actions:_0x37f1e4}=_0xd4c3ac;if(!_0x37f1e4||!Array['isArray'](_0x37f1e4)||_0x37f1e4[_0x506b27(0x6c)]===0x0)throw new Error(_0x506b27(0x77));const _0x1992c2=_0x37f1e4[0x0];if(_0x1992c2['action']!=='complete')throw new Error('Invalid\x20action.\x20Only\x20\x22complete\x22\x20is\x20supported');if(!_0x1992c2['summary'])throw new Error('Completion\x20summary\x20is\x20required');const _0x565ca0=_0x2d0e84['agentId'];let _0x18d702='';if(_0x565ca0&&_0x2d0e84[_0x506b27(0x90)])try{if(this['agentPool']){const _0x266f3e=await this[_0x506b27(0x70)][_0x506b27(0x85)](_0x565ca0);_0x266f3e&&(_0x18d702=_0x506b27(0x89)+_0x266f3e[_0x506b27(0x68)]+'\x22');}}catch(_0x14e72f){}const _0x131b8e=_0x506b27(0x83)+_0x18d702+(_0x1992c2[_0x506b27(0x6b)]!==![]?_0x506b27(0x8c):_0x506b27(0x7a))+_0x506b27(0x80)+_0x1992c2[_0x506b27(0x79)]+(_0x1992c2['details']?'\x0a\x0a**Details:**\x20'+_0x1992c2['details']:'')+'\x0a\x0a*Autonomous\x20mode\x20will\x20now\x20exit.*';return{'success':!![],'output':_0x131b8e,'taskComplete':!![],'summary':_0x1992c2[_0x506b27(0x79)],'details':_0x1992c2[_0x506b27(0x7f)]||null,'successfulCompletion':_0x1992c2['success']!==![],'metadata':{'toolId':this['id'],'agentId':_0x565ca0||_0x506b27(0x6f),'completedAt':new Date()[_0x506b27(0x71)](),'action':_0x1992c2['action']}};}catch(_0x86d03d){return{'success':![],'error':_0x86d03d[_0x506b27(0x8a)],'output':_0x506b27(0x86)+_0x86d03d['message'],'taskComplete':![]};}}['setAgentPool'](_0x3fb765){this['agentPool']=_0x3fb765;}['getCapabilities'](){const _0x1d3f2a=a0_0x2f26b3;return{'id':this['id'],'name':this['name'],'description':this[_0x1d3f2a(0x81)],'version':this['version'],'capabilities':this['capabilities'],'requiresProject':this['requiresProject'],'async':this[_0x1d3f2a(0x6a)],'enabled':!![],'schema':this['getSchema']()};}}function a0_0x21d1(_0x47bcf6,_0x344909){_0x47bcf6=_0x47bcf6-0x66;const _0x1f2d06=a0_0x1f2d();let _0x21d18b=_0x1f2d06[_0x47bcf6];if(a0_0x21d1['zXtGip']===undefined){var _0x45c18b=function(_0x520b57){const _0x434a41='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4de8a7='',_0x4805a8='';for(let _0x5a98a3=0x0,_0x2b29ce,_0x2e15b3,_0x37b4ed=0x0;_0x2e15b3=_0x520b57['charAt'](_0x37b4ed++);~_0x2e15b3&&(_0x2b29ce=_0x5a98a3%0x4?_0x2b29ce*0x40+_0x2e15b3:_0x2e15b3,_0x5a98a3++%0x4)?_0x4de8a7+=String['fromCharCode'](0xff&_0x2b29ce>>(-0x2*_0x5a98a3&0x6)):0x0){_0x2e15b3=_0x434a41['indexOf'](_0x2e15b3);}for(let _0x3eb29b=0x0,_0x533e1e=_0x4de8a7['length'];_0x3eb29b<_0x533e1e;_0x3eb29b++){_0x4805a8+='%'+('00'+_0x4de8a7['charCodeAt'](_0x3eb29b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4805a8);};a0_0x21d1['UkXvgZ']=_0x45c18b,a0_0x21d1['uBzRyV']={},a0_0x21d1['zXtGip']=!![];}const _0x5b94f1=_0x1f2d06[0x0],_0x54f04b=_0x47bcf6+_0x5b94f1,_0x8a5c4a=a0_0x21d1['uBzRyV'][_0x54f04b];return!_0x8a5c4a?(_0x21d18b=a0_0x21d1['UkXvgZ'](_0x21d18b),a0_0x21d1['uBzRyV'][_0x54f04b]=_0x21d18b):_0x21d18b=_0x8a5c4a,_0x21d18b;}function a0_0x1f2d(){const _0x5f376e=['zxHLy3v0zq','DhjPBq','C3rYAw5N','Dg9VBhnszwDPC3rYEq','DgfZAY1JB21WBgv0Aw9U','y2fWywjPBgL0AwvZ','BMfTzq','AM9Izg9Uzq','yxn5BMm','C3vJy2vZCW','BgvUz3rO','mtaZnduWogrbzxvKsW','mJm1nZyXC1DmvNPb','Dw5RBM93BG','ywDLBNrqB29S','Dg9ju09tDhjPBMC','mtuZnZiZnMreyLjLzG','B2jQzwn0','CgfYC2vqyxjHBwv0zxjZ','mZq0qKXdDhrk','Dg9mB3DLCKnHC2u','qwn0Aw9UCYbHCNjHEsbPCYbYzxf1AxjLza','otjPv2jnrNG','C3vTBwfYEq','ihDPDgGGAxnZDwvZ','y29TCgXLDgu','oduXotvvsg15vuO','mJa4nJKWmfPXEgTOwG','mJy0otvmyKveCgy','zgv0ywLSCW','cGOQkLn1Bw1HCNK6kIOG','zgvZy3jPChrPB24','mtG2ru5LC3HY','4PYfifrHC2SGy29TCgXLDgvK','zMfSC2u','z2v0qwDLBNq','rMfPBgvKihrVig1HCMSGDgfZAYbHCYbJB21WBgv0ztOG','ywn0Aw9UCW','mZe4nw9trur1yW','igj5igfNzw50ici','BwvZC2fNzq','u2v0ihrVihrYDwuGAwyGDgfZAYbJB21WBgv0zwqGC3vJy2vZC2z1BgX5lcbMywXZzsbPzIbZDhvJAY9MywLSzwqGB3iGCgfYDgLHBcbJB21WBgv0Aw9U','ihn1y2nLC3nMDwXSEq'];a0_0x1f2d=function(){return _0x5f376e;};return a0_0x1f2d();}export default JobDoneTool;
|
|
1
|
+
const a0_0x3734a2=a0_0x42fc;(function(_0x35b8ef,_0x4afe09){const _0x531057=a0_0x42fc,_0x3339f4=_0x35b8ef();while(!![]){try{const _0x31dd0b=-parseInt(_0x531057(0x115))/0x1*(parseInt(_0x531057(0x123))/0x2)+-parseInt(_0x531057(0x135))/0x3*(parseInt(_0x531057(0x128))/0x4)+parseInt(_0x531057(0x137))/0x5*(-parseInt(_0x531057(0x117))/0x6)+parseInt(_0x531057(0x112))/0x7+-parseInt(_0x531057(0x124))/0x8+-parseInt(_0x531057(0x127))/0x9+parseInt(_0x531057(0x116))/0xa*(parseInt(_0x531057(0x109))/0xb);if(_0x31dd0b===_0x4afe09)break;else _0x3339f4['push'](_0x3339f4['shift']());}catch(_0x4cb0bf){_0x3339f4['push'](_0x3339f4['shift']());}}}(a0_0x4590,0x37b15));import{BaseTool}from'./baseTool.js';import a0_0x5d340c from'../utilities/tagParser.js';function a0_0x42fc(_0x1465d7,_0x57bf92){_0x1465d7=_0x1465d7-0x106;const _0x45904e=a0_0x4590();let _0x42fcae=_0x45904e[_0x1465d7];if(a0_0x42fc['uNQlyI']===undefined){var _0x1e6f55=function(_0x5bd913){const _0x177daf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d340c='',_0x52f70b='';for(let _0x2cf9fe=0x0,_0xcf5e71,_0x13df12,_0x381aaf=0x0;_0x13df12=_0x5bd913['charAt'](_0x381aaf++);~_0x13df12&&(_0xcf5e71=_0x2cf9fe%0x4?_0xcf5e71*0x40+_0x13df12:_0x13df12,_0x2cf9fe++%0x4)?_0x5d340c+=String['fromCharCode'](0xff&_0xcf5e71>>(-0x2*_0x2cf9fe&0x6)):0x0){_0x13df12=_0x177daf['indexOf'](_0x13df12);}for(let _0x2fb0b7=0x0,_0x27babc=_0x5d340c['length'];_0x2fb0b7<_0x27babc;_0x2fb0b7++){_0x52f70b+='%'+('00'+_0x5d340c['charCodeAt'](_0x2fb0b7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52f70b);};a0_0x42fc['JSkqoA']=_0x1e6f55,a0_0x42fc['mEAInR']={},a0_0x42fc['uNQlyI']=!![];}const _0x45ad5a=_0x45904e[0x0],_0x291798=_0x1465d7+_0x45ad5a,_0x33b211=a0_0x42fc['mEAInR'][_0x291798];return!_0x33b211?(_0x42fcae=a0_0x42fc['JSkqoA'](_0x42fcae),a0_0x42fc['mEAInR'][_0x291798]=_0x42fcae):_0x42fcae=_0x33b211,_0x42fcae;}class JobDoneTool extends BaseTool{constructor(){const _0x5ca592=a0_0x42fc;super(),this['id']=_0x5ca592(0x12f),this['name']='Job\x20Done',this[_0x5ca592(0x11c)]=_0x5ca592(0x107),this[_0x5ca592(0x12a)]='1.0.0',this[_0x5ca592(0x134)]=[_0x5ca592(0x126),'mode-control'],this['requiresProject']=![],this[_0x5ca592(0x125)]=![];}['getDescription'](){const _0x2e4631=a0_0x42fc;return _0x2e4631(0x119)['trim']();}[a0_0x3734a2(0x12d)](_0x52f70b){const _0x54538a=a0_0x3734a2;try{const _0x2cf9fe=a0_0x5d340c[_0x54538a(0x111)](_0x52f70b,'summary'),_0xcf5e71=a0_0x5d340c[_0x54538a(0x111)](_0x52f70b,'details'),_0x13df12=a0_0x5d340c['extractContent'](_0x52f70b,_0x54538a(0x13a));let _0x381aaf='',_0x2fb0b7='',_0x27babc=!![];return _0x2cf9fe[_0x54538a(0x10c)]>0x0?(_0x381aaf=_0x2cf9fe[0x0][_0x54538a(0x118)](),_0x2fb0b7=_0xcf5e71[_0x54538a(0x10c)]>0x0?_0xcf5e71[0x0][_0x54538a(0x118)]():'',_0x27babc=_0x13df12[_0x54538a(0x10c)]>0x0?_0x13df12[0x0][_0x54538a(0x133)]()!=='false':!![]):_0x381aaf=_0x52f70b['trim']()||'Task\x20completed',{'actions':[{'action':'complete','summary':_0x381aaf,'success':_0x27babc,'details':_0x2fb0b7||undefined}]};}catch(_0x30f347){return{'actions':[{'action':'complete','summary':_0x52f70b[_0x54538a(0x118)]()||'Task\x20completed','success':!![]}]};}}['getSchema'](){const _0x59fe5d=a0_0x3734a2;return{'type':_0x59fe5d(0x122),'properties':{'actions':{'type':_0x59fe5d(0x114),'items':{'type':_0x59fe5d(0x122),'properties':{'action':{'type':'string','enum':[_0x59fe5d(0x121)],'description':_0x59fe5d(0x113)},'summary':{'type':_0x59fe5d(0x130),'description':_0x59fe5d(0x10a)},'success':{'type':'boolean','default':!![],'description':'Set\x20to\x20true\x20if\x20task\x20completed\x20successfully,\x20false\x20if\x20stuck/failed\x20or\x20partial\x20completion'},'details':{'type':_0x59fe5d(0x130),'description':'Optional:\x20Additional\x20details\x20about\x20what\x20was\x20done,\x20what\x20failed,\x20any\x20files\x20created,\x20or\x20next\x20steps\x20for\x20the\x20user'}},'required':[_0x59fe5d(0x11e),_0x59fe5d(0x12c)],'additionalProperties':![]},'minItems':0x1,'maxItems':0x1}},'required':['actions'],'additionalProperties':![]};}async[a0_0x3734a2(0x131)](_0x22a738,_0x1008ed={}){const _0x37b24c=a0_0x3734a2;try{const {actions:_0x3961dc}=_0x22a738;if(!_0x3961dc||!Array['isArray'](_0x3961dc)||_0x3961dc[_0x37b24c(0x10c)]===0x0)throw new Error('Actions\x20array\x20is\x20required');const _0x33ca34=_0x3961dc[0x0];if(_0x33ca34[_0x37b24c(0x11e)]!==_0x37b24c(0x121))throw new Error('Invalid\x20action.\x20Only\x20\x22complete\x22\x20is\x20supported');if(!_0x33ca34['summary'])throw new Error('Completion\x20summary\x20is\x20required');const _0x5c67f6=_0x1008ed['agentId'];let _0x3ee8e6='';if(_0x5c67f6&&_0x1008ed[_0x37b24c(0x10e)])try{if(this['agentPool']){const _0x47dda7=await this[_0x37b24c(0x10b)][_0x37b24c(0x11f)](_0x5c67f6);_0x47dda7&&(_0x3ee8e6=_0x37b24c(0x139)+_0x47dda7['name']+'\x22');}}catch(_0x3cab98){}const _0x177a7c=_0x37b24c(0x12b)+_0x3ee8e6+(_0x33ca34['success']!==![]?_0x37b24c(0x138):'\x20with\x20issues')+_0x37b24c(0x132)+_0x33ca34['summary']+(_0x33ca34[_0x37b24c(0x10f)]?_0x37b24c(0x129)+_0x33ca34['details']:'')+_0x37b24c(0x108);if(_0x5c67f6&&this[_0x37b24c(0x10b)])try{const _0x27bed0=await this[_0x37b24c(0x10b)]['getAgent'](_0x5c67f6);_0x27bed0&&(_0x27bed0[_0x37b24c(0x11a)]=_0x37b24c(0x11d),_0x27bed0[_0x37b24c(0x12e)]=_0x37b24c(0x10d),_0x27bed0['autonomousWorkComplete']=!![],_0x27bed0['lastCompletionSummary']=_0x33ca34[_0x37b24c(0x12c)],await this['agentPool']['persistAgentState'](_0x5c67f6),this[_0x37b24c(0x110)]?.['info']('JobDone:\x20Agent\x20'+_0x5c67f6+'\x20switched\x20to\x20CHAT\x20mode',{'summary':_0x33ca34[_0x37b24c(0x12c)],'success':_0x33ca34[_0x37b24c(0x13a)]!==![]}));}catch(_0x5606aa){this[_0x37b24c(0x110)]?.['warn'](_0x37b24c(0x136),{'error':_0x5606aa['message']});}return{'success':!![],'output':_0x177a7c,'taskComplete':!![],'exitAutonomousMode':!![],'summary':_0x33ca34[_0x37b24c(0x12c)],'details':_0x33ca34['details']||null,'successfulCompletion':_0x33ca34[_0x37b24c(0x13a)]!==![],'metadata':{'toolId':this['id'],'agentId':_0x5c67f6||'unknown','completedAt':new Date()['toISOString'](),'action':_0x33ca34['action']}};}catch(_0x188274){return{'success':![],'error':_0x188274[_0x37b24c(0x120)],'output':'Failed\x20to\x20mark\x20task\x20as\x20complete:\x20'+_0x188274['message'],'taskComplete':![]};}}[a0_0x3734a2(0x11b)](_0x12af87){this['agentPool']=_0x12af87;}['getCapabilities'](){const _0x426155=a0_0x3734a2;return{'id':this['id'],'name':this['name'],'description':this['description'],'version':this[_0x426155(0x12a)],'capabilities':this[_0x426155(0x134)],'requiresProject':this['requiresProject'],'async':this['async'],'enabled':!![],'schema':this[_0x426155(0x106)]()};}}function a0_0x4590(){const _0x176cff=['cKPVyIbeB25LifrVB2W6ifnPz25HBcb0yxnRignVBxbSzxrPB24GAw4Gyxv0B25VBw91CYbTB2rLigfUzcbLEgL0ihrVignOyxqGBw9Kzs4kcLvtquDfoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMPVyMrVBMuIlaOGicjHy3rPB25ZiJOGw3SkicaGicjHy3rPB24IoIaIy29TCgXLDguIlaOGicaGiNn1Bw1HCNKIoIaIvgfZAYbJB21WBgv0Aw9Uihn1Bw1HCNKIlaOGicaGiNn1y2nLC3mIoIb0CNvLlaOGicaGiMrLDgfPBhmIoIaIt3b0Aw9UywWGywrKAxrPB25HBcbKzxrHAwXZiGOGih1DcN0kygbGcGPqqvjbtuvurvjtoGOTigfJDgLVBJOGqwX3yxLZicjJB21WBgv0zsiklsbZDw1Tyxj5oIbdBgvHCIbZDw1Tyxj5ig9MihDOyxqGD2fZigfJy29TCgXPC2HLzcbpuIb3Agf0ihbYzxzLBNrLzcbJB21WBgv0Aw9UicHYzxf1AxjLzcKklsbZDwnJzxnZoIb0CNvLigLMignVBxbSzxrLzcbZDwnJzxnZzNvSBhKSigzHBhnLigLMihn0DwnRl2zHAwXLzcaOzgvMyxvSDdOGDhj1zsKklsbKzxrHAwXZoIbpChrPB25HBcbHzgrPDgLVBMfSigLUzM9YBwf0Aw9UigfIB3v0ihrOzsb0yxnRcGPfwefnueXfuZOkcJeUifn1y2nLC3nMDwWGy29TCgXLDgLVBJOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjQB2jKB25LiIWkicaIywn0Aw9UCYi6ifT7cIaGicaIywn0Aw9UiJOGiMnVBxbSzxrLiIWkicaGicjZDw1Tyxj5iJOGiKnYzwf0zwqGnsbZB25NigzPBgvZihn1y2nLC3nMDwXSEsb3AxrOigX5CMLJCYbHBMqGBwvSB2rPzxmIlaOGicaGiNn1y2nLC3mIoIb0CNvLcIaGFv0kFqPGygakcJiUifvUywjSzsb0BYbWCM9JzwvKoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMPVyMrVBMuIlaOGicjHy3rPB25ZiJOGw3SkicaGicjHy3rPB24IoIaIy29TCgXLDguIlaOGicaGiNn1Bw1HCNKIoIaIvw5HyMXLihrVihbYB2nLzwq6ig1PC3nPBMCGqvbjignYzwrLBNrPywXZigzVCIb0AguGC2vYDMLJzsiScIaGicaIC3vJy2vZCYi6igzHBhnLcIaGFv0kFqPGygakcJmUifbHCNrPywWGy29TCgXLDgLVBJOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjQB2jKB25LiIWkicaIywn0Aw9UCYi6ifT7cIaGicaIywn0Aw9UiJOGiMnVBxbSzxrLiIWkicaGicjZDw1Tyxj5iJOGiLrHC2SGCgfYDgLHBgX5ignVBxbSzxrLoIbPBxbSzw1LBNrLzcaYig9MidmGCMvXDwvZDgvKigzLyxr1CMvZiIWkicaGicjZDwnJzxnZiJOGzMfSC2uScIaGicaIzgv0ywLSCYi6icjuAguGDgHPCMqGzMvHDhvYzsbYzxf1AxjLCYbHzgrPDgLVBMfSigrLCgvUzgvUy2LLCYbUB3qGyxzHAwXHyMXLiGOGih1DcN0kygbGcGPxsevoifrpifvtrtOklsbdywXSihDOzw4GEw91igHHDMuGu1vdq0vtu0zvteXzignVBxbSzxrLzcb0AguGyxnZAwDUzwqGDgfZAWOTienHBgWGAwyGEw91igfYzsbtvfvdsYbVCIbvtKfcteuGDg8GChjVy2vLzcbHzNrLCIbTDwX0AxbSzsbMywLSzwqGyxr0zw1WDhmklsbuAgLZihDPBgWGAw1TzwrPyxrLBhKGzxHPDcbHDxrVBM9TB3vZig1VzguGyw5KihjLDhvYBIbJB250CM9SihrVihrOzsb1C2vYcIaGica','Bw9Kzq','C2v0qwDLBNrqB29S','zgvZy3jPChrPB24','y2HHDa','ywn0Aw9U','z2v0qwDLBNq','BwvZC2fNzq','y29TCgXLDgu','B2jQzwn0','mNzZCvfTyW','mtq3mti0og1fy2XvCW','yxn5BMm','DgfZAY1JB21WBgv0Aw9U','mtG1nteYnxDyCxvTAW','nde2ogrOrM5ssa','cGOQkKrLDgfPBhm6kIOG','DMvYC2LVBG','4PYfifrHC2SGy29TCgXLDgvK','C3vTBwfYEq','CgfYC2vqyxjHBwv0zxjZ','Bw9Kzvn0yxrL','AM9Izg9Uzq','C3rYAw5N','zxHLy3v0zq','cGOQkLn1Bw1HCNK6kIOG','Dg9mB3DLCKnHC2u','y2fWywjPBgL0AwvZ','mtqXsvHJtM50','sM9Irg9UztOGrMfPBgvKihrVihn3AxrJAcbHz2vUDcbTB2rL','mtvNC0fNrM8','ihn1y2nLC3nMDwXSEq','igj5igfNzw50ici','C3vJy2vZCW','z2v0u2nOzw1H','q2fSBcb0AgLZihrVB2WGD2HLBIb5B3uGAgf2zsbZDwnJzxnZzNvSBhKGy29TCgXLDgvKihrOzsbHC3nPz25Lzcb0yxnRlcbpuIbPzIb5B3uGyxjLihn0DwnRl3vUywjSzsb0BYbWCM9JzwvKigfMDgvYig11BhrPCgXLigzHAwXLzcbHDhrLBxb0CY4GuhjVDMLKzsbHihn1Bw1HCNKGB2yGD2HHDcb3yxmGywnJB21WBgLZAgvKig9YihDOyxqGChjLDMvUDgvKignVBxbSzxrPB24UifrOAxmGD2LSBcbLEgL0igf1Dg9UB21VDxmGBw9KzsbHBMqGCMv0DxjUignVBNrYB2WGDg8GDgHLihvZzxiU','cGOQqxv0B25VBw91CYbTB2rLihDPBgWGBM93igv4AxqUkG','mZaXmty2ogHqqM1iCW','q2XLyxiGC3vTBwfYEsbVzIb3Agf0ihLVDsbHy2nVBxbSAxnOzwqGt1iGD2HHDcbWCMv2zw50zwqGy29TCgXLDgLVBIaOzs5NlIWGiKnYzwf0zwqGnsbZB25NigzPBgvZihn1y2nLC3nMDwXSEsiSicjvBMfIBguGDg8GChjVy2vLzdOGBwLZC2LUzYbbueKGy3jLzgvUDgLHBhmIlcaIu3r1y2SGywz0zxiGmYbMywLSzwqGy29TCgLSyxrPB24Gyxr0zw1WDhmIkq','ywDLBNrqB29S','BgvUz3rO','AwrSzq','Dg9VBhnszwDPC3rYEq','zgv0ywLSCW','Bg9Nz2vY','zxH0CMfJDenVBNrLBNq','mta1mJC5m3zZyurhEq','twfYAYb0yxnRigfZignVBxbSzxrLic0GywX3yxLZihvZzsaIy29TCgXLDguI','yxjYyxK','mti1nJa3y2vPB0zW','mZblyLzAueW','mZu4mdy4yLndAgLy','DhjPBq'];a0_0x4590=function(){return _0x176cff;};return a0_0x4590();}export default JobDoneTool;
|