@loxia-labs/loxia-autopilot-one 1.0.4 → 1.0.5
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 +1 -1
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3f0ed0=a0_0x28c1;(function(_0x5a65c8,_0xc2dd27){const _0x959212=a0_0x28c1,_0x1e3fc3=_0x5a65c8();while(!![]){try{const _0x594884=-parseInt(_0x959212(0x174))/0x1+parseInt(_0x959212(0x167))/0x2+-parseInt(_0x959212(0x166))/0x3+parseInt(_0x959212(0x16d))/0x4*(parseInt(_0x959212(0x175))/0x5)+parseInt(_0x959212(0x16b))/0x6*(parseInt(_0x959212(0x165))/0x7)+parseInt(_0x959212(0x170))/0x8*(-parseInt(_0x959212(0x161))/0x9)+parseInt(_0x959212(0x162))/0xa;if(_0x594884===_0xc2dd27)break;else _0x1e3fc3['push'](_0x1e3fc3['shift']());}catch(_0x4c4d2b){_0x1e3fc3['push'](_0x1e3fc3['shift']());}}}(a0_0x5ce5,0xc9440));const THEMES={'default':{'border':'blue','borderLoading':a0_0x3f0ed0(0x15f),'primary':a0_0x3f0ed0(0x173),'secondary':'cyan','success':'green','error':a0_0x3f0ed0(0x16e),'warning':'yellow','info':a0_0x3f0ed0(0x164),'dim':'gray'},'light':{'border':'blue','borderLoading':a0_0x3f0ed0(0x15f),'primary':'black','secondary':a0_0x3f0ed0(0x164),'success':a0_0x3f0ed0(0x16f),'error':a0_0x3f0ed0(0x16e),'warning':'yellow','info':a0_0x3f0ed0(0x160),'dim':'gray'},'dark':{'border':'cyan','borderLoading':a0_0x3f0ed0(0x15e),'primary':'white','secondary':'cyan','success':'greenBright','error':a0_0x3f0ed0(0x169),'warning':a0_0x3f0ed0(0x16c),'info':a0_0x3f0ed0(0x172),'dim':a0_0x3f0ed0(0x171)},'high-contrast':{'border':a0_0x3f0ed0(0x173),'borderLoading':a0_0x3f0ed0(0x15f),'primary':'white','secondary':a0_0x3f0ed0(0x160),'success':a0_0x3f0ed0(0x16a),'error':a0_0x3f0ed0(0x169),'warning':'yellowBright','info':a0_0x3f0ed0(0x168),'dim':a0_0x3f0ed0(0x173)}};function a0_0x5ce5(){const _0x4ae2ad=['nJG1mZDxvKf2ruu','otm0ndy3yxjSDgnu','mZm4nti0AeTQtfrp','y3LHBKjYAwDODa','CMvKqNjPz2H0','z3jLzw5cCMLNAhq','mZe4yxzzqxzP','EwvSBg93qNjPz2H0','ndy5mtKYs1HqEwn6','CMvK','z3jLzw4','ohvnCgD6Bq','z3jHEq','yMX1zujYAwDODa','D2HPDgu','odG1ntGYCxbqtMPK','mJborLjsufK','BwfNzw50yq','EwvSBg93','y3LHBG','nJiWmde2m21HtLnxzW','mtu1mJK4ntb0C2nXAue','ChjPBwfYEq','yMX1zq'];a0_0x5ce5=function(){return _0x4ae2ad;};return a0_0x5ce5();}function a0_0x28c1(_0x3bb535,_0x17d028){_0x3bb535=_0x3bb535-0x15e;const _0x5ce554=a0_0x5ce5();let _0x28c154=_0x5ce554[_0x3bb535];if(a0_0x28c1['xGCaxz']===undefined){var _0x55363a=function(_0x4ef4a2){const _0x5194fa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c132f='',_0x2a62d8='';for(let _0x50fce2=0x0,_0x49920f,_0x4cc2a2,_0x16144c=0x0;_0x4cc2a2=_0x4ef4a2['charAt'](_0x16144c++);~_0x4cc2a2&&(_0x49920f=_0x50fce2%0x4?_0x49920f*0x40+_0x4cc2a2:_0x4cc2a2,_0x50fce2++%0x4)?_0x4c132f+=String['fromCharCode'](0xff&_0x49920f>>(-0x2*_0x50fce2&0x6)):0x0){_0x4cc2a2=_0x5194fa['indexOf'](_0x4cc2a2);}for(let _0x34954c=0x0,_0x26ae4d=_0x4c132f['length'];_0x34954c<_0x26ae4d;_0x34954c++){_0x2a62d8+='%'+('00'+_0x4c132f['charCodeAt'](_0x34954c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a62d8);};a0_0x28c1['AdGIBS']=_0x55363a,a0_0x28c1['MlUgEE']={},a0_0x28c1['xGCaxz']=!![];}const _0x2ade9c=_0x5ce554[0x0],_0x2d8519=_0x3bb535+_0x2ade9c,_0x225d59=a0_0x28c1['MlUgEE'][_0x2d8519];return!_0x225d59?(_0x28c154=a0_0x28c1['AdGIBS'](_0x28c154),a0_0x28c1['MlUgEE'][_0x2d8519]=_0x28c154):_0x28c154=_0x225d59,_0x28c154;}export function getTheme(_0x4c132f='default'){return THEMES[_0x4c132f]||THEMES['default'];}export function getThemeColor(_0x2a62d8,_0x50fce2){const _0x354711=a0_0x3f0ed0,_0x49920f=getTheme(_0x2a62d8);return _0x49920f[_0x50fce2]||_0x49920f[_0x354711(0x163)];}export default{'getTheme':getTheme,'getThemeColor':getThemeColor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x8758e3=a0_0x42aa;(function(_0x4f410c,_0x4b2481){const _0xe0da3=a0_0x42aa,_0x5d766f=_0x4f410c();while(!![]){try{const _0x1d6afe=parseInt(_0xe0da3(0xae))/0x1+parseInt(_0xe0da3(0xf9))/0x2+parseInt(_0xe0da3(0xcf))/0x3*(parseInt(_0xe0da3(0x74))/0x4)+-parseInt(_0xe0da3(0xa0))/0x5*(-parseInt(_0xe0da3(0x15c))/0x6)+-parseInt(_0xe0da3(0x9f))/0x7+parseInt(_0xe0da3(0x110))/0x8*(-parseInt(_0xe0da3(0xef))/0x9)+-parseInt(_0xe0da3(0xea))/0xa*(parseInt(_0xe0da3(0xdc))/0xb);if(_0x1d6afe===_0x4b2481)break;else _0x5d766f['push'](_0x5d766f['shift']());}catch(_0xc750c9){_0x5d766f['push'](_0x5d766f['shift']());}}}(a0_0x472e,0x1b40a));import a0_0x1c9910 from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x479b49 from'path';import{promises as a0_0x1cc18b}from'fs';function a0_0x42aa(_0x3669d7,_0x3c7400){_0x3669d7=_0x3669d7-0x73;const _0x472e78=a0_0x472e();let _0x42aa73=_0x472e78[_0x3669d7];if(a0_0x42aa['nlpruE']===undefined){var _0x454d16=function(_0x3b7745){const _0x19fb4a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c9910='',_0x479b49='';for(let _0x1cc18b=0x0,_0x14251e,_0x4dbe36,_0x108616=0x0;_0x4dbe36=_0x3b7745['charAt'](_0x108616++);~_0x4dbe36&&(_0x14251e=_0x1cc18b%0x4?_0x14251e*0x40+_0x4dbe36:_0x4dbe36,_0x1cc18b++%0x4)?_0x1c9910+=String['fromCharCode'](0xff&_0x14251e>>(-0x2*_0x1cc18b&0x6)):0x0){_0x4dbe36=_0x19fb4a['indexOf'](_0x4dbe36);}for(let _0x29fef0=0x0,_0x325d79=_0x1c9910['length'];_0x29fef0<_0x325d79;_0x29fef0++){_0x479b49+='%'+('00'+_0x1c9910['charCodeAt'](_0x29fef0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x479b49);};a0_0x42aa['QkKodB']=_0x454d16,a0_0x42aa['RTRXwd']={},a0_0x42aa['nlpruE']=!![];}const _0xc04d8a=_0x472e78[0x0],_0x5a145a=_0x3669d7+_0xc04d8a,_0x13a797=a0_0x42aa['RTRXwd'][_0x5a145a];return!_0x13a797?(_0x42aa73=a0_0x42aa['QkKodB'](_0x42aa73),a0_0x42aa['RTRXwd'][_0x5a145a]=_0x42aa73):_0x42aa73=_0x13a797,_0x42aa73;}import{fileURLToPath}from'url';function a0_0x472e(){const _0x55d188=['zMLSzu5HBwu','Cgf5Bg9Hza','y29Kzq','CMvXDwvZDeLK','CMvTB3zLu2vZC2LVBKTLExm','AgvHzgvYCW','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','C2vUzezPBgu','y29UBI0','qKfex1jfuvvfu1q','ChjVy2vZC1jLCxvLC3q','sw52ywXPzcbZzxnZAw9U','rMfPBgvKihrVigDLDcb0B29SCYbPBMzVCM1HDgLVBG','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','CgH5C2LJywXSEurLBgv0zwq','ywDLBNrqB29S','rMfPBgvKihrVihbYB3H5ignOyxqGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5K','mtbTyG','mJe2mZqYEhPhB25k','mJKWCeL4twTx','zMLSzq','C3vIC3rY','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','v2vIihnLCNzLCIbZAhv0zg93BIbJB21WBgv0zq','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','v0vc','zxHPDa','ywDLBNrjza','rMfPBgvKihrVignVBM5Ly3qGDg8GquKGC2vYDMLJzq','l3rTCc9SB3HPys1PBwfNzxm','DgvYBwLUyxrL','yw50AhjVCgLJlxnVBM5LDa','mtmXotC0zfrqr1HR','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','C3rVCef1Dg9UB21VDxnfEgvJDxrPB24','v2vIihnLCNzLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq','CgfYyw1Z','CMvHzhLtDgf0zq','sw1Hz2uGC2vYDMLUzYbLCNjVCG','D3nnyw5Hz2vY','DxbKyxrLx2fNzw50','Bg9Nz2vY','BgvUz3rO','DgfZA1n0yxj0vgLTzq','AxnsDw5UAw5N','z2v0qwn0AxzLu2vZC2LVBNm','yMLYDgH0Aw1L','ywXS','sfruucbZzxj2zxiGC3rHCNrLzcbZDwnJzxnZzNvSBhK','Bg9N','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','C2L6zq','C2vZC2LVBKLK','q1jfqvrfx0fhru5u','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGveLnru9vva','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','DxjSzw5JB2rLza','C3rHDgLJ','l2fWAs9MAwXLCW','ywDLBNrFBw9Kzv9JAgfUz2vK','D2vIlq','C3rHDgvnyw5Hz2vY','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','C2v0qxbPs2v5twfUywDLCG','m1vywwDVEa','zMLSztOVlW','zNjVBq','C2v0','vw5RBM93BIbHy3rPB246ia','C2H1DgrVD24','BwvZC2fNzq','rwnOBZOG','C29JA2v0','qxr0ywnOBwvUDcb1CgrHDgvK','rMfPBgvKihrVihrVz2DSzsbHDhrHy2HTzw50','sw52ywXPza','C2vYDMvY','mtfwuLnUuLG','z2v0qwDLBNrnzxrHzgf0yq','C3rHy2S','Ahr0CdOVlW','z2v0x2fNzw50x3n0yxr1CW','D3jPDgvgAwXL','BgLZDgvU','Dhj1zq','BM9YBwfSAxPL','ChvZAa','zgLYzwn0B3j5','DxrMoa','CMfUzg9T','Cgf0Aa','mJCWndy3meXdBuTfrG','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','v2vIu29JA2v0ig1LC3nHz2uGzxjYB3i','yxbWBgLJyxrPB24VANnVBG','Cg9YDa','nJqZodmZugPKA2TK','C2v0u2vZC2LVBKTLExm','C3rHDhvZvgv4Da','Dg9ju09tDhjPBMC','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','z3b0','B3bLBMfP','C2vZC2LVBKLe','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','zw52','mJu5mdq2CvftrKzU','ChjVAMvJDerPCG','Aw5MBW','l2fWAs9RzxLZlZPZzxnZAw9Uswq','C2vZC2LVBL9QB2LUzwq','qMvHCMvYia','C3vJy2vZCW','zMLSDgvY','DxnL','Cgf0y2G','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','zgvSzxrLqxr0ywnOBwvUDa','B3jJAgvZDhjHDg9Yx3jLCxvLC3q','AxneAxjLy3rVCNK','CMvZB2X2zq','CMvMCMvZAa','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3bYzxzPzxC','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','CMvSyxrPDMu','Aw1Hz2vZ','BMfTzq','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','oej6zNDfuG','C2vZC2LVBNm','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','l2fWAs9ZzxnZAw9UCW','Bw9Kzvn0yxrL','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','yNjVywrJyxn0vg9tzxnZAw9U','te9ysufFqvbjx0Tfwq','yxrPBwu','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','CMvHzezPBgu','Aw5JBhvKzxm','DxnLCI1Hz2vUDa','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','BgfZDefJDgL2Axr5','qxr0ywnOBwvUDcbUB3qGzM91BMq','DMfSDwvZ','ywn0Aw9U','DgvZDfDLyLnVy2TLDfnLCNzLCG','BxrPBwu','qwDLBNqGBM90igzVDw5K','ChjLzMvYCMvKtw9KzwW','C2vUza','DxbSB2fKrMLSzq','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','BgLZDgvUAw5N','CxvLCNK','BM90igzVDw5K','Bw9KzwW','rMfPBgvKihrVihnLCNzLigLTywDL','w0rfqLvhxsa','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','y3vYCMvUDfrHC2S','y2XHDwrL','zgvSzxrL','C3rHDa','D3nZ','BM93','AM9PBG','y2f0y2G','Bwv0Ag9K','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhmVDxbSB2fK','l2fWAs9OzwfSDgG','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','CMvTB3rLqwrKCMvZCW','CMvX','Ag9ZDa','Dg9tDhjPBMC','sw1Hz2uGBM90igzVDw5K','B3jPz2LU','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','yM9KEq','Dgv4Da','D2fYBG','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','lI4VlI4VCgfJA2fNzs5QC29U','AxnmB2fKzwq','DhLWzq','Bw9KzwXZu2vYDMLJzq','l2fWAs9SBg0Vy2HHDa','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','C3rHCNrtzxj2zxi','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','CM9Szq','y29UBMvJDgLVBNm','Bg9JywXOB3n0','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','ywDLBNq','tK9ux0zpvu5e','CgHP','q09otKvdveLorW','v2vIu29JA2v0igPVAw5LzcbZzxnZAw9U','mte5odjMDfjjzK8','BwTKAxi','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','zxjYB3i','y29UBMvJDgvK','DxjS','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','D3m6lY9SB2nHBgHVC3q6','zMLSzuLK','CgfYC2u','y3vYCMvUDe1VzgvS','AgvHBhrOEq','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','C2v0DxbxzwjtB2nRzxq','qwDLBNqG','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','Dg9Nz2XLqwn0AxzL','C3rHDhvZ','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','y3DK','Bw9KzwXZ','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','qxr0ywnOBwvUDcbKzwXLDgvK','Cg9ZDa','z2v0qxr0ywnOBwvUDhm','BwfW','rMfPBgvKihrVihn0yxj0ieHuvfaGC2vYDMvY','C2v0DxbnAwrKBgv3yxjL','y29UzMLN','B3jJAgvZDhjHDg9Y','C3vIC3rYAw5N','yxbPs2v5twfUywDLCG','z2v0','y2XVC2u','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','ndi4oduYzuLOsenK','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','teLtvf9br0vovfm','ANnVBG','zgvLChnLzwS','yxbW','CMvHzgrPCG','zgLYzwn0B3j5qwnJzxnZ','u0vorf9nrvntquDf','D29YA2LUz0rPCMvJDg9YEq','ywDLBNqT','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','r0vulcbqt1nulcbqvvqSierftevursWGt1busu9ouW','Bw9Kzq','l2fWAs9LEhbSB3jLCG','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','su5urvjoquXFu0vsvKvsx0vsuK9s','ywn0AxzL','y29UDgvUDa','C3rHCNrZv2L0Aa','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','ue9tva','C3rYAw5NAwz5','C2v0DxbsB3v0zxm'];a0_0x472e=function(){return _0x55d188;};return a0_0x472e();}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_0x479b49['dirname'](__filename);class WebServer{constructor(_0x14251e,_0x4dbe36,_0x108616={}){const _0x4f69ba=a0_0x42aa;this[_0x4f69ba(0x17a)]=_0x14251e,this['logger']=_0x4dbe36,this['config']=_0x108616,this['port']=_0x108616[_0x4f69ba(0xee)]||0xbb8,this[_0x4f69ba(0x141)]=_0x108616['host']||_0x4f69ba(0x155),this['app']=a0_0x1c9910(),this['server']=createServer(this[_0x4f69ba(0x79)]),this[_0x4f69ba(0x137)]=new WebSocketServer({'server':this['server'],'verifyClient':_0x29fef0=>{const _0x41d26e=_0x4f69ba;return this['logger']?.[_0x41d26e(0xfb)]('WebSocket\x20connection\x20attempt',{'origin':_0x29fef0[_0x41d26e(0x144)],'host':_0x29fef0['req']['headers']['host'],'userAgent':_0x29fef0['req']['headers'][_0x41d26e(0x11f)],'url':_0x29fef0[_0x41d26e(0x140)]['url']}),!![];}}),this[_0x4f69ba(0x154)]=new Map(),this['sessions']=new Map(),this[_0x4f69ba(0x17c)]=null,this[_0x4f69ba(0xbb)]=![];}async['initialize'](){const _0x21d0fe=a0_0x42aa;try{this[_0x21d0fe(0x178)](),this[_0x21d0fe(0x8c)](),this['setupWebSocket'](),await this['startServer'](),this['logger']['info']('Web\x20server\x20initialized',{'port':this['port'],'host':this[_0x21d0fe(0x141)],'url':'http://'+this['host']+':'+this[_0x21d0fe(0xee)]});}catch(_0x325d79){this['logger'][_0x21d0fe(0x160)](_0x21d0fe(0xb2),{'error':_0x325d79['message'],'stack':_0x325d79[_0x21d0fe(0xde)]});throw _0x325d79;}}[a0_0x8758e3(0x178)](){const _0xfdb7a2=a0_0x8758e3;this[_0xfdb7a2(0x79)][_0xfdb7a2(0x101)]((_0x498b64,_0x1089b0,_0xacf877)=>{const _0x540fe9=_0xfdb7a2;_0x1089b0['header']('Access-Control-Allow-Origin','*'),_0x1089b0['header']('Access-Control-Allow-Methods',_0x540fe9(0x80)),_0x1089b0['header'](_0x540fe9(0xf3),'Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x498b64['method']==='OPTIONS'?_0x1089b0['sendStatus'](HTTP_STATUS['OK']):_0xacf877();}),this[_0xfdb7a2(0x79)]['use'](a0_0x1c9910[_0xfdb7a2(0x77)]({'limit':_0xfdb7a2(0x9e)})),this['app'][_0xfdb7a2(0x101)](a0_0x1c9910[_0xfdb7a2(0xc7)]({'extended':!![],'limit':_0xfdb7a2(0x9e)})),this['fileExplorerModule']=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app'][_0xfdb7a2(0x101)]('/api/file-explorer',this['fileExplorerModule']['router']);const _0x5f3ca1=a0_0x479b49['join'](__dirname,'../../web-ui/build');this['app']['use'](a0_0x1c9910[_0xfdb7a2(0xc8)](_0x5f3ca1)),this[_0xfdb7a2(0x79)][_0xfdb7a2(0x101)]((_0x9d5f4c,_0x2c55b5,_0x2f2988)=>{const _0x133a8a=_0xfdb7a2;this['logger']['debug'](_0x9d5f4c[_0x133a8a(0x13b)]+'\x20'+_0x9d5f4c[_0x133a8a(0xe9)],{'ip':_0x9d5f4c['ip'],'userAgent':_0x9d5f4c[_0x133a8a(0x17d)]('User-Agent')}),_0x2f2988();});}['setupRoutes'](){const _0xa1631d=a0_0x8758e3;this['app']['get'](_0xa1631d(0x13d),async(_0x18492d,_0x3c875e)=>{const _0x2b99a3=_0xa1631d;try{const _0x191065=a0_0x479b49['join'](__dirname,_0x2b99a3(0x14a)),_0x313b15=JSON[_0x2b99a3(0x166)](await a0_0x1cc18b[_0x2b99a3(0x11d)](_0x191065,'utf8'));_0x3c875e[_0x2b99a3(0x77)]({'status':_0x2b99a3(0x168),'version':_0x313b15['version']||'1.0.0','timestamp':new Date()[_0x2b99a3(0xf2)]()});}catch(_0x18fc68){_0x3c875e['json']({'status':'healthy','version':'1.0.0','timestamp':new Date()['toISOString']()});}}),this[_0xa1631d(0x79)][_0xa1631d(0x174)](_0xa1631d(0x116),async(_0x5596d1,_0x472f31)=>{const _0x135431=_0xa1631d;try{const _0x2d75d8=_0x135431(0xcb)+Date['now']()+'-'+Math['random']()['toString'](0x24)['substr'](0x2,0x9),_0xaecb99=_0x5596d1['body'][_0x135431(0xfa)]||process[_0x135431(0x170)](),_0x3a2e32={'id':_0x2d75d8,'projectDir':_0xaecb99,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()[_0x135431(0xf2)]()};this['sessions'][_0x135431(0xd2)](_0x2d75d8,_0x3a2e32),_0x472f31['json']({'success':!![],'session':_0x3a2e32});}catch(_0x399671){_0x472f31['status'](HTTP_STATUS[_0x135431(0x84)])[_0x135431(0x77)]({'success':![],'error':_0x399671[_0x135431(0xd5)]});}}),this['app'][_0xa1631d(0x174)]('/api/orchestrator',async(_0x14e51f,_0x45d546)=>{const _0x34f970=_0xa1631d;try{const _0x30064a={'interface':INTERFACE_TYPES[_0x34f970(0xa7)],'sessionId':_0x14e51f[_0x34f970(0x146)]['sessionId'],'action':_0x14e51f[_0x34f970(0x146)]['action'],'payload':_0x14e51f[_0x34f970(0x146)][_0x34f970(0x8e)],'projectDir':_0x14e51f[_0x34f970(0x146)]['projectDir']||process['cwd']()},_0x441c5c=await this[_0x34f970(0x17a)][_0x34f970(0x97)](_0x30064a);this[_0x34f970(0x119)](_0x30064a[_0x34f970(0xc3)],{'type':_0x34f970(0x145),'action':_0x30064a[_0x34f970(0x124)],'response':_0x441c5c}),_0x45d546['json'](_0x441c5c);}catch(_0xf2d927){this[_0x34f970(0xb8)]['error']('Orchestrator\x20API\x20error',{'error':_0xf2d927['message'],'body':_0x14e51f['body']}),_0x45d546['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x34f970(0x77)]({'success':![],'error':_0xf2d927[_0x34f970(0xd5)]});}}),this['app'][_0xa1631d(0x17d)](_0xa1631d(0xc9),async(_0x489389,_0x1bfc9d)=>{const _0xec774e=_0xa1631d;try{const {path:_0x3cea4e,projectDir:_0x4379c9}=_0x489389[_0xec774e(0x12d)],_0x290399=a0_0x479b49['resolve'](_0x4379c9||process['cwd'](),_0x3cea4e||'.'),_0x525ec8=await a0_0x1cc18b[_0xec774e(0x136)](_0x290399);if(_0x525ec8['isDirectory']()){const _0x132f2a=await a0_0x1cc18b[_0xec774e(0x7a)](_0x290399,{'withFileTypes':!![]}),_0x3794a8=_0x132f2a['map'](_0x121c63=>({'name':_0x121c63['name'],'type':_0x121c63['isDirectory']()?_0xec774e(0xe6):_0xec774e(0xa1),'path':a0_0x479b49[_0xec774e(0x139)](_0x3cea4e||'.',_0x121c63[_0xec774e(0x10e)])}));_0x1bfc9d[_0xec774e(0x77)]({'success':!![],'files':_0x3794a8});}else{const _0x5297a0=await a0_0x1cc18b[_0xec774e(0x11d)](_0x290399,_0xec774e(0xe7));_0x1bfc9d[_0xec774e(0x77)]({'success':!![],'content':_0x5297a0,'type':_0xec774e(0xa1)});}}catch(_0x2da76f){_0x1bfc9d[_0xec774e(0x16e)](HTTP_STATUS[_0xec774e(0x158)])['json']({'success':![],'error':_0x2da76f[_0xec774e(0xd5)]});}}),this['app'][_0xa1631d(0x174)]('/api/files/upload',async(_0x3471d8,_0x3489f5)=>{const _0x233a29=_0xa1631d;try{const {fileName:_0x174e99,content:_0xb04330,projectDir:_0x2428df}=_0x3471d8['body'],_0x5c575d=_0x2428df||process['cwd'](),_0x468b3e=a0_0x479b49['resolve'](_0x5c575d,_0x174e99);await a0_0x1cc18b[_0x233a29(0x15d)](_0x5c575d,{'recursive':!![]}),await a0_0x1cc18b[_0x233a29(0xe1)](_0x468b3e,_0xb04330,_0x233a29(0xe7)),_0x3489f5['json']({'success':!![],'message':_0x233a29(0x13e),'path':_0x468b3e});}catch(_0x1a3b9e){_0x3489f5[_0x233a29(0x16e)](HTTP_STATUS[_0x233a29(0x84)])[_0x233a29(0x77)]({'success':![],'error':_0x1a3b9e['message']});}}),this['app']['get'](_0xa1631d(0x82),async(_0x5db5d0,_0x4508e3)=>{const _0x4393b0=_0xa1631d;try{const {path:_0x239a6e,showHidden:showHidden=![]}=_0x5db5d0[_0x4393b0(0x12d)],_0x122a74=_0x239a6e||process[_0x4393b0(0x170)](),_0x411fd1=a0_0x479b49[_0x4393b0(0x107)](_0x122a74),_0x492a3a=a0_0x479b49[_0x4393b0(0xe4)](_0x411fd1),_0x377215=await a0_0x1cc18b['stat'](_0x492a3a);if(!_0x377215[_0x4393b0(0x106)]())return _0x4508e3['status'](HTTP_STATUS[_0x4393b0(0x96)])['json']({'success':![],'error':_0x4393b0(0x115)});const _0x3159f3=await a0_0x1cc18b['readdir'](_0x492a3a,{'withFileTypes':!![]}),_0x14781d=await Promise[_0x4393b0(0xbe)](_0x3159f3[_0x4393b0(0x100)](_0x3f0b8f=>showHidden===_0x4393b0(0xe3)||!_0x3f0b8f['name'][_0x4393b0(0x87)]('.'))['map'](async _0x54c510=>{const _0x244b42=_0x4393b0,_0x5e0fba=a0_0x479b49[_0x244b42(0x139)](_0x492a3a,_0x54c510['name']),_0x3e3754=await a0_0x1cc18b[_0x244b42(0x136)](_0x5e0fba)[_0x244b42(0x13a)](()=>null);return{'name':_0x54c510['name'],'type':_0x54c510[_0x244b42(0x106)]()?_0x244b42(0xe6):_0x244b42(0xa1),'path':_0x5e0fba,'relativePath':a0_0x479b49[_0x244b42(0x10c)](process['cwd'](),_0x5e0fba),'size':_0x3e3754?.['size']||0x0,'modified':_0x3e3754?.[_0x244b42(0x126)]||null,'isHidden':_0x54c510['name']['startsWith']('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x14781d['sort']((_0x5f76dd,_0xa6bbd9)=>{const _0x3fd23b=_0x4393b0;if(_0x5f76dd['type']!==_0xa6bbd9[_0x3fd23b(0x14c)])return _0x5f76dd[_0x3fd23b(0x14c)]==='directory'?-0x1:0x1;return _0x5f76dd[_0x3fd23b(0x10e)]['localeCompare'](_0xa6bbd9['name']);});const _0x3352c8=a0_0x479b49['dirname'](_0x492a3a),_0x3f00ce=_0x3352c8!==_0x492a3a;_0x4508e3['json']({'success':!![],'currentPath':_0x492a3a,'currentRelativePath':a0_0x479b49[_0x4393b0(0x10c)](process['cwd'](),_0x492a3a),'parentPath':_0x3f00ce?_0x3352c8:null,'items':_0x14781d,'totalItems':_0x14781d[_0x4393b0(0xb9)],'directories':_0x14781d[_0x4393b0(0x100)](_0x843b19=>_0x843b19[_0x4393b0(0x14c)]==='directory')[_0x4393b0(0xb9)],'files':_0x14781d[_0x4393b0(0x100)](_0x1a837f=>_0x1a837f[_0x4393b0(0x14c)]===_0x4393b0(0xa1))[_0x4393b0(0xb9)]});}catch(_0x4562dc){_0x4508e3['status'](HTTP_STATUS[_0x4393b0(0x84)])[_0x4393b0(0x77)]({'success':![],'error':_0x4562dc['message'],'code':_0x4562dc[_0x4393b0(0x8f)]});}}),this[_0xa1631d(0x79)][_0xa1631d(0x174)]('/api/explorer/mkdir',async(_0x47527c,_0x3bcc44)=>{const _0x58a0c4=_0xa1631d;try{const {path:_0x466a0f,name:_0x1b7c16}=_0x47527c[_0x58a0c4(0x146)],_0x2e0549=a0_0x479b49[_0x58a0c4(0x107)](_0x466a0f,_0x1b7c16);await a0_0x1cc18b[_0x58a0c4(0x15d)](_0x2e0549,{'recursive':![]}),_0x3bcc44[_0x58a0c4(0x77)]({'success':!![],'path':_0x2e0549,'relativePath':a0_0x479b49[_0x58a0c4(0x10c)](process[_0x58a0c4(0x170)](),_0x2e0549)});}catch(_0x16370e){_0x3bcc44['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x58a0c4(0x77)]({'success':![],'error':_0x16370e[_0x58a0c4(0xd5)],'code':_0x16370e['code']});}}),this['app']['get']('/api/explorer/info',async(_0x3ade89,_0x1796f1)=>{const _0x45b2e4=_0xa1631d;try{const {path:_0x354ee9}=_0x3ade89[_0x45b2e4(0x12d)],_0x69c54c=a0_0x479b49['resolve'](_0x354ee9),_0x451247=await a0_0x1cc18b[_0x45b2e4(0x136)](_0x69c54c);_0x1796f1[_0x45b2e4(0x77)]({'success':!![],'path':_0x69c54c,'relativePath':a0_0x479b49['relative'](process['cwd'](),_0x69c54c),'isDirectory':_0x451247[_0x45b2e4(0x106)](),'isFile':_0x451247['isFile'](),'size':_0x451247['size'],'created':_0x451247[_0x45b2e4(0xbd)],'modified':_0x451247[_0x45b2e4(0x126)],'accessed':_0x451247[_0x45b2e4(0x11b)]});}catch(_0x8bd11d){_0x1796f1['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x8bd11d[_0x45b2e4(0xd5)],'code':_0x8bd11d['code']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x174)](_0xa1631d(0x14e),async(_0x122cc6,_0x32f8b6)=>{const _0x312446=_0xa1631d;try{const {sessionId:_0x3d39a3,model:_0x15ea5e,platformProvided:_0xd3f35b}=_0x122cc6[_0x312446(0x146)];if(!_0x3d39a3)return _0x32f8b6['status'](0x190)['json']({'error':_0x312446(0x11c)});let _0x2f6190=null,_0x358bb9=null;if(this['apiKeyManager']){const _0x42fa09=this[_0x312446(0x17c)]['getKeysForRequest'](_0x3d39a3,{'platformProvided':_0xd3f35b||![],'vendor':this['_getVendorFromModel'](_0x15ea5e)});_0x2f6190=_0x42fa09['loxiaApiKey'],_0x358bb9=_0x42fa09['vendorApiKey'];}!_0x2f6190&&(_0x2f6190=this['config']['loxiaApiKey']||process[_0x312446(0xf8)][_0x312446(0x11a)]);!_0x2f6190&&_0x122cc6['body']['apiKey']&&(_0x2f6190=_0x122cc6[_0x312446(0x146)]['apiKey']);if(!_0x2f6190)return this[_0x312446(0xb8)]['warn'](_0x312446(0x156),{'sessionId':_0x3d39a3,'model':_0x15ea5e,'platformProvided':_0xd3f35b,'hasSessionManager':!!this['apiKeyManager']}),_0x32f8b6['status'](0x191)[_0x312446(0x77)]({'error':'No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.'});const _0x3e5534='https://autopilot-api.azurewebsites.net/llm/chat',_0x414b63={..._0x122cc6[_0x312446(0x146)],'apiKey':_0x2f6190,..._0x358bb9&&{'vendorApiKey':_0x358bb9}},_0x3a49e3={'method':_0x312446(0x8a),'headers':{'Content-Type':_0x312446(0xed),'Authorization':'Bearer\x20'+_0x2f6190},'body':JSON[_0x312446(0x8b)](_0x414b63)};this[_0x312446(0xb8)][_0x312446(0xfb)](_0x312446(0xeb),{'url':_0x3e5534,'model':_0x122cc6[_0x312446(0x146)]['model'],'hasApiKey':!!_0x2f6190});const _0x32832f=await fetch(_0x3e5534,_0x3a49e3);if(_0x32832f['ok']){const _0xe06183=await _0x32832f['json']();this[_0x312446(0xb8)][_0x312446(0xfb)]('Successfully received response from Azure backend',{'model':_0xe06183[_0x312446(0x12f)],'contentLength':_0xe06183['content']?.['length']||0x0}),_0x32f8b6['json'](_0xe06183);}else{const _0x541eda=await _0x32832f['text']();this[_0x312446(0xb8)][_0x312446(0x148)](_0x312446(0x88),{'status':_0x32832f['status'],'statusText':_0x32832f[_0x312446(0xf1)],'error':_0x541eda}),_0x32f8b6['status'](_0x32832f['status'])['json']({'error':'Azure\x20backend\x20error:\x20'+_0x32832f[_0x312446(0x16e)]+'\x20'+_0x32832f[_0x312446(0xf1)],'details':_0x541eda});}}catch(_0x3e3277){this['logger'][_0x312446(0x160)](_0x312446(0x9d),{'error':_0x3e3277['message'],'stack':_0x3e3277[_0x312446(0xde)]}),_0x32f8b6[_0x312446(0x16e)](0x1f4)['json']({'error':_0x312446(0xaa),'details':_0x3e3277[_0x312446(0xd5)]});}}),this[_0xa1631d(0x79)]['get']('/api/llm/models',async(_0x50d7ae,_0x7aa836)=>{const _0x4bc8b0=_0xa1631d;try{const _0x4b055e=_0x50d7ae[_0x4bc8b0(0x92)]['authorization'];let _0x5e3527=null;_0x4b055e&&_0x4b055e[_0x4bc8b0(0x87)](_0x4bc8b0(0xfe))&&(_0x5e3527=_0x4b055e[_0x4bc8b0(0x17b)](0x7));!_0x5e3527&&(_0x5e3527=this[_0x4bc8b0(0x179)]['loxiaApiKey']||process[_0x4bc8b0(0xf8)]['LOXIA_API_KEY']);const _0x32d85d='https://autopilot-api.azurewebsites.net/llm/models',_0x2eb621={'method':'GET','headers':{'Content-Type':_0x4bc8b0(0xed),..._0x5e3527&&{'Authorization':_0x4bc8b0(0xfe)+_0x5e3527}}};this[_0x4bc8b0(0xb8)]['info']('Fetching models from Loxia Azure backend',{'url':_0x32d85d,'hasApiKey':!!_0x5e3527});const _0x8063e0=await fetch(_0x32d85d,_0x2eb621);if(_0x8063e0['ok']){const _0x2bb610=await _0x8063e0[_0x4bc8b0(0x77)]();this[_0x4bc8b0(0xb8)][_0x4bc8b0(0xfb)]('Successfully fetched models from Azure backend',{'modelCount':_0x2bb610[_0x4bc8b0(0x171)]?.['length']||0x0}),_0x7aa836['json'](_0x2bb610);}else{const _0x5e9c70=await _0x8063e0[_0x4bc8b0(0x147)]();this[_0x4bc8b0(0xb8)][_0x4bc8b0(0x160)](_0x4bc8b0(0x9a),{'status':_0x8063e0[_0x4bc8b0(0x16e)],'statusText':_0x8063e0['statusText'],'error':_0x5e9c70}),_0x7aa836[_0x4bc8b0(0x16e)](_0x8063e0['status'])['json']({'success':![],'error':_0x4bc8b0(0xa3)+_0x8063e0['status']+'\x20'+_0x8063e0['statusText'],'details':_0x5e9c70});}}catch(_0x24521b){this['logger']['error']('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x24521b['message'],'stack':_0x24521b['stack']}),_0x7aa836[_0x4bc8b0(0x16e)](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0x24521b[_0x4bc8b0(0xd5)]});}}),this[_0xa1631d(0x79)][_0xa1631d(0x17d)]('/api/tools',async(_0x33dbcc,_0x302bd1)=>{const _0x4668cc=_0xa1631d;try{const _0x58a8ea=this['toolsRegistry'];if(!_0x58a8ea)return _0x302bd1[_0x4668cc(0x16e)](0x1f4)[_0x4668cc(0x77)]({'error':_0x4668cc(0xb0)});const _0x2ae266=_0x58a8ea['getAvailableToolsForUI']();this[_0x4668cc(0xb8)][_0x4668cc(0xfb)]('Serving\x20tools\x20information',{'toolCount':_0x2ae266[_0x4668cc(0xb9)],'tools':_0x2ae266[_0x4668cc(0x176)](_0x55cd61=>({'id':_0x55cd61['id'],'name':_0x55cd61[_0x4668cc(0x10e)],'category':_0x55cd61['category']}))}),_0x302bd1['json']({'success':!![],'tools':_0x2ae266,'total':_0x2ae266[_0x4668cc(0xb9)]});}catch(_0x336c4a){this[_0x4668cc(0xb8)]['error'](_0x4668cc(0x99),{'error':_0x336c4a[_0x4668cc(0xd5)],'stack':_0x336c4a[_0x4668cc(0xde)]}),_0x302bd1['status'](0x1f4)[_0x4668cc(0x77)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x336c4a['message']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x174)]('/api/keys',async(_0x305f42,_0x14866a)=>{const _0x5d4555=_0xa1631d;try{const {sessionId:_0x18d432,loxiaApiKey:_0x39c2d0,vendorKeys:_0x9557ba}=_0x305f42['body'];if(!_0x18d432)return _0x14866a['status'](0x190)[_0x5d4555(0x77)]({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this['apiKeyManager'])return _0x14866a['status'](0x1f4)[_0x5d4555(0x77)]({'success':![],'error':_0x5d4555(0x16f)});this['apiKeyManager'][_0x5d4555(0xf0)](_0x18d432,{'loxiaApiKey':_0x39c2d0,'vendorKeys':_0x9557ba||{}}),this['logger'][_0x5d4555(0xfb)]('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x18d432,'hasLoxiaKey':!!_0x39c2d0,'vendorKeys':Object['keys'](_0x9557ba||{})});if(this['orchestrator']&&this['orchestrator']['modelsService']&&_0x39c2d0)try{await this['orchestrator'][_0x5d4555(0x14d)][_0x5d4555(0x108)]({'sessionId':_0x18d432,'apiKey':_0x39c2d0}),this[_0x5d4555(0xb8)][_0x5d4555(0xfb)]('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x18d432});}catch(_0x54dc24){this[_0x5d4555(0xb8)]['warn'](_0x5d4555(0x15f),{'error':_0x54dc24['message'],'sessionId':_0x18d432});}_0x14866a[_0x5d4555(0x77)]({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x18d432,'hasLoxiaKey':!!_0x39c2d0,'vendorKeys':Object['keys'](_0x9557ba||{})});}catch(_0x379987){this[_0x5d4555(0xb8)][_0x5d4555(0x160)]('Failed\x20to\x20set\x20API\x20keys',{'error':_0x379987['message'],'sessionId':_0x305f42['body']['sessionId']}),_0x14866a['status'](0x1f4)[_0x5d4555(0x77)]({'success':![],'error':_0x379987['message']});}}),this['app']['get']('/api/keys/:sessionId',async(_0x4b94d9,_0x1dab06)=>{const _0x44243c=_0xa1631d;try{const {sessionId:_0x273cde}=_0x4b94d9[_0x44243c(0xb3)];if(!this['apiKeyManager'])return _0x1dab06[_0x44243c(0x16e)](0x1f4)['json']({'success':![],'error':_0x44243c(0x16f)});const _0x2cb7b7=this['apiKeyManager']['getSessionKeys'](_0x273cde);_0x1dab06['json']({'success':!![],'sessionId':_0x273cde,'hasLoxiaKey':!!_0x2cb7b7['loxiaApiKey'],'vendorKeys':Object['keys'](_0x2cb7b7['vendorKeys']||{}),'updatedAt':_0x2cb7b7['updatedAt']});}catch(_0x2c20b9){this['logger'][_0x44243c(0x160)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x2c20b9[_0x44243c(0xd5)],'sessionId':_0x4b94d9['params'][_0x44243c(0xc3)]}),_0x1dab06[_0x44243c(0x16e)](0x1f4)[_0x44243c(0x77)]({'success':![],'error':_0x2c20b9['message']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x135)](_0xa1631d(0xfc),async(_0x575a5d,_0x5d65ff)=>{const _0x94f62e=_0xa1631d;try{const {sessionId:_0x24ef0d}=_0x575a5d[_0x94f62e(0xb3)];if(!this[_0x94f62e(0x17c)])return _0x5d65ff['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x40c229=this[_0x94f62e(0x17c)][_0x94f62e(0x91)](_0x24ef0d);_0x5d65ff[_0x94f62e(0x77)]({'success':!![],'removed':_0x40c229,'message':_0x40c229?'API\x20keys\x20removed\x20successfully':'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x4d51cd){this['logger'][_0x94f62e(0x160)](_0x94f62e(0x151),{'error':_0x4d51cd['message'],'sessionId':_0x575a5d[_0x94f62e(0xb3)][_0x94f62e(0xc3)]}),_0x5d65ff['status'](0x1f4)['json']({'success':![],'error':_0x4d51cd[_0x94f62e(0xd5)]});}}),this['app']['get']('/api/keys',async(_0x283589,_0x585c0b)=>{const _0x268463=_0xa1631d;try{if(!this[_0x268463(0x17c)])return _0x585c0b['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x5dbaab=this['apiKeyManager'][_0x268463(0xbc)]();_0x585c0b[_0x268463(0x77)]({'success':!![],'sessions':_0x5dbaab,'total':_0x5dbaab['length']});}catch(_0x28e277){this['logger'][_0x268463(0x160)]('Failed\x20to\x20get\x20active\x20sessions',{'error':_0x28e277['message']}),_0x585c0b[_0x268463(0x16e)](0x1f4)[_0x268463(0x77)]({'success':![],'error':_0x28e277['message']});}}),this[_0xa1631d(0x79)]['post'](_0xa1631d(0x13c),async(_0xd6a2e9,_0x1d40fa)=>{const _0x5b0db6=_0xa1631d;try{const {agentId:_0x4a56f9}=_0xd6a2e9['params'],{filePath:_0x4bd72e,mode:_0x4ac4bf,fileName:_0x6a01dd}=_0xd6a2e9[_0x5b0db6(0x146)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x1d40fa[_0x5b0db6(0x16e)](0x1f4)['json']({'success':![],'error':_0x5b0db6(0xa5)});const _0x4d3f9f=await this['orchestrator']['fileAttachmentService'][_0x5b0db6(0x12a)]({'agentId':_0x4a56f9,'filePath':_0x4bd72e,'mode':_0x4ac4bf||'content','fileName':_0x6a01dd});this['logger']['info']('File\x20attachment\x20uploaded',{'agentId':_0x4a56f9,'fileId':_0x4d3f9f['fileId'],'fileName':_0x4d3f9f[_0x5b0db6(0x8d)]}),_0x1d40fa[_0x5b0db6(0x77)]({'success':!![],'attachment':_0x4d3f9f});}catch(_0x11c2b8){this['logger'][_0x5b0db6(0x160)]('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0xd6a2e9[_0x5b0db6(0xb3)]['agentId'],'error':_0x11c2b8['message']}),_0x1d40fa[_0x5b0db6(0x16e)](0x1f4)['json']({'success':![],'error':_0x11c2b8['message']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x17d)](_0xa1631d(0x149),async(_0x4faa26,_0x3bb7c7)=>{const _0x4a1605=_0xa1631d;try{const {agentId:_0x168ae8}=_0x4faa26[_0x4a1605(0xb3)],{mode:_0x4cfbea,active:_0x47d4b4}=_0x4faa26['query'];if(!this[_0x4a1605(0x17a)]?.['fileAttachmentService'])return _0x3bb7c7['status'](0x1f4)[_0x4a1605(0x77)]({'success':![],'error':_0x4a1605(0xa5)});const _0x59fd54={};if(_0x4cfbea)_0x59fd54['mode']=_0x4cfbea;if(_0x47d4b4!==undefined)_0x59fd54['active']=_0x47d4b4==='true';const _0x527e1e=await this[_0x4a1605(0x17a)]['fileAttachmentService'][_0x4a1605(0x175)](_0x168ae8,_0x59fd54);_0x3bb7c7['json']({'success':!![],'attachments':_0x527e1e,'total':_0x527e1e['length']});}catch(_0x5bdc81){this[_0x4a1605(0xb8)]['error']('Failed\x20to\x20get\x20attachments',{'agentId':_0x4faa26['params']['agentId'],'error':_0x5bdc81['message']}),_0x3bb7c7['status'](0x1f4)['json']({'success':![],'error':_0x5bdc81['message']});}}),this['app'][_0xa1631d(0x17d)]('/api/attachments/:fileId',async(_0x40e23c,_0x3e0a7e)=>{const _0x150d84=_0xa1631d;try{const {fileId:_0x37e175}=_0x40e23c[_0x150d84(0xb3)];if(!this['orchestrator']?.[_0x150d84(0x10f)])return _0x3e0a7e['status'](0x1f4)['json']({'success':![],'error':_0x150d84(0xa5)});const _0x4fa86a=await this['orchestrator']['fileAttachmentService']['getAttachment'](_0x37e175);if(!_0x4fa86a)return _0x3e0a7e['status'](0x194)[_0x150d84(0x77)]({'success':![],'error':_0x150d84(0x122)});_0x3e0a7e[_0x150d84(0x77)]({'success':!![],'attachment':_0x4fa86a});}catch(_0x34e794){this['logger'][_0x150d84(0x160)]('Failed\x20to\x20get\x20attachment',{'fileId':_0x40e23c[_0x150d84(0xb3)][_0x150d84(0x165)],'error':_0x34e794['message']}),_0x3e0a7e['status'](0x1f4)[_0x150d84(0x77)]({'success':![],'error':_0x34e794['message']});}}),this[_0xa1631d(0x79)]['patch']('/api/attachments/:fileId/toggle',async(_0x45b690,_0x2cc63a)=>{const _0x2b0be8=_0xa1631d;try{const {fileId:_0x5d305d}=_0x45b690['params'];if(!this[_0x2b0be8(0x17a)]?.[_0x2b0be8(0x10f)])return _0x2cc63a['status'](0x1f4)['json']({'success':![],'error':_0x2b0be8(0xa5)});const _0x7ed0b0=await this[_0x2b0be8(0x17a)][_0x2b0be8(0x10f)][_0x2b0be8(0x16d)](_0x5d305d);this[_0x2b0be8(0xb8)]['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0x5d305d,'active':_0x7ed0b0[_0x2b0be8(0x85)]}),_0x2cc63a['json']({'success':!![],'attachment':_0x7ed0b0});}catch(_0x23fbe7){this['logger'][_0x2b0be8(0x160)](_0x2b0be8(0xd9),{'fileId':_0x45b690[_0x2b0be8(0xb3)]['fileId'],'error':_0x23fbe7[_0x2b0be8(0xd5)]}),_0x2cc63a[_0x2b0be8(0x16e)](0x1f4)['json']({'success':![],'error':_0x23fbe7['message']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x102)]('/api/attachments/:fileId',async(_0x185822,_0x509b97)=>{const _0x2c4bde=_0xa1631d;try{const {fileId:_0x3a68a1}=_0x185822[_0x2c4bde(0xb3)],{mode:_0x57d7ac,active:_0x21d01f}=_0x185822[_0x2c4bde(0x146)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x509b97['status'](0x1f4)[_0x2c4bde(0x77)]({'success':![],'error':_0x2c4bde(0xa5)});const _0xe612b9={};if(_0x57d7ac!==undefined)_0xe612b9[_0x2c4bde(0x81)]=_0x57d7ac;if(_0x21d01f!==undefined)_0xe612b9[_0x2c4bde(0x85)]=_0x21d01f;const _0xe2b16d=await this[_0x2c4bde(0x17a)][_0x2c4bde(0x10f)]['updateAttachment'](_0x3a68a1,_0xe612b9);this[_0x2c4bde(0xb8)][_0x2c4bde(0xfb)](_0x2c4bde(0xd8),{'fileId':_0x3a68a1,'updates':_0xe612b9}),_0x509b97[_0x2c4bde(0x77)]({'success':!![],'attachment':_0xe2b16d});}catch(_0x5dbbfe){this['logger']['error'](_0x2c4bde(0x16c),{'fileId':_0x185822[_0x2c4bde(0xb3)]['fileId'],'error':_0x5dbbfe['message']}),_0x509b97['status'](0x1f4)[_0x2c4bde(0x77)]({'success':![],'error':_0x5dbbfe['message']});}}),this['app']['delete'](_0xa1631d(0xc1),async(_0x5a0ef8,_0x40262f)=>{const _0x37b158=_0xa1631d;try{const {fileId:_0x302a1c}=_0x5a0ef8[_0x37b158(0xb3)],{agentId:_0x3bdd81}=_0x5a0ef8[_0x37b158(0x12d)];if(!_0x3bdd81)return _0x40262f[_0x37b158(0x16e)](0x190)[_0x37b158(0x77)]({'success':![],'error':_0x37b158(0x17f)});if(!this[_0x37b158(0x17a)]?.['fileAttachmentService'])return _0x40262f['status'](0x1f4)['json']({'success':![],'error':_0x37b158(0xa5)});const _0x280a7e=await this[_0x37b158(0x17a)][_0x37b158(0x10f)][_0x37b158(0x104)](_0x302a1c,_0x3bdd81);this['logger'][_0x37b158(0xfb)](_0x37b158(0x173),{'fileId':_0x302a1c,'agentId':_0x3bdd81,'physicallyDeleted':_0x280a7e['physicallyDeleted']}),_0x40262f[_0x37b158(0x77)]({'success':!![],'message':_0x280a7e[_0x37b158(0x9b)]?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x280a7e['physicallyDeleted']});}catch(_0x58751a){this[_0x37b158(0xb8)]['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x5a0ef8['params'][_0x37b158(0x165)],'error':_0x58751a['message']}),_0x40262f[_0x37b158(0x16e)](0x1f4)[_0x37b158(0x77)]({'success':![],'error':_0x58751a['message']});}}),this['app']['post']('/api/attachments/:fileId/import',async(_0x3e2303,_0x5096d6)=>{const _0x1090f5=_0xa1631d;try{const {fileId:_0x43c588}=_0x3e2303['params'],{targetAgentId:_0x17ef65}=_0x3e2303['body'];if(!_0x17ef65)return _0x5096d6[_0x1090f5(0x16e)](0x190)['json']({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this['orchestrator']?.[_0x1090f5(0x10f)])return _0x5096d6[_0x1090f5(0x16e)](0x1f4)[_0x1090f5(0x77)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x303605=await this[_0x1090f5(0x17a)]['fileAttachmentService']['importFromAgent'](_0x43c588,_0x17ef65);this['logger']['info']('Attachment imported',{'fileId':_0x43c588,'targetAgentId':_0x17ef65}),_0x5096d6['json']({'success':!![],'attachment':_0x303605});}catch(_0x533e44){this[_0x1090f5(0xb8)][_0x1090f5(0x160)]('Failed to import attachment',{'fileId':_0x3e2303[_0x1090f5(0xb3)][_0x1090f5(0x165)],'error':_0x533e44['message']}),_0x5096d6['status'](0x1f4)['json']({'success':![],'error':_0x533e44[_0x1090f5(0xd5)]});}}),this[_0xa1631d(0x79)]['get'](_0xa1631d(0x109),async(_0xad58d4,_0x56e8fc)=>{const _0x1d9615=_0xa1631d;try{const {fileId:_0x4d6158}=_0xad58d4[_0x1d9615(0xb3)];if(!this[_0x1d9615(0x17a)]?.[_0x1d9615(0x10f)])return _0x56e8fc['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x463dec=await this[_0x1d9615(0x17a)]['fileAttachmentService']['getAttachmentPreview'](_0x4d6158);if(!_0x463dec)return _0x56e8fc[_0x1d9615(0x16e)](0x194)['json']({'success':![],'error':'Attachment\x20not\x20found'});_0x56e8fc['json']({'success':!![],'preview':_0x463dec});}catch(_0x4d4c0f){this[_0x1d9615(0xb8)][_0x1d9615(0x160)](_0x1d9615(0xa6),{'fileId':_0xad58d4['params'][_0x1d9615(0x165)],'error':_0x4d4c0f['message']}),_0x56e8fc[_0x1d9615(0x16e)](0x1f4)[_0x1d9615(0x77)]({'success':![],'error':_0x4d4c0f[_0x1d9615(0xd5)]});}}),this['app']['get'](_0xa1631d(0x112),async(_0x577470,_0xecdd08)=>{const _0x1056e2=_0xa1631d;try{const {sessionId:_0x38b4c1,filename:_0x4c74bf}=_0x577470[_0x1056e2(0xb3)],_0xbc6315=this['sessions'][_0x1056e2(0x17d)](_0x38b4c1);if(!_0xbc6315)return _0xecdd08['status'](HTTP_STATUS['FORBIDDEN'])['json']({'success':![],'error':_0x1056e2(0x98)});const _0x27faf5=a0_0x479b49['basename'](_0x4c74bf);if(_0x27faf5!==_0x4c74bf||_0x4c74bf[_0x1056e2(0x11e)]('..')||_0x4c74bf['includes']('/')||_0x4c74bf[_0x1056e2(0x11e)]('\x5c'))return _0xecdd08[_0x1056e2(0x16e)](HTTP_STATUS[_0x1056e2(0x96)])['json']({'success':![],'error':'Invalid\x20filename'});let _0x4fd52b=null;const _0x2dc865=[a0_0x479b49[_0x1056e2(0x139)](_0xbc6315[_0x1056e2(0xfa)]||process['cwd'](),'images',_0x27faf5),a0_0x479b49[_0x1056e2(0x139)]('/tmp/loxia-images',_0x38b4c1,_0x27faf5),a0_0x479b49[_0x1056e2(0x139)](_0x1056e2(0xab),_0x27faf5)];if(this[_0x1056e2(0x17a)]?.[_0x1056e2(0x9c)])try{const _0x2df74c=await this['orchestrator']['agentPool']['getAllAgents']();for(const _0x3cdc80 of _0x2df74c){_0x3cdc80[_0x1056e2(0x7b)]?.[_0x1056e2(0x7d)]&&_0x2dc865[_0x1056e2(0xe5)](a0_0x479b49['join'](_0x3cdc80['directoryAccess']['workingDirectory'],_0x1056e2(0x10d),_0x27faf5));}}catch(_0x190319){this[_0x1056e2(0xb8)]['warn'](_0x1056e2(0xcd),{'error':_0x190319['message']});}for(const _0x3e4682 of _0x2dc865){try{const _0x5d4faf=await a0_0x1cc18b['stat'](_0x3e4682);if(_0x5d4faf['isFile']()){_0x4fd52b=_0x3e4682,this['logger'][_0x1056e2(0xfb)]('Image\x20found',{'filename':_0x27faf5,'path':_0x4fd52b,'sessionId':_0x38b4c1});break;}}catch(_0x3604a9){continue;}}if(!_0x4fd52b)return this[_0x1056e2(0xb8)][_0x1056e2(0x148)]('Image\x20not\x20found\x20in\x20any\x20search\x20path',{'filename':_0x27faf5,'sessionId':_0x38b4c1,'searchPaths':_0x2dc865}),_0xecdd08[_0x1056e2(0x16e)](HTTP_STATUS[_0x1056e2(0x158)])[_0x1056e2(0x77)]({'success':![],'error':_0x1056e2(0x143)});_0xecdd08[_0x1056e2(0x94)](_0x4fd52b,_0x360a64=>{const _0x3f613b=_0x1056e2;_0x360a64?(this[_0x3f613b(0xb8)][_0x3f613b(0x160)]('Failed\x20to\x20send\x20image\x20file',{'error':_0x360a64[_0x3f613b(0xd5)],'imagePath':_0x4fd52b,'filename':_0x27faf5}),!_0xecdd08['headersSent']&&_0xecdd08['status'](HTTP_STATUS[_0x3f613b(0x84)])[_0x3f613b(0x77)]({'success':![],'error':_0x3f613b(0x130)})):this[_0x3f613b(0xb8)]['info']('Image\x20served\x20successfully',{'filename':_0x27faf5,'path':_0x4fd52b,'sessionId':_0x38b4c1});});}catch(_0x3e5a73){this[_0x1056e2(0xb8)]['error'](_0x1056e2(0xb5),{'error':_0x3e5a73[_0x1056e2(0xd5)],'sessionId':_0x577470[_0x1056e2(0xb3)]['sessionId'],'filename':_0x577470[_0x1056e2(0xb3)]['filename']}),_0xecdd08['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x3e5a73['message']});}}),this['app'][_0xa1631d(0x174)]('/api/agents/:agentId/mode',async(_0x3a49dd,_0x170741)=>{const _0x41213e=_0xa1631d;try{const {agentId:_0xca588b}=_0x3a49dd['params'],{mode:_0x11f8ed,lockMode:lockMode=![],sessionId:_0x1bc082}=_0x3a49dd[_0x41213e(0x146)];if(!Object[_0x41213e(0x123)](AGENT_MODES)[_0x41213e(0x11e)](_0x11f8ed))return _0x170741[_0x41213e(0x16e)](0x190)['json']({'success':![],'error':'Invalid\x20mode.\x20Must\x20be\x20one\x20of:\x20'+Object['values'](AGENT_MODES)[_0x41213e(0x139)](',\x20')});const _0x5a975e=_0x1bc082||_0x3a49dd['sessionID'];!_0x5a975e&&this[_0x41213e(0xb8)]['warn']('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0xca588b,'hasBodySessionId':!!_0x1bc082,'hasReqSessionId':!!_0x3a49dd[_0x41213e(0xf6)]});const _0x52df5e={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x5a975e,'action':_0x41213e(0xb7),'payload':{'agentId':_0xca588b,'updates':{'mode':_0x11f8ed}}},_0x5a75c7=await this['orchestrator'][_0x41213e(0x97)](_0x52df5e);if(_0x5a75c7[_0x41213e(0xff)]){const _0x32f754=_0x5a75c7['data'];this['logger'][_0x41213e(0xfb)]('Agent\x20mode\x20updated:\x20'+_0xca588b,{'newMode':_0x11f8ed,'lockMode':lockMode,'finalMode':_0x32f754?.['mode']}),this['broadcastToSession'](_0x52df5e['sessionId'],{'type':'agent_mode_changed','agentId':_0xca588b,'mode':_0x32f754?.['mode'],'modeState':_0x32f754?.['modeState']}),_0x170741[_0x41213e(0x77)]({'success':!![],'agent':_0x32f754,'message':'Agent\x20mode\x20switched\x20to\x20'+_0x32f754?.['mode']});}else _0x170741[_0x41213e(0x16e)](0x190)['json']({'success':![],'error':_0x5a75c7[_0x41213e(0x160)]||'Failed\x20to\x20update\x20agent\x20mode'});}catch(_0x11ee19){this['logger']['error'](_0x41213e(0x93),{'agentId':_0x3a49dd['params']['agentId'],'error':_0x11ee19[_0x41213e(0xd5)]}),_0x170741['status'](0x1f4)[_0x41213e(0x77)]({'success':![],'error':_0x11ee19['message']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x174)](_0xa1631d(0x113),async(_0x57baa5,_0x2beaba)=>{const _0x4e283a=_0xa1631d;try{const {agentId:_0x53116d}=_0x57baa5[_0x4e283a(0xb3)],_0x29db6f=this[_0x4e283a(0x17a)]['messageProcessor'];if(!_0x29db6f)return _0x2beaba[_0x4e283a(0x16e)](0x1f4)[_0x4e283a(0x77)]({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x1ce501=await _0x29db6f[_0x4e283a(0xb1)](_0x53116d);this['logger'][_0x4e283a(0xfb)](_0x4e283a(0xf7)+_0x53116d);const _0x206a84=_0x57baa5[_0x4e283a(0xf6)]||_0x1ce501[_0x4e283a(0x157)]?.[_0x4e283a(0xc3)];_0x206a84&&this[_0x4e283a(0x119)](_0x206a84,{'type':_0x4e283a(0xca),'agentId':_0x53116d,'mode':_0x1ce501['agent']?.[_0x4e283a(0x81)],'modeState':_0x1ce501[_0x4e283a(0x157)]?.[_0x4e283a(0x117)]}),_0x2beaba['json'](_0x1ce501);}catch(_0x3fd924){this['logger'][_0x4e283a(0x160)]('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x57baa5[_0x4e283a(0xb3)][_0x4e283a(0xa9)],'error':_0x3fd924['message']}),_0x2beaba[_0x4e283a(0x16e)](0x1f4)[_0x4e283a(0x77)]({'success':![],'error':_0x3fd924['message']});}}),this[_0xa1631d(0x79)]['get'](_0xa1631d(0x120),async(_0x5a89f7,_0x1fce98)=>{const _0xa24714=_0xa1631d;try{const {agentId:_0x3a7394}=_0x5a89f7['params'],_0x2319a6={'interface':INTERFACE_TYPES[_0xa24714(0xa7)],'sessionId':_0x5a89f7['sessionID'],'action':_0xa24714(0xe0),'payload':{'agentId':_0x3a7394}},_0x281cb4=await this[_0xa24714(0x17a)]['processRequest'](_0x2319a6);_0x281cb4[_0xa24714(0xff)]&&_0x281cb4['agent']?_0x1fce98[_0xa24714(0x77)]({'success':!![],'mode':_0x281cb4[_0xa24714(0x157)][_0xa24714(0x81)],'modeState':_0x281cb4['agent'][_0xa24714(0x117)],'currentTask':_0x281cb4['agent'][_0xa24714(0x133)],'iterationCount':_0x281cb4['agent']['iterationCount'],'taskStartTime':_0x281cb4[_0xa24714(0x157)][_0xa24714(0xba)],'stopRequested':_0x281cb4['agent']['stopRequested']}):_0x1fce98['status'](0x194)['json']({'success':![],'error':_0xa24714(0x127)});}catch(_0x9bc10a){this['logger'][_0xa24714(0x160)](_0xa24714(0x114),{'agentId':_0x5a89f7['params'][_0xa24714(0xa9)],'error':_0x9bc10a[_0xa24714(0xd5)]}),_0x1fce98['status'](0x1f4)['json']({'success':![],'error':_0x9bc10a['message']});}}),this['app'][_0xa1631d(0x17d)]('/api/agents/available',async(_0x214c28,_0x5bb5e1)=>{const _0x25cdda=_0xa1631d;try{const _0x20eb12=this[_0x25cdda(0x17a)][_0x25cdda(0x179)]['project']?.['directory']||process['cwd'](),_0x3a6f6f=await this['orchestrator'][_0x25cdda(0xcc)][_0x25cdda(0x132)](_0x20eb12,this['orchestrator']['agentPool']);_0x5bb5e1[_0x25cdda(0x77)]({'success':!![],'agents':_0x3a6f6f,'total':_0x3a6f6f[_0x25cdda(0xb9)],'active':_0x3a6f6f[_0x25cdda(0x100)](_0xb9ab6b=>_0xb9ab6b['isLoaded'])['length'],'archived':_0x3a6f6f['filter'](_0x463f4e=>!_0x463f4e[_0x25cdda(0x14b)])['length']});}catch(_0x4e266f){this[_0x25cdda(0xb8)]['error'](_0x25cdda(0x15e),{'error':_0x4e266f[_0x25cdda(0xd5)],'stack':_0x4e266f[_0x25cdda(0xde)]}),_0x5bb5e1[_0x25cdda(0x16e)](0x1f4)['json']({'success':![],'error':_0x4e266f['message']});}}),this['app'][_0xa1631d(0x17d)](_0xa1631d(0xc6),async(_0x1e0195,_0x32f6ef)=>{const _0x1705a0=_0xa1631d;try{const {agentId:_0x573d1a}=_0x1e0195['params'],_0x175f84=this[_0x1705a0(0x17a)]['config']['project']?.['directory']||process['cwd'](),_0x432aec=await this['orchestrator']['stateManager'][_0x1705a0(0xdd)](_0x573d1a,_0x175f84);_0x32f6ef[_0x1705a0(0x77)]({'success':!![],'metadata':_0x432aec});}catch(_0x3f5d8b){this['logger']['error']('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x1e0195['params'][_0x1705a0(0xa9)],'error':_0x3f5d8b[_0x1705a0(0xd5)]}),_0x32f6ef[_0x1705a0(0x16e)](0x194)['json']({'success':![],'error':_0x3f5d8b['message']});}}),this['app'][_0xa1631d(0x174)]('/api/agents/import',async(_0xa7f19e,_0xd52403)=>{const _0x159d82=_0xa1631d;try{const {agentId:_0x191bfa}=_0xa7f19e[_0x159d82(0x146)];if(!_0x191bfa)return _0xd52403['status'](0x190)['json']({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0x494014=this[_0x159d82(0x17a)]['config']['project']?.[_0x159d82(0xe6)]||process[_0x159d82(0x170)](),_0x4633ad=await this['orchestrator'][_0x159d82(0xcc)]['importArchivedAgent'](_0x191bfa,_0x494014,this[_0x159d82(0x17a)][_0x159d82(0x9c)]);this[_0x159d82(0xb6)]&&this['wsManager']['broadcast']({'type':'agent-imported','agent':{'id':_0x4633ad['id'],'name':_0x4633ad['name'],'status':_0x4633ad[_0x159d82(0x16e)],'capabilities':_0x4633ad['capabilities'],'model':_0x4633ad[_0x159d82(0x167)]||_0x4633ad[_0x159d82(0x128)]}}),this[_0x159d82(0xb8)]['info']('Agent imported successfully',{'agentId':_0x4633ad['id'],'name':_0x4633ad[_0x159d82(0x10e)]}),_0xd52403['json']({'success':!![],'agent':{'id':_0x4633ad['id'],'name':_0x4633ad[_0x159d82(0x10e)],'status':_0x4633ad[_0x159d82(0x16e)],'model':_0x4633ad['currentModel']||_0x4633ad[_0x159d82(0x128)],'capabilities':_0x4633ad['capabilities'],'lastActivity':_0x4633ad[_0x159d82(0x121)]},'message':_0x159d82(0x16b)+_0x4633ad[_0x159d82(0x10e)]+_0x159d82(0xaf)});}catch(_0x259b8a){this[_0x159d82(0xb8)]['error']('Failed to import agent',{'agentId':_0xa7f19e['body']['agentId'],'error':_0x259b8a['message'],'stack':_0x259b8a['stack']});const _0x25fa8d=_0x259b8a['message']['includes']('already\x20active')?0x199:_0x259b8a['message']['includes'](_0x159d82(0x12e))?0x194:_0x259b8a[_0x159d82(0xd5)]['includes'](_0x159d82(0xda))?0x190:0x1f4;_0xd52403[_0x159d82(0x16e)](_0x25fa8d)[_0x159d82(0x77)]({'success':![],'error':_0x259b8a[_0x159d82(0xd5)]});}}),this[_0xa1631d(0x79)][_0xa1631d(0x17d)]('*',(_0x20bf03,_0x1a53a4)=>{const _0x1a19c6=_0xa1631d,_0x29f8fd=a0_0x479b49['join'](__dirname,'../../web-ui/build/index.html');_0x1a53a4[_0x1a19c6(0x94)](_0x29f8fd,_0x100e96=>{const _0x75fdab=_0x1a19c6;_0x100e96&&_0x1a53a4[_0x75fdab(0x16e)](HTTP_STATUS['NOT_FOUND'])[_0x75fdab(0x129)](_0x75fdab(0x163));});});}[a0_0x8758e3(0x16a)](){const _0x3fb0fe=a0_0x8758e3;this['logger']['info'](_0x3fb0fe(0x75),{'port':this['port'],'host':this['host'],'wsServerExists':!!this['wss'],'httpServerExists':!!this[_0x3fb0fe(0xdb)]}),this['wss']['on'](_0x3fb0fe(0x160),_0x3ca611=>{const _0x35e46e=_0x3fb0fe;this['logger']['error']('WebSocket\x20server\x20error:',{'error':_0x3ca611['message'],'stack':_0x3ca611[_0x35e46e(0xde)],'port':this[_0x35e46e(0xee)]});}),this[_0x3fb0fe(0x137)]['on'](_0x3fb0fe(0x12c),()=>{const _0x3b6d06=_0x3fb0fe;this[_0x3b6d06(0xb8)][_0x3b6d06(0xfb)](_0x3b6d06(0x7f),{'port':this[_0x3b6d06(0xee)],'host':this[_0x3b6d06(0x141)]});}),this['wss']['on']('connection',(_0x21bebb,_0x2fb476)=>{const _0x3fe160=_0x3fb0fe,_0x43f4dd=_0x3fe160(0x95)+Date[_0x3fe160(0x138)]()+'-'+Math[_0x3fe160(0xe8)]()[_0x3fe160(0x142)](0x24)[_0x3fe160(0xa2)](0x2,0x9);this[_0x3fe160(0xb8)][_0x3fe160(0xfb)](_0x3fe160(0x152),{'connectionId':_0x43f4dd,'ip':_0x2fb476[_0x3fe160(0xd7)][_0x3fe160(0x13f)],'origin':_0x2fb476[_0x3fe160(0x92)]['origin'],'host':_0x2fb476[_0x3fe160(0x92)]['host'],'userAgent':_0x2fb476[_0x3fe160(0x92)]['user-agent'],'url':_0x2fb476['url']});const _0x258087={'id':_0x43f4dd,'ws':_0x21bebb,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this['connections'][_0x3fe160(0xd2)](_0x43f4dd,_0x258087),_0x21bebb['on'](_0x3fe160(0xd5),async _0x237912=>{const _0x44ee6f=_0x3fe160;try{const _0x3df670=JSON['parse'](_0x237912['toString']());await this[_0x44ee6f(0x14f)](_0x43f4dd,_0x3df670);}catch(_0x3abb07){this[_0x44ee6f(0xb8)][_0x44ee6f(0x160)](_0x44ee6f(0xec),{'connectionId':_0x43f4dd,'error':_0x3abb07['message']}),_0x21bebb['send'](JSON['stringify']({'type':'error','error':_0x3abb07[_0x44ee6f(0xd5)]}));}}),_0x21bebb['on']('close',()=>{const _0x500e89=_0x3fe160;this[_0x500e89(0xb8)]['info']('WebSocket\x20connection\x20closed',{'connectionId':_0x43f4dd}),this[_0x500e89(0x154)]['delete'](_0x43f4dd);}),_0x21bebb[_0x3fe160(0x129)](JSON[_0x3fe160(0x8b)]({'type':_0x3fe160(0x161),'connectionId':_0x43f4dd,'timestamp':new Date()[_0x3fe160(0xf2)]()}));});}async['handleWebSocketMessage'](_0x14b3de,_0x10031a){const _0xf4e98=a0_0x8758e3,_0x584010=this['connections'][_0xf4e98(0x17d)](_0x14b3de);if(!_0x584010)return;_0x584010['lastActivity']=new Date()['toISOString']();switch(_0x10031a[_0xf4e98(0x14c)]){case'join_session':const _0x298552=_0x10031a['sessionId'];_0x584010[_0xf4e98(0xc3)]=_0x298552,this['logger'][_0xf4e98(0xfb)](_0xf4e98(0x15b),{'connectionId':_0x14b3de,'sessionId':_0x298552,'totalConnectionsForSession':Array['from'](this[_0xf4e98(0x154)]['values']())['filter'](_0x45d355=>_0x45d355['sessionId']===_0x298552)['length']}),_0x584010['ws']['send'](JSON[_0xf4e98(0x8b)]({'type':_0xf4e98(0xfd),'sessionId':_0x298552}));break;case'ping':_0x584010['ws']['send'](JSON['stringify']({'type':'pong','timestamp':new Date()[_0xf4e98(0xf2)]()}));break;case _0xf4e98(0x105):try{const _0x516382={'interface':INTERFACE_TYPES[_0xf4e98(0xa7)],'sessionId':_0x584010['sessionId'],'action':_0x10031a[_0xf4e98(0x124)],'payload':_0x10031a['payload'],'projectDir':_0x10031a[_0xf4e98(0xfa)]||process['cwd']()},_0x1307e3=await this[_0xf4e98(0x17a)][_0xf4e98(0x97)](_0x516382);_0x584010['ws']['send'](JSON[_0xf4e98(0x8b)]({'type':'orchestrator_response','requestId':_0x10031a['requestId'],'response':_0x1307e3}));}catch(_0x1ae0dd){_0x584010['ws']['send'](JSON[_0xf4e98(0x8b)]({'type':'error','requestId':_0x10031a[_0xf4e98(0x90)],'error':_0x1ae0dd[_0xf4e98(0xd5)]}));}break;default:this[_0xf4e98(0xb8)][_0xf4e98(0x148)]('Unknown\x20WebSocket\x20message\x20type',{'connectionId':_0x14b3de,'type':_0x10031a['type']});}}[a0_0x8758e3(0x119)](_0x29951e,_0xcd418a){const _0xc50067=a0_0x8758e3,_0x5068f9=Array['from'](this['connections']['values']())['filter'](_0x359c6f=>_0x359c6f['sessionId']===_0x29951e);let _0x473fbf=[];_0x5068f9[_0xc50067(0xb9)]===0x0&&(_0x473fbf=Array[_0xc50067(0xd1)](this[_0xc50067(0x154)]['values']()),this['logger']?.[_0xc50067(0x148)]('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x29951e,'totalConnections':this['connections'][_0xc50067(0xc2)],'allSessionIds':Array[_0xc50067(0xd1)](this[_0xc50067(0x154)][_0xc50067(0x123)]())[_0xc50067(0x176)](_0x4794ca=>_0x4794ca[_0xc50067(0xc3)])[_0xc50067(0x100)](Boolean)}));const _0x435520=_0x5068f9[_0xc50067(0xb9)]>0x0?_0x5068f9:_0x473fbf;this[_0xc50067(0xb8)]?.['info']('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x29951e,'messageType':_0xcd418a['type'],'agentId':_0xcd418a['agentId'],'totalConnections':this[_0xc50067(0x154)][_0xc50067(0xc2)],'sessionConnections':_0x5068f9[_0xc50067(0xb9)],'targetConnections':_0x435520['length'],'connectionIds':_0x435520[_0xc50067(0x176)](_0x219971=>_0x219971['id']),'usingFallback':_0x5068f9[_0xc50067(0xb9)]===0x0,'messagePreview':_0xcd418a[_0xc50067(0x14c)]==='autonomous_update'&&_0xcd418a[_0xc50067(0xd5)]?{'messageId':_0xcd418a['message']['id'],'messageRole':_0xcd418a['message'][_0xc50067(0x153)],'contentLength':_0xcd418a[_0xc50067(0xd5)][_0xc50067(0x86)]?.['length'],'hasToolResults':!!_0xcd418a['message']['toolResults']}:undefined});for(const _0x3900d0 of _0x435520){try{const _0x3a9766={..._0xcd418a,'timestamp':new Date()[_0xc50067(0xf2)]()};_0x3900d0['ws']['send'](JSON['stringify'](_0x3a9766)),this['logger']?.[_0xc50067(0xfb)]('✅\x20WebSocket\x20message\x20sent\x20to\x20connection:',{'connectionId':_0x3900d0['id'],'messageType':_0xcd418a['type'],'agentId':_0xcd418a[_0xc50067(0xa9)]});}catch(_0x16d5e2){this[_0xc50067(0xb8)][_0xc50067(0x148)]('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x3900d0['id'],'sessionId':_0x29951e,'messageType':_0xcd418a[_0xc50067(0x14c)],'error':_0x16d5e2['message']});}}}async[a0_0x8758e3(0x150)](){return new Promise((_0x5734fb,_0x1587f8)=>{const _0x3c5556=a0_0x42aa;this['server'][_0x3c5556(0xe2)](this['port'],this[_0x3c5556(0x141)],_0x541717=>{const _0x2373cb=_0x3c5556;_0x541717?(this['logger']['error'](_0x2373cb(0x177),{'error':_0x541717['message'],'port':this['port'],'host':this['host']}),_0x1587f8(_0x541717)):(this[_0x2373cb(0xbb)]=!![],this[_0x2373cb(0xb8)][_0x2373cb(0xfb)](_0x2373cb(0xbf),{'port':this['port'],'host':this[_0x2373cb(0x141)],'httpUrl':_0x2373cb(0xdf)+this['host']+':'+this[_0x2373cb(0xee)],'wsUrl':'ws://'+this[_0x2373cb(0x141)]+':'+this['port'],'wsServerAttached':!!this['wss'],'wsConnections':this['connections']['size']}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x5734fb());}),this[_0x3c5556(0xdb)]['on']('error',_0x557324=>{const _0x55dec8=_0x3c5556;this['logger'][_0x55dec8(0x160)]('HTTP\x20server\x20error:',{'error':_0x557324['message'],'stack':_0x557324['stack'],'port':this[_0x55dec8(0xee)]});});});}async[a0_0x8758e3(0x125)](){const _0x4982e5=a0_0x8758e3;try{const {default:_0x442004}=await import('ws'),_0x36e9b6=new _0x442004(_0x4982e5(0x164)+this['port']);_0x36e9b6['on']('open',()=>{const _0x2c53f0=_0x4982e5;this[_0x2c53f0(0xb8)][_0x2c53f0(0xfb)]('✅\x20WebSocket\x20server\x20test:\x20SUCCESSFUL',{'port':this[_0x2c53f0(0xee)],'url':'ws://localhost:'+this[_0x2c53f0(0xee)]}),_0x36e9b6[_0x2c53f0(0x17e)]();}),_0x36e9b6['on']('error',_0xa4e55e=>{const _0x1b9b15=_0x4982e5;this[_0x1b9b15(0xb8)]['error']('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this['port'],'url':'ws://localhost:'+this[_0x1b9b15(0xee)],'error':_0xa4e55e[_0x1b9b15(0xd5)],'code':_0xa4e55e['code']});}),_0x36e9b6['on'](_0x4982e5(0x17e),(_0x22d0f8,_0x3d5c43)=>{const _0x4c5843=_0x4982e5;_0x22d0f8===0x3e8&&this['logger'][_0x4c5843(0xfb)](_0x4c5843(0x73));}),setTimeout(()=>{const _0x119091=_0x4982e5;_0x36e9b6['readyState']===_0x442004[_0x119091(0x15a)]&&(this[_0x119091(0xb8)][_0x119091(0x160)](_0x119091(0xc5),{'port':this[_0x119091(0xee)],'url':_0x119091(0x164)+this['port'],'readyState':_0x36e9b6[_0x119091(0xb4)]}),_0x36e9b6[_0x119091(0xac)]());},0x1388);}catch(_0xa0877e){this[_0x4982e5(0xb8)]['error'](_0x4982e5(0x103),{'error':_0xa0877e[_0x4982e5(0xd5)],'stack':_0xa0877e['stack']});}}[a0_0x8758e3(0xce)](_0x5bb5d0){const _0x15e61b=a0_0x8758e3;this[_0x15e61b(0x17c)]=_0x5bb5d0,this['logger']?.['info'](_0x15e61b(0x118),{'hasManager':!!_0x5bb5d0});}['_getVendorFromModel'](_0x5854b9){const _0x2acc30=a0_0x8758e3;if(!_0x5854b9)return null;const _0x22c640=_0x5854b9['toLowerCase']();if(_0x22c640[_0x2acc30(0x11e)]('anthropic')||_0x22c640['includes'](_0x2acc30(0x134)))return'anthropic';else{if(_0x22c640['includes'](_0x2acc30(0xf5))||_0x22c640[_0x2acc30(0x11e)](_0x2acc30(0xf4)))return'openai';else{if(_0x22c640['includes'](_0x2acc30(0x78)))return _0x2acc30(0x78);else{if(_0x22c640[_0x2acc30(0x11e)](_0x2acc30(0x159)))return'microsoft';}}}return null;}['getStatus'](){const _0x4fd720=a0_0x8758e3;return{'isRunning':this['isRunning'],'port':this[_0x4fd720(0xee)],'host':this[_0x4fd720(0x141)],'connections':this[_0x4fd720(0x154)][_0x4fd720(0xc2)],'sessions':this[_0x4fd720(0x111)][_0x4fd720(0xc2)],'url':_0x4fd720(0xdf)+this['host']+':'+this[_0x4fd720(0xee)]};}async['shutdown'](){const _0x56b028=a0_0x8758e3;if(!this[_0x56b028(0xbb)])return;this[_0x56b028(0xb8)]['info'](_0x56b028(0x12b));for(const _0x3169a4 of this['connections']['values']()){_0x3169a4['ws']['close']();}return this[_0x56b028(0x154)]['clear'](),this['wss']['close'](),new Promise(_0x41a885=>{this['server']['close'](()=>{const _0x2d8e77=a0_0x42aa;this['isRunning']=![],this[_0x2d8e77(0xb8)][_0x2d8e77(0xfb)](_0x2d8e77(0xa4)),_0x41a885();});});}}export default WebServer;if(import.meta.url===a0_0x8758e3(0xd0)+process['argv'][0x1]){const simpleLogger={'info':(_0x20a919,_0xe79a39)=>console['log']('[INFO]\x20'+_0x20a919,_0xe79a39?JSON[a0_0x8758e3(0x8b)](_0xe79a39,null,0x2):''),'error':(_0x5e283c,_0x14c4b8)=>console[a0_0x8758e3(0x160)]('[ERROR]\x20'+_0x5e283c,_0x14c4b8?JSON[a0_0x8758e3(0x8b)](_0x14c4b8,null,0x2):''),'warn':(_0x249a71,_0x5fdd47)=>console[a0_0x8758e3(0x148)]('[WARN]\x20'+_0x249a71,_0x5fdd47?JSON['stringify'](_0x5fdd47,null,0x2):''),'debug':(_0x52872e,_0xc0d3b2)=>console[a0_0x8758e3(0xc0)](a0_0x8758e3(0x131)+_0x52872e,_0xc0d3b2?JSON['stringify'](_0xc0d3b2,null,0x2):'')},mockOrchestrator={'processAction':async(_0x5339f3,_0x4a5efe)=>{const _0xb48edd=a0_0x8758e3;simpleLogger['info'](_0xb48edd(0x169),{'action':_0x5339f3,'data':_0x4a5efe});switch(_0x5339f3){case ORCHESTRATOR_ACTIONS[_0xb48edd(0x76)]:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0xb48edd(0xc4)]:return{'success':!![],'data':{'id':_0xb48edd(0x7e)+Date[_0xb48edd(0x138)](),'name':_0x4a5efe['name']||'New\x20Agent','status':'active','model':_0x4a5efe['model']||_0xb48edd(0xad),'systemPrompt':_0x4a5efe['systemPrompt']||'You\x20are\x20a\x20helpful\x20AI\x20assistant.'}};case ORCHESTRATOR_ACTIONS[_0xb48edd(0x7c)]:return{'success':!![],'data':{'message':{'id':'msg-'+Date['now'](),'content':_0xb48edd(0xd6)+_0x4a5efe['message'],'timestamp':new Date()[_0xb48edd(0xf2)]()}}};default:return{'success':![],'error':_0xb48edd(0xd3)+_0x5339f3};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console['log']('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server['startServer']()['then'](()=>{const _0x49d93e=a0_0x8758e3,_0x36a472=server['getStatus']();console[_0x49d93e(0xc0)](_0x49d93e(0x89)+_0x36a472[_0x49d93e(0x162)]),console[_0x49d93e(0xc0)](_0x49d93e(0x10a)),console[_0x49d93e(0xc0)](_0x49d93e(0x172));})[a0_0x8758e3(0x13a)](_0x3bd9a5=>{const _0xc35ef1=a0_0x8758e3;console[_0xc35ef1(0x160)](_0xc35ef1(0x10b),_0x3bd9a5['message']),process['exit'](0x1);}),process['on']('SIGINT',async()=>{const _0x5a6247=a0_0x8758e3;console['log'](_0x5a6247(0x83)),await server[_0x5a6247(0xd4)](),process[_0x5a6247(0xa8)](0x0);});}
|
|
1
|
+
const a0_0x309219=a0_0x482e;(function(_0x1943e1,_0x51ec73){const _0x24cb72=a0_0x482e,_0x38302e=_0x1943e1();while(!![]){try{const _0x4667f6=-parseInt(_0x24cb72(0x23e))/0x1+parseInt(_0x24cb72(0x2c5))/0x2+parseInt(_0x24cb72(0x21e))/0x3+parseInt(_0x24cb72(0x1f8))/0x4+-parseInt(_0x24cb72(0x2e1))/0x5*(parseInt(_0x24cb72(0x26e))/0x6)+-parseInt(_0x24cb72(0x273))/0x7+-parseInt(_0x24cb72(0x219))/0x8*(-parseInt(_0x24cb72(0x1fe))/0x9);if(_0x4667f6===_0x51ec73)break;else _0x38302e['push'](_0x38302e['shift']());}catch(_0x3fe1b6){_0x38302e['push'](_0x38302e['shift']());}}}(a0_0x2e21,0x4e3cc));import a0_0x2ba8c6 from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x1c1d31 from'path';import{promises as a0_0x572a7b}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_0x1c1d31[a0_0x309219(0x221)](__filename);class WebServer{constructor(_0x23e8dd,_0x4d6b4d,_0x1b1ba5={}){const _0xff73bf=a0_0x309219;this['orchestrator']=_0x23e8dd,this['logger']=_0x4d6b4d,this['config']=_0x1b1ba5,this['port']=_0x1b1ba5[_0xff73bf(0x27c)]||0x1f90,this[_0xff73bf(0x2be)]=_0x1b1ba5[_0xff73bf(0x2be)]||'localhost',this[_0xff73bf(0x1fb)]=a0_0x2ba8c6(),this[_0xff73bf(0x263)]=createServer(this[_0xff73bf(0x1fb)]),this[_0xff73bf(0x1ec)]=new WebSocketServer({'server':this[_0xff73bf(0x263)],'verifyClient':_0x3a8d23=>{const _0x43d392=_0xff73bf;return this[_0x43d392(0x269)]?.[_0x43d392(0x244)]('WebSocket\x20connection\x20attempt',{'origin':_0x3a8d23['origin'],'host':_0x3a8d23['req'][_0x43d392(0x2d9)]['host'],'userAgent':_0x3a8d23[_0x43d392(0x22d)][_0x43d392(0x2d9)]['user-agent'],'url':_0x3a8d23[_0x43d392(0x22d)][_0x43d392(0x2ed)]}),!![];}}),this['connections']=new Map(),this['sessions']=new Map(),this['apiKeyManager']=null,this['isRunning']=![];}async[a0_0x309219(0x23d)](){const _0x46fa8d=a0_0x309219;try{this['setupMiddleware'](),this[_0x46fa8d(0x27b)](),this[_0x46fa8d(0x2b9)](),await this['startServer'](),this['logger']['info'](_0x46fa8d(0x2aa),{'port':this[_0x46fa8d(0x27c)],'host':this['host'],'url':'http://'+this['host']+':'+this[_0x46fa8d(0x27c)]});}catch(_0x558356){this[_0x46fa8d(0x269)]['error'](_0x46fa8d(0x2e9),{'error':_0x558356[_0x46fa8d(0x1fc)],'stack':_0x558356[_0x46fa8d(0x2e6)]});throw _0x558356;}}[a0_0x309219(0x243)](){const _0x222572=a0_0x309219;this[_0x222572(0x1fb)]['use']((_0x4e456d,_0xf9ebe6,_0x432426)=>{const _0x28f1ab=_0x222572;_0xf9ebe6['header']('Access-Control-Allow-Origin','*'),_0xf9ebe6['header'](_0x28f1ab(0x2c2),_0x28f1ab(0x24b)),_0xf9ebe6['header'](_0x28f1ab(0x25c),_0x28f1ab(0x217)),_0x4e456d['method']==='OPTIONS'?_0xf9ebe6[_0x28f1ab(0x2a6)](HTTP_STATUS['OK']):_0x432426();}),this[_0x222572(0x1fb)]['use'](a0_0x2ba8c6[_0x222572(0x2f2)]({'limit':'10mb'})),this[_0x222572(0x1fb)][_0x222572(0x2e3)](a0_0x2ba8c6[_0x222572(0x2ca)]({'extended':!![],'limit':_0x222572(0x201)})),this[_0x222572(0x23b)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this[_0x222572(0x1fb)][_0x222572(0x2e3)](_0x222572(0x2f0),this[_0x222572(0x23b)][_0x222572(0x281)]);const _0x399071=a0_0x1c1d31[_0x222572(0x256)](__dirname,_0x222572(0x2d2));this['app'][_0x222572(0x2e3)](a0_0x2ba8c6['static'](_0x399071)),this['app'][_0x222572(0x2e3)]((_0x3a34c9,_0xc59c72,_0x36b137)=>{const _0x6e26b5=_0x222572;this[_0x6e26b5(0x269)][_0x6e26b5(0x239)](_0x3a34c9['method']+'\x20'+_0x3a34c9[_0x6e26b5(0x2d4)],{'ip':_0x3a34c9['ip'],'userAgent':_0x3a34c9['get'](_0x6e26b5(0x25e))}),_0x36b137();});}['setupRoutes'](){const _0x14f01c=a0_0x309219;this[_0x14f01c(0x1fb)][_0x14f01c(0x2ab)](_0x14f01c(0x2b0),async(_0x4cc598,_0x23abee)=>{const _0x5ce4d0=_0x14f01c;try{const _0x283d43=a0_0x1c1d31['join'](__dirname,'../../package.json'),_0x5b0e6d=JSON[_0x5ce4d0(0x234)](await a0_0x572a7b[_0x5ce4d0(0x203)](_0x283d43,_0x5ce4d0(0x1f4)));_0x23abee[_0x5ce4d0(0x2f2)]({'status':'healthy','version':_0x5b0e6d[_0x5ce4d0(0x29d)]||'1.0.0','timestamp':new Date()[_0x5ce4d0(0x270)]()});}catch(_0x556d9a){_0x23abee['json']({'status':_0x5ce4d0(0x29a),'version':'1.0.0','timestamp':new Date()[_0x5ce4d0(0x270)]()});}}),this[_0x14f01c(0x1fb)]['post']('/api/sessions',async(_0x303f08,_0x30e032)=>{const _0x5736eb=_0x14f01c;try{const _0x31e945=_0x5736eb(0x24c)+Date[_0x5736eb(0x265)]()+'-'+Math[_0x5736eb(0x2dd)]()[_0x5736eb(0x20e)](0x24)[_0x5736eb(0x2b8)](0x2,0x9),_0x631f19=_0x303f08['body']['projectDir']||process['cwd'](),_0x30141b={'id':_0x31e945,'projectDir':_0x631f19,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this[_0x5736eb(0x22b)][_0x5736eb(0x2d1)](_0x31e945,_0x30141b),_0x30e032['json']({'success':!![],'session':_0x30141b});}catch(_0x1bf3fc){_0x30e032['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x5736eb(0x2f2)]({'success':![],'error':_0x1bf3fc[_0x5736eb(0x1fc)]});}}),this['app']['post'](_0x14f01c(0x2db),async(_0x223328,_0x371a53)=>{const _0x28078d=_0x14f01c;try{const _0x24a086={'interface':INTERFACE_TYPES[_0x28078d(0x282)],'sessionId':_0x223328[_0x28078d(0x237)]['sessionId'],'action':_0x223328['body']['action'],'payload':_0x223328['body']['payload'],'projectDir':_0x223328[_0x28078d(0x237)][_0x28078d(0x25d)]||process['cwd']()},_0x56aaa2=await this[_0x28078d(0x212)][_0x28078d(0x246)](_0x24a086);this[_0x28078d(0x1ef)](_0x24a086['sessionId'],{'type':'orchestrator_response','action':_0x24a086[_0x28078d(0x205)],'response':_0x56aaa2}),_0x371a53['json'](_0x56aaa2);}catch(_0x237b7a){this[_0x28078d(0x269)][_0x28078d(0x2d0)](_0x28078d(0x226),{'error':_0x237b7a['message'],'body':_0x223328['body']}),_0x371a53[_0x28078d(0x2ac)](HTTP_STATUS[_0x28078d(0x295)])[_0x28078d(0x2f2)]({'success':![],'error':_0x237b7a['message']});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2ab)](_0x14f01c(0x20d),async(_0x487218,_0x5646a8)=>{const _0x580e4e=_0x14f01c;try{const {path:_0x42396c,projectDir:_0x3e8b77}=_0x487218['query'],_0x4401e7=a0_0x1c1d31[_0x580e4e(0x220)](_0x3e8b77||process[_0x580e4e(0x277)](),_0x42396c||'.'),_0x293a8b=await a0_0x572a7b[_0x580e4e(0x222)](_0x4401e7);if(_0x293a8b[_0x580e4e(0x26c)]()){const _0x376e03=await a0_0x572a7b['readdir'](_0x4401e7,{'withFileTypes':!![]}),_0x25f45c=_0x376e03[_0x580e4e(0x26b)](_0x5a7076=>({'name':_0x5a7076[_0x580e4e(0x206)],'type':_0x5a7076['isDirectory']()?_0x580e4e(0x1f2):_0x580e4e(0x1ea),'path':a0_0x1c1d31[_0x580e4e(0x256)](_0x42396c||'.',_0x5a7076[_0x580e4e(0x206)])}));_0x5646a8[_0x580e4e(0x2f2)]({'success':!![],'files':_0x25f45c});}else{const _0x2f5389=await a0_0x572a7b['readFile'](_0x4401e7,_0x580e4e(0x1f4));_0x5646a8['json']({'success':!![],'content':_0x2f5389,'type':'file'});}}catch(_0xcb52b4){_0x5646a8[_0x580e4e(0x2ac)](HTTP_STATUS['NOT_FOUND'])['json']({'success':![],'error':_0xcb52b4['message']});}}),this[_0x14f01c(0x1fb)]['post'](_0x14f01c(0x215),async(_0x53fa04,_0x5a19a9)=>{const _0x5a96e4=_0x14f01c;try{const {fileName:_0x5bb961,content:_0x405c91,projectDir:_0x28a9a1}=_0x53fa04['body'],_0x1a0408=_0x28a9a1||process[_0x5a96e4(0x277)](),_0x1a5785=a0_0x1c1d31['resolve'](_0x1a0408,_0x5bb961);await a0_0x572a7b['mkdir'](_0x1a0408,{'recursive':!![]}),await a0_0x572a7b[_0x5a96e4(0x252)](_0x1a5785,_0x405c91,_0x5a96e4(0x1f4)),_0x5a19a9['json']({'success':!![],'message':'File\x20uploaded\x20successfully','path':_0x1a5785});}catch(_0x2cd5c5){_0x5a19a9[_0x5a96e4(0x2ac)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x2cd5c5[_0x5a96e4(0x1fc)]});}}),this['app'][_0x14f01c(0x2ab)]('/api/explorer',async(_0x485541,_0x5c9a17)=>{const _0x249f15=_0x14f01c;try{const {path:_0x4a8806,showHidden:showHidden=![]}=_0x485541[_0x249f15(0x22e)],_0xd0b47d=_0x4a8806||process['cwd'](),_0xbb2731=a0_0x1c1d31[_0x249f15(0x220)](_0xd0b47d),_0x42afe8=a0_0x1c1d31['normalize'](_0xbb2731),_0x1014e3=await a0_0x572a7b[_0x249f15(0x222)](_0x42afe8);if(!_0x1014e3['isDirectory']())return _0x5c9a17[_0x249f15(0x2ac)](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':'Path\x20is\x20not\x20a\x20directory'});const _0x5cc5d9=await a0_0x572a7b['readdir'](_0x42afe8,{'withFileTypes':!![]}),_0x8050d5=await Promise[_0x249f15(0x25f)](_0x5cc5d9['filter'](_0x34d14b=>showHidden===_0x249f15(0x227)||!_0x34d14b[_0x249f15(0x206)]['startsWith']('.'))[_0x249f15(0x26b)](async _0xed9ea3=>{const _0x4a4a54=_0x249f15,_0x27f0b9=a0_0x1c1d31[_0x4a4a54(0x256)](_0x42afe8,_0xed9ea3[_0x4a4a54(0x206)]),_0xbf56e0=await a0_0x572a7b['stat'](_0x27f0b9)[_0x4a4a54(0x2a4)](()=>null);return{'name':_0xed9ea3[_0x4a4a54(0x206)],'type':_0xed9ea3[_0x4a4a54(0x26c)]()?_0x4a4a54(0x1f2):_0x4a4a54(0x1ea),'path':_0x27f0b9,'relativePath':a0_0x1c1d31[_0x4a4a54(0x2e7)](process['cwd'](),_0x27f0b9),'size':_0xbf56e0?.[_0x4a4a54(0x2ce)]||0x0,'modified':_0xbf56e0?.[_0x4a4a54(0x21d)]||null,'isHidden':_0xed9ea3['name']['startsWith']('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x8050d5['sort']((_0x3eefa8,_0x9da326)=>{const _0x4bf3bb=_0x249f15;if(_0x3eefa8['type']!==_0x9da326['type'])return _0x3eefa8['type']===_0x4bf3bb(0x1f2)?-0x1:0x1;return _0x3eefa8[_0x4bf3bb(0x206)]['localeCompare'](_0x9da326[_0x4bf3bb(0x206)]);});const _0x1639c2=a0_0x1c1d31['dirname'](_0x42afe8),_0x58d5be=_0x1639c2!==_0x42afe8;_0x5c9a17[_0x249f15(0x2f2)]({'success':!![],'currentPath':_0x42afe8,'currentRelativePath':a0_0x1c1d31[_0x249f15(0x2e7)](process[_0x249f15(0x277)](),_0x42afe8),'parentPath':_0x58d5be?_0x1639c2:null,'items':_0x8050d5,'totalItems':_0x8050d5[_0x249f15(0x296)],'directories':_0x8050d5[_0x249f15(0x285)](_0x3458f4=>_0x3458f4['type']===_0x249f15(0x1f2))[_0x249f15(0x296)],'files':_0x8050d5['filter'](_0x1bcb8b=>_0x1bcb8b[_0x249f15(0x254)]===_0x249f15(0x1ea))[_0x249f15(0x296)]});}catch(_0x36f3fb){_0x5c9a17[_0x249f15(0x2ac)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x36f3fb[_0x249f15(0x1fc)],'code':_0x36f3fb['code']});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2e4)]('/api/explorer/mkdir',async(_0x42bf30,_0x1a678f)=>{const _0x345801=_0x14f01c;try{const {path:_0x2e950d,name:_0x28afd8}=_0x42bf30['body'],_0x5b460d=a0_0x1c1d31['resolve'](_0x2e950d,_0x28afd8);await a0_0x572a7b[_0x345801(0x2a8)](_0x5b460d,{'recursive':![]}),_0x1a678f['json']({'success':!![],'path':_0x5b460d,'relativePath':a0_0x1c1d31[_0x345801(0x2e7)](process[_0x345801(0x277)](),_0x5b460d)});}catch(_0x56a9bb){_0x1a678f[_0x345801(0x2ac)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x56a9bb[_0x345801(0x1fc)],'code':_0x56a9bb[_0x345801(0x208)]});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2ab)]('/api/explorer/info',async(_0x3ca49c,_0x554413)=>{const _0x1b64e2=_0x14f01c;try{const {path:_0xfcff58}=_0x3ca49c[_0x1b64e2(0x22e)],_0x16dad9=a0_0x1c1d31['resolve'](_0xfcff58),_0x53fc1e=await a0_0x572a7b['stat'](_0x16dad9);_0x554413['json']({'success':!![],'path':_0x16dad9,'relativePath':a0_0x1c1d31[_0x1b64e2(0x2e7)](process[_0x1b64e2(0x277)](),_0x16dad9),'isDirectory':_0x53fc1e[_0x1b64e2(0x26c)](),'isFile':_0x53fc1e[_0x1b64e2(0x1eb)](),'size':_0x53fc1e[_0x1b64e2(0x2ce)],'created':_0x53fc1e[_0x1b64e2(0x200)],'modified':_0x53fc1e['mtime'],'accessed':_0x53fc1e[_0x1b64e2(0x2df)]});}catch(_0x2bb9ce){_0x554413['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x2bb9ce['message'],'code':_0x2bb9ce[_0x1b64e2(0x208)]});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2e4)]('/api/llm/chat',async(_0xf6aaa,_0x196096)=>{const _0x4621f2=_0x14f01c;try{const {sessionId:_0x252e01,model:_0x44a813,platformProvided:_0x39500b}=_0xf6aaa[_0x4621f2(0x237)];if(!_0x252e01)return _0x196096[_0x4621f2(0x2ac)](0x190)[_0x4621f2(0x2f2)]({'error':'Session\x20ID\x20is\x20required'});let _0x47122b=null,_0x508be5=null;if(this[_0x4621f2(0x279)]){const _0x485f42=this[_0x4621f2(0x279)]['getKeysForRequest'](_0x252e01,{'platformProvided':_0x39500b||![],'vendor':this[_0x4621f2(0x29e)](_0x44a813)});_0x47122b=_0x485f42['loxiaApiKey'],_0x508be5=_0x485f42['vendorApiKey'];}!_0x47122b&&(_0x47122b=this['config'][_0x4621f2(0x209)]||process['env']['LOXIA_API_KEY']);!_0x47122b&&_0xf6aaa['body'][_0x4621f2(0x2f1)]&&(_0x47122b=_0xf6aaa[_0x4621f2(0x237)]['apiKey']);if(!_0x47122b)return this[_0x4621f2(0x269)][_0x4621f2(0x213)]('No\x20API\x20key\x20available\x20for\x20chat\x20request',{'sessionId':_0x252e01,'model':_0x44a813,'platformProvided':_0x39500b,'hasSessionManager':!!this[_0x4621f2(0x279)]}),_0x196096['status'](0x191)['json']({'error':'No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.'});const _0x520fd9='https://autopilot-api.azurewebsites.net/llm/chat',_0x12d7f2={..._0xf6aaa[_0x4621f2(0x237)],'apiKey':_0x47122b,..._0x508be5&&{'vendorApiKey':_0x508be5}},_0x591177={'method':'POST','headers':{'Content-Type':_0x4621f2(0x2e5),'Authorization':'Bearer\x20'+_0x47122b},'body':JSON['stringify'](_0x12d7f2)};this['logger']['info'](_0x4621f2(0x24a),{'url':_0x520fd9,'model':_0xf6aaa[_0x4621f2(0x237)][_0x4621f2(0x24e)],'hasApiKey':!!_0x47122b});const _0x388359=await fetch(_0x520fd9,_0x591177);if(_0x388359['ok']){const _0x1c178d=await _0x388359[_0x4621f2(0x2f2)]();this[_0x4621f2(0x269)][_0x4621f2(0x244)]('Successfully received response from Azure backend',{'model':_0x1c178d['model'],'contentLength':_0x1c178d['content']?.[_0x4621f2(0x296)]||0x0}),_0x196096['json'](_0x1c178d);}else{const _0x18e77e=await _0x388359['text']();this['logger'][_0x4621f2(0x213)](_0x4621f2(0x1f1),{'status':_0x388359[_0x4621f2(0x2ac)],'statusText':_0x388359['statusText'],'error':_0x18e77e}),_0x196096['status'](_0x388359[_0x4621f2(0x2ac)])['json']({'error':_0x4621f2(0x1f7)+_0x388359['status']+'\x20'+_0x388359[_0x4621f2(0x287)],'details':_0x18e77e});}}catch(_0x5c5ee1){this['logger']['error'](_0x4621f2(0x20a),{'error':_0x5c5ee1['message'],'stack':_0x5c5ee1['stack']}),_0x196096[_0x4621f2(0x2ac)](0x1f4)[_0x4621f2(0x2f2)]({'error':_0x4621f2(0x274),'details':_0x5c5ee1[_0x4621f2(0x1fc)]});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2ab)](_0x14f01c(0x210),async(_0x20cd64,_0x5e76d7)=>{const _0x640cb=_0x14f01c;try{const _0x260254=_0x20cd64['headers']['authorization'];let _0x338685=null;_0x260254&&_0x260254[_0x640cb(0x262)](_0x640cb(0x2e2))&&(_0x338685=_0x260254[_0x640cb(0x2e8)](0x7));!_0x338685&&(_0x338685=this['config']['loxiaApiKey']||process[_0x640cb(0x22c)]['LOXIA_API_KEY']);const _0x229712='https://autopilot-api.azurewebsites.net/llm/models',_0x924dd4={'method':_0x640cb(0x275),'headers':{'Content-Type':'application/json',..._0x338685&&{'Authorization':'Bearer\x20'+_0x338685}}};this['logger'][_0x640cb(0x244)]('Fetching models from Loxia Azure backend',{'url':_0x229712,'hasApiKey':!!_0x338685});const _0x449233=await fetch(_0x229712,_0x924dd4);if(_0x449233['ok']){const _0x127fa6=await _0x449233[_0x640cb(0x2f2)]();this['logger']['info']('Successfully fetched models from Azure backend',{'modelCount':_0x127fa6['models']?.['length']||0x0}),_0x5e76d7[_0x640cb(0x2f2)](_0x127fa6);}else{const _0x385521=await _0x449233[_0x640cb(0x2d7)]();this['logger']['error']('Azure\x20backend\x20request\x20failed\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'status':_0x449233['status'],'statusText':_0x449233['statusText'],'error':_0x385521}),_0x5e76d7['status'](_0x449233[_0x640cb(0x2ac)])[_0x640cb(0x2f2)]({'success':![],'error':_0x640cb(0x253)+_0x449233['status']+'\x20'+_0x449233[_0x640cb(0x287)],'details':_0x385521});}}catch(_0x3be654){this[_0x640cb(0x269)][_0x640cb(0x2d0)]('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x3be654['message'],'stack':_0x3be654[_0x640cb(0x2e6)]}),_0x5e76d7[_0x640cb(0x2ac)](0x1f4)[_0x640cb(0x2f2)]({'success':![],'error':'Failed to fetch models from backend','details':_0x3be654[_0x640cb(0x1fc)]});}}),this['app']['get'](_0x14f01c(0x2c4),async(_0x45a509,_0x22f016)=>{const _0x505066=_0x14f01c;try{const _0x39749c=this[_0x505066(0x278)];if(!_0x39749c)return _0x22f016[_0x505066(0x2ac)](0x1f4)[_0x505066(0x2f2)]({'error':'Tools\x20registry\x20not\x20available'});const _0x28dbe=_0x39749c['getAvailableToolsForUI']();this[_0x505066(0x269)]['info']('Serving\x20tools\x20information',{'toolCount':_0x28dbe['length'],'tools':_0x28dbe['map'](_0x2e854a=>({'id':_0x2e854a['id'],'name':_0x2e854a[_0x505066(0x206)],'category':_0x2e854a['category']}))}),_0x22f016[_0x505066(0x2f2)]({'success':!![],'tools':_0x28dbe,'total':_0x28dbe[_0x505066(0x296)]});}catch(_0x3835c9){this['logger']['error'](_0x505066(0x228),{'error':_0x3835c9['message'],'stack':_0x3835c9['stack']}),_0x22f016['status'](0x1f4)[_0x505066(0x2f2)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x3835c9[_0x505066(0x1fc)]});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2e4)]('/api/keys',async(_0x2548ea,_0x4f960d)=>{const _0x3628de=_0x14f01c;try{const {sessionId:_0x484326,loxiaApiKey:_0x41eb9f,vendorKeys:_0x44304d}=_0x2548ea[_0x3628de(0x237)];if(!_0x484326)return _0x4f960d['status'](0x190)[_0x3628de(0x2f2)]({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this[_0x3628de(0x279)])return _0x4f960d['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this['apiKeyManager']['setSessionKeys'](_0x484326,{'loxiaApiKey':_0x41eb9f,'vendorKeys':_0x44304d||{}}),this[_0x3628de(0x269)][_0x3628de(0x244)](_0x3628de(0x27d),{'sessionId':_0x484326,'hasLoxiaKey':!!_0x41eb9f,'vendorKeys':Object[_0x3628de(0x29b)](_0x44304d||{})});if(this['orchestrator']&&this[_0x3628de(0x212)]['modelsService']&&_0x41eb9f)try{await this['orchestrator']['modelsService'][_0x3628de(0x266)]({'sessionId':_0x484326,'apiKey':_0x41eb9f}),this['logger'][_0x3628de(0x244)](_0x3628de(0x284),{'sessionId':_0x484326});}catch(_0x24a921){this['logger'][_0x3628de(0x213)](_0x3628de(0x251),{'error':_0x24a921[_0x3628de(0x1fc)],'sessionId':_0x484326});}_0x4f960d[_0x3628de(0x2f2)]({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x484326,'hasLoxiaKey':!!_0x41eb9f,'vendorKeys':Object['keys'](_0x44304d||{})});}catch(_0xea5de4){this['logger']['error'](_0x3628de(0x292),{'error':_0xea5de4['message'],'sessionId':_0x2548ea['body']['sessionId']}),_0x4f960d['status'](0x1f4)[_0x3628de(0x2f2)]({'success':![],'error':_0xea5de4['message']});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2ab)](_0x14f01c(0x232),async(_0x121a3f,_0x50dfbe)=>{const _0x92c2f1=_0x14f01c;try{const {sessionId:_0x4db642}=_0x121a3f[_0x92c2f1(0x28d)];if(!this[_0x92c2f1(0x279)])return _0x50dfbe[_0x92c2f1(0x2ac)](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0xe33c78=this['apiKeyManager'][_0x92c2f1(0x242)](_0x4db642);_0x50dfbe[_0x92c2f1(0x2f2)]({'success':!![],'sessionId':_0x4db642,'hasLoxiaKey':!!_0xe33c78[_0x92c2f1(0x209)],'vendorKeys':Object[_0x92c2f1(0x29b)](_0xe33c78['vendorKeys']||{}),'updatedAt':_0xe33c78['updatedAt']});}catch(_0x1b4a43){this['logger']['error']('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x1b4a43[_0x92c2f1(0x1fc)],'sessionId':_0x121a3f[_0x92c2f1(0x28d)][_0x92c2f1(0x225)]}),_0x50dfbe[_0x92c2f1(0x2ac)](0x1f4)[_0x92c2f1(0x2f2)]({'success':![],'error':_0x1b4a43['message']});}}),this['app']['delete']('/api/keys/:sessionId',async(_0xa3e8a3,_0x5a3a4d)=>{const _0x32b17b=_0x14f01c;try{const {sessionId:_0x5befbd}=_0xa3e8a3['params'];if(!this['apiKeyManager'])return _0x5a3a4d['status'](0x1f4)['json']({'success':![],'error':_0x32b17b(0x1ff)});const _0x52595a=this[_0x32b17b(0x279)][_0x32b17b(0x2b6)](_0x5befbd);_0x5a3a4d[_0x32b17b(0x2f2)]({'success':!![],'removed':_0x52595a,'message':_0x52595a?_0x32b17b(0x2cd):'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x2d7d4b){this[_0x32b17b(0x269)]['error']('Failed\x20to\x20remove\x20API\x20keys',{'error':_0x2d7d4b[_0x32b17b(0x1fc)],'sessionId':_0xa3e8a3[_0x32b17b(0x28d)]['sessionId']}),_0x5a3a4d['status'](0x1f4)[_0x32b17b(0x2f2)]({'success':![],'error':_0x2d7d4b[_0x32b17b(0x1fc)]});}}),this[_0x14f01c(0x1fb)]['get']('/api/keys',async(_0x59a8cc,_0x1d1416)=>{const _0x5b65b3=_0x14f01c;try{if(!this[_0x5b65b3(0x279)])return _0x1d1416['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x48dbd3=this[_0x5b65b3(0x279)][_0x5b65b3(0x2a9)]();_0x1d1416[_0x5b65b3(0x2f2)]({'success':!![],'sessions':_0x48dbd3,'total':_0x48dbd3['length']});}catch(_0x1d147f){this['logger']['error'](_0x5b65b3(0x2ae),{'error':_0x1d147f[_0x5b65b3(0x1fc)]}),_0x1d1416['status'](0x1f4)[_0x5b65b3(0x2f2)]({'success':![],'error':_0x1d147f[_0x5b65b3(0x1fc)]});}}),this['app']['post'](_0x14f01c(0x2b4),async(_0x516c53,_0x455514)=>{const _0x3b5827=_0x14f01c;try{const {agentId:_0x31d90b}=_0x516c53['params'],{filePath:_0x142054,mode:_0x38927f,fileName:_0x1cdf51}=_0x516c53['body'];if(!this[_0x3b5827(0x212)]?.['fileAttachmentService'])return _0x455514['status'](0x1f4)[_0x3b5827(0x2f2)]({'success':![],'error':_0x3b5827(0x23f)});const _0x5a4a6b=await this[_0x3b5827(0x212)]['fileAttachmentService']['uploadFile']({'agentId':_0x31d90b,'filePath':_0x142054,'mode':_0x38927f||_0x3b5827(0x268),'fileName':_0x1cdf51});this['logger']['info']('File\x20attachment\x20uploaded',{'agentId':_0x31d90b,'fileId':_0x5a4a6b['fileId'],'fileName':_0x5a4a6b['fileName']}),_0x455514[_0x3b5827(0x2f2)]({'success':!![],'attachment':_0x5a4a6b});}catch(_0x44a975){this[_0x3b5827(0x269)]['error'](_0x3b5827(0x240),{'agentId':_0x516c53['params'][_0x3b5827(0x1ee)],'error':_0x44a975[_0x3b5827(0x1fc)]}),_0x455514[_0x3b5827(0x2ac)](0x1f4)[_0x3b5827(0x2f2)]({'success':![],'error':_0x44a975['message']});}}),this[_0x14f01c(0x1fb)]['get']('/api/agents/:agentId/attachments',async(_0xcbf243,_0x26ec10)=>{const _0x53fce6=_0x14f01c;try{const {agentId:_0x363217}=_0xcbf243['params'],{mode:_0x1d1925,active:_0x1fe958}=_0xcbf243['query'];if(!this[_0x53fce6(0x212)]?.[_0x53fce6(0x1e8)])return _0x26ec10[_0x53fce6(0x2ac)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x2d562a={};if(_0x1d1925)_0x2d562a[_0x53fce6(0x1f6)]=_0x1d1925;if(_0x1fe958!==undefined)_0x2d562a[_0x53fce6(0x23a)]=_0x1fe958===_0x53fce6(0x227);const _0x1e5228=await this['orchestrator'][_0x53fce6(0x1e8)][_0x53fce6(0x283)](_0x363217,_0x2d562a);_0x26ec10[_0x53fce6(0x2f2)]({'success':!![],'attachments':_0x1e5228,'total':_0x1e5228[_0x53fce6(0x296)]});}catch(_0x1abe56){this[_0x53fce6(0x269)]['error']('Failed\x20to\x20get\x20attachments',{'agentId':_0xcbf243['params'][_0x53fce6(0x1ee)],'error':_0x1abe56[_0x53fce6(0x1fc)]}),_0x26ec10[_0x53fce6(0x2ac)](0x1f4)['json']({'success':![],'error':_0x1abe56['message']});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2ab)](_0x14f01c(0x27f),async(_0x2a8ba8,_0x265617)=>{const _0x464486=_0x14f01c;try{const {fileId:_0x2ac05c}=_0x2a8ba8[_0x464486(0x28d)];if(!this[_0x464486(0x212)]?.[_0x464486(0x1e8)])return _0x265617[_0x464486(0x2ac)](0x1f4)[_0x464486(0x2f2)]({'success':![],'error':_0x464486(0x23f)});const _0x38e7a=await this['orchestrator'][_0x464486(0x1e8)]['getAttachment'](_0x2ac05c);if(!_0x38e7a)return _0x265617[_0x464486(0x2ac)](0x194)['json']({'success':![],'error':'Attachment\x20not\x20found'});_0x265617['json']({'success':!![],'attachment':_0x38e7a});}catch(_0x243341){this[_0x464486(0x269)][_0x464486(0x2d0)](_0x464486(0x2a2),{'fileId':_0x2a8ba8[_0x464486(0x28d)][_0x464486(0x230)],'error':_0x243341['message']}),_0x265617['status'](0x1f4)['json']({'success':![],'error':_0x243341['message']});}}),this['app']['patch']('/api/attachments/:fileId/toggle',async(_0x4430a0,_0x20dc7a)=>{const _0x5b9dd9=_0x14f01c;try{const {fileId:_0x5ef553}=_0x4430a0[_0x5b9dd9(0x28d)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x20dc7a[_0x5b9dd9(0x2ac)](0x1f4)[_0x5b9dd9(0x2f2)]({'success':![],'error':_0x5b9dd9(0x23f)});const _0x5dd887=await this[_0x5b9dd9(0x212)]['fileAttachmentService'][_0x5b9dd9(0x2ee)](_0x5ef553);this[_0x5b9dd9(0x269)][_0x5b9dd9(0x244)](_0x5b9dd9(0x1f9),{'fileId':_0x5ef553,'active':_0x5dd887['active']}),_0x20dc7a[_0x5b9dd9(0x2f2)]({'success':!![],'attachment':_0x5dd887});}catch(_0x1f510a){this[_0x5b9dd9(0x269)]['error']('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x4430a0[_0x5b9dd9(0x28d)]['fileId'],'error':_0x1f510a[_0x5b9dd9(0x1fc)]}),_0x20dc7a['status'](0x1f4)['json']({'success':![],'error':_0x1f510a[_0x5b9dd9(0x1fc)]});}}),this['app']['patch']('/api/attachments/:fileId',async(_0x3e19bb,_0x2aef8f)=>{const _0x1ebe7a=_0x14f01c;try{const {fileId:_0x4a23c4}=_0x3e19bb['params'],{mode:_0x580c5e,active:_0x31db65}=_0x3e19bb['body'];if(!this['orchestrator']?.[_0x1ebe7a(0x1e8)])return _0x2aef8f[_0x1ebe7a(0x2ac)](0x1f4)[_0x1ebe7a(0x2f2)]({'success':![],'error':_0x1ebe7a(0x23f)});const _0x1d1c4d={};if(_0x580c5e!==undefined)_0x1d1c4d['mode']=_0x580c5e;if(_0x31db65!==undefined)_0x1d1c4d[_0x1ebe7a(0x23a)]=_0x31db65;const _0x2c6f2d=await this[_0x1ebe7a(0x212)][_0x1ebe7a(0x1e8)][_0x1ebe7a(0x27e)](_0x4a23c4,_0x1d1c4d);this['logger'][_0x1ebe7a(0x244)](_0x1ebe7a(0x233),{'fileId':_0x4a23c4,'updates':_0x1d1c4d}),_0x2aef8f['json']({'success':!![],'attachment':_0x2c6f2d});}catch(_0x3fa003){this['logger']['error']('Failed\x20to\x20update\x20attachment',{'fileId':_0x3e19bb[_0x1ebe7a(0x28d)]['fileId'],'error':_0x3fa003['message']}),_0x2aef8f['status'](0x1f4)[_0x1ebe7a(0x2f2)]({'success':![],'error':_0x3fa003[_0x1ebe7a(0x1fc)]});}}),this['app']['delete'](_0x14f01c(0x27f),async(_0x17c20d,_0x282193)=>{const _0xb0e343=_0x14f01c;try{const {fileId:_0x10c5cc}=_0x17c20d[_0xb0e343(0x28d)],{agentId:_0x3b7ed2}=_0x17c20d['query'];if(!_0x3b7ed2)return _0x282193[_0xb0e343(0x2ac)](0x190)[_0xb0e343(0x2f2)]({'success':![],'error':_0xb0e343(0x291)});if(!this[_0xb0e343(0x212)]?.['fileAttachmentService'])return _0x282193['status'](0x1f4)['json']({'success':![],'error':_0xb0e343(0x23f)});const _0x154f66=await this['orchestrator']['fileAttachmentService'][_0xb0e343(0x241)](_0x10c5cc,_0x3b7ed2);this[_0xb0e343(0x269)][_0xb0e343(0x244)](_0xb0e343(0x24f),{'fileId':_0x10c5cc,'agentId':_0x3b7ed2,'physicallyDeleted':_0x154f66['physicallyDeleted']}),_0x282193[_0xb0e343(0x2f2)]({'success':!![],'message':_0x154f66[_0xb0e343(0x261)]?_0xb0e343(0x24f):'Reference\x20removed','physicallyDeleted':_0x154f66[_0xb0e343(0x261)]});}catch(_0x3d3ee3){this[_0xb0e343(0x269)]['error'](_0xb0e343(0x235),{'fileId':_0x17c20d['params']['fileId'],'error':_0x3d3ee3[_0xb0e343(0x1fc)]}),_0x282193[_0xb0e343(0x2ac)](0x1f4)[_0xb0e343(0x2f2)]({'success':![],'error':_0x3d3ee3[_0xb0e343(0x1fc)]});}}),this['app'][_0x14f01c(0x2e4)]('/api/attachments/:fileId/import',async(_0x16fc12,_0xde4c4d)=>{const _0x27d8b2=_0x14f01c;try{const {fileId:_0x30101c}=_0x16fc12[_0x27d8b2(0x28d)],{targetAgentId:_0x322d2a}=_0x16fc12[_0x27d8b2(0x237)];if(!_0x322d2a)return _0xde4c4d[_0x27d8b2(0x2ac)](0x190)['json']({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this['orchestrator']?.[_0x27d8b2(0x1e8)])return _0xde4c4d['status'](0x1f4)[_0x27d8b2(0x2f2)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x5d13de=await this[_0x27d8b2(0x212)][_0x27d8b2(0x1e8)][_0x27d8b2(0x2a1)](_0x30101c,_0x322d2a);this['logger'][_0x27d8b2(0x244)]('Attachment imported',{'fileId':_0x30101c,'targetAgentId':_0x322d2a}),_0xde4c4d['json']({'success':!![],'attachment':_0x5d13de});}catch(_0x5cfeda){this['logger'][_0x27d8b2(0x2d0)]('Failed to import attachment',{'fileId':_0x16fc12[_0x27d8b2(0x28d)]['fileId'],'error':_0x5cfeda['message']}),_0xde4c4d['status'](0x1f4)['json']({'success':![],'error':_0x5cfeda['message']});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2ab)](_0x14f01c(0x299),async(_0x40f9c2,_0x2c4e73)=>{const _0x342a83=_0x14f01c;try{const {fileId:_0x3a5925}=_0x40f9c2['params'];if(!this[_0x342a83(0x212)]?.['fileAttachmentService'])return _0x2c4e73['status'](0x1f4)['json']({'success':![],'error':_0x342a83(0x23f)});const _0x426154=await this['orchestrator'][_0x342a83(0x1e8)]['getAttachmentPreview'](_0x3a5925);if(!_0x426154)return _0x2c4e73['status'](0x194)['json']({'success':![],'error':'Attachment\x20not\x20found'});_0x2c4e73[_0x342a83(0x2f2)]({'success':!![],'preview':_0x426154});}catch(_0x1ec579){this[_0x342a83(0x269)]['error']('Failed\x20to\x20get\x20attachment\x20preview',{'fileId':_0x40f9c2[_0x342a83(0x28d)][_0x342a83(0x230)],'error':_0x1ec579[_0x342a83(0x1fc)]}),_0x2c4e73[_0x342a83(0x2ac)](0x1f4)['json']({'success':![],'error':_0x1ec579[_0x342a83(0x1fc)]});}}),this[_0x14f01c(0x1fb)]['get'](_0x14f01c(0x276),async(_0x46fd7c,_0x5a7815)=>{const _0x52e997=_0x14f01c;try{const {sessionId:_0x4f4d59,filename:_0x1af945}=_0x46fd7c['params'],_0xc8c2e6=this['sessions'][_0x52e997(0x2ab)](_0x4f4d59);if(!_0xc8c2e6)return _0x5a7815[_0x52e997(0x2ac)](HTTP_STATUS['FORBIDDEN'])[_0x52e997(0x2f2)]({'success':![],'error':_0x52e997(0x264)});const _0x54a588=a0_0x1c1d31['basename'](_0x1af945);if(_0x54a588!==_0x1af945||_0x1af945['includes']('..')||_0x1af945[_0x52e997(0x257)]('/')||_0x1af945[_0x52e997(0x257)]('\x5c'))return _0x5a7815[_0x52e997(0x2ac)](HTTP_STATUS['BAD_REQUEST'])[_0x52e997(0x2f2)]({'success':![],'error':'Invalid\x20filename'});let _0x1196cd=null;const _0x25e466=[a0_0x1c1d31['join'](_0xc8c2e6['projectDir']||process['cwd'](),'images',_0x54a588),a0_0x1c1d31['join'](_0x52e997(0x2b1),_0x4f4d59,_0x54a588),a0_0x1c1d31[_0x52e997(0x256)]('/tmp/loxia-images',_0x54a588)];if(this[_0x52e997(0x212)]?.[_0x52e997(0x2b5)])try{const _0x7755ae=await this['orchestrator']['agentPool']['getAllAgents']();for(const _0x4b00e9 of _0x7755ae){_0x4b00e9[_0x52e997(0x202)]?.[_0x52e997(0x223)]&&_0x25e466[_0x52e997(0x28e)](a0_0x1c1d31[_0x52e997(0x256)](_0x4b00e9[_0x52e997(0x202)][_0x52e997(0x223)],_0x52e997(0x258),_0x54a588));}}catch(_0x17b230){this['logger']['warn']('Failed\x20to\x20get\x20agent\x20working\x20directories\x20for\x20image\x20search',{'error':_0x17b230['message']});}for(const _0x2ddb9b of _0x25e466){try{const _0x4da9=await a0_0x572a7b[_0x52e997(0x222)](_0x2ddb9b);if(_0x4da9['isFile']()){_0x1196cd=_0x2ddb9b,this[_0x52e997(0x269)][_0x52e997(0x244)]('Image\x20found',{'filename':_0x54a588,'path':_0x1196cd,'sessionId':_0x4f4d59});break;}}catch(_0x3b3d7c){continue;}}if(!_0x1196cd)return this[_0x52e997(0x269)]['warn'](_0x52e997(0x2bd),{'filename':_0x54a588,'sessionId':_0x4f4d59,'searchPaths':_0x25e466}),_0x5a7815[_0x52e997(0x2ac)](HTTP_STATUS['NOT_FOUND'])[_0x52e997(0x2f2)]({'success':![],'error':'Image\x20not\x20found'});_0x5a7815['sendFile'](_0x1196cd,_0x1ddae0=>{const _0x332753=_0x52e997;_0x1ddae0?(this['logger'][_0x332753(0x2d0)]('Failed\x20to\x20send\x20image\x20file',{'error':_0x1ddae0[_0x332753(0x1fc)],'imagePath':_0x1196cd,'filename':_0x54a588}),!_0x5a7815['headersSent']&&_0x5a7815['status'](HTTP_STATUS[_0x332753(0x295)])['json']({'success':![],'error':_0x332753(0x2a5)})):this['logger']['info'](_0x332753(0x26f),{'filename':_0x54a588,'path':_0x1196cd,'sessionId':_0x4f4d59});});}catch(_0x2cb839){this['logger'][_0x52e997(0x2d0)](_0x52e997(0x2d6),{'error':_0x2cb839['message'],'sessionId':_0x46fd7c['params'][_0x52e997(0x225)],'filename':_0x46fd7c['params'][_0x52e997(0x2a7)]}),_0x5a7815[_0x52e997(0x2ac)](HTTP_STATUS[_0x52e997(0x295)])[_0x52e997(0x2f2)]({'success':![],'error':_0x2cb839[_0x52e997(0x1fc)]});}}),this['app'][_0x14f01c(0x2e4)](_0x14f01c(0x2c1),async(_0x456bbe,_0x11ecfa)=>{const _0x2afebc=_0x14f01c;try{const {agentId:_0xd5d4}=_0x456bbe['params'],{mode:_0x5dc7a9,lockMode:lockMode=![],sessionId:_0x56b820}=_0x456bbe['body'];if(!Object[_0x2afebc(0x298)](AGENT_MODES)[_0x2afebc(0x257)](_0x5dc7a9))return _0x11ecfa['status'](0x190)['json']({'success':![],'error':_0x2afebc(0x25a)+Object[_0x2afebc(0x298)](AGENT_MODES)[_0x2afebc(0x256)](',\x20')});const _0x2dceab=_0x56b820||_0x456bbe['sessionID'];!_0x2dceab&&this[_0x2afebc(0x269)]['warn'](_0x2afebc(0x21c),{'agentId':_0xd5d4,'hasBodySessionId':!!_0x56b820,'hasReqSessionId':!!_0x456bbe['sessionID']});const _0x4436fb={'interface':INTERFACE_TYPES[_0x2afebc(0x282)],'sessionId':_0x2dceab,'action':_0x2afebc(0x245),'payload':{'agentId':_0xd5d4,'updates':{'mode':_0x5dc7a9}}},_0x293cca=await this[_0x2afebc(0x212)][_0x2afebc(0x246)](_0x4436fb);if(_0x293cca['success']){const _0x1868a3=_0x293cca[_0x2afebc(0x2de)];this['logger']['info'](_0x2afebc(0x231)+_0xd5d4,{'newMode':_0x5dc7a9,'lockMode':lockMode,'finalMode':_0x1868a3?.[_0x2afebc(0x1f6)]}),this[_0x2afebc(0x1ef)](_0x4436fb[_0x2afebc(0x225)],{'type':'agent_mode_changed','agentId':_0xd5d4,'mode':_0x1868a3?.[_0x2afebc(0x1f6)],'modeState':_0x1868a3?.['modeState']}),_0x11ecfa[_0x2afebc(0x2f2)]({'success':!![],'agent':_0x1868a3,'message':'Agent\x20mode\x20switched\x20to\x20'+_0x1868a3?.[_0x2afebc(0x1f6)]});}else _0x11ecfa['status'](0x190)['json']({'success':![],'error':_0x293cca['error']||_0x2afebc(0x23c)});}catch(_0x30f27f){this['logger']['error'](_0x2afebc(0x23c),{'agentId':_0x456bbe[_0x2afebc(0x28d)]['agentId'],'error':_0x30f27f['message']}),_0x11ecfa[_0x2afebc(0x2ac)](0x1f4)[_0x2afebc(0x2f2)]({'success':![],'error':_0x30f27f[_0x2afebc(0x1fc)]});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2e4)](_0x14f01c(0x20f),async(_0x1e03f5,_0x7be71a)=>{const _0xcc0d7f=_0x14f01c;try{const {agentId:_0x365297}=_0x1e03f5['params'],_0x35c5b6=this[_0xcc0d7f(0x212)][_0xcc0d7f(0x21a)];if(!_0x35c5b6)return _0x7be71a[_0xcc0d7f(0x2ac)](0x1f4)['json']({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x5cb05d=await _0x35c5b6[_0xcc0d7f(0x290)](_0x365297);this[_0xcc0d7f(0x269)]['info'](_0xcc0d7f(0x29c)+_0x365297);const _0x211d09=_0x1e03f5['sessionID']||_0x5cb05d['agent']?.[_0xcc0d7f(0x225)];_0x211d09&&this[_0xcc0d7f(0x1ef)](_0x211d09,{'type':_0xcc0d7f(0x238),'agentId':_0x365297,'mode':_0x5cb05d[_0xcc0d7f(0x297)]?.[_0xcc0d7f(0x1f6)],'modeState':_0x5cb05d[_0xcc0d7f(0x297)]?.['modeState']}),_0x7be71a[_0xcc0d7f(0x2f2)](_0x5cb05d);}catch(_0x30e580){this[_0xcc0d7f(0x269)][_0xcc0d7f(0x2d0)]('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x1e03f5[_0xcc0d7f(0x28d)]['agentId'],'error':_0x30e580['message']}),_0x7be71a[_0xcc0d7f(0x2ac)](0x1f4)['json']({'success':![],'error':_0x30e580[_0xcc0d7f(0x1fc)]});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2ab)]('/api/agents/:agentId/mode',async(_0x1ee46b,_0x221356)=>{const _0x226fec=_0x14f01c;try{const {agentId:_0x47db90}=_0x1ee46b[_0x226fec(0x28d)],_0x5d79ee={'interface':INTERFACE_TYPES[_0x226fec(0x282)],'sessionId':_0x1ee46b[_0x226fec(0x216)],'action':'get_agent_status','payload':{'agentId':_0x47db90}},_0x1448f6=await this[_0x226fec(0x212)][_0x226fec(0x246)](_0x5d79ee);_0x1448f6[_0x226fec(0x2eb)]&&_0x1448f6['agent']?_0x221356['json']({'success':!![],'mode':_0x1448f6['agent']['mode'],'modeState':_0x1448f6['agent'][_0x226fec(0x2ea)],'currentTask':_0x1448f6[_0x226fec(0x297)][_0x226fec(0x2da)],'iterationCount':_0x1448f6[_0x226fec(0x297)][_0x226fec(0x288)],'taskStartTime':_0x1448f6['agent'][_0x226fec(0x271)],'stopRequested':_0x1448f6['agent']['stopRequested']}):_0x221356['status'](0x194)['json']({'success':![],'error':_0x226fec(0x1f3)});}catch(_0x455867){this['logger'][_0x226fec(0x2d0)](_0x226fec(0x2ba),{'agentId':_0x1ee46b['params']['agentId'],'error':_0x455867[_0x226fec(0x1fc)]}),_0x221356['status'](0x1f4)[_0x226fec(0x2f2)]({'success':![],'error':_0x455867['message']});}}),this['app'][_0x14f01c(0x2ab)]('/api/agents/available',async(_0xba7406,_0x5e3937)=>{const _0x22b3ff=_0x14f01c;try{const _0x26f269=this[_0x22b3ff(0x212)]['config']['project']?.[_0x22b3ff(0x1f2)]||process[_0x22b3ff(0x277)](),_0x225869=await this[_0x22b3ff(0x212)][_0x22b3ff(0x2c8)]['getAllAvailableAgents'](_0x26f269,this[_0x22b3ff(0x212)]['agentPool']);_0x5e3937['json']({'success':!![],'agents':_0x225869,'total':_0x225869['length'],'active':_0x225869[_0x22b3ff(0x285)](_0x3a0220=>_0x3a0220['isLoaded'])[_0x22b3ff(0x296)],'archived':_0x225869['filter'](_0x53af32=>!_0x53af32['isLoaded'])[_0x22b3ff(0x296)]});}catch(_0x37e53f){this[_0x22b3ff(0x269)][_0x22b3ff(0x2d0)](_0x22b3ff(0x29f),{'error':_0x37e53f[_0x22b3ff(0x1fc)],'stack':_0x37e53f[_0x22b3ff(0x2e6)]}),_0x5e3937[_0x22b3ff(0x2ac)](0x1f4)[_0x22b3ff(0x2f2)]({'success':![],'error':_0x37e53f[_0x22b3ff(0x1fc)]});}}),this['app']['get']('/api/agents/:agentId/metadata',async(_0xc44549,_0xb99f4)=>{const _0x23dbc3=_0x14f01c;try{const {agentId:_0x398c29}=_0xc44549[_0x23dbc3(0x28d)],_0x54a5b3=this['orchestrator']['config']['project']?.[_0x23dbc3(0x1f2)]||process['cwd'](),_0x15600e=await this[_0x23dbc3(0x212)][_0x23dbc3(0x2c8)]['getAgentMetadata'](_0x398c29,_0x54a5b3);_0xb99f4['json']({'success':!![],'metadata':_0x15600e});}catch(_0xa3926f){this['logger'][_0x23dbc3(0x2d0)]('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0xc44549[_0x23dbc3(0x28d)]['agentId'],'error':_0xa3926f[_0x23dbc3(0x1fc)]}),_0xb99f4[_0x23dbc3(0x2ac)](0x194)[_0x23dbc3(0x2f2)]({'success':![],'error':_0xa3926f[_0x23dbc3(0x1fc)]});}}),this[_0x14f01c(0x1fb)]['post']('/api/agents/import',async(_0x135f8c,_0x36c635)=>{const _0x35a6e5=_0x14f01c;try{const {agentId:_0x23e1df}=_0x135f8c[_0x35a6e5(0x237)];if(!_0x23e1df)return _0x36c635[_0x35a6e5(0x2ac)](0x190)['json']({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0x54318f=this[_0x35a6e5(0x212)]['config']['project']?.[_0x35a6e5(0x1f2)]||process[_0x35a6e5(0x277)](),_0x557e21=await this[_0x35a6e5(0x212)][_0x35a6e5(0x2c8)]['importArchivedAgent'](_0x23e1df,_0x54318f,this['orchestrator'][_0x35a6e5(0x2b5)]);this[_0x35a6e5(0x21f)]&&this['wsManager']['broadcast']({'type':'agent-imported','agent':{'id':_0x557e21['id'],'name':_0x557e21['name'],'status':_0x557e21['status'],'capabilities':_0x557e21[_0x35a6e5(0x2d8)],'model':_0x557e21['currentModel']||_0x557e21[_0x35a6e5(0x2c9)]}}),this[_0x35a6e5(0x269)][_0x35a6e5(0x244)]('Agent imported successfully',{'agentId':_0x557e21['id'],'name':_0x557e21[_0x35a6e5(0x206)]}),_0x36c635['json']({'success':!![],'agent':{'id':_0x557e21['id'],'name':_0x557e21[_0x35a6e5(0x206)],'status':_0x557e21['status'],'model':_0x557e21['currentModel']||_0x557e21[_0x35a6e5(0x2c9)],'capabilities':_0x557e21[_0x35a6e5(0x2d8)],'lastActivity':_0x557e21['lastActivity']},'message':_0x35a6e5(0x28a)+_0x557e21[_0x35a6e5(0x206)]+'\x20imported\x20successfully'});}catch(_0x22141a){this['logger'][_0x35a6e5(0x2d0)]('Failed to import agent',{'agentId':_0x135f8c[_0x35a6e5(0x237)][_0x35a6e5(0x1ee)],'error':_0x22141a['message'],'stack':_0x22141a[_0x35a6e5(0x2e6)]});const _0x25f9ef=_0x22141a[_0x35a6e5(0x1fc)]['includes'](_0x35a6e5(0x1fd))?0x199:_0x22141a[_0x35a6e5(0x1fc)][_0x35a6e5(0x257)](_0x35a6e5(0x1e9))?0x194:_0x22141a['message'][_0x35a6e5(0x257)](_0x35a6e5(0x2a0))?0x190:0x1f4;_0x36c635['status'](_0x25f9ef)[_0x35a6e5(0x2f2)]({'success':![],'error':_0x22141a['message']});}}),this[_0x14f01c(0x1fb)][_0x14f01c(0x2ab)]('*',(_0x2e4bcd,_0x502a2e)=>{const _0x5245dc=_0x14f01c,_0xb99f8=a0_0x1c1d31['join'](__dirname,'../../web-ui/build/index.html');_0x502a2e[_0x5245dc(0x26a)](_0xb99f8,_0x23d34d=>{const _0x36ce99=_0x5245dc;_0x23d34d&&_0x502a2e['status'](HTTP_STATUS['NOT_FOUND'])[_0x36ce99(0x2c7)]('Web\x20UI\x20not\x20built.\x20Run:\x20npm\x20run\x20build:ui');});});}[a0_0x309219(0x2b9)](){const _0x4c1381=a0_0x309219;this['logger']['info']('Setting\x20up\x20WebSocket\x20server',{'port':this['port'],'host':this[_0x4c1381(0x2be)],'wsServerExists':!!this['wss'],'httpServerExists':!!this[_0x4c1381(0x263)]}),this['wss']['on'](_0x4c1381(0x2d0),_0x2eaa43=>{const _0x500e86=_0x4c1381;this['logger']['error']('WebSocket\x20server\x20error:',{'error':_0x2eaa43[_0x500e86(0x1fc)],'stack':_0x2eaa43['stack'],'port':this['port']});}),this[_0x4c1381(0x1ec)]['on'](_0x4c1381(0x22f),()=>{const _0x209b95=_0x4c1381;this['logger'][_0x209b95(0x244)]('WebSocket\x20server\x20is\x20now\x20listening',{'port':this[_0x209b95(0x27c)],'host':this[_0x209b95(0x2be)]});}),this['wss']['on'](_0x4c1381(0x2af),(_0x36d205,_0x143a72)=>{const _0x4d5671=_0x4c1381,_0x526c51='conn-'+Date['now']()+'-'+Math[_0x4d5671(0x2dd)]()[_0x4d5671(0x20e)](0x24)['substr'](0x2,0x9);this['logger']['info'](_0x4d5671(0x2cf),{'connectionId':_0x526c51,'ip':_0x143a72[_0x4d5671(0x2e0)][_0x4d5671(0x2b3)],'origin':_0x143a72[_0x4d5671(0x2d9)]['origin'],'host':_0x143a72['headers'][_0x4d5671(0x2be)],'userAgent':_0x143a72[_0x4d5671(0x2d9)][_0x4d5671(0x229)],'url':_0x143a72['url']});const _0x5ee165={'id':_0x526c51,'ws':_0x36d205,'sessionId':null,'connectedAt':new Date()[_0x4d5671(0x270)](),'lastActivity':new Date()[_0x4d5671(0x270)]()};this['connections'][_0x4d5671(0x2d1)](_0x526c51,_0x5ee165),_0x36d205['on'](_0x4d5671(0x1fc),async _0x3d138c=>{const _0x4d77a5=_0x4d5671;try{const _0xff5acd=JSON[_0x4d77a5(0x234)](_0x3d138c[_0x4d77a5(0x20e)]());await this['handleWebSocketMessage'](_0x526c51,_0xff5acd);}catch(_0x3c448c){this[_0x4d77a5(0x269)][_0x4d77a5(0x2d0)](_0x4d77a5(0x272),{'connectionId':_0x526c51,'error':_0x3c448c[_0x4d77a5(0x1fc)]}),_0x36d205['send'](JSON[_0x4d77a5(0x259)]({'type':'error','error':_0x3c448c[_0x4d77a5(0x1fc)]}));}}),_0x36d205['on']('close',()=>{const _0x2f5e5e=_0x4d5671;this['logger'][_0x2f5e5e(0x244)](_0x2f5e5e(0x26d),{'connectionId':_0x526c51}),this[_0x2f5e5e(0x207)][_0x2f5e5e(0x250)](_0x526c51);}),_0x36d205['send'](JSON['stringify']({'type':'connected','connectionId':_0x526c51,'timestamp':new Date()[_0x4d5671(0x270)]()}));});}async['handleWebSocketMessage'](_0x304e30,_0x35cfa9){const _0x21e987=a0_0x309219,_0x5e7639=this[_0x21e987(0x207)][_0x21e987(0x2ab)](_0x304e30);if(!_0x5e7639)return;_0x5e7639[_0x21e987(0x2ec)]=new Date()[_0x21e987(0x270)]();switch(_0x35cfa9['type']){case'join_session':const _0xd44e10=_0x35cfa9[_0x21e987(0x225)];_0x5e7639['sessionId']=_0xd44e10,this[_0x21e987(0x269)]['info']('WebSocket\x20joined\x20session',{'connectionId':_0x304e30,'sessionId':_0xd44e10,'totalConnectionsForSession':Array[_0x21e987(0x1f0)](this['connections'][_0x21e987(0x298)]())['filter'](_0x2d0afa=>_0x2d0afa[_0x21e987(0x225)]===_0xd44e10)['length']}),_0x5e7639['ws'][_0x21e987(0x2c7)](JSON['stringify']({'type':_0x21e987(0x25b),'sessionId':_0xd44e10}));break;case'ping':_0x5e7639['ws'][_0x21e987(0x2c7)](JSON['stringify']({'type':_0x21e987(0x248),'timestamp':new Date()['toISOString']()}));break;case'orchestrator_request':try{const _0x37633c={'interface':INTERFACE_TYPES[_0x21e987(0x282)],'sessionId':_0x5e7639['sessionId'],'action':_0x35cfa9[_0x21e987(0x205)],'payload':_0x35cfa9[_0x21e987(0x2b7)],'projectDir':_0x35cfa9['projectDir']||process[_0x21e987(0x277)]()},_0x5a1f6f=await this[_0x21e987(0x212)]['processRequest'](_0x37633c);_0x5e7639['ws']['send'](JSON['stringify']({'type':_0x21e987(0x211),'requestId':_0x35cfa9[_0x21e987(0x2d5)],'response':_0x5a1f6f}));}catch(_0x33ad20){_0x5e7639['ws']['send'](JSON['stringify']({'type':_0x21e987(0x2d0),'requestId':_0x35cfa9['requestId'],'error':_0x33ad20[_0x21e987(0x1fc)]}));}break;default:this[_0x21e987(0x269)][_0x21e987(0x213)](_0x21e987(0x249),{'connectionId':_0x304e30,'type':_0x35cfa9['type']});}}['broadcastToSession'](_0x13c948,_0x2fe77b){const _0x84e3c7=a0_0x309219,_0x1a8cb2=Array[_0x84e3c7(0x1f0)](this[_0x84e3c7(0x207)]['values']())['filter'](_0xec3800=>_0xec3800[_0x84e3c7(0x225)]===_0x13c948);let _0x119159=[];_0x1a8cb2['length']===0x0&&(_0x119159=Array[_0x84e3c7(0x1f0)](this['connections'][_0x84e3c7(0x298)]()),this['logger']?.[_0x84e3c7(0x213)](_0x84e3c7(0x20b),{'targetSessionId':_0x13c948,'totalConnections':this['connections'][_0x84e3c7(0x2ce)],'allSessionIds':Array[_0x84e3c7(0x1f0)](this[_0x84e3c7(0x207)][_0x84e3c7(0x298)]())['map'](_0x2de498=>_0x2de498[_0x84e3c7(0x225)])['filter'](Boolean)}));const _0x3c9679=_0x1a8cb2[_0x84e3c7(0x296)]>0x0?_0x1a8cb2:_0x119159;this[_0x84e3c7(0x269)]?.[_0x84e3c7(0x244)](_0x84e3c7(0x289),{'sessionId':_0x13c948,'messageType':_0x2fe77b[_0x84e3c7(0x254)],'agentId':_0x2fe77b[_0x84e3c7(0x1ee)],'totalConnections':this[_0x84e3c7(0x207)]['size'],'sessionConnections':_0x1a8cb2[_0x84e3c7(0x296)],'targetConnections':_0x3c9679['length'],'connectionIds':_0x3c9679[_0x84e3c7(0x26b)](_0x497aae=>_0x497aae['id']),'usingFallback':_0x1a8cb2[_0x84e3c7(0x296)]===0x0,'messagePreview':_0x2fe77b[_0x84e3c7(0x254)]==='autonomous_update'&&_0x2fe77b['message']?{'messageId':_0x2fe77b['message']['id'],'messageRole':_0x2fe77b['message']['role'],'contentLength':_0x2fe77b['message'][_0x84e3c7(0x268)]?.[_0x84e3c7(0x296)],'hasToolResults':!!_0x2fe77b['message'][_0x84e3c7(0x204)]}:undefined});for(const _0x214a8c of _0x3c9679){try{const _0x5cd347={..._0x2fe77b,'timestamp':new Date()['toISOString']()};_0x214a8c['ws']['send'](JSON['stringify'](_0x5cd347)),this[_0x84e3c7(0x269)]?.['info']('✅\x20WebSocket\x20message\x20sent\x20to\x20connection:',{'connectionId':_0x214a8c['id'],'messageType':_0x2fe77b['type'],'agentId':_0x2fe77b[_0x84e3c7(0x1ee)]});}catch(_0x3aaa02){this['logger'][_0x84e3c7(0x213)](_0x84e3c7(0x21b),{'connectionId':_0x214a8c['id'],'sessionId':_0x13c948,'messageType':_0x2fe77b[_0x84e3c7(0x254)],'error':_0x3aaa02['message']});}}}async['startServer'](){return new Promise((_0x1e9cc4,_0x5df69c)=>{const _0xf093be=a0_0x482e;this[_0xf093be(0x263)]['listen'](this['port'],this[_0xf093be(0x2be)],_0x396293=>{const _0x2dbeb9=_0xf093be;_0x396293?(this[_0x2dbeb9(0x269)]['error']('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0x396293['message'],'port':this[_0x2dbeb9(0x27c)],'host':this['host']}),_0x5df69c(_0x396293)):(this[_0x2dbeb9(0x280)]=!![],this[_0x2dbeb9(0x269)]['info']('HTTP\x20server\x20started\x20successfully',{'port':this['port'],'host':this[_0x2dbeb9(0x2be)],'httpUrl':_0x2dbeb9(0x1ed)+this['host']+':'+this['port'],'wsUrl':_0x2dbeb9(0x2cb)+this['host']+':'+this[_0x2dbeb9(0x27c)],'wsServerAttached':!!this[_0x2dbeb9(0x1ec)],'wsConnections':this[_0x2dbeb9(0x207)][_0x2dbeb9(0x2ce)]}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x1e9cc4());}),this[_0xf093be(0x263)]['on'](_0xf093be(0x2d0),_0x5797a5=>{const _0x13eb96=_0xf093be;this[_0x13eb96(0x269)][_0x13eb96(0x2d0)]('HTTP\x20server\x20error:',{'error':_0x5797a5['message'],'stack':_0x5797a5[_0x13eb96(0x2e6)],'port':this[_0x13eb96(0x27c)]});});});}async[a0_0x309219(0x267)](){const _0x1d0fba=a0_0x309219;try{const {default:_0x305b86}=await import('ws'),_0x4ca31b=new _0x305b86('ws://localhost:'+this['port']);_0x4ca31b['on']('open',()=>{const _0x29b4f4=a0_0x482e;this[_0x29b4f4(0x269)]['info']('✅\x20WebSocket\x20server\x20test:\x20SUCCESSFUL',{'port':this[_0x29b4f4(0x27c)],'url':'ws://localhost:'+this['port']}),_0x4ca31b['close']();}),_0x4ca31b['on']('error',_0x2a43c4=>{const _0x478855=a0_0x482e;this[_0x478855(0x269)][_0x478855(0x2d0)]('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this['port'],'url':'ws://localhost:'+this[_0x478855(0x27c)],'error':_0x2a43c4[_0x478855(0x1fc)],'code':_0x2a43c4[_0x478855(0x208)]});}),_0x4ca31b['on'](_0x1d0fba(0x28c),(_0x4fd7ac,_0xb73224)=>{const _0x3ee1da=_0x1d0fba;_0x4fd7ac===0x3e8&&this[_0x3ee1da(0x269)]['info'](_0x3ee1da(0x2d3));}),setTimeout(()=>{const _0x4a9019=_0x1d0fba;_0x4ca31b[_0x4a9019(0x2bb)]===_0x305b86['CONNECTING']&&(this['logger'][_0x4a9019(0x2d0)]('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this['port'],'url':_0x4a9019(0x28f)+this[_0x4a9019(0x27c)],'readyState':_0x4ca31b[_0x4a9019(0x2bb)]}),_0x4ca31b[_0x4a9019(0x2dc)]());},0x1388);}catch(_0x3d3236){this[_0x1d0fba(0x269)][_0x1d0fba(0x2d0)](_0x1d0fba(0x293),{'error':_0x3d3236['message'],'stack':_0x3d3236['stack']});}}[a0_0x309219(0x2bc)](_0x2df2fb){const _0x4b5270=a0_0x309219;this['apiKeyManager']=_0x2df2fb,this[_0x4b5270(0x269)]?.[_0x4b5270(0x244)]('API\x20key\x20manager\x20set\x20for\x20web\x20server',{'hasManager':!!_0x2df2fb});}['_getVendorFromModel'](_0x1e8b8b){const _0x2e0eec=a0_0x309219;if(!_0x1e8b8b)return null;const _0x4f5b8b=_0x1e8b8b[_0x2e0eec(0x236)]();if(_0x4f5b8b['includes'](_0x2e0eec(0x1fa))||_0x4f5b8b[_0x2e0eec(0x257)](_0x2e0eec(0x2ef)))return _0x2e0eec(0x1fa);else{if(_0x4f5b8b[_0x2e0eec(0x257)](_0x2e0eec(0x22a))||_0x4f5b8b[_0x2e0eec(0x257)](_0x2e0eec(0x255)))return'openai';else{if(_0x4f5b8b['includes'](_0x2e0eec(0x218)))return _0x2e0eec(0x218);else{if(_0x4f5b8b['includes'](_0x2e0eec(0x2b2)))return _0x2e0eec(0x260);}}}return null;}[a0_0x309219(0x2a3)](){const _0x3b53ae=a0_0x309219;return{'isRunning':this['isRunning'],'port':this[_0x3b53ae(0x27c)],'host':this[_0x3b53ae(0x2be)],'connections':this['connections']['size'],'sessions':this['sessions']['size'],'url':_0x3b53ae(0x1ed)+this['host']+':'+this[_0x3b53ae(0x27c)]};}async['shutdown'](){const _0x28ec2d=a0_0x309219;if(!this[_0x28ec2d(0x280)])return;this[_0x28ec2d(0x269)]['info']('Shutting\x20down\x20web\x20server...');for(const _0x331bf4 of this['connections']['values']()){_0x331bf4['ws']['close']();}return this['connections']['clear'](),this['wss']['close'](),new Promise(_0x587117=>{const _0x4ffced=_0x28ec2d;this[_0x4ffced(0x263)]['close'](()=>{this['isRunning']=![],this['logger']['info']('Web\x20server\x20shutdown\x20complete'),_0x587117();});});}}function a0_0x482e(_0x2384c6,_0x41ca45){_0x2384c6=_0x2384c6-0x1e7;const _0x2e21eb=a0_0x2e21();let _0x482e92=_0x2e21eb[_0x2384c6];if(a0_0x482e['DNHQvh']===undefined){var _0x37598a=function(_0x1c36e6){const _0x53d107='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ba8c6='',_0x1c1d31='';for(let _0x572a7b=0x0,_0x23e8dd,_0x4d6b4d,_0x1b1ba5=0x0;_0x4d6b4d=_0x1c36e6['charAt'](_0x1b1ba5++);~_0x4d6b4d&&(_0x23e8dd=_0x572a7b%0x4?_0x23e8dd*0x40+_0x4d6b4d:_0x4d6b4d,_0x572a7b++%0x4)?_0x2ba8c6+=String['fromCharCode'](0xff&_0x23e8dd>>(-0x2*_0x572a7b&0x6)):0x0){_0x4d6b4d=_0x53d107['indexOf'](_0x4d6b4d);}for(let _0x3a8d23=0x0,_0x558356=_0x2ba8c6['length'];_0x3a8d23<_0x558356;_0x3a8d23++){_0x1c1d31+='%'+('00'+_0x2ba8c6['charCodeAt'](_0x3a8d23)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c1d31);};a0_0x482e['lqXzkC']=_0x37598a,a0_0x482e['eDXPAZ']={},a0_0x482e['DNHQvh']=!![];}const _0x44384b=_0x2e21eb[0x0],_0x3582c6=_0x2384c6+_0x44384b,_0x3189ef=a0_0x482e['eDXPAZ'][_0x3582c6];return!_0x3189ef?(_0x482e92=a0_0x482e['lqXzkC'](_0x482e92),a0_0x482e['eDXPAZ'][_0x3582c6]=_0x482e92):_0x482e92=_0x3189ef,_0x482e92;}function a0_0x2e21(){const _0x2bed69=['Dhj1zq','rMfPBgvKihrVigDLDcb0B29SCYbPBMzVCM1HDgLVBG','DxnLCI1Hz2vUDa','B3bLBMfP','C2vZC2LVBNm','zw52','CMvX','CxvLCNK','BgLZDgvUAw5N','zMLSzuLK','qwDLBNqGBw9Kzsb1CgrHDgvKoIa','l2fWAs9RzxLZlZPZzxnZAw9Uswq','qxr0ywnOBwvUDcb1CgrHDgvK','CgfYC2u','rMfPBgvKihrVigrLBgv0zsbHDhrHy2HTzw50','Dg9mB3DLCKnHC2u','yM9KEq','ywDLBNrFBw9Kzv9JAgfUz2vK','zgvIDwC','ywn0AxzL','zMLSzuv4CgXVCMvYtw9KDwXL','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','Aw5PDgLHBgL6zq','ndC5odC4DhbHDvvb','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','rMfPBgvKihrVihvWBg9HzcbMAwXLigf0DgfJAg1LBNq','zgvSzxrLqxr0ywnOBwvUDa','z2v0u2vZC2LVBKTLExm','C2v0DxbnAwrKBgv3yxjL','Aw5MBW','DxbKyxrLx2fNzw50','ChjVy2vZC1jLCxvLC3q','zxHPDa','Cg9UzW','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','r0vulcbqt1nulcbqvvqSierftevursWGt1busu9ouW','D2vIlq','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','Bw9KzwW','qxr0ywnOBwvUDcbKzwXLDgvK','zgvSzxrL','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','D3jPDgvgAwXL','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','DhLWzq','z3b0','AM9PBG','Aw5JBhvKzxm','Aw1Hz2vZ','C3rYAw5NAwz5','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','C2vZC2LVBL9QB2LUzwq','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','ChjVAMvJDerPCG','vxnLCI1bz2vUDa','ywXS','BwLJCM9ZB2z0','CgH5C2LJywXSEurLBgv0zwq','C3rHCNrZv2L0Aa','C2vYDMvY','sw52ywXPzcbZzxnZAw9U','BM93','CMvMCMvZAa','DgvZDfDLyLnVy2TLDfnLCNzLCG','y29UDgvUDa','Bg9Nz2vY','C2vUzezPBgu','BwfW','AxneAxjLy3rVCNK','v2vIu29JA2v0ignVBM5Ly3rPB24Gy2XVC2vK','mtGWotmWrgnpquf6','sw1Hz2uGC2vYDMvKihn1y2nLC3nMDwXSEq','Dg9ju09tDhjPBMC','DgfZA1n0yxj0vgLTzq','v2vIu29JA2v0ig1LC3nHz2uGzxjYB3i','mZaXmdqYn2DNDKfYta','rMfPBgvKihrVignVBM5Ly3qGDg8GquKGC2vYDMLJzq','r0vu','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','y3DK','Dg9VBhnszwDPC3rYEq','yxbPs2v5twfUywDLCG','yxjNDG','C2v0DxbsB3v0zxm','Cg9YDa','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','DxbKyxrLqxr0ywnOBwvUDa','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','AxnsDw5UAw5N','CM91DgvY','v0vc','z2v0qxr0ywnOBwvUDhm','tw9KzwXZihjLzNjLC2HLzcb3AxrOig5LDYbbueKGA2v5','zMLSDgvY','ywDLBNqT','C3rHDhvZvgv4Da','AxrLCMf0Aw9Uq291BNq','8j+tOsbxzwjtB2nRzxqGyNjVywrJyxn0vg9tzxnZAw9UignHBgXLzdO','qwDLBNqG','yw50AhjVCgLJlxnVBM5LDa','y2XVC2u','CgfYyw1Z','ChvZAa','D3m6lY9SB2nHBgHVC3q6','C3rVCef1Dg9UB21VDxnfEgvJDxrPB24','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','rMfPBgvKihrVihnLDcbbueKGA2v5CW','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','w0rfqLvhxsa','su5urvjoquXFu0vsvKvsx0vsuK9s','BgvUz3rO','ywDLBNq','DMfSDwvZ','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3bYzxzPzxC','AgvHBhrOEq','A2v5CW','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','DMvYC2LVBG','x2DLDfzLBMrVCKzYB21nB2rLBa','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','sw52ywXPza','Aw1WB3j0rNjVBufNzw50','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50','z2v0u3rHDhvZ','y2f0y2G','rMfPBgvKihrVihnLCNzLigLTywDL','C2vUzfn0yxr1CW','zMLSzw5HBwu','BwTKAxi','z2v0qwn0AxzLu2vZC2LVBNm','v2vIihnLCNzLCIbPBML0AwfSAxPLza','z2v0','C3rHDhvZ','8j+AGcbtDgfYDgLUzYbmB3HPysbxzwiGu2vYDMvYigLUihn0yw5KywXVBMuGBw9Kzs4UlG','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','y29UBMvJDgLVBG','l2fWAs9OzwfSDgG','l3rTCc9SB3HPys1PBwfNzxm','CgHP','CMvTB3rLqwrKCMvZCW','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhmVDxbSB2fK','ywDLBNrqB29S','CMvTB3zLu2vZC2LVBKTLExm','Cgf5Bg9Hza','C3vIC3rY','C2v0DxbxzwjtB2nRzxq','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','CMvHzhLtDgf0zq','C2v0qxbPs2v5twfUywDLCG','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','Ag9ZDa','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','qwnJzxnZlunVBNrYB2WTqwXSB3CTtwv0Ag9KCW','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','l2fWAs90B29SCW','mteWntq4mgDkrgDxBG','DgHLBG','C2vUza','C3rHDgvnyw5Hz2vY','ChjLzMvYCMvKtw9KzwW','DxjSzw5JB2rLza','D3m6lY8','vw5RBM93BIbHy3rPB246ia','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','C2L6zq','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','zxjYB3i','C2v0','lI4VlI4VD2vIlxvPl2j1AwXK','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','Cgf0Aa','CMvXDwvZDeLK','sw1Hz2uGC2vYDMLUzYbLCNjVCG','Dgv4Da','y2fWywjPBgL0AwvZ','AgvHzgvYCW','y3vYCMvUDfrHC2S','l2fWAs9VCMnOzxn0CMf0B3i','DgvYBwLUyxrL','CMfUzg9T','zgf0yq','yxrPBwu','C29JA2v0','mJbTz29euMC','qMvHCMvYia','DxnL','Cg9ZDa','yxbWBgLJyxrPB24VANnVBG','C3rHy2S','CMvSyxrPDMu','C3vIC3rYAw5N','v2vIihnLCNzLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq','Bw9Kzvn0yxrL','C3vJy2vZCW','BgfZDefJDgL2Axr5','DxjS','Dg9Nz2XLqwn0AxzL','y2XHDwrL','l2fWAs9MAwXLlwv4CgXVCMvY','yxbPs2v5','ANnVBG','w0vsuK9sxsa','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','BM90igzVDw5K','zMLSzq','AxngAwXL','D3nZ','Ahr0CdOVlW','ywDLBNrjza','yNjVywrJyxn0vg9tzxnZAw9U','zNjVBq','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','zgLYzwn0B3j5','qwDLBNqGBM90igzVDw5K','DxrMoa','C2H1DgrVD24','Bw9Kzq','qxP1CMuGyMfJA2vUzcbLCNjVCJOG','mtK5oduXmM1MAfntza','qxr0ywnOBwvUDcbHy3rPDMuGC3rHDhvZihrVz2DSzwq','yw50AhjVCgLJ','yxbW','BwvZC2fNzq','ywXYzwfKEsbHy3rPDMu','mZzAB1bNqu4','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','yMLYDgH0Aw1L','mtbTyG','zgLYzwn0B3j5qwnJzxnZ','CMvHzezPBgu','Dg9VBfjLC3vSDhm','ywn0Aw9U','BMfTzq','y29UBMvJDgLVBNm','y29Kzq','Bg94AwfbCgLlzxK','rMfPBgvKihrVihbYB3H5ignOyxqGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5K','8j+uHcboBYbJB25Uzwn0Aw9UCYbMB3iGC2vZC2LVBIWGDhj5Aw5NigfSBcbJB25Uzwn0Aw9UCZO','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','l2fWAs9MAwXLCW','Dg9tDhjPBMC','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','l2fWAs9SBg0VBw9KzwXZ','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','B3jJAgvZDhjHDg9Y','D2fYBG','Bg9N','l2fWAs9MAwXLCY91CgXVywq','C2vZC2LVBKLe','t3jPz2LUlcbylvjLCxvLC3rLzc1xAxrOlcbdB250zw50lvr5CguSiefJy2vWDcWGqxv0Ag9YAxPHDgLVBG','zgvLChnLzwS','mZu2otzQuxrWCLO','BwvZC2fNzvbYB2nLC3nVCG','4P2miezHAwXLzcb0BYbZzw5KifDLyLnVy2TLDcbTzxnZywDL','qwDLBNqGBw9Kzsb1CgrHDguGCMvXDwvZDgvKihDPDgHVDxqGC2vZC2LVBIbjra','BxrPBwu','odqYnda5vKT2BMPN','D3nnyw5Hz2vY','CMvZB2X2zq','zgLYBMfTzq','C3rHDa','D29YA2LUz0rPCMvJDg9YEq','u0Lhsu5u','C2vZC2LVBKLK','t3jJAgvZDhjHDg9YiefqssbLCNjVCG'];a0_0x2e21=function(){return _0x2bed69;};return a0_0x2e21();}export default WebServer;if(import.meta.url==='file://'+process[a0_0x309219(0x27a)][0x1]){const simpleLogger={'info':(_0x1a8b42,_0x16f18d)=>console[a0_0x309219(0x214)]('[INFO]\x20'+_0x1a8b42,_0x16f18d?JSON[a0_0x309219(0x259)](_0x16f18d,null,0x2):''),'error':(_0x3c4d83,_0x23935e)=>console['error'](a0_0x309219(0x1e7)+_0x3c4d83,_0x23935e?JSON['stringify'](_0x23935e,null,0x2):''),'warn':(_0x46c1d,_0x895501)=>console[a0_0x309219(0x213)]('[WARN]\x20'+_0x46c1d,_0x895501?JSON[a0_0x309219(0x259)](_0x895501,null,0x2):''),'debug':(_0x5024b3,_0x2ace48)=>console['log'](a0_0x309219(0x294)+_0x5024b3,_0x2ace48?JSON[a0_0x309219(0x259)](_0x2ace48,null,0x2):'')},mockOrchestrator={'processAction':async(_0xff58d9,_0x37a49e)=>{const _0x18c117=a0_0x309219;simpleLogger[_0x18c117(0x244)]('Mock\x20orchestrator\x20action',{'action':_0xff58d9,'data':_0x37a49e});switch(_0xff58d9){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS['CREATE_AGENT']:return{'success':!![],'data':{'id':_0x18c117(0x286)+Date['now'](),'name':_0x37a49e['name']||'New\x20Agent','status':_0x18c117(0x23a),'model':_0x37a49e[_0x18c117(0x24e)]||_0x18c117(0x28b),'systemPrompt':_0x37a49e['systemPrompt']||_0x18c117(0x2c0)}};case ORCHESTRATOR_ACTIONS['SEND_MESSAGE']:return{'success':!![],'data':{'message':{'id':'msg-'+Date['now'](),'content':'Echo:\x20'+_0x37a49e['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':_0x18c117(0x2cc)+_0xff58d9};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console['log'](a0_0x309219(0x2ad)),server['startServer']()[a0_0x309219(0x2c6)](()=>{const _0x10f405=a0_0x309219,_0x2d9dd6=server['getStatus']();console[_0x10f405(0x214)]('✅\x20Web\x20Server\x20running\x20at\x20'+_0x2d9dd6['url']),console[_0x10f405(0x214)](_0x10f405(0x20c)),console['log'](_0x10f405(0x24d));})[a0_0x309219(0x2a4)](_0x586d71=>{const _0xaccf13=a0_0x309219;console[_0xaccf13(0x2d0)](_0xaccf13(0x2c3),_0x586d71['message']),process[_0xaccf13(0x247)](0x1);}),process['on'](a0_0x309219(0x224),async()=>{const _0x4f5d08=a0_0x309219;console[_0x4f5d08(0x214)](_0x4f5d08(0x2bf)),await server[_0x4f5d08(0x1f5)](),process['exit'](0x0);});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1e1634=a0_0x50d0;(function(_0xeda527,_0x3a0227){const _0x57ff9f=a0_0x50d0,_0x224174=_0xeda527();while(!![]){try{const _0x335e65=parseInt(_0x57ff9f(0x19c))/0x1*(parseInt(_0x57ff9f(0x184))/0x2)+-parseInt(_0x57ff9f(0x1a1))/0x3*(parseInt(_0x57ff9f(0x194))/0x4)+parseInt(_0x57ff9f(0x1a5))/0x5*(-parseInt(_0x57ff9f(0x18d))/0x6)+-parseInt(_0x57ff9f(0x19e))/0x7*(parseInt(_0x57ff9f(0x1a4))/0x8)+-parseInt(_0x57ff9f(0x197))/0x9*(parseInt(_0x57ff9f(0x195))/0xa)+parseInt(_0x57ff9f(0x173))/0xb*(parseInt(_0x57ff9f(0x193))/0xc)+parseInt(_0x57ff9f(0x17f))/0xd*(parseInt(_0x57ff9f(0x185))/0xe);if(_0x335e65===_0x3a0227)break;else _0x224174['push'](_0x224174['shift']());}catch(_0x585e61){_0x224174['push'](_0x224174['shift']());}}}(a0_0x5ad8,0x71002));function a0_0x50d0(_0x38bb99,_0x92b72e){_0x38bb99=_0x38bb99-0x16f;const _0x5ad8dc=a0_0x5ad8();let _0x50d09f=_0x5ad8dc[_0x38bb99];if(a0_0x50d0['fEaxQL']===undefined){var _0x581421=function(_0x11752e){const _0x52b032='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d3192='',_0x20ad39='';for(let _0x4ef24f=0x0,_0x4a6c1b,_0x86aca1,_0x46cd98=0x0;_0x86aca1=_0x11752e['charAt'](_0x46cd98++);~_0x86aca1&&(_0x4a6c1b=_0x4ef24f%0x4?_0x4a6c1b*0x40+_0x86aca1:_0x86aca1,_0x4ef24f++%0x4)?_0x2d3192+=String['fromCharCode'](0xff&_0x4a6c1b>>(-0x2*_0x4ef24f&0x6)):0x0){_0x86aca1=_0x52b032['indexOf'](_0x86aca1);}for(let _0x42ba89=0x0,_0x153d84=_0x2d3192['length'];_0x42ba89<_0x153d84;_0x42ba89++){_0x20ad39+='%'+('00'+_0x2d3192['charCodeAt'](_0x42ba89)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20ad39);};a0_0x50d0['lzRGFI']=_0x581421,a0_0x50d0['zwwvdR']={},a0_0x50d0['fEaxQL']=!![];}const _0x240090=_0x5ad8dc[0x0],_0x15fd5f=_0x38bb99+_0x240090,_0x22c77f=a0_0x50d0['zwwvdR'][_0x15fd5f];return!_0x22c77f?(_0x50d09f=a0_0x50d0['lzRGFI'](_0x50d09f),a0_0x50d0['zwwvdR'][_0x15fd5f]=_0x50d09f):_0x50d09f=_0x22c77f,_0x50d09f;}import{promises as a0_0x2d3192}from'fs';import a0_0x20ad39 from'path';import a0_0x4ef24f from'os';class FileExplorerController{constructor(_0x4a6c1b={}){this['config']={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x4a6c1b};}async[a0_0x1e1634(0x17a)](_0x86aca1){const _0x20fda6=a0_0x1e1634;try{const _0x46cd98=await a0_0x2d3192[_0x20fda6(0x190)](_0x86aca1);return{'stats':_0x46cd98};}catch(_0x42ba89){return{'stats':null,'error':_0x42ba89 instanceof Error?_0x42ba89['message']:'Unknown\x20error'};}}['isSafePath'](_0x153d84){const _0x2beb91=a0_0x1e1634;try{const _0x56cce8=a0_0x20ad39['resolve'](_0x153d84);if(this[_0x2beb91(0x17c)][_0x2beb91(0x18a)][_0x2beb91(0x19a)](_0x1a0965=>_0x56cce8['startsWith'](a0_0x20ad39[_0x2beb91(0x17d)](_0x1a0965))))return![];return!![];}catch(_0x920ab3){return![];}}['shouldIncludeItem'](_0x3aa4f2,_0x13bded){const _0x49c81e=a0_0x1e1634;if(!this[_0x49c81e(0x17c)]['showHidden']&&_0x3aa4f2['startsWith']('.'))return![];if(_0x13bded[_0x49c81e(0x176)]()&&this[_0x49c81e(0x17c)][_0x49c81e(0x191)]['length']>0x0){const _0x47ee2d=a0_0x20ad39['extname'](_0x3aa4f2)['toLowerCase']();if(!this[_0x49c81e(0x17c)]['allowedExtensions'][_0x49c81e(0x198)](_0x47ee2d))return![];}return!![];}async['browseDirectory'](_0x59a723=process[a0_0x1e1634(0x180)](),_0x3152f0={}){const _0x5e9487=a0_0x1e1634;try{const _0xed087=a0_0x20ad39[_0x5e9487(0x17d)](_0x59a723);if(!this['isSafePath'](_0xed087))return{'success':![],'error':_0x5e9487(0x1a0)};const {stats:_0x4d3e25,error:_0x1a369c}=await this['getFileStats'](_0xed087);if(_0x1a369c||!_0x4d3e25)return{'success':![],'error':_0x5e9487(0x175)};if(!_0x4d3e25['isDirectory']())return{'success':![],'error':_0x5e9487(0x18b)};const _0x5144a3=await a0_0x2d3192['readdir'](_0xed087),_0x3b1e02=[];for(const _0x5996bd of _0x5144a3){const _0x49193c=a0_0x20ad39[_0x5e9487(0x19b)](_0xed087,_0x5996bd),{stats:_0x4a234a}=await this['getFileStats'](_0x49193c);if(_0x4a234a&&this[_0x5e9487(0x177)](_0x5996bd,_0x4a234a)){const _0x283103={'name':_0x5996bd,'path':_0x49193c,'type':_0x4a234a['isDirectory']()?'directory':_0x5e9487(0x19f),'size':_0x4a234a['isFile']()?_0x4a234a[_0x5e9487(0x174)]:undefined,'lastModified':_0x4a234a[_0x5e9487(0x178)],'extension':_0x4a234a['isFile']()?a0_0x20ad39['extname'](_0x5996bd)[_0x5e9487(0x1a2)]():undefined};_0x3b1e02[_0x5e9487(0x19d)](_0x283103);}}_0x3b1e02[_0x5e9487(0x183)]((_0x3686c1,_0x140039)=>{const _0x2facee=_0x5e9487;if(_0x3686c1['type']===_0x140039['type'])return _0x3686c1[_0x2facee(0x187)]['localeCompare'](_0x140039[_0x2facee(0x187)]);return _0x3686c1[_0x2facee(0x179)]==='directory'?-0x1:0x1;});const _0xe0b168=a0_0x20ad39['dirname'](_0xed087),_0xa614c8=_0xe0b168!==_0xed087;return{'success':!![],'data':{'currentPath':_0xed087,'parentPath':_0xa614c8?_0xe0b168:null,'items':_0x3b1e02,'totalItems':_0x3b1e02[_0x5e9487(0x196)],'directories':_0x3b1e02['filter'](_0x423d92=>_0x423d92['type']==='directory')['length'],'files':_0x3b1e02[_0x5e9487(0x16f)](_0x369529=>_0x369529[_0x5e9487(0x179)]===_0x5e9487(0x19f))['length']}};}catch(_0x4acbd4){return{'success':![],'error':_0x4acbd4 instanceof Error?_0x4acbd4['message']:_0x5e9487(0x182)};}}async[a0_0x1e1634(0x18c)](_0x16a075){const _0x1ec71e=a0_0x1e1634;try{if(!_0x16a075||!this[_0x1ec71e(0x18f)](_0x16a075))return{'success':![],'error':_0x1ec71e(0x1a3)};const {stats:_0x98b8ee,error:_0x28db0e}=await this['getFileStats'](_0x16a075);if(_0x28db0e||!_0x98b8ee)return{'success':![],'error':_0x1ec71e(0x192)};const _0x16628b={'name':a0_0x20ad39[_0x1ec71e(0x18e)](_0x16a075),'path':_0x16a075,'type':_0x98b8ee[_0x1ec71e(0x172)]()?'directory':'file','size':_0x98b8ee[_0x1ec71e(0x176)]()?_0x98b8ee['size']:undefined,'lastModified':_0x98b8ee['mtime'],'extension':_0x98b8ee['isFile']()?a0_0x20ad39[_0x1ec71e(0x189)](_0x16a075)[_0x1ec71e(0x1a2)]():undefined};return{'success':!![],'data':_0x16628b};}catch(_0x566faa){return{'success':![],'error':_0x566faa instanceof Error?_0x566faa['message']:_0x1ec71e(0x182)};}}['getCurrentWorkingDirectory'](){const _0x4e5bf1=a0_0x1e1634;return{'success':!![],'data':{'cwd':process['cwd'](),'platform':process[_0x4e5bf1(0x181)],'homedir':a0_0x4ef24f['homedir']()}};}async[a0_0x1e1634(0x171)](_0x371cf0,_0x2f3fec={}){const _0x23b574=a0_0x1e1634;try{if(!this[_0x23b574(0x18f)](_0x371cf0))return{'success':![],'error':_0x23b574(0x199)};return await a0_0x2d3192['mkdir'](_0x371cf0,{'recursive':_0x2f3fec['recursive']||![]}),{'success':!![],'data':{'path':_0x371cf0,'relativePath':a0_0x20ad39['relative'](process['cwd'](),_0x371cf0)}};}catch(_0x44bef3){return{'success':![],'error':_0x44bef3 instanceof Error?_0x44bef3['message']:_0x23b574(0x17e),'code':_0x44bef3['code']};}}[a0_0x1e1634(0x17b)](){const _0x40b372=a0_0x1e1634;return{'success':!![],'data':{'status':_0x40b372(0x188),'timestamp':new Date()[_0x40b372(0x170)](),'module':_0x40b372(0x186)}};}}export default FileExplorerController;function a0_0x5ad8(){const _0x4c3d82=['z2v0rMLSzuLUzM8','mtjovePiCfu','yMfZzw5HBwu','AxntywzLugf0Aa','C3rHDa','ywXSB3DLzev4DgvUC2LVBNm','rMLSzsbUB3qGzM91BMq','ndK0nda0oe1Jq25Nvq','ngPnq1rgEq','ndeWDvzkCK9Y','BgvUz3rO','mtyZmJC4qNLXBg9i','Aw5JBhvKzxm','sw52ywXPzcbKAxjLy3rVCNKGCgf0Aa','C29Tzq','AM9PBG','ntqWnZa3CMPxrM5A','ChvZAa','mZvMs0H6Ce4','zMLSzq','qwnJzxnZihrVihrOAxmGCgf0AcbPCYbYzxn0CMLJDgvK','nJG3mdq1wfLWsLnT','Dg9mB3DLCKnHC2u','sw52ywXPzcbMAwXLihbHDgG','mtq1mdG4wMLOrMz6','mta4nZu0mgPqtePxza','zMLSDgvY','Dg9ju09tDhjPBMC','y3jLyxrLrgLYzwn0B3j5','AxneAxjLy3rVCNK','mtfmyvDOCxG','C2L6zq','ugf0AcbUB3qGzM91BMqGB3iGAw5Hy2nLC3nPyMXL','AxngAwXL','C2HVDwXKsw5JBhvKzuL0zw0','BxrPBwu','DhLWzq','z2v0rMLSzvn0yxrZ','AgvHBhrOq2HLy2S','y29UzMLN','CMvZB2X2zq','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNK','mtqZnZHeDgTsEKW','y3DK','CgXHDgzVCM0','u2vYDMvYigvYCM9Y','C29YDa','mMD4EefcDG','mti3nJHrzLryvwm','zMLSzuv4CgXVCMvY','BMfTzq','AgvHBhrOEq','zxH0BMfTzq','CMvZDhjPy3rLzfbHDgHZ','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK'];a0_0x5ad8=function(){return _0x4c3d82;};return a0_0x5ad8();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a0_0x182e(_0x4c4118,_0x53fa55){_0x4c4118=_0x4c4118-0x82;const _0x333ff0=a0_0x333f();let _0x182e20=_0x333ff0[_0x4c4118];if(a0_0x182e['swOSzQ']===undefined){var _0x8ca37a=function(_0x14ec13){const _0x470264='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xab249a='',_0x287090='';for(let _0x36d02e=0x0,_0x4cea8a,_0x4a73c1,_0xbf54ec=0x0;_0x4a73c1=_0x14ec13['charAt'](_0xbf54ec++);~_0x4a73c1&&(_0x4cea8a=_0x36d02e%0x4?_0x4cea8a*0x40+_0x4a73c1:_0x4a73c1,_0x36d02e++%0x4)?_0xab249a+=String['fromCharCode'](0xff&_0x4cea8a>>(-0x2*_0x36d02e&0x6)):0x0){_0x4a73c1=_0x470264['indexOf'](_0x4a73c1);}for(let _0x56460d=0x0,_0x22430a=_0xab249a['length'];_0x56460d<_0x22430a;_0x56460d++){_0x287090+='%'+('00'+_0xab249a['charCodeAt'](_0x56460d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x287090);};a0_0x182e['fjyUnS']=_0x8ca37a,a0_0x182e['jUWGcD']={},a0_0x182e['swOSzQ']=!![];}const _0x273cea=_0x333ff0[0x0],_0x48eee=_0x4c4118+_0x273cea,_0x4cf9bd=a0_0x182e['jUWGcD'][_0x48eee];return!_0x4cf9bd?(_0x182e20=a0_0x182e['fjyUnS'](_0x182e20),a0_0x182e['jUWGcD'][_0x48eee]=_0x182e20):_0x182e20=_0x4cf9bd,_0x182e20;}(function(_0x341624,_0x3a656c){const _0x1b66b0=a0_0x182e,_0x4154d2=_0x341624();while(!![]){try{const _0x239c28=parseInt(_0x1b66b0(0x86))/0x1+-parseInt(_0x1b66b0(0x8a))/0x2+parseInt(_0x1b66b0(0x8b))/0x3+-parseInt(_0x1b66b0(0x8c))/0x4*(-parseInt(_0x1b66b0(0x82))/0x5)+parseInt(_0x1b66b0(0x85))/0x6*(parseInt(_0x1b66b0(0x89))/0x7)+parseInt(_0x1b66b0(0x88))/0x8*(parseInt(_0x1b66b0(0x87))/0x9)+-parseInt(_0x1b66b0(0x84))/0xa*(parseInt(_0x1b66b0(0x83))/0xb);if(_0x239c28===_0x3a656c)break;else _0x4154d2['push'](_0x4154d2['shift']());}catch(_0x3b7ca5){_0x4154d2['push'](_0x4154d2['shift']());}}}(a0_0x333f,0x33f25));import{createFileExplorerRouter,defaultConfig}from'./routes.js';import a0_0xab249a from'./controller.js';export function initFileExplorerModule(_0x287090={}){const _0x36d02e={...defaultConfig,..._0x287090},_0x4cea8a=createFileExplorerRouter(_0x36d02e),_0x4a73c1=new a0_0xab249a(_0x36d02e);return{'router':_0x4cea8a,'controller':_0x4a73c1,'config':_0x36d02e};}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';function a0_0x333f(){const _0x1ec8c0=['mtjywhPMDhC','mty5mZKWyMjlB3LN','mJj0t0rAy2G','ndGZmZu3mfPlugLvra','mZa1ngXICMLpCq','mZq0mZGYALzyBhHZ','mZiZntG0mLfSwMj4qq','oeTcChPMqG','ndu4nwLqz1zTrW','mJm5nJCYuwrbzKnw','ndGXmtiYtwjnDhfz'];a0_0x333f=function(){return _0x1ec8c0;};return a0_0x333f();}export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0xab249a,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x509e(_0x1cb149,_0x211844){_0x1cb149=_0x1cb149-0xc4;const _0x4befa0=a0_0x4bef();let _0x509ee3=_0x4befa0[_0x1cb149];if(a0_0x509e['JWFmmh']===undefined){var _0x3df44d=function(_0x1e5ce0){const _0x882db9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x153748='',_0x197e5d='';for(let _0x5e6ce1=0x0,_0x26ed2d,_0x5b8a80,_0x17e434=0x0;_0x5b8a80=_0x1e5ce0['charAt'](_0x17e434++);~_0x5b8a80&&(_0x26ed2d=_0x5e6ce1%0x4?_0x26ed2d*0x40+_0x5b8a80:_0x5b8a80,_0x5e6ce1++%0x4)?_0x153748+=String['fromCharCode'](0xff&_0x26ed2d>>(-0x2*_0x5e6ce1&0x6)):0x0){_0x5b8a80=_0x882db9['indexOf'](_0x5b8a80);}for(let _0x3a2425=0x0,_0x513a35=_0x153748['length'];_0x3a2425<_0x513a35;_0x3a2425++){_0x197e5d+='%'+('00'+_0x153748['charCodeAt'](_0x3a2425)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x197e5d);};a0_0x509e['DfYGfB']=_0x3df44d,a0_0x509e['WrWgQu']={},a0_0x509e['JWFmmh']=!![];}const _0x53b9f9=_0x4befa0[0x0],_0x28e3f8=_0x1cb149+_0x53b9f9,_0x295460=a0_0x509e['WrWgQu'][_0x28e3f8];return!_0x295460?(_0x509ee3=a0_0x509e['DfYGfB'](_0x509ee3),a0_0x509e['WrWgQu'][_0x28e3f8]=_0x509ee3):_0x509ee3=_0x295460,_0x509ee3;}(function(_0x2e667d,_0x1718a8){const _0x1fcbf4=a0_0x509e,_0x29905f=_0x2e667d();while(!![]){try{const _0x5815d1=parseInt(_0x1fcbf4(0xde))/0x1+parseInt(_0x1fcbf4(0xd1))/0x2+-parseInt(_0x1fcbf4(0xd3))/0x3+-parseInt(_0x1fcbf4(0xcf))/0x4*(-parseInt(_0x1fcbf4(0xdb))/0x5)+parseInt(_0x1fcbf4(0xd2))/0x6*(-parseInt(_0x1fcbf4(0xcc))/0x7)+-parseInt(_0x1fcbf4(0xca))/0x8+parseInt(_0x1fcbf4(0xd5))/0x9*(parseInt(_0x1fcbf4(0xd9))/0xa);if(_0x5815d1===_0x1718a8)break;else _0x29905f['push'](_0x29905f['shift']());}catch(_0x5370d7){_0x29905f['push'](_0x29905f['shift']());}}}(a0_0x4bef,0x539bd));export function validatePath(_0x153748,_0x197e5d,_0x5e6ce1){const _0x239028=a0_0x509e,{path:_0x26ed2d}=_0x153748[_0x239028(0xce)];if(_0x26ed2d&&typeof _0x26ed2d!==_0x239028(0xdc))return _0x197e5d['status'](0x190)['json']({'success':![],'error':_0x239028(0xd7)});_0x5e6ce1();}export function createRateLimit(_0x5b8a80=0x64,_0x17e434=0xea60){const _0x3a2425=new Map();return(_0x513a35,_0x118090,_0x55d2cd)=>{const _0x18e7b5=a0_0x509e,_0x447231=_0x513a35['ip']||_0x513a35['connection']['remoteAddress']||_0x18e7b5(0xdd),_0x3591d3=Date[_0x18e7b5(0xcb)](),_0x5cb354=_0x3591d3-_0x17e434;!_0x3a2425['has'](_0x447231)&&_0x3a2425[_0x18e7b5(0xd0)](_0x447231,[]);const _0x14083b=_0x3a2425[_0x18e7b5(0xc4)](_0x447231),_0x173e87=_0x14083b['filter'](_0x5f2381=>_0x5f2381>_0x5cb354);_0x3a2425[_0x18e7b5(0xd0)](_0x447231,_0x173e87);if(_0x173e87['length']>=_0x5b8a80)return _0x118090[_0x18e7b5(0xc7)](0x1ad)[_0x18e7b5(0xcd)]({'success':![],'error':_0x18e7b5(0xd6),'retryAfter':Math['ceil'](_0x17e434/0x3e8)});_0x173e87[_0x18e7b5(0xd4)](_0x3591d3),_0x55d2cd();};}export function securityHeaders(_0x7be982,_0x394f81,_0x367fc7){const _0x37b461=a0_0x509e;_0x394f81['set']({'Cache-Control':_0x37b461(0xc8),'Pragma':_0x37b461(0xc6),'Expires':'0'}),_0x367fc7();}export function requestLogger(_0x2bdfde,_0x414914,_0x1a57e1){const _0x5e1021=a0_0x509e,_0x2e5bbe=Date[_0x5e1021(0xcb)]();_0x414914['on'](_0x5e1021(0xc5),()=>{const _0x1f87dd=_0x5e1021,_0x35967b=Date[_0x1f87dd(0xcb)]()-_0x2e5bbe;console['log'](_0x1f87dd(0xda)+_0x2bdfde['method']+'\x20'+_0x2bdfde[_0x1f87dd(0xc9)]+'\x20-\x20'+_0x414914['statusCode']+'\x20('+_0x35967b+_0x1f87dd(0xd8));}),_0x1a57e1();}function a0_0x4bef(){const _0x45f90b=['w0zPBgvfEhbSB3jLCL0G','mtbgsuDyAwi','C3rYAw5N','Dw5RBM93BG','ndmXmZK1uenLsuLR','z2v0','zMLUAxnO','BM8Ty2fJAgu','C3rHDhvZ','BM8Ty2fJAguSig5Vlxn0B3jLlcbTDxn0lxjLDMfSAwrHDgu','B3jPz2LUywXvCMW','odiWntiWt09YzNrb','BM93','otiYndyWteXtz3vd','ANnVBG','CxvLCNK','ode5mtzVDKTPz3i','C2v0','mZy1nta2z01Py0Tt','mJrHA2Xty0S','mty2odG0D0jdvgLR','ChvZAa','mty3nZaWnMrfwhntBa','vg9Vig1HBNKGCMvXDwvZDhm','ugf0AcbWyxjHBwv0zxiGBxvZDcbIzsbHihn0CMLUzW','BxmP','mJb1A3voqwm'];a0_0x4bef=function(){return _0x45f90b;};return a0_0x4bef();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x397962,_0x564ea7){const _0x46bd2e=a0_0x356d,_0x3115f1=_0x397962();while(!![]){try{const _0x41329c=-parseInt(_0x46bd2e(0xec))/0x1*(parseInt(_0x46bd2e(0xd1))/0x2)+-parseInt(_0x46bd2e(0xe8))/0x3*(-parseInt(_0x46bd2e(0xed))/0x4)+parseInt(_0x46bd2e(0xd6))/0x5*(parseInt(_0x46bd2e(0xcf))/0x6)+parseInt(_0x46bd2e(0xd2))/0x7+-parseInt(_0x46bd2e(0xe5))/0x8*(-parseInt(_0x46bd2e(0xe9))/0x9)+parseInt(_0x46bd2e(0xdb))/0xa+-parseInt(_0x46bd2e(0xe6))/0xb;if(_0x41329c===_0x564ea7)break;else _0x3115f1['push'](_0x3115f1['shift']());}catch(_0x505683){_0x3115f1['push'](_0x3115f1['shift']());}}}(a0_0x52ea,0xa907f));import a0_0x50c0b1 from'express';import a0_0x136e1c from'./controller.js';function a0_0x356d(_0x46240e,_0x4b1bba){_0x46240e=_0x46240e-0xcb;const _0x52eab2=a0_0x52ea();let _0x356d07=_0x52eab2[_0x46240e];if(a0_0x356d['gxLXqO']===undefined){var _0x327a2f=function(_0x42e2dd){const _0x742aa8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50c0b1='',_0x136e1c='';for(let _0x4338c0=0x0,_0xb59a37,_0xec4c23,_0x5dfe5c=0x0;_0xec4c23=_0x42e2dd['charAt'](_0x5dfe5c++);~_0xec4c23&&(_0xb59a37=_0x4338c0%0x4?_0xb59a37*0x40+_0xec4c23:_0xec4c23,_0x4338c0++%0x4)?_0x50c0b1+=String['fromCharCode'](0xff&_0xb59a37>>(-0x2*_0x4338c0&0x6)):0x0){_0xec4c23=_0x742aa8['indexOf'](_0xec4c23);}for(let _0x3e7e77=0x0,_0x140eda=_0x50c0b1['length'];_0x3e7e77<_0x140eda;_0x3e7e77++){_0x136e1c+='%'+('00'+_0x50c0b1['charCodeAt'](_0x3e7e77)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x136e1c);};a0_0x356d['ogqZhZ']=_0x327a2f,a0_0x356d['zdmKIb']={},a0_0x356d['gxLXqO']=!![];}const _0x2fa5db=_0x52eab2[0x0],_0x48930b=_0x46240e+_0x2fa5db,_0x509b20=a0_0x356d['zdmKIb'][_0x48930b];return!_0x509b20?(_0x356d07=a0_0x356d['ogqZhZ'](_0x356d07),a0_0x356d['zdmKIb'][_0x48930b]=_0x356d07):_0x356d07=_0x509b20,_0x356d07;}function a0_0x52ea(){const _0x5a06f2=['uM91DgvY','z2v0','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','mJa4oez6A3PXta','mtuZmJa5ntrXswfMC1e','y29Kzq','m1jrrKTlEa','mtqWnZzmsujbuKq','zxjYB3i','l21RzgLY','m2HLqNDiva','mZy3mZe2mgLVC0XjzG','C3vJy2vZCW','Cg9ZDa','BM90igzVDw5K','Aw5JBhvKzxm','mta5ntu0nMzjrKXqva','rgLYzwn0B3j5ihbHDgGGAxmGCMvXDwLYzwq','ndm1ntm0wgzsvxrH','mJq2mdCWm0TcEKrTCG','yNjVD3nLrgLYzwn0B3j5','y3jLyxrLrgLYzwn0B3j5','DxnL','mtvAyNnyCgq','sw50zxjUywWGC2vYDMvYigvYCM9Y','Dhj1zq','C2HVD0HPzgrLBG','CMvZDhjPy3rLza','nteYnJCWmhzwCuHkwq','Cgf0Aa','CxvLCNK','z2v0rMLSzuLUzM8','ANnVBG','l2jYB3DZzq','C3rHDhvZ'];a0_0x52ea=function(){return _0x5a06f2;};return a0_0x52ea();}import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x4338c0={}){const _0x4e119b=a0_0x356d,_0xb59a37=a0_0x50c0b1[_0x4e119b(0xe2)](),_0xec4c23=new a0_0x136e1c(_0x4338c0);return _0xb59a37['use'](requestLogger),_0xb59a37[_0x4e119b(0xd5)](securityHeaders),_0xb59a37[_0x4e119b(0xd5)](createRateLimit(0x64,0xea60)),_0xb59a37['get']('/health',(_0x5dfe5c,_0x3e7e77)=>{const _0xfc3c18=_0x4e119b,_0x140eda=_0xec4c23['healthCheck']();_0x3e7e77[_0xfc3c18(0xdf)](_0x140eda);}),_0xb59a37[_0x4e119b(0xe3)]('/cwd',(_0x297e2f,_0x1fb124)=>{const _0x36d9d9=_0x4e119b,_0x31f8d2=_0xec4c23[_0x36d9d9(0xe4)]();_0x1fb124['json'](_0x31f8d2);}),_0xb59a37[_0x4e119b(0xe3)](_0x4e119b(0xe0),validatePath,async(_0x3a4ff8,_0x1ba231)=>{const _0x26f035=_0x4e119b;try{const _0x3570fb=_0x3a4ff8[_0x26f035(0xdd)][_0x26f035(0xdc)],_0x5d3cfe={'showHidden':_0x3a4ff8['query'][_0x26f035(0xd9)]===_0x26f035(0xd8)},_0x570114=await _0xec4c23[_0x26f035(0xd3)](_0x3570fb,_0x5d3cfe);if(_0x570114[_0x26f035(0xcb)])_0x1ba231[_0x26f035(0xdf)](_0x570114);else{const _0x3ff3ed=_0x570114[_0x26f035(0xea)]['includes'](_0x26f035(0xda))?0x193:_0x570114['error'][_0x26f035(0xce)]('not\x20found')?0x194:0x190;_0x1ba231['status'](_0x3ff3ed)['json'](_0x570114);}}catch(_0x5419aa){_0x1ba231[_0x26f035(0xe1)](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error'});}}),_0xb59a37[_0x4e119b(0xe3)]('/file-info',validatePath,async(_0x308031,_0x204e27)=>{const _0x2e98ef=_0x4e119b;try{const _0x4ea3c7=_0x308031[_0x2e98ef(0xdd)]['path'],_0x4fd315=await _0xec4c23[_0x2e98ef(0xde)](_0x4ea3c7);if(_0x4fd315['success'])_0x204e27['json'](_0x4fd315);else{const _0x3b094a=_0x4fd315['error']['includes'](_0x2e98ef(0xcd))?0x194:0x190;_0x204e27[_0x2e98ef(0xe1)](_0x3b094a)['json'](_0x4fd315);}}catch(_0x217c8d){_0x204e27['status'](0x1f4)[_0x2e98ef(0xdf)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0xb59a37[_0x4e119b(0xcc)](_0x4e119b(0xeb),a0_0x50c0b1[_0x4e119b(0xdf)](),async(_0x387363,_0x4ca77a)=>{const _0x3b9cd5=_0x4e119b;try{const {path:_0x1b419c,recursive:recursive=![]}=_0x387363['body'];if(!_0x1b419c)return _0x4ca77a['status'](0x190)['json']({'success':![],'error':_0x3b9cd5(0xd0)});const _0x46a907=await _0xec4c23[_0x3b9cd5(0xd4)](_0x1b419c,{'recursive':recursive});if(_0x46a907[_0x3b9cd5(0xcb)])_0x4ca77a['json'](_0x46a907);else{const _0x303ef5=_0x46a907[_0x3b9cd5(0xe7)]==='EEXIST'?0x199:0x190;_0x4ca77a[_0x3b9cd5(0xe1)](_0x303ef5)[_0x3b9cd5(0xdf)](_0x46a907);}}catch(_0x4b0ed9){_0x4ca77a['status'](0x1f4)['json']({'success':![],'error':_0x3b9cd5(0xd7)});}}),_0xb59a37;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};export default createFileExplorerRouter;
|