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

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-DFmFvOoy.css +1 -0
  121. package/web-ui/build/static/index-DOk0l6Kf.js +348 -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_0x23d407=a0_0xb63e;(function(_0x40751f,_0xa7081c){const _0x3c0e9a=a0_0xb63e,_0x5a87b5=_0x40751f();while(!![]){try{const _0x22a433=-parseInt(_0x3c0e9a(0x245))/0x1*(parseInt(_0x3c0e9a(0x21f))/0x2)+parseInt(_0x3c0e9a(0x295))/0x3+parseInt(_0x3c0e9a(0x2a8))/0x4+-parseInt(_0x3c0e9a(0x2ca))/0x5*(parseInt(_0x3c0e9a(0x210))/0x6)+parseInt(_0x3c0e9a(0x22d))/0x7+-parseInt(_0x3c0e9a(0x2c5))/0x8*(-parseInt(_0x3c0e9a(0x2db))/0x9)+parseInt(_0x3c0e9a(0x1fb))/0xa;if(_0x22a433===_0xa7081c)break;else _0x5a87b5['push'](_0x5a87b5['shift']());}catch(_0x3abcd5){_0x5a87b5['push'](_0x5a87b5['shift']());}}}(a0_0x55ef,0x667db));import a0_0x544336 from'express';import{createServer}from'http';function a0_0x55ef(){const _0x144154=['qwDLBNqGBw9KzsbZD2L0y2HLzcb0BYa','yxbPs2v5twfUywDLCG','z3b0','y2XVC2u','Ag9ZDa','ywDLBNrjza','ChjVAMvJDa','Bg9JywXOB3n0','Aw5JBhvKzxm','mZeZmJHxAfrcBxq','w1DbuK5Dia','l2fWAs9MAwXLCY91CgXVywq','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','AxrLCMf0Aw9Uq291BNq','D3nnyw5Hz2vY','DxnL','CgLUzW','l3rTCc9SB3HPys1PBwfNzxm','zgvLChnLzwS','y2f0zwDVCNK','u0vorf9nrvntquDf','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','zMLSzu5HBwu','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','B3jJAgvZDhjHDg9Y','CM9Szq','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','C3rHCNrZv2L0Aa','y2fWywjPBgL0AwvZ','l2fWAs9MAwXLCW','ywn0AxzL','w0vsuK9sxsa','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','v2vIihnLCNzLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq','l2fWAs9Hz2vUDhmVoMfNzw50swqVy2XLyxi','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','Aw1WB3j0qxjJAgL2zwrbz2vUDa','zgLYBMfTzq','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','y3vYCMvUDe1VzgvS','l2fWAs9ZzxnZAw9UCW','teLtvf9br0vovfm','qxr0ywnOBwvUDcbKzwXLDgvK','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','C3rHDgvnyw5Hz2vY','BgLZDgvU','yxbW','BwLJCM9ZB2z0','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhmVDxbSB2fK','D29YA2LUz0rPCMvJDg9YEq','sw1Hz2uGBM90igzVDw5K','vxnLCI1bz2vUDa','z2v0s2v5C0zVCLjLCxvLC3q','rK9sqKLerevo','AxnsDw5UAw5N','zgf0yq','Dg9ju09tDhjPBMC','qwnJzxnZlunVBNrYB2WTqwXSB3CTt3jPz2LU','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','A2v5CW','z2v0qwDLBNq','v0vc','DMfSDwvZ','y29UBMvJDgLVBNm','Dg9Nz2XLqwn0AxzL','zxHPDa','ywDLBNrjzcbPCYbYzxf1AxjLzcbPBIbYzxf1zxn0igjVzhK','Bw9KzwXZu2vYDMLJzq','Bw9KzwW','Cgf5Bg9Hza','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','D3nZ','z2v0','DxbSB2fKrMLSzq','BxrPBwu','z2v0qwDLBNrnzxrHzgf0yq','CxvLCNK','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','C3vIC3rYAw5N','qxr0ywnOBwvUDcbUB3qGzM91BMq','l2fWAs9SBg0Vy2HHDa','BgLZDgvUAw5N','yxbPs2v5','yMfZzw5HBwu','ywDLBNqT','ntuZmdC3uwfWDgLX','z2v0qxr0ywnOBwvUDhm','BM93','ms4WlJa','BM90igzVDw5K','z2v0u3rHDhvZ','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','ChjVAMvJDerPCG','Bw9Kzq','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','C2vZC2LVBKLe','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','C3rHDhvZ','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','C2vUza','qwDLBNqGBM90igzVDw5K','rMfPBgvKihrVihbYB3H5ignOyxqGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5K','BwfW','ntKZntmYr1PWwefy','qxr0ywnOBwvUDcb1CgrHDgvK','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50CW','Cg9YDa','C3vIC3rY','q1jfqvrfx0fhru5u','Aw1Hz2vZ','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','yw50AhjVCgLJlxnVBM5LDa','AgvHzgvY','l2fWAs9RzxLZlZPZzxnZAw9Uswq','Bg94AwfbCgLlzxK','q09otKvdveLorW','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','zgv0ywLSCW','sw52ywXPzcbMAwXLBMfTzq','C2v0u2vZC2LVBKTLExm','C2vZC2LVBNm','DgfZA1n0yxj0vgLTzq','ANnVBG','Bg9N','B3bLBMfP','ChvZAa','r0vu','D3m6lY8','ywDLBNq','AgvHzgvYCW','l2fWAs90B29SCW','C2H1DgrVD24','ndi0z3jlseDy','l2fWAs9LEhbSB3jLCI9TA2rPCG','l2fWAs9LEhbSB3jLCG','DxrMoa','CMvHzgrPCG','mZi1nJaXmg9PCuDXEq','yNjVywrJyxn0','tK9ux0zpvu5e','zMLSzq','yxbWBgLJyxrPB24VANnVBG','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','C3rHDhvZvgv4Da','DgvYBwLUyxrL','z2v0qwXSqwDLBNrZ','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50','Dhj1zq','zNjVBq','z2v0u2vZC2LVBKTLExm','qwDLBNqGBw9Kzsb1CgrHDgvKoIa','zgLYzwn0B3j5qwnJzxnZ','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','mJaXnNbUAe5kyq','su5urvjoquXFu0vsvKvsx0vsuK9s','C3vJy2vZCW','ue9tva','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','sw52ywXPza','Cg9UzW','ywDLBNrqB29S','v2vIu29JA2v0igPVAw5LzcbZzxnZAw9U','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','rMfPBgvKihrVihn0yxj0ieHuvfaGC2vYDMvY','AM9PBG','CgH5C2LJywXSEurLBgv0zwq','CMvHzezPBgu','C3rHDa','y29UBMvJDgvK','C2vYDMvY','z2v0x2fNzw50x3n0yxr1CW','CMvSyxrPDMu','qKfex1jfuvvfu1q','yM9KEq','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','D2fYBG','Dg9tDhjPBMC','zxjYB3i','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','AM9PBL9ZzxnZAw9U','y3DK','zgvSzxrL','CgfYC2u','rMfPBgvKihrVihnLBMqGAw1Hz2uGzMLSzq','uMvMzxjLBMnLihjLBw92zwq','y2f0y2G','rMfPBgvKihrVigDLDcb0B29SCYbPBMzVCM1HDgLVBG','C2v0DxbnAwrKBgv3yxjL','y2XLyxi','y3vYCMvUDfrHC2S','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','Cg9ZDa','Bg9Nz2vY','DgHLBG','AxnmB2fKzwq','rMfPBgvKihrVihrVz2DSzsbHDhrHy2HTzw50','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','zMLSzuv4CgXVCMvYtw9KDwXL','BgvUz3rO','CgfYyw1Z','nJaZmJe5mgfMrhfJAW','C2vZC2LVBKLK','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','DhLWzq','ywn0Aw9U','rMfPBgvKihrVignVBM5Ly3qGDg8GquKGC2vYDMLJzq','zMLSzuLK','Bw9KzwXZ','AxngAwXL','CgHP','Dg9mB3DLCKnHC2u','rMfPBgvKihrVihn0B3aGyxv0B25VBw91CYbLEgvJDxrPB24','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','BwvZC2fNzq','CMvX','y29UzMLN','CMvZB2X2zq','l2fWAs9Hz2vUDhmVoMfNzw50swqVywn0AxzPDhK','C2L6zq','z2v0qxr0ywnOBwvUDfbYzxzPzxC','ChjVy2vZC1jLCxvLC3q','nKDsD2v2Eq','v2vIihnLCNzLCIbZAhv0zg93BIbJB21WBgv0zq','Aw5MBW','DgfYz2v0qwDLBNrjzcbPCYbYzxf1AxjLza','Dgv4Da','y29Kzq','C3rYAw5NAwz5','rMfPBgvKihrVigrLBgv0zsbHDhrHy2HTzw50','rMfPBgvKihrVihnLCNzLigLTywDL','D3m6lY9SB2nHBgHVC3q6','yNjVywrJyxn0vg9tzxnZAw9U','Bwv0Ag9K','C3rHy2S','BgfZDefJDgL2Axr5','Cgf0y2G','mZzABgngrhG','DMvUzg9Ys2v5CW','t1busu9ouW','ywDLBNrFBw9Kzv9JAgfUz2vK','zgLYzwn0B3j5','Ahr0CdOVlW','qMvHCMvYia','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','CMfUzg9T','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','zMLSDgvY','lI4VlI4VD2vIlxvPl2j1AwXK','DxjS','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','ndGWotuZmMjMChjoEq','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','Aw1WB3j0rNjVBufNzw50','DMvUzg9YqxbPs2v5','C2v0','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','BM9YBwfSAxPL','BMfTzq','CMvXDwvZDeLK','AxneAxjLy3rVCNK','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','Bw9Kzvn0yxrL','z2v0qwn0AxzLu2vZC2LVBNm','C2vUzezPBgu'];a0_0x55ef=function(){return _0x144154;};return a0_0x55ef();}import{WebSocketServer}from'ws';import a0_0x1da70c from'path';import{promises as a0_0x3c70e8}from'fs';import{fileURLToPath}from'url';function a0_0xb63e(_0x16612a,_0x42a608){_0x16612a=_0x16612a-0x1f2;const _0x55efbc=a0_0x55ef();let _0xb63e6a=_0x55efbc[_0x16612a];if(a0_0xb63e['sEKIbL']===undefined){var _0xddb3a4=function(_0x348f52){const _0x2ead56='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x544336='',_0x1da70c='';for(let _0x3c70e8=0x0,_0x31dafa,_0x116efa,_0x331215=0x0;_0x116efa=_0x348f52['charAt'](_0x331215++);~_0x116efa&&(_0x31dafa=_0x3c70e8%0x4?_0x31dafa*0x40+_0x116efa:_0x116efa,_0x3c70e8++%0x4)?_0x544336+=String['fromCharCode'](0xff&_0x31dafa>>(-0x2*_0x3c70e8&0x6)):0x0){_0x116efa=_0x2ead56['indexOf'](_0x116efa);}for(let _0x477745=0x0,_0x33fedb=_0x544336['length'];_0x477745<_0x33fedb;_0x477745++){_0x1da70c+='%'+('00'+_0x544336['charCodeAt'](_0x477745)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1da70c);};a0_0xb63e['MrKWmz']=_0xddb3a4,a0_0xb63e['xdmIiD']={},a0_0xb63e['sEKIbL']=!![];}const _0x56424e=_0x55efbc[0x0],_0x4b40c4=_0x16612a+_0x56424e,_0x257505=a0_0xb63e['xdmIiD'][_0x4b40c4];return!_0x257505?(_0xb63e6a=a0_0xb63e['MrKWmz'](_0xb63e6a),a0_0xb63e['xdmIiD'][_0x4b40c4]=_0xb63e6a):_0xb63e6a=_0x257505,_0xb63e6a;}import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS,HTTP_STATUS,AGENT_MODES}from'../utilities/constants.js';import{initFileExplorerModule}from'../modules/fileExplorer/index.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x1da70c[a0_0x23d407(0x262)](__filename);class WebServer{constructor(_0x31dafa,_0x116efa,_0x331215={}){const _0x1b8ffc=a0_0x23d407;this['orchestrator']=_0x31dafa,this[_0x1b8ffc(0x1f3)]=_0x116efa,this['config']=_0x331215,this[_0x1b8ffc(0x2ab)]=_0x331215[_0x1b8ffc(0x2ab)]||0x1f90,this['host']=_0x331215[_0x1b8ffc(0x240)]||_0x1b8ffc(0x243),this['app']=a0_0x544336(),this[_0x1b8ffc(0x2ec)]=createServer(this[_0x1b8ffc(0x26c)]),this['wss']=new WebSocketServer({'server':this[_0x1b8ffc(0x2ec)],'verifyClient':_0x477745=>{const _0x588169=_0x1b8ffc;return this[_0x588169(0x1f3)]?.['info']('WebSocket\x20connection\x20attempt',{'origin':_0x477745['origin'],'host':_0x477745[_0x588169(0x209)][_0x588169(0x2c2)][_0x588169(0x240)],'userAgent':_0x477745[_0x588169(0x209)]['headers']['user-agent'],'url':_0x477745['req']['url']}),!![];}}),this['connections']=new Map(),this['sessions']=new Map(),this[_0x1b8ffc(0x23d)]=null,this[_0x1b8ffc(0x275)]=![];}async['initialize'](){const _0x3f66c4=a0_0x23d407;try{this[_0x3f66c4(0x2fe)](),this['setupRoutes'](),this['setupWebSocket'](),await this['startServer'](),this[_0x3f66c4(0x1f3)]['info']('Web\x20server\x20initialized',{'port':this['port'],'host':this[_0x3f66c4(0x240)],'url':'http://'+this['host']+':'+this[_0x3f66c4(0x2ab)]});}catch(_0x33fedb){this[_0x3f66c4(0x1f3)]['error'](_0x3f66c4(0x25e),{'error':_0x33fedb[_0x3f66c4(0x208)],'stack':_0x33fedb['stack']});throw _0x33fedb;}}['setupMiddleware'](){const _0xc68c87=a0_0x23d407;this[_0xc68c87(0x26c)]['use']((_0x5190fa,_0xaed47c,_0x1799df)=>{const _0x1e1704=_0xc68c87;_0xaed47c['header'](_0x1e1704(0x278),'*'),_0xaed47c[_0x1e1704(0x2b1)]('Access-Control-Allow-Methods','GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0xaed47c['header'](_0x1e1704(0x228),'Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x5190fa[_0x1e1704(0x21b)]===_0x1e1704(0x221)?_0xaed47c['sendStatus'](HTTP_STATUS['OK']):_0x1799df();}),this['app']['use'](a0_0x544336['json']({'limit':'10mb'})),this[_0xc68c87(0x26c)]['use'](a0_0x544336['urlencoded']({'extended':!![],'limit':'10mb'})),this[_0xc68c87(0x1f8)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this[_0xc68c87(0x26c)]['use']('/api/file-explorer',this[_0xc68c87(0x1f8)]['router']);const _0x1da17a=a0_0x1da70c[_0xc68c87(0x2e7)](__dirname,_0xc68c87(0x22a));this['app'][_0xc68c87(0x24c)](a0_0x544336['static'](_0x1da17a)),this[_0xc68c87(0x26c)][_0xc68c87(0x24c)]((_0x598fcb,_0x58420c,_0x4a7785)=>{const _0x426de6=_0xc68c87;this[_0x426de6(0x1f3)]['debug'](_0x598fcb[_0x426de6(0x21b)]+'\x20'+_0x598fcb['path'],{'ip':_0x598fcb['ip'],'userAgent':_0x598fcb[_0x426de6(0x287)](_0x426de6(0x272))}),_0x4a7785();});}['setupRoutes'](){const _0x5013a9=a0_0x23d407;this['app']['get']('/api/health',async(_0x2f9549,_0x44556f)=>{const _0x3b6647=a0_0xb63e;try{const _0x3a449c=a0_0x1da70c['join'](__dirname,'../../package.json'),_0x1e6d99=JSON[_0x3b6647(0x2f9)](await a0_0x3c70e8['readFile'](_0x3a449c,_0x3b6647(0x2c8)));_0x44556f[_0x3b6647(0x2bb)]({'status':'healthy','version':_0x1e6d99['version']||_0x3b6647(0x298),'timestamp':new Date()[_0x3b6647(0x277)]()});}catch(_0x5cfcb0){_0x44556f['json']({'status':'healthy','version':_0x3b6647(0x298),'timestamp':new Date()[_0x3b6647(0x277)]()});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x1f2)](_0x5013a9(0x266),async(_0x54164a,_0x1547b0)=>{const _0x2677d1=_0x5013a9;try{const _0x2c0bab='web-'+Date['now']()+'-'+Math[_0x2677d1(0x227)]()[_0x2677d1(0x2f3)](0x24)[_0x2677d1(0x2ac)](0x2,0x9),_0x18f5f7=_0x54164a['body'][_0x2677d1(0x29c)]||process['cwd'](),_0x1a5143={'id':_0x2c0bab,'projectDir':_0x18f5f7,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this['sessions'][_0x2677d1(0x231)](_0x2c0bab,_0x1a5143),_0x1547b0['json']({'success':!![],'session':_0x1a5143});}catch(_0x453aec){_0x1547b0['status'](HTTP_STATUS[_0x2677d1(0x2dc)])[_0x2677d1(0x2bb)]({'success':![],'error':_0x453aec['message']});}}),this['app'][_0x5013a9(0x1f2)]('/api/orchestrator',async(_0x196d95,_0x521c72)=>{const _0x44b394=_0x5013a9;try{const _0x4299f8={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x196d95[_0x44b394(0x2f0)][_0x44b394(0x1fc)],'action':_0x196d95['body']['action'],'payload':_0x196d95['body']['payload'],'projectDir':_0x196d95[_0x44b394(0x2f0)][_0x44b394(0x29c)]||process['cwd']()},_0x314112=await this['orchestrator']['processRequest'](_0x4299f8);this[_0x44b394(0x21a)](_0x4299f8['sessionId'],{'type':'orchestrator_response','action':_0x4299f8['action'],'response':_0x314112}),_0x521c72[_0x44b394(0x2bb)](_0x314112);}catch(_0x3ce488){this['logger'][_0x44b394(0x2f4)]('Orchestrator\x20API\x20error',{'error':_0x3ce488[_0x44b394(0x208)],'body':_0x196d95['body']}),_0x521c72[_0x44b394(0x2a1)](HTTP_STATUS[_0x44b394(0x2dc)])[_0x44b394(0x2bb)]({'success':![],'error':_0x3ce488[_0x44b394(0x208)]});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x287)](_0x5013a9(0x25a),async(_0x16a92a,_0xd6c8a5)=>{const _0x2bd8bd=_0x5013a9;try{const {path:_0x4bb006,projectDir:_0x33cb32}=_0x16a92a['query'],_0x55e7f5=a0_0x1da70c['resolve'](_0x33cb32||process['cwd'](),_0x4bb006||'.'),_0x15b643=await a0_0x3c70e8[_0x2bd8bd(0x2ea)](_0x55e7f5);if(_0x15b643[_0x2bd8bd(0x236)]()){const _0x29f799=await a0_0x3c70e8[_0x2bd8bd(0x2c9)](_0x55e7f5,{'withFileTypes':!![]}),_0x706911=_0x29f799['map'](_0x9d5b22=>({'name':_0x9d5b22['name'],'type':_0x9d5b22[_0x2bd8bd(0x236)]()?_0x2bd8bd(0x223):_0x2bd8bd(0x2cd),'path':a0_0x1da70c[_0x2bd8bd(0x2e7)](_0x4bb006||'.',_0x9d5b22[_0x2bd8bd(0x234)])}));_0xd6c8a5[_0x2bd8bd(0x2bb)]({'success':!![],'files':_0x706911});}else{const _0x179d26=await a0_0x3c70e8[_0x2bd8bd(0x2e9)](_0x55e7f5,_0x2bd8bd(0x2c8));_0xd6c8a5['json']({'success':!![],'content':_0x179d26,'type':_0x2bd8bd(0x2cd)});}}catch(_0x3585ff){_0xd6c8a5['status'](HTTP_STATUS[_0x2bd8bd(0x2cc)])[_0x2bd8bd(0x2bb)]({'success':![],'error':_0x3585ff[_0x2bd8bd(0x208)]});}}),this[_0x5013a9(0x26c)]['post'](_0x5013a9(0x247),async(_0x8c71bc,_0xb354a9)=>{const _0x50be63=_0x5013a9;try{const {fileName:_0x2dd917,content:_0x1ce123,projectDir:_0x44be3e}=_0x8c71bc['body'],_0x1578ed=_0x44be3e||process['cwd'](),_0xf33292=a0_0x1da70c[_0x50be63(0x20b)](_0x1578ed,_0x2dd917);await a0_0x3c70e8['mkdir'](_0x1578ed,{'recursive':!![]}),await a0_0x3c70e8['writeFile'](_0xf33292,_0x1ce123,'utf8'),_0xb354a9['json']({'success':!![],'message':_0x50be63(0x2a0),'path':_0xf33292});}catch(_0x3f07a7){_0xb354a9[_0x50be63(0x2a1)](HTTP_STATUS[_0x50be63(0x2dc)])[_0x50be63(0x2bb)]({'success':![],'error':_0x3f07a7[_0x50be63(0x208)]});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x287)](_0x5013a9(0x2c7),async(_0x23c888,_0x49ec50)=>{const _0x4d018f=_0x5013a9;try{const {path:_0x4c6868,showHidden:showHidden=![]}=_0x23c888['query'],_0x25dd7=_0x4c6868||process['cwd'](),_0xf0ac29=a0_0x1da70c['resolve'](_0x25dd7),_0x180e86=a0_0x1da70c[_0x4d018f(0x233)](_0xf0ac29),_0xc19be4=await a0_0x3c70e8['stat'](_0x180e86);if(!_0xc19be4[_0x4d018f(0x236)]())return _0x49ec50['status'](HTTP_STATUS['BAD_REQUEST'])[_0x4d018f(0x2bb)]({'success':![],'error':_0x4d018f(0x2e5)});const _0x29180f=await a0_0x3c70e8[_0x4d018f(0x2c9)](_0x180e86,{'withFileTypes':!![]}),_0x2d5321=await Promise['all'](_0x29180f[_0x4d018f(0x229)](_0x4df508=>showHidden===_0x4d018f(0x2d5)||!_0x4df508[_0x4d018f(0x234)][_0x4d018f(0x258)]('.'))['map'](async _0xbf0f8b=>{const _0x5279c9=_0x4d018f,_0x3b424a=a0_0x1da70c['join'](_0x180e86,_0xbf0f8b['name']),_0x4e17c8=await a0_0x3c70e8['stat'](_0x3b424a)['catch'](()=>null);return{'name':_0xbf0f8b[_0x5279c9(0x234)],'type':_0xbf0f8b[_0x5279c9(0x236)]()?'directory':'file','path':_0x3b424a,'relativePath':a0_0x1da70c['relative'](process[_0x5279c9(0x2f7)](),_0x3b424a),'size':_0x4e17c8?.['size']||0x0,'modified':_0x4e17c8?.[_0x5279c9(0x289)]||null,'isHidden':_0xbf0f8b[_0x5279c9(0x234)][_0x5279c9(0x258)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x2d5321['sort']((_0x370f10,_0x5123e4)=>{const _0x2a797b=_0x4d018f;if(_0x370f10[_0x2a797b(0x1fe)]!==_0x5123e4[_0x2a797b(0x1fe)])return _0x370f10[_0x2a797b(0x1fe)]===_0x2a797b(0x223)?-0x1:0x1;return _0x370f10['name']['localeCompare'](_0x5123e4['name']);});const _0x5c6aa9=a0_0x1da70c[_0x4d018f(0x262)](_0x180e86),_0x318a9b=_0x5c6aa9!==_0x180e86;_0x49ec50['json']({'success':!![],'currentPath':_0x180e86,'currentRelativePath':a0_0x1da70c['relative'](process[_0x4d018f(0x2f7)](),_0x180e86),'parentPath':_0x318a9b?_0x5c6aa9:null,'items':_0x2d5321,'totalItems':_0x2d5321['length'],'directories':_0x2d5321[_0x4d018f(0x229)](_0x1909cf=>_0x1909cf['type']==='directory')['length'],'files':_0x2d5321['filter'](_0x5a7137=>_0x5a7137[_0x4d018f(0x1fe)]===_0x4d018f(0x2cd))[_0x4d018f(0x1f9)]});}catch(_0x59386d){_0x49ec50['status'](HTTP_STATUS[_0x4d018f(0x2dc)])[_0x4d018f(0x2bb)]({'success':![],'error':_0x59386d[_0x4d018f(0x208)],'code':_0x59386d['code']});}}),this['app'][_0x5013a9(0x1f2)](_0x5013a9(0x2c6),async(_0x538211,_0x55cd5d)=>{const _0x1487fd=_0x5013a9;try{const {path:_0x4d22f4,name:_0x31cef3}=_0x538211[_0x1487fd(0x2f0)],_0x356bc2=a0_0x1da70c[_0x1487fd(0x20b)](_0x4d22f4,_0x31cef3);await a0_0x3c70e8['mkdir'](_0x356bc2,{'recursive':![]}),_0x55cd5d['json']({'success':!![],'path':_0x356bc2,'relativePath':a0_0x1da70c[_0x1487fd(0x2ee)](process[_0x1487fd(0x2f7)](),_0x356bc2)});}catch(_0x11ed09){_0x55cd5d['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x1487fd(0x2bb)]({'success':![],'error':_0x11ed09[_0x1487fd(0x208)],'code':_0x11ed09[_0x1487fd(0x215)]});}}),this['app']['get']('/api/explorer/info',async(_0x4e1f98,_0x850ae1)=>{const _0x36b6b3=_0x5013a9;try{const {path:_0x461512}=_0x4e1f98['query'],_0x6aa348=a0_0x1da70c[_0x36b6b3(0x20b)](_0x461512),_0x997381=await a0_0x3c70e8['stat'](_0x6aa348);_0x850ae1['json']({'success':!![],'path':_0x6aa348,'relativePath':a0_0x1da70c[_0x36b6b3(0x2ee)](process[_0x36b6b3(0x2f7)](),_0x6aa348),'isDirectory':_0x997381['isDirectory'](),'isFile':_0x997381[_0x36b6b3(0x203)](),'size':_0x997381[_0x36b6b3(0x20d)],'created':_0x997381['birthtime'],'modified':_0x997381[_0x36b6b3(0x289)],'accessed':_0x997381['atime']});}catch(_0x53eb87){_0x850ae1['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x36b6b3(0x2bb)]({'success':![],'error':_0x53eb87[_0x36b6b3(0x208)],'code':_0x53eb87[_0x36b6b3(0x215)]});}}),this['app'][_0x5013a9(0x1f2)](_0x5013a9(0x290),async(_0x5d1479,_0x4732ca)=>{const _0x5064bd=_0x5013a9;try{const {sessionId:_0x2601c7,model:_0x283033,platformProvided:_0x53e943}=_0x5d1479[_0x5064bd(0x2f0)];if(!_0x2601c7)return _0x4732ca['status'](0x190)[_0x5064bd(0x2bb)]({'error':'Session\x20ID\x20is\x20required'});let _0x1e2917=null,_0x434697=null;if(this[_0x5064bd(0x23d)]){const _0x56d891=this['apiKeyManager'][_0x5064bd(0x273)](_0x2601c7,{'platformProvided':_0x53e943||![],'vendor':this['_getVendorFromModel'](_0x283033)});_0x1e2917=_0x56d891['loxiaApiKey'],_0x434697=_0x56d891[_0x5064bd(0x230)];}!_0x1e2917&&(_0x1e2917=this[_0x5064bd(0x20a)]['loxiaApiKey']||process['env']['LOXIA_API_KEY']);!_0x1e2917&&_0x5d1479['body']['apiKey']&&(_0x1e2917=_0x5d1479[_0x5064bd(0x2f0)][_0x5064bd(0x292)]);if(!_0x1e2917)return this['logger'][_0x5064bd(0x2f2)]('No\x20API\x20key\x20available\x20for\x20chat\x20request',{'sessionId':_0x2601c7,'model':_0x283033,'platformProvided':_0x53e943,'hasSessionManager':!!this['apiKeyManager']}),_0x4732ca['status'](0x191)[_0x5064bd(0x2bb)]({'error':'No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.'});const _0x570b50=_0x5064bd(0x269),_0x4390e4={..._0x5d1479['body'],'apiKey':_0x1e2917,..._0x434697&&{'vendorApiKey':_0x434697}},_0x23c5c1={'method':_0x5064bd(0x2de),'headers':{'Content-Type':_0x5064bd(0x2ce),'Authorization':_0x5064bd(0x225)+_0x1e2917},'body':JSON[_0x5064bd(0x216)](_0x4390e4)};this[_0x5064bd(0x1f3)][_0x5064bd(0x212)](_0x5064bd(0x2df),{'url':_0x570b50,'model':_0x5d1479[_0x5064bd(0x2f0)][_0x5064bd(0x283)],'hasApiKey':!!_0x1e2917});const _0x57b9da=await fetch(_0x570b50,_0x23c5c1);if(_0x57b9da['ok']){const _0x110cd8=await _0x57b9da['json']();this[_0x5064bd(0x1f3)][_0x5064bd(0x212)]('Successfully received response from Azure backend',{'model':_0x110cd8[_0x5064bd(0x283)],'contentLength':_0x110cd8['content']?.['length']||0x0}),_0x4732ca['json'](_0x110cd8);}else{const _0x4a9907=await _0x57b9da[_0x5064bd(0x214)]();this['logger'][_0x5064bd(0x2f2)]('Azure\x20backend\x20chat\x20request\x20failed',{'status':_0x57b9da['status'],'statusText':_0x57b9da[_0x5064bd(0x2d1)],'error':_0x4a9907}),_0x4732ca[_0x5064bd(0x2a1)](_0x57b9da[_0x5064bd(0x2a1)])['json']({'error':'Azure\x20backend\x20error:\x20'+_0x57b9da['status']+'\x20'+_0x57b9da[_0x5064bd(0x2d1)],'details':_0x4a9907});}}catch(_0x4f2ce3){this['logger']['error'](_0x5064bd(0x2a6),{'error':_0x4f2ce3[_0x5064bd(0x208)],'stack':_0x4f2ce3['stack']}),_0x4732ca['status'](0x1f4)[_0x5064bd(0x2bb)]({'error':_0x5064bd(0x200),'details':_0x4f2ce3['message']});}}),this['app']['get']('/api/llm/models',async(_0x3ee847,_0x3832eb)=>{const _0x137707=_0x5013a9;try{const _0x5155a7=_0x3ee847['headers']['authorization'];let _0x347bec=null;_0x5155a7&&_0x5155a7['startsWith'](_0x137707(0x225))&&(_0x347bec=_0x5155a7[_0x137707(0x28e)](0x7));!_0x347bec&&(_0x347bec=this[_0x137707(0x20a)]['loxiaApiKey']||process['env']['LOXIA_API_KEY']);const _0x48e626='https://autopilot-api.azurewebsites.net/llm/models',_0x1138b6={'method':_0x137707(0x2bf),'headers':{'Content-Type':_0x137707(0x2ce),..._0x347bec&&{'Authorization':'Bearer\x20'+_0x347bec}}};this['logger']['info']('Fetching models from Loxia Azure backend',{'url':_0x48e626,'hasApiKey':!!_0x347bec});const _0x53fa8b=await fetch(_0x48e626,_0x1138b6);if(_0x53fa8b['ok']){const _0xb05aef=await _0x53fa8b[_0x137707(0x2bb)]();this[_0x137707(0x1f3)]['info']('Successfully fetched models from Azure backend',{'modelCount':_0xb05aef[_0x137707(0x202)]?.[_0x137707(0x1f9)]||0x0}),_0x3832eb[_0x137707(0x2bb)](_0xb05aef);}else{const _0xa46e9b=await _0x53fa8b[_0x137707(0x214)]();this[_0x137707(0x1f3)][_0x137707(0x2f4)](_0x137707(0x2d0),{'status':_0x53fa8b['status'],'statusText':_0x53fa8b['statusText'],'error':_0xa46e9b}),_0x3832eb[_0x137707(0x2a1)](_0x53fa8b['status'])['json']({'success':![],'error':'Failed\x20to\x20fetch\x20models\x20from\x20backend:\x20'+_0x53fa8b[_0x137707(0x2a1)]+'\x20'+_0x53fa8b[_0x137707(0x2d1)],'details':_0xa46e9b});}}catch(_0x418760){this['logger']['error']('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x418760['message'],'stack':_0x418760['stack']}),_0x3832eb['status'](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0x418760[_0x137707(0x208)]});}}),this['app']['get'](_0x5013a9(0x2c3),async(_0x120c04,_0x111bd4)=>{const _0x86943b=_0x5013a9;try{const _0x2e431d=this['toolsRegistry'];if(!_0x2e431d)return _0x111bd4['status'](0x1f4)['json']({'error':_0x86943b(0x207)});const _0x1879e4=_0x2e431d['getAvailableToolsForUI']();this['logger'][_0x86943b(0x212)](_0x86943b(0x2e4),{'toolCount':_0x1879e4[_0x86943b(0x1f9)],'tools':_0x1879e4['map'](_0x4e359b=>({'id':_0x4e359b['id'],'name':_0x4e359b[_0x86943b(0x234)],'category':_0x4e359b[_0x86943b(0x250)]}))}),_0x111bd4[_0x86943b(0x2bb)]({'success':!![],'tools':_0x1879e4,'total':_0x1879e4['length']});}catch(_0xebd6bb){this['logger']['error'](_0x86943b(0x2fd),{'error':_0xebd6bb[_0x86943b(0x208)],'stack':_0xebd6bb[_0x86943b(0x21c)]}),_0x111bd4[_0x86943b(0x2a1)](0x1f4)[_0x86943b(0x2bb)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0xebd6bb['message']});}}),this[_0x5013a9(0x26c)]['post']('/api/keys',async(_0x4cd2d9,_0x7aed1d)=>{const _0x13892c=_0x5013a9;try{const {sessionId:_0x194844,loxiaApiKey:_0x16e8f7,vendorKeys:_0x4d1629}=_0x4cd2d9[_0x13892c(0x2f0)];if(!_0x194844)return _0x7aed1d[_0x13892c(0x2a1)](0x190)[_0x13892c(0x2bb)]({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this[_0x13892c(0x23d)])return _0x7aed1d['status'](0x1f4)[_0x13892c(0x2bb)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this[_0x13892c(0x23d)][_0x13892c(0x2b8)](_0x194844,{'loxiaApiKey':_0x16e8f7,'vendorKeys':_0x4d1629||{}}),this[_0x13892c(0x1f3)]['info']('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x194844,'hasLoxiaKey':!!_0x16e8f7,'vendorKeys':Object[_0x13892c(0x27a)](_0x4d1629||{})});if(this[_0x13892c(0x255)]&&this['orchestrator'][_0x13892c(0x282)]&&_0x16e8f7)try{await this[_0x13892c(0x255)]['modelsService']['refresh']({'sessionId':_0x194844,'apiKey':_0x16e8f7}),this['logger']['info']('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x194844});}catch(_0x3e6628){this['logger'][_0x13892c(0x2f2)]('Failed\x20to\x20refresh\x20models\x20after\x20API\x20key\x20update',{'error':_0x3e6628[_0x13892c(0x208)],'sessionId':_0x194844});}_0x7aed1d[_0x13892c(0x2bb)]({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x194844,'hasLoxiaKey':!!_0x16e8f7,'vendorKeys':Object['keys'](_0x4d1629||{})});}catch(_0x353d79){this['logger'][_0x13892c(0x2f4)]('Failed\x20to\x20set\x20API\x20keys',{'error':_0x353d79['message'],'sessionId':_0x4cd2d9['body'][_0x13892c(0x1fc)]}),_0x7aed1d[_0x13892c(0x2a1)](0x1f4)[_0x13892c(0x2bb)]({'success':![],'error':_0x353d79[_0x13892c(0x208)]});}}),this['app']['get'](_0x5013a9(0x2b2),async(_0x430351,_0x5c90fb)=>{const _0x2509c8=_0x5013a9;try{const {sessionId:_0x16c43e}=_0x430351['params'];if(!this['apiKeyManager'])return _0x5c90fb['status'](0x1f4)[_0x2509c8(0x2bb)]({'success':![],'error':_0x2509c8(0x263)});const _0x3778f2=this[_0x2509c8(0x23d)][_0x2509c8(0x2d7)](_0x16c43e);_0x5c90fb[_0x2509c8(0x2bb)]({'success':!![],'sessionId':_0x16c43e,'hasLoxiaKey':!!_0x3778f2[_0x2509c8(0x2b3)],'vendorKeys':Object['keys'](_0x3778f2[_0x2509c8(0x220)]||{}),'updatedAt':_0x3778f2['updatedAt']});}catch(_0x3866b5){this[_0x2509c8(0x1f3)][_0x2509c8(0x2f4)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x3866b5[_0x2509c8(0x208)],'sessionId':_0x430351[_0x2509c8(0x1fa)][_0x2509c8(0x1fc)]}),_0x5c90fb['status'](0x1f4)[_0x2509c8(0x2bb)]({'success':![],'error':_0x3866b5[_0x2509c8(0x208)]});}}),this['app']['delete'](_0x5013a9(0x2b2),async(_0x13a92e,_0x26d8aa)=>{const _0x41ed47=_0x5013a9;try{const {sessionId:_0xc52f1d}=_0x13a92e['params'];if(!this['apiKeyManager'])return _0x26d8aa['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x289628=this['apiKeyManager']['removeSessionKeys'](_0xc52f1d);_0x26d8aa['json']({'success':!![],'removed':_0x289628,'message':_0x289628?'API\x20keys\x20removed\x20successfully':'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x5330ba){this['logger']['error']('Failed\x20to\x20remove\x20API\x20keys',{'error':_0x5330ba['message'],'sessionId':_0x13a92e[_0x41ed47(0x1fa)]['sessionId']}),_0x26d8aa['status'](0x1f4)['json']({'success':![],'error':_0x5330ba[_0x41ed47(0x208)]});}}),this['app'][_0x5013a9(0x287)]('/api/keys',async(_0x381a63,_0x489f95)=>{const _0x2de161=_0x5013a9;try{if(!this['apiKeyManager'])return _0x489f95[_0x2de161(0x2a1)](0x1f4)[_0x2de161(0x2bb)]({'success':![],'error':_0x2de161(0x263)});const _0x2e1b76=this[_0x2de161(0x23d)][_0x2de161(0x23a)]();_0x489f95[_0x2de161(0x2bb)]({'success':!![],'sessions':_0x2e1b76,'total':_0x2e1b76[_0x2de161(0x1f9)]});}catch(_0x32de01){this[_0x2de161(0x1f3)][_0x2de161(0x2f4)](_0x2de161(0x257),{'error':_0x32de01[_0x2de161(0x208)]}),_0x489f95[_0x2de161(0x2a1)](0x1f4)['json']({'success':![],'error':_0x32de01['message']});}}),this['app']['post'](_0x5013a9(0x26f),async(_0xe43e47,_0x331ee2)=>{const _0x287aaa=_0x5013a9;try{const {agentId:_0x513631}=_0xe43e47['params'],{filePath:_0x40bb7e,mode:_0x34a27c,fileName:_0x1c89db}=_0xe43e47['body'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x331ee2[_0x287aaa(0x2a1)](0x1f4)[_0x287aaa(0x2bb)]({'success':![],'error':_0x287aaa(0x248)});const _0x1d7c00=await this['orchestrator']['fileAttachmentService'][_0x287aaa(0x288)]({'agentId':_0x513631,'filePath':_0x40bb7e,'mode':_0x34a27c||'content','fileName':_0x1c89db});this['logger']['info'](_0x287aaa(0x28c),{'agentId':_0x513631,'fileId':_0x1d7c00[_0x287aaa(0x201)],'fileName':_0x1d7c00[_0x287aaa(0x253)]}),_0x331ee2['json']({'success':!![],'attachment':_0x1d7c00});}catch(_0x26f792){this['logger']['error']('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0xe43e47['params']['agentId'],'error':_0x26f792[_0x287aaa(0x208)]}),_0x331ee2[_0x287aaa(0x2a1)](0x1f4)[_0x287aaa(0x2bb)]({'success':![],'error':_0x26f792['message']});}}),this[_0x5013a9(0x26c)]['get'](_0x5013a9(0x2da),async(_0x587f4f,_0x2ff066)=>{const _0xcf22ee=_0x5013a9;try{const {agentId:_0x5ef145}=_0x587f4f['params'],{mode:_0x2475cb,active:_0x4527de}=_0x587f4f[_0xcf22ee(0x28b)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x2ff066['status'](0x1f4)[_0xcf22ee(0x2bb)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x471957={};if(_0x2475cb)_0x471957[_0xcf22ee(0x29d)]=_0x2475cb;if(_0x4527de!==undefined)_0x471957[_0xcf22ee(0x25b)]=_0x4527de==='true';const _0x362c82=await this[_0xcf22ee(0x255)]['fileAttachmentService'][_0xcf22ee(0x296)](_0x5ef145,_0x471957);_0x2ff066[_0xcf22ee(0x2bb)]({'success':!![],'attachments':_0x362c82,'total':_0x362c82[_0xcf22ee(0x1f9)]});}catch(_0x5d2eb6){this['logger']['error'](_0xcf22ee(0x2aa),{'agentId':_0x587f4f['params'][_0xcf22ee(0x241)],'error':_0x5d2eb6['message']}),_0x2ff066[_0xcf22ee(0x2a1)](0x1f4)[_0xcf22ee(0x2bb)]({'success':![],'error':_0x5d2eb6[_0xcf22ee(0x208)]});}}),this[_0x5013a9(0x26c)]['get']('/api/attachments/:fileId',async(_0x315254,_0x18d238)=>{const _0x3cbc3d=_0x5013a9;try{const {fileId:_0x487045}=_0x315254['params'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x18d238['status'](0x1f4)['json']({'success':![],'error':_0x3cbc3d(0x248)});const _0x328404=await this[_0x3cbc3d(0x255)]['fileAttachmentService']['getAttachment'](_0x487045);if(!_0x328404)return _0x18d238['status'](0x194)['json']({'success':![],'error':_0x3cbc3d(0x28f)});_0x18d238[_0x3cbc3d(0x2bb)]({'success':!![],'attachment':_0x328404});}catch(_0xab4ee5){this['logger'][_0x3cbc3d(0x2f4)](_0x3cbc3d(0x2d4),{'fileId':_0x315254['params']['fileId'],'error':_0xab4ee5[_0x3cbc3d(0x208)]}),_0x18d238[_0x3cbc3d(0x2a1)](0x1f4)[_0x3cbc3d(0x2bb)]({'success':![],'error':_0xab4ee5['message']});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x21e)]('/api/attachments/:fileId/toggle',async(_0x366dc9,_0x1658c1)=>{const _0x3a6b8c=_0x5013a9;try{const {fileId:_0x478e54}=_0x366dc9['params'];if(!this['orchestrator']?.[_0x3a6b8c(0x28d)])return _0x1658c1[_0x3a6b8c(0x2a1)](0x1f4)['json']({'success':![],'error':_0x3a6b8c(0x248)});const _0x4fdf63=await this['orchestrator']['fileAttachmentService'][_0x3a6b8c(0x27f)](_0x478e54);this['logger']['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0x478e54,'active':_0x4fdf63['active']}),_0x1658c1['json']({'success':!![],'attachment':_0x4fdf63});}catch(_0x3075b6){this['logger'][_0x3a6b8c(0x2f4)](_0x3a6b8c(0x1f6),{'fileId':_0x366dc9[_0x3a6b8c(0x1fa)][_0x3a6b8c(0x201)],'error':_0x3075b6['message']}),_0x1658c1[_0x3a6b8c(0x2a1)](0x1f4)[_0x3a6b8c(0x2bb)]({'success':![],'error':_0x3075b6[_0x3a6b8c(0x208)]});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x21e)]('/api/attachments/:fileId',async(_0x117fac,_0x6dac3c)=>{const _0x1b6b4f=_0x5013a9;try{const {fileId:_0x209aec}=_0x117fac[_0x1b6b4f(0x1fa)],{mode:_0x46fca2,active:_0x3ec00f}=_0x117fac[_0x1b6b4f(0x2f0)];if(!this[_0x1b6b4f(0x255)]?.[_0x1b6b4f(0x28d)])return _0x6dac3c[_0x1b6b4f(0x2a1)](0x1f4)[_0x1b6b4f(0x2bb)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x4459bd={};if(_0x46fca2!==undefined)_0x4459bd['mode']=_0x46fca2;if(_0x3ec00f!==undefined)_0x4459bd[_0x1b6b4f(0x25b)]=_0x3ec00f;const _0x2e4014=await this[_0x1b6b4f(0x255)]['fileAttachmentService']['updateAttachment'](_0x209aec,_0x4459bd);this['logger']['info'](_0x1b6b4f(0x2a9),{'fileId':_0x209aec,'updates':_0x4459bd}),_0x6dac3c[_0x1b6b4f(0x2bb)]({'success':!![],'attachment':_0x2e4014});}catch(_0x462f90){this[_0x1b6b4f(0x1f3)]['error'](_0x1b6b4f(0x249),{'fileId':_0x117fac[_0x1b6b4f(0x1fa)][_0x1b6b4f(0x201)],'error':_0x462f90['message']}),_0x6dac3c['status'](0x1f4)[_0x1b6b4f(0x2bb)]({'success':![],'error':_0x462f90[_0x1b6b4f(0x208)]});}}),this[_0x5013a9(0x26c)][_0x5013a9(0x2f8)]('/api/attachments/:fileId',async(_0x358ddc,_0x3ebf0b)=>{const _0x421c54=_0x5013a9;try{const {fileId:_0x49dd4b}=_0x358ddc['params'],{agentId:_0xce6fcc}=_0x358ddc['query'];if(!_0xce6fcc)return _0x3ebf0b[_0x421c54(0x2a1)](0x190)['json']({'success':![],'error':_0x421c54(0x232)});if(!this[_0x421c54(0x255)]?.['fileAttachmentService'])return _0x3ebf0b[_0x421c54(0x2a1)](0x1f4)[_0x421c54(0x2bb)]({'success':![],'error':_0x421c54(0x248)});const _0x39c698=await this['orchestrator']['fileAttachmentService']['deleteAttachment'](_0x49dd4b,_0xce6fcc);this['logger']['info']('Attachment\x20deleted',{'fileId':_0x49dd4b,'agentId':_0xce6fcc,'physicallyDeleted':_0x39c698[_0x421c54(0x2e8)]}),_0x3ebf0b[_0x421c54(0x2bb)]({'success':!![],'message':_0x39c698[_0x421c54(0x2e8)]?_0x421c54(0x268):_0x421c54(0x2fb),'physicallyDeleted':_0x39c698[_0x421c54(0x2e8)]});}catch(_0xc557e7){this[_0x421c54(0x1f3)][_0x421c54(0x2f4)](_0x421c54(0x217),{'fileId':_0x358ddc[_0x421c54(0x1fa)]['fileId'],'error':_0xc557e7[_0x421c54(0x208)]}),_0x3ebf0b[_0x421c54(0x2a1)](0x1f4)['json']({'success':![],'error':_0xc557e7[_0x421c54(0x208)]});}}),this['app'][_0x5013a9(0x1f2)]('/api/attachments/:fileId/import',async(_0x5ad4fe,_0x3595dd)=>{const _0x4ada8f=_0x5013a9;try{const {fileId:_0x4b5fe4}=_0x5ad4fe[_0x4ada8f(0x1fa)],{targetAgentId:_0x525843}=_0x5ad4fe['body'];if(!_0x525843)return _0x3595dd[_0x4ada8f(0x2a1)](0x190)[_0x4ada8f(0x2bb)]({'success':![],'error':_0x4ada8f(0x213)});if(!this[_0x4ada8f(0x255)]?.[_0x4ada8f(0x28d)])return _0x3595dd['status'](0x1f4)[_0x4ada8f(0x2bb)]({'success':![],'error':_0x4ada8f(0x248)});const _0x49dc18=await this['orchestrator']['fileAttachmentService'][_0x4ada8f(0x22f)](_0x4b5fe4,_0x525843);this[_0x4ada8f(0x1f3)]['info']('Attachment imported',{'fileId':_0x4b5fe4,'targetAgentId':_0x525843}),_0x3595dd['json']({'success':!![],'attachment':_0x49dc18});}catch(_0x5d7c10){this[_0x4ada8f(0x1f3)]['error']('Failed to import attachment',{'fileId':_0x5ad4fe[_0x4ada8f(0x1fa)]['fileId'],'error':_0x5d7c10[_0x4ada8f(0x208)]}),_0x3595dd['status'](0x1f4)[_0x4ada8f(0x2bb)]({'success':![],'error':_0x5d7c10['message']});}}),this['app']['get']('/api/attachments/:fileId/preview',async(_0x4b7a18,_0x186a08)=>{const _0x206b10=_0x5013a9;try{const {fileId:_0x530cdc}=_0x4b7a18['params'];if(!this[_0x206b10(0x255)]?.['fileAttachmentService'])return _0x186a08['status'](0x1f4)[_0x206b10(0x2bb)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x51bd7d=await this['orchestrator']['fileAttachmentService'][_0x206b10(0x20e)](_0x530cdc);if(!_0x51bd7d)return _0x186a08['status'](0x194)['json']({'success':![],'error':_0x206b10(0x28f)});_0x186a08[_0x206b10(0x2bb)]({'success':!![],'preview':_0x51bd7d});}catch(_0x217f70){this[_0x206b10(0x1f3)]['error']('Failed\x20to\x20get\x20attachment\x20preview',{'fileId':_0x4b7a18[_0x206b10(0x1fa)][_0x206b10(0x201)],'error':_0x217f70[_0x206b10(0x208)]}),_0x186a08['status'](0x1f4)[_0x206b10(0x2bb)]({'success':![],'error':_0x217f70[_0x206b10(0x208)]});}}),this[_0x5013a9(0x26c)]['get'](_0x5013a9(0x252),async(_0x231f55,_0x368d1a)=>{const _0x3d1f4c=_0x5013a9;try{const {sessionId:_0x2d2c3e,filename:_0x429efd}=_0x231f55['params'],_0x4082ed=this['sessions'][_0x3d1f4c(0x287)](_0x2d2c3e);if(!_0x4082ed)return _0x368d1a[_0x3d1f4c(0x2a1)](HTTP_STATUS[_0x3d1f4c(0x274)])[_0x3d1f4c(0x2bb)]({'success':![],'error':'Invalid\x20session'});const _0x40a555=a0_0x1da70c[_0x3d1f4c(0x293)](_0x429efd);if(_0x40a555!==_0x429efd||_0x429efd[_0x3d1f4c(0x244)]('..')||_0x429efd['includes']('/')||_0x429efd[_0x3d1f4c(0x244)]('\x5c'))return _0x368d1a[_0x3d1f4c(0x2a1)](HTTP_STATUS[_0x3d1f4c(0x2ef)])[_0x3d1f4c(0x2bb)]({'success':![],'error':_0x3d1f4c(0x2b7)});let _0x1b1eb3=null;const _0x22e77c=[a0_0x1da70c[_0x3d1f4c(0x2e7)](_0x4082ed['projectDir']||process['cwd'](),'images',_0x40a555),a0_0x1da70c['join'](_0x3d1f4c(0x24e),_0x2d2c3e,_0x40a555),a0_0x1da70c[_0x3d1f4c(0x2e7)](_0x3d1f4c(0x24e),_0x40a555)];if(this[_0x3d1f4c(0x255)]?.[_0x3d1f4c(0x2e2)])try{const _0x132248=await this['orchestrator'][_0x3d1f4c(0x2e2)][_0x3d1f4c(0x2d3)]();for(const _0x2c630c of _0x132248){_0x2c630c['directoryAccess']?.['workingDirectory']&&_0x22e77c[_0x3d1f4c(0x2be)](a0_0x1da70c['join'](_0x2c630c[_0x3d1f4c(0x2d9)][_0x3d1f4c(0x270)],_0x3d1f4c(0x2ae),_0x40a555));}}catch(_0x12470c){this[_0x3d1f4c(0x1f3)]['warn'](_0x3d1f4c(0x226),{'error':_0x12470c['message']});}for(const _0xb46713 of _0x22e77c){try{const _0x13e977=await a0_0x3c70e8['stat'](_0xb46713);if(_0x13e977[_0x3d1f4c(0x203)]()){_0x1b1eb3=_0xb46713,this['logger']['info']('Image\x20found',{'filename':_0x40a555,'path':_0x1b1eb3,'sessionId':_0x2d2c3e});break;}}catch(_0x540267){continue;}}if(!_0x1b1eb3)return this[_0x3d1f4c(0x1f3)]['warn'](_0x3d1f4c(0x264),{'filename':_0x40a555,'sessionId':_0x2d2c3e,'searchPaths':_0x22e77c}),_0x368d1a[_0x3d1f4c(0x2a1)](HTTP_STATUS[_0x3d1f4c(0x2cc)])[_0x3d1f4c(0x2bb)]({'success':![],'error':_0x3d1f4c(0x271)});_0x368d1a[_0x3d1f4c(0x23b)](_0x1b1eb3,_0x388f31=>{const _0x14ba0d=_0x3d1f4c;_0x388f31?(this['logger']['error'](_0x14ba0d(0x2fa),{'error':_0x388f31['message'],'imagePath':_0x1b1eb3,'filename':_0x40a555}),!_0x368d1a['headersSent']&&_0x368d1a['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x14ba0d(0x2bb)]({'success':![],'error':_0x14ba0d(0x218)})):this[_0x14ba0d(0x1f3)][_0x14ba0d(0x212)]('Image\x20served\x20successfully',{'filename':_0x40a555,'path':_0x1b1eb3,'sessionId':_0x2d2c3e});});}catch(_0x36ac7b){this[_0x3d1f4c(0x1f3)][_0x3d1f4c(0x2f4)]('Image\x20serving\x20error',{'error':_0x36ac7b[_0x3d1f4c(0x208)],'sessionId':_0x231f55['params'][_0x3d1f4c(0x1fc)],'filename':_0x231f55['params']['filename']}),_0x368d1a['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x3d1f4c(0x2bb)]({'success':![],'error':_0x36ac7b[_0x3d1f4c(0x208)]});}}),this[_0x5013a9(0x26c)]['post']('/api/agents/:agentId/mode',async(_0x5e73f0,_0x5d6e9d)=>{const _0xc7ea48=_0x5013a9;try{const {agentId:_0x2476d2}=_0x5e73f0[_0xc7ea48(0x1fa)],{mode:_0x31940f,lockMode:lockMode=![],sessionId:_0x188c3d}=_0x5e73f0[_0xc7ea48(0x2f0)];if(!Object[_0xc7ea48(0x27d)](AGENT_MODES)[_0xc7ea48(0x244)](_0x31940f))return _0x5d6e9d[_0xc7ea48(0x2a1)](0x190)[_0xc7ea48(0x2bb)]({'success':![],'error':'Invalid\x20mode.\x20Must\x20be\x20one\x20of:\x20'+Object['values'](AGENT_MODES)['join'](',\x20')});const _0x3b390a=_0x188c3d||_0x5e73f0[_0xc7ea48(0x29f)];!_0x3b390a&&this['logger'][_0xc7ea48(0x2f2)]('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0x2476d2,'hasBodySessionId':!!_0x188c3d,'hasReqSessionId':!!_0x5e73f0['sessionID']});const _0x4d1feb={'interface':INTERFACE_TYPES[_0xc7ea48(0x27c)],'sessionId':_0x3b390a,'action':'update_agent','payload':{'agentId':_0x2476d2,'updates':{'mode':_0x31940f}}},_0x16fb5b=await this['orchestrator'][_0xc7ea48(0x20f)](_0x4d1feb);if(_0x16fb5b[_0xc7ea48(0x2dd)]){const _0x4b19ed=_0x16fb5b[_0xc7ea48(0x276)];this[_0xc7ea48(0x1f3)][_0xc7ea48(0x212)](_0xc7ea48(0x2d8)+_0x2476d2,{'newMode':_0x31940f,'lockMode':lockMode,'finalMode':_0x4b19ed?.[_0xc7ea48(0x29d)]}),this['broadcastToSession'](_0x4d1feb['sessionId'],{'type':_0xc7ea48(0x222),'data':{'agentId':_0x2476d2,'mode':_0x4b19ed?.['mode'],'modeState':_0x4b19ed?.[_0xc7ea48(0x239)]}}),_0x5d6e9d[_0xc7ea48(0x2bb)]({'success':!![],'agent':_0x4b19ed,'message':_0xc7ea48(0x23c)+_0x4b19ed?.['mode']});}else _0x5d6e9d[_0xc7ea48(0x2a1)](0x190)['json']({'success':![],'error':_0x16fb5b[_0xc7ea48(0x2f4)]||_0xc7ea48(0x29b)});}catch(_0x2cb216){this[_0xc7ea48(0x1f3)][_0xc7ea48(0x2f4)]('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0x5e73f0[_0xc7ea48(0x1fa)][_0xc7ea48(0x241)],'error':_0x2cb216['message']}),_0x5d6e9d['status'](0x1f4)[_0xc7ea48(0x2bb)]({'success':![],'error':_0x2cb216['message']});}}),this['app'][_0x5013a9(0x1f2)](_0x5013a9(0x26e),async(_0x1711d8,_0x344855)=>{const _0x2d5aea=_0x5013a9;try{const {agentId:_0x2c5294}=_0x1711d8[_0x2d5aea(0x1fa)],_0x311f84=this[_0x2d5aea(0x255)]['messageProcessor'];if(!_0x311f84)return _0x344855['status'](0x1f4)['json']({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x38c2a4=await _0x311f84['stopAutonomousExecution'](_0x2c5294);this['logger'][_0x2d5aea(0x212)](_0x2d5aea(0x301)+_0x2c5294);const _0x49775a=_0x1711d8['sessionID']||_0x38c2a4[_0x2d5aea(0x2c1)]?.[_0x2d5aea(0x1fc)];_0x49775a&&this[_0x2d5aea(0x21a)](_0x49775a,{'type':_0x2d5aea(0x222),'data':{'agentId':_0x2c5294,'mode':_0x38c2a4['agent']?.[_0x2d5aea(0x29d)],'modeState':_0x38c2a4['agent']?.['modeState']}}),_0x344855['json'](_0x38c2a4);}catch(_0x28cf4c){this[_0x2d5aea(0x1f3)][_0x2d5aea(0x2f4)](_0x2d5aea(0x206),{'agentId':_0x1711d8['params']['agentId'],'error':_0x28cf4c[_0x2d5aea(0x208)]}),_0x344855['status'](0x1f4)['json']({'success':![],'error':_0x28cf4c['message']});}}),this['app'][_0x5013a9(0x287)](_0x5013a9(0x237),async(_0x456127,_0x2dc1a3)=>{const _0xe32b8a=_0x5013a9;try{const {agentId:_0x47cd9f}=_0x456127['params'],_0x588d8f={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x456127[_0xe32b8a(0x29f)],'action':_0xe32b8a(0x2ed),'payload':{'agentId':_0x47cd9f}},_0xd05110=await this[_0xe32b8a(0x255)]['processRequest'](_0x588d8f);_0xd05110['success']&&_0xd05110['agent']?_0x2dc1a3[_0xe32b8a(0x2bb)]({'success':!![],'mode':_0xd05110['agent']['mode'],'modeState':_0xd05110[_0xe32b8a(0x2c1)][_0xe32b8a(0x239)],'currentTask':_0xd05110[_0xe32b8a(0x2c1)][_0xe32b8a(0x300)],'iterationCount':_0xd05110[_0xe32b8a(0x2c1)][_0xe32b8a(0x24a)],'taskStartTime':_0xd05110[_0xe32b8a(0x2c1)][_0xe32b8a(0x2ba)],'stopRequested':_0xd05110['agent']['stopRequested']}):_0x2dc1a3[_0xe32b8a(0x2a1)](0x194)[_0xe32b8a(0x2bb)]({'success':![],'error':_0xe32b8a(0x2a5)});}catch(_0x840914){this['logger']['error'](_0xe32b8a(0x260),{'agentId':_0x456127[_0xe32b8a(0x1fa)][_0xe32b8a(0x241)],'error':_0x840914['message']}),_0x2dc1a3[_0xe32b8a(0x2a1)](0x1f4)['json']({'success':![],'error':_0x840914['message']});}}),this['app']['post'](_0x5013a9(0x25f),async(_0x206ea1,_0x33761d)=>{const _0x4a2a2f=_0x5013a9;try{const {agentId:_0x3dc8d6}=_0x206ea1[_0x4a2a2f(0x1fa)],_0x2a1188=await this[_0x4a2a2f(0x255)][_0x4a2a2f(0x2e2)]['clearConversation'](_0x3dc8d6);_0x33761d[_0x4a2a2f(0x2bb)](_0x2a1188);}catch(_0x254084){this[_0x4a2a2f(0x1f3)][_0x4a2a2f(0x2f4)]('Failed\x20to\x20clear\x20agent\x20conversation',{'agentId':_0x206ea1['params'][_0x4a2a2f(0x241)],'error':_0x254084['message']}),_0x33761d[_0x4a2a2f(0x2a1)](0x1f4)[_0x4a2a2f(0x2bb)]({'success':![],'error':_0x254084[_0x4a2a2f(0x208)]});}}),this['app'][_0x5013a9(0x287)](_0x5013a9(0x20c),async(_0x2cf473,_0x468661)=>{const _0x11708a=_0x5013a9;try{const {agentId:_0x3035f7}=_0x2cf473['params'],{shouldAgentBeActive:_0x3149ee}=await import('../services/agentActivityService.js'),_0x35e02a=await this[_0x11708a(0x255)]['agentPool'][_0x11708a(0x27b)](_0x3035f7);if(!_0x35e02a)return _0x468661['status'](0x194)['json']({'success':![],'error':'Agent\x20not\x20found'});const _0x474cbe=_0x3149ee(_0x35e02a);_0x468661[_0x11708a(0x2bb)]({'success':!![],'agentId':_0x3035f7,'isActive':_0x474cbe['active'],'reason':_0x474cbe['reason'],'details':_0x474cbe[_0x11708a(0x2b6)]});}catch(_0x44fe05){this['logger']['error']('Failed\x20to\x20get\x20agent\x20activity\x20status',{'agentId':_0x2cf473[_0x11708a(0x1fa)][_0x11708a(0x241)],'error':_0x44fe05[_0x11708a(0x208)]}),_0x468661['status'](0x1f4)['json']({'success':![],'error':_0x44fe05['message']});}}),this['app']['get']('/api/agents/available',async(_0x322963,_0x172598)=>{const _0x50c4d2=_0x5013a9;try{const _0x343bfa=this[_0x50c4d2(0x255)]['config'][_0x50c4d2(0x242)]?.['directory']||process[_0x50c4d2(0x2f7)](),_0x312f86=await this[_0x50c4d2(0x255)][_0x50c4d2(0x26a)]['getAllAvailableAgents'](_0x343bfa,this[_0x50c4d2(0x255)]['agentPool']);_0x172598[_0x50c4d2(0x2bb)]({'success':!![],'agents':_0x312f86,'total':_0x312f86[_0x50c4d2(0x1f9)],'active':_0x312f86[_0x50c4d2(0x229)](_0x44d005=>_0x44d005['isLoaded'])['length'],'archived':_0x312f86[_0x50c4d2(0x229)](_0x1cdf09=>!_0x1cdf09[_0x50c4d2(0x1f5)])[_0x50c4d2(0x1f9)]});}catch(_0x361fcf){this[_0x50c4d2(0x1f3)]['error'](_0x50c4d2(0x29e),{'error':_0x361fcf['message'],'stack':_0x361fcf['stack']}),_0x172598['status'](0x1f4)[_0x50c4d2(0x2bb)]({'success':![],'error':_0x361fcf[_0x50c4d2(0x208)]});}}),this['app'][_0x5013a9(0x287)](_0x5013a9(0x22e),async(_0x158657,_0x1f8597)=>{const _0x5cfaf9=_0x5013a9;try{const {agentId:_0x3e3bec}=_0x158657[_0x5cfaf9(0x1fa)],_0x19a073=this['orchestrator'][_0x5cfaf9(0x20a)]['project']?.[_0x5cfaf9(0x223)]||process['cwd'](),_0x5057f4=await this['orchestrator']['stateManager'][_0x5cfaf9(0x28a)](_0x3e3bec,_0x19a073);_0x1f8597[_0x5cfaf9(0x2bb)]({'success':!![],'metadata':_0x5057f4});}catch(_0x5f1526){this['logger']['error']('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x158657['params']['agentId'],'error':_0x5f1526['message']}),_0x1f8597['status'](0x194)[_0x5cfaf9(0x2bb)]({'success':![],'error':_0x5f1526['message']});}}),this['app']['post']('/api/agents/import',async(_0x55f673,_0x5c4a5e)=>{const _0x22384c=_0x5013a9;try{const {agentId:_0x355cfe}=_0x55f673[_0x22384c(0x2f0)];if(!_0x355cfe)return _0x5c4a5e['status'](0x190)['json']({'success':![],'error':_0x22384c(0x281)});const _0x1bd700=this[_0x22384c(0x255)]['config']['project']?.['directory']||process[_0x22384c(0x2f7)](),_0x582fde=await this['orchestrator'][_0x22384c(0x26a)][_0x22384c(0x261)](_0x355cfe,_0x1bd700,this['orchestrator']['agentPool']);this[_0x22384c(0x24b)]&&this['wsManager'][_0x22384c(0x2cb)]({'type':'agent-imported','agent':{'id':_0x582fde['id'],'name':_0x582fde[_0x22384c(0x234)],'status':_0x582fde['status'],'capabilities':_0x582fde[_0x22384c(0x259)],'model':_0x582fde[_0x22384c(0x265)]||_0x582fde['preferredModel']}}),this['logger'][_0x22384c(0x212)]('Agent imported successfully',{'agentId':_0x582fde['id'],'name':_0x582fde['name']}),_0x5c4a5e[_0x22384c(0x2bb)]({'success':!![],'agent':{'id':_0x582fde['id'],'name':_0x582fde['name'],'status':_0x582fde[_0x22384c(0x2a1)],'model':_0x582fde[_0x22384c(0x265)]||_0x582fde['preferredModel'],'capabilities':_0x582fde['capabilities'],'lastActivity':_0x582fde[_0x22384c(0x21d)]},'message':'Agent\x20'+_0x582fde[_0x22384c(0x234)]+_0x22384c(0x1f7)});}catch(_0x41273d){this[_0x22384c(0x1f3)][_0x22384c(0x2f4)]('Failed to import agent',{'agentId':_0x55f673[_0x22384c(0x2f0)][_0x22384c(0x241)],'error':_0x41273d[_0x22384c(0x208)],'stack':_0x41273d[_0x22384c(0x21c)]});const _0x515e44=_0x41273d[_0x22384c(0x208)]['includes']('already\x20active')?0x199:_0x41273d['message'][_0x22384c(0x244)](_0x22384c(0x299))?0x194:_0x41273d['message']['includes'](_0x22384c(0x2e0))?0x190:0x1f4;_0x5c4a5e['status'](_0x515e44)['json']({'success':![],'error':_0x41273d['message']});}}),this['app'][_0x5013a9(0x287)]('*',(_0x54fb00,_0x4cd7d6)=>{const _0xa1fb48=a0_0x1da70c['join'](__dirname,'../../web-ui/build/index.html');_0x4cd7d6['sendFile'](_0xa1fb48,_0x54e7cf=>{const _0x3c9ab0=a0_0xb63e;_0x54e7cf&&_0x4cd7d6['status'](HTTP_STATUS[_0x3c9ab0(0x2cc)])[_0x3c9ab0(0x2a4)]('Web\x20UI\x20not\x20built.\x20Run:\x20npm\x20run\x20build:ui');});});}['setupWebSocket'](){const _0x31efc5=a0_0x23d407;this[_0x31efc5(0x1f3)][_0x31efc5(0x212)](_0x31efc5(0x2a2),{'port':this[_0x31efc5(0x2ab)],'host':this[_0x31efc5(0x240)],'wsServerExists':!!this['wss'],'httpServerExists':!!this[_0x31efc5(0x2ec)]}),this[_0x31efc5(0x286)]['on']('error',_0x44a171=>{const _0x438a04=_0x31efc5;this[_0x438a04(0x1f3)][_0x438a04(0x2f4)]('WebSocket\x20server\x20error:',{'error':_0x44a171[_0x438a04(0x208)],'stack':_0x44a171[_0x438a04(0x21c)],'port':this[_0x438a04(0x2ab)]});}),this['wss']['on'](_0x31efc5(0x291),()=>{const _0x3cd6b2=_0x31efc5;this['logger']['info']('WebSocket\x20server\x20is\x20now\x20listening',{'port':this['port'],'host':this[_0x3cd6b2(0x240)]});}),this[_0x31efc5(0x286)]['on']('connection',(_0x2bda64,_0x571597)=>{const _0x1e2b9e=_0x31efc5,_0x266a74='conn-'+Date[_0x1e2b9e(0x297)]()+'-'+Math['random']()['toString'](0x24)[_0x1e2b9e(0x2ac)](0x2,0x9);this[_0x1e2b9e(0x1f3)]['info'](_0x1e2b9e(0x2f5),{'connectionId':_0x266a74,'ip':_0x571597['socket']['remoteAddress'],'origin':_0x571597['headers']['origin'],'host':_0x571597[_0x1e2b9e(0x2c2)]['host'],'userAgent':_0x571597[_0x1e2b9e(0x2c2)]['user-agent'],'url':_0x571597[_0x1e2b9e(0x22b)]});const _0x5633cc={'id':_0x266a74,'ws':_0x2bda64,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this[_0x1e2b9e(0x27e)][_0x1e2b9e(0x231)](_0x266a74,_0x5633cc),_0x2bda64['on'](_0x1e2b9e(0x208),async _0x3cc7e1=>{const _0x1b314b=_0x1e2b9e;try{const _0x29adbd=JSON['parse'](_0x3cc7e1[_0x1b314b(0x2f3)]());await this[_0x1b314b(0x2cf)](_0x266a74,_0x29adbd);}catch(_0x1c799f){this[_0x1b314b(0x1f3)][_0x1b314b(0x2f4)]('WebSocket\x20message\x20error',{'connectionId':_0x266a74,'error':_0x1c799f['message']}),_0x2bda64['send'](JSON[_0x1b314b(0x216)]({'type':_0x1b314b(0x2f4),'error':_0x1c799f['message']}));}}),_0x2bda64['on']('close',()=>{const _0x48fae3=_0x1e2b9e;this[_0x48fae3(0x1f3)]['info']('WebSocket\x20connection\x20closed',{'connectionId':_0x266a74}),this['connections']['delete'](_0x266a74);}),_0x2bda64[_0x1e2b9e(0x2a4)](JSON[_0x1e2b9e(0x216)]({'type':_0x1e2b9e(0x2eb),'connectionId':_0x266a74,'timestamp':new Date()[_0x1e2b9e(0x277)]()}));});}async['handleWebSocketMessage'](_0x1520ae,_0x5bee29){const _0x3cae16=a0_0x23d407,_0x522758=this['connections'][_0x3cae16(0x287)](_0x1520ae);if(!_0x522758)return;_0x522758[_0x3cae16(0x21d)]=new Date()[_0x3cae16(0x277)]();switch(_0x5bee29[_0x3cae16(0x1fe)]){case _0x3cae16(0x2f6):const _0x3d71f5=_0x5bee29['sessionId'];_0x522758['sessionId']=_0x3d71f5,this[_0x3cae16(0x1f3)]['info'](_0x3cae16(0x2e3),{'connectionId':_0x1520ae,'sessionId':_0x3d71f5,'totalConnectionsForSession':Array['from'](this[_0x3cae16(0x27e)][_0x3cae16(0x27d)]())['filter'](_0x1c7543=>_0x1c7543['sessionId']===_0x3d71f5)['length']}),_0x522758['ws']['send'](JSON['stringify']({'type':'session_joined','sessionId':_0x3d71f5}));break;case _0x3cae16(0x24d):_0x522758['ws']['send'](JSON[_0x3cae16(0x216)]({'type':_0x3cae16(0x2e1),'timestamp':new Date()[_0x3cae16(0x277)]()}));break;case'orchestrator_request':try{const _0x5904c4={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x522758['sessionId'],'action':_0x5bee29[_0x3cae16(0x1ff)],'payload':_0x5bee29[_0x3cae16(0x284)],'projectDir':_0x5bee29[_0x3cae16(0x29c)]||process['cwd']()},_0x31fa3b=await this[_0x3cae16(0x255)]['processRequest'](_0x5904c4);_0x522758['ws']['send'](JSON['stringify']({'type':_0x3cae16(0x238),'requestId':_0x5bee29[_0x3cae16(0x235)],'response':_0x31fa3b}));}catch(_0x511f21){_0x522758['ws']['send'](JSON[_0x3cae16(0x216)]({'type':'error','requestId':_0x5bee29[_0x3cae16(0x235)],'error':_0x511f21['message']}));}break;default:this[_0x3cae16(0x1f3)]['warn']('Unknown\x20WebSocket\x20message\x20type',{'connectionId':_0x1520ae,'type':_0x5bee29['type']});}}['broadcastToSession'](_0x3ff109,_0x28b95c){const _0x3c8bb9=a0_0x23d407,_0x277708=Array['from'](this[_0x3c8bb9(0x27e)][_0x3c8bb9(0x27d)]())['filter'](_0x2041a2=>_0x2041a2[_0x3c8bb9(0x1fc)]===_0x3ff109);let _0x19529b=[];_0x277708['length']===0x0&&(_0x19529b=Array[_0x3c8bb9(0x2d6)](this['connections']['values']()),this[_0x3c8bb9(0x1f3)]?.[_0x3c8bb9(0x2f2)]('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x3ff109,'totalConnections':this[_0x3c8bb9(0x27e)][_0x3c8bb9(0x20d)],'allSessionIds':Array[_0x3c8bb9(0x2d6)](this[_0x3c8bb9(0x27e)][_0x3c8bb9(0x27d)]())['map'](_0x59e2c1=>_0x59e2c1['sessionId'])['filter'](Boolean)}));const _0x1ceda7=_0x277708[_0x3c8bb9(0x1f9)]>0x0?_0x277708:_0x19529b;this['logger']?.[_0x3c8bb9(0x212)]('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x3ff109,'messageType':_0x28b95c['type'],'agentId':_0x28b95c['agentId'],'totalConnections':this['connections'][_0x3c8bb9(0x20d)],'sessionConnections':_0x277708['length'],'targetConnections':_0x1ceda7[_0x3c8bb9(0x1f9)],'connectionIds':_0x1ceda7[_0x3c8bb9(0x2a7)](_0x103d5e=>_0x103d5e['id']),'usingFallback':_0x277708['length']===0x0,'messagePreview':_0x28b95c[_0x3c8bb9(0x1fe)]==='autonomous_update'&&_0x28b95c[_0x3c8bb9(0x208)]?{'messageId':_0x28b95c['message']['id'],'messageRole':_0x28b95c['message'][_0x3c8bb9(0x256)],'contentLength':_0x28b95c[_0x3c8bb9(0x208)]['content']?.['length'],'hasToolResults':!!_0x28b95c[_0x3c8bb9(0x208)]['toolResults']}:undefined});for(const _0x906ace of _0x1ceda7){try{const _0x24e11e={..._0x28b95c,'timestamp':new Date()[_0x3c8bb9(0x277)]()};_0x906ace['ws'][_0x3c8bb9(0x2a4)](JSON['stringify'](_0x24e11e)),this['logger']?.['info'](_0x3c8bb9(0x22c),{'connectionId':_0x906ace['id'],'messageType':_0x28b95c[_0x3c8bb9(0x1fe)],'agentId':_0x28b95c['agentId']});}catch(_0x5aa778){this[_0x3c8bb9(0x1f3)][_0x3c8bb9(0x2f2)]('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x906ace['id'],'sessionId':_0x3ff109,'messageType':_0x28b95c['type'],'error':_0x5aa778[_0x3c8bb9(0x208)]});}}}async['startServer'](){return new Promise((_0x5b3ed5,_0x5cb00a)=>{const _0xa7897a=a0_0xb63e;this['server'][_0xa7897a(0x26b)](this['port'],this['host'],_0x23ee9e=>{const _0x696a07=_0xa7897a;_0x23ee9e?(this[_0x696a07(0x1f3)]['error'](_0x696a07(0x2e6),{'error':_0x23ee9e['message'],'port':this['port'],'host':this['host']}),_0x5cb00a(_0x23ee9e)):(this['isRunning']=!![],this['logger']['info']('HTTP\x20server\x20started\x20successfully',{'port':this['port'],'host':this[_0x696a07(0x240)],'httpUrl':_0x696a07(0x224)+this['host']+':'+this[_0x696a07(0x2ab)],'wsUrl':_0x696a07(0x2c0)+this[_0x696a07(0x240)]+':'+this[_0x696a07(0x2ab)],'wsServerAttached':!!this[_0x696a07(0x286)],'wsConnections':this[_0x696a07(0x27e)]['size']}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x5b3ed5());}),this['server']['on']('error',_0x4c3d78=>{const _0x350873=_0xa7897a;this[_0x350873(0x1f3)][_0x350873(0x2f4)]('HTTP\x20server\x20error:',{'error':_0x4c3d78[_0x350873(0x208)],'stack':_0x4c3d78['stack'],'port':this[_0x350873(0x2ab)]});});});}async['testWebSocketServer'](){const _0x495509=a0_0x23d407;try{const {default:_0xf46c27}=await import('ws'),_0x5409ee=new _0xf46c27('ws://localhost:'+this[_0x495509(0x2ab)]);_0x5409ee['on']('open',()=>{const _0x32c50d=_0x495509;this[_0x32c50d(0x1f3)][_0x32c50d(0x212)](_0x32c50d(0x2a3),{'port':this[_0x32c50d(0x2ab)],'url':_0x32c50d(0x219)+this[_0x32c50d(0x2ab)]}),_0x5409ee['close']();}),_0x5409ee['on']('error',_0x738560=>{const _0x3db52d=_0x495509;this['logger']['error']('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this[_0x3db52d(0x2ab)],'url':'ws://localhost:'+this[_0x3db52d(0x2ab)],'error':_0x738560['message'],'code':_0x738560['code']});}),_0x5409ee['on'](_0x495509(0x23f),(_0x110448,_0xadf995)=>{_0x110448===0x3e8&&this['logger']['info']('WebSocket\x20test\x20connection\x20closed\x20cleanly');}),setTimeout(()=>{const _0x3319e1=_0x495509;_0x5409ee['readyState']===_0xf46c27[_0x3319e1(0x2b4)]&&(this['logger'][_0x3319e1(0x2f4)]('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this[_0x3319e1(0x2ab)],'url':'ws://localhost:'+this['port'],'readyState':_0x5409ee['readyState']}),_0x5409ee[_0x3319e1(0x2d2)]());},0x1388);}catch(_0x4a8c9a){this[_0x495509(0x1f3)]['error'](_0x495509(0x1fd),{'error':_0x4a8c9a[_0x495509(0x208)],'stack':_0x4a8c9a[_0x495509(0x21c)]});}}['setApiKeyManager'](_0x3dfb9b){const _0x59b666=a0_0x23d407;this[_0x59b666(0x23d)]=_0x3dfb9b,this['logger']?.[_0x59b666(0x212)]('API\x20key\x20manager\x20set\x20for\x20web\x20server',{'hasManager':!!_0x3dfb9b});}['_getVendorFromModel'](_0xacf4aa){const _0x3c3beb=a0_0x23d407;if(!_0xacf4aa)return null;const _0xff3f8c=_0xacf4aa[_0x3c3beb(0x205)]();if(_0xff3f8c['includes']('anthropic')||_0xff3f8c['includes']('claude'))return'anthropic';else{if(_0xff3f8c[_0x3c3beb(0x244)](_0x3c3beb(0x2bd))||_0xff3f8c[_0x3c3beb(0x244)](_0x3c3beb(0x23e)))return _0x3c3beb(0x2bd);else{if(_0xff3f8c[_0x3c3beb(0x244)]('deepseek'))return _0x3c3beb(0x24f);else{if(_0xff3f8c['includes'](_0x3c3beb(0x204)))return _0x3c3beb(0x26d);}}}return null;}[a0_0x23d407(0x29a)](){const _0x16b601=a0_0x23d407;return{'isRunning':this['isRunning'],'port':this['port'],'host':this['host'],'connections':this['connections'][_0x16b601(0x20d)],'sessions':this[_0x16b601(0x2b9)]['size'],'url':'http://'+this['host']+':'+this[_0x16b601(0x2ab)]};}async['shutdown'](){const _0xfdf6b4=a0_0x23d407;if(!this['isRunning'])return;this[_0xfdf6b4(0x1f3)]['info'](_0xfdf6b4(0x279));for(const _0x492e78 of this[_0xfdf6b4(0x27e)][_0xfdf6b4(0x27d)]()){_0x492e78['ws'][_0xfdf6b4(0x23f)]();}return this[_0xfdf6b4(0x27e)][_0xfdf6b4(0x2ff)](),this[_0xfdf6b4(0x286)]['close'](),new Promise(_0x11540c=>{this['server']['close'](()=>{const _0x59dff1=a0_0xb63e;this['isRunning']=![],this['logger']['info'](_0x59dff1(0x211)),_0x11540c();});});}}export default WebServer;if(import.meta.url==='file://'+process['argv'][0x1]){const simpleLogger={'info':(_0x1f1254,_0x180845)=>console[a0_0x23d407(0x2bc)]('[INFO]\x20'+_0x1f1254,_0x180845?JSON['stringify'](_0x180845,null,0x2):''),'error':(_0x3cbe38,_0x1627ca)=>console[a0_0x23d407(0x2f4)](a0_0x23d407(0x25c)+_0x3cbe38,_0x1627ca?JSON[a0_0x23d407(0x216)](_0x1627ca,null,0x2):''),'warn':(_0x10e642,_0x53ac84)=>console['warn'](a0_0x23d407(0x246)+_0x10e642,_0x53ac84?JSON[a0_0x23d407(0x216)](_0x53ac84,null,0x2):''),'debug':(_0x1a13c0,_0x5f5823)=>console['log']('[DEBUG]\x20'+_0x1a13c0,_0x5f5823?JSON['stringify'](_0x5f5823,null,0x2):'')},mockOrchestrator={'processAction':async(_0x3858d7,_0x57dd8e)=>{const _0x369eee=a0_0x23d407;simpleLogger[_0x369eee(0x212)](_0x369eee(0x254),{'action':_0x3858d7,'data':_0x57dd8e});switch(_0x3858d7){case ORCHESTRATOR_ACTIONS[_0x369eee(0x267)]:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x369eee(0x2ad)]:return{'success':!![],'data':{'id':_0x369eee(0x294)+Date['now'](),'name':_0x57dd8e['name']||'New\x20Agent','status':_0x369eee(0x25b),'model':_0x57dd8e['model']||_0x369eee(0x2b0),'systemPrompt':_0x57dd8e['systemPrompt']||_0x369eee(0x285)}};case ORCHESTRATOR_ACTIONS[_0x369eee(0x251)]:return{'success':!![],'data':{'message':{'id':'msg-'+Date[_0x369eee(0x297)](),'content':'Echo:\x20'+_0x57dd8e['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':'Unknown\x20action:\x20'+_0x3858d7};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console[a0_0x23d407(0x2bc)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server['startServer']()[a0_0x23d407(0x1f4)](()=>{const _0x2a9cdc=a0_0x23d407,_0x59864b=server['getStatus']();console['log'](_0x2a9cdc(0x25d)+_0x59864b[_0x2a9cdc(0x22b)]),console['log']('📱\x20Web\x20UI\x20available\x20at:\x20http://localhost:3001\x20(if\x20running)'),console[_0x2a9cdc(0x2bc)](_0x2a9cdc(0x2b5));})[a0_0x23d407(0x2fc)](_0x479130=>{const _0x2922b7=a0_0x23d407;console['error'](_0x2922b7(0x2f1),_0x479130[_0x2922b7(0x208)]),process[_0x2922b7(0x280)](0x1);}),process['on']('SIGINT',async()=>{const _0x792b75=a0_0x23d407;console[_0x792b75(0x2bc)](_0x792b75(0x2af)),await server[_0x792b75(0x2c4)](),process['exit'](0x0);});}
@@ -1 +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_0x3873d0=a0_0x27e7;function a0_0x5358(){const _0x1738b6=['BMfTzq','Ag9TzwrPCG','CMvZDhjPy3rLzfbHDgHZ','rMLSzsbUB3qGzM91BMq','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','Aw5JBhvKzxm','DhLWzq','BgvUz3rO','zgLYzwn0B3j5','y3jLyxrLrgLYzwn0B3j5','y29Kzq','qwnJzxnZihrVihrOAxmGCgf0AcbPCYbYzxn0CMLJDgvK','AxntywzLugf0Aa','oduXnJi0B1bLDwXX','BwTKAxi','AM9PBG','z2v0rMLSzvn0yxrZ','AxneAxjLy3rVCNK','zMLSDgvY','CMvZB2X2zq','mZnuCe5xu0O','mta1ntmXmMfIruPbsW','mZyZmdq0C3jJuMHl','sw52ywXPzcbMAwXLihbHDgG','ywXSB3DLzev4DgvUC2LVBNm','mJmYodq2nK9xANHrwa','C29Tzq','C2HVDwXKsw5JBhvKzuL0zw0','BwvZC2fNzq','mZiWnJeWB014Dwf2','zxH0BMfTzq','AgvHBhrOEq','C3rHCNrZv2L0Aa','zgLYBMfTzq','CMvJDxjZAxzL','ndHLtNjyv3e','C29YDa','ugf0AcbUB3qGzM91BMqGB3iGAw5Hy2nLC3nPyMXL','y3DK','C2L6zq','mtmWmdq5mdfVqLvhA1a','AxngAwXL','AgvHBhrOq2HLy2S','mJGZmtq0oersreLVsG','y29UzMLN','CgXHDgzVCM0'];a0_0x5358=function(){return _0x1738b6;};return a0_0x5358();}(function(_0x4546ed,_0x16c13d){const _0x12e538=a0_0x27e7,_0x233af0=_0x4546ed();while(!![]){try{const _0x3e0d5b=parseInt(_0x12e538(0xb5))/0x1+parseInt(_0x12e538(0xdb))/0x2+parseInt(_0x12e538(0xb4))/0x3*(parseInt(_0x12e538(0xb6))/0x4)+-parseInt(_0x12e538(0xbd))/0x5*(parseInt(_0x12e538(0xc3))/0x6)+-parseInt(_0x12e538(0xb9))/0x7+parseInt(_0x12e538(0xcb))/0x8+-parseInt(_0x12e538(0xc8))/0x9;if(_0x3e0d5b===_0x16c13d)break;else _0x233af0['push'](_0x233af0['shift']());}catch(_0x1dd12b){_0x233af0['push'](_0x233af0['shift']());}}}(a0_0x5358,0x84867));import{promises as a0_0x27eaa8}from'fs';import a0_0x1ec094 from'path';function a0_0x27e7(_0x32982b,_0x4aa8ca){_0x32982b=_0x32982b-0xb1;const _0x5358e4=a0_0x5358();let _0x27e78c=_0x5358e4[_0x32982b];if(a0_0x27e7['AcgUrV']===undefined){var _0x216362=function(_0x214c01){const _0x2c0fb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27eaa8='',_0x1ec094='';for(let _0x580071=0x0,_0x192d96,_0xc551a1,_0x3062b7=0x0;_0xc551a1=_0x214c01['charAt'](_0x3062b7++);~_0xc551a1&&(_0x192d96=_0x580071%0x4?_0x192d96*0x40+_0xc551a1:_0xc551a1,_0x580071++%0x4)?_0x27eaa8+=String['fromCharCode'](0xff&_0x192d96>>(-0x2*_0x580071&0x6)):0x0){_0xc551a1=_0x2c0fb8['indexOf'](_0xc551a1);}for(let _0x4d440c=0x0,_0xfe70ee=_0x27eaa8['length'];_0x4d440c<_0xfe70ee;_0x4d440c++){_0x1ec094+='%'+('00'+_0x27eaa8['charCodeAt'](_0x4d440c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ec094);};a0_0x27e7['jUwKuZ']=_0x216362,a0_0x27e7['ZfrQrP']={},a0_0x27e7['AcgUrV']=!![];}const _0x41db89=_0x5358e4[0x0],_0x1b3e50=_0x32982b+_0x41db89,_0x5a22b2=a0_0x27e7['ZfrQrP'][_0x1b3e50];return!_0x5a22b2?(_0x27e78c=a0_0x27e7['jUwKuZ'](_0x27e78c),a0_0x27e7['ZfrQrP'][_0x1b3e50]=_0x27e78c):_0x27e78c=_0x5a22b2,_0x27e78c;}import a0_0x580071 from'os';class FileExplorerController{constructor(_0x192d96={}){this['config']={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x192d96};}async['getFileStats'](_0xc551a1){try{const _0x3062b7=await a0_0x27eaa8['stat'](_0xc551a1);return{'stats':_0x3062b7};}catch(_0x4d440c){return{'stats':null,'error':_0x4d440c instanceof Error?_0x4d440c['message']:'Unknown\x20error'};}}['isSafePath'](_0xfe70ee){const _0x2b20b9=a0_0x27e7;try{const _0x23d49d=a0_0x1ec094['resolve'](_0xfe70ee);if(this['config'][_0x2b20b9(0xd0)][_0x2b20b9(0xba)](_0x505a45=>_0x23d49d['startsWith'](a0_0x1ec094[_0x2b20b9(0xb3)](_0x505a45))))return![];return!![];}catch(_0x4f3de7){return![];}}[a0_0x3873d0(0xbb)](_0x442155,_0x2c51da){const _0x472cc1=a0_0x3873d0;if(!this[_0x472cc1(0xcc)]['showHidden']&&_0x442155[_0x472cc1(0xc0)]('.'))return![];if(_0x2c51da['isFile']()&&this[_0x472cc1(0xcc)][_0x472cc1(0xb8)]['length']>0x0){const _0x2ea488=a0_0x1ec094[_0x472cc1(0xbe)](_0x442155)['toLowerCase']();if(!this[_0x472cc1(0xcc)][_0x472cc1(0xb8)][_0x472cc1(0xd3)](_0x2ea488))return![];}return!![];}async['browseDirectory'](_0x4f080c=process[a0_0x3873d0(0xc6)](),_0x1ed1d6={}){const _0x4b2c58=a0_0x3873d0;try{const _0x1da52f=a0_0x1ec094[_0x4b2c58(0xb3)](_0x4f080c);if(!this[_0x4b2c58(0xda)](_0x1da52f))return{'success':![],'error':_0x4b2c58(0xd9)};const {stats:_0x30a597,error:_0x57a01c}=await this[_0x4b2c58(0xde)](_0x1da52f);if(_0x57a01c||!_0x30a597)return{'success':![],'error':_0x4b2c58(0xc5)};if(!_0x30a597[_0x4b2c58(0xb1)]())return{'success':![],'error':_0x4b2c58(0xd2)};const _0x582ebf=await a0_0x27eaa8['readdir'](_0x1da52f),_0x39d2f9=[];for(const _0x17911e of _0x582ebf){const _0xce3a6b=a0_0x1ec094[_0x4b2c58(0xdd)](_0x1da52f,_0x17911e),{stats:_0x4380c9}=await this['getFileStats'](_0xce3a6b);if(_0x4380c9&&this[_0x4b2c58(0xbb)](_0x17911e,_0x4380c9)){const _0x289cc8={'name':_0x17911e,'path':_0xce3a6b,'type':_0x4380c9['isDirectory']()?'directory':'file','size':_0x4380c9[_0x4b2c58(0xc9)]()?_0x4380c9[_0x4b2c58(0xc7)]:undefined,'lastModified':_0x4380c9['mtime'],'extension':_0x4380c9['isFile']()?a0_0x1ec094['extname'](_0x17911e)['toLowerCase']():undefined};_0x39d2f9['push'](_0x289cc8);}}_0x39d2f9[_0x4b2c58(0xc4)]((_0x2a4928,_0x33e884)=>{const _0x35c3d5=_0x4b2c58;if(_0x2a4928[_0x35c3d5(0xd4)]===_0x33e884['type'])return _0x2a4928['name']['localeCompare'](_0x33e884[_0x35c3d5(0xce)]);return _0x2a4928[_0x35c3d5(0xd4)]===_0x35c3d5(0xd6)?-0x1:0x1;});const _0x26bffb=a0_0x1ec094[_0x4b2c58(0xc1)](_0x1da52f),_0x294de0=_0x26bffb!==_0x1da52f;return{'success':!![],'data':{'currentPath':_0x1da52f,'parentPath':_0x294de0?_0x26bffb:null,'items':_0x39d2f9,'totalItems':_0x39d2f9[_0x4b2c58(0xd5)],'directories':_0x39d2f9['filter'](_0x477c28=>_0x477c28['type']===_0x4b2c58(0xd6))['length'],'files':_0x39d2f9[_0x4b2c58(0xb2)](_0x42373e=>_0x42373e['type']==='file')[_0x4b2c58(0xd5)]}};}catch(_0x444722){return{'success':![],'error':_0x444722 instanceof Error?_0x444722['message']:'Server\x20error'};}}async['getFileInfo'](_0x54f26c){const _0x18cff5=a0_0x3873d0;try{if(!_0x54f26c||!this[_0x18cff5(0xda)](_0x54f26c))return{'success':![],'error':_0x18cff5(0xb7)};const {stats:_0x2b7eb6,error:_0x557f7a}=await this[_0x18cff5(0xde)](_0x54f26c);if(_0x557f7a||!_0x2b7eb6)return{'success':![],'error':_0x18cff5(0xd1)};const _0x4ce169={'name':a0_0x1ec094['basename'](_0x54f26c),'path':_0x54f26c,'type':_0x2b7eb6['isDirectory']()?_0x18cff5(0xd6):'file','size':_0x2b7eb6[_0x18cff5(0xc9)]()?_0x2b7eb6['size']:undefined,'lastModified':_0x2b7eb6['mtime'],'extension':_0x2b7eb6[_0x18cff5(0xc9)]()?a0_0x1ec094['extname'](_0x54f26c)['toLowerCase']():undefined};return{'success':!![],'data':_0x4ce169};}catch(_0x328d8e){return{'success':![],'error':_0x328d8e instanceof Error?_0x328d8e[_0x18cff5(0xbc)]:'Server\x20error'};}}['getCurrentWorkingDirectory'](){const _0x4f9abd=a0_0x3873d0;return{'success':!![],'data':{'cwd':process['cwd'](),'platform':process[_0x4f9abd(0xcd)],'homedir':a0_0x580071[_0x4f9abd(0xcf)]()}};}async[a0_0x3873d0(0xd7)](_0x468b65,_0x2f44a7={}){const _0x758c3b=a0_0x3873d0;try{if(!this['isSafePath'](_0x468b65))return{'success':![],'error':'Invalid\x20directory\x20path'};return await a0_0x27eaa8[_0x758c3b(0xdc)](_0x468b65,{'recursive':_0x2f44a7[_0x758c3b(0xc2)]||![]}),{'success':!![],'data':{'path':_0x468b65,'relativePath':a0_0x1ec094['relative'](process[_0x758c3b(0xc6)](),_0x468b65)}};}catch(_0x72320a){return{'success':![],'error':_0x72320a instanceof Error?_0x72320a[_0x758c3b(0xbc)]:'Failed\x20to\x20create\x20directory','code':_0x72320a[_0x758c3b(0xd8)]};}}[a0_0x3873d0(0xca)](){const _0x26b047=a0_0x3873d0;return{'success':!![],'data':{'status':_0x26b047(0xbf),'timestamp':new Date()['toISOString'](),'module':'fileExplorer'}};}}export default FileExplorerController;
@@ -1 +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(_0x35defe,_0x23e158){const _0x58e861=a0_0x5d74,_0x3ab4fd=_0x35defe();while(!![]){try{const _0x19ad5f=-parseInt(_0x58e861(0x9d))/0x1*(parseInt(_0x58e861(0x99))/0x2)+parseInt(_0x58e861(0x9a))/0x3+-parseInt(_0x58e861(0x97))/0x4+-parseInt(_0x58e861(0x96))/0x5*(-parseInt(_0x58e861(0x93))/0x6)+parseInt(_0x58e861(0x95))/0x7*(-parseInt(_0x58e861(0x98))/0x8)+parseInt(_0x58e861(0x94))/0x9+parseInt(_0x58e861(0x9c))/0xa*(parseInt(_0x58e861(0x9b))/0xb);if(_0x19ad5f===_0x23e158)break;else _0x3ab4fd['push'](_0x3ab4fd['shift']());}catch(_0x402b19){_0x3ab4fd['push'](_0x3ab4fd['shift']());}}}(a0_0x2e97,0xa206b));function a0_0x2e97(){const _0x3ed3a8=['nZyZntqYz0XVqw1W','mJjhDuT1rKK','nti2mdq2mfnpvfjTrq','odaZnJK5AeDtC1vJ','mJyXnNLuANjWzW','nJK2odmYmKfQt3nPtW','mZveDhnSBMe','mta1mtbutffWDgK','ndm4mta5mM1sCvn4yW','nJK1nti4zwTStujn','mKfIzKHUBq'];a0_0x2e97=function(){return _0x3ed3a8;};return a0_0x2e97();}import{createFileExplorerRouter,defaultConfig}from'./routes.js';function a0_0x5d74(_0x2c72e6,_0x5d6d9b){_0x2c72e6=_0x2c72e6-0x93;const _0x2e97ac=a0_0x2e97();let _0x5d74c5=_0x2e97ac[_0x2c72e6];if(a0_0x5d74['OtjXPh']===undefined){var _0x342cb3=function(_0x20f05f){const _0x205cd6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x118c4d='',_0x1a7cd1='';for(let _0x25203a=0x0,_0x411ce1,_0x41f2e7,_0x3bbb25=0x0;_0x41f2e7=_0x20f05f['charAt'](_0x3bbb25++);~_0x41f2e7&&(_0x411ce1=_0x25203a%0x4?_0x411ce1*0x40+_0x41f2e7:_0x41f2e7,_0x25203a++%0x4)?_0x118c4d+=String['fromCharCode'](0xff&_0x411ce1>>(-0x2*_0x25203a&0x6)):0x0){_0x41f2e7=_0x205cd6['indexOf'](_0x41f2e7);}for(let _0x12d190=0x0,_0x38d4b9=_0x118c4d['length'];_0x12d190<_0x38d4b9;_0x12d190++){_0x1a7cd1+='%'+('00'+_0x118c4d['charCodeAt'](_0x12d190)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a7cd1);};a0_0x5d74['motcds']=_0x342cb3,a0_0x5d74['gMBFpm']={},a0_0x5d74['OtjXPh']=!![];}const _0x4a0da9=_0x2e97ac[0x0],_0xb16d4e=_0x2c72e6+_0x4a0da9,_0x3e5ea4=a0_0x5d74['gMBFpm'][_0xb16d4e];return!_0x3e5ea4?(_0x5d74c5=a0_0x5d74['motcds'](_0x5d74c5),a0_0x5d74['gMBFpm'][_0xb16d4e]=_0x5d74c5):_0x5d74c5=_0x3e5ea4,_0x5d74c5;}import a0_0x118c4d from'./controller.js';export function initFileExplorerModule(_0x1a7cd1={}){const _0x25203a={...defaultConfig,..._0x1a7cd1},_0x411ce1=createFileExplorerRouter(_0x25203a),_0x41f2e7=new a0_0x118c4d(_0x25203a);return{'router':_0x411ce1,'controller':_0x41f2e7,'config':_0x25203a};}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x118c4d,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
@@ -1 +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(_0x88ef64,_0x481519){const _0xa1a12=a0_0x3a04,_0x37e249=_0x88ef64();while(!![]){try{const _0x362a26=parseInt(_0xa1a12(0xf8))/0x1+-parseInt(_0xa1a12(0xf1))/0x2+-parseInt(_0xa1a12(0xff))/0x3*(parseInt(_0xa1a12(0xfd))/0x4)+parseInt(_0xa1a12(0xfb))/0x5+parseInt(_0xa1a12(0xeb))/0x6*(parseInt(_0xa1a12(0x100))/0x7)+parseInt(_0xa1a12(0xea))/0x8+-parseInt(_0xa1a12(0xf7))/0x9;if(_0x362a26===_0x481519)break;else _0x37e249['push'](_0x37e249['shift']());}catch(_0x796697){_0x37e249['push'](_0x37e249['shift']());}}}(a0_0x108f,0xce9bd));function a0_0x108f(){const _0x3744c9=['Bwv0Ag9K','CxvLCNK','mteYmtK0ohPXuhDVtG','ugf0AcbWyxjHBwv0zxiGBxvZDcbIzsbHihn0CMLUzW','BM8Ty2fJAgu','zMLSDgvY','ic0G','w0zPBgvfEhbSB3jLCL0G','otK4ntu5owr3rK53tW','nduZmJu4r21jEejv','z2v0','BM93','mJqYmtu4mhvmrKLJua','B3jPz2LUywXvCMW','odq5mMvkv3jXCa','ChvZAa','ndK1Dwjqz0zW','ndLpz3jIvwy','C3rYAw5N','CMvTB3rLqwrKCMvZCW','AgfZ','C3rHDhvZ','nJGWotm5mLvbtwTfAq','oti0mJu4ywPQrLvA','BM8Ty2fJAguSig5Vlxn0B3jLlcbTDxn0lxjLDMfSAwrHDgu','zMLUAxnO','Dw5RBM93BG'];a0_0x108f=function(){return _0x3744c9;};return a0_0x108f();}export function validatePath(_0x5bd13e,_0x4ce153,_0xac8b00){const _0x405ddc=a0_0x3a04,{path:_0x15fadd}=_0x5bd13e[_0x405ddc(0xf0)];if(_0x15fadd&&typeof _0x15fadd!==_0x405ddc(0x101))return _0x4ce153[_0x405ddc(0x104)](0x190)['json']({'success':![],'error':_0x405ddc(0xf2)});_0xac8b00();}function a0_0x3a04(_0x3a9746,_0x2f2f3a){_0x3a9746=_0x3a9746-0xea;const _0x108f4d=a0_0x108f();let _0x3a049e=_0x108f4d[_0x3a9746];if(a0_0x3a04['jvddEl']===undefined){var _0x399bce=function(_0x75a913){const _0xe63e7f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bd13e='',_0x4ce153='';for(let _0xac8b00=0x0,_0x15fadd,_0x690677,_0x1b16b9=0x0;_0x690677=_0x75a913['charAt'](_0x1b16b9++);~_0x690677&&(_0x15fadd=_0xac8b00%0x4?_0x15fadd*0x40+_0x690677:_0x690677,_0xac8b00++%0x4)?_0x5bd13e+=String['fromCharCode'](0xff&_0x15fadd>>(-0x2*_0xac8b00&0x6)):0x0){_0x690677=_0xe63e7f['indexOf'](_0x690677);}for(let _0x1dec90=0x0,_0x13e92f=_0x5bd13e['length'];_0x1dec90<_0x13e92f;_0x1dec90++){_0x4ce153+='%'+('00'+_0x5bd13e['charCodeAt'](_0x1dec90)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ce153);};a0_0x3a04['yBSDTd']=_0x399bce,a0_0x3a04['qOqZgz']={},a0_0x3a04['jvddEl']=!![];}const _0x2db0bd=_0x108f4d[0x0],_0x2cd0df=_0x3a9746+_0x2db0bd,_0x2d244b=a0_0x3a04['qOqZgz'][_0x2cd0df];return!_0x2d244b?(_0x3a049e=a0_0x3a04['yBSDTd'](_0x3a049e),a0_0x3a04['qOqZgz'][_0x2cd0df]=_0x3a049e):_0x3a049e=_0x2d244b,_0x3a049e;}export function createRateLimit(_0x690677=0x64,_0x1b16b9=0xea60){const _0x1dec90=new Map();return(_0x13e92f,_0x20d197,_0x12bdec)=>{const _0x1d9404=a0_0x3a04,_0x5e6332=_0x13e92f['ip']||_0x13e92f['connection'][_0x1d9404(0x102)]||_0x1d9404(0xee),_0x5664b0=Date[_0x1d9404(0xfa)](),_0x35f625=_0x5664b0-_0x1b16b9;!_0x1dec90[_0x1d9404(0x103)](_0x5e6332)&&_0x1dec90['set'](_0x5e6332,[]);const _0x464988=_0x1dec90[_0x1d9404(0xf9)](_0x5e6332),_0x274595=_0x464988[_0x1d9404(0xf4)](_0x27b703=>_0x27b703>_0x35f625);_0x1dec90['set'](_0x5e6332,_0x274595);if(_0x274595['length']>=_0x690677)return _0x20d197['status'](0x1ad)['json']({'success':![],'error':'Too\x20many\x20requests','retryAfter':Math['ceil'](_0x1b16b9/0x3e8)});_0x274595[_0x1d9404(0xfe)](_0x5664b0),_0x12bdec();};}export function securityHeaders(_0x293568,_0x499cf4,_0x35d194){const _0x487045=a0_0x3a04;_0x499cf4['set']({'Cache-Control':_0x487045(0xec),'Pragma':_0x487045(0xf3),'Expires':'0'}),_0x35d194();}export function requestLogger(_0x31e443,_0x3b62c2,_0x44986d){const _0x327511=a0_0x3a04,_0xd6a5bc=Date[_0x327511(0xfa)]();_0x3b62c2['on'](_0x327511(0xed),()=>{const _0x501510=_0x327511,_0x42d1d3=Date[_0x501510(0xfa)]()-_0xd6a5bc;console['log'](_0x501510(0xf6)+_0x31e443[_0x501510(0xef)]+'\x20'+_0x31e443[_0x501510(0xfc)]+_0x501510(0xf5)+_0x3b62c2['statusCode']+'\x20('+_0x42d1d3+'ms)');}),_0x44986d();}
@@ -1 +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(_0x44ae3c,_0x2709a9){const _0x4edb70=a0_0x5ea1,_0x9153e5=_0x44ae3c();while(!![]){try{const _0x305cde=parseInt(_0x4edb70(0x10f))/0x1*(parseInt(_0x4edb70(0xf9))/0x2)+parseInt(_0x4edb70(0x102))/0x3*(-parseInt(_0x4edb70(0x107))/0x4)+-parseInt(_0x4edb70(0x108))/0x5*(-parseInt(_0x4edb70(0xfc))/0x6)+-parseInt(_0x4edb70(0x10a))/0x7+-parseInt(_0x4edb70(0x101))/0x8*(-parseInt(_0x4edb70(0xf7))/0x9)+-parseInt(_0x4edb70(0xf8))/0xa+parseInt(_0x4edb70(0xfd))/0xb;if(_0x305cde===_0x2709a9)break;else _0x9153e5['push'](_0x9153e5['shift']());}catch(_0x3b4755){_0x9153e5['push'](_0x9153e5['shift']());}}}(a0_0x1dae,0xf0cc7));import a0_0x4411d2 from'express';import a0_0x4d9867 from'./controller.js';function a0_0x1dae(){const _0x2f906b=['Cg9ZDa','zxjYB3i','y3jLyxrLrgLYzwn0B3j5','og1Aq0r4tq','nJuXq3DrvKXc','C3vJy2vZCW','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','z2v0','DxnL','mJCXnJHoCxrkrK8','nxbfwNnhzG','BM90igzVDw5K','otyWmJy2m3jSuKzkwa','ANnVBG','l21RzgLY','Aw5JBhvKzxm','Cgf0Aa','mtyZoty2m0XiBgzrAa','CMvZDhjPy3rLza','C3rHDhvZ','mtm3nJe4mtbSDxvKve8','mti1ntC3odb1rwLLEg0','mLnVteHUCa','ruvysvnu','sw50zxjUywWGC2vYDMvYigvYCM9Y','oteZmdu2nKXyq0X4wa','ndm2otCYog1LtNzMzW'];a0_0x1dae=function(){return _0x2f906b;};return a0_0x1dae();}import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';function a0_0x5ea1(_0x4456aa,_0x5363e3){_0x4456aa=_0x4456aa-0xf5;const _0x1daeaf=a0_0x1dae();let _0x5ea1f7=_0x1daeaf[_0x4456aa];if(a0_0x5ea1['ozxGno']===undefined){var _0x52b8fe=function(_0x50d040){const _0x4e3491='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4411d2='',_0x4d9867='';for(let _0x41da0=0x0,_0x3da2c0,_0x48ced3,_0x5a062b=0x0;_0x48ced3=_0x50d040['charAt'](_0x5a062b++);~_0x48ced3&&(_0x3da2c0=_0x41da0%0x4?_0x3da2c0*0x40+_0x48ced3:_0x48ced3,_0x41da0++%0x4)?_0x4411d2+=String['fromCharCode'](0xff&_0x3da2c0>>(-0x2*_0x41da0&0x6)):0x0){_0x48ced3=_0x4e3491['indexOf'](_0x48ced3);}for(let _0x3c493d=0x0,_0x1f5b11=_0x4411d2['length'];_0x3c493d<_0x1f5b11;_0x3c493d++){_0x4d9867+='%'+('00'+_0x4411d2['charCodeAt'](_0x3c493d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d9867);};a0_0x5ea1['VLRpJf']=_0x52b8fe,a0_0x5ea1['zitoVQ']={},a0_0x5ea1['ozxGno']=!![];}const _0x1cc4db=_0x1daeaf[0x0],_0x2b55f3=_0x4456aa+_0x1cc4db,_0x195cb6=a0_0x5ea1['zitoVQ'][_0x2b55f3];return!_0x195cb6?(_0x5ea1f7=a0_0x5ea1['VLRpJf'](_0x5ea1f7),a0_0x5ea1['zitoVQ'][_0x2b55f3]=_0x5ea1f7):_0x5ea1f7=_0x195cb6,_0x5ea1f7;}export function createFileExplorerRouter(_0x41da0={}){const _0x6b7ebb=a0_0x5ea1,_0x3da2c0=a0_0x4411d2['Router'](),_0x48ced3=new a0_0x4d9867(_0x41da0);return _0x3da2c0['use'](requestLogger),_0x3da2c0[_0x6b7ebb(0x106)](securityHeaders),_0x3da2c0[_0x6b7ebb(0x106)](createRateLimit(0x64,0xea60)),_0x3da2c0[_0x6b7ebb(0x105)]('/health',(_0x5a062b,_0x3c493d)=>{const _0x1f5b11=_0x48ced3['healthCheck']();_0x3c493d['json'](_0x1f5b11);}),_0x3da2c0[_0x6b7ebb(0x105)]('/cwd',(_0x28b3f6,_0x540863)=>{const _0x45365f=_0x6b7ebb,_0x54526e=_0x48ced3[_0x45365f(0x104)]();_0x540863['json'](_0x54526e);}),_0x3da2c0['get']('/browse',validatePath,async(_0x53b078,_0x264926)=>{const _0x4fb49f=_0x6b7ebb;try{const _0x398e18=_0x53b078['query'][_0x4fb49f(0x10e)],_0x59f6c4={'showHidden':_0x53b078['query']['showHidden']==='true'},_0x574e1e=await _0x48ced3['browseDirectory'](_0x398e18,_0x59f6c4);if(_0x574e1e['success'])_0x264926['json'](_0x574e1e);else{const _0x45837d=_0x574e1e[_0x4fb49f(0xff)]['includes'](_0x4fb49f(0xf5))?0x193:_0x574e1e[_0x4fb49f(0xff)][_0x4fb49f(0x10d)](_0x4fb49f(0x109))?0x194:0x190;_0x264926['status'](_0x45837d)[_0x4fb49f(0x10b)](_0x574e1e);}}catch(_0x32c0b8){_0x264926['status'](0x1f4)[_0x4fb49f(0x10b)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3da2c0['get']('/file-info',validatePath,async(_0x39829f,_0x5e698c)=>{const _0x1a1cad=_0x6b7ebb;try{const _0x1a5e73=_0x39829f['query']['path'],_0x2b4b94=await _0x48ced3['getFileInfo'](_0x1a5e73);if(_0x2b4b94['success'])_0x5e698c[_0x1a1cad(0x10b)](_0x2b4b94);else{const _0x519703=_0x2b4b94[_0x1a1cad(0xff)]['includes'](_0x1a1cad(0x109))?0x194:0x190;_0x5e698c['status'](_0x519703)['json'](_0x2b4b94);}}catch(_0x43f8f6){_0x5e698c['status'](0x1f4)[_0x1a1cad(0x10b)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3da2c0[_0x6b7ebb(0xfe)](_0x6b7ebb(0x10c),a0_0x4411d2['json'](),async(_0x4ca9f5,_0x27a2e4)=>{const _0x53eeb2=_0x6b7ebb;try{const {path:_0x520213,recursive:recursive=![]}=_0x4ca9f5['body'];if(!_0x520213)return _0x27a2e4['status'](0x190)['json']({'success':![],'error':'Directory\x20path\x20is\x20required'});const _0x4d13a9=await _0x48ced3[_0x53eeb2(0x100)](_0x520213,{'recursive':recursive});if(_0x4d13a9[_0x53eeb2(0x103)])_0x27a2e4['json'](_0x4d13a9);else{const _0x44aa69=_0x4d13a9['code']===_0x53eeb2(0xfa)?0x199:0x190;_0x27a2e4[_0x53eeb2(0xf6)](_0x44aa69)['json'](_0x4d13a9);}}catch(_0x35bee4){_0x27a2e4['status'](0x1f4)[_0x53eeb2(0x10b)]({'success':![],'error':_0x53eeb2(0xfb)});}}),_0x3da2c0;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};export default createFileExplorerRouter;
@@ -1 +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 a0_0x5ada(){const _0x1f473e=['BgfZDfjLy2vPDMvK','Bw9Kzq','lcbLEhbLy3rLzca','zgv0ywLSCW','qwDLBNqGB2jQzwn0igLZig51BgWGB3iGDw5KzwzPBMvK','qvvut05ptu9vu19nt0rfx0fdveLwrq','uKvdru5ux01fu1nbr0vFveHsrvnit0Xex01t','BM93','otm4CvzYv3vA','qwDLBNqGC3rVCcbOyxmGyMvLBIbYzxf1zxn0zwq','C29Tzq','BMfTzq','q0Hbvf9nt0rfx05px01fu1nbr0vt','lcbvoG','quDftLq','Aw50zxjbz2vUDfrYywnRAw5N','u1rpuf9srvfvrvnuruq','BgvUz3rO','AgfZtwvZC2fNzxm','ihrVB2WGCMvZDwX0CYbIDxqGBM8GBMv3ig1LC3nHz2vZ','tK9FuevoreLor19xt1jl','seftx0Lovevsx0fhru5ux01fu1nbr0vt','Aw50zxjbz2vUDe1LC3nHz2vZ','mJGXnJr4DhblsNi','su5Fufjpr1jfu1m','mJG2nJuYtu1NquvU','otiWohjAywv6BW','Dg90ywW','zNjVBq','qwDLBNqGAgfZia','DMfSDwvZ','AgfZvxnLCK1LC3nHz2vZ','Cgf1C2vKvw50AwW','vu5ltK9xtL9nt0rf','zgvSyxLfBMruAw1L','nJjKEg5ovMi','zMLSDgvY','quDftLqGBw9KzsbHz2vUDcbOyxmGBM8GCgvUzgLUzYb0yxnRCYbVCIbTzxnZywDLCW','seftx1fvrvvfrf9nrvntquDfuW','ywn0AxzL','seftx1vtrvjFtuvtu0fhrvm','DgfZA0XPC3q','mJy5munuvfPPqq','ihvZzxiGBwvZC2fNzsHZksb0BYbWCM9JzxnZ','C3rHDhvZ','Dg9VBfjLC3vSDhm','BwvZC2fNzvf1zxvLCW','Aw5JB21PBMDnzxnZywDLCW','ntK4mtG2nM14AeXJvq','qwDLBNqGAgfZihvUChjVy2vZC2vKigLUy29TAw5Nig1LC3nHz2vZ','mZqXmuXHBfvxrW','Bw9Kzvn0yxrL','mZu5meLcChbOqq','C3rVCfjLCxvLC3rLza','quDftLrFtK9ux0zpvu5e','AxnbCNjHEq','q0Hbva','y291BNrZ','DgfZA3m','nZiYnJi0suXRrNfb','mtu1vgfADMPH','uefvu0ve'];a0_0x5ada=function(){return _0x1f473e;};return a0_0x5ada();}(function(_0x94acfe,_0x2ca42f){const _0x5b91e1=a0_0x292d,_0x329d2f=_0x94acfe();while(!![]){try{const _0x3e0ec1=parseInt(_0x5b91e1(0x1b1))/0x1+-parseInt(_0x5b91e1(0x1bb))/0x2*(parseInt(_0x5b91e1(0x1ca))/0x3)+-parseInt(_0x5b91e1(0x1d3))/0x4+parseInt(_0x5b91e1(0x1d4))/0x5*(-parseInt(_0x5b91e1(0x1ed))/0x6)+parseInt(_0x5b91e1(0x1de))/0x7*(-parseInt(_0x5b91e1(0x1b2))/0x8)+-parseInt(_0x5b91e1(0x1c2))/0x9*(parseInt(_0x5b91e1(0x1cc))/0xa)+parseInt(_0x5b91e1(0x1c8))/0xb;if(_0x3e0ec1===_0x2ca42f)break;else _0x329d2f['push'](_0x329d2f['shift']());}catch(_0x26fe26){_0x329d2f['push'](_0x329d2f['shift']());}}}(a0_0x5ada,0x32a6a));import{AGENT_MODES,AGENT_MODE_STATES,AGENT_STATUS,AGENT_ACTIVITY_STATUS,TASK_STATUS,SCHEDULER_CONFIG}from'../utilities/constants.js';function hasPendingTasks(_0x59e899){const _0x2f5867=a0_0x292d;if(!_0x59e899[_0x2f5867(0x1c1)]||!_0x59e899[_0x2f5867(0x1c1)]['tasks']||!Array[_0x2f5867(0x1cf)](_0x59e899['taskList']['tasks']))return![];return _0x59e899['taskList'][_0x2f5867(0x1d2)][_0x2f5867(0x1e0)](_0x187016=>_0x187016[_0x2f5867(0x1c4)]===TASK_STATUS['PENDING']||_0x187016['status']===TASK_STATUS[_0x2f5867(0x1ee)]);}function getMessageQueueStatus(_0x19c898){const _0x46e04f=a0_0x292d,_0x4b2293=_0x19c898[_0x46e04f(0x1c6)]||{},_0x33c9ad={'toolResults':Array['isArray'](_0x4b2293['toolResults'])?_0x4b2293['toolResults']['length']:0x0,'interAgentMessages':Array['isArray'](_0x4b2293['interAgentMessages'])?_0x4b2293['interAgentMessages'][_0x46e04f(0x1e7)]:0x0,'userMessages':Array['isArray'](_0x4b2293['userMessages'])?_0x4b2293['userMessages'][_0x46e04f(0x1e7)]:0x0};return _0x33c9ad[_0x46e04f(0x1b3)]=_0x33c9ad[_0x46e04f(0x1c5)]+_0x33c9ad[_0x46e04f(0x1ec)]+_0x33c9ad['userMessages'],{'hasMessages':_0x33c9ad[_0x46e04f(0x1b3)]>0x0,'hasUserMessages':_0x33c9ad['userMessages']>0x0,'hasInterAgentMessages':_0x33c9ad['interAgentMessages']>0x0,'hasToolResults':_0x33c9ad['toolResults']>0x0,'counts':_0x33c9ad};}function hasUnprocessedIncomingMessages(_0x57c32b){const _0x30bc27=a0_0x292d;if(_0x57c32b[_0x30bc27(0x1c7)]&&Array[_0x30bc27(0x1cf)](_0x57c32b['incomingMessages'])&&_0x57c32b['incomingMessages'][_0x30bc27(0x1e7)]>0x0)return!![];if(_0x57c32b['interAgentTracking']&&_0x57c32b['interAgentTracking']instanceof Map&&_0x57c32b[_0x30bc27(0x1e5)]['size']>0x0){const _0x3d3fee=Date[_0x30bc27(0x1dd)]();for(const _0xce3beb of _0x57c32b[_0x30bc27(0x1e5)][_0x30bc27(0x1b6)]()){if(_0xce3beb[_0x30bc27(0x1d6)]&&_0x3d3fee-_0xce3beb['lastReceived']<SCHEDULER_CONFIG[_0x30bc27(0x1dc)]&&_0xce3beb['lastType']==='received')return!![];}}return![];}function isAgentDelayed(_0xe879c9){const _0x327182=a0_0x292d;if(!_0xe879c9[_0x327182(0x1ba)])return![];return new Date()<new Date(_0xe879c9[_0x327182(0x1ba)]);}function isAgentPaused(_0x5029d0){const _0x3cea54=a0_0x292d;if(_0x5029d0[_0x3cea54(0x1c4)]===AGENT_STATUS[_0x3cea54(0x1d5)]){if(_0x5029d0[_0x3cea54(0x1b8)])return new Date()<new Date(_0x5029d0[_0x3cea54(0x1b8)]);return!![];}if(_0x5029d0[_0x3cea54(0x1b8)]&&new Date()<new Date(_0x5029d0[_0x3cea54(0x1b8)]))return!![];return![];}function hasAutonomousWorkComplete(_0x2eac0c){return _0x2eac0c['autonomousWorkComplete']===!![];}export function shouldAgentBeActive(_0x18bca2){const _0x4acd7a=a0_0x292d;if(!_0x18bca2)return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1ce)],'details':_0x4acd7a(0x1da)};if(_0x18bca2[_0x4acd7a(0x1c4)]!==AGENT_STATUS['ACTIVE'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_INACTIVE_STATUS'],'details':'Agent\x20status\x20is\x20'+_0x18bca2['status']+_0x4acd7a(0x1d8)+AGENT_STATUS['ACTIVE']};if(isAgentDelayed(_0x18bca2))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_DELAYED'],'details':'Agent\x20delayed\x20until\x20'+_0x18bca2['delayEndTime']};if(isAgentPaused(_0x18bca2))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_PAUSED'],'details':_0x18bca2['pausedUntil']?'Agent\x20paused\x20until\x20'+_0x18bca2['pausedUntil']:'Agent\x20paused\x20indefinitely'};if(_0x18bca2['stopRequested'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1e6)],'details':_0x4acd7a(0x1df)};if(_0x18bca2[_0x4acd7a(0x1cb)]===AGENT_MODE_STATES['EXECUTING'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1db)],'details':'Agent\x20is\x20currently\x20executing\x20(modeState=EXECUTING)'};const _0x466afd=getMessageQueueStatus(_0x18bca2);if(_0x18bca2[_0x4acd7a(0x1d7)]===AGENT_MODES[_0x4acd7a(0x1e4)]){const _0x347142=hasPendingTasks(_0x18bca2),unprocessedMessages=hasUnprocessedIncomingMessages(_0x18bca2);if(_0x347142)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_PENDING_TASKS'],'details':'Agent\x20has\x20pending/in-progress\x20tasks'};if(_0x466afd[_0x4acd7a(0x1e8)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1be)],'details':_0x4acd7a(0x1b5)+_0x466afd['counts'][_0x4acd7a(0x1b3)]+'\x20queued\x20messages\x20(T:'+_0x466afd[_0x4acd7a(0x1d1)]['toolResults']+',\x20I:'+_0x466afd['counts'][_0x4acd7a(0x1ec)]+_0x4acd7a(0x1e3)+_0x466afd['counts']['userMessages']+')'};if(unprocessedMessages)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1db)],'details':_0x4acd7a(0x1c9)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1ea)],'details':_0x4acd7a(0x1bd)};}if(_0x18bca2[_0x4acd7a(0x1d7)]===AGENT_MODES[_0x4acd7a(0x1d0)]){if(_0x466afd[_0x4acd7a(0x1b7)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1c0)],'details':_0x4acd7a(0x1b5)+_0x466afd['counts']['userMessages']+_0x4acd7a(0x1c3)};if(_0x466afd['hasInterAgentMessages'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1eb)],'details':_0x4acd7a(0x1b5)+_0x466afd[_0x4acd7a(0x1d1)][_0x4acd7a(0x1ec)]+'\x20inter-agent\x20message(s)\x20to\x20process'};return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1e2)],'details':_0x466afd['hasToolResults']?'CHAT\x20mode\x20-\x20has\x20'+_0x466afd['counts'][_0x4acd7a(0x1c5)]+_0x4acd7a(0x1e9):'CHAT\x20mode\x20-\x20no\x20messages\x20to\x20process'};}return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1b9)],'details':'Unknown\x20agent\x20mode:\x20'+_0x18bca2[_0x4acd7a(0x1d7)]};}export function getActiveAgents(_0x19872){const _0x474939=a0_0x292d,_0x2def3c=_0x19872 instanceof Map?Array['from'](_0x19872['values']()):_0x19872;return _0x2def3c['map'](_0x4846c3=>{const _0x5c2ed7=shouldAgentBeActive(_0x4846c3);return{'agent':_0x4846c3,'agentId':_0x4846c3['id'],'sessionId':_0x4846c3['sessionId'],..._0x5c2ed7};})[_0x474939(0x1bc)](_0x2fa394=>_0x2fa394['active']);}function a0_0x292d(_0x201a95,_0x1c3fa3){_0x201a95=_0x201a95-0x1b1;const _0x5adaba=a0_0x5ada();let _0x292db7=_0x5adaba[_0x201a95];if(a0_0x292d['kzIQmn']===undefined){var _0x422996=function(_0x45ff3e){const _0x11d1a7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59e899='',_0x187016='';for(let _0x19c898=0x0,_0x4b2293,_0x33c9ad,_0x57c32b=0x0;_0x33c9ad=_0x45ff3e['charAt'](_0x57c32b++);~_0x33c9ad&&(_0x4b2293=_0x19c898%0x4?_0x4b2293*0x40+_0x33c9ad:_0x33c9ad,_0x19c898++%0x4)?_0x59e899+=String['fromCharCode'](0xff&_0x4b2293>>(-0x2*_0x19c898&0x6)):0x0){_0x33c9ad=_0x11d1a7['indexOf'](_0x33c9ad);}for(let _0x3d3fee=0x0,_0xce3beb=_0x59e899['length'];_0x3d3fee<_0xce3beb;_0x3d3fee++){_0x187016+='%'+('00'+_0x59e899['charCodeAt'](_0x3d3fee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x187016);};a0_0x292d['bCPQYW']=_0x422996,a0_0x292d['cmLXNF']={},a0_0x292d['kzIQmn']=!![];}const _0x10485d=_0x5adaba[0x0],_0x2f9ad7=_0x201a95+_0x10485d,_0xcf53f4=a0_0x292d['cmLXNF'][_0x2f9ad7];return!_0xcf53f4?(_0x292db7=a0_0x292d['bCPQYW'](_0x292db7),a0_0x292d['cmLXNF'][_0x2f9ad7]=_0x292db7):_0x292db7=_0xcf53f4,_0x292db7;}export function getAllAgentActivityStatus(_0x287884){const _0xeb0c02=a0_0x292d,_0x171d93=_0x287884 instanceof Map?Array[_0xeb0c02(0x1b4)](_0x287884[_0xeb0c02(0x1b6)]()):_0x287884;return _0x171d93['map'](_0x14498c=>{const _0x10ce96=_0xeb0c02,_0x2048a5=shouldAgentBeActive(_0x14498c),_0x4d81cd=getMessageQueueStatus(_0x14498c);return{'agentId':_0x14498c['id'],'agentName':_0x14498c[_0x10ce96(0x1e1)],'mode':_0x14498c[_0x10ce96(0x1d7)],'status':_0x14498c['status'],'active':_0x2048a5[_0x10ce96(0x1bf)],'reason':_0x2048a5['reason'],'details':_0x2048a5[_0x10ce96(0x1d9)],'queueCounts':_0x4d81cd['counts'],'hasPendingTasks':hasPendingTasks(_0x14498c),'isDelayed':isAgentDelayed(_0x14498c),'isPaused':isAgentPaused(_0x14498c),'stopRequested':_0x14498c[_0x10ce96(0x1cd)]||![],'delayEndTime':_0x14498c[_0x10ce96(0x1ba)]||null,'pausedUntil':_0x14498c['pausedUntil']||null};});}export function shouldSkipIteration(_0x5630f7){const _0xbb50dd=a0_0x292d;if(!_0x5630f7)return{'skip':!![],'reason':'Agent\x20not\x20found'};if(isAgentDelayed(_0x5630f7))return{'skip':!![],'reason':'Agent\x20delayed\x20until\x20'+_0x5630f7['delayEndTime']};if(_0x5630f7[_0xbb50dd(0x1b8)]&&new Date()<new Date(_0x5630f7['pausedUntil']))return{'skip':!![],'reason':'Agent\x20paused\x20until\x20'+_0x5630f7[_0xbb50dd(0x1b8)]};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};