@loxia-labs/loxia-autopilot-one 1.0.15 → 1.0.17

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 (122) 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/agentActivityService.js +1 -1
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +2 -2
  120. package/web-ui/build/static/index-CRkOpV4k.css +1 -0
  121. package/web-ui/build/static/{index-CR8edPA3.js → index-DzOU48ux.js} +98 -79
  122. package/web-ui/build/static/index-uN7nOVvZ.css +0 -1
@@ -1 +1 @@
1
- function a0_0x1054(){const _0x321c4c=['zgvMyxvSDa','z3jHEq','yMX1zq','ndmXmte2BhjorvjH','EwvSBg93','y3LHBKjYAwDODa','CMvK','z3jLzw4','mtm0ntH5qvjNrge','mtHWz2HtBeK','mJu0mZm4nhjREhz0yq','mtm4nZa5qNDeAwnd','D2HPDgu','yMXHy2S','y3LHBG','mtuYodK5mgPbyuTlwq','CMvKqNjPz2H0','nNnlu2nsBW','ndCWntzYy0vLyxa','ntu3ntCYvw9Qqxrq'];a0_0x1054=function(){return _0x321c4c;};return a0_0x1054();}const a0_0x4080dc=a0_0x532c;(function(_0xe9466,_0x2a76d5){const _0x493fd9=a0_0x532c,_0x2d08af=_0xe9466();while(!![]){try{const _0x1b24ad=parseInt(_0x493fd9(0x18d))/0x1+-parseInt(_0x493fd9(0x181))/0x2+parseInt(_0x493fd9(0x17f))/0x3*(parseInt(_0x493fd9(0x180))/0x4)+-parseInt(_0x493fd9(0x17d))/0x5+parseInt(_0x493fd9(0x18a))/0x6+-parseInt(_0x493fd9(0x185))/0x7+-parseInt(_0x493fd9(0x18c))/0x8*(-parseInt(_0x493fd9(0x18b))/0x9);if(_0x1b24ad===_0x2a76d5)break;else _0x2d08af['push'](_0x2d08af['shift']());}catch(_0x292f75){_0x2d08af['push'](_0x2d08af['shift']());}}}(a0_0x1054,0x25a2a));const THEMES={'default':{'border':'blue','borderLoading':'yellow','primary':a0_0x4080dc(0x18e),'secondary':'cyan','success':'green','error':a0_0x4080dc(0x188),'warning':a0_0x4080dc(0x186),'info':a0_0x4080dc(0x184),'dim':a0_0x4080dc(0x183)},'light':{'border':'blue','borderLoading':'yellow','primary':a0_0x4080dc(0x18f),'secondary':'blue','success':a0_0x4080dc(0x189),'error':'red','warning':'yellow','info':'cyan','dim':'gray'},'dark':{'border':a0_0x4080dc(0x17c),'borderLoading':'magenta','primary':'white','secondary':a0_0x4080dc(0x17c),'success':'greenBright','error':a0_0x4080dc(0x17e),'warning':'yellowBright','info':'blueBright','dim':a0_0x4080dc(0x183)},'high-contrast':{'border':'white','borderLoading':'yellow','primary':a0_0x4080dc(0x18e),'secondary':a0_0x4080dc(0x17c),'success':'greenBright','error':'redBright','warning':'yellowBright','info':a0_0x4080dc(0x187),'dim':'white'}};function a0_0x532c(_0x18d3c2,_0x40c811){_0x18d3c2=_0x18d3c2-0x17c;const _0x105479=a0_0x1054();let _0x532c44=_0x105479[_0x18d3c2];if(a0_0x532c['NrocnZ']===undefined){var _0x7c6cf6=function(_0x2393ce){const _0x147d65='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x22f519='',_0x1f3e3f='';for(let _0x1e6523=0x0,_0xac071f,_0x5bf556,_0x4523ae=0x0;_0x5bf556=_0x2393ce['charAt'](_0x4523ae++);~_0x5bf556&&(_0xac071f=_0x1e6523%0x4?_0xac071f*0x40+_0x5bf556:_0x5bf556,_0x1e6523++%0x4)?_0x22f519+=String['fromCharCode'](0xff&_0xac071f>>(-0x2*_0x1e6523&0x6)):0x0){_0x5bf556=_0x147d65['indexOf'](_0x5bf556);}for(let _0x4933a8=0x0,_0x3353ba=_0x22f519['length'];_0x4933a8<_0x3353ba;_0x4933a8++){_0x1f3e3f+='%'+('00'+_0x22f519['charCodeAt'](_0x4933a8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f3e3f);};a0_0x532c['QudPYC']=_0x7c6cf6,a0_0x532c['yDjQSe']={},a0_0x532c['NrocnZ']=!![];}const _0x2a3341=_0x105479[0x0],_0x1526a7=_0x18d3c2+_0x2a3341,_0x5cddae=a0_0x532c['yDjQSe'][_0x1526a7];return!_0x5cddae?(_0x532c44=a0_0x532c['QudPYC'](_0x532c44),a0_0x532c['yDjQSe'][_0x1526a7]=_0x532c44):_0x532c44=_0x5cddae,_0x532c44;}export function getTheme(_0x22f519='default'){const _0x38f782=a0_0x4080dc;return THEMES[_0x22f519]||THEMES[_0x38f782(0x182)];}export function getThemeColor(_0x1f3e3f,_0x1e6523){const _0xac071f=getTheme(_0x1f3e3f);return _0xac071f[_0x1e6523]||_0xac071f['primary'];}export default{'getTheme':getTheme,'getThemeColor':getThemeColor};
1
+ function a0_0x39c2(){const _0x25ed69=['mJqXnZK4nvLKCe1KvW','y3LHBG','yMX1zq','D2HPDgu','mLD4twrQza','yMX1zujYAwDODa','ntyWmZG0z3bKvgHw','mJu0nZCWotbxC2TczNm','mJq3ntKWm1fRB2DRua','odq2nM1gzNLMsa','y3LHBKjYAwDODa','ChjPBwfYEq','z3jLzw5cCMLNAhq','mZC1owfHBxvdsW','mZaYotqZmMTts0znEa','z3jHEq','ntGWmZC1u0PVy3v0','CMvK','EwvSBg93','EwvSBg93qNjPz2H0','otLyCu1Ztw0','zgvMyxvSDa'];a0_0x39c2=function(){return _0x25ed69;};return a0_0x39c2();}function a0_0x28cd(_0x3084b1,_0x1b0380){_0x3084b1=_0x3084b1-0x17b;const _0x39c2a9=a0_0x39c2();let _0x28cdc2=_0x39c2a9[_0x3084b1];if(a0_0x28cd['luXMBh']===undefined){var _0x585aa7=function(_0x6d0dc){const _0x51c24a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x195ded='',_0x2dff06='';for(let _0x4f136c=0x0,_0x29ca7d,_0x2a7967,_0x4b510f=0x0;_0x2a7967=_0x6d0dc['charAt'](_0x4b510f++);~_0x2a7967&&(_0x29ca7d=_0x4f136c%0x4?_0x29ca7d*0x40+_0x2a7967:_0x2a7967,_0x4f136c++%0x4)?_0x195ded+=String['fromCharCode'](0xff&_0x29ca7d>>(-0x2*_0x4f136c&0x6)):0x0){_0x2a7967=_0x51c24a['indexOf'](_0x2a7967);}for(let _0x866a00=0x0,_0xba29f2=_0x195ded['length'];_0x866a00<_0xba29f2;_0x866a00++){_0x2dff06+='%'+('00'+_0x195ded['charCodeAt'](_0x866a00)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2dff06);};a0_0x28cd['OjuCux']=_0x585aa7,a0_0x28cd['zxaGTg']={},a0_0x28cd['luXMBh']=!![];}const _0x576b14=_0x39c2a9[0x0],_0x5d6a52=_0x3084b1+_0x576b14,_0x358a13=a0_0x28cd['zxaGTg'][_0x5d6a52];return!_0x358a13?(_0x28cdc2=a0_0x28cd['OjuCux'](_0x28cdc2),a0_0x28cd['zxaGTg'][_0x5d6a52]=_0x28cdc2):_0x28cdc2=_0x358a13,_0x28cdc2;}const a0_0x1463d2=a0_0x28cd;(function(_0x350796,_0x3d8346){const _0x3dffbe=a0_0x28cd,_0x3d19da=_0x350796();while(!![]){try{const _0x54e08d=parseInt(_0x3dffbe(0x189))/0x1+parseInt(_0x3dffbe(0x17d))/0x2*(-parseInt(_0x3dffbe(0x181))/0x3)+-parseInt(_0x3dffbe(0x187))/0x4+parseInt(_0x3dffbe(0x18f))/0x5+-parseInt(_0x3dffbe(0x182))/0x6*(parseInt(_0x3dffbe(0x186))/0x7)+parseInt(_0x3dffbe(0x17f))/0x8*(-parseInt(_0x3dffbe(0x18d))/0x9)+parseInt(_0x3dffbe(0x180))/0xa;if(_0x54e08d===_0x3d8346)break;else _0x3d19da['push'](_0x3d19da['shift']());}catch(_0x24a416){_0x3d19da['push'](_0x3d19da['shift']());}}}(a0_0x39c2,0x7a433));const THEMES={'default':{'border':'blue','borderLoading':a0_0x1463d2(0x18b),'primary':a0_0x1463d2(0x17c),'secondary':a0_0x1463d2(0x190),'success':'green','error':'red','warning':a0_0x1463d2(0x18b),'info':'blue','dim':a0_0x1463d2(0x188)},'light':{'border':'blue','borderLoading':a0_0x1463d2(0x18b),'primary':'black','secondary':a0_0x1463d2(0x17b),'success':'green','error':a0_0x1463d2(0x18a),'warning':'yellow','info':a0_0x1463d2(0x190),'dim':a0_0x1463d2(0x188)},'dark':{'border':a0_0x1463d2(0x190),'borderLoading':'magenta','primary':'white','secondary':'cyan','success':a0_0x1463d2(0x185),'error':'redBright','warning':'yellowBright','info':a0_0x1463d2(0x17e),'dim':a0_0x1463d2(0x188)},'high-contrast':{'border':a0_0x1463d2(0x17c),'borderLoading':'yellow','primary':'white','secondary':a0_0x1463d2(0x190),'success':'greenBright','error':'redBright','warning':a0_0x1463d2(0x18c),'info':a0_0x1463d2(0x183),'dim':'white'}};export function getTheme(_0x195ded='default'){const _0x3744aa=a0_0x1463d2;return THEMES[_0x195ded]||THEMES[_0x3744aa(0x18e)];}export function getThemeColor(_0x2dff06,_0x4f136c){const _0x37f868=a0_0x1463d2,_0x29ca7d=getTheme(_0x2dff06);return _0x29ca7d[_0x4f136c]||_0x29ca7d[_0x37f868(0x184)];}export default{'getTheme':getTheme,'getThemeColor':getThemeColor};
@@ -1 +1 @@
1
- const a0_0x5b353f=a0_0x4ff7;(function(_0x108e87,_0x29df35){const _0x4852f4=a0_0x4ff7,_0x40b177=_0x108e87();while(!![]){try{const _0x4b2d9b=-parseInt(_0x4852f4(0x109))/0x1+-parseInt(_0x4852f4(0x156))/0x2*(-parseInt(_0x4852f4(0x199))/0x3)+-parseInt(_0x4852f4(0xe0))/0x4+-parseInt(_0x4852f4(0x1c9))/0x5*(parseInt(_0x4852f4(0x11c))/0x6)+-parseInt(_0x4852f4(0x1cb))/0x7*(parseInt(_0x4852f4(0x136))/0x8)+-parseInt(_0x4852f4(0x107))/0x9+parseInt(_0x4852f4(0xf6))/0xa*(parseInt(_0x4852f4(0x14c))/0xb);if(_0x4b2d9b===_0x29df35)break;else _0x40b177['push'](_0x40b177['shift']());}catch(_0x4e9509){_0x40b177['push'](_0x40b177['shift']());}}}(a0_0x52b2,0x1ff2c));import a0_0x1792ef from'express';import{createServer}from'http';import{WebSocketServer}from'ws';function a0_0x52b2(){const _0x378643=['l2fWAs9LEhbSB3jLCI9TA2rPCG','CMvHzezPBgu','qxr0ywnOBwvUDcbKzwXLDgvK','C3rHDgvnyw5Hz2vY','AgvHBhrOEq','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','zgLYBMfTzq','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','DxbSB2fKrMLSzq','ChjVAMvJDerPCG','mZe1nti4CxLjz0Lm','z2v0x2fNzw50x3n0yxr1CW','yxv0Ag9YAxPHDgLVBG','8j+tOsbxzwjtB2nRzxqGyNjVywrJyxn0vg9tzxnZAw9UignHBgXLzdO','zMLSzq','y2fWywjPBgL0AwvZ','Dg9mB3DLCKnHC2u','v2vIihnLCNzLCIbPBML0AwfSAxPLza','BwfW','yM9KEq','l2fWAs9RzxLZlZPZzxnZAw9Uswq','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','ywn0Aw9U','C2vZC2LVBL9QB2LUzwq','z2v0qwDLBNq','C3rHDhvZ','Bg9N','C3vIC3rY','lI4VC2vYDMLJzxmVywDLBNrby3rPDML0EvnLCNzPy2uUANm','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','C3rHCNrZv2L0Aa','t1busu9ouW','nda0mZG3mffNA25Ivq','D3m6lY8','C3vIC3rYAw5N','ywDLBNq','ywDLBNrjza','Aw1WB3j0rNjVBufNzw50','q1jfqvrfx0fhru5u','zgLYzwn0B3j5qwnJzxnZ','zgvLChnLzwS','D2vIlq','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','DgfYz2v0qwDLBNrjzcbPCYbYzxf1AxjLza','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','Ahr0CdOVlW','y29UBMvJDgvK','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','BgLZDgvU','otCZmJe1vxPdwgnu','zgLYzwn0B3j5','ntm4mJDurw9ACMG','ChjVAMvJDa','qKfex1jfuvvfu1q','lI4VlI4VD2vIlxvPl2j1AwXK','yxbPs2v5twfUywDLCG','CgfYyw1Z','CMvTB3zLu2vZC2LVBKTLExm','qxP1CMuGyMfJA2vUzcbLCNjVCJOG','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','CMfUzg9T','D3m6lY9SB2nHBgHVC3q6','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','y29UDgvUDa','t3jJAgvZDhjHDg9YiefqssbLCNjVCG','AM9PBL9ZzxnZAw9U','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJO','y2XVC2u','mtmZogrzv0j1vG','CM91DgvY','Ag9ZDa','zMLSDgvY','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','C3LZDgvTuhjVBxb0','y2f0zwDVCNK','zw52','C3rHDhvZvgv4Da','CxvLCNK','z2v0','Cg9ZDa','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','t3jPz2LUlcbylvjLCxvLC3rLzc1xAxrOlcbdB250zw50lvr5CguSiefJy2vWDcWGqxv0Ag9YAxPHDgLVBG','AxnsDw5UAw5N','BMfTzq','Cgf0y2G','y29UBMvJDgLVBNm','Bw9Kzq','l2fWAs9LEhbSB3jLCG','B3jJAgvZDhjHDg9Y','rMfPBgvKihrVigDLDcbHz2vUDcbTzxrHzgf0yq','u0Lhsu5u','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','CgH5C2LJywXSEurLBgv0zwq','mJe2q1vRrfLq','CMvSyxrPDMu','AgvHzgvYCW','ChjVy2vZC1jLCxvLC3q','zMLSzu5HBwu','C2v0DxbnAwrKBgv3yxjL','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','y2XHDwrL','Bw9KzwXZu2vYDMLJzq','rMfPBgvKihrVihbYB3H5ignOyxqGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5K','u0vorf9nrvntquDf','CMvZB2X2zq','ANnVBG','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','C3vJy2vZCW','C2v0DxbsB3v0zxm','C2vUzfn0yxr1CW','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','qMvHCMvYia','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrKfjteve','C3rHCNrtzxj2zxi','DxbKyxrLqxr0ywnOBwvUDa','mtf4r0DeCNe','BwTKAxi','qwDLBNqGBM90igzVDw5K','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','twvZC2fNzsbWCM9JzxnZB3iGBM90igf2ywLSywjSzq','DhLWzq','BwLJCM9ZB2z0','CgLUzW','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','Dg9Nz2XLqwn0AxzL','ntaWnJe4uMftAefn','C2L6zq','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','y3vYCMvUDfrHC2S','ywXYzwfKEsbHy3rPDMu','CM9Szq','yNjVywrJyxn0vg9tzxnZAw9U','y3DK','Cg9YDa','Aw5JBhvKzxm','BxnNlq','su5urvjoquXFu0vsvKvsx0vsuK9s','AxneAxjLy3rVCNK','Bg9JywXLq29TCgfYzq','CgHP','sw52ywXPza','te9ysufFqvbjx0Tfwq','ywn0AxzL','BgvUz3rO','BgfZDefJDgL2Axr5','AgvHzgvY','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','AxnmB2fKzwq','C2v0DxbxzwjtB2nRzxq','D2fYBG','C3rHDa','y29UBMvJDgLVBG','yMLYDgH0Aw1L','Dgv4Da','Bg9Nz2vY','ywXS','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','C2vUza','y2f0y2G','DxrMoa','Aw5MBW','C3rYAw5NAwz5','tK9ux0zpvu5e','DxbKyxrLx2fNzw50','BM90igzVDw5K','Bw9Kzvn0yxrL','zxjYB3i','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','yxbW','Bwv0Ag9K','Dg9VBfjLC3vSDhm','tMv3iefNzw50','rwnOBZOG','z2v0s2v5C0zVCLjLCxvLC3q','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','y2XLyxi','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','AxngAwXL','yxbPs2v5','C2v0u2vZC2LVBKTLExm','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9TB2rLBhm','y3vYCMvUDe1VzgvS','y29Kzq','zgvSzxrL','AM9PBG','z2v0qxr0ywnOBwvUDhm','ms4WlJa','z2v0u3rHDhvZ','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','l3rTCc9SB3HPys1PBwfNzxm','yNjVywrJyxn0','l2fWAs9Hz2vUDhmVoMfNzw50swqVy2XLyxi','m0XjtfrKzq','sw1Hz2uGC2vYDMLUzYbLCNjVCG','4P2miezHAwXLzcb0BYbZzw5KifDLyLnVy2TLDcbTzxnZywDL','zMLSztOVlW','mtbTyG','l2fWAs9SBg0VBw9KzwXZ','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','qxr0ywnOBwvUDcb1CgrHDgvK','Bg94AwfbCgLlzxK','ChjLzMvYCMvKtw9KzwW','DgvYBwLUyxrL','zMLSzuv4CgXVCMvYtw9KDwXL','DMfSDwvZ','sw52ywXPzcbMAwXLBMfTzq','C2vYDMvY','yw50AhjVCgLJlxnVBM5LDa','CMvX','l2fWAs9VCMnOzxn0CMf0B3i','rMfPBgvKihrVihnLDcbbueKGA2v5CW','C2vZC2LVBKLe','DxnLCI1Hz2vUDa','BwvZC2fNzvbYB2nLC3nVCG','C2vUzezPBgu','yxv0B25VBw91C191CgrHDgu','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','AxrLCMf0Aw9Uq291BNq','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','v0vc','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','qvbjigTLExmGDxbKyxrLzcbZDwnJzxnZzNvSBhK','ywDLBNrqB29S','8j+uHcboBYbJB25Uzwn0Aw9UCYbMB3iGC2vZC2LVBIWGDhj5Aw5NigfSBcbJB25Uzwn0Aw9UCZO','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','zMLSzuLK','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','D3nZ','zgf0yq','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3bYzxzPzxC','tM8GqvbjigTLExmGzM91BMqGzM9YihnLC3nPB24','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','yxrPBwu','qwDLBNqG','BwvZC2fNzq','qwDLBNqGBw9KzsbZD2L0y2HLzcb0BYa','C3rHy2S','C2vZC2LVBKLK','Dg9tDhjPBMC','mJy2nvHctNriuq','l2fWAs9RzxLZ','ndi1ntnrzLfWyw8','sfruucbZzxj2zxiGC3rHCNrLzcbZDwnJzxnZzNvSBhK','x2DLDfzLBMrVCKzYB21nB2rLBa','BM93','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','Dg9ju09tDhjPBMC','ChvZAa','y29UzMLN','C2vZC2LVBNm','A2v5CW','zNjVBq','DxjS','w0rfqLvhxsa','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','CgfYC2u','y2XLyxjdB252zxjZyxrPB24','Bw9KzwW','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','DMvUzg9YqxbPs2v5','D3nnyw5Hz2vY','l2fWAs9OzwfSDgG','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','l2fWAs90B29SCW','C2H1DgrVD24','DxnL','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ'];a0_0x52b2=function(){return _0x378643;};return a0_0x52b2();}import a0_0x4d9ede from'path';import{promises as a0_0x2a46e4}from'fs';import{fileURLToPath}from'url';function a0_0x4ff7(_0x278795,_0x1f935d){_0x278795=_0x278795-0xcd;const _0x52b242=a0_0x52b2();let _0x4ff742=_0x52b242[_0x278795];if(a0_0x4ff7['efEaZD']===undefined){var _0x537979=function(_0xc11550){const _0x51d842='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1792ef='',_0x4d9ede='';for(let _0x2a46e4=0x0,_0x2e47c5,_0x1d6fd4,_0x511d36=0x0;_0x1d6fd4=_0xc11550['charAt'](_0x511d36++);~_0x1d6fd4&&(_0x2e47c5=_0x2a46e4%0x4?_0x2e47c5*0x40+_0x1d6fd4:_0x1d6fd4,_0x2a46e4++%0x4)?_0x1792ef+=String['fromCharCode'](0xff&_0x2e47c5>>(-0x2*_0x2a46e4&0x6)):0x0){_0x1d6fd4=_0x51d842['indexOf'](_0x1d6fd4);}for(let _0x46807b=0x0,_0x17a7b9=_0x1792ef['length'];_0x46807b<_0x17a7b9;_0x46807b++){_0x4d9ede+='%'+('00'+_0x1792ef['charCodeAt'](_0x46807b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d9ede);};a0_0x4ff7['kZBlpO']=_0x537979,a0_0x4ff7['hkKpeK']={},a0_0x4ff7['efEaZD']=!![];}const _0x9246de=_0x52b242[0x0],_0x596482=_0x278795+_0x9246de,_0x406d51=a0_0x4ff7['hkKpeK'][_0x596482];return!_0x406d51?(_0x4ff742=a0_0x4ff7['kZBlpO'](_0x4ff742),a0_0x4ff7['hkKpeK'][_0x596482]=_0x4ff742):_0x4ff742=_0x406d51,_0x4ff742;}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_0x4d9ede['dirname'](__filename);class WebServer{constructor(_0x2e47c5,_0x1d6fd4,_0x511d36={}){const _0x330094=a0_0x4ff7;this['orchestrator']=_0x2e47c5,this[_0x330094(0x173)]=_0x1d6fd4,this['config']=_0x511d36,this['port']=_0x511d36['port']||0x1f90,this['host']=_0x511d36[_0x330094(0x11e)]||'localhost',this[_0x330094(0x181)]=a0_0x1792ef(),this[_0x330094(0x1a7)]=createServer(this[_0x330094(0x181)]),this['wss']=new WebSocketServer({'server':this['server'],'verifyClient':_0x46807b=>{const _0x2a23e5=_0x330094;return this[_0x2a23e5(0x173)]?.['info'](_0x2a23e5(0xd8),{'origin':_0x46807b['origin'],'host':_0x46807b[_0x2a23e5(0x1a9)]['headers'][_0x2a23e5(0x11e)],'userAgent':_0x46807b['req'][_0x2a23e5(0x138)][_0x2a23e5(0x1ad)],'url':_0x46807b[_0x2a23e5(0x1a9)]['url']}),!![];}}),this['connections']=new Map(),this['sessions']=new Map(),this['apiKeyManager']=null,this['isRunning']=![];}async['initialize'](){const _0x5eee67=a0_0x4ff7;try{this[_0x5eee67(0x13b)](),this[_0x5eee67(0x145)](),this[_0x5eee67(0x16d)](),await this['startServer'](),this[_0x5eee67(0x173)]['info'](_0x5eee67(0xe7),{'port':this[_0x5eee67(0x15e)],'host':this['host'],'url':'http://'+this['host']+':'+this[_0x5eee67(0x15e)]});}catch(_0x17a7b9){this[_0x5eee67(0x173)][_0x5eee67(0x17f)]('Web\x20server\x20initialization\x20failed',{'error':_0x17a7b9['message'],'stack':_0x17a7b9['stack']});throw _0x17a7b9;}}['setupMiddleware'](){const _0x37a5f6=a0_0x4ff7;this[_0x37a5f6(0x181)][_0x37a5f6(0xd1)]((_0x35a6a9,_0x296aba,_0x5dc588)=>{const _0x56d51b=_0x37a5f6;_0x296aba['header']('Access-Control-Allow-Origin','*'),_0x296aba['header']('Access-Control-Allow-Methods','GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0x296aba[_0x56d51b(0x16a)]('Access-Control-Allow-Headers',_0x56d51b(0x12a)),_0x35a6a9['method']===_0x56d51b(0xf5)?_0x296aba[_0x56d51b(0x146)](HTTP_STATUS['OK']):_0x5dc588();}),this[_0x37a5f6(0x181)]['use'](a0_0x1792ef[_0x37a5f6(0x142)]({'limit':_0x37a5f6(0x19d)})),this['app']['use'](a0_0x1792ef['urlencoded']({'extended':!![],'limit':_0x37a5f6(0x19d)})),this[_0x37a5f6(0x1a4)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app']['use']('/api/file-explorer',this[_0x37a5f6(0x1a4)][_0x37a5f6(0x11d)]);const _0x289966=a0_0x4d9ede[_0x37a5f6(0x191)](__dirname,_0x37a5f6(0x10c));this[_0x37a5f6(0x181)]['use'](a0_0x1792ef['static'](_0x289966)),this['app']['use']((_0x493e39,_0x53b547,_0x43b952)=>{const _0x8bef90=_0x37a5f6;this[_0x8bef90(0x173)]['debug'](_0x493e39[_0x8bef90(0x182)]+'\x20'+_0x493e39['path'],{'ip':_0x493e39['ip'],'userAgent':_0x493e39['get']('User-Agent')}),_0x43b952();});}['setupRoutes'](){const _0x47b250=a0_0x4ff7;this[_0x47b250(0x181)]['get'](_0x47b250(0x1df),async(_0x517cba,_0x47bce8)=>{const _0x591fc7=_0x47b250;try{const _0x5e67c8=a0_0x4d9ede['join'](__dirname,'../../package.json'),_0x3a6589=JSON[_0x591fc7(0x1d9)](await a0_0x2a46e4[_0x591fc7(0xd4)](_0x5e67c8,_0x591fc7(0x178)));_0x47bce8['json']({'status':_0x591fc7(0xd7),'version':_0x3a6589['version']||_0x591fc7(0x193),'timestamp':new Date()[_0x591fc7(0x1d0)]()});}catch(_0x4d0063){_0x47bce8[_0x591fc7(0x142)]({'status':'healthy','version':_0x591fc7(0x193),'timestamp':new Date()[_0x591fc7(0x1d0)]()});}}),this['app']['post']('/api/sessions',async(_0x1093fd,_0x4e4086)=>{const _0x56fed3=_0x47b250;try{const _0x1ef612=_0x56fed3(0xff)+Date[_0x56fed3(0x1ce)]()+'-'+Math[_0x56fed3(0x112)]()['toString'](0x24)['substr'](0x2,0x9),_0x543592=_0x1093fd[_0x56fed3(0xe9)]['projectDir']||process[_0x56fed3(0x15d)](),_0x572bc7={'id':_0x1ef612,'projectDir':_0x543592,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()[_0x56fed3(0x1d0)]()};this[_0x56fed3(0x1d3)]['set'](_0x1ef612,_0x572bc7),_0x4e4086[_0x56fed3(0x142)]({'success':!![],'session':_0x572bc7});}catch(_0x2194e9){_0x4e4086[_0x56fed3(0xef)](HTTP_STATUS[_0x56fed3(0x161)])['json']({'success':![],'error':_0x2194e9['message']});}}),this['app'][_0x47b250(0x127)](_0x47b250(0x1aa),async(_0x5a1d95,_0x143870)=>{const _0x13dc12=_0x47b250;try{const _0xb01450={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x5a1d95['body']['sessionId'],'action':_0x5a1d95['body']['action'],'payload':_0x5a1d95[_0x13dc12(0xe9)]['payload'],'projectDir':_0x5a1d95['body']['projectDir']||process['cwd']()},_0x3939e0=await this[_0x13dc12(0x131)]['processRequest'](_0xb01450);this[_0x13dc12(0x15c)](_0xb01450['sessionId'],{'type':_0x13dc12(0x158),'action':_0xb01450[_0x13dc12(0xec)],'response':_0x3939e0}),_0x143870[_0x13dc12(0x142)](_0x3939e0);}catch(_0x11629a){this[_0x13dc12(0x173)]['error'](_0x13dc12(0x117),{'error':_0x11629a['message'],'body':_0x5a1d95[_0x13dc12(0xe9)]}),_0x143870[_0x13dc12(0xef)](HTTP_STATUS[_0x13dc12(0x161)])[_0x13dc12(0x142)]({'success':![],'error':_0x11629a['message']});}}),this['app'][_0x47b250(0x126)]('/api/files',async(_0x31a306,_0x158d8d)=>{const _0x55b54d=_0x47b250;try{const {path:_0x2db0fc,projectDir:_0x31d432}=_0x31a306['query'],_0x4a833e=a0_0x4d9ede[_0x55b54d(0x141)](_0x31d432||process['cwd'](),_0x2db0fc||'.'),_0x5d9b37=await a0_0x2a46e4[_0x55b54d(0x16f)](_0x4a833e);if(_0x5d9b37['isDirectory']()){const _0x51caaa=await a0_0x2a46e4['readdir'](_0x4a833e,{'withFileTypes':!![]}),_0x4e8834=_0x51caaa[_0x55b54d(0xe8)](_0x2ec20b=>({'name':_0x2ec20b['name'],'type':_0x2ec20b[_0x55b54d(0x162)]()?'directory':'file','path':a0_0x4d9ede[_0x55b54d(0x191)](_0x2db0fc||'.',_0x2ec20b['name'])}));_0x158d8d['json']({'success':!![],'files':_0x4e8834});}else{const _0x2afd57=await a0_0x2a46e4[_0x55b54d(0xd4)](_0x4a833e,'utf8');_0x158d8d['json']({'success':!![],'content':_0x2afd57,'type':'file'});}}catch(_0x515f3e){_0x158d8d[_0x55b54d(0xef)](HTTP_STATUS[_0x55b54d(0x17b)])[_0x55b54d(0x142)]({'success':![],'error':_0x515f3e[_0x55b54d(0x1c4)]});}}),this['app'][_0x47b250(0x127)]('/api/files/upload',async(_0x2d02fa,_0x46961e)=>{const _0x40e4f8=_0x47b250;try{const {fileName:_0x5f25f8,content:_0x508cbc,projectDir:_0x5898dd}=_0x2d02fa[_0x40e4f8(0xe9)],_0x4cd480=_0x5898dd||process[_0x40e4f8(0x15d)](),_0x66abdc=a0_0x4d9ede['resolve'](_0x4cd480,_0x5f25f8);await a0_0x2a46e4[_0x40e4f8(0x14d)](_0x4cd480,{'recursive':!![]}),await a0_0x2a46e4['writeFile'](_0x66abdc,_0x508cbc,_0x40e4f8(0x178)),_0x46961e[_0x40e4f8(0x142)]({'success':!![],'message':_0x40e4f8(0x1b9),'path':_0x66abdc});}catch(_0x15f884){_0x46961e[_0x40e4f8(0xef)](HTTP_STATUS[_0x40e4f8(0x161)])['json']({'success':![],'error':_0x15f884['message']});}}),this[_0x47b250(0x181)][_0x47b250(0x126)](_0x47b250(0x130),async(_0x492069,_0x5ce2e9)=>{const _0x169201=_0x47b250;try{const {path:_0x56fc3e,showHidden:showHidden=![]}=_0x492069[_0x169201(0x125)],_0xad20d6=_0x56fc3e||process['cwd'](),_0x41e25c=a0_0x4d9ede['resolve'](_0xad20d6),_0x1079c7=a0_0x4d9ede['normalize'](_0x41e25c),_0x545fae=await a0_0x2a46e4[_0x169201(0x16f)](_0x1079c7);if(!_0x545fae[_0x169201(0x162)]())return _0x5ce2e9['status'](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':_0x169201(0x189)});const _0x224e31=await a0_0x2a46e4['readdir'](_0x1079c7,{'withFileTypes':!![]}),_0x2f319a=await Promise[_0x169201(0x174)](_0x224e31['filter'](_0xef4161=>showHidden==='true'||!_0xef4161[_0x169201(0x12c)][_0x169201(0xf4)]('.'))[_0x169201(0xe8)](async _0x4b86fe=>{const _0x3eece7=_0x169201,_0x5018b1=a0_0x4d9ede['join'](_0x1079c7,_0x4b86fe[_0x3eece7(0x12c)]),_0xa06818=await a0_0x2a46e4[_0x3eece7(0x16f)](_0x5018b1)[_0x3eece7(0x177)](()=>null);return{'name':_0x4b86fe[_0x3eece7(0x12c)],'type':_0x4b86fe['isDirectory']()?'directory':'file','path':_0x5018b1,'relativePath':a0_0x4d9ede['relative'](process['cwd'](),_0x5018b1),'size':_0xa06818?.[_0x3eece7(0x157)]||0x0,'modified':_0xa06818?.['mtime']||null,'isHidden':_0x4b86fe['name'][_0x3eece7(0xf4)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x2f319a['sort']((_0x64081b,_0x5ca993)=>{const _0x32b7d3=_0x169201;if(_0x64081b['type']!==_0x5ca993[_0x32b7d3(0x151)])return _0x64081b['type']===_0x32b7d3(0x108)?-0x1:0x1;return _0x64081b[_0x32b7d3(0x12c)][_0x32b7d3(0x163)](_0x5ca993[_0x32b7d3(0x12c)]);});const _0x4ddf76=a0_0x4d9ede[_0x169201(0xdc)](_0x1079c7),_0x50dfa0=_0x4ddf76!==_0x1079c7;_0x5ce2e9[_0x169201(0x142)]({'success':!![],'currentPath':_0x1079c7,'currentRelativePath':a0_0x4d9ede[_0x169201(0x137)](process['cwd'](),_0x1079c7),'parentPath':_0x50dfa0?_0x4ddf76:null,'items':_0x2f319a,'totalItems':_0x2f319a[_0x169201(0x168)],'directories':_0x2f319a[_0x169201(0x11f)](_0x728b37=>_0x728b37['type']===_0x169201(0x108))['length'],'files':_0x2f319a['filter'](_0x5af9e4=>_0x5af9e4[_0x169201(0x151)]===_0x169201(0xe4))[_0x169201(0x168)]});}catch(_0x2e4ded){_0x5ce2e9['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x169201(0x142)]({'success':![],'error':_0x2e4ded[_0x169201(0x1c4)],'code':_0x2e4ded['code']});}}),this['app'][_0x47b250(0x127)](_0x47b250(0xd3),async(_0x58f040,_0x142c77)=>{const _0x19f0de=_0x47b250;try{const {path:_0xa4ffaa,name:_0x3baf07}=_0x58f040[_0x19f0de(0xe9)],_0x4864c7=a0_0x4d9ede['resolve'](_0xa4ffaa,_0x3baf07);await a0_0x2a46e4[_0x19f0de(0x14d)](_0x4864c7,{'recursive':![]}),_0x142c77[_0x19f0de(0x142)]({'success':!![],'path':_0x4864c7,'relativePath':a0_0x4d9ede[_0x19f0de(0x137)](process['cwd'](),_0x4864c7)});}catch(_0x13f1ac){_0x142c77['status'](HTTP_STATUS[_0x19f0de(0x161)])[_0x19f0de(0x142)]({'success':![],'error':_0x13f1ac['message'],'code':_0x13f1ac['code']});}}),this[_0x47b250(0x181)][_0x47b250(0x126)]('/api/explorer/info',async(_0x2ce99d,_0x361a0a)=>{const _0x470bcf=_0x47b250;try{const {path:_0x43976f}=_0x2ce99d['query'],_0x51caad=a0_0x4d9ede[_0x470bcf(0x141)](_0x43976f),_0x178239=await a0_0x2a46e4[_0x470bcf(0x16f)](_0x51caad);_0x361a0a[_0x470bcf(0x142)]({'success':!![],'path':_0x51caad,'relativePath':a0_0x4d9ede[_0x470bcf(0x137)](process['cwd'](),_0x51caad),'isDirectory':_0x178239[_0x470bcf(0x162)](),'isFile':_0x178239[_0x470bcf(0x18a)](),'size':_0x178239['size'],'created':_0x178239[_0x470bcf(0x171)],'modified':_0x178239['mtime'],'accessed':_0x178239[_0x470bcf(0x1c2)]});}catch(_0x65eaf8){_0x361a0a['status'](HTTP_STATUS[_0x470bcf(0x161)])[_0x470bcf(0x142)]({'success':![],'error':_0x65eaf8['message'],'code':_0x65eaf8[_0x470bcf(0x18f)]});}}),this[_0x47b250(0x181)]['post']('/api/llm/chat',async(_0x1f6273,_0x303d5b)=>{const _0x175973=_0x47b250;try{const {sessionId:_0x5e5800,model:_0x25d73a,platformProvided:_0x318564}=_0x1f6273[_0x175973(0xe9)];if(!_0x5e5800)return _0x303d5b[_0x175973(0xef)](0x190)[_0x175973(0x142)]({'error':'Session\x20ID\x20is\x20required'});let _0x457b94=null,_0x4f2d55=null;if(this[_0x175973(0x10d)]){const _0x2d65f7=this[_0x175973(0x10d)][_0x175973(0x186)](_0x5e5800,{'platformProvided':_0x318564||![],'vendor':this['_getVendorFromModel'](_0x25d73a)});_0x457b94=_0x2d65f7[_0x175973(0x1a1)],_0x4f2d55=_0x2d65f7[_0x175973(0x1dd)];}!_0x457b94&&(_0x457b94=this[_0x175973(0x1d2)]['loxiaApiKey']||process[_0x175973(0x123)]['LOXIA_API_KEY']);!_0x457b94&&_0x1f6273[_0x175973(0xe9)][_0x175973(0x18b)]&&(_0x457b94=_0x1f6273['body'][_0x175973(0x18b)]);if(!_0x457b94)return this['logger']['warn'](_0x175973(0x1dc),{'sessionId':_0x5e5800,'model':_0x25d73a,'platformProvided':_0x318564,'hasSessionManager':!!this['apiKeyManager']}),_0x303d5b['status'](0x191)['json']({'error':_0x175973(0x105)});const _0x85429d=_0x175973(0x154),_0x45624f={..._0x1f6273[_0x175973(0xe9)],'apiKey':_0x457b94,..._0x4f2d55&&{'vendorApiKey':_0x4f2d55}},_0x263c40={'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x457b94},'body':JSON[_0x175973(0x17a)](_0x45624f)};this['logger']['info'](_0x175973(0xdb),{'url':_0x85429d,'model':_0x1f6273[_0x175973(0xe9)][_0x175973(0x1db)],'hasApiKey':!!_0x457b94});const _0x380b26=await fetch(_0x85429d,_0x263c40);if(_0x380b26['ok']){const _0x3e7959=await _0x380b26[_0x175973(0x142)]();this['logger'][_0x175973(0x179)]('Successfully received response from Azure backend',{'model':_0x3e7959[_0x175973(0x1db)],'contentLength':_0x3e7959['content']?.['length']||0x0}),_0x303d5b[_0x175973(0x142)](_0x3e7959);}else{const _0x381c51=await _0x380b26[_0x175973(0x172)]();this[_0x175973(0x173)][_0x175973(0x16e)](_0x175973(0xcd),{'status':_0x380b26[_0x175973(0xef)],'statusText':_0x380b26[_0x175973(0x124)],'error':_0x381c51}),_0x303d5b[_0x175973(0xef)](_0x380b26['status'])['json']({'error':_0x175973(0x110)+_0x380b26['status']+'\x20'+_0x380b26['statusText'],'details':_0x381c51});}}catch(_0x51da6d){this['logger'][_0x175973(0x17f)](_0x175973(0x13f),{'error':_0x51da6d[_0x175973(0x1c4)],'stack':_0x51da6d['stack']}),_0x303d5b['status'](0x1f4)['json']({'error':'Failed\x20to\x20connect\x20to\x20AI\x20service','details':_0x51da6d[_0x175973(0x1c4)]});}}),this[_0x47b250(0x181)][_0x47b250(0x126)](_0x47b250(0x19e),async(_0x160466,_0x2bca95)=>{const _0x413338=_0x47b250;try{const _0x105e70=_0x160466[_0x413338(0x138)][_0x413338(0xe2)];let _0x46f7df=null;_0x105e70&&_0x105e70[_0x413338(0xf4)](_0x413338(0x148))&&(_0x46f7df=_0x105e70[_0x413338(0xf8)](0x7));!_0x46f7df&&(_0x46f7df=this['config'][_0x413338(0x1a1)]||process['env'][_0x413338(0x166)]);const _0xa5a323=_0x413338(0x18d),_0x3a4164={'method':'GET','headers':{'Content-Type':'application/json',..._0x46f7df&&{'Authorization':'Bearer\x20'+_0x46f7df}}};this['logger'][_0x413338(0x179)]('Fetching models from Loxia Azure backend',{'url':_0xa5a323,'hasApiKey':!!_0x46f7df});const _0x5e4032=await fetch(_0xa5a323,_0x3a4164);if(_0x5e4032['ok']){const _0x1fbf2f=await _0x5e4032['json']();this[_0x413338(0x173)]['info']('Successfully fetched models from Azure backend',{'modelCount':_0x1fbf2f['models']?.['length']||0x0}),_0x2bca95[_0x413338(0x142)](_0x1fbf2f);}else{const _0x30e920=await _0x5e4032['text']();this['logger'][_0x413338(0x17f)](_0x413338(0xdd),{'status':_0x5e4032[_0x413338(0xef)],'statusText':_0x5e4032[_0x413338(0x124)],'error':_0x30e920}),_0x2bca95['status'](_0x5e4032['status'])['json']({'success':![],'error':_0x413338(0x16b)+_0x5e4032[_0x413338(0xef)]+'\x20'+_0x5e4032['statusText'],'details':_0x30e920});}}catch(_0x1f295c){this['logger'][_0x413338(0x17f)]('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x1f295c[_0x413338(0x1c4)],'stack':_0x1f295c[_0x413338(0x1c6)]}),_0x2bca95[_0x413338(0xef)](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0x1f295c[_0x413338(0x1c4)]});}}),this['app'][_0x47b250(0x126)](_0x47b250(0xcf),async(_0x3746f1,_0x20417f)=>{const _0x452240=_0x47b250;try{const _0x23f932=this['toolsRegistry'];if(!_0x23f932)return _0x20417f[_0x452240(0xef)](0x1f4)[_0x452240(0x142)]({'error':_0x452240(0x1bc)});const _0x3c420b=_0x23f932['getAvailableToolsForUI']();this['logger']['info'](_0x452240(0x1d8),{'toolCount':_0x3c420b['length'],'tools':_0x3c420b[_0x452240(0xe8)](_0x17d396=>({'id':_0x17d396['id'],'name':_0x17d396[_0x452240(0x12c)],'category':_0x17d396[_0x452240(0x122)]}))}),_0x20417f[_0x452240(0x142)]({'success':!![],'tools':_0x3c420b,'total':_0x3c420b['length']});}catch(_0x3f1ce6){this[_0x452240(0x173)][_0x452240(0x17f)]('Failed\x20to\x20get\x20tools\x20information',{'error':_0x3f1ce6['message'],'stack':_0x3f1ce6['stack']}),_0x20417f['status'](0x1f4)['json']({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x3f1ce6[_0x452240(0x1c4)]});}}),this[_0x47b250(0x181)]['post'](_0x47b250(0x1ca),async(_0x5bf84b,_0x2ccb3a)=>{const _0x32aef3=_0x47b250;try{const {sessionId:_0x1ecfa8,loxiaApiKey:_0x4480b0,vendorKeys:_0x103902}=_0x5bf84b['body'];if(!_0x1ecfa8)return _0x2ccb3a['status'](0x190)['json']({'success':![],'error':_0x32aef3(0x175)});if(!this[_0x32aef3(0x10d)])return _0x2ccb3a['status'](0x1f4)[_0x32aef3(0x142)]({'success':![],'error':_0x32aef3(0x1b3)});this['apiKeyManager'][_0x32aef3(0x18c)](_0x1ecfa8,{'loxiaApiKey':_0x4480b0,'vendorKeys':_0x103902||{}}),this['logger']['info'](_0x32aef3(0x14f),{'sessionId':_0x1ecfa8,'hasLoxiaKey':!!_0x4480b0,'vendorKeys':Object['keys'](_0x103902||{})});if(this['orchestrator']&&this['orchestrator'][_0x32aef3(0x13e)]&&_0x4480b0)try{await this['orchestrator'][_0x32aef3(0x13e)]['refresh']({'sessionId':_0x1ecfa8,'apiKey':_0x4480b0}),this[_0x32aef3(0x173)]['info']('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x1ecfa8});}catch(_0x2b1dea){this['logger']['warn'](_0x32aef3(0x1b1),{'error':_0x2b1dea['message'],'sessionId':_0x1ecfa8});}_0x2ccb3a['json']({'success':!![],'message':_0x32aef3(0x1b6),'sessionId':_0x1ecfa8,'hasLoxiaKey':!!_0x4480b0,'vendorKeys':Object['keys'](_0x103902||{})});}catch(_0xec7b32){this['logger'][_0x32aef3(0x17f)](_0x32aef3(0x1ab),{'error':_0xec7b32['message'],'sessionId':_0x5bf84b['body'][_0x32aef3(0x1c7)]}),_0x2ccb3a[_0x32aef3(0xef)](0x1f4)['json']({'success':![],'error':_0xec7b32['message']});}}),this['app']['get']('/api/keys/:sessionId',async(_0x482a0a,_0x18463e)=>{const _0x4c24a3=_0x47b250;try{const {sessionId:_0x18a257}=_0x482a0a['params'];if(!this[_0x4c24a3(0x10d)])return _0x18463e['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x3f8ba1=this[_0x4c24a3(0x10d)]['getSessionKeys'](_0x18a257);_0x18463e[_0x4c24a3(0x142)]({'success':!![],'sessionId':_0x18a257,'hasLoxiaKey':!!_0x3f8ba1[_0x4c24a3(0x1a1)],'vendorKeys':Object[_0x4c24a3(0x1d4)](_0x3f8ba1['vendorKeys']||{}),'updatedAt':_0x3f8ba1['updatedAt']});}catch(_0x362435){this[_0x4c24a3(0x173)][_0x4c24a3(0x17f)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x362435['message'],'sessionId':_0x482a0a[_0x4c24a3(0x10e)][_0x4c24a3(0x1c7)]}),_0x18463e['status'](0x1f4)[_0x4c24a3(0x142)]({'success':![],'error':_0x362435[_0x4c24a3(0x1c4)]});}}),this['app']['delete'](_0x47b250(0xea),async(_0x4662f5,_0x482210)=>{const _0x19ea0c=_0x47b250;try{const {sessionId:_0x3dd2d5}=_0x4662f5['params'];if(!this[_0x19ea0c(0x10d)])return _0x482210['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x13ea26=this[_0x19ea0c(0x10d)][_0x19ea0c(0x10f)](_0x3dd2d5);_0x482210['json']({'success':!![],'removed':_0x13ea26,'message':_0x13ea26?_0x19ea0c(0x129):_0x19ea0c(0x1c0)});}catch(_0x4daf3e){this['logger'][_0x19ea0c(0x17f)](_0x19ea0c(0xf3),{'error':_0x4daf3e['message'],'sessionId':_0x4662f5['params'][_0x19ea0c(0x1c7)]}),_0x482210['status'](0x1f4)[_0x19ea0c(0x142)]({'success':![],'error':_0x4daf3e['message']});}}),this['app'][_0x47b250(0x126)]('/api/keys',async(_0x474b16,_0x1181f4)=>{const _0x4f9f1f=_0x47b250;try{if(!this['apiKeyManager'])return _0x1181f4['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x57fa6d=this['apiKeyManager']['getActiveSessions']();_0x1181f4[_0x4f9f1f(0x142)]({'success':!![],'sessions':_0x57fa6d,'total':_0x57fa6d['length']});}catch(_0x41f396){this[_0x4f9f1f(0x173)]['error'](_0x4f9f1f(0x1cf),{'error':_0x41f396['message']}),_0x1181f4['status'](0x1f4)['json']({'success':![],'error':_0x41f396['message']});}}),this['app'][_0x47b250(0x127)]('/api/agents/:agentId/attachments/upload',async(_0x2c9c0b,_0x24305c)=>{const _0x28b634=_0x47b250;try{const {agentId:_0x5d1689}=_0x2c9c0b[_0x28b634(0x10e)],{filePath:_0x47cc3d,mode:_0x5eaa24,fileName:_0x5c03da}=_0x2c9c0b[_0x28b634(0xe9)];if(!this[_0x28b634(0x131)]?.['fileAttachmentService'])return _0x24305c[_0x28b634(0xef)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x527bff=await this[_0x28b634(0x131)]['fileAttachmentService'][_0x28b634(0xde)]({'agentId':_0x5d1689,'filePath':_0x47cc3d,'mode':_0x5eaa24||_0x28b634(0x116),'fileName':_0x5c03da});this[_0x28b634(0x173)]['info'](_0x28b634(0xce),{'agentId':_0x5d1689,'fileId':_0x527bff['fileId'],'fileName':_0x527bff[_0x28b634(0x13a)]}),_0x24305c['json']({'success':!![],'attachment':_0x527bff});}catch(_0x33659b){this['logger'][_0x28b634(0x17f)]('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0x2c9c0b[_0x28b634(0x10e)][_0x28b634(0xfa)],'error':_0x33659b[_0x28b634(0x1c4)]}),_0x24305c['status'](0x1f4)['json']({'success':![],'error':_0x33659b[_0x28b634(0x1c4)]});}}),this[_0x47b250(0x181)]['get'](_0x47b250(0x1ba),async(_0x1e0d7f,_0x32b560)=>{const _0x4e8534=_0x47b250;try{const {agentId:_0x5728da}=_0x1e0d7f['params'],{mode:_0x470b64,active:_0x417970}=_0x1e0d7f['query'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x32b560[_0x4e8534(0xef)](0x1f4)[_0x4e8534(0x142)]({'success':![],'error':_0x4e8534(0x1b5)});const _0x33a429={};if(_0x470b64)_0x33a429['mode']=_0x470b64;if(_0x417970!==undefined)_0x33a429['active']=_0x417970==='true';const _0x426ba6=await this[_0x4e8534(0x131)]['fileAttachmentService'][_0x4e8534(0x192)](_0x5728da,_0x33a429);_0x32b560[_0x4e8534(0x142)]({'success':!![],'attachments':_0x426ba6,'total':_0x426ba6[_0x4e8534(0x168)]});}catch(_0x566379){this[_0x4e8534(0x173)][_0x4e8534(0x17f)]('Failed\x20to\x20get\x20attachments',{'agentId':_0x1e0d7f[_0x4e8534(0x10e)][_0x4e8534(0xfa)],'error':_0x566379[_0x4e8534(0x1c4)]}),_0x32b560[_0x4e8534(0xef)](0x1f4)['json']({'success':![],'error':_0x566379['message']});}}),this['app']['get']('/api/attachments/:fileId',async(_0x48cbd7,_0x4daee7)=>{const _0x57852c=_0x47b250;try{const {fileId:_0x3d84d5}=_0x48cbd7[_0x57852c(0x10e)];if(!this[_0x57852c(0x131)]?.['fileAttachmentService'])return _0x4daee7[_0x57852c(0xef)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x3660b0=await this['orchestrator'][_0x57852c(0x100)]['getAttachment'](_0x3d84d5);if(!_0x3660b0)return _0x4daee7['status'](0x194)['json']({'success':![],'error':'Attachment\x20not\x20found'});_0x4daee7[_0x57852c(0x142)]({'success':!![],'attachment':_0x3660b0});}catch(_0x38d5db){this['logger']['error']('Failed\x20to\x20get\x20attachment',{'fileId':_0x48cbd7['params']['fileId'],'error':_0x38d5db['message']}),_0x4daee7['status'](0x1f4)[_0x57852c(0x142)]({'success':![],'error':_0x38d5db['message']});}}),this['app'][_0x47b250(0x12d)]('/api/attachments/:fileId/toggle',async(_0x9cfd58,_0x5d427f)=>{const _0x23650d=_0x47b250;try{const {fileId:_0xde516b}=_0x9cfd58['params'];if(!this[_0x23650d(0x131)]?.[_0x23650d(0x100)])return _0x5d427f[_0x23650d(0xef)](0x1f4)[_0x23650d(0x142)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x363dd1=await this[_0x23650d(0x131)]['fileAttachmentService'][_0x23650d(0x155)](_0xde516b);this['logger']['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0xde516b,'active':_0x363dd1[_0x23650d(0x167)]}),_0x5d427f['json']({'success':!![],'attachment':_0x363dd1});}catch(_0x3a645b){this['logger']['error']('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x9cfd58['params'][_0x23650d(0x1bb)],'error':_0x3a645b['message']}),_0x5d427f['status'](0x1f4)[_0x23650d(0x142)]({'success':![],'error':_0x3a645b['message']});}}),this[_0x47b250(0x181)]['patch'](_0x47b250(0x19f),async(_0x2ba8ed,_0x3336f1)=>{const _0x241e2f=_0x47b250;try{const {fileId:_0x334a20}=_0x2ba8ed[_0x241e2f(0x10e)],{mode:_0x3ce60d,active:_0x3ef7a2}=_0x2ba8ed[_0x241e2f(0xe9)];if(!this[_0x241e2f(0x131)]?.['fileAttachmentService'])return _0x3336f1['status'](0x1f4)[_0x241e2f(0x142)]({'success':![],'error':_0x241e2f(0x1b5)});const _0x32aae8={};if(_0x3ce60d!==undefined)_0x32aae8[_0x241e2f(0x12f)]=_0x3ce60d;if(_0x3ef7a2!==undefined)_0x32aae8['active']=_0x3ef7a2;const _0x16c8b8=await this['orchestrator'][_0x241e2f(0x100)][_0x241e2f(0x14b)](_0x334a20,_0x32aae8);this[_0x241e2f(0x173)]['info'](_0x241e2f(0x1a0),{'fileId':_0x334a20,'updates':_0x32aae8}),_0x3336f1['json']({'success':!![],'attachment':_0x16c8b8});}catch(_0x3ba826){this[_0x241e2f(0x173)]['error'](_0x241e2f(0x180),{'fileId':_0x2ba8ed[_0x241e2f(0x10e)][_0x241e2f(0x1bb)],'error':_0x3ba826['message']}),_0x3336f1[_0x241e2f(0xef)](0x1f4)['json']({'success':![],'error':_0x3ba826['message']});}}),this[_0x47b250(0x181)][_0x47b250(0x190)](_0x47b250(0x19f),async(_0x45bed2,_0x330702)=>{const _0x20ff42=_0x47b250;try{const {fileId:_0x417228}=_0x45bed2['params'],{agentId:_0x5e9172}=_0x45bed2[_0x20ff42(0x125)];if(!_0x5e9172)return _0x330702[_0x20ff42(0xef)](0x190)[_0x20ff42(0x142)]({'success':![],'error':'agentId\x20query\x20parameter\x20is\x20required'});if(!this['orchestrator']?.[_0x20ff42(0x100)])return _0x330702['status'](0x1f4)[_0x20ff42(0x142)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x159f7a=await this[_0x20ff42(0x131)]['fileAttachmentService']['deleteAttachment'](_0x417228,_0x5e9172);this[_0x20ff42(0x173)][_0x20ff42(0x179)](_0x20ff42(0xd5),{'fileId':_0x417228,'agentId':_0x5e9172,'physicallyDeleted':_0x159f7a[_0x20ff42(0x135)]}),_0x330702[_0x20ff42(0x142)]({'success':!![],'message':_0x159f7a['physicallyDeleted']?_0x20ff42(0xd5):'Reference\x20removed','physicallyDeleted':_0x159f7a['physicallyDeleted']});}catch(_0x76629e){this[_0x20ff42(0x173)][_0x20ff42(0x17f)]('Failed\x20to\x20delete\x20attachment',{'fileId':_0x45bed2['params'][_0x20ff42(0x1bb)],'error':_0x76629e[_0x20ff42(0x1c4)]}),_0x330702['status'](0x1f4)['json']({'success':![],'error':_0x76629e[_0x20ff42(0x1c4)]});}}),this['app']['post']('/api/attachments/:fileId/import',async(_0x4d9758,_0x361695)=>{const _0x6d9ab2=_0x47b250;try{const {fileId:_0x1a4150}=_0x4d9758[_0x6d9ab2(0x10e)],{targetAgentId:_0x1f0ea4}=_0x4d9758['body'];if(!_0x1f0ea4)return _0x361695[_0x6d9ab2(0xef)](0x190)['json']({'success':![],'error':_0x6d9ab2(0x101)});if(!this[_0x6d9ab2(0x131)]?.[_0x6d9ab2(0x100)])return _0x361695['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x507e0f=await this['orchestrator']['fileAttachmentService'][_0x6d9ab2(0xfb)](_0x1a4150,_0x1f0ea4);this['logger'][_0x6d9ab2(0x179)]('Attachment imported',{'fileId':_0x1a4150,'targetAgentId':_0x1f0ea4}),_0x361695['json']({'success':!![],'attachment':_0x507e0f});}catch(_0x2ac3c6){this['logger']['error']('Failed to import attachment',{'fileId':_0x4d9758[_0x6d9ab2(0x10e)]['fileId'],'error':_0x2ac3c6['message']}),_0x361695[_0x6d9ab2(0xef)](0x1f4)['json']({'success':![],'error':_0x2ac3c6['message']});}}),this['app']['get'](_0x47b250(0x1bf),async(_0x8da9a,_0x367a4a)=>{const _0x2c09d9=_0x47b250;try{const {fileId:_0x4127ed}=_0x8da9a['params'];if(!this[_0x2c09d9(0x131)]?.['fileAttachmentService'])return _0x367a4a['status'](0x1f4)[_0x2c09d9(0x142)]({'success':![],'error':_0x2c09d9(0x1b5)});const _0x581f9d=await this[_0x2c09d9(0x131)]['fileAttachmentService']['getAttachmentPreview'](_0x4127ed);if(!_0x581f9d)return _0x367a4a['status'](0x194)[_0x2c09d9(0x142)]({'success':![],'error':'Attachment\x20not\x20found'});_0x367a4a[_0x2c09d9(0x142)]({'success':!![],'preview':_0x581f9d});}catch(_0x31a02d){this['logger']['error'](_0x2c09d9(0x102),{'fileId':_0x8da9a['params'][_0x2c09d9(0x1bb)],'error':_0x31a02d[_0x2c09d9(0x1c4)]}),_0x367a4a['status'](0x1f4)[_0x2c09d9(0x142)]({'success':![],'error':_0x31a02d['message']});}}),this['app'][_0x47b250(0x126)](_0x47b250(0x114),async(_0x273a8f,_0x144ec2)=>{const _0x54a2b7=_0x47b250;try{const {sessionId:_0x313646,filename:_0x49f41f}=_0x273a8f[_0x54a2b7(0x10e)],_0x21b85a=this['sessions']['get'](_0x313646);if(!_0x21b85a)return _0x144ec2[_0x54a2b7(0xef)](HTTP_STATUS['FORBIDDEN'])[_0x54a2b7(0x142)]({'success':![],'error':'Invalid\x20session'});const _0x49ac93=a0_0x4d9ede['basename'](_0x49f41f);if(_0x49ac93!==_0x49f41f||_0x49f41f['includes']('..')||_0x49f41f[_0x54a2b7(0x15f)]('/')||_0x49f41f['includes']('\x5c'))return _0x144ec2['status'](HTTP_STATUS[_0x54a2b7(0x10b)])['json']({'success':![],'error':_0x54a2b7(0x1a6)});let _0x542dcd=null;const _0x4373c9=[a0_0x4d9ede['join'](_0x21b85a['projectDir']||process[_0x54a2b7(0x15d)](),'images',_0x49ac93),a0_0x4d9ede['join'](_0x54a2b7(0x196),_0x313646,_0x49ac93),a0_0x4d9ede[_0x54a2b7(0x191)](_0x54a2b7(0x196),_0x49ac93)];if(this[_0x54a2b7(0x131)]?.[_0x54a2b7(0x1b7)])try{const _0x21199b=await this['orchestrator'][_0x54a2b7(0x1b7)]['getAllAgents']();for(const _0x1fe522 of _0x21199b){_0x1fe522[_0x54a2b7(0xfd)]?.['workingDirectory']&&_0x4373c9[_0x54a2b7(0x1d1)](a0_0x4d9ede['join'](_0x1fe522[_0x54a2b7(0xfd)]['workingDirectory'],'images',_0x49ac93));}}catch(_0x4d87af){this[_0x54a2b7(0x173)]['warn'](_0x54a2b7(0x115),{'error':_0x4d87af['message']});}for(const _0x2b3104 of _0x4373c9){try{const _0x3bc1d=await a0_0x2a46e4[_0x54a2b7(0x16f)](_0x2b3104);if(_0x3bc1d['isFile']()){_0x542dcd=_0x2b3104,this['logger']['info']('Image\x20found',{'filename':_0x49ac93,'path':_0x542dcd,'sessionId':_0x313646});break;}}catch(_0x334508){continue;}}if(!_0x542dcd)return this['logger'][_0x54a2b7(0x16e)]('Image\x20not\x20found\x20in\x20any\x20search\x20path',{'filename':_0x49ac93,'sessionId':_0x313646,'searchPaths':_0x4373c9}),_0x144ec2[_0x54a2b7(0xef)](HTTP_STATUS[_0x54a2b7(0x17b)])['json']({'success':![],'error':'Image\x20not\x20found'});_0x144ec2[_0x54a2b7(0x1af)](_0x542dcd,_0x580245=>{const _0x1bee71=_0x54a2b7;_0x580245?(this[_0x1bee71(0x173)]['error']('Failed\x20to\x20send\x20image\x20file',{'error':_0x580245[_0x1bee71(0x1c4)],'imagePath':_0x542dcd,'filename':_0x49ac93}),!_0x144ec2['headersSent']&&_0x144ec2['status'](HTTP_STATUS[_0x1bee71(0x161)])[_0x1bee71(0x142)]({'success':![],'error':'Failed\x20to\x20serve\x20image'})):this['logger'][_0x1bee71(0x179)]('Image\x20served\x20successfully',{'filename':_0x49ac93,'path':_0x542dcd,'sessionId':_0x313646});});}catch(_0x19f1d8){this[_0x54a2b7(0x173)]['error'](_0x54a2b7(0x19a),{'error':_0x19f1d8['message'],'sessionId':_0x273a8f[_0x54a2b7(0x10e)]['sessionId'],'filename':_0x273a8f['params']['filename']}),_0x144ec2['status'](HTTP_STATUS[_0x54a2b7(0x161)])[_0x54a2b7(0x142)]({'success':![],'error':_0x19f1d8[_0x54a2b7(0x1c4)]});}}),this[_0x47b250(0x181)][_0x47b250(0x127)]('/api/agents/:agentId/mode',async(_0x5a753f,_0x4b4224)=>{const _0x5034cf=_0x47b250;try{const {agentId:_0x5dff1f}=_0x5a753f['params'],{mode:_0x26d069,lockMode:lockMode=![],sessionId:_0x576e48}=_0x5a753f['body'];if(!Object['values'](AGENT_MODES)[_0x5034cf(0x15f)](_0x26d069))return _0x4b4224[_0x5034cf(0xef)](0x190)['json']({'success':![],'error':_0x5034cf(0x195)+Object['values'](AGENT_MODES)[_0x5034cf(0x191)](',\x20')});const _0x37716f=_0x576e48||_0x5a753f['sessionID'];!_0x37716f&&this[_0x5034cf(0x173)][_0x5034cf(0x16e)]('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0x5dff1f,'hasBodySessionId':!!_0x576e48,'hasReqSessionId':!!_0x5a753f['sessionID']});const _0x3f1874={'interface':INTERFACE_TYPES[_0x5034cf(0x1b4)],'sessionId':_0x37716f,'action':_0x5034cf(0x17c),'payload':{'agentId':_0x5dff1f,'updates':{'mode':_0x26d069}}},_0xcbe5f6=await this[_0x5034cf(0x131)][_0x5034cf(0x139)](_0x3f1874);if(_0xcbe5f6[_0x5034cf(0x144)]){const _0x319e27=_0xcbe5f6[_0x5034cf(0x1be)];this[_0x5034cf(0x173)][_0x5034cf(0x179)]('Agent\x20mode\x20updated:\x20'+_0x5dff1f,{'newMode':_0x26d069,'lockMode':lockMode,'finalMode':_0x319e27?.['mode']}),this['broadcastToSession'](_0x3f1874[_0x5034cf(0x1c7)],{'type':'agent_mode_changed','data':{'agentId':_0x5dff1f,'mode':_0x319e27?.[_0x5034cf(0x12f)],'modeState':_0x319e27?.['modeState']}}),_0x4b4224['json']({'success':!![],'agent':_0x319e27,'message':_0x5034cf(0x1c5)+_0x319e27?.['mode']});}else _0x4b4224['status'](0x190)['json']({'success':![],'error':_0xcbe5f6['error']||_0x5034cf(0x111)});}catch(_0x526530){this[_0x5034cf(0x173)][_0x5034cf(0x17f)]('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0x5a753f['params']['agentId'],'error':_0x526530[_0x5034cf(0x1c4)]}),_0x4b4224[_0x5034cf(0xef)](0x1f4)['json']({'success':![],'error':_0x526530['message']});}}),this['app']['post'](_0x47b250(0x120),async(_0x3e1b16,_0x5acbb1)=>{const _0x4ad774=_0x47b250;try{const {agentId:_0x14e069}=_0x3e1b16[_0x4ad774(0x10e)],_0x9dedda=this['orchestrator'][_0x4ad774(0x1ae)];if(!_0x9dedda)return _0x5acbb1[_0x4ad774(0xef)](0x1f4)[_0x4ad774(0x142)]({'success':![],'error':_0x4ad774(0x150)});const _0x1a3cc8=await _0x9dedda['stopAutonomousExecution'](_0x14e069);this[_0x4ad774(0x173)]['info'](_0x4ad774(0x128)+_0x14e069);const _0x4513bf=_0x3e1b16[_0x4ad774(0x1ac)]||_0x1a3cc8['agent']?.['sessionId'];_0x4513bf&&this[_0x4ad774(0x15c)](_0x4513bf,{'type':'agent_mode_changed','data':{'agentId':_0x14e069,'mode':_0x1a3cc8['agent']?.[_0x4ad774(0x12f)],'modeState':_0x1a3cc8[_0x4ad774(0xf9)]?.[_0x4ad774(0x17e)]}}),_0x5acbb1[_0x4ad774(0x142)](_0x1a3cc8);}catch(_0x3e6cb5){this[_0x4ad774(0x173)]['error']('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x3e1b16[_0x4ad774(0x10e)]['agentId'],'error':_0x3e6cb5['message']}),_0x5acbb1['status'](0x1f4)['json']({'success':![],'error':_0x3e6cb5['message']});}}),this[_0x47b250(0x181)][_0x47b250(0x126)]('/api/agents/:agentId/mode',async(_0x582232,_0x2e0302)=>{const _0xbd3afe=_0x47b250;try{const {agentId:_0x50e87e}=_0x582232[_0xbd3afe(0x10e)],_0x5e1d2e={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x582232[_0xbd3afe(0x1ac)],'action':_0xbd3afe(0xe1),'payload':{'agentId':_0x50e87e}},_0x1dd726=await this['orchestrator']['processRequest'](_0x5e1d2e);_0x1dd726['success']&&_0x1dd726[_0xbd3afe(0xf9)]?_0x2e0302['json']({'success':!![],'mode':_0x1dd726[_0xbd3afe(0xf9)][_0xbd3afe(0x12f)],'modeState':_0x1dd726['agent']['modeState'],'currentTask':_0x1dd726['agent'][_0xbd3afe(0x159)],'iterationCount':_0x1dd726['agent'][_0xbd3afe(0x1b2)],'taskStartTime':_0x1dd726['agent']['taskStartTime'],'stopRequested':_0x1dd726['agent']['stopRequested']}):_0x2e0302['status'](0x194)[_0xbd3afe(0x142)]({'success':![],'error':_0xbd3afe(0x14e)});}catch(_0x56ea4c){this['logger'][_0xbd3afe(0x17f)](_0xbd3afe(0xda),{'agentId':_0x582232['params'][_0xbd3afe(0xfa)],'error':_0x56ea4c[_0xbd3afe(0x1c4)]}),_0x2e0302[_0xbd3afe(0xef)](0x1f4)[_0xbd3afe(0x142)]({'success':![],'error':_0x56ea4c['message']});}}),this['app']['post'](_0x47b250(0x198),async(_0xd248b2,_0x28a1df)=>{const _0x307e3b=_0x47b250;try{const {agentId:_0xcf72bd}=_0xd248b2['params'],_0x134862=await this[_0x307e3b(0x131)]['agentPool'][_0x307e3b(0x1da)](_0xcf72bd);_0x28a1df['json'](_0x134862);}catch(_0x1cc44f){this[_0x307e3b(0x173)][_0x307e3b(0x17f)]('Failed\x20to\x20clear\x20agent\x20conversation',{'agentId':_0xd248b2[_0x307e3b(0x10e)]['agentId'],'error':_0x1cc44f[_0x307e3b(0x1c4)]}),_0x28a1df[_0x307e3b(0xef)](0x1f4)['json']({'success':![],'error':_0x1cc44f['message']});}}),this['app']['get']('/api/agents/:agentId/activity',async(_0x480692,_0x3867eb)=>{const _0x21cf4d=_0x47b250;try{const {agentId:_0xf8b2fe}=_0x480692[_0x21cf4d(0x10e)],{shouldAgentBeActive:_0x445000}=await import(_0x21cf4d(0xf2)),_0x1e5128=await this['orchestrator']['agentPool'][_0x21cf4d(0xee)](_0xf8b2fe);if(!_0x1e5128)return _0x3867eb[_0x21cf4d(0xef)](0x194)[_0x21cf4d(0x142)]({'success':![],'error':'Agent\x20not\x20found'});const _0x4be6f6=_0x445000(_0x1e5128);_0x3867eb['json']({'success':!![],'agentId':_0xf8b2fe,'isActive':_0x4be6f6['active'],'reason':_0x4be6f6['reason'],'details':_0x4be6f6['details']});}catch(_0x516083){this['logger'][_0x21cf4d(0x17f)]('Failed\x20to\x20get\x20agent\x20activity\x20status',{'agentId':_0x480692['params']['agentId'],'error':_0x516083[_0x21cf4d(0x1c4)]}),_0x3867eb['status'](0x1f4)[_0x21cf4d(0x142)]({'success':![],'error':_0x516083[_0x21cf4d(0x1c4)]});}}),this['app'][_0x47b250(0x126)]('/api/agents/available',async(_0x23abec,_0x593693)=>{const _0xe93ef4=_0x47b250;try{const _0x6ae92=this[_0xe93ef4(0x131)][_0xe93ef4(0x1d2)]['project']?.['directory']||process['cwd'](),_0x59bed9=await this[_0xe93ef4(0x131)][_0xe93ef4(0xd6)]['getAllAvailableAgents'](_0x6ae92,this[_0xe93ef4(0x131)][_0xe93ef4(0x1b7)]);_0x593693['json']({'success':!![],'agents':_0x59bed9,'total':_0x59bed9[_0xe93ef4(0x168)],'active':_0x59bed9['filter'](_0x26f95e=>_0x26f95e['isLoaded'])[_0xe93ef4(0x168)],'archived':_0x59bed9['filter'](_0x47400b=>!_0x47400b[_0xe93ef4(0x16c)])[_0xe93ef4(0x168)]});}catch(_0x5bdd41){this['logger']['error'](_0xe93ef4(0xd2),{'error':_0x5bdd41[_0xe93ef4(0x1c4)],'stack':_0x5bdd41[_0xe93ef4(0x1c6)]}),_0x593693[_0xe93ef4(0xef)](0x1f4)[_0xe93ef4(0x142)]({'success':![],'error':_0x5bdd41['message']});}}),this[_0x47b250(0x181)][_0x47b250(0x126)]('/api/agents/:agentId/metadata',async(_0x33320b,_0x4e363c)=>{const _0x4b6703=_0x47b250;try{const {agentId:_0x2cf3d8}=_0x33320b['params'],_0x52c340=this[_0x4b6703(0x131)]['config'][_0x4b6703(0x10a)]?.[_0x4b6703(0x108)]||process[_0x4b6703(0x15d)](),_0x2f5907=await this['orchestrator'][_0x4b6703(0xd6)]['getAgentMetadata'](_0x2cf3d8,_0x52c340);_0x4e363c[_0x4b6703(0x142)]({'success':!![],'metadata':_0x2f5907});}catch(_0x428cce){this[_0x4b6703(0x173)][_0x4b6703(0x17f)](_0x4b6703(0x132),{'agentId':_0x33320b['params']['agentId'],'error':_0x428cce['message']}),_0x4e363c['status'](0x194)['json']({'success':![],'error':_0x428cce['message']});}}),this[_0x47b250(0x181)][_0x47b250(0x127)]('/api/agents/import',async(_0x3609ec,_0x4603d3)=>{const _0x164ed3=_0x47b250;try{const {agentId:_0x5a0856}=_0x3609ec['body'];if(!_0x5a0856)return _0x4603d3['status'](0x190)[_0x164ed3(0x142)]({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0xfbef26=this['orchestrator']['config']['project']?.['directory']||process[_0x164ed3(0x15d)](),_0xd0fd67=await this['orchestrator'][_0x164ed3(0xd6)]['importArchivedAgent'](_0x5a0856,_0xfbef26,this[_0x164ed3(0x131)]['agentPool']);this[_0x164ed3(0x1de)]&&this['wsManager'][_0x164ed3(0x197)]({'type':'agent-imported','agent':{'id':_0xd0fd67['id'],'name':_0xd0fd67['name'],'status':_0xd0fd67[_0x164ed3(0xef)],'capabilities':_0xd0fd67[_0x164ed3(0xe5)],'model':_0xd0fd67[_0x164ed3(0x18e)]||_0xd0fd67[_0x164ed3(0x1a2)]}}),this['logger'][_0x164ed3(0x179)]('Agent imported successfully',{'agentId':_0xd0fd67['id'],'name':_0xd0fd67['name']}),_0x4603d3[_0x164ed3(0x142)]({'success':!![],'agent':{'id':_0xd0fd67['id'],'name':_0xd0fd67[_0x164ed3(0x12c)],'status':_0xd0fd67[_0x164ed3(0xef)],'model':_0xd0fd67['currentModel']||_0xd0fd67[_0x164ed3(0x1a2)],'capabilities':_0xd0fd67[_0x164ed3(0xe5)],'lastActivity':_0xd0fd67[_0x164ed3(0x169)]},'message':_0x164ed3(0x1c3)+_0xd0fd67['name']+'\x20imported\x20successfully'});}catch(_0x291722){this['logger'][_0x164ed3(0x17f)]('Failed to import agent',{'agentId':_0x3609ec['body']['agentId'],'error':_0x291722[_0x164ed3(0x1c4)],'stack':_0x291722['stack']});const _0x10c0a4=_0x291722[_0x164ed3(0x1c4)]['includes'](_0x164ed3(0x15a))?0x199:_0x291722['message']['includes'](_0x164ed3(0x17d))?0x194:_0x291722['message']['includes'](_0x164ed3(0x165))?0x190:0x1f4;_0x4603d3[_0x164ed3(0xef)](_0x10c0a4)['json']({'success':![],'error':_0x291722[_0x164ed3(0x1c4)]});}}),this[_0x47b250(0x181)]['get']('*',(_0xff13df,_0x3b52a3)=>{const _0x1b336c=_0x47b250,_0x117cb0=a0_0x4d9ede[_0x1b336c(0x191)](__dirname,'../../web-ui/build/index.html');_0x3b52a3[_0x1b336c(0x1af)](_0x117cb0,_0x44a5a1=>{const _0x5e334e=_0x1b336c;_0x44a5a1&&_0x3b52a3['status'](HTTP_STATUS[_0x5e334e(0x17b)])['send']('Web\x20UI\x20not\x20built.\x20Run:\x20npm\x20run\x20build:ui');});});}['setupWebSocket'](){const _0xd761e2=a0_0x4ff7;this[_0xd761e2(0x173)][_0xd761e2(0x179)](_0xd761e2(0x13c),{'port':this[_0xd761e2(0x15e)],'host':this['host'],'wsServerExists':!!this[_0xd761e2(0x1bd)],'httpServerExists':!!this[_0xd761e2(0x1a7)]}),this[_0xd761e2(0x1bd)]['on'](_0xd761e2(0x17f),_0x1cfc7f=>{const _0x588b08=_0xd761e2;this['logger']['error'](_0x588b08(0x11a),{'error':_0x1cfc7f['message'],'stack':_0x1cfc7f[_0x588b08(0x1c6)],'port':this[_0x588b08(0x15e)]});}),this['wss']['on']('listening',()=>{const _0x3efc7c=_0xd761e2;this[_0x3efc7c(0x173)][_0x3efc7c(0x179)](_0x3efc7c(0x134),{'port':this[_0x3efc7c(0x15e)],'host':this[_0x3efc7c(0x11e)]});}),this[_0xd761e2(0x1bd)]['on'](_0xd761e2(0x170),(_0x349b78,_0xd28071)=>{const _0x35ece6=_0xd761e2,_0xdc229d='conn-'+Date[_0x35ece6(0x1ce)]()+'-'+Math[_0x35ece6(0x112)]()[_0x35ece6(0x1c8)](0x24)[_0x35ece6(0xf1)](0x2,0x9);this['logger']['info'](_0x35ece6(0x143),{'connectionId':_0xdc229d,'ip':_0xd28071['socket']['remoteAddress'],'origin':_0xd28071['headers']['origin'],'host':_0xd28071['headers']['host'],'userAgent':_0xd28071['headers']['user-agent'],'url':_0xd28071['url']});const _0x2d06f0={'id':_0xdc229d,'ws':_0x349b78,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this[_0x35ece6(0x12e)]['set'](_0xdc229d,_0x2d06f0),_0x349b78['on']('message',async _0x4d9738=>{const _0x5e63dc=_0x35ece6;try{const _0xa976ed=JSON['parse'](_0x4d9738['toString']());await this['handleWebSocketMessage'](_0xdc229d,_0xa976ed);}catch(_0x13b409){this['logger'][_0x5e63dc(0x17f)]('WebSocket\x20message\x20error',{'connectionId':_0xdc229d,'error':_0x13b409['message']}),_0x349b78['send'](JSON['stringify']({'type':'error','error':_0x13b409[_0x5e63dc(0x1c4)]}));}}),_0x349b78['on'](_0x35ece6(0x11b),()=>{const _0x383ac5=_0x35ece6;this[_0x383ac5(0x173)][_0x383ac5(0x179)]('WebSocket\x20connection\x20closed',{'connectionId':_0xdc229d}),this['connections'][_0x383ac5(0x190)](_0xdc229d);}),_0x349b78['send'](JSON[_0x35ece6(0x17a)]({'type':_0x35ece6(0x104),'connectionId':_0xdc229d,'timestamp':new Date()['toISOString']()}));});}async['handleWebSocketMessage'](_0x5c18b6,_0x57296f){const _0x4e49ca=a0_0x4ff7,_0x59273d=this[_0x4e49ca(0x12e)]['get'](_0x5c18b6);if(!_0x59273d)return;_0x59273d[_0x4e49ca(0x169)]=new Date()[_0x4e49ca(0x1d0)]();switch(_0x57296f['type']){case _0x4e49ca(0x118):const _0x408707=_0x57296f[_0x4e49ca(0x1c7)];_0x59273d['sessionId']=_0x408707,this['logger'][_0x4e49ca(0x179)]('WebSocket\x20joined\x20session',{'connectionId':_0x5c18b6,'sessionId':_0x408707,'totalConnectionsForSession':Array[_0x4e49ca(0x1d5)](this[_0x4e49ca(0x12e)]['values']())['filter'](_0x58dd64=>_0x58dd64['sessionId']===_0x408707)['length']}),_0x59273d['ws'][_0x4e49ca(0x176)](JSON[_0x4e49ca(0x17a)]({'type':_0x4e49ca(0xed),'sessionId':_0x408707}));break;case _0x4e49ca(0x153):_0x59273d['ws']['send'](JSON['stringify']({'type':'pong','timestamp':new Date()[_0x4e49ca(0x1d0)]()}));break;case'orchestrator_request':try{const _0x423011={'interface':INTERFACE_TYPES[_0x4e49ca(0x1b4)],'sessionId':_0x59273d['sessionId'],'action':_0x57296f['action'],'payload':_0x57296f['payload'],'projectDir':_0x57296f[_0x4e49ca(0xdf)]||process[_0x4e49ca(0x15d)]()},_0x59a0a7=await this['orchestrator']['processRequest'](_0x423011);_0x59273d['ws']['send'](JSON['stringify']({'type':'orchestrator_response','requestId':_0x57296f['requestId'],'response':_0x59a0a7}));}catch(_0x442a5b){_0x59273d['ws'][_0x4e49ca(0x176)](JSON[_0x4e49ca(0x17a)]({'type':'error','requestId':_0x57296f['requestId'],'error':_0x442a5b['message']}));}break;default:this[_0x4e49ca(0x173)][_0x4e49ca(0x16e)](_0x4e49ca(0x187),{'connectionId':_0x5c18b6,'type':_0x57296f['type']});}}[a0_0x5b353f(0x15c)](_0xa9ab5d,_0x10ca0c){const _0x31e49c=a0_0x5b353f,_0xe5f221=Array['from'](this[_0x31e49c(0x12e)][_0x31e49c(0x1a5)]())['filter'](_0x57f7f3=>_0x57f7f3[_0x31e49c(0x1c7)]===_0xa9ab5d);let _0x1e2df4=[];_0xe5f221[_0x31e49c(0x168)]===0x0&&(_0x1e2df4=Array[_0x31e49c(0x1d5)](this[_0x31e49c(0x12e)][_0x31e49c(0x1a5)]()),this[_0x31e49c(0x173)]?.[_0x31e49c(0x16e)](_0x31e49c(0x1b8),{'targetSessionId':_0xa9ab5d,'totalConnections':this[_0x31e49c(0x12e)][_0x31e49c(0x157)],'allSessionIds':Array[_0x31e49c(0x1d5)](this[_0x31e49c(0x12e)]['values']())['map'](_0x39b826=>_0x39b826['sessionId'])[_0x31e49c(0x11f)](Boolean)}));const _0x540812=_0xe5f221['length']>0x0?_0xe5f221:_0x1e2df4;this['logger']?.['info'](_0x31e49c(0xe3),{'sessionId':_0xa9ab5d,'messageType':_0x10ca0c['type'],'agentId':_0x10ca0c['agentId'],'totalConnections':this[_0x31e49c(0x12e)]['size'],'sessionConnections':_0xe5f221['length'],'targetConnections':_0x540812[_0x31e49c(0x168)],'connectionIds':_0x540812[_0x31e49c(0xe8)](_0x425243=>_0x425243['id']),'usingFallback':_0xe5f221['length']===0x0,'messagePreview':_0x10ca0c[_0x31e49c(0x151)]===_0x31e49c(0x1b0)&&_0x10ca0c['message']?{'messageId':_0x10ca0c['message']['id'],'messageRole':_0x10ca0c[_0x31e49c(0x1c4)][_0x31e49c(0x15b)],'contentLength':_0x10ca0c['message'][_0x31e49c(0x116)]?.[_0x31e49c(0x168)],'hasToolResults':!!_0x10ca0c[_0x31e49c(0x1c4)][_0x31e49c(0x183)]}:undefined});for(const _0x459eec of _0x540812){try{const _0x26c57b={..._0x10ca0c,'timestamp':new Date()[_0x31e49c(0x1d0)]()};_0x459eec['ws']['send'](JSON['stringify'](_0x26c57b)),this['logger']?.[_0x31e49c(0x179)](_0x31e49c(0xeb),{'connectionId':_0x459eec['id'],'messageType':_0x10ca0c[_0x31e49c(0x151)],'agentId':_0x10ca0c[_0x31e49c(0xfa)]});}catch(_0x1061e5){this['logger']['warn'](_0x31e49c(0x19b),{'connectionId':_0x459eec['id'],'sessionId':_0xa9ab5d,'messageType':_0x10ca0c[_0x31e49c(0x151)],'error':_0x1061e5['message']});}}}async['startServer'](){return new Promise((_0xa9a2dc,_0x5b9dd3)=>{const _0x1c5f12=a0_0x4ff7;this[_0x1c5f12(0x1a7)][_0x1c5f12(0x106)](this['port'],this['host'],_0x3d4d9c=>{const _0x5e915b=_0x1c5f12;_0x3d4d9c?(this['logger']['error']('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0x3d4d9c['message'],'port':this[_0x5e915b(0x15e)],'host':this[_0x5e915b(0x11e)]}),_0x5b9dd3(_0x3d4d9c)):(this[_0x5e915b(0x12b)]=!![],this['logger'][_0x5e915b(0x179)](_0x5e915b(0x1cc),{'port':this['port'],'host':this['host'],'httpUrl':_0x5e915b(0x103)+this[_0x5e915b(0x11e)]+':'+this['port'],'wsUrl':_0x5e915b(0xf7)+this['host']+':'+this[_0x5e915b(0x15e)],'wsServerAttached':!!this['wss'],'wsConnections':this['connections'][_0x5e915b(0x157)]}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0xa9a2dc());}),this[_0x1c5f12(0x1a7)]['on'](_0x1c5f12(0x17f),_0x4dceb4=>{const _0x53a88e=_0x1c5f12;this[_0x53a88e(0x173)][_0x53a88e(0x17f)]('HTTP\x20server\x20error:',{'error':_0x4dceb4['message'],'stack':_0x4dceb4[_0x53a88e(0x1c6)],'port':this['port']});});});}async['testWebSocketServer'](){const _0xd6662f=a0_0x5b353f;try{const {default:_0x1c8832}=await import('ws'),_0x40c85a=new _0x1c8832(_0xd6662f(0x113)+this['port']);_0x40c85a['on']('open',()=>{const _0x1d3a25=_0xd6662f;this[_0x1d3a25(0x173)]['info']('✅\x20WebSocket\x20server\x20test:\x20SUCCESSFUL',{'port':this['port'],'url':_0x1d3a25(0x113)+this[_0x1d3a25(0x15e)]}),_0x40c85a['close']();}),_0x40c85a['on'](_0xd6662f(0x17f),_0x311a59=>{const _0xe1e6d5=_0xd6662f;this['logger']['error'](_0xe1e6d5(0x149),{'port':this['port'],'url':'ws://localhost:'+this['port'],'error':_0x311a59['message'],'code':_0x311a59[_0xe1e6d5(0x18f)]});}),_0x40c85a['on']('close',(_0x278897,_0x17cc7f)=>{const _0x3dd036=_0xd6662f;_0x278897===0x3e8&&this['logger'][_0x3dd036(0x179)]('WebSocket\x20test\x20connection\x20closed\x20cleanly');}),setTimeout(()=>{const _0x1a8e5b=_0xd6662f;_0x40c85a['readyState']===_0x1c8832['CONNECTING']&&(this[_0x1a8e5b(0x173)][_0x1a8e5b(0x17f)]('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this[_0x1a8e5b(0x15e)],'url':_0x1a8e5b(0x113)+this['port'],'readyState':_0x40c85a['readyState']}),_0x40c85a[_0x1a8e5b(0x1a3)]());},0x1388);}catch(_0x329801){this[_0xd6662f(0x173)][_0xd6662f(0x17f)]('❌\x20WebSocket\x20server\x20test:\x20EXCEPTION',{'error':_0x329801[_0xd6662f(0x1c4)],'stack':_0x329801['stack']});}}['setApiKeyManager'](_0x5e0d90){const _0x21f94a=a0_0x5b353f;this['apiKeyManager']=_0x5e0d90,this[_0x21f94a(0x173)]?.['info'](_0x21f94a(0xd9),{'hasManager':!!_0x5e0d90});}[a0_0x5b353f(0x1cd)](_0x19c68e){const _0x379d8b=a0_0x5b353f;if(!_0x19c68e)return null;const _0x2dbb22=_0x19c68e[_0x379d8b(0xe6)]();if(_0x2dbb22[_0x379d8b(0x15f)]('anthropic')||_0x2dbb22[_0x379d8b(0x15f)](_0x379d8b(0x13d)))return'anthropic';else{if(_0x2dbb22[_0x379d8b(0x15f)]('openai')||_0x2dbb22['includes']('gpt'))return'openai';else{if(_0x2dbb22['includes'](_0x379d8b(0xfe)))return'deepseek';else{if(_0x2dbb22['includes'](_0x379d8b(0x164)))return _0x379d8b(0x152);}}}return null;}[a0_0x5b353f(0x194)](){const _0x314cef=a0_0x5b353f;return{'isRunning':this['isRunning'],'port':this[_0x314cef(0x15e)],'host':this[_0x314cef(0x11e)],'connections':this['connections'][_0x314cef(0x157)],'sessions':this[_0x314cef(0x1d3)][_0x314cef(0x157)],'url':'http://'+this[_0x314cef(0x11e)]+':'+this['port']};}async[a0_0x5b353f(0xd0)](){const _0x5cc57d=a0_0x5b353f;if(!this['isRunning'])return;this['logger'][_0x5cc57d(0x179)]('Shutting\x20down\x20web\x20server...');for(const _0x5a1e23 of this['connections']['values']()){_0x5a1e23['ws'][_0x5cc57d(0x11b)]();}return this['connections'][_0x5cc57d(0x188)](),this[_0x5cc57d(0x1bd)][_0x5cc57d(0x11b)](),new Promise(_0x20e527=>{this['server']['close'](()=>{const _0x581d1a=a0_0x4ff7;this['isRunning']=![],this[_0x581d1a(0x173)][_0x581d1a(0x179)]('Web\x20server\x20shutdown\x20complete'),_0x20e527();});});}}export default WebServer;if(import.meta.url===a0_0x5b353f(0x19c)+process['argv'][0x1]){const simpleLogger={'info':(_0x201b3b,_0x59c26d)=>console['log']('[INFO]\x20'+_0x201b3b,_0x59c26d?JSON[a0_0x5b353f(0x17a)](_0x59c26d,null,0x2):''),'error':(_0x22b20e,_0x234605)=>console[a0_0x5b353f(0x17f)]('[ERROR]\x20'+_0x22b20e,_0x234605?JSON[a0_0x5b353f(0x17a)](_0x234605,null,0x2):''),'warn':(_0x516b2e,_0x56df5c)=>console[a0_0x5b353f(0x16e)]('[WARN]\x20'+_0x516b2e,_0x56df5c?JSON[a0_0x5b353f(0x17a)](_0x56df5c,null,0x2):''),'debug':(_0x2aaadc,_0x4e7958)=>console['log'](a0_0x5b353f(0x1d7)+_0x2aaadc,_0x4e7958?JSON[a0_0x5b353f(0x17a)](_0x4e7958,null,0x2):'')},mockOrchestrator={'processAction':async(_0xe92509,_0x59cb0d)=>{const _0x327c7b=a0_0x5b353f;simpleLogger[_0x327c7b(0x179)](_0x327c7b(0x147),{'action':_0xe92509,'data':_0x59cb0d});switch(_0xe92509){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x327c7b(0xfc)]:return{'success':!![],'data':{'id':'agent-'+Date[_0x327c7b(0x1ce)](),'name':_0x59cb0d['name']||_0x327c7b(0x184),'status':_0x327c7b(0x167),'model':_0x59cb0d['model']||_0x327c7b(0x1a8),'systemPrompt':_0x59cb0d[_0x327c7b(0x121)]||'You\x20are\x20a\x20helpful\x20AI\x20assistant.'}};case ORCHESTRATOR_ACTIONS[_0x327c7b(0x140)]:return{'success':!![],'data':{'message':{'id':_0x327c7b(0x160)+Date[_0x327c7b(0x1ce)](),'content':_0x327c7b(0x185)+_0x59cb0d['message'],'timestamp':new Date()[_0x327c7b(0x1d0)]()}}};default:return{'success':![],'error':'Unknown\x20action:\x20'+_0xe92509};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console[a0_0x5b353f(0xf0)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server[a0_0x5b353f(0x14a)]()['then'](()=>{const _0x2e88af=a0_0x5b353f,_0x2dadf1=server[_0x2e88af(0x194)]();console['log'](_0x2e88af(0x1c1)+_0x2dadf1[_0x2e88af(0x1d6)]),console['log'](_0x2e88af(0x119)),console['log']('🔧\x20API\x20available\x20at:\x20http://localhost:8080/api');})[a0_0x5b353f(0x177)](_0x5b1802=>{const _0x2239f5=a0_0x5b353f;console['error']('❌\x20Failed\x20to\x20start\x20web\x20server:',_0x5b1802[_0x2239f5(0x1c4)]),process['exit'](0x1);}),process['on'](a0_0x5b353f(0x133),async()=>{const _0x5066e9=a0_0x5b353f;console[_0x5066e9(0xf0)]('\x0a🛑\x20Shutting\x20down\x20web\x20server...'),await server['shutdown'](),process['exit'](0x0);});}
1
+ function a0_0x208a(_0x537d47,_0x8f002a){_0x537d47=_0x537d47-0x16c;const _0x1b15ec=a0_0x1b15();let _0x208a98=_0x1b15ec[_0x537d47];if(a0_0x208a['qSvozL']===undefined){var _0x1752ac=function(_0x22cb18){const _0xf65ca9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15f7dc='',_0x5b0dac='';for(let _0x95ade0=0x0,_0x51a20d,_0x363557,_0x397aa9=0x0;_0x363557=_0x22cb18['charAt'](_0x397aa9++);~_0x363557&&(_0x51a20d=_0x95ade0%0x4?_0x51a20d*0x40+_0x363557:_0x363557,_0x95ade0++%0x4)?_0x15f7dc+=String['fromCharCode'](0xff&_0x51a20d>>(-0x2*_0x95ade0&0x6)):0x0){_0x363557=_0xf65ca9['indexOf'](_0x363557);}for(let _0x186c2e=0x0,_0x3476e5=_0x15f7dc['length'];_0x186c2e<_0x3476e5;_0x186c2e++){_0x5b0dac+='%'+('00'+_0x15f7dc['charCodeAt'](_0x186c2e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b0dac);};a0_0x208a['XUsUFM']=_0x1752ac,a0_0x208a['ETHOGB']={},a0_0x208a['qSvozL']=!![];}const _0x46c1eb=_0x1b15ec[0x0],_0x33dfc1=_0x537d47+_0x46c1eb,_0x2156b7=a0_0x208a['ETHOGB'][_0x33dfc1];return!_0x2156b7?(_0x208a98=a0_0x208a['XUsUFM'](_0x208a98),a0_0x208a['ETHOGB'][_0x33dfc1]=_0x208a98):_0x208a98=_0x2156b7,_0x208a98;}const a0_0x204007=a0_0x208a;(function(_0xa09684,_0x43d1ce){const _0x5d005e=a0_0x208a,_0x264a90=_0xa09684();while(!![]){try{const _0x1f363e=parseInt(_0x5d005e(0x200))/0x1*(-parseInt(_0x5d005e(0x256))/0x2)+-parseInt(_0x5d005e(0x261))/0x3*(parseInt(_0x5d005e(0x1cc))/0x4)+parseInt(_0x5d005e(0x21b))/0x5*(-parseInt(_0x5d005e(0x1d2))/0x6)+parseInt(_0x5d005e(0x187))/0x7*(-parseInt(_0x5d005e(0x1cd))/0x8)+-parseInt(_0x5d005e(0x197))/0x9+parseInt(_0x5d005e(0x273))/0xa+parseInt(_0x5d005e(0x227))/0xb*(parseInt(_0x5d005e(0x26a))/0xc);if(_0x1f363e===_0x43d1ce)break;else _0x264a90['push'](_0x264a90['shift']());}catch(_0x4e044f){_0x264a90['push'](_0x264a90['shift']());}}}(a0_0x1b15,0xaf2f9));import a0_0x15f7dc from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x5b0dac from'path';import{promises as a0_0x95ade0}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_0x1b15(){const _0x2d6385=['v0vc','C3rHDa','C3vJy2vZCW','Ag9ZDa','sw52ywXPzcbZzxnZAw9U','CMvZB2X2zq','Ahr0CdOVlW','BwvZC2fNzvbYB2nLC3nVCG','DxbKyxrLqxr0ywnOBwvUDa','AgvHzgvYC1nLBNq','BgLZDgvUAw5N','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJO','C3rHCNrZv2L0Aa','l2fWAs9RzxLZlZPZzxnZAw9Uswq','ngTAyufSuW','nJm2mZi4vw1UEvjM','yxjNDG','x2DLDfzLBMrVCKzYB21nB2rLBa','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','mta5otHOwMndDgW','BxrPBwu','D3m6lY9SB2nHBgHVC3q6','ANnVBG','Cg9UzW','DxrMoa','C3vIC3rY','AgvHBhrOEq','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','u0Lhsu5u','DMvYC2LVBG','ms4WlJa','zMLSzq','z2v0','l2fWAs9Hz2vUDhmVoMfNzw50swqVy2XLyxi','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','Dhj1zq','Dgv4Da','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','8j+AGcbtDgfYDgLUzYbmB3HPysbxzwiGu2vYDMvYigLUihn0yw5KywXVBMuGBw9Kzs4UlG','C3rHDgLJ','BMfTzq','ywXS','Aw1Hz2vZ','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','DxnL','C3vIC3rYAw5N','zgvSzxrLqxr0ywnOBwvUDa','BgfZDefJDgL2Axr5','qKfex1jfuvvfu1q','C3rHy2S','lI4VlI4VD2vIlxvPl2j1AwXKl2LUzgv4lMH0BwW','CM91DgvY','zgLYzwn0B3j5','l2fWAs9OzwfSDgG','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','z2v0u3rHDhvZ','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','z3b0','Cgf0Aa','zxjYB3i','lI4VlI4VCgfJA2fNzs5QC29U','C2vZC2LVBKLe','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','C2L6zq','AM9PBG','nZfTu2viz0G','y2XLyxjdB252zxjZyxrPB24','B3jJAgvZDhjHDg9Yx3jLCxvLC3q','DMvUzg9Ys2v5CW','Cgf0y2G','ywDLBNq','ChvZAa','Aw1WB3j0rNjVBufNzw50','Bg9Nz2vY','D29YA2LUz0rPCMvJDg9YEq','C2vUza','w0vsuK9sxsa','yxbPs2v5','l2fWAs9LEhbSB3jLCI9PBMzV','qwnJzxnZlunVBNrYB2WTqwXSB3CTtwv0Ag9KCW','z2v0qxr0ywnOBwvUDfbYzxzPzxC','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','ue9tva','y29UzMLN','qxr0ywnOBwvUDcbKzwXLDgvK','C2vUzezPBgu','CMvHzezPBgu','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','y3DK','D2fYBG','CMvTB3zLu2vZC2LVBKTLExm','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','mJKZnwLkBLzdAa','ywDLBNrqB29S','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','yxbW','BwTKAxi','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','CgfYyw1Z','CM9Szq','AxngAwXL','zgv0ywLSCW','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','mtm3mtKYqu9xv3LP','AgvHzgvYCW','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','yxbPs2v5twfUywDLCG','t1busu9ouW','y2XVC2u','C3rHDgvnyw5Hz2vY','CMvTB3rLqwrKCMvZCW','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','yMfZzw5HBwu','Aw5JBhvKzxm','y2XHDwrL','BM93','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','sw1Hz2uGzM91BMq','AxnsDw5UAw5N','tw9KzwXZihjLzNjLC2HLzcb3AxrOig5LDYbbueKGA2v5','DhLWzq','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3rVz2DSzq','AxrLCMf0Aw9Uq291BNq','C2v0DxbxzwjtB2nRzxq','C2H1DgrVD24','Dg9tDhjPBMC','l2fWAs9Hz2vUDhmVoMfNzw50swqVywn0AxzPDhK','qxr0ywnOBwvUDcbUB3qGzM91BMq','C2vZC2LVBNm','ChjVAMvJDerPCG','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','Dg9VBfjLC3vSDhm','Bw9KzwXZ','l2fWAs9Hz2vUDhmVyxzHAwXHyMXL','ywn0Aw9U','l2fWAs9RzxLZ','BgvUz3rO','u0vorf9nrvntquDf','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9TB2rLBhm','r0vu','Bw9KzwW','y29UDgvUDa','ChjVy2vZC1jLCxvLC3q','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','zgLYzwn0B3j5qwnJzxnZ','D3m6lY8','yxrPBwu','B3jPz2LU','l2fWAs9MAwXLCY91CgXVywq','mJGXogDhqMD5DW','Aw5PDgLHBgL6zq','sw1Hz2uGC2vYDMLUzYbLCNjVCG','CMvX','Bw9KzwXZu2vYDMLJzq','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','D3nnyw5Hz2vY','zMLSzuLK','C3rYAw5NAwz5','z2v0qwDLBNq','Bw9Kzq','nda5mdy3n2vVt0fsDW','CMvHzgrPCG','C3rHCNrtzxj2zxi','y29UBMvJDgLVBNm','ywDLBNrjza','qwDLBNqGBw9Kzsb1CgrHDgvKoIa','mtbTyG','lI4VC2vYDMLJzxmVywDLBNrby3rPDML0EvnLCNzPy2uUANm','yNjVywrJyxn0vg9tzxnZAw9U','ndG3mMHRBwvpvq','yM9KEq','CgH5C2LJywXSEurLBgv0zwq','ywn0AxzL','zMLSzuv4CgXVCMvYtw9KDwXL','qwDLBNqGBw9KzsbZD2L0y2HLzcb0BYa','tM8GqvbjigTLExmGzM91BMqGzM9YihnLC3nPB24','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','Bwv0Ag9K','mte3otCZmefNA2Xluq','zMLSDgvY','C2v0','8j+uHcboBYbJB25Uzwn0Aw9UCYbMB3iGC2vZC2LVBIWGDhj5Aw5NigfSBcbJB25Uzwn0Aw9UCZO','zxHPDa','y2fWywjPBgL0AwvZ','sw52ywXPza','Bg9N','Cg9YDa','zMLSzu5HBwu','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','sfruucbZzxj2zxiGC3rHCNrLzcbZDwnJzxnZzNvSBhK','8j+tOsbxzwjtB2nRzxqGyNjVywrJyxn0vg9tzxnZAw9UignHBgXLzdO','z2v0qxr0ywnOBwvUDhm','Bg94AwfbCgLlzxK','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','DgHLBG','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','qMvHCMvYia','D3jPDgvgAwXL','Dg9mB3DLCKnHC2u','rMfPBgvKihrVihnLBMqGAw1Hz2uGzMLSzq','DMfSDwvZ','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','vw5RBM93BIbHy3rPB246ia','mte5svzkBgrY','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','w0rfqLvhxsa','Aw1WB3j0qxjJAgL2zwrbz2vUDa','z2v0qxr0ywnOBwvUDa','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','rMfPBgvKihrVihrVz2DSzsbHDhrHy2HTzw50','B3jJAgvZDhjHDg9Y','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','sw52ywXPzcbMAwXLBMfTzq','DxjS','z2v0qwDLBNrnzxrHzgf0yq','C2vZC2LVBKLK','rMfPBgvKihrVigrLBgv0zsbHDhrHy2HTzw50','zgvLChnLzwS','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','nte1mduWmMDhzuPyuW','r0vulcbqt1nulcbqvvqSierftevursWGt1busu9ouW','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','C3rHDhvZvgv4Da','q1jfqvrfx0fhru5u','AgvHzgvY','te9ysufFqvbjx0Tfwq','su5urvjoquXFu0vsvKvsx0vsuK9s','B3bLBMfP','A2v5CW','CMvHzhLtDgf0zq','Cgf5Bg9Hza','C3rHDhvZ','zNjVBq','Dg9ju09tDhjPBMC','yMLYDgH0Aw1L','CMvXDwvZDeLK','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','Cg9ZDa','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','ChjLzMvYCMvKtw9KzwW','rMfPBgvKihrVigDLDcb0B29SCYbPBMzVCM1HDgLVBG','C2vYDMvY','tMv3iefNzw50','ywDLBNrFBw9Kzv9JAgfUz2vK','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','AxneAxjLy3rVCNK','D3nZ','CxvLCNK','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','DxbKyxrLx2fNzw50','BwfW','zw52','BwvZC2fNzq','Aw5MBW','Bw9Kzvn0yxrL','vxnLCI1bz2vUDa','l2fWAs9LEhbSB3jLCG','y29Kzq'];a0_0x1b15=function(){return _0x2d6385;};return a0_0x1b15();}const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x5b0dac['dirname'](__filename);class WebServer{constructor(_0x51a20d,_0x363557,_0x397aa9={}){const _0x4627d3=a0_0x208a;this['orchestrator']=_0x51a20d,this[_0x4627d3(0x208)]=_0x363557,this[_0x4627d3(0x212)]=_0x397aa9,this[_0x4627d3(0x173)]=_0x397aa9['port']||0x1f90,this[_0x4627d3(0x1c1)]=_0x397aa9['host']||'localhost',this['app']=a0_0x15f7dc(),this[_0x4627d3(0x1ad)]=createServer(this['app']),this[_0x4627d3(0x1b2)]=new WebSocketServer({'server':this[_0x4627d3(0x1ad)],'verifyClient':_0x186c2e=>{const _0x56350d=_0x4627d3;return this['logger']?.[_0x56350d(0x1b9)](_0x56350d(0x1fd),{'origin':_0x186c2e[_0x56350d(0x254)],'host':_0x186c2e['req']['headers']['host'],'userAgent':_0x186c2e['req']['headers']['user-agent'],'url':_0x186c2e[_0x56350d(0x259)][_0x56350d(0x191)]}),!![];}}),this['connections']=new Map(),this[_0x4627d3(0x241)]=new Map(),this['apiKeyManager']=null,this['isRunning']=![];}async[a0_0x204007(0x257)](){const _0x257d1f=a0_0x204007;try{this['setupMiddleware'](),this['setupRoutes'](),this[_0x257d1f(0x23c)](),await this[_0x257d1f(0x263)](),this[_0x257d1f(0x208)]['info']('Web\x20server\x20initialized',{'port':this[_0x257d1f(0x173)],'host':this['host'],'url':'http://'+this[_0x257d1f(0x1c1)]+':'+this[_0x257d1f(0x173)]});}catch(_0x3476e5){this['logger']['error']('Web\x20server\x20initialization\x20failed',{'error':_0x3476e5[_0x257d1f(0x1b8)],'stack':_0x3476e5[_0x257d1f(0x1f0)]});throw _0x3476e5;}}['setupMiddleware'](){const _0x38c8e4=a0_0x204007;this[_0x38c8e4(0x21e)][_0x38c8e4(0x1eb)]((_0x3b56a7,_0x1a5b3c,_0x15efa8)=>{const _0x2848ae=_0x38c8e4;_0x1a5b3c[_0x2848ae(0x19c)]('Access-Control-Allow-Origin','*'),_0x1a5b3c[_0x2848ae(0x19c)](_0x2848ae(0x20e),_0x2848ae(0x198)),_0x1a5b3c[_0x2848ae(0x19c)](_0x2848ae(0x22f),'Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x3b56a7[_0x2848ae(0x272)]===_0x2848ae(0x22b)?_0x1a5b3c['sendStatus'](HTTP_STATUS['OK']):_0x15efa8();}),this[_0x38c8e4(0x21e)]['use'](a0_0x15f7dc[_0x38c8e4(0x1d5)]({'limit':_0x38c8e4(0x267)})),this['app'][_0x38c8e4(0x1eb)](a0_0x15f7dc['urlencoded']({'extended':!![],'limit':_0x38c8e4(0x267)})),this[_0x38c8e4(0x26e)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app'][_0x38c8e4(0x1eb)]('/api/file-explorer',this['fileExplorerModule'][_0x38c8e4(0x1f2)]);const _0x2cb833=a0_0x5b0dac['join'](__dirname,'../../web-ui/build');this['app']['use'](a0_0x15f7dc[_0x38c8e4(0x1e6)](_0x2cb833)),this[_0x38c8e4(0x21e)]['use']((_0x2f1b57,_0x17d2e6,_0x560acb)=>{const _0x593d09=_0x38c8e4;this[_0x593d09(0x208)]['debug'](_0x2f1b57['method']+'\x20'+_0x2f1b57[_0x593d09(0x1f9)],{'ip':_0x2f1b57['ip'],'userAgent':_0x2f1b57['get'](_0x593d09(0x1bb))}),_0x560acb();});}['setupRoutes'](){const _0x1e109d=a0_0x204007;this[_0x1e109d(0x21e)][_0x1e109d(0x1df)](_0x1e109d(0x1f4),async(_0xce2f08,_0x231763)=>{const _0x28ff56=_0x1e109d;try{const _0x418fd5=a0_0x5b0dac['join'](__dirname,_0x28ff56(0x1fb)),_0x374e06=JSON['parse'](await a0_0x95ade0['readFile'](_0x418fd5,_0x28ff56(0x1d7)));_0x231763['json']({'status':_0x28ff56(0x1d9),'version':_0x374e06[_0x28ff56(0x1dc)]||_0x28ff56(0x1dd),'timestamp':new Date()['toISOString']()});}catch(_0x1353ba){_0x231763[_0x28ff56(0x1d5)]({'status':_0x28ff56(0x1d9),'version':'1.0.0','timestamp':new Date()[_0x28ff56(0x1a5)]()});}}),this['app']['post']('/api/sessions',async(_0x94be89,_0x2bce8d)=>{const _0x2d5979=_0x1e109d;try{const _0x121c06='web-'+Date[_0x2d5979(0x233)]()+'-'+Math['random']()['toString'](0x24)['substr'](0x2,0x9),_0x37f4e7=_0x94be89[_0x2d5979(0x26b)]['projectDir']||process[_0x2d5979(0x217)](),_0x181d9f={'id':_0x121c06,'projectDir':_0x37f4e7,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this['sessions'][_0x2d5979(0x16d)](_0x121c06,_0x181d9f),_0x2bce8d[_0x2d5979(0x1d5)]({'success':!![],'session':_0x181d9f});}catch(_0x270c25){_0x2bce8d['status'](HTTP_STATUS[_0x2d5979(0x19e)])['json']({'success':![],'error':_0x270c25[_0x2d5979(0x1b8)]});}}),this[_0x1e109d(0x21e)]['post']('/api/orchestrator',async(_0x35c850,_0x42e7c2)=>{const _0x2556b0=_0x1e109d;try{const _0x3a7a53={'interface':INTERFACE_TYPES[_0x2556b0(0x1be)],'sessionId':_0x35c850['body'][_0x2556b0(0x193)],'action':_0x35c850[_0x2556b0(0x26b)][_0x2556b0(0x247)],'payload':_0x35c850[_0x2556b0(0x26b)]['payload'],'projectDir':_0x35c850['body']['projectDir']||process[_0x2556b0(0x217)]()},_0x3e5780=await this['orchestrator']['processRequest'](_0x3a7a53);this[_0x2556b0(0x269)](_0x3a7a53[_0x2556b0(0x193)],{'type':_0x2556b0(0x177),'action':_0x3a7a53[_0x2556b0(0x247)],'response':_0x3e5780}),_0x42e7c2['json'](_0x3e5780);}catch(_0x40c112){this['logger'][_0x2556b0(0x1fa)]('Orchestrator\x20API\x20error',{'error':_0x40c112['message'],'body':_0x35c850['body']}),_0x42e7c2[_0x2556b0(0x1a3)](HTTP_STATUS[_0x2556b0(0x19e)])['json']({'success':![],'error':_0x40c112['message']});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)]('/api/files',async(_0x5805e8,_0x2d9824)=>{const _0x2877f3=_0x1e109d;try{const {path:_0xc3b4df,projectDir:_0x3bda19}=_0x5805e8['query'],_0xcd0a74=a0_0x5b0dac['resolve'](_0x3bda19||process['cwd'](),_0xc3b4df||'.'),_0x5456bb=await a0_0x95ade0[_0x2877f3(0x1bf)](_0xcd0a74);if(_0x5456bb[_0x2877f3(0x1b1)]()){const _0xa45167=await a0_0x95ade0['readdir'](_0xcd0a74,{'withFileTypes':!![]}),_0x18d9b2=_0xa45167['map'](_0x2006f6=>({'name':_0x2006f6['name'],'type':_0x2006f6[_0x2877f3(0x1b1)]()?'directory':_0x2877f3(0x1de),'path':a0_0x5b0dac[_0x2877f3(0x1ff)](_0xc3b4df||'.',_0x2006f6[_0x2877f3(0x1e7)])}));_0x2d9824[_0x2877f3(0x1d5)]({'success':!![],'files':_0x18d9b2});}else{const _0x35c625=await a0_0x95ade0[_0x2877f3(0x215)](_0xcd0a74,'utf8');_0x2d9824[_0x2877f3(0x1d5)]({'success':!![],'content':_0x35c625,'type':_0x2877f3(0x1de)});}}catch(_0x2929b5){_0x2d9824[_0x2877f3(0x1a3)](HTTP_STATUS['NOT_FOUND'])['json']({'success':![],'error':_0x2929b5['message']});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1a9)](_0x1e109d(0x255),async(_0x41b9cb,_0x4d0718)=>{const _0x2c13d8=_0x1e109d;try{const {fileName:_0xdc32d4,content:_0x3156f7,projectDir:_0x52ebe6}=_0x41b9cb[_0x2c13d8(0x26b)],_0x2d9fe4=_0x52ebe6||process['cwd'](),_0x56641d=a0_0x5b0dac['resolve'](_0x2d9fe4,_0xdc32d4);await a0_0x95ade0['mkdir'](_0x2d9fe4,{'recursive':!![]}),await a0_0x95ade0[_0x2c13d8(0x181)](_0x56641d,_0x3156f7,_0x2c13d8(0x1d7)),_0x4d0718['json']({'success':!![],'message':'File\x20uploaded\x20successfully','path':_0x56641d});}catch(_0x40d028){_0x4d0718['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x40d028[_0x2c13d8(0x1b8)]});}}),this[_0x1e109d(0x21e)]['get'](_0x1e109d(0x1bc),async(_0x4be189,_0x24ee4d)=>{const _0x1318a7=_0x1e109d;try{const {path:_0x4a73b5,showHidden:showHidden=![]}=_0x4be189[_0x1318a7(0x1b3)],_0x2e4d60=_0x4a73b5||process[_0x1318a7(0x217)](),_0x1767a8=a0_0x5b0dac['resolve'](_0x2e4d60),_0x5e4917=a0_0x5b0dac['normalize'](_0x1767a8),_0x466348=await a0_0x95ade0[_0x1318a7(0x1bf)](_0x5e4917);if(!_0x466348['isDirectory']())return _0x24ee4d[_0x1318a7(0x1a3)](HTTP_STATUS['BAD_REQUEST'])[_0x1318a7(0x1d5)]({'success':![],'error':_0x1318a7(0x21a)});const _0x1ed3c2=await a0_0x95ade0[_0x1318a7(0x262)](_0x5e4917,{'withFileTypes':!![]}),_0x158573=await Promise[_0x1318a7(0x1e8)](_0x1ed3c2[_0x1318a7(0x16c)](_0x430f12=>showHidden===_0x1318a7(0x1e2)||!_0x430f12['name']['startsWith']('.'))['map'](async _0x99031c=>{const _0x229f37=_0x1318a7,_0x3a06a7=a0_0x5b0dac['join'](_0x5e4917,_0x99031c['name']),_0x93c90f=await a0_0x95ade0['stat'](_0x3a06a7)['catch'](()=>null);return{'name':_0x99031c[_0x229f37(0x1e7)],'type':_0x99031c['isDirectory']()?_0x229f37(0x1f3):'file','path':_0x3a06a7,'relativePath':a0_0x5b0dac['relative'](process['cwd'](),_0x3a06a7),'size':_0x93c90f?.['size']||0x0,'modified':_0x93c90f?.[_0x229f37(0x1d3)]||null,'isHidden':_0x99031c['name'][_0x229f37(0x1ca)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x158573['sort']((_0x8b6d8f,_0x304dd0)=>{const _0x9aca5a=_0x1318a7;if(_0x8b6d8f[_0x9aca5a(0x239)]!==_0x304dd0['type'])return _0x8b6d8f[_0x9aca5a(0x239)]===_0x9aca5a(0x1f3)?-0x1:0x1;return _0x8b6d8f[_0x9aca5a(0x1e7)]['localeCompare'](_0x304dd0[_0x9aca5a(0x1e7)]);});const _0x5280e9=a0_0x5b0dac['dirname'](_0x5e4917),_0x3d6b8d=_0x5280e9!==_0x5e4917;_0x24ee4d['json']({'success':!![],'currentPath':_0x5e4917,'currentRelativePath':a0_0x5b0dac['relative'](process[_0x1318a7(0x217)](),_0x5e4917),'parentPath':_0x3d6b8d?_0x5280e9:null,'items':_0x158573,'totalItems':_0x158573['length'],'directories':_0x158573[_0x1318a7(0x16c)](_0x3662b6=>_0x3662b6[_0x1318a7(0x239)]===_0x1318a7(0x1f3))[_0x1318a7(0x249)],'files':_0x158573[_0x1318a7(0x16c)](_0x1f5b74=>_0x1f5b74[_0x1318a7(0x239)]===_0x1318a7(0x1de))['length']});}catch(_0x136f00){_0x24ee4d[_0x1318a7(0x1a3)](HTTP_STATUS[_0x1318a7(0x19e)])[_0x1318a7(0x1d5)]({'success':![],'error':_0x136f00['message'],'code':_0x136f00[_0x1318a7(0x1bd)]});}}),this[_0x1e109d(0x21e)]['post']('/api/explorer/mkdir',async(_0x488e3c,_0x38664d)=>{const _0x42eea3=_0x1e109d;try{const {path:_0x51917c,name:_0x2d666a}=_0x488e3c['body'],_0x35bd3a=a0_0x5b0dac['resolve'](_0x51917c,_0x2d666a);await a0_0x95ade0[_0x42eea3(0x21f)](_0x35bd3a,{'recursive':![]}),_0x38664d['json']({'success':!![],'path':_0x35bd3a,'relativePath':a0_0x5b0dac['relative'](process['cwd'](),_0x35bd3a)});}catch(_0x4fa21b){_0x38664d[_0x42eea3(0x1a3)](HTTP_STATUS[_0x42eea3(0x19e)])['json']({'success':![],'error':_0x4fa21b[_0x42eea3(0x1b8)],'code':_0x4fa21b[_0x42eea3(0x1bd)]});}}),this[_0x1e109d(0x21e)]['get'](_0x1e109d(0x20d),async(_0x2c0fc6,_0x8bacae)=>{const _0xa69ff4=_0x1e109d;try{const {path:_0x235a4b}=_0x2c0fc6['query'],_0x40a125=a0_0x5b0dac[_0xa69ff4(0x1c3)](_0x235a4b),_0x5638ac=await a0_0x95ade0['stat'](_0x40a125);_0x8bacae['json']({'success':!![],'path':_0x40a125,'relativePath':a0_0x5b0dac['relative'](process['cwd'](),_0x40a125),'isDirectory':_0x5638ac[_0xa69ff4(0x1b1)](),'isFile':_0x5638ac[_0xa69ff4(0x223)](),'size':_0x5638ac['size'],'created':_0x5638ac[_0xa69ff4(0x1a6)],'modified':_0x5638ac['mtime'],'accessed':_0x5638ac[_0xa69ff4(0x253)]});}catch(_0x32720b){_0x8bacae[_0xa69ff4(0x1a3)](HTTP_STATUS[_0xa69ff4(0x19e)])[_0xa69ff4(0x1d5)]({'success':![],'error':_0x32720b[_0xa69ff4(0x1b8)],'code':_0x32720b[_0xa69ff4(0x1bd)]});}}),this['app'][_0x1e109d(0x1a9)]('/api/llm/chat',async(_0x426d8d,_0x40e15d)=>{const _0x59ef78=_0x1e109d;try{const {sessionId:_0x4bc120,model:_0x59f47c,platformProvided:_0x3e14ab}=_0x426d8d['body'];if(!_0x4bc120)return _0x40e15d['status'](0x190)['json']({'error':_0x59ef78(0x250)});let _0x4338b8=null,_0x47da11=null;if(this[_0x59ef78(0x22a)]){const _0x43d8c8=this['apiKeyManager']['getKeysForRequest'](_0x4bc120,{'platformProvided':_0x3e14ab||![],'vendor':this['_getVendorFromModel'](_0x59f47c)});_0x4338b8=_0x43d8c8[_0x59ef78(0x17b)],_0x47da11=_0x43d8c8['vendorApiKey'];}!_0x4338b8&&(_0x4338b8=this['config']['loxiaApiKey']||process[_0x59ef78(0x1b7)]['LOXIA_API_KEY']);!_0x4338b8&&_0x426d8d['body'][_0x59ef78(0x20c)]&&(_0x4338b8=_0x426d8d[_0x59ef78(0x26b)][_0x59ef78(0x20c)]);if(!_0x4338b8)return this['logger']['warn'](_0x59ef78(0x229),{'sessionId':_0x4bc120,'model':_0x59f47c,'platformProvided':_0x3e14ab,'hasSessionManager':!!this['apiKeyManager']}),_0x40e15d[_0x59ef78(0x1a3)](0x191)[_0x59ef78(0x1d5)]({'error':'No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.'});const _0x301d59='https://autopilot-api.azurewebsites.net/llm/chat',_0x32e942={..._0x426d8d[_0x59ef78(0x26b)],'apiKey':_0x4338b8,..._0x47da11&&{'vendorApiKey':_0x47da11}},_0x27ea56={'method':_0x59ef78(0x211),'headers':{'Content-Type':'application/json','Authorization':_0x59ef78(0x180)+_0x4338b8},'body':JSON['stringify'](_0x32e942)};this['logger']['info'](_0x59ef78(0x1b0),{'url':_0x301d59,'model':_0x426d8d[_0x59ef78(0x26b)]['model'],'hasApiKey':!!_0x4338b8});const _0x9b63cf=await fetch(_0x301d59,_0x27ea56);if(_0x9b63cf['ok']){const _0x27359d=await _0x9b63cf[_0x59ef78(0x1d5)]();this[_0x59ef78(0x208)]['info']('Successfully received response from Azure backend',{'model':_0x27359d[_0x59ef78(0x24d)],'contentLength':_0x27359d[_0x59ef78(0x24e)]?.[_0x59ef78(0x249)]||0x0}),_0x40e15d[_0x59ef78(0x1d5)](_0x27359d);}else{const _0xad441d=await _0x9b63cf[_0x59ef78(0x1e3)]();this['logger'][_0x59ef78(0x218)]('Azure\x20backend\x20chat\x20request\x20failed',{'status':_0x9b63cf['status'],'statusText':_0x9b63cf[_0x59ef78(0x19a)],'error':_0xad441d}),_0x40e15d['status'](_0x9b63cf['status'])[_0x59ef78(0x1d5)]({'error':'Azure\x20backend\x20error:\x20'+_0x9b63cf[_0x59ef78(0x1a3)]+'\x20'+_0x9b63cf['statusText'],'details':_0xad441d});}}catch(_0xd05e58){this[_0x59ef78(0x208)]['error']('Failed\x20to\x20proxy\x20chat\x20request\x20to\x20Azure\x20backend',{'error':_0xd05e58[_0x59ef78(0x1b8)],'stack':_0xd05e58[_0x59ef78(0x1f0)]}),_0x40e15d[_0x59ef78(0x1a3)](0x1f4)[_0x59ef78(0x1d5)]({'error':'Failed\x20to\x20connect\x20to\x20AI\x20service','details':_0xd05e58[_0x59ef78(0x1b8)]});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)]('/api/llm/models',async(_0x54dd34,_0x4b1a07)=>{const _0x3e4d7e=_0x1e109d;try{const _0x3ec3ab=_0x54dd34[_0x3e4d7e(0x228)]['authorization'];let _0x16506e=null;_0x3ec3ab&&_0x3ec3ab['startsWith'](_0x3e4d7e(0x180))&&(_0x16506e=_0x3ec3ab[_0x3e4d7e(0x1ec)](0x7));!_0x16506e&&(_0x16506e=this[_0x3e4d7e(0x212)][_0x3e4d7e(0x17b)]||process['env'][_0x3e4d7e(0x19d)]);const _0x327c58=_0x3e4d7e(0x24b),_0x432629={'method':_0x3e4d7e(0x24c),'headers':{'Content-Type':'application/json',..._0x16506e&&{'Authorization':'Bearer\x20'+_0x16506e}}};this[_0x3e4d7e(0x208)][_0x3e4d7e(0x1b9)]('Fetching models from Loxia Azure backend',{'url':_0x327c58,'hasApiKey':!!_0x16506e});const _0x1066cc=await fetch(_0x327c58,_0x432629);if(_0x1066cc['ok']){const _0x388928=await _0x1066cc['json']();this['logger']['info']('Successfully fetched models from Azure backend',{'modelCount':_0x388928[_0x3e4d7e(0x245)]?.[_0x3e4d7e(0x249)]||0x0}),_0x4b1a07[_0x3e4d7e(0x1d5)](_0x388928);}else{const _0x1b823f=await _0x1066cc[_0x3e4d7e(0x1e3)]();this[_0x3e4d7e(0x208)]['error'](_0x3e4d7e(0x1a8),{'status':_0x1066cc[_0x3e4d7e(0x1a3)],'statusText':_0x1066cc[_0x3e4d7e(0x19a)],'error':_0x1b823f}),_0x4b1a07[_0x3e4d7e(0x1a3)](_0x1066cc[_0x3e4d7e(0x1a3)])['json']({'success':![],'error':'Failed\x20to\x20fetch\x20models\x20from\x20backend:\x20'+_0x1066cc['status']+'\x20'+_0x1066cc[_0x3e4d7e(0x19a)],'details':_0x1b823f});}}catch(_0x447079){this[_0x3e4d7e(0x208)]['error']('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x447079[_0x3e4d7e(0x1b8)],'stack':_0x447079['stack']}),_0x4b1a07[_0x3e4d7e(0x1a3)](0x1f4)[_0x3e4d7e(0x1d5)]({'success':![],'error':'Failed to fetch models from backend','details':_0x447079['message']});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)]('/api/tools',async(_0x1f136a,_0x244688)=>{const _0x2d92ad=_0x1e109d;try{const _0x471b83=this['toolsRegistry'];if(!_0x471b83)return _0x244688[_0x2d92ad(0x1a3)](0x1f4)['json']({'error':_0x2d92ad(0x225)});const _0x40a27a=_0x471b83['getAvailableToolsForUI']();this['logger']['info'](_0x2d92ad(0x199),{'toolCount':_0x40a27a['length'],'tools':_0x40a27a['map'](_0x4da2e8=>({'id':_0x4da2e8['id'],'name':_0x4da2e8[_0x2d92ad(0x1e7)],'category':_0x4da2e8['category']}))}),_0x244688[_0x2d92ad(0x1d5)]({'success':!![],'tools':_0x40a27a,'total':_0x40a27a[_0x2d92ad(0x249)]});}catch(_0x3b91f3){this['logger']['error'](_0x2d92ad(0x1ac),{'error':_0x3b91f3[_0x2d92ad(0x1b8)],'stack':_0x3b91f3[_0x2d92ad(0x1f0)]}),_0x244688['status'](0x1f4)[_0x2d92ad(0x1d5)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x3b91f3['message']});}}),this['app']['post'](_0x1e109d(0x248),async(_0x2be4be,_0xe79797)=>{const _0x3be017=_0x1e109d;try{const {sessionId:_0x11953e,loxiaApiKey:_0x460020,vendorKeys:_0x566abb}=_0x2be4be['body'];if(!_0x11953e)return _0xe79797['status'](0x190)['json']({'success':![],'error':_0x3be017(0x250)});if(!this['apiKeyManager'])return _0xe79797['status'](0x1f4)[_0x3be017(0x1d5)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this['apiKeyManager']['setSessionKeys'](_0x11953e,{'loxiaApiKey':_0x460020,'vendorKeys':_0x566abb||{}}),this[_0x3be017(0x208)][_0x3be017(0x1b9)]('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x11953e,'hasLoxiaKey':!!_0x460020,'vendorKeys':Object[_0x3be017(0x1a0)](_0x566abb||{})});if(this[_0x3be017(0x18e)]&&this[_0x3be017(0x18e)][_0x3be017(0x25a)]&&_0x460020)try{await this[_0x3be017(0x18e)]['modelsService']['refresh']({'sessionId':_0x11953e,'apiKey':_0x460020}),this['logger'][_0x3be017(0x1b9)](_0x3be017(0x238),{'sessionId':_0x11953e});}catch(_0x2aedc7){this[_0x3be017(0x208)][_0x3be017(0x218)](_0x3be017(0x271),{'error':_0x2aedc7['message'],'sessionId':_0x11953e});}_0xe79797['json']({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x11953e,'hasLoxiaKey':!!_0x460020,'vendorKeys':Object['keys'](_0x566abb||{})});}catch(_0x391994){this[_0x3be017(0x208)]['error']('Failed\x20to\x20set\x20API\x20keys',{'error':_0x391994['message'],'sessionId':_0x2be4be[_0x3be017(0x26b)]['sessionId']}),_0xe79797['status'](0x1f4)[_0x3be017(0x1d5)]({'success':![],'error':_0x391994[_0x3be017(0x1b8)]});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)]('/api/keys/:sessionId',async(_0x4f9917,_0xbbd735)=>{const _0x47cbff=_0x1e109d;try{const {sessionId:_0x386d11}=_0x4f9917['params'];if(!this[_0x47cbff(0x22a)])return _0xbbd735['status'](0x1f4)['json']({'success':![],'error':_0x47cbff(0x1aa)});const _0x4819ed=this['apiKeyManager']['getSessionKeys'](_0x386d11);_0xbbd735[_0x47cbff(0x1d5)]({'success':!![],'sessionId':_0x386d11,'hasLoxiaKey':!!_0x4819ed['loxiaApiKey'],'vendorKeys':Object[_0x47cbff(0x1a0)](_0x4819ed[_0x47cbff(0x203)]||{}),'updatedAt':_0x4819ed['updatedAt']});}catch(_0x1041b5){this[_0x47cbff(0x208)][_0x47cbff(0x1fa)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x1041b5[_0x47cbff(0x1b8)],'sessionId':_0x4f9917[_0x47cbff(0x221)]['sessionId']}),_0xbbd735['status'](0x1f4)[_0x47cbff(0x1d5)]({'success':![],'error':_0x1041b5[_0x47cbff(0x1b8)]});}}),this['app']['delete'](_0x1e109d(0x1cb),async(_0x109845,_0x37f649)=>{const _0x334dd4=_0x1e109d;try{const {sessionId:_0x3bb070}=_0x109845[_0x334dd4(0x221)];if(!this[_0x334dd4(0x22a)])return _0x37f649['status'](0x1f4)[_0x334dd4(0x1d5)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0xd8cc53=this[_0x334dd4(0x22a)][_0x334dd4(0x219)](_0x3bb070);_0x37f649[_0x334dd4(0x1d5)]({'success':!![],'removed':_0xd8cc53,'message':_0xd8cc53?_0x334dd4(0x176):_0x334dd4(0x270)});}catch(_0x5a6bb8){this[_0x334dd4(0x208)][_0x334dd4(0x1fa)](_0x334dd4(0x196),{'error':_0x5a6bb8[_0x334dd4(0x1b8)],'sessionId':_0x109845[_0x334dd4(0x221)]['sessionId']}),_0x37f649[_0x334dd4(0x1a3)](0x1f4)[_0x334dd4(0x1d5)]({'success':![],'error':_0x5a6bb8['message']});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)]('/api/keys',async(_0x550b26,_0xa76d25)=>{const _0x5838df=_0x1e109d;try{if(!this['apiKeyManager'])return _0xa76d25[_0x5838df(0x1a3)](0x1f4)[_0x5838df(0x1d5)]({'success':![],'error':_0x5838df(0x1aa)});const _0x2fe0a5=this['apiKeyManager']['getActiveSessions']();_0xa76d25[_0x5838df(0x1d5)]({'success':!![],'sessions':_0x2fe0a5,'total':_0x2fe0a5[_0x5838df(0x249)]});}catch(_0x51c406){this['logger']['error'](_0x5838df(0x1e1),{'error':_0x51c406['message']}),_0xa76d25['status'](0x1f4)[_0x5838df(0x1d5)]({'success':![],'error':_0x51c406['message']});}}),this['app'][_0x1e109d(0x1a9)]('/api/agents/:agentId/attachments/upload',async(_0x5653fe,_0x18afbb)=>{const _0xe34f43=_0x1e109d;try{const {agentId:_0xd2adb7}=_0x5653fe[_0xe34f43(0x221)],{filePath:_0x4ed6ae,mode:_0x51d1ba,fileName:_0x180310}=_0x5653fe['body'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x18afbb[_0xe34f43(0x1a3)](0x1f4)['json']({'success':![],'error':_0xe34f43(0x1b4)});const _0x201e02=await this['orchestrator']['fileAttachmentService']['uploadFile']({'agentId':_0xd2adb7,'filePath':_0x4ed6ae,'mode':_0x51d1ba||'content','fileName':_0x180310});this['logger']['info']('File\x20attachment\x20uploaded',{'agentId':_0xd2adb7,'fileId':_0x201e02[_0xe34f43(0x25d)],'fileName':_0x201e02[_0xe34f43(0x174)]}),_0x18afbb[_0xe34f43(0x1d5)]({'success':!![],'attachment':_0x201e02});}catch(_0xde21d2){this[_0xe34f43(0x208)]['error']('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0x5653fe[_0xe34f43(0x221)][_0xe34f43(0x265)],'error':_0xde21d2[_0xe34f43(0x1b8)]}),_0x18afbb['status'](0x1f4)[_0xe34f43(0x1d5)]({'success':![],'error':_0xde21d2['message']});}}),this[_0x1e109d(0x21e)]['get']('/api/agents/:agentId/attachments',async(_0x1a2378,_0x4edccb)=>{const _0x27ce88=_0x1e109d;try{const {agentId:_0x4c3a16}=_0x1a2378[_0x27ce88(0x221)],{mode:_0x1a82fc,active:_0x1d7fae}=_0x1a2378[_0x27ce88(0x1b3)];if(!this[_0x27ce88(0x18e)]?.['fileAttachmentService'])return _0x4edccb['status'](0x1f4)[_0x27ce88(0x1d5)]({'success':![],'error':_0x27ce88(0x1b4)});const _0x19917e={};if(_0x1a82fc)_0x19917e[_0x27ce88(0x260)]=_0x1a82fc;if(_0x1d7fae!==undefined)_0x19917e[_0x27ce88(0x26d)]=_0x1d7fae==='true';const _0x2780b6=await this[_0x27ce88(0x18e)]['fileAttachmentService'][_0x27ce88(0x17a)](_0x4c3a16,_0x19917e);_0x4edccb[_0x27ce88(0x1d5)]({'success':!![],'attachments':_0x2780b6,'total':_0x2780b6[_0x27ce88(0x249)]});}catch(_0x9e225b){this['logger'][_0x27ce88(0x1fa)]('Failed\x20to\x20get\x20attachments',{'agentId':_0x1a2378[_0x27ce88(0x221)]['agentId'],'error':_0x9e225b[_0x27ce88(0x1b8)]}),_0x4edccb[_0x27ce88(0x1a3)](0x1f4)[_0x27ce88(0x1d5)]({'success':![],'error':_0x9e225b[_0x27ce88(0x1b8)]});}}),this['app'][_0x1e109d(0x1df)](_0x1e109d(0x1f7),async(_0x526e6b,_0x4cfc8d)=>{const _0x335df9=_0x1e109d;try{const {fileId:_0x39a361}=_0x526e6b['params'];if(!this['orchestrator']?.[_0x335df9(0x234)])return _0x4cfc8d[_0x335df9(0x1a3)](0x1f4)['json']({'success':![],'error':_0x335df9(0x1b4)});const _0xbcb80b=await this[_0x335df9(0x18e)]['fileAttachmentService'][_0x335df9(0x18b)](_0x39a361);if(!_0xbcb80b)return _0x4cfc8d[_0x335df9(0x1a3)](0x194)[_0x335df9(0x1d5)]({'success':![],'error':_0x335df9(0x240)});_0x4cfc8d['json']({'success':!![],'attachment':_0xbcb80b});}catch(_0xb39055){this[_0x335df9(0x208)][_0x335df9(0x1fa)]('Failed\x20to\x20get\x20attachment',{'fileId':_0x526e6b[_0x335df9(0x221)]['fileId'],'error':_0xb39055['message']}),_0x4cfc8d[_0x335df9(0x1a3)](0x1f4)[_0x335df9(0x1d5)]({'success':![],'error':_0xb39055['message']});}}),this['app']['patch'](_0x1e109d(0x23a),async(_0x25c0a7,_0x5c8d90)=>{const _0xe6880a=_0x1e109d;try{const {fileId:_0x3acc4f}=_0x25c0a7['params'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x5c8d90[_0xe6880a(0x1a3)](0x1f4)['json']({'success':![],'error':_0xe6880a(0x1b4)});const _0x3cdd49=await this[_0xe6880a(0x18e)][_0xe6880a(0x234)]['toggleActive'](_0x3acc4f);this[_0xe6880a(0x208)]['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0x3acc4f,'active':_0x3cdd49[_0xe6880a(0x26d)]}),_0x5c8d90[_0xe6880a(0x1d5)]({'success':!![],'attachment':_0x3cdd49});}catch(_0x32f670){this['logger'][_0xe6880a(0x1fa)](_0xe6880a(0x18d),{'fileId':_0x25c0a7[_0xe6880a(0x221)][_0xe6880a(0x25d)],'error':_0x32f670['message']}),_0x5c8d90[_0xe6880a(0x1a3)](0x1f4)['json']({'success':![],'error':_0x32f670[_0xe6880a(0x1b8)]});}}),this['app'][_0x1e109d(0x204)](_0x1e109d(0x1f7),async(_0xb9594b,_0x5065ce)=>{const _0x420cc2=_0x1e109d;try{const {fileId:_0x4eb180}=_0xb9594b['params'],{mode:_0x5073cb,active:_0x4603a7}=_0xb9594b['body'];if(!this['orchestrator']?.[_0x420cc2(0x234)])return _0x5065ce['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x23b7ef={};if(_0x5073cb!==undefined)_0x23b7ef[_0x420cc2(0x260)]=_0x5073cb;if(_0x4603a7!==undefined)_0x23b7ef['active']=_0x4603a7;const _0x3bb828=await this['orchestrator']['fileAttachmentService'][_0x420cc2(0x1c6)](_0x4eb180,_0x23b7ef);this['logger']['info']('Attachment\x20updated',{'fileId':_0x4eb180,'updates':_0x23b7ef}),_0x5065ce['json']({'success':!![],'attachment':_0x3bb828});}catch(_0x5a18cd){this['logger']['error'](_0x420cc2(0x235),{'fileId':_0xb9594b[_0x420cc2(0x221)]['fileId'],'error':_0x5a18cd['message']}),_0x5065ce[_0x420cc2(0x1a3)](0x1f4)['json']({'success':![],'error':_0x5a18cd[_0x420cc2(0x1b8)]});}}),this['app']['delete'](_0x1e109d(0x1f7),async(_0x21f774,_0x34df4c)=>{const _0x461203=_0x1e109d;try{const {fileId:_0x4b6fb4}=_0x21f774['params'],{agentId:_0x38bb5f}=_0x21f774['query'];if(!_0x38bb5f)return _0x34df4c[_0x461203(0x1a3)](0x190)[_0x461203(0x1d5)]({'success':![],'error':_0x461203(0x18c)});if(!this['orchestrator']?.['fileAttachmentService'])return _0x34df4c[_0x461203(0x1a3)](0x1f4)['json']({'success':![],'error':_0x461203(0x1b4)});const _0x472319=await this[_0x461203(0x18e)]['fileAttachmentService'][_0x461203(0x1ed)](_0x4b6fb4,_0x38bb5f);this[_0x461203(0x208)]['info']('Attachment\x20deleted',{'fileId':_0x4b6fb4,'agentId':_0x38bb5f,'physicallyDeleted':_0x472319['physicallyDeleted']}),_0x34df4c['json']({'success':!![],'message':_0x472319['physicallyDeleted']?_0x461203(0x213):'Reference\x20removed','physicallyDeleted':_0x472319[_0x461203(0x26c)]});}catch(_0x38011a){this['logger'][_0x461203(0x1fa)](_0x461203(0x194),{'fileId':_0x21f774[_0x461203(0x221)]['fileId'],'error':_0x38011a['message']}),_0x34df4c[_0x461203(0x1a3)](0x1f4)['json']({'success':![],'error':_0x38011a[_0x461203(0x1b8)]});}}),this[_0x1e109d(0x21e)]['post']('/api/attachments/:fileId/import',async(_0x26acd0,_0x6a5d0e)=>{const _0x1b8c91=_0x1e109d;try{const {fileId:_0x549c37}=_0x26acd0['params'],{targetAgentId:_0x2e56f8}=_0x26acd0['body'];if(!_0x2e56f8)return _0x6a5d0e['status'](0x190)['json']({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this[_0x1b8c91(0x18e)]?.['fileAttachmentService'])return _0x6a5d0e['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x2e45fc=await this['orchestrator'][_0x1b8c91(0x234)][_0x1b8c91(0x207)](_0x549c37,_0x2e56f8);this['logger'][_0x1b8c91(0x1b9)]('Attachment imported',{'fileId':_0x549c37,'targetAgentId':_0x2e56f8}),_0x6a5d0e['json']({'success':!![],'attachment':_0x2e45fc});}catch(_0x38a38c){this[_0x1b8c91(0x208)][_0x1b8c91(0x1fa)]('Failed to import attachment',{'fileId':_0x26acd0[_0x1b8c91(0x221)][_0x1b8c91(0x25d)],'error':_0x38a38c[_0x1b8c91(0x1b8)]}),_0x6a5d0e[_0x1b8c91(0x1a3)](0x1f4)[_0x1b8c91(0x1d5)]({'success':![],'error':_0x38a38c[_0x1b8c91(0x1b8)]});}}),this['app'][_0x1e109d(0x1df)]('/api/attachments/:fileId/preview',async(_0x14d839,_0x123315)=>{const _0x146cc1=_0x1e109d;try{const {fileId:_0x9a6e88}=_0x14d839['params'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x123315[_0x146cc1(0x1a3)](0x1f4)[_0x146cc1(0x1d5)]({'success':![],'error':_0x146cc1(0x1b4)});const _0x147f02=await this[_0x146cc1(0x18e)]['fileAttachmentService'][_0x146cc1(0x20f)](_0x9a6e88);if(!_0x147f02)return _0x123315[_0x146cc1(0x1a3)](0x194)['json']({'success':![],'error':_0x146cc1(0x240)});_0x123315['json']({'success':!![],'preview':_0x147f02});}catch(_0x313ff0){this['logger']['error']('Failed\x20to\x20get\x20attachment\x20preview',{'fileId':_0x14d839[_0x146cc1(0x221)]['fileId'],'error':_0x313ff0[_0x146cc1(0x1b8)]}),_0x123315[_0x146cc1(0x1a3)](0x1f4)['json']({'success':![],'error':_0x313ff0['message']});}}),this[_0x1e109d(0x21e)]['get']('/api/images/:sessionId/:filename',async(_0x14e765,_0x2985fa)=>{const _0x143a4c=_0x1e109d;try{const {sessionId:_0x1955ae,filename:_0x517f73}=_0x14e765[_0x143a4c(0x221)],_0xe33206=this[_0x143a4c(0x241)][_0x143a4c(0x1df)](_0x1955ae);if(!_0xe33206)return _0x2985fa['status'](HTTP_STATUS['FORBIDDEN'])['json']({'success':![],'error':_0x143a4c(0x1c2)});const _0x588f26=a0_0x5b0dac[_0x143a4c(0x230)](_0x517f73);if(_0x588f26!==_0x517f73||_0x517f73[_0x143a4c(0x231)]('..')||_0x517f73['includes']('/')||_0x517f73[_0x143a4c(0x231)]('\x5c'))return _0x2985fa['status'](HTTP_STATUS[_0x143a4c(0x1ef)])['json']({'success':![],'error':_0x143a4c(0x190)});let _0xd3534d=null;const _0x3d8feb=[a0_0x5b0dac[_0x143a4c(0x1ff)](_0xe33206[_0x143a4c(0x242)]||process['cwd'](),_0x143a4c(0x1e9),_0x588f26),a0_0x5b0dac[_0x143a4c(0x1ff)]('/tmp/loxia-images',_0x1955ae,_0x588f26),a0_0x5b0dac[_0x143a4c(0x1ff)]('/tmp/loxia-images',_0x588f26)];if(this['orchestrator']?.['agentPool'])try{const _0x4d5fd1=await this[_0x143a4c(0x18e)][_0x143a4c(0x21c)]['getAllAgents']();for(const _0x2e1216 of _0x4d5fd1){_0x2e1216['directoryAccess']?.[_0x143a4c(0x209)]&&_0x3d8feb[_0x143a4c(0x206)](a0_0x5b0dac[_0x143a4c(0x1ff)](_0x2e1216[_0x143a4c(0x251)][_0x143a4c(0x209)],'images',_0x588f26));}}catch(_0x236420){this[_0x143a4c(0x208)]['warn'](_0x143a4c(0x1f5),{'error':_0x236420['message']});}for(const _0x39520e of _0x3d8feb){try{const _0x1f7da9=await a0_0x95ade0[_0x143a4c(0x1bf)](_0x39520e);if(_0x1f7da9[_0x143a4c(0x223)]()){_0xd3534d=_0x39520e,this['logger'][_0x143a4c(0x1b9)](_0x143a4c(0x236),{'filename':_0x588f26,'path':_0xd3534d,'sessionId':_0x1955ae});break;}}catch(_0x2d22a5){continue;}}if(!_0xd3534d)return this['logger'][_0x143a4c(0x218)](_0x143a4c(0x210),{'filename':_0x588f26,'sessionId':_0x1955ae,'searchPaths':_0x3d8feb}),_0x2985fa['status'](HTTP_STATUS['NOT_FOUND'])[_0x143a4c(0x1d5)]({'success':![],'error':'Image\x20not\x20found'});_0x2985fa['sendFile'](_0xd3534d,_0x81ac9a=>{const _0x2921da=_0x143a4c;_0x81ac9a?(this[_0x2921da(0x208)]['error'](_0x2921da(0x183),{'error':_0x81ac9a['message'],'imagePath':_0xd3534d,'filename':_0x588f26}),!_0x2985fa[_0x2921da(0x1c7)]&&_0x2985fa['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':'Failed\x20to\x20serve\x20image'})):this['logger'][_0x2921da(0x1b9)]('Image\x20served\x20successfully',{'filename':_0x588f26,'path':_0xd3534d,'sessionId':_0x1955ae});});}catch(_0x43a82f){this['logger'][_0x143a4c(0x1fa)](_0x143a4c(0x258),{'error':_0x43a82f[_0x143a4c(0x1b8)],'sessionId':_0x14e765['params']['sessionId'],'filename':_0x14e765['params']['filename']}),_0x2985fa[_0x143a4c(0x1a3)](HTTP_STATUS[_0x143a4c(0x19e)])[_0x143a4c(0x1d5)]({'success':![],'error':_0x43a82f[_0x143a4c(0x1b8)]});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1a9)]('/api/agents/:agentId/mode',async(_0x505588,_0x1b24e1)=>{const _0x27d2a1=_0x1e109d;try{const {agentId:_0x238f3b}=_0x505588[_0x27d2a1(0x221)],{mode:_0x4f33a3,lockMode:lockMode=![],sessionId:_0x11be6a}=_0x505588[_0x27d2a1(0x26b)];if(!Object[_0x27d2a1(0x184)](AGENT_MODES)[_0x27d2a1(0x231)](_0x4f33a3))return _0x1b24e1[_0x27d2a1(0x1a3)](0x190)[_0x27d2a1(0x1d5)]({'success':![],'error':_0x27d2a1(0x1ea)+Object['values'](AGENT_MODES)[_0x27d2a1(0x1ff)](',\x20')});const _0x128e09=_0x11be6a||_0x505588['sessionID'];!_0x128e09&&this['logger'][_0x27d2a1(0x218)]('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0x238f3b,'hasBodySessionId':!!_0x11be6a,'hasReqSessionId':!!_0x505588['sessionID']});const _0x544122={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x128e09,'action':_0x27d2a1(0x1b5),'payload':{'agentId':_0x238f3b,'updates':{'mode':_0x4f33a3}}},_0x19c48f=await this['orchestrator']['processRequest'](_0x544122);if(_0x19c48f['success']){const _0x204b0d=_0x19c48f['data'];this['logger']['info'](_0x27d2a1(0x266)+_0x238f3b,{'newMode':_0x4f33a3,'lockMode':lockMode,'finalMode':_0x204b0d?.['mode']}),this[_0x27d2a1(0x269)](_0x544122['sessionId'],{'type':_0x27d2a1(0x1af),'data':{'agentId':_0x238f3b,'mode':_0x204b0d?.['mode'],'modeState':_0x204b0d?.['modeState']}}),_0x1b24e1['json']({'success':!![],'agent':_0x204b0d,'message':_0x27d2a1(0x26f)+_0x204b0d?.[_0x27d2a1(0x260)]});}else _0x1b24e1['status'](0x190)['json']({'success':![],'error':_0x19c48f['error']||'Failed\x20to\x20update\x20agent\x20mode'});}catch(_0x174389){this[_0x27d2a1(0x208)]['error'](_0x27d2a1(0x216),{'agentId':_0x505588['params'][_0x27d2a1(0x265)],'error':_0x174389['message']}),_0x1b24e1[_0x27d2a1(0x1a3)](0x1f4)[_0x27d2a1(0x1d5)]({'success':![],'error':_0x174389['message']});}}),this['app'][_0x1e109d(0x1a9)](_0x1e109d(0x18f),async(_0x412f59,_0x514a03)=>{const _0x4cb9af=_0x1e109d;try{const {agentId:_0x6914bd}=_0x412f59['params'],_0x1791bb=this[_0x4cb9af(0x18e)][_0x4cb9af(0x1c5)];if(!_0x1791bb)return _0x514a03[_0x4cb9af(0x1a3)](0x1f4)['json']({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x135237=await _0x1791bb['stopAutonomousExecution'](_0x6914bd);this[_0x4cb9af(0x208)][_0x4cb9af(0x1b9)](_0x4cb9af(0x17d)+_0x6914bd);const _0x35f182=_0x412f59[_0x4cb9af(0x1fc)]||_0x135237[_0x4cb9af(0x205)]?.[_0x4cb9af(0x193)];_0x35f182&&this['broadcastToSession'](_0x35f182,{'type':_0x4cb9af(0x1af),'data':{'agentId':_0x6914bd,'mode':_0x135237['agent']?.[_0x4cb9af(0x260)],'modeState':_0x135237['agent']?.['modeState']}}),_0x514a03['json'](_0x135237);}catch(_0x423e78){this[_0x4cb9af(0x208)]['error']('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x412f59['params'][_0x4cb9af(0x265)],'error':_0x423e78[_0x4cb9af(0x1b8)]}),_0x514a03['status'](0x1f4)['json']({'success':![],'error':_0x423e78[_0x4cb9af(0x1b8)]});}}),this[_0x1e109d(0x21e)]['get'](_0x1e109d(0x185),async(_0x456b3f,_0x51ad46)=>{const _0x188a71=_0x1e109d;try{const {agentId:_0xf326ce}=_0x456b3f['params'],_0x4a0fc4={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x456b3f['sessionID'],'action':'get_agent_status','payload':{'agentId':_0xf326ce}},_0x424c8f=await this[_0x188a71(0x18e)]['processRequest'](_0x4a0fc4);_0x424c8f[_0x188a71(0x1c0)]&&_0x424c8f['agent']?_0x51ad46['json']({'success':!![],'mode':_0x424c8f['agent']['mode'],'modeState':_0x424c8f['agent'][_0x188a71(0x1ba)],'currentTask':_0x424c8f[_0x188a71(0x205)]['currentTask'],'iterationCount':_0x424c8f['agent'][_0x188a71(0x23b)],'taskStartTime':_0x424c8f['agent']['taskStartTime'],'stopRequested':_0x424c8f['agent']['stopRequested']}):_0x51ad46['status'](0x194)[_0x188a71(0x1d5)]({'success':![],'error':'Agent\x20not\x20found'});}catch(_0xa20d76){this[_0x188a71(0x208)]['error'](_0x188a71(0x1da),{'agentId':_0x456b3f['params']['agentId'],'error':_0xa20d76[_0x188a71(0x1b8)]}),_0x51ad46[_0x188a71(0x1a3)](0x1f4)[_0x188a71(0x1d5)]({'success':![],'error':_0xa20d76[_0x188a71(0x1b8)]});}}),this['app']['post'](_0x1e109d(0x1e0),async(_0x1320fa,_0x42a24b)=>{const _0x4cb4f0=_0x1e109d;try{const {agentId:_0x55e596}=_0x1320fa['params'],_0x427e44=await this[_0x4cb4f0(0x18e)][_0x4cb4f0(0x21c)][_0x4cb4f0(0x201)](_0x55e596);_0x42a24b['json'](_0x427e44);}catch(_0x264023){this[_0x4cb4f0(0x208)][_0x4cb4f0(0x1fa)]('Failed\x20to\x20clear\x20agent\x20conversation',{'agentId':_0x1320fa['params'][_0x4cb4f0(0x265)],'error':_0x264023['message']}),_0x42a24b[_0x4cb4f0(0x1a3)](0x1f4)['json']({'success':![],'error':_0x264023[_0x4cb4f0(0x1b8)]});}}),this['app']['get'](_0x1e109d(0x23f),async(_0x57750e,_0x3bf3bf)=>{const _0x31ce4e=_0x1e109d;try{const {agentId:_0x989b5}=_0x57750e['params'],{shouldAgentBeActive:_0x3b3ded}=await import(_0x31ce4e(0x268)),_0x8602b6=await this['orchestrator']['agentPool'][_0x31ce4e(0x25f)](_0x989b5);if(!_0x8602b6)return _0x3bf3bf[_0x31ce4e(0x1a3)](0x194)[_0x31ce4e(0x1d5)]({'success':![],'error':'Agent\x20not\x20found'});const _0x201e4a=_0x3b3ded(_0x8602b6);_0x3bf3bf['json']({'success':!![],'agentId':_0x989b5,'isActive':_0x201e4a[_0x31ce4e(0x26d)],'reason':_0x201e4a['reason'],'details':_0x201e4a[_0x31ce4e(0x224)]});}catch(_0x242516){this['logger']['error']('Failed\x20to\x20get\x20agent\x20activity\x20status',{'agentId':_0x57750e[_0x31ce4e(0x221)][_0x31ce4e(0x265)],'error':_0x242516['message']}),_0x3bf3bf[_0x31ce4e(0x1a3)](0x1f4)['json']({'success':![],'error':_0x242516[_0x31ce4e(0x1b8)]});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)](_0x1e109d(0x246),async(_0x3b68e0,_0xb8e262)=>{const _0x4fd918=_0x1e109d;try{const _0x21a5ab=this['orchestrator']['config']['project']?.['directory']||process[_0x4fd918(0x217)](),_0x471e45=await this['orchestrator'][_0x4fd918(0x22d)]['getAllAvailableAgents'](_0x21a5ab,this[_0x4fd918(0x18e)][_0x4fd918(0x21c)]);_0xb8e262['json']({'success':!![],'agents':_0x471e45,'total':_0x471e45['length'],'active':_0x471e45['filter'](_0x96ce3f=>_0x96ce3f['isLoaded'])['length'],'archived':_0x471e45['filter'](_0x3b723e=>!_0x3b723e['isLoaded'])[_0x4fd918(0x249)]});}catch(_0x4ee491){this['logger']['error'](_0x4fd918(0x25b),{'error':_0x4ee491['message'],'stack':_0x4ee491[_0x4fd918(0x1f0)]}),_0xb8e262[_0x4fd918(0x1a3)](0x1f4)['json']({'success':![],'error':_0x4ee491[_0x4fd918(0x1b8)]});}}),this['app'][_0x1e109d(0x1df)]('/api/agents/:agentId/metadata',async(_0x47b55a,_0x2bc6ba)=>{const _0x553494=_0x1e109d;try{const {agentId:_0x5802ec}=_0x47b55a['params'],_0x1ca9eb=this[_0x553494(0x18e)]['config']['project']?.['directory']||process[_0x553494(0x217)](),_0x7a5f3d=await this['orchestrator']['stateManager'][_0x553494(0x192)](_0x5802ec,_0x1ca9eb);_0x2bc6ba['json']({'success':!![],'metadata':_0x7a5f3d});}catch(_0x1a61dc){this['logger'][_0x553494(0x1fa)]('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x47b55a['params']['agentId'],'error':_0x1a61dc[_0x553494(0x1b8)]}),_0x2bc6ba['status'](0x194)[_0x553494(0x1d5)]({'success':![],'error':_0x1a61dc[_0x553494(0x1b8)]});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1a9)]('/api/agents/import',async(_0x215128,_0x3fd578)=>{const _0x3e5e33=_0x1e109d;try{const {agentId:_0xd89792}=_0x215128[_0x3e5e33(0x26b)];if(!_0xd89792)return _0x3fd578['status'](0x190)[_0x3e5e33(0x1d5)]({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0x564bc3=this[_0x3e5e33(0x18e)][_0x3e5e33(0x212)]['project']?.['directory']||process[_0x3e5e33(0x217)](),_0x535d74=await this[_0x3e5e33(0x18e)]['stateManager'][_0x3e5e33(0x18a)](_0xd89792,_0x564bc3,this['orchestrator'][_0x3e5e33(0x21c)]);this[_0x3e5e33(0x25c)]&&this[_0x3e5e33(0x25c)]['broadcast']({'type':'agent-imported','agent':{'id':_0x535d74['id'],'name':_0x535d74['name'],'status':_0x535d74[_0x3e5e33(0x1a3)],'capabilities':_0x535d74['capabilities'],'model':_0x535d74['currentModel']||_0x535d74[_0x3e5e33(0x1ab)]}}),this[_0x3e5e33(0x208)][_0x3e5e33(0x1b9)]('Agent imported successfully',{'agentId':_0x535d74['id'],'name':_0x535d74[_0x3e5e33(0x1e7)]}),_0x3fd578[_0x3e5e33(0x1d5)]({'success':!![],'agent':{'id':_0x535d74['id'],'name':_0x535d74[_0x3e5e33(0x1e7)],'status':_0x535d74[_0x3e5e33(0x1a3)],'model':_0x535d74['currentModel']||_0x535d74[_0x3e5e33(0x1ab)],'capabilities':_0x535d74[_0x3e5e33(0x170)],'lastActivity':_0x535d74[_0x3e5e33(0x1ee)]},'message':'Agent\x20'+_0x535d74[_0x3e5e33(0x1e7)]+_0x3e5e33(0x17c)});}catch(_0x47e751){this['logger'][_0x3e5e33(0x1fa)]('Failed to import agent',{'agentId':_0x215128[_0x3e5e33(0x26b)][_0x3e5e33(0x265)],'error':_0x47e751[_0x3e5e33(0x1b8)],'stack':_0x47e751['stack']});const _0x5afce5=_0x47e751['message']['includes']('already\x20active')?0x199:_0x47e751['message'][_0x3e5e33(0x231)]('not\x20found')?0x194:_0x47e751['message'][_0x3e5e33(0x231)](_0x3e5e33(0x171))?0x190:0x1f4;_0x3fd578['status'](_0x5afce5)[_0x3e5e33(0x1d5)]({'success':![],'error':_0x47e751[_0x3e5e33(0x1b8)]});}}),this['app'][_0x1e109d(0x1df)]('*',(_0x56d47d,_0x163adc)=>{const _0x51cb49=_0x1e109d,_0x34afd9=a0_0x5b0dac[_0x51cb49(0x1ff)](__dirname,_0x51cb49(0x1f1));_0x163adc[_0x51cb49(0x214)](_0x34afd9,_0x354785=>{const _0x168702=_0x51cb49;_0x354785&&_0x163adc['status'](HTTP_STATUS['NOT_FOUND'])[_0x168702(0x20a)](_0x168702(0x188));});});}['setupWebSocket'](){const _0x58b426=a0_0x204007;this[_0x58b426(0x208)]['info']('Setting\x20up\x20WebSocket\x20server',{'port':this[_0x58b426(0x173)],'host':this['host'],'wsServerExists':!!this[_0x58b426(0x1b2)],'httpServerExists':!!this['server']}),this[_0x58b426(0x1b2)]['on'](_0x58b426(0x1fa),_0x28dc56=>{const _0x5a8cfe=_0x58b426;this[_0x5a8cfe(0x208)]['error'](_0x5a8cfe(0x1c9),{'error':_0x28dc56[_0x5a8cfe(0x1b8)],'stack':_0x28dc56['stack'],'port':this[_0x5a8cfe(0x173)]});}),this[_0x58b426(0x1b2)]['on'](_0x58b426(0x1c8),()=>{const _0x32f68e=_0x58b426;this['logger'][_0x32f68e(0x1b9)](_0x32f68e(0x1e4),{'port':this[_0x32f68e(0x173)],'host':this[_0x32f68e(0x1c1)]});}),this[_0x58b426(0x1b2)]['on']('connection',(_0x4381ca,_0x161f3e)=>{const _0x312e7a=_0x58b426,_0x222611='conn-'+Date[_0x312e7a(0x233)]()+'-'+Math['random']()[_0x312e7a(0x23e)](0x24)[_0x312e7a(0x1d8)](0x2,0x9);this['logger']['info']('WebSocket\x20connection\x20established',{'connectionId':_0x222611,'ip':_0x161f3e['socket'][_0x312e7a(0x22e)],'origin':_0x161f3e['headers']['origin'],'host':_0x161f3e[_0x312e7a(0x228)]['host'],'userAgent':_0x161f3e['headers']['user-agent'],'url':_0x161f3e[_0x312e7a(0x191)]});const _0x5d1bc8={'id':_0x222611,'ws':_0x4381ca,'sessionId':null,'connectedAt':new Date()[_0x312e7a(0x1a5)](),'lastActivity':new Date()['toISOString']()};this[_0x312e7a(0x264)][_0x312e7a(0x16d)](_0x222611,_0x5d1bc8),_0x4381ca['on'](_0x312e7a(0x1b8),async _0x3883d5=>{const _0x171c91=_0x312e7a;try{const _0x516b12=JSON['parse'](_0x3883d5[_0x171c91(0x23e)]());await this[_0x171c91(0x220)](_0x222611,_0x516b12);}catch(_0x389d46){this[_0x171c91(0x208)][_0x171c91(0x1fa)]('WebSocket\x20message\x20error',{'connectionId':_0x222611,'error':_0x389d46[_0x171c91(0x1b8)]}),_0x4381ca['send'](JSON[_0x171c91(0x25e)]({'type':'error','error':_0x389d46['message']}));}}),_0x4381ca['on'](_0x312e7a(0x22c),()=>{const _0x1ce26e=_0x312e7a;this['logger'][_0x1ce26e(0x1b9)]('WebSocket\x20connection\x20closed',{'connectionId':_0x222611}),this[_0x1ce26e(0x264)]['delete'](_0x222611);}),_0x4381ca['send'](JSON['stringify']({'type':'connected','connectionId':_0x222611,'timestamp':new Date()['toISOString']()}));});}async[a0_0x204007(0x220)](_0x75d40,_0x37ad20){const _0x3deb7b=a0_0x204007,_0x92d184=this[_0x3deb7b(0x264)][_0x3deb7b(0x1df)](_0x75d40);if(!_0x92d184)return;_0x92d184[_0x3deb7b(0x1ee)]=new Date()[_0x3deb7b(0x1a5)]();switch(_0x37ad20[_0x3deb7b(0x239)]){case'join_session':const _0xbf1ab1=_0x37ad20['sessionId'];_0x92d184['sessionId']=_0xbf1ab1,this[_0x3deb7b(0x208)]['info']('WebSocket\x20joined\x20session',{'connectionId':_0x75d40,'sessionId':_0xbf1ab1,'totalConnectionsForSession':Array['from'](this['connections']['values']())['filter'](_0x385844=>_0x385844['sessionId']===_0xbf1ab1)[_0x3deb7b(0x249)]}),_0x92d184['ws']['send'](JSON['stringify']({'type':'session_joined','sessionId':_0xbf1ab1}));break;case'ping':_0x92d184['ws'][_0x3deb7b(0x20a)](JSON[_0x3deb7b(0x25e)]({'type':_0x3deb7b(0x1d6),'timestamp':new Date()['toISOString']()}));break;case _0x3deb7b(0x202):try{const _0x4258d6={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x92d184['sessionId'],'action':_0x37ad20[_0x3deb7b(0x247)],'payload':_0x37ad20[_0x3deb7b(0x1a2)],'projectDir':_0x37ad20['projectDir']||process['cwd']()},_0x23ae8d=await this[_0x3deb7b(0x18e)][_0x3deb7b(0x24f)](_0x4258d6);_0x92d184['ws'][_0x3deb7b(0x20a)](JSON['stringify']({'type':'orchestrator_response','requestId':_0x37ad20[_0x3deb7b(0x1a7)],'response':_0x23ae8d}));}catch(_0x49b7b9){_0x92d184['ws'][_0x3deb7b(0x20a)](JSON['stringify']({'type':'error','requestId':_0x37ad20['requestId'],'error':_0x49b7b9[_0x3deb7b(0x1b8)]}));}break;default:this[_0x3deb7b(0x208)]['warn'](_0x3deb7b(0x243),{'connectionId':_0x75d40,'type':_0x37ad20[_0x3deb7b(0x239)]});}}['broadcastToSession'](_0x567459,_0x49c4be){const _0x31a94f=a0_0x204007,_0x1e2113=Array[_0x31a94f(0x1a4)](this[_0x31a94f(0x264)]['values']())[_0x31a94f(0x16c)](_0x55b15b=>_0x55b15b[_0x31a94f(0x193)]===_0x567459);let _0x2c6c41=[];_0x1e2113[_0x31a94f(0x249)]===0x0&&(_0x2c6c41=Array['from'](this['connections']['values']()),this[_0x31a94f(0x208)]?.['warn'](_0x31a94f(0x16e),{'targetSessionId':_0x567459,'totalConnections':this['connections'][_0x31a94f(0x1fe)],'allSessionIds':Array['from'](this['connections']['values']())[_0x31a94f(0x1b6)](_0x2a7895=>_0x2a7895['sessionId'])[_0x31a94f(0x16c)](Boolean)}));const _0x1646c8=_0x1e2113['length']>0x0?_0x1e2113:_0x2c6c41;this['logger']?.[_0x31a94f(0x1b9)](_0x31a94f(0x179),{'sessionId':_0x567459,'messageType':_0x49c4be['type'],'agentId':_0x49c4be['agentId'],'totalConnections':this['connections'][_0x31a94f(0x1fe)],'sessionConnections':_0x1e2113['length'],'targetConnections':_0x1646c8[_0x31a94f(0x249)],'connectionIds':_0x1646c8['map'](_0x30082e=>_0x30082e['id']),'usingFallback':_0x1e2113['length']===0x0,'messagePreview':_0x49c4be['type']==='autonomous_update'&&_0x49c4be['message']?{'messageId':_0x49c4be['message']['id'],'messageRole':_0x49c4be['message'][_0x31a94f(0x222)],'contentLength':_0x49c4be['message'][_0x31a94f(0x24e)]?.['length'],'hasToolResults':!!_0x49c4be['message'][_0x31a94f(0x244)]}:undefined});for(const _0x4b32bf of _0x1646c8){try{const _0x4ca1e3={..._0x49c4be,'timestamp':new Date()['toISOString']()};_0x4b32bf['ws'][_0x31a94f(0x20a)](JSON[_0x31a94f(0x25e)](_0x4ca1e3)),this[_0x31a94f(0x208)]?.['info'](_0x31a94f(0x226),{'connectionId':_0x4b32bf['id'],'messageType':_0x49c4be[_0x31a94f(0x239)],'agentId':_0x49c4be['agentId']});}catch(_0x263428){this['logger'][_0x31a94f(0x218)]('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x4b32bf['id'],'sessionId':_0x567459,'messageType':_0x49c4be[_0x31a94f(0x239)],'error':_0x263428['message']});}}}async[a0_0x204007(0x263)](){return new Promise((_0x2e4d61,_0x5599b8)=>{const _0x442024=a0_0x208a;this[_0x442024(0x1ad)]['listen'](this['port'],this['host'],_0x4ee5f0=>{const _0x2cff07=_0x442024;_0x4ee5f0?(this['logger'][_0x2cff07(0x1fa)]('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0x4ee5f0['message'],'port':this[_0x2cff07(0x173)],'host':this[_0x2cff07(0x1c1)]}),_0x5599b8(_0x4ee5f0)):(this[_0x2cff07(0x237)]=!![],this[_0x2cff07(0x208)][_0x2cff07(0x1b9)](_0x2cff07(0x178),{'port':this['port'],'host':this[_0x2cff07(0x1c1)],'httpUrl':_0x2cff07(0x1c4)+this[_0x2cff07(0x1c1)]+':'+this['port'],'wsUrl':_0x2cff07(0x252)+this['host']+':'+this['port'],'wsServerAttached':!!this[_0x2cff07(0x1b2)],'wsConnections':this[_0x2cff07(0x264)]['size']}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x2e4d61());}),this[_0x442024(0x1ad)]['on'](_0x442024(0x1fa),_0x3f1416=>{const _0x5133f6=_0x442024;this[_0x5133f6(0x208)][_0x5133f6(0x1fa)]('HTTP\x20server\x20error:',{'error':_0x3f1416['message'],'stack':_0x3f1416[_0x5133f6(0x1f0)],'port':this['port']});});});}async['testWebSocketServer'](){const _0x1a7ee1=a0_0x204007;try{const {default:_0x18fff2}=await import('ws'),_0x41f940=new _0x18fff2('ws://localhost:'+this['port']);_0x41f940['on']('open',()=>{const _0x4dfb0c=a0_0x208a;this[_0x4dfb0c(0x208)]['info']('✅\x20WebSocket\x20server\x20test:\x20SUCCESSFUL',{'port':this['port'],'url':'ws://localhost:'+this['port']}),_0x41f940[_0x4dfb0c(0x22c)]();}),_0x41f940['on']('error',_0x6f7b39=>{const _0x7e2285=a0_0x208a;this['logger'][_0x7e2285(0x1fa)]('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this[_0x7e2285(0x173)],'url':'ws://localhost:'+this[_0x7e2285(0x173)],'error':_0x6f7b39[_0x7e2285(0x1b8)],'code':_0x6f7b39[_0x7e2285(0x1bd)]});}),_0x41f940['on'](_0x1a7ee1(0x22c),(_0x4fcee1,_0x29a325)=>{const _0xc67ff7=_0x1a7ee1;_0x4fcee1===0x3e8&&this[_0xc67ff7(0x208)][_0xc67ff7(0x1b9)](_0xc67ff7(0x17f));}),setTimeout(()=>{const _0x83f6f9=_0x1a7ee1;_0x41f940[_0x83f6f9(0x1a1)]===_0x18fff2['CONNECTING']&&(this['logger']['error']('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this['port'],'url':_0x83f6f9(0x1d4)+this['port'],'readyState':_0x41f940[_0x83f6f9(0x1a1)]}),_0x41f940['terminate']());},0x1388);}catch(_0x1896ea){this[_0x1a7ee1(0x208)][_0x1a7ee1(0x1fa)]('❌\x20WebSocket\x20server\x20test:\x20EXCEPTION',{'error':_0x1896ea['message'],'stack':_0x1896ea['stack']});}}['setApiKeyManager'](_0x29f84d){const _0x52e8ae=a0_0x204007;this['apiKeyManager']=_0x29f84d,this['logger']?.['info'](_0x52e8ae(0x1d0),{'hasManager':!!_0x29f84d});}[a0_0x204007(0x1cf)](_0xda892f){const _0x491cd4=a0_0x204007;if(!_0xda892f)return null;const _0x3bb4c6=_0xda892f[_0x491cd4(0x182)]();if(_0x3bb4c6['includes']('anthropic')||_0x3bb4c6[_0x491cd4(0x231)](_0x491cd4(0x232)))return'anthropic';else{if(_0x3bb4c6[_0x491cd4(0x231)](_0x491cd4(0x19f))||_0x3bb4c6[_0x491cd4(0x231)](_0x491cd4(0x1f8)))return'openai';else{if(_0x3bb4c6['includes'](_0x491cd4(0x195)))return'deepseek';else{if(_0x3bb4c6[_0x491cd4(0x231)]('phi'))return'microsoft';}}}return null;}[a0_0x204007(0x1f6)](){const _0x4d9925=a0_0x204007;return{'isRunning':this['isRunning'],'port':this['port'],'host':this[_0x4d9925(0x1c1)],'connections':this[_0x4d9925(0x264)][_0x4d9925(0x1fe)],'sessions':this['sessions'][_0x4d9925(0x1fe)],'url':_0x4d9925(0x1c4)+this[_0x4d9925(0x1c1)]+':'+this['port']};}async[a0_0x204007(0x23d)](){const _0x5786aa=a0_0x204007;if(!this[_0x5786aa(0x237)])return;this['logger'][_0x5786aa(0x1b9)]('Shutting\x20down\x20web\x20server...');for(const _0x137e3a of this['connections']['values']()){_0x137e3a['ws'][_0x5786aa(0x22c)]();}return this[_0x5786aa(0x264)]['clear'](),this[_0x5786aa(0x1b2)][_0x5786aa(0x22c)](),new Promise(_0xc82c78=>{const _0x5a148b=_0x5786aa;this['server'][_0x5a148b(0x22c)](()=>{const _0x171ecf=_0x5a148b;this[_0x171ecf(0x237)]=![],this[_0x171ecf(0x208)][_0x171ecf(0x1b9)]('Web\x20server\x20shutdown\x20complete'),_0xc82c78();});});}}export default WebServer;if(import.meta.url==='file://'+process[a0_0x204007(0x1ce)][0x1]){const simpleLogger={'info':(_0x1be676,_0xfd50dd)=>console['log']('[INFO]\x20'+_0x1be676,_0xfd50dd?JSON['stringify'](_0xfd50dd,null,0x2):''),'error':(_0x42fa89,_0x386c73)=>console[a0_0x204007(0x1fa)](a0_0x204007(0x20b)+_0x42fa89,_0x386c73?JSON[a0_0x204007(0x25e)](_0x386c73,null,0x2):''),'warn':(_0x1a0eb7,_0x57c835)=>console[a0_0x204007(0x218)]('[WARN]\x20'+_0x1a0eb7,_0x57c835?JSON[a0_0x204007(0x25e)](_0x57c835,null,0x2):''),'debug':(_0x4b2abc,_0x56fdbb)=>console['log'](a0_0x204007(0x189)+_0x4b2abc,_0x56fdbb?JSON[a0_0x204007(0x25e)](_0x56fdbb,null,0x2):'')},mockOrchestrator={'processAction':async(_0xc0dd9f,_0x20b2d9)=>{const _0x4654e2=a0_0x204007;simpleLogger[_0x4654e2(0x1b9)]('Mock\x20orchestrator\x20action',{'action':_0xc0dd9f,'data':_0x20b2d9});switch(_0xc0dd9f){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x4654e2(0x19b)]:return{'success':!![],'data':{'id':'agent-'+Date['now'](),'name':_0x20b2d9[_0x4654e2(0x1e7)]||_0x4654e2(0x1ae),'status':_0x4654e2(0x26d),'model':_0x20b2d9[_0x4654e2(0x24d)]||'anthropic-sonnet','systemPrompt':_0x20b2d9['systemPrompt']||_0x4654e2(0x1d1)}};case ORCHESTRATOR_ACTIONS[_0x4654e2(0x24a)]:return{'success':!![],'data':{'message':{'id':'msg-'+Date['now'](),'content':'Echo:\x20'+_0x20b2d9['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':_0x4654e2(0x186)+_0xc0dd9f};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console['log'](a0_0x204007(0x1e5)),server['startServer']()[a0_0x204007(0x17e)](()=>{const _0x3370be=a0_0x204007,_0x41a85a=server[_0x3370be(0x1f6)]();console[_0x3370be(0x172)]('✅\x20Web\x20Server\x20running\x20at\x20'+_0x41a85a['url']),console[_0x3370be(0x172)]('📱\x20Web\x20UI\x20available\x20at:\x20http://localhost:3001\x20(if\x20running)'),console['log'](_0x3370be(0x175));})['catch'](_0x78aecd=>{const _0x503b92=a0_0x204007;console[_0x503b92(0x1fa)]('❌\x20Failed\x20to\x20start\x20web\x20server:',_0x78aecd['message']),process[_0x503b92(0x16f)](0x1);}),process['on'](a0_0x204007(0x1db),async()=>{const _0x2fede6=a0_0x204007;console[_0x2fede6(0x172)](_0x2fede6(0x21d)),await server['shutdown'](),process[_0x2fede6(0x16f)](0x0);});}
@@ -1 +1 @@
1
- const a0_0x269a62=a0_0x46b0;(function(_0x452429,_0x585213){const _0x341552=a0_0x46b0,_0xc3c563=_0x452429();while(!![]){try{const _0x186033=parseInt(_0x341552(0xf2))/0x1+-parseInt(_0x341552(0xe9))/0x2*(-parseInt(_0x341552(0xf8))/0x3)+parseInt(_0x341552(0xe7))/0x4*(parseInt(_0x341552(0xf9))/0x5)+parseInt(_0x341552(0xef))/0x6*(-parseInt(_0x341552(0xe6))/0x7)+-parseInt(_0x341552(0xf4))/0x8+parseInt(_0x341552(0xed))/0x9+parseInt(_0x341552(0xf0))/0xa;if(_0x186033===_0x585213)break;else _0xc3c563['push'](_0xc3c563['shift']());}catch(_0x23487f){_0xc3c563['push'](_0xc3c563['shift']());}}}(a0_0x283f,0x2ecbc));import{promises as a0_0x6506b8}from'fs';function a0_0x46b0(_0x3bd061,_0x3a516a){_0x3bd061=_0x3bd061-0xe6;const _0x283f7a=a0_0x283f();let _0x46b0b6=_0x283f7a[_0x3bd061];if(a0_0x46b0['iDzSkt']===undefined){var _0xea8c34=function(_0xd26c64){const _0x303e16='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6506b8='',_0x45a5b4='';for(let _0x174654=0x0,_0x493e09,_0x1c4283,_0x1c961f=0x0;_0x1c4283=_0xd26c64['charAt'](_0x1c961f++);~_0x1c4283&&(_0x493e09=_0x174654%0x4?_0x493e09*0x40+_0x1c4283:_0x1c4283,_0x174654++%0x4)?_0x6506b8+=String['fromCharCode'](0xff&_0x493e09>>(-0x2*_0x174654&0x6)):0x0){_0x1c4283=_0x303e16['indexOf'](_0x1c4283);}for(let _0x1d1b0d=0x0,_0xedf47c=_0x6506b8['length'];_0x1d1b0d<_0xedf47c;_0x1d1b0d++){_0x45a5b4+='%'+('00'+_0x6506b8['charCodeAt'](_0x1d1b0d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45a5b4);};a0_0x46b0['aGuCiV']=_0xea8c34,a0_0x46b0['ciTsgA']={},a0_0x46b0['iDzSkt']=!![];}const _0x835998=_0x283f7a[0x0],_0xa18ed=_0x3bd061+_0x835998,_0x3a5405=a0_0x46b0['ciTsgA'][_0xa18ed];return!_0x3a5405?(_0x46b0b6=a0_0x46b0['aGuCiV'](_0x46b0b6),a0_0x46b0['ciTsgA'][_0xa18ed]=_0x46b0b6):_0x46b0b6=_0x3a5405,_0x46b0b6;}function a0_0x283f(){const _0x593d5f=['mti0mZq0mgLLuuLesq','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','BxrPBwu','C2L6zq','mtuWodDhDfjdCvC','ndvOt0fAB2y','AxntywzLugf0Aa','vw5RBM93BIbLCNjVCG','u2vYDMvYigvYCM9Y','y3jLyxrLrgLYzwn0B3j5','y29Kzq','ChvZAa','AxneAxjLy3rVCNK','C2HVDwXKsw5JBhvKzuL0zw0','Dg9mB3DLCKnHC2u','BwTKAxi','zMLSDgvY','C2HVD0HPzgrLBG','y29UzMLN','zxH0BMfTzq','BwvZC2fNzq','CMvZB2X2zq','zMLSzq','n3nUtKDmAW','odCWmdrgtwrMtKy','DhLWzq','nK1et0Lcwa','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','zgLYzwn0B3j5','z2v0rMLSzuLUzM8','mJa3mdGXuefKBLnn','BgvUz3rO','mtiWmdu1oe5otunYCq','mZi2nJaWwu1lv0Pr','AxngAwXL','mJGWnJG0sLPNwg9x','CMvSyxrPDMu'];a0_0x283f=function(){return _0x593d5f;};return a0_0x283f();}import a0_0x45a5b4 from'path';import a0_0x174654 from'os';class FileExplorerController{constructor(_0x493e09={}){const _0x3a4143=a0_0x46b0;this[_0x3a4143(0x106)]={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x493e09};}async['getFileStats'](_0x1c4283){const _0x53808f=a0_0x46b0;try{const _0x1c961f=await a0_0x6506b8['stat'](_0x1c4283);return{'stats':_0x1c961f};}catch(_0x1d1b0d){return{'stats':null,'error':_0x1d1b0d instanceof Error?_0x1d1b0d[_0x53808f(0x108)]:_0x53808f(0xfb)};}}[a0_0x269a62(0xfa)](_0xedf47c){try{const _0x2fadcd=a0_0x45a5b4['resolve'](_0xedf47c);if(this['config']['restrictedPaths']['some'](_0x32e401=>_0x2fadcd['startsWith'](a0_0x45a5b4['resolve'](_0x32e401))))return![];return!![];}catch(_0x12d810){return![];}}[a0_0x269a62(0x101)](_0x3cc10c,_0x50183a){const _0x147a71=a0_0x269a62;if(!this[_0x147a71(0x106)][_0x147a71(0x105)]&&_0x3cc10c['startsWith']('.'))return![];if(_0x50183a['isFile']()&&this['config']['allowedExtensions']['length']>0x0){const _0x8216ae=a0_0x45a5b4[_0x147a71(0x107)](_0x3cc10c)[_0x147a71(0x102)]();if(!this[_0x147a71(0x106)]['allowedExtensions']['includes'](_0x8216ae))return![];}return!![];}async['browseDirectory'](_0x2b35a3=process['cwd'](),_0x1dd0c9={}){const _0xfebe56=a0_0x269a62;try{const _0x5dba22=a0_0x45a5b4[_0xfebe56(0x109)](_0x2b35a3);if(!this['isSafePath'](_0x5dba22))return{'success':![],'error':'Access\x20to\x20this\x20path\x20is\x20restricted'};const {stats:_0x1048a9,error:_0x224149}=await this['getFileStats'](_0x5dba22);if(_0x224149||!_0x1048a9)return{'success':![],'error':'Path\x20not\x20found\x20or\x20inaccessible'};if(!_0x1048a9[_0xfebe56(0x100)]())return{'success':![],'error':_0xfebe56(0xea)};const _0x404003=await a0_0x6506b8['readdir'](_0x5dba22),_0x16042b=[];for(const _0x58d0aa of _0x404003){const _0x4975a4=a0_0x45a5b4['join'](_0x5dba22,_0x58d0aa),{stats:_0x21c55d}=await this['getFileStats'](_0x4975a4);if(_0x21c55d&&this[_0xfebe56(0x101)](_0x58d0aa,_0x21c55d)){const _0x3ad2c8={'name':_0x58d0aa,'path':_0x4975a4,'type':_0x21c55d[_0xfebe56(0x100)]()?'directory':_0xfebe56(0x10a),'size':_0x21c55d[_0xfebe56(0xf1)]()?_0x21c55d[_0xfebe56(0xf7)]:undefined,'lastModified':_0x21c55d[_0xfebe56(0xf6)],'extension':_0x21c55d['isFile']()?a0_0x45a5b4[_0xfebe56(0x107)](_0x58d0aa)['toLowerCase']():undefined};_0x16042b[_0xfebe56(0xff)](_0x3ad2c8);}}_0x16042b['sort']((_0xf961cf,_0x74ff5b)=>{const _0xcbbb30=_0xfebe56;if(_0xf961cf[_0xcbbb30(0xe8)]===_0x74ff5b[_0xcbbb30(0xe8)])return _0xf961cf['name']['localeCompare'](_0x74ff5b['name']);return _0xf961cf[_0xcbbb30(0xe8)]===_0xcbbb30(0xeb)?-0x1:0x1;});const _0xed1e1e=a0_0x45a5b4['dirname'](_0x5dba22),_0x430852=_0xed1e1e!==_0x5dba22;return{'success':!![],'data':{'currentPath':_0x5dba22,'parentPath':_0x430852?_0xed1e1e:null,'items':_0x16042b,'totalItems':_0x16042b[_0xfebe56(0xee)],'directories':_0x16042b['filter'](_0x48672e=>_0x48672e[_0xfebe56(0xe8)]===_0xfebe56(0xeb))[_0xfebe56(0xee)],'files':_0x16042b[_0xfebe56(0x104)](_0x4b023f=>_0x4b023f['type']==='file')['length']}};}catch(_0x342d10){return{'success':![],'error':_0x342d10 instanceof Error?_0x342d10[_0xfebe56(0x108)]:_0xfebe56(0xfc)};}}async[a0_0x269a62(0xec)](_0x581274){const _0x5a2795=a0_0x269a62;try{if(!_0x581274||!this[_0x5a2795(0xfa)](_0x581274))return{'success':![],'error':'Invalid\x20file\x20path'};const {stats:_0x8e6313,error:_0x397611}=await this['getFileStats'](_0x581274);if(_0x397611||!_0x8e6313)return{'success':![],'error':'File\x20not\x20found'};const _0x32a8e4={'name':a0_0x45a5b4['basename'](_0x581274),'path':_0x581274,'type':_0x8e6313['isDirectory']()?_0x5a2795(0xeb):_0x5a2795(0x10a),'size':_0x8e6313[_0x5a2795(0xf1)]()?_0x8e6313['size']:undefined,'lastModified':_0x8e6313[_0x5a2795(0xf6)],'extension':_0x8e6313[_0x5a2795(0xf1)]()?a0_0x45a5b4['extname'](_0x581274)[_0x5a2795(0x102)]():undefined};return{'success':!![],'data':_0x32a8e4};}catch(_0x46c178){return{'success':![],'error':_0x46c178 instanceof Error?_0x46c178[_0x5a2795(0x108)]:_0x5a2795(0xfc)};}}[a0_0x269a62(0xf5)](){return{'success':!![],'data':{'cwd':process['cwd'](),'platform':process['platform'],'homedir':a0_0x174654['homedir']()}};}async[a0_0x269a62(0xfd)](_0x57b6e2,_0x2ff8ed={}){const _0x5174e2=a0_0x269a62;try{if(!this['isSafePath'](_0x57b6e2))return{'success':![],'error':'Invalid\x20directory\x20path'};return await a0_0x6506b8[_0x5174e2(0x103)](_0x57b6e2,{'recursive':_0x2ff8ed['recursive']||![]}),{'success':!![],'data':{'path':_0x57b6e2,'relativePath':a0_0x45a5b4[_0x5174e2(0xf3)](process['cwd'](),_0x57b6e2)}};}catch(_0x1174d4){return{'success':![],'error':_0x1174d4 instanceof Error?_0x1174d4[_0x5174e2(0x108)]:'Failed\x20to\x20create\x20directory','code':_0x1174d4[_0x5174e2(0xfe)]};}}['healthCheck'](){return{'success':!![],'data':{'status':'healthy','timestamp':new Date()['toISOString'](),'module':'fileExplorer'}};}}export default FileExplorerController;
1
+ const a0_0x3a9bc2=a0_0x357c;(function(_0x81c4a3,_0x20db70){const _0x3d23e0=a0_0x357c,_0x257133=_0x81c4a3();while(!![]){try{const _0x2174f7=parseInt(_0x3d23e0(0xa4))/0x1*(-parseInt(_0x3d23e0(0xbd))/0x2)+-parseInt(_0x3d23e0(0x99))/0x3*(-parseInt(_0x3d23e0(0xb8))/0x4)+-parseInt(_0x3d23e0(0xa5))/0x5+-parseInt(_0x3d23e0(0xa8))/0x6+-parseInt(_0x3d23e0(0x9e))/0x7+-parseInt(_0x3d23e0(0xc6))/0x8*(-parseInt(_0x3d23e0(0xb2))/0x9)+-parseInt(_0x3d23e0(0xa6))/0xa*(-parseInt(_0x3d23e0(0xa7))/0xb);if(_0x2174f7===_0x20db70)break;else _0x257133['push'](_0x257133['shift']());}catch(_0x5390d3){_0x257133['push'](_0x257133['shift']());}}}(a0_0x424d,0x83795));import{promises as a0_0x208edc}from'fs';import{exec}from'child_process';import a0_0x27a140 from'path';function a0_0x424d(){const _0x45d7f0=['C3rHDa','zMLSzq','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNK','zgLYzwn0B3j5','mJyWmtyYD29uwM5V','D2LUmZi','sw52ywXPzcbKAxjLy3rVCNKGCgf0Aa','Ag9TzwrPCG','ChvZAa','CMvZB2X2zq','mti3mtGZCLfjr3Lo','ndG5mZe1nvHAEffjyq','ndbSy3fbwgC','mtCYnZy2mfvnuwfVEq','mtiXmtKZne1HEwnXDW','C2HVD0HPzgrLBG','CMvJDxjZAxzL','rMLSzsbUB3qGzM91BMq','y3jLyxrLrgLYzwn0B3j5','zxH0BMfTzq','AgvHBhrOq2HLy2S','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','u2vYDMvYigvYCM9Y','AxngAwXL','ode0oty1m2rsu3Deua','C3rHCNrZv2L0Aa','C2L6zq','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0igfUzcbJB3vSzcbUB3qGyMuGy3jLyxrLzdOG','C29Tzq','CgXHDgzVCM0','nhfXvKvlCG','sw52ywXPzcbMAwXLihbHDgG','BgvUz3rO','Dg9mB3DLCKnHC2u','zMLSzuv4CgXVCMvY','mLbNC3HgqG','zxHWBg9YzxiGiG','y3DK','zMLSDgvY','AxneAxjLy3rVCNK','AxntywzLugf0Aa','y29UzMLN','DhLWzq','Bg9JywXLq29TCgfYzq','oevHt21iBW','z2v0rMLSzuLUzM8','AM9PBG','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','BwvZC2fNzq','BxrPBwu','zgfYD2LU','z2v0rMLSzvn0yxrZ','mta0ote4n1PcAgXuBa'];a0_0x424d=function(){return _0x45d7f0;};return a0_0x424d();}import a0_0x1eaa72 from'os';class FileExplorerController{constructor(_0x3859ce={}){const _0x5c1a4d=a0_0x357c;this[_0x5c1a4d(0xc3)]={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x3859ce};}async[a0_0x3a9bc2(0x98)](_0x2e2a38){const _0x286c3e=a0_0x3a9bc2;try{const _0x5ea6b9=await a0_0x208edc[_0x286c3e(0x9a)](_0x2e2a38);return{'stats':_0x5ea6b9};}catch(_0x3759c5){return{'stats':null,'error':_0x3759c5 instanceof Error?_0x3759c5[_0x286c3e(0xca)]:'Unknown\x20error'};}}[a0_0x3a9bc2(0xc2)](_0x384cf4){const _0x1a1377=a0_0x3a9bc2;try{const _0x169a5f=a0_0x27a140['resolve'](_0x384cf4);if(this[_0x1a1377(0xc3)]['restrictedPaths'][_0x1a1377(0xb6)](_0x5761d1=>_0x169a5f[_0x1a1377(0xb3)](a0_0x27a140[_0x1a1377(0xa3)](_0x5761d1))))return![];return!![];}catch(_0x1bbac8){return![];}}['shouldIncludeItem'](_0x24c5b6,_0x4a7456){const _0x417875=a0_0x3a9bc2;if(!this['config'][_0x417875(0xa9)]&&_0x24c5b6['startsWith']('.'))return![];if(_0x4a7456[_0x417875(0xb1)]()&&this['config']['allowedExtensions']['length']>0x0){const _0x56aea6=a0_0x27a140[_0x417875(0xad)](_0x24c5b6)['toLowerCase']();if(!this[_0x417875(0xc3)]['allowedExtensions']['includes'](_0x56aea6))return![];}return!![];}async['browseDirectory'](_0x1a147c=process[a0_0x3a9bc2(0xbf)](),_0xbfb87e={}){const _0x27f359=a0_0x3a9bc2;try{const _0x32d261=a0_0x27a140[_0x27f359(0xa3)](_0x1a147c);if(!this[_0x27f359(0xc2)](_0x32d261))return{'success':![],'error':'Access\x20to\x20this\x20path\x20is\x20restricted'};const {stats:_0x56d3f7,error:_0x570baa}=await this[_0x27f359(0x98)](_0x32d261);if(_0x570baa||!_0x56d3f7)return{'success':![],'error':'Path\x20not\x20found\x20or\x20inaccessible'};if(!_0x56d3f7[_0x27f359(0xc1)]())return{'success':![],'error':_0x27f359(0xaf)};const _0x4f4c04=await a0_0x208edc['readdir'](_0x32d261),_0x349a7d=[];for(const _0x5d67f4 of _0x4f4c04){const _0x22f917=a0_0x27a140[_0x27f359(0xc8)](_0x32d261,_0x5d67f4),{stats:_0x31435d}=await this[_0x27f359(0x98)](_0x22f917);if(_0x31435d&&this['shouldIncludeItem'](_0x5d67f4,_0x31435d)){const _0x27f417={'name':_0x5d67f4,'path':_0x22f917,'type':_0x31435d['isDirectory']()?_0x27f359(0x9d):'file','size':_0x31435d['isFile']()?_0x31435d[_0x27f359(0xb4)]:undefined,'lastModified':_0x31435d[_0x27f359(0xcb)],'extension':_0x31435d[_0x27f359(0xb1)]()?a0_0x27a140[_0x27f359(0xad)](_0x5d67f4)['toLowerCase']():undefined};_0x349a7d[_0x27f359(0xa2)](_0x27f417);}}_0x349a7d['sort']((_0x155bf4,_0x5f21f4)=>{const _0x33e747=_0x27f359;if(_0x155bf4['type']===_0x5f21f4['type'])return _0x155bf4['name'][_0x33e747(0xc5)](_0x5f21f4['name']);return _0x155bf4['type']===_0x33e747(0x9d)?-0x1:0x1;});const _0x7c7942=a0_0x27a140['dirname'](_0x32d261),_0x278bb2=_0x7c7942!==_0x32d261;return{'success':!![],'data':{'currentPath':_0x32d261,'parentPath':_0x278bb2?_0x7c7942:null,'items':_0x349a7d,'totalItems':_0x349a7d[_0x27f359(0xba)],'directories':_0x349a7d[_0x27f359(0xc0)](_0x143879=>_0x143879['type']==='directory')['length'],'files':_0x349a7d['filter'](_0x5c0041=>_0x5c0041[_0x27f359(0xc4)]===_0x27f359(0x9b))[_0x27f359(0xba)]}};}catch(_0x29010b){return{'success':![],'error':_0x29010b instanceof Error?_0x29010b[_0x27f359(0xca)]:_0x27f359(0xb0)};}}async[a0_0x3a9bc2(0xc7)](_0x1e7b5f){const _0x221316=a0_0x3a9bc2;try{if(!_0x1e7b5f||!this['isSafePath'](_0x1e7b5f))return{'success':![],'error':_0x221316(0xb9)};const {stats:_0x3fe39d,error:_0x5188a3}=await this['getFileStats'](_0x1e7b5f);if(_0x5188a3||!_0x3fe39d)return{'success':![],'error':_0x221316(0xab)};const _0x511fad={'name':a0_0x27a140['basename'](_0x1e7b5f),'path':_0x1e7b5f,'type':_0x3fe39d[_0x221316(0xc1)]()?'directory':'file','size':_0x3fe39d[_0x221316(0xb1)]()?_0x3fe39d[_0x221316(0xb4)]:undefined,'lastModified':_0x3fe39d[_0x221316(0xcb)],'extension':_0x3fe39d['isFile']()?a0_0x27a140[_0x221316(0xad)](_0x1e7b5f)[_0x221316(0xbb)]():undefined};return{'success':!![],'data':_0x511fad};}catch(_0x1a7548){return{'success':![],'error':_0x1a7548 instanceof Error?_0x1a7548['message']:'Server\x20error'};}}[a0_0x3a9bc2(0xc9)](){const _0x49e479=a0_0x3a9bc2;return{'success':!![],'data':{'cwd':process[_0x49e479(0xbf)](),'platform':process[_0x49e479(0xb7)],'homedir':a0_0x1eaa72[_0x49e479(0xa1)]()}};}async[a0_0x3a9bc2(0xac)](_0x491d3e,_0x51a663={}){const _0xe82329=a0_0x3a9bc2;try{if(!this[_0xe82329(0xc2)](_0x491d3e))return{'success':![],'error':_0xe82329(0xa0)};return await a0_0x208edc['mkdir'](_0x491d3e,{'recursive':_0x51a663[_0xe82329(0xaa)]||![]}),{'success':!![],'data':{'path':_0x491d3e,'relativePath':a0_0x27a140['relative'](process['cwd'](),_0x491d3e)}};}catch(_0x150cf4){return{'success':![],'error':_0x150cf4 instanceof Error?_0x150cf4[_0xe82329(0xca)]:_0xe82329(0x9c),'code':_0x150cf4['code']};}}async['openInExplorer'](_0x43a510){const _0x47542c=a0_0x3a9bc2;try{const _0x387b72=a0_0x27a140[_0x47542c(0xa3)](_0x43a510);if(!this['isSafePath'](_0x387b72))return{'success':![],'error':'Access\x20to\x20this\x20path\x20is\x20restricted'};const {stats:_0x3c0233,error:_0xb83fd8}=await this[_0x47542c(0x98)](_0x387b72);if(_0xb83fd8||!_0x3c0233)try{await a0_0x208edc['mkdir'](_0x387b72,{'recursive':!![]});}catch(_0x4b2e8c){return{'success':![],'error':_0x47542c(0xb5)+_0x4b2e8c[_0x47542c(0xca)]};}const _0x42daa9=a0_0x1eaa72['platform']();let _0x2cc2a8;if(_0x42daa9===_0x47542c(0x9f))_0x2cc2a8=_0x47542c(0xbe)+_0x387b72+'\x22';else _0x42daa9===_0x47542c(0xcc)?_0x2cc2a8='open\x20\x22'+_0x387b72+'\x22':_0x2cc2a8='xdg-open\x20\x22'+_0x387b72+'\x22';return new Promise(_0x35361f=>{exec(_0x2cc2a8,_0x337cf3=>{const _0x3f39af=a0_0x357c;_0x337cf3?_0x42daa9===_0x3f39af(0x9f)?_0x35361f({'success':!![]}):_0x35361f({'success':![],'error':_0x337cf3['message']}):_0x35361f({'success':!![]});});});}catch(_0x1c8d03){return{'success':![],'error':_0x1c8d03 instanceof Error?_0x1c8d03[_0x47542c(0xca)]:'Failed\x20to\x20open\x20directory'};}}[a0_0x3a9bc2(0xae)](){const _0x1cface=a0_0x3a9bc2;return{'success':!![],'data':{'status':'healthy','timestamp':new Date()['toISOString'](),'module':_0x1cface(0xbc)}};}}function a0_0x357c(_0x26cb5c,_0x7e5059){_0x26cb5c=_0x26cb5c-0x98;const _0x424d3f=a0_0x424d();let _0x357cc6=_0x424d3f[_0x26cb5c];if(a0_0x357c['GUIkou']===undefined){var _0x14519d=function(_0x160d82){const _0x32a76f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x208edc='',_0x27a140='';for(let _0x1eaa72=0x0,_0x3859ce,_0x2e2a38,_0x5ea6b9=0x0;_0x2e2a38=_0x160d82['charAt'](_0x5ea6b9++);~_0x2e2a38&&(_0x3859ce=_0x1eaa72%0x4?_0x3859ce*0x40+_0x2e2a38:_0x2e2a38,_0x1eaa72++%0x4)?_0x208edc+=String['fromCharCode'](0xff&_0x3859ce>>(-0x2*_0x1eaa72&0x6)):0x0){_0x2e2a38=_0x32a76f['indexOf'](_0x2e2a38);}for(let _0x3759c5=0x0,_0x384cf4=_0x208edc['length'];_0x3759c5<_0x384cf4;_0x3759c5++){_0x27a140+='%'+('00'+_0x208edc['charCodeAt'](_0x3759c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27a140);};a0_0x357c['wzMgSS']=_0x14519d,a0_0x357c['iyGuSU']={},a0_0x357c['GUIkou']=!![];}const _0x417249=_0x424d3f[0x0],_0x50d871=_0x26cb5c+_0x417249,_0x36772b=a0_0x357c['iyGuSU'][_0x50d871];return!_0x36772b?(_0x357cc6=a0_0x357c['wzMgSS'](_0x357cc6),a0_0x357c['iyGuSU'][_0x50d871]=_0x357cc6):_0x357cc6=_0x36772b,_0x357cc6;}export default FileExplorerController;
@@ -1 +1 @@
1
- (function(_0x1e9d00,_0x537cde){const _0x4e5140=a0_0x1438,_0x4b5db2=_0x1e9d00();while(!![]){try{const _0x38c560=-parseInt(_0x4e5140(0x13e))/0x1*(parseInt(_0x4e5140(0x136))/0x2)+-parseInt(_0x4e5140(0x13f))/0x3+parseInt(_0x4e5140(0x139))/0x4+parseInt(_0x4e5140(0x13c))/0x5*(parseInt(_0x4e5140(0x137))/0x6)+parseInt(_0x4e5140(0x13b))/0x7*(parseInt(_0x4e5140(0x138))/0x8)+parseInt(_0x4e5140(0x13a))/0x9+-parseInt(_0x4e5140(0x13d))/0xa;if(_0x38c560===_0x537cde)break;else _0x4b5db2['push'](_0x4b5db2['shift']());}catch(_0x354ba9){_0x4b5db2['push'](_0x4b5db2['shift']());}}}(a0_0x1063,0xdb2ef));import{createFileExplorerRouter,defaultConfig}from'./routes.js';function a0_0x1438(_0x2fe998,_0x486fd3){_0x2fe998=_0x2fe998-0x136;const _0x1063af=a0_0x1063();let _0x1438e6=_0x1063af[_0x2fe998];if(a0_0x1438['MubdEW']===undefined){var _0x59f7bf=function(_0x2cb20d){const _0x428abe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x416a7b='',_0xc5f262='';for(let _0x363689=0x0,_0x1a9209,_0x5b9741,_0x54894f=0x0;_0x5b9741=_0x2cb20d['charAt'](_0x54894f++);~_0x5b9741&&(_0x1a9209=_0x363689%0x4?_0x1a9209*0x40+_0x5b9741:_0x5b9741,_0x363689++%0x4)?_0x416a7b+=String['fromCharCode'](0xff&_0x1a9209>>(-0x2*_0x363689&0x6)):0x0){_0x5b9741=_0x428abe['indexOf'](_0x5b9741);}for(let _0x150cb2=0x0,_0x2d0b01=_0x416a7b['length'];_0x150cb2<_0x2d0b01;_0x150cb2++){_0xc5f262+='%'+('00'+_0x416a7b['charCodeAt'](_0x150cb2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc5f262);};a0_0x1438['yhUGAy']=_0x59f7bf,a0_0x1438['XaaFMY']={},a0_0x1438['MubdEW']=!![];}const _0x719ead=_0x1063af[0x0],_0x5d3930=_0x2fe998+_0x719ead,_0x3c3e85=a0_0x1438['XaaFMY'][_0x5d3930];return!_0x3c3e85?(_0x1438e6=a0_0x1438['yhUGAy'](_0x1438e6),a0_0x1438['XaaFMY'][_0x5d3930]=_0x1438e6):_0x1438e6=_0x3c3e85,_0x1438e6;}import a0_0x416a7b from'./controller.js';export function initFileExplorerModule(_0xc5f262={}){const _0x363689={...defaultConfig,..._0xc5f262},_0x1a9209=createFileExplorerRouter(_0x363689),_0x5b9741=new a0_0x416a7b(_0x363689);return{'router':_0x1a9209,'controller':_0x5b9741,'config':_0x363689};}function a0_0x1063(){const _0x31dde5=['mwv1rK9HBG','mJK4odGXvufStvPi','mJaWnJm5oe5rq2LjqG','nKvfsvzTuG','ntC3nZmXmNHKtunJEq','mta3ntiWmhnIvvfWrW','mJC1mty5nMrKD3zurG','n2X4vNzcAa','mZC3mZmWnwvWCeDzCq','nta3nJGWvffdq3Hx'];a0_0x1063=function(){return _0x31dde5;};return a0_0x1063();}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x416a7b,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
1
+ function a0_0x1603(_0x5b83df,_0x55c3b0){_0x5b83df=_0x5b83df-0x18f;const _0xaad6a3=a0_0xaad6();let _0x160320=_0xaad6a3[_0x5b83df];if(a0_0x1603['mjkSfc']===undefined){var _0x8eab92=function(_0x34df2e){const _0x10fc72='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ec8d6='',_0x21d2f8='';for(let _0x2b2deb=0x0,_0x1e0ddd,_0x433549,_0x33783a=0x0;_0x433549=_0x34df2e['charAt'](_0x33783a++);~_0x433549&&(_0x1e0ddd=_0x2b2deb%0x4?_0x1e0ddd*0x40+_0x433549:_0x433549,_0x2b2deb++%0x4)?_0x4ec8d6+=String['fromCharCode'](0xff&_0x1e0ddd>>(-0x2*_0x2b2deb&0x6)):0x0){_0x433549=_0x10fc72['indexOf'](_0x433549);}for(let _0x22fcfa=0x0,_0x51cfe1=_0x4ec8d6['length'];_0x22fcfa<_0x51cfe1;_0x22fcfa++){_0x21d2f8+='%'+('00'+_0x4ec8d6['charCodeAt'](_0x22fcfa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21d2f8);};a0_0x1603['MPGASx']=_0x8eab92,a0_0x1603['NPInBp']={},a0_0x1603['mjkSfc']=!![];}const _0x1c017f=_0xaad6a3[0x0],_0x224ebb=_0x5b83df+_0x1c017f,_0x5f328a=a0_0x1603['NPInBp'][_0x224ebb];return!_0x5f328a?(_0x160320=a0_0x1603['MPGASx'](_0x160320),a0_0x1603['NPInBp'][_0x224ebb]=_0x160320):_0x160320=_0x5f328a,_0x160320;}(function(_0x255a2d,_0x4a2c7c){const _0xece599=a0_0x1603,_0xdc3b53=_0x255a2d();while(!![]){try{const _0x107724=-parseInt(_0xece599(0x194))/0x1+parseInt(_0xece599(0x18f))/0x2+parseInt(_0xece599(0x191))/0x3*(parseInt(_0xece599(0x190))/0x4)+parseInt(_0xece599(0x197))/0x5+-parseInt(_0xece599(0x193))/0x6+parseInt(_0xece599(0x196))/0x7+-parseInt(_0xece599(0x195))/0x8*(parseInt(_0xece599(0x192))/0x9);if(_0x107724===_0x4a2c7c)break;else _0xdc3b53['push'](_0xdc3b53['shift']());}catch(_0x398e55){_0xdc3b53['push'](_0xdc3b53['shift']());}}}(a0_0xaad6,0x8efd7));import{createFileExplorerRouter,defaultConfig}from'./routes.js';import a0_0x4ec8d6 from'./controller.js';export function initFileExplorerModule(_0x21d2f8={}){const _0x2b2deb={...defaultConfig,..._0x21d2f8},_0x1e0ddd=createFileExplorerRouter(_0x2b2deb),_0x433549=new a0_0x4ec8d6(_0x2b2deb);return{'router':_0x1e0ddd,'controller':_0x433549,'config':_0x2b2deb};}function a0_0xaad6(){const _0x36835f=['mtuZzNz4sxDZ','nJK2nZiXmKjewvnOvG','mZeYmdiWze9PyLjx','mta3mdq4wufhCezk','mti4nZG0nKXPBfvYsq','nte3oda1meXWyNL2AW','mty3nJy5mK9sBMjjtW','mteYruTbBen5','mJq0nZDHA29YwMW'];a0_0xaad6=function(){return _0x36835f;};return a0_0xaad6();}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x4ec8d6,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
@@ -1 +1 @@
1
- (function(_0x220083,_0x3c1e25){const _0x1c0d65=a0_0x59e2,_0x3bb2be=_0x220083();while(!![]){try{const _0x21f481=parseInt(_0x1c0d65(0x7d))/0x1+parseInt(_0x1c0d65(0x78))/0x2*(parseInt(_0x1c0d65(0x6c))/0x3)+-parseInt(_0x1c0d65(0x72))/0x4+-parseInt(_0x1c0d65(0x7b))/0x5*(parseInt(_0x1c0d65(0x7f))/0x6)+parseInt(_0x1c0d65(0x6d))/0x7*(parseInt(_0x1c0d65(0x76))/0x8)+-parseInt(_0x1c0d65(0x6f))/0x9*(parseInt(_0x1c0d65(0x74))/0xa)+parseInt(_0x1c0d65(0x7a))/0xb;if(_0x21f481===_0x3c1e25)break;else _0x3bb2be['push'](_0x3bb2be['shift']());}catch(_0xbff849){_0x3bb2be['push'](_0x3bb2be['shift']());}}}(a0_0x32d7,0x4ec28));function a0_0x59e2(_0x3940e7,_0xf7e1e0){_0x3940e7=_0x3940e7-0x69;const _0x32d76d=a0_0x32d7();let _0x59e281=_0x32d76d[_0x3940e7];if(a0_0x59e2['QBAZwt']===undefined){var _0x2bf0d4=function(_0x5ac545){const _0x3280da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x529828='',_0x2d8116='';for(let _0x5c5752=0x0,_0x247f4a,_0xf54638,_0x1587d7=0x0;_0xf54638=_0x5ac545['charAt'](_0x1587d7++);~_0xf54638&&(_0x247f4a=_0x5c5752%0x4?_0x247f4a*0x40+_0xf54638:_0xf54638,_0x5c5752++%0x4)?_0x529828+=String['fromCharCode'](0xff&_0x247f4a>>(-0x2*_0x5c5752&0x6)):0x0){_0xf54638=_0x3280da['indexOf'](_0xf54638);}for(let _0x3f9d67=0x0,_0x29ba49=_0x529828['length'];_0x3f9d67<_0x29ba49;_0x3f9d67++){_0x2d8116+='%'+('00'+_0x529828['charCodeAt'](_0x3f9d67)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d8116);};a0_0x59e2['bpDUAy']=_0x2bf0d4,a0_0x59e2['YgdsBN']={},a0_0x59e2['QBAZwt']=!![];}const _0x23f589=_0x32d76d[0x0],_0x4331fa=_0x3940e7+_0x23f589,_0x2b311f=a0_0x59e2['YgdsBN'][_0x4331fa];return!_0x2b311f?(_0x59e281=a0_0x59e2['bpDUAy'](_0x59e281),a0_0x59e2['YgdsBN'][_0x4331fa]=_0x59e281):_0x59e281=_0x2b311f,_0x59e281;}function a0_0x32d7(){const _0x409c95=['ic0G','ndy4nJu3zLL4zgfp','odq4mdK5AKXSC0vu','y2vPBa','ndKZmdm3mvr5Bxj2uW','Bwv0Ag9K','ANnVBG','nZiWndrXv21Nzg0','zMLSDgvY','mtbIv3fqrei','CMvTB3rLqwrKCMvZCW','oe9kAw5JEq','Dw5RBM93BG','mLjQsNHwuq','C3rYAw5N','ndq3mJi3mevtuw1luW','nxrQzK9hza','C2v0','mZu0mta1wLLWuKnJ','BM93','odK3nZi2r2XVy3Dc','BM8Ty2fJAgu','C3rHDhvZ','w0zPBgvfEhbSB3jLCL0G'];a0_0x32d7=function(){return _0x409c95;};return a0_0x32d7();}export function validatePath(_0x529828,_0x2d8116,_0x5c5752){const _0x19b95f=a0_0x59e2,{path:_0x247f4a}=_0x529828['query'];if(_0x247f4a&&typeof _0x247f4a!==_0x19b95f(0x79))return _0x2d8116['status'](0x190)[_0x19b95f(0x71)]({'success':![],'error':'Path\x20parameter\x20must\x20be\x20a\x20string'});_0x5c5752();}export function createRateLimit(_0xf54638=0x64,_0x1587d7=0xea60){const _0x3f9d67=new Map();return(_0x29ba49,_0x2bb157,_0x104f45)=>{const _0x4c618d=a0_0x59e2,_0x418dd2=_0x29ba49['ip']||_0x29ba49['connection'][_0x4c618d(0x75)]||_0x4c618d(0x77),_0x4e64ae=Date[_0x4c618d(0x7e)](),_0x57b0c3=_0x4e64ae-_0x1587d7;!_0x3f9d67['has'](_0x418dd2)&&_0x3f9d67[_0x4c618d(0x7c)](_0x418dd2,[]);const _0x17e249=_0x3f9d67['get'](_0x418dd2),_0x3085c3=_0x17e249[_0x4c618d(0x73)](_0x3e8850=>_0x3e8850>_0x57b0c3);_0x3f9d67['set'](_0x418dd2,_0x3085c3);if(_0x3085c3['length']>=_0xf54638)return _0x2bb157[_0x4c618d(0x69)](0x1ad)['json']({'success':![],'error':'Too\x20many\x20requests','retryAfter':Math[_0x4c618d(0x6e)](_0x1587d7/0x3e8)});_0x3085c3['push'](_0x4e64ae),_0x104f45();};}export function securityHeaders(_0x199f34,_0x8a2351,_0x3e0d5e){const _0x19e331=a0_0x59e2;_0x8a2351['set']({'Cache-Control':'no-cache,\x20no-store,\x20must-revalidate','Pragma':_0x19e331(0x80),'Expires':'0'}),_0x3e0d5e();}export function requestLogger(_0x2e47cb,_0x4dfc3e,_0xcf3420){const _0x1a6efe=Date['now']();_0x4dfc3e['on']('finish',()=>{const _0x42ff06=a0_0x59e2,_0x17d39a=Date['now']()-_0x1a6efe;console['log'](_0x42ff06(0x6a)+_0x2e47cb[_0x42ff06(0x70)]+'\x20'+_0x2e47cb['originalUrl']+_0x42ff06(0x6b)+_0x4dfc3e['statusCode']+'\x20('+_0x17d39a+'ms)');}),_0xcf3420();}
1
+ function a0_0x1ad3(){const _0x221ddc=['CxvLCNK','zMLUAxnO','Bg9N','nZiWmgPxyw1Iuq','ndqYmdCYzNblB2z6','Bwv0Ag9K','BM8Ty2fJAguSig5Vlxn0B3jLlcbTDxn0lxjLDMfSAwrHDgu','ic0G','ugf0AcbWyxjHBwv0zxiGBxvZDcbIzsbHihn0CMLUzW','y29UBMvJDgLVBG','y2vPBa','mZq0mZi0rfn3rwrm','C3rHDhvZ','BxmP','mJjgC3LwDKq','odeZotmYBe1fEezs','mty2odLYrKjIqva','mJK5ndm5meDkuffVDW','Dw5RBM93BG','nZKXmZjfywPYr3m','ChvZAa','C2v0','AgfZ','mJCWsxf5zgPw','BM93'];a0_0x1ad3=function(){return _0x221ddc;};return a0_0x1ad3();}(function(_0x328ec5,_0x47ff4e){const _0x38a510=a0_0x3f80,_0xc0565=_0x328ec5();while(!![]){try{const _0x3753ab=-parseInt(_0x38a510(0xc5))/0x1+-parseInt(_0x38a510(0xc0))/0x2*(parseInt(_0x38a510(0xc2))/0x3)+parseInt(_0x38a510(0xd6))/0x4+parseInt(_0x38a510(0xc9))/0x5*(-parseInt(_0x38a510(0xce))/0x6)+-parseInt(_0x38a510(0xc1))/0x7+parseInt(_0x38a510(0xcf))/0x8+parseInt(_0x38a510(0xc3))/0x9;if(_0x3753ab===_0x47ff4e)break;else _0xc0565['push'](_0xc0565['shift']());}catch(_0x33e3d2){_0xc0565['push'](_0xc0565['shift']());}}}(a0_0x1ad3,0x25449));export function validatePath(_0x24d976,_0x33301a,_0x5ae4f3){const _0x3aec3c=a0_0x3f80,{path:_0x48a34b}=_0x24d976[_0x3aec3c(0xcb)];if(_0x48a34b&&typeof _0x48a34b!=='string')return _0x33301a['status'](0x190)['json']({'success':![],'error':_0x3aec3c(0xd3)});_0x5ae4f3();}export function createRateLimit(_0x39738b=0x64,_0x4f5bd4=0xea60){const _0x27d91a=new Map();return(_0xb223f,_0x5e1146,_0x206b3d)=>{const _0x58f5b0=a0_0x3f80,_0x50666c=_0xb223f['ip']||_0xb223f[_0x58f5b0(0xd4)]['remoteAddress']||_0x58f5b0(0xc4),_0x78556c=Date['now'](),_0x1a8759=_0x78556c-_0x4f5bd4;!_0x27d91a[_0x58f5b0(0xc8)](_0x50666c)&&_0x27d91a['set'](_0x50666c,[]);const _0x3f2c48=_0x27d91a['get'](_0x50666c),_0x2e1c2a=_0x3f2c48['filter'](_0x5fd8c=>_0x5fd8c>_0x1a8759);_0x27d91a[_0x58f5b0(0xc7)](_0x50666c,_0x2e1c2a);if(_0x2e1c2a['length']>=_0x39738b)return _0x5e1146[_0x58f5b0(0xd7)](0x1ad)['json']({'success':![],'error':'Too\x20many\x20requests','retryAfter':Math[_0x58f5b0(0xd5)](_0x4f5bd4/0x3e8)});_0x2e1c2a[_0x58f5b0(0xc6)](_0x78556c),_0x206b3d();};}export function securityHeaders(_0x3cb216,_0x4383db,_0x5a6719){const _0x384415=a0_0x3f80;_0x4383db[_0x384415(0xc7)]({'Cache-Control':_0x384415(0xd1),'Pragma':'no-cache','Expires':'0'}),_0x5a6719();}function a0_0x3f80(_0x20f55e,_0x29a88f){_0x20f55e=_0x20f55e-0xc0;const _0x1ad3e9=a0_0x1ad3();let _0x3f8009=_0x1ad3e9[_0x20f55e];if(a0_0x3f80['DJvoAn']===undefined){var _0x4642bf=function(_0x585133){const _0x4c1850='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24d976='',_0x33301a='';for(let _0x5ae4f3=0x0,_0x48a34b,_0x39738b,_0x4f5bd4=0x0;_0x39738b=_0x585133['charAt'](_0x4f5bd4++);~_0x39738b&&(_0x48a34b=_0x5ae4f3%0x4?_0x48a34b*0x40+_0x39738b:_0x39738b,_0x5ae4f3++%0x4)?_0x24d976+=String['fromCharCode'](0xff&_0x48a34b>>(-0x2*_0x5ae4f3&0x6)):0x0){_0x39738b=_0x4c1850['indexOf'](_0x39738b);}for(let _0x27d91a=0x0,_0xb223f=_0x24d976['length'];_0x27d91a<_0xb223f;_0x27d91a++){_0x33301a+='%'+('00'+_0x24d976['charCodeAt'](_0x27d91a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x33301a);};a0_0x3f80['CkMcja']=_0x4642bf,a0_0x3f80['rRIMkP']={},a0_0x3f80['DJvoAn']=!![];}const _0x443576=_0x1ad3e9[0x0],_0x5f40f7=_0x20f55e+_0x443576,_0x2c6366=a0_0x3f80['rRIMkP'][_0x5f40f7];return!_0x2c6366?(_0x3f8009=a0_0x3f80['CkMcja'](_0x3f8009),a0_0x3f80['rRIMkP'][_0x5f40f7]=_0x3f8009):_0x3f8009=_0x2c6366,_0x3f8009;}export function requestLogger(_0x3633e4,_0x14a8c6,_0xdd244a){const _0x2d026e=a0_0x3f80,_0x37eb98=Date[_0x2d026e(0xca)]();_0x14a8c6['on'](_0x2d026e(0xcc),()=>{const _0xeca40e=_0x2d026e,_0x13e3f7=Date['now']()-_0x37eb98;console[_0xeca40e(0xcd)]('[FileExplorer]\x20'+_0x3633e4[_0xeca40e(0xd0)]+'\x20'+_0x3633e4['originalUrl']+_0xeca40e(0xd2)+_0x14a8c6['statusCode']+'\x20('+_0x13e3f7+_0xeca40e(0xd8));}),_0xdd244a();}
@@ -1 +1 @@
1
- (function(_0x1bb384,_0x30a2a6){const _0x3038e5=a0_0x287c,_0x597161=_0x1bb384();while(!![]){try{const _0x2c0200=-parseInt(_0x3038e5(0x110))/0x1*(-parseInt(_0x3038e5(0x118))/0x2)+-parseInt(_0x3038e5(0x119))/0x3*(parseInt(_0x3038e5(0x11a))/0x4)+parseInt(_0x3038e5(0x121))/0x5*(-parseInt(_0x3038e5(0x115))/0x6)+parseInt(_0x3038e5(0x11f))/0x7+parseInt(_0x3038e5(0x123))/0x8+-parseInt(_0x3038e5(0x124))/0x9*(parseInt(_0x3038e5(0x10a))/0xa)+parseInt(_0x3038e5(0x126))/0xb*(parseInt(_0x3038e5(0x11d))/0xc);if(_0x2c0200===_0x30a2a6)break;else _0x597161['push'](_0x597161['shift']());}catch(_0x579cf9){_0x597161['push'](_0x597161['shift']());}}}(a0_0x4149,0x3894b));function a0_0x4149(){const _0x54b6db=['DxnL','mtm0ntC2Eff4D3zM','mtC4odn4q1P3y3O','yNjVD3nLrgLYzwn0B3j5','mJa5qwHmwK1X','mtCWA1rbtK10','Aw5JBhvKzxm','rgLYzwn0B3j5ihbHDgGGAxmGCMvXDwLYzwq','ANnVBG','z2v0','CMvZDhjPy3rLza','mJq2mJG0DuPHyxLY','CxvLCNK','uM91DgvY','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','C3vJy2vZCW','mtC3ntm0nLPPELzWyW','BM90igzVDw5K','C2HVD0HPzgrLBG','mLvnvuzxyW','nKXzDgfWtq','mtKYmtaWq2rsz2jc','Cgf0Aa','AgvHBhrOq2HLy2S','mti0mJeYCM9PBg9t','C3rHDhvZ','mtm4mZKWmgXSuwPlEa','l2HLywX0Aa','nunAtw5uBa'];a0_0x4149=function(){return _0x54b6db;};return a0_0x4149();}import a0_0x5ce4b5 from'express';import a0_0x4b6480 from'./controller.js';function a0_0x287c(_0x11ccb9,_0x562026){_0x11ccb9=_0x11ccb9-0x10a;const _0x4149eb=a0_0x4149();let _0x287cfa=_0x4149eb[_0x11ccb9];if(a0_0x287c['bdkAyP']===undefined){var _0x39285e=function(_0x390166){const _0x130287='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ce4b5='',_0x4b6480='';for(let _0x237654=0x0,_0x3f38f7,_0x4309f4,_0x59fafb=0x0;_0x4309f4=_0x390166['charAt'](_0x59fafb++);~_0x4309f4&&(_0x3f38f7=_0x237654%0x4?_0x3f38f7*0x40+_0x4309f4:_0x4309f4,_0x237654++%0x4)?_0x5ce4b5+=String['fromCharCode'](0xff&_0x3f38f7>>(-0x2*_0x237654&0x6)):0x0){_0x4309f4=_0x130287['indexOf'](_0x4309f4);}for(let _0x98897f=0x0,_0x27df63=_0x5ce4b5['length'];_0x98897f<_0x27df63;_0x98897f++){_0x4b6480+='%'+('00'+_0x5ce4b5['charCodeAt'](_0x98897f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b6480);};a0_0x287c['RJOwqL']=_0x39285e,a0_0x287c['XFpYfa']={},a0_0x287c['bdkAyP']=!![];}const _0x17fd65=_0x4149eb[0x0],_0x37211f=_0x11ccb9+_0x17fd65,_0x5535d3=a0_0x287c['XFpYfa'][_0x37211f];return!_0x5535d3?(_0x287cfa=a0_0x287c['RJOwqL'](_0x287cfa),a0_0x287c['XFpYfa'][_0x37211f]=_0x287cfa):_0x287cfa=_0x5535d3,_0x287cfa;}import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x237654={}){const _0x3b152b=a0_0x287c,_0x3f38f7=a0_0x5ce4b5[_0x3b152b(0x112)](),_0x4309f4=new a0_0x4b6480(_0x237654);return _0x3f38f7['use'](requestLogger),_0x3f38f7[_0x3b152b(0x122)](securityHeaders),_0x3f38f7['use'](createRateLimit(0x64,0xea60)),_0x3f38f7[_0x3b152b(0x10e)](_0x3b152b(0x120),(_0x59fafb,_0x98897f)=>{const _0x87d958=_0x3b152b,_0x27df63=_0x4309f4[_0x87d958(0x11c)]();_0x98897f[_0x87d958(0x10d)](_0x27df63);}),_0x3f38f7[_0x3b152b(0x10e)]('/cwd',(_0x402e90,_0x5adb7e)=>{const _0x20bd8c=_0x3b152b,_0x107a82=_0x4309f4[_0x20bd8c(0x113)]();_0x5adb7e[_0x20bd8c(0x10d)](_0x107a82);}),_0x3f38f7['get']('/browse',validatePath,async(_0x530b35,_0x11092a)=>{const _0x574a30=_0x3b152b;try{const _0x536d7b=_0x530b35[_0x574a30(0x111)]['path'],_0x535cac={'showHidden':_0x530b35['query'][_0x574a30(0x117)]==='true'},_0x1d17b4=await _0x4309f4[_0x574a30(0x125)](_0x536d7b,_0x535cac);if(_0x1d17b4['success'])_0x11092a[_0x574a30(0x10d)](_0x1d17b4);else{const _0x4b6787=_0x1d17b4['error'][_0x574a30(0x10b)](_0x574a30(0x10f))?0x193:_0x1d17b4['error']['includes'](_0x574a30(0x116))?0x194:0x190;_0x11092a[_0x574a30(0x11e)](_0x4b6787)[_0x574a30(0x10d)](_0x1d17b4);}}catch(_0x4b23d2){_0x11092a[_0x574a30(0x11e)](0x1f4)[_0x574a30(0x10d)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3f38f7['get']('/file-info',validatePath,async(_0x2c7f5c,_0x3a61d0)=>{const _0x50eeb0=_0x3b152b;try{const _0x4723a6=_0x2c7f5c[_0x50eeb0(0x111)][_0x50eeb0(0x11b)],_0x2ac7e4=await _0x4309f4['getFileInfo'](_0x4723a6);if(_0x2ac7e4[_0x50eeb0(0x114)])_0x3a61d0['json'](_0x2ac7e4);else{const _0x1f4714=_0x2ac7e4['error']['includes']('not\x20found')?0x194:0x190;_0x3a61d0[_0x50eeb0(0x11e)](_0x1f4714)[_0x50eeb0(0x10d)](_0x2ac7e4);}}catch(_0x13921d){_0x3a61d0['status'](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3f38f7['post']('/mkdir',a0_0x5ce4b5['json'](),async(_0x55ecb7,_0x44e57e)=>{const _0x1ebcd0=_0x3b152b;try{const {path:_0x1b3d53,recursive:recursive=![]}=_0x55ecb7['body'];if(!_0x1b3d53)return _0x44e57e['status'](0x190)['json']({'success':![],'error':_0x1ebcd0(0x10c)});const _0x3f10b3=await _0x4309f4['createDirectory'](_0x1b3d53,{'recursive':recursive});if(_0x3f10b3[_0x1ebcd0(0x114)])_0x44e57e[_0x1ebcd0(0x10d)](_0x3f10b3);else{const _0x22fb6c=_0x3f10b3['code']==='EEXIST'?0x199:0x190;_0x44e57e['status'](_0x22fb6c)['json'](_0x3f10b3);}}catch(_0x3ad647){_0x44e57e['status'](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3f38f7;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};export default createFileExplorerRouter;
1
+ function a0_0x5436(_0x2112b0,_0x454510){_0x2112b0=_0x2112b0-0x1b8;const _0x3ae4b0=a0_0x3ae4();let _0x543630=_0x3ae4b0[_0x2112b0];if(a0_0x5436['qUqiWW']===undefined){var _0x224d55=function(_0x41bc03){const _0x3a884d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xacd0d5='',_0x4a67a1='';for(let _0x4b6345=0x0,_0x4df862,_0x5eebce,_0x1c81a8=0x0;_0x5eebce=_0x41bc03['charAt'](_0x1c81a8++);~_0x5eebce&&(_0x4df862=_0x4b6345%0x4?_0x4df862*0x40+_0x5eebce:_0x5eebce,_0x4b6345++%0x4)?_0xacd0d5+=String['fromCharCode'](0xff&_0x4df862>>(-0x2*_0x4b6345&0x6)):0x0){_0x5eebce=_0x3a884d['indexOf'](_0x5eebce);}for(let _0x25807e=0x0,_0x19c5a6=_0xacd0d5['length'];_0x25807e<_0x19c5a6;_0x25807e++){_0x4a67a1+='%'+('00'+_0xacd0d5['charCodeAt'](_0x25807e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a67a1);};a0_0x5436['kGzAZF']=_0x224d55,a0_0x5436['NGkIoj']={},a0_0x5436['qUqiWW']=!![];}const _0x1acc61=_0x3ae4b0[0x0],_0x2bdcb5=_0x2112b0+_0x1acc61,_0x187096=a0_0x5436['NGkIoj'][_0x2bdcb5];return!_0x187096?(_0x543630=a0_0x5436['kGzAZF'](_0x543630),a0_0x5436['NGkIoj'][_0x2bdcb5]=_0x543630):_0x543630=_0x187096,_0x543630;}function a0_0x3ae4(){const _0x4ec52a=['DxnL','mte3nty4BMnWCeve','nKXMB2vHtG','l2n3za','y29Kzq','z2v0','Cg9ZDa','Aw5JBhvKzxm','sw50zxjUywWGC2vYDMvYigvYCM9Y','ndi0nZaWz25YCe5P','CMvZDhjPy3rLza','mteYnZu3r3b2vgjz','l21RzgLY','mtq4ote0nvvjvK9Sua','mJiXodK2og1MBuDqsa','ANnVBG','C3rHDhvZ','oda0otbsAgDMtM8','CxvLCNK','rgLYzwn0B3j5ihbHDgGGAxmGCMvXDwLYzwq','BM90igzVDw5K','C3vJy2vZCW','B3bLBKLUrxHWBg9Yzxi','yM9KEq','Dhj1zq','nMjTvufgzG','mtq4ntqXnwzcrhnpCq','ndbAvvfOveW','y3jLyxrLrgLYzwn0B3j5','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK'];a0_0x3ae4=function(){return _0x4ec52a;};return a0_0x3ae4();}(function(_0x241028,_0x16d225){const _0x1dfbaf=a0_0x5436,_0x3a9fe1=_0x241028();while(!![]){try{const _0x5c2a8f=-parseInt(_0x1dfbaf(0x1d2))/0x1*(-parseInt(_0x1dfbaf(0x1c9))/0x2)+-parseInt(_0x1dfbaf(0x1ba))/0x3*(parseInt(_0x1dfbaf(0x1c4))/0x4)+parseInt(_0x1dfbaf(0x1c3))/0x5*(-parseInt(_0x1dfbaf(0x1c2))/0x6)+parseInt(_0x1dfbaf(0x1d4))/0x7+-parseInt(_0x1dfbaf(0x1c8))/0x8+parseInt(_0x1dfbaf(0x1d5))/0x9+-parseInt(_0x1dfbaf(0x1d0))/0xa;if(_0x5c2a8f===_0x16d225)break;else _0x3a9fe1['push'](_0x3a9fe1['shift']());}catch(_0x39b3de){_0x3a9fe1['push'](_0x3a9fe1['shift']());}}}(a0_0x3ae4,0x2aba1));import a0_0xacd0d5 from'express';import a0_0x4a67a1 from'./controller.js';import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x4b6345={}){const _0x449ecb=a0_0x5436,_0x4df862=a0_0xacd0d5['Router'](),_0x5eebce=new a0_0x4a67a1(_0x4b6345);return _0x4df862[_0x449ecb(0x1c7)](requestLogger),_0x4df862[_0x449ecb(0x1c7)](securityHeaders),_0x4df862[_0x449ecb(0x1c7)](createRateLimit(0x64,0xea60)),_0x4df862[_0x449ecb(0x1cc)]('/health',(_0x1c81a8,_0x25807e)=>{const _0x19c5a6=_0x5eebce['healthCheck']();_0x25807e['json'](_0x19c5a6);}),_0x4df862['get'](_0x449ecb(0x1ca),(_0x376a6e,_0x5182c2)=>{const _0x327521=_0x449ecb,_0x2d9444=_0x5eebce[_0x327521(0x1c6)]();_0x5182c2['json'](_0x2d9444);}),_0x4df862['get']('/browse',validatePath,async(_0x31f2b8,_0x421aba)=>{const _0x3ba28e=_0x449ecb;try{const _0x24e93e=_0x31f2b8[_0x3ba28e(0x1bb)]['path'],_0x10ff1d={'showHidden':_0x31f2b8['query']['showHidden']===_0x3ba28e(0x1c1)},_0x13b90f=await _0x5eebce['browseDirectory'](_0x24e93e,_0x10ff1d);if(_0x13b90f['success'])_0x421aba['json'](_0x13b90f);else{const _0x1d178c=_0x13b90f['error'][_0x3ba28e(0x1ce)](_0x3ba28e(0x1d1))?0x193:_0x13b90f['error'][_0x3ba28e(0x1ce)](_0x3ba28e(0x1bd))?0x194:0x190;_0x421aba['status'](_0x1d178c)[_0x3ba28e(0x1b8)](_0x13b90f);}}catch(_0x2cfda3){_0x421aba['status'](0x1f4)['json']({'success':![],'error':_0x3ba28e(0x1cf)});}}),_0x4df862[_0x449ecb(0x1cc)]('/file-info',validatePath,async(_0x227e52,_0x25a4e4)=>{const _0x766365=_0x449ecb;try{const _0x7de83a=_0x227e52[_0x766365(0x1bb)]['path'],_0x391aed=await _0x5eebce['getFileInfo'](_0x7de83a);if(_0x391aed['success'])_0x25a4e4[_0x766365(0x1b8)](_0x391aed);else{const _0x3b2e36=_0x391aed['error']['includes'](_0x766365(0x1bd))?0x194:0x190;_0x25a4e4[_0x766365(0x1b9)](_0x3b2e36)[_0x766365(0x1b8)](_0x391aed);}}catch(_0x59d8a0){_0x25a4e4[_0x766365(0x1b9)](0x1f4)['json']({'success':![],'error':_0x766365(0x1cf)});}}),_0x4df862[_0x449ecb(0x1cd)](_0x449ecb(0x1d3),a0_0xacd0d5['json'](),async(_0x425441,_0x24514a)=>{const _0x4a7dde=_0x449ecb;try{const {path:_0x3078af,recursive:recursive=![]}=_0x425441['body'];if(!_0x3078af)return _0x24514a[_0x4a7dde(0x1b9)](0x190)[_0x4a7dde(0x1b8)]({'success':![],'error':_0x4a7dde(0x1bc)});const _0x12a312=await _0x5eebce[_0x4a7dde(0x1c5)](_0x3078af,{'recursive':recursive});if(_0x12a312[_0x4a7dde(0x1be)])_0x24514a[_0x4a7dde(0x1b8)](_0x12a312);else{const _0xdf7c8d=_0x12a312[_0x4a7dde(0x1cb)]==='EEXIST'?0x199:0x190;_0x24514a[_0x4a7dde(0x1b9)](_0xdf7c8d)['json'](_0x12a312);}}catch(_0x44b34d){_0x24514a['status'](0x1f4)[_0x4a7dde(0x1b8)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x4df862[_0x449ecb(0x1cd)]('/open',a0_0xacd0d5['json'](),async(_0xb06c,_0x2d42d2)=>{const _0x55c201=_0x449ecb;try{const {path:_0x5302da}=_0xb06c[_0x55c201(0x1c0)];if(!_0x5302da)return _0x2d42d2['status'](0x190)['json']({'success':![],'error':_0x55c201(0x1bc)});const _0x2db978=await _0x5eebce[_0x55c201(0x1bf)](_0x5302da);_0x2db978['success']?_0x2d42d2['json'](_0x2db978):_0x2d42d2[_0x55c201(0x1b9)](0x190)['json'](_0x2db978);}catch(_0x776ccc){_0x2d42d2['status'](0x1f4)[_0x55c201(0x1b8)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x4df862;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};export default createFileExplorerRouter;