@loxia-labs/loxia-autopilot-one 1.0.10 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) 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-CoRE46V-.js → index-C5X7qBNF.js} +63 -63
  119. package/web-ui/build/static/index-g2UFuTwG.css +1 -0
  120. package/web-ui/build/static/index-P281Rusr.css +0 -1
@@ -1 +1 @@
1
- const a0_0x21259b=a0_0x5d44;(function(_0x4d2abb,_0x369aeb){const _0x217cf6=a0_0x5d44,_0x583a10=_0x4d2abb();while(!![]){try{const _0x113822=parseInt(_0x217cf6(0x133))/0x1*(parseInt(_0x217cf6(0x12a))/0x2)+-parseInt(_0x217cf6(0x12c))/0x3*(parseInt(_0x217cf6(0x122))/0x4)+-parseInt(_0x217cf6(0x12b))/0x5+-parseInt(_0x217cf6(0x11f))/0x6+-parseInt(_0x217cf6(0x12f))/0x7+parseInt(_0x217cf6(0x131))/0x8*(parseInt(_0x217cf6(0x11d))/0x9)+-parseInt(_0x217cf6(0x127))/0xa*(-parseInt(_0x217cf6(0x12d))/0xb);if(_0x113822===_0x369aeb)break;else _0x583a10['push'](_0x583a10['shift']());}catch(_0x3fb13e){_0x583a10['push'](_0x583a10['shift']());}}}(a0_0x11b8,0x968a5));const THEMES={'default':{'border':'blue','borderLoading':a0_0x21259b(0x129),'primary':'white','secondary':'cyan','success':a0_0x21259b(0x130),'error':a0_0x21259b(0x120),'warning':'yellow','info':'blue','dim':a0_0x21259b(0x12e)},'light':{'border':'blue','borderLoading':a0_0x21259b(0x129),'primary':a0_0x21259b(0x125),'secondary':a0_0x21259b(0x124),'success':'green','error':'red','warning':'yellow','info':a0_0x21259b(0x132),'dim':a0_0x21259b(0x12e)},'dark':{'border':a0_0x21259b(0x132),'borderLoading':a0_0x21259b(0x11e),'primary':a0_0x21259b(0x128),'secondary':a0_0x21259b(0x132),'success':a0_0x21259b(0x11c),'error':'redBright','warning':'yellowBright','info':a0_0x21259b(0x123),'dim':a0_0x21259b(0x12e)},'high-contrast':{'border':'white','borderLoading':a0_0x21259b(0x129),'primary':'white','secondary':'cyan','success':a0_0x21259b(0x11c),'error':a0_0x21259b(0x121),'warning':'yellowBright','info':'cyanBright','dim':'white'}};export function getTheme(_0x28be6a='default'){const _0x3a8353=a0_0x21259b;return THEMES[_0x28be6a]||THEMES[_0x3a8353(0x126)];}function a0_0x5d44(_0x3949d5,_0x2ad7e3){_0x3949d5=_0x3949d5-0x11c;const _0x11b8e9=a0_0x11b8();let _0x5d4471=_0x11b8e9[_0x3949d5];if(a0_0x5d44['jCwTpf']===undefined){var _0xd98081=function(_0x5ac1d9){const _0x507779='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x28be6a='',_0x44d36c='';for(let _0x4fcd2d=0x0,_0x2b76bc,_0x36bf12,_0x3959b9=0x0;_0x36bf12=_0x5ac1d9['charAt'](_0x3959b9++);~_0x36bf12&&(_0x2b76bc=_0x4fcd2d%0x4?_0x2b76bc*0x40+_0x36bf12:_0x36bf12,_0x4fcd2d++%0x4)?_0x28be6a+=String['fromCharCode'](0xff&_0x2b76bc>>(-0x2*_0x4fcd2d&0x6)):0x0){_0x36bf12=_0x507779['indexOf'](_0x36bf12);}for(let _0x1367e3=0x0,_0x23121f=_0x28be6a['length'];_0x1367e3<_0x23121f;_0x1367e3++){_0x44d36c+='%'+('00'+_0x28be6a['charCodeAt'](_0x1367e3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44d36c);};a0_0x5d44['ypBsbi']=_0xd98081,a0_0x5d44['fSnUWk']={},a0_0x5d44['jCwTpf']=!![];}const _0x26aa34=_0x11b8e9[0x0],_0x4aab54=_0x3949d5+_0x26aa34,_0x220ddd=a0_0x5d44['fSnUWk'][_0x4aab54];return!_0x220ddd?(_0x5d4471=a0_0x5d44['ypBsbi'](_0x5d4471),a0_0x5d44['fSnUWk'][_0x4aab54]=_0x5d4471):_0x5d4471=_0x220ddd,_0x5d4471;}export function getThemeColor(_0x44d36c,_0x4fcd2d){const _0x2b76bc=getTheme(_0x44d36c);return _0x2b76bc[_0x4fcd2d]||_0x2b76bc['primary'];}export default{'getTheme':getTheme,'getThemeColor':getThemeColor};function a0_0x11b8(){const _0x106c10=['zgvMyxvSDa','mtqWEwX0zuD6','D2HPDgu','EwvSBg93','mtq5mMPOvM5RrW','ntG4mZG5nwnWy1HUra','mti0mLH5v21ywG','mJy4mtu2owf2Aw5Oqq','z3jHEq','nZqXntG0ou14DhnSyq','z3jLzw4','mJrprezWq1m','y3LHBG','mZm1qwHzvhDN','z3jLzw5cCMLNAhq','mJqYotG3nhvPAu1Otq','BwfNzw50yq','ntmZmdyYmNvbyKvhCa','CMvK','CMvKqNjPz2H0','nZa2ohLeD0vSBW','yMX1zujYAwDODa','yMX1zq','yMXHy2S'];a0_0x11b8=function(){return _0x106c10;};return a0_0x11b8();}
1
+ const a0_0x738532=a0_0x19ff;(function(_0x6b9d08,_0x197fe6){const _0x95f3ae=a0_0x19ff,_0x220c87=_0x6b9d08();while(!![]){try{const _0x1e59bc=-parseInt(_0x95f3ae(0x1a4))/0x1*(parseInt(_0x95f3ae(0x1a0))/0x2)+-parseInt(_0x95f3ae(0x195))/0x3+parseInt(_0x95f3ae(0x1a3))/0x4*(parseInt(_0x95f3ae(0x199))/0x5)+-parseInt(_0x95f3ae(0x1a9))/0x6+-parseInt(_0x95f3ae(0x19c))/0x7+-parseInt(_0x95f3ae(0x19b))/0x8+parseInt(_0x95f3ae(0x19d))/0x9;if(_0x1e59bc===_0x197fe6)break;else _0x220c87['push'](_0x220c87['shift']());}catch(_0x28fcdd){_0x220c87['push'](_0x220c87['shift']());}}}(a0_0x20e4,0x7469f));const THEMES={'default':{'border':'blue','borderLoading':'yellow','primary':a0_0x738532(0x19e),'secondary':'cyan','success':a0_0x738532(0x198),'error':a0_0x738532(0x1a8),'warning':'yellow','info':a0_0x738532(0x1a2),'dim':a0_0x738532(0x1a1)},'light':{'border':'blue','borderLoading':a0_0x738532(0x196),'primary':a0_0x738532(0x197),'secondary':'blue','success':a0_0x738532(0x198),'error':'red','warning':'yellow','info':'cyan','dim':a0_0x738532(0x1a1)},'dark':{'border':a0_0x738532(0x19a),'borderLoading':'magenta','primary':'white','secondary':a0_0x738532(0x19a),'success':a0_0x738532(0x1a5),'error':'redBright','warning':a0_0x738532(0x19f),'info':'blueBright','dim':'gray'},'high-contrast':{'border':a0_0x738532(0x19e),'borderLoading':'yellow','primary':a0_0x738532(0x19e),'secondary':'cyan','success':a0_0x738532(0x1a5),'error':'redBright','warning':a0_0x738532(0x19f),'info':a0_0x738532(0x1a6),'dim':a0_0x738532(0x19e)}};export function getTheme(_0x4c0741='default'){const _0xefa3f3=a0_0x738532;return THEMES[_0x4c0741]||THEMES[_0xefa3f3(0x1a7)];}export function getThemeColor(_0x3c75ee,_0x29bb8d){const _0x50bc14=getTheme(_0x3c75ee);return _0x50bc14[_0x29bb8d]||_0x50bc14['primary'];}function a0_0x19ff(_0x319a3c,_0x4eb0df){_0x319a3c=_0x319a3c-0x195;const _0x20e429=a0_0x20e4();let _0x19ff08=_0x20e429[_0x319a3c];if(a0_0x19ff['xMyxvC']===undefined){var _0x13c0ce=function(_0x4822b5){const _0x3cc74d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c0741='',_0x3c75ee='';for(let _0x29bb8d=0x0,_0x50bc14,_0x27ef9b,_0x2ed7b6=0x0;_0x27ef9b=_0x4822b5['charAt'](_0x2ed7b6++);~_0x27ef9b&&(_0x50bc14=_0x29bb8d%0x4?_0x50bc14*0x40+_0x27ef9b:_0x27ef9b,_0x29bb8d++%0x4)?_0x4c0741+=String['fromCharCode'](0xff&_0x50bc14>>(-0x2*_0x29bb8d&0x6)):0x0){_0x27ef9b=_0x3cc74d['indexOf'](_0x27ef9b);}for(let _0x1cdf58=0x0,_0x486f24=_0x4c0741['length'];_0x1cdf58<_0x486f24;_0x1cdf58++){_0x3c75ee+='%'+('00'+_0x4c0741['charCodeAt'](_0x1cdf58)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c75ee);};a0_0x19ff['BbYZaw']=_0x13c0ce,a0_0x19ff['dMZOto']={},a0_0x19ff['xMyxvC']=!![];}const _0x67da6e=_0x20e429[0x0],_0x244cc9=_0x319a3c+_0x67da6e,_0x15a6d1=a0_0x19ff['dMZOto'][_0x244cc9];return!_0x15a6d1?(_0x19ff08=a0_0x19ff['BbYZaw'](_0x19ff08),a0_0x19ff['dMZOto'][_0x244cc9]=_0x19ff08):_0x19ff08=_0x15a6d1,_0x19ff08;}export default{'getTheme':getTheme,'getThemeColor':getThemeColor};function a0_0x20e4(){const _0x40cc86=['y3LHBG','mZuYmdeWnfLbtxDlCa','ntqXnJa1ngrPvMX5uq','mtq5nJyWmdfhru9gzuq','D2HPDgu','EwvSBg93qNjPz2H0','mLrnCurbEq','z3jHEq','yMX1zq','mtG4EejREMjz','mty5mtLYrvbYBKS','z3jLzw5cCMLNAhq','y3LHBKjYAwDODa','zgvMyxvSDa','CMvK','ndq0mdqYChn5A0PA','mteYota2mNjsr1vprW','EwvSBg93','yMXHy2S','z3jLzw4','nti2ntvOtgjzywe'];a0_0x20e4=function(){return _0x40cc86;};return a0_0x20e4();}
@@ -1 +1 @@
1
- const a0_0x4b42bf=a0_0x44b7;(function(_0x1cd80b,_0x5738a2){const _0x2ed9e1=a0_0x44b7,_0x5641e0=_0x1cd80b();while(!![]){try{const _0x2de872=parseInt(_0x2ed9e1(0x161))/0x1+-parseInt(_0x2ed9e1(0x229))/0x2*(parseInt(_0x2ed9e1(0x204))/0x3)+-parseInt(_0x2ed9e1(0x19d))/0x4*(parseInt(_0x2ed9e1(0x19f))/0x5)+-parseInt(_0x2ed9e1(0x1a1))/0x6+-parseInt(_0x2ed9e1(0x1ad))/0x7*(parseInt(_0x2ed9e1(0x14e))/0x8)+parseInt(_0x2ed9e1(0x184))/0x9*(-parseInt(_0x2ed9e1(0x218))/0xa)+parseInt(_0x2ed9e1(0x1ab))/0xb*(parseInt(_0x2ed9e1(0x192))/0xc);if(_0x2de872===_0x5738a2)break;else _0x5641e0['push'](_0x5641e0['shift']());}catch(_0x44e1e2){_0x5641e0['push'](_0x5641e0['shift']());}}}(a0_0x4c84,0xa205f));import a0_0x2ce4ba from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0xd4e73b from'path';import{promises as a0_0x57c2e7}from'fs';import{fileURLToPath}from'url';import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS,HTTP_STATUS,AGENT_MODES}from'../utilities/constants.js';import{initFileExplorerModule}from'../modules/fileExplorer/index.js';function a0_0x4c84(){const _0x285f5a=['4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrKfjteve','CgfYC2u','mte4mZqYuLrqCMfV','ms4WlJa','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGveLnru9vva','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','lI4VlI4VD2vIlxvPl2j1AwXKl2LUzgv4lMH0BwW','zMLSzw5HBwu','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','zxjYB3i','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','w0rfqLvhxsa','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhmVDxbSB2fK','BxnNlq','BwTKAxi','zMLSzuv4CgXVCMvYtw9KDwXL','DxbKyxrLzef0','l2fWAs9Hz2vUDhmVyxzHAwXHyMXL','w1DbuK5Dia','sw1Hz2uGC2vYDMLUzYbLCNjVCG','BgvUz3rO','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','Bw9KzwXZ','zgf0yq','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','vxnLCI1bz2vUDa','Cg9ZDa','l2fWAs9LEhbSB3jLCI9PBMzV','qwDLBNqG','DgHLBG','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','ywn0Aw9U','te9ysufFqvbjx0Tfwq','Dhj1zq','z2v0u3rHDhvZ','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','Bw9KzwW','vw5RBM93BIbHy3rPB246ia','y29UzMLN','BM93','C3rHy2S','D29YA2LUz0rPCMvJDg9YEq','C2v0','BMfTzq','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','Bg9N','B3jJAgvZDhjHDg9Y','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','tK9ux0zpvu5e','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','mJq1nMr5C3LxuW','zw52','C3rHDgLJ','l2fWAs90B29SCW','yM9KEq','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','sfruucbZzxj2zxiGzxjYB3i6','y29UDgvUDa','v0vc','sw52ywXPzcbMAwXLBMfTzq','C3vIC3rYAw5N','y29UBMvJDgLVBNm','zMLSzq','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','z2v0qwDLBNrnzxrHzgf0yq','DgvYBwLUyxrL','BM9YBwfSAxPL','BwvZC2fNzq','AxneAxjLy3rVCNK','ndi2mta5zNLLueDY','zxHPDa','yxbW','DxrMoa','BgfZDefJDgL2Axr5','AxrLCMf0Aw9Uq291BNq','Dg9tDhjPBMC','D3nnyw5Hz2vY','Ahr0CdOVlW','yxbPs2v5twfUywDLCG','w0LorK9Dia','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','Bg94AwfbCgLlzxK','DxjS','CgH5C2LJywXSEurLBgv0zwq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJO','AgvHzgvYC1nLBNq','z2v0s2v5C0zVCLjLCxvLC3q','sfruucbZzxj2zxiGC3rHCNrLzcbZDwnJzxnZzNvSBhK','C2v0DxbsB3v0zxm','DMvUzg9Ys2v5CW','ChjVAMvJDa','BM90igzVDw5K','B3bLBMfP','qwDLBNqGBw9KzsbZD2L0y2HLzcb0BYa','l2fWAs9LEhbSB3jLCG','D3nZ','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','CMvX','ChjVy2vZC1jLCxvLC3q','yw50AhjVCgLJ','Aw5MBW','qxr0ywnOBwvUDcbUB3qGzM91BMq','C3rVCfjLCxvLC3rLza','D3jPDgvgAwXL','mtCXoxHIDhDgzq','C3vJy2vZCW','A2v5CW','C2vUzezPBgu','C2L6zq','qMvHCMvYia','qwDLBNqGBw9Kzsb1CgrHDguGCMvXDwvZDgvKihDPDgHVDxqGC2vZC2LVBIbjra','D2fYBG','sw52ywXPza','CMvSyxrPDMu','Bw9Kzvn0yxrL','C3rHCNrZv2L0Aa','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','mtjvCg9xsKK','z3b0','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50CW','yxbWBgLJyxrPB24VANnVBG','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','y3DK','4P2miezHAwXLzcb0BYbZzw5KifDLyLnVy2TLDcbTzxnZywDL','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','C2vYDMvY','l2fWAs9LEhbSB3jLCI9TA2rPCG','C3rHDgvnyw5Hz2vY','mZy3nZeYogPpq2PmCG','AM9PBG','nuXhuhfRtG','y3vYCMvUDfrHC2S','mJy0mdGXmg1KBNffBa','C2v0DxbnAwrKBgv3yxjL','DgvZDfDLyLnVy2TLDfnLCNzLCG','AxnmB2fKzwq','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','Cg9UzW','AxnsDw5UAw5N','ChjVAMvJDerPCG','C29JA2v0','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','ndm5mdm1nJnOy3D2swS','l2fWAs9MAwXLCY91CgXVywq','mJa3odnbyxHxB1u','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','CMvHzgrPCG','C2vZC2LVBNm','yxbPs2v5','ywDLBNrFBw9Kzv9JAgfUz2vK','y29Kzq','Ag9ZDa','CxvLCNK','BxrPBwu','C2v0qxbPs2v5twfUywDLCG','sw1Hz2uGC2vYDMvKihn1y2nLC3nMDwXSEq','z2v0qxr0ywnOBwvUDfbYzxzPzxC','ywDLBNrjza','CM9Szq','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','ywDLBNq','CMvHzhLtDgf0zq','DMvUzg9YqxbPs2v5','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','BwvZC2fNzvbYB2nLC3nVCG','AgvHzgvY','C2vZC2LVBKLe','AM9PBL9ZzxnZAw9U','BwfW','zgvLChnLzwS','ywXS','Cgf0y2G','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3rVz2DSzq','ANnVBG','DgfZA1n0yxj0vgLTzq','rMfPBgvKihrVigDLDcbbueKGA2v5ihn0yxr1CW','yxjNDG','y2fWywjPBgL0AwvZ','z2v0qxr0ywnOBwvUDa','C2vUza','yNjVywrJyxn0vg9tzxnZAw9U','B3bLBG','l2fWAs9RzxLZ','Aw1WB3j0rNjVBufNzw50','Bw9KzwXZu2vYDMLJzq','Aw5JBhvKzxm','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','r0vulcbqt1nulcbqvvqSierftevursWGt1busu9ouW','qwDLBNqGBw9Kzsb1CgrHDgvKoIa','CgfYyw1Z','Dg9mB3DLCKnHC2u','l2fWAs9SBg0VBw9KzwXZ','C3rHDhvZvgv4Da','D3m6lY9SB2nHBgHVC3q6','C3rHDa','Bg9JywXOB3n0','ywn0AxzL','C3rYAw5NAwz5','DxjSzw5JB2rLza','C2v0DxbxzwjtB2nRzxq','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','lI4VlI4VCgfJA2fNzs5QC29U','su5urvjoquXFu0vsvKvsx0vsuK9s','ChjLzMvYCMvKtw9KzwW','qxr0ywnOBwvUDcb1CgrHDgvK','l2fWAs9VCMnOzxn0CMf0B3i','z2v0u2vZC2LVBKTLExm','y29UBMvJDgvK','Cgf5Bg9Hza','C2H1DgrVD24','Dgv4Da','zgvSzxrL','Cg9YDa','qwnJzxnZlunVBNrYB2WTqwXSB3CTt3jPz2LU','rMfPBgvKihrVigDLDcb0B29SCYbPBMzVCM1HDgLVBG','qxr0ywnOBwvUDcbKzwXLDgvK','AgvHBhrOEq','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','DMfSDwvZ','C3rHCNrtzxj2zxi','Dg9ju09tDhjPBMC','zNjVBq','z2v0qxzHAwXHyMXLvg9VBhngB3jvsq','CMvTB3rLqwrKCMvZCW','l2fWAs9RzxLZlZPZzxnZAw9Uswq','C2vZC2LVBKLK','AgvHzgvYCW','zMLSDgvY','qKfex1jfuvvfu1q','D2vIlq','ntrbwNzcB2K','yxv0Ag9YAxPHDgLVBG','C3rHDhvZ','DxnL','Bwv0Ag9K','l2fWAs9MAwXLCW','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','y2XVC2u','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','yw50AhjVCgLJlxnVBM5LDa','CMvHzezPBgu','y29UBI0','z2v0qwn0AxzLu2vZC2LVBNm','z2v0','rMfPBgvKihrVihvWBg9HzcbMAwXLigf0DgfJAg1LBNq','zgLYzwn0B3j5','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','DMvYC2LVBG','zMLSzuLK','v2vIihnLCNzLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq','mJe4nZbstfHywuO','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','mtbTyG','v2vIihnLCNzLCIbPBML0AwfSAxPLza','ywDLBNrqB29S','DhLWzq','DxnLCI1Hz2vUDa','CMvXDwvZDeLK','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','Dg9Nz2XLqwn0AxzL','Bg9Nz2vY','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','rMfPBgvKihrVihn0B3aGyxv0B25VBw91CYbLEgvJDxrPB24','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','u0Lhsu5u'];a0_0x4c84=function(){return _0x285f5a;};return a0_0x4c84();}function a0_0x44b7(_0x4ecb6a,_0x47c3b4){_0x4ecb6a=_0x4ecb6a-0x12a;const _0x4c8435=a0_0x4c84();let _0x44b766=_0x4c8435[_0x4ecb6a];if(a0_0x44b7['TRvrRs']===undefined){var _0x4c3244=function(_0x50f7ca){const _0x260ce9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ce4ba='',_0xd4e73b='';for(let _0x57c2e7=0x0,_0x20ee05,_0x1c4392,_0x4ba81f=0x0;_0x1c4392=_0x50f7ca['charAt'](_0x4ba81f++);~_0x1c4392&&(_0x20ee05=_0x57c2e7%0x4?_0x20ee05*0x40+_0x1c4392:_0x1c4392,_0x57c2e7++%0x4)?_0x2ce4ba+=String['fromCharCode'](0xff&_0x20ee05>>(-0x2*_0x57c2e7&0x6)):0x0){_0x1c4392=_0x260ce9['indexOf'](_0x1c4392);}for(let _0xd7dddd=0x0,_0x26d954=_0x2ce4ba['length'];_0xd7dddd<_0x26d954;_0xd7dddd++){_0xd4e73b+='%'+('00'+_0x2ce4ba['charCodeAt'](_0xd7dddd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xd4e73b);};a0_0x44b7['quRMnQ']=_0x4c3244,a0_0x44b7['UFPcEH']={},a0_0x44b7['TRvrRs']=!![];}const _0x12468c=_0x4c8435[0x0],_0x9187ec=_0x4ecb6a+_0x12468c,_0x10ef1c=a0_0x44b7['UFPcEH'][_0x9187ec];return!_0x10ef1c?(_0x44b766=a0_0x44b7['quRMnQ'](_0x44b766),a0_0x44b7['UFPcEH'][_0x9187ec]=_0x44b766):_0x44b766=_0x10ef1c,_0x44b766;}const __filename=fileURLToPath(import.meta.url),__dirname=a0_0xd4e73b['dirname'](__filename);class WebServer{constructor(_0x20ee05,_0x1c4392,_0x4ba81f={}){const _0x40abd6=a0_0x44b7;this[_0x40abd6(0x14a)]=_0x20ee05,this['logger']=_0x1c4392,this[_0x40abd6(0x142)]=_0x4ba81f,this['port']=_0x4ba81f['port']||0x1f90,this['host']=_0x4ba81f[_0x40abd6(0x1b4)]||_0x40abd6(0x1e0),this['app']=a0_0x2ce4ba(),this['server']=createServer(this[_0x40abd6(0x163)]),this[_0x40abd6(0x17b)]=new WebSocketServer({'server':this[_0x40abd6(0x19a)],'verifyClient':_0xd7dddd=>{const _0x4fe897=_0x40abd6;return this['logger']?.[_0x4fe897(0x180)]('WebSocket\x20connection\x20attempt',{'origin':_0xd7dddd['origin'],'host':_0xd7dddd['req']['headers'][_0x4fe897(0x1b4)],'userAgent':_0xd7dddd['req'][_0x4fe897(0x200)][_0x4fe897(0x21e)],'url':_0xd7dddd[_0x4fe897(0x17d)][_0x4fe897(0x16e)]}),!![];}}),this['connections']=new Map(),this[_0x40abd6(0x1b0)]=new Map(),this['apiKeyManager']=null,this[_0x40abd6(0x1a7)]=![];}async['initialize'](){const _0x993e52=a0_0x44b7;try{this[_0x993e52(0x1a2)](),this[_0x993e52(0x174)](),this[_0x993e52(0x1e4)](),await this[_0x993e52(0x1f9)](),this['logger']['info'](_0x993e52(0x21b),{'port':this['port'],'host':this[_0x993e52(0x1b4)],'url':'http://'+this['host']+':'+this['port']});}catch(_0x26d954){this['logger']['error'](_0x993e52(0x217),{'error':_0x26d954['message'],'stack':_0x26d954['stack']});throw _0x26d954;}}['setupMiddleware'](){const _0x5a8fb0=a0_0x44b7;this['app'][_0x5a8fb0(0x207)]((_0x34d733,_0x111030,_0x17acac)=>{const _0x58e363=_0x5a8fb0;_0x111030[_0x58e363(0x1c2)](_0x58e363(0x1f3),'*'),_0x111030['header']('Access-Control-Allow-Methods',_0x58e363(0x1d8)),_0x111030[_0x58e363(0x1c2)]('Access-Control-Allow-Headers','Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x34d733['method']==='OPTIONS'?_0x111030['sendStatus'](HTTP_STATUS['OK']):_0x17acac();}),this[_0x5a8fb0(0x163)][_0x5a8fb0(0x207)](a0_0x2ce4ba['json']({'limit':_0x5a8fb0(0x21a)})),this[_0x5a8fb0(0x163)]['use'](a0_0x2ce4ba[_0x5a8fb0(0x1e3)]({'extended':!![],'limit':_0x5a8fb0(0x21a)})),this[_0x5a8fb0(0x12b)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this[_0x5a8fb0(0x163)]['use']('/api/file-explorer',this[_0x5a8fb0(0x12b)]['router']);const _0xf5332e=a0_0xd4e73b[_0x5a8fb0(0x19e)](__dirname,'../../web-ui/build');this[_0x5a8fb0(0x163)][_0x5a8fb0(0x207)](a0_0x2ce4ba[_0x5a8fb0(0x150)](_0xf5332e)),this['app'][_0x5a8fb0(0x207)]((_0x26bb2b,_0x3f1327,_0x199db9)=>{const _0xc1ae60=_0x5a8fb0;this[_0xc1ae60(0x222)]['debug'](_0x26bb2b[_0xc1ae60(0x208)]+'\x20'+_0x26bb2b['path'],{'ip':_0x26bb2b['ip'],'userAgent':_0x26bb2b[_0xc1ae60(0x211)](_0xc1ae60(0x135))}),_0x199db9();});}['setupRoutes'](){const _0x1c9c69=a0_0x44b7;this[_0x1c9c69(0x163)][_0x1c9c69(0x211)]('/api/health',async(_0x54d41b,_0xfaabc8)=>{const _0x4d9300=_0x1c9c69;try{const _0x376b5b=a0_0xd4e73b[_0x4d9300(0x19e)](__dirname,_0x4d9300(0x1e7)),_0x4969ef=JSON['parse'](await a0_0x57c2e7['readFile'](_0x376b5b,'utf8'));_0xfaabc8['json']({'status':_0x4d9300(0x1f6),'version':_0x4969ef[_0x4d9300(0x215)]||_0x4d9300(0x22a),'timestamp':new Date()[_0x4d9300(0x1fa)]()});}catch(_0x1c99eb){_0xfaabc8[_0x4d9300(0x1ca)]({'status':_0x4d9300(0x1f6),'version':_0x4d9300(0x22a),'timestamp':new Date()['toISOString']()});}}),this['app'][_0x1c9c69(0x136)]('/api/sessions',async(_0x4643a8,_0x589d99)=>{const _0x249f40=_0x1c9c69;try{const _0x3164f1=_0x249f40(0x203)+Date['now']()+'-'+Math['random']()[_0x249f40(0x167)](0x24)['substr'](0x2,0x9),_0x2e53bd=_0x4643a8[_0x249f40(0x152)][_0x249f40(0x1a8)]||process['cwd'](),_0x37c512={'id':_0x3164f1,'projectDir':_0x2e53bd,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()[_0x249f40(0x1fa)]()};this[_0x249f40(0x1b0)][_0x249f40(0x146)](_0x3164f1,_0x37c512),_0x589d99['json']({'success':!![],'session':_0x37c512});}catch(_0x14b728){_0x589d99['status'](HTTP_STATUS[_0x249f40(0x1e8)])['json']({'success':![],'error':_0x14b728['message']});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x136)](_0x1c9c69(0x1eb),async(_0xd711df,_0x49aeda)=>{const _0x16a74c=_0x1c9c69;try{const _0x4abb7a={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0xd711df[_0x16a74c(0x152)]['sessionId'],'action':_0xd711df[_0x16a74c(0x152)][_0x16a74c(0x13b)],'payload':_0xd711df['body'][_0x16a74c(0x1ee)],'projectDir':_0xd711df[_0x16a74c(0x152)][_0x16a74c(0x1a8)]||process['cwd']()},_0x7b1ab4=await this[_0x16a74c(0x14a)]['processRequest'](_0x4abb7a);this[_0x16a74c(0x1d1)](_0x4abb7a['sessionId'],{'type':_0x16a74c(0x1d7),'action':_0x4abb7a[_0x16a74c(0x13b)],'response':_0x7b1ab4}),_0x49aeda[_0x16a74c(0x1ca)](_0x7b1ab4);}catch(_0x4c8725){this['logger']['error']('Orchestrator\x20API\x20error',{'error':_0x4c8725[_0x16a74c(0x15f)],'body':_0xd711df[_0x16a74c(0x152)]}),_0x49aeda[_0x16a74c(0x206)](HTTP_STATUS[_0x16a74c(0x1e8)])['json']({'success':![],'error':_0x4c8725[_0x16a74c(0x15f)]});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x211)](_0x1c9c69(0x209),async(_0x3f565d,_0x54f0cd)=>{const _0x100ef0=_0x1c9c69;try{const {path:_0x5510d3,projectDir:_0x5566ec}=_0x3f565d['query'],_0x54ee69=a0_0xd4e73b['resolve'](_0x5566ec||process[_0x100ef0(0x197)](),_0x5510d3||'.'),_0x43096b=await a0_0x57c2e7[_0x100ef0(0x1df)](_0x54ee69);if(_0x43096b[_0x100ef0(0x160)]()){const _0x9d009d=await a0_0x57c2e7[_0x100ef0(0x1af)](_0x54ee69,{'withFileTypes':!![]}),_0x3d5116=_0x9d009d[_0x100ef0(0x1c5)](_0x189c93=>({'name':_0x189c93['name'],'type':_0x189c93['isDirectory']()?'directory':_0x100ef0(0x15a),'path':a0_0xd4e73b['join'](_0x5510d3||'.',_0x189c93['name'])}));_0x54f0cd[_0x100ef0(0x1ca)]({'success':!![],'files':_0x3d5116});}else{const _0x2fe87d=await a0_0x57c2e7[_0x100ef0(0x20e)](_0x54ee69,_0x100ef0(0x164));_0x54f0cd[_0x100ef0(0x1ca)]({'success':!![],'content':_0x2fe87d,'type':_0x100ef0(0x15a)});}}catch(_0x5c1600){_0x54f0cd[_0x100ef0(0x206)](HTTP_STATUS['NOT_FOUND'])['json']({'success':![],'error':_0x5c1600[_0x100ef0(0x15f)]});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x136)](_0x1c9c69(0x1ac),async(_0x41869e,_0x58a013)=>{const _0x33fd5b=_0x1c9c69;try{const {fileName:_0x3312b7,content:_0x4b6297,projectDir:_0x4dac78}=_0x41869e['body'],_0x47c5fc=_0x4dac78||process[_0x33fd5b(0x197)](),_0xb9e96d=a0_0xd4e73b['resolve'](_0x47c5fc,_0x3312b7);await a0_0x57c2e7[_0x33fd5b(0x12a)](_0x47c5fc,{'recursive':!![]}),await a0_0x57c2e7[_0x33fd5b(0x183)](_0xb9e96d,_0x4b6297,'utf8'),_0x58a013['json']({'success':!![],'message':_0x33fd5b(0x219),'path':_0xb9e96d});}catch(_0x4163d4){_0x58a013[_0x33fd5b(0x206)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x33fd5b(0x1ca)]({'success':![],'error':_0x4163d4[_0x33fd5b(0x15f)]});}}),this[_0x1c9c69(0x163)]['get'](_0x1c9c69(0x17a),async(_0x221495,_0x49fb13)=>{const _0x2287c2=_0x1c9c69;try{const {path:_0x5357c2,showHidden:showHidden=![]}=_0x221495[_0x2287c2(0x1b5)],_0x139410=_0x5357c2||process['cwd'](),_0x393575=a0_0xd4e73b['resolve'](_0x139410),_0x1d8737=a0_0xd4e73b[_0x2287c2(0x15e)](_0x393575),_0x39d8b2=await a0_0x57c2e7[_0x2287c2(0x1df)](_0x1d8737);if(!_0x39d8b2[_0x2287c2(0x160)]())return _0x49fb13[_0x2287c2(0x206)](HTTP_STATUS[_0x2287c2(0x202)])['json']({'success':![],'error':_0x2287c2(0x196)});const _0x31ee67=await a0_0x57c2e7[_0x2287c2(0x1af)](_0x1d8737,{'withFileTypes':!![]}),_0x1e9fea=await Promise[_0x2287c2(0x1c7)](_0x31ee67['filter'](_0x11bcac=>showHidden===_0x2287c2(0x13d)||!_0x11bcac[_0x2287c2(0x147)][_0x2287c2(0x18f)]('.'))[_0x2287c2(0x1c5)](async _0x123ba5=>{const _0x3d399a=_0x2287c2,_0x1796b9=a0_0xd4e73b['join'](_0x1d8737,_0x123ba5[_0x3d399a(0x147)]),_0x80036c=await a0_0x57c2e7[_0x3d399a(0x1df)](_0x1796b9)['catch'](()=>null);return{'name':_0x123ba5['name'],'type':_0x123ba5['isDirectory']()?_0x3d399a(0x213):_0x3d399a(0x15a),'path':_0x1796b9,'relativePath':a0_0xd4e73b[_0x3d399a(0x18d)](process[_0x3d399a(0x197)](),_0x1796b9),'size':_0x80036c?.[_0x3d399a(0x188)]||0x0,'modified':_0x80036c?.[_0x3d399a(0x1b6)]||null,'isHidden':_0x123ba5['name'][_0x3d399a(0x18f)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x1e9fea['sort']((_0x6bbeec,_0x44f5e3)=>{const _0x3c94dd=_0x2287c2;if(_0x6bbeec['type']!==_0x44f5e3['type'])return _0x6bbeec['type']===_0x3c94dd(0x213)?-0x1:0x1;return _0x6bbeec[_0x3c94dd(0x147)]['localeCompare'](_0x44f5e3[_0x3c94dd(0x147)]);});const _0x291a72=a0_0xd4e73b['dirname'](_0x1d8737),_0x382b96=_0x291a72!==_0x1d8737;_0x49fb13[_0x2287c2(0x1ca)]({'success':!![],'currentPath':_0x1d8737,'currentRelativePath':a0_0xd4e73b[_0x2287c2(0x18d)](process[_0x2287c2(0x197)](),_0x1d8737),'parentPath':_0x382b96?_0x291a72:null,'items':_0x1e9fea,'totalItems':_0x1e9fea[_0x2287c2(0x130)],'directories':_0x1e9fea['filter'](_0x11a387=>_0x11a387[_0x2287c2(0x21d)]==='directory')['length'],'files':_0x1e9fea['filter'](_0x438bee=>_0x438bee[_0x2287c2(0x21d)]==='file')[_0x2287c2(0x130)]});}catch(_0x4e9fd7){_0x49fb13[_0x2287c2(0x206)](HTTP_STATUS[_0x2287c2(0x1e8)])[_0x2287c2(0x1ca)]({'success':![],'error':_0x4e9fd7['message'],'code':_0x4e9fd7[_0x2287c2(0x1b3)]});}}),this[_0x1c9c69(0x163)]['post'](_0x1c9c69(0x19b),async(_0x287950,_0x4cea5f)=>{const _0x57a3fd=_0x1c9c69;try{const {path:_0x393c3d,name:_0x4011de}=_0x287950[_0x57a3fd(0x152)],_0x1e6e56=a0_0xd4e73b['resolve'](_0x393c3d,_0x4011de);await a0_0x57c2e7['mkdir'](_0x1e6e56,{'recursive':![]}),_0x4cea5f[_0x57a3fd(0x1ca)]({'success':!![],'path':_0x1e6e56,'relativePath':a0_0xd4e73b[_0x57a3fd(0x18d)](process['cwd'](),_0x1e6e56)});}catch(_0x55d4d0){_0x4cea5f[_0x57a3fd(0x206)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x55d4d0[_0x57a3fd(0x15f)],'code':_0x55d4d0[_0x57a3fd(0x1b3)]});}}),this['app'][_0x1c9c69(0x211)](_0x1c9c69(0x137),async(_0x2655e0,_0x331078)=>{const _0x335534=_0x1c9c69;try{const {path:_0x4a61de}=_0x2655e0[_0x335534(0x1b5)],_0x153b09=a0_0xd4e73b['resolve'](_0x4a61de),_0x8320cb=await a0_0x57c2e7[_0x335534(0x1df)](_0x153b09);_0x331078[_0x335534(0x1ca)]({'success':!![],'path':_0x153b09,'relativePath':a0_0xd4e73b['relative'](process['cwd'](),_0x153b09),'isDirectory':_0x8320cb[_0x335534(0x160)](),'isFile':_0x8320cb['isFile'](),'size':_0x8320cb['size'],'created':_0x8320cb['birthtime'],'modified':_0x8320cb['mtime'],'accessed':_0x8320cb['atime']});}catch(_0x2c80f8){_0x331078[_0x335534(0x206)](HTTP_STATUS[_0x335534(0x1e8)])[_0x335534(0x1ca)]({'success':![],'error':_0x2c80f8[_0x335534(0x15f)],'code':_0x2c80f8['code']});}}),this[_0x1c9c69(0x163)]['post']('/api/llm/chat',async(_0x3adc19,_0x28c6c7)=>{const _0x462ad6=_0x1c9c69;try{const {sessionId:_0x43523f,model:_0x5e5995,platformProvided:_0x23b3ac}=_0x3adc19['body'];if(!_0x43523f)return _0x28c6c7[_0x462ad6(0x206)](0x190)[_0x462ad6(0x1ca)]({'error':'Session\x20ID\x20is\x20required'});let _0x56732a=null,_0x1ead6d=null;if(this['apiKeyManager']){const _0x165735=this[_0x462ad6(0x16a)][_0x462ad6(0x172)](_0x43523f,{'platformProvided':_0x23b3ac||![],'vendor':this['_getVendorFromModel'](_0x5e5995)});_0x56732a=_0x165735[_0x462ad6(0x16d)],_0x1ead6d=_0x165735[_0x462ad6(0x1bf)];}!_0x56732a&&(_0x56732a=this[_0x462ad6(0x142)][_0x462ad6(0x16d)]||process[_0x462ad6(0x14f)][_0x462ad6(0x13c)]);!_0x56732a&&_0x3adc19[_0x462ad6(0x152)][_0x462ad6(0x1b1)]&&(_0x56732a=_0x3adc19[_0x462ad6(0x152)]['apiKey']);if(!_0x56732a)return this[_0x462ad6(0x222)]['warn'](_0x462ad6(0x1bc),{'sessionId':_0x43523f,'model':_0x5e5995,'platformProvided':_0x23b3ac,'hasSessionManager':!!this[_0x462ad6(0x16a)]}),_0x28c6c7['status'](0x191)[_0x462ad6(0x1ca)]({'error':_0x462ad6(0x191)});const _0x496603=_0x462ad6(0x20a),_0x68a969={..._0x3adc19[_0x462ad6(0x152)],'apiKey':_0x56732a,..._0x1ead6d&&{'vendorApiKey':_0x1ead6d}},_0xc471ed={'method':'POST','headers':{'Content-Type':_0x462ad6(0x195),'Authorization':'Bearer\x20'+_0x56732a},'body':JSON['stringify'](_0x68a969)};this['logger'][_0x462ad6(0x180)](_0x462ad6(0x231),{'url':_0x496603,'model':_0x3adc19[_0x462ad6(0x152)][_0x462ad6(0x140)],'hasApiKey':!!_0x56732a});const _0x337520=await fetch(_0x496603,_0xc471ed);if(_0x337520['ok']){const _0x3b84de=await _0x337520[_0x462ad6(0x1ca)]();this['logger']['info']('Successfully received response from Azure backend',{'model':_0x3b84de['model'],'contentLength':_0x3b84de['content']?.[_0x462ad6(0x130)]||0x0}),_0x28c6c7[_0x462ad6(0x1ca)](_0x3b84de);}else{const _0x4e6bd8=await _0x337520[_0x462ad6(0x1f0)]();this[_0x462ad6(0x222)][_0x462ad6(0x18b)](_0x462ad6(0x20c),{'status':_0x337520['status'],'statusText':_0x337520['statusText'],'error':_0x4e6bd8}),_0x28c6c7['status'](_0x337520['status'])['json']({'error':'Azure\x20backend\x20error:\x20'+_0x337520[_0x462ad6(0x206)]+'\x20'+_0x337520[_0x462ad6(0x1dd)],'details':_0x4e6bd8});}}catch(_0x47497f){this[_0x462ad6(0x222)][_0x462ad6(0x230)]('Failed\x20to\x20proxy\x20chat\x20request\x20to\x20Azure\x20backend',{'error':_0x47497f[_0x462ad6(0x15f)],'stack':_0x47497f['stack']}),_0x28c6c7['status'](0x1f4)[_0x462ad6(0x1ca)]({'error':'Failed\x20to\x20connect\x20to\x20AI\x20service','details':_0x47497f[_0x462ad6(0x15f)]});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x211)](_0x1c9c69(0x1dc),async(_0xd99244,_0x50787b)=>{const _0x4257cf=_0x1c9c69;try{const _0x6c6223=_0xd99244[_0x4257cf(0x200)][_0x4257cf(0x205)];let _0x468a89=null;_0x6c6223&&_0x6c6223[_0x4257cf(0x18f)](_0x4257cf(0x189))&&(_0x468a89=_0x6c6223[_0x4257cf(0x158)](0x7));!_0x468a89&&(_0x468a89=this[_0x4257cf(0x142)]['loxiaApiKey']||process[_0x4257cf(0x14f)][_0x4257cf(0x13c)]);const _0x4bdd67='https://autopilot-api.azurewebsites.net/llm/models',_0x2c5d2d={'method':'GET','headers':{'Content-Type':_0x4257cf(0x195),..._0x468a89&&{'Authorization':'Bearer\x20'+_0x468a89}}};this['logger'][_0x4257cf(0x180)]('Fetching models from Loxia Azure backend',{'url':_0x4bdd67,'hasApiKey':!!_0x468a89});const _0x3b3136=await fetch(_0x4bdd67,_0x2c5d2d);if(_0x3b3136['ok']){const _0x18ab16=await _0x3b3136[_0x4257cf(0x1ca)]();this[_0x4257cf(0x222)][_0x4257cf(0x180)]('Successfully fetched models from Azure backend',{'modelCount':_0x18ab16[_0x4257cf(0x132)]?.['length']||0x0}),_0x50787b[_0x4257cf(0x1ca)](_0x18ab16);}else{const _0x1670c1=await _0x3b3136[_0x4257cf(0x1f0)]();this['logger']['error']('Azure\x20backend\x20request\x20failed\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'status':_0x3b3136[_0x4257cf(0x206)],'statusText':_0x3b3136[_0x4257cf(0x1dd)],'error':_0x1670c1}),_0x50787b['status'](_0x3b3136[_0x4257cf(0x206)])['json']({'success':![],'error':_0x4257cf(0x1a5)+_0x3b3136['status']+'\x20'+_0x3b3136['statusText'],'details':_0x1670c1});}}catch(_0x4b43a3){this['logger'][_0x4257cf(0x230)]('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x4b43a3['message'],'stack':_0x4b43a3[_0x4257cf(0x144)]}),_0x50787b[_0x4257cf(0x206)](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0x4b43a3['message']});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x211)](_0x1c9c69(0x151),async(_0x6fce5a,_0x256cc9)=>{const _0x3743a7=_0x1c9c69;try{const _0x135f44=this['toolsRegistry'];if(!_0x135f44)return _0x256cc9[_0x3743a7(0x206)](0x1f4)[_0x3743a7(0x1ca)]({'error':_0x3743a7(0x16c)});const _0x1a39c6=_0x135f44[_0x3743a7(0x1fc)]();this['logger']['info'](_0x3743a7(0x1c0),{'toolCount':_0x1a39c6['length'],'tools':_0x1a39c6[_0x3743a7(0x1c5)](_0x4f7294=>({'id':_0x4f7294['id'],'name':_0x4f7294[_0x3743a7(0x147)],'category':_0x4f7294['category']}))}),_0x256cc9[_0x3743a7(0x1ca)]({'success':!![],'tools':_0x1a39c6,'total':_0x1a39c6['length']});}catch(_0x12f2ca){this['logger'][_0x3743a7(0x230)](_0x3743a7(0x1f4),{'error':_0x12f2ca['message'],'stack':_0x12f2ca[_0x3743a7(0x144)]}),_0x256cc9[_0x3743a7(0x206)](0x1f4)[_0x3743a7(0x1ca)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x12f2ca['message']});}}),this['app']['post']('/api/keys',async(_0x28d54c,_0xca36a3)=>{const _0x566c83=_0x1c9c69;try{const {sessionId:_0x37511d,loxiaApiKey:_0x624416,vendorKeys:_0x3bfd9a}=_0x28d54c[_0x566c83(0x152)];if(!_0x37511d)return _0xca36a3['status'](0x190)[_0x566c83(0x1ca)]({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this['apiKeyManager'])return _0xca36a3['status'](0x1f4)[_0x566c83(0x1ca)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this['apiKeyManager']['setSessionKeys'](_0x37511d,{'loxiaApiKey':_0x624416,'vendorKeys':_0x3bfd9a||{}}),this[_0x566c83(0x222)][_0x566c83(0x180)]('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x37511d,'hasLoxiaKey':!!_0x624416,'vendorKeys':Object[_0x566c83(0x186)](_0x3bfd9a||{})});if(this['orchestrator']&&this[_0x566c83(0x14a)][_0x566c83(0x1d5)]&&_0x624416)try{await this['orchestrator'][_0x566c83(0x1d5)]['refresh']({'sessionId':_0x37511d,'apiKey':_0x624416}),this['logger']['info']('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x37511d});}catch(_0x2d8ffb){this['logger'][_0x566c83(0x18b)]('Failed\x20to\x20refresh\x20models\x20after\x20API\x20key\x20update',{'error':_0x2d8ffb['message'],'sessionId':_0x37511d});}_0xca36a3['json']({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x37511d,'hasLoxiaKey':!!_0x624416,'vendorKeys':Object[_0x566c83(0x186)](_0x3bfd9a||{})});}catch(_0x258d1b){this['logger'][_0x566c83(0x230)]('Failed\x20to\x20set\x20API\x20keys',{'error':_0x258d1b['message'],'sessionId':_0x28d54c[_0x566c83(0x152)]['sessionId']}),_0xca36a3['status'](0x1f4)['json']({'success':![],'error':_0x258d1b['message']});}}),this['app']['get']('/api/keys/:sessionId',async(_0x1c2d29,_0x1b9eee)=>{const _0x22858c=_0x1c9c69;try{const {sessionId:_0x34f96b}=_0x1c2d29['params'];if(!this[_0x22858c(0x16a)])return _0x1b9eee[_0x22858c(0x206)](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x313764=this['apiKeyManager'][_0x22858c(0x1ec)](_0x34f96b);_0x1b9eee[_0x22858c(0x1ca)]({'success':!![],'sessionId':_0x34f96b,'hasLoxiaKey':!!_0x313764[_0x22858c(0x16d)],'vendorKeys':Object['keys'](_0x313764[_0x22858c(0x175)]||{}),'updatedAt':_0x313764[_0x22858c(0x12c)]});}catch(_0x466d90){this['logger']['error'](_0x22858c(0x1cc),{'error':_0x466d90[_0x22858c(0x15f)],'sessionId':_0x1c2d29['params'][_0x22858c(0x1ff)]}),_0x1b9eee[_0x22858c(0x206)](0x1f4)['json']({'success':![],'error':_0x466d90[_0x22858c(0x15f)]});}}),this['app'][_0x1c9c69(0x1f1)](_0x1c9c69(0x1fe),async(_0x521f1e,_0x55f95b)=>{const _0x194fd7=_0x1c9c69;try{const {sessionId:_0x31261a}=_0x521f1e['params'];if(!this['apiKeyManager'])return _0x55f95b[_0x194fd7(0x206)](0x1f4)[_0x194fd7(0x1ca)]({'success':![],'error':_0x194fd7(0x153)});const _0x803e36=this['apiKeyManager']['removeSessionKeys'](_0x31261a);_0x55f95b['json']({'success':!![],'removed':_0x803e36,'message':_0x803e36?_0x194fd7(0x1aa):'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x5df8e9){this[_0x194fd7(0x222)][_0x194fd7(0x230)]('Failed\x20to\x20remove\x20API\x20keys',{'error':_0x5df8e9[_0x194fd7(0x15f)],'sessionId':_0x521f1e[_0x194fd7(0x1da)][_0x194fd7(0x1ff)]}),_0x55f95b[_0x194fd7(0x206)](0x1f4)['json']({'success':![],'error':_0x5df8e9[_0x194fd7(0x15f)]});}}),this[_0x1c9c69(0x163)]['get'](_0x1c9c69(0x1d3),async(_0x59f12f,_0x57ef4e)=>{const _0x13d5f7=_0x1c9c69;try{if(!this['apiKeyManager'])return _0x57ef4e['status'](0x1f4)[_0x13d5f7(0x1ca)]({'success':![],'error':_0x13d5f7(0x153)});const _0x2f0b19=this[_0x13d5f7(0x16a)][_0x13d5f7(0x210)]();_0x57ef4e[_0x13d5f7(0x1ca)]({'success':!![],'sessions':_0x2f0b19,'total':_0x2f0b19[_0x13d5f7(0x130)]});}catch(_0x2bdbc3){this['logger'][_0x13d5f7(0x230)]('Failed\x20to\x20get\x20active\x20sessions',{'error':_0x2bdbc3['message']}),_0x57ef4e['status'](0x1f4)['json']({'success':![],'error':_0x2bdbc3['message']});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x136)](_0x1c9c69(0x233),async(_0x140481,_0x1d6014)=>{const _0x578bbc=_0x1c9c69;try{const {agentId:_0x44be4d}=_0x140481['params'],{filePath:_0x4347aa,mode:_0x19f10f,fileName:_0x3dad82}=_0x140481[_0x578bbc(0x152)];if(!this[_0x578bbc(0x14a)]?.['fileAttachmentService'])return _0x1d6014[_0x578bbc(0x206)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x42f79c=await this['orchestrator'][_0x578bbc(0x22f)]['uploadFile']({'agentId':_0x44be4d,'filePath':_0x4347aa,'mode':_0x19f10f||_0x578bbc(0x155),'fileName':_0x3dad82});this[_0x578bbc(0x222)]['info'](_0x578bbc(0x148),{'agentId':_0x44be4d,'fileId':_0x42f79c['fileId'],'fileName':_0x42f79c['fileName']}),_0x1d6014['json']({'success':!![],'attachment':_0x42f79c});}catch(_0x3b5875){this['logger']['error'](_0x578bbc(0x212),{'agentId':_0x140481['params'][_0x578bbc(0x1ba)],'error':_0x3b5875['message']}),_0x1d6014[_0x578bbc(0x206)](0x1f4)['json']({'success':![],'error':_0x3b5875['message']});}}),this[_0x1c9c69(0x163)]['get']('/api/agents/:agentId/attachments',async(_0x3e0006,_0x502f4f)=>{const _0x383709=_0x1c9c69;try{const {agentId:_0x605469}=_0x3e0006['params'],{mode:_0x12b797,active:_0x4e9bad}=_0x3e0006['query'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x502f4f['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x38adc4={};if(_0x12b797)_0x38adc4['mode']=_0x12b797;if(_0x4e9bad!==undefined)_0x38adc4['active']=_0x4e9bad===_0x383709(0x13d);const _0x2a3648=await this[_0x383709(0x14a)][_0x383709(0x22f)]['getAttachments'](_0x605469,_0x38adc4);_0x502f4f[_0x383709(0x1ca)]({'success':!![],'attachments':_0x2a3648,'total':_0x2a3648['length']});}catch(_0x1d3b5f){this['logger'][_0x383709(0x230)](_0x383709(0x194),{'agentId':_0x3e0006[_0x383709(0x1da)]['agentId'],'error':_0x1d3b5f['message']}),_0x502f4f['status'](0x1f4)[_0x383709(0x1ca)]({'success':![],'error':_0x1d3b5f['message']});}}),this[_0x1c9c69(0x163)]['get']('/api/attachments/:fileId',async(_0x5081d7,_0x1782ea)=>{const _0x33c7cd=_0x1c9c69;try{const {fileId:_0x17d0bd}=_0x5081d7[_0x33c7cd(0x1da)];if(!this[_0x33c7cd(0x14a)]?.['fileAttachmentService'])return _0x1782ea['status'](0x1f4)['json']({'success':![],'error':_0x33c7cd(0x220)});const _0x26dfd4=await this[_0x33c7cd(0x14a)]['fileAttachmentService'][_0x33c7cd(0x1cf)](_0x17d0bd);if(!_0x26dfd4)return _0x1782ea[_0x33c7cd(0x206)](0x194)['json']({'success':![],'error':_0x33c7cd(0x181)});_0x1782ea['json']({'success':!![],'attachment':_0x26dfd4});}catch(_0x90f404){this['logger']['error']('Failed\x20to\x20get\x20attachment',{'fileId':_0x5081d7[_0x33c7cd(0x1da)][_0x33c7cd(0x216)],'error':_0x90f404[_0x33c7cd(0x15f)]}),_0x1782ea[_0x33c7cd(0x206)](0x1f4)['json']({'success':![],'error':_0x90f404[_0x33c7cd(0x15f)]});}}),this[_0x1c9c69(0x163)]['patch'](_0x1c9c69(0x1c9),async(_0x2c11e4,_0x398e56)=>{const _0x550c13=_0x1c9c69;try{const {fileId:_0x45be41}=_0x2c11e4['params'];if(!this['orchestrator']?.[_0x550c13(0x22f)])return _0x398e56['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x395e84=await this[_0x550c13(0x14a)][_0x550c13(0x22f)][_0x550c13(0x221)](_0x45be41);this['logger'][_0x550c13(0x180)]('Attachment\x20active\x20status\x20toggled',{'fileId':_0x45be41,'active':_0x395e84[_0x550c13(0x1e1)]}),_0x398e56['json']({'success':!![],'attachment':_0x395e84});}catch(_0x584e5b){this[_0x550c13(0x222)]['error']('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x2c11e4[_0x550c13(0x1da)]['fileId'],'error':_0x584e5b['message']}),_0x398e56['status'](0x1f4)['json']({'success':![],'error':_0x584e5b['message']});}}),this['app'][_0x1c9c69(0x1c8)](_0x1c9c69(0x14d),async(_0x5906a6,_0x456f03)=>{const _0x252c63=_0x1c9c69;try{const {fileId:_0x9cc793}=_0x5906a6[_0x252c63(0x1da)],{mode:_0x501eb3,active:_0x19f942}=_0x5906a6[_0x252c63(0x152)];if(!this[_0x252c63(0x14a)]?.['fileAttachmentService'])return _0x456f03['status'](0x1f4)[_0x252c63(0x1ca)]({'success':![],'error':_0x252c63(0x220)});const _0x43a060={};if(_0x501eb3!==undefined)_0x43a060['mode']=_0x501eb3;if(_0x19f942!==undefined)_0x43a060[_0x252c63(0x1e1)]=_0x19f942;const _0x589c63=await this['orchestrator'][_0x252c63(0x22f)]['updateAttachment'](_0x9cc793,_0x43a060);this['logger']['info'](_0x252c63(0x1ea),{'fileId':_0x9cc793,'updates':_0x43a060}),_0x456f03[_0x252c63(0x1ca)]({'success':!![],'attachment':_0x589c63});}catch(_0x2ff6d2){this['logger'][_0x252c63(0x230)]('Failed\x20to\x20update\x20attachment',{'fileId':_0x5906a6['params'][_0x252c63(0x216)],'error':_0x2ff6d2['message']}),_0x456f03['status'](0x1f4)['json']({'success':![],'error':_0x2ff6d2['message']});}}),this['app'][_0x1c9c69(0x1f1)]('/api/attachments/:fileId',async(_0x1f28e4,_0x3febeb)=>{const _0xea866=_0x1c9c69;try{const {fileId:_0x2669da}=_0x1f28e4['params'],{agentId:_0x3b4288}=_0x1f28e4['query'];if(!_0x3b4288)return _0x3febeb[_0xea866(0x206)](0x190)[_0xea866(0x1ca)]({'success':![],'error':'agentId\x20query\x20parameter\x20is\x20required'});if(!this['orchestrator']?.['fileAttachmentService'])return _0x3febeb['status'](0x1f4)[_0xea866(0x1ca)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x322978=await this[_0xea866(0x14a)][_0xea866(0x22f)]['deleteAttachment'](_0x2669da,_0x3b4288);this['logger'][_0xea866(0x180)](_0xea866(0x1f5),{'fileId':_0x2669da,'agentId':_0x3b4288,'physicallyDeleted':_0x322978['physicallyDeleted']}),_0x3febeb['json']({'success':!![],'message':_0x322978[_0xea866(0x16f)]?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x322978['physicallyDeleted']});}catch(_0x4cbe6c){this['logger']['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x1f28e4[_0xea866(0x1da)][_0xea866(0x216)],'error':_0x4cbe6c[_0xea866(0x15f)]}),_0x3febeb['status'](0x1f4)[_0xea866(0x1ca)]({'success':![],'error':_0x4cbe6c[_0xea866(0x15f)]});}}),this[_0x1c9c69(0x163)]['post']('/api/attachments/:fileId/import',async(_0x358b59,_0x2b10c0)=>{const _0x20ed09=_0x1c9c69;try{const {fileId:_0x3fa2be}=_0x358b59[_0x20ed09(0x1da)],{targetAgentId:_0x345f8d}=_0x358b59[_0x20ed09(0x152)];if(!_0x345f8d)return _0x2b10c0[_0x20ed09(0x206)](0x190)[_0x20ed09(0x1ca)]({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this['orchestrator']?.['fileAttachmentService'])return _0x2b10c0[_0x20ed09(0x206)](0x1f4)[_0x20ed09(0x1ca)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x54f761=await this['orchestrator'][_0x20ed09(0x22f)][_0x20ed09(0x1d4)](_0x3fa2be,_0x345f8d);this['logger'][_0x20ed09(0x180)]('Attachment imported',{'fileId':_0x3fa2be,'targetAgentId':_0x345f8d}),_0x2b10c0['json']({'success':!![],'attachment':_0x54f761});}catch(_0x26672c){this[_0x20ed09(0x222)]['error']('Failed to import attachment',{'fileId':_0x358b59['params']['fileId'],'error':_0x26672c['message']}),_0x2b10c0[_0x20ed09(0x206)](0x1f4)[_0x20ed09(0x1ca)]({'success':![],'error':_0x26672c[_0x20ed09(0x15f)]});}}),this[_0x1c9c69(0x163)]['get']('/api/attachments/:fileId/preview',async(_0xa9d9de,_0x80520e)=>{const _0x5c24a6=_0x1c9c69;try{const {fileId:_0x3b55ce}=_0xa9d9de[_0x5c24a6(0x1da)];if(!this[_0x5c24a6(0x14a)]?.[_0x5c24a6(0x22f)])return _0x80520e['status'](0x1f4)[_0x5c24a6(0x1ca)]({'success':![],'error':_0x5c24a6(0x220)});const _0x16477b=await this['orchestrator'][_0x5c24a6(0x22f)][_0x5c24a6(0x1b9)](_0x3b55ce);if(!_0x16477b)return _0x80520e[_0x5c24a6(0x206)](0x194)[_0x5c24a6(0x1ca)]({'success':![],'error':_0x5c24a6(0x181)});_0x80520e['json']({'success':!![],'preview':_0x16477b});}catch(_0x590cc4){this['logger']['error']('Failed\x20to\x20get\x20attachment\x20preview',{'fileId':_0xa9d9de['params'][_0x5c24a6(0x216)],'error':_0x590cc4[_0x5c24a6(0x15f)]}),_0x80520e[_0x5c24a6(0x206)](0x1f4)['json']({'success':![],'error':_0x590cc4['message']});}}),this[_0x1c9c69(0x163)]['get'](_0x1c9c69(0x225),async(_0x437f9b,_0x43fde2)=>{const _0x2e6bce=_0x1c9c69;try{const {sessionId:_0x7dcb1a,filename:_0x40d690}=_0x437f9b['params'],_0x3600bb=this[_0x2e6bce(0x1b0)]['get'](_0x7dcb1a);if(!_0x3600bb)return _0x43fde2[_0x2e6bce(0x206)](HTTP_STATUS['FORBIDDEN'])['json']({'success':![],'error':'Invalid\x20session'});const _0x504f7c=a0_0xd4e73b['basename'](_0x40d690);if(_0x504f7c!==_0x40d690||_0x40d690['includes']('..')||_0x40d690['includes']('/')||_0x40d690['includes']('\x5c'))return _0x43fde2[_0x2e6bce(0x206)](HTTP_STATUS[_0x2e6bce(0x202)])['json']({'success':![],'error':_0x2e6bce(0x157)});let _0x164737=null;const _0xd0d7be=[a0_0xd4e73b['join'](_0x3600bb['projectDir']||process['cwd'](),'images',_0x504f7c),a0_0xd4e73b[_0x2e6bce(0x19e)]('/tmp/loxia-images',_0x7dcb1a,_0x504f7c),a0_0xd4e73b[_0x2e6bce(0x19e)]('/tmp/loxia-images',_0x504f7c)];if(this['orchestrator']?.[_0x2e6bce(0x21c)])try{const _0x1df409=await this[_0x2e6bce(0x14a)][_0x2e6bce(0x21c)]['getAllAgents']();for(const _0x5e25be of _0x1df409){_0x5e25be['directoryAccess']?.[_0x2e6bce(0x145)]&&_0xd0d7be['push'](a0_0xd4e73b[_0x2e6bce(0x19e)](_0x5e25be['directoryAccess']['workingDirectory'],'images',_0x504f7c));}}catch(_0x3785f7){this[_0x2e6bce(0x222)][_0x2e6bce(0x18b)](_0x2e6bce(0x214),{'error':_0x3785f7[_0x2e6bce(0x15f)]});}for(const _0x4403c6 of _0xd0d7be){try{const _0x3d6132=await a0_0x57c2e7['stat'](_0x4403c6);if(_0x3d6132['isFile']()){_0x164737=_0x4403c6,this[_0x2e6bce(0x222)][_0x2e6bce(0x180)]('Image\x20found',{'filename':_0x504f7c,'path':_0x164737,'sessionId':_0x7dcb1a});break;}}catch(_0x1be7b0){continue;}}if(!_0x164737)return this[_0x2e6bce(0x222)][_0x2e6bce(0x18b)](_0x2e6bce(0x199),{'filename':_0x504f7c,'sessionId':_0x7dcb1a,'searchPaths':_0xd0d7be}),_0x43fde2['status'](HTTP_STATUS[_0x2e6bce(0x14c)])[_0x2e6bce(0x1ca)]({'success':![],'error':'Image\x20not\x20found'});_0x43fde2[_0x2e6bce(0x187)](_0x164737,_0x5b0a42=>{const _0x198f16=_0x2e6bce;_0x5b0a42?(this[_0x198f16(0x222)][_0x198f16(0x230)]('Failed\x20to\x20send\x20image\x20file',{'error':_0x5b0a42[_0x198f16(0x15f)],'imagePath':_0x164737,'filename':_0x504f7c}),!_0x43fde2[_0x198f16(0x171)]&&_0x43fde2['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x198f16(0x1ca)]({'success':![],'error':'Failed\x20to\x20serve\x20image'})):this['logger']['info'](_0x198f16(0x1b8),{'filename':_0x504f7c,'path':_0x164737,'sessionId':_0x7dcb1a});});}catch(_0xaad5be){this[_0x2e6bce(0x222)][_0x2e6bce(0x230)](_0x2e6bce(0x12f),{'error':_0xaad5be['message'],'sessionId':_0x437f9b['params'][_0x2e6bce(0x1ff)],'filename':_0x437f9b['params'][_0x2e6bce(0x22e)]}),_0x43fde2[_0x2e6bce(0x206)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x2e6bce(0x1ca)]({'success':![],'error':_0xaad5be['message']});}}),this['app']['post']('/api/agents/:agentId/mode',async(_0x99f979,_0x32eb96)=>{const _0x7742df=_0x1c9c69;try{const {agentId:_0x5970c0}=_0x99f979[_0x7742df(0x1da)],{mode:_0x6a58a4,lockMode:lockMode=![],sessionId:_0x599b6f}=_0x99f979['body'];if(!Object[_0x7742df(0x1f8)](AGENT_MODES)['includes'](_0x6a58a4))return _0x32eb96['status'](0x190)['json']({'success':![],'error':_0x7742df(0x15b)+Object[_0x7742df(0x1f8)](AGENT_MODES)[_0x7742df(0x19e)](',\x20')});const _0xebfe0f=_0x599b6f||_0x99f979['sessionID'];!_0xebfe0f&&this[_0x7742df(0x222)][_0x7742df(0x18b)](_0x7742df(0x18a),{'agentId':_0x5970c0,'hasBodySessionId':!!_0x599b6f,'hasReqSessionId':!!_0x99f979[_0x7742df(0x1c3)]});const _0x578694={'interface':INTERFACE_TYPES[_0x7742df(0x156)],'sessionId':_0xebfe0f,'action':'update_agent','payload':{'agentId':_0x5970c0,'updates':{'mode':_0x6a58a4}}},_0x1e94ba=await this[_0x7742df(0x14a)]['processRequest'](_0x578694);if(_0x1e94ba['success']){const _0x2db658=_0x1e94ba[_0x7742df(0x133)];this['logger'][_0x7742df(0x180)](_0x7742df(0x1d9)+_0x5970c0,{'newMode':_0x6a58a4,'lockMode':lockMode,'finalMode':_0x2db658?.['mode']}),this['broadcastToSession'](_0x578694[_0x7742df(0x1ff)],{'type':_0x7742df(0x1b2),'agentId':_0x5970c0,'mode':_0x2db658?.['mode'],'modeState':_0x2db658?.[_0x7742df(0x18e)]}),_0x32eb96[_0x7742df(0x1ca)]({'success':!![],'agent':_0x2db658,'message':_0x7742df(0x179)+_0x2db658?.['mode']});}else _0x32eb96['status'](0x190)[_0x7742df(0x1ca)]({'success':![],'error':_0x1e94ba[_0x7742df(0x230)]||'Failed\x20to\x20update\x20agent\x20mode'});}catch(_0x5ae5f1){this[_0x7742df(0x222)]['error'](_0x7742df(0x14b),{'agentId':_0x99f979[_0x7742df(0x1da)]['agentId'],'error':_0x5ae5f1['message']}),_0x32eb96[_0x7742df(0x206)](0x1f4)[_0x7742df(0x1ca)]({'success':![],'error':_0x5ae5f1[_0x7742df(0x15f)]});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x136)]('/api/agents/:agentId/stop',async(_0x17d281,_0x2c85e8)=>{const _0x21d6cf=_0x1c9c69;try{const {agentId:_0x43163e}=_0x17d281[_0x21d6cf(0x1da)],_0x5d41e4=this['orchestrator'][_0x21d6cf(0x1c1)];if(!_0x5d41e4)return _0x2c85e8[_0x21d6cf(0x206)](0x1f4)[_0x21d6cf(0x1ca)]({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x315e74=await _0x5d41e4['stopAutonomousExecution'](_0x43163e);this[_0x21d6cf(0x222)]['info']('Autonomous\x20execution\x20stop\x20requested:\x20'+_0x43163e);const _0x3fd46c=_0x17d281['sessionID']||_0x315e74[_0x21d6cf(0x1bd)]?.['sessionId'];_0x3fd46c&&this[_0x21d6cf(0x1d1)](_0x3fd46c,{'type':'agent_mode_changed','agentId':_0x43163e,'mode':_0x315e74['agent']?.['mode'],'modeState':_0x315e74[_0x21d6cf(0x1bd)]?.['modeState']}),_0x2c85e8['json'](_0x315e74);}catch(_0x4ef78a){this[_0x21d6cf(0x222)]['error'](_0x21d6cf(0x224),{'agentId':_0x17d281['params']['agentId'],'error':_0x4ef78a['message']}),_0x2c85e8[_0x21d6cf(0x206)](0x1f4)['json']({'success':![],'error':_0x4ef78a[_0x21d6cf(0x15f)]});}}),this['app'][_0x1c9c69(0x211)]('/api/agents/:agentId/mode',async(_0x548e0d,_0x16f19b)=>{const _0x12db5b=_0x1c9c69;try{const {agentId:_0x1ba2ba}=_0x548e0d[_0x12db5b(0x1da)],_0x17a163={'interface':INTERFACE_TYPES[_0x12db5b(0x156)],'sessionId':_0x548e0d[_0x12db5b(0x1c3)],'action':'get_agent_status','payload':{'agentId':_0x1ba2ba}},_0x9a2db0=await this['orchestrator']['processRequest'](_0x17a163);_0x9a2db0[_0x12db5b(0x185)]&&_0x9a2db0[_0x12db5b(0x1bd)]?_0x16f19b['json']({'success':!![],'mode':_0x9a2db0['agent']['mode'],'modeState':_0x9a2db0[_0x12db5b(0x1bd)][_0x12db5b(0x18e)],'currentTask':_0x9a2db0[_0x12db5b(0x1bd)][_0x12db5b(0x1a0)],'iterationCount':_0x9a2db0['agent'][_0x12db5b(0x166)],'taskStartTime':_0x9a2db0[_0x12db5b(0x1bd)][_0x12db5b(0x1cb)],'stopRequested':_0x9a2db0[_0x12db5b(0x1bd)][_0x12db5b(0x182)]}):_0x16f19b['status'](0x194)['json']({'success':![],'error':'Agent\x20not\x20found'});}catch(_0x6bbfd4){this['logger'][_0x12db5b(0x230)](_0x12db5b(0x17c),{'agentId':_0x548e0d[_0x12db5b(0x1da)][_0x12db5b(0x1ba)],'error':_0x6bbfd4[_0x12db5b(0x15f)]}),_0x16f19b[_0x12db5b(0x206)](0x1f4)['json']({'success':![],'error':_0x6bbfd4[_0x12db5b(0x15f)]});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x211)](_0x1c9c69(0x12d),async(_0x544696,_0x466ad3)=>{const _0x31e585=_0x1c9c69;try{const _0x191b1e=this[_0x31e585(0x14a)][_0x31e585(0x142)]['project']?.['directory']||process[_0x31e585(0x197)](),_0x8338df=await this[_0x31e585(0x14a)]['stateManager'][_0x31e585(0x13a)](_0x191b1e,this[_0x31e585(0x14a)][_0x31e585(0x21c)]);_0x466ad3['json']({'success':!![],'agents':_0x8338df,'total':_0x8338df['length'],'active':_0x8338df['filter'](_0x40fbc0=>_0x40fbc0['isLoaded'])['length'],'archived':_0x8338df[_0x31e585(0x201)](_0xd60e33=>!_0xd60e33[_0x31e585(0x1a4)])['length']});}catch(_0x4c1547){this[_0x31e585(0x222)]['error'](_0x31e585(0x22c),{'error':_0x4c1547['message'],'stack':_0x4c1547[_0x31e585(0x144)]}),_0x466ad3[_0x31e585(0x206)](0x1f4)[_0x31e585(0x1ca)]({'success':![],'error':_0x4c1547['message']});}}),this['app'][_0x1c9c69(0x211)](_0x1c9c69(0x1e6),async(_0x4cf91d,_0x261c72)=>{const _0x39d492=_0x1c9c69;try{const {agentId:_0x2b2a1f}=_0x4cf91d['params'],_0x5ae304=this['orchestrator']['config'][_0x39d492(0x176)]?.['directory']||process['cwd'](),_0x112a98=await this['orchestrator'][_0x39d492(0x19c)][_0x39d492(0x15c)](_0x2b2a1f,_0x5ae304);_0x261c72['json']({'success':!![],'metadata':_0x112a98});}catch(_0x2e3f9d){this['logger']['error']('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x4cf91d['params'][_0x39d492(0x1ba)],'error':_0x2e3f9d[_0x39d492(0x15f)]}),_0x261c72[_0x39d492(0x206)](0x194)[_0x39d492(0x1ca)]({'success':![],'error':_0x2e3f9d[_0x39d492(0x15f)]});}}),this['app'][_0x1c9c69(0x136)]('/api/agents/import',async(_0x3bcf7b,_0x3e1b57)=>{const _0x119329=_0x1c9c69;try{const {agentId:_0x51351a}=_0x3bcf7b[_0x119329(0x152)];if(!_0x51351a)return _0x3e1b57[_0x119329(0x206)](0x190)['json']({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0x4fdcf6=this['orchestrator']['config'][_0x119329(0x176)]?.['directory']||process[_0x119329(0x197)](),_0x12e133=await this['orchestrator']['stateManager']['importArchivedAgent'](_0x51351a,_0x4fdcf6,this['orchestrator']['agentPool']);this[_0x119329(0x168)]&&this[_0x119329(0x168)]['broadcast']({'type':'agent-imported','agent':{'id':_0x12e133['id'],'name':_0x12e133[_0x119329(0x147)],'status':_0x12e133[_0x119329(0x206)],'capabilities':_0x12e133[_0x119329(0x1ce)],'model':_0x12e133['currentModel']||_0x12e133[_0x119329(0x1e9)]}}),this[_0x119329(0x222)]['info']('Agent imported successfully',{'agentId':_0x12e133['id'],'name':_0x12e133[_0x119329(0x147)]}),_0x3e1b57[_0x119329(0x1ca)]({'success':!![],'agent':{'id':_0x12e133['id'],'name':_0x12e133['name'],'status':_0x12e133['status'],'model':_0x12e133['currentModel']||_0x12e133[_0x119329(0x1e9)],'capabilities':_0x12e133[_0x119329(0x1ce)],'lastActivity':_0x12e133[_0x119329(0x165)]},'message':_0x119329(0x138)+_0x12e133[_0x119329(0x147)]+'\x20imported\x20successfully'});}catch(_0x19ab03){this['logger']['error']('Failed to import agent',{'agentId':_0x3bcf7b['body']['agentId'],'error':_0x19ab03['message'],'stack':_0x19ab03[_0x119329(0x144)]});const _0x15b3d7=_0x19ab03[_0x119329(0x15f)][_0x119329(0x1d6)]('already\x20active')?0x199:_0x19ab03['message'][_0x119329(0x1d6)](_0x119329(0x177))?0x194:_0x19ab03[_0x119329(0x15f)]['includes'](_0x119329(0x18c))?0x190:0x1f4;_0x3e1b57[_0x119329(0x206)](_0x15b3d7)[_0x119329(0x1ca)]({'success':![],'error':_0x19ab03['message']});}}),this['app'][_0x1c9c69(0x211)]('*',(_0x2cd825,_0x439778)=>{const _0x2a9fbd=_0x1c9c69,_0x558d0f=a0_0xd4e73b['join'](__dirname,_0x2a9fbd(0x22d));_0x439778[_0x2a9fbd(0x187)](_0x558d0f,_0xdc1c40=>{const _0x488f92=_0x2a9fbd;_0xdc1c40&&_0x439778[_0x488f92(0x206)](HTTP_STATUS[_0x488f92(0x14c)])['send']('Web\x20UI\x20not\x20built.\x20Run:\x20npm\x20run\x20build:ui');});});}['setupWebSocket'](){const _0x5dbc9b=a0_0x44b7;this[_0x5dbc9b(0x222)]['info']('Setting\x20up\x20WebSocket\x20server',{'port':this[_0x5dbc9b(0x1f2)],'host':this[_0x5dbc9b(0x1b4)],'wsServerExists':!!this[_0x5dbc9b(0x17b)],'httpServerExists':!!this['server']}),this[_0x5dbc9b(0x17b)]['on'](_0x5dbc9b(0x230),_0x5eb9ef=>{const _0x4e28d6=_0x5dbc9b;this[_0x4e28d6(0x222)]['error'](_0x4e28d6(0x170),{'error':_0x5eb9ef[_0x4e28d6(0x15f)],'stack':_0x5eb9ef[_0x4e28d6(0x144)],'port':this[_0x4e28d6(0x1f2)]});}),this[_0x5dbc9b(0x17b)]['on']('listening',()=>{const _0x1e2802=_0x5dbc9b;this[_0x1e2802(0x222)][_0x1e2802(0x180)]('WebSocket\x20server\x20is\x20now\x20listening',{'port':this['port'],'host':this['host']});}),this[_0x5dbc9b(0x17b)]['on']('connection',(_0x538bbe,_0x2e310b)=>{const _0x7a9400=_0x5dbc9b,_0x2c5112=_0x7a9400(0x20f)+Date[_0x7a9400(0x143)]()+'-'+Math['random']()['toString'](0x24)['substr'](0x2,0x9);this[_0x7a9400(0x222)]['info'](_0x7a9400(0x1f7),{'connectionId':_0x2c5112,'ip':_0x2e310b[_0x7a9400(0x1a9)][_0x7a9400(0x1fd)],'origin':_0x2e310b['headers']['origin'],'host':_0x2e310b[_0x7a9400(0x200)]['host'],'userAgent':_0x2e310b[_0x7a9400(0x200)][_0x7a9400(0x21e)],'url':_0x2e310b['url']});const _0x4f0ada={'id':_0x2c5112,'ws':_0x538bbe,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this[_0x7a9400(0x159)]['set'](_0x2c5112,_0x4f0ada),_0x538bbe['on'](_0x7a9400(0x15f),async _0x4102b6=>{const _0x100c1d=_0x7a9400;try{const _0x2a0613=JSON[_0x100c1d(0x228)](_0x4102b6[_0x100c1d(0x167)]());await this['handleWebSocketMessage'](_0x2c5112,_0x2a0613);}catch(_0x57b2c2){this['logger'][_0x100c1d(0x230)]('WebSocket\x20message\x20error',{'connectionId':_0x2c5112,'error':_0x57b2c2['message']}),_0x538bbe[_0x100c1d(0x1d0)](JSON['stringify']({'type':'error','error':_0x57b2c2['message']}));}}),_0x538bbe['on']('close',()=>{const _0x488edd=_0x7a9400;this[_0x488edd(0x222)][_0x488edd(0x180)]('WebSocket\x20connection\x20closed',{'connectionId':_0x2c5112}),this['connections'][_0x488edd(0x1f1)](_0x2c5112);}),_0x538bbe['send'](JSON['stringify']({'type':_0x7a9400(0x1ed),'connectionId':_0x2c5112,'timestamp':new Date()['toISOString']()}));});}async['handleWebSocketMessage'](_0x3d12ce,_0x39d578){const _0x50b364=a0_0x44b7,_0x19b9d5=this['connections'][_0x50b364(0x211)](_0x3d12ce);if(!_0x19b9d5)return;_0x19b9d5[_0x50b364(0x165)]=new Date()['toISOString']();switch(_0x39d578[_0x50b364(0x21d)]){case _0x50b364(0x1c4):const _0x7beba3=_0x39d578[_0x50b364(0x1ff)];_0x19b9d5[_0x50b364(0x1ff)]=_0x7beba3,this[_0x50b364(0x222)][_0x50b364(0x180)]('WebSocket\x20joined\x20session',{'connectionId':_0x3d12ce,'sessionId':_0x7beba3,'totalConnectionsForSession':Array[_0x50b364(0x1fb)](this['connections'][_0x50b364(0x1f8)]())[_0x50b364(0x201)](_0x36a778=>_0x36a778[_0x50b364(0x1ff)]===_0x7beba3)[_0x50b364(0x130)]}),_0x19b9d5['ws']['send'](JSON[_0x50b364(0x1e2)]({'type':'session_joined','sessionId':_0x7beba3}));break;case'ping':_0x19b9d5['ws']['send'](JSON['stringify']({'type':_0x50b364(0x1a6),'timestamp':new Date()['toISOString']()}));break;case'orchestrator_request':try{const _0x1e034e={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x19b9d5[_0x50b364(0x1ff)],'action':_0x39d578[_0x50b364(0x13b)],'payload':_0x39d578['payload'],'projectDir':_0x39d578['projectDir']||process['cwd']()},_0x2f1ee7=await this[_0x50b364(0x14a)][_0x50b364(0x17e)](_0x1e034e);_0x19b9d5['ws'][_0x50b364(0x1d0)](JSON[_0x50b364(0x1e2)]({'type':'orchestrator_response','requestId':_0x39d578[_0x50b364(0x21f)],'response':_0x2f1ee7}));}catch(_0xf076){_0x19b9d5['ws']['send'](JSON[_0x50b364(0x1e2)]({'type':_0x50b364(0x230),'requestId':_0x39d578[_0x50b364(0x21f)],'error':_0xf076['message']}));}break;default:this[_0x50b364(0x222)]['warn'](_0x50b364(0x190),{'connectionId':_0x3d12ce,'type':_0x39d578[_0x50b364(0x21d)]});}}['broadcastToSession'](_0x5a671b,_0x41f29){const _0x27127d=a0_0x44b7,_0x4791fe=Array['from'](this['connections'][_0x27127d(0x1f8)]())[_0x27127d(0x201)](_0x49683c=>_0x49683c[_0x27127d(0x1ff)]===_0x5a671b);let _0x4e0c27=[];_0x4791fe['length']===0x0&&(_0x4e0c27=Array[_0x27127d(0x1fb)](this['connections']['values']()),this['logger']?.[_0x27127d(0x18b)]('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x5a671b,'totalConnections':this[_0x27127d(0x159)]['size'],'allSessionIds':Array[_0x27127d(0x1fb)](this[_0x27127d(0x159)][_0x27127d(0x1f8)]())['map'](_0x44d4f2=>_0x44d4f2[_0x27127d(0x1ff)])[_0x27127d(0x201)](Boolean)}));const _0x35f3c7=_0x4791fe[_0x27127d(0x130)]>0x0?_0x4791fe:_0x4e0c27;this['logger']?.['info']('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x5a671b,'messageType':_0x41f29[_0x27127d(0x21d)],'agentId':_0x41f29['agentId'],'totalConnections':this[_0x27127d(0x159)]['size'],'sessionConnections':_0x4791fe['length'],'targetConnections':_0x35f3c7['length'],'connectionIds':_0x35f3c7[_0x27127d(0x1c5)](_0x576b67=>_0x576b67['id']),'usingFallback':_0x4791fe[_0x27127d(0x130)]===0x0,'messagePreview':_0x41f29[_0x27127d(0x21d)]==='autonomous_update'&&_0x41f29['message']?{'messageId':_0x41f29['message']['id'],'messageRole':_0x41f29[_0x27127d(0x15f)][_0x27127d(0x1bb)],'contentLength':_0x41f29['message']['content']?.[_0x27127d(0x130)],'hasToolResults':!!_0x41f29[_0x27127d(0x15f)]['toolResults']}:undefined});for(const _0x15fc37 of _0x35f3c7){try{const _0x52c826={..._0x41f29,'timestamp':new Date()[_0x27127d(0x1fa)]()};_0x15fc37['ws']['send'](JSON[_0x27127d(0x1e2)](_0x52c826)),this['logger']?.[_0x27127d(0x180)]('✅\x20WebSocket\x20message\x20sent\x20to\x20connection:',{'connectionId':_0x15fc37['id'],'messageType':_0x41f29['type'],'agentId':_0x41f29['agentId']});}catch(_0x42e1b1){this[_0x27127d(0x222)][_0x27127d(0x18b)](_0x27127d(0x198),{'connectionId':_0x15fc37['id'],'sessionId':_0x5a671b,'messageType':_0x41f29[_0x27127d(0x21d)],'error':_0x42e1b1[_0x27127d(0x15f)]});}}}async['startServer'](){return new Promise((_0x1d7c74,_0x5783a6)=>{const _0x40a8d3=a0_0x44b7;this[_0x40a8d3(0x19a)]['listen'](this['port'],this['host'],_0x267351=>{const _0x21f8f2=_0x40a8d3;_0x267351?(this['logger'][_0x21f8f2(0x230)]('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0x267351[_0x21f8f2(0x15f)],'port':this['port'],'host':this[_0x21f8f2(0x1b4)]}),_0x5783a6(_0x267351)):(this[_0x21f8f2(0x1a7)]=!![],this['logger'][_0x21f8f2(0x180)](_0x21f8f2(0x173),{'port':this['port'],'host':this[_0x21f8f2(0x1b4)],'httpUrl':'http://'+this['host']+':'+this[_0x21f8f2(0x1f2)],'wsUrl':'ws://'+this['host']+':'+this[_0x21f8f2(0x1f2)],'wsServerAttached':!!this[_0x21f8f2(0x17b)],'wsConnections':this['connections'][_0x21f8f2(0x188)]}),setTimeout(async()=>{const _0x10aecc=_0x21f8f2;await this[_0x10aecc(0x1a3)]();},0x3e8),_0x1d7c74());}),this[_0x40a8d3(0x19a)]['on']('error',_0x13c32d=>{const _0x3352b0=_0x40a8d3;this[_0x3352b0(0x222)]['error'](_0x3352b0(0x154),{'error':_0x13c32d[_0x3352b0(0x15f)],'stack':_0x13c32d[_0x3352b0(0x144)],'port':this[_0x3352b0(0x1f2)]});});});}async[a0_0x4b42bf(0x1a3)](){const _0x4c4f64=a0_0x4b42bf;try{const {default:_0x117a10}=await import('ws'),_0x278ca3=new _0x117a10('ws://localhost:'+this[_0x4c4f64(0x1f2)]);_0x278ca3['on'](_0x4c4f64(0x1d2),()=>{const _0x1eaccc=_0x4c4f64;this['logger'][_0x1eaccc(0x180)](_0x1eaccc(0x1ae),{'port':this[_0x1eaccc(0x1f2)],'url':'ws://localhost:'+this['port']}),_0x278ca3['close']();}),_0x278ca3['on']('error',_0x129efd=>{const _0x48ab98=_0x4c4f64;this[_0x48ab98(0x222)][_0x48ab98(0x230)](_0x48ab98(0x227),{'port':this['port'],'url':_0x48ab98(0x1de)+this[_0x48ab98(0x1f2)],'error':_0x129efd[_0x48ab98(0x15f)],'code':_0x129efd[_0x48ab98(0x1b3)]});}),_0x278ca3['on']('close',(_0x144e50,_0xe2bbe0)=>{const _0x106cdd=_0x4c4f64;_0x144e50===0x3e8&&this['logger'][_0x106cdd(0x180)](_0x106cdd(0x1e5));}),setTimeout(()=>{const _0x465b42=_0x4c4f64;_0x278ca3[_0x465b42(0x1be)]===_0x117a10['CONNECTING']&&(this[_0x465b42(0x222)]['error'](_0x465b42(0x22b),{'port':this['port'],'url':_0x465b42(0x1de)+this[_0x465b42(0x1f2)],'readyState':_0x278ca3['readyState']}),_0x278ca3[_0x465b42(0x15d)]());},0x1388);}catch(_0x5ca7bf){this[_0x4c4f64(0x222)][_0x4c4f64(0x230)]('❌\x20WebSocket\x20server\x20test:\x20EXCEPTION',{'error':_0x5ca7bf['message'],'stack':_0x5ca7bf['stack']});}}[a0_0x4b42bf(0x1b7)](_0x1d915d){const _0x1ae655=a0_0x4b42bf;this['apiKeyManager']=_0x1d915d,this[_0x1ae655(0x222)]?.[_0x1ae655(0x180)](_0x1ae655(0x134),{'hasManager':!!_0x1d915d});}['_getVendorFromModel'](_0x4a7453){const _0x22a54c=a0_0x4b42bf;if(!_0x4a7453)return null;const _0xbbe0d0=_0x4a7453[_0x22a54c(0x1db)]();if(_0xbbe0d0[_0x22a54c(0x1d6)]('anthropic')||_0xbbe0d0['includes']('claude'))return _0x22a54c(0x17f);else{if(_0xbbe0d0['includes'](_0x22a54c(0x178))||_0xbbe0d0['includes'](_0x22a54c(0x193)))return'openai';else{if(_0xbbe0d0['includes']('deepseek'))return _0x22a54c(0x1c6);else{if(_0xbbe0d0[_0x22a54c(0x1d6)]('phi'))return'microsoft';}}}return null;}[a0_0x4b42bf(0x13e)](){const _0x370833=a0_0x4b42bf;return{'isRunning':this[_0x370833(0x1a7)],'port':this['port'],'host':this[_0x370833(0x1b4)],'connections':this['connections'][_0x370833(0x188)],'sessions':this['sessions']['size'],'url':_0x370833(0x169)+this[_0x370833(0x1b4)]+':'+this[_0x370833(0x1f2)]};}async['shutdown'](){const _0x918d64=a0_0x4b42bf;if(!this[_0x918d64(0x1a7)])return;this['logger']['info'](_0x918d64(0x131));for(const _0x2a17dc of this['connections'][_0x918d64(0x1f8)]()){_0x2a17dc['ws']['close']();}return this[_0x918d64(0x159)]['clear'](),this[_0x918d64(0x17b)][_0x918d64(0x20b)](),new Promise(_0x1b95aa=>{this['server']['close'](()=>{const _0xd77413=a0_0x44b7;this[_0xd77413(0x1a7)]=![],this[_0xd77413(0x222)]['info']('Web\x20server\x20shutdown\x20complete'),_0x1b95aa();});});}}export default WebServer;if(import.meta.url==='file://'+process[a0_0x4b42bf(0x1cd)][0x1]){const simpleLogger={'info':(_0x45aa8b,_0x1bbfec)=>console['log'](a0_0x4b42bf(0x16b)+_0x45aa8b,_0x1bbfec?JSON['stringify'](_0x1bbfec,null,0x2):''),'error':(_0x1d745e,_0x21c997)=>console[a0_0x4b42bf(0x230)]('[ERROR]\x20'+_0x1d745e,_0x21c997?JSON['stringify'](_0x21c997,null,0x2):''),'warn':(_0x109c3e,_0x5bcb5b)=>console['warn'](a0_0x4b42bf(0x12e)+_0x109c3e,_0x5bcb5b?JSON[a0_0x4b42bf(0x1e2)](_0x5bcb5b,null,0x2):''),'debug':(_0x5ad616,_0x8734e0)=>console['log'](a0_0x4b42bf(0x232)+_0x5ad616,_0x8734e0?JSON[a0_0x4b42bf(0x1e2)](_0x8734e0,null,0x2):'')},mockOrchestrator={'processAction':async(_0x181ea8,_0x6b302d)=>{const _0x552770=a0_0x4b42bf;simpleLogger['info'](_0x552770(0x223),{'action':_0x181ea8,'data':_0x6b302d});switch(_0x181ea8){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS['CREATE_AGENT']:return{'success':!![],'data':{'id':'agent-'+Date[_0x552770(0x143)](),'name':_0x6b302d['name']||'New\x20Agent','status':_0x552770(0x1e1),'model':_0x6b302d['model']||_0x552770(0x20d),'systemPrompt':_0x6b302d['systemPrompt']||'You\x20are\x20a\x20helpful\x20AI\x20assistant.'}};case ORCHESTRATOR_ACTIONS['SEND_MESSAGE']:return{'success':!![],'data':{'message':{'id':_0x552770(0x234)+Date[_0x552770(0x143)](),'content':'Echo:\x20'+_0x6b302d['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':_0x552770(0x141)+_0x181ea8};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console[a0_0x4b42bf(0x149)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server['startServer']()[a0_0x4b42bf(0x139)](()=>{const _0x50c0c4=a0_0x4b42bf,_0x4ca2a2=server[_0x50c0c4(0x13e)]();console[_0x50c0c4(0x149)]('✅\x20Web\x20Server\x20running\x20at\x20'+_0x4ca2a2[_0x50c0c4(0x16e)]),console[_0x50c0c4(0x149)](_0x50c0c4(0x13f)),console['log']('🔧\x20API\x20available\x20at:\x20http://localhost:8080/api');})['catch'](_0x1c4a44=>{const _0x5d6170=a0_0x4b42bf;console[_0x5d6170(0x230)]('❌\x20Failed\x20to\x20start\x20web\x20server:',_0x1c4a44['message']),process[_0x5d6170(0x162)](0x1);}),process['on'](a0_0x4b42bf(0x226),async()=>{const _0x230249=a0_0x4b42bf;console[_0x230249(0x149)]('\x0a🛑\x20Shutting\x20down\x20web\x20server...'),await server[_0x230249(0x1ef)](),process[_0x230249(0x162)](0x0);});}
1
+ const a0_0x350b36=a0_0x30c0;(function(_0x55706c,_0x2d98b8){const _0x507203=a0_0x30c0,_0x320cf2=_0x55706c();while(!![]){try{const _0x2f37f6=-parseInt(_0x507203(0x169))/0x1*(-parseInt(_0x507203(0x104))/0x2)+parseInt(_0x507203(0x165))/0x3+-parseInt(_0x507203(0x121))/0x4*(-parseInt(_0x507203(0x14a))/0x5)+-parseInt(_0x507203(0x9b))/0x6+parseInt(_0x507203(0x143))/0x7*(-parseInt(_0x507203(0xeb))/0x8)+-parseInt(_0x507203(0xcf))/0x9+parseInt(_0x507203(0xad))/0xa*(-parseInt(_0x507203(0x10a))/0xb);if(_0x2f37f6===_0x2d98b8)break;else _0x320cf2['push'](_0x320cf2['shift']());}catch(_0x33aad7){_0x320cf2['push'](_0x320cf2['shift']());}}}(a0_0x1424,0x861d8));import a0_0x2fe689 from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x4a1d5d from'path';import{promises as a0_0x8343c3}from'fs';function a0_0x30c0(_0x326d61,_0x39ecbd){_0x326d61=_0x326d61-0x85;const _0x14243f=a0_0x1424();let _0x30c0c1=_0x14243f[_0x326d61];if(a0_0x30c0['UVzOIs']===undefined){var _0x4336fb=function(_0x1dd09a){const _0x48040a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fe689='',_0x4a1d5d='';for(let _0x8343c3=0x0,_0x45d876,_0x28a61b,_0x1d0b81=0x0;_0x28a61b=_0x1dd09a['charAt'](_0x1d0b81++);~_0x28a61b&&(_0x45d876=_0x8343c3%0x4?_0x45d876*0x40+_0x28a61b:_0x28a61b,_0x8343c3++%0x4)?_0x2fe689+=String['fromCharCode'](0xff&_0x45d876>>(-0x2*_0x8343c3&0x6)):0x0){_0x28a61b=_0x48040a['indexOf'](_0x28a61b);}for(let _0x3fc8d4=0x0,_0x173c13=_0x2fe689['length'];_0x3fc8d4<_0x173c13;_0x3fc8d4++){_0x4a1d5d+='%'+('00'+_0x2fe689['charCodeAt'](_0x3fc8d4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a1d5d);};a0_0x30c0['dKIFRn']=_0x4336fb,a0_0x30c0['qySiKM']={},a0_0x30c0['UVzOIs']=!![];}const _0x39700a=_0x14243f[0x0],_0x5e2aa2=_0x326d61+_0x39700a,_0x43ea7d=a0_0x30c0['qySiKM'][_0x5e2aa2];return!_0x43ea7d?(_0x30c0c1=a0_0x30c0['dKIFRn'](_0x30c0c1),a0_0x30c0['qySiKM'][_0x5e2aa2]=_0x30c0c1):_0x30c0c1=_0x43ea7d,_0x30c0c1;}import{fileURLToPath}from'url';import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS,HTTP_STATUS,AGENT_MODES}from'../utilities/constants.js';import{initFileExplorerModule}from'../modules/fileExplorer/index.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x4a1d5d[a0_0x350b36(0xfc)](__filename);function a0_0x1424(){const _0x22592a=['Dhj1zq','y2fWywjPBgL0AwvZ','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','BwvZC2fNzq','l2fWAs9ZzxnZAw9UCW','y2XVC2u','y29UzMLN','mtbTyG','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50CW','zgLYzwn0B3j5qwnJzxnZ','Bw9Kzq','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','zgvIDwC','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','zgLYBMfTzq','tMv3iefNzw50','Bg9N','u0vorf9nrvntquDf','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','yxbW','rMfPBgvKihrVihnLBMqGAw1Hz2uGzMLSzq','z2v0qxr0ywnOBwvUDfbYzxzPzxC','mNnXBwX2sq','mc4WlJaUma','AgvHBhrOEq','su5urvjoquXFu0vsvKvsx0vsuK9s','CMvHzgrPCG','8j+tOsbxzwjtB2nRzxqGyNjVywrJyxn0vg9tzxnZAw9UignHBgXLzdO','mtfZzNLoEvO','DMvUzg9Ys2v5CW','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','C2vUzfn0yxr1CW','twvZC2fNzsbWCM9JzxnZB3iGBM90igf2ywLSywjSzq','DxnL','BgLZDgvUAw5N','DMfSDwvZ','CgHP','Bw9Kzvn0yxrL','yM9KEq','rMfPBgvKihrVihnLCNzLigLTywDL','sw1Hz2uGC2vYDMLUzYbLCNjVCG','z2v0qwn0AxzLu2vZC2LVBNm','Bw9KzwXZu2vYDMLJzq','w1DbuK5Dia','C2vZC2LVBKLK','BxrPBwu','ChjVAMvJDa','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','Ag9ZDa','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','mZmXmZmYAMXIwKDy','rMfPBgvKihrVihn0B3aGyxv0B25VBw91CYbLEgvJDxrPB24','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','BxnNlq','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','z2v0qxr0ywnOBwvUDhm','zxjYB3i','C2vYDMvY','z2v0qwXSqwDLBNrZ','y29Kzq','CM9Szq','BM90igzVDw5K','BwfW','DxjSzw5JB2rLza','BgvUz3rO','CMvHzhLtDgf0zq','D3jPDgvgAwXL','Ahr0CdOVlW','l2fWAs9OzwfSDgG','l2fWAs9MAwXLCW','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','DgvYBwLUyxrL','AxnmB2fKzwq','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3bYzxzPzxC','C2v0DxbnAwrKBgv3yxjL','l2fWAs9VCMnOzxn0CMf0B3i','qxr0ywnOBwvUDcbKzwXLDgvK','l2fWAs9MAwXLlwv4CgXVCMvY','DxbKyxrLx2fNzw50','ms4WlJa','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','Aw5JBhvKzxm','DgHLBG','v0vc','mtC1rxbOvK5f','CxvLCNK','y3vYCMvUDe1VzgvS','w0vsuK9sxsa','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50','ChjVy2vZC1jLCxvLC3q','B3jJAgvZDhjHDg9Y','mZbxDw96BKi','Aw5MBW','BwTKAxi','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','CgLUzW','zMLSzw5HBwu','y2XHDwrL','yw50AhjVCgLJ','C3rHCNrZv2L0Aa','qxP1CMuGyMfJA2vUzcbLCNjVCJOG','ywDLBNrjza','yxbPs2v5','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','BwLJCM9ZB2z0','CM91DgvY','C3vIC3rY','tK9ux0zpvu5e','ChjVAMvJDerPCG','sw52ywXPzcbZzxnZAw9U','zMLSzu5HBwu','C3vJy2vZCW','CMvHzezPBgu','rMfPBgvKihrVigDLDcbHz2vUDcbTzxrHzgf0yq','v2vIihnLCNzLCIbPBML0AwfSAxPLza','l2fWAs9LEhbSB3jLCG','zgLYzwn0B3j5','CMvX','mtqWmJq0m2PnrwzOwG','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','l2fWAs9LEhbSB3jLCI9PBMzV','C2L6zq','odyWndK0tLLdtLHJ','zMLSzuLK','AgvHzgvY','DxnLCI1Hz2vUDa','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','r0vu','DgvZDfDLyLnVy2TLDfnLCNzLCG','CMvZB2X2zq','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','y29UBMvJDgLVBNm','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','C2v0','z2v0s2v5C0zVCLjLCxvLC3q','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','l2fWAs90B29SCW','Dg9VBfjLC3vSDhm','ywXYzwfKEsbHy3rPDMu','C3rHDhvZ','C3rHy2S','x2DLDfzLBMrVCKzYB21nB2rLBa','yxbPs2v5twfUywDLCG','C2vZC2LVBKLe','C3rHDa','rMfPBgvKihrVignVBM5Ly3qGDg8GquKGC2vYDMLJzq','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','D3m6lY8','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','sw1Hz2uGBM90igzVDw5K','zMLSzuv4CgXVCMvYtw9KDwXL','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGveLnru9vva','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','Dgv4Da','AxneAxjLy3rVCNK','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','CgfYyw1Z','DhLWzq','C2H1DgrVD24','BM93','Dg9ju09tDhjPBMC','Bg9Nz2vY','z2v0','CMfUzg9T','CMvXDwvZDeLK','zMLSzq','ywn0AxzL','qxr0ywnOBwvUDcbUB3qGzM91BMq','CMvSyxrPDMu','yxv0B25VBw91C191CgrHDgu','t3jPz2LUlcbylvjLCxvLC3rLzc1xAxrOlcbdB250zw50lvr5CguSiefJy2vWDcWGqxv0Ag9YAxPHDgLVBG','ywXS','DMvUzg9YqxbPs2v5','l2fWAs9RzxLZlZPZzxnZAw9Uswq','qwnJzxnZlunVBNrYB2WTqwXSB3CTt3jPz2LU','mJm5mtG5nejvuLjovW','z2v0qxzHAwXHyMXLvg9VBhngB3jvsq','l2fWAs9RzxLZ','z2v0u3rHDhvZ','teLtvf9br0vovfm','q1jfqvrfx0fhru5u','BMfTzq','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','C2v0u2vZC2LVBKTLExm','C29JA2v0','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','zgvLChnLzwS','DMvYC2LVBG','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','C2vUza','Cg9ZDa','DxjS','D3nnyw5Hz2vY','ndyYmtbizMHYwwi','AM9PBG','yNjVywrJyxn0vg9tzxnZAw9U','rMfPBgvKihrVihnLDcbbueKGA2v5CW','qxr0ywnOBwvUDcb1CgrHDgvK','C2v0DxbsB3v0zxm','l3rTCc9SB3HPys1PBwfNzxm','D3m6lY9SB2nHBgHVC3q6','ywn0Aw9U','ywDLBNrqB29S','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','y29UDgvUDa','C3rYAw5NAwz5','zgvSzxrL','Bw9KzwW','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','rMfPBgvKihrVihvWBg9HzcbMAwXLigf0DgfJAg1LBNq','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','Cg9YDa','Dg9tDhjPBMC','C2v0DxbxzwjtB2nRzxq','rMfPBgvKihrVihbYB3H5ignOyxqGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5K','DxrMoa','zNjVBq','zMLSDgvY','Cg9UzW','DxbKyxrLzef0','C3rHDhvZvgv4Da','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','AgvHzgvYCW','C3rHCNrtzxj2zxi','D2fYBG','qvbjigTLExmGDxbKyxrLzcbZDwnJzxnZzNvSBhK','B3bLBMfP','nJu5mZmYogPsr25hyW','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','CgH5C2LJywXSEurLBgv0zwq','zgvSzxrLqxr0ywnOBwvUDa','yxbWBgLJyxrPB24VANnVBG','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','qMvHCMvYia','ywDLBNq','Bg94AwfbCgLlzxK','y29UBI0','y2f0zwDVCNK','AxnsDw5UAw5N','ChvZAa','sfruucbZzxj2zxiGzxjYB3i6','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','Dg9VBhnszwDPC3rYEq','z2v0qwDLBNrnzxrHzgf0yq','D3nZ','C3LZDgvTuhjVBxb0','Cgf5Bg9Hza','ANnVBG','y3DK','AxngAwXL','C2vZC2LVBNm','l2fWAs9SBg0VBw9KzwXZ','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','ndq3mJHwsuDVAu0','sw1Hz2uGC2vYDMvKihn1y2nLC3nMDwXSEq','DgfZA1n0yxj0vgLTzq'];a0_0x1424=function(){return _0x22592a;};return a0_0x1424();}class WebServer{constructor(_0x45d876,_0x28a61b,_0x1d0b81={}){const _0x11496d=a0_0x350b36;this['orchestrator']=_0x45d876,this[_0x11496d(0x8d)]=_0x28a61b,this['config']=_0x1d0b81,this[_0x11496d(0xbf)]=_0x1d0b81[_0x11496d(0xbf)]||0x1f90,this[_0x11496d(0x11f)]=_0x1d0b81[_0x11496d(0x11f)]||'localhost',this['app']=a0_0x2fe689(),this['server']=createServer(this['app']),this['wss']=new WebSocketServer({'server':this[_0x11496d(0x128)],'verifyClient':_0x3fc8d4=>{const _0x5c91bf=_0x11496d;return this[_0x5c91bf(0x8d)]?.['info']('WebSocket\x20connection\x20attempt',{'origin':_0x3fc8d4['origin'],'host':_0x3fc8d4[_0x5c91bf(0x164)]['headers']['host'],'userAgent':_0x3fc8d4[_0x5c91bf(0x164)]['headers'][_0x5c91bf(0x16c)],'url':_0x3fc8d4['req']['url']}),!![];}}),this['connections']=new Map(),this[_0x11496d(0xe8)]=new Map(),this['apiKeyManager']=null,this['isRunning']=![];}async['initialize'](){const _0xb7858d=a0_0x350b36;try{this[_0xb7858d(0x139)](),this[_0xb7858d(0xb2)](),this['setupWebSocket'](),await this[_0xb7858d(0xcb)](),this['logger']['info'](_0xb7858d(0x161),{'port':this['port'],'host':this[_0xb7858d(0x11f)],'url':'http://'+this[_0xb7858d(0x11f)]+':'+this['port']});}catch(_0x173c13){this[_0xb7858d(0x8d)][_0xb7858d(0x127)]('Web\x20server\x20initialization\x20failed',{'error':_0x173c13['message'],'stack':_0x173c13[_0xb7858d(0x17b)]});throw _0x173c13;}}['setupMiddleware'](){const _0x5eadfa=a0_0x350b36;this[_0x5eadfa(0x101)][_0x5eadfa(0x110)]((_0x24e858,_0x1ec241,_0x10784f)=>{const _0x105020=_0x5eadfa;_0x1ec241[_0x105020(0x16b)](_0x105020(0x9a),'*'),_0x1ec241['header']('Access-Control-Allow-Methods','GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0x1ec241['header']('Access-Control-Allow-Headers',_0x105020(0x96)),_0x24e858['method']==='OPTIONS'?_0x1ec241[_0x105020(0x10e)](HTTP_STATUS['OK']):_0x10784f();}),this[_0x5eadfa(0x101)][_0x5eadfa(0x110)](a0_0x2fe689[_0x5eadfa(0xe5)]({'limit':'10mb'})),this[_0x5eadfa(0x101)]['use'](a0_0x2fe689[_0x5eadfa(0x12e)]({'extended':!![],'limit':_0x5eadfa(0xf5)})),this[_0x5eadfa(0x185)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app']['use'](_0x5eadfa(0x13c),this['fileExplorerModule'][_0x5eadfa(0x158)]);const _0x50a37c=a0_0x4a1d5d[_0x5eadfa(0xae)](__dirname,'../../web-ui/build');this['app']['use'](a0_0x2fe689['static'](_0x50a37c)),this[_0x5eadfa(0x101)][_0x5eadfa(0x110)]((_0x48eb26,_0x38d93f,_0x708a52)=>{const _0x40d47b=_0x5eadfa;this[_0x40d47b(0x8d)][_0x40d47b(0xfa)](_0x48eb26['method']+'\x20'+_0x48eb26['path'],{'ip':_0x48eb26['ip'],'userAgent':_0x48eb26[_0x40d47b(0x8e)]('User-Agent')}),_0x708a52();});}[a0_0x350b36(0xb2)](){const _0x2a1d94=a0_0x350b36;this[_0x2a1d94(0x101)][_0x2a1d94(0x8e)](_0x2a1d94(0x133),async(_0x22c98d,_0x2fcd5c)=>{const _0x4911b7=_0x2a1d94;try{const _0x639578=a0_0x4a1d5d[_0x4911b7(0xae)](__dirname,'../../package.json'),_0x41255a=JSON['parse'](await a0_0x8343c3[_0x4911b7(0x15f)](_0x639578,'utf8'));_0x2fcd5c['json']({'status':_0x4911b7(0x106),'version':_0x41255a[_0x4911b7(0xa7)]||'1.0.0','timestamp':new Date()['toISOString']()});}catch(_0x2cb3a8){_0x2fcd5c[_0x4911b7(0xe5)]({'status':_0x4911b7(0x106),'version':_0x4911b7(0x13e),'timestamp':new Date()['toISOString']()});}}),this['app']['post'](_0x2a1d94(0xf2),async(_0x2dc545,_0x2ffe1e)=>{const _0x381700=_0x2a1d94;try{const _0x3118c7='web-'+Date['now']()+'-'+Math[_0x381700(0x8f)]()['toString'](0x24)[_0x381700(0x159)](0x2,0x9),_0x33deff=_0x2dc545['body']['projectDir']||process['cwd'](),_0x210230={'id':_0x3118c7,'projectDir':_0x33deff,'createdAt':new Date()[_0x381700(0x8c)](),'lastActivity':new Date()[_0x381700(0x8c)]()};this['sessions']['set'](_0x3118c7,_0x210230),_0x2ffe1e['json']({'success':!![],'session':_0x210230});}catch(_0xddd554){_0x2ffe1e['status'](HTTP_STATUS[_0x381700(0x107)])[_0x381700(0xe5)]({'success':![],'error':_0xddd554[_0x381700(0xf1)]});}}),this[_0x2a1d94(0x101)][_0x2a1d94(0xaa)](_0x2a1d94(0x13a),async(_0x2f0f05,_0x5937a6)=>{const _0x2dc0c8=_0x2a1d94;try{const _0x76f87b={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x2f0f05['body'][_0x2dc0c8(0x11b)],'action':_0x2f0f05['body']['action'],'payload':_0x2f0f05['body']['payload'],'projectDir':_0x2f0f05[_0x2dc0c8(0x115)][_0x2dc0c8(0x15b)]||process['cwd']()},_0x29d778=await this['orchestrator'][_0x2dc0c8(0x148)](_0x76f87b);this[_0x2dc0c8(0xaf)](_0x76f87b[_0x2dc0c8(0x11b)],{'type':'orchestrator_response','action':_0x76f87b[_0x2dc0c8(0xb5)],'response':_0x29d778}),_0x5937a6['json'](_0x29d778);}catch(_0x315baa){this['logger'][_0x2dc0c8(0x127)]('Orchestrator\x20API\x20error',{'error':_0x315baa[_0x2dc0c8(0xf1)],'body':_0x2f0f05['body']}),_0x5937a6[_0x2dc0c8(0x17a)](HTTP_STATUS[_0x2dc0c8(0x107)])[_0x2dc0c8(0xe5)]({'success':![],'error':_0x315baa['message']});}}),this['app']['get'](_0x2a1d94(0x134),async(_0x5efd51,_0x3cc331)=>{const _0x424803=_0x2a1d94;try{const {path:_0x5c3f2a,projectDir:_0x31c197}=_0x5efd51[_0x424803(0x144)],_0x2f8776=a0_0x4a1d5d[_0x424803(0x170)](_0x31c197||process[_0x424803(0xe6)](),_0x5c3f2a||'.'),_0x12ede8=await a0_0x8343c3['stat'](_0x2f8776);if(_0x12ede8['isDirectory']()){const _0x369d34=await a0_0x8343c3[_0x424803(0x108)](_0x2f8776,{'withFileTypes':!![]}),_0x2c3d8e=_0x369d34[_0x424803(0x12d)](_0x3ad9af=>({'name':_0x3ad9af[_0x424803(0xa1)],'type':_0x3ad9af['isDirectory']()?_0x424803(0x163):_0x424803(0x91),'path':a0_0x4a1d5d[_0x424803(0xae)](_0x5c3f2a||'.',_0x3ad9af['name'])}));_0x3cc331['json']({'success':!![],'files':_0x2c3d8e});}else{const _0x3fe65d=await a0_0x8343c3[_0x424803(0x15f)](_0x2f8776,_0x424803(0xc3));_0x3cc331['json']({'success':!![],'content':_0x3fe65d,'type':_0x424803(0x91)});}}catch(_0x57de6a){_0x3cc331[_0x424803(0x17a)](HTTP_STATUS['NOT_FOUND'])['json']({'success':![],'error':_0x57de6a['message']});}}),this[_0x2a1d94(0x101)]['post']('/api/files/upload',async(_0x193e2a,_0xd9549b)=>{const _0x4e4dfc=_0x2a1d94;try{const {fileName:_0x267efe,content:_0x52f9f1,projectDir:_0x313932}=_0x193e2a[_0x4e4dfc(0x115)],_0x5acd0a=_0x313932||process[_0x4e4dfc(0xe6)](),_0x5f3235=a0_0x4a1d5d['resolve'](_0x5acd0a,_0x267efe);await a0_0x8343c3[_0x4e4dfc(0x14c)](_0x5acd0a,{'recursive':!![]}),await a0_0x8343c3[_0x4e4dfc(0x131)](_0x5f3235,_0x52f9f1,'utf8'),_0xd9549b[_0x4e4dfc(0xe5)]({'success':!![],'message':'File\x20uploaded\x20successfully','path':_0x5f3235});}catch(_0x264c41){_0xd9549b[_0x4e4dfc(0x17a)](HTTP_STATUS[_0x4e4dfc(0x107)])[_0x4e4dfc(0xe5)]({'success':![],'error':_0x264c41[_0x4e4dfc(0xf1)]});}}),this['app']['get'](_0x2a1d94(0x162),async(_0x3be086,_0x5e5fb2)=>{const _0x51d0aa=_0x2a1d94;try{const {path:_0x4dd0e8,showHidden:showHidden=![]}=_0x3be086[_0x51d0aa(0x144)],_0x2304a2=_0x4dd0e8||process[_0x51d0aa(0xe6)](),_0xfc4c68=a0_0x4a1d5d['resolve'](_0x2304a2),_0x37708c=a0_0x4a1d5d['normalize'](_0xfc4c68),_0x45cc7c=await a0_0x8343c3[_0x51d0aa(0x17f)](_0x37708c);if(!_0x45cc7c['isDirectory']())return _0x5e5fb2['status'](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':'Path\x20is\x20not\x20a\x20directory'});const _0x5a6def=await a0_0x8343c3['readdir'](_0x37708c,{'withFileTypes':!![]}),_0x2df1f4=await Promise[_0x51d0aa(0x97)](_0x5a6def['filter'](_0x223368=>showHidden===_0x51d0aa(0xee)||!_0x223368['name']['startsWith']('.'))[_0x51d0aa(0x12d)](async _0x551010=>{const _0x2b5c42=_0x51d0aa,_0x534c5b=a0_0x4a1d5d['join'](_0x37708c,_0x551010[_0x2b5c42(0xa1)]),_0x488853=await a0_0x8343c3[_0x2b5c42(0x17f)](_0x534c5b)['catch'](()=>null);return{'name':_0x551010[_0x2b5c42(0xa1)],'type':_0x551010[_0x2b5c42(0x86)]()?_0x2b5c42(0x163):_0x2b5c42(0x91),'path':_0x534c5b,'relativePath':a0_0x4a1d5d['relative'](process[_0x2b5c42(0xe6)](),_0x534c5b),'size':_0x488853?.[_0x2b5c42(0x168)]||0x0,'modified':_0x488853?.['mtime']||null,'isHidden':_0x551010['name'][_0x2b5c42(0x152)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x2df1f4['sort']((_0x4f9dd1,_0x486835)=>{const _0x404a1c=_0x51d0aa;if(_0x4f9dd1[_0x404a1c(0x89)]!==_0x486835['type'])return _0x4f9dd1['type']===_0x404a1c(0x163)?-0x1:0x1;return _0x4f9dd1[_0x404a1c(0xa1)]['localeCompare'](_0x486835['name']);});const _0x71b0f2=a0_0x4a1d5d[_0x51d0aa(0xfc)](_0x37708c),_0x5dfac8=_0x71b0f2!==_0x37708c;_0x5e5fb2['json']({'success':!![],'currentPath':_0x37708c,'currentRelativePath':a0_0x4a1d5d[_0x51d0aa(0x94)](process[_0x51d0aa(0xe6)](),_0x37708c),'parentPath':_0x5dfac8?_0x71b0f2:null,'items':_0x2df1f4,'totalItems':_0x2df1f4['length'],'directories':_0x2df1f4['filter'](_0x1fce79=>_0x1fce79['type']===_0x51d0aa(0x163))['length'],'files':_0x2df1f4[_0x51d0aa(0xc5)](_0x171746=>_0x171746['type']===_0x51d0aa(0x91))[_0x51d0aa(0x12f)]});}catch(_0x52560e){_0x5e5fb2[_0x51d0aa(0x17a)](HTTP_STATUS[_0x51d0aa(0x107)])[_0x51d0aa(0xe5)]({'success':![],'error':_0x52560e[_0x51d0aa(0xf1)],'code':_0x52560e[_0x51d0aa(0x12a)]});}}),this['app']['post']('/api/explorer/mkdir',async(_0x45cb63,_0x292db8)=>{const _0xc51b59=_0x2a1d94;try{const {path:_0x43570e,name:_0xa618dc}=_0x45cb63['body'],_0x4902c7=a0_0x4a1d5d['resolve'](_0x43570e,_0xa618dc);await a0_0x8343c3['mkdir'](_0x4902c7,{'recursive':![]}),_0x292db8[_0xc51b59(0xe5)]({'success':!![],'path':_0x4902c7,'relativePath':a0_0x4a1d5d[_0xc51b59(0x94)](process['cwd'](),_0x4902c7)});}catch(_0x671774){_0x292db8['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0xc51b59(0xe5)]({'success':![],'error':_0x671774[_0xc51b59(0xf1)],'code':_0x671774[_0xc51b59(0x12a)]});}}),this[_0x2a1d94(0x101)]['get'](_0x2a1d94(0x167),async(_0x4b779c,_0x312df5)=>{const _0x4a6922=_0x2a1d94;try{const {path:_0x380530}=_0x4b779c['query'],_0x5e6c85=a0_0x4a1d5d['resolve'](_0x380530),_0xc13d7=await a0_0x8343c3[_0x4a6922(0x17f)](_0x5e6c85);_0x312df5['json']({'success':!![],'path':_0x5e6c85,'relativePath':a0_0x4a1d5d[_0x4a6922(0x94)](process['cwd'](),_0x5e6c85),'isDirectory':_0xc13d7['isDirectory'](),'isFile':_0xc13d7[_0x4a6922(0xe7)](),'size':_0xc13d7['size'],'created':_0xc13d7['birthtime'],'modified':_0xc13d7[_0x4a6922(0x11c)],'accessed':_0xc13d7['atime']});}catch(_0x29c4d9){_0x312df5[_0x4a6922(0x17a)](HTTP_STATUS[_0x4a6922(0x107)])[_0x4a6922(0xe5)]({'success':![],'error':_0x29c4d9[_0x4a6922(0xf1)],'code':_0x29c4d9[_0x4a6922(0x12a)]});}}),this['app'][_0x2a1d94(0xaa)]('/api/llm/chat',async(_0x53d8dc,_0x39d30f)=>{const _0x136d33=_0x2a1d94;try{const {sessionId:_0x367236,model:_0x2711f3,platformProvided:_0x594c46}=_0x53d8dc['body'];if(!_0x367236)return _0x39d30f[_0x136d33(0x17a)](0x190)[_0x136d33(0xe5)]({'error':'Session\x20ID\x20is\x20required'});let _0x37c17c=null,_0x211588=null;if(this[_0x136d33(0x17d)]){const _0x21b64d=this[_0x136d33(0x17d)][_0x136d33(0x175)](_0x367236,{'platformProvided':_0x594c46||![],'vendor':this['_getVendorFromModel'](_0x2711f3)});_0x37c17c=_0x21b64d[_0x136d33(0xd8)],_0x211588=_0x21b64d[_0x136d33(0x98)];}!_0x37c17c&&(_0x37c17c=this[_0x136d33(0xf4)][_0x136d33(0xd8)]||process['env']['LOXIA_API_KEY']);!_0x37c17c&&_0x53d8dc['body'][_0x136d33(0x155)]&&(_0x37c17c=_0x53d8dc['body'][_0x136d33(0x155)]);if(!_0x37c17c)return this['logger'][_0x136d33(0xcc)]('No\x20API\x20key\x20available\x20for\x20chat\x20request',{'sessionId':_0x367236,'model':_0x2711f3,'platformProvided':_0x594c46,'hasSessionManager':!!this['apiKeyManager']}),_0x39d30f['status'](0x191)['json']({'error':_0x136d33(0x188)});const _0x4c8f60='https://autopilot-api.azurewebsites.net/llm/chat',_0x3ec8f4={..._0x53d8dc[_0x136d33(0x115)],'apiKey':_0x37c17c,..._0x211588&&{'vendorApiKey':_0x211588}},_0xf88897={'method':'POST','headers':{'Content-Type':_0x136d33(0xd3),'Authorization':_0x136d33(0xd6)+_0x37c17c},'body':JSON[_0x136d33(0xb9)](_0x3ec8f4)};this[_0x136d33(0x8d)][_0x136d33(0x14b)](_0x136d33(0x171),{'url':_0x4c8f60,'model':_0x53d8dc[_0x136d33(0x115)]['model'],'hasApiKey':!!_0x37c17c});const _0x1acabb=await fetch(_0x4c8f60,_0xf88897);if(_0x1acabb['ok']){const _0x2e2896=await _0x1acabb['json']();this[_0x136d33(0x8d)]['info']('Successfully received response from Azure backend',{'model':_0x2e2896['model'],'contentLength':_0x2e2896['content']?.['length']||0x0}),_0x39d30f['json'](_0x2e2896);}else{const _0x5a2c1a=await _0x1acabb[_0x136d33(0x85)]();this['logger'][_0x136d33(0xcc)]('Azure\x20backend\x20chat\x20request\x20failed',{'status':_0x1acabb[_0x136d33(0x17a)],'statusText':_0x1acabb[_0x136d33(0xc8)],'error':_0x5a2c1a}),_0x39d30f['status'](_0x1acabb['status'])['json']({'error':_0x136d33(0x153)+_0x1acabb['status']+'\x20'+_0x1acabb[_0x136d33(0xc8)],'details':_0x5a2c1a});}}catch(_0x2cb091){this[_0x136d33(0x8d)][_0x136d33(0x127)](_0x136d33(0xc2),{'error':_0x2cb091[_0x136d33(0xf1)],'stack':_0x2cb091[_0x136d33(0x17b)]}),_0x39d30f['status'](0x1f4)[_0x136d33(0xe5)]({'error':_0x136d33(0x180),'details':_0x2cb091['message']});}}),this['app']['get'](_0x2a1d94(0xe9),async(_0x4c7069,_0x3720f0)=>{const _0x4c80dd=_0x2a1d94;try{const _0x39712a=_0x4c7069['headers']['authorization'];let _0x46c561=null;_0x39712a&&_0x39712a['startsWith'](_0x4c80dd(0xd6))&&(_0x46c561=_0x39712a['substring'](0x7));!_0x46c561&&(_0x46c561=this['config']['loxiaApiKey']||process['env']['LOXIA_API_KEY']);const _0x2af68e='https://autopilot-api.azurewebsites.net/llm/models',_0x175542={'method':_0x4c80dd(0x16e),'headers':{'Content-Type':_0x4c80dd(0xd3),..._0x46c561&&{'Authorization':'Bearer\x20'+_0x46c561}}};this['logger']['info']('Fetching models from Loxia Azure backend',{'url':_0x2af68e,'hasApiKey':!!_0x46c561});const _0x535444=await fetch(_0x2af68e,_0x175542);if(_0x535444['ok']){const _0x43347a=await _0x535444[_0x4c80dd(0xe5)]();this[_0x4c80dd(0x8d)][_0x4c80dd(0x14b)]('Successfully fetched models from Azure backend',{'modelCount':_0x43347a['models']?.['length']||0x0}),_0x3720f0[_0x4c80dd(0xe5)](_0x43347a);}else{const _0x4e4a4f=await _0x535444['text']();this['logger'][_0x4c80dd(0x127)]('Azure\x20backend\x20request\x20failed\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'status':_0x535444[_0x4c80dd(0x17a)],'statusText':_0x535444['statusText'],'error':_0x4e4a4f}),_0x3720f0['status'](_0x535444[_0x4c80dd(0x17a)])['json']({'success':![],'error':'Failed\x20to\x20fetch\x20models\x20from\x20backend:\x20'+_0x535444['status']+'\x20'+_0x535444[_0x4c80dd(0xc8)],'details':_0x4e4a4f});}}catch(_0xed78a6){this['logger'][_0x4c80dd(0x127)]('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0xed78a6['message'],'stack':_0xed78a6['stack']}),_0x3720f0['status'](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0xed78a6['message']});}}),this['app'][_0x2a1d94(0x8e)](_0x2a1d94(0x177),async(_0x150ac9,_0x3b4ee0)=>{const _0x5ab598=_0x2a1d94;try{const _0x34d593=this[_0x5ab598(0xe0)];if(!_0x34d593)return _0x3b4ee0['status'](0x1f4)[_0x5ab598(0xe5)]({'error':'Tools\x20registry\x20not\x20available'});const _0x1a537c=_0x34d593[_0x5ab598(0x9c)]();this['logger']['info'](_0x5ab598(0xf9),{'toolCount':_0x1a537c[_0x5ab598(0x12f)],'tools':_0x1a537c['map'](_0x1d76a6=>({'id':_0x1d76a6['id'],'name':_0x1d76a6[_0x5ab598(0xa1)],'category':_0x1d76a6[_0x5ab598(0xda)]}))}),_0x3b4ee0[_0x5ab598(0xe5)]({'success':!![],'tools':_0x1a537c,'total':_0x1a537c['length']});}catch(_0x3a5774){this[_0x5ab598(0x8d)]['error']('Failed\x20to\x20get\x20tools\x20information',{'error':_0x3a5774['message'],'stack':_0x3a5774['stack']}),_0x3b4ee0[_0x5ab598(0x17a)](0x1f4)[_0x5ab598(0xe5)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x3a5774['message']});}}),this[_0x2a1d94(0x101)]['post'](_0x2a1d94(0x9d),async(_0x1ef68f,_0x273520)=>{const _0x544692=_0x2a1d94;try{const {sessionId:_0x5479e3,loxiaApiKey:_0x50777e,vendorKeys:_0xc0574a}=_0x1ef68f[_0x544692(0x115)];if(!_0x5479e3)return _0x273520[_0x544692(0x17a)](0x190)['json']({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this[_0x544692(0x17d)])return _0x273520['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this[_0x544692(0x17d)][_0x544692(0xa3)](_0x5479e3,{'loxiaApiKey':_0x50777e,'vendorKeys':_0xc0574a||{}}),this['logger'][_0x544692(0x14b)](_0x544692(0x187),{'sessionId':_0x5479e3,'hasLoxiaKey':!!_0x50777e,'vendorKeys':Object['keys'](_0xc0574a||{})});if(this[_0x544692(0x149)]&&this['orchestrator'][_0x544692(0x119)]&&_0x50777e)try{await this['orchestrator']['modelsService']['refresh']({'sessionId':_0x5479e3,'apiKey':_0x50777e}),this['logger'][_0x544692(0x14b)]('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x5479e3});}catch(_0x442134){this['logger']['warn'](_0x544692(0xbc),{'error':_0x442134[_0x544692(0xf1)],'sessionId':_0x5479e3});}_0x273520[_0x544692(0xe5)]({'success':!![],'message':_0x544692(0xcd),'sessionId':_0x5479e3,'hasLoxiaKey':!!_0x50777e,'vendorKeys':Object['keys'](_0xc0574a||{})});}catch(_0x20bcab){this['logger']['error'](_0x544692(0xb0),{'error':_0x20bcab[_0x544692(0xf1)],'sessionId':_0x1ef68f['body'][_0x544692(0x11b)]}),_0x273520['status'](0x1f4)[_0x544692(0xe5)]({'success':![],'error':_0x20bcab['message']});}}),this[_0x2a1d94(0x101)][_0x2a1d94(0x8e)](_0x2a1d94(0x99),async(_0x1d22e6,_0x5c567f)=>{const _0x388013=_0x2a1d94;try{const {sessionId:_0x1d40df}=_0x1d22e6[_0x388013(0x88)];if(!this['apiKeyManager'])return _0x5c567f['status'](0x1f4)[_0x388013(0xe5)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x47e813=this[_0x388013(0x17d)]['getSessionKeys'](_0x1d40df);_0x5c567f['json']({'success':!![],'sessionId':_0x1d40df,'hasLoxiaKey':!!_0x47e813[_0x388013(0xd8)],'vendorKeys':Object['keys'](_0x47e813[_0x388013(0x10b)]||{}),'updatedAt':_0x47e813[_0x388013(0xc7)]});}catch(_0x270bde){this[_0x388013(0x8d)][_0x388013(0x127)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x270bde['message'],'sessionId':_0x1d22e6['params'][_0x388013(0x11b)]}),_0x5c567f[_0x388013(0x17a)](0x1f4)['json']({'success':![],'error':_0x270bde['message']});}}),this['app'][_0x2a1d94(0xba)]('/api/keys/:sessionId',async(_0x579c9b,_0x233942)=>{const _0x138a6b=_0x2a1d94;try{const {sessionId:_0x3c7891}=_0x579c9b[_0x138a6b(0x88)];if(!this[_0x138a6b(0x17d)])return _0x233942[_0x138a6b(0x17a)](0x1f4)['json']({'success':![],'error':_0x138a6b(0xea)});const _0x4a9043=this[_0x138a6b(0x17d)]['removeSessionKeys'](_0x3c7891);_0x233942['json']({'success':!![],'removed':_0x4a9043,'message':_0x4a9043?_0x138a6b(0x135):'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x3e045e){this['logger']['error'](_0x138a6b(0x120),{'error':_0x3e045e[_0x138a6b(0xf1)],'sessionId':_0x579c9b['params']['sessionId']}),_0x233942[_0x138a6b(0x17a)](0x1f4)[_0x138a6b(0xe5)]({'success':![],'error':_0x3e045e['message']});}}),this[_0x2a1d94(0x101)][_0x2a1d94(0x8e)](_0x2a1d94(0x9d),async(_0x4de7b9,_0x5f5ad6)=>{const _0x20fdc0=_0x2a1d94;try{if(!this[_0x20fdc0(0x17d)])return _0x5f5ad6['status'](0x1f4)[_0x20fdc0(0xe5)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x4ec2d5=this['apiKeyManager'][_0x20fdc0(0x118)]();_0x5f5ad6['json']({'success':!![],'sessions':_0x4ec2d5,'total':_0x4ec2d5['length']});}catch(_0x40d323){this[_0x20fdc0(0x8d)][_0x20fdc0(0x127)]('Failed\x20to\x20get\x20active\x20sessions',{'error':_0x40d323['message']}),_0x5f5ad6['status'](0x1f4)[_0x20fdc0(0xe5)]({'success':![],'error':_0x40d323['message']});}}),this[_0x2a1d94(0x101)]['post']('/api/agents/:agentId/attachments/upload',async(_0x4bfab1,_0x44e069)=>{const _0x41ab3d=_0x2a1d94;try{const {agentId:_0x151374}=_0x4bfab1['params'],{filePath:_0x25a606,mode:_0x3f6903,fileName:_0x5ac531}=_0x4bfab1['body'];if(!this[_0x41ab3d(0x149)]?.['fileAttachmentService'])return _0x44e069[_0x41ab3d(0x17a)](0x1f4)[_0x41ab3d(0xe5)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x59c262=await this[_0x41ab3d(0x149)][_0x41ab3d(0x183)]['uploadFile']({'agentId':_0x151374,'filePath':_0x25a606,'mode':_0x3f6903||_0x41ab3d(0xb8),'fileName':_0x5ac531});this[_0x41ab3d(0x8d)]['info'](_0x41ab3d(0x156),{'agentId':_0x151374,'fileId':_0x59c262[_0x41ab3d(0x16a)],'fileName':_0x59c262[_0x41ab3d(0x15d)]}),_0x44e069[_0x41ab3d(0xe5)]({'success':!![],'attachment':_0x59c262});}catch(_0x1fd6e5){this[_0x41ab3d(0x8d)]['error'](_0x41ab3d(0xbd),{'agentId':_0x4bfab1['params'][_0x41ab3d(0x154)],'error':_0x1fd6e5['message']}),_0x44e069[_0x41ab3d(0x17a)](0x1f4)[_0x41ab3d(0xe5)]({'success':![],'error':_0x1fd6e5['message']});}}),this['app']['get'](_0x2a1d94(0xa5),async(_0x222c2e,_0x411337)=>{const _0x2292e7=_0x2a1d94;try{const {agentId:_0x44c8b5}=_0x222c2e[_0x2292e7(0x88)],{mode:_0x4f2a02,active:_0x3d2023}=_0x222c2e[_0x2292e7(0x144)];if(!this[_0x2292e7(0x149)]?.[_0x2292e7(0x183)])return _0x411337['status'](0x1f4)[_0x2292e7(0xe5)]({'success':![],'error':_0x2292e7(0xfb)});const _0x316034={};if(_0x4f2a02)_0x316034['mode']=_0x4f2a02;if(_0x3d2023!==undefined)_0x316034[_0x2292e7(0x92)]=_0x3d2023==='true';const _0x447511=await this[_0x2292e7(0x149)][_0x2292e7(0x183)][_0x2292e7(0x126)](_0x44c8b5,_0x316034);_0x411337['json']({'success':!![],'attachments':_0x447511,'total':_0x447511[_0x2292e7(0x12f)]});}catch(_0x193c5e){this['logger']['error'](_0x2292e7(0xf6),{'agentId':_0x222c2e[_0x2292e7(0x88)]['agentId'],'error':_0x193c5e[_0x2292e7(0xf1)]}),_0x411337['status'](0x1f4)['json']({'success':![],'error':_0x193c5e[_0x2292e7(0xf1)]});}}),this[_0x2a1d94(0x101)]['get'](_0x2a1d94(0x100),async(_0x5904be,_0x2692eb)=>{const _0x122c66=_0x2a1d94;try{const {fileId:_0x3bf84a}=_0x5904be[_0x122c66(0x88)];if(!this[_0x122c66(0x149)]?.[_0x122c66(0x183)])return _0x2692eb['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x127437=await this[_0x122c66(0x149)]['fileAttachmentService']['getAttachment'](_0x3bf84a);if(!_0x127437)return _0x2692eb['status'](0x194)['json']({'success':![],'error':_0x122c66(0x93)});_0x2692eb[_0x122c66(0xe5)]({'success':!![],'attachment':_0x127437});}catch(_0xbdffb2){this[_0x122c66(0x8d)]['error'](_0x122c66(0x147),{'fileId':_0x5904be['params'][_0x122c66(0x16a)],'error':_0xbdffb2['message']}),_0x2692eb[_0x122c66(0x17a)](0x1f4)['json']({'success':![],'error':_0xbdffb2['message']});}}),this[_0x2a1d94(0x101)]['patch']('/api/attachments/:fileId/toggle',async(_0x239a59,_0x3e0d7a)=>{const _0x56b2a1=_0x2a1d94;try{const {fileId:_0x441b01}=_0x239a59[_0x56b2a1(0x88)];if(!this[_0x56b2a1(0x149)]?.[_0x56b2a1(0x183)])return _0x3e0d7a['status'](0x1f4)['json']({'success':![],'error':_0x56b2a1(0xfb)});const _0x524d00=await this[_0x56b2a1(0x149)]['fileAttachmentService']['toggleActive'](_0x441b01);this[_0x56b2a1(0x8d)]['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0x441b01,'active':_0x524d00['active']}),_0x3e0d7a['json']({'success':!![],'attachment':_0x524d00});}catch(_0xe7473e){this[_0x56b2a1(0x8d)][_0x56b2a1(0x127)]('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x239a59['params']['fileId'],'error':_0xe7473e[_0x56b2a1(0xf1)]}),_0x3e0d7a[_0x56b2a1(0x17a)](0x1f4)[_0x56b2a1(0xe5)]({'success':![],'error':_0xe7473e['message']});}}),this['app']['patch']('/api/attachments/:fileId',async(_0x22147a,_0x336222)=>{const _0x543cf1=_0x2a1d94;try{const {fileId:_0x8bd39e}=_0x22147a['params'],{mode:_0x4d97ce,active:_0x3285df}=_0x22147a['body'];if(!this['orchestrator']?.[_0x543cf1(0x183)])return _0x336222['status'](0x1f4)[_0x543cf1(0xe5)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x14440c={};if(_0x4d97ce!==undefined)_0x14440c['mode']=_0x4d97ce;if(_0x3285df!==undefined)_0x14440c[_0x543cf1(0x92)]=_0x3285df;const _0x4b9fc2=await this['orchestrator'][_0x543cf1(0x183)]['updateAttachment'](_0x8bd39e,_0x14440c);this[_0x543cf1(0x8d)][_0x543cf1(0x14b)](_0x543cf1(0xb1),{'fileId':_0x8bd39e,'updates':_0x14440c}),_0x336222['json']({'success':!![],'attachment':_0x4b9fc2});}catch(_0x2f4a9c){this['logger'][_0x543cf1(0x127)]('Failed\x20to\x20update\x20attachment',{'fileId':_0x22147a[_0x543cf1(0x88)][_0x543cf1(0x16a)],'error':_0x2f4a9c['message']}),_0x336222[_0x543cf1(0x17a)](0x1f4)[_0x543cf1(0xe5)]({'success':![],'error':_0x2f4a9c[_0x543cf1(0xf1)]});}}),this[_0x2a1d94(0x101)]['delete'](_0x2a1d94(0x100),async(_0x2c042b,_0x15a214)=>{const _0x10255a=_0x2a1d94;try{const {fileId:_0x9e7a1}=_0x2c042b['params'],{agentId:_0x5ad53a}=_0x2c042b[_0x10255a(0x144)];if(!_0x5ad53a)return _0x15a214['status'](0x190)['json']({'success':![],'error':_0x10255a(0x125)});if(!this['orchestrator']?.['fileAttachmentService'])return _0x15a214[_0x10255a(0x17a)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x2c1484=await this['orchestrator'][_0x10255a(0x183)][_0x10255a(0xd2)](_0x9e7a1,_0x5ad53a);this[_0x10255a(0x8d)][_0x10255a(0x14b)](_0x10255a(0x13b),{'fileId':_0x9e7a1,'agentId':_0x5ad53a,'physicallyDeleted':_0x2c1484['physicallyDeleted']}),_0x15a214['json']({'success':!![],'message':_0x2c1484['physicallyDeleted']?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x2c1484[_0x10255a(0xd1)]});}catch(_0x2dc90c){this[_0x10255a(0x8d)]['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x2c042b['params'][_0x10255a(0x16a)],'error':_0x2dc90c[_0x10255a(0xf1)]}),_0x15a214[_0x10255a(0x17a)](0x1f4)['json']({'success':![],'error':_0x2dc90c['message']});}}),this['app'][_0x2a1d94(0xaa)]('/api/attachments/:fileId/import',async(_0x53ac9f,_0x67c15e)=>{const _0x3413f6=_0x2a1d94;try{const {fileId:_0x25399a}=_0x53ac9f[_0x3413f6(0x88)],{targetAgentId:_0x2716af}=_0x53ac9f['body'];if(!_0x2716af)return _0x67c15e['status'](0x190)['json']({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this['orchestrator']?.[_0x3413f6(0x183)])return _0x67c15e['status'](0x1f4)[_0x3413f6(0xe5)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x4ff145=await this['orchestrator']['fileAttachmentService']['importFromAgent'](_0x25399a,_0x2716af);this[_0x3413f6(0x8d)]['info']('Attachment imported',{'fileId':_0x25399a,'targetAgentId':_0x2716af}),_0x67c15e['json']({'success':!![],'attachment':_0x4ff145});}catch(_0x3c939f){this['logger'][_0x3413f6(0x127)]('Failed to import attachment',{'fileId':_0x53ac9f[_0x3413f6(0x88)][_0x3413f6(0x16a)],'error':_0x3c939f['message']}),_0x67c15e['status'](0x1f4)[_0x3413f6(0xe5)]({'success':![],'error':_0x3c939f['message']});}}),this['app'][_0x2a1d94(0x8e)](_0x2a1d94(0x138),async(_0x520a23,_0x42b986)=>{const _0xe27280=_0x2a1d94;try{const {fileId:_0x200d88}=_0x520a23[_0xe27280(0x88)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x42b986['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x4e86c2=await this['orchestrator'][_0xe27280(0x183)][_0xe27280(0x103)](_0x200d88);if(!_0x4e86c2)return _0x42b986['status'](0x194)[_0xe27280(0xe5)]({'success':![],'error':'Attachment\x20not\x20found'});_0x42b986['json']({'success':!![],'preview':_0x4e86c2});}catch(_0x4ab68d){this[_0xe27280(0x8d)][_0xe27280(0x127)](_0xe27280(0xd0),{'fileId':_0x520a23['params'][_0xe27280(0x16a)],'error':_0x4ab68d[_0xe27280(0xf1)]}),_0x42b986['status'](0x1f4)['json']({'success':![],'error':_0x4ab68d['message']});}}),this[_0x2a1d94(0x101)][_0x2a1d94(0x8e)](_0x2a1d94(0xf0),async(_0x3123b6,_0x5ad017)=>{const _0x5275a2=_0x2a1d94;try{const {sessionId:_0x1f8f24,filename:_0x51bd2e}=_0x3123b6['params'],_0x34cb6f=this['sessions']['get'](_0x1f8f24);if(!_0x34cb6f)return _0x5ad017[_0x5275a2(0x17a)](HTTP_STATUS['FORBIDDEN'])['json']({'success':![],'error':_0x5275a2(0x15c)});const _0x3d2c71=a0_0x4a1d5d['basename'](_0x51bd2e);if(_0x3d2c71!==_0x51bd2e||_0x51bd2e['includes']('..')||_0x51bd2e['includes']('/')||_0x51bd2e[_0x5275a2(0x140)]('\x5c'))return _0x5ad017['status'](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':'Invalid\x20filename'});let _0x27c235=null;const _0x19921e=[a0_0x4a1d5d[_0x5275a2(0xae)](_0x34cb6f[_0x5275a2(0x15b)]||process[_0x5275a2(0xe6)](),'images',_0x3d2c71),a0_0x4a1d5d['join']('/tmp/loxia-images',_0x1f8f24,_0x3d2c71),a0_0x4a1d5d['join'](_0x5275a2(0xb3),_0x3d2c71)];if(this['orchestrator']?.[_0x5275a2(0xb6)])try{const _0x2d1cd8=await this[_0x5275a2(0x149)]['agentPool'][_0x5275a2(0x129)]();for(const _0x33f310 of _0x2d1cd8){_0x33f310['directoryAccess']?.['workingDirectory']&&_0x19921e[_0x5275a2(0xdc)](a0_0x4a1d5d[_0x5275a2(0xae)](_0x33f310[_0x5275a2(0xf7)]['workingDirectory'],'images',_0x3d2c71));}}catch(_0x3f0c1a){this[_0x5275a2(0x8d)]['warn'](_0x5275a2(0x14d),{'error':_0x3f0c1a['message']});}for(const _0x116577 of _0x19921e){try{const _0x5cb0d8=await a0_0x8343c3[_0x5275a2(0x17f)](_0x116577);if(_0x5cb0d8['isFile']()){_0x27c235=_0x116577,this[_0x5275a2(0x8d)]['info']('Image\x20found',{'filename':_0x3d2c71,'path':_0x27c235,'sessionId':_0x1f8f24});break;}}catch(_0x1e610c){continue;}}if(!_0x27c235)return this[_0x5275a2(0x8d)]['warn'](_0x5275a2(0xc9),{'filename':_0x3d2c71,'sessionId':_0x1f8f24,'searchPaths':_0x19921e}),_0x5ad017['status'](HTTP_STATUS[_0x5275a2(0x15a)])['json']({'success':![],'error':_0x5275a2(0x184)});_0x5ad017['sendFile'](_0x27c235,_0x4c7cbb=>{const _0x48f38d=_0x5275a2;_0x4c7cbb?(this[_0x48f38d(0x8d)][_0x48f38d(0x127)](_0x48f38d(0x102),{'error':_0x4c7cbb['message'],'imagePath':_0x27c235,'filename':_0x3d2c71}),!_0x5ad017['headersSent']&&_0x5ad017['status'](HTTP_STATUS[_0x48f38d(0x107)])['json']({'success':![],'error':_0x48f38d(0x116)})):this['logger']['info'](_0x48f38d(0xec),{'filename':_0x3d2c71,'path':_0x27c235,'sessionId':_0x1f8f24});});}catch(_0x59c944){this[_0x5275a2(0x8d)][_0x5275a2(0x127)](_0x5275a2(0x117),{'error':_0x59c944['message'],'sessionId':_0x3123b6[_0x5275a2(0x88)][_0x5275a2(0x11b)],'filename':_0x3123b6[_0x5275a2(0x88)][_0x5275a2(0x14f)]}),_0x5ad017['status'](HTTP_STATUS[_0x5275a2(0x107)])[_0x5275a2(0xe5)]({'success':![],'error':_0x59c944['message']});}}),this['app']['post']('/api/agents/:agentId/mode',async(_0x4effbb,_0x327bb7)=>{const _0x1d45eb=_0x2a1d94;try{const {agentId:_0x4bc873}=_0x4effbb['params'],{mode:_0xb4799f,lockMode:lockMode=![],sessionId:_0x280859}=_0x4effbb[_0x1d45eb(0x115)];if(!Object[_0x1d45eb(0x112)](AGENT_MODES)[_0x1d45eb(0x140)](_0xb4799f))return _0x327bb7[_0x1d45eb(0x17a)](0x190)['json']({'success':![],'error':_0x1d45eb(0xde)+Object[_0x1d45eb(0x112)](AGENT_MODES)[_0x1d45eb(0xae)](',\x20')});const _0x188821=_0x280859||_0x4effbb['sessionID'];!_0x188821&&this['logger']['warn']('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0x4bc873,'hasBodySessionId':!!_0x280859,'hasReqSessionId':!!_0x4effbb['sessionID']});const _0x34756b={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x188821,'action':_0x1d45eb(0x13d),'payload':{'agentId':_0x4bc873,'updates':{'mode':_0xb4799f}}},_0x39d267=await this['orchestrator'][_0x1d45eb(0x148)](_0x34756b);if(_0x39d267[_0x1d45eb(0x15e)]){const _0x380e86=_0x39d267['data'];this['logger']['info']('Agent\x20mode\x20updated:\x20'+_0x4bc873,{'newMode':_0xb4799f,'lockMode':lockMode,'finalMode':_0x380e86?.[_0x1d45eb(0xf8)]}),this[_0x1d45eb(0xaf)](_0x34756b[_0x1d45eb(0x11b)],{'type':'agent_mode_changed','agentId':_0x4bc873,'mode':_0x380e86?.[_0x1d45eb(0xf8)],'modeState':_0x380e86?.['modeState']}),_0x327bb7['json']({'success':!![],'agent':_0x380e86,'message':'Agent\x20mode\x20switched\x20to\x20'+_0x380e86?.[_0x1d45eb(0xf8)]});}else _0x327bb7['status'](0x190)[_0x1d45eb(0xe5)]({'success':![],'error':_0x39d267[_0x1d45eb(0x127)]||_0x1d45eb(0xa2)});}catch(_0x1307d0){this['logger'][_0x1d45eb(0x127)](_0x1d45eb(0xa2),{'agentId':_0x4effbb['params'][_0x1d45eb(0x154)],'error':_0x1307d0['message']}),_0x327bb7['status'](0x1f4)['json']({'success':![],'error':_0x1307d0['message']});}}),this['app'][_0x2a1d94(0xaa)](_0x2a1d94(0x181),async(_0x1beda0,_0x2550b9)=>{const _0x367248=_0x2a1d94;try{const {agentId:_0x4457e6}=_0x1beda0[_0x367248(0x88)],_0x252f68=this['orchestrator']['messageProcessor'];if(!_0x252f68)return _0x2550b9['status'](0x1f4)['json']({'success':![],'error':_0x367248(0x10f)});const _0x153477=await _0x252f68['stopAutonomousExecution'](_0x4457e6);this['logger']['info'](_0x367248(0xbe)+_0x4457e6);const _0x190ae7=_0x1beda0['sessionID']||_0x153477['agent']?.['sessionId'];_0x190ae7&&this['broadcastToSession'](_0x190ae7,{'type':'agent_mode_changed','agentId':_0x4457e6,'mode':_0x153477[_0x367248(0xd7)]?.[_0x367248(0xf8)],'modeState':_0x153477['agent']?.['modeState']}),_0x2550b9[_0x367248(0xe5)](_0x153477);}catch(_0x24ece1){this[_0x367248(0x8d)][_0x367248(0x127)](_0x367248(0x122),{'agentId':_0x1beda0[_0x367248(0x88)][_0x367248(0x154)],'error':_0x24ece1[_0x367248(0xf1)]}),_0x2550b9[_0x367248(0x17a)](0x1f4)[_0x367248(0xe5)]({'success':![],'error':_0x24ece1[_0x367248(0xf1)]});}}),this[_0x2a1d94(0x101)][_0x2a1d94(0x8e)]('/api/agents/:agentId/mode',async(_0x1f835a,_0x4f6928)=>{const _0x406b7d=_0x2a1d94;try{const {agentId:_0x22ffc8}=_0x1f835a[_0x406b7d(0x88)],_0x74bd3={'interface':INTERFACE_TYPES[_0x406b7d(0x142)],'sessionId':_0x1f835a[_0x406b7d(0x17e)],'action':'get_agent_status','payload':{'agentId':_0x22ffc8}},_0x42ae20=await this[_0x406b7d(0x149)][_0x406b7d(0x148)](_0x74bd3);_0x42ae20[_0x406b7d(0x15e)]&&_0x42ae20[_0x406b7d(0xd7)]?_0x4f6928[_0x406b7d(0xe5)]({'success':!![],'mode':_0x42ae20[_0x406b7d(0xd7)]['mode'],'modeState':_0x42ae20[_0x406b7d(0xd7)][_0x406b7d(0x114)],'currentTask':_0x42ae20['agent']['currentTask'],'iterationCount':_0x42ae20['agent']['iterationCount'],'taskStartTime':_0x42ae20[_0x406b7d(0xd7)][_0x406b7d(0xed)],'stopRequested':_0x42ae20[_0x406b7d(0xd7)]['stopRequested']}):_0x4f6928['status'](0x194)['json']({'success':![],'error':'Agent\x20not\x20found'});}catch(_0x2f0a16){this[_0x406b7d(0x8d)][_0x406b7d(0x127)](_0x406b7d(0x87),{'agentId':_0x1f835a[_0x406b7d(0x88)][_0x406b7d(0x154)],'error':_0x2f0a16['message']}),_0x4f6928['status'](0x1f4)['json']({'success':![],'error':_0x2f0a16['message']});}}),this['app'][_0x2a1d94(0x8e)]('/api/agents/available',async(_0x36bc5c,_0x4e879b)=>{const _0x4fd95d=_0x2a1d94;try{const _0x2ab44c=this['orchestrator']['config']['project']?.['directory']||process['cwd'](),_0xc7577d=await this['orchestrator']['stateManager']['getAllAvailableAgents'](_0x2ab44c,this[_0x4fd95d(0x149)][_0x4fd95d(0xb6)]);_0x4e879b[_0x4fd95d(0xe5)]({'success':!![],'agents':_0xc7577d,'total':_0xc7577d[_0x4fd95d(0x12f)],'active':_0xc7577d[_0x4fd95d(0xc5)](_0x4f3da3=>_0x4f3da3[_0x4fd95d(0x137)])['length'],'archived':_0xc7577d[_0x4fd95d(0xc5)](_0x1e7997=>!_0x1e7997[_0x4fd95d(0x137)])['length']});}catch(_0x4d8b09){this[_0x4fd95d(0x8d)]['error']('Failed\x20to\x20get\x20available\x20agents',{'error':_0x4d8b09['message'],'stack':_0x4d8b09[_0x4fd95d(0x17b)]}),_0x4e879b[_0x4fd95d(0x17a)](0x1f4)['json']({'success':![],'error':_0x4d8b09[_0x4fd95d(0xf1)]});}}),this[_0x2a1d94(0x101)][_0x2a1d94(0x8e)](_0x2a1d94(0x10d),async(_0x32b4d5,_0x13262a)=>{const _0x1b8d4b=_0x2a1d94;try{const {agentId:_0x61cfde}=_0x32b4d5['params'],_0x55462c=this['orchestrator']['config']['project']?.[_0x1b8d4b(0x163)]||process['cwd'](),_0x561352=await this['orchestrator']['stateManager'][_0x1b8d4b(0xe1)](_0x61cfde,_0x55462c);_0x13262a['json']({'success':!![],'metadata':_0x561352});}catch(_0x4366f2){this['logger'][_0x1b8d4b(0x127)](_0x1b8d4b(0x160),{'agentId':_0x32b4d5['params'][_0x1b8d4b(0x154)],'error':_0x4366f2[_0x1b8d4b(0xf1)]}),_0x13262a['status'](0x194)['json']({'success':![],'error':_0x4366f2[_0x1b8d4b(0xf1)]});}}),this[_0x2a1d94(0x101)]['post']('/api/agents/import',async(_0xb9314b,_0x432fae)=>{const _0xd2b39c=_0x2a1d94;try{const {agentId:_0x1ee4fb}=_0xb9314b['body'];if(!_0x1ee4fb)return _0x432fae['status'](0x190)[_0xd2b39c(0xe5)]({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0x3abd00=this['orchestrator'][_0xd2b39c(0xf4)][_0xd2b39c(0x11d)]?.[_0xd2b39c(0x163)]||process['cwd'](),_0x2175ad=await this[_0xd2b39c(0x149)]['stateManager']['importArchivedAgent'](_0x1ee4fb,_0x3abd00,this['orchestrator']['agentPool']);this[_0xd2b39c(0xac)]&&this['wsManager']['broadcast']({'type':'agent-imported','agent':{'id':_0x2175ad['id'],'name':_0x2175ad[_0xd2b39c(0xa1)],'status':_0x2175ad['status'],'capabilities':_0x2175ad[_0xd2b39c(0xef)],'model':_0x2175ad['currentModel']||_0x2175ad['preferredModel']}}),this[_0xd2b39c(0x8d)][_0xd2b39c(0x14b)]('Agent imported successfully',{'agentId':_0x2175ad['id'],'name':_0x2175ad[_0xd2b39c(0xa1)]}),_0x432fae[_0xd2b39c(0xe5)]({'success':!![],'agent':{'id':_0x2175ad['id'],'name':_0x2175ad[_0xd2b39c(0xa1)],'status':_0x2175ad[_0xd2b39c(0x17a)],'model':_0x2175ad[_0xd2b39c(0x145)]||_0x2175ad['preferredModel'],'capabilities':_0x2175ad['capabilities'],'lastActivity':_0x2175ad['lastActivity']},'message':'Agent\x20'+_0x2175ad[_0xd2b39c(0xa1)]+'\x20imported\x20successfully'});}catch(_0x25e7f6){this['logger'][_0xd2b39c(0x127)]('Failed to import agent',{'agentId':_0xb9314b[_0xd2b39c(0x115)]['agentId'],'error':_0x25e7f6[_0xd2b39c(0xf1)],'stack':_0x25e7f6['stack']});const _0x3dd01d=_0x25e7f6['message'][_0xd2b39c(0x140)](_0xd2b39c(0x179))?0x199:_0x25e7f6[_0xd2b39c(0xf1)]['includes'](_0xd2b39c(0x12c))?0x194:_0x25e7f6[_0xd2b39c(0xf1)]['includes']('Invalid')?0x190:0x1f4;_0x432fae['status'](_0x3dd01d)[_0xd2b39c(0xe5)]({'success':![],'error':_0x25e7f6['message']});}}),this[_0x2a1d94(0x101)][_0x2a1d94(0x8e)]('*',(_0x1632fd,_0x14ca35)=>{const _0x5110c9=a0_0x4a1d5d['join'](__dirname,'../../web-ui/build/index.html');_0x14ca35['sendFile'](_0x5110c9,_0xf06aae=>{const _0x19ca5e=a0_0x30c0;_0xf06aae&&_0x14ca35[_0x19ca5e(0x17a)](HTTP_STATUS[_0x19ca5e(0x15a)])[_0x19ca5e(0xa9)]('Web\x20UI\x20not\x20built.\x20Run:\x20npm\x20run\x20build:ui');});});}[a0_0x350b36(0xc1)](){const _0x27790f=a0_0x350b36;this['logger'][_0x27790f(0x14b)](_0x27790f(0x176),{'port':this['port'],'host':this[_0x27790f(0x11f)],'wsServerExists':!!this[_0x27790f(0xe2)],'httpServerExists':!!this['server']}),this[_0x27790f(0xe2)]['on']('error',_0x147df6=>{const _0x3ab548=_0x27790f;this['logger']['error']('WebSocket\x20server\x20error:',{'error':_0x147df6[_0x3ab548(0xf1)],'stack':_0x147df6[_0x3ab548(0x17b)],'port':this[_0x3ab548(0xbf)]});}),this[_0x27790f(0xe2)]['on'](_0x27790f(0x111),()=>{const _0x540ae3=_0x27790f;this['logger']['info'](_0x540ae3(0xd4),{'port':this[_0x540ae3(0xbf)],'host':this[_0x540ae3(0x11f)]});}),this['wss']['on']('connection',(_0x34501e,_0xfc31cf)=>{const _0x33e63e=_0x27790f,_0x5d47b2=_0x33e63e(0xd9)+Date['now']()+'-'+Math[_0x33e63e(0x8f)]()[_0x33e63e(0xc0)](0x24)[_0x33e63e(0x159)](0x2,0x9);this[_0x33e63e(0x8d)]['info']('WebSocket\x20connection\x20established',{'connectionId':_0x5d47b2,'ip':_0xfc31cf[_0x33e63e(0xa4)]['remoteAddress'],'origin':_0xfc31cf[_0x33e63e(0xca)]['origin'],'host':_0xfc31cf[_0x33e63e(0xca)][_0x33e63e(0x11f)],'userAgent':_0xfc31cf['headers']['user-agent'],'url':_0xfc31cf['url']});const _0x5ea67a={'id':_0x5d47b2,'ws':_0x34501e,'sessionId':null,'connectedAt':new Date()[_0x33e63e(0x8c)](),'lastActivity':new Date()['toISOString']()};this['connections'][_0x33e63e(0x174)](_0x5d47b2,_0x5ea67a),_0x34501e['on']('message',async _0x340ae6=>{const _0x2e2c7d=_0x33e63e;try{const _0x161498=JSON['parse'](_0x340ae6[_0x2e2c7d(0xc0)]());await this[_0x2e2c7d(0x11e)](_0x5d47b2,_0x161498);}catch(_0x489941){this[_0x2e2c7d(0x8d)][_0x2e2c7d(0x127)]('WebSocket\x20message\x20error',{'connectionId':_0x5d47b2,'error':_0x489941[_0x2e2c7d(0xf1)]}),_0x34501e['send'](JSON[_0x2e2c7d(0xb9)]({'type':'error','error':_0x489941['message']}));}}),_0x34501e['on'](_0x33e63e(0xf3),()=>{const _0x430928=_0x33e63e;this[_0x430928(0x8d)]['info']('WebSocket\x20connection\x20closed',{'connectionId':_0x5d47b2}),this[_0x430928(0x172)]['delete'](_0x5d47b2);}),_0x34501e[_0x33e63e(0xa9)](JSON['stringify']({'type':'connected','connectionId':_0x5d47b2,'timestamp':new Date()[_0x33e63e(0x8c)]()}));});}async[a0_0x350b36(0x11e)](_0x3e6e88,_0x15c343){const _0x1f5e90=a0_0x350b36,_0x22329f=this['connections'][_0x1f5e90(0x8e)](_0x3e6e88);if(!_0x22329f)return;_0x22329f['lastActivity']=new Date()['toISOString']();switch(_0x15c343['type']){case'join_session':const _0x167fc9=_0x15c343[_0x1f5e90(0x11b)];_0x22329f[_0x1f5e90(0x11b)]=_0x167fc9,this['logger'][_0x1f5e90(0x14b)]('WebSocket\x20joined\x20session',{'connectionId':_0x3e6e88,'sessionId':_0x167fc9,'totalConnectionsForSession':Array['from'](this['connections']['values']())[_0x1f5e90(0xc5)](_0x33b6d1=>_0x33b6d1['sessionId']===_0x167fc9)[_0x1f5e90(0x12f)]}),_0x22329f['ws'][_0x1f5e90(0xa9)](JSON['stringify']({'type':'session_joined','sessionId':_0x167fc9}));break;case _0x1f5e90(0x14e):_0x22329f['ws'][_0x1f5e90(0xa9)](JSON[_0x1f5e90(0xb9)]({'type':_0x1f5e90(0xc6),'timestamp':new Date()['toISOString']()}));break;case'orchestrator_request':try{const _0x359fab={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x22329f[_0x1f5e90(0x11b)],'action':_0x15c343[_0x1f5e90(0xb5)],'payload':_0x15c343[_0x1f5e90(0xe4)],'projectDir':_0x15c343['projectDir']||process['cwd']()},_0x7d1e8d=await this['orchestrator'][_0x1f5e90(0x148)](_0x359fab);_0x22329f['ws']['send'](JSON[_0x1f5e90(0xb9)]({'type':'orchestrator_response','requestId':_0x15c343['requestId'],'response':_0x7d1e8d}));}catch(_0x2f808c){_0x22329f['ws'][_0x1f5e90(0xa9)](JSON['stringify']({'type':_0x1f5e90(0x127),'requestId':_0x15c343[_0x1f5e90(0x90)],'error':_0x2f808c['message']}));}break;default:this['logger'][_0x1f5e90(0xcc)](_0x1f5e90(0xdf),{'connectionId':_0x3e6e88,'type':_0x15c343['type']});}}[a0_0x350b36(0xaf)](_0x59ceb9,_0xc51bd8){const _0x5e07f9=a0_0x350b36,_0x977573=Array['from'](this['connections']['values']())['filter'](_0x164e8d=>_0x164e8d[_0x5e07f9(0x11b)]===_0x59ceb9);let _0x17d533=[];_0x977573[_0x5e07f9(0x12f)]===0x0&&(_0x17d533=Array['from'](this['connections'][_0x5e07f9(0x112)]()),this['logger']?.['warn']('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x59ceb9,'totalConnections':this['connections'][_0x5e07f9(0x168)],'allSessionIds':Array[_0x5e07f9(0xc4)](this[_0x5e07f9(0x172)][_0x5e07f9(0x112)]())[_0x5e07f9(0x12d)](_0x2c8084=>_0x2c8084[_0x5e07f9(0x11b)])['filter'](Boolean)}));const _0x34d215=_0x977573['length']>0x0?_0x977573:_0x17d533;this[_0x5e07f9(0x8d)]?.['info'](_0x5e07f9(0x109),{'sessionId':_0x59ceb9,'messageType':_0xc51bd8[_0x5e07f9(0x89)],'agentId':_0xc51bd8['agentId'],'totalConnections':this[_0x5e07f9(0x172)]['size'],'sessionConnections':_0x977573['length'],'targetConnections':_0x34d215['length'],'connectionIds':_0x34d215['map'](_0x4ecaff=>_0x4ecaff['id']),'usingFallback':_0x977573[_0x5e07f9(0x12f)]===0x0,'messagePreview':_0xc51bd8['type']===_0x5e07f9(0x95)&&_0xc51bd8['message']?{'messageId':_0xc51bd8['message']['id'],'messageRole':_0xc51bd8['message'][_0x5e07f9(0x12b)],'contentLength':_0xc51bd8['message']['content']?.[_0x5e07f9(0x12f)],'hasToolResults':!!_0xc51bd8['message'][_0x5e07f9(0x178)]}:undefined});for(const _0x25fa94 of _0x34d215){try{const _0x1175aa={..._0xc51bd8,'timestamp':new Date()[_0x5e07f9(0x8c)]()};_0x25fa94['ws']['send'](JSON['stringify'](_0x1175aa)),this['logger']?.[_0x5e07f9(0x14b)](_0x5e07f9(0xd5),{'connectionId':_0x25fa94['id'],'messageType':_0xc51bd8['type'],'agentId':_0xc51bd8[_0x5e07f9(0x154)]});}catch(_0x244eaa){this[_0x5e07f9(0x8d)]['warn']('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x25fa94['id'],'sessionId':_0x59ceb9,'messageType':_0xc51bd8['type'],'error':_0x244eaa[_0x5e07f9(0xf1)]});}}}async['startServer'](){return new Promise((_0x3fdf31,_0x307eda)=>{const _0x4bd237=a0_0x30c0;this['server']['listen'](this['port'],this['host'],_0x4e301a=>{const _0x432301=a0_0x30c0;_0x4e301a?(this[_0x432301(0x8d)]['error']('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0x4e301a['message'],'port':this['port'],'host':this[_0x432301(0x11f)]}),_0x307eda(_0x4e301a)):(this['isRunning']=!![],this[_0x432301(0x8d)][_0x432301(0x14b)]('HTTP\x20server\x20started\x20successfully',{'port':this['port'],'host':this[_0x432301(0x11f)],'httpUrl':'http://'+this['host']+':'+this['port'],'wsUrl':_0x432301(0x182)+this[_0x432301(0x11f)]+':'+this[_0x432301(0xbf)],'wsServerAttached':!!this[_0x432301(0xe2)],'wsConnections':this[_0x432301(0x172)]['size']}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x3fdf31());}),this[_0x4bd237(0x128)]['on']('error',_0x120115=>{const _0x3483b8=_0x4bd237;this[_0x3483b8(0x8d)][_0x3483b8(0x127)](_0x3483b8(0xdd),{'error':_0x120115[_0x3483b8(0xf1)],'stack':_0x120115['stack'],'port':this[_0x3483b8(0xbf)]});});});}async[a0_0x350b36(0x16f)](){const _0x5ab36f=a0_0x350b36;try{const {default:_0x34d1a3}=await import('ws'),_0x6bd449=new _0x34d1a3(_0x5ab36f(0xb4)+this[_0x5ab36f(0xbf)]);_0x6bd449['on']('open',()=>{const _0x266e23=_0x5ab36f;this[_0x266e23(0x8d)][_0x266e23(0x14b)](_0x266e23(0x13f),{'port':this[_0x266e23(0xbf)],'url':_0x266e23(0xb4)+this['port']}),_0x6bd449[_0x266e23(0xf3)]();}),_0x6bd449['on'](_0x5ab36f(0x127),_0x147fbe=>{const _0x38bd4a=_0x5ab36f;this['logger'][_0x38bd4a(0x127)]('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this['port'],'url':'ws://localhost:'+this[_0x38bd4a(0xbf)],'error':_0x147fbe['message'],'code':_0x147fbe[_0x38bd4a(0x12a)]});}),_0x6bd449['on']('close',(_0x220dec,_0x1787cc)=>{const _0x52cc19=_0x5ab36f;_0x220dec===0x3e8&&this[_0x52cc19(0x8d)]['info']('WebSocket\x20test\x20connection\x20closed\x20cleanly');}),setTimeout(()=>{const _0x47e432=_0x5ab36f;_0x6bd449['readyState']===_0x34d1a3['CONNECTING']&&(this[_0x47e432(0x8d)][_0x47e432(0x127)](_0x47e432(0x186),{'port':this[_0x47e432(0xbf)],'url':'ws://localhost:'+this['port'],'readyState':_0x6bd449[_0x47e432(0x130)]}),_0x6bd449[_0x47e432(0x136)]());},0x1388);}catch(_0x58f311){this['logger'][_0x5ab36f(0x127)](_0x5ab36f(0xb7),{'error':_0x58f311[_0x5ab36f(0xf1)],'stack':_0x58f311[_0x5ab36f(0x17b)]});}}['setApiKeyManager'](_0x1413fb){const _0x159255=a0_0x350b36;this['apiKeyManager']=_0x1413fb,this['logger']?.[_0x159255(0x14b)](_0x159255(0x10c),{'hasManager':!!_0x1413fb});}[a0_0x350b36(0x17c)](_0x3ff57d){const _0x5381d1=a0_0x350b36;if(!_0x3ff57d)return null;const _0x229ab5=_0x3ff57d['toLowerCase']();if(_0x229ab5['includes']('anthropic')||_0x229ab5['includes'](_0x5381d1(0x150)))return _0x5381d1(0x151);else{if(_0x229ab5[_0x5381d1(0x140)](_0x5381d1(0xce))||_0x229ab5['includes']('gpt'))return _0x5381d1(0xce);else{if(_0x229ab5['includes'](_0x5381d1(0xa6)))return'deepseek';else{if(_0x229ab5[_0x5381d1(0x140)](_0x5381d1(0x113)))return _0x5381d1(0x157);}}}return null;}['getStatus'](){const _0x213f3d=a0_0x350b36;return{'isRunning':this[_0x213f3d(0xdb)],'port':this[_0x213f3d(0xbf)],'host':this['host'],'connections':this[_0x213f3d(0x172)]['size'],'sessions':this[_0x213f3d(0xe8)][_0x213f3d(0x168)],'url':_0x213f3d(0x132)+this[_0x213f3d(0x11f)]+':'+this['port']};}async[a0_0x350b36(0x8a)](){const _0x821ca6=a0_0x350b36;if(!this[_0x821ca6(0xdb)])return;this['logger']['info'](_0x821ca6(0x173));for(const _0x6be829 of this[_0x821ca6(0x172)]['values']()){_0x6be829['ws'][_0x821ca6(0xf3)]();}return this['connections']['clear'](),this['wss']['close'](),new Promise(_0xb22277=>{const _0x4d3857=_0x821ca6;this[_0x4d3857(0x128)][_0x4d3857(0xf3)](()=>{const _0x277a2a=_0x4d3857;this['isRunning']=![],this[_0x277a2a(0x8d)][_0x277a2a(0x14b)]('Web\x20server\x20shutdown\x20complete'),_0xb22277();});});}}export default WebServer;if(import.meta.url==='file://'+process['argv'][0x1]){const simpleLogger={'info':(_0xa1265b,_0x456fbf)=>console[a0_0x350b36(0xfe)]('[INFO]\x20'+_0xa1265b,_0x456fbf?JSON[a0_0x350b36(0xb9)](_0x456fbf,null,0x2):''),'error':(_0x44cf99,_0x577b01)=>console[a0_0x350b36(0x127)](a0_0x350b36(0x146)+_0x44cf99,_0x577b01?JSON['stringify'](_0x577b01,null,0x2):''),'warn':(_0x443cec,_0x225ee5)=>console['warn'](a0_0x350b36(0x11a)+_0x443cec,_0x225ee5?JSON[a0_0x350b36(0xb9)](_0x225ee5,null,0x2):''),'debug':(_0x2a6b6c,_0x44a3e2)=>console['log']('[DEBUG]\x20'+_0x2a6b6c,_0x44a3e2?JSON[a0_0x350b36(0xb9)](_0x44a3e2,null,0x2):'')},mockOrchestrator={'processAction':async(_0x21954b,_0x2d2cb9)=>{const _0x35265e=a0_0x350b36;simpleLogger['info']('Mock\x20orchestrator\x20action',{'action':_0x21954b,'data':_0x2d2cb9});switch(_0x21954b){case ORCHESTRATOR_ACTIONS[_0x35265e(0x9f)]:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x35265e(0xa0)]:return{'success':!![],'data':{'id':'agent-'+Date[_0x35265e(0x8b)](),'name':_0x2d2cb9['name']||_0x35265e(0xfd),'status':_0x35265e(0x92),'model':_0x2d2cb9[_0x35265e(0xbb)]||'anthropic-sonnet','systemPrompt':_0x2d2cb9[_0x35265e(0xe3)]||_0x35265e(0xa8)}};case ORCHESTRATOR_ACTIONS[_0x35265e(0xff)]:return{'success':!![],'data':{'message':{'id':_0x35265e(0x124)+Date['now'](),'content':'Echo:\x20'+_0x2d2cb9['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':'Unknown\x20action:\x20'+_0x21954b};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':a0_0x350b36(0x105)});console[a0_0x350b36(0xfe)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server[a0_0x350b36(0xcb)]()[a0_0x350b36(0x141)](()=>{const _0x42eb9a=a0_0x350b36,_0x8ae68e=server[_0x42eb9a(0x9e)]();console[_0x42eb9a(0xfe)](_0x42eb9a(0x166)+_0x8ae68e[_0x42eb9a(0xab)]),console[_0x42eb9a(0xfe)](_0x42eb9a(0x16d)),console[_0x42eb9a(0xfe)]('🔧\x20API\x20available\x20at:\x20http://localhost:8080/api');})['catch'](_0xdb0813=>{const _0x564671=a0_0x350b36;console[_0x564671(0x127)]('❌\x20Failed\x20to\x20start\x20web\x20server:',_0xdb0813[_0x564671(0xf1)]),process['exit'](0x1);}),process['on']('SIGINT',async()=>{const _0x481ea6=a0_0x350b36;console[_0x481ea6(0xfe)](_0x481ea6(0x123)),await server['shutdown'](),process['exit'](0x0);});}
@@ -1 +1 @@
1
- const a0_0xa221ca=a0_0x3481;(function(_0x6b30dc,_0x3d6da7){const _0x2b238b=a0_0x3481,_0x4cf1f3=_0x6b30dc();while(!![]){try{const _0x2fc684=-parseInt(_0x2b238b(0x18c))/0x1*(parseInt(_0x2b238b(0x16d))/0x2)+-parseInt(_0x2b238b(0x17d))/0x3*(-parseInt(_0x2b238b(0x189))/0x4)+-parseInt(_0x2b238b(0x17b))/0x5*(-parseInt(_0x2b238b(0x17a))/0x6)+parseInt(_0x2b238b(0x18f))/0x7+-parseInt(_0x2b238b(0x178))/0x8*(-parseInt(_0x2b238b(0x16a))/0x9)+parseInt(_0x2b238b(0x177))/0xa+parseInt(_0x2b238b(0x18d))/0xb*(-parseInt(_0x2b238b(0x180))/0xc);if(_0x2fc684===_0x3d6da7)break;else _0x4cf1f3['push'](_0x4cf1f3['shift']());}catch(_0x3b13b4){_0x4cf1f3['push'](_0x4cf1f3['shift']());}}}(a0_0x3618,0x74c2c));import{promises as a0_0x4df405}from'fs';import a0_0x4f743e from'path';import a0_0x4bd4d7 from'os';class FileExplorerController{constructor(_0x57e91d={}){const _0x437ddf=a0_0x3481;this[_0x437ddf(0x198)]={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x57e91d};}async['getFileStats'](_0x1db6d2){const _0x2dac8c=a0_0x3481;try{const _0x6cae74=await a0_0x4df405[_0x2dac8c(0x169)](_0x1db6d2);return{'stats':_0x6cae74};}catch(_0x4c2df7){return{'stats':null,'error':_0x4c2df7 instanceof Error?_0x4c2df7['message']:_0x2dac8c(0x18b)};}}[a0_0xa221ca(0x192)](_0x58ddb1){const _0x47abab=a0_0xa221ca;try{const _0x4f8de2=a0_0x4f743e[_0x47abab(0x190)](_0x58ddb1);if(this[_0x47abab(0x198)][_0x47abab(0x182)][_0x47abab(0x179)](_0x1feb14=>_0x4f8de2['startsWith'](a0_0x4f743e[_0x47abab(0x190)](_0x1feb14))))return![];return!![];}catch(_0x3238cd){return![];}}[a0_0xa221ca(0x16b)](_0x544b7b,_0x1eb190){const _0x13947d=a0_0xa221ca;if(!this[_0x13947d(0x198)][_0x13947d(0x16c)]&&_0x544b7b['startsWith']('.'))return![];if(_0x1eb190[_0x13947d(0x186)]()&&this['config'][_0x13947d(0x176)][_0x13947d(0x181)]>0x0){const _0xf77bb9=a0_0x4f743e['extname'](_0x544b7b)['toLowerCase']();if(!this['config']['allowedExtensions']['includes'](_0xf77bb9))return![];}return!![];}async['browseDirectory'](_0x33d528=process['cwd'](),_0x2e9734={}){const _0x7ae797=a0_0xa221ca;try{const _0x11635f=a0_0x4f743e[_0x7ae797(0x190)](_0x33d528);if(!this[_0x7ae797(0x192)](_0x11635f))return{'success':![],'error':'Access\x20to\x20this\x20path\x20is\x20restricted'};const {stats:_0x385777,error:_0x5e5c4c}=await this['getFileStats'](_0x11635f);if(_0x5e5c4c||!_0x385777)return{'success':![],'error':'Path\x20not\x20found\x20or\x20inaccessible'};if(!_0x385777['isDirectory']())return{'success':![],'error':_0x7ae797(0x171)};const _0xab586d=await a0_0x4df405['readdir'](_0x11635f),_0x34ef9a=[];for(const _0x1e99de of _0xab586d){const _0x36843a=a0_0x4f743e['join'](_0x11635f,_0x1e99de),{stats:_0xd615ed}=await this['getFileStats'](_0x36843a);if(_0xd615ed&&this['shouldIncludeItem'](_0x1e99de,_0xd615ed)){const _0x3c9f72={'name':_0x1e99de,'path':_0x36843a,'type':_0xd615ed['isDirectory']()?_0x7ae797(0x188):_0x7ae797(0x183),'size':_0xd615ed['isFile']()?_0xd615ed['size']:undefined,'lastModified':_0xd615ed[_0x7ae797(0x18a)],'extension':_0xd615ed[_0x7ae797(0x186)]()?a0_0x4f743e['extname'](_0x1e99de)[_0x7ae797(0x196)]():undefined};_0x34ef9a[_0x7ae797(0x170)](_0x3c9f72);}}_0x34ef9a['sort']((_0x57b342,_0x3259ea)=>{const _0x6fe682=_0x7ae797;if(_0x57b342['type']===_0x3259ea[_0x6fe682(0x185)])return _0x57b342[_0x6fe682(0x191)][_0x6fe682(0x197)](_0x3259ea[_0x6fe682(0x191)]);return _0x57b342[_0x6fe682(0x185)]===_0x6fe682(0x188)?-0x1:0x1;});const _0xca4b6c=a0_0x4f743e['dirname'](_0x11635f),_0xb93a41=_0xca4b6c!==_0x11635f;return{'success':!![],'data':{'currentPath':_0x11635f,'parentPath':_0xb93a41?_0xca4b6c:null,'items':_0x34ef9a,'totalItems':_0x34ef9a['length'],'directories':_0x34ef9a['filter'](_0x11d421=>_0x11d421['type']==='directory')['length'],'files':_0x34ef9a[_0x7ae797(0x187)](_0x44e360=>_0x44e360['type']==='file')[_0x7ae797(0x181)]}};}catch(_0x117c18){return{'success':![],'error':_0x117c18 instanceof Error?_0x117c18['message']:_0x7ae797(0x17e)};}}async[a0_0xa221ca(0x17f)](_0xc9297d){const _0x3cacf6=a0_0xa221ca;try{if(!_0xc9297d||!this['isSafePath'](_0xc9297d))return{'success':![],'error':_0x3cacf6(0x175)};const {stats:_0x1d368a,error:_0x6511ba}=await this['getFileStats'](_0xc9297d);if(_0x6511ba||!_0x1d368a)return{'success':![],'error':'File\x20not\x20found'};const _0xf1af5c={'name':a0_0x4f743e[_0x3cacf6(0x184)](_0xc9297d),'path':_0xc9297d,'type':_0x1d368a['isDirectory']()?'directory':'file','size':_0x1d368a['isFile']()?_0x1d368a[_0x3cacf6(0x195)]:undefined,'lastModified':_0x1d368a['mtime'],'extension':_0x1d368a[_0x3cacf6(0x186)]()?a0_0x4f743e['extname'](_0xc9297d)['toLowerCase']():undefined};return{'success':!![],'data':_0xf1af5c};}catch(_0x5a452a){return{'success':![],'error':_0x5a452a instanceof Error?_0x5a452a[_0x3cacf6(0x174)]:'Server\x20error'};}}[a0_0xa221ca(0x172)](){const _0x49a15f=a0_0xa221ca;return{'success':!![],'data':{'cwd':process[_0x49a15f(0x173)](),'platform':process[_0x49a15f(0x193)],'homedir':a0_0x4bd4d7[_0x49a15f(0x17c)]()}};}async[a0_0xa221ca(0x18e)](_0x16c529,_0x434dd2={}){const _0x23e076=a0_0xa221ca;try{if(!this['isSafePath'](_0x16c529))return{'success':![],'error':'Invalid\x20directory\x20path'};return await a0_0x4df405['mkdir'](_0x16c529,{'recursive':_0x434dd2[_0x23e076(0x16e)]||![]}),{'success':!![],'data':{'path':_0x16c529,'relativePath':a0_0x4f743e['relative'](process[_0x23e076(0x173)](),_0x16c529)}};}catch(_0x3de054){return{'success':![],'error':_0x3de054 instanceof Error?_0x3de054['message']:'Failed\x20to\x20create\x20directory','code':_0x3de054['code']};}}['healthCheck'](){const _0x385826=a0_0xa221ca;return{'success':!![],'data':{'status':_0x385826(0x194),'timestamp':new Date()[_0x385826(0x16f)](),'module':'fileExplorer'}};}}function a0_0x3481(_0x477695,_0x3c48a8){_0x477695=_0x477695-0x169;const _0x36183c=a0_0x3618();let _0x3481dd=_0x36183c[_0x477695];if(a0_0x3481['UTQqUA']===undefined){var _0x1285e2=function(_0x11d1b9){const _0x15bbe0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4df405='',_0x4f743e='';for(let _0x4bd4d7=0x0,_0x57e91d,_0x1db6d2,_0x6cae74=0x0;_0x1db6d2=_0x11d1b9['charAt'](_0x6cae74++);~_0x1db6d2&&(_0x57e91d=_0x4bd4d7%0x4?_0x57e91d*0x40+_0x1db6d2:_0x1db6d2,_0x4bd4d7++%0x4)?_0x4df405+=String['fromCharCode'](0xff&_0x57e91d>>(-0x2*_0x4bd4d7&0x6)):0x0){_0x1db6d2=_0x15bbe0['indexOf'](_0x1db6d2);}for(let _0x4c2df7=0x0,_0x58ddb1=_0x4df405['length'];_0x4c2df7<_0x58ddb1;_0x4c2df7++){_0x4f743e+='%'+('00'+_0x4df405['charCodeAt'](_0x4c2df7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f743e);};a0_0x3481['Stzahe']=_0x1285e2,a0_0x3481['sTxgbM']={},a0_0x3481['UTQqUA']=!![];}const _0x535f1a=_0x36183c[0x0],_0x5ec574=_0x477695+_0x535f1a,_0x12fa50=a0_0x3481['sTxgbM'][_0x5ec574];return!_0x12fa50?(_0x3481dd=a0_0x3481['Stzahe'](_0x3481dd),a0_0x3481['sTxgbM'][_0x5ec574]=_0x3481dd):_0x3481dd=_0x12fa50,_0x3481dd;}function a0_0x3618(){const _0x1c3d6d=['mZCXotuYmgr1CuDrDq','CMvZB2X2zq','BMfTzq','AxntywzLugf0Aa','CgXHDgzVCM0','AgvHBhrOEq','C2L6zq','Dg9mB3DLCKnHC2u','Bg9JywXLq29TCgfYzq','y29UzMLN','C3rHDa','mJaZmJjArvLkuK4','C2HVDwXKsw5JBhvKzuL0zw0','C2HVD0HPzgrLBG','mJK0DgreBfjh','CMvJDxjZAxzL','Dg9ju09tDhjPBMC','ChvZAa','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','y3DK','BwvZC2fNzq','sw52ywXPzcbMAwXLihbHDgG','ywXSB3DLzev4DgvUC2LVBNm','odK0mdCWtM9OwffK','mtK5mKjMD0zgEG','C29Tzq','mJa0DKL5EMLN','nJiXodvtvgPXyva','Ag9TzwrPCG','m1fAEhDqvG','u2vYDMvYigvYCM9Y','z2v0rMLSzuLUzM8','nJy0mdC1mNfTtNvQuG','BgvUz3rO','CMvZDhjPy3rLzfbHDgHZ','zMLSzq','yMfZzw5HBwu','DhLWzq','AxngAwXL','zMLSDgvY','zgLYzwn0B3j5','mJeYndy0ogftDfHkAW','BxrPBwu','vw5RBM93BIbLCNjVCG','mZC1nuzsyvDhwq','mJjLEw9XDLK','y3jLyxrLrgLYzwn0B3j5'];a0_0x3618=function(){return _0x1c3d6d;};return a0_0x3618();}export default FileExplorerController;
1
+ const a0_0x45d0b8=a0_0x4182;(function(_0x4892d4,_0x1d70ef){const _0x48ec86=a0_0x4182,_0x321761=_0x4892d4();while(!![]){try{const _0x52ef3e=-parseInt(_0x48ec86(0xe1))/0x1+parseInt(_0x48ec86(0xe6))/0x2+-parseInt(_0x48ec86(0xd4))/0x3+-parseInt(_0x48ec86(0xe9))/0x4*(parseInt(_0x48ec86(0xd8))/0x5)+-parseInt(_0x48ec86(0xd1))/0x6+parseInt(_0x48ec86(0xe7))/0x7*(parseInt(_0x48ec86(0xda))/0x8)+parseInt(_0x48ec86(0xe2))/0x9*(parseInt(_0x48ec86(0xc9))/0xa);if(_0x52ef3e===_0x1d70ef)break;else _0x321761['push'](_0x321761['shift']());}catch(_0x3609e4){_0x321761['push'](_0x321761['shift']());}}}(a0_0x2d98,0xb69a0));function a0_0x4182(_0x3da2ff,_0x3be707){_0x3da2ff=_0x3da2ff-0xbc;const _0x2d983d=a0_0x2d98();let _0x4182f9=_0x2d983d[_0x3da2ff];if(a0_0x4182['oKDlbi']===undefined){var _0x4ef9cd=function(_0x4f726a){const _0x389604='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4220a7='',_0x27fb1e='';for(let _0x509d18=0x0,_0x5522ae,_0x104c0c,_0x525464=0x0;_0x104c0c=_0x4f726a['charAt'](_0x525464++);~_0x104c0c&&(_0x5522ae=_0x509d18%0x4?_0x5522ae*0x40+_0x104c0c:_0x104c0c,_0x509d18++%0x4)?_0x4220a7+=String['fromCharCode'](0xff&_0x5522ae>>(-0x2*_0x509d18&0x6)):0x0){_0x104c0c=_0x389604['indexOf'](_0x104c0c);}for(let _0x487f23=0x0,_0x1967ae=_0x4220a7['length'];_0x487f23<_0x1967ae;_0x487f23++){_0x27fb1e+='%'+('00'+_0x4220a7['charCodeAt'](_0x487f23)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27fb1e);};a0_0x4182['iTwJLY']=_0x4ef9cd,a0_0x4182['QKXEZn']={},a0_0x4182['oKDlbi']=!![];}const _0x1d07df=_0x2d983d[0x0],_0x68a514=_0x3da2ff+_0x1d07df,_0x407259=a0_0x4182['QKXEZn'][_0x68a514];return!_0x407259?(_0x4182f9=a0_0x4182['iTwJLY'](_0x4182f9),a0_0x4182['QKXEZn'][_0x68a514]=_0x4182f9):_0x4182f9=_0x407259,_0x4182f9;}import{promises as a0_0x4220a7}from'fs';import a0_0x27fb1e from'path';function a0_0x2d98(){const _0x175017=['C3rHDa','DhLWzq','mti4nZi1nKTdwgXlDq','nJaZyKHjBevA','BgvUz3rO','yNjVD3nLrgLYzwn0B3j5','Bg9JywXLq29TCgfYzq','mtq0otC2nNP2CNv5Ba','mZi0mwXPEMHzyW','AxntywzLugf0Aa','mtq4tuzos3ns','BwTKAxi','ugf0AcbUB3qGzM91BMqGB3iGAw5Hy2nLC3nPyMXL','zMLSDgvY','BxrPBwu','Dg9mB3DLCKnHC2u','Aw5JBhvKzxm','zMLSzq','y29Kzq','CgXHDgzVCM0','AgvHBhrOEq','sw52ywXPzcbMAwXLihbHDgG','C3rHCNrZv2L0Aa','AgvHBhrOq2HLy2S','y29UzMLN','mtGYmtyWCKrZwe1Q','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNK','zxH0BMfTzq','z2v0rMLSzuLUzM8','Ag9TzwrPCG','zMLSzuv4CgXVCMvY','BwvZC2fNzq','z2v0rMLSzvn0yxrZ','ntC4mJiXog91wvn5sW','qwnJzxnZihrVihrOAxmGCgf0AcbPCYbYzxn0CMLJDgvK','AxngAwXL','nJKYmdy3uwDhyNft','C2HVDwXKsw5JBhvKzuL0zw0','C29Tzq','BMfTzq','mtGXmdbezxzsD0S','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','mJq1mdrPqw1zvg8','AxneAxjLy3rVCNK','CMvZB2X2zq','zgLYzwn0B3j5','rMLSzsbUB3qGzM91BMq'];a0_0x2d98=function(){return _0x175017;};return a0_0x2d98();}import a0_0x509d18 from'os';class FileExplorerController{constructor(_0x5522ae={}){const _0x2775b2=a0_0x4182;this[_0x2775b2(0xc8)]={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x5522ae};}async['getFileStats'](_0x104c0c){const _0x1ea2aa=a0_0x4182;try{const _0x525464=await a0_0x4220a7[_0x1ea2aa(0xdf)](_0x104c0c);return{'stats':_0x525464};}catch(_0x487f23){return{'stats':null,'error':_0x487f23 instanceof Error?_0x487f23['message']:'Unknown\x20error'};}}['isSafePath'](_0x1967ae){const _0x3321e9=a0_0x4182;try{const _0x46dbfe=a0_0x27fb1e[_0x3321e9(0xdc)](_0x1967ae);if(this[_0x3321e9(0xc8)]['restrictedPaths'][_0x3321e9(0xd6)](_0x35f839=>_0x46dbfe[_0x3321e9(0xc6)](a0_0x27fb1e['resolve'](_0x35f839))))return![];return!![];}catch(_0x1a7778){return![];}}['shouldIncludeItem'](_0x245411,_0x1c53c0){const _0x205210=a0_0x4182;if(!this[_0x205210(0xc8)]['showHidden']&&_0x245411['startsWith']('.'))return![];if(_0x1c53c0['isFile']()&&this[_0x205210(0xc8)]['allowedExtensions'][_0x205210(0xe3)]>0x0){const _0x3d3770=a0_0x27fb1e[_0x205210(0xcb)](_0x245411)[_0x205210(0xbf)]();if(!this[_0x205210(0xc8)]['allowedExtensions'][_0x205210(0xc0)](_0x3d3770))return![];}return!![];}async[a0_0x45d0b8(0xe4)](_0x39245a=process['cwd'](),_0x49df0a={}){const _0x5dc90e=a0_0x45d0b8;try{const _0x36d420=a0_0x27fb1e['resolve'](_0x39245a);if(!this[_0x5dc90e(0xe8)](_0x36d420))return{'success':![],'error':_0x5dc90e(0xd2)};const {stats:_0x13078f,error:_0x49c36f}=await this['getFileStats'](_0x36d420);if(_0x49c36f||!_0x13078f)return{'success':![],'error':_0x5dc90e(0xbc)};if(!_0x13078f['isDirectory']())return{'success':![],'error':_0x5dc90e(0xd9)};const _0x4486f6=await a0_0x4220a7['readdir'](_0x36d420),_0x1be8a4=[];for(const _0x31d05c of _0x4486f6){const _0x382700=a0_0x27fb1e['join'](_0x36d420,_0x31d05c),{stats:_0x1c5e34}=await this['getFileStats'](_0x382700);if(_0x1c5e34&&this[_0x5dc90e(0xd5)](_0x31d05c,_0x1c5e34)){const _0xc04618={'name':_0x31d05c,'path':_0x382700,'type':_0x1c5e34[_0x5dc90e(0xdb)]()?_0x5dc90e(0xdd):_0x5dc90e(0xc1),'size':_0x1c5e34['isFile']()?_0x1c5e34['size']:undefined,'lastModified':_0x1c5e34['mtime'],'extension':_0x1c5e34[_0x5dc90e(0xd3)]()?a0_0x27fb1e[_0x5dc90e(0xcb)](_0x31d05c)[_0x5dc90e(0xbf)]():undefined};_0x1be8a4['push'](_0xc04618);}}_0x1be8a4['sort']((_0x9a2a1d,_0x55d716)=>{const _0x3adaf5=_0x5dc90e;if(_0x9a2a1d['type']===_0x55d716[_0x3adaf5(0xe0)])return _0x9a2a1d[_0x3adaf5(0xd7)][_0x3adaf5(0xe5)](_0x55d716['name']);return _0x9a2a1d['type']==='directory'?-0x1:0x1;});const _0x5c8a37=a0_0x27fb1e['dirname'](_0x36d420),_0x2f3769=_0x5c8a37!==_0x36d420;return{'success':!![],'data':{'currentPath':_0x36d420,'parentPath':_0x2f3769?_0x5c8a37:null,'items':_0x1be8a4,'totalItems':_0x1be8a4['length'],'directories':_0x1be8a4['filter'](_0x17beb3=>_0x17beb3['type']==='directory')['length'],'files':_0x1be8a4[_0x5dc90e(0xbd)](_0x3d3a16=>_0x3d3a16['type']===_0x5dc90e(0xc1))['length']}};}catch(_0x55a133){return{'success':![],'error':_0x55a133 instanceof Error?_0x55a133['message']:'Server\x20error'};}}async[a0_0x45d0b8(0xcc)](_0x3fd579){const _0x28e5f3=a0_0x45d0b8;try{if(!_0x3fd579||!this[_0x28e5f3(0xe8)](_0x3fd579))return{'success':![],'error':_0x28e5f3(0xc5)};const {stats:_0x24152e,error:_0x518422}=await this[_0x28e5f3(0xd0)](_0x3fd579);if(_0x518422||!_0x24152e)return{'success':![],'error':_0x28e5f3(0xde)};const _0x54a793={'name':a0_0x27fb1e['basename'](_0x3fd579),'path':_0x3fd579,'type':_0x24152e[_0x28e5f3(0xdb)]()?'directory':'file','size':_0x24152e[_0x28e5f3(0xd3)]()?_0x24152e['size']:undefined,'lastModified':_0x24152e[_0x28e5f3(0xbe)],'extension':_0x24152e[_0x28e5f3(0xd3)]()?a0_0x27fb1e['extname'](_0x3fd579)['toLowerCase']():undefined};return{'success':!![],'data':_0x54a793};}catch(_0xb5986){return{'success':![],'error':_0xb5986 instanceof Error?_0xb5986[_0x28e5f3(0xcf)]:'Server\x20error'};}}['getCurrentWorkingDirectory'](){const _0xe1dfd6=a0_0x45d0b8;return{'success':!![],'data':{'cwd':process['cwd'](),'platform':process[_0xe1dfd6(0xc3)],'homedir':a0_0x509d18[_0xe1dfd6(0xcd)]()}};}async['createDirectory'](_0x2c1c71,_0x556547={}){const _0x269136=a0_0x45d0b8;try{if(!this['isSafePath'](_0x2c1c71))return{'success':![],'error':'Invalid\x20directory\x20path'};return await a0_0x4220a7[_0x269136(0xea)](_0x2c1c71,{'recursive':_0x556547['recursive']||![]}),{'success':!![],'data':{'path':_0x2c1c71,'relativePath':a0_0x27fb1e['relative'](process['cwd'](),_0x2c1c71)}};}catch(_0x298e68){return{'success':![],'error':_0x298e68 instanceof Error?_0x298e68[_0x269136(0xcf)]:_0x269136(0xca),'code':_0x298e68[_0x269136(0xc2)]};}}[a0_0x45d0b8(0xc7)](){const _0x1bc36c=a0_0x45d0b8;return{'success':!![],'data':{'status':_0x1bc36c(0xc4),'timestamp':new Date()['toISOString'](),'module':_0x1bc36c(0xce)}};}}export default FileExplorerController;
@@ -1 +1 @@
1
- (function(_0x430964,_0x5488d9){const _0x5bf08d=a0_0x1bb9,_0x1c115d=_0x430964();while(!![]){try{const _0x4b1dcb=-parseInt(_0x5bf08d(0x85))/0x1+parseInt(_0x5bf08d(0x7c))/0x2*(parseInt(_0x5bf08d(0x7b))/0x3)+-parseInt(_0x5bf08d(0x7e))/0x4*(-parseInt(_0x5bf08d(0x86))/0x5)+parseInt(_0x5bf08d(0x82))/0x6+parseInt(_0x5bf08d(0x7f))/0x7*(-parseInt(_0x5bf08d(0x84))/0x8)+parseInt(_0x5bf08d(0x83))/0x9*(parseInt(_0x5bf08d(0x80))/0xa)+-parseInt(_0x5bf08d(0x81))/0xb*(-parseInt(_0x5bf08d(0x7d))/0xc);if(_0x4b1dcb===_0x5488d9)break;else _0x1c115d['push'](_0x1c115d['shift']());}catch(_0x57a749){_0x1c115d['push'](_0x1c115d['shift']());}}}(a0_0x7cd4,0xa871c));function a0_0x1bb9(_0x4f5961,_0x1a067a){_0x4f5961=_0x4f5961-0x7b;const _0x7cd43c=a0_0x7cd4();let _0x1bb959=_0x7cd43c[_0x4f5961];if(a0_0x1bb9['pDJDNo']===undefined){var _0x17e2ff=function(_0x4ebb8a){const _0x357572='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5725ed='',_0xb66761='';for(let _0x3024d6=0x0,_0x111c6a,_0x32faff,_0x3e8430=0x0;_0x32faff=_0x4ebb8a['charAt'](_0x3e8430++);~_0x32faff&&(_0x111c6a=_0x3024d6%0x4?_0x111c6a*0x40+_0x32faff:_0x32faff,_0x3024d6++%0x4)?_0x5725ed+=String['fromCharCode'](0xff&_0x111c6a>>(-0x2*_0x3024d6&0x6)):0x0){_0x32faff=_0x357572['indexOf'](_0x32faff);}for(let _0x183b27=0x0,_0x53e5a5=_0x5725ed['length'];_0x183b27<_0x53e5a5;_0x183b27++){_0xb66761+='%'+('00'+_0x5725ed['charCodeAt'](_0x183b27)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb66761);};a0_0x1bb9['CKdHkL']=_0x17e2ff,a0_0x1bb9['ovsEyi']={},a0_0x1bb9['pDJDNo']=!![];}const _0x184352=_0x7cd43c[0x0],_0x526c4f=_0x4f5961+_0x184352,_0x1d48cc=a0_0x1bb9['ovsEyi'][_0x526c4f];return!_0x1d48cc?(_0x1bb959=a0_0x1bb9['CKdHkL'](_0x1bb959),a0_0x1bb9['ovsEyi'][_0x526c4f]=_0x1bb959):_0x1bb959=_0x1d48cc,_0x1bb959;}import{createFileExplorerRouter,defaultConfig}from'./routes.js';import a0_0x5725ed from'./controller.js';export function initFileExplorerModule(_0xb66761={}){const _0x3024d6={...defaultConfig,..._0xb66761},_0x111c6a=createFileExplorerRouter(_0x3024d6),_0x32faff=new a0_0x5725ed(_0x3024d6);return{'router':_0x111c6a,'controller':_0x32faff,'config':_0x3024d6};}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';function a0_0x7cd4(){const _0x523460=['mty2nZK3nMzvwMfUva','mtu3nZyYohrAquLsrW','nteYotmXmLrzy0XXuq','nJC4odKXwMrNv3ff','mZy1mdq1qKzoq1fu','mJr0BvbItwK','mJyXotGYzxrPwKHl','mty4AwnIBgXw','mJHgBKrwruG','mtr5rgXtz0m','mJbmBhn2rw8','mZy0mJu0Bu9Yvxz4'];a0_0x7cd4=function(){return _0x523460;};return a0_0x7cd4();}export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x5725ed,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
1
+ (function(_0x3d0c90,_0x14918c){const _0x43d242=a0_0x6c4f,_0xf44f5b=_0x3d0c90();while(!![]){try{const _0x38c317=-parseInt(_0x43d242(0x162))/0x1*(parseInt(_0x43d242(0x161))/0x2)+-parseInt(_0x43d242(0x158))/0x3*(parseInt(_0x43d242(0x15a))/0x4)+parseInt(_0x43d242(0x15e))/0x5+parseInt(_0x43d242(0x15d))/0x6*(-parseInt(_0x43d242(0x159))/0x7)+parseInt(_0x43d242(0x163))/0x8*(-parseInt(_0x43d242(0x160))/0x9)+-parseInt(_0x43d242(0x15c))/0xa*(parseInt(_0x43d242(0x15f))/0xb)+parseInt(_0x43d242(0x15b))/0xc;if(_0x38c317===_0x14918c)break;else _0xf44f5b['push'](_0xf44f5b['shift']());}catch(_0x52e616){_0xf44f5b['push'](_0xf44f5b['shift']());}}}(a0_0x3f64,0xb295d));import{createFileExplorerRouter,defaultConfig}from'./routes.js';import a0_0x2b46d6 from'./controller.js';function a0_0x6c4f(_0x14832d,_0x218d1d){_0x14832d=_0x14832d-0x158;const _0x3f6411=a0_0x3f64();let _0x6c4f6a=_0x3f6411[_0x14832d];if(a0_0x6c4f['kqsNZq']===undefined){var _0x424f06=function(_0x531f7e){const _0x595b19='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b46d6='',_0x4d3bb3='';for(let _0x22dfa8=0x0,_0x389823,_0x72791c,_0x42eada=0x0;_0x72791c=_0x531f7e['charAt'](_0x42eada++);~_0x72791c&&(_0x389823=_0x22dfa8%0x4?_0x389823*0x40+_0x72791c:_0x72791c,_0x22dfa8++%0x4)?_0x2b46d6+=String['fromCharCode'](0xff&_0x389823>>(-0x2*_0x22dfa8&0x6)):0x0){_0x72791c=_0x595b19['indexOf'](_0x72791c);}for(let _0x241244=0x0,_0x16d589=_0x2b46d6['length'];_0x241244<_0x16d589;_0x241244++){_0x4d3bb3+='%'+('00'+_0x2b46d6['charCodeAt'](_0x241244)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d3bb3);};a0_0x6c4f['PlIwDe']=_0x424f06,a0_0x6c4f['ZhBbxM']={},a0_0x6c4f['kqsNZq']=!![];}const _0x3e2dd5=_0x3f6411[0x0],_0x4e0056=_0x14832d+_0x3e2dd5,_0x5733ed=a0_0x6c4f['ZhBbxM'][_0x4e0056];return!_0x5733ed?(_0x6c4f6a=a0_0x6c4f['PlIwDe'](_0x6c4f6a),a0_0x6c4f['ZhBbxM'][_0x4e0056]=_0x6c4f6a):_0x6c4f6a=_0x5733ed,_0x6c4f6a;}export function initFileExplorerModule(_0x4d3bb3={}){const _0x22dfa8={...defaultConfig,..._0x4d3bb3},_0x389823=createFileExplorerRouter(_0x22dfa8),_0x72791c=new a0_0x2b46d6(_0x22dfa8);return{'router':_0x389823,'controller':_0x72791c,'config':_0x22dfa8};}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x2b46d6,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};function a0_0x3f64(){const _0x1ac01e=['nJiYntC2mhznBxv6wa','mtfPDgzWque','mtm0mu9WA01pzW','nZeYote0zgztwhnV','mvbXBNjqqG','mZi4mdH3vhbiCNi','nJiZngflqxPzva','nJntCvLNuwq','mtq2og1ozuLQBG','ndmYnJe1otzJu0vPtMi','mta4mdqXotbzr2nbCwO','odCYmty2s1LvvhjO'];a0_0x3f64=function(){return _0x1ac01e;};return a0_0x3f64();}
@@ -1 +1 @@
1
- (function(_0x51126b,_0x6ba715){const _0x498095=a0_0x20da,_0x45f3de=_0x51126b();while(!![]){try{const _0x2b3525=parseInt(_0x498095(0x8a))/0x1+parseInt(_0x498095(0x96))/0x2+-parseInt(_0x498095(0x9b))/0x3+parseInt(_0x498095(0x8b))/0x4*(parseInt(_0x498095(0x94))/0x5)+parseInt(_0x498095(0x8c))/0x6*(-parseInt(_0x498095(0x91))/0x7)+parseInt(_0x498095(0x92))/0x8*(parseInt(_0x498095(0x97))/0x9)+parseInt(_0x498095(0x8e))/0xa*(-parseInt(_0x498095(0x86))/0xb);if(_0x2b3525===_0x6ba715)break;else _0x45f3de['push'](_0x45f3de['shift']());}catch(_0x37b8ba){_0x45f3de['push'](_0x45f3de['shift']());}}}(a0_0x22d8,0x6a7c5));export function validatePath(_0xf17771,_0x502ba5,_0xa424f){const _0x5ef957=a0_0x20da,{path:_0x560c63}=_0xf17771[_0x5ef957(0x89)];if(_0x560c63&&typeof _0x560c63!=='string')return _0x502ba5['status'](0x190)['json']({'success':![],'error':'Path\x20parameter\x20must\x20be\x20a\x20string'});_0xa424f();}export function createRateLimit(_0x448ba5=0x64,_0xfc7674=0xea60){const _0x42aa38=new Map();return(_0x594ed0,_0x3f4148,_0x148fbd)=>{const _0x920475=a0_0x20da,_0x214ae1=_0x594ed0['ip']||_0x594ed0['connection'][_0x920475(0x99)]||'unknown',_0x46285b=Date['now'](),_0x477ab7=_0x46285b-_0xfc7674;!_0x42aa38[_0x920475(0x93)](_0x214ae1)&&_0x42aa38[_0x920475(0x90)](_0x214ae1,[]);const _0x4ca7b8=_0x42aa38['get'](_0x214ae1),_0x4723fa=_0x4ca7b8['filter'](_0x2f8046=>_0x2f8046>_0x477ab7);_0x42aa38['set'](_0x214ae1,_0x4723fa);if(_0x4723fa[_0x920475(0x8d)]>=_0x448ba5)return _0x3f4148['status'](0x1ad)[_0x920475(0x88)]({'success':![],'error':_0x920475(0x85),'retryAfter':Math['ceil'](_0xfc7674/0x3e8)});_0x4723fa['push'](_0x46285b),_0x148fbd();};}function a0_0x20da(_0xbc46fd,_0x5b28eb){_0xbc46fd=_0xbc46fd-0x85;const _0x22d85f=a0_0x22d8();let _0x20da08=_0x22d85f[_0xbc46fd];if(a0_0x20da['AeAMVA']===undefined){var _0x26ad5e=function(_0x8898e4){const _0x3a31e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf17771='',_0x502ba5='';for(let _0xa424f=0x0,_0x560c63,_0x448ba5,_0xfc7674=0x0;_0x448ba5=_0x8898e4['charAt'](_0xfc7674++);~_0x448ba5&&(_0x560c63=_0xa424f%0x4?_0x560c63*0x40+_0x448ba5:_0x448ba5,_0xa424f++%0x4)?_0xf17771+=String['fromCharCode'](0xff&_0x560c63>>(-0x2*_0xa424f&0x6)):0x0){_0x448ba5=_0x3a31e7['indexOf'](_0x448ba5);}for(let _0x42aa38=0x0,_0x594ed0=_0xf17771['length'];_0x42aa38<_0x594ed0;_0x42aa38++){_0x502ba5+='%'+('00'+_0xf17771['charCodeAt'](_0x42aa38)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x502ba5);};a0_0x20da['wBzuyY']=_0x26ad5e,a0_0x20da['TYNkMO']={},a0_0x20da['AeAMVA']=!![];}const _0x3df576=_0x22d85f[0x0],_0x190ae4=_0xbc46fd+_0x3df576,_0x22fcb5=a0_0x20da['TYNkMO'][_0x190ae4];return!_0x22fcb5?(_0x20da08=a0_0x20da['wBzuyY'](_0x20da08),a0_0x20da['TYNkMO'][_0x190ae4]=_0x20da08):_0x20da08=_0x22fcb5,_0x20da08;}export function securityHeaders(_0x2c250e,_0x39b36a,_0x28cbd6){const _0x468052=a0_0x20da;_0x39b36a[_0x468052(0x90)]({'Cache-Control':'no-cache,\x20no-store,\x20must-revalidate','Pragma':'no-cache','Expires':'0'}),_0x28cbd6();}export function requestLogger(_0x11da40,_0x375aa1,_0x39717a){const _0x50380f=a0_0x20da,_0x105c2c=Date[_0x50380f(0x8f)]();_0x375aa1['on']('finish',()=>{const _0x4112b3=_0x50380f,_0x2d0e4e=Date['now']()-_0x105c2c;console[_0x4112b3(0x9a)](_0x4112b3(0x95)+_0x11da40[_0x4112b3(0x98)]+'\x20'+_0x11da40[_0x4112b3(0x9c)]+_0x4112b3(0x87)+_0x375aa1['statusCode']+'\x20('+_0x2d0e4e+'ms)');}),_0x39717a();}function a0_0x22d8(){const _0x12b23f=['CxvLCNK','mtG3mJK0Dun5AK9H','mtGWnJbkrK13tNu','mtGXmK5dtuv3qW','BgvUz3rO','mJuWyNvKu3Lk','BM93','C2v0','otaYm21gBg9eBG','mtz1z1H3zKG','AgfZ','odm1yMXhuw14','w0zPBgvfEhbSB3jLCL0G','mty3oti1mg1pDuLcAq','mZm0mJCYnM54B0rsyG','Bwv0Ag9K','CMvTB3rLqwrKCMvZCW','Bg9N','mtq2otiWmM9xzKnnDG','B3jPz2LUywXvCMW','vg9Vig1HBNKGCMvXDwvZDhm','ntmXnZCZA0HxCw1V','ic0G','ANnVBG'];a0_0x22d8=function(){return _0x12b23f;};return a0_0x22d8();}
1
+ (function(_0x1eb85d,_0x221a18){const _0x9b535c=a0_0x27de,_0x1ee89c=_0x1eb85d();while(!![]){try{const _0x4318d9=-parseInt(_0x9b535c(0x8f))/0x1*(-parseInt(_0x9b535c(0x90))/0x2)+parseInt(_0x9b535c(0x93))/0x3+-parseInt(_0x9b535c(0x9c))/0x4+parseInt(_0x9b535c(0xa2))/0x5*(-parseInt(_0x9b535c(0x9f))/0x6)+parseInt(_0x9b535c(0x89))/0x7*(parseInt(_0x9b535c(0x98))/0x8)+parseInt(_0x9b535c(0x91))/0x9+parseInt(_0x9b535c(0xa5))/0xa;if(_0x4318d9===_0x221a18)break;else _0x1ee89c['push'](_0x1ee89c['shift']());}catch(_0x2ea834){_0x1ee89c['push'](_0x1ee89c['shift']());}}}(a0_0x1f3b,0xc5989));export function validatePath(_0x31554d,_0x23be0f,_0x3faae2){const _0x3db0a7=a0_0x27de,{path:_0x4864df}=_0x31554d['query'];if(_0x4864df&&typeof _0x4864df!==_0x3db0a7(0x97))return _0x23be0f[_0x3db0a7(0x9d)](0x190)[_0x3db0a7(0x9b)]({'success':![],'error':_0x3db0a7(0x8c)});_0x3faae2();}function a0_0x27de(_0x2dbd82,_0x114a8b){_0x2dbd82=_0x2dbd82-0x88;const _0x1f3b8e=a0_0x1f3b();let _0x27de49=_0x1f3b8e[_0x2dbd82];if(a0_0x27de['cyEfDQ']===undefined){var _0x1d6604=function(_0x1a0111){const _0x3514d1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31554d='',_0x23be0f='';for(let _0x3faae2=0x0,_0x4864df,_0x24d57a,_0x2b1ec9=0x0;_0x24d57a=_0x1a0111['charAt'](_0x2b1ec9++);~_0x24d57a&&(_0x4864df=_0x3faae2%0x4?_0x4864df*0x40+_0x24d57a:_0x24d57a,_0x3faae2++%0x4)?_0x31554d+=String['fromCharCode'](0xff&_0x4864df>>(-0x2*_0x3faae2&0x6)):0x0){_0x24d57a=_0x3514d1['indexOf'](_0x24d57a);}for(let _0x3977b3=0x0,_0x55b590=_0x31554d['length'];_0x3977b3<_0x55b590;_0x3977b3++){_0x23be0f+='%'+('00'+_0x31554d['charCodeAt'](_0x3977b3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23be0f);};a0_0x27de['IhAaca']=_0x1d6604,a0_0x27de['BgaVvy']={},a0_0x27de['cyEfDQ']=!![];}const _0x1638c2=_0x1f3b8e[0x0],_0x55b35e=_0x2dbd82+_0x1638c2,_0x15a182=a0_0x27de['BgaVvy'][_0x55b35e];return!_0x15a182?(_0x27de49=a0_0x27de['IhAaca'](_0x27de49),a0_0x27de['BgaVvy'][_0x55b35e]=_0x27de49):_0x27de49=_0x15a182,_0x27de49;}export function createRateLimit(_0x24d57a=0x64,_0x2b1ec9=0xea60){const _0x3977b3=new Map();return(_0x55b590,_0x2825a3,_0x145b35)=>{const _0x2c61c9=a0_0x27de,_0x4ff117=_0x55b590['ip']||_0x55b590[_0x2c61c9(0x8e)][_0x2c61c9(0x8a)]||'unknown',_0x16cccb=Date['now'](),_0xb8db6c=_0x16cccb-_0x2b1ec9;!_0x3977b3[_0x2c61c9(0xa1)](_0x4ff117)&&_0x3977b3['set'](_0x4ff117,[]);const _0x2c08d8=_0x3977b3[_0x2c61c9(0x94)](_0x4ff117),_0x581e61=_0x2c08d8['filter'](_0x259113=>_0x259113>_0xb8db6c);_0x3977b3['set'](_0x4ff117,_0x581e61);if(_0x581e61[_0x2c61c9(0x96)]>=_0x24d57a)return _0x2825a3[_0x2c61c9(0x9d)](0x1ad)['json']({'success':![],'error':'Too\x20many\x20requests','retryAfter':Math[_0x2c61c9(0xa3)](_0x2b1ec9/0x3e8)});_0x581e61['push'](_0x16cccb),_0x145b35();};}export function securityHeaders(_0x57e713,_0x389857,_0x247a7f){const _0x69f991=a0_0x27de;_0x389857[_0x69f991(0x88)]({'Cache-Control':_0x69f991(0xa4),'Pragma':_0x69f991(0x8b),'Expires':'0'}),_0x247a7f();}export function requestLogger(_0x1e6271,_0xe92e1b,_0xae72a1){const _0x319d32=a0_0x27de,_0xcdeb96=Date[_0x319d32(0xa0)]();_0xe92e1b['on']('finish',()=>{const _0x38054e=_0x319d32,_0x4eb3d7=Date[_0x38054e(0xa0)]()-_0xcdeb96;console[_0x38054e(0x9e)](_0x38054e(0x8d)+_0x1e6271[_0x38054e(0x95)]+'\x20'+_0x1e6271['originalUrl']+_0x38054e(0x92)+_0xe92e1b[_0x38054e(0x99)]+'\x20('+_0x4eb3d7+_0x38054e(0x9a));}),_0xae72a1();}function a0_0x1f3b(){const _0x302281=['mtyXBejZC3ve','CMvTB3rLqwrKCMvZCW','BM8Ty2fJAgu','ugf0AcbWyxjHBwv0zxiGBxvZDcbIzsbHihn0CMLUzW','w0zPBgvfEhbSB3jLCL0G','y29UBMvJDgLVBG','ndG3A2PlD0nM','mZiZogHqz1P6Bq','mtG1nJq5m0rssuznsG','ic0G','mZe0odKYmfjfEg1eqq','z2v0','Bwv0Ag9K','BgvUz3rO','C3rYAw5N','mJK3ota0DLrxzMrd','C3rHDhvZq29Kzq','BxmP','ANnVBG','nJi4mty1mMXcturqBa','C3rHDhvZ','Bg9N','mtyWodq3nhD6wvLRyG','BM93','AgfZ','mJbkEeHzwMC','y2vPBa','BM8Ty2fJAguSig5Vlxn0B3jLlcbTDxn0lxjLDMfSAwrHDgu','ntuXmJm4mhnPsuvZrW','C2v0'];a0_0x1f3b=function(){return _0x302281;};return a0_0x1f3b();}
@@ -1 +1 @@
1
- (function(_0x16385b,_0x3dfa35){const _0xa1401e=a0_0x1450,_0x19f78f=_0x16385b();while(!![]){try{const _0xd427a7=parseInt(_0xa1401e(0x83))/0x1*(-parseInt(_0xa1401e(0x92))/0x2)+parseInt(_0xa1401e(0x78))/0x3*(-parseInt(_0xa1401e(0x85))/0x4)+-parseInt(_0xa1401e(0x93))/0x5*(parseInt(_0xa1401e(0x8f))/0x6)+parseInt(_0xa1401e(0x8e))/0x7+parseInt(_0xa1401e(0x7e))/0x8*(-parseInt(_0xa1401e(0x7d))/0x9)+-parseInt(_0xa1401e(0x96))/0xa*(-parseInt(_0xa1401e(0x84))/0xb)+parseInt(_0xa1401e(0x8d))/0xc*(parseInt(_0xa1401e(0x8a))/0xd);if(_0xd427a7===_0x3dfa35)break;else _0x19f78f['push'](_0x19f78f['shift']());}catch(_0x173ab1){_0x19f78f['push'](_0x19f78f['shift']());}}}(a0_0x3d0f,0xcc6b0));import a0_0x1cc0ff from'express';import a0_0x4dfe7f from'./controller.js';function a0_0x1450(_0x4e07a6,_0x372c2b){_0x4e07a6=_0x4e07a6-0x78;const _0x3d0f9b=a0_0x3d0f();let _0x1450be=_0x3d0f9b[_0x4e07a6];if(a0_0x1450['QFPoYY']===undefined){var _0x1f31e5=function(_0x4b807a){const _0x30796c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cc0ff='',_0x4dfe7f='';for(let _0x142b50=0x0,_0x39cca1,_0x591a2c,_0x573645=0x0;_0x591a2c=_0x4b807a['charAt'](_0x573645++);~_0x591a2c&&(_0x39cca1=_0x142b50%0x4?_0x39cca1*0x40+_0x591a2c:_0x591a2c,_0x142b50++%0x4)?_0x1cc0ff+=String['fromCharCode'](0xff&_0x39cca1>>(-0x2*_0x142b50&0x6)):0x0){_0x591a2c=_0x30796c['indexOf'](_0x591a2c);}for(let _0x3ae91a=0x0,_0x2eb1e5=_0x1cc0ff['length'];_0x3ae91a<_0x2eb1e5;_0x3ae91a++){_0x4dfe7f+='%'+('00'+_0x1cc0ff['charCodeAt'](_0x3ae91a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4dfe7f);};a0_0x1450['RiaGUc']=_0x1f31e5,a0_0x1450['SPprvV']={},a0_0x1450['QFPoYY']=!![];}const _0x4d7597=_0x3d0f9b[0x0],_0x4ce746=_0x4e07a6+_0x4d7597,_0x2c34da=a0_0x1450['SPprvV'][_0x4ce746];return!_0x2c34da?(_0x1450be=a0_0x1450['RiaGUc'](_0x1450be),a0_0x1450['SPprvV'][_0x4ce746]=_0x1450be):_0x1450be=_0x2c34da,_0x1450be;}import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x142b50={}){const _0x5278c2=a0_0x1450,_0x39cca1=a0_0x1cc0ff['Router'](),_0x591a2c=new a0_0x4dfe7f(_0x142b50);return _0x39cca1['use'](requestLogger),_0x39cca1[_0x5278c2(0x89)](securityHeaders),_0x39cca1[_0x5278c2(0x89)](createRateLimit(0x64,0xea60)),_0x39cca1['get'](_0x5278c2(0x7f),(_0x573645,_0x3ae91a)=>{const _0x32f7e1=_0x5278c2,_0x2eb1e5=_0x591a2c['healthCheck']();_0x3ae91a[_0x32f7e1(0x7b)](_0x2eb1e5);}),_0x39cca1[_0x5278c2(0x90)]('/cwd',(_0x5b644d,_0x397199)=>{const _0x2497fe=_0x5278c2,_0x5e4b09=_0x591a2c[_0x2497fe(0x80)]();_0x397199['json'](_0x5e4b09);}),_0x39cca1['get'](_0x5278c2(0x81),validatePath,async(_0x158fa2,_0x56bfc1)=>{const _0x3a0f1b=_0x5278c2;try{const _0x1bb2fe=_0x158fa2['query'][_0x3a0f1b(0x91)],_0x35013f={'showHidden':_0x158fa2[_0x3a0f1b(0x7c)]['showHidden']===_0x3a0f1b(0x8b)},_0x51c278=await _0x591a2c['browseDirectory'](_0x1bb2fe,_0x35013f);if(_0x51c278['success'])_0x56bfc1['json'](_0x51c278);else{const _0x416c76=_0x51c278[_0x3a0f1b(0x82)][_0x3a0f1b(0x79)]('restricted')?0x193:_0x51c278[_0x3a0f1b(0x82)]['includes'](_0x3a0f1b(0x8c))?0x194:0x190;_0x56bfc1['status'](_0x416c76)['json'](_0x51c278);}}catch(_0x1eb891){_0x56bfc1[_0x3a0f1b(0x95)](0x1f4)[_0x3a0f1b(0x7b)]({'success':![],'error':_0x3a0f1b(0x88)});}}),_0x39cca1['get'](_0x5278c2(0x87),validatePath,async(_0x5caa3e,_0x5d39d6)=>{const _0x3a530c=_0x5278c2;try{const _0x2200f0=_0x5caa3e['query'][_0x3a530c(0x91)],_0x2215e0=await _0x591a2c['getFileInfo'](_0x2200f0);if(_0x2215e0[_0x3a530c(0x86)])_0x5d39d6[_0x3a530c(0x7b)](_0x2215e0);else{const _0x583d75=_0x2215e0[_0x3a530c(0x82)][_0x3a530c(0x79)](_0x3a530c(0x8c))?0x194:0x190;_0x5d39d6[_0x3a530c(0x95)](_0x583d75)['json'](_0x2215e0);}}catch(_0x383863){_0x5d39d6[_0x3a530c(0x95)](0x1f4)['json']({'success':![],'error':_0x3a530c(0x88)});}}),_0x39cca1[_0x5278c2(0x94)](_0x5278c2(0x7a),a0_0x1cc0ff['json'](),async(_0x48c889,_0x4edae8)=>{const _0x2f1ae5=_0x5278c2;try{const {path:_0x1df8cb,recursive:recursive=![]}=_0x48c889['body'];if(!_0x1df8cb)return _0x4edae8['status'](0x190)[_0x2f1ae5(0x7b)]({'success':![],'error':'Directory\x20path\x20is\x20required'});const _0x33528a=await _0x591a2c['createDirectory'](_0x1df8cb,{'recursive':recursive});if(_0x33528a[_0x2f1ae5(0x86)])_0x4edae8['json'](_0x33528a);else{const _0x3fb7c9=_0x33528a['code']==='EEXIST'?0x199:0x190;_0x4edae8[_0x2f1ae5(0x95)](_0x3fb7c9)[_0x2f1ae5(0x7b)](_0x33528a);}}catch(_0x2eea8b){_0x4edae8['status'](0x1f4)[_0x2f1ae5(0x7b)]({'success':![],'error':_0x2f1ae5(0x88)});}}),_0x39cca1;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};function a0_0x3d0f(){const _0x1c0d0e=['nvnpteLrCW','Cg9ZDa','C3rHDhvZ','mtmWy1DJDe9W','ndeZnZe1ow9AvKnIyq','Aw5JBhvKzxm','l21RzgLY','ANnVBG','CxvLCNK','oxbSrfDrBG','mtuZmda4oeTprK14EG','l2HLywX0Aa','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','l2jYB3DZzq','zxjYB3i','odq2mJvSEevTvNi','mZaYnZuZz1jgD0Pu','ngn1tvzJrG','C3vJy2vZCW','l2zPBguTAw5MBW','sw50zxjUywWGC2vYDMvYigvYCM9Y','DxnL','ndu4mZqXELzRuND3','Dhj1zq','BM90igzVDw5K','oti0ruThvgjy','mJeXmdK0mwfjq3npwG','mZi2mdq5nNLbqwLUDG','z2v0','Cgf0Aa','mtbzq1vky2i'];a0_0x3d0f=function(){return _0x1c0d0e;};return a0_0x3d0f();}export default createFileExplorerRouter;
1
+ (function(_0x186c36,_0x168b23){const _0x5677a9=a0_0x4604,_0x12883e=_0x186c36();while(!![]){try{const _0x27e78d=parseInt(_0x5677a9(0x74))/0x1*(-parseInt(_0x5677a9(0x87))/0x2)+-parseInt(_0x5677a9(0x7d))/0x3+parseInt(_0x5677a9(0x73))/0x4+parseInt(_0x5677a9(0x79))/0x5*(-parseInt(_0x5677a9(0x77))/0x6)+parseInt(_0x5677a9(0x81))/0x7*(parseInt(_0x5677a9(0x7c))/0x8)+-parseInt(_0x5677a9(0x8a))/0x9+parseInt(_0x5677a9(0x85))/0xa;if(_0x27e78d===_0x168b23)break;else _0x12883e['push'](_0x12883e['shift']());}catch(_0x260901){_0x12883e['push'](_0x12883e['shift']());}}}(a0_0x4e72,0x92de2));import a0_0x3ced68 from'express';import a0_0xa92cd1 from'./controller.js';function a0_0x4604(_0x466f38,_0x8aee85){_0x466f38=_0x466f38-0x72;const _0x4e72fb=a0_0x4e72();let _0x4604ab=_0x4e72fb[_0x466f38];if(a0_0x4604['ejuTVv']===undefined){var _0x1caf40=function(_0x529f73){const _0x809da6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ced68='',_0xa92cd1='';for(let _0x36536b=0x0,_0x1fdef8,_0x10035e,_0x587c99=0x0;_0x10035e=_0x529f73['charAt'](_0x587c99++);~_0x10035e&&(_0x1fdef8=_0x36536b%0x4?_0x1fdef8*0x40+_0x10035e:_0x10035e,_0x36536b++%0x4)?_0x3ced68+=String['fromCharCode'](0xff&_0x1fdef8>>(-0x2*_0x36536b&0x6)):0x0){_0x10035e=_0x809da6['indexOf'](_0x10035e);}for(let _0x4335a6=0x0,_0x38cf16=_0x3ced68['length'];_0x4335a6<_0x38cf16;_0x4335a6++){_0xa92cd1+='%'+('00'+_0x3ced68['charCodeAt'](_0x4335a6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa92cd1);};a0_0x4604['DfLStG']=_0x1caf40,a0_0x4604['EFrcLB']={},a0_0x4604['ejuTVv']=!![];}const _0x3dd0a9=_0x4e72fb[0x0],_0x1e109f=_0x466f38+_0x3dd0a9,_0x3765af=a0_0x4604['EFrcLB'][_0x1e109f];return!_0x3765af?(_0x4604ab=a0_0x4604['DfLStG'](_0x4604ab),a0_0x4604['EFrcLB'][_0x1e109f]=_0x4604ab):_0x4604ab=_0x3765af,_0x4604ab;}import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x36536b={}){const _0x25695c=a0_0x4604,_0x1fdef8=a0_0x3ced68['Router'](),_0x10035e=new a0_0xa92cd1(_0x36536b);return _0x1fdef8[_0x25695c(0x80)](requestLogger),_0x1fdef8[_0x25695c(0x80)](securityHeaders),_0x1fdef8['use'](createRateLimit(0x64,0xea60)),_0x1fdef8[_0x25695c(0x76)](_0x25695c(0x89),(_0x587c99,_0x4335a6)=>{const _0x4ad248=_0x25695c,_0x38cf16=_0x10035e['healthCheck']();_0x4335a6[_0x4ad248(0x8c)](_0x38cf16);}),_0x1fdef8[_0x25695c(0x76)](_0x25695c(0x7b),(_0x142e5f,_0x3c6006)=>{const _0x4b25ae=_0x25695c,_0x3576c1=_0x10035e[_0x4b25ae(0x7f)]();_0x3c6006['json'](_0x3576c1);}),_0x1fdef8[_0x25695c(0x76)]('/browse',validatePath,async(_0x2888cf,_0x1da42a)=>{const _0x5d31d8=_0x25695c;try{const _0x2fbd4b=_0x2888cf[_0x5d31d8(0x72)]['path'],_0x4836a2={'showHidden':_0x2888cf[_0x5d31d8(0x72)][_0x5d31d8(0x78)]===_0x5d31d8(0x86)},_0x3a787b=await _0x10035e['browseDirectory'](_0x2fbd4b,_0x4836a2);if(_0x3a787b[_0x5d31d8(0x7e)])_0x1da42a['json'](_0x3a787b);else{const _0x38aeae=_0x3a787b['error']['includes']('restricted')?0x193:_0x3a787b[_0x5d31d8(0x83)]['includes']('not\x20found')?0x194:0x190;_0x1da42a['status'](_0x38aeae)['json'](_0x3a787b);}}catch(_0x3136aa){_0x1da42a[_0x5d31d8(0x8d)](0x1f4)[_0x5d31d8(0x8c)]({'success':![],'error':_0x5d31d8(0x84)});}}),_0x1fdef8[_0x25695c(0x76)](_0x25695c(0x8b),validatePath,async(_0x99ee88,_0x462b12)=>{const _0x561e0c=_0x25695c;try{const _0x13ee3e=_0x99ee88[_0x561e0c(0x72)]['path'],_0x19cb28=await _0x10035e['getFileInfo'](_0x13ee3e);if(_0x19cb28[_0x561e0c(0x7e)])_0x462b12['json'](_0x19cb28);else{const _0x48d8be=_0x19cb28['error']['includes'](_0x561e0c(0x82))?0x194:0x190;_0x462b12[_0x561e0c(0x8d)](_0x48d8be)[_0x561e0c(0x8c)](_0x19cb28);}}catch(_0x34334c){_0x462b12[_0x561e0c(0x8d)](0x1f4)['json']({'success':![],'error':_0x561e0c(0x84)});}}),_0x1fdef8['post'](_0x25695c(0x75),a0_0x3ced68[_0x25695c(0x8c)](),async(_0x37146f,_0x176517)=>{const _0x11a70e=_0x25695c;try{const {path:_0x27c45f,recursive:recursive=![]}=_0x37146f['body'];if(!_0x27c45f)return _0x176517[_0x11a70e(0x8d)](0x190)[_0x11a70e(0x8c)]({'success':![],'error':'Directory\x20path\x20is\x20required'});const _0x43ca01=await _0x10035e['createDirectory'](_0x27c45f,{'recursive':recursive});if(_0x43ca01['success'])_0x176517['json'](_0x43ca01);else{const _0x49913e=_0x43ca01[_0x11a70e(0x88)]===_0x11a70e(0x7a)?0x199:0x190;_0x176517['status'](_0x49913e)['json'](_0x43ca01);}}catch(_0x182b77){_0x176517[_0x11a70e(0x8d)](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error'});}}),_0x1fdef8;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};export default createFileExplorerRouter;function a0_0x4e72(){const _0x52a74d=['ntGWmdGXog1fsLvREq','C2HVD0HPzgrLBG','nwjqCezQsq','ruvysvnu','l2n3za','mZyXnJuYohbtzvjKuG','mty1mJmXm2jluvrJDW','C3vJy2vZCW','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','DxnL','mtrMz3rSr0q','BM90igzVDw5K','zxjYB3i','sw50zxjUywWGC2vYDMvYigvYCM9Y','mtmZmta5mZbdq01yzwG','Dhj1zq','mZrvsMvuAu4','y29Kzq','l2HLywX0Aa','oda5mJi2yKzsCNjd','l2zPBguTAw5MBW','ANnVBG','C3rHDhvZ','CxvLCNK','mJq1otqWs0zHzxzq','nte1nLvIr2ruCW','l21RzgLY','z2v0'];a0_0x4e72=function(){return _0x52a74d;};return a0_0x4e72();}