@loxia-labs/loxia-autopilot-one 1.0.13 → 1.0.14
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.
- package/README.md +7 -3
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/agentActivityService.js +1 -0
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x284faf=a0_0x29b9;function a0_0x29b9(_0x3b62e2,_0xce3177){_0x3b62e2=_0x3b62e2-0x197;const _0x7b20d=a0_0x7b20();let _0x29b9c3=_0x7b20d[_0x3b62e2];if(a0_0x29b9['iacnTJ']===undefined){var _0x57021b=function(_0x3db0b4){const _0x4ae1c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f81ab='',_0x5b6ab7='';for(let _0x1dd5ef=0x0,_0xeab8bf,_0x21455f,_0x22e8fc=0x0;_0x21455f=_0x3db0b4['charAt'](_0x22e8fc++);~_0x21455f&&(_0xeab8bf=_0x1dd5ef%0x4?_0xeab8bf*0x40+_0x21455f:_0x21455f,_0x1dd5ef++%0x4)?_0x3f81ab+=String['fromCharCode'](0xff&_0xeab8bf>>(-0x2*_0x1dd5ef&0x6)):0x0){_0x21455f=_0x4ae1c2['indexOf'](_0x21455f);}for(let _0x3ccf83=0x0,_0x5c5a4e=_0x3f81ab['length'];_0x3ccf83<_0x5c5a4e;_0x3ccf83++){_0x5b6ab7+='%'+('00'+_0x3f81ab['charCodeAt'](_0x3ccf83)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b6ab7);};a0_0x29b9['cWCKUT']=_0x57021b,a0_0x29b9['WeQIFY']={},a0_0x29b9['iacnTJ']=!![];}const _0x3dba11=_0x7b20d[0x0],_0x564abd=_0x3b62e2+_0x3dba11,_0x1fa0a2=a0_0x29b9['WeQIFY'][_0x564abd];return!_0x1fa0a2?(_0x29b9c3=a0_0x29b9['cWCKUT'](_0x29b9c3),a0_0x29b9['WeQIFY'][_0x564abd]=_0x29b9c3):_0x29b9c3=_0x1fa0a2,_0x29b9c3;}(function(_0x2594ec,_0x376ef6){const _0x19ab52=a0_0x29b9,_0x2dd4f0=_0x2594ec();while(!![]){try{const _0x155950=parseInt(_0x19ab52(0x1a7))/0x1*(parseInt(_0x19ab52(0x225))/0x2)+-parseInt(_0x19ab52(0x19e))/0x3+parseInt(_0x19ab52(0x199))/0x4+parseInt(_0x19ab52(0x266))/0x5+-parseInt(_0x19ab52(0x1f6))/0x6+parseInt(_0x19ab52(0x289))/0x7*(-parseInt(_0x19ab52(0x218))/0x8)+-parseInt(_0x19ab52(0x1cd))/0x9*(-parseInt(_0x19ab52(0x1f7))/0xa);if(_0x155950===_0x376ef6)break;else _0x2dd4f0['push'](_0x2dd4f0['shift']());}catch(_0x444985){_0x2dd4f0['push'](_0x2dd4f0['shift']());}}}(a0_0x7b20,0xefcc9));import a0_0x3f81ab from'express';import{createServer}from'http';function a0_0x7b20(){const _0x247957=['CMvHzhLtDgf0zq','CgfYyw1Z','yxbW','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','D3nnyw5Hz2vY','zgLYzwn0B3j5','v2vIihnLCNzLCIbPBML0AwfSAxPLza','Cg9UzW','y2XVC2u','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9TB2rLBhm','C2v0','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','ANnVBG','twvZC2fNzsbWCM9JzxnZB3iGBM90igf2ywLSywjSzq','sw52ywXPzcbZzxnZAw9U','B3jPz2LU','ywn0Aw9U','zMLSzuLK','Bg9N','yxbPs2v5','Ahr0CdOVlW','BwvZC2fNzq','ywDLBNrjzcbPCYbYzxf1AxjLzcbPBIbYzxf1zxn0igjVzhK','u0Lhsu5u','CxvLCNK','sw52ywXPza','C3rHCNrtzxj2zxi','tM8GqvbjigTLExmGzM91BMqGzM9YihnLC3nPB24','zNjVBq','y29Kzq','CMvSyxrPDMu','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','ywDLBNrjza','Bw9KzwW','yMfZzw5HBwu','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','C3rVCef1Dg9UB21VDxnfEgvJDxrPB24','CMfUzg9T','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','mtiWmdGYnwnxvMncEG','ywDLBNq','C3rHy2S','tK9ux0zpvu5e','Dhj1zq','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','Bwv0Ag9K','Aw5JBhvKzxm','DhLWzq','BgvUz3rO','ue9tva','DMfSDwvZ','v0vc','lI4VlI4VD2vIlxvPl2j1AwXK','qKfex1jfuvvfu1q','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','y2f0zwDVCNK','l3rTCc9SB3HPys1PBwfNzxm','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','yxv0Ag9YAxPHDgLVBG','ywDLBNrFBw9Kzv9JAgfUz2vK','CgH5C2LJywXSEurLBgv0zwq','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','yxbPs2v5twfUywDLCG','Aw5MBW','C2vZC2LVBKLK','ywDLBNqT','BMfTzq','D3m6lY8','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','ChjVy2vZC1jLCxvLC3q','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','yM9KEq','DxbKyxrLzef0','mJfrAvzbrwq','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','Dg9mB3DLCKnHC2u','l2fWAs9MAwXLlwv4CgXVCMvY','qwnJzxnZlunVBNrYB2WTqwXSB3CTtwv0Ag9KCW','B3jJAgvZDhjHDg9Y','teLtvf9br0vovfm','Dg9ju09tDhjPBMC','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','mty1nJu2ogDyquz5wG','qvbjigTLExmGDxbKyxrLzcbZDwnJzxnZzNvSBhK','C29YDa','BwvZC2fNzvbYB2nLC3nVCG','rMfPBgvKihrVihnLDcbbueKGA2v5CW','mtKWmJi0mhj1DKzkqG','Cg9ZDa','DxnLCI1Hz2vUDa','Dg9Nz2XLqwn0AxzL','l2fWAs9RzxLZ','A2v5CW','B3bLBMfP','zgLYzwn0B3j5qwnJzxnZ','l2fWAs9RzxLZlZPZzxnZAw9Uswq','mtu0nti4n1n4rKf6qW','C2L6zq','ywDLBNrqB29S','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','CMvHzgrPCG','zxjYB3i','C2vZC2LVBNm','ChjVAMvJDa','D3nZ','qwDLBNqGBw9Kzsb1CgrHDguGCMvXDwvZDgvKihDPDgHVDxqGC2vZC2LVBIbjra','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','AgvHzgvY','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhmVDxbSB2fK','l2fWAs9LEhbSB3jLCI9PBMzV','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','C2v0DxbsB3v0zxm','C3vJy2vZCW','w0rfqLvhxsa','sw1Hz2uGC2vYDMvKihn1y2nLC3nMDwXSEq','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','D29YA2LUz0rPCMvJDg9YEq','qwnJzxnZlunVBNrYB2WTqwXSB3CTt3jPz2LU','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','AM9PBG','y29UzMLN','yMLYDgH0Aw1L','C3LZDgvTuhjVBxb0','r0vu','zxHPDa','y29UBI0','y29UBMvJDgLVBNm','AxneAxjLy3rVCNK','ms4WlJa','C3rYAw5NAwz5','q1jfqvrfx0fhru5u','C2vUzezPBgu','t1busu9ouW','mZi3nNPdt1r0CG','z3b0','C2vUza','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','Bw9Kzq','Bg9Nz2vY','z2v0u2vZC2LVBKTLExm','yNjVywrJyxn0','AgvHBhrOEq','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','BwLJCM9ZB2z0','C3rHDhvZvgv4Da','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','Aw1WB3j0qxjJAgL2zwrbz2vUDa','AxnsDw5UAw5N','tMv3iefNzw50','w0LorK9Dia','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','C3rHDhvZ','lI4VlI4VD2vIlxvPl2j1AwXKl2LUzgv4lMH0BwW','BwfW','Cgf5Bg9Hza','C2v0DxbnAwrKBgv3yxjL','DgHLBG','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','l2fWAs9ZzxnZAw9UCW','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','ywn0AxzL','DgfYz2v0qwDLBNrjzcbPCYbYzxf1AxjLza','mc4WlJaUma','C2vZC2LVBKLe','rMfPBgvKihrVihn0B3aGyxv0B25VBw91CYbLEgvJDxrPB24','CMvXDwvZDeLK','B3jJAgvZDhjHDg9Yx3jLCxvLC3q','z2v0','z2v0x2fNzw50x3n0yxr1CW','Aw1Hz2vZ','z2v0qxr0ywnOBwvUDhm','rMfPBgvKihrVihrVz2DSzsbHDhrHy2HTzw50','ChvZAa','mJq5mZG0mgzguMPPuW','mZK5ndbtzMf3wNe','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','D3m6lY9SB2nHBgHVC3q6','v2vIu29JA2v0igPVAw5LzcbZzxnZAw9U','y29UBMvJDgvK','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','C3rHDgLJ','C2vYDMvY','sw1Hz2uGC2vYDMLUzYbLCNjVCG','CgLUzW','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','ChjVAMvJDerPCG','Cgf0y2G','BgLZDgvU','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','uMvMzxjLBMnLihjLBw92zwq','l2fWAs9SBg0Vy2HHDa','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','y3DK','zgvSzxrL','Ag9ZDa','mtbTyG','zMLSDgvY','AxngAwXL','CMvZB2X2zq','CMvMCMvZAa','qwDLBNqG','y29UDgvUDa','yxjNDG','y3vYCMvUDe1VzgvS','zgvLChnLzwS','DxnL','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','ndmYmZKYogrmyLz4CG','Dg9tDhjPBMC','D2fYBG','z2v0qxr0ywnOBwvUDa','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','Bg94AwfbCgLlzxK','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50','C3rHDa','Cg9YDa','zMLSzq','zMLSzuv4CgXVCMvYtw9KDwXL','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','mNDov3H1Da','C3rHDgvnyw5Hz2vY','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','CMvX','y2XLyxi','CMvTB3zLu2vZC2LVBKTLExm','CgfYC2u','y3vYCMvUDfrHC2S','y2fWywjPBgL0AwvZ','y2XHDwrL','sfruucbZzxj2zxiGC3rHCNrLzcbZDwnJzxnZzNvSBhK','CM9Szq','8j+AGcbtDgfYDgLUzYbmB3HPysbxzwiGu2vYDMvYigLUihn0yw5KywXVBMuGBw9Kzs4UlG','yw50AhjVCgLJ','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','l2fWAs9SBg0VBw9KzwXZ','te9ysufFqvbjx0Tfwq','DxrMoa','BM93','yNjVywrJyxn0vg9tzxnZAw9U','Bw9KzwXZ','C3vIC3rY','rMfPBgvKihrVihvWBg9HzcbMAwXLigf0DgfJAg1LBNq','qMvHCMvYia'];a0_0x7b20=function(){return _0x247957;};return a0_0x7b20();}import{WebSocketServer}from'ws';import a0_0x5b6ab7 from'path';import{promises as a0_0x1dd5ef}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_0x5b6ab7['dirname'](__filename);class WebServer{constructor(_0xeab8bf,_0x21455f,_0x22e8fc={}){const _0x437fe1=a0_0x29b9;this['orchestrator']=_0xeab8bf,this['logger']=_0x21455f,this[_0x437fe1(0x1c0)]=_0x22e8fc,this['port']=_0x22e8fc[_0x437fe1(0x221)]||0x1f90,this['host']=_0x22e8fc['host']||'localhost',this['app']=a0_0x3f81ab(),this[_0x437fe1(0x1fe)]=createServer(this[_0x437fe1(0x23f)]),this[_0x437fe1(0x1af)]=new WebSocketServer({'server':this[_0x437fe1(0x1fe)],'verifyClient':_0x3ccf83=>{const _0x3eef35=_0x437fe1;return this['logger']?.[_0x3eef35(0x27f)](_0x3eef35(0x1bd),{'origin':_0x3ccf83['origin'],'host':_0x3ccf83['req']['headers'][_0x3eef35(0x20b)],'userAgent':_0x3ccf83['req']['headers']['user-agent'],'url':_0x3ccf83[_0x3eef35(0x228)]['url']}),!![];}}),this[_0x437fe1(0x1c6)]=new Map(),this['sessions']=new Map(),this['apiKeyManager']=null,this['isRunning']=![];}async['initialize'](){const _0x436681=a0_0x29b9;try{this[_0x436681(0x1e4)](),this[_0x436681(0x1b6)](),this['setupWebSocket'](),await this[_0x436681(0x259)](),this[_0x436681(0x1d2)][_0x436681(0x27f)](_0x436681(0x243),{'port':this['port'],'host':this[_0x436681(0x20b)],'url':_0x436681(0x253)+this[_0x436681(0x20b)]+':'+this[_0x436681(0x221)]});}catch(_0x5c5a4e){this[_0x436681(0x1d2)]['error']('Web\x20server\x20initialization\x20failed',{'error':_0x5c5a4e['message'],'stack':_0x5c5a4e['stack']});throw _0x5c5a4e;}}['setupMiddleware'](){const _0x3b8ca7=a0_0x29b9;this[_0x3b8ca7(0x23f)]['use']((_0x4e16da,_0x55d048,_0x31f59b)=>{const _0x4693b5=_0x3b8ca7;_0x55d048[_0x4693b5(0x1b2)](_0x4693b5(0x1bc),'*'),_0x55d048[_0x4693b5(0x1b2)](_0x4693b5(0x28d),'GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0x55d048['header']('Access-Control-Allow-Headers','Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x4e16da['method']===_0x4693b5(0x1cc)?_0x55d048['sendStatus'](HTTP_STATUS['OK']):_0x31f59b();}),this['app'][_0x3b8ca7(0x216)](a0_0x3f81ab['json']({'limit':_0x3b8ca7(0x20c)})),this[_0x3b8ca7(0x23f)][_0x3b8ca7(0x216)](a0_0x3f81ab['urlencoded']({'extended':!![],'limit':'10mb'})),this['fileExplorerModule']=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app'][_0x3b8ca7(0x216)](_0x3b8ca7(0x28c),this[_0x3b8ca7(0x223)]['router']);const _0x2b6355=a0_0x5b6ab7[_0x3b8ca7(0x1bf)](__dirname,_0x3b8ca7(0x273));this[_0x3b8ca7(0x23f)][_0x3b8ca7(0x216)](a0_0x3f81ab[_0x3b8ca7(0x1fd)](_0x2b6355)),this[_0x3b8ca7(0x23f)]['use']((_0x224d3e,_0x349750,_0x4d7c76)=>{const _0x5322bf=_0x3b8ca7;this[_0x5322bf(0x1d2)]['debug'](_0x224d3e[_0x5322bf(0x26c)]+'\x20'+_0x224d3e['path'],{'ip':_0x224d3e['ip'],'userAgent':_0x224d3e['get']('User-Agent')}),_0x4d7c76();});}[a0_0x284faf(0x1b6)](){const _0x4fd23f=a0_0x284faf;this['app'][_0x4fd23f(0x1f0)]('/api/health',async(_0x2c39c4,_0x5b7889)=>{const _0x30c401=_0x4fd23f;try{const _0x15b14a=a0_0x5b6ab7[_0x30c401(0x1bf)](__dirname,'../../package.json'),_0x27d9d2=JSON['parse'](await a0_0x1dd5ef['readFile'](_0x15b14a,_0x30c401(0x236)));_0x5b7889['json']({'status':'healthy','version':_0x27d9d2['version']||_0x30c401(0x1c8),'timestamp':new Date()[_0x30c401(0x197)]()});}catch(_0x482e0c){_0x5b7889['json']({'status':_0x30c401(0x1d5),'version':_0x30c401(0x1c8),'timestamp':new Date()[_0x30c401(0x197)]()});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)](_0x4fd23f(0x1e7),async(_0x146b0d,_0x3a98c1)=>{const _0x33fe8c=_0x4fd23f;try{const _0x4b7a04='web-'+Date['now']()+'-'+Math[_0x33fe8c(0x264)]()['toString'](0x24)[_0x33fe8c(0x23a)](0x2,0x9),_0x430730=_0x146b0d['body']['projectDir']||process['cwd'](),_0x58908c={'id':_0x4b7a04,'projectDir':_0x430730,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this['sessions'][_0x33fe8c(0x248)](_0x4b7a04,_0x58908c),_0x3a98c1[_0x33fe8c(0x24b)]({'success':!![],'session':_0x58908c});}catch(_0x632e6e){_0x3a98c1['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x632e6e['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)]('/api/orchestrator',async(_0xc7f59d,_0x26238)=>{const _0x1419e0=_0x4fd23f;try{const _0x554bce={'interface':INTERFACE_TYPES[_0x1419e0(0x272)],'sessionId':_0xc7f59d['body']['sessionId'],'action':_0xc7f59d[_0x1419e0(0x287)][_0x1419e0(0x24f)],'payload':_0xc7f59d['body']['payload'],'projectDir':_0xc7f59d['body'][_0x1419e0(0x202)]||process['cwd']()},_0x4e197a=await this[_0x1419e0(0x28e)][_0x1419e0(0x285)](_0x554bce);this[_0x1419e0(0x238)](_0x554bce['sessionId'],{'type':_0x1419e0(0x24a),'action':_0x554bce['action'],'response':_0x4e197a}),_0x26238['json'](_0x4e197a);}catch(_0x4742bf){this[_0x1419e0(0x1d2)]['error']('Orchestrator\x20API\x20error',{'error':_0x4742bf['message'],'body':_0xc7f59d['body']}),_0x26238['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x1419e0(0x24b)]({'success':![],'error':_0x4742bf['message']});}}),this['app']['get']('/api/files',async(_0x3a4e5c,_0x24a05f)=>{const _0x4ece20=_0x4fd23f;try{const {path:_0x59ceac,projectDir:_0x656dc}=_0x3a4e5c[_0x4ece20(0x257)],_0x293cb7=a0_0x5b6ab7['resolve'](_0x656dc||process[_0x4ece20(0x209)](),_0x59ceac||'.'),_0x100b40=await a0_0x1dd5ef[_0x4ece20(0x220)](_0x293cb7);if(_0x100b40[_0x4ece20(0x1c7)]()){const _0xffa0ad=await a0_0x1dd5ef['readdir'](_0x293cb7,{'withFileTypes':!![]}),_0x3ae57e=_0xffa0ad['map'](_0x15907d=>({'name':_0x15907d['name'],'type':_0x15907d[_0x4ece20(0x1c7)]()?'directory':_0x4ece20(0x222),'path':a0_0x5b6ab7['join'](_0x59ceac||'.',_0x15907d[_0x4ece20(0x282)])}));_0x24a05f['json']({'success':!![],'files':_0x3ae57e});}else{const _0x392e17=await a0_0x1dd5ef['readFile'](_0x293cb7,'utf8');_0x24a05f[_0x4ece20(0x24b)]({'success':!![],'content':_0x392e17,'type':'file'});}}catch(_0x59492f){_0x24a05f['status'](HTTP_STATUS[_0x4ece20(0x269)])['json']({'success':![],'error':_0x59492f['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)]('/api/files/upload',async(_0x30d02f,_0x4f4437)=>{const _0x33ab67=_0x4fd23f;try{const {fileName:_0x8e908f,content:_0x36fb7a,projectDir:_0x3666e8}=_0x30d02f[_0x33ab67(0x287)],_0x1a9d5d=_0x3666e8||process[_0x33ab67(0x209)](),_0x1c87fc=a0_0x5b6ab7['resolve'](_0x1a9d5d,_0x8e908f);await a0_0x1dd5ef['mkdir'](_0x1a9d5d,{'recursive':!![]}),await a0_0x1dd5ef['writeFile'](_0x1c87fc,_0x36fb7a,'utf8'),_0x4f4437['json']({'success':!![],'message':_0x33ab67(0x1df),'path':_0x1c87fc});}catch(_0x8b6015){_0x4f4437['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x33ab67(0x24b)]({'success':![],'error':_0x8b6015[_0x33ab67(0x254)]});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x1f0)]('/api/explorer',async(_0x1669db,_0x236798)=>{const _0x9f9544=_0x4fd23f;try{const {path:_0x5208ce,showHidden:showHidden=![]}=_0x1669db[_0x9f9544(0x257)],_0x49c2c1=_0x5208ce||process[_0x9f9544(0x209)](),_0x2ef7c3=a0_0x5b6ab7[_0x9f9544(0x20f)](_0x49c2c1),_0x5b1260=a0_0x5b6ab7['normalize'](_0x2ef7c3),_0x36ef14=await a0_0x1dd5ef['stat'](_0x5b1260);if(!_0x36ef14['isDirectory']())return _0x236798[_0x9f9544(0x1e0)](HTTP_STATUS[_0x9f9544(0x274)])[_0x9f9544(0x24b)]({'success':![],'error':'Path\x20is\x20not\x20a\x20directory'});const _0x4fad58=await a0_0x1dd5ef[_0x9f9544(0x1ab)](_0x5b1260,{'withFileTypes':!![]}),_0x31eb42=await Promise['all'](_0x4fad58[_0x9f9544(0x20d)](_0x91bc79=>showHidden===_0x9f9544(0x26a)||!_0x91bc79['name']['startsWith']('.'))['map'](async _0x473567=>{const _0x2be6c1=_0x9f9544,_0x5755e4=a0_0x5b6ab7[_0x2be6c1(0x1bf)](_0x5b1260,_0x473567[_0x2be6c1(0x282)]),_0x57b0ef=await a0_0x1dd5ef['stat'](_0x5755e4)['catch'](()=>null);return{'name':_0x473567['name'],'type':_0x473567[_0x2be6c1(0x1c7)]()?'directory':_0x2be6c1(0x222),'path':_0x5755e4,'relativePath':a0_0x5b6ab7[_0x2be6c1(0x25d)](process[_0x2be6c1(0x209)](),_0x5755e4),'size':_0x57b0ef?.['size']||0x0,'modified':_0x57b0ef?.['mtime']||null,'isHidden':_0x473567['name']['startsWith']('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x31eb42[_0x9f9544(0x19b)]((_0x1f6c44,_0x28647e)=>{const _0x58ce68=_0x9f9544;if(_0x1f6c44['type']!==_0x28647e[_0x58ce68(0x26e)])return _0x1f6c44[_0x58ce68(0x26e)]===_0x58ce68(0x242)?-0x1:0x1;return _0x1f6c44[_0x58ce68(0x282)]['localeCompare'](_0x28647e[_0x58ce68(0x282)]);});const _0x56fb19=a0_0x5b6ab7['dirname'](_0x5b1260),_0xe66de5=_0x56fb19!==_0x5b1260;_0x236798['json']({'success':!![],'currentPath':_0x5b1260,'currentRelativePath':a0_0x5b6ab7[_0x9f9544(0x25d)](process[_0x9f9544(0x209)](),_0x5b1260),'parentPath':_0xe66de5?_0x56fb19:null,'items':_0x31eb42,'totalItems':_0x31eb42['length'],'directories':_0x31eb42['filter'](_0x863e48=>_0x863e48['type']==='directory')['length'],'files':_0x31eb42[_0x9f9544(0x20d)](_0x4d4204=>_0x4d4204[_0x9f9544(0x26e)]===_0x9f9544(0x222))['length']});}catch(_0x1aee29){_0x236798[_0x9f9544(0x1e0)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x1aee29['message'],'code':_0x1aee29[_0x9f9544(0x25c)]});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)]('/api/explorer/mkdir',async(_0x4fb1eb,_0x1d6235)=>{const _0x2c55b3=_0x4fd23f;try{const {path:_0x38e649,name:_0xc9cd57}=_0x4fb1eb['body'],_0x508a2a=a0_0x5b6ab7['resolve'](_0x38e649,_0xc9cd57);await a0_0x1dd5ef['mkdir'](_0x508a2a,{'recursive':![]}),_0x1d6235['json']({'success':!![],'path':_0x508a2a,'relativePath':a0_0x5b6ab7['relative'](process[_0x2c55b3(0x209)](),_0x508a2a)});}catch(_0x34484b){_0x1d6235[_0x2c55b3(0x1e0)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x2c55b3(0x24b)]({'success':![],'error':_0x34484b['message'],'code':_0x34484b[_0x2c55b3(0x25c)]});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x1f0)](_0x4fd23f(0x1b4),async(_0x1de992,_0x13389d)=>{const _0x5091a2=_0x4fd23f;try{const {path:_0x41829a}=_0x1de992[_0x5091a2(0x257)],_0x590539=a0_0x5b6ab7['resolve'](_0x41829a),_0x457caa=await a0_0x1dd5ef[_0x5091a2(0x220)](_0x590539);_0x13389d[_0x5091a2(0x24b)]({'success':!![],'path':_0x590539,'relativePath':a0_0x5b6ab7['relative'](process['cwd'](),_0x590539),'isDirectory':_0x457caa['isDirectory'](),'isFile':_0x457caa['isFile'](),'size':_0x457caa[_0x5091a2(0x1a8)],'created':_0x457caa[_0x5091a2(0x1c1)],'modified':_0x457caa['mtime'],'accessed':_0x457caa['atime']});}catch(_0x5f0314){_0x13389d['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x5091a2(0x24b)]({'success':![],'error':_0x5f0314['message'],'code':_0x5f0314[_0x5091a2(0x25c)]});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)](_0x4fd23f(0x207),async(_0x2942aa,_0x2125cd)=>{const _0x42b283=_0x4fd23f;try{const {sessionId:_0x50dd9f,model:_0x36de8a,platformProvided:_0x1db0c0}=_0x2942aa[_0x42b283(0x287)];if(!_0x50dd9f)return _0x2125cd['status'](0x190)['json']({'error':'Session\x20ID\x20is\x20required'});let _0x3d2872=null,_0x534662=null;if(this['apiKeyManager']){const _0x449306=this[_0x42b283(0x27e)]['getKeysForRequest'](_0x50dd9f,{'platformProvided':_0x1db0c0||![],'vendor':this['_getVendorFromModel'](_0x36de8a)});_0x3d2872=_0x449306[_0x42b283(0x21d)],_0x534662=_0x449306['vendorApiKey'];}!_0x3d2872&&(_0x3d2872=this['config']['loxiaApiKey']||process['env'][_0x42b283(0x235)]);!_0x3d2872&&_0x2942aa['body'][_0x42b283(0x252)]&&(_0x3d2872=_0x2942aa['body']['apiKey']);if(!_0x3d2872)return this[_0x42b283(0x1d2)][_0x42b283(0x21a)]('No\x20API\x20key\x20available\x20for\x20chat\x20request',{'sessionId':_0x50dd9f,'model':_0x36de8a,'platformProvided':_0x1db0c0,'hasSessionManager':!!this['apiKeyManager']}),_0x2125cd['status'](0x191)['json']({'error':'No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.'});const _0x3b095c='https://autopilot-api.azurewebsites.net/llm/chat',_0x2b2520={..._0x2942aa['body'],'apiKey':_0x3d2872,..._0x534662&&{'vendorApiKey':_0x534662}},_0x4b985f={'method':_0x42b283(0x270),'headers':{'Content-Type':'application/json','Authorization':_0x42b283(0x23c)+_0x3d2872},'body':JSON[_0x42b283(0x1c9)](_0x2b2520)};this['logger'][_0x42b283(0x27f)]('Proxying\x20chat\x20request\x20to\x20Loxia\x20Azure\x20backend',{'url':_0x3b095c,'model':_0x2942aa[_0x42b283(0x287)][_0x42b283(0x260)],'hasApiKey':!!_0x3d2872});const _0x3a9fbe=await fetch(_0x3b095c,_0x4b985f);if(_0x3a9fbe['ok']){const _0x224c50=await _0x3a9fbe['json']();this['logger'][_0x42b283(0x27f)]('Successfully received response from Azure backend',{'model':_0x224c50['model'],'contentLength':_0x224c50[_0x42b283(0x212)]?.['length']||0x0}),_0x2125cd[_0x42b283(0x24b)](_0x224c50);}else{const _0xaa34dd=await _0x3a9fbe['text']();this['logger'][_0x42b283(0x21a)](_0x42b283(0x246),{'status':_0x3a9fbe['status'],'statusText':_0x3a9fbe[_0x42b283(0x1d8)],'error':_0xaa34dd}),_0x2125cd['status'](_0x3a9fbe[_0x42b283(0x1e0)])[_0x42b283(0x24b)]({'error':'Azure\x20backend\x20error:\x20'+_0x3a9fbe[_0x42b283(0x1e0)]+'\x20'+_0x3a9fbe['statusText'],'details':_0xaa34dd});}}catch(_0x49ae06){this[_0x42b283(0x1d2)]['error']('Failed\x20to\x20proxy\x20chat\x20request\x20to\x20Azure\x20backend',{'error':_0x49ae06['message'],'stack':_0x49ae06[_0x42b283(0x268)]}),_0x2125cd['status'](0x1f4)[_0x42b283(0x24b)]({'error':'Failed\x20to\x20connect\x20to\x20AI\x20service','details':_0x49ae06['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x1f0)](_0x4fd23f(0x234),async(_0x402ec2,_0x27c18b)=>{const _0x2abad5=_0x4fd23f;try{const _0x474ba1=_0x402ec2['headers'][_0x2abad5(0x27a)];let _0x3653ff=null;_0x474ba1&&_0x474ba1['startsWith']('Bearer\x20')&&(_0x3653ff=_0x474ba1['substring'](0x7));!_0x3653ff&&(_0x3653ff=this[_0x2abad5(0x1c0)]['loxiaApiKey']||process['env'][_0x2abad5(0x235)]);const _0xb255ce=_0x2abad5(0x247),_0x42a585={'method':_0x2abad5(0x1c3),'headers':{'Content-Type':'application/json',..._0x3653ff&&{'Authorization':_0x2abad5(0x23c)+_0x3653ff}}};this[_0x2abad5(0x1d2)][_0x2abad5(0x27f)]('Fetching models from Loxia Azure backend',{'url':_0xb255ce,'hasApiKey':!!_0x3653ff});const _0x48a60e=await fetch(_0xb255ce,_0x42a585);if(_0x48a60e['ok']){const _0x3e008a=await _0x48a60e[_0x2abad5(0x24b)]();this['logger'][_0x2abad5(0x27f)]('Successfully fetched models from Azure backend',{'modelCount':_0x3e008a[_0x2abad5(0x239)]?.[_0x2abad5(0x26f)]||0x0}),_0x27c18b[_0x2abad5(0x24b)](_0x3e008a);}else{const _0x1419f3=await _0x48a60e['text']();this[_0x2abad5(0x1d2)][_0x2abad5(0x1ac)]('Azure\x20backend\x20request\x20failed\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'status':_0x48a60e[_0x2abad5(0x1e0)],'statusText':_0x48a60e[_0x2abad5(0x1d8)],'error':_0x1419f3}),_0x27c18b[_0x2abad5(0x1e0)](_0x48a60e['status'])[_0x2abad5(0x24b)]({'success':![],'error':_0x2abad5(0x1f8)+_0x48a60e['status']+'\x20'+_0x48a60e['statusText'],'details':_0x1419f3});}}catch(_0x4a503c){this['logger'][_0x2abad5(0x1ac)]('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x4a503c['message'],'stack':_0x4a503c['stack']}),_0x27c18b[_0x2abad5(0x1e0)](0x1f4)[_0x2abad5(0x24b)]({'success':![],'error':'Failed to fetch models from backend','details':_0x4a503c[_0x2abad5(0x254)]});}}),this[_0x4fd23f(0x23f)]['get']('/api/tools',async(_0x7a6d1f,_0x4f0a72)=>{const _0x122fd3=_0x4fd23f;try{const _0x2d064=this['toolsRegistry'];if(!_0x2d064)return _0x4f0a72[_0x122fd3(0x1e0)](0x1f4)[_0x122fd3(0x24b)]({'error':_0x122fd3(0x26b)});const _0x5201a4=_0x2d064['getAvailableToolsForUI']();this['logger']['info']('Serving\x20tools\x20information',{'toolCount':_0x5201a4['length'],'tools':_0x5201a4[_0x122fd3(0x1e2)](_0x3898ab=>({'id':_0x3898ab['id'],'name':_0x3898ab['name'],'category':_0x3898ab[_0x122fd3(0x277)]}))}),_0x4f0a72['json']({'success':!![],'tools':_0x5201a4,'total':_0x5201a4[_0x122fd3(0x26f)]});}catch(_0x142961){this[_0x122fd3(0x1d2)]['error']('Failed\x20to\x20get\x20tools\x20information',{'error':_0x142961['message'],'stack':_0x142961[_0x122fd3(0x268)]}),_0x4f0a72['status'](0x1f4)['json']({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x142961['message']});}}),this[_0x4fd23f(0x23f)]['post']('/api/keys',async(_0x54b5a5,_0xe76cb5)=>{const _0x56a077=_0x4fd23f;try{const {sessionId:_0x8a5e79,loxiaApiKey:_0x5f16c4,vendorKeys:_0x400301}=_0x54b5a5[_0x56a077(0x287)];if(!_0x8a5e79)return _0xe76cb5['status'](0x190)[_0x56a077(0x24b)]({'success':![],'error':_0x56a077(0x1fc)});if(!this[_0x56a077(0x27e)])return _0xe76cb5['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this[_0x56a077(0x27e)]['setSessionKeys'](_0x8a5e79,{'loxiaApiKey':_0x5f16c4,'vendorKeys':_0x400301||{}}),this[_0x56a077(0x1d2)]['info']('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x8a5e79,'hasLoxiaKey':!!_0x5f16c4,'vendorKeys':Object['keys'](_0x400301||{})});if(this[_0x56a077(0x28e)]&&this[_0x56a077(0x28e)]['modelsService']&&_0x5f16c4)try{await this[_0x56a077(0x28e)]['modelsService'][_0x56a077(0x210)]({'sessionId':_0x8a5e79,'apiKey':_0x5f16c4}),this['logger']['info']('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x8a5e79});}catch(_0x3313fd){this[_0x56a077(0x1d2)]['warn']('Failed\x20to\x20refresh\x20models\x20after\x20API\x20key\x20update',{'error':_0x3313fd['message'],'sessionId':_0x8a5e79});}_0xe76cb5['json']({'success':!![],'message':_0x56a077(0x19a),'sessionId':_0x8a5e79,'hasLoxiaKey':!!_0x5f16c4,'vendorKeys':Object[_0x56a077(0x1a3)](_0x400301||{})});}catch(_0x4f8a2d){this[_0x56a077(0x1d2)][_0x56a077(0x1ac)](_0x56a077(0x19d),{'error':_0x4f8a2d['message'],'sessionId':_0x54b5a5[_0x56a077(0x287)][_0x56a077(0x280)]}),_0xe76cb5[_0x56a077(0x1e0)](0x1f4)['json']({'success':![],'error':_0x4f8a2d['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x1f0)]('/api/keys/:sessionId',async(_0x436867,_0x2d0c29)=>{const _0x1d89ae=_0x4fd23f;try{const {sessionId:_0x257e9f}=_0x436867[_0x1d89ae(0x23e)];if(!this['apiKeyManager'])return _0x2d0c29['status'](0x1f4)[_0x1d89ae(0x24b)]({'success':![],'error':_0x1d89ae(0x21c)});const _0x470dea=this[_0x1d89ae(0x27e)][_0x1d89ae(0x1d3)](_0x257e9f);_0x2d0c29['json']({'success':!![],'sessionId':_0x257e9f,'hasLoxiaKey':!!_0x470dea['loxiaApiKey'],'vendorKeys':Object['keys'](_0x470dea['vendorKeys']||{}),'updatedAt':_0x470dea[_0x1d89ae(0x288)]});}catch(_0x195f78){this['logger']['error']('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x195f78[_0x1d89ae(0x254)],'sessionId':_0x436867[_0x1d89ae(0x23e)]['sessionId']}),_0x2d0c29['status'](0x1f4)['json']({'success':![],'error':_0x195f78['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x20a)](_0x4fd23f(0x1a6),async(_0xaaa952,_0x2bf401)=>{const _0x5272f1=_0x4fd23f;try{const {sessionId:_0x59ff8f}=_0xaaa952['params'];if(!this[_0x5272f1(0x27e)])return _0x2bf401['status'](0x1f4)['json']({'success':![],'error':_0x5272f1(0x21c)});const _0x22aa63=this['apiKeyManager'][_0x5272f1(0x22a)](_0x59ff8f);_0x2bf401[_0x5272f1(0x24b)]({'success':!![],'removed':_0x22aa63,'message':_0x22aa63?_0x5272f1(0x275):_0x5272f1(0x25a)});}catch(_0x5e97ea){this[_0x5272f1(0x1d2)]['error'](_0x5272f1(0x25e),{'error':_0x5e97ea[_0x5272f1(0x254)],'sessionId':_0xaaa952[_0x5272f1(0x23e)]['sessionId']}),_0x2bf401['status'](0x1f4)[_0x5272f1(0x24b)]({'success':![],'error':_0x5e97ea['message']});}}),this['app'][_0x4fd23f(0x1f0)](_0x4fd23f(0x1a2),async(_0x34aa4c,_0x38d69d)=>{const _0x43083a=_0x4fd23f;try{if(!this[_0x43083a(0x27e)])return _0x38d69d['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x18ee0c=this[_0x43083a(0x27e)]['getActiveSessions']();_0x38d69d['json']({'success':!![],'sessions':_0x18ee0c,'total':_0x18ee0c[_0x43083a(0x26f)]});}catch(_0x347ec2){this['logger']['error']('Failed\x20to\x20get\x20active\x20sessions',{'error':_0x347ec2['message']}),_0x38d69d[_0x43083a(0x1e0)](0x1f4)[_0x43083a(0x24b)]({'success':![],'error':_0x347ec2[_0x43083a(0x254)]});}}),this['app']['post'](_0x4fd23f(0x1b3),async(_0x25894e,_0x4f2b54)=>{const _0x34a5ca=_0x4fd23f;try{const {agentId:_0x3598b6}=_0x25894e['params'],{filePath:_0x1a9d63,mode:_0x247089,fileName:_0x1f265b}=_0x25894e[_0x34a5ca(0x287)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x4f2b54[_0x34a5ca(0x1e0)](0x1f4)['json']({'success':![],'error':_0x34a5ca(0x208)});const _0x2a5900=await this[_0x34a5ca(0x28e)][_0x34a5ca(0x1ba)]['uploadFile']({'agentId':_0x3598b6,'filePath':_0x1a9d63,'mode':_0x247089||'content','fileName':_0x1f265b});this['logger'][_0x34a5ca(0x27f)](_0x34a5ca(0x1d0),{'agentId':_0x3598b6,'fileId':_0x2a5900['fileId'],'fileName':_0x2a5900['fileName']}),_0x4f2b54[_0x34a5ca(0x24b)]({'success':!![],'attachment':_0x2a5900});}catch(_0x5c339d){this['logger'][_0x34a5ca(0x1ac)](_0x34a5ca(0x23b),{'agentId':_0x25894e['params']['agentId'],'error':_0x5c339d[_0x34a5ca(0x254)]}),_0x4f2b54['status'](0x1f4)[_0x34a5ca(0x24b)]({'success':![],'error':_0x5c339d[_0x34a5ca(0x254)]});}}),this[_0x4fd23f(0x23f)]['get'](_0x4fd23f(0x276),async(_0x37da56,_0x2f937c)=>{const _0x1a4f2f=_0x4fd23f;try{const {agentId:_0x1ff5a0}=_0x37da56['params'],{mode:_0x1d470c,active:_0x585b09}=_0x37da56['query'];if(!this['orchestrator']?.[_0x1a4f2f(0x1ba)])return _0x2f937c[_0x1a4f2f(0x1e0)](0x1f4)[_0x1a4f2f(0x24b)]({'success':![],'error':_0x1a4f2f(0x208)});const _0x52b374={};if(_0x1d470c)_0x52b374['mode']=_0x1d470c;if(_0x585b09!==undefined)_0x52b374[_0x1a4f2f(0x1e9)]=_0x585b09==='true';const _0x4e504e=await this[_0x1a4f2f(0x28e)][_0x1a4f2f(0x1ba)][_0x1a4f2f(0x1f3)](_0x1ff5a0,_0x52b374);_0x2f937c[_0x1a4f2f(0x24b)]({'success':!![],'attachments':_0x4e504e,'total':_0x4e504e['length']});}catch(_0x3f61eb){this['logger']['error']('Failed\x20to\x20get\x20attachments',{'agentId':_0x37da56['params'][_0x1a4f2f(0x25f)],'error':_0x3f61eb['message']}),_0x2f937c[_0x1a4f2f(0x1e0)](0x1f4)[_0x1a4f2f(0x24b)]({'success':![],'error':_0x3f61eb[_0x1a4f2f(0x254)]});}}),this['app'][_0x4fd23f(0x1f0)](_0x4fd23f(0x201),async(_0x44b266,_0x403468)=>{const _0x1d455c=_0x4fd23f;try{const {fileId:_0x2d8b9b}=_0x44b266[_0x1d455c(0x23e)];if(!this[_0x1d455c(0x28e)]?.[_0x1d455c(0x1ba)])return _0x403468['status'](0x1f4)['json']({'success':![],'error':_0x1d455c(0x208)});const _0x281c48=await this[_0x1d455c(0x28e)]['fileAttachmentService'][_0x1d455c(0x21b)](_0x2d8b9b);if(!_0x281c48)return _0x403468[_0x1d455c(0x1e0)](0x194)['json']({'success':![],'error':'Attachment\x20not\x20found'});_0x403468[_0x1d455c(0x24b)]({'success':!![],'attachment':_0x281c48});}catch(_0x5b948b){this['logger']['error'](_0x1d455c(0x21f),{'fileId':_0x44b266['params'][_0x1d455c(0x250)],'error':_0x5b948b[_0x1d455c(0x254)]}),_0x403468['status'](0x1f4)['json']({'success':![],'error':_0x5b948b['message']});}}),this['app'][_0x4fd23f(0x203)]('/api/attachments/:fileId/toggle',async(_0x515fdf,_0xf6cebc)=>{const _0x2cf225=_0x4fd23f;try{const {fileId:_0x350ad2}=_0x515fdf['params'];if(!this['orchestrator']?.['fileAttachmentService'])return _0xf6cebc[_0x2cf225(0x1e0)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x268814=await this['orchestrator'][_0x2cf225(0x1ba)][_0x2cf225(0x1a1)](_0x350ad2);this[_0x2cf225(0x1d2)][_0x2cf225(0x27f)]('Attachment\x20active\x20status\x20toggled',{'fileId':_0x350ad2,'active':_0x268814['active']}),_0xf6cebc[_0x2cf225(0x24b)]({'success':!![],'attachment':_0x268814});}catch(_0x569fc2){this[_0x2cf225(0x1d2)][_0x2cf225(0x1ac)](_0x2cf225(0x1f4),{'fileId':_0x515fdf[_0x2cf225(0x23e)][_0x2cf225(0x250)],'error':_0x569fc2[_0x2cf225(0x254)]}),_0xf6cebc['status'](0x1f4)[_0x2cf225(0x24b)]({'success':![],'error':_0x569fc2['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x203)]('/api/attachments/:fileId',async(_0x233704,_0x3af8bc)=>{const _0x27860b=_0x4fd23f;try{const {fileId:_0x412283}=_0x233704['params'],{mode:_0x5630a1,active:_0x17ab32}=_0x233704['body'];if(!this[_0x27860b(0x28e)]?.[_0x27860b(0x1ba)])return _0x3af8bc[_0x27860b(0x1e0)](0x1f4)[_0x27860b(0x24b)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x28bd1c={};if(_0x5630a1!==undefined)_0x28bd1c['mode']=_0x5630a1;if(_0x17ab32!==undefined)_0x28bd1c['active']=_0x17ab32;const _0x4bd647=await this['orchestrator'][_0x27860b(0x1ba)]['updateAttachment'](_0x412283,_0x28bd1c);this['logger']['info']('Attachment\x20updated',{'fileId':_0x412283,'updates':_0x28bd1c}),_0x3af8bc[_0x27860b(0x24b)]({'success':!![],'attachment':_0x4bd647});}catch(_0x18c912){this[_0x27860b(0x1d2)]['error'](_0x27860b(0x279),{'fileId':_0x233704[_0x27860b(0x23e)]['fileId'],'error':_0x18c912['message']}),_0x3af8bc['status'](0x1f4)['json']({'success':![],'error':_0x18c912['message']});}}),this[_0x4fd23f(0x23f)]['delete'](_0x4fd23f(0x201),async(_0x5dcf28,_0x275e27)=>{const _0xadce17=_0x4fd23f;try{const {fileId:_0xce1901}=_0x5dcf28[_0xadce17(0x23e)],{agentId:_0x451b18}=_0x5dcf28[_0xadce17(0x257)];if(!_0x451b18)return _0x275e27['status'](0x190)['json']({'success':![],'error':_0xadce17(0x1e8)});if(!this['orchestrator']?.[_0xadce17(0x1ba)])return _0x275e27[_0xadce17(0x1e0)](0x1f4)[_0xadce17(0x24b)]({'success':![],'error':_0xadce17(0x208)});const _0x410c66=await this['orchestrator']['fileAttachmentService']['deleteAttachment'](_0xce1901,_0x451b18);this['logger'][_0xadce17(0x27f)]('Attachment\x20deleted',{'fileId':_0xce1901,'agentId':_0x451b18,'physicallyDeleted':_0x410c66['physicallyDeleted']}),_0x275e27['json']({'success':!![],'message':_0x410c66['physicallyDeleted']?'Attachment\x20deleted':_0xadce17(0x206),'physicallyDeleted':_0x410c66[_0xadce17(0x27c)]});}catch(_0x45a70d){this[_0xadce17(0x1d2)]['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x5dcf28['params']['fileId'],'error':_0x45a70d[_0xadce17(0x254)]}),_0x275e27['status'](0x1f4)[_0xadce17(0x24b)]({'success':![],'error':_0x45a70d['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)]('/api/attachments/:fileId/import',async(_0x12360c,_0x40be0b)=>{const _0x482f94=_0x4fd23f;try{const {fileId:_0x4fa267}=_0x12360c[_0x482f94(0x23e)],{targetAgentId:_0x9dcd87}=_0x12360c['body'];if(!_0x9dcd87)return _0x40be0b['status'](0x190)['json']({'success':![],'error':_0x482f94(0x1ea)});if(!this[_0x482f94(0x28e)]?.[_0x482f94(0x1ba)])return _0x40be0b[_0x482f94(0x1e0)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x27e90e=await this[_0x482f94(0x28e)]['fileAttachmentService']['importFromAgent'](_0x4fa267,_0x9dcd87);this[_0x482f94(0x1d2)]['info']('Attachment imported',{'fileId':_0x4fa267,'targetAgentId':_0x9dcd87}),_0x40be0b['json']({'success':!![],'attachment':_0x27e90e});}catch(_0x423468){this['logger']['error']('Failed to import attachment',{'fileId':_0x12360c[_0x482f94(0x23e)]['fileId'],'error':_0x423468[_0x482f94(0x254)]}),_0x40be0b[_0x482f94(0x1e0)](0x1f4)['json']({'success':![],'error':_0x423468['message']});}}),this['app']['get']('/api/attachments/:fileId/preview',async(_0x5b6418,_0x4c5176)=>{const _0x57748c=_0x4fd23f;try{const {fileId:_0x54f22d}=_0x5b6418[_0x57748c(0x23e)];if(!this[_0x57748c(0x28e)]?.[_0x57748c(0x1ba)])return _0x4c5176[_0x57748c(0x1e0)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x1cee50=await this['orchestrator']['fileAttachmentService']['getAttachmentPreview'](_0x54f22d);if(!_0x1cee50)return _0x4c5176[_0x57748c(0x1e0)](0x194)[_0x57748c(0x24b)]({'success':![],'error':'Attachment\x20not\x20found'});_0x4c5176['json']({'success':!![],'preview':_0x1cee50});}catch(_0x2398c3){this['logger']['error']('Failed\x20to\x20get\x20attachment\x20preview',{'fileId':_0x5b6418['params']['fileId'],'error':_0x2398c3[_0x57748c(0x254)]}),_0x4c5176[_0x57748c(0x1e0)](0x1f4)[_0x57748c(0x24b)]({'success':![],'error':_0x2398c3[_0x57748c(0x254)]});}}),this['app'][_0x4fd23f(0x1f0)]('/api/images/:sessionId/:filename',async(_0x176db9,_0x5d7ebe)=>{const _0x2261c9=_0x4fd23f;try{const {sessionId:_0x26496d,filename:_0x75ff9b}=_0x176db9[_0x2261c9(0x23e)],_0x430382=this[_0x2261c9(0x1ad)]['get'](_0x26496d);if(!_0x430382)return _0x5d7ebe[_0x2261c9(0x1e0)](HTTP_STATUS['FORBIDDEN'])[_0x2261c9(0x24b)]({'success':![],'error':_0x2261c9(0x24d)});const _0xede34c=a0_0x5b6ab7[_0x2261c9(0x261)](_0x75ff9b);if(_0xede34c!==_0x75ff9b||_0x75ff9b[_0x2261c9(0x26d)]('..')||_0x75ff9b['includes']('/')||_0x75ff9b['includes']('\x5c'))return _0x5d7ebe[_0x2261c9(0x1e0)](HTTP_STATUS[_0x2261c9(0x274)])[_0x2261c9(0x24b)]({'success':![],'error':'Invalid\x20filename'});let _0x2fc79d=null;const _0x33e14f=[a0_0x5b6ab7['join'](_0x430382[_0x2261c9(0x202)]||process[_0x2261c9(0x209)](),'images',_0xede34c),a0_0x5b6ab7['join'](_0x2261c9(0x278),_0x26496d,_0xede34c),a0_0x5b6ab7['join']('/tmp/loxia-images',_0xede34c)];if(this['orchestrator']?.[_0x2261c9(0x1a9)])try{const _0x19fe20=await this[_0x2261c9(0x28e)][_0x2261c9(0x1a9)]['getAllAgents']();for(const _0x2d10 of _0x19fe20){_0x2d10[_0x2261c9(0x1a5)]?.[_0x2261c9(0x1bb)]&&_0x33e14f[_0x2261c9(0x1f5)](a0_0x5b6ab7['join'](_0x2d10[_0x2261c9(0x1a5)]['workingDirectory'],_0x2261c9(0x1f2),_0xede34c));}}catch(_0x1f01b6){this['logger'][_0x2261c9(0x21a)](_0x2261c9(0x262),{'error':_0x1f01b6[_0x2261c9(0x254)]});}for(const _0x3dbaee of _0x33e14f){try{const _0x1190fe=await a0_0x1dd5ef[_0x2261c9(0x220)](_0x3dbaee);if(_0x1190fe[_0x2261c9(0x20e)]()){_0x2fc79d=_0x3dbaee,this[_0x2261c9(0x1d2)]['info']('Image\x20found',{'filename':_0xede34c,'path':_0x2fc79d,'sessionId':_0x26496d});break;}}catch(_0x1bff78){continue;}}if(!_0x2fc79d)return this['logger'][_0x2261c9(0x21a)]('Image\x20not\x20found\x20in\x20any\x20search\x20path',{'filename':_0xede34c,'sessionId':_0x26496d,'searchPaths':_0x33e14f}),_0x5d7ebe[_0x2261c9(0x1e0)](HTTP_STATUS[_0x2261c9(0x269)])['json']({'success':![],'error':'Image\x20not\x20found'});_0x5d7ebe[_0x2261c9(0x1cb)](_0x2fc79d,_0x2dbd41=>{const _0x66628b=_0x2261c9;_0x2dbd41?(this[_0x66628b(0x1d2)][_0x66628b(0x1ac)]('Failed\x20to\x20send\x20image\x20file',{'error':_0x2dbd41['message'],'imagePath':_0x2fc79d,'filename':_0xede34c}),!_0x5d7ebe['headersSent']&&_0x5d7ebe['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x66628b(0x24b)]({'success':![],'error':'Failed\x20to\x20serve\x20image'})):this[_0x66628b(0x1d2)]['info'](_0x66628b(0x1b9),{'filename':_0xede34c,'path':_0x2fc79d,'sessionId':_0x26496d});});}catch(_0x4aac51){this['logger'][_0x2261c9(0x1ac)](_0x2261c9(0x1ff),{'error':_0x4aac51[_0x2261c9(0x254)],'sessionId':_0x176db9[_0x2261c9(0x23e)]['sessionId'],'filename':_0x176db9[_0x2261c9(0x23e)]['filename']}),_0x5d7ebe[_0x2261c9(0x1e0)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x2261c9(0x24b)]({'success':![],'error':_0x4aac51['message']});}}),this['app'][_0x4fd23f(0x19f)]('/api/agents/:agentId/mode',async(_0x53ce57,_0xcd7aac)=>{const _0x48ca04=_0x4fd23f;try{const {agentId:_0x878f23}=_0x53ce57['params'],{mode:_0xebc5a4,lockMode:lockMode=![],sessionId:_0x3c606c}=_0x53ce57[_0x48ca04(0x287)];if(!Object['values'](AGENT_MODES)[_0x48ca04(0x26d)](_0xebc5a4))return _0xcd7aac['status'](0x190)['json']({'success':![],'error':_0x48ca04(0x1be)+Object['values'](AGENT_MODES)[_0x48ca04(0x1bf)](',\x20')});const _0x8a723e=_0x3c606c||_0x53ce57['sessionID'];!_0x8a723e&&this['logger'][_0x48ca04(0x21a)](_0x48ca04(0x1b0),{'agentId':_0x878f23,'hasBodySessionId':!!_0x3c606c,'hasReqSessionId':!!_0x53ce57[_0x48ca04(0x1ec)]});const _0x2e666c={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x8a723e,'action':'update_agent','payload':{'agentId':_0x878f23,'updates':{'mode':_0xebc5a4}}},_0x181dc6=await this[_0x48ca04(0x28e)]['processRequest'](_0x2e666c);if(_0x181dc6[_0x48ca04(0x1b7)]){const _0xbfa6f7=_0x181dc6['data'];this['logger'][_0x48ca04(0x27f)]('Agent\x20mode\x20updated:\x20'+_0x878f23,{'newMode':_0xebc5a4,'lockMode':lockMode,'finalMode':_0xbfa6f7?.[_0x48ca04(0x1d1)]}),this['broadcastToSession'](_0x2e666c['sessionId'],{'type':_0x48ca04(0x27b),'agentId':_0x878f23,'mode':_0xbfa6f7?.[_0x48ca04(0x1d1)],'modeState':_0xbfa6f7?.['modeState']}),_0xcd7aac[_0x48ca04(0x24b)]({'success':!![],'agent':_0xbfa6f7,'message':'Agent\x20mode\x20switched\x20to\x20'+_0xbfa6f7?.[_0x48ca04(0x1d1)]});}else _0xcd7aac['status'](0x190)['json']({'success':![],'error':_0x181dc6['error']||_0x48ca04(0x1d6)});}catch(_0x2340af){this[_0x48ca04(0x1d2)][_0x48ca04(0x1ac)]('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0x53ce57['params']['agentId'],'error':_0x2340af['message']}),_0xcd7aac['status'](0x1f4)['json']({'success':![],'error':_0x2340af[_0x48ca04(0x254)]});}}),this['app']['post'](_0x4fd23f(0x1b5),async(_0x53bc54,_0x290249)=>{const _0x147ea1=_0x4fd23f;try{const {agentId:_0x1d9ed8}=_0x53bc54['params'],_0x2f3773=this[_0x147ea1(0x28e)][_0x147ea1(0x19c)];if(!_0x2f3773)return _0x290249['status'](0x1f4)[_0x147ea1(0x24b)]({'success':![],'error':_0x147ea1(0x24c)});const _0x339adf=await _0x2f3773[_0x147ea1(0x263)](_0x1d9ed8);this[_0x147ea1(0x1d2)][_0x147ea1(0x27f)]('Autonomous\x20execution\x20stop\x20requested:\x20'+_0x1d9ed8);const _0x176384=_0x53bc54['sessionID']||_0x339adf[_0x147ea1(0x267)]?.['sessionId'];_0x176384&&this[_0x147ea1(0x238)](_0x176384,{'type':_0x147ea1(0x27b),'agentId':_0x1d9ed8,'mode':_0x339adf['agent']?.['mode'],'modeState':_0x339adf['agent']?.['modeState']}),_0x290249['json'](_0x339adf);}catch(_0x3e84a5){this[_0x147ea1(0x1d2)][_0x147ea1(0x1ac)](_0x147ea1(0x1ed),{'agentId':_0x53bc54['params'][_0x147ea1(0x25f)],'error':_0x3e84a5['message']}),_0x290249[_0x147ea1(0x1e0)](0x1f4)['json']({'success':![],'error':_0x3e84a5['message']});}}),this['app']['get'](_0x4fd23f(0x227),async(_0x4f462c,_0x1cd064)=>{const _0x272f6b=_0x4fd23f;try{const {agentId:_0x4a97d4}=_0x4f462c['params'],_0x16afda={'interface':INTERFACE_TYPES[_0x272f6b(0x272)],'sessionId':_0x4f462c['sessionID'],'action':_0x272f6b(0x1f1),'payload':{'agentId':_0x4a97d4}},_0xdc951e=await this['orchestrator']['processRequest'](_0x16afda);_0xdc951e['success']&&_0xdc951e[_0x272f6b(0x267)]?_0x1cd064['json']({'success':!![],'mode':_0xdc951e[_0x272f6b(0x267)]['mode'],'modeState':_0xdc951e[_0x272f6b(0x267)]['modeState'],'currentTask':_0xdc951e[_0x272f6b(0x267)][_0x272f6b(0x22c)],'iterationCount':_0xdc951e['agent']['iterationCount'],'taskStartTime':_0xdc951e['agent']['taskStartTime'],'stopRequested':_0xdc951e['agent']['stopRequested']}):_0x1cd064['status'](0x194)[_0x272f6b(0x24b)]({'success':![],'error':'Agent\x20not\x20found'});}catch(_0x26da90){this['logger'][_0x272f6b(0x1ac)]('Failed\x20to\x20get\x20agent\x20mode\x20status',{'agentId':_0x4f462c[_0x272f6b(0x23e)][_0x272f6b(0x25f)],'error':_0x26da90['message']}),_0x1cd064['status'](0x1f4)[_0x272f6b(0x24b)]({'success':![],'error':_0x26da90[_0x272f6b(0x254)]});}}),this[_0x4fd23f(0x23f)]['get']('/api/agents/available',async(_0x1cb4f7,_0x465ef4)=>{const _0x51193b=_0x4fd23f;try{const _0x477fc4=this[_0x51193b(0x28e)]['config'][_0x51193b(0x1ae)]?.['directory']||process['cwd'](),_0x563b59=await this[_0x51193b(0x28e)][_0x51193b(0x226)][_0x51193b(0x1d9)](_0x477fc4,this['orchestrator'][_0x51193b(0x1a9)]);_0x465ef4['json']({'success':!![],'agents':_0x563b59,'total':_0x563b59['length'],'active':_0x563b59['filter'](_0x1c2c76=>_0x1c2c76['isLoaded'])[_0x51193b(0x26f)],'archived':_0x563b59[_0x51193b(0x20d)](_0x5cf995=>!_0x5cf995['isLoaded'])[_0x51193b(0x26f)]});}catch(_0x526bcb){this[_0x51193b(0x1d2)][_0x51193b(0x1ac)](_0x51193b(0x198),{'error':_0x526bcb['message'],'stack':_0x526bcb['stack']}),_0x465ef4[_0x51193b(0x1e0)](0x1f4)[_0x51193b(0x24b)]({'success':![],'error':_0x526bcb['message']});}}),this['app']['get']('/api/agents/:agentId/metadata',async(_0x5b93e8,_0x12c79c)=>{const _0x483477=_0x4fd23f;try{const {agentId:_0x8058c6}=_0x5b93e8[_0x483477(0x23e)],_0x495889=this['orchestrator']['config']['project']?.[_0x483477(0x242)]||process['cwd'](),_0x38b22a=await this['orchestrator']['stateManager']['getAgentMetadata'](_0x8058c6,_0x495889);_0x12c79c[_0x483477(0x24b)]({'success':!![],'metadata':_0x38b22a});}catch(_0x1e29bc){this['logger']['error']('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x5b93e8['params']['agentId'],'error':_0x1e29bc[_0x483477(0x254)]}),_0x12c79c['status'](0x194)[_0x483477(0x24b)]({'success':![],'error':_0x1e29bc['message']});}}),this[_0x4fd23f(0x23f)]['post']('/api/agents/import',async(_0xdd6d89,_0x1d8f9e)=>{const _0xec4a23=_0x4fd23f;try{const {agentId:_0xa7a031}=_0xdd6d89[_0xec4a23(0x287)];if(!_0xa7a031)return _0x1d8f9e[_0xec4a23(0x1e0)](0x190)['json']({'success':![],'error':_0xec4a23(0x255)});const _0x2449f3=this[_0xec4a23(0x28e)]['config']['project']?.['directory']||process['cwd'](),_0x8fc8e5=await this['orchestrator']['stateManager'][_0xec4a23(0x1db)](_0xa7a031,_0x2449f3,this[_0xec4a23(0x28e)]['agentPool']);this[_0xec4a23(0x241)]&&this['wsManager'][_0xec4a23(0x1d4)]({'type':'agent-imported','agent':{'id':_0x8fc8e5['id'],'name':_0x8fc8e5['name'],'status':_0x8fc8e5['status'],'capabilities':_0x8fc8e5[_0xec4a23(0x22d)],'model':_0x8fc8e5['currentModel']||_0x8fc8e5['preferredModel']}}),this[_0xec4a23(0x1d2)]['info']('Agent imported successfully',{'agentId':_0x8fc8e5['id'],'name':_0x8fc8e5[_0xec4a23(0x282)]}),_0x1d8f9e[_0xec4a23(0x24b)]({'success':!![],'agent':{'id':_0x8fc8e5['id'],'name':_0x8fc8e5['name'],'status':_0x8fc8e5['status'],'model':_0x8fc8e5[_0xec4a23(0x214)]||_0x8fc8e5['preferredModel'],'capabilities':_0x8fc8e5['capabilities'],'lastActivity':_0x8fc8e5['lastActivity']},'message':_0xec4a23(0x211)+_0x8fc8e5[_0xec4a23(0x282)]+_0xec4a23(0x284)});}catch(_0x5d1f8f){this['logger']['error']('Failed to import agent',{'agentId':_0xdd6d89[_0xec4a23(0x287)]['agentId'],'error':_0x5d1f8f['message'],'stack':_0x5d1f8f['stack']});const _0x55eb12=_0x5d1f8f['message'][_0xec4a23(0x26d)]('already\x20active')?0x199:_0x5d1f8f['message']['includes']('not\x20found')?0x194:_0x5d1f8f['message'][_0xec4a23(0x26d)](_0xec4a23(0x258))?0x190:0x1f4;_0x1d8f9e[_0xec4a23(0x1e0)](_0x55eb12)['json']({'success':![],'error':_0x5d1f8f[_0xec4a23(0x254)]});}}),this[_0x4fd23f(0x23f)]['get']('*',(_0x2c7e48,_0x4c1f08)=>{const _0x108549=_0x4fd23f,_0x452917=a0_0x5b6ab7[_0x108549(0x1bf)](__dirname,_0x108549(0x1e1));_0x4c1f08[_0x108549(0x1cb)](_0x452917,_0x56f0c0=>{const _0x10e6d4=_0x108549;_0x56f0c0&&_0x4c1f08['status'](HTTP_STATUS[_0x10e6d4(0x269)])['send'](_0x10e6d4(0x286));});});}['setupWebSocket'](){const _0x3ae740=a0_0x284faf;this['logger'][_0x3ae740(0x27f)](_0x3ae740(0x205),{'port':this[_0x3ae740(0x221)],'host':this['host'],'wsServerExists':!!this['wss'],'httpServerExists':!!this[_0x3ae740(0x1fe)]}),this['wss']['on'](_0x3ae740(0x1ac),_0x2df47f=>{const _0x3aef37=_0x3ae740;this['logger'][_0x3aef37(0x1ac)]('WebSocket\x20server\x20error:',{'error':_0x2df47f['message'],'stack':_0x2df47f[_0x3aef37(0x268)],'port':this[_0x3aef37(0x221)]});}),this['wss']['on']('listening',()=>{const _0x8332e0=_0x3ae740;this['logger'][_0x8332e0(0x27f)](_0x8332e0(0x233),{'port':this[_0x8332e0(0x221)],'host':this[_0x8332e0(0x20b)]});}),this['wss']['on']('connection',(_0x3d1bb8,_0x1f13b2)=>{const _0x37ca1b=_0x3ae740,_0x4eced4=_0x37ca1b(0x1c5)+Date['now']()+'-'+Math[_0x37ca1b(0x264)]()[_0x37ca1b(0x219)](0x24)[_0x37ca1b(0x23a)](0x2,0x9);this['logger']['info']('WebSocket\x20connection\x20established',{'connectionId':_0x4eced4,'ip':_0x1f13b2['socket']['remoteAddress'],'origin':_0x1f13b2['headers'][_0x37ca1b(0x24e)],'host':_0x1f13b2['headers'][_0x37ca1b(0x20b)],'userAgent':_0x1f13b2['headers'][_0x37ca1b(0x1a0)],'url':_0x1f13b2['url']});const _0x2b2870={'id':_0x4eced4,'ws':_0x3d1bb8,'sessionId':null,'connectedAt':new Date()[_0x37ca1b(0x197)](),'lastActivity':new Date()['toISOString']()};this[_0x37ca1b(0x1c6)][_0x37ca1b(0x248)](_0x4eced4,_0x2b2870),_0x3d1bb8['on'](_0x37ca1b(0x254),async _0x373e52=>{const _0x87c8c5=_0x37ca1b;try{const _0x44e138=JSON[_0x87c8c5(0x22b)](_0x373e52[_0x87c8c5(0x219)]());await this['handleWebSocketMessage'](_0x4eced4,_0x44e138);}catch(_0x1ca1f6){this['logger'][_0x87c8c5(0x1ac)]('WebSocket\x20message\x20error',{'connectionId':_0x4eced4,'error':_0x1ca1f6['message']}),_0x3d1bb8['send'](JSON['stringify']({'type':'error','error':_0x1ca1f6['message']}));}}),_0x3d1bb8['on'](_0x37ca1b(0x245),()=>{const _0x4f1423=_0x37ca1b;this[_0x4f1423(0x1d2)]['info']('WebSocket\x20connection\x20closed',{'connectionId':_0x4eced4}),this[_0x4f1423(0x1c6)][_0x4f1423(0x20a)](_0x4eced4);}),_0x3d1bb8[_0x37ca1b(0x1cf)](JSON[_0x37ca1b(0x1c9)]({'type':_0x37ca1b(0x1fb),'connectionId':_0x4eced4,'timestamp':new Date()[_0x37ca1b(0x197)]()}));});}async['handleWebSocketMessage'](_0x26a86a,_0x35744c){const _0x570172=a0_0x284faf,_0x325e16=this['connections']['get'](_0x26a86a);if(!_0x325e16)return;_0x325e16['lastActivity']=new Date()[_0x570172(0x197)]();switch(_0x35744c['type']){case'join_session':const _0x367035=_0x35744c[_0x570172(0x280)];_0x325e16['sessionId']=_0x367035,this[_0x570172(0x1d2)][_0x570172(0x27f)](_0x570172(0x1fa),{'connectionId':_0x26a86a,'sessionId':_0x367035,'totalConnectionsForSession':Array[_0x570172(0x25b)](this[_0x570172(0x1c6)][_0x570172(0x271)]())['filter'](_0x42822c=>_0x42822c['sessionId']===_0x367035)[_0x570172(0x26f)]}),_0x325e16['ws']['send'](JSON['stringify']({'type':'session_joined','sessionId':_0x367035}));break;case _0x570172(0x200):_0x325e16['ws'][_0x570172(0x1cf)](JSON[_0x570172(0x1c9)]({'type':_0x570172(0x244),'timestamp':new Date()['toISOString']()}));break;case _0x570172(0x1ef):try{const _0x40dc86={'interface':INTERFACE_TYPES[_0x570172(0x272)],'sessionId':_0x325e16['sessionId'],'action':_0x35744c[_0x570172(0x24f)],'payload':_0x35744c[_0x570172(0x1e3)],'projectDir':_0x35744c[_0x570172(0x202)]||process[_0x570172(0x209)]()},_0x2dbf7d=await this['orchestrator'][_0x570172(0x285)](_0x40dc86);_0x325e16['ws'][_0x570172(0x1cf)](JSON[_0x570172(0x1c9)]({'type':'orchestrator_response','requestId':_0x35744c[_0x570172(0x1ee)],'response':_0x2dbf7d}));}catch(_0x21c2b9){_0x325e16['ws']['send'](JSON['stringify']({'type':_0x570172(0x1ac),'requestId':_0x35744c[_0x570172(0x1ee)],'error':_0x21c2b9['message']}));}break;default:this[_0x570172(0x1d2)][_0x570172(0x21a)](_0x570172(0x1e6),{'connectionId':_0x26a86a,'type':_0x35744c['type']});}}[a0_0x284faf(0x238)](_0x576df1,_0x16aacc){const _0x33ca9b=a0_0x284faf,_0x24194f=Array['from'](this['connections']['values']())[_0x33ca9b(0x20d)](_0x60c5cf=>_0x60c5cf[_0x33ca9b(0x280)]===_0x576df1);let _0x967351=[];_0x24194f[_0x33ca9b(0x26f)]===0x0&&(_0x967351=Array[_0x33ca9b(0x25b)](this[_0x33ca9b(0x1c6)]['values']()),this[_0x33ca9b(0x1d2)]?.['warn']('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x576df1,'totalConnections':this['connections'][_0x33ca9b(0x1a8)],'allSessionIds':Array['from'](this[_0x33ca9b(0x1c6)][_0x33ca9b(0x271)]())[_0x33ca9b(0x1e2)](_0x317411=>_0x317411['sessionId'])['filter'](Boolean)}));const _0x49e78f=_0x24194f['length']>0x0?_0x24194f:_0x967351;this[_0x33ca9b(0x1d2)]?.[_0x33ca9b(0x27f)]('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x576df1,'messageType':_0x16aacc[_0x33ca9b(0x26e)],'agentId':_0x16aacc['agentId'],'totalConnections':this[_0x33ca9b(0x1c6)][_0x33ca9b(0x1a8)],'sessionConnections':_0x24194f['length'],'targetConnections':_0x49e78f['length'],'connectionIds':_0x49e78f['map'](_0x3c349e=>_0x3c349e['id']),'usingFallback':_0x24194f['length']===0x0,'messagePreview':_0x16aacc[_0x33ca9b(0x26e)]==='autonomous_update'&&_0x16aacc['message']?{'messageId':_0x16aacc[_0x33ca9b(0x254)]['id'],'messageRole':_0x16aacc[_0x33ca9b(0x254)][_0x33ca9b(0x230)],'contentLength':_0x16aacc[_0x33ca9b(0x254)]['content']?.['length'],'hasToolResults':!!_0x16aacc['message']['toolResults']}:undefined});for(const _0x4750c5 of _0x49e78f){try{const _0x312c56={..._0x16aacc,'timestamp':new Date()[_0x33ca9b(0x197)]()};_0x4750c5['ws'][_0x33ca9b(0x1cf)](JSON[_0x33ca9b(0x1c9)](_0x312c56)),this['logger']?.[_0x33ca9b(0x27f)](_0x33ca9b(0x21e),{'connectionId':_0x4750c5['id'],'messageType':_0x16aacc['type'],'agentId':_0x16aacc[_0x33ca9b(0x25f)]});}catch(_0x29c369){this['logger'][_0x33ca9b(0x21a)]('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x4750c5['id'],'sessionId':_0x576df1,'messageType':_0x16aacc['type'],'error':_0x29c369[_0x33ca9b(0x254)]});}}}async['startServer'](){return new Promise((_0x4c5783,_0x26619c)=>{const _0x18b9be=a0_0x29b9;this[_0x18b9be(0x1fe)][_0x18b9be(0x204)](this[_0x18b9be(0x221)],this[_0x18b9be(0x20b)],_0x1c886b=>{const _0x94f984=_0x18b9be;_0x1c886b?(this['logger'][_0x94f984(0x1ac)]('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0x1c886b['message'],'port':this[_0x94f984(0x221)],'host':this[_0x94f984(0x20b)]}),_0x26619c(_0x1c886b)):(this[_0x94f984(0x1dc)]=!![],this['logger']['info'](_0x94f984(0x22f),{'port':this['port'],'host':this[_0x94f984(0x20b)],'httpUrl':_0x94f984(0x253)+this[_0x94f984(0x20b)]+':'+this['port'],'wsUrl':_0x94f984(0x283)+this[_0x94f984(0x20b)]+':'+this[_0x94f984(0x221)],'wsServerAttached':!!this[_0x94f984(0x1af)],'wsConnections':this['connections'][_0x94f984(0x1a8)]}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x4c5783());}),this['server']['on'](_0x18b9be(0x1ac),_0x2cb62e=>{const _0x1229f8=_0x18b9be;this['logger'][_0x1229f8(0x1ac)]('HTTP\x20server\x20error:',{'error':_0x2cb62e['message'],'stack':_0x2cb62e['stack'],'port':this['port']});});});}async['testWebSocketServer'](){const _0x1e5f76=a0_0x284faf;try{const {default:_0x24f53c}=await import('ws'),_0x57298e=new _0x24f53c(_0x1e5f76(0x1f9)+this[_0x1e5f76(0x221)]);_0x57298e['on']('open',()=>{const _0x3c612e=_0x1e5f76;this[_0x3c612e(0x1d2)][_0x3c612e(0x27f)](_0x3c612e(0x28a),{'port':this['port'],'url':'ws://localhost:'+this[_0x3c612e(0x221)]}),_0x57298e[_0x3c612e(0x245)]();}),_0x57298e['on'](_0x1e5f76(0x1ac),_0x44b9a1=>{const _0x3af17a=_0x1e5f76;this['logger'][_0x3af17a(0x1ac)]('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this['port'],'url':_0x3af17a(0x1f9)+this['port'],'error':_0x44b9a1[_0x3af17a(0x254)],'code':_0x44b9a1['code']});}),_0x57298e['on'](_0x1e5f76(0x245),(_0x457533,_0x53d7b6)=>{const _0x2afd6b=_0x1e5f76;_0x457533===0x3e8&&this['logger'][_0x2afd6b(0x27f)](_0x2afd6b(0x1da));}),setTimeout(()=>{const _0x44d1d5=_0x1e5f76;_0x57298e['readyState']===_0x24f53c['CONNECTING']&&(this[_0x44d1d5(0x1d2)]['error']('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this['port'],'url':'ws://localhost:'+this[_0x44d1d5(0x221)],'readyState':_0x57298e[_0x44d1d5(0x23d)]}),_0x57298e['terminate']());},0x1388);}catch(_0x41e59e){this[_0x1e5f76(0x1d2)]['error'](_0x1e5f76(0x224),{'error':_0x41e59e['message'],'stack':_0x41e59e['stack']});}}['setApiKeyManager'](_0x4c0bee){const _0x5ceabe=a0_0x284faf;this['apiKeyManager']=_0x4c0bee,this['logger']?.[_0x5ceabe(0x27f)](_0x5ceabe(0x265),{'hasManager':!!_0x4c0bee});}['_getVendorFromModel'](_0x5dcbf1){const _0x5460a5=a0_0x284faf;if(!_0x5dcbf1)return null;const _0x9a7aac=_0x5dcbf1[_0x5460a5(0x28b)]();if(_0x9a7aac['includes'](_0x5460a5(0x232))||_0x9a7aac[_0x5460a5(0x26d)](_0x5460a5(0x22e)))return _0x5460a5(0x232);else{if(_0x9a7aac['includes'](_0x5460a5(0x1a4))||_0x9a7aac['includes'](_0x5460a5(0x1ce)))return'openai';else{if(_0x9a7aac['includes'](_0x5460a5(0x215)))return'deepseek';else{if(_0x9a7aac['includes']('phi'))return _0x5460a5(0x1d7);}}}return null;}['getStatus'](){const _0x3cc040=a0_0x284faf;return{'isRunning':this[_0x3cc040(0x1dc)],'port':this['port'],'host':this[_0x3cc040(0x20b)],'connections':this['connections'][_0x3cc040(0x1a8)],'sessions':this[_0x3cc040(0x1ad)][_0x3cc040(0x1a8)],'url':_0x3cc040(0x253)+this[_0x3cc040(0x20b)]+':'+this['port']};}async['shutdown'](){const _0x35d2f1=a0_0x284faf;if(!this['isRunning'])return;this[_0x35d2f1(0x1d2)]['info']('Shutting\x20down\x20web\x20server...');for(const _0x2f9fd5 of this[_0x35d2f1(0x1c6)]['values']()){_0x2f9fd5['ws']['close']();}return this['connections'][_0x35d2f1(0x229)](),this['wss'][_0x35d2f1(0x245)](),new Promise(_0x3a9132=>{this['server']['close'](()=>{const _0x2dea78=a0_0x29b9;this[_0x2dea78(0x1dc)]=![],this['logger']['info']('Web\x20server\x20shutdown\x20complete'),_0x3a9132();});});}}export default WebServer;if(import.meta.url==='file://'+process[a0_0x284faf(0x213)][0x1]){const simpleLogger={'info':(_0x2c41cc,_0x3a7250)=>console[a0_0x284faf(0x251)](a0_0x284faf(0x1de)+_0x2c41cc,_0x3a7250?JSON[a0_0x284faf(0x1c9)](_0x3a7250,null,0x2):''),'error':(_0x38754b,_0x16093d)=>console['error']('[ERROR]\x20'+_0x38754b,_0x16093d?JSON[a0_0x284faf(0x1c9)](_0x16093d,null,0x2):''),'warn':(_0x597cec,_0xd69c40)=>console[a0_0x284faf(0x21a)]('[WARN]\x20'+_0x597cec,_0xd69c40?JSON['stringify'](_0xd69c40,null,0x2):''),'debug':(_0x172b9b,_0xa881d3)=>console[a0_0x284faf(0x251)](a0_0x284faf(0x1b8)+_0x172b9b,_0xa881d3?JSON[a0_0x284faf(0x1c9)](_0xa881d3,null,0x2):'')},mockOrchestrator={'processAction':async(_0x486c93,_0x3e27c1)=>{const _0x3ac4ce=a0_0x284faf;simpleLogger['info'](_0x3ac4ce(0x1b1),{'action':_0x486c93,'data':_0x3e27c1});switch(_0x486c93){case ORCHESTRATOR_ACTIONS[_0x3ac4ce(0x28f)]:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x3ac4ce(0x1ca)]:return{'success':!![],'data':{'id':_0x3ac4ce(0x281)+Date[_0x3ac4ce(0x237)](),'name':_0x3e27c1['name']||_0x3ac4ce(0x1dd),'status':'active','model':_0x3e27c1[_0x3ac4ce(0x260)]||'anthropic-sonnet','systemPrompt':_0x3e27c1[_0x3ac4ce(0x1c2)]||_0x3ac4ce(0x240)}};case ORCHESTRATOR_ACTIONS['SEND_MESSAGE']:return{'success':!![],'data':{'message':{'id':'msg-'+Date['now'](),'content':'Echo:\x20'+_0x3e27c1[_0x3ac4ce(0x254)],'timestamp':new Date()[_0x3ac4ce(0x197)]()}}};default:return{'success':![],'error':'Unknown\x20action:\x20'+_0x486c93};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':a0_0x284faf(0x1eb)});console['log'](a0_0x284faf(0x231)),server['startServer']()[a0_0x284faf(0x1e5)](()=>{const _0x5de873=a0_0x284faf,_0x1a7196=server['getStatus']();console['log'](_0x5de873(0x27d)+_0x1a7196['url']),console[_0x5de873(0x251)]('📱\x20Web\x20UI\x20available\x20at:\x20http://localhost:3001\x20(if\x20running)'),console['log'](_0x5de873(0x1aa));})['catch'](_0x5b7f33=>{const _0x16d3dc=a0_0x284faf;console[_0x16d3dc(0x1ac)](_0x16d3dc(0x217),_0x5b7f33[_0x16d3dc(0x254)]),process[_0x16d3dc(0x1c4)](0x1);}),process['on'](a0_0x284faf(0x256),async()=>{const _0x1663f3=a0_0x284faf;console[_0x1663f3(0x251)](_0x1663f3(0x249)),await server['shutdown'](),process[_0x1663f3(0x1c4)](0x0);});}
|
|
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 +1 @@
|
|
|
1
|
-
const
|
|
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 +1 @@
|
|
|
1
|
-
function
|
|
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 +1 @@
|
|
|
1
|
-
function
|
|
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 +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;
|
|
@@ -0,0 +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};
|