@loxia-labs/loxia-autopilot-one 1.0.12 → 1.0.13
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/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -2
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x4d64(){const _0x13d7e1=['yMX1zujYAwDODa','nJi1ode4nuDftgDbEa','z3jHEq','EwvSBg93','nJzfEKvyA2y','zgvMyxvSDa','mZe1mJe4nezLrgjjza','z3jLzw5cCMLNAhq','CMvKqNjPz2H0','ndG4mZu4mgTcB3Hzqq','ntmYmMvLEePzqG','yMX1zq','CMvK','y3LHBKjYAwDODa','z3jLzw4','D2HPDgu','mZiWnNvNvLnSza','mMDcq2D3Bq','EwvSBg93qNjPz2H0','ntCXmdmXmuj6t0HbAa','y3LHBG','mZKYogTvBw1YAa','mJu2mtrbB2TjtNO','mti4ntmZn1DuteDvsq'];a0_0x4d64=function(){return _0x13d7e1;};return a0_0x4d64();}const a0_0x233ea6=a0_0x4a18;(function(_0xc335be,_0xd585fb){const _0x558cd5=a0_0x4a18,_0x1e00c7=_0xc335be();while(!![]){try{const _0x2256a6=parseInt(_0x558cd5(0xb2))/0x1*(parseInt(_0x558cd5(0xac))/0x2)+-parseInt(_0x558cd5(0xae))/0x3+-parseInt(_0x558cd5(0xa1))/0x4+parseInt(_0x558cd5(0xb4))/0x5+-parseInt(_0x558cd5(0xa5))/0x6*(parseInt(_0x558cd5(0xab))/0x7)+-parseInt(_0x558cd5(0xb0))/0x8*(parseInt(_0x558cd5(0xb1))/0x9)+-parseInt(_0x558cd5(0xa4))/0xa*(-parseInt(_0x558cd5(0x9f))/0xb);if(_0x2256a6===_0xd585fb)break;else _0x1e00c7['push'](_0x1e00c7['shift']());}catch(_0x567de1){_0x1e00c7['push'](_0x1e00c7['shift']());}}}(a0_0x4d64,0xed4e7));const THEMES={'default':{'border':a0_0x233ea6(0xa6),'borderLoading':a0_0x233ea6(0x9e),'primary':a0_0x233ea6(0xaa),'secondary':'cyan','success':a0_0x233ea6(0xa9),'error':a0_0x233ea6(0xa7),'warning':'yellow','info':'blue','dim':'gray'},'light':{'border':a0_0x233ea6(0xa6),'borderLoading':a0_0x233ea6(0x9e),'primary':'black','secondary':'blue','success':'green','error':a0_0x233ea6(0xa7),'warning':'yellow','info':a0_0x233ea6(0xaf),'dim':a0_0x233ea6(0xb5)},'dark':{'border':'cyan','borderLoading':'magenta','primary':'white','secondary':a0_0x233ea6(0xaf),'success':a0_0x233ea6(0xa2),'error':a0_0x233ea6(0xa3),'warning':'yellowBright','info':a0_0x233ea6(0xb3),'dim':'gray'},'high-contrast':{'border':a0_0x233ea6(0xaa),'borderLoading':a0_0x233ea6(0x9e),'primary':a0_0x233ea6(0xaa),'secondary':'cyan','success':'greenBright','error':a0_0x233ea6(0xa3),'warning':a0_0x233ea6(0xad),'info':a0_0x233ea6(0xa8),'dim':'white'}};export function getTheme(_0x224a8d='default'){const _0x268682=a0_0x233ea6;return THEMES[_0x224a8d]||THEMES[_0x268682(0xa0)];}function a0_0x4a18(_0x183719,_0x36daaa){_0x183719=_0x183719-0x9e;const _0x4d649d=a0_0x4d64();let _0x4a1813=_0x4d649d[_0x183719];if(a0_0x4a18['EgyfJk']===undefined){var _0x3e6ae8=function(_0x4c3895){const _0x383b9f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x224a8d='',_0x33b2f0='';for(let _0x26a17e=0x0,_0x2ba611,_0x5c66c3,_0x4f3672=0x0;_0x5c66c3=_0x4c3895['charAt'](_0x4f3672++);~_0x5c66c3&&(_0x2ba611=_0x26a17e%0x4?_0x2ba611*0x40+_0x5c66c3:_0x5c66c3,_0x26a17e++%0x4)?_0x224a8d+=String['fromCharCode'](0xff&_0x2ba611>>(-0x2*_0x26a17e&0x6)):0x0){_0x5c66c3=_0x383b9f['indexOf'](_0x5c66c3);}for(let _0x10136c=0x0,_0x1c5c61=_0x224a8d['length'];_0x10136c<_0x1c5c61;_0x10136c++){_0x33b2f0+='%'+('00'+_0x224a8d['charCodeAt'](_0x10136c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x33b2f0);};a0_0x4a18['Lwavgh']=_0x3e6ae8,a0_0x4a18['IzMGMW']={},a0_0x4a18['EgyfJk']=!![];}const _0x147275=_0x4d649d[0x0],_0x3c2481=_0x183719+_0x147275,_0xbb712b=a0_0x4a18['IzMGMW'][_0x3c2481];return!_0xbb712b?(_0x4a1813=a0_0x4a18['Lwavgh'](_0x4a1813),a0_0x4a18['IzMGMW'][_0x3c2481]=_0x4a1813):_0x4a1813=_0xbb712b,_0x4a1813;}export function getThemeColor(_0x33b2f0,_0x26a17e){const _0x2ba611=getTheme(_0x33b2f0);return _0x2ba611[_0x26a17e]||_0x2ba611['primary'];}export default{'getTheme':getTheme,'getThemeColor':getThemeColor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x9b06(_0x4c1b96,_0x330c50){_0x4c1b96=_0x4c1b96-0x139;const _0x33e235=a0_0x33e2();let _0x9b0617=_0x33e235[_0x4c1b96];if(a0_0x9b06['kuxLJJ']===undefined){var _0x39742b=function(_0x38b54b){const _0xd62ac1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2cf59e='',_0x3ba4d3='';for(let _0x315721=0x0,_0x31aeca,_0x5c8850,_0x1bd827=0x0;_0x5c8850=_0x38b54b['charAt'](_0x1bd827++);~_0x5c8850&&(_0x31aeca=_0x315721%0x4?_0x31aeca*0x40+_0x5c8850:_0x5c8850,_0x315721++%0x4)?_0x2cf59e+=String['fromCharCode'](0xff&_0x31aeca>>(-0x2*_0x315721&0x6)):0x0){_0x5c8850=_0xd62ac1['indexOf'](_0x5c8850);}for(let _0x15c3bd=0x0,_0x3afc29=_0x2cf59e['length'];_0x15c3bd<_0x3afc29;_0x15c3bd++){_0x3ba4d3+='%'+('00'+_0x2cf59e['charCodeAt'](_0x15c3bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ba4d3);};a0_0x9b06['ONfQCS']=_0x39742b,a0_0x9b06['mdmmSq']={},a0_0x9b06['kuxLJJ']=!![];}const _0x6c7552=_0x33e235[0x0],_0x347e06=_0x4c1b96+_0x6c7552,_0x3f2f27=a0_0x9b06['mdmmSq'][_0x347e06];return!_0x3f2f27?(_0x9b0617=a0_0x9b06['ONfQCS'](_0x9b0617),a0_0x9b06['mdmmSq'][_0x347e06]=_0x9b0617):_0x9b0617=_0x3f2f27,_0x9b0617;}const a0_0x6a209e=a0_0x9b06;(function(_0x159f11,_0x64ce71){const _0x37cfae=a0_0x9b06,_0x50afaf=_0x159f11();while(!![]){try{const _0x18b713=-parseInt(_0x37cfae(0x21e))/0x1*(parseInt(_0x37cfae(0x1f5))/0x2)+parseInt(_0x37cfae(0x160))/0x3*(parseInt(_0x37cfae(0x17c))/0x4)+parseInt(_0x37cfae(0x140))/0x5*(-parseInt(_0x37cfae(0x19f))/0x6)+parseInt(_0x37cfae(0x1ef))/0x7*(parseInt(_0x37cfae(0x1f3))/0x8)+parseInt(_0x37cfae(0x171))/0x9+-parseInt(_0x37cfae(0x1e3))/0xa*(parseInt(_0x37cfae(0x1ff))/0xb)+parseInt(_0x37cfae(0x193))/0xc*(parseInt(_0x37cfae(0x175))/0xd);if(_0x18b713===_0x64ce71)break;else _0x50afaf['push'](_0x50afaf['shift']());}catch(_0x91c2e){_0x50afaf['push'](_0x50afaf['shift']());}}}(a0_0x33e2,0xb1d4c));import a0_0x2cf59e from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x3ba4d3 from'path';import{promises as a0_0x315721}from'fs';import{fileURLToPath}from'url';import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS,HTTP_STATUS,AGENT_MODES}from'../utilities/constants.js';import{initFileExplorerModule}from'../modules/fileExplorer/index.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x3ba4d3[a0_0x6a209e(0x1b1)](__filename);function a0_0x33e2(){const _0x346e28=['tw9KzwXZihjLzNjLC2HLzcb3AxrOig5LDYbbueKGA2v5','Bwv0Ag9K','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3rVz2DSzq','l2fWAs9ZzxnZAw9UCW','C3vIC3rY','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','l2fWAs9LEhbSB3jLCI9TA2rPCG','Cgf5Bg9Hza','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','C3rVCef1Dg9UB21VDxnfEgvJDxrPB24','yxv0Ag9YAxPHDgLVBG','D3nnyw5Hz2vY','C2vZC2LVBNm','mti1AgPtsLz3','yMLYDgH0Aw1L','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','z2v0qxzHAwXHyMXLvg9VBhngB3jvsq','Ag9ZDa','BgLZDgvU','y29Kzq','BxrPBwu','zxjYB3i','y29UBMvJDgLVBG','ue9tva','rMfPBgvKihrVignVBM5Ly3qGDg8GquKGC2vYDMLJzq','v2vIihnLCNzLCIbZAhv0zg93BIbJB21WBgv0zq','AxngAwXL','rMfPBgvKihrVihvWBg9HzcbMAwXLigf0DgfJAg1LBNq','x2DLDfzLBMrVCKzYB21nB2rLBa','ywn0Aw9U','Cg9ZDa','ANnVBG','v0vc','qMvHCMvYia','Cg9UzW','DgfZA1n0yxj0vgLTzq','Aw1WB3j0rNjVBufNzw50','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','DxjS','qwDLBNqG','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','BxnNlq','tK9ux0zpvu5e','BwTKAxi','DMvYC2LVBG','mJC2ntq0mKLjqxnwtq','Dg9Nz2XLqwn0AxzL','AgvHzgvYCW','ywDLBNqT','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','Bw9Kzq','D2fYBG','y3vYCMvUDe1VzgvS','AxnsDw5UAw5N','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','yxbPs2v5','zgLYzwn0B3j5qwnJzxnZ','Ahr0CdOVlW','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGveLnru9vva','zgvSzxrL','t1busu9ouW','nZC2odG2m0X3qvfAEG','BwfW','u0Lhsu5u','rMfPBgvKihrVigDLDcbbueKGA2v5ihn0yxr1CW','ndGXEM1UuhDo','l2fWAs9OzwfSDgG','lI4VlI4VCgfJA2fNzs5QC29U','CMvHzgrPCG','C3rHDhvZ','w0vsuK9sxsa','Cg9YDa','nhLHA2HSua','y29UDgvUDa','Cgf0y2G','BgvUz3rO','CMvX','C2L6zq','ywDLBNrjza','sfruucbZzxj2zxiGzxjYB3i6','Bg9Nz2vY','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','Dg9VBfjLC3vSDhm','Dg9tDhjPBMC','C3rVCfjLCxvLC3rLza','ChjVAMvJDerPCG','B3bLBMfP','l2fWAs9VCMnOzxn0CMf0B3i','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','ms4WlJa','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','zgvLChnLzwS','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','sw52ywXPzcbMAwXLBMfTzq','nJq5mdKYq1rPy21o','C3rHDgLJ','A2v5CW','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','y29UzMLN','C2H1DgrVD24','z2v0u3rHDhvZ','CgLUzW','C3rHCNrZv2L0Aa','z2v0qxr0ywnOBwvUDa','DgvZDfDLyLnVy2TLDfnLCNzLCG','z2v0','mZa4mtq4yw5AzKTV','qxr0ywnOBwvUDcbKzwXLDgvK','zw52','zNjVBq','DxnL','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','zMLSDgvY','CMvXDwvZDeLK','DxnLCI1Hz2vUDa','8j+uHcboBYbJB25Uzwn0Aw9UCYbMB3iGC2vZC2LVBIWGDhj5Aw5NigfSBcbJB25Uzwn0Aw9UCZO','qwDLBNqGBM90igzVDw5K','t3jPz2LUlcbylvjLCxvLC3rLzc1xAxrOlcbdB250zw50lvr5CguSiefJy2vWDcWGqxv0Ag9YAxPHDgLVBG','AgvHzgvYC1nLBNq','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','ChjVy2vZC1jLCxvLC3q','q1jfqvrfx0fhru5u','zgLYBMfTzq','ywDLBNrqB29S','CgfYyw1Z','DMfSDwvZ','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','C3vJy2vZCW','zgvIDwC','zxHPDa','DgvYBwLUyxrL','CgfYC2u','CMvZB2X2zq','AxneAxjLy3rVCNK','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','ywDLBNrjzcbPCYbYzxf1AxjLzcbPBIbYzxf1zxn0igjVzhK','C2v0qxbPs2v5twfUywDLCG','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','l3rTCc9SB3HPys1PBwfNzxm','CgH5C2LJywXSEurLBgv0zwq','C3rHDhvZvgv4Da','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','CxvLCNK','yxbW','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','DxrMoa','C2vYDMvY','u0vorf9nrvntquDf','vw5RBM93BIbHy3rPB246ia','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','y2f0zwDVCNK','y2XVC2u','y3DK','zMLSzq','4P2miezHAwXLzcb0BYbZzw5KifDLyLnVy2TLDcbTzxnZywDL','l2fWAs9MAwXLCW','D3nZ','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','y29UBMvJDgvK','rMfPBgvKihrVigDLDcbHz2vUDcbTzxrHzgf0yq','su5urvjoquXFu0vsvKvsx0vsuK9s','D3m6lY8','y2fWywjPBgL0AwvZ','yM9KEq','mc4WlJaUma','l2fWAs9SBg0Vy2HHDa','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','CMvHzhLtDgf0zq','nJq0mZu3mgPusLbPEG','AgvHBhrOEq','DgHLBG','D29YA2LUz0rPCMvJDg9YEq','lI4VlI4VD2vIlxvPl2j1AwXK','Bg9N','BMfTzq','Aw5MBW','zMLSzuv4CgXVCMvYtw9KDwXL','Aw5JBhvKzxm','DxjSzw5JB2rLza','D2vIlq','mZvvwM9UC2S','Bg94AwfbCgLlzxK','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','C2v0DxbnAwrKBgv3yxjL','mJy4ntiWyNncq2TN','w0LorK9Dia','mKfdEfPPBG','CgHP','C2v0DxbsB3v0zxm','C2v0','yxbWBgLJyxrPB24VANnVBG','w0rfqLvhxsa','y29UBMvJDgLVBNm','yw50AhjVCgLJlxnVBM5LDa','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','Bw9KzwW','mtfIrgHuyLu','sw52ywXPzcbZzxnZAw9U','AgvHzgvY','ywDLBNq','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','DMvUzg9YqxbPs2v5','CMfUzg9T','DhLWzq','Dg9ju09tDhjPBMC','AM9PBG','ywn0AxzL','C3rHDa','C2vZC2LVBKLK','BgfZDefJDgL2Axr5','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','Aw5PDgLHBgL6zq','B3jPz2LU','CMvSyxrPDMu','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','Aw1WB3j0qxjJAgL2zwrbz2vUDa','v2vIu29JA2v0igPVAw5LzcbZzxnZAw9U','C2v0DxbxzwjtB2nRzxq','C3vIC3rYAw5N','ChjVAMvJDa','C29JA2v0','vxnLCI1bz2vUDa','BwvZC2fNzq','B3jJAgvZDhjHDg9Y','C3rHy2S','mti5nZuXmfjNA292Aa','C2vUza','rMfPBgvKihrVihnLBMqGAw1Hz2uGzMLSzq','l2fWAs9RzxLZlZPZzxnZAw9Uswq','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','w1DbuK5Dia','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','C2vZC2LVBKLe','y2XLyxi','C3rHCNrtzxj2zxi','yNjVywrJyxn0vg9tzxnZAw9U','zgLYzwn0B3j5','yw50AhjVCgLJ','l2fWAs9RzxLZ','zgvSzxrLqxr0ywnOBwvUDa','DxbKyxrLzef0','C29YDa','yxbPs2v5twfUywDLCG','ywDLBNrFBw9Kzv9JAgfUz2vK','AxrLCMf0Aw9Uq291BNq','C3rYAw5NAwz5','te9ysufFqvbjx0Tfwq','qvbjigTLExmGDxbKyxrLzcbZDwnJzxnZzNvSBhK','y2f0y2G','C2vUzezPBgu','Aw1Hz2vZ','Bw9Kzvn0yxrL','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','zMLSzuLK','mtbTyG'];a0_0x33e2=function(){return _0x346e28;};return a0_0x33e2();}class WebServer{constructor(_0x31aeca,_0x5c8850,_0x1bd827={}){const _0x2032a6=a0_0x6a209e;this[_0x2032a6(0x21c)]=_0x31aeca,this[_0x2032a6(0x184)]=_0x5c8850,this['config']=_0x1bd827,this[_0x2032a6(0x17b)]=_0x1bd827[_0x2032a6(0x17b)]||0x1f90,this['host']=_0x1bd827['host']||'localhost',this['app']=a0_0x2cf59e(),this[_0x2032a6(0x1cc)]=createServer(this['app']),this[_0x2032a6(0x1d6)]=new WebSocketServer({'server':this['server'],'verifyClient':_0x15c3bd=>{const _0xda9152=_0x2032a6;return this[_0xda9152(0x184)]?.['info'](_0xda9152(0x1c5),{'origin':_0x15c3bd['origin'],'host':_0x15c3bd[_0xda9152(0x180)][_0xda9152(0x162)]['host'],'userAgent':_0x15c3bd[_0xda9152(0x180)][_0xda9152(0x162)][_0xda9152(0x1a9)],'url':_0x15c3bd[_0xda9152(0x180)][_0xda9152(0x159)]}),!![];}}),this['connections']=new Map(),this['sessions']=new Map(),this['apiKeyManager']=null,this[_0x2032a6(0x168)]=![];}async[a0_0x6a209e(0x210)](){const _0x33a4ca=a0_0x6a209e;try{this['setupMiddleware'](),this[_0x33a4ca(0x1f7)](),this['setupWebSocket'](),await this['startServer'](),this[_0x33a4ca(0x184)]['info']('Web\x20server\x20initialized',{'port':this['port'],'host':this[_0x33a4ca(0x144)],'url':_0x33a4ca(0x16d)+this['host']+':'+this[_0x33a4ca(0x17b)]});}catch(_0x3afc29){this['logger'][_0x33a4ca(0x148)]('Web\x20server\x20initialization\x20failed',{'error':_0x3afc29['message'],'stack':_0x3afc29[_0x33a4ca(0x21d)]});throw _0x3afc29;}}[a0_0x6a209e(0x1f2)](){const _0x4b5fa0=a0_0x6a209e;this['app']['use']((_0x39822f,_0x3f0a76,_0x2c859a)=>{const _0x5a59a2=a0_0x9b06;_0x3f0a76[_0x5a59a2(0x201)]('Access-Control-Allow-Origin','*'),_0x3f0a76['header']('Access-Control-Allow-Methods','GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0x3f0a76[_0x5a59a2(0x201)](_0x5a59a2(0x1b6),_0x5a59a2(0x1ac)),_0x39822f[_0x5a59a2(0x23e)]===_0x5a59a2(0x170)?_0x3f0a76['sendStatus'](HTTP_STATUS['OK']):_0x2c859a();}),this[_0x4b5fa0(0x1c8)]['use'](a0_0x2cf59e['json']({'limit':_0x4b5fa0(0x23c)})),this[_0x4b5fa0(0x1c8)]['use'](a0_0x2cf59e[_0x4b5fa0(0x1ed)]({'extended':!![],'limit':_0x4b5fa0(0x23c)})),this[_0x4b5fa0(0x1eb)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app']['use']('/api/file-explorer',this['fileExplorerModule']['router']);const _0x4ca6fa=a0_0x3ba4d3['join'](__dirname,_0x4b5fa0(0x1e7));this['app'][_0x4b5fa0(0x1a3)](a0_0x2cf59e[_0x4b5fa0(0x194)](_0x4ca6fa)),this[_0x4b5fa0(0x1c8)][_0x4b5fa0(0x1a3)]((_0x270bcc,_0x2d142c,_0x1d65bb)=>{const _0x3ca25e=_0x4b5fa0;this['logger'][_0x3ca25e(0x1b8)](_0x270bcc[_0x3ca25e(0x23e)]+'\x20'+_0x270bcc['path'],{'ip':_0x270bcc['ip'],'userAgent':_0x270bcc['get'](_0x3ca25e(0x21a))}),_0x1d65bb();});}['setupRoutes'](){const _0x192a0a=a0_0x6a209e;this['app'][_0x192a0a(0x19e)](_0x192a0a(0x176),async(_0x267b35,_0x1e6cf9)=>{const _0x494129=_0x192a0a;try{const _0x352018=a0_0x3ba4d3['join'](__dirname,_0x494129(0x177)),_0x243847=JSON['parse'](await a0_0x315721['readFile'](_0x352018,'utf8'));_0x1e6cf9['json']({'status':_0x494129(0x1e4),'version':_0x243847[_0x494129(0x15f)]||_0x494129(0x18e),'timestamp':new Date()[_0x494129(0x208)]()});}catch(_0x4cb0b0){_0x1e6cf9['json']({'status':_0x494129(0x1e4),'version':'1.0.0','timestamp':new Date()['toISOString']()});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)](_0x192a0a(0x240),async(_0x2f3a9c,_0x25ee5d)=>{const _0x165c98=_0x192a0a;try{const _0x13ce90=_0x165c98(0x1ee)+Date['now']()+'-'+Math[_0x165c98(0x206)]()['toString'](0x24)[_0x165c98(0x241)](0x2,0x9),_0x10fc80=_0x2f3a9c[_0x165c98(0x1dd)][_0x165c98(0x18a)]||process['cwd'](),_0x41e8e9={'id':_0x13ce90,'projectDir':_0x10fc80,'createdAt':new Date()[_0x165c98(0x208)](),'lastActivity':new Date()[_0x165c98(0x208)]()};this[_0x165c98(0x13f)][_0x165c98(0x1f8)](_0x13ce90,_0x41e8e9),_0x25ee5d['json']({'success':!![],'session':_0x41e8e9});}catch(_0x3ce4a3){_0x25ee5d[_0x165c98(0x179)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x165c98(0x152)]({'success':![],'error':_0x3ce4a3['message']});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)](_0x192a0a(0x18c),async(_0x45f1a1,_0x2d6fbd)=>{const _0x4c9503=_0x192a0a;try{const _0x3faa87={'interface':INTERFACE_TYPES[_0x4c9503(0x153)],'sessionId':_0x45f1a1['body'][_0x4c9503(0x20c)],'action':_0x45f1a1['body'][_0x4c9503(0x150)],'payload':_0x45f1a1[_0x4c9503(0x1dd)]['payload'],'projectDir':_0x45f1a1['body'][_0x4c9503(0x18a)]||process[_0x4c9503(0x1d2)]()},_0x5ef474=await this['orchestrator']['processRequest'](_0x3faa87);this[_0x4c9503(0x229)](_0x3faa87[_0x4c9503(0x20c)],{'type':_0x4c9503(0x1e0),'action':_0x3faa87['action'],'response':_0x5ef474}),_0x2d6fbd[_0x4c9503(0x152)](_0x5ef474);}catch(_0x344ef7){this[_0x4c9503(0x184)]['error']('Orchestrator\x20API\x20error',{'error':_0x344ef7[_0x4c9503(0x21b)],'body':_0x45f1a1[_0x4c9503(0x1dd)]}),_0x2d6fbd['status'](HTTP_STATUS[_0x4c9503(0x1da)])['json']({'success':![],'error':_0x344ef7['message']});}}),this[_0x192a0a(0x1c8)]['get'](_0x192a0a(0x1d5),async(_0x15d231,_0x3d9a08)=>{const _0x114587=_0x192a0a;try{const {path:_0x57f8d8,projectDir:_0x46b926}=_0x15d231['query'],_0x1e34fe=a0_0x3ba4d3[_0x114587(0x1bc)](_0x46b926||process['cwd'](),_0x57f8d8||'.'),_0x556750=await a0_0x315721[_0x114587(0x20b)](_0x1e34fe);if(_0x556750[_0x114587(0x1bd)]()){const _0xecc4d7=await a0_0x315721[_0x114587(0x178)](_0x1e34fe,{'withFileTypes':!![]}),_0x4aefff=_0xecc4d7['map'](_0x2c3760=>({'name':_0x2c3760[_0x114587(0x1e9)],'type':_0x2c3760[_0x114587(0x1bd)]()?_0x114587(0x22a):'file','path':a0_0x3ba4d3['join'](_0x57f8d8||'.',_0x2c3760[_0x114587(0x1e9)])}));_0x3d9a08['json']({'success':!![],'files':_0x4aefff});}else{const _0xd780e2=await a0_0x315721['readFile'](_0x1e34fe,_0x114587(0x1cb));_0x3d9a08[_0x114587(0x152)]({'success':!![],'content':_0xd780e2,'type':'file'});}}catch(_0x169ae2){_0x3d9a08[_0x114587(0x179)](HTTP_STATUS[_0x114587(0x15d)])[_0x114587(0x152)]({'success':![],'error':_0x169ae2['message']});}}),this['app']['post']('/api/files/upload',async(_0x4d10c6,_0x60202a)=>{const _0xf294db=_0x192a0a;try{const {fileName:_0x30f1f9,content:_0x134e53,projectDir:_0xc79abb}=_0x4d10c6['body'],_0x5acdf8=_0xc79abb||process[_0xf294db(0x1d2)](),_0x5ed5e4=a0_0x3ba4d3[_0xf294db(0x1bc)](_0x5acdf8,_0x30f1f9);await a0_0x315721[_0xf294db(0x15e)](_0x5acdf8,{'recursive':!![]}),await a0_0x315721['writeFile'](_0x5ed5e4,_0x134e53,_0xf294db(0x1cb)),_0x60202a['json']({'success':!![],'message':_0xf294db(0x196),'path':_0x5ed5e4});}catch(_0x59235a){_0x60202a[_0xf294db(0x179)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0xf294db(0x152)]({'success':![],'error':_0x59235a[_0xf294db(0x21b)]});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x19e)]('/api/explorer',async(_0x4edc6a,_0x2f6810)=>{const _0x13adf=_0x192a0a;try{const {path:_0x2c5c28,showHidden:showHidden=![]}=_0x4edc6a['query'],_0x458348=_0x2c5c28||process['cwd'](),_0x3f8401=a0_0x3ba4d3['resolve'](_0x458348),_0x20b5ed=a0_0x3ba4d3['normalize'](_0x3f8401),_0x39378f=await a0_0x315721['stat'](_0x20b5ed);if(!_0x39378f['isDirectory']())return _0x2f6810['status'](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':'Path\x20is\x20not\x20a\x20directory'});const _0x2daf37=await a0_0x315721[_0x13adf(0x178)](_0x20b5ed,{'withFileTypes':!![]}),_0x209179=await Promise['all'](_0x2daf37[_0x13adf(0x1a7)](_0x42a519=>showHidden==='true'||!_0x42a519['name'][_0x13adf(0x19b)]('.'))['map'](async _0x46fd06=>{const _0x219a08=_0x13adf,_0x4910fa=a0_0x3ba4d3['join'](_0x20b5ed,_0x46fd06['name']),_0x195583=await a0_0x315721['stat'](_0x4910fa)['catch'](()=>null);return{'name':_0x46fd06['name'],'type':_0x46fd06['isDirectory']()?'directory':_0x219a08(0x1d3),'path':_0x4910fa,'relativePath':a0_0x3ba4d3['relative'](process[_0x219a08(0x1d2)](),_0x4910fa),'size':_0x195583?.['size']||0x0,'modified':_0x195583?.['mtime']||null,'isHidden':_0x46fd06[_0x219a08(0x1e9)]['startsWith']('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x209179[_0x13adf(0x22f)]((_0x4aca18,_0x498395)=>{const _0x230e96=_0x13adf;if(_0x4aca18[_0x230e96(0x207)]!==_0x498395['type'])return _0x4aca18[_0x230e96(0x207)]===_0x230e96(0x22a)?-0x1:0x1;return _0x4aca18['name']['localeCompare'](_0x498395[_0x230e96(0x1e9)]);});const _0x4e6301=a0_0x3ba4d3[_0x13adf(0x1b1)](_0x20b5ed),_0x27e0e0=_0x4e6301!==_0x20b5ed;_0x2f6810[_0x13adf(0x152)]({'success':!![],'currentPath':_0x20b5ed,'currentRelativePath':a0_0x3ba4d3['relative'](process[_0x13adf(0x1d2)](),_0x20b5ed),'parentPath':_0x27e0e0?_0x4e6301:null,'items':_0x209179,'totalItems':_0x209179[_0x13adf(0x17f)],'directories':_0x209179['filter'](_0x3d38b4=>_0x3d38b4[_0x13adf(0x207)]===_0x13adf(0x22a))['length'],'files':_0x209179[_0x13adf(0x1a7)](_0x21e847=>_0x21e847['type']==='file')['length']});}catch(_0x721200){_0x2f6810['status'](HTTP_STATUS[_0x13adf(0x1da)])[_0x13adf(0x152)]({'success':![],'error':_0x721200[_0x13adf(0x21b)],'code':_0x721200['code']});}}),this[_0x192a0a(0x1c8)]['post'](_0x192a0a(0x139),async(_0x4f96b4,_0x93088a)=>{const _0x46f9c7=_0x192a0a;try{const {path:_0x5d85f1,name:_0x23b5dc}=_0x4f96b4[_0x46f9c7(0x1dd)],_0x1b215a=a0_0x3ba4d3[_0x46f9c7(0x1bc)](_0x5d85f1,_0x23b5dc);await a0_0x315721['mkdir'](_0x1b215a,{'recursive':![]}),_0x93088a['json']({'success':!![],'path':_0x1b215a,'relativePath':a0_0x3ba4d3[_0x46f9c7(0x212)](process['cwd'](),_0x1b215a)});}catch(_0x8e7a6c){_0x93088a[_0x46f9c7(0x179)](HTTP_STATUS[_0x46f9c7(0x1da)])[_0x46f9c7(0x152)]({'success':![],'error':_0x8e7a6c[_0x46f9c7(0x21b)],'code':_0x8e7a6c['code']});}}),this['app']['get']('/api/explorer/info',async(_0x31089c,_0x3dea67)=>{const _0x219a2a=_0x192a0a;try{const {path:_0x592f41}=_0x31089c[_0x219a2a(0x1c7)],_0x1b868a=a0_0x3ba4d3['resolve'](_0x592f41),_0x176b88=await a0_0x315721['stat'](_0x1b868a);_0x3dea67[_0x219a2a(0x152)]({'success':!![],'path':_0x1b868a,'relativePath':a0_0x3ba4d3[_0x219a2a(0x212)](process['cwd'](),_0x1b868a),'isDirectory':_0x176b88['isDirectory'](),'isFile':_0x176b88[_0x219a2a(0x14d)](),'size':_0x176b88['size'],'created':_0x176b88[_0x219a2a(0x141)],'modified':_0x176b88[_0x219a2a(0x147)],'accessed':_0x176b88['atime']});}catch(_0x47930a){_0x3dea67[_0x219a2a(0x179)](HTTP_STATUS[_0x219a2a(0x1da)])['json']({'success':![],'error':_0x47930a[_0x219a2a(0x21b)],'code':_0x47930a['code']});}}),this['app']['post'](_0x192a0a(0x1df),async(_0x28ab2a,_0x2f4482)=>{const _0x472ae0=_0x192a0a;try{const {sessionId:_0x10e7b9,model:_0x4475e9,platformProvided:_0x248ea6}=_0x28ab2a[_0x472ae0(0x1dd)];if(!_0x10e7b9)return _0x2f4482[_0x472ae0(0x179)](0x190)[_0x472ae0(0x152)]({'error':_0x472ae0(0x1a5)});let _0x588725=null,_0x1717ba=null;if(this[_0x472ae0(0x230)]){const _0x3789a5=this[_0x472ae0(0x230)]['getKeysForRequest'](_0x10e7b9,{'platformProvided':_0x248ea6||![],'vendor':this[_0x472ae0(0x14f)](_0x4475e9)});_0x588725=_0x3789a5['loxiaApiKey'],_0x1717ba=_0x3789a5[_0x472ae0(0x205)];}!_0x588725&&(_0x588725=this['config'][_0x472ae0(0x1f0)]||process[_0x472ae0(0x1a1)]['LOXIA_API_KEY']);!_0x588725&&_0x28ab2a[_0x472ae0(0x1dd)]['apiKey']&&(_0x588725=_0x28ab2a[_0x472ae0(0x1dd)][_0x472ae0(0x16b)]);if(!_0x588725)return this[_0x472ae0(0x184)]['warn']('No\x20API\x20key\x20available\x20for\x20chat\x20request',{'sessionId':_0x10e7b9,'model':_0x4475e9,'platformProvided':_0x248ea6,'hasSessionManager':!!this[_0x472ae0(0x230)]}),_0x2f4482['status'](0x191)[_0x472ae0(0x152)]({'error':_0x472ae0(0x15b)});const _0x369093=_0x472ae0(0x1b5),_0x373e64={..._0x28ab2a['body'],'apiKey':_0x588725,..._0x1717ba&&{'vendorApiKey':_0x1717ba}},_0x33f311={'method':_0x472ae0(0x14a),'headers':{'Content-Type':_0x472ae0(0x1f9),'Authorization':_0x472ae0(0x154)+_0x588725},'body':JSON[_0x472ae0(0x233)](_0x373e64)};this[_0x472ae0(0x184)][_0x472ae0(0x1ea)](_0x472ae0(0x142),{'url':_0x369093,'model':_0x28ab2a[_0x472ae0(0x1dd)]['model'],'hasApiKey':!!_0x588725});const _0x5d1aa7=await fetch(_0x369093,_0x33f311);if(_0x5d1aa7['ok']){const _0x2dfede=await _0x5d1aa7['json']();this['logger'][_0x472ae0(0x1ea)]('Successfully received response from Azure backend',{'model':_0x2dfede[_0x472ae0(0x1fe)],'contentLength':_0x2dfede['content']?.['length']||0x0}),_0x2f4482['json'](_0x2dfede);}else{const _0x46634f=await _0x5d1aa7['text']();this['logger'][_0x472ae0(0x166)]('Azure\x20backend\x20chat\x20request\x20failed',{'status':_0x5d1aa7[_0x472ae0(0x179)],'statusText':_0x5d1aa7[_0x472ae0(0x1c4)],'error':_0x46634f}),_0x2f4482[_0x472ae0(0x179)](_0x5d1aa7['status'])['json']({'error':'Azure\x20backend\x20error:\x20'+_0x5d1aa7['status']+'\x20'+_0x5d1aa7[_0x472ae0(0x1c4)],'details':_0x46634f});}}catch(_0x3571eb){this[_0x472ae0(0x184)][_0x472ae0(0x148)]('Failed\x20to\x20proxy\x20chat\x20request\x20to\x20Azure\x20backend',{'error':_0x3571eb['message'],'stack':_0x3571eb['stack']}),_0x2f4482[_0x472ae0(0x179)](0x1f4)[_0x472ae0(0x152)]({'error':_0x472ae0(0x14b),'details':_0x3571eb[_0x472ae0(0x21b)]});}}),this['app'][_0x192a0a(0x19e)]('/api/llm/models',async(_0x43260c,_0x407575)=>{const _0x38642e=_0x192a0a;try{const _0x49baef=_0x43260c[_0x38642e(0x162)][_0x38642e(0x13d)];let _0x51494f=null;_0x49baef&&_0x49baef['startsWith'](_0x38642e(0x154))&&(_0x51494f=_0x49baef[_0x38642e(0x217)](0x7));!_0x51494f&&(_0x51494f=this[_0x38642e(0x197)]['loxiaApiKey']||process[_0x38642e(0x1a1)][_0x38642e(0x234)]);const _0x2aa214='https://autopilot-api.azurewebsites.net/llm/models',_0x3584e4={'method':'GET','headers':{'Content-Type':'application/json',..._0x51494f&&{'Authorization':_0x38642e(0x154)+_0x51494f}}};this[_0x38642e(0x184)][_0x38642e(0x1ea)]('Fetching models from Loxia Azure backend',{'url':_0x2aa214,'hasApiKey':!!_0x51494f});const _0x29ec06=await fetch(_0x2aa214,_0x3584e4);if(_0x29ec06['ok']){const _0x3f6509=await _0x29ec06['json']();this['logger']['info']('Successfully fetched models from Azure backend',{'modelCount':_0x3f6509['models']?.['length']||0x0}),_0x407575['json'](_0x3f6509);}else{const _0x4f3345=await _0x29ec06['text']();this['logger']['error']('Azure\x20backend\x20request\x20failed\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'status':_0x29ec06['status'],'statusText':_0x29ec06[_0x38642e(0x1c4)],'error':_0x4f3345}),_0x407575[_0x38642e(0x179)](_0x29ec06[_0x38642e(0x179)])['json']({'success':![],'error':_0x38642e(0x213)+_0x29ec06['status']+'\x20'+_0x29ec06[_0x38642e(0x1c4)],'details':_0x4f3345});}}catch(_0xaa92a6){this['logger'][_0x38642e(0x148)]('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0xaa92a6['message'],'stack':_0xaa92a6[_0x38642e(0x21d)]}),_0x407575[_0x38642e(0x179)](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0xaa92a6[_0x38642e(0x21b)]});}}),this['app'][_0x192a0a(0x19e)]('/api/tools',async(_0x2a7fee,_0x3159a0)=>{const _0x3029b3=_0x192a0a;try{const _0x4f5314=this['toolsRegistry'];if(!_0x4f5314)return _0x3159a0['status'](0x1f4)[_0x3029b3(0x152)]({'error':'Tools\x20registry\x20not\x20available'});const _0x33e079=_0x4f5314[_0x3029b3(0x143)]();this['logger']['info'](_0x3029b3(0x1fd),{'toolCount':_0x33e079[_0x3029b3(0x17f)],'tools':_0x33e079[_0x3029b3(0x172)](_0x12f5b3=>({'id':_0x12f5b3['id'],'name':_0x12f5b3['name'],'category':_0x12f5b3[_0x3029b3(0x1d0)]}))}),_0x3159a0[_0x3029b3(0x152)]({'success':!![],'tools':_0x33e079,'total':_0x33e079[_0x3029b3(0x17f)]});}catch(_0x562f94){this[_0x3029b3(0x184)]['error']('Failed\x20to\x20get\x20tools\x20information',{'error':_0x562f94[_0x3029b3(0x21b)],'stack':_0x562f94[_0x3029b3(0x21d)]}),_0x3159a0[_0x3029b3(0x179)](0x1f4)[_0x3029b3(0x152)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x562f94['message']});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)](_0x192a0a(0x22c),async(_0x101a18,_0x588ee7)=>{const _0x4b66bb=_0x192a0a;try{const {sessionId:_0x239b9e,loxiaApiKey:_0xb288f0,vendorKeys:_0x41b2de}=_0x101a18['body'];if(!_0x239b9e)return _0x588ee7['status'](0x190)[_0x4b66bb(0x152)]({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this[_0x4b66bb(0x230)])return _0x588ee7['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this[_0x4b66bb(0x230)]['setSessionKeys'](_0x239b9e,{'loxiaApiKey':_0xb288f0,'vendorKeys':_0x41b2de||{}}),this[_0x4b66bb(0x184)]['info'](_0x4b66bb(0x1ca),{'sessionId':_0x239b9e,'hasLoxiaKey':!!_0xb288f0,'vendorKeys':Object['keys'](_0x41b2de||{})});if(this['orchestrator']&&this['orchestrator']['modelsService']&&_0xb288f0)try{await this[_0x4b66bb(0x21c)]['modelsService']['refresh']({'sessionId':_0x239b9e,'apiKey':_0xb288f0}),this['logger'][_0x4b66bb(0x1ea)](_0x4b66bb(0x23d),{'sessionId':_0x239b9e});}catch(_0x1c6ee9){this[_0x4b66bb(0x184)]['warn'](_0x4b66bb(0x20e),{'error':_0x1c6ee9[_0x4b66bb(0x21b)],'sessionId':_0x239b9e});}_0x588ee7['json']({'success':!![],'message':_0x4b66bb(0x235),'sessionId':_0x239b9e,'hasLoxiaKey':!!_0xb288f0,'vendorKeys':Object['keys'](_0x41b2de||{})});}catch(_0x31791d){this[_0x4b66bb(0x184)]['error']('Failed\x20to\x20set\x20API\x20keys',{'error':_0x31791d[_0x4b66bb(0x21b)],'sessionId':_0x101a18['body']['sessionId']}),_0x588ee7['status'](0x1f4)[_0x4b66bb(0x152)]({'success':![],'error':_0x31791d[_0x4b66bb(0x21b)]});}}),this['app']['get']('/api/keys/:sessionId',async(_0x29ef63,_0x20258d)=>{const _0x4d190f=_0x192a0a;try{const {sessionId:_0x578201}=_0x29ef63[_0x4d190f(0x1b3)];if(!this['apiKeyManager'])return _0x20258d[_0x4d190f(0x179)](0x1f4)[_0x4d190f(0x152)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x4c182a=this['apiKeyManager']['getSessionKeys'](_0x578201);_0x20258d['json']({'success':!![],'sessionId':_0x578201,'hasLoxiaKey':!!_0x4c182a[_0x4d190f(0x1f0)],'vendorKeys':Object[_0x4d190f(0x195)](_0x4c182a['vendorKeys']||{}),'updatedAt':_0x4c182a[_0x4d190f(0x22e)]});}catch(_0x51f697){this[_0x4d190f(0x184)][_0x4d190f(0x148)](_0x4d190f(0x174),{'error':_0x51f697[_0x4d190f(0x21b)],'sessionId':_0x29ef63['params'][_0x4d190f(0x20c)]}),_0x20258d['status'](0x1f4)['json']({'success':![],'error':_0x51f697['message']});}}),this[_0x192a0a(0x1c8)]['delete'](_0x192a0a(0x221),async(_0x35a2a2,_0x22cf5a)=>{const _0x2c0583=_0x192a0a;try{const {sessionId:_0xebff8f}=_0x35a2a2[_0x2c0583(0x1b3)];if(!this['apiKeyManager'])return _0x22cf5a[_0x2c0583(0x179)](0x1f4)[_0x2c0583(0x152)]({'success':![],'error':_0x2c0583(0x158)});const _0x50407f=this['apiKeyManager']['removeSessionKeys'](_0xebff8f);_0x22cf5a['json']({'success':!![],'removed':_0x50407f,'message':_0x50407f?_0x2c0583(0x1a4):'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0xee465d){this['logger'][_0x2c0583(0x148)](_0x2c0583(0x23a),{'error':_0xee465d['message'],'sessionId':_0x35a2a2[_0x2c0583(0x1b3)]['sessionId']}),_0x22cf5a['status'](0x1f4)[_0x2c0583(0x152)]({'success':![],'error':_0xee465d['message']});}}),this[_0x192a0a(0x1c8)]['get'](_0x192a0a(0x22c),async(_0x375eb4,_0x4947ff)=>{const _0x2933f7=_0x192a0a;try{if(!this['apiKeyManager'])return _0x4947ff[_0x2933f7(0x179)](0x1f4)[_0x2933f7(0x152)]({'success':![],'error':_0x2933f7(0x158)});const _0xaa026d=this[_0x2933f7(0x230)]['getActiveSessions']();_0x4947ff[_0x2933f7(0x152)]({'success':!![],'sessions':_0xaa026d,'total':_0xaa026d['length']});}catch(_0x341f25){this[_0x2933f7(0x184)][_0x2933f7(0x148)](_0x2933f7(0x1be),{'error':_0x341f25['message']}),_0x4947ff[_0x2933f7(0x179)](0x1f4)[_0x2933f7(0x152)]({'success':![],'error':_0x341f25[_0x2933f7(0x21b)]});}}),this[_0x192a0a(0x1c8)]['post']('/api/agents/:agentId/attachments/upload',async(_0xde7b20,_0x5e1da7)=>{const _0x18abec=_0x192a0a;try{const {agentId:_0x1ee796}=_0xde7b20['params'],{filePath:_0x43bb05,mode:_0x5dcc87,fileName:_0x4b2dc2}=_0xde7b20['body'];if(!this[_0x18abec(0x21c)]?.[_0x18abec(0x16a)])return _0x5e1da7['status'](0x1f4)[_0x18abec(0x152)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x5fc3ed=await this[_0x18abec(0x21c)][_0x18abec(0x16a)]['uploadFile']({'agentId':_0x1ee796,'filePath':_0x43bb05,'mode':_0x5dcc87||'content','fileName':_0x4b2dc2});this[_0x18abec(0x184)]['info'](_0x18abec(0x1e1),{'agentId':_0x1ee796,'fileId':_0x5fc3ed['fileId'],'fileName':_0x5fc3ed['fileName']}),_0x5e1da7[_0x18abec(0x152)]({'success':!![],'attachment':_0x5fc3ed});}catch(_0x580b47){this[_0x18abec(0x184)][_0x18abec(0x148)](_0x18abec(0x14e),{'agentId':_0xde7b20['params'][_0x18abec(0x182)],'error':_0x580b47['message']}),_0x5e1da7[_0x18abec(0x179)](0x1f4)['json']({'success':![],'error':_0x580b47['message']});}}),this[_0x192a0a(0x1c8)]['get'](_0x192a0a(0x1c1),async(_0x260132,_0x16f22f)=>{const _0xe9f839=_0x192a0a;try{const {agentId:_0x30b47f}=_0x260132[_0xe9f839(0x1b3)],{mode:_0x1401ba,active:_0x3ef7a5}=_0x260132[_0xe9f839(0x1c7)];if(!this[_0xe9f839(0x21c)]?.[_0xe9f839(0x16a)])return _0x16f22f['status'](0x1f4)[_0xe9f839(0x152)]({'success':![],'error':_0xe9f839(0x20f)});const _0x4bc173={};if(_0x1401ba)_0x4bc173[_0xe9f839(0x165)]=_0x1401ba;if(_0x3ef7a5!==undefined)_0x4bc173[_0xe9f839(0x20a)]=_0x3ef7a5==='true';const _0x1359b9=await this[_0xe9f839(0x21c)][_0xe9f839(0x16a)]['getAttachments'](_0x30b47f,_0x4bc173);_0x16f22f['json']({'success':!![],'attachments':_0x1359b9,'total':_0x1359b9[_0xe9f839(0x17f)]});}catch(_0x46f2f1){this['logger']['error']('Failed\x20to\x20get\x20attachments',{'agentId':_0x260132[_0xe9f839(0x1b3)]['agentId'],'error':_0x46f2f1[_0xe9f839(0x21b)]}),_0x16f22f[_0xe9f839(0x179)](0x1f4)['json']({'success':![],'error':_0x46f2f1['message']});}}),this[_0x192a0a(0x1c8)]['get']('/api/attachments/:fileId',async(_0x52d340,_0x5749d2)=>{const _0x67641=_0x192a0a;try{const {fileId:_0xa00304}=_0x52d340[_0x67641(0x1b3)];if(!this[_0x67641(0x21c)]?.['fileAttachmentService'])return _0x5749d2[_0x67641(0x179)](0x1f4)['json']({'success':![],'error':_0x67641(0x20f)});const _0x2c0f73=await this['orchestrator']['fileAttachmentService'][_0x67641(0x19c)](_0xa00304);if(!_0x2c0f73)return _0x5749d2[_0x67641(0x179)](0x194)['json']({'success':![],'error':'Attachment\x20not\x20found'});_0x5749d2['json']({'success':!![],'attachment':_0x2c0f73});}catch(_0x121893){this['logger']['error']('Failed\x20to\x20get\x20attachment',{'fileId':_0x52d340['params'][_0x67641(0x23b)],'error':_0x121893[_0x67641(0x21b)]}),_0x5749d2[_0x67641(0x179)](0x1f4)['json']({'success':![],'error':_0x121893[_0x67641(0x21b)]});}}),this['app'][_0x192a0a(0x17e)](_0x192a0a(0x23f),async(_0x35f1d9,_0x35bcb1)=>{const _0x1db0bc=_0x192a0a;try{const {fileId:_0x4c21a0}=_0x35f1d9[_0x1db0bc(0x1b3)];if(!this[_0x1db0bc(0x21c)]?.[_0x1db0bc(0x16a)])return _0x35bcb1['status'](0x1f4)['json']({'success':![],'error':_0x1db0bc(0x20f)});const _0x2aef51=await this['orchestrator'][_0x1db0bc(0x16a)][_0x1db0bc(0x161)](_0x4c21a0);this[_0x1db0bc(0x184)]['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0x4c21a0,'active':_0x2aef51[_0x1db0bc(0x20a)]}),_0x35bcb1['json']({'success':!![],'attachment':_0x2aef51});}catch(_0xbbaccf){this[_0x1db0bc(0x184)][_0x1db0bc(0x148)]('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x35f1d9[_0x1db0bc(0x1b3)]['fileId'],'error':_0xbbaccf[_0x1db0bc(0x21b)]}),_0x35bcb1['status'](0x1f4)[_0x1db0bc(0x152)]({'success':![],'error':_0xbbaccf[_0x1db0bc(0x21b)]});}}),this['app']['patch']('/api/attachments/:fileId',async(_0x5c4e84,_0x219af3)=>{const _0x4527a8=_0x192a0a;try{const {fileId:_0xde414}=_0x5c4e84[_0x4527a8(0x1b3)],{mode:_0x2889ca,active:_0x17aac1}=_0x5c4e84[_0x4527a8(0x1dd)];if(!this['orchestrator']?.[_0x4527a8(0x16a)])return _0x219af3[_0x4527a8(0x179)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0xd1d925={};if(_0x2889ca!==undefined)_0xd1d925[_0x4527a8(0x165)]=_0x2889ca;if(_0x17aac1!==undefined)_0xd1d925['active']=_0x17aac1;const _0x10ee3d=await this[_0x4527a8(0x21c)][_0x4527a8(0x16a)]['updateAttachment'](_0xde414,_0xd1d925);this['logger'][_0x4527a8(0x1ea)]('Attachment\x20updated',{'fileId':_0xde414,'updates':_0xd1d925}),_0x219af3[_0x4527a8(0x152)]({'success':!![],'attachment':_0x10ee3d});}catch(_0x357c7e){this['logger']['error'](_0x4527a8(0x185),{'fileId':_0x5c4e84[_0x4527a8(0x1b3)][_0x4527a8(0x23b)],'error':_0x357c7e['message']}),_0x219af3[_0x4527a8(0x179)](0x1f4)[_0x4527a8(0x152)]({'success':![],'error':_0x357c7e[_0x4527a8(0x21b)]});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x16f)](_0x192a0a(0x13b),async(_0x5c4393,_0xc49026)=>{const _0x1305ac=_0x192a0a;try{const {fileId:_0x53e1da}=_0x5c4393['params'],{agentId:_0x4667f0}=_0x5c4393[_0x1305ac(0x1c7)];if(!_0x4667f0)return _0xc49026[_0x1305ac(0x179)](0x190)[_0x1305ac(0x152)]({'success':![],'error':'agentId\x20query\x20parameter\x20is\x20required'});if(!this[_0x1305ac(0x21c)]?.['fileAttachmentService'])return _0xc49026['status'](0x1f4)[_0x1305ac(0x152)]({'success':![],'error':_0x1305ac(0x20f)});const _0x4a9ebb=await this[_0x1305ac(0x21c)][_0x1305ac(0x16a)][_0x1305ac(0x22d)](_0x53e1da,_0x4667f0);this[_0x1305ac(0x184)][_0x1305ac(0x1ea)](_0x1305ac(0x1a0),{'fileId':_0x53e1da,'agentId':_0x4667f0,'physicallyDeleted':_0x4a9ebb[_0x1305ac(0x1c3)]}),_0xc49026['json']({'success':!![],'message':_0x4a9ebb['physicallyDeleted']?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x4a9ebb['physicallyDeleted']});}catch(_0x4804ec){this[_0x1305ac(0x184)]['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x5c4393['params']['fileId'],'error':_0x4804ec[_0x1305ac(0x21b)]}),_0xc49026[_0x1305ac(0x179)](0x1f4)['json']({'success':![],'error':_0x4804ec['message']});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)]('/api/attachments/:fileId/import',async(_0x33a572,_0x3ae355)=>{const _0x38ad96=_0x192a0a;try{const {fileId:_0x4caa7e}=_0x33a572[_0x38ad96(0x1b3)],{targetAgentId:_0x44b48c}=_0x33a572['body'];if(!_0x44b48c)return _0x3ae355[_0x38ad96(0x179)](0x190)['json']({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this[_0x38ad96(0x21c)]?.['fileAttachmentService'])return _0x3ae355[_0x38ad96(0x179)](0x1f4)['json']({'success':![],'error':_0x38ad96(0x20f)});const _0x3feb84=await this['orchestrator']['fileAttachmentService'][_0x38ad96(0x157)](_0x4caa7e,_0x44b48c);this[_0x38ad96(0x184)][_0x38ad96(0x1ea)]('Attachment imported',{'fileId':_0x4caa7e,'targetAgentId':_0x44b48c}),_0x3ae355[_0x38ad96(0x152)]({'success':!![],'attachment':_0x3feb84});}catch(_0x24a5aa){this['logger'][_0x38ad96(0x148)]('Failed to import attachment',{'fileId':_0x33a572[_0x38ad96(0x1b3)]['fileId'],'error':_0x24a5aa['message']}),_0x3ae355['status'](0x1f4)[_0x38ad96(0x152)]({'success':![],'error':_0x24a5aa[_0x38ad96(0x21b)]});}}),this['app']['get']('/api/attachments/:fileId/preview',async(_0x588bbf,_0x311ccf)=>{const _0x2edb28=_0x192a0a;try{const {fileId:_0x2b33ed}=_0x588bbf['params'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x311ccf['status'](0x1f4)[_0x2edb28(0x152)]({'success':![],'error':_0x2edb28(0x20f)});const _0x3781c4=await this['orchestrator']['fileAttachmentService']['getAttachmentPreview'](_0x2b33ed);if(!_0x3781c4)return _0x311ccf[_0x2edb28(0x179)](0x194)[_0x2edb28(0x152)]({'success':![],'error':'Attachment\x20not\x20found'});_0x311ccf['json']({'success':!![],'preview':_0x3781c4});}catch(_0x21ff9c){this[_0x2edb28(0x184)]['error'](_0x2edb28(0x1c6),{'fileId':_0x588bbf[_0x2edb28(0x1b3)]['fileId'],'error':_0x21ff9c['message']}),_0x311ccf[_0x2edb28(0x179)](0x1f4)[_0x2edb28(0x152)]({'success':![],'error':_0x21ff9c[_0x2edb28(0x21b)]});}}),this[_0x192a0a(0x1c8)]['get']('/api/images/:sessionId/:filename',async(_0x3de4c6,_0x1f2cff)=>{const _0x156cf8=_0x192a0a;try{const {sessionId:_0x213c7b,filename:_0x2ab044}=_0x3de4c6[_0x156cf8(0x1b3)],_0x7f61b8=this['sessions']['get'](_0x213c7b);if(!_0x7f61b8)return _0x1f2cff['status'](HTTP_STATUS['FORBIDDEN'])['json']({'success':![],'error':_0x156cf8(0x200)});const _0x2223b2=a0_0x3ba4d3['basename'](_0x2ab044);if(_0x2223b2!==_0x2ab044||_0x2ab044[_0x156cf8(0x1ec)]('..')||_0x2ab044['includes']('/')||_0x2ab044[_0x156cf8(0x1ec)]('\x5c'))return _0x1f2cff[_0x156cf8(0x179)](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':_0x156cf8(0x192)});let _0x245909=null;const _0x36bb3a=[a0_0x3ba4d3['join'](_0x7f61b8[_0x156cf8(0x18a)]||process[_0x156cf8(0x1d2)](),'images',_0x2223b2),a0_0x3ba4d3['join'](_0x156cf8(0x1c2),_0x213c7b,_0x2223b2),a0_0x3ba4d3[_0x156cf8(0x209)](_0x156cf8(0x1c2),_0x2223b2)];if(this['orchestrator']?.['agentPool'])try{const _0x5cb2aa=await this[_0x156cf8(0x21c)]['agentPool']['getAllAgents']();for(const _0x5aa0f5 of _0x5cb2aa){_0x5aa0f5[_0x156cf8(0x16c)]?.['workingDirectory']&&_0x36bb3a['push'](a0_0x3ba4d3[_0x156cf8(0x209)](_0x5aa0f5[_0x156cf8(0x16c)][_0x156cf8(0x1e6)],_0x156cf8(0x238),_0x2223b2));}}catch(_0x56da3d){this[_0x156cf8(0x184)]['warn']('Failed\x20to\x20get\x20agent\x20working\x20directories\x20for\x20image\x20search',{'error':_0x56da3d['message']});}for(const _0x2a854f of _0x36bb3a){try{const _0x58965c=await a0_0x315721[_0x156cf8(0x20b)](_0x2a854f);if(_0x58965c[_0x156cf8(0x14d)]()){_0x245909=_0x2a854f,this[_0x156cf8(0x184)]['info']('Image\x20found',{'filename':_0x2223b2,'path':_0x245909,'sessionId':_0x213c7b});break;}}catch(_0x35cead){continue;}}if(!_0x245909)return this[_0x156cf8(0x184)][_0x156cf8(0x166)](_0x156cf8(0x203),{'filename':_0x2223b2,'sessionId':_0x213c7b,'searchPaths':_0x36bb3a}),_0x1f2cff[_0x156cf8(0x179)](HTTP_STATUS[_0x156cf8(0x15d)])['json']({'success':![],'error':'Image\x20not\x20found'});_0x1f2cff[_0x156cf8(0x237)](_0x245909,_0x390141=>{const _0x34b2a3=_0x156cf8;_0x390141?(this['logger']['error'](_0x34b2a3(0x220),{'error':_0x390141['message'],'imagePath':_0x245909,'filename':_0x2223b2}),!_0x1f2cff[_0x34b2a3(0x1ad)]&&_0x1f2cff['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x34b2a3(0x152)]({'success':![],'error':'Failed\x20to\x20serve\x20image'})):this[_0x34b2a3(0x184)][_0x34b2a3(0x1ea)]('Image\x20served\x20successfully',{'filename':_0x2223b2,'path':_0x245909,'sessionId':_0x213c7b});});}catch(_0x50d34f){this[_0x156cf8(0x184)]['error']('Image\x20serving\x20error',{'error':_0x50d34f[_0x156cf8(0x21b)],'sessionId':_0x3de4c6[_0x156cf8(0x1b3)][_0x156cf8(0x20c)],'filename':_0x3de4c6['params']['filename']}),_0x1f2cff[_0x156cf8(0x179)](HTTP_STATUS[_0x156cf8(0x1da)])['json']({'success':![],'error':_0x50d34f[_0x156cf8(0x21b)]});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)](_0x192a0a(0x1ae),async(_0x27c580,_0x1b0bf3)=>{const _0x458921=_0x192a0a;try{const {agentId:_0x231d51}=_0x27c580[_0x458921(0x1b3)],{mode:_0x29c918,lockMode:lockMode=![],sessionId:_0x2eea97}=_0x27c580[_0x458921(0x1dd)];if(!Object['values'](AGENT_MODES)[_0x458921(0x1ec)](_0x29c918))return _0x1b0bf3[_0x458921(0x179)](0x190)['json']({'success':![],'error':'Invalid\x20mode.\x20Must\x20be\x20one\x20of:\x20'+Object[_0x458921(0x1b4)](AGENT_MODES)['join'](',\x20')});const _0x5f29aa=_0x2eea97||_0x27c580['sessionID'];!_0x5f29aa&&this[_0x458921(0x184)][_0x458921(0x166)]('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0x231d51,'hasBodySessionId':!!_0x2eea97,'hasReqSessionId':!!_0x27c580['sessionID']});const _0x1d280a={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x5f29aa,'action':'update_agent','payload':{'agentId':_0x231d51,'updates':{'mode':_0x29c918}}},_0x1715a6=await this['orchestrator'][_0x458921(0x1af)](_0x1d280a);if(_0x1715a6[_0x458921(0x1b7)]){const _0x406090=_0x1715a6['data'];this['logger']['info']('Agent\x20mode\x20updated:\x20'+_0x231d51,{'newMode':_0x29c918,'lockMode':lockMode,'finalMode':_0x406090?.['mode']}),this[_0x458921(0x229)](_0x1d280a[_0x458921(0x20c)],{'type':_0x458921(0x231),'agentId':_0x231d51,'mode':_0x406090?.['mode'],'modeState':_0x406090?.[_0x458921(0x239)]}),_0x1b0bf3['json']({'success':!![],'agent':_0x406090,'message':'Agent\x20mode\x20switched\x20to\x20'+_0x406090?.['mode']});}else _0x1b0bf3[_0x458921(0x179)](0x190)[_0x458921(0x152)]({'success':![],'error':_0x1715a6['error']||_0x458921(0x1cf)});}catch(_0x595e90){this[_0x458921(0x184)]['error'](_0x458921(0x1cf),{'agentId':_0x27c580['params'][_0x458921(0x182)],'error':_0x595e90['message']}),_0x1b0bf3[_0x458921(0x179)](0x1f4)[_0x458921(0x152)]({'success':![],'error':_0x595e90[_0x458921(0x21b)]});}}),this['app'][_0x192a0a(0x151)]('/api/agents/:agentId/stop',async(_0x451703,_0x5f0f1e)=>{const _0x4370ea=_0x192a0a;try{const {agentId:_0x6fb5a7}=_0x451703[_0x4370ea(0x1b3)],_0x5a42bf=this[_0x4370ea(0x21c)]['messageProcessor'];if(!_0x5a42bf)return _0x5f0f1e['status'](0x1f4)[_0x4370ea(0x152)]({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x14a2ba=await _0x5a42bf[_0x4370ea(0x13c)](_0x6fb5a7);this[_0x4370ea(0x184)]['info']('Autonomous\x20execution\x20stop\x20requested:\x20'+_0x6fb5a7);const _0x2c09f5=_0x451703[_0x4370ea(0x226)]||_0x14a2ba['agent']?.[_0x4370ea(0x20c)];_0x2c09f5&&this['broadcastToSession'](_0x2c09f5,{'type':'agent_mode_changed','agentId':_0x6fb5a7,'mode':_0x14a2ba[_0x4370ea(0x202)]?.[_0x4370ea(0x165)],'modeState':_0x14a2ba['agent']?.[_0x4370ea(0x239)]}),_0x5f0f1e['json'](_0x14a2ba);}catch(_0x3a0927){this['logger']['error']('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x451703['params'][_0x4370ea(0x182)],'error':_0x3a0927['message']}),_0x5f0f1e['status'](0x1f4)[_0x4370ea(0x152)]({'success':![],'error':_0x3a0927['message']});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x19e)](_0x192a0a(0x1ae),async(_0x6face5,_0x1739fd)=>{const _0x1f43bb=_0x192a0a;try{const {agentId:_0x2c8b4a}=_0x6face5['params'],_0x5e2e9a={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x6face5[_0x1f43bb(0x226)],'action':'get_agent_status','payload':{'agentId':_0x2c8b4a}},_0x45dcb7=await this[_0x1f43bb(0x21c)]['processRequest'](_0x5e2e9a);_0x45dcb7[_0x1f43bb(0x1b7)]&&_0x45dcb7['agent']?_0x1739fd[_0x1f43bb(0x152)]({'success':!![],'mode':_0x45dcb7['agent'][_0x1f43bb(0x165)],'modeState':_0x45dcb7[_0x1f43bb(0x202)][_0x1f43bb(0x239)],'currentTask':_0x45dcb7['agent']['currentTask'],'iterationCount':_0x45dcb7['agent'][_0x1f43bb(0x232)],'taskStartTime':_0x45dcb7[_0x1f43bb(0x202)][_0x1f43bb(0x156)],'stopRequested':_0x45dcb7[_0x1f43bb(0x202)][_0x1f43bb(0x189)]}):_0x1739fd[_0x1f43bb(0x179)](0x194)[_0x1f43bb(0x152)]({'success':![],'error':_0x1f43bb(0x1ab)});}catch(_0x42d738){this[_0x1f43bb(0x184)][_0x1f43bb(0x148)]('Failed\x20to\x20get\x20agent\x20mode\x20status',{'agentId':_0x6face5[_0x1f43bb(0x1b3)][_0x1f43bb(0x182)],'error':_0x42d738[_0x1f43bb(0x21b)]}),_0x1739fd['status'](0x1f4)[_0x1f43bb(0x152)]({'success':![],'error':_0x42d738[_0x1f43bb(0x21b)]});}}),this[_0x192a0a(0x1c8)]['get']('/api/agents/available',async(_0x142620,_0x6aa35)=>{const _0x3273f0=_0x192a0a;try{const _0x23d3c1=this['orchestrator']['config']['project']?.[_0x3273f0(0x22a)]||process[_0x3273f0(0x1d2)](),_0x5d0ff1=await this['orchestrator']['stateManager'][_0x3273f0(0x169)](_0x23d3c1,this[_0x3273f0(0x21c)][_0x3273f0(0x1b2)]);_0x6aa35[_0x3273f0(0x152)]({'success':!![],'agents':_0x5d0ff1,'total':_0x5d0ff1[_0x3273f0(0x17f)],'active':_0x5d0ff1[_0x3273f0(0x1a7)](_0x5c9eba=>_0x5c9eba['isLoaded'])[_0x3273f0(0x17f)],'archived':_0x5d0ff1[_0x3273f0(0x1a7)](_0x43ac13=>!_0x43ac13['isLoaded'])[_0x3273f0(0x17f)]});}catch(_0x3e8128){this[_0x3273f0(0x184)][_0x3273f0(0x148)]('Failed\x20to\x20get\x20available\x20agents',{'error':_0x3e8128['message'],'stack':_0x3e8128['stack']}),_0x6aa35['status'](0x1f4)['json']({'success':![],'error':_0x3e8128['message']});}}),this['app'][_0x192a0a(0x19e)]('/api/agents/:agentId/metadata',async(_0x11dfb5,_0x686e16)=>{const _0x320b6c=_0x192a0a;try{const {agentId:_0x7aceb1}=_0x11dfb5['params'],_0x5dee83=this['orchestrator']['config']['project']?.[_0x320b6c(0x22a)]||process[_0x320b6c(0x1d2)](),_0x210066=await this['orchestrator']['stateManager']['getAgentMetadata'](_0x7aceb1,_0x5dee83);_0x686e16[_0x320b6c(0x152)]({'success':!![],'metadata':_0x210066});}catch(_0x3bac6c){this[_0x320b6c(0x184)]['error'](_0x320b6c(0x1d9),{'agentId':_0x11dfb5['params']['agentId'],'error':_0x3bac6c[_0x320b6c(0x21b)]}),_0x686e16[_0x320b6c(0x179)](0x194)[_0x320b6c(0x152)]({'success':![],'error':_0x3bac6c['message']});}}),this[_0x192a0a(0x1c8)][_0x192a0a(0x151)]('/api/agents/import',async(_0x4e4784,_0xc79b2f)=>{const _0x4eea13=_0x192a0a;try{const {agentId:_0x361e80}=_0x4e4784[_0x4eea13(0x1dd)];if(!_0x361e80)return _0xc79b2f[_0x4eea13(0x179)](0x190)[_0x4eea13(0x152)]({'success':![],'error':_0x4eea13(0x1bf)});const _0x14346c=this[_0x4eea13(0x21c)][_0x4eea13(0x197)][_0x4eea13(0x218)]?.['directory']||process['cwd'](),_0x9c6b07=await this['orchestrator']['stateManager'][_0x4eea13(0x214)](_0x361e80,_0x14346c,this['orchestrator']['agentPool']);this[_0x4eea13(0x13e)]&&this['wsManager']['broadcast']({'type':'agent-imported','agent':{'id':_0x9c6b07['id'],'name':_0x9c6b07['name'],'status':_0x9c6b07['status'],'capabilities':_0x9c6b07[_0x4eea13(0x1dc)],'model':_0x9c6b07['currentModel']||_0x9c6b07['preferredModel']}}),this[_0x4eea13(0x184)][_0x4eea13(0x1ea)]('Agent imported successfully',{'agentId':_0x9c6b07['id'],'name':_0x9c6b07['name']}),_0xc79b2f['json']({'success':!![],'agent':{'id':_0x9c6b07['id'],'name':_0x9c6b07['name'],'status':_0x9c6b07['status'],'model':_0x9c6b07[_0x4eea13(0x167)]||_0x9c6b07['preferredModel'],'capabilities':_0x9c6b07[_0x4eea13(0x1dc)],'lastActivity':_0x9c6b07[_0x4eea13(0x20d)]},'message':_0x4eea13(0x15a)+_0x9c6b07[_0x4eea13(0x1e9)]+_0x4eea13(0x164)});}catch(_0x3350b8){this[_0x4eea13(0x184)]['error']('Failed to import agent',{'agentId':_0x4e4784['body']['agentId'],'error':_0x3350b8[_0x4eea13(0x21b)],'stack':_0x3350b8['stack']});const _0x49b8aa=_0x3350b8[_0x4eea13(0x21b)][_0x4eea13(0x1ec)]('already\x20active')?0x199:_0x3350b8['message'][_0x4eea13(0x1ec)]('not\x20found')?0x194:_0x3350b8['message'][_0x4eea13(0x1ec)]('Invalid')?0x190:0x1f4;_0xc79b2f['status'](_0x49b8aa)['json']({'success':![],'error':_0x3350b8['message']});}}),this[_0x192a0a(0x1c8)]['get']('*',(_0x5c028b,_0xd286d)=>{const _0xdcfd5a=a0_0x3ba4d3['join'](__dirname,'../../web-ui/build/index.html');_0xd286d['sendFile'](_0xdcfd5a,_0x4f654f=>{const _0x57461e=a0_0x9b06;_0x4f654f&&_0xd286d[_0x57461e(0x179)](HTTP_STATUS[_0x57461e(0x15d)])['send'](_0x57461e(0x222));});});}[a0_0x6a209e(0x216)](){const _0x450a3a=a0_0x6a209e;this['logger'][_0x450a3a(0x1ea)](_0x450a3a(0x1f1),{'port':this['port'],'host':this[_0x450a3a(0x144)],'wsServerExists':!!this[_0x450a3a(0x1d6)],'httpServerExists':!!this[_0x450a3a(0x1cc)]}),this[_0x450a3a(0x1d6)]['on'](_0x450a3a(0x148),_0x3bdba0=>{const _0x184062=_0x450a3a;this['logger'][_0x184062(0x148)]('WebSocket\x20server\x20error:',{'error':_0x3bdba0[_0x184062(0x21b)],'stack':_0x3bdba0[_0x184062(0x21d)],'port':this[_0x184062(0x17b)]});}),this['wss']['on']('listening',()=>{const _0x51d19f=_0x450a3a;this['logger']['info']('WebSocket\x20server\x20is\x20now\x20listening',{'port':this['port'],'host':this[_0x51d19f(0x144)]});}),this[_0x450a3a(0x1d6)]['on'](_0x450a3a(0x149),(_0xf207e8,_0x154b8a)=>{const _0x560eae=_0x450a3a,_0x5c8a16='conn-'+Date['now']()+'-'+Math['random']()[_0x560eae(0x188)](0x24)[_0x560eae(0x241)](0x2,0x9);this['logger'][_0x560eae(0x1ea)]('WebSocket\x20connection\x20established',{'connectionId':_0x5c8a16,'ip':_0x154b8a[_0x560eae(0x219)]['remoteAddress'],'origin':_0x154b8a[_0x560eae(0x162)][_0x560eae(0x211)],'host':_0x154b8a[_0x560eae(0x162)]['host'],'userAgent':_0x154b8a[_0x560eae(0x162)][_0x560eae(0x1a9)],'url':_0x154b8a[_0x560eae(0x159)]});const _0x375380={'id':_0x5c8a16,'ws':_0xf207e8,'sessionId':null,'connectedAt':new Date()[_0x560eae(0x208)](),'lastActivity':new Date()['toISOString']()};this['connections']['set'](_0x5c8a16,_0x375380),_0xf207e8['on']('message',async _0x35c3c1=>{const _0xcd9740=_0x560eae;try{const _0x10fe9d=JSON[_0xcd9740(0x1bb)](_0x35c3c1['toString']());await this[_0xcd9740(0x1d7)](_0x5c8a16,_0x10fe9d);}catch(_0x3f232b){this[_0xcd9740(0x184)][_0xcd9740(0x148)]('WebSocket\x20message\x20error',{'connectionId':_0x5c8a16,'error':_0x3f232b['message']}),_0xf207e8[_0xcd9740(0x21f)](JSON[_0xcd9740(0x233)]({'type':'error','error':_0x3f232b['message']}));}}),_0xf207e8['on']('close',()=>{const _0xa7e58f=_0x560eae;this['logger']['info']('WebSocket\x20connection\x20closed',{'connectionId':_0x5c8a16}),this[_0xa7e58f(0x1fb)][_0xa7e58f(0x16f)](_0x5c8a16);}),_0xf207e8['send'](JSON['stringify']({'type':_0x560eae(0x1d8),'connectionId':_0x5c8a16,'timestamp':new Date()[_0x560eae(0x208)]()}));});}async[a0_0x6a209e(0x1d7)](_0x2ff9c4,_0x4211af){const _0x12b2d5=a0_0x6a209e,_0x4763c5=this['connections'][_0x12b2d5(0x19e)](_0x2ff9c4);if(!_0x4763c5)return;_0x4763c5['lastActivity']=new Date()['toISOString']();switch(_0x4211af['type']){case'join_session':const _0x39cb35=_0x4211af[_0x12b2d5(0x20c)];_0x4763c5[_0x12b2d5(0x20c)]=_0x39cb35,this[_0x12b2d5(0x184)]['info'](_0x12b2d5(0x215),{'connectionId':_0x2ff9c4,'sessionId':_0x39cb35,'totalConnectionsForSession':Array['from'](this[_0x12b2d5(0x1fb)]['values']())[_0x12b2d5(0x1a7)](_0x5bd228=>_0x5bd228[_0x12b2d5(0x20c)]===_0x39cb35)[_0x12b2d5(0x17f)]}),_0x4763c5['ws']['send'](JSON[_0x12b2d5(0x233)]({'type':'session_joined','sessionId':_0x39cb35}));break;case _0x12b2d5(0x19a):_0x4763c5['ws']['send'](JSON['stringify']({'type':_0x12b2d5(0x155),'timestamp':new Date()['toISOString']()}));break;case'orchestrator_request':try{const _0x1f6bb9={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x4763c5[_0x12b2d5(0x20c)],'action':_0x4211af[_0x12b2d5(0x150)],'payload':_0x4211af[_0x12b2d5(0x13a)],'projectDir':_0x4211af[_0x12b2d5(0x18a)]||process['cwd']()},_0x20a641=await this['orchestrator'][_0x12b2d5(0x1af)](_0x1f6bb9);_0x4763c5['ws'][_0x12b2d5(0x21f)](JSON[_0x12b2d5(0x233)]({'type':'orchestrator_response','requestId':_0x4211af[_0x12b2d5(0x1a8)],'response':_0x20a641}));}catch(_0x250de0){_0x4763c5['ws'][_0x12b2d5(0x21f)](JSON[_0x12b2d5(0x233)]({'type':_0x12b2d5(0x148),'requestId':_0x4211af[_0x12b2d5(0x1a8)],'error':_0x250de0['message']}));}break;default:this[_0x12b2d5(0x184)][_0x12b2d5(0x166)](_0x12b2d5(0x242),{'connectionId':_0x2ff9c4,'type':_0x4211af[_0x12b2d5(0x207)]});}}[a0_0x6a209e(0x229)](_0x51ae72,_0x561e60){const _0x3352ec=a0_0x6a209e,_0x2a7cfe=Array['from'](this[_0x3352ec(0x1fb)][_0x3352ec(0x1b4)]())[_0x3352ec(0x1a7)](_0x158ea1=>_0x158ea1['sessionId']===_0x51ae72);let _0x4edfbe=[];_0x2a7cfe[_0x3352ec(0x17f)]===0x0&&(_0x4edfbe=Array[_0x3352ec(0x1a2)](this['connections'][_0x3352ec(0x1b4)]()),this['logger']?.['warn'](_0x3352ec(0x1aa),{'targetSessionId':_0x51ae72,'totalConnections':this[_0x3352ec(0x1fb)][_0x3352ec(0x181)],'allSessionIds':Array[_0x3352ec(0x1a2)](this['connections']['values']())['map'](_0x1defd3=>_0x1defd3[_0x3352ec(0x20c)])['filter'](Boolean)}));const _0x193cd4=_0x2a7cfe['length']>0x0?_0x2a7cfe:_0x4edfbe;this['logger']?.[_0x3352ec(0x1ea)]('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x51ae72,'messageType':_0x561e60[_0x3352ec(0x207)],'agentId':_0x561e60['agentId'],'totalConnections':this['connections']['size'],'sessionConnections':_0x2a7cfe[_0x3352ec(0x17f)],'targetConnections':_0x193cd4['length'],'connectionIds':_0x193cd4[_0x3352ec(0x172)](_0x217b2d=>_0x217b2d['id']),'usingFallback':_0x2a7cfe['length']===0x0,'messagePreview':_0x561e60['type']==='autonomous_update'&&_0x561e60['message']?{'messageId':_0x561e60[_0x3352ec(0x21b)]['id'],'messageRole':_0x561e60['message']['role'],'contentLength':_0x561e60[_0x3352ec(0x21b)][_0x3352ec(0x17d)]?.['length'],'hasToolResults':!!_0x561e60['message'][_0x3352ec(0x187)]}:undefined});for(const _0x7f31cb of _0x193cd4){try{const _0x4ff43e={..._0x561e60,'timestamp':new Date()[_0x3352ec(0x208)]()};_0x7f31cb['ws'][_0x3352ec(0x21f)](JSON[_0x3352ec(0x233)](_0x4ff43e)),this[_0x3352ec(0x184)]?.[_0x3352ec(0x1ea)]('✅\x20WebSocket\x20message\x20sent\x20to\x20connection:',{'connectionId':_0x7f31cb['id'],'messageType':_0x561e60['type'],'agentId':_0x561e60[_0x3352ec(0x182)]});}catch(_0x283296){this[_0x3352ec(0x184)][_0x3352ec(0x166)](_0x3352ec(0x1d4),{'connectionId':_0x7f31cb['id'],'sessionId':_0x51ae72,'messageType':_0x561e60[_0x3352ec(0x207)],'error':_0x283296[_0x3352ec(0x21b)]});}}}async[a0_0x6a209e(0x228)](){return new Promise((_0x3d2b8e,_0x30f630)=>{const _0x15be3d=a0_0x9b06;this[_0x15be3d(0x1cc)][_0x15be3d(0x145)](this['port'],this[_0x15be3d(0x144)],_0xe7fa00=>{const _0x4edb66=_0x15be3d;_0xe7fa00?(this['logger']['error']('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0xe7fa00[_0x4edb66(0x21b)],'port':this[_0x4edb66(0x17b)],'host':this['host']}),_0x30f630(_0xe7fa00)):(this['isRunning']=!![],this['logger'][_0x4edb66(0x1ea)]('HTTP\x20server\x20started\x20successfully',{'port':this['port'],'host':this[_0x4edb66(0x144)],'httpUrl':'http://'+this['host']+':'+this['port'],'wsUrl':_0x4edb66(0x1db)+this['host']+':'+this['port'],'wsServerAttached':!!this['wss'],'wsConnections':this['connections'][_0x4edb66(0x181)]}),setTimeout(async()=>{const _0x3a2e97=_0x4edb66;await this[_0x3a2e97(0x19d)]();},0x3e8),_0x3d2b8e());}),this['server']['on']('error',_0x3ecda9=>{const _0x36af2f=_0x15be3d;this[_0x36af2f(0x184)][_0x36af2f(0x148)](_0x36af2f(0x183),{'error':_0x3ecda9[_0x36af2f(0x21b)],'stack':_0x3ecda9['stack'],'port':this[_0x36af2f(0x17b)]});});});}async[a0_0x6a209e(0x19d)](){const _0x33aaa0=a0_0x6a209e;try{const {default:_0x2f51ac}=await import('ws'),_0xbae724=new _0x2f51ac('ws://localhost:'+this[_0x33aaa0(0x17b)]);_0xbae724['on']('open',()=>{const _0x38b0d0=_0x33aaa0;this['logger']['info'](_0x38b0d0(0x18d),{'port':this[_0x38b0d0(0x17b)],'url':'ws://localhost:'+this[_0x38b0d0(0x17b)]}),_0xbae724['close']();}),_0xbae724['on']('error',_0x34d7df=>{const _0x51106a=_0x33aaa0;this[_0x51106a(0x184)]['error']('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this['port'],'url':'ws://localhost:'+this['port'],'error':_0x34d7df[_0x51106a(0x21b)],'code':_0x34d7df[_0x51106a(0x146)]});}),_0xbae724['on'](_0x33aaa0(0x1d1),(_0x4660b9,_0x262da3)=>{const _0x263acb=_0x33aaa0;_0x4660b9===0x3e8&&this[_0x263acb(0x184)]['info']('WebSocket\x20test\x20connection\x20closed\x20cleanly');}),setTimeout(()=>{const _0x264cf1=_0x33aaa0;_0xbae724['readyState']===_0x2f51ac['CONNECTING']&&(this[_0x264cf1(0x184)][_0x264cf1(0x148)](_0x264cf1(0x16e),{'port':this[_0x264cf1(0x17b)],'url':'ws://localhost:'+this[_0x264cf1(0x17b)],'readyState':_0xbae724[_0x264cf1(0x1e2)]}),_0xbae724[_0x264cf1(0x1ba)]());},0x1388);}catch(_0x559bf0){this['logger'][_0x33aaa0(0x148)](_0x33aaa0(0x225),{'error':_0x559bf0['message'],'stack':_0x559bf0['stack']});}}[a0_0x6a209e(0x1c0)](_0x24ef29){const _0x470c4f=a0_0x6a209e;this[_0x470c4f(0x230)]=_0x24ef29,this['logger']?.['info'](_0x470c4f(0x191),{'hasManager':!!_0x24ef29});}['_getVendorFromModel'](_0x35171e){const _0x1b7495=a0_0x6a209e;if(!_0x35171e)return null;const _0x1c291c=_0x35171e['toLowerCase']();if(_0x1c291c['includes'](_0x1b7495(0x22b))||_0x1c291c['includes']('claude'))return'anthropic';else{if(_0x1c291c[_0x1b7495(0x1ec)]('openai')||_0x1c291c[_0x1b7495(0x1ec)]('gpt'))return _0x1b7495(0x18b);else{if(_0x1c291c['includes']('deepseek'))return _0x1b7495(0x190);else{if(_0x1c291c[_0x1b7495(0x1ec)](_0x1b7495(0x1f6)))return'microsoft';}}}return null;}[a0_0x6a209e(0x199)](){const _0x11df2e=a0_0x6a209e;return{'isRunning':this[_0x11df2e(0x168)],'port':this['port'],'host':this['host'],'connections':this['connections'][_0x11df2e(0x181)],'sessions':this[_0x11df2e(0x13f)]['size'],'url':'http://'+this['host']+':'+this['port']};}async[a0_0x6a209e(0x198)](){const _0x49ea68=a0_0x6a209e;if(!this[_0x49ea68(0x168)])return;this['logger']['info']('Shutting\x20down\x20web\x20server...');for(const _0x1ef83e of this['connections']['values']()){_0x1ef83e['ws']['close']();}return this['connections'][_0x49ea68(0x227)](),this['wss'][_0x49ea68(0x1d1)](),new Promise(_0x355f77=>{this['server']['close'](()=>{const _0x2bfe6b=a0_0x9b06;this['isRunning']=![],this['logger']['info'](_0x2bfe6b(0x14c)),_0x355f77();});});}}export default WebServer;if(import.meta.url==='file://'+process['argv'][0x1]){const simpleLogger={'info':(_0xe8b21d,_0x1dbcdd)=>console[a0_0x6a209e(0x1e8)](a0_0x6a209e(0x1f4)+_0xe8b21d,_0x1dbcdd?JSON[a0_0x6a209e(0x233)](_0x1dbcdd,null,0x2):''),'error':(_0x138c8e,_0x252b82)=>console[a0_0x6a209e(0x148)](a0_0x6a209e(0x17a)+_0x138c8e,_0x252b82?JSON['stringify'](_0x252b82,null,0x2):''),'warn':(_0x1f2245,_0x55fe26)=>console['warn'](a0_0x6a209e(0x223)+_0x1f2245,_0x55fe26?JSON[a0_0x6a209e(0x233)](_0x55fe26,null,0x2):''),'debug':(_0x4c6c28,_0x8c2ea5)=>console[a0_0x6a209e(0x1e8)](a0_0x6a209e(0x1fa)+_0x4c6c28,_0x8c2ea5?JSON['stringify'](_0x8c2ea5,null,0x2):'')},mockOrchestrator={'processAction':async(_0x361b3a,_0x38c30d)=>{const _0x1438a3=a0_0x6a209e;simpleLogger[_0x1438a3(0x1ea)](_0x1438a3(0x1c9),{'action':_0x361b3a,'data':_0x38c30d});switch(_0x361b3a){case ORCHESTRATOR_ACTIONS['LIST_AGENTS']:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x1438a3(0x1b0)]:return{'success':!![],'data':{'id':_0x1438a3(0x163)+Date['now'](),'name':_0x38c30d['name']||'New\x20Agent','status':'active','model':_0x38c30d['model']||_0x1438a3(0x1fc),'systemPrompt':_0x38c30d['systemPrompt']||'You\x20are\x20a\x20helpful\x20AI\x20assistant.'}};case ORCHESTRATOR_ACTIONS[_0x1438a3(0x1cd)]:return{'success':!![],'data':{'message':{'id':_0x1438a3(0x15c)+Date['now'](),'content':'Echo:\x20'+_0x38c30d['message'],'timestamp':new Date()[_0x1438a3(0x208)]()}}};default:return{'success':![],'error':_0x1438a3(0x1ce)+_0x361b3a};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':a0_0x6a209e(0x1de)});console[a0_0x6a209e(0x1e8)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server['startServer']()[a0_0x6a209e(0x1e5)](()=>{const _0x1430e6=a0_0x6a209e,_0x2983fb=server['getStatus']();console['log'](_0x1430e6(0x1a6)+_0x2983fb[_0x1430e6(0x159)]),console[_0x1430e6(0x1e8)](_0x1430e6(0x204)),console['log'](_0x1430e6(0x224));})[a0_0x6a209e(0x236)](_0xf1e405=>{const _0x21a5b5=a0_0x6a209e;console[_0x21a5b5(0x148)](_0x21a5b5(0x186),_0xf1e405['message']),process[_0x21a5b5(0x1b9)](0x1);}),process['on'](a0_0x6a209e(0x173),async()=>{const _0x24607b=a0_0x6a209e;console[_0x24607b(0x1e8)](_0x24607b(0x18f)),await server['shutdown'](),process['exit'](0x0);});}
|
|
1
|
+
const a0_0x284faf=a0_0x29b9;function a0_0x29b9(_0x3b62e2,_0xce3177){_0x3b62e2=_0x3b62e2-0x197;const _0x7b20d=a0_0x7b20();let _0x29b9c3=_0x7b20d[_0x3b62e2];if(a0_0x29b9['iacnTJ']===undefined){var _0x57021b=function(_0x3db0b4){const _0x4ae1c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f81ab='',_0x5b6ab7='';for(let _0x1dd5ef=0x0,_0xeab8bf,_0x21455f,_0x22e8fc=0x0;_0x21455f=_0x3db0b4['charAt'](_0x22e8fc++);~_0x21455f&&(_0xeab8bf=_0x1dd5ef%0x4?_0xeab8bf*0x40+_0x21455f:_0x21455f,_0x1dd5ef++%0x4)?_0x3f81ab+=String['fromCharCode'](0xff&_0xeab8bf>>(-0x2*_0x1dd5ef&0x6)):0x0){_0x21455f=_0x4ae1c2['indexOf'](_0x21455f);}for(let _0x3ccf83=0x0,_0x5c5a4e=_0x3f81ab['length'];_0x3ccf83<_0x5c5a4e;_0x3ccf83++){_0x5b6ab7+='%'+('00'+_0x3f81ab['charCodeAt'](_0x3ccf83)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b6ab7);};a0_0x29b9['cWCKUT']=_0x57021b,a0_0x29b9['WeQIFY']={},a0_0x29b9['iacnTJ']=!![];}const _0x3dba11=_0x7b20d[0x0],_0x564abd=_0x3b62e2+_0x3dba11,_0x1fa0a2=a0_0x29b9['WeQIFY'][_0x564abd];return!_0x1fa0a2?(_0x29b9c3=a0_0x29b9['cWCKUT'](_0x29b9c3),a0_0x29b9['WeQIFY'][_0x564abd]=_0x29b9c3):_0x29b9c3=_0x1fa0a2,_0x29b9c3;}(function(_0x2594ec,_0x376ef6){const _0x19ab52=a0_0x29b9,_0x2dd4f0=_0x2594ec();while(!![]){try{const _0x155950=parseInt(_0x19ab52(0x1a7))/0x1*(parseInt(_0x19ab52(0x225))/0x2)+-parseInt(_0x19ab52(0x19e))/0x3+parseInt(_0x19ab52(0x199))/0x4+parseInt(_0x19ab52(0x266))/0x5+-parseInt(_0x19ab52(0x1f6))/0x6+parseInt(_0x19ab52(0x289))/0x7*(-parseInt(_0x19ab52(0x218))/0x8)+-parseInt(_0x19ab52(0x1cd))/0x9*(-parseInt(_0x19ab52(0x1f7))/0xa);if(_0x155950===_0x376ef6)break;else _0x2dd4f0['push'](_0x2dd4f0['shift']());}catch(_0x444985){_0x2dd4f0['push'](_0x2dd4f0['shift']());}}}(a0_0x7b20,0xefcc9));import a0_0x3f81ab from'express';import{createServer}from'http';function a0_0x7b20(){const _0x247957=['CMvHzhLtDgf0zq','CgfYyw1Z','yxbW','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','D3nnyw5Hz2vY','zgLYzwn0B3j5','v2vIihnLCNzLCIbPBML0AwfSAxPLza','Cg9UzW','y2XVC2u','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9TB2rLBhm','C2v0','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','ANnVBG','twvZC2fNzsbWCM9JzxnZB3iGBM90igf2ywLSywjSzq','sw52ywXPzcbZzxnZAw9U','B3jPz2LU','ywn0Aw9U','zMLSzuLK','Bg9N','yxbPs2v5','Ahr0CdOVlW','BwvZC2fNzq','ywDLBNrjzcbPCYbYzxf1AxjLzcbPBIbYzxf1zxn0igjVzhK','u0Lhsu5u','CxvLCNK','sw52ywXPza','C3rHCNrtzxj2zxi','tM8GqvbjigTLExmGzM91BMqGzM9YihnLC3nPB24','zNjVBq','y29Kzq','CMvSyxrPDMu','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','ywDLBNrjza','Bw9KzwW','yMfZzw5HBwu','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','C3rVCef1Dg9UB21VDxnfEgvJDxrPB24','CMfUzg9T','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','mtiWmdGYnwnxvMncEG','ywDLBNq','C3rHy2S','tK9ux0zpvu5e','Dhj1zq','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','Bwv0Ag9K','Aw5JBhvKzxm','DhLWzq','BgvUz3rO','ue9tva','DMfSDwvZ','v0vc','lI4VlI4VD2vIlxvPl2j1AwXK','qKfex1jfuvvfu1q','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','y2f0zwDVCNK','l3rTCc9SB3HPys1PBwfNzxm','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','yxv0Ag9YAxPHDgLVBG','ywDLBNrFBw9Kzv9JAgfUz2vK','CgH5C2LJywXSEurLBgv0zwq','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','yxbPs2v5twfUywDLCG','Aw5MBW','C2vZC2LVBKLK','ywDLBNqT','BMfTzq','D3m6lY8','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','ChjVy2vZC1jLCxvLC3q','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','yM9KEq','DxbKyxrLzef0','mJfrAvzbrwq','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','Dg9mB3DLCKnHC2u','l2fWAs9MAwXLlwv4CgXVCMvY','qwnJzxnZlunVBNrYB2WTqwXSB3CTtwv0Ag9KCW','B3jJAgvZDhjHDg9Y','teLtvf9br0vovfm','Dg9ju09tDhjPBMC','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','mty1nJu2ogDyquz5wG','qvbjigTLExmGDxbKyxrLzcbZDwnJzxnZzNvSBhK','C29YDa','BwvZC2fNzvbYB2nLC3nVCG','rMfPBgvKihrVihnLDcbbueKGA2v5CW','mtKWmJi0mhj1DKzkqG','Cg9ZDa','DxnLCI1Hz2vUDa','Dg9Nz2XLqwn0AxzL','l2fWAs9RzxLZ','A2v5CW','B3bLBMfP','zgLYzwn0B3j5qwnJzxnZ','l2fWAs9RzxLZlZPZzxnZAw9Uswq','mtu0nti4n1n4rKf6qW','C2L6zq','ywDLBNrqB29S','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','CMvHzgrPCG','zxjYB3i','C2vZC2LVBNm','ChjVAMvJDa','D3nZ','qwDLBNqGBw9Kzsb1CgrHDguGCMvXDwvZDgvKihDPDgHVDxqGC2vZC2LVBIbjra','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','AgvHzgvY','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhmVDxbSB2fK','l2fWAs9LEhbSB3jLCI9PBMzV','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','C2v0DxbsB3v0zxm','C3vJy2vZCW','w0rfqLvhxsa','sw1Hz2uGC2vYDMvKihn1y2nLC3nMDwXSEq','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','D29YA2LUz0rPCMvJDg9YEq','qwnJzxnZlunVBNrYB2WTqwXSB3CTt3jPz2LU','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','AM9PBG','y29UzMLN','yMLYDgH0Aw1L','C3LZDgvTuhjVBxb0','r0vu','zxHPDa','y29UBI0','y29UBMvJDgLVBNm','AxneAxjLy3rVCNK','ms4WlJa','C3rYAw5NAwz5','q1jfqvrfx0fhru5u','C2vUzezPBgu','t1busu9ouW','mZi3nNPdt1r0CG','z3b0','C2vUza','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','Bw9Kzq','Bg9Nz2vY','z2v0u2vZC2LVBKTLExm','yNjVywrJyxn0','AgvHBhrOEq','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','BwLJCM9ZB2z0','C3rHDhvZvgv4Da','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','Aw1WB3j0qxjJAgL2zwrbz2vUDa','AxnsDw5UAw5N','tMv3iefNzw50','w0LorK9Dia','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','C3rHDhvZ','lI4VlI4VD2vIlxvPl2j1AwXKl2LUzgv4lMH0BwW','BwfW','Cgf5Bg9Hza','C2v0DxbnAwrKBgv3yxjL','DgHLBG','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','l2fWAs9ZzxnZAw9UCW','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','ywn0AxzL','DgfYz2v0qwDLBNrjzcbPCYbYzxf1AxjLza','mc4WlJaUma','C2vZC2LVBKLe','rMfPBgvKihrVihn0B3aGyxv0B25VBw91CYbLEgvJDxrPB24','CMvXDwvZDeLK','B3jJAgvZDhjHDg9Yx3jLCxvLC3q','z2v0','z2v0x2fNzw50x3n0yxr1CW','Aw1Hz2vZ','z2v0qxr0ywnOBwvUDhm','rMfPBgvKihrVihrVz2DSzsbHDhrHy2HTzw50','ChvZAa','mJq5mZG0mgzguMPPuW','mZK5ndbtzMf3wNe','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','D3m6lY9SB2nHBgHVC3q6','v2vIu29JA2v0igPVAw5LzcbZzxnZAw9U','y29UBMvJDgvK','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','C3rHDgLJ','C2vYDMvY','sw1Hz2uGC2vYDMLUzYbLCNjVCG','CgLUzW','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','ChjVAMvJDerPCG','Cgf0y2G','BgLZDgvU','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','uMvMzxjLBMnLihjLBw92zwq','l2fWAs9SBg0Vy2HHDa','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','y3DK','zgvSzxrL','Ag9ZDa','mtbTyG','zMLSDgvY','AxngAwXL','CMvZB2X2zq','CMvMCMvZAa','qwDLBNqG','y29UDgvUDa','yxjNDG','y3vYCMvUDe1VzgvS','zgvLChnLzwS','DxnL','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','ndmYmZKYogrmyLz4CG','Dg9tDhjPBMC','D2fYBG','z2v0qxr0ywnOBwvUDa','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','Bg94AwfbCgLlzxK','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50','C3rHDa','Cg9YDa','zMLSzq','zMLSzuv4CgXVCMvYtw9KDwXL','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','mNDov3H1Da','C3rHDgvnyw5Hz2vY','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','CMvX','y2XLyxi','CMvTB3zLu2vZC2LVBKTLExm','CgfYC2u','y3vYCMvUDfrHC2S','y2fWywjPBgL0AwvZ','y2XHDwrL','sfruucbZzxj2zxiGC3rHCNrLzcbZDwnJzxnZzNvSBhK','CM9Szq','8j+AGcbtDgfYDgLUzYbmB3HPysbxzwiGu2vYDMvYigLUihn0yw5KywXVBMuGBw9Kzs4UlG','yw50AhjVCgLJ','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','l2fWAs9SBg0VBw9KzwXZ','te9ysufFqvbjx0Tfwq','DxrMoa','BM93','yNjVywrJyxn0vg9tzxnZAw9U','Bw9KzwXZ','C3vIC3rY','rMfPBgvKihrVihvWBg9HzcbMAwXLigf0DgfJAg1LBNq','qMvHCMvYia'];a0_0x7b20=function(){return _0x247957;};return a0_0x7b20();}import{WebSocketServer}from'ws';import a0_0x5b6ab7 from'path';import{promises as a0_0x1dd5ef}from'fs';import{fileURLToPath}from'url';import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS,HTTP_STATUS,AGENT_MODES}from'../utilities/constants.js';import{initFileExplorerModule}from'../modules/fileExplorer/index.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x5b6ab7['dirname'](__filename);class WebServer{constructor(_0xeab8bf,_0x21455f,_0x22e8fc={}){const _0x437fe1=a0_0x29b9;this['orchestrator']=_0xeab8bf,this['logger']=_0x21455f,this[_0x437fe1(0x1c0)]=_0x22e8fc,this['port']=_0x22e8fc[_0x437fe1(0x221)]||0x1f90,this['host']=_0x22e8fc['host']||'localhost',this['app']=a0_0x3f81ab(),this[_0x437fe1(0x1fe)]=createServer(this[_0x437fe1(0x23f)]),this[_0x437fe1(0x1af)]=new WebSocketServer({'server':this[_0x437fe1(0x1fe)],'verifyClient':_0x3ccf83=>{const _0x3eef35=_0x437fe1;return this['logger']?.[_0x3eef35(0x27f)](_0x3eef35(0x1bd),{'origin':_0x3ccf83['origin'],'host':_0x3ccf83['req']['headers'][_0x3eef35(0x20b)],'userAgent':_0x3ccf83['req']['headers']['user-agent'],'url':_0x3ccf83[_0x3eef35(0x228)]['url']}),!![];}}),this[_0x437fe1(0x1c6)]=new Map(),this['sessions']=new Map(),this['apiKeyManager']=null,this['isRunning']=![];}async['initialize'](){const _0x436681=a0_0x29b9;try{this[_0x436681(0x1e4)](),this[_0x436681(0x1b6)](),this['setupWebSocket'](),await this[_0x436681(0x259)](),this[_0x436681(0x1d2)][_0x436681(0x27f)](_0x436681(0x243),{'port':this['port'],'host':this[_0x436681(0x20b)],'url':_0x436681(0x253)+this[_0x436681(0x20b)]+':'+this[_0x436681(0x221)]});}catch(_0x5c5a4e){this[_0x436681(0x1d2)]['error']('Web\x20server\x20initialization\x20failed',{'error':_0x5c5a4e['message'],'stack':_0x5c5a4e['stack']});throw _0x5c5a4e;}}['setupMiddleware'](){const _0x3b8ca7=a0_0x29b9;this[_0x3b8ca7(0x23f)]['use']((_0x4e16da,_0x55d048,_0x31f59b)=>{const _0x4693b5=_0x3b8ca7;_0x55d048[_0x4693b5(0x1b2)](_0x4693b5(0x1bc),'*'),_0x55d048[_0x4693b5(0x1b2)](_0x4693b5(0x28d),'GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0x55d048['header']('Access-Control-Allow-Headers','Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x4e16da['method']===_0x4693b5(0x1cc)?_0x55d048['sendStatus'](HTTP_STATUS['OK']):_0x31f59b();}),this['app'][_0x3b8ca7(0x216)](a0_0x3f81ab['json']({'limit':_0x3b8ca7(0x20c)})),this[_0x3b8ca7(0x23f)][_0x3b8ca7(0x216)](a0_0x3f81ab['urlencoded']({'extended':!![],'limit':'10mb'})),this['fileExplorerModule']=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app'][_0x3b8ca7(0x216)](_0x3b8ca7(0x28c),this[_0x3b8ca7(0x223)]['router']);const _0x2b6355=a0_0x5b6ab7[_0x3b8ca7(0x1bf)](__dirname,_0x3b8ca7(0x273));this[_0x3b8ca7(0x23f)][_0x3b8ca7(0x216)](a0_0x3f81ab[_0x3b8ca7(0x1fd)](_0x2b6355)),this[_0x3b8ca7(0x23f)]['use']((_0x224d3e,_0x349750,_0x4d7c76)=>{const _0x5322bf=_0x3b8ca7;this[_0x5322bf(0x1d2)]['debug'](_0x224d3e[_0x5322bf(0x26c)]+'\x20'+_0x224d3e['path'],{'ip':_0x224d3e['ip'],'userAgent':_0x224d3e['get']('User-Agent')}),_0x4d7c76();});}[a0_0x284faf(0x1b6)](){const _0x4fd23f=a0_0x284faf;this['app'][_0x4fd23f(0x1f0)]('/api/health',async(_0x2c39c4,_0x5b7889)=>{const _0x30c401=_0x4fd23f;try{const _0x15b14a=a0_0x5b6ab7[_0x30c401(0x1bf)](__dirname,'../../package.json'),_0x27d9d2=JSON['parse'](await a0_0x1dd5ef['readFile'](_0x15b14a,_0x30c401(0x236)));_0x5b7889['json']({'status':'healthy','version':_0x27d9d2['version']||_0x30c401(0x1c8),'timestamp':new Date()[_0x30c401(0x197)]()});}catch(_0x482e0c){_0x5b7889['json']({'status':_0x30c401(0x1d5),'version':_0x30c401(0x1c8),'timestamp':new Date()[_0x30c401(0x197)]()});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)](_0x4fd23f(0x1e7),async(_0x146b0d,_0x3a98c1)=>{const _0x33fe8c=_0x4fd23f;try{const _0x4b7a04='web-'+Date['now']()+'-'+Math[_0x33fe8c(0x264)]()['toString'](0x24)[_0x33fe8c(0x23a)](0x2,0x9),_0x430730=_0x146b0d['body']['projectDir']||process['cwd'](),_0x58908c={'id':_0x4b7a04,'projectDir':_0x430730,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this['sessions'][_0x33fe8c(0x248)](_0x4b7a04,_0x58908c),_0x3a98c1[_0x33fe8c(0x24b)]({'success':!![],'session':_0x58908c});}catch(_0x632e6e){_0x3a98c1['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x632e6e['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)]('/api/orchestrator',async(_0xc7f59d,_0x26238)=>{const _0x1419e0=_0x4fd23f;try{const _0x554bce={'interface':INTERFACE_TYPES[_0x1419e0(0x272)],'sessionId':_0xc7f59d['body']['sessionId'],'action':_0xc7f59d[_0x1419e0(0x287)][_0x1419e0(0x24f)],'payload':_0xc7f59d['body']['payload'],'projectDir':_0xc7f59d['body'][_0x1419e0(0x202)]||process['cwd']()},_0x4e197a=await this[_0x1419e0(0x28e)][_0x1419e0(0x285)](_0x554bce);this[_0x1419e0(0x238)](_0x554bce['sessionId'],{'type':_0x1419e0(0x24a),'action':_0x554bce['action'],'response':_0x4e197a}),_0x26238['json'](_0x4e197a);}catch(_0x4742bf){this[_0x1419e0(0x1d2)]['error']('Orchestrator\x20API\x20error',{'error':_0x4742bf['message'],'body':_0xc7f59d['body']}),_0x26238['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x1419e0(0x24b)]({'success':![],'error':_0x4742bf['message']});}}),this['app']['get']('/api/files',async(_0x3a4e5c,_0x24a05f)=>{const _0x4ece20=_0x4fd23f;try{const {path:_0x59ceac,projectDir:_0x656dc}=_0x3a4e5c[_0x4ece20(0x257)],_0x293cb7=a0_0x5b6ab7['resolve'](_0x656dc||process[_0x4ece20(0x209)](),_0x59ceac||'.'),_0x100b40=await a0_0x1dd5ef[_0x4ece20(0x220)](_0x293cb7);if(_0x100b40[_0x4ece20(0x1c7)]()){const _0xffa0ad=await a0_0x1dd5ef['readdir'](_0x293cb7,{'withFileTypes':!![]}),_0x3ae57e=_0xffa0ad['map'](_0x15907d=>({'name':_0x15907d['name'],'type':_0x15907d[_0x4ece20(0x1c7)]()?'directory':_0x4ece20(0x222),'path':a0_0x5b6ab7['join'](_0x59ceac||'.',_0x15907d[_0x4ece20(0x282)])}));_0x24a05f['json']({'success':!![],'files':_0x3ae57e});}else{const _0x392e17=await a0_0x1dd5ef['readFile'](_0x293cb7,'utf8');_0x24a05f[_0x4ece20(0x24b)]({'success':!![],'content':_0x392e17,'type':'file'});}}catch(_0x59492f){_0x24a05f['status'](HTTP_STATUS[_0x4ece20(0x269)])['json']({'success':![],'error':_0x59492f['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)]('/api/files/upload',async(_0x30d02f,_0x4f4437)=>{const _0x33ab67=_0x4fd23f;try{const {fileName:_0x8e908f,content:_0x36fb7a,projectDir:_0x3666e8}=_0x30d02f[_0x33ab67(0x287)],_0x1a9d5d=_0x3666e8||process[_0x33ab67(0x209)](),_0x1c87fc=a0_0x5b6ab7['resolve'](_0x1a9d5d,_0x8e908f);await a0_0x1dd5ef['mkdir'](_0x1a9d5d,{'recursive':!![]}),await a0_0x1dd5ef['writeFile'](_0x1c87fc,_0x36fb7a,'utf8'),_0x4f4437['json']({'success':!![],'message':_0x33ab67(0x1df),'path':_0x1c87fc});}catch(_0x8b6015){_0x4f4437['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x33ab67(0x24b)]({'success':![],'error':_0x8b6015[_0x33ab67(0x254)]});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x1f0)]('/api/explorer',async(_0x1669db,_0x236798)=>{const _0x9f9544=_0x4fd23f;try{const {path:_0x5208ce,showHidden:showHidden=![]}=_0x1669db[_0x9f9544(0x257)],_0x49c2c1=_0x5208ce||process[_0x9f9544(0x209)](),_0x2ef7c3=a0_0x5b6ab7[_0x9f9544(0x20f)](_0x49c2c1),_0x5b1260=a0_0x5b6ab7['normalize'](_0x2ef7c3),_0x36ef14=await a0_0x1dd5ef['stat'](_0x5b1260);if(!_0x36ef14['isDirectory']())return _0x236798[_0x9f9544(0x1e0)](HTTP_STATUS[_0x9f9544(0x274)])[_0x9f9544(0x24b)]({'success':![],'error':'Path\x20is\x20not\x20a\x20directory'});const _0x4fad58=await a0_0x1dd5ef[_0x9f9544(0x1ab)](_0x5b1260,{'withFileTypes':!![]}),_0x31eb42=await Promise['all'](_0x4fad58[_0x9f9544(0x20d)](_0x91bc79=>showHidden===_0x9f9544(0x26a)||!_0x91bc79['name']['startsWith']('.'))['map'](async _0x473567=>{const _0x2be6c1=_0x9f9544,_0x5755e4=a0_0x5b6ab7[_0x2be6c1(0x1bf)](_0x5b1260,_0x473567[_0x2be6c1(0x282)]),_0x57b0ef=await a0_0x1dd5ef['stat'](_0x5755e4)['catch'](()=>null);return{'name':_0x473567['name'],'type':_0x473567[_0x2be6c1(0x1c7)]()?'directory':_0x2be6c1(0x222),'path':_0x5755e4,'relativePath':a0_0x5b6ab7[_0x2be6c1(0x25d)](process[_0x2be6c1(0x209)](),_0x5755e4),'size':_0x57b0ef?.['size']||0x0,'modified':_0x57b0ef?.['mtime']||null,'isHidden':_0x473567['name']['startsWith']('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x31eb42[_0x9f9544(0x19b)]((_0x1f6c44,_0x28647e)=>{const _0x58ce68=_0x9f9544;if(_0x1f6c44['type']!==_0x28647e[_0x58ce68(0x26e)])return _0x1f6c44[_0x58ce68(0x26e)]===_0x58ce68(0x242)?-0x1:0x1;return _0x1f6c44[_0x58ce68(0x282)]['localeCompare'](_0x28647e[_0x58ce68(0x282)]);});const _0x56fb19=a0_0x5b6ab7['dirname'](_0x5b1260),_0xe66de5=_0x56fb19!==_0x5b1260;_0x236798['json']({'success':!![],'currentPath':_0x5b1260,'currentRelativePath':a0_0x5b6ab7[_0x9f9544(0x25d)](process[_0x9f9544(0x209)](),_0x5b1260),'parentPath':_0xe66de5?_0x56fb19:null,'items':_0x31eb42,'totalItems':_0x31eb42['length'],'directories':_0x31eb42['filter'](_0x863e48=>_0x863e48['type']==='directory')['length'],'files':_0x31eb42[_0x9f9544(0x20d)](_0x4d4204=>_0x4d4204[_0x9f9544(0x26e)]===_0x9f9544(0x222))['length']});}catch(_0x1aee29){_0x236798[_0x9f9544(0x1e0)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x1aee29['message'],'code':_0x1aee29[_0x9f9544(0x25c)]});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)]('/api/explorer/mkdir',async(_0x4fb1eb,_0x1d6235)=>{const _0x2c55b3=_0x4fd23f;try{const {path:_0x38e649,name:_0xc9cd57}=_0x4fb1eb['body'],_0x508a2a=a0_0x5b6ab7['resolve'](_0x38e649,_0xc9cd57);await a0_0x1dd5ef['mkdir'](_0x508a2a,{'recursive':![]}),_0x1d6235['json']({'success':!![],'path':_0x508a2a,'relativePath':a0_0x5b6ab7['relative'](process[_0x2c55b3(0x209)](),_0x508a2a)});}catch(_0x34484b){_0x1d6235[_0x2c55b3(0x1e0)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x2c55b3(0x24b)]({'success':![],'error':_0x34484b['message'],'code':_0x34484b[_0x2c55b3(0x25c)]});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x1f0)](_0x4fd23f(0x1b4),async(_0x1de992,_0x13389d)=>{const _0x5091a2=_0x4fd23f;try{const {path:_0x41829a}=_0x1de992[_0x5091a2(0x257)],_0x590539=a0_0x5b6ab7['resolve'](_0x41829a),_0x457caa=await a0_0x1dd5ef[_0x5091a2(0x220)](_0x590539);_0x13389d[_0x5091a2(0x24b)]({'success':!![],'path':_0x590539,'relativePath':a0_0x5b6ab7['relative'](process['cwd'](),_0x590539),'isDirectory':_0x457caa['isDirectory'](),'isFile':_0x457caa['isFile'](),'size':_0x457caa[_0x5091a2(0x1a8)],'created':_0x457caa[_0x5091a2(0x1c1)],'modified':_0x457caa['mtime'],'accessed':_0x457caa['atime']});}catch(_0x5f0314){_0x13389d['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x5091a2(0x24b)]({'success':![],'error':_0x5f0314['message'],'code':_0x5f0314[_0x5091a2(0x25c)]});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)](_0x4fd23f(0x207),async(_0x2942aa,_0x2125cd)=>{const _0x42b283=_0x4fd23f;try{const {sessionId:_0x50dd9f,model:_0x36de8a,platformProvided:_0x1db0c0}=_0x2942aa[_0x42b283(0x287)];if(!_0x50dd9f)return _0x2125cd['status'](0x190)['json']({'error':'Session\x20ID\x20is\x20required'});let _0x3d2872=null,_0x534662=null;if(this['apiKeyManager']){const _0x449306=this[_0x42b283(0x27e)]['getKeysForRequest'](_0x50dd9f,{'platformProvided':_0x1db0c0||![],'vendor':this['_getVendorFromModel'](_0x36de8a)});_0x3d2872=_0x449306[_0x42b283(0x21d)],_0x534662=_0x449306['vendorApiKey'];}!_0x3d2872&&(_0x3d2872=this['config']['loxiaApiKey']||process['env'][_0x42b283(0x235)]);!_0x3d2872&&_0x2942aa['body'][_0x42b283(0x252)]&&(_0x3d2872=_0x2942aa['body']['apiKey']);if(!_0x3d2872)return this[_0x42b283(0x1d2)][_0x42b283(0x21a)]('No\x20API\x20key\x20available\x20for\x20chat\x20request',{'sessionId':_0x50dd9f,'model':_0x36de8a,'platformProvided':_0x1db0c0,'hasSessionManager':!!this['apiKeyManager']}),_0x2125cd['status'](0x191)['json']({'error':'No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.'});const _0x3b095c='https://autopilot-api.azurewebsites.net/llm/chat',_0x2b2520={..._0x2942aa['body'],'apiKey':_0x3d2872,..._0x534662&&{'vendorApiKey':_0x534662}},_0x4b985f={'method':_0x42b283(0x270),'headers':{'Content-Type':'application/json','Authorization':_0x42b283(0x23c)+_0x3d2872},'body':JSON[_0x42b283(0x1c9)](_0x2b2520)};this['logger'][_0x42b283(0x27f)]('Proxying\x20chat\x20request\x20to\x20Loxia\x20Azure\x20backend',{'url':_0x3b095c,'model':_0x2942aa[_0x42b283(0x287)][_0x42b283(0x260)],'hasApiKey':!!_0x3d2872});const _0x3a9fbe=await fetch(_0x3b095c,_0x4b985f);if(_0x3a9fbe['ok']){const _0x224c50=await _0x3a9fbe['json']();this['logger'][_0x42b283(0x27f)]('Successfully received response from Azure backend',{'model':_0x224c50['model'],'contentLength':_0x224c50[_0x42b283(0x212)]?.['length']||0x0}),_0x2125cd[_0x42b283(0x24b)](_0x224c50);}else{const _0xaa34dd=await _0x3a9fbe['text']();this['logger'][_0x42b283(0x21a)](_0x42b283(0x246),{'status':_0x3a9fbe['status'],'statusText':_0x3a9fbe[_0x42b283(0x1d8)],'error':_0xaa34dd}),_0x2125cd['status'](_0x3a9fbe[_0x42b283(0x1e0)])[_0x42b283(0x24b)]({'error':'Azure\x20backend\x20error:\x20'+_0x3a9fbe[_0x42b283(0x1e0)]+'\x20'+_0x3a9fbe['statusText'],'details':_0xaa34dd});}}catch(_0x49ae06){this[_0x42b283(0x1d2)]['error']('Failed\x20to\x20proxy\x20chat\x20request\x20to\x20Azure\x20backend',{'error':_0x49ae06['message'],'stack':_0x49ae06[_0x42b283(0x268)]}),_0x2125cd['status'](0x1f4)[_0x42b283(0x24b)]({'error':'Failed\x20to\x20connect\x20to\x20AI\x20service','details':_0x49ae06['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x1f0)](_0x4fd23f(0x234),async(_0x402ec2,_0x27c18b)=>{const _0x2abad5=_0x4fd23f;try{const _0x474ba1=_0x402ec2['headers'][_0x2abad5(0x27a)];let _0x3653ff=null;_0x474ba1&&_0x474ba1['startsWith']('Bearer\x20')&&(_0x3653ff=_0x474ba1['substring'](0x7));!_0x3653ff&&(_0x3653ff=this[_0x2abad5(0x1c0)]['loxiaApiKey']||process['env'][_0x2abad5(0x235)]);const _0xb255ce=_0x2abad5(0x247),_0x42a585={'method':_0x2abad5(0x1c3),'headers':{'Content-Type':'application/json',..._0x3653ff&&{'Authorization':_0x2abad5(0x23c)+_0x3653ff}}};this[_0x2abad5(0x1d2)][_0x2abad5(0x27f)]('Fetching models from Loxia Azure backend',{'url':_0xb255ce,'hasApiKey':!!_0x3653ff});const _0x48a60e=await fetch(_0xb255ce,_0x42a585);if(_0x48a60e['ok']){const _0x3e008a=await _0x48a60e[_0x2abad5(0x24b)]();this['logger'][_0x2abad5(0x27f)]('Successfully fetched models from Azure backend',{'modelCount':_0x3e008a[_0x2abad5(0x239)]?.[_0x2abad5(0x26f)]||0x0}),_0x27c18b[_0x2abad5(0x24b)](_0x3e008a);}else{const _0x1419f3=await _0x48a60e['text']();this[_0x2abad5(0x1d2)][_0x2abad5(0x1ac)]('Azure\x20backend\x20request\x20failed\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'status':_0x48a60e[_0x2abad5(0x1e0)],'statusText':_0x48a60e[_0x2abad5(0x1d8)],'error':_0x1419f3}),_0x27c18b[_0x2abad5(0x1e0)](_0x48a60e['status'])[_0x2abad5(0x24b)]({'success':![],'error':_0x2abad5(0x1f8)+_0x48a60e['status']+'\x20'+_0x48a60e['statusText'],'details':_0x1419f3});}}catch(_0x4a503c){this['logger'][_0x2abad5(0x1ac)]('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x4a503c['message'],'stack':_0x4a503c['stack']}),_0x27c18b[_0x2abad5(0x1e0)](0x1f4)[_0x2abad5(0x24b)]({'success':![],'error':'Failed to fetch models from backend','details':_0x4a503c[_0x2abad5(0x254)]});}}),this[_0x4fd23f(0x23f)]['get']('/api/tools',async(_0x7a6d1f,_0x4f0a72)=>{const _0x122fd3=_0x4fd23f;try{const _0x2d064=this['toolsRegistry'];if(!_0x2d064)return _0x4f0a72[_0x122fd3(0x1e0)](0x1f4)[_0x122fd3(0x24b)]({'error':_0x122fd3(0x26b)});const _0x5201a4=_0x2d064['getAvailableToolsForUI']();this['logger']['info']('Serving\x20tools\x20information',{'toolCount':_0x5201a4['length'],'tools':_0x5201a4[_0x122fd3(0x1e2)](_0x3898ab=>({'id':_0x3898ab['id'],'name':_0x3898ab['name'],'category':_0x3898ab[_0x122fd3(0x277)]}))}),_0x4f0a72['json']({'success':!![],'tools':_0x5201a4,'total':_0x5201a4[_0x122fd3(0x26f)]});}catch(_0x142961){this[_0x122fd3(0x1d2)]['error']('Failed\x20to\x20get\x20tools\x20information',{'error':_0x142961['message'],'stack':_0x142961[_0x122fd3(0x268)]}),_0x4f0a72['status'](0x1f4)['json']({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x142961['message']});}}),this[_0x4fd23f(0x23f)]['post']('/api/keys',async(_0x54b5a5,_0xe76cb5)=>{const _0x56a077=_0x4fd23f;try{const {sessionId:_0x8a5e79,loxiaApiKey:_0x5f16c4,vendorKeys:_0x400301}=_0x54b5a5[_0x56a077(0x287)];if(!_0x8a5e79)return _0xe76cb5['status'](0x190)[_0x56a077(0x24b)]({'success':![],'error':_0x56a077(0x1fc)});if(!this[_0x56a077(0x27e)])return _0xe76cb5['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this[_0x56a077(0x27e)]['setSessionKeys'](_0x8a5e79,{'loxiaApiKey':_0x5f16c4,'vendorKeys':_0x400301||{}}),this[_0x56a077(0x1d2)]['info']('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x8a5e79,'hasLoxiaKey':!!_0x5f16c4,'vendorKeys':Object['keys'](_0x400301||{})});if(this[_0x56a077(0x28e)]&&this[_0x56a077(0x28e)]['modelsService']&&_0x5f16c4)try{await this[_0x56a077(0x28e)]['modelsService'][_0x56a077(0x210)]({'sessionId':_0x8a5e79,'apiKey':_0x5f16c4}),this['logger']['info']('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x8a5e79});}catch(_0x3313fd){this[_0x56a077(0x1d2)]['warn']('Failed\x20to\x20refresh\x20models\x20after\x20API\x20key\x20update',{'error':_0x3313fd['message'],'sessionId':_0x8a5e79});}_0xe76cb5['json']({'success':!![],'message':_0x56a077(0x19a),'sessionId':_0x8a5e79,'hasLoxiaKey':!!_0x5f16c4,'vendorKeys':Object[_0x56a077(0x1a3)](_0x400301||{})});}catch(_0x4f8a2d){this[_0x56a077(0x1d2)][_0x56a077(0x1ac)](_0x56a077(0x19d),{'error':_0x4f8a2d['message'],'sessionId':_0x54b5a5[_0x56a077(0x287)][_0x56a077(0x280)]}),_0xe76cb5[_0x56a077(0x1e0)](0x1f4)['json']({'success':![],'error':_0x4f8a2d['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x1f0)]('/api/keys/:sessionId',async(_0x436867,_0x2d0c29)=>{const _0x1d89ae=_0x4fd23f;try{const {sessionId:_0x257e9f}=_0x436867[_0x1d89ae(0x23e)];if(!this['apiKeyManager'])return _0x2d0c29['status'](0x1f4)[_0x1d89ae(0x24b)]({'success':![],'error':_0x1d89ae(0x21c)});const _0x470dea=this[_0x1d89ae(0x27e)][_0x1d89ae(0x1d3)](_0x257e9f);_0x2d0c29['json']({'success':!![],'sessionId':_0x257e9f,'hasLoxiaKey':!!_0x470dea['loxiaApiKey'],'vendorKeys':Object['keys'](_0x470dea['vendorKeys']||{}),'updatedAt':_0x470dea[_0x1d89ae(0x288)]});}catch(_0x195f78){this['logger']['error']('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x195f78[_0x1d89ae(0x254)],'sessionId':_0x436867[_0x1d89ae(0x23e)]['sessionId']}),_0x2d0c29['status'](0x1f4)['json']({'success':![],'error':_0x195f78['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x20a)](_0x4fd23f(0x1a6),async(_0xaaa952,_0x2bf401)=>{const _0x5272f1=_0x4fd23f;try{const {sessionId:_0x59ff8f}=_0xaaa952['params'];if(!this[_0x5272f1(0x27e)])return _0x2bf401['status'](0x1f4)['json']({'success':![],'error':_0x5272f1(0x21c)});const _0x22aa63=this['apiKeyManager'][_0x5272f1(0x22a)](_0x59ff8f);_0x2bf401[_0x5272f1(0x24b)]({'success':!![],'removed':_0x22aa63,'message':_0x22aa63?_0x5272f1(0x275):_0x5272f1(0x25a)});}catch(_0x5e97ea){this[_0x5272f1(0x1d2)]['error'](_0x5272f1(0x25e),{'error':_0x5e97ea[_0x5272f1(0x254)],'sessionId':_0xaaa952[_0x5272f1(0x23e)]['sessionId']}),_0x2bf401['status'](0x1f4)[_0x5272f1(0x24b)]({'success':![],'error':_0x5e97ea['message']});}}),this['app'][_0x4fd23f(0x1f0)](_0x4fd23f(0x1a2),async(_0x34aa4c,_0x38d69d)=>{const _0x43083a=_0x4fd23f;try{if(!this[_0x43083a(0x27e)])return _0x38d69d['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x18ee0c=this[_0x43083a(0x27e)]['getActiveSessions']();_0x38d69d['json']({'success':!![],'sessions':_0x18ee0c,'total':_0x18ee0c[_0x43083a(0x26f)]});}catch(_0x347ec2){this['logger']['error']('Failed\x20to\x20get\x20active\x20sessions',{'error':_0x347ec2['message']}),_0x38d69d[_0x43083a(0x1e0)](0x1f4)[_0x43083a(0x24b)]({'success':![],'error':_0x347ec2[_0x43083a(0x254)]});}}),this['app']['post'](_0x4fd23f(0x1b3),async(_0x25894e,_0x4f2b54)=>{const _0x34a5ca=_0x4fd23f;try{const {agentId:_0x3598b6}=_0x25894e['params'],{filePath:_0x1a9d63,mode:_0x247089,fileName:_0x1f265b}=_0x25894e[_0x34a5ca(0x287)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x4f2b54[_0x34a5ca(0x1e0)](0x1f4)['json']({'success':![],'error':_0x34a5ca(0x208)});const _0x2a5900=await this[_0x34a5ca(0x28e)][_0x34a5ca(0x1ba)]['uploadFile']({'agentId':_0x3598b6,'filePath':_0x1a9d63,'mode':_0x247089||'content','fileName':_0x1f265b});this['logger'][_0x34a5ca(0x27f)](_0x34a5ca(0x1d0),{'agentId':_0x3598b6,'fileId':_0x2a5900['fileId'],'fileName':_0x2a5900['fileName']}),_0x4f2b54[_0x34a5ca(0x24b)]({'success':!![],'attachment':_0x2a5900});}catch(_0x5c339d){this['logger'][_0x34a5ca(0x1ac)](_0x34a5ca(0x23b),{'agentId':_0x25894e['params']['agentId'],'error':_0x5c339d[_0x34a5ca(0x254)]}),_0x4f2b54['status'](0x1f4)[_0x34a5ca(0x24b)]({'success':![],'error':_0x5c339d[_0x34a5ca(0x254)]});}}),this[_0x4fd23f(0x23f)]['get'](_0x4fd23f(0x276),async(_0x37da56,_0x2f937c)=>{const _0x1a4f2f=_0x4fd23f;try{const {agentId:_0x1ff5a0}=_0x37da56['params'],{mode:_0x1d470c,active:_0x585b09}=_0x37da56['query'];if(!this['orchestrator']?.[_0x1a4f2f(0x1ba)])return _0x2f937c[_0x1a4f2f(0x1e0)](0x1f4)[_0x1a4f2f(0x24b)]({'success':![],'error':_0x1a4f2f(0x208)});const _0x52b374={};if(_0x1d470c)_0x52b374['mode']=_0x1d470c;if(_0x585b09!==undefined)_0x52b374[_0x1a4f2f(0x1e9)]=_0x585b09==='true';const _0x4e504e=await this[_0x1a4f2f(0x28e)][_0x1a4f2f(0x1ba)][_0x1a4f2f(0x1f3)](_0x1ff5a0,_0x52b374);_0x2f937c[_0x1a4f2f(0x24b)]({'success':!![],'attachments':_0x4e504e,'total':_0x4e504e['length']});}catch(_0x3f61eb){this['logger']['error']('Failed\x20to\x20get\x20attachments',{'agentId':_0x37da56['params'][_0x1a4f2f(0x25f)],'error':_0x3f61eb['message']}),_0x2f937c[_0x1a4f2f(0x1e0)](0x1f4)[_0x1a4f2f(0x24b)]({'success':![],'error':_0x3f61eb[_0x1a4f2f(0x254)]});}}),this['app'][_0x4fd23f(0x1f0)](_0x4fd23f(0x201),async(_0x44b266,_0x403468)=>{const _0x1d455c=_0x4fd23f;try{const {fileId:_0x2d8b9b}=_0x44b266[_0x1d455c(0x23e)];if(!this[_0x1d455c(0x28e)]?.[_0x1d455c(0x1ba)])return _0x403468['status'](0x1f4)['json']({'success':![],'error':_0x1d455c(0x208)});const _0x281c48=await this[_0x1d455c(0x28e)]['fileAttachmentService'][_0x1d455c(0x21b)](_0x2d8b9b);if(!_0x281c48)return _0x403468[_0x1d455c(0x1e0)](0x194)['json']({'success':![],'error':'Attachment\x20not\x20found'});_0x403468[_0x1d455c(0x24b)]({'success':!![],'attachment':_0x281c48});}catch(_0x5b948b){this['logger']['error'](_0x1d455c(0x21f),{'fileId':_0x44b266['params'][_0x1d455c(0x250)],'error':_0x5b948b[_0x1d455c(0x254)]}),_0x403468['status'](0x1f4)['json']({'success':![],'error':_0x5b948b['message']});}}),this['app'][_0x4fd23f(0x203)]('/api/attachments/:fileId/toggle',async(_0x515fdf,_0xf6cebc)=>{const _0x2cf225=_0x4fd23f;try{const {fileId:_0x350ad2}=_0x515fdf['params'];if(!this['orchestrator']?.['fileAttachmentService'])return _0xf6cebc[_0x2cf225(0x1e0)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x268814=await this['orchestrator'][_0x2cf225(0x1ba)][_0x2cf225(0x1a1)](_0x350ad2);this[_0x2cf225(0x1d2)][_0x2cf225(0x27f)]('Attachment\x20active\x20status\x20toggled',{'fileId':_0x350ad2,'active':_0x268814['active']}),_0xf6cebc[_0x2cf225(0x24b)]({'success':!![],'attachment':_0x268814});}catch(_0x569fc2){this[_0x2cf225(0x1d2)][_0x2cf225(0x1ac)](_0x2cf225(0x1f4),{'fileId':_0x515fdf[_0x2cf225(0x23e)][_0x2cf225(0x250)],'error':_0x569fc2[_0x2cf225(0x254)]}),_0xf6cebc['status'](0x1f4)[_0x2cf225(0x24b)]({'success':![],'error':_0x569fc2['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x203)]('/api/attachments/:fileId',async(_0x233704,_0x3af8bc)=>{const _0x27860b=_0x4fd23f;try{const {fileId:_0x412283}=_0x233704['params'],{mode:_0x5630a1,active:_0x17ab32}=_0x233704['body'];if(!this[_0x27860b(0x28e)]?.[_0x27860b(0x1ba)])return _0x3af8bc[_0x27860b(0x1e0)](0x1f4)[_0x27860b(0x24b)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x28bd1c={};if(_0x5630a1!==undefined)_0x28bd1c['mode']=_0x5630a1;if(_0x17ab32!==undefined)_0x28bd1c['active']=_0x17ab32;const _0x4bd647=await this['orchestrator'][_0x27860b(0x1ba)]['updateAttachment'](_0x412283,_0x28bd1c);this['logger']['info']('Attachment\x20updated',{'fileId':_0x412283,'updates':_0x28bd1c}),_0x3af8bc[_0x27860b(0x24b)]({'success':!![],'attachment':_0x4bd647});}catch(_0x18c912){this[_0x27860b(0x1d2)]['error'](_0x27860b(0x279),{'fileId':_0x233704[_0x27860b(0x23e)]['fileId'],'error':_0x18c912['message']}),_0x3af8bc['status'](0x1f4)['json']({'success':![],'error':_0x18c912['message']});}}),this[_0x4fd23f(0x23f)]['delete'](_0x4fd23f(0x201),async(_0x5dcf28,_0x275e27)=>{const _0xadce17=_0x4fd23f;try{const {fileId:_0xce1901}=_0x5dcf28[_0xadce17(0x23e)],{agentId:_0x451b18}=_0x5dcf28[_0xadce17(0x257)];if(!_0x451b18)return _0x275e27['status'](0x190)['json']({'success':![],'error':_0xadce17(0x1e8)});if(!this['orchestrator']?.[_0xadce17(0x1ba)])return _0x275e27[_0xadce17(0x1e0)](0x1f4)[_0xadce17(0x24b)]({'success':![],'error':_0xadce17(0x208)});const _0x410c66=await this['orchestrator']['fileAttachmentService']['deleteAttachment'](_0xce1901,_0x451b18);this['logger'][_0xadce17(0x27f)]('Attachment\x20deleted',{'fileId':_0xce1901,'agentId':_0x451b18,'physicallyDeleted':_0x410c66['physicallyDeleted']}),_0x275e27['json']({'success':!![],'message':_0x410c66['physicallyDeleted']?'Attachment\x20deleted':_0xadce17(0x206),'physicallyDeleted':_0x410c66[_0xadce17(0x27c)]});}catch(_0x45a70d){this[_0xadce17(0x1d2)]['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x5dcf28['params']['fileId'],'error':_0x45a70d[_0xadce17(0x254)]}),_0x275e27['status'](0x1f4)[_0xadce17(0x24b)]({'success':![],'error':_0x45a70d['message']});}}),this[_0x4fd23f(0x23f)][_0x4fd23f(0x19f)]('/api/attachments/:fileId/import',async(_0x12360c,_0x40be0b)=>{const _0x482f94=_0x4fd23f;try{const {fileId:_0x4fa267}=_0x12360c[_0x482f94(0x23e)],{targetAgentId:_0x9dcd87}=_0x12360c['body'];if(!_0x9dcd87)return _0x40be0b['status'](0x190)['json']({'success':![],'error':_0x482f94(0x1ea)});if(!this[_0x482f94(0x28e)]?.[_0x482f94(0x1ba)])return _0x40be0b[_0x482f94(0x1e0)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x27e90e=await this[_0x482f94(0x28e)]['fileAttachmentService']['importFromAgent'](_0x4fa267,_0x9dcd87);this[_0x482f94(0x1d2)]['info']('Attachment imported',{'fileId':_0x4fa267,'targetAgentId':_0x9dcd87}),_0x40be0b['json']({'success':!![],'attachment':_0x27e90e});}catch(_0x423468){this['logger']['error']('Failed to import attachment',{'fileId':_0x12360c[_0x482f94(0x23e)]['fileId'],'error':_0x423468[_0x482f94(0x254)]}),_0x40be0b[_0x482f94(0x1e0)](0x1f4)['json']({'success':![],'error':_0x423468['message']});}}),this['app']['get']('/api/attachments/:fileId/preview',async(_0x5b6418,_0x4c5176)=>{const _0x57748c=_0x4fd23f;try{const {fileId:_0x54f22d}=_0x5b6418[_0x57748c(0x23e)];if(!this[_0x57748c(0x28e)]?.[_0x57748c(0x1ba)])return _0x4c5176[_0x57748c(0x1e0)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x1cee50=await this['orchestrator']['fileAttachmentService']['getAttachmentPreview'](_0x54f22d);if(!_0x1cee50)return _0x4c5176[_0x57748c(0x1e0)](0x194)[_0x57748c(0x24b)]({'success':![],'error':'Attachment\x20not\x20found'});_0x4c5176['json']({'success':!![],'preview':_0x1cee50});}catch(_0x2398c3){this['logger']['error']('Failed\x20to\x20get\x20attachment\x20preview',{'fileId':_0x5b6418['params']['fileId'],'error':_0x2398c3[_0x57748c(0x254)]}),_0x4c5176[_0x57748c(0x1e0)](0x1f4)[_0x57748c(0x24b)]({'success':![],'error':_0x2398c3[_0x57748c(0x254)]});}}),this['app'][_0x4fd23f(0x1f0)]('/api/images/:sessionId/:filename',async(_0x176db9,_0x5d7ebe)=>{const _0x2261c9=_0x4fd23f;try{const {sessionId:_0x26496d,filename:_0x75ff9b}=_0x176db9[_0x2261c9(0x23e)],_0x430382=this[_0x2261c9(0x1ad)]['get'](_0x26496d);if(!_0x430382)return _0x5d7ebe[_0x2261c9(0x1e0)](HTTP_STATUS['FORBIDDEN'])[_0x2261c9(0x24b)]({'success':![],'error':_0x2261c9(0x24d)});const _0xede34c=a0_0x5b6ab7[_0x2261c9(0x261)](_0x75ff9b);if(_0xede34c!==_0x75ff9b||_0x75ff9b[_0x2261c9(0x26d)]('..')||_0x75ff9b['includes']('/')||_0x75ff9b['includes']('\x5c'))return _0x5d7ebe[_0x2261c9(0x1e0)](HTTP_STATUS[_0x2261c9(0x274)])[_0x2261c9(0x24b)]({'success':![],'error':'Invalid\x20filename'});let _0x2fc79d=null;const _0x33e14f=[a0_0x5b6ab7['join'](_0x430382[_0x2261c9(0x202)]||process[_0x2261c9(0x209)](),'images',_0xede34c),a0_0x5b6ab7['join'](_0x2261c9(0x278),_0x26496d,_0xede34c),a0_0x5b6ab7['join']('/tmp/loxia-images',_0xede34c)];if(this['orchestrator']?.[_0x2261c9(0x1a9)])try{const _0x19fe20=await this[_0x2261c9(0x28e)][_0x2261c9(0x1a9)]['getAllAgents']();for(const _0x2d10 of _0x19fe20){_0x2d10[_0x2261c9(0x1a5)]?.[_0x2261c9(0x1bb)]&&_0x33e14f[_0x2261c9(0x1f5)](a0_0x5b6ab7['join'](_0x2d10[_0x2261c9(0x1a5)]['workingDirectory'],_0x2261c9(0x1f2),_0xede34c));}}catch(_0x1f01b6){this['logger'][_0x2261c9(0x21a)](_0x2261c9(0x262),{'error':_0x1f01b6[_0x2261c9(0x254)]});}for(const _0x3dbaee of _0x33e14f){try{const _0x1190fe=await a0_0x1dd5ef[_0x2261c9(0x220)](_0x3dbaee);if(_0x1190fe[_0x2261c9(0x20e)]()){_0x2fc79d=_0x3dbaee,this[_0x2261c9(0x1d2)]['info']('Image\x20found',{'filename':_0xede34c,'path':_0x2fc79d,'sessionId':_0x26496d});break;}}catch(_0x1bff78){continue;}}if(!_0x2fc79d)return this['logger'][_0x2261c9(0x21a)]('Image\x20not\x20found\x20in\x20any\x20search\x20path',{'filename':_0xede34c,'sessionId':_0x26496d,'searchPaths':_0x33e14f}),_0x5d7ebe[_0x2261c9(0x1e0)](HTTP_STATUS[_0x2261c9(0x269)])['json']({'success':![],'error':'Image\x20not\x20found'});_0x5d7ebe[_0x2261c9(0x1cb)](_0x2fc79d,_0x2dbd41=>{const _0x66628b=_0x2261c9;_0x2dbd41?(this[_0x66628b(0x1d2)][_0x66628b(0x1ac)]('Failed\x20to\x20send\x20image\x20file',{'error':_0x2dbd41['message'],'imagePath':_0x2fc79d,'filename':_0xede34c}),!_0x5d7ebe['headersSent']&&_0x5d7ebe['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x66628b(0x24b)]({'success':![],'error':'Failed\x20to\x20serve\x20image'})):this[_0x66628b(0x1d2)]['info'](_0x66628b(0x1b9),{'filename':_0xede34c,'path':_0x2fc79d,'sessionId':_0x26496d});});}catch(_0x4aac51){this['logger'][_0x2261c9(0x1ac)](_0x2261c9(0x1ff),{'error':_0x4aac51[_0x2261c9(0x254)],'sessionId':_0x176db9[_0x2261c9(0x23e)]['sessionId'],'filename':_0x176db9[_0x2261c9(0x23e)]['filename']}),_0x5d7ebe[_0x2261c9(0x1e0)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x2261c9(0x24b)]({'success':![],'error':_0x4aac51['message']});}}),this['app'][_0x4fd23f(0x19f)]('/api/agents/:agentId/mode',async(_0x53ce57,_0xcd7aac)=>{const _0x48ca04=_0x4fd23f;try{const {agentId:_0x878f23}=_0x53ce57['params'],{mode:_0xebc5a4,lockMode:lockMode=![],sessionId:_0x3c606c}=_0x53ce57[_0x48ca04(0x287)];if(!Object['values'](AGENT_MODES)[_0x48ca04(0x26d)](_0xebc5a4))return _0xcd7aac['status'](0x190)['json']({'success':![],'error':_0x48ca04(0x1be)+Object['values'](AGENT_MODES)[_0x48ca04(0x1bf)](',\x20')});const _0x8a723e=_0x3c606c||_0x53ce57['sessionID'];!_0x8a723e&&this['logger'][_0x48ca04(0x21a)](_0x48ca04(0x1b0),{'agentId':_0x878f23,'hasBodySessionId':!!_0x3c606c,'hasReqSessionId':!!_0x53ce57[_0x48ca04(0x1ec)]});const _0x2e666c={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x8a723e,'action':'update_agent','payload':{'agentId':_0x878f23,'updates':{'mode':_0xebc5a4}}},_0x181dc6=await this[_0x48ca04(0x28e)]['processRequest'](_0x2e666c);if(_0x181dc6[_0x48ca04(0x1b7)]){const _0xbfa6f7=_0x181dc6['data'];this['logger'][_0x48ca04(0x27f)]('Agent\x20mode\x20updated:\x20'+_0x878f23,{'newMode':_0xebc5a4,'lockMode':lockMode,'finalMode':_0xbfa6f7?.[_0x48ca04(0x1d1)]}),this['broadcastToSession'](_0x2e666c['sessionId'],{'type':_0x48ca04(0x27b),'agentId':_0x878f23,'mode':_0xbfa6f7?.[_0x48ca04(0x1d1)],'modeState':_0xbfa6f7?.['modeState']}),_0xcd7aac[_0x48ca04(0x24b)]({'success':!![],'agent':_0xbfa6f7,'message':'Agent\x20mode\x20switched\x20to\x20'+_0xbfa6f7?.[_0x48ca04(0x1d1)]});}else _0xcd7aac['status'](0x190)['json']({'success':![],'error':_0x181dc6['error']||_0x48ca04(0x1d6)});}catch(_0x2340af){this[_0x48ca04(0x1d2)][_0x48ca04(0x1ac)]('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0x53ce57['params']['agentId'],'error':_0x2340af['message']}),_0xcd7aac['status'](0x1f4)['json']({'success':![],'error':_0x2340af[_0x48ca04(0x254)]});}}),this['app']['post'](_0x4fd23f(0x1b5),async(_0x53bc54,_0x290249)=>{const _0x147ea1=_0x4fd23f;try{const {agentId:_0x1d9ed8}=_0x53bc54['params'],_0x2f3773=this[_0x147ea1(0x28e)][_0x147ea1(0x19c)];if(!_0x2f3773)return _0x290249['status'](0x1f4)[_0x147ea1(0x24b)]({'success':![],'error':_0x147ea1(0x24c)});const _0x339adf=await _0x2f3773[_0x147ea1(0x263)](_0x1d9ed8);this[_0x147ea1(0x1d2)][_0x147ea1(0x27f)]('Autonomous\x20execution\x20stop\x20requested:\x20'+_0x1d9ed8);const _0x176384=_0x53bc54['sessionID']||_0x339adf[_0x147ea1(0x267)]?.['sessionId'];_0x176384&&this[_0x147ea1(0x238)](_0x176384,{'type':_0x147ea1(0x27b),'agentId':_0x1d9ed8,'mode':_0x339adf['agent']?.['mode'],'modeState':_0x339adf['agent']?.['modeState']}),_0x290249['json'](_0x339adf);}catch(_0x3e84a5){this[_0x147ea1(0x1d2)][_0x147ea1(0x1ac)](_0x147ea1(0x1ed),{'agentId':_0x53bc54['params'][_0x147ea1(0x25f)],'error':_0x3e84a5['message']}),_0x290249[_0x147ea1(0x1e0)](0x1f4)['json']({'success':![],'error':_0x3e84a5['message']});}}),this['app']['get'](_0x4fd23f(0x227),async(_0x4f462c,_0x1cd064)=>{const _0x272f6b=_0x4fd23f;try{const {agentId:_0x4a97d4}=_0x4f462c['params'],_0x16afda={'interface':INTERFACE_TYPES[_0x272f6b(0x272)],'sessionId':_0x4f462c['sessionID'],'action':_0x272f6b(0x1f1),'payload':{'agentId':_0x4a97d4}},_0xdc951e=await this['orchestrator']['processRequest'](_0x16afda);_0xdc951e['success']&&_0xdc951e[_0x272f6b(0x267)]?_0x1cd064['json']({'success':!![],'mode':_0xdc951e[_0x272f6b(0x267)]['mode'],'modeState':_0xdc951e[_0x272f6b(0x267)]['modeState'],'currentTask':_0xdc951e[_0x272f6b(0x267)][_0x272f6b(0x22c)],'iterationCount':_0xdc951e['agent']['iterationCount'],'taskStartTime':_0xdc951e['agent']['taskStartTime'],'stopRequested':_0xdc951e['agent']['stopRequested']}):_0x1cd064['status'](0x194)[_0x272f6b(0x24b)]({'success':![],'error':'Agent\x20not\x20found'});}catch(_0x26da90){this['logger'][_0x272f6b(0x1ac)]('Failed\x20to\x20get\x20agent\x20mode\x20status',{'agentId':_0x4f462c[_0x272f6b(0x23e)][_0x272f6b(0x25f)],'error':_0x26da90['message']}),_0x1cd064['status'](0x1f4)[_0x272f6b(0x24b)]({'success':![],'error':_0x26da90[_0x272f6b(0x254)]});}}),this[_0x4fd23f(0x23f)]['get']('/api/agents/available',async(_0x1cb4f7,_0x465ef4)=>{const _0x51193b=_0x4fd23f;try{const _0x477fc4=this[_0x51193b(0x28e)]['config'][_0x51193b(0x1ae)]?.['directory']||process['cwd'](),_0x563b59=await this[_0x51193b(0x28e)][_0x51193b(0x226)][_0x51193b(0x1d9)](_0x477fc4,this['orchestrator'][_0x51193b(0x1a9)]);_0x465ef4['json']({'success':!![],'agents':_0x563b59,'total':_0x563b59['length'],'active':_0x563b59['filter'](_0x1c2c76=>_0x1c2c76['isLoaded'])[_0x51193b(0x26f)],'archived':_0x563b59[_0x51193b(0x20d)](_0x5cf995=>!_0x5cf995['isLoaded'])[_0x51193b(0x26f)]});}catch(_0x526bcb){this[_0x51193b(0x1d2)][_0x51193b(0x1ac)](_0x51193b(0x198),{'error':_0x526bcb['message'],'stack':_0x526bcb['stack']}),_0x465ef4[_0x51193b(0x1e0)](0x1f4)[_0x51193b(0x24b)]({'success':![],'error':_0x526bcb['message']});}}),this['app']['get']('/api/agents/:agentId/metadata',async(_0x5b93e8,_0x12c79c)=>{const _0x483477=_0x4fd23f;try{const {agentId:_0x8058c6}=_0x5b93e8[_0x483477(0x23e)],_0x495889=this['orchestrator']['config']['project']?.[_0x483477(0x242)]||process['cwd'](),_0x38b22a=await this['orchestrator']['stateManager']['getAgentMetadata'](_0x8058c6,_0x495889);_0x12c79c[_0x483477(0x24b)]({'success':!![],'metadata':_0x38b22a});}catch(_0x1e29bc){this['logger']['error']('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x5b93e8['params']['agentId'],'error':_0x1e29bc[_0x483477(0x254)]}),_0x12c79c['status'](0x194)[_0x483477(0x24b)]({'success':![],'error':_0x1e29bc['message']});}}),this[_0x4fd23f(0x23f)]['post']('/api/agents/import',async(_0xdd6d89,_0x1d8f9e)=>{const _0xec4a23=_0x4fd23f;try{const {agentId:_0xa7a031}=_0xdd6d89[_0xec4a23(0x287)];if(!_0xa7a031)return _0x1d8f9e[_0xec4a23(0x1e0)](0x190)['json']({'success':![],'error':_0xec4a23(0x255)});const _0x2449f3=this[_0xec4a23(0x28e)]['config']['project']?.['directory']||process['cwd'](),_0x8fc8e5=await this['orchestrator']['stateManager'][_0xec4a23(0x1db)](_0xa7a031,_0x2449f3,this[_0xec4a23(0x28e)]['agentPool']);this[_0xec4a23(0x241)]&&this['wsManager'][_0xec4a23(0x1d4)]({'type':'agent-imported','agent':{'id':_0x8fc8e5['id'],'name':_0x8fc8e5['name'],'status':_0x8fc8e5['status'],'capabilities':_0x8fc8e5[_0xec4a23(0x22d)],'model':_0x8fc8e5['currentModel']||_0x8fc8e5['preferredModel']}}),this[_0xec4a23(0x1d2)]['info']('Agent imported successfully',{'agentId':_0x8fc8e5['id'],'name':_0x8fc8e5[_0xec4a23(0x282)]}),_0x1d8f9e[_0xec4a23(0x24b)]({'success':!![],'agent':{'id':_0x8fc8e5['id'],'name':_0x8fc8e5['name'],'status':_0x8fc8e5['status'],'model':_0x8fc8e5[_0xec4a23(0x214)]||_0x8fc8e5['preferredModel'],'capabilities':_0x8fc8e5['capabilities'],'lastActivity':_0x8fc8e5['lastActivity']},'message':_0xec4a23(0x211)+_0x8fc8e5[_0xec4a23(0x282)]+_0xec4a23(0x284)});}catch(_0x5d1f8f){this['logger']['error']('Failed to import agent',{'agentId':_0xdd6d89[_0xec4a23(0x287)]['agentId'],'error':_0x5d1f8f['message'],'stack':_0x5d1f8f['stack']});const _0x55eb12=_0x5d1f8f['message'][_0xec4a23(0x26d)]('already\x20active')?0x199:_0x5d1f8f['message']['includes']('not\x20found')?0x194:_0x5d1f8f['message'][_0xec4a23(0x26d)](_0xec4a23(0x258))?0x190:0x1f4;_0x1d8f9e[_0xec4a23(0x1e0)](_0x55eb12)['json']({'success':![],'error':_0x5d1f8f[_0xec4a23(0x254)]});}}),this[_0x4fd23f(0x23f)]['get']('*',(_0x2c7e48,_0x4c1f08)=>{const _0x108549=_0x4fd23f,_0x452917=a0_0x5b6ab7[_0x108549(0x1bf)](__dirname,_0x108549(0x1e1));_0x4c1f08[_0x108549(0x1cb)](_0x452917,_0x56f0c0=>{const _0x10e6d4=_0x108549;_0x56f0c0&&_0x4c1f08['status'](HTTP_STATUS[_0x10e6d4(0x269)])['send'](_0x10e6d4(0x286));});});}['setupWebSocket'](){const _0x3ae740=a0_0x284faf;this['logger'][_0x3ae740(0x27f)](_0x3ae740(0x205),{'port':this[_0x3ae740(0x221)],'host':this['host'],'wsServerExists':!!this['wss'],'httpServerExists':!!this[_0x3ae740(0x1fe)]}),this['wss']['on'](_0x3ae740(0x1ac),_0x2df47f=>{const _0x3aef37=_0x3ae740;this['logger'][_0x3aef37(0x1ac)]('WebSocket\x20server\x20error:',{'error':_0x2df47f['message'],'stack':_0x2df47f[_0x3aef37(0x268)],'port':this[_0x3aef37(0x221)]});}),this['wss']['on']('listening',()=>{const _0x8332e0=_0x3ae740;this['logger'][_0x8332e0(0x27f)](_0x8332e0(0x233),{'port':this[_0x8332e0(0x221)],'host':this[_0x8332e0(0x20b)]});}),this['wss']['on']('connection',(_0x3d1bb8,_0x1f13b2)=>{const _0x37ca1b=_0x3ae740,_0x4eced4=_0x37ca1b(0x1c5)+Date['now']()+'-'+Math[_0x37ca1b(0x264)]()[_0x37ca1b(0x219)](0x24)[_0x37ca1b(0x23a)](0x2,0x9);this['logger']['info']('WebSocket\x20connection\x20established',{'connectionId':_0x4eced4,'ip':_0x1f13b2['socket']['remoteAddress'],'origin':_0x1f13b2['headers'][_0x37ca1b(0x24e)],'host':_0x1f13b2['headers'][_0x37ca1b(0x20b)],'userAgent':_0x1f13b2['headers'][_0x37ca1b(0x1a0)],'url':_0x1f13b2['url']});const _0x2b2870={'id':_0x4eced4,'ws':_0x3d1bb8,'sessionId':null,'connectedAt':new Date()[_0x37ca1b(0x197)](),'lastActivity':new Date()['toISOString']()};this[_0x37ca1b(0x1c6)][_0x37ca1b(0x248)](_0x4eced4,_0x2b2870),_0x3d1bb8['on'](_0x37ca1b(0x254),async _0x373e52=>{const _0x87c8c5=_0x37ca1b;try{const _0x44e138=JSON[_0x87c8c5(0x22b)](_0x373e52[_0x87c8c5(0x219)]());await this['handleWebSocketMessage'](_0x4eced4,_0x44e138);}catch(_0x1ca1f6){this['logger'][_0x87c8c5(0x1ac)]('WebSocket\x20message\x20error',{'connectionId':_0x4eced4,'error':_0x1ca1f6['message']}),_0x3d1bb8['send'](JSON['stringify']({'type':'error','error':_0x1ca1f6['message']}));}}),_0x3d1bb8['on'](_0x37ca1b(0x245),()=>{const _0x4f1423=_0x37ca1b;this[_0x4f1423(0x1d2)]['info']('WebSocket\x20connection\x20closed',{'connectionId':_0x4eced4}),this[_0x4f1423(0x1c6)][_0x4f1423(0x20a)](_0x4eced4);}),_0x3d1bb8[_0x37ca1b(0x1cf)](JSON[_0x37ca1b(0x1c9)]({'type':_0x37ca1b(0x1fb),'connectionId':_0x4eced4,'timestamp':new Date()[_0x37ca1b(0x197)]()}));});}async['handleWebSocketMessage'](_0x26a86a,_0x35744c){const _0x570172=a0_0x284faf,_0x325e16=this['connections']['get'](_0x26a86a);if(!_0x325e16)return;_0x325e16['lastActivity']=new Date()[_0x570172(0x197)]();switch(_0x35744c['type']){case'join_session':const _0x367035=_0x35744c[_0x570172(0x280)];_0x325e16['sessionId']=_0x367035,this[_0x570172(0x1d2)][_0x570172(0x27f)](_0x570172(0x1fa),{'connectionId':_0x26a86a,'sessionId':_0x367035,'totalConnectionsForSession':Array[_0x570172(0x25b)](this[_0x570172(0x1c6)][_0x570172(0x271)]())['filter'](_0x42822c=>_0x42822c['sessionId']===_0x367035)[_0x570172(0x26f)]}),_0x325e16['ws']['send'](JSON['stringify']({'type':'session_joined','sessionId':_0x367035}));break;case _0x570172(0x200):_0x325e16['ws'][_0x570172(0x1cf)](JSON[_0x570172(0x1c9)]({'type':_0x570172(0x244),'timestamp':new Date()['toISOString']()}));break;case _0x570172(0x1ef):try{const _0x40dc86={'interface':INTERFACE_TYPES[_0x570172(0x272)],'sessionId':_0x325e16['sessionId'],'action':_0x35744c[_0x570172(0x24f)],'payload':_0x35744c[_0x570172(0x1e3)],'projectDir':_0x35744c[_0x570172(0x202)]||process[_0x570172(0x209)]()},_0x2dbf7d=await this['orchestrator'][_0x570172(0x285)](_0x40dc86);_0x325e16['ws'][_0x570172(0x1cf)](JSON[_0x570172(0x1c9)]({'type':'orchestrator_response','requestId':_0x35744c[_0x570172(0x1ee)],'response':_0x2dbf7d}));}catch(_0x21c2b9){_0x325e16['ws']['send'](JSON['stringify']({'type':_0x570172(0x1ac),'requestId':_0x35744c[_0x570172(0x1ee)],'error':_0x21c2b9['message']}));}break;default:this[_0x570172(0x1d2)][_0x570172(0x21a)](_0x570172(0x1e6),{'connectionId':_0x26a86a,'type':_0x35744c['type']});}}[a0_0x284faf(0x238)](_0x576df1,_0x16aacc){const _0x33ca9b=a0_0x284faf,_0x24194f=Array['from'](this['connections']['values']())[_0x33ca9b(0x20d)](_0x60c5cf=>_0x60c5cf[_0x33ca9b(0x280)]===_0x576df1);let _0x967351=[];_0x24194f[_0x33ca9b(0x26f)]===0x0&&(_0x967351=Array[_0x33ca9b(0x25b)](this[_0x33ca9b(0x1c6)]['values']()),this[_0x33ca9b(0x1d2)]?.['warn']('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x576df1,'totalConnections':this['connections'][_0x33ca9b(0x1a8)],'allSessionIds':Array['from'](this[_0x33ca9b(0x1c6)][_0x33ca9b(0x271)]())[_0x33ca9b(0x1e2)](_0x317411=>_0x317411['sessionId'])['filter'](Boolean)}));const _0x49e78f=_0x24194f['length']>0x0?_0x24194f:_0x967351;this[_0x33ca9b(0x1d2)]?.[_0x33ca9b(0x27f)]('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x576df1,'messageType':_0x16aacc[_0x33ca9b(0x26e)],'agentId':_0x16aacc['agentId'],'totalConnections':this[_0x33ca9b(0x1c6)][_0x33ca9b(0x1a8)],'sessionConnections':_0x24194f['length'],'targetConnections':_0x49e78f['length'],'connectionIds':_0x49e78f['map'](_0x3c349e=>_0x3c349e['id']),'usingFallback':_0x24194f['length']===0x0,'messagePreview':_0x16aacc[_0x33ca9b(0x26e)]==='autonomous_update'&&_0x16aacc['message']?{'messageId':_0x16aacc[_0x33ca9b(0x254)]['id'],'messageRole':_0x16aacc[_0x33ca9b(0x254)][_0x33ca9b(0x230)],'contentLength':_0x16aacc[_0x33ca9b(0x254)]['content']?.['length'],'hasToolResults':!!_0x16aacc['message']['toolResults']}:undefined});for(const _0x4750c5 of _0x49e78f){try{const _0x312c56={..._0x16aacc,'timestamp':new Date()[_0x33ca9b(0x197)]()};_0x4750c5['ws'][_0x33ca9b(0x1cf)](JSON[_0x33ca9b(0x1c9)](_0x312c56)),this['logger']?.[_0x33ca9b(0x27f)](_0x33ca9b(0x21e),{'connectionId':_0x4750c5['id'],'messageType':_0x16aacc['type'],'agentId':_0x16aacc[_0x33ca9b(0x25f)]});}catch(_0x29c369){this['logger'][_0x33ca9b(0x21a)]('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x4750c5['id'],'sessionId':_0x576df1,'messageType':_0x16aacc['type'],'error':_0x29c369[_0x33ca9b(0x254)]});}}}async['startServer'](){return new Promise((_0x4c5783,_0x26619c)=>{const _0x18b9be=a0_0x29b9;this[_0x18b9be(0x1fe)][_0x18b9be(0x204)](this[_0x18b9be(0x221)],this[_0x18b9be(0x20b)],_0x1c886b=>{const _0x94f984=_0x18b9be;_0x1c886b?(this['logger'][_0x94f984(0x1ac)]('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0x1c886b['message'],'port':this[_0x94f984(0x221)],'host':this[_0x94f984(0x20b)]}),_0x26619c(_0x1c886b)):(this[_0x94f984(0x1dc)]=!![],this['logger']['info'](_0x94f984(0x22f),{'port':this['port'],'host':this[_0x94f984(0x20b)],'httpUrl':_0x94f984(0x253)+this[_0x94f984(0x20b)]+':'+this['port'],'wsUrl':_0x94f984(0x283)+this[_0x94f984(0x20b)]+':'+this[_0x94f984(0x221)],'wsServerAttached':!!this[_0x94f984(0x1af)],'wsConnections':this['connections'][_0x94f984(0x1a8)]}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x4c5783());}),this['server']['on'](_0x18b9be(0x1ac),_0x2cb62e=>{const _0x1229f8=_0x18b9be;this['logger'][_0x1229f8(0x1ac)]('HTTP\x20server\x20error:',{'error':_0x2cb62e['message'],'stack':_0x2cb62e['stack'],'port':this['port']});});});}async['testWebSocketServer'](){const _0x1e5f76=a0_0x284faf;try{const {default:_0x24f53c}=await import('ws'),_0x57298e=new _0x24f53c(_0x1e5f76(0x1f9)+this[_0x1e5f76(0x221)]);_0x57298e['on']('open',()=>{const _0x3c612e=_0x1e5f76;this[_0x3c612e(0x1d2)][_0x3c612e(0x27f)](_0x3c612e(0x28a),{'port':this['port'],'url':'ws://localhost:'+this[_0x3c612e(0x221)]}),_0x57298e[_0x3c612e(0x245)]();}),_0x57298e['on'](_0x1e5f76(0x1ac),_0x44b9a1=>{const _0x3af17a=_0x1e5f76;this['logger'][_0x3af17a(0x1ac)]('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this['port'],'url':_0x3af17a(0x1f9)+this['port'],'error':_0x44b9a1[_0x3af17a(0x254)],'code':_0x44b9a1['code']});}),_0x57298e['on'](_0x1e5f76(0x245),(_0x457533,_0x53d7b6)=>{const _0x2afd6b=_0x1e5f76;_0x457533===0x3e8&&this['logger'][_0x2afd6b(0x27f)](_0x2afd6b(0x1da));}),setTimeout(()=>{const _0x44d1d5=_0x1e5f76;_0x57298e['readyState']===_0x24f53c['CONNECTING']&&(this[_0x44d1d5(0x1d2)]['error']('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this['port'],'url':'ws://localhost:'+this[_0x44d1d5(0x221)],'readyState':_0x57298e[_0x44d1d5(0x23d)]}),_0x57298e['terminate']());},0x1388);}catch(_0x41e59e){this[_0x1e5f76(0x1d2)]['error'](_0x1e5f76(0x224),{'error':_0x41e59e['message'],'stack':_0x41e59e['stack']});}}['setApiKeyManager'](_0x4c0bee){const _0x5ceabe=a0_0x284faf;this['apiKeyManager']=_0x4c0bee,this['logger']?.[_0x5ceabe(0x27f)](_0x5ceabe(0x265),{'hasManager':!!_0x4c0bee});}['_getVendorFromModel'](_0x5dcbf1){const _0x5460a5=a0_0x284faf;if(!_0x5dcbf1)return null;const _0x9a7aac=_0x5dcbf1[_0x5460a5(0x28b)]();if(_0x9a7aac['includes'](_0x5460a5(0x232))||_0x9a7aac[_0x5460a5(0x26d)](_0x5460a5(0x22e)))return _0x5460a5(0x232);else{if(_0x9a7aac['includes'](_0x5460a5(0x1a4))||_0x9a7aac['includes'](_0x5460a5(0x1ce)))return'openai';else{if(_0x9a7aac['includes'](_0x5460a5(0x215)))return'deepseek';else{if(_0x9a7aac['includes']('phi'))return _0x5460a5(0x1d7);}}}return null;}['getStatus'](){const _0x3cc040=a0_0x284faf;return{'isRunning':this[_0x3cc040(0x1dc)],'port':this['port'],'host':this[_0x3cc040(0x20b)],'connections':this['connections'][_0x3cc040(0x1a8)],'sessions':this[_0x3cc040(0x1ad)][_0x3cc040(0x1a8)],'url':_0x3cc040(0x253)+this[_0x3cc040(0x20b)]+':'+this['port']};}async['shutdown'](){const _0x35d2f1=a0_0x284faf;if(!this['isRunning'])return;this[_0x35d2f1(0x1d2)]['info']('Shutting\x20down\x20web\x20server...');for(const _0x2f9fd5 of this[_0x35d2f1(0x1c6)]['values']()){_0x2f9fd5['ws']['close']();}return this['connections'][_0x35d2f1(0x229)](),this['wss'][_0x35d2f1(0x245)](),new Promise(_0x3a9132=>{this['server']['close'](()=>{const _0x2dea78=a0_0x29b9;this[_0x2dea78(0x1dc)]=![],this['logger']['info']('Web\x20server\x20shutdown\x20complete'),_0x3a9132();});});}}export default WebServer;if(import.meta.url==='file://'+process[a0_0x284faf(0x213)][0x1]){const simpleLogger={'info':(_0x2c41cc,_0x3a7250)=>console[a0_0x284faf(0x251)](a0_0x284faf(0x1de)+_0x2c41cc,_0x3a7250?JSON[a0_0x284faf(0x1c9)](_0x3a7250,null,0x2):''),'error':(_0x38754b,_0x16093d)=>console['error']('[ERROR]\x20'+_0x38754b,_0x16093d?JSON[a0_0x284faf(0x1c9)](_0x16093d,null,0x2):''),'warn':(_0x597cec,_0xd69c40)=>console[a0_0x284faf(0x21a)]('[WARN]\x20'+_0x597cec,_0xd69c40?JSON['stringify'](_0xd69c40,null,0x2):''),'debug':(_0x172b9b,_0xa881d3)=>console[a0_0x284faf(0x251)](a0_0x284faf(0x1b8)+_0x172b9b,_0xa881d3?JSON[a0_0x284faf(0x1c9)](_0xa881d3,null,0x2):'')},mockOrchestrator={'processAction':async(_0x486c93,_0x3e27c1)=>{const _0x3ac4ce=a0_0x284faf;simpleLogger['info'](_0x3ac4ce(0x1b1),{'action':_0x486c93,'data':_0x3e27c1});switch(_0x486c93){case ORCHESTRATOR_ACTIONS[_0x3ac4ce(0x28f)]:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x3ac4ce(0x1ca)]:return{'success':!![],'data':{'id':_0x3ac4ce(0x281)+Date[_0x3ac4ce(0x237)](),'name':_0x3e27c1['name']||_0x3ac4ce(0x1dd),'status':'active','model':_0x3e27c1[_0x3ac4ce(0x260)]||'anthropic-sonnet','systemPrompt':_0x3e27c1[_0x3ac4ce(0x1c2)]||_0x3ac4ce(0x240)}};case ORCHESTRATOR_ACTIONS['SEND_MESSAGE']:return{'success':!![],'data':{'message':{'id':'msg-'+Date['now'](),'content':'Echo:\x20'+_0x3e27c1[_0x3ac4ce(0x254)],'timestamp':new Date()[_0x3ac4ce(0x197)]()}}};default:return{'success':![],'error':'Unknown\x20action:\x20'+_0x486c93};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':a0_0x284faf(0x1eb)});console['log'](a0_0x284faf(0x231)),server['startServer']()[a0_0x284faf(0x1e5)](()=>{const _0x5de873=a0_0x284faf,_0x1a7196=server['getStatus']();console['log'](_0x5de873(0x27d)+_0x1a7196['url']),console[_0x5de873(0x251)]('📱\x20Web\x20UI\x20available\x20at:\x20http://localhost:3001\x20(if\x20running)'),console['log'](_0x5de873(0x1aa));})['catch'](_0x5b7f33=>{const _0x16d3dc=a0_0x284faf;console[_0x16d3dc(0x1ac)](_0x16d3dc(0x217),_0x5b7f33[_0x16d3dc(0x254)]),process[_0x16d3dc(0x1c4)](0x1);}),process['on'](a0_0x284faf(0x256),async()=>{const _0x1663f3=a0_0x284faf;console[_0x1663f3(0x251)](_0x1663f3(0x249)),await server['shutdown'](),process[_0x1663f3(0x1c4)](0x0);});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2026d=a0_0x2987;(function(_0x8ff7e3,_0x4405b5){const _0x19a332=a0_0x2987,_0x4064ee=_0x8ff7e3();while(!![]){try{const _0x57622a=parseInt(_0x19a332(0x117))/0x1*(parseInt(_0x19a332(0x115))/0x2)+parseInt(_0x19a332(0x113))/0x3+parseInt(_0x19a332(0x11a))/0x4*(parseInt(_0x19a332(0x130))/0x5)+parseInt(_0x19a332(0x10c))/0x6+parseInt(_0x19a332(0x125))/0x7*(-parseInt(_0x19a332(0x124))/0x8)+-parseInt(_0x19a332(0x128))/0x9+-parseInt(_0x19a332(0x132))/0xa;if(_0x57622a===_0x4405b5)break;else _0x4064ee['push'](_0x4064ee['shift']());}catch(_0x39a630){_0x4064ee['push'](_0x4064ee['shift']());}}}(a0_0x251d,0x6e9c6));import{promises as a0_0x33ff3b}from'fs';import a0_0x50e55e from'path';import a0_0xdb164 from'os';function a0_0x2987(_0x1ba00d,_0x2db0d2){_0x1ba00d=_0x1ba00d-0x109;const _0x251d6b=a0_0x251d();let _0x2987c4=_0x251d6b[_0x1ba00d];if(a0_0x2987['zUcxuC']===undefined){var _0x8c162d=function(_0x162aa0){const _0x9aab15='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x33ff3b='',_0x50e55e='';for(let _0xdb164=0x0,_0x5d5bae,_0x1f2c8a,_0x2c83c1=0x0;_0x1f2c8a=_0x162aa0['charAt'](_0x2c83c1++);~_0x1f2c8a&&(_0x5d5bae=_0xdb164%0x4?_0x5d5bae*0x40+_0x1f2c8a:_0x1f2c8a,_0xdb164++%0x4)?_0x33ff3b+=String['fromCharCode'](0xff&_0x5d5bae>>(-0x2*_0xdb164&0x6)):0x0){_0x1f2c8a=_0x9aab15['indexOf'](_0x1f2c8a);}for(let _0x2d22e8=0x0,_0x5b3367=_0x33ff3b['length'];_0x2d22e8<_0x5b3367;_0x2d22e8++){_0x50e55e+='%'+('00'+_0x33ff3b['charCodeAt'](_0x2d22e8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50e55e);};a0_0x2987['pJoHbc']=_0x8c162d,a0_0x2987['kxPyGC']={},a0_0x2987['zUcxuC']=!![];}const _0x125432=_0x251d6b[0x0],_0x3287c1=_0x1ba00d+_0x125432,_0x36c644=a0_0x2987['kxPyGC'][_0x3287c1];return!_0x36c644?(_0x2987c4=a0_0x2987['pJoHbc'](_0x2987c4),a0_0x2987['kxPyGC'][_0x3287c1]=_0x2987c4):_0x2987c4=_0x36c644,_0x2987c4;}function a0_0x251d(){const _0x52802f=['AgvHBhrOq2HLy2S','C3rHCNrZv2L0Aa','ntm4ntm0mLfRD0PJsa','y3DK','CMvZB2X2zq','CgXHDgzVCM0','Aw5JBhvKzxm','yNjVD3nLrgLYzwn0B3j5','zMLSzq','mtu1otu5nvzRBvLIrW','C2HVDwXKsw5JBhvKzuL0zw0','mtbgCMDeBuC','BxrPBwu','mJC1mtHcy3fluLG','BwTKAxi','AxntywzLugf0Aa','mtq5ndrhCfPnvwO','C2L6zq','BgvUz3rO','AxneAxjLy3rVCNK','BwvZC2fNzq','z2v0rMLSzuLUzM8','z2v0rMLSzvn0yxrZ','C29Tzq','zxH0BMfTzq','ywXSB3DLzev4DgvUC2LVBNm','mJy0s3fAueDT','ntm4mZDwAM9krva','y29Kzq','y3jLyxrLrgLYzwn0B3j5','ntC2mJa4ogvvv0LeEa','AxngAwXL','AgvHBhrOEq','zMLSzuv4CgXVCMvY','y29UzMLN','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNK','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','zgLYzwn0B3j5','mteXnwLYt3nezG','DhLWzq','mta0mta0mZbKr3rlvgy','Dg9mB3DLCKnHC2u'];a0_0x251d=function(){return _0x52802f;};return a0_0x251d();}class FileExplorerController{constructor(_0x5d5bae={}){const _0xa8b579=a0_0x2987;this[_0xa8b579(0x12c)]={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x5d5bae};}async['getFileStats'](_0x1f2c8a){const _0x1d343d=a0_0x2987;try{const _0x2c83c1=await a0_0x33ff3b['stat'](_0x1f2c8a);return{'stats':_0x2c83c1};}catch(_0x2d22e8){return{'stats':null,'error':_0x2d22e8 instanceof Error?_0x2d22e8[_0x1d343d(0x11e)]:'Unknown\x20error'};}}['isSafePath'](_0x5b3367){const _0x1b6dbd=a0_0x2987;try{const _0x73f074=a0_0x50e55e['resolve'](_0x5b3367);if(this['config']['restrictedPaths'][_0x1b6dbd(0x121)](_0x5d4663=>_0x73f074['startsWith'](a0_0x50e55e[_0x1b6dbd(0x10e)](_0x5d4663))))return![];return!![];}catch(_0x506459){return![];}}['shouldIncludeItem'](_0x13bbba,_0x2fa460){const _0x10eb5b=a0_0x2987;if(!this[_0x10eb5b(0x12c)]['showHidden']&&_0x13bbba[_0x10eb5b(0x10b)]('.'))return![];if(_0x2fa460[_0x10eb5b(0x129)]()&&this[_0x10eb5b(0x12c)][_0x10eb5b(0x123)]['length']>0x0){const _0x240f4a=a0_0x50e55e['extname'](_0x13bbba)['toLowerCase']();if(!this['config']['allowedExtensions'][_0x10eb5b(0x110)](_0x240f4a))return![];}return!![];}async[a0_0x2026d(0x111)](_0x478c2a=process['cwd'](),_0x515fde={}){const _0x43d901=a0_0x2026d;try{const _0x4d5401=a0_0x50e55e[_0x43d901(0x10e)](_0x478c2a);if(!this[_0x43d901(0x119)](_0x4d5401))return{'success':![],'error':'Access\x20to\x20this\x20path\x20is\x20restricted'};const {stats:_0x5f0908,error:_0x45b46c}=await this['getFileStats'](_0x4d5401);if(_0x45b46c||!_0x5f0908)return{'success':![],'error':'Path\x20not\x20found\x20or\x20inaccessible'};if(!_0x5f0908[_0x43d901(0x11d)]())return{'success':![],'error':'Path\x20is\x20not\x20a\x20directory'};const _0x5d4dfb=await a0_0x33ff3b['readdir'](_0x4d5401),_0x37c2d7=[];for(const _0xc30ee4 of _0x5d4dfb){const _0x5b279f=a0_0x50e55e['join'](_0x4d5401,_0xc30ee4),{stats:_0x5e617c}=await this['getFileStats'](_0x5b279f);if(_0x5e617c&&this[_0x43d901(0x114)](_0xc30ee4,_0x5e617c)){const _0x2a3f69={'name':_0xc30ee4,'path':_0x5b279f,'type':_0x5e617c[_0x43d901(0x11d)]()?_0x43d901(0x12f):_0x43d901(0x112),'size':_0x5e617c[_0x43d901(0x129)]()?_0x5e617c[_0x43d901(0x11b)]:undefined,'lastModified':_0x5e617c[_0x43d901(0x116)],'extension':_0x5e617c['isFile']()?a0_0x50e55e[_0x43d901(0x122)](_0xc30ee4)['toLowerCase']():undefined};_0x37c2d7['push'](_0x2a3f69);}}_0x37c2d7['sort']((_0x224a70,_0x4ec8c3)=>{const _0x4e3860=_0x43d901;if(_0x224a70['type']===_0x4ec8c3['type'])return _0x224a70['name']['localeCompare'](_0x4ec8c3['name']);return _0x224a70[_0x4e3860(0x131)]===_0x4e3860(0x12f)?-0x1:0x1;});const _0xda1a41=a0_0x50e55e['dirname'](_0x4d5401),_0x2576ae=_0xda1a41!==_0x4d5401;return{'success':!![],'data':{'currentPath':_0x4d5401,'parentPath':_0x2576ae?_0xda1a41:null,'items':_0x37c2d7,'totalItems':_0x37c2d7['length'],'directories':_0x37c2d7['filter'](_0x4b851f=>_0x4b851f[_0x43d901(0x131)]===_0x43d901(0x12f))[_0x43d901(0x11c)],'files':_0x37c2d7['filter'](_0xeeaa43=>_0xeeaa43['type']===_0x43d901(0x112))['length']}};}catch(_0x573317){return{'success':![],'error':_0x573317 instanceof Error?_0x573317[_0x43d901(0x11e)]:'Server\x20error'};}}async[a0_0x2026d(0x11f)](_0x55b999){const _0x5e3b50=a0_0x2026d;try{if(!_0x55b999||!this[_0x5e3b50(0x119)](_0x55b999))return{'success':![],'error':'Invalid\x20file\x20path'};const {stats:_0x1adc44,error:_0x1ea861}=await this[_0x5e3b50(0x120)](_0x55b999);if(_0x1ea861||!_0x1adc44)return{'success':![],'error':'File\x20not\x20found'};const _0x5d2f09={'name':a0_0x50e55e['basename'](_0x55b999),'path':_0x55b999,'type':_0x1adc44[_0x5e3b50(0x11d)]()?'directory':'file','size':_0x1adc44[_0x5e3b50(0x129)]()?_0x1adc44[_0x5e3b50(0x11b)]:undefined,'lastModified':_0x1adc44[_0x5e3b50(0x116)],'extension':_0x1adc44[_0x5e3b50(0x129)]()?a0_0x50e55e[_0x5e3b50(0x122)](_0x55b999)[_0x5e3b50(0x109)]():undefined};return{'success':!![],'data':_0x5d2f09};}catch(_0x28b04d){return{'success':![],'error':_0x28b04d instanceof Error?_0x28b04d[_0x5e3b50(0x11e)]:'Server\x20error'};}}[a0_0x2026d(0x12e)](){const _0x4acf18=a0_0x2026d;return{'success':!![],'data':{'cwd':process[_0x4acf18(0x10d)](),'platform':process[_0x4acf18(0x10f)],'homedir':a0_0xdb164['homedir']()}};}async[a0_0x2026d(0x127)](_0x217087,_0x47141f={}){const _0x38f347=a0_0x2026d;try{if(!this['isSafePath'](_0x217087))return{'success':![],'error':'Invalid\x20directory\x20path'};return await a0_0x33ff3b[_0x38f347(0x118)](_0x217087,{'recursive':_0x47141f['recursive']||![]}),{'success':!![],'data':{'path':_0x217087,'relativePath':a0_0x50e55e['relative'](process[_0x38f347(0x10d)](),_0x217087)}};}catch(_0x567e93){return{'success':![],'error':_0x567e93 instanceof Error?_0x567e93[_0x38f347(0x11e)]:_0x38f347(0x12d),'code':_0x567e93[_0x38f347(0x126)]};}}[a0_0x2026d(0x10a)](){const _0x11bd87=a0_0x2026d;return{'success':!![],'data':{'status':_0x11bd87(0x12a),'timestamp':new Date()['toISOString'](),'module':_0x11bd87(0x12b)}};}}export default FileExplorerController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a0_0x1bbd(){const _0x508cc4=['mte3nJeZoeTMr0vIBa','mtaWmffXyNvXsW','mtvYEg9ouNq','mtriDMr6Bha','mtmWmZe5mfvMs2DfAW','mty1mtuYogTetgrbCq','mtiYntm4ovDcrMvnAG','ndyXotqWEMrtAwXZ','mty4ntDVqxPVwg0','mJu4odfXwKTWyLq'];a0_0x1bbd=function(){return _0x508cc4;};return a0_0x1bbd();}(function(_0x65a929,_0x4961f){const _0x5b2fbd=a0_0x4e77,_0x3eb4de=_0x65a929();while(!![]){try{const _0x226364=-parseInt(_0x5b2fbd(0x10f))/0x1*(parseInt(_0x5b2fbd(0x113))/0x2)+parseInt(_0x5b2fbd(0x116))/0x3+-parseInt(_0x5b2fbd(0x10d))/0x4*(-parseInt(_0x5b2fbd(0x112))/0x5)+-parseInt(_0x5b2fbd(0x110))/0x6+-parseInt(_0x5b2fbd(0x114))/0x7+parseInt(_0x5b2fbd(0x115))/0x8+-parseInt(_0x5b2fbd(0x10e))/0x9*(parseInt(_0x5b2fbd(0x111))/0xa);if(_0x226364===_0x4961f)break;else _0x3eb4de['push'](_0x3eb4de['shift']());}catch(_0x3bbdf6){_0x3eb4de['push'](_0x3eb4de['shift']());}}}(a0_0x1bbd,0x3370b));import{createFileExplorerRouter,defaultConfig}from'./routes.js';import a0_0x5679ed from'./controller.js';function a0_0x4e77(_0x43b285,_0x43f3bd){_0x43b285=_0x43b285-0x10d;const _0x1bbd0c=a0_0x1bbd();let _0x4e77df=_0x1bbd0c[_0x43b285];if(a0_0x4e77['xCGpBT']===undefined){var _0x16f53e=function(_0x5e8ea2){const _0x164db7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5679ed='',_0x3abbba='';for(let _0x323307=0x0,_0x79a3b6,_0x1b5196,_0xbbd0bb=0x0;_0x1b5196=_0x5e8ea2['charAt'](_0xbbd0bb++);~_0x1b5196&&(_0x79a3b6=_0x323307%0x4?_0x79a3b6*0x40+_0x1b5196:_0x1b5196,_0x323307++%0x4)?_0x5679ed+=String['fromCharCode'](0xff&_0x79a3b6>>(-0x2*_0x323307&0x6)):0x0){_0x1b5196=_0x164db7['indexOf'](_0x1b5196);}for(let _0x1b30bc=0x0,_0x5de765=_0x5679ed['length'];_0x1b30bc<_0x5de765;_0x1b30bc++){_0x3abbba+='%'+('00'+_0x5679ed['charCodeAt'](_0x1b30bc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3abbba);};a0_0x4e77['MZWlCk']=_0x16f53e,a0_0x4e77['SSFxiJ']={},a0_0x4e77['xCGpBT']=!![];}const _0x11dea8=_0x1bbd0c[0x0],_0x216dcf=_0x43b285+_0x11dea8,_0x26aa99=a0_0x4e77['SSFxiJ'][_0x216dcf];return!_0x26aa99?(_0x4e77df=a0_0x4e77['MZWlCk'](_0x4e77df),a0_0x4e77['SSFxiJ'][_0x216dcf]=_0x4e77df):_0x4e77df=_0x26aa99,_0x4e77df;}export function initFileExplorerModule(_0x3abbba={}){const _0x323307={...defaultConfig,..._0x3abbba},_0x79a3b6=createFileExplorerRouter(_0x323307),_0x1b5196=new a0_0x5679ed(_0x323307);return{'router':_0x79a3b6,'controller':_0x1b5196,'config':_0x323307};}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x5679ed,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x4e2b(_0x109d93,_0x51ae83){_0x109d93=_0x109d93-0x7e;const _0x183fea=a0_0x183f();let _0x4e2b0d=_0x183fea[_0x109d93];if(a0_0x4e2b['URZuIF']===undefined){var _0x58b229=function(_0x275af3){const _0x13467f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x395043='',_0x394e71='';for(let _0x18be5a=0x0,_0x2af0ac,_0x2ea217,_0x3d93c2=0x0;_0x2ea217=_0x275af3['charAt'](_0x3d93c2++);~_0x2ea217&&(_0x2af0ac=_0x18be5a%0x4?_0x2af0ac*0x40+_0x2ea217:_0x2ea217,_0x18be5a++%0x4)?_0x395043+=String['fromCharCode'](0xff&_0x2af0ac>>(-0x2*_0x18be5a&0x6)):0x0){_0x2ea217=_0x13467f['indexOf'](_0x2ea217);}for(let _0x4c6883=0x0,_0x42982b=_0x395043['length'];_0x4c6883<_0x42982b;_0x4c6883++){_0x394e71+='%'+('00'+_0x395043['charCodeAt'](_0x4c6883)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x394e71);};a0_0x4e2b['GjmWpH']=_0x58b229,a0_0x4e2b['UYLBdQ']={},a0_0x4e2b['URZuIF']=!![];}const _0x496aed=_0x183fea[0x0],_0x418f2c=_0x109d93+_0x496aed,_0x3ddb18=a0_0x4e2b['UYLBdQ'][_0x418f2c];return!_0x3ddb18?(_0x4e2b0d=a0_0x4e2b['GjmWpH'](_0x4e2b0d),a0_0x4e2b['UYLBdQ'][_0x418f2c]=_0x4e2b0d):_0x4e2b0d=_0x3ddb18,_0x4e2b0d;}(function(_0x2e3b02,_0x1a471f){const _0x4cbb78=a0_0x4e2b,_0x3abf2b=_0x2e3b02();while(!![]){try{const _0x3096fa=-parseInt(_0x4cbb78(0x7f))/0x1+-parseInt(_0x4cbb78(0x8f))/0x2*(-parseInt(_0x4cbb78(0x8a))/0x3)+parseInt(_0x4cbb78(0x7e))/0x4+parseInt(_0x4cbb78(0x83))/0x5*(parseInt(_0x4cbb78(0x92))/0x6)+-parseInt(_0x4cbb78(0x8d))/0x7+parseInt(_0x4cbb78(0x8c))/0x8+parseInt(_0x4cbb78(0x84))/0x9*(-parseInt(_0x4cbb78(0x91))/0xa);if(_0x3096fa===_0x1a471f)break;else _0x3abf2b['push'](_0x3abf2b['shift']());}catch(_0x26898d){_0x3abf2b['push'](_0x3abf2b['shift']());}}}(a0_0x183f,0x6dc14));export function validatePath(_0x395043,_0x394e71,_0x18be5a){const _0x154586=a0_0x4e2b,{path:_0x2af0ac}=_0x395043['query'];if(_0x2af0ac&&typeof _0x2af0ac!=='string')return _0x394e71['status'](0x190)[_0x154586(0x90)]({'success':![],'error':'Path\x20parameter\x20must\x20be\x20a\x20string'});_0x18be5a();}export function createRateLimit(_0x2ea217=0x64,_0x3d93c2=0xea60){const _0x4c6883=new Map();return(_0x42982b,_0xaf046a,_0x41261c)=>{const _0x3d6c9a=a0_0x4e2b,_0xf750be=_0x42982b['ip']||_0x42982b[_0x3d6c9a(0x88)]['remoteAddress']||_0x3d6c9a(0x94),_0x40f551=Date[_0x3d6c9a(0x81)](),_0x594dbf=_0x40f551-_0x3d93c2;!_0x4c6883[_0x3d6c9a(0x86)](_0xf750be)&&_0x4c6883[_0x3d6c9a(0x87)](_0xf750be,[]);const _0x413662=_0x4c6883[_0x3d6c9a(0x93)](_0xf750be),_0x122d60=_0x413662['filter'](_0x4569cb=>_0x4569cb>_0x594dbf);_0x4c6883[_0x3d6c9a(0x87)](_0xf750be,_0x122d60);if(_0x122d60[_0x3d6c9a(0x8e)]>=_0x2ea217)return _0xaf046a['status'](0x1ad)[_0x3d6c9a(0x90)]({'success':![],'error':_0x3d6c9a(0x85),'retryAfter':Math['ceil'](_0x3d93c2/0x3e8)});_0x122d60[_0x3d6c9a(0x80)](_0x40f551),_0x41261c();};}function a0_0x183f(){const _0x24983d=['BM8Ty2fJAgu','mtC5otDgAvnkqLi','ic0G','mtm5oty2nfj3v0LhwG','mJGXmdy0n0PPu1vpAW','BgvUz3rO','mJu4t1HZDhPn','ANnVBG','mZGWB0roD3DJ','odC4mta2wM1PufPx','z2v0','Dw5RBM93BG','B3jPz2LUywXvCMW','mta2nZy5mKLvq3PorG','ntq3mte1vMPjAfLU','ChvZAa','BM93','zMLUAxnO','mZbTrujOuhu','mty0nZyZwvjnqwH5','vg9Vig1HBNKGCMvXDwvZDhm','AgfZ','C2v0','y29UBMvJDgLVBG'];a0_0x183f=function(){return _0x24983d;};return a0_0x183f();}export function securityHeaders(_0x368cc8,_0x4ad811,_0x544763){const _0x42231b=a0_0x4e2b;_0x4ad811[_0x42231b(0x87)]({'Cache-Control':'no-cache,\x20no-store,\x20must-revalidate','Pragma':_0x42231b(0x89),'Expires':'0'}),_0x544763();}export function requestLogger(_0x58ee20,_0x2dba9a,_0x2e8404){const _0x56c80e=a0_0x4e2b,_0x2fbb5c=Date[_0x56c80e(0x81)]();_0x2dba9a['on'](_0x56c80e(0x82),()=>{const _0x459ca2=_0x56c80e,_0x5ce2f1=Date[_0x459ca2(0x81)]()-_0x2fbb5c;console['log']('[FileExplorer]\x20'+_0x58ee20['method']+'\x20'+_0x58ee20[_0x459ca2(0x95)]+_0x459ca2(0x8b)+_0x2dba9a['statusCode']+'\x20('+_0x5ce2f1+'ms)');}),_0x2e8404();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x12df(){const _0x2808b4=['l2zPBguTAw5MBW','mty1mdyZCKf0t2Tt','l2n3za','C3rHDhvZ','z2v0','nJKYmdaXouTACMPorq','yNjVD3nLrgLYzwn0B3j5','DxnL','C2HVD0HPzgrLBG','CMvZDhjPy3rLza','ndG0nJK0n0nuCePMBG','yM9KEq','mtzJyKTNr2y','ntaWnJKWnhndq1zZyG','l21RzgLY','ruvysvnu','zxjYB3i','CxvLCNK','sw50zxjUywWGC2vYDMvYigvYCM9Y','Cg9ZDa','ntbAyNjpvhy','ANnVBG','uM91DgvY','nti5ntDqs1LrB3y','mJbxqw11AMi','nde5mte1t1fQB2vV','Cgf0Aa','mJuWnZi2mtbXq3nTq3C'];a0_0x12df=function(){return _0x2808b4;};return a0_0x12df();}function a0_0x2a0f(_0x1d672f,_0xdc42bc){_0x1d672f=_0x1d672f-0x8e;const _0x12df27=a0_0x12df();let _0x2a0fab=_0x12df27[_0x1d672f];if(a0_0x2a0f['TaxUoL']===undefined){var _0x205405=function(_0x82bf96){const _0x533877='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14d4cc='',_0x428f75='';for(let _0x4f833a=0x0,_0x1cd7c6,_0x18affc,_0x397015=0x0;_0x18affc=_0x82bf96['charAt'](_0x397015++);~_0x18affc&&(_0x1cd7c6=_0x4f833a%0x4?_0x1cd7c6*0x40+_0x18affc:_0x18affc,_0x4f833a++%0x4)?_0x14d4cc+=String['fromCharCode'](0xff&_0x1cd7c6>>(-0x2*_0x4f833a&0x6)):0x0){_0x18affc=_0x533877['indexOf'](_0x18affc);}for(let _0x494a6c=0x0,_0x3fb24d=_0x14d4cc['length'];_0x494a6c<_0x3fb24d;_0x494a6c++){_0x428f75+='%'+('00'+_0x14d4cc['charCodeAt'](_0x494a6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x428f75);};a0_0x2a0f['dVMRyF']=_0x205405,a0_0x2a0f['nhSgiH']={},a0_0x2a0f['TaxUoL']=!![];}const _0x5e85b8=_0x12df27[0x0],_0x14d860=_0x1d672f+_0x5e85b8,_0x5cd662=a0_0x2a0f['nhSgiH'][_0x14d860];return!_0x5cd662?(_0x2a0fab=a0_0x2a0f['dVMRyF'](_0x2a0fab),a0_0x2a0f['nhSgiH'][_0x14d860]=_0x2a0fab):_0x2a0fab=_0x5cd662,_0x2a0fab;}(function(_0x1ed729,_0x5e04a4){const _0x53efe2=a0_0x2a0f,_0x1b0200=_0x1ed729();while(!![]){try{const _0x5744d6=parseInt(_0x53efe2(0x8f))/0x1*(parseInt(_0x53efe2(0xa8))/0x2)+parseInt(_0x53efe2(0x95))/0x3*(parseInt(_0x53efe2(0x90))/0x4)+-parseInt(_0x53efe2(0x91))/0x5+-parseInt(_0x53efe2(0xa1))/0x6+-parseInt(_0x53efe2(0x9e))/0x7+parseInt(_0x53efe2(0xa0))/0x8*(-parseInt(_0x53efe2(0x99))/0x9)+parseInt(_0x53efe2(0x93))/0xa;if(_0x5744d6===_0x5e04a4)break;else _0x1b0200['push'](_0x1b0200['shift']());}catch(_0xc7b857){_0x1b0200['push'](_0x1b0200['shift']());}}}(a0_0x12df,0xe9d55));import a0_0x14d4cc from'express';import a0_0x428f75 from'./controller.js';import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x4f833a={}){const _0x31c901=a0_0x2a0f,_0x1cd7c6=a0_0x14d4cc[_0x31c901(0x8e)](),_0x18affc=new a0_0x428f75(_0x4f833a);return _0x1cd7c6['use'](requestLogger),_0x1cd7c6[_0x31c901(0x9b)](securityHeaders),_0x1cd7c6[_0x31c901(0x9b)](createRateLimit(0x64,0xea60)),_0x1cd7c6['get']('/health',(_0x397015,_0x494a6c)=>{const _0x149303=_0x31c901,_0x3fb24d=_0x18affc['healthCheck']();_0x494a6c[_0x149303(0xa9)](_0x3fb24d);}),_0x1cd7c6['get'](_0x31c901(0x96),(_0x16a962,_0x16c0ce)=>{const _0x1d2482=_0x18affc['getCurrentWorkingDirectory']();_0x16c0ce['json'](_0x1d2482);}),_0x1cd7c6[_0x31c901(0x98)]('/browse',validatePath,async(_0x76c3d9,_0xa93fa8)=>{const _0x47751b=_0x31c901;try{const _0x144047=_0x76c3d9[_0x47751b(0xa5)][_0x47751b(0x92)],_0x5acbad={'showHidden':_0x76c3d9[_0x47751b(0xa5)][_0x47751b(0x9c)]==='true'},_0x314b0e=await _0x18affc[_0x47751b(0x9a)](_0x144047,_0x5acbad);if(_0x314b0e['success'])_0xa93fa8['json'](_0x314b0e);else{const _0xc69937=_0x314b0e[_0x47751b(0xa4)]['includes'](_0x47751b(0x9d))?0x193:_0x314b0e['error']['includes']('not\x20found')?0x194:0x190;_0xa93fa8['status'](_0xc69937)['json'](_0x314b0e);}}catch(_0x473403){_0xa93fa8[_0x47751b(0x97)](0x1f4)[_0x47751b(0xa9)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x1cd7c6[_0x31c901(0x98)](_0x31c901(0x94),validatePath,async(_0x280365,_0x51e606)=>{const _0x3ee113=_0x31c901;try{const _0x5b84e2=_0x280365[_0x3ee113(0xa5)]['path'],_0x2c31cb=await _0x18affc['getFileInfo'](_0x5b84e2);if(_0x2c31cb['success'])_0x51e606[_0x3ee113(0xa9)](_0x2c31cb);else{const _0x5002f6=_0x2c31cb[_0x3ee113(0xa4)]['includes']('not\x20found')?0x194:0x190;_0x51e606['status'](_0x5002f6)[_0x3ee113(0xa9)](_0x2c31cb);}}catch(_0xf8affb){_0x51e606['status'](0x1f4)[_0x3ee113(0xa9)]({'success':![],'error':_0x3ee113(0xa6)});}}),_0x1cd7c6[_0x31c901(0xa7)](_0x31c901(0xa2),a0_0x14d4cc[_0x31c901(0xa9)](),async(_0x13d935,_0x28f592)=>{const _0x398cb1=_0x31c901;try{const {path:_0xe2c219,recursive:recursive=![]}=_0x13d935[_0x398cb1(0x9f)];if(!_0xe2c219)return _0x28f592['status'](0x190)['json']({'success':![],'error':'Directory\x20path\x20is\x20required'});const _0x504639=await _0x18affc['createDirectory'](_0xe2c219,{'recursive':recursive});if(_0x504639['success'])_0x28f592[_0x398cb1(0xa9)](_0x504639);else{const _0x59b41e=_0x504639['code']===_0x398cb1(0xa3)?0x199:0x190;_0x28f592['status'](_0x59b41e)['json'](_0x504639);}}catch(_0x4e83da){_0x28f592['status'](0x1f4)[_0x398cb1(0xa9)]({'success':![],'error':_0x398cb1(0xa6)});}}),_0x1cd7c6;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};export default createFileExplorerRouter;
|