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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/agentActivityService.js +1 -1
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +2 -2
  120. package/web-ui/build/static/index-CR8edPA3.js +348 -0
  121. package/web-ui/build/static/index-uN7nOVvZ.css +1 -0
  122. package/web-ui/build/static/index-DXN850Y2.js +0 -400
  123. package/web-ui/build/static/index-an-YRzUX.css +0 -1
@@ -1 +1 @@
1
- function a0_0x3b9e(_0x24fa89,_0x9c0753){_0x24fa89=_0x24fa89-0x183;const _0x4c02dd=a0_0x4c02();let _0x3b9e0b=_0x4c02dd[_0x24fa89];if(a0_0x3b9e['sRjeNE']===undefined){var _0x2ee42d=function(_0x4f0c4f){const _0x467b7e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x507dfa='',_0x5aad05='';for(let _0x2d289b=0x0,_0x13d5a5,_0x938fba,_0xd44a52=0x0;_0x938fba=_0x4f0c4f['charAt'](_0xd44a52++);~_0x938fba&&(_0x13d5a5=_0x2d289b%0x4?_0x13d5a5*0x40+_0x938fba:_0x938fba,_0x2d289b++%0x4)?_0x507dfa+=String['fromCharCode'](0xff&_0x13d5a5>>(-0x2*_0x2d289b&0x6)):0x0){_0x938fba=_0x467b7e['indexOf'](_0x938fba);}for(let _0x2aaae4=0x0,_0x5cf77d=_0x507dfa['length'];_0x2aaae4<_0x5cf77d;_0x2aaae4++){_0x5aad05+='%'+('00'+_0x507dfa['charCodeAt'](_0x2aaae4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5aad05);};a0_0x3b9e['fcWQqR']=_0x2ee42d,a0_0x3b9e['UdfOLd']={},a0_0x3b9e['sRjeNE']=!![];}const _0x5c465e=_0x4c02dd[0x0],_0x3a8e96=_0x24fa89+_0x5c465e,_0x114546=a0_0x3b9e['UdfOLd'][_0x3a8e96];return!_0x114546?(_0x3b9e0b=a0_0x3b9e['fcWQqR'](_0x3b9e0b),a0_0x3b9e['UdfOLd'][_0x3a8e96]=_0x3b9e0b):_0x3b9e0b=_0x114546,_0x3b9e0b;}const a0_0x119ca9=a0_0x3b9e;(function(_0x53ba7b,_0x5a6557){const _0x598037=a0_0x3b9e,_0x42013d=_0x53ba7b();while(!![]){try{const _0x364f21=parseInt(_0x598037(0x255))/0x1+-parseInt(_0x598037(0x20d))/0x2*(-parseInt(_0x598037(0x205))/0x3)+-parseInt(_0x598037(0x1f6))/0x4+parseInt(_0x598037(0x22a))/0x5+-parseInt(_0x598037(0x1be))/0x6+parseInt(_0x598037(0x1bf))/0x7*(parseInt(_0x598037(0x285))/0x8)+parseInt(_0x598037(0x1b7))/0x9*(-parseInt(_0x598037(0x239))/0xa);if(_0x364f21===_0x5a6557)break;else _0x42013d['push'](_0x42013d['shift']());}catch(_0x15c3ce){_0x42013d['push'](_0x42013d['shift']());}}}(a0_0x4c02,0xba8ae));import a0_0x507dfa from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x5aad05 from'path';import{promises as a0_0x2d289b}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_0x5aad05['dirname'](__filename);function a0_0x4c02(){const _0x1dd9f5=['AxngAwXL','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','zxHPDa','qxr0ywnOBwvUDcb1CgrHDgvK','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','v2vIu29JA2v0ignVBM5Ly3rPB24Gy2XVC2vK','D29YA2LUz0rPCMvJDg9YEq','4P2miezHAwXLzcb0BYbZzw5KifDLyLnVy2TLDcbTzxnZywDL','l2fWAs9RzxLZ','yxjNDG','ywXYzwfKEsbHy3rPDMu','yxbW','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','zMLSztOVlW','B3jJAgvZDhjHDg9Y','t3jPz2LUlcbylvjLCxvLC3rLzc1xAxrOlcbdB250zw50lvr5CguSiefJy2vWDcWGqxv0Ag9YAxPHDgLVBG','DMvUzg9Ys2v5CW','v2vIihnLCNzLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','CgHP','C3rHDhvZ','Bg94AwfbCgLlzxK','DgfYz2v0qwDLBNrjzcbPCYbYzxf1AxjLza','Cg9UzW','CM9Szq','C3rHDhvZvgv4Da','y3DK','CMvHzgrPCG','C2vZC2LVBNm','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','qwDLBNqGBw9KzsbZD2L0y2HLzcb0BYa','C2v0qxbPs2v5twfUywDLCG','D2fYBG','Aw1Hz2vZ','yxbPs2v5','z2v0qwDLBNrnzxrHzgf0yq','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','l2fWAs9RzxLZlZPZzxnZAw9Uswq','C2vZC2LVBL9QB2LUzwq','Bw9KzwXZ','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','zMLSzq','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','q1jfqvrfx0fhru5u','AgvHzgvYCW','DxjSzw5JB2rLza','C3rHCNrZv2L0Aa','rMfPBgvKihrVihn0yxj0ieHuvfaGC2vYDMvY','mZm1mtC2nhnnEg1uwG','C2L6zq','CMvHzhLtDgf0zq','mc4WlJaUma','y29UDgvUDa','D3nnyw5Hz2vY','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','sw52ywXPzcbMAwXLBMfTzq','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGveLnru9vva','AgvHzgvY','C2v0DxbnAwrKBgv3yxjL','lI4VlI4VD2vIlxvPl2j1AwXK','ywDLBNrFBw9Kzv9JAgfUz2vK','BgvUz3rO','ndiWodqYmvvMEu14sG','z2v0u2vZC2LVBKTLExm','qxr0ywnOBwvUDcbKzwXLDgvK','Cgf0Aa','qxr0ywnOBwvUDcbUB3qGzM91BMq','CMvX','A2v5CW','y2XLyxi','mMTQzMfItG','z2v0','BgfZDefJDgL2Axr5','CMvXDwvZDeLK','AxnmB2fKzwq','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','BxrPBwu','l2fWAs9MAwXLlwv4CgXVCMvY','DxrMoa','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','B3jPz2LU','y29UzMLN','C2v0u2vZC2LVBKTLExm','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','DxnL','yNjVywrJyxn0vg9tzxnZAw9U','y3vYCMvUDe1VzgvS','C3vJy2vZCW','zNjVBq','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3rVz2DSzq','ywXS','ChjVAMvJDerPCG','v0vc','BxnNlq','y2XVC2u','D3nZ','yNjVywrJyxn0','zgf0yq','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','ndqWmdiZmevACwrXCa','DMfSDwvZ','qwDLBNqGBw9Kzsb1CgrHDgvKoIa','yxrPBwu','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','ANnVBG','C3rHCNrtzxj2zxi','DMvUzg9YqxbPs2v5','z2v0qxzHAwXHyMXLvg9VBhngB3jvsq','AM9PBG','x2DLDfzLBMrVCKzYB21nB2rLBa','B3bLBMfP','tK9ux0zpvu5e','ywDLBNrjza','l2fWAs9ZzxnZAw9UCW','otbUzML6y2y','Dg9mB3DLCKnHC2u','C3rHy2S','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrKfjteve','qwnJzxnZlunVBNrYB2WTqwXSB3CTt3jPz2LU','t3jJAgvZDhjHDg9YiefqssbLCNjVCG','CgfYC2u','DxbKyxrLqxr0ywnOBwvUDa','BMfTzq','Cg9ZDa','twvZC2fNzsbWCM9JzxnZB3iGBM90igf2ywLSywjSzq','l2fWAs9MAwXLCY91CgXVywq','su5urvjoquXFu0vsvKvsx0vsuK9s','l2fWAs9SBg0Vy2HHDa','yMfZzw5HBwu','y29UBMvJDgvK','Bw9KzwW','Ag9ZDa','BgLZDgvU','ChjVy2vZC1jLCxvLC3q','Cg9YDa','qMvHCMvYia','C3rHDgvnyw5Hz2vY','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','ywn0AxzL','y2f0y2G','sw1Hz2uGzM91BMq','zgvLChnLzwS','mJa3nZqYuxDeyxzp','rMfPBgvKihrVihbYB3H5ignOyxqGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5K','CMvZB2X2zq','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','z2v0qwn0AxzLu2vZC2LVBNm','D3m6lY9SB2nHBgHVC3q6','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','C3rHDa','l2fWAs9LEhbSB3jLCG','yxbWBgLJyxrPB24VANnVBG','zgLYzwn0B3j5','CMvSyxrPDMu','DhLWzq','y3vYCMvUDfrHC2S','Aw5JBhvKzxm','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','CgH5C2LJywXSEurLBgv0zwq','DxjS','C3rHDgLJ','C3vIC3rY','C2vYDMvY','z2v0qwXSqwDLBNrZ','Aw5PDgLHBgL6zq','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','y29UBMvJDgLVBG','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','AxnsDw5UAw5N','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJO','rMfPBgvKihrVihjLDhjPzxzLihrVB2XZigLUzM9YBwf0Aw9U','AxneAxjLy3rVCNK','ChjVAMvJDa','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50CW','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','ywDLBNqT','zgvSzxrL','qxr0ywnOBwvUDcbHy3rPDMuGC3rHDhvZihrVz2DSzwq','C2vZC2LVBKLK','BM93','Dg9ju09tDhjPBMC','Cgf0y2G','AgvHBhrOEq','C2vUza','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','sw52ywXPzcbZzxnZAw9U','Bg9Nz2vY','y29UBMvJDgLVBNm','rMfPBgvKihrVigDLDcb0B29SCYbPBMzVCM1HDgLVBG','ntq5nJGWzwH6DfDt','C3rVCef1Dg9UB21VDxnfEgvJDxrPB24','zgLYBMfTzq','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','8j+uHcboBYbJB25Uzwn0Aw9UCYbMB3iGC2vZC2LVBIWGDhj5Aw5NigfSBcbJB25Uzwn0Aw9UCZO','DgfZA1n0yxj0vgLTzq','Bg9N','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','w0vsuK9sxsa','l2fWAs9MAwXLCW','BwvZC2fNzq','rMfPBgvKihrVihnLCNzLigLTywDL','yxv0B25VBw91C191CgrHDgu','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','CMvMCMvZAa','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','BwfW','BwLJCM9ZB2z0','y2fWywjPBgL0AwvZ','Bw9Kzvn0yxrL','C3rYAw5NAwz5','rMfPBgvKihrVignVBM5Ly3qGDg8GquKGC2vYDMLJzq','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','BgLZDgvUAw5N','Dg9tDhjPBMC','Bw9Kzq','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','w0rfqLvhxsa','ms4WlJa','zMLSDgvY','CMvTB3zLu2vZC2LVBKTLExm','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','zMLSzuLK','Bwv0Ag9K','DxbKyxrLx2fNzw50','zMLSzw5HBwu','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','ChvZAa','BM9YBwfSAxPL','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','zxjYB3i','Aw5MBW','rwnOBZOG','yxbPs2v5twfUywDLCG','Dg9Nz2XLqwn0AxzL','DgHLBG','qwnJzxnZlunVBNrYB2WTqwXSB3CTtwv0Ag9KCW','8j+AGcbtDgfYDgLUzYbmB3HPysbxzwiGu2vYDMvYigLUihn0yw5KywXVBMuGBw9Kzs4UlG','yM9KEq','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','CgfYyw1Z','C2vZC2LVBKLe','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9TB2rLBhm','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhmVDxbSB2fK','zgvSzxrLqxr0ywnOBwvUDa','ywDLBNrqB29S','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','mtaXotyYofn5sNPMqG','BwTKAxi','ywDLBNq','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','y2XHDwrL','vw5RBM93BIbHy3rPB246ia','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','nZq1odG4ohz4D1vsuW','mtqWv0votxnW','CxvLCNK','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL'];a0_0x4c02=function(){return _0x1dd9f5;};return a0_0x4c02();}class WebServer{constructor(_0x13d5a5,_0x938fba,_0xd44a52={}){const _0xe55c19=a0_0x3b9e;this['orchestrator']=_0x13d5a5,this['logger']=_0x938fba,this['config']=_0xd44a52,this[_0xe55c19(0x24d)]=_0xd44a52['port']||0x1f90,this['host']=_0xd44a52['host']||'localhost',this['app']=a0_0x507dfa(),this[_0xe55c19(0x26a)]=createServer(this['app']),this['wss']=new WebSocketServer({'server':this['server'],'verifyClient':_0x2aaae4=>{const _0x3dab98=_0xe55c19;return this[_0x3dab98(0x282)]?.['info'](_0x3dab98(0x280),{'origin':_0x2aaae4[_0x3dab98(0x217)],'host':_0x2aaae4[_0x3dab98(0x20a)]['headers']['host'],'userAgent':_0x2aaae4['req']['headers']['user-agent'],'url':_0x2aaae4['req'][_0x3dab98(0x267)]}),!![];}}),this[_0xe55c19(0x283)]=new Map(),this['sessions']=new Map(),this['apiKeyManager']=null,this['isRunning']=![];}async[a0_0x119ca9(0x26c)](){const _0x4bcede=a0_0x119ca9;try{this['setupMiddleware'](),this['setupRoutes'](),this['setupWebSocket'](),await this[_0x4bcede(0x230)](),this[_0x4bcede(0x282)][_0x4bcede(0x1a6)]('Web\x20server\x20initialized',{'port':this['port'],'host':this[_0x4bcede(0x24a)],'url':'http://'+this[_0x4bcede(0x24a)]+':'+this['port']});}catch(_0x5cf77d){this[_0x4bcede(0x282)]['error'](_0x4bcede(0x1d5),{'error':_0x5cf77d[_0x4bcede(0x187)],'stack':_0x5cf77d['stack']});throw _0x5cf77d;}}[a0_0x119ca9(0x201)](){const _0x3e4a61=a0_0x119ca9;this[_0x3e4a61(0x1cf)][_0x3e4a61(0x21b)]((_0x5824ec,_0x4ce8cc,_0xc252e2)=>{const _0x204e48=_0x3e4a61;_0x4ce8cc['header'](_0x204e48(0x23d),'*'),_0x4ce8cc[_0x204e48(0x200)](_0x204e48(0x1ab),'GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0x4ce8cc[_0x204e48(0x200)]('Access-Control-Allow-Headers',_0x204e48(0x1d3)),_0x5824ec['method']==='OPTIONS'?_0x4ce8cc['sendStatus'](HTTP_STATUS['OK']):_0xc252e2();}),this[_0x3e4a61(0x1cf)]['use'](a0_0x507dfa[_0x3e4a61(0x22f)]({'limit':'10mb'})),this['app']['use'](a0_0x507dfa[_0x3e4a61(0x1f3)]({'extended':!![],'limit':'10mb'})),this['fileExplorerModule']=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app'][_0x3e4a61(0x21b)](_0x3e4a61(0x214),this['fileExplorerModule']['router']);const _0xd22712=a0_0x5aad05[_0x3e4a61(0x233)](__dirname,_0x3e4a61(0x202));this[_0x3e4a61(0x1cf)]['use'](a0_0x507dfa[_0x3e4a61(0x268)](_0xd22712)),this[_0x3e4a61(0x1cf)]['use']((_0xaf653c,_0x49fa37,_0x459e66)=>{const _0xa9fed2=_0x3e4a61;this[_0xa9fed2(0x282)]['debug'](_0xaf653c[_0xa9fed2(0x19e)]+'\x20'+_0xaf653c[_0xa9fed2(0x208)],{'ip':_0xaf653c['ip'],'userAgent':_0xaf653c['get']('User-Agent')}),_0x459e66();});}['setupRoutes'](){const _0x44f024=a0_0x119ca9;this['app'][_0x44f024(0x20e)]('/api/health',async(_0x5094a2,_0x13ce0b)=>{const _0x128ec9=_0x44f024;try{const _0x539573=a0_0x5aad05['join'](__dirname,'../../package.json'),_0x390160=JSON['parse'](await a0_0x2d289b['readFile'](_0x539573,_0x128ec9(0x215)));_0x13ce0b['json']({'status':_0x128ec9(0x27e),'version':_0x390160['version']||_0x128ec9(0x199),'timestamp':new Date()['toISOString']()});}catch(_0x565f09){_0x13ce0b['json']({'status':'healthy','version':_0x128ec9(0x199),'timestamp':new Date()['toISOString']()});}}),this[_0x44f024(0x1cf)]['post'](_0x44f024(0x238),async(_0x18f866,_0x4868fc)=>{const _0x3eafa6=_0x44f024;try{const _0x1b7bf5='web-'+Date[_0x3eafa6(0x27b)]()+'-'+Math['random']()[_0x3eafa6(0x195)](0x24)[_0x3eafa6(0x269)](0x2,0x9),_0x3160b8=_0x18f866['body']['projectDir']||process['cwd'](),_0x57c849={'id':_0x1b7bf5,'projectDir':_0x3160b8,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this[_0x3eafa6(0x1e0)]['set'](_0x1b7bf5,_0x57c849),_0x4868fc[_0x3eafa6(0x22f)]({'success':!![],'session':_0x57c849});}catch(_0x50dc00){_0x4868fc[_0x3eafa6(0x1d8)](HTTP_STATUS[_0x3eafa6(0x245)])[_0x3eafa6(0x22f)]({'success':![],'error':_0x50dc00['message']});}}),this['app']['post']('/api/orchestrator',async(_0x416710,_0x5e079c)=>{const _0x1b1fe2=_0x44f024;try{const _0x24fe4c={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x416710[_0x1b1fe2(0x1ad)][_0x1b1fe2(0x27a)],'action':_0x416710[_0x1b1fe2(0x1ad)]['action'],'payload':_0x416710[_0x1b1fe2(0x1ad)]['payload'],'projectDir':_0x416710['body']['projectDir']||process['cwd']()},_0x4481c7=await this['orchestrator']['processRequest'](_0x24fe4c);this['broadcastToSession'](_0x24fe4c[_0x1b1fe2(0x27a)],{'type':_0x1b1fe2(0x1c3),'action':_0x24fe4c['action'],'response':_0x4481c7}),_0x5e079c['json'](_0x4481c7);}catch(_0x530b5f){this['logger'][_0x1b1fe2(0x1a5)](_0x1b1fe2(0x23e),{'error':_0x530b5f['message'],'body':_0x416710[_0x1b1fe2(0x1ad)]}),_0x5e079c['status'](HTTP_STATUS[_0x1b1fe2(0x245)])[_0x1b1fe2(0x22f)]({'success':![],'error':_0x530b5f[_0x1b1fe2(0x187)]});}}),this[_0x44f024(0x1cf)]['get'](_0x44f024(0x186),async(_0x30afd9,_0x20daaf)=>{const _0x5f1165=_0x44f024;try{const {path:_0x5dff91,projectDir:_0x25a466}=_0x30afd9[_0x5f1165(0x1c0)],_0x8f5d54=a0_0x5aad05[_0x5f1165(0x257)](_0x25a466||process[_0x5f1165(0x1de)](),_0x5dff91||'.'),_0x2c0eb0=await a0_0x2d289b[_0x5f1165(0x25c)](_0x8f5d54);if(_0x2c0eb0['isDirectory']()){const _0x55d193=await a0_0x2d289b[_0x5f1165(0x1df)](_0x8f5d54,{'withFileTypes':!![]}),_0x13b5dd=_0x55d193[_0x5f1165(0x18d)](_0x88b8a7=>({'name':_0x88b8a7[_0x5f1165(0x241)],'type':_0x88b8a7['isDirectory']()?'directory':'file','path':a0_0x5aad05[_0x5f1165(0x233)](_0x5dff91||'.',_0x88b8a7['name'])}));_0x20daaf['json']({'success':!![],'files':_0x13b5dd});}else{const _0x3ffb39=await a0_0x2d289b['readFile'](_0x8f5d54,_0x5f1165(0x215));_0x20daaf[_0x5f1165(0x22f)]({'success':!![],'content':_0x3ffb39,'type':_0x5f1165(0x1ee)});}}catch(_0x132fc2){_0x20daaf[_0x5f1165(0x1d8)](HTTP_STATUS['NOT_FOUND'])[_0x5f1165(0x22f)]({'success':![],'error':_0x132fc2['message']});}}),this[_0x44f024(0x1cf)][_0x44f024(0x242)](_0x44f024(0x244),async(_0x505eda,_0x45fa43)=>{const _0x112970=_0x44f024;try{const {fileName:_0x385864,content:_0x2e7813,projectDir:_0x10a484}=_0x505eda[_0x112970(0x1ad)],_0x159591=_0x10a484||process['cwd'](),_0x1b1d4e=a0_0x5aad05['resolve'](_0x159591,_0x385864);await a0_0x2d289b[_0x112970(0x1b8)](_0x159591,{'recursive':!![]}),await a0_0x2d289b['writeFile'](_0x1b1d4e,_0x2e7813,'utf8'),_0x45fa43['json']({'success':!![],'message':_0x112970(0x18c),'path':_0x1b1d4e});}catch(_0x57ed05){_0x45fa43['status'](HTTP_STATUS[_0x112970(0x245)])['json']({'success':![],'error':_0x57ed05['message']});}}),this['app']['get'](_0x44f024(0x25d),async(_0x37fe76,_0x35d4d7)=>{const _0x3d0fd6=_0x44f024;try{const {path:_0x11bb7a,showHidden:showHidden=![]}=_0x37fe76[_0x3d0fd6(0x1c0)],_0x566d58=_0x11bb7a||process[_0x3d0fd6(0x1de)](),_0x2c24ec=a0_0x5aad05[_0x3d0fd6(0x257)](_0x566d58),_0x3e46cd=a0_0x5aad05[_0x3d0fd6(0x1a3)](_0x2c24ec),_0x18c7c0=await a0_0x2d289b[_0x3d0fd6(0x25c)](_0x3e46cd);if(!_0x18c7c0[_0x3d0fd6(0x273)]())return _0x35d4d7['status'](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':'Path\x20is\x20not\x20a\x20directory'});const _0x172d22=await a0_0x2d289b['readdir'](_0x3e46cd,{'withFileTypes':!![]}),_0x1bf7d7=await Promise[_0x3d0fd6(0x221)](_0x172d22[_0x3d0fd6(0x19a)](_0x3b0b54=>showHidden==='true'||!_0x3b0b54['name'][_0x3d0fd6(0x1f4)]('.'))[_0x3d0fd6(0x18d)](async _0x57dff7=>{const _0x40749a=_0x3d0fd6,_0x18285f=a0_0x5aad05[_0x40749a(0x233)](_0x3e46cd,_0x57dff7[_0x40749a(0x241)]),_0x13eb07=await a0_0x2d289b[_0x40749a(0x25c)](_0x18285f)['catch'](()=>null);return{'name':_0x57dff7['name'],'type':_0x57dff7['isDirectory']()?'directory':_0x40749a(0x1ee),'path':_0x18285f,'relativePath':a0_0x5aad05[_0x40749a(0x260)](process['cwd'](),_0x18285f),'size':_0x13eb07?.['size']||0x0,'modified':_0x13eb07?.[_0x40749a(0x213)]||null,'isHidden':_0x57dff7['name'][_0x40749a(0x1f4)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x1bf7d7['sort']((_0x55bc1f,_0x214a07)=>{const _0x4f79be=_0x3d0fd6;if(_0x55bc1f[_0x4f79be(0x261)]!==_0x214a07['type'])return _0x55bc1f['type']==='directory'?-0x1:0x1;return _0x55bc1f[_0x4f79be(0x241)]['localeCompare'](_0x214a07['name']);});const _0x37fca6=a0_0x5aad05[_0x3d0fd6(0x287)](_0x3e46cd),_0x38a762=_0x37fca6!==_0x3e46cd;_0x35d4d7['json']({'success':!![],'currentPath':_0x3e46cd,'currentRelativePath':a0_0x5aad05['relative'](process['cwd'](),_0x3e46cd),'parentPath':_0x38a762?_0x37fca6:null,'items':_0x1bf7d7,'totalItems':_0x1bf7d7['length'],'directories':_0x1bf7d7[_0x3d0fd6(0x19a)](_0x544216=>_0x544216[_0x3d0fd6(0x261)]==='directory')['length'],'files':_0x1bf7d7[_0x3d0fd6(0x19a)](_0x3fe245=>_0x3fe245[_0x3d0fd6(0x261)]===_0x3d0fd6(0x1ee))['length']});}catch(_0x21f04f){_0x35d4d7['status'](HTTP_STATUS[_0x3d0fd6(0x245)])[_0x3d0fd6(0x22f)]({'success':![],'error':_0x21f04f[_0x3d0fd6(0x187)],'code':_0x21f04f['code']});}}),this['app'][_0x44f024(0x242)]('/api/explorer/mkdir',async(_0x3f66ca,_0x48b1a7)=>{const _0x5626db=_0x44f024;try{const {path:_0x202839,name:_0x1b58ae}=_0x3f66ca[_0x5626db(0x1ad)],_0x6e0bc=a0_0x5aad05['resolve'](_0x202839,_0x1b58ae);await a0_0x2d289b['mkdir'](_0x6e0bc,{'recursive':![]}),_0x48b1a7['json']({'success':!![],'path':_0x6e0bc,'relativePath':a0_0x5aad05[_0x5626db(0x260)](process[_0x5626db(0x1de)](),_0x6e0bc)});}catch(_0x68ee97){_0x48b1a7['status'](HTTP_STATUS[_0x5626db(0x245)])['json']({'success':![],'error':_0x68ee97['message'],'code':_0x68ee97['code']});}}),this[_0x44f024(0x1cf)]['get']('/api/explorer/info',async(_0x214c3c,_0x3e7dd5)=>{const _0x12e0d8=_0x44f024;try{const {path:_0xf7506c}=_0x214c3c['query'],_0x142be8=a0_0x5aad05['resolve'](_0xf7506c),_0x5a3b4d=await a0_0x2d289b[_0x12e0d8(0x25c)](_0x142be8);_0x3e7dd5['json']({'success':!![],'path':_0x142be8,'relativePath':a0_0x5aad05['relative'](process['cwd'](),_0x142be8),'isDirectory':_0x5a3b4d[_0x12e0d8(0x273)](),'isFile':_0x5a3b4d[_0x12e0d8(0x1c4)](),'size':_0x5a3b4d['size'],'created':_0x5a3b4d['birthtime'],'modified':_0x5a3b4d['mtime'],'accessed':_0x5a3b4d[_0x12e0d8(0x22d)]});}catch(_0x2727d4){_0x3e7dd5[_0x12e0d8(0x1d8)](HTTP_STATUS[_0x12e0d8(0x245)])[_0x12e0d8(0x22f)]({'success':![],'error':_0x2727d4[_0x12e0d8(0x187)],'code':_0x2727d4['code']});}}),this[_0x44f024(0x1cf)][_0x44f024(0x242)](_0x44f024(0x246),async(_0x202dbc,_0x1d0290)=>{const _0x50b895=_0x44f024;try{const {sessionId:_0x5e4f9f,model:_0x1fda96,platformProvided:_0x13766d}=_0x202dbc['body'];if(!_0x5e4f9f)return _0x1d0290[_0x50b895(0x1d8)](0x190)[_0x50b895(0x22f)]({'error':_0x50b895(0x26d)});let _0x36e7fd=null,_0x344e45=null;if(this[_0x50b895(0x1a8)]){const _0x2b28d5=this[_0x50b895(0x1a8)]['getKeysForRequest'](_0x5e4f9f,{'platformProvided':_0x13766d||![],'vendor':this['_getVendorFromModel'](_0x1fda96)});_0x36e7fd=_0x2b28d5[_0x50b895(0x1d9)],_0x344e45=_0x2b28d5[_0x50b895(0x231)];}!_0x36e7fd&&(_0x36e7fd=this[_0x50b895(0x218)]['loxiaApiKey']||process['env']['LOXIA_API_KEY']);!_0x36e7fd&&_0x202dbc['body']['apiKey']&&(_0x36e7fd=_0x202dbc['body'][_0x50b895(0x1e6)]);if(!_0x36e7fd)return this['logger'][_0x50b895(0x1e4)](_0x50b895(0x250),{'sessionId':_0x5e4f9f,'model':_0x1fda96,'platformProvided':_0x13766d,'hasSessionManager':!!this['apiKeyManager']}),_0x1d0290[_0x50b895(0x1d8)](0x191)[_0x50b895(0x22f)]({'error':'No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.'});const _0x556edd='https://autopilot-api.azurewebsites.net/llm/chat',_0x551baa={..._0x202dbc['body'],'apiKey':_0x36e7fd,..._0x344e45&&{'vendorApiKey':_0x344e45}},_0x41af11={'method':'POST','headers':{'Content-Type':'application/json','Authorization':_0x50b895(0x24e)+_0x36e7fd},'body':JSON[_0x50b895(0x191)](_0x551baa)};this['logger'][_0x50b895(0x1a6)](_0x50b895(0x1a4),{'url':_0x556edd,'model':_0x202dbc['body']['model'],'hasApiKey':!!_0x36e7fd});const _0x411f87=await fetch(_0x556edd,_0x41af11);if(_0x411f87['ok']){const _0x1e3d77=await _0x411f87['json']();this['logger'][_0x50b895(0x1a6)]('Successfully received response from Azure backend',{'model':_0x1e3d77[_0x50b895(0x249)],'contentLength':_0x1e3d77[_0x50b895(0x1fa)]?.[_0x50b895(0x204)]||0x0}),_0x1d0290[_0x50b895(0x22f)](_0x1e3d77);}else{const _0x57097e=await _0x411f87['text']();this[_0x50b895(0x282)]['warn'](_0x50b895(0x1c5),{'status':_0x411f87['status'],'statusText':_0x411f87['statusText'],'error':_0x57097e}),_0x1d0290['status'](_0x411f87['status'])[_0x50b895(0x22f)]({'error':'Azure\x20backend\x20error:\x20'+_0x411f87[_0x50b895(0x1d8)]+'\x20'+_0x411f87[_0x50b895(0x1dd)],'details':_0x57097e});}}catch(_0x1ba002){this[_0x50b895(0x282)][_0x50b895(0x1a5)](_0x50b895(0x256),{'error':_0x1ba002[_0x50b895(0x187)],'stack':_0x1ba002['stack']}),_0x1d0290[_0x50b895(0x1d8)](0x1f4)['json']({'error':_0x50b895(0x192),'details':_0x1ba002['message']});}}),this[_0x44f024(0x1cf)][_0x44f024(0x20e)]('/api/llm/models',async(_0x116d34,_0x12a65b)=>{const _0x3e9b2d=_0x44f024;try{const _0x35dbce=_0x116d34[_0x3e9b2d(0x1f2)]['authorization'];let _0x337902=null;_0x35dbce&&_0x35dbce['startsWith'](_0x3e9b2d(0x24e))&&(_0x337902=_0x35dbce['substring'](0x7));!_0x337902&&(_0x337902=this[_0x3e9b2d(0x218)]['loxiaApiKey']||process['env']['LOXIA_API_KEY']);const _0x56c4af=_0x3e9b2d(0x1b2),_0x340819={'method':'GET','headers':{'Content-Type':_0x3e9b2d(0x25e),..._0x337902&&{'Authorization':'Bearer\x20'+_0x337902}}};this[_0x3e9b2d(0x282)]['info']('Fetching models from Loxia Azure backend',{'url':_0x56c4af,'hasApiKey':!!_0x337902});const _0x26303c=await fetch(_0x56c4af,_0x340819);if(_0x26303c['ok']){const _0x4d8821=await _0x26303c[_0x3e9b2d(0x22f)]();this[_0x3e9b2d(0x282)]['info']('Successfully fetched models from Azure backend',{'modelCount':_0x4d8821[_0x3e9b2d(0x1eb)]?.[_0x3e9b2d(0x204)]||0x0}),_0x12a65b[_0x3e9b2d(0x22f)](_0x4d8821);}else{const _0x30fdc4=await _0x26303c['text']();this['logger'][_0x3e9b2d(0x1a5)](_0x3e9b2d(0x276),{'status':_0x26303c['status'],'statusText':_0x26303c['statusText'],'error':_0x30fdc4}),_0x12a65b['status'](_0x26303c[_0x3e9b2d(0x1d8)])['json']({'success':![],'error':'Failed\x20to\x20fetch\x20models\x20from\x20backend:\x20'+_0x26303c[_0x3e9b2d(0x1d8)]+'\x20'+_0x26303c[_0x3e9b2d(0x1dd)],'details':_0x30fdc4});}}catch(_0x4a7ecb){this[_0x3e9b2d(0x282)]['error']('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x4a7ecb['message'],'stack':_0x4a7ecb[_0x3e9b2d(0x23b)]}),_0x12a65b[_0x3e9b2d(0x1d8)](0x1f4)[_0x3e9b2d(0x22f)]({'success':![],'error':'Failed to fetch models from backend','details':_0x4a7ecb[_0x3e9b2d(0x187)]});}}),this['app']['get']('/api/tools',async(_0x402920,_0x262a40)=>{const _0x25fde1=_0x44f024;try{const _0x2b66b6=this['toolsRegistry'];if(!_0x2b66b6)return _0x262a40[_0x25fde1(0x1d8)](0x1f4)['json']({'error':'Tools\x20registry\x20not\x20available'});const _0x30a0d9=_0x2b66b6[_0x25fde1(0x232)]();this[_0x25fde1(0x282)][_0x25fde1(0x1a6)](_0x25fde1(0x1c8),{'toolCount':_0x30a0d9['length'],'tools':_0x30a0d9['map'](_0x86636e=>({'id':_0x86636e['id'],'name':_0x86636e['name'],'category':_0x86636e['category']}))}),_0x262a40['json']({'success':!![],'tools':_0x30a0d9,'total':_0x30a0d9[_0x25fde1(0x204)]});}catch(_0x496c78){this['logger'][_0x25fde1(0x1a5)](_0x25fde1(0x284),{'error':_0x496c78['message'],'stack':_0x496c78['stack']}),_0x262a40['status'](0x1f4)['json']({'error':_0x25fde1(0x272),'message':_0x496c78[_0x25fde1(0x187)]});}}),this['app'][_0x44f024(0x242)](_0x44f024(0x1cc),async(_0x46d183,_0x4ed92d)=>{const _0x53ebb3=_0x44f024;try{const {sessionId:_0x4f75df,loxiaApiKey:_0x3294d8,vendorKeys:_0xd77fb2}=_0x46d183[_0x53ebb3(0x1ad)];if(!_0x4f75df)return _0x4ed92d['status'](0x190)['json']({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this['apiKeyManager'])return _0x4ed92d[_0x53ebb3(0x1d8)](0x1f4)[_0x53ebb3(0x22f)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this[_0x53ebb3(0x1a8)][_0x53ebb3(0x219)](_0x4f75df,{'loxiaApiKey':_0x3294d8,'vendorKeys':_0xd77fb2||{}}),this['logger'][_0x53ebb3(0x1a6)](_0x53ebb3(0x1f0),{'sessionId':_0x4f75df,'hasLoxiaKey':!!_0x3294d8,'vendorKeys':Object['keys'](_0xd77fb2||{})});if(this[_0x53ebb3(0x1d2)]&&this[_0x53ebb3(0x1d2)]['modelsService']&&_0x3294d8)try{await this['orchestrator']['modelsService'][_0x53ebb3(0x18b)]({'sessionId':_0x4f75df,'apiKey':_0x3294d8}),this['logger'][_0x53ebb3(0x1a6)]('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x4f75df});}catch(_0x5c1666){this[_0x53ebb3(0x282)][_0x53ebb3(0x1e4)](_0x53ebb3(0x21a),{'error':_0x5c1666['message'],'sessionId':_0x4f75df});}_0x4ed92d['json']({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x4f75df,'hasLoxiaKey':!!_0x3294d8,'vendorKeys':Object[_0x53ebb3(0x20b)](_0xd77fb2||{})});}catch(_0x5a6be3){this['logger'][_0x53ebb3(0x1a5)]('Failed\x20to\x20set\x20API\x20keys',{'error':_0x5a6be3['message'],'sessionId':_0x46d183[_0x53ebb3(0x1ad)][_0x53ebb3(0x27a)]}),_0x4ed92d[_0x53ebb3(0x1d8)](0x1f4)['json']({'success':![],'error':_0x5a6be3[_0x53ebb3(0x187)]});}}),this[_0x44f024(0x1cf)]['get'](_0x44f024(0x1e9),async(_0x5e89a2,_0x3ea1f9)=>{const _0x333eaa=_0x44f024;try{const {sessionId:_0x435ffb}=_0x5e89a2[_0x333eaa(0x1b0)];if(!this[_0x333eaa(0x1a8)])return _0x3ea1f9[_0x333eaa(0x1d8)](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x3c385d=this['apiKeyManager'][_0x333eaa(0x206)](_0x435ffb);_0x3ea1f9[_0x333eaa(0x22f)]({'success':!![],'sessionId':_0x435ffb,'hasLoxiaKey':!!_0x3c385d['loxiaApiKey'],'vendorKeys':Object['keys'](_0x3c385d[_0x333eaa(0x1d4)]||{}),'updatedAt':_0x3c385d['updatedAt']});}catch(_0x3b8e45){this[_0x333eaa(0x282)][_0x333eaa(0x1a5)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x3b8e45[_0x333eaa(0x187)],'sessionId':_0x5e89a2[_0x333eaa(0x1b0)][_0x333eaa(0x27a)]}),_0x3ea1f9[_0x333eaa(0x1d8)](0x1f4)[_0x333eaa(0x22f)]({'success':![],'error':_0x3b8e45[_0x333eaa(0x187)]});}}),this[_0x44f024(0x1cf)][_0x44f024(0x278)](_0x44f024(0x1e9),async(_0x10e90e,_0x320010)=>{const _0x436995=_0x44f024;try{const {sessionId:_0x2fa42b}=_0x10e90e['params'];if(!this[_0x436995(0x1a8)])return _0x320010[_0x436995(0x1d8)](0x1f4)[_0x436995(0x22f)]({'success':![],'error':_0x436995(0x26f)});const _0x5d5c8c=this['apiKeyManager'][_0x436995(0x19b)](_0x2fa42b);_0x320010[_0x436995(0x22f)]({'success':!![],'removed':_0x5d5c8c,'message':_0x5d5c8c?_0x436995(0x1ae):'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x2eac4b){this['logger']['error'](_0x436995(0x1ec),{'error':_0x2eac4b['message'],'sessionId':_0x10e90e[_0x436995(0x1b0)]['sessionId']}),_0x320010[_0x436995(0x1d8)](0x1f4)[_0x436995(0x22f)]({'success':![],'error':_0x2eac4b[_0x436995(0x187)]});}}),this[_0x44f024(0x1cf)]['get']('/api/keys',async(_0x15f018,_0x37eabb)=>{const _0x5a4758=_0x44f024;try{if(!this['apiKeyManager'])return _0x37eabb['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x1516b4=this[_0x5a4758(0x1a8)][_0x5a4758(0x259)]();_0x37eabb[_0x5a4758(0x22f)]({'success':!![],'sessions':_0x1516b4,'total':_0x1516b4[_0x5a4758(0x204)]});}catch(_0xc042ca){this['logger']['error']('Failed\x20to\x20get\x20active\x20sessions',{'error':_0xc042ca['message']}),_0x37eabb[_0x5a4758(0x1d8)](0x1f4)['json']({'success':![],'error':_0xc042ca['message']});}}),this[_0x44f024(0x1cf)][_0x44f024(0x242)](_0x44f024(0x1b3),async(_0xf0557a,_0x509414)=>{const _0x50aad1=_0x44f024;try{const {agentId:_0x4b69ea}=_0xf0557a[_0x50aad1(0x1b0)],{filePath:_0x5177a3,mode:_0x5e7aca,fileName:_0xefee76}=_0xf0557a[_0x50aad1(0x1ad)];if(!this[_0x50aad1(0x1d2)]?.['fileAttachmentService'])return _0x509414['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x34a32e=await this['orchestrator']['fileAttachmentService']['uploadFile']({'agentId':_0x4b69ea,'filePath':_0x5177a3,'mode':_0x5e7aca||'content','fileName':_0xefee76});this['logger']['info']('File\x20attachment\x20uploaded',{'agentId':_0x4b69ea,'fileId':_0x34a32e['fileId'],'fileName':_0x34a32e['fileName']}),_0x509414[_0x50aad1(0x22f)]({'success':!![],'attachment':_0x34a32e});}catch(_0x308b19){this['logger']['error']('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0xf0557a['params']['agentId'],'error':_0x308b19['message']}),_0x509414[_0x50aad1(0x1d8)](0x1f4)[_0x50aad1(0x22f)]({'success':![],'error':_0x308b19[_0x50aad1(0x187)]});}}),this[_0x44f024(0x1cf)]['get'](_0x44f024(0x18a),async(_0x1c351d,_0x576560)=>{const _0x92f861=_0x44f024;try{const {agentId:_0x42d701}=_0x1c351d[_0x92f861(0x1b0)],{mode:_0x578e19,active:_0x3e896f}=_0x1c351d['query'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x576560[_0x92f861(0x1d8)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x2e88e3={};if(_0x578e19)_0x2e88e3['mode']=_0x578e19;if(_0x3e896f!==undefined)_0x2e88e3['active']=_0x3e896f==='true';const _0x1f634c=await this[_0x92f861(0x1d2)][_0x92f861(0x1a1)]['getAttachments'](_0x42d701,_0x2e88e3);_0x576560[_0x92f861(0x22f)]({'success':!![],'attachments':_0x1f634c,'total':_0x1f634c[_0x92f861(0x204)]});}catch(_0x2aeeb1){this[_0x92f861(0x282)][_0x92f861(0x1a5)](_0x92f861(0x275),{'agentId':_0x1c351d[_0x92f861(0x1b0)]['agentId'],'error':_0x2aeeb1[_0x92f861(0x187)]}),_0x576560[_0x92f861(0x1d8)](0x1f4)['json']({'success':![],'error':_0x2aeeb1[_0x92f861(0x187)]});}}),this[_0x44f024(0x1cf)]['get'](_0x44f024(0x1ef),async(_0x4aa912,_0x50774d)=>{const _0x1c77a7=_0x44f024;try{const {fileId:_0x44f08d}=_0x4aa912[_0x1c77a7(0x1b0)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x50774d['status'](0x1f4)['json']({'success':![],'error':_0x1c77a7(0x1ba)});const _0x56f768=await this[_0x1c77a7(0x1d2)]['fileAttachmentService']['getAttachment'](_0x44f08d);if(!_0x56f768)return _0x50774d['status'](0x194)[_0x1c77a7(0x22f)]({'success':![],'error':'Attachment\x20not\x20found'});_0x50774d['json']({'success':!![],'attachment':_0x56f768});}catch(_0x4057a0){this[_0x1c77a7(0x282)][_0x1c77a7(0x1a5)]('Failed\x20to\x20get\x20attachment',{'fileId':_0x4aa912[_0x1c77a7(0x1b0)]['fileId'],'error':_0x4057a0['message']}),_0x50774d['status'](0x1f4)[_0x1c77a7(0x22f)]({'success':![],'error':_0x4057a0[_0x1c77a7(0x187)]});}}),this[_0x44f024(0x1cf)]['patch'](_0x44f024(0x220),async(_0x280c32,_0x175837)=>{const _0x2cb210=_0x44f024;try{const {fileId:_0x1db2b8}=_0x280c32['params'];if(!this[_0x2cb210(0x1d2)]?.[_0x2cb210(0x1a1)])return _0x175837['status'](0x1f4)[_0x2cb210(0x22f)]({'success':![],'error':_0x2cb210(0x1ba)});const _0x394ab1=await this['orchestrator'][_0x2cb210(0x1a1)][_0x2cb210(0x1a9)](_0x1db2b8);this['logger']['info'](_0x2cb210(0x279),{'fileId':_0x1db2b8,'active':_0x394ab1[_0x2cb210(0x251)]}),_0x175837[_0x2cb210(0x22f)]({'success':!![],'attachment':_0x394ab1});}catch(_0x29895c){this['logger'][_0x2cb210(0x1a5)]('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x280c32['params'][_0x2cb210(0x19d)],'error':_0x29895c[_0x2cb210(0x187)]}),_0x175837['status'](0x1f4)['json']({'success':![],'error':_0x29895c[_0x2cb210(0x187)]});}}),this['app'][_0x44f024(0x27d)](_0x44f024(0x1ef),async(_0x2ae66d,_0x3d8362)=>{const _0x12bbb2=_0x44f024;try{const {fileId:_0x3b2199}=_0x2ae66d['params'],{mode:_0x16b6ad,active:_0x4d06d7}=_0x2ae66d[_0x12bbb2(0x1ad)];if(!this[_0x12bbb2(0x1d2)]?.['fileAttachmentService'])return _0x3d8362['status'](0x1f4)[_0x12bbb2(0x22f)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x2a72ab={};if(_0x16b6ad!==undefined)_0x2a72ab[_0x12bbb2(0x196)]=_0x16b6ad;if(_0x4d06d7!==undefined)_0x2a72ab[_0x12bbb2(0x251)]=_0x4d06d7;const _0x289465=await this[_0x12bbb2(0x1d2)][_0x12bbb2(0x1a1)][_0x12bbb2(0x240)](_0x3b2199,_0x2a72ab);this[_0x12bbb2(0x282)][_0x12bbb2(0x1a6)](_0x12bbb2(0x1c7),{'fileId':_0x3b2199,'updates':_0x2a72ab}),_0x3d8362['json']({'success':!![],'attachment':_0x289465});}catch(_0x1cddec){this[_0x12bbb2(0x282)][_0x12bbb2(0x1a5)](_0x12bbb2(0x1e8),{'fileId':_0x2ae66d[_0x12bbb2(0x1b0)]['fileId'],'error':_0x1cddec['message']}),_0x3d8362[_0x12bbb2(0x1d8)](0x1f4)['json']({'success':![],'error':_0x1cddec['message']});}}),this['app'][_0x44f024(0x278)]('/api/attachments/:fileId',async(_0x236a42,_0x16a46a)=>{const _0x3a7e8a=_0x44f024;try{const {fileId:_0x27ba45}=_0x236a42[_0x3a7e8a(0x1b0)],{agentId:_0x4c6100}=_0x236a42['query'];if(!_0x4c6100)return _0x16a46a[_0x3a7e8a(0x1d8)](0x190)[_0x3a7e8a(0x22f)]({'success':![],'error':_0x3a7e8a(0x1ed)});if(!this['orchestrator']?.[_0x3a7e8a(0x1a1)])return _0x16a46a[_0x3a7e8a(0x1d8)](0x1f4)['json']({'success':![],'error':_0x3a7e8a(0x1ba)});const _0x28758f=await this['orchestrator'][_0x3a7e8a(0x1a1)][_0x3a7e8a(0x1b4)](_0x27ba45,_0x4c6100);this[_0x3a7e8a(0x282)][_0x3a7e8a(0x1a6)](_0x3a7e8a(0x207),{'fileId':_0x27ba45,'agentId':_0x4c6100,'physicallyDeleted':_0x28758f['physicallyDeleted']}),_0x16a46a[_0x3a7e8a(0x22f)]({'success':!![],'message':_0x28758f[_0x3a7e8a(0x266)]?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x28758f['physicallyDeleted']});}catch(_0xd384e1){this['logger']['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x236a42['params'][_0x3a7e8a(0x19d)],'error':_0xd384e1[_0x3a7e8a(0x187)]}),_0x16a46a[_0x3a7e8a(0x1d8)](0x1f4)['json']({'success':![],'error':_0xd384e1[_0x3a7e8a(0x187)]});}}),this['app'][_0x44f024(0x242)]('/api/attachments/:fileId/import',async(_0x58a2d8,_0x4cb533)=>{const _0x2966a1=_0x44f024;try{const {fileId:_0x5e66d2}=_0x58a2d8[_0x2966a1(0x1b0)],{targetAgentId:_0x29b87a}=_0x58a2d8['body'];if(!_0x29b87a)return _0x4cb533[_0x2966a1(0x1d8)](0x190)[_0x2966a1(0x22f)]({'success':![],'error':_0x2966a1(0x1da)});if(!this['orchestrator']?.[_0x2966a1(0x1a1)])return _0x4cb533['status'](0x1f4)['json']({'success':![],'error':_0x2966a1(0x1ba)});const _0x4d8b70=await this[_0x2966a1(0x1d2)][_0x2966a1(0x1a1)]['importFromAgent'](_0x5e66d2,_0x29b87a);this[_0x2966a1(0x282)][_0x2966a1(0x1a6)]('Attachment imported',{'fileId':_0x5e66d2,'targetAgentId':_0x29b87a}),_0x4cb533['json']({'success':!![],'attachment':_0x4d8b70});}catch(_0x327509){this[_0x2966a1(0x282)]['error']('Failed to import attachment',{'fileId':_0x58a2d8[_0x2966a1(0x1b0)][_0x2966a1(0x19d)],'error':_0x327509[_0x2966a1(0x187)]}),_0x4cb533['status'](0x1f4)[_0x2966a1(0x22f)]({'success':![],'error':_0x327509[_0x2966a1(0x187)]});}}),this['app'][_0x44f024(0x20e)]('/api/attachments/:fileId/preview',async(_0x249a82,_0x5863b4)=>{const _0x1bf359=_0x44f024;try{const {fileId:_0x2ba1de}=_0x249a82[_0x1bf359(0x1b0)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x5863b4['status'](0x1f4)[_0x1bf359(0x22f)]({'success':![],'error':_0x1bf359(0x1ba)});const _0x23b99c=await this[_0x1bf359(0x1d2)]['fileAttachmentService']['getAttachmentPreview'](_0x2ba1de);if(!_0x23b99c)return _0x5863b4[_0x1bf359(0x1d8)](0x194)['json']({'success':![],'error':_0x1bf359(0x209)});_0x5863b4[_0x1bf359(0x22f)]({'success':!![],'preview':_0x23b99c});}catch(_0x291f63){this['logger']['error'](_0x1bf359(0x212),{'fileId':_0x249a82['params']['fileId'],'error':_0x291f63[_0x1bf359(0x187)]}),_0x5863b4['status'](0x1f4)['json']({'success':![],'error':_0x291f63[_0x1bf359(0x187)]});}}),this['app']['get'](_0x44f024(0x1af),async(_0x27e1e8,_0x1e7e21)=>{const _0x20f69c=_0x44f024;try{const {sessionId:_0x31a6fe,filename:_0x342dc8}=_0x27e1e8[_0x20f69c(0x1b0)],_0x1feecb=this[_0x20f69c(0x1e0)]['get'](_0x31a6fe);if(!_0x1feecb)return _0x1e7e21[_0x20f69c(0x1d8)](HTTP_STATUS['FORBIDDEN'])['json']({'success':![],'error':_0x20f69c(0x281)});const _0x521b60=a0_0x5aad05[_0x20f69c(0x247)](_0x342dc8);if(_0x521b60!==_0x342dc8||_0x342dc8[_0x20f69c(0x263)]('..')||_0x342dc8['includes']('/')||_0x342dc8[_0x20f69c(0x263)]('\x5c'))return _0x1e7e21['status'](HTTP_STATUS['BAD_REQUEST'])[_0x20f69c(0x22f)]({'success':![],'error':_0x20f69c(0x1fd)});let _0x28a079=null;const _0x49464e=[a0_0x5aad05[_0x20f69c(0x233)](_0x1feecb[_0x20f69c(0x222)]||process['cwd'](),'images',_0x521b60),a0_0x5aad05['join']('/tmp/loxia-images',_0x31a6fe,_0x521b60),a0_0x5aad05['join']('/tmp/loxia-images',_0x521b60)];if(this['orchestrator']?.['agentPool'])try{const _0x86ba95=await this['orchestrator'][_0x20f69c(0x1b5)][_0x20f69c(0x26b)]();for(const _0x3b9121 of _0x86ba95){_0x3b9121['directoryAccess']?.[_0x20f69c(0x1ca)]&&_0x49464e[_0x20f69c(0x1a2)](a0_0x5aad05['join'](_0x3b9121['directoryAccess'][_0x20f69c(0x1ca)],_0x20f69c(0x1e5),_0x521b60));}}catch(_0xe2028){this[_0x20f69c(0x282)][_0x20f69c(0x1e4)](_0x20f69c(0x25b),{'error':_0xe2028[_0x20f69c(0x187)]});}for(const _0x243b5e of _0x49464e){try{const _0x2e605c=await a0_0x2d289b['stat'](_0x243b5e);if(_0x2e605c[_0x20f69c(0x1c4)]()){_0x28a079=_0x243b5e,this[_0x20f69c(0x282)][_0x20f69c(0x1a6)](_0x20f69c(0x253),{'filename':_0x521b60,'path':_0x28a079,'sessionId':_0x31a6fe});break;}}catch(_0xb116e5){continue;}}if(!_0x28a079)return this['logger']['warn'](_0x20f69c(0x197),{'filename':_0x521b60,'sessionId':_0x31a6fe,'searchPaths':_0x49464e}),_0x1e7e21['status'](HTTP_STATUS[_0x20f69c(0x236)])[_0x20f69c(0x22f)]({'success':![],'error':'Image\x20not\x20found'});_0x1e7e21['sendFile'](_0x28a079,_0x373e3f=>{const _0x5787bc=_0x20f69c;_0x373e3f?(this[_0x5787bc(0x282)]['error']('Failed\x20to\x20send\x20image\x20file',{'error':_0x373e3f[_0x5787bc(0x187)],'imagePath':_0x28a079,'filename':_0x521b60}),!_0x1e7e21['headersSent']&&_0x1e7e21['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x5787bc(0x22f)]({'success':![],'error':_0x5787bc(0x188)})):this[_0x5787bc(0x282)]['info']('Image\x20served\x20successfully',{'filename':_0x521b60,'path':_0x28a079,'sessionId':_0x31a6fe});});}catch(_0x3bfbe4){this['logger'][_0x20f69c(0x1a5)]('Image\x20serving\x20error',{'error':_0x3bfbe4['message'],'sessionId':_0x27e1e8['params']['sessionId'],'filename':_0x27e1e8['params'][_0x20f69c(0x1a0)]}),_0x1e7e21['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x3bfbe4['message']});}}),this['app']['post']('/api/agents/:agentId/mode',async(_0x4ceb58,_0x5cb7bb)=>{const _0x4c0294=_0x44f024;try{const {agentId:_0x4c36d8}=_0x4ceb58['params'],{mode:_0x4c4740,lockMode:lockMode=![],sessionId:_0x2f57de}=_0x4ceb58['body'];if(!Object['values'](AGENT_MODES)['includes'](_0x4c4740))return _0x5cb7bb[_0x4c0294(0x1d8)](0x190)['json']({'success':![],'error':'Invalid\x20mode.\x20Must\x20be\x20one\x20of:\x20'+Object[_0x4c0294(0x22b)](AGENT_MODES)['join'](',\x20')});const _0x16160e=_0x2f57de||_0x4ceb58['sessionID'];!_0x16160e&&this[_0x4c0294(0x282)]['warn']('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0x4c36d8,'hasBodySessionId':!!_0x2f57de,'hasReqSessionId':!!_0x4ceb58['sessionID']});const _0x4c2136={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x16160e,'action':_0x4c0294(0x19f),'payload':{'agentId':_0x4c36d8,'updates':{'mode':_0x4c4740}}},_0x30e841=await this[_0x4c0294(0x1d2)][_0x4c0294(0x24c)](_0x4c2136);if(_0x30e841[_0x4c0294(0x21e)]){const _0x244f3d=_0x30e841[_0x4c0294(0x228)];this[_0x4c0294(0x282)]['info'](_0x4c0294(0x22c)+_0x4c36d8,{'newMode':_0x4c4740,'lockMode':lockMode,'finalMode':_0x244f3d?.['mode']}),this[_0x4c0294(0x21c)](_0x4c2136['sessionId'],{'type':'agent_mode_changed','agentId':_0x4c36d8,'mode':_0x244f3d?.[_0x4c0294(0x196)],'modeState':_0x244f3d?.['modeState']}),_0x5cb7bb['json']({'success':!![],'agent':_0x244f3d,'message':_0x4c0294(0x1e2)+_0x244f3d?.[_0x4c0294(0x196)]});}else _0x5cb7bb[_0x4c0294(0x1d8)](0x190)[_0x4c0294(0x22f)]({'success':![],'error':_0x30e841['error']||_0x4c0294(0x1c2)});}catch(_0x2499f2){this[_0x4c0294(0x282)]['error']('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0x4ceb58[_0x4c0294(0x1b0)][_0x4c0294(0x237)],'error':_0x2499f2['message']}),_0x5cb7bb['status'](0x1f4)['json']({'success':![],'error':_0x2499f2['message']});}}),this[_0x44f024(0x1cf)][_0x44f024(0x242)]('/api/agents/:agentId/stop',async(_0x2e542d,_0x252dcd)=>{const _0x59ec7b=_0x44f024;try{const {agentId:_0x443772}=_0x2e542d[_0x59ec7b(0x1b0)],_0x450232=this['orchestrator']['messageProcessor'];if(!_0x450232)return _0x252dcd[_0x59ec7b(0x1d8)](0x1f4)[_0x59ec7b(0x22f)]({'success':![],'error':_0x59ec7b(0x243)});const _0x416f31=await _0x450232[_0x59ec7b(0x286)](_0x443772);this['logger'][_0x59ec7b(0x1a6)](_0x59ec7b(0x19c)+_0x443772);const _0x30aa74=_0x2e542d[_0x59ec7b(0x1b1)]||_0x416f31[_0x59ec7b(0x1b9)]?.['sessionId'];_0x30aa74&&this[_0x59ec7b(0x21c)](_0x30aa74,{'type':_0x59ec7b(0x203),'agentId':_0x443772,'mode':_0x416f31[_0x59ec7b(0x1b9)]?.['mode'],'modeState':_0x416f31['agent']?.[_0x59ec7b(0x190)]}),_0x252dcd[_0x59ec7b(0x22f)](_0x416f31);}catch(_0x10a616){this['logger'][_0x59ec7b(0x1a5)]('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x2e542d[_0x59ec7b(0x1b0)]['agentId'],'error':_0x10a616['message']}),_0x252dcd['status'](0x1f4)['json']({'success':![],'error':_0x10a616[_0x59ec7b(0x187)]});}}),this[_0x44f024(0x1cf)][_0x44f024(0x20e)](_0x44f024(0x1b6),async(_0x33174a,_0x40ed96)=>{const _0x4b69ec=_0x44f024;try{const {agentId:_0x5c0831}=_0x33174a['params'],_0x782f52={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x33174a[_0x4b69ec(0x1b1)],'action':'get_agent_status','payload':{'agentId':_0x5c0831}},_0x10da0b=await this[_0x4b69ec(0x1d2)]['processRequest'](_0x782f52);_0x10da0b['success']&&_0x10da0b['agent']?_0x40ed96[_0x4b69ec(0x22f)]({'success':!![],'mode':_0x10da0b[_0x4b69ec(0x1b9)]['mode'],'modeState':_0x10da0b[_0x4b69ec(0x1b9)]['modeState'],'currentTask':_0x10da0b['agent'][_0x4b69ec(0x262)],'iterationCount':_0x10da0b[_0x4b69ec(0x1b9)]['iterationCount'],'taskStartTime':_0x10da0b['agent'][_0x4b69ec(0x28a)],'stopRequested':_0x10da0b[_0x4b69ec(0x1b9)]['stopRequested']}):_0x40ed96['status'](0x194)['json']({'success':![],'error':'Agent\x20not\x20found'});}catch(_0x36a20b){this[_0x4b69ec(0x282)][_0x4b69ec(0x1a5)]('Failed\x20to\x20get\x20agent\x20mode\x20status',{'agentId':_0x33174a[_0x4b69ec(0x1b0)][_0x4b69ec(0x237)],'error':_0x36a20b[_0x4b69ec(0x187)]}),_0x40ed96['status'](0x1f4)[_0x4b69ec(0x22f)]({'success':![],'error':_0x36a20b['message']});}}),this['app']['get']('/api/agents/available',async(_0x4badfa,_0x225d17)=>{const _0x4ae800=_0x44f024;try{const _0x23d0f2=this['orchestrator']['config'][_0x4ae800(0x274)]?.['directory']||process['cwd'](),_0xe135db=await this[_0x4ae800(0x1d2)][_0x4ae800(0x24f)][_0x4ae800(0x193)](_0x23d0f2,this['orchestrator']['agentPool']);_0x225d17[_0x4ae800(0x22f)]({'success':!![],'agents':_0xe135db,'total':_0xe135db['length'],'active':_0xe135db['filter'](_0x2988e0=>_0x2988e0[_0x4ae800(0x211)])['length'],'archived':_0xe135db[_0x4ae800(0x19a)](_0xd3268b=>!_0xd3268b['isLoaded'])['length']});}catch(_0x12d425){this[_0x4ae800(0x282)]['error']('Failed\x20to\x20get\x20available\x20agents',{'error':_0x12d425['message'],'stack':_0x12d425[_0x4ae800(0x23b)]}),_0x225d17[_0x4ae800(0x1d8)](0x1f4)[_0x4ae800(0x22f)]({'success':![],'error':_0x12d425[_0x4ae800(0x187)]});}}),this['app'][_0x44f024(0x20e)](_0x44f024(0x1e1),async(_0x22cd9a,_0x103902)=>{const _0x1865df=_0x44f024;try{const {agentId:_0x4e4fd3}=_0x22cd9a['params'],_0x8f9f2f=this['orchestrator']['config'][_0x1865df(0x274)]?.[_0x1865df(0x25f)]||process['cwd'](),_0x204093=await this[_0x1865df(0x1d2)][_0x1865df(0x24f)][_0x1865df(0x1e7)](_0x4e4fd3,_0x8f9f2f);_0x103902[_0x1865df(0x22f)]({'success':!![],'metadata':_0x204093});}catch(_0x50a543){this['logger']['error']('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x22cd9a[_0x1865df(0x1b0)][_0x1865df(0x237)],'error':_0x50a543['message']}),_0x103902[_0x1865df(0x1d8)](0x194)['json']({'success':![],'error':_0x50a543[_0x1865df(0x187)]});}}),this[_0x44f024(0x1cf)][_0x44f024(0x242)]('/api/agents/import',async(_0x449adc,_0x2f9fe8)=>{const _0x5e6fa9=_0x44f024;try{const {agentId:_0x586d7b}=_0x449adc[_0x5e6fa9(0x1ad)];if(!_0x586d7b)return _0x2f9fe8[_0x5e6fa9(0x1d8)](0x190)[_0x5e6fa9(0x22f)]({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0x4bf7b9=this[_0x5e6fa9(0x1d2)]['config'][_0x5e6fa9(0x274)]?.[_0x5e6fa9(0x25f)]||process[_0x5e6fa9(0x1de)](),_0x1021e4=await this[_0x5e6fa9(0x1d2)]['stateManager']['importArchivedAgent'](_0x586d7b,_0x4bf7b9,this[_0x5e6fa9(0x1d2)][_0x5e6fa9(0x1b5)]);this['wsManager']&&this[_0x5e6fa9(0x1fb)][_0x5e6fa9(0x227)]({'type':'agent-imported','agent':{'id':_0x1021e4['id'],'name':_0x1021e4[_0x5e6fa9(0x241)],'status':_0x1021e4[_0x5e6fa9(0x1d8)],'capabilities':_0x1021e4[_0x5e6fa9(0x18f)],'model':_0x1021e4[_0x5e6fa9(0x21d)]||_0x1021e4['preferredModel']}}),this['logger']['info']('Agent imported successfully',{'agentId':_0x1021e4['id'],'name':_0x1021e4['name']}),_0x2f9fe8[_0x5e6fa9(0x22f)]({'success':!![],'agent':{'id':_0x1021e4['id'],'name':_0x1021e4[_0x5e6fa9(0x241)],'status':_0x1021e4[_0x5e6fa9(0x1d8)],'model':_0x1021e4['currentModel']||_0x1021e4['preferredModel'],'capabilities':_0x1021e4[_0x5e6fa9(0x18f)],'lastActivity':_0x1021e4[_0x5e6fa9(0x20f)]},'message':'Agent\x20'+_0x1021e4['name']+_0x5e6fa9(0x229)});}catch(_0x102110){this[_0x5e6fa9(0x282)]['error']('Failed to import agent',{'agentId':_0x449adc[_0x5e6fa9(0x1ad)][_0x5e6fa9(0x237)],'error':_0x102110[_0x5e6fa9(0x187)],'stack':_0x102110['stack']});const _0x393d81=_0x102110['message'][_0x5e6fa9(0x263)](_0x5e6fa9(0x1ce))?0x199:_0x102110[_0x5e6fa9(0x187)]['includes']('not\x20found')?0x194:_0x102110[_0x5e6fa9(0x187)]['includes']('Invalid')?0x190:0x1f4;_0x2f9fe8[_0x5e6fa9(0x1d8)](_0x393d81)['json']({'success':![],'error':_0x102110[_0x5e6fa9(0x187)]});}}),this['app']['get']('*',(_0x252ff5,_0x3f9bbf)=>{const _0x538f9a=a0_0x5aad05['join'](__dirname,'../../web-ui/build/index.html');_0x3f9bbf['sendFile'](_0x538f9a,_0x280505=>{const _0x285bb9=a0_0x3b9e;_0x280505&&_0x3f9bbf['status'](HTTP_STATUS['NOT_FOUND'])['send'](_0x285bb9(0x1fc));});});}['setupWebSocket'](){const _0x59f679=a0_0x119ca9;this[_0x59f679(0x282)]['info']('Setting\x20up\x20WebSocket\x20server',{'port':this['port'],'host':this[_0x59f679(0x24a)],'wsServerExists':!!this[_0x59f679(0x226)],'httpServerExists':!!this[_0x59f679(0x26a)]}),this[_0x59f679(0x226)]['on'](_0x59f679(0x1a5),_0xe55108=>{const _0x42b31f=_0x59f679;this[_0x42b31f(0x282)][_0x42b31f(0x1a5)](_0x42b31f(0x271),{'error':_0xe55108[_0x42b31f(0x187)],'stack':_0xe55108[_0x42b31f(0x23b)],'port':this['port']});}),this[_0x59f679(0x226)]['on'](_0x59f679(0x194),()=>{const _0x772b9a=_0x59f679;this['logger']['info'](_0x772b9a(0x1c1),{'port':this[_0x772b9a(0x24d)],'host':this[_0x772b9a(0x24a)]});}),this[_0x59f679(0x226)]['on'](_0x59f679(0x26e),(_0x20c675,_0x44d63d)=>{const _0xb302ef=_0x59f679,_0x5b5d54='conn-'+Date['now']()+'-'+Math['random']()[_0xb302ef(0x195)](0x24)[_0xb302ef(0x269)](0x2,0x9);this[_0xb302ef(0x282)]['info'](_0xb302ef(0x184),{'connectionId':_0x5b5d54,'ip':_0x44d63d['socket']['remoteAddress'],'origin':_0x44d63d[_0xb302ef(0x1f2)][_0xb302ef(0x217)],'host':_0x44d63d['headers'][_0xb302ef(0x24a)],'userAgent':_0x44d63d[_0xb302ef(0x1f2)]['user-agent'],'url':_0x44d63d[_0xb302ef(0x267)]});const _0xe81fcf={'id':_0x5b5d54,'ws':_0x20c675,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()[_0xb302ef(0x27c)]()};this[_0xb302ef(0x283)]['set'](_0x5b5d54,_0xe81fcf),_0x20c675['on']('message',async _0x3ff48d=>{const _0x3f8992=_0xb302ef;try{const _0x59648c=JSON[_0x3f8992(0x23f)](_0x3ff48d['toString']());await this[_0x3f8992(0x1bd)](_0x5b5d54,_0x59648c);}catch(_0x24f6f9){this['logger']['error']('WebSocket\x20message\x20error',{'connectionId':_0x5b5d54,'error':_0x24f6f9[_0x3f8992(0x187)]}),_0x20c675[_0x3f8992(0x27f)](JSON[_0x3f8992(0x191)]({'type':'error','error':_0x24f6f9['message']}));}}),_0x20c675['on'](_0xb302ef(0x225),()=>{const _0x325eda=_0xb302ef;this[_0x325eda(0x282)]['info'](_0x325eda(0x1c9),{'connectionId':_0x5b5d54}),this['connections'][_0x325eda(0x278)](_0x5b5d54);}),_0x20c675[_0xb302ef(0x27f)](JSON[_0xb302ef(0x191)]({'type':_0xb302ef(0x248),'connectionId':_0x5b5d54,'timestamp':new Date()['toISOString']()}));});}async['handleWebSocketMessage'](_0x4e9135,_0x2d6282){const _0x284922=a0_0x119ca9,_0x318efa=this[_0x284922(0x283)][_0x284922(0x20e)](_0x4e9135);if(!_0x318efa)return;_0x318efa[_0x284922(0x20f)]=new Date()[_0x284922(0x27c)]();switch(_0x2d6282[_0x284922(0x261)]){case'join_session':const _0x1c34da=_0x2d6282['sessionId'];_0x318efa[_0x284922(0x27a)]=_0x1c34da,this[_0x284922(0x282)][_0x284922(0x1a6)]('WebSocket\x20joined\x20session',{'connectionId':_0x4e9135,'sessionId':_0x1c34da,'totalConnectionsForSession':Array[_0x284922(0x21f)](this['connections']['values']())[_0x284922(0x19a)](_0x4fde1b=>_0x4fde1b[_0x284922(0x27a)]===_0x1c34da)[_0x284922(0x204)]}),_0x318efa['ws'][_0x284922(0x27f)](JSON[_0x284922(0x191)]({'type':_0x284922(0x1ea),'sessionId':_0x1c34da}));break;case'ping':_0x318efa['ws'][_0x284922(0x27f)](JSON['stringify']({'type':_0x284922(0x1db),'timestamp':new Date()['toISOString']()}));break;case'orchestrator_request':try{const _0x2537e8={'interface':INTERFACE_TYPES[_0x284922(0x223)],'sessionId':_0x318efa[_0x284922(0x27a)],'action':_0x2d6282['action'],'payload':_0x2d6282['payload'],'projectDir':_0x2d6282['projectDir']||process['cwd']()},_0x484649=await this[_0x284922(0x1d2)][_0x284922(0x24c)](_0x2537e8);_0x318efa['ws'][_0x284922(0x27f)](JSON['stringify']({'type':_0x284922(0x1c3),'requestId':_0x2d6282[_0x284922(0x210)],'response':_0x484649}));}catch(_0xf8b67c){_0x318efa['ws'][_0x284922(0x27f)](JSON['stringify']({'type':_0x284922(0x1a5),'requestId':_0x2d6282['requestId'],'error':_0xf8b67c[_0x284922(0x187)]}));}break;default:this[_0x284922(0x282)]['warn'](_0x284922(0x264),{'connectionId':_0x4e9135,'type':_0x2d6282[_0x284922(0x261)]});}}[a0_0x119ca9(0x21c)](_0x28c1da,_0x3824dd){const _0x434018=a0_0x119ca9,_0x8bc284=Array['from'](this[_0x434018(0x283)][_0x434018(0x22b)]())['filter'](_0x22c5b1=>_0x22c5b1['sessionId']===_0x28c1da);let _0x43a546=[];_0x8bc284[_0x434018(0x204)]===0x0&&(_0x43a546=Array['from'](this['connections'][_0x434018(0x22b)]()),this['logger']?.['warn'](_0x434018(0x289),{'targetSessionId':_0x28c1da,'totalConnections':this['connections'][_0x434018(0x1f7)],'allSessionIds':Array[_0x434018(0x21f)](this['connections'][_0x434018(0x22b)]())[_0x434018(0x18d)](_0x513518=>_0x513518[_0x434018(0x27a)])[_0x434018(0x19a)](Boolean)}));const _0x9af57e=_0x8bc284[_0x434018(0x204)]>0x0?_0x8bc284:_0x43a546;this['logger']?.['info']('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x28c1da,'messageType':_0x3824dd[_0x434018(0x261)],'agentId':_0x3824dd['agentId'],'totalConnections':this[_0x434018(0x283)]['size'],'sessionConnections':_0x8bc284['length'],'targetConnections':_0x9af57e['length'],'connectionIds':_0x9af57e[_0x434018(0x18d)](_0x2048ba=>_0x2048ba['id']),'usingFallback':_0x8bc284['length']===0x0,'messagePreview':_0x3824dd[_0x434018(0x261)]===_0x434018(0x189)&&_0x3824dd['message']?{'messageId':_0x3824dd['message']['id'],'messageRole':_0x3824dd[_0x434018(0x187)][_0x434018(0x1dc)],'contentLength':_0x3824dd['message']['content']?.['length'],'hasToolResults':!!_0x3824dd[_0x434018(0x187)]['toolResults']}:undefined});for(const _0x3ba6e2 of _0x9af57e){try{const _0x4a359f={..._0x3824dd,'timestamp':new Date()['toISOString']()};_0x3ba6e2['ws']['send'](JSON[_0x434018(0x191)](_0x4a359f)),this['logger']?.[_0x434018(0x1a6)](_0x434018(0x1d0),{'connectionId':_0x3ba6e2['id'],'messageType':_0x3824dd['type'],'agentId':_0x3824dd[_0x434018(0x237)]});}catch(_0x43ab91){this[_0x434018(0x282)]['warn'](_0x434018(0x1cb),{'connectionId':_0x3ba6e2['id'],'sessionId':_0x28c1da,'messageType':_0x3824dd[_0x434018(0x261)],'error':_0x43ab91['message']});}}}async['startServer'](){return new Promise((_0x29b98f,_0x55b2d1)=>{const _0x46e48c=a0_0x3b9e;this['server'][_0x46e48c(0x24b)](this[_0x46e48c(0x24d)],this['host'],_0x2e9be1=>{const _0x3d49be=_0x46e48c;_0x2e9be1?(this['logger'][_0x3d49be(0x1a5)](_0x3d49be(0x1f5),{'error':_0x2e9be1['message'],'port':this['port'],'host':this['host']}),_0x55b2d1(_0x2e9be1)):(this['isRunning']=!![],this['logger'][_0x3d49be(0x1a6)]('HTTP\x20server\x20started\x20successfully',{'port':this[_0x3d49be(0x24d)],'host':this['host'],'httpUrl':'http://'+this[_0x3d49be(0x24a)]+':'+this['port'],'wsUrl':'ws://'+this['host']+':'+this[_0x3d49be(0x24d)],'wsServerAttached':!!this[_0x3d49be(0x226)],'wsConnections':this[_0x3d49be(0x283)][_0x3d49be(0x1f7)]}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x29b98f());}),this[_0x46e48c(0x26a)]['on']('error',_0x2e6c7f=>{const _0x5e6539=_0x46e48c;this['logger'][_0x5e6539(0x1a5)]('HTTP\x20server\x20error:',{'error':_0x2e6c7f['message'],'stack':_0x2e6c7f[_0x5e6539(0x23b)],'port':this['port']});});});}async['testWebSocketServer'](){const _0x423188=a0_0x119ca9;try{const {default:_0x4a0330}=await import('ws'),_0x450b54=new _0x4a0330(_0x423188(0x25a)+this[_0x423188(0x24d)]);_0x450b54['on']('open',()=>{const _0x2ec787=_0x423188;this[_0x2ec787(0x282)]['info']('✅\x20WebSocket\x20server\x20test:\x20SUCCESSFUL',{'port':this['port'],'url':_0x2ec787(0x25a)+this['port']}),_0x450b54[_0x2ec787(0x225)]();}),_0x450b54['on'](_0x423188(0x1a5),_0x4c3df0=>{const _0x1fed9=_0x423188;this['logger'][_0x1fed9(0x1a5)](_0x1fed9(0x23c),{'port':this['port'],'url':'ws://localhost:'+this['port'],'error':_0x4c3df0['message'],'code':_0x4c3df0['code']});}),_0x450b54['on'](_0x423188(0x225),(_0x2927f2,_0x4c2de2)=>{const _0x1e50b4=_0x423188;_0x2927f2===0x3e8&&this['logger']['info'](_0x1e50b4(0x258));}),setTimeout(()=>{const _0x2cd8de=_0x423188;_0x450b54[_0x2cd8de(0x1f8)]===_0x4a0330['CONNECTING']&&(this[_0x2cd8de(0x282)][_0x2cd8de(0x1a5)](_0x2cd8de(0x1ff),{'port':this['port'],'url':_0x2cd8de(0x25a)+this['port'],'readyState':_0x450b54['readyState']}),_0x450b54['terminate']());},0x1388);}catch(_0x2dd7ad){this['logger']['error'](_0x423188(0x22e),{'error':_0x2dd7ad['message'],'stack':_0x2dd7ad[_0x423188(0x23b)]});}}[a0_0x119ca9(0x1e3)](_0x304ffc){const _0x12f9da=a0_0x119ca9;this['apiKeyManager']=_0x304ffc,this['logger']?.[_0x12f9da(0x1a6)]('API\x20key\x20manager\x20set\x20for\x20web\x20server',{'hasManager':!!_0x304ffc});}[a0_0x119ca9(0x234)](_0x57f956){const _0x146c5f=a0_0x119ca9;if(!_0x57f956)return null;const _0x4cea2d=_0x57f956[_0x146c5f(0x23a)]();if(_0x4cea2d[_0x146c5f(0x263)]('anthropic')||_0x4cea2d[_0x146c5f(0x263)](_0x146c5f(0x1bb)))return'anthropic';else{if(_0x4cea2d['includes'](_0x146c5f(0x235))||_0x4cea2d['includes']('gpt'))return _0x146c5f(0x235);else{if(_0x4cea2d[_0x146c5f(0x263)](_0x146c5f(0x254)))return _0x146c5f(0x254);else{if(_0x4cea2d['includes'](_0x146c5f(0x1d7)))return _0x146c5f(0x18e);}}}return null;}['getStatus'](){const _0x5744c3=a0_0x119ca9;return{'isRunning':this[_0x5744c3(0x270)],'port':this[_0x5744c3(0x24d)],'host':this[_0x5744c3(0x24a)],'connections':this[_0x5744c3(0x283)]['size'],'sessions':this['sessions']['size'],'url':'http://'+this[_0x5744c3(0x24a)]+':'+this['port']};}async['shutdown'](){const _0x2d3010=a0_0x119ca9;if(!this['isRunning'])return;this[_0x2d3010(0x282)][_0x2d3010(0x1a6)](_0x2d3010(0x265));for(const _0x3c5e6f of this[_0x2d3010(0x283)][_0x2d3010(0x22b)]()){_0x3c5e6f['ws']['close']();}return this[_0x2d3010(0x283)][_0x2d3010(0x20c)](),this['wss']['close'](),new Promise(_0x1ab72f=>{const _0x25c736=_0x2d3010;this[_0x25c736(0x26a)]['close'](()=>{const _0x5ee501=_0x25c736;this[_0x5ee501(0x270)]=![],this[_0x5ee501(0x282)][_0x5ee501(0x1a6)]('Web\x20server\x20shutdown\x20complete'),_0x1ab72f();});});}}export default WebServer;if(import.meta.url===a0_0x119ca9(0x1d1)+process[a0_0x119ca9(0x1cd)][0x1]){const simpleLogger={'info':(_0x142985,_0x21638e)=>console['log']('[INFO]\x20'+_0x142985,_0x21638e?JSON['stringify'](_0x21638e,null,0x2):''),'error':(_0x1966c9,_0x16b96b)=>console[a0_0x119ca9(0x1a5)](a0_0x119ca9(0x185)+_0x1966c9,_0x16b96b?JSON['stringify'](_0x16b96b,null,0x2):''),'warn':(_0x31dbaf,_0x501092)=>console[a0_0x119ca9(0x1e4)]('[WARN]\x20'+_0x31dbaf,_0x501092?JSON[a0_0x119ca9(0x191)](_0x501092,null,0x2):''),'debug':(_0x2e699f,_0x164fb0)=>console['log'](a0_0x119ca9(0x198)+_0x2e699f,_0x164fb0?JSON[a0_0x119ca9(0x191)](_0x164fb0,null,0x2):'')},mockOrchestrator={'processAction':async(_0x663706,_0x54a067)=>{const _0xc18460=a0_0x119ca9;simpleLogger['info'](_0xc18460(0x216),{'action':_0x663706,'data':_0x54a067});switch(_0x663706){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0xc18460(0x1f1)]:return{'success':!![],'data':{'id':_0xc18460(0x277)+Date['now'](),'name':_0x54a067['name']||'New\x20Agent','status':_0xc18460(0x251),'model':_0x54a067[_0xc18460(0x249)]||'anthropic-sonnet','systemPrompt':_0x54a067['systemPrompt']||_0xc18460(0x1fe)}};case ORCHESTRATOR_ACTIONS['SEND_MESSAGE']:return{'success':!![],'data':{'message':{'id':_0xc18460(0x224)+Date[_0xc18460(0x27b)](),'content':_0xc18460(0x1a7)+_0x54a067['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':_0xc18460(0x1bc)+_0x663706};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':a0_0x119ca9(0x1f9)});console['log'](a0_0x119ca9(0x1ac)),server['startServer']()[a0_0x119ca9(0x1aa)](()=>{const _0x889d6a=a0_0x119ca9,_0x229b54=server['getStatus']();console['log'](_0x889d6a(0x1d6)+_0x229b54['url']),console[_0x889d6a(0x183)]('📱\x20Web\x20UI\x20available\x20at:\x20http://localhost:3001\x20(if\x20running)'),console[_0x889d6a(0x183)](_0x889d6a(0x288));})[a0_0x119ca9(0x252)](_0xa6c66f=>{const _0x539052=a0_0x119ca9;console['error']('❌\x20Failed\x20to\x20start\x20web\x20server:',_0xa6c66f[_0x539052(0x187)]),process['exit'](0x1);}),process['on']('SIGINT',async()=>{const _0x1051c3=a0_0x119ca9;console['log']('\x0a🛑\x20Shutting\x20down\x20web\x20server...'),await server['shutdown'](),process[_0x1051c3(0x1c6)](0x0);});}
1
+ const a0_0x5b353f=a0_0x4ff7;(function(_0x108e87,_0x29df35){const _0x4852f4=a0_0x4ff7,_0x40b177=_0x108e87();while(!![]){try{const _0x4b2d9b=-parseInt(_0x4852f4(0x109))/0x1+-parseInt(_0x4852f4(0x156))/0x2*(-parseInt(_0x4852f4(0x199))/0x3)+-parseInt(_0x4852f4(0xe0))/0x4+-parseInt(_0x4852f4(0x1c9))/0x5*(parseInt(_0x4852f4(0x11c))/0x6)+-parseInt(_0x4852f4(0x1cb))/0x7*(parseInt(_0x4852f4(0x136))/0x8)+-parseInt(_0x4852f4(0x107))/0x9+parseInt(_0x4852f4(0xf6))/0xa*(parseInt(_0x4852f4(0x14c))/0xb);if(_0x4b2d9b===_0x29df35)break;else _0x40b177['push'](_0x40b177['shift']());}catch(_0x4e9509){_0x40b177['push'](_0x40b177['shift']());}}}(a0_0x52b2,0x1ff2c));import a0_0x1792ef from'express';import{createServer}from'http';import{WebSocketServer}from'ws';function a0_0x52b2(){const _0x378643=['l2fWAs9LEhbSB3jLCI9TA2rPCG','CMvHzezPBgu','qxr0ywnOBwvUDcbKzwXLDgvK','C3rHDgvnyw5Hz2vY','AgvHBhrOEq','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','zgLYBMfTzq','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','DxbSB2fKrMLSzq','ChjVAMvJDerPCG','mZe1nti4CxLjz0Lm','z2v0x2fNzw50x3n0yxr1CW','yxv0Ag9YAxPHDgLVBG','8j+tOsbxzwjtB2nRzxqGyNjVywrJyxn0vg9tzxnZAw9UignHBgXLzdO','zMLSzq','y2fWywjPBgL0AwvZ','Dg9mB3DLCKnHC2u','v2vIihnLCNzLCIbPBML0AwfSAxPLza','BwfW','yM9KEq','l2fWAs9RzxLZlZPZzxnZAw9Uswq','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','ywn0Aw9U','C2vZC2LVBL9QB2LUzwq','z2v0qwDLBNq','C3rHDhvZ','Bg9N','C3vIC3rY','lI4VC2vYDMLJzxmVywDLBNrby3rPDML0EvnLCNzPy2uUANm','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','C3rHCNrZv2L0Aa','t1busu9ouW','nda0mZG3mffNA25Ivq','D3m6lY8','C3vIC3rYAw5N','ywDLBNq','ywDLBNrjza','Aw1WB3j0rNjVBufNzw50','q1jfqvrfx0fhru5u','zgLYzwn0B3j5qwnJzxnZ','zgvLChnLzwS','D2vIlq','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','DgfYz2v0qwDLBNrjzcbPCYbYzxf1AxjLza','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','Ahr0CdOVlW','y29UBMvJDgvK','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','BgLZDgvU','otCZmJe1vxPdwgnu','zgLYzwn0B3j5','ntm4mJDurw9ACMG','ChjVAMvJDa','qKfex1jfuvvfu1q','lI4VlI4VD2vIlxvPl2j1AwXK','yxbPs2v5twfUywDLCG','CgfYyw1Z','CMvTB3zLu2vZC2LVBKTLExm','qxP1CMuGyMfJA2vUzcbLCNjVCJOG','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','CMfUzg9T','D3m6lY9SB2nHBgHVC3q6','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','y29UDgvUDa','t3jJAgvZDhjHDg9YiefqssbLCNjVCG','AM9PBL9ZzxnZAw9U','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJO','y2XVC2u','mtmZogrzv0j1vG','CM91DgvY','Ag9ZDa','zMLSDgvY','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','C3LZDgvTuhjVBxb0','y2f0zwDVCNK','zw52','C3rHDhvZvgv4Da','CxvLCNK','z2v0','Cg9ZDa','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','t3jPz2LUlcbylvjLCxvLC3rLzc1xAxrOlcbdB250zw50lvr5CguSiefJy2vWDcWGqxv0Ag9YAxPHDgLVBG','AxnsDw5UAw5N','BMfTzq','Cgf0y2G','y29UBMvJDgLVBNm','Bw9Kzq','l2fWAs9LEhbSB3jLCG','B3jJAgvZDhjHDg9Y','rMfPBgvKihrVigDLDcbHz2vUDcbTzxrHzgf0yq','u0Lhsu5u','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','CgH5C2LJywXSEurLBgv0zwq','mJe2q1vRrfLq','CMvSyxrPDMu','AgvHzgvYCW','ChjVy2vZC1jLCxvLC3q','zMLSzu5HBwu','C2v0DxbnAwrKBgv3yxjL','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','y2XHDwrL','Bw9KzwXZu2vYDMLJzq','rMfPBgvKihrVihbYB3H5ignOyxqGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5K','u0vorf9nrvntquDf','CMvZB2X2zq','ANnVBG','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','C3vJy2vZCW','C2v0DxbsB3v0zxm','C2vUzfn0yxr1CW','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','qMvHCMvYia','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrKfjteve','C3rHCNrtzxj2zxi','DxbKyxrLqxr0ywnOBwvUDa','mtf4r0DeCNe','BwTKAxi','qwDLBNqGBM90igzVDw5K','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','twvZC2fNzsbWCM9JzxnZB3iGBM90igf2ywLSywjSzq','DhLWzq','BwLJCM9ZB2z0','CgLUzW','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','Dg9Nz2XLqwn0AxzL','ntaWnJe4uMftAefn','C2L6zq','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','y3vYCMvUDfrHC2S','ywXYzwfKEsbHy3rPDMu','CM9Szq','yNjVywrJyxn0vg9tzxnZAw9U','y3DK','Cg9YDa','Aw5JBhvKzxm','BxnNlq','su5urvjoquXFu0vsvKvsx0vsuK9s','AxneAxjLy3rVCNK','Bg9JywXLq29TCgfYzq','CgHP','sw52ywXPza','te9ysufFqvbjx0Tfwq','ywn0AxzL','BgvUz3rO','BgfZDefJDgL2Axr5','AgvHzgvY','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','AxnmB2fKzwq','C2v0DxbxzwjtB2nRzxq','D2fYBG','C3rHDa','y29UBMvJDgLVBG','yMLYDgH0Aw1L','Dgv4Da','Bg9Nz2vY','ywXS','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','C2vUza','y2f0y2G','DxrMoa','Aw5MBW','C3rYAw5NAwz5','tK9ux0zpvu5e','DxbKyxrLx2fNzw50','BM90igzVDw5K','Bw9Kzvn0yxrL','zxjYB3i','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','yxbW','Bwv0Ag9K','Dg9VBfjLC3vSDhm','tMv3iefNzw50','rwnOBZOG','z2v0s2v5C0zVCLjLCxvLC3q','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','y2XLyxi','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','AxngAwXL','yxbPs2v5','C2v0u2vZC2LVBKTLExm','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9TB2rLBhm','y3vYCMvUDe1VzgvS','y29Kzq','zgvSzxrL','AM9PBG','z2v0qxr0ywnOBwvUDhm','ms4WlJa','z2v0u3rHDhvZ','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','l3rTCc9SB3HPys1PBwfNzxm','yNjVywrJyxn0','l2fWAs9Hz2vUDhmVoMfNzw50swqVy2XLyxi','m0XjtfrKzq','sw1Hz2uGC2vYDMLUzYbLCNjVCG','4P2miezHAwXLzcb0BYbZzw5KifDLyLnVy2TLDcbTzxnZywDL','zMLSztOVlW','mtbTyG','l2fWAs9SBg0VBw9KzwXZ','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','qxr0ywnOBwvUDcb1CgrHDgvK','Bg94AwfbCgLlzxK','ChjLzMvYCMvKtw9KzwW','DgvYBwLUyxrL','zMLSzuv4CgXVCMvYtw9KDwXL','DMfSDwvZ','sw52ywXPzcbMAwXLBMfTzq','C2vYDMvY','yw50AhjVCgLJlxnVBM5LDa','CMvX','l2fWAs9VCMnOzxn0CMf0B3i','rMfPBgvKihrVihnLDcbbueKGA2v5CW','C2vZC2LVBKLe','DxnLCI1Hz2vUDa','BwvZC2fNzvbYB2nLC3nVCG','C2vUzezPBgu','yxv0B25VBw91C191CgrHDgu','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','AxrLCMf0Aw9Uq291BNq','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','v0vc','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','qvbjigTLExmGDxbKyxrLzcbZDwnJzxnZzNvSBhK','ywDLBNrqB29S','8j+uHcboBYbJB25Uzwn0Aw9UCYbMB3iGC2vZC2LVBIWGDhj5Aw5NigfSBcbJB25Uzwn0Aw9UCZO','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','zMLSzuLK','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','D3nZ','zgf0yq','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3bYzxzPzxC','tM8GqvbjigTLExmGzM91BMqGzM9YihnLC3nPB24','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','yxrPBwu','qwDLBNqG','BwvZC2fNzq','qwDLBNqGBw9KzsbZD2L0y2HLzcb0BYa','C3rHy2S','C2vZC2LVBKLK','Dg9tDhjPBMC','mJy2nvHctNriuq','l2fWAs9RzxLZ','ndi1ntnrzLfWyw8','sfruucbZzxj2zxiGC3rHCNrLzcbZDwnJzxnZzNvSBhK','x2DLDfzLBMrVCKzYB21nB2rLBa','BM93','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','Dg9ju09tDhjPBMC','ChvZAa','y29UzMLN','C2vZC2LVBNm','A2v5CW','zNjVBq','DxjS','w0rfqLvhxsa','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','CgfYC2u','y2XLyxjdB252zxjZyxrPB24','Bw9KzwW','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','DMvUzg9YqxbPs2v5','D3nnyw5Hz2vY','l2fWAs9OzwfSDgG','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','l2fWAs90B29SCW','C2H1DgrVD24','DxnL','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ'];a0_0x52b2=function(){return _0x378643;};return a0_0x52b2();}import a0_0x4d9ede from'path';import{promises as a0_0x2a46e4}from'fs';import{fileURLToPath}from'url';function a0_0x4ff7(_0x278795,_0x1f935d){_0x278795=_0x278795-0xcd;const _0x52b242=a0_0x52b2();let _0x4ff742=_0x52b242[_0x278795];if(a0_0x4ff7['efEaZD']===undefined){var _0x537979=function(_0xc11550){const _0x51d842='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1792ef='',_0x4d9ede='';for(let _0x2a46e4=0x0,_0x2e47c5,_0x1d6fd4,_0x511d36=0x0;_0x1d6fd4=_0xc11550['charAt'](_0x511d36++);~_0x1d6fd4&&(_0x2e47c5=_0x2a46e4%0x4?_0x2e47c5*0x40+_0x1d6fd4:_0x1d6fd4,_0x2a46e4++%0x4)?_0x1792ef+=String['fromCharCode'](0xff&_0x2e47c5>>(-0x2*_0x2a46e4&0x6)):0x0){_0x1d6fd4=_0x51d842['indexOf'](_0x1d6fd4);}for(let _0x46807b=0x0,_0x17a7b9=_0x1792ef['length'];_0x46807b<_0x17a7b9;_0x46807b++){_0x4d9ede+='%'+('00'+_0x1792ef['charCodeAt'](_0x46807b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d9ede);};a0_0x4ff7['kZBlpO']=_0x537979,a0_0x4ff7['hkKpeK']={},a0_0x4ff7['efEaZD']=!![];}const _0x9246de=_0x52b242[0x0],_0x596482=_0x278795+_0x9246de,_0x406d51=a0_0x4ff7['hkKpeK'][_0x596482];return!_0x406d51?(_0x4ff742=a0_0x4ff7['kZBlpO'](_0x4ff742),a0_0x4ff7['hkKpeK'][_0x596482]=_0x4ff742):_0x4ff742=_0x406d51,_0x4ff742;}import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS,HTTP_STATUS,AGENT_MODES}from'../utilities/constants.js';import{initFileExplorerModule}from'../modules/fileExplorer/index.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x4d9ede['dirname'](__filename);class WebServer{constructor(_0x2e47c5,_0x1d6fd4,_0x511d36={}){const _0x330094=a0_0x4ff7;this['orchestrator']=_0x2e47c5,this[_0x330094(0x173)]=_0x1d6fd4,this['config']=_0x511d36,this['port']=_0x511d36['port']||0x1f90,this['host']=_0x511d36[_0x330094(0x11e)]||'localhost',this[_0x330094(0x181)]=a0_0x1792ef(),this[_0x330094(0x1a7)]=createServer(this[_0x330094(0x181)]),this['wss']=new WebSocketServer({'server':this['server'],'verifyClient':_0x46807b=>{const _0x2a23e5=_0x330094;return this[_0x2a23e5(0x173)]?.['info'](_0x2a23e5(0xd8),{'origin':_0x46807b['origin'],'host':_0x46807b[_0x2a23e5(0x1a9)]['headers'][_0x2a23e5(0x11e)],'userAgent':_0x46807b['req'][_0x2a23e5(0x138)][_0x2a23e5(0x1ad)],'url':_0x46807b[_0x2a23e5(0x1a9)]['url']}),!![];}}),this['connections']=new Map(),this['sessions']=new Map(),this['apiKeyManager']=null,this['isRunning']=![];}async['initialize'](){const _0x5eee67=a0_0x4ff7;try{this[_0x5eee67(0x13b)](),this[_0x5eee67(0x145)](),this[_0x5eee67(0x16d)](),await this['startServer'](),this[_0x5eee67(0x173)]['info'](_0x5eee67(0xe7),{'port':this[_0x5eee67(0x15e)],'host':this['host'],'url':'http://'+this['host']+':'+this[_0x5eee67(0x15e)]});}catch(_0x17a7b9){this[_0x5eee67(0x173)][_0x5eee67(0x17f)]('Web\x20server\x20initialization\x20failed',{'error':_0x17a7b9['message'],'stack':_0x17a7b9['stack']});throw _0x17a7b9;}}['setupMiddleware'](){const _0x37a5f6=a0_0x4ff7;this[_0x37a5f6(0x181)][_0x37a5f6(0xd1)]((_0x35a6a9,_0x296aba,_0x5dc588)=>{const _0x56d51b=_0x37a5f6;_0x296aba['header']('Access-Control-Allow-Origin','*'),_0x296aba['header']('Access-Control-Allow-Methods','GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0x296aba[_0x56d51b(0x16a)]('Access-Control-Allow-Headers',_0x56d51b(0x12a)),_0x35a6a9['method']===_0x56d51b(0xf5)?_0x296aba[_0x56d51b(0x146)](HTTP_STATUS['OK']):_0x5dc588();}),this[_0x37a5f6(0x181)]['use'](a0_0x1792ef[_0x37a5f6(0x142)]({'limit':_0x37a5f6(0x19d)})),this['app']['use'](a0_0x1792ef['urlencoded']({'extended':!![],'limit':_0x37a5f6(0x19d)})),this[_0x37a5f6(0x1a4)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app']['use']('/api/file-explorer',this[_0x37a5f6(0x1a4)][_0x37a5f6(0x11d)]);const _0x289966=a0_0x4d9ede[_0x37a5f6(0x191)](__dirname,_0x37a5f6(0x10c));this[_0x37a5f6(0x181)]['use'](a0_0x1792ef['static'](_0x289966)),this['app']['use']((_0x493e39,_0x53b547,_0x43b952)=>{const _0x8bef90=_0x37a5f6;this[_0x8bef90(0x173)]['debug'](_0x493e39[_0x8bef90(0x182)]+'\x20'+_0x493e39['path'],{'ip':_0x493e39['ip'],'userAgent':_0x493e39['get']('User-Agent')}),_0x43b952();});}['setupRoutes'](){const _0x47b250=a0_0x4ff7;this[_0x47b250(0x181)]['get'](_0x47b250(0x1df),async(_0x517cba,_0x47bce8)=>{const _0x591fc7=_0x47b250;try{const _0x5e67c8=a0_0x4d9ede['join'](__dirname,'../../package.json'),_0x3a6589=JSON[_0x591fc7(0x1d9)](await a0_0x2a46e4[_0x591fc7(0xd4)](_0x5e67c8,_0x591fc7(0x178)));_0x47bce8['json']({'status':_0x591fc7(0xd7),'version':_0x3a6589['version']||_0x591fc7(0x193),'timestamp':new Date()[_0x591fc7(0x1d0)]()});}catch(_0x4d0063){_0x47bce8[_0x591fc7(0x142)]({'status':'healthy','version':_0x591fc7(0x193),'timestamp':new Date()[_0x591fc7(0x1d0)]()});}}),this['app']['post']('/api/sessions',async(_0x1093fd,_0x4e4086)=>{const _0x56fed3=_0x47b250;try{const _0x1ef612=_0x56fed3(0xff)+Date[_0x56fed3(0x1ce)]()+'-'+Math[_0x56fed3(0x112)]()['toString'](0x24)['substr'](0x2,0x9),_0x543592=_0x1093fd[_0x56fed3(0xe9)]['projectDir']||process[_0x56fed3(0x15d)](),_0x572bc7={'id':_0x1ef612,'projectDir':_0x543592,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()[_0x56fed3(0x1d0)]()};this[_0x56fed3(0x1d3)]['set'](_0x1ef612,_0x572bc7),_0x4e4086[_0x56fed3(0x142)]({'success':!![],'session':_0x572bc7});}catch(_0x2194e9){_0x4e4086[_0x56fed3(0xef)](HTTP_STATUS[_0x56fed3(0x161)])['json']({'success':![],'error':_0x2194e9['message']});}}),this['app'][_0x47b250(0x127)](_0x47b250(0x1aa),async(_0x5a1d95,_0x143870)=>{const _0x13dc12=_0x47b250;try{const _0xb01450={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x5a1d95['body']['sessionId'],'action':_0x5a1d95['body']['action'],'payload':_0x5a1d95[_0x13dc12(0xe9)]['payload'],'projectDir':_0x5a1d95['body']['projectDir']||process['cwd']()},_0x3939e0=await this[_0x13dc12(0x131)]['processRequest'](_0xb01450);this[_0x13dc12(0x15c)](_0xb01450['sessionId'],{'type':_0x13dc12(0x158),'action':_0xb01450[_0x13dc12(0xec)],'response':_0x3939e0}),_0x143870[_0x13dc12(0x142)](_0x3939e0);}catch(_0x11629a){this[_0x13dc12(0x173)]['error'](_0x13dc12(0x117),{'error':_0x11629a['message'],'body':_0x5a1d95[_0x13dc12(0xe9)]}),_0x143870[_0x13dc12(0xef)](HTTP_STATUS[_0x13dc12(0x161)])[_0x13dc12(0x142)]({'success':![],'error':_0x11629a['message']});}}),this['app'][_0x47b250(0x126)]('/api/files',async(_0x31a306,_0x158d8d)=>{const _0x55b54d=_0x47b250;try{const {path:_0x2db0fc,projectDir:_0x31d432}=_0x31a306['query'],_0x4a833e=a0_0x4d9ede[_0x55b54d(0x141)](_0x31d432||process['cwd'](),_0x2db0fc||'.'),_0x5d9b37=await a0_0x2a46e4[_0x55b54d(0x16f)](_0x4a833e);if(_0x5d9b37['isDirectory']()){const _0x51caaa=await a0_0x2a46e4['readdir'](_0x4a833e,{'withFileTypes':!![]}),_0x4e8834=_0x51caaa[_0x55b54d(0xe8)](_0x2ec20b=>({'name':_0x2ec20b['name'],'type':_0x2ec20b[_0x55b54d(0x162)]()?'directory':'file','path':a0_0x4d9ede[_0x55b54d(0x191)](_0x2db0fc||'.',_0x2ec20b['name'])}));_0x158d8d['json']({'success':!![],'files':_0x4e8834});}else{const _0x2afd57=await a0_0x2a46e4[_0x55b54d(0xd4)](_0x4a833e,'utf8');_0x158d8d['json']({'success':!![],'content':_0x2afd57,'type':'file'});}}catch(_0x515f3e){_0x158d8d[_0x55b54d(0xef)](HTTP_STATUS[_0x55b54d(0x17b)])[_0x55b54d(0x142)]({'success':![],'error':_0x515f3e[_0x55b54d(0x1c4)]});}}),this['app'][_0x47b250(0x127)]('/api/files/upload',async(_0x2d02fa,_0x46961e)=>{const _0x40e4f8=_0x47b250;try{const {fileName:_0x5f25f8,content:_0x508cbc,projectDir:_0x5898dd}=_0x2d02fa[_0x40e4f8(0xe9)],_0x4cd480=_0x5898dd||process[_0x40e4f8(0x15d)](),_0x66abdc=a0_0x4d9ede['resolve'](_0x4cd480,_0x5f25f8);await a0_0x2a46e4[_0x40e4f8(0x14d)](_0x4cd480,{'recursive':!![]}),await a0_0x2a46e4['writeFile'](_0x66abdc,_0x508cbc,_0x40e4f8(0x178)),_0x46961e[_0x40e4f8(0x142)]({'success':!![],'message':_0x40e4f8(0x1b9),'path':_0x66abdc});}catch(_0x15f884){_0x46961e[_0x40e4f8(0xef)](HTTP_STATUS[_0x40e4f8(0x161)])['json']({'success':![],'error':_0x15f884['message']});}}),this[_0x47b250(0x181)][_0x47b250(0x126)](_0x47b250(0x130),async(_0x492069,_0x5ce2e9)=>{const _0x169201=_0x47b250;try{const {path:_0x56fc3e,showHidden:showHidden=![]}=_0x492069[_0x169201(0x125)],_0xad20d6=_0x56fc3e||process['cwd'](),_0x41e25c=a0_0x4d9ede['resolve'](_0xad20d6),_0x1079c7=a0_0x4d9ede['normalize'](_0x41e25c),_0x545fae=await a0_0x2a46e4[_0x169201(0x16f)](_0x1079c7);if(!_0x545fae[_0x169201(0x162)]())return _0x5ce2e9['status'](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':_0x169201(0x189)});const _0x224e31=await a0_0x2a46e4['readdir'](_0x1079c7,{'withFileTypes':!![]}),_0x2f319a=await Promise[_0x169201(0x174)](_0x224e31['filter'](_0xef4161=>showHidden==='true'||!_0xef4161[_0x169201(0x12c)][_0x169201(0xf4)]('.'))[_0x169201(0xe8)](async _0x4b86fe=>{const _0x3eece7=_0x169201,_0x5018b1=a0_0x4d9ede['join'](_0x1079c7,_0x4b86fe[_0x3eece7(0x12c)]),_0xa06818=await a0_0x2a46e4[_0x3eece7(0x16f)](_0x5018b1)[_0x3eece7(0x177)](()=>null);return{'name':_0x4b86fe[_0x3eece7(0x12c)],'type':_0x4b86fe['isDirectory']()?'directory':'file','path':_0x5018b1,'relativePath':a0_0x4d9ede['relative'](process['cwd'](),_0x5018b1),'size':_0xa06818?.[_0x3eece7(0x157)]||0x0,'modified':_0xa06818?.['mtime']||null,'isHidden':_0x4b86fe['name'][_0x3eece7(0xf4)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x2f319a['sort']((_0x64081b,_0x5ca993)=>{const _0x32b7d3=_0x169201;if(_0x64081b['type']!==_0x5ca993[_0x32b7d3(0x151)])return _0x64081b['type']===_0x32b7d3(0x108)?-0x1:0x1;return _0x64081b[_0x32b7d3(0x12c)][_0x32b7d3(0x163)](_0x5ca993[_0x32b7d3(0x12c)]);});const _0x4ddf76=a0_0x4d9ede[_0x169201(0xdc)](_0x1079c7),_0x50dfa0=_0x4ddf76!==_0x1079c7;_0x5ce2e9[_0x169201(0x142)]({'success':!![],'currentPath':_0x1079c7,'currentRelativePath':a0_0x4d9ede[_0x169201(0x137)](process['cwd'](),_0x1079c7),'parentPath':_0x50dfa0?_0x4ddf76:null,'items':_0x2f319a,'totalItems':_0x2f319a[_0x169201(0x168)],'directories':_0x2f319a[_0x169201(0x11f)](_0x728b37=>_0x728b37['type']===_0x169201(0x108))['length'],'files':_0x2f319a['filter'](_0x5af9e4=>_0x5af9e4[_0x169201(0x151)]===_0x169201(0xe4))[_0x169201(0x168)]});}catch(_0x2e4ded){_0x5ce2e9['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x169201(0x142)]({'success':![],'error':_0x2e4ded[_0x169201(0x1c4)],'code':_0x2e4ded['code']});}}),this['app'][_0x47b250(0x127)](_0x47b250(0xd3),async(_0x58f040,_0x142c77)=>{const _0x19f0de=_0x47b250;try{const {path:_0xa4ffaa,name:_0x3baf07}=_0x58f040[_0x19f0de(0xe9)],_0x4864c7=a0_0x4d9ede['resolve'](_0xa4ffaa,_0x3baf07);await a0_0x2a46e4[_0x19f0de(0x14d)](_0x4864c7,{'recursive':![]}),_0x142c77[_0x19f0de(0x142)]({'success':!![],'path':_0x4864c7,'relativePath':a0_0x4d9ede[_0x19f0de(0x137)](process['cwd'](),_0x4864c7)});}catch(_0x13f1ac){_0x142c77['status'](HTTP_STATUS[_0x19f0de(0x161)])[_0x19f0de(0x142)]({'success':![],'error':_0x13f1ac['message'],'code':_0x13f1ac['code']});}}),this[_0x47b250(0x181)][_0x47b250(0x126)]('/api/explorer/info',async(_0x2ce99d,_0x361a0a)=>{const _0x470bcf=_0x47b250;try{const {path:_0x43976f}=_0x2ce99d['query'],_0x51caad=a0_0x4d9ede[_0x470bcf(0x141)](_0x43976f),_0x178239=await a0_0x2a46e4[_0x470bcf(0x16f)](_0x51caad);_0x361a0a[_0x470bcf(0x142)]({'success':!![],'path':_0x51caad,'relativePath':a0_0x4d9ede[_0x470bcf(0x137)](process['cwd'](),_0x51caad),'isDirectory':_0x178239[_0x470bcf(0x162)](),'isFile':_0x178239[_0x470bcf(0x18a)](),'size':_0x178239['size'],'created':_0x178239[_0x470bcf(0x171)],'modified':_0x178239['mtime'],'accessed':_0x178239[_0x470bcf(0x1c2)]});}catch(_0x65eaf8){_0x361a0a['status'](HTTP_STATUS[_0x470bcf(0x161)])[_0x470bcf(0x142)]({'success':![],'error':_0x65eaf8['message'],'code':_0x65eaf8[_0x470bcf(0x18f)]});}}),this[_0x47b250(0x181)]['post']('/api/llm/chat',async(_0x1f6273,_0x303d5b)=>{const _0x175973=_0x47b250;try{const {sessionId:_0x5e5800,model:_0x25d73a,platformProvided:_0x318564}=_0x1f6273[_0x175973(0xe9)];if(!_0x5e5800)return _0x303d5b[_0x175973(0xef)](0x190)[_0x175973(0x142)]({'error':'Session\x20ID\x20is\x20required'});let _0x457b94=null,_0x4f2d55=null;if(this[_0x175973(0x10d)]){const _0x2d65f7=this[_0x175973(0x10d)][_0x175973(0x186)](_0x5e5800,{'platformProvided':_0x318564||![],'vendor':this['_getVendorFromModel'](_0x25d73a)});_0x457b94=_0x2d65f7[_0x175973(0x1a1)],_0x4f2d55=_0x2d65f7[_0x175973(0x1dd)];}!_0x457b94&&(_0x457b94=this[_0x175973(0x1d2)]['loxiaApiKey']||process[_0x175973(0x123)]['LOXIA_API_KEY']);!_0x457b94&&_0x1f6273[_0x175973(0xe9)][_0x175973(0x18b)]&&(_0x457b94=_0x1f6273['body'][_0x175973(0x18b)]);if(!_0x457b94)return this['logger']['warn'](_0x175973(0x1dc),{'sessionId':_0x5e5800,'model':_0x25d73a,'platformProvided':_0x318564,'hasSessionManager':!!this['apiKeyManager']}),_0x303d5b['status'](0x191)['json']({'error':_0x175973(0x105)});const _0x85429d=_0x175973(0x154),_0x45624f={..._0x1f6273[_0x175973(0xe9)],'apiKey':_0x457b94,..._0x4f2d55&&{'vendorApiKey':_0x4f2d55}},_0x263c40={'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x457b94},'body':JSON[_0x175973(0x17a)](_0x45624f)};this['logger']['info'](_0x175973(0xdb),{'url':_0x85429d,'model':_0x1f6273[_0x175973(0xe9)][_0x175973(0x1db)],'hasApiKey':!!_0x457b94});const _0x380b26=await fetch(_0x85429d,_0x263c40);if(_0x380b26['ok']){const _0x3e7959=await _0x380b26[_0x175973(0x142)]();this['logger'][_0x175973(0x179)]('Successfully received response from Azure backend',{'model':_0x3e7959[_0x175973(0x1db)],'contentLength':_0x3e7959['content']?.['length']||0x0}),_0x303d5b[_0x175973(0x142)](_0x3e7959);}else{const _0x381c51=await _0x380b26[_0x175973(0x172)]();this[_0x175973(0x173)][_0x175973(0x16e)](_0x175973(0xcd),{'status':_0x380b26[_0x175973(0xef)],'statusText':_0x380b26[_0x175973(0x124)],'error':_0x381c51}),_0x303d5b[_0x175973(0xef)](_0x380b26['status'])['json']({'error':_0x175973(0x110)+_0x380b26['status']+'\x20'+_0x380b26['statusText'],'details':_0x381c51});}}catch(_0x51da6d){this['logger'][_0x175973(0x17f)](_0x175973(0x13f),{'error':_0x51da6d[_0x175973(0x1c4)],'stack':_0x51da6d['stack']}),_0x303d5b['status'](0x1f4)['json']({'error':'Failed\x20to\x20connect\x20to\x20AI\x20service','details':_0x51da6d[_0x175973(0x1c4)]});}}),this[_0x47b250(0x181)][_0x47b250(0x126)](_0x47b250(0x19e),async(_0x160466,_0x2bca95)=>{const _0x413338=_0x47b250;try{const _0x105e70=_0x160466[_0x413338(0x138)][_0x413338(0xe2)];let _0x46f7df=null;_0x105e70&&_0x105e70[_0x413338(0xf4)](_0x413338(0x148))&&(_0x46f7df=_0x105e70[_0x413338(0xf8)](0x7));!_0x46f7df&&(_0x46f7df=this['config'][_0x413338(0x1a1)]||process['env'][_0x413338(0x166)]);const _0xa5a323=_0x413338(0x18d),_0x3a4164={'method':'GET','headers':{'Content-Type':'application/json',..._0x46f7df&&{'Authorization':'Bearer\x20'+_0x46f7df}}};this['logger'][_0x413338(0x179)]('Fetching models from Loxia Azure backend',{'url':_0xa5a323,'hasApiKey':!!_0x46f7df});const _0x5e4032=await fetch(_0xa5a323,_0x3a4164);if(_0x5e4032['ok']){const _0x1fbf2f=await _0x5e4032['json']();this[_0x413338(0x173)]['info']('Successfully fetched models from Azure backend',{'modelCount':_0x1fbf2f['models']?.['length']||0x0}),_0x2bca95[_0x413338(0x142)](_0x1fbf2f);}else{const _0x30e920=await _0x5e4032['text']();this['logger'][_0x413338(0x17f)](_0x413338(0xdd),{'status':_0x5e4032[_0x413338(0xef)],'statusText':_0x5e4032[_0x413338(0x124)],'error':_0x30e920}),_0x2bca95['status'](_0x5e4032['status'])['json']({'success':![],'error':_0x413338(0x16b)+_0x5e4032[_0x413338(0xef)]+'\x20'+_0x5e4032['statusText'],'details':_0x30e920});}}catch(_0x1f295c){this['logger'][_0x413338(0x17f)]('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x1f295c[_0x413338(0x1c4)],'stack':_0x1f295c[_0x413338(0x1c6)]}),_0x2bca95[_0x413338(0xef)](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0x1f295c[_0x413338(0x1c4)]});}}),this['app'][_0x47b250(0x126)](_0x47b250(0xcf),async(_0x3746f1,_0x20417f)=>{const _0x452240=_0x47b250;try{const _0x23f932=this['toolsRegistry'];if(!_0x23f932)return _0x20417f[_0x452240(0xef)](0x1f4)[_0x452240(0x142)]({'error':_0x452240(0x1bc)});const _0x3c420b=_0x23f932['getAvailableToolsForUI']();this['logger']['info'](_0x452240(0x1d8),{'toolCount':_0x3c420b['length'],'tools':_0x3c420b[_0x452240(0xe8)](_0x17d396=>({'id':_0x17d396['id'],'name':_0x17d396[_0x452240(0x12c)],'category':_0x17d396[_0x452240(0x122)]}))}),_0x20417f[_0x452240(0x142)]({'success':!![],'tools':_0x3c420b,'total':_0x3c420b['length']});}catch(_0x3f1ce6){this[_0x452240(0x173)][_0x452240(0x17f)]('Failed\x20to\x20get\x20tools\x20information',{'error':_0x3f1ce6['message'],'stack':_0x3f1ce6['stack']}),_0x20417f['status'](0x1f4)['json']({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x3f1ce6[_0x452240(0x1c4)]});}}),this[_0x47b250(0x181)]['post'](_0x47b250(0x1ca),async(_0x5bf84b,_0x2ccb3a)=>{const _0x32aef3=_0x47b250;try{const {sessionId:_0x1ecfa8,loxiaApiKey:_0x4480b0,vendorKeys:_0x103902}=_0x5bf84b['body'];if(!_0x1ecfa8)return _0x2ccb3a['status'](0x190)['json']({'success':![],'error':_0x32aef3(0x175)});if(!this[_0x32aef3(0x10d)])return _0x2ccb3a['status'](0x1f4)[_0x32aef3(0x142)]({'success':![],'error':_0x32aef3(0x1b3)});this['apiKeyManager'][_0x32aef3(0x18c)](_0x1ecfa8,{'loxiaApiKey':_0x4480b0,'vendorKeys':_0x103902||{}}),this['logger']['info'](_0x32aef3(0x14f),{'sessionId':_0x1ecfa8,'hasLoxiaKey':!!_0x4480b0,'vendorKeys':Object['keys'](_0x103902||{})});if(this['orchestrator']&&this['orchestrator'][_0x32aef3(0x13e)]&&_0x4480b0)try{await this['orchestrator'][_0x32aef3(0x13e)]['refresh']({'sessionId':_0x1ecfa8,'apiKey':_0x4480b0}),this[_0x32aef3(0x173)]['info']('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x1ecfa8});}catch(_0x2b1dea){this['logger']['warn'](_0x32aef3(0x1b1),{'error':_0x2b1dea['message'],'sessionId':_0x1ecfa8});}_0x2ccb3a['json']({'success':!![],'message':_0x32aef3(0x1b6),'sessionId':_0x1ecfa8,'hasLoxiaKey':!!_0x4480b0,'vendorKeys':Object['keys'](_0x103902||{})});}catch(_0xec7b32){this['logger'][_0x32aef3(0x17f)](_0x32aef3(0x1ab),{'error':_0xec7b32['message'],'sessionId':_0x5bf84b['body'][_0x32aef3(0x1c7)]}),_0x2ccb3a[_0x32aef3(0xef)](0x1f4)['json']({'success':![],'error':_0xec7b32['message']});}}),this['app']['get']('/api/keys/:sessionId',async(_0x482a0a,_0x18463e)=>{const _0x4c24a3=_0x47b250;try{const {sessionId:_0x18a257}=_0x482a0a['params'];if(!this[_0x4c24a3(0x10d)])return _0x18463e['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x3f8ba1=this[_0x4c24a3(0x10d)]['getSessionKeys'](_0x18a257);_0x18463e[_0x4c24a3(0x142)]({'success':!![],'sessionId':_0x18a257,'hasLoxiaKey':!!_0x3f8ba1[_0x4c24a3(0x1a1)],'vendorKeys':Object[_0x4c24a3(0x1d4)](_0x3f8ba1['vendorKeys']||{}),'updatedAt':_0x3f8ba1['updatedAt']});}catch(_0x362435){this[_0x4c24a3(0x173)][_0x4c24a3(0x17f)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x362435['message'],'sessionId':_0x482a0a[_0x4c24a3(0x10e)][_0x4c24a3(0x1c7)]}),_0x18463e['status'](0x1f4)[_0x4c24a3(0x142)]({'success':![],'error':_0x362435[_0x4c24a3(0x1c4)]});}}),this['app']['delete'](_0x47b250(0xea),async(_0x4662f5,_0x482210)=>{const _0x19ea0c=_0x47b250;try{const {sessionId:_0x3dd2d5}=_0x4662f5['params'];if(!this[_0x19ea0c(0x10d)])return _0x482210['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x13ea26=this[_0x19ea0c(0x10d)][_0x19ea0c(0x10f)](_0x3dd2d5);_0x482210['json']({'success':!![],'removed':_0x13ea26,'message':_0x13ea26?_0x19ea0c(0x129):_0x19ea0c(0x1c0)});}catch(_0x4daf3e){this['logger'][_0x19ea0c(0x17f)](_0x19ea0c(0xf3),{'error':_0x4daf3e['message'],'sessionId':_0x4662f5['params'][_0x19ea0c(0x1c7)]}),_0x482210['status'](0x1f4)[_0x19ea0c(0x142)]({'success':![],'error':_0x4daf3e['message']});}}),this['app'][_0x47b250(0x126)]('/api/keys',async(_0x474b16,_0x1181f4)=>{const _0x4f9f1f=_0x47b250;try{if(!this['apiKeyManager'])return _0x1181f4['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x57fa6d=this['apiKeyManager']['getActiveSessions']();_0x1181f4[_0x4f9f1f(0x142)]({'success':!![],'sessions':_0x57fa6d,'total':_0x57fa6d['length']});}catch(_0x41f396){this[_0x4f9f1f(0x173)]['error'](_0x4f9f1f(0x1cf),{'error':_0x41f396['message']}),_0x1181f4['status'](0x1f4)['json']({'success':![],'error':_0x41f396['message']});}}),this['app'][_0x47b250(0x127)]('/api/agents/:agentId/attachments/upload',async(_0x2c9c0b,_0x24305c)=>{const _0x28b634=_0x47b250;try{const {agentId:_0x5d1689}=_0x2c9c0b[_0x28b634(0x10e)],{filePath:_0x47cc3d,mode:_0x5eaa24,fileName:_0x5c03da}=_0x2c9c0b[_0x28b634(0xe9)];if(!this[_0x28b634(0x131)]?.['fileAttachmentService'])return _0x24305c[_0x28b634(0xef)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x527bff=await this[_0x28b634(0x131)]['fileAttachmentService'][_0x28b634(0xde)]({'agentId':_0x5d1689,'filePath':_0x47cc3d,'mode':_0x5eaa24||_0x28b634(0x116),'fileName':_0x5c03da});this[_0x28b634(0x173)]['info'](_0x28b634(0xce),{'agentId':_0x5d1689,'fileId':_0x527bff['fileId'],'fileName':_0x527bff[_0x28b634(0x13a)]}),_0x24305c['json']({'success':!![],'attachment':_0x527bff});}catch(_0x33659b){this['logger'][_0x28b634(0x17f)]('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0x2c9c0b[_0x28b634(0x10e)][_0x28b634(0xfa)],'error':_0x33659b[_0x28b634(0x1c4)]}),_0x24305c['status'](0x1f4)['json']({'success':![],'error':_0x33659b[_0x28b634(0x1c4)]});}}),this[_0x47b250(0x181)]['get'](_0x47b250(0x1ba),async(_0x1e0d7f,_0x32b560)=>{const _0x4e8534=_0x47b250;try{const {agentId:_0x5728da}=_0x1e0d7f['params'],{mode:_0x470b64,active:_0x417970}=_0x1e0d7f['query'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x32b560[_0x4e8534(0xef)](0x1f4)[_0x4e8534(0x142)]({'success':![],'error':_0x4e8534(0x1b5)});const _0x33a429={};if(_0x470b64)_0x33a429['mode']=_0x470b64;if(_0x417970!==undefined)_0x33a429['active']=_0x417970==='true';const _0x426ba6=await this[_0x4e8534(0x131)]['fileAttachmentService'][_0x4e8534(0x192)](_0x5728da,_0x33a429);_0x32b560[_0x4e8534(0x142)]({'success':!![],'attachments':_0x426ba6,'total':_0x426ba6[_0x4e8534(0x168)]});}catch(_0x566379){this[_0x4e8534(0x173)][_0x4e8534(0x17f)]('Failed\x20to\x20get\x20attachments',{'agentId':_0x1e0d7f[_0x4e8534(0x10e)][_0x4e8534(0xfa)],'error':_0x566379[_0x4e8534(0x1c4)]}),_0x32b560[_0x4e8534(0xef)](0x1f4)['json']({'success':![],'error':_0x566379['message']});}}),this['app']['get']('/api/attachments/:fileId',async(_0x48cbd7,_0x4daee7)=>{const _0x57852c=_0x47b250;try{const {fileId:_0x3d84d5}=_0x48cbd7[_0x57852c(0x10e)];if(!this[_0x57852c(0x131)]?.['fileAttachmentService'])return _0x4daee7[_0x57852c(0xef)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x3660b0=await this['orchestrator'][_0x57852c(0x100)]['getAttachment'](_0x3d84d5);if(!_0x3660b0)return _0x4daee7['status'](0x194)['json']({'success':![],'error':'Attachment\x20not\x20found'});_0x4daee7[_0x57852c(0x142)]({'success':!![],'attachment':_0x3660b0});}catch(_0x38d5db){this['logger']['error']('Failed\x20to\x20get\x20attachment',{'fileId':_0x48cbd7['params']['fileId'],'error':_0x38d5db['message']}),_0x4daee7['status'](0x1f4)[_0x57852c(0x142)]({'success':![],'error':_0x38d5db['message']});}}),this['app'][_0x47b250(0x12d)]('/api/attachments/:fileId/toggle',async(_0x9cfd58,_0x5d427f)=>{const _0x23650d=_0x47b250;try{const {fileId:_0xde516b}=_0x9cfd58['params'];if(!this[_0x23650d(0x131)]?.[_0x23650d(0x100)])return _0x5d427f[_0x23650d(0xef)](0x1f4)[_0x23650d(0x142)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x363dd1=await this[_0x23650d(0x131)]['fileAttachmentService'][_0x23650d(0x155)](_0xde516b);this['logger']['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0xde516b,'active':_0x363dd1[_0x23650d(0x167)]}),_0x5d427f['json']({'success':!![],'attachment':_0x363dd1});}catch(_0x3a645b){this['logger']['error']('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x9cfd58['params'][_0x23650d(0x1bb)],'error':_0x3a645b['message']}),_0x5d427f['status'](0x1f4)[_0x23650d(0x142)]({'success':![],'error':_0x3a645b['message']});}}),this[_0x47b250(0x181)]['patch'](_0x47b250(0x19f),async(_0x2ba8ed,_0x3336f1)=>{const _0x241e2f=_0x47b250;try{const {fileId:_0x334a20}=_0x2ba8ed[_0x241e2f(0x10e)],{mode:_0x3ce60d,active:_0x3ef7a2}=_0x2ba8ed[_0x241e2f(0xe9)];if(!this[_0x241e2f(0x131)]?.['fileAttachmentService'])return _0x3336f1['status'](0x1f4)[_0x241e2f(0x142)]({'success':![],'error':_0x241e2f(0x1b5)});const _0x32aae8={};if(_0x3ce60d!==undefined)_0x32aae8[_0x241e2f(0x12f)]=_0x3ce60d;if(_0x3ef7a2!==undefined)_0x32aae8['active']=_0x3ef7a2;const _0x16c8b8=await this['orchestrator'][_0x241e2f(0x100)][_0x241e2f(0x14b)](_0x334a20,_0x32aae8);this[_0x241e2f(0x173)]['info'](_0x241e2f(0x1a0),{'fileId':_0x334a20,'updates':_0x32aae8}),_0x3336f1['json']({'success':!![],'attachment':_0x16c8b8});}catch(_0x3ba826){this[_0x241e2f(0x173)]['error'](_0x241e2f(0x180),{'fileId':_0x2ba8ed[_0x241e2f(0x10e)][_0x241e2f(0x1bb)],'error':_0x3ba826['message']}),_0x3336f1[_0x241e2f(0xef)](0x1f4)['json']({'success':![],'error':_0x3ba826['message']});}}),this[_0x47b250(0x181)][_0x47b250(0x190)](_0x47b250(0x19f),async(_0x45bed2,_0x330702)=>{const _0x20ff42=_0x47b250;try{const {fileId:_0x417228}=_0x45bed2['params'],{agentId:_0x5e9172}=_0x45bed2[_0x20ff42(0x125)];if(!_0x5e9172)return _0x330702[_0x20ff42(0xef)](0x190)[_0x20ff42(0x142)]({'success':![],'error':'agentId\x20query\x20parameter\x20is\x20required'});if(!this['orchestrator']?.[_0x20ff42(0x100)])return _0x330702['status'](0x1f4)[_0x20ff42(0x142)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x159f7a=await this[_0x20ff42(0x131)]['fileAttachmentService']['deleteAttachment'](_0x417228,_0x5e9172);this[_0x20ff42(0x173)][_0x20ff42(0x179)](_0x20ff42(0xd5),{'fileId':_0x417228,'agentId':_0x5e9172,'physicallyDeleted':_0x159f7a[_0x20ff42(0x135)]}),_0x330702[_0x20ff42(0x142)]({'success':!![],'message':_0x159f7a['physicallyDeleted']?_0x20ff42(0xd5):'Reference\x20removed','physicallyDeleted':_0x159f7a['physicallyDeleted']});}catch(_0x76629e){this[_0x20ff42(0x173)][_0x20ff42(0x17f)]('Failed\x20to\x20delete\x20attachment',{'fileId':_0x45bed2['params'][_0x20ff42(0x1bb)],'error':_0x76629e[_0x20ff42(0x1c4)]}),_0x330702['status'](0x1f4)['json']({'success':![],'error':_0x76629e[_0x20ff42(0x1c4)]});}}),this['app']['post']('/api/attachments/:fileId/import',async(_0x4d9758,_0x361695)=>{const _0x6d9ab2=_0x47b250;try{const {fileId:_0x1a4150}=_0x4d9758[_0x6d9ab2(0x10e)],{targetAgentId:_0x1f0ea4}=_0x4d9758['body'];if(!_0x1f0ea4)return _0x361695[_0x6d9ab2(0xef)](0x190)['json']({'success':![],'error':_0x6d9ab2(0x101)});if(!this[_0x6d9ab2(0x131)]?.[_0x6d9ab2(0x100)])return _0x361695['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x507e0f=await this['orchestrator']['fileAttachmentService'][_0x6d9ab2(0xfb)](_0x1a4150,_0x1f0ea4);this['logger'][_0x6d9ab2(0x179)]('Attachment imported',{'fileId':_0x1a4150,'targetAgentId':_0x1f0ea4}),_0x361695['json']({'success':!![],'attachment':_0x507e0f});}catch(_0x2ac3c6){this['logger']['error']('Failed to import attachment',{'fileId':_0x4d9758[_0x6d9ab2(0x10e)]['fileId'],'error':_0x2ac3c6['message']}),_0x361695[_0x6d9ab2(0xef)](0x1f4)['json']({'success':![],'error':_0x2ac3c6['message']});}}),this['app']['get'](_0x47b250(0x1bf),async(_0x8da9a,_0x367a4a)=>{const _0x2c09d9=_0x47b250;try{const {fileId:_0x4127ed}=_0x8da9a['params'];if(!this[_0x2c09d9(0x131)]?.['fileAttachmentService'])return _0x367a4a['status'](0x1f4)[_0x2c09d9(0x142)]({'success':![],'error':_0x2c09d9(0x1b5)});const _0x581f9d=await this[_0x2c09d9(0x131)]['fileAttachmentService']['getAttachmentPreview'](_0x4127ed);if(!_0x581f9d)return _0x367a4a['status'](0x194)[_0x2c09d9(0x142)]({'success':![],'error':'Attachment\x20not\x20found'});_0x367a4a[_0x2c09d9(0x142)]({'success':!![],'preview':_0x581f9d});}catch(_0x31a02d){this['logger']['error'](_0x2c09d9(0x102),{'fileId':_0x8da9a['params'][_0x2c09d9(0x1bb)],'error':_0x31a02d[_0x2c09d9(0x1c4)]}),_0x367a4a['status'](0x1f4)[_0x2c09d9(0x142)]({'success':![],'error':_0x31a02d['message']});}}),this['app'][_0x47b250(0x126)](_0x47b250(0x114),async(_0x273a8f,_0x144ec2)=>{const _0x54a2b7=_0x47b250;try{const {sessionId:_0x313646,filename:_0x49f41f}=_0x273a8f[_0x54a2b7(0x10e)],_0x21b85a=this['sessions']['get'](_0x313646);if(!_0x21b85a)return _0x144ec2[_0x54a2b7(0xef)](HTTP_STATUS['FORBIDDEN'])[_0x54a2b7(0x142)]({'success':![],'error':'Invalid\x20session'});const _0x49ac93=a0_0x4d9ede['basename'](_0x49f41f);if(_0x49ac93!==_0x49f41f||_0x49f41f['includes']('..')||_0x49f41f[_0x54a2b7(0x15f)]('/')||_0x49f41f['includes']('\x5c'))return _0x144ec2['status'](HTTP_STATUS[_0x54a2b7(0x10b)])['json']({'success':![],'error':_0x54a2b7(0x1a6)});let _0x542dcd=null;const _0x4373c9=[a0_0x4d9ede['join'](_0x21b85a['projectDir']||process[_0x54a2b7(0x15d)](),'images',_0x49ac93),a0_0x4d9ede['join'](_0x54a2b7(0x196),_0x313646,_0x49ac93),a0_0x4d9ede[_0x54a2b7(0x191)](_0x54a2b7(0x196),_0x49ac93)];if(this[_0x54a2b7(0x131)]?.[_0x54a2b7(0x1b7)])try{const _0x21199b=await this['orchestrator'][_0x54a2b7(0x1b7)]['getAllAgents']();for(const _0x1fe522 of _0x21199b){_0x1fe522[_0x54a2b7(0xfd)]?.['workingDirectory']&&_0x4373c9[_0x54a2b7(0x1d1)](a0_0x4d9ede['join'](_0x1fe522[_0x54a2b7(0xfd)]['workingDirectory'],'images',_0x49ac93));}}catch(_0x4d87af){this[_0x54a2b7(0x173)]['warn'](_0x54a2b7(0x115),{'error':_0x4d87af['message']});}for(const _0x2b3104 of _0x4373c9){try{const _0x3bc1d=await a0_0x2a46e4[_0x54a2b7(0x16f)](_0x2b3104);if(_0x3bc1d['isFile']()){_0x542dcd=_0x2b3104,this['logger']['info']('Image\x20found',{'filename':_0x49ac93,'path':_0x542dcd,'sessionId':_0x313646});break;}}catch(_0x334508){continue;}}if(!_0x542dcd)return this['logger'][_0x54a2b7(0x16e)]('Image\x20not\x20found\x20in\x20any\x20search\x20path',{'filename':_0x49ac93,'sessionId':_0x313646,'searchPaths':_0x4373c9}),_0x144ec2[_0x54a2b7(0xef)](HTTP_STATUS[_0x54a2b7(0x17b)])['json']({'success':![],'error':'Image\x20not\x20found'});_0x144ec2[_0x54a2b7(0x1af)](_0x542dcd,_0x580245=>{const _0x1bee71=_0x54a2b7;_0x580245?(this[_0x1bee71(0x173)]['error']('Failed\x20to\x20send\x20image\x20file',{'error':_0x580245[_0x1bee71(0x1c4)],'imagePath':_0x542dcd,'filename':_0x49ac93}),!_0x144ec2['headersSent']&&_0x144ec2['status'](HTTP_STATUS[_0x1bee71(0x161)])[_0x1bee71(0x142)]({'success':![],'error':'Failed\x20to\x20serve\x20image'})):this['logger'][_0x1bee71(0x179)]('Image\x20served\x20successfully',{'filename':_0x49ac93,'path':_0x542dcd,'sessionId':_0x313646});});}catch(_0x19f1d8){this[_0x54a2b7(0x173)]['error'](_0x54a2b7(0x19a),{'error':_0x19f1d8['message'],'sessionId':_0x273a8f[_0x54a2b7(0x10e)]['sessionId'],'filename':_0x273a8f['params']['filename']}),_0x144ec2['status'](HTTP_STATUS[_0x54a2b7(0x161)])[_0x54a2b7(0x142)]({'success':![],'error':_0x19f1d8[_0x54a2b7(0x1c4)]});}}),this[_0x47b250(0x181)][_0x47b250(0x127)]('/api/agents/:agentId/mode',async(_0x5a753f,_0x4b4224)=>{const _0x5034cf=_0x47b250;try{const {agentId:_0x5dff1f}=_0x5a753f['params'],{mode:_0x26d069,lockMode:lockMode=![],sessionId:_0x576e48}=_0x5a753f['body'];if(!Object['values'](AGENT_MODES)[_0x5034cf(0x15f)](_0x26d069))return _0x4b4224[_0x5034cf(0xef)](0x190)['json']({'success':![],'error':_0x5034cf(0x195)+Object['values'](AGENT_MODES)[_0x5034cf(0x191)](',\x20')});const _0x37716f=_0x576e48||_0x5a753f['sessionID'];!_0x37716f&&this[_0x5034cf(0x173)][_0x5034cf(0x16e)]('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0x5dff1f,'hasBodySessionId':!!_0x576e48,'hasReqSessionId':!!_0x5a753f['sessionID']});const _0x3f1874={'interface':INTERFACE_TYPES[_0x5034cf(0x1b4)],'sessionId':_0x37716f,'action':_0x5034cf(0x17c),'payload':{'agentId':_0x5dff1f,'updates':{'mode':_0x26d069}}},_0xcbe5f6=await this[_0x5034cf(0x131)][_0x5034cf(0x139)](_0x3f1874);if(_0xcbe5f6[_0x5034cf(0x144)]){const _0x319e27=_0xcbe5f6[_0x5034cf(0x1be)];this[_0x5034cf(0x173)][_0x5034cf(0x179)]('Agent\x20mode\x20updated:\x20'+_0x5dff1f,{'newMode':_0x26d069,'lockMode':lockMode,'finalMode':_0x319e27?.['mode']}),this['broadcastToSession'](_0x3f1874[_0x5034cf(0x1c7)],{'type':'agent_mode_changed','data':{'agentId':_0x5dff1f,'mode':_0x319e27?.[_0x5034cf(0x12f)],'modeState':_0x319e27?.['modeState']}}),_0x4b4224['json']({'success':!![],'agent':_0x319e27,'message':_0x5034cf(0x1c5)+_0x319e27?.['mode']});}else _0x4b4224['status'](0x190)['json']({'success':![],'error':_0xcbe5f6['error']||_0x5034cf(0x111)});}catch(_0x526530){this[_0x5034cf(0x173)][_0x5034cf(0x17f)]('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0x5a753f['params']['agentId'],'error':_0x526530[_0x5034cf(0x1c4)]}),_0x4b4224[_0x5034cf(0xef)](0x1f4)['json']({'success':![],'error':_0x526530['message']});}}),this['app']['post'](_0x47b250(0x120),async(_0x3e1b16,_0x5acbb1)=>{const _0x4ad774=_0x47b250;try{const {agentId:_0x14e069}=_0x3e1b16[_0x4ad774(0x10e)],_0x9dedda=this['orchestrator'][_0x4ad774(0x1ae)];if(!_0x9dedda)return _0x5acbb1[_0x4ad774(0xef)](0x1f4)[_0x4ad774(0x142)]({'success':![],'error':_0x4ad774(0x150)});const _0x1a3cc8=await _0x9dedda['stopAutonomousExecution'](_0x14e069);this[_0x4ad774(0x173)]['info'](_0x4ad774(0x128)+_0x14e069);const _0x4513bf=_0x3e1b16[_0x4ad774(0x1ac)]||_0x1a3cc8['agent']?.['sessionId'];_0x4513bf&&this[_0x4ad774(0x15c)](_0x4513bf,{'type':'agent_mode_changed','data':{'agentId':_0x14e069,'mode':_0x1a3cc8['agent']?.[_0x4ad774(0x12f)],'modeState':_0x1a3cc8[_0x4ad774(0xf9)]?.[_0x4ad774(0x17e)]}}),_0x5acbb1[_0x4ad774(0x142)](_0x1a3cc8);}catch(_0x3e6cb5){this[_0x4ad774(0x173)]['error']('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x3e1b16[_0x4ad774(0x10e)]['agentId'],'error':_0x3e6cb5['message']}),_0x5acbb1['status'](0x1f4)['json']({'success':![],'error':_0x3e6cb5['message']});}}),this[_0x47b250(0x181)][_0x47b250(0x126)]('/api/agents/:agentId/mode',async(_0x582232,_0x2e0302)=>{const _0xbd3afe=_0x47b250;try{const {agentId:_0x50e87e}=_0x582232[_0xbd3afe(0x10e)],_0x5e1d2e={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x582232[_0xbd3afe(0x1ac)],'action':_0xbd3afe(0xe1),'payload':{'agentId':_0x50e87e}},_0x1dd726=await this['orchestrator']['processRequest'](_0x5e1d2e);_0x1dd726['success']&&_0x1dd726[_0xbd3afe(0xf9)]?_0x2e0302['json']({'success':!![],'mode':_0x1dd726[_0xbd3afe(0xf9)][_0xbd3afe(0x12f)],'modeState':_0x1dd726['agent']['modeState'],'currentTask':_0x1dd726['agent'][_0xbd3afe(0x159)],'iterationCount':_0x1dd726['agent'][_0xbd3afe(0x1b2)],'taskStartTime':_0x1dd726['agent']['taskStartTime'],'stopRequested':_0x1dd726['agent']['stopRequested']}):_0x2e0302['status'](0x194)[_0xbd3afe(0x142)]({'success':![],'error':_0xbd3afe(0x14e)});}catch(_0x56ea4c){this['logger'][_0xbd3afe(0x17f)](_0xbd3afe(0xda),{'agentId':_0x582232['params'][_0xbd3afe(0xfa)],'error':_0x56ea4c[_0xbd3afe(0x1c4)]}),_0x2e0302[_0xbd3afe(0xef)](0x1f4)[_0xbd3afe(0x142)]({'success':![],'error':_0x56ea4c['message']});}}),this['app']['post'](_0x47b250(0x198),async(_0xd248b2,_0x28a1df)=>{const _0x307e3b=_0x47b250;try{const {agentId:_0xcf72bd}=_0xd248b2['params'],_0x134862=await this[_0x307e3b(0x131)]['agentPool'][_0x307e3b(0x1da)](_0xcf72bd);_0x28a1df['json'](_0x134862);}catch(_0x1cc44f){this[_0x307e3b(0x173)][_0x307e3b(0x17f)]('Failed\x20to\x20clear\x20agent\x20conversation',{'agentId':_0xd248b2[_0x307e3b(0x10e)]['agentId'],'error':_0x1cc44f[_0x307e3b(0x1c4)]}),_0x28a1df[_0x307e3b(0xef)](0x1f4)['json']({'success':![],'error':_0x1cc44f['message']});}}),this['app']['get']('/api/agents/:agentId/activity',async(_0x480692,_0x3867eb)=>{const _0x21cf4d=_0x47b250;try{const {agentId:_0xf8b2fe}=_0x480692[_0x21cf4d(0x10e)],{shouldAgentBeActive:_0x445000}=await import(_0x21cf4d(0xf2)),_0x1e5128=await this['orchestrator']['agentPool'][_0x21cf4d(0xee)](_0xf8b2fe);if(!_0x1e5128)return _0x3867eb[_0x21cf4d(0xef)](0x194)[_0x21cf4d(0x142)]({'success':![],'error':'Agent\x20not\x20found'});const _0x4be6f6=_0x445000(_0x1e5128);_0x3867eb['json']({'success':!![],'agentId':_0xf8b2fe,'isActive':_0x4be6f6['active'],'reason':_0x4be6f6['reason'],'details':_0x4be6f6['details']});}catch(_0x516083){this['logger'][_0x21cf4d(0x17f)]('Failed\x20to\x20get\x20agent\x20activity\x20status',{'agentId':_0x480692['params']['agentId'],'error':_0x516083[_0x21cf4d(0x1c4)]}),_0x3867eb['status'](0x1f4)[_0x21cf4d(0x142)]({'success':![],'error':_0x516083[_0x21cf4d(0x1c4)]});}}),this['app'][_0x47b250(0x126)]('/api/agents/available',async(_0x23abec,_0x593693)=>{const _0xe93ef4=_0x47b250;try{const _0x6ae92=this[_0xe93ef4(0x131)][_0xe93ef4(0x1d2)]['project']?.['directory']||process['cwd'](),_0x59bed9=await this[_0xe93ef4(0x131)][_0xe93ef4(0xd6)]['getAllAvailableAgents'](_0x6ae92,this[_0xe93ef4(0x131)][_0xe93ef4(0x1b7)]);_0x593693['json']({'success':!![],'agents':_0x59bed9,'total':_0x59bed9[_0xe93ef4(0x168)],'active':_0x59bed9['filter'](_0x26f95e=>_0x26f95e['isLoaded'])[_0xe93ef4(0x168)],'archived':_0x59bed9['filter'](_0x47400b=>!_0x47400b[_0xe93ef4(0x16c)])[_0xe93ef4(0x168)]});}catch(_0x5bdd41){this['logger']['error'](_0xe93ef4(0xd2),{'error':_0x5bdd41[_0xe93ef4(0x1c4)],'stack':_0x5bdd41[_0xe93ef4(0x1c6)]}),_0x593693[_0xe93ef4(0xef)](0x1f4)[_0xe93ef4(0x142)]({'success':![],'error':_0x5bdd41['message']});}}),this[_0x47b250(0x181)][_0x47b250(0x126)]('/api/agents/:agentId/metadata',async(_0x33320b,_0x4e363c)=>{const _0x4b6703=_0x47b250;try{const {agentId:_0x2cf3d8}=_0x33320b['params'],_0x52c340=this[_0x4b6703(0x131)]['config'][_0x4b6703(0x10a)]?.[_0x4b6703(0x108)]||process[_0x4b6703(0x15d)](),_0x2f5907=await this['orchestrator'][_0x4b6703(0xd6)]['getAgentMetadata'](_0x2cf3d8,_0x52c340);_0x4e363c[_0x4b6703(0x142)]({'success':!![],'metadata':_0x2f5907});}catch(_0x428cce){this[_0x4b6703(0x173)][_0x4b6703(0x17f)](_0x4b6703(0x132),{'agentId':_0x33320b['params']['agentId'],'error':_0x428cce['message']}),_0x4e363c['status'](0x194)['json']({'success':![],'error':_0x428cce['message']});}}),this[_0x47b250(0x181)][_0x47b250(0x127)]('/api/agents/import',async(_0x3609ec,_0x4603d3)=>{const _0x164ed3=_0x47b250;try{const {agentId:_0x5a0856}=_0x3609ec['body'];if(!_0x5a0856)return _0x4603d3['status'](0x190)[_0x164ed3(0x142)]({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0xfbef26=this['orchestrator']['config']['project']?.['directory']||process[_0x164ed3(0x15d)](),_0xd0fd67=await this['orchestrator'][_0x164ed3(0xd6)]['importArchivedAgent'](_0x5a0856,_0xfbef26,this[_0x164ed3(0x131)]['agentPool']);this[_0x164ed3(0x1de)]&&this['wsManager'][_0x164ed3(0x197)]({'type':'agent-imported','agent':{'id':_0xd0fd67['id'],'name':_0xd0fd67['name'],'status':_0xd0fd67[_0x164ed3(0xef)],'capabilities':_0xd0fd67[_0x164ed3(0xe5)],'model':_0xd0fd67[_0x164ed3(0x18e)]||_0xd0fd67[_0x164ed3(0x1a2)]}}),this['logger'][_0x164ed3(0x179)]('Agent imported successfully',{'agentId':_0xd0fd67['id'],'name':_0xd0fd67['name']}),_0x4603d3[_0x164ed3(0x142)]({'success':!![],'agent':{'id':_0xd0fd67['id'],'name':_0xd0fd67[_0x164ed3(0x12c)],'status':_0xd0fd67[_0x164ed3(0xef)],'model':_0xd0fd67['currentModel']||_0xd0fd67[_0x164ed3(0x1a2)],'capabilities':_0xd0fd67[_0x164ed3(0xe5)],'lastActivity':_0xd0fd67[_0x164ed3(0x169)]},'message':_0x164ed3(0x1c3)+_0xd0fd67['name']+'\x20imported\x20successfully'});}catch(_0x291722){this['logger'][_0x164ed3(0x17f)]('Failed to import agent',{'agentId':_0x3609ec['body']['agentId'],'error':_0x291722[_0x164ed3(0x1c4)],'stack':_0x291722['stack']});const _0x10c0a4=_0x291722[_0x164ed3(0x1c4)]['includes'](_0x164ed3(0x15a))?0x199:_0x291722['message']['includes'](_0x164ed3(0x17d))?0x194:_0x291722['message']['includes'](_0x164ed3(0x165))?0x190:0x1f4;_0x4603d3[_0x164ed3(0xef)](_0x10c0a4)['json']({'success':![],'error':_0x291722[_0x164ed3(0x1c4)]});}}),this[_0x47b250(0x181)]['get']('*',(_0xff13df,_0x3b52a3)=>{const _0x1b336c=_0x47b250,_0x117cb0=a0_0x4d9ede[_0x1b336c(0x191)](__dirname,'../../web-ui/build/index.html');_0x3b52a3[_0x1b336c(0x1af)](_0x117cb0,_0x44a5a1=>{const _0x5e334e=_0x1b336c;_0x44a5a1&&_0x3b52a3['status'](HTTP_STATUS[_0x5e334e(0x17b)])['send']('Web\x20UI\x20not\x20built.\x20Run:\x20npm\x20run\x20build:ui');});});}['setupWebSocket'](){const _0xd761e2=a0_0x4ff7;this[_0xd761e2(0x173)][_0xd761e2(0x179)](_0xd761e2(0x13c),{'port':this[_0xd761e2(0x15e)],'host':this['host'],'wsServerExists':!!this[_0xd761e2(0x1bd)],'httpServerExists':!!this[_0xd761e2(0x1a7)]}),this[_0xd761e2(0x1bd)]['on'](_0xd761e2(0x17f),_0x1cfc7f=>{const _0x588b08=_0xd761e2;this['logger']['error'](_0x588b08(0x11a),{'error':_0x1cfc7f['message'],'stack':_0x1cfc7f[_0x588b08(0x1c6)],'port':this[_0x588b08(0x15e)]});}),this['wss']['on']('listening',()=>{const _0x3efc7c=_0xd761e2;this[_0x3efc7c(0x173)][_0x3efc7c(0x179)](_0x3efc7c(0x134),{'port':this[_0x3efc7c(0x15e)],'host':this[_0x3efc7c(0x11e)]});}),this[_0xd761e2(0x1bd)]['on'](_0xd761e2(0x170),(_0x349b78,_0xd28071)=>{const _0x35ece6=_0xd761e2,_0xdc229d='conn-'+Date[_0x35ece6(0x1ce)]()+'-'+Math[_0x35ece6(0x112)]()[_0x35ece6(0x1c8)](0x24)[_0x35ece6(0xf1)](0x2,0x9);this['logger']['info'](_0x35ece6(0x143),{'connectionId':_0xdc229d,'ip':_0xd28071['socket']['remoteAddress'],'origin':_0xd28071['headers']['origin'],'host':_0xd28071['headers']['host'],'userAgent':_0xd28071['headers']['user-agent'],'url':_0xd28071['url']});const _0x2d06f0={'id':_0xdc229d,'ws':_0x349b78,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this[_0x35ece6(0x12e)]['set'](_0xdc229d,_0x2d06f0),_0x349b78['on']('message',async _0x4d9738=>{const _0x5e63dc=_0x35ece6;try{const _0xa976ed=JSON['parse'](_0x4d9738['toString']());await this['handleWebSocketMessage'](_0xdc229d,_0xa976ed);}catch(_0x13b409){this['logger'][_0x5e63dc(0x17f)]('WebSocket\x20message\x20error',{'connectionId':_0xdc229d,'error':_0x13b409['message']}),_0x349b78['send'](JSON['stringify']({'type':'error','error':_0x13b409[_0x5e63dc(0x1c4)]}));}}),_0x349b78['on'](_0x35ece6(0x11b),()=>{const _0x383ac5=_0x35ece6;this[_0x383ac5(0x173)][_0x383ac5(0x179)]('WebSocket\x20connection\x20closed',{'connectionId':_0xdc229d}),this['connections'][_0x383ac5(0x190)](_0xdc229d);}),_0x349b78['send'](JSON[_0x35ece6(0x17a)]({'type':_0x35ece6(0x104),'connectionId':_0xdc229d,'timestamp':new Date()['toISOString']()}));});}async['handleWebSocketMessage'](_0x5c18b6,_0x57296f){const _0x4e49ca=a0_0x4ff7,_0x59273d=this[_0x4e49ca(0x12e)]['get'](_0x5c18b6);if(!_0x59273d)return;_0x59273d[_0x4e49ca(0x169)]=new Date()[_0x4e49ca(0x1d0)]();switch(_0x57296f['type']){case _0x4e49ca(0x118):const _0x408707=_0x57296f[_0x4e49ca(0x1c7)];_0x59273d['sessionId']=_0x408707,this['logger'][_0x4e49ca(0x179)]('WebSocket\x20joined\x20session',{'connectionId':_0x5c18b6,'sessionId':_0x408707,'totalConnectionsForSession':Array[_0x4e49ca(0x1d5)](this[_0x4e49ca(0x12e)]['values']())['filter'](_0x58dd64=>_0x58dd64['sessionId']===_0x408707)['length']}),_0x59273d['ws'][_0x4e49ca(0x176)](JSON[_0x4e49ca(0x17a)]({'type':_0x4e49ca(0xed),'sessionId':_0x408707}));break;case _0x4e49ca(0x153):_0x59273d['ws']['send'](JSON['stringify']({'type':'pong','timestamp':new Date()[_0x4e49ca(0x1d0)]()}));break;case'orchestrator_request':try{const _0x423011={'interface':INTERFACE_TYPES[_0x4e49ca(0x1b4)],'sessionId':_0x59273d['sessionId'],'action':_0x57296f['action'],'payload':_0x57296f['payload'],'projectDir':_0x57296f[_0x4e49ca(0xdf)]||process[_0x4e49ca(0x15d)]()},_0x59a0a7=await this['orchestrator']['processRequest'](_0x423011);_0x59273d['ws']['send'](JSON['stringify']({'type':'orchestrator_response','requestId':_0x57296f['requestId'],'response':_0x59a0a7}));}catch(_0x442a5b){_0x59273d['ws'][_0x4e49ca(0x176)](JSON[_0x4e49ca(0x17a)]({'type':'error','requestId':_0x57296f['requestId'],'error':_0x442a5b['message']}));}break;default:this[_0x4e49ca(0x173)][_0x4e49ca(0x16e)](_0x4e49ca(0x187),{'connectionId':_0x5c18b6,'type':_0x57296f['type']});}}[a0_0x5b353f(0x15c)](_0xa9ab5d,_0x10ca0c){const _0x31e49c=a0_0x5b353f,_0xe5f221=Array['from'](this[_0x31e49c(0x12e)][_0x31e49c(0x1a5)]())['filter'](_0x57f7f3=>_0x57f7f3[_0x31e49c(0x1c7)]===_0xa9ab5d);let _0x1e2df4=[];_0xe5f221[_0x31e49c(0x168)]===0x0&&(_0x1e2df4=Array[_0x31e49c(0x1d5)](this[_0x31e49c(0x12e)][_0x31e49c(0x1a5)]()),this[_0x31e49c(0x173)]?.[_0x31e49c(0x16e)](_0x31e49c(0x1b8),{'targetSessionId':_0xa9ab5d,'totalConnections':this[_0x31e49c(0x12e)][_0x31e49c(0x157)],'allSessionIds':Array[_0x31e49c(0x1d5)](this[_0x31e49c(0x12e)]['values']())['map'](_0x39b826=>_0x39b826['sessionId'])[_0x31e49c(0x11f)](Boolean)}));const _0x540812=_0xe5f221['length']>0x0?_0xe5f221:_0x1e2df4;this['logger']?.['info'](_0x31e49c(0xe3),{'sessionId':_0xa9ab5d,'messageType':_0x10ca0c['type'],'agentId':_0x10ca0c['agentId'],'totalConnections':this[_0x31e49c(0x12e)]['size'],'sessionConnections':_0xe5f221['length'],'targetConnections':_0x540812[_0x31e49c(0x168)],'connectionIds':_0x540812[_0x31e49c(0xe8)](_0x425243=>_0x425243['id']),'usingFallback':_0xe5f221['length']===0x0,'messagePreview':_0x10ca0c[_0x31e49c(0x151)]===_0x31e49c(0x1b0)&&_0x10ca0c['message']?{'messageId':_0x10ca0c['message']['id'],'messageRole':_0x10ca0c[_0x31e49c(0x1c4)][_0x31e49c(0x15b)],'contentLength':_0x10ca0c['message'][_0x31e49c(0x116)]?.[_0x31e49c(0x168)],'hasToolResults':!!_0x10ca0c[_0x31e49c(0x1c4)][_0x31e49c(0x183)]}:undefined});for(const _0x459eec of _0x540812){try{const _0x26c57b={..._0x10ca0c,'timestamp':new Date()[_0x31e49c(0x1d0)]()};_0x459eec['ws']['send'](JSON['stringify'](_0x26c57b)),this['logger']?.[_0x31e49c(0x179)](_0x31e49c(0xeb),{'connectionId':_0x459eec['id'],'messageType':_0x10ca0c[_0x31e49c(0x151)],'agentId':_0x10ca0c[_0x31e49c(0xfa)]});}catch(_0x1061e5){this['logger']['warn'](_0x31e49c(0x19b),{'connectionId':_0x459eec['id'],'sessionId':_0xa9ab5d,'messageType':_0x10ca0c[_0x31e49c(0x151)],'error':_0x1061e5['message']});}}}async['startServer'](){return new Promise((_0xa9a2dc,_0x5b9dd3)=>{const _0x1c5f12=a0_0x4ff7;this[_0x1c5f12(0x1a7)][_0x1c5f12(0x106)](this['port'],this['host'],_0x3d4d9c=>{const _0x5e915b=_0x1c5f12;_0x3d4d9c?(this['logger']['error']('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0x3d4d9c['message'],'port':this[_0x5e915b(0x15e)],'host':this[_0x5e915b(0x11e)]}),_0x5b9dd3(_0x3d4d9c)):(this[_0x5e915b(0x12b)]=!![],this['logger'][_0x5e915b(0x179)](_0x5e915b(0x1cc),{'port':this['port'],'host':this['host'],'httpUrl':_0x5e915b(0x103)+this[_0x5e915b(0x11e)]+':'+this['port'],'wsUrl':_0x5e915b(0xf7)+this['host']+':'+this[_0x5e915b(0x15e)],'wsServerAttached':!!this['wss'],'wsConnections':this['connections'][_0x5e915b(0x157)]}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0xa9a2dc());}),this[_0x1c5f12(0x1a7)]['on'](_0x1c5f12(0x17f),_0x4dceb4=>{const _0x53a88e=_0x1c5f12;this[_0x53a88e(0x173)][_0x53a88e(0x17f)]('HTTP\x20server\x20error:',{'error':_0x4dceb4['message'],'stack':_0x4dceb4[_0x53a88e(0x1c6)],'port':this['port']});});});}async['testWebSocketServer'](){const _0xd6662f=a0_0x5b353f;try{const {default:_0x1c8832}=await import('ws'),_0x40c85a=new _0x1c8832(_0xd6662f(0x113)+this['port']);_0x40c85a['on']('open',()=>{const _0x1d3a25=_0xd6662f;this[_0x1d3a25(0x173)]['info']('✅\x20WebSocket\x20server\x20test:\x20SUCCESSFUL',{'port':this['port'],'url':_0x1d3a25(0x113)+this[_0x1d3a25(0x15e)]}),_0x40c85a['close']();}),_0x40c85a['on'](_0xd6662f(0x17f),_0x311a59=>{const _0xe1e6d5=_0xd6662f;this['logger']['error'](_0xe1e6d5(0x149),{'port':this['port'],'url':'ws://localhost:'+this['port'],'error':_0x311a59['message'],'code':_0x311a59[_0xe1e6d5(0x18f)]});}),_0x40c85a['on']('close',(_0x278897,_0x17cc7f)=>{const _0x3dd036=_0xd6662f;_0x278897===0x3e8&&this['logger'][_0x3dd036(0x179)]('WebSocket\x20test\x20connection\x20closed\x20cleanly');}),setTimeout(()=>{const _0x1a8e5b=_0xd6662f;_0x40c85a['readyState']===_0x1c8832['CONNECTING']&&(this[_0x1a8e5b(0x173)][_0x1a8e5b(0x17f)]('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this[_0x1a8e5b(0x15e)],'url':_0x1a8e5b(0x113)+this['port'],'readyState':_0x40c85a['readyState']}),_0x40c85a[_0x1a8e5b(0x1a3)]());},0x1388);}catch(_0x329801){this[_0xd6662f(0x173)][_0xd6662f(0x17f)]('❌\x20WebSocket\x20server\x20test:\x20EXCEPTION',{'error':_0x329801[_0xd6662f(0x1c4)],'stack':_0x329801['stack']});}}['setApiKeyManager'](_0x5e0d90){const _0x21f94a=a0_0x5b353f;this['apiKeyManager']=_0x5e0d90,this[_0x21f94a(0x173)]?.['info'](_0x21f94a(0xd9),{'hasManager':!!_0x5e0d90});}[a0_0x5b353f(0x1cd)](_0x19c68e){const _0x379d8b=a0_0x5b353f;if(!_0x19c68e)return null;const _0x2dbb22=_0x19c68e[_0x379d8b(0xe6)]();if(_0x2dbb22[_0x379d8b(0x15f)]('anthropic')||_0x2dbb22[_0x379d8b(0x15f)](_0x379d8b(0x13d)))return'anthropic';else{if(_0x2dbb22[_0x379d8b(0x15f)]('openai')||_0x2dbb22['includes']('gpt'))return'openai';else{if(_0x2dbb22['includes'](_0x379d8b(0xfe)))return'deepseek';else{if(_0x2dbb22['includes'](_0x379d8b(0x164)))return _0x379d8b(0x152);}}}return null;}[a0_0x5b353f(0x194)](){const _0x314cef=a0_0x5b353f;return{'isRunning':this['isRunning'],'port':this[_0x314cef(0x15e)],'host':this[_0x314cef(0x11e)],'connections':this['connections'][_0x314cef(0x157)],'sessions':this[_0x314cef(0x1d3)][_0x314cef(0x157)],'url':'http://'+this[_0x314cef(0x11e)]+':'+this['port']};}async[a0_0x5b353f(0xd0)](){const _0x5cc57d=a0_0x5b353f;if(!this['isRunning'])return;this['logger'][_0x5cc57d(0x179)]('Shutting\x20down\x20web\x20server...');for(const _0x5a1e23 of this['connections']['values']()){_0x5a1e23['ws'][_0x5cc57d(0x11b)]();}return this['connections'][_0x5cc57d(0x188)](),this[_0x5cc57d(0x1bd)][_0x5cc57d(0x11b)](),new Promise(_0x20e527=>{this['server']['close'](()=>{const _0x581d1a=a0_0x4ff7;this['isRunning']=![],this[_0x581d1a(0x173)][_0x581d1a(0x179)]('Web\x20server\x20shutdown\x20complete'),_0x20e527();});});}}export default WebServer;if(import.meta.url===a0_0x5b353f(0x19c)+process['argv'][0x1]){const simpleLogger={'info':(_0x201b3b,_0x59c26d)=>console['log']('[INFO]\x20'+_0x201b3b,_0x59c26d?JSON[a0_0x5b353f(0x17a)](_0x59c26d,null,0x2):''),'error':(_0x22b20e,_0x234605)=>console[a0_0x5b353f(0x17f)]('[ERROR]\x20'+_0x22b20e,_0x234605?JSON[a0_0x5b353f(0x17a)](_0x234605,null,0x2):''),'warn':(_0x516b2e,_0x56df5c)=>console[a0_0x5b353f(0x16e)]('[WARN]\x20'+_0x516b2e,_0x56df5c?JSON[a0_0x5b353f(0x17a)](_0x56df5c,null,0x2):''),'debug':(_0x2aaadc,_0x4e7958)=>console['log'](a0_0x5b353f(0x1d7)+_0x2aaadc,_0x4e7958?JSON[a0_0x5b353f(0x17a)](_0x4e7958,null,0x2):'')},mockOrchestrator={'processAction':async(_0xe92509,_0x59cb0d)=>{const _0x327c7b=a0_0x5b353f;simpleLogger[_0x327c7b(0x179)](_0x327c7b(0x147),{'action':_0xe92509,'data':_0x59cb0d});switch(_0xe92509){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x327c7b(0xfc)]:return{'success':!![],'data':{'id':'agent-'+Date[_0x327c7b(0x1ce)](),'name':_0x59cb0d['name']||_0x327c7b(0x184),'status':_0x327c7b(0x167),'model':_0x59cb0d['model']||_0x327c7b(0x1a8),'systemPrompt':_0x59cb0d[_0x327c7b(0x121)]||'You\x20are\x20a\x20helpful\x20AI\x20assistant.'}};case ORCHESTRATOR_ACTIONS[_0x327c7b(0x140)]:return{'success':!![],'data':{'message':{'id':_0x327c7b(0x160)+Date[_0x327c7b(0x1ce)](),'content':_0x327c7b(0x185)+_0x59cb0d['message'],'timestamp':new Date()[_0x327c7b(0x1d0)]()}}};default:return{'success':![],'error':'Unknown\x20action:\x20'+_0xe92509};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console[a0_0x5b353f(0xf0)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server[a0_0x5b353f(0x14a)]()['then'](()=>{const _0x2e88af=a0_0x5b353f,_0x2dadf1=server[_0x2e88af(0x194)]();console['log'](_0x2e88af(0x1c1)+_0x2dadf1[_0x2e88af(0x1d6)]),console['log'](_0x2e88af(0x119)),console['log']('🔧\x20API\x20available\x20at:\x20http://localhost:8080/api');})[a0_0x5b353f(0x177)](_0x5b1802=>{const _0x2239f5=a0_0x5b353f;console['error']('❌\x20Failed\x20to\x20start\x20web\x20server:',_0x5b1802[_0x2239f5(0x1c4)]),process['exit'](0x1);}),process['on'](a0_0x5b353f(0x133),async()=>{const _0x5066e9=a0_0x5b353f;console[_0x5066e9(0xf0)]('\x0a🛑\x20Shutting\x20down\x20web\x20server...'),await server['shutdown'](),process['exit'](0x0);});}
@@ -1 +1 @@
1
- const a0_0x37e01c=a0_0x2e36;function a0_0x2889(){const _0x2acfa5=['zxH0BMfTzq','nZG4ndi1mLf5EMvlAa','AxneAxjLy3rVCNK','DhLWzq','mJq1ndi0nw5irg90Aq','BgvUz3rO','Aw5JBhvKzxm','mZqZndq1ovLZBerLsa','CMvJDxjZAxzL','sw52ywXPzcbMAwXLihbHDgG','C2L6zq','z2v0rMLSzvn0yxrZ','zgLYzwn0B3j5','BwvZC2fNzq','mtm5nJaWmeDeChbZyG','zMLSzuv4CgXVCMvY','y29UzMLN','Dg9mB3DLCKnHC2u','BwTKAxi','BxrPBwu','Dg9ju09tDhjPBMC','mtyZnde4nhbOEgriCG','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','mJyZsMPxqMTj','CMvSyxrPDMu','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','nZm1mdaZAvbjtvvI','CMvZB2X2zq','y29Kzq','AxngAwXL','Bg9JywXLq29TCgfYzq','nK1Arxb3tG','yMfZzw5HBwu','ugf0AcbUB3qGzM91BMqGB3iGAw5Hy2nLC3nPyMXL','y3DK','AxntywzLugf0Aa','mtm0menvy25HuG','C3rHCNrZv2L0Aa'];a0_0x2889=function(){return _0x2acfa5;};return a0_0x2889();}(function(_0x267495,_0x34b020){const _0x3bb94d=a0_0x2e36,_0x1592a0=_0x267495();while(!![]){try{const _0x3c3322=parseInt(_0x3bb94d(0x105))/0x1*(-parseInt(_0x3bb94d(0x112))/0x2)+-parseInt(_0x3bb94d(0x108))/0x3+parseInt(_0x3bb94d(0x103))/0x4+-parseInt(_0x3bb94d(0x118))/0x5*(-parseInt(_0x3bb94d(0x10d))/0x6)+parseInt(_0x3bb94d(0xf5))/0x7+parseInt(_0x3bb94d(0xfc))/0x8+-parseInt(_0x3bb94d(0x115))/0x9;if(_0x3c3322===_0x34b020)break;else _0x1592a0['push'](_0x1592a0['shift']());}catch(_0x5462f8){_0x1592a0['push'](_0x1592a0['shift']());}}}(a0_0x2889,0x4141d));import{promises as a0_0x41730d}from'fs';import a0_0x141b1b from'path';import a0_0xa2e010 from'os';function a0_0x2e36(_0x118eed,_0x32bac9){_0x118eed=_0x118eed-0xf3;const _0x2889a2=a0_0x2889();let _0x2e361a=_0x2889a2[_0x118eed];if(a0_0x2e36['qkwCKf']===undefined){var _0x1f04b8=function(_0x566718){const _0x5d1367='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41730d='',_0x141b1b='';for(let _0xa2e010=0x0,_0x54cc8a,_0x4efb26,_0xb2bf96=0x0;_0x4efb26=_0x566718['charAt'](_0xb2bf96++);~_0x4efb26&&(_0x54cc8a=_0xa2e010%0x4?_0x54cc8a*0x40+_0x4efb26:_0x4efb26,_0xa2e010++%0x4)?_0x41730d+=String['fromCharCode'](0xff&_0x54cc8a>>(-0x2*_0xa2e010&0x6)):0x0){_0x4efb26=_0x5d1367['indexOf'](_0x4efb26);}for(let _0x3aeb6d=0x0,_0x19b614=_0x41730d['length'];_0x3aeb6d<_0x19b614;_0x3aeb6d++){_0x141b1b+='%'+('00'+_0x41730d['charCodeAt'](_0x3aeb6d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x141b1b);};a0_0x2e36['vFbfro']=_0x1f04b8,a0_0x2e36['JTQuNG']={},a0_0x2e36['qkwCKf']=!![];}const _0x2777d8=_0x2889a2[0x0],_0x3dc0f1=_0x118eed+_0x2777d8,_0x33f201=a0_0x2e36['JTQuNG'][_0x3dc0f1];return!_0x33f201?(_0x2e361a=a0_0x2e36['vFbfro'](_0x2e361a),a0_0x2e36['JTQuNG'][_0x3dc0f1]=_0x2e361a):_0x2e361a=_0x33f201,_0x2e361a;}class FileExplorerController{constructor(_0x54cc8a={}){this['config']={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x54cc8a};}async['getFileStats'](_0x4efb26){const _0x5d436d=a0_0x2e36;try{const _0xb2bf96=await a0_0x41730d['stat'](_0x4efb26);return{'stats':_0xb2bf96};}catch(_0x3aeb6d){return{'stats':null,'error':_0x3aeb6d instanceof Error?_0x3aeb6d[_0x5d436d(0xfb)]:'Unknown\x20error'};}}['isSafePath'](_0x19b614){const _0x3f6351=a0_0x2e36;try{const _0x2cbda9=a0_0x141b1b['resolve'](_0x19b614);if(this[_0x3f6351(0xfe)]['restrictedPaths']['some'](_0x26db38=>_0x2cbda9[_0x3f6351(0x113)](a0_0x141b1b['resolve'](_0x26db38))))return![];return!![];}catch(_0x219e1c){return![];}}['shouldIncludeItem'](_0x1bcd11,_0x535622){const _0x521658=a0_0x2e36;if(!this['config']['showHidden']&&_0x1bcd11[_0x521658(0x113)]('.'))return![];if(_0x535622['isFile']()&&this['config']['allowedExtensions'][_0x521658(0xf3)]>0x0){const _0x3e1a0d=a0_0x141b1b[_0x521658(0x114)](_0x1bcd11)[_0x521658(0xff)]();if(!this['config']['allowedExtensions'][_0x521658(0xf4)](_0x3e1a0d))return![];}return!![];}async['browseDirectory'](_0x7322d6=process[a0_0x37e01c(0x110)](),_0x159837={}){const _0x264d17=a0_0x37e01c;try{const _0x156c33=a0_0x141b1b[_0x264d17(0x109)](_0x7322d6);if(!this[_0x264d17(0x111)](_0x156c33))return{'success':![],'error':'Access\x20to\x20this\x20path\x20is\x20restricted'};const {stats:_0x394756,error:_0x117b02}=await this['getFileStats'](_0x156c33);if(_0x117b02||!_0x394756)return{'success':![],'error':_0x264d17(0x10f)};if(!_0x394756[_0x264d17(0x116)]())return{'success':![],'error':_0x264d17(0x107)};const _0x382f8b=await a0_0x41730d['readdir'](_0x156c33),_0x3c79be=[];for(const _0x9cb94e of _0x382f8b){const _0x442358=a0_0x141b1b['join'](_0x156c33,_0x9cb94e),{stats:_0x285feb}=await this[_0x264d17(0xf9)](_0x442358);if(_0x285feb&&this['shouldIncludeItem'](_0x9cb94e,_0x285feb)){const _0x53f74d={'name':_0x9cb94e,'path':_0x442358,'type':_0x285feb['isDirectory']()?'directory':'file','size':_0x285feb[_0x264d17(0x10b)]()?_0x285feb[_0x264d17(0xf8)]:undefined,'lastModified':_0x285feb[_0x264d17(0x101)],'extension':_0x285feb['isFile']()?a0_0x141b1b['extname'](_0x9cb94e)[_0x264d17(0xff)]():undefined};_0x3c79be['push'](_0x53f74d);}}_0x3c79be['sort']((_0x2cf987,_0x1e7991)=>{const _0x5daff1=_0x264d17;if(_0x2cf987['type']===_0x1e7991['type'])return _0x2cf987['name'][_0x5daff1(0x10c)](_0x1e7991['name']);return _0x2cf987[_0x5daff1(0x117)]===_0x5daff1(0xfa)?-0x1:0x1;});const _0x547d5d=a0_0x141b1b['dirname'](_0x156c33),_0x4801ff=_0x547d5d!==_0x156c33;return{'success':!![],'data':{'currentPath':_0x156c33,'parentPath':_0x4801ff?_0x547d5d:null,'items':_0x3c79be,'totalItems':_0x3c79be[_0x264d17(0xf3)],'directories':_0x3c79be['filter'](_0x287b30=>_0x287b30['type']===_0x264d17(0xfa))['length'],'files':_0x3c79be['filter'](_0x52ab66=>_0x52ab66[_0x264d17(0x117)]==='file')[_0x264d17(0xf3)]}};}catch(_0x4f9a7a){return{'success':![],'error':_0x4f9a7a instanceof Error?_0x4f9a7a[_0x264d17(0xfb)]:'Server\x20error'};}}async['getFileInfo'](_0x3d0608){const _0x24c4e9=a0_0x37e01c;try{if(!_0x3d0608||!this[_0x24c4e9(0x111)](_0x3d0608))return{'success':![],'error':_0x24c4e9(0xf7)};const {stats:_0x4b1028,error:_0xad2b60}=await this[_0x24c4e9(0xf9)](_0x3d0608);if(_0xad2b60||!_0x4b1028)return{'success':![],'error':'File\x20not\x20found'};const _0x20c3e9={'name':a0_0x141b1b[_0x24c4e9(0x10e)](_0x3d0608),'path':_0x3d0608,'type':_0x4b1028['isDirectory']()?_0x24c4e9(0xfa):'file','size':_0x4b1028[_0x24c4e9(0x10b)]()?_0x4b1028['size']:undefined,'lastModified':_0x4b1028['mtime'],'extension':_0x4b1028['isFile']()?a0_0x141b1b[_0x24c4e9(0x114)](_0x3d0608)['toLowerCase']():undefined};return{'success':!![],'data':_0x20c3e9};}catch(_0x312b7d){return{'success':![],'error':_0x312b7d instanceof Error?_0x312b7d[_0x24c4e9(0xfb)]:'Server\x20error'};}}[a0_0x37e01c(0x104)](){const _0x59c304=a0_0x37e01c;return{'success':!![],'data':{'cwd':process[_0x59c304(0x110)](),'platform':process['platform'],'homedir':a0_0xa2e010['homedir']()}};}async['createDirectory'](_0x1ad479,_0x3a668c={}){const _0x149914=a0_0x37e01c;try{if(!this['isSafePath'](_0x1ad479))return{'success':![],'error':'Invalid\x20directory\x20path'};return await a0_0x41730d[_0x149914(0x100)](_0x1ad479,{'recursive':_0x3a668c[_0x149914(0xf6)]||![]}),{'success':!![],'data':{'path':_0x1ad479,'relativePath':a0_0x141b1b[_0x149914(0x106)](process['cwd'](),_0x1ad479)}};}catch(_0x521634){return{'success':![],'error':_0x521634 instanceof Error?_0x521634[_0x149914(0xfb)]:'Failed\x20to\x20create\x20directory','code':_0x521634[_0x149914(0x10a)]};}}['healthCheck'](){const _0x367026=a0_0x37e01c;return{'success':!![],'data':{'status':'healthy','timestamp':new Date()[_0x367026(0x102)](),'module':_0x367026(0xfd)}};}}export default FileExplorerController;
1
+ const a0_0x269a62=a0_0x46b0;(function(_0x452429,_0x585213){const _0x341552=a0_0x46b0,_0xc3c563=_0x452429();while(!![]){try{const _0x186033=parseInt(_0x341552(0xf2))/0x1+-parseInt(_0x341552(0xe9))/0x2*(-parseInt(_0x341552(0xf8))/0x3)+parseInt(_0x341552(0xe7))/0x4*(parseInt(_0x341552(0xf9))/0x5)+parseInt(_0x341552(0xef))/0x6*(-parseInt(_0x341552(0xe6))/0x7)+-parseInt(_0x341552(0xf4))/0x8+parseInt(_0x341552(0xed))/0x9+parseInt(_0x341552(0xf0))/0xa;if(_0x186033===_0x585213)break;else _0xc3c563['push'](_0xc3c563['shift']());}catch(_0x23487f){_0xc3c563['push'](_0xc3c563['shift']());}}}(a0_0x283f,0x2ecbc));import{promises as a0_0x6506b8}from'fs';function a0_0x46b0(_0x3bd061,_0x3a516a){_0x3bd061=_0x3bd061-0xe6;const _0x283f7a=a0_0x283f();let _0x46b0b6=_0x283f7a[_0x3bd061];if(a0_0x46b0['iDzSkt']===undefined){var _0xea8c34=function(_0xd26c64){const _0x303e16='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6506b8='',_0x45a5b4='';for(let _0x174654=0x0,_0x493e09,_0x1c4283,_0x1c961f=0x0;_0x1c4283=_0xd26c64['charAt'](_0x1c961f++);~_0x1c4283&&(_0x493e09=_0x174654%0x4?_0x493e09*0x40+_0x1c4283:_0x1c4283,_0x174654++%0x4)?_0x6506b8+=String['fromCharCode'](0xff&_0x493e09>>(-0x2*_0x174654&0x6)):0x0){_0x1c4283=_0x303e16['indexOf'](_0x1c4283);}for(let _0x1d1b0d=0x0,_0xedf47c=_0x6506b8['length'];_0x1d1b0d<_0xedf47c;_0x1d1b0d++){_0x45a5b4+='%'+('00'+_0x6506b8['charCodeAt'](_0x1d1b0d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45a5b4);};a0_0x46b0['aGuCiV']=_0xea8c34,a0_0x46b0['ciTsgA']={},a0_0x46b0['iDzSkt']=!![];}const _0x835998=_0x283f7a[0x0],_0xa18ed=_0x3bd061+_0x835998,_0x3a5405=a0_0x46b0['ciTsgA'][_0xa18ed];return!_0x3a5405?(_0x46b0b6=a0_0x46b0['aGuCiV'](_0x46b0b6),a0_0x46b0['ciTsgA'][_0xa18ed]=_0x46b0b6):_0x46b0b6=_0x3a5405,_0x46b0b6;}function a0_0x283f(){const _0x593d5f=['mti0mZq0mgLLuuLesq','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','BxrPBwu','C2L6zq','mtuWodDhDfjdCvC','ndvOt0fAB2y','AxntywzLugf0Aa','vw5RBM93BIbLCNjVCG','u2vYDMvYigvYCM9Y','y3jLyxrLrgLYzwn0B3j5','y29Kzq','ChvZAa','AxneAxjLy3rVCNK','C2HVDwXKsw5JBhvKzuL0zw0','Dg9mB3DLCKnHC2u','BwTKAxi','zMLSDgvY','C2HVD0HPzgrLBG','y29UzMLN','zxH0BMfTzq','BwvZC2fNzq','CMvZB2X2zq','zMLSzq','n3nUtKDmAW','odCWmdrgtwrMtKy','DhLWzq','nK1et0Lcwa','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','zgLYzwn0B3j5','z2v0rMLSzuLUzM8','mJa3mdGXuefKBLnn','BgvUz3rO','mtiWmdu1oe5otunYCq','mZi2nJaWwu1lv0Pr','AxngAwXL','mJGWnJG0sLPNwg9x','CMvSyxrPDMu'];a0_0x283f=function(){return _0x593d5f;};return a0_0x283f();}import a0_0x45a5b4 from'path';import a0_0x174654 from'os';class FileExplorerController{constructor(_0x493e09={}){const _0x3a4143=a0_0x46b0;this[_0x3a4143(0x106)]={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x493e09};}async['getFileStats'](_0x1c4283){const _0x53808f=a0_0x46b0;try{const _0x1c961f=await a0_0x6506b8['stat'](_0x1c4283);return{'stats':_0x1c961f};}catch(_0x1d1b0d){return{'stats':null,'error':_0x1d1b0d instanceof Error?_0x1d1b0d[_0x53808f(0x108)]:_0x53808f(0xfb)};}}[a0_0x269a62(0xfa)](_0xedf47c){try{const _0x2fadcd=a0_0x45a5b4['resolve'](_0xedf47c);if(this['config']['restrictedPaths']['some'](_0x32e401=>_0x2fadcd['startsWith'](a0_0x45a5b4['resolve'](_0x32e401))))return![];return!![];}catch(_0x12d810){return![];}}[a0_0x269a62(0x101)](_0x3cc10c,_0x50183a){const _0x147a71=a0_0x269a62;if(!this[_0x147a71(0x106)][_0x147a71(0x105)]&&_0x3cc10c['startsWith']('.'))return![];if(_0x50183a['isFile']()&&this['config']['allowedExtensions']['length']>0x0){const _0x8216ae=a0_0x45a5b4[_0x147a71(0x107)](_0x3cc10c)[_0x147a71(0x102)]();if(!this[_0x147a71(0x106)]['allowedExtensions']['includes'](_0x8216ae))return![];}return!![];}async['browseDirectory'](_0x2b35a3=process['cwd'](),_0x1dd0c9={}){const _0xfebe56=a0_0x269a62;try{const _0x5dba22=a0_0x45a5b4[_0xfebe56(0x109)](_0x2b35a3);if(!this['isSafePath'](_0x5dba22))return{'success':![],'error':'Access\x20to\x20this\x20path\x20is\x20restricted'};const {stats:_0x1048a9,error:_0x224149}=await this['getFileStats'](_0x5dba22);if(_0x224149||!_0x1048a9)return{'success':![],'error':'Path\x20not\x20found\x20or\x20inaccessible'};if(!_0x1048a9[_0xfebe56(0x100)]())return{'success':![],'error':_0xfebe56(0xea)};const _0x404003=await a0_0x6506b8['readdir'](_0x5dba22),_0x16042b=[];for(const _0x58d0aa of _0x404003){const _0x4975a4=a0_0x45a5b4['join'](_0x5dba22,_0x58d0aa),{stats:_0x21c55d}=await this['getFileStats'](_0x4975a4);if(_0x21c55d&&this[_0xfebe56(0x101)](_0x58d0aa,_0x21c55d)){const _0x3ad2c8={'name':_0x58d0aa,'path':_0x4975a4,'type':_0x21c55d[_0xfebe56(0x100)]()?'directory':_0xfebe56(0x10a),'size':_0x21c55d[_0xfebe56(0xf1)]()?_0x21c55d[_0xfebe56(0xf7)]:undefined,'lastModified':_0x21c55d[_0xfebe56(0xf6)],'extension':_0x21c55d['isFile']()?a0_0x45a5b4[_0xfebe56(0x107)](_0x58d0aa)['toLowerCase']():undefined};_0x16042b[_0xfebe56(0xff)](_0x3ad2c8);}}_0x16042b['sort']((_0xf961cf,_0x74ff5b)=>{const _0xcbbb30=_0xfebe56;if(_0xf961cf[_0xcbbb30(0xe8)]===_0x74ff5b[_0xcbbb30(0xe8)])return _0xf961cf['name']['localeCompare'](_0x74ff5b['name']);return _0xf961cf[_0xcbbb30(0xe8)]===_0xcbbb30(0xeb)?-0x1:0x1;});const _0xed1e1e=a0_0x45a5b4['dirname'](_0x5dba22),_0x430852=_0xed1e1e!==_0x5dba22;return{'success':!![],'data':{'currentPath':_0x5dba22,'parentPath':_0x430852?_0xed1e1e:null,'items':_0x16042b,'totalItems':_0x16042b[_0xfebe56(0xee)],'directories':_0x16042b['filter'](_0x48672e=>_0x48672e[_0xfebe56(0xe8)]===_0xfebe56(0xeb))[_0xfebe56(0xee)],'files':_0x16042b[_0xfebe56(0x104)](_0x4b023f=>_0x4b023f['type']==='file')['length']}};}catch(_0x342d10){return{'success':![],'error':_0x342d10 instanceof Error?_0x342d10[_0xfebe56(0x108)]:_0xfebe56(0xfc)};}}async[a0_0x269a62(0xec)](_0x581274){const _0x5a2795=a0_0x269a62;try{if(!_0x581274||!this[_0x5a2795(0xfa)](_0x581274))return{'success':![],'error':'Invalid\x20file\x20path'};const {stats:_0x8e6313,error:_0x397611}=await this['getFileStats'](_0x581274);if(_0x397611||!_0x8e6313)return{'success':![],'error':'File\x20not\x20found'};const _0x32a8e4={'name':a0_0x45a5b4['basename'](_0x581274),'path':_0x581274,'type':_0x8e6313['isDirectory']()?_0x5a2795(0xeb):_0x5a2795(0x10a),'size':_0x8e6313[_0x5a2795(0xf1)]()?_0x8e6313['size']:undefined,'lastModified':_0x8e6313[_0x5a2795(0xf6)],'extension':_0x8e6313[_0x5a2795(0xf1)]()?a0_0x45a5b4['extname'](_0x581274)[_0x5a2795(0x102)]():undefined};return{'success':!![],'data':_0x32a8e4};}catch(_0x46c178){return{'success':![],'error':_0x46c178 instanceof Error?_0x46c178[_0x5a2795(0x108)]:_0x5a2795(0xfc)};}}[a0_0x269a62(0xf5)](){return{'success':!![],'data':{'cwd':process['cwd'](),'platform':process['platform'],'homedir':a0_0x174654['homedir']()}};}async[a0_0x269a62(0xfd)](_0x57b6e2,_0x2ff8ed={}){const _0x5174e2=a0_0x269a62;try{if(!this['isSafePath'](_0x57b6e2))return{'success':![],'error':'Invalid\x20directory\x20path'};return await a0_0x6506b8[_0x5174e2(0x103)](_0x57b6e2,{'recursive':_0x2ff8ed['recursive']||![]}),{'success':!![],'data':{'path':_0x57b6e2,'relativePath':a0_0x45a5b4[_0x5174e2(0xf3)](process['cwd'](),_0x57b6e2)}};}catch(_0x1174d4){return{'success':![],'error':_0x1174d4 instanceof Error?_0x1174d4[_0x5174e2(0x108)]:'Failed\x20to\x20create\x20directory','code':_0x1174d4[_0x5174e2(0xfe)]};}}['healthCheck'](){return{'success':!![],'data':{'status':'healthy','timestamp':new Date()['toISOString'](),'module':'fileExplorer'}};}}export default FileExplorerController;
@@ -1 +1 @@
1
- function a0_0x5990(){const _0x2843bc=['mJaWotvXturOzNq','n0Prt2zjsG','ndG4mJq5mdHKBLbhEK8','nZa0mteYA2f0DvbV','mtKWmJm2ovrdqKrgBW','mZi2ntm3mxPWvK9bvq','mtbgt0PqyvC','mtaZmdu3ndrxEgf0yuq','ntm2CNbIy0ri','mZy2mKLOB0TVzG','nJm2tgXfrK5b'];a0_0x5990=function(){return _0x2843bc;};return a0_0x5990();}(function(_0xc85988,_0x20293e){const _0x13462c=a0_0x1e31,_0x481f26=_0xc85988();while(!![]){try{const _0x3574f2=-parseInt(_0x13462c(0x10e))/0x1*(parseInt(_0x13462c(0x10f))/0x2)+-parseInt(_0x13462c(0x10a))/0x3+parseInt(_0x13462c(0x110))/0x4*(-parseInt(_0x13462c(0x111))/0x5)+-parseInt(_0x13462c(0x114))/0x6*(-parseInt(_0x13462c(0x112))/0x7)+-parseInt(_0x13462c(0x10d))/0x8+-parseInt(_0x13462c(0x10b))/0x9*(parseInt(_0x13462c(0x10c))/0xa)+parseInt(_0x13462c(0x113))/0xb;if(_0x3574f2===_0x20293e)break;else _0x481f26['push'](_0x481f26['shift']());}catch(_0x1c2aa3){_0x481f26['push'](_0x481f26['shift']());}}}(a0_0x5990,0x9ec8f));import{createFileExplorerRouter,defaultConfig}from'./routes.js';import a0_0xfe57e5 from'./controller.js';export function initFileExplorerModule(_0x4cc5ef={}){const _0x224716={...defaultConfig,..._0x4cc5ef},_0x39b647=createFileExplorerRouter(_0x224716),_0x59f70b=new a0_0xfe57e5(_0x224716);return{'router':_0x39b647,'controller':_0x59f70b,'config':_0x224716};}function a0_0x1e31(_0x1f583e,_0x5e23d8){_0x1f583e=_0x1f583e-0x10a;const _0x5990a5=a0_0x5990();let _0x1e3131=_0x5990a5[_0x1f583e];if(a0_0x1e31['NHFIuf']===undefined){var _0x38fd64=function(_0x341885){const _0x4be6e5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfe57e5='',_0x4cc5ef='';for(let _0x224716=0x0,_0x39b647,_0x59f70b,_0x3a5308=0x0;_0x59f70b=_0x341885['charAt'](_0x3a5308++);~_0x59f70b&&(_0x39b647=_0x224716%0x4?_0x39b647*0x40+_0x59f70b:_0x59f70b,_0x224716++%0x4)?_0xfe57e5+=String['fromCharCode'](0xff&_0x39b647>>(-0x2*_0x224716&0x6)):0x0){_0x59f70b=_0x4be6e5['indexOf'](_0x59f70b);}for(let _0xbb7166=0x0,_0x1871ec=_0xfe57e5['length'];_0xbb7166<_0x1871ec;_0xbb7166++){_0x4cc5ef+='%'+('00'+_0xfe57e5['charCodeAt'](_0xbb7166)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4cc5ef);};a0_0x1e31['HpONMX']=_0x38fd64,a0_0x1e31['VPosxT']={},a0_0x1e31['NHFIuf']=!![];}const _0x2540df=_0x5990a5[0x0],_0x5d4f0d=_0x1f583e+_0x2540df,_0x349933=a0_0x1e31['VPosxT'][_0x5d4f0d];return!_0x349933?(_0x1e3131=a0_0x1e31['HpONMX'](_0x1e3131),a0_0x1e31['VPosxT'][_0x5d4f0d]=_0x1e3131):_0x1e3131=_0x349933,_0x1e3131;}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0xfe57e5,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
1
+ (function(_0x1e9d00,_0x537cde){const _0x4e5140=a0_0x1438,_0x4b5db2=_0x1e9d00();while(!![]){try{const _0x38c560=-parseInt(_0x4e5140(0x13e))/0x1*(parseInt(_0x4e5140(0x136))/0x2)+-parseInt(_0x4e5140(0x13f))/0x3+parseInt(_0x4e5140(0x139))/0x4+parseInt(_0x4e5140(0x13c))/0x5*(parseInt(_0x4e5140(0x137))/0x6)+parseInt(_0x4e5140(0x13b))/0x7*(parseInt(_0x4e5140(0x138))/0x8)+parseInt(_0x4e5140(0x13a))/0x9+-parseInt(_0x4e5140(0x13d))/0xa;if(_0x38c560===_0x537cde)break;else _0x4b5db2['push'](_0x4b5db2['shift']());}catch(_0x354ba9){_0x4b5db2['push'](_0x4b5db2['shift']());}}}(a0_0x1063,0xdb2ef));import{createFileExplorerRouter,defaultConfig}from'./routes.js';function a0_0x1438(_0x2fe998,_0x486fd3){_0x2fe998=_0x2fe998-0x136;const _0x1063af=a0_0x1063();let _0x1438e6=_0x1063af[_0x2fe998];if(a0_0x1438['MubdEW']===undefined){var _0x59f7bf=function(_0x2cb20d){const _0x428abe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x416a7b='',_0xc5f262='';for(let _0x363689=0x0,_0x1a9209,_0x5b9741,_0x54894f=0x0;_0x5b9741=_0x2cb20d['charAt'](_0x54894f++);~_0x5b9741&&(_0x1a9209=_0x363689%0x4?_0x1a9209*0x40+_0x5b9741:_0x5b9741,_0x363689++%0x4)?_0x416a7b+=String['fromCharCode'](0xff&_0x1a9209>>(-0x2*_0x363689&0x6)):0x0){_0x5b9741=_0x428abe['indexOf'](_0x5b9741);}for(let _0x150cb2=0x0,_0x2d0b01=_0x416a7b['length'];_0x150cb2<_0x2d0b01;_0x150cb2++){_0xc5f262+='%'+('00'+_0x416a7b['charCodeAt'](_0x150cb2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc5f262);};a0_0x1438['yhUGAy']=_0x59f7bf,a0_0x1438['XaaFMY']={},a0_0x1438['MubdEW']=!![];}const _0x719ead=_0x1063af[0x0],_0x5d3930=_0x2fe998+_0x719ead,_0x3c3e85=a0_0x1438['XaaFMY'][_0x5d3930];return!_0x3c3e85?(_0x1438e6=a0_0x1438['yhUGAy'](_0x1438e6),a0_0x1438['XaaFMY'][_0x5d3930]=_0x1438e6):_0x1438e6=_0x3c3e85,_0x1438e6;}import a0_0x416a7b from'./controller.js';export function initFileExplorerModule(_0xc5f262={}){const _0x363689={...defaultConfig,..._0xc5f262},_0x1a9209=createFileExplorerRouter(_0x363689),_0x5b9741=new a0_0x416a7b(_0x363689);return{'router':_0x1a9209,'controller':_0x5b9741,'config':_0x363689};}function a0_0x1063(){const _0x31dde5=['mwv1rK9HBG','mJK4odGXvufStvPi','mJaWnJm5oe5rq2LjqG','nKvfsvzTuG','ntC3nZmXmNHKtunJEq','mta3ntiWmhnIvvfWrW','mJC1mty5nMrKD3zurG','n2X4vNzcAa','mZC3mZmWnwvWCeDzCq','nta3nJGWvffdq3Hx'];a0_0x1063=function(){return _0x31dde5;};return a0_0x1063();}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x416a7b,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
@@ -1 +1 @@
1
- (function(_0x25578c,_0x2aa8fa){const _0x5d1110=a0_0xeb56,_0x174a77=_0x25578c();while(!![]){try{const _0x3e76a1=-parseInt(_0x5d1110(0xd5))/0x1+-parseInt(_0x5d1110(0xe3))/0x2*(-parseInt(_0x5d1110(0xe8))/0x3)+-parseInt(_0x5d1110(0xe5))/0x4+parseInt(_0x5d1110(0xdc))/0x5*(-parseInt(_0x5d1110(0xd7))/0x6)+-parseInt(_0x5d1110(0xd4))/0x7+-parseInt(_0x5d1110(0xdb))/0x8+parseInt(_0x5d1110(0xd2))/0x9*(parseInt(_0x5d1110(0xec))/0xa);if(_0x3e76a1===_0x2aa8fa)break;else _0x174a77['push'](_0x174a77['shift']());}catch(_0x520aae){_0x174a77['push'](_0x174a77['shift']());}}}(a0_0x4efe,0x18a9c));function a0_0xeb56(_0x19f6f2,_0x2876b4){_0x19f6f2=_0x19f6f2-0xd2;const _0x4efef9=a0_0x4efe();let _0xeb56b4=_0x4efef9[_0x19f6f2];if(a0_0xeb56['qjoFTO']===undefined){var _0x5b5ee4=function(_0x566e5a){const _0x5a78b2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c0a4e='',_0xd5dd3a='';for(let _0x36c0d2=0x0,_0x2287e7,_0x3d111c,_0x2f7021=0x0;_0x3d111c=_0x566e5a['charAt'](_0x2f7021++);~_0x3d111c&&(_0x2287e7=_0x36c0d2%0x4?_0x2287e7*0x40+_0x3d111c:_0x3d111c,_0x36c0d2++%0x4)?_0x3c0a4e+=String['fromCharCode'](0xff&_0x2287e7>>(-0x2*_0x36c0d2&0x6)):0x0){_0x3d111c=_0x5a78b2['indexOf'](_0x3d111c);}for(let _0x3518e5=0x0,_0x25323f=_0x3c0a4e['length'];_0x3518e5<_0x25323f;_0x3518e5++){_0xd5dd3a+='%'+('00'+_0x3c0a4e['charCodeAt'](_0x3518e5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xd5dd3a);};a0_0xeb56['EPbsSS']=_0x5b5ee4,a0_0xeb56['gkiPRi']={},a0_0xeb56['qjoFTO']=!![];}const _0x3f9ddc=_0x4efef9[0x0],_0x1a4fa0=_0x19f6f2+_0x3f9ddc,_0x4a76e5=a0_0xeb56['gkiPRi'][_0x1a4fa0];return!_0x4a76e5?(_0xeb56b4=a0_0xeb56['EPbsSS'](_0xeb56b4),a0_0xeb56['gkiPRi'][_0x1a4fa0]=_0xeb56b4):_0xeb56b4=_0x4a76e5,_0xeb56b4;}function a0_0x4efe(){const _0x2c3d4b=['C2v0','BM8Ty2fJAgu','CMvTB3rLqwrKCMvZCW','mti3nJmYAez1wKz4','mtaYmJvLvM16tuq','ChvZAa','B3jPz2LUywXvCMW','ic0G','y29UBMvJDgLVBG','C3rHDhvZ','C3rYAw5N','nhvsDKXHtG','ugf0AcbWyxjHBwv0zxiGBxvZDcbIzsbHihn0CMLUzW','mZu1mZGWrwLcuMj0','BM93','ANnVBG','otKWnKv2vw10ua','w0zPBgvfEhbSB3jLCL0G','BM8Ty2fJAguSig5Vlxn0B3jLlcbTDxn0lxjLDMfSAwrHDgu','vg9Vig1HBNKGCMvXDwvZDhm','mtbuC3P1sKy','C3rHDhvZq29Kzq','mJG5mty0nNHNsK1ZzG','Bwv0Ag9K','nZuYnJG5whj4rfn3','mti1mdDhAhPHqNy','BgvUz3rO','nKPZEgnvqG'];a0_0x4efe=function(){return _0x2c3d4b;};return a0_0x4efe();}export function validatePath(_0x3c0a4e,_0xd5dd3a,_0x36c0d2){const _0x5d5836=a0_0xeb56,{path:_0x2287e7}=_0x3c0a4e['query'];if(_0x2287e7&&typeof _0x2287e7!==_0x5d5836(0xe2))return _0xd5dd3a['status'](0x190)[_0x5d5836(0xe7)]({'success':![],'error':_0x5d5836(0xe4)});_0x36c0d2();}export function createRateLimit(_0x3d111c=0x64,_0x2f7021=0xea60){const _0x3518e5=new Map();return(_0x25323f,_0x266f66,_0x5a6da5)=>{const _0x15e016=a0_0xeb56,_0x117cde=_0x25323f['ip']||_0x25323f[_0x15e016(0xe0)][_0x15e016(0xda)]||'unknown',_0x3c4111=Date[_0x15e016(0xe6)](),_0x388083=_0x3c4111-_0x2f7021;!_0x3518e5['has'](_0x117cde)&&_0x3518e5['set'](_0x117cde,[]);const _0x739b97=_0x3518e5['get'](_0x117cde),_0x5cd82a=_0x739b97['filter'](_0x29d403=>_0x29d403>_0x388083);_0x3518e5[_0x15e016(0xd8)](_0x117cde,_0x5cd82a);if(_0x5cd82a[_0x15e016(0xd6)]>=_0x3d111c)return _0x266f66[_0x15e016(0xe1)](0x1ad)['json']({'success':![],'error':_0x15e016(0xeb),'retryAfter':Math['ceil'](_0x2f7021/0x3e8)});_0x5cd82a[_0x15e016(0xdd)](_0x3c4111),_0x5a6da5();};}export function securityHeaders(_0x38469a,_0xbf6c0b,_0x2be24e){const _0x170a25=a0_0xeb56;_0xbf6c0b[_0x170a25(0xd8)]({'Cache-Control':_0x170a25(0xea),'Pragma':_0x170a25(0xd9),'Expires':'0'}),_0x2be24e();}export function requestLogger(_0x5ae1a1,_0x44c2e7,_0x288a2f){const _0x10e54d=a0_0xeb56,_0x548858=Date[_0x10e54d(0xe6)]();_0x44c2e7['on']('finish',()=>{const _0xa1eaa0=_0x10e54d,_0x4efdc6=Date['now']()-_0x548858;console['log'](_0xa1eaa0(0xe9)+_0x5ae1a1[_0xa1eaa0(0xd3)]+'\x20'+_0x5ae1a1[_0xa1eaa0(0xde)]+_0xa1eaa0(0xdf)+_0x44c2e7[_0xa1eaa0(0xed)]+'\x20('+_0x4efdc6+'ms)');}),_0x288a2f();}
1
+ (function(_0x220083,_0x3c1e25){const _0x1c0d65=a0_0x59e2,_0x3bb2be=_0x220083();while(!![]){try{const _0x21f481=parseInt(_0x1c0d65(0x7d))/0x1+parseInt(_0x1c0d65(0x78))/0x2*(parseInt(_0x1c0d65(0x6c))/0x3)+-parseInt(_0x1c0d65(0x72))/0x4+-parseInt(_0x1c0d65(0x7b))/0x5*(parseInt(_0x1c0d65(0x7f))/0x6)+parseInt(_0x1c0d65(0x6d))/0x7*(parseInt(_0x1c0d65(0x76))/0x8)+-parseInt(_0x1c0d65(0x6f))/0x9*(parseInt(_0x1c0d65(0x74))/0xa)+parseInt(_0x1c0d65(0x7a))/0xb;if(_0x21f481===_0x3c1e25)break;else _0x3bb2be['push'](_0x3bb2be['shift']());}catch(_0xbff849){_0x3bb2be['push'](_0x3bb2be['shift']());}}}(a0_0x32d7,0x4ec28));function a0_0x59e2(_0x3940e7,_0xf7e1e0){_0x3940e7=_0x3940e7-0x69;const _0x32d76d=a0_0x32d7();let _0x59e281=_0x32d76d[_0x3940e7];if(a0_0x59e2['QBAZwt']===undefined){var _0x2bf0d4=function(_0x5ac545){const _0x3280da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x529828='',_0x2d8116='';for(let _0x5c5752=0x0,_0x247f4a,_0xf54638,_0x1587d7=0x0;_0xf54638=_0x5ac545['charAt'](_0x1587d7++);~_0xf54638&&(_0x247f4a=_0x5c5752%0x4?_0x247f4a*0x40+_0xf54638:_0xf54638,_0x5c5752++%0x4)?_0x529828+=String['fromCharCode'](0xff&_0x247f4a>>(-0x2*_0x5c5752&0x6)):0x0){_0xf54638=_0x3280da['indexOf'](_0xf54638);}for(let _0x3f9d67=0x0,_0x29ba49=_0x529828['length'];_0x3f9d67<_0x29ba49;_0x3f9d67++){_0x2d8116+='%'+('00'+_0x529828['charCodeAt'](_0x3f9d67)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d8116);};a0_0x59e2['bpDUAy']=_0x2bf0d4,a0_0x59e2['YgdsBN']={},a0_0x59e2['QBAZwt']=!![];}const _0x23f589=_0x32d76d[0x0],_0x4331fa=_0x3940e7+_0x23f589,_0x2b311f=a0_0x59e2['YgdsBN'][_0x4331fa];return!_0x2b311f?(_0x59e281=a0_0x59e2['bpDUAy'](_0x59e281),a0_0x59e2['YgdsBN'][_0x4331fa]=_0x59e281):_0x59e281=_0x2b311f,_0x59e281;}function a0_0x32d7(){const _0x409c95=['ic0G','ndy4nJu3zLL4zgfp','odq4mdK5AKXSC0vu','y2vPBa','ndKZmdm3mvr5Bxj2uW','Bwv0Ag9K','ANnVBG','nZiWndrXv21Nzg0','zMLSDgvY','mtbIv3fqrei','CMvTB3rLqwrKCMvZCW','oe9kAw5JEq','Dw5RBM93BG','mLjQsNHwuq','C3rYAw5N','ndq3mJi3mevtuw1luW','nxrQzK9hza','C2v0','mZu0mta1wLLWuKnJ','BM93','odK3nZi2r2XVy3Dc','BM8Ty2fJAgu','C3rHDhvZ','w0zPBgvfEhbSB3jLCL0G'];a0_0x32d7=function(){return _0x409c95;};return a0_0x32d7();}export function validatePath(_0x529828,_0x2d8116,_0x5c5752){const _0x19b95f=a0_0x59e2,{path:_0x247f4a}=_0x529828['query'];if(_0x247f4a&&typeof _0x247f4a!==_0x19b95f(0x79))return _0x2d8116['status'](0x190)[_0x19b95f(0x71)]({'success':![],'error':'Path\x20parameter\x20must\x20be\x20a\x20string'});_0x5c5752();}export function createRateLimit(_0xf54638=0x64,_0x1587d7=0xea60){const _0x3f9d67=new Map();return(_0x29ba49,_0x2bb157,_0x104f45)=>{const _0x4c618d=a0_0x59e2,_0x418dd2=_0x29ba49['ip']||_0x29ba49['connection'][_0x4c618d(0x75)]||_0x4c618d(0x77),_0x4e64ae=Date[_0x4c618d(0x7e)](),_0x57b0c3=_0x4e64ae-_0x1587d7;!_0x3f9d67['has'](_0x418dd2)&&_0x3f9d67[_0x4c618d(0x7c)](_0x418dd2,[]);const _0x17e249=_0x3f9d67['get'](_0x418dd2),_0x3085c3=_0x17e249[_0x4c618d(0x73)](_0x3e8850=>_0x3e8850>_0x57b0c3);_0x3f9d67['set'](_0x418dd2,_0x3085c3);if(_0x3085c3['length']>=_0xf54638)return _0x2bb157[_0x4c618d(0x69)](0x1ad)['json']({'success':![],'error':'Too\x20many\x20requests','retryAfter':Math[_0x4c618d(0x6e)](_0x1587d7/0x3e8)});_0x3085c3['push'](_0x4e64ae),_0x104f45();};}export function securityHeaders(_0x199f34,_0x8a2351,_0x3e0d5e){const _0x19e331=a0_0x59e2;_0x8a2351['set']({'Cache-Control':'no-cache,\x20no-store,\x20must-revalidate','Pragma':_0x19e331(0x80),'Expires':'0'}),_0x3e0d5e();}export function requestLogger(_0x2e47cb,_0x4dfc3e,_0xcf3420){const _0x1a6efe=Date['now']();_0x4dfc3e['on']('finish',()=>{const _0x42ff06=a0_0x59e2,_0x17d39a=Date['now']()-_0x1a6efe;console['log'](_0x42ff06(0x6a)+_0x2e47cb[_0x42ff06(0x70)]+'\x20'+_0x2e47cb['originalUrl']+_0x42ff06(0x6b)+_0x4dfc3e['statusCode']+'\x20('+_0x17d39a+'ms)');}),_0xcf3420();}
@@ -1 +1 @@
1
- (function(_0x2406ac,_0x59faf7){const _0x43a41f=a0_0x33dc,_0x3a9abb=_0x2406ac();while(!![]){try{const _0xd8e104=-parseInt(_0x43a41f(0x1ec))/0x1*(parseInt(_0x43a41f(0x1f6))/0x2)+parseInt(_0x43a41f(0x1f9))/0x3*(-parseInt(_0x43a41f(0x1f0))/0x4)+-parseInt(_0x43a41f(0x1f8))/0x5+parseInt(_0x43a41f(0x1dc))/0x6*(parseInt(_0x43a41f(0x1f2))/0x7)+-parseInt(_0x43a41f(0x1fb))/0x8*(parseInt(_0x43a41f(0x1e3))/0x9)+-parseInt(_0x43a41f(0x1e6))/0xa*(parseInt(_0x43a41f(0x1dd))/0xb)+-parseInt(_0x43a41f(0x1ef))/0xc*(-parseInt(_0x43a41f(0x1f1))/0xd);if(_0xd8e104===_0x59faf7)break;else _0x3a9abb['push'](_0x3a9abb['shift']());}catch(_0x257017){_0x3a9abb['push'](_0x3a9abb['shift']());}}}(a0_0x9212,0x31137));import a0_0x2aa6e2 from'express';import a0_0x471810 from'./controller.js';import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x1b8373={}){const _0x2140a6=a0_0x33dc,_0x506a84=a0_0x2aa6e2[_0x2140a6(0x1d9)](),_0x581785=new a0_0x471810(_0x1b8373);return _0x506a84[_0x2140a6(0x1eb)](requestLogger),_0x506a84[_0x2140a6(0x1eb)](securityHeaders),_0x506a84['use'](createRateLimit(0x64,0xea60)),_0x506a84[_0x2140a6(0x1f4)]('/health',(_0x56e381,_0x18c3e8)=>{const _0x5a46b1=_0x2140a6,_0x2cc8d6=_0x581785[_0x5a46b1(0x1f7)]();_0x18c3e8['json'](_0x2cc8d6);}),_0x506a84[_0x2140a6(0x1f4)]('/cwd',(_0x24a23b,_0xa4b7e9)=>{const _0x182163=_0x2140a6,_0x2ef178=_0x581785[_0x182163(0x1ee)]();_0xa4b7e9['json'](_0x2ef178);}),_0x506a84['get']('/browse',validatePath,async(_0x527e2e,_0x5e6571)=>{const _0xeea83=_0x2140a6;try{const _0x14b9bb=_0x527e2e['query'][_0xeea83(0x1e0)],_0x1a9b41={'showHidden':_0x527e2e['query']['showHidden']==='true'},_0x234d79=await _0x581785[_0xeea83(0x1ea)](_0x14b9bb,_0x1a9b41);if(_0x234d79[_0xeea83(0x1da)])_0x5e6571['json'](_0x234d79);else{const _0x3e043c=_0x234d79[_0xeea83(0x1e1)]['includes'](_0xeea83(0x1ed))?0x193:_0x234d79[_0xeea83(0x1e1)]['includes']('not\x20found')?0x194:0x190;_0x5e6571[_0xeea83(0x1e7)](_0x3e043c)['json'](_0x234d79);}}catch(_0x2864ac){_0x5e6571['status'](0x1f4)[_0xeea83(0x1f3)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x506a84[_0x2140a6(0x1f4)](_0x2140a6(0x1e4),validatePath,async(_0x50dc8c,_0x1184c4)=>{const _0x3c2513=_0x2140a6;try{const _0x2aa0d8=_0x50dc8c[_0x3c2513(0x1e9)]['path'],_0x5932bd=await _0x581785[_0x3c2513(0x1e5)](_0x2aa0d8);if(_0x5932bd[_0x3c2513(0x1da)])_0x1184c4[_0x3c2513(0x1f3)](_0x5932bd);else{const _0x31971b=_0x5932bd[_0x3c2513(0x1e1)][_0x3c2513(0x1df)]('not\x20found')?0x194:0x190;_0x1184c4[_0x3c2513(0x1e7)](_0x31971b)['json'](_0x5932bd);}}catch(_0x4822da){_0x1184c4[_0x3c2513(0x1e7)](0x1f4)[_0x3c2513(0x1f3)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x506a84[_0x2140a6(0x1e2)]('/mkdir',a0_0x2aa6e2[_0x2140a6(0x1f3)](),async(_0x50da69,_0x5c0f05)=>{const _0x4b8a60=_0x2140a6;try{const {path:_0x4e8f41,recursive:recursive=![]}=_0x50da69[_0x4b8a60(0x1de)];if(!_0x4e8f41)return _0x5c0f05['status'](0x190)[_0x4b8a60(0x1f3)]({'success':![],'error':_0x4b8a60(0x1f5)});const _0x41a3cf=await _0x581785[_0x4b8a60(0x1e8)](_0x4e8f41,{'recursive':recursive});if(_0x41a3cf[_0x4b8a60(0x1da)])_0x5c0f05[_0x4b8a60(0x1f3)](_0x41a3cf);else{const _0x4f2eb1=_0x41a3cf['code']===_0x4b8a60(0x1fa)?0x199:0x190;_0x5c0f05['status'](_0x4f2eb1)[_0x4b8a60(0x1f3)](_0x41a3cf);}}catch(_0x2b8fa1){_0x5c0f05['status'](0x1f4)[_0x4b8a60(0x1f3)]({'success':![],'error':_0x4b8a60(0x1db)});}}),_0x506a84;}function a0_0x33dc(_0x44c8bc,_0x288f88){_0x44c8bc=_0x44c8bc-0x1d9;const _0x9212a0=a0_0x9212();let _0x33dc07=_0x9212a0[_0x44c8bc];if(a0_0x33dc['BxDOxn']===undefined){var _0x303c6b=function(_0x55895b){const _0xffec20='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2aa6e2='',_0x471810='';for(let _0x1b8373=0x0,_0x506a84,_0x581785,_0x56e381=0x0;_0x581785=_0x55895b['charAt'](_0x56e381++);~_0x581785&&(_0x506a84=_0x1b8373%0x4?_0x506a84*0x40+_0x581785:_0x581785,_0x1b8373++%0x4)?_0x2aa6e2+=String['fromCharCode'](0xff&_0x506a84>>(-0x2*_0x1b8373&0x6)):0x0){_0x581785=_0xffec20['indexOf'](_0x581785);}for(let _0x18c3e8=0x0,_0x2cc8d6=_0x2aa6e2['length'];_0x18c3e8<_0x2cc8d6;_0x18c3e8++){_0x471810+='%'+('00'+_0x2aa6e2['charCodeAt'](_0x18c3e8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x471810);};a0_0x33dc['helvHz']=_0x303c6b,a0_0x33dc['eKnMUK']={},a0_0x33dc['BxDOxn']=!![];}const _0x384f07=_0x9212a0[0x0],_0x2929af=_0x44c8bc+_0x384f07,_0x20aa19=a0_0x33dc['eKnMUK'][_0x2929af];return!_0x20aa19?(_0x33dc07=a0_0x33dc['helvHz'](_0x33dc07),a0_0x33dc['eKnMUK'][_0x2929af]=_0x33dc07):_0x33dc07=_0x20aa19,_0x33dc07;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};function a0_0x9212(){const _0x237276=['z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','mZzYCxj4zgK','mJqYofbxsxHVsG','nte3mZeWm2XjrMnREa','mtG2mte2s2TLsK9H','ANnVBG','z2v0','rgLYzwn0B3j5ihbHDgGGAxmGCMvXDwLYzwq','nZGYmtrNvxfjCwu','AgvHBhrOq2HLy2S','odeWmZC1uhHtCMjj','mtG2ou9ZrwDHwG','ruvysvnu','mJaWoeHkyM1OBq','uM91DgvY','C3vJy2vZCW','sw50zxjUywWGC2vYDMvYigvYCM9Y','mtHMvMnIqKm','ndCWodeXBhrbvMjc','yM9KEq','Aw5JBhvKzxm','Cgf0Aa','zxjYB3i','Cg9ZDa','mte5ndnezNrTvgW','l2zPBguTAw5MBW','z2v0rMLSzuLUzM8','mtbRqwnOu2m','C3rHDhvZ','y3jLyxrLrgLYzwn0B3j5','CxvLCNK','yNjVD3nLrgLYzwn0B3j5','DxnL','nevhthjotW','CMvZDhjPy3rLza'];a0_0x9212=function(){return _0x237276;};return a0_0x9212();}export default createFileExplorerRouter;
1
+ (function(_0x1bb384,_0x30a2a6){const _0x3038e5=a0_0x287c,_0x597161=_0x1bb384();while(!![]){try{const _0x2c0200=-parseInt(_0x3038e5(0x110))/0x1*(-parseInt(_0x3038e5(0x118))/0x2)+-parseInt(_0x3038e5(0x119))/0x3*(parseInt(_0x3038e5(0x11a))/0x4)+parseInt(_0x3038e5(0x121))/0x5*(-parseInt(_0x3038e5(0x115))/0x6)+parseInt(_0x3038e5(0x11f))/0x7+parseInt(_0x3038e5(0x123))/0x8+-parseInt(_0x3038e5(0x124))/0x9*(parseInt(_0x3038e5(0x10a))/0xa)+parseInt(_0x3038e5(0x126))/0xb*(parseInt(_0x3038e5(0x11d))/0xc);if(_0x2c0200===_0x30a2a6)break;else _0x597161['push'](_0x597161['shift']());}catch(_0x579cf9){_0x597161['push'](_0x597161['shift']());}}}(a0_0x4149,0x3894b));function a0_0x4149(){const _0x54b6db=['DxnL','mtm0ntC2Eff4D3zM','mtC4odn4q1P3y3O','yNjVD3nLrgLYzwn0B3j5','mJa5qwHmwK1X','mtCWA1rbtK10','Aw5JBhvKzxm','rgLYzwn0B3j5ihbHDgGGAxmGCMvXDwLYzwq','ANnVBG','z2v0','CMvZDhjPy3rLza','mJq2mJG0DuPHyxLY','CxvLCNK','uM91DgvY','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','C3vJy2vZCW','mtC3ntm0nLPPELzWyW','BM90igzVDw5K','C2HVD0HPzgrLBG','mLvnvuzxyW','nKXzDgfWtq','mtKYmtaWq2rsz2jc','Cgf0Aa','AgvHBhrOq2HLy2S','mti0mJeYCM9PBg9t','C3rHDhvZ','mtm4mZKWmgXSuwPlEa','l2HLywX0Aa','nunAtw5uBa'];a0_0x4149=function(){return _0x54b6db;};return a0_0x4149();}import a0_0x5ce4b5 from'express';import a0_0x4b6480 from'./controller.js';function a0_0x287c(_0x11ccb9,_0x562026){_0x11ccb9=_0x11ccb9-0x10a;const _0x4149eb=a0_0x4149();let _0x287cfa=_0x4149eb[_0x11ccb9];if(a0_0x287c['bdkAyP']===undefined){var _0x39285e=function(_0x390166){const _0x130287='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ce4b5='',_0x4b6480='';for(let _0x237654=0x0,_0x3f38f7,_0x4309f4,_0x59fafb=0x0;_0x4309f4=_0x390166['charAt'](_0x59fafb++);~_0x4309f4&&(_0x3f38f7=_0x237654%0x4?_0x3f38f7*0x40+_0x4309f4:_0x4309f4,_0x237654++%0x4)?_0x5ce4b5+=String['fromCharCode'](0xff&_0x3f38f7>>(-0x2*_0x237654&0x6)):0x0){_0x4309f4=_0x130287['indexOf'](_0x4309f4);}for(let _0x98897f=0x0,_0x27df63=_0x5ce4b5['length'];_0x98897f<_0x27df63;_0x98897f++){_0x4b6480+='%'+('00'+_0x5ce4b5['charCodeAt'](_0x98897f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b6480);};a0_0x287c['RJOwqL']=_0x39285e,a0_0x287c['XFpYfa']={},a0_0x287c['bdkAyP']=!![];}const _0x17fd65=_0x4149eb[0x0],_0x37211f=_0x11ccb9+_0x17fd65,_0x5535d3=a0_0x287c['XFpYfa'][_0x37211f];return!_0x5535d3?(_0x287cfa=a0_0x287c['RJOwqL'](_0x287cfa),a0_0x287c['XFpYfa'][_0x37211f]=_0x287cfa):_0x287cfa=_0x5535d3,_0x287cfa;}import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x237654={}){const _0x3b152b=a0_0x287c,_0x3f38f7=a0_0x5ce4b5[_0x3b152b(0x112)](),_0x4309f4=new a0_0x4b6480(_0x237654);return _0x3f38f7['use'](requestLogger),_0x3f38f7[_0x3b152b(0x122)](securityHeaders),_0x3f38f7['use'](createRateLimit(0x64,0xea60)),_0x3f38f7[_0x3b152b(0x10e)](_0x3b152b(0x120),(_0x59fafb,_0x98897f)=>{const _0x87d958=_0x3b152b,_0x27df63=_0x4309f4[_0x87d958(0x11c)]();_0x98897f[_0x87d958(0x10d)](_0x27df63);}),_0x3f38f7[_0x3b152b(0x10e)]('/cwd',(_0x402e90,_0x5adb7e)=>{const _0x20bd8c=_0x3b152b,_0x107a82=_0x4309f4[_0x20bd8c(0x113)]();_0x5adb7e[_0x20bd8c(0x10d)](_0x107a82);}),_0x3f38f7['get']('/browse',validatePath,async(_0x530b35,_0x11092a)=>{const _0x574a30=_0x3b152b;try{const _0x536d7b=_0x530b35[_0x574a30(0x111)]['path'],_0x535cac={'showHidden':_0x530b35['query'][_0x574a30(0x117)]==='true'},_0x1d17b4=await _0x4309f4[_0x574a30(0x125)](_0x536d7b,_0x535cac);if(_0x1d17b4['success'])_0x11092a[_0x574a30(0x10d)](_0x1d17b4);else{const _0x4b6787=_0x1d17b4['error'][_0x574a30(0x10b)](_0x574a30(0x10f))?0x193:_0x1d17b4['error']['includes'](_0x574a30(0x116))?0x194:0x190;_0x11092a[_0x574a30(0x11e)](_0x4b6787)[_0x574a30(0x10d)](_0x1d17b4);}}catch(_0x4b23d2){_0x11092a[_0x574a30(0x11e)](0x1f4)[_0x574a30(0x10d)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3f38f7['get']('/file-info',validatePath,async(_0x2c7f5c,_0x3a61d0)=>{const _0x50eeb0=_0x3b152b;try{const _0x4723a6=_0x2c7f5c[_0x50eeb0(0x111)][_0x50eeb0(0x11b)],_0x2ac7e4=await _0x4309f4['getFileInfo'](_0x4723a6);if(_0x2ac7e4[_0x50eeb0(0x114)])_0x3a61d0['json'](_0x2ac7e4);else{const _0x1f4714=_0x2ac7e4['error']['includes']('not\x20found')?0x194:0x190;_0x3a61d0[_0x50eeb0(0x11e)](_0x1f4714)[_0x50eeb0(0x10d)](_0x2ac7e4);}}catch(_0x13921d){_0x3a61d0['status'](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3f38f7['post']('/mkdir',a0_0x5ce4b5['json'](),async(_0x55ecb7,_0x44e57e)=>{const _0x1ebcd0=_0x3b152b;try{const {path:_0x1b3d53,recursive:recursive=![]}=_0x55ecb7['body'];if(!_0x1b3d53)return _0x44e57e['status'](0x190)['json']({'success':![],'error':_0x1ebcd0(0x10c)});const _0x3f10b3=await _0x4309f4['createDirectory'](_0x1b3d53,{'recursive':recursive});if(_0x3f10b3[_0x1ebcd0(0x114)])_0x44e57e[_0x1ebcd0(0x10d)](_0x3f10b3);else{const _0x22fb6c=_0x3f10b3['code']==='EEXIST'?0x199:0x190;_0x44e57e['status'](_0x22fb6c)['json'](_0x3f10b3);}}catch(_0x3ad647){_0x44e57e['status'](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3f38f7;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};export default createFileExplorerRouter;
@@ -1 +1 @@
1
- (function(_0x358f3c,_0x43a3fd){const _0x1946d5=a0_0x5812,_0x4321b8=_0x358f3c();while(!![]){try{const _0xcc7d3c=parseInt(_0x1946d5(0xf1))/0x1*(parseInt(_0x1946d5(0xf0))/0x2)+-parseInt(_0x1946d5(0xe6))/0x3+parseInt(_0x1946d5(0x118))/0x4+parseInt(_0x1946d5(0x122))/0x5*(parseInt(_0x1946d5(0x120))/0x6)+-parseInt(_0x1946d5(0x102))/0x7*(parseInt(_0x1946d5(0x11b))/0x8)+parseInt(_0x1946d5(0xfd))/0x9+-parseInt(_0x1946d5(0xe9))/0xa;if(_0xcc7d3c===_0x43a3fd)break;else _0x4321b8['push'](_0x4321b8['shift']());}catch(_0x2a3cf9){_0x4321b8['push'](_0x4321b8['shift']());}}}(a0_0x2735,0x7eb28));import{AGENT_MODES,AGENT_STATUS,AGENT_ACTIVITY_STATUS,TASK_STATUS,SCHEDULER_CONFIG}from'../utilities/constants.js';function hasPendingTasks(_0xa407a){const _0x3069bb=a0_0x5812;if(!_0xa407a[_0x3069bb(0x107)]||!_0xa407a['taskList']['tasks']||!Array[_0x3069bb(0x104)](_0xa407a[_0x3069bb(0x107)][_0x3069bb(0x10c)]))return![];return _0xa407a['taskList']['tasks']['some'](_0x1f8bca=>_0x1f8bca['status']===TASK_STATUS['PENDING']||_0x1f8bca[_0x3069bb(0xf3)]===TASK_STATUS['IN_PROGRESS']);}function a0_0x2735(){const _0x119f84=['DgfZA3m','seftx0Lovevsx0fhru5ux01fu1nbr0vt','Cgf1C2vKvw50AwW','CMvHC29U','BM93','qwDLBNqGCgf1C2vKigLUzgvMAw5PDgvSEq','qwDLBNqGzgvSyxLLzcb1BNrPBca','lcbjoG','BwvZC2fNzvf1zxvLCW','yxv0B25VBw91C1DVCMTdB21WBgv0zq','q0HbvcbTB2rLic0GAgfZia','BwfW','ndaWnZy2oeH2BfD0vq','CMvJzwL2zwq','uefvu0ve','ndCYre9cCfDw','lcbvoG','quDftLrFuefvu0ve','DxnLCK1LC3nHz2vZ','ihvZzxiGBwvZC2fNzsHZksb0BYbWCM9JzxnZ','mtG2nLLqB0HUBq','seftx1bftKrjtKDFvefts1m','mte1nZb1A3nnuha','qvvut05ptu9vu19nt0rfx0fdveLwrq','qunusvzf','qwDLBNqGCgf1C2vKihvUDgLSia','y291BNrZ','qwDLBNqGBM90igzVDw5K','mJC5mZeYB0nWCMfH','seftx1vtrvjFtuvtu0fhrvm','Aw50zxjbz2vUDfrYywnRAw5N','mtK3odGXnJb4BM9VqMe','BgfZDfr5Cgu','zgvSyxLfBMruAw1L','zNjVBq','AgfZvxnLCK1LC3nHz2vZ','Bw9Kzq','zMLSDgvY','nK1qCLf3sa','otiZmJLkwMvyz0S','qwDLBNqGAgfZia','C3rHDhvZ','qwDLBNqGAgfZihbLBMrPBMCVAw4TChjVz3jLC3mGDgfZA3m','DMfSDwvZ','ihf1zxvLzcbTzxnZywDLCYaOvdO','q0Hbvf9nt0rfx05px01fu1nbr0vt','quDftLrFsu5bq1rjvKvFu1rbvfvt','q0HbvcbTB2rLic0GBM8GBwvZC2fNzxmGDg8GChjVy2vZCW','Dg90ywW','seftx1fvrvvfrf9nrvntquDfuW','BgvUz3rO','ntCXnJG2m3DrrNfisG','AgfZvg9VBfjLC3vSDhm','Aw5JB21PBMDnzxnZywDLCW','quDftLrFtK9ux0zpvu5e','Dg9VBfjLC3vSDhm','nta4ouXsuvbbCa','C3rVCfjLCxvLC3rLza','AxnbCNjHEq','quDftLrFrevmqvLfra','zgv0ywLSCW','DgfZA0XPC3q','Aw50zxjbz2vUDe1LC3nHz2vZ','quDftLqGBw9KzsbHz2vUDcbOyxmGBM8GCgvUzgLUzYb0yxnRCYbVCIbTzxnZywDLCW','BgfZDfjLy2vPDMvK','AgfZtwvZC2fNzxm'];a0_0x2735=function(){return _0x119f84;};return a0_0x2735();}function getMessageQueueStatus(_0x4ec374){const _0x22c408=a0_0x5812,_0x10b1b2=_0x4ec374[_0x22c408(0x114)]||{},_0xa1b604={'toolResults':Array[_0x22c408(0x104)](_0x10b1b2['toolResults'])?_0x10b1b2['toolResults']['length']:0x0,'interAgentMessages':Array['isArray'](_0x10b1b2[_0x22c408(0x108)])?_0x10b1b2[_0x22c408(0x108)]['length']:0x0,'userMessages':Array[_0x22c408(0x104)](_0x10b1b2['userMessages'])?_0x10b1b2[_0x22c408(0x11e)]['length']:0x0};return _0xa1b604[_0x22c408(0xfa)]=_0xa1b604[_0x22c408(0x101)]+_0xa1b604['interAgentMessages']+_0xa1b604[_0x22c408(0x11e)],{'hasMessages':_0xa1b604['total']>0x0,'hasUserMessages':_0xa1b604[_0x22c408(0x11e)]>0x0,'hasInterAgentMessages':_0xa1b604[_0x22c408(0x108)]>0x0,'hasToolResults':_0xa1b604[_0x22c408(0x101)]>0x0,'counts':_0xa1b604};}function hasUnprocessedIncomingMessages(_0x31e7e3){const _0xd9aa66=a0_0x5812;if(_0x31e7e3[_0xd9aa66(0xff)]&&Array['isArray'](_0x31e7e3[_0xd9aa66(0xff)])&&_0x31e7e3['incomingMessages'][_0xd9aa66(0xfc)]>0x0)return!![];if(_0x31e7e3['interAgentTracking']&&_0x31e7e3[_0xd9aa66(0xe8)]instanceof Map&&_0x31e7e3[_0xd9aa66(0xe8)]['size']>0x0){const _0x5a91b4=Date[_0xd9aa66(0x110)]();for(const _0x49b1c4 of _0x31e7e3[_0xd9aa66(0xe8)]['values']()){if(_0x49b1c4[_0xd9aa66(0x10a)]&&_0x5a91b4-_0x49b1c4[_0xd9aa66(0x10a)]<SCHEDULER_CONFIG['RECENT_MESSAGE_THRESHOLD_MS']&&_0x49b1c4[_0xd9aa66(0xea)]===_0xd9aa66(0x119))return!![];}}return![];}function isAgentDelayed(_0x2b7240){const _0x1c5c58=a0_0x5812;if(!_0x2b7240['delayEndTime'])return![];return new Date()<new Date(_0x2b7240[_0x1c5c58(0xeb)]);}function a0_0x5812(_0xcf6773,_0xd618ca){_0xcf6773=_0xcf6773-0xe4;const _0x273514=a0_0x2735();let _0x581293=_0x273514[_0xcf6773];if(a0_0x5812['PNZldd']===undefined){var _0x30d46d=function(_0x9a48cc){const _0x1b0fb4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa407a='',_0x1f8bca='';for(let _0x4ec374=0x0,_0x10b1b2,_0xa1b604,_0x31e7e3=0x0;_0xa1b604=_0x9a48cc['charAt'](_0x31e7e3++);~_0xa1b604&&(_0x10b1b2=_0x4ec374%0x4?_0x10b1b2*0x40+_0xa1b604:_0xa1b604,_0x4ec374++%0x4)?_0xa407a+=String['fromCharCode'](0xff&_0x10b1b2>>(-0x2*_0x4ec374&0x6)):0x0){_0xa1b604=_0x1b0fb4['indexOf'](_0xa1b604);}for(let _0x5a91b4=0x0,_0x49b1c4=_0xa407a['length'];_0x5a91b4<_0x49b1c4;_0x5a91b4++){_0x1f8bca+='%'+('00'+_0xa407a['charCodeAt'](_0x5a91b4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f8bca);};a0_0x5812['rVCHnw']=_0x30d46d,a0_0x5812['KPAtqK']={},a0_0x5812['PNZldd']=!![];}const _0x15544f=_0x273514[0x0],_0x4e59a2=_0xcf6773+_0x15544f,_0x40e685=a0_0x5812['KPAtqK'][_0x4e59a2];return!_0x40e685?(_0x581293=a0_0x5812['rVCHnw'](_0x581293),a0_0x5812['KPAtqK'][_0x4e59a2]=_0x581293):_0x581293=_0x40e685,_0x581293;}function isAgentPaused(_0xae858a){const _0x5da492=a0_0x5812;if(_0xae858a[_0x5da492(0xf3)]===AGENT_STATUS[_0x5da492(0x11a)]){if(_0xae858a['pausedUntil'])return new Date()<new Date(_0xae858a[_0x5da492(0x10e)]);return!![];}if(_0xae858a[_0x5da492(0x10e)]&&new Date()<new Date(_0xae858a['pausedUntil']))return!![];return![];}function hasAutonomousWorkComplete(_0x4a38d0){const _0x137489=a0_0x5812;return _0x4a38d0[_0x137489(0x115)]===!![];}export function shouldAgentBeActive(_0x1e29f5){const _0x19c8f1=a0_0x5812;if(!_0x1e29f5)return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x19c8f1(0x100)],'details':'Agent\x20object\x20is\x20null\x20or\x20undefined'};if(_0x1e29f5['status']!==AGENT_STATUS['ACTIVE'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x19c8f1(0xf8)],'details':'Agent\x20status\x20is\x20'+_0x1e29f5['status']+',\x20expected\x20'+AGENT_STATUS[_0x19c8f1(0x124)]};if(isAgentDelayed(_0x1e29f5))return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x19c8f1(0x105)],'details':_0x19c8f1(0x112)+_0x1e29f5[_0x19c8f1(0xeb)]};if(isAgentPaused(_0x1e29f5))return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x19c8f1(0x11d)],'details':_0x1e29f5['pausedUntil']?_0x19c8f1(0x125)+_0x1e29f5[_0x19c8f1(0x10e)]:_0x19c8f1(0x111)};if(_0x1e29f5[_0x19c8f1(0x103)])return{'active':![],'reason':AGENT_ACTIVITY_STATUS['STOP_REQUESTED'],'details':'Agent\x20stop\x20has\x20been\x20requested'};const _0x4a568b=getMessageQueueStatus(_0x1e29f5);if(_0x1e29f5[_0x19c8f1(0xee)]===AGENT_MODES['AGENT']){const _0x5ea781=hasPendingTasks(_0x1e29f5),unprocessedMessages=hasUnprocessedIncomingMessages(_0x1e29f5);if(_0x5ea781)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x19c8f1(0x121)],'details':_0x19c8f1(0xf4)};if(_0x4a568b[_0x19c8f1(0x10b)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x19c8f1(0xfb)],'details':_0x19c8f1(0xf2)+_0x4a568b['counts'][_0x19c8f1(0xfa)]+_0x19c8f1(0xf6)+_0x4a568b[_0x19c8f1(0xe4)]['toolResults']+_0x19c8f1(0x113)+_0x4a568b['counts'][_0x19c8f1(0x108)]+_0x19c8f1(0x11c)+_0x4a568b[_0x19c8f1(0xe4)]['userMessages']+')'};if(unprocessedMessages)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x19c8f1(0x123)],'details':'Agent\x20has\x20unprocessed\x20incoming\x20messages'};return{'active':![],'reason':AGENT_ACTIVITY_STATUS['NO_PENDING_WORK'],'details':_0x19c8f1(0x109)};}if(_0x1e29f5[_0x19c8f1(0xee)]===AGENT_MODES['CHAT']){if(_0x4a568b[_0x19c8f1(0xed)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x19c8f1(0xe7)],'details':_0x19c8f1(0xf2)+_0x4a568b['counts'][_0x19c8f1(0x11e)]+_0x19c8f1(0x11f)};if(_0x4a568b['hasInterAgentMessages'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x19c8f1(0x10d)],'details':_0x19c8f1(0xf2)+_0x4a568b[_0x19c8f1(0xe4)]['interAgentMessages']+'\x20inter-agent\x20message(s)\x20to\x20process'};return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x19c8f1(0xf7)],'details':_0x4a568b[_0x19c8f1(0xfe)]?_0x19c8f1(0x116)+_0x4a568b['counts']['toolResults']+'\x20tool\x20results\x20but\x20no\x20new\x20messages':_0x19c8f1(0xf9)};}return{'active':![],'reason':AGENT_ACTIVITY_STATUS['UNKNOWN_MODE'],'details':'Unknown\x20agent\x20mode:\x20'+_0x1e29f5['mode']};}export function getActiveAgents(_0x20f8dd){const _0xa439c6=a0_0x5812,_0x5bb8ce=_0x20f8dd instanceof Map?Array[_0xa439c6(0xec)](_0x20f8dd[_0xa439c6(0xf5)]()):_0x20f8dd;return _0x5bb8ce[_0xa439c6(0x117)](_0x19b0d2=>{const _0x40a97f=shouldAgentBeActive(_0x19b0d2);return{'agent':_0x19b0d2,'agentId':_0x19b0d2['id'],'sessionId':_0x19b0d2['sessionId'],..._0x40a97f};})[_0xa439c6(0xef)](_0x43c738=>_0x43c738['active']);}export function getAllAgentActivityStatus(_0x2ef964){const _0x402390=a0_0x5812,_0x2185bb=_0x2ef964 instanceof Map?Array[_0x402390(0xec)](_0x2ef964['values']()):_0x2ef964;return _0x2185bb[_0x402390(0x117)](_0x1ff30c=>{const _0x4b43c2=_0x402390,_0x183efa=shouldAgentBeActive(_0x1ff30c),_0x474b45=getMessageQueueStatus(_0x1ff30c);return{'agentId':_0x1ff30c['id'],'agentName':_0x1ff30c['name'],'mode':_0x1ff30c[_0x4b43c2(0xee)],'status':_0x1ff30c[_0x4b43c2(0xf3)],'active':_0x183efa['active'],'reason':_0x183efa[_0x4b43c2(0x10f)],'details':_0x183efa[_0x4b43c2(0x106)],'queueCounts':_0x474b45[_0x4b43c2(0xe4)],'hasPendingTasks':hasPendingTasks(_0x1ff30c),'isDelayed':isAgentDelayed(_0x1ff30c),'isPaused':isAgentPaused(_0x1ff30c),'stopRequested':_0x1ff30c['stopRequested']||![],'delayEndTime':_0x1ff30c[_0x4b43c2(0xeb)]||null,'pausedUntil':_0x1ff30c[_0x4b43c2(0x10e)]||null};});}export function shouldSkipIteration(_0x1e0399){const _0x12bac5=a0_0x5812;if(!_0x1e0399)return{'skip':!![],'reason':_0x12bac5(0xe5)};if(isAgentDelayed(_0x1e0399))return{'skip':!![],'reason':'Agent\x20delayed\x20until\x20'+_0x1e0399['delayEndTime']};if(_0x1e0399['pausedUntil']&&new Date()<new Date(_0x1e0399[_0x12bac5(0x10e)]))return{'skip':!![],'reason':'Agent\x20paused\x20until\x20'+_0x1e0399[_0x12bac5(0x10e)]};return{'skip':![],'reason':null};}export{hasPendingTasks,getMessageQueueStatus,hasUnprocessedIncomingMessages,isAgentDelayed,isAgentPaused,hasAutonomousWorkComplete};export default{'shouldAgentBeActive':shouldAgentBeActive,'getActiveAgents':getActiveAgents,'getAllAgentActivityStatus':getAllAgentActivityStatus,'shouldSkipIteration':shouldSkipIteration,'hasPendingTasks':hasPendingTasks,'getMessageQueueStatus':getMessageQueueStatus,'hasUnprocessedIncomingMessages':hasUnprocessedIncomingMessages,'isAgentDelayed':isAgentDelayed,'isAgentPaused':isAgentPaused,'hasAutonomousWorkComplete':hasAutonomousWorkComplete};
1
+ (function(_0x1b902c,_0x1d549c){const _0x3a4a53=a0_0x322a,_0x1acb3e=_0x1b902c();while(!![]){try{const _0x29a461=-parseInt(_0x3a4a53(0x1fc))/0x1+parseInt(_0x3a4a53(0x205))/0x2+parseInt(_0x3a4a53(0x20e))/0x3+-parseInt(_0x3a4a53(0x216))/0x4+-parseInt(_0x3a4a53(0x204))/0x5+-parseInt(_0x3a4a53(0x20f))/0x6+parseInt(_0x3a4a53(0x22a))/0x7;if(_0x29a461===_0x1d549c)break;else _0x1acb3e['push'](_0x1acb3e['shift']());}catch(_0x5b2561){_0x1acb3e['push'](_0x1acb3e['shift']());}}}(a0_0x5552,0x5af7f));import{AGENT_MODES,AGENT_MODE_STATES,AGENT_STATUS,AGENT_ACTIVITY_STATUS,TASK_STATUS,SCHEDULER_CONFIG}from'../utilities/constants.js';function a0_0x322a(_0x30610f,_0x15490d){_0x30610f=_0x30610f-0x1ef;const _0x5552b1=a0_0x5552();let _0x322aa3=_0x5552b1[_0x30610f];if(a0_0x322a['ViXRXG']===undefined){var _0x41acd2=function(_0x4969c0){const _0x3145a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48d77a='',_0x550991='';for(let _0x38e4ba=0x0,_0x3cff5f,_0xf84a7e,_0x4d5d04=0x0;_0xf84a7e=_0x4969c0['charAt'](_0x4d5d04++);~_0xf84a7e&&(_0x3cff5f=_0x38e4ba%0x4?_0x3cff5f*0x40+_0xf84a7e:_0xf84a7e,_0x38e4ba++%0x4)?_0x48d77a+=String['fromCharCode'](0xff&_0x3cff5f>>(-0x2*_0x38e4ba&0x6)):0x0){_0xf84a7e=_0x3145a8['indexOf'](_0xf84a7e);}for(let _0x1402eb=0x0,_0x44e665=_0x48d77a['length'];_0x1402eb<_0x44e665;_0x1402eb++){_0x550991+='%'+('00'+_0x48d77a['charCodeAt'](_0x1402eb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x550991);};a0_0x322a['qvxHaM']=_0x41acd2,a0_0x322a['xlaGkt']={},a0_0x322a['ViXRXG']=!![];}const _0x28e77f=_0x5552b1[0x0],_0x597743=_0x30610f+_0x28e77f,_0x5996b8=a0_0x322a['xlaGkt'][_0x597743];return!_0x5996b8?(_0x322aa3=a0_0x322a['qvxHaM'](_0x322aa3),a0_0x322a['xlaGkt'][_0x597743]=_0x322aa3):_0x322aa3=_0x5996b8,_0x322aa3;}function a0_0x5552(){const _0xa2a217=['BgfZDfjLy2vPDMvK','DxnLCK1LC3nHz2vZ','CMvJzwL2zwq','qwDLBNqGAxmGy3vYCMvUDgX5igv4zwn1DgLUzYaOBw9Kzvn0yxrLpuvyrunvveLorYK','Bw9Kzq','AgfZtwvZC2fNzxm','vu5ltK9xtL9nt0rf','nZC2ntC0swTLwKPZ','mJC3ntCYnMPcv0nmvq','zgvSyxLfBMruAw1L','igLUDgvYlwfNzw50ig1LC3nHz2uOCYKGDg8GChjVy2vZCW','DgfZA3m','seftx0Lovevsx0fhru5ux01fu1nbr0vt','Bw9Kzvn0yxrL','su5Fufjpr1jfu1m','mta3mJm0ohvNuvbxDa','q0Hbva','ihf1zxvLzcbTzxnZywDLCYaOvdO','quDftLq','yxv0B25VBw91C1DVCMTdB21WBgv0zq','qwDLBNqGzgvSyxLLzcb1BNrPBca','quDftLrFuefvu0ve','seftx1vtrvjFtuvtu0fhrvm','Aw50zxjbz2vUDe1LC3nHz2vZ','BgvUz3rO','qvvut05ptu9vu19nt0rfx0fdveLwrq','qwDLBNqGAgfZia','DgfZA0XPC3q','rvHfq1vusu5h','lcbvoG','zMLSDgvY','C2L6zq','u1rpuf9srvfvrvnuruq','Aw5JB21PBMDnzxnZywDLCW','BwfW','mte5mdmZnZr3qKz1vgy','qwDLBNqGAgfZihvUChjVy2vZC2vKigLUy29TAw5Nig1LC3nHz2vZ','uevoreLorW','Dg9VBfjLC3vSDhm','quDftLrFtK9ux0zpvu5e','CMvHC29U','uefvu0ve','BgfZDfr5Cgu','y291BNrZ','lcbLEhbLy3rLzca','C3rHDhvZ','Cgf1C2vKvw50AwW','qwDLBNqGC3rHDhvZigLZia','AgfZsw50zxjbz2vUDe1LC3nHz2vZ','Dg90ywW','AxnbCNjHEq','mJyYmdy3t21ztg1i','q0HbvcbTB2rLic0GBM8GBwvZC2fNzxmGDg8GChjVy2vZCW','qwDLBNqGCgf1C2vKigLUzgvMAw5PDgvSEq','ywn0AxzL','Aw50zxjbz2vUDfrYywnRAw5N','q0HbvcbTB2rLic0GAgfZia','quDftLrFsu5bq1rjvKvFu1rbvfvt','qwDLBNqGCgf1C2vKihvUDgLSia','mZe1nZeXmg9hBejqDG','nZq5mJHeBLnQDw8','C29Tzq'];a0_0x5552=function(){return _0xa2a217;};return a0_0x5552();}function hasPendingTasks(_0x48d77a){const _0x521a5c=a0_0x322a;if(!_0x48d77a['taskList']||!_0x48d77a[_0x521a5c(0x222)][_0x521a5c(0x212)]||!Array['isArray'](_0x48d77a[_0x521a5c(0x222)][_0x521a5c(0x212)]))return![];return _0x48d77a['taskList'][_0x521a5c(0x212)][_0x521a5c(0x206)](_0x550991=>_0x550991['status']===TASK_STATUS[_0x521a5c(0x22c)]||_0x550991[_0x521a5c(0x1f6)]===TASK_STATUS[_0x521a5c(0x215)]);}function getMessageQueueStatus(_0x38e4ba){const _0x3d6327=a0_0x322a,_0x3cff5f=_0x38e4ba['messageQueues']||{},_0xf84a7e={'toolResults':Array[_0x3d6327(0x1fb)](_0x3cff5f['toolResults'])?_0x3cff5f['toolResults']['length']:0x0,'interAgentMessages':Array[_0x3d6327(0x1fb)](_0x3cff5f['interAgentMessages'])?_0x3cff5f[_0x3d6327(0x21e)][_0x3d6327(0x21f)]:0x0,'userMessages':Array[_0x3d6327(0x1fb)](_0x3cff5f['userMessages'])?_0x3cff5f['userMessages']['length']:0x0};return _0xf84a7e['total']=_0xf84a7e[_0x3d6327(0x1ef)]+_0xf84a7e[_0x3d6327(0x21e)]+_0xf84a7e['userMessages'],{'hasMessages':_0xf84a7e[_0x3d6327(0x1fa)]>0x0,'hasUserMessages':_0xf84a7e[_0x3d6327(0x208)]>0x0,'hasInterAgentMessages':_0xf84a7e[_0x3d6327(0x21e)]>0x0,'hasToolResults':_0xf84a7e[_0x3d6327(0x1ef)]>0x0,'counts':_0xf84a7e};}function hasUnprocessedIncomingMessages(_0x4d5d04){const _0x193051=a0_0x322a;if(_0x4d5d04['incomingMessages']&&Array['isArray'](_0x4d5d04['incomingMessages'])&&_0x4d5d04[_0x193051(0x228)]['length']>0x0)return!![];if(_0x4d5d04[_0x193051(0x200)]&&_0x4d5d04[_0x193051(0x200)]instanceof Map&&_0x4d5d04[_0x193051(0x200)][_0x193051(0x226)]>0x0){const _0x1402eb=Date['now']();for(const _0x44e665 of _0x4d5d04[_0x193051(0x200)]['values']()){if(_0x44e665['lastReceived']&&_0x1402eb-_0x44e665[_0x193051(0x207)]<SCHEDULER_CONFIG['RECENT_MESSAGE_THRESHOLD_MS']&&_0x44e665[_0x193051(0x1f3)]===_0x193051(0x209))return!![];}}return![];}function isAgentDelayed(_0x7f5afa){const _0x5be228=a0_0x322a;if(!_0x7f5afa['delayEndTime'])return![];return new Date()<new Date(_0x7f5afa[_0x5be228(0x210)]);}function isAgentPaused(_0x25fd9d){const _0x11642a=a0_0x322a;if(_0x25fd9d[_0x11642a(0x1f6)]===AGENT_STATUS[_0x11642a(0x1f2)]){if(_0x25fd9d['pausedUntil'])return new Date()<new Date(_0x25fd9d['pausedUntil']);return!![];}if(_0x25fd9d[_0x11642a(0x1f7)]&&new Date()<new Date(_0x25fd9d['pausedUntil']))return!![];return![];}function hasAutonomousWorkComplete(_0x1c6822){const _0x482fd9=a0_0x322a;return _0x1c6822[_0x482fd9(0x21a)]===!![];}export function shouldAgentBeActive(_0x2bd0bc){const _0x10f637=a0_0x322a;if(!_0x2bd0bc)return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x1f0)],'details':'Agent\x20object\x20is\x20null\x20or\x20undefined'};if(_0x2bd0bc[_0x10f637(0x1f6)]!==AGENT_STATUS['ACTIVE'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x202)],'details':_0x10f637(0x1f8)+_0x2bd0bc[_0x10f637(0x1f6)]+_0x10f637(0x1f5)+AGENT_STATUS['ACTIVE']};if(isAgentDelayed(_0x2bd0bc))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_DELAYED'],'details':_0x10f637(0x21b)+_0x2bd0bc['delayEndTime']};if(isAgentPaused(_0x2bd0bc))return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x21c)],'details':_0x2bd0bc['pausedUntil']?_0x10f637(0x203)+_0x2bd0bc[_0x10f637(0x1f7)]:_0x10f637(0x1fe)};if(_0x2bd0bc['stopRequested'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x227)],'details':'Agent\x20stop\x20has\x20been\x20requested'};if(_0x2bd0bc[_0x10f637(0x214)]===AGENT_MODE_STATES[_0x10f637(0x223)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x220)],'details':_0x10f637(0x20a)};const _0x32bb88=getMessageQueueStatus(_0x2bd0bc);if(_0x2bd0bc[_0x10f637(0x20b)]===AGENT_MODES[_0x10f637(0x219)]){const _0x544724=hasPendingTasks(_0x2bd0bc),unprocessedMessages=hasUnprocessedIncomingMessages(_0x2bd0bc);if(_0x544724)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_PENDING_TASKS'],'details':'Agent\x20has\x20pending/in-progress\x20tasks'};if(_0x32bb88[_0x10f637(0x20c)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_QUEUED_MESSAGES'],'details':'Agent\x20has\x20'+_0x32bb88['counts']['total']+_0x10f637(0x218)+_0x32bb88['counts'][_0x10f637(0x1ef)]+',\x20I:'+_0x32bb88[_0x10f637(0x1f4)]['interAgentMessages']+_0x10f637(0x224)+_0x32bb88['counts']['userMessages']+')'};if(unprocessedMessages)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['AUTONOMOUS_MODE_ACTIVE'],'details':_0x10f637(0x22b)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS['NO_PENDING_WORK'],'details':'AGENT\x20mode\x20agent\x20has\x20no\x20pending\x20tasks\x20or\x20messages'};}if(_0x2bd0bc['mode']===AGENT_MODES[_0x10f637(0x217)]){if(_0x32bb88['hasUserMessages'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x21d)],'details':_0x10f637(0x221)+_0x32bb88['counts'][_0x10f637(0x208)]+'\x20user\x20message(s)\x20to\x20process'};if(_0x32bb88[_0x10f637(0x1f9)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x213)],'details':_0x10f637(0x221)+_0x32bb88[_0x10f637(0x1f4)][_0x10f637(0x21e)]+_0x10f637(0x211)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS['CHAT_MODE_NO_MESSAGES'],'details':_0x32bb88['hasToolResults']?_0x10f637(0x201)+_0x32bb88[_0x10f637(0x1f4)][_0x10f637(0x1ef)]+'\x20tool\x20results\x20but\x20no\x20new\x20messages':_0x10f637(0x1fd)};}return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x20d)],'details':'Unknown\x20agent\x20mode:\x20'+_0x2bd0bc['mode']};}export function getActiveAgents(_0x3aa1da){const _0x39b759=a0_0x322a,_0x115b43=_0x3aa1da instanceof Map?Array['from'](_0x3aa1da['values']()):_0x3aa1da;return _0x115b43[_0x39b759(0x229)](_0x32af11=>{const _0x5d37f3=shouldAgentBeActive(_0x32af11);return{'agent':_0x32af11,'agentId':_0x32af11['id'],'sessionId':_0x32af11['sessionId'],..._0x5d37f3};})[_0x39b759(0x225)](_0x3e31ed=>_0x3e31ed[_0x39b759(0x1ff)]);}export function getAllAgentActivityStatus(_0xd2497b){const _0x245ca0=_0xd2497b instanceof Map?Array['from'](_0xd2497b['values']()):_0xd2497b;return _0x245ca0['map'](_0x49eb30=>{const _0x512e61=a0_0x322a,_0x5912a4=shouldAgentBeActive(_0x49eb30),_0xf0f2ac=getMessageQueueStatus(_0x49eb30);return{'agentId':_0x49eb30['id'],'agentName':_0x49eb30['name'],'mode':_0x49eb30[_0x512e61(0x20b)],'status':_0x49eb30[_0x512e61(0x1f6)],'active':_0x5912a4['active'],'reason':_0x5912a4[_0x512e61(0x1f1)],'details':_0x5912a4['details'],'queueCounts':_0xf0f2ac['counts'],'hasPendingTasks':hasPendingTasks(_0x49eb30),'isDelayed':isAgentDelayed(_0x49eb30),'isPaused':isAgentPaused(_0x49eb30),'stopRequested':_0x49eb30['stopRequested']||![],'delayEndTime':_0x49eb30[_0x512e61(0x210)]||null,'pausedUntil':_0x49eb30['pausedUntil']||null};});}export function shouldSkipIteration(_0x40a5cf){const _0x144436=a0_0x322a;if(!_0x40a5cf)return{'skip':!![],'reason':'Agent\x20not\x20found'};if(isAgentDelayed(_0x40a5cf))return{'skip':!![],'reason':'Agent\x20delayed\x20until\x20'+_0x40a5cf[_0x144436(0x210)]};if(_0x40a5cf[_0x144436(0x1f7)]&&new Date()<new Date(_0x40a5cf[_0x144436(0x1f7)]))return{'skip':!![],'reason':'Agent\x20paused\x20until\x20'+_0x40a5cf['pausedUntil']};return{'skip':![],'reason':null};}export{hasPendingTasks,getMessageQueueStatus,hasUnprocessedIncomingMessages,isAgentDelayed,isAgentPaused,hasAutonomousWorkComplete};export default{'shouldAgentBeActive':shouldAgentBeActive,'getActiveAgents':getActiveAgents,'getAllAgentActivityStatus':getAllAgentActivityStatus,'shouldSkipIteration':shouldSkipIteration,'hasPendingTasks':hasPendingTasks,'getMessageQueueStatus':getMessageQueueStatus,'hasUnprocessedIncomingMessages':hasUnprocessedIncomingMessages,'isAgentDelayed':isAgentDelayed,'isAgentPaused':isAgentPaused,'hasAutonomousWorkComplete':hasAutonomousWorkComplete};