@loxia-labs/loxia-autopilot-one 1.0.13 → 1.0.15
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 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/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
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/index-CR8edPA3.js +348 -0
- package/web-ui/build/static/index-uN7nOVvZ.css +1 -0
- package/web-ui/build/static/index-DXN850Y2.js +0 -400
- package/web-ui/build/static/index-an-YRzUX.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x18e037=a0_0x5728;function a0_0x5728(_0x1fa7fb,_0x899089){_0x1fa7fb=_0x1fa7fb-0x132;const _0x340040=a0_0x3400();let _0x57288f=_0x340040[_0x1fa7fb];if(a0_0x5728['CfLqPj']===undefined){var _0x5301b0=function(_0x469bb0){const _0x593df5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25e97a='',_0x1572ad='';for(let _0x19bfb9=0x0,_0x4ba44d,_0xcf7912,_0x210b8e=0x0;_0xcf7912=_0x469bb0['charAt'](_0x210b8e++);~_0xcf7912&&(_0x4ba44d=_0x19bfb9%0x4?_0x4ba44d*0x40+_0xcf7912:_0xcf7912,_0x19bfb9++%0x4)?_0x25e97a+=String['fromCharCode'](0xff&_0x4ba44d>>(-0x2*_0x19bfb9&0x6)):0x0){_0xcf7912=_0x593df5['indexOf'](_0xcf7912);}for(let _0x325aab=0x0,_0x21b3ca=_0x25e97a['length'];_0x325aab<_0x21b3ca;_0x325aab++){_0x1572ad+='%'+('00'+_0x25e97a['charCodeAt'](_0x325aab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1572ad);};a0_0x5728['LYARtY']=_0x5301b0,a0_0x5728['Szzyao']={},a0_0x5728['CfLqPj']=!![];}const _0xa0f633=_0x340040[0x0],_0x5afdf1=_0x1fa7fb+_0xa0f633,_0x3c905e=a0_0x5728['Szzyao'][_0x5afdf1];return!_0x3c905e?(_0x57288f=a0_0x5728['LYARtY'](_0x57288f),a0_0x5728['Szzyao'][_0x5afdf1]=_0x57288f):_0x57288f=_0x3c905e,_0x57288f;}(function(_0x3b156b,_0x144115){const _0x36bb53=a0_0x5728,_0x491986=_0x3b156b();while(!![]){try{const _0x271238=parseInt(_0x36bb53(0x14a))/0x1*(parseInt(_0x36bb53(0x1c0))/0x2)+-parseInt(_0x36bb53(0x15a))/0x3+-parseInt(_0x36bb53(0x14f))/0x4*(-parseInt(_0x36bb53(0x1a3))/0x5)+parseInt(_0x36bb53(0x188))/0x6*(-parseInt(_0x36bb53(0x133))/0x7)+-parseInt(_0x36bb53(0x135))/0x8+parseInt(_0x36bb53(0x184))/0x9*(parseInt(_0x36bb53(0x13b))/0xa)+-parseInt(_0x36bb53(0x161))/0xb*(-parseInt(_0x36bb53(0x17f))/0xc);if(_0x271238===_0x144115)break;else _0x491986['push'](_0x491986['shift']());}catch(_0x64c809){_0x491986['push'](_0x491986['shift']());}}}(a0_0x3400,0xb3374));import{BaseTool}from'./baseTool.js';function a0_0x3400(){const _0x51172b=['DhLWzq','Bw92zq','y3jLyxrLuMvSyxrPDMvqyxrO','mwjjserPzq','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','DMfSAwrHDgvszwfKqwnJzxnZ','rgvSzxrLigfJy2vZCYbKzw5Pzwq6ia','DMfSAwrHDgvxCML0zufJy2vZCW','mtq4uNb4zvrz','B3v0Chv0ugf0Aa','z2v0t3bLCMf0Aw9UsgLZDg9YEq','rMfPBgvKihrVigfWCgvUzcb0BYbMAwXLia','AxnbC3LUyW','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9Yia','ywXSB3DLzev4DgvUC2LVBNm','AxnbBgXVD2vKrMLSzuv4DgvUC2LVBG','AxnbyNnVBhv0zq','zgLYzwn0B3j5','z2v0v29YA2LUz0rPCMvJDg9YEq','mJi3nJK2n0PcrwjWzq','Cgf0Aa','sw52ywXPzcbWyxjHBwv0zxjZoIbWyxjHBxmGBxvZDcbIzsbHBIbVyMPLy3q','C291CMnLugf0Aa','yxbWzw5KrMLSzq','yMXVy2TLzev4DgvUC2LVBNm','rMLSzvn5C3rLBsberujvrZOGvxnPBMCGzMfSBgjHy2SGD29YA2LUzYbKAxjLy3rVCNK6','mZi5nZHnzK9QALq','AM9PBG','y3jLyxrLrgLYCW','zgvSzxrL','CMvZB2X2zvbHDgG','y29UDgvUDa','C3rHDhm','ywrKvg9iAxn0B3j5','zMLSDgvY','Bg9N','rMfPBgvKihrVihbHCNnLigzPBgvZExn0zw0GCgfYyw1LDgvYCZOG','yxrPBwu','zMLSzq','igrVzxmGBM90igv4Axn0','uMv0CMLLDMvKihn0yxrZigzVCIa','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','D29YA2LUz0rPCMvJDg9YEq','igfJy2vZCYbKzw5Pzwq6ia','zgvSzxrLrMLSzq','zxHPC3rZ','igj5DgvZigzYB20G','lMnTza','y3jLyxrLlwrPCG','uMvHzcbHy2nLC3mGzgvUAwvKigzVCIbZB3vYy2u6ia','v3jVDguG','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','lMjHDa','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','Dg9ju09tDhjPBMC','oIbJB250zw50igLZihjLCxvPCMvKigzVCIbHChbLBMq','nZe0mhbYAxvdqq','rMfPBgvKihrVignVChKG','Bwf4rMLSzvnPEMu','BxrPBwu','BwTKAxi','ndvSquHuteu','C2L6zq','tw92zwqG','Bwf0y2HbBgW','nKDvEeTrDa','rMLSzsb0B28GBgfYz2u6ia','zgvZDfbHDgG','rMLSzvn5C3rLBsberujvrZOGrNvSBcbKAxjLy3rVCNLby2nLC3mGB2jQzwn0oG','CMvHC29U','ywXSB3DLza','y3jLyxrLrgLYzwn0B3j5','DxrMoa','u291CMnLigzPBguGDg9VigXHCMDLoIa','AxntEw1IB2XPy0XPBMS','Bg9Nz2vY','Bw9Kzq','yxr0CMLIDxrLCW','zMLSzvbHDgG','zMLSzs1WyxrO','ChvZAa','z2v0rMLSzvn0yxrZ','qwn0Aw9Uia','v3jPDguGywnJzxnZigrLBMLLzdOG','rMfPBgvKihrVignOzwnRigv4Axn0zw5JzsbVzIa','zxHLy3v0zq','zxH0BMfTzq','DhjPBq','v3jPDguGywnJzxnZigrLBMLLzcbMB3iGzgvZDgLUyxrPB246ia','y29WEuzPBgu','D3jPDgu','CMvHza','mtq2nZq1ANP1CvDA','ihrVia','yM9VBgvHBG','y3jLyxrLlwrPCNm','DgLTzw91Da','A2v5CW','ywn0Aw9UCW','zw5JB2rPBMC','CMvHzezPBgu','tgLZDgvKia','igL0zw1ZigLUia','C3rHDa','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25ZigLZihjLCxvPCMvKlIbszwnLAxzLzcbWyxjHBxm6ia','oIbMAwXLihr5CguGBM90igfSBg93zwq6ia','B3v0Chv0lxbHDgG','B2jQzwn0','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25ZigfYCMf5igLZigvTChr5','rMfPBgvKihrVihDYAxrLigzPBguG','B3bLCMf0Aw9UsgLZDg9YEq','z2v0u3vWCg9YDgvKqwn0Aw9UCW','BgLZDa','CM91BMq','D3jPDgvgAwXL','y3DK','C3rYAw5N','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNKG','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25Zig11C3qGyMuGyw4GyxjYyxKUifjLy2vPDMvKihr5Cgu6ia','ywDLBNrjza','tuiPcI0GrgfUz2vYB3vZigzPBguGDhLWzxmGyMXVy2TLzaOTifbHDgGGDhjHDMvYC2fSihbYB3rLy3rPB24kicaGia','mtuWmtCWr0XdzKXx','AxneAxjLy3rVCNK','BwvZC2fNzq','uMvHzcbHy2nLC3mGzgvUAwvKoIa','y29Kzq','AxnbCNjHEq','yxbWzw5K','ody1mJC5ofnXuvfTra','igj5DgvZicHTyxGG','mJa1mZG1nNHwC2TwCa','C291CMnLlxbHDgG','rgvZDgLUyxrPB24GD3jPDguGywnJzxnZigrLBMLLzdOG','u291CMnLihjLywqGywnJzxnZigrLBMLLzdOG','igj5DgvZihrVia','BgvUz3rO','odiXotbkugHYBuC','zgvZDc1WyxrO','BM93','rMfPBgvKihrVigrLBgv0zsbMAwXLia','rMfPBgvKihrVigXPC3qGzgLYzwn0B3j5ia','zgvIDwC','Bw92zuzPBgu','yxbWzw5Kvg9gAwXL','C2XPy2u','y29WEq','C3vIC3rYAw5N','lMv4zq'];a0_0x3400=function(){return _0x51172b;};return a0_0x3400();}import a0_0x25e97a from'../utilities/tagParser.js';import a0_0x1572ad from'../utilities/directoryAccessManager.js';import a0_0x19bfb9 from'fs/promises';import a0_0x4ba44d from'path';import a0_0xcf7912 from'crypto';import{TOOL_STATUS,FILE_EXTENSIONS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class FileSystemTool extends BaseTool{constructor(_0x210b8e={},_0x325aab=null){const _0x4d3acb=a0_0x5728;super(_0x210b8e,_0x325aab),this['requiresProject']=!![],this[_0x4d3acb(0x153)]=![],this[_0x4d3acb(0x1a7)]=_0x210b8e['timeout']||0x7530,this[_0x4d3acb(0x17a)]=_0x210b8e['maxConcurrentOperations']||0x5,this['maxFileSize']=_0x210b8e['maxFileSize']||SYSTEM_DEFAULTS['MAX_FILE_SIZE'],this['allowedExtensions']=_0x210b8e['allowedExtensions']||null,this['blockedExtensions']=_0x210b8e[_0x4d3acb(0x15f)]||[_0x4d3acb(0x146),_0x4d3acb(0x17b),_0x4d3acb(0x176),'.scr','.com'],this['allowedDirectories']=_0x210b8e['allowedDirectories']||null,this[_0x4d3acb(0x1b5)]=[],this[_0x4d3acb(0x170)]=new a0_0x1572ad(_0x210b8e,_0x325aab);}['getDescription'](){const _0x112944=a0_0x5728;return'\x0aFile\x20System\x20Tool:\x20Perform\x20file\x20and\x20directory\x20operations\x20safely\x20within\x20the\x20project\x20scope.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22read\x22,\x20\x22filePath\x22:\x20\x22src/index.js\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22write\x22,\x20\x22outputPath\x22:\x20\x22src/file.js\x22,\x20\x22content\x22:\x20\x22...\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20read:\x20Read\x20file\x20contents\x20(filePath)\x0a-\x20write:\x20Write\x20content\x20to\x20file\x20(outputPath,\x20content)\x0a-\x20append:\x20Append\x20content\x20to\x20existing\x20file\x20(filePath,\x20content)\x0a-\x20delete:\x20Delete\x20a\x20file\x20(filePath)\x0a-\x20copy:\x20Copy\x20file\x20(sourcePath,\x20destPath)\x0a-\x20move:\x20Move/rename\x20file\x20(sourcePath,\x20destPath)\x0a-\x20create-dir:\x20Create\x20directory\x20(directory)\x0a-\x20list:\x20List\x20directory\x20contents\x20(directory)\x0a-\x20exists:\x20Check\x20if\x20file/directory\x20exists\x20(filePath)\x0a-\x20stats:\x20Get\x20file/directory\x20metadata\x20(filePath)\x0a\x0aPARAMETERS:\x0a-\x20filePath:\x20Path\x20to\x20file\x20(for\x20read,\x20delete,\x20append,\x20exists,\x20stats)\x0a-\x20outputPath:\x20Path\x20where\x20to\x20write/create\x20file\x0a-\x20sourcePath:\x20Source\x20path\x20for\x20copy/move\x20operations\x0a-\x20destPath:\x20Destination\x20path\x20for\x20copy/move\x20operations\x0a-\x20directory:\x20Directory\x20path\x20for\x20create-dir\x20and\x20list\x20operations\x0a-\x20content:\x20Content\x20to\x20write/append\x0a-\x20encoding:\x20File\x20encoding\x20(default:\x20utf8)\x0a-\x20createDirs:\x20Create\x20parent\x20directories\x20if\x20they\x20don\x27t\x20exist\x20(true/false)\x0a\x0aEXAMPLES:\x0a\x0aWrite\x20a\x20file:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x22type\x22:\x20\x22write\x22,\x20\x22outputPath\x22:\x20\x22hello.js\x22,\x20\x22content\x22:\x20\x22console.log(\x27Hello\x27);\x22}]\x0a}\x0a```\x0a\x0aRead\x20a\x20file:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x22type\x22:\x20\x22read\x22,\x20\x22filePath\x22:\x20\x22package.json\x22}]\x0a}\x0a```\x0a\x0aMultiple\x20operations:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22read\x22,\x20\x22filePath\x22:\x20\x22src/index.js\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22copy\x22,\x20\x22sourcePath\x22:\x20\x22template.js\x22,\x20\x22destPath\x22:\x20\x22src/component.js\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22create-dir\x22,\x20\x22directory\x22:\x20\x22src/components/ui\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSECURITY:\x0a-\x20Operations\x20restricted\x20to\x20project\x20directory\x0a-\x20File\x20size\x20limits\x20enforced\x20(max\x20'+Math[_0x112944(0x1b8)](this[_0x112944(0x181)]/0x400/0x400)+_0x112944(0x1bf);}['parseParameters'](_0x21b3ca){const _0x5528d8=a0_0x5728;try{const _0x30f386={},_0x5c1e8a=[];this['logger']?.[_0x5528d8(0x140)]('FileSystem\x20tool\x20parsing\x20parameters',{'contentLength':_0x21b3ca['length'],'contentPreview':_0x21b3ca[_0x5528d8(0x145)](0x0,0xc8)});const _0xf23e1=['read',_0x5528d8(0x164),'copy','move',_0x5528d8(0x177),_0x5528d8(0x1b7),'exists',_0x5528d8(0x167),'append'];for(const _0x915640 of _0xf23e1){const _0x166a63=a0_0x25e97a['extractTagsWithAttributes'](_0x21b3ca,_0x915640);for(const _0x1442a7 of _0x166a63){const _0x51b1dc={'type':_0x915640,..._0x1442a7[_0x5528d8(0x194)]};_0x51b1dc[_0x5528d8(0x196)]&&(_0x51b1dc[_0x5528d8(0x195)]=_0x51b1dc['file-path'],delete _0x51b1dc[_0x5528d8(0x196)]),_0x51b1dc['output-path']&&(_0x51b1dc[_0x5528d8(0x150)]=_0x51b1dc[_0x5528d8(0x1b1)],delete _0x51b1dc['output-path']),_0x51b1dc[_0x5528d8(0x136)]&&(_0x51b1dc['sourcePath']=_0x51b1dc['source-path'],delete _0x51b1dc[_0x5528d8(0x136)]),_0x51b1dc[_0x5528d8(0x13c)]&&(_0x51b1dc['destPath']=_0x51b1dc[_0x5528d8(0x13c)],delete _0x51b1dc[_0x5528d8(0x13c)]),_0x51b1dc['create-dirs']&&(_0x51b1dc[_0x5528d8(0x163)]=_0x51b1dc['create-dirs']==='true',delete _0x51b1dc['create-dirs']),_0x5c1e8a['push'](_0x51b1dc);}}const _0x2081e4=_0x21b3ca['matchAll'](/<write\s+([^>]*)>(.*?)<\/write>/gs);for(const _0x1eeaa9 of _0x2081e4){const _0x1eb120=new a0_0x25e97a(),_0x35e1a4=_0x1eb120['parseAttributes'](_0x1eeaa9[0x1]),_0x4795d4=_0x1eeaa9[0x2][_0x5528d8(0x19e)](),_0x451063={'type':_0x5528d8(0x1a1),'content':_0x4795d4,..._0x35e1a4};_0x451063[_0x5528d8(0x1b1)]&&(_0x451063[_0x5528d8(0x150)]=_0x451063[_0x5528d8(0x1b1)],delete _0x451063[_0x5528d8(0x1b1)]),_0x451063[_0x5528d8(0x1a6)]&&(_0x451063[_0x5528d8(0x163)]=_0x451063[_0x5528d8(0x1a6)]==='true',delete _0x451063['create-dirs']),_0x5c1e8a['push'](_0x451063);}const _0x4a0d1f=_0x21b3ca[_0x5528d8(0x187)](/<append\s+([^>]*)>(.*?)<\/append>/gs);for(const _0x11ae04 of _0x4a0d1f){const _0x5c615c=new a0_0x25e97a(),_0x12e1f0=_0x5c615c['parseAttributes'](_0x11ae04[0x1]),_0x7b941a=_0x11ae04[0x2][_0x5528d8(0x19e)](),_0x3908bf={'type':_0x5528d8(0x132),'content':_0x7b941a,..._0x12e1f0};_0x3908bf[_0x5528d8(0x196)]&&(_0x3908bf['filePath']=_0x3908bf['file-path'],delete _0x3908bf[_0x5528d8(0x196)]),_0x5c1e8a[_0x5528d8(0x197)](_0x3908bf);}return _0x30f386[_0x5528d8(0x1a9)]=_0x5c1e8a,_0x30f386['rawContent']=_0x21b3ca[_0x5528d8(0x19e)](),this[_0x5528d8(0x192)]?.['debug']('Parsed\x20FileSystem\x20tool\x20parameters',{'totalActions':_0x5c1e8a['length'],'actionTypes':_0x5c1e8a['map'](_0x387cf9=>_0x387cf9['type']),'actions':_0x5c1e8a['map'](_0x1d39c2=>({'type':_0x1d39c2['type'],'filePath':_0x1d39c2['filePath'],'outputPath':_0x1d39c2[_0x5528d8(0x150)],'hasContent':!!_0x1d39c2['content']}))}),_0x30f386;}catch(_0x18fddd){throw new Error(_0x5528d8(0x16b)+_0x18fddd[_0x5528d8(0x1c2)]);}}[a0_0x18e037(0x17c)](){const _0x3c064d=a0_0x18e037;return[_0x3c064d(0x1a9)];}[a0_0x18e037(0x14b)](_0x5bc681){const _0x1ead7f=a0_0x18e037,_0x160369=[];if(!_0x5bc681['actions']||!Array[_0x1ead7f(0x1c5)](_0x5bc681['actions'])||_0x5bc681['actions']['length']===0x0)_0x160369[_0x1ead7f(0x197)]('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x47a3fb,_0x4c5567]of _0x5bc681[_0x1ead7f(0x1a9)]['entries']()){if(!_0x4c5567['type']){_0x160369['push']('Action\x20'+(_0x47a3fb+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x4c5567[_0x1ead7f(0x147)]){case _0x1ead7f(0x1a2):case'delete':case _0x1ead7f(0x174):case'stats':!_0x4c5567[_0x1ead7f(0x195)]&&_0x160369[_0x1ead7f(0x197)](_0x1ead7f(0x199)+(_0x47a3fb+0x1)+_0x1ead7f(0x154)+_0x4c5567[_0x1ead7f(0x147)]);break;case _0x1ead7f(0x1a1):!_0x4c5567['outputPath']&&_0x160369['push'](_0x1ead7f(0x199)+(_0x47a3fb+0x1)+':\x20output-path\x20is\x20required\x20for\x20write');!_0x4c5567[_0x1ead7f(0x166)]&&_0x4c5567[_0x1ead7f(0x166)]!==''&&_0x160369['push'](_0x1ead7f(0x199)+(_0x47a3fb+0x1)+':\x20content\x20is\x20required\x20for\x20write');break;case _0x1ead7f(0x132):!_0x4c5567[_0x1ead7f(0x195)]&&_0x160369[_0x1ead7f(0x197)]('Action\x20'+(_0x47a3fb+0x1)+':\x20file-path\x20is\x20required\x20for\x20append');!_0x4c5567[_0x1ead7f(0x166)]&&_0x4c5567['content']!==''&&_0x160369['push'](_0x1ead7f(0x199)+(_0x47a3fb+0x1)+_0x1ead7f(0x17e));break;case _0x1ead7f(0x144):case'move':!_0x4c5567['sourcePath']&&_0x160369[_0x1ead7f(0x197)]('Action\x20'+(_0x47a3fb+0x1)+':\x20source-path\x20is\x20required\x20for\x20'+_0x4c5567[_0x1ead7f(0x147)]);!_0x4c5567['destPath']&&_0x160369['push'](_0x1ead7f(0x199)+(_0x47a3fb+0x1)+':\x20dest-path\x20is\x20required\x20for\x20'+_0x4c5567['type']);break;case'create-dir':case _0x1ead7f(0x1b7):!_0x4c5567[_0x1ead7f(0x158)]&&_0x160369['push']('Action\x20'+(_0x47a3fb+0x1)+':\x20directory\x20is\x20required\x20for\x20'+_0x4c5567[_0x1ead7f(0x147)]);break;default:_0x160369[_0x1ead7f(0x197)](_0x1ead7f(0x199)+(_0x47a3fb+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x4c5567[_0x1ead7f(0x147)]);}_0x4c5567[_0x1ead7f(0x195)]&&!this[_0x1ead7f(0x156)](_0x4c5567['filePath'])&&_0x160369[_0x1ead7f(0x197)](_0x1ead7f(0x199)+(_0x47a3fb+0x1)+_0x1ead7f(0x1b0)+a0_0x4ba44d[_0x1ead7f(0x19d)](_0x4c5567[_0x1ead7f(0x195)])),_0x4c5567['outputPath']&&!this[_0x1ead7f(0x156)](_0x4c5567[_0x1ead7f(0x150)])&&_0x160369['push'](_0x1ead7f(0x199)+(_0x47a3fb+0x1)+_0x1ead7f(0x1b0)+a0_0x4ba44d[_0x1ead7f(0x19d)](_0x4c5567['outputPath']));}return{'valid':_0x160369[_0x1ead7f(0x13a)]===0x0,'errors':_0x160369};}async[a0_0x18e037(0x19c)](_0x1d9642,_0x38eef7){const _0x3dfd74=a0_0x18e037;if(!_0x1d9642||typeof _0x1d9642!==_0x3dfd74(0x1b2))throw new Error(_0x3dfd74(0x15c));const {actions:_0x10af5c}=_0x1d9642;if(!_0x10af5c)throw new Error(_0x3dfd74(0x1af)+JSON['stringify'](Object[_0x3dfd74(0x1a8)](_0x1d9642)));if(!Array['isArray'](_0x10af5c))throw new Error(_0x3dfd74(0x1bd)+typeof _0x10af5c);if(_0x10af5c['length']===0x0)throw new Error(_0x3dfd74(0x1b3));const {projectDir:_0xbda88d,agentId:_0x56e9db,directoryAccess:_0x13f5fa}=_0x38eef7,_0x3d79c3=_0x13f5fa||this[_0x3dfd74(0x170)]['createDirectoryAccess']({'workingDirectory':_0xbda88d||process[_0x3dfd74(0x1ba)](),'writeEnabledDirectories':[_0xbda88d||process[_0x3dfd74(0x1ba)]()],'restrictToProject':!![]});_0x13f5fa&&_0x13f5fa[_0x3dfd74(0x171)]?(console['log']('FileSystem\x20DEBUG:\x20Using\x20agent\x20configured\x20working\x20directory:',_0x13f5fa['workingDirectory']),console['log'](_0x3dfd74(0x18b),JSON['stringify'](_0x13f5fa,null,0x2))):(console[_0x3dfd74(0x16a)](_0x3dfd74(0x160),_0xbda88d||process['cwd']()),console[_0x3dfd74(0x16a)]('FileSystem\x20DEBUG:\x20directoryAccess\x20is:',_0x13f5fa),console[_0x3dfd74(0x16a)]('FileSystem\x20DEBUG:\x20projectDir\x20is:',_0xbda88d));const _0x437aea=[];for(const _0x3b7d26 of _0x10af5c){try{let _0x34ed2c;switch(_0x3b7d26['type']){case'read':_0x34ed2c=await this[_0x3dfd74(0x1ab)](_0x3b7d26[_0x3dfd74(0x195)],_0x3d79c3,_0x3b7d26['encoding']);break;case'write':_0x34ed2c=await this['writeFile'](_0x3b7d26['outputPath'],_0x3b7d26[_0x3dfd74(0x166)],_0x3d79c3,{'encoding':_0x3b7d26[_0x3dfd74(0x1aa)],'createDirs':_0x3b7d26[_0x3dfd74(0x163)]});break;case _0x3dfd74(0x132):_0x34ed2c=await this['appendToFile'](_0x3b7d26['filePath'],_0x3b7d26[_0x3dfd74(0x166)],_0x3d79c3,_0x3b7d26[_0x3dfd74(0x1aa)]);break;case'delete':_0x34ed2c=await this[_0x3dfd74(0x173)](_0x3b7d26['filePath'],_0x3d79c3);break;case _0x3dfd74(0x144):_0x34ed2c=await this[_0x3dfd74(0x1a0)](_0x3b7d26[_0x3dfd74(0x15d)],_0x3b7d26[_0x3dfd74(0x18a)],_0x3d79c3);break;case'move':_0x34ed2c=await this[_0x3dfd74(0x141)](_0x3b7d26[_0x3dfd74(0x15d)],_0x3b7d26[_0x3dfd74(0x18a)],_0x3d79c3);break;case'create-dir':_0x34ed2c=await this[_0x3dfd74(0x18e)](_0x3b7d26['directory'],_0x3d79c3);break;case'list':_0x34ed2c=await this['listDirectory'](_0x3b7d26[_0x3dfd74(0x158)],_0x3d79c3);break;case'exists':_0x34ed2c=await this['checkExists'](_0x3b7d26['filePath'],_0x3d79c3);break;case _0x3dfd74(0x167):_0x34ed2c=await this[_0x3dfd74(0x198)](_0x3b7d26['filePath'],_0x3d79c3);break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x3b7d26['type']);}_0x437aea[_0x3dfd74(0x197)](_0x34ed2c),this['addToHistory'](_0x3b7d26,_0x34ed2c,_0x38eef7[_0x3dfd74(0x1be)]);}catch(_0x53bcc9){const _0x524308={'success':![],'action':_0x3b7d26['type'],'error':_0x53bcc9[_0x3dfd74(0x1c2)],'filePath':_0x3b7d26['filePath']||_0x3b7d26['outputPath']||_0x3b7d26[_0x3dfd74(0x158)]};_0x437aea[_0x3dfd74(0x197)](_0x524308),this[_0x3dfd74(0x168)](_0x3b7d26,_0x524308,_0x38eef7[_0x3dfd74(0x1be)]);}}return{'success':!![],'actions':_0x437aea,'executedActions':_0x10af5c[_0x3dfd74(0x13a)],'toolUsed':'filesys'};}async['readFile'](_0x353a20,_0x234921,_0x13b996='utf8'){const _0x3e469b=a0_0x18e037,_0x139b5e=this['directoryAccessManager']['getWorkingDirectory'](_0x234921),_0x212836=this['resolvePath'](_0x353a20,_0x139b5e),_0x15b2e9=this['directoryAccessManager']['validateReadAccess'](_0x212836,_0x234921);if(!_0x15b2e9['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x15b2e9[_0x3e469b(0x18c)]+'\x20('+_0x15b2e9[_0x3e469b(0x15b)]+')');try{const _0x2754c3=await a0_0x19bfb9['stat'](_0x212836);if(_0x2754c3['size']>this['maxFileSize'])throw new Error(_0x3e469b(0x189)+_0x2754c3['size']+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x18432a=await a0_0x19bfb9['readFile'](_0x212836,_0x13b996);return{'success':!![],'action':'read','filePath':this['directoryAccessManager'][_0x3e469b(0x149)](_0x212836,_0x234921),'content':_0x18432a,'size':_0x2754c3[_0x3e469b(0x185)],'encoding':_0x13b996,'lastModified':_0x2754c3['mtime']['toISOString'](),'message':'Read\x20'+_0x2754c3['size']+_0x3e469b(0x175)+_0x353a20};}catch(_0x3c8d07){throw new Error('Failed\x20to\x20read\x20file\x20'+_0x353a20+':\x20'+_0x3c8d07['message']);}}async[a0_0x18e037(0x1b9)](_0x2cf517,_0x21ac00,_0x326a07,_0x37245d={}){const _0x1c51cb=a0_0x18e037,{encoding:encoding='utf8',createDirs:createDirs=!![]}=_0x37245d,_0x446eda=this[_0x1c51cb(0x170)]['getWorkingDirectory'](_0x326a07),_0x1b18b9=this['resolvePath'](_0x2cf517,_0x446eda),_0x331128=this[_0x1c51cb(0x170)][_0x1c51cb(0x14e)](_0x1b18b9,_0x326a07);if(!_0x331128['allowed'])throw new Error(_0x1c51cb(0x19a)+_0x331128['reason']+'\x20('+_0x331128['path']+')');try{const _0x4e054a=Buffer['byteLength'](_0x21ac00,encoding);if(_0x4e054a>this['maxFileSize'])throw new Error('Content\x20too\x20large:\x20'+_0x4e054a+_0x1c51cb(0x134)+this[_0x1c51cb(0x181)]+')');if(createDirs){const _0x2d1de5=a0_0x4ba44d['dirname'](_0x1b18b9);await a0_0x19bfb9['mkdir'](_0x2d1de5,{'recursive':!![]});}let _0x3cda2c=null;try{await a0_0x19bfb9['access'](_0x1b18b9),_0x3cda2c=_0x1b18b9+'.backup-'+Date[_0x1c51cb(0x13d)](),await a0_0x19bfb9[_0x1c51cb(0x1a0)](_0x1b18b9,_0x3cda2c);}catch{}await a0_0x19bfb9[_0x1c51cb(0x1b9)](_0x1b18b9,_0x21ac00,encoding);const _0x157150=await a0_0x19bfb9[_0x1c51cb(0x1ae)](_0x1b18b9),_0x597c09=this['directoryAccessManager']['createRelativePath'](_0x1b18b9,_0x326a07);return{'success':!![],'action':_0x1c51cb(0x1a1),'outputPath':_0x597c09,'fullPath':_0x1b18b9,'size':_0x157150['size'],'encoding':encoding,'backupPath':_0x3cda2c?this[_0x1c51cb(0x170)]['createRelativePath'](_0x3cda2c,_0x326a07):null,'backupFullPath':_0x3cda2c||null,'message':_0x1c51cb(0x179)+_0x157150[_0x1c51cb(0x185)]+'\x20bytes\x20to\x20'+_0x1b18b9};}catch(_0x57c688){throw new Error(_0x1c51cb(0x1b4)+_0x1b18b9+':\x20'+_0x57c688[_0x1c51cb(0x1c2)]);}}async[a0_0x18e037(0x142)](_0x46e144,_0x4eed58,_0xf2cb23,_0x3450fa=a0_0x18e037(0x18f)){const _0x241ad8=a0_0x18e037,_0x31532d=this[_0x241ad8(0x170)]['getWorkingDirectory'](_0xf2cb23),_0x57a134=this['resolvePath'](_0x46e144,_0x31532d),_0x3a4611=this['directoryAccessManager'][_0x241ad8(0x14e)](_0x57a134,_0xf2cb23);if(!_0x3a4611['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x3a4611[_0x241ad8(0x18c)]+'\x20('+_0x3a4611[_0x241ad8(0x15b)]+')');try{let _0x42d0d0=0x0;try{const _0x254db7=await a0_0x19bfb9['stat'](_0x57a134);_0x42d0d0=_0x254db7[_0x241ad8(0x185)];}catch{}const _0x140e85=Buffer['byteLength'](_0x4eed58,_0x3450fa);if(_0x42d0d0+_0x140e85>this['maxFileSize'])throw new Error('File\x20would\x20become\x20too\x20large:\x20'+(_0x42d0d0+_0x140e85)+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');await a0_0x19bfb9[_0x241ad8(0x15e)](_0x57a134,_0x4eed58,_0x3450fa);const _0x1d82d3=await a0_0x19bfb9[_0x241ad8(0x1ae)](_0x57a134),_0x51f4d1=this['directoryAccessManager']['createRelativePath'](_0x57a134,_0xf2cb23);return{'success':!![],'action':_0x241ad8(0x132),'filePath':_0x51f4d1,'fullPath':_0x57a134,'appendedBytes':_0x140e85,'totalSize':_0x1d82d3['size'],'encoding':_0x3450fa,'message':'Appended\x20'+_0x140e85+_0x241ad8(0x139)+_0x57a134};}catch(_0x5c7681){throw new Error(_0x241ad8(0x152)+_0x57a134+':\x20'+_0x5c7681[_0x241ad8(0x1c2)]);}}async['deleteFile'](_0x672827,_0x23eb9a){const _0x12a8d7=a0_0x18e037,_0x71424b=this[_0x12a8d7(0x170)]['getWorkingDirectory'](_0x23eb9a),_0x3f60eb=this['resolvePath'](_0x672827,_0x71424b),_0x20a8e1=this['directoryAccessManager'][_0x12a8d7(0x14e)](_0x3f60eb,_0x23eb9a);if(!_0x20a8e1[_0x12a8d7(0x18d)])throw new Error(_0x12a8d7(0x14d)+_0x20a8e1[_0x12a8d7(0x18c)]+'\x20('+_0x20a8e1[_0x12a8d7(0x15b)]+')');try{const _0x44facb=await a0_0x19bfb9[_0x12a8d7(0x1ae)](_0x3f60eb),_0x10b683=_0x3f60eb+'.deleted-backup-'+Date['now']();await a0_0x19bfb9['copyFile'](_0x3f60eb,_0x10b683),await a0_0x19bfb9['unlink'](_0x3f60eb);const _0x1b091b=this['directoryAccessManager']['createRelativePath'](_0x3f60eb,_0x23eb9a),_0x3f3b55=this['directoryAccessManager'][_0x12a8d7(0x149)](_0x10b683,_0x23eb9a);return{'success':!![],'action':_0x12a8d7(0x164),'filePath':_0x1b091b,'fullPath':_0x3f60eb,'size':_0x44facb[_0x12a8d7(0x185)],'backupPath':_0x3f3b55,'backupFullPath':_0x10b683,'message':'Deleted\x20'+_0x3f60eb+'\x20(backup\x20created)'};}catch(_0x341638){throw new Error(_0x12a8d7(0x13e)+_0x3f60eb+':\x20'+_0x341638[_0x12a8d7(0x1c2)]);}}async[a0_0x18e037(0x1a0)](_0x4df92f,_0x189f53,_0x2d2582){const _0x317dac=a0_0x18e037,_0x5358c7=this['directoryAccessManager']['getWorkingDirectory'](_0x2d2582),_0x25fb71=this['resolvePath'](_0x4df92f,_0x5358c7),_0x6f4748=this[_0x317dac(0x165)](_0x189f53,_0x5358c7),_0x5b15d2=this[_0x317dac(0x170)]['validateReadAccess'](_0x25fb71,_0x2d2582);if(!_0x5b15d2[_0x317dac(0x18d)])throw new Error(_0x317dac(0x138)+_0x5b15d2[_0x317dac(0x18c)]+'\x20('+_0x5b15d2['path']+')');const _0x41f91d=this['directoryAccessManager'][_0x317dac(0x14e)](_0x6f4748,_0x2d2582);if(!_0x41f91d['allowed'])throw new Error(_0x317dac(0x137)+_0x41f91d['reason']+'\x20('+_0x41f91d['path']+')');try{const _0x2d1ceb=await a0_0x19bfb9['stat'](_0x25fb71);if(_0x2d1ceb['size']>this[_0x317dac(0x181)])throw new Error(_0x317dac(0x190)+_0x2d1ceb[_0x317dac(0x185)]+'\x20bytes');const _0x529e35=a0_0x4ba44d['dirname'](_0x6f4748);await a0_0x19bfb9[_0x317dac(0x183)](_0x529e35,{'recursive':!![]}),await a0_0x19bfb9[_0x317dac(0x1a0)](_0x25fb71,_0x6f4748);const _0x4b5c55=this[_0x317dac(0x170)]['createRelativePath'](_0x25fb71,_0x2d2582),_0x213656=this[_0x317dac(0x170)][_0x317dac(0x149)](_0x6f4748,_0x2d2582);return{'success':!![],'action':_0x317dac(0x144),'sourcePath':_0x4b5c55,'destPath':_0x213656,'sourceFullPath':_0x25fb71,'destFullPath':_0x6f4748,'size':_0x2d1ceb[_0x317dac(0x185)],'message':'Copied\x20'+_0x25fb71+_0x317dac(0x1a4)+_0x6f4748};}catch(_0x17679c){throw new Error(_0x317dac(0x180)+_0x25fb71+_0x317dac(0x1a4)+_0x6f4748+':\x20'+_0x17679c[_0x317dac(0x1c2)]);}}async['moveFile'](_0x104aa9,_0x4eea5d,_0x235cf3){const _0x2e91b2=a0_0x18e037,_0x222fad=this['directoryAccessManager']['getWorkingDirectory'](_0x235cf3),_0x192fb9=this['resolvePath'](_0x104aa9,_0x222fad),_0x3dc780=this[_0x2e91b2(0x165)](_0x4eea5d,_0x222fad),_0x29a44b=this[_0x2e91b2(0x170)]['validateReadAccess'](_0x192fb9,_0x235cf3);if(!_0x29a44b[_0x2e91b2(0x18d)])throw new Error(_0x2e91b2(0x178)+_0x29a44b[_0x2e91b2(0x18c)]+'\x20('+_0x29a44b[_0x2e91b2(0x15b)]+')');const _0x3afbc0=this[_0x2e91b2(0x170)][_0x2e91b2(0x14e)](_0x3dc780,_0x235cf3);if(!_0x3afbc0[_0x2e91b2(0x18d)])throw new Error(_0x2e91b2(0x19f)+_0x3afbc0['reason']+'\x20('+_0x3afbc0['path']+')');try{const _0x256c16=await a0_0x19bfb9['stat'](_0x192fb9),_0x9980c2=a0_0x4ba44d['dirname'](_0x3dc780);await a0_0x19bfb9['mkdir'](_0x9980c2,{'recursive':!![]}),await a0_0x19bfb9['rename'](_0x192fb9,_0x3dc780);const _0x4026b6=this[_0x2e91b2(0x170)][_0x2e91b2(0x149)](_0x192fb9,_0x235cf3),_0x1e44a9=this['directoryAccessManager']['createRelativePath'](_0x3dc780,_0x235cf3);return{'success':!![],'action':'move','sourcePath':_0x4026b6,'destPath':_0x1e44a9,'fullSourcePath':_0x192fb9,'fullDestPath':_0x3dc780,'size':_0x256c16['size'],'message':_0x2e91b2(0x186)+_0x104aa9+'\x20to\x20'+_0x4eea5d};}catch(_0x5a8ebd){throw new Error('Failed\x20to\x20move\x20'+_0x104aa9+_0x2e91b2(0x1a4)+_0x4eea5d+':\x20'+_0x5a8ebd[_0x2e91b2(0x1c2)]);}}async[a0_0x18e037(0x18e)](_0x312cab,_0xda3dbb){const _0x2ad558=a0_0x18e037,_0x30c49a=this['directoryAccessManager']['getWorkingDirectory'](_0xda3dbb),_0x272ad6=this[_0x2ad558(0x165)](_0x312cab,_0x30c49a),_0xbb4a76=this[_0x2ad558(0x170)]['validateWriteAccess'](_0x272ad6,_0xda3dbb);if(!_0xbb4a76[_0x2ad558(0x18d)])throw new Error('Write\x20access\x20denied:\x20'+_0xbb4a76['reason']+'\x20('+_0xbb4a76['path']+')');try{await a0_0x19bfb9[_0x2ad558(0x183)](_0x272ad6,{'recursive':!![]});const _0x70f17=this[_0x2ad558(0x170)][_0x2ad558(0x149)](_0x272ad6,_0xda3dbb);return{'success':!![],'action':_0x2ad558(0x177),'directory':_0x70f17,'fullPath':_0x272ad6,'message':'Created\x20directory\x20'+_0x312cab};}catch(_0xc39300){throw new Error(_0x2ad558(0x1bc)+_0x312cab+':\x20'+_0xc39300[_0x2ad558(0x1c2)]);}}async['listDirectory'](_0x3b2173,_0x2302f4){const _0x1c4e85=a0_0x18e037,_0x2169af=this['directoryAccessManager'][_0x1c4e85(0x159)](_0x2302f4),_0x339d7e=this['resolvePath'](_0x3b2173,_0x2169af),_0x5cd2c1=this[_0x1c4e85(0x170)][_0x1c4e85(0x14c)](_0x339d7e,_0x2302f4);if(!_0x5cd2c1['allowed'])throw new Error(_0x1c4e85(0x1c3)+_0x5cd2c1[_0x1c4e85(0x18c)]+'\x20('+_0x5cd2c1['path']+')');try{const _0x10031e=await a0_0x19bfb9['readdir'](_0x339d7e,{'withFileTypes':!![]}),_0x324595=[];for(const _0x5c7429 of _0x10031e){const _0xf1b49e=a0_0x4ba44d[_0x1c4e85(0x162)](_0x339d7e,_0x5c7429['name']),_0x368810=await a0_0x19bfb9[_0x1c4e85(0x1ae)](_0xf1b49e);_0x324595[_0x1c4e85(0x197)]({'name':_0x5c7429['name'],'type':_0x5c7429[_0x1c4e85(0x1c1)]()?_0x1c4e85(0x158):'file','size':_0x5c7429['isFile']()?_0x368810['size']:undefined,'lastModified':_0x368810[_0x1c4e85(0x182)]['toISOString'](),'permissions':_0x368810[_0x1c4e85(0x193)],'isSymlink':_0x5c7429['isSymbolicLink']()});}const _0x23dc2c=this[_0x1c4e85(0x170)]['createRelativePath'](_0x339d7e,_0x2302f4);return{'success':!![],'action':_0x1c4e85(0x1b7),'directory':_0x23dc2c,'fullPath':_0x339d7e,'contents':_0x324595,'totalItems':_0x324595['length'],'directories':_0x324595[_0x1c4e85(0x169)](_0x1e27e1=>_0x1e27e1['type']==='directory')['length'],'files':_0x324595[_0x1c4e85(0x169)](_0x12bb96=>_0x12bb96['type']==='file')['length'],'message':_0x1c4e85(0x1ac)+_0x324595['length']+_0x1c4e85(0x1ad)+_0x3b2173};}catch(_0x1ebf64){throw new Error(_0x1c4e85(0x13f)+_0x3b2173+':\x20'+_0x1ebf64[_0x1c4e85(0x1c2)]);}}async['checkExists'](_0x360371,_0x8021fa){const _0xf55693=a0_0x18e037,_0x493aef=this['directoryAccessManager']['getWorkingDirectory'](_0x8021fa),_0x1a6f23=this[_0xf55693(0x165)](_0x360371,_0x493aef),_0x464498=this['directoryAccessManager']['validateReadAccess'](_0x1a6f23,_0x8021fa);if(!_0x464498[_0xf55693(0x18d)])throw new Error(_0xf55693(0x1c3)+_0x464498['reason']+'\x20('+_0x464498[_0xf55693(0x15b)]+')');try{const _0x1738d1=await a0_0x19bfb9[_0xf55693(0x1ae)](_0x1a6f23),_0x15a2a1=this['directoryAccessManager']['createRelativePath'](_0x1a6f23,_0x8021fa);return{'success':!![],'action':_0xf55693(0x174),'filePath':_0x15a2a1,'fullPath':_0x1a6f23,'exists':!![],'type':_0x1738d1['isDirectory']()?'directory':_0xf55693(0x16d),'message':_0x360371+'\x20exists\x20as\x20'+(_0x1738d1['isDirectory']()?'directory':_0xf55693(0x16d))};}catch(_0x4ab062){if(_0x4ab062[_0xf55693(0x1c4)]==='ENOENT'){const _0x53a2e3=this[_0xf55693(0x170)][_0xf55693(0x149)](_0x1a6f23,_0x8021fa);return{'success':!![],'action':'exists','filePath':_0x53a2e3,'fullPath':_0x1a6f23,'exists':![],'message':_0x360371+_0xf55693(0x16e)};}throw new Error(_0xf55693(0x19b)+_0x360371+':\x20'+_0x4ab062[_0xf55693(0x1c2)]);}}async[a0_0x18e037(0x198)](_0x43947d,_0x26b61d){const _0x3a8e74=a0_0x18e037,_0x1a0a1e=this[_0x3a8e74(0x170)][_0x3a8e74(0x159)](_0x26b61d),_0x23d86e=this['resolvePath'](_0x43947d,_0x1a0a1e),_0x27a8c6=this[_0x3a8e74(0x170)][_0x3a8e74(0x14c)](_0x23d86e,_0x26b61d);if(!_0x27a8c6['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x27a8c6[_0x3a8e74(0x18c)]+'\x20('+_0x27a8c6[_0x3a8e74(0x15b)]+')');try{const _0x18edbd=await a0_0x19bfb9['stat'](_0x23d86e),_0x25ca0f=this[_0x3a8e74(0x170)][_0x3a8e74(0x149)](_0x23d86e,_0x26b61d);return{'success':!![],'action':_0x3a8e74(0x167),'filePath':_0x25ca0f,'fullPath':_0x23d86e,'stats':{'size':_0x18edbd['size'],'type':_0x18edbd['isDirectory']()?'directory':_0x3a8e74(0x16d),'lastModified':_0x18edbd['mtime'][_0x3a8e74(0x17d)](),'lastAccessed':_0x18edbd[_0x3a8e74(0x16c)][_0x3a8e74(0x17d)](),'created':_0x18edbd['birthtime']['toISOString'](),'permissions':_0x18edbd[_0x3a8e74(0x193)],'isSymlink':_0x18edbd[_0x3a8e74(0x191)]()},'message':_0x3a8e74(0x16f)+_0x43947d};}catch(_0x64660c){throw new Error('Failed\x20to\x20get\x20stats\x20for\x20'+_0x43947d+':\x20'+_0x64660c[_0x3a8e74(0x1c2)]);}}['resolvePath'](_0x91bcf5,_0x46ce7e){const _0x320af5=a0_0x18e037;if(a0_0x4ba44d[_0x320af5(0x157)](_0x91bcf5))return a0_0x4ba44d['normalize'](_0x91bcf5);return a0_0x4ba44d['resolve'](_0x46ce7e,_0x91bcf5);}['validatePathAccess'](_0x1620ea,_0x381560,_0x149d63='read'){const _0x41c10d=a0_0x18e037,_0x41332a=_0x149d63===_0x41c10d(0x1a1)?this['directoryAccessManager']['validateWriteAccess'](_0x1620ea,_0x381560):this[_0x41c10d(0x170)][_0x41c10d(0x14c)](_0x1620ea,_0x381560);if(!_0x41332a['allowed'])throw new Error(_0x149d63+_0x41c10d(0x172)+_0x41332a['reason']+'\x20('+_0x41332a[_0x41c10d(0x15b)]+')');return _0x41332a;}[a0_0x18e037(0x156)](_0x3b35c5){const _0x461922=a0_0x18e037,_0xe433d5=a0_0x4ba44d['extname'](_0x3b35c5)['toLowerCase']();if(this['blockedExtensions']['includes'](_0xe433d5))return![];if(this[_0x461922(0x155)]&&!this['allowedExtensions']['includes'](_0xe433d5))return![];return!![];}['addToHistory'](_0x1856d2,_0x364d13,_0x51f013){const _0x5e5bd4=a0_0x18e037,_0x321984={'timestamp':new Date()[_0x5e5bd4(0x17d)](),'agentId':_0x51f013,'action':_0x1856d2[_0x5e5bd4(0x147)],'filePath':_0x1856d2[_0x5e5bd4(0x195)]||_0x1856d2['outputPath']||_0x1856d2[_0x5e5bd4(0x158)],'success':_0x364d13['success'],'size':_0x364d13['size']};this['operationHistory'][_0x5e5bd4(0x197)](_0x321984),this[_0x5e5bd4(0x1b5)][_0x5e5bd4(0x13a)]>0xc8&&(this[_0x5e5bd4(0x1b5)]=this[_0x5e5bd4(0x1b5)][_0x5e5bd4(0x143)](-0xc8));}[a0_0x18e037(0x1b6)](){const _0x104bb5=a0_0x18e037;return['read',_0x104bb5(0x1a1),'append',_0x104bb5(0x164),_0x104bb5(0x144),_0x104bb5(0x148),_0x104bb5(0x177),'list','exists',_0x104bb5(0x167)];}['getParameterSchema'](){const _0x31cbfd=a0_0x18e037;return{'type':'object','properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':_0x31cbfd(0x1b2),'properties':{'type':{'type':_0x31cbfd(0x1bb),'enum':this[_0x31cbfd(0x1b6)]()},'filePath':{'type':'string'},'outputPath':{'type':'string'},'sourcePath':{'type':_0x31cbfd(0x1bb)},'destPath':{'type':'string'},'directory':{'type':'string'},'content':{'type':'string'},'encoding':{'type':'string'},'createDirs':{'type':_0x31cbfd(0x1a5)}},'required':[_0x31cbfd(0x147)]}}},'required':[_0x31cbfd(0x1a9)]};}[a0_0x18e037(0x151)](_0x21e410=null){const _0x8f0f1a=a0_0x18e037;if(_0x21e410)return this['operationHistory'][_0x8f0f1a(0x169)](_0x421e4c=>_0x421e4c[_0x8f0f1a(0x1be)]===_0x21e410);return[...this['operationHistory']];}}export default FileSystemTool;
|
|
1
|
+
function a0_0x3280(_0x4fcbb5,_0x550cf2){_0x4fcbb5=_0x4fcbb5-0xfc;const _0x51a8a7=a0_0x51a8();let _0x32803f=_0x51a8a7[_0x4fcbb5];if(a0_0x3280['oDZoJu']===undefined){var _0x11e03d=function(_0x1f43cf){const _0x40f237='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x157b05='',_0x3635b7='';for(let _0x14a6f8=0x0,_0x6a85da,_0x2a7b9f,_0x581e83=0x0;_0x2a7b9f=_0x1f43cf['charAt'](_0x581e83++);~_0x2a7b9f&&(_0x6a85da=_0x14a6f8%0x4?_0x6a85da*0x40+_0x2a7b9f:_0x2a7b9f,_0x14a6f8++%0x4)?_0x157b05+=String['fromCharCode'](0xff&_0x6a85da>>(-0x2*_0x14a6f8&0x6)):0x0){_0x2a7b9f=_0x40f237['indexOf'](_0x2a7b9f);}for(let _0x398078=0x0,_0x36137f=_0x157b05['length'];_0x398078<_0x36137f;_0x398078++){_0x3635b7+='%'+('00'+_0x157b05['charCodeAt'](_0x398078)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3635b7);};a0_0x3280['EHQmhN']=_0x11e03d,a0_0x3280['TBVkZj']={},a0_0x3280['oDZoJu']=!![];}const _0x3207dc=_0x51a8a7[0x0],_0x6d47cc=_0x4fcbb5+_0x3207dc,_0x3e31cb=a0_0x3280['TBVkZj'][_0x6d47cc];return!_0x3e31cb?(_0x32803f=a0_0x3280['EHQmhN'](_0x32803f),a0_0x3280['TBVkZj'][_0x6d47cc]=_0x32803f):_0x32803f=_0x3e31cb,_0x32803f;}const a0_0x566f99=a0_0x3280;(function(_0x16edeb,_0x13a66e){const _0x55d85a=a0_0x3280,_0x22e193=_0x16edeb();while(!![]){try{const _0x42361e=parseInt(_0x55d85a(0x17c))/0x1+-parseInt(_0x55d85a(0x145))/0x2+-parseInt(_0x55d85a(0x14d))/0x3+parseInt(_0x55d85a(0x111))/0x4+-parseInt(_0x55d85a(0x14f))/0x5+parseInt(_0x55d85a(0x11c))/0x6+parseInt(_0x55d85a(0x125))/0x7;if(_0x42361e===_0x13a66e)break;else _0x22e193['push'](_0x22e193['shift']());}catch(_0x272870){_0x22e193['push'](_0x22e193['shift']());}}}(a0_0x51a8,0x6e09e));function a0_0x51a8(){const _0x41e4bf=['D3jPDgvgAwXL','C3vJy2vZCW','BgLZDa','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','v3jPDguGywnJzxnZigrLBMLLzcbMB3iGzgvZDgLUyxrPB246ia','v3jPDguGywnJzxnZigrLBMLLzdOG','C2XPy2u','tufyx0zjtevFu0LArq','uMvHzcbHy2nLC3mGzgvUAwvKoIa','y3DK','DhjPBq','Bg9Nz2vY','C291CMnLlxbHDgG','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','yMLYDgH0Aw1L','DMfSAwrHDgvszwfKqwnJzxnZ','ywDLBNrjza','DMfSAwrHDgvqyxrOqwnJzxnZ','zMLSzvbHDgG','zMLSDgvY','uMvHzca','v3jVDguG','igj5DgvZihrVia','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNKG','BwTKAxi','DhLWzq','DxrMoa','mZm0ndCYyxzzsMfs','y3jLyxrLrgLYzwn0B3j5','AxneAxjLy3rVCNK','z2v0t3bLCMf0Aw9UsgLZDg9YEq','AxnbBgXVD2vKrMLSzuv4DgvUC2LVBG','zgvSzxrL','D3jPDgu','CMvHza','B3bLCMf0Aw9UsgLZDg9YEq','Dhj1zq','BgLZDerPCMvJDg9YEq','mZe3nJy3mhbRCMLluG','AxnbCNjHEq','Cgf0Aa','CMvUyw1L','y3jLyxrLlwrPCNm','icHIywnRDxaGy3jLyxrLzcK','y29UDgvUDa','BwvZC2fNzq','yxr0CMLIDxrLCW','ndG4mJKYmhnJB0LrrW','Bg9N','DMfSAwrHDgvxCML0zufJy2vZCW','z2v0v29YA2LUz0rPCMvJDg9YEq','ywXSB3DLza','rMLSzvn5C3rLBsberujvrZOGvxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEtO','z2v0rMLSzvn0yxrZ','Aw5JBhvKzxm','ywXSB3DLzerPCMvJDg9YAwvZ','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','ywn0Aw9UCW','z2v0u3vWCg9YDgvKqwn0Aw9UCW','CMvHC29U','ywnJzxnZ','B3v0Chv0ugf0Aa','rMLSzvn5C3rLBsberujvrZOGChjVAMvJDerPCIbPCZO','ywXSB3DLzev4DgvUC2LVBNm','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','CgfYC2vqyxjHBwv0zxjZ','u291CMnLihjLywqGywnJzxnZigrLBMLLzdOG','igj5DgvZicHTyxGG','ugfYC2vKiezPBgvtExn0zw0GDg9VBcbWyxjHBwv0zxjZ','y2HLy2TfEgLZDhm','zMLSzs1WyxrO','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25Zig11C3qGyMuGyw4GyxjYyxKUifjLy2vPDMvKihr5Cgu6ia','zxH0CMfJDfrHz3nxAxrOqxr0CMLIDxrLCW','Bwf0y2HbBgW','B3v0Chv0lxbHDgG','DgLTzw91Da','zxHPC3rZ','AM9PBG','yxrPBwu','nJe1mde4twjrDNbN','CMvHzezPBgu','Bwf4rMLSzvnPEMu','BgvUz3rO','y29WEuzPBgu','BM9YBwfSAxPL','C3vIC3rYAw5N','C3rHDa','mJi3odCXnMjVsgjHAa','zxH0BMfTzq','nda3ndi1wvvRquP5','zMLSzq','rMfPBgvKihrVigDLDcbZDgf0CYbMB3iG','B2jQzwn0','oIbJB250zw50igLZihjLCxvPCMvKigzVCIbHChbLBMq','rMLSzvn5C3rLBsberujvrZOGvxnPBMCGzMfSBgjHy2SGD29YA2LUzYbKAxjLy3rVCNK6','igj5DgvZ','ChvZAa','yxbWzw5KrMLSzq','yMXVy2TLzev4DgvUC2LVBNm','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfWCgvUza','lNnJCG','zgvZDfbHDgG','Bw9Kzq','BxrPBwu','y3jLyxrLuMvSyxrPDMvqyxrO','yNL0zuXLBMD0Aa','y29WEq','CgfYC2vbDhrYAwj1DgvZ','rMLSzsb0B28GBgfYz2u6ia','tw92zwqG','sw52ywXPzcbWyxjHBwv0zxjZoIbWyxjHBxmGBxvZDcbIzsbHBIbVyMPLy3q','AxngAwXL','C3rYAw5NAwz5','igL0zw1ZigLUia','q3jLyxrLzcbKAxjLy3rVCNKG','u291CMnLigzPBguGDg9VigXHCMDLoIa','BMfTzq','oIbJB250zw50igLZihjLCxvPCMvKigzVCIb3CML0zq','C3rYAw5N','q29WAwvKia','CMf3q29UDgvUDa','oIbMAwXLihr5CguGBM90igfSBg93zwq6ia','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9Yia','C2L6zq','CMvZB2X2zvbHDgG','zgLYBMfTzq','lMv4zq','C291CMnLugf0Aa','zgvZDc1WyxrO','rMfPBgvKihrVignOzwnRigv4Axn0zw5JzsbVzIa','yxjYyxK','Dg9ju09tDhjPBMC','y3jLyxrLlwrPCG','A2v5CW','mJG4nJyXAK1VD1vg','zgLYzwn0B3j5','D29YA2LUz0rPCMvJDg9YEq','yxbWzw5K','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','BwfW','qwn0Aw9Uia','lMjHy2T1Cc0','yxbWzw5Kvg9gAwXL','y3jLyxrLrgLYCW','rMfPBgvKihrVihDYAxrLigzPBguG','zgvIDwC'];a0_0x51a8=function(){return _0x41e4bf;};return a0_0x51a8();}import{BaseTool}from'./baseTool.js';import a0_0x157b05 from'../utilities/tagParser.js';import a0_0x3635b7 from'../utilities/directoryAccessManager.js';import a0_0x14a6f8 from'fs/promises';import a0_0x6a85da from'path';import a0_0x2a7b9f from'crypto';import{TOOL_STATUS,FILE_EXTENSIONS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class FileSystemTool extends BaseTool{constructor(_0x581e83={},_0x398078=null){const _0x4035ed=a0_0x3280;super(_0x581e83,_0x398078),this['requiresProject']=!![],this['isAsync']=![],this[_0x4035ed(0x141)]=_0x581e83[_0x4035ed(0x141)]||0x7530,this[_0x4035ed(0x12e)]=_0x581e83['maxConcurrentOperations']||0x5,this[_0x4035ed(0x147)]=_0x581e83['maxFileSize']||SYSTEM_DEFAULTS[_0x4035ed(0xfd)],this['allowedExtensions']=_0x581e83['allowedExtensions']||null,this[_0x4035ed(0x158)]=_0x581e83['blockedExtensions']||[_0x4035ed(0x174),'.bat','.cmd',_0x4035ed(0x15a),'.com'],this[_0x4035ed(0x12d)]=_0x581e83['allowedDirectories']||null,this[_0x4035ed(0x119)]=[],this[_0x4035ed(0x180)]=new a0_0x3635b7(_0x581e83,_0x398078);}['getDescription'](){const _0x40ffd2=a0_0x3280;return'\x0aFile\x20System\x20Tool:\x20Perform\x20file\x20and\x20directory\x20operations\x20safely\x20within\x20the\x20project\x20scope.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22read\x22,\x20\x22filePath\x22:\x20\x22src/index.js\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22write\x22,\x20\x22outputPath\x22:\x20\x22src/file.js\x22,\x20\x22content\x22:\x20\x22...\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSUPPORTED\x20ACTIONS:\x0a-\x20read:\x20Read\x20file\x20contents\x20(filePath)\x0a-\x20write:\x20Write\x20content\x20to\x20file\x20(outputPath,\x20content)\x0a-\x20append:\x20Append\x20content\x20to\x20existing\x20file\x20(filePath,\x20content)\x0a-\x20delete:\x20Delete\x20a\x20file\x20(filePath)\x0a-\x20copy:\x20Copy\x20file\x20(sourcePath,\x20destPath)\x0a-\x20move:\x20Move/rename\x20file\x20(sourcePath,\x20destPath)\x0a-\x20create-dir:\x20Create\x20directory\x20(directory)\x0a-\x20list:\x20List\x20directory\x20contents\x20(directory)\x0a-\x20exists:\x20Check\x20if\x20file/directory\x20exists\x20(filePath)\x0a-\x20stats:\x20Get\x20file/directory\x20metadata\x20(filePath)\x0a\x0aPARAMETERS:\x0a-\x20filePath:\x20Path\x20to\x20file\x20(for\x20read,\x20delete,\x20append,\x20exists,\x20stats)\x0a-\x20outputPath:\x20Path\x20where\x20to\x20write/create\x20file\x0a-\x20sourcePath:\x20Source\x20path\x20for\x20copy/move\x20operations\x0a-\x20destPath:\x20Destination\x20path\x20for\x20copy/move\x20operations\x0a-\x20directory:\x20Directory\x20path\x20for\x20create-dir\x20and\x20list\x20operations\x0a-\x20content:\x20Content\x20to\x20write/append\x0a-\x20encoding:\x20File\x20encoding\x20(default:\x20utf8)\x0a-\x20createDirs:\x20Create\x20parent\x20directories\x20if\x20they\x20don\x27t\x20exist\x20(true/false)\x0a\x0aEXAMPLES:\x0a\x0aWrite\x20a\x20file:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x22type\x22:\x20\x22write\x22,\x20\x22outputPath\x22:\x20\x22hello.js\x22,\x20\x22content\x22:\x20\x22console.log(\x27Hello\x27);\x22}]\x0a}\x0a```\x0a\x0aRead\x20a\x20file:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x22type\x22:\x20\x22read\x22,\x20\x22filePath\x22:\x20\x22package.json\x22}]\x0a}\x0a```\x0a\x0aMultiple\x20operations:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22filesystem\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22read\x22,\x20\x22filePath\x22:\x20\x22src/index.js\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22copy\x22,\x20\x22sourcePath\x22:\x20\x22template.js\x22,\x20\x22destPath\x22:\x20\x22src/component.js\x22},\x0a\x20\x20\x20\x20{\x22type\x22:\x20\x22create-dir\x22,\x20\x22directory\x22:\x20\x22src/components/ui\x22}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aSECURITY:\x0a-\x20Operations\x20restricted\x20to\x20project\x20directory\x0a-\x20File\x20size\x20limits\x20enforced\x20(max\x20'+Math['round'](this[_0x40ffd2(0x147)]/0x400/0x400)+'MB)\x0a-\x20Dangerous\x20file\x20types\x20blocked\x0a-\x20Path\x20traversal\x20protection\x0a\x20\x20\x20\x20';}[a0_0x566f99(0x137)](_0x36137f){const _0x4c9094=a0_0x566f99;try{const _0x4d9826={},_0x25c0c9=[];this[_0x4c9094(0x101)]?.[_0x4c9094(0x187)]('FileSystem\x20tool\x20parsing\x20parameters',{'contentLength':_0x36137f['length'],'contentPreview':_0x36137f[_0x4c9094(0x14b)](0x0,0xc8)});const _0x43986e=[_0x4c9094(0x118),'delete',_0x4c9094(0x160),'move',_0x4c9094(0x17a),'list',_0x4c9094(0x142),'stats','append'];for(const _0x2d2b30 of _0x43986e){const _0x5acd9e=a0_0x157b05[_0x4c9094(0x13e)](_0x36137f,_0x2d2b30);for(const _0x17c83e of _0x5acd9e){const _0x3c8983={'type':_0x2d2b30,..._0x17c83e[_0x4c9094(0x124)]};_0x3c8983[_0x4c9094(0x13c)]&&(_0x3c8983[_0x4c9094(0x108)]=_0x3c8983[_0x4c9094(0x13c)],delete _0x3c8983[_0x4c9094(0x13c)]),_0x3c8983[_0x4c9094(0x140)]&&(_0x3c8983[_0x4c9094(0x133)]=_0x3c8983['output-path'],delete _0x3c8983['output-path']),_0x3c8983[_0x4c9094(0x102)]&&(_0x3c8983[_0x4c9094(0x175)]=_0x3c8983['source-path'],delete _0x3c8983[_0x4c9094(0x102)]),_0x3c8983[_0x4c9094(0x176)]&&(_0x3c8983[_0x4c9094(0x15b)]=_0x3c8983['dest-path'],delete _0x3c8983['dest-path']),_0x3c8983['create-dirs']&&(_0x3c8983[_0x4c9094(0x185)]=_0x3c8983['create-dirs']===_0x4c9094(0x11a),delete _0x3c8983[_0x4c9094(0x120)]),_0x25c0c9[_0x4c9094(0x156)](_0x3c8983);}}const _0x31894d=_0x36137f[_0x4c9094(0x13f)](/<write\s+([^>]*)>(.*?)<\/write>/gs);for(const _0x829d5d of _0x31894d){const _0x3321c9=new a0_0x157b05(),_0x3076a4=_0x3321c9['parseAttributes'](_0x829d5d[0x1]),_0x5c1cc1=_0x829d5d[0x2][_0x4c9094(0x100)](),_0x2ab22e={'type':_0x4c9094(0x117),'content':_0x5c1cc1,..._0x3076a4};_0x2ab22e[_0x4c9094(0x140)]&&(_0x2ab22e['outputPath']=_0x2ab22e[_0x4c9094(0x140)],delete _0x2ab22e[_0x4c9094(0x140)]),_0x2ab22e[_0x4c9094(0x120)]&&(_0x2ab22e[_0x4c9094(0x185)]=_0x2ab22e['create-dirs']==='true',delete _0x2ab22e[_0x4c9094(0x120)]),_0x25c0c9['push'](_0x2ab22e);}const _0x19d2dc=_0x36137f[_0x4c9094(0x13f)](/<append\s+([^>]*)>(.*?)<\/append>/gs);for(const _0x131289 of _0x19d2dc){const _0x4e59aa=new a0_0x157b05(),_0x3cd0dc=_0x4e59aa[_0x4c9094(0x161)](_0x131289[0x1]),_0x3f2f76=_0x131289[0x2][_0x4c9094(0x100)](),_0x109625={'type':'append','content':_0x3f2f76,..._0x3cd0dc};_0x109625[_0x4c9094(0x13c)]&&(_0x109625[_0x4c9094(0x108)]=_0x109625[_0x4c9094(0x13c)],delete _0x109625[_0x4c9094(0x13c)]),_0x25c0c9[_0x4c9094(0x156)](_0x109625);}return _0x4d9826['actions']=_0x25c0c9,_0x4d9826[_0x4c9094(0x16e)]=_0x36137f[_0x4c9094(0x100)](),this['logger']?.['debug'](_0x4c9094(0x13a),{'totalActions':_0x25c0c9['length'],'actionTypes':_0x25c0c9[_0x4c9094(0x181)](_0x3febe5=>_0x3febe5[_0x4c9094(0x10f)]),'actions':_0x25c0c9['map'](_0x216fef=>({'type':_0x216fef['type'],'filePath':_0x216fef['filePath'],'outputPath':_0x216fef[_0x4c9094(0x133)],'hasContent':!!_0x216fef['content']}))}),_0x4d9826;}catch(_0xac66eb){throw new Error('Failed\x20to\x20parse\x20filesystem\x20parameters:\x20'+_0xac66eb['message']);}}[a0_0x566f99(0x103)](){const _0x20ab94=a0_0x566f99;return[_0x20ab94(0x12f)];}['customValidateParameters'](_0x17d1cb){const _0x545556=a0_0x566f99,_0x2e5767=[];if(!_0x17d1cb[_0x545556(0x12f)]||!Array['isArray'](_0x17d1cb[_0x545556(0x12f)])||_0x17d1cb['actions']['length']===0x0)_0x2e5767['push']('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x241ef6,_0x2e83b0]of _0x17d1cb['actions']['entries']()){if(!_0x2e83b0['type']){_0x2e5767['push'](_0x545556(0x182)+(_0x241ef6+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x2e83b0['type']){case'read':case'delete':case'exists':case'stats':!_0x2e83b0[_0x545556(0x108)]&&_0x2e5767[_0x545556(0x156)]('Action\x20'+(_0x241ef6+0x1)+':\x20file-path\x20is\x20required\x20for\x20'+_0x2e83b0[_0x545556(0x10f)]);break;case'write':!_0x2e83b0['outputPath']&&_0x2e5767[_0x545556(0x156)]('Action\x20'+(_0x241ef6+0x1)+':\x20output-path\x20is\x20required\x20for\x20write');!_0x2e83b0[_0x545556(0x122)]&&_0x2e83b0[_0x545556(0x122)]!==''&&_0x2e5767['push'](_0x545556(0x182)+(_0x241ef6+0x1)+_0x545556(0x16b));break;case _0x545556(0x17f):!_0x2e83b0['filePath']&&_0x2e5767['push']('Action\x20'+(_0x241ef6+0x1)+_0x545556(0x159));!_0x2e83b0[_0x545556(0x122)]&&_0x2e83b0['content']!==''&&_0x2e5767[_0x545556(0x156)](_0x545556(0x182)+(_0x241ef6+0x1)+_0x545556(0x153));break;case _0x545556(0x160):case'move':!_0x2e83b0['sourcePath']&&_0x2e5767['push'](_0x545556(0x182)+(_0x241ef6+0x1)+':\x20source-path\x20is\x20required\x20for\x20'+_0x2e83b0['type']);!_0x2e83b0['destPath']&&_0x2e5767[_0x545556(0x156)]('Action\x20'+(_0x241ef6+0x1)+':\x20dest-path\x20is\x20required\x20for\x20'+_0x2e83b0[_0x545556(0x10f)]);break;case'create-dir':case'list':!_0x2e83b0[_0x545556(0x17d)]&&_0x2e5767[_0x545556(0x156)](_0x545556(0x182)+(_0x241ef6+0x1)+_0x545556(0x170)+_0x2e83b0[_0x545556(0x10f)]);break;default:_0x2e5767['push'](_0x545556(0x182)+(_0x241ef6+0x1)+_0x545556(0x18b)+_0x2e83b0[_0x545556(0x10f)]);}_0x2e83b0['filePath']&&!this[_0x545556(0x115)](_0x2e83b0[_0x545556(0x108)])&&_0x2e5767[_0x545556(0x156)]('Action\x20'+(_0x241ef6+0x1)+':\x20file\x20type\x20not\x20allowed:\x20'+a0_0x6a85da['extname'](_0x2e83b0[_0x545556(0x108)])),_0x2e83b0[_0x545556(0x133)]&&!this[_0x545556(0x115)](_0x2e83b0[_0x545556(0x133)])&&_0x2e5767['push'](_0x545556(0x182)+(_0x241ef6+0x1)+_0x545556(0x16f)+a0_0x6a85da[_0x545556(0x14e)](_0x2e83b0[_0x545556(0x133)]));}return{'valid':_0x2e5767[_0x545556(0x148)]===0x0,'errors':_0x2e5767};}async['execute'](_0xc94755,_0x4bf2bf){const _0x2744a2=a0_0x566f99;if(!_0xc94755||typeof _0xc94755!==_0x2744a2(0x152))throw new Error(_0x2744a2(0x164));const {actions:_0x951aa5}=_0xc94755;if(!_0x951aa5)throw new Error('Invalid\x20parameters:\x20actions\x20is\x20required.\x20Received\x20params:\x20'+JSON[_0x2744a2(0x166)](Object[_0x2744a2(0x17b)](_0xc94755)));if(!Array[_0x2744a2(0x11d)](_0x951aa5))throw new Error(_0x2744a2(0x13d)+typeof _0x951aa5);if(_0x951aa5[_0x2744a2(0x148)]===0x0)throw new Error('Invalid\x20parameters:\x20actions\x20array\x20is\x20empty');const {projectDir:_0x16484b,agentId:_0x46ff46,directoryAccess:_0x47ec51}=_0x4bf2bf,_0x167b9c=_0x47ec51||this[_0x2744a2(0x180)][_0x2744a2(0x136)]({'workingDirectory':_0x16484b||process['cwd'](),'writeEnabledDirectories':[_0x16484b||process[_0x2744a2(0xff)]()],'restrictToProject':!![]});_0x47ec51&&_0x47ec51[_0x2744a2(0x17e)]?(console['log'](_0x2744a2(0x12a),_0x47ec51[_0x2744a2(0x17e)]),console['log']('FileSystem\x20DEBUG:\x20Full\x20directoryAccess\x20object:',JSON['stringify'](_0x47ec51,null,0x2))):(console['log'](_0x2744a2(0x154),_0x16484b||process['cwd']()),console['log']('FileSystem\x20DEBUG:\x20directoryAccess\x20is:',_0x47ec51),console[_0x2744a2(0x126)](_0x2744a2(0x134),_0x16484b));const _0x2bfdef=[];for(const _0x45ed7e of _0x951aa5){try{let _0x247fd1;switch(_0x45ed7e['type']){case _0x2744a2(0x118):_0x247fd1=await this['readFile'](_0x45ed7e['filePath'],_0x167b9c,_0x45ed7e['encoding']);break;case'write':_0x247fd1=await this['writeFile'](_0x45ed7e[_0x2744a2(0x133)],_0x45ed7e['content'],_0x167b9c,{'encoding':_0x45ed7e['encoding'],'createDirs':_0x45ed7e[_0x2744a2(0x185)]});break;case _0x2744a2(0x17f):_0x247fd1=await this[_0x2744a2(0x184)](_0x45ed7e['filePath'],_0x45ed7e[_0x2744a2(0x122)],_0x167b9c,_0x45ed7e['encoding']);break;case _0x2744a2(0x116):_0x247fd1=await this['deleteFile'](_0x45ed7e['filePath'],_0x167b9c);break;case'copy':_0x247fd1=await this[_0x2744a2(0x149)](_0x45ed7e['sourcePath'],_0x45ed7e[_0x2744a2(0x15b)],_0x167b9c);break;case'move':_0x247fd1=await this['moveFile'](_0x45ed7e['sourcePath'],_0x45ed7e['destPath'],_0x167b9c);break;case'create-dir':_0x247fd1=await this[_0x2744a2(0x112)](_0x45ed7e['directory'],_0x167b9c);break;case'list':_0x247fd1=await this[_0x2744a2(0x11b)](_0x45ed7e[_0x2744a2(0x17d)],_0x167b9c);break;case'exists':_0x247fd1=await this[_0x2744a2(0x13b)](_0x45ed7e['filePath'],_0x167b9c);break;case'stats':_0x247fd1=await this[_0x2744a2(0x12b)](_0x45ed7e['filePath'],_0x167b9c);break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x45ed7e['type']);}_0x2bfdef['push'](_0x247fd1),this['addToHistory'](_0x45ed7e,_0x247fd1,_0x4bf2bf[_0x2744a2(0x106)]);}catch(_0x496297){const _0x1244ed={'success':![],'action':_0x45ed7e[_0x2744a2(0x10f)],'error':_0x496297['message'],'filePath':_0x45ed7e[_0x2744a2(0x108)]||_0x45ed7e['outputPath']||_0x45ed7e['directory']};_0x2bfdef['push'](_0x1244ed),this['addToHistory'](_0x45ed7e,_0x1244ed,_0x4bf2bf[_0x2744a2(0x106)]);}}return{'success':!![],'actions':_0x2bfdef,'executedActions':_0x951aa5[_0x2744a2(0x148)],'toolUsed':'filesys'};}async[a0_0x566f99(0x146)](_0x52e76e,_0x21c10e,_0x33a86b='utf8'){const _0x5c6a01=a0_0x566f99,_0x38dfb4=this[_0x5c6a01(0x180)]['getWorkingDirectory'](_0x21c10e),_0x29fde0=this['resolvePath'](_0x52e76e,_0x38dfb4),_0x26315c=this['directoryAccessManager']['validateReadAccess'](_0x29fde0,_0x21c10e);if(!_0x26315c['allowed'])throw new Error(_0x5c6a01(0xfe)+_0x26315c['reason']+'\x20('+_0x26315c['path']+')');try{const _0x9a5b68=await a0_0x14a6f8['stat'](_0x29fde0);if(_0x9a5b68['size']>this[_0x5c6a01(0x147)])throw new Error(_0x5c6a01(0x162)+_0x9a5b68['size']+'\x20bytes\x20(max\x20'+this[_0x5c6a01(0x147)]+')');const _0xfe899c=await a0_0x14a6f8[_0x5c6a01(0x146)](_0x29fde0,_0x33a86b);return{'success':!![],'action':'read','filePath':this['directoryAccessManager'][_0x5c6a01(0x15e)](_0x29fde0,_0x21c10e),'content':_0xfe899c,'size':_0x9a5b68['size'],'encoding':_0x33a86b,'lastModified':_0x9a5b68[_0x5c6a01(0x15d)]['toISOString'](),'message':_0x5c6a01(0x10a)+_0x9a5b68['size']+'\x20bytes\x20from\x20'+_0x52e76e};}catch(_0xcbd8f4){throw new Error('Failed\x20to\x20read\x20file\x20'+_0x52e76e+':\x20'+_0xcbd8f4['message']);}}async[a0_0x566f99(0x188)](_0x36d3b1,_0x4c8750,_0x528672,_0x249473={}){const _0xd9251f=a0_0x566f99,{encoding:encoding='utf8',createDirs:createDirs=!![]}=_0x249473,_0x7c9b4e=this[_0xd9251f(0x180)]['getWorkingDirectory'](_0x528672),_0x1f5586=this['resolvePath'](_0x36d3b1,_0x7c9b4e),_0x36124f=this[_0xd9251f(0x180)]['validateWriteAccess'](_0x1f5586,_0x528672);if(!_0x36124f[_0xd9251f(0x129)])throw new Error(_0xd9251f(0x18d)+_0x36124f['reason']+'\x20('+_0x36124f['path']+')');try{const _0x3669c4=Buffer['byteLength'](_0x4c8750,encoding);if(_0x3669c4>this['maxFileSize'])throw new Error('Content\x20too\x20large:\x20'+_0x3669c4+_0xd9251f(0x139)+this[_0xd9251f(0x147)]+')');if(createDirs){const _0x5c9320=a0_0x6a85da[_0xd9251f(0x173)](_0x1f5586);await a0_0x14a6f8['mkdir'](_0x5c9320,{'recursive':!![]});}let _0x39854e=null;try{await a0_0x14a6f8[_0xd9251f(0x132)](_0x1f5586),_0x39854e=_0x1f5586+_0xd9251f(0x183)+Date['now'](),await a0_0x14a6f8['copyFile'](_0x1f5586,_0x39854e);}catch{}await a0_0x14a6f8[_0xd9251f(0x188)](_0x1f5586,_0x4c8750,encoding);const _0x1040dd=await a0_0x14a6f8[_0xd9251f(0x14c)](_0x1f5586),_0x3232c4=this[_0xd9251f(0x180)]['createRelativePath'](_0x1f5586,_0x528672);return{'success':!![],'action':_0xd9251f(0x117),'outputPath':_0x3232c4,'fullPath':_0x1f5586,'size':_0x1040dd[_0xd9251f(0x171)],'encoding':encoding,'backupPath':_0x39854e?this[_0xd9251f(0x180)]['createRelativePath'](_0x39854e,_0x528672):null,'backupFullPath':_0x39854e||null,'message':_0xd9251f(0x10b)+_0x1040dd['size']+_0xd9251f(0x10c)+_0x1f5586};}catch(_0x2774cc){throw new Error(_0xd9251f(0x186)+_0x1f5586+':\x20'+_0x2774cc['message']);}}async[a0_0x566f99(0x184)](_0x35bfbd,_0x366861,_0x3df955,_0x541177=a0_0x566f99(0x110)){const _0x10dd0f=a0_0x566f99,_0x13a9a3=this[_0x10dd0f(0x180)][_0x10dd0f(0x128)](_0x3df955),_0x3854f0=this[_0x10dd0f(0x172)](_0x35bfbd,_0x13a9a3),_0xd9ed89=this['directoryAccessManager']['validateWriteAccess'](_0x3854f0,_0x3df955);if(!_0xd9ed89['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0xd9ed89[_0x10dd0f(0x131)]+'\x20('+_0xd9ed89[_0x10dd0f(0x11e)]+')');try{let _0x205528=0x0;try{const _0x479259=await a0_0x14a6f8[_0x10dd0f(0x14c)](_0x3854f0);_0x205528=_0x479259[_0x10dd0f(0x171)];}catch{}const _0x29e7f4=Buffer[_0x10dd0f(0x15f)](_0x366861,_0x541177);if(_0x205528+_0x29e7f4>this['maxFileSize'])throw new Error('File\x20would\x20become\x20too\x20large:\x20'+(_0x205528+_0x29e7f4)+_0x10dd0f(0x139)+this[_0x10dd0f(0x147)]+')');await a0_0x14a6f8[_0x10dd0f(0x157)](_0x3854f0,_0x366861,_0x541177);const _0x4b9ea5=await a0_0x14a6f8['stat'](_0x3854f0),_0x56e36c=this['directoryAccessManager'][_0x10dd0f(0x15e)](_0x3854f0,_0x3df955);return{'success':!![],'action':_0x10dd0f(0x17f),'filePath':_0x56e36c,'fullPath':_0x3854f0,'appendedBytes':_0x29e7f4,'totalSize':_0x4b9ea5['size'],'encoding':_0x541177,'message':'Appended\x20'+_0x29e7f4+_0x10dd0f(0x10c)+_0x3854f0};}catch(_0x3e6799){throw new Error('Failed\x20to\x20append\x20to\x20file\x20'+_0x3854f0+':\x20'+_0x3e6799[_0x10dd0f(0x123)]);}}async['deleteFile'](_0x25c9f3,_0xa1cc0c){const _0x2383f1=a0_0x566f99,_0x2c55d4=this['directoryAccessManager'][_0x2383f1(0x128)](_0xa1cc0c),_0x1611f6=this[_0x2383f1(0x172)](_0x25c9f3,_0x2c55d4),_0x369bb5=this[_0x2383f1(0x180)][_0x2383f1(0x127)](_0x1611f6,_0xa1cc0c);if(!_0x369bb5['allowed'])throw new Error('Delete\x20access\x20denied:\x20'+_0x369bb5['reason']+'\x20('+_0x369bb5[_0x2383f1(0x11e)]+')');try{const _0x4ce97f=await a0_0x14a6f8['stat'](_0x1611f6),_0x514ad9=_0x1611f6+'.deleted-backup-'+Date['now']();await a0_0x14a6f8['copyFile'](_0x1611f6,_0x514ad9),await a0_0x14a6f8['unlink'](_0x1611f6);const _0x392d73=this['directoryAccessManager'][_0x2383f1(0x15e)](_0x1611f6,_0xa1cc0c),_0x159e49=this['directoryAccessManager']['createRelativePath'](_0x514ad9,_0xa1cc0c);return{'success':!![],'action':_0x2383f1(0x116),'filePath':_0x392d73,'fullPath':_0x1611f6,'size':_0x4ce97f[_0x2383f1(0x171)],'backupPath':_0x159e49,'backupFullPath':_0x514ad9,'message':'Deleted\x20'+_0x1611f6+_0x2383f1(0x121)};}catch(_0x9c5a24){throw new Error('Failed\x20to\x20delete\x20file\x20'+_0x1611f6+':\x20'+_0x9c5a24[_0x2383f1(0x123)]);}}async[a0_0x566f99(0x149)](_0x12d701,_0x311df6,_0x23e7ac){const _0x160adf=a0_0x566f99,_0x428617=this['directoryAccessManager'][_0x160adf(0x128)](_0x23e7ac),_0x33c818=this['resolvePath'](_0x12d701,_0x428617),_0x462bea=this[_0x160adf(0x172)](_0x311df6,_0x428617),_0x4392e2=this[_0x160adf(0x180)]['validateReadAccess'](_0x33c818,_0x23e7ac);if(!_0x4392e2[_0x160adf(0x129)])throw new Error(_0x160adf(0x138)+_0x4392e2[_0x160adf(0x131)]+'\x20('+_0x4392e2['path']+')');const _0x152725=this['directoryAccessManager'][_0x160adf(0x127)](_0x462bea,_0x23e7ac);if(!_0x152725[_0x160adf(0x129)])throw new Error('Destination\x20write\x20access\x20denied:\x20'+_0x152725[_0x160adf(0x131)]+'\x20('+_0x152725['path']+')');try{const _0x38d755=await a0_0x14a6f8['stat'](_0x33c818);if(_0x38d755['size']>this['maxFileSize'])throw new Error(_0x160adf(0x169)+_0x38d755['size']+_0x160adf(0x155));const _0x4f93d0=a0_0x6a85da[_0x160adf(0x173)](_0x462bea);await a0_0x14a6f8['mkdir'](_0x4f93d0,{'recursive':!![]}),await a0_0x14a6f8['copyFile'](_0x33c818,_0x462bea);const _0x16c23b=this[_0x160adf(0x180)][_0x160adf(0x15e)](_0x33c818,_0x23e7ac),_0x42df70=this[_0x160adf(0x180)]['createRelativePath'](_0x462bea,_0x23e7ac);return{'success':!![],'action':_0x160adf(0x160),'sourcePath':_0x16c23b,'destPath':_0x42df70,'sourceFullPath':_0x33c818,'destFullPath':_0x462bea,'size':_0x38d755[_0x160adf(0x171)],'message':_0x160adf(0x16d)+_0x33c818+'\x20to\x20'+_0x462bea};}catch(_0x25d173){throw new Error('Failed\x20to\x20copy\x20'+_0x33c818+'\x20to\x20'+_0x462bea+':\x20'+_0x25d173[_0x160adf(0x123)]);}}async['moveFile'](_0x38e33a,_0x1134f0,_0x520c41){const _0x395a2f=a0_0x566f99,_0x4833ad=this[_0x395a2f(0x180)][_0x395a2f(0x128)](_0x520c41),_0x23fe73=this['resolvePath'](_0x38e33a,_0x4833ad),_0x25465b=this['resolvePath'](_0x1134f0,_0x4833ad),_0x5496e3=this['directoryAccessManager']['validateReadAccess'](_0x23fe73,_0x520c41);if(!_0x5496e3['allowed'])throw new Error('Read\x20access\x20denied\x20for\x20source:\x20'+_0x5496e3['reason']+'\x20('+_0x5496e3[_0x395a2f(0x11e)]+')');const _0x582fc6=this[_0x395a2f(0x180)]['validateWriteAccess'](_0x25465b,_0x520c41);if(!_0x582fc6['allowed'])throw new Error(_0x395a2f(0x18c)+_0x582fc6[_0x395a2f(0x131)]+'\x20('+_0x582fc6[_0x395a2f(0x11e)]+')');try{const _0x34eab3=await a0_0x14a6f8[_0x395a2f(0x14c)](_0x23fe73),_0x399ef2=a0_0x6a85da[_0x395a2f(0x173)](_0x25465b);await a0_0x14a6f8[_0x395a2f(0x10e)](_0x399ef2,{'recursive':!![]}),await a0_0x14a6f8[_0x395a2f(0x11f)](_0x23fe73,_0x25465b);const _0x5d7e48=this['directoryAccessManager'][_0x395a2f(0x15e)](_0x23fe73,_0x520c41),_0x4dd546=this[_0x395a2f(0x180)]['createRelativePath'](_0x25465b,_0x520c41);return{'success':!![],'action':'move','sourcePath':_0x5d7e48,'destPath':_0x4dd546,'fullSourcePath':_0x23fe73,'fullDestPath':_0x25465b,'size':_0x34eab3['size'],'message':_0x395a2f(0x163)+_0x38e33a+'\x20to\x20'+_0x1134f0};}catch(_0x5e13a0){throw new Error('Failed\x20to\x20move\x20'+_0x38e33a+'\x20to\x20'+_0x1134f0+':\x20'+_0x5e13a0[_0x395a2f(0x123)]);}}async['createDirectory'](_0x505092,_0x280bb8){const _0x13cacb=a0_0x566f99,_0x31febc=this[_0x13cacb(0x180)][_0x13cacb(0x128)](_0x280bb8),_0x160f02=this['resolvePath'](_0x505092,_0x31febc),_0x142af6=this[_0x13cacb(0x180)]['validateWriteAccess'](_0x160f02,_0x280bb8);if(!_0x142af6[_0x13cacb(0x129)])throw new Error('Write\x20access\x20denied:\x20'+_0x142af6[_0x13cacb(0x131)]+'\x20('+_0x142af6['path']+')');try{await a0_0x14a6f8['mkdir'](_0x160f02,{'recursive':!![]});const _0x134561=this[_0x13cacb(0x180)][_0x13cacb(0x15e)](_0x160f02,_0x280bb8);return{'success':!![],'action':'create-dir','directory':_0x134561,'fullPath':_0x160f02,'message':_0x13cacb(0x168)+_0x505092};}catch(_0x40f1be){throw new Error(_0x13cacb(0x10d)+_0x505092+':\x20'+_0x40f1be['message']);}}async[a0_0x566f99(0x11b)](_0x399ff2,_0x2e895d){const _0x23256c=a0_0x566f99,_0x5e4a89=this[_0x23256c(0x180)]['getWorkingDirectory'](_0x2e895d),_0x328d10=this['resolvePath'](_0x399ff2,_0x5e4a89),_0x5db973=this[_0x23256c(0x180)][_0x23256c(0x105)](_0x328d10,_0x2e895d);if(!_0x5db973['allowed'])throw new Error(_0x23256c(0xfe)+_0x5db973['reason']+'\x20('+_0x5db973[_0x23256c(0x11e)]+')');try{const _0x535500=await a0_0x14a6f8['readdir'](_0x328d10,{'withFileTypes':!![]}),_0x2b5de3=[];for(const _0x379d74 of _0x535500){const _0x54f726=a0_0x6a85da[_0x23256c(0x143)](_0x328d10,_0x379d74['name']),_0x3b5a80=await a0_0x14a6f8[_0x23256c(0x14c)](_0x54f726);_0x2b5de3[_0x23256c(0x156)]({'name':_0x379d74[_0x23256c(0x16a)],'type':_0x379d74[_0x23256c(0x113)]()?_0x23256c(0x17d):_0x23256c(0x150),'size':_0x379d74[_0x23256c(0x165)]()?_0x3b5a80['size']:undefined,'lastModified':_0x3b5a80['mtime'][_0x23256c(0x179)](),'permissions':_0x3b5a80[_0x23256c(0x15c)],'isSymlink':_0x379d74['isSymbolicLink']()});}const _0x5271fb=this[_0x23256c(0x180)]['createRelativePath'](_0x328d10,_0x2e895d);return{'success':!![],'action':'list','directory':_0x5271fb,'fullPath':_0x328d10,'contents':_0x2b5de3,'totalItems':_0x2b5de3['length'],'directories':_0x2b5de3['filter'](_0x4a88c9=>_0x4a88c9[_0x23256c(0x10f)]==='directory')['length'],'files':_0x2b5de3[_0x23256c(0x109)](_0x11e489=>_0x11e489['type']===_0x23256c(0x150))[_0x23256c(0x148)],'message':'Listed\x20'+_0x2b5de3[_0x23256c(0x148)]+_0x23256c(0x167)+_0x399ff2};}catch(_0x2b0d3a){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0x399ff2+':\x20'+_0x2b0d3a['message']);}}async['checkExists'](_0x284113,_0x18228e){const _0x5c7eea=a0_0x566f99,_0x4a0ce2=this[_0x5c7eea(0x180)][_0x5c7eea(0x128)](_0x18228e),_0xdc7a90=this[_0x5c7eea(0x172)](_0x284113,_0x4a0ce2),_0x4edb53=this[_0x5c7eea(0x180)][_0x5c7eea(0x105)](_0xdc7a90,_0x18228e);if(!_0x4edb53['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x4edb53['reason']+'\x20('+_0x4edb53['path']+')');try{const _0x267e98=await a0_0x14a6f8[_0x5c7eea(0x14c)](_0xdc7a90),_0x1e6ece=this[_0x5c7eea(0x180)]['createRelativePath'](_0xdc7a90,_0x18228e);return{'success':!![],'action':_0x5c7eea(0x142),'filePath':_0x1e6ece,'fullPath':_0xdc7a90,'exists':!![],'type':_0x267e98['isDirectory']()?'directory':'file','message':_0x284113+'\x20exists\x20as\x20'+(_0x267e98['isDirectory']()?_0x5c7eea(0x17d):_0x5c7eea(0x150))};}catch(_0x321ff7){if(_0x321ff7['code']==='ENOENT'){const _0x3365a3=this[_0x5c7eea(0x180)]['createRelativePath'](_0xdc7a90,_0x18228e);return{'success':!![],'action':'exists','filePath':_0x3365a3,'fullPath':_0xdc7a90,'exists':![],'message':_0x284113+'\x20does\x20not\x20exist'};}throw new Error(_0x5c7eea(0x177)+_0x284113+':\x20'+_0x321ff7[_0x5c7eea(0x123)]);}}async['getFileStats'](_0x25342e,_0x31c126){const _0x32e4bd=a0_0x566f99,_0x138927=this[_0x32e4bd(0x180)]['getWorkingDirectory'](_0x31c126),_0x5ef0b2=this['resolvePath'](_0x25342e,_0x138927),_0x55eeee=this['directoryAccessManager'][_0x32e4bd(0x105)](_0x5ef0b2,_0x31c126);if(!_0x55eeee['allowed'])throw new Error(_0x32e4bd(0xfe)+_0x55eeee[_0x32e4bd(0x131)]+'\x20('+_0x55eeee['path']+')');try{const _0xb936d9=await a0_0x14a6f8['stat'](_0x5ef0b2),_0x5cfe00=this['directoryAccessManager']['createRelativePath'](_0x5ef0b2,_0x31c126);return{'success':!![],'action':'stats','filePath':_0x5cfe00,'fullPath':_0x5ef0b2,'stats':{'size':_0xb936d9[_0x32e4bd(0x171)],'type':_0xb936d9[_0x32e4bd(0x113)]()?_0x32e4bd(0x17d):'file','lastModified':_0xb936d9['mtime']['toISOString'](),'lastAccessed':_0xb936d9[_0x32e4bd(0x144)][_0x32e4bd(0x179)](),'created':_0xb936d9[_0x32e4bd(0x104)][_0x32e4bd(0x179)](),'permissions':_0xb936d9[_0x32e4bd(0x15c)],'isSymlink':_0xb936d9['isSymbolicLink']()},'message':'Retrieved\x20stats\x20for\x20'+_0x25342e};}catch(_0x120712){throw new Error(_0x32e4bd(0x151)+_0x25342e+':\x20'+_0x120712[_0x32e4bd(0x123)]);}}[a0_0x566f99(0x172)](_0x3a9f61,_0x4c852c){const _0x5abc2b=a0_0x566f99;if(a0_0x6a85da['isAbsolute'](_0x3a9f61))return a0_0x6a85da[_0x5abc2b(0x14a)](_0x3a9f61);return a0_0x6a85da['resolve'](_0x4c852c,_0x3a9f61);}[a0_0x566f99(0x107)](_0x570776,_0x1630e9,_0x254f5d=a0_0x566f99(0x118)){const _0xd8eaef=a0_0x566f99,_0x5e9041=_0x254f5d===_0xd8eaef(0x117)?this['directoryAccessManager'][_0xd8eaef(0x127)](_0x570776,_0x1630e9):this[_0xd8eaef(0x180)]['validateReadAccess'](_0x570776,_0x1630e9);if(!_0x5e9041['allowed'])throw new Error(_0x254f5d+'\x20access\x20denied:\x20'+_0x5e9041['reason']+'\x20('+_0x5e9041[_0xd8eaef(0x11e)]+')');return _0x5e9041;}[a0_0x566f99(0x115)](_0x46d2ad){const _0x3131c4=a0_0x566f99,_0x348426=a0_0x6a85da[_0x3131c4(0x14e)](_0x46d2ad)['toLowerCase']();if(this['blockedExtensions'][_0x3131c4(0x12c)](_0x348426))return![];if(this['allowedExtensions']&&!this[_0x3131c4(0x135)][_0x3131c4(0x12c)](_0x348426))return![];return!![];}['addToHistory'](_0x57e217,_0x10f914,_0x13ef6d){const _0x3e4982=a0_0x566f99,_0x1be9b4={'timestamp':new Date()[_0x3e4982(0x179)](),'agentId':_0x13ef6d,'action':_0x57e217['type'],'filePath':_0x57e217[_0x3e4982(0x108)]||_0x57e217[_0x3e4982(0x133)]||_0x57e217[_0x3e4982(0x17d)],'success':_0x10f914[_0x3e4982(0x189)],'size':_0x10f914['size']};this[_0x3e4982(0x119)][_0x3e4982(0x156)](_0x1be9b4),this['operationHistory']['length']>0xc8&&(this[_0x3e4982(0x119)]=this[_0x3e4982(0x119)][_0x3e4982(0xfc)](-0xc8));}[a0_0x566f99(0x130)](){const _0x4bcc09=a0_0x566f99;return['read',_0x4bcc09(0x117),'append','delete','copy','move',_0x4bcc09(0x17a),_0x4bcc09(0x18a),'exists','stats'];}['getParameterSchema'](){const _0x201cfb=a0_0x566f99;return{'type':'object','properties':{'actions':{'type':_0x201cfb(0x178),'minItems':0x1,'items':{'type':_0x201cfb(0x152),'properties':{'type':{'type':_0x201cfb(0x16c),'enum':this['getSupportedActions']()},'filePath':{'type':_0x201cfb(0x16c)},'outputPath':{'type':_0x201cfb(0x16c)},'sourcePath':{'type':'string'},'destPath':{'type':_0x201cfb(0x16c)},'directory':{'type':_0x201cfb(0x16c)},'content':{'type':'string'},'encoding':{'type':'string'},'createDirs':{'type':'boolean'}},'required':[_0x201cfb(0x10f)]}}},'required':['actions']};}[a0_0x566f99(0x114)](_0x4e48a5=null){const _0x4f97cf=a0_0x566f99;if(_0x4e48a5)return this[_0x4f97cf(0x119)][_0x4f97cf(0x109)](_0x40f0c0=>_0x40f0c0['agentId']===_0x4e48a5);return[...this['operationHistory']];}}export default FileSystemTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x48d644=a0_0x473e;(function(_0x1d01d6,_0x2c8272){const _0x9ead1f=a0_0x473e,_0x551c95=_0x1d01d6();while(!![]){try{const _0x4b3c52=parseInt(_0x9ead1f(0x201))/0x1*(parseInt(_0x9ead1f(0x1cc))/0x2)+-parseInt(_0x9ead1f(0x1ce))/0x3*(parseInt(_0x9ead1f(0x210))/0x4)+parseInt(_0x9ead1f(0x1f0))/0x5*(-parseInt(_0x9ead1f(0x205))/0x6)+-parseInt(_0x9ead1f(0x1ac))/0x7+parseInt(_0x9ead1f(0x1ab))/0x8+-parseInt(_0x9ead1f(0x20b))/0x9*(-parseInt(_0x9ead1f(0x1b4))/0xa)+parseInt(_0x9ead1f(0x19d))/0xb;if(_0x4b3c52===_0x2c8272)break;else _0x551c95['push'](_0x551c95['shift']());}catch(_0xe8de09){_0x551c95['push'](_0x551c95['shift']());}}}(a0_0x4f6a,0xb38ed));function a0_0x4f6a(){const _0x3fb618=['tufyx0rfufrix0XjtuLu','mteXodC3mZzxrgvXt1e','mZGXmdq5owTzv1DysG','lNr0zG','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','Aw5JBhvKzuv4DgvUC2LVBNm','x19WEwnHy2HLx18','qLjbtKni','zMLSzxndB3vUDa','cIaGlsbezwvWzxiGpsbTB3jLigrLDgfPBcWGC2XVD2vYihbLCMzVCM1HBMnLcGPPBMnSDwrLrxH0zw5ZAw9UCYaOB3b0Aw9UywWGlsbxseLuruXju1qPoGOGic0Gsw5JBhvKzsbptKXzihrOzxnLigzPBguGzxH0zw5ZAw9UCWOGic0GqxjYyxKGB2yGzxH0zw5ZAw9UCWOGic0GrxHHBxbSzxm6ifSIlMPZiIWGiI5QC3GIlcaIlNrZiIWGiI50C3GIxqOGic0GvgfRzxmGChjLy2vKzw5JzsbVDMvYigv4y2X1zgvfEhrLBNnPB25ZcGPLEgnSDwrLrxH0zw5ZAw9UCYaOB3b0Aw9UywWGlsbctefds0Xju1qPoGOGic0GrxHJBhvKzsb0AgvZzsbMAwXLigv4DgvUC2LVBNmkicaTiefYCMf5ig9Migv4DgvUC2LVBNmkicaTiev4yw1WBgvZoIbBiI50zxn0lMPZiIWGiI5ZCgvJlMPZiIWGiI5TAw4UANmIxqOGic0Gt25SEsbHChbSAwvZigLMigLUy2X1zgvfEhrLBNnPB25ZigLZig5VDcbZzxqkcMv4y2X1zgveAxjLy3rVCMLLCYaOB3b0Aw9UywWPoGOGic0GqwrKAxrPB25HBcbKAxjLy3rVCMLLCYb0BYbPz25VCMukicaTiefSCMvHzhKGAwDUB3jLCZOGBM9Kzv9TB2r1BgvZlcaUz2L0lcbKAxn0lcbIDwLSzcWGzxrJlGOGic0GrxHHBxbSzxm6ifSIDgvZDhmIlcaIzML4DhvYzxmIlcaIBw9JA3mIxqOkC2HVD0zPBgvZicHVChrPB25HBcK6cIaGlsbxAgv0AgvYihrVihnOB3CGzMLSzxmGkgrLzMf1Bhq6ihrYDwuPcIaGlsbtzxqGDg8GzMfSC2uGDg8GC2HVDYbVBMX5igrPCMvJDg9YEsbZDhj1y3r1CMukcNnOB3DiAwrKzw4Gkg9WDgLVBMfSktOkicaTifDOzxrOzxiGDg8GC2HVDYbOAwrKzw4GzMLSzxmVzM9SzgvYCYaOzgvMyxvSDdOGzMfSC2uPcIaGlsbiAwrKzw4GpsbZDgfYDhmGD2L0AcaNlICkcNnOB3DtAxPLCYaOB3b0Aw9UywWPoGOGic0Gv2HLDgHLCIb0BYbZAg93igzPBguGC2L6zxmGkgrLzMf1Bhq6igzHBhnLkqOGic0GrM9YBwf0oIblqIWGtuikcMLNBM9YzujPBMfYEuzPBgvZicHVChrPB25HBcK6cIaGlsbxAgv0AgvYihrVigLNBM9YzsbIAw5HCNKVBwvKAweGzMLSzxmGkgrLzMf1Bhq6igzHBhnLkqOGic0GswDUB3jLCZOGAw1Hz2vZlcb2AwrLB3mSigfYy2HPDMvZlcbMB250CYWGzxrJlGOkrvHbtvbmrvm6cGPfEgfTCgXLideGlsbcyxnPyYb0CMvLoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6iciUiGP9cMbGyaOkrxHHBxbSzsaYic0GsMf2yvnJCMLWDc9uExbLu2nYAxb0ig9UBhK6cMbGygPZB24kEWOGicj0B29SswqIoIaIzMLSzs10CMvLiIWkicaIzgLYzwn0B3j5iJOGiNnYyYiScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUANmIlcaIlMPZEciSiciUDhmIlcaIlNrZEcjDlaOGicjTyxHezxb0Aci6idukFqPGygakcKv4yw1WBguGmYaTifb5DgHVBIbWCM9Qzwn0ihn0CNvJDhvYztOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjMAwXLlxrYzwuIlaOGicjKAxjLy3rVCNKIoIaIlIiScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUChKIxsWkicaIzxHJBhvKzuv4DgvUC2LVBNmIoIbBiI5WEwmIxsWkicaIC2HVD0zPBgvZiJOGDhj1zqP9cMbGyaOkrxHHBxbSzsa0ic0GrgLYzwn0B3j5ihn0CNvJDhvYzsbVBMX5oGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicjZAg93rMLSzxmIoIbMywXZzsWkicaIBwf4rgvWDgGIoIaZcN0kygbGcGPfEgfTCgXLiduGlsbfEgnSDwrLihrLC3qGzMLSzxm6cMbGygPZB24kEWOGicj0B29SswqIoIaIzMLSzs10CMvLiIWkicaIzgLYzwn0B3j5iJOGiNnYyYiScIaGiMv4y2X1zgvfEhrLBNnPB25ZiJOGwYiUDgvZDc5QCYiSiciUC3bLyY5QCYiSiciUDgvZDc50CYiSiciUC3bLyY50CYjDlaOGicjLEgnSDwrLrgLYzwn0B3jPzxmIoIbBiL9FDgvZDhnFxYiSicj0zxn0CYiSicjZCgvJCYjDcN0kygbGcGPpvvrqvvqGrK9stufuoGPZCMmVcUkuNokuGokuGcbJB21WB25LBNrZlWRILiiGicdILjZILidILiaGsgvHzgvYlMPZEaRILiiGicdILjZILidILiaGrM9VDgvYlMPZEaRILiiGicdILjtILidILiaGtgf5B3v0lMPZEaRILjZILidILiaGDxrPBhmVcUkuGIaGiokuNokuGokuGcbOzwXWzxjZlMPZcUkuGIaGiokuLokuGokuGcbJB25MAwCUANmk4Psu4Psa4PsaigLUzgv4lMPZcGPbvvrptufusumGsuDot1jfuZOkvgHLihrVB2WGyxv0B21HDgLJywXSEsbPz25VCMvZignVBw1VBIbKAxjLy3rVCMLLCZOklsbUB2rLx21VzhvSzxmSic5NAxqSigrPC3qSigj1AwXKlcbJB3zLCMfNzqOTic5UzxH0lcaUBNv4DcWGlMnHy2HLlcbVDxqSihrHCMDLDaOTic52C2nVzguSic5PzgvHlcbFx3b5y2fJAgvFxYWGDMvUDGOkteLnsvrbveLptLm6cI0Gtwf4Aw11BsbKzxb0AdOG','otm1mdyWqMrVyuTA','Bwf4lwrLChrOig11C3qGyMuGysbWB3nPDgL2zsbUDw1Izxi','C2L6zq','lMDPDa','lNjHCG','cLnRAxbWzwq6ia','cIaGica','lNrLBxa','r2vUzxjHDgLUzYbMAwXLihrYzwu','lNDVzMy','zxH0BMfTzq','Aw5MBW','C2HVD1nPEMvZ','Dg9gAxHLza','iIbTDxn0ihn0yxj0ihDPDgGGysbKB3qGkguUzY4SiciUANmIkq','lMPHCG','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','zgLYzwn0B3j5','lNPPCa','CgfYC2u','D29YA2LUz0rPCMvJDg9YEq','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','zMfSC2u','BgLI','ode5ndmWthnOwg91','CMvHzgrPCG','otzyEKLHB2O','lNn2zW','lNbUzW','lM1WmW','y2HPBgrYzw4','zxHJBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','lMDPzG','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','lNDVzMyY','DgfYz2v0','zxHJBhvKzurPCMvJDg9YAwvZ','yNvPBgruCMvL','DgLTzw91Da','lNrVEa','CMvSyxrPDMu','lNzZ','DhLWzq','BM9Kzv9TB2r1BgvZ','cKzPBguGvhjLzsbuB29SoIbhzw5LCMf0zsbOAwvYyxjJAgLJywWGDhjLzsbYzxbYzxnLBNrHDgLVBIbVzIbWCM9Qzwn0igrPCMvJDg9YEsbZDhj1y3r1CMuUcGPvu0fhrtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjMAwXLlxrYzwuIlaOGicjKAxjLy3rVCNKIoIaIC3jJiIWkicaIBwf4rgvWDgGIoIa0laOGicjPBMnSDwrLrxH0zw5ZAw9UCYi6ifSIlMPZiIWGiI5QC3GIlcaIlNrZiIWGiI50C3GIxsWkicaIzxHJBhvKzuv4DgvUC2LVBNmIoIbBiI50zxn0lMPZiIWGiI5ZCgvJlMPZiL0ScIaGiNnOB3DgAwXLCYi6ihrYDwuScIaGiNnOB3DiAwrKzw4IoIbMywXZzqP9cMbGyaOkuefsqu1fvevsuZOkcMrPCMvJDg9YEsaOB3b0Aw9UywWPoGOGic0GrgLYzwn0B3j5ihrVihnJyw4GkgrLzMf1Bhq6ihDVCMTPBMCGzgLYzwn0B3j5kqOGic0Gq2fUigjLihjLBgf0AxzLig9YigfIC29SDxrLihbHDgGkicaTiev4yw1WBgvZoIaIC3jJiIWGiNnYyY9JB21WB25LBNrZiIWGiI9OB21Ll3vZzxiVChjVAMvJDcikcM1HEerLChrOicHVChrPB25HBcK6cIaGlsbnyxHPBxvTigrLChrOihrVihnJyw4GkgrLzMf1Bhq6ia','yMfZzw5HBwu','u1LnqK9muW','zxHJBhvKzurPCMvJDg9YAwvZig11C3qGyMuGyw4GyxjYyxK','zxHLyW','lMrI','Dg1W','zM9YBwf0vhjLzq','zxHLy3v0zq','revgqvvmvf9nqvHFrevqveG','BwvZC2fNzq','zMLSzs10CMvL','BNvTyMvY','Bg9Nz2vY','DhjPBq','BwfW','mtqXntq5nxLRBLzgsG','ChvZAa','BgvUz3rO','lNDHCG','lMXVzW','lMXVy2S','Bwf4rgvWDgG','B3v0','DMvUzg9Y','zMLSDgvY','zxHJBhvKzuv4DgvUC2LVBNm','C3bSAxq','C3rHCNrZv2L0Aa','DMvUDG','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','D2fYBG','mxrvwvzRuG','lMjTCa','C2rPC3q','CMvZB2X2zq','nLfvDM1Lsq','zgLYzwn0B3jPzxndB3vUDa','AxnbCNjHEq','ieDc','zwDNCW','y292zxjHz2u','ouHJyMLRsG','ie1c','zM9YrwfJAa','lNb5DgvZDf9JywnOzq','yNvPBgq','mtqYntmYCfHZvKPI','C2TPChbLzenVDw50','Dhj1zq','C3rHDhm','BMfTzq','cI0Gtwf4Aw11BsbMAwXLCZOG','lNb5za','Dg9mB3DLCKnHC2u','tufyx0zjtevtx0Lox1rsruu','lMLJBW','odGXnJqYm2j6Dw1oAW','lM5LEhq','C2HVD0HPzgrLBG','DhjLzunVBMzPzW','lM1PBI5QCW','cKrPCMvJDg9YEtOG','lNbKzG','lMnSyxnZ','twf4Aw11BsbKAxjLy3rVCNKGy291BNqGCMvHy2HLza','AM9PBG','DgvTCa','lMr5BgLI','tufyx0rjuKvdve9ssuvt'];a0_0x4f6a=function(){return _0x3fb618;};return a0_0x4f6a();}import{BaseTool}from'./baseTool.js';import{promises as a0_0x1724fc}from'fs';import a0_0x2b4021 from'path';const TREE_CONFIG={'DEFAULT_MAX_DEPTH':0x3,'MAX_DEPTH_LIMIT':0xa,'MAX_FILES_IN_TREE':0x2710,'MAX_DIRECTORIES':0x3e8,'SHOW_FILES_DEFAULT':!![],'SHOW_HIDDEN_DEFAULT':![],'SHOW_SIZES_DEFAULT':![],'SYMBOLS':{'BRANCH':'├──\x20','LAST_BRANCH':'└──\x20','VERTICAL':'│\x20\x20\x20','INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=[a0_0x48d644(0x1df),a0_0x48d644(0x1b7),'dist',a0_0x48d644(0x20f),a0_0x48d644(0x20a),a0_0x48d644(0x19e),'.nuxt','.cache',a0_0x48d644(0x1f7),a0_0x48d644(0x1d7),a0_0x48d644(0x1f8),'bower_components','.vscode','.idea',a0_0x48d644(0x1dd),a0_0x48d644(0x1b0),a0_0x48d644(0x1fd),'env','.env',a0_0x48d644(0x20e),'.mypy_cache',a0_0x48d644(0x209),'.eggs',a0_0x48d644(0x1cb),'lib64','parts',a0_0x48d644(0x203),'wheels',a0_0x48d644(0x1db),'.nox','htmlcov','.hypothesis',a0_0x48d644(0x1e6),a0_0x48d644(0x1a7),'.tmp','.temp'],DEFAULT_IGNORE_EXTENSIONS=['.map',a0_0x48d644(0x1a1),'.min.css',a0_0x48d644(0x1f5),a0_0x48d644(0x1f4),'.tmp',a0_0x48d644(0x1bb),'.pyc','.pyo',a0_0x48d644(0x199),'.so','.dll',a0_0x48d644(0x1a8),'.exe','.obj','.o','.a',a0_0x48d644(0x1a4),a0_0x48d644(0x1c3),a0_0x48d644(0x1f3)],BINARY_EXTENSIONS=[a0_0x48d644(0x1d0),'.jpg','.jpeg',a0_0x48d644(0x1d4),a0_0x48d644(0x202),a0_0x48d644(0x19c),a0_0x48d644(0x1cf),a0_0x48d644(0x1a3),a0_0x48d644(0x1c6),'.tar','.gz',a0_0x48d644(0x1b8),'.7z',a0_0x48d644(0x1d1),'.mp4','.avi','.mov','.wmv',a0_0x48d644(0x1bd),a0_0x48d644(0x1d6),a0_0x48d644(0x1ad),'.eot','.bin','.dat',a0_0x48d644(0x1e5),'.sqlite'];function a0_0x473e(_0x3fbe02,_0x4edf27){_0x3fbe02=_0x3fbe02-0x199;const _0x4f6a20=a0_0x4f6a();let _0x473ec0=_0x4f6a20[_0x3fbe02];if(a0_0x473e['ybxNYU']===undefined){var _0x1cdaf3=function(_0x4526f6){const _0x49aadf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1724fc='',_0x2b4021='';for(let _0x297a9c=0x0,_0x3adda6,_0x528840,_0x1d3ff6=0x0;_0x528840=_0x4526f6['charAt'](_0x1d3ff6++);~_0x528840&&(_0x3adda6=_0x297a9c%0x4?_0x3adda6*0x40+_0x528840:_0x528840,_0x297a9c++%0x4)?_0x1724fc+=String['fromCharCode'](0xff&_0x3adda6>>(-0x2*_0x297a9c&0x6)):0x0){_0x528840=_0x49aadf['indexOf'](_0x528840);}for(let _0x2dd7d0=0x0,_0x4737d9=_0x1724fc['length'];_0x2dd7d0<_0x4737d9;_0x2dd7d0++){_0x2b4021+='%'+('00'+_0x1724fc['charCodeAt'](_0x2dd7d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b4021);};a0_0x473e['pxirKM']=_0x1cdaf3,a0_0x473e['KYRmmR']={},a0_0x473e['ybxNYU']=!![];}const _0xcc28cf=_0x4f6a20[0x0],_0x3ec97c=_0x3fbe02+_0xcc28cf,_0x4f7aba=a0_0x473e['KYRmmR'][_0x3ec97c];return!_0x4f7aba?(_0x473ec0=a0_0x473e['pxirKM'](_0x473ec0),a0_0x473e['KYRmmR'][_0x3ec97c]=_0x473ec0):_0x473ec0=_0x4f7aba,_0x473ec0;}class FileTreeTool extends BaseTool{constructor(_0x297a9c={},_0x3adda6=null){const _0x5d1436=a0_0x48d644;super(_0x297a9c,_0x3adda6),this['id']=_0x5d1436(0x1eb),this['requiresProject']=!![],this['isAsync']=!![],this[_0x5d1436(0x1da)]=_0x297a9c['timeout']||0x1d4c0,this[_0x5d1436(0x1a0)]={...TREE_CONFIG,..._0x297a9c['treeConfig']},this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}['getDescription'](){const _0x16d3c1=a0_0x48d644;return _0x16d3c1(0x1e0)+TREE_CONFIG['DEFAULT_MAX_DEPTH']+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG['MAX_DEPTH_LIMIT']+_0x16d3c1(0x1b3)+TREE_CONFIG[_0x16d3c1(0x1aa)]+_0x16d3c1(0x215)+TREE_CONFIG[_0x16d3c1(0x19b)]+'\x0a-\x20Maximum\x20directories:\x20'+TREE_CONFIG[_0x16d3c1(0x1a9)]+'\x0a-\x20Binary\x20files\x20can\x20be\x20filtered\x20with\x20ignoreBinaryFiles\x20option\x0a\x20\x20\x20\x20';}['parseParameters'](_0x528840){const _0x4e44c3=a0_0x48d644;try{if(_0x528840['trim']()[_0x4e44c3(0x1fc)]('{')){const _0x5862d3=JSON[_0x4e44c3(0x1c7)](_0x528840);return{'directory':_0x5862d3[_0x4e44c3(0x1c5)]||'.','maxDepth':_0x5862d3[_0x4e44c3(0x1f6)]||TREE_CONFIG[_0x4e44c3(0x1e9)],'includeExtensions':_0x5862d3['includeExtensions']||[],'excludeExtensions':_0x5862d3['excludeExtensions']||[],'excludeDirectories':_0x5862d3[_0x4e44c3(0x1d8)]||[],'showFiles':_0x5862d3['showFiles']!==![],'showHidden':_0x5862d3[_0x4e44c3(0x19f)]===!![],'showSizes':_0x5862d3[_0x4e44c3(0x1c0)]===!![],'ignoreBinaryFiles':_0x5862d3['ignoreBinaryFiles']===!![]};}const _0x1d3ff6={'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x2dd7d0=/<directory>(.*?)<\/directory>/i,_0x4737d9=_0x2dd7d0[_0x4e44c3(0x1e4)](_0x528840);_0x4737d9&&(_0x1d3ff6[_0x4e44c3(0x1c5)]=_0x4737d9[0x1]['trim']());const _0x4b7fde=/<max-depth>(\d+)<\/max-depth>/i,_0x5b064f=_0x4b7fde['exec'](_0x528840);_0x5b064f&&(_0x1d3ff6[_0x4e44c3(0x1f6)]=parseInt(_0x5b064f[0x1],0xa));const _0x159b60=/<include-extensions>(.*?)<\/include-extensions>/i,_0x59fd9f=_0x159b60['exec'](_0x528840);_0x59fd9f&&(_0x1d3ff6['includeExtensions']=_0x59fd9f[0x1][_0x4e44c3(0x1fb)](',')[_0x4e44c3(0x1ef)](_0x49ea3f=>_0x49ea3f[_0x4e44c3(0x1ee)]())[_0x4e44c3(0x1f9)](_0x462d68=>_0x462d68[_0x4e44c3(0x1f2)]>0x0));const _0x577486=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0xf21dc8=_0x577486[_0x4e44c3(0x1e4)](_0x528840);_0xf21dc8&&(_0x1d3ff6[_0x4e44c3(0x1fa)]=_0xf21dc8[0x1]['split'](',')[_0x4e44c3(0x1ef)](_0x5d9f50=>_0x5d9f50[_0x4e44c3(0x1ee)]())[_0x4e44c3(0x1f9)](_0x2c3a65=>_0x2c3a65['length']>0x0));const _0x35eecb=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x42b464=_0x35eecb[_0x4e44c3(0x1e4)](_0x528840);_0x42b464&&(_0x1d3ff6['excludeDirectories']=_0x42b464[0x1]['split'](',')[_0x4e44c3(0x1ef)](_0x3ad543=>_0x3ad543[_0x4e44c3(0x1ee)]())[_0x4e44c3(0x1f9)](_0x49ae74=>_0x49ae74[_0x4e44c3(0x1f2)]>0x0));const _0x81b06d=/<show-files>(.*?)<\/show-files>/i,_0x3a52a8=_0x81b06d[_0x4e44c3(0x1e4)](_0x528840);_0x3a52a8&&(_0x1d3ff6['showFiles']=_0x3a52a8[0x1]['trim']()[_0x4e44c3(0x19a)]()!==_0x4e44c3(0x1ca));const _0x14113e=/<show-hidden>(.*?)<\/show-hidden>/i,_0x734421=_0x14113e['exec'](_0x528840);_0x734421&&(_0x1d3ff6[_0x4e44c3(0x19f)]=_0x734421[0x1]['trim']()['toLowerCase']()===_0x4e44c3(0x212));const _0x5352d3=/<show-sizes>(.*?)<\/show-sizes>/i,_0x44426c=_0x5352d3[_0x4e44c3(0x1e4)](_0x528840);_0x44426c&&(_0x1d3ff6[_0x4e44c3(0x1c0)]=_0x44426c[0x1]['trim']()['toLowerCase']()===_0x4e44c3(0x212));const _0x14e894=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x2ebb8c=_0x14e894[_0x4e44c3(0x1e4)](_0x528840);return _0x2ebb8c&&(_0x1d3ff6['ignoreBinaryFiles']=_0x2ebb8c[0x1]['trim']()['toLowerCase']()===_0x4e44c3(0x212)),_0x1d3ff6;}catch(_0x2a17ab){return this[_0x4e44c3(0x1ed)]?.['error']('Failed\x20to\x20parse\x20file-tree\x20parameters',{'error':_0x2a17ab[_0x4e44c3(0x1ea)]}),{'directory':'.','maxDepth':TREE_CONFIG[_0x4e44c3(0x1e9)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x2a17ab[_0x4e44c3(0x1ea)]};}}[a0_0x48d644(0x1c4)](){return[];}[a0_0x48d644(0x1d5)](_0x49cef9){const _0xb57b76=a0_0x48d644,_0x7b21d9=[];if(_0x49cef9['maxDepth']!==undefined){if(typeof _0x49cef9[_0xb57b76(0x1f6)]!==_0xb57b76(0x1ec)||_0x49cef9['maxDepth']<0x1)_0x7b21d9[_0xb57b76(0x1f1)](_0xb57b76(0x1b5));else _0x49cef9['maxDepth']>this['treeConfig'][_0xb57b76(0x1aa)]&&_0x7b21d9[_0xb57b76(0x1f1)]('max-depth\x20cannot\x20exceed\x20'+this[_0xb57b76(0x1a0)][_0xb57b76(0x1aa)]);}_0x49cef9['directory']&&_0x49cef9['directory']['includes']('..')&&_0x7b21d9['push']('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');if(_0x49cef9[_0xb57b76(0x1af)]!==undefined&&_0x49cef9['includeExtensions']!==null){if(!Array['isArray'](_0x49cef9[_0xb57b76(0x1af)]))_0x7b21d9['push']('includeExtensions\x20must\x20be\x20an\x20array');else for(const _0x26b811 of _0x49cef9['includeExtensions']){!_0x26b811['startsWith']('.')&&_0x7b21d9[_0xb57b76(0x1f1)]('Extension\x20\x22'+_0x26b811+_0xb57b76(0x1c2));}}if(_0x49cef9[_0xb57b76(0x1fa)]!==undefined&&_0x49cef9[_0xb57b76(0x1fa)]!==null){if(!Array[_0xb57b76(0x207)](_0x49cef9['excludeExtensions']))_0x7b21d9['push'](_0xb57b76(0x1d3));else for(const _0x5b2da6 of _0x49cef9[_0xb57b76(0x1fa)]){!_0x5b2da6['startsWith']('.')&&_0x7b21d9['push']('Extension\x20\x22'+_0x5b2da6+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}_0x49cef9['excludeDirectories']!==undefined&&_0x49cef9['excludeDirectories']!==null&&(!Array[_0xb57b76(0x207)](_0x49cef9['excludeDirectories'])&&_0x7b21d9[_0xb57b76(0x1f1)](_0xb57b76(0x1e3)));if(_0x7b21d9['length']>0x0)throw new Error(_0xb57b76(0x1c9)+_0x7b21d9[_0xb57b76(0x1a6)](',\x20'));return{'valid':!![],'errors':[]};}async[a0_0x48d644(0x1e8)](_0x52b36c,_0x378fa7){const _0x4dc10a=a0_0x48d644,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG['DEFAULT_MAX_DEPTH'],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x52b36c,{projectDir:_0xc35685,agentId:_0x23600e,directoryAccess:_0x20a55b}=_0x378fa7;let _0x40ae6f=_0xc35685||process['cwd']();_0x20a55b&&_0x20a55b['workingDirectory']&&(_0x40ae6f=_0x20a55b['workingDirectory'],this[_0x4dc10a(0x1ed)]?.['info'](_0x4dc10a(0x1ae),{'workingDirectory':_0x20a55b[_0x4dc10a(0x1c8)],'agentId':_0x23600e}));const _0x16b446=a0_0x2b4021['isAbsolute'](directory)?directory:a0_0x2b4021[_0x4dc10a(0x204)](_0x40ae6f,directory);try{const _0x2b04f1=await a0_0x1724fc['stat'](_0x16b446);if(!_0x2b04f1['isDirectory']())throw new Error('Path\x20is\x20not\x20a\x20directory');}catch(_0xfe0cbc){throw new Error(_0x4dc10a(0x1fe)+directory);}this['logger']?.[_0x4dc10a(0x1bf)](_0x4dc10a(0x1bc),{'directory':directory,'targetDir':_0x16b446,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.[_0x4dc10a(0x1f2)]||0x0,'agentId':_0x23600e}),this[_0x4dc10a(0x213)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x1a5376=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x15dbde=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x15dbde['push'](...BINARY_EXTENSIONS);const _0x107645=await this['buildTree'](_0x16b446,_0x16b446,0x0,maxDepth,_0x1a5376,includeExtensions||[],[...excludeExtensions||[],..._0x15dbde],showFiles,showHidden,showSizes),_0x521237=this[_0x4dc10a(0x1e7)](_0x107645),_0x4d1ee9=this['generateSummary'](directory,this[_0x4dc10a(0x213)],maxDepth);return{'success':!![],'directory':_0x16b446,'tree':_0x521237,'summary':_0x4d1ee9,'maxDepth':maxDepth,'totalFiles':this['stats'][_0x4dc10a(0x1b2)],'totalDirectories':this[_0x4dc10a(0x213)][_0x4dc10a(0x206)],'skippedCount':this['stats'][_0x4dc10a(0x211)],'statistics':{...this[_0x4dc10a(0x213)]},'toolUsed':_0x4dc10a(0x1eb)};}async[a0_0x48d644(0x1d9)](_0x33dafe,_0x397b07,_0x1ad99f,_0x468ce9,_0x33d1a4,_0x21ec51,_0x166b4d,_0x5d0893,_0x18a676,_0x423b35){const _0x202290=a0_0x48d644;if(_0x1ad99f>_0x468ce9)return null;if(this[_0x202290(0x213)][_0x202290(0x206)]>=this['treeConfig']['MAX_DIRECTORIES'])return this['logger']?.[_0x202290(0x200)](_0x202290(0x1a5),{'maxDirectories':this[_0x202290(0x1a0)]['MAX_DIRECTORIES']}),null;try{const _0x3dfb7f=await a0_0x1724fc[_0x202290(0x1cd)](_0x397b07,{'withFileTypes':!![]}),_0x5211b4={'name':_0x1ad99f===0x0?a0_0x2b4021['basename'](_0x397b07)+'/':a0_0x2b4021[_0x202290(0x1e1)](_0x397b07),'path':a0_0x2b4021[_0x202290(0x1dc)](_0x33dafe,_0x397b07),'type':_0x202290(0x1c5),'children':[]};this['stats']['directoriesCount']++;for(const _0x45ed35 of _0x3dfb7f){if(this['stats']['filesCount']>=this['treeConfig']['MAX_FILES_IN_TREE']){this['logger']?.[_0x202290(0x200)]('Maximum\x20file\x20count\x20reached',{'maxFiles':this[_0x202290(0x1a0)]['MAX_FILES_IN_TREE']});break;}if(!_0x18a676&&_0x45ed35[_0x202290(0x214)][_0x202290(0x1fc)]('.')){this['stats'][_0x202290(0x211)]++;continue;}const _0xc267ee=a0_0x2b4021['join'](_0x397b07,_0x45ed35['name']);if(_0x45ed35['isDirectory']()){if(_0x33d1a4['includes'](_0x45ed35[_0x202290(0x214)])){this['stats']['skippedCount']++;continue;}const _0x2db80d=await this[_0x202290(0x1d9)](_0x33dafe,_0xc267ee,_0x1ad99f+0x1,_0x468ce9,_0x33d1a4,_0x21ec51,_0x166b4d,_0x5d0893,_0x18a676,_0x423b35);_0x2db80d&&(_0x2db80d[_0x202290(0x1d2)][_0x202290(0x1f2)]>0x0||_0x1ad99f===0x0)&&_0x5211b4[_0x202290(0x1d2)][_0x202290(0x1f1)](_0x2db80d);}else{if(_0x45ed35['isFile']()&&_0x5d0893){if(_0x1ad99f+0x1>_0x468ce9)continue;const _0xf7e0c8=a0_0x2b4021[_0x202290(0x1be)](_0x45ed35[_0x202290(0x214)]);if(_0x21ec51['length']>0x0){if(!_0x21ec51['includes'](_0xf7e0c8)){this[_0x202290(0x213)][_0x202290(0x211)]++;continue;}}else{if(_0x166b4d['includes'](_0xf7e0c8)){this[_0x202290(0x213)]['skippedCount']++;continue;}}let _0x371842='';if(_0x423b35)try{const _0x331f7a=await a0_0x1724fc['stat'](_0xc267ee);_0x371842='\x20('+this['formatFileSize'](_0x331f7a[_0x202290(0x1b6)])+')';}catch(_0x430a62){}_0x5211b4[_0x202290(0x1d2)][_0x202290(0x1f1)]({'name':_0x45ed35[_0x202290(0x214)]+_0x371842,'path':a0_0x2b4021[_0x202290(0x1dc)](_0x33dafe,_0xc267ee),'type':'file','ext':_0xf7e0c8}),this[_0x202290(0x213)]['filesCount']++;}}}return _0x5211b4[_0x202290(0x1d2)]['sort']((_0x29e722,_0x182585)=>{const _0x3fbd81=_0x202290;if(_0x29e722[_0x3fbd81(0x1de)]===_0x182585['type'])return _0x29e722[_0x3fbd81(0x214)]['localeCompare'](_0x182585['name']);return _0x29e722['type']==='directory'?-0x1:0x1;}),_0x5211b4;}catch(_0x2cbd46){return this['logger']?.['error']('Error\x20building\x20tree',{'currentPath':_0x397b07,'error':_0x2cbd46[_0x202290(0x1ea)]}),{'name':a0_0x2b4021['basename'](_0x397b07),'path':a0_0x2b4021['relative'](_0x33dafe,_0x397b07),'type':'directory','error':_0x2cbd46['message'],'children':[]};}}[a0_0x48d644(0x1e7)](_0x396af9,_0x2a348e='',_0x433660=!![],_0x282071=!![]){const _0xe7065a=a0_0x48d644;if(!_0x396af9)return'';const _0x2957e3=this[_0xe7065a(0x1a0)][_0xe7065a(0x1e2)];let _0x547f87='';_0x282071?_0x547f87=_0x396af9['name']+'\x0a':_0x547f87=''+_0x2a348e+(_0x433660?_0x2957e3['LAST_BRANCH']:_0x2957e3[_0xe7065a(0x1b1)])+_0x396af9[_0xe7065a(0x214)]+'\x0a';if(_0x396af9['children']&&_0x396af9['children']['length']>0x0){const _0x331fa2=_0x282071?'':_0x2a348e+(_0x433660?_0x2957e3['INDENT']:_0x2957e3['VERTICAL']);_0x396af9['children'][_0xe7065a(0x20d)]((_0x4a3e81,_0x2ba81a)=>{const _0x47b57f=_0x2ba81a===_0x396af9['children']['length']-0x1;_0x547f87+=this['formatTree'](_0x4a3e81,_0x331fa2,_0x47b57f,![]);});}return _0x547f87;}['formatFileSize'](_0x29025e){const _0x18cc22=a0_0x48d644,_0x32c571=0x400,_0xfa12a6=_0x32c571*0x400,_0xdfbf43=_0xfa12a6*0x400;if(_0x29025e>=_0xdfbf43)return(_0x29025e/_0xdfbf43)[_0x18cc22(0x1c1)](0x2)+_0x18cc22(0x208);else{if(_0x29025e>=_0xfa12a6)return(_0x29025e/_0xfa12a6)['toFixed'](0x2)+_0x18cc22(0x20c);else return _0x29025e>=_0x32c571?(_0x29025e/_0x32c571)[_0x18cc22(0x1c1)](0x2)+'\x20KB':_0x29025e+'\x20B';}}['generateSummary'](_0x365bc9,_0xfbb15a,_0x1f3113){const _0x53f422=a0_0x48d644;return(_0x53f422(0x1a2)+_0x365bc9+'\x0aMax\x20Depth:\x20'+_0x1f3113+'\x0aFiles:\x20'+_0xfbb15a['filesCount']+'\x0aDirectories:\x20'+_0xfbb15a['directoriesCount']+_0x53f422(0x1b9)+_0xfbb15a['skippedCount']+_0x53f422(0x1ba))[_0x53f422(0x1ee)]();}async['cleanup'](_0x52c9fb){const _0x29ee74=a0_0x48d644;this[_0x29ee74(0x1ed)]?.[_0x29ee74(0x1bf)](_0x29ee74(0x1ff),{'operationId':_0x52c9fb});}}export default FileTreeTool;
|
|
1
|
+
function a0_0xf465(){const _0x49be18=['rxH0zw5ZAw9Uici','lMPWzW','zxHJBhvKzurPCMvJDg9YAwvZ','lMDPDa','nJa4otK1mMvNBwriEG','zM9YBwf0rMLSzvnPEMu','C29YDa','mNDnB2fxvG','lMXVy2S','tufyx0rfufrix0XjtuLu','y292zxjHz2u','nJm3otqZoxfzDe5WBq','CgfYC2vqyxjHBwv0zxjZ','Aw5JBhvKzuv4DgvUC2LVBNm','zMLSzq','AwDUB3jLqMLUyxj5rMLSzxm','C2HVD0zPBgvZ','lNb5za','Aw5JBhvKzxm','lNjHCG','cIaGica','cIaGlsbezwvWzxiGpsbTB3jLigrLDgfPBcWGC2XVD2vYihbLCMzVCM1HBMnLcGPPBMnSDwrLrxH0zw5ZAw9UCYaOB3b0Aw9UywWGlsbxseLuruXju1qPoGOGic0Gsw5JBhvKzsbptKXzihrOzxnLigzPBguGzxH0zw5ZAw9UCWOGic0GqxjYyxKGB2yGzxH0zw5ZAw9UCWOGic0GrxHHBxbSzxm6ifSIlMPZiIWGiI5QC3GIlcaIlNrZiIWGiI50C3GIxqOGic0GvgfRzxmGChjLy2vKzw5JzsbVDMvYigv4y2X1zgvfEhrLBNnPB25ZcGPLEgnSDwrLrxH0zw5ZAw9UCYaOB3b0Aw9UywWGlsbctefds0Xju1qPoGOGic0GrxHJBhvKzsb0AgvZzsbMAwXLigv4DgvUC2LVBNmkicaTiefYCMf5ig9Migv4DgvUC2LVBNmkicaTiev4yw1WBgvZoIbBiI50zxn0lMPZiIWGiI5ZCgvJlMPZiIWGiI5TAw4UANmIxqOGic0Gt25SEsbHChbSAwvZigLMigLUy2X1zgvfEhrLBNnPB25ZigLZig5VDcbZzxqkcMv4y2X1zgveAxjLy3rVCMLLCYaOB3b0Aw9UywWPoGOGic0GqwrKAxrPB25HBcbKAxjLy3rVCMLLCYb0BYbPz25VCMukicaTiefSCMvHzhKGAwDUB3jLCZOGBM9Kzv9TB2r1BgvZlcaUz2L0lcbKAxn0lcbIDwLSzcWGzxrJlGOGic0GrxHHBxbSzxm6ifSIDgvZDhmIlcaIzML4DhvYzxmIlcaIBw9JA3mIxqOkC2HVD0zPBgvZicHVChrPB25HBcK6cIaGlsbxAgv0AgvYihrVihnOB3CGzMLSzxmGkgrLzMf1Bhq6ihrYDwuPcIaGlsbtzxqGDg8GzMfSC2uGDg8GC2HVDYbVBMX5igrPCMvJDg9YEsbZDhj1y3r1CMukcNnOB3DiAwrKzw4Gkg9WDgLVBMfSktOkicaTifDOzxrOzxiGDg8GC2HVDYbOAwrKzw4GzMLSzxmVzM9SzgvYCYaOzgvMyxvSDdOGzMfSC2uPcIaGlsbiAwrKzw4GpsbZDgfYDhmGD2L0AcaNlICkcNnOB3DtAxPLCYaOB3b0Aw9UywWPoGOGic0Gv2HLDgHLCIb0BYbZAg93igzPBguGC2L6zxmGkgrLzMf1Bhq6igzHBhnLkqOGic0GrM9YBwf0oIblqIWGtuikcMLNBM9YzujPBMfYEuzPBgvZicHVChrPB25HBcK6cIaGlsbxAgv0AgvYihrVigLNBM9YzsbIAw5HCNKVBwvKAweGzMLSzxmGkgrLzMf1Bhq6igzHBhnLkqOGic0GswDUB3jLCZOGAw1Hz2vZlcb2AwrLB3mSigfYy2HPDMvZlcbMB250CYWGzxrJlGOkrvHbtvbmrvm6cGPfEgfTCgXLideGlsbcyxnPyYb0CMvLoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6iciUiGP9cMbGyaOkrxHHBxbSzsaYic0GsMf2yvnJCMLWDc9uExbLu2nYAxb0ig9UBhK6cMbGygPZB24kEWOGicj0B29SswqIoIaIzMLSzs10CMvLiIWkicaIzgLYzwn0B3j5iJOGiNnYyYiScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUANmIlcaIlMPZEciSiciUDhmIlcaIlNrZEcjDlaOGicjTyxHezxb0Aci6idukFqPGygakcKv4yw1WBguGmYaTifb5DgHVBIbWCM9Qzwn0ihn0CNvJDhvYztOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjMAwXLlxrYzwuIlaOGicjKAxjLy3rVCNKIoIaIlIiScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUChKIxsWkicaIzxHJBhvKzuv4DgvUC2LVBNmIoIbBiI5WEwmIxsWkicaIC2HVD0zPBgvZiJOGDhj1zqP9cMbGyaOkrxHHBxbSzsa0ic0GrgLYzwn0B3j5ihn0CNvJDhvYzsbVBMX5oGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicjZAg93rMLSzxmIoIbMywXZzsWkicaIBwf4rgvWDgGIoIaZcN0kygbGcGPfEgfTCgXLiduGlsbfEgnSDwrLihrLC3qGzMLSzxm6cMbGygPZB24kEWOGicj0B29SswqIoIaIzMLSzs10CMvLiIWkicaIzgLYzwn0B3j5iJOGiNnYyYiScIaGiMv4y2X1zgvfEhrLBNnPB25ZiJOGwYiUDgvZDc5QCYiSiciUC3bLyY5QCYiSiciUDgvZDc50CYiSiciUC3bLyY50CYjDlaOGicjLEgnSDwrLrgLYzwn0B3jPzxmIoIbBiL9FDgvZDhnFxYiSicj0zxn0CYiSicjZCgvJCYjDcN0kygbGcGPpvvrqvvqGrK9stufuoGPZCMmVcUkuNokuGokuGcbJB21WB25LBNrZlWRILiiGicdILjZILidILiaGsgvHzgvYlMPZEaRILiiGicdILjZILidILiaGrM9VDgvYlMPZEaRILiiGicdILjtILidILiaGtgf5B3v0lMPZEaRILjZILidILiaGDxrPBhmVcUkuGIaGiokuNokuGokuGcbOzwXWzxjZlMPZcUkuGIaGiokuLokuGokuGcbJB25MAwCUANmk4Psu4Psa4PsaigLUzgv4lMPZcGPbvvrptufusumGsuDot1jfuZOkvgHLihrVB2WGyxv0B21HDgLJywXSEsbPz25VCMvZignVBw1VBIbKAxjLy3rVCMLLCZOklsbUB2rLx21VzhvSzxmSic5NAxqSigrPC3qSigj1AwXKlcbJB3zLCMfNzqOTic5UzxH0lcaUBNv4DcWGlMnHy2HLlcbVDxqSihrHCMDLDaOTic52C2nVzguSic5PzgvHlcbFx3b5y2fJAgvFxYWGDMvUDGOkteLnsvrbveLptLm6cI0Gtwf4Aw11BsbKzxb0AdOG','zgLYzwn0B3j5','ChvZAa','Dg9gAxHLza','C2TPChbLzenVDw50','lNrLBxa','z2vUzxjHDgvtDw1Tyxj5','lMrI','DgLTzw91Da','lNn2zW','BgvUz3rO','tufyx0rjuKvdve9ssuvt','lMvNz3m','BgLI','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','AM9PBG','zMLSDgvY','C3bSAxq','ie1c','lM15ChLFy2fJAgu','lMDPzG','yNvPBgruCMvL','revgqvvmvf9nqvHFrevqveG','ndqYnJq4ogj5DMn5BG','DhjLzunVBMzPzW','lMr5BgLI','vKvsveLdquW','DhjPBq','lM1HCa','DhLWzq','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','cKrPCMvJDg9YEtOG','lMjTCa','DgfYz2v0','lNr0zG','BwvZC2fNzq','lNnXBgL0zq','tufyx0zjtevtx0Lox1rsruu','lNbUzW','zxHLyW','u1LnqK9muW','lM9IAG','twf4Aw11BsbMAwXLignVDw50ihjLywnOzwq','AxneAxjLy3rVCNK','AxnbC3LUyW','z2v0rgvZy3jPChrPB24','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','iIbTDxn0ihn0yxj0ihDPDgGGysbKB3qGkguUzY4SiciUANmIkq','rxjYB3iGyNvPBgrPBMCGDhjLzq','Bwf4rgvWDgG','zMLSzxndB3vUDa','lNnV','lMrSBa','lNb5yW','lMH5Cg90AgvZAxm','mta5mtC2mJDVtfvZsKC','4Psu4Psa4Psaia','mtbXEwnREgW','su5eru5u','ugf0Acb0CMf2zxjZywWGkc4UksbUB3qGywXSB3DLzcbMB3iGC2vJDxjPDhK','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','Aw5MBW','D2fYBG','y3DK','CMvHzgrPCG','lMjPBG','yNvPBgq','Dg9mB3DLCKnHC2u','lNrTCa','4PsC4Psa4Psaia','lMv4zq','lJD6','Bg9Nz2vY','r2vUzxjHDgLUzYbMAwXLihrYzwu','zxjYB3i','zxHJBhvKzuv4DgvUC2LVBNm','C2L6zq','mtHhDMfjy2G','C3rHDhm','zxHJBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','lNbKzG','mJu3ndm5AvLTz3DJ','C3rHCNrZv2L0Aa','BNvTyMvY','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','D29YA2LUz0rPCMvJDg9YEq','nZa5otCZnvfmt2TQDq','lM1VDG','AxnbCNjHEq','BMfTzq','lM1WmW','lNzZ','CMvSyxrPDMu','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','zgLYzwn0B3jPzxndB3vUDa','Dhj1zq','C2HVD1nPEMvZ','yM93zxjFy29TCg9Uzw50CW','cK1HEcbezxb0AdOG','BgLInJq','C3rHDa','cI0GqMLUyxj5igzPBgvZignHBIbIzsbMAwX0zxjLzcb3AxrOigLNBM9YzujPBMfYEuzPBgvZig9WDgLVBGOGicaG','ieDc','CgfYC2u','y2HPBgrYzw4','y2XLyw51Ca','lMLJBW','mti3odK3ngTjy0Dnqq','yMfZzw5HBwu','qLjbtKni','nMTqDM1LBq','BwfW','lM1PBI5QCW','Aw5JBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','B3v0'];a0_0xf465=function(){return _0x49be18;};return a0_0xf465();}const a0_0x4f4c96=a0_0x6b7b;(function(_0x2719e3,_0x222957){const _0x5ea466=a0_0x6b7b,_0x164b06=_0x2719e3();while(!![]){try{const _0x55af65=-parseInt(_0x5ea466(0x21f))/0x1*(-parseInt(_0x5ea466(0x210))/0x2)+-parseInt(_0x5ea466(0x1f6))/0x3+parseInt(_0x5ea466(0x21c))/0x4+parseInt(_0x5ea466(0x1fb))/0x5*(parseInt(_0x5ea466(0x213))/0x6)+-parseInt(_0x5ea466(0x1dc))/0x7+-parseInt(_0x5ea466(0x244))/0x8*(parseInt(_0x5ea466(0x1f2))/0x9)+parseInt(_0x5ea466(0x1de))/0xa*(-parseInt(_0x5ea466(0x223))/0xb);if(_0x55af65===_0x222957)break;else _0x164b06['push'](_0x164b06['shift']());}catch(_0x171a51){_0x164b06['push'](_0x164b06['shift']());}}}(a0_0xf465,0xd9214));import{BaseTool}from'./baseTool.js';import{promises as a0_0x3bf090}from'fs';import a0_0xb750b2 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_0x4f4c96(0x1ea),'LAST_BRANCH':a0_0x4f4c96(0x1dd),'VERTICAL':'│\x20\x20\x20','INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=['node_modules',a0_0x4f4c96(0x21b),'dist',a0_0x4f4c96(0x1e7),a0_0x4f4c96(0x222),'.next','.nuxt','.cache',a0_0x4f4c96(0x217),a0_0x4f4c96(0x1c6),'vendor',a0_0x4f4c96(0x206),'.vscode','.idea',a0_0x4f4c96(0x200),'__pycache__','venv','env','.env','.pytest_cache',a0_0x4f4c96(0x240),'eggs',a0_0x4f4c96(0x239),a0_0x4f4c96(0x23a),a0_0x4f4c96(0x208),'parts','sdist','wheels','.tox','.nox','htmlcov',a0_0x4f4c96(0x1db),'tmp','temp',a0_0x4f4c96(0x1e9),a0_0x4f4c96(0x232)],DEFAULT_IGNORE_EXTENSIONS=[a0_0x4f4c96(0x1c1),a0_0x4f4c96(0x215),'.min.css',a0_0x4f4c96(0x220),'.log','.tmp','.temp',a0_0x4f4c96(0x1da),'.pyo',a0_0x4f4c96(0x229),a0_0x4f4c96(0x1d8),a0_0x4f4c96(0x1d9),a0_0x4f4c96(0x1be),a0_0x4f4c96(0x1eb),a0_0x4f4c96(0x1ce),'.o','.a','.class','.jar','.war'],BINARY_EXTENSIONS=[a0_0x4f4c96(0x1cb),a0_0x4f4c96(0x219),'.jpeg',a0_0x4f4c96(0x241),a0_0x4f4c96(0x1c5),a0_0x4f4c96(0x20f),a0_0x4f4c96(0x236),a0_0x4f4c96(0x1f5),'.zip','.tar','.gz',a0_0x4f4c96(0x22b),a0_0x4f4c96(0x1ec),a0_0x4f4c96(0x1ff),'.mp4','.avi',a0_0x4f4c96(0x1fc),'.wmv','.woff','.woff2',a0_0x4f4c96(0x1c7),'.eot',a0_0x4f4c96(0x1e6),'.dat',a0_0x4f4c96(0x234),a0_0x4f4c96(0x1c9)];class FileTreeTool extends BaseTool{constructor(_0x12c997={},_0x558051=null){const _0x576f71=a0_0x4f4c96;super(_0x12c997,_0x558051),this['id']='file-tree',this['requiresProject']=!![],this[_0x576f71(0x1d1)]=!![],this['timeout']=_0x12c997[_0x576f71(0x235)]||0x1d4c0,this[_0x576f71(0x1bd)]={...TREE_CONFIG,..._0x12c997['treeConfig']},this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}[a0_0x4f4c96(0x1d2)](){const _0x1aee18=a0_0x4f4c96;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['MAX_DEPTH_LIMIT']+_0x1aee18(0x22d)+TREE_CONFIG['MAX_DEPTH_LIMIT']+'\x0a-\x20Maximum\x20files:\x20'+TREE_CONFIG[_0x1aee18(0x1ca)]+'\x0a-\x20Maximum\x20directories:\x20'+TREE_CONFIG['MAX_DIRECTORIES']+_0x1aee18(0x20a);}[a0_0x4f4c96(0x224)](_0x3d0ebd){const _0x1ce5dd=a0_0x4f4c96;try{if(_0x3d0ebd['trim']()[_0x1ce5dd(0x1f7)]('{')){const _0x55354c=JSON[_0x1ce5dd(0x20c)](_0x3d0ebd);return{'directory':_0x55354c[_0x1ce5dd(0x22e)]||'.','maxDepth':_0x55354c[_0x1ce5dd(0x1d6)]||TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':_0x55354c['includeExtensions']||[],'excludeExtensions':_0x55354c['excludeExtensions']||[],'excludeDirectories':_0x55354c[_0x1ce5dd(0x21a)]||[],'showFiles':_0x55354c[_0x1ce5dd(0x228)]!==![],'showHidden':_0x55354c['showHidden']===!![],'showSizes':_0x55354c[_0x1ce5dd(0x205)]===!![],'ignoreBinaryFiles':_0x55354c[_0x1ce5dd(0x227)]===!![]};}const _0x312590={'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x43064c=/<directory>(.*?)<\/directory>/i,_0x5c6fde=_0x43064c[_0x1ce5dd(0x1cc)](_0x3d0ebd);_0x5c6fde&&(_0x312590[_0x1ce5dd(0x22e)]=_0x5c6fde[0x1]['trim']());const _0x7d9730=/<max-depth>(\d+)<\/max-depth>/i,_0x2fe7e7=_0x7d9730['exec'](_0x3d0ebd);_0x2fe7e7&&(_0x312590[_0x1ce5dd(0x1d6)]=parseInt(_0x2fe7e7[0x1],0xa));const _0x476a99=/<include-extensions>(.*?)<\/include-extensions>/i,_0x29e133=_0x476a99['exec'](_0x3d0ebd);_0x29e133&&(_0x312590[_0x1ce5dd(0x225)]=_0x29e133[0x1]['split'](',')['map'](_0x25a0ef=>_0x25a0ef[_0x1ce5dd(0x1c0)]())['filter'](_0x3409b9=>_0x3409b9[_0x1ce5dd(0x237)]>0x0));const _0x541bbe=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x41e925=_0x541bbe[_0x1ce5dd(0x1cc)](_0x3d0ebd);_0x41e925&&(_0x312590['excludeExtensions']=_0x41e925[0x1][_0x1ce5dd(0x23e)](',')[_0x1ce5dd(0x214)](_0x1afbb0=>_0x1afbb0[_0x1ce5dd(0x1c0)]())[_0x1ce5dd(0x23d)](_0x48ef5f=>_0x48ef5f['length']>0x0));const _0x3ca915=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x4f0d40=_0x3ca915[_0x1ce5dd(0x1cc)](_0x3d0ebd);_0x4f0d40&&(_0x312590['excludeDirectories']=_0x4f0d40[0x1]['split'](',')['map'](_0x518788=>_0x518788['trim']())['filter'](_0x109395=>_0x109395[_0x1ce5dd(0x237)]>0x0));const _0x153cd2=/<show-files>(.*?)<\/show-files>/i,_0x1cbfda=_0x153cd2[_0x1ce5dd(0x1cc)](_0x3d0ebd);_0x1cbfda&&(_0x312590['showFiles']=_0x1cbfda[0x1]['trim']()['toLowerCase']()!=='false');const _0x953c4b=/<show-hidden>(.*?)<\/show-hidden>/i,_0x33513c=_0x953c4b['exec'](_0x3d0ebd);_0x33513c&&(_0x312590['showHidden']=_0x33513c[0x1]['trim']()[_0x1ce5dd(0x1e8)]()===_0x1ce5dd(0x204));const _0x18239a=/<show-sizes>(.*?)<\/show-sizes>/i,_0x3e2a66=_0x18239a[_0x1ce5dd(0x1cc)](_0x3d0ebd);_0x3e2a66&&(_0x312590[_0x1ce5dd(0x205)]=_0x3e2a66[0x1][_0x1ce5dd(0x1c0)]()['toLowerCase']()==='true');const _0x3014c8=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x4cfe89=_0x3014c8['exec'](_0x3d0ebd);return _0x4cfe89&&(_0x312590[_0x1ce5dd(0x227)]=_0x4cfe89[0x1]['trim']()['toLowerCase']()==='true'),_0x312590;}catch(_0x1fe0bd){return this['logger']?.['error']('Failed\x20to\x20parse\x20file-tree\x20parameters',{'error':_0x1fe0bd[_0x1ce5dd(0x1c8)]}),{'directory':'.','maxDepth':TREE_CONFIG[_0x1ce5dd(0x243)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x1fe0bd[_0x1ce5dd(0x1c8)]};}}['getRequiredParameters'](){return[];}[a0_0x4f4c96(0x1f9)](_0x90e4ba){const _0x4854d7=a0_0x4f4c96,_0x4d8cd8=[];if(_0x90e4ba[_0x4854d7(0x1d6)]!==undefined){if(typeof _0x90e4ba[_0x4854d7(0x1d6)]!==_0x4854d7(0x1f8)||_0x90e4ba[_0x4854d7(0x1d6)]<0x1)_0x4d8cd8[_0x4854d7(0x22f)]('max-depth\x20must\x20be\x20a\x20positive\x20number');else _0x90e4ba['maxDepth']>this['treeConfig'][_0x4854d7(0x221)]&&_0x4d8cd8[_0x4854d7(0x22f)]('max-depth\x20cannot\x20exceed\x20'+this[_0x4854d7(0x1bd)][_0x4854d7(0x221)]);}_0x90e4ba[_0x4854d7(0x22e)]&&_0x90e4ba[_0x4854d7(0x22e)][_0x4854d7(0x22a)]('..')&&_0x4d8cd8[_0x4854d7(0x22f)](_0x4854d7(0x1e0));if(_0x90e4ba[_0x4854d7(0x225)]!==undefined&&_0x90e4ba['includeExtensions']!==null){if(!Array[_0x4854d7(0x1fd)](_0x90e4ba['includeExtensions']))_0x4d8cd8[_0x4854d7(0x22f)](_0x4854d7(0x216));else for(const _0x4e5986 of _0x90e4ba['includeExtensions']){!_0x4e5986[_0x4854d7(0x1f7)]('.')&&_0x4d8cd8[_0x4854d7(0x22f)](_0x4854d7(0x218)+_0x4e5986+_0x4854d7(0x1d4));}}if(_0x90e4ba['excludeExtensions']!==undefined&&_0x90e4ba['excludeExtensions']!==null){if(!Array['isArray'](_0x90e4ba[_0x4854d7(0x1f0)]))_0x4d8cd8['push'](_0x4854d7(0x1f4));else for(const _0x50f598 of _0x90e4ba[_0x4854d7(0x1f0)]){!_0x50f598['startsWith']('.')&&_0x4d8cd8[_0x4854d7(0x22f)]('Extension\x20\x22'+_0x50f598+_0x4854d7(0x1d4));}}_0x90e4ba['excludeDirectories']!==undefined&&_0x90e4ba['excludeDirectories']!==null&&(!Array['isArray'](_0x90e4ba['excludeDirectories'])&&_0x4d8cd8['push']('excludeDirectories\x20must\x20be\x20an\x20array'));if(_0x4d8cd8[_0x4854d7(0x237)]>0x0)throw new Error(_0x4854d7(0x23b)+_0x4d8cd8['join'](',\x20'));return{'valid':!![],'errors':[]};}async['execute'](_0x4cad60,_0x78908b){const _0x3db5f5=a0_0x4f4c96,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG['DEFAULT_MAX_DEPTH'],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x4cad60,{projectDir:_0x5f1060,agentId:_0x39d77c,directoryAccess:_0x5d5518}=_0x78908b;let _0x578aaa=_0x5f1060||process[_0x3db5f5(0x1e4)]();_0x5d5518&&_0x5d5518['workingDirectory']&&(_0x578aaa=_0x5d5518['workingDirectory'],this[_0x3db5f5(0x1ed)]?.[_0x3db5f5(0x1e2)](_0x3db5f5(0x1e1),{'workingDirectory':_0x5d5518[_0x3db5f5(0x1fa)],'agentId':_0x39d77c}));const _0x3874a5=a0_0xb750b2['isAbsolute'](directory)?directory:a0_0xb750b2['resolve'](_0x578aaa,directory);try{const _0x3d44e3=await a0_0x3bf090['stat'](_0x3874a5);if(!_0x3d44e3['isDirectory']())throw new Error(_0x3db5f5(0x1c3));}catch(_0x4673c3){throw new Error(_0x3db5f5(0x1d3)+directory);}this[_0x3db5f5(0x1ed)]?.[_0x3db5f5(0x1e2)](_0x3db5f5(0x1ee),{'directory':directory,'targetDir':_0x3874a5,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.[_0x3db5f5(0x237)]||0x0,'agentId':_0x39d77c}),this[_0x3db5f5(0x1f3)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x43dca8=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x305da2=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x305da2['push'](...BINARY_EXTENSIONS);const _0x4b5534=await this['buildTree'](_0x3874a5,_0x3874a5,0x0,maxDepth,_0x43dca8,includeExtensions||[],[...excludeExtensions||[],..._0x305da2],showFiles,showHidden,showSizes),_0x14ddee=this['formatTree'](_0x4b5534),_0x51bcf0=this['generateSummary'](directory,this[_0x3db5f5(0x1f3)],maxDepth);return{'success':!![],'directory':_0x3874a5,'tree':_0x14ddee,'summary':_0x51bcf0,'maxDepth':maxDepth,'totalFiles':this['stats']['filesCount'],'totalDirectories':this['stats'][_0x3db5f5(0x203)],'skippedCount':this['stats']['skippedCount'],'statistics':{...this[_0x3db5f5(0x1f3)]},'toolUsed':'file-tree'};}async[a0_0x4f4c96(0x242)](_0x1b9250,_0x19d593,_0x2da60f,_0xded6be,_0x225c2c,_0x4f42d9,_0x579e28,_0x1b9427,_0x31cf81,_0x57b69d){const _0x295087=a0_0x4f4c96;if(_0x2da60f>_0xded6be)return null;if(this['stats']['directoriesCount']>=this[_0x295087(0x1bd)]['MAX_DIRECTORIES'])return this[_0x295087(0x1ed)]?.[_0x295087(0x1e3)]('Maximum\x20directory\x20count\x20reached',{'maxDirectories':this[_0x295087(0x1bd)][_0x295087(0x238)]}),null;try{const _0x47277e=await a0_0x3bf090[_0x295087(0x1e5)](_0x19d593,{'withFileTypes':!![]}),_0x477e02={'name':_0x2da60f===0x0?a0_0xb750b2[_0x295087(0x211)](_0x19d593)+'/':a0_0xb750b2['basename'](_0x19d593),'path':a0_0xb750b2[_0x295087(0x201)](_0x1b9250,_0x19d593),'type':'directory','children':[]};this['stats'][_0x295087(0x203)]++;for(const _0x2bc2a0 of _0x47277e){if(this[_0x295087(0x1f3)][_0x295087(0x1d7)]>=this[_0x295087(0x1bd)]['MAX_FILES_IN_TREE']){this[_0x295087(0x1ed)]?.[_0x295087(0x1e3)](_0x295087(0x1cf),{'maxFiles':this[_0x295087(0x1bd)]['MAX_FILES_IN_TREE']});break;}if(!_0x31cf81&&_0x2bc2a0['name'][_0x295087(0x1f7)]('.')){this[_0x295087(0x1f3)][_0x295087(0x231)]++;continue;}const _0x2d1bcc=a0_0xb750b2[_0x295087(0x23c)](_0x19d593,_0x2bc2a0[_0x295087(0x1fe)]);if(_0x2bc2a0[_0x295087(0x1d0)]()){if(_0x225c2c[_0x295087(0x22a)](_0x2bc2a0['name'])){this['stats'][_0x295087(0x231)]++;continue;}const _0x58cf3d=await this[_0x295087(0x242)](_0x1b9250,_0x2d1bcc,_0x2da60f+0x1,_0xded6be,_0x225c2c,_0x4f42d9,_0x579e28,_0x1b9427,_0x31cf81,_0x57b69d);_0x58cf3d&&(_0x58cf3d['children'][_0x295087(0x237)]>0x0||_0x2da60f===0x0)&&_0x477e02[_0x295087(0x20d)]['push'](_0x58cf3d);}else{if(_0x2bc2a0['isFile']()&&_0x1b9427){if(_0x2da60f+0x1>_0xded6be)continue;const _0x59d343=a0_0xb750b2['extname'](_0x2bc2a0[_0x295087(0x1fe)]);if(_0x4f42d9['length']>0x0){if(!_0x4f42d9['includes'](_0x59d343)){this['stats'][_0x295087(0x231)]++;continue;}}else{if(_0x579e28[_0x295087(0x22a)](_0x59d343)){this[_0x295087(0x1f3)][_0x295087(0x231)]++;continue;}}let _0xdd24d5='';if(_0x57b69d)try{const _0xf6ea15=await a0_0x3bf090[_0x295087(0x209)](_0x2d1bcc);_0xdd24d5='\x20('+this['formatFileSize'](_0xf6ea15[_0x295087(0x1f1)])+')';}catch(_0x289457){}_0x477e02['children']['push']({'name':_0x2bc2a0[_0x295087(0x1fe)]+_0xdd24d5,'path':a0_0xb750b2['relative'](_0x1b9250,_0x2d1bcc),'type':_0x295087(0x226),'ext':_0x59d343}),this['stats']['filesCount']++;}}}return _0x477e02['children'][_0x295087(0x21e)]((_0x41c02f,_0x54288e)=>{const _0x5f0a21=_0x295087;if(_0x41c02f['type']===_0x54288e['type'])return _0x41c02f['name']['localeCompare'](_0x54288e[_0x5f0a21(0x1fe)]);return _0x41c02f[_0x5f0a21(0x1c2)]==='directory'?-0x1:0x1;}),_0x477e02;}catch(_0x6b09c3){return this['logger']?.[_0x295087(0x1ef)](_0x295087(0x1d5),{'currentPath':_0x19d593,'error':_0x6b09c3[_0x295087(0x1c8)]}),{'name':a0_0xb750b2[_0x295087(0x211)](_0x19d593),'path':a0_0xb750b2['relative'](_0x1b9250,_0x19d593),'type':_0x295087(0x22e),'error':_0x6b09c3['message'],'children':[]};}}['formatTree'](_0x5e510d,_0x4beedd='',_0x5d5583=!![],_0xe4fb3f=!![]){const _0x30d820=a0_0x4f4c96;if(!_0x5e510d)return'';const _0x5d687d=this[_0x30d820(0x1bd)][_0x30d820(0x1cd)];let _0x2995f1='';_0xe4fb3f?_0x2995f1=_0x5e510d['name']+'\x0a':_0x2995f1=''+_0x4beedd+(_0x5d5583?_0x5d687d['LAST_BRANCH']:_0x5d687d[_0x30d820(0x212)])+_0x5e510d[_0x30d820(0x1fe)]+'\x0a';if(_0x5e510d['children']&&_0x5e510d[_0x30d820(0x20d)]['length']>0x0){const _0x26d2c5=_0xe4fb3f?'':_0x4beedd+(_0x5d5583?_0x5d687d[_0x30d820(0x1df)]:_0x5d687d[_0x30d820(0x1bf)]);_0x5e510d[_0x30d820(0x20d)]['forEach']((_0x402cbd,_0x1e4c7b)=>{const _0x4a23f=_0x1e4c7b===_0x5e510d['children']['length']-0x1;_0x2995f1+=this['formatTree'](_0x402cbd,_0x26d2c5,_0x4a23f,![]);});}return _0x2995f1;}[a0_0x4f4c96(0x21d)](_0x16dcd6){const _0x10dcdb=a0_0x4f4c96,_0x4a4844=0x400,_0x1876c7=_0x4a4844*0x400,_0x391dfb=_0x1876c7*0x400;if(_0x16dcd6>=_0x391dfb)return(_0x16dcd6/_0x391dfb)['toFixed'](0x2)+_0x10dcdb(0x20b);else{if(_0x16dcd6>=_0x1876c7)return(_0x16dcd6/_0x1876c7)['toFixed'](0x2)+_0x10dcdb(0x23f);else return _0x16dcd6>=_0x4a4844?(_0x16dcd6/_0x4a4844)[_0x10dcdb(0x230)](0x2)+'\x20KB':_0x16dcd6+'\x20B';}}[a0_0x4f4c96(0x233)](_0x540aa3,_0x261279,_0x24a2b7){const _0x3b673a=a0_0x4f4c96;return(_0x3b673a(0x1c4)+_0x540aa3+_0x3b673a(0x207)+_0x24a2b7+'\x0aFiles:\x20'+_0x261279[_0x3b673a(0x1d7)]+'\x0aDirectories:\x20'+_0x261279['directoriesCount']+'\x0aSkipped:\x20'+_0x261279[_0x3b673a(0x231)]+_0x3b673a(0x22c))['trim']();}async[a0_0x4f4c96(0x20e)](_0xf1255b){const _0x4a8ecb=a0_0x4f4c96;this[_0x4a8ecb(0x1ed)]?.['info'](_0x4a8ecb(0x202),{'operationId':_0xf1255b});}}function a0_0x6b7b(_0x3ec504,_0x27425c){_0x3ec504=_0x3ec504-0x1bd;const _0xf46572=a0_0xf465();let _0x6b7b9f=_0xf46572[_0x3ec504];if(a0_0x6b7b['kPobBJ']===undefined){var _0x5958c8=function(_0x41fdab){const _0x41371d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3bf090='',_0xb750b2='';for(let _0x12c997=0x0,_0x558051,_0x3d0ebd,_0x312590=0x0;_0x3d0ebd=_0x41fdab['charAt'](_0x312590++);~_0x3d0ebd&&(_0x558051=_0x12c997%0x4?_0x558051*0x40+_0x3d0ebd:_0x3d0ebd,_0x12c997++%0x4)?_0x3bf090+=String['fromCharCode'](0xff&_0x558051>>(-0x2*_0x12c997&0x6)):0x0){_0x3d0ebd=_0x41371d['indexOf'](_0x3d0ebd);}for(let _0x43064c=0x0,_0x5c6fde=_0x3bf090['length'];_0x43064c<_0x5c6fde;_0x43064c++){_0xb750b2+='%'+('00'+_0x3bf090['charCodeAt'](_0x43064c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb750b2);};a0_0x6b7b['XWGcEk']=_0x5958c8,a0_0x6b7b['BXJWSX']={},a0_0x6b7b['kPobBJ']=!![];}const _0x5a835d=_0xf46572[0x0],_0x5da7d0=_0x3ec504+_0x5a835d,_0x88b65d=a0_0x6b7b['BXJWSX'][_0x5da7d0];return!_0x88b65d?(_0x6b7b9f=a0_0x6b7b['XWGcEk'](_0x6b7b9f),a0_0x6b7b['BXJWSX'][_0x5da7d0]=_0x6b7b9f):_0x6b7b9f=_0x88b65d,_0x6b7b9f;}export default FileTreeTool;
|
package/src/tools/imageTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2ea0f1=a0_0x289b;function a0_0x289b(_0x54a68f,_0x3637a2){_0x54a68f=_0x54a68f-0x123;const _0x8cb1e8=a0_0x8cb1();let _0x289b99=_0x8cb1e8[_0x54a68f];if(a0_0x289b['eSnEOB']===undefined){var _0x9b5289=function(_0x291234){const _0x12e7d2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5628f7='',_0x47effa='';for(let _0xa5d2f8=0x0,_0x151a26,_0x34cc5a,_0x3e1b47=0x0;_0x34cc5a=_0x291234['charAt'](_0x3e1b47++);~_0x34cc5a&&(_0x151a26=_0xa5d2f8%0x4?_0x151a26*0x40+_0x34cc5a:_0x34cc5a,_0xa5d2f8++%0x4)?_0x5628f7+=String['fromCharCode'](0xff&_0x151a26>>(-0x2*_0xa5d2f8&0x6)):0x0){_0x34cc5a=_0x12e7d2['indexOf'](_0x34cc5a);}for(let _0x314ae4=0x0,_0x58dd67=_0x5628f7['length'];_0x314ae4<_0x58dd67;_0x314ae4++){_0x47effa+='%'+('00'+_0x5628f7['charCodeAt'](_0x314ae4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47effa);};a0_0x289b['wseysl']=_0x9b5289,a0_0x289b['tsgsLU']={},a0_0x289b['eSnEOB']=!![];}const _0x531d85=_0x8cb1e8[0x0],_0x439f79=_0x54a68f+_0x531d85,_0x5a0b10=a0_0x289b['tsgsLU'][_0x439f79];return!_0x5a0b10?(_0x289b99=a0_0x289b['wseysl'](_0x289b99),a0_0x289b['tsgsLU'][_0x439f79]=_0x289b99):_0x289b99=_0x5a0b10,_0x289b99;}(function(_0x33010d,_0x2ffde6){const _0x524526=a0_0x289b,_0x861b36=_0x33010d();while(!![]){try{const _0x1eb31f=-parseInt(_0x524526(0x1ac))/0x1*(parseInt(_0x524526(0x17c))/0x2)+parseInt(_0x524526(0x136))/0x3+-parseInt(_0x524526(0x15b))/0x4*(parseInt(_0x524526(0x135))/0x5)+parseInt(_0x524526(0x15a))/0x6+parseInt(_0x524526(0x12e))/0x7*(parseInt(_0x524526(0x12b))/0x8)+parseInt(_0x524526(0x1a0))/0x9+-parseInt(_0x524526(0x1b8))/0xa;if(_0x1eb31f===_0x2ffde6)break;else _0x861b36['push'](_0x861b36['shift']());}catch(_0x5971a2){_0x861b36['push'](_0x861b36['shift']());}}}(a0_0x8cb1,0x6f1f9));function a0_0x8cb1(){const _0x59e0f5=['u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','zxH0BMfTzq','qwnJzxnZigrLBMLLzdOGCgf0AcbVDxrZAwrLihbYB2PLy3qGzgLYzwn0B3j5','x2DLBMvYyxrLsM9Iswq','nteYEduXmG','Dg9ju09tDhjPBMC','zMfPBgvK','D3jPDgvgAwXL','CMvZB2X2zwrpDxrWDxrqyxrO','Ag9ZDa','AxnbCNjHEq','x3zHBgLKyxrLugfYyw1LDgvYCW','C2f2zvrVuhjVAMvJDa','ywDLBNrjza','x3bHCNnLwe1msw1Hz2u','yMf0y2G','CMvWBgfJzq','lI4U','C2HPzNq','C3rYAw5N','sw1Hz2uGz2vUzxjHDgvKoIa','quKGu2vYDMLJzsbZzxqGzM9YieLTywDLvg9VBa','Aw1Hz2uTCMvZDwX0','ChjVAMvJDerPCG','zNvSBa','ndq0nJe5mKHIBK1svq','otCYt1DbveTh','CgfYC2vqyxjHBwv0zxjZ','x2DLBMvYyxrLsw1Hz2u','Bg9Nz2vY','BwfW','rMfPBgvKihrVigrVD25SB2fKigLTywDLoIbivfrqia','x3bHCNnLsLnptLbHCMfTCW','BM90x2zVDw5K','C3vIC3rYAw5N','vKfmsurFu0LArvm','ChvZAa','Bg9JywXOB3n0','igLTywDLCYbXDwv1zwqGzM9YigDLBMvYyxrPB24','CxvLDwu','yxP1CMuTB3bLBMfPlwrHBgXLmW','CgvYC2LZDefNzw50u3rHDgu','yMfZzw5HBwu','sw1Hz2uGz2vUzxjHDgLVBIbICM9HzgnHC3qGC2vUDa','vgLTzw91DevYCM9Y','y2XLyw51Ca','z2vUzxjHDgvKlq','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLlIbjBwfNzsbNzw5LCMf0Aw9UihjLCxvPCMvZiefjihnLCNzPy2uU','tM8GAw1Hz2vZihnWzwnPzMLLza','rg93BMXVywqGzMfPBgvKoIa','DhjPBq','BwvZC2fNzxm','vKfmsurFrK9stufuuW','mtC5mNGXmdi0','cGRIMQdVUi8GkIPxyxjUAw5NoIOQieLTywDLigLZihvZAw5NigeGDgvTCg9Yyxj5ifvstcaOzxHWAxjLCYbPBIb+msbOB3vYks4GrMfPBgvKihrVihnHDMuGDg8GzgLZAY4','x3jLC29SDMvpDxrWDxrqyxrO','sw1Hz2uGzg93BMXVywqGDgLTzw91Da','zgLYBMfTzq','C2L6zq','mJeZndbKyMXut04','ChjVBxb0','Dg9tDhjPBMC','sw1Hz2uGCxvLDwvKigzVCIbNzw5LCMf0Aw9U','sw52ywXPzcbZAxPLoIa','Bw9KzwW','x3bHCNnLsw1Hz2vqyxjHBxm','z2vUzxjHDgvjBwfNzq','Aw5MBW','ywDLBNrqB29S','AgfZ','CxvHBgL0Eq','AM9PBG','Aw1Hz2uTz2vU','yNjVywrJyxn0vg9tzxnZAw9U','C2v0qwDLBNrqB29S','BwTKAxi','lIbwywXPzcbZAxPLCZOG','zxjYB3i','BwvZC2fNzq','zgvSzxrL','lNbUzW','Bg94AweTAw1Hz2vZ','BM93','uxvLDwuGChjVy2vZC2LUzYbLCNjVCJO','BgfZDefJDgL2Axr5','y29TCgXLDgvKqxq','C3rHDhvZ','ChjVy2vZC2LUzW','C3rHCNrZv2L0Aa','y2XLyw51CfrPBwvYCW','Aw1Hz2vZ','y29UDMvYC2f0Aw9UCW','zgLYzwn0B3j5qwnJzxnZ','Aw1NlwvYCM9Ylq','DxjS','mtK1nZG3oezdsg9LCG','x2rVD25SB2fKsw1Hz2u','ANbLzW','AxnqCM9JzxnZAw5N','y3vYCMvUDePVyG','zg93BMXVywrfCNjVCG','C3LZDgvT','cIOQrxjYB3i6kIOG','x3bHCNnLwe1mugfYyw1Z','Aw1Hz2vhzw5LCMf0zwq','BMfTzq','z2v0sM9Iu3rHDhvZ','mZffEenSzeq','mc4WlJaUma','B3v0Chv0lxbHDgG','Ahr0CdOVlW','igLTywDLCYKUifbSzwfZzsb3ywL0igzVCIbJDxjYzw50igPVyNmGDg8Gy29TCgXLDguU','y29TCgXLDgvK','rMfPBgvKihrVihnHDMuGAw1Hz2uGzxjYB3iGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','C2f2zwruB0rPC2S','yxjYyxLcDwzMzxi','BgvUz3rO','BM9YBwfSAxPL','sw1Hz2uGz2vUzxjHDgLVBIbJB21WBgv0zwq6ia','ndi3mteXmhnTzhLrwa','x2nVBNzLCNruB1DLyLvYBa','uvvfvuvFteLnsvq','B2jQzwn0','C2vZC2LVBKLK','x3bYB2nLC3nrDwv1zq','y3vYCMvUDe1VzgvS','Aw5JBhvKzxm','zMXVB3i','zxHLyW','4P2mieLTywDLigDLBMvYyxrPB24GzMfPBgvKoIa','revgqvvmvf9nt0rfta','BgfZDfvWzgf0zwq','AM9Iswq','C3rHBMrHCMq','mJyZmKjUt1HRCG','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','CgfYyw1LDgvYCW','ody1owfmDfjzCG','lIbwywXPzcbMB3jTyxrZoIa','AxnbyNnVBhv0zq','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','Bg94Awfxzwjtzxj2zxi','sw1Hz2uGCMvZDwX0ihnHDMvKihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','DgvTCg9Yyxj5vxjS','otKXnvfszNnyCa','otG4mdKYB3nsBxrd','tufyx1bst01qvf9mru5hveG','tM8GDMfSAwqGAw1Hz2uGCgfYyw1LDgvYCYbMB3vUza','DgvTCerPCG','q2XLyw5Lzcb1Ccb0zw1WigLTywDLoIa','y2fUy2vSBgvK','B3v0Chv0ugf0Aa','y29TCgXLDgvKsM9ICW','zMLUza','y2XLyxi','revgqvvmvf9tsvPf'];a0_0x8cb1=function(){return _0x59e0f5;};return a0_0x8cb1();}import a0_0x5628f7 from'path';import a0_0x47effa from'os';import{promises as a0_0xa5d2f8}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':a0_0x2ea0f1(0x169),'DEFAULT_SIZE':'1024x1024','DEFAULT_QUALITY':a0_0x2ea0f1(0x12a),'VALID_SIZES':['256x256',a0_0x2ea0f1(0x145),'1024x1024','1024x1792',a0_0x2ea0f1(0x176)],'VALID_FORMATS':['png','jpg',a0_0x2ea0f1(0x1a2),'webp'],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};export class ImageTool extends BaseTool{constructor(_0x151a26={},_0x34cc5a=null){const _0x3df08a=a0_0x2ea0f1;super(_0x151a26,_0x34cc5a),this['id']=_0x3df08a(0x189),this[_0x3df08a(0x168)]=[],this[_0x3df08a(0x1a4)]=null,this['completedJobs']=new Map(),this[_0x3df08a(0x1a3)]=![],this['aiService']=null,this[_0x3df08a(0x185)]=null,this['tempDir']=a0_0x5628f7[_0x3df08a(0x188)](a0_0x47effa['tmpdir'](),_0x3df08a(0x192)),this[_0x3df08a(0x19a)]=new Map();}['setAIService'](_0x3e1b47){const _0x4bf055=a0_0x2ea0f1;this['aiService']=_0x3e1b47,this[_0x4bf055(0x15e)]?.[_0x4bf055(0x184)](_0x4bf055(0x156));}[a0_0x2ea0f1(0x18b)](_0x314ae4){const _0x5427f6=a0_0x2ea0f1;this[_0x5427f6(0x185)]=_0x314ae4,this['logger']?.['info']('AgentPool\x20set\x20for\x20ImageTool');}['getDescription'](){const _0x10bff0=a0_0x2ea0f1;return'Tool:\x20Image\x20Generator\x20-\x20Generate\x20images\x20using\x20AI\x20models\x0a\x0a**Purpose:**\x20Generate\x20images\x20from\x20text\x20descriptions\x20using\x20DALL-E\x203.\x20Images\x20are\x20saved\x20to\x20files\x20and\x20displayed\x20in\x20chat.\x0a\x0a**CRITICAL:\x20Automatic\x20Execution**\x0a-\x20ANY\x20```json\x20block\x20with\x20\x22toolId\x22:\x20\x22image-gen\x22\x20will\x20be\x20EXECUTED\x20IMMEDIATELY\x0a-\x20Just\x20output\x20the\x20command\x20when\x20you\x20want\x20to\x20generate\x20an\x20image\x0a-\x20If\x20generation\x20fails,\x20output\x20a\x20NEW\x20command\x20with\x20corrections\x0a\x0a**USAGE:**\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22image-gen\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22prompt\x22:\x20\x22Detailed\x20description\x20of\x20the\x20image\x22,\x0a\x20\x20\x20\x20\x22outputPath\x22:\x20\x22images/filename.png\x22,\x0a\x20\x20\x20\x20\x22model\x22:\x20\x22azure-openai-dalle3\x22,\x0a\x20\x20\x20\x20\x22size\x22:\x20\x221024x1024\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Parameters:**\x0a-\x20**prompt**\x20(required):\x20Detailed\x20description\x20of\x20image\x20to\x20generate\x0a-\x20**outputPath**\x20(optional):\x20Path\x20to\x20save\x20image\x20(permanent).\x20Omit\x20for\x20temp\x20file.\x0a-\x20**model**\x20(optional):\x20\x22azure-openai-dalle3\x22\x20(default)\x0a-\x20**size**\x20(optional):\x20256x256,\x20512x512,\x201024x1024,\x201024x1792,\x201792x1024\x20(default:\x201024x1024)\x0a-\x20**quality**\x20(optional):\x20\x22standard\x22\x20or\x20\x22hd\x22\x20(default:\x20standard)\x0a\x0a**EXAMPLE:**\x0aUser:\x20\x22create\x20a\x20sunset\x20image\x22\x0aYou\x20output:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22image-gen\x22,\x0a\x20\x20\x22parameters\x22:\x20{\x0a\x20\x20\x20\x20\x22prompt\x22:\x20\x22A\x20beautiful\x20sunset\x20over\x20the\x20ocean\x20with\x20vibrant\x20orange\x20and\x20pink\x20colors\x20reflecting\x20on\x20calm\x20waters\x22,\x0a\x20\x20\x20\x20\x22outputPath\x22:\x20\x22images/sunset.png\x22,\x0a\x20\x20\x20\x20\x22size\x22:\x20\x221024x1024\x22\x0a\x20\x20}\x0a}\x0a```\x0a\x0a**Notes:**\x0a-\x20Images\x20take\x2015-30\x20seconds\x20to\x20generate\x0a-\x20Be\x20descriptive\x20in\x20prompts\x20for\x20better\x20results\x0a-\x20Max\x20'+IMAGE_CONFIG[_0x10bff0(0x1ba)]+'\x20images\x20in\x20queue';}[a0_0x2ea0f1(0x15c)](_0x58dd67){const _0x58f916=a0_0x2ea0f1;if(typeof _0x58dd67==='object'&&_0x58dd67!==null)return this['_parseJSONParams'](_0x58dd67);if(typeof _0x58dd67===_0x58f916(0x154)){const _0xf38f03=_0x58dd67['trim']();if(_0xf38f03[_0x58f916(0x199)]('{')||_0xf38f03['startsWith']('['))try{const _0x147d66=JSON['parse'](_0xf38f03);return this[_0x58f916(0x161)](_0x147d66);}catch(_0x2c87ce){}return this[_0x58f916(0x1a8)](_0x58dd67);}throw new Error('Invalid\x20parameter\x20format');}['_parseJSONParams'](_0x303548){const _0x5f40ec=a0_0x2ea0f1;_0x303548['parameters']&&(_0x303548=_0x303548[_0x5f40ec(0x12d)]);if(_0x303548[_0x5f40ec(0x150)]&&Array[_0x5f40ec(0x14b)](_0x303548[_0x5f40ec(0x150)]))return{'batch':!![],'images':_0x303548[_0x5f40ec(0x150)][_0x5f40ec(0x15f)](_0x321f67=>this[_0x5f40ec(0x182)](_0x321f67))};return{'batch':![],'images':[this['_parseImageParams'](_0x303548)]};}[a0_0x2ea0f1(0x1a8)](_0x44e5a8){const _0x453e1f=a0_0x2ea0f1,_0x4d682a={'batch':![],'images':[]},_0x507835=/<batch>([\s\S]*?)<\/batch>/i[_0x453e1f(0x125)](_0x44e5a8);if(_0x507835){_0x4d682a[_0x453e1f(0x150)]=!![];const _0x6a414c=_0x507835[0x1],_0x2c1dc1=/<image>([\s\S]*?)<\/image>/gi;let _0x4488fa;while((_0x4488fa=_0x2c1dc1['exec'](_0x6a414c))!==null){_0x4d682a['images'][_0x453e1f(0x165)](this[_0x453e1f(0x14f)](_0x4488fa[0x1]));}}else _0x4d682a['images']['push'](this['_parseXMLImage'](_0x44e5a8));if(_0x4d682a[_0x453e1f(0x19b)]['length']===0x0)throw new Error(_0x453e1f(0x138));return _0x4d682a;}[a0_0x2ea0f1(0x182)](_0x371de2){const _0x1d1ec5=a0_0x2ea0f1,_0x123144=_0x371de2[_0x1d1ec5(0x13c)]||_0x371de2[_0x1d1ec5(0x1ae)]||null;return{'prompt':_0x371de2['prompt']||'','outputPath':_0x123144,'saveToProject':_0x123144!==null,'model':_0x371de2['model']||IMAGE_CONFIG[_0x1d1ec5(0x127)],'size':_0x371de2[_0x1d1ec5(0x17b)]||IMAGE_CONFIG[_0x1d1ec5(0x140)],'quality':_0x371de2[_0x1d1ec5(0x187)]||IMAGE_CONFIG['DEFAULT_QUALITY']};}['_parseXMLImage'](_0x1e8456){const _0x53e3b8=a0_0x2ea0f1,_0x348433=_0x3847c4=>{const _0x3f942f=a0_0x289b,_0x35ed6a=new RegExp('<'+_0x3847c4+'>([\x5cs\x5cS]*?)<\x5c/'+_0x3847c4+'>','i'),_0x35bf70=_0x35ed6a['exec'](_0x1e8456);return _0x35bf70?_0x35bf70[0x1][_0x3f942f(0x173)]():null;},_0x329dde=_0x348433(_0x53e3b8(0x1ae))||null;return{'prompt':_0x348433(_0x53e3b8(0x17d))||'','outputPath':_0x329dde,'saveToProject':_0x329dde!==null,'model':_0x348433('model')||IMAGE_CONFIG[_0x53e3b8(0x127)],'size':_0x348433('size')||IMAGE_CONFIG[_0x53e3b8(0x140)],'quality':_0x348433('quality')||IMAGE_CONFIG['DEFAULT_QUALITY']};}async['execute'](_0x4b697e,_0x49011d={}){const _0x58360a=a0_0x2ea0f1;try{const {agentId:_0x2464c0,projectDir:_0x2e2f3e,directoryAccess:_0x33811b,sessionId:_0x38c4b0}=_0x49011d;if(typeof _0x4b697e===_0x58360a(0x154))this['logger']?.[_0x58360a(0x184)]('ImageTool:\x20Auto-parsing\x20string\x20parameters'),_0x4b697e=this[_0x58360a(0x15c)](_0x4b697e);else typeof _0x4b697e===_0x58360a(0x1bb)&&_0x4b697e!==null&&!_0x4b697e['images']&&(this['logger']?.[_0x58360a(0x184)]('ImageTool:\x20Normalizing\x20object\x20parameters'),_0x4b697e=this[_0x58360a(0x15c)](_0x4b697e));this['_validateParameters'](_0x4b697e);const _0x337c3f=[];for(const _0x14db0e of _0x4b697e[_0x58360a(0x19b)]){const _0x51729e=this[_0x58360a(0x144)](),_0x1f8664={'jobId':_0x51729e,'agentId':_0x2464c0,'sessionId':_0x38c4b0,'prompt':_0x14db0e['prompt'],'outputPath':_0x14db0e['outputPath'],'saveToProject':_0x14db0e['saveToProject'],'model':_0x14db0e['model'],'size':_0x14db0e[_0x58360a(0x17b)],'quality':_0x14db0e[_0x58360a(0x187)],'projectDir':_0x2e2f3e||process['cwd'](),'directoryAccess':_0x33811b,'status':'queued','createdAt':new Date()[_0x58360a(0x146)]()};if(this['queue'][_0x58360a(0x1b5)]>=IMAGE_CONFIG[_0x58360a(0x1ba)])return{'success':![],'error':'Queue\x20limit\x20reached\x20('+IMAGE_CONFIG['QUEUE_LIMIT']+_0x58360a(0x1b0),'queueLength':this[_0x58360a(0x168)]['length']};this['queue']['push'](_0x1f8664),_0x337c3f[_0x58360a(0x165)](_0x51729e),this['logger']?.[_0x58360a(0x184)](_0x58360a(0x131)+_0x51729e,{'prompt':_0x14db0e['prompt']['substring'](0x0,0x32)+_0x58360a(0x152),'queuePosition':this[_0x58360a(0x168)][_0x58360a(0x1b5)]});}return!this[_0x58360a(0x1a3)]&&this[_0x58360a(0x1bd)]()['catch'](_0x506801=>{const _0x5368ae=_0x58360a;this['logger']?.['error'](_0x5368ae(0x194),_0x506801);}),{'success':!![],'jobIds':_0x337c3f,'queueLength':this[_0x58360a(0x168)][_0x58360a(0x1b5)],'message':_0x4b697e[_0x58360a(0x150)]?_0x337c3f['length']+_0x58360a(0x167):_0x58360a(0x17f),'estimatedWaitTime':this['_estimateWaitTime']()};}catch(_0x462607){return this['logger']?.[_0x58360a(0x18e)](_0x58360a(0x12c),_0x462607),{'success':![],'error':_0x462607[_0x58360a(0x18f)]};}}[a0_0x2ea0f1(0x14c)](_0x3e2408){const _0x3f2448=a0_0x2ea0f1;if(!_0x3e2408[_0x3f2448(0x19b)]||_0x3e2408['images']['length']===0x0)throw new Error(_0x3f2448(0x171));for(const _0xdc7c1 of _0x3e2408[_0x3f2448(0x19b)]){if(!_0xdc7c1['prompt']||_0xdc7c1[_0x3f2448(0x17d)]['trim']()['length']===0x0)throw new Error('Image\x20prompt\x20is\x20required');if(_0xdc7c1['prompt']['length']>IMAGE_CONFIG[_0x3f2448(0x137)])throw new Error('Prompt\x20too\x20long\x20(max\x20'+IMAGE_CONFIG[_0x3f2448(0x137)]+'\x20characters)');if(_0xdc7c1[_0x3f2448(0x17b)]&&!IMAGE_CONFIG['VALID_SIZES'][_0x3f2448(0x123)](_0xdc7c1['size']))throw new Error(_0x3f2448(0x180)+_0xdc7c1[_0x3f2448(0x17b)]+_0x3f2448(0x18d)+IMAGE_CONFIG[_0x3f2448(0x164)][_0x3f2448(0x188)](',\x20'));if(_0xdc7c1['outputPath']){const _0x107ca3=a0_0x5628f7[_0x3f2448(0x142)](_0xdc7c1['outputPath'])['toLowerCase']()[_0x3f2448(0x151)]('.','');if(_0x107ca3&&!IMAGE_CONFIG[_0x3f2448(0x175)]['includes'](_0x107ca3))throw new Error('Invalid\x20format:\x20'+_0x107ca3+_0x3f2448(0x12f)+IMAGE_CONFIG[_0x3f2448(0x175)]['join'](',\x20'));}}}async['_processQueue'](){const _0x12fbb7=a0_0x2ea0f1;if(this[_0x12fbb7(0x1a3)])return;this['isProcessing']=!![];while(this[_0x12fbb7(0x168)][_0x12fbb7(0x1b5)]>0x0){const _0x21f664=this['queue'][_0x12fbb7(0x153)]();this[_0x12fbb7(0x1a4)]=_0x21f664,this[_0x12fbb7(0x15e)]?.['info']('Processing\x20image\x20generation\x20job:\x20'+_0x21f664['jobId']);try{_0x21f664['status']=_0x12fbb7(0x198);const _0x68ca81=await this[_0x12fbb7(0x15d)](_0x21f664);_0x21f664['status']=_0x12fbb7(0x1b1),_0x21f664['result']=_0x68ca81,_0x21f664[_0x12fbb7(0x196)]=new Date()['toISOString'](),this['completedJobs']['set'](_0x21f664[_0x12fbb7(0x129)],_0x21f664);if(global['loxiaWebServer']&&_0x21f664['sessionId']){let _0x562da4,_0x1793e9=![];if(_0x68ca81[_0x12fbb7(0x1b3)]&&_0x68ca81[_0x12fbb7(0x149)])_0x562da4=this[_0x12fbb7(0x1b9)](_0x68ca81['resolvedOutputPath'],_0x21f664['sessionId']);else _0x68ca81[_0x12fbb7(0x134)]&&(_0x562da4=_0x68ca81['temporaryUrl'],_0x1793e9=!![]);global[_0x12fbb7(0x132)][_0x12fbb7(0x18a)](_0x21f664[_0x12fbb7(0x1bc)],{'type':'imageGenerated','agentId':_0x21f664[_0x12fbb7(0x14e)],'jobId':_0x21f664[_0x12fbb7(0x129)],'imageUrl':_0x562da4,'localPath':_0x68ca81['resolvedOutputPath'],'prompt':_0x21f664[_0x12fbb7(0x17d)],'success':!![],'isTemporary':_0x1793e9,'savedToDisk':_0x68ca81['savedToDisk'],'downloadError':_0x68ca81[_0x12fbb7(0x1a5)],'timestamp':_0x21f664[_0x12fbb7(0x196)]}),this[_0x12fbb7(0x15e)]?.['info'](_0x12fbb7(0x16c),{'jobId':_0x21f664['jobId'],'imageUrl':_0x562da4,'localPath':_0x68ca81['resolvedOutputPath'],'savedToDisk':_0x68ca81['savedToDisk'],'isTemporary':_0x1793e9});if(this[_0x12fbb7(0x185)]&&_0x21f664['agentId'])try{const _0x365146=await this[_0x12fbb7(0x185)]['getAgent'](_0x21f664[_0x12fbb7(0x14e)]);if(_0x365146){let _0x470322=_0x12fbb7(0x155)+_0x21f664['prompt'];_0x1793e9&&(_0x470322+=_0x12fbb7(0x177),_0x68ca81[_0x12fbb7(0x1a5)]&&(_0x470322+=_0x12fbb7(0x1a7)+_0x68ca81['downloadError']));const _0x542190={'id':'img-result-'+_0x21f664['jobId'],'role':'assistant','content':_0x470322,'timestamp':_0x21f664[_0x12fbb7(0x196)],'imageUrl':_0x562da4,'type':_0x12fbb7(0x157),'toolId':'image-gen','status':_0x12fbb7(0x1b1),'isTemporary':_0x1793e9||![],'savedToDisk':_0x68ca81[_0x12fbb7(0x1b3)]!==![]};_0x365146['conversations']['full']['messages']['push'](_0x542190),_0x365146['conversations']['full']['lastUpdated']=_0x21f664[_0x12fbb7(0x196)],_0x365146[_0x12fbb7(0x1be)]&&_0x365146[_0x12fbb7(0x19c)][_0x365146[_0x12fbb7(0x1be)]]&&(_0x365146[_0x12fbb7(0x19c)][_0x365146[_0x12fbb7(0x1be)]][_0x12fbb7(0x174)][_0x12fbb7(0x165)](_0x542190),_0x365146['conversations'][_0x365146['currentModel']]['lastUpdated']=_0x21f664['completedAt']),_0x365146['lastActivity']=_0x21f664['completedAt'],await this['agentPool'][_0x12fbb7(0x16a)](_0x21f664['agentId']),this[_0x12fbb7(0x15e)]?.['info'](_0x12fbb7(0x133),{'agentId':_0x21f664[_0x12fbb7(0x14e)],'jobId':_0x21f664[_0x12fbb7(0x129)],'messageId':_0x542190['id']});}}catch(_0x5ac08a){this['logger']?.[_0x12fbb7(0x18e)]('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x5ac08a['message'],'agentId':_0x21f664['agentId'],'jobId':_0x21f664[_0x12fbb7(0x129)]});}}this['logger']?.[_0x12fbb7(0x184)](_0x12fbb7(0x1b7)+_0x21f664['jobId'],{'outputPath':_0x68ca81['resolvedOutputPath']});}catch(_0x5b7620){this[_0x12fbb7(0x15e)]?.['error']('Image\x20generation\x20failed:\x20'+_0x21f664[_0x12fbb7(0x129)],_0x5b7620),_0x21f664[_0x12fbb7(0x197)]=_0x12fbb7(0x147),_0x21f664['error']=_0x5b7620[_0x12fbb7(0x18f)],_0x21f664[_0x12fbb7(0x196)]=new Date()['toISOString'](),this['completedJobs']['set'](_0x21f664[_0x12fbb7(0x129)],_0x21f664);global[_0x12fbb7(0x132)]&&_0x21f664[_0x12fbb7(0x1bc)]&&(global[_0x12fbb7(0x132)]['broadcastToSession'](_0x21f664[_0x12fbb7(0x1bc)],{'type':_0x12fbb7(0x1a9),'jobId':_0x21f664[_0x12fbb7(0x129)],'agentId':_0x21f664['agentId'],'prompt':_0x21f664[_0x12fbb7(0x17d)],'success':![],'error':_0x5b7620[_0x12fbb7(0x18f)],'timestamp':_0x21f664['completedAt']}),this[_0x12fbb7(0x15e)]?.['info']('Image\x20generation\x20error\x20broadcast\x20sent',{'jobId':_0x21f664[_0x12fbb7(0x129)],'sessionId':_0x21f664[_0x12fbb7(0x1bc)],'error':_0x5b7620[_0x12fbb7(0x18f)]}));if(this[_0x12fbb7(0x185)]&&_0x21f664[_0x12fbb7(0x14e)])try{const _0x4f5f4c=await this[_0x12fbb7(0x185)]['getAgent'](_0x21f664[_0x12fbb7(0x14e)]);if(_0x4f5f4c){const _0x515be8={'id':_0x12fbb7(0x19e)+_0x21f664['jobId'],'role':_0x12fbb7(0x1a6),'content':_0x12fbb7(0x126)+_0x5b7620[_0x12fbb7(0x18f)]+'\x0a\x0a**Prompt:**\x20'+_0x21f664['prompt'],'timestamp':_0x21f664[_0x12fbb7(0x196)],'type':'error','toolId':'image-gen','status':'failed','jobId':_0x21f664[_0x12fbb7(0x129)]};_0x4f5f4c['conversations'][_0x12fbb7(0x159)]['messages'][_0x12fbb7(0x165)](_0x515be8),_0x4f5f4c[_0x12fbb7(0x19c)][_0x12fbb7(0x159)][_0x12fbb7(0x128)]=_0x21f664[_0x12fbb7(0x196)],_0x4f5f4c['currentModel']&&_0x4f5f4c['conversations'][_0x4f5f4c['currentModel']]&&(_0x4f5f4c['conversations'][_0x4f5f4c[_0x12fbb7(0x1be)]]['messages'][_0x12fbb7(0x165)](_0x515be8),_0x4f5f4c[_0x12fbb7(0x19c)][_0x4f5f4c['currentModel']][_0x12fbb7(0x128)]=_0x21f664['completedAt']),_0x4f5f4c[_0x12fbb7(0x195)]=_0x21f664[_0x12fbb7(0x196)],await this['agentPool'][_0x12fbb7(0x16a)](_0x21f664['agentId']),this[_0x12fbb7(0x15e)]?.[_0x12fbb7(0x184)]('Image\x20error\x20saved\x20to\x20conversation\x20history',{'agentId':_0x21f664['agentId'],'jobId':_0x21f664['jobId'],'error':_0x5b7620[_0x12fbb7(0x18f)]});}}catch(_0x8a3664){this['logger']?.[_0x12fbb7(0x18e)](_0x12fbb7(0x1b2),{'error':_0x8a3664['message'],'agentId':_0x21f664['agentId'],'jobId':_0x21f664['jobId']});}}}this['isProcessing']=![],this[_0x12fbb7(0x1a4)]=null;}async[a0_0x2ea0f1(0x15d)](_0x30312e){const _0x3139f1=a0_0x2ea0f1;if(!this['aiService'])throw new Error(_0x3139f1(0x170));const _0x28967d=await this[_0x3139f1(0x178)](_0x30312e),_0x386b49=a0_0x5628f7[_0x3139f1(0x17a)](_0x28967d);await a0_0xa5d2f8['mkdir'](_0x386b49,{'recursive':!![]}),this[_0x3139f1(0x15e)]?.[_0x3139f1(0x184)]('Generating\x20image\x20with\x20'+_0x30312e['model'],{'size':_0x30312e[_0x3139f1(0x17b)],'quality':_0x30312e[_0x3139f1(0x187)]});const _0x2fbe40={'model':_0x30312e['model'],'size':_0x30312e['size'],'quality':_0x30312e[_0x3139f1(0x187)],'responseFormat':_0x3139f1(0x19f),'sessionId':_0x30312e[_0x3139f1(0x1bc)]},_0x5b037c=await this['aiService'][_0x3139f1(0x183)](_0x30312e['prompt'],_0x2fbe40),_0x4ca477=_0x5b037c?.['url']||_0x5b037c?.['imageUrl'];if(!_0x4ca477)throw new Error('No image URL received from AI service');this[_0x3139f1(0x15e)]?.[_0x3139f1(0x184)]('Image\x20URL\x20received:\x20'+_0x4ca477['substring'](0x0,0x32)+_0x3139f1(0x152));let _0x3f2d1a=![],_0x536fae=null;try{await this[_0x3139f1(0x1a1)](_0x4ca477,_0x28967d),_0x3f2d1a=!![],!_0x30312e['saveToProject']&&this['_scheduleCleanup'](_0x28967d,_0x30312e['jobId']);}catch(_0x48093c){_0x536fae=_0x48093c[_0x3139f1(0x18f)],this[_0x3139f1(0x15e)]?.['warn']('Failed\x20to\x20save\x20image\x20to\x20disk,\x20will\x20use\x20temporary\x20URL:\x20'+_0x48093c['message']);}return{'jobId':_0x30312e['jobId'],'prompt':_0x30312e[_0x3139f1(0x17d)],'outputPath':_0x30312e['outputPath'],'resolvedOutputPath':_0x3f2d1a?_0x28967d:null,'temporaryUrl':_0x4ca477,'savedToDisk':_0x3f2d1a,'downloadError':_0x536fae,'success':!![],'model':_0x5b037c['model']||_0x30312e[_0x3139f1(0x181)],'size':_0x30312e[_0x3139f1(0x17b)],'usage':_0x5b037c['usage']};}async['_resolveOutputPath'](_0x1f0528){const _0x3482b4=a0_0x2ea0f1;if(_0x1f0528[_0x3482b4(0x14d)]){const _0x3e26e1=_0x1f0528[_0x3482b4(0x158)]||process['cwd']();let _0x45e8d3=_0x1f0528[_0x3482b4(0x13c)];if(!_0x45e8d3){const _0x108c27=Date[_0x3482b4(0x193)]();_0x45e8d3='images/generated-'+_0x108c27+_0x3482b4(0x191);}const _0x44188a=a0_0x5628f7[_0x3482b4(0x130)](_0x45e8d3)?a0_0x5628f7['normalize'](_0x45e8d3):a0_0x5628f7[_0x3482b4(0x1b6)](a0_0x5628f7['join'](_0x3e26e1,_0x45e8d3));if(!_0x44188a['startsWith'](a0_0x5628f7['normalize'](_0x3e26e1)))throw new Error('Path\x20traversal\x20detected');if(_0x1f0528[_0x3482b4(0x19d)]){const _0x43714d=a0_0x5628f7['relative'](_0x3e26e1,_0x44188a);if(_0x43714d['startsWith']('..'))throw new Error(_0x3482b4(0x143));}return _0x44188a;}else{await a0_0xa5d2f8[_0x3482b4(0x18c)](this['tempDir'],{'recursive':!![]});let _0x2c2fce=_0x1f0528['outputPath']?a0_0x5628f7['basename'](_0x1f0528[_0x3482b4(0x13c)]):_0x3482b4(0x16f)+_0x1f0528[_0x3482b4(0x129)]+_0x3482b4(0x191);return a0_0x5628f7[_0x3482b4(0x188)](this[_0x3482b4(0x139)],_0x2c2fce);}}async[a0_0x2ea0f1(0x1a1)](_0xf60154,_0x19b988){const _0x4ff17b=a0_0x2ea0f1;try{const _0x27746f=await fetch(_0xf60154,{'signal':AbortSignal['timeout'](IMAGE_CONFIG['DOWNLOAD_TIMEOUT'])});if(!_0x27746f['ok'])throw new Error(_0x4ff17b(0x160)+_0x27746f[_0x4ff17b(0x197)]);const _0x5bfee8=Buffer['from'](await _0x27746f[_0x4ff17b(0x1b4)]());await a0_0xa5d2f8[_0x4ff17b(0x148)](_0x19b988,_0x5bfee8),this[_0x4ff17b(0x15e)]?.['info']('Image\x20saved\x20to:\x20'+_0x19b988);}catch(_0xc07819){if(_0xc07819[_0x4ff17b(0x1aa)]===_0x4ff17b(0x16d))throw new Error(_0x4ff17b(0x179));else{if(_0xc07819['name']==='TypeError')throw new Error('Network\x20error:\x20'+_0xc07819['message']);else throw new Error(_0x4ff17b(0x172)+_0xc07819[_0x4ff17b(0x18f)]);}}}['_scheduleCleanup'](_0x160fed,_0x322466){const _0xfe821=a0_0x2ea0f1,_0x585091=setTimeout(async()=>{const _0x3db4a3=a0_0x289b;try{await a0_0xa5d2f8['unlink'](_0x160fed),this['logger']?.['debug'](_0x3db4a3(0x13a)+_0x160fed),this[_0x3db4a3(0x19a)][_0x3db4a3(0x190)](_0x322466);}catch(_0xde4216){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this[_0xfe821(0x19a)]['set'](_0x322466,_0x585091);}['_convertToWebUrl'](_0x2e5617,_0x5e4715){const _0x442c3f=a0_0x2ea0f1,_0xd3ed55=a0_0x5628f7[_0x442c3f(0x16b)](_0x2e5617),_0x3884fd=global['loxiaWebServer']?.['port']||0x1f90;let _0x35ad61=global['loxiaWebServer']?.[_0x442c3f(0x14a)]||_0x442c3f(0x166);return _0x35ad61===_0x442c3f(0x1ad)&&(_0x35ad61='localhost'),_0x442c3f(0x1af)+_0x35ad61+':'+_0x3884fd+'/api/images/'+_0x5e4715+'/'+_0xd3ed55;}['_estimateWaitTime'](){const _0x533e33=a0_0x2ea0f1,_0x3dba2b=0x1e,_0x28f52f=this['queue']['length'];if(_0x28f52f===0x0)return'~30\x20seconds';const _0x2d2f67=_0x28f52f*_0x3dba2b,_0x3bed46=Math[_0x533e33(0x124)](_0x2d2f67/0x3c),_0x4eb09e=_0x2d2f67%0x3c;if(_0x3bed46>0x0)return'~'+_0x3bed46+'m\x20'+_0x4eb09e+'s';return'~'+_0x4eb09e+'s';}[a0_0x2ea0f1(0x144)](){const _0x447eaa=a0_0x2ea0f1;return'img-'+Date['now']()+'-'+Math['random']()[_0x447eaa(0x17e)](0x24)[_0x447eaa(0x163)](0x2,0x9);}[a0_0x2ea0f1(0x1ab)](_0x225d09){const _0x52361d=a0_0x2ea0f1;if(this[_0x52361d(0x13d)][_0x52361d(0x186)](_0x225d09))return this[_0x52361d(0x13d)]['get'](_0x225d09);if(this[_0x52361d(0x1a4)]&&this['currentJob']['jobId']===_0x225d09)return this[_0x52361d(0x1a4)];const _0x568ac8=this['queue'][_0x52361d(0x13e)](_0x4c7d1e=>_0x4c7d1e['jobId']===_0x225d09);if(_0x568ac8)return _0x568ac8;return{'jobId':_0x225d09,'status':_0x52361d(0x162)};}async[a0_0x2ea0f1(0x16e)](){const _0x3aa9fc=a0_0x2ea0f1;this[_0x3aa9fc(0x15e)]?.['info'](_0x3aa9fc(0x141));for(const _0x4d7958 of this['cleanupTimers']['values']()){clearTimeout(_0x4d7958);}this[_0x3aa9fc(0x19a)][_0x3aa9fc(0x13f)]();for(const _0x3bbec9 of this[_0x3aa9fc(0x168)]){_0x3bbec9['status']=_0x3aa9fc(0x13b);}this['queue']=[];}}export default ImageTool;
|
|
1
|
+
const a0_0x5ee3a1=a0_0x536c;function a0_0x4107(){const _0x4ca309=['nteYEduXmG','BM93','zgLYBMfTzq','C2v0','ywDLBNrjza','BwvZC2fNzq','BwTKAxi','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','mti4ote1nhbOt0TouW','Dg9mB3DLCKnHC2u','CgfYC2vqyxjHBwv0zxjZ','Aw1Hz2uTz2vU','revgqvvmvf9nt0rfta','ChvZAa','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','y3vYCMvUDePVyG','Dw5SAw5R','Dg9ju09tDhjPBMC','igLTywDLCYbPBIbXDwv1zq','pIHBxhnCu10QpYK8xc8','AxnbyNnVBhv0zq','cGRIMQdVUi8GkIPxyxjUAw5NoIOQieLTywDLigLZihvZAw5NigeGDgvTCg9Yyxj5ifvstcaOzxHWAxjLCYbPBIb+msbOB3vYks4GrMfPBgvKihrVihnHDMuGDg8GzgLZAY4','C3vIC3rYAw5N','cGOQkLbYB21WDdOQkIa','mZqYmdG5m0zpC3PtBG','revgqvvmvf9tsvPf','x3bHCNnLwe1msw1Hz2u','C3rHBMrHCMq','ChjVBxb0','C2vZC2LVBKLK','yxjYyxLcDwzMzxi','lI4U','zxHLyW','x2DLBMvYyxrLsM9Iswq','nvrkDfDWsq','x2rVD25SB2fKsw1Hz2u','uvvfvuvFteLnsvq','x2nVBNzLCNruB1DLyLvYBa','mc4WlJaUma','Bg94AweTAw1Hz2vZ','rMfPBgvKihrVihnHDMuGAw1Hz2uGDg8GzgLZAYWGD2LSBcb1C2uGDgvTCg9Yyxj5ifvstdOG','rMfPBgvKihrVihnHDMuGAw1Hz2uGzxjYB3iGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','AM9PBG','DhjPBq','CgfYyw1LDgvYCW','z2v0','sw1Hz2vuB29SoIbbDxrVlxbHCNnPBMCGC3rYAw5NihbHCMfTzxrLCNm','C2L6zq','igLTywDLCYKUifbSzwfZzsb3ywL0igzVCIbJDxjYzw50igPVyNmGDg8Gy29TCgXLDguU','quKGu2vYDMLJzsbZzxqGzM9YieLTywDLvg9VBa','mta1otq4mezdr25Mvq','AM9Iswq','y2f0y2G','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq','CxvHBgL0Eq','zMfPBgvK','Dg1WzgLY','FJmWihnLy29Uzhm','y2XLyw51CfrPBwvYCW','vKfmsurFrK9stufuuW','z2v0rgvZy3jPChrPB24','sw1Hz2uGCMvZDwX0ihnHDMvKihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','Aw1Hz2vZ','ignOyxjHy3rLCNmP','lIbwywXPzcbZAxPLCZOG','y29TCgXLDgvKqxq','mtaYnhGXmdi0','tM8GAw1Hz2vZihnWzwnPzMLLza','uxvLDwuGChjVy2vZC2LUzYbLCNjVCJO','uhjVBxb0ihrVBYbSB25NicHTyxGG','y3vYCMvUDe1VzgvS','mJu2Edi1nG','C3LZDgvT','BgvUz3rO','nZbbEeXSALy','nZCWodG2q1PmzfnA','AgfZ','rg93BMXVywqGzMfPBgvKoIa','zgvIDwC','y2fUy2vSBgvK','zxH0BMfTzq','Aw1Hz2uTCMvZDwX0','y29UDMvYC2f0Aw9UCW','C3rHDhvZ','C2f2zwruB0rPC2S','yMfZzw5HBwu','DgLTzw91Da','CxvLDwvK','l2fWAs9PBwfNzxmV','Bg94Awfxzwjtzxj2zxi','mZrVthLfuwi','Aw1NlxjLC3vSDc0','zxjYB3i','BgfZDfvWzgf0zwq','x3nJAgvKDwXLq2XLyw51Ca','D2vICa','x2vZDgLTyxrLv2fPDfrPBwu','sw1Hz2uGC2f2zwqGDg86ia','AxnqCM9JzxnZAw5N','Aw5MBW','Aw1Hz2vvCMW','CMvZB2X2zwrpDxrWDxrqyxrO','qwnJzxnZigrLBMLLzdOGCgf0AcbVDxrZAwrLihbYB2PLy3qGzgLYzwn0B3j5','vKfmsurFu0LArvm','AxnbCNjHEq','tufyx1bst01qvf9mru5hveG','x3bHCNnLwe1mugfYyw1Z','y2XLyw51Ca','CgvYC2LZDefNzw50u3rHDgu','Aw1Hz2vZl2DLBMvYyxrLzc0','DgvTCerPCG','zNjVBq','yMf0y2G','CxvLDwu','mtaYnhGXnZKY','lIbwywXPzcbMB3jTyxrZoIa','x3bYB2nLC3nrDwv1zq','Ahr0CdOVlW','ywLtzxj2AwnL','zgvSzxrL','otaWmdbVqwrWy2W','nZaXmtmYEezQCfvV','z2vUzxjHDgvjBwfNzq','x3zHBgLKyxrLugfYyw1LDgvYCW','rMfPBgvKihrVihnHDMuGAw1Hz2uGCMvZDwX0ihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','B2jQzwn0','DxnHz2u','B3v0Chv0ugf0Aa','Aw1NlwvYCM9Ylq','Aw1Hz2vhzw5LCMf0zwq','C3rHCNrZv2L0Aa','ChjVAMvJDerPCG','sw1Hz2vuB29SoIboB3jTywXPEMLUzYbVyMPLy3qGCgfYyw1LDgvYCW','ndm4mJjxB0n6uLy','Bw9KzwW','Bg9Nz2vY','sw1Hz2uGChjVBxb0igLZihjLCxvPCMvK','z2v0qwDLBNq','vhLWzuvYCM9Y','sw1Hz2uGz2vUzxjHDgvKoIa','lNbUzW','DxjS','BwvZC2fNzxm','q2XLyw5Lzcb1Ccb0zw1WigLTywDLoIa','zNvSBa','ywDLBNrqB29S','Aw1Nlq','B3v0Chv0lxbHDgG','x3bHCNnLsLnptLbHCMfTCW'];a0_0x4107=function(){return _0x4ca309;};return a0_0x4107();}(function(_0x4137f3,_0x47c0da){const _0x2c2fd6=a0_0x536c,_0x1bca23=_0x4137f3();while(!![]){try{const _0x1008c0=-parseInt(_0x2c2fd6(0x12e))/0x1*(-parseInt(_0x2c2fd6(0x103))/0x2)+-parseInt(_0x2c2fd6(0xf4))/0x3+parseInt(_0x2c2fd6(0x122))/0x4*(-parseInt(_0x2c2fd6(0xcb))/0x5)+-parseInt(_0x2c2fd6(0x146))/0x6+parseInt(_0x2c2fd6(0xc1))/0x7+-parseInt(_0x2c2fd6(0xdb))/0x8+parseInt(_0x2c2fd6(0x121))/0x9*(parseInt(_0x2c2fd6(0xf3))/0xa);if(_0x1008c0===_0x47c0da)break;else _0x1bca23['push'](_0x1bca23['shift']());}catch(_0x36a3ac){_0x1bca23['push'](_0x1bca23['shift']());}}}(a0_0x4107,0x7ff66));function a0_0x536c(_0x4e61cf,_0x393d12){_0x4e61cf=_0x4e61cf-0xbf;const _0x4107aa=a0_0x4107();let _0x536c25=_0x4107aa[_0x4e61cf];if(a0_0x536c['pmCqxB']===undefined){var _0x36f98e=function(_0x56af01){const _0x3f3573='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26983c='',_0x31e59d='';for(let _0x3b7c92=0x0,_0xb1adf7,_0xb04f4f,_0xee6cf1=0x0;_0xb04f4f=_0x56af01['charAt'](_0xee6cf1++);~_0xb04f4f&&(_0xb1adf7=_0x3b7c92%0x4?_0xb1adf7*0x40+_0xb04f4f:_0xb04f4f,_0x3b7c92++%0x4)?_0x26983c+=String['fromCharCode'](0xff&_0xb1adf7>>(-0x2*_0x3b7c92&0x6)):0x0){_0xb04f4f=_0x3f3573['indexOf'](_0xb04f4f);}for(let _0x2194cc=0x0,_0x354aff=_0x26983c['length'];_0x2194cc<_0x354aff;_0x2194cc++){_0x31e59d+='%'+('00'+_0x26983c['charCodeAt'](_0x2194cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31e59d);};a0_0x536c['pzbbeZ']=_0x36f98e,a0_0x536c['RVokTn']={},a0_0x536c['pmCqxB']=!![];}const _0x3e2fa1=_0x4107aa[0x0],_0x2b0fc5=_0x4e61cf+_0x3e2fa1,_0xc1f862=a0_0x536c['RVokTn'][_0x2b0fc5];return!_0xc1f862?(_0x536c25=a0_0x536c['pzbbeZ'](_0x536c25),a0_0x536c['RVokTn'][_0x2b0fc5]=_0x536c25):_0x536c25=_0xc1f862,_0x536c25;}import a0_0x26983c from'path';import a0_0x31e59d from'os';import{promises as a0_0x3b7c92}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':'azure-openai-dalle3','DEFAULT_SIZE':a0_0x5ee3a1(0xeb),'DEFAULT_QUALITY':a0_0x5ee3a1(0xc4),'VALID_SIZES':[a0_0x5ee3a1(0xf0),a0_0x5ee3a1(0x13e),'1024x1024',a0_0x5ee3a1(0x11b),'1792x1024'],'VALID_FORMATS':['png','jpg','jpeg',a0_0x5ee3a1(0x108)],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};export class ImageTool extends BaseTool{constructor(_0xb1adf7={},_0xb04f4f=null){const _0x2956e1=a0_0x5ee3a1;super(_0xb1adf7,_0xb04f4f),this['id']=_0x2956e1(0x149),this['queue']=[],this['currentJob']=null,this['completedJobs']=new Map(),this[_0x2956e1(0x10b)]=![],this[_0x2956e1(0x11f)]=null,this['agentPool']=null,this[_0x2956e1(0x117)]=a0_0x26983c['join'](a0_0x31e59d[_0x2956e1(0xe1)](),_0x2956e1(0xd0)),this[_0x2956e1(0xe3)]=new Map();}['setAIService'](_0xee6cf1){const _0x12e409=a0_0x5ee3a1;this[_0x12e409(0x11f)]=_0xee6cf1,this[_0x12e409(0x130)]?.[_0x12e409(0x10c)](_0x12e409(0xda));}['setAgentPool'](_0x2194cc){const _0x4cb2b6=a0_0x5ee3a1;this['agentPool']=_0x2194cc,this[_0x4cb2b6(0x130)]?.[_0x4cb2b6(0x10c)]('AgentPool\x20set\x20for\x20ImageTool');}[a0_0x5ee3a1(0xe5)](){const _0x11ed8e=a0_0x5ee3a1;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['QUEUE_LIMIT']+_0x11ed8e(0x150);}[a0_0x5ee3a1(0x148)](_0x354aff){const _0x152070=a0_0x5ee3a1;if(typeof _0x354aff===_0x152070(0x126)&&_0x354aff!==null)return this[_0x152070(0x13d)](_0x354aff);if(typeof _0x354aff==='string'){const _0x4a8809=_0x354aff[_0x152070(0xd4)]();if(_0x4a8809[_0x152070(0x12b)]('{')||_0x4a8809['startsWith']('['))try{const _0x43cd56=JSON['parse'](_0x4a8809);return this['_parseJSONParams'](_0x43cd56);}catch(_0x44f49e){}return this[_0x152070(0x113)](_0x354aff);}throw new Error('Invalid\x20parameter\x20format');}['_parseJSONParams'](_0x4dc107){const _0x35e9fc=a0_0x5ee3a1;_0x4dc107[_0x35e9fc(0xd5)]&&(_0x4dc107=_0x4dc107['parameters']);if(_0x4dc107['batch']&&Array[_0x35e9fc(0x111)](_0x4dc107['batch']))return{'batch':!![],'images':_0x4dc107[_0x35e9fc(0x119)]['map'](_0x4f175a=>this['_parseImageParams'](_0x4f175a))};return{'batch':![],'images':[this['_parseImageParams'](_0x4dc107)]};}[a0_0x5ee3a1(0x113)](_0x54aeff){const _0x3f3d99=a0_0x5ee3a1,_0x6a91af={'batch':![],'images':[]},_0x4417aa=/<batch>([\s\S]*?)<\/batch>/i['exec'](_0x54aeff);if(_0x4417aa){_0x6a91af['batch']=!![];const _0x4fa162=_0x4417aa[0x1],_0x455ef2=/<image>([\s\S]*?)<\/image>/gi;let _0x54b43f;while((_0x54b43f=_0x455ef2[_0x3f3d99(0xc9)](_0x4fa162))!==null){_0x6a91af['images']['push'](this[_0x3f3d99(0xc3)](_0x54b43f[0x1]));}}else _0x6a91af[_0x3f3d99(0xe7)][_0x3f3d99(0x14b)](this[_0x3f3d99(0xc3)](_0x54aeff));if(_0x6a91af['images'][_0x3f3d99(0xf2)]===0x0)throw new Error('No\x20valid\x20image\x20parameters\x20found');return _0x6a91af;}['_parseImageParams'](_0x3790f6){const _0x2a10d0=a0_0x5ee3a1,_0x586f90=_0x3790f6[_0x2a10d0(0x128)]||_0x3790f6[_0x2a10d0(0x13c)]||null;return{'prompt':_0x3790f6[_0x2a10d0(0xc5)]||'','outputPath':_0x586f90,'saveToProject':_0x586f90!==null,'model':_0x3790f6[_0x2a10d0(0x12f)]||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0x3790f6[_0x2a10d0(0xd8)]||IMAGE_CONFIG[_0x2a10d0(0xc2)],'quality':_0x3790f6[_0x2a10d0(0xdf)]||IMAGE_CONFIG['DEFAULT_QUALITY']};}['_parseXMLImage'](_0x1b0853){const _0x5bf291=a0_0x5ee3a1,_0x4d618d=_0x166884=>{const _0x5f1696=a0_0x536c,_0x3189d3=new RegExp('<'+_0x166884+_0x5f1696(0x151)+_0x166884+'>','i'),_0x1f9d45=_0x3189d3['exec'](_0x1b0853);return _0x1f9d45?_0x1f9d45[0x1][_0x5f1696(0xd4)]():null;},_0x305691=_0x4d618d('output-path')||null;return{'prompt':_0x4d618d(_0x5bf291(0xc5))||'','outputPath':_0x305691,'saveToProject':_0x305691!==null,'model':_0x4d618d('model')||IMAGE_CONFIG[_0x5bf291(0x14a)],'size':_0x4d618d('size')||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x4d618d('quality')||IMAGE_CONFIG['DEFAULT_QUALITY']};}async['execute'](_0x203bab,_0x510e3b={}){const _0x377269=a0_0x5ee3a1;try{const {agentId:_0x3d6095,projectDir:_0x186826,directoryAccess:_0x46a83f,sessionId:_0x249d24}=_0x510e3b;if(typeof _0x203bab==='string')this['logger']?.[_0x377269(0x10c)](_0x377269(0xd7)),_0x203bab=this['parseParameters'](_0x203bab);else typeof _0x203bab===_0x377269(0x126)&&_0x203bab!==null&&!_0x203bab[_0x377269(0xe7)]&&(this[_0x377269(0x130)]?.['info'](_0x377269(0x12d)),_0x203bab=this[_0x377269(0x148)](_0x203bab));this[_0x377269(0x124)](_0x203bab);const _0x152181=[];for(const _0x5cdc3f of _0x203bab[_0x377269(0xe7)]){const _0x142ea9=this[_0x377269(0xca)](),_0x5117dd={'jobId':_0x142ea9,'agentId':_0x3d6095,'sessionId':_0x249d24,'prompt':_0x5cdc3f[_0x377269(0xc5)],'outputPath':_0x5cdc3f['outputPath'],'saveToProject':_0x5cdc3f['saveToProject'],'model':_0x5cdc3f['model'],'size':_0x5cdc3f[_0x377269(0xd8)],'quality':_0x5cdc3f[_0x377269(0xdf)],'projectDir':_0x186826||process['cwd'](),'directoryAccess':_0x46a83f,'status':_0x377269(0x100),'createdAt':new Date()[_0x377269(0x14f)]()};if(this[_0x377269(0x11a)][_0x377269(0xf2)]>=IMAGE_CONFIG[_0x377269(0xcd)])return{'success':![],'error':'Queue\x20limit\x20reached\x20('+IMAGE_CONFIG[_0x377269(0xcd)]+_0x377269(0xd9),'queueLength':this[_0x377269(0x11a)]['length']};this['queue']['push'](_0x5117dd),_0x152181[_0x377269(0x14b)](_0x142ea9),this['logger']?.[_0x377269(0x10c)](_0x377269(0x14c)+_0x142ea9,{'prompt':_0x5cdc3f[_0x377269(0xc5)]['substring'](0x0,0x32)+_0x377269(0xc8),'queuePosition':this[_0x377269(0x11a)][_0x377269(0xf2)]});}return!this[_0x377269(0x10b)]&&this[_0x377269(0x11d)]()[_0x377269(0xdd)](_0xfaea2f=>{const _0x58cfd1=_0x377269;this[_0x58cfd1(0x130)]?.['error'](_0x58cfd1(0xed),_0xfaea2f);}),{'success':!![],'jobIds':_0x152181,'queueLength':this['queue']['length'],'message':_0x203bab['batch']?_0x152181['length']+'\x20images\x20queued\x20for\x20generation':'Image\x20queued\x20for\x20generation','estimatedWaitTime':this[_0x377269(0x109)]()};}catch(_0x186db2){return this['logger']?.['error'](_0x377269(0x145),_0x186db2),{'success':![],'error':_0x186db2[_0x377269(0x143)]};}}['_validateParameters'](_0x13a3ec){const _0x58f3ed=a0_0x5ee3a1;if(!_0x13a3ec[_0x58f3ed(0xe7)]||_0x13a3ec['images']['length']===0x0)throw new Error(_0x58f3ed(0xec));for(const _0x45c9b6 of _0x13a3ec['images']){if(!_0x45c9b6[_0x58f3ed(0xc5)]||_0x45c9b6['prompt']['trim']()[_0x58f3ed(0xf2)]===0x0)throw new Error(_0x58f3ed(0x131));if(_0x45c9b6['prompt']['length']>IMAGE_CONFIG[_0x58f3ed(0x112)])throw new Error(_0x58f3ed(0xee)+IMAGE_CONFIG[_0x58f3ed(0x112)]+_0x58f3ed(0xe8));if(_0x45c9b6['size']&&!IMAGE_CONFIG[_0x58f3ed(0x110)]['includes'](_0x45c9b6[_0x58f3ed(0xd8)]))throw new Error('Invalid\x20size:\x20'+_0x45c9b6['size']+_0x58f3ed(0xe9)+IMAGE_CONFIG['VALID_SIZES'][_0x58f3ed(0xd3)](',\x20'));if(_0x45c9b6[_0x58f3ed(0x128)]){const _0x1ffde4=a0_0x26983c[_0x58f3ed(0xf9)](_0x45c9b6['outputPath'])[_0x58f3ed(0x147)]()['replace']('.','');if(_0x1ffde4&&!IMAGE_CONFIG['VALID_FORMATS']['includes'](_0x1ffde4))throw new Error('Invalid\x20format:\x20'+_0x1ffde4+_0x58f3ed(0x11c)+IMAGE_CONFIG[_0x58f3ed(0xe4)][_0x58f3ed(0xd3)](',\x20'));}}}async['_processQueue'](){const _0x4ad187=a0_0x5ee3a1;if(this[_0x4ad187(0x10b)])return;this[_0x4ad187(0x10b)]=!![];while(this[_0x4ad187(0x11a)]['length']>0x0){const _0x23f449=this[_0x4ad187(0x11a)]['shift']();this[_0x4ad187(0x14d)]=_0x23f449,this['logger']?.['info']('Processing\x20image\x20generation\x20job:\x20'+_0x23f449['jobId']);try{_0x23f449['status']='processing';const _0x4a3d98=await this['_generateImage'](_0x23f449);_0x23f449['status']='completed',_0x23f449['result']=_0x4a3d98,_0x23f449[_0x4ad187(0xea)]=new Date()['toISOString'](),this['completedJobs'][_0x4ad187(0x141)](_0x23f449['jobId'],_0x23f449);if(global['loxiaWebServer']&&_0x23f449[_0x4ad187(0xc6)]){let _0x56883a,_0x223642=![];if(_0x4a3d98[_0x4ad187(0xfd)]&&_0x4a3d98['resolvedOutputPath'])_0x56883a=this[_0x4ad187(0xce)](_0x4a3d98['resolvedOutputPath'],_0x23f449['sessionId']);else _0x4a3d98['temporaryUrl']&&(_0x56883a=_0x4a3d98['temporaryUrl'],_0x223642=!![]);global[_0x4ad187(0x102)]['broadcastToSession'](_0x23f449[_0x4ad187(0xc6)],{'type':_0x4ad187(0x12a),'agentId':_0x23f449[_0x4ad187(0x142)],'jobId':_0x23f449[_0x4ad187(0xdc)],'imageUrl':_0x56883a,'localPath':_0x4a3d98[_0x4ad187(0x10e)],'prompt':_0x23f449[_0x4ad187(0xc5)],'success':!![],'isTemporary':_0x223642,'savedToDisk':_0x4a3d98['savedToDisk'],'downloadError':_0x4a3d98['downloadError'],'timestamp':_0x23f449['completedAt']}),this['logger']?.['info']('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x23f449[_0x4ad187(0xdc)],'imageUrl':_0x56883a,'localPath':_0x4a3d98[_0x4ad187(0x10e)],'savedToDisk':_0x4a3d98['savedToDisk'],'isTemporary':_0x223642});if(this['agentPool']&&_0x23f449['agentId'])try{const _0x2f6c27=await this['agentPool'][_0x4ad187(0x132)](_0x23f449['agentId']);if(_0x2f6c27){let _0x390858=_0x4ad187(0x134)+_0x23f449[_0x4ad187(0xc5)];_0x223642&&(_0x390858+=_0x4ad187(0x153),_0x4a3d98['downloadError']&&(_0x390858+='\x0a**Error:**\x20'+_0x4a3d98['downloadError']));const _0x599835={'id':_0x4ad187(0x104)+_0x23f449['jobId'],'role':'assistant','content':_0x390858,'timestamp':_0x23f449['completedAt'],'imageUrl':_0x56883a,'type':_0x4ad187(0xfa),'toolId':'image-gen','status':'completed','isTemporary':_0x223642||![],'savedToDisk':_0x4a3d98['savedToDisk']!==![]};_0x2f6c27[_0x4ad187(0xfb)]['full'][_0x4ad187(0x137)]['push'](_0x599835),_0x2f6c27[_0x4ad187(0xfb)][_0x4ad187(0x139)]['lastUpdated']=_0x23f449['completedAt'],_0x2f6c27['currentModel']&&_0x2f6c27[_0x4ad187(0xfb)][_0x2f6c27['currentModel']]&&(_0x2f6c27['conversations'][_0x2f6c27['currentModel']]['messages'][_0x4ad187(0x14b)](_0x599835),_0x2f6c27[_0x4ad187(0xfb)][_0x2f6c27[_0x4ad187(0xef)]]['lastUpdated']=_0x23f449[_0x4ad187(0xea)]),_0x2f6c27['lastActivity']=_0x23f449[_0x4ad187(0xea)],await this['agentPool'][_0x4ad187(0x115)](_0x23f449[_0x4ad187(0x142)]),this['logger']?.['info'](_0x4ad187(0xe6),{'agentId':_0x23f449[_0x4ad187(0x142)],'jobId':_0x23f449['jobId'],'messageId':_0x599835['id']});}}catch(_0x388ae9){this['logger']?.[_0x4ad187(0x105)](_0x4ad187(0x125),{'error':_0x388ae9['message'],'agentId':_0x23f449[_0x4ad187(0x142)],'jobId':_0x23f449[_0x4ad187(0xdc)]});}}this[_0x4ad187(0x130)]?.[_0x4ad187(0x10c)]('Image\x20generation\x20completed:\x20'+_0x23f449['jobId'],{'outputPath':_0x4a3d98['resolvedOutputPath']});}catch(_0x1b3bc0){this['logger']?.['error']('Image\x20generation\x20failed:\x20'+_0x23f449[_0x4ad187(0xdc)],_0x1b3bc0),_0x23f449[_0x4ad187(0xfc)]='failed',_0x23f449['error']=_0x1b3bc0['message'],_0x23f449['completedAt']=new Date()['toISOString'](),this['completedJobs'][_0x4ad187(0x141)](_0x23f449['jobId'],_0x23f449);global[_0x4ad187(0x102)]&&_0x23f449[_0x4ad187(0xc6)]&&(global[_0x4ad187(0x102)]['broadcastToSession'](_0x23f449[_0x4ad187(0xc6)],{'type':_0x4ad187(0x12a),'jobId':_0x23f449['jobId'],'agentId':_0x23f449['agentId'],'prompt':_0x23f449['prompt'],'success':![],'error':_0x1b3bc0[_0x4ad187(0x143)],'timestamp':_0x23f449['completedAt']}),this[_0x4ad187(0x130)]?.['info']('Image\x20generation\x20error\x20broadcast\x20sent',{'jobId':_0x23f449['jobId'],'sessionId':_0x23f449['sessionId'],'error':_0x1b3bc0['message']}));if(this[_0x4ad187(0x13a)]&&_0x23f449[_0x4ad187(0x142)])try{const _0x241423=await this['agentPool']['getAgent'](_0x23f449['agentId']);if(_0x241423){const _0x1f40bf={'id':_0x4ad187(0x129)+_0x23f449[_0x4ad187(0xdc)],'role':_0x4ad187(0xf1),'content':'❌\x20Image\x20generation\x20failed:\x20'+_0x1b3bc0[_0x4ad187(0x143)]+_0x4ad187(0xc0)+_0x23f449['prompt'],'timestamp':_0x23f449['completedAt'],'type':'error','toolId':_0x4ad187(0x149),'status':_0x4ad187(0xe0),'jobId':_0x23f449[_0x4ad187(0xdc)]};_0x241423['conversations']['full'][_0x4ad187(0x137)]['push'](_0x1f40bf),_0x241423[_0x4ad187(0xfb)]['full'][_0x4ad187(0x106)]=_0x23f449[_0x4ad187(0xea)],_0x241423['currentModel']&&_0x241423[_0x4ad187(0xfb)][_0x241423[_0x4ad187(0xef)]]&&(_0x241423['conversations'][_0x241423[_0x4ad187(0xef)]]['messages'][_0x4ad187(0x14b)](_0x1f40bf),_0x241423[_0x4ad187(0xfb)][_0x241423[_0x4ad187(0xef)]]['lastUpdated']=_0x23f449[_0x4ad187(0xea)]),_0x241423['lastActivity']=_0x23f449[_0x4ad187(0xea)],await this['agentPool'][_0x4ad187(0x115)](_0x23f449['agentId']),this['logger']?.['info']('Image\x20error\x20saved\x20to\x20conversation\x20history',{'agentId':_0x23f449['agentId'],'jobId':_0x23f449['jobId'],'error':_0x1b3bc0['message']});}}catch(_0xa3b4d1){this[_0x4ad187(0x130)]?.[_0x4ad187(0x105)](_0x4ad187(0xd2),{'error':_0xa3b4d1['message'],'agentId':_0x23f449['agentId'],'jobId':_0x23f449[_0x4ad187(0xdc)]});}}}this['isProcessing']=![],this[_0x4ad187(0x14d)]=null;}async['_generateImage'](_0x550c0b){const _0xa5d3a=a0_0x5ee3a1;if(!this['aiService'])throw new Error('AI\x20service\x20not\x20available.\x20Image\x20generation\x20requires\x20AI\x20service.');const _0x4990ba=await this['_resolveOutputPath'](_0x550c0b),_0x553512=a0_0x26983c[_0xa5d3a(0x140)](_0x4990ba);await a0_0x3b7c92['mkdir'](_0x553512,{'recursive':!![]}),this[_0xa5d3a(0x130)]?.[_0xa5d3a(0x10c)]('Generating\x20image\x20with\x20'+_0x550c0b['model'],{'size':_0x550c0b[_0xa5d3a(0xd8)],'quality':_0x550c0b['quality']});const _0x50a98e={'model':_0x550c0b[_0xa5d3a(0x12f)],'size':_0x550c0b['size'],'quality':_0x550c0b[_0xa5d3a(0xdf)],'responseFormat':'url','sessionId':_0x550c0b[_0xa5d3a(0xc6)]},_0x2afd16=await this[_0xa5d3a(0x11f)][_0xa5d3a(0x123)](_0x550c0b['prompt'],_0x50a98e),_0x2c317d=_0x2afd16?.[_0xa5d3a(0x136)]||_0x2afd16?.[_0xa5d3a(0x10d)];if(!_0x2c317d)throw new Error('No image URL received from AI service');this[_0xa5d3a(0x130)]?.['info']('Image\x20URL\x20received:\x20'+_0x2c317d[_0xa5d3a(0xbf)](0x0,0x32)+'...');let _0x357cf1=![],_0x85b43e=null;try{await this[_0xa5d3a(0xcc)](_0x2c317d,_0x4990ba),_0x357cf1=!![],!_0x550c0b['saveToProject']&&this['_scheduleCleanup'](_0x4990ba,_0x550c0b['jobId']);}catch(_0x1b7973){_0x85b43e=_0x1b7973[_0xa5d3a(0x143)],this[_0xa5d3a(0x130)]?.['warn'](_0xa5d3a(0xd1)+_0x1b7973['message']);}return{'jobId':_0x550c0b[_0xa5d3a(0xdc)],'prompt':_0x550c0b['prompt'],'outputPath':_0x550c0b['outputPath'],'resolvedOutputPath':_0x357cf1?_0x4990ba:null,'temporaryUrl':_0x2c317d,'savedToDisk':_0x357cf1,'downloadError':_0x85b43e,'success':!![],'model':_0x2afd16[_0xa5d3a(0x12f)]||_0x550c0b['model'],'size':_0x550c0b[_0xa5d3a(0xd8)],'usage':_0x2afd16[_0xa5d3a(0x127)]};}async['_resolveOutputPath'](_0x4ddf3b){const _0x575000=a0_0x5ee3a1;if(_0x4ddf3b['saveToProject']){const _0x16b6dc=_0x4ddf3b[_0x575000(0x12c)]||process['cwd']();let _0xaaf2d4=_0x4ddf3b[_0x575000(0x128)];if(!_0xaaf2d4){const _0x452d6a=Date['now']();_0xaaf2d4=_0x575000(0x116)+_0x452d6a+_0x575000(0x135);}const _0x5162fb=a0_0x26983c[_0x575000(0x152)](_0xaaf2d4)?a0_0x26983c['normalize'](_0xaaf2d4):a0_0x26983c['normalize'](a0_0x26983c[_0x575000(0xd3)](_0x16b6dc,_0xaaf2d4));if(!_0x5162fb['startsWith'](a0_0x26983c['normalize'](_0x16b6dc)))throw new Error(_0x575000(0xde));if(_0x4ddf3b['directoryAccess']){const _0x14fb67=a0_0x26983c['relative'](_0x16b6dc,_0x5162fb);if(_0x14fb67[_0x575000(0x12b)]('..'))throw new Error(_0x575000(0x10f));}return _0x5162fb;}else{await a0_0x3b7c92[_0x575000(0x144)](this[_0x575000(0x117)],{'recursive':!![]});let _0x29bfcc=_0x4ddf3b['outputPath']?a0_0x26983c['basename'](_0x4ddf3b['outputPath']):'generated-'+_0x4ddf3b['jobId']+_0x575000(0x135);return a0_0x26983c['join'](this[_0x575000(0x117)],_0x29bfcc);}}async[a0_0x5ee3a1(0xcc)](_0x11ff86,_0x5160ea){const _0x4f4d9a=a0_0x5ee3a1;try{const _0x508203=await fetch(_0x11ff86,{'signal':AbortSignal[_0x4f4d9a(0xff)](IMAGE_CONFIG['DOWNLOAD_TIMEOUT'])});if(!_0x508203['ok'])throw new Error('Failed\x20to\x20download\x20image:\x20HTTP\x20'+_0x508203['status']);const _0x40e413=Buffer[_0x4f4d9a(0x118)](await _0x508203[_0x4f4d9a(0xc7)]());await a0_0x3b7c92['writeFile'](_0x5160ea,_0x40e413),this[_0x4f4d9a(0x130)]?.['info'](_0x4f4d9a(0x10a)+_0x5160ea);}catch(_0x2a304d){if(_0x2a304d['name']==='TimeoutError')throw new Error('Image\x20download\x20timeout');else{if(_0x2a304d['name']===_0x4f4d9a(0x133))throw new Error('Network\x20error:\x20'+_0x2a304d['message']);else throw new Error(_0x4f4d9a(0xf6)+_0x2a304d[_0x4f4d9a(0x143)]);}}}[a0_0x5ee3a1(0x107)](_0x3e8be8,_0x4874a6){const _0x2ab116=a0_0x5ee3a1,_0x3bb41a=setTimeout(async()=>{const _0x20741c=a0_0x536c;try{await a0_0x3b7c92[_0x20741c(0x14e)](_0x3e8be8),this[_0x20741c(0x130)]?.[_0x20741c(0xf7)](_0x20741c(0x138)+_0x3e8be8),this['cleanupTimers'][_0x20741c(0x120)](_0x4874a6);}catch(_0xb529a1){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this[_0x2ab116(0xe3)][_0x2ab116(0x141)](_0x4874a6,_0x3bb41a);}['_convertToWebUrl'](_0x3eeb99,_0x237cf5){const _0x8b0a5=a0_0x5ee3a1,_0x33852f=a0_0x26983c[_0x8b0a5(0xfe)](_0x3eeb99),_0x3556ad=global[_0x8b0a5(0x102)]?.['port']||0x1f90;let _0x14f067=global['loxiaWebServer']?.['host']||'localhost';return _0x14f067===_0x8b0a5(0xcf)&&(_0x14f067='localhost'),_0x8b0a5(0x11e)+_0x14f067+':'+_0x3556ad+_0x8b0a5(0x101)+_0x237cf5+'/'+_0x33852f;}[a0_0x5ee3a1(0x109)](){const _0x49c9ee=a0_0x5ee3a1,_0xdd7bbf=0x1e,_0x708404=this['queue']['length'];if(_0x708404===0x0)return _0x49c9ee(0xe2);const _0x2a4b9e=_0x708404*_0xdd7bbf,_0x360666=Math['floor'](_0x2a4b9e/0x3c),_0x1a5e9c=_0x2a4b9e%0x3c;if(_0x360666>0x0)return'~'+_0x360666+'m\x20'+_0x1a5e9c+'s';return'~'+_0x1a5e9c+'s';}[a0_0x5ee3a1(0xca)](){const _0x5b29bd=a0_0x5ee3a1;return _0x5b29bd(0x13b)+Date[_0x5b29bd(0x13f)]()+'-'+Math['random']()['toString'](0x24)['substring'](0x2,0x9);}['getJobStatus'](_0x4bc717){const _0x3c9423=a0_0x5ee3a1;if(this['completedJobs'][_0x3c9423(0xf5)](_0x4bc717))return this['completedJobs'][_0x3c9423(0xd6)](_0x4bc717);if(this['currentJob']&&this['currentJob'][_0x3c9423(0xdc)]===_0x4bc717)return this[_0x3c9423(0x14d)];const _0x1d8fca=this[_0x3c9423(0x11a)]['find'](_0x7201d7=>_0x7201d7[_0x3c9423(0xdc)]===_0x4bc717);if(_0x1d8fca)return _0x1d8fca;return{'jobId':_0x4bc717,'status':'not_found'};}async[a0_0x5ee3a1(0x114)](){const _0x698f81=a0_0x5ee3a1;this['logger']?.['info']('Shutting\x20down\x20ImageTool');for(const _0x3394ea of this['cleanupTimers']['values']()){clearTimeout(_0x3394ea);}this['cleanupTimers']['clear']();for(const _0x1cc284 of this['queue']){_0x1cc284['status']=_0x698f81(0xf8);}this[_0x698f81(0x11a)]=[];}}export default ImageTool;
|