@loxia-labs/loxia-autopilot-one 1.0.12 → 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 -2
- 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
|
-
function a0_0x9b06(_0x4c1b96,_0x330c50){_0x4c1b96=_0x4c1b96-0x139;const _0x33e235=a0_0x33e2();let _0x9b0617=_0x33e235[_0x4c1b96];if(a0_0x9b06['kuxLJJ']===undefined){var _0x39742b=function(_0x38b54b){const _0xd62ac1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2cf59e='',_0x3ba4d3='';for(let _0x315721=0x0,_0x31aeca,_0x5c8850,_0x1bd827=0x0;_0x5c8850=_0x38b54b['charAt'](_0x1bd827++);~_0x5c8850&&(_0x31aeca=_0x315721%0x4?_0x31aeca*0x40+_0x5c8850:_0x5c8850,_0x315721++%0x4)?_0x2cf59e+=String['fromCharCode'](0xff&_0x31aeca>>(-0x2*_0x315721&0x6)):0x0){_0x5c8850=_0xd62ac1['indexOf'](_0x5c8850);}for(let _0x15c3bd=0x0,_0x3afc29=_0x2cf59e['length'];_0x15c3bd<_0x3afc29;_0x15c3bd++){_0x3ba4d3+='%'+('00'+_0x2cf59e['charCodeAt'](_0x15c3bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ba4d3);};a0_0x9b06['ONfQCS']=_0x39742b,a0_0x9b06['mdmmSq']={},a0_0x9b06['kuxLJJ']=!![];}const _0x6c7552=_0x33e235[0x0],_0x347e06=_0x4c1b96+_0x6c7552,_0x3f2f27=a0_0x9b06['mdmmSq'][_0x347e06];return!_0x3f2f27?(_0x9b0617=a0_0x9b06['ONfQCS'](_0x9b0617),a0_0x9b06['mdmmSq'][_0x347e06]=_0x9b0617):_0x9b0617=_0x3f2f27,_0x9b0617;}const a0_0x6a209e=a0_0x9b06;(function(_0x159f11,_0x64ce71){const _0x37cfae=a0_0x9b06,_0x50afaf=_0x159f11();while(!![]){try{const _0x18b713=-parseInt(_0x37cfae(0x21e))/0x1*(parseInt(_0x37cfae(0x1f5))/0x2)+parseInt(_0x37cfae(0x160))/0x3*(parseInt(_0x37cfae(0x17c))/0x4)+parseInt(_0x37cfae(0x140))/0x5*(-parseInt(_0x37cfae(0x19f))/0x6)+parseInt(_0x37cfae(0x1ef))/0x7*(parseInt(_0x37cfae(0x1f3))/0x8)+parseInt(_0x37cfae(0x171))/0x9+-parseInt(_0x37cfae(0x1e3))/0xa*(parseInt(_0x37cfae(0x1ff))/0xb)+parseInt(_0x37cfae(0x193))/0xc*(parseInt(_0x37cfae(0x175))/0xd);if(_0x18b713===_0x64ce71)break;else _0x50afaf['push'](_0x50afaf['shift']());}catch(_0x91c2e){_0x50afaf['push'](_0x50afaf['shift']());}}}(a0_0x33e2,0xb1d4c));import a0_0x2cf59e from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x3ba4d3 from'path';import{promises as a0_0x315721}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_0x3ba4d3[a0_0x6a209e(0x1b1)](__filename);function a0_0x33e2(){const _0x346e28=['tw9KzwXZihjLzNjLC2HLzcb3AxrOig5LDYbbueKGA2v5','Bwv0Ag9K','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3rVz2DSzq','l2fWAs9ZzxnZAw9UCW','C3vIC3rY','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','l2fWAs9LEhbSB3jLCI9TA2rPCG','Cgf5Bg9Hza','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','C3rVCef1Dg9UB21VDxnfEgvJDxrPB24','yxv0Ag9YAxPHDgLVBG','D3nnyw5Hz2vY','C2vZC2LVBNm','mti1AgPtsLz3','yMLYDgH0Aw1L','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','z2v0qxzHAwXHyMXLvg9VBhngB3jvsq','Ag9ZDa','BgLZDgvU','y29Kzq','BxrPBwu','zxjYB3i','y29UBMvJDgLVBG','ue9tva','rMfPBgvKihrVignVBM5Ly3qGDg8GquKGC2vYDMLJzq','v2vIihnLCNzLCIbZAhv0zg93BIbJB21WBgv0zq','AxngAwXL','rMfPBgvKihrVihvWBg9HzcbMAwXLigf0DgfJAg1LBNq','x2DLDfzLBMrVCKzYB21nB2rLBa','ywn0Aw9U','Cg9ZDa','ANnVBG','v0vc','qMvHCMvYia','Cg9UzW','DgfZA1n0yxj0vgLTzq','Aw1WB3j0rNjVBufNzw50','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','DxjS','qwDLBNqG','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','BxnNlq','tK9ux0zpvu5e','BwTKAxi','DMvYC2LVBG','mJC2ntq0mKLjqxnwtq','Dg9Nz2XLqwn0AxzL','AgvHzgvYCW','ywDLBNqT','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','Bw9Kzq','D2fYBG','y3vYCMvUDe1VzgvS','AxnsDw5UAw5N','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','yxbPs2v5','zgLYzwn0B3j5qwnJzxnZ','Ahr0CdOVlW','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGveLnru9vva','zgvSzxrL','t1busu9ouW','nZC2odG2m0X3qvfAEG','BwfW','u0Lhsu5u','rMfPBgvKihrVigDLDcbbueKGA2v5ihn0yxr1CW','ndGXEM1UuhDo','l2fWAs9OzwfSDgG','lI4VlI4VCgfJA2fNzs5QC29U','CMvHzgrPCG','C3rHDhvZ','w0vsuK9sxsa','Cg9YDa','nhLHA2HSua','y29UDgvUDa','Cgf0y2G','BgvUz3rO','CMvX','C2L6zq','ywDLBNrjza','sfruucbZzxj2zxiGzxjYB3i6','Bg9Nz2vY','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','Dg9VBfjLC3vSDhm','Dg9tDhjPBMC','C3rVCfjLCxvLC3rLza','ChjVAMvJDerPCG','B3bLBMfP','l2fWAs9VCMnOzxn0CMf0B3i','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','ms4WlJa','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','zgvLChnLzwS','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','sw52ywXPzcbMAwXLBMfTzq','nJq5mdKYq1rPy21o','C3rHDgLJ','A2v5CW','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','y29UzMLN','C2H1DgrVD24','z2v0u3rHDhvZ','CgLUzW','C3rHCNrZv2L0Aa','z2v0qxr0ywnOBwvUDa','DgvZDfDLyLnVy2TLDfnLCNzLCG','z2v0','mZa4mtq4yw5AzKTV','qxr0ywnOBwvUDcbKzwXLDgvK','zw52','zNjVBq','DxnL','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','zMLSDgvY','CMvXDwvZDeLK','DxnLCI1Hz2vUDa','8j+uHcboBYbJB25Uzwn0Aw9UCYbMB3iGC2vZC2LVBIWGDhj5Aw5NigfSBcbJB25Uzwn0Aw9UCZO','qwDLBNqGBM90igzVDw5K','t3jPz2LUlcbylvjLCxvLC3rLzc1xAxrOlcbdB250zw50lvr5CguSiefJy2vWDcWGqxv0Ag9YAxPHDgLVBG','AgvHzgvYC1nLBNq','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','ChjVy2vZC1jLCxvLC3q','q1jfqvrfx0fhru5u','zgLYBMfTzq','ywDLBNrqB29S','CgfYyw1Z','DMfSDwvZ','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','C3vJy2vZCW','zgvIDwC','zxHPDa','DgvYBwLUyxrL','CgfYC2u','CMvZB2X2zq','AxneAxjLy3rVCNK','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','ywDLBNrjzcbPCYbYzxf1AxjLzcbPBIbYzxf1zxn0igjVzhK','C2v0qxbPs2v5twfUywDLCG','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','l3rTCc9SB3HPys1PBwfNzxm','CgH5C2LJywXSEurLBgv0zwq','C3rHDhvZvgv4Da','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','CxvLCNK','yxbW','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','DxrMoa','C2vYDMvY','u0vorf9nrvntquDf','vw5RBM93BIbHy3rPB246ia','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','y2f0zwDVCNK','y2XVC2u','y3DK','zMLSzq','4P2miezHAwXLzcb0BYbZzw5KifDLyLnVy2TLDcbTzxnZywDL','l2fWAs9MAwXLCW','D3nZ','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','y29UBMvJDgvK','rMfPBgvKihrVigDLDcbHz2vUDcbTzxrHzgf0yq','su5urvjoquXFu0vsvKvsx0vsuK9s','D3m6lY8','y2fWywjPBgL0AwvZ','yM9KEq','mc4WlJaUma','l2fWAs9SBg0Vy2HHDa','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','CMvHzhLtDgf0zq','nJq0mZu3mgPusLbPEG','AgvHBhrOEq','DgHLBG','D29YA2LUz0rPCMvJDg9YEq','lI4VlI4VD2vIlxvPl2j1AwXK','Bg9N','BMfTzq','Aw5MBW','zMLSzuv4CgXVCMvYtw9KDwXL','Aw5JBhvKzxm','DxjSzw5JB2rLza','D2vIlq','mZvvwM9UC2S','Bg94AwfbCgLlzxK','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','C2v0DxbnAwrKBgv3yxjL','mJy4ntiWyNncq2TN','w0LorK9Dia','mKfdEfPPBG','CgHP','C2v0DxbsB3v0zxm','C2v0','yxbWBgLJyxrPB24VANnVBG','w0rfqLvhxsa','y29UBMvJDgLVBNm','yw50AhjVCgLJlxnVBM5LDa','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','Bw9KzwW','mtfIrgHuyLu','sw52ywXPzcbZzxnZAw9U','AgvHzgvY','ywDLBNq','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','DMvUzg9YqxbPs2v5','CMfUzg9T','DhLWzq','Dg9ju09tDhjPBMC','AM9PBG','ywn0AxzL','C3rHDa','C2vZC2LVBKLK','BgfZDefJDgL2Axr5','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','Aw5PDgLHBgL6zq','B3jPz2LU','CMvSyxrPDMu','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','Aw1WB3j0qxjJAgL2zwrbz2vUDa','v2vIu29JA2v0igPVAw5LzcbZzxnZAw9U','C2v0DxbxzwjtB2nRzxq','C3vIC3rYAw5N','ChjVAMvJDa','C29JA2v0','vxnLCI1bz2vUDa','BwvZC2fNzq','B3jJAgvZDhjHDg9Y','C3rHy2S','mti5nZuXmfjNA292Aa','C2vUza','rMfPBgvKihrVihnLBMqGAw1Hz2uGzMLSzq','l2fWAs9RzxLZlZPZzxnZAw9Uswq','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','w1DbuK5Dia','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','C2vZC2LVBKLe','y2XLyxi','C3rHCNrtzxj2zxi','yNjVywrJyxn0vg9tzxnZAw9U','zgLYzwn0B3j5','yw50AhjVCgLJ','l2fWAs9RzxLZ','zgvSzxrLqxr0ywnOBwvUDa','DxbKyxrLzef0','C29YDa','yxbPs2v5twfUywDLCG','ywDLBNrFBw9Kzv9JAgfUz2vK','AxrLCMf0Aw9Uq291BNq','C3rYAw5NAwz5','te9ysufFqvbjx0Tfwq','qvbjigTLExmGDxbKyxrLzcbZDwnJzxnZzNvSBhK','y2f0y2G','C2vUzezPBgu','Aw1Hz2vZ','Bw9Kzvn0yxrL','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','zMLSzuLK','mtbTyG'];a0_0x33e2=function(){return _0x346e28;};return a0_0x33e2();}class WebServer{constructor(_0x31aeca,_0x5c8850,_0x1bd827={}){const _0x2032a6=a0_0x6a209e;this[_0x2032a6(0x21c)]=_0x31aeca,this[_0x2032a6(0x184)]=_0x5c8850,this['config']=_0x1bd827,this[_0x2032a6(0x17b)]=_0x1bd827[_0x2032a6(0x17b)]||0x1f90,this['host']=_0x1bd827['host']||'localhost',this['app']=a0_0x2cf59e(),this[_0x2032a6(0x1cc)]=createServer(this['app']),this[_0x2032a6(0x1d6)]=new WebSocketServer({'server':this['server'],'verifyClient':_0x15c3bd=>{const _0xda9152=_0x2032a6;return this[_0xda9152(0x184)]?.['info'](_0xda9152(0x1c5),{'origin':_0x15c3bd['origin'],'host':_0x15c3bd[_0xda9152(0x180)][_0xda9152(0x162)]['host'],'userAgent':_0x15c3bd[_0xda9152(0x180)][_0xda9152(0x162)][_0xda9152(0x1a9)],'url':_0x15c3bd[_0xda9152(0x180)][_0xda9152(0x159)]}),!![];}}),this['connections']=new Map(),this['sessions']=new Map(),this['apiKeyManager']=null,this[_0x2032a6(0x168)]=![];}async[a0_0x6a209e(0x210)](){const _0x33a4ca=a0_0x6a209e;try{this['setupMiddleware'](),this[_0x33a4ca(0x1f7)](),this['setupWebSocket'](),await this['startServer'](),this[_0x33a4ca(0x184)]['info']('Web\x20server\x20initialized',{'port':this['port'],'host':this[_0x33a4ca(0x144)],'url':_0x33a4ca(0x16d)+this['host']+':'+this[_0x33a4ca(0x17b)]});}catch(_0x3afc29){this['logger'][_0x33a4ca(0x148)]('Web\x20server\x20initialization\x20failed',{'error':_0x3afc29['message'],'stack':_0x3afc29[_0x33a4ca(0x21d)]});throw _0x3afc29;}}[a0_0x6a209e(0x1f2)](){const _0x4b5fa0=a0_0x6a209e;this['app']['use']((_0x39822f,_0x3f0a76,_0x2c859a)=>{const _0x5a59a2=a0_0x9b06;_0x3f0a76[_0x5a59a2(0x201)]('Access-Control-Allow-Origin','*'),_0x3f0a76['header']('Access-Control-Allow-Methods','GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0x3f0a76[_0x5a59a2(0x201)](_0x5a59a2(0x1b6),_0x5a59a2(0x1ac)),_0x39822f[_0x5a59a2(0x23e)]===_0x5a59a2(0x170)?_0x3f0a76['sendStatus'](HTTP_STATUS['OK']):_0x2c859a();}),this[_0x4b5fa0(0x1c8)]['use'](a0_0x2cf59e['json']({'limit':_0x4b5fa0(0x23c)})),this[_0x4b5fa0(0x1c8)]['use'](a0_0x2cf59e[_0x4b5fa0(0x1ed)]({'extended':!![],'limit':_0x4b5fa0(0x23c)})),this[_0x4b5fa0(0x1eb)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app']['use']('/api/file-explorer',this['fileExplorerModule']['router']);const _0x4ca6fa=a0_0x3ba4d3['join'](__dirname,_0x4b5fa0(0x1e7));this['app'][_0x4b5fa0(0x1a3)](a0_0x2cf59e[_0x4b5fa0(0x194)](_0x4ca6fa)),this[_0x4b5fa0(0x1c8)][_0x4b5fa0(0x1a3)]((_0x270bcc,_0x2d142c,_0x1d65bb)=>{const _0x3ca25e=_0x4b5fa0;this['logger'][_0x3ca25e(0x1b8)](_0x270bcc[_0x3ca25e(0x23e)]+'\x20'+_0x270bcc['path'],{'ip':_0x270bcc['ip'],'userAgent':_0x270bcc['get'](_0x3ca25e(0x21a))}),_0x1d65bb();});}['setupRoutes'](){const _0x192a0a=a0_0x6a209e;this['app'][_0x192a0a(0x19e)](_0x192a0a(0x176),async(_0x267b35,_0x1e6cf9)=>{const _0x494129=_0x192a0a;try{const _0x352018=a0_0x3ba4d3['join'](__dirname,_0x494129(0x177)),_0x243847=JSON['parse'](await a0_0x315721['readFile'](_0x352018,'utf8'));_0x1e6cf9['json']({'status':_0x494129(0x1e4),'version':_0x243847[_0x494129(0x15f)]||_0x494129(0x18e),'timestamp':new Date()[_0x494129(0x208)]()});}catch(_0x4cb0b0){_0x1e6cf9['json']({'status':_0x494129(0x1e4),'version':'1.0.0','timestamp':new Date()['toISOString']()});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)](_0x192a0a(0x240),async(_0x2f3a9c,_0x25ee5d)=>{const _0x165c98=_0x192a0a;try{const _0x13ce90=_0x165c98(0x1ee)+Date['now']()+'-'+Math[_0x165c98(0x206)]()['toString'](0x24)[_0x165c98(0x241)](0x2,0x9),_0x10fc80=_0x2f3a9c[_0x165c98(0x1dd)][_0x165c98(0x18a)]||process['cwd'](),_0x41e8e9={'id':_0x13ce90,'projectDir':_0x10fc80,'createdAt':new Date()[_0x165c98(0x208)](),'lastActivity':new Date()[_0x165c98(0x208)]()};this[_0x165c98(0x13f)][_0x165c98(0x1f8)](_0x13ce90,_0x41e8e9),_0x25ee5d['json']({'success':!![],'session':_0x41e8e9});}catch(_0x3ce4a3){_0x25ee5d[_0x165c98(0x179)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x165c98(0x152)]({'success':![],'error':_0x3ce4a3['message']});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)](_0x192a0a(0x18c),async(_0x45f1a1,_0x2d6fbd)=>{const _0x4c9503=_0x192a0a;try{const _0x3faa87={'interface':INTERFACE_TYPES[_0x4c9503(0x153)],'sessionId':_0x45f1a1['body'][_0x4c9503(0x20c)],'action':_0x45f1a1['body'][_0x4c9503(0x150)],'payload':_0x45f1a1[_0x4c9503(0x1dd)]['payload'],'projectDir':_0x45f1a1['body'][_0x4c9503(0x18a)]||process[_0x4c9503(0x1d2)]()},_0x5ef474=await this['orchestrator']['processRequest'](_0x3faa87);this[_0x4c9503(0x229)](_0x3faa87[_0x4c9503(0x20c)],{'type':_0x4c9503(0x1e0),'action':_0x3faa87['action'],'response':_0x5ef474}),_0x2d6fbd[_0x4c9503(0x152)](_0x5ef474);}catch(_0x344ef7){this[_0x4c9503(0x184)]['error']('Orchestrator\x20API\x20error',{'error':_0x344ef7[_0x4c9503(0x21b)],'body':_0x45f1a1[_0x4c9503(0x1dd)]}),_0x2d6fbd['status'](HTTP_STATUS[_0x4c9503(0x1da)])['json']({'success':![],'error':_0x344ef7['message']});}}),this[_0x192a0a(0x1c8)]['get'](_0x192a0a(0x1d5),async(_0x15d231,_0x3d9a08)=>{const _0x114587=_0x192a0a;try{const {path:_0x57f8d8,projectDir:_0x46b926}=_0x15d231['query'],_0x1e34fe=a0_0x3ba4d3[_0x114587(0x1bc)](_0x46b926||process['cwd'](),_0x57f8d8||'.'),_0x556750=await a0_0x315721[_0x114587(0x20b)](_0x1e34fe);if(_0x556750[_0x114587(0x1bd)]()){const _0xecc4d7=await a0_0x315721[_0x114587(0x178)](_0x1e34fe,{'withFileTypes':!![]}),_0x4aefff=_0xecc4d7['map'](_0x2c3760=>({'name':_0x2c3760[_0x114587(0x1e9)],'type':_0x2c3760[_0x114587(0x1bd)]()?_0x114587(0x22a):'file','path':a0_0x3ba4d3['join'](_0x57f8d8||'.',_0x2c3760[_0x114587(0x1e9)])}));_0x3d9a08['json']({'success':!![],'files':_0x4aefff});}else{const _0xd780e2=await a0_0x315721['readFile'](_0x1e34fe,_0x114587(0x1cb));_0x3d9a08[_0x114587(0x152)]({'success':!![],'content':_0xd780e2,'type':'file'});}}catch(_0x169ae2){_0x3d9a08[_0x114587(0x179)](HTTP_STATUS[_0x114587(0x15d)])[_0x114587(0x152)]({'success':![],'error':_0x169ae2['message']});}}),this['app']['post']('/api/files/upload',async(_0x4d10c6,_0x60202a)=>{const _0xf294db=_0x192a0a;try{const {fileName:_0x30f1f9,content:_0x134e53,projectDir:_0xc79abb}=_0x4d10c6['body'],_0x5acdf8=_0xc79abb||process[_0xf294db(0x1d2)](),_0x5ed5e4=a0_0x3ba4d3[_0xf294db(0x1bc)](_0x5acdf8,_0x30f1f9);await a0_0x315721[_0xf294db(0x15e)](_0x5acdf8,{'recursive':!![]}),await a0_0x315721['writeFile'](_0x5ed5e4,_0x134e53,_0xf294db(0x1cb)),_0x60202a['json']({'success':!![],'message':_0xf294db(0x196),'path':_0x5ed5e4});}catch(_0x59235a){_0x60202a[_0xf294db(0x179)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0xf294db(0x152)]({'success':![],'error':_0x59235a[_0xf294db(0x21b)]});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x19e)]('/api/explorer',async(_0x4edc6a,_0x2f6810)=>{const _0x13adf=_0x192a0a;try{const {path:_0x2c5c28,showHidden:showHidden=![]}=_0x4edc6a['query'],_0x458348=_0x2c5c28||process['cwd'](),_0x3f8401=a0_0x3ba4d3['resolve'](_0x458348),_0x20b5ed=a0_0x3ba4d3['normalize'](_0x3f8401),_0x39378f=await a0_0x315721['stat'](_0x20b5ed);if(!_0x39378f['isDirectory']())return _0x2f6810['status'](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':'Path\x20is\x20not\x20a\x20directory'});const _0x2daf37=await a0_0x315721[_0x13adf(0x178)](_0x20b5ed,{'withFileTypes':!![]}),_0x209179=await Promise['all'](_0x2daf37[_0x13adf(0x1a7)](_0x42a519=>showHidden==='true'||!_0x42a519['name'][_0x13adf(0x19b)]('.'))['map'](async _0x46fd06=>{const _0x219a08=_0x13adf,_0x4910fa=a0_0x3ba4d3['join'](_0x20b5ed,_0x46fd06['name']),_0x195583=await a0_0x315721['stat'](_0x4910fa)['catch'](()=>null);return{'name':_0x46fd06['name'],'type':_0x46fd06['isDirectory']()?'directory':_0x219a08(0x1d3),'path':_0x4910fa,'relativePath':a0_0x3ba4d3['relative'](process[_0x219a08(0x1d2)](),_0x4910fa),'size':_0x195583?.['size']||0x0,'modified':_0x195583?.['mtime']||null,'isHidden':_0x46fd06[_0x219a08(0x1e9)]['startsWith']('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x209179[_0x13adf(0x22f)]((_0x4aca18,_0x498395)=>{const _0x230e96=_0x13adf;if(_0x4aca18[_0x230e96(0x207)]!==_0x498395['type'])return _0x4aca18[_0x230e96(0x207)]===_0x230e96(0x22a)?-0x1:0x1;return _0x4aca18['name']['localeCompare'](_0x498395[_0x230e96(0x1e9)]);});const _0x4e6301=a0_0x3ba4d3[_0x13adf(0x1b1)](_0x20b5ed),_0x27e0e0=_0x4e6301!==_0x20b5ed;_0x2f6810[_0x13adf(0x152)]({'success':!![],'currentPath':_0x20b5ed,'currentRelativePath':a0_0x3ba4d3['relative'](process[_0x13adf(0x1d2)](),_0x20b5ed),'parentPath':_0x27e0e0?_0x4e6301:null,'items':_0x209179,'totalItems':_0x209179[_0x13adf(0x17f)],'directories':_0x209179['filter'](_0x3d38b4=>_0x3d38b4[_0x13adf(0x207)]===_0x13adf(0x22a))['length'],'files':_0x209179[_0x13adf(0x1a7)](_0x21e847=>_0x21e847['type']==='file')['length']});}catch(_0x721200){_0x2f6810['status'](HTTP_STATUS[_0x13adf(0x1da)])[_0x13adf(0x152)]({'success':![],'error':_0x721200[_0x13adf(0x21b)],'code':_0x721200['code']});}}),this[_0x192a0a(0x1c8)]['post'](_0x192a0a(0x139),async(_0x4f96b4,_0x93088a)=>{const _0x46f9c7=_0x192a0a;try{const {path:_0x5d85f1,name:_0x23b5dc}=_0x4f96b4[_0x46f9c7(0x1dd)],_0x1b215a=a0_0x3ba4d3[_0x46f9c7(0x1bc)](_0x5d85f1,_0x23b5dc);await a0_0x315721['mkdir'](_0x1b215a,{'recursive':![]}),_0x93088a['json']({'success':!![],'path':_0x1b215a,'relativePath':a0_0x3ba4d3[_0x46f9c7(0x212)](process['cwd'](),_0x1b215a)});}catch(_0x8e7a6c){_0x93088a[_0x46f9c7(0x179)](HTTP_STATUS[_0x46f9c7(0x1da)])[_0x46f9c7(0x152)]({'success':![],'error':_0x8e7a6c[_0x46f9c7(0x21b)],'code':_0x8e7a6c['code']});}}),this['app']['get']('/api/explorer/info',async(_0x31089c,_0x3dea67)=>{const _0x219a2a=_0x192a0a;try{const {path:_0x592f41}=_0x31089c[_0x219a2a(0x1c7)],_0x1b868a=a0_0x3ba4d3['resolve'](_0x592f41),_0x176b88=await a0_0x315721['stat'](_0x1b868a);_0x3dea67[_0x219a2a(0x152)]({'success':!![],'path':_0x1b868a,'relativePath':a0_0x3ba4d3[_0x219a2a(0x212)](process['cwd'](),_0x1b868a),'isDirectory':_0x176b88['isDirectory'](),'isFile':_0x176b88[_0x219a2a(0x14d)](),'size':_0x176b88['size'],'created':_0x176b88[_0x219a2a(0x141)],'modified':_0x176b88[_0x219a2a(0x147)],'accessed':_0x176b88['atime']});}catch(_0x47930a){_0x3dea67[_0x219a2a(0x179)](HTTP_STATUS[_0x219a2a(0x1da)])['json']({'success':![],'error':_0x47930a[_0x219a2a(0x21b)],'code':_0x47930a['code']});}}),this['app']['post'](_0x192a0a(0x1df),async(_0x28ab2a,_0x2f4482)=>{const _0x472ae0=_0x192a0a;try{const {sessionId:_0x10e7b9,model:_0x4475e9,platformProvided:_0x248ea6}=_0x28ab2a[_0x472ae0(0x1dd)];if(!_0x10e7b9)return _0x2f4482[_0x472ae0(0x179)](0x190)[_0x472ae0(0x152)]({'error':_0x472ae0(0x1a5)});let _0x588725=null,_0x1717ba=null;if(this[_0x472ae0(0x230)]){const _0x3789a5=this[_0x472ae0(0x230)]['getKeysForRequest'](_0x10e7b9,{'platformProvided':_0x248ea6||![],'vendor':this[_0x472ae0(0x14f)](_0x4475e9)});_0x588725=_0x3789a5['loxiaApiKey'],_0x1717ba=_0x3789a5[_0x472ae0(0x205)];}!_0x588725&&(_0x588725=this['config'][_0x472ae0(0x1f0)]||process[_0x472ae0(0x1a1)]['LOXIA_API_KEY']);!_0x588725&&_0x28ab2a[_0x472ae0(0x1dd)]['apiKey']&&(_0x588725=_0x28ab2a[_0x472ae0(0x1dd)][_0x472ae0(0x16b)]);if(!_0x588725)return this[_0x472ae0(0x184)]['warn']('No\x20API\x20key\x20available\x20for\x20chat\x20request',{'sessionId':_0x10e7b9,'model':_0x4475e9,'platformProvided':_0x248ea6,'hasSessionManager':!!this[_0x472ae0(0x230)]}),_0x2f4482['status'](0x191)[_0x472ae0(0x152)]({'error':_0x472ae0(0x15b)});const _0x369093=_0x472ae0(0x1b5),_0x373e64={..._0x28ab2a['body'],'apiKey':_0x588725,..._0x1717ba&&{'vendorApiKey':_0x1717ba}},_0x33f311={'method':_0x472ae0(0x14a),'headers':{'Content-Type':_0x472ae0(0x1f9),'Authorization':_0x472ae0(0x154)+_0x588725},'body':JSON[_0x472ae0(0x233)](_0x373e64)};this[_0x472ae0(0x184)][_0x472ae0(0x1ea)](_0x472ae0(0x142),{'url':_0x369093,'model':_0x28ab2a[_0x472ae0(0x1dd)]['model'],'hasApiKey':!!_0x588725});const _0x5d1aa7=await fetch(_0x369093,_0x33f311);if(_0x5d1aa7['ok']){const _0x2dfede=await _0x5d1aa7['json']();this['logger'][_0x472ae0(0x1ea)]('Successfully received response from Azure backend',{'model':_0x2dfede[_0x472ae0(0x1fe)],'contentLength':_0x2dfede['content']?.['length']||0x0}),_0x2f4482['json'](_0x2dfede);}else{const _0x46634f=await _0x5d1aa7['text']();this['logger'][_0x472ae0(0x166)]('Azure\x20backend\x20chat\x20request\x20failed',{'status':_0x5d1aa7[_0x472ae0(0x179)],'statusText':_0x5d1aa7[_0x472ae0(0x1c4)],'error':_0x46634f}),_0x2f4482[_0x472ae0(0x179)](_0x5d1aa7['status'])['json']({'error':'Azure\x20backend\x20error:\x20'+_0x5d1aa7['status']+'\x20'+_0x5d1aa7[_0x472ae0(0x1c4)],'details':_0x46634f});}}catch(_0x3571eb){this[_0x472ae0(0x184)][_0x472ae0(0x148)]('Failed\x20to\x20proxy\x20chat\x20request\x20to\x20Azure\x20backend',{'error':_0x3571eb['message'],'stack':_0x3571eb['stack']}),_0x2f4482[_0x472ae0(0x179)](0x1f4)[_0x472ae0(0x152)]({'error':_0x472ae0(0x14b),'details':_0x3571eb[_0x472ae0(0x21b)]});}}),this['app'][_0x192a0a(0x19e)]('/api/llm/models',async(_0x43260c,_0x407575)=>{const _0x38642e=_0x192a0a;try{const _0x49baef=_0x43260c[_0x38642e(0x162)][_0x38642e(0x13d)];let _0x51494f=null;_0x49baef&&_0x49baef['startsWith'](_0x38642e(0x154))&&(_0x51494f=_0x49baef[_0x38642e(0x217)](0x7));!_0x51494f&&(_0x51494f=this[_0x38642e(0x197)]['loxiaApiKey']||process[_0x38642e(0x1a1)][_0x38642e(0x234)]);const _0x2aa214='https://autopilot-api.azurewebsites.net/llm/models',_0x3584e4={'method':'GET','headers':{'Content-Type':'application/json',..._0x51494f&&{'Authorization':_0x38642e(0x154)+_0x51494f}}};this[_0x38642e(0x184)][_0x38642e(0x1ea)]('Fetching models from Loxia Azure backend',{'url':_0x2aa214,'hasApiKey':!!_0x51494f});const _0x29ec06=await fetch(_0x2aa214,_0x3584e4);if(_0x29ec06['ok']){const _0x3f6509=await _0x29ec06['json']();this['logger']['info']('Successfully fetched models from Azure backend',{'modelCount':_0x3f6509['models']?.['length']||0x0}),_0x407575['json'](_0x3f6509);}else{const _0x4f3345=await _0x29ec06['text']();this['logger']['error']('Azure\x20backend\x20request\x20failed\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'status':_0x29ec06['status'],'statusText':_0x29ec06[_0x38642e(0x1c4)],'error':_0x4f3345}),_0x407575[_0x38642e(0x179)](_0x29ec06[_0x38642e(0x179)])['json']({'success':![],'error':_0x38642e(0x213)+_0x29ec06['status']+'\x20'+_0x29ec06[_0x38642e(0x1c4)],'details':_0x4f3345});}}catch(_0xaa92a6){this['logger'][_0x38642e(0x148)]('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0xaa92a6['message'],'stack':_0xaa92a6[_0x38642e(0x21d)]}),_0x407575[_0x38642e(0x179)](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0xaa92a6[_0x38642e(0x21b)]});}}),this['app'][_0x192a0a(0x19e)]('/api/tools',async(_0x2a7fee,_0x3159a0)=>{const _0x3029b3=_0x192a0a;try{const _0x4f5314=this['toolsRegistry'];if(!_0x4f5314)return _0x3159a0['status'](0x1f4)[_0x3029b3(0x152)]({'error':'Tools\x20registry\x20not\x20available'});const _0x33e079=_0x4f5314[_0x3029b3(0x143)]();this['logger']['info'](_0x3029b3(0x1fd),{'toolCount':_0x33e079[_0x3029b3(0x17f)],'tools':_0x33e079[_0x3029b3(0x172)](_0x12f5b3=>({'id':_0x12f5b3['id'],'name':_0x12f5b3['name'],'category':_0x12f5b3[_0x3029b3(0x1d0)]}))}),_0x3159a0[_0x3029b3(0x152)]({'success':!![],'tools':_0x33e079,'total':_0x33e079[_0x3029b3(0x17f)]});}catch(_0x562f94){this[_0x3029b3(0x184)]['error']('Failed\x20to\x20get\x20tools\x20information',{'error':_0x562f94[_0x3029b3(0x21b)],'stack':_0x562f94[_0x3029b3(0x21d)]}),_0x3159a0[_0x3029b3(0x179)](0x1f4)[_0x3029b3(0x152)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x562f94['message']});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)](_0x192a0a(0x22c),async(_0x101a18,_0x588ee7)=>{const _0x4b66bb=_0x192a0a;try{const {sessionId:_0x239b9e,loxiaApiKey:_0xb288f0,vendorKeys:_0x41b2de}=_0x101a18['body'];if(!_0x239b9e)return _0x588ee7['status'](0x190)[_0x4b66bb(0x152)]({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this[_0x4b66bb(0x230)])return _0x588ee7['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this[_0x4b66bb(0x230)]['setSessionKeys'](_0x239b9e,{'loxiaApiKey':_0xb288f0,'vendorKeys':_0x41b2de||{}}),this[_0x4b66bb(0x184)]['info'](_0x4b66bb(0x1ca),{'sessionId':_0x239b9e,'hasLoxiaKey':!!_0xb288f0,'vendorKeys':Object['keys'](_0x41b2de||{})});if(this['orchestrator']&&this['orchestrator']['modelsService']&&_0xb288f0)try{await this[_0x4b66bb(0x21c)]['modelsService']['refresh']({'sessionId':_0x239b9e,'apiKey':_0xb288f0}),this['logger'][_0x4b66bb(0x1ea)](_0x4b66bb(0x23d),{'sessionId':_0x239b9e});}catch(_0x1c6ee9){this[_0x4b66bb(0x184)]['warn'](_0x4b66bb(0x20e),{'error':_0x1c6ee9[_0x4b66bb(0x21b)],'sessionId':_0x239b9e});}_0x588ee7['json']({'success':!![],'message':_0x4b66bb(0x235),'sessionId':_0x239b9e,'hasLoxiaKey':!!_0xb288f0,'vendorKeys':Object['keys'](_0x41b2de||{})});}catch(_0x31791d){this[_0x4b66bb(0x184)]['error']('Failed\x20to\x20set\x20API\x20keys',{'error':_0x31791d[_0x4b66bb(0x21b)],'sessionId':_0x101a18['body']['sessionId']}),_0x588ee7['status'](0x1f4)[_0x4b66bb(0x152)]({'success':![],'error':_0x31791d[_0x4b66bb(0x21b)]});}}),this['app']['get']('/api/keys/:sessionId',async(_0x29ef63,_0x20258d)=>{const _0x4d190f=_0x192a0a;try{const {sessionId:_0x578201}=_0x29ef63[_0x4d190f(0x1b3)];if(!this['apiKeyManager'])return _0x20258d[_0x4d190f(0x179)](0x1f4)[_0x4d190f(0x152)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x4c182a=this['apiKeyManager']['getSessionKeys'](_0x578201);_0x20258d['json']({'success':!![],'sessionId':_0x578201,'hasLoxiaKey':!!_0x4c182a[_0x4d190f(0x1f0)],'vendorKeys':Object[_0x4d190f(0x195)](_0x4c182a['vendorKeys']||{}),'updatedAt':_0x4c182a[_0x4d190f(0x22e)]});}catch(_0x51f697){this[_0x4d190f(0x184)][_0x4d190f(0x148)](_0x4d190f(0x174),{'error':_0x51f697[_0x4d190f(0x21b)],'sessionId':_0x29ef63['params'][_0x4d190f(0x20c)]}),_0x20258d['status'](0x1f4)['json']({'success':![],'error':_0x51f697['message']});}}),this[_0x192a0a(0x1c8)]['delete'](_0x192a0a(0x221),async(_0x35a2a2,_0x22cf5a)=>{const _0x2c0583=_0x192a0a;try{const {sessionId:_0xebff8f}=_0x35a2a2[_0x2c0583(0x1b3)];if(!this['apiKeyManager'])return _0x22cf5a[_0x2c0583(0x179)](0x1f4)[_0x2c0583(0x152)]({'success':![],'error':_0x2c0583(0x158)});const _0x50407f=this['apiKeyManager']['removeSessionKeys'](_0xebff8f);_0x22cf5a['json']({'success':!![],'removed':_0x50407f,'message':_0x50407f?_0x2c0583(0x1a4):'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0xee465d){this['logger'][_0x2c0583(0x148)](_0x2c0583(0x23a),{'error':_0xee465d['message'],'sessionId':_0x35a2a2[_0x2c0583(0x1b3)]['sessionId']}),_0x22cf5a['status'](0x1f4)[_0x2c0583(0x152)]({'success':![],'error':_0xee465d['message']});}}),this[_0x192a0a(0x1c8)]['get'](_0x192a0a(0x22c),async(_0x375eb4,_0x4947ff)=>{const _0x2933f7=_0x192a0a;try{if(!this['apiKeyManager'])return _0x4947ff[_0x2933f7(0x179)](0x1f4)[_0x2933f7(0x152)]({'success':![],'error':_0x2933f7(0x158)});const _0xaa026d=this[_0x2933f7(0x230)]['getActiveSessions']();_0x4947ff[_0x2933f7(0x152)]({'success':!![],'sessions':_0xaa026d,'total':_0xaa026d['length']});}catch(_0x341f25){this[_0x2933f7(0x184)][_0x2933f7(0x148)](_0x2933f7(0x1be),{'error':_0x341f25['message']}),_0x4947ff[_0x2933f7(0x179)](0x1f4)[_0x2933f7(0x152)]({'success':![],'error':_0x341f25[_0x2933f7(0x21b)]});}}),this[_0x192a0a(0x1c8)]['post']('/api/agents/:agentId/attachments/upload',async(_0xde7b20,_0x5e1da7)=>{const _0x18abec=_0x192a0a;try{const {agentId:_0x1ee796}=_0xde7b20['params'],{filePath:_0x43bb05,mode:_0x5dcc87,fileName:_0x4b2dc2}=_0xde7b20['body'];if(!this[_0x18abec(0x21c)]?.[_0x18abec(0x16a)])return _0x5e1da7['status'](0x1f4)[_0x18abec(0x152)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x5fc3ed=await this[_0x18abec(0x21c)][_0x18abec(0x16a)]['uploadFile']({'agentId':_0x1ee796,'filePath':_0x43bb05,'mode':_0x5dcc87||'content','fileName':_0x4b2dc2});this[_0x18abec(0x184)]['info'](_0x18abec(0x1e1),{'agentId':_0x1ee796,'fileId':_0x5fc3ed['fileId'],'fileName':_0x5fc3ed['fileName']}),_0x5e1da7[_0x18abec(0x152)]({'success':!![],'attachment':_0x5fc3ed});}catch(_0x580b47){this[_0x18abec(0x184)][_0x18abec(0x148)](_0x18abec(0x14e),{'agentId':_0xde7b20['params'][_0x18abec(0x182)],'error':_0x580b47['message']}),_0x5e1da7[_0x18abec(0x179)](0x1f4)['json']({'success':![],'error':_0x580b47['message']});}}),this[_0x192a0a(0x1c8)]['get'](_0x192a0a(0x1c1),async(_0x260132,_0x16f22f)=>{const _0xe9f839=_0x192a0a;try{const {agentId:_0x30b47f}=_0x260132[_0xe9f839(0x1b3)],{mode:_0x1401ba,active:_0x3ef7a5}=_0x260132[_0xe9f839(0x1c7)];if(!this[_0xe9f839(0x21c)]?.[_0xe9f839(0x16a)])return _0x16f22f['status'](0x1f4)[_0xe9f839(0x152)]({'success':![],'error':_0xe9f839(0x20f)});const _0x4bc173={};if(_0x1401ba)_0x4bc173[_0xe9f839(0x165)]=_0x1401ba;if(_0x3ef7a5!==undefined)_0x4bc173[_0xe9f839(0x20a)]=_0x3ef7a5==='true';const _0x1359b9=await this[_0xe9f839(0x21c)][_0xe9f839(0x16a)]['getAttachments'](_0x30b47f,_0x4bc173);_0x16f22f['json']({'success':!![],'attachments':_0x1359b9,'total':_0x1359b9[_0xe9f839(0x17f)]});}catch(_0x46f2f1){this['logger']['error']('Failed\x20to\x20get\x20attachments',{'agentId':_0x260132[_0xe9f839(0x1b3)]['agentId'],'error':_0x46f2f1[_0xe9f839(0x21b)]}),_0x16f22f[_0xe9f839(0x179)](0x1f4)['json']({'success':![],'error':_0x46f2f1['message']});}}),this[_0x192a0a(0x1c8)]['get']('/api/attachments/:fileId',async(_0x52d340,_0x5749d2)=>{const _0x67641=_0x192a0a;try{const {fileId:_0xa00304}=_0x52d340[_0x67641(0x1b3)];if(!this[_0x67641(0x21c)]?.['fileAttachmentService'])return _0x5749d2[_0x67641(0x179)](0x1f4)['json']({'success':![],'error':_0x67641(0x20f)});const _0x2c0f73=await this['orchestrator']['fileAttachmentService'][_0x67641(0x19c)](_0xa00304);if(!_0x2c0f73)return _0x5749d2[_0x67641(0x179)](0x194)['json']({'success':![],'error':'Attachment\x20not\x20found'});_0x5749d2['json']({'success':!![],'attachment':_0x2c0f73});}catch(_0x121893){this['logger']['error']('Failed\x20to\x20get\x20attachment',{'fileId':_0x52d340['params'][_0x67641(0x23b)],'error':_0x121893[_0x67641(0x21b)]}),_0x5749d2[_0x67641(0x179)](0x1f4)['json']({'success':![],'error':_0x121893[_0x67641(0x21b)]});}}),this['app'][_0x192a0a(0x17e)](_0x192a0a(0x23f),async(_0x35f1d9,_0x35bcb1)=>{const _0x1db0bc=_0x192a0a;try{const {fileId:_0x4c21a0}=_0x35f1d9[_0x1db0bc(0x1b3)];if(!this[_0x1db0bc(0x21c)]?.[_0x1db0bc(0x16a)])return _0x35bcb1['status'](0x1f4)['json']({'success':![],'error':_0x1db0bc(0x20f)});const _0x2aef51=await this['orchestrator'][_0x1db0bc(0x16a)][_0x1db0bc(0x161)](_0x4c21a0);this[_0x1db0bc(0x184)]['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0x4c21a0,'active':_0x2aef51[_0x1db0bc(0x20a)]}),_0x35bcb1['json']({'success':!![],'attachment':_0x2aef51});}catch(_0xbbaccf){this[_0x1db0bc(0x184)][_0x1db0bc(0x148)]('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x35f1d9[_0x1db0bc(0x1b3)]['fileId'],'error':_0xbbaccf[_0x1db0bc(0x21b)]}),_0x35bcb1['status'](0x1f4)[_0x1db0bc(0x152)]({'success':![],'error':_0xbbaccf[_0x1db0bc(0x21b)]});}}),this['app']['patch']('/api/attachments/:fileId',async(_0x5c4e84,_0x219af3)=>{const _0x4527a8=_0x192a0a;try{const {fileId:_0xde414}=_0x5c4e84[_0x4527a8(0x1b3)],{mode:_0x2889ca,active:_0x17aac1}=_0x5c4e84[_0x4527a8(0x1dd)];if(!this['orchestrator']?.[_0x4527a8(0x16a)])return _0x219af3[_0x4527a8(0x179)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0xd1d925={};if(_0x2889ca!==undefined)_0xd1d925[_0x4527a8(0x165)]=_0x2889ca;if(_0x17aac1!==undefined)_0xd1d925['active']=_0x17aac1;const _0x10ee3d=await this[_0x4527a8(0x21c)][_0x4527a8(0x16a)]['updateAttachment'](_0xde414,_0xd1d925);this['logger'][_0x4527a8(0x1ea)]('Attachment\x20updated',{'fileId':_0xde414,'updates':_0xd1d925}),_0x219af3[_0x4527a8(0x152)]({'success':!![],'attachment':_0x10ee3d});}catch(_0x357c7e){this['logger']['error'](_0x4527a8(0x185),{'fileId':_0x5c4e84[_0x4527a8(0x1b3)][_0x4527a8(0x23b)],'error':_0x357c7e['message']}),_0x219af3[_0x4527a8(0x179)](0x1f4)[_0x4527a8(0x152)]({'success':![],'error':_0x357c7e[_0x4527a8(0x21b)]});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x16f)](_0x192a0a(0x13b),async(_0x5c4393,_0xc49026)=>{const _0x1305ac=_0x192a0a;try{const {fileId:_0x53e1da}=_0x5c4393['params'],{agentId:_0x4667f0}=_0x5c4393[_0x1305ac(0x1c7)];if(!_0x4667f0)return _0xc49026[_0x1305ac(0x179)](0x190)[_0x1305ac(0x152)]({'success':![],'error':'agentId\x20query\x20parameter\x20is\x20required'});if(!this[_0x1305ac(0x21c)]?.['fileAttachmentService'])return _0xc49026['status'](0x1f4)[_0x1305ac(0x152)]({'success':![],'error':_0x1305ac(0x20f)});const _0x4a9ebb=await this[_0x1305ac(0x21c)][_0x1305ac(0x16a)][_0x1305ac(0x22d)](_0x53e1da,_0x4667f0);this[_0x1305ac(0x184)][_0x1305ac(0x1ea)](_0x1305ac(0x1a0),{'fileId':_0x53e1da,'agentId':_0x4667f0,'physicallyDeleted':_0x4a9ebb[_0x1305ac(0x1c3)]}),_0xc49026['json']({'success':!![],'message':_0x4a9ebb['physicallyDeleted']?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x4a9ebb['physicallyDeleted']});}catch(_0x4804ec){this[_0x1305ac(0x184)]['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x5c4393['params']['fileId'],'error':_0x4804ec[_0x1305ac(0x21b)]}),_0xc49026[_0x1305ac(0x179)](0x1f4)['json']({'success':![],'error':_0x4804ec['message']});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)]('/api/attachments/:fileId/import',async(_0x33a572,_0x3ae355)=>{const _0x38ad96=_0x192a0a;try{const {fileId:_0x4caa7e}=_0x33a572[_0x38ad96(0x1b3)],{targetAgentId:_0x44b48c}=_0x33a572['body'];if(!_0x44b48c)return _0x3ae355[_0x38ad96(0x179)](0x190)['json']({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this[_0x38ad96(0x21c)]?.['fileAttachmentService'])return _0x3ae355[_0x38ad96(0x179)](0x1f4)['json']({'success':![],'error':_0x38ad96(0x20f)});const _0x3feb84=await this['orchestrator']['fileAttachmentService'][_0x38ad96(0x157)](_0x4caa7e,_0x44b48c);this[_0x38ad96(0x184)][_0x38ad96(0x1ea)]('Attachment imported',{'fileId':_0x4caa7e,'targetAgentId':_0x44b48c}),_0x3ae355[_0x38ad96(0x152)]({'success':!![],'attachment':_0x3feb84});}catch(_0x24a5aa){this['logger'][_0x38ad96(0x148)]('Failed to import attachment',{'fileId':_0x33a572[_0x38ad96(0x1b3)]['fileId'],'error':_0x24a5aa['message']}),_0x3ae355['status'](0x1f4)[_0x38ad96(0x152)]({'success':![],'error':_0x24a5aa[_0x38ad96(0x21b)]});}}),this['app']['get']('/api/attachments/:fileId/preview',async(_0x588bbf,_0x311ccf)=>{const _0x2edb28=_0x192a0a;try{const {fileId:_0x2b33ed}=_0x588bbf['params'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x311ccf['status'](0x1f4)[_0x2edb28(0x152)]({'success':![],'error':_0x2edb28(0x20f)});const _0x3781c4=await this['orchestrator']['fileAttachmentService']['getAttachmentPreview'](_0x2b33ed);if(!_0x3781c4)return _0x311ccf[_0x2edb28(0x179)](0x194)[_0x2edb28(0x152)]({'success':![],'error':'Attachment\x20not\x20found'});_0x311ccf['json']({'success':!![],'preview':_0x3781c4});}catch(_0x21ff9c){this[_0x2edb28(0x184)]['error'](_0x2edb28(0x1c6),{'fileId':_0x588bbf[_0x2edb28(0x1b3)]['fileId'],'error':_0x21ff9c['message']}),_0x311ccf[_0x2edb28(0x179)](0x1f4)[_0x2edb28(0x152)]({'success':![],'error':_0x21ff9c[_0x2edb28(0x21b)]});}}),this[_0x192a0a(0x1c8)]['get']('/api/images/:sessionId/:filename',async(_0x3de4c6,_0x1f2cff)=>{const _0x156cf8=_0x192a0a;try{const {sessionId:_0x213c7b,filename:_0x2ab044}=_0x3de4c6[_0x156cf8(0x1b3)],_0x7f61b8=this['sessions']['get'](_0x213c7b);if(!_0x7f61b8)return _0x1f2cff['status'](HTTP_STATUS['FORBIDDEN'])['json']({'success':![],'error':_0x156cf8(0x200)});const _0x2223b2=a0_0x3ba4d3['basename'](_0x2ab044);if(_0x2223b2!==_0x2ab044||_0x2ab044[_0x156cf8(0x1ec)]('..')||_0x2ab044['includes']('/')||_0x2ab044[_0x156cf8(0x1ec)]('\x5c'))return _0x1f2cff[_0x156cf8(0x179)](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':_0x156cf8(0x192)});let _0x245909=null;const _0x36bb3a=[a0_0x3ba4d3['join'](_0x7f61b8[_0x156cf8(0x18a)]||process[_0x156cf8(0x1d2)](),'images',_0x2223b2),a0_0x3ba4d3['join'](_0x156cf8(0x1c2),_0x213c7b,_0x2223b2),a0_0x3ba4d3[_0x156cf8(0x209)](_0x156cf8(0x1c2),_0x2223b2)];if(this['orchestrator']?.['agentPool'])try{const _0x5cb2aa=await this[_0x156cf8(0x21c)]['agentPool']['getAllAgents']();for(const _0x5aa0f5 of _0x5cb2aa){_0x5aa0f5[_0x156cf8(0x16c)]?.['workingDirectory']&&_0x36bb3a['push'](a0_0x3ba4d3[_0x156cf8(0x209)](_0x5aa0f5[_0x156cf8(0x16c)][_0x156cf8(0x1e6)],_0x156cf8(0x238),_0x2223b2));}}catch(_0x56da3d){this[_0x156cf8(0x184)]['warn']('Failed\x20to\x20get\x20agent\x20working\x20directories\x20for\x20image\x20search',{'error':_0x56da3d['message']});}for(const _0x2a854f of _0x36bb3a){try{const _0x58965c=await a0_0x315721[_0x156cf8(0x20b)](_0x2a854f);if(_0x58965c[_0x156cf8(0x14d)]()){_0x245909=_0x2a854f,this[_0x156cf8(0x184)]['info']('Image\x20found',{'filename':_0x2223b2,'path':_0x245909,'sessionId':_0x213c7b});break;}}catch(_0x35cead){continue;}}if(!_0x245909)return this[_0x156cf8(0x184)][_0x156cf8(0x166)](_0x156cf8(0x203),{'filename':_0x2223b2,'sessionId':_0x213c7b,'searchPaths':_0x36bb3a}),_0x1f2cff[_0x156cf8(0x179)](HTTP_STATUS[_0x156cf8(0x15d)])['json']({'success':![],'error':'Image\x20not\x20found'});_0x1f2cff[_0x156cf8(0x237)](_0x245909,_0x390141=>{const _0x34b2a3=_0x156cf8;_0x390141?(this['logger']['error'](_0x34b2a3(0x220),{'error':_0x390141['message'],'imagePath':_0x245909,'filename':_0x2223b2}),!_0x1f2cff[_0x34b2a3(0x1ad)]&&_0x1f2cff['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x34b2a3(0x152)]({'success':![],'error':'Failed\x20to\x20serve\x20image'})):this[_0x34b2a3(0x184)][_0x34b2a3(0x1ea)]('Image\x20served\x20successfully',{'filename':_0x2223b2,'path':_0x245909,'sessionId':_0x213c7b});});}catch(_0x50d34f){this[_0x156cf8(0x184)]['error']('Image\x20serving\x20error',{'error':_0x50d34f[_0x156cf8(0x21b)],'sessionId':_0x3de4c6[_0x156cf8(0x1b3)][_0x156cf8(0x20c)],'filename':_0x3de4c6['params']['filename']}),_0x1f2cff[_0x156cf8(0x179)](HTTP_STATUS[_0x156cf8(0x1da)])['json']({'success':![],'error':_0x50d34f[_0x156cf8(0x21b)]});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)](_0x192a0a(0x1ae),async(_0x27c580,_0x1b0bf3)=>{const _0x458921=_0x192a0a;try{const {agentId:_0x231d51}=_0x27c580[_0x458921(0x1b3)],{mode:_0x29c918,lockMode:lockMode=![],sessionId:_0x2eea97}=_0x27c580[_0x458921(0x1dd)];if(!Object['values'](AGENT_MODES)[_0x458921(0x1ec)](_0x29c918))return _0x1b0bf3[_0x458921(0x179)](0x190)['json']({'success':![],'error':'Invalid\x20mode.\x20Must\x20be\x20one\x20of:\x20'+Object[_0x458921(0x1b4)](AGENT_MODES)['join'](',\x20')});const _0x5f29aa=_0x2eea97||_0x27c580['sessionID'];!_0x5f29aa&&this[_0x458921(0x184)][_0x458921(0x166)]('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0x231d51,'hasBodySessionId':!!_0x2eea97,'hasReqSessionId':!!_0x27c580['sessionID']});const _0x1d280a={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x5f29aa,'action':'update_agent','payload':{'agentId':_0x231d51,'updates':{'mode':_0x29c918}}},_0x1715a6=await this['orchestrator'][_0x458921(0x1af)](_0x1d280a);if(_0x1715a6[_0x458921(0x1b7)]){const _0x406090=_0x1715a6['data'];this['logger']['info']('Agent\x20mode\x20updated:\x20'+_0x231d51,{'newMode':_0x29c918,'lockMode':lockMode,'finalMode':_0x406090?.['mode']}),this[_0x458921(0x229)](_0x1d280a[_0x458921(0x20c)],{'type':_0x458921(0x231),'agentId':_0x231d51,'mode':_0x406090?.['mode'],'modeState':_0x406090?.[_0x458921(0x239)]}),_0x1b0bf3['json']({'success':!![],'agent':_0x406090,'message':'Agent\x20mode\x20switched\x20to\x20'+_0x406090?.['mode']});}else _0x1b0bf3[_0x458921(0x179)](0x190)[_0x458921(0x152)]({'success':![],'error':_0x1715a6['error']||_0x458921(0x1cf)});}catch(_0x595e90){this[_0x458921(0x184)]['error'](_0x458921(0x1cf),{'agentId':_0x27c580['params'][_0x458921(0x182)],'error':_0x595e90['message']}),_0x1b0bf3[_0x458921(0x179)](0x1f4)[_0x458921(0x152)]({'success':![],'error':_0x595e90[_0x458921(0x21b)]});}}),this['app'][_0x192a0a(0x151)]('/api/agents/:agentId/stop',async(_0x451703,_0x5f0f1e)=>{const _0x4370ea=_0x192a0a;try{const {agentId:_0x6fb5a7}=_0x451703[_0x4370ea(0x1b3)],_0x5a42bf=this[_0x4370ea(0x21c)]['messageProcessor'];if(!_0x5a42bf)return _0x5f0f1e['status'](0x1f4)[_0x4370ea(0x152)]({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x14a2ba=await _0x5a42bf[_0x4370ea(0x13c)](_0x6fb5a7);this[_0x4370ea(0x184)]['info']('Autonomous\x20execution\x20stop\x20requested:\x20'+_0x6fb5a7);const _0x2c09f5=_0x451703[_0x4370ea(0x226)]||_0x14a2ba['agent']?.[_0x4370ea(0x20c)];_0x2c09f5&&this['broadcastToSession'](_0x2c09f5,{'type':'agent_mode_changed','agentId':_0x6fb5a7,'mode':_0x14a2ba[_0x4370ea(0x202)]?.[_0x4370ea(0x165)],'modeState':_0x14a2ba['agent']?.[_0x4370ea(0x239)]}),_0x5f0f1e['json'](_0x14a2ba);}catch(_0x3a0927){this['logger']['error']('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x451703['params'][_0x4370ea(0x182)],'error':_0x3a0927['message']}),_0x5f0f1e['status'](0x1f4)[_0x4370ea(0x152)]({'success':![],'error':_0x3a0927['message']});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x19e)](_0x192a0a(0x1ae),async(_0x6face5,_0x1739fd)=>{const _0x1f43bb=_0x192a0a;try{const {agentId:_0x2c8b4a}=_0x6face5['params'],_0x5e2e9a={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x6face5[_0x1f43bb(0x226)],'action':'get_agent_status','payload':{'agentId':_0x2c8b4a}},_0x45dcb7=await this[_0x1f43bb(0x21c)]['processRequest'](_0x5e2e9a);_0x45dcb7[_0x1f43bb(0x1b7)]&&_0x45dcb7['agent']?_0x1739fd[_0x1f43bb(0x152)]({'success':!![],'mode':_0x45dcb7['agent'][_0x1f43bb(0x165)],'modeState':_0x45dcb7[_0x1f43bb(0x202)][_0x1f43bb(0x239)],'currentTask':_0x45dcb7['agent']['currentTask'],'iterationCount':_0x45dcb7['agent'][_0x1f43bb(0x232)],'taskStartTime':_0x45dcb7[_0x1f43bb(0x202)][_0x1f43bb(0x156)],'stopRequested':_0x45dcb7[_0x1f43bb(0x202)][_0x1f43bb(0x189)]}):_0x1739fd[_0x1f43bb(0x179)](0x194)[_0x1f43bb(0x152)]({'success':![],'error':_0x1f43bb(0x1ab)});}catch(_0x42d738){this[_0x1f43bb(0x184)][_0x1f43bb(0x148)]('Failed\x20to\x20get\x20agent\x20mode\x20status',{'agentId':_0x6face5[_0x1f43bb(0x1b3)][_0x1f43bb(0x182)],'error':_0x42d738[_0x1f43bb(0x21b)]}),_0x1739fd['status'](0x1f4)[_0x1f43bb(0x152)]({'success':![],'error':_0x42d738[_0x1f43bb(0x21b)]});}}),this[_0x192a0a(0x1c8)]['get']('/api/agents/available',async(_0x142620,_0x6aa35)=>{const _0x3273f0=_0x192a0a;try{const _0x23d3c1=this['orchestrator']['config']['project']?.[_0x3273f0(0x22a)]||process[_0x3273f0(0x1d2)](),_0x5d0ff1=await this['orchestrator']['stateManager'][_0x3273f0(0x169)](_0x23d3c1,this[_0x3273f0(0x21c)][_0x3273f0(0x1b2)]);_0x6aa35[_0x3273f0(0x152)]({'success':!![],'agents':_0x5d0ff1,'total':_0x5d0ff1[_0x3273f0(0x17f)],'active':_0x5d0ff1[_0x3273f0(0x1a7)](_0x5c9eba=>_0x5c9eba['isLoaded'])[_0x3273f0(0x17f)],'archived':_0x5d0ff1[_0x3273f0(0x1a7)](_0x43ac13=>!_0x43ac13['isLoaded'])[_0x3273f0(0x17f)]});}catch(_0x3e8128){this[_0x3273f0(0x184)][_0x3273f0(0x148)]('Failed\x20to\x20get\x20available\x20agents',{'error':_0x3e8128['message'],'stack':_0x3e8128['stack']}),_0x6aa35['status'](0x1f4)['json']({'success':![],'error':_0x3e8128['message']});}}),this['app'][_0x192a0a(0x19e)]('/api/agents/:agentId/metadata',async(_0x11dfb5,_0x686e16)=>{const _0x320b6c=_0x192a0a;try{const {agentId:_0x7aceb1}=_0x11dfb5['params'],_0x5dee83=this['orchestrator']['config']['project']?.[_0x320b6c(0x22a)]||process[_0x320b6c(0x1d2)](),_0x210066=await this['orchestrator']['stateManager']['getAgentMetadata'](_0x7aceb1,_0x5dee83);_0x686e16[_0x320b6c(0x152)]({'success':!![],'metadata':_0x210066});}catch(_0x3bac6c){this[_0x320b6c(0x184)]['error'](_0x320b6c(0x1d9),{'agentId':_0x11dfb5['params']['agentId'],'error':_0x3bac6c[_0x320b6c(0x21b)]}),_0x686e16[_0x320b6c(0x179)](0x194)[_0x320b6c(0x152)]({'success':![],'error':_0x3bac6c['message']});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)]('/api/agents/import',async(_0x4e4784,_0xc79b2f)=>{const _0x4eea13=_0x192a0a;try{const {agentId:_0x361e80}=_0x4e4784[_0x4eea13(0x1dd)];if(!_0x361e80)return _0xc79b2f[_0x4eea13(0x179)](0x190)[_0x4eea13(0x152)]({'success':![],'error':_0x4eea13(0x1bf)});const _0x14346c=this[_0x4eea13(0x21c)][_0x4eea13(0x197)][_0x4eea13(0x218)]?.['directory']||process['cwd'](),_0x9c6b07=await this['orchestrator']['stateManager'][_0x4eea13(0x214)](_0x361e80,_0x14346c,this['orchestrator']['agentPool']);this[_0x4eea13(0x13e)]&&this['wsManager']['broadcast']({'type':'agent-imported','agent':{'id':_0x9c6b07['id'],'name':_0x9c6b07['name'],'status':_0x9c6b07['status'],'capabilities':_0x9c6b07[_0x4eea13(0x1dc)],'model':_0x9c6b07['currentModel']||_0x9c6b07['preferredModel']}}),this[_0x4eea13(0x184)][_0x4eea13(0x1ea)]('Agent imported successfully',{'agentId':_0x9c6b07['id'],'name':_0x9c6b07['name']}),_0xc79b2f['json']({'success':!![],'agent':{'id':_0x9c6b07['id'],'name':_0x9c6b07['name'],'status':_0x9c6b07['status'],'model':_0x9c6b07[_0x4eea13(0x167)]||_0x9c6b07['preferredModel'],'capabilities':_0x9c6b07[_0x4eea13(0x1dc)],'lastActivity':_0x9c6b07[_0x4eea13(0x20d)]},'message':_0x4eea13(0x15a)+_0x9c6b07[_0x4eea13(0x1e9)]+_0x4eea13(0x164)});}catch(_0x3350b8){this[_0x4eea13(0x184)]['error']('Failed to import agent',{'agentId':_0x4e4784['body']['agentId'],'error':_0x3350b8[_0x4eea13(0x21b)],'stack':_0x3350b8['stack']});const _0x49b8aa=_0x3350b8[_0x4eea13(0x21b)][_0x4eea13(0x1ec)]('already\x20active')?0x199:_0x3350b8['message'][_0x4eea13(0x1ec)]('not\x20found')?0x194:_0x3350b8['message'][_0x4eea13(0x1ec)]('Invalid')?0x190:0x1f4;_0xc79b2f['status'](_0x49b8aa)['json']({'success':![],'error':_0x3350b8['message']});}}),this[_0x192a0a(0x1c8)]['get']('*',(_0x5c028b,_0xd286d)=>{const _0xdcfd5a=a0_0x3ba4d3['join'](__dirname,'../../web-ui/build/index.html');_0xd286d['sendFile'](_0xdcfd5a,_0x4f654f=>{const _0x57461e=a0_0x9b06;_0x4f654f&&_0xd286d[_0x57461e(0x179)](HTTP_STATUS[_0x57461e(0x15d)])['send'](_0x57461e(0x222));});});}[a0_0x6a209e(0x216)](){const _0x450a3a=a0_0x6a209e;this['logger'][_0x450a3a(0x1ea)](_0x450a3a(0x1f1),{'port':this['port'],'host':this[_0x450a3a(0x144)],'wsServerExists':!!this[_0x450a3a(0x1d6)],'httpServerExists':!!this[_0x450a3a(0x1cc)]}),this[_0x450a3a(0x1d6)]['on'](_0x450a3a(0x148),_0x3bdba0=>{const _0x184062=_0x450a3a;this['logger'][_0x184062(0x148)]('WebSocket\x20server\x20error:',{'error':_0x3bdba0[_0x184062(0x21b)],'stack':_0x3bdba0[_0x184062(0x21d)],'port':this[_0x184062(0x17b)]});}),this['wss']['on']('listening',()=>{const _0x51d19f=_0x450a3a;this['logger']['info']('WebSocket\x20server\x20is\x20now\x20listening',{'port':this['port'],'host':this[_0x51d19f(0x144)]});}),this[_0x450a3a(0x1d6)]['on'](_0x450a3a(0x149),(_0xf207e8,_0x154b8a)=>{const _0x560eae=_0x450a3a,_0x5c8a16='conn-'+Date['now']()+'-'+Math['random']()[_0x560eae(0x188)](0x24)[_0x560eae(0x241)](0x2,0x9);this['logger'][_0x560eae(0x1ea)]('WebSocket\x20connection\x20established',{'connectionId':_0x5c8a16,'ip':_0x154b8a[_0x560eae(0x219)]['remoteAddress'],'origin':_0x154b8a[_0x560eae(0x162)][_0x560eae(0x211)],'host':_0x154b8a[_0x560eae(0x162)]['host'],'userAgent':_0x154b8a[_0x560eae(0x162)][_0x560eae(0x1a9)],'url':_0x154b8a[_0x560eae(0x159)]});const _0x375380={'id':_0x5c8a16,'ws':_0xf207e8,'sessionId':null,'connectedAt':new Date()[_0x560eae(0x208)](),'lastActivity':new Date()['toISOString']()};this['connections']['set'](_0x5c8a16,_0x375380),_0xf207e8['on']('message',async _0x35c3c1=>{const _0xcd9740=_0x560eae;try{const _0x10fe9d=JSON[_0xcd9740(0x1bb)](_0x35c3c1['toString']());await this[_0xcd9740(0x1d7)](_0x5c8a16,_0x10fe9d);}catch(_0x3f232b){this[_0xcd9740(0x184)][_0xcd9740(0x148)]('WebSocket\x20message\x20error',{'connectionId':_0x5c8a16,'error':_0x3f232b['message']}),_0xf207e8[_0xcd9740(0x21f)](JSON[_0xcd9740(0x233)]({'type':'error','error':_0x3f232b['message']}));}}),_0xf207e8['on']('close',()=>{const _0xa7e58f=_0x560eae;this['logger']['info']('WebSocket\x20connection\x20closed',{'connectionId':_0x5c8a16}),this[_0xa7e58f(0x1fb)][_0xa7e58f(0x16f)](_0x5c8a16);}),_0xf207e8['send'](JSON['stringify']({'type':_0x560eae(0x1d8),'connectionId':_0x5c8a16,'timestamp':new Date()[_0x560eae(0x208)]()}));});}async[a0_0x6a209e(0x1d7)](_0x2ff9c4,_0x4211af){const _0x12b2d5=a0_0x6a209e,_0x4763c5=this['connections'][_0x12b2d5(0x19e)](_0x2ff9c4);if(!_0x4763c5)return;_0x4763c5['lastActivity']=new Date()['toISOString']();switch(_0x4211af['type']){case'join_session':const _0x39cb35=_0x4211af[_0x12b2d5(0x20c)];_0x4763c5[_0x12b2d5(0x20c)]=_0x39cb35,this[_0x12b2d5(0x184)]['info'](_0x12b2d5(0x215),{'connectionId':_0x2ff9c4,'sessionId':_0x39cb35,'totalConnectionsForSession':Array['from'](this[_0x12b2d5(0x1fb)]['values']())[_0x12b2d5(0x1a7)](_0x5bd228=>_0x5bd228[_0x12b2d5(0x20c)]===_0x39cb35)[_0x12b2d5(0x17f)]}),_0x4763c5['ws']['send'](JSON[_0x12b2d5(0x233)]({'type':'session_joined','sessionId':_0x39cb35}));break;case _0x12b2d5(0x19a):_0x4763c5['ws']['send'](JSON['stringify']({'type':_0x12b2d5(0x155),'timestamp':new Date()['toISOString']()}));break;case'orchestrator_request':try{const _0x1f6bb9={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x4763c5[_0x12b2d5(0x20c)],'action':_0x4211af[_0x12b2d5(0x150)],'payload':_0x4211af[_0x12b2d5(0x13a)],'projectDir':_0x4211af[_0x12b2d5(0x18a)]||process['cwd']()},_0x20a641=await this['orchestrator'][_0x12b2d5(0x1af)](_0x1f6bb9);_0x4763c5['ws'][_0x12b2d5(0x21f)](JSON[_0x12b2d5(0x233)]({'type':'orchestrator_response','requestId':_0x4211af[_0x12b2d5(0x1a8)],'response':_0x20a641}));}catch(_0x250de0){_0x4763c5['ws'][_0x12b2d5(0x21f)](JSON[_0x12b2d5(0x233)]({'type':_0x12b2d5(0x148),'requestId':_0x4211af[_0x12b2d5(0x1a8)],'error':_0x250de0['message']}));}break;default:this[_0x12b2d5(0x184)][_0x12b2d5(0x166)](_0x12b2d5(0x242),{'connectionId':_0x2ff9c4,'type':_0x4211af[_0x12b2d5(0x207)]});}}[a0_0x6a209e(0x229)](_0x51ae72,_0x561e60){const _0x3352ec=a0_0x6a209e,_0x2a7cfe=Array['from'](this[_0x3352ec(0x1fb)][_0x3352ec(0x1b4)]())[_0x3352ec(0x1a7)](_0x158ea1=>_0x158ea1['sessionId']===_0x51ae72);let _0x4edfbe=[];_0x2a7cfe[_0x3352ec(0x17f)]===0x0&&(_0x4edfbe=Array[_0x3352ec(0x1a2)](this['connections'][_0x3352ec(0x1b4)]()),this['logger']?.['warn'](_0x3352ec(0x1aa),{'targetSessionId':_0x51ae72,'totalConnections':this[_0x3352ec(0x1fb)][_0x3352ec(0x181)],'allSessionIds':Array[_0x3352ec(0x1a2)](this['connections']['values']())['map'](_0x1defd3=>_0x1defd3[_0x3352ec(0x20c)])['filter'](Boolean)}));const _0x193cd4=_0x2a7cfe['length']>0x0?_0x2a7cfe:_0x4edfbe;this['logger']?.[_0x3352ec(0x1ea)]('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x51ae72,'messageType':_0x561e60[_0x3352ec(0x207)],'agentId':_0x561e60['agentId'],'totalConnections':this['connections']['size'],'sessionConnections':_0x2a7cfe[_0x3352ec(0x17f)],'targetConnections':_0x193cd4['length'],'connectionIds':_0x193cd4[_0x3352ec(0x172)](_0x217b2d=>_0x217b2d['id']),'usingFallback':_0x2a7cfe['length']===0x0,'messagePreview':_0x561e60['type']==='autonomous_update'&&_0x561e60['message']?{'messageId':_0x561e60[_0x3352ec(0x21b)]['id'],'messageRole':_0x561e60['message']['role'],'contentLength':_0x561e60[_0x3352ec(0x21b)][_0x3352ec(0x17d)]?.['length'],'hasToolResults':!!_0x561e60['message'][_0x3352ec(0x187)]}:undefined});for(const _0x7f31cb of _0x193cd4){try{const _0x4ff43e={..._0x561e60,'timestamp':new Date()[_0x3352ec(0x208)]()};_0x7f31cb['ws'][_0x3352ec(0x21f)](JSON[_0x3352ec(0x233)](_0x4ff43e)),this[_0x3352ec(0x184)]?.[_0x3352ec(0x1ea)]('✅\x20WebSocket\x20message\x20sent\x20to\x20connection:',{'connectionId':_0x7f31cb['id'],'messageType':_0x561e60['type'],'agentId':_0x561e60[_0x3352ec(0x182)]});}catch(_0x283296){this[_0x3352ec(0x184)][_0x3352ec(0x166)](_0x3352ec(0x1d4),{'connectionId':_0x7f31cb['id'],'sessionId':_0x51ae72,'messageType':_0x561e60[_0x3352ec(0x207)],'error':_0x283296[_0x3352ec(0x21b)]});}}}async[a0_0x6a209e(0x228)](){return new Promise((_0x3d2b8e,_0x30f630)=>{const _0x15be3d=a0_0x9b06;this[_0x15be3d(0x1cc)][_0x15be3d(0x145)](this['port'],this[_0x15be3d(0x144)],_0xe7fa00=>{const _0x4edb66=_0x15be3d;_0xe7fa00?(this['logger']['error']('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0xe7fa00[_0x4edb66(0x21b)],'port':this[_0x4edb66(0x17b)],'host':this['host']}),_0x30f630(_0xe7fa00)):(this['isRunning']=!![],this['logger'][_0x4edb66(0x1ea)]('HTTP\x20server\x20started\x20successfully',{'port':this['port'],'host':this[_0x4edb66(0x144)],'httpUrl':'http://'+this['host']+':'+this['port'],'wsUrl':_0x4edb66(0x1db)+this['host']+':'+this['port'],'wsServerAttached':!!this['wss'],'wsConnections':this['connections'][_0x4edb66(0x181)]}),setTimeout(async()=>{const _0x3a2e97=_0x4edb66;await this[_0x3a2e97(0x19d)]();},0x3e8),_0x3d2b8e());}),this['server']['on']('error',_0x3ecda9=>{const _0x36af2f=_0x15be3d;this[_0x36af2f(0x184)][_0x36af2f(0x148)](_0x36af2f(0x183),{'error':_0x3ecda9[_0x36af2f(0x21b)],'stack':_0x3ecda9['stack'],'port':this[_0x36af2f(0x17b)]});});});}async[a0_0x6a209e(0x19d)](){const _0x33aaa0=a0_0x6a209e;try{const {default:_0x2f51ac}=await import('ws'),_0xbae724=new _0x2f51ac('ws://localhost:'+this[_0x33aaa0(0x17b)]);_0xbae724['on']('open',()=>{const _0x38b0d0=_0x33aaa0;this['logger']['info'](_0x38b0d0(0x18d),{'port':this[_0x38b0d0(0x17b)],'url':'ws://localhost:'+this[_0x38b0d0(0x17b)]}),_0xbae724['close']();}),_0xbae724['on']('error',_0x34d7df=>{const _0x51106a=_0x33aaa0;this[_0x51106a(0x184)]['error']('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this['port'],'url':'ws://localhost:'+this['port'],'error':_0x34d7df[_0x51106a(0x21b)],'code':_0x34d7df[_0x51106a(0x146)]});}),_0xbae724['on'](_0x33aaa0(0x1d1),(_0x4660b9,_0x262da3)=>{const _0x263acb=_0x33aaa0;_0x4660b9===0x3e8&&this[_0x263acb(0x184)]['info']('WebSocket\x20test\x20connection\x20closed\x20cleanly');}),setTimeout(()=>{const _0x264cf1=_0x33aaa0;_0xbae724['readyState']===_0x2f51ac['CONNECTING']&&(this[_0x264cf1(0x184)][_0x264cf1(0x148)](_0x264cf1(0x16e),{'port':this[_0x264cf1(0x17b)],'url':'ws://localhost:'+this[_0x264cf1(0x17b)],'readyState':_0xbae724[_0x264cf1(0x1e2)]}),_0xbae724[_0x264cf1(0x1ba)]());},0x1388);}catch(_0x559bf0){this['logger'][_0x33aaa0(0x148)](_0x33aaa0(0x225),{'error':_0x559bf0['message'],'stack':_0x559bf0['stack']});}}[a0_0x6a209e(0x1c0)](_0x24ef29){const _0x470c4f=a0_0x6a209e;this[_0x470c4f(0x230)]=_0x24ef29,this['logger']?.['info'](_0x470c4f(0x191),{'hasManager':!!_0x24ef29});}['_getVendorFromModel'](_0x35171e){const _0x1b7495=a0_0x6a209e;if(!_0x35171e)return null;const _0x1c291c=_0x35171e['toLowerCase']();if(_0x1c291c['includes'](_0x1b7495(0x22b))||_0x1c291c['includes']('claude'))return'anthropic';else{if(_0x1c291c[_0x1b7495(0x1ec)]('openai')||_0x1c291c[_0x1b7495(0x1ec)]('gpt'))return _0x1b7495(0x18b);else{if(_0x1c291c['includes']('deepseek'))return _0x1b7495(0x190);else{if(_0x1c291c[_0x1b7495(0x1ec)](_0x1b7495(0x1f6)))return'microsoft';}}}return null;}[a0_0x6a209e(0x199)](){const _0x11df2e=a0_0x6a209e;return{'isRunning':this[_0x11df2e(0x168)],'port':this['port'],'host':this['host'],'connections':this['connections'][_0x11df2e(0x181)],'sessions':this[_0x11df2e(0x13f)]['size'],'url':'http://'+this['host']+':'+this['port']};}async[a0_0x6a209e(0x198)](){const _0x49ea68=a0_0x6a209e;if(!this[_0x49ea68(0x168)])return;this['logger']['info']('Shutting\x20down\x20web\x20server...');for(const _0x1ef83e of this['connections']['values']()){_0x1ef83e['ws']['close']();}return this['connections'][_0x49ea68(0x227)](),this['wss'][_0x49ea68(0x1d1)](),new Promise(_0x355f77=>{this['server']['close'](()=>{const _0x2bfe6b=a0_0x9b06;this['isRunning']=![],this['logger']['info'](_0x2bfe6b(0x14c)),_0x355f77();});});}}export default WebServer;if(import.meta.url==='file://'+process['argv'][0x1]){const simpleLogger={'info':(_0xe8b21d,_0x1dbcdd)=>console[a0_0x6a209e(0x1e8)](a0_0x6a209e(0x1f4)+_0xe8b21d,_0x1dbcdd?JSON[a0_0x6a209e(0x233)](_0x1dbcdd,null,0x2):''),'error':(_0x138c8e,_0x252b82)=>console[a0_0x6a209e(0x148)](a0_0x6a209e(0x17a)+_0x138c8e,_0x252b82?JSON['stringify'](_0x252b82,null,0x2):''),'warn':(_0x1f2245,_0x55fe26)=>console['warn'](a0_0x6a209e(0x223)+_0x1f2245,_0x55fe26?JSON[a0_0x6a209e(0x233)](_0x55fe26,null,0x2):''),'debug':(_0x4c6c28,_0x8c2ea5)=>console[a0_0x6a209e(0x1e8)](a0_0x6a209e(0x1fa)+_0x4c6c28,_0x8c2ea5?JSON['stringify'](_0x8c2ea5,null,0x2):'')},mockOrchestrator={'processAction':async(_0x361b3a,_0x38c30d)=>{const _0x1438a3=a0_0x6a209e;simpleLogger[_0x1438a3(0x1ea)](_0x1438a3(0x1c9),{'action':_0x361b3a,'data':_0x38c30d});switch(_0x361b3a){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x1438a3(0x1b0)]:return{'success':!![],'data':{'id':_0x1438a3(0x163)+Date['now'](),'name':_0x38c30d['name']||'New\x20Agent','status':'active','model':_0x38c30d['model']||_0x1438a3(0x1fc),'systemPrompt':_0x38c30d['systemPrompt']||'You\x20are\x20a\x20helpful\x20AI\x20assistant.'}};case ORCHESTRATOR_ACTIONS[_0x1438a3(0x1cd)]:return{'success':!![],'data':{'message':{'id':_0x1438a3(0x15c)+Date['now'](),'content':'Echo:\x20'+_0x38c30d['message'],'timestamp':new Date()[_0x1438a3(0x208)]()}}};default:return{'success':![],'error':_0x1438a3(0x1ce)+_0x361b3a};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':a0_0x6a209e(0x1de)});console[a0_0x6a209e(0x1e8)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server['startServer']()[a0_0x6a209e(0x1e5)](()=>{const _0x1430e6=a0_0x6a209e,_0x2983fb=server['getStatus']();console['log'](_0x1430e6(0x1a6)+_0x2983fb[_0x1430e6(0x159)]),console[_0x1430e6(0x1e8)](_0x1430e6(0x204)),console['log'](_0x1430e6(0x224));})[a0_0x6a209e(0x236)](_0xf1e405=>{const _0x21a5b5=a0_0x6a209e;console[_0x21a5b5(0x148)](_0x21a5b5(0x186),_0xf1e405['message']),process[_0x21a5b5(0x1b9)](0x1);}),process['on'](a0_0x6a209e(0x173),async()=>{const _0x24607b=a0_0x6a209e;console[_0x24607b(0x1e8)](_0x24607b(0x18f)),await server['shutdown'](),process['exit'](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
|
-
(function(
|
|
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};
|