@loxia-labs/loxia-autopilot-one 1.0.10 → 1.0.12
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 +2 -2
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/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 -0
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/{index-CoRE46V-.js → index-DXN850Y2.js} +78 -74
- package/web-ui/build/static/index-an-YRzUX.css +1 -0
- package/web-ui/build/static/index-P281Rusr.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x457ab7=a0_0x4121;function a0_0x4121(_0x3956ee,_0x2e982f){_0x3956ee=_0x3956ee-0x15a;const _0x217fd7=a0_0x217f();let _0x41213c=_0x217fd7[_0x3956ee];if(a0_0x4121['pzINjz']===undefined){var _0x48e3f0=function(_0x10e6fa){const _0x20196d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x266cf1='',_0x33c098='';for(let _0x1699f6=0x0,_0x394634,_0x1993ef,_0xa3d74e=0x0;_0x1993ef=_0x10e6fa['charAt'](_0xa3d74e++);~_0x1993ef&&(_0x394634=_0x1699f6%0x4?_0x394634*0x40+_0x1993ef:_0x1993ef,_0x1699f6++%0x4)?_0x266cf1+=String['fromCharCode'](0xff&_0x394634>>(-0x2*_0x1699f6&0x6)):0x0){_0x1993ef=_0x20196d['indexOf'](_0x1993ef);}for(let _0x147fba=0x0,_0x2193e6=_0x266cf1['length'];_0x147fba<_0x2193e6;_0x147fba++){_0x33c098+='%'+('00'+_0x266cf1['charCodeAt'](_0x147fba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x33c098);};a0_0x4121['AZsCdZ']=_0x48e3f0,a0_0x4121['QCsfyd']={},a0_0x4121['pzINjz']=!![];}const _0x3fa3cf=_0x217fd7[0x0],_0x2ada59=_0x3956ee+_0x3fa3cf,_0x2acb26=a0_0x4121['QCsfyd'][_0x2ada59];return!_0x2acb26?(_0x41213c=a0_0x4121['AZsCdZ'](_0x41213c),a0_0x4121['QCsfyd'][_0x2ada59]=_0x41213c):_0x41213c=_0x2acb26,_0x41213c;}(function(_0x20d90b,_0x25ddc0){const _0x3d805d=a0_0x4121,_0x283a8b=_0x20d90b();while(!![]){try{const _0x190b59=-parseInt(_0x3d805d(0x169))/0x1+parseInt(_0x3d805d(0x165))/0x2*(-parseInt(_0x3d805d(0x163))/0x3)+parseInt(_0x3d805d(0x162))/0x4*(-parseInt(_0x3d805d(0x16c))/0x5)+-parseInt(_0x3d805d(0x15d))/0x6*(-parseInt(_0x3d805d(0x16a))/0x7)+-parseInt(_0x3d805d(0x167))/0x8*(parseInt(_0x3d805d(0x16d))/0x9)+-parseInt(_0x3d805d(0x15a))/0xa*(-parseInt(_0x3d805d(0x168))/0xb)+parseInt(_0x3d805d(0x15f))/0xc;if(_0x190b59===_0x25ddc0)break;else _0x283a8b['push'](_0x283a8b['shift']());}catch(_0x487a2e){_0x283a8b['push'](_0x283a8b['shift']());}}}(a0_0x217f,0x53545));const THEMES={'default':{'border':'blue','borderLoading':'yellow','primary':a0_0x457ab7(0x164),'secondary':'cyan','success':'green','error':a0_0x457ab7(0x16b),'warning':'yellow','info':'blue','dim':a0_0x457ab7(0x15e)},'light':{'border':'blue','borderLoading':'yellow','primary':a0_0x457ab7(0x15b),'secondary':'blue','success':'green','error':a0_0x457ab7(0x16b),'warning':a0_0x457ab7(0x161),'info':'cyan','dim':a0_0x457ab7(0x15e)},'dark':{'border':a0_0x457ab7(0x166),'borderLoading':'magenta','primary':a0_0x457ab7(0x164),'secondary':a0_0x457ab7(0x166),'success':a0_0x457ab7(0x15c),'error':'redBright','warning':'yellowBright','info':'blueBright','dim':a0_0x457ab7(0x15e)},'high-contrast':{'border':'white','borderLoading':a0_0x457ab7(0x161),'primary':'white','secondary':'cyan','success':'greenBright','error':'redBright','warning':'yellowBright','info':'cyanBright','dim':a0_0x457ab7(0x164)}};export function getTheme(_0x266cf1='default'){const _0x6c9764=a0_0x457ab7;return THEMES[_0x266cf1]||THEMES[_0x6c9764(0x160)];}export function getThemeColor(_0x33c098,_0x1699f6){const _0x1ab65e=a0_0x457ab7,_0x394634=getTheme(_0x33c098);return _0x394634[_0x1699f6]||_0x394634[_0x1ab65e(0x16e)];}function a0_0x217f(){const _0x1b20cf=['ntC5Bu5VC1fJ','D2HPDgu','ndaZnenIt0rKwG','y3LHBG','mtCYmJK2sKHOteLp','mte1ntq0whnSA2v1','ntm2mtyXwgvSzgPx','n1HUAgvvBW','CMvK','nujeB1ziqG','mtK4wwXKCK1g','ChjPBwfYEq','mJaWvefxzfj5','yMXHy2S','z3jLzw5cCMLNAhq','mte5mZm5nhfbr05mzW','z3jHEq','mtG0mdm0nJrys3nbt2K','zgvMyxvSDa','EwvSBg93','oda4mteYzwXRDND4'];a0_0x217f=function(){return _0x1b20cf;};return a0_0x217f();}export default{'getTheme':getTheme,'getThemeColor':getThemeColor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4b42bf=a0_0x44b7;(function(_0x1cd80b,_0x5738a2){const _0x2ed9e1=a0_0x44b7,_0x5641e0=_0x1cd80b();while(!![]){try{const _0x2de872=parseInt(_0x2ed9e1(0x161))/0x1+-parseInt(_0x2ed9e1(0x229))/0x2*(parseInt(_0x2ed9e1(0x204))/0x3)+-parseInt(_0x2ed9e1(0x19d))/0x4*(parseInt(_0x2ed9e1(0x19f))/0x5)+-parseInt(_0x2ed9e1(0x1a1))/0x6+-parseInt(_0x2ed9e1(0x1ad))/0x7*(parseInt(_0x2ed9e1(0x14e))/0x8)+parseInt(_0x2ed9e1(0x184))/0x9*(-parseInt(_0x2ed9e1(0x218))/0xa)+parseInt(_0x2ed9e1(0x1ab))/0xb*(parseInt(_0x2ed9e1(0x192))/0xc);if(_0x2de872===_0x5738a2)break;else _0x5641e0['push'](_0x5641e0['shift']());}catch(_0x44e1e2){_0x5641e0['push'](_0x5641e0['shift']());}}}(a0_0x4c84,0xa205f));import a0_0x2ce4ba from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0xd4e73b from'path';import{promises as a0_0x57c2e7}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';function a0_0x4c84(){const _0x285f5a=['4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrKfjteve','CgfYC2u','mte4mZqYuLrqCMfV','ms4WlJa','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGveLnru9vva','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','lI4VlI4VD2vIlxvPl2j1AwXKl2LUzgv4lMH0BwW','zMLSzw5HBwu','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','zxjYB3i','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','w0rfqLvhxsa','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhmVDxbSB2fK','BxnNlq','BwTKAxi','zMLSzuv4CgXVCMvYtw9KDwXL','DxbKyxrLzef0','l2fWAs9Hz2vUDhmVyxzHAwXHyMXL','w1DbuK5Dia','sw1Hz2uGC2vYDMLUzYbLCNjVCG','BgvUz3rO','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','Bw9KzwXZ','zgf0yq','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','vxnLCI1bz2vUDa','Cg9ZDa','l2fWAs9LEhbSB3jLCI9PBMzV','qwDLBNqG','DgHLBG','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','ywn0Aw9U','te9ysufFqvbjx0Tfwq','Dhj1zq','z2v0u3rHDhvZ','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','Bw9KzwW','vw5RBM93BIbHy3rPB246ia','y29UzMLN','BM93','C3rHy2S','D29YA2LUz0rPCMvJDg9YEq','C2v0','BMfTzq','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','Bg9N','B3jJAgvZDhjHDg9Y','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','tK9ux0zpvu5e','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','mJq1nMr5C3LxuW','zw52','C3rHDgLJ','l2fWAs90B29SCW','yM9KEq','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','sfruucbZzxj2zxiGzxjYB3i6','y29UDgvUDa','v0vc','sw52ywXPzcbMAwXLBMfTzq','C3vIC3rYAw5N','y29UBMvJDgLVBNm','zMLSzq','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','z2v0qwDLBNrnzxrHzgf0yq','DgvYBwLUyxrL','BM9YBwfSAxPL','BwvZC2fNzq','AxneAxjLy3rVCNK','ndi2mta5zNLLueDY','zxHPDa','yxbW','DxrMoa','BgfZDefJDgL2Axr5','AxrLCMf0Aw9Uq291BNq','Dg9tDhjPBMC','D3nnyw5Hz2vY','Ahr0CdOVlW','yxbPs2v5twfUywDLCG','w0LorK9Dia','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','Bg94AwfbCgLlzxK','DxjS','CgH5C2LJywXSEurLBgv0zwq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJO','AgvHzgvYC1nLBNq','z2v0s2v5C0zVCLjLCxvLC3q','sfruucbZzxj2zxiGC3rHCNrLzcbZDwnJzxnZzNvSBhK','C2v0DxbsB3v0zxm','DMvUzg9Ys2v5CW','ChjVAMvJDa','BM90igzVDw5K','B3bLBMfP','qwDLBNqGBw9KzsbZD2L0y2HLzcb0BYa','l2fWAs9LEhbSB3jLCG','D3nZ','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','CMvX','ChjVy2vZC1jLCxvLC3q','yw50AhjVCgLJ','Aw5MBW','qxr0ywnOBwvUDcbUB3qGzM91BMq','C3rVCfjLCxvLC3rLza','D3jPDgvgAwXL','mtCXoxHIDhDgzq','C3vJy2vZCW','A2v5CW','C2vUzezPBgu','C2L6zq','qMvHCMvYia','qwDLBNqGBw9Kzsb1CgrHDguGCMvXDwvZDgvKihDPDgHVDxqGC2vZC2LVBIbjra','D2fYBG','sw52ywXPza','CMvSyxrPDMu','Bw9Kzvn0yxrL','C3rHCNrZv2L0Aa','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','mtjvCg9xsKK','z3b0','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50CW','yxbWBgLJyxrPB24VANnVBG','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','y3DK','4P2miezHAwXLzcb0BYbZzw5KifDLyLnVy2TLDcbTzxnZywDL','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','C2vYDMvY','l2fWAs9LEhbSB3jLCI9TA2rPCG','C3rHDgvnyw5Hz2vY','mZy3nZeYogPpq2PmCG','AM9PBG','nuXhuhfRtG','y3vYCMvUDfrHC2S','mJy0mdGXmg1KBNffBa','C2v0DxbnAwrKBgv3yxjL','DgvZDfDLyLnVy2TLDfnLCNzLCG','AxnmB2fKzwq','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','Cg9UzW','AxnsDw5UAw5N','ChjVAMvJDerPCG','C29JA2v0','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','ndm5mdm1nJnOy3D2swS','l2fWAs9MAwXLCY91CgXVywq','mJa3odnbyxHxB1u','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','CMvHzgrPCG','C2vZC2LVBNm','yxbPs2v5','ywDLBNrFBw9Kzv9JAgfUz2vK','y29Kzq','Ag9ZDa','CxvLCNK','BxrPBwu','C2v0qxbPs2v5twfUywDLCG','sw1Hz2uGC2vYDMvKihn1y2nLC3nMDwXSEq','z2v0qxr0ywnOBwvUDfbYzxzPzxC','ywDLBNrjza','CM9Szq','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','ywDLBNq','CMvHzhLtDgf0zq','DMvUzg9YqxbPs2v5','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','BwvZC2fNzvbYB2nLC3nVCG','AgvHzgvY','C2vZC2LVBKLe','AM9PBL9ZzxnZAw9U','BwfW','zgvLChnLzwS','ywXS','Cgf0y2G','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3rVz2DSzq','ANnVBG','DgfZA1n0yxj0vgLTzq','rMfPBgvKihrVigDLDcbbueKGA2v5ihn0yxr1CW','yxjNDG','y2fWywjPBgL0AwvZ','z2v0qxr0ywnOBwvUDa','C2vUza','yNjVywrJyxn0vg9tzxnZAw9U','B3bLBG','l2fWAs9RzxLZ','Aw1WB3j0rNjVBufNzw50','Bw9KzwXZu2vYDMLJzq','Aw5JBhvKzxm','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','r0vulcbqt1nulcbqvvqSierftevursWGt1busu9ouW','qwDLBNqGBw9Kzsb1CgrHDgvKoIa','CgfYyw1Z','Dg9mB3DLCKnHC2u','l2fWAs9SBg0VBw9KzwXZ','C3rHDhvZvgv4Da','D3m6lY9SB2nHBgHVC3q6','C3rHDa','Bg9JywXOB3n0','ywn0AxzL','C3rYAw5NAwz5','DxjSzw5JB2rLza','C2v0DxbxzwjtB2nRzxq','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','lI4VlI4VCgfJA2fNzs5QC29U','su5urvjoquXFu0vsvKvsx0vsuK9s','ChjLzMvYCMvKtw9KzwW','qxr0ywnOBwvUDcb1CgrHDgvK','l2fWAs9VCMnOzxn0CMf0B3i','z2v0u2vZC2LVBKTLExm','y29UBMvJDgvK','Cgf5Bg9Hza','C2H1DgrVD24','Dgv4Da','zgvSzxrL','Cg9YDa','qwnJzxnZlunVBNrYB2WTqwXSB3CTt3jPz2LU','rMfPBgvKihrVigDLDcb0B29SCYbPBMzVCM1HDgLVBG','qxr0ywnOBwvUDcbKzwXLDgvK','AgvHBhrOEq','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','DMfSDwvZ','C3rHCNrtzxj2zxi','Dg9ju09tDhjPBMC','zNjVBq','z2v0qxzHAwXHyMXLvg9VBhngB3jvsq','CMvTB3rLqwrKCMvZCW','l2fWAs9RzxLZlZPZzxnZAw9Uswq','C2vZC2LVBKLK','AgvHzgvYCW','zMLSDgvY','qKfex1jfuvvfu1q','D2vIlq','ntrbwNzcB2K','yxv0Ag9YAxPHDgLVBG','C3rHDhvZ','DxnL','Bwv0Ag9K','l2fWAs9MAwXLCW','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','y2XVC2u','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','yw50AhjVCgLJlxnVBM5LDa','CMvHzezPBgu','y29UBI0','z2v0qwn0AxzLu2vZC2LVBNm','z2v0','rMfPBgvKihrVihvWBg9HzcbMAwXLigf0DgfJAg1LBNq','zgLYzwn0B3j5','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','DMvYC2LVBG','zMLSzuLK','v2vIihnLCNzLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq','mJe4nZbstfHywuO','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','mtbTyG','v2vIihnLCNzLCIbPBML0AwfSAxPLza','ywDLBNrqB29S','DhLWzq','DxnLCI1Hz2vUDa','CMvXDwvZDeLK','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','Dg9Nz2XLqwn0AxzL','Bg9Nz2vY','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','rMfPBgvKihrVihn0B3aGyxv0B25VBw91CYbLEgvJDxrPB24','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','u0Lhsu5u'];a0_0x4c84=function(){return _0x285f5a;};return a0_0x4c84();}function a0_0x44b7(_0x4ecb6a,_0x47c3b4){_0x4ecb6a=_0x4ecb6a-0x12a;const _0x4c8435=a0_0x4c84();let _0x44b766=_0x4c8435[_0x4ecb6a];if(a0_0x44b7['TRvrRs']===undefined){var _0x4c3244=function(_0x50f7ca){const _0x260ce9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ce4ba='',_0xd4e73b='';for(let _0x57c2e7=0x0,_0x20ee05,_0x1c4392,_0x4ba81f=0x0;_0x1c4392=_0x50f7ca['charAt'](_0x4ba81f++);~_0x1c4392&&(_0x20ee05=_0x57c2e7%0x4?_0x20ee05*0x40+_0x1c4392:_0x1c4392,_0x57c2e7++%0x4)?_0x2ce4ba+=String['fromCharCode'](0xff&_0x20ee05>>(-0x2*_0x57c2e7&0x6)):0x0){_0x1c4392=_0x260ce9['indexOf'](_0x1c4392);}for(let _0xd7dddd=0x0,_0x26d954=_0x2ce4ba['length'];_0xd7dddd<_0x26d954;_0xd7dddd++){_0xd4e73b+='%'+('00'+_0x2ce4ba['charCodeAt'](_0xd7dddd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xd4e73b);};a0_0x44b7['quRMnQ']=_0x4c3244,a0_0x44b7['UFPcEH']={},a0_0x44b7['TRvrRs']=!![];}const _0x12468c=_0x4c8435[0x0],_0x9187ec=_0x4ecb6a+_0x12468c,_0x10ef1c=a0_0x44b7['UFPcEH'][_0x9187ec];return!_0x10ef1c?(_0x44b766=a0_0x44b7['quRMnQ'](_0x44b766),a0_0x44b7['UFPcEH'][_0x9187ec]=_0x44b766):_0x44b766=_0x10ef1c,_0x44b766;}const __filename=fileURLToPath(import.meta.url),__dirname=a0_0xd4e73b['dirname'](__filename);class WebServer{constructor(_0x20ee05,_0x1c4392,_0x4ba81f={}){const _0x40abd6=a0_0x44b7;this[_0x40abd6(0x14a)]=_0x20ee05,this['logger']=_0x1c4392,this[_0x40abd6(0x142)]=_0x4ba81f,this['port']=_0x4ba81f['port']||0x1f90,this['host']=_0x4ba81f[_0x40abd6(0x1b4)]||_0x40abd6(0x1e0),this['app']=a0_0x2ce4ba(),this['server']=createServer(this[_0x40abd6(0x163)]),this[_0x40abd6(0x17b)]=new WebSocketServer({'server':this[_0x40abd6(0x19a)],'verifyClient':_0xd7dddd=>{const _0x4fe897=_0x40abd6;return this['logger']?.[_0x4fe897(0x180)]('WebSocket\x20connection\x20attempt',{'origin':_0xd7dddd['origin'],'host':_0xd7dddd['req']['headers'][_0x4fe897(0x1b4)],'userAgent':_0xd7dddd['req'][_0x4fe897(0x200)][_0x4fe897(0x21e)],'url':_0xd7dddd[_0x4fe897(0x17d)][_0x4fe897(0x16e)]}),!![];}}),this['connections']=new Map(),this[_0x40abd6(0x1b0)]=new Map(),this['apiKeyManager']=null,this[_0x40abd6(0x1a7)]=![];}async['initialize'](){const _0x993e52=a0_0x44b7;try{this[_0x993e52(0x1a2)](),this[_0x993e52(0x174)](),this[_0x993e52(0x1e4)](),await this[_0x993e52(0x1f9)](),this['logger']['info'](_0x993e52(0x21b),{'port':this['port'],'host':this[_0x993e52(0x1b4)],'url':'http://'+this['host']+':'+this['port']});}catch(_0x26d954){this['logger']['error'](_0x993e52(0x217),{'error':_0x26d954['message'],'stack':_0x26d954['stack']});throw _0x26d954;}}['setupMiddleware'](){const _0x5a8fb0=a0_0x44b7;this['app'][_0x5a8fb0(0x207)]((_0x34d733,_0x111030,_0x17acac)=>{const _0x58e363=_0x5a8fb0;_0x111030[_0x58e363(0x1c2)](_0x58e363(0x1f3),'*'),_0x111030['header']('Access-Control-Allow-Methods',_0x58e363(0x1d8)),_0x111030[_0x58e363(0x1c2)]('Access-Control-Allow-Headers','Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x34d733['method']==='OPTIONS'?_0x111030['sendStatus'](HTTP_STATUS['OK']):_0x17acac();}),this[_0x5a8fb0(0x163)][_0x5a8fb0(0x207)](a0_0x2ce4ba['json']({'limit':_0x5a8fb0(0x21a)})),this[_0x5a8fb0(0x163)]['use'](a0_0x2ce4ba[_0x5a8fb0(0x1e3)]({'extended':!![],'limit':_0x5a8fb0(0x21a)})),this[_0x5a8fb0(0x12b)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this[_0x5a8fb0(0x163)]['use']('/api/file-explorer',this[_0x5a8fb0(0x12b)]['router']);const _0xf5332e=a0_0xd4e73b[_0x5a8fb0(0x19e)](__dirname,'../../web-ui/build');this[_0x5a8fb0(0x163)][_0x5a8fb0(0x207)](a0_0x2ce4ba[_0x5a8fb0(0x150)](_0xf5332e)),this['app'][_0x5a8fb0(0x207)]((_0x26bb2b,_0x3f1327,_0x199db9)=>{const _0xc1ae60=_0x5a8fb0;this[_0xc1ae60(0x222)]['debug'](_0x26bb2b[_0xc1ae60(0x208)]+'\x20'+_0x26bb2b['path'],{'ip':_0x26bb2b['ip'],'userAgent':_0x26bb2b[_0xc1ae60(0x211)](_0xc1ae60(0x135))}),_0x199db9();});}['setupRoutes'](){const _0x1c9c69=a0_0x44b7;this[_0x1c9c69(0x163)][_0x1c9c69(0x211)]('/api/health',async(_0x54d41b,_0xfaabc8)=>{const _0x4d9300=_0x1c9c69;try{const _0x376b5b=a0_0xd4e73b[_0x4d9300(0x19e)](__dirname,_0x4d9300(0x1e7)),_0x4969ef=JSON['parse'](await a0_0x57c2e7['readFile'](_0x376b5b,'utf8'));_0xfaabc8['json']({'status':_0x4d9300(0x1f6),'version':_0x4969ef[_0x4d9300(0x215)]||_0x4d9300(0x22a),'timestamp':new Date()[_0x4d9300(0x1fa)]()});}catch(_0x1c99eb){_0xfaabc8[_0x4d9300(0x1ca)]({'status':_0x4d9300(0x1f6),'version':_0x4d9300(0x22a),'timestamp':new Date()['toISOString']()});}}),this['app'][_0x1c9c69(0x136)]('/api/sessions',async(_0x4643a8,_0x589d99)=>{const _0x249f40=_0x1c9c69;try{const _0x3164f1=_0x249f40(0x203)+Date['now']()+'-'+Math['random']()[_0x249f40(0x167)](0x24)['substr'](0x2,0x9),_0x2e53bd=_0x4643a8[_0x249f40(0x152)][_0x249f40(0x1a8)]||process['cwd'](),_0x37c512={'id':_0x3164f1,'projectDir':_0x2e53bd,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()[_0x249f40(0x1fa)]()};this[_0x249f40(0x1b0)][_0x249f40(0x146)](_0x3164f1,_0x37c512),_0x589d99['json']({'success':!![],'session':_0x37c512});}catch(_0x14b728){_0x589d99['status'](HTTP_STATUS[_0x249f40(0x1e8)])['json']({'success':![],'error':_0x14b728['message']});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x136)](_0x1c9c69(0x1eb),async(_0xd711df,_0x49aeda)=>{const _0x16a74c=_0x1c9c69;try{const _0x4abb7a={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0xd711df[_0x16a74c(0x152)]['sessionId'],'action':_0xd711df[_0x16a74c(0x152)][_0x16a74c(0x13b)],'payload':_0xd711df['body'][_0x16a74c(0x1ee)],'projectDir':_0xd711df[_0x16a74c(0x152)][_0x16a74c(0x1a8)]||process['cwd']()},_0x7b1ab4=await this[_0x16a74c(0x14a)]['processRequest'](_0x4abb7a);this[_0x16a74c(0x1d1)](_0x4abb7a['sessionId'],{'type':_0x16a74c(0x1d7),'action':_0x4abb7a[_0x16a74c(0x13b)],'response':_0x7b1ab4}),_0x49aeda[_0x16a74c(0x1ca)](_0x7b1ab4);}catch(_0x4c8725){this['logger']['error']('Orchestrator\x20API\x20error',{'error':_0x4c8725[_0x16a74c(0x15f)],'body':_0xd711df[_0x16a74c(0x152)]}),_0x49aeda[_0x16a74c(0x206)](HTTP_STATUS[_0x16a74c(0x1e8)])['json']({'success':![],'error':_0x4c8725[_0x16a74c(0x15f)]});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x211)](_0x1c9c69(0x209),async(_0x3f565d,_0x54f0cd)=>{const _0x100ef0=_0x1c9c69;try{const {path:_0x5510d3,projectDir:_0x5566ec}=_0x3f565d['query'],_0x54ee69=a0_0xd4e73b['resolve'](_0x5566ec||process[_0x100ef0(0x197)](),_0x5510d3||'.'),_0x43096b=await a0_0x57c2e7[_0x100ef0(0x1df)](_0x54ee69);if(_0x43096b[_0x100ef0(0x160)]()){const _0x9d009d=await a0_0x57c2e7[_0x100ef0(0x1af)](_0x54ee69,{'withFileTypes':!![]}),_0x3d5116=_0x9d009d[_0x100ef0(0x1c5)](_0x189c93=>({'name':_0x189c93['name'],'type':_0x189c93['isDirectory']()?'directory':_0x100ef0(0x15a),'path':a0_0xd4e73b['join'](_0x5510d3||'.',_0x189c93['name'])}));_0x54f0cd[_0x100ef0(0x1ca)]({'success':!![],'files':_0x3d5116});}else{const _0x2fe87d=await a0_0x57c2e7[_0x100ef0(0x20e)](_0x54ee69,_0x100ef0(0x164));_0x54f0cd[_0x100ef0(0x1ca)]({'success':!![],'content':_0x2fe87d,'type':_0x100ef0(0x15a)});}}catch(_0x5c1600){_0x54f0cd[_0x100ef0(0x206)](HTTP_STATUS['NOT_FOUND'])['json']({'success':![],'error':_0x5c1600[_0x100ef0(0x15f)]});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x136)](_0x1c9c69(0x1ac),async(_0x41869e,_0x58a013)=>{const _0x33fd5b=_0x1c9c69;try{const {fileName:_0x3312b7,content:_0x4b6297,projectDir:_0x4dac78}=_0x41869e['body'],_0x47c5fc=_0x4dac78||process[_0x33fd5b(0x197)](),_0xb9e96d=a0_0xd4e73b['resolve'](_0x47c5fc,_0x3312b7);await a0_0x57c2e7[_0x33fd5b(0x12a)](_0x47c5fc,{'recursive':!![]}),await a0_0x57c2e7[_0x33fd5b(0x183)](_0xb9e96d,_0x4b6297,'utf8'),_0x58a013['json']({'success':!![],'message':_0x33fd5b(0x219),'path':_0xb9e96d});}catch(_0x4163d4){_0x58a013[_0x33fd5b(0x206)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x33fd5b(0x1ca)]({'success':![],'error':_0x4163d4[_0x33fd5b(0x15f)]});}}),this[_0x1c9c69(0x163)]['get'](_0x1c9c69(0x17a),async(_0x221495,_0x49fb13)=>{const _0x2287c2=_0x1c9c69;try{const {path:_0x5357c2,showHidden:showHidden=![]}=_0x221495[_0x2287c2(0x1b5)],_0x139410=_0x5357c2||process['cwd'](),_0x393575=a0_0xd4e73b['resolve'](_0x139410),_0x1d8737=a0_0xd4e73b[_0x2287c2(0x15e)](_0x393575),_0x39d8b2=await a0_0x57c2e7[_0x2287c2(0x1df)](_0x1d8737);if(!_0x39d8b2[_0x2287c2(0x160)]())return _0x49fb13[_0x2287c2(0x206)](HTTP_STATUS[_0x2287c2(0x202)])['json']({'success':![],'error':_0x2287c2(0x196)});const _0x31ee67=await a0_0x57c2e7[_0x2287c2(0x1af)](_0x1d8737,{'withFileTypes':!![]}),_0x1e9fea=await Promise[_0x2287c2(0x1c7)](_0x31ee67['filter'](_0x11bcac=>showHidden===_0x2287c2(0x13d)||!_0x11bcac[_0x2287c2(0x147)][_0x2287c2(0x18f)]('.'))[_0x2287c2(0x1c5)](async _0x123ba5=>{const _0x3d399a=_0x2287c2,_0x1796b9=a0_0xd4e73b['join'](_0x1d8737,_0x123ba5[_0x3d399a(0x147)]),_0x80036c=await a0_0x57c2e7[_0x3d399a(0x1df)](_0x1796b9)['catch'](()=>null);return{'name':_0x123ba5['name'],'type':_0x123ba5['isDirectory']()?_0x3d399a(0x213):_0x3d399a(0x15a),'path':_0x1796b9,'relativePath':a0_0xd4e73b[_0x3d399a(0x18d)](process[_0x3d399a(0x197)](),_0x1796b9),'size':_0x80036c?.[_0x3d399a(0x188)]||0x0,'modified':_0x80036c?.[_0x3d399a(0x1b6)]||null,'isHidden':_0x123ba5['name'][_0x3d399a(0x18f)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x1e9fea['sort']((_0x6bbeec,_0x44f5e3)=>{const _0x3c94dd=_0x2287c2;if(_0x6bbeec['type']!==_0x44f5e3['type'])return _0x6bbeec['type']===_0x3c94dd(0x213)?-0x1:0x1;return _0x6bbeec[_0x3c94dd(0x147)]['localeCompare'](_0x44f5e3[_0x3c94dd(0x147)]);});const _0x291a72=a0_0xd4e73b['dirname'](_0x1d8737),_0x382b96=_0x291a72!==_0x1d8737;_0x49fb13[_0x2287c2(0x1ca)]({'success':!![],'currentPath':_0x1d8737,'currentRelativePath':a0_0xd4e73b[_0x2287c2(0x18d)](process[_0x2287c2(0x197)](),_0x1d8737),'parentPath':_0x382b96?_0x291a72:null,'items':_0x1e9fea,'totalItems':_0x1e9fea[_0x2287c2(0x130)],'directories':_0x1e9fea['filter'](_0x11a387=>_0x11a387[_0x2287c2(0x21d)]==='directory')['length'],'files':_0x1e9fea['filter'](_0x438bee=>_0x438bee[_0x2287c2(0x21d)]==='file')[_0x2287c2(0x130)]});}catch(_0x4e9fd7){_0x49fb13[_0x2287c2(0x206)](HTTP_STATUS[_0x2287c2(0x1e8)])[_0x2287c2(0x1ca)]({'success':![],'error':_0x4e9fd7['message'],'code':_0x4e9fd7[_0x2287c2(0x1b3)]});}}),this[_0x1c9c69(0x163)]['post'](_0x1c9c69(0x19b),async(_0x287950,_0x4cea5f)=>{const _0x57a3fd=_0x1c9c69;try{const {path:_0x393c3d,name:_0x4011de}=_0x287950[_0x57a3fd(0x152)],_0x1e6e56=a0_0xd4e73b['resolve'](_0x393c3d,_0x4011de);await a0_0x57c2e7['mkdir'](_0x1e6e56,{'recursive':![]}),_0x4cea5f[_0x57a3fd(0x1ca)]({'success':!![],'path':_0x1e6e56,'relativePath':a0_0xd4e73b[_0x57a3fd(0x18d)](process['cwd'](),_0x1e6e56)});}catch(_0x55d4d0){_0x4cea5f[_0x57a3fd(0x206)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x55d4d0[_0x57a3fd(0x15f)],'code':_0x55d4d0[_0x57a3fd(0x1b3)]});}}),this['app'][_0x1c9c69(0x211)](_0x1c9c69(0x137),async(_0x2655e0,_0x331078)=>{const _0x335534=_0x1c9c69;try{const {path:_0x4a61de}=_0x2655e0[_0x335534(0x1b5)],_0x153b09=a0_0xd4e73b['resolve'](_0x4a61de),_0x8320cb=await a0_0x57c2e7[_0x335534(0x1df)](_0x153b09);_0x331078[_0x335534(0x1ca)]({'success':!![],'path':_0x153b09,'relativePath':a0_0xd4e73b['relative'](process['cwd'](),_0x153b09),'isDirectory':_0x8320cb[_0x335534(0x160)](),'isFile':_0x8320cb['isFile'](),'size':_0x8320cb['size'],'created':_0x8320cb['birthtime'],'modified':_0x8320cb['mtime'],'accessed':_0x8320cb['atime']});}catch(_0x2c80f8){_0x331078[_0x335534(0x206)](HTTP_STATUS[_0x335534(0x1e8)])[_0x335534(0x1ca)]({'success':![],'error':_0x2c80f8[_0x335534(0x15f)],'code':_0x2c80f8['code']});}}),this[_0x1c9c69(0x163)]['post']('/api/llm/chat',async(_0x3adc19,_0x28c6c7)=>{const _0x462ad6=_0x1c9c69;try{const {sessionId:_0x43523f,model:_0x5e5995,platformProvided:_0x23b3ac}=_0x3adc19['body'];if(!_0x43523f)return _0x28c6c7[_0x462ad6(0x206)](0x190)[_0x462ad6(0x1ca)]({'error':'Session\x20ID\x20is\x20required'});let _0x56732a=null,_0x1ead6d=null;if(this['apiKeyManager']){const _0x165735=this[_0x462ad6(0x16a)][_0x462ad6(0x172)](_0x43523f,{'platformProvided':_0x23b3ac||![],'vendor':this['_getVendorFromModel'](_0x5e5995)});_0x56732a=_0x165735[_0x462ad6(0x16d)],_0x1ead6d=_0x165735[_0x462ad6(0x1bf)];}!_0x56732a&&(_0x56732a=this[_0x462ad6(0x142)][_0x462ad6(0x16d)]||process[_0x462ad6(0x14f)][_0x462ad6(0x13c)]);!_0x56732a&&_0x3adc19[_0x462ad6(0x152)][_0x462ad6(0x1b1)]&&(_0x56732a=_0x3adc19[_0x462ad6(0x152)]['apiKey']);if(!_0x56732a)return this[_0x462ad6(0x222)]['warn'](_0x462ad6(0x1bc),{'sessionId':_0x43523f,'model':_0x5e5995,'platformProvided':_0x23b3ac,'hasSessionManager':!!this[_0x462ad6(0x16a)]}),_0x28c6c7['status'](0x191)[_0x462ad6(0x1ca)]({'error':_0x462ad6(0x191)});const _0x496603=_0x462ad6(0x20a),_0x68a969={..._0x3adc19[_0x462ad6(0x152)],'apiKey':_0x56732a,..._0x1ead6d&&{'vendorApiKey':_0x1ead6d}},_0xc471ed={'method':'POST','headers':{'Content-Type':_0x462ad6(0x195),'Authorization':'Bearer\x20'+_0x56732a},'body':JSON['stringify'](_0x68a969)};this['logger'][_0x462ad6(0x180)](_0x462ad6(0x231),{'url':_0x496603,'model':_0x3adc19[_0x462ad6(0x152)][_0x462ad6(0x140)],'hasApiKey':!!_0x56732a});const _0x337520=await fetch(_0x496603,_0xc471ed);if(_0x337520['ok']){const _0x3b84de=await _0x337520[_0x462ad6(0x1ca)]();this['logger']['info']('Successfully received response from Azure backend',{'model':_0x3b84de['model'],'contentLength':_0x3b84de['content']?.[_0x462ad6(0x130)]||0x0}),_0x28c6c7[_0x462ad6(0x1ca)](_0x3b84de);}else{const _0x4e6bd8=await _0x337520[_0x462ad6(0x1f0)]();this[_0x462ad6(0x222)][_0x462ad6(0x18b)](_0x462ad6(0x20c),{'status':_0x337520['status'],'statusText':_0x337520['statusText'],'error':_0x4e6bd8}),_0x28c6c7['status'](_0x337520['status'])['json']({'error':'Azure\x20backend\x20error:\x20'+_0x337520[_0x462ad6(0x206)]+'\x20'+_0x337520[_0x462ad6(0x1dd)],'details':_0x4e6bd8});}}catch(_0x47497f){this[_0x462ad6(0x222)][_0x462ad6(0x230)]('Failed\x20to\x20proxy\x20chat\x20request\x20to\x20Azure\x20backend',{'error':_0x47497f[_0x462ad6(0x15f)],'stack':_0x47497f['stack']}),_0x28c6c7['status'](0x1f4)[_0x462ad6(0x1ca)]({'error':'Failed\x20to\x20connect\x20to\x20AI\x20service','details':_0x47497f[_0x462ad6(0x15f)]});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x211)](_0x1c9c69(0x1dc),async(_0xd99244,_0x50787b)=>{const _0x4257cf=_0x1c9c69;try{const _0x6c6223=_0xd99244[_0x4257cf(0x200)][_0x4257cf(0x205)];let _0x468a89=null;_0x6c6223&&_0x6c6223[_0x4257cf(0x18f)](_0x4257cf(0x189))&&(_0x468a89=_0x6c6223[_0x4257cf(0x158)](0x7));!_0x468a89&&(_0x468a89=this[_0x4257cf(0x142)]['loxiaApiKey']||process[_0x4257cf(0x14f)][_0x4257cf(0x13c)]);const _0x4bdd67='https://autopilot-api.azurewebsites.net/llm/models',_0x2c5d2d={'method':'GET','headers':{'Content-Type':_0x4257cf(0x195),..._0x468a89&&{'Authorization':'Bearer\x20'+_0x468a89}}};this['logger'][_0x4257cf(0x180)]('Fetching models from Loxia Azure backend',{'url':_0x4bdd67,'hasApiKey':!!_0x468a89});const _0x3b3136=await fetch(_0x4bdd67,_0x2c5d2d);if(_0x3b3136['ok']){const _0x18ab16=await _0x3b3136[_0x4257cf(0x1ca)]();this[_0x4257cf(0x222)][_0x4257cf(0x180)]('Successfully fetched models from Azure backend',{'modelCount':_0x18ab16[_0x4257cf(0x132)]?.['length']||0x0}),_0x50787b[_0x4257cf(0x1ca)](_0x18ab16);}else{const _0x1670c1=await _0x3b3136[_0x4257cf(0x1f0)]();this['logger']['error']('Azure\x20backend\x20request\x20failed\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'status':_0x3b3136[_0x4257cf(0x206)],'statusText':_0x3b3136[_0x4257cf(0x1dd)],'error':_0x1670c1}),_0x50787b['status'](_0x3b3136[_0x4257cf(0x206)])['json']({'success':![],'error':_0x4257cf(0x1a5)+_0x3b3136['status']+'\x20'+_0x3b3136['statusText'],'details':_0x1670c1});}}catch(_0x4b43a3){this['logger'][_0x4257cf(0x230)]('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x4b43a3['message'],'stack':_0x4b43a3[_0x4257cf(0x144)]}),_0x50787b[_0x4257cf(0x206)](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0x4b43a3['message']});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x211)](_0x1c9c69(0x151),async(_0x6fce5a,_0x256cc9)=>{const _0x3743a7=_0x1c9c69;try{const _0x135f44=this['toolsRegistry'];if(!_0x135f44)return _0x256cc9[_0x3743a7(0x206)](0x1f4)[_0x3743a7(0x1ca)]({'error':_0x3743a7(0x16c)});const _0x1a39c6=_0x135f44[_0x3743a7(0x1fc)]();this['logger']['info'](_0x3743a7(0x1c0),{'toolCount':_0x1a39c6['length'],'tools':_0x1a39c6[_0x3743a7(0x1c5)](_0x4f7294=>({'id':_0x4f7294['id'],'name':_0x4f7294[_0x3743a7(0x147)],'category':_0x4f7294['category']}))}),_0x256cc9[_0x3743a7(0x1ca)]({'success':!![],'tools':_0x1a39c6,'total':_0x1a39c6['length']});}catch(_0x12f2ca){this['logger'][_0x3743a7(0x230)](_0x3743a7(0x1f4),{'error':_0x12f2ca['message'],'stack':_0x12f2ca[_0x3743a7(0x144)]}),_0x256cc9[_0x3743a7(0x206)](0x1f4)[_0x3743a7(0x1ca)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x12f2ca['message']});}}),this['app']['post']('/api/keys',async(_0x28d54c,_0xca36a3)=>{const _0x566c83=_0x1c9c69;try{const {sessionId:_0x37511d,loxiaApiKey:_0x624416,vendorKeys:_0x3bfd9a}=_0x28d54c[_0x566c83(0x152)];if(!_0x37511d)return _0xca36a3['status'](0x190)[_0x566c83(0x1ca)]({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this['apiKeyManager'])return _0xca36a3['status'](0x1f4)[_0x566c83(0x1ca)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this['apiKeyManager']['setSessionKeys'](_0x37511d,{'loxiaApiKey':_0x624416,'vendorKeys':_0x3bfd9a||{}}),this[_0x566c83(0x222)][_0x566c83(0x180)]('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x37511d,'hasLoxiaKey':!!_0x624416,'vendorKeys':Object[_0x566c83(0x186)](_0x3bfd9a||{})});if(this['orchestrator']&&this[_0x566c83(0x14a)][_0x566c83(0x1d5)]&&_0x624416)try{await this['orchestrator'][_0x566c83(0x1d5)]['refresh']({'sessionId':_0x37511d,'apiKey':_0x624416}),this['logger']['info']('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x37511d});}catch(_0x2d8ffb){this['logger'][_0x566c83(0x18b)]('Failed\x20to\x20refresh\x20models\x20after\x20API\x20key\x20update',{'error':_0x2d8ffb['message'],'sessionId':_0x37511d});}_0xca36a3['json']({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x37511d,'hasLoxiaKey':!!_0x624416,'vendorKeys':Object[_0x566c83(0x186)](_0x3bfd9a||{})});}catch(_0x258d1b){this['logger'][_0x566c83(0x230)]('Failed\x20to\x20set\x20API\x20keys',{'error':_0x258d1b['message'],'sessionId':_0x28d54c[_0x566c83(0x152)]['sessionId']}),_0xca36a3['status'](0x1f4)['json']({'success':![],'error':_0x258d1b['message']});}}),this['app']['get']('/api/keys/:sessionId',async(_0x1c2d29,_0x1b9eee)=>{const _0x22858c=_0x1c9c69;try{const {sessionId:_0x34f96b}=_0x1c2d29['params'];if(!this[_0x22858c(0x16a)])return _0x1b9eee[_0x22858c(0x206)](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x313764=this['apiKeyManager'][_0x22858c(0x1ec)](_0x34f96b);_0x1b9eee[_0x22858c(0x1ca)]({'success':!![],'sessionId':_0x34f96b,'hasLoxiaKey':!!_0x313764[_0x22858c(0x16d)],'vendorKeys':Object['keys'](_0x313764[_0x22858c(0x175)]||{}),'updatedAt':_0x313764[_0x22858c(0x12c)]});}catch(_0x466d90){this['logger']['error'](_0x22858c(0x1cc),{'error':_0x466d90[_0x22858c(0x15f)],'sessionId':_0x1c2d29['params'][_0x22858c(0x1ff)]}),_0x1b9eee[_0x22858c(0x206)](0x1f4)['json']({'success':![],'error':_0x466d90[_0x22858c(0x15f)]});}}),this['app'][_0x1c9c69(0x1f1)](_0x1c9c69(0x1fe),async(_0x521f1e,_0x55f95b)=>{const _0x194fd7=_0x1c9c69;try{const {sessionId:_0x31261a}=_0x521f1e['params'];if(!this['apiKeyManager'])return _0x55f95b[_0x194fd7(0x206)](0x1f4)[_0x194fd7(0x1ca)]({'success':![],'error':_0x194fd7(0x153)});const _0x803e36=this['apiKeyManager']['removeSessionKeys'](_0x31261a);_0x55f95b['json']({'success':!![],'removed':_0x803e36,'message':_0x803e36?_0x194fd7(0x1aa):'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x5df8e9){this[_0x194fd7(0x222)][_0x194fd7(0x230)]('Failed\x20to\x20remove\x20API\x20keys',{'error':_0x5df8e9[_0x194fd7(0x15f)],'sessionId':_0x521f1e[_0x194fd7(0x1da)][_0x194fd7(0x1ff)]}),_0x55f95b[_0x194fd7(0x206)](0x1f4)['json']({'success':![],'error':_0x5df8e9[_0x194fd7(0x15f)]});}}),this[_0x1c9c69(0x163)]['get'](_0x1c9c69(0x1d3),async(_0x59f12f,_0x57ef4e)=>{const _0x13d5f7=_0x1c9c69;try{if(!this['apiKeyManager'])return _0x57ef4e['status'](0x1f4)[_0x13d5f7(0x1ca)]({'success':![],'error':_0x13d5f7(0x153)});const _0x2f0b19=this[_0x13d5f7(0x16a)][_0x13d5f7(0x210)]();_0x57ef4e[_0x13d5f7(0x1ca)]({'success':!![],'sessions':_0x2f0b19,'total':_0x2f0b19[_0x13d5f7(0x130)]});}catch(_0x2bdbc3){this['logger'][_0x13d5f7(0x230)]('Failed\x20to\x20get\x20active\x20sessions',{'error':_0x2bdbc3['message']}),_0x57ef4e['status'](0x1f4)['json']({'success':![],'error':_0x2bdbc3['message']});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x136)](_0x1c9c69(0x233),async(_0x140481,_0x1d6014)=>{const _0x578bbc=_0x1c9c69;try{const {agentId:_0x44be4d}=_0x140481['params'],{filePath:_0x4347aa,mode:_0x19f10f,fileName:_0x3dad82}=_0x140481[_0x578bbc(0x152)];if(!this[_0x578bbc(0x14a)]?.['fileAttachmentService'])return _0x1d6014[_0x578bbc(0x206)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x42f79c=await this['orchestrator'][_0x578bbc(0x22f)]['uploadFile']({'agentId':_0x44be4d,'filePath':_0x4347aa,'mode':_0x19f10f||_0x578bbc(0x155),'fileName':_0x3dad82});this[_0x578bbc(0x222)]['info'](_0x578bbc(0x148),{'agentId':_0x44be4d,'fileId':_0x42f79c['fileId'],'fileName':_0x42f79c['fileName']}),_0x1d6014['json']({'success':!![],'attachment':_0x42f79c});}catch(_0x3b5875){this['logger']['error'](_0x578bbc(0x212),{'agentId':_0x140481['params'][_0x578bbc(0x1ba)],'error':_0x3b5875['message']}),_0x1d6014[_0x578bbc(0x206)](0x1f4)['json']({'success':![],'error':_0x3b5875['message']});}}),this[_0x1c9c69(0x163)]['get']('/api/agents/:agentId/attachments',async(_0x3e0006,_0x502f4f)=>{const _0x383709=_0x1c9c69;try{const {agentId:_0x605469}=_0x3e0006['params'],{mode:_0x12b797,active:_0x4e9bad}=_0x3e0006['query'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x502f4f['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x38adc4={};if(_0x12b797)_0x38adc4['mode']=_0x12b797;if(_0x4e9bad!==undefined)_0x38adc4['active']=_0x4e9bad===_0x383709(0x13d);const _0x2a3648=await this[_0x383709(0x14a)][_0x383709(0x22f)]['getAttachments'](_0x605469,_0x38adc4);_0x502f4f[_0x383709(0x1ca)]({'success':!![],'attachments':_0x2a3648,'total':_0x2a3648['length']});}catch(_0x1d3b5f){this['logger'][_0x383709(0x230)](_0x383709(0x194),{'agentId':_0x3e0006[_0x383709(0x1da)]['agentId'],'error':_0x1d3b5f['message']}),_0x502f4f['status'](0x1f4)[_0x383709(0x1ca)]({'success':![],'error':_0x1d3b5f['message']});}}),this[_0x1c9c69(0x163)]['get']('/api/attachments/:fileId',async(_0x5081d7,_0x1782ea)=>{const _0x33c7cd=_0x1c9c69;try{const {fileId:_0x17d0bd}=_0x5081d7[_0x33c7cd(0x1da)];if(!this[_0x33c7cd(0x14a)]?.['fileAttachmentService'])return _0x1782ea['status'](0x1f4)['json']({'success':![],'error':_0x33c7cd(0x220)});const _0x26dfd4=await this[_0x33c7cd(0x14a)]['fileAttachmentService'][_0x33c7cd(0x1cf)](_0x17d0bd);if(!_0x26dfd4)return _0x1782ea[_0x33c7cd(0x206)](0x194)['json']({'success':![],'error':_0x33c7cd(0x181)});_0x1782ea['json']({'success':!![],'attachment':_0x26dfd4});}catch(_0x90f404){this['logger']['error']('Failed\x20to\x20get\x20attachment',{'fileId':_0x5081d7[_0x33c7cd(0x1da)][_0x33c7cd(0x216)],'error':_0x90f404[_0x33c7cd(0x15f)]}),_0x1782ea[_0x33c7cd(0x206)](0x1f4)['json']({'success':![],'error':_0x90f404[_0x33c7cd(0x15f)]});}}),this[_0x1c9c69(0x163)]['patch'](_0x1c9c69(0x1c9),async(_0x2c11e4,_0x398e56)=>{const _0x550c13=_0x1c9c69;try{const {fileId:_0x45be41}=_0x2c11e4['params'];if(!this['orchestrator']?.[_0x550c13(0x22f)])return _0x398e56['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x395e84=await this[_0x550c13(0x14a)][_0x550c13(0x22f)][_0x550c13(0x221)](_0x45be41);this['logger'][_0x550c13(0x180)]('Attachment\x20active\x20status\x20toggled',{'fileId':_0x45be41,'active':_0x395e84[_0x550c13(0x1e1)]}),_0x398e56['json']({'success':!![],'attachment':_0x395e84});}catch(_0x584e5b){this[_0x550c13(0x222)]['error']('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x2c11e4[_0x550c13(0x1da)]['fileId'],'error':_0x584e5b['message']}),_0x398e56['status'](0x1f4)['json']({'success':![],'error':_0x584e5b['message']});}}),this['app'][_0x1c9c69(0x1c8)](_0x1c9c69(0x14d),async(_0x5906a6,_0x456f03)=>{const _0x252c63=_0x1c9c69;try{const {fileId:_0x9cc793}=_0x5906a6[_0x252c63(0x1da)],{mode:_0x501eb3,active:_0x19f942}=_0x5906a6[_0x252c63(0x152)];if(!this[_0x252c63(0x14a)]?.['fileAttachmentService'])return _0x456f03['status'](0x1f4)[_0x252c63(0x1ca)]({'success':![],'error':_0x252c63(0x220)});const _0x43a060={};if(_0x501eb3!==undefined)_0x43a060['mode']=_0x501eb3;if(_0x19f942!==undefined)_0x43a060[_0x252c63(0x1e1)]=_0x19f942;const _0x589c63=await this['orchestrator'][_0x252c63(0x22f)]['updateAttachment'](_0x9cc793,_0x43a060);this['logger']['info'](_0x252c63(0x1ea),{'fileId':_0x9cc793,'updates':_0x43a060}),_0x456f03[_0x252c63(0x1ca)]({'success':!![],'attachment':_0x589c63});}catch(_0x2ff6d2){this['logger'][_0x252c63(0x230)]('Failed\x20to\x20update\x20attachment',{'fileId':_0x5906a6['params'][_0x252c63(0x216)],'error':_0x2ff6d2['message']}),_0x456f03['status'](0x1f4)['json']({'success':![],'error':_0x2ff6d2['message']});}}),this['app'][_0x1c9c69(0x1f1)]('/api/attachments/:fileId',async(_0x1f28e4,_0x3febeb)=>{const _0xea866=_0x1c9c69;try{const {fileId:_0x2669da}=_0x1f28e4['params'],{agentId:_0x3b4288}=_0x1f28e4['query'];if(!_0x3b4288)return _0x3febeb[_0xea866(0x206)](0x190)[_0xea866(0x1ca)]({'success':![],'error':'agentId\x20query\x20parameter\x20is\x20required'});if(!this['orchestrator']?.['fileAttachmentService'])return _0x3febeb['status'](0x1f4)[_0xea866(0x1ca)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x322978=await this[_0xea866(0x14a)][_0xea866(0x22f)]['deleteAttachment'](_0x2669da,_0x3b4288);this['logger'][_0xea866(0x180)](_0xea866(0x1f5),{'fileId':_0x2669da,'agentId':_0x3b4288,'physicallyDeleted':_0x322978['physicallyDeleted']}),_0x3febeb['json']({'success':!![],'message':_0x322978[_0xea866(0x16f)]?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x322978['physicallyDeleted']});}catch(_0x4cbe6c){this['logger']['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x1f28e4[_0xea866(0x1da)][_0xea866(0x216)],'error':_0x4cbe6c[_0xea866(0x15f)]}),_0x3febeb['status'](0x1f4)[_0xea866(0x1ca)]({'success':![],'error':_0x4cbe6c[_0xea866(0x15f)]});}}),this[_0x1c9c69(0x163)]['post']('/api/attachments/:fileId/import',async(_0x358b59,_0x2b10c0)=>{const _0x20ed09=_0x1c9c69;try{const {fileId:_0x3fa2be}=_0x358b59[_0x20ed09(0x1da)],{targetAgentId:_0x345f8d}=_0x358b59[_0x20ed09(0x152)];if(!_0x345f8d)return _0x2b10c0[_0x20ed09(0x206)](0x190)[_0x20ed09(0x1ca)]({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this['orchestrator']?.['fileAttachmentService'])return _0x2b10c0[_0x20ed09(0x206)](0x1f4)[_0x20ed09(0x1ca)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x54f761=await this['orchestrator'][_0x20ed09(0x22f)][_0x20ed09(0x1d4)](_0x3fa2be,_0x345f8d);this['logger'][_0x20ed09(0x180)]('Attachment imported',{'fileId':_0x3fa2be,'targetAgentId':_0x345f8d}),_0x2b10c0['json']({'success':!![],'attachment':_0x54f761});}catch(_0x26672c){this[_0x20ed09(0x222)]['error']('Failed to import attachment',{'fileId':_0x358b59['params']['fileId'],'error':_0x26672c['message']}),_0x2b10c0[_0x20ed09(0x206)](0x1f4)[_0x20ed09(0x1ca)]({'success':![],'error':_0x26672c[_0x20ed09(0x15f)]});}}),this[_0x1c9c69(0x163)]['get']('/api/attachments/:fileId/preview',async(_0xa9d9de,_0x80520e)=>{const _0x5c24a6=_0x1c9c69;try{const {fileId:_0x3b55ce}=_0xa9d9de[_0x5c24a6(0x1da)];if(!this[_0x5c24a6(0x14a)]?.[_0x5c24a6(0x22f)])return _0x80520e['status'](0x1f4)[_0x5c24a6(0x1ca)]({'success':![],'error':_0x5c24a6(0x220)});const _0x16477b=await this['orchestrator'][_0x5c24a6(0x22f)][_0x5c24a6(0x1b9)](_0x3b55ce);if(!_0x16477b)return _0x80520e[_0x5c24a6(0x206)](0x194)[_0x5c24a6(0x1ca)]({'success':![],'error':_0x5c24a6(0x181)});_0x80520e['json']({'success':!![],'preview':_0x16477b});}catch(_0x590cc4){this['logger']['error']('Failed\x20to\x20get\x20attachment\x20preview',{'fileId':_0xa9d9de['params'][_0x5c24a6(0x216)],'error':_0x590cc4[_0x5c24a6(0x15f)]}),_0x80520e[_0x5c24a6(0x206)](0x1f4)['json']({'success':![],'error':_0x590cc4['message']});}}),this[_0x1c9c69(0x163)]['get'](_0x1c9c69(0x225),async(_0x437f9b,_0x43fde2)=>{const _0x2e6bce=_0x1c9c69;try{const {sessionId:_0x7dcb1a,filename:_0x40d690}=_0x437f9b['params'],_0x3600bb=this[_0x2e6bce(0x1b0)]['get'](_0x7dcb1a);if(!_0x3600bb)return _0x43fde2[_0x2e6bce(0x206)](HTTP_STATUS['FORBIDDEN'])['json']({'success':![],'error':'Invalid\x20session'});const _0x504f7c=a0_0xd4e73b['basename'](_0x40d690);if(_0x504f7c!==_0x40d690||_0x40d690['includes']('..')||_0x40d690['includes']('/')||_0x40d690['includes']('\x5c'))return _0x43fde2[_0x2e6bce(0x206)](HTTP_STATUS[_0x2e6bce(0x202)])['json']({'success':![],'error':_0x2e6bce(0x157)});let _0x164737=null;const _0xd0d7be=[a0_0xd4e73b['join'](_0x3600bb['projectDir']||process['cwd'](),'images',_0x504f7c),a0_0xd4e73b[_0x2e6bce(0x19e)]('/tmp/loxia-images',_0x7dcb1a,_0x504f7c),a0_0xd4e73b[_0x2e6bce(0x19e)]('/tmp/loxia-images',_0x504f7c)];if(this['orchestrator']?.[_0x2e6bce(0x21c)])try{const _0x1df409=await this[_0x2e6bce(0x14a)][_0x2e6bce(0x21c)]['getAllAgents']();for(const _0x5e25be of _0x1df409){_0x5e25be['directoryAccess']?.[_0x2e6bce(0x145)]&&_0xd0d7be['push'](a0_0xd4e73b[_0x2e6bce(0x19e)](_0x5e25be['directoryAccess']['workingDirectory'],'images',_0x504f7c));}}catch(_0x3785f7){this[_0x2e6bce(0x222)][_0x2e6bce(0x18b)](_0x2e6bce(0x214),{'error':_0x3785f7[_0x2e6bce(0x15f)]});}for(const _0x4403c6 of _0xd0d7be){try{const _0x3d6132=await a0_0x57c2e7['stat'](_0x4403c6);if(_0x3d6132['isFile']()){_0x164737=_0x4403c6,this[_0x2e6bce(0x222)][_0x2e6bce(0x180)]('Image\x20found',{'filename':_0x504f7c,'path':_0x164737,'sessionId':_0x7dcb1a});break;}}catch(_0x1be7b0){continue;}}if(!_0x164737)return this[_0x2e6bce(0x222)][_0x2e6bce(0x18b)](_0x2e6bce(0x199),{'filename':_0x504f7c,'sessionId':_0x7dcb1a,'searchPaths':_0xd0d7be}),_0x43fde2['status'](HTTP_STATUS[_0x2e6bce(0x14c)])[_0x2e6bce(0x1ca)]({'success':![],'error':'Image\x20not\x20found'});_0x43fde2[_0x2e6bce(0x187)](_0x164737,_0x5b0a42=>{const _0x198f16=_0x2e6bce;_0x5b0a42?(this[_0x198f16(0x222)][_0x198f16(0x230)]('Failed\x20to\x20send\x20image\x20file',{'error':_0x5b0a42[_0x198f16(0x15f)],'imagePath':_0x164737,'filename':_0x504f7c}),!_0x43fde2[_0x198f16(0x171)]&&_0x43fde2['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x198f16(0x1ca)]({'success':![],'error':'Failed\x20to\x20serve\x20image'})):this['logger']['info'](_0x198f16(0x1b8),{'filename':_0x504f7c,'path':_0x164737,'sessionId':_0x7dcb1a});});}catch(_0xaad5be){this[_0x2e6bce(0x222)][_0x2e6bce(0x230)](_0x2e6bce(0x12f),{'error':_0xaad5be['message'],'sessionId':_0x437f9b['params'][_0x2e6bce(0x1ff)],'filename':_0x437f9b['params'][_0x2e6bce(0x22e)]}),_0x43fde2[_0x2e6bce(0x206)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x2e6bce(0x1ca)]({'success':![],'error':_0xaad5be['message']});}}),this['app']['post']('/api/agents/:agentId/mode',async(_0x99f979,_0x32eb96)=>{const _0x7742df=_0x1c9c69;try{const {agentId:_0x5970c0}=_0x99f979[_0x7742df(0x1da)],{mode:_0x6a58a4,lockMode:lockMode=![],sessionId:_0x599b6f}=_0x99f979['body'];if(!Object[_0x7742df(0x1f8)](AGENT_MODES)['includes'](_0x6a58a4))return _0x32eb96['status'](0x190)['json']({'success':![],'error':_0x7742df(0x15b)+Object[_0x7742df(0x1f8)](AGENT_MODES)[_0x7742df(0x19e)](',\x20')});const _0xebfe0f=_0x599b6f||_0x99f979['sessionID'];!_0xebfe0f&&this[_0x7742df(0x222)][_0x7742df(0x18b)](_0x7742df(0x18a),{'agentId':_0x5970c0,'hasBodySessionId':!!_0x599b6f,'hasReqSessionId':!!_0x99f979[_0x7742df(0x1c3)]});const _0x578694={'interface':INTERFACE_TYPES[_0x7742df(0x156)],'sessionId':_0xebfe0f,'action':'update_agent','payload':{'agentId':_0x5970c0,'updates':{'mode':_0x6a58a4}}},_0x1e94ba=await this[_0x7742df(0x14a)]['processRequest'](_0x578694);if(_0x1e94ba['success']){const _0x2db658=_0x1e94ba[_0x7742df(0x133)];this['logger'][_0x7742df(0x180)](_0x7742df(0x1d9)+_0x5970c0,{'newMode':_0x6a58a4,'lockMode':lockMode,'finalMode':_0x2db658?.['mode']}),this['broadcastToSession'](_0x578694[_0x7742df(0x1ff)],{'type':_0x7742df(0x1b2),'agentId':_0x5970c0,'mode':_0x2db658?.['mode'],'modeState':_0x2db658?.[_0x7742df(0x18e)]}),_0x32eb96[_0x7742df(0x1ca)]({'success':!![],'agent':_0x2db658,'message':_0x7742df(0x179)+_0x2db658?.['mode']});}else _0x32eb96['status'](0x190)[_0x7742df(0x1ca)]({'success':![],'error':_0x1e94ba[_0x7742df(0x230)]||'Failed\x20to\x20update\x20agent\x20mode'});}catch(_0x5ae5f1){this[_0x7742df(0x222)]['error'](_0x7742df(0x14b),{'agentId':_0x99f979[_0x7742df(0x1da)]['agentId'],'error':_0x5ae5f1['message']}),_0x32eb96[_0x7742df(0x206)](0x1f4)[_0x7742df(0x1ca)]({'success':![],'error':_0x5ae5f1[_0x7742df(0x15f)]});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x136)]('/api/agents/:agentId/stop',async(_0x17d281,_0x2c85e8)=>{const _0x21d6cf=_0x1c9c69;try{const {agentId:_0x43163e}=_0x17d281[_0x21d6cf(0x1da)],_0x5d41e4=this['orchestrator'][_0x21d6cf(0x1c1)];if(!_0x5d41e4)return _0x2c85e8[_0x21d6cf(0x206)](0x1f4)[_0x21d6cf(0x1ca)]({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x315e74=await _0x5d41e4['stopAutonomousExecution'](_0x43163e);this[_0x21d6cf(0x222)]['info']('Autonomous\x20execution\x20stop\x20requested:\x20'+_0x43163e);const _0x3fd46c=_0x17d281['sessionID']||_0x315e74[_0x21d6cf(0x1bd)]?.['sessionId'];_0x3fd46c&&this[_0x21d6cf(0x1d1)](_0x3fd46c,{'type':'agent_mode_changed','agentId':_0x43163e,'mode':_0x315e74['agent']?.['mode'],'modeState':_0x315e74[_0x21d6cf(0x1bd)]?.['modeState']}),_0x2c85e8['json'](_0x315e74);}catch(_0x4ef78a){this[_0x21d6cf(0x222)]['error'](_0x21d6cf(0x224),{'agentId':_0x17d281['params']['agentId'],'error':_0x4ef78a['message']}),_0x2c85e8[_0x21d6cf(0x206)](0x1f4)['json']({'success':![],'error':_0x4ef78a[_0x21d6cf(0x15f)]});}}),this['app'][_0x1c9c69(0x211)]('/api/agents/:agentId/mode',async(_0x548e0d,_0x16f19b)=>{const _0x12db5b=_0x1c9c69;try{const {agentId:_0x1ba2ba}=_0x548e0d[_0x12db5b(0x1da)],_0x17a163={'interface':INTERFACE_TYPES[_0x12db5b(0x156)],'sessionId':_0x548e0d[_0x12db5b(0x1c3)],'action':'get_agent_status','payload':{'agentId':_0x1ba2ba}},_0x9a2db0=await this['orchestrator']['processRequest'](_0x17a163);_0x9a2db0[_0x12db5b(0x185)]&&_0x9a2db0[_0x12db5b(0x1bd)]?_0x16f19b['json']({'success':!![],'mode':_0x9a2db0['agent']['mode'],'modeState':_0x9a2db0[_0x12db5b(0x1bd)][_0x12db5b(0x18e)],'currentTask':_0x9a2db0[_0x12db5b(0x1bd)][_0x12db5b(0x1a0)],'iterationCount':_0x9a2db0['agent'][_0x12db5b(0x166)],'taskStartTime':_0x9a2db0[_0x12db5b(0x1bd)][_0x12db5b(0x1cb)],'stopRequested':_0x9a2db0[_0x12db5b(0x1bd)][_0x12db5b(0x182)]}):_0x16f19b['status'](0x194)['json']({'success':![],'error':'Agent\x20not\x20found'});}catch(_0x6bbfd4){this['logger'][_0x12db5b(0x230)](_0x12db5b(0x17c),{'agentId':_0x548e0d[_0x12db5b(0x1da)][_0x12db5b(0x1ba)],'error':_0x6bbfd4[_0x12db5b(0x15f)]}),_0x16f19b[_0x12db5b(0x206)](0x1f4)['json']({'success':![],'error':_0x6bbfd4[_0x12db5b(0x15f)]});}}),this[_0x1c9c69(0x163)][_0x1c9c69(0x211)](_0x1c9c69(0x12d),async(_0x544696,_0x466ad3)=>{const _0x31e585=_0x1c9c69;try{const _0x191b1e=this[_0x31e585(0x14a)][_0x31e585(0x142)]['project']?.['directory']||process[_0x31e585(0x197)](),_0x8338df=await this[_0x31e585(0x14a)]['stateManager'][_0x31e585(0x13a)](_0x191b1e,this[_0x31e585(0x14a)][_0x31e585(0x21c)]);_0x466ad3['json']({'success':!![],'agents':_0x8338df,'total':_0x8338df['length'],'active':_0x8338df['filter'](_0x40fbc0=>_0x40fbc0['isLoaded'])['length'],'archived':_0x8338df[_0x31e585(0x201)](_0xd60e33=>!_0xd60e33[_0x31e585(0x1a4)])['length']});}catch(_0x4c1547){this[_0x31e585(0x222)]['error'](_0x31e585(0x22c),{'error':_0x4c1547['message'],'stack':_0x4c1547[_0x31e585(0x144)]}),_0x466ad3[_0x31e585(0x206)](0x1f4)[_0x31e585(0x1ca)]({'success':![],'error':_0x4c1547['message']});}}),this['app'][_0x1c9c69(0x211)](_0x1c9c69(0x1e6),async(_0x4cf91d,_0x261c72)=>{const _0x39d492=_0x1c9c69;try{const {agentId:_0x2b2a1f}=_0x4cf91d['params'],_0x5ae304=this['orchestrator']['config'][_0x39d492(0x176)]?.['directory']||process['cwd'](),_0x112a98=await this['orchestrator'][_0x39d492(0x19c)][_0x39d492(0x15c)](_0x2b2a1f,_0x5ae304);_0x261c72['json']({'success':!![],'metadata':_0x112a98});}catch(_0x2e3f9d){this['logger']['error']('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x4cf91d['params'][_0x39d492(0x1ba)],'error':_0x2e3f9d[_0x39d492(0x15f)]}),_0x261c72[_0x39d492(0x206)](0x194)[_0x39d492(0x1ca)]({'success':![],'error':_0x2e3f9d[_0x39d492(0x15f)]});}}),this['app'][_0x1c9c69(0x136)]('/api/agents/import',async(_0x3bcf7b,_0x3e1b57)=>{const _0x119329=_0x1c9c69;try{const {agentId:_0x51351a}=_0x3bcf7b[_0x119329(0x152)];if(!_0x51351a)return _0x3e1b57[_0x119329(0x206)](0x190)['json']({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0x4fdcf6=this['orchestrator']['config'][_0x119329(0x176)]?.['directory']||process[_0x119329(0x197)](),_0x12e133=await this['orchestrator']['stateManager']['importArchivedAgent'](_0x51351a,_0x4fdcf6,this['orchestrator']['agentPool']);this[_0x119329(0x168)]&&this[_0x119329(0x168)]['broadcast']({'type':'agent-imported','agent':{'id':_0x12e133['id'],'name':_0x12e133[_0x119329(0x147)],'status':_0x12e133[_0x119329(0x206)],'capabilities':_0x12e133[_0x119329(0x1ce)],'model':_0x12e133['currentModel']||_0x12e133[_0x119329(0x1e9)]}}),this[_0x119329(0x222)]['info']('Agent imported successfully',{'agentId':_0x12e133['id'],'name':_0x12e133[_0x119329(0x147)]}),_0x3e1b57[_0x119329(0x1ca)]({'success':!![],'agent':{'id':_0x12e133['id'],'name':_0x12e133['name'],'status':_0x12e133['status'],'model':_0x12e133['currentModel']||_0x12e133[_0x119329(0x1e9)],'capabilities':_0x12e133[_0x119329(0x1ce)],'lastActivity':_0x12e133[_0x119329(0x165)]},'message':_0x119329(0x138)+_0x12e133[_0x119329(0x147)]+'\x20imported\x20successfully'});}catch(_0x19ab03){this['logger']['error']('Failed to import agent',{'agentId':_0x3bcf7b['body']['agentId'],'error':_0x19ab03['message'],'stack':_0x19ab03[_0x119329(0x144)]});const _0x15b3d7=_0x19ab03[_0x119329(0x15f)][_0x119329(0x1d6)]('already\x20active')?0x199:_0x19ab03['message'][_0x119329(0x1d6)](_0x119329(0x177))?0x194:_0x19ab03[_0x119329(0x15f)]['includes'](_0x119329(0x18c))?0x190:0x1f4;_0x3e1b57[_0x119329(0x206)](_0x15b3d7)[_0x119329(0x1ca)]({'success':![],'error':_0x19ab03['message']});}}),this['app'][_0x1c9c69(0x211)]('*',(_0x2cd825,_0x439778)=>{const _0x2a9fbd=_0x1c9c69,_0x558d0f=a0_0xd4e73b['join'](__dirname,_0x2a9fbd(0x22d));_0x439778[_0x2a9fbd(0x187)](_0x558d0f,_0xdc1c40=>{const _0x488f92=_0x2a9fbd;_0xdc1c40&&_0x439778[_0x488f92(0x206)](HTTP_STATUS[_0x488f92(0x14c)])['send']('Web\x20UI\x20not\x20built.\x20Run:\x20npm\x20run\x20build:ui');});});}['setupWebSocket'](){const _0x5dbc9b=a0_0x44b7;this[_0x5dbc9b(0x222)]['info']('Setting\x20up\x20WebSocket\x20server',{'port':this[_0x5dbc9b(0x1f2)],'host':this[_0x5dbc9b(0x1b4)],'wsServerExists':!!this[_0x5dbc9b(0x17b)],'httpServerExists':!!this['server']}),this[_0x5dbc9b(0x17b)]['on'](_0x5dbc9b(0x230),_0x5eb9ef=>{const _0x4e28d6=_0x5dbc9b;this[_0x4e28d6(0x222)]['error'](_0x4e28d6(0x170),{'error':_0x5eb9ef[_0x4e28d6(0x15f)],'stack':_0x5eb9ef[_0x4e28d6(0x144)],'port':this[_0x4e28d6(0x1f2)]});}),this[_0x5dbc9b(0x17b)]['on']('listening',()=>{const _0x1e2802=_0x5dbc9b;this[_0x1e2802(0x222)][_0x1e2802(0x180)]('WebSocket\x20server\x20is\x20now\x20listening',{'port':this['port'],'host':this['host']});}),this[_0x5dbc9b(0x17b)]['on']('connection',(_0x538bbe,_0x2e310b)=>{const _0x7a9400=_0x5dbc9b,_0x2c5112=_0x7a9400(0x20f)+Date[_0x7a9400(0x143)]()+'-'+Math['random']()['toString'](0x24)['substr'](0x2,0x9);this[_0x7a9400(0x222)]['info'](_0x7a9400(0x1f7),{'connectionId':_0x2c5112,'ip':_0x2e310b[_0x7a9400(0x1a9)][_0x7a9400(0x1fd)],'origin':_0x2e310b['headers']['origin'],'host':_0x2e310b[_0x7a9400(0x200)]['host'],'userAgent':_0x2e310b[_0x7a9400(0x200)][_0x7a9400(0x21e)],'url':_0x2e310b['url']});const _0x4f0ada={'id':_0x2c5112,'ws':_0x538bbe,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this[_0x7a9400(0x159)]['set'](_0x2c5112,_0x4f0ada),_0x538bbe['on'](_0x7a9400(0x15f),async _0x4102b6=>{const _0x100c1d=_0x7a9400;try{const _0x2a0613=JSON[_0x100c1d(0x228)](_0x4102b6[_0x100c1d(0x167)]());await this['handleWebSocketMessage'](_0x2c5112,_0x2a0613);}catch(_0x57b2c2){this['logger'][_0x100c1d(0x230)]('WebSocket\x20message\x20error',{'connectionId':_0x2c5112,'error':_0x57b2c2['message']}),_0x538bbe[_0x100c1d(0x1d0)](JSON['stringify']({'type':'error','error':_0x57b2c2['message']}));}}),_0x538bbe['on']('close',()=>{const _0x488edd=_0x7a9400;this[_0x488edd(0x222)][_0x488edd(0x180)]('WebSocket\x20connection\x20closed',{'connectionId':_0x2c5112}),this['connections'][_0x488edd(0x1f1)](_0x2c5112);}),_0x538bbe['send'](JSON['stringify']({'type':_0x7a9400(0x1ed),'connectionId':_0x2c5112,'timestamp':new Date()['toISOString']()}));});}async['handleWebSocketMessage'](_0x3d12ce,_0x39d578){const _0x50b364=a0_0x44b7,_0x19b9d5=this['connections'][_0x50b364(0x211)](_0x3d12ce);if(!_0x19b9d5)return;_0x19b9d5[_0x50b364(0x165)]=new Date()['toISOString']();switch(_0x39d578[_0x50b364(0x21d)]){case _0x50b364(0x1c4):const _0x7beba3=_0x39d578[_0x50b364(0x1ff)];_0x19b9d5[_0x50b364(0x1ff)]=_0x7beba3,this[_0x50b364(0x222)][_0x50b364(0x180)]('WebSocket\x20joined\x20session',{'connectionId':_0x3d12ce,'sessionId':_0x7beba3,'totalConnectionsForSession':Array[_0x50b364(0x1fb)](this['connections'][_0x50b364(0x1f8)]())[_0x50b364(0x201)](_0x36a778=>_0x36a778[_0x50b364(0x1ff)]===_0x7beba3)[_0x50b364(0x130)]}),_0x19b9d5['ws']['send'](JSON[_0x50b364(0x1e2)]({'type':'session_joined','sessionId':_0x7beba3}));break;case'ping':_0x19b9d5['ws']['send'](JSON['stringify']({'type':_0x50b364(0x1a6),'timestamp':new Date()['toISOString']()}));break;case'orchestrator_request':try{const _0x1e034e={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x19b9d5[_0x50b364(0x1ff)],'action':_0x39d578[_0x50b364(0x13b)],'payload':_0x39d578['payload'],'projectDir':_0x39d578['projectDir']||process['cwd']()},_0x2f1ee7=await this[_0x50b364(0x14a)][_0x50b364(0x17e)](_0x1e034e);_0x19b9d5['ws'][_0x50b364(0x1d0)](JSON[_0x50b364(0x1e2)]({'type':'orchestrator_response','requestId':_0x39d578[_0x50b364(0x21f)],'response':_0x2f1ee7}));}catch(_0xf076){_0x19b9d5['ws']['send'](JSON[_0x50b364(0x1e2)]({'type':_0x50b364(0x230),'requestId':_0x39d578[_0x50b364(0x21f)],'error':_0xf076['message']}));}break;default:this[_0x50b364(0x222)]['warn'](_0x50b364(0x190),{'connectionId':_0x3d12ce,'type':_0x39d578[_0x50b364(0x21d)]});}}['broadcastToSession'](_0x5a671b,_0x41f29){const _0x27127d=a0_0x44b7,_0x4791fe=Array['from'](this['connections'][_0x27127d(0x1f8)]())[_0x27127d(0x201)](_0x49683c=>_0x49683c[_0x27127d(0x1ff)]===_0x5a671b);let _0x4e0c27=[];_0x4791fe['length']===0x0&&(_0x4e0c27=Array[_0x27127d(0x1fb)](this['connections']['values']()),this['logger']?.[_0x27127d(0x18b)]('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x5a671b,'totalConnections':this[_0x27127d(0x159)]['size'],'allSessionIds':Array[_0x27127d(0x1fb)](this[_0x27127d(0x159)][_0x27127d(0x1f8)]())['map'](_0x44d4f2=>_0x44d4f2[_0x27127d(0x1ff)])[_0x27127d(0x201)](Boolean)}));const _0x35f3c7=_0x4791fe[_0x27127d(0x130)]>0x0?_0x4791fe:_0x4e0c27;this['logger']?.['info']('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x5a671b,'messageType':_0x41f29[_0x27127d(0x21d)],'agentId':_0x41f29['agentId'],'totalConnections':this[_0x27127d(0x159)]['size'],'sessionConnections':_0x4791fe['length'],'targetConnections':_0x35f3c7['length'],'connectionIds':_0x35f3c7[_0x27127d(0x1c5)](_0x576b67=>_0x576b67['id']),'usingFallback':_0x4791fe[_0x27127d(0x130)]===0x0,'messagePreview':_0x41f29[_0x27127d(0x21d)]==='autonomous_update'&&_0x41f29['message']?{'messageId':_0x41f29['message']['id'],'messageRole':_0x41f29[_0x27127d(0x15f)][_0x27127d(0x1bb)],'contentLength':_0x41f29['message']['content']?.[_0x27127d(0x130)],'hasToolResults':!!_0x41f29[_0x27127d(0x15f)]['toolResults']}:undefined});for(const _0x15fc37 of _0x35f3c7){try{const _0x52c826={..._0x41f29,'timestamp':new Date()[_0x27127d(0x1fa)]()};_0x15fc37['ws']['send'](JSON[_0x27127d(0x1e2)](_0x52c826)),this['logger']?.[_0x27127d(0x180)]('✅\x20WebSocket\x20message\x20sent\x20to\x20connection:',{'connectionId':_0x15fc37['id'],'messageType':_0x41f29['type'],'agentId':_0x41f29['agentId']});}catch(_0x42e1b1){this[_0x27127d(0x222)][_0x27127d(0x18b)](_0x27127d(0x198),{'connectionId':_0x15fc37['id'],'sessionId':_0x5a671b,'messageType':_0x41f29[_0x27127d(0x21d)],'error':_0x42e1b1[_0x27127d(0x15f)]});}}}async['startServer'](){return new Promise((_0x1d7c74,_0x5783a6)=>{const _0x40a8d3=a0_0x44b7;this[_0x40a8d3(0x19a)]['listen'](this['port'],this['host'],_0x267351=>{const _0x21f8f2=_0x40a8d3;_0x267351?(this['logger'][_0x21f8f2(0x230)]('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0x267351[_0x21f8f2(0x15f)],'port':this['port'],'host':this[_0x21f8f2(0x1b4)]}),_0x5783a6(_0x267351)):(this[_0x21f8f2(0x1a7)]=!![],this['logger'][_0x21f8f2(0x180)](_0x21f8f2(0x173),{'port':this['port'],'host':this[_0x21f8f2(0x1b4)],'httpUrl':'http://'+this['host']+':'+this[_0x21f8f2(0x1f2)],'wsUrl':'ws://'+this['host']+':'+this[_0x21f8f2(0x1f2)],'wsServerAttached':!!this[_0x21f8f2(0x17b)],'wsConnections':this['connections'][_0x21f8f2(0x188)]}),setTimeout(async()=>{const _0x10aecc=_0x21f8f2;await this[_0x10aecc(0x1a3)]();},0x3e8),_0x1d7c74());}),this[_0x40a8d3(0x19a)]['on']('error',_0x13c32d=>{const _0x3352b0=_0x40a8d3;this[_0x3352b0(0x222)]['error'](_0x3352b0(0x154),{'error':_0x13c32d[_0x3352b0(0x15f)],'stack':_0x13c32d[_0x3352b0(0x144)],'port':this[_0x3352b0(0x1f2)]});});});}async[a0_0x4b42bf(0x1a3)](){const _0x4c4f64=a0_0x4b42bf;try{const {default:_0x117a10}=await import('ws'),_0x278ca3=new _0x117a10('ws://localhost:'+this[_0x4c4f64(0x1f2)]);_0x278ca3['on'](_0x4c4f64(0x1d2),()=>{const _0x1eaccc=_0x4c4f64;this['logger'][_0x1eaccc(0x180)](_0x1eaccc(0x1ae),{'port':this[_0x1eaccc(0x1f2)],'url':'ws://localhost:'+this['port']}),_0x278ca3['close']();}),_0x278ca3['on']('error',_0x129efd=>{const _0x48ab98=_0x4c4f64;this[_0x48ab98(0x222)][_0x48ab98(0x230)](_0x48ab98(0x227),{'port':this['port'],'url':_0x48ab98(0x1de)+this[_0x48ab98(0x1f2)],'error':_0x129efd[_0x48ab98(0x15f)],'code':_0x129efd[_0x48ab98(0x1b3)]});}),_0x278ca3['on']('close',(_0x144e50,_0xe2bbe0)=>{const _0x106cdd=_0x4c4f64;_0x144e50===0x3e8&&this['logger'][_0x106cdd(0x180)](_0x106cdd(0x1e5));}),setTimeout(()=>{const _0x465b42=_0x4c4f64;_0x278ca3[_0x465b42(0x1be)]===_0x117a10['CONNECTING']&&(this[_0x465b42(0x222)]['error'](_0x465b42(0x22b),{'port':this['port'],'url':_0x465b42(0x1de)+this[_0x465b42(0x1f2)],'readyState':_0x278ca3['readyState']}),_0x278ca3[_0x465b42(0x15d)]());},0x1388);}catch(_0x5ca7bf){this[_0x4c4f64(0x222)][_0x4c4f64(0x230)]('❌\x20WebSocket\x20server\x20test:\x20EXCEPTION',{'error':_0x5ca7bf['message'],'stack':_0x5ca7bf['stack']});}}[a0_0x4b42bf(0x1b7)](_0x1d915d){const _0x1ae655=a0_0x4b42bf;this['apiKeyManager']=_0x1d915d,this[_0x1ae655(0x222)]?.[_0x1ae655(0x180)](_0x1ae655(0x134),{'hasManager':!!_0x1d915d});}['_getVendorFromModel'](_0x4a7453){const _0x22a54c=a0_0x4b42bf;if(!_0x4a7453)return null;const _0xbbe0d0=_0x4a7453[_0x22a54c(0x1db)]();if(_0xbbe0d0[_0x22a54c(0x1d6)]('anthropic')||_0xbbe0d0['includes']('claude'))return _0x22a54c(0x17f);else{if(_0xbbe0d0['includes'](_0x22a54c(0x178))||_0xbbe0d0['includes'](_0x22a54c(0x193)))return'openai';else{if(_0xbbe0d0['includes']('deepseek'))return _0x22a54c(0x1c6);else{if(_0xbbe0d0[_0x22a54c(0x1d6)]('phi'))return'microsoft';}}}return null;}[a0_0x4b42bf(0x13e)](){const _0x370833=a0_0x4b42bf;return{'isRunning':this[_0x370833(0x1a7)],'port':this['port'],'host':this[_0x370833(0x1b4)],'connections':this['connections'][_0x370833(0x188)],'sessions':this['sessions']['size'],'url':_0x370833(0x169)+this[_0x370833(0x1b4)]+':'+this[_0x370833(0x1f2)]};}async['shutdown'](){const _0x918d64=a0_0x4b42bf;if(!this[_0x918d64(0x1a7)])return;this['logger']['info'](_0x918d64(0x131));for(const _0x2a17dc of this['connections'][_0x918d64(0x1f8)]()){_0x2a17dc['ws']['close']();}return this[_0x918d64(0x159)]['clear'](),this[_0x918d64(0x17b)][_0x918d64(0x20b)](),new Promise(_0x1b95aa=>{this['server']['close'](()=>{const _0xd77413=a0_0x44b7;this[_0xd77413(0x1a7)]=![],this[_0xd77413(0x222)]['info']('Web\x20server\x20shutdown\x20complete'),_0x1b95aa();});});}}export default WebServer;if(import.meta.url==='file://'+process[a0_0x4b42bf(0x1cd)][0x1]){const simpleLogger={'info':(_0x45aa8b,_0x1bbfec)=>console['log'](a0_0x4b42bf(0x16b)+_0x45aa8b,_0x1bbfec?JSON['stringify'](_0x1bbfec,null,0x2):''),'error':(_0x1d745e,_0x21c997)=>console[a0_0x4b42bf(0x230)]('[ERROR]\x20'+_0x1d745e,_0x21c997?JSON['stringify'](_0x21c997,null,0x2):''),'warn':(_0x109c3e,_0x5bcb5b)=>console['warn'](a0_0x4b42bf(0x12e)+_0x109c3e,_0x5bcb5b?JSON[a0_0x4b42bf(0x1e2)](_0x5bcb5b,null,0x2):''),'debug':(_0x5ad616,_0x8734e0)=>console['log'](a0_0x4b42bf(0x232)+_0x5ad616,_0x8734e0?JSON[a0_0x4b42bf(0x1e2)](_0x8734e0,null,0x2):'')},mockOrchestrator={'processAction':async(_0x181ea8,_0x6b302d)=>{const _0x552770=a0_0x4b42bf;simpleLogger['info'](_0x552770(0x223),{'action':_0x181ea8,'data':_0x6b302d});switch(_0x181ea8){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS['CREATE_AGENT']:return{'success':!![],'data':{'id':'agent-'+Date[_0x552770(0x143)](),'name':_0x6b302d['name']||'New\x20Agent','status':_0x552770(0x1e1),'model':_0x6b302d['model']||_0x552770(0x20d),'systemPrompt':_0x6b302d['systemPrompt']||'You\x20are\x20a\x20helpful\x20AI\x20assistant.'}};case ORCHESTRATOR_ACTIONS['SEND_MESSAGE']:return{'success':!![],'data':{'message':{'id':_0x552770(0x234)+Date[_0x552770(0x143)](),'content':'Echo:\x20'+_0x6b302d['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':_0x552770(0x141)+_0x181ea8};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console[a0_0x4b42bf(0x149)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server['startServer']()[a0_0x4b42bf(0x139)](()=>{const _0x50c0c4=a0_0x4b42bf,_0x4ca2a2=server[_0x50c0c4(0x13e)]();console[_0x50c0c4(0x149)]('✅\x20Web\x20Server\x20running\x20at\x20'+_0x4ca2a2[_0x50c0c4(0x16e)]),console[_0x50c0c4(0x149)](_0x50c0c4(0x13f)),console['log']('🔧\x20API\x20available\x20at:\x20http://localhost:8080/api');})['catch'](_0x1c4a44=>{const _0x5d6170=a0_0x4b42bf;console[_0x5d6170(0x230)]('❌\x20Failed\x20to\x20start\x20web\x20server:',_0x1c4a44['message']),process[_0x5d6170(0x162)](0x1);}),process['on'](a0_0x4b42bf(0x226),async()=>{const _0x230249=a0_0x4b42bf;console[_0x230249(0x149)]('\x0a🛑\x20Shutting\x20down\x20web\x20server...'),await server[_0x230249(0x1ef)](),process[_0x230249(0x162)](0x0);});}
|
|
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 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0xb0fa2a=a0_0x42b5;(function(_0x452bea,_0x25bac4){const _0x2e4581=a0_0x42b5,_0x1c7202=_0x452bea();while(!![]){try{const _0x6ca5ea=-parseInt(_0x2e4581(0x191))/0x1+-parseInt(_0x2e4581(0x180))/0x2+-parseInt(_0x2e4581(0x18e))/0x3+parseInt(_0x2e4581(0x183))/0x4*(-parseInt(_0x2e4581(0x195))/0x5)+-parseInt(_0x2e4581(0x187))/0x6*(-parseInt(_0x2e4581(0x19e))/0x7)+parseInt(_0x2e4581(0x186))/0x8+parseInt(_0x2e4581(0x17c))/0x9*(parseInt(_0x2e4581(0x19d))/0xa);if(_0x6ca5ea===_0x25bac4)break;else _0x1c7202['push'](_0x1c7202['shift']());}catch(_0x53a1f2){_0x1c7202['push'](_0x1c7202['shift']());}}}(a0_0x3e28,0x6a9c6));import{promises as a0_0x4fae74}from'fs';import a0_0x2dee8e from'path';function a0_0x42b5(_0x5f37bc,_0x306f7){_0x5f37bc=_0x5f37bc-0x179;const _0x3e28de=a0_0x3e28();let _0x42b5e9=_0x3e28de[_0x5f37bc];if(a0_0x42b5['UWdvZK']===undefined){var _0x3131f0=function(_0x711ba0){const _0x3d6865='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fae74='',_0x2dee8e='';for(let _0x4cf57c=0x0,_0x5319d6,_0x1b102d,_0x5c1d37=0x0;_0x1b102d=_0x711ba0['charAt'](_0x5c1d37++);~_0x1b102d&&(_0x5319d6=_0x4cf57c%0x4?_0x5319d6*0x40+_0x1b102d:_0x1b102d,_0x4cf57c++%0x4)?_0x4fae74+=String['fromCharCode'](0xff&_0x5319d6>>(-0x2*_0x4cf57c&0x6)):0x0){_0x1b102d=_0x3d6865['indexOf'](_0x1b102d);}for(let _0x2baa83=0x0,_0x43935f=_0x4fae74['length'];_0x2baa83<_0x43935f;_0x2baa83++){_0x2dee8e+='%'+('00'+_0x4fae74['charCodeAt'](_0x2baa83)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2dee8e);};a0_0x42b5['ICdOCW']=_0x3131f0,a0_0x42b5['cKMYdc']={},a0_0x42b5['UWdvZK']=!![];}const _0x377850=_0x3e28de[0x0],_0x22c6cd=_0x5f37bc+_0x377850,_0xf2adc5=a0_0x42b5['cKMYdc'][_0x22c6cd];return!_0xf2adc5?(_0x42b5e9=a0_0x42b5['ICdOCW'](_0x42b5e9),a0_0x42b5['cKMYdc'][_0x22c6cd]=_0x42b5e9):_0x42b5e9=_0xf2adc5,_0x42b5e9;}import a0_0x4cf57c from'os';class FileExplorerController{constructor(_0x5319d6={}){const _0x1df6d8=a0_0x42b5;this[_0x1df6d8(0x17a)]={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x5319d6};}async['getFileStats'](_0x1b102d){try{const _0x5c1d37=await a0_0x4fae74['stat'](_0x1b102d);return{'stats':_0x5c1d37};}catch(_0x2baa83){return{'stats':null,'error':_0x2baa83 instanceof Error?_0x2baa83['message']:'Unknown\x20error'};}}['isSafePath'](_0x43935f){const _0x3f4c25=a0_0x42b5;try{const _0x1ab167=a0_0x2dee8e[_0x3f4c25(0x188)](_0x43935f);if(this[_0x3f4c25(0x17a)]['restrictedPaths'][_0x3f4c25(0x196)](_0x3ce252=>_0x1ab167['startsWith'](a0_0x2dee8e[_0x3f4c25(0x188)](_0x3ce252))))return![];return!![];}catch(_0x2e2e2f){return![];}}['shouldIncludeItem'](_0x4bc60b,_0x86f303){const _0x4e4226=a0_0x42b5;if(!this[_0x4e4226(0x17a)][_0x4e4226(0x179)]&&_0x4bc60b[_0x4e4226(0x184)]('.'))return![];if(_0x86f303[_0x4e4226(0x1a5)]()&&this['config']['allowedExtensions'][_0x4e4226(0x1a7)]>0x0){const _0x590a58=a0_0x2dee8e[_0x4e4226(0x19b)](_0x4bc60b)[_0x4e4226(0x19c)]();if(!this['config'][_0x4e4226(0x1a6)][_0x4e4226(0x194)](_0x590a58))return![];}return!![];}async['browseDirectory'](_0x471f35=process[a0_0xb0fa2a(0x199)](),_0x3b4612={}){const _0x3f9f9d=a0_0xb0fa2a;try{const _0x3bf163=a0_0x2dee8e['resolve'](_0x471f35);if(!this['isSafePath'](_0x3bf163))return{'success':![],'error':'Access\x20to\x20this\x20path\x20is\x20restricted'};const {stats:_0x24c949,error:_0x10de18}=await this['getFileStats'](_0x3bf163);if(_0x10de18||!_0x24c949)return{'success':![],'error':_0x3f9f9d(0x185)};if(!_0x24c949[_0x3f9f9d(0x17f)]())return{'success':![],'error':_0x3f9f9d(0x197)};const _0x699a5a=await a0_0x4fae74[_0x3f9f9d(0x1a1)](_0x3bf163),_0x1fe6eb=[];for(const _0x40f77c of _0x699a5a){const _0x1c68c5=a0_0x2dee8e['join'](_0x3bf163,_0x40f77c),{stats:_0x53c99c}=await this[_0x3f9f9d(0x17e)](_0x1c68c5);if(_0x53c99c&&this[_0x3f9f9d(0x18d)](_0x40f77c,_0x53c99c)){const _0x2987fc={'name':_0x40f77c,'path':_0x1c68c5,'type':_0x53c99c[_0x3f9f9d(0x17f)]()?_0x3f9f9d(0x1a4):_0x3f9f9d(0x189),'size':_0x53c99c[_0x3f9f9d(0x1a5)]()?_0x53c99c['size']:undefined,'lastModified':_0x53c99c[_0x3f9f9d(0x18b)],'extension':_0x53c99c['isFile']()?a0_0x2dee8e['extname'](_0x40f77c)[_0x3f9f9d(0x19c)]():undefined};_0x1fe6eb[_0x3f9f9d(0x190)](_0x2987fc);}}_0x1fe6eb['sort']((_0x141cd2,_0x595c04)=>{const _0x213a62=_0x3f9f9d;if(_0x141cd2[_0x213a62(0x1a3)]===_0x595c04['type'])return _0x141cd2[_0x213a62(0x1a2)][_0x213a62(0x192)](_0x595c04[_0x213a62(0x1a2)]);return _0x141cd2[_0x213a62(0x1a3)]===_0x213a62(0x1a4)?-0x1:0x1;});const _0x52967e=a0_0x2dee8e['dirname'](_0x3bf163),_0x622bbd=_0x52967e!==_0x3bf163;return{'success':!![],'data':{'currentPath':_0x3bf163,'parentPath':_0x622bbd?_0x52967e:null,'items':_0x1fe6eb,'totalItems':_0x1fe6eb[_0x3f9f9d(0x1a7)],'directories':_0x1fe6eb[_0x3f9f9d(0x18f)](_0x55a1a9=>_0x55a1a9[_0x3f9f9d(0x1a3)]===_0x3f9f9d(0x1a4))['length'],'files':_0x1fe6eb['filter'](_0x8b4963=>_0x8b4963[_0x3f9f9d(0x1a3)]==='file')[_0x3f9f9d(0x1a7)]}};}catch(_0x2b0974){return{'success':![],'error':_0x2b0974 instanceof Error?_0x2b0974['message']:_0x3f9f9d(0x17b)};}}async['getFileInfo'](_0x2656e1){const _0x14468b=a0_0xb0fa2a;try{if(!_0x2656e1||!this[_0x14468b(0x18c)](_0x2656e1))return{'success':![],'error':'Invalid\x20file\x20path'};const {stats:_0x54f198,error:_0x1a1750}=await this[_0x14468b(0x17e)](_0x2656e1);if(_0x1a1750||!_0x54f198)return{'success':![],'error':'File\x20not\x20found'};const _0x3eb639={'name':a0_0x2dee8e[_0x14468b(0x1a0)](_0x2656e1),'path':_0x2656e1,'type':_0x54f198['isDirectory']()?'directory':'file','size':_0x54f198[_0x14468b(0x1a5)]()?_0x54f198['size']:undefined,'lastModified':_0x54f198['mtime'],'extension':_0x54f198['isFile']()?a0_0x2dee8e['extname'](_0x2656e1)['toLowerCase']():undefined};return{'success':!![],'data':_0x3eb639};}catch(_0x44778a){return{'success':![],'error':_0x44778a instanceof Error?_0x44778a['message']:_0x14468b(0x17b)};}}[a0_0xb0fa2a(0x19a)](){const _0x41347d=a0_0xb0fa2a;return{'success':!![],'data':{'cwd':process[_0x41347d(0x199)](),'platform':process['platform'],'homedir':a0_0x4cf57c[_0x41347d(0x182)]()}};}async['createDirectory'](_0x2fcff8,_0x1b0800={}){const _0x818b64=a0_0xb0fa2a;try{if(!this[_0x818b64(0x18c)](_0x2fcff8))return{'success':![],'error':_0x818b64(0x17d)};return await a0_0x4fae74[_0x818b64(0x181)](_0x2fcff8,{'recursive':_0x1b0800['recursive']||![]}),{'success':!![],'data':{'path':_0x2fcff8,'relativePath':a0_0x2dee8e['relative'](process[_0x818b64(0x199)](),_0x2fcff8)}};}catch(_0x239d22){return{'success':![],'error':_0x239d22 instanceof Error?_0x239d22['message']:_0x818b64(0x193),'code':_0x239d22[_0x818b64(0x19f)]};}}[a0_0xb0fa2a(0x198)](){const _0x4f09d4=a0_0xb0fa2a;return{'success':!![],'data':{'status':'healthy','timestamp':new Date()['toISOString'](),'module':_0x4f09d4(0x18a)}};}}function a0_0x3e28(){const _0x21a7c0=['BwTKAxi','Ag9TzwrPCG','ogvKwwHnuW','C3rHCNrZv2L0Aa','ugf0AcbUB3qGzM91BMqGB3iGAw5Hy2nLC3nPyMXL','odaXnJCYswrAz2Xd','mtK4mdC0nfLmCNHOBW','CMvZB2X2zq','zMLSzq','zMLSzuv4CgXVCMvY','BxrPBwu','AxntywzLugf0Aa','C2HVDwXKsw5JBhvKzuL0zw0','mJq2ndy1m2fKC1LJyq','zMLSDgvY','ChvZAa','odmXntaYDe56z2vj','Bg9JywXLq29TCgfYzq','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNK','Aw5JBhvKzxm','mtq1odC4nwfowK9XvW','C29Tzq','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','AgvHBhrOq2HLy2S','y3DK','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','zxH0BMfTzq','Dg9mB3DLCKnHC2u','mtCWwgz4D2T5','n1LmuvLsEq','y29Kzq','yMfZzw5HBwu','CMvHzgrPCG','BMfTzq','DhLWzq','zgLYzwn0B3j5','AxngAwXL','ywXSB3DLzev4DgvUC2LVBNm','BgvUz3rO','C2HVD0HPzgrLBG','y29UzMLN','u2vYDMvYigvYCM9Y','mtyXmJiXnxfcvuTIDa','sw52ywXPzcbKAxjLy3rVCNKGCgf0Aa','z2v0rMLSzvn0yxrZ','AxneAxjLy3rVCNK','mtyWndC2nMLHyMPnvG'];a0_0x3e28=function(){return _0x21a7c0;};return a0_0x3e28();}export default FileExplorerController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5767b0,_0x1de01d){const _0x4ae76f=a0_0x48a0,_0x50166d=_0x5767b0();while(!![]){try{const _0x8c3aed=-parseInt(_0x4ae76f(0x7c))/0x1*(parseInt(_0x4ae76f(0x74))/0x2)+parseInt(_0x4ae76f(0x77))/0x3*(parseInt(_0x4ae76f(0x73))/0x4)+parseInt(_0x4ae76f(0x78))/0x5+parseInt(_0x4ae76f(0x76))/0x6+parseInt(_0x4ae76f(0x79))/0x7*(parseInt(_0x4ae76f(0x7a))/0x8)+-parseInt(_0x4ae76f(0x75))/0x9+parseInt(_0x4ae76f(0x7d))/0xa*(-parseInt(_0x4ae76f(0x7b))/0xb);if(_0x8c3aed===_0x1de01d)break;else _0x50166d['push'](_0x50166d['shift']());}catch(_0x4070fa){_0x50166d['push'](_0x50166d['shift']());}}}(a0_0x4864,0x187b6));function a0_0x4864(){const _0x559583=['mta5ndeWq2XZCgLV','mtC3ntq1Aef3zwPe','mtr2y1rky0W','ndiXotm2whjyDg9M','mtf5EgfdugS','mtu3m1juDuHOEG','mtGYoti4mhrbvuPvua','og1YuKfvBq','nLbIyLboqW','odu4mte0qvzgt0fe','mtaXnJaYogXVqKvpzq'];a0_0x4864=function(){return _0x559583;};return a0_0x4864();}import{createFileExplorerRouter,defaultConfig}from'./routes.js';import a0_0x486a5a from'./controller.js';export function initFileExplorerModule(_0x2fcfa7={}){const _0x8d0668={...defaultConfig,..._0x2fcfa7},_0x51bc9b=createFileExplorerRouter(_0x8d0668),_0x4141fa=new a0_0x486a5a(_0x8d0668);return{'router':_0x51bc9b,'controller':_0x4141fa,'config':_0x8d0668};}function a0_0x48a0(_0x9e5487,_0x5dba79){_0x9e5487=_0x9e5487-0x73;const _0x486477=a0_0x4864();let _0x48a0d0=_0x486477[_0x9e5487];if(a0_0x48a0['DAnRmc']===undefined){var _0x40a407=function(_0x99bf5c){const _0x156d8c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x486a5a='',_0x2fcfa7='';for(let _0x8d0668=0x0,_0x51bc9b,_0x4141fa,_0x9ff1=0x0;_0x4141fa=_0x99bf5c['charAt'](_0x9ff1++);~_0x4141fa&&(_0x51bc9b=_0x8d0668%0x4?_0x51bc9b*0x40+_0x4141fa:_0x4141fa,_0x8d0668++%0x4)?_0x486a5a+=String['fromCharCode'](0xff&_0x51bc9b>>(-0x2*_0x8d0668&0x6)):0x0){_0x4141fa=_0x156d8c['indexOf'](_0x4141fa);}for(let _0x2e9112=0x0,_0x410763=_0x486a5a['length'];_0x2e9112<_0x410763;_0x2e9112++){_0x2fcfa7+='%'+('00'+_0x486a5a['charCodeAt'](_0x2e9112)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fcfa7);};a0_0x48a0['XzlLaA']=_0x40a407,a0_0x48a0['LJvDCz']={},a0_0x48a0['DAnRmc']=!![];}const _0x2e54e6=_0x486477[0x0],_0x3d79d9=_0x9e5487+_0x2e54e6,_0x12fc7d=a0_0x48a0['LJvDCz'][_0x3d79d9];return!_0x12fc7d?(_0x48a0d0=a0_0x48a0['XzlLaA'](_0x48a0d0),a0_0x48a0['LJvDCz'][_0x3d79d9]=_0x48a0d0):_0x48a0d0=_0x12fc7d,_0x48a0d0;}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x486a5a,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a0_0x43fe(_0x317251,_0x1514a7){_0x317251=_0x317251-0x16f;const _0xc9ce70=a0_0xc9ce();let _0x43feb3=_0xc9ce70[_0x317251];if(a0_0x43fe['zWDJug']===undefined){var _0x429180=function(_0x139cb0){const _0x389f60='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25d843='',_0x48e2ae='';for(let _0x107b17=0x0,_0x40a8eb,_0x4908fd,_0x44a4bd=0x0;_0x4908fd=_0x139cb0['charAt'](_0x44a4bd++);~_0x4908fd&&(_0x40a8eb=_0x107b17%0x4?_0x40a8eb*0x40+_0x4908fd:_0x4908fd,_0x107b17++%0x4)?_0x25d843+=String['fromCharCode'](0xff&_0x40a8eb>>(-0x2*_0x107b17&0x6)):0x0){_0x4908fd=_0x389f60['indexOf'](_0x4908fd);}for(let _0xd02e0e=0x0,_0x76d57e=_0x25d843['length'];_0xd02e0e<_0x76d57e;_0xd02e0e++){_0x48e2ae+='%'+('00'+_0x25d843['charCodeAt'](_0xd02e0e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x48e2ae);};a0_0x43fe['txAbAZ']=_0x429180,a0_0x43fe['riEkWO']={},a0_0x43fe['zWDJug']=!![];}const _0x4fd196=_0xc9ce70[0x0],_0x215a96=_0x317251+_0x4fd196,_0x5d5cd8=a0_0x43fe['riEkWO'][_0x215a96];return!_0x5d5cd8?(_0x43feb3=a0_0x43fe['txAbAZ'](_0x43feb3),a0_0x43fe['riEkWO'][_0x215a96]=_0x43feb3):_0x43feb3=_0x5d5cd8,_0x43feb3;}(function(_0x110782,_0x5236a8){const _0x22af5e=a0_0x43fe,_0x491039=_0x110782();while(!![]){try{const _0x2b1803=-parseInt(_0x22af5e(0x172))/0x1+-parseInt(_0x22af5e(0x16f))/0x2+parseInt(_0x22af5e(0x176))/0x3*(parseInt(_0x22af5e(0x17f))/0x4)+-parseInt(_0x22af5e(0x174))/0x5*(-parseInt(_0x22af5e(0x18b))/0x6)+parseInt(_0x22af5e(0x185))/0x7*(parseInt(_0x22af5e(0x17b))/0x8)+-parseInt(_0x22af5e(0x171))/0x9+parseInt(_0x22af5e(0x17e))/0xa*(-parseInt(_0x22af5e(0x181))/0xb);if(_0x2b1803===_0x5236a8)break;else _0x491039['push'](_0x491039['shift']());}catch(_0x24d14a){_0x491039['push'](_0x491039['shift']());}}}(a0_0xc9ce,0xc15ed));function a0_0xc9ce(){const _0x584cbf=['nNbYv01Rtq','ndG2mJi2tNzdC0vo','z2v0','mtm4nZq0ovPKsK1ZvG','ndeYntG2uhjMDxjr','C3rYAw5N','ndi3oteWnxzQs1b4EG','C3rHDhvZ','ntDUs3nrzK8','BM8Ty2fJAguSig5Vlxn0B3jLlcbTDxn0lxjLDMfSAwrHDgu','BxmP','C2v0','w0zPBgvfEhbSB3jLCL0G','mteWneHPCwDIvq','BgvUz3rO','Dw5RBM93BG','mZy3mfLkq3nIuW','mtGZndC2ywDtyNjL','ANnVBG','mZa1mJvAB1fnA1G','zMLSDgvY','ChvZAa','CxvLCNK','nduYotDRruvuCey','B3jPz2LUywXvCMW','AgfZ','Bwv0Ag9K','y2vPBa','BM93'];a0_0xc9ce=function(){return _0x584cbf;};return a0_0xc9ce();}export function validatePath(_0x25d843,_0x48e2ae,_0x107b17){const _0xd2f720=a0_0x43fe,{path:_0x40a8eb}=_0x25d843[_0xd2f720(0x184)];if(_0x40a8eb&&typeof _0x40a8eb!==_0xd2f720(0x173))return _0x48e2ae['status'](0x190)['json']({'success':![],'error':'Path\x20parameter\x20must\x20be\x20a\x20string'});_0x107b17();}export function createRateLimit(_0x4908fd=0x64,_0x44a4bd=0xea60){const _0xd02e0e=new Map();return(_0x76d57e,_0x13d08b,_0x1f2903)=>{const _0x4044a8=a0_0x43fe,_0x457d04=_0x76d57e['ip']||_0x76d57e['connection']['remoteAddress']||_0x4044a8(0x17d),_0x334569=Date[_0x4044a8(0x18a)](),_0x757528=_0x334569-_0x44a4bd;!_0xd02e0e[_0x4044a8(0x187)](_0x457d04)&&_0xd02e0e['set'](_0x457d04,[]);const _0x31c9fb=_0xd02e0e[_0x4044a8(0x170)](_0x457d04),_0x41ff93=_0x31c9fb[_0x4044a8(0x182)](_0x4a9296=>_0x4a9296>_0x757528);_0xd02e0e[_0x4044a8(0x179)](_0x457d04,_0x41ff93);if(_0x41ff93[_0x4044a8(0x17c)]>=_0x4908fd)return _0x13d08b[_0x4044a8(0x175)](0x1ad)[_0x4044a8(0x180)]({'success':![],'error':'Too\x20many\x20requests','retryAfter':Math[_0x4044a8(0x189)](_0x44a4bd/0x3e8)});_0x41ff93[_0x4044a8(0x183)](_0x334569),_0x1f2903();};}export function securityHeaders(_0x256d18,_0x5d3a15,_0x53bca4){const _0x204550=a0_0x43fe;_0x5d3a15[_0x204550(0x179)]({'Cache-Control':_0x204550(0x177),'Pragma':'no-cache','Expires':'0'}),_0x53bca4();}export function requestLogger(_0x36c0f7,_0x483f9c,_0x2f0436){const _0x404931=Date['now']();_0x483f9c['on']('finish',()=>{const _0xdbaf38=a0_0x43fe,_0x2a2f5e=Date['now']()-_0x404931;console['log'](_0xdbaf38(0x17a)+_0x36c0f7[_0xdbaf38(0x188)]+'\x20'+_0x36c0f7[_0xdbaf38(0x186)]+'\x20-\x20'+_0x483f9c['statusCode']+'\x20('+_0x2a2f5e+_0xdbaf38(0x178));}),_0x2f0436();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xd8b662,_0xcc12e5){const _0x1f9f01=a0_0xb4a8,_0x34e5fb=_0xd8b662();while(!![]){try{const _0x102e7e=parseInt(_0x1f9f01(0x150))/0x1*(parseInt(_0x1f9f01(0x162))/0x2)+-parseInt(_0x1f9f01(0x155))/0x3+parseInt(_0x1f9f01(0x153))/0x4+-parseInt(_0x1f9f01(0x156))/0x5+parseInt(_0x1f9f01(0x15e))/0x6*(-parseInt(_0x1f9f01(0x152))/0x7)+-parseInt(_0x1f9f01(0x14f))/0x8+parseInt(_0x1f9f01(0x158))/0x9;if(_0x102e7e===_0xcc12e5)break;else _0x34e5fb['push'](_0x34e5fb['shift']());}catch(_0x144d67){_0x34e5fb['push'](_0x34e5fb['shift']());}}}(a0_0x249d,0xeaefc));function a0_0x249d(){const _0x4d8e56=['m1vtAK9bAq','l21RzgLY','ndyYnte4s2nAD0D3','ndm4ndaYnfDIuM1Oua','zxjYB3i','ndK0ntG5ouDKCfrpyG','ndCXodmYmfbnuK5Osa','ANnVBG','mJC5nJa4mJjhuwHvDeu','l2jYB3DZzq','Cgf0Aa','C3rHDhvZ','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','z2v0','nJz6D2XhC3a','Dhj1zq','sw50zxjUywWGC2vYDMvYigvYCM9Y','DxnL','mte2mdK0neXwDePpyW','CxvLCNK','ruvysvnu','C3vJy2vZCW','CMvZDhjPy3rLza','mtmZmdiXntjqD0PHB3O'];a0_0x249d=function(){return _0x4d8e56;};return a0_0x249d();}import a0_0x267e81 from'express';import a0_0x459a04 from'./controller.js';function a0_0xb4a8(_0x39b360,_0x19cd2e){_0x39b360=_0x39b360-0x14b;const _0x249d0d=a0_0x249d();let _0xb4a844=_0x249d0d[_0x39b360];if(a0_0xb4a8['RJzYuA']===undefined){var _0x2ddeb7=function(_0x2bc936){const _0x1a26a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x267e81='',_0x459a04='';for(let _0x1bbdf9=0x0,_0x3b2dfd,_0x143d19,_0xe6b77a=0x0;_0x143d19=_0x2bc936['charAt'](_0xe6b77a++);~_0x143d19&&(_0x3b2dfd=_0x1bbdf9%0x4?_0x3b2dfd*0x40+_0x143d19:_0x143d19,_0x1bbdf9++%0x4)?_0x267e81+=String['fromCharCode'](0xff&_0x3b2dfd>>(-0x2*_0x1bbdf9&0x6)):0x0){_0x143d19=_0x1a26a5['indexOf'](_0x143d19);}for(let _0x3f30f9=0x0,_0x3a3d23=_0x267e81['length'];_0x3f30f9<_0x3a3d23;_0x3f30f9++){_0x459a04+='%'+('00'+_0x267e81['charCodeAt'](_0x3f30f9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x459a04);};a0_0xb4a8['WVFjXJ']=_0x2ddeb7,a0_0xb4a8['wviBeX']={},a0_0xb4a8['RJzYuA']=!![];}const _0x3953a8=_0x249d0d[0x0],_0x1a180e=_0x39b360+_0x3953a8,_0x2a4ad0=a0_0xb4a8['wviBeX'][_0x1a180e];return!_0x2a4ad0?(_0xb4a844=a0_0xb4a8['WVFjXJ'](_0xb4a844),a0_0xb4a8['wviBeX'][_0x1a180e]=_0xb4a844):_0xb4a844=_0x2a4ad0,_0xb4a844;}import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x1bbdf9={}){const _0xe14754=a0_0xb4a8,_0x3b2dfd=a0_0x267e81['Router'](),_0x143d19=new a0_0x459a04(_0x1bbdf9);return _0x3b2dfd[_0xe14754(0x161)](requestLogger),_0x3b2dfd['use'](securityHeaders),_0x3b2dfd['use'](createRateLimit(0x64,0xea60)),_0x3b2dfd['get']('/health',(_0xe6b77a,_0x3f30f9)=>{const _0x3a3d23=_0x143d19['healthCheck']();_0x3f30f9['json'](_0x3a3d23);}),_0x3b2dfd['get']('/cwd',(_0x1a5f97,_0x10a405)=>{const _0x3b44a5=_0xe14754,_0xd04e16=_0x143d19[_0x3b44a5(0x15c)]();_0x10a405['json'](_0xd04e16);}),_0x3b2dfd[_0xe14754(0x15d)](_0xe14754(0x159),validatePath,async(_0x328c74,_0x1de98f)=>{const _0x489d55=_0xe14754;try{const _0x4c0ebe=_0x328c74[_0x489d55(0x14b)][_0x489d55(0x15a)],_0x3367d9={'showHidden':_0x328c74[_0x489d55(0x14b)]['showHidden']===_0x489d55(0x15f)},_0x1e52d6=await _0x143d19['browseDirectory'](_0x4c0ebe,_0x3367d9);if(_0x1e52d6['success'])_0x1de98f[_0x489d55(0x157)](_0x1e52d6);else{const _0x1745f8=_0x1e52d6['error']['includes'](_0x489d55(0x14e))?0x193:_0x1e52d6[_0x489d55(0x154)]['includes']('not\x20found')?0x194:0x190;_0x1de98f[_0x489d55(0x15b)](_0x1745f8)['json'](_0x1e52d6);}}catch(_0x1e7e3f){_0x1de98f[_0x489d55(0x15b)](0x1f4)[_0x489d55(0x157)]({'success':![],'error':_0x489d55(0x160)});}}),_0x3b2dfd['get']('/file-info',validatePath,async(_0x20d538,_0x429bc4)=>{const _0xb52b14=_0xe14754;try{const _0x2a5f8a=_0x20d538[_0xb52b14(0x14b)]['path'],_0x251c9b=await _0x143d19['getFileInfo'](_0x2a5f8a);if(_0x251c9b[_0xb52b14(0x14d)])_0x429bc4[_0xb52b14(0x157)](_0x251c9b);else{const _0x53678a=_0x251c9b[_0xb52b14(0x154)]['includes']('not\x20found')?0x194:0x190;_0x429bc4[_0xb52b14(0x15b)](_0x53678a)[_0xb52b14(0x157)](_0x251c9b);}}catch(_0xbc75e){_0x429bc4[_0xb52b14(0x15b)](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3b2dfd['post'](_0xe14754(0x151),a0_0x267e81['json'](),async(_0x5d7f79,_0x52d61e)=>{const _0xdff304=_0xe14754;try{const {path:_0x342358,recursive:recursive=![]}=_0x5d7f79['body'];if(!_0x342358)return _0x52d61e[_0xdff304(0x15b)](0x190)['json']({'success':![],'error':'Directory\x20path\x20is\x20required'});const _0x2dd6fa=await _0x143d19['createDirectory'](_0x342358,{'recursive':recursive});if(_0x2dd6fa['success'])_0x52d61e['json'](_0x2dd6fa);else{const _0x3c629a=_0x2dd6fa['code']===_0xdff304(0x14c)?0x199:0x190;_0x52d61e['status'](_0x3c629a)['json'](_0x2dd6fa);}}catch(_0xfe7fce){_0x52d61e['status'](0x1f4)[_0xdff304(0x157)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x3b2dfd;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};export default createFileExplorerRouter;
|