@loxia-labs/loxia-autopilot-one 1.0.17 → 1.0.18
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 +5 -3
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/agentActivityService.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/index-Cb8CHAFw.css +1 -0
- package/web-ui/build/static/{index-DzOU48ux.js → index-DL2-PyNX.js} +72 -72
- package/web-ui/build/static/index-CRkOpV4k.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0xdaf907=a0_0x2274;(function(_0x56322b,_0x4d5696){const _0x587354=a0_0x2274,_0x4ff8c2=_0x56322b();while(!![]){try{const _0x49453c=-parseInt(_0x587354(0x15e))/0x1+-parseInt(_0x587354(0x169))/0x2+-parseInt(_0x587354(0x16d))/0x3+-parseInt(_0x587354(0x161))/0x4*(parseInt(_0x587354(0x15f))/0x5)+parseInt(_0x587354(0x16a))/0x6+parseInt(_0x587354(0x160))/0x7*(-parseInt(_0x587354(0x16c))/0x8)+-parseInt(_0x587354(0x168))/0x9*(-parseInt(_0x587354(0x15d))/0xa);if(_0x49453c===_0x4d5696)break;else _0x4ff8c2['push'](_0x4ff8c2['shift']());}catch(_0x5306a2){_0x4ff8c2['push'](_0x4ff8c2['shift']());}}}(a0_0x12ee,0x1ebb1));const THEMES={'default':{'border':a0_0xdaf907(0x166),'borderLoading':a0_0xdaf907(0x15c),'primary':a0_0xdaf907(0x163),'secondary':'cyan','success':'green','error':a0_0xdaf907(0x165),'warning':a0_0xdaf907(0x15c),'info':'blue','dim':'gray'},'light':{'border':a0_0xdaf907(0x166),'borderLoading':'yellow','primary':'black','secondary':'blue','success':a0_0xdaf907(0x162),'error':a0_0xdaf907(0x165),'warning':a0_0xdaf907(0x15c),'info':'cyan','dim':a0_0xdaf907(0x16b)},'dark':{'border':'cyan','borderLoading':'magenta','primary':a0_0xdaf907(0x163),'secondary':'cyan','success':'greenBright','error':a0_0xdaf907(0x167),'warning':'yellowBright','info':'blueBright','dim':a0_0xdaf907(0x16b)},'high-contrast':{'border':'white','borderLoading':a0_0xdaf907(0x15c),'primary':a0_0xdaf907(0x163),'secondary':a0_0xdaf907(0x16e),'success':'greenBright','error':'redBright','warning':'yellowBright','info':'cyanBright','dim':a0_0xdaf907(0x163)}};export function getTheme(_0x558aa0='default'){return THEMES[_0x558aa0]||THEMES['default'];}export function getThemeColor(_0x2ba40f,_0x4c6d28){const _0x4eb472=a0_0xdaf907,_0x25c54d=getTheme(_0x2ba40f);return _0x25c54d[_0x4c6d28]||_0x25c54d[_0x4eb472(0x164)];}function a0_0x2274(_0xafdfd1,_0x48de6f){_0xafdfd1=_0xafdfd1-0x15c;const _0x12eefc=a0_0x12ee();let _0x22748c=_0x12eefc[_0xafdfd1];if(a0_0x2274['iWAFvk']===undefined){var _0x2284d6=function(_0x2b83ca){const _0xe066f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x558aa0='',_0x2ba40f='';for(let _0x4c6d28=0x0,_0x25c54d,_0x2c0387,_0x1deac0=0x0;_0x2c0387=_0x2b83ca['charAt'](_0x1deac0++);~_0x2c0387&&(_0x25c54d=_0x4c6d28%0x4?_0x25c54d*0x40+_0x2c0387:_0x2c0387,_0x4c6d28++%0x4)?_0x558aa0+=String['fromCharCode'](0xff&_0x25c54d>>(-0x2*_0x4c6d28&0x6)):0x0){_0x2c0387=_0xe066f['indexOf'](_0x2c0387);}for(let _0x235f9b=0x0,_0x15feb7=_0x558aa0['length'];_0x235f9b<_0x15feb7;_0x235f9b++){_0x2ba40f+='%'+('00'+_0x558aa0['charCodeAt'](_0x235f9b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ba40f);};a0_0x2274['tfevau']=_0x2284d6,a0_0x2274['hlHhIa']={},a0_0x2274['iWAFvk']=!![];}const _0x11ebb6=_0x12eefc[0x0],_0x2ca17f=_0xafdfd1+_0x11ebb6,_0x23959c=a0_0x2274['hlHhIa'][_0x2ca17f];return!_0x23959c?(_0x22748c=a0_0x2274['tfevau'](_0x22748c),a0_0x2274['hlHhIa'][_0x2ca17f]=_0x22748c):_0x22748c=_0x23959c,_0x22748c;}function a0_0x12ee(){const _0x5e6ad1=['nda2otG5zNnVEwDz','y3LHBG','EwvSBg93','mtbfA2fptuy','otm4mZriB3vUtKK','ntyYmtbAA0HtwNO','odm0odLuvwPLyLu','odH0uxjWu3y','z3jLzw4','D2HPDgu','ChjPBwfYEq','CMvK','yMX1zq','CMvKqNjPz2H0','ntCZnZqZn0rtvhvuCW','mtmWmdq4vuzvEK5q','mZi0ndC0s3zKsLLU','z3jHEq','mtzusg5Hvhu'];a0_0x12ee=function(){return _0x5e6ad1;};return a0_0x12ee();}export default{'getTheme':getTheme,'getThemeColor':getThemeColor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x208a(_0x537d47,_0x8f002a){_0x537d47=_0x537d47-0x16c;const _0x1b15ec=a0_0x1b15();let _0x208a98=_0x1b15ec[_0x537d47];if(a0_0x208a['qSvozL']===undefined){var _0x1752ac=function(_0x22cb18){const _0xf65ca9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15f7dc='',_0x5b0dac='';for(let _0x95ade0=0x0,_0x51a20d,_0x363557,_0x397aa9=0x0;_0x363557=_0x22cb18['charAt'](_0x397aa9++);~_0x363557&&(_0x51a20d=_0x95ade0%0x4?_0x51a20d*0x40+_0x363557:_0x363557,_0x95ade0++%0x4)?_0x15f7dc+=String['fromCharCode'](0xff&_0x51a20d>>(-0x2*_0x95ade0&0x6)):0x0){_0x363557=_0xf65ca9['indexOf'](_0x363557);}for(let _0x186c2e=0x0,_0x3476e5=_0x15f7dc['length'];_0x186c2e<_0x3476e5;_0x186c2e++){_0x5b0dac+='%'+('00'+_0x15f7dc['charCodeAt'](_0x186c2e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b0dac);};a0_0x208a['XUsUFM']=_0x1752ac,a0_0x208a['ETHOGB']={},a0_0x208a['qSvozL']=!![];}const _0x46c1eb=_0x1b15ec[0x0],_0x33dfc1=_0x537d47+_0x46c1eb,_0x2156b7=a0_0x208a['ETHOGB'][_0x33dfc1];return!_0x2156b7?(_0x208a98=a0_0x208a['XUsUFM'](_0x208a98),a0_0x208a['ETHOGB'][_0x33dfc1]=_0x208a98):_0x208a98=_0x2156b7,_0x208a98;}const a0_0x204007=a0_0x208a;(function(_0xa09684,_0x43d1ce){const _0x5d005e=a0_0x208a,_0x264a90=_0xa09684();while(!![]){try{const _0x1f363e=parseInt(_0x5d005e(0x200))/0x1*(-parseInt(_0x5d005e(0x256))/0x2)+-parseInt(_0x5d005e(0x261))/0x3*(parseInt(_0x5d005e(0x1cc))/0x4)+parseInt(_0x5d005e(0x21b))/0x5*(-parseInt(_0x5d005e(0x1d2))/0x6)+parseInt(_0x5d005e(0x187))/0x7*(-parseInt(_0x5d005e(0x1cd))/0x8)+-parseInt(_0x5d005e(0x197))/0x9+parseInt(_0x5d005e(0x273))/0xa+parseInt(_0x5d005e(0x227))/0xb*(parseInt(_0x5d005e(0x26a))/0xc);if(_0x1f363e===_0x43d1ce)break;else _0x264a90['push'](_0x264a90['shift']());}catch(_0x4e044f){_0x264a90['push'](_0x264a90['shift']());}}}(a0_0x1b15,0xaf2f9));import a0_0x15f7dc from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x5b0dac from'path';import{promises as a0_0x95ade0}from'fs';import{fileURLToPath}from'url';import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS,HTTP_STATUS,AGENT_MODES}from'../utilities/constants.js';import{initFileExplorerModule}from'../modules/fileExplorer/index.js';function a0_0x1b15(){const _0x2d6385=['v0vc','C3rHDa','C3vJy2vZCW','Ag9ZDa','sw52ywXPzcbZzxnZAw9U','CMvZB2X2zq','Ahr0CdOVlW','BwvZC2fNzvbYB2nLC3nVCG','DxbKyxrLqxr0ywnOBwvUDa','AgvHzgvYC1nLBNq','BgLZDgvUAw5N','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJO','C3rHCNrZv2L0Aa','l2fWAs9RzxLZlZPZzxnZAw9Uswq','ngTAyufSuW','nJm2mZi4vw1UEvjM','yxjNDG','x2DLDfzLBMrVCKzYB21nB2rLBa','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','mta5otHOwMndDgW','BxrPBwu','D3m6lY9SB2nHBgHVC3q6','ANnVBG','Cg9UzW','DxrMoa','C3vIC3rY','AgvHBhrOEq','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','u0Lhsu5u','DMvYC2LVBG','ms4WlJa','zMLSzq','z2v0','l2fWAs9Hz2vUDhmVoMfNzw50swqVy2XLyxi','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','Dhj1zq','Dgv4Da','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','8j+AGcbtDgfYDgLUzYbmB3HPysbxzwiGu2vYDMvYigLUihn0yw5KywXVBMuGBw9Kzs4UlG','C3rHDgLJ','BMfTzq','ywXS','Aw1Hz2vZ','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','DxnL','C3vIC3rYAw5N','zgvSzxrLqxr0ywnOBwvUDa','BgfZDefJDgL2Axr5','qKfex1jfuvvfu1q','C3rHy2S','lI4VlI4VD2vIlxvPl2j1AwXKl2LUzgv4lMH0BwW','CM91DgvY','zgLYzwn0B3j5','l2fWAs9OzwfSDgG','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','z2v0u3rHDhvZ','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','z3b0','Cgf0Aa','zxjYB3i','lI4VlI4VCgfJA2fNzs5QC29U','C2vZC2LVBKLe','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','C2L6zq','AM9PBG','nZfTu2viz0G','y2XLyxjdB252zxjZyxrPB24','B3jJAgvZDhjHDg9Yx3jLCxvLC3q','DMvUzg9Ys2v5CW','Cgf0y2G','ywDLBNq','ChvZAa','Aw1WB3j0rNjVBufNzw50','Bg9Nz2vY','D29YA2LUz0rPCMvJDg9YEq','C2vUza','w0vsuK9sxsa','yxbPs2v5','l2fWAs9LEhbSB3jLCI9PBMzV','qwnJzxnZlunVBNrYB2WTqwXSB3CTtwv0Ag9KCW','z2v0qxr0ywnOBwvUDfbYzxzPzxC','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','ue9tva','y29UzMLN','qxr0ywnOBwvUDcbKzwXLDgvK','C2vUzezPBgu','CMvHzezPBgu','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','y3DK','D2fYBG','CMvTB3zLu2vZC2LVBKTLExm','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','mJKZnwLkBLzdAa','ywDLBNrqB29S','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','yxbW','BwTKAxi','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','CgfYyw1Z','CM9Szq','AxngAwXL','zgv0ywLSCW','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','mtm3mtKYqu9xv3LP','AgvHzgvYCW','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','yxbPs2v5twfUywDLCG','t1busu9ouW','y2XVC2u','C3rHDgvnyw5Hz2vY','CMvTB3rLqwrKCMvZCW','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','yMfZzw5HBwu','Aw5JBhvKzxm','y2XHDwrL','BM93','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','sw1Hz2uGzM91BMq','AxnsDw5UAw5N','tw9KzwXZihjLzNjLC2HLzcb3AxrOig5LDYbbueKGA2v5','DhLWzq','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3rVz2DSzq','AxrLCMf0Aw9Uq291BNq','C2v0DxbxzwjtB2nRzxq','C2H1DgrVD24','Dg9tDhjPBMC','l2fWAs9Hz2vUDhmVoMfNzw50swqVywn0AxzPDhK','qxr0ywnOBwvUDcbUB3qGzM91BMq','C2vZC2LVBNm','ChjVAMvJDerPCG','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','Dg9VBfjLC3vSDhm','Bw9KzwXZ','l2fWAs9Hz2vUDhmVyxzHAwXHyMXL','ywn0Aw9U','l2fWAs9RzxLZ','BgvUz3rO','u0vorf9nrvntquDf','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9TB2rLBhm','r0vu','Bw9KzwW','y29UDgvUDa','ChjVy2vZC1jLCxvLC3q','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','zgLYzwn0B3j5qwnJzxnZ','D3m6lY8','yxrPBwu','B3jPz2LU','l2fWAs9MAwXLCY91CgXVywq','mJGXogDhqMD5DW','Aw5PDgLHBgL6zq','sw1Hz2uGC2vYDMLUzYbLCNjVCG','CMvX','Bw9KzwXZu2vYDMLJzq','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','D3nnyw5Hz2vY','zMLSzuLK','C3rYAw5NAwz5','z2v0qwDLBNq','Bw9Kzq','nda5mdy3n2vVt0fsDW','CMvHzgrPCG','C3rHCNrtzxj2zxi','y29UBMvJDgLVBNm','ywDLBNrjza','qwDLBNqGBw9Kzsb1CgrHDgvKoIa','mtbTyG','lI4VC2vYDMLJzxmVywDLBNrby3rPDML0EvnLCNzPy2uUANm','yNjVywrJyxn0vg9tzxnZAw9U','ndG3mMHRBwvpvq','yM9KEq','CgH5C2LJywXSEurLBgv0zwq','ywn0AxzL','zMLSzuv4CgXVCMvYtw9KDwXL','qwDLBNqGBw9KzsbZD2L0y2HLzcb0BYa','tM8GqvbjigTLExmGzM91BMqGzM9YihnLC3nPB24','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','Bwv0Ag9K','mte3otCZmefNA2Xluq','zMLSDgvY','C2v0','8j+uHcboBYbJB25Uzwn0Aw9UCYbMB3iGC2vZC2LVBIWGDhj5Aw5NigfSBcbJB25Uzwn0Aw9UCZO','zxHPDa','y2fWywjPBgL0AwvZ','sw52ywXPza','Bg9N','Cg9YDa','zMLSzu5HBwu','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','sfruucbZzxj2zxiGC3rHCNrLzcbZDwnJzxnZzNvSBhK','8j+tOsbxzwjtB2nRzxqGyNjVywrJyxn0vg9tzxnZAw9UignHBgXLzdO','z2v0qxr0ywnOBwvUDhm','Bg94AwfbCgLlzxK','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','DgHLBG','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','qMvHCMvYia','D3jPDgvgAwXL','Dg9mB3DLCKnHC2u','rMfPBgvKihrVihnLBMqGAw1Hz2uGzMLSzq','DMfSDwvZ','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','vw5RBM93BIbHy3rPB246ia','mte5svzkBgrY','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','w0rfqLvhxsa','Aw1WB3j0qxjJAgL2zwrbz2vUDa','z2v0qxr0ywnOBwvUDa','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','rMfPBgvKihrVihrVz2DSzsbHDhrHy2HTzw50','B3jJAgvZDhjHDg9Y','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','sw52ywXPzcbMAwXLBMfTzq','DxjS','z2v0qwDLBNrnzxrHzgf0yq','C2vZC2LVBKLK','rMfPBgvKihrVigrLBgv0zsbHDhrHy2HTzw50','zgvLChnLzwS','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','nte1mduWmMDhzuPyuW','r0vulcbqt1nulcbqvvqSierftevursWGt1busu9ouW','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','C3rHDhvZvgv4Da','q1jfqvrfx0fhru5u','AgvHzgvY','te9ysufFqvbjx0Tfwq','su5urvjoquXFu0vsvKvsx0vsuK9s','B3bLBMfP','A2v5CW','CMvHzhLtDgf0zq','Cgf5Bg9Hza','C3rHDhvZ','zNjVBq','Dg9ju09tDhjPBMC','yMLYDgH0Aw1L','CMvXDwvZDeLK','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','Cg9ZDa','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','ChjLzMvYCMvKtw9KzwW','rMfPBgvKihrVigDLDcb0B29SCYbPBMzVCM1HDgLVBG','C2vYDMvY','tMv3iefNzw50','ywDLBNrFBw9Kzv9JAgfUz2vK','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','AxneAxjLy3rVCNK','D3nZ','CxvLCNK','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','DxbKyxrLx2fNzw50','BwfW','zw52','BwvZC2fNzq','Aw5MBW','Bw9Kzvn0yxrL','vxnLCI1bz2vUDa','l2fWAs9LEhbSB3jLCG','y29Kzq'];a0_0x1b15=function(){return _0x2d6385;};return a0_0x1b15();}const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x5b0dac['dirname'](__filename);class WebServer{constructor(_0x51a20d,_0x363557,_0x397aa9={}){const _0x4627d3=a0_0x208a;this['orchestrator']=_0x51a20d,this[_0x4627d3(0x208)]=_0x363557,this[_0x4627d3(0x212)]=_0x397aa9,this[_0x4627d3(0x173)]=_0x397aa9['port']||0x1f90,this[_0x4627d3(0x1c1)]=_0x397aa9['host']||'localhost',this['app']=a0_0x15f7dc(),this[_0x4627d3(0x1ad)]=createServer(this['app']),this[_0x4627d3(0x1b2)]=new WebSocketServer({'server':this[_0x4627d3(0x1ad)],'verifyClient':_0x186c2e=>{const _0x56350d=_0x4627d3;return this['logger']?.[_0x56350d(0x1b9)](_0x56350d(0x1fd),{'origin':_0x186c2e[_0x56350d(0x254)],'host':_0x186c2e['req']['headers']['host'],'userAgent':_0x186c2e['req']['headers']['user-agent'],'url':_0x186c2e[_0x56350d(0x259)][_0x56350d(0x191)]}),!![];}}),this['connections']=new Map(),this[_0x4627d3(0x241)]=new Map(),this['apiKeyManager']=null,this['isRunning']=![];}async[a0_0x204007(0x257)](){const _0x257d1f=a0_0x204007;try{this['setupMiddleware'](),this['setupRoutes'](),this[_0x257d1f(0x23c)](),await this[_0x257d1f(0x263)](),this[_0x257d1f(0x208)]['info']('Web\x20server\x20initialized',{'port':this[_0x257d1f(0x173)],'host':this['host'],'url':'http://'+this[_0x257d1f(0x1c1)]+':'+this[_0x257d1f(0x173)]});}catch(_0x3476e5){this['logger']['error']('Web\x20server\x20initialization\x20failed',{'error':_0x3476e5[_0x257d1f(0x1b8)],'stack':_0x3476e5[_0x257d1f(0x1f0)]});throw _0x3476e5;}}['setupMiddleware'](){const _0x38c8e4=a0_0x204007;this[_0x38c8e4(0x21e)][_0x38c8e4(0x1eb)]((_0x3b56a7,_0x1a5b3c,_0x15efa8)=>{const _0x2848ae=_0x38c8e4;_0x1a5b3c[_0x2848ae(0x19c)]('Access-Control-Allow-Origin','*'),_0x1a5b3c[_0x2848ae(0x19c)](_0x2848ae(0x20e),_0x2848ae(0x198)),_0x1a5b3c[_0x2848ae(0x19c)](_0x2848ae(0x22f),'Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x3b56a7[_0x2848ae(0x272)]===_0x2848ae(0x22b)?_0x1a5b3c['sendStatus'](HTTP_STATUS['OK']):_0x15efa8();}),this[_0x38c8e4(0x21e)]['use'](a0_0x15f7dc[_0x38c8e4(0x1d5)]({'limit':_0x38c8e4(0x267)})),this['app'][_0x38c8e4(0x1eb)](a0_0x15f7dc['urlencoded']({'extended':!![],'limit':_0x38c8e4(0x267)})),this[_0x38c8e4(0x26e)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app'][_0x38c8e4(0x1eb)]('/api/file-explorer',this['fileExplorerModule'][_0x38c8e4(0x1f2)]);const _0x2cb833=a0_0x5b0dac['join'](__dirname,'../../web-ui/build');this['app']['use'](a0_0x15f7dc[_0x38c8e4(0x1e6)](_0x2cb833)),this[_0x38c8e4(0x21e)]['use']((_0x2f1b57,_0x17d2e6,_0x560acb)=>{const _0x593d09=_0x38c8e4;this[_0x593d09(0x208)]['debug'](_0x2f1b57['method']+'\x20'+_0x2f1b57[_0x593d09(0x1f9)],{'ip':_0x2f1b57['ip'],'userAgent':_0x2f1b57['get'](_0x593d09(0x1bb))}),_0x560acb();});}['setupRoutes'](){const _0x1e109d=a0_0x204007;this[_0x1e109d(0x21e)][_0x1e109d(0x1df)](_0x1e109d(0x1f4),async(_0xce2f08,_0x231763)=>{const _0x28ff56=_0x1e109d;try{const _0x418fd5=a0_0x5b0dac['join'](__dirname,_0x28ff56(0x1fb)),_0x374e06=JSON['parse'](await a0_0x95ade0['readFile'](_0x418fd5,_0x28ff56(0x1d7)));_0x231763['json']({'status':_0x28ff56(0x1d9),'version':_0x374e06[_0x28ff56(0x1dc)]||_0x28ff56(0x1dd),'timestamp':new Date()['toISOString']()});}catch(_0x1353ba){_0x231763[_0x28ff56(0x1d5)]({'status':_0x28ff56(0x1d9),'version':'1.0.0','timestamp':new Date()[_0x28ff56(0x1a5)]()});}}),this['app']['post']('/api/sessions',async(_0x94be89,_0x2bce8d)=>{const _0x2d5979=_0x1e109d;try{const _0x121c06='web-'+Date[_0x2d5979(0x233)]()+'-'+Math['random']()['toString'](0x24)['substr'](0x2,0x9),_0x37f4e7=_0x94be89[_0x2d5979(0x26b)]['projectDir']||process[_0x2d5979(0x217)](),_0x181d9f={'id':_0x121c06,'projectDir':_0x37f4e7,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this['sessions'][_0x2d5979(0x16d)](_0x121c06,_0x181d9f),_0x2bce8d[_0x2d5979(0x1d5)]({'success':!![],'session':_0x181d9f});}catch(_0x270c25){_0x2bce8d['status'](HTTP_STATUS[_0x2d5979(0x19e)])['json']({'success':![],'error':_0x270c25[_0x2d5979(0x1b8)]});}}),this[_0x1e109d(0x21e)]['post']('/api/orchestrator',async(_0x35c850,_0x42e7c2)=>{const _0x2556b0=_0x1e109d;try{const _0x3a7a53={'interface':INTERFACE_TYPES[_0x2556b0(0x1be)],'sessionId':_0x35c850['body'][_0x2556b0(0x193)],'action':_0x35c850[_0x2556b0(0x26b)][_0x2556b0(0x247)],'payload':_0x35c850[_0x2556b0(0x26b)]['payload'],'projectDir':_0x35c850['body']['projectDir']||process[_0x2556b0(0x217)]()},_0x3e5780=await this['orchestrator']['processRequest'](_0x3a7a53);this[_0x2556b0(0x269)](_0x3a7a53[_0x2556b0(0x193)],{'type':_0x2556b0(0x177),'action':_0x3a7a53[_0x2556b0(0x247)],'response':_0x3e5780}),_0x42e7c2['json'](_0x3e5780);}catch(_0x40c112){this['logger'][_0x2556b0(0x1fa)]('Orchestrator\x20API\x20error',{'error':_0x40c112['message'],'body':_0x35c850['body']}),_0x42e7c2[_0x2556b0(0x1a3)](HTTP_STATUS[_0x2556b0(0x19e)])['json']({'success':![],'error':_0x40c112['message']});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)]('/api/files',async(_0x5805e8,_0x2d9824)=>{const _0x2877f3=_0x1e109d;try{const {path:_0xc3b4df,projectDir:_0x3bda19}=_0x5805e8['query'],_0xcd0a74=a0_0x5b0dac['resolve'](_0x3bda19||process['cwd'](),_0xc3b4df||'.'),_0x5456bb=await a0_0x95ade0[_0x2877f3(0x1bf)](_0xcd0a74);if(_0x5456bb[_0x2877f3(0x1b1)]()){const _0xa45167=await a0_0x95ade0['readdir'](_0xcd0a74,{'withFileTypes':!![]}),_0x18d9b2=_0xa45167['map'](_0x2006f6=>({'name':_0x2006f6['name'],'type':_0x2006f6[_0x2877f3(0x1b1)]()?'directory':_0x2877f3(0x1de),'path':a0_0x5b0dac[_0x2877f3(0x1ff)](_0xc3b4df||'.',_0x2006f6[_0x2877f3(0x1e7)])}));_0x2d9824[_0x2877f3(0x1d5)]({'success':!![],'files':_0x18d9b2});}else{const _0x35c625=await a0_0x95ade0[_0x2877f3(0x215)](_0xcd0a74,'utf8');_0x2d9824[_0x2877f3(0x1d5)]({'success':!![],'content':_0x35c625,'type':_0x2877f3(0x1de)});}}catch(_0x2929b5){_0x2d9824[_0x2877f3(0x1a3)](HTTP_STATUS['NOT_FOUND'])['json']({'success':![],'error':_0x2929b5['message']});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1a9)](_0x1e109d(0x255),async(_0x41b9cb,_0x4d0718)=>{const _0x2c13d8=_0x1e109d;try{const {fileName:_0xdc32d4,content:_0x3156f7,projectDir:_0x52ebe6}=_0x41b9cb[_0x2c13d8(0x26b)],_0x2d9fe4=_0x52ebe6||process['cwd'](),_0x56641d=a0_0x5b0dac['resolve'](_0x2d9fe4,_0xdc32d4);await a0_0x95ade0['mkdir'](_0x2d9fe4,{'recursive':!![]}),await a0_0x95ade0[_0x2c13d8(0x181)](_0x56641d,_0x3156f7,_0x2c13d8(0x1d7)),_0x4d0718['json']({'success':!![],'message':'File\x20uploaded\x20successfully','path':_0x56641d});}catch(_0x40d028){_0x4d0718['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x40d028[_0x2c13d8(0x1b8)]});}}),this[_0x1e109d(0x21e)]['get'](_0x1e109d(0x1bc),async(_0x4be189,_0x24ee4d)=>{const _0x1318a7=_0x1e109d;try{const {path:_0x4a73b5,showHidden:showHidden=![]}=_0x4be189[_0x1318a7(0x1b3)],_0x2e4d60=_0x4a73b5||process[_0x1318a7(0x217)](),_0x1767a8=a0_0x5b0dac['resolve'](_0x2e4d60),_0x5e4917=a0_0x5b0dac['normalize'](_0x1767a8),_0x466348=await a0_0x95ade0[_0x1318a7(0x1bf)](_0x5e4917);if(!_0x466348['isDirectory']())return _0x24ee4d[_0x1318a7(0x1a3)](HTTP_STATUS['BAD_REQUEST'])[_0x1318a7(0x1d5)]({'success':![],'error':_0x1318a7(0x21a)});const _0x1ed3c2=await a0_0x95ade0[_0x1318a7(0x262)](_0x5e4917,{'withFileTypes':!![]}),_0x158573=await Promise[_0x1318a7(0x1e8)](_0x1ed3c2[_0x1318a7(0x16c)](_0x430f12=>showHidden===_0x1318a7(0x1e2)||!_0x430f12['name']['startsWith']('.'))['map'](async _0x99031c=>{const _0x229f37=_0x1318a7,_0x3a06a7=a0_0x5b0dac['join'](_0x5e4917,_0x99031c['name']),_0x93c90f=await a0_0x95ade0['stat'](_0x3a06a7)['catch'](()=>null);return{'name':_0x99031c[_0x229f37(0x1e7)],'type':_0x99031c['isDirectory']()?_0x229f37(0x1f3):'file','path':_0x3a06a7,'relativePath':a0_0x5b0dac['relative'](process['cwd'](),_0x3a06a7),'size':_0x93c90f?.['size']||0x0,'modified':_0x93c90f?.[_0x229f37(0x1d3)]||null,'isHidden':_0x99031c['name'][_0x229f37(0x1ca)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x158573['sort']((_0x8b6d8f,_0x304dd0)=>{const _0x9aca5a=_0x1318a7;if(_0x8b6d8f[_0x9aca5a(0x239)]!==_0x304dd0['type'])return _0x8b6d8f[_0x9aca5a(0x239)]===_0x9aca5a(0x1f3)?-0x1:0x1;return _0x8b6d8f[_0x9aca5a(0x1e7)]['localeCompare'](_0x304dd0[_0x9aca5a(0x1e7)]);});const _0x5280e9=a0_0x5b0dac['dirname'](_0x5e4917),_0x3d6b8d=_0x5280e9!==_0x5e4917;_0x24ee4d['json']({'success':!![],'currentPath':_0x5e4917,'currentRelativePath':a0_0x5b0dac['relative'](process[_0x1318a7(0x217)](),_0x5e4917),'parentPath':_0x3d6b8d?_0x5280e9:null,'items':_0x158573,'totalItems':_0x158573['length'],'directories':_0x158573[_0x1318a7(0x16c)](_0x3662b6=>_0x3662b6[_0x1318a7(0x239)]===_0x1318a7(0x1f3))[_0x1318a7(0x249)],'files':_0x158573[_0x1318a7(0x16c)](_0x1f5b74=>_0x1f5b74[_0x1318a7(0x239)]===_0x1318a7(0x1de))['length']});}catch(_0x136f00){_0x24ee4d[_0x1318a7(0x1a3)](HTTP_STATUS[_0x1318a7(0x19e)])[_0x1318a7(0x1d5)]({'success':![],'error':_0x136f00['message'],'code':_0x136f00[_0x1318a7(0x1bd)]});}}),this[_0x1e109d(0x21e)]['post']('/api/explorer/mkdir',async(_0x488e3c,_0x38664d)=>{const _0x42eea3=_0x1e109d;try{const {path:_0x51917c,name:_0x2d666a}=_0x488e3c['body'],_0x35bd3a=a0_0x5b0dac['resolve'](_0x51917c,_0x2d666a);await a0_0x95ade0[_0x42eea3(0x21f)](_0x35bd3a,{'recursive':![]}),_0x38664d['json']({'success':!![],'path':_0x35bd3a,'relativePath':a0_0x5b0dac['relative'](process['cwd'](),_0x35bd3a)});}catch(_0x4fa21b){_0x38664d[_0x42eea3(0x1a3)](HTTP_STATUS[_0x42eea3(0x19e)])['json']({'success':![],'error':_0x4fa21b[_0x42eea3(0x1b8)],'code':_0x4fa21b[_0x42eea3(0x1bd)]});}}),this[_0x1e109d(0x21e)]['get'](_0x1e109d(0x20d),async(_0x2c0fc6,_0x8bacae)=>{const _0xa69ff4=_0x1e109d;try{const {path:_0x235a4b}=_0x2c0fc6['query'],_0x40a125=a0_0x5b0dac[_0xa69ff4(0x1c3)](_0x235a4b),_0x5638ac=await a0_0x95ade0['stat'](_0x40a125);_0x8bacae['json']({'success':!![],'path':_0x40a125,'relativePath':a0_0x5b0dac['relative'](process['cwd'](),_0x40a125),'isDirectory':_0x5638ac[_0xa69ff4(0x1b1)](),'isFile':_0x5638ac[_0xa69ff4(0x223)](),'size':_0x5638ac['size'],'created':_0x5638ac[_0xa69ff4(0x1a6)],'modified':_0x5638ac['mtime'],'accessed':_0x5638ac[_0xa69ff4(0x253)]});}catch(_0x32720b){_0x8bacae[_0xa69ff4(0x1a3)](HTTP_STATUS[_0xa69ff4(0x19e)])[_0xa69ff4(0x1d5)]({'success':![],'error':_0x32720b[_0xa69ff4(0x1b8)],'code':_0x32720b[_0xa69ff4(0x1bd)]});}}),this['app'][_0x1e109d(0x1a9)]('/api/llm/chat',async(_0x426d8d,_0x40e15d)=>{const _0x59ef78=_0x1e109d;try{const {sessionId:_0x4bc120,model:_0x59f47c,platformProvided:_0x3e14ab}=_0x426d8d['body'];if(!_0x4bc120)return _0x40e15d['status'](0x190)['json']({'error':_0x59ef78(0x250)});let _0x4338b8=null,_0x47da11=null;if(this[_0x59ef78(0x22a)]){const _0x43d8c8=this['apiKeyManager']['getKeysForRequest'](_0x4bc120,{'platformProvided':_0x3e14ab||![],'vendor':this['_getVendorFromModel'](_0x59f47c)});_0x4338b8=_0x43d8c8[_0x59ef78(0x17b)],_0x47da11=_0x43d8c8['vendorApiKey'];}!_0x4338b8&&(_0x4338b8=this['config']['loxiaApiKey']||process[_0x59ef78(0x1b7)]['LOXIA_API_KEY']);!_0x4338b8&&_0x426d8d['body'][_0x59ef78(0x20c)]&&(_0x4338b8=_0x426d8d[_0x59ef78(0x26b)][_0x59ef78(0x20c)]);if(!_0x4338b8)return this['logger']['warn'](_0x59ef78(0x229),{'sessionId':_0x4bc120,'model':_0x59f47c,'platformProvided':_0x3e14ab,'hasSessionManager':!!this['apiKeyManager']}),_0x40e15d[_0x59ef78(0x1a3)](0x191)[_0x59ef78(0x1d5)]({'error':'No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.'});const _0x301d59='https://autopilot-api.azurewebsites.net/llm/chat',_0x32e942={..._0x426d8d[_0x59ef78(0x26b)],'apiKey':_0x4338b8,..._0x47da11&&{'vendorApiKey':_0x47da11}},_0x27ea56={'method':_0x59ef78(0x211),'headers':{'Content-Type':'application/json','Authorization':_0x59ef78(0x180)+_0x4338b8},'body':JSON['stringify'](_0x32e942)};this['logger']['info'](_0x59ef78(0x1b0),{'url':_0x301d59,'model':_0x426d8d[_0x59ef78(0x26b)]['model'],'hasApiKey':!!_0x4338b8});const _0x9b63cf=await fetch(_0x301d59,_0x27ea56);if(_0x9b63cf['ok']){const _0x27359d=await _0x9b63cf[_0x59ef78(0x1d5)]();this[_0x59ef78(0x208)]['info']('Successfully received response from Azure backend',{'model':_0x27359d[_0x59ef78(0x24d)],'contentLength':_0x27359d[_0x59ef78(0x24e)]?.[_0x59ef78(0x249)]||0x0}),_0x40e15d[_0x59ef78(0x1d5)](_0x27359d);}else{const _0xad441d=await _0x9b63cf[_0x59ef78(0x1e3)]();this['logger'][_0x59ef78(0x218)]('Azure\x20backend\x20chat\x20request\x20failed',{'status':_0x9b63cf['status'],'statusText':_0x9b63cf[_0x59ef78(0x19a)],'error':_0xad441d}),_0x40e15d['status'](_0x9b63cf['status'])[_0x59ef78(0x1d5)]({'error':'Azure\x20backend\x20error:\x20'+_0x9b63cf[_0x59ef78(0x1a3)]+'\x20'+_0x9b63cf['statusText'],'details':_0xad441d});}}catch(_0xd05e58){this[_0x59ef78(0x208)]['error']('Failed\x20to\x20proxy\x20chat\x20request\x20to\x20Azure\x20backend',{'error':_0xd05e58[_0x59ef78(0x1b8)],'stack':_0xd05e58[_0x59ef78(0x1f0)]}),_0x40e15d[_0x59ef78(0x1a3)](0x1f4)[_0x59ef78(0x1d5)]({'error':'Failed\x20to\x20connect\x20to\x20AI\x20service','details':_0xd05e58[_0x59ef78(0x1b8)]});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)]('/api/llm/models',async(_0x54dd34,_0x4b1a07)=>{const _0x3e4d7e=_0x1e109d;try{const _0x3ec3ab=_0x54dd34[_0x3e4d7e(0x228)]['authorization'];let _0x16506e=null;_0x3ec3ab&&_0x3ec3ab['startsWith'](_0x3e4d7e(0x180))&&(_0x16506e=_0x3ec3ab[_0x3e4d7e(0x1ec)](0x7));!_0x16506e&&(_0x16506e=this[_0x3e4d7e(0x212)][_0x3e4d7e(0x17b)]||process['env'][_0x3e4d7e(0x19d)]);const _0x327c58=_0x3e4d7e(0x24b),_0x432629={'method':_0x3e4d7e(0x24c),'headers':{'Content-Type':'application/json',..._0x16506e&&{'Authorization':'Bearer\x20'+_0x16506e}}};this[_0x3e4d7e(0x208)][_0x3e4d7e(0x1b9)]('Fetching models from Loxia Azure backend',{'url':_0x327c58,'hasApiKey':!!_0x16506e});const _0x1066cc=await fetch(_0x327c58,_0x432629);if(_0x1066cc['ok']){const _0x388928=await _0x1066cc['json']();this['logger']['info']('Successfully fetched models from Azure backend',{'modelCount':_0x388928[_0x3e4d7e(0x245)]?.[_0x3e4d7e(0x249)]||0x0}),_0x4b1a07[_0x3e4d7e(0x1d5)](_0x388928);}else{const _0x1b823f=await _0x1066cc[_0x3e4d7e(0x1e3)]();this[_0x3e4d7e(0x208)]['error'](_0x3e4d7e(0x1a8),{'status':_0x1066cc[_0x3e4d7e(0x1a3)],'statusText':_0x1066cc[_0x3e4d7e(0x19a)],'error':_0x1b823f}),_0x4b1a07[_0x3e4d7e(0x1a3)](_0x1066cc[_0x3e4d7e(0x1a3)])['json']({'success':![],'error':'Failed\x20to\x20fetch\x20models\x20from\x20backend:\x20'+_0x1066cc['status']+'\x20'+_0x1066cc[_0x3e4d7e(0x19a)],'details':_0x1b823f});}}catch(_0x447079){this[_0x3e4d7e(0x208)]['error']('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x447079[_0x3e4d7e(0x1b8)],'stack':_0x447079['stack']}),_0x4b1a07[_0x3e4d7e(0x1a3)](0x1f4)[_0x3e4d7e(0x1d5)]({'success':![],'error':'Failed to fetch models from backend','details':_0x447079['message']});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)]('/api/tools',async(_0x1f136a,_0x244688)=>{const _0x2d92ad=_0x1e109d;try{const _0x471b83=this['toolsRegistry'];if(!_0x471b83)return _0x244688[_0x2d92ad(0x1a3)](0x1f4)['json']({'error':_0x2d92ad(0x225)});const _0x40a27a=_0x471b83['getAvailableToolsForUI']();this['logger']['info'](_0x2d92ad(0x199),{'toolCount':_0x40a27a['length'],'tools':_0x40a27a['map'](_0x4da2e8=>({'id':_0x4da2e8['id'],'name':_0x4da2e8[_0x2d92ad(0x1e7)],'category':_0x4da2e8['category']}))}),_0x244688[_0x2d92ad(0x1d5)]({'success':!![],'tools':_0x40a27a,'total':_0x40a27a[_0x2d92ad(0x249)]});}catch(_0x3b91f3){this['logger']['error'](_0x2d92ad(0x1ac),{'error':_0x3b91f3[_0x2d92ad(0x1b8)],'stack':_0x3b91f3[_0x2d92ad(0x1f0)]}),_0x244688['status'](0x1f4)[_0x2d92ad(0x1d5)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x3b91f3['message']});}}),this['app']['post'](_0x1e109d(0x248),async(_0x2be4be,_0xe79797)=>{const _0x3be017=_0x1e109d;try{const {sessionId:_0x11953e,loxiaApiKey:_0x460020,vendorKeys:_0x566abb}=_0x2be4be['body'];if(!_0x11953e)return _0xe79797['status'](0x190)['json']({'success':![],'error':_0x3be017(0x250)});if(!this['apiKeyManager'])return _0xe79797['status'](0x1f4)[_0x3be017(0x1d5)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this['apiKeyManager']['setSessionKeys'](_0x11953e,{'loxiaApiKey':_0x460020,'vendorKeys':_0x566abb||{}}),this[_0x3be017(0x208)][_0x3be017(0x1b9)]('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x11953e,'hasLoxiaKey':!!_0x460020,'vendorKeys':Object[_0x3be017(0x1a0)](_0x566abb||{})});if(this[_0x3be017(0x18e)]&&this[_0x3be017(0x18e)][_0x3be017(0x25a)]&&_0x460020)try{await this[_0x3be017(0x18e)]['modelsService']['refresh']({'sessionId':_0x11953e,'apiKey':_0x460020}),this['logger'][_0x3be017(0x1b9)](_0x3be017(0x238),{'sessionId':_0x11953e});}catch(_0x2aedc7){this[_0x3be017(0x208)][_0x3be017(0x218)](_0x3be017(0x271),{'error':_0x2aedc7['message'],'sessionId':_0x11953e});}_0xe79797['json']({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x11953e,'hasLoxiaKey':!!_0x460020,'vendorKeys':Object['keys'](_0x566abb||{})});}catch(_0x391994){this[_0x3be017(0x208)]['error']('Failed\x20to\x20set\x20API\x20keys',{'error':_0x391994['message'],'sessionId':_0x2be4be[_0x3be017(0x26b)]['sessionId']}),_0xe79797['status'](0x1f4)[_0x3be017(0x1d5)]({'success':![],'error':_0x391994[_0x3be017(0x1b8)]});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)]('/api/keys/:sessionId',async(_0x4f9917,_0xbbd735)=>{const _0x47cbff=_0x1e109d;try{const {sessionId:_0x386d11}=_0x4f9917['params'];if(!this[_0x47cbff(0x22a)])return _0xbbd735['status'](0x1f4)['json']({'success':![],'error':_0x47cbff(0x1aa)});const _0x4819ed=this['apiKeyManager']['getSessionKeys'](_0x386d11);_0xbbd735[_0x47cbff(0x1d5)]({'success':!![],'sessionId':_0x386d11,'hasLoxiaKey':!!_0x4819ed['loxiaApiKey'],'vendorKeys':Object[_0x47cbff(0x1a0)](_0x4819ed[_0x47cbff(0x203)]||{}),'updatedAt':_0x4819ed['updatedAt']});}catch(_0x1041b5){this[_0x47cbff(0x208)][_0x47cbff(0x1fa)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x1041b5[_0x47cbff(0x1b8)],'sessionId':_0x4f9917[_0x47cbff(0x221)]['sessionId']}),_0xbbd735['status'](0x1f4)[_0x47cbff(0x1d5)]({'success':![],'error':_0x1041b5[_0x47cbff(0x1b8)]});}}),this['app']['delete'](_0x1e109d(0x1cb),async(_0x109845,_0x37f649)=>{const _0x334dd4=_0x1e109d;try{const {sessionId:_0x3bb070}=_0x109845[_0x334dd4(0x221)];if(!this[_0x334dd4(0x22a)])return _0x37f649['status'](0x1f4)[_0x334dd4(0x1d5)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0xd8cc53=this[_0x334dd4(0x22a)][_0x334dd4(0x219)](_0x3bb070);_0x37f649[_0x334dd4(0x1d5)]({'success':!![],'removed':_0xd8cc53,'message':_0xd8cc53?_0x334dd4(0x176):_0x334dd4(0x270)});}catch(_0x5a6bb8){this[_0x334dd4(0x208)][_0x334dd4(0x1fa)](_0x334dd4(0x196),{'error':_0x5a6bb8[_0x334dd4(0x1b8)],'sessionId':_0x109845[_0x334dd4(0x221)]['sessionId']}),_0x37f649[_0x334dd4(0x1a3)](0x1f4)[_0x334dd4(0x1d5)]({'success':![],'error':_0x5a6bb8['message']});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)]('/api/keys',async(_0x550b26,_0xa76d25)=>{const _0x5838df=_0x1e109d;try{if(!this['apiKeyManager'])return _0xa76d25[_0x5838df(0x1a3)](0x1f4)[_0x5838df(0x1d5)]({'success':![],'error':_0x5838df(0x1aa)});const _0x2fe0a5=this['apiKeyManager']['getActiveSessions']();_0xa76d25[_0x5838df(0x1d5)]({'success':!![],'sessions':_0x2fe0a5,'total':_0x2fe0a5[_0x5838df(0x249)]});}catch(_0x51c406){this['logger']['error'](_0x5838df(0x1e1),{'error':_0x51c406['message']}),_0xa76d25['status'](0x1f4)[_0x5838df(0x1d5)]({'success':![],'error':_0x51c406['message']});}}),this['app'][_0x1e109d(0x1a9)]('/api/agents/:agentId/attachments/upload',async(_0x5653fe,_0x18afbb)=>{const _0xe34f43=_0x1e109d;try{const {agentId:_0xd2adb7}=_0x5653fe[_0xe34f43(0x221)],{filePath:_0x4ed6ae,mode:_0x51d1ba,fileName:_0x180310}=_0x5653fe['body'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x18afbb[_0xe34f43(0x1a3)](0x1f4)['json']({'success':![],'error':_0xe34f43(0x1b4)});const _0x201e02=await this['orchestrator']['fileAttachmentService']['uploadFile']({'agentId':_0xd2adb7,'filePath':_0x4ed6ae,'mode':_0x51d1ba||'content','fileName':_0x180310});this['logger']['info']('File\x20attachment\x20uploaded',{'agentId':_0xd2adb7,'fileId':_0x201e02[_0xe34f43(0x25d)],'fileName':_0x201e02[_0xe34f43(0x174)]}),_0x18afbb[_0xe34f43(0x1d5)]({'success':!![],'attachment':_0x201e02});}catch(_0xde21d2){this[_0xe34f43(0x208)]['error']('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0x5653fe[_0xe34f43(0x221)][_0xe34f43(0x265)],'error':_0xde21d2[_0xe34f43(0x1b8)]}),_0x18afbb['status'](0x1f4)[_0xe34f43(0x1d5)]({'success':![],'error':_0xde21d2['message']});}}),this[_0x1e109d(0x21e)]['get']('/api/agents/:agentId/attachments',async(_0x1a2378,_0x4edccb)=>{const _0x27ce88=_0x1e109d;try{const {agentId:_0x4c3a16}=_0x1a2378[_0x27ce88(0x221)],{mode:_0x1a82fc,active:_0x1d7fae}=_0x1a2378[_0x27ce88(0x1b3)];if(!this[_0x27ce88(0x18e)]?.['fileAttachmentService'])return _0x4edccb['status'](0x1f4)[_0x27ce88(0x1d5)]({'success':![],'error':_0x27ce88(0x1b4)});const _0x19917e={};if(_0x1a82fc)_0x19917e[_0x27ce88(0x260)]=_0x1a82fc;if(_0x1d7fae!==undefined)_0x19917e[_0x27ce88(0x26d)]=_0x1d7fae==='true';const _0x2780b6=await this[_0x27ce88(0x18e)]['fileAttachmentService'][_0x27ce88(0x17a)](_0x4c3a16,_0x19917e);_0x4edccb[_0x27ce88(0x1d5)]({'success':!![],'attachments':_0x2780b6,'total':_0x2780b6[_0x27ce88(0x249)]});}catch(_0x9e225b){this['logger'][_0x27ce88(0x1fa)]('Failed\x20to\x20get\x20attachments',{'agentId':_0x1a2378[_0x27ce88(0x221)]['agentId'],'error':_0x9e225b[_0x27ce88(0x1b8)]}),_0x4edccb[_0x27ce88(0x1a3)](0x1f4)[_0x27ce88(0x1d5)]({'success':![],'error':_0x9e225b[_0x27ce88(0x1b8)]});}}),this['app'][_0x1e109d(0x1df)](_0x1e109d(0x1f7),async(_0x526e6b,_0x4cfc8d)=>{const _0x335df9=_0x1e109d;try{const {fileId:_0x39a361}=_0x526e6b['params'];if(!this['orchestrator']?.[_0x335df9(0x234)])return _0x4cfc8d[_0x335df9(0x1a3)](0x1f4)['json']({'success':![],'error':_0x335df9(0x1b4)});const _0xbcb80b=await this[_0x335df9(0x18e)]['fileAttachmentService'][_0x335df9(0x18b)](_0x39a361);if(!_0xbcb80b)return _0x4cfc8d[_0x335df9(0x1a3)](0x194)[_0x335df9(0x1d5)]({'success':![],'error':_0x335df9(0x240)});_0x4cfc8d['json']({'success':!![],'attachment':_0xbcb80b});}catch(_0xb39055){this[_0x335df9(0x208)][_0x335df9(0x1fa)]('Failed\x20to\x20get\x20attachment',{'fileId':_0x526e6b[_0x335df9(0x221)]['fileId'],'error':_0xb39055['message']}),_0x4cfc8d[_0x335df9(0x1a3)](0x1f4)[_0x335df9(0x1d5)]({'success':![],'error':_0xb39055['message']});}}),this['app']['patch'](_0x1e109d(0x23a),async(_0x25c0a7,_0x5c8d90)=>{const _0xe6880a=_0x1e109d;try{const {fileId:_0x3acc4f}=_0x25c0a7['params'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x5c8d90[_0xe6880a(0x1a3)](0x1f4)['json']({'success':![],'error':_0xe6880a(0x1b4)});const _0x3cdd49=await this[_0xe6880a(0x18e)][_0xe6880a(0x234)]['toggleActive'](_0x3acc4f);this[_0xe6880a(0x208)]['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0x3acc4f,'active':_0x3cdd49[_0xe6880a(0x26d)]}),_0x5c8d90[_0xe6880a(0x1d5)]({'success':!![],'attachment':_0x3cdd49});}catch(_0x32f670){this['logger'][_0xe6880a(0x1fa)](_0xe6880a(0x18d),{'fileId':_0x25c0a7[_0xe6880a(0x221)][_0xe6880a(0x25d)],'error':_0x32f670['message']}),_0x5c8d90[_0xe6880a(0x1a3)](0x1f4)['json']({'success':![],'error':_0x32f670[_0xe6880a(0x1b8)]});}}),this['app'][_0x1e109d(0x204)](_0x1e109d(0x1f7),async(_0xb9594b,_0x5065ce)=>{const _0x420cc2=_0x1e109d;try{const {fileId:_0x4eb180}=_0xb9594b['params'],{mode:_0x5073cb,active:_0x4603a7}=_0xb9594b['body'];if(!this['orchestrator']?.[_0x420cc2(0x234)])return _0x5065ce['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x23b7ef={};if(_0x5073cb!==undefined)_0x23b7ef[_0x420cc2(0x260)]=_0x5073cb;if(_0x4603a7!==undefined)_0x23b7ef['active']=_0x4603a7;const _0x3bb828=await this['orchestrator']['fileAttachmentService'][_0x420cc2(0x1c6)](_0x4eb180,_0x23b7ef);this['logger']['info']('Attachment\x20updated',{'fileId':_0x4eb180,'updates':_0x23b7ef}),_0x5065ce['json']({'success':!![],'attachment':_0x3bb828});}catch(_0x5a18cd){this['logger']['error'](_0x420cc2(0x235),{'fileId':_0xb9594b[_0x420cc2(0x221)]['fileId'],'error':_0x5a18cd['message']}),_0x5065ce[_0x420cc2(0x1a3)](0x1f4)['json']({'success':![],'error':_0x5a18cd[_0x420cc2(0x1b8)]});}}),this['app']['delete'](_0x1e109d(0x1f7),async(_0x21f774,_0x34df4c)=>{const _0x461203=_0x1e109d;try{const {fileId:_0x4b6fb4}=_0x21f774['params'],{agentId:_0x38bb5f}=_0x21f774['query'];if(!_0x38bb5f)return _0x34df4c[_0x461203(0x1a3)](0x190)[_0x461203(0x1d5)]({'success':![],'error':_0x461203(0x18c)});if(!this['orchestrator']?.['fileAttachmentService'])return _0x34df4c[_0x461203(0x1a3)](0x1f4)['json']({'success':![],'error':_0x461203(0x1b4)});const _0x472319=await this[_0x461203(0x18e)]['fileAttachmentService'][_0x461203(0x1ed)](_0x4b6fb4,_0x38bb5f);this[_0x461203(0x208)]['info']('Attachment\x20deleted',{'fileId':_0x4b6fb4,'agentId':_0x38bb5f,'physicallyDeleted':_0x472319['physicallyDeleted']}),_0x34df4c['json']({'success':!![],'message':_0x472319['physicallyDeleted']?_0x461203(0x213):'Reference\x20removed','physicallyDeleted':_0x472319[_0x461203(0x26c)]});}catch(_0x38011a){this['logger'][_0x461203(0x1fa)](_0x461203(0x194),{'fileId':_0x21f774[_0x461203(0x221)]['fileId'],'error':_0x38011a['message']}),_0x34df4c[_0x461203(0x1a3)](0x1f4)['json']({'success':![],'error':_0x38011a[_0x461203(0x1b8)]});}}),this[_0x1e109d(0x21e)]['post']('/api/attachments/:fileId/import',async(_0x26acd0,_0x6a5d0e)=>{const _0x1b8c91=_0x1e109d;try{const {fileId:_0x549c37}=_0x26acd0['params'],{targetAgentId:_0x2e56f8}=_0x26acd0['body'];if(!_0x2e56f8)return _0x6a5d0e['status'](0x190)['json']({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this[_0x1b8c91(0x18e)]?.['fileAttachmentService'])return _0x6a5d0e['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x2e45fc=await this['orchestrator'][_0x1b8c91(0x234)][_0x1b8c91(0x207)](_0x549c37,_0x2e56f8);this['logger'][_0x1b8c91(0x1b9)]('Attachment imported',{'fileId':_0x549c37,'targetAgentId':_0x2e56f8}),_0x6a5d0e['json']({'success':!![],'attachment':_0x2e45fc});}catch(_0x38a38c){this[_0x1b8c91(0x208)][_0x1b8c91(0x1fa)]('Failed to import attachment',{'fileId':_0x26acd0[_0x1b8c91(0x221)][_0x1b8c91(0x25d)],'error':_0x38a38c[_0x1b8c91(0x1b8)]}),_0x6a5d0e[_0x1b8c91(0x1a3)](0x1f4)[_0x1b8c91(0x1d5)]({'success':![],'error':_0x38a38c[_0x1b8c91(0x1b8)]});}}),this['app'][_0x1e109d(0x1df)]('/api/attachments/:fileId/preview',async(_0x14d839,_0x123315)=>{const _0x146cc1=_0x1e109d;try{const {fileId:_0x9a6e88}=_0x14d839['params'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x123315[_0x146cc1(0x1a3)](0x1f4)[_0x146cc1(0x1d5)]({'success':![],'error':_0x146cc1(0x1b4)});const _0x147f02=await this[_0x146cc1(0x18e)]['fileAttachmentService'][_0x146cc1(0x20f)](_0x9a6e88);if(!_0x147f02)return _0x123315[_0x146cc1(0x1a3)](0x194)['json']({'success':![],'error':_0x146cc1(0x240)});_0x123315['json']({'success':!![],'preview':_0x147f02});}catch(_0x313ff0){this['logger']['error']('Failed\x20to\x20get\x20attachment\x20preview',{'fileId':_0x14d839[_0x146cc1(0x221)]['fileId'],'error':_0x313ff0[_0x146cc1(0x1b8)]}),_0x123315[_0x146cc1(0x1a3)](0x1f4)['json']({'success':![],'error':_0x313ff0['message']});}}),this[_0x1e109d(0x21e)]['get']('/api/images/:sessionId/:filename',async(_0x14e765,_0x2985fa)=>{const _0x143a4c=_0x1e109d;try{const {sessionId:_0x1955ae,filename:_0x517f73}=_0x14e765[_0x143a4c(0x221)],_0xe33206=this[_0x143a4c(0x241)][_0x143a4c(0x1df)](_0x1955ae);if(!_0xe33206)return _0x2985fa['status'](HTTP_STATUS['FORBIDDEN'])['json']({'success':![],'error':_0x143a4c(0x1c2)});const _0x588f26=a0_0x5b0dac[_0x143a4c(0x230)](_0x517f73);if(_0x588f26!==_0x517f73||_0x517f73[_0x143a4c(0x231)]('..')||_0x517f73['includes']('/')||_0x517f73[_0x143a4c(0x231)]('\x5c'))return _0x2985fa['status'](HTTP_STATUS[_0x143a4c(0x1ef)])['json']({'success':![],'error':_0x143a4c(0x190)});let _0xd3534d=null;const _0x3d8feb=[a0_0x5b0dac[_0x143a4c(0x1ff)](_0xe33206[_0x143a4c(0x242)]||process['cwd'](),_0x143a4c(0x1e9),_0x588f26),a0_0x5b0dac[_0x143a4c(0x1ff)]('/tmp/loxia-images',_0x1955ae,_0x588f26),a0_0x5b0dac[_0x143a4c(0x1ff)]('/tmp/loxia-images',_0x588f26)];if(this['orchestrator']?.['agentPool'])try{const _0x4d5fd1=await this[_0x143a4c(0x18e)][_0x143a4c(0x21c)]['getAllAgents']();for(const _0x2e1216 of _0x4d5fd1){_0x2e1216['directoryAccess']?.[_0x143a4c(0x209)]&&_0x3d8feb[_0x143a4c(0x206)](a0_0x5b0dac[_0x143a4c(0x1ff)](_0x2e1216[_0x143a4c(0x251)][_0x143a4c(0x209)],'images',_0x588f26));}}catch(_0x236420){this[_0x143a4c(0x208)]['warn'](_0x143a4c(0x1f5),{'error':_0x236420['message']});}for(const _0x39520e of _0x3d8feb){try{const _0x1f7da9=await a0_0x95ade0[_0x143a4c(0x1bf)](_0x39520e);if(_0x1f7da9[_0x143a4c(0x223)]()){_0xd3534d=_0x39520e,this['logger'][_0x143a4c(0x1b9)](_0x143a4c(0x236),{'filename':_0x588f26,'path':_0xd3534d,'sessionId':_0x1955ae});break;}}catch(_0x2d22a5){continue;}}if(!_0xd3534d)return this['logger'][_0x143a4c(0x218)](_0x143a4c(0x210),{'filename':_0x588f26,'sessionId':_0x1955ae,'searchPaths':_0x3d8feb}),_0x2985fa['status'](HTTP_STATUS['NOT_FOUND'])[_0x143a4c(0x1d5)]({'success':![],'error':'Image\x20not\x20found'});_0x2985fa['sendFile'](_0xd3534d,_0x81ac9a=>{const _0x2921da=_0x143a4c;_0x81ac9a?(this[_0x2921da(0x208)]['error'](_0x2921da(0x183),{'error':_0x81ac9a['message'],'imagePath':_0xd3534d,'filename':_0x588f26}),!_0x2985fa[_0x2921da(0x1c7)]&&_0x2985fa['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':'Failed\x20to\x20serve\x20image'})):this['logger'][_0x2921da(0x1b9)]('Image\x20served\x20successfully',{'filename':_0x588f26,'path':_0xd3534d,'sessionId':_0x1955ae});});}catch(_0x43a82f){this['logger'][_0x143a4c(0x1fa)](_0x143a4c(0x258),{'error':_0x43a82f[_0x143a4c(0x1b8)],'sessionId':_0x14e765['params']['sessionId'],'filename':_0x14e765['params']['filename']}),_0x2985fa[_0x143a4c(0x1a3)](HTTP_STATUS[_0x143a4c(0x19e)])[_0x143a4c(0x1d5)]({'success':![],'error':_0x43a82f[_0x143a4c(0x1b8)]});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1a9)]('/api/agents/:agentId/mode',async(_0x505588,_0x1b24e1)=>{const _0x27d2a1=_0x1e109d;try{const {agentId:_0x238f3b}=_0x505588[_0x27d2a1(0x221)],{mode:_0x4f33a3,lockMode:lockMode=![],sessionId:_0x11be6a}=_0x505588[_0x27d2a1(0x26b)];if(!Object[_0x27d2a1(0x184)](AGENT_MODES)[_0x27d2a1(0x231)](_0x4f33a3))return _0x1b24e1[_0x27d2a1(0x1a3)](0x190)[_0x27d2a1(0x1d5)]({'success':![],'error':_0x27d2a1(0x1ea)+Object['values'](AGENT_MODES)[_0x27d2a1(0x1ff)](',\x20')});const _0x128e09=_0x11be6a||_0x505588['sessionID'];!_0x128e09&&this['logger'][_0x27d2a1(0x218)]('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0x238f3b,'hasBodySessionId':!!_0x11be6a,'hasReqSessionId':!!_0x505588['sessionID']});const _0x544122={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x128e09,'action':_0x27d2a1(0x1b5),'payload':{'agentId':_0x238f3b,'updates':{'mode':_0x4f33a3}}},_0x19c48f=await this['orchestrator']['processRequest'](_0x544122);if(_0x19c48f['success']){const _0x204b0d=_0x19c48f['data'];this['logger']['info'](_0x27d2a1(0x266)+_0x238f3b,{'newMode':_0x4f33a3,'lockMode':lockMode,'finalMode':_0x204b0d?.['mode']}),this[_0x27d2a1(0x269)](_0x544122['sessionId'],{'type':_0x27d2a1(0x1af),'data':{'agentId':_0x238f3b,'mode':_0x204b0d?.['mode'],'modeState':_0x204b0d?.['modeState']}}),_0x1b24e1['json']({'success':!![],'agent':_0x204b0d,'message':_0x27d2a1(0x26f)+_0x204b0d?.[_0x27d2a1(0x260)]});}else _0x1b24e1['status'](0x190)['json']({'success':![],'error':_0x19c48f['error']||'Failed\x20to\x20update\x20agent\x20mode'});}catch(_0x174389){this[_0x27d2a1(0x208)]['error'](_0x27d2a1(0x216),{'agentId':_0x505588['params'][_0x27d2a1(0x265)],'error':_0x174389['message']}),_0x1b24e1[_0x27d2a1(0x1a3)](0x1f4)[_0x27d2a1(0x1d5)]({'success':![],'error':_0x174389['message']});}}),this['app'][_0x1e109d(0x1a9)](_0x1e109d(0x18f),async(_0x412f59,_0x514a03)=>{const _0x4cb9af=_0x1e109d;try{const {agentId:_0x6914bd}=_0x412f59['params'],_0x1791bb=this[_0x4cb9af(0x18e)][_0x4cb9af(0x1c5)];if(!_0x1791bb)return _0x514a03[_0x4cb9af(0x1a3)](0x1f4)['json']({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x135237=await _0x1791bb['stopAutonomousExecution'](_0x6914bd);this[_0x4cb9af(0x208)][_0x4cb9af(0x1b9)](_0x4cb9af(0x17d)+_0x6914bd);const _0x35f182=_0x412f59[_0x4cb9af(0x1fc)]||_0x135237[_0x4cb9af(0x205)]?.[_0x4cb9af(0x193)];_0x35f182&&this['broadcastToSession'](_0x35f182,{'type':_0x4cb9af(0x1af),'data':{'agentId':_0x6914bd,'mode':_0x135237['agent']?.[_0x4cb9af(0x260)],'modeState':_0x135237['agent']?.['modeState']}}),_0x514a03['json'](_0x135237);}catch(_0x423e78){this[_0x4cb9af(0x208)]['error']('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x412f59['params'][_0x4cb9af(0x265)],'error':_0x423e78[_0x4cb9af(0x1b8)]}),_0x514a03['status'](0x1f4)['json']({'success':![],'error':_0x423e78[_0x4cb9af(0x1b8)]});}}),this[_0x1e109d(0x21e)]['get'](_0x1e109d(0x185),async(_0x456b3f,_0x51ad46)=>{const _0x188a71=_0x1e109d;try{const {agentId:_0xf326ce}=_0x456b3f['params'],_0x4a0fc4={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x456b3f['sessionID'],'action':'get_agent_status','payload':{'agentId':_0xf326ce}},_0x424c8f=await this[_0x188a71(0x18e)]['processRequest'](_0x4a0fc4);_0x424c8f[_0x188a71(0x1c0)]&&_0x424c8f['agent']?_0x51ad46['json']({'success':!![],'mode':_0x424c8f['agent']['mode'],'modeState':_0x424c8f['agent'][_0x188a71(0x1ba)],'currentTask':_0x424c8f[_0x188a71(0x205)]['currentTask'],'iterationCount':_0x424c8f['agent'][_0x188a71(0x23b)],'taskStartTime':_0x424c8f['agent']['taskStartTime'],'stopRequested':_0x424c8f['agent']['stopRequested']}):_0x51ad46['status'](0x194)[_0x188a71(0x1d5)]({'success':![],'error':'Agent\x20not\x20found'});}catch(_0xa20d76){this[_0x188a71(0x208)]['error'](_0x188a71(0x1da),{'agentId':_0x456b3f['params']['agentId'],'error':_0xa20d76[_0x188a71(0x1b8)]}),_0x51ad46[_0x188a71(0x1a3)](0x1f4)[_0x188a71(0x1d5)]({'success':![],'error':_0xa20d76[_0x188a71(0x1b8)]});}}),this['app']['post'](_0x1e109d(0x1e0),async(_0x1320fa,_0x42a24b)=>{const _0x4cb4f0=_0x1e109d;try{const {agentId:_0x55e596}=_0x1320fa['params'],_0x427e44=await this[_0x4cb4f0(0x18e)][_0x4cb4f0(0x21c)][_0x4cb4f0(0x201)](_0x55e596);_0x42a24b['json'](_0x427e44);}catch(_0x264023){this[_0x4cb4f0(0x208)][_0x4cb4f0(0x1fa)]('Failed\x20to\x20clear\x20agent\x20conversation',{'agentId':_0x1320fa['params'][_0x4cb4f0(0x265)],'error':_0x264023['message']}),_0x42a24b[_0x4cb4f0(0x1a3)](0x1f4)['json']({'success':![],'error':_0x264023[_0x4cb4f0(0x1b8)]});}}),this['app']['get'](_0x1e109d(0x23f),async(_0x57750e,_0x3bf3bf)=>{const _0x31ce4e=_0x1e109d;try{const {agentId:_0x989b5}=_0x57750e['params'],{shouldAgentBeActive:_0x3b3ded}=await import(_0x31ce4e(0x268)),_0x8602b6=await this['orchestrator']['agentPool'][_0x31ce4e(0x25f)](_0x989b5);if(!_0x8602b6)return _0x3bf3bf[_0x31ce4e(0x1a3)](0x194)[_0x31ce4e(0x1d5)]({'success':![],'error':'Agent\x20not\x20found'});const _0x201e4a=_0x3b3ded(_0x8602b6);_0x3bf3bf['json']({'success':!![],'agentId':_0x989b5,'isActive':_0x201e4a[_0x31ce4e(0x26d)],'reason':_0x201e4a['reason'],'details':_0x201e4a[_0x31ce4e(0x224)]});}catch(_0x242516){this['logger']['error']('Failed\x20to\x20get\x20agent\x20activity\x20status',{'agentId':_0x57750e[_0x31ce4e(0x221)][_0x31ce4e(0x265)],'error':_0x242516['message']}),_0x3bf3bf[_0x31ce4e(0x1a3)](0x1f4)['json']({'success':![],'error':_0x242516[_0x31ce4e(0x1b8)]});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1df)](_0x1e109d(0x246),async(_0x3b68e0,_0xb8e262)=>{const _0x4fd918=_0x1e109d;try{const _0x21a5ab=this['orchestrator']['config']['project']?.['directory']||process[_0x4fd918(0x217)](),_0x471e45=await this['orchestrator'][_0x4fd918(0x22d)]['getAllAvailableAgents'](_0x21a5ab,this[_0x4fd918(0x18e)][_0x4fd918(0x21c)]);_0xb8e262['json']({'success':!![],'agents':_0x471e45,'total':_0x471e45['length'],'active':_0x471e45['filter'](_0x96ce3f=>_0x96ce3f['isLoaded'])['length'],'archived':_0x471e45['filter'](_0x3b723e=>!_0x3b723e['isLoaded'])[_0x4fd918(0x249)]});}catch(_0x4ee491){this['logger']['error'](_0x4fd918(0x25b),{'error':_0x4ee491['message'],'stack':_0x4ee491[_0x4fd918(0x1f0)]}),_0xb8e262[_0x4fd918(0x1a3)](0x1f4)['json']({'success':![],'error':_0x4ee491[_0x4fd918(0x1b8)]});}}),this['app'][_0x1e109d(0x1df)]('/api/agents/:agentId/metadata',async(_0x47b55a,_0x2bc6ba)=>{const _0x553494=_0x1e109d;try{const {agentId:_0x5802ec}=_0x47b55a['params'],_0x1ca9eb=this[_0x553494(0x18e)]['config']['project']?.['directory']||process[_0x553494(0x217)](),_0x7a5f3d=await this['orchestrator']['stateManager'][_0x553494(0x192)](_0x5802ec,_0x1ca9eb);_0x2bc6ba['json']({'success':!![],'metadata':_0x7a5f3d});}catch(_0x1a61dc){this['logger'][_0x553494(0x1fa)]('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x47b55a['params']['agentId'],'error':_0x1a61dc[_0x553494(0x1b8)]}),_0x2bc6ba['status'](0x194)[_0x553494(0x1d5)]({'success':![],'error':_0x1a61dc[_0x553494(0x1b8)]});}}),this[_0x1e109d(0x21e)][_0x1e109d(0x1a9)]('/api/agents/import',async(_0x215128,_0x3fd578)=>{const _0x3e5e33=_0x1e109d;try{const {agentId:_0xd89792}=_0x215128[_0x3e5e33(0x26b)];if(!_0xd89792)return _0x3fd578['status'](0x190)[_0x3e5e33(0x1d5)]({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0x564bc3=this[_0x3e5e33(0x18e)][_0x3e5e33(0x212)]['project']?.['directory']||process[_0x3e5e33(0x217)](),_0x535d74=await this[_0x3e5e33(0x18e)]['stateManager'][_0x3e5e33(0x18a)](_0xd89792,_0x564bc3,this['orchestrator'][_0x3e5e33(0x21c)]);this[_0x3e5e33(0x25c)]&&this[_0x3e5e33(0x25c)]['broadcast']({'type':'agent-imported','agent':{'id':_0x535d74['id'],'name':_0x535d74['name'],'status':_0x535d74[_0x3e5e33(0x1a3)],'capabilities':_0x535d74['capabilities'],'model':_0x535d74['currentModel']||_0x535d74[_0x3e5e33(0x1ab)]}}),this[_0x3e5e33(0x208)][_0x3e5e33(0x1b9)]('Agent imported successfully',{'agentId':_0x535d74['id'],'name':_0x535d74[_0x3e5e33(0x1e7)]}),_0x3fd578[_0x3e5e33(0x1d5)]({'success':!![],'agent':{'id':_0x535d74['id'],'name':_0x535d74[_0x3e5e33(0x1e7)],'status':_0x535d74[_0x3e5e33(0x1a3)],'model':_0x535d74['currentModel']||_0x535d74[_0x3e5e33(0x1ab)],'capabilities':_0x535d74[_0x3e5e33(0x170)],'lastActivity':_0x535d74[_0x3e5e33(0x1ee)]},'message':'Agent\x20'+_0x535d74[_0x3e5e33(0x1e7)]+_0x3e5e33(0x17c)});}catch(_0x47e751){this['logger'][_0x3e5e33(0x1fa)]('Failed to import agent',{'agentId':_0x215128[_0x3e5e33(0x26b)][_0x3e5e33(0x265)],'error':_0x47e751[_0x3e5e33(0x1b8)],'stack':_0x47e751['stack']});const _0x5afce5=_0x47e751['message']['includes']('already\x20active')?0x199:_0x47e751['message'][_0x3e5e33(0x231)]('not\x20found')?0x194:_0x47e751['message'][_0x3e5e33(0x231)](_0x3e5e33(0x171))?0x190:0x1f4;_0x3fd578['status'](_0x5afce5)[_0x3e5e33(0x1d5)]({'success':![],'error':_0x47e751[_0x3e5e33(0x1b8)]});}}),this['app'][_0x1e109d(0x1df)]('*',(_0x56d47d,_0x163adc)=>{const _0x51cb49=_0x1e109d,_0x34afd9=a0_0x5b0dac[_0x51cb49(0x1ff)](__dirname,_0x51cb49(0x1f1));_0x163adc[_0x51cb49(0x214)](_0x34afd9,_0x354785=>{const _0x168702=_0x51cb49;_0x354785&&_0x163adc['status'](HTTP_STATUS['NOT_FOUND'])[_0x168702(0x20a)](_0x168702(0x188));});});}['setupWebSocket'](){const _0x58b426=a0_0x204007;this[_0x58b426(0x208)]['info']('Setting\x20up\x20WebSocket\x20server',{'port':this[_0x58b426(0x173)],'host':this['host'],'wsServerExists':!!this[_0x58b426(0x1b2)],'httpServerExists':!!this['server']}),this[_0x58b426(0x1b2)]['on'](_0x58b426(0x1fa),_0x28dc56=>{const _0x5a8cfe=_0x58b426;this[_0x5a8cfe(0x208)]['error'](_0x5a8cfe(0x1c9),{'error':_0x28dc56[_0x5a8cfe(0x1b8)],'stack':_0x28dc56['stack'],'port':this[_0x5a8cfe(0x173)]});}),this[_0x58b426(0x1b2)]['on'](_0x58b426(0x1c8),()=>{const _0x32f68e=_0x58b426;this['logger'][_0x32f68e(0x1b9)](_0x32f68e(0x1e4),{'port':this[_0x32f68e(0x173)],'host':this[_0x32f68e(0x1c1)]});}),this[_0x58b426(0x1b2)]['on']('connection',(_0x4381ca,_0x161f3e)=>{const _0x312e7a=_0x58b426,_0x222611='conn-'+Date[_0x312e7a(0x233)]()+'-'+Math['random']()[_0x312e7a(0x23e)](0x24)[_0x312e7a(0x1d8)](0x2,0x9);this['logger']['info']('WebSocket\x20connection\x20established',{'connectionId':_0x222611,'ip':_0x161f3e['socket'][_0x312e7a(0x22e)],'origin':_0x161f3e['headers']['origin'],'host':_0x161f3e[_0x312e7a(0x228)]['host'],'userAgent':_0x161f3e['headers']['user-agent'],'url':_0x161f3e[_0x312e7a(0x191)]});const _0x5d1bc8={'id':_0x222611,'ws':_0x4381ca,'sessionId':null,'connectedAt':new Date()[_0x312e7a(0x1a5)](),'lastActivity':new Date()['toISOString']()};this[_0x312e7a(0x264)][_0x312e7a(0x16d)](_0x222611,_0x5d1bc8),_0x4381ca['on'](_0x312e7a(0x1b8),async _0x3883d5=>{const _0x171c91=_0x312e7a;try{const _0x516b12=JSON['parse'](_0x3883d5[_0x171c91(0x23e)]());await this[_0x171c91(0x220)](_0x222611,_0x516b12);}catch(_0x389d46){this[_0x171c91(0x208)][_0x171c91(0x1fa)]('WebSocket\x20message\x20error',{'connectionId':_0x222611,'error':_0x389d46[_0x171c91(0x1b8)]}),_0x4381ca['send'](JSON[_0x171c91(0x25e)]({'type':'error','error':_0x389d46['message']}));}}),_0x4381ca['on'](_0x312e7a(0x22c),()=>{const _0x1ce26e=_0x312e7a;this['logger'][_0x1ce26e(0x1b9)]('WebSocket\x20connection\x20closed',{'connectionId':_0x222611}),this[_0x1ce26e(0x264)]['delete'](_0x222611);}),_0x4381ca['send'](JSON['stringify']({'type':'connected','connectionId':_0x222611,'timestamp':new Date()['toISOString']()}));});}async[a0_0x204007(0x220)](_0x75d40,_0x37ad20){const _0x3deb7b=a0_0x204007,_0x92d184=this[_0x3deb7b(0x264)][_0x3deb7b(0x1df)](_0x75d40);if(!_0x92d184)return;_0x92d184[_0x3deb7b(0x1ee)]=new Date()[_0x3deb7b(0x1a5)]();switch(_0x37ad20[_0x3deb7b(0x239)]){case'join_session':const _0xbf1ab1=_0x37ad20['sessionId'];_0x92d184['sessionId']=_0xbf1ab1,this[_0x3deb7b(0x208)]['info']('WebSocket\x20joined\x20session',{'connectionId':_0x75d40,'sessionId':_0xbf1ab1,'totalConnectionsForSession':Array['from'](this['connections']['values']())['filter'](_0x385844=>_0x385844['sessionId']===_0xbf1ab1)[_0x3deb7b(0x249)]}),_0x92d184['ws']['send'](JSON['stringify']({'type':'session_joined','sessionId':_0xbf1ab1}));break;case'ping':_0x92d184['ws'][_0x3deb7b(0x20a)](JSON[_0x3deb7b(0x25e)]({'type':_0x3deb7b(0x1d6),'timestamp':new Date()['toISOString']()}));break;case _0x3deb7b(0x202):try{const _0x4258d6={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x92d184['sessionId'],'action':_0x37ad20[_0x3deb7b(0x247)],'payload':_0x37ad20[_0x3deb7b(0x1a2)],'projectDir':_0x37ad20['projectDir']||process['cwd']()},_0x23ae8d=await this[_0x3deb7b(0x18e)][_0x3deb7b(0x24f)](_0x4258d6);_0x92d184['ws'][_0x3deb7b(0x20a)](JSON['stringify']({'type':'orchestrator_response','requestId':_0x37ad20[_0x3deb7b(0x1a7)],'response':_0x23ae8d}));}catch(_0x49b7b9){_0x92d184['ws'][_0x3deb7b(0x20a)](JSON['stringify']({'type':'error','requestId':_0x37ad20['requestId'],'error':_0x49b7b9[_0x3deb7b(0x1b8)]}));}break;default:this[_0x3deb7b(0x208)]['warn'](_0x3deb7b(0x243),{'connectionId':_0x75d40,'type':_0x37ad20[_0x3deb7b(0x239)]});}}['broadcastToSession'](_0x567459,_0x49c4be){const _0x31a94f=a0_0x204007,_0x1e2113=Array[_0x31a94f(0x1a4)](this[_0x31a94f(0x264)]['values']())[_0x31a94f(0x16c)](_0x55b15b=>_0x55b15b[_0x31a94f(0x193)]===_0x567459);let _0x2c6c41=[];_0x1e2113[_0x31a94f(0x249)]===0x0&&(_0x2c6c41=Array['from'](this['connections']['values']()),this[_0x31a94f(0x208)]?.['warn'](_0x31a94f(0x16e),{'targetSessionId':_0x567459,'totalConnections':this['connections'][_0x31a94f(0x1fe)],'allSessionIds':Array['from'](this['connections']['values']())[_0x31a94f(0x1b6)](_0x2a7895=>_0x2a7895['sessionId'])[_0x31a94f(0x16c)](Boolean)}));const _0x1646c8=_0x1e2113['length']>0x0?_0x1e2113:_0x2c6c41;this['logger']?.[_0x31a94f(0x1b9)](_0x31a94f(0x179),{'sessionId':_0x567459,'messageType':_0x49c4be['type'],'agentId':_0x49c4be['agentId'],'totalConnections':this['connections'][_0x31a94f(0x1fe)],'sessionConnections':_0x1e2113['length'],'targetConnections':_0x1646c8[_0x31a94f(0x249)],'connectionIds':_0x1646c8['map'](_0x30082e=>_0x30082e['id']),'usingFallback':_0x1e2113['length']===0x0,'messagePreview':_0x49c4be['type']==='autonomous_update'&&_0x49c4be['message']?{'messageId':_0x49c4be['message']['id'],'messageRole':_0x49c4be['message'][_0x31a94f(0x222)],'contentLength':_0x49c4be['message'][_0x31a94f(0x24e)]?.['length'],'hasToolResults':!!_0x49c4be['message'][_0x31a94f(0x244)]}:undefined});for(const _0x4b32bf of _0x1646c8){try{const _0x4ca1e3={..._0x49c4be,'timestamp':new Date()['toISOString']()};_0x4b32bf['ws'][_0x31a94f(0x20a)](JSON[_0x31a94f(0x25e)](_0x4ca1e3)),this[_0x31a94f(0x208)]?.['info'](_0x31a94f(0x226),{'connectionId':_0x4b32bf['id'],'messageType':_0x49c4be[_0x31a94f(0x239)],'agentId':_0x49c4be['agentId']});}catch(_0x263428){this['logger'][_0x31a94f(0x218)]('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x4b32bf['id'],'sessionId':_0x567459,'messageType':_0x49c4be[_0x31a94f(0x239)],'error':_0x263428['message']});}}}async[a0_0x204007(0x263)](){return new Promise((_0x2e4d61,_0x5599b8)=>{const _0x442024=a0_0x208a;this[_0x442024(0x1ad)]['listen'](this['port'],this['host'],_0x4ee5f0=>{const _0x2cff07=_0x442024;_0x4ee5f0?(this['logger'][_0x2cff07(0x1fa)]('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0x4ee5f0['message'],'port':this[_0x2cff07(0x173)],'host':this[_0x2cff07(0x1c1)]}),_0x5599b8(_0x4ee5f0)):(this[_0x2cff07(0x237)]=!![],this[_0x2cff07(0x208)][_0x2cff07(0x1b9)](_0x2cff07(0x178),{'port':this['port'],'host':this[_0x2cff07(0x1c1)],'httpUrl':_0x2cff07(0x1c4)+this[_0x2cff07(0x1c1)]+':'+this['port'],'wsUrl':_0x2cff07(0x252)+this['host']+':'+this['port'],'wsServerAttached':!!this[_0x2cff07(0x1b2)],'wsConnections':this[_0x2cff07(0x264)]['size']}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x2e4d61());}),this[_0x442024(0x1ad)]['on'](_0x442024(0x1fa),_0x3f1416=>{const _0x5133f6=_0x442024;this[_0x5133f6(0x208)][_0x5133f6(0x1fa)]('HTTP\x20server\x20error:',{'error':_0x3f1416['message'],'stack':_0x3f1416[_0x5133f6(0x1f0)],'port':this['port']});});});}async['testWebSocketServer'](){const _0x1a7ee1=a0_0x204007;try{const {default:_0x18fff2}=await import('ws'),_0x41f940=new _0x18fff2('ws://localhost:'+this['port']);_0x41f940['on']('open',()=>{const _0x4dfb0c=a0_0x208a;this[_0x4dfb0c(0x208)]['info']('✅\x20WebSocket\x20server\x20test:\x20SUCCESSFUL',{'port':this['port'],'url':'ws://localhost:'+this['port']}),_0x41f940[_0x4dfb0c(0x22c)]();}),_0x41f940['on']('error',_0x6f7b39=>{const _0x7e2285=a0_0x208a;this['logger'][_0x7e2285(0x1fa)]('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this[_0x7e2285(0x173)],'url':'ws://localhost:'+this[_0x7e2285(0x173)],'error':_0x6f7b39[_0x7e2285(0x1b8)],'code':_0x6f7b39[_0x7e2285(0x1bd)]});}),_0x41f940['on'](_0x1a7ee1(0x22c),(_0x4fcee1,_0x29a325)=>{const _0xc67ff7=_0x1a7ee1;_0x4fcee1===0x3e8&&this[_0xc67ff7(0x208)][_0xc67ff7(0x1b9)](_0xc67ff7(0x17f));}),setTimeout(()=>{const _0x83f6f9=_0x1a7ee1;_0x41f940[_0x83f6f9(0x1a1)]===_0x18fff2['CONNECTING']&&(this['logger']['error']('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this['port'],'url':_0x83f6f9(0x1d4)+this['port'],'readyState':_0x41f940[_0x83f6f9(0x1a1)]}),_0x41f940['terminate']());},0x1388);}catch(_0x1896ea){this[_0x1a7ee1(0x208)][_0x1a7ee1(0x1fa)]('❌\x20WebSocket\x20server\x20test:\x20EXCEPTION',{'error':_0x1896ea['message'],'stack':_0x1896ea['stack']});}}['setApiKeyManager'](_0x29f84d){const _0x52e8ae=a0_0x204007;this['apiKeyManager']=_0x29f84d,this['logger']?.['info'](_0x52e8ae(0x1d0),{'hasManager':!!_0x29f84d});}[a0_0x204007(0x1cf)](_0xda892f){const _0x491cd4=a0_0x204007;if(!_0xda892f)return null;const _0x3bb4c6=_0xda892f[_0x491cd4(0x182)]();if(_0x3bb4c6['includes']('anthropic')||_0x3bb4c6[_0x491cd4(0x231)](_0x491cd4(0x232)))return'anthropic';else{if(_0x3bb4c6[_0x491cd4(0x231)](_0x491cd4(0x19f))||_0x3bb4c6[_0x491cd4(0x231)](_0x491cd4(0x1f8)))return'openai';else{if(_0x3bb4c6['includes'](_0x491cd4(0x195)))return'deepseek';else{if(_0x3bb4c6[_0x491cd4(0x231)]('phi'))return'microsoft';}}}return null;}[a0_0x204007(0x1f6)](){const _0x4d9925=a0_0x204007;return{'isRunning':this['isRunning'],'port':this['port'],'host':this[_0x4d9925(0x1c1)],'connections':this[_0x4d9925(0x264)][_0x4d9925(0x1fe)],'sessions':this['sessions'][_0x4d9925(0x1fe)],'url':_0x4d9925(0x1c4)+this[_0x4d9925(0x1c1)]+':'+this['port']};}async[a0_0x204007(0x23d)](){const _0x5786aa=a0_0x204007;if(!this[_0x5786aa(0x237)])return;this['logger'][_0x5786aa(0x1b9)]('Shutting\x20down\x20web\x20server...');for(const _0x137e3a of this['connections']['values']()){_0x137e3a['ws'][_0x5786aa(0x22c)]();}return this[_0x5786aa(0x264)]['clear'](),this[_0x5786aa(0x1b2)][_0x5786aa(0x22c)](),new Promise(_0xc82c78=>{const _0x5a148b=_0x5786aa;this['server'][_0x5a148b(0x22c)](()=>{const _0x171ecf=_0x5a148b;this[_0x171ecf(0x237)]=![],this[_0x171ecf(0x208)][_0x171ecf(0x1b9)]('Web\x20server\x20shutdown\x20complete'),_0xc82c78();});});}}export default WebServer;if(import.meta.url==='file://'+process[a0_0x204007(0x1ce)][0x1]){const simpleLogger={'info':(_0x1be676,_0xfd50dd)=>console['log']('[INFO]\x20'+_0x1be676,_0xfd50dd?JSON['stringify'](_0xfd50dd,null,0x2):''),'error':(_0x42fa89,_0x386c73)=>console[a0_0x204007(0x1fa)](a0_0x204007(0x20b)+_0x42fa89,_0x386c73?JSON[a0_0x204007(0x25e)](_0x386c73,null,0x2):''),'warn':(_0x1a0eb7,_0x57c835)=>console[a0_0x204007(0x218)]('[WARN]\x20'+_0x1a0eb7,_0x57c835?JSON[a0_0x204007(0x25e)](_0x57c835,null,0x2):''),'debug':(_0x4b2abc,_0x56fdbb)=>console['log'](a0_0x204007(0x189)+_0x4b2abc,_0x56fdbb?JSON[a0_0x204007(0x25e)](_0x56fdbb,null,0x2):'')},mockOrchestrator={'processAction':async(_0xc0dd9f,_0x20b2d9)=>{const _0x4654e2=a0_0x204007;simpleLogger[_0x4654e2(0x1b9)]('Mock\x20orchestrator\x20action',{'action':_0xc0dd9f,'data':_0x20b2d9});switch(_0xc0dd9f){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x4654e2(0x19b)]:return{'success':!![],'data':{'id':'agent-'+Date['now'](),'name':_0x20b2d9[_0x4654e2(0x1e7)]||_0x4654e2(0x1ae),'status':_0x4654e2(0x26d),'model':_0x20b2d9[_0x4654e2(0x24d)]||'anthropic-sonnet','systemPrompt':_0x20b2d9['systemPrompt']||_0x4654e2(0x1d1)}};case ORCHESTRATOR_ACTIONS[_0x4654e2(0x24a)]:return{'success':!![],'data':{'message':{'id':'msg-'+Date['now'](),'content':'Echo:\x20'+_0x20b2d9['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':_0x4654e2(0x186)+_0xc0dd9f};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console['log'](a0_0x204007(0x1e5)),server['startServer']()[a0_0x204007(0x17e)](()=>{const _0x3370be=a0_0x204007,_0x41a85a=server[_0x3370be(0x1f6)]();console[_0x3370be(0x172)]('✅\x20Web\x20Server\x20running\x20at\x20'+_0x41a85a['url']),console[_0x3370be(0x172)]('📱\x20Web\x20UI\x20available\x20at:\x20http://localhost:3001\x20(if\x20running)'),console['log'](_0x3370be(0x175));})['catch'](_0x78aecd=>{const _0x503b92=a0_0x204007;console[_0x503b92(0x1fa)]('❌\x20Failed\x20to\x20start\x20web\x20server:',_0x78aecd['message']),process[_0x503b92(0x16f)](0x1);}),process['on'](a0_0x204007(0x1db),async()=>{const _0x2fede6=a0_0x204007;console[_0x2fede6(0x172)](_0x2fede6(0x21d)),await server['shutdown'](),process[_0x2fede6(0x16f)](0x0);});}
|
|
1
|
+
const a0_0x5cb154=a0_0xbf7e;(function(_0x43582c,_0x3af3cf){const _0x5363f9=a0_0xbf7e,_0xefe4f0=_0x43582c();while(!![]){try{const _0x22ebdf=parseInt(_0x5363f9(0x136))/0x1*(-parseInt(_0x5363f9(0x133))/0x2)+-parseInt(_0x5363f9(0x183))/0x3*(-parseInt(_0x5363f9(0x19a))/0x4)+parseInt(_0x5363f9(0x11c))/0x5*(parseInt(_0x5363f9(0x1b3))/0x6)+-parseInt(_0x5363f9(0x193))/0x7+-parseInt(_0x5363f9(0x1d6))/0x8+-parseInt(_0x5363f9(0x13a))/0x9+parseInt(_0x5363f9(0x1c0))/0xa;if(_0x22ebdf===_0x3af3cf)break;else _0xefe4f0['push'](_0xefe4f0['shift']());}catch(_0x241844){_0xefe4f0['push'](_0xefe4f0['shift']());}}}(a0_0x25f4,0x34141));import a0_0x591359 from'express';import{createServer}from'http';function a0_0xbf7e(_0x2ee8d9,_0x175ddf){_0x2ee8d9=_0x2ee8d9-0x112;const _0x25f498=a0_0x25f4();let _0xbf7e5b=_0x25f498[_0x2ee8d9];if(a0_0xbf7e['WWZrcx']===undefined){var _0x5ea7ad=function(_0x41255b){const _0x332bd5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x591359='',_0x5498db='';for(let _0x5e09b0=0x0,_0x2485aa,_0x4a1ed9,_0x2ec639=0x0;_0x4a1ed9=_0x41255b['charAt'](_0x2ec639++);~_0x4a1ed9&&(_0x2485aa=_0x5e09b0%0x4?_0x2485aa*0x40+_0x4a1ed9:_0x4a1ed9,_0x5e09b0++%0x4)?_0x591359+=String['fromCharCode'](0xff&_0x2485aa>>(-0x2*_0x5e09b0&0x6)):0x0){_0x4a1ed9=_0x332bd5['indexOf'](_0x4a1ed9);}for(let _0x1888d1=0x0,_0x42cfe2=_0x591359['length'];_0x1888d1<_0x42cfe2;_0x1888d1++){_0x5498db+='%'+('00'+_0x591359['charCodeAt'](_0x1888d1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5498db);};a0_0xbf7e['DRfzGx']=_0x5ea7ad,a0_0xbf7e['jPYoeK']={},a0_0xbf7e['WWZrcx']=!![];}const _0x2aa1e8=_0x25f498[0x0],_0x2e78ec=_0x2ee8d9+_0x2aa1e8,_0x43e512=a0_0xbf7e['jPYoeK'][_0x2e78ec];return!_0x43e512?(_0xbf7e5b=a0_0xbf7e['DRfzGx'](_0xbf7e5b),a0_0xbf7e['jPYoeK'][_0x2e78ec]=_0xbf7e5b):_0xbf7e5b=_0x43e512,_0xbf7e5b;}import{WebSocketServer}from'ws';import a0_0x5498db from'path';function a0_0x25f4(){const _0x50a025=['AxneAxjLy3rVCNK','Cg9UzW','rwnOBZOG','ChjLzMvYCMvKtw9KzwW','qxr0ywnOBwvUDcbHy3rPDMuGC3rHDhvZihrVz2DSzwq','C3rHDhvZvgv4Da','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','C2vZC2LVBKLK','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','v2vIihnLCNzLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq','Aw5MBW','v2vIu29JA2v0igPVAw5LzcbZzxnZAw9U','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','yxbPs2v5twfUywDLCG','l2fWAs9SBg0Vy2HHDa','mtvpwfDevwe','BxrPBwu','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','yM9KEq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJO','C2vZC2LVBKLe','CMvHzhLtDgf0zq','DMvYC2LVBG','qKfex1jfuvvfu1q','ywDLBNrqB29S','yxbW','Ahr0CdOVlW','zgvLChnLzwS','D3nnyw5Hz2vY','yxbPs2v5','qwnJzxnZlunVBNrYB2WTqwXSB3CTt3jPz2LU','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','ywn0AxzL','AgvHzgvYC1nLBNq','Dg9tDhjPBMC','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','C2v0DxbsB3v0zxm','nhbIr0LzuG','w0LorK9Dia','zgLYzwn0B3j5','mtC5mZiXELDcEKTs','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','yxrPBwu','AxnsDw5UAw5N','mJi4ote2ogH0qMXfsq','C3rHDa','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','qxr0ywnOBwvUDcbUB3qGzM91BMq','Cgf5Bg9Hza','zxjYB3i','z2v0qxr0ywnOBwvUDa','DxbKyxrLx2fNzw50','ywXYzwfKEsbHy3rPDMu','CMvSyxrPDMu','qwnJzxnZlunVBNrYB2WTqwXSB3CTtwv0Ag9KCW','su5urvjoquXFu0vsvKvsx0vsuK9s','l2fWAs9LEhbSB3jLCI9PBMzV','l2fWAs9Hz2vUDhmVoMfNzw50swqVy2XLyxi','C2v0','vw5RBM93BIbHy3rPB246ia','zMLSzw5HBwu','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','y2fWywjPBgL0AwvZ','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','Bw9KzwXZu2vYDMLJzq','Cg9ZDa','yNjVywrJyxn0vg9tzxnZAw9U','tw9KzwXZihjLzNjLC2HLzcb3AxrOig5LDYbbueKGA2v5','CgHP','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50CW','rMfPBgvKihrVignVBM5Ly3qGDg8GquKGC2vYDMLJzq','t3jJAgvZDhjHDg9YiefqssbLCNjVCG','y2XLyxi','AxrLCMf0Aw9Uq291BNq','z2v0','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','CMvZB2X2zq','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','te9ysufFqvbjx0Tfwq','Bw9Kzvn0yxrL','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9TB2rLBhm','D3nZ','D3m6lY9SB2nHBgHVC3q6','ywXS','ChjVAMvJDerPCG','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','qxP1CMuGyMfJA2vUzcbLCNjVCJOG','BgvUz3rO','D2fYBG','C2vYDMvY','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','CgfYC2u','DhLWzq','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','q09otKvdveLorW','mc4WlJaUma','C3rHDgvnyw5Hz2vY','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3rVz2DSzq','ue9tva','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','y2f0y2G','ChjVAMvJDa','y3DK','B3jPz2LU','z2v0qxr0ywnOBwvUDhm','yMfZzw5HBwu','yNjVywrJyxn0','rMfPBgvKihrVigDLDcbbueKGA2v5ihn0yxr1CW','zgLYzwn0B3j5qwnJzxnZ','zMLSzq','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','DgvZDfDLyLnVy2TLDfnLCNzLCG','yw50AhjVCgLJ','BwfW','DxnLCI1Hz2vUDa','B3jJAgvZDhjHDg9Y','m2jItMTRBW','zxHPDa','tK9ux0zpvu5e','rMfPBgvKihrVihn0B3aGyxv0B25VBw91CYbLEgvJDxrPB24','y29UBMvJDgLVBG','zMLSzuv4CgXVCMvYtw9KDwXL','Bw9Kzq','v2vIu29JA2v0ignVBM5Ly3rPB24Gy2XVC2vK','CMvTB3rLqwrKCMvZCW','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','rMfPBgvKihrVihnLCNzLigLTywDL','Bg9N','B3bLBG','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','CMfUzg9T','ywDLBNrjza','mJqWode4ovrJDMrQBa','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','zMLSDgvY','Aw5JBhvKzxm','w1DbuK5Dia','C2H1DgrVD24','yxv0B25VBw91C191CgrHDgu','mte1odqXmNLlA2HAvG','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','v2vIihnLCNzLCIbPBML0AwfSAxPLza','y3vYCMvUDe1VzgvS','Dgv4Da','l2fWAs9MAwXLCY91CgXVywq','l2fWAs9RzxLZlZPZzxnZAw9Uswq','AgvHzgvY','CMvX','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','AgvHzgvYCW','C2L6zq','vxnLCI1bz2vUDa','C3rHDhvZ','qxr0ywnOBwvUDcbKzwXLDgvK','D2vIlq','sw52ywXPzcbMAwXLBMfTzq','r0vu','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','C3rHy2S','Ag9ZDa','C2v0qxbPs2v5twfUywDLCG','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','y29UBMvJDgLVBNm','nJmYnty4ruDgEuDA','sw1Hz2uGBM90igzVDw5K','AM9PBG','l2fWAs9MAwXLCW','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','x2DLDfzLBMrVCKzYB21nB2rLBa','CM9Szq','DMfSDwvZ','Bg9JywXLq29TCgfYzq','yxbWBgLJyxrPB24VANnVBG','DxbKyxrLqxr0ywnOBwvUDa','C2v0DxbnAwrKBgv3yxjL','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','nty1mtq0mg9uDu1jBa','z2v0x2fNzw50x3n0yxr1CW','C3vIC3rYAw5N','l2fWAs90B29SCW','z2v0u3rHDhvZ','l2fWAs9ZzxnZAw9UCW','C2vZC2LVBNm','l2fWAs9Hz2vUDhmVyxzHAwXHyMXL','qwDLBNqGBM90igzVDw5K','DxnL','Cgf0y2G','ChjVy2vZC1jLCxvLC3q','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','BwvZC2fNzq','Dg9ju09tDhjPBMC','CgfYyw1Z','ywDLBNq','DMvUzg9YqxbPs2v5','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','DxjS','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','l2fWAs9VCMnOzxn0CMf0B3i','ntu3nLDNrfjutW','Bg9Nz2vY','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50','u0vorf9nrvntquDf','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','BgLZDgvUAw5N','C3rHCNrZv2L0Aa','yxv0Ag9YAxPHDgLVBG','C3rHDgLJ','z2v0qwn0AxzLu2vZC2LVBNm','mtbTyG','C2vUza','BM9YBwfSAxPL','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','zMLSzuLK','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','l2fWAs9RzxLZ','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','C29JA2v0','AxnmB2fKzwq','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','y2XVC2u','y29UzMLN','C2vUzezPBgu','Bw9KzwW','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','Bg9JywXOB3n0','C2v0DxbxzwjtB2nRzxq','ywn0Aw9U','l2fWAs9Hz2vUDhmVoMfNzw50swqVywn0AxzPDhK','AgvHBhrOEq','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','y29UDgvUDa','y2XLyxjdB252zxjZyxrPB24','rMfPBgvKihrVihn0yxj0ieHuvfaGC2vYDMvY','CgH5C2LJywXSEurLBgv0zwq','z3b0','v0vc','C3rHCNrtzxj2zxi','rK9sqKLerevo','y29Kzq','B3bLBMfP','qwDLBNqGBw9Kzsb1CgrHDguGCMvXDwvZDgvKihDPDgHVDxqGC2vZC2LVBIbjra','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','lI4VlI4VD2vIlxvPl2j1AwXK','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','y2XHDwrL','z2v0qxr0ywnOBwvUDfbYzxzPzxC','C3rYAw5NAwz5','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3bYzxzPzxC','CxvLCNK','DxbKyxrLzef0','ANnVBG','zgvSzxrL','sw1Hz2uGC2vYDMLUzYbLCNjVCG','BM93','Cg9YDa','CMvHzgrPCG','BMfTzq','D29YA2LUz0rPCMvJDg9YEq'];a0_0x25f4=function(){return _0x50a025;};return a0_0x25f4();}import{promises as a0_0x5e09b0}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_0x5498db['dirname'](__filename);class WebServer{constructor(_0x2485aa,_0x4a1ed9,_0x2ec639={}){const _0x3f1540=a0_0xbf7e;this[_0x3f1540(0x182)]=_0x2485aa,this['logger']=_0x4a1ed9,this['config']=_0x2ec639,this[_0x3f1540(0x210)]=_0x2ec639['port']||0x1f90,this[_0x3f1540(0x1af)]=_0x2ec639[_0x3f1540(0x1af)]||_0x3f1540(0x1f1),this['app']=a0_0x591359(),this['server']=createServer(this[_0x3f1540(0x126)]),this['wss']=new WebSocketServer({'server':this['server'],'verifyClient':_0x1888d1=>{const _0x464b5b=_0x3f1540;return this[_0x464b5b(0x1d7)]?.[_0x464b5b(0x117)]('WebSocket\x20connection\x20attempt',{'origin':_0x1888d1[_0x464b5b(0x176)],'host':_0x1888d1[_0x464b5b(0x1a2)][_0x464b5b(0x1a4)]['host'],'userAgent':_0x1888d1[_0x464b5b(0x1a2)]['headers'][_0x464b5b(0x181)],'url':_0x1888d1['req'][_0x464b5b(0x1d3)]}),!![];}}),this['connections']=new Map(),this['sessions']=new Map(),this[_0x3f1540(0x11a)]=null,this['isRunning']=![];}async['initialize'](){const _0x29a7bb=a0_0xbf7e;try{this['setupMiddleware'](),this['setupRoutes'](),this[_0x29a7bb(0x1f2)](),await this['startServer'](),this['logger'][_0x29a7bb(0x117)](_0x29a7bb(0x19c),{'port':this[_0x29a7bb(0x210)],'host':this[_0x29a7bb(0x1af)],'url':'http://'+this[_0x29a7bb(0x1af)]+':'+this[_0x29a7bb(0x210)]});}catch(_0x42cfe2){this[_0x29a7bb(0x1d7)]['error'](_0x29a7bb(0x116),{'error':_0x42cfe2['message'],'stack':_0x42cfe2['stack']});throw _0x42cfe2;}}[a0_0x5cb154(0x1be)](){const _0x90ba1e=a0_0x5cb154;this['app'][_0x90ba1e(0x1c9)]((_0x3fc89f,_0x4584b6,_0x12ae99)=>{const _0x11d6e1=_0x90ba1e;_0x4584b6[_0x11d6e1(0x1a1)](_0x11d6e1(0x12b),'*'),_0x4584b6[_0x11d6e1(0x1a1)](_0x11d6e1(0x144),'GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0x4584b6['header'](_0x11d6e1(0x14d),'Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x3fc89f['method']==='OPTIONS'?_0x4584b6['sendStatus'](HTTP_STATUS['OK']):_0x12ae99();}),this['app']['use'](a0_0x591359['json']({'limit':_0x90ba1e(0x1e0)})),this[_0x90ba1e(0x126)]['use'](a0_0x591359['urlencoded']({'extended':!![],'limit':'10mb'})),this[_0x90ba1e(0x188)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this[_0x90ba1e(0x126)]['use']('/api/file-explorer',this['fileExplorerModule']['router']);const _0x3cf85d=a0_0x5498db['join'](__dirname,_0x90ba1e(0x203));this['app'][_0x90ba1e(0x1c9)](a0_0x591359[_0x90ba1e(0x1de)](_0x3cf85d)),this['app'][_0x90ba1e(0x1c9)]((_0x3f8810,_0x31b905,_0x5d6f8f)=>{const _0x1b4ad7=_0x90ba1e;this['logger']['debug'](_0x3f8810['method']+'\x20'+_0x3f8810['path'],{'ip':_0x3f8810['ip'],'userAgent':_0x3f8810[_0x1b4ad7(0x158)](_0x1b4ad7(0x1a6))}),_0x5d6f8f();});}[a0_0x5cb154(0x132)](){const _0x9ed72d=a0_0x5cb154;this['app'][_0x9ed72d(0x158)]('/api/health',async(_0x5b24d2,_0x3d4e19)=>{const _0x278cb9=_0x9ed72d;try{const _0x3210a8=a0_0x5498db['join'](__dirname,'../../package.json'),_0x4f79a2=JSON[_0x278cb9(0x169)](await a0_0x5e09b0['readFile'](_0x3210a8,'utf8'));_0x3d4e19[_0x278cb9(0x20c)]({'status':_0x278cb9(0x1f5),'version':_0x4f79a2[_0x278cb9(0x123)]||'1.0.0','timestamp':new Date()['toISOString']()});}catch(_0x56745f){_0x3d4e19[_0x278cb9(0x20c)]({'status':'healthy','version':'1.0.0','timestamp':new Date()[_0x278cb9(0x1ce)]()});}}),this['app'][_0x9ed72d(0x14f)](_0x9ed72d(0x1c5),async(_0x592c50,_0x35c883)=>{const _0x3d1b6e=_0x9ed72d;try{const _0x5e8e5e=_0x3d1b6e(0x1a9)+Date['now']()+'-'+Math[_0x3d1b6e(0x191)]()['toString'](0x24)['substr'](0x2,0x9),_0x278634=_0x592c50[_0x3d1b6e(0x11f)][_0x3d1b6e(0x162)]||process[_0x3d1b6e(0x175)](),_0x5232e={'id':_0x5e8e5e,'projectDir':_0x278634,'createdAt':new Date()[_0x3d1b6e(0x1ce)](),'lastActivity':new Date()[_0x3d1b6e(0x1ce)]()};this[_0x3d1b6e(0x1c6)][_0x3d1b6e(0x148)](_0x5e8e5e,_0x5232e),_0x35c883['json']({'success':!![],'session':_0x5232e});}catch(_0x24a61c){_0x35c883['status'](HTTP_STATUS[_0x3d1b6e(0x145)])[_0x3d1b6e(0x20c)]({'success':![],'error':_0x24a61c[_0x3d1b6e(0x1cd)]});}}),this[_0x9ed72d(0x126)]['post'](_0x9ed72d(0x1d5),async(_0x43124f,_0x2175c5)=>{const _0x59fd39=_0x9ed72d;try{const _0x1c131d={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x43124f[_0x59fd39(0x11f)][_0x59fd39(0x112)],'action':_0x43124f[_0x59fd39(0x11f)]['action'],'payload':_0x43124f[_0x59fd39(0x11f)][_0x59fd39(0x13e)],'projectDir':_0x43124f['body']['projectDir']||process['cwd']()},_0x48856f=await this['orchestrator']['processRequest'](_0x1c131d);this[_0x59fd39(0x150)](_0x1c131d['sessionId'],{'type':_0x59fd39(0x190),'action':_0x1c131d['action'],'response':_0x48856f}),_0x2175c5[_0x59fd39(0x20c)](_0x48856f);}catch(_0x1444ba){this[_0x59fd39(0x1d7)]['error'](_0x59fd39(0x155),{'error':_0x1444ba[_0x59fd39(0x1cd)],'body':_0x43124f[_0x59fd39(0x11f)]}),_0x2175c5[_0x59fd39(0x1a7)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x59fd39(0x20c)]({'success':![],'error':_0x1444ba[_0x59fd39(0x1cd)]});}}),this[_0x9ed72d(0x126)]['get'](_0x9ed72d(0x1b6),async(_0x392ad2,_0x16886f)=>{const _0x20dcf1=_0x9ed72d;try{const {path:_0x1027cc,projectDir:_0x5b1eba}=_0x392ad2['query'],_0x1f7bd0=a0_0x5498db['resolve'](_0x5b1eba||process['cwd'](),_0x1027cc||'.'),_0x234b90=await a0_0x5e09b0['stat'](_0x1f7bd0);if(_0x234b90[_0x20dcf1(0x214)]()){const _0x3e941c=await a0_0x5e09b0[_0x20dcf1(0x211)](_0x1f7bd0,{'withFileTypes':!![]}),_0x2f083b=_0x3e941c[_0x20dcf1(0x180)](_0x466899=>({'name':_0x466899['name'],'type':_0x466899[_0x20dcf1(0x214)]()?'directory':_0x20dcf1(0x17c),'path':a0_0x5498db[_0x20dcf1(0x1b5)](_0x1027cc||'.',_0x466899[_0x20dcf1(0x212)])}));_0x16886f['json']({'success':!![],'files':_0x2f083b});}else{const _0x445408=await a0_0x5e09b0['readFile'](_0x1f7bd0,'utf8');_0x16886f[_0x20dcf1(0x20c)]({'success':!![],'content':_0x445408,'type':'file'});}}catch(_0x286f7b){_0x16886f[_0x20dcf1(0x1a7)](HTTP_STATUS[_0x20dcf1(0x185)])['json']({'success':![],'error':_0x286f7b['message']});}}),this['app'][_0x9ed72d(0x14f)](_0x9ed72d(0x19f),async(_0xb406ed,_0x376fc4)=>{try{const {fileName:_0x26957c,content:_0x5e5af7,projectDir:_0x5d5dd1}=_0xb406ed['body'],_0x3ccf5f=_0x5d5dd1||process['cwd'](),_0x4d73ab=a0_0x5498db['resolve'](_0x3ccf5f,_0x26957c);await a0_0x5e09b0['mkdir'](_0x3ccf5f,{'recursive':!![]}),await a0_0x5e09b0['writeFile'](_0x4d73ab,_0x5e5af7,'utf8'),_0x376fc4['json']({'success':!![],'message':'File\x20uploaded\x20successfully','path':_0x4d73ab});}catch(_0x542347){_0x376fc4['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x542347['message']});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x158)]('/api/explorer',async(_0x29a5b0,_0x3a4300)=>{const _0x353aab=_0x9ed72d;try{const {path:_0x377ae6,showHidden:showHidden=![]}=_0x29a5b0['query'],_0x30c344=_0x377ae6||process[_0x353aab(0x175)](),_0xcc7df2=a0_0x5498db[_0x353aab(0x15a)](_0x30c344),_0x3fa19a=a0_0x5498db[_0x353aab(0x1e2)](_0xcc7df2),_0x58e0b2=await a0_0x5e09b0[_0x353aab(0x13b)](_0x3fa19a);if(!_0x58e0b2[_0x353aab(0x214)]())return _0x3a4300[_0x353aab(0x1a7)](HTTP_STATUS[_0x353aab(0x124)])[_0x353aab(0x20c)]({'success':![],'error':_0x353aab(0x1f0)});const _0x224ab3=await a0_0x5e09b0['readdir'](_0x3fa19a,{'withFileTypes':!![]}),_0x40f6e4=await Promise[_0x353aab(0x161)](_0x224ab3['filter'](_0x13e4c7=>showHidden==='true'||!_0x13e4c7['name']['startsWith']('.'))['map'](async _0x43ec3f=>{const _0x2990f0=_0x353aab,_0x478ff1=a0_0x5498db[_0x2990f0(0x1b5)](_0x3fa19a,_0x43ec3f['name']),_0x2a73dd=await a0_0x5e09b0['stat'](_0x478ff1)[_0x2990f0(0x173)](()=>null);return{'name':_0x43ec3f['name'],'type':_0x43ec3f[_0x2990f0(0x214)]()?_0x2990f0(0x135):_0x2990f0(0x17c),'path':_0x478ff1,'relativePath':a0_0x5498db[_0x2990f0(0x143)](process['cwd'](),_0x478ff1),'size':_0x2a73dd?.[_0x2990f0(0x1a5)]||0x0,'modified':_0x2a73dd?.[_0x2990f0(0x11d)]||null,'isHidden':_0x43ec3f['name'][_0x2990f0(0x1dc)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x40f6e4['sort']((_0x2a1b4e,_0x521a3b)=>{const _0x544155=_0x353aab;if(_0x2a1b4e[_0x544155(0x16a)]!==_0x521a3b[_0x544155(0x16a)])return _0x2a1b4e[_0x544155(0x16a)]==='directory'?-0x1:0x1;return _0x2a1b4e[_0x544155(0x212)][_0x544155(0x1bb)](_0x521a3b['name']);});const _0xed2921=a0_0x5498db['dirname'](_0x3fa19a),_0x29da85=_0xed2921!==_0x3fa19a;_0x3a4300['json']({'success':!![],'currentPath':_0x3fa19a,'currentRelativePath':a0_0x5498db['relative'](process['cwd'](),_0x3fa19a),'parentPath':_0x29da85?_0xed2921:null,'items':_0x40f6e4,'totalItems':_0x40f6e4['length'],'directories':_0x40f6e4[_0x353aab(0x195)](_0x43dc36=>_0x43dc36[_0x353aab(0x16a)]===_0x353aab(0x135))[_0x353aab(0x165)],'files':_0x40f6e4[_0x353aab(0x195)](_0x22aa76=>_0x22aa76['type']===_0x353aab(0x17c))['length']});}catch(_0x10a330){_0x3a4300['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x10a330['message'],'code':_0x10a330[_0x353aab(0x1ff)]});}}),this['app']['post']('/api/explorer/mkdir',async(_0x157bc0,_0x2c5b34)=>{const _0x1988b8=_0x9ed72d;try{const {path:_0x3ff83e,name:_0x2ab12a}=_0x157bc0[_0x1988b8(0x11f)],_0x106821=a0_0x5498db['resolve'](_0x3ff83e,_0x2ab12a);await a0_0x5e09b0['mkdir'](_0x106821,{'recursive':![]}),_0x2c5b34[_0x1988b8(0x20c)]({'success':!![],'path':_0x106821,'relativePath':a0_0x5498db['relative'](process['cwd'](),_0x106821)});}catch(_0x24308d){_0x2c5b34['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x1988b8(0x20c)]({'success':![],'error':_0x24308d[_0x1988b8(0x1cd)],'code':_0x24308d['code']});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x158)](_0x9ed72d(0x146),async(_0x273d45,_0xdbd14a)=>{const _0x453d71=_0x9ed72d;try{const {path:_0x54300e}=_0x273d45[_0x453d71(0x20a)],_0x153ff3=a0_0x5498db['resolve'](_0x54300e),_0x3f7e30=await a0_0x5e09b0[_0x453d71(0x13b)](_0x153ff3);_0xdbd14a['json']({'success':!![],'path':_0x153ff3,'relativePath':a0_0x5498db[_0x453d71(0x143)](process['cwd'](),_0x153ff3),'isDirectory':_0x3f7e30[_0x453d71(0x214)](),'isFile':_0x3f7e30['isFile'](),'size':_0x3f7e30['size'],'created':_0x3f7e30['birthtime'],'modified':_0x3f7e30[_0x453d71(0x11d)],'accessed':_0x3f7e30[_0x453d71(0x138)]});}catch(_0x157db6){_0xdbd14a['status'](HTTP_STATUS[_0x453d71(0x145)])[_0x453d71(0x20c)]({'success':![],'error':_0x157db6[_0x453d71(0x1cd)],'code':_0x157db6[_0x453d71(0x1ff)]});}}),this['app'][_0x9ed72d(0x14f)](_0x9ed72d(0x11b),async(_0x19004c,_0x481d76)=>{const _0x59bcb9=_0x9ed72d;try{const {sessionId:_0x25a0ad,model:_0x639100,platformProvided:_0x4a2183}=_0x19004c['body'];if(!_0x25a0ad)return _0x481d76[_0x59bcb9(0x1a7)](0x190)[_0x59bcb9(0x20c)]({'error':_0x59bcb9(0x113)});let _0x30454f=null,_0x2e095d=null;if(this['apiKeyManager']){const _0x3a98ca=this[_0x59bcb9(0x11a)]['getKeysForRequest'](_0x25a0ad,{'platformProvided':_0x4a2183||![],'vendor':this['_getVendorFromModel'](_0x639100)});_0x30454f=_0x3a98ca['loxiaApiKey'],_0x2e095d=_0x3a98ca[_0x59bcb9(0x1d1)];}!_0x30454f&&(_0x30454f=this[_0x59bcb9(0x1ed)]['loxiaApiKey']||process['env'][_0x59bcb9(0x15c)]);!_0x30454f&&_0x19004c[_0x59bcb9(0x11f)]['apiKey']&&(_0x30454f=_0x19004c['body'][_0x59bcb9(0x12a)]);if(!_0x30454f)return this[_0x59bcb9(0x1d7)][_0x59bcb9(0x166)](_0x59bcb9(0x1bf),{'sessionId':_0x25a0ad,'model':_0x639100,'platformProvided':_0x4a2183,'hasSessionManager':!!this[_0x59bcb9(0x11a)]}),_0x481d76['status'](0x191)[_0x59bcb9(0x20c)]({'error':_0x59bcb9(0x13c)});const _0x5cb18e=_0x59bcb9(0x171),_0x409298={..._0x19004c[_0x59bcb9(0x11f)],'apiKey':_0x30454f,..._0x2e095d&&{'vendorApiKey':_0x2e095d}},_0x5ed387={'method':_0x59bcb9(0x170),'headers':{'Content-Type':_0x59bcb9(0x1bc),'Authorization':'Bearer\x20'+_0x30454f},'body':JSON['stringify'](_0x409298)};this[_0x59bcb9(0x1d7)]['info'](_0x59bcb9(0x11e),{'url':_0x5cb18e,'model':_0x19004c['body'][_0x59bcb9(0x1ef)],'hasApiKey':!!_0x30454f});const _0x38b240=await fetch(_0x5cb18e,_0x5ed387);if(_0x38b240['ok']){const _0x54d8ad=await _0x38b240['json']();this[_0x59bcb9(0x1d7)]['info']('Successfully received response from Azure backend',{'model':_0x54d8ad[_0x59bcb9(0x1ef)],'contentLength':_0x54d8ad['content']?.['length']||0x0}),_0x481d76[_0x59bcb9(0x20c)](_0x54d8ad);}else{const _0x559c3a=await _0x38b240[_0x59bcb9(0x19e)]();this[_0x59bcb9(0x1d7)]['warn'](_0x59bcb9(0x1b1),{'status':_0x38b240[_0x59bcb9(0x1a7)],'statusText':_0x38b240[_0x59bcb9(0x219)],'error':_0x559c3a}),_0x481d76[_0x59bcb9(0x1a7)](_0x38b240[_0x59bcb9(0x1a7)])['json']({'error':_0x59bcb9(0x164)+_0x38b240['status']+'\x20'+_0x38b240[_0x59bcb9(0x219)],'details':_0x559c3a});}}catch(_0x538bfa){this['logger']['error']('Failed\x20to\x20proxy\x20chat\x20request\x20to\x20Azure\x20backend',{'error':_0x538bfa[_0x59bcb9(0x1cd)],'stack':_0x538bfa['stack']}),_0x481d76[_0x59bcb9(0x1a7)](0x1f4)[_0x59bcb9(0x20c)]({'error':_0x59bcb9(0x154),'details':_0x538bfa['message']});}}),this['app']['get']('/api/llm/models',async(_0x135c6a,_0x25cdc7)=>{const _0x1367bb=_0x9ed72d;try{const _0x26cad9=_0x135c6a['headers'][_0x1367bb(0x1dd)];let _0x42f2a7=null;_0x26cad9&&_0x26cad9[_0x1367bb(0x1dc)]('Bearer\x20')&&(_0x42f2a7=_0x26cad9[_0x1367bb(0x1c2)](0x7));!_0x42f2a7&&(_0x42f2a7=this[_0x1367bb(0x1ed)]['loxiaApiKey']||process['env'][_0x1367bb(0x15c)]);const _0x89f7fa=_0x1367bb(0x15e),_0x960ebf={'method':_0x1367bb(0x1ab),'headers':{'Content-Type':_0x1367bb(0x1bc),..._0x42f2a7&&{'Authorization':'Bearer\x20'+_0x42f2a7}}};this[_0x1367bb(0x1d7)][_0x1367bb(0x117)]('Fetching models from Loxia Azure backend',{'url':_0x89f7fa,'hasApiKey':!!_0x42f2a7});const _0xf53bbd=await fetch(_0x89f7fa,_0x960ebf);if(_0xf53bbd['ok']){const _0x556c6b=await _0xf53bbd['json']();this[_0x1367bb(0x1d7)]['info']('Successfully fetched models from Azure backend',{'modelCount':_0x556c6b['models']?.[_0x1367bb(0x165)]||0x0}),_0x25cdc7[_0x1367bb(0x20c)](_0x556c6b);}else{const _0x59f5fc=await _0xf53bbd['text']();this['logger'][_0x1367bb(0x13f)](_0x1367bb(0x12d),{'status':_0xf53bbd[_0x1367bb(0x1a7)],'statusText':_0xf53bbd['statusText'],'error':_0x59f5fc}),_0x25cdc7[_0x1367bb(0x1a7)](_0xf53bbd['status'])[_0x1367bb(0x20c)]({'success':![],'error':_0x1367bb(0x1da)+_0xf53bbd[_0x1367bb(0x1a7)]+'\x20'+_0xf53bbd['statusText'],'details':_0x59f5fc});}}catch(_0xde5871){this[_0x1367bb(0x1d7)]['error']('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0xde5871[_0x1367bb(0x1cd)],'stack':_0xde5871[_0x1367bb(0x1ae)]}),_0x25cdc7['status'](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0xde5871['message']});}}),this['app'][_0x9ed72d(0x158)](_0x9ed72d(0x1c3),async(_0x5b0d8a,_0x48961a)=>{const _0x15267d=_0x9ed72d;try{const _0x291b47=this['toolsRegistry'];if(!_0x291b47)return _0x48961a[_0x15267d(0x1a7)](0x1f4)[_0x15267d(0x20c)]({'error':'Tools\x20registry\x20not\x20available'});const _0x285020=_0x291b47['getAvailableToolsForUI']();this[_0x15267d(0x1d7)]['info']('Serving\x20tools\x20information',{'toolCount':_0x285020['length'],'tools':_0x285020[_0x15267d(0x180)](_0x1b85d9=>({'id':_0x1b85d9['id'],'name':_0x1b85d9[_0x15267d(0x212)],'category':_0x1b85d9['category']}))}),_0x48961a[_0x15267d(0x20c)]({'success':!![],'tools':_0x285020,'total':_0x285020['length']});}catch(_0x35d99e){this['logger'][_0x15267d(0x13f)]('Failed\x20to\x20get\x20tools\x20information',{'error':_0x35d99e['message'],'stack':_0x35d99e[_0x15267d(0x1ae)]}),_0x48961a[_0x15267d(0x1a7)](0x1f4)[_0x15267d(0x20c)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x35d99e['message']});}}),this['app'][_0x9ed72d(0x14f)](_0x9ed72d(0x1e6),async(_0x1a8c91,_0x39c99d)=>{const _0x36fb88=_0x9ed72d;try{const {sessionId:_0x2c0243,loxiaApiKey:_0x1c77c2,vendorKeys:_0x3ea040}=_0x1a8c91['body'];if(!_0x2c0243)return _0x39c99d[_0x36fb88(0x1a7)](0x190)[_0x36fb88(0x20c)]({'success':![],'error':_0x36fb88(0x113)});if(!this[_0x36fb88(0x11a)])return _0x39c99d['status'](0x1f4)[_0x36fb88(0x20c)]({'success':![],'error':_0x36fb88(0x1b7)});this['apiKeyManager']['setSessionKeys'](_0x2c0243,{'loxiaApiKey':_0x1c77c2,'vendorKeys':_0x3ea040||{}}),this['logger']['info'](_0x36fb88(0x115),{'sessionId':_0x2c0243,'hasLoxiaKey':!!_0x1c77c2,'vendorKeys':Object['keys'](_0x3ea040||{})});if(this['orchestrator']&&this[_0x36fb88(0x182)][_0x36fb88(0x14e)]&&_0x1c77c2)try{await this[_0x36fb88(0x182)]['modelsService']['refresh']({'sessionId':_0x2c0243,'apiKey':_0x1c77c2}),this['logger'][_0x36fb88(0x117)](_0x36fb88(0x151),{'sessionId':_0x2c0243});}catch(_0x13b2c7){this['logger'][_0x36fb88(0x166)](_0x36fb88(0x163),{'error':_0x13b2c7['message'],'sessionId':_0x2c0243});}_0x39c99d['json']({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x2c0243,'hasLoxiaKey':!!_0x1c77c2,'vendorKeys':Object['keys'](_0x3ea040||{})});}catch(_0x1b28dc){this[_0x36fb88(0x1d7)]['error']('Failed\x20to\x20set\x20API\x20keys',{'error':_0x1b28dc['message'],'sessionId':_0x1a8c91['body']['sessionId']}),_0x39c99d[_0x36fb88(0x1a7)](0x1f4)[_0x36fb88(0x20c)]({'success':![],'error':_0x1b28dc['message']});}}),this[_0x9ed72d(0x126)]['get'](_0x9ed72d(0x1a0),async(_0x27b712,_0x2ad660)=>{const _0x2efe5d=_0x9ed72d;try{const {sessionId:_0x3bffab}=_0x27b712['params'];if(!this['apiKeyManager'])return _0x2ad660[_0x2efe5d(0x1a7)](0x1f4)[_0x2efe5d(0x20c)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x321ea2=this[_0x2efe5d(0x11a)]['getSessionKeys'](_0x3bffab);_0x2ad660['json']({'success':!![],'sessionId':_0x3bffab,'hasLoxiaKey':!!_0x321ea2['loxiaApiKey'],'vendorKeys':Object['keys'](_0x321ea2['vendorKeys']||{}),'updatedAt':_0x321ea2[_0x2efe5d(0x20b)]});}catch(_0x3a9d67){this['logger'][_0x2efe5d(0x13f)](_0x2efe5d(0x17a),{'error':_0x3a9d67[_0x2efe5d(0x1cd)],'sessionId':_0x27b712[_0x2efe5d(0x1cf)]['sessionId']}),_0x2ad660['status'](0x1f4)[_0x2efe5d(0x20c)]({'success':![],'error':_0x3a9d67['message']});}}),this['app'][_0x9ed72d(0x20d)](_0x9ed72d(0x1a0),async(_0x5277a9,_0x5e877f)=>{const _0x5700ef=_0x9ed72d;try{const {sessionId:_0x4773f2}=_0x5277a9[_0x5700ef(0x1cf)];if(!this[_0x5700ef(0x11a)])return _0x5e877f[_0x5700ef(0x1a7)](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x54c00d=this['apiKeyManager']['removeSessionKeys'](_0x4773f2);_0x5e877f['json']({'success':!![],'removed':_0x54c00d,'message':_0x54c00d?'API\x20keys\x20removed\x20successfully':'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x5441b2){this[_0x5700ef(0x1d7)][_0x5700ef(0x13f)]('Failed\x20to\x20remove\x20API\x20keys',{'error':_0x5441b2[_0x5700ef(0x1cd)],'sessionId':_0x5277a9[_0x5700ef(0x1cf)]['sessionId']}),_0x5e877f['status'](0x1f4)['json']({'success':![],'error':_0x5441b2['message']});}}),this['app'][_0x9ed72d(0x158)]('/api/keys',async(_0x2902a5,_0x512c43)=>{const _0x1f7970=_0x9ed72d;try{if(!this['apiKeyManager'])return _0x512c43[_0x1f7970(0x1a7)](0x1f4)['json']({'success':![],'error':_0x1f7970(0x1b7)});const _0x13241a=this[_0x1f7970(0x11a)][_0x1f7970(0x1df)]();_0x512c43[_0x1f7970(0x20c)]({'success':!![],'sessions':_0x13241a,'total':_0x13241a['length']});}catch(_0x50f904){this[_0x1f7970(0x1d7)]['error'](_0x1f7970(0x119),{'error':_0x50f904[_0x1f7970(0x1cd)]}),_0x512c43[_0x1f7970(0x1a7)](0x1f4)[_0x1f7970(0x20c)]({'success':![],'error':_0x50f904['message']});}}),this['app']['post']('/api/agents/:agentId/attachments/upload',async(_0x403374,_0x1faf9f)=>{const _0x5bb9b1=_0x9ed72d;try{const {agentId:_0x5759be}=_0x403374['params'],{filePath:_0x5af315,mode:_0x235fc8,fileName:_0x439338}=_0x403374[_0x5bb9b1(0x11f)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x1faf9f[_0x5bb9b1(0x1a7)](0x1f4)[_0x5bb9b1(0x20c)]({'success':![],'error':_0x5bb9b1(0x14b)});const _0x53ec65=await this['orchestrator'][_0x5bb9b1(0x1e5)]['uploadFile']({'agentId':_0x5759be,'filePath':_0x5af315,'mode':_0x235fc8||_0x5bb9b1(0x1f7),'fileName':_0x439338});this[_0x5bb9b1(0x1d7)]['info']('File\x20attachment\x20uploaded',{'agentId':_0x5759be,'fileId':_0x53ec65['fileId'],'fileName':_0x53ec65['fileName']}),_0x1faf9f['json']({'success':!![],'attachment':_0x53ec65});}catch(_0x3e20bf){this[_0x5bb9b1(0x1d7)][_0x5bb9b1(0x13f)]('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0x403374[_0x5bb9b1(0x1cf)][_0x5bb9b1(0x192)],'error':_0x3e20bf['message']}),_0x1faf9f['status'](0x1f4)[_0x5bb9b1(0x20c)]({'success':![],'error':_0x3e20bf['message']});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x158)]('/api/agents/:agentId/attachments',async(_0x2aaaad,_0x5a2562)=>{const _0x557de8=_0x9ed72d;try{const {agentId:_0x5bc5cd}=_0x2aaaad['params'],{mode:_0x4209bf,active:_0x352dec}=_0x2aaaad[_0x557de8(0x20a)];if(!this[_0x557de8(0x182)]?.[_0x557de8(0x1e5)])return _0x5a2562[_0x557de8(0x1a7)](0x1f4)[_0x557de8(0x20c)]({'success':![],'error':_0x557de8(0x14b)});const _0x5628a2={};if(_0x4209bf)_0x5628a2['mode']=_0x4209bf;if(_0x352dec!==undefined)_0x5628a2['active']=_0x352dec==='true';const _0x2acaf0=await this['orchestrator']['fileAttachmentService'][_0x557de8(0x177)](_0x5bc5cd,_0x5628a2);_0x5a2562[_0x557de8(0x20c)]({'success':!![],'attachments':_0x2acaf0,'total':_0x2acaf0[_0x557de8(0x165)]});}catch(_0x2fcf91){this['logger'][_0x557de8(0x13f)](_0x557de8(0x153),{'agentId':_0x2aaaad[_0x557de8(0x1cf)][_0x557de8(0x192)],'error':_0x2fcf91['message']}),_0x5a2562[_0x557de8(0x1a7)](0x1f4)['json']({'success':![],'error':_0x2fcf91[_0x557de8(0x1cd)]});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x158)]('/api/attachments/:fileId',async(_0x349cca,_0x20ad1f)=>{const _0x39c448=_0x9ed72d;try{const {fileId:_0x17a822}=_0x349cca['params'];if(!this[_0x39c448(0x182)]?.[_0x39c448(0x1e5)])return _0x20ad1f[_0x39c448(0x1a7)](0x1f4)[_0x39c448(0x20c)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x14bc87=await this[_0x39c448(0x182)][_0x39c448(0x1e5)][_0x39c448(0x140)](_0x17a822);if(!_0x14bc87)return _0x20ad1f['status'](0x194)[_0x39c448(0x20c)]({'success':![],'error':'Attachment\x20not\x20found'});_0x20ad1f[_0x39c448(0x20c)]({'success':!![],'attachment':_0x14bc87});}catch(_0x4c341e){this[_0x39c448(0x1d7)]['error'](_0x39c448(0x1d8),{'fileId':_0x349cca[_0x39c448(0x1cf)][_0x39c448(0x1e4)],'error':_0x4c341e['message']}),_0x20ad1f['status'](0x1f4)[_0x39c448(0x20c)]({'success':![],'error':_0x4c341e[_0x39c448(0x1cd)]});}}),this[_0x9ed72d(0x126)]['patch'](_0x9ed72d(0x16f),async(_0x23e52d,_0x26ea0f)=>{const _0x33079f=_0x9ed72d;try{const {fileId:_0x1af3c1}=_0x23e52d[_0x33079f(0x1cf)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x26ea0f[_0x33079f(0x1a7)](0x1f4)[_0x33079f(0x20c)]({'success':![],'error':_0x33079f(0x14b)});const _0x53056b=await this[_0x33079f(0x182)]['fileAttachmentService']['toggleActive'](_0x1af3c1);this['logger']['info'](_0x33079f(0x218),{'fileId':_0x1af3c1,'active':_0x53056b['active']}),_0x26ea0f['json']({'success':!![],'attachment':_0x53056b});}catch(_0x4d99f8){this['logger'][_0x33079f(0x13f)]('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x23e52d['params']['fileId'],'error':_0x4d99f8[_0x33079f(0x1cd)]}),_0x26ea0f[_0x33079f(0x1a7)](0x1f4)['json']({'success':![],'error':_0x4d99f8[_0x33079f(0x1cd)]});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x1ca)](_0x9ed72d(0x1ad),async(_0x1fa792,_0x435ffa)=>{const _0x37e9fa=_0x9ed72d;try{const {fileId:_0x44e87e}=_0x1fa792[_0x37e9fa(0x1cf)],{mode:_0x45e322,active:_0x1b6dec}=_0x1fa792['body'];if(!this[_0x37e9fa(0x182)]?.[_0x37e9fa(0x1e5)])return _0x435ffa[_0x37e9fa(0x1a7)](0x1f4)[_0x37e9fa(0x20c)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x3d01c7={};if(_0x45e322!==undefined)_0x3d01c7['mode']=_0x45e322;if(_0x1b6dec!==undefined)_0x3d01c7['active']=_0x1b6dec;const _0x3be858=await this[_0x37e9fa(0x182)]['fileAttachmentService'][_0x37e9fa(0x1bd)](_0x44e87e,_0x3d01c7);this['logger'][_0x37e9fa(0x117)]('Attachment\x20updated',{'fileId':_0x44e87e,'updates':_0x3d01c7}),_0x435ffa[_0x37e9fa(0x20c)]({'success':!![],'attachment':_0x3be858});}catch(_0x34ed7f){this[_0x37e9fa(0x1d7)][_0x37e9fa(0x13f)](_0x37e9fa(0x137),{'fileId':_0x1fa792['params']['fileId'],'error':_0x34ed7f['message']}),_0x435ffa['status'](0x1f4)[_0x37e9fa(0x20c)]({'success':![],'error':_0x34ed7f[_0x37e9fa(0x1cd)]});}}),this['app'][_0x9ed72d(0x20d)](_0x9ed72d(0x1ad),async(_0x328148,_0x403e65)=>{const _0x1ec4c9=_0x9ed72d;try{const {fileId:_0xe64648}=_0x328148[_0x1ec4c9(0x1cf)],{agentId:_0x45debd}=_0x328148['query'];if(!_0x45debd)return _0x403e65[_0x1ec4c9(0x1a7)](0x190)['json']({'success':![],'error':_0x1ec4c9(0x1a3)});if(!this[_0x1ec4c9(0x182)]?.[_0x1ec4c9(0x1e5)])return _0x403e65[_0x1ec4c9(0x1a7)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x4eca46=await this['orchestrator'][_0x1ec4c9(0x1e5)]['deleteAttachment'](_0xe64648,_0x45debd);this[_0x1ec4c9(0x1d7)]['info'](_0x1ec4c9(0x1a8),{'fileId':_0xe64648,'agentId':_0x45debd,'physicallyDeleted':_0x4eca46[_0x1ec4c9(0x1fa)]}),_0x403e65[_0x1ec4c9(0x20c)]({'success':!![],'message':_0x4eca46[_0x1ec4c9(0x1fa)]?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x4eca46[_0x1ec4c9(0x1fa)]});}catch(_0x14f8ca){this[_0x1ec4c9(0x1d7)]['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x328148[_0x1ec4c9(0x1cf)][_0x1ec4c9(0x1e4)],'error':_0x14f8ca[_0x1ec4c9(0x1cd)]}),_0x403e65[_0x1ec4c9(0x1a7)](0x1f4)['json']({'success':![],'error':_0x14f8ca[_0x1ec4c9(0x1cd)]});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x14f)]('/api/attachments/:fileId/import',async(_0x4c84b1,_0x5ce291)=>{const _0xaf0566=_0x9ed72d;try{const {fileId:_0x1b6ea2}=_0x4c84b1['params'],{targetAgentId:_0x5ae755}=_0x4c84b1['body'];if(!_0x5ae755)return _0x5ce291[_0xaf0566(0x1a7)](0x190)['json']({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this[_0xaf0566(0x182)]?.['fileAttachmentService'])return _0x5ce291['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x183b53=await this[_0xaf0566(0x182)][_0xaf0566(0x1e5)]['importFromAgent'](_0x1b6ea2,_0x5ae755);this['logger'][_0xaf0566(0x117)]('Attachment imported',{'fileId':_0x1b6ea2,'targetAgentId':_0x5ae755}),_0x5ce291[_0xaf0566(0x20c)]({'success':!![],'attachment':_0x183b53});}catch(_0x200531){this[_0xaf0566(0x1d7)]['error']('Failed to import attachment',{'fileId':_0x4c84b1['params']['fileId'],'error':_0x200531[_0xaf0566(0x1cd)]}),_0x5ce291[_0xaf0566(0x1a7)](0x1f4)[_0xaf0566(0x20c)]({'success':![],'error':_0x200531[_0xaf0566(0x1cd)]});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x158)](_0x9ed72d(0x209),async(_0xa10f28,_0x3892f4)=>{const _0x28794c=_0x9ed72d;try{const {fileId:_0x112c11}=_0xa10f28['params'];if(!this[_0x28794c(0x182)]?.['fileAttachmentService'])return _0x3892f4['status'](0x1f4)['json']({'success':![],'error':_0x28794c(0x14b)});const _0x55a170=await this[_0x28794c(0x182)][_0x28794c(0x1e5)][_0x28794c(0x206)](_0x112c11);if(!_0x55a170)return _0x3892f4['status'](0x194)[_0x28794c(0x20c)]({'success':![],'error':_0x28794c(0x13d)});_0x3892f4[_0x28794c(0x20c)]({'success':!![],'preview':_0x55a170});}catch(_0x28ffe7){this[_0x28794c(0x1d7)][_0x28794c(0x13f)](_0x28794c(0x18c),{'fileId':_0xa10f28['params'][_0x28794c(0x1e4)],'error':_0x28ffe7[_0x28794c(0x1cd)]}),_0x3892f4['status'](0x1f4)[_0x28794c(0x20c)]({'success':![],'error':_0x28ffe7[_0x28794c(0x1cd)]});}}),this['app'][_0x9ed72d(0x158)](_0x9ed72d(0x17d),async(_0x4a616a,_0x44d023)=>{const _0x2238e8=_0x9ed72d;try{const {sessionId:_0x38f13e,filename:_0x2c5cfb}=_0x4a616a['params'],_0x4f916c=this[_0x2238e8(0x1c6)]['get'](_0x38f13e);if(!_0x4f916c)return _0x44d023['status'](HTTP_STATUS[_0x2238e8(0x1fe)])['json']({'success':![],'error':'Invalid\x20session'});const _0x362ab6=a0_0x5498db[_0x2238e8(0x178)](_0x2c5cfb);if(_0x362ab6!==_0x2c5cfb||_0x2c5cfb[_0x2238e8(0x196)]('..')||_0x2c5cfb[_0x2238e8(0x196)]('/')||_0x2c5cfb['includes']('\x5c'))return _0x44d023[_0x2238e8(0x1a7)](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':_0x2238e8(0x1aa)});let _0x5bdcde=null;const _0x477046=[a0_0x5498db[_0x2238e8(0x1b5)](_0x4f916c[_0x2238e8(0x162)]||process['cwd'](),'images',_0x362ab6),a0_0x5498db['join']('/tmp/loxia-images',_0x38f13e,_0x362ab6),a0_0x5498db['join']('/tmp/loxia-images',_0x362ab6)];if(this[_0x2238e8(0x182)]?.['agentPool'])try{const _0x534b08=await this['orchestrator']['agentPool']['getAllAgents']();for(const _0x265a05 of _0x534b08){_0x265a05['directoryAccess']?.[_0x2238e8(0x213)]&&_0x477046['push'](a0_0x5498db[_0x2238e8(0x1b5)](_0x265a05[_0x2238e8(0x17b)][_0x2238e8(0x213)],'images',_0x362ab6));}}catch(_0x6add24){this['logger'][_0x2238e8(0x166)](_0x2238e8(0x1d4),{'error':_0x6add24[_0x2238e8(0x1cd)]});}for(const _0x5860ce of _0x477046){try{const _0x4f7fc6=await a0_0x5e09b0[_0x2238e8(0x13b)](_0x5860ce);if(_0x4f7fc6['isFile']()){_0x5bdcde=_0x5860ce,this['logger'][_0x2238e8(0x117)]('Image\x20found',{'filename':_0x362ab6,'path':_0x5bdcde,'sessionId':_0x38f13e});break;}}catch(_0x5f3921){continue;}}if(!_0x5bdcde)return this['logger']['warn'](_0x2238e8(0x1e8),{'filename':_0x362ab6,'sessionId':_0x38f13e,'searchPaths':_0x477046}),_0x44d023[_0x2238e8(0x1a7)](HTTP_STATUS[_0x2238e8(0x185)])[_0x2238e8(0x20c)]({'success':![],'error':_0x2238e8(0x1b4)});_0x44d023['sendFile'](_0x5bdcde,_0x588bbe=>{const _0x1d290d=_0x2238e8;_0x588bbe?(this['logger']['error']('Failed\x20to\x20send\x20image\x20file',{'error':_0x588bbe['message'],'imagePath':_0x5bdcde,'filename':_0x362ab6}),!_0x44d023[_0x1d290d(0x12f)]&&_0x44d023[_0x1d290d(0x1a7)](HTTP_STATUS[_0x1d290d(0x145)])[_0x1d290d(0x20c)]({'success':![],'error':_0x1d290d(0x18d)})):this['logger'][_0x1d290d(0x117)]('Image\x20served\x20successfully',{'filename':_0x362ab6,'path':_0x5bdcde,'sessionId':_0x38f13e});});}catch(_0x3bb789){this['logger'][_0x2238e8(0x13f)](_0x2238e8(0x20e),{'error':_0x3bb789[_0x2238e8(0x1cd)],'sessionId':_0x4a616a[_0x2238e8(0x1cf)][_0x2238e8(0x112)],'filename':_0x4a616a[_0x2238e8(0x1cf)][_0x2238e8(0x14a)]}),_0x44d023['status'](HTTP_STATUS[_0x2238e8(0x145)])['json']({'success':![],'error':_0x3bb789[_0x2238e8(0x1cd)]});}}),this['app']['post']('/api/agents/:agentId/mode',async(_0x2bfe1e,_0x3ff27c)=>{const _0x4f7f54=_0x9ed72d;try{const {agentId:_0x4472c5}=_0x2bfe1e['params'],{mode:_0x5c29fc,lockMode:lockMode=![],sessionId:_0x27305d}=_0x2bfe1e[_0x4f7f54(0x11f)];if(!Object['values'](AGENT_MODES)['includes'](_0x5c29fc))return _0x3ff27c[_0x4f7f54(0x1a7)](0x190)['json']({'success':![],'error':_0x4f7f54(0x204)+Object['values'](AGENT_MODES)['join'](',\x20')});const _0x46b769=_0x27305d||_0x2bfe1e[_0x4f7f54(0x121)];!_0x46b769&&this['logger'][_0x4f7f54(0x166)](_0x4f7f54(0x201),{'agentId':_0x4472c5,'hasBodySessionId':!!_0x27305d,'hasReqSessionId':!!_0x2bfe1e[_0x4f7f54(0x121)]});const _0x6dfb0={'interface':INTERFACE_TYPES[_0x4f7f54(0x1fc)],'sessionId':_0x46b769,'action':_0x4f7f54(0x141),'payload':{'agentId':_0x4472c5,'updates':{'mode':_0x5c29fc}}},_0x13f2ee=await this['orchestrator'][_0x4f7f54(0x1cb)](_0x6dfb0);if(_0x13f2ee['success']){const _0x394816=_0x13f2ee['data'];this[_0x4f7f54(0x1d7)][_0x4f7f54(0x117)]('Agent\x20mode\x20updated:\x20'+_0x4472c5,{'newMode':_0x5c29fc,'lockMode':lockMode,'finalMode':_0x394816?.['mode']}),this['broadcastToSession'](_0x6dfb0['sessionId'],{'type':'agent_mode_changed','data':{'agentId':_0x4472c5,'mode':_0x394816?.['mode'],'modeState':_0x394816?.['modeState']}}),_0x3ff27c[_0x4f7f54(0x20c)]({'success':!![],'agent':_0x394816,'message':'Agent\x20mode\x20switched\x20to\x20'+_0x394816?.[_0x4f7f54(0x189)]});}else _0x3ff27c[_0x4f7f54(0x1a7)](0x190)[_0x4f7f54(0x20c)]({'success':![],'error':_0x13f2ee['error']||_0x4f7f54(0x1d2)});}catch(_0x2749b2){this['logger'][_0x4f7f54(0x13f)]('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0x2bfe1e['params']['agentId'],'error':_0x2749b2['message']}),_0x3ff27c[_0x4f7f54(0x1a7)](0x1f4)['json']({'success':![],'error':_0x2749b2['message']});}}),this[_0x9ed72d(0x126)][_0x9ed72d(0x14f)]('/api/agents/:agentId/stop',async(_0x1a0339,_0x46ed0a)=>{const _0x113d95=_0x9ed72d;try{const {agentId:_0x6e2c5f}=_0x1a0339[_0x113d95(0x1cf)],_0x50acfd=this['orchestrator']['messageProcessor'];if(!_0x50acfd)return _0x46ed0a[_0x113d95(0x1a7)](0x1f4)['json']({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0xfdaee1=await _0x50acfd['stopAutonomousExecution'](_0x6e2c5f);this[_0x113d95(0x1d7)]['info'](_0x113d95(0x208)+_0x6e2c5f);const _0x2377da=_0x1a0339[_0x113d95(0x121)]||_0xfdaee1[_0x113d95(0x1d0)]?.['sessionId'];_0x2377da&&this[_0x113d95(0x150)](_0x2377da,{'type':'agent_mode_changed','data':{'agentId':_0x6e2c5f,'mode':_0xfdaee1['agent']?.[_0x113d95(0x189)],'modeState':_0xfdaee1['agent']?.[_0x113d95(0x15d)]}}),_0x46ed0a[_0x113d95(0x20c)](_0xfdaee1);}catch(_0x2e9cb7){this['logger'][_0x113d95(0x13f)](_0x113d95(0x186),{'agentId':_0x1a0339[_0x113d95(0x1cf)][_0x113d95(0x192)],'error':_0x2e9cb7[_0x113d95(0x1cd)]}),_0x46ed0a['status'](0x1f4)['json']({'success':![],'error':_0x2e9cb7[_0x113d95(0x1cd)]});}}),this['app'][_0x9ed72d(0x158)]('/api/agents/:agentId/mode',async(_0x3509b0,_0x5ac01f)=>{const _0x3148bb=_0x9ed72d;try{const {agentId:_0x2ed899}=_0x3509b0[_0x3148bb(0x1cf)],_0x1e6915={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x3509b0['sessionID'],'action':_0x3148bb(0x1c1),'payload':{'agentId':_0x2ed899}},_0x10332c=await this[_0x3148bb(0x182)][_0x3148bb(0x1cb)](_0x1e6915);_0x10332c['success']&&_0x10332c[_0x3148bb(0x1d0)]?_0x5ac01f[_0x3148bb(0x20c)]({'success':!![],'mode':_0x10332c['agent'][_0x3148bb(0x189)],'modeState':_0x10332c[_0x3148bb(0x1d0)]['modeState'],'currentTask':_0x10332c[_0x3148bb(0x1d0)]['currentTask'],'iterationCount':_0x10332c[_0x3148bb(0x1d0)][_0x3148bb(0x157)],'taskStartTime':_0x10332c[_0x3148bb(0x1d0)]['taskStartTime'],'stopRequested':_0x10332c[_0x3148bb(0x1d0)]['stopRequested']}):_0x5ac01f[_0x3148bb(0x1a7)](0x194)[_0x3148bb(0x20c)]({'success':![],'error':'Agent\x20not\x20found'});}catch(_0x44f468){this[_0x3148bb(0x1d7)][_0x3148bb(0x13f)](_0x3148bb(0x172),{'agentId':_0x3509b0[_0x3148bb(0x1cf)][_0x3148bb(0x192)],'error':_0x44f468['message']}),_0x5ac01f[_0x3148bb(0x1a7)](0x1f4)['json']({'success':![],'error':_0x44f468[_0x3148bb(0x1cd)]});}}),this[_0x9ed72d(0x126)]['post'](_0x9ed72d(0x147),async(_0x14e83a,_0x207234)=>{const _0x1957ce=_0x9ed72d;try{const {agentId:_0x21208f}=_0x14e83a[_0x1957ce(0x1cf)],_0x2f42ff=await this[_0x1957ce(0x182)][_0x1957ce(0x125)][_0x1957ce(0x1f8)](_0x21208f);_0x207234[_0x1957ce(0x20c)](_0x2f42ff);}catch(_0x578606){this[_0x1957ce(0x1d7)][_0x1957ce(0x13f)]('Failed\x20to\x20clear\x20agent\x20conversation',{'agentId':_0x14e83a[_0x1957ce(0x1cf)][_0x1957ce(0x192)],'error':_0x578606['message']}),_0x207234['status'](0x1f4)['json']({'success':![],'error':_0x578606[_0x1957ce(0x1cd)]});}}),this['app'][_0x9ed72d(0x158)](_0x9ed72d(0x1f4),async(_0x5d9eca,_0x26b5fb)=>{const _0x2a1e68=_0x9ed72d;try{const {agentId:_0x466d8b}=_0x5d9eca[_0x2a1e68(0x1cf)],{shouldAgentBeActive:_0x261436}=await import('../services/agentActivityService.js'),_0x2eaa9e=await this['orchestrator'][_0x2a1e68(0x125)]['getAgent'](_0x466d8b);if(!_0x2eaa9e)return _0x26b5fb['status'](0x194)['json']({'success':![],'error':_0x2a1e68(0x1c8)});const _0x408c6e=_0x261436(_0x2eaa9e);_0x26b5fb['json']({'success':!![],'agentId':_0x466d8b,'isActive':_0x408c6e[_0x2a1e68(0x12e)],'reason':_0x408c6e['reason'],'details':_0x408c6e['details']});}catch(_0x2d88f8){this['logger']['error']('Failed\x20to\x20get\x20agent\x20activity\x20status',{'agentId':_0x5d9eca['params'][_0x2a1e68(0x192)],'error':_0x2d88f8['message']}),_0x26b5fb['status'](0x1f4)['json']({'success':![],'error':_0x2d88f8['message']});}}),this[_0x9ed72d(0x126)]['get'](_0x9ed72d(0x1c7),async(_0x23c3f9,_0x59a7c6)=>{const _0x255cc8=_0x9ed72d;try{const _0x344e4b=this['orchestrator']['config']['project']?.['directory']||process[_0x255cc8(0x175)](),_0x2efcae=await this['orchestrator']['stateManager'][_0x255cc8(0x1e3)](_0x344e4b,this['orchestrator']['agentPool']);_0x59a7c6['json']({'success':!![],'agents':_0x2efcae,'total':_0x2efcae['length'],'active':_0x2efcae['filter'](_0x5e074c=>_0x5e074c['isLoaded'])[_0x255cc8(0x165)],'archived':_0x2efcae['filter'](_0x365b6e=>!_0x365b6e[_0x255cc8(0x1ea)])['length']});}catch(_0x2e8c8b){this[_0x255cc8(0x1d7)]['error']('Failed\x20to\x20get\x20available\x20agents',{'error':_0x2e8c8b[_0x255cc8(0x1cd)],'stack':_0x2e8c8b['stack']}),_0x59a7c6[_0x255cc8(0x1a7)](0x1f4)['json']({'success':![],'error':_0x2e8c8b[_0x255cc8(0x1cd)]});}}),this['app']['get'](_0x9ed72d(0x1cc),async(_0x32e4fc,_0x22f904)=>{const _0x4dd462=_0x9ed72d;try{const {agentId:_0x47736d}=_0x32e4fc['params'],_0x378a75=this['orchestrator'][_0x4dd462(0x1ed)][_0x4dd462(0x174)]?.[_0x4dd462(0x135)]||process[_0x4dd462(0x175)](),_0x13cb9f=await this[_0x4dd462(0x182)][_0x4dd462(0x16e)]['getAgentMetadata'](_0x47736d,_0x378a75);_0x22f904['json']({'success':!![],'metadata':_0x13cb9f});}catch(_0x37b378){this[_0x4dd462(0x1d7)][_0x4dd462(0x13f)]('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x32e4fc[_0x4dd462(0x1cf)]['agentId'],'error':_0x37b378[_0x4dd462(0x1cd)]}),_0x22f904['status'](0x194)[_0x4dd462(0x20c)]({'success':![],'error':_0x37b378['message']});}}),this['app']['post']('/api/agents/import',async(_0x10f5a2,_0x3cb7a1)=>{const _0x3551ab=_0x9ed72d;try{const {agentId:_0x26c9eb}=_0x10f5a2[_0x3551ab(0x11f)];if(!_0x26c9eb)return _0x3cb7a1['status'](0x190)['json']({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0x1b55a3=this[_0x3551ab(0x182)]['config']['project']?.[_0x3551ab(0x135)]||process['cwd'](),_0x284311=await this['orchestrator']['stateManager']['importArchivedAgent'](_0x26c9eb,_0x1b55a3,this['orchestrator']['agentPool']);this['wsManager']&&this[_0x3551ab(0x129)][_0x3551ab(0x179)]({'type':'agent-imported','agent':{'id':_0x284311['id'],'name':_0x284311[_0x3551ab(0x212)],'status':_0x284311['status'],'capabilities':_0x284311['capabilities'],'model':_0x284311[_0x3551ab(0x19d)]||_0x284311[_0x3551ab(0x217)]}}),this['logger'][_0x3551ab(0x117)]('Agent imported successfully',{'agentId':_0x284311['id'],'name':_0x284311['name']}),_0x3cb7a1[_0x3551ab(0x20c)]({'success':!![],'agent':{'id':_0x284311['id'],'name':_0x284311['name'],'status':_0x284311[_0x3551ab(0x1a7)],'model':_0x284311['currentModel']||_0x284311[_0x3551ab(0x217)],'capabilities':_0x284311[_0x3551ab(0x14c)],'lastActivity':_0x284311['lastActivity']},'message':'Agent\x20'+_0x284311[_0x3551ab(0x212)]+_0x3551ab(0x12c)});}catch(_0x2fa69a){this['logger'][_0x3551ab(0x13f)]('Failed to import agent',{'agentId':_0x10f5a2['body']['agentId'],'error':_0x2fa69a[_0x3551ab(0x1cd)],'stack':_0x2fa69a['stack']});const _0x34b922=_0x2fa69a['message'][_0x3551ab(0x196)](_0x3551ab(0x142))?0x199:_0x2fa69a[_0x3551ab(0x1cd)]['includes']('not\x20found')?0x194:_0x2fa69a[_0x3551ab(0x1cd)]['includes']('Invalid')?0x190:0x1f4;_0x3cb7a1[_0x3551ab(0x1a7)](_0x34b922)[_0x3551ab(0x20c)]({'success':![],'error':_0x2fa69a[_0x3551ab(0x1cd)]});}}),this[_0x9ed72d(0x126)]['get']('*',(_0x3c82e7,_0x43b569)=>{const _0x321ea6=_0x9ed72d,_0x4997ea=a0_0x5498db['join'](__dirname,'../../web-ui/build/index.html');_0x43b569[_0x321ea6(0x1ee)](_0x4997ea,_0x4cad0f=>{const _0x3b24eb=_0x321ea6;_0x4cad0f&&_0x43b569['status'](HTTP_STATUS[_0x3b24eb(0x185)])[_0x3b24eb(0x1e1)](_0x3b24eb(0x114));});});}[a0_0x5cb154(0x1f2)](){const _0x4b1398=a0_0x5cb154;this['logger'][_0x4b1398(0x117)]('Setting\x20up\x20WebSocket\x20server',{'port':this[_0x4b1398(0x210)],'host':this[_0x4b1398(0x1af)],'wsServerExists':!!this['wss'],'httpServerExists':!!this['server']}),this['wss']['on'](_0x4b1398(0x13f),_0x38677f=>{const _0x485cbe=_0x4b1398;this['logger']['error'](_0x485cbe(0x120),{'error':_0x38677f[_0x485cbe(0x1cd)],'stack':_0x38677f['stack'],'port':this['port']});}),this[_0x4b1398(0x15f)]['on'](_0x4b1398(0x1db),()=>{const _0x38a201=_0x4b1398;this[_0x38a201(0x1d7)][_0x38a201(0x117)](_0x38a201(0x21a),{'port':this['port'],'host':this[_0x38a201(0x1af)]});}),this[_0x4b1398(0x15f)]['on'](_0x4b1398(0x187),(_0x4d9182,_0xb3f78b)=>{const _0x3805c8=_0x4b1398,_0x1a96a8='conn-'+Date[_0x3805c8(0x20f)]()+'-'+Math[_0x3805c8(0x191)]()[_0x3805c8(0x130)](0x24)['substr'](0x2,0x9);this['logger'][_0x3805c8(0x117)]('WebSocket\x20connection\x20established',{'connectionId':_0x1a96a8,'ip':_0xb3f78b[_0x3805c8(0x1e9)][_0x3805c8(0x18b)],'origin':_0xb3f78b['headers'][_0x3805c8(0x176)],'host':_0xb3f78b[_0x3805c8(0x1a4)]['host'],'userAgent':_0xb3f78b['headers']['user-agent'],'url':_0xb3f78b['url']});const _0x17b1b4={'id':_0x1a96a8,'ws':_0x4d9182,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()[_0x3805c8(0x1ce)]()};this['connections']['set'](_0x1a96a8,_0x17b1b4),_0x4d9182['on'](_0x3805c8(0x1cd),async _0x389ebf=>{const _0x4f79e0=_0x3805c8;try{const _0x3c52f8=JSON['parse'](_0x389ebf[_0x4f79e0(0x130)]());await this[_0x4f79e0(0x159)](_0x1a96a8,_0x3c52f8);}catch(_0x4410fc){this['logger']['error']('WebSocket\x20message\x20error',{'connectionId':_0x1a96a8,'error':_0x4410fc['message']}),_0x4d9182['send'](JSON[_0x4f79e0(0x207)]({'type':'error','error':_0x4410fc['message']}));}}),_0x4d9182['on'](_0x3805c8(0x1ec),()=>{const _0x5e2b49=_0x3805c8;this[_0x5e2b49(0x1d7)]['info'](_0x5e2b49(0x18a),{'connectionId':_0x1a96a8}),this[_0x5e2b49(0x1b2)]['delete'](_0x1a96a8);}),_0x4d9182['send'](JSON[_0x3805c8(0x207)]({'type':'connected','connectionId':_0x1a96a8,'timestamp':new Date()['toISOString']()}));});}async['handleWebSocketMessage'](_0x3e8cdb,_0x53a1ee){const _0x13e93b=a0_0x5cb154,_0x417ed3=this['connections']['get'](_0x3e8cdb);if(!_0x417ed3)return;_0x417ed3['lastActivity']=new Date()[_0x13e93b(0x1ce)]();switch(_0x53a1ee[_0x13e93b(0x16a)]){case'join_session':const _0x32e618=_0x53a1ee['sessionId'];_0x417ed3[_0x13e93b(0x112)]=_0x32e618,this['logger'][_0x13e93b(0x117)](_0x13e93b(0x118),{'connectionId':_0x3e8cdb,'sessionId':_0x32e618,'totalConnectionsForSession':Array['from'](this[_0x13e93b(0x1b2)][_0x13e93b(0x1ba)]())[_0x13e93b(0x195)](_0x5e6c4e=>_0x5e6c4e[_0x13e93b(0x112)]===_0x32e618)['length']}),_0x417ed3['ws']['send'](JSON['stringify']({'type':'session_joined','sessionId':_0x32e618}));break;case'ping':_0x417ed3['ws'][_0x13e93b(0x1e1)](JSON['stringify']({'type':_0x13e93b(0x215),'timestamp':new Date()[_0x13e93b(0x1ce)]()}));break;case'orchestrator_request':try{const _0x1f4e09={'interface':INTERFACE_TYPES[_0x13e93b(0x1fc)],'sessionId':_0x417ed3[_0x13e93b(0x112)],'action':_0x53a1ee[_0x13e93b(0x1f3)],'payload':_0x53a1ee['payload'],'projectDir':_0x53a1ee['projectDir']||process['cwd']()},_0x357494=await this[_0x13e93b(0x182)]['processRequest'](_0x1f4e09);_0x417ed3['ws']['send'](JSON['stringify']({'type':_0x13e93b(0x190),'requestId':_0x53a1ee['requestId'],'response':_0x357494}));}catch(_0x40f74b){_0x417ed3['ws'][_0x13e93b(0x1e1)](JSON['stringify']({'type':'error','requestId':_0x53a1ee['requestId'],'error':_0x40f74b[_0x13e93b(0x1cd)]}));}break;default:this['logger']['warn'](_0x13e93b(0x19b),{'connectionId':_0x3e8cdb,'type':_0x53a1ee[_0x13e93b(0x16a)]});}}[a0_0x5cb154(0x150)](_0x12d2ba,_0x45cdaf){const _0x5d5dae=a0_0x5cb154,_0x5dce9a=Array['from'](this[_0x5d5dae(0x1b2)][_0x5d5dae(0x1ba)]())['filter'](_0x4173a0=>_0x4173a0[_0x5d5dae(0x112)]===_0x12d2ba);let _0x63a3a8=[];_0x5dce9a[_0x5d5dae(0x165)]===0x0&&(_0x63a3a8=Array['from'](this[_0x5d5dae(0x1b2)][_0x5d5dae(0x1ba)]()),this['logger']?.['warn']('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x12d2ba,'totalConnections':this['connections']['size'],'allSessionIds':Array['from'](this['connections'][_0x5d5dae(0x1ba)]())[_0x5d5dae(0x180)](_0x2886c0=>_0x2886c0[_0x5d5dae(0x112)])[_0x5d5dae(0x195)](Boolean)}));const _0x512e0a=_0x5dce9a[_0x5d5dae(0x165)]>0x0?_0x5dce9a:_0x63a3a8;this[_0x5d5dae(0x1d7)]?.['info']('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x12d2ba,'messageType':_0x45cdaf[_0x5d5dae(0x16a)],'agentId':_0x45cdaf[_0x5d5dae(0x192)],'totalConnections':this['connections'][_0x5d5dae(0x1a5)],'sessionConnections':_0x5dce9a[_0x5d5dae(0x165)],'targetConnections':_0x512e0a['length'],'connectionIds':_0x512e0a['map'](_0x596da1=>_0x596da1['id']),'usingFallback':_0x5dce9a['length']===0x0,'messagePreview':_0x45cdaf[_0x5d5dae(0x16a)]===_0x5d5dae(0x199)&&_0x45cdaf[_0x5d5dae(0x1cd)]?{'messageId':_0x45cdaf['message']['id'],'messageRole':_0x45cdaf['message'][_0x5d5dae(0x1b9)],'contentLength':_0x45cdaf[_0x5d5dae(0x1cd)]['content']?.[_0x5d5dae(0x165)],'hasToolResults':!!_0x45cdaf['message']['toolResults']}:undefined});for(const _0x58b91d of _0x512e0a){try{const _0x5dc6e5={..._0x45cdaf,'timestamp':new Date()['toISOString']()};_0x58b91d['ws'][_0x5d5dae(0x1e1)](JSON['stringify'](_0x5dc6e5)),this[_0x5d5dae(0x1d7)]?.[_0x5d5dae(0x117)](_0x5d5dae(0x194),{'connectionId':_0x58b91d['id'],'messageType':_0x45cdaf[_0x5d5dae(0x16a)],'agentId':_0x45cdaf['agentId']});}catch(_0x31ddaf){this[_0x5d5dae(0x1d7)][_0x5d5dae(0x166)]('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x58b91d['id'],'sessionId':_0x12d2ba,'messageType':_0x45cdaf[_0x5d5dae(0x16a)],'error':_0x31ddaf['message']});}}}async['startServer'](){return new Promise((_0x16dafa,_0x16cf78)=>{const _0x562191=a0_0xbf7e;this['server']['listen'](this['port'],this[_0x562191(0x1af)],_0x3181e7=>{const _0x34cbc2=_0x562191;_0x3181e7?(this['logger'][_0x34cbc2(0x13f)](_0x34cbc2(0x1f9),{'error':_0x3181e7[_0x34cbc2(0x1cd)],'port':this['port'],'host':this['host']}),_0x16cf78(_0x3181e7)):(this[_0x34cbc2(0x139)]=!![],this[_0x34cbc2(0x1d7)][_0x34cbc2(0x117)]('HTTP\x20server\x20started\x20successfully',{'port':this[_0x34cbc2(0x210)],'host':this['host'],'httpUrl':_0x34cbc2(0x127)+this['host']+':'+this['port'],'wsUrl':'ws://'+this[_0x34cbc2(0x1af)]+':'+this['port'],'wsServerAttached':!!this['wss'],'wsConnections':this['connections'][_0x34cbc2(0x1a5)]}),setTimeout(async()=>{const _0x6afb60=_0x34cbc2;await this[_0x6afb60(0x17e)]();},0x3e8),_0x16dafa());}),this[_0x562191(0x167)]['on'](_0x562191(0x13f),_0x570ef5=>{const _0x58c342=_0x562191;this['logger'][_0x58c342(0x13f)]('HTTP\x20server\x20error:',{'error':_0x570ef5['message'],'stack':_0x570ef5['stack'],'port':this[_0x58c342(0x210)]});});});}async['testWebSocketServer'](){const _0x34e962=a0_0x5cb154;try{const {default:_0x88babe}=await import('ws'),_0x105ab4=new _0x88babe(_0x34e962(0x160)+this['port']);_0x105ab4['on'](_0x34e962(0x18f),()=>{const _0x200337=_0x34e962;this['logger']['info'](_0x200337(0x15b),{'port':this['port'],'url':'ws://localhost:'+this[_0x200337(0x210)]}),_0x105ab4['close']();}),_0x105ab4['on']('error',_0x5ccf19=>{const _0x1a35f7=_0x34e962;this[_0x1a35f7(0x1d7)][_0x1a35f7(0x13f)]('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this[_0x1a35f7(0x210)],'url':_0x1a35f7(0x160)+this['port'],'error':_0x5ccf19['message'],'code':_0x5ccf19['code']});}),_0x105ab4['on'](_0x34e962(0x1ec),(_0x1d4cd9,_0x3ecee8)=>{const _0x19c2fa=_0x34e962;_0x1d4cd9===0x3e8&&this[_0x19c2fa(0x1d7)][_0x19c2fa(0x117)]('WebSocket\x20test\x20connection\x20closed\x20cleanly');}),setTimeout(()=>{const _0x12f10f=_0x34e962;_0x105ab4[_0x12f10f(0x122)]===_0x88babe[_0x12f10f(0x16c)]&&(this['logger'][_0x12f10f(0x13f)]('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this['port'],'url':_0x12f10f(0x160)+this['port'],'readyState':_0x105ab4[_0x12f10f(0x122)]}),_0x105ab4['terminate']());},0x1388);}catch(_0x29065b){this[_0x34e962(0x1d7)]['error'](_0x34e962(0x168),{'error':_0x29065b[_0x34e962(0x1cd)],'stack':_0x29065b['stack']});}}[a0_0x5cb154(0x1b0)](_0x54c2c0){const _0x23de97=a0_0x5cb154;this['apiKeyManager']=_0x54c2c0,this[_0x23de97(0x1d7)]?.[_0x23de97(0x117)](_0x23de97(0x1eb),{'hasManager':!!_0x54c2c0});}[a0_0x5cb154(0x1b8)](_0x379d17){const _0x4cef0a=a0_0x5cb154;if(!_0x379d17)return null;const _0x33d1f9=_0x379d17['toLowerCase']();if(_0x33d1f9['includes'](_0x4cef0a(0x17f))||_0x33d1f9[_0x4cef0a(0x196)](_0x4cef0a(0x205)))return'anthropic';else{if(_0x33d1f9['includes']('openai')||_0x33d1f9['includes'](_0x4cef0a(0x1fb)))return _0x4cef0a(0x200);else{if(_0x33d1f9['includes'](_0x4cef0a(0x128)))return'deepseek';else{if(_0x33d1f9['includes'](_0x4cef0a(0x152)))return'microsoft';}}}return null;}[a0_0x5cb154(0x1c4)](){const _0x20eb61=a0_0x5cb154;return{'isRunning':this[_0x20eb61(0x139)],'port':this[_0x20eb61(0x210)],'host':this['host'],'connections':this[_0x20eb61(0x1b2)]['size'],'sessions':this[_0x20eb61(0x1c6)][_0x20eb61(0x1a5)],'url':'http://'+this['host']+':'+this[_0x20eb61(0x210)]};}async[a0_0x5cb154(0x198)](){const _0x1fade3=a0_0x5cb154;if(!this['isRunning'])return;this['logger'][_0x1fade3(0x117)](_0x1fade3(0x1ac));for(const _0x43ee6b of this['connections'][_0x1fade3(0x1ba)]()){_0x43ee6b['ws'][_0x1fade3(0x1ec)]();}return this[_0x1fade3(0x1b2)][_0x1fade3(0x156)](),this['wss']['close'](),new Promise(_0x176d22=>{const _0x2c5dd9=_0x1fade3;this[_0x2c5dd9(0x167)]['close'](()=>{const _0x1a04ca=_0x2c5dd9;this[_0x1a04ca(0x139)]=![],this['logger'][_0x1a04ca(0x117)]('Web\x20server\x20shutdown\x20complete'),_0x176d22();});});}}export default WebServer;if(import.meta.url==='file://'+process['argv'][0x1]){const simpleLogger={'info':(_0x3c40aa,_0x31072a)=>console[a0_0x5cb154(0x18e)](a0_0x5cb154(0x134)+_0x3c40aa,_0x31072a?JSON['stringify'](_0x31072a,null,0x2):''),'error':(_0x364fea,_0x4bc743)=>console['error']('[ERROR]\x20'+_0x364fea,_0x4bc743?JSON[a0_0x5cb154(0x207)](_0x4bc743,null,0x2):''),'warn':(_0x50e5e7,_0x398abe)=>console[a0_0x5cb154(0x166)](a0_0x5cb154(0x197)+_0x50e5e7,_0x398abe?JSON[a0_0x5cb154(0x207)](_0x398abe,null,0x2):''),'debug':(_0x1673b6,_0x2a3e7f)=>console[a0_0x5cb154(0x18e)]('[DEBUG]\x20'+_0x1673b6,_0x2a3e7f?JSON['stringify'](_0x2a3e7f,null,0x2):'')},mockOrchestrator={'processAction':async(_0x2a4a11,_0x14a9ad)=>{const _0x5a4456=a0_0x5cb154;simpleLogger[_0x5a4456(0x117)](_0x5a4456(0x16b),{'action':_0x2a4a11,'data':_0x14a9ad});switch(_0x2a4a11){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS['CREATE_AGENT']:return{'success':!![],'data':{'id':'agent-'+Date['now'](),'name':_0x14a9ad[_0x5a4456(0x212)]||'New\x20Agent','status':'active','model':_0x14a9ad[_0x5a4456(0x1ef)]||'anthropic-sonnet','systemPrompt':_0x14a9ad['systemPrompt']||_0x5a4456(0x1f6)}};case ORCHESTRATOR_ACTIONS[_0x5a4456(0x1d9)]:return{'success':!![],'data':{'message':{'id':'msg-'+Date['now'](),'content':_0x5a4456(0x216)+_0x14a9ad['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':_0x5a4456(0x149)+_0x2a4a11};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':a0_0x5cb154(0x16d)});console[a0_0x5cb154(0x18e)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server[a0_0x5cb154(0x1fd)]()['then'](()=>{const _0x16590e=a0_0x5cb154,_0x26e982=server[_0x16590e(0x1c4)]();console[_0x16590e(0x18e)](_0x16590e(0x1e7)+_0x26e982['url']),console[_0x16590e(0x18e)]('📱\x20Web\x20UI\x20available\x20at:\x20http://localhost:3001\x20(if\x20running)'),console['log']('🔧\x20API\x20available\x20at:\x20http://localhost:8080/api');})[a0_0x5cb154(0x173)](_0x3c29c6=>{const _0x2bdd74=a0_0x5cb154;console['error'](_0x2bdd74(0x131),_0x3c29c6[_0x2bdd74(0x1cd)]),process['exit'](0x1);}),process['on']('SIGINT',async()=>{const _0x5458c2=a0_0x5cb154;console['log'](_0x5458c2(0x202)),await server[_0x5458c2(0x198)](),process[_0x5458c2(0x184)](0x0);});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x27e228=a0_0x4a67;(function(_0x58a935,_0x4f7817){const _0x333694=a0_0x4a67,_0x1799ed=_0x58a935();while(!![]){try{const _0x1fe5a6=parseInt(_0x333694(0x118))/0x1+parseInt(_0x333694(0x121))/0x2*(parseInt(_0x333694(0xfd))/0x3)+-parseInt(_0x333694(0xfc))/0x4*(parseInt(_0x333694(0x107))/0x5)+-parseInt(_0x333694(0x105))/0x6*(-parseInt(_0x333694(0x11d))/0x7)+parseInt(_0x333694(0x120))/0x8+parseInt(_0x333694(0x10d))/0x9+-parseInt(_0x333694(0x11c))/0xa;if(_0x1fe5a6===_0x4f7817)break;else _0x1799ed['push'](_0x1799ed['shift']());}catch(_0x2d8aa2){_0x1799ed['push'](_0x1799ed['shift']());}}}(a0_0x3ef9,0x8acc5));import{promises as a0_0x2dc799}from'fs';import{exec}from'child_process';import a0_0x56da06 from'path';import a0_0x5d0d11 from'os';function a0_0x4a67(_0x44d8a1,_0x3ee3f5){_0x44d8a1=_0x44d8a1-0xf9;const _0x3ef93e=a0_0x3ef9();let _0x4a6702=_0x3ef93e[_0x44d8a1];if(a0_0x4a67['YqhFyW']===undefined){var _0x232aa6=function(_0x846f2){const _0x114ec2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2dc799='',_0x56da06='';for(let _0x5d0d11=0x0,_0xa7d2c4,_0x1edce6,_0xed0197=0x0;_0x1edce6=_0x846f2['charAt'](_0xed0197++);~_0x1edce6&&(_0xa7d2c4=_0x5d0d11%0x4?_0xa7d2c4*0x40+_0x1edce6:_0x1edce6,_0x5d0d11++%0x4)?_0x2dc799+=String['fromCharCode'](0xff&_0xa7d2c4>>(-0x2*_0x5d0d11&0x6)):0x0){_0x1edce6=_0x114ec2['indexOf'](_0x1edce6);}for(let _0x3d3cc4=0x0,_0x3cca4b=_0x2dc799['length'];_0x3d3cc4<_0x3cca4b;_0x3d3cc4++){_0x56da06+='%'+('00'+_0x2dc799['charCodeAt'](_0x3d3cc4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56da06);};a0_0x4a67['lnzYeK']=_0x232aa6,a0_0x4a67['shdUlJ']={},a0_0x4a67['YqhFyW']=!![];}const _0x2642aa=_0x3ef93e[0x0],_0xd69226=_0x44d8a1+_0x2642aa,_0x250f16=a0_0x4a67['shdUlJ'][_0xd69226];return!_0x250f16?(_0x4a6702=a0_0x4a67['lnzYeK'](_0x4a6702),a0_0x4a67['shdUlJ'][_0xd69226]=_0x4a6702):_0x4a6702=_0x250f16,_0x4a6702;}function a0_0x3ef9(){const _0x2d5376=['zMLSzq','BwvZC2fNzq','ChvZAa','Dg9mB3DLCKnHC2u','mteWmJGWogfNqxP1zG','B3bLBIaI','rMLSzsbUB3qGzM91BMq','z2v0rMLSzuLUzM8','mJe3mJmZnZbRqvfjDNK','mJHSteHKzfa','CMvJDxjZAxzL','AgvHBhrOq2HLy2S','mJK5mtiWmevtAfPbqG','mNzZEeLHtG','AxntywzLugf0Aa','z2v0rMLSzvn0yxrZ','AxngAwXL','Ag9TzwrPCG','ywXSB3DLzev4DgvUC2LVBNm','C3rHDa','vw5RBM93BIbLCNjVCG','qwnJzxnZihrVihrOAxmGCgf0AcbPCYbYzxn0CMLJDgvK','CMvZDhjPy3rLzfbHDgHZ','BgvUz3rO','yMfZzw5HBwu','C29YDa','CMvZB2X2zq','Aw5JBhvKzxm','AxneAxjLy3rVCNK','ngnHshvtrW','mte3nJa3mM9vs1jSyG','C2L6zq','C3rHCNrZv2L0Aa','y29UzMLN','zgLYzwn0B3j5','zMLSDgvY','u2vYDMvYigvYCM9Y','zgLYBMfTzq','nJy2odu4B3P6AeTv','Dg9ju09tDhjPBMC','mteWoty1nuXPtNjgBW','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','BxrPBwu','zgfYD2LU','rgLYzwn0B3j5igrVzxmGBM90igv4Axn0igfUzcbJB3vSzcbUB3qGyMuGy3jLyxrLzdOG','CMvSyxrPDMu','ntG0ntmYouDhsw16Ea','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','DhLWzq','C2HVD0HPzgrLBG','y3DK','zxH0BMfTzq','D2LUmZi'];a0_0x3ef9=function(){return _0x2d5376;};return a0_0x3ef9();}class FileExplorerController{constructor(_0xa7d2c4={}){const _0x917032=a0_0x4a67;this[_0x917032(0x100)]={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0xa7d2c4};}async['getFileStats'](_0x1edce6){const _0x488cda=a0_0x4a67;try{const _0xed0197=await a0_0x2dc799[_0x488cda(0x127)](_0x1edce6);return{'stats':_0xed0197};}catch(_0x3d3cc4){return{'stats':null,'error':_0x3d3cc4 instanceof Error?_0x3d3cc4[_0x488cda(0x115)]:_0x488cda(0x128)};}}[a0_0x27e228(0x122)](_0x3cca4b){const _0x435c43=a0_0x27e228;try{const _0x2e1e2f=a0_0x56da06['resolve'](_0x3cca4b);if(this['config'][_0x435c43(0x12a)]['some'](_0x537eb5=>_0x2e1e2f[_0x435c43(0xff)](a0_0x56da06['resolve'](_0x537eb5))))return![];return!![];}catch(_0x4297ac){return![];}}['shouldIncludeItem'](_0x1a8ae8,_0x3865f5){const _0x261496=a0_0x27e228;if(!this['config'][_0x261496(0x110)]&&_0x1a8ae8['startsWith']('.'))return![];if(_0x3865f5['isFile']()&&this[_0x261496(0x100)][_0x261496(0x126)]['length']>0x0){const _0x443ec1=a0_0x56da06[_0x261496(0x112)](_0x1a8ae8)['toLowerCase']();if(!this[_0x261496(0x100)][_0x261496(0x126)][_0x261496(0xfa)](_0x443ec1))return![];}return!![];}async['browseDirectory'](_0x317f9e=process['cwd'](),_0x29f811={}){const _0x5be318=a0_0x27e228;try{const _0x1caa1b=a0_0x56da06['resolve'](_0x317f9e);if(!this['isSafePath'](_0x1caa1b))return{'success':![],'error':_0x5be318(0x129)};const {stats:_0x4c0e8a,error:_0x1a5207}=await this[_0x5be318(0x123)](_0x1caa1b);if(_0x1a5207||!_0x4c0e8a)return{'success':![],'error':'Path\x20not\x20found\x20or\x20inaccessible'};if(!_0x4c0e8a['isDirectory']())return{'success':![],'error':_0x5be318(0x10e)};const _0x1dc78f=await a0_0x2dc799['readdir'](_0x1caa1b),_0x149e8e=[];for(const _0x3a093e of _0x1dc78f){const _0x44c955=a0_0x56da06['join'](_0x1caa1b,_0x3a093e),{stats:_0x5de256}=await this['getFileStats'](_0x44c955);if(_0x5de256&&this['shouldIncludeItem'](_0x3a093e,_0x5de256)){const _0x2fe0ea={'name':_0x3a093e,'path':_0x44c955,'type':_0x5de256[_0x5be318(0xfb)]()?_0x5be318(0x101):'file','size':_0x5de256['isFile']()?_0x5de256['size']:undefined,'lastModified':_0x5de256['mtime'],'extension':_0x5de256['isFile']()?a0_0x56da06['extname'](_0x3a093e)[_0x5be318(0x117)]():undefined};_0x149e8e[_0x5be318(0x116)](_0x2fe0ea);}}_0x149e8e[_0x5be318(0x12d)]((_0x211b28,_0x2272ad)=>{const _0x577ba1=_0x5be318;if(_0x211b28[_0x577ba1(0x10f)]===_0x2272ad[_0x577ba1(0x10f)])return _0x211b28['name']['localeCompare'](_0x2272ad['name']);return _0x211b28['type']==='directory'?-0x1:0x1;});const _0x2cd8be=a0_0x56da06[_0x5be318(0x104)](_0x1caa1b),_0x3f56ed=_0x2cd8be!==_0x1caa1b;return{'success':!![],'data':{'currentPath':_0x1caa1b,'parentPath':_0x3f56ed?_0x2cd8be:null,'items':_0x149e8e,'totalItems':_0x149e8e['length'],'directories':_0x149e8e[_0x5be318(0x102)](_0x293e74=>_0x293e74['type']==='directory')[_0x5be318(0x12b)],'files':_0x149e8e[_0x5be318(0x102)](_0x13f134=>_0x13f134['type']==='file')['length']}};}catch(_0x38a124){return{'success':![],'error':_0x38a124 instanceof Error?_0x38a124[_0x5be318(0x115)]:_0x5be318(0x103)};}}async[a0_0x27e228(0x11b)](_0x4d362f){const _0x2b6523=a0_0x27e228;try{if(!_0x4d362f||!this[_0x2b6523(0x122)](_0x4d362f))return{'success':![],'error':'Invalid\x20file\x20path'};const {stats:_0x495e61,error:_0xc8ed3f}=await this[_0x2b6523(0x123)](_0x4d362f);if(_0xc8ed3f||!_0x495e61)return{'success':![],'error':_0x2b6523(0x11a)};const _0x4ee796={'name':a0_0x56da06[_0x2b6523(0x12c)](_0x4d362f),'path':_0x4d362f,'type':_0x495e61[_0x2b6523(0xfb)]()?_0x2b6523(0x101):_0x2b6523(0x114),'size':_0x495e61[_0x2b6523(0x124)]()?_0x495e61[_0x2b6523(0xfe)]:undefined,'lastModified':_0x495e61[_0x2b6523(0x109)],'extension':_0x495e61['isFile']()?a0_0x56da06['extname'](_0x4d362f)[_0x2b6523(0x117)]():undefined};return{'success':!![],'data':_0x4ee796};}catch(_0x2d1d72){return{'success':![],'error':_0x2d1d72 instanceof Error?_0x2d1d72[_0x2b6523(0x115)]:_0x2b6523(0x103)};}}[a0_0x27e228(0x108)](){const _0x4be638=a0_0x27e228;return{'success':!![],'data':{'cwd':process[_0x4be638(0x111)](),'platform':process['platform'],'homedir':a0_0x5d0d11[_0x4be638(0x125)]()}};}async['createDirectory'](_0x3afdc5,_0x176c79={}){const _0x133a72=a0_0x27e228;try{if(!this['isSafePath'](_0x3afdc5))return{'success':![],'error':'Invalid\x20directory\x20path'};return await a0_0x2dc799['mkdir'](_0x3afdc5,{'recursive':_0x176c79[_0x133a72(0x11e)]||![]}),{'success':!![],'data':{'path':_0x3afdc5,'relativePath':a0_0x56da06[_0x133a72(0x10c)](process['cwd'](),_0x3afdc5)}};}catch(_0x173a07){return{'success':![],'error':_0x173a07 instanceof Error?_0x173a07[_0x133a72(0x115)]:'Failed\x20to\x20create\x20directory','code':_0x173a07['code']};}}async['openInExplorer'](_0x9d75af){const _0x20442a=a0_0x27e228;try{const _0x5a7bb9=a0_0x56da06[_0x20442a(0xf9)](_0x9d75af);if(!this['isSafePath'](_0x5a7bb9))return{'success':![],'error':_0x20442a(0x129)};const {stats:_0x4835ef,error:_0x52dc5f}=await this[_0x20442a(0x123)](_0x5a7bb9);if(_0x52dc5f||!_0x4835ef)try{await a0_0x2dc799['mkdir'](_0x5a7bb9,{'recursive':!![]});}catch(_0x58eb40){return{'success':![],'error':_0x20442a(0x10b)+_0x58eb40[_0x20442a(0x115)]};}const _0x1fdf3f=a0_0x5d0d11['platform']();let _0xbf9ef0;if(_0x1fdf3f==='win32')_0xbf9ef0='explorer\x20\x22'+_0x5a7bb9+'\x22';else _0x1fdf3f===_0x20442a(0x10a)?_0xbf9ef0=_0x20442a(0x119)+_0x5a7bb9+'\x22':_0xbf9ef0='xdg-open\x20\x22'+_0x5a7bb9+'\x22';return new Promise(_0x1b6655=>{exec(_0xbf9ef0,_0x967470=>{const _0x200a3a=a0_0x4a67;_0x967470?_0x1fdf3f===_0x200a3a(0x113)?_0x1b6655({'success':!![]}):_0x1b6655({'success':![],'error':_0x967470[_0x200a3a(0x115)]}):_0x1b6655({'success':!![]});});});}catch(_0x4e6af9){return{'success':![],'error':_0x4e6af9 instanceof Error?_0x4e6af9[_0x20442a(0x115)]:'Failed\x20to\x20open\x20directory'};}}[a0_0x27e228(0x11f)](){const _0x3ec0de=a0_0x27e228;return{'success':!![],'data':{'status':'healthy','timestamp':new Date()[_0x3ec0de(0x106)](),'module':'fileExplorer'}};}}export default FileExplorerController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x585d25,_0x12513e){const _0x5667d3=a0_0x26b0,_0x5831fa=_0x585d25();while(!![]){try{const _0x577440=-parseInt(_0x5667d3(0x92))/0x1*(parseInt(_0x5667d3(0x8f))/0x2)+parseInt(_0x5667d3(0x90))/0x3*(parseInt(_0x5667d3(0x8b))/0x4)+-parseInt(_0x5667d3(0x91))/0x5*(-parseInt(_0x5667d3(0x8a))/0x6)+-parseInt(_0x5667d3(0x89))/0x7+-parseInt(_0x5667d3(0x8e))/0x8+parseInt(_0x5667d3(0x8c))/0x9+parseInt(_0x5667d3(0x8d))/0xa;if(_0x577440===_0x12513e)break;else _0x5831fa['push'](_0x5831fa['shift']());}catch(_0x4f407f){_0x5831fa['push'](_0x5831fa['shift']());}}}(a0_0x3065,0xa1c53));import{createFileExplorerRouter,defaultConfig}from'./routes.js';import a0_0x5e9b44 from'./controller.js';export function initFileExplorerModule(_0x36b5e8={}){const _0x57d746={...defaultConfig,..._0x36b5e8},_0x3f34ca=createFileExplorerRouter(_0x57d746),_0x105fb3=new a0_0x5e9b44(_0x57d746);return{'router':_0x3f34ca,'controller':_0x105fb3,'config':_0x57d746};}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';function a0_0x26b0(_0x5f0d01,_0x5dfea7){_0x5f0d01=_0x5f0d01-0x89;const _0x3065a2=a0_0x3065();let _0x26b0c3=_0x3065a2[_0x5f0d01];if(a0_0x26b0['IzJiwg']===undefined){var _0x403c0c=function(_0xc2ac){const _0x1c77ca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e9b44='',_0x36b5e8='';for(let _0x57d746=0x0,_0x3f34ca,_0x105fb3,_0x3b9eb4=0x0;_0x105fb3=_0xc2ac['charAt'](_0x3b9eb4++);~_0x105fb3&&(_0x3f34ca=_0x57d746%0x4?_0x3f34ca*0x40+_0x105fb3:_0x105fb3,_0x57d746++%0x4)?_0x5e9b44+=String['fromCharCode'](0xff&_0x3f34ca>>(-0x2*_0x57d746&0x6)):0x0){_0x105fb3=_0x1c77ca['indexOf'](_0x105fb3);}for(let _0x9ddf21=0x0,_0x58872f=_0x5e9b44['length'];_0x9ddf21<_0x58872f;_0x9ddf21++){_0x36b5e8+='%'+('00'+_0x5e9b44['charCodeAt'](_0x9ddf21)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36b5e8);};a0_0x26b0['iHXNAR']=_0x403c0c,a0_0x26b0['gXmRRm']={},a0_0x26b0['IzJiwg']=!![];}const _0x5bf131=_0x3065a2[0x0],_0x252da2=_0x5f0d01+_0x5bf131,_0x1784fb=a0_0x26b0['gXmRRm'][_0x252da2];return!_0x1784fb?(_0x26b0c3=a0_0x26b0['iHXNAR'](_0x26b0c3),a0_0x26b0['gXmRRm'][_0x252da2]=_0x26b0c3):_0x26b0c3=_0x1784fb,_0x26b0c3;}export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x5e9b44,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};function a0_0x3065(){const _0x2073a2=['ndu3mdzACKjzExa','ndqYmtKWDwP4BeXt','nZi1otreCgDNDNO','ndu0mdq5nKTWvwfqEq','mJaYnZmXm1DrwgLrrG','mtaYmJy3mJbotgTyrMK','nJy4nZmYmgPPrxPyyq','ndzwC3HdyKG','m3rgrLDlsq','otvYEwDAr2y'];a0_0x3065=function(){return _0x2073a2;};return a0_0x3065();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x46ea23,_0x4d8152){const _0x229b05=a0_0x495e,_0x3c3806=_0x46ea23();while(!![]){try{const _0x200a4b=parseInt(_0x229b05(0x100))/0x1+-parseInt(_0x229b05(0x101))/0x2*(parseInt(_0x229b05(0x113))/0x3)+-parseInt(_0x229b05(0x117))/0x4*(parseInt(_0x229b05(0x111))/0x5)+parseInt(_0x229b05(0x10d))/0x6*(parseInt(_0x229b05(0x10f))/0x7)+-parseInt(_0x229b05(0x109))/0x8+parseInt(_0x229b05(0xfe))/0x9+parseInt(_0x229b05(0x115))/0xa*(parseInt(_0x229b05(0x10c))/0xb);if(_0x200a4b===_0x4d8152)break;else _0x3c3806['push'](_0x3c3806['shift']());}catch(_0x4894ba){_0x3c3806['push'](_0x3c3806['shift']());}}}(a0_0x3dd4,0x6cfd9));export function validatePath(_0x48abaf,_0x4b218c,_0x551fea){const _0x4c88ba=a0_0x495e,{path:_0x483fef}=_0x48abaf['query'];if(_0x483fef&&typeof _0x483fef!=='string')return _0x4b218c[_0x4c88ba(0x106)](0x190)[_0x4c88ba(0x107)]({'success':![],'error':'Path\x20parameter\x20must\x20be\x20a\x20string'});_0x551fea();}export function createRateLimit(_0x2e80c0=0x64,_0x356323=0xea60){const _0x9fecb7=new Map();return(_0x1e8fe0,_0x5292fe,_0x14c7a1)=>{const _0x16e104=a0_0x495e,_0x3969a5=_0x1e8fe0['ip']||_0x1e8fe0[_0x16e104(0x108)][_0x16e104(0x119)]||'unknown',_0x2504be=Date[_0x16e104(0x105)](),_0x5919d1=_0x2504be-_0x356323;!_0x9fecb7['has'](_0x3969a5)&&_0x9fecb7['set'](_0x3969a5,[]);const _0x509be8=_0x9fecb7[_0x16e104(0x110)](_0x3969a5),_0x14010e=_0x509be8['filter'](_0x234b21=>_0x234b21>_0x5919d1);_0x9fecb7[_0x16e104(0x118)](_0x3969a5,_0x14010e);if(_0x14010e[_0x16e104(0x114)]>=_0x2e80c0)return _0x5292fe['status'](0x1ad)['json']({'success':![],'error':_0x16e104(0x10a),'retryAfter':Math[_0x16e104(0xff)](_0x356323/0x3e8)});_0x14010e[_0x16e104(0x10e)](_0x2504be),_0x14c7a1();};}export function securityHeaders(_0x392d9e,_0x178837,_0x80abf8){const _0x37a622=a0_0x495e;_0x178837['set']({'Cache-Control':_0x37a622(0x103),'Pragma':'no-cache','Expires':'0'}),_0x80abf8();}function a0_0x3dd4(){const _0xc27d35=['ChvZAa','n0DfELHyAG','z2v0','odKWy3nXEMrl','B3jPz2LUywXvCMW','mZKYntCXtfPbEKTz','BgvUz3rO','mtbSzgn5qMe','Bg9N','mtK3mJrfwhDquLy','C2v0','CMvTB3rLqwrKCMvZCW','nJi1mtGXnfP1CunvuW','y2vPBa','ody2ntG1EunoDhrS','mtbhB1r0D2C','ic0G','BM8Ty2fJAguSig5Vlxn0B3jLlcbTDxn0lxjLDMfSAwrHDgu','w0zPBgvfEhbSB3jLCL0G','BM93','C3rHDhvZ','ANnVBG','y29UBMvJDgLVBG','nJm0odq1nKjIuxrHyW','vg9Vig1HBNKGCMvXDwvZDhm','Bwv0Ag9K','ntm1odCXnKT2wNnUtq','ndm0mtu4oe1SrvjfDq'];a0_0x3dd4=function(){return _0xc27d35;};return a0_0x3dd4();}function a0_0x495e(_0x44d021,_0x5eee37){_0x44d021=_0x44d021-0xfe;const _0x3dd44a=a0_0x3dd4();let _0x495edd=_0x3dd44a[_0x44d021];if(a0_0x495e['vmpqyb']===undefined){var _0xe93ed2=function(_0x1769ca){const _0x548b82='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48abaf='',_0x4b218c='';for(let _0x551fea=0x0,_0x483fef,_0x2e80c0,_0x356323=0x0;_0x2e80c0=_0x1769ca['charAt'](_0x356323++);~_0x2e80c0&&(_0x483fef=_0x551fea%0x4?_0x483fef*0x40+_0x2e80c0:_0x2e80c0,_0x551fea++%0x4)?_0x48abaf+=String['fromCharCode'](0xff&_0x483fef>>(-0x2*_0x551fea&0x6)):0x0){_0x2e80c0=_0x548b82['indexOf'](_0x2e80c0);}for(let _0x9fecb7=0x0,_0x1e8fe0=_0x48abaf['length'];_0x9fecb7<_0x1e8fe0;_0x9fecb7++){_0x4b218c+='%'+('00'+_0x48abaf['charCodeAt'](_0x9fecb7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b218c);};a0_0x495e['bGPrDO']=_0xe93ed2,a0_0x495e['sSLaDd']={},a0_0x495e['vmpqyb']=!![];}const _0x65e245=_0x3dd44a[0x0],_0x1e2437=_0x44d021+_0x65e245,_0x475e06=a0_0x495e['sSLaDd'][_0x1e2437];return!_0x475e06?(_0x495edd=a0_0x495e['bGPrDO'](_0x495edd),a0_0x495e['sSLaDd'][_0x1e2437]=_0x495edd):_0x495edd=_0x475e06,_0x495edd;}export function requestLogger(_0x1fbfca,_0x149642,_0x307477){const _0x16551b=a0_0x495e,_0x4695c2=Date[_0x16551b(0x105)]();_0x149642['on']('finish',()=>{const _0x464f64=_0x16551b,_0x2459f3=Date[_0x464f64(0x105)]()-_0x4695c2;console[_0x464f64(0x116)](_0x464f64(0x104)+_0x1fbfca[_0x464f64(0x10b)]+'\x20'+_0x1fbfca[_0x464f64(0x112)]+_0x464f64(0x102)+_0x149642['statusCode']+'\x20('+_0x2459f3+'ms)');}),_0x307477();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x3689c1,_0x7d1c79){const _0x587d74=a0_0x5c48,_0xe0cda=_0x3689c1();while(!![]){try{const _0xfbbc=-parseInt(_0x587d74(0x150))/0x1+-parseInt(_0x587d74(0x15a))/0x2*(-parseInt(_0x587d74(0x14b))/0x3)+-parseInt(_0x587d74(0x142))/0x4+-parseInt(_0x587d74(0x145))/0x5*(-parseInt(_0x587d74(0x143))/0x6)+parseInt(_0x587d74(0x15f))/0x7+-parseInt(_0x587d74(0x14c))/0x8*(-parseInt(_0x587d74(0x14f))/0x9)+-parseInt(_0x587d74(0x158))/0xa*(parseInt(_0x587d74(0x155))/0xb);if(_0xfbbc===_0x7d1c79)break;else _0xe0cda['push'](_0xe0cda['shift']());}catch(_0x13bd7e){_0xe0cda['push'](_0xe0cda['shift']());}}}(a0_0x5e07,0x315b6));import a0_0x1800df from'express';function a0_0x5e07(){const _0x2637f0=['uM91DgvY','DxnL','nLjJuLfhCq','mty4Dgz2u0vY','CMvZDhjPy3rLza','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','nda1odf2D01Zsfi','mJCWnJiWz2XMt011','l2HLywX0Aa','Aw5JBhvKzxm','CxvLCNK','z2v0rMLSzuLUzM8','nta1ndGZrgvNwMfU','yM9KEq','rgLYzwn0B3j5ihbHDgGGAxmGCMvXDwLYzwq','nJb5DgLrEfC','l2zPBguTAw5MBW','mZi2mdK4B3LcDNn2','C3vJy2vZCW','zxjYB3i','l21RzgLY','ruvysvnu','oti4ntKYzeDyqwnf','BM90igzVDw5K','AgvHBhrOq2HLy2S','Cgf0Aa','z2v0','ndm5nti0AwDuChrL','mtjIze5vwNK','Dhj1zq','nZyYmZu1yvn4A0zs','C2HVD0HPzgrLBG','C3rHDhvZ','ANnVBG'];a0_0x5e07=function(){return _0x2637f0;};return a0_0x5e07();}import a0_0x4d1c34 from'./controller.js';import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x29c022={}){const _0x423c03=a0_0x5c48,_0x26726e=a0_0x1800df[_0x423c03(0x149)](),_0x1b3653=new a0_0x4d1c34(_0x29c022);return _0x26726e[_0x423c03(0x14a)](requestLogger),_0x26726e[_0x423c03(0x14a)](securityHeaders),_0x26726e[_0x423c03(0x14a)](createRateLimit(0x64,0xea60)),_0x26726e[_0x423c03(0x141)](_0x423c03(0x151),(_0x7e9505,_0x41faff)=>{const _0x8cac5b=_0x423c03,_0x5acd02=_0x1b3653[_0x8cac5b(0x161)]();_0x41faff[_0x8cac5b(0x148)](_0x5acd02);}),_0x26726e[_0x423c03(0x141)]('/cwd',(_0x19c5ee,_0x311194)=>{const _0x5253e8=_0x423c03,_0x233285=_0x1b3653[_0x5253e8(0x14e)]();_0x311194['json'](_0x233285);}),_0x26726e['get']('/browse',validatePath,async(_0x45e728,_0x63cb0c)=>{const _0x36ce0f=_0x423c03;try{const _0x15ebe6=_0x45e728[_0x36ce0f(0x153)][_0x36ce0f(0x140)],_0x214eea={'showHidden':_0x45e728[_0x36ce0f(0x153)][_0x36ce0f(0x146)]===_0x36ce0f(0x144)},_0x1deb86=await _0x1b3653['browseDirectory'](_0x15ebe6,_0x214eea);if(_0x1deb86[_0x36ce0f(0x15b)])_0x63cb0c[_0x36ce0f(0x148)](_0x1deb86);else{const _0x38f7f7=_0x1deb86[_0x36ce0f(0x15c)]['includes'](_0x36ce0f(0x14d))?0x193:_0x1deb86['error']['includes']('not\x20found')?0x194:0x190;_0x63cb0c[_0x36ce0f(0x147)](_0x38f7f7)[_0x36ce0f(0x148)](_0x1deb86);}}catch(_0x4b2f45){_0x63cb0c[_0x36ce0f(0x147)](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error'});}}),_0x26726e[_0x423c03(0x141)](_0x423c03(0x159),validatePath,async(_0xd13d9a,_0x466209)=>{const _0x5ed9bd=_0x423c03;try{const _0x1ddba8=_0xd13d9a[_0x5ed9bd(0x153)][_0x5ed9bd(0x140)],_0x9177f7=await _0x1b3653[_0x5ed9bd(0x154)](_0x1ddba8);if(_0x9177f7['success'])_0x466209['json'](_0x9177f7);else{const _0x59a4b7=_0x9177f7['error'][_0x5ed9bd(0x152)](_0x5ed9bd(0x160))?0x194:0x190;_0x466209['status'](_0x59a4b7)[_0x5ed9bd(0x148)](_0x9177f7);}}catch(_0x53d619){_0x466209['status'](0x1f4)[_0x5ed9bd(0x148)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x26726e['post'](_0x423c03(0x15d),a0_0x1800df['json'](),async(_0x4f07b7,_0x4ccaa2)=>{const _0xe5a405=_0x423c03;try{const {path:_0xc0ba22,recursive:recursive=![]}=_0x4f07b7[_0xe5a405(0x156)];if(!_0xc0ba22)return _0x4ccaa2[_0xe5a405(0x147)](0x190)['json']({'success':![],'error':_0xe5a405(0x157)});const _0x39545c=await _0x1b3653['createDirectory'](_0xc0ba22,{'recursive':recursive});if(_0x39545c[_0xe5a405(0x15b)])_0x4ccaa2['json'](_0x39545c);else{const _0x54bbe0=_0x39545c['code']===_0xe5a405(0x15e)?0x199:0x190;_0x4ccaa2[_0xe5a405(0x147)](_0x54bbe0)[_0xe5a405(0x148)](_0x39545c);}}catch(_0x5d1241){_0x4ccaa2[_0xe5a405(0x147)](0x1f4)[_0xe5a405(0x148)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x26726e['post']('/open',a0_0x1800df[_0x423c03(0x148)](),async(_0x2df8f9,_0x2a54c0)=>{const _0x22f38f=_0x423c03;try{const {path:_0xac164}=_0x2df8f9['body'];if(!_0xac164)return _0x2a54c0['status'](0x190)['json']({'success':![],'error':'Directory\x20path\x20is\x20required'});const _0x4b6a00=await _0x1b3653['openInExplorer'](_0xac164);_0x4b6a00[_0x22f38f(0x15b)]?_0x2a54c0[_0x22f38f(0x148)](_0x4b6a00):_0x2a54c0['status'](0x190)[_0x22f38f(0x148)](_0x4b6a00);}catch(_0x83f240){_0x2a54c0['status'](0x1f4)[_0x22f38f(0x148)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x26726e;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};function a0_0x5c48(_0x5b1db9,_0x5810d6){_0x5b1db9=_0x5b1db9-0x140;const _0x5e078b=a0_0x5e07();let _0x5c48b6=_0x5e078b[_0x5b1db9];if(a0_0x5c48['apxQPQ']===undefined){var _0x5ceab4=function(_0x5c407e){const _0x42b906='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1800df='',_0x4d1c34='';for(let _0x29c022=0x0,_0x26726e,_0x1b3653,_0x7e9505=0x0;_0x1b3653=_0x5c407e['charAt'](_0x7e9505++);~_0x1b3653&&(_0x26726e=_0x29c022%0x4?_0x26726e*0x40+_0x1b3653:_0x1b3653,_0x29c022++%0x4)?_0x1800df+=String['fromCharCode'](0xff&_0x26726e>>(-0x2*_0x29c022&0x6)):0x0){_0x1b3653=_0x42b906['indexOf'](_0x1b3653);}for(let _0x41faff=0x0,_0x5acd02=_0x1800df['length'];_0x41faff<_0x5acd02;_0x41faff++){_0x4d1c34+='%'+('00'+_0x1800df['charCodeAt'](_0x41faff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d1c34);};a0_0x5c48['KyiwYp']=_0x5ceab4,a0_0x5c48['twStuf']={},a0_0x5c48['apxQPQ']=!![];}const _0x2ec2ca=_0x5e078b[0x0],_0x35692b=_0x5b1db9+_0x2ec2ca,_0x59c01b=a0_0x5c48['twStuf'][_0x35692b];return!_0x59c01b?(_0x5c48b6=a0_0x5c48['KyiwYp'](_0x5c48b6),a0_0x5c48['twStuf'][_0x35692b]=_0x5c48b6):_0x5c48b6=_0x59c01b,_0x5c48b6;}export default createFileExplorerRouter;
|