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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-BVF_10a5.css → index-BmKxmRe3.css} +1 -1
  119. package/web-ui/build/static/{index-DE5VFS1q.js → index-BzXbDs8z.js} +63 -63
@@ -1 +1 @@
1
- const a0_0x2f6a18=a0_0x7ce1;(function(_0x115ec2,_0x36530f){const _0x16196a=a0_0x7ce1,_0x2f4855=_0x115ec2();while(!![]){try{const _0x17a7a7=parseInt(_0x16196a(0x1ad))/0x1*(parseInt(_0x16196a(0x1f6))/0x2)+-parseInt(_0x16196a(0x1b6))/0x3*(parseInt(_0x16196a(0x214))/0x4)+-parseInt(_0x16196a(0x240))/0x5+parseInt(_0x16196a(0x1cf))/0x6*(-parseInt(_0x16196a(0x236))/0x7)+-parseInt(_0x16196a(0x1dc))/0x8*(parseInt(_0x16196a(0x1cb))/0x9)+parseInt(_0x16196a(0x1bc))/0xa*(-parseInt(_0x16196a(0x1ae))/0xb)+parseInt(_0x16196a(0x211))/0xc*(parseInt(_0x16196a(0x220))/0xd);if(_0x17a7a7===_0x36530f)break;else _0x2f4855['push'](_0x2f4855['shift']());}catch(_0x332d82){_0x2f4855['push'](_0x2f4855['shift']());}}}(a0_0x20b4,0xd1ce5));function a0_0x20b4(){const _0x42fa3e=['z2v0u3vWCg9YDgvKqwn0Aw9UCW','Cgf0Aa','BM93','Bw9Kzq','BwvZC2fNzq','ugfYC2vKiezPBgvtExn0zw0GDg9VBcbWyxjHBwv0zxjZ','CMvZB2X2zvbHDgG','C3vIC3rYAw5N','v3jPDguGywnJzxnZigrLBMLLzdOG','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25Zig11C3qGyMuGyw4GyxjYyxKUifjLy2vPDMvKihr5Cgu6ia','y3jLyxrLlwrPCG','Bwf4rMLSzvnPEMu','yxbWzw5Kvg9gAwXL','y3jLyxrLrgLYCW','rMLSzsb0B28GBgfYz2u6ia','zxHLy3v0zq','y3jLyxrLlwrPCNm','rgvSzxrLigfJy2vZCYbKzw5Pzwq6ia','mty2nZrWC3fjuKm','ywDLBNrjza','igfJy2vZCYbKzw5Pzwq6ia','CgfYC2vqyxjHBwv0zxjZ','BMfTzq','BgLZDa','igj5DgvZicHTyxGG','DMfSAwrHDgvszwfKqwnJzxnZ','AxneAxjLy3rVCNK','ywn0Aw9UCW','nJi2odu2nujwuMf6AW','y2HLy2TfEgLZDhm','lMrLBgv0zwqTyMfJA3vWlq','yNL0zuXLBMD0Aa','y3jLyxrLrgLYzwn0B3j5','rMfPBgvKihrVignVChKG','Dg9mB3DLCKnHC2u','mJG5s1nxvuPP','mZn6wLnOCLa','rgvSzxrLzca','rMLSzvn5C3rLBsb0B29SihbHCNnPBMCGCgfYyw1LDgvYCW','CMvHC29U','rMfPBgvKihrVihjLywqGzMLSzsa','BgLZDerPCMvJDg9YEq','zxH0CMfJDfrHz3nxAxrOqxr0CMLIDxrLCW','qwn0Aw9Uia','mtiXndqZBM9Rzxvw','Bwf0y2HbBgW','igj5DgvZihrVia','zxH0BMfTzq','AxnbCNjHEq','C3rHDhm','ndKYmti3mg5qC2jlyq','u291CMnLihjLywqGywnJzxnZigrLBMLLzdOG','rMfPBgvKihrVigrLBgv0zsbMAwXLia','D3jPDgvgAwXL','tufyx0zjtevFu0LArq','B3v0Chv0lxbHDgG','ihrVia','C3rYAw5N','rMfPBgvKihrVigDLDcbZDgf0CYbMB3iG','z2v0rMLSzvn0yxrZ','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','DhLWzq','C2L6zq','q29UDgvUDcb0B28GBgfYz2u6ia','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','oxb2ww1YEa','tw92zwqG','zw50CMLLCW','rMLSzvn5C3rLBsberujvrZOGvxnPBMCGzMfSBgjHy2SGD29YA2LUzYbKAxjLy3rVCNK6','mJCWANP0vNLy','y29UDgvUDa','zgLYzwn0B3j5','ywrKvg9iAxn0B3j5','DMfSAwrHDgvqyxrOqwnJzxnZ','Bg9Nz2vY','Bg9N','Dw5SAw5R','ChvZAa','CM91BMq','sw52ywXPzcbWyxjHBwv0zxjZoIbWyxjHBxmGBxvZDcbIzsbHBIbVyMPLy3q','CMvHza','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25ZigLZihjLCxvPCMvKlIbszwnLAxzLzcbWyxjHBxm6ia','mtm1ntm5otjZrxLbEKy','zw5JB2rPBMC','y3jLyxrLuMvSyxrPDMvqyxrO','AxnbBgXVD2vKrMLSzuv4DgvUC2LVBG','rMfPBgvKihrVigfWCgvUzcb0BYbMAwXLia','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','uMvHzcbHy2nLC3mGzgvUAwvKoIa','zgLYBMfTzq','igL0zw1ZigLUia','BxrPBwu','AxnbC3LUyW','B3bLCMf0Aw9UsgLZDg9YEq','zgvZDfbHDgG','oIbMAwXLihr5CguGBM90igfSBg93zwq6ia','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','C291CMnLlxbHDgG','BwfW','uMvHzcbHy2nLC3mGzgvUAwvKigzVCIbZB3vYy2u6ia','BwTKAxi','DxrMoa','zMLSzvbHDgG','yxbWzw5K','D3jPDgu','B3v0Chv0ugf0Aa','y29WEuzPBgu','CMvHzezPBgu','ntG3ngrJt0rbuG','oIbZB3vYy2uTCgf0AcbPCYbYzxf1AxjLzcbMB3iG','DgLTzw91Da','Dg9ju09tDhjPBMC','ywXSB3DLza','C291CMnLugf0Aa','y3DK','C2XPy2u','z2v0v29YA2LUz0rPCMvJDg9YEq','zMLSzxn5CW','AxngAwXL','zxHPC3rZ','AM9PBG','yM9VBgvHBG','z2v0rgvZy3jPChrPB24','ywXSB3DLzerPCMvJDg9YAwvZ','CMvXDwLYzxnqCM9Qzwn0','rMLSzsb3B3vSzcbIzwnVBwuGDg9VigXHCMDLoIa','qxbWzw5KzwqG','z2v0ugfYyw1LDgvYu2nOzw1H','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','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','zMLSzs1WyxrO','zMLSzq','lMnTza','CMvUyw1L','igv4Axn0CYbHCYa','mJG2ogHVC29isa','AxntEw1IB2XPy0XPBMS','yMXVy2TLzev4DgvUC2LVBNm','neHkChj0zG','D29YA2LUz0rPCMvJDg9YEq','lMv4zq','Bw92zq','C3rHDa','CMf3q29UDgvUDa','CgfYC2vbDhrYAwj1DgvZ','yxbWzw5KrMLSzq','zgvSzxrL','rMfPBgvKihrVihDYAxrLigzPBguG','C3rYAw5NAwz5','u291CMnLigzPBguGDg9VigXHCMDLoIa','mJq5mJyYs0vizhni','DMfSAwrHDgvxCML0zufJy2vZCW','BgvUz3rO','y29WEq'];a0_0x20b4=function(){return _0x42fa3e;};return a0_0x20b4();}import{BaseTool}from'./baseTool.js';function a0_0x7ce1(_0x3655d5,_0x5a18c7){_0x3655d5=_0x3655d5-0x1a7;const _0x20b4d6=a0_0x20b4();let _0x7ce15a=_0x20b4d6[_0x3655d5];if(a0_0x7ce1['qEeUjG']===undefined){var _0x30f2d3=function(_0x247483){const _0x35acd7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x232f1f='',_0x1b5a86='';for(let _0x4fab84=0x0,_0x2eeb5d,_0x3cc4dd,_0x360436=0x0;_0x3cc4dd=_0x247483['charAt'](_0x360436++);~_0x3cc4dd&&(_0x2eeb5d=_0x4fab84%0x4?_0x2eeb5d*0x40+_0x3cc4dd:_0x3cc4dd,_0x4fab84++%0x4)?_0x232f1f+=String['fromCharCode'](0xff&_0x2eeb5d>>(-0x2*_0x4fab84&0x6)):0x0){_0x3cc4dd=_0x35acd7['indexOf'](_0x3cc4dd);}for(let _0x220379=0x0,_0x3a8c47=_0x232f1f['length'];_0x220379<_0x3a8c47;_0x220379++){_0x1b5a86+='%'+('00'+_0x232f1f['charCodeAt'](_0x220379)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b5a86);};a0_0x7ce1['FHxfEl']=_0x30f2d3,a0_0x7ce1['WvKeod']={},a0_0x7ce1['qEeUjG']=!![];}const _0x48d6f5=_0x20b4d6[0x0],_0x29f8b4=_0x3655d5+_0x48d6f5,_0x3696bd=a0_0x7ce1['WvKeod'][_0x29f8b4];return!_0x3696bd?(_0x7ce15a=a0_0x7ce1['FHxfEl'](_0x7ce15a),a0_0x7ce1['WvKeod'][_0x29f8b4]=_0x7ce15a):_0x7ce15a=_0x3696bd,_0x7ce15a;}import a0_0x232f1f from'../utilities/tagParser.js';import a0_0x1b5a86 from'../utilities/directoryAccessManager.js';import a0_0x4fab84 from'fs/promises';import a0_0x2eeb5d from'path';import a0_0x3cc4dd from'crypto';import{TOOL_STATUS,FILE_EXTENSIONS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class FileSystemTool extends BaseTool{constructor(_0x360436={},_0x220379=null){const _0x7b21be=a0_0x7ce1;super(_0x360436,_0x220379),this[_0x7b21be(0x206)]=!![],this[_0x7b21be(0x1e6)]=![],this[_0x7b21be(0x1f8)]=_0x360436[_0x7b21be(0x1f8)]||0x7530,this['maxConcurrentOperations']=_0x360436[_0x7b21be(0x1ca)]||0x5,this['maxFileSize']=_0x360436[_0x7b21be(0x22f)]||SYSTEM_DEFAULTS[_0x7b21be(0x1c0)],this['allowedExtensions']=_0x360436['allowedExtensions']||null,this[_0x7b21be(0x213)]=_0x360436[_0x7b21be(0x213)]||[_0x7b21be(0x216),'.bat',_0x7b21be(0x20e),'.scr','.com'],this[_0x7b21be(0x205)]=_0x360436[_0x7b21be(0x205)]||null,this[_0x7b21be(0x1e7)]=[],this['directoryAccessManager']=new a0_0x1b5a86(_0x360436,_0x220379);}[a0_0x2f6a18(0x204)](){const _0x3ef1f7=a0_0x2f6a18;return _0x3ef1f7(0x20a)+Math[_0x3ef1f7(0x1d8)](this[_0x3ef1f7(0x22f)]/0x400/0x400)+'MB)\x0a-\x20Dangerous\x20file\x20types\x20blocked\x0a-\x20Path\x20traversal\x20protection\x0a-\x20Backup\x20created\x20for\x20destructive\x20operations\x0a\x0aENCODING\x20SUPPORT:\x0a-\x20utf8\x20(default)\x0a-\x20ascii\x0a-\x20base64\x0a-\x20binary\x0a-\x20hex\x0a\x20\x20\x20\x20';}[a0_0x2f6a18(0x239)](_0x3a8c47){const _0x675309=a0_0x2f6a18;try{const _0x4b7a64={},_0x287b33=[];this['logger']?.['debug'](_0x675309(0x1b0),{'contentLength':_0x3a8c47[_0x675309(0x222)],'contentPreview':_0x3a8c47[_0x675309(0x22b)](0x0,0xc8)});const _0x4d4073=['read','delete',_0x675309(0x223),_0x675309(0x217),'create-dir','list',_0x675309(0x201),'stats','append'];for(const _0x37b8a9 of _0x4d4073){const _0x24ce87=a0_0x232f1f[_0x675309(0x1b4)](_0x3a8c47,_0x37b8a9);for(const _0x1a457f of _0x24ce87){const _0xc23f2c={'type':_0x37b8a9,..._0x1a457f['attributes']};_0xc23f2c[_0x675309(0x20c)]&&(_0xc23f2c['filePath']=_0xc23f2c['file-path'],delete _0xc23f2c['file-path']),_0xc23f2c[_0x675309(0x1c1)]&&(_0xc23f2c[_0x675309(0x1f3)]=_0xc23f2c['output-path'],delete _0xc23f2c['output-path']),_0xc23f2c[_0x675309(0x1eb)]&&(_0xc23f2c[_0x675309(0x1fb)]=_0xc23f2c['source-path'],delete _0xc23f2c['source-path']),_0xc23f2c['dest-path']&&(_0xc23f2c['destPath']=_0xc23f2c['dest-path'],delete _0xc23f2c['dest-path']),_0xc23f2c['create-dirs']&&(_0xc23f2c['createDirs']=_0xc23f2c[_0x675309(0x234)]==='true',delete _0xc23f2c['create-dirs']),_0x287b33['push'](_0xc23f2c);}}const _0x4c7b03=_0x3a8c47[_0x675309(0x1b7)](/<write\s+([^>]*)>(.*?)<\/write>/gs);for(const _0x4a94fc of _0x4c7b03){const _0x492ad3=new a0_0x232f1f(),_0x441c95=_0x492ad3[_0x675309(0x21a)](_0x4a94fc[0x1]),_0x57426e=_0x4a94fc[0x2]['trim'](),_0x22447a={'type':_0x675309(0x1f2),'content':_0x57426e,..._0x441c95};_0x22447a[_0x675309(0x1c1)]&&(_0x22447a['outputPath']=_0x22447a['output-path'],delete _0x22447a[_0x675309(0x1c1)]),_0x22447a['create-dirs']&&(_0x22447a[_0x675309(0x231)]=_0x22447a[_0x675309(0x234)]==='true',delete _0x22447a['create-dirs']),_0x287b33[_0x675309(0x1d7)](_0x22447a);}const _0x432f41=_0x3a8c47[_0x675309(0x1b7)](/<append\s+([^>]*)>(.*?)<\/append>/gs);for(const _0x399b39 of _0x432f41){const _0x459901=new a0_0x232f1f(),_0x4623ea=_0x459901['parseAttributes'](_0x399b39[0x1]),_0x542205=_0x399b39[0x2]['trim'](),_0xff69df={'type':'append','content':_0x542205,..._0x4623ea};_0xff69df[_0x675309(0x20c)]&&(_0xff69df[_0x675309(0x1f0)]=_0xff69df['file-path'],delete _0xff69df['file-path']),_0x287b33['push'](_0xff69df);}return _0x4b7a64['actions']=_0x287b33,_0x4b7a64[_0x675309(0x219)]=_0x3a8c47['trim'](),this[_0x675309(0x1d4)]?.['debug'](_0x675309(0x229),{'totalActions':_0x287b33[_0x675309(0x222)],'actionTypes':_0x287b33[_0x675309(0x1ec)](_0xb7d33b=>_0xb7d33b[_0x675309(0x1c7)]),'actions':_0x287b33[_0x675309(0x1ec)](_0x133acb=>({'type':_0x133acb['type'],'filePath':_0x133acb[_0x675309(0x1f0)],'outputPath':_0x133acb['outputPath'],'hasContent':!!_0x133acb['content']}))}),_0x4b7a64;}catch(_0x5c7df9){throw new Error('Failed\x20to\x20parse\x20filesystem\x20parameters:\x20'+_0x5c7df9['message']);}}[a0_0x2f6a18(0x1c6)](){const _0x17065b=a0_0x2f6a18;return[_0x17065b(0x23f)];}['customValidateParameters'](_0x1e6bf5){const _0x3cb82d=a0_0x2f6a18,_0xf7a1bb=[];if(!_0x1e6bf5[_0x3cb82d(0x23f)]||!Array['isArray'](_0x1e6bf5['actions'])||_0x1e6bf5[_0x3cb82d(0x23f)]['length']===0x0)_0xf7a1bb['push']('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x2e675c,_0x5eee49]of _0x1e6bf5[_0x3cb82d(0x23f)][_0x3cb82d(0x1cd)]()){if(!_0x5eee49['type']){_0xf7a1bb['push']('Action\x20'+(_0x2e675c+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x5eee49['type']){case _0x3cb82d(0x1da):case _0x3cb82d(0x21c):case _0x3cb82d(0x201):case _0x3cb82d(0x1bb):!_0x5eee49[_0x3cb82d(0x1f0)]&&_0xf7a1bb['push'](_0x3cb82d(0x1b5)+(_0x2e675c+0x1)+':\x20file-path\x20is\x20required\x20for\x20'+_0x5eee49[_0x3cb82d(0x1c7)]);break;case'write':!_0x5eee49['outputPath']&&_0xf7a1bb['push'](_0x3cb82d(0x1b5)+(_0x2e675c+0x1)+':\x20output-path\x20is\x20required\x20for\x20write');!_0x5eee49[_0x3cb82d(0x1d0)]&&_0x5eee49['content']!==''&&_0xf7a1bb['push'](_0x3cb82d(0x1b5)+(_0x2e675c+0x1)+':\x20content\x20is\x20required\x20for\x20write');break;case'append':!_0x5eee49['filePath']&&_0xf7a1bb[_0x3cb82d(0x1d7)]('Action\x20'+(_0x2e675c+0x1)+':\x20file-path\x20is\x20required\x20for\x20append');!_0x5eee49[_0x3cb82d(0x1d0)]&&_0x5eee49['content']!==''&&_0xf7a1bb['push']('Action\x20'+(_0x2e675c+0x1)+':\x20content\x20is\x20required\x20for\x20append');break;case'copy':case'move':!_0x5eee49[_0x3cb82d(0x1fb)]&&_0xf7a1bb['push'](_0x3cb82d(0x1b5)+(_0x2e675c+0x1)+_0x3cb82d(0x1f7)+_0x5eee49['type']);!_0x5eee49['destPath']&&_0xf7a1bb['push'](_0x3cb82d(0x1b5)+(_0x2e675c+0x1)+':\x20dest-path\x20is\x20required\x20for\x20'+_0x5eee49['type']);break;case _0x3cb82d(0x22e):case'list':!_0x5eee49['directory']&&_0xf7a1bb[_0x3cb82d(0x1d7)](_0x3cb82d(0x1b5)+(_0x2e675c+0x1)+':\x20directory\x20is\x20required\x20for\x20'+_0x5eee49[_0x3cb82d(0x1c7)]);break;default:_0xf7a1bb['push']('Action\x20'+(_0x2e675c+0x1)+_0x3cb82d(0x1e1)+_0x5eee49[_0x3cb82d(0x1c7)]);}_0x5eee49[_0x3cb82d(0x1f0)]&&!this['isAllowedFileExtension'](_0x5eee49['filePath'])&&_0xf7a1bb[_0x3cb82d(0x1d7)]('Action\x20'+(_0x2e675c+0x1)+':\x20file\x20type\x20not\x20allowed:\x20'+a0_0x2eeb5d[_0x3cb82d(0x1b9)](_0x5eee49[_0x3cb82d(0x1f0)])),_0x5eee49[_0x3cb82d(0x1f3)]&&!this[_0x3cb82d(0x1df)](_0x5eee49[_0x3cb82d(0x1f3)])&&_0xf7a1bb['push']('Action\x20'+(_0x2e675c+0x1)+_0x3cb82d(0x1e9)+a0_0x2eeb5d['extname'](_0x5eee49['outputPath']));}return{'valid':_0xf7a1bb['length']===0x0,'errors':_0xf7a1bb};}async[a0_0x2f6a18(0x233)](_0x5762ee,_0x44fa3a){const _0xe16e4e=a0_0x2f6a18;if(!_0x5762ee||typeof _0x5762ee!=='object')throw new Error(_0xe16e4e(0x1d9));const {actions:_0x570ae1}=_0x5762ee;if(!_0x570ae1)throw new Error(_0xe16e4e(0x1db)+JSON['stringify'](Object['keys'](_0x5762ee)));if(!Array[_0xe16e4e(0x1ba)](_0x570ae1))throw new Error(_0xe16e4e(0x22d)+typeof _0x570ae1);if(_0x570ae1[_0xe16e4e(0x222)]===0x0)throw new Error('Invalid\x20parameters:\x20actions\x20array\x20is\x20empty');const {projectDir:_0x30871b,agentId:_0x44239a,directoryAccess:_0x1e4070}=_0x44fa3a,_0x53ba25=_0x1e4070||this[_0xe16e4e(0x20b)][_0xe16e4e(0x1ea)]({'workingDirectory':_0x30871b||process['cwd'](),'writeEnabledDirectories':[_0x30871b||process['cwd']()],'restrictToProject':!![]});_0x1e4070&&_0x1e4070[_0xe16e4e(0x215)]?(console['log']('FileSystem\x20DEBUG:\x20Using\x20agent\x20configured\x20working\x20directory:',_0x1e4070['workingDirectory']),console[_0xe16e4e(0x1d5)]('FileSystem\x20DEBUG:\x20Full\x20directoryAccess\x20object:',JSON[_0xe16e4e(0x21e)](_0x1e4070,null,0x2))):(console[_0xe16e4e(0x1d5)](_0xe16e4e(0x1ce),_0x30871b||process[_0xe16e4e(0x1fc)]()),console[_0xe16e4e(0x1d5)]('FileSystem\x20DEBUG:\x20directoryAccess\x20is:',_0x1e4070),console['log']('FileSystem\x20DEBUG:\x20projectDir\x20is:',_0x30871b));const _0xaae333=[];for(const _0x28129a of _0x570ae1){try{let _0x2005fb;switch(_0x28129a['type']){case _0xe16e4e(0x1da):_0x2005fb=await this[_0xe16e4e(0x1f5)](_0x28129a[_0xe16e4e(0x1f0)],_0x53ba25,_0x28129a[_0xe16e4e(0x1dd)]);break;case'write':_0x2005fb=await this['writeFile'](_0x28129a[_0xe16e4e(0x1f3)],_0x28129a['content'],_0x53ba25,{'encoding':_0x28129a[_0xe16e4e(0x1dd)],'createDirs':_0x28129a[_0xe16e4e(0x231)]});break;case'append':_0x2005fb=await this[_0xe16e4e(0x230)](_0x28129a['filePath'],_0x28129a[_0xe16e4e(0x1d0)],_0x53ba25,_0x28129a['encoding']);break;case'delete':_0x2005fb=await this['deleteFile'](_0x28129a[_0xe16e4e(0x1f0)],_0x53ba25);break;case'copy':_0x2005fb=await this['copyFile'](_0x28129a[_0xe16e4e(0x1fb)],_0x28129a[_0xe16e4e(0x1e8)],_0x53ba25);break;case'move':_0x2005fb=await this['moveFile'](_0x28129a[_0xe16e4e(0x1fb)],_0x28129a['destPath'],_0x53ba25);break;case'create-dir':_0x2005fb=await this[_0xe16e4e(0x1aa)](_0x28129a['directory'],_0x53ba25);break;case'list':_0x2005fb=await this[_0xe16e4e(0x1b3)](_0x28129a['directory'],_0x53ba25);break;case'exists':_0x2005fb=await this[_0xe16e4e(0x1a7)](_0x28129a[_0xe16e4e(0x1f0)],_0x53ba25);break;case _0xe16e4e(0x1bb):_0x2005fb=await this[_0xe16e4e(0x1c5)](_0x28129a[_0xe16e4e(0x1f0)],_0x53ba25);break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x28129a[_0xe16e4e(0x1c7)]);}_0xaae333[_0xe16e4e(0x1d7)](_0x2005fb),this['addToHistory'](_0x28129a,_0x2005fb,_0x44fa3a[_0xe16e4e(0x237)]);}catch(_0xd53a2){const _0x34a69d={'success':![],'action':_0x28129a[_0xe16e4e(0x1c7)],'error':_0xd53a2['message'],'filePath':_0x28129a['filePath']||_0x28129a[_0xe16e4e(0x1f3)]||_0x28129a[_0xe16e4e(0x1d1)]};_0xaae333[_0xe16e4e(0x1d7)](_0x34a69d),this[_0xe16e4e(0x1d2)](_0x28129a,_0x34a69d,_0x44fa3a[_0xe16e4e(0x237)]);}}return{'success':!![],'actions':_0xaae333,'executedActions':_0x570ae1['length'],'toolUsed':_0xe16e4e(0x1ff)};}async[a0_0x2f6a18(0x1f5)](_0x620f07,_0x178887,_0x306182='utf8'){const _0x20b4e3=a0_0x2f6a18,_0x79e80c=this['directoryAccessManager'][_0x20b4e3(0x1fe)](_0x178887),_0x2fb005=this['resolvePath'](_0x620f07,_0x79e80c),_0x3eb678=this['directoryAccessManager']['validateReadAccess'](_0x2fb005,_0x178887);if(!_0x3eb678['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x3eb678['reason']+'\x20('+_0x3eb678[_0x20b4e3(0x225)]+')');try{const _0x2c32fc=await a0_0x4fab84['stat'](_0x2fb005);if(_0x2c32fc[_0x20b4e3(0x1c8)]>this['maxFileSize'])throw new Error(_0x20b4e3(0x232)+_0x2c32fc['size']+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x2aec1c=await a0_0x4fab84[_0x20b4e3(0x1f5)](_0x2fb005,_0x306182);return{'success':!![],'action':_0x20b4e3(0x1da),'filePath':this['directoryAccessManager']['createRelativePath'](_0x2fb005,_0x178887),'content':_0x2aec1c,'size':_0x2c32fc[_0x20b4e3(0x1c8)],'encoding':_0x306182,'lastModified':_0x2c32fc['mtime'][_0x20b4e3(0x1f9)](),'message':'Read\x20'+_0x2c32fc['size']+'\x20bytes\x20from\x20'+_0x620f07};}catch(_0x36a2a3){throw new Error(_0x20b4e3(0x1b2)+_0x620f07+':\x20'+_0x36a2a3[_0x20b4e3(0x228)]);}}async[a0_0x2f6a18(0x1bf)](_0x491304,_0x3fd6a9,_0x317a65,_0x52cabd={}){const _0x81b90f=a0_0x2f6a18,{encoding:encoding='utf8',createDirs:createDirs=!![]}=_0x52cabd,_0x5f2a7c=this['directoryAccessManager'][_0x81b90f(0x1fe)](_0x317a65),_0x10835a=this['resolvePath'](_0x491304,_0x5f2a7c),_0x893cf9=this[_0x81b90f(0x20b)]['validateWriteAccess'](_0x10835a,_0x317a65);if(!_0x893cf9[_0x81b90f(0x1fa)])throw new Error(_0x81b90f(0x22c)+_0x893cf9['reason']+'\x20('+_0x893cf9['path']+')');try{const _0x2118bf=Buffer['byteLength'](_0x3fd6a9,encoding);if(_0x2118bf>this[_0x81b90f(0x22f)])throw new Error(_0x81b90f(0x1c9)+_0x2118bf+_0x81b90f(0x23c)+this[_0x81b90f(0x22f)]+')');if(createDirs){const _0x5479be=a0_0x2eeb5d['dirname'](_0x10835a);await a0_0x4fab84['mkdir'](_0x5479be,{'recursive':!![]});}let _0x2b8406=null;try{await a0_0x4fab84['access'](_0x10835a),_0x2b8406=_0x10835a+'.backup-'+Date[_0x81b90f(0x226)](),await a0_0x4fab84['copyFile'](_0x10835a,_0x2b8406);}catch{}await a0_0x4fab84['writeFile'](_0x10835a,_0x3fd6a9,encoding);const _0x20847d=await a0_0x4fab84['stat'](_0x10835a),_0x2b81b3=this['directoryAccessManager']['createRelativePath'](_0x10835a,_0x317a65);return{'success':!![],'action':_0x81b90f(0x1f2),'outputPath':_0x2b81b3,'fullPath':_0x10835a,'size':_0x20847d['size'],'encoding':encoding,'backupPath':_0x2b8406?this['directoryAccessManager'][_0x81b90f(0x1de)](_0x2b8406,_0x317a65):null,'backupFullPath':_0x2b8406||null,'message':'Wrote\x20'+_0x20847d[_0x81b90f(0x1c8)]+'\x20bytes\x20to\x20'+_0x10835a};}catch(_0x122b89){throw new Error(_0x81b90f(0x21d)+_0x10835a+':\x20'+_0x122b89[_0x81b90f(0x228)]);}}async[a0_0x2f6a18(0x230)](_0x270500,_0x233c2c,_0xa4a1a1,_0x134549=a0_0x2f6a18(0x1ef)){const _0x5f444b=a0_0x2f6a18,_0x510d0e=this[_0x5f444b(0x20b)][_0x5f444b(0x1fe)](_0xa4a1a1),_0x95e726=this['resolvePath'](_0x270500,_0x510d0e),_0x1ccae0=this[_0x5f444b(0x20b)]['validateWriteAccess'](_0x95e726,_0xa4a1a1);if(!_0x1ccae0[_0x5f444b(0x1fa)])throw new Error(_0x5f444b(0x22c)+_0x1ccae0['reason']+'\x20('+_0x1ccae0[_0x5f444b(0x225)]+')');try{let _0x1bc142=0x0;try{const _0x4499aa=await a0_0x4fab84[_0x5f444b(0x218)](_0x95e726);_0x1bc142=_0x4499aa['size'];}catch{}const _0x562e72=Buffer[_0x5f444b(0x1a9)](_0x233c2c,_0x134549);if(_0x1bc142+_0x562e72>this[_0x5f444b(0x22f)])throw new Error(_0x5f444b(0x207)+(_0x1bc142+_0x562e72)+_0x5f444b(0x23c)+this['maxFileSize']+')');await a0_0x4fab84[_0x5f444b(0x21b)](_0x95e726,_0x233c2c,_0x134549);const _0x1f435a=await a0_0x4fab84['stat'](_0x95e726),_0x3058f6=this[_0x5f444b(0x20b)]['createRelativePath'](_0x95e726,_0xa4a1a1);return{'success':!![],'action':'append','filePath':_0x3058f6,'fullPath':_0x95e726,'appendedBytes':_0x562e72,'totalSize':_0x1f435a['size'],'encoding':_0x134549,'message':_0x5f444b(0x208)+_0x562e72+_0x5f444b(0x1b8)+_0x95e726};}catch(_0x300f6e){throw new Error(_0x5f444b(0x1e0)+_0x95e726+':\x20'+_0x300f6e['message']);}}async['deleteFile'](_0x365d86,_0x56c98d){const _0x21b36a=a0_0x2f6a18,_0x602de3=this[_0x21b36a(0x20b)][_0x21b36a(0x1fe)](_0x56c98d),_0x492cfc=this['resolvePath'](_0x365d86,_0x602de3),_0xd4e9e9=this[_0x21b36a(0x20b)]['validateWriteAccess'](_0x492cfc,_0x56c98d);if(!_0xd4e9e9['allowed'])throw new Error(_0x21b36a(0x235)+_0xd4e9e9['reason']+'\x20('+_0xd4e9e9['path']+')');try{const _0x5a5ab0=await a0_0x4fab84['stat'](_0x492cfc),_0x333afe=_0x492cfc+_0x21b36a(0x1a8)+Date['now']();await a0_0x4fab84[_0x21b36a(0x1f4)](_0x492cfc,_0x333afe),await a0_0x4fab84[_0x21b36a(0x1d6)](_0x492cfc);const _0x25be36=this[_0x21b36a(0x20b)][_0x21b36a(0x1de)](_0x492cfc,_0x56c98d),_0x51e793=this[_0x21b36a(0x20b)][_0x21b36a(0x1de)](_0x333afe,_0x56c98d);return{'success':!![],'action':_0x21b36a(0x21c),'filePath':_0x25be36,'fullPath':_0x492cfc,'size':_0x5a5ab0[_0x21b36a(0x1c8)],'backupPath':_0x51e793,'backupFullPath':_0x333afe,'message':_0x21b36a(0x1af)+_0x492cfc+'\x20(backup\x20created)'};}catch(_0x2be098){throw new Error(_0x21b36a(0x1be)+_0x492cfc+':\x20'+_0x2be098[_0x21b36a(0x228)]);}}async[a0_0x2f6a18(0x1f4)](_0x28d905,_0x1575c2,_0x3d084f){const _0x48dcff=a0_0x2f6a18,_0x5a7f22=this[_0x48dcff(0x20b)][_0x48dcff(0x1fe)](_0x3d084f),_0x19a4a9=this['resolvePath'](_0x28d905,_0x5a7f22),_0x1cf2b0=this['resolvePath'](_0x1575c2,_0x5a7f22),_0x31cd48=this[_0x48dcff(0x20b)]['validateReadAccess'](_0x19a4a9,_0x3d084f);if(!_0x31cd48['allowed'])throw new Error(_0x48dcff(0x1bd)+_0x31cd48[_0x48dcff(0x1b1)]+'\x20('+_0x31cd48[_0x48dcff(0x225)]+')');const _0x1c646d=this[_0x48dcff(0x20b)]['validateWriteAccess'](_0x1cf2b0,_0x3d084f);if(!_0x1c646d['allowed'])throw new Error('Destination\x20write\x20access\x20denied:\x20'+_0x1c646d[_0x48dcff(0x1b1)]+'\x20('+_0x1c646d['path']+')');try{const _0x2e2a6a=await a0_0x4fab84['stat'](_0x19a4a9);if(_0x2e2a6a[_0x48dcff(0x1c8)]>this['maxFileSize'])throw new Error(_0x48dcff(0x21f)+_0x2e2a6a['size']+'\x20bytes');const _0x12930c=a0_0x2eeb5d[_0x48dcff(0x1e3)](_0x1cf2b0);await a0_0x4fab84[_0x48dcff(0x1ee)](_0x12930c,{'recursive':!![]}),await a0_0x4fab84['copyFile'](_0x19a4a9,_0x1cf2b0);const _0x1fe58c=this[_0x48dcff(0x20b)][_0x48dcff(0x1de)](_0x19a4a9,_0x3d084f),_0x7ebd8=this[_0x48dcff(0x20b)][_0x48dcff(0x1de)](_0x1cf2b0,_0x3d084f);return{'success':!![],'action':_0x48dcff(0x223),'sourcePath':_0x1fe58c,'destPath':_0x7ebd8,'sourceFullPath':_0x19a4a9,'destFullPath':_0x1cf2b0,'size':_0x2e2a6a[_0x48dcff(0x1c8)],'message':'Copied\x20'+_0x19a4a9+_0x48dcff(0x1c2)+_0x1cf2b0};}catch(_0x5b1866){throw new Error(_0x48dcff(0x1ab)+_0x19a4a9+_0x48dcff(0x1c2)+_0x1cf2b0+':\x20'+_0x5b1866[_0x48dcff(0x228)]);}}async['moveFile'](_0x4d1c65,_0x4ff6c2,_0x18294d){const _0x3dad16=a0_0x2f6a18,_0x37e658=this['directoryAccessManager']['getWorkingDirectory'](_0x18294d),_0x4e97b7=this['resolvePath'](_0x4d1c65,_0x37e658),_0x309a49=this[_0x3dad16(0x22a)](_0x4ff6c2,_0x37e658),_0x3b2c2c=this['directoryAccessManager'][_0x3dad16(0x23d)](_0x4e97b7,_0x18294d);if(!_0x3b2c2c['allowed'])throw new Error(_0x3dad16(0x1ed)+_0x3b2c2c[_0x3dad16(0x1b1)]+'\x20('+_0x3b2c2c['path']+')');const _0x4bfd51=this[_0x3dad16(0x20b)]['validateWriteAccess'](_0x309a49,_0x18294d);if(!_0x4bfd51['allowed'])throw new Error('Write\x20access\x20denied\x20for\x20destination:\x20'+_0x4bfd51['reason']+'\x20('+_0x4bfd51['path']+')');try{const _0x1a94e9=await a0_0x4fab84[_0x3dad16(0x218)](_0x4e97b7),_0x4d29f0=a0_0x2eeb5d[_0x3dad16(0x1e3)](_0x309a49);await a0_0x4fab84['mkdir'](_0x4d29f0,{'recursive':!![]}),await a0_0x4fab84[_0x3dad16(0x20f)](_0x4e97b7,_0x309a49);const _0x72b74d=this[_0x3dad16(0x20b)]['createRelativePath'](_0x4e97b7,_0x18294d),_0x256551=this['directoryAccessManager']['createRelativePath'](_0x309a49,_0x18294d);return{'success':!![],'action':_0x3dad16(0x217),'sourcePath':_0x72b74d,'destPath':_0x256551,'fullSourcePath':_0x4e97b7,'fullDestPath':_0x309a49,'size':_0x1a94e9['size'],'message':_0x3dad16(0x1cc)+_0x4d1c65+'\x20to\x20'+_0x4ff6c2};}catch(_0x4115a9){throw new Error('Failed\x20to\x20move\x20'+_0x4d1c65+_0x3dad16(0x1c2)+_0x4ff6c2+':\x20'+_0x4115a9[_0x3dad16(0x228)]);}}async[a0_0x2f6a18(0x1aa)](_0x1f0944,_0x497454){const _0x49090f=a0_0x2f6a18,_0x3a9b83=this['directoryAccessManager'][_0x49090f(0x1fe)](_0x497454),_0x3a44c5=this[_0x49090f(0x22a)](_0x1f0944,_0x3a9b83),_0x458ed2=this['directoryAccessManager']['validateWriteAccess'](_0x3a44c5,_0x497454);if(!_0x458ed2[_0x49090f(0x1fa)])throw new Error(_0x49090f(0x22c)+_0x458ed2[_0x49090f(0x1b1)]+'\x20('+_0x458ed2['path']+')');try{await a0_0x4fab84['mkdir'](_0x3a44c5,{'recursive':!![]});const _0x428914=this[_0x49090f(0x20b)][_0x49090f(0x1de)](_0x3a44c5,_0x497454);return{'success':!![],'action':_0x49090f(0x22e),'directory':_0x428914,'fullPath':_0x3a44c5,'message':'Created\x20directory\x20'+_0x1f0944};}catch(_0x14ec9a){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x1f0944+':\x20'+_0x14ec9a[_0x49090f(0x228)]);}}async[a0_0x2f6a18(0x1b3)](_0x270116,_0x4d2343){const _0x4ff3b3=a0_0x2f6a18,_0x2fd1a4=this[_0x4ff3b3(0x20b)]['getWorkingDirectory'](_0x4d2343),_0x522a2e=this['resolvePath'](_0x270116,_0x2fd1a4),_0xcc6a2c=this['directoryAccessManager'][_0x4ff3b3(0x23d)](_0x522a2e,_0x4d2343);if(!_0xcc6a2c[_0x4ff3b3(0x1fa)])throw new Error('Read\x20access\x20denied:\x20'+_0xcc6a2c['reason']+'\x20('+_0xcc6a2c[_0x4ff3b3(0x225)]+')');try{const _0x4a6dce=await a0_0x4fab84['readdir'](_0x522a2e,{'withFileTypes':!![]}),_0x23e942=[];for(const _0x1f942a of _0x4a6dce){const _0x4e0b4c=a0_0x2eeb5d[_0x4ff3b3(0x202)](_0x522a2e,_0x1f942a[_0x4ff3b3(0x23a)]),_0x171090=await a0_0x4fab84['stat'](_0x4e0b4c);_0x23e942[_0x4ff3b3(0x1d7)]({'name':_0x1f942a[_0x4ff3b3(0x23a)],'type':_0x1f942a['isDirectory']()?_0x4ff3b3(0x1d1):'file','size':_0x1f942a[_0x4ff3b3(0x200)]()?_0x171090['size']:undefined,'lastModified':_0x171090['mtime']['toISOString'](),'permissions':_0x171090[_0x4ff3b3(0x227)],'isSymlink':_0x1f942a['isSymbolicLink']()});}const _0x4f3ed7=this['directoryAccessManager']['createRelativePath'](_0x522a2e,_0x4d2343);return{'success':!![],'action':_0x4ff3b3(0x23b),'directory':_0x4f3ed7,'fullPath':_0x522a2e,'contents':_0x23e942,'totalItems':_0x23e942[_0x4ff3b3(0x222)],'directories':_0x23e942['filter'](_0x53fb10=>_0x53fb10['type']==='directory')[_0x4ff3b3(0x222)],'files':_0x23e942['filter'](_0xe8773f=>_0xe8773f[_0x4ff3b3(0x1c7)]==='file')[_0x4ff3b3(0x222)],'message':'Listed\x20'+_0x23e942['length']+_0x4ff3b3(0x1e4)+_0x270116};}catch(_0x4c367a){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0x270116+':\x20'+_0x4c367a['message']);}}async[a0_0x2f6a18(0x1a7)](_0x3e04a6,_0x2e4abb){const _0x1f216c=a0_0x2f6a18,_0xb5fa63=this['directoryAccessManager'][_0x1f216c(0x1fe)](_0x2e4abb),_0xde7e2=this['resolvePath'](_0x3e04a6,_0xb5fa63),_0x424e96=this[_0x1f216c(0x20b)][_0x1f216c(0x23d)](_0xde7e2,_0x2e4abb);if(!_0x424e96['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x424e96['reason']+'\x20('+_0x424e96['path']+')');try{const _0xf200cf=await a0_0x4fab84[_0x1f216c(0x218)](_0xde7e2),_0x4a2378=this['directoryAccessManager'][_0x1f216c(0x1de)](_0xde7e2,_0x2e4abb);return{'success':!![],'action':'exists','filePath':_0x4a2378,'fullPath':_0xde7e2,'exists':!![],'type':_0xf200cf[_0x1f216c(0x23e)]()?'directory':_0x1f216c(0x20d),'message':_0x3e04a6+_0x1f216c(0x210)+(_0xf200cf[_0x1f216c(0x23e)]()?'directory':'file')};}catch(_0x4da4e5){if(_0x4da4e5['code']==='ENOENT'){const _0x634622=this['directoryAccessManager']['createRelativePath'](_0xde7e2,_0x2e4abb);return{'success':!![],'action':'exists','filePath':_0x634622,'fullPath':_0xde7e2,'exists':![],'message':_0x3e04a6+'\x20does\x20not\x20exist'};}throw new Error('Failed\x20to\x20check\x20existence\x20of\x20'+_0x3e04a6+':\x20'+_0x4da4e5[_0x1f216c(0x228)]);}}async[a0_0x2f6a18(0x1c5)](_0x5d64f2,_0x4c2d41){const _0x1562a6=a0_0x2f6a18,_0x358e50=this['directoryAccessManager']['getWorkingDirectory'](_0x4c2d41),_0x41e3a0=this[_0x1562a6(0x22a)](_0x5d64f2,_0x358e50),_0x596f6=this['directoryAccessManager']['validateReadAccess'](_0x41e3a0,_0x4c2d41);if(!_0x596f6['allowed'])throw new Error(_0x1562a6(0x1e2)+_0x596f6['reason']+'\x20('+_0x596f6['path']+')');try{const _0x5cc6cf=await a0_0x4fab84['stat'](_0x41e3a0),_0x48bce9=this['directoryAccessManager'][_0x1562a6(0x1de)](_0x41e3a0,_0x4c2d41);return{'success':!![],'action':'stats','filePath':_0x48bce9,'fullPath':_0x41e3a0,'stats':{'size':_0x5cc6cf['size'],'type':_0x5cc6cf[_0x1562a6(0x23e)]()?_0x1562a6(0x1d1):'file','lastModified':_0x5cc6cf[_0x1562a6(0x1e5)]['toISOString'](),'lastAccessed':_0x5cc6cf['atime'][_0x1562a6(0x1f9)](),'created':_0x5cc6cf['birthtime'][_0x1562a6(0x1f9)](),'permissions':_0x5cc6cf['mode'],'isSymlink':_0x5cc6cf[_0x1562a6(0x212)]()},'message':'Retrieved\x20stats\x20for\x20'+_0x5d64f2};}catch(_0x16c520){throw new Error(_0x1562a6(0x1c4)+_0x5d64f2+':\x20'+_0x16c520['message']);}}[a0_0x2f6a18(0x22a)](_0x832adf,_0x675949){if(a0_0x2eeb5d['isAbsolute'](_0x832adf))return a0_0x2eeb5d['normalize'](_0x832adf);return a0_0x2eeb5d['resolve'](_0x675949,_0x832adf);}[a0_0x2f6a18(0x1d3)](_0x321b2f,_0xe6c54e,_0x4cb755='read'){const _0x403083=a0_0x2f6a18,_0x3d554c=_0x4cb755==='write'?this[_0x403083(0x20b)][_0x403083(0x221)](_0x321b2f,_0xe6c54e):this[_0x403083(0x20b)]['validateReadAccess'](_0x321b2f,_0xe6c54e);if(!_0x3d554c['allowed'])throw new Error(_0x4cb755+_0x403083(0x238)+_0x3d554c[_0x403083(0x1b1)]+'\x20('+_0x3d554c[_0x403083(0x225)]+')');return _0x3d554c;}['isAllowedFileExtension'](_0x3fa9bd){const _0x284b1b=a0_0x2f6a18,_0x4bb6d6=a0_0x2eeb5d['extname'](_0x3fa9bd)[_0x284b1b(0x1ac)]();if(this['blockedExtensions']['includes'](_0x4bb6d6))return![];if(this['allowedExtensions']&&!this['allowedExtensions']['includes'](_0x4bb6d6))return![];return!![];}[a0_0x2f6a18(0x1d2)](_0x4abbee,_0x35004c,_0x334c45){const _0x5bb10d=a0_0x2f6a18,_0xdbba8e={'timestamp':new Date()[_0x5bb10d(0x1f9)](),'agentId':_0x334c45,'action':_0x4abbee['type'],'filePath':_0x4abbee[_0x5bb10d(0x1f0)]||_0x4abbee['outputPath']||_0x4abbee[_0x5bb10d(0x1d1)],'success':_0x35004c['success'],'size':_0x35004c['size']};this['operationHistory'][_0x5bb10d(0x1d7)](_0xdbba8e),this[_0x5bb10d(0x1e7)]['length']>0xc8&&(this[_0x5bb10d(0x1e7)]=this[_0x5bb10d(0x1e7)][_0x5bb10d(0x1fd)](-0xc8));}[a0_0x2f6a18(0x224)](){const _0x2b0abe=a0_0x2f6a18;return[_0x2b0abe(0x1da),_0x2b0abe(0x1f2),_0x2b0abe(0x1f1),_0x2b0abe(0x21c),_0x2b0abe(0x223),_0x2b0abe(0x217),_0x2b0abe(0x22e),'list',_0x2b0abe(0x201),'stats'];}[a0_0x2f6a18(0x209)](){const _0x146848=a0_0x2f6a18;return{'type':'object','properties':{'actions':{'type':'array','minItems':0x1,'items':{'type':'object','properties':{'type':{'type':'string','enum':this[_0x146848(0x224)]()},'filePath':{'type':_0x146848(0x1c3)},'outputPath':{'type':'string'},'sourcePath':{'type':_0x146848(0x1c3)},'destPath':{'type':'string'},'directory':{'type':_0x146848(0x1c3)},'content':{'type':'string'},'encoding':{'type':_0x146848(0x1c3)},'createDirs':{'type':_0x146848(0x203)}},'required':[_0x146848(0x1c7)]}}},'required':[_0x146848(0x23f)]};}['getOperationHistory'](_0x48a98e=null){const _0x2d41cb=a0_0x2f6a18;if(_0x48a98e)return this[_0x2d41cb(0x1e7)]['filter'](_0x229b92=>_0x229b92['agentId']===_0x48a98e);return[...this['operationHistory']];}}export default FileSystemTool;
1
+ const a0_0x113996=a0_0x4b6e;function a0_0x35e3(){const _0x4256e5=['Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','oIbVDxrWDxqTCgf0AcbPCYbYzxf1AxjLzcbMB3iGD3jPDgu','Dg9ju09tDhjPBMC','BMfTzq','zgLYzwn0B3j5','BwvZC2fNzq','lNnJCG','DhjPBq','mJC0DgPxvK9R','oIbKzxn0lxbHDgGGAxmGCMvXDwLYzwqGzM9Yia','Dw5SAw5R','Bw92zq','q29WAwvKia','C291CMnLugf0Aa','C3vJy2vZCW','z2v0t3bLCMf0Aw9UsgLZDg9YEq','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigfWCgvUza','B3v0Chv0lxbHDgG','oIbJB250zw50igLZihjLCxvPCMvKigzVCIbHChbLBMq','tgLZDgvKia','qwn0Aw9Uia','rgvZDgLUyxrPB24GD3jPDguGywnJzxnZigrLBMLLzdOG','BwTKAxi','odq0mM5dAen5vG','zxHPC3rZ','sw52ywXPzcbWyxjHBwv0zxjZoIbWyxjHBxmGBxvZDcbIzsbHBIbVyMPLy3q','tufyx0zjtevFu0LArq','ihrVia','Dhj1zq','D3jPDgvgAwXL','rMfPBgvKihrVigDLDcbZDgf0CYbMB3iG','zMLSzq','C3rHDhm','y3DK','yxr0CMLIDxrLCW','CgfYC2vqyxjHBwv0zxjZ','z2v0rgvZy3jPChrPB24','rgvSzxrLzca','mtmWmdK3mevvEunrwG','zgvZDc1WyxrO','igj5DgvZicHTyxGG','ywXSB3DLzev4DgvUC2LVBNm','rMfPBgvKihrVigrLBgv0zsbMAwXLia','ChvZAa','BM93','y3jLyxrLlwrPCG','CMvHC29U','q29UDgvUDcb0B28GBgfYz2u6ia','CMf3q29UDgvUDa','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','CMvHza','C2L6zq','BwfW','DMfSAwrHDgvqyxrOqwnJzxnZ','oIbZB3vYy2uTCgf0AcbPCYbYzxf1AxjLzcbMB3iG','y3jLyxrLrgLYzwn0B3j5qwnJzxnZ','Aw5JBhvKzxm','ywn0Aw9UCW','lMnTza','Cgf0Aa','mtG0mLjQDwfhAa','z2v0rMLSzvn0yxrZ','B3bLCMf0Aw9UsgLZDg9YEq','igj5DgvZigzYB20G','AxneAxjLy3rVCNK','mtbpuxnvA0u','v3jPDguGywnJzxnZigrLBMLLzdOG','Bwf4rMLSzvnPEMu','yxbWzw5Kvg9gAwXL','DMfSAwrHDgvxCML0zufJy2vZCW','nZy2ntLWwMvKAgO','ywrKvg9iAxn0B3j5','tuiPcI0GrgfUz2vYB3vZigzPBguGDhLWzxmGyMXVy2TLzaOTifbHDgGGDhjHDMvYC2fSihbYB3rLy3rPB24klsbcywnRDxaGy3jLyxrLzcbMB3iGzgvZDhj1y3rPDMuGB3bLCMf0Aw9UCWOkru5dt0rjtKCGu1vque9svdOklsb1Dgy4icHKzwzHDwX0kqOTigfZy2LPcI0GyMfZzty0cI0GyMLUyxj5cI0GAgv4cIaGica','C3rYAw5N','mtm3nJvithvZtNi','uMvHzca','odaWovjNDg1cvW','BxrPBwu','DgLTzw91Da','zgvZDfbHDgG','zMLSzxn5CW','uMvHzcbHy2nLC3mGzgvUAwvKoIa','C3vIC3rYAw5N','igfJy2vZCYbKzw5Pzwq6ia','y3jLyxrLrgLYCW','y29WEq','qxbWzw5KzwqG','y29WEuzPBgu','ywXSB3DLza','uMv0CMLLDMvKihn0yxrZigzVCIa','C3rHDa','C3rYAw5NAwz5','zw5JB2rPBMC','CMvHzezPBgu','rMLSzsb3B3vSzcbIzwnVBwuGDg9VigXHCMDLoIa','BgLZDa','z2v0v29YA2LUz0rPCMvJDg9YEq','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','nta0offOz3LvEq','zMLSzs1WyxrO','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25ZigLZihjLCxvPCMvKlIbszwnLAxzLzcbWyxjHBxm6ia','zgvSzxrL','zxH0BMfTzq','Bw9Kzq','ywXSB3DLzerPCMvJDg9YAwvZ','zgvSzxrLrMLSzq','AM9PBG','AxnbyNnVBhv0zq','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9Yia','CMvUyw1L','yMXVy2TLzev4DgvUC2LVBNm','y3jLyxrLlwrPCNm','D3jPDgu','yxjYyxK','B3v0Chv0ugf0Aa','B2jQzwn0','AxnbC3LUyW','DhLWzq','ody0mZKWmvDzu0XmrG','lMjHy2T1Cc0','q3jLyxrLzcbKAxjLy3rVCNKG','AxnbCNjHEq','DMfSAwrHDgvszwfKqwnJzxnZ','yxbWzw5K','zMLSzvbHDgG','rMLSzsb0B28GBgfYz2u6ia','y29UDgvUDa','AxntEw1IB2XPy0XPBMS','ywDLBNrjza','ntaZmtaWoe9XCwX0va','BgLZDerPCMvJDg9YEq','BgvUz3rO','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25ZigfYCMf5igLZigvTChr5','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9Yia','CMvXDwLYzxnqCM9Qzwn0','v3jVDguG','y3jLyxrLuMvSyxrPDMvqyxrO','rMLSzvn5C3rLBsberujvrZOGvxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEtO','CMvZB2X2zvbHDgG','sw52ywXPzcbWyxjHBwv0zxjZoIbHy3rPB25Zig11C3qGyMuGyw4GyxjYyxKUifjLy2vPDMvKihr5Cgu6ia','Bg9N','zgLYBMfTzq','y3jLyxrLrgLYzwn0B3j5'];a0_0x35e3=function(){return _0x4256e5;};return a0_0x35e3();}(function(_0x3eb346,_0x59ed13){const _0x33df45=a0_0x4b6e,_0x402e42=_0x3eb346();while(!![]){try{const _0x257c8d=-parseInt(_0x33df45(0x1c9))/0x1*(-parseInt(_0x33df45(0x214))/0x2)+-parseInt(_0x33df45(0x1c3))/0x3+-parseInt(_0x33df45(0x1fe))/0x4+parseInt(_0x33df45(0x1c7))/0x5*(-parseInt(_0x33df45(0x1b9))/0x6)+parseInt(_0x33df45(0x1f3))/0x7+-parseInt(_0x33df45(0x1df))/0x8*(-parseInt(_0x33df45(0x194))/0x9)+parseInt(_0x33df45(0x1be))/0xa*(-parseInt(_0x33df45(0x1a3))/0xb);if(_0x257c8d===_0x59ed13)break;else _0x402e42['push'](_0x402e42['shift']());}catch(_0x4caa7d){_0x402e42['push'](_0x402e42['shift']());}}}(a0_0x35e3,0xa5558));import{BaseTool}from'./baseTool.js';import a0_0x3165b0 from'../utilities/tagParser.js';import a0_0x579188 from'../utilities/directoryAccessManager.js';import a0_0x3803da from'fs/promises';function a0_0x4b6e(_0x1805ad,_0x3ac1b1){_0x1805ad=_0x1805ad-0x186;const _0x35e326=a0_0x35e3();let _0x4b6e5a=_0x35e326[_0x1805ad];if(a0_0x4b6e['KuiisX']===undefined){var _0x2889e9=function(_0x4ea08f){const _0x4cc318='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3165b0='',_0x579188='';for(let _0x3803da=0x0,_0xd7c609,_0x4e450b,_0x48c8bc=0x0;_0x4e450b=_0x4ea08f['charAt'](_0x48c8bc++);~_0x4e450b&&(_0xd7c609=_0x3803da%0x4?_0xd7c609*0x40+_0x4e450b:_0x4e450b,_0x3803da++%0x4)?_0x3165b0+=String['fromCharCode'](0xff&_0xd7c609>>(-0x2*_0x3803da&0x6)):0x0){_0x4e450b=_0x4cc318['indexOf'](_0x4e450b);}for(let _0x36add7=0x0,_0x4c0c09=_0x3165b0['length'];_0x36add7<_0x4c0c09;_0x36add7++){_0x579188+='%'+('00'+_0x3165b0['charCodeAt'](_0x36add7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x579188);};a0_0x4b6e['SYFKio']=_0x2889e9,a0_0x4b6e['MhWSZt']={},a0_0x4b6e['KuiisX']=!![];}const _0x5a9ad9=_0x35e326[0x0],_0x126e4f=_0x1805ad+_0x5a9ad9,_0x5b33e0=a0_0x4b6e['MhWSZt'][_0x126e4f];return!_0x5b33e0?(_0x4b6e5a=a0_0x4b6e['SYFKio'](_0x4b6e5a),a0_0x4b6e['MhWSZt'][_0x126e4f]=_0x4b6e5a):_0x4b6e5a=_0x5b33e0,_0x4b6e5a;}import a0_0xd7c609 from'path';import a0_0x4e450b from'crypto';import{TOOL_STATUS,FILE_EXTENSIONS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class FileSystemTool extends BaseTool{constructor(_0x48c8bc={},_0x36add7=null){const _0x22c02b=a0_0x4b6e;super(_0x48c8bc,_0x36add7),this[_0x22c02b(0x203)]=!![],this[_0x22c02b(0x1f1)]=![],this[_0x22c02b(0x1cb)]=_0x48c8bc[_0x22c02b(0x1cb)]||0x7530,this[_0x22c02b(0x20c)]=_0x48c8bc['maxConcurrentOperations']||0x5,this['maxFileSize']=_0x48c8bc['maxFileSize']||SYSTEM_DEFAULTS[_0x22c02b(0x197)],this['allowedExtensions']=_0x48c8bc['allowedExtensions']||null,this['blockedExtensions']=_0x48c8bc['blockedExtensions']||['.exe','.bat',_0x22c02b(0x1b7),_0x22c02b(0x212),'.com'],this['allowedDirectories']=_0x48c8bc[_0x22c02b(0x1e5)]||null,this['operationHistory']=[],this['directoryAccessManager']=new a0_0x579188(_0x48c8bc,_0x36add7);}[a0_0x113996(0x1a1)](){const _0x3f5568=a0_0x113996;return _0x3f5568(0x1de)+Math['round'](this[_0x3f5568(0x1c0)]/0x400/0x400)+_0x3f5568(0x1c5);}[a0_0x113996(0x1a0)](_0x4c0c09){const _0x2a9ddf=a0_0x113996;try{const _0x2829b8={},_0x225cc2=[];this['logger']?.['debug']('FileSystem\x20tool\x20parsing\x20parameters',{'contentLength':_0x4c0c09[_0x2a9ddf(0x200)],'contentPreview':_0x4c0c09[_0x2a9ddf(0x1cf)](0x0,0xc8)});const _0x3790c7=[_0x2a9ddf(0x1af),'delete',_0x2a9ddf(0x1d2),_0x2a9ddf(0x188),'create-dir',_0x2a9ddf(0x1dc),'exists',_0x2a9ddf(0x19d),_0x2a9ddf(0x1f8)];for(const _0x43c71e of _0x3790c7){const _0x4fc826=a0_0x3165b0['extractTagsWithAttributes'](_0x4c0c09,_0x43c71e);for(const _0x47eac9 of _0x4fc826){const _0xeebc42={'type':_0x43c71e,..._0x47eac9[_0x2a9ddf(0x19f)]};_0xeebc42[_0x2a9ddf(0x1e0)]&&(_0xeebc42['filePath']=_0xeebc42['file-path'],delete _0xeebc42[_0x2a9ddf(0x1e0)]),_0xeebc42['output-path']&&(_0xeebc42['outputPath']=_0xeebc42[_0x2a9ddf(0x18e)],delete _0xeebc42[_0x2a9ddf(0x18e)]),_0xeebc42['source-path']&&(_0xeebc42[_0x2a9ddf(0x18a)]=_0xeebc42['source-path'],delete _0xeebc42['source-path']),_0xeebc42['dest-path']&&(_0xeebc42[_0x2a9ddf(0x1cc)]=_0xeebc42['dest-path'],delete _0xeebc42[_0x2a9ddf(0x1a4)]),_0xeebc42[_0x2a9ddf(0x1ec)]&&(_0xeebc42['createDirs']=_0xeebc42[_0x2a9ddf(0x1ec)]===_0x2a9ddf(0x199),delete _0xeebc42[_0x2a9ddf(0x1ec)]),_0x225cc2['push'](_0xeebc42);}}const _0x3d13fe=_0x4c0c09['matchAll'](/<write\s+([^>]*)>(.*?)<\/write>/gs);for(const _0x43ebf9 of _0x3d13fe){const _0x12a6c8=new a0_0x3165b0(),_0x421a18=_0x12a6c8['parseAttributes'](_0x43ebf9[0x1]),_0x324d4b=_0x43ebf9[0x2]['trim'](),_0x4d858a={'type':'write','content':_0x324d4b,..._0x421a18};_0x4d858a['output-path']&&(_0x4d858a['outputPath']=_0x4d858a[_0x2a9ddf(0x18e)],delete _0x4d858a['output-path']),_0x4d858a[_0x2a9ddf(0x1ec)]&&(_0x4d858a['createDirs']=_0x4d858a['create-dirs']==='true',delete _0x4d858a['create-dirs']),_0x225cc2['push'](_0x4d858a);}const _0x617dd2=_0x4c0c09['matchAll'](/<append\s+([^>]*)>(.*?)<\/append>/gs);for(const _0x99ec64 of _0x617dd2){const _0x272e71=new a0_0x3165b0(),_0x437be2=_0x272e71['parseAttributes'](_0x99ec64[0x1]),_0x366fe3=_0x99ec64[0x2][_0x2a9ddf(0x213)](),_0x18774e={'type':'append','content':_0x366fe3,..._0x437be2};_0x18774e['file-path']&&(_0x18774e[_0x2a9ddf(0x1f9)]=_0x18774e[_0x2a9ddf(0x1e0)],delete _0x18774e[_0x2a9ddf(0x1e0)]),_0x225cc2[_0x2a9ddf(0x1a8)](_0x18774e);}return _0x2829b8[_0x2a9ddf(0x1b6)]=_0x225cc2,_0x2829b8[_0x2a9ddf(0x1ad)]=_0x4c0c09['trim'](),this['logger']?.['debug']('Parsed\x20FileSystem\x20tool\x20parameters',{'totalActions':_0x225cc2['length'],'actionTypes':_0x225cc2[_0x2a9ddf(0x1b1)](_0x2b6d3c=>_0x2b6d3c[_0x2a9ddf(0x1f2)]),'actions':_0x225cc2[_0x2a9ddf(0x1b1)](_0x443da9=>({'type':_0x443da9['type'],'filePath':_0x443da9[_0x2a9ddf(0x1f9)],'outputPath':_0x443da9['outputPath'],'hasContent':!!_0x443da9[_0x2a9ddf(0x1fb)]}))}),_0x2829b8;}catch(_0x39144f){throw new Error('Failed\x20to\x20parse\x20filesystem\x20parameters:\x20'+_0x39144f['message']);}}['getRequiredParameters'](){const _0x5f5166=a0_0x113996;return[_0x5f5166(0x1b6)];}['customValidateParameters'](_0x22df01){const _0x2f63b3=a0_0x113996,_0x25afba=[];if(!_0x22df01[_0x2f63b3(0x1b6)]||!Array['isArray'](_0x22df01[_0x2f63b3(0x1b6)])||_0x22df01['actions'][_0x2f63b3(0x200)]===0x0)_0x25afba[_0x2f63b3(0x1a8)]('At\x20least\x20one\x20action\x20is\x20required');else for(const [_0x184391,_0x41333c]of _0x22df01[_0x2f63b3(0x1b6)]['entries']()){if(!_0x41333c[_0x2f63b3(0x1f2)]){_0x25afba['push']('Action\x20'+(_0x184391+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x41333c['type']){case _0x2f63b3(0x1af):case'delete':case _0x2f63b3(0x195):case _0x2f63b3(0x19d):!_0x41333c['filePath']&&_0x25afba['push']('Action\x20'+(_0x184391+0x1)+_0x2f63b3(0x202)+_0x41333c['type']);break;case _0x2f63b3(0x1ed):!_0x41333c[_0x2f63b3(0x1ef)]&&_0x25afba['push']('Action\x20'+(_0x184391+0x1)+_0x2f63b3(0x20d));!_0x41333c[_0x2f63b3(0x1fb)]&&_0x41333c[_0x2f63b3(0x1fb)]!==''&&_0x25afba[_0x2f63b3(0x1a8)]('Action\x20'+(_0x184391+0x1)+':\x20content\x20is\x20required\x20for\x20write');break;case'append':!_0x41333c['filePath']&&_0x25afba['push'](_0x2f63b3(0x191)+(_0x184391+0x1)+_0x2f63b3(0x18d));!_0x41333c['content']&&_0x41333c[_0x2f63b3(0x1fb)]!==''&&_0x25afba['push'](_0x2f63b3(0x191)+(_0x184391+0x1)+_0x2f63b3(0x18f));break;case _0x2f63b3(0x1d2):case'move':!_0x41333c[_0x2f63b3(0x18a)]&&_0x25afba[_0x2f63b3(0x1a8)]('Action\x20'+(_0x184391+0x1)+_0x2f63b3(0x1b3)+_0x41333c[_0x2f63b3(0x1f2)]);!_0x41333c['destPath']&&_0x25afba[_0x2f63b3(0x1a8)](_0x2f63b3(0x191)+(_0x184391+0x1)+_0x2f63b3(0x186)+_0x41333c['type']);break;case'create-dir':case _0x2f63b3(0x1dc):!_0x41333c[_0x2f63b3(0x210)]&&_0x25afba[_0x2f63b3(0x1a8)]('Action\x20'+(_0x184391+0x1)+_0x2f63b3(0x1e9)+_0x41333c[_0x2f63b3(0x1f2)]);break;default:_0x25afba[_0x2f63b3(0x1a8)](_0x2f63b3(0x191)+(_0x184391+0x1)+':\x20unknown\x20action\x20type:\x20'+_0x41333c['type']);}_0x41333c['filePath']&&!this['isAllowedFileExtension'](_0x41333c['filePath'])&&_0x25afba[_0x2f63b3(0x1a8)]('Action\x20'+(_0x184391+0x1)+':\x20file\x20type\x20not\x20allowed:\x20'+a0_0xd7c609[_0x2f63b3(0x1e3)](_0x41333c['filePath'])),_0x41333c[_0x2f63b3(0x1ef)]&&!this['isAllowedFileExtension'](_0x41333c['outputPath'])&&_0x25afba[_0x2f63b3(0x1a8)](_0x2f63b3(0x191)+(_0x184391+0x1)+':\x20file\x20type\x20not\x20allowed:\x20'+a0_0xd7c609['extname'](_0x41333c['outputPath']));}return{'valid':_0x25afba['length']===0x0,'errors':_0x25afba};}async['execute'](_0x3b1e12,_0x41d1ef){const _0x3c8b19=a0_0x113996;if(!_0x3b1e12||typeof _0x3b1e12!==_0x3c8b19(0x1f0))throw new Error(_0x3c8b19(0x196));const {actions:_0x3f943b}=_0x3b1e12;if(!_0x3f943b)throw new Error(_0x3c8b19(0x1e1)+JSON[_0x3c8b19(0x1d8)](Object['keys'](_0x3b1e12)));if(!Array[_0x3c8b19(0x1f6)](_0x3f943b))throw new Error(_0x3c8b19(0x208)+typeof _0x3f943b);if(_0x3f943b['length']===0x0)throw new Error(_0x3c8b19(0x201));const {projectDir:_0x516b7b,agentId:_0x19a1a6,directoryAccess:_0x3043d9}=_0x41d1ef,_0x413222=_0x3043d9||this[_0x3c8b19(0x1ae)][_0x3c8b19(0x1b4)]({'workingDirectory':_0x516b7b||process[_0x3c8b19(0x19e)](),'writeEnabledDirectories':[_0x516b7b||process[_0x3c8b19(0x19e)]()],'restrictToProject':!![]});_0x3043d9&&_0x3043d9['workingDirectory']?(console['log'](_0x3c8b19(0x206),_0x3043d9['workingDirectory']),console['log']('FileSystem\x20DEBUG:\x20Full\x20directoryAccess\x20object:',JSON['stringify'](_0x3043d9,null,0x2))):(console[_0x3c8b19(0x209)]('FileSystem\x20DEBUG:\x20Using\x20fallback\x20working\x20directory:',_0x516b7b||process[_0x3c8b19(0x19e)]()),console[_0x3c8b19(0x209)]('FileSystem\x20DEBUG:\x20directoryAccess\x20is:',_0x3043d9),console[_0x3c8b19(0x209)]('FileSystem\x20DEBUG:\x20projectDir\x20is:',_0x516b7b));const _0x1832c1=[];for(const _0x20d892 of _0x3f943b){try{let _0x5fce7e;switch(_0x20d892['type']){case'read':_0x5fce7e=await this[_0x3c8b19(0x1da)](_0x20d892['filePath'],_0x413222,_0x20d892[_0x3c8b19(0x1d9)]);break;case'write':_0x5fce7e=await this['writeFile'](_0x20d892['outputPath'],_0x20d892['content'],_0x413222,{'encoding':_0x20d892['encoding'],'createDirs':_0x20d892[_0x3c8b19(0x1d1)]});break;case'append':_0x5fce7e=await this['appendToFile'](_0x20d892['filePath'],_0x20d892['content'],_0x413222,_0x20d892['encoding']);break;case _0x3c8b19(0x1e2):_0x5fce7e=await this[_0x3c8b19(0x1e6)](_0x20d892['filePath'],_0x413222);break;case'copy':_0x5fce7e=await this['copyFile'](_0x20d892['sourcePath'],_0x20d892['destPath'],_0x413222);break;case _0x3c8b19(0x188):_0x5fce7e=await this['moveFile'](_0x20d892[_0x3c8b19(0x18a)],_0x20d892['destPath'],_0x413222);break;case _0x3c8b19(0x1aa):_0x5fce7e=await this['createDirectory'](_0x20d892['directory'],_0x413222);break;case _0x3c8b19(0x1dc):_0x5fce7e=await this[_0x3c8b19(0x1ff)](_0x20d892['directory'],_0x413222);break;case _0x3c8b19(0x195):_0x5fce7e=await this['checkExists'](_0x20d892[_0x3c8b19(0x1f9)],_0x413222);break;case'stats':_0x5fce7e=await this[_0x3c8b19(0x1ba)](_0x20d892[_0x3c8b19(0x1f9)],_0x413222);break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x20d892[_0x3c8b19(0x1f2)]);}_0x1832c1['push'](_0x5fce7e),this['addToHistory'](_0x20d892,_0x5fce7e,_0x41d1ef['agentId']);}catch(_0x47cc4c){const _0x48d347={'success':![],'action':_0x20d892[_0x3c8b19(0x1f2)],'error':_0x47cc4c[_0x3c8b19(0x211)],'filePath':_0x20d892['filePath']||_0x20d892[_0x3c8b19(0x1ef)]||_0x20d892['directory']};_0x1832c1[_0x3c8b19(0x1a8)](_0x48d347),this[_0x3c8b19(0x1c4)](_0x20d892,_0x48d347,_0x41d1ef['agentId']);}}return{'success':!![],'actions':_0x1832c1,'executedActions':_0x3f943b['length'],'toolUsed':_0x3c8b19(0x1cd)};}async['readFile'](_0x72f02c,_0x1d4296,_0x22aef6='utf8'){const _0x5e89d7=a0_0x113996,_0x56d66a=this[_0x5e89d7(0x1ae)]['getWorkingDirectory'](_0x1d4296),_0x46f029=this['resolvePath'](_0x72f02c,_0x56d66a),_0x327f89=this[_0x5e89d7(0x1ae)]['validateReadAccess'](_0x46f029,_0x1d4296);if(!_0x327f89[_0x5e89d7(0x1d5)])throw new Error(_0x5e89d7(0x1ce)+_0x327f89[_0x5e89d7(0x1ab)]+'\x20('+_0x327f89[_0x5e89d7(0x1b8)]+')');try{const _0x43f1f2=await a0_0x3803da['stat'](_0x46f029);if(_0x43f1f2[_0x5e89d7(0x1b0)]>this[_0x5e89d7(0x1c0)])throw new Error(_0x5e89d7(0x1fa)+_0x43f1f2[_0x5e89d7(0x1b0)]+_0x5e89d7(0x1a5)+this[_0x5e89d7(0x1c0)]+')');const _0x1861e1=await a0_0x3803da[_0x5e89d7(0x1da)](_0x46f029,_0x22aef6);return{'success':!![],'action':'read','filePath':this[_0x5e89d7(0x1ae)]['createRelativePath'](_0x46f029,_0x1d4296),'content':_0x1861e1,'size':_0x43f1f2['size'],'encoding':_0x22aef6,'lastModified':_0x43f1f2[_0x5e89d7(0x1ca)][_0x5e89d7(0x20e)](),'message':_0x5e89d7(0x1c8)+_0x43f1f2['size']+_0x5e89d7(0x1bc)+_0x72f02c};}catch(_0x1c9138){throw new Error('Failed\x20to\x20read\x20file\x20'+_0x72f02c+':\x20'+_0x1c9138[_0x5e89d7(0x211)]);}}async[a0_0x113996(0x19a)](_0x3587eb,_0x5164a7,_0x52026e,_0x5dbccf={}){const _0x57c360=a0_0x113996,{encoding:encoding='utf8',createDirs:createDirs=!![]}=_0x5dbccf,_0x24e107=this[_0x57c360(0x1ae)]['getWorkingDirectory'](_0x52026e),_0x49099c=this[_0x57c360(0x207)](_0x3587eb,_0x24e107),_0x11213d=this[_0x57c360(0x1ae)][_0x57c360(0x1c2)](_0x49099c,_0x52026e);if(!_0x11213d['allowed'])throw new Error(_0x57c360(0x1bf)+_0x11213d['reason']+'\x20('+_0x11213d['path']+')');try{const _0x559b72=Buffer['byteLength'](_0x5164a7,encoding);if(_0x559b72>this['maxFileSize'])throw new Error(_0x57c360(0x1ac)+_0x559b72+_0x57c360(0x1a5)+this[_0x57c360(0x1c0)]+')');if(createDirs){const _0xe366d3=a0_0xd7c609['dirname'](_0x49099c);await a0_0x3803da['mkdir'](_0xe366d3,{'recursive':!![]});}let _0x292d2d=null;try{await a0_0x3803da['access'](_0x49099c),_0x292d2d=_0x49099c+_0x57c360(0x1f4)+Date[_0x57c360(0x1a9)](),await a0_0x3803da[_0x57c360(0x1d4)](_0x49099c,_0x292d2d);}catch{}await a0_0x3803da['writeFile'](_0x49099c,_0x5164a7,encoding);const _0x4ccaa8=await a0_0x3803da['stat'](_0x49099c),_0x72ab8c=this[_0x57c360(0x1ae)][_0x57c360(0x205)](_0x49099c,_0x52026e);return{'success':!![],'action':'write','outputPath':_0x72ab8c,'fullPath':_0x49099c,'size':_0x4ccaa8['size'],'encoding':encoding,'backupPath':_0x292d2d?this[_0x57c360(0x1ae)][_0x57c360(0x205)](_0x292d2d,_0x52026e):null,'backupFullPath':_0x292d2d||null,'message':_0x57c360(0x204)+_0x4ccaa8['size']+'\x20bytes\x20to\x20'+_0x49099c};}catch(_0x57bef4){throw new Error('Failed\x20to\x20write\x20file\x20'+_0x49099c+':\x20'+_0x57bef4[_0x57c360(0x211)]);}}async[a0_0x113996(0x1c1)](_0x1c7de8,_0x2cbd83,_0x37ec34,_0x203410='utf8'){const _0x2f45e6=a0_0x113996,_0x50aa55=this[_0x2f45e6(0x1ae)]['getWorkingDirectory'](_0x37ec34),_0x27a8da=this[_0x2f45e6(0x207)](_0x1c7de8,_0x50aa55),_0x257b62=this[_0x2f45e6(0x1ae)][_0x2f45e6(0x1c2)](_0x27a8da,_0x37ec34);if(!_0x257b62['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x257b62[_0x2f45e6(0x1ab)]+'\x20('+_0x257b62['path']+')');try{let _0x4b5f26=0x0;try{const _0x11897c=await a0_0x3803da[_0x2f45e6(0x1d7)](_0x27a8da);_0x4b5f26=_0x11897c['size'];}catch{}const _0x2263cc=Buffer['byteLength'](_0x2cbd83,_0x203410);if(_0x4b5f26+_0x2263cc>this[_0x2f45e6(0x1c0)])throw new Error(_0x2f45e6(0x1db)+(_0x4b5f26+_0x2263cc)+_0x2f45e6(0x1a5)+this['maxFileSize']+')');await a0_0x3803da['appendFile'](_0x27a8da,_0x2cbd83,_0x203410);const _0x27541b=await a0_0x3803da['stat'](_0x27a8da),_0x3b03dc=this[_0x2f45e6(0x1ae)]['createRelativePath'](_0x27a8da,_0x37ec34);return{'success':!![],'action':'append','filePath':_0x3b03dc,'fullPath':_0x27a8da,'appendedBytes':_0x2263cc,'totalSize':_0x27541b[_0x2f45e6(0x1b0)],'encoding':_0x203410,'message':_0x2f45e6(0x1d3)+_0x2263cc+'\x20bytes\x20to\x20'+_0x27a8da};}catch(_0x4888f2){throw new Error('Failed\x20to\x20append\x20to\x20file\x20'+_0x27a8da+':\x20'+_0x4888f2['message']);}}async['deleteFile'](_0x34e4d2,_0xa3750e){const _0xd532d3=a0_0x113996,_0x3de945=this[_0xd532d3(0x1ae)]['getWorkingDirectory'](_0xa3750e),_0x5ad016=this[_0xd532d3(0x207)](_0x34e4d2,_0x3de945),_0x439bc4=this['directoryAccessManager'][_0xd532d3(0x1c2)](_0x5ad016,_0xa3750e);if(!_0x439bc4['allowed'])throw new Error('Delete\x20access\x20denied:\x20'+_0x439bc4[_0xd532d3(0x1ab)]+'\x20('+_0x439bc4['path']+')');try{const _0xcabb7c=await a0_0x3803da['stat'](_0x5ad016),_0x119425=_0x5ad016+'.deleted-backup-'+Date[_0xd532d3(0x1a9)]();await a0_0x3803da['copyFile'](_0x5ad016,_0x119425),await a0_0x3803da[_0xd532d3(0x187)](_0x5ad016);const _0x46dba9=this[_0xd532d3(0x1ae)][_0xd532d3(0x205)](_0x5ad016,_0xa3750e),_0x5e42b3=this['directoryAccessManager'][_0xd532d3(0x205)](_0x119425,_0xa3750e);return{'success':!![],'action':'delete','filePath':_0x46dba9,'fullPath':_0x5ad016,'size':_0xcabb7c['size'],'backupPath':_0x5e42b3,'backupFullPath':_0x119425,'message':_0xd532d3(0x1a2)+_0x5ad016+'\x20(backup\x20created)'};}catch(_0x25eeae){throw new Error(_0xd532d3(0x1a7)+_0x5ad016+':\x20'+_0x25eeae[_0xd532d3(0x211)]);}}async['copyFile'](_0x58e991,_0x54be25,_0x247d1c){const _0x574910=a0_0x113996,_0x34cedd=this['directoryAccessManager']['getWorkingDirectory'](_0x247d1c),_0x4872d3=this[_0x574910(0x207)](_0x58e991,_0x34cedd),_0xca5a61=this['resolvePath'](_0x54be25,_0x34cedd),_0x1b1644=this[_0x574910(0x1ae)]['validateReadAccess'](_0x4872d3,_0x247d1c);if(!_0x1b1644['allowed'])throw new Error('Source\x20read\x20access\x20denied:\x20'+_0x1b1644[_0x574910(0x1ab)]+'\x20('+_0x1b1644[_0x574910(0x1b8)]+')');const _0x2701b9=this['directoryAccessManager'][_0x574910(0x1c2)](_0xca5a61,_0x247d1c);if(!_0x2701b9[_0x574910(0x1d5)])throw new Error(_0x574910(0x192)+_0x2701b9['reason']+'\x20('+_0x2701b9['path']+')');try{const _0x4996ae=await a0_0x3803da['stat'](_0x4872d3);if(_0x4996ae[_0x574910(0x1b0)]>this['maxFileSize'])throw new Error('Source\x20file\x20too\x20large:\x20'+_0x4996ae['size']+'\x20bytes');const _0x36202c=a0_0xd7c609[_0x574910(0x20a)](_0xca5a61);await a0_0x3803da[_0x574910(0x193)](_0x36202c,{'recursive':!![]}),await a0_0x3803da[_0x574910(0x1d4)](_0x4872d3,_0xca5a61);const _0x525491=this[_0x574910(0x1ae)]['createRelativePath'](_0x4872d3,_0x247d1c),_0x509efb=this['directoryAccessManager']['createRelativePath'](_0xca5a61,_0x247d1c);return{'success':!![],'action':'copy','sourcePath':_0x525491,'destPath':_0x509efb,'sourceFullPath':_0x4872d3,'destFullPath':_0xca5a61,'size':_0x4996ae['size'],'message':_0x574910(0x189)+_0x4872d3+_0x574910(0x198)+_0xca5a61};}catch(_0x2f7146){throw new Error('Failed\x20to\x20copy\x20'+_0x4872d3+'\x20to\x20'+_0xca5a61+':\x20'+_0x2f7146[_0x574910(0x211)]);}}async['moveFile'](_0x503b5a,_0x5e04ee,_0x382650){const _0x25c8b9=a0_0x113996,_0x5a3dc8=this['directoryAccessManager']['getWorkingDirectory'](_0x382650),_0x2e9622=this[_0x25c8b9(0x207)](_0x503b5a,_0x5a3dc8),_0x58d78b=this['resolvePath'](_0x5e04ee,_0x5a3dc8),_0x5b9cd7=this[_0x25c8b9(0x1ae)]['validateReadAccess'](_0x2e9622,_0x382650);if(!_0x5b9cd7[_0x25c8b9(0x1d5)])throw new Error('Read\x20access\x20denied\x20for\x20source:\x20'+_0x5b9cd7[_0x25c8b9(0x1ab)]+'\x20('+_0x5b9cd7['path']+')');const _0x4469c2=this[_0x25c8b9(0x1ae)]['validateWriteAccess'](_0x58d78b,_0x382650);if(!_0x4469c2[_0x25c8b9(0x1d5)])throw new Error('Write\x20access\x20denied\x20for\x20destination:\x20'+_0x4469c2[_0x25c8b9(0x1ab)]+'\x20('+_0x4469c2[_0x25c8b9(0x1b8)]+')');try{const _0x455d6d=await a0_0x3803da[_0x25c8b9(0x1d7)](_0x2e9622),_0x13535d=a0_0xd7c609[_0x25c8b9(0x20a)](_0x58d78b);await a0_0x3803da['mkdir'](_0x13535d,{'recursive':!![]}),await a0_0x3803da[_0x25c8b9(0x1ea)](_0x2e9622,_0x58d78b);const _0x488a47=this[_0x25c8b9(0x1ae)][_0x25c8b9(0x205)](_0x2e9622,_0x382650),_0x29f750=this[_0x25c8b9(0x1ae)][_0x25c8b9(0x205)](_0x58d78b,_0x382650);return{'success':!![],'action':_0x25c8b9(0x188),'sourcePath':_0x488a47,'destPath':_0x29f750,'fullSourcePath':_0x2e9622,'fullDestPath':_0x58d78b,'size':_0x455d6d[_0x25c8b9(0x1b0)],'message':'Moved\x20'+_0x503b5a+_0x25c8b9(0x198)+_0x5e04ee};}catch(_0x5baf3a){throw new Error('Failed\x20to\x20move\x20'+_0x503b5a+_0x25c8b9(0x198)+_0x5e04ee+':\x20'+_0x5baf3a['message']);}}async[a0_0x113996(0x20b)](_0x21f6a7,_0x18a420){const _0x2bc770=a0_0x113996,_0x134677=this[_0x2bc770(0x1ae)]['getWorkingDirectory'](_0x18a420),_0x96628b=this[_0x2bc770(0x207)](_0x21f6a7,_0x134677),_0xdee1e0=this['directoryAccessManager']['validateWriteAccess'](_0x96628b,_0x18a420);if(!_0xdee1e0['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0xdee1e0['reason']+'\x20('+_0xdee1e0[_0x2bc770(0x1b8)]+')');try{await a0_0x3803da['mkdir'](_0x96628b,{'recursive':!![]});const _0x302340=this[_0x2bc770(0x1ae)]['createRelativePath'](_0x96628b,_0x18a420);return{'success':!![],'action':_0x2bc770(0x1aa),'directory':_0x302340,'fullPath':_0x96628b,'message':_0x2bc770(0x1f5)+_0x21f6a7};}catch(_0x474563){throw new Error('Failed\x20to\x20create\x20directory\x20'+_0x21f6a7+':\x20'+_0x474563[_0x2bc770(0x211)]);}}async['listDirectory'](_0x194bd8,_0x2332a7){const _0x33cd4f=a0_0x113996,_0x5bee21=this['directoryAccessManager'][_0x33cd4f(0x1dd)](_0x2332a7),_0x1a0093=this[_0x33cd4f(0x207)](_0x194bd8,_0x5bee21),_0x23301f=this[_0x33cd4f(0x1ae)][_0x33cd4f(0x1f7)](_0x1a0093,_0x2332a7);if(!_0x23301f[_0x33cd4f(0x1d5)])throw new Error(_0x33cd4f(0x1ce)+_0x23301f[_0x33cd4f(0x1ab)]+'\x20('+_0x23301f[_0x33cd4f(0x1b8)]+')');try{const _0x124558=await a0_0x3803da['readdir'](_0x1a0093,{'withFileTypes':!![]}),_0x1ec661=[];for(const _0x1bd1e1 of _0x124558){const _0x44b52d=a0_0xd7c609[_0x33cd4f(0x1e7)](_0x1a0093,_0x1bd1e1[_0x33cd4f(0x20f)]),_0x4555e0=await a0_0x3803da[_0x33cd4f(0x1d7)](_0x44b52d);_0x1ec661['push']({'name':_0x1bd1e1[_0x33cd4f(0x20f)],'type':_0x1bd1e1[_0x33cd4f(0x1bd)]()?'directory':_0x33cd4f(0x19c),'size':_0x1bd1e1['isFile']()?_0x4555e0[_0x33cd4f(0x1b0)]:undefined,'lastModified':_0x4555e0[_0x33cd4f(0x1ca)]['toISOString'](),'permissions':_0x4555e0['mode'],'isSymlink':_0x1bd1e1[_0x33cd4f(0x1fc)]()});}const _0x3a2c8c=this['directoryAccessManager']['createRelativePath'](_0x1a0093,_0x2332a7);return{'success':!![],'action':_0x33cd4f(0x1dc),'directory':_0x3a2c8c,'fullPath':_0x1a0093,'contents':_0x1ec661,'totalItems':_0x1ec661['length'],'directories':_0x1ec661['filter'](_0x4e1f39=>_0x4e1f39['type']===_0x33cd4f(0x210))[_0x33cd4f(0x200)],'files':_0x1ec661['filter'](_0x54c452=>_0x54c452['type']===_0x33cd4f(0x19c))['length'],'message':_0x33cd4f(0x190)+_0x1ec661['length']+'\x20items\x20in\x20'+_0x194bd8};}catch(_0x4dde0f){throw new Error('Failed\x20to\x20list\x20directory\x20'+_0x194bd8+':\x20'+_0x4dde0f[_0x33cd4f(0x211)]);}}async['checkExists'](_0x3bcbf7,_0x711a36){const _0x479b40=a0_0x113996,_0x899d1c=this[_0x479b40(0x1ae)][_0x479b40(0x1dd)](_0x711a36),_0x521cca=this['resolvePath'](_0x3bcbf7,_0x899d1c),_0x2f944e=this[_0x479b40(0x1ae)][_0x479b40(0x1f7)](_0x521cca,_0x711a36);if(!_0x2f944e['allowed'])throw new Error(_0x479b40(0x1ce)+_0x2f944e['reason']+'\x20('+_0x2f944e['path']+')');try{const _0x332dbd=await a0_0x3803da['stat'](_0x521cca),_0x2a6206=this['directoryAccessManager']['createRelativePath'](_0x521cca,_0x711a36);return{'success':!![],'action':'exists','filePath':_0x2a6206,'fullPath':_0x521cca,'exists':!![],'type':_0x332dbd[_0x479b40(0x1bd)]()?_0x479b40(0x210):_0x479b40(0x19c),'message':_0x3bcbf7+'\x20exists\x20as\x20'+(_0x332dbd[_0x479b40(0x1bd)]()?'directory':_0x479b40(0x19c))};}catch(_0x15e7b0){if(_0x15e7b0['code']==='ENOENT'){const _0x1a7731=this['directoryAccessManager']['createRelativePath'](_0x521cca,_0x711a36);return{'success':!![],'action':'exists','filePath':_0x1a7731,'fullPath':_0x521cca,'exists':![],'message':_0x3bcbf7+'\x20does\x20not\x20exist'};}throw new Error('Failed\x20to\x20check\x20existence\x20of\x20'+_0x3bcbf7+':\x20'+_0x15e7b0[_0x479b40(0x211)]);}}async[a0_0x113996(0x1ba)](_0xfedeef,_0x122ec2){const _0x3f6747=a0_0x113996,_0xe9d84a=this['directoryAccessManager'][_0x3f6747(0x1dd)](_0x122ec2),_0x20927b=this[_0x3f6747(0x207)](_0xfedeef,_0xe9d84a),_0x4f58b5=this['directoryAccessManager'][_0x3f6747(0x1f7)](_0x20927b,_0x122ec2);if(!_0x4f58b5[_0x3f6747(0x1d5)])throw new Error('Read\x20access\x20denied:\x20'+_0x4f58b5[_0x3f6747(0x1ab)]+'\x20('+_0x4f58b5[_0x3f6747(0x1b8)]+')');try{const _0x24e56e=await a0_0x3803da[_0x3f6747(0x1d7)](_0x20927b),_0x3383af=this[_0x3f6747(0x1ae)][_0x3f6747(0x205)](_0x20927b,_0x122ec2);return{'success':!![],'action':'stats','filePath':_0x3383af,'fullPath':_0x20927b,'stats':{'size':_0x24e56e['size'],'type':_0x24e56e[_0x3f6747(0x1bd)]()?'directory':_0x3f6747(0x19c),'lastModified':_0x24e56e['mtime'][_0x3f6747(0x20e)](),'lastAccessed':_0x24e56e['atime'][_0x3f6747(0x20e)](),'created':_0x24e56e['birthtime'][_0x3f6747(0x20e)](),'permissions':_0x24e56e[_0x3f6747(0x1e4)],'isSymlink':_0x24e56e[_0x3f6747(0x1fc)]()},'message':_0x3f6747(0x1d6)+_0xfedeef};}catch(_0xd99144){throw new Error(_0x3f6747(0x19b)+_0xfedeef+':\x20'+_0xd99144[_0x3f6747(0x211)]);}}[a0_0x113996(0x207)](_0xd54c9d,_0x31a2d2){const _0x4d08f9=a0_0x113996;if(a0_0xd7c609[_0x4d08f9(0x1e8)](_0xd54c9d))return a0_0xd7c609['normalize'](_0xd54c9d);return a0_0xd7c609['resolve'](_0x31a2d2,_0xd54c9d);}[a0_0x113996(0x1b2)](_0x181eb5,_0x8017ce,_0x28978d='read'){const _0x349c4d=a0_0x113996,_0xfb2444=_0x28978d===_0x349c4d(0x1ed)?this['directoryAccessManager']['validateWriteAccess'](_0x181eb5,_0x8017ce):this['directoryAccessManager']['validateReadAccess'](_0x181eb5,_0x8017ce);if(!_0xfb2444[_0x349c4d(0x1d5)])throw new Error(_0x28978d+_0x349c4d(0x1d0)+_0xfb2444[_0x349c4d(0x1ab)]+'\x20('+_0xfb2444[_0x349c4d(0x1b8)]+')');return _0xfb2444;}['isAllowedFileExtension'](_0x22835f){const _0x390c07=a0_0x113996,_0x325309=a0_0xd7c609['extname'](_0x22835f)['toLowerCase']();if(this[_0x390c07(0x1eb)][_0x390c07(0x1b5)](_0x325309))return![];if(this[_0x390c07(0x1a6)]&&!this[_0x390c07(0x1a6)][_0x390c07(0x1b5)](_0x325309))return![];return!![];}['addToHistory'](_0xffb19b,_0xd0282b,_0x2d7eaf){const _0x58f750=a0_0x113996,_0x559892={'timestamp':new Date()[_0x58f750(0x20e)](),'agentId':_0x2d7eaf,'action':_0xffb19b['type'],'filePath':_0xffb19b['filePath']||_0xffb19b[_0x58f750(0x1ef)]||_0xffb19b[_0x58f750(0x210)],'success':_0xd0282b[_0x58f750(0x18b)],'size':_0xd0282b[_0x58f750(0x1b0)]};this['operationHistory']['push'](_0x559892),this['operationHistory']['length']>0xc8&&(this[_0x58f750(0x1bb)]=this['operationHistory']['slice'](-0xc8));}['getSupportedActions'](){const _0x19810f=a0_0x113996;return['read','write','append',_0x19810f(0x1e2),_0x19810f(0x1d2),_0x19810f(0x188),_0x19810f(0x1aa),'list','exists','stats'];}['getParameterSchema'](){const _0x5eb39d=a0_0x113996;return{'type':_0x5eb39d(0x1f0),'properties':{'actions':{'type':_0x5eb39d(0x1ee),'minItems':0x1,'items':{'type':_0x5eb39d(0x1f0),'properties':{'type':{'type':_0x5eb39d(0x1c6),'enum':this['getSupportedActions']()},'filePath':{'type':_0x5eb39d(0x1c6)},'outputPath':{'type':'string'},'sourcePath':{'type':_0x5eb39d(0x1c6)},'destPath':{'type':'string'},'directory':{'type':_0x5eb39d(0x1c6)},'content':{'type':'string'},'encoding':{'type':_0x5eb39d(0x1c6)},'createDirs':{'type':'boolean'}},'required':['type']}}},'required':[_0x5eb39d(0x1b6)]};}[a0_0x113996(0x18c)](_0x32df41=null){const _0x3a62f6=a0_0x113996;if(_0x32df41)return this[_0x3a62f6(0x1bb)]['filter'](_0x4ff894=>_0x4ff894[_0x3a62f6(0x1fd)]===_0x32df41);return[...this['operationHistory']];}}export default FileSystemTool;
@@ -1 +1 @@
1
- const a0_0x16a1e1=a0_0x5bdf;(function(_0x21f9f2,_0xd88a7e){const _0x9c5e5b=a0_0x5bdf,_0x35639b=_0x21f9f2();while(!![]){try{const _0x5be7fd=-parseInt(_0x9c5e5b(0x1b7))/0x1+-parseInt(_0x9c5e5b(0x184))/0x2+parseInt(_0x9c5e5b(0x170))/0x3+-parseInt(_0x9c5e5b(0x17a))/0x4+-parseInt(_0x9c5e5b(0x1c2))/0x5*(parseInt(_0x9c5e5b(0x168))/0x6)+-parseInt(_0x9c5e5b(0x1ca))/0x7*(-parseInt(_0x9c5e5b(0x19c))/0x8)+-parseInt(_0x9c5e5b(0x197))/0x9*(-parseInt(_0x9c5e5b(0x164))/0xa);if(_0x5be7fd===_0xd88a7e)break;else _0x35639b['push'](_0x35639b['shift']());}catch(_0x321322){_0x35639b['push'](_0x35639b['shift']());}}}(a0_0xb022,0x1f90c));import{BaseTool}from'./baseTool.js';import{promises as a0_0x24b7a3}from'fs';function a0_0xb022(){const _0x3b33b9=['zM9YrwfJAa','C2TPChbLzenVDw50','DMvUDG','zgLYzwn0B3jPzxndB3vUDa','lM15ChLFy2fJAgu','cI0Gtwf4Aw11BsbKAxjLy3rVCMLLCZOG','lMjPBG','lNrTCa','lM1HCa','lM1WmW','DhjPBq','lMH5Cg90AgvZAxm','cKzPBgvZoIa','lNDHCG','AxneAxjLy3rVCNK','C3bSAxq','Dg1W','nJK0mJmZCMnpAujR','r2vUzxjHDgLUzYbMAwXLihrYzwu','lNDVzMy','z2v0rgvZy3jPChrPB24','zxHLyW','ogfgCLfwsW','lMjTCa','lNnXBgL0zq','C3rHDhm','C2rPC3q','lMvVDa','zxHJBhvKzurPCMvJDg9YAwvZ','lM1PBI5JC3m','Dhj1zq','lMnSyxnZ','lM5VEa','DhLWzq','zxHJBhvKzurPCMvJDg9YAwvZig11C3qGyMuGyw4GyxjYyxK','lM9IAG','BMfTzq','cKrPCMvJDg9YAwvZoIa','zM9YBwf0vhjLzq','DgfYz2v0','rxjYB3iGyNvPBgrPBMCGDhjLzq','lJD6','ChvZAa','D2HLzwXZ','lNb5za','lMvUDG','DhjLzunVBMzPzW','tufyx0zjtevtx0Lox1rsruu','lM1PBI5QCW','mteWmtiWswfpzKrk','C2HVD1nPEMvZ','zxHJBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','zgLYzwn0B3j5','Aw5MBW','cK1HEcbezxb0AdOG','x19WEwnHy2HLx18','twf4Aw11BsbKAxjLy3rVCNKGy291BNqGCMvHy2HLza','lNjHCG','revgqvvmvf9nqvHFrevqveG','lMr5BgLI','mZvtwwnnENa','AM9PBG','twf4Aw11BsbMAwXLignVDw50ihjLywnOzwq','lNbUzW','y2XLyw51Ca','lMrI','tufyx0rjuKvdve9ssuvt','lNPPCa','otm3ntG3v0Lyug9A','lNb5BW','lMD6','DMvUzg9Y','BwfW','Dg9mB3DLCKnHC2u','AwDUB3jLqMLUyxj5rMLSzxm','cLnRAxbWzwq6ia','zxHJBhvKzuv4DgvUC2LVBNm','cI0Gtwf4Aw11BsbMAwXLCZOG','lMXVzW','lM5LEhq','lMPWzwC','Aw5JBhvKzxm','lNrLBxa','lNzZy29Kzq','lMvNz3m','CMvXDwLYzxnqCM9Qzwn0','lNnV','cKzPBguGvhjLzsbuB29SoIbhzw5LCMf0zsbOAwvYyxjJAgLJywWGDhjLzsbYzxbYzxnLBNrHDgLVBIbVzIbWCM9Qzwn0igrPCMvJDg9YEsbZDhj1y3r1CMuUcGPytuWGvvnbr0u6cJXMAwXLlxrYzwu+cIaGpgrPCMvJDg9YEt5ZCMm8l2rPCMvJDg9YEt4kica8Bwf4lwrLChrOpJq8l21HEc1Kzxb0Ad4kica8Aw5JBhvKzs1LEhrLBNnPB25ZpI5QCYWUANn4lc50CYWUDhn4pc9PBMnSDwrLlwv4DgvUC2LVBNm+cIaGpgv4y2X1zguTzxH0zw5ZAw9UCZ4UDgvZDc5QCYWUC3bLyY5QCZWVzxHJBhvKzs1LEhrLBNnPB25ZpGOGidXZAg93lwzPBgvZpNrYDwu8l3nOB3CTzMLSzxm+cIaGphnOB3CTAgLKzgvUpMzHBhnLpc9ZAg93lwHPzgrLBJ4kpc9MAwXLlxrYzwu+cGPku09oifvtquDfoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicjTyxHezxb0Aci6idqScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUANmIlcaIlMPZEciSiciUDhmIlcaIlNrZEcjDlaOGicjLEgnSDwrLrxH0zw5ZAw9UCYi6ifSIlNrLC3qUANmIlcaIlNnWzwmUANmIxsWkicaIC2HVD0zPBgvZiJOGDhj1zsWkicaIC2HVD0HPzgrLBIi6igzHBhnLcN0kygbGcGPqqvjbtuvurvjtoGOkzgLYzwn0B3j5icHVChrPB25HBcK6cIaGlsbeAxjLy3rVCNKGDg8GC2nHBIaOzgvMyxvSDdOGD29YA2LUzYbKAxjLy3rVCNKPcIaGlsbdyw4GyMuGCMvSyxrPDMuGB3iGywjZB2X1DguGCgf0AaOGic0GrxHHBxbSzxm6icjZCMmIlcaIC3jJl2nVBxbVBMvUDhmIlcaIl2HVBwuVDxnLCI9WCM9Qzwn0iGOkBwf4rgvWDgGGkg9WDgLVBMfSktOkicaTie1HEgLTDw0GzgvWDgGGDg8GC2nHBIaOzgvMyxvSDdOG','y2HPBgrYzw4','CMvZB2X2zq','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','Bwf4rgvWDgG','AxnbCNjHEq','C3rHCNrZv2L0Aa','Bg9Nz2vY','ntbQEKnlwfy','cI0GqMLUyxj5igzPBgvZignHBIbIzsbMAwX0zxjLzcb3AxrOigLNBM9YzujPBMfYEuzPBgvZig9WDgLVBGOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','z2vUzxjHDgvtDw1Tyxj5','zMfSC2u','mty1odiYCxjHuhzp','C2HVD0zPBgvZ','BwvZC2fNzq','zMLSzxndB3vUDa','BgvUz3rO','yM93zxjFy29TCg9Uzw50CW','CMvSyxrPDMu','su5eru5u','ndy1nty3C2XZDNHX','4PscicaG','zMLSDgvY','AhrTBgnVDG','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','zgLZDa','Aw5JBhvKzuv4DgvUC2LVBNm','tufyx0rfufrix0XjtuLu','zxHLy3v0zq','ugf0Acb0CMf2zxjZywWGkc4UksbUB3qGywXSB3DLzcbMB3iGC2vJDxjPDhK','nty4ntq0BfrvvgTe','4Psu4Psa4Psaia','yMfZzw5HBwu','y292zxjHz2u','cIaGica','D29YA2LUz0rPCMvJDg9YEq','zxH0BMfTzq','yNvPBgruCMvL','Bg9JywXLq29TCgfYzq','ieDc','mtK5nJe2AenqwejL','Dg9gAxHLza'];a0_0xb022=function(){return _0x3b33b9;};return a0_0xb022();}import a0_0x430db7 from'path';const TREE_CONFIG={'DEFAULT_MAX_DEPTH':0x3,'MAX_DEPTH_LIMIT':0xa,'MAX_FILES_IN_TREE':0x2710,'MAX_DIRECTORIES':0x3e8,'SHOW_FILES_DEFAULT':!![],'SHOW_HIDDEN_DEFAULT':![],'SHOW_SIZES_DEFAULT':![],'SYMBOLS':{'BRANCH':'├──\x20','LAST_BRANCH':a0_0x16a1e1(0x17b),'VERTICAL':a0_0x16a1e1(0x171),'INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=['node_modules','.git',a0_0x16a1e1(0x175),'build',a0_0x16a1e1(0x17d),a0_0x16a1e1(0x1d5),'.nuxt','.cache','out',a0_0x16a1e1(0x1ad),a0_0x16a1e1(0x1cd),a0_0x16a1e1(0x16d),a0_0x16a1e1(0x158),'.idea','.vs',a0_0x16a1e1(0x1bd),a0_0x16a1e1(0x188),'env',a0_0x16a1e1(0x1b3),'.pytest_cache',a0_0x16a1e1(0x18a),'eggs',a0_0x16a1e1(0x159),'lib','lib64','parts',a0_0x16a1e1(0x1a0),a0_0x16a1e1(0x1b1),'.tox',a0_0x16a1e1(0x1a6),a0_0x16a1e1(0x173),a0_0x16a1e1(0x191),a0_0x16a1e1(0x196),'temp',a0_0x16a1e1(0x18d),'.temp'],DEFAULT_IGNORE_EXTENSIONS=[a0_0x16a1e1(0x18e),a0_0x16a1e1(0x1b6),a0_0x16a1e1(0x1a3),'.lock',a0_0x16a1e1(0x1d4),a0_0x16a1e1(0x18d),a0_0x16a1e1(0x157),'.pyc',a0_0x16a1e1(0x1cb),a0_0x16a1e1(0x1b2),a0_0x16a1e1(0x15b),'.dll',a0_0x16a1e1(0x1c1),'.exe',a0_0x16a1e1(0x1a9),'.o','.a',a0_0x16a1e1(0x1a5),'.jar',a0_0x16a1e1(0x193)],BINARY_EXTENSIONS=[a0_0x16a1e1(0x1c5),'.jpg',a0_0x16a1e1(0x1d6),'.gif',a0_0x16a1e1(0x19d),'.ico','.svg','.pdf',a0_0x16a1e1(0x1c9),'.tar',a0_0x16a1e1(0x1cc),a0_0x16a1e1(0x1bf),a0_0x16a1e1(0x1af),a0_0x16a1e1(0x18f),'.mp4','.avi','.mov','.wmv',a0_0x16a1e1(0x199),'.woff2','.ttf',a0_0x16a1e1(0x1a1),a0_0x16a1e1(0x18c),'.dat',a0_0x16a1e1(0x1c7),a0_0x16a1e1(0x19e)];function a0_0x5bdf(_0x4cad19,_0x5a3b98){_0x4cad19=_0x4cad19-0x157;const _0xb0229b=a0_0xb022();let _0x5bdf2a=_0xb0229b[_0x4cad19];if(a0_0x5bdf['qmuIlr']===undefined){var _0x1b39f2=function(_0x47afda){const _0x37012b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24b7a3='',_0x430db7='';for(let _0x224d0c=0x0,_0x4f1505,_0x905974,_0x36a607=0x0;_0x905974=_0x47afda['charAt'](_0x36a607++);~_0x905974&&(_0x4f1505=_0x224d0c%0x4?_0x4f1505*0x40+_0x905974:_0x905974,_0x224d0c++%0x4)?_0x24b7a3+=String['fromCharCode'](0xff&_0x4f1505>>(-0x2*_0x224d0c&0x6)):0x0){_0x905974=_0x37012b['indexOf'](_0x905974);}for(let _0x3bdcdf=0x0,_0x35810d=_0x24b7a3['length'];_0x3bdcdf<_0x35810d;_0x3bdcdf++){_0x430db7+='%'+('00'+_0x24b7a3['charCodeAt'](_0x3bdcdf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x430db7);};a0_0x5bdf['fKjAHS']=_0x1b39f2,a0_0x5bdf['HcHXBP']={},a0_0x5bdf['qmuIlr']=!![];}const _0x5726d0=_0xb0229b[0x0],_0x5328f8=_0x4cad19+_0x5726d0,_0x56554f=a0_0x5bdf['HcHXBP'][_0x5328f8];return!_0x56554f?(_0x5bdf2a=a0_0x5bdf['fKjAHS'](_0x5bdf2a),a0_0x5bdf['HcHXBP'][_0x5328f8]=_0x5bdf2a):_0x5bdf2a=_0x56554f,_0x5bdf2a;}class FileTreeTool extends BaseTool{constructor(_0x224d0c={},_0x4f1505=null){const _0x1f947e=a0_0x16a1e1;super(_0x224d0c,_0x4f1505),this[_0x1f947e(0x15a)]=!![],this['isAsync']=!![],this['timeout']=_0x224d0c['timeout']||0x1d4c0,this[_0x1f947e(0x1b4)]={...TREE_CONFIG,..._0x224d0c[_0x1f947e(0x1b4)]},this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}[a0_0x16a1e1(0x19a)](){const _0x1d76f2=a0_0x16a1e1;return _0x1d76f2(0x15c)+TREE_CONFIG['DEFAULT_MAX_DEPTH']+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG[_0x1d76f2(0x177)]+'\x0a\x20\x20-\x20Deeper\x20=\x20more\x20detail,\x20slower\x20performance\x0a\x0aincludeExtensions\x20(optional\x20-\x20WHITELIST):\x0a\x20\x20-\x20Include\x20ONLY\x20these\x20file\x20extensions\x0a\x20\x20-\x20Comma-separated\x20list\x0a\x20\x20-\x20Examples:\x20\x22.js,.jsx,.ts,.tsx\x22\x20or\x20\x22.py,.pyw\x22\x0a\x20\x20-\x20Takes\x20precedence\x20over\x20excludeExtensions\x0a\x0aexcludeExtensions\x20(optional\x20-\x20BLACKLIST):\x0a\x20\x20-\x20Exclude\x20these\x20file\x20extensions\x0a\x20\x20-\x20Comma-separated\x20list\x0a\x20\x20-\x20Examples:\x20\x22.test.js,.spec.js,.min.js\x22\x0a\x20\x20-\x20Only\x20applies\x20if\x20includeExtensions\x20is\x20not\x20set\x0a\x0aexcludeDirectories\x20(optional):\x0a\x20\x20-\x20Additional\x20directories\x20to\x20ignore\x0a\x20\x20-\x20Already\x20ignores:\x20node_modules,\x20.git,\x20dist,\x20build,\x20etc.\x0a\x20\x20-\x20Examples:\x20\x22tests,fixtures,mocks\x22\x0a\x0ashowFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20files\x20(default:\x20true)\x0a\x20\x20-\x20Set\x20to\x20false\x20to\x20show\x20only\x20directory\x20structure\x0a\x0ashowHidden\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20hidden\x20files/folders\x20(default:\x20false)\x0a\x20\x20-\x20Hidden\x20=\x20starts\x20with\x20\x27.\x27\x0a\x0ashowSizes\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20file\x20sizes\x20(default:\x20false)\x0a\x20\x20-\x20Format:\x20KB,\x20MB\x0a\x0aignoreBinaryFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20ignore\x20binary/media\x20files\x20(default:\x20false)\x0a\x20\x20-\x20Ignores:\x20images,\x20videos,\x20archives,\x20fonts,\x20etc.\x0a\x0aFILTERING\x20STRATEGIES:\x0a\x0aStrategy\x201:\x20WHITELIST\x20(Include\x20Only)\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx</include-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20ONLY\x20.js\x20and\x20.jsx\x20files\x0a\x0aStrategy\x202:\x20BLACKLIST\x20(Exclude)\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js</exclude-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20all\x20files\x20EXCEPT\x20.test.js\x20and\x20.spec.js\x0a\x0aStrategy\x203:\x20COMBINED\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<exclude-extensions>.test.js,.spec.ts</exclude-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20JS/JSX/TS/TSX\x20files,\x20but\x20excludes\x20test\x20files\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Basic\x20tree:\x0a<file-tree>\x0a\x20\x20<directory>.</directory>\x0a</file-tree>\x0a\x0aExample\x202\x20-\x20JavaScript/TypeScript\x20only:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<max-depth>5</max-depth>\x0a</file-tree>\x0a\x0aExample\x203\x20-\x20Python\x20project\x20structure:\x0a<file-tree>\x0a\x20\x20<directory>.</directory>\x0a\x20\x20<include-extensions>.py</include-extensions>\x0a\x20\x20<exclude-extensions>.pyc</exclude-extensions>\x0a\x20\x20<show-files>true</show-files>\x0a</file-tree>\x0a\x0aExample\x204\x20-\x20Directory\x20structure\x20only:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<show-files>false</show-files>\x0a\x20\x20<max-depth>3</max-depth>\x0a</file-tree>\x0a\x0aExample\x205\x20-\x20Exclude\x20test\x20files:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js,.test.ts,.spec.ts</exclude-extensions>\x0a\x20\x20<exclude-directories>__tests__,tests,specs</exclude-directories>\x0a</file-tree>\x0a\x0aOUTPUT\x20FORMAT:\x0asrc/\x0a├──\x20components/\x0a│\x20\x20\x20├──\x20Header.jsx\x0a│\x20\x20\x20├──\x20Footer.jsx\x0a│\x20\x20\x20└──\x20Layout.jsx\x0a├──\x20utils/\x0a│\x20\x20\x20├──\x20helpers.js\x0a│\x20\x20\x20└──\x20config.js\x0a└──\x20index.js\x0a\x0aAUTOMATIC\x20IGNORES:\x0aThe\x20tool\x20automatically\x20ignores\x20common\x20directories:\x0a-\x20node_modules,\x20.git,\x20dist,\x20build,\x20coverage\x0a-\x20.next,\x20.nuxt,\x20.cache,\x20out,\x20target\x0a-\x20.vscode,\x20.idea,\x20__pycache__,\x20venv\x0aAnd\x20more\x20(see\x20full\x20list\x20in\x20DEFAULT_IGNORE_DIRECTORIES)\x0a\x0aLIMITATIONS:\x0a-\x20Maximum\x20depth:\x20'+TREE_CONFIG[_0x1d76f2(0x177)]+_0x1d76f2(0x1d3)+TREE_CONFIG[_0x1d76f2(0x1b5)]+_0x1d76f2(0x18b)+TREE_CONFIG['MAX_DIRECTORIES']+_0x1d76f2(0x165);}['parseParameters'](_0x905974){const _0x2af267=a0_0x16a1e1;try{if(_0x905974[_0x2af267(0x190)]()[_0x2af267(0x162)]('{')){const _0x17e8f6=JSON['parse'](_0x905974);return{'directory':_0x17e8f6[_0x2af267(0x1ba)]||'.','maxDepth':_0x17e8f6[_0x2af267(0x160)]||TREE_CONFIG[_0x2af267(0x1c0)],'includeExtensions':_0x17e8f6[_0x2af267(0x176)]||[],'excludeExtensions':_0x17e8f6[_0x2af267(0x1d2)]||[],'excludeDirectories':_0x17e8f6['excludeDirectories']||[],'showFiles':_0x17e8f6[_0x2af267(0x169)]!==![],'showHidden':_0x17e8f6['showHidden']===!![],'showSizes':_0x17e8f6[_0x2af267(0x1b8)]===!![],'ignoreBinaryFiles':_0x17e8f6[_0x2af267(0x1d0)]===!![]};}const _0x36a607={'directory':'.','maxDepth':TREE_CONFIG[_0x2af267(0x1c0)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x3bdcdf=/<directory>(.*?)<\/directory>/i,_0x35810d=_0x3bdcdf['exec'](_0x905974);_0x35810d&&(_0x36a607[_0x2af267(0x1ba)]=_0x35810d[0x1][_0x2af267(0x190)]());const _0x2154cd=/<max-depth>(\d+)<\/max-depth>/i,_0x5475a9=_0x2154cd[_0x2af267(0x19b)](_0x905974);_0x5475a9&&(_0x36a607['maxDepth']=parseInt(_0x5475a9[0x1],0xa));const _0x562925=/<include-extensions>(.*?)<\/include-extensions>/i,_0x229881=_0x562925[_0x2af267(0x19b)](_0x905974);_0x229881&&(_0x36a607[_0x2af267(0x176)]=_0x229881[0x1]['split'](',')['map'](_0x1693bc=>_0x1693bc[_0x2af267(0x190)]())['filter'](_0x297766=>_0x297766[_0x2af267(0x16c)]>0x0));const _0x10041b=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x487ad8=_0x10041b['exec'](_0x905974);_0x487ad8&&(_0x36a607[_0x2af267(0x1d2)]=_0x487ad8[0x1][_0x2af267(0x195)](',')[_0x2af267(0x1ce)](_0xadf846=>_0xadf846['trim']())[_0x2af267(0x172)](_0x39d8f0=>_0x39d8f0['length']>0x0));const _0x33bdae=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x584403=_0x33bdae[_0x2af267(0x19b)](_0x905974);_0x584403&&(_0x36a607['excludeDirectories']=_0x584403[0x1]['split'](',')[_0x2af267(0x1ce)](_0x89d84d=>_0x89d84d[_0x2af267(0x190)]())[_0x2af267(0x172)](_0x4e00e1=>_0x4e00e1['length']>0x0));const _0x3bd262=/<show-files>(.*?)<\/show-files>/i,_0x1bffd4=_0x3bd262[_0x2af267(0x19b)](_0x905974);_0x1bffd4&&(_0x36a607[_0x2af267(0x169)]=_0x1bffd4[0x1]['trim']()['toLowerCase']()!==_0x2af267(0x167));const _0x2d1d72=/<show-hidden>(.*?)<\/show-hidden>/i,_0x33c031=_0x2d1d72[_0x2af267(0x19b)](_0x905974);_0x33c031&&(_0x36a607['showHidden']=_0x33c031[0x1][_0x2af267(0x190)]()[_0x2af267(0x1cf)]()==='true');const _0xd3aa83=/<show-sizes>(.*?)<\/show-sizes>/i,_0x30cbe3=_0xd3aa83['exec'](_0x905974);_0x30cbe3&&(_0x36a607['showSizes']=_0x30cbe3[0x1][_0x2af267(0x190)]()[_0x2af267(0x1cf)]()===_0x2af267(0x1a4));const _0x3d1dee=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x5e4b12=_0x3d1dee['exec'](_0x905974);return _0x5e4b12&&(_0x36a607['ignoreBinaryFiles']=_0x5e4b12[0x1]['trim']()[_0x2af267(0x1cf)]()===_0x2af267(0x1a4)),_0x36a607;}catch(_0x147d37){return this[_0x2af267(0x163)]?.['error']('Failed\x20to\x20parse\x20file-tree\x20parameters',{'error':_0x147d37['message']}),{'directory':'.','maxDepth':TREE_CONFIG[_0x2af267(0x1c0)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x147d37[_0x2af267(0x16a)]};}}['getRequiredParameters'](){return[];}['customValidateParameters'](_0x530319){const _0x10a7bf=a0_0x16a1e1,_0x3fd1fe=[];if(_0x530319['maxDepth']!==undefined){if(typeof _0x530319['maxDepth']!=='number'||_0x530319['maxDepth']<0x1)_0x3fd1fe['push']('max-depth\x20must\x20be\x20a\x20positive\x20number');else _0x530319[_0x10a7bf(0x160)]>this[_0x10a7bf(0x1b4)][_0x10a7bf(0x177)]&&_0x3fd1fe[_0x10a7bf(0x1b0)]('max-depth\x20cannot\x20exceed\x20'+this['treeConfig']['MAX_DEPTH_LIMIT']);}_0x530319[_0x10a7bf(0x1ba)]&&_0x530319['directory'][_0x10a7bf(0x1d7)]('..')&&_0x3fd1fe[_0x10a7bf(0x1b0)](_0x10a7bf(0x179));if(_0x530319[_0x10a7bf(0x176)]!==undefined&&_0x530319[_0x10a7bf(0x176)]!==null){if(!Array[_0x10a7bf(0x161)](_0x530319['includeExtensions']))_0x3fd1fe[_0x10a7bf(0x1b0)]('includeExtensions\x20must\x20be\x20an\x20array');else for(const _0x474aa6 of _0x530319[_0x10a7bf(0x176)]){!_0x474aa6['startsWith']('.')&&_0x3fd1fe['push']('Extension\x20\x22'+_0x474aa6+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}if(_0x530319['excludeExtensions']!==undefined&&_0x530319[_0x10a7bf(0x1d2)]!==null){if(!Array['isArray'](_0x530319[_0x10a7bf(0x1d2)]))_0x3fd1fe[_0x10a7bf(0x1b0)](_0x10a7bf(0x1b9));else for(const _0x17ad8e of _0x530319['excludeExtensions']){!_0x17ad8e['startsWith']('.')&&_0x3fd1fe[_0x10a7bf(0x1b0)]('Extension\x20\x22'+_0x17ad8e+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}_0x530319[_0x10a7bf(0x1a2)]!==undefined&&_0x530319[_0x10a7bf(0x1a2)]!==null&&(!Array[_0x10a7bf(0x161)](_0x530319['excludeDirectories'])&&_0x3fd1fe['push'](_0x10a7bf(0x1a8)));if(_0x3fd1fe['length']>0x0)throw new Error('Parameter\x20validation\x20failed:\x20'+_0x3fd1fe[_0x10a7bf(0x1c3)](',\x20'));return{'valid':!![],'errors':[]};}async[a0_0x16a1e1(0x178)](_0x12cbef,_0x2cf0bd){const _0x15afa5=a0_0x16a1e1,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG['DEFAULT_MAX_DEPTH'],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x12cbef,{projectDir:_0x13754d,agentId:_0x5bc2bc,directoryAccess:_0x5ac5d6}=_0x2cf0bd;let _0x5b472f=_0x13754d||process['cwd']();_0x5ac5d6&&_0x5ac5d6[_0x15afa5(0x17f)]&&(_0x5b472f=_0x5ac5d6[_0x15afa5(0x17f)],this['logger']?.['info']('Using\x20agent\x20configured\x20working\x20directory',{'workingDirectory':_0x5ac5d6[_0x15afa5(0x17f)],'agentId':_0x5bc2bc}));const _0x206fb6=a0_0x430db7['isAbsolute'](directory)?directory:a0_0x430db7[_0x15afa5(0x15e)](_0x5b472f,directory);try{const _0x2f56dd=await a0_0x24b7a3['stat'](_0x206fb6);if(!_0x2f56dd[_0x15afa5(0x194)]())throw new Error('Path\x20is\x20not\x20a\x20directory');}catch(_0x1c7d87){throw new Error(_0x15afa5(0x174)+directory);}this[_0x15afa5(0x163)]?.[_0x15afa5(0x1bb)](_0x15afa5(0x198),{'directory':directory,'targetDir':_0x206fb6,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.['length']||0x0,'agentId':_0x5bc2bc}),this[_0x15afa5(0x19f)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x9a40fd=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x2304f9=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x2304f9['push'](...BINARY_EXTENSIONS);const _0x88da19=await this[_0x15afa5(0x181)](_0x206fb6,_0x206fb6,0x0,maxDepth,_0x9a40fd,includeExtensions||[],[...excludeExtensions||[],..._0x2304f9],showFiles,showHidden,showSizes),_0x47ca38=this[_0x15afa5(0x1ac)](_0x88da19),_0x3cff95=this[_0x15afa5(0x166)](directory,this['stats'],maxDepth);return{'success':!![],'directory':_0x206fb6,'tree':_0x47ca38,'summary':_0x3cff95,'maxDepth':maxDepth,'totalFiles':this['stats'][_0x15afa5(0x16b)],'totalDirectories':this['stats']['directoriesCount'],'skippedCount':this[_0x15afa5(0x19f)][_0x15afa5(0x187)],'statistics':{...this[_0x15afa5(0x19f)]},'toolUsed':'file-tree'};}async[a0_0x16a1e1(0x181)](_0x4f19b4,_0x15435f,_0x52a6cc,_0x3d4fff,_0x5c78fb,_0x4265b6,_0x1f1027,_0x88e715,_0x423ee0,_0x30e513){const _0x15e661=a0_0x16a1e1;if(_0x52a6cc>_0x3d4fff)return null;if(this['stats']['directoriesCount']>=this['treeConfig'][_0x15e661(0x1c8)])return this[_0x15e661(0x163)]?.['warn'](_0x15e661(0x1be),{'maxDirectories':this[_0x15e661(0x1b4)][_0x15e661(0x1c8)]}),null;try{const _0x3793dd=await a0_0x24b7a3['readdir'](_0x15435f,{'withFileTypes':!![]}),_0x2960c4={'name':_0x52a6cc===0x0?a0_0x430db7[_0x15e661(0x17c)](_0x15435f)+'/':a0_0x430db7[_0x15e661(0x17c)](_0x15435f),'path':a0_0x430db7['relative'](_0x4f19b4,_0x15435f),'type':_0x15e661(0x1ba),'children':[]};this['stats']['directoriesCount']++;for(const _0x42934e of _0x3793dd){if(this['stats']['filesCount']>=this[_0x15e661(0x1b4)][_0x15e661(0x1b5)]){this['logger']?.['warn'](_0x15e661(0x1c4),{'maxFiles':this['treeConfig']['MAX_FILES_IN_TREE']});break;}if(!_0x423ee0&&_0x42934e['name']['startsWith']('.')){this[_0x15e661(0x19f)]['skippedCount']++;continue;}const _0x3005b6=a0_0x430db7['join'](_0x15435f,_0x42934e['name']);if(_0x42934e['isDirectory']()){if(_0x5c78fb[_0x15e661(0x1d7)](_0x42934e[_0x15e661(0x1aa)])){this['stats'][_0x15e661(0x187)]++;continue;}const _0x2ac618=await this['buildTree'](_0x4f19b4,_0x3005b6,_0x52a6cc+0x1,_0x3d4fff,_0x5c78fb,_0x4265b6,_0x1f1027,_0x88e715,_0x423ee0,_0x30e513);_0x2ac618&&(_0x2ac618[_0x15e661(0x15d)][_0x15e661(0x16c)]>0x0||_0x52a6cc===0x0)&&_0x2960c4['children'][_0x15e661(0x1b0)](_0x2ac618);}else{if(_0x42934e['isFile']()&&_0x88e715){if(_0x52a6cc+0x1>_0x3d4fff)continue;const _0x19c569=a0_0x430db7[_0x15e661(0x180)](_0x42934e[_0x15e661(0x1aa)]);if(_0x4265b6['length']>0x0){if(!_0x4265b6[_0x15e661(0x1d7)](_0x19c569)){this[_0x15e661(0x19f)]['skippedCount']++;continue;}}else{if(_0x1f1027[_0x15e661(0x1d7)](_0x19c569)){this['stats']['skippedCount']++;continue;}}let _0x49fbf0='';if(_0x30e513)try{const _0x12f8e9=await a0_0x24b7a3['stat'](_0x3005b6);_0x49fbf0='\x20('+this['formatFileSize'](_0x12f8e9['size'])+')';}catch(_0x43a7de){}_0x2960c4['children']['push']({'name':_0x42934e[_0x15e661(0x1aa)]+_0x49fbf0,'path':a0_0x430db7[_0x15e661(0x16e)](_0x4f19b4,_0x3005b6),'type':'file','ext':_0x19c569}),this['stats']['filesCount']++;}}}return _0x2960c4[_0x15e661(0x15d)]['sort']((_0x5cbdcd,_0x2254fa)=>{const _0x4b270=_0x15e661;if(_0x5cbdcd[_0x4b270(0x1a7)]===_0x2254fa[_0x4b270(0x1a7)])return _0x5cbdcd[_0x4b270(0x1aa)][_0x4b270(0x182)](_0x2254fa[_0x4b270(0x1aa)]);return _0x5cbdcd[_0x4b270(0x1a7)]==='directory'?-0x1:0x1;}),_0x2960c4;}catch(_0x570d24){return this[_0x15e661(0x163)]?.['error'](_0x15e661(0x1ae),{'currentPath':_0x15435f,'error':_0x570d24['message']}),{'name':a0_0x430db7['basename'](_0x15435f),'path':a0_0x430db7[_0x15e661(0x16e)](_0x4f19b4,_0x15435f),'type':'directory','error':_0x570d24['message'],'children':[]};}}[a0_0x16a1e1(0x1ac)](_0x336ee2,_0x3872c1='',_0x59aaad=!![],_0x44fece=!![]){const _0x302cbb=a0_0x16a1e1;if(!_0x336ee2)return'';const _0x18b913=this[_0x302cbb(0x1b4)]['SYMBOLS'];let _0x5da896='';_0x44fece?_0x5da896=_0x336ee2['name']+'\x0a':_0x5da896=''+_0x3872c1+(_0x59aaad?_0x18b913['LAST_BRANCH']:_0x18b913['BRANCH'])+_0x336ee2['name']+'\x0a';if(_0x336ee2['children']&&_0x336ee2[_0x302cbb(0x15d)][_0x302cbb(0x16c)]>0x0){const _0x39d4d2=_0x44fece?'':_0x3872c1+(_0x59aaad?_0x18b913[_0x302cbb(0x16f)]:_0x18b913['VERTICAL']);_0x336ee2['children'][_0x302cbb(0x186)]((_0x1e015b,_0x3d9dcb)=>{const _0xc82f1d=_0x302cbb,_0x56d5e8=_0x3d9dcb===_0x336ee2['children'][_0xc82f1d(0x16c)]-0x1;_0x5da896+=this['formatTree'](_0x1e015b,_0x39d4d2,_0x56d5e8,![]);});}return _0x5da896;}['formatFileSize'](_0x46979d){const _0xc559a9=a0_0x16a1e1,_0x15bcb2=0x400,_0x2df614=_0x15bcb2*0x400,_0x295c3b=_0x2df614*0x400;if(_0x46979d>=_0x295c3b)return(_0x46979d/_0x295c3b)['toFixed'](0x2)+_0xc559a9(0x183);else{if(_0x46979d>=_0x2df614)return(_0x46979d/_0x2df614)['toFixed'](0x2)+'\x20MB';else return _0x46979d>=_0x15bcb2?(_0x46979d/_0x15bcb2)[_0xc559a9(0x185)](0x2)+'\x20KB':_0x46979d+'\x20B';}}['generateSummary'](_0xc833e1,_0x205af7,_0x38d278){const _0x3f2a7a=a0_0x16a1e1;return('\x0aDirectory:\x20'+_0xc833e1+_0x3f2a7a(0x1bc)+_0x38d278+_0x3f2a7a(0x192)+_0x205af7[_0x3f2a7a(0x16b)]+_0x3f2a7a(0x1ab)+_0x205af7[_0x3f2a7a(0x189)]+_0x3f2a7a(0x1d1)+_0x205af7['skippedCount']+_0x3f2a7a(0x17e))['trim']();}async[a0_0x16a1e1(0x1c6)](_0x335fd7){const _0x5e3197=a0_0x16a1e1;this['logger']?.[_0x5e3197(0x1bb)](_0x5e3197(0x15f),{'operationId':_0x335fd7});}}export default FileTreeTool;
1
+ const a0_0x47ef63=a0_0x49d6;(function(_0x1127bc,_0x2456e3){const _0x26f672=a0_0x49d6,_0x51bbaf=_0x1127bc();while(!![]){try{const _0x6c7008=parseInt(_0x26f672(0x230))/0x1*(parseInt(_0x26f672(0x233))/0x2)+parseInt(_0x26f672(0x1ce))/0x3+-parseInt(_0x26f672(0x1de))/0x4+-parseInt(_0x26f672(0x1ea))/0x5*(-parseInt(_0x26f672(0x20e))/0x6)+parseInt(_0x26f672(0x213))/0x7*(parseInt(_0x26f672(0x24c))/0x8)+-parseInt(_0x26f672(0x220))/0x9+parseInt(_0x26f672(0x23f))/0xa*(-parseInt(_0x26f672(0x1f0))/0xb);if(_0x6c7008===_0x2456e3)break;else _0x51bbaf['push'](_0x51bbaf['shift']());}catch(_0x1e05b7){_0x51bbaf['push'](_0x51bbaf['shift']());}}}(a0_0x1142,0xe6b10));import{BaseTool}from'./baseTool.js';import{promises as a0_0x58c8f3}from'fs';import a0_0x2fdc9a 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_0x47ef63(0x21f),'LAST_BRANCH':'└──\x20','VERTICAL':'│\x20\x20\x20','INDENT':'\x20\x20\x20\x20'}},DEFAULT_IGNORE_DIRECTORIES=[a0_0x47ef63(0x1f4),a0_0x47ef63(0x217),'dist','build','coverage',a0_0x47ef63(0x210),'.nuxt',a0_0x47ef63(0x22e),a0_0x47ef63(0x200),'target',a0_0x47ef63(0x1da),'bower_components',a0_0x47ef63(0x1d6),a0_0x47ef63(0x251),'.vs','__pycache__',a0_0x47ef63(0x218),'env',a0_0x47ef63(0x24d),a0_0x47ef63(0x223),a0_0x47ef63(0x22f),a0_0x47ef63(0x226),'.eggs',a0_0x47ef63(0x244),a0_0x47ef63(0x242),a0_0x47ef63(0x1fc),a0_0x47ef63(0x222),'wheels',a0_0x47ef63(0x214),'.nox',a0_0x47ef63(0x209),a0_0x47ef63(0x21a),'tmp',a0_0x47ef63(0x1d1),'.tmp','.temp'],DEFAULT_IGNORE_EXTENSIONS=[a0_0x47ef63(0x239),a0_0x47ef63(0x249),a0_0x47ef63(0x212),'.lock',a0_0x47ef63(0x1ec),'.tmp',a0_0x47ef63(0x23a),'.pyc',a0_0x47ef63(0x250),a0_0x47ef63(0x1db),a0_0x47ef63(0x204),'.dll',a0_0x47ef63(0x20c),'.exe','.obj','.o','.a',a0_0x47ef63(0x203),'.jar','.war'],BINARY_EXTENSIONS=[a0_0x47ef63(0x245),'.jpg','.jpeg','.gif',a0_0x47ef63(0x21c),'.ico',a0_0x47ef63(0x1f5),a0_0x47ef63(0x1fd),a0_0x47ef63(0x22c),a0_0x47ef63(0x248),'.gz','.rar',a0_0x47ef63(0x240),'.mp3',a0_0x47ef63(0x1ef),a0_0x47ef63(0x23d),'.mov','.wmv',a0_0x47ef63(0x228),a0_0x47ef63(0x1ed),'.ttf','.eot','.bin','.dat',a0_0x47ef63(0x241),a0_0x47ef63(0x1fe)];class FileTreeTool extends BaseTool{constructor(_0x12aa82={},_0x413e7a=null){const _0xcf29ee=a0_0x47ef63;super(_0x12aa82,_0x413e7a),this[_0xcf29ee(0x215)]=!![],this['isAsync']=!![],this['timeout']=_0x12aa82['timeout']||0x1d4c0,this['treeConfig']={...TREE_CONFIG,..._0x12aa82[_0xcf29ee(0x1e5)]},this[_0xcf29ee(0x1f9)]={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};}[a0_0x47ef63(0x1e7)](){const _0x4ecd80=a0_0x47ef63;return _0x4ecd80(0x1ee)+TREE_CONFIG[_0x4ecd80(0x1d0)]+')\x0a\x20\x20-\x20Range:\x201-'+TREE_CONFIG[_0x4ecd80(0x247)]+'\x0a\x20\x20-\x20Deeper\x20=\x20more\x20detail,\x20slower\x20performance\x0a\x0aincludeExtensions\x20(optional\x20-\x20WHITELIST):\x0a\x20\x20-\x20Include\x20ONLY\x20these\x20file\x20extensions\x0a\x20\x20-\x20Comma-separated\x20list\x0a\x20\x20-\x20Examples:\x20\x22.js,.jsx,.ts,.tsx\x22\x20or\x20\x22.py,.pyw\x22\x0a\x20\x20-\x20Takes\x20precedence\x20over\x20excludeExtensions\x0a\x0aexcludeExtensions\x20(optional\x20-\x20BLACKLIST):\x0a\x20\x20-\x20Exclude\x20these\x20file\x20extensions\x0a\x20\x20-\x20Comma-separated\x20list\x0a\x20\x20-\x20Examples:\x20\x22.test.js,.spec.js,.min.js\x22\x0a\x20\x20-\x20Only\x20applies\x20if\x20includeExtensions\x20is\x20not\x20set\x0a\x0aexcludeDirectories\x20(optional):\x0a\x20\x20-\x20Additional\x20directories\x20to\x20ignore\x0a\x20\x20-\x20Already\x20ignores:\x20node_modules,\x20.git,\x20dist,\x20build,\x20etc.\x0a\x20\x20-\x20Examples:\x20\x22tests,fixtures,mocks\x22\x0a\x0ashowFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20files\x20(default:\x20true)\x0a\x20\x20-\x20Set\x20to\x20false\x20to\x20show\x20only\x20directory\x20structure\x0a\x0ashowHidden\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20hidden\x20files/folders\x20(default:\x20false)\x0a\x20\x20-\x20Hidden\x20=\x20starts\x20with\x20\x27.\x27\x0a\x0ashowSizes\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20show\x20file\x20sizes\x20(default:\x20false)\x0a\x20\x20-\x20Format:\x20KB,\x20MB\x0a\x0aignoreBinaryFiles\x20(optional):\x0a\x20\x20-\x20Whether\x20to\x20ignore\x20binary/media\x20files\x20(default:\x20false)\x0a\x20\x20-\x20Ignores:\x20images,\x20videos,\x20archives,\x20fonts,\x20etc.\x0a\x0aFILTERING\x20STRATEGIES:\x0a\x0aStrategy\x201:\x20WHITELIST\x20(Include\x20Only)\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx</include-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20ONLY\x20.js\x20and\x20.jsx\x20files\x0a\x0aStrategy\x202:\x20BLACKLIST\x20(Exclude)\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js</exclude-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20all\x20files\x20EXCEPT\x20.test.js\x20and\x20.spec.js\x0a\x0aStrategy\x203:\x20COMBINED\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<exclude-extensions>.test.js,.spec.ts</exclude-extensions>\x0a</file-tree>\x0aResult:\x20Shows\x20JS/JSX/TS/TSX\x20files,\x20but\x20excludes\x20test\x20files\x0a\x0aEXAMPLES:\x0a\x0aExample\x201\x20-\x20Basic\x20tree:\x0a<file-tree>\x0a\x20\x20<directory>.</directory>\x0a</file-tree>\x0a\x0aExample\x202\x20-\x20JavaScript/TypeScript\x20only:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<include-extensions>.js,.jsx,.ts,.tsx</include-extensions>\x0a\x20\x20<max-depth>5</max-depth>\x0a</file-tree>\x0a\x0aExample\x203\x20-\x20Python\x20project\x20structure:\x0a<file-tree>\x0a\x20\x20<directory>.</directory>\x0a\x20\x20<include-extensions>.py</include-extensions>\x0a\x20\x20<exclude-extensions>.pyc</exclude-extensions>\x0a\x20\x20<show-files>true</show-files>\x0a</file-tree>\x0a\x0aExample\x204\x20-\x20Directory\x20structure\x20only:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<show-files>false</show-files>\x0a\x20\x20<max-depth>3</max-depth>\x0a</file-tree>\x0a\x0aExample\x205\x20-\x20Exclude\x20test\x20files:\x0a<file-tree>\x0a\x20\x20<directory>src</directory>\x0a\x20\x20<exclude-extensions>.test.js,.spec.js,.test.ts,.spec.ts</exclude-extensions>\x0a\x20\x20<exclude-directories>__tests__,tests,specs</exclude-directories>\x0a</file-tree>\x0a\x0aOUTPUT\x20FORMAT:\x0asrc/\x0a├──\x20components/\x0a│\x20\x20\x20├──\x20Header.jsx\x0a│\x20\x20\x20├──\x20Footer.jsx\x0a│\x20\x20\x20└──\x20Layout.jsx\x0a├──\x20utils/\x0a│\x20\x20\x20├──\x20helpers.js\x0a│\x20\x20\x20└──\x20config.js\x0a└──\x20index.js\x0a\x0aAUTOMATIC\x20IGNORES:\x0aThe\x20tool\x20automatically\x20ignores\x20common\x20directories:\x0a-\x20node_modules,\x20.git,\x20dist,\x20build,\x20coverage\x0a-\x20.next,\x20.nuxt,\x20.cache,\x20out,\x20target\x0a-\x20.vscode,\x20.idea,\x20__pycache__,\x20venv\x0aAnd\x20more\x20(see\x20full\x20list\x20in\x20DEFAULT_IGNORE_DIRECTORIES)\x0a\x0aLIMITATIONS:\x0a-\x20Maximum\x20depth:\x20'+TREE_CONFIG['MAX_DEPTH_LIMIT']+'\x0a-\x20Maximum\x20files:\x20'+TREE_CONFIG['MAX_FILES_IN_TREE']+_0x4ecd80(0x1f8)+TREE_CONFIG['MAX_DIRECTORIES']+_0x4ecd80(0x1ff);}[a0_0x47ef63(0x22b)](_0x26f6bc){const _0x5bb8b4=a0_0x47ef63;try{if(_0x26f6bc['trim']()['startsWith']('{')){const _0x593316=JSON[_0x5bb8b4(0x231)](_0x26f6bc);return{'directory':_0x593316['directory']||'.','maxDepth':_0x593316[_0x5bb8b4(0x1e2)]||TREE_CONFIG[_0x5bb8b4(0x1d0)],'includeExtensions':_0x593316['includeExtensions']||[],'excludeExtensions':_0x593316['excludeExtensions']||[],'excludeDirectories':_0x593316[_0x5bb8b4(0x1dd)]||[],'showFiles':_0x593316['showFiles']!==![],'showHidden':_0x593316['showHidden']===!![],'showSizes':_0x593316[_0x5bb8b4(0x232)]===!![],'ignoreBinaryFiles':_0x593316['ignoreBinaryFiles']===!![]};}const _0x1daff8={'directory':'.','maxDepth':TREE_CONFIG[_0x5bb8b4(0x1d0)],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![]},_0x52627b=/<directory>(.*?)<\/directory>/i,_0x2ea2f3=_0x52627b[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x2ea2f3&&(_0x1daff8['directory']=_0x2ea2f3[0x1]['trim']());const _0x1cf16f=/<max-depth>(\d+)<\/max-depth>/i,_0x169c2f=_0x1cf16f[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x169c2f&&(_0x1daff8[_0x5bb8b4(0x1e2)]=parseInt(_0x169c2f[0x1],0xa));const _0x144688=/<include-extensions>(.*?)<\/include-extensions>/i,_0x325356=_0x144688[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x325356&&(_0x1daff8['includeExtensions']=_0x325356[0x1]['split'](',')[_0x5bb8b4(0x1fa)](_0x37d8b9=>_0x37d8b9['trim']())['filter'](_0x1efb7e=>_0x1efb7e[_0x5bb8b4(0x23e)]>0x0));const _0x2b3f5d=/<exclude-extensions>(.*?)<\/exclude-extensions>/i,_0x150d19=_0x2b3f5d[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x150d19&&(_0x1daff8['excludeExtensions']=_0x150d19[0x1]['split'](',')['map'](_0x40728e=>_0x40728e[_0x5bb8b4(0x202)]())['filter'](_0x37f513=>_0x37f513[_0x5bb8b4(0x23e)]>0x0));const _0x568bc0=/<exclude-directories>(.*?)<\/exclude-directories>/i,_0x24c616=_0x568bc0[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x24c616&&(_0x1daff8['excludeDirectories']=_0x24c616[0x1][_0x5bb8b4(0x201)](',')['map'](_0x5dfd3c=>_0x5dfd3c['trim']())[_0x5bb8b4(0x206)](_0x56b106=>_0x56b106['length']>0x0));const _0x5389b9=/<show-files>(.*?)<\/show-files>/i,_0x420dbb=_0x5389b9[_0x5bb8b4(0x1e1)](_0x26f6bc);_0x420dbb&&(_0x1daff8[_0x5bb8b4(0x246)]=_0x420dbb[0x1]['trim']()['toLowerCase']()!==_0x5bb8b4(0x1f7));const _0x35783e=/<show-hidden>(.*?)<\/show-hidden>/i,_0x4facf7=_0x35783e['exec'](_0x26f6bc);_0x4facf7&&(_0x1daff8['showHidden']=_0x4facf7[0x1][_0x5bb8b4(0x202)]()[_0x5bb8b4(0x235)]()==='true');const _0x18c388=/<show-sizes>(.*?)<\/show-sizes>/i,_0x217f40=_0x18c388['exec'](_0x26f6bc);_0x217f40&&(_0x1daff8['showSizes']=_0x217f40[0x1]['trim']()[_0x5bb8b4(0x235)]()===_0x5bb8b4(0x1df));const _0x44d59f=/<ignore-binary-files>(.*?)<\/ignore-binary-files>/i,_0x31d6a1=_0x44d59f['exec'](_0x26f6bc);return _0x31d6a1&&(_0x1daff8['ignoreBinaryFiles']=_0x31d6a1[0x1][_0x5bb8b4(0x202)]()[_0x5bb8b4(0x235)]()===_0x5bb8b4(0x1df)),_0x1daff8;}catch(_0x240138){return this['logger']?.['error'](_0x5bb8b4(0x252),{'error':_0x240138['message']}),{'directory':'.','maxDepth':TREE_CONFIG['DEFAULT_MAX_DEPTH'],'includeExtensions':[],'excludeExtensions':[],'excludeDirectories':[],'showFiles':!![],'showHidden':![],'showSizes':![],'ignoreBinaryFiles':![],'parseError':_0x240138['message']};}}['getRequiredParameters'](){return[];}['customValidateParameters'](_0x17a834){const _0x4f7d38=a0_0x47ef63,_0x3ddc00=[];if(_0x17a834[_0x4f7d38(0x1e2)]!==undefined){if(typeof _0x17a834[_0x4f7d38(0x1e2)]!==_0x4f7d38(0x1d2)||_0x17a834[_0x4f7d38(0x1e2)]<0x1)_0x3ddc00[_0x4f7d38(0x22d)](_0x4f7d38(0x1f6));else _0x17a834[_0x4f7d38(0x1e2)]>this[_0x4f7d38(0x1e5)][_0x4f7d38(0x247)]&&_0x3ddc00[_0x4f7d38(0x22d)]('max-depth\x20cannot\x20exceed\x20'+this[_0x4f7d38(0x1e5)]['MAX_DEPTH_LIMIT']);}_0x17a834[_0x4f7d38(0x21e)]&&_0x17a834['directory']['includes']('..')&&_0x3ddc00[_0x4f7d38(0x22d)]('Path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');if(_0x17a834['includeExtensions']!==undefined&&_0x17a834['includeExtensions']!==null){if(!Array['isArray'](_0x17a834[_0x4f7d38(0x253)]))_0x3ddc00['push']('includeExtensions\x20must\x20be\x20an\x20array');else for(const _0x5f55e2 of _0x17a834['includeExtensions']){!_0x5f55e2['startsWith']('.')&&_0x3ddc00[_0x4f7d38(0x22d)](_0x4f7d38(0x1e4)+_0x5f55e2+'\x22\x20must\x20start\x20with\x20a\x20dot\x20(e.g.,\x20\x22.js\x22)');}}if(_0x17a834['excludeExtensions']!==undefined&&_0x17a834[_0x4f7d38(0x24e)]!==null){if(!Array[_0x4f7d38(0x21d)](_0x17a834['excludeExtensions']))_0x3ddc00[_0x4f7d38(0x22d)](_0x4f7d38(0x1cf));else for(const _0xa4a92f of _0x17a834['excludeExtensions']){!_0xa4a92f['startsWith']('.')&&_0x3ddc00['push']('Extension\x20\x22'+_0xa4a92f+_0x4f7d38(0x20d));}}_0x17a834['excludeDirectories']!==undefined&&_0x17a834['excludeDirectories']!==null&&(!Array['isArray'](_0x17a834[_0x4f7d38(0x1dd)])&&_0x3ddc00['push']('excludeDirectories\x20must\x20be\x20an\x20array'));if(_0x3ddc00['length']>0x0)throw new Error(_0x4f7d38(0x234)+_0x3ddc00['join'](',\x20'));return{'valid':!![],'errors':[]};}async['execute'](_0x52ef95,_0x3580e5){const _0x42f26a=a0_0x47ef63,{directory:directory='.',maxDepth:maxDepth=TREE_CONFIG[_0x42f26a(0x1d0)],includeExtensions:includeExtensions=[],excludeExtensions:excludeExtensions=[],excludeDirectories:excludeDirectories=[],showFiles:showFiles=!![],showHidden:showHidden=![],showSizes:showSizes=![],ignoreBinaryFiles:ignoreBinaryFiles=![]}=_0x52ef95,{projectDir:_0x4de8b8,agentId:_0x147704,directoryAccess:_0x4e2dd0}=_0x3580e5;let _0x13d20d=_0x4de8b8||process[_0x42f26a(0x227)]();_0x4e2dd0&&_0x4e2dd0['workingDirectory']&&(_0x13d20d=_0x4e2dd0['workingDirectory'],this['logger']?.[_0x42f26a(0x1f2)](_0x42f26a(0x225),{'workingDirectory':_0x4e2dd0[_0x42f26a(0x20a)],'agentId':_0x147704}));const _0x53e5bc=a0_0x2fdc9a[_0x42f26a(0x24b)](directory)?directory:a0_0x2fdc9a[_0x42f26a(0x21b)](_0x13d20d,directory);try{const _0x2f2ff6=await a0_0x58c8f3[_0x42f26a(0x23b)](_0x53e5bc);if(!_0x2f2ff6[_0x42f26a(0x208)]())throw new Error(_0x42f26a(0x229));}catch(_0x3a7a7a){throw new Error(_0x42f26a(0x20f)+directory);}this['logger']?.['info'](_0x42f26a(0x1e3),{'directory':directory,'targetDir':_0x53e5bc,'maxDepth':maxDepth,'includeExtensions':includeExtensions?.['length']||0x0,'excludeExtensions':excludeExtensions?.[_0x42f26a(0x23e)]||0x0,'agentId':_0x147704}),this['stats']={'filesCount':0x0,'directoriesCount':0x0,'skippedCount':0x0};const _0x273169=[...DEFAULT_IGNORE_DIRECTORIES,...excludeDirectories||[]],_0x51b888=[...DEFAULT_IGNORE_EXTENSIONS];ignoreBinaryFiles&&_0x51b888[_0x42f26a(0x22d)](...BINARY_EXTENSIONS);const _0x2b59d2=await this[_0x42f26a(0x23c)](_0x53e5bc,_0x53e5bc,0x0,maxDepth,_0x273169,includeExtensions||[],[...excludeExtensions||[],..._0x51b888],showFiles,showHidden,showSizes),_0x236139=this[_0x42f26a(0x1dc)](_0x2b59d2),_0x3f1972=this[_0x42f26a(0x211)](directory,this['stats'],maxDepth);return{'success':!![],'directory':_0x53e5bc,'tree':_0x236139,'summary':_0x3f1972,'maxDepth':maxDepth,'totalFiles':this[_0x42f26a(0x1f9)][_0x42f26a(0x221)],'totalDirectories':this[_0x42f26a(0x1f9)][_0x42f26a(0x219)],'skippedCount':this[_0x42f26a(0x1f9)]['skippedCount'],'statistics':{...this[_0x42f26a(0x1f9)]},'toolUsed':'file-tree'};}async[a0_0x47ef63(0x23c)](_0x1093f6,_0x2d230f,_0x4de929,_0x2713e5,_0x155a93,_0xbc90be,_0x58a74b,_0x3f1dcf,_0x1c2439,_0xfaa19d){const _0x5a2b26=a0_0x47ef63;if(_0x4de929>_0x2713e5)return null;if(this['stats']['directoriesCount']>=this['treeConfig'][_0x5a2b26(0x207)])return this['logger']?.['warn'](_0x5a2b26(0x243),{'maxDirectories':this['treeConfig'][_0x5a2b26(0x207)]}),null;try{const _0x1aeab0=await a0_0x58c8f3[_0x5a2b26(0x1d7)](_0x2d230f,{'withFileTypes':!![]}),_0xf5d7d3={'name':_0x4de929===0x0?a0_0x2fdc9a[_0x5a2b26(0x236)](_0x2d230f)+'/':a0_0x2fdc9a[_0x5a2b26(0x236)](_0x2d230f),'path':a0_0x2fdc9a['relative'](_0x1093f6,_0x2d230f),'type':_0x5a2b26(0x21e),'children':[]};this['stats'][_0x5a2b26(0x219)]++;for(const _0x3ff897 of _0x1aeab0){if(this[_0x5a2b26(0x1f9)]['filesCount']>=this[_0x5a2b26(0x1e5)]['MAX_FILES_IN_TREE']){this['logger']?.['warn']('Maximum\x20file\x20count\x20reached',{'maxFiles':this['treeConfig']['MAX_FILES_IN_TREE']});break;}if(!_0x1c2439&&_0x3ff897[_0x5a2b26(0x24f)][_0x5a2b26(0x1d5)]('.')){this['stats']['skippedCount']++;continue;}const _0x464a4c=a0_0x2fdc9a[_0x5a2b26(0x24a)](_0x2d230f,_0x3ff897[_0x5a2b26(0x24f)]);if(_0x3ff897['isDirectory']()){if(_0x155a93['includes'](_0x3ff897[_0x5a2b26(0x24f)])){this[_0x5a2b26(0x1f9)][_0x5a2b26(0x1eb)]++;continue;}const _0x344c97=await this[_0x5a2b26(0x23c)](_0x1093f6,_0x464a4c,_0x4de929+0x1,_0x2713e5,_0x155a93,_0xbc90be,_0x58a74b,_0x3f1dcf,_0x1c2439,_0xfaa19d);_0x344c97&&(_0x344c97[_0x5a2b26(0x224)]['length']>0x0||_0x4de929===0x0)&&_0xf5d7d3['children'][_0x5a2b26(0x22d)](_0x344c97);}else{if(_0x3ff897[_0x5a2b26(0x1fb)]()&&_0x3f1dcf){if(_0x4de929+0x1>_0x2713e5)continue;const _0x12acc7=a0_0x2fdc9a[_0x5a2b26(0x237)](_0x3ff897['name']);if(_0xbc90be[_0x5a2b26(0x23e)]>0x0){if(!_0xbc90be[_0x5a2b26(0x1d8)](_0x12acc7)){this['stats'][_0x5a2b26(0x1eb)]++;continue;}}else{if(_0x58a74b['includes'](_0x12acc7)){this['stats'][_0x5a2b26(0x1eb)]++;continue;}}let _0x3e27a2='';if(_0xfaa19d)try{const _0x39c303=await a0_0x58c8f3['stat'](_0x464a4c);_0x3e27a2='\x20('+this['formatFileSize'](_0x39c303[_0x5a2b26(0x1d3)])+')';}catch(_0xa0f7cd){}_0xf5d7d3[_0x5a2b26(0x224)][_0x5a2b26(0x22d)]({'name':_0x3ff897[_0x5a2b26(0x24f)]+_0x3e27a2,'path':a0_0x2fdc9a['relative'](_0x1093f6,_0x464a4c),'type':'file','ext':_0x12acc7}),this[_0x5a2b26(0x1f9)][_0x5a2b26(0x221)]++;}}}return _0xf5d7d3['children']['sort']((_0x5eecd1,_0x3ca06a)=>{const _0x12b76c=_0x5a2b26;if(_0x5eecd1[_0x12b76c(0x1e0)]===_0x3ca06a['type'])return _0x5eecd1['name']['localeCompare'](_0x3ca06a['name']);return _0x5eecd1['type']==='directory'?-0x1:0x1;}),_0xf5d7d3;}catch(_0x14b0d2){return this['logger']?.['error']('Error\x20building\x20tree',{'currentPath':_0x2d230f,'error':_0x14b0d2[_0x5a2b26(0x1e8)]}),{'name':a0_0x2fdc9a[_0x5a2b26(0x236)](_0x2d230f),'path':a0_0x2fdc9a['relative'](_0x1093f6,_0x2d230f),'type':_0x5a2b26(0x21e),'error':_0x14b0d2[_0x5a2b26(0x1e8)],'children':[]};}}[a0_0x47ef63(0x1dc)](_0x57ba7b,_0x42d70d='',_0x3a4bbd=!![],_0x1b00b5=!![]){const _0x615834=a0_0x47ef63;if(!_0x57ba7b)return'';const _0x5d604e=this['treeConfig'][_0x615834(0x1d9)];let _0x140618='';_0x1b00b5?_0x140618=_0x57ba7b[_0x615834(0x24f)]+'\x0a':_0x140618=''+_0x42d70d+(_0x3a4bbd?_0x5d604e[_0x615834(0x1f1)]:_0x5d604e[_0x615834(0x238)])+_0x57ba7b['name']+'\x0a';if(_0x57ba7b[_0x615834(0x224)]&&_0x57ba7b[_0x615834(0x224)][_0x615834(0x23e)]>0x0){const _0x4d45ba=_0x1b00b5?'':_0x42d70d+(_0x3a4bbd?_0x5d604e['INDENT']:_0x5d604e['VERTICAL']);_0x57ba7b[_0x615834(0x224)][_0x615834(0x1f3)]((_0x19479d,_0x70f89c)=>{const _0x107c5e=_0x615834,_0x4fab12=_0x70f89c===_0x57ba7b['children'][_0x107c5e(0x23e)]-0x1;_0x140618+=this[_0x107c5e(0x1dc)](_0x19479d,_0x4d45ba,_0x4fab12,![]);});}return _0x140618;}['formatFileSize'](_0x11acbf){const _0x52db2d=a0_0x47ef63,_0x59a993=0x400,_0xa5d801=_0x59a993*0x400,_0xb8b37c=_0xa5d801*0x400;if(_0x11acbf>=_0xb8b37c)return(_0x11acbf/_0xb8b37c)[_0x52db2d(0x20b)](0x2)+_0x52db2d(0x1e9);else{if(_0x11acbf>=_0xa5d801)return(_0x11acbf/_0xa5d801)['toFixed'](0x2)+'\x20MB';else return _0x11acbf>=_0x59a993?(_0x11acbf/_0x59a993)['toFixed'](0x2)+'\x20KB':_0x11acbf+'\x20B';}}[a0_0x47ef63(0x211)](_0x561d8a,_0x2d4ff2,_0x4a4f8c){const _0x3868e3=a0_0x47ef63;return(_0x3868e3(0x1e6)+_0x561d8a+'\x0aMax\x20Depth:\x20'+_0x4a4f8c+_0x3868e3(0x1d4)+_0x2d4ff2['filesCount']+_0x3868e3(0x254)+_0x2d4ff2[_0x3868e3(0x219)]+_0x3868e3(0x205)+_0x2d4ff2[_0x3868e3(0x1eb)]+'\x0a\x20\x20\x20\x20')[_0x3868e3(0x202)]();}async[a0_0x47ef63(0x216)](_0x7a86ec){const _0x450ed5=a0_0x47ef63;this['logger']?.[_0x450ed5(0x1f2)](_0x450ed5(0x22a),{'operationId':_0x7a86ec});}}function a0_0x1142(){const _0x4f1a96=['DMvUzg9Y','lNb5za','zM9YBwf0vhjLzq','zxHJBhvKzurPCMvJDg9YAwvZ','mtG2odG1nNHKvfvPCq','Dhj1zq','DhLWzq','zxHLyW','Bwf4rgvWDgG','r2vUzxjHDgLUzYbMAwXLihrYzwu','rxH0zw5ZAw9Uici','DhjLzunVBMzPzW','cKrPCMvJDg9YEtOG','z2v0rgvZy3jPChrPB24','BwvZC2fNzq','ieDc','mJb1tuDhuKu','C2TPChbLzenVDw50','lMXVzW','lNDVzMyY','cKzPBguGvhjLzsbuB29SoIbhzw5LCMf0zsbOAwvYyxjJAgLJywWGDhjLzsbYzxbYzxnLBNrHDgLVBIbVzIbWCM9Qzwn0igrPCMvJDg9YEsbZDhj1y3r1CMuUcGPytuWGvvnbr0u6cJXMAwXLlxrYzwu+cIaGpgrPCMvJDg9YEt5ZCMm8l2rPCMvJDg9YEt4kica8Bwf4lwrLChrOpJq8l21HEc1Kzxb0Ad4kica8Aw5JBhvKzs1LEhrLBNnPB25ZpI5QCYWUANn4lc50CYWUDhn4pc9PBMnSDwrLlwv4DgvUC2LVBNm+cIaGpgv4y2X1zguTzxH0zw5ZAw9UCZ4UDgvZDc5QCYWUC3bLyY5QCZWVzxHJBhvKzs1LEhrLBNnPB25ZpGOGidXZAg93lwzPBgvZpNrYDwu8l3nOB3CTzMLSzxm+cIaGphnOB3CTAgLKzgvUpMzHBhnLpc9ZAg93lwHPzgrLBJ4kpc9MAwXLlxrYzwu+cGPku09oifvtquDfoGPGygbQC29UcNSkicaIDg9VBeLKiJOGiMzPBguTDhjLzsiScIaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicjTyxHezxb0Aci6idqScIaGiMLUy2X1zgvfEhrLBNnPB25ZiJOGwYiUANmIlcaIlMPZEciSiciUDhmIlcaIlNrZEcjDlaOGicjLEgnSDwrLrxH0zw5ZAw9UCYi6ifSIlNrLC3qUANmIlcaIlNnWzwmUANmIxsWkicaIC2HVD0zPBgvZiJOGDhj1zsWkicaIC2HVD0HPzgrLBIi6igzHBhnLcN0kygbGcGPqqvjbtuvurvjtoGOkzgLYzwn0B3j5icHVChrPB25HBcK6cIaGlsbeAxjLy3rVCNKGDg8GC2nHBIaOzgvMyxvSDdOGD29YA2LUzYbKAxjLy3rVCNKPcIaGlsbdyw4GyMuGCMvSyxrPDMuGB3iGywjZB2X1DguGCgf0AaOGic0GrxHHBxbSzxm6icjZCMmIlcaIC3jJl2nVBxbVBMvUDhmIlcaIl2HVBwuVDxnLCI9WCM9Qzwn0iGOkBwf4rgvWDgGGkg9WDgLVBMfSktOkicaTie1HEgLTDw0GzgvWDgGGDg8GC2nHBIaOzgvMyxvSDdOG','lM1Wna','mte5owDZCvDMzW','teftvf9cuKfoq0G','Aw5MBW','zM9YrwfJAa','BM9Kzv9TB2r1BgvZ','lNn2zW','Bwf4lwrLChrOig11C3qGyMuGysbWB3nPDgL2zsbUDw1Izxi','zMfSC2u','cI0Gtwf4Aw11BsbKAxjLy3rVCMLLCZOG','C3rHDhm','BwfW','AxngAwXL','CgfYDhm','lNbKzG','lNnXBgL0zq','cI0GqMLUyxj5igzPBgvZignHBIbIzsbMAwX0zxjLzcb3AxrOigLNBM9YzujPBMfYEuzPBgvZig9WDgLVBGOktvvmveKTreLsrunut1jzifnvufbpuLq6cLDVCMTZihDPDgGGywDLBNqNCYbJB25MAwD1CMvKigfJy2vZC2LIBguGzgLYzwn0B3jPzxmUcLzHBgLKyxrLCYbWyxrOCYbHz2fPBNn0igrPCMvJDg9YEufJy2vZCYbJB25MAwD1CMf0Aw9UlGOGicaG','B3v0','C3bSAxq','DhjPBq','lMnSyxnZ','lNnV','cLnRAxbWzwq6ia','zMLSDgvY','tufyx0rjuKvdve9ssuvt','AxneAxjLy3rVCNK','AhrTBgnVDG','D29YA2LUz0rPCMvJDg9YEq','Dg9gAxHLza','lMr5BgLI','iIbTDxn0ihn0yxj0ihDPDgGGysbKB3qGkguUzY4SiciUANmIkq','mtmXmte2mMXTAenMCG','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0ig9YigLZigLUywnJzxnZAwjSztOG','lM5LEhq','z2vUzxjHDgvtDw1Tyxj5','lM1PBI5JC3m','odaZmZLMCMHoA1i','lNrVEa','CMvXDwLYzxnqCM9Qzwn0','y2XLyw51Ca','lMDPDa','DMvUDG','zgLYzwn0B3jPzxndB3vUDa','lMH5Cg90AgvZAxm','CMvZB2X2zq','lMjTCa','AxnbCNjHEq','zgLYzwn0B3j5','4PsC4Psa4Psaia','otK3mZi2mgj1C0LPyq','zMLSzxndB3vUDa','C2rPC3q','lNb5DgvZDf9JywnOzq','y2HPBgrYzw4','vxnPBMCGywDLBNqGy29UzMLNDxjLzcb3B3jRAw5NigrPCMvJDg9YEq','zwDNCW','y3DK','lNDVzMy','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','rMLSzsb0CMvLihrVB2WGy2XLyw51CcbJB21WBgv0zwq','CgfYC2vqyxjHBwv0zxjZ','lNPPCa','ChvZAa','lMnHy2HL','lM15ChLFy2fJAgu','nZe3mZeXwwDcswX3','CgfYC2u','C2HVD1nPEMvZ','nffHywDrtG','ugfYyw1LDgvYihzHBgLKyxrPB24GzMfPBgvKoIa','Dg9mB3DLCKnHC2u','yMfZzw5HBwu','zxH0BMfTzq','qLjbtKni','lM1HCa','lNrLBxa','C3rHDa','yNvPBgruCMvL','lMf2Aq','BgvUz3rO','mtyZmtaWzuHfzhHz','lJD6','lMrI','BgLInJq','twf4Aw11BsbKAxjLy3rVCNKGy291BNqGCMvHy2HLza','BgLI','lNbUzW','C2HVD0zPBgvZ','tufyx0rfufrix0XjtuLu','lNrHCG','lM1PBI5QCW','AM9PBG','AxnbyNnVBhv0zq','odG4AKPPqNPb','lMvUDG','zxHJBhvKzuv4DgvUC2LVBNm','BMfTzq','lNb5BW','lMLKzwe','rMfPBgvKihrVihbHCNnLigzPBguTDhjLzsbWyxjHBwv0zxjZ','Aw5JBhvKzuv4DgvUC2LVBNm','cKrPCMvJDg9YAwvZoIa','mJe0nJeZn01eDLburW','zxHJBhvKzuv4DgvUC2LVBNmGBxvZDcbIzsbHBIbHCNjHEq','revgqvvmvf9nqvHFrevqveG','DgvTCa','BNvTyMvY','C2L6zq','cKzPBgvZoIa','C3rHCNrZv2L0Aa','lNzZy29Kzq','CMvHzgrPCG','Aw5JBhvKzxm','u1LnqK9muW'];a0_0x1142=function(){return _0x4f1a96;};return a0_0x1142();}function a0_0x49d6(_0x4eaf2a,_0x5a4a86){_0x4eaf2a=_0x4eaf2a-0x1ce;const _0x114268=a0_0x1142();let _0x49d67c=_0x114268[_0x4eaf2a];if(a0_0x49d6['bCTvxQ']===undefined){var _0x2abe17=function(_0x3edd33){const _0x4a6867='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58c8f3='',_0x2fdc9a='';for(let _0x12aa82=0x0,_0x413e7a,_0x26f6bc,_0x1daff8=0x0;_0x26f6bc=_0x3edd33['charAt'](_0x1daff8++);~_0x26f6bc&&(_0x413e7a=_0x12aa82%0x4?_0x413e7a*0x40+_0x26f6bc:_0x26f6bc,_0x12aa82++%0x4)?_0x58c8f3+=String['fromCharCode'](0xff&_0x413e7a>>(-0x2*_0x12aa82&0x6)):0x0){_0x26f6bc=_0x4a6867['indexOf'](_0x26f6bc);}for(let _0x52627b=0x0,_0x2ea2f3=_0x58c8f3['length'];_0x52627b<_0x2ea2f3;_0x52627b++){_0x2fdc9a+='%'+('00'+_0x58c8f3['charCodeAt'](_0x52627b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fdc9a);};a0_0x49d6['mdxJSE']=_0x2abe17,a0_0x49d6['mjVXAb']={},a0_0x49d6['bCTvxQ']=!![];}const _0x3e8ee8=_0x114268[0x0],_0xdbacff=_0x4eaf2a+_0x3e8ee8,_0x234126=a0_0x49d6['mjVXAb'][_0xdbacff];return!_0x234126?(_0x49d67c=a0_0x49d6['mdxJSE'](_0x49d67c),a0_0x49d6['mjVXAb'][_0xdbacff]=_0x49d67c):_0x49d67c=_0x234126,_0x49d67c;}export default FileTreeTool;
@@ -1 +1 @@
1
- const a0_0x456d38=a0_0x325f;(function(_0x4aec73,_0x52dc9a){const _0x2d3fda=a0_0x325f,_0x471d40=_0x4aec73();while(!![]){try{const _0xe21d09=parseInt(_0x2d3fda(0xf0))/0x1*(-parseInt(_0x2d3fda(0xe1))/0x2)+parseInt(_0x2d3fda(0xd3))/0x3*(-parseInt(_0x2d3fda(0x153))/0x4)+parseInt(_0x2d3fda(0x125))/0x5+-parseInt(_0x2d3fda(0xf7))/0x6*(-parseInt(_0x2d3fda(0x119))/0x7)+parseInt(_0x2d3fda(0xe8))/0x8+-parseInt(_0x2d3fda(0x113))/0x9+-parseInt(_0x2d3fda(0xde))/0xa*(-parseInt(_0x2d3fda(0xcb))/0xb);if(_0xe21d09===_0x52dc9a)break;else _0x471d40['push'](_0x471d40['shift']());}catch(_0x5985c6){_0x471d40['push'](_0x471d40['shift']());}}}(a0_0x3fb7,0xbfe66));import a0_0x17df24 from'path';function a0_0x3fb7(){const _0x32e161=['x3bYB2nLC3nrDwv1zq','FJmWihnLy29Uzhm','Ag9ZDa','ywLtzxj2AwnL','mtK4odu2n3v4z2n6CW','quKGu2vYDMLJzsbZzxqGzM9YieLTywDLvg9VBa','x3bHCNnLsLnptLbHCMfTCW','z2v0sM9Iu3rHDhvZ','AM9PBG','ChjVAMvJDerPCG','Dg9mB3DLCKnHC2u','BgfZDfvWzgf0zwq','zMfPBgvK','tM8GDMfSAwqGAw1Hz2uGCgfYyw1LDgvYCYbMB3vUza','Aw5JBhvKzxm','qwnJzxnZigrLBMLLzdOGCgf0AcbVDxrZAwrLihbYB2PLy3qGzgLYzwn0B3j5','mte4nZm1nwHdvMX3uW','sw1Hz2uGz2vUzxjHDgvKoIa','Aw1Nlq','zgvSzxrL','z2vUzxjHDgvKlq','zxjYB3i','BwvZC2fNzxm','CMvZDwX0','z2v0','mtaYnhGXmdi0','x3bHCNnLwe1msw1Hz2u','yxP1CMuTB3bLBMfPlwrHBgXLmW','zNjVBq','y2XLyw51CfrPBwvYCW','q2XLyw5Lzcb1Ccb0zw1WigLTywDLoIa','uxvLDwuGBgLTAxqGCMvHy2HLzcaO','DgvTCerPCG','zMXVB3i','BgvUz3rO','y29TCgXLDgvKsM9ICW','sw1Hz2vuB29SoIbbDxrVlxbHCNnPBMCGC3rYAw5NihbHCMfTzxrLCNm','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq','C2v0','zgLYBMfTzq','cIOQrxjYB3i6kIOG','tufyx1bst01qvf9mru5hveG','AxnqCM9JzxnZAw5N','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','zg93BMXVywrfCNjVCG','mtC5mNGXmdi0','CMfUzg9T','revgqvvmvf9rvufmsvrz','y2XLyxi','BwfW','Aw1Hz2uTz2vU','zNvSBa','yxjYyxLcDwzMzxi','sw1Hz2uGChjVBxb0igLZihjLCxvPCMvK','sw52ywXPzcbZAxPLoIa','y3vYCMvUDePVyG','ChvZAa','Cg5N','y29UDMvYC2f0Aw9UCW','CgfYC2vqyxjHBwv0zxjZ','yMfZzw5HBwu','DxnHz2u','mZe2thvZrhne','uvvfvuvFteLnsvq','BgfZDefJDgL2Axr5','yMf0y2G','nde3nJDjreT3yvK','CgfYyw1LDgvYCW','CxvLDwvK','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','CMvZB2X2zwrpDxrWDxrqyxrO','sw1Hz2uGCxvLDwvKigzVCIbNzw5LCMf0Aw9U','rg93BMXVywqGzMfPBgvKoIa','ywDLBNrqB29S','nJq5mM12uM1iwq','CxvHBgL0Eq','vKfmsurFu0LArvm','x2DLBMvYyxrLsw1Hz2u','x3bHCNnLwe1mugfYyw1Z','C3rHDhvZ','zxHLy3v0zq','rMfPBgvKihrVihnHDMuGAw1Hz2uGDg8GzgLZAYWGD2LSBcb1C2uGDgvTCg9Yyxj5ifvstdOG','lI4U','Bg94Awfxzwjtzxj2zxi','ANbN','mZGZmgTTuhHuEa','BwvZC2fNzq','CxvLDwu','mZq3nZjvC3zRreu','y29TCgXLDgvKqxq','C2vZC2LVBKLK','sw52ywXPzcbMB3jTyxq6ia','Bg9Nz2vY','tM8GAw1Hz2vZihnWzwnPzMLLza','C2v0qwDLBNrqB29S','nJe2nJCYEwHzrLfO','revgqvvmvf9nt0rfta','x3zHBgLKyxrLugfYyw1LDgvYCW','DxjS','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCIbICM9HzgnHC3qGC2vUDa','ignOyxjHy3rLCNmP','DhjPBq','ChjVBxb0','nZHmqLb4tuC','Aw1Hz2vZ','C3rHCNrZv2L0Aa','C2L6zq','u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','x3bHCNnLsw1Hz2vqyxjHBxm','z2vUzxjHDgvjBwfNzq','mtHSDffXDeK','sw1Hz2uGz2vUzxjHDgLVBIbJB21WBgv0zwq6ia','C2f2zwruB0rPC2S','zgvIDwC','y3vYCMvUDe1VzgvS','Bw9KzwW','x2vZDgLTyxrLv2fPDfrPBwu','x2rVD25SB2fKsw1Hz2u','ywDLBNrjza','x3nJAgvKDwXLq2XLyw51Ca','Aw5MBW','tMv0D29YAYbLCNjVCJOG','Bg9JywXOB3n0','BMfTzq','AM9Iswq','DgvTCg9Yyxj5vxjS','Ahr0CdOVlW','yxnZAxn0yw50','BM9YBwfSAxPL','B3v0Chv0ugf0Aa','AxnbyNnVBhv0zq','z2v0qwDLBNq','lNbUzW','Dg9ju09tDhjPBMC','rMfPBgvKihrVigrVD25SB2fKigLTywDLoIbivfrqia','l2fWAs9PBwfNzxmV','DMfSDwvZ','pIHBxhnCu10QpYK8xc8','mJC3mty2n21ZzgDtDW','zxH0BMfTzq'];a0_0x3fb7=function(){return _0x32e161;};return a0_0x3fb7();}import a0_0x22b71c from'os';import{promises as a0_0x4a2249}from'fs';import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':a0_0x456d38(0x130),'DEFAULT_SIZE':a0_0x456d38(0x12e),'DEFAULT_QUALITY':'standard','VALID_SIZES':['256x256','512x512','1024x1024','1024x1792',a0_0x456d38(0x142)],'VALID_FORMATS':[a0_0x456d38(0x14e),a0_0x456d38(0xdd),'jpeg','webp'],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};function a0_0x325f(_0x4539dc,_0xf0a9c0){_0x4539dc=_0x4539dc-0xca;const _0x3fb7c4=a0_0x3fb7();let _0x325f29=_0x3fb7c4[_0x4539dc];if(a0_0x325f['kAamgP']===undefined){var _0x48f5e3=function(_0x51e165){const _0x42a6e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17df24='',_0x22b71c='';for(let _0x4a2249=0x0,_0x5cba4,_0xd8a9a,_0x33cbb8=0x0;_0xd8a9a=_0x51e165['charAt'](_0x33cbb8++);~_0xd8a9a&&(_0x5cba4=_0x4a2249%0x4?_0x5cba4*0x40+_0xd8a9a:_0xd8a9a,_0x4a2249++%0x4)?_0x17df24+=String['fromCharCode'](0xff&_0x5cba4>>(-0x2*_0x4a2249&0x6)):0x0){_0xd8a9a=_0x42a6e8['indexOf'](_0xd8a9a);}for(let _0x152914=0x0,_0x4a6b23=_0x17df24['length'];_0x152914<_0x4a6b23;_0x152914++){_0x22b71c+='%'+('00'+_0x17df24['charCodeAt'](_0x152914)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22b71c);};a0_0x325f['pPJRVp']=_0x48f5e3,a0_0x325f['fBIHaU']={},a0_0x325f['kAamgP']=!![];}const _0x4f01f4=_0x3fb7c4[0x0],_0x3b0a55=_0x4539dc+_0x4f01f4,_0x22dfd8=a0_0x325f['fBIHaU'][_0x3b0a55];return!_0x22dfd8?(_0x325f29=a0_0x325f['pPJRVp'](_0x325f29),a0_0x325f['fBIHaU'][_0x3b0a55]=_0x325f29):_0x325f29=_0x22dfd8,_0x325f29;}export class ImageTool extends BaseTool{constructor(_0x5cba4={},_0xd8a9a=null){const _0x1e3200=a0_0x456d38;super(_0x5cba4,_0xd8a9a),this['id']='image-gen',this[_0x1e3200(0xe0)]=[],this[_0x1e3200(0x14c)]=null,this['completedJobs']=new Map(),this['isProcessing']=![],this['aiService']=null,this[_0x1e3200(0xd2)]=null,this[_0x1e3200(0x135)]=a0_0x17df24[_0x1e3200(0x11d)](a0_0x22b71c['tmpdir'](),'loxia-images'),this['cleanupTimers']=new Map();}['setAIService'](_0x33cbb8){const _0x427ebc=a0_0x456d38;this[_0x427ebc(0x118)]=_0x33cbb8,this[_0x427ebc(0xe5)]?.[_0x427ebc(0x101)](_0x427ebc(0x11a));}[a0_0x456d38(0xe7)](_0x152914){const _0x2702f3=a0_0x456d38;this[_0x2702f3(0xd2)]=_0x152914,this[_0x2702f3(0xe5)]?.[_0x2702f3(0x101)]('AgentPool\x20set\x20for\x20ImageTool');}['getDescription'](){const _0x26012e=a0_0x456d38;return _0x26012e(0xce)+IMAGE_CONFIG[_0x26012e(0x154)]+'\x20images\x20in\x20queue\x20at\x20once';}[a0_0x456d38(0x150)](_0x4a6b23){const _0x41e7b7=a0_0x456d38;if(typeof _0x4a6b23==='object'&&_0x4a6b23!==null)return this[_0x41e7b7(0x11b)](_0x4a6b23);if(typeof _0x4a6b23==='string'){const _0x612345=_0x4a6b23['trim']();if(_0x612345['startsWith']('{')||_0x612345['startsWith']('['))try{const _0x30762c=JSON['parse'](_0x612345);return this['_parseJSONParams'](_0x30762c);}catch(_0x10848e){}return this[_0x41e7b7(0xd7)](_0x4a6b23);}throw new Error('Invalid\x20parameter\x20format');}['_parseJSONParams'](_0x405f20){const _0x1c87a9=a0_0x456d38;_0x405f20[_0x1c87a9(0xcc)]&&(_0x405f20=_0x405f20[_0x1c87a9(0xcc)]);if(_0x405f20[_0x1c87a9(0xca)]&&Array['isArray'](_0x405f20['batch']))return{'batch':!![],'images':_0x405f20[_0x1c87a9(0xca)][_0x1c87a9(0x146)](_0x2b3463=>this['_parseImageParams'](_0x2b3463))};return{'batch':![],'images':[this[_0x1c87a9(0xf5)](_0x405f20)]};}['_parseXMLParams'](_0x197894){const _0x18822f=a0_0x456d38,_0x5764eb={'batch':![],'images':[]},_0x3aef07=/<batch>([\s\S]*?)<\/batch>/i['exec'](_0x197894);if(_0x3aef07){_0x5764eb[_0x18822f(0xca)]=!![];const _0xfc3970=_0x3aef07[0x1],_0x53ea77=/<image>([\s\S]*?)<\/image>/gi;let _0x21298b;while((_0x21298b=_0x53ea77['exec'](_0xfc3970))!==null){_0x5764eb['images']['push'](this[_0x18822f(0x12f)](_0x21298b[0x1]));}}else _0x5764eb['images']['push'](this[_0x18822f(0x12f)](_0x197894));if(_0x5764eb[_0x18822f(0xf1)]['length']===0x0)throw new Error(_0x18822f(0x122));return _0x5764eb;}['_parseImageParams'](_0x2614b9){const _0x5c07b3=a0_0x456d38,_0x50ab50=_0x2614b9[_0x5c07b3(0x10a)]||_0x2614b9['output-path']||null;return{'prompt':_0x2614b9[_0x5c07b3(0xef)]||'','outputPath':_0x50ab50,'saveToProject':_0x50ab50!==null,'model':_0x2614b9['model']||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0x2614b9[_0x5c07b3(0xf3)]||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x2614b9['quality']||IMAGE_CONFIG[_0x5c07b3(0x144)]};}['_parseXMLImage'](_0x5a6983){const _0x3f2432=a0_0x456d38,_0x40f8aa=_0xd3f0f1=>{const _0x1346ff=a0_0x325f,_0x346e64=new RegExp('<'+_0xd3f0f1+_0x1346ff(0x112)+_0xd3f0f1+'>','i'),_0x5d634c=_0x346e64['exec'](_0x5a6983);return _0x5d634c?_0x5d634c[0x1][_0x1346ff(0xee)]():null;},_0x24dc4e=_0x40f8aa('output-path')||null;return{'prompt':_0x40f8aa('prompt')||'','outputPath':_0x24dc4e,'saveToProject':_0x24dc4e!==null,'model':_0x40f8aa('model')||IMAGE_CONFIG[_0x3f2432(0xe9)],'size':_0x40f8aa(_0x3f2432(0xf3))||IMAGE_CONFIG['DEFAULT_SIZE'],'quality':_0x40f8aa('quality')||IMAGE_CONFIG['DEFAULT_QUALITY']};}async[a0_0x456d38(0xd9)](_0xc874bc,_0x27dfc8={}){const _0x1813e5=a0_0x456d38;try{const {agentId:_0x275898,projectDir:_0x37c43f,directoryAccess:_0x203803,sessionId:_0x37a110}=_0x27dfc8;typeof _0xc874bc==='string'&&(this['logger']?.['info'](_0x1813e5(0x139)),_0xc874bc=this['parseParameters'](_0xc874bc));this[_0x1813e5(0xea)](_0xc874bc);const _0x43e8f8=[];for(const _0xc09a99 of _0xc874bc[_0x1813e5(0xf1)]){const _0x2b9b0e=this['_generateJobId'](),_0x26c73c={'jobId':_0x2b9b0e,'agentId':_0x275898,'sessionId':_0x37a110,'prompt':_0xc09a99[_0x1813e5(0xef)],'outputPath':_0xc09a99[_0x1813e5(0x10a)],'saveToProject':_0xc09a99['saveToProject'],'model':_0xc09a99['model'],'size':_0xc09a99['size'],'quality':_0xc09a99[_0x1813e5(0xd4)],'projectDir':_0x37c43f||process['cwd'](),'directoryAccess':_0x203803,'status':_0x1813e5(0xcd),'createdAt':new Date()[_0x1813e5(0x10e)]()};if(this['queue']['length']>=IMAGE_CONFIG[_0x1813e5(0x154)])return{'success':![],'error':_0x1813e5(0x134)+IMAGE_CONFIG['QUEUE_LIMIT']+'\x20images).\x20Please\x20wait\x20for\x20current\x20jobs\x20to\x20complete.','queueLength':this[_0x1813e5(0xe0)]['length']};this['queue'][_0x1813e5(0x14d)](_0x26c73c),_0x43e8f8[_0x1813e5(0x14d)](_0x2b9b0e),this[_0x1813e5(0xe5)]?.['info']('Image\x20generation\x20job\x20queued:\x20'+_0x2b9b0e,{'prompt':_0xc09a99[_0x1813e5(0xef)]['substring'](0x0,0x32)+'...','queuePosition':this[_0x1813e5(0xe0)]['length']});}return!this['isProcessing']&&this['_processQueue']()['catch'](_0x44328d=>{const _0x3ebe86=_0x1813e5;this['logger']?.[_0x3ebe86(0x12a)]('Queue\x20processing\x20error:',_0x44328d);}),{'success':!![],'jobIds':_0x43e8f8,'queueLength':this[_0x1813e5(0xe0)][_0x1813e5(0x137)],'message':_0xc874bc[_0x1813e5(0xca)]?_0x43e8f8[_0x1813e5(0x137)]+'\x20images\x20queued\x20for\x20generation':_0x1813e5(0xd0),'estimatedWaitTime':this['_estimateWaitTime']()};}catch(_0x1a3c91){return this[_0x1813e5(0xe5)]?.[_0x1813e5(0x12a)](_0x1813e5(0x140),_0x1a3c91),{'success':![],'error':_0x1a3c91['message']};}}['_validateParameters'](_0x41482a){const _0x33d821=a0_0x456d38;if(!_0x41482a[_0x33d821(0xf1)]||_0x41482a[_0x33d821(0xf1)]['length']===0x0)throw new Error(_0x33d821(0xe6));for(const _0x59ba39 of _0x41482a['images']){if(!_0x59ba39[_0x33d821(0xef)]||_0x59ba39['prompt']['trim']()['length']===0x0)throw new Error(_0x33d821(0x14a));if(_0x59ba39[_0x33d821(0xef)]['length']>IMAGE_CONFIG[_0x33d821(0x13e)])throw new Error('Prompt\x20too\x20long\x20(max\x20'+IMAGE_CONFIG['MAX_PROMPT_LENGTH']+_0x33d821(0xed));if(_0x59ba39[_0x33d821(0xf3)]&&!IMAGE_CONFIG['VALID_SIZES'][_0x33d821(0x123)](_0x59ba39[_0x33d821(0xf3)]))throw new Error(_0x33d821(0x14b)+_0x59ba39[_0x33d821(0xf3)]+'.\x20Valid\x20sizes:\x20'+IMAGE_CONFIG[_0x33d821(0xd5)]['join'](',\x20'));if(_0x59ba39[_0x33d821(0x10a)]){const _0x5d1ddb=a0_0x17df24[_0x33d821(0x114)](_0x59ba39['outputPath'])[_0x33d821(0x11f)]()['replace']('.','');if(_0x5d1ddb&&!IMAGE_CONFIG['VALID_FORMATS']['includes'](_0x5d1ddb))throw new Error(_0x33d821(0xe4)+_0x5d1ddb+'.\x20Valid\x20formats:\x20'+IMAGE_CONFIG['VALID_FORMATS'][_0x33d821(0x11d)](',\x20'));}}}async[a0_0x456d38(0x115)](){const _0xfd7ca9=a0_0x456d38;if(this['isProcessing'])return;this['isProcessing']=!![];while(this[_0xfd7ca9(0xe0)]['length']>0x0){const _0x5e2fb1=this['queue']['shift']();this[_0xfd7ca9(0x14c)]=_0x5e2fb1,this[_0xfd7ca9(0xe5)]?.[_0xfd7ca9(0x101)]('Processing\x20image\x20generation\x20job:\x20'+_0x5e2fb1['jobId']);try{_0x5e2fb1[_0xfd7ca9(0xd8)]='processing';const _0x410378=await this[_0xfd7ca9(0xd6)](_0x5e2fb1);_0x5e2fb1['status']='completed',_0x5e2fb1[_0xfd7ca9(0x12c)]=_0x410378,_0x5e2fb1[_0xfd7ca9(0xe2)]=new Date()[_0xfd7ca9(0x10e)](),this[_0xfd7ca9(0x138)][_0xfd7ca9(0x13b)](_0x5e2fb1['jobId'],_0x5e2fb1);if(global['loxiaWebServer']&&_0x5e2fb1[_0xfd7ca9(0xe3)]){let _0x5e6fe0,_0x10014a=![];if(_0x410378[_0xfd7ca9(0xf9)]&&_0x410378['resolvedOutputPath'])_0x5e6fe0=this['_convertToWebUrl'](_0x410378[_0xfd7ca9(0xcf)],_0x5e2fb1['sessionId']);else _0x410378['temporaryUrl']&&(_0x5e6fe0=_0x410378[_0xfd7ca9(0x106)],_0x10014a=!![]);global[_0xfd7ca9(0xdc)]['broadcastToSession'](_0x5e2fb1[_0xfd7ca9(0xe3)],{'type':'imageGenerated','agentId':_0x5e2fb1['agentId'],'jobId':_0x5e2fb1['jobId'],'imageUrl':_0x5e6fe0,'localPath':_0x410378[_0xfd7ca9(0xcf)],'prompt':_0x5e2fb1['prompt'],'success':!![],'isTemporary':_0x10014a,'savedToDisk':_0x410378['savedToDisk'],'downloadError':_0x410378[_0xfd7ca9(0x141)],'timestamp':_0x5e2fb1[_0xfd7ca9(0xe2)]}),this[_0xfd7ca9(0xe5)]?.[_0xfd7ca9(0x101)]('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x5e2fb1['jobId'],'imageUrl':_0x5e6fe0,'localPath':_0x410378['resolvedOutputPath'],'savedToDisk':_0x410378['savedToDisk'],'isTemporary':_0x10014a});if(this[_0xfd7ca9(0xd2)]&&_0x5e2fb1[_0xfd7ca9(0xff)])try{const _0x246bf7=await this[_0xfd7ca9(0xd2)][_0xfd7ca9(0x10c)](_0x5e2fb1[_0xfd7ca9(0xff)]);if(_0x246bf7){let _0x53aa93=_0xfd7ca9(0x126)+_0x5e2fb1[_0xfd7ca9(0xef)];_0x10014a&&(_0x53aa93+='\x0a\x0a⚠️\x20**Warning:**\x20Image\x20is\x20using\x20a\x20temporary\x20URL\x20(expires\x20in\x20~1\x20hour).\x20Failed\x20to\x20save\x20to\x20disk.',_0x410378[_0xfd7ca9(0x141)]&&(_0x53aa93+=_0xfd7ca9(0x13d)+_0x410378[_0xfd7ca9(0x141)]));const _0x5e7f17={'id':'img-result-'+_0x5e2fb1[_0xfd7ca9(0x105)],'role':_0xfd7ca9(0x108),'content':_0x53aa93,'timestamp':_0x5e2fb1['completedAt'],'imageUrl':_0x5e6fe0,'type':'image-result','toolId':_0xfd7ca9(0x147),'status':'completed','isTemporary':_0x10014a||![],'savedToDisk':_0x410378[_0xfd7ca9(0xf9)]!==![]};_0x246bf7['conversations'][_0xfd7ca9(0x148)][_0xfd7ca9(0x12b)]['push'](_0x5e7f17),_0x246bf7['conversations'][_0xfd7ca9(0x148)][_0xfd7ca9(0x120)]=_0x5e2fb1[_0xfd7ca9(0xe2)],_0x246bf7[_0xfd7ca9(0xfb)]&&_0x246bf7['conversations'][_0x246bf7['currentModel']]&&(_0x246bf7[_0xfd7ca9(0x14f)][_0x246bf7['currentModel']][_0xfd7ca9(0x12b)][_0xfd7ca9(0x14d)](_0x5e7f17),_0x246bf7['conversations'][_0x246bf7['currentModel']]['lastUpdated']=_0x5e2fb1['completedAt']),_0x246bf7[_0xfd7ca9(0x155)]=_0x5e2fb1[_0xfd7ca9(0xe2)],await this[_0xfd7ca9(0xd2)]['persistAgentState'](_0x5e2fb1[_0xfd7ca9(0xff)]),this['logger']?.['info']('Image\x20result\x20saved\x20to\x20conversation\x20history',{'agentId':_0x5e2fb1[_0xfd7ca9(0xff)],'jobId':_0x5e2fb1['jobId'],'messageId':_0x5e7f17['id']});}}catch(_0x39d467){this[_0xfd7ca9(0xe5)]?.['error']('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x39d467['message'],'agentId':_0x5e2fb1[_0xfd7ca9(0xff)],'jobId':_0x5e2fb1[_0xfd7ca9(0x105)]});}}this['logger']?.['info'](_0xfd7ca9(0xf8)+_0x5e2fb1['jobId'],{'outputPath':_0x410378[_0xfd7ca9(0xcf)]});}catch(_0x9aa8a4){this[_0xfd7ca9(0xe5)]?.['error']('Image\x20generation\x20failed:\x20'+_0x5e2fb1[_0xfd7ca9(0x105)],_0x9aa8a4),_0x5e2fb1[_0xfd7ca9(0xd8)]=_0xfd7ca9(0x121),_0x5e2fb1['error']=_0x9aa8a4['message'],_0x5e2fb1[_0xfd7ca9(0xe2)]=new Date()[_0xfd7ca9(0x10e)](),this['completedJobs'][_0xfd7ca9(0x13b)](_0x5e2fb1[_0xfd7ca9(0x105)],_0x5e2fb1);global['loxiaWebServer']&&_0x5e2fb1[_0xfd7ca9(0xe3)]&&(global[_0xfd7ca9(0xdc)]['broadcastToSession'](_0x5e2fb1['sessionId'],{'type':'imageGenerated','jobId':_0x5e2fb1[_0xfd7ca9(0x105)],'agentId':_0x5e2fb1[_0xfd7ca9(0xff)],'prompt':_0x5e2fb1['prompt'],'success':![],'error':_0x9aa8a4['message'],'timestamp':_0x5e2fb1[_0xfd7ca9(0xe2)]}),this['logger']?.['info'](_0xfd7ca9(0xec),{'jobId':_0x5e2fb1[_0xfd7ca9(0x105)],'sessionId':_0x5e2fb1['sessionId'],'error':_0x9aa8a4['message']}));if(this['agentPool']&&_0x5e2fb1[_0xfd7ca9(0xff)])try{const _0x46639b=await this['agentPool']['getAgent'](_0x5e2fb1['agentId']);if(_0x46639b){const _0xa5870a={'id':'img-error-'+_0x5e2fb1['jobId'],'role':'system','content':'❌\x20Image\x20generation\x20failed:\x20'+_0x9aa8a4[_0xfd7ca9(0xdf)]+'\x0a\x0a**Prompt:**\x20'+_0x5e2fb1[_0xfd7ca9(0xef)],'timestamp':_0x5e2fb1['completedAt'],'type':_0xfd7ca9(0x12a),'toolId':_0xfd7ca9(0x147),'status':'failed','jobId':_0x5e2fb1['jobId']};_0x46639b['conversations']['full']['messages']['push'](_0xa5870a),_0x46639b[_0xfd7ca9(0x14f)][_0xfd7ca9(0x148)]['lastUpdated']=_0x5e2fb1[_0xfd7ca9(0xe2)],_0x46639b['currentModel']&&_0x46639b['conversations'][_0x46639b['currentModel']]&&(_0x46639b['conversations'][_0x46639b['currentModel']]['messages']['push'](_0xa5870a),_0x46639b['conversations'][_0x46639b[_0xfd7ca9(0xfb)]][_0xfd7ca9(0x120)]=_0x5e2fb1['completedAt']),_0x46639b['lastActivity']=_0x5e2fb1['completedAt'],await this[_0xfd7ca9(0xd2)]['persistAgentState'](_0x5e2fb1['agentId']),this[_0xfd7ca9(0xe5)]?.[_0xfd7ca9(0x101)]('Image\x20error\x20saved\x20to\x20conversation\x20history',{'agentId':_0x5e2fb1['agentId'],'jobId':_0x5e2fb1[_0xfd7ca9(0x105)],'error':_0x9aa8a4['message']});}}catch(_0x3c20b3){this['logger']?.[_0xfd7ca9(0x12a)]('Failed\x20to\x20save\x20image\x20error\x20to\x20conversation\x20history',{'error':_0x3c20b3[_0xfd7ca9(0xdf)],'agentId':_0x5e2fb1['agentId'],'jobId':_0x5e2fb1[_0xfd7ca9(0x105)]});}}}this[_0xfd7ca9(0x13f)]=![],this['currentJob']=null;}async['_generateImage'](_0x36e524){const _0x533e64=a0_0x456d38;if(!this[_0x533e64(0x118)])throw new Error('AI\x20service\x20not\x20available.\x20Image\x20generation\x20requires\x20AI\x20service.');const _0x5c2fec=await this['_resolveOutputPath'](_0x36e524),_0x308b0e=a0_0x17df24[_0x533e64(0x13c)](_0x5c2fec);await a0_0x4a2249['mkdir'](_0x308b0e,{'recursive':!![]}),this['logger']?.[_0x533e64(0x101)]('Generating\x20image\x20with\x20'+_0x36e524[_0x533e64(0xfc)],{'size':_0x36e524['size'],'quality':_0x36e524['quality']});const _0x180eb4={'model':_0x36e524['model'],'size':_0x36e524[_0x533e64(0xf3)],'quality':_0x36e524['quality'],'responseFormat':'url','sessionId':_0x36e524['sessionId']},_0x48bf0b=await this[_0x533e64(0x118)][_0x533e64(0xf6)](_0x36e524['prompt'],_0x180eb4),_0x33f970=_0x48bf0b?.[_0x533e64(0xeb)]||_0x48bf0b?.['imageUrl'];if(!_0x33f970)throw new Error('No image URL received from AI service');this['logger']?.['info']('Image\x20URL\x20received:\x20'+_0x33f970['substring'](0x0,0x32)+_0x533e64(0xdb));let _0x5e5759=![],_0x11e782=null;try{await this[_0x533e64(0xfe)](_0x33f970,_0x5c2fec),_0x5e5759=!![],!_0x36e524['saveToProject']&&this[_0x533e64(0x100)](_0x5c2fec,_0x36e524[_0x533e64(0x105)]);}catch(_0x542b48){_0x11e782=_0x542b48['message'],this[_0x533e64(0xe5)]?.['warn'](_0x533e64(0xda)+_0x542b48[_0x533e64(0xdf)]);}return{'jobId':_0x36e524['jobId'],'prompt':_0x36e524[_0x533e64(0xef)],'outputPath':_0x36e524[_0x533e64(0x10a)],'resolvedOutputPath':_0x5e5759?_0x5c2fec:null,'temporaryUrl':_0x33f970,'savedToDisk':_0x5e5759,'downloadError':_0x11e782,'success':!![],'model':_0x48bf0b['model']||_0x36e524[_0x533e64(0xfc)],'size':_0x36e524[_0x533e64(0xf3)],'usage':_0x48bf0b[_0x533e64(0x152)]};}async['_resolveOutputPath'](_0x41e064){const _0x5a0e46=a0_0x456d38;if(_0x41e064['saveToProject']){const _0x197b92=_0x41e064[_0x5a0e46(0x11e)]||process['cwd']();let _0x15783d=_0x41e064[_0x5a0e46(0x10a)];if(!_0x15783d){const _0x4a8d61=Date['now']();_0x15783d='images/generated-'+_0x4a8d61+_0x5a0e46(0x10d);}const _0x1014ac=a0_0x17df24[_0x5a0e46(0x10b)](_0x15783d)?a0_0x17df24['normalize'](_0x15783d):a0_0x17df24['normalize'](a0_0x17df24['join'](_0x197b92,_0x15783d));if(!_0x1014ac[_0x5a0e46(0xf2)](a0_0x17df24[_0x5a0e46(0x109)](_0x197b92)))throw new Error(_0x5a0e46(0x13a));if(_0x41e064['directoryAccess']){const _0x36cffa=a0_0x17df24['relative'](_0x197b92,_0x1014ac);if(_0x36cffa['startsWith']('..'))throw new Error(_0x5a0e46(0x124));}return _0x1014ac;}else{await a0_0x4a2249['mkdir'](this['tempDir'],{'recursive':!![]});let _0x7a9d0e=_0x41e064['outputPath']?a0_0x17df24['basename'](_0x41e064['outputPath']):_0x5a0e46(0x129)+_0x41e064['jobId']+'.png';return a0_0x17df24['join'](this[_0x5a0e46(0x135)],_0x7a9d0e);}}async['_downloadImage'](_0xab9d01,_0x3e120e){const _0x324ec8=a0_0x456d38;try{const _0x196949=await fetch(_0xab9d01,{'signal':AbortSignal['timeout'](IMAGE_CONFIG['DOWNLOAD_TIMEOUT'])});if(!_0x196949['ok'])throw new Error(_0x324ec8(0x10f)+_0x196949[_0x324ec8(0xd8)]);const _0xaceada=Buffer[_0x324ec8(0x131)](await _0x196949[_0x324ec8(0x149)]());await a0_0x4a2249['writeFile'](_0x3e120e,_0xaceada),this['logger']?.[_0x324ec8(0x101)]('Image\x20saved\x20to:\x20'+_0x3e120e);}catch(_0x357733){if(_0x357733[_0x324ec8(0x104)]==='TimeoutError')throw new Error('Image\x20download\x20timeout');else{if(_0x357733['name']==='TypeError')throw new Error(_0x324ec8(0x102)+_0x357733[_0x324ec8(0xdf)]);else throw new Error(_0x324ec8(0xd1)+_0x357733['message']);}}}[a0_0x456d38(0x100)](_0x52b7e8,_0x4ea3f2){const _0x1b6312=a0_0x456d38,_0x4a743b=setTimeout(async()=>{const _0x293b5d=a0_0x325f;try{await a0_0x4a2249['unlink'](_0x52b7e8),this[_0x293b5d(0xe5)]?.[_0x293b5d(0xfa)](_0x293b5d(0x133)+_0x52b7e8),this[_0x293b5d(0x132)][_0x293b5d(0x128)](_0x4ea3f2);}catch(_0x2dbab0){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this[_0x1b6312(0x132)][_0x1b6312(0x13b)](_0x4ea3f2,_0x4a743b);}['_convertToWebUrl'](_0x582c39,_0x5c7af3){const _0x159c10=a0_0x456d38,_0xb77f19=a0_0x17df24[_0x159c10(0x151)](_0x582c39),_0x356acd=global['loxiaWebServer']?.['port']||0x1f90;let _0x3a7daa=global['loxiaWebServer']?.[_0x159c10(0x117)]||'localhost';return _0x3a7daa==='0.0.0.0'&&(_0x3a7daa=_0x159c10(0x103)),_0x159c10(0x107)+_0x3a7daa+':'+_0x356acd+_0x159c10(0x110)+_0x5c7af3+'/'+_0xb77f19;}[a0_0x456d38(0xfd)](){const _0x81a1a2=a0_0x456d38,_0x1d5cd0=0x1e,_0x472d9f=this[_0x81a1a2(0xe0)]['length'];if(_0x472d9f===0x0)return _0x81a1a2(0x116);const _0x2df948=_0x472d9f*_0x1d5cd0,_0x34a834=Math[_0x81a1a2(0x136)](_0x2df948/0x3c),_0x4dca3f=_0x2df948%0x3c;if(_0x34a834>0x0)return'~'+_0x34a834+'m\x20'+_0x4dca3f+'s';return'~'+_0x4dca3f+'s';}['_generateJobId'](){const _0x5562fe=a0_0x456d38;return _0x5562fe(0x127)+Date['now']()+'-'+Math[_0x5562fe(0x143)]()['toString'](0x24)['substring'](0x2,0x9);}[a0_0x456d38(0x11c)](_0x50ef96){const _0x328fe6=a0_0x456d38;if(this['completedJobs']['has'](_0x50ef96))return this['completedJobs'][_0x328fe6(0x12d)](_0x50ef96);if(this['currentJob']&&this['currentJob'][_0x328fe6(0x105)]===_0x50ef96)return this[_0x328fe6(0x14c)];const _0x3662e1=this['queue']['find'](_0x2d9a41=>_0x2d9a41[_0x328fe6(0x105)]===_0x50ef96);if(_0x3662e1)return _0x3662e1;return{'jobId':_0x50ef96,'status':'not_found'};}async['cleanup'](){const _0x16bd9e=a0_0x456d38;this[_0x16bd9e(0xe5)]?.[_0x16bd9e(0x101)](_0x16bd9e(0xf4));for(const _0x4b7d3e of this['cleanupTimers'][_0x16bd9e(0x111)]()){clearTimeout(_0x4b7d3e);}this['cleanupTimers'][_0x16bd9e(0x145)]();for(const _0xb578d6 of this[_0x16bd9e(0xe0)]){_0xb578d6[_0x16bd9e(0xd8)]='cancelled';}this['queue']=[];}}export default ImageTool;
1
+ const a0_0x503e1f=a0_0x78d6;(function(_0x45e9a8,_0x40413d){const _0x495419=a0_0x78d6,_0x12a948=_0x45e9a8();while(!![]){try{const _0x3002bc=parseInt(_0x495419(0x172))/0x1*(-parseInt(_0x495419(0x179))/0x2)+parseInt(_0x495419(0x16e))/0x3*(-parseInt(_0x495419(0x194))/0x4)+-parseInt(_0x495419(0x192))/0x5*(-parseInt(_0x495419(0x148))/0x6)+parseInt(_0x495419(0x17f))/0x7+-parseInt(_0x495419(0x121))/0x8*(parseInt(_0x495419(0x190))/0x9)+parseInt(_0x495419(0x10a))/0xa*(parseInt(_0x495419(0x10d))/0xb)+parseInt(_0x495419(0x13d))/0xc*(parseInt(_0x495419(0x17b))/0xd);if(_0x3002bc===_0x40413d)break;else _0x12a948['push'](_0x12a948['shift']());}catch(_0x1cf921){_0x12a948['push'](_0x12a948['shift']());}}}(a0_0x5cf2,0xdeeb8));import a0_0x5c1e2b from'path';import a0_0x3b765c from'os';import{promises as a0_0x1709fa}from'fs';function a0_0x78d6(_0x2a2d7a,_0x1f0717){_0x2a2d7a=_0x2a2d7a-0x107;const _0x5cf205=a0_0x5cf2();let _0x78d610=_0x5cf205[_0x2a2d7a];if(a0_0x78d6['kUWeJk']===undefined){var _0x5ea265=function(_0xa75b22){const _0x970cc5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c1e2b='',_0x3b765c='';for(let _0x1709fa=0x0,_0x149304,_0x50b5a8,_0x2a1c57=0x0;_0x50b5a8=_0xa75b22['charAt'](_0x2a1c57++);~_0x50b5a8&&(_0x149304=_0x1709fa%0x4?_0x149304*0x40+_0x50b5a8:_0x50b5a8,_0x1709fa++%0x4)?_0x5c1e2b+=String['fromCharCode'](0xff&_0x149304>>(-0x2*_0x1709fa&0x6)):0x0){_0x50b5a8=_0x970cc5['indexOf'](_0x50b5a8);}for(let _0x297ecb=0x0,_0x584888=_0x5c1e2b['length'];_0x297ecb<_0x584888;_0x297ecb++){_0x3b765c+='%'+('00'+_0x5c1e2b['charCodeAt'](_0x297ecb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b765c);};a0_0x78d6['EgBEwI']=_0x5ea265,a0_0x78d6['FgzOvS']={},a0_0x78d6['kUWeJk']=!![];}const _0x4afd3d=_0x5cf205[0x0],_0x28e0f8=_0x2a2d7a+_0x4afd3d,_0x3423ef=a0_0x78d6['FgzOvS'][_0x28e0f8];return!_0x3423ef?(_0x78d610=a0_0x78d6['EgBEwI'](_0x78d610),a0_0x78d6['FgzOvS'][_0x28e0f8]=_0x78d610):_0x78d610=_0x3423ef,_0x78d610;}import{BaseTool}from'./baseTool.js';const IMAGE_CONFIG={'DEFAULT_MODEL':a0_0x503e1f(0x146),'DEFAULT_SIZE':'1024x1024','DEFAULT_QUALITY':a0_0x503e1f(0x158),'VALID_SIZES':['256x256',a0_0x503e1f(0x189),'1024x1024','1024x1792','1792x1024'],'VALID_FORMATS':['png','jpg',a0_0x503e1f(0x169),'webp'],'MAX_CONCURRENT':0x3,'QUEUE_LIMIT':0xa,'TEMP_CLEANUP_MS':0x36ee80,'MAX_PROMPT_LENGTH':0xfa0,'DOWNLOAD_TIMEOUT':0xea60};export class ImageTool extends BaseTool{constructor(_0x149304={},_0x50b5a8=null){const _0x484c35=a0_0x503e1f;super(_0x149304,_0x50b5a8),this['id']='image-gen',this['queue']=[],this['currentJob']=null,this[_0x484c35(0x166)]=new Map(),this[_0x484c35(0x197)]=![],this['aiService']=null,this['agentPool']=null,this[_0x484c35(0x10c)]=a0_0x5c1e2b[_0x484c35(0x175)](a0_0x3b765c[_0x484c35(0x18a)](),_0x484c35(0x199)),this['cleanupTimers']=new Map();}[a0_0x503e1f(0x152)](_0x2a1c57){const _0x55c8bf=a0_0x503e1f;this[_0x55c8bf(0x161)]=_0x2a1c57,this[_0x55c8bf(0x14a)]?.['info']('AI\x20Service\x20set\x20for\x20ImageTool');}['setAgentPool'](_0x297ecb){const _0x481480=a0_0x503e1f;this['agentPool']=_0x297ecb,this['logger']?.['info'](_0x481480(0x115));}[a0_0x503e1f(0x119)](){const _0x4cd026=a0_0x503e1f;return _0x4cd026(0x160)+IMAGE_CONFIG['QUEUE_LIMIT']+'\x20images\x20in\x20queue\x20at\x20once';}[a0_0x503e1f(0x127)](_0x584888){const _0x465e01=a0_0x503e1f;if(typeof _0x584888===_0x465e01(0x14e)&&_0x584888!==null)return this[_0x465e01(0x137)](_0x584888);if(typeof _0x584888===_0x465e01(0x185)){const _0x38d6a6=_0x584888['trim']();if(_0x38d6a6[_0x465e01(0x195)]('{')||_0x38d6a6['startsWith']('['))try{const _0x20aab9=JSON['parse'](_0x38d6a6);return this[_0x465e01(0x137)](_0x20aab9);}catch(_0x50d446){}return this[_0x465e01(0x173)](_0x584888);}throw new Error(_0x465e01(0x133));}['_parseJSONParams'](_0x330901){const _0x40b358=a0_0x503e1f;_0x330901[_0x40b358(0x183)]&&(_0x330901=_0x330901['parameters']);if(_0x330901['batch']&&Array[_0x40b358(0x10e)](_0x330901[_0x40b358(0x128)]))return{'batch':!![],'images':_0x330901[_0x40b358(0x128)][_0x40b358(0x145)](_0x29c95f=>this[_0x40b358(0x134)](_0x29c95f))};return{'batch':![],'images':[this[_0x40b358(0x134)](_0x330901)]};}[a0_0x503e1f(0x173)](_0x23ed43){const _0x383372=a0_0x503e1f,_0x1c4732={'batch':![],'images':[]},_0x392c1b=/<batch>([\s\S]*?)<\/batch>/i[_0x383372(0x18e)](_0x23ed43);if(_0x392c1b){_0x1c4732[_0x383372(0x128)]=!![];const _0x4c5015=_0x392c1b[0x1],_0x28a64a=/<image>([\s\S]*?)<\/image>/gi;let _0x50d358;while((_0x50d358=_0x28a64a[_0x383372(0x18e)](_0x4c5015))!==null){_0x1c4732['images']['push'](this[_0x383372(0x156)](_0x50d358[0x1]));}}else _0x1c4732[_0x383372(0x18f)]['push'](this[_0x383372(0x156)](_0x23ed43));if(_0x1c4732[_0x383372(0x18f)]['length']===0x0)throw new Error(_0x383372(0x13e));return _0x1c4732;}['_parseImageParams'](_0x55d0a0){const _0x46c403=a0_0x503e1f,_0x89abc7=_0x55d0a0['outputPath']||_0x55d0a0['output-path']||null;return{'prompt':_0x55d0a0[_0x46c403(0x184)]||'','outputPath':_0x89abc7,'saveToProject':_0x89abc7!==null,'model':_0x55d0a0[_0x46c403(0x181)]||IMAGE_CONFIG[_0x46c403(0x13c)],'size':_0x55d0a0['size']||IMAGE_CONFIG[_0x46c403(0x118)],'quality':_0x55d0a0['quality']||IMAGE_CONFIG[_0x46c403(0x15a)]};}['_parseXMLImage'](_0x22866e){const _0xcff431=a0_0x503e1f,_0x2a53a6=_0x1fe582=>{const _0x2a3b7e=a0_0x78d6,_0x5a2757=new RegExp('<'+_0x1fe582+'>([\x5cs\x5cS]*?)<\x5c/'+_0x1fe582+'>','i'),_0x1bf47f=_0x5a2757[_0x2a3b7e(0x18e)](_0x22866e);return _0x1bf47f?_0x1bf47f[0x1]['trim']():null;},_0x31da29=_0x2a53a6(_0xcff431(0x111))||null;return{'prompt':_0x2a53a6(_0xcff431(0x184))||'','outputPath':_0x31da29,'saveToProject':_0x31da29!==null,'model':_0x2a53a6('model')||IMAGE_CONFIG['DEFAULT_MODEL'],'size':_0x2a53a6('size')||IMAGE_CONFIG[_0xcff431(0x118)],'quality':_0x2a53a6('quality')||IMAGE_CONFIG[_0xcff431(0x15a)]};}async[a0_0x503e1f(0x157)](_0x563979,_0x30c84d={}){const _0x4a40a1=a0_0x503e1f;try{const {agentId:_0xf1a6c4,projectDir:_0x364146,directoryAccess:_0x4e3592,sessionId:_0x1d8c66}=_0x30c84d;typeof _0x563979==='string'&&(this[_0x4a40a1(0x14a)]?.[_0x4a40a1(0x144)]('ImageTool:\x20Auto-parsing\x20string\x20parameters'),_0x563979=this[_0x4a40a1(0x127)](_0x563979));this['_validateParameters'](_0x563979);const _0x5683ca=[];for(const _0x56e351 of _0x563979[_0x4a40a1(0x18f)]){const _0x248c20=this[_0x4a40a1(0x19f)](),_0x183b80={'jobId':_0x248c20,'agentId':_0xf1a6c4,'sessionId':_0x1d8c66,'prompt':_0x56e351[_0x4a40a1(0x184)],'outputPath':_0x56e351['outputPath'],'saveToProject':_0x56e351['saveToProject'],'model':_0x56e351[_0x4a40a1(0x181)],'size':_0x56e351['size'],'quality':_0x56e351[_0x4a40a1(0x182)],'projectDir':_0x364146||process[_0x4a40a1(0x187)](),'directoryAccess':_0x4e3592,'status':'queued','createdAt':new Date()['toISOString']()};if(this[_0x4a40a1(0x1a0)]['length']>=IMAGE_CONFIG[_0x4a40a1(0x113)])return{'success':![],'error':_0x4a40a1(0x19e)+IMAGE_CONFIG['QUEUE_LIMIT']+'\x20images).\x20Please\x20wait\x20for\x20current\x20jobs\x20to\x20complete.','queueLength':this['queue'][_0x4a40a1(0x198)]};this[_0x4a40a1(0x1a0)]['push'](_0x183b80),_0x5683ca['push'](_0x248c20),this['logger']?.['info'](_0x4a40a1(0x186)+_0x248c20,{'prompt':_0x56e351[_0x4a40a1(0x184)]['substring'](0x0,0x32)+'...','queuePosition':this[_0x4a40a1(0x1a0)]['length']});}return!this['isProcessing']&&this[_0x4a40a1(0x19d)]()['catch'](_0x4a2274=>{this['logger']?.['error']('Queue\x20processing\x20error:',_0x4a2274);}),{'success':!![],'jobIds':_0x5683ca,'queueLength':this['queue'][_0x4a40a1(0x198)],'message':_0x563979['batch']?_0x5683ca[_0x4a40a1(0x198)]+'\x20images\x20queued\x20for\x20generation':'Image\x20queued\x20for\x20generation','estimatedWaitTime':this[_0x4a40a1(0x19c)]()};}catch(_0x2361b2){return this[_0x4a40a1(0x14a)]?.['error'](_0x4a40a1(0x154),_0x2361b2),{'success':![],'error':_0x2361b2[_0x4a40a1(0x159)]};}}[a0_0x503e1f(0x15b)](_0x20abcd){const _0x142a3e=a0_0x503e1f;if(!_0x20abcd['images']||_0x20abcd[_0x142a3e(0x18f)]['length']===0x0)throw new Error(_0x142a3e(0x153));for(const _0x4402bf of _0x20abcd['images']){if(!_0x4402bf[_0x142a3e(0x184)]||_0x4402bf[_0x142a3e(0x184)][_0x142a3e(0x168)]()['length']===0x0)throw new Error(_0x142a3e(0x15d));if(_0x4402bf[_0x142a3e(0x184)]['length']>IMAGE_CONFIG[_0x142a3e(0x136)])throw new Error(_0x142a3e(0x143)+IMAGE_CONFIG['MAX_PROMPT_LENGTH']+'\x20characters)');if(_0x4402bf['size']&&!IMAGE_CONFIG['VALID_SIZES'][_0x142a3e(0x12a)](_0x4402bf['size']))throw new Error('Invalid\x20size:\x20'+_0x4402bf[_0x142a3e(0x155)]+_0x142a3e(0x16b)+IMAGE_CONFIG['VALID_SIZES']['join'](',\x20'));if(_0x4402bf['outputPath']){const _0x9bfdac=a0_0x5c1e2b[_0x142a3e(0x11b)](_0x4402bf[_0x142a3e(0x139)])['toLowerCase']()['replace']('.','');if(_0x9bfdac&&!IMAGE_CONFIG['VALID_FORMATS']['includes'](_0x9bfdac))throw new Error('Invalid\x20format:\x20'+_0x9bfdac+'.\x20Valid\x20formats:\x20'+IMAGE_CONFIG['VALID_FORMATS'][_0x142a3e(0x175)](',\x20'));}}}async[a0_0x503e1f(0x19d)](){const _0x56422b=a0_0x503e1f;if(this[_0x56422b(0x197)])return;this['isProcessing']=!![];while(this['queue']['length']>0x0){const _0x3079ad=this[_0x56422b(0x1a0)]['shift']();this[_0x56422b(0x15f)]=_0x3079ad,this[_0x56422b(0x14a)]?.['info']('Processing\x20image\x20generation\x20job:\x20'+_0x3079ad['jobId']);try{_0x3079ad[_0x56422b(0x13b)]=_0x56422b(0x11a);const _0xb1b559=await this['_generateImage'](_0x3079ad);_0x3079ad['status']=_0x56422b(0x18c),_0x3079ad['result']=_0xb1b559,_0x3079ad['completedAt']=new Date()[_0x56422b(0x180)](),this['completedJobs'][_0x56422b(0x138)](_0x3079ad[_0x56422b(0x108)],_0x3079ad);if(global['loxiaWebServer']&&_0x3079ad['sessionId']){let _0x4b55a5,_0x4ca935=![];if(_0xb1b559[_0x56422b(0x123)]&&_0xb1b559['resolvedOutputPath'])_0x4b55a5=this[_0x56422b(0x13a)](_0xb1b559['resolvedOutputPath'],_0x3079ad['sessionId']);else _0xb1b559['temporaryUrl']&&(_0x4b55a5=_0xb1b559['temporaryUrl'],_0x4ca935=!![]);global['loxiaWebServer'][_0x56422b(0x11e)](_0x3079ad[_0x56422b(0x16f)],{'type':_0x56422b(0x12e),'agentId':_0x3079ad[_0x56422b(0x191)],'jobId':_0x3079ad[_0x56422b(0x108)],'imageUrl':_0x4b55a5,'localPath':_0xb1b559[_0x56422b(0x164)],'prompt':_0x3079ad['prompt'],'success':!![],'isTemporary':_0x4ca935,'savedToDisk':_0xb1b559['savedToDisk'],'downloadError':_0xb1b559['downloadError'],'timestamp':_0x3079ad['completedAt']}),this['logger']?.['info']('Image\x20generation\x20broadcast\x20sent',{'jobId':_0x3079ad['jobId'],'imageUrl':_0x4b55a5,'localPath':_0xb1b559[_0x56422b(0x164)],'savedToDisk':_0xb1b559['savedToDisk'],'isTemporary':_0x4ca935});if(this['agentPool']&&_0x3079ad['agentId'])try{const _0x2d0c67=await this[_0x56422b(0x17c)][_0x56422b(0x131)](_0x3079ad['agentId']);if(_0x2d0c67){let _0x3ed3ad=_0x56422b(0x14f)+_0x3079ad[_0x56422b(0x184)];_0x4ca935&&(_0x3ed3ad+='\x0a\x0a⚠️\x20**Warning:**\x20Image\x20is\x20using\x20a\x20temporary\x20URL\x20(expires\x20in\x20~1\x20hour).\x20Failed\x20to\x20save\x20to\x20disk.',_0xb1b559[_0x56422b(0x129)]&&(_0x3ed3ad+=_0x56422b(0x120)+_0xb1b559[_0x56422b(0x129)]));const _0x23c8cf={'id':_0x56422b(0x177)+_0x3079ad['jobId'],'role':'assistant','content':_0x3ed3ad,'timestamp':_0x3079ad[_0x56422b(0x163)],'imageUrl':_0x4b55a5,'type':_0x56422b(0x142),'toolId':'image-gen','status':_0x56422b(0x18c),'isTemporary':_0x4ca935||![],'savedToDisk':_0xb1b559[_0x56422b(0x123)]!==![]};_0x2d0c67[_0x56422b(0x170)][_0x56422b(0x10b)][_0x56422b(0x11d)]['push'](_0x23c8cf),_0x2d0c67['conversations']['full']['lastUpdated']=_0x3079ad[_0x56422b(0x163)],_0x2d0c67[_0x56422b(0x16a)]&&_0x2d0c67['conversations'][_0x2d0c67['currentModel']]&&(_0x2d0c67['conversations'][_0x2d0c67[_0x56422b(0x16a)]]['messages'][_0x56422b(0x19b)](_0x23c8cf),_0x2d0c67[_0x56422b(0x170)][_0x2d0c67['currentModel']]['lastUpdated']=_0x3079ad[_0x56422b(0x163)]),_0x2d0c67[_0x56422b(0x17a)]=_0x3079ad['completedAt'],await this[_0x56422b(0x17c)][_0x56422b(0x110)](_0x3079ad[_0x56422b(0x191)]),this[_0x56422b(0x14a)]?.[_0x56422b(0x144)](_0x56422b(0x174),{'agentId':_0x3079ad[_0x56422b(0x191)],'jobId':_0x3079ad[_0x56422b(0x108)],'messageId':_0x23c8cf['id']});}}catch(_0x4cbee9){this['logger']?.[_0x56422b(0x149)]('Failed\x20to\x20save\x20image\x20result\x20to\x20conversation\x20history',{'error':_0x4cbee9['message'],'agentId':_0x3079ad['agentId'],'jobId':_0x3079ad[_0x56422b(0x108)]});}}this['logger']?.[_0x56422b(0x144)](_0x56422b(0x19a)+_0x3079ad['jobId'],{'outputPath':_0xb1b559['resolvedOutputPath']});}catch(_0x2d27b3){this['logger']?.['error']('Image\x20generation\x20failed:\x20'+_0x3079ad[_0x56422b(0x108)],_0x2d27b3),_0x3079ad['status']='failed',_0x3079ad['error']=_0x2d27b3['message'],_0x3079ad[_0x56422b(0x163)]=new Date()['toISOString'](),this[_0x56422b(0x166)][_0x56422b(0x138)](_0x3079ad[_0x56422b(0x108)],_0x3079ad);global[_0x56422b(0x18d)]&&_0x3079ad[_0x56422b(0x16f)]&&(global['loxiaWebServer']['broadcastToSession'](_0x3079ad[_0x56422b(0x16f)],{'type':'imageGenerated','jobId':_0x3079ad[_0x56422b(0x108)],'agentId':_0x3079ad['agentId'],'prompt':_0x3079ad[_0x56422b(0x184)],'success':![],'error':_0x2d27b3['message'],'timestamp':_0x3079ad['completedAt']}),this['logger']?.[_0x56422b(0x144)](_0x56422b(0x165),{'jobId':_0x3079ad[_0x56422b(0x108)],'sessionId':_0x3079ad['sessionId'],'error':_0x2d27b3['message']}));if(this[_0x56422b(0x17c)]&&_0x3079ad[_0x56422b(0x191)])try{const _0x4c2da7=await this['agentPool']['getAgent'](_0x3079ad['agentId']);if(_0x4c2da7){const _0x347be3={'id':'img-error-'+_0x3079ad['jobId'],'role':_0x56422b(0x12f),'content':_0x56422b(0x12b)+_0x2d27b3['message']+_0x56422b(0x150)+_0x3079ad[_0x56422b(0x184)],'timestamp':_0x3079ad['completedAt'],'type':'error','toolId':_0x56422b(0x147),'status':'failed','jobId':_0x3079ad['jobId']};_0x4c2da7['conversations']['full'][_0x56422b(0x11d)]['push'](_0x347be3),_0x4c2da7[_0x56422b(0x170)]['full'][_0x56422b(0x126)]=_0x3079ad[_0x56422b(0x163)],_0x4c2da7['currentModel']&&_0x4c2da7['conversations'][_0x4c2da7[_0x56422b(0x16a)]]&&(_0x4c2da7['conversations'][_0x4c2da7['currentModel']][_0x56422b(0x11d)][_0x56422b(0x19b)](_0x347be3),_0x4c2da7[_0x56422b(0x170)][_0x4c2da7['currentModel']][_0x56422b(0x126)]=_0x3079ad['completedAt']),_0x4c2da7['lastActivity']=_0x3079ad[_0x56422b(0x163)],await this[_0x56422b(0x17c)]['persistAgentState'](_0x3079ad[_0x56422b(0x191)]),this['logger']?.[_0x56422b(0x144)]('Image\x20error\x20saved\x20to\x20conversation\x20history',{'agentId':_0x3079ad['agentId'],'jobId':_0x3079ad[_0x56422b(0x108)],'error':_0x2d27b3['message']});}}catch(_0x535ede){this[_0x56422b(0x14a)]?.[_0x56422b(0x149)](_0x56422b(0x17d),{'error':_0x535ede[_0x56422b(0x159)],'agentId':_0x3079ad['agentId'],'jobId':_0x3079ad['jobId']});}}}this[_0x56422b(0x197)]=![],this[_0x56422b(0x15f)]=null;}async['_generateImage'](_0x11f98f){const _0x6ab16a=a0_0x503e1f;if(!this[_0x6ab16a(0x161)])throw new Error(_0x6ab16a(0x11c));const _0x2e8d0b=await this['_resolveOutputPath'](_0x11f98f),_0x34a3b0=a0_0x5c1e2b[_0x6ab16a(0x176)](_0x2e8d0b);await a0_0x1709fa[_0x6ab16a(0x13f)](_0x34a3b0,{'recursive':!![]}),this['logger']?.['info']('Generating\x20image\x20with\x20'+_0x11f98f[_0x6ab16a(0x181)],{'size':_0x11f98f[_0x6ab16a(0x155)],'quality':_0x11f98f['quality']});const _0x9cce8={'model':_0x11f98f[_0x6ab16a(0x181)],'size':_0x11f98f['size'],'quality':_0x11f98f['quality'],'responseFormat':_0x6ab16a(0x130),'sessionId':_0x11f98f['sessionId']},_0x5827c6=await this[_0x6ab16a(0x161)][_0x6ab16a(0x141)](_0x11f98f[_0x6ab16a(0x184)],_0x9cce8),_0x4661f2=_0x5827c6?.['url']||_0x5827c6?.['imageUrl'];if(!_0x4661f2)throw new Error('No image URL received from AI service');this[_0x6ab16a(0x14a)]?.['info']('Image\x20URL\x20received:\x20'+_0x4661f2['substring'](0x0,0x32)+_0x6ab16a(0x135));let _0x493891=![],_0x1d2258=null;try{await this['_downloadImage'](_0x4661f2,_0x2e8d0b),_0x493891=!![],!_0x11f98f[_0x6ab16a(0x188)]&&this[_0x6ab16a(0x109)](_0x2e8d0b,_0x11f98f['jobId']);}catch(_0x2f63d){_0x1d2258=_0x2f63d['message'],this[_0x6ab16a(0x14a)]?.[_0x6ab16a(0x16c)](_0x6ab16a(0x10f)+_0x2f63d['message']);}return{'jobId':_0x11f98f[_0x6ab16a(0x108)],'prompt':_0x11f98f[_0x6ab16a(0x184)],'outputPath':_0x11f98f['outputPath'],'resolvedOutputPath':_0x493891?_0x2e8d0b:null,'temporaryUrl':_0x4661f2,'savedToDisk':_0x493891,'downloadError':_0x1d2258,'success':!![],'model':_0x5827c6['model']||_0x11f98f[_0x6ab16a(0x181)],'size':_0x11f98f['size'],'usage':_0x5827c6[_0x6ab16a(0x151)]};}async[a0_0x503e1f(0x14c)](_0x3974d8){const _0x1f8a79=a0_0x503e1f;if(_0x3974d8['saveToProject']){const _0x562e99=_0x3974d8[_0x1f8a79(0x116)]||process[_0x1f8a79(0x187)]();let _0x333e00=_0x3974d8['outputPath'];if(!_0x333e00){const _0x5029b6=Date[_0x1f8a79(0x16d)]();_0x333e00=_0x1f8a79(0x122)+_0x5029b6+_0x1f8a79(0x15e);}const _0x5b436b=a0_0x5c1e2b['isAbsolute'](_0x333e00)?a0_0x5c1e2b['normalize'](_0x333e00):a0_0x5c1e2b['normalize'](a0_0x5c1e2b[_0x1f8a79(0x175)](_0x562e99,_0x333e00));if(!_0x5b436b['startsWith'](a0_0x5c1e2b['normalize'](_0x562e99)))throw new Error(_0x1f8a79(0x132));if(_0x3974d8[_0x1f8a79(0x193)]){const _0xc5efe5=a0_0x5c1e2b['relative'](_0x562e99,_0x5b436b);if(_0xc5efe5[_0x1f8a79(0x195)]('..'))throw new Error(_0x1f8a79(0x18b));}return _0x5b436b;}else{await a0_0x1709fa['mkdir'](this[_0x1f8a79(0x10c)],{'recursive':!![]});let _0x3d5bca=_0x3974d8['outputPath']?a0_0x5c1e2b[_0x1f8a79(0x12c)](_0x3974d8['outputPath']):_0x1f8a79(0x117)+_0x3974d8['jobId']+'.png';return a0_0x5c1e2b['join'](this['tempDir'],_0x3d5bca);}}async['_downloadImage'](_0x47b67c,_0x5f2969){const _0x569d75=a0_0x503e1f;try{const _0x53c68d=await fetch(_0x47b67c,{'signal':AbortSignal[_0x569d75(0x171)](IMAGE_CONFIG[_0x569d75(0x114)])});if(!_0x53c68d['ok'])throw new Error('Failed\x20to\x20download\x20image:\x20HTTP\x20'+_0x53c68d['status']);const _0x306075=Buffer['from'](await _0x53c68d[_0x569d75(0x124)]());await a0_0x1709fa[_0x569d75(0x162)](_0x5f2969,_0x306075),this[_0x569d75(0x14a)]?.[_0x569d75(0x144)](_0x569d75(0x15c)+_0x5f2969);}catch(_0xb979b3){if(_0xb979b3['name']==='TimeoutError')throw new Error('Image\x20download\x20timeout');else{if(_0xb979b3['name']==='TypeError')throw new Error('Network\x20error:\x20'+_0xb979b3['message']);else throw new Error('Download\x20failed:\x20'+_0xb979b3['message']);}}}['_scheduleCleanup'](_0x2a7050,_0x5c1404){const _0xbcfbf5=setTimeout(async()=>{const _0x520078=a0_0x78d6;try{await a0_0x1709fa['unlink'](_0x2a7050),this['logger']?.[_0x520078(0x112)]('Cleaned\x20up\x20temp\x20image:\x20'+_0x2a7050),this[_0x520078(0x11f)]['delete'](_0x5c1404);}catch(_0x2f035b){}},IMAGE_CONFIG['TEMP_CLEANUP_MS']);this['cleanupTimers']['set'](_0x5c1404,_0xbcfbf5);}[a0_0x503e1f(0x13a)](_0x5706d6,_0x18e62e){const _0x1fb2fd=a0_0x503e1f,_0x355bd0=a0_0x5c1e2b['basename'](_0x5706d6),_0x599d31=global['loxiaWebServer']?.['port']||0x1f90;let _0x780e86=global['loxiaWebServer']?.[_0x1fb2fd(0x17e)]||_0x1fb2fd(0x14d);return _0x780e86==='0.0.0.0'&&(_0x780e86='localhost'),_0x1fb2fd(0x12d)+_0x780e86+':'+_0x599d31+_0x1fb2fd(0x196)+_0x18e62e+'/'+_0x355bd0;}[a0_0x503e1f(0x19c)](){const _0x59af6a=a0_0x503e1f,_0x5737a4=0x1e,_0x180c2b=this[_0x59af6a(0x1a0)][_0x59af6a(0x198)];if(_0x180c2b===0x0)return'~30\x20seconds';const _0x2cfe71=_0x180c2b*_0x5737a4,_0x45150a=Math[_0x59af6a(0x14b)](_0x2cfe71/0x3c),_0x328291=_0x2cfe71%0x3c;if(_0x45150a>0x0)return'~'+_0x45150a+'m\x20'+_0x328291+'s';return'~'+_0x328291+'s';}[a0_0x503e1f(0x19f)](){const _0x14c1f2=a0_0x503e1f;return _0x14c1f2(0x107)+Date[_0x14c1f2(0x16d)]()+'-'+Math[_0x14c1f2(0x140)]()['toString'](0x24)['substring'](0x2,0x9);}['getJobStatus'](_0x2d2e6f){const _0x5bf954=a0_0x503e1f;if(this[_0x5bf954(0x166)]['has'](_0x2d2e6f))return this[_0x5bf954(0x166)]['get'](_0x2d2e6f);if(this['currentJob']&&this['currentJob']['jobId']===_0x2d2e6f)return this[_0x5bf954(0x15f)];const _0x1a33dd=this['queue']['find'](_0x2fe587=>_0x2fe587[_0x5bf954(0x108)]===_0x2d2e6f);if(_0x1a33dd)return _0x1a33dd;return{'jobId':_0x2d2e6f,'status':'not_found'};}async[a0_0x503e1f(0x167)](){const _0x3efe64=a0_0x503e1f;this[_0x3efe64(0x14a)]?.['info'](_0x3efe64(0x125));for(const _0x4809b2 of this[_0x3efe64(0x11f)][_0x3efe64(0x178)]()){clearTimeout(_0x4809b2);}this[_0x3efe64(0x11f)]['clear']();for(const _0x50345b of this['queue']){_0x50345b['status']='cancelled';}this[_0x3efe64(0x1a0)]=[];}}export default ImageTool;function a0_0x5cf2(){const _0x3443e1=['zgLYBMfTzq','Aw1NlxjLC3vSDc0','DMfSDwvZ','mZyYwM9gEK5A','BgfZDefJDgL2Axr5','otuXmta5oxfyELHhsG','ywDLBNrqB29S','rMfPBgvKihrVihnHDMuGAw1Hz2uGzxjYB3iGDg8Gy29UDMvYC2f0Aw9UigHPC3rVCNK','Ag9ZDa','ntC2mtDHzgrMzNK','Dg9ju09tDhjPBMC','Bw9KzwW','CxvHBgL0Eq','CgfYyw1LDgvYCW','ChjVBxb0','C3rYAw5N','sw1Hz2uGz2vUzxjHDgLVBIbQB2iGCxvLDwvKoIa','y3DK','C2f2zvrVuhjVAMvJDa','nteYEduXmG','Dg1WzgLY','qwnJzxnZigrLBMLLzdOGCgf0AcbVDxrZAwrLihbYB2PLy3qGzgLYzwn0B3j5','y29TCgXLDgvK','Bg94Awfxzwjtzxj2zxi','zxHLyW','Aw1Hz2vZ','oxvNt0TcBG','ywDLBNrjza','mJi2odv4z2znsLm','zgLYzwn0B3j5qwnJzxnZ','mJq0nhzkq1DXvq','C3rHCNrZv2L0Aa','l2fWAs9PBwfNzxmV','AxnqCM9JzxnZAw5N','BgvUz3rO','Bg94AweTAw1Hz2vZ','sw1Hz2uGz2vUzxjHDgLVBIbJB21WBgv0zwq6ia','ChvZAa','x2vZDgLTyxrLv2fPDfrPBwu','x3bYB2nLC3nrDwv1zq','uxvLDwuGBgLTAxqGCMvHy2HLzcaO','x2DLBMvYyxrLsM9Iswq','CxvLDwu','Aw1Nlq','AM9Iswq','x3nJAgvKDwXLq2XLyw51Ca','mZCWyLL6q1zW','zNvSBa','DgvTCerPCG','ndeWoti3tfzOCe1u','AxnbCNjHEq','rMfPBgvKihrVihnHDMuGAw1Hz2uGDg8GzgLZAYWGD2LSBcb1C2uGDgvTCg9Yyxj5ifvstdOG','CgvYC2LZDefNzw50u3rHDgu','B3v0Chv0lxbHDgG','zgvIDwC','uvvfvuvFteLnsvq','re9xtKXpqurFveLnru9vva','qwDLBNrqB29SihnLDcbMB3iGsw1Hz2vuB29S','ChjVAMvJDerPCG','z2vUzxjHDgvKlq','revgqvvmvf9tsvPf','z2v0rgvZy3jPChrPB24','ChjVy2vZC2LUzW','zxH0BMfTzq','quKGC2vYDMLJzsbUB3qGyxzHAwXHyMXLlIbjBwfNzsbNzw5LCMf0Aw9UihjLCxvPCMvZiefjihnLCNzPy2uU','BwvZC2fNzxm','yNjVywrJyxn0vg9tzxnZAw9U','y2XLyw51CfrPBwvYCW','cIOQrxjYB3i6kIOG','mZe0ntu3nLfNB1zpDG','Aw1Hz2vZl2DLBMvYyxrLzc0','C2f2zwruB0rPC2S','yxjYyxLcDwzMzxi','u2H1DhrPBMCGzg93BIbjBwfNzvrVB2W','BgfZDfvWzgf0zwq','CgfYC2vqyxjHBwv0zxjZ','yMf0y2G','zg93BMXVywrfCNjVCG','Aw5JBhvKzxm','4P2mieLTywDLigDLBMvYyxrPB24GzMfPBgvKoIa','yMfZzw5HBwu','Ahr0CdOVlW','Aw1Hz2vhzw5LCMf0zwq','C3LZDgvT','DxjS','z2v0qwDLBNq','ugf0Acb0CMf2zxjZywWGzgv0zwn0zwq','sw52ywXPzcbWyxjHBwv0zxiGzM9YBwf0','x3bHCNnLsw1Hz2vqyxjHBxm','lI4U','tufyx1bst01qvf9mru5hveG','x3bHCNnLsLnptLbHCMfTCW','C2v0','B3v0Chv0ugf0Aa','x2nVBNzLCNruB1DLyLvYBa','C3rHDhvZ','revgqvvmvf9nt0rfta','mtj3CezgDKS','tM8GDMfSAwqGAw1Hz2uGCgfYyw1LDgvYCYbMB3vUza','BwTKAxi','CMfUzg9T','z2vUzxjHDgvjBwfNzq','Aw1Hz2uTCMvZDwX0','uhjVBxb0ihrVBYbSB25NicHTyxGG','Aw5MBW','BwfW','yxP1CMuTB3bLBMfPlwrHBgXLmW','Aw1Hz2uTz2vU','ntGYv0f0r0XV','zxjYB3i','Bg9Nz2vY','zMXVB3i','x3jLC29SDMvpDxrWDxrqyxrO','Bg9JywXOB3n0','B2jQzwn0','sw1Hz2uGz2vUzxjHDgvKoIa','cGOQkLbYB21WDdOQkIa','DxnHz2u','C2v0quLtzxj2AwnL','tM8GAw1Hz2vZihnWzwnPzMLLza','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCJO','C2L6zq','x3bHCNnLwe1msw1Hz2u','zxHLy3v0zq','C3rHBMrHCMq','BwvZC2fNzq','revgqvvmvf9rvufmsvrz','x3zHBgLKyxrLugfYyw1LDgvYCW','sw1Hz2uGC2f2zwqGDg86ia','sw1Hz2uGChjVBxb0igLZihjLCxvPCMvK','lNbUzW','y3vYCMvUDePVyG','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','ywLtzxj2AwnL','D3jPDgvgAwXL','y29TCgXLDgvKqxq','CMvZB2X2zwrpDxrWDxrqyxrO','sw1Hz2uGz2vUzxjHDgLVBIbLCNjVCIbICM9HzgnHC3qGC2vUDa','y29TCgXLDgvKsM9ICW','y2XLyw51Ca','DhjPBq','ANbLzW','y3vYCMvUDe1VzgvS','lIbwywXPzcbZAxPLCZOG','D2fYBG','BM93','nJeYouPOrxPlva','C2vZC2LVBKLK','y29UDMvYC2f0Aw9UCW','DgLTzw91Da','ndjuvuXNt04','x3bHCNnLwe1mugfYyw1Z','sw1Hz2uGCMvZDwX0ihnHDMvKihrVignVBNzLCNnHDgLVBIbOAxn0B3j5','AM9PBG'];a0_0x5cf2=function(){return _0x3443e1;};return a0_0x5cf2();}