@loxia-labs/loxia-autopilot-one 1.0.16 → 1.0.18

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 (123) hide show
  1. package/README.md +5 -3
  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-Cb8CHAFw.css +1 -0
  121. package/web-ui/build/static/index-DL2-PyNX.js +367 -0
  122. package/web-ui/build/static/index-DFmFvOoy.css +0 -1
  123. package/web-ui/build/static/index-DOk0l6Kf.js +0 -348
@@ -1 +1 @@
1
- function a0_0x5733(){const _0xc39df5=['mJq3nJm1zfDcs3fv','ChjPBwfYEq','munqr3rNrq','CMvKqNjPz2H0','CMvK','nJG4ntC1s01wqw5o','yMX1zujYAwDODa','yMXHy2S','odrrzKnptw4','y3LHBG','mZu0nZCWnNf5Cg9mDa','nZCWody5ogDWr1jcCa','z3jHEq','EwvSBg93qNjPz2H0','ody3nZuXmLfHBKfRwq','yMX1zq','z3jLzw4','EwvSBg93','mtaWnZmXnfPvvgjjva','mZe3mZe2ofniDvHyyG'];a0_0x5733=function(){return _0xc39df5;};return a0_0x5733();}function a0_0x512e(_0x221634,_0xfb43f5){_0x221634=_0x221634-0x76;const _0x573375=a0_0x5733();let _0x512e2b=_0x573375[_0x221634];if(a0_0x512e['PbqKBv']===undefined){var _0x75c979=function(_0x46bfb3){const _0x43f39b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xea98a8='',_0x262dc9='';for(let _0x12e1c9=0x0,_0x569ca4,_0x53953b,_0x5f44a4=0x0;_0x53953b=_0x46bfb3['charAt'](_0x5f44a4++);~_0x53953b&&(_0x569ca4=_0x12e1c9%0x4?_0x569ca4*0x40+_0x53953b:_0x53953b,_0x12e1c9++%0x4)?_0xea98a8+=String['fromCharCode'](0xff&_0x569ca4>>(-0x2*_0x12e1c9&0x6)):0x0){_0x53953b=_0x43f39b['indexOf'](_0x53953b);}for(let _0x35d851=0x0,_0x1a6902=_0xea98a8['length'];_0x35d851<_0x1a6902;_0x35d851++){_0x262dc9+='%'+('00'+_0xea98a8['charCodeAt'](_0x35d851)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x262dc9);};a0_0x512e['xqUbeb']=_0x75c979,a0_0x512e['GRNYvP']={},a0_0x512e['PbqKBv']=!![];}const _0x4098bc=_0x573375[0x0],_0x1792d5=_0x221634+_0x4098bc,_0x2106d7=a0_0x512e['GRNYvP'][_0x1792d5];return!_0x2106d7?(_0x512e2b=a0_0x512e['xqUbeb'](_0x512e2b),a0_0x512e['GRNYvP'][_0x1792d5]=_0x512e2b):_0x512e2b=_0x2106d7,_0x512e2b;}const a0_0x1121d6=a0_0x512e;(function(_0x46dc72,_0x2447df){const _0x4ba3fc=a0_0x512e,_0x175eca=_0x46dc72();while(!![]){try{const _0x2139f1=parseInt(_0x4ba3fc(0x88))/0x1*(parseInt(_0x4ba3fc(0x7c))/0x2)+parseInt(_0x4ba3fc(0x77))/0x3+-parseInt(_0x4ba3fc(0x85))/0x4+parseInt(_0x4ba3fc(0x86))/0x5*(-parseInt(_0x4ba3fc(0x7a))/0x6)+parseInt(_0x4ba3fc(0x84))/0x7+parseInt(_0x4ba3fc(0x80))/0x8+-parseInt(_0x4ba3fc(0x7d))/0x9;if(_0x2139f1===_0x2447df)break;else _0x175eca['push'](_0x175eca['shift']());}catch(_0x112a2e){_0x175eca['push'](_0x175eca['shift']());}}}(a0_0x5733,0xd8fc9));const THEMES={'default':{'border':'blue','borderLoading':a0_0x1121d6(0x83),'primary':'white','secondary':a0_0x1121d6(0x7b),'success':a0_0x1121d6(0x82),'error':a0_0x1121d6(0x76),'warning':a0_0x1121d6(0x83),'info':a0_0x1121d6(0x81),'dim':a0_0x1121d6(0x7e)},'light':{'border':'blue','borderLoading':a0_0x1121d6(0x83),'primary':a0_0x1121d6(0x79),'secondary':a0_0x1121d6(0x81),'success':'green','error':a0_0x1121d6(0x76),'warning':'yellow','info':'cyan','dim':a0_0x1121d6(0x7e)},'dark':{'border':a0_0x1121d6(0x7b),'borderLoading':'magenta','primary':'white','secondary':a0_0x1121d6(0x7b),'success':'greenBright','error':a0_0x1121d6(0x89),'warning':a0_0x1121d6(0x7f),'info':a0_0x1121d6(0x78),'dim':a0_0x1121d6(0x7e)},'high-contrast':{'border':'white','borderLoading':a0_0x1121d6(0x83),'primary':'white','secondary':a0_0x1121d6(0x7b),'success':'greenBright','error':a0_0x1121d6(0x89),'warning':a0_0x1121d6(0x7f),'info':'cyanBright','dim':'white'}};export function getTheme(_0xea98a8='default'){return THEMES[_0xea98a8]||THEMES['default'];}export function getThemeColor(_0x262dc9,_0x12e1c9){const _0x153159=a0_0x1121d6,_0x569ca4=getTheme(_0x262dc9);return _0x569ca4[_0x12e1c9]||_0x569ca4[_0x153159(0x87)];}export default{'getTheme':getTheme,'getThemeColor':getThemeColor};
1
+ const a0_0xdaf907=a0_0x2274;(function(_0x56322b,_0x4d5696){const _0x587354=a0_0x2274,_0x4ff8c2=_0x56322b();while(!![]){try{const _0x49453c=-parseInt(_0x587354(0x15e))/0x1+-parseInt(_0x587354(0x169))/0x2+-parseInt(_0x587354(0x16d))/0x3+-parseInt(_0x587354(0x161))/0x4*(parseInt(_0x587354(0x15f))/0x5)+parseInt(_0x587354(0x16a))/0x6+parseInt(_0x587354(0x160))/0x7*(-parseInt(_0x587354(0x16c))/0x8)+-parseInt(_0x587354(0x168))/0x9*(-parseInt(_0x587354(0x15d))/0xa);if(_0x49453c===_0x4d5696)break;else _0x4ff8c2['push'](_0x4ff8c2['shift']());}catch(_0x5306a2){_0x4ff8c2['push'](_0x4ff8c2['shift']());}}}(a0_0x12ee,0x1ebb1));const THEMES={'default':{'border':a0_0xdaf907(0x166),'borderLoading':a0_0xdaf907(0x15c),'primary':a0_0xdaf907(0x163),'secondary':'cyan','success':'green','error':a0_0xdaf907(0x165),'warning':a0_0xdaf907(0x15c),'info':'blue','dim':'gray'},'light':{'border':a0_0xdaf907(0x166),'borderLoading':'yellow','primary':'black','secondary':'blue','success':a0_0xdaf907(0x162),'error':a0_0xdaf907(0x165),'warning':a0_0xdaf907(0x15c),'info':'cyan','dim':a0_0xdaf907(0x16b)},'dark':{'border':'cyan','borderLoading':'magenta','primary':a0_0xdaf907(0x163),'secondary':'cyan','success':'greenBright','error':a0_0xdaf907(0x167),'warning':'yellowBright','info':'blueBright','dim':a0_0xdaf907(0x16b)},'high-contrast':{'border':'white','borderLoading':a0_0xdaf907(0x15c),'primary':a0_0xdaf907(0x163),'secondary':a0_0xdaf907(0x16e),'success':'greenBright','error':'redBright','warning':'yellowBright','info':'cyanBright','dim':a0_0xdaf907(0x163)}};export function getTheme(_0x558aa0='default'){return THEMES[_0x558aa0]||THEMES['default'];}export function getThemeColor(_0x2ba40f,_0x4c6d28){const _0x4eb472=a0_0xdaf907,_0x25c54d=getTheme(_0x2ba40f);return _0x25c54d[_0x4c6d28]||_0x25c54d[_0x4eb472(0x164)];}function a0_0x2274(_0xafdfd1,_0x48de6f){_0xafdfd1=_0xafdfd1-0x15c;const _0x12eefc=a0_0x12ee();let _0x22748c=_0x12eefc[_0xafdfd1];if(a0_0x2274['iWAFvk']===undefined){var _0x2284d6=function(_0x2b83ca){const _0xe066f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x558aa0='',_0x2ba40f='';for(let _0x4c6d28=0x0,_0x25c54d,_0x2c0387,_0x1deac0=0x0;_0x2c0387=_0x2b83ca['charAt'](_0x1deac0++);~_0x2c0387&&(_0x25c54d=_0x4c6d28%0x4?_0x25c54d*0x40+_0x2c0387:_0x2c0387,_0x4c6d28++%0x4)?_0x558aa0+=String['fromCharCode'](0xff&_0x25c54d>>(-0x2*_0x4c6d28&0x6)):0x0){_0x2c0387=_0xe066f['indexOf'](_0x2c0387);}for(let _0x235f9b=0x0,_0x15feb7=_0x558aa0['length'];_0x235f9b<_0x15feb7;_0x235f9b++){_0x2ba40f+='%'+('00'+_0x558aa0['charCodeAt'](_0x235f9b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ba40f);};a0_0x2274['tfevau']=_0x2284d6,a0_0x2274['hlHhIa']={},a0_0x2274['iWAFvk']=!![];}const _0x11ebb6=_0x12eefc[0x0],_0x2ca17f=_0xafdfd1+_0x11ebb6,_0x23959c=a0_0x2274['hlHhIa'][_0x2ca17f];return!_0x23959c?(_0x22748c=a0_0x2274['tfevau'](_0x22748c),a0_0x2274['hlHhIa'][_0x2ca17f]=_0x22748c):_0x22748c=_0x23959c,_0x22748c;}function a0_0x12ee(){const _0x5e6ad1=['nda2otG5zNnVEwDz','y3LHBG','EwvSBg93','mtbfA2fptuy','otm4mZriB3vUtKK','ntyYmtbAA0HtwNO','odm0odLuvwPLyLu','odH0uxjWu3y','z3jLzw4','D2HPDgu','ChjPBwfYEq','CMvK','yMX1zq','CMvKqNjPz2H0','ntCZnZqZn0rtvhvuCW','mtmWmdq4vuzvEK5q','mZi0ndC0s3zKsLLU','z3jHEq','mtzusg5Hvhu'];a0_0x12ee=function(){return _0x5e6ad1;};return a0_0x12ee();}export default{'getTheme':getTheme,'getThemeColor':getThemeColor};
@@ -1 +1 @@
1
- const a0_0x23d407=a0_0xb63e;(function(_0x40751f,_0xa7081c){const _0x3c0e9a=a0_0xb63e,_0x5a87b5=_0x40751f();while(!![]){try{const _0x22a433=-parseInt(_0x3c0e9a(0x245))/0x1*(parseInt(_0x3c0e9a(0x21f))/0x2)+parseInt(_0x3c0e9a(0x295))/0x3+parseInt(_0x3c0e9a(0x2a8))/0x4+-parseInt(_0x3c0e9a(0x2ca))/0x5*(parseInt(_0x3c0e9a(0x210))/0x6)+parseInt(_0x3c0e9a(0x22d))/0x7+-parseInt(_0x3c0e9a(0x2c5))/0x8*(-parseInt(_0x3c0e9a(0x2db))/0x9)+parseInt(_0x3c0e9a(0x1fb))/0xa;if(_0x22a433===_0xa7081c)break;else _0x5a87b5['push'](_0x5a87b5['shift']());}catch(_0x3abcd5){_0x5a87b5['push'](_0x5a87b5['shift']());}}}(a0_0x55ef,0x667db));import a0_0x544336 from'express';import{createServer}from'http';function a0_0x55ef(){const _0x144154=['qwDLBNqGBw9KzsbZD2L0y2HLzcb0BYa','yxbPs2v5twfUywDLCG','z3b0','y2XVC2u','Ag9ZDa','ywDLBNrjza','ChjVAMvJDa','Bg9JywXOB3n0','Aw5JBhvKzxm','mZeZmJHxAfrcBxq','w1DbuK5Dia','l2fWAs9MAwXLCY91CgXVywq','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','AxrLCMf0Aw9Uq291BNq','D3nnyw5Hz2vY','DxnL','CgLUzW','l3rTCc9SB3HPys1PBwfNzxm','zgvLChnLzwS','y2f0zwDVCNK','u0vorf9nrvntquDf','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','zMLSzu5HBwu','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','B3jJAgvZDhjHDg9Y','CM9Szq','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','C3rHCNrZv2L0Aa','y2fWywjPBgL0AwvZ','l2fWAs9MAwXLCW','ywn0AxzL','w0vsuK9sxsa','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','v2vIihnLCNzLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq','l2fWAs9Hz2vUDhmVoMfNzw50swqVy2XLyxi','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','Aw1WB3j0qxjJAgL2zwrbz2vUDa','zgLYBMfTzq','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','y3vYCMvUDe1VzgvS','l2fWAs9ZzxnZAw9UCW','teLtvf9br0vovfm','qxr0ywnOBwvUDcbKzwXLDgvK','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','C3rHDgvnyw5Hz2vY','BgLZDgvU','yxbW','BwLJCM9ZB2z0','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhmVDxbSB2fK','D29YA2LUz0rPCMvJDg9YEq','sw1Hz2uGBM90igzVDw5K','vxnLCI1bz2vUDa','z2v0s2v5C0zVCLjLCxvLC3q','rK9sqKLerevo','AxnsDw5UAw5N','zgf0yq','Dg9ju09tDhjPBMC','qwnJzxnZlunVBNrYB2WTqwXSB3CTt3jPz2LU','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','A2v5CW','z2v0qwDLBNq','v0vc','DMfSDwvZ','y29UBMvJDgLVBNm','Dg9Nz2XLqwn0AxzL','zxHPDa','ywDLBNrjzcbPCYbYzxf1AxjLzcbPBIbYzxf1zxn0igjVzhK','Bw9KzwXZu2vYDMLJzq','Bw9KzwW','Cgf5Bg9Hza','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','D3nZ','z2v0','DxbSB2fKrMLSzq','BxrPBwu','z2v0qwDLBNrnzxrHzgf0yq','CxvLCNK','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','C3vIC3rYAw5N','qxr0ywnOBwvUDcbUB3qGzM91BMq','l2fWAs9SBg0Vy2HHDa','BgLZDgvUAw5N','yxbPs2v5','yMfZzw5HBwu','ywDLBNqT','ntuZmdC3uwfWDgLX','z2v0qxr0ywnOBwvUDhm','BM93','ms4WlJa','BM90igzVDw5K','z2v0u3rHDhvZ','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','ChjVAMvJDerPCG','Bw9Kzq','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','C2vZC2LVBKLe','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','C3rHDhvZ','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','C2vUza','qwDLBNqGBM90igzVDw5K','rMfPBgvKihrVihbYB3H5ignOyxqGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5K','BwfW','ntKZntmYr1PWwefy','qxr0ywnOBwvUDcb1CgrHDgvK','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50CW','Cg9YDa','C3vIC3rY','q1jfqvrfx0fhru5u','Aw1Hz2vZ','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','yw50AhjVCgLJlxnVBM5LDa','AgvHzgvY','l2fWAs9RzxLZlZPZzxnZAw9Uswq','Bg94AwfbCgLlzxK','q09otKvdveLorW','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','zgv0ywLSCW','sw52ywXPzcbMAwXLBMfTzq','C2v0u2vZC2LVBKTLExm','C2vZC2LVBNm','DgfZA1n0yxj0vgLTzq','ANnVBG','Bg9N','B3bLBMfP','ChvZAa','r0vu','D3m6lY8','ywDLBNq','AgvHzgvYCW','l2fWAs90B29SCW','C2H1DgrVD24','ndi0z3jlseDy','l2fWAs9LEhbSB3jLCI9TA2rPCG','l2fWAs9LEhbSB3jLCG','DxrMoa','CMvHzgrPCG','mZi1nJaXmg9PCuDXEq','yNjVywrJyxn0','tK9ux0zpvu5e','zMLSzq','yxbWBgLJyxrPB24VANnVBG','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','C3rHDhvZvgv4Da','DgvYBwLUyxrL','z2v0qwXSqwDLBNrZ','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50','Dhj1zq','zNjVBq','z2v0u2vZC2LVBKTLExm','qwDLBNqGBw9Kzsb1CgrHDgvKoIa','zgLYzwn0B3j5qwnJzxnZ','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','mJaXnNbUAe5kyq','su5urvjoquXFu0vsvKvsx0vsuK9s','C3vJy2vZCW','ue9tva','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','sw52ywXPza','Cg9UzW','ywDLBNrqB29S','v2vIu29JA2v0igPVAw5LzcbZzxnZAw9U','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','rMfPBgvKihrVihn0yxj0ieHuvfaGC2vYDMvY','AM9PBG','CgH5C2LJywXSEurLBgv0zwq','CMvHzezPBgu','C3rHDa','y29UBMvJDgvK','C2vYDMvY','z2v0x2fNzw50x3n0yxr1CW','CMvSyxrPDMu','qKfex1jfuvvfu1q','yM9KEq','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','D2fYBG','Dg9tDhjPBMC','zxjYB3i','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','AM9PBL9ZzxnZAw9U','y3DK','zgvSzxrL','CgfYC2u','rMfPBgvKihrVihnLBMqGAw1Hz2uGzMLSzq','uMvMzxjLBMnLihjLBw92zwq','y2f0y2G','rMfPBgvKihrVigDLDcb0B29SCYbPBMzVCM1HDgLVBG','C2v0DxbnAwrKBgv3yxjL','y2XLyxi','y3vYCMvUDfrHC2S','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','Cg9ZDa','Bg9Nz2vY','DgHLBG','AxnmB2fKzwq','rMfPBgvKihrVihrVz2DSzsbHDhrHy2HTzw50','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','zMLSzuv4CgXVCMvYtw9KDwXL','BgvUz3rO','CgfYyw1Z','nJaZmJe5mgfMrhfJAW','C2vZC2LVBKLK','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','DhLWzq','ywn0Aw9U','rMfPBgvKihrVignVBM5Ly3qGDg8GquKGC2vYDMLJzq','zMLSzuLK','Bw9KzwXZ','AxngAwXL','CgHP','Dg9mB3DLCKnHC2u','rMfPBgvKihrVihn0B3aGyxv0B25VBw91CYbLEgvJDxrPB24','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','BwvZC2fNzq','CMvX','y29UzMLN','CMvZB2X2zq','l2fWAs9Hz2vUDhmVoMfNzw50swqVywn0AxzPDhK','C2L6zq','z2v0qxr0ywnOBwvUDfbYzxzPzxC','ChjVy2vZC1jLCxvLC3q','nKDsD2v2Eq','v2vIihnLCNzLCIbZAhv0zg93BIbJB21WBgv0zq','Aw5MBW','DgfYz2v0qwDLBNrjzcbPCYbYzxf1AxjLza','Dgv4Da','y29Kzq','C3rYAw5NAwz5','rMfPBgvKihrVigrLBgv0zsbHDhrHy2HTzw50','rMfPBgvKihrVihnLCNzLigLTywDL','D3m6lY9SB2nHBgHVC3q6','yNjVywrJyxn0vg9tzxnZAw9U','Bwv0Ag9K','C3rHy2S','BgfZDefJDgL2Axr5','Cgf0y2G','mZzABgngrhG','DMvUzg9Ys2v5CW','t1busu9ouW','ywDLBNrFBw9Kzv9JAgfUz2vK','zgLYzwn0B3j5','Ahr0CdOVlW','qMvHCMvYia','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','CMfUzg9T','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','zMLSDgvY','lI4VlI4VD2vIlxvPl2j1AwXK','DxjS','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','ndGWotuZmMjMChjoEq','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','Aw1WB3j0rNjVBufNzw50','DMvUzg9YqxbPs2v5','C2v0','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','BM9YBwfSAxPL','BMfTzq','CMvXDwvZDeLK','AxneAxjLy3rVCNK','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','Bw9Kzvn0yxrL','z2v0qwn0AxzLu2vZC2LVBNm','C2vUzezPBgu'];a0_0x55ef=function(){return _0x144154;};return a0_0x55ef();}import{WebSocketServer}from'ws';import a0_0x1da70c from'path';import{promises as a0_0x3c70e8}from'fs';import{fileURLToPath}from'url';function a0_0xb63e(_0x16612a,_0x42a608){_0x16612a=_0x16612a-0x1f2;const _0x55efbc=a0_0x55ef();let _0xb63e6a=_0x55efbc[_0x16612a];if(a0_0xb63e['sEKIbL']===undefined){var _0xddb3a4=function(_0x348f52){const _0x2ead56='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x544336='',_0x1da70c='';for(let _0x3c70e8=0x0,_0x31dafa,_0x116efa,_0x331215=0x0;_0x116efa=_0x348f52['charAt'](_0x331215++);~_0x116efa&&(_0x31dafa=_0x3c70e8%0x4?_0x31dafa*0x40+_0x116efa:_0x116efa,_0x3c70e8++%0x4)?_0x544336+=String['fromCharCode'](0xff&_0x31dafa>>(-0x2*_0x3c70e8&0x6)):0x0){_0x116efa=_0x2ead56['indexOf'](_0x116efa);}for(let _0x477745=0x0,_0x33fedb=_0x544336['length'];_0x477745<_0x33fedb;_0x477745++){_0x1da70c+='%'+('00'+_0x544336['charCodeAt'](_0x477745)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1da70c);};a0_0xb63e['MrKWmz']=_0xddb3a4,a0_0xb63e['xdmIiD']={},a0_0xb63e['sEKIbL']=!![];}const _0x56424e=_0x55efbc[0x0],_0x4b40c4=_0x16612a+_0x56424e,_0x257505=a0_0xb63e['xdmIiD'][_0x4b40c4];return!_0x257505?(_0xb63e6a=a0_0xb63e['MrKWmz'](_0xb63e6a),a0_0xb63e['xdmIiD'][_0x4b40c4]=_0xb63e6a):_0xb63e6a=_0x257505,_0xb63e6a;}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_0x1da70c[a0_0x23d407(0x262)](__filename);class WebServer{constructor(_0x31dafa,_0x116efa,_0x331215={}){const _0x1b8ffc=a0_0x23d407;this['orchestrator']=_0x31dafa,this[_0x1b8ffc(0x1f3)]=_0x116efa,this['config']=_0x331215,this[_0x1b8ffc(0x2ab)]=_0x331215[_0x1b8ffc(0x2ab)]||0x1f90,this['host']=_0x331215[_0x1b8ffc(0x240)]||_0x1b8ffc(0x243),this['app']=a0_0x544336(),this[_0x1b8ffc(0x2ec)]=createServer(this[_0x1b8ffc(0x26c)]),this['wss']=new WebSocketServer({'server':this[_0x1b8ffc(0x2ec)],'verifyClient':_0x477745=>{const _0x588169=_0x1b8ffc;return this[_0x588169(0x1f3)]?.['info']('WebSocket\x20connection\x20attempt',{'origin':_0x477745['origin'],'host':_0x477745[_0x588169(0x209)][_0x588169(0x2c2)][_0x588169(0x240)],'userAgent':_0x477745[_0x588169(0x209)]['headers']['user-agent'],'url':_0x477745['req']['url']}),!![];}}),this['connections']=new Map(),this['sessions']=new Map(),this[_0x1b8ffc(0x23d)]=null,this[_0x1b8ffc(0x275)]=![];}async['initialize'](){const _0x3f66c4=a0_0x23d407;try{this[_0x3f66c4(0x2fe)](),this['setupRoutes'](),this['setupWebSocket'](),await this['startServer'](),this[_0x3f66c4(0x1f3)]['info']('Web\x20server\x20initialized',{'port':this['port'],'host':this[_0x3f66c4(0x240)],'url':'http://'+this['host']+':'+this[_0x3f66c4(0x2ab)]});}catch(_0x33fedb){this[_0x3f66c4(0x1f3)]['error'](_0x3f66c4(0x25e),{'error':_0x33fedb[_0x3f66c4(0x208)],'stack':_0x33fedb['stack']});throw _0x33fedb;}}['setupMiddleware'](){const _0xc68c87=a0_0x23d407;this[_0xc68c87(0x26c)]['use']((_0x5190fa,_0xaed47c,_0x1799df)=>{const _0x1e1704=_0xc68c87;_0xaed47c['header'](_0x1e1704(0x278),'*'),_0xaed47c[_0x1e1704(0x2b1)]('Access-Control-Allow-Methods','GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0xaed47c['header'](_0x1e1704(0x228),'Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x5190fa[_0x1e1704(0x21b)]===_0x1e1704(0x221)?_0xaed47c['sendStatus'](HTTP_STATUS['OK']):_0x1799df();}),this['app']['use'](a0_0x544336['json']({'limit':'10mb'})),this[_0xc68c87(0x26c)]['use'](a0_0x544336['urlencoded']({'extended':!![],'limit':'10mb'})),this[_0xc68c87(0x1f8)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this[_0xc68c87(0x26c)]['use']('/api/file-explorer',this[_0xc68c87(0x1f8)]['router']);const _0x1da17a=a0_0x1da70c[_0xc68c87(0x2e7)](__dirname,_0xc68c87(0x22a));this['app'][_0xc68c87(0x24c)](a0_0x544336['static'](_0x1da17a)),this[_0xc68c87(0x26c)][_0xc68c87(0x24c)]((_0x598fcb,_0x58420c,_0x4a7785)=>{const _0x426de6=_0xc68c87;this[_0x426de6(0x1f3)]['debug'](_0x598fcb[_0x426de6(0x21b)]+'\x20'+_0x598fcb['path'],{'ip':_0x598fcb['ip'],'userAgent':_0x598fcb[_0x426de6(0x287)](_0x426de6(0x272))}),_0x4a7785();});}['setupRoutes'](){const _0x5013a9=a0_0x23d407;this['app']['get']('/api/health',async(_0x2f9549,_0x44556f)=>{const _0x3b6647=a0_0xb63e;try{const _0x3a449c=a0_0x1da70c['join'](__dirname,'../../package.json'),_0x1e6d99=JSON[_0x3b6647(0x2f9)](await a0_0x3c70e8['readFile'](_0x3a449c,_0x3b6647(0x2c8)));_0x44556f[_0x3b6647(0x2bb)]({'status':'healthy','version':_0x1e6d99['version']||_0x3b6647(0x298),'timestamp':new Date()[_0x3b6647(0x277)]()});}catch(_0x5cfcb0){_0x44556f['json']({'status':'healthy','version':_0x3b6647(0x298),'timestamp':new Date()[_0x3b6647(0x277)]()});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x1f2)](_0x5013a9(0x266),async(_0x54164a,_0x1547b0)=>{const _0x2677d1=_0x5013a9;try{const _0x2c0bab='web-'+Date['now']()+'-'+Math[_0x2677d1(0x227)]()[_0x2677d1(0x2f3)](0x24)[_0x2677d1(0x2ac)](0x2,0x9),_0x18f5f7=_0x54164a['body'][_0x2677d1(0x29c)]||process['cwd'](),_0x1a5143={'id':_0x2c0bab,'projectDir':_0x18f5f7,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this['sessions'][_0x2677d1(0x231)](_0x2c0bab,_0x1a5143),_0x1547b0['json']({'success':!![],'session':_0x1a5143});}catch(_0x453aec){_0x1547b0['status'](HTTP_STATUS[_0x2677d1(0x2dc)])[_0x2677d1(0x2bb)]({'success':![],'error':_0x453aec['message']});}}),this['app'][_0x5013a9(0x1f2)]('/api/orchestrator',async(_0x196d95,_0x521c72)=>{const _0x44b394=_0x5013a9;try{const _0x4299f8={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x196d95[_0x44b394(0x2f0)][_0x44b394(0x1fc)],'action':_0x196d95['body']['action'],'payload':_0x196d95['body']['payload'],'projectDir':_0x196d95[_0x44b394(0x2f0)][_0x44b394(0x29c)]||process['cwd']()},_0x314112=await this['orchestrator']['processRequest'](_0x4299f8);this[_0x44b394(0x21a)](_0x4299f8['sessionId'],{'type':'orchestrator_response','action':_0x4299f8['action'],'response':_0x314112}),_0x521c72[_0x44b394(0x2bb)](_0x314112);}catch(_0x3ce488){this['logger'][_0x44b394(0x2f4)]('Orchestrator\x20API\x20error',{'error':_0x3ce488[_0x44b394(0x208)],'body':_0x196d95['body']}),_0x521c72[_0x44b394(0x2a1)](HTTP_STATUS[_0x44b394(0x2dc)])[_0x44b394(0x2bb)]({'success':![],'error':_0x3ce488[_0x44b394(0x208)]});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x287)](_0x5013a9(0x25a),async(_0x16a92a,_0xd6c8a5)=>{const _0x2bd8bd=_0x5013a9;try{const {path:_0x4bb006,projectDir:_0x33cb32}=_0x16a92a['query'],_0x55e7f5=a0_0x1da70c['resolve'](_0x33cb32||process['cwd'](),_0x4bb006||'.'),_0x15b643=await a0_0x3c70e8[_0x2bd8bd(0x2ea)](_0x55e7f5);if(_0x15b643[_0x2bd8bd(0x236)]()){const _0x29f799=await a0_0x3c70e8[_0x2bd8bd(0x2c9)](_0x55e7f5,{'withFileTypes':!![]}),_0x706911=_0x29f799['map'](_0x9d5b22=>({'name':_0x9d5b22['name'],'type':_0x9d5b22[_0x2bd8bd(0x236)]()?_0x2bd8bd(0x223):_0x2bd8bd(0x2cd),'path':a0_0x1da70c[_0x2bd8bd(0x2e7)](_0x4bb006||'.',_0x9d5b22[_0x2bd8bd(0x234)])}));_0xd6c8a5[_0x2bd8bd(0x2bb)]({'success':!![],'files':_0x706911});}else{const _0x179d26=await a0_0x3c70e8[_0x2bd8bd(0x2e9)](_0x55e7f5,_0x2bd8bd(0x2c8));_0xd6c8a5['json']({'success':!![],'content':_0x179d26,'type':_0x2bd8bd(0x2cd)});}}catch(_0x3585ff){_0xd6c8a5['status'](HTTP_STATUS[_0x2bd8bd(0x2cc)])[_0x2bd8bd(0x2bb)]({'success':![],'error':_0x3585ff[_0x2bd8bd(0x208)]});}}),this[_0x5013a9(0x26c)]['post'](_0x5013a9(0x247),async(_0x8c71bc,_0xb354a9)=>{const _0x50be63=_0x5013a9;try{const {fileName:_0x2dd917,content:_0x1ce123,projectDir:_0x44be3e}=_0x8c71bc['body'],_0x1578ed=_0x44be3e||process['cwd'](),_0xf33292=a0_0x1da70c[_0x50be63(0x20b)](_0x1578ed,_0x2dd917);await a0_0x3c70e8['mkdir'](_0x1578ed,{'recursive':!![]}),await a0_0x3c70e8['writeFile'](_0xf33292,_0x1ce123,'utf8'),_0xb354a9['json']({'success':!![],'message':_0x50be63(0x2a0),'path':_0xf33292});}catch(_0x3f07a7){_0xb354a9[_0x50be63(0x2a1)](HTTP_STATUS[_0x50be63(0x2dc)])[_0x50be63(0x2bb)]({'success':![],'error':_0x3f07a7[_0x50be63(0x208)]});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x287)](_0x5013a9(0x2c7),async(_0x23c888,_0x49ec50)=>{const _0x4d018f=_0x5013a9;try{const {path:_0x4c6868,showHidden:showHidden=![]}=_0x23c888['query'],_0x25dd7=_0x4c6868||process['cwd'](),_0xf0ac29=a0_0x1da70c['resolve'](_0x25dd7),_0x180e86=a0_0x1da70c[_0x4d018f(0x233)](_0xf0ac29),_0xc19be4=await a0_0x3c70e8['stat'](_0x180e86);if(!_0xc19be4[_0x4d018f(0x236)]())return _0x49ec50['status'](HTTP_STATUS['BAD_REQUEST'])[_0x4d018f(0x2bb)]({'success':![],'error':_0x4d018f(0x2e5)});const _0x29180f=await a0_0x3c70e8[_0x4d018f(0x2c9)](_0x180e86,{'withFileTypes':!![]}),_0x2d5321=await Promise['all'](_0x29180f[_0x4d018f(0x229)](_0x4df508=>showHidden===_0x4d018f(0x2d5)||!_0x4df508[_0x4d018f(0x234)][_0x4d018f(0x258)]('.'))['map'](async _0xbf0f8b=>{const _0x5279c9=_0x4d018f,_0x3b424a=a0_0x1da70c['join'](_0x180e86,_0xbf0f8b['name']),_0x4e17c8=await a0_0x3c70e8['stat'](_0x3b424a)['catch'](()=>null);return{'name':_0xbf0f8b[_0x5279c9(0x234)],'type':_0xbf0f8b[_0x5279c9(0x236)]()?'directory':'file','path':_0x3b424a,'relativePath':a0_0x1da70c['relative'](process[_0x5279c9(0x2f7)](),_0x3b424a),'size':_0x4e17c8?.['size']||0x0,'modified':_0x4e17c8?.[_0x5279c9(0x289)]||null,'isHidden':_0xbf0f8b[_0x5279c9(0x234)][_0x5279c9(0x258)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x2d5321['sort']((_0x370f10,_0x5123e4)=>{const _0x2a797b=_0x4d018f;if(_0x370f10[_0x2a797b(0x1fe)]!==_0x5123e4[_0x2a797b(0x1fe)])return _0x370f10[_0x2a797b(0x1fe)]===_0x2a797b(0x223)?-0x1:0x1;return _0x370f10['name']['localeCompare'](_0x5123e4['name']);});const _0x5c6aa9=a0_0x1da70c[_0x4d018f(0x262)](_0x180e86),_0x318a9b=_0x5c6aa9!==_0x180e86;_0x49ec50['json']({'success':!![],'currentPath':_0x180e86,'currentRelativePath':a0_0x1da70c['relative'](process[_0x4d018f(0x2f7)](),_0x180e86),'parentPath':_0x318a9b?_0x5c6aa9:null,'items':_0x2d5321,'totalItems':_0x2d5321['length'],'directories':_0x2d5321[_0x4d018f(0x229)](_0x1909cf=>_0x1909cf['type']==='directory')['length'],'files':_0x2d5321['filter'](_0x5a7137=>_0x5a7137[_0x4d018f(0x1fe)]===_0x4d018f(0x2cd))[_0x4d018f(0x1f9)]});}catch(_0x59386d){_0x49ec50['status'](HTTP_STATUS[_0x4d018f(0x2dc)])[_0x4d018f(0x2bb)]({'success':![],'error':_0x59386d[_0x4d018f(0x208)],'code':_0x59386d['code']});}}),this['app'][_0x5013a9(0x1f2)](_0x5013a9(0x2c6),async(_0x538211,_0x55cd5d)=>{const _0x1487fd=_0x5013a9;try{const {path:_0x4d22f4,name:_0x31cef3}=_0x538211[_0x1487fd(0x2f0)],_0x356bc2=a0_0x1da70c[_0x1487fd(0x20b)](_0x4d22f4,_0x31cef3);await a0_0x3c70e8['mkdir'](_0x356bc2,{'recursive':![]}),_0x55cd5d['json']({'success':!![],'path':_0x356bc2,'relativePath':a0_0x1da70c[_0x1487fd(0x2ee)](process[_0x1487fd(0x2f7)](),_0x356bc2)});}catch(_0x11ed09){_0x55cd5d['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x1487fd(0x2bb)]({'success':![],'error':_0x11ed09[_0x1487fd(0x208)],'code':_0x11ed09[_0x1487fd(0x215)]});}}),this['app']['get']('/api/explorer/info',async(_0x4e1f98,_0x850ae1)=>{const _0x36b6b3=_0x5013a9;try{const {path:_0x461512}=_0x4e1f98['query'],_0x6aa348=a0_0x1da70c[_0x36b6b3(0x20b)](_0x461512),_0x997381=await a0_0x3c70e8['stat'](_0x6aa348);_0x850ae1['json']({'success':!![],'path':_0x6aa348,'relativePath':a0_0x1da70c[_0x36b6b3(0x2ee)](process[_0x36b6b3(0x2f7)](),_0x6aa348),'isDirectory':_0x997381['isDirectory'](),'isFile':_0x997381[_0x36b6b3(0x203)](),'size':_0x997381[_0x36b6b3(0x20d)],'created':_0x997381['birthtime'],'modified':_0x997381[_0x36b6b3(0x289)],'accessed':_0x997381['atime']});}catch(_0x53eb87){_0x850ae1['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x36b6b3(0x2bb)]({'success':![],'error':_0x53eb87[_0x36b6b3(0x208)],'code':_0x53eb87[_0x36b6b3(0x215)]});}}),this['app'][_0x5013a9(0x1f2)](_0x5013a9(0x290),async(_0x5d1479,_0x4732ca)=>{const _0x5064bd=_0x5013a9;try{const {sessionId:_0x2601c7,model:_0x283033,platformProvided:_0x53e943}=_0x5d1479[_0x5064bd(0x2f0)];if(!_0x2601c7)return _0x4732ca['status'](0x190)[_0x5064bd(0x2bb)]({'error':'Session\x20ID\x20is\x20required'});let _0x1e2917=null,_0x434697=null;if(this[_0x5064bd(0x23d)]){const _0x56d891=this['apiKeyManager'][_0x5064bd(0x273)](_0x2601c7,{'platformProvided':_0x53e943||![],'vendor':this['_getVendorFromModel'](_0x283033)});_0x1e2917=_0x56d891['loxiaApiKey'],_0x434697=_0x56d891[_0x5064bd(0x230)];}!_0x1e2917&&(_0x1e2917=this[_0x5064bd(0x20a)]['loxiaApiKey']||process['env']['LOXIA_API_KEY']);!_0x1e2917&&_0x5d1479['body']['apiKey']&&(_0x1e2917=_0x5d1479[_0x5064bd(0x2f0)][_0x5064bd(0x292)]);if(!_0x1e2917)return this['logger'][_0x5064bd(0x2f2)]('No\x20API\x20key\x20available\x20for\x20chat\x20request',{'sessionId':_0x2601c7,'model':_0x283033,'platformProvided':_0x53e943,'hasSessionManager':!!this['apiKeyManager']}),_0x4732ca['status'](0x191)[_0x5064bd(0x2bb)]({'error':'No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.'});const _0x570b50=_0x5064bd(0x269),_0x4390e4={..._0x5d1479['body'],'apiKey':_0x1e2917,..._0x434697&&{'vendorApiKey':_0x434697}},_0x23c5c1={'method':_0x5064bd(0x2de),'headers':{'Content-Type':_0x5064bd(0x2ce),'Authorization':_0x5064bd(0x225)+_0x1e2917},'body':JSON[_0x5064bd(0x216)](_0x4390e4)};this[_0x5064bd(0x1f3)][_0x5064bd(0x212)](_0x5064bd(0x2df),{'url':_0x570b50,'model':_0x5d1479[_0x5064bd(0x2f0)][_0x5064bd(0x283)],'hasApiKey':!!_0x1e2917});const _0x57b9da=await fetch(_0x570b50,_0x23c5c1);if(_0x57b9da['ok']){const _0x110cd8=await _0x57b9da['json']();this[_0x5064bd(0x1f3)][_0x5064bd(0x212)]('Successfully received response from Azure backend',{'model':_0x110cd8[_0x5064bd(0x283)],'contentLength':_0x110cd8['content']?.['length']||0x0}),_0x4732ca['json'](_0x110cd8);}else{const _0x4a9907=await _0x57b9da[_0x5064bd(0x214)]();this['logger'][_0x5064bd(0x2f2)]('Azure\x20backend\x20chat\x20request\x20failed',{'status':_0x57b9da['status'],'statusText':_0x57b9da[_0x5064bd(0x2d1)],'error':_0x4a9907}),_0x4732ca[_0x5064bd(0x2a1)](_0x57b9da[_0x5064bd(0x2a1)])['json']({'error':'Azure\x20backend\x20error:\x20'+_0x57b9da['status']+'\x20'+_0x57b9da[_0x5064bd(0x2d1)],'details':_0x4a9907});}}catch(_0x4f2ce3){this['logger']['error'](_0x5064bd(0x2a6),{'error':_0x4f2ce3[_0x5064bd(0x208)],'stack':_0x4f2ce3['stack']}),_0x4732ca['status'](0x1f4)[_0x5064bd(0x2bb)]({'error':_0x5064bd(0x200),'details':_0x4f2ce3['message']});}}),this['app']['get']('/api/llm/models',async(_0x3ee847,_0x3832eb)=>{const _0x137707=_0x5013a9;try{const _0x5155a7=_0x3ee847['headers']['authorization'];let _0x347bec=null;_0x5155a7&&_0x5155a7['startsWith'](_0x137707(0x225))&&(_0x347bec=_0x5155a7[_0x137707(0x28e)](0x7));!_0x347bec&&(_0x347bec=this[_0x137707(0x20a)]['loxiaApiKey']||process['env']['LOXIA_API_KEY']);const _0x48e626='https://autopilot-api.azurewebsites.net/llm/models',_0x1138b6={'method':_0x137707(0x2bf),'headers':{'Content-Type':_0x137707(0x2ce),..._0x347bec&&{'Authorization':'Bearer\x20'+_0x347bec}}};this['logger']['info']('Fetching models from Loxia Azure backend',{'url':_0x48e626,'hasApiKey':!!_0x347bec});const _0x53fa8b=await fetch(_0x48e626,_0x1138b6);if(_0x53fa8b['ok']){const _0xb05aef=await _0x53fa8b[_0x137707(0x2bb)]();this[_0x137707(0x1f3)]['info']('Successfully fetched models from Azure backend',{'modelCount':_0xb05aef[_0x137707(0x202)]?.[_0x137707(0x1f9)]||0x0}),_0x3832eb[_0x137707(0x2bb)](_0xb05aef);}else{const _0xa46e9b=await _0x53fa8b[_0x137707(0x214)]();this[_0x137707(0x1f3)][_0x137707(0x2f4)](_0x137707(0x2d0),{'status':_0x53fa8b['status'],'statusText':_0x53fa8b['statusText'],'error':_0xa46e9b}),_0x3832eb[_0x137707(0x2a1)](_0x53fa8b['status'])['json']({'success':![],'error':'Failed\x20to\x20fetch\x20models\x20from\x20backend:\x20'+_0x53fa8b[_0x137707(0x2a1)]+'\x20'+_0x53fa8b[_0x137707(0x2d1)],'details':_0xa46e9b});}}catch(_0x418760){this['logger']['error']('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x418760['message'],'stack':_0x418760['stack']}),_0x3832eb['status'](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0x418760[_0x137707(0x208)]});}}),this['app']['get'](_0x5013a9(0x2c3),async(_0x120c04,_0x111bd4)=>{const _0x86943b=_0x5013a9;try{const _0x2e431d=this['toolsRegistry'];if(!_0x2e431d)return _0x111bd4['status'](0x1f4)['json']({'error':_0x86943b(0x207)});const _0x1879e4=_0x2e431d['getAvailableToolsForUI']();this['logger'][_0x86943b(0x212)](_0x86943b(0x2e4),{'toolCount':_0x1879e4[_0x86943b(0x1f9)],'tools':_0x1879e4['map'](_0x4e359b=>({'id':_0x4e359b['id'],'name':_0x4e359b[_0x86943b(0x234)],'category':_0x4e359b[_0x86943b(0x250)]}))}),_0x111bd4[_0x86943b(0x2bb)]({'success':!![],'tools':_0x1879e4,'total':_0x1879e4['length']});}catch(_0xebd6bb){this['logger']['error'](_0x86943b(0x2fd),{'error':_0xebd6bb[_0x86943b(0x208)],'stack':_0xebd6bb[_0x86943b(0x21c)]}),_0x111bd4[_0x86943b(0x2a1)](0x1f4)[_0x86943b(0x2bb)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0xebd6bb['message']});}}),this[_0x5013a9(0x26c)]['post']('/api/keys',async(_0x4cd2d9,_0x7aed1d)=>{const _0x13892c=_0x5013a9;try{const {sessionId:_0x194844,loxiaApiKey:_0x16e8f7,vendorKeys:_0x4d1629}=_0x4cd2d9[_0x13892c(0x2f0)];if(!_0x194844)return _0x7aed1d[_0x13892c(0x2a1)](0x190)[_0x13892c(0x2bb)]({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this[_0x13892c(0x23d)])return _0x7aed1d['status'](0x1f4)[_0x13892c(0x2bb)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this[_0x13892c(0x23d)][_0x13892c(0x2b8)](_0x194844,{'loxiaApiKey':_0x16e8f7,'vendorKeys':_0x4d1629||{}}),this[_0x13892c(0x1f3)]['info']('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x194844,'hasLoxiaKey':!!_0x16e8f7,'vendorKeys':Object[_0x13892c(0x27a)](_0x4d1629||{})});if(this[_0x13892c(0x255)]&&this['orchestrator'][_0x13892c(0x282)]&&_0x16e8f7)try{await this[_0x13892c(0x255)]['modelsService']['refresh']({'sessionId':_0x194844,'apiKey':_0x16e8f7}),this['logger']['info']('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x194844});}catch(_0x3e6628){this['logger'][_0x13892c(0x2f2)]('Failed\x20to\x20refresh\x20models\x20after\x20API\x20key\x20update',{'error':_0x3e6628[_0x13892c(0x208)],'sessionId':_0x194844});}_0x7aed1d[_0x13892c(0x2bb)]({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x194844,'hasLoxiaKey':!!_0x16e8f7,'vendorKeys':Object['keys'](_0x4d1629||{})});}catch(_0x353d79){this['logger'][_0x13892c(0x2f4)]('Failed\x20to\x20set\x20API\x20keys',{'error':_0x353d79['message'],'sessionId':_0x4cd2d9['body'][_0x13892c(0x1fc)]}),_0x7aed1d[_0x13892c(0x2a1)](0x1f4)[_0x13892c(0x2bb)]({'success':![],'error':_0x353d79[_0x13892c(0x208)]});}}),this['app']['get'](_0x5013a9(0x2b2),async(_0x430351,_0x5c90fb)=>{const _0x2509c8=_0x5013a9;try{const {sessionId:_0x16c43e}=_0x430351['params'];if(!this['apiKeyManager'])return _0x5c90fb['status'](0x1f4)[_0x2509c8(0x2bb)]({'success':![],'error':_0x2509c8(0x263)});const _0x3778f2=this[_0x2509c8(0x23d)][_0x2509c8(0x2d7)](_0x16c43e);_0x5c90fb[_0x2509c8(0x2bb)]({'success':!![],'sessionId':_0x16c43e,'hasLoxiaKey':!!_0x3778f2[_0x2509c8(0x2b3)],'vendorKeys':Object['keys'](_0x3778f2[_0x2509c8(0x220)]||{}),'updatedAt':_0x3778f2['updatedAt']});}catch(_0x3866b5){this[_0x2509c8(0x1f3)][_0x2509c8(0x2f4)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x3866b5[_0x2509c8(0x208)],'sessionId':_0x430351[_0x2509c8(0x1fa)][_0x2509c8(0x1fc)]}),_0x5c90fb['status'](0x1f4)[_0x2509c8(0x2bb)]({'success':![],'error':_0x3866b5[_0x2509c8(0x208)]});}}),this['app']['delete'](_0x5013a9(0x2b2),async(_0x13a92e,_0x26d8aa)=>{const _0x41ed47=_0x5013a9;try{const {sessionId:_0xc52f1d}=_0x13a92e['params'];if(!this['apiKeyManager'])return _0x26d8aa['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x289628=this['apiKeyManager']['removeSessionKeys'](_0xc52f1d);_0x26d8aa['json']({'success':!![],'removed':_0x289628,'message':_0x289628?'API\x20keys\x20removed\x20successfully':'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x5330ba){this['logger']['error']('Failed\x20to\x20remove\x20API\x20keys',{'error':_0x5330ba['message'],'sessionId':_0x13a92e[_0x41ed47(0x1fa)]['sessionId']}),_0x26d8aa['status'](0x1f4)['json']({'success':![],'error':_0x5330ba[_0x41ed47(0x208)]});}}),this['app'][_0x5013a9(0x287)]('/api/keys',async(_0x381a63,_0x489f95)=>{const _0x2de161=_0x5013a9;try{if(!this['apiKeyManager'])return _0x489f95[_0x2de161(0x2a1)](0x1f4)[_0x2de161(0x2bb)]({'success':![],'error':_0x2de161(0x263)});const _0x2e1b76=this[_0x2de161(0x23d)][_0x2de161(0x23a)]();_0x489f95[_0x2de161(0x2bb)]({'success':!![],'sessions':_0x2e1b76,'total':_0x2e1b76[_0x2de161(0x1f9)]});}catch(_0x32de01){this[_0x2de161(0x1f3)][_0x2de161(0x2f4)](_0x2de161(0x257),{'error':_0x32de01[_0x2de161(0x208)]}),_0x489f95[_0x2de161(0x2a1)](0x1f4)['json']({'success':![],'error':_0x32de01['message']});}}),this['app']['post'](_0x5013a9(0x26f),async(_0xe43e47,_0x331ee2)=>{const _0x287aaa=_0x5013a9;try{const {agentId:_0x513631}=_0xe43e47['params'],{filePath:_0x40bb7e,mode:_0x34a27c,fileName:_0x1c89db}=_0xe43e47['body'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x331ee2[_0x287aaa(0x2a1)](0x1f4)[_0x287aaa(0x2bb)]({'success':![],'error':_0x287aaa(0x248)});const _0x1d7c00=await this['orchestrator']['fileAttachmentService'][_0x287aaa(0x288)]({'agentId':_0x513631,'filePath':_0x40bb7e,'mode':_0x34a27c||'content','fileName':_0x1c89db});this['logger']['info'](_0x287aaa(0x28c),{'agentId':_0x513631,'fileId':_0x1d7c00[_0x287aaa(0x201)],'fileName':_0x1d7c00[_0x287aaa(0x253)]}),_0x331ee2['json']({'success':!![],'attachment':_0x1d7c00});}catch(_0x26f792){this['logger']['error']('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0xe43e47['params']['agentId'],'error':_0x26f792[_0x287aaa(0x208)]}),_0x331ee2[_0x287aaa(0x2a1)](0x1f4)[_0x287aaa(0x2bb)]({'success':![],'error':_0x26f792['message']});}}),this[_0x5013a9(0x26c)]['get'](_0x5013a9(0x2da),async(_0x587f4f,_0x2ff066)=>{const _0xcf22ee=_0x5013a9;try{const {agentId:_0x5ef145}=_0x587f4f['params'],{mode:_0x2475cb,active:_0x4527de}=_0x587f4f[_0xcf22ee(0x28b)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x2ff066['status'](0x1f4)[_0xcf22ee(0x2bb)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x471957={};if(_0x2475cb)_0x471957[_0xcf22ee(0x29d)]=_0x2475cb;if(_0x4527de!==undefined)_0x471957[_0xcf22ee(0x25b)]=_0x4527de==='true';const _0x362c82=await this[_0xcf22ee(0x255)]['fileAttachmentService'][_0xcf22ee(0x296)](_0x5ef145,_0x471957);_0x2ff066[_0xcf22ee(0x2bb)]({'success':!![],'attachments':_0x362c82,'total':_0x362c82[_0xcf22ee(0x1f9)]});}catch(_0x5d2eb6){this['logger']['error'](_0xcf22ee(0x2aa),{'agentId':_0x587f4f['params'][_0xcf22ee(0x241)],'error':_0x5d2eb6['message']}),_0x2ff066[_0xcf22ee(0x2a1)](0x1f4)[_0xcf22ee(0x2bb)]({'success':![],'error':_0x5d2eb6[_0xcf22ee(0x208)]});}}),this[_0x5013a9(0x26c)]['get']('/api/attachments/:fileId',async(_0x315254,_0x18d238)=>{const _0x3cbc3d=_0x5013a9;try{const {fileId:_0x487045}=_0x315254['params'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x18d238['status'](0x1f4)['json']({'success':![],'error':_0x3cbc3d(0x248)});const _0x328404=await this[_0x3cbc3d(0x255)]['fileAttachmentService']['getAttachment'](_0x487045);if(!_0x328404)return _0x18d238['status'](0x194)['json']({'success':![],'error':_0x3cbc3d(0x28f)});_0x18d238[_0x3cbc3d(0x2bb)]({'success':!![],'attachment':_0x328404});}catch(_0xab4ee5){this['logger'][_0x3cbc3d(0x2f4)](_0x3cbc3d(0x2d4),{'fileId':_0x315254['params']['fileId'],'error':_0xab4ee5[_0x3cbc3d(0x208)]}),_0x18d238[_0x3cbc3d(0x2a1)](0x1f4)[_0x3cbc3d(0x2bb)]({'success':![],'error':_0xab4ee5['message']});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x21e)]('/api/attachments/:fileId/toggle',async(_0x366dc9,_0x1658c1)=>{const _0x3a6b8c=_0x5013a9;try{const {fileId:_0x478e54}=_0x366dc9['params'];if(!this['orchestrator']?.[_0x3a6b8c(0x28d)])return _0x1658c1[_0x3a6b8c(0x2a1)](0x1f4)['json']({'success':![],'error':_0x3a6b8c(0x248)});const _0x4fdf63=await this['orchestrator']['fileAttachmentService'][_0x3a6b8c(0x27f)](_0x478e54);this['logger']['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0x478e54,'active':_0x4fdf63['active']}),_0x1658c1['json']({'success':!![],'attachment':_0x4fdf63});}catch(_0x3075b6){this['logger'][_0x3a6b8c(0x2f4)](_0x3a6b8c(0x1f6),{'fileId':_0x366dc9[_0x3a6b8c(0x1fa)][_0x3a6b8c(0x201)],'error':_0x3075b6['message']}),_0x1658c1[_0x3a6b8c(0x2a1)](0x1f4)[_0x3a6b8c(0x2bb)]({'success':![],'error':_0x3075b6[_0x3a6b8c(0x208)]});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x21e)]('/api/attachments/:fileId',async(_0x117fac,_0x6dac3c)=>{const _0x1b6b4f=_0x5013a9;try{const {fileId:_0x209aec}=_0x117fac[_0x1b6b4f(0x1fa)],{mode:_0x46fca2,active:_0x3ec00f}=_0x117fac[_0x1b6b4f(0x2f0)];if(!this[_0x1b6b4f(0x255)]?.[_0x1b6b4f(0x28d)])return _0x6dac3c[_0x1b6b4f(0x2a1)](0x1f4)[_0x1b6b4f(0x2bb)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x4459bd={};if(_0x46fca2!==undefined)_0x4459bd['mode']=_0x46fca2;if(_0x3ec00f!==undefined)_0x4459bd[_0x1b6b4f(0x25b)]=_0x3ec00f;const _0x2e4014=await this[_0x1b6b4f(0x255)]['fileAttachmentService']['updateAttachment'](_0x209aec,_0x4459bd);this['logger']['info'](_0x1b6b4f(0x2a9),{'fileId':_0x209aec,'updates':_0x4459bd}),_0x6dac3c[_0x1b6b4f(0x2bb)]({'success':!![],'attachment':_0x2e4014});}catch(_0x462f90){this[_0x1b6b4f(0x1f3)]['error'](_0x1b6b4f(0x249),{'fileId':_0x117fac[_0x1b6b4f(0x1fa)][_0x1b6b4f(0x201)],'error':_0x462f90['message']}),_0x6dac3c['status'](0x1f4)[_0x1b6b4f(0x2bb)]({'success':![],'error':_0x462f90[_0x1b6b4f(0x208)]});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x2f8)]('/api/attachments/:fileId',async(_0x358ddc,_0x3ebf0b)=>{const _0x421c54=_0x5013a9;try{const {fileId:_0x49dd4b}=_0x358ddc['params'],{agentId:_0xce6fcc}=_0x358ddc['query'];if(!_0xce6fcc)return _0x3ebf0b[_0x421c54(0x2a1)](0x190)['json']({'success':![],'error':_0x421c54(0x232)});if(!this[_0x421c54(0x255)]?.['fileAttachmentService'])return _0x3ebf0b[_0x421c54(0x2a1)](0x1f4)[_0x421c54(0x2bb)]({'success':![],'error':_0x421c54(0x248)});const _0x39c698=await this['orchestrator']['fileAttachmentService']['deleteAttachment'](_0x49dd4b,_0xce6fcc);this['logger']['info']('Attachment\x20deleted',{'fileId':_0x49dd4b,'agentId':_0xce6fcc,'physicallyDeleted':_0x39c698[_0x421c54(0x2e8)]}),_0x3ebf0b[_0x421c54(0x2bb)]({'success':!![],'message':_0x39c698[_0x421c54(0x2e8)]?_0x421c54(0x268):_0x421c54(0x2fb),'physicallyDeleted':_0x39c698[_0x421c54(0x2e8)]});}catch(_0xc557e7){this[_0x421c54(0x1f3)][_0x421c54(0x2f4)](_0x421c54(0x217),{'fileId':_0x358ddc[_0x421c54(0x1fa)]['fileId'],'error':_0xc557e7[_0x421c54(0x208)]}),_0x3ebf0b[_0x421c54(0x2a1)](0x1f4)['json']({'success':![],'error':_0xc557e7[_0x421c54(0x208)]});}}),this['app'][_0x5013a9(0x1f2)]('/api/attachments/:fileId/import',async(_0x5ad4fe,_0x3595dd)=>{const _0x4ada8f=_0x5013a9;try{const {fileId:_0x4b5fe4}=_0x5ad4fe[_0x4ada8f(0x1fa)],{targetAgentId:_0x525843}=_0x5ad4fe['body'];if(!_0x525843)return _0x3595dd[_0x4ada8f(0x2a1)](0x190)[_0x4ada8f(0x2bb)]({'success':![],'error':_0x4ada8f(0x213)});if(!this[_0x4ada8f(0x255)]?.[_0x4ada8f(0x28d)])return _0x3595dd['status'](0x1f4)[_0x4ada8f(0x2bb)]({'success':![],'error':_0x4ada8f(0x248)});const _0x49dc18=await this['orchestrator']['fileAttachmentService'][_0x4ada8f(0x22f)](_0x4b5fe4,_0x525843);this[_0x4ada8f(0x1f3)]['info']('Attachment imported',{'fileId':_0x4b5fe4,'targetAgentId':_0x525843}),_0x3595dd['json']({'success':!![],'attachment':_0x49dc18});}catch(_0x5d7c10){this[_0x4ada8f(0x1f3)]['error']('Failed to import attachment',{'fileId':_0x5ad4fe[_0x4ada8f(0x1fa)]['fileId'],'error':_0x5d7c10[_0x4ada8f(0x208)]}),_0x3595dd['status'](0x1f4)[_0x4ada8f(0x2bb)]({'success':![],'error':_0x5d7c10['message']});}}),this['app']['get']('/api/attachments/:fileId/preview',async(_0x4b7a18,_0x186a08)=>{const _0x206b10=_0x5013a9;try{const {fileId:_0x530cdc}=_0x4b7a18['params'];if(!this[_0x206b10(0x255)]?.['fileAttachmentService'])return _0x186a08['status'](0x1f4)[_0x206b10(0x2bb)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x51bd7d=await this['orchestrator']['fileAttachmentService'][_0x206b10(0x20e)](_0x530cdc);if(!_0x51bd7d)return _0x186a08['status'](0x194)['json']({'success':![],'error':_0x206b10(0x28f)});_0x186a08[_0x206b10(0x2bb)]({'success':!![],'preview':_0x51bd7d});}catch(_0x217f70){this[_0x206b10(0x1f3)]['error']('Failed\x20to\x20get\x20attachment\x20preview',{'fileId':_0x4b7a18[_0x206b10(0x1fa)][_0x206b10(0x201)],'error':_0x217f70[_0x206b10(0x208)]}),_0x186a08['status'](0x1f4)[_0x206b10(0x2bb)]({'success':![],'error':_0x217f70[_0x206b10(0x208)]});}}),this[_0x5013a9(0x26c)]['get'](_0x5013a9(0x252),async(_0x231f55,_0x368d1a)=>{const _0x3d1f4c=_0x5013a9;try{const {sessionId:_0x2d2c3e,filename:_0x429efd}=_0x231f55['params'],_0x4082ed=this['sessions'][_0x3d1f4c(0x287)](_0x2d2c3e);if(!_0x4082ed)return _0x368d1a[_0x3d1f4c(0x2a1)](HTTP_STATUS[_0x3d1f4c(0x274)])[_0x3d1f4c(0x2bb)]({'success':![],'error':'Invalid\x20session'});const _0x40a555=a0_0x1da70c[_0x3d1f4c(0x293)](_0x429efd);if(_0x40a555!==_0x429efd||_0x429efd[_0x3d1f4c(0x244)]('..')||_0x429efd['includes']('/')||_0x429efd[_0x3d1f4c(0x244)]('\x5c'))return _0x368d1a[_0x3d1f4c(0x2a1)](HTTP_STATUS[_0x3d1f4c(0x2ef)])[_0x3d1f4c(0x2bb)]({'success':![],'error':_0x3d1f4c(0x2b7)});let _0x1b1eb3=null;const _0x22e77c=[a0_0x1da70c[_0x3d1f4c(0x2e7)](_0x4082ed['projectDir']||process['cwd'](),'images',_0x40a555),a0_0x1da70c['join'](_0x3d1f4c(0x24e),_0x2d2c3e,_0x40a555),a0_0x1da70c[_0x3d1f4c(0x2e7)](_0x3d1f4c(0x24e),_0x40a555)];if(this[_0x3d1f4c(0x255)]?.[_0x3d1f4c(0x2e2)])try{const _0x132248=await this['orchestrator'][_0x3d1f4c(0x2e2)][_0x3d1f4c(0x2d3)]();for(const _0x2c630c of _0x132248){_0x2c630c['directoryAccess']?.['workingDirectory']&&_0x22e77c[_0x3d1f4c(0x2be)](a0_0x1da70c['join'](_0x2c630c[_0x3d1f4c(0x2d9)][_0x3d1f4c(0x270)],_0x3d1f4c(0x2ae),_0x40a555));}}catch(_0x12470c){this[_0x3d1f4c(0x1f3)]['warn'](_0x3d1f4c(0x226),{'error':_0x12470c['message']});}for(const _0xb46713 of _0x22e77c){try{const _0x13e977=await a0_0x3c70e8['stat'](_0xb46713);if(_0x13e977[_0x3d1f4c(0x203)]()){_0x1b1eb3=_0xb46713,this['logger']['info']('Image\x20found',{'filename':_0x40a555,'path':_0x1b1eb3,'sessionId':_0x2d2c3e});break;}}catch(_0x540267){continue;}}if(!_0x1b1eb3)return this[_0x3d1f4c(0x1f3)]['warn'](_0x3d1f4c(0x264),{'filename':_0x40a555,'sessionId':_0x2d2c3e,'searchPaths':_0x22e77c}),_0x368d1a[_0x3d1f4c(0x2a1)](HTTP_STATUS[_0x3d1f4c(0x2cc)])[_0x3d1f4c(0x2bb)]({'success':![],'error':_0x3d1f4c(0x271)});_0x368d1a[_0x3d1f4c(0x23b)](_0x1b1eb3,_0x388f31=>{const _0x14ba0d=_0x3d1f4c;_0x388f31?(this['logger']['error'](_0x14ba0d(0x2fa),{'error':_0x388f31['message'],'imagePath':_0x1b1eb3,'filename':_0x40a555}),!_0x368d1a['headersSent']&&_0x368d1a['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x14ba0d(0x2bb)]({'success':![],'error':_0x14ba0d(0x218)})):this[_0x14ba0d(0x1f3)][_0x14ba0d(0x212)]('Image\x20served\x20successfully',{'filename':_0x40a555,'path':_0x1b1eb3,'sessionId':_0x2d2c3e});});}catch(_0x36ac7b){this[_0x3d1f4c(0x1f3)][_0x3d1f4c(0x2f4)]('Image\x20serving\x20error',{'error':_0x36ac7b[_0x3d1f4c(0x208)],'sessionId':_0x231f55['params'][_0x3d1f4c(0x1fc)],'filename':_0x231f55['params']['filename']}),_0x368d1a['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x3d1f4c(0x2bb)]({'success':![],'error':_0x36ac7b[_0x3d1f4c(0x208)]});}}),this[_0x5013a9(0x26c)]['post']('/api/agents/:agentId/mode',async(_0x5e73f0,_0x5d6e9d)=>{const _0xc7ea48=_0x5013a9;try{const {agentId:_0x2476d2}=_0x5e73f0[_0xc7ea48(0x1fa)],{mode:_0x31940f,lockMode:lockMode=![],sessionId:_0x188c3d}=_0x5e73f0[_0xc7ea48(0x2f0)];if(!Object[_0xc7ea48(0x27d)](AGENT_MODES)[_0xc7ea48(0x244)](_0x31940f))return _0x5d6e9d[_0xc7ea48(0x2a1)](0x190)[_0xc7ea48(0x2bb)]({'success':![],'error':'Invalid\x20mode.\x20Must\x20be\x20one\x20of:\x20'+Object['values'](AGENT_MODES)['join'](',\x20')});const _0x3b390a=_0x188c3d||_0x5e73f0[_0xc7ea48(0x29f)];!_0x3b390a&&this['logger'][_0xc7ea48(0x2f2)]('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0x2476d2,'hasBodySessionId':!!_0x188c3d,'hasReqSessionId':!!_0x5e73f0['sessionID']});const _0x4d1feb={'interface':INTERFACE_TYPES[_0xc7ea48(0x27c)],'sessionId':_0x3b390a,'action':'update_agent','payload':{'agentId':_0x2476d2,'updates':{'mode':_0x31940f}}},_0x16fb5b=await this['orchestrator'][_0xc7ea48(0x20f)](_0x4d1feb);if(_0x16fb5b[_0xc7ea48(0x2dd)]){const _0x4b19ed=_0x16fb5b[_0xc7ea48(0x276)];this[_0xc7ea48(0x1f3)][_0xc7ea48(0x212)](_0xc7ea48(0x2d8)+_0x2476d2,{'newMode':_0x31940f,'lockMode':lockMode,'finalMode':_0x4b19ed?.[_0xc7ea48(0x29d)]}),this['broadcastToSession'](_0x4d1feb['sessionId'],{'type':_0xc7ea48(0x222),'data':{'agentId':_0x2476d2,'mode':_0x4b19ed?.['mode'],'modeState':_0x4b19ed?.[_0xc7ea48(0x239)]}}),_0x5d6e9d[_0xc7ea48(0x2bb)]({'success':!![],'agent':_0x4b19ed,'message':_0xc7ea48(0x23c)+_0x4b19ed?.['mode']});}else _0x5d6e9d[_0xc7ea48(0x2a1)](0x190)['json']({'success':![],'error':_0x16fb5b[_0xc7ea48(0x2f4)]||_0xc7ea48(0x29b)});}catch(_0x2cb216){this[_0xc7ea48(0x1f3)][_0xc7ea48(0x2f4)]('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0x5e73f0[_0xc7ea48(0x1fa)][_0xc7ea48(0x241)],'error':_0x2cb216['message']}),_0x5d6e9d['status'](0x1f4)[_0xc7ea48(0x2bb)]({'success':![],'error':_0x2cb216['message']});}}),this['app'][_0x5013a9(0x1f2)](_0x5013a9(0x26e),async(_0x1711d8,_0x344855)=>{const _0x2d5aea=_0x5013a9;try{const {agentId:_0x2c5294}=_0x1711d8[_0x2d5aea(0x1fa)],_0x311f84=this[_0x2d5aea(0x255)]['messageProcessor'];if(!_0x311f84)return _0x344855['status'](0x1f4)['json']({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x38c2a4=await _0x311f84['stopAutonomousExecution'](_0x2c5294);this['logger'][_0x2d5aea(0x212)](_0x2d5aea(0x301)+_0x2c5294);const _0x49775a=_0x1711d8['sessionID']||_0x38c2a4[_0x2d5aea(0x2c1)]?.[_0x2d5aea(0x1fc)];_0x49775a&&this[_0x2d5aea(0x21a)](_0x49775a,{'type':_0x2d5aea(0x222),'data':{'agentId':_0x2c5294,'mode':_0x38c2a4['agent']?.[_0x2d5aea(0x29d)],'modeState':_0x38c2a4['agent']?.['modeState']}}),_0x344855['json'](_0x38c2a4);}catch(_0x28cf4c){this[_0x2d5aea(0x1f3)][_0x2d5aea(0x2f4)](_0x2d5aea(0x206),{'agentId':_0x1711d8['params']['agentId'],'error':_0x28cf4c[_0x2d5aea(0x208)]}),_0x344855['status'](0x1f4)['json']({'success':![],'error':_0x28cf4c['message']});}}),this['app'][_0x5013a9(0x287)](_0x5013a9(0x237),async(_0x456127,_0x2dc1a3)=>{const _0xe32b8a=_0x5013a9;try{const {agentId:_0x47cd9f}=_0x456127['params'],_0x588d8f={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x456127[_0xe32b8a(0x29f)],'action':_0xe32b8a(0x2ed),'payload':{'agentId':_0x47cd9f}},_0xd05110=await this[_0xe32b8a(0x255)]['processRequest'](_0x588d8f);_0xd05110['success']&&_0xd05110['agent']?_0x2dc1a3[_0xe32b8a(0x2bb)]({'success':!![],'mode':_0xd05110['agent']['mode'],'modeState':_0xd05110[_0xe32b8a(0x2c1)][_0xe32b8a(0x239)],'currentTask':_0xd05110[_0xe32b8a(0x2c1)][_0xe32b8a(0x300)],'iterationCount':_0xd05110[_0xe32b8a(0x2c1)][_0xe32b8a(0x24a)],'taskStartTime':_0xd05110[_0xe32b8a(0x2c1)][_0xe32b8a(0x2ba)],'stopRequested':_0xd05110['agent']['stopRequested']}):_0x2dc1a3[_0xe32b8a(0x2a1)](0x194)[_0xe32b8a(0x2bb)]({'success':![],'error':_0xe32b8a(0x2a5)});}catch(_0x840914){this['logger']['error'](_0xe32b8a(0x260),{'agentId':_0x456127[_0xe32b8a(0x1fa)][_0xe32b8a(0x241)],'error':_0x840914['message']}),_0x2dc1a3[_0xe32b8a(0x2a1)](0x1f4)['json']({'success':![],'error':_0x840914['message']});}}),this['app']['post'](_0x5013a9(0x25f),async(_0x206ea1,_0x33761d)=>{const _0x4a2a2f=_0x5013a9;try{const {agentId:_0x3dc8d6}=_0x206ea1[_0x4a2a2f(0x1fa)],_0x2a1188=await this[_0x4a2a2f(0x255)][_0x4a2a2f(0x2e2)]['clearConversation'](_0x3dc8d6);_0x33761d[_0x4a2a2f(0x2bb)](_0x2a1188);}catch(_0x254084){this[_0x4a2a2f(0x1f3)][_0x4a2a2f(0x2f4)]('Failed\x20to\x20clear\x20agent\x20conversation',{'agentId':_0x206ea1['params'][_0x4a2a2f(0x241)],'error':_0x254084['message']}),_0x33761d[_0x4a2a2f(0x2a1)](0x1f4)[_0x4a2a2f(0x2bb)]({'success':![],'error':_0x254084[_0x4a2a2f(0x208)]});}}),this['app'][_0x5013a9(0x287)](_0x5013a9(0x20c),async(_0x2cf473,_0x468661)=>{const _0x11708a=_0x5013a9;try{const {agentId:_0x3035f7}=_0x2cf473['params'],{shouldAgentBeActive:_0x3149ee}=await import('../services/agentActivityService.js'),_0x35e02a=await this[_0x11708a(0x255)]['agentPool'][_0x11708a(0x27b)](_0x3035f7);if(!_0x35e02a)return _0x468661['status'](0x194)['json']({'success':![],'error':'Agent\x20not\x20found'});const _0x474cbe=_0x3149ee(_0x35e02a);_0x468661[_0x11708a(0x2bb)]({'success':!![],'agentId':_0x3035f7,'isActive':_0x474cbe['active'],'reason':_0x474cbe['reason'],'details':_0x474cbe[_0x11708a(0x2b6)]});}catch(_0x44fe05){this['logger']['error']('Failed\x20to\x20get\x20agent\x20activity\x20status',{'agentId':_0x2cf473[_0x11708a(0x1fa)][_0x11708a(0x241)],'error':_0x44fe05[_0x11708a(0x208)]}),_0x468661['status'](0x1f4)['json']({'success':![],'error':_0x44fe05['message']});}}),this['app']['get']('/api/agents/available',async(_0x322963,_0x172598)=>{const _0x50c4d2=_0x5013a9;try{const _0x343bfa=this[_0x50c4d2(0x255)]['config'][_0x50c4d2(0x242)]?.['directory']||process[_0x50c4d2(0x2f7)](),_0x312f86=await this[_0x50c4d2(0x255)][_0x50c4d2(0x26a)]['getAllAvailableAgents'](_0x343bfa,this[_0x50c4d2(0x255)]['agentPool']);_0x172598[_0x50c4d2(0x2bb)]({'success':!![],'agents':_0x312f86,'total':_0x312f86[_0x50c4d2(0x1f9)],'active':_0x312f86[_0x50c4d2(0x229)](_0x44d005=>_0x44d005['isLoaded'])['length'],'archived':_0x312f86[_0x50c4d2(0x229)](_0x1cdf09=>!_0x1cdf09[_0x50c4d2(0x1f5)])[_0x50c4d2(0x1f9)]});}catch(_0x361fcf){this[_0x50c4d2(0x1f3)]['error'](_0x50c4d2(0x29e),{'error':_0x361fcf['message'],'stack':_0x361fcf['stack']}),_0x172598['status'](0x1f4)[_0x50c4d2(0x2bb)]({'success':![],'error':_0x361fcf[_0x50c4d2(0x208)]});}}),this['app'][_0x5013a9(0x287)](_0x5013a9(0x22e),async(_0x158657,_0x1f8597)=>{const _0x5cfaf9=_0x5013a9;try{const {agentId:_0x3e3bec}=_0x158657[_0x5cfaf9(0x1fa)],_0x19a073=this['orchestrator'][_0x5cfaf9(0x20a)]['project']?.[_0x5cfaf9(0x223)]||process['cwd'](),_0x5057f4=await this['orchestrator']['stateManager'][_0x5cfaf9(0x28a)](_0x3e3bec,_0x19a073);_0x1f8597[_0x5cfaf9(0x2bb)]({'success':!![],'metadata':_0x5057f4});}catch(_0x5f1526){this['logger']['error']('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x158657['params']['agentId'],'error':_0x5f1526['message']}),_0x1f8597['status'](0x194)[_0x5cfaf9(0x2bb)]({'success':![],'error':_0x5f1526['message']});}}),this['app']['post']('/api/agents/import',async(_0x55f673,_0x5c4a5e)=>{const _0x22384c=_0x5013a9;try{const {agentId:_0x355cfe}=_0x55f673[_0x22384c(0x2f0)];if(!_0x355cfe)return _0x5c4a5e['status'](0x190)['json']({'success':![],'error':_0x22384c(0x281)});const _0x1bd700=this[_0x22384c(0x255)]['config']['project']?.['directory']||process[_0x22384c(0x2f7)](),_0x582fde=await this['orchestrator'][_0x22384c(0x26a)][_0x22384c(0x261)](_0x355cfe,_0x1bd700,this['orchestrator']['agentPool']);this[_0x22384c(0x24b)]&&this['wsManager'][_0x22384c(0x2cb)]({'type':'agent-imported','agent':{'id':_0x582fde['id'],'name':_0x582fde[_0x22384c(0x234)],'status':_0x582fde['status'],'capabilities':_0x582fde[_0x22384c(0x259)],'model':_0x582fde[_0x22384c(0x265)]||_0x582fde['preferredModel']}}),this['logger'][_0x22384c(0x212)]('Agent imported successfully',{'agentId':_0x582fde['id'],'name':_0x582fde['name']}),_0x5c4a5e[_0x22384c(0x2bb)]({'success':!![],'agent':{'id':_0x582fde['id'],'name':_0x582fde['name'],'status':_0x582fde[_0x22384c(0x2a1)],'model':_0x582fde[_0x22384c(0x265)]||_0x582fde['preferredModel'],'capabilities':_0x582fde['capabilities'],'lastActivity':_0x582fde[_0x22384c(0x21d)]},'message':'Agent\x20'+_0x582fde[_0x22384c(0x234)]+_0x22384c(0x1f7)});}catch(_0x41273d){this[_0x22384c(0x1f3)][_0x22384c(0x2f4)]('Failed to import agent',{'agentId':_0x55f673[_0x22384c(0x2f0)][_0x22384c(0x241)],'error':_0x41273d[_0x22384c(0x208)],'stack':_0x41273d[_0x22384c(0x21c)]});const _0x515e44=_0x41273d[_0x22384c(0x208)]['includes']('already\x20active')?0x199:_0x41273d['message'][_0x22384c(0x244)](_0x22384c(0x299))?0x194:_0x41273d['message']['includes'](_0x22384c(0x2e0))?0x190:0x1f4;_0x5c4a5e['status'](_0x515e44)['json']({'success':![],'error':_0x41273d['message']});}}),this['app'][_0x5013a9(0x287)]('*',(_0x54fb00,_0x4cd7d6)=>{const _0xa1fb48=a0_0x1da70c['join'](__dirname,'../../web-ui/build/index.html');_0x4cd7d6['sendFile'](_0xa1fb48,_0x54e7cf=>{const _0x3c9ab0=a0_0xb63e;_0x54e7cf&&_0x4cd7d6['status'](HTTP_STATUS[_0x3c9ab0(0x2cc)])[_0x3c9ab0(0x2a4)]('Web\x20UI\x20not\x20built.\x20Run:\x20npm\x20run\x20build:ui');});});}['setupWebSocket'](){const _0x31efc5=a0_0x23d407;this[_0x31efc5(0x1f3)][_0x31efc5(0x212)](_0x31efc5(0x2a2),{'port':this[_0x31efc5(0x2ab)],'host':this[_0x31efc5(0x240)],'wsServerExists':!!this['wss'],'httpServerExists':!!this[_0x31efc5(0x2ec)]}),this[_0x31efc5(0x286)]['on']('error',_0x44a171=>{const _0x438a04=_0x31efc5;this[_0x438a04(0x1f3)][_0x438a04(0x2f4)]('WebSocket\x20server\x20error:',{'error':_0x44a171[_0x438a04(0x208)],'stack':_0x44a171[_0x438a04(0x21c)],'port':this[_0x438a04(0x2ab)]});}),this['wss']['on'](_0x31efc5(0x291),()=>{const _0x3cd6b2=_0x31efc5;this['logger']['info']('WebSocket\x20server\x20is\x20now\x20listening',{'port':this['port'],'host':this[_0x3cd6b2(0x240)]});}),this[_0x31efc5(0x286)]['on']('connection',(_0x2bda64,_0x571597)=>{const _0x1e2b9e=_0x31efc5,_0x266a74='conn-'+Date[_0x1e2b9e(0x297)]()+'-'+Math['random']()['toString'](0x24)[_0x1e2b9e(0x2ac)](0x2,0x9);this[_0x1e2b9e(0x1f3)]['info'](_0x1e2b9e(0x2f5),{'connectionId':_0x266a74,'ip':_0x571597['socket']['remoteAddress'],'origin':_0x571597['headers']['origin'],'host':_0x571597[_0x1e2b9e(0x2c2)]['host'],'userAgent':_0x571597[_0x1e2b9e(0x2c2)]['user-agent'],'url':_0x571597[_0x1e2b9e(0x22b)]});const _0x5633cc={'id':_0x266a74,'ws':_0x2bda64,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this[_0x1e2b9e(0x27e)][_0x1e2b9e(0x231)](_0x266a74,_0x5633cc),_0x2bda64['on'](_0x1e2b9e(0x208),async _0x3cc7e1=>{const _0x1b314b=_0x1e2b9e;try{const _0x29adbd=JSON['parse'](_0x3cc7e1[_0x1b314b(0x2f3)]());await this[_0x1b314b(0x2cf)](_0x266a74,_0x29adbd);}catch(_0x1c799f){this[_0x1b314b(0x1f3)][_0x1b314b(0x2f4)]('WebSocket\x20message\x20error',{'connectionId':_0x266a74,'error':_0x1c799f['message']}),_0x2bda64['send'](JSON[_0x1b314b(0x216)]({'type':_0x1b314b(0x2f4),'error':_0x1c799f['message']}));}}),_0x2bda64['on']('close',()=>{const _0x48fae3=_0x1e2b9e;this[_0x48fae3(0x1f3)]['info']('WebSocket\x20connection\x20closed',{'connectionId':_0x266a74}),this['connections']['delete'](_0x266a74);}),_0x2bda64[_0x1e2b9e(0x2a4)](JSON[_0x1e2b9e(0x216)]({'type':_0x1e2b9e(0x2eb),'connectionId':_0x266a74,'timestamp':new Date()[_0x1e2b9e(0x277)]()}));});}async['handleWebSocketMessage'](_0x1520ae,_0x5bee29){const _0x3cae16=a0_0x23d407,_0x522758=this['connections'][_0x3cae16(0x287)](_0x1520ae);if(!_0x522758)return;_0x522758[_0x3cae16(0x21d)]=new Date()[_0x3cae16(0x277)]();switch(_0x5bee29[_0x3cae16(0x1fe)]){case _0x3cae16(0x2f6):const _0x3d71f5=_0x5bee29['sessionId'];_0x522758['sessionId']=_0x3d71f5,this[_0x3cae16(0x1f3)]['info'](_0x3cae16(0x2e3),{'connectionId':_0x1520ae,'sessionId':_0x3d71f5,'totalConnectionsForSession':Array['from'](this[_0x3cae16(0x27e)][_0x3cae16(0x27d)]())['filter'](_0x1c7543=>_0x1c7543['sessionId']===_0x3d71f5)['length']}),_0x522758['ws']['send'](JSON['stringify']({'type':'session_joined','sessionId':_0x3d71f5}));break;case _0x3cae16(0x24d):_0x522758['ws']['send'](JSON[_0x3cae16(0x216)]({'type':_0x3cae16(0x2e1),'timestamp':new Date()[_0x3cae16(0x277)]()}));break;case'orchestrator_request':try{const _0x5904c4={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x522758['sessionId'],'action':_0x5bee29[_0x3cae16(0x1ff)],'payload':_0x5bee29[_0x3cae16(0x284)],'projectDir':_0x5bee29[_0x3cae16(0x29c)]||process['cwd']()},_0x31fa3b=await this[_0x3cae16(0x255)]['processRequest'](_0x5904c4);_0x522758['ws']['send'](JSON['stringify']({'type':_0x3cae16(0x238),'requestId':_0x5bee29[_0x3cae16(0x235)],'response':_0x31fa3b}));}catch(_0x511f21){_0x522758['ws']['send'](JSON[_0x3cae16(0x216)]({'type':'error','requestId':_0x5bee29[_0x3cae16(0x235)],'error':_0x511f21['message']}));}break;default:this[_0x3cae16(0x1f3)]['warn']('Unknown\x20WebSocket\x20message\x20type',{'connectionId':_0x1520ae,'type':_0x5bee29['type']});}}['broadcastToSession'](_0x3ff109,_0x28b95c){const _0x3c8bb9=a0_0x23d407,_0x277708=Array['from'](this[_0x3c8bb9(0x27e)][_0x3c8bb9(0x27d)]())['filter'](_0x2041a2=>_0x2041a2[_0x3c8bb9(0x1fc)]===_0x3ff109);let _0x19529b=[];_0x277708['length']===0x0&&(_0x19529b=Array[_0x3c8bb9(0x2d6)](this['connections']['values']()),this[_0x3c8bb9(0x1f3)]?.[_0x3c8bb9(0x2f2)]('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x3ff109,'totalConnections':this[_0x3c8bb9(0x27e)][_0x3c8bb9(0x20d)],'allSessionIds':Array[_0x3c8bb9(0x2d6)](this[_0x3c8bb9(0x27e)][_0x3c8bb9(0x27d)]())['map'](_0x59e2c1=>_0x59e2c1['sessionId'])['filter'](Boolean)}));const _0x1ceda7=_0x277708[_0x3c8bb9(0x1f9)]>0x0?_0x277708:_0x19529b;this['logger']?.[_0x3c8bb9(0x212)]('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x3ff109,'messageType':_0x28b95c['type'],'agentId':_0x28b95c['agentId'],'totalConnections':this['connections'][_0x3c8bb9(0x20d)],'sessionConnections':_0x277708['length'],'targetConnections':_0x1ceda7[_0x3c8bb9(0x1f9)],'connectionIds':_0x1ceda7[_0x3c8bb9(0x2a7)](_0x103d5e=>_0x103d5e['id']),'usingFallback':_0x277708['length']===0x0,'messagePreview':_0x28b95c[_0x3c8bb9(0x1fe)]==='autonomous_update'&&_0x28b95c[_0x3c8bb9(0x208)]?{'messageId':_0x28b95c['message']['id'],'messageRole':_0x28b95c['message'][_0x3c8bb9(0x256)],'contentLength':_0x28b95c[_0x3c8bb9(0x208)]['content']?.['length'],'hasToolResults':!!_0x28b95c[_0x3c8bb9(0x208)]['toolResults']}:undefined});for(const _0x906ace of _0x1ceda7){try{const _0x24e11e={..._0x28b95c,'timestamp':new Date()[_0x3c8bb9(0x277)]()};_0x906ace['ws'][_0x3c8bb9(0x2a4)](JSON['stringify'](_0x24e11e)),this['logger']?.['info'](_0x3c8bb9(0x22c),{'connectionId':_0x906ace['id'],'messageType':_0x28b95c[_0x3c8bb9(0x1fe)],'agentId':_0x28b95c['agentId']});}catch(_0x5aa778){this[_0x3c8bb9(0x1f3)][_0x3c8bb9(0x2f2)]('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x906ace['id'],'sessionId':_0x3ff109,'messageType':_0x28b95c['type'],'error':_0x5aa778[_0x3c8bb9(0x208)]});}}}async['startServer'](){return new Promise((_0x5b3ed5,_0x5cb00a)=>{const _0xa7897a=a0_0xb63e;this['server'][_0xa7897a(0x26b)](this['port'],this['host'],_0x23ee9e=>{const _0x696a07=_0xa7897a;_0x23ee9e?(this[_0x696a07(0x1f3)]['error'](_0x696a07(0x2e6),{'error':_0x23ee9e['message'],'port':this['port'],'host':this['host']}),_0x5cb00a(_0x23ee9e)):(this['isRunning']=!![],this['logger']['info']('HTTP\x20server\x20started\x20successfully',{'port':this['port'],'host':this[_0x696a07(0x240)],'httpUrl':_0x696a07(0x224)+this['host']+':'+this[_0x696a07(0x2ab)],'wsUrl':_0x696a07(0x2c0)+this[_0x696a07(0x240)]+':'+this[_0x696a07(0x2ab)],'wsServerAttached':!!this[_0x696a07(0x286)],'wsConnections':this[_0x696a07(0x27e)]['size']}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x5b3ed5());}),this['server']['on']('error',_0x4c3d78=>{const _0x350873=_0xa7897a;this[_0x350873(0x1f3)][_0x350873(0x2f4)]('HTTP\x20server\x20error:',{'error':_0x4c3d78[_0x350873(0x208)],'stack':_0x4c3d78['stack'],'port':this[_0x350873(0x2ab)]});});});}async['testWebSocketServer'](){const _0x495509=a0_0x23d407;try{const {default:_0xf46c27}=await import('ws'),_0x5409ee=new _0xf46c27('ws://localhost:'+this[_0x495509(0x2ab)]);_0x5409ee['on']('open',()=>{const _0x32c50d=_0x495509;this[_0x32c50d(0x1f3)][_0x32c50d(0x212)](_0x32c50d(0x2a3),{'port':this[_0x32c50d(0x2ab)],'url':_0x32c50d(0x219)+this[_0x32c50d(0x2ab)]}),_0x5409ee['close']();}),_0x5409ee['on']('error',_0x738560=>{const _0x3db52d=_0x495509;this['logger']['error']('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this[_0x3db52d(0x2ab)],'url':'ws://localhost:'+this[_0x3db52d(0x2ab)],'error':_0x738560['message'],'code':_0x738560['code']});}),_0x5409ee['on'](_0x495509(0x23f),(_0x110448,_0xadf995)=>{_0x110448===0x3e8&&this['logger']['info']('WebSocket\x20test\x20connection\x20closed\x20cleanly');}),setTimeout(()=>{const _0x3319e1=_0x495509;_0x5409ee['readyState']===_0xf46c27[_0x3319e1(0x2b4)]&&(this['logger'][_0x3319e1(0x2f4)]('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this[_0x3319e1(0x2ab)],'url':'ws://localhost:'+this['port'],'readyState':_0x5409ee['readyState']}),_0x5409ee[_0x3319e1(0x2d2)]());},0x1388);}catch(_0x4a8c9a){this[_0x495509(0x1f3)]['error'](_0x495509(0x1fd),{'error':_0x4a8c9a[_0x495509(0x208)],'stack':_0x4a8c9a[_0x495509(0x21c)]});}}['setApiKeyManager'](_0x3dfb9b){const _0x59b666=a0_0x23d407;this[_0x59b666(0x23d)]=_0x3dfb9b,this['logger']?.[_0x59b666(0x212)]('API\x20key\x20manager\x20set\x20for\x20web\x20server',{'hasManager':!!_0x3dfb9b});}['_getVendorFromModel'](_0xacf4aa){const _0x3c3beb=a0_0x23d407;if(!_0xacf4aa)return null;const _0xff3f8c=_0xacf4aa[_0x3c3beb(0x205)]();if(_0xff3f8c['includes']('anthropic')||_0xff3f8c['includes']('claude'))return'anthropic';else{if(_0xff3f8c[_0x3c3beb(0x244)](_0x3c3beb(0x2bd))||_0xff3f8c[_0x3c3beb(0x244)](_0x3c3beb(0x23e)))return _0x3c3beb(0x2bd);else{if(_0xff3f8c[_0x3c3beb(0x244)]('deepseek'))return _0x3c3beb(0x24f);else{if(_0xff3f8c['includes'](_0x3c3beb(0x204)))return _0x3c3beb(0x26d);}}}return null;}[a0_0x23d407(0x29a)](){const _0x16b601=a0_0x23d407;return{'isRunning':this['isRunning'],'port':this['port'],'host':this['host'],'connections':this['connections'][_0x16b601(0x20d)],'sessions':this[_0x16b601(0x2b9)]['size'],'url':'http://'+this['host']+':'+this[_0x16b601(0x2ab)]};}async['shutdown'](){const _0xfdf6b4=a0_0x23d407;if(!this['isRunning'])return;this[_0xfdf6b4(0x1f3)]['info'](_0xfdf6b4(0x279));for(const _0x492e78 of this[_0xfdf6b4(0x27e)][_0xfdf6b4(0x27d)]()){_0x492e78['ws'][_0xfdf6b4(0x23f)]();}return this[_0xfdf6b4(0x27e)][_0xfdf6b4(0x2ff)](),this[_0xfdf6b4(0x286)]['close'](),new Promise(_0x11540c=>{this['server']['close'](()=>{const _0x59dff1=a0_0xb63e;this['isRunning']=![],this['logger']['info'](_0x59dff1(0x211)),_0x11540c();});});}}export default WebServer;if(import.meta.url==='file://'+process['argv'][0x1]){const simpleLogger={'info':(_0x1f1254,_0x180845)=>console[a0_0x23d407(0x2bc)]('[INFO]\x20'+_0x1f1254,_0x180845?JSON['stringify'](_0x180845,null,0x2):''),'error':(_0x3cbe38,_0x1627ca)=>console[a0_0x23d407(0x2f4)](a0_0x23d407(0x25c)+_0x3cbe38,_0x1627ca?JSON[a0_0x23d407(0x216)](_0x1627ca,null,0x2):''),'warn':(_0x10e642,_0x53ac84)=>console['warn'](a0_0x23d407(0x246)+_0x10e642,_0x53ac84?JSON[a0_0x23d407(0x216)](_0x53ac84,null,0x2):''),'debug':(_0x1a13c0,_0x5f5823)=>console['log']('[DEBUG]\x20'+_0x1a13c0,_0x5f5823?JSON['stringify'](_0x5f5823,null,0x2):'')},mockOrchestrator={'processAction':async(_0x3858d7,_0x57dd8e)=>{const _0x369eee=a0_0x23d407;simpleLogger[_0x369eee(0x212)](_0x369eee(0x254),{'action':_0x3858d7,'data':_0x57dd8e});switch(_0x3858d7){case ORCHESTRATOR_ACTIONS[_0x369eee(0x267)]:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x369eee(0x2ad)]:return{'success':!![],'data':{'id':_0x369eee(0x294)+Date['now'](),'name':_0x57dd8e['name']||'New\x20Agent','status':_0x369eee(0x25b),'model':_0x57dd8e['model']||_0x369eee(0x2b0),'systemPrompt':_0x57dd8e['systemPrompt']||_0x369eee(0x285)}};case ORCHESTRATOR_ACTIONS[_0x369eee(0x251)]:return{'success':!![],'data':{'message':{'id':'msg-'+Date[_0x369eee(0x297)](),'content':'Echo:\x20'+_0x57dd8e['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':'Unknown\x20action:\x20'+_0x3858d7};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console[a0_0x23d407(0x2bc)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server['startServer']()[a0_0x23d407(0x1f4)](()=>{const _0x2a9cdc=a0_0x23d407,_0x59864b=server['getStatus']();console['log'](_0x2a9cdc(0x25d)+_0x59864b[_0x2a9cdc(0x22b)]),console['log']('📱\x20Web\x20UI\x20available\x20at:\x20http://localhost:3001\x20(if\x20running)'),console[_0x2a9cdc(0x2bc)](_0x2a9cdc(0x2b5));})[a0_0x23d407(0x2fc)](_0x479130=>{const _0x2922b7=a0_0x23d407;console['error'](_0x2922b7(0x2f1),_0x479130[_0x2922b7(0x208)]),process[_0x2922b7(0x280)](0x1);}),process['on']('SIGINT',async()=>{const _0x792b75=a0_0x23d407;console[_0x792b75(0x2bc)](_0x792b75(0x2af)),await server[_0x792b75(0x2c4)](),process['exit'](0x0);});}
1
+ const a0_0x5cb154=a0_0xbf7e;(function(_0x43582c,_0x3af3cf){const _0x5363f9=a0_0xbf7e,_0xefe4f0=_0x43582c();while(!![]){try{const _0x22ebdf=parseInt(_0x5363f9(0x136))/0x1*(-parseInt(_0x5363f9(0x133))/0x2)+-parseInt(_0x5363f9(0x183))/0x3*(-parseInt(_0x5363f9(0x19a))/0x4)+parseInt(_0x5363f9(0x11c))/0x5*(parseInt(_0x5363f9(0x1b3))/0x6)+-parseInt(_0x5363f9(0x193))/0x7+-parseInt(_0x5363f9(0x1d6))/0x8+-parseInt(_0x5363f9(0x13a))/0x9+parseInt(_0x5363f9(0x1c0))/0xa;if(_0x22ebdf===_0x3af3cf)break;else _0xefe4f0['push'](_0xefe4f0['shift']());}catch(_0x241844){_0xefe4f0['push'](_0xefe4f0['shift']());}}}(a0_0x25f4,0x34141));import a0_0x591359 from'express';import{createServer}from'http';function a0_0xbf7e(_0x2ee8d9,_0x175ddf){_0x2ee8d9=_0x2ee8d9-0x112;const _0x25f498=a0_0x25f4();let _0xbf7e5b=_0x25f498[_0x2ee8d9];if(a0_0xbf7e['WWZrcx']===undefined){var _0x5ea7ad=function(_0x41255b){const _0x332bd5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x591359='',_0x5498db='';for(let _0x5e09b0=0x0,_0x2485aa,_0x4a1ed9,_0x2ec639=0x0;_0x4a1ed9=_0x41255b['charAt'](_0x2ec639++);~_0x4a1ed9&&(_0x2485aa=_0x5e09b0%0x4?_0x2485aa*0x40+_0x4a1ed9:_0x4a1ed9,_0x5e09b0++%0x4)?_0x591359+=String['fromCharCode'](0xff&_0x2485aa>>(-0x2*_0x5e09b0&0x6)):0x0){_0x4a1ed9=_0x332bd5['indexOf'](_0x4a1ed9);}for(let _0x1888d1=0x0,_0x42cfe2=_0x591359['length'];_0x1888d1<_0x42cfe2;_0x1888d1++){_0x5498db+='%'+('00'+_0x591359['charCodeAt'](_0x1888d1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5498db);};a0_0xbf7e['DRfzGx']=_0x5ea7ad,a0_0xbf7e['jPYoeK']={},a0_0xbf7e['WWZrcx']=!![];}const _0x2aa1e8=_0x25f498[0x0],_0x2e78ec=_0x2ee8d9+_0x2aa1e8,_0x43e512=a0_0xbf7e['jPYoeK'][_0x2e78ec];return!_0x43e512?(_0xbf7e5b=a0_0xbf7e['DRfzGx'](_0xbf7e5b),a0_0xbf7e['jPYoeK'][_0x2e78ec]=_0xbf7e5b):_0xbf7e5b=_0x43e512,_0xbf7e5b;}import{WebSocketServer}from'ws';import a0_0x5498db from'path';function a0_0x25f4(){const _0x50a025=['AxneAxjLy3rVCNK','Cg9UzW','rwnOBZOG','ChjLzMvYCMvKtw9KzwW','qxr0ywnOBwvUDcbHy3rPDMuGC3rHDhvZihrVz2DSzwq','C3rHDhvZvgv4Da','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','C2vZC2LVBKLK','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','v2vIihnLCNzLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq','Aw5MBW','v2vIu29JA2v0igPVAw5LzcbZzxnZAw9U','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','yxbPs2v5twfUywDLCG','l2fWAs9SBg0Vy2HHDa','mtvpwfDevwe','BxrPBwu','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','yM9KEq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJO','C2vZC2LVBKLe','CMvHzhLtDgf0zq','DMvYC2LVBG','qKfex1jfuvvfu1q','ywDLBNrqB29S','yxbW','Ahr0CdOVlW','zgvLChnLzwS','D3nnyw5Hz2vY','yxbPs2v5','qwnJzxnZlunVBNrYB2WTqwXSB3CTt3jPz2LU','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','ywn0AxzL','AgvHzgvYC1nLBNq','Dg9tDhjPBMC','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','C2v0DxbsB3v0zxm','nhbIr0LzuG','w0LorK9Dia','zgLYzwn0B3j5','mtC5mZiXELDcEKTs','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','yxrPBwu','AxnsDw5UAw5N','mJi4ote2ogH0qMXfsq','C3rHDa','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','qxr0ywnOBwvUDcbUB3qGzM91BMq','Cgf5Bg9Hza','zxjYB3i','z2v0qxr0ywnOBwvUDa','DxbKyxrLx2fNzw50','ywXYzwfKEsbHy3rPDMu','CMvSyxrPDMu','qwnJzxnZlunVBNrYB2WTqwXSB3CTtwv0Ag9KCW','su5urvjoquXFu0vsvKvsx0vsuK9s','l2fWAs9LEhbSB3jLCI9PBMzV','l2fWAs9Hz2vUDhmVoMfNzw50swqVy2XLyxi','C2v0','vw5RBM93BIbHy3rPB246ia','zMLSzw5HBwu','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','y2fWywjPBgL0AwvZ','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','Bw9KzwXZu2vYDMLJzq','Cg9ZDa','yNjVywrJyxn0vg9tzxnZAw9U','tw9KzwXZihjLzNjLC2HLzcb3AxrOig5LDYbbueKGA2v5','CgHP','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50CW','rMfPBgvKihrVignVBM5Ly3qGDg8GquKGC2vYDMLJzq','t3jJAgvZDhjHDg9YiefqssbLCNjVCG','y2XLyxi','AxrLCMf0Aw9Uq291BNq','z2v0','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','CMvZB2X2zq','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','te9ysufFqvbjx0Tfwq','Bw9Kzvn0yxrL','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9TB2rLBhm','D3nZ','D3m6lY9SB2nHBgHVC3q6','ywXS','ChjVAMvJDerPCG','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','qxP1CMuGyMfJA2vUzcbLCNjVCJOG','BgvUz3rO','D2fYBG','C2vYDMvY','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','CgfYC2u','DhLWzq','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','q09otKvdveLorW','mc4WlJaUma','C3rHDgvnyw5Hz2vY','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3rVz2DSzq','ue9tva','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','y2f0y2G','ChjVAMvJDa','y3DK','B3jPz2LU','z2v0qxr0ywnOBwvUDhm','yMfZzw5HBwu','yNjVywrJyxn0','rMfPBgvKihrVigDLDcbbueKGA2v5ihn0yxr1CW','zgLYzwn0B3j5qwnJzxnZ','zMLSzq','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','DgvZDfDLyLnVy2TLDfnLCNzLCG','yw50AhjVCgLJ','BwfW','DxnLCI1Hz2vUDa','B3jJAgvZDhjHDg9Y','m2jItMTRBW','zxHPDa','tK9ux0zpvu5e','rMfPBgvKihrVihn0B3aGyxv0B25VBw91CYbLEgvJDxrPB24','y29UBMvJDgLVBG','zMLSzuv4CgXVCMvYtw9KDwXL','Bw9Kzq','v2vIu29JA2v0ignVBM5Ly3rPB24Gy2XVC2vK','CMvTB3rLqwrKCMvZCW','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','rMfPBgvKihrVihnLCNzLigLTywDL','Bg9N','B3bLBG','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','CMfUzg9T','ywDLBNrjza','mJqWode4ovrJDMrQBa','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','zMLSDgvY','Aw5JBhvKzxm','w1DbuK5Dia','C2H1DgrVD24','yxv0B25VBw91C191CgrHDgu','mte1odqXmNLlA2HAvG','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','v2vIihnLCNzLCIbPBML0AwfSAxPLza','y3vYCMvUDe1VzgvS','Dgv4Da','l2fWAs9MAwXLCY91CgXVywq','l2fWAs9RzxLZlZPZzxnZAw9Uswq','AgvHzgvY','CMvX','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','AgvHzgvYCW','C2L6zq','vxnLCI1bz2vUDa','C3rHDhvZ','qxr0ywnOBwvUDcbKzwXLDgvK','D2vIlq','sw52ywXPzcbMAwXLBMfTzq','r0vu','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','C3rHy2S','Ag9ZDa','C2v0qxbPs2v5twfUywDLCG','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','y29UBMvJDgLVBNm','nJmYnty4ruDgEuDA','sw1Hz2uGBM90igzVDw5K','AM9PBG','l2fWAs9MAwXLCW','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','x2DLDfzLBMrVCKzYB21nB2rLBa','CM9Szq','DMfSDwvZ','Bg9JywXLq29TCgfYzq','yxbWBgLJyxrPB24VANnVBG','DxbKyxrLqxr0ywnOBwvUDa','C2v0DxbnAwrKBgv3yxjL','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','nty1mtq0mg9uDu1jBa','z2v0x2fNzw50x3n0yxr1CW','C3vIC3rYAw5N','l2fWAs90B29SCW','z2v0u3rHDhvZ','l2fWAs9ZzxnZAw9UCW','C2vZC2LVBNm','l2fWAs9Hz2vUDhmVyxzHAwXHyMXL','qwDLBNqGBM90igzVDw5K','DxnL','Cgf0y2G','ChjVy2vZC1jLCxvLC3q','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','BwvZC2fNzq','Dg9ju09tDhjPBMC','CgfYyw1Z','ywDLBNq','DMvUzg9YqxbPs2v5','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','DxjS','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','l2fWAs9VCMnOzxn0CMf0B3i','ntu3nLDNrfjutW','Bg9Nz2vY','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50','u0vorf9nrvntquDf','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','BgLZDgvUAw5N','C3rHCNrZv2L0Aa','yxv0Ag9YAxPHDgLVBG','C3rHDgLJ','z2v0qwn0AxzLu2vZC2LVBNm','mtbTyG','C2vUza','BM9YBwfSAxPL','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','zMLSzuLK','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','l2fWAs9RzxLZ','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','C29JA2v0','AxnmB2fKzwq','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','y2XVC2u','y29UzMLN','C2vUzezPBgu','Bw9KzwW','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','Bg9JywXOB3n0','C2v0DxbxzwjtB2nRzxq','ywn0Aw9U','l2fWAs9Hz2vUDhmVoMfNzw50swqVywn0AxzPDhK','AgvHBhrOEq','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','y29UDgvUDa','y2XLyxjdB252zxjZyxrPB24','rMfPBgvKihrVihn0yxj0ieHuvfaGC2vYDMvY','CgH5C2LJywXSEurLBgv0zwq','z3b0','v0vc','C3rHCNrtzxj2zxi','rK9sqKLerevo','y29Kzq','B3bLBMfP','qwDLBNqGBw9Kzsb1CgrHDguGCMvXDwvZDgvKihDPDgHVDxqGC2vZC2LVBIbjra','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','lI4VlI4VD2vIlxvPl2j1AwXK','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','y2XHDwrL','z2v0qxr0ywnOBwvUDfbYzxzPzxC','C3rYAw5NAwz5','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3bYzxzPzxC','CxvLCNK','DxbKyxrLzef0','ANnVBG','zgvSzxrL','sw1Hz2uGC2vYDMLUzYbLCNjVCG','BM93','Cg9YDa','CMvHzgrPCG','BMfTzq','D29YA2LUz0rPCMvJDg9YEq'];a0_0x25f4=function(){return _0x50a025;};return a0_0x25f4();}import{promises as a0_0x5e09b0}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';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x5498db['dirname'](__filename);class WebServer{constructor(_0x2485aa,_0x4a1ed9,_0x2ec639={}){const _0x3f1540=a0_0xbf7e;this[_0x3f1540(0x182)]=_0x2485aa,this['logger']=_0x4a1ed9,this['config']=_0x2ec639,this[_0x3f1540(0x210)]=_0x2ec639['port']||0x1f90,this[_0x3f1540(0x1af)]=_0x2ec639[_0x3f1540(0x1af)]||_0x3f1540(0x1f1),this['app']=a0_0x591359(),this['server']=createServer(this[_0x3f1540(0x126)]),this['wss']=new WebSocketServer({'server':this['server'],'verifyClient':_0x1888d1=>{const _0x464b5b=_0x3f1540;return this[_0x464b5b(0x1d7)]?.[_0x464b5b(0x117)]('WebSocket\x20connection\x20attempt',{'origin':_0x1888d1[_0x464b5b(0x176)],'host':_0x1888d1[_0x464b5b(0x1a2)][_0x464b5b(0x1a4)]['host'],'userAgent':_0x1888d1[_0x464b5b(0x1a2)]['headers'][_0x464b5b(0x181)],'url':_0x1888d1['req'][_0x464b5b(0x1d3)]}),!![];}}),this['connections']=new Map(),this['sessions']=new Map(),this[_0x3f1540(0x11a)]=null,this['isRunning']=![];}async['initialize'](){const _0x29a7bb=a0_0xbf7e;try{this['setupMiddleware'](),this['setupRoutes'](),this[_0x29a7bb(0x1f2)](),await this['startServer'](),this['logger'][_0x29a7bb(0x117)](_0x29a7bb(0x19c),{'port':this[_0x29a7bb(0x210)],'host':this[_0x29a7bb(0x1af)],'url':'http://'+this[_0x29a7bb(0x1af)]+':'+this[_0x29a7bb(0x210)]});}catch(_0x42cfe2){this[_0x29a7bb(0x1d7)]['error'](_0x29a7bb(0x116),{'error':_0x42cfe2['message'],'stack':_0x42cfe2['stack']});throw _0x42cfe2;}}[a0_0x5cb154(0x1be)](){const _0x90ba1e=a0_0x5cb154;this['app'][_0x90ba1e(0x1c9)]((_0x3fc89f,_0x4584b6,_0x12ae99)=>{const _0x11d6e1=_0x90ba1e;_0x4584b6[_0x11d6e1(0x1a1)](_0x11d6e1(0x12b),'*'),_0x4584b6[_0x11d6e1(0x1a1)](_0x11d6e1(0x144),'GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0x4584b6['header'](_0x11d6e1(0x14d),'Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x3fc89f['method']==='OPTIONS'?_0x4584b6['sendStatus'](HTTP_STATUS['OK']):_0x12ae99();}),this['app']['use'](a0_0x591359['json']({'limit':_0x90ba1e(0x1e0)})),this[_0x90ba1e(0x126)]['use'](a0_0x591359['urlencoded']({'extended':!![],'limit':'10mb'})),this[_0x90ba1e(0x188)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this[_0x90ba1e(0x126)]['use']('/api/file-explorer',this['fileExplorerModule']['router']);const _0x3cf85d=a0_0x5498db['join'](__dirname,_0x90ba1e(0x203));this['app'][_0x90ba1e(0x1c9)](a0_0x591359[_0x90ba1e(0x1de)](_0x3cf85d)),this['app'][_0x90ba1e(0x1c9)]((_0x3f8810,_0x31b905,_0x5d6f8f)=>{const _0x1b4ad7=_0x90ba1e;this['logger']['debug'](_0x3f8810['method']+'\x20'+_0x3f8810['path'],{'ip':_0x3f8810['ip'],'userAgent':_0x3f8810[_0x1b4ad7(0x158)](_0x1b4ad7(0x1a6))}),_0x5d6f8f();});}[a0_0x5cb154(0x132)](){const _0x9ed72d=a0_0x5cb154;this['app'][_0x9ed72d(0x158)]('/api/health',async(_0x5b24d2,_0x3d4e19)=>{const _0x278cb9=_0x9ed72d;try{const _0x3210a8=a0_0x5498db['join'](__dirname,'../../package.json'),_0x4f79a2=JSON[_0x278cb9(0x169)](await a0_0x5e09b0['readFile'](_0x3210a8,'utf8'));_0x3d4e19[_0x278cb9(0x20c)]({'status':_0x278cb9(0x1f5),'version':_0x4f79a2[_0x278cb9(0x123)]||'1.0.0','timestamp':new Date()['toISOString']()});}catch(_0x56745f){_0x3d4e19[_0x278cb9(0x20c)]({'status':'healthy','version':'1.0.0','timestamp':new Date()[_0x278cb9(0x1ce)]()});}}),this['app'][_0x9ed72d(0x14f)](_0x9ed72d(0x1c5),async(_0x592c50,_0x35c883)=>{const _0x3d1b6e=_0x9ed72d;try{const _0x5e8e5e=_0x3d1b6e(0x1a9)+Date['now']()+'-'+Math[_0x3d1b6e(0x191)]()['toString'](0x24)['substr'](0x2,0x9),_0x278634=_0x592c50[_0x3d1b6e(0x11f)][_0x3d1b6e(0x162)]||process[_0x3d1b6e(0x175)](),_0x5232e={'id':_0x5e8e5e,'projectDir':_0x278634,'createdAt':new Date()[_0x3d1b6e(0x1ce)](),'lastActivity':new Date()[_0x3d1b6e(0x1ce)]()};this[_0x3d1b6e(0x1c6)][_0x3d1b6e(0x148)](_0x5e8e5e,_0x5232e),_0x35c883['json']({'success':!![],'session':_0x5232e});}catch(_0x24a61c){_0x35c883['status'](HTTP_STATUS[_0x3d1b6e(0x145)])[_0x3d1b6e(0x20c)]({'success':![],'error':_0x24a61c[_0x3d1b6e(0x1cd)]});}}),this[_0x9ed72d(0x126)]['post'](_0x9ed72d(0x1d5),async(_0x43124f,_0x2175c5)=>{const _0x59fd39=_0x9ed72d;try{const _0x1c131d={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x43124f[_0x59fd39(0x11f)][_0x59fd39(0x112)],'action':_0x43124f[_0x59fd39(0x11f)]['action'],'payload':_0x43124f[_0x59fd39(0x11f)][_0x59fd39(0x13e)],'projectDir':_0x43124f['body']['projectDir']||process['cwd']()},_0x48856f=await this['orchestrator']['processRequest'](_0x1c131d);this[_0x59fd39(0x150)](_0x1c131d['sessionId'],{'type':_0x59fd39(0x190),'action':_0x1c131d['action'],'response':_0x48856f}),_0x2175c5[_0x59fd39(0x20c)](_0x48856f);}catch(_0x1444ba){this[_0x59fd39(0x1d7)]['error'](_0x59fd39(0x155),{'error':_0x1444ba[_0x59fd39(0x1cd)],'body':_0x43124f[_0x59fd39(0x11f)]}),_0x2175c5[_0x59fd39(0x1a7)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x59fd39(0x20c)]({'success':![],'error':_0x1444ba[_0x59fd39(0x1cd)]});}}),this[_0x9ed72d(0x126)]['get'](_0x9ed72d(0x1b6),async(_0x392ad2,_0x16886f)=>{const _0x20dcf1=_0x9ed72d;try{const {path:_0x1027cc,projectDir:_0x5b1eba}=_0x392ad2['query'],_0x1f7bd0=a0_0x5498db['resolve'](_0x5b1eba||process['cwd'](),_0x1027cc||'.'),_0x234b90=await a0_0x5e09b0['stat'](_0x1f7bd0);if(_0x234b90[_0x20dcf1(0x214)]()){const _0x3e941c=await a0_0x5e09b0[_0x20dcf1(0x211)](_0x1f7bd0,{'withFileTypes':!![]}),_0x2f083b=_0x3e941c[_0x20dcf1(0x180)](_0x466899=>({'name':_0x466899['name'],'type':_0x466899[_0x20dcf1(0x214)]()?'directory':_0x20dcf1(0x17c),'path':a0_0x5498db[_0x20dcf1(0x1b5)](_0x1027cc||'.',_0x466899[_0x20dcf1(0x212)])}));_0x16886f['json']({'success':!![],'files':_0x2f083b});}else{const _0x445408=await a0_0x5e09b0['readFile'](_0x1f7bd0,'utf8');_0x16886f[_0x20dcf1(0x20c)]({'success':!![],'content':_0x445408,'type':'file'});}}catch(_0x286f7b){_0x16886f[_0x20dcf1(0x1a7)](HTTP_STATUS[_0x20dcf1(0x185)])['json']({'success':![],'error':_0x286f7b['message']});}}),this['app'][_0x9ed72d(0x14f)](_0x9ed72d(0x19f),async(_0xb406ed,_0x376fc4)=>{try{const {fileName:_0x26957c,content:_0x5e5af7,projectDir:_0x5d5dd1}=_0xb406ed['body'],_0x3ccf5f=_0x5d5dd1||process['cwd'](),_0x4d73ab=a0_0x5498db['resolve'](_0x3ccf5f,_0x26957c);await a0_0x5e09b0['mkdir'](_0x3ccf5f,{'recursive':!![]}),await a0_0x5e09b0['writeFile'](_0x4d73ab,_0x5e5af7,'utf8'),_0x376fc4['json']({'success':!![],'message':'File\x20uploaded\x20successfully','path':_0x4d73ab});}catch(_0x542347){_0x376fc4['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x542347['message']});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x158)]('/api/explorer',async(_0x29a5b0,_0x3a4300)=>{const _0x353aab=_0x9ed72d;try{const {path:_0x377ae6,showHidden:showHidden=![]}=_0x29a5b0['query'],_0x30c344=_0x377ae6||process[_0x353aab(0x175)](),_0xcc7df2=a0_0x5498db[_0x353aab(0x15a)](_0x30c344),_0x3fa19a=a0_0x5498db[_0x353aab(0x1e2)](_0xcc7df2),_0x58e0b2=await a0_0x5e09b0[_0x353aab(0x13b)](_0x3fa19a);if(!_0x58e0b2[_0x353aab(0x214)]())return _0x3a4300[_0x353aab(0x1a7)](HTTP_STATUS[_0x353aab(0x124)])[_0x353aab(0x20c)]({'success':![],'error':_0x353aab(0x1f0)});const _0x224ab3=await a0_0x5e09b0['readdir'](_0x3fa19a,{'withFileTypes':!![]}),_0x40f6e4=await Promise[_0x353aab(0x161)](_0x224ab3['filter'](_0x13e4c7=>showHidden==='true'||!_0x13e4c7['name']['startsWith']('.'))['map'](async _0x43ec3f=>{const _0x2990f0=_0x353aab,_0x478ff1=a0_0x5498db[_0x2990f0(0x1b5)](_0x3fa19a,_0x43ec3f['name']),_0x2a73dd=await a0_0x5e09b0['stat'](_0x478ff1)[_0x2990f0(0x173)](()=>null);return{'name':_0x43ec3f['name'],'type':_0x43ec3f[_0x2990f0(0x214)]()?_0x2990f0(0x135):_0x2990f0(0x17c),'path':_0x478ff1,'relativePath':a0_0x5498db[_0x2990f0(0x143)](process['cwd'](),_0x478ff1),'size':_0x2a73dd?.[_0x2990f0(0x1a5)]||0x0,'modified':_0x2a73dd?.[_0x2990f0(0x11d)]||null,'isHidden':_0x43ec3f['name'][_0x2990f0(0x1dc)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x40f6e4['sort']((_0x2a1b4e,_0x521a3b)=>{const _0x544155=_0x353aab;if(_0x2a1b4e[_0x544155(0x16a)]!==_0x521a3b[_0x544155(0x16a)])return _0x2a1b4e[_0x544155(0x16a)]==='directory'?-0x1:0x1;return _0x2a1b4e[_0x544155(0x212)][_0x544155(0x1bb)](_0x521a3b['name']);});const _0xed2921=a0_0x5498db['dirname'](_0x3fa19a),_0x29da85=_0xed2921!==_0x3fa19a;_0x3a4300['json']({'success':!![],'currentPath':_0x3fa19a,'currentRelativePath':a0_0x5498db['relative'](process['cwd'](),_0x3fa19a),'parentPath':_0x29da85?_0xed2921:null,'items':_0x40f6e4,'totalItems':_0x40f6e4['length'],'directories':_0x40f6e4[_0x353aab(0x195)](_0x43dc36=>_0x43dc36[_0x353aab(0x16a)]===_0x353aab(0x135))[_0x353aab(0x165)],'files':_0x40f6e4[_0x353aab(0x195)](_0x22aa76=>_0x22aa76['type']===_0x353aab(0x17c))['length']});}catch(_0x10a330){_0x3a4300['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x10a330['message'],'code':_0x10a330[_0x353aab(0x1ff)]});}}),this['app']['post']('/api/explorer/mkdir',async(_0x157bc0,_0x2c5b34)=>{const _0x1988b8=_0x9ed72d;try{const {path:_0x3ff83e,name:_0x2ab12a}=_0x157bc0[_0x1988b8(0x11f)],_0x106821=a0_0x5498db['resolve'](_0x3ff83e,_0x2ab12a);await a0_0x5e09b0['mkdir'](_0x106821,{'recursive':![]}),_0x2c5b34[_0x1988b8(0x20c)]({'success':!![],'path':_0x106821,'relativePath':a0_0x5498db['relative'](process['cwd'](),_0x106821)});}catch(_0x24308d){_0x2c5b34['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x1988b8(0x20c)]({'success':![],'error':_0x24308d[_0x1988b8(0x1cd)],'code':_0x24308d['code']});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x158)](_0x9ed72d(0x146),async(_0x273d45,_0xdbd14a)=>{const _0x453d71=_0x9ed72d;try{const {path:_0x54300e}=_0x273d45[_0x453d71(0x20a)],_0x153ff3=a0_0x5498db['resolve'](_0x54300e),_0x3f7e30=await a0_0x5e09b0[_0x453d71(0x13b)](_0x153ff3);_0xdbd14a['json']({'success':!![],'path':_0x153ff3,'relativePath':a0_0x5498db[_0x453d71(0x143)](process['cwd'](),_0x153ff3),'isDirectory':_0x3f7e30[_0x453d71(0x214)](),'isFile':_0x3f7e30['isFile'](),'size':_0x3f7e30['size'],'created':_0x3f7e30['birthtime'],'modified':_0x3f7e30[_0x453d71(0x11d)],'accessed':_0x3f7e30[_0x453d71(0x138)]});}catch(_0x157db6){_0xdbd14a['status'](HTTP_STATUS[_0x453d71(0x145)])[_0x453d71(0x20c)]({'success':![],'error':_0x157db6[_0x453d71(0x1cd)],'code':_0x157db6[_0x453d71(0x1ff)]});}}),this['app'][_0x9ed72d(0x14f)](_0x9ed72d(0x11b),async(_0x19004c,_0x481d76)=>{const _0x59bcb9=_0x9ed72d;try{const {sessionId:_0x25a0ad,model:_0x639100,platformProvided:_0x4a2183}=_0x19004c['body'];if(!_0x25a0ad)return _0x481d76[_0x59bcb9(0x1a7)](0x190)[_0x59bcb9(0x20c)]({'error':_0x59bcb9(0x113)});let _0x30454f=null,_0x2e095d=null;if(this['apiKeyManager']){const _0x3a98ca=this[_0x59bcb9(0x11a)]['getKeysForRequest'](_0x25a0ad,{'platformProvided':_0x4a2183||![],'vendor':this['_getVendorFromModel'](_0x639100)});_0x30454f=_0x3a98ca['loxiaApiKey'],_0x2e095d=_0x3a98ca[_0x59bcb9(0x1d1)];}!_0x30454f&&(_0x30454f=this[_0x59bcb9(0x1ed)]['loxiaApiKey']||process['env'][_0x59bcb9(0x15c)]);!_0x30454f&&_0x19004c[_0x59bcb9(0x11f)]['apiKey']&&(_0x30454f=_0x19004c['body'][_0x59bcb9(0x12a)]);if(!_0x30454f)return this[_0x59bcb9(0x1d7)][_0x59bcb9(0x166)](_0x59bcb9(0x1bf),{'sessionId':_0x25a0ad,'model':_0x639100,'platformProvided':_0x4a2183,'hasSessionManager':!!this[_0x59bcb9(0x11a)]}),_0x481d76['status'](0x191)[_0x59bcb9(0x20c)]({'error':_0x59bcb9(0x13c)});const _0x5cb18e=_0x59bcb9(0x171),_0x409298={..._0x19004c[_0x59bcb9(0x11f)],'apiKey':_0x30454f,..._0x2e095d&&{'vendorApiKey':_0x2e095d}},_0x5ed387={'method':_0x59bcb9(0x170),'headers':{'Content-Type':_0x59bcb9(0x1bc),'Authorization':'Bearer\x20'+_0x30454f},'body':JSON['stringify'](_0x409298)};this[_0x59bcb9(0x1d7)]['info'](_0x59bcb9(0x11e),{'url':_0x5cb18e,'model':_0x19004c['body'][_0x59bcb9(0x1ef)],'hasApiKey':!!_0x30454f});const _0x38b240=await fetch(_0x5cb18e,_0x5ed387);if(_0x38b240['ok']){const _0x54d8ad=await _0x38b240['json']();this[_0x59bcb9(0x1d7)]['info']('Successfully received response from Azure backend',{'model':_0x54d8ad[_0x59bcb9(0x1ef)],'contentLength':_0x54d8ad['content']?.['length']||0x0}),_0x481d76[_0x59bcb9(0x20c)](_0x54d8ad);}else{const _0x559c3a=await _0x38b240[_0x59bcb9(0x19e)]();this[_0x59bcb9(0x1d7)]['warn'](_0x59bcb9(0x1b1),{'status':_0x38b240[_0x59bcb9(0x1a7)],'statusText':_0x38b240[_0x59bcb9(0x219)],'error':_0x559c3a}),_0x481d76[_0x59bcb9(0x1a7)](_0x38b240[_0x59bcb9(0x1a7)])['json']({'error':_0x59bcb9(0x164)+_0x38b240['status']+'\x20'+_0x38b240[_0x59bcb9(0x219)],'details':_0x559c3a});}}catch(_0x538bfa){this['logger']['error']('Failed\x20to\x20proxy\x20chat\x20request\x20to\x20Azure\x20backend',{'error':_0x538bfa[_0x59bcb9(0x1cd)],'stack':_0x538bfa['stack']}),_0x481d76[_0x59bcb9(0x1a7)](0x1f4)[_0x59bcb9(0x20c)]({'error':_0x59bcb9(0x154),'details':_0x538bfa['message']});}}),this['app']['get']('/api/llm/models',async(_0x135c6a,_0x25cdc7)=>{const _0x1367bb=_0x9ed72d;try{const _0x26cad9=_0x135c6a['headers'][_0x1367bb(0x1dd)];let _0x42f2a7=null;_0x26cad9&&_0x26cad9[_0x1367bb(0x1dc)]('Bearer\x20')&&(_0x42f2a7=_0x26cad9[_0x1367bb(0x1c2)](0x7));!_0x42f2a7&&(_0x42f2a7=this[_0x1367bb(0x1ed)]['loxiaApiKey']||process['env'][_0x1367bb(0x15c)]);const _0x89f7fa=_0x1367bb(0x15e),_0x960ebf={'method':_0x1367bb(0x1ab),'headers':{'Content-Type':_0x1367bb(0x1bc),..._0x42f2a7&&{'Authorization':'Bearer\x20'+_0x42f2a7}}};this[_0x1367bb(0x1d7)][_0x1367bb(0x117)]('Fetching models from Loxia Azure backend',{'url':_0x89f7fa,'hasApiKey':!!_0x42f2a7});const _0xf53bbd=await fetch(_0x89f7fa,_0x960ebf);if(_0xf53bbd['ok']){const _0x556c6b=await _0xf53bbd['json']();this[_0x1367bb(0x1d7)]['info']('Successfully fetched models from Azure backend',{'modelCount':_0x556c6b['models']?.[_0x1367bb(0x165)]||0x0}),_0x25cdc7[_0x1367bb(0x20c)](_0x556c6b);}else{const _0x59f5fc=await _0xf53bbd['text']();this['logger'][_0x1367bb(0x13f)](_0x1367bb(0x12d),{'status':_0xf53bbd[_0x1367bb(0x1a7)],'statusText':_0xf53bbd['statusText'],'error':_0x59f5fc}),_0x25cdc7[_0x1367bb(0x1a7)](_0xf53bbd['status'])[_0x1367bb(0x20c)]({'success':![],'error':_0x1367bb(0x1da)+_0xf53bbd[_0x1367bb(0x1a7)]+'\x20'+_0xf53bbd['statusText'],'details':_0x59f5fc});}}catch(_0xde5871){this[_0x1367bb(0x1d7)]['error']('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0xde5871[_0x1367bb(0x1cd)],'stack':_0xde5871[_0x1367bb(0x1ae)]}),_0x25cdc7['status'](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0xde5871['message']});}}),this['app'][_0x9ed72d(0x158)](_0x9ed72d(0x1c3),async(_0x5b0d8a,_0x48961a)=>{const _0x15267d=_0x9ed72d;try{const _0x291b47=this['toolsRegistry'];if(!_0x291b47)return _0x48961a[_0x15267d(0x1a7)](0x1f4)[_0x15267d(0x20c)]({'error':'Tools\x20registry\x20not\x20available'});const _0x285020=_0x291b47['getAvailableToolsForUI']();this[_0x15267d(0x1d7)]['info']('Serving\x20tools\x20information',{'toolCount':_0x285020['length'],'tools':_0x285020[_0x15267d(0x180)](_0x1b85d9=>({'id':_0x1b85d9['id'],'name':_0x1b85d9[_0x15267d(0x212)],'category':_0x1b85d9['category']}))}),_0x48961a[_0x15267d(0x20c)]({'success':!![],'tools':_0x285020,'total':_0x285020['length']});}catch(_0x35d99e){this['logger'][_0x15267d(0x13f)]('Failed\x20to\x20get\x20tools\x20information',{'error':_0x35d99e['message'],'stack':_0x35d99e[_0x15267d(0x1ae)]}),_0x48961a[_0x15267d(0x1a7)](0x1f4)[_0x15267d(0x20c)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x35d99e['message']});}}),this['app'][_0x9ed72d(0x14f)](_0x9ed72d(0x1e6),async(_0x1a8c91,_0x39c99d)=>{const _0x36fb88=_0x9ed72d;try{const {sessionId:_0x2c0243,loxiaApiKey:_0x1c77c2,vendorKeys:_0x3ea040}=_0x1a8c91['body'];if(!_0x2c0243)return _0x39c99d[_0x36fb88(0x1a7)](0x190)[_0x36fb88(0x20c)]({'success':![],'error':_0x36fb88(0x113)});if(!this[_0x36fb88(0x11a)])return _0x39c99d['status'](0x1f4)[_0x36fb88(0x20c)]({'success':![],'error':_0x36fb88(0x1b7)});this['apiKeyManager']['setSessionKeys'](_0x2c0243,{'loxiaApiKey':_0x1c77c2,'vendorKeys':_0x3ea040||{}}),this['logger']['info'](_0x36fb88(0x115),{'sessionId':_0x2c0243,'hasLoxiaKey':!!_0x1c77c2,'vendorKeys':Object['keys'](_0x3ea040||{})});if(this['orchestrator']&&this[_0x36fb88(0x182)][_0x36fb88(0x14e)]&&_0x1c77c2)try{await this[_0x36fb88(0x182)]['modelsService']['refresh']({'sessionId':_0x2c0243,'apiKey':_0x1c77c2}),this['logger'][_0x36fb88(0x117)](_0x36fb88(0x151),{'sessionId':_0x2c0243});}catch(_0x13b2c7){this['logger'][_0x36fb88(0x166)](_0x36fb88(0x163),{'error':_0x13b2c7['message'],'sessionId':_0x2c0243});}_0x39c99d['json']({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x2c0243,'hasLoxiaKey':!!_0x1c77c2,'vendorKeys':Object['keys'](_0x3ea040||{})});}catch(_0x1b28dc){this[_0x36fb88(0x1d7)]['error']('Failed\x20to\x20set\x20API\x20keys',{'error':_0x1b28dc['message'],'sessionId':_0x1a8c91['body']['sessionId']}),_0x39c99d[_0x36fb88(0x1a7)](0x1f4)[_0x36fb88(0x20c)]({'success':![],'error':_0x1b28dc['message']});}}),this[_0x9ed72d(0x126)]['get'](_0x9ed72d(0x1a0),async(_0x27b712,_0x2ad660)=>{const _0x2efe5d=_0x9ed72d;try{const {sessionId:_0x3bffab}=_0x27b712['params'];if(!this['apiKeyManager'])return _0x2ad660[_0x2efe5d(0x1a7)](0x1f4)[_0x2efe5d(0x20c)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x321ea2=this[_0x2efe5d(0x11a)]['getSessionKeys'](_0x3bffab);_0x2ad660['json']({'success':!![],'sessionId':_0x3bffab,'hasLoxiaKey':!!_0x321ea2['loxiaApiKey'],'vendorKeys':Object['keys'](_0x321ea2['vendorKeys']||{}),'updatedAt':_0x321ea2[_0x2efe5d(0x20b)]});}catch(_0x3a9d67){this['logger'][_0x2efe5d(0x13f)](_0x2efe5d(0x17a),{'error':_0x3a9d67[_0x2efe5d(0x1cd)],'sessionId':_0x27b712[_0x2efe5d(0x1cf)]['sessionId']}),_0x2ad660['status'](0x1f4)[_0x2efe5d(0x20c)]({'success':![],'error':_0x3a9d67['message']});}}),this['app'][_0x9ed72d(0x20d)](_0x9ed72d(0x1a0),async(_0x5277a9,_0x5e877f)=>{const _0x5700ef=_0x9ed72d;try{const {sessionId:_0x4773f2}=_0x5277a9[_0x5700ef(0x1cf)];if(!this[_0x5700ef(0x11a)])return _0x5e877f[_0x5700ef(0x1a7)](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x54c00d=this['apiKeyManager']['removeSessionKeys'](_0x4773f2);_0x5e877f['json']({'success':!![],'removed':_0x54c00d,'message':_0x54c00d?'API\x20keys\x20removed\x20successfully':'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x5441b2){this[_0x5700ef(0x1d7)][_0x5700ef(0x13f)]('Failed\x20to\x20remove\x20API\x20keys',{'error':_0x5441b2[_0x5700ef(0x1cd)],'sessionId':_0x5277a9[_0x5700ef(0x1cf)]['sessionId']}),_0x5e877f['status'](0x1f4)['json']({'success':![],'error':_0x5441b2['message']});}}),this['app'][_0x9ed72d(0x158)]('/api/keys',async(_0x2902a5,_0x512c43)=>{const _0x1f7970=_0x9ed72d;try{if(!this['apiKeyManager'])return _0x512c43[_0x1f7970(0x1a7)](0x1f4)['json']({'success':![],'error':_0x1f7970(0x1b7)});const _0x13241a=this[_0x1f7970(0x11a)][_0x1f7970(0x1df)]();_0x512c43[_0x1f7970(0x20c)]({'success':!![],'sessions':_0x13241a,'total':_0x13241a['length']});}catch(_0x50f904){this[_0x1f7970(0x1d7)]['error'](_0x1f7970(0x119),{'error':_0x50f904[_0x1f7970(0x1cd)]}),_0x512c43[_0x1f7970(0x1a7)](0x1f4)[_0x1f7970(0x20c)]({'success':![],'error':_0x50f904['message']});}}),this['app']['post']('/api/agents/:agentId/attachments/upload',async(_0x403374,_0x1faf9f)=>{const _0x5bb9b1=_0x9ed72d;try{const {agentId:_0x5759be}=_0x403374['params'],{filePath:_0x5af315,mode:_0x235fc8,fileName:_0x439338}=_0x403374[_0x5bb9b1(0x11f)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x1faf9f[_0x5bb9b1(0x1a7)](0x1f4)[_0x5bb9b1(0x20c)]({'success':![],'error':_0x5bb9b1(0x14b)});const _0x53ec65=await this['orchestrator'][_0x5bb9b1(0x1e5)]['uploadFile']({'agentId':_0x5759be,'filePath':_0x5af315,'mode':_0x235fc8||_0x5bb9b1(0x1f7),'fileName':_0x439338});this[_0x5bb9b1(0x1d7)]['info']('File\x20attachment\x20uploaded',{'agentId':_0x5759be,'fileId':_0x53ec65['fileId'],'fileName':_0x53ec65['fileName']}),_0x1faf9f['json']({'success':!![],'attachment':_0x53ec65});}catch(_0x3e20bf){this[_0x5bb9b1(0x1d7)][_0x5bb9b1(0x13f)]('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0x403374[_0x5bb9b1(0x1cf)][_0x5bb9b1(0x192)],'error':_0x3e20bf['message']}),_0x1faf9f['status'](0x1f4)[_0x5bb9b1(0x20c)]({'success':![],'error':_0x3e20bf['message']});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x158)]('/api/agents/:agentId/attachments',async(_0x2aaaad,_0x5a2562)=>{const _0x557de8=_0x9ed72d;try{const {agentId:_0x5bc5cd}=_0x2aaaad['params'],{mode:_0x4209bf,active:_0x352dec}=_0x2aaaad[_0x557de8(0x20a)];if(!this[_0x557de8(0x182)]?.[_0x557de8(0x1e5)])return _0x5a2562[_0x557de8(0x1a7)](0x1f4)[_0x557de8(0x20c)]({'success':![],'error':_0x557de8(0x14b)});const _0x5628a2={};if(_0x4209bf)_0x5628a2['mode']=_0x4209bf;if(_0x352dec!==undefined)_0x5628a2['active']=_0x352dec==='true';const _0x2acaf0=await this['orchestrator']['fileAttachmentService'][_0x557de8(0x177)](_0x5bc5cd,_0x5628a2);_0x5a2562[_0x557de8(0x20c)]({'success':!![],'attachments':_0x2acaf0,'total':_0x2acaf0[_0x557de8(0x165)]});}catch(_0x2fcf91){this['logger'][_0x557de8(0x13f)](_0x557de8(0x153),{'agentId':_0x2aaaad[_0x557de8(0x1cf)][_0x557de8(0x192)],'error':_0x2fcf91['message']}),_0x5a2562[_0x557de8(0x1a7)](0x1f4)['json']({'success':![],'error':_0x2fcf91[_0x557de8(0x1cd)]});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x158)]('/api/attachments/:fileId',async(_0x349cca,_0x20ad1f)=>{const _0x39c448=_0x9ed72d;try{const {fileId:_0x17a822}=_0x349cca['params'];if(!this[_0x39c448(0x182)]?.[_0x39c448(0x1e5)])return _0x20ad1f[_0x39c448(0x1a7)](0x1f4)[_0x39c448(0x20c)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x14bc87=await this[_0x39c448(0x182)][_0x39c448(0x1e5)][_0x39c448(0x140)](_0x17a822);if(!_0x14bc87)return _0x20ad1f['status'](0x194)[_0x39c448(0x20c)]({'success':![],'error':'Attachment\x20not\x20found'});_0x20ad1f[_0x39c448(0x20c)]({'success':!![],'attachment':_0x14bc87});}catch(_0x4c341e){this[_0x39c448(0x1d7)]['error'](_0x39c448(0x1d8),{'fileId':_0x349cca[_0x39c448(0x1cf)][_0x39c448(0x1e4)],'error':_0x4c341e['message']}),_0x20ad1f['status'](0x1f4)[_0x39c448(0x20c)]({'success':![],'error':_0x4c341e[_0x39c448(0x1cd)]});}}),this[_0x9ed72d(0x126)]['patch'](_0x9ed72d(0x16f),async(_0x23e52d,_0x26ea0f)=>{const _0x33079f=_0x9ed72d;try{const {fileId:_0x1af3c1}=_0x23e52d[_0x33079f(0x1cf)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x26ea0f[_0x33079f(0x1a7)](0x1f4)[_0x33079f(0x20c)]({'success':![],'error':_0x33079f(0x14b)});const _0x53056b=await this[_0x33079f(0x182)]['fileAttachmentService']['toggleActive'](_0x1af3c1);this['logger']['info'](_0x33079f(0x218),{'fileId':_0x1af3c1,'active':_0x53056b['active']}),_0x26ea0f['json']({'success':!![],'attachment':_0x53056b});}catch(_0x4d99f8){this['logger'][_0x33079f(0x13f)]('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x23e52d['params']['fileId'],'error':_0x4d99f8[_0x33079f(0x1cd)]}),_0x26ea0f[_0x33079f(0x1a7)](0x1f4)['json']({'success':![],'error':_0x4d99f8[_0x33079f(0x1cd)]});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x1ca)](_0x9ed72d(0x1ad),async(_0x1fa792,_0x435ffa)=>{const _0x37e9fa=_0x9ed72d;try{const {fileId:_0x44e87e}=_0x1fa792[_0x37e9fa(0x1cf)],{mode:_0x45e322,active:_0x1b6dec}=_0x1fa792['body'];if(!this[_0x37e9fa(0x182)]?.[_0x37e9fa(0x1e5)])return _0x435ffa[_0x37e9fa(0x1a7)](0x1f4)[_0x37e9fa(0x20c)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x3d01c7={};if(_0x45e322!==undefined)_0x3d01c7['mode']=_0x45e322;if(_0x1b6dec!==undefined)_0x3d01c7['active']=_0x1b6dec;const _0x3be858=await this[_0x37e9fa(0x182)]['fileAttachmentService'][_0x37e9fa(0x1bd)](_0x44e87e,_0x3d01c7);this['logger'][_0x37e9fa(0x117)]('Attachment\x20updated',{'fileId':_0x44e87e,'updates':_0x3d01c7}),_0x435ffa[_0x37e9fa(0x20c)]({'success':!![],'attachment':_0x3be858});}catch(_0x34ed7f){this[_0x37e9fa(0x1d7)][_0x37e9fa(0x13f)](_0x37e9fa(0x137),{'fileId':_0x1fa792['params']['fileId'],'error':_0x34ed7f['message']}),_0x435ffa['status'](0x1f4)[_0x37e9fa(0x20c)]({'success':![],'error':_0x34ed7f[_0x37e9fa(0x1cd)]});}}),this['app'][_0x9ed72d(0x20d)](_0x9ed72d(0x1ad),async(_0x328148,_0x403e65)=>{const _0x1ec4c9=_0x9ed72d;try{const {fileId:_0xe64648}=_0x328148[_0x1ec4c9(0x1cf)],{agentId:_0x45debd}=_0x328148['query'];if(!_0x45debd)return _0x403e65[_0x1ec4c9(0x1a7)](0x190)['json']({'success':![],'error':_0x1ec4c9(0x1a3)});if(!this[_0x1ec4c9(0x182)]?.[_0x1ec4c9(0x1e5)])return _0x403e65[_0x1ec4c9(0x1a7)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x4eca46=await this['orchestrator'][_0x1ec4c9(0x1e5)]['deleteAttachment'](_0xe64648,_0x45debd);this[_0x1ec4c9(0x1d7)]['info'](_0x1ec4c9(0x1a8),{'fileId':_0xe64648,'agentId':_0x45debd,'physicallyDeleted':_0x4eca46[_0x1ec4c9(0x1fa)]}),_0x403e65[_0x1ec4c9(0x20c)]({'success':!![],'message':_0x4eca46[_0x1ec4c9(0x1fa)]?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x4eca46[_0x1ec4c9(0x1fa)]});}catch(_0x14f8ca){this[_0x1ec4c9(0x1d7)]['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x328148[_0x1ec4c9(0x1cf)][_0x1ec4c9(0x1e4)],'error':_0x14f8ca[_0x1ec4c9(0x1cd)]}),_0x403e65[_0x1ec4c9(0x1a7)](0x1f4)['json']({'success':![],'error':_0x14f8ca[_0x1ec4c9(0x1cd)]});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x14f)]('/api/attachments/:fileId/import',async(_0x4c84b1,_0x5ce291)=>{const _0xaf0566=_0x9ed72d;try{const {fileId:_0x1b6ea2}=_0x4c84b1['params'],{targetAgentId:_0x5ae755}=_0x4c84b1['body'];if(!_0x5ae755)return _0x5ce291[_0xaf0566(0x1a7)](0x190)['json']({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this[_0xaf0566(0x182)]?.['fileAttachmentService'])return _0x5ce291['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x183b53=await this[_0xaf0566(0x182)][_0xaf0566(0x1e5)]['importFromAgent'](_0x1b6ea2,_0x5ae755);this['logger'][_0xaf0566(0x117)]('Attachment imported',{'fileId':_0x1b6ea2,'targetAgentId':_0x5ae755}),_0x5ce291[_0xaf0566(0x20c)]({'success':!![],'attachment':_0x183b53});}catch(_0x200531){this[_0xaf0566(0x1d7)]['error']('Failed to import attachment',{'fileId':_0x4c84b1['params']['fileId'],'error':_0x200531[_0xaf0566(0x1cd)]}),_0x5ce291[_0xaf0566(0x1a7)](0x1f4)[_0xaf0566(0x20c)]({'success':![],'error':_0x200531[_0xaf0566(0x1cd)]});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x158)](_0x9ed72d(0x209),async(_0xa10f28,_0x3892f4)=>{const _0x28794c=_0x9ed72d;try{const {fileId:_0x112c11}=_0xa10f28['params'];if(!this[_0x28794c(0x182)]?.['fileAttachmentService'])return _0x3892f4['status'](0x1f4)['json']({'success':![],'error':_0x28794c(0x14b)});const _0x55a170=await this[_0x28794c(0x182)][_0x28794c(0x1e5)][_0x28794c(0x206)](_0x112c11);if(!_0x55a170)return _0x3892f4['status'](0x194)[_0x28794c(0x20c)]({'success':![],'error':_0x28794c(0x13d)});_0x3892f4[_0x28794c(0x20c)]({'success':!![],'preview':_0x55a170});}catch(_0x28ffe7){this[_0x28794c(0x1d7)][_0x28794c(0x13f)](_0x28794c(0x18c),{'fileId':_0xa10f28['params'][_0x28794c(0x1e4)],'error':_0x28ffe7[_0x28794c(0x1cd)]}),_0x3892f4['status'](0x1f4)[_0x28794c(0x20c)]({'success':![],'error':_0x28ffe7[_0x28794c(0x1cd)]});}}),this['app'][_0x9ed72d(0x158)](_0x9ed72d(0x17d),async(_0x4a616a,_0x44d023)=>{const _0x2238e8=_0x9ed72d;try{const {sessionId:_0x38f13e,filename:_0x2c5cfb}=_0x4a616a['params'],_0x4f916c=this[_0x2238e8(0x1c6)]['get'](_0x38f13e);if(!_0x4f916c)return _0x44d023['status'](HTTP_STATUS[_0x2238e8(0x1fe)])['json']({'success':![],'error':'Invalid\x20session'});const _0x362ab6=a0_0x5498db[_0x2238e8(0x178)](_0x2c5cfb);if(_0x362ab6!==_0x2c5cfb||_0x2c5cfb[_0x2238e8(0x196)]('..')||_0x2c5cfb[_0x2238e8(0x196)]('/')||_0x2c5cfb['includes']('\x5c'))return _0x44d023[_0x2238e8(0x1a7)](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':_0x2238e8(0x1aa)});let _0x5bdcde=null;const _0x477046=[a0_0x5498db[_0x2238e8(0x1b5)](_0x4f916c[_0x2238e8(0x162)]||process['cwd'](),'images',_0x362ab6),a0_0x5498db['join']('/tmp/loxia-images',_0x38f13e,_0x362ab6),a0_0x5498db['join']('/tmp/loxia-images',_0x362ab6)];if(this[_0x2238e8(0x182)]?.['agentPool'])try{const _0x534b08=await this['orchestrator']['agentPool']['getAllAgents']();for(const _0x265a05 of _0x534b08){_0x265a05['directoryAccess']?.[_0x2238e8(0x213)]&&_0x477046['push'](a0_0x5498db[_0x2238e8(0x1b5)](_0x265a05[_0x2238e8(0x17b)][_0x2238e8(0x213)],'images',_0x362ab6));}}catch(_0x6add24){this['logger'][_0x2238e8(0x166)](_0x2238e8(0x1d4),{'error':_0x6add24[_0x2238e8(0x1cd)]});}for(const _0x5860ce of _0x477046){try{const _0x4f7fc6=await a0_0x5e09b0[_0x2238e8(0x13b)](_0x5860ce);if(_0x4f7fc6['isFile']()){_0x5bdcde=_0x5860ce,this['logger'][_0x2238e8(0x117)]('Image\x20found',{'filename':_0x362ab6,'path':_0x5bdcde,'sessionId':_0x38f13e});break;}}catch(_0x5f3921){continue;}}if(!_0x5bdcde)return this['logger']['warn'](_0x2238e8(0x1e8),{'filename':_0x362ab6,'sessionId':_0x38f13e,'searchPaths':_0x477046}),_0x44d023[_0x2238e8(0x1a7)](HTTP_STATUS[_0x2238e8(0x185)])[_0x2238e8(0x20c)]({'success':![],'error':_0x2238e8(0x1b4)});_0x44d023['sendFile'](_0x5bdcde,_0x588bbe=>{const _0x1d290d=_0x2238e8;_0x588bbe?(this['logger']['error']('Failed\x20to\x20send\x20image\x20file',{'error':_0x588bbe['message'],'imagePath':_0x5bdcde,'filename':_0x362ab6}),!_0x44d023[_0x1d290d(0x12f)]&&_0x44d023[_0x1d290d(0x1a7)](HTTP_STATUS[_0x1d290d(0x145)])[_0x1d290d(0x20c)]({'success':![],'error':_0x1d290d(0x18d)})):this['logger'][_0x1d290d(0x117)]('Image\x20served\x20successfully',{'filename':_0x362ab6,'path':_0x5bdcde,'sessionId':_0x38f13e});});}catch(_0x3bb789){this['logger'][_0x2238e8(0x13f)](_0x2238e8(0x20e),{'error':_0x3bb789[_0x2238e8(0x1cd)],'sessionId':_0x4a616a[_0x2238e8(0x1cf)][_0x2238e8(0x112)],'filename':_0x4a616a[_0x2238e8(0x1cf)][_0x2238e8(0x14a)]}),_0x44d023['status'](HTTP_STATUS[_0x2238e8(0x145)])['json']({'success':![],'error':_0x3bb789[_0x2238e8(0x1cd)]});}}),this['app']['post']('/api/agents/:agentId/mode',async(_0x2bfe1e,_0x3ff27c)=>{const _0x4f7f54=_0x9ed72d;try{const {agentId:_0x4472c5}=_0x2bfe1e['params'],{mode:_0x5c29fc,lockMode:lockMode=![],sessionId:_0x27305d}=_0x2bfe1e[_0x4f7f54(0x11f)];if(!Object['values'](AGENT_MODES)['includes'](_0x5c29fc))return _0x3ff27c[_0x4f7f54(0x1a7)](0x190)['json']({'success':![],'error':_0x4f7f54(0x204)+Object['values'](AGENT_MODES)['join'](',\x20')});const _0x46b769=_0x27305d||_0x2bfe1e[_0x4f7f54(0x121)];!_0x46b769&&this['logger'][_0x4f7f54(0x166)](_0x4f7f54(0x201),{'agentId':_0x4472c5,'hasBodySessionId':!!_0x27305d,'hasReqSessionId':!!_0x2bfe1e[_0x4f7f54(0x121)]});const _0x6dfb0={'interface':INTERFACE_TYPES[_0x4f7f54(0x1fc)],'sessionId':_0x46b769,'action':_0x4f7f54(0x141),'payload':{'agentId':_0x4472c5,'updates':{'mode':_0x5c29fc}}},_0x13f2ee=await this['orchestrator'][_0x4f7f54(0x1cb)](_0x6dfb0);if(_0x13f2ee['success']){const _0x394816=_0x13f2ee['data'];this[_0x4f7f54(0x1d7)][_0x4f7f54(0x117)]('Agent\x20mode\x20updated:\x20'+_0x4472c5,{'newMode':_0x5c29fc,'lockMode':lockMode,'finalMode':_0x394816?.['mode']}),this['broadcastToSession'](_0x6dfb0['sessionId'],{'type':'agent_mode_changed','data':{'agentId':_0x4472c5,'mode':_0x394816?.['mode'],'modeState':_0x394816?.['modeState']}}),_0x3ff27c[_0x4f7f54(0x20c)]({'success':!![],'agent':_0x394816,'message':'Agent\x20mode\x20switched\x20to\x20'+_0x394816?.[_0x4f7f54(0x189)]});}else _0x3ff27c[_0x4f7f54(0x1a7)](0x190)[_0x4f7f54(0x20c)]({'success':![],'error':_0x13f2ee['error']||_0x4f7f54(0x1d2)});}catch(_0x2749b2){this['logger'][_0x4f7f54(0x13f)]('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0x2bfe1e['params']['agentId'],'error':_0x2749b2['message']}),_0x3ff27c[_0x4f7f54(0x1a7)](0x1f4)['json']({'success':![],'error':_0x2749b2['message']});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x14f)]('/api/agents/:agentId/stop',async(_0x1a0339,_0x46ed0a)=>{const _0x113d95=_0x9ed72d;try{const {agentId:_0x6e2c5f}=_0x1a0339[_0x113d95(0x1cf)],_0x50acfd=this['orchestrator']['messageProcessor'];if(!_0x50acfd)return _0x46ed0a[_0x113d95(0x1a7)](0x1f4)['json']({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0xfdaee1=await _0x50acfd['stopAutonomousExecution'](_0x6e2c5f);this[_0x113d95(0x1d7)]['info'](_0x113d95(0x208)+_0x6e2c5f);const _0x2377da=_0x1a0339[_0x113d95(0x121)]||_0xfdaee1[_0x113d95(0x1d0)]?.['sessionId'];_0x2377da&&this[_0x113d95(0x150)](_0x2377da,{'type':'agent_mode_changed','data':{'agentId':_0x6e2c5f,'mode':_0xfdaee1['agent']?.[_0x113d95(0x189)],'modeState':_0xfdaee1['agent']?.[_0x113d95(0x15d)]}}),_0x46ed0a[_0x113d95(0x20c)](_0xfdaee1);}catch(_0x2e9cb7){this['logger'][_0x113d95(0x13f)](_0x113d95(0x186),{'agentId':_0x1a0339[_0x113d95(0x1cf)][_0x113d95(0x192)],'error':_0x2e9cb7[_0x113d95(0x1cd)]}),_0x46ed0a['status'](0x1f4)['json']({'success':![],'error':_0x2e9cb7[_0x113d95(0x1cd)]});}}),this['app'][_0x9ed72d(0x158)]('/api/agents/:agentId/mode',async(_0x3509b0,_0x5ac01f)=>{const _0x3148bb=_0x9ed72d;try{const {agentId:_0x2ed899}=_0x3509b0[_0x3148bb(0x1cf)],_0x1e6915={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x3509b0['sessionID'],'action':_0x3148bb(0x1c1),'payload':{'agentId':_0x2ed899}},_0x10332c=await this[_0x3148bb(0x182)][_0x3148bb(0x1cb)](_0x1e6915);_0x10332c['success']&&_0x10332c[_0x3148bb(0x1d0)]?_0x5ac01f[_0x3148bb(0x20c)]({'success':!![],'mode':_0x10332c['agent'][_0x3148bb(0x189)],'modeState':_0x10332c[_0x3148bb(0x1d0)]['modeState'],'currentTask':_0x10332c[_0x3148bb(0x1d0)]['currentTask'],'iterationCount':_0x10332c[_0x3148bb(0x1d0)][_0x3148bb(0x157)],'taskStartTime':_0x10332c[_0x3148bb(0x1d0)]['taskStartTime'],'stopRequested':_0x10332c[_0x3148bb(0x1d0)]['stopRequested']}):_0x5ac01f[_0x3148bb(0x1a7)](0x194)[_0x3148bb(0x20c)]({'success':![],'error':'Agent\x20not\x20found'});}catch(_0x44f468){this[_0x3148bb(0x1d7)][_0x3148bb(0x13f)](_0x3148bb(0x172),{'agentId':_0x3509b0[_0x3148bb(0x1cf)][_0x3148bb(0x192)],'error':_0x44f468['message']}),_0x5ac01f[_0x3148bb(0x1a7)](0x1f4)['json']({'success':![],'error':_0x44f468[_0x3148bb(0x1cd)]});}}),this[_0x9ed72d(0x126)]['post'](_0x9ed72d(0x147),async(_0x14e83a,_0x207234)=>{const _0x1957ce=_0x9ed72d;try{const {agentId:_0x21208f}=_0x14e83a[_0x1957ce(0x1cf)],_0x2f42ff=await this[_0x1957ce(0x182)][_0x1957ce(0x125)][_0x1957ce(0x1f8)](_0x21208f);_0x207234[_0x1957ce(0x20c)](_0x2f42ff);}catch(_0x578606){this[_0x1957ce(0x1d7)][_0x1957ce(0x13f)]('Failed\x20to\x20clear\x20agent\x20conversation',{'agentId':_0x14e83a[_0x1957ce(0x1cf)][_0x1957ce(0x192)],'error':_0x578606['message']}),_0x207234['status'](0x1f4)['json']({'success':![],'error':_0x578606[_0x1957ce(0x1cd)]});}}),this['app'][_0x9ed72d(0x158)](_0x9ed72d(0x1f4),async(_0x5d9eca,_0x26b5fb)=>{const _0x2a1e68=_0x9ed72d;try{const {agentId:_0x466d8b}=_0x5d9eca[_0x2a1e68(0x1cf)],{shouldAgentBeActive:_0x261436}=await import('../services/agentActivityService.js'),_0x2eaa9e=await this['orchestrator'][_0x2a1e68(0x125)]['getAgent'](_0x466d8b);if(!_0x2eaa9e)return _0x26b5fb['status'](0x194)['json']({'success':![],'error':_0x2a1e68(0x1c8)});const _0x408c6e=_0x261436(_0x2eaa9e);_0x26b5fb['json']({'success':!![],'agentId':_0x466d8b,'isActive':_0x408c6e[_0x2a1e68(0x12e)],'reason':_0x408c6e['reason'],'details':_0x408c6e['details']});}catch(_0x2d88f8){this['logger']['error']('Failed\x20to\x20get\x20agent\x20activity\x20status',{'agentId':_0x5d9eca['params'][_0x2a1e68(0x192)],'error':_0x2d88f8['message']}),_0x26b5fb['status'](0x1f4)['json']({'success':![],'error':_0x2d88f8['message']});}}),this[_0x9ed72d(0x126)]['get'](_0x9ed72d(0x1c7),async(_0x23c3f9,_0x59a7c6)=>{const _0x255cc8=_0x9ed72d;try{const _0x344e4b=this['orchestrator']['config']['project']?.['directory']||process[_0x255cc8(0x175)](),_0x2efcae=await this['orchestrator']['stateManager'][_0x255cc8(0x1e3)](_0x344e4b,this['orchestrator']['agentPool']);_0x59a7c6['json']({'success':!![],'agents':_0x2efcae,'total':_0x2efcae['length'],'active':_0x2efcae['filter'](_0x5e074c=>_0x5e074c['isLoaded'])[_0x255cc8(0x165)],'archived':_0x2efcae['filter'](_0x365b6e=>!_0x365b6e[_0x255cc8(0x1ea)])['length']});}catch(_0x2e8c8b){this[_0x255cc8(0x1d7)]['error']('Failed\x20to\x20get\x20available\x20agents',{'error':_0x2e8c8b[_0x255cc8(0x1cd)],'stack':_0x2e8c8b['stack']}),_0x59a7c6[_0x255cc8(0x1a7)](0x1f4)['json']({'success':![],'error':_0x2e8c8b[_0x255cc8(0x1cd)]});}}),this['app']['get'](_0x9ed72d(0x1cc),async(_0x32e4fc,_0x22f904)=>{const _0x4dd462=_0x9ed72d;try{const {agentId:_0x47736d}=_0x32e4fc['params'],_0x378a75=this['orchestrator'][_0x4dd462(0x1ed)][_0x4dd462(0x174)]?.[_0x4dd462(0x135)]||process[_0x4dd462(0x175)](),_0x13cb9f=await this[_0x4dd462(0x182)][_0x4dd462(0x16e)]['getAgentMetadata'](_0x47736d,_0x378a75);_0x22f904['json']({'success':!![],'metadata':_0x13cb9f});}catch(_0x37b378){this[_0x4dd462(0x1d7)][_0x4dd462(0x13f)]('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x32e4fc[_0x4dd462(0x1cf)]['agentId'],'error':_0x37b378[_0x4dd462(0x1cd)]}),_0x22f904['status'](0x194)[_0x4dd462(0x20c)]({'success':![],'error':_0x37b378['message']});}}),this['app']['post']('/api/agents/import',async(_0x10f5a2,_0x3cb7a1)=>{const _0x3551ab=_0x9ed72d;try{const {agentId:_0x26c9eb}=_0x10f5a2[_0x3551ab(0x11f)];if(!_0x26c9eb)return _0x3cb7a1['status'](0x190)['json']({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0x1b55a3=this[_0x3551ab(0x182)]['config']['project']?.[_0x3551ab(0x135)]||process['cwd'](),_0x284311=await this['orchestrator']['stateManager']['importArchivedAgent'](_0x26c9eb,_0x1b55a3,this['orchestrator']['agentPool']);this['wsManager']&&this[_0x3551ab(0x129)][_0x3551ab(0x179)]({'type':'agent-imported','agent':{'id':_0x284311['id'],'name':_0x284311[_0x3551ab(0x212)],'status':_0x284311['status'],'capabilities':_0x284311['capabilities'],'model':_0x284311[_0x3551ab(0x19d)]||_0x284311[_0x3551ab(0x217)]}}),this['logger'][_0x3551ab(0x117)]('Agent imported successfully',{'agentId':_0x284311['id'],'name':_0x284311['name']}),_0x3cb7a1[_0x3551ab(0x20c)]({'success':!![],'agent':{'id':_0x284311['id'],'name':_0x284311['name'],'status':_0x284311[_0x3551ab(0x1a7)],'model':_0x284311['currentModel']||_0x284311[_0x3551ab(0x217)],'capabilities':_0x284311[_0x3551ab(0x14c)],'lastActivity':_0x284311['lastActivity']},'message':'Agent\x20'+_0x284311[_0x3551ab(0x212)]+_0x3551ab(0x12c)});}catch(_0x2fa69a){this['logger'][_0x3551ab(0x13f)]('Failed to import agent',{'agentId':_0x10f5a2['body']['agentId'],'error':_0x2fa69a[_0x3551ab(0x1cd)],'stack':_0x2fa69a['stack']});const _0x34b922=_0x2fa69a['message'][_0x3551ab(0x196)](_0x3551ab(0x142))?0x199:_0x2fa69a[_0x3551ab(0x1cd)]['includes']('not\x20found')?0x194:_0x2fa69a[_0x3551ab(0x1cd)]['includes']('Invalid')?0x190:0x1f4;_0x3cb7a1[_0x3551ab(0x1a7)](_0x34b922)[_0x3551ab(0x20c)]({'success':![],'error':_0x2fa69a[_0x3551ab(0x1cd)]});}}),this[_0x9ed72d(0x126)]['get']('*',(_0x3c82e7,_0x43b569)=>{const _0x321ea6=_0x9ed72d,_0x4997ea=a0_0x5498db['join'](__dirname,'../../web-ui/build/index.html');_0x43b569[_0x321ea6(0x1ee)](_0x4997ea,_0x4cad0f=>{const _0x3b24eb=_0x321ea6;_0x4cad0f&&_0x43b569['status'](HTTP_STATUS[_0x3b24eb(0x185)])[_0x3b24eb(0x1e1)](_0x3b24eb(0x114));});});}[a0_0x5cb154(0x1f2)](){const _0x4b1398=a0_0x5cb154;this['logger'][_0x4b1398(0x117)]('Setting\x20up\x20WebSocket\x20server',{'port':this[_0x4b1398(0x210)],'host':this[_0x4b1398(0x1af)],'wsServerExists':!!this['wss'],'httpServerExists':!!this['server']}),this['wss']['on'](_0x4b1398(0x13f),_0x38677f=>{const _0x485cbe=_0x4b1398;this['logger']['error'](_0x485cbe(0x120),{'error':_0x38677f[_0x485cbe(0x1cd)],'stack':_0x38677f['stack'],'port':this['port']});}),this[_0x4b1398(0x15f)]['on'](_0x4b1398(0x1db),()=>{const _0x38a201=_0x4b1398;this[_0x38a201(0x1d7)][_0x38a201(0x117)](_0x38a201(0x21a),{'port':this['port'],'host':this[_0x38a201(0x1af)]});}),this[_0x4b1398(0x15f)]['on'](_0x4b1398(0x187),(_0x4d9182,_0xb3f78b)=>{const _0x3805c8=_0x4b1398,_0x1a96a8='conn-'+Date[_0x3805c8(0x20f)]()+'-'+Math[_0x3805c8(0x191)]()[_0x3805c8(0x130)](0x24)['substr'](0x2,0x9);this['logger'][_0x3805c8(0x117)]('WebSocket\x20connection\x20established',{'connectionId':_0x1a96a8,'ip':_0xb3f78b[_0x3805c8(0x1e9)][_0x3805c8(0x18b)],'origin':_0xb3f78b['headers'][_0x3805c8(0x176)],'host':_0xb3f78b[_0x3805c8(0x1a4)]['host'],'userAgent':_0xb3f78b['headers']['user-agent'],'url':_0xb3f78b['url']});const _0x17b1b4={'id':_0x1a96a8,'ws':_0x4d9182,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()[_0x3805c8(0x1ce)]()};this['connections']['set'](_0x1a96a8,_0x17b1b4),_0x4d9182['on'](_0x3805c8(0x1cd),async _0x389ebf=>{const _0x4f79e0=_0x3805c8;try{const _0x3c52f8=JSON['parse'](_0x389ebf[_0x4f79e0(0x130)]());await this[_0x4f79e0(0x159)](_0x1a96a8,_0x3c52f8);}catch(_0x4410fc){this['logger']['error']('WebSocket\x20message\x20error',{'connectionId':_0x1a96a8,'error':_0x4410fc['message']}),_0x4d9182['send'](JSON[_0x4f79e0(0x207)]({'type':'error','error':_0x4410fc['message']}));}}),_0x4d9182['on'](_0x3805c8(0x1ec),()=>{const _0x5e2b49=_0x3805c8;this[_0x5e2b49(0x1d7)]['info'](_0x5e2b49(0x18a),{'connectionId':_0x1a96a8}),this[_0x5e2b49(0x1b2)]['delete'](_0x1a96a8);}),_0x4d9182['send'](JSON[_0x3805c8(0x207)]({'type':'connected','connectionId':_0x1a96a8,'timestamp':new Date()['toISOString']()}));});}async['handleWebSocketMessage'](_0x3e8cdb,_0x53a1ee){const _0x13e93b=a0_0x5cb154,_0x417ed3=this['connections']['get'](_0x3e8cdb);if(!_0x417ed3)return;_0x417ed3['lastActivity']=new Date()[_0x13e93b(0x1ce)]();switch(_0x53a1ee[_0x13e93b(0x16a)]){case'join_session':const _0x32e618=_0x53a1ee['sessionId'];_0x417ed3[_0x13e93b(0x112)]=_0x32e618,this['logger'][_0x13e93b(0x117)](_0x13e93b(0x118),{'connectionId':_0x3e8cdb,'sessionId':_0x32e618,'totalConnectionsForSession':Array['from'](this[_0x13e93b(0x1b2)][_0x13e93b(0x1ba)]())[_0x13e93b(0x195)](_0x5e6c4e=>_0x5e6c4e[_0x13e93b(0x112)]===_0x32e618)['length']}),_0x417ed3['ws']['send'](JSON['stringify']({'type':'session_joined','sessionId':_0x32e618}));break;case'ping':_0x417ed3['ws'][_0x13e93b(0x1e1)](JSON['stringify']({'type':_0x13e93b(0x215),'timestamp':new Date()[_0x13e93b(0x1ce)]()}));break;case'orchestrator_request':try{const _0x1f4e09={'interface':INTERFACE_TYPES[_0x13e93b(0x1fc)],'sessionId':_0x417ed3[_0x13e93b(0x112)],'action':_0x53a1ee[_0x13e93b(0x1f3)],'payload':_0x53a1ee['payload'],'projectDir':_0x53a1ee['projectDir']||process['cwd']()},_0x357494=await this[_0x13e93b(0x182)]['processRequest'](_0x1f4e09);_0x417ed3['ws']['send'](JSON['stringify']({'type':_0x13e93b(0x190),'requestId':_0x53a1ee['requestId'],'response':_0x357494}));}catch(_0x40f74b){_0x417ed3['ws'][_0x13e93b(0x1e1)](JSON['stringify']({'type':'error','requestId':_0x53a1ee['requestId'],'error':_0x40f74b[_0x13e93b(0x1cd)]}));}break;default:this['logger']['warn'](_0x13e93b(0x19b),{'connectionId':_0x3e8cdb,'type':_0x53a1ee[_0x13e93b(0x16a)]});}}[a0_0x5cb154(0x150)](_0x12d2ba,_0x45cdaf){const _0x5d5dae=a0_0x5cb154,_0x5dce9a=Array['from'](this[_0x5d5dae(0x1b2)][_0x5d5dae(0x1ba)]())['filter'](_0x4173a0=>_0x4173a0[_0x5d5dae(0x112)]===_0x12d2ba);let _0x63a3a8=[];_0x5dce9a[_0x5d5dae(0x165)]===0x0&&(_0x63a3a8=Array['from'](this[_0x5d5dae(0x1b2)][_0x5d5dae(0x1ba)]()),this['logger']?.['warn']('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x12d2ba,'totalConnections':this['connections']['size'],'allSessionIds':Array['from'](this['connections'][_0x5d5dae(0x1ba)]())[_0x5d5dae(0x180)](_0x2886c0=>_0x2886c0[_0x5d5dae(0x112)])[_0x5d5dae(0x195)](Boolean)}));const _0x512e0a=_0x5dce9a[_0x5d5dae(0x165)]>0x0?_0x5dce9a:_0x63a3a8;this[_0x5d5dae(0x1d7)]?.['info']('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x12d2ba,'messageType':_0x45cdaf[_0x5d5dae(0x16a)],'agentId':_0x45cdaf[_0x5d5dae(0x192)],'totalConnections':this['connections'][_0x5d5dae(0x1a5)],'sessionConnections':_0x5dce9a[_0x5d5dae(0x165)],'targetConnections':_0x512e0a['length'],'connectionIds':_0x512e0a['map'](_0x596da1=>_0x596da1['id']),'usingFallback':_0x5dce9a['length']===0x0,'messagePreview':_0x45cdaf[_0x5d5dae(0x16a)]===_0x5d5dae(0x199)&&_0x45cdaf[_0x5d5dae(0x1cd)]?{'messageId':_0x45cdaf['message']['id'],'messageRole':_0x45cdaf['message'][_0x5d5dae(0x1b9)],'contentLength':_0x45cdaf[_0x5d5dae(0x1cd)]['content']?.[_0x5d5dae(0x165)],'hasToolResults':!!_0x45cdaf['message']['toolResults']}:undefined});for(const _0x58b91d of _0x512e0a){try{const _0x5dc6e5={..._0x45cdaf,'timestamp':new Date()['toISOString']()};_0x58b91d['ws'][_0x5d5dae(0x1e1)](JSON['stringify'](_0x5dc6e5)),this[_0x5d5dae(0x1d7)]?.[_0x5d5dae(0x117)](_0x5d5dae(0x194),{'connectionId':_0x58b91d['id'],'messageType':_0x45cdaf[_0x5d5dae(0x16a)],'agentId':_0x45cdaf['agentId']});}catch(_0x31ddaf){this[_0x5d5dae(0x1d7)][_0x5d5dae(0x166)]('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x58b91d['id'],'sessionId':_0x12d2ba,'messageType':_0x45cdaf[_0x5d5dae(0x16a)],'error':_0x31ddaf['message']});}}}async['startServer'](){return new Promise((_0x16dafa,_0x16cf78)=>{const _0x562191=a0_0xbf7e;this['server']['listen'](this['port'],this[_0x562191(0x1af)],_0x3181e7=>{const _0x34cbc2=_0x562191;_0x3181e7?(this['logger'][_0x34cbc2(0x13f)](_0x34cbc2(0x1f9),{'error':_0x3181e7[_0x34cbc2(0x1cd)],'port':this['port'],'host':this['host']}),_0x16cf78(_0x3181e7)):(this[_0x34cbc2(0x139)]=!![],this[_0x34cbc2(0x1d7)][_0x34cbc2(0x117)]('HTTP\x20server\x20started\x20successfully',{'port':this[_0x34cbc2(0x210)],'host':this['host'],'httpUrl':_0x34cbc2(0x127)+this['host']+':'+this['port'],'wsUrl':'ws://'+this[_0x34cbc2(0x1af)]+':'+this['port'],'wsServerAttached':!!this['wss'],'wsConnections':this['connections'][_0x34cbc2(0x1a5)]}),setTimeout(async()=>{const _0x6afb60=_0x34cbc2;await this[_0x6afb60(0x17e)]();},0x3e8),_0x16dafa());}),this[_0x562191(0x167)]['on'](_0x562191(0x13f),_0x570ef5=>{const _0x58c342=_0x562191;this['logger'][_0x58c342(0x13f)]('HTTP\x20server\x20error:',{'error':_0x570ef5['message'],'stack':_0x570ef5['stack'],'port':this[_0x58c342(0x210)]});});});}async['testWebSocketServer'](){const _0x34e962=a0_0x5cb154;try{const {default:_0x88babe}=await import('ws'),_0x105ab4=new _0x88babe(_0x34e962(0x160)+this['port']);_0x105ab4['on'](_0x34e962(0x18f),()=>{const _0x200337=_0x34e962;this['logger']['info'](_0x200337(0x15b),{'port':this['port'],'url':'ws://localhost:'+this[_0x200337(0x210)]}),_0x105ab4['close']();}),_0x105ab4['on']('error',_0x5ccf19=>{const _0x1a35f7=_0x34e962;this[_0x1a35f7(0x1d7)][_0x1a35f7(0x13f)]('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this[_0x1a35f7(0x210)],'url':_0x1a35f7(0x160)+this['port'],'error':_0x5ccf19['message'],'code':_0x5ccf19['code']});}),_0x105ab4['on'](_0x34e962(0x1ec),(_0x1d4cd9,_0x3ecee8)=>{const _0x19c2fa=_0x34e962;_0x1d4cd9===0x3e8&&this[_0x19c2fa(0x1d7)][_0x19c2fa(0x117)]('WebSocket\x20test\x20connection\x20closed\x20cleanly');}),setTimeout(()=>{const _0x12f10f=_0x34e962;_0x105ab4[_0x12f10f(0x122)]===_0x88babe[_0x12f10f(0x16c)]&&(this['logger'][_0x12f10f(0x13f)]('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this['port'],'url':_0x12f10f(0x160)+this['port'],'readyState':_0x105ab4[_0x12f10f(0x122)]}),_0x105ab4['terminate']());},0x1388);}catch(_0x29065b){this[_0x34e962(0x1d7)]['error'](_0x34e962(0x168),{'error':_0x29065b[_0x34e962(0x1cd)],'stack':_0x29065b['stack']});}}[a0_0x5cb154(0x1b0)](_0x54c2c0){const _0x23de97=a0_0x5cb154;this['apiKeyManager']=_0x54c2c0,this[_0x23de97(0x1d7)]?.[_0x23de97(0x117)](_0x23de97(0x1eb),{'hasManager':!!_0x54c2c0});}[a0_0x5cb154(0x1b8)](_0x379d17){const _0x4cef0a=a0_0x5cb154;if(!_0x379d17)return null;const _0x33d1f9=_0x379d17['toLowerCase']();if(_0x33d1f9['includes'](_0x4cef0a(0x17f))||_0x33d1f9[_0x4cef0a(0x196)](_0x4cef0a(0x205)))return'anthropic';else{if(_0x33d1f9['includes']('openai')||_0x33d1f9['includes'](_0x4cef0a(0x1fb)))return _0x4cef0a(0x200);else{if(_0x33d1f9['includes'](_0x4cef0a(0x128)))return'deepseek';else{if(_0x33d1f9['includes'](_0x4cef0a(0x152)))return'microsoft';}}}return null;}[a0_0x5cb154(0x1c4)](){const _0x20eb61=a0_0x5cb154;return{'isRunning':this[_0x20eb61(0x139)],'port':this[_0x20eb61(0x210)],'host':this['host'],'connections':this[_0x20eb61(0x1b2)]['size'],'sessions':this[_0x20eb61(0x1c6)][_0x20eb61(0x1a5)],'url':'http://'+this['host']+':'+this[_0x20eb61(0x210)]};}async[a0_0x5cb154(0x198)](){const _0x1fade3=a0_0x5cb154;if(!this['isRunning'])return;this['logger'][_0x1fade3(0x117)](_0x1fade3(0x1ac));for(const _0x43ee6b of this['connections'][_0x1fade3(0x1ba)]()){_0x43ee6b['ws'][_0x1fade3(0x1ec)]();}return this[_0x1fade3(0x1b2)][_0x1fade3(0x156)](),this['wss']['close'](),new Promise(_0x176d22=>{const _0x2c5dd9=_0x1fade3;this[_0x2c5dd9(0x167)]['close'](()=>{const _0x1a04ca=_0x2c5dd9;this[_0x1a04ca(0x139)]=![],this['logger'][_0x1a04ca(0x117)]('Web\x20server\x20shutdown\x20complete'),_0x176d22();});});}}export default WebServer;if(import.meta.url==='file://'+process['argv'][0x1]){const simpleLogger={'info':(_0x3c40aa,_0x31072a)=>console[a0_0x5cb154(0x18e)](a0_0x5cb154(0x134)+_0x3c40aa,_0x31072a?JSON['stringify'](_0x31072a,null,0x2):''),'error':(_0x364fea,_0x4bc743)=>console['error']('[ERROR]\x20'+_0x364fea,_0x4bc743?JSON[a0_0x5cb154(0x207)](_0x4bc743,null,0x2):''),'warn':(_0x50e5e7,_0x398abe)=>console[a0_0x5cb154(0x166)](a0_0x5cb154(0x197)+_0x50e5e7,_0x398abe?JSON[a0_0x5cb154(0x207)](_0x398abe,null,0x2):''),'debug':(_0x1673b6,_0x2a3e7f)=>console[a0_0x5cb154(0x18e)]('[DEBUG]\x20'+_0x1673b6,_0x2a3e7f?JSON['stringify'](_0x2a3e7f,null,0x2):'')},mockOrchestrator={'processAction':async(_0x2a4a11,_0x14a9ad)=>{const _0x5a4456=a0_0x5cb154;simpleLogger[_0x5a4456(0x117)](_0x5a4456(0x16b),{'action':_0x2a4a11,'data':_0x14a9ad});switch(_0x2a4a11){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS['CREATE_AGENT']:return{'success':!![],'data':{'id':'agent-'+Date['now'](),'name':_0x14a9ad[_0x5a4456(0x212)]||'New\x20Agent','status':'active','model':_0x14a9ad[_0x5a4456(0x1ef)]||'anthropic-sonnet','systemPrompt':_0x14a9ad['systemPrompt']||_0x5a4456(0x1f6)}};case ORCHESTRATOR_ACTIONS[_0x5a4456(0x1d9)]:return{'success':!![],'data':{'message':{'id':'msg-'+Date['now'](),'content':_0x5a4456(0x216)+_0x14a9ad['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':_0x5a4456(0x149)+_0x2a4a11};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':a0_0x5cb154(0x16d)});console[a0_0x5cb154(0x18e)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server[a0_0x5cb154(0x1fd)]()['then'](()=>{const _0x16590e=a0_0x5cb154,_0x26e982=server[_0x16590e(0x1c4)]();console[_0x16590e(0x18e)](_0x16590e(0x1e7)+_0x26e982['url']),console[_0x16590e(0x18e)]('📱\x20Web\x20UI\x20available\x20at:\x20http://localhost:3001\x20(if\x20running)'),console['log']('🔧\x20API\x20available\x20at:\x20http://localhost:8080/api');})[a0_0x5cb154(0x173)](_0x3c29c6=>{const _0x2bdd74=a0_0x5cb154;console['error'](_0x2bdd74(0x131),_0x3c29c6[_0x2bdd74(0x1cd)]),process['exit'](0x1);}),process['on']('SIGINT',async()=>{const _0x5458c2=a0_0x5cb154;console['log'](_0x5458c2(0x202)),await server[_0x5458c2(0x198)](),process[_0x5458c2(0x184)](0x0);});}
@@ -1 +1 @@
1
- const a0_0x3873d0=a0_0x27e7;function a0_0x5358(){const _0x1738b6=['BMfTzq','Ag9TzwrPCG','CMvZDhjPy3rLzfbHDgHZ','rMLSzsbUB3qGzM91BMq','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','Aw5JBhvKzxm','DhLWzq','BgvUz3rO','zgLYzwn0B3j5','y3jLyxrLrgLYzwn0B3j5','y29Kzq','qwnJzxnZihrVihrOAxmGCgf0AcbPCYbYzxn0CMLJDgvK','AxntywzLugf0Aa','oduXnJi0B1bLDwXX','BwTKAxi','AM9PBG','z2v0rMLSzvn0yxrZ','AxneAxjLy3rVCNK','zMLSDgvY','CMvZB2X2zq','mZnuCe5xu0O','mta1ntmXmMfIruPbsW','mZyZmdq0C3jJuMHl','sw52ywXPzcbMAwXLihbHDgG','ywXSB3DLzev4DgvUC2LVBNm','mJmYodq2nK9xANHrwa','C29Tzq','C2HVDwXKsw5JBhvKzuL0zw0','BwvZC2fNzq','mZiWnJeWB014Dwf2','zxH0BMfTzq','AgvHBhrOEq','C3rHCNrZv2L0Aa','zgLYBMfTzq','CMvJDxjZAxzL','ndHLtNjyv3e','C29YDa','ugf0AcbUB3qGzM91BMqGB3iGAw5Hy2nLC3nPyMXL','y3DK','C2L6zq','mtmWmdq5mdfVqLvhA1a','AxngAwXL','AgvHBhrOq2HLy2S','mJGZmtq0oersreLVsG','y29UzMLN','CgXHDgzVCM0'];a0_0x5358=function(){return _0x1738b6;};return a0_0x5358();}(function(_0x4546ed,_0x16c13d){const _0x12e538=a0_0x27e7,_0x233af0=_0x4546ed();while(!![]){try{const _0x3e0d5b=parseInt(_0x12e538(0xb5))/0x1+parseInt(_0x12e538(0xdb))/0x2+parseInt(_0x12e538(0xb4))/0x3*(parseInt(_0x12e538(0xb6))/0x4)+-parseInt(_0x12e538(0xbd))/0x5*(parseInt(_0x12e538(0xc3))/0x6)+-parseInt(_0x12e538(0xb9))/0x7+parseInt(_0x12e538(0xcb))/0x8+-parseInt(_0x12e538(0xc8))/0x9;if(_0x3e0d5b===_0x16c13d)break;else _0x233af0['push'](_0x233af0['shift']());}catch(_0x1dd12b){_0x233af0['push'](_0x233af0['shift']());}}}(a0_0x5358,0x84867));import{promises as a0_0x27eaa8}from'fs';import a0_0x1ec094 from'path';function a0_0x27e7(_0x32982b,_0x4aa8ca){_0x32982b=_0x32982b-0xb1;const _0x5358e4=a0_0x5358();let _0x27e78c=_0x5358e4[_0x32982b];if(a0_0x27e7['AcgUrV']===undefined){var _0x216362=function(_0x214c01){const _0x2c0fb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27eaa8='',_0x1ec094='';for(let _0x580071=0x0,_0x192d96,_0xc551a1,_0x3062b7=0x0;_0xc551a1=_0x214c01['charAt'](_0x3062b7++);~_0xc551a1&&(_0x192d96=_0x580071%0x4?_0x192d96*0x40+_0xc551a1:_0xc551a1,_0x580071++%0x4)?_0x27eaa8+=String['fromCharCode'](0xff&_0x192d96>>(-0x2*_0x580071&0x6)):0x0){_0xc551a1=_0x2c0fb8['indexOf'](_0xc551a1);}for(let _0x4d440c=0x0,_0xfe70ee=_0x27eaa8['length'];_0x4d440c<_0xfe70ee;_0x4d440c++){_0x1ec094+='%'+('00'+_0x27eaa8['charCodeAt'](_0x4d440c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ec094);};a0_0x27e7['jUwKuZ']=_0x216362,a0_0x27e7['ZfrQrP']={},a0_0x27e7['AcgUrV']=!![];}const _0x41db89=_0x5358e4[0x0],_0x1b3e50=_0x32982b+_0x41db89,_0x5a22b2=a0_0x27e7['ZfrQrP'][_0x1b3e50];return!_0x5a22b2?(_0x27e78c=a0_0x27e7['jUwKuZ'](_0x27e78c),a0_0x27e7['ZfrQrP'][_0x1b3e50]=_0x27e78c):_0x27e78c=_0x5a22b2,_0x27e78c;}import a0_0x580071 from'os';class FileExplorerController{constructor(_0x192d96={}){this['config']={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x192d96};}async['getFileStats'](_0xc551a1){try{const _0x3062b7=await a0_0x27eaa8['stat'](_0xc551a1);return{'stats':_0x3062b7};}catch(_0x4d440c){return{'stats':null,'error':_0x4d440c instanceof Error?_0x4d440c['message']:'Unknown\x20error'};}}['isSafePath'](_0xfe70ee){const _0x2b20b9=a0_0x27e7;try{const _0x23d49d=a0_0x1ec094['resolve'](_0xfe70ee);if(this['config'][_0x2b20b9(0xd0)][_0x2b20b9(0xba)](_0x505a45=>_0x23d49d['startsWith'](a0_0x1ec094[_0x2b20b9(0xb3)](_0x505a45))))return![];return!![];}catch(_0x4f3de7){return![];}}[a0_0x3873d0(0xbb)](_0x442155,_0x2c51da){const _0x472cc1=a0_0x3873d0;if(!this[_0x472cc1(0xcc)]['showHidden']&&_0x442155[_0x472cc1(0xc0)]('.'))return![];if(_0x2c51da['isFile']()&&this[_0x472cc1(0xcc)][_0x472cc1(0xb8)]['length']>0x0){const _0x2ea488=a0_0x1ec094[_0x472cc1(0xbe)](_0x442155)['toLowerCase']();if(!this[_0x472cc1(0xcc)][_0x472cc1(0xb8)][_0x472cc1(0xd3)](_0x2ea488))return![];}return!![];}async['browseDirectory'](_0x4f080c=process[a0_0x3873d0(0xc6)](),_0x1ed1d6={}){const _0x4b2c58=a0_0x3873d0;try{const _0x1da52f=a0_0x1ec094[_0x4b2c58(0xb3)](_0x4f080c);if(!this[_0x4b2c58(0xda)](_0x1da52f))return{'success':![],'error':_0x4b2c58(0xd9)};const {stats:_0x30a597,error:_0x57a01c}=await this[_0x4b2c58(0xde)](_0x1da52f);if(_0x57a01c||!_0x30a597)return{'success':![],'error':_0x4b2c58(0xc5)};if(!_0x30a597[_0x4b2c58(0xb1)]())return{'success':![],'error':_0x4b2c58(0xd2)};const _0x582ebf=await a0_0x27eaa8['readdir'](_0x1da52f),_0x39d2f9=[];for(const _0x17911e of _0x582ebf){const _0xce3a6b=a0_0x1ec094[_0x4b2c58(0xdd)](_0x1da52f,_0x17911e),{stats:_0x4380c9}=await this['getFileStats'](_0xce3a6b);if(_0x4380c9&&this[_0x4b2c58(0xbb)](_0x17911e,_0x4380c9)){const _0x289cc8={'name':_0x17911e,'path':_0xce3a6b,'type':_0x4380c9['isDirectory']()?'directory':'file','size':_0x4380c9[_0x4b2c58(0xc9)]()?_0x4380c9[_0x4b2c58(0xc7)]:undefined,'lastModified':_0x4380c9['mtime'],'extension':_0x4380c9['isFile']()?a0_0x1ec094['extname'](_0x17911e)['toLowerCase']():undefined};_0x39d2f9['push'](_0x289cc8);}}_0x39d2f9[_0x4b2c58(0xc4)]((_0x2a4928,_0x33e884)=>{const _0x35c3d5=_0x4b2c58;if(_0x2a4928[_0x35c3d5(0xd4)]===_0x33e884['type'])return _0x2a4928['name']['localeCompare'](_0x33e884[_0x35c3d5(0xce)]);return _0x2a4928[_0x35c3d5(0xd4)]===_0x35c3d5(0xd6)?-0x1:0x1;});const _0x26bffb=a0_0x1ec094[_0x4b2c58(0xc1)](_0x1da52f),_0x294de0=_0x26bffb!==_0x1da52f;return{'success':!![],'data':{'currentPath':_0x1da52f,'parentPath':_0x294de0?_0x26bffb:null,'items':_0x39d2f9,'totalItems':_0x39d2f9[_0x4b2c58(0xd5)],'directories':_0x39d2f9['filter'](_0x477c28=>_0x477c28['type']===_0x4b2c58(0xd6))['length'],'files':_0x39d2f9[_0x4b2c58(0xb2)](_0x42373e=>_0x42373e['type']==='file')[_0x4b2c58(0xd5)]}};}catch(_0x444722){return{'success':![],'error':_0x444722 instanceof Error?_0x444722['message']:'Server\x20error'};}}async['getFileInfo'](_0x54f26c){const _0x18cff5=a0_0x3873d0;try{if(!_0x54f26c||!this[_0x18cff5(0xda)](_0x54f26c))return{'success':![],'error':_0x18cff5(0xb7)};const {stats:_0x2b7eb6,error:_0x557f7a}=await this[_0x18cff5(0xde)](_0x54f26c);if(_0x557f7a||!_0x2b7eb6)return{'success':![],'error':_0x18cff5(0xd1)};const _0x4ce169={'name':a0_0x1ec094['basename'](_0x54f26c),'path':_0x54f26c,'type':_0x2b7eb6['isDirectory']()?_0x18cff5(0xd6):'file','size':_0x2b7eb6[_0x18cff5(0xc9)]()?_0x2b7eb6['size']:undefined,'lastModified':_0x2b7eb6['mtime'],'extension':_0x2b7eb6[_0x18cff5(0xc9)]()?a0_0x1ec094['extname'](_0x54f26c)['toLowerCase']():undefined};return{'success':!![],'data':_0x4ce169};}catch(_0x328d8e){return{'success':![],'error':_0x328d8e instanceof Error?_0x328d8e[_0x18cff5(0xbc)]:'Server\x20error'};}}['getCurrentWorkingDirectory'](){const _0x4f9abd=a0_0x3873d0;return{'success':!![],'data':{'cwd':process['cwd'](),'platform':process[_0x4f9abd(0xcd)],'homedir':a0_0x580071[_0x4f9abd(0xcf)]()}};}async[a0_0x3873d0(0xd7)](_0x468b65,_0x2f44a7={}){const _0x758c3b=a0_0x3873d0;try{if(!this['isSafePath'](_0x468b65))return{'success':![],'error':'Invalid\x20directory\x20path'};return await a0_0x27eaa8[_0x758c3b(0xdc)](_0x468b65,{'recursive':_0x2f44a7[_0x758c3b(0xc2)]||![]}),{'success':!![],'data':{'path':_0x468b65,'relativePath':a0_0x1ec094['relative'](process[_0x758c3b(0xc6)](),_0x468b65)}};}catch(_0x72320a){return{'success':![],'error':_0x72320a instanceof Error?_0x72320a[_0x758c3b(0xbc)]:'Failed\x20to\x20create\x20directory','code':_0x72320a[_0x758c3b(0xd8)]};}}[a0_0x3873d0(0xca)](){const _0x26b047=a0_0x3873d0;return{'success':!![],'data':{'status':_0x26b047(0xbf),'timestamp':new Date()['toISOString'](),'module':'fileExplorer'}};}}export default FileExplorerController;
1
+ const a0_0x27e228=a0_0x4a67;(function(_0x58a935,_0x4f7817){const _0x333694=a0_0x4a67,_0x1799ed=_0x58a935();while(!![]){try{const _0x1fe5a6=parseInt(_0x333694(0x118))/0x1+parseInt(_0x333694(0x121))/0x2*(parseInt(_0x333694(0xfd))/0x3)+-parseInt(_0x333694(0xfc))/0x4*(parseInt(_0x333694(0x107))/0x5)+-parseInt(_0x333694(0x105))/0x6*(-parseInt(_0x333694(0x11d))/0x7)+parseInt(_0x333694(0x120))/0x8+parseInt(_0x333694(0x10d))/0x9+-parseInt(_0x333694(0x11c))/0xa;if(_0x1fe5a6===_0x4f7817)break;else _0x1799ed['push'](_0x1799ed['shift']());}catch(_0x2d8aa2){_0x1799ed['push'](_0x1799ed['shift']());}}}(a0_0x3ef9,0x8acc5));import{promises as a0_0x2dc799}from'fs';import{exec}from'child_process';import a0_0x56da06 from'path';import a0_0x5d0d11 from'os';function a0_0x4a67(_0x44d8a1,_0x3ee3f5){_0x44d8a1=_0x44d8a1-0xf9;const _0x3ef93e=a0_0x3ef9();let _0x4a6702=_0x3ef93e[_0x44d8a1];if(a0_0x4a67['YqhFyW']===undefined){var _0x232aa6=function(_0x846f2){const _0x114ec2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2dc799='',_0x56da06='';for(let _0x5d0d11=0x0,_0xa7d2c4,_0x1edce6,_0xed0197=0x0;_0x1edce6=_0x846f2['charAt'](_0xed0197++);~_0x1edce6&&(_0xa7d2c4=_0x5d0d11%0x4?_0xa7d2c4*0x40+_0x1edce6:_0x1edce6,_0x5d0d11++%0x4)?_0x2dc799+=String['fromCharCode'](0xff&_0xa7d2c4>>(-0x2*_0x5d0d11&0x6)):0x0){_0x1edce6=_0x114ec2['indexOf'](_0x1edce6);}for(let _0x3d3cc4=0x0,_0x3cca4b=_0x2dc799['length'];_0x3d3cc4<_0x3cca4b;_0x3d3cc4++){_0x56da06+='%'+('00'+_0x2dc799['charCodeAt'](_0x3d3cc4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56da06);};a0_0x4a67['lnzYeK']=_0x232aa6,a0_0x4a67['shdUlJ']={},a0_0x4a67['YqhFyW']=!![];}const _0x2642aa=_0x3ef93e[0x0],_0xd69226=_0x44d8a1+_0x2642aa,_0x250f16=a0_0x4a67['shdUlJ'][_0xd69226];return!_0x250f16?(_0x4a6702=a0_0x4a67['lnzYeK'](_0x4a6702),a0_0x4a67['shdUlJ'][_0xd69226]=_0x4a6702):_0x4a6702=_0x250f16,_0x4a6702;}function a0_0x3ef9(){const _0x2d5376=['zMLSzq','BwvZC2fNzq','ChvZAa','Dg9mB3DLCKnHC2u','mteWmJGWogfNqxP1zG','B3bLBIaI','rMLSzsbUB3qGzM91BMq','z2v0rMLSzuLUzM8','mJe3mJmZnZbRqvfjDNK','mJHSteHKzfa','CMvJDxjZAxzL','AgvHBhrOq2HLy2S','mJK5mtiWmevtAfPbqG','mNzZEeLHtG','AxntywzLugf0Aa','z2v0rMLSzvn0yxrZ','AxngAwXL','Ag9TzwrPCG','ywXSB3DLzev4DgvUC2LVBNm','C3rHDa','vw5RBM93BIbLCNjVCG','qwnJzxnZihrVihrOAxmGCgf0AcbPCYbYzxn0CMLJDgvK','CMvZDhjPy3rLzfbHDgHZ','BgvUz3rO','yMfZzw5HBwu','C29YDa','CMvZB2X2zq','Aw5JBhvKzxm','AxneAxjLy3rVCNK','ngnHshvtrW','mte3nJa3mM9vs1jSyG','C2L6zq','C3rHCNrZv2L0Aa','y29UzMLN','zgLYzwn0B3j5','zMLSDgvY','u2vYDMvYigvYCM9Y','zgLYBMfTzq','nJy2odu4B3P6AeTv','Dg9ju09tDhjPBMC','mteWoty1nuXPtNjgBW','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','BxrPBwu','zgfYD2LU','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0igfUzcbJB3vSzcbUB3qGyMuGy3jLyxrLzdOG','CMvSyxrPDMu','ntG0ntmYouDhsw16Ea','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','DhLWzq','C2HVD0HPzgrLBG','y3DK','zxH0BMfTzq','D2LUmZi'];a0_0x3ef9=function(){return _0x2d5376;};return a0_0x3ef9();}class FileExplorerController{constructor(_0xa7d2c4={}){const _0x917032=a0_0x4a67;this[_0x917032(0x100)]={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0xa7d2c4};}async['getFileStats'](_0x1edce6){const _0x488cda=a0_0x4a67;try{const _0xed0197=await a0_0x2dc799[_0x488cda(0x127)](_0x1edce6);return{'stats':_0xed0197};}catch(_0x3d3cc4){return{'stats':null,'error':_0x3d3cc4 instanceof Error?_0x3d3cc4[_0x488cda(0x115)]:_0x488cda(0x128)};}}[a0_0x27e228(0x122)](_0x3cca4b){const _0x435c43=a0_0x27e228;try{const _0x2e1e2f=a0_0x56da06['resolve'](_0x3cca4b);if(this['config'][_0x435c43(0x12a)]['some'](_0x537eb5=>_0x2e1e2f[_0x435c43(0xff)](a0_0x56da06['resolve'](_0x537eb5))))return![];return!![];}catch(_0x4297ac){return![];}}['shouldIncludeItem'](_0x1a8ae8,_0x3865f5){const _0x261496=a0_0x27e228;if(!this['config'][_0x261496(0x110)]&&_0x1a8ae8['startsWith']('.'))return![];if(_0x3865f5['isFile']()&&this[_0x261496(0x100)][_0x261496(0x126)]['length']>0x0){const _0x443ec1=a0_0x56da06[_0x261496(0x112)](_0x1a8ae8)['toLowerCase']();if(!this[_0x261496(0x100)][_0x261496(0x126)][_0x261496(0xfa)](_0x443ec1))return![];}return!![];}async['browseDirectory'](_0x317f9e=process['cwd'](),_0x29f811={}){const _0x5be318=a0_0x27e228;try{const _0x1caa1b=a0_0x56da06['resolve'](_0x317f9e);if(!this['isSafePath'](_0x1caa1b))return{'success':![],'error':_0x5be318(0x129)};const {stats:_0x4c0e8a,error:_0x1a5207}=await this[_0x5be318(0x123)](_0x1caa1b);if(_0x1a5207||!_0x4c0e8a)return{'success':![],'error':'Path\x20not\x20found\x20or\x20inaccessible'};if(!_0x4c0e8a['isDirectory']())return{'success':![],'error':_0x5be318(0x10e)};const _0x1dc78f=await a0_0x2dc799['readdir'](_0x1caa1b),_0x149e8e=[];for(const _0x3a093e of _0x1dc78f){const _0x44c955=a0_0x56da06['join'](_0x1caa1b,_0x3a093e),{stats:_0x5de256}=await this['getFileStats'](_0x44c955);if(_0x5de256&&this['shouldIncludeItem'](_0x3a093e,_0x5de256)){const _0x2fe0ea={'name':_0x3a093e,'path':_0x44c955,'type':_0x5de256[_0x5be318(0xfb)]()?_0x5be318(0x101):'file','size':_0x5de256['isFile']()?_0x5de256['size']:undefined,'lastModified':_0x5de256['mtime'],'extension':_0x5de256['isFile']()?a0_0x56da06['extname'](_0x3a093e)[_0x5be318(0x117)]():undefined};_0x149e8e[_0x5be318(0x116)](_0x2fe0ea);}}_0x149e8e[_0x5be318(0x12d)]((_0x211b28,_0x2272ad)=>{const _0x577ba1=_0x5be318;if(_0x211b28[_0x577ba1(0x10f)]===_0x2272ad[_0x577ba1(0x10f)])return _0x211b28['name']['localeCompare'](_0x2272ad['name']);return _0x211b28['type']==='directory'?-0x1:0x1;});const _0x2cd8be=a0_0x56da06[_0x5be318(0x104)](_0x1caa1b),_0x3f56ed=_0x2cd8be!==_0x1caa1b;return{'success':!![],'data':{'currentPath':_0x1caa1b,'parentPath':_0x3f56ed?_0x2cd8be:null,'items':_0x149e8e,'totalItems':_0x149e8e['length'],'directories':_0x149e8e[_0x5be318(0x102)](_0x293e74=>_0x293e74['type']==='directory')[_0x5be318(0x12b)],'files':_0x149e8e[_0x5be318(0x102)](_0x13f134=>_0x13f134['type']==='file')['length']}};}catch(_0x38a124){return{'success':![],'error':_0x38a124 instanceof Error?_0x38a124[_0x5be318(0x115)]:_0x5be318(0x103)};}}async[a0_0x27e228(0x11b)](_0x4d362f){const _0x2b6523=a0_0x27e228;try{if(!_0x4d362f||!this[_0x2b6523(0x122)](_0x4d362f))return{'success':![],'error':'Invalid\x20file\x20path'};const {stats:_0x495e61,error:_0xc8ed3f}=await this[_0x2b6523(0x123)](_0x4d362f);if(_0xc8ed3f||!_0x495e61)return{'success':![],'error':_0x2b6523(0x11a)};const _0x4ee796={'name':a0_0x56da06[_0x2b6523(0x12c)](_0x4d362f),'path':_0x4d362f,'type':_0x495e61[_0x2b6523(0xfb)]()?_0x2b6523(0x101):_0x2b6523(0x114),'size':_0x495e61[_0x2b6523(0x124)]()?_0x495e61[_0x2b6523(0xfe)]:undefined,'lastModified':_0x495e61[_0x2b6523(0x109)],'extension':_0x495e61['isFile']()?a0_0x56da06['extname'](_0x4d362f)[_0x2b6523(0x117)]():undefined};return{'success':!![],'data':_0x4ee796};}catch(_0x2d1d72){return{'success':![],'error':_0x2d1d72 instanceof Error?_0x2d1d72[_0x2b6523(0x115)]:_0x2b6523(0x103)};}}[a0_0x27e228(0x108)](){const _0x4be638=a0_0x27e228;return{'success':!![],'data':{'cwd':process[_0x4be638(0x111)](),'platform':process['platform'],'homedir':a0_0x5d0d11[_0x4be638(0x125)]()}};}async['createDirectory'](_0x3afdc5,_0x176c79={}){const _0x133a72=a0_0x27e228;try{if(!this['isSafePath'](_0x3afdc5))return{'success':![],'error':'Invalid\x20directory\x20path'};return await a0_0x2dc799['mkdir'](_0x3afdc5,{'recursive':_0x176c79[_0x133a72(0x11e)]||![]}),{'success':!![],'data':{'path':_0x3afdc5,'relativePath':a0_0x56da06[_0x133a72(0x10c)](process['cwd'](),_0x3afdc5)}};}catch(_0x173a07){return{'success':![],'error':_0x173a07 instanceof Error?_0x173a07[_0x133a72(0x115)]:'Failed\x20to\x20create\x20directory','code':_0x173a07['code']};}}async['openInExplorer'](_0x9d75af){const _0x20442a=a0_0x27e228;try{const _0x5a7bb9=a0_0x56da06[_0x20442a(0xf9)](_0x9d75af);if(!this['isSafePath'](_0x5a7bb9))return{'success':![],'error':_0x20442a(0x129)};const {stats:_0x4835ef,error:_0x52dc5f}=await this[_0x20442a(0x123)](_0x5a7bb9);if(_0x52dc5f||!_0x4835ef)try{await a0_0x2dc799['mkdir'](_0x5a7bb9,{'recursive':!![]});}catch(_0x58eb40){return{'success':![],'error':_0x20442a(0x10b)+_0x58eb40[_0x20442a(0x115)]};}const _0x1fdf3f=a0_0x5d0d11['platform']();let _0xbf9ef0;if(_0x1fdf3f==='win32')_0xbf9ef0='explorer\x20\x22'+_0x5a7bb9+'\x22';else _0x1fdf3f===_0x20442a(0x10a)?_0xbf9ef0=_0x20442a(0x119)+_0x5a7bb9+'\x22':_0xbf9ef0='xdg-open\x20\x22'+_0x5a7bb9+'\x22';return new Promise(_0x1b6655=>{exec(_0xbf9ef0,_0x967470=>{const _0x200a3a=a0_0x4a67;_0x967470?_0x1fdf3f===_0x200a3a(0x113)?_0x1b6655({'success':!![]}):_0x1b6655({'success':![],'error':_0x967470[_0x200a3a(0x115)]}):_0x1b6655({'success':!![]});});});}catch(_0x4e6af9){return{'success':![],'error':_0x4e6af9 instanceof Error?_0x4e6af9[_0x20442a(0x115)]:'Failed\x20to\x20open\x20directory'};}}[a0_0x27e228(0x11f)](){const _0x3ec0de=a0_0x27e228;return{'success':!![],'data':{'status':'healthy','timestamp':new Date()[_0x3ec0de(0x106)](),'module':'fileExplorer'}};}}export default FileExplorerController;
@@ -1 +1 @@
1
- (function(_0x35defe,_0x23e158){const _0x58e861=a0_0x5d74,_0x3ab4fd=_0x35defe();while(!![]){try{const _0x19ad5f=-parseInt(_0x58e861(0x9d))/0x1*(parseInt(_0x58e861(0x99))/0x2)+parseInt(_0x58e861(0x9a))/0x3+-parseInt(_0x58e861(0x97))/0x4+-parseInt(_0x58e861(0x96))/0x5*(-parseInt(_0x58e861(0x93))/0x6)+parseInt(_0x58e861(0x95))/0x7*(-parseInt(_0x58e861(0x98))/0x8)+parseInt(_0x58e861(0x94))/0x9+parseInt(_0x58e861(0x9c))/0xa*(parseInt(_0x58e861(0x9b))/0xb);if(_0x19ad5f===_0x23e158)break;else _0x3ab4fd['push'](_0x3ab4fd['shift']());}catch(_0x402b19){_0x3ab4fd['push'](_0x3ab4fd['shift']());}}}(a0_0x2e97,0xa206b));function a0_0x2e97(){const _0x3ed3a8=['nZyZntqYz0XVqw1W','mJjhDuT1rKK','nti2mdq2mfnpvfjTrq','odaZnJK5AeDtC1vJ','mJyXnNLuANjWzW','nJK2odmYmKfQt3nPtW','mZveDhnSBMe','mta1mtbutffWDgK','ndm4mta5mM1sCvn4yW','nJK1nti4zwTStujn','mKfIzKHUBq'];a0_0x2e97=function(){return _0x3ed3a8;};return a0_0x2e97();}import{createFileExplorerRouter,defaultConfig}from'./routes.js';function a0_0x5d74(_0x2c72e6,_0x5d6d9b){_0x2c72e6=_0x2c72e6-0x93;const _0x2e97ac=a0_0x2e97();let _0x5d74c5=_0x2e97ac[_0x2c72e6];if(a0_0x5d74['OtjXPh']===undefined){var _0x342cb3=function(_0x20f05f){const _0x205cd6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x118c4d='',_0x1a7cd1='';for(let _0x25203a=0x0,_0x411ce1,_0x41f2e7,_0x3bbb25=0x0;_0x41f2e7=_0x20f05f['charAt'](_0x3bbb25++);~_0x41f2e7&&(_0x411ce1=_0x25203a%0x4?_0x411ce1*0x40+_0x41f2e7:_0x41f2e7,_0x25203a++%0x4)?_0x118c4d+=String['fromCharCode'](0xff&_0x411ce1>>(-0x2*_0x25203a&0x6)):0x0){_0x41f2e7=_0x205cd6['indexOf'](_0x41f2e7);}for(let _0x12d190=0x0,_0x38d4b9=_0x118c4d['length'];_0x12d190<_0x38d4b9;_0x12d190++){_0x1a7cd1+='%'+('00'+_0x118c4d['charCodeAt'](_0x12d190)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a7cd1);};a0_0x5d74['motcds']=_0x342cb3,a0_0x5d74['gMBFpm']={},a0_0x5d74['OtjXPh']=!![];}const _0x4a0da9=_0x2e97ac[0x0],_0xb16d4e=_0x2c72e6+_0x4a0da9,_0x3e5ea4=a0_0x5d74['gMBFpm'][_0xb16d4e];return!_0x3e5ea4?(_0x5d74c5=a0_0x5d74['motcds'](_0x5d74c5),a0_0x5d74['gMBFpm'][_0xb16d4e]=_0x5d74c5):_0x5d74c5=_0x3e5ea4,_0x5d74c5;}import a0_0x118c4d from'./controller.js';export function initFileExplorerModule(_0x1a7cd1={}){const _0x25203a={...defaultConfig,..._0x1a7cd1},_0x411ce1=createFileExplorerRouter(_0x25203a),_0x41f2e7=new a0_0x118c4d(_0x25203a);return{'router':_0x411ce1,'controller':_0x41f2e7,'config':_0x25203a};}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x118c4d,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
1
+ (function(_0x585d25,_0x12513e){const _0x5667d3=a0_0x26b0,_0x5831fa=_0x585d25();while(!![]){try{const _0x577440=-parseInt(_0x5667d3(0x92))/0x1*(parseInt(_0x5667d3(0x8f))/0x2)+parseInt(_0x5667d3(0x90))/0x3*(parseInt(_0x5667d3(0x8b))/0x4)+-parseInt(_0x5667d3(0x91))/0x5*(-parseInt(_0x5667d3(0x8a))/0x6)+-parseInt(_0x5667d3(0x89))/0x7+-parseInt(_0x5667d3(0x8e))/0x8+parseInt(_0x5667d3(0x8c))/0x9+parseInt(_0x5667d3(0x8d))/0xa;if(_0x577440===_0x12513e)break;else _0x5831fa['push'](_0x5831fa['shift']());}catch(_0x4f407f){_0x5831fa['push'](_0x5831fa['shift']());}}}(a0_0x3065,0xa1c53));import{createFileExplorerRouter,defaultConfig}from'./routes.js';import a0_0x5e9b44 from'./controller.js';export function initFileExplorerModule(_0x36b5e8={}){const _0x57d746={...defaultConfig,..._0x36b5e8},_0x3f34ca=createFileExplorerRouter(_0x57d746),_0x105fb3=new a0_0x5e9b44(_0x57d746);return{'router':_0x3f34ca,'controller':_0x105fb3,'config':_0x57d746};}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';function a0_0x26b0(_0x5f0d01,_0x5dfea7){_0x5f0d01=_0x5f0d01-0x89;const _0x3065a2=a0_0x3065();let _0x26b0c3=_0x3065a2[_0x5f0d01];if(a0_0x26b0['IzJiwg']===undefined){var _0x403c0c=function(_0xc2ac){const _0x1c77ca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e9b44='',_0x36b5e8='';for(let _0x57d746=0x0,_0x3f34ca,_0x105fb3,_0x3b9eb4=0x0;_0x105fb3=_0xc2ac['charAt'](_0x3b9eb4++);~_0x105fb3&&(_0x3f34ca=_0x57d746%0x4?_0x3f34ca*0x40+_0x105fb3:_0x105fb3,_0x57d746++%0x4)?_0x5e9b44+=String['fromCharCode'](0xff&_0x3f34ca>>(-0x2*_0x57d746&0x6)):0x0){_0x105fb3=_0x1c77ca['indexOf'](_0x105fb3);}for(let _0x9ddf21=0x0,_0x58872f=_0x5e9b44['length'];_0x9ddf21<_0x58872f;_0x9ddf21++){_0x36b5e8+='%'+('00'+_0x5e9b44['charCodeAt'](_0x9ddf21)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36b5e8);};a0_0x26b0['iHXNAR']=_0x403c0c,a0_0x26b0['gXmRRm']={},a0_0x26b0['IzJiwg']=!![];}const _0x5bf131=_0x3065a2[0x0],_0x252da2=_0x5f0d01+_0x5bf131,_0x1784fb=a0_0x26b0['gXmRRm'][_0x252da2];return!_0x1784fb?(_0x26b0c3=a0_0x26b0['iHXNAR'](_0x26b0c3),a0_0x26b0['gXmRRm'][_0x252da2]=_0x26b0c3):_0x26b0c3=_0x1784fb,_0x26b0c3;}export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x5e9b44,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};function a0_0x3065(){const _0x2073a2=['ndu3mdzACKjzExa','ndqYmtKWDwP4BeXt','nZi1otreCgDNDNO','ndu0mdq5nKTWvwfqEq','mJaYnZmXm1DrwgLrrG','mtaYmJy3mJbotgTyrMK','nJy4nZmYmgPPrxPyyq','ndzwC3HdyKG','m3rgrLDlsq','otvYEwDAr2y'];a0_0x3065=function(){return _0x2073a2;};return a0_0x3065();}
@@ -1 +1 @@
1
- (function(_0x88ef64,_0x481519){const _0xa1a12=a0_0x3a04,_0x37e249=_0x88ef64();while(!![]){try{const _0x362a26=parseInt(_0xa1a12(0xf8))/0x1+-parseInt(_0xa1a12(0xf1))/0x2+-parseInt(_0xa1a12(0xff))/0x3*(parseInt(_0xa1a12(0xfd))/0x4)+parseInt(_0xa1a12(0xfb))/0x5+parseInt(_0xa1a12(0xeb))/0x6*(parseInt(_0xa1a12(0x100))/0x7)+parseInt(_0xa1a12(0xea))/0x8+-parseInt(_0xa1a12(0xf7))/0x9;if(_0x362a26===_0x481519)break;else _0x37e249['push'](_0x37e249['shift']());}catch(_0x796697){_0x37e249['push'](_0x37e249['shift']());}}}(a0_0x108f,0xce9bd));function a0_0x108f(){const _0x3744c9=['Bwv0Ag9K','CxvLCNK','mteYmtK0ohPXuhDVtG','ugf0AcbWyxjHBwv0zxiGBxvZDcbIzsbHihn0CMLUzW','BM8Ty2fJAgu','zMLSDgvY','ic0G','w0zPBgvfEhbSB3jLCL0G','otK4ntu5owr3rK53tW','nduZmJu4r21jEejv','z2v0','BM93','mJqYmtu4mhvmrKLJua','B3jPz2LUywXvCMW','odq5mMvkv3jXCa','ChvZAa','ndK1Dwjqz0zW','ndLpz3jIvwy','C3rYAw5N','CMvTB3rLqwrKCMvZCW','AgfZ','C3rHDhvZ','nJGWotm5mLvbtwTfAq','oti0mJu4ywPQrLvA','BM8Ty2fJAguSig5Vlxn0B3jLlcbTDxn0lxjLDMfSAwrHDgu','zMLUAxnO','Dw5RBM93BG'];a0_0x108f=function(){return _0x3744c9;};return a0_0x108f();}export function validatePath(_0x5bd13e,_0x4ce153,_0xac8b00){const _0x405ddc=a0_0x3a04,{path:_0x15fadd}=_0x5bd13e[_0x405ddc(0xf0)];if(_0x15fadd&&typeof _0x15fadd!==_0x405ddc(0x101))return _0x4ce153[_0x405ddc(0x104)](0x190)['json']({'success':![],'error':_0x405ddc(0xf2)});_0xac8b00();}function a0_0x3a04(_0x3a9746,_0x2f2f3a){_0x3a9746=_0x3a9746-0xea;const _0x108f4d=a0_0x108f();let _0x3a049e=_0x108f4d[_0x3a9746];if(a0_0x3a04['jvddEl']===undefined){var _0x399bce=function(_0x75a913){const _0xe63e7f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bd13e='',_0x4ce153='';for(let _0xac8b00=0x0,_0x15fadd,_0x690677,_0x1b16b9=0x0;_0x690677=_0x75a913['charAt'](_0x1b16b9++);~_0x690677&&(_0x15fadd=_0xac8b00%0x4?_0x15fadd*0x40+_0x690677:_0x690677,_0xac8b00++%0x4)?_0x5bd13e+=String['fromCharCode'](0xff&_0x15fadd>>(-0x2*_0xac8b00&0x6)):0x0){_0x690677=_0xe63e7f['indexOf'](_0x690677);}for(let _0x1dec90=0x0,_0x13e92f=_0x5bd13e['length'];_0x1dec90<_0x13e92f;_0x1dec90++){_0x4ce153+='%'+('00'+_0x5bd13e['charCodeAt'](_0x1dec90)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ce153);};a0_0x3a04['yBSDTd']=_0x399bce,a0_0x3a04['qOqZgz']={},a0_0x3a04['jvddEl']=!![];}const _0x2db0bd=_0x108f4d[0x0],_0x2cd0df=_0x3a9746+_0x2db0bd,_0x2d244b=a0_0x3a04['qOqZgz'][_0x2cd0df];return!_0x2d244b?(_0x3a049e=a0_0x3a04['yBSDTd'](_0x3a049e),a0_0x3a04['qOqZgz'][_0x2cd0df]=_0x3a049e):_0x3a049e=_0x2d244b,_0x3a049e;}export function createRateLimit(_0x690677=0x64,_0x1b16b9=0xea60){const _0x1dec90=new Map();return(_0x13e92f,_0x20d197,_0x12bdec)=>{const _0x1d9404=a0_0x3a04,_0x5e6332=_0x13e92f['ip']||_0x13e92f['connection'][_0x1d9404(0x102)]||_0x1d9404(0xee),_0x5664b0=Date[_0x1d9404(0xfa)](),_0x35f625=_0x5664b0-_0x1b16b9;!_0x1dec90[_0x1d9404(0x103)](_0x5e6332)&&_0x1dec90['set'](_0x5e6332,[]);const _0x464988=_0x1dec90[_0x1d9404(0xf9)](_0x5e6332),_0x274595=_0x464988[_0x1d9404(0xf4)](_0x27b703=>_0x27b703>_0x35f625);_0x1dec90['set'](_0x5e6332,_0x274595);if(_0x274595['length']>=_0x690677)return _0x20d197['status'](0x1ad)['json']({'success':![],'error':'Too\x20many\x20requests','retryAfter':Math['ceil'](_0x1b16b9/0x3e8)});_0x274595[_0x1d9404(0xfe)](_0x5664b0),_0x12bdec();};}export function securityHeaders(_0x293568,_0x499cf4,_0x35d194){const _0x487045=a0_0x3a04;_0x499cf4['set']({'Cache-Control':_0x487045(0xec),'Pragma':_0x487045(0xf3),'Expires':'0'}),_0x35d194();}export function requestLogger(_0x31e443,_0x3b62c2,_0x44986d){const _0x327511=a0_0x3a04,_0xd6a5bc=Date[_0x327511(0xfa)]();_0x3b62c2['on'](_0x327511(0xed),()=>{const _0x501510=_0x327511,_0x42d1d3=Date[_0x501510(0xfa)]()-_0xd6a5bc;console['log'](_0x501510(0xf6)+_0x31e443[_0x501510(0xef)]+'\x20'+_0x31e443[_0x501510(0xfc)]+_0x501510(0xf5)+_0x3b62c2['statusCode']+'\x20('+_0x42d1d3+'ms)');}),_0x44986d();}
1
+ (function(_0x46ea23,_0x4d8152){const _0x229b05=a0_0x495e,_0x3c3806=_0x46ea23();while(!![]){try{const _0x200a4b=parseInt(_0x229b05(0x100))/0x1+-parseInt(_0x229b05(0x101))/0x2*(parseInt(_0x229b05(0x113))/0x3)+-parseInt(_0x229b05(0x117))/0x4*(parseInt(_0x229b05(0x111))/0x5)+parseInt(_0x229b05(0x10d))/0x6*(parseInt(_0x229b05(0x10f))/0x7)+-parseInt(_0x229b05(0x109))/0x8+parseInt(_0x229b05(0xfe))/0x9+parseInt(_0x229b05(0x115))/0xa*(parseInt(_0x229b05(0x10c))/0xb);if(_0x200a4b===_0x4d8152)break;else _0x3c3806['push'](_0x3c3806['shift']());}catch(_0x4894ba){_0x3c3806['push'](_0x3c3806['shift']());}}}(a0_0x3dd4,0x6cfd9));export function validatePath(_0x48abaf,_0x4b218c,_0x551fea){const _0x4c88ba=a0_0x495e,{path:_0x483fef}=_0x48abaf['query'];if(_0x483fef&&typeof _0x483fef!=='string')return _0x4b218c[_0x4c88ba(0x106)](0x190)[_0x4c88ba(0x107)]({'success':![],'error':'Path\x20parameter\x20must\x20be\x20a\x20string'});_0x551fea();}export function createRateLimit(_0x2e80c0=0x64,_0x356323=0xea60){const _0x9fecb7=new Map();return(_0x1e8fe0,_0x5292fe,_0x14c7a1)=>{const _0x16e104=a0_0x495e,_0x3969a5=_0x1e8fe0['ip']||_0x1e8fe0[_0x16e104(0x108)][_0x16e104(0x119)]||'unknown',_0x2504be=Date[_0x16e104(0x105)](),_0x5919d1=_0x2504be-_0x356323;!_0x9fecb7['has'](_0x3969a5)&&_0x9fecb7['set'](_0x3969a5,[]);const _0x509be8=_0x9fecb7[_0x16e104(0x110)](_0x3969a5),_0x14010e=_0x509be8['filter'](_0x234b21=>_0x234b21>_0x5919d1);_0x9fecb7[_0x16e104(0x118)](_0x3969a5,_0x14010e);if(_0x14010e[_0x16e104(0x114)]>=_0x2e80c0)return _0x5292fe['status'](0x1ad)['json']({'success':![],'error':_0x16e104(0x10a),'retryAfter':Math[_0x16e104(0xff)](_0x356323/0x3e8)});_0x14010e[_0x16e104(0x10e)](_0x2504be),_0x14c7a1();};}export function securityHeaders(_0x392d9e,_0x178837,_0x80abf8){const _0x37a622=a0_0x495e;_0x178837['set']({'Cache-Control':_0x37a622(0x103),'Pragma':'no-cache','Expires':'0'}),_0x80abf8();}function a0_0x3dd4(){const _0xc27d35=['ChvZAa','n0DfELHyAG','z2v0','odKWy3nXEMrl','B3jPz2LUywXvCMW','mZKYntCXtfPbEKTz','BgvUz3rO','mtbSzgn5qMe','Bg9N','mtK3mJrfwhDquLy','C2v0','CMvTB3rLqwrKCMvZCW','nJi1mtGXnfP1CunvuW','y2vPBa','ody2ntG1EunoDhrS','mtbhB1r0D2C','ic0G','BM8Ty2fJAguSig5Vlxn0B3jLlcbTDxn0lxjLDMfSAwrHDgu','w0zPBgvfEhbSB3jLCL0G','BM93','C3rHDhvZ','ANnVBG','y29UBMvJDgLVBG','nJm0odq1nKjIuxrHyW','vg9Vig1HBNKGCMvXDwvZDhm','Bwv0Ag9K','ntm1odCXnKT2wNnUtq','ndm0mtu4oe1SrvjfDq'];a0_0x3dd4=function(){return _0xc27d35;};return a0_0x3dd4();}function a0_0x495e(_0x44d021,_0x5eee37){_0x44d021=_0x44d021-0xfe;const _0x3dd44a=a0_0x3dd4();let _0x495edd=_0x3dd44a[_0x44d021];if(a0_0x495e['vmpqyb']===undefined){var _0xe93ed2=function(_0x1769ca){const _0x548b82='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48abaf='',_0x4b218c='';for(let _0x551fea=0x0,_0x483fef,_0x2e80c0,_0x356323=0x0;_0x2e80c0=_0x1769ca['charAt'](_0x356323++);~_0x2e80c0&&(_0x483fef=_0x551fea%0x4?_0x483fef*0x40+_0x2e80c0:_0x2e80c0,_0x551fea++%0x4)?_0x48abaf+=String['fromCharCode'](0xff&_0x483fef>>(-0x2*_0x551fea&0x6)):0x0){_0x2e80c0=_0x548b82['indexOf'](_0x2e80c0);}for(let _0x9fecb7=0x0,_0x1e8fe0=_0x48abaf['length'];_0x9fecb7<_0x1e8fe0;_0x9fecb7++){_0x4b218c+='%'+('00'+_0x48abaf['charCodeAt'](_0x9fecb7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b218c);};a0_0x495e['bGPrDO']=_0xe93ed2,a0_0x495e['sSLaDd']={},a0_0x495e['vmpqyb']=!![];}const _0x65e245=_0x3dd44a[0x0],_0x1e2437=_0x44d021+_0x65e245,_0x475e06=a0_0x495e['sSLaDd'][_0x1e2437];return!_0x475e06?(_0x495edd=a0_0x495e['bGPrDO'](_0x495edd),a0_0x495e['sSLaDd'][_0x1e2437]=_0x495edd):_0x495edd=_0x475e06,_0x495edd;}export function requestLogger(_0x1fbfca,_0x149642,_0x307477){const _0x16551b=a0_0x495e,_0x4695c2=Date[_0x16551b(0x105)]();_0x149642['on']('finish',()=>{const _0x464f64=_0x16551b,_0x2459f3=Date[_0x464f64(0x105)]()-_0x4695c2;console[_0x464f64(0x116)](_0x464f64(0x104)+_0x1fbfca[_0x464f64(0x10b)]+'\x20'+_0x1fbfca[_0x464f64(0x112)]+_0x464f64(0x102)+_0x149642['statusCode']+'\x20('+_0x2459f3+'ms)');}),_0x307477();}
@@ -1 +1 @@
1
- (function(_0x44ae3c,_0x2709a9){const _0x4edb70=a0_0x5ea1,_0x9153e5=_0x44ae3c();while(!![]){try{const _0x305cde=parseInt(_0x4edb70(0x10f))/0x1*(parseInt(_0x4edb70(0xf9))/0x2)+parseInt(_0x4edb70(0x102))/0x3*(-parseInt(_0x4edb70(0x107))/0x4)+-parseInt(_0x4edb70(0x108))/0x5*(-parseInt(_0x4edb70(0xfc))/0x6)+-parseInt(_0x4edb70(0x10a))/0x7+-parseInt(_0x4edb70(0x101))/0x8*(-parseInt(_0x4edb70(0xf7))/0x9)+-parseInt(_0x4edb70(0xf8))/0xa+parseInt(_0x4edb70(0xfd))/0xb;if(_0x305cde===_0x2709a9)break;else _0x9153e5['push'](_0x9153e5['shift']());}catch(_0x3b4755){_0x9153e5['push'](_0x9153e5['shift']());}}}(a0_0x1dae,0xf0cc7));import a0_0x4411d2 from'express';import a0_0x4d9867 from'./controller.js';function a0_0x1dae(){const _0x2f906b=['Cg9ZDa','zxjYB3i','y3jLyxrLrgLYzwn0B3j5','og1Aq0r4tq','nJuXq3DrvKXc','C3vJy2vZCW','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','z2v0','DxnL','mJCXnJHoCxrkrK8','nxbfwNnhzG','BM90igzVDw5K','otyWmJy2m3jSuKzkwa','ANnVBG','l21RzgLY','Aw5JBhvKzxm','Cgf0Aa','mtyZoty2m0XiBgzrAa','CMvZDhjPy3rLza','C3rHDhvZ','mtm3nJe4mtbSDxvKve8','mti1ntC3odb1rwLLEg0','mLnVteHUCa','ruvysvnu','sw50zxjUywWGC2vYDMvYigvYCM9Y','oteZmdu2nKXyq0X4wa','ndm2otCYog1LtNzMzW'];a0_0x1dae=function(){return _0x2f906b;};return a0_0x1dae();}import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';function a0_0x5ea1(_0x4456aa,_0x5363e3){_0x4456aa=_0x4456aa-0xf5;const _0x1daeaf=a0_0x1dae();let _0x5ea1f7=_0x1daeaf[_0x4456aa];if(a0_0x5ea1['ozxGno']===undefined){var _0x52b8fe=function(_0x50d040){const _0x4e3491='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4411d2='',_0x4d9867='';for(let _0x41da0=0x0,_0x3da2c0,_0x48ced3,_0x5a062b=0x0;_0x48ced3=_0x50d040['charAt'](_0x5a062b++);~_0x48ced3&&(_0x3da2c0=_0x41da0%0x4?_0x3da2c0*0x40+_0x48ced3:_0x48ced3,_0x41da0++%0x4)?_0x4411d2+=String['fromCharCode'](0xff&_0x3da2c0>>(-0x2*_0x41da0&0x6)):0x0){_0x48ced3=_0x4e3491['indexOf'](_0x48ced3);}for(let _0x3c493d=0x0,_0x1f5b11=_0x4411d2['length'];_0x3c493d<_0x1f5b11;_0x3c493d++){_0x4d9867+='%'+('00'+_0x4411d2['charCodeAt'](_0x3c493d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d9867);};a0_0x5ea1['VLRpJf']=_0x52b8fe,a0_0x5ea1['zitoVQ']={},a0_0x5ea1['ozxGno']=!![];}const _0x1cc4db=_0x1daeaf[0x0],_0x2b55f3=_0x4456aa+_0x1cc4db,_0x195cb6=a0_0x5ea1['zitoVQ'][_0x2b55f3];return!_0x195cb6?(_0x5ea1f7=a0_0x5ea1['VLRpJf'](_0x5ea1f7),a0_0x5ea1['zitoVQ'][_0x2b55f3]=_0x5ea1f7):_0x5ea1f7=_0x195cb6,_0x5ea1f7;}export function createFileExplorerRouter(_0x41da0={}){const _0x6b7ebb=a0_0x5ea1,_0x3da2c0=a0_0x4411d2['Router'](),_0x48ced3=new a0_0x4d9867(_0x41da0);return _0x3da2c0['use'](requestLogger),_0x3da2c0[_0x6b7ebb(0x106)](securityHeaders),_0x3da2c0[_0x6b7ebb(0x106)](createRateLimit(0x64,0xea60)),_0x3da2c0[_0x6b7ebb(0x105)]('/health',(_0x5a062b,_0x3c493d)=>{const _0x1f5b11=_0x48ced3['healthCheck']();_0x3c493d['json'](_0x1f5b11);}),_0x3da2c0[_0x6b7ebb(0x105)]('/cwd',(_0x28b3f6,_0x540863)=>{const _0x45365f=_0x6b7ebb,_0x54526e=_0x48ced3[_0x45365f(0x104)]();_0x540863['json'](_0x54526e);}),_0x3da2c0['get']('/browse',validatePath,async(_0x53b078,_0x264926)=>{const _0x4fb49f=_0x6b7ebb;try{const _0x398e18=_0x53b078['query'][_0x4fb49f(0x10e)],_0x59f6c4={'showHidden':_0x53b078['query']['showHidden']==='true'},_0x574e1e=await _0x48ced3['browseDirectory'](_0x398e18,_0x59f6c4);if(_0x574e1e['success'])_0x264926['json'](_0x574e1e);else{const _0x45837d=_0x574e1e[_0x4fb49f(0xff)]['includes'](_0x4fb49f(0xf5))?0x193:_0x574e1e[_0x4fb49f(0xff)][_0x4fb49f(0x10d)](_0x4fb49f(0x109))?0x194:0x190;_0x264926['status'](_0x45837d)[_0x4fb49f(0x10b)](_0x574e1e);}}catch(_0x32c0b8){_0x264926['status'](0x1f4)[_0x4fb49f(0x10b)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3da2c0['get']('/file-info',validatePath,async(_0x39829f,_0x5e698c)=>{const _0x1a1cad=_0x6b7ebb;try{const _0x1a5e73=_0x39829f['query']['path'],_0x2b4b94=await _0x48ced3['getFileInfo'](_0x1a5e73);if(_0x2b4b94['success'])_0x5e698c[_0x1a1cad(0x10b)](_0x2b4b94);else{const _0x519703=_0x2b4b94[_0x1a1cad(0xff)]['includes'](_0x1a1cad(0x109))?0x194:0x190;_0x5e698c['status'](_0x519703)['json'](_0x2b4b94);}}catch(_0x43f8f6){_0x5e698c['status'](0x1f4)[_0x1a1cad(0x10b)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3da2c0[_0x6b7ebb(0xfe)](_0x6b7ebb(0x10c),a0_0x4411d2['json'](),async(_0x4ca9f5,_0x27a2e4)=>{const _0x53eeb2=_0x6b7ebb;try{const {path:_0x520213,recursive:recursive=![]}=_0x4ca9f5['body'];if(!_0x520213)return _0x27a2e4['status'](0x190)['json']({'success':![],'error':'Directory\x20path\x20is\x20required'});const _0x4d13a9=await _0x48ced3[_0x53eeb2(0x100)](_0x520213,{'recursive':recursive});if(_0x4d13a9[_0x53eeb2(0x103)])_0x27a2e4['json'](_0x4d13a9);else{const _0x44aa69=_0x4d13a9['code']===_0x53eeb2(0xfa)?0x199:0x190;_0x27a2e4[_0x53eeb2(0xf6)](_0x44aa69)['json'](_0x4d13a9);}}catch(_0x35bee4){_0x27a2e4['status'](0x1f4)[_0x53eeb2(0x10b)]({'success':![],'error':_0x53eeb2(0xfb)});}}),_0x3da2c0;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};export default createFileExplorerRouter;
1
+ (function(_0x3689c1,_0x7d1c79){const _0x587d74=a0_0x5c48,_0xe0cda=_0x3689c1();while(!![]){try{const _0xfbbc=-parseInt(_0x587d74(0x150))/0x1+-parseInt(_0x587d74(0x15a))/0x2*(-parseInt(_0x587d74(0x14b))/0x3)+-parseInt(_0x587d74(0x142))/0x4+-parseInt(_0x587d74(0x145))/0x5*(-parseInt(_0x587d74(0x143))/0x6)+parseInt(_0x587d74(0x15f))/0x7+-parseInt(_0x587d74(0x14c))/0x8*(-parseInt(_0x587d74(0x14f))/0x9)+-parseInt(_0x587d74(0x158))/0xa*(parseInt(_0x587d74(0x155))/0xb);if(_0xfbbc===_0x7d1c79)break;else _0xe0cda['push'](_0xe0cda['shift']());}catch(_0x13bd7e){_0xe0cda['push'](_0xe0cda['shift']());}}}(a0_0x5e07,0x315b6));import a0_0x1800df from'express';function a0_0x5e07(){const _0x2637f0=['uM91DgvY','DxnL','nLjJuLfhCq','mty4Dgz2u0vY','CMvZDhjPy3rLza','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','nda1odf2D01Zsfi','mJCWnJiWz2XMt011','l2HLywX0Aa','Aw5JBhvKzxm','CxvLCNK','z2v0rMLSzuLUzM8','nta1ndGZrgvNwMfU','yM9KEq','rgLYzwn0B3j5ihbHDgGGAxmGCMvXDwLYzwq','nJb5DgLrEfC','l2zPBguTAw5MBW','mZi2mdK4B3LcDNn2','C3vJy2vZCW','zxjYB3i','l21RzgLY','ruvysvnu','oti4ntKYzeDyqwnf','BM90igzVDw5K','AgvHBhrOq2HLy2S','Cgf0Aa','z2v0','ndm5nti0AwDuChrL','mtjIze5vwNK','Dhj1zq','nZyYmZu1yvn4A0zs','C2HVD0HPzgrLBG','C3rHDhvZ','ANnVBG'];a0_0x5e07=function(){return _0x2637f0;};return a0_0x5e07();}import a0_0x4d1c34 from'./controller.js';import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x29c022={}){const _0x423c03=a0_0x5c48,_0x26726e=a0_0x1800df[_0x423c03(0x149)](),_0x1b3653=new a0_0x4d1c34(_0x29c022);return _0x26726e[_0x423c03(0x14a)](requestLogger),_0x26726e[_0x423c03(0x14a)](securityHeaders),_0x26726e[_0x423c03(0x14a)](createRateLimit(0x64,0xea60)),_0x26726e[_0x423c03(0x141)](_0x423c03(0x151),(_0x7e9505,_0x41faff)=>{const _0x8cac5b=_0x423c03,_0x5acd02=_0x1b3653[_0x8cac5b(0x161)]();_0x41faff[_0x8cac5b(0x148)](_0x5acd02);}),_0x26726e[_0x423c03(0x141)]('/cwd',(_0x19c5ee,_0x311194)=>{const _0x5253e8=_0x423c03,_0x233285=_0x1b3653[_0x5253e8(0x14e)]();_0x311194['json'](_0x233285);}),_0x26726e['get']('/browse',validatePath,async(_0x45e728,_0x63cb0c)=>{const _0x36ce0f=_0x423c03;try{const _0x15ebe6=_0x45e728[_0x36ce0f(0x153)][_0x36ce0f(0x140)],_0x214eea={'showHidden':_0x45e728[_0x36ce0f(0x153)][_0x36ce0f(0x146)]===_0x36ce0f(0x144)},_0x1deb86=await _0x1b3653['browseDirectory'](_0x15ebe6,_0x214eea);if(_0x1deb86[_0x36ce0f(0x15b)])_0x63cb0c[_0x36ce0f(0x148)](_0x1deb86);else{const _0x38f7f7=_0x1deb86[_0x36ce0f(0x15c)]['includes'](_0x36ce0f(0x14d))?0x193:_0x1deb86['error']['includes']('not\x20found')?0x194:0x190;_0x63cb0c[_0x36ce0f(0x147)](_0x38f7f7)[_0x36ce0f(0x148)](_0x1deb86);}}catch(_0x4b2f45){_0x63cb0c[_0x36ce0f(0x147)](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error'});}}),_0x26726e[_0x423c03(0x141)](_0x423c03(0x159),validatePath,async(_0xd13d9a,_0x466209)=>{const _0x5ed9bd=_0x423c03;try{const _0x1ddba8=_0xd13d9a[_0x5ed9bd(0x153)][_0x5ed9bd(0x140)],_0x9177f7=await _0x1b3653[_0x5ed9bd(0x154)](_0x1ddba8);if(_0x9177f7['success'])_0x466209['json'](_0x9177f7);else{const _0x59a4b7=_0x9177f7['error'][_0x5ed9bd(0x152)](_0x5ed9bd(0x160))?0x194:0x190;_0x466209['status'](_0x59a4b7)[_0x5ed9bd(0x148)](_0x9177f7);}}catch(_0x53d619){_0x466209['status'](0x1f4)[_0x5ed9bd(0x148)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x26726e['post'](_0x423c03(0x15d),a0_0x1800df['json'](),async(_0x4f07b7,_0x4ccaa2)=>{const _0xe5a405=_0x423c03;try{const {path:_0xc0ba22,recursive:recursive=![]}=_0x4f07b7[_0xe5a405(0x156)];if(!_0xc0ba22)return _0x4ccaa2[_0xe5a405(0x147)](0x190)['json']({'success':![],'error':_0xe5a405(0x157)});const _0x39545c=await _0x1b3653['createDirectory'](_0xc0ba22,{'recursive':recursive});if(_0x39545c[_0xe5a405(0x15b)])_0x4ccaa2['json'](_0x39545c);else{const _0x54bbe0=_0x39545c['code']===_0xe5a405(0x15e)?0x199:0x190;_0x4ccaa2[_0xe5a405(0x147)](_0x54bbe0)[_0xe5a405(0x148)](_0x39545c);}}catch(_0x5d1241){_0x4ccaa2[_0xe5a405(0x147)](0x1f4)[_0xe5a405(0x148)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x26726e['post']('/open',a0_0x1800df[_0x423c03(0x148)](),async(_0x2df8f9,_0x2a54c0)=>{const _0x22f38f=_0x423c03;try{const {path:_0xac164}=_0x2df8f9['body'];if(!_0xac164)return _0x2a54c0['status'](0x190)['json']({'success':![],'error':'Directory\x20path\x20is\x20required'});const _0x4b6a00=await _0x1b3653['openInExplorer'](_0xac164);_0x4b6a00[_0x22f38f(0x15b)]?_0x2a54c0[_0x22f38f(0x148)](_0x4b6a00):_0x2a54c0['status'](0x190)[_0x22f38f(0x148)](_0x4b6a00);}catch(_0x83f240){_0x2a54c0['status'](0x1f4)[_0x22f38f(0x148)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x26726e;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};function a0_0x5c48(_0x5b1db9,_0x5810d6){_0x5b1db9=_0x5b1db9-0x140;const _0x5e078b=a0_0x5e07();let _0x5c48b6=_0x5e078b[_0x5b1db9];if(a0_0x5c48['apxQPQ']===undefined){var _0x5ceab4=function(_0x5c407e){const _0x42b906='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1800df='',_0x4d1c34='';for(let _0x29c022=0x0,_0x26726e,_0x1b3653,_0x7e9505=0x0;_0x1b3653=_0x5c407e['charAt'](_0x7e9505++);~_0x1b3653&&(_0x26726e=_0x29c022%0x4?_0x26726e*0x40+_0x1b3653:_0x1b3653,_0x29c022++%0x4)?_0x1800df+=String['fromCharCode'](0xff&_0x26726e>>(-0x2*_0x29c022&0x6)):0x0){_0x1b3653=_0x42b906['indexOf'](_0x1b3653);}for(let _0x41faff=0x0,_0x5acd02=_0x1800df['length'];_0x41faff<_0x5acd02;_0x41faff++){_0x4d1c34+='%'+('00'+_0x1800df['charCodeAt'](_0x41faff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d1c34);};a0_0x5c48['KyiwYp']=_0x5ceab4,a0_0x5c48['twStuf']={},a0_0x5c48['apxQPQ']=!![];}const _0x2ec2ca=_0x5e078b[0x0],_0x35692b=_0x5b1db9+_0x2ec2ca,_0x59c01b=a0_0x5c48['twStuf'][_0x35692b];return!_0x59c01b?(_0x5c48b6=a0_0x5c48['KyiwYp'](_0x5c48b6),a0_0x5c48['twStuf'][_0x35692b]=_0x5c48b6):_0x5c48b6=_0x59c01b,_0x5c48b6;}export default createFileExplorerRouter;