@loxia-labs/loxia-autopilot-one 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/{index-lCBai6dX.js → index-CX8ZfpGw.js} +113 -60
- package/web-ui/build/static/index-Dwg_JrlO.css +1 -0
- package/web-ui/build/static/index-CClD1090.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x8758e3=a0_0x42aa;(function(_0x4f410c,_0x4b2481){const _0xe0da3=a0_0x42aa,_0x5d766f=_0x4f410c();while(!![]){try{const _0x1d6afe=parseInt(_0xe0da3(0xae))/0x1+parseInt(_0xe0da3(0xf9))/0x2+parseInt(_0xe0da3(0xcf))/0x3*(parseInt(_0xe0da3(0x74))/0x4)+-parseInt(_0xe0da3(0xa0))/0x5*(-parseInt(_0xe0da3(0x15c))/0x6)+-parseInt(_0xe0da3(0x9f))/0x7+parseInt(_0xe0da3(0x110))/0x8*(-parseInt(_0xe0da3(0xef))/0x9)+-parseInt(_0xe0da3(0xea))/0xa*(parseInt(_0xe0da3(0xdc))/0xb);if(_0x1d6afe===_0x4b2481)break;else _0x5d766f['push'](_0x5d766f['shift']());}catch(_0xc750c9){_0x5d766f['push'](_0x5d766f['shift']());}}}(a0_0x472e,0x1b40a));import a0_0x1c9910 from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x479b49 from'path';import{promises as a0_0x1cc18b}from'fs';function a0_0x42aa(_0x3669d7,_0x3c7400){_0x3669d7=_0x3669d7-0x73;const _0x472e78=a0_0x472e();let _0x42aa73=_0x472e78[_0x3669d7];if(a0_0x42aa['nlpruE']===undefined){var _0x454d16=function(_0x3b7745){const _0x19fb4a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c9910='',_0x479b49='';for(let _0x1cc18b=0x0,_0x14251e,_0x4dbe36,_0x108616=0x0;_0x4dbe36=_0x3b7745['charAt'](_0x108616++);~_0x4dbe36&&(_0x14251e=_0x1cc18b%0x4?_0x14251e*0x40+_0x4dbe36:_0x4dbe36,_0x1cc18b++%0x4)?_0x1c9910+=String['fromCharCode'](0xff&_0x14251e>>(-0x2*_0x1cc18b&0x6)):0x0){_0x4dbe36=_0x19fb4a['indexOf'](_0x4dbe36);}for(let _0x29fef0=0x0,_0x325d79=_0x1c9910['length'];_0x29fef0<_0x325d79;_0x29fef0++){_0x479b49+='%'+('00'+_0x1c9910['charCodeAt'](_0x29fef0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x479b49);};a0_0x42aa['QkKodB']=_0x454d16,a0_0x42aa['RTRXwd']={},a0_0x42aa['nlpruE']=!![];}const _0xc04d8a=_0x472e78[0x0],_0x5a145a=_0x3669d7+_0xc04d8a,_0x13a797=a0_0x42aa['RTRXwd'][_0x5a145a];return!_0x13a797?(_0x42aa73=a0_0x42aa['QkKodB'](_0x42aa73),a0_0x42aa['RTRXwd'][_0x5a145a]=_0x42aa73):_0x42aa73=_0x13a797,_0x42aa73;}import{fileURLToPath}from'url';function a0_0x472e(){const _0x55d188=['zMLSzu5HBwu','Cgf5Bg9Hza','y29Kzq','CMvXDwvZDeLK','CMvTB3zLu2vZC2LVBKTLExm','AgvHzgvYCW','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','C2vUzezPBgu','y29UBI0','qKfex1jfuvvfu1q','ChjVy2vZC1jLCxvLC3q','sw52ywXPzcbZzxnZAw9U','rMfPBgvKihrVigDLDcb0B29SCYbPBMzVCM1HDgLVBG','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','CgH5C2LJywXSEurLBgv0zwq','ywDLBNrqB29S','rMfPBgvKihrVihbYB3H5ignOyxqGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5K','mtbTyG','mJe2mZqYEhPhB25k','mJKWCeL4twTx','zMLSzq','C3vIC3rY','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','v2vIihnLCNzLCIbZAhv0zg93BIbJB21WBgv0zq','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','v0vc','zxHPDa','ywDLBNrjza','rMfPBgvKihrVignVBM5Ly3qGDg8GquKGC2vYDMLJzq','l3rTCc9SB3HPys1PBwfNzxm','DgvYBwLUyxrL','yw50AhjVCgLJlxnVBM5LDa','mtmXotC0zfrqr1HR','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','C3rVCef1Dg9UB21VDxnfEgvJDxrPB24','v2vIihnLCNzLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq','CgfYyw1Z','CMvHzhLtDgf0zq','sw1Hz2uGC2vYDMLUzYbLCNjVCG','D3nnyw5Hz2vY','DxbKyxrLx2fNzw50','Bg9Nz2vY','BgvUz3rO','DgfZA1n0yxj0vgLTzq','AxnsDw5UAw5N','z2v0qwn0AxzLu2vZC2LVBNm','yMLYDgH0Aw1L','ywXS','sfruucbZzxj2zxiGC3rHCNrLzcbZDwnJzxnZzNvSBhK','Bg9N','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','C2L6zq','C2vZC2LVBKLK','q1jfqvrfx0fhru5u','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGveLnru9vva','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','DxjSzw5JB2rLza','C3rHDgLJ','l2fWAs9MAwXLCW','ywDLBNrFBw9Kzv9JAgfUz2vK','D2vIlq','C3rHDgvnyw5Hz2vY','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','C2v0qxbPs2v5twfUywDLCG','m1vywwDVEa','zMLSztOVlW','zNjVBq','C2v0','vw5RBM93BIbHy3rPB246ia','C2H1DgrVD24','BwvZC2fNzq','rwnOBZOG','C29JA2v0','qxr0ywnOBwvUDcb1CgrHDgvK','rMfPBgvKihrVihrVz2DSzsbHDhrHy2HTzw50','sw52ywXPza','C2vYDMvY','mtfwuLnUuLG','z2v0qwDLBNrnzxrHzgf0yq','C3rHy2S','Ahr0CdOVlW','z2v0x2fNzw50x3n0yxr1CW','D3jPDgvgAwXL','BgLZDgvU','Dhj1zq','BM9YBwfSAxPL','ChvZAa','zgLYzwn0B3j5','DxrMoa','CMfUzg9T','Cgf0Aa','mJCWndy3meXdBuTfrG','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','v2vIu29JA2v0ig1LC3nHz2uGzxjYB3i','yxbWBgLJyxrPB24VANnVBG','Cg9YDa','nJqZodmZugPKA2TK','C2v0u2vZC2LVBKTLExm','C3rHDhvZvgv4Da','Dg9ju09tDhjPBMC','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','z3b0','B3bLBMfP','C2vZC2LVBKLe','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','zw52','mJu5mdq2CvftrKzU','ChjVAMvJDerPCG','Aw5MBW','l2fWAs9RzxLZlZPZzxnZAw9Uswq','C2vZC2LVBL9QB2LUzwq','qMvHCMvYia','C3vJy2vZCW','zMLSDgvY','DxnL','Cgf0y2G','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','zgvSzxrLqxr0ywnOBwvUDa','B3jJAgvZDhjHDg9Yx3jLCxvLC3q','AxneAxjLy3rVCNK','CMvZB2X2zq','CMvMCMvZAa','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3bYzxzPzxC','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','CMvSyxrPDMu','Aw1Hz2vZ','BMfTzq','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','oej6zNDfuG','C2vZC2LVBNm','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','l2fWAs9ZzxnZAw9UCW','Bw9Kzvn0yxrL','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGD2vIihnLCNzLCG','yNjVywrJyxn0vg9tzxnZAw9U','te9ysufFqvbjx0Tfwq','yxrPBwu','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','CMvHzezPBgu','Aw5JBhvKzxm','DxnLCI1Hz2vUDa','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','BgfZDefJDgL2Axr5','qxr0ywnOBwvUDcbUB3qGzM91BMq','DMfSDwvZ','ywn0Aw9U','DgvZDfDLyLnVy2TLDfnLCNzLCG','BxrPBwu','qwDLBNqGBM90igzVDw5K','ChjLzMvYCMvKtw9KzwW','C2vUza','DxbSB2fKrMLSzq','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','BgLZDgvUAw5N','CxvLCNK','BM90igzVDw5K','Bw9KzwW','rMfPBgvKihrVihnLCNzLigLTywDL','w0rfqLvhxsa','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','y3vYCMvUDfrHC2S','y2XHDwrL','zgvSzxrL','C3rHDa','D3nZ','BM93','AM9PBG','y2f0y2G','Bwv0Ag9K','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhmVDxbSB2fK','l2fWAs9OzwfSDgG','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','CMvTB3rLqwrKCMvZCW','CMvX','Ag9ZDa','Dg9tDhjPBMC','sw1Hz2uGBM90igzVDw5K','B3jPz2LU','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','yM9KEq','Dgv4Da','D2fYBG','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','lI4VlI4VCgfJA2fNzs5QC29U','AxnmB2fKzwq','DhLWzq','Bw9KzwXZu2vYDMLJzq','l2fWAs9SBg0Vy2HHDa','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','C3rHCNrtzxj2zxi','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','CM9Szq','y29UBMvJDgLVBNm','Bg9JywXOB3n0','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','ywDLBNq','tK9ux0zpvu5e','CgHP','q09otKvdveLorW','v2vIu29JA2v0igPVAw5LzcbZzxnZAw9U','mte5odjMDfjjzK8','BwTKAxi','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','rMfPBgvKihrVihjLzNjLC2GGBw9KzwXZigfMDgvYiefqssbRzxKGDxbKyxrL','zxjYB3i','y29UBMvJDgvK','DxjS','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','D3m6lY9SB2nHBgHVC3q6','zMLSzuLK','CgfYC2u','y3vYCMvUDe1VzgvS','AgvHBhrOEq','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','C2v0DxbxzwjtB2nRzxq','qwDLBNqG','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','Dg9Nz2XLqwn0AxzL','C3rHDhvZ','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','y3DK','Bw9KzwXZ','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','qxr0ywnOBwvUDcbKzwXLDgvK','Cg9ZDa','z2v0qxr0ywnOBwvUDhm','BwfW','rMfPBgvKihrVihn0yxj0ieHuvfaGC2vYDMvY','C2v0DxbnAwrKBgv3yxjL','y29UzMLN','B3jJAgvZDhjHDg9Y','C3vIC3rYAw5N','yxbPs2v5twfUywDLCG','z2v0','y2XVC2u','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','ndi4oduYzuLOsenK','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','teLtvf9br0vovfm','ANnVBG','zgvLChnLzwS','yxbW','CMvHzgrPCG','zgLYzwn0B3j5qwnJzxnZ','u0vorf9nrvntquDf','D29YA2LUz0rPCMvJDg9YEq','ywDLBNqT','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','r0vulcbqt1nulcbqvvqSierftevursWGt1busu9ouW','Bw9Kzq','l2fWAs9LEhbSB3jLCG','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','su5urvjoquXFu0vsvKvsx0vsuK9s','ywn0AxzL','y29UDgvUDa','C3rHCNrZv2L0Aa','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','ue9tva','C3rYAw5NAwz5','C2v0DxbsB3v0zxm'];a0_0x472e=function(){return _0x55d188;};return a0_0x472e();}import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS,HTTP_STATUS,AGENT_MODES}from'../utilities/constants.js';import{initFileExplorerModule}from'../modules/fileExplorer/index.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x479b49['dirname'](__filename);class WebServer{constructor(_0x14251e,_0x4dbe36,_0x108616={}){const _0x4f69ba=a0_0x42aa;this[_0x4f69ba(0x17a)]=_0x14251e,this['logger']=_0x4dbe36,this['config']=_0x108616,this['port']=_0x108616[_0x4f69ba(0xee)]||0xbb8,this[_0x4f69ba(0x141)]=_0x108616['host']||_0x4f69ba(0x155),this['app']=a0_0x1c9910(),this['server']=createServer(this[_0x4f69ba(0x79)]),this[_0x4f69ba(0x137)]=new WebSocketServer({'server':this['server'],'verifyClient':_0x29fef0=>{const _0x41d26e=_0x4f69ba;return this['logger']?.[_0x41d26e(0xfb)]('WebSocket\x20connection\x20attempt',{'origin':_0x29fef0[_0x41d26e(0x144)],'host':_0x29fef0['req']['headers']['host'],'userAgent':_0x29fef0['req']['headers'][_0x41d26e(0x11f)],'url':_0x29fef0[_0x41d26e(0x140)]['url']}),!![];}}),this[_0x4f69ba(0x154)]=new Map(),this['sessions']=new Map(),this[_0x4f69ba(0x17c)]=null,this[_0x4f69ba(0xbb)]=![];}async['initialize'](){const _0x21d0fe=a0_0x42aa;try{this[_0x21d0fe(0x178)](),this[_0x21d0fe(0x8c)](),this['setupWebSocket'](),await this['startServer'](),this['logger']['info']('Web\x20server\x20initialized',{'port':this['port'],'host':this[_0x21d0fe(0x141)],'url':'http://'+this['host']+':'+this[_0x21d0fe(0xee)]});}catch(_0x325d79){this['logger'][_0x21d0fe(0x160)](_0x21d0fe(0xb2),{'error':_0x325d79['message'],'stack':_0x325d79[_0x21d0fe(0xde)]});throw _0x325d79;}}[a0_0x8758e3(0x178)](){const _0xfdb7a2=a0_0x8758e3;this[_0xfdb7a2(0x79)][_0xfdb7a2(0x101)]((_0x498b64,_0x1089b0,_0xacf877)=>{const _0x540fe9=_0xfdb7a2;_0x1089b0['header']('Access-Control-Allow-Origin','*'),_0x1089b0['header']('Access-Control-Allow-Methods',_0x540fe9(0x80)),_0x1089b0['header'](_0x540fe9(0xf3),'Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x498b64['method']==='OPTIONS'?_0x1089b0['sendStatus'](HTTP_STATUS['OK']):_0xacf877();}),this[_0xfdb7a2(0x79)]['use'](a0_0x1c9910[_0xfdb7a2(0x77)]({'limit':_0xfdb7a2(0x9e)})),this['app'][_0xfdb7a2(0x101)](a0_0x1c9910[_0xfdb7a2(0xc7)]({'extended':!![],'limit':_0xfdb7a2(0x9e)})),this['fileExplorerModule']=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app'][_0xfdb7a2(0x101)]('/api/file-explorer',this['fileExplorerModule']['router']);const _0x5f3ca1=a0_0x479b49['join'](__dirname,'../../web-ui/build');this['app']['use'](a0_0x1c9910[_0xfdb7a2(0xc8)](_0x5f3ca1)),this[_0xfdb7a2(0x79)][_0xfdb7a2(0x101)]((_0x9d5f4c,_0x2c55b5,_0x2f2988)=>{const _0x133a8a=_0xfdb7a2;this['logger']['debug'](_0x9d5f4c[_0x133a8a(0x13b)]+'\x20'+_0x9d5f4c[_0x133a8a(0xe9)],{'ip':_0x9d5f4c['ip'],'userAgent':_0x9d5f4c[_0x133a8a(0x17d)]('User-Agent')}),_0x2f2988();});}['setupRoutes'](){const _0xa1631d=a0_0x8758e3;this['app']['get'](_0xa1631d(0x13d),async(_0x18492d,_0x3c875e)=>{const _0x2b99a3=_0xa1631d;try{const _0x191065=a0_0x479b49['join'](__dirname,_0x2b99a3(0x14a)),_0x313b15=JSON[_0x2b99a3(0x166)](await a0_0x1cc18b[_0x2b99a3(0x11d)](_0x191065,'utf8'));_0x3c875e[_0x2b99a3(0x77)]({'status':_0x2b99a3(0x168),'version':_0x313b15['version']||'1.0.0','timestamp':new Date()[_0x2b99a3(0xf2)]()});}catch(_0x18fc68){_0x3c875e['json']({'status':'healthy','version':'1.0.0','timestamp':new Date()['toISOString']()});}}),this[_0xa1631d(0x79)][_0xa1631d(0x174)](_0xa1631d(0x116),async(_0x5596d1,_0x472f31)=>{const _0x135431=_0xa1631d;try{const _0x2d75d8=_0x135431(0xcb)+Date['now']()+'-'+Math['random']()['toString'](0x24)['substr'](0x2,0x9),_0xaecb99=_0x5596d1['body'][_0x135431(0xfa)]||process[_0x135431(0x170)](),_0x3a2e32={'id':_0x2d75d8,'projectDir':_0xaecb99,'createdAt':new Date()['toISOString'](),'lastActivity':new Date()[_0x135431(0xf2)]()};this['sessions'][_0x135431(0xd2)](_0x2d75d8,_0x3a2e32),_0x472f31['json']({'success':!![],'session':_0x3a2e32});}catch(_0x399671){_0x472f31['status'](HTTP_STATUS[_0x135431(0x84)])[_0x135431(0x77)]({'success':![],'error':_0x399671[_0x135431(0xd5)]});}}),this['app'][_0xa1631d(0x174)]('/api/orchestrator',async(_0x14e51f,_0x45d546)=>{const _0x34f970=_0xa1631d;try{const _0x30064a={'interface':INTERFACE_TYPES[_0x34f970(0xa7)],'sessionId':_0x14e51f[_0x34f970(0x146)]['sessionId'],'action':_0x14e51f[_0x34f970(0x146)]['action'],'payload':_0x14e51f[_0x34f970(0x146)][_0x34f970(0x8e)],'projectDir':_0x14e51f[_0x34f970(0x146)]['projectDir']||process['cwd']()},_0x441c5c=await this[_0x34f970(0x17a)][_0x34f970(0x97)](_0x30064a);this[_0x34f970(0x119)](_0x30064a[_0x34f970(0xc3)],{'type':_0x34f970(0x145),'action':_0x30064a[_0x34f970(0x124)],'response':_0x441c5c}),_0x45d546['json'](_0x441c5c);}catch(_0xf2d927){this[_0x34f970(0xb8)]['error']('Orchestrator\x20API\x20error',{'error':_0xf2d927['message'],'body':_0x14e51f['body']}),_0x45d546['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x34f970(0x77)]({'success':![],'error':_0xf2d927[_0x34f970(0xd5)]});}}),this['app'][_0xa1631d(0x17d)](_0xa1631d(0xc9),async(_0x489389,_0x1bfc9d)=>{const _0xec774e=_0xa1631d;try{const {path:_0x3cea4e,projectDir:_0x4379c9}=_0x489389[_0xec774e(0x12d)],_0x290399=a0_0x479b49['resolve'](_0x4379c9||process['cwd'](),_0x3cea4e||'.'),_0x525ec8=await a0_0x1cc18b[_0xec774e(0x136)](_0x290399);if(_0x525ec8['isDirectory']()){const _0x132f2a=await a0_0x1cc18b[_0xec774e(0x7a)](_0x290399,{'withFileTypes':!![]}),_0x3794a8=_0x132f2a['map'](_0x121c63=>({'name':_0x121c63['name'],'type':_0x121c63['isDirectory']()?_0xec774e(0xe6):_0xec774e(0xa1),'path':a0_0x479b49[_0xec774e(0x139)](_0x3cea4e||'.',_0x121c63[_0xec774e(0x10e)])}));_0x1bfc9d[_0xec774e(0x77)]({'success':!![],'files':_0x3794a8});}else{const _0x5297a0=await a0_0x1cc18b[_0xec774e(0x11d)](_0x290399,_0xec774e(0xe7));_0x1bfc9d[_0xec774e(0x77)]({'success':!![],'content':_0x5297a0,'type':_0xec774e(0xa1)});}}catch(_0x2da76f){_0x1bfc9d[_0xec774e(0x16e)](HTTP_STATUS[_0xec774e(0x158)])['json']({'success':![],'error':_0x2da76f[_0xec774e(0xd5)]});}}),this['app'][_0xa1631d(0x174)]('/api/files/upload',async(_0x3471d8,_0x3489f5)=>{const _0x233a29=_0xa1631d;try{const {fileName:_0x174e99,content:_0xb04330,projectDir:_0x2428df}=_0x3471d8['body'],_0x5c575d=_0x2428df||process['cwd'](),_0x468b3e=a0_0x479b49['resolve'](_0x5c575d,_0x174e99);await a0_0x1cc18b[_0x233a29(0x15d)](_0x5c575d,{'recursive':!![]}),await a0_0x1cc18b[_0x233a29(0xe1)](_0x468b3e,_0xb04330,_0x233a29(0xe7)),_0x3489f5['json']({'success':!![],'message':_0x233a29(0x13e),'path':_0x468b3e});}catch(_0x1a3b9e){_0x3489f5[_0x233a29(0x16e)](HTTP_STATUS[_0x233a29(0x84)])[_0x233a29(0x77)]({'success':![],'error':_0x1a3b9e['message']});}}),this['app']['get'](_0xa1631d(0x82),async(_0x5db5d0,_0x4508e3)=>{const _0x4393b0=_0xa1631d;try{const {path:_0x239a6e,showHidden:showHidden=![]}=_0x5db5d0[_0x4393b0(0x12d)],_0x122a74=_0x239a6e||process[_0x4393b0(0x170)](),_0x411fd1=a0_0x479b49[_0x4393b0(0x107)](_0x122a74),_0x492a3a=a0_0x479b49[_0x4393b0(0xe4)](_0x411fd1),_0x377215=await a0_0x1cc18b['stat'](_0x492a3a);if(!_0x377215[_0x4393b0(0x106)]())return _0x4508e3['status'](HTTP_STATUS[_0x4393b0(0x96)])['json']({'success':![],'error':_0x4393b0(0x115)});const _0x3159f3=await a0_0x1cc18b['readdir'](_0x492a3a,{'withFileTypes':!![]}),_0x14781d=await Promise[_0x4393b0(0xbe)](_0x3159f3[_0x4393b0(0x100)](_0x3f0b8f=>showHidden===_0x4393b0(0xe3)||!_0x3f0b8f['name'][_0x4393b0(0x87)]('.'))['map'](async _0x54c510=>{const _0x244b42=_0x4393b0,_0x5e0fba=a0_0x479b49[_0x244b42(0x139)](_0x492a3a,_0x54c510['name']),_0x3e3754=await a0_0x1cc18b[_0x244b42(0x136)](_0x5e0fba)[_0x244b42(0x13a)](()=>null);return{'name':_0x54c510['name'],'type':_0x54c510[_0x244b42(0x106)]()?_0x244b42(0xe6):_0x244b42(0xa1),'path':_0x5e0fba,'relativePath':a0_0x479b49[_0x244b42(0x10c)](process['cwd'](),_0x5e0fba),'size':_0x3e3754?.['size']||0x0,'modified':_0x3e3754?.[_0x244b42(0x126)]||null,'isHidden':_0x54c510['name']['startsWith']('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x14781d['sort']((_0x5f76dd,_0xa6bbd9)=>{const _0x3fd23b=_0x4393b0;if(_0x5f76dd['type']!==_0xa6bbd9[_0x3fd23b(0x14c)])return _0x5f76dd[_0x3fd23b(0x14c)]==='directory'?-0x1:0x1;return _0x5f76dd[_0x3fd23b(0x10e)]['localeCompare'](_0xa6bbd9['name']);});const _0x3352c8=a0_0x479b49['dirname'](_0x492a3a),_0x3f00ce=_0x3352c8!==_0x492a3a;_0x4508e3['json']({'success':!![],'currentPath':_0x492a3a,'currentRelativePath':a0_0x479b49[_0x4393b0(0x10c)](process['cwd'](),_0x492a3a),'parentPath':_0x3f00ce?_0x3352c8:null,'items':_0x14781d,'totalItems':_0x14781d[_0x4393b0(0xb9)],'directories':_0x14781d[_0x4393b0(0x100)](_0x843b19=>_0x843b19[_0x4393b0(0x14c)]==='directory')[_0x4393b0(0xb9)],'files':_0x14781d[_0x4393b0(0x100)](_0x1a837f=>_0x1a837f[_0x4393b0(0x14c)]===_0x4393b0(0xa1))[_0x4393b0(0xb9)]});}catch(_0x4562dc){_0x4508e3['status'](HTTP_STATUS[_0x4393b0(0x84)])[_0x4393b0(0x77)]({'success':![],'error':_0x4562dc['message'],'code':_0x4562dc[_0x4393b0(0x8f)]});}}),this[_0xa1631d(0x79)][_0xa1631d(0x174)]('/api/explorer/mkdir',async(_0x47527c,_0x3bcc44)=>{const _0x58a0c4=_0xa1631d;try{const {path:_0x466a0f,name:_0x1b7c16}=_0x47527c[_0x58a0c4(0x146)],_0x2e0549=a0_0x479b49[_0x58a0c4(0x107)](_0x466a0f,_0x1b7c16);await a0_0x1cc18b[_0x58a0c4(0x15d)](_0x2e0549,{'recursive':![]}),_0x3bcc44[_0x58a0c4(0x77)]({'success':!![],'path':_0x2e0549,'relativePath':a0_0x479b49[_0x58a0c4(0x10c)](process[_0x58a0c4(0x170)](),_0x2e0549)});}catch(_0x16370e){_0x3bcc44['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x58a0c4(0x77)]({'success':![],'error':_0x16370e[_0x58a0c4(0xd5)],'code':_0x16370e['code']});}}),this['app']['get']('/api/explorer/info',async(_0x3ade89,_0x1796f1)=>{const _0x45b2e4=_0xa1631d;try{const {path:_0x354ee9}=_0x3ade89[_0x45b2e4(0x12d)],_0x69c54c=a0_0x479b49['resolve'](_0x354ee9),_0x451247=await a0_0x1cc18b[_0x45b2e4(0x136)](_0x69c54c);_0x1796f1[_0x45b2e4(0x77)]({'success':!![],'path':_0x69c54c,'relativePath':a0_0x479b49['relative'](process['cwd'](),_0x69c54c),'isDirectory':_0x451247[_0x45b2e4(0x106)](),'isFile':_0x451247['isFile'](),'size':_0x451247['size'],'created':_0x451247[_0x45b2e4(0xbd)],'modified':_0x451247[_0x45b2e4(0x126)],'accessed':_0x451247[_0x45b2e4(0x11b)]});}catch(_0x8bd11d){_0x1796f1['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x8bd11d[_0x45b2e4(0xd5)],'code':_0x8bd11d['code']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x174)](_0xa1631d(0x14e),async(_0x122cc6,_0x32f8b6)=>{const _0x312446=_0xa1631d;try{const {sessionId:_0x3d39a3,model:_0x15ea5e,platformProvided:_0xd3f35b}=_0x122cc6[_0x312446(0x146)];if(!_0x3d39a3)return _0x32f8b6['status'](0x190)['json']({'error':_0x312446(0x11c)});let _0x2f6190=null,_0x358bb9=null;if(this['apiKeyManager']){const _0x42fa09=this[_0x312446(0x17c)]['getKeysForRequest'](_0x3d39a3,{'platformProvided':_0xd3f35b||![],'vendor':this['_getVendorFromModel'](_0x15ea5e)});_0x2f6190=_0x42fa09['loxiaApiKey'],_0x358bb9=_0x42fa09['vendorApiKey'];}!_0x2f6190&&(_0x2f6190=this['config']['loxiaApiKey']||process[_0x312446(0xf8)][_0x312446(0x11a)]);!_0x2f6190&&_0x122cc6['body']['apiKey']&&(_0x2f6190=_0x122cc6[_0x312446(0x146)]['apiKey']);if(!_0x2f6190)return this[_0x312446(0xb8)]['warn'](_0x312446(0x156),{'sessionId':_0x3d39a3,'model':_0x15ea5e,'platformProvided':_0xd3f35b,'hasSessionManager':!!this['apiKeyManager']}),_0x32f8b6['status'](0x191)[_0x312446(0x77)]({'error':'No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.'});const _0x3e5534='https://autopilot-api.azurewebsites.net/llm/chat',_0x414b63={..._0x122cc6[_0x312446(0x146)],'apiKey':_0x2f6190,..._0x358bb9&&{'vendorApiKey':_0x358bb9}},_0x3a49e3={'method':_0x312446(0x8a),'headers':{'Content-Type':_0x312446(0xed),'Authorization':'Bearer\x20'+_0x2f6190},'body':JSON[_0x312446(0x8b)](_0x414b63)};this[_0x312446(0xb8)][_0x312446(0xfb)](_0x312446(0xeb),{'url':_0x3e5534,'model':_0x122cc6[_0x312446(0x146)]['model'],'hasApiKey':!!_0x2f6190});const _0x32832f=await fetch(_0x3e5534,_0x3a49e3);if(_0x32832f['ok']){const _0xe06183=await _0x32832f['json']();this[_0x312446(0xb8)][_0x312446(0xfb)]('Successfully received response from Azure backend',{'model':_0xe06183[_0x312446(0x12f)],'contentLength':_0xe06183['content']?.['length']||0x0}),_0x32f8b6['json'](_0xe06183);}else{const _0x541eda=await _0x32832f['text']();this[_0x312446(0xb8)][_0x312446(0x148)](_0x312446(0x88),{'status':_0x32832f['status'],'statusText':_0x32832f[_0x312446(0xf1)],'error':_0x541eda}),_0x32f8b6['status'](_0x32832f['status'])['json']({'error':'Azure\x20backend\x20error:\x20'+_0x32832f[_0x312446(0x16e)]+'\x20'+_0x32832f[_0x312446(0xf1)],'details':_0x541eda});}}catch(_0x3e3277){this['logger'][_0x312446(0x160)](_0x312446(0x9d),{'error':_0x3e3277['message'],'stack':_0x3e3277[_0x312446(0xde)]}),_0x32f8b6[_0x312446(0x16e)](0x1f4)['json']({'error':_0x312446(0xaa),'details':_0x3e3277[_0x312446(0xd5)]});}}),this[_0xa1631d(0x79)]['get']('/api/llm/models',async(_0x50d7ae,_0x7aa836)=>{const _0x4bc8b0=_0xa1631d;try{const _0x4b055e=_0x50d7ae[_0x4bc8b0(0x92)]['authorization'];let _0x5e3527=null;_0x4b055e&&_0x4b055e[_0x4bc8b0(0x87)](_0x4bc8b0(0xfe))&&(_0x5e3527=_0x4b055e[_0x4bc8b0(0x17b)](0x7));!_0x5e3527&&(_0x5e3527=this[_0x4bc8b0(0x179)]['loxiaApiKey']||process[_0x4bc8b0(0xf8)]['LOXIA_API_KEY']);const _0x32d85d='https://autopilot-api.azurewebsites.net/llm/models',_0x2eb621={'method':'GET','headers':{'Content-Type':_0x4bc8b0(0xed),..._0x5e3527&&{'Authorization':_0x4bc8b0(0xfe)+_0x5e3527}}};this[_0x4bc8b0(0xb8)]['info']('Fetching models from Loxia Azure backend',{'url':_0x32d85d,'hasApiKey':!!_0x5e3527});const _0x8063e0=await fetch(_0x32d85d,_0x2eb621);if(_0x8063e0['ok']){const _0x2bb610=await _0x8063e0[_0x4bc8b0(0x77)]();this[_0x4bc8b0(0xb8)][_0x4bc8b0(0xfb)]('Successfully fetched models from Azure backend',{'modelCount':_0x2bb610[_0x4bc8b0(0x171)]?.['length']||0x0}),_0x7aa836['json'](_0x2bb610);}else{const _0x5e9c70=await _0x8063e0[_0x4bc8b0(0x147)]();this[_0x4bc8b0(0xb8)][_0x4bc8b0(0x160)](_0x4bc8b0(0x9a),{'status':_0x8063e0[_0x4bc8b0(0x16e)],'statusText':_0x8063e0['statusText'],'error':_0x5e9c70}),_0x7aa836[_0x4bc8b0(0x16e)](_0x8063e0['status'])['json']({'success':![],'error':_0x4bc8b0(0xa3)+_0x8063e0['status']+'\x20'+_0x8063e0['statusText'],'details':_0x5e9c70});}}catch(_0x24521b){this['logger']['error']('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x24521b['message'],'stack':_0x24521b['stack']}),_0x7aa836[_0x4bc8b0(0x16e)](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0x24521b[_0x4bc8b0(0xd5)]});}}),this[_0xa1631d(0x79)][_0xa1631d(0x17d)]('/api/tools',async(_0x33dbcc,_0x302bd1)=>{const _0x4668cc=_0xa1631d;try{const _0x58a8ea=this['toolsRegistry'];if(!_0x58a8ea)return _0x302bd1[_0x4668cc(0x16e)](0x1f4)[_0x4668cc(0x77)]({'error':_0x4668cc(0xb0)});const _0x2ae266=_0x58a8ea['getAvailableToolsForUI']();this[_0x4668cc(0xb8)][_0x4668cc(0xfb)]('Serving\x20tools\x20information',{'toolCount':_0x2ae266[_0x4668cc(0xb9)],'tools':_0x2ae266[_0x4668cc(0x176)](_0x55cd61=>({'id':_0x55cd61['id'],'name':_0x55cd61[_0x4668cc(0x10e)],'category':_0x55cd61['category']}))}),_0x302bd1['json']({'success':!![],'tools':_0x2ae266,'total':_0x2ae266[_0x4668cc(0xb9)]});}catch(_0x336c4a){this[_0x4668cc(0xb8)]['error'](_0x4668cc(0x99),{'error':_0x336c4a[_0x4668cc(0xd5)],'stack':_0x336c4a[_0x4668cc(0xde)]}),_0x302bd1['status'](0x1f4)[_0x4668cc(0x77)]({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x336c4a['message']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x174)]('/api/keys',async(_0x305f42,_0x14866a)=>{const _0x5d4555=_0xa1631d;try{const {sessionId:_0x18d432,loxiaApiKey:_0x39c2d0,vendorKeys:_0x9557ba}=_0x305f42['body'];if(!_0x18d432)return _0x14866a['status'](0x190)[_0x5d4555(0x77)]({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this['apiKeyManager'])return _0x14866a['status'](0x1f4)[_0x5d4555(0x77)]({'success':![],'error':_0x5d4555(0x16f)});this['apiKeyManager'][_0x5d4555(0xf0)](_0x18d432,{'loxiaApiKey':_0x39c2d0,'vendorKeys':_0x9557ba||{}}),this['logger'][_0x5d4555(0xfb)]('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x18d432,'hasLoxiaKey':!!_0x39c2d0,'vendorKeys':Object['keys'](_0x9557ba||{})});if(this['orchestrator']&&this['orchestrator']['modelsService']&&_0x39c2d0)try{await this['orchestrator'][_0x5d4555(0x14d)][_0x5d4555(0x108)]({'sessionId':_0x18d432,'apiKey':_0x39c2d0}),this[_0x5d4555(0xb8)][_0x5d4555(0xfb)]('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x18d432});}catch(_0x54dc24){this[_0x5d4555(0xb8)]['warn'](_0x5d4555(0x15f),{'error':_0x54dc24['message'],'sessionId':_0x18d432});}_0x14866a[_0x5d4555(0x77)]({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x18d432,'hasLoxiaKey':!!_0x39c2d0,'vendorKeys':Object['keys'](_0x9557ba||{})});}catch(_0x379987){this[_0x5d4555(0xb8)][_0x5d4555(0x160)]('Failed\x20to\x20set\x20API\x20keys',{'error':_0x379987['message'],'sessionId':_0x305f42['body']['sessionId']}),_0x14866a['status'](0x1f4)[_0x5d4555(0x77)]({'success':![],'error':_0x379987['message']});}}),this['app']['get']('/api/keys/:sessionId',async(_0x4b94d9,_0x1dab06)=>{const _0x44243c=_0xa1631d;try{const {sessionId:_0x273cde}=_0x4b94d9[_0x44243c(0xb3)];if(!this['apiKeyManager'])return _0x1dab06[_0x44243c(0x16e)](0x1f4)['json']({'success':![],'error':_0x44243c(0x16f)});const _0x2cb7b7=this['apiKeyManager']['getSessionKeys'](_0x273cde);_0x1dab06['json']({'success':!![],'sessionId':_0x273cde,'hasLoxiaKey':!!_0x2cb7b7['loxiaApiKey'],'vendorKeys':Object['keys'](_0x2cb7b7['vendorKeys']||{}),'updatedAt':_0x2cb7b7['updatedAt']});}catch(_0x2c20b9){this['logger'][_0x44243c(0x160)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x2c20b9[_0x44243c(0xd5)],'sessionId':_0x4b94d9['params'][_0x44243c(0xc3)]}),_0x1dab06[_0x44243c(0x16e)](0x1f4)[_0x44243c(0x77)]({'success':![],'error':_0x2c20b9['message']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x135)](_0xa1631d(0xfc),async(_0x575a5d,_0x5d65ff)=>{const _0x94f62e=_0xa1631d;try{const {sessionId:_0x24ef0d}=_0x575a5d[_0x94f62e(0xb3)];if(!this[_0x94f62e(0x17c)])return _0x5d65ff['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x40c229=this[_0x94f62e(0x17c)][_0x94f62e(0x91)](_0x24ef0d);_0x5d65ff[_0x94f62e(0x77)]({'success':!![],'removed':_0x40c229,'message':_0x40c229?'API\x20keys\x20removed\x20successfully':'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x4d51cd){this['logger'][_0x94f62e(0x160)](_0x94f62e(0x151),{'error':_0x4d51cd['message'],'sessionId':_0x575a5d[_0x94f62e(0xb3)][_0x94f62e(0xc3)]}),_0x5d65ff['status'](0x1f4)['json']({'success':![],'error':_0x4d51cd[_0x94f62e(0xd5)]});}}),this['app']['get']('/api/keys',async(_0x283589,_0x585c0b)=>{const _0x268463=_0xa1631d;try{if(!this[_0x268463(0x17c)])return _0x585c0b['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x5dbaab=this['apiKeyManager'][_0x268463(0xbc)]();_0x585c0b[_0x268463(0x77)]({'success':!![],'sessions':_0x5dbaab,'total':_0x5dbaab['length']});}catch(_0x28e277){this['logger'][_0x268463(0x160)]('Failed\x20to\x20get\x20active\x20sessions',{'error':_0x28e277['message']}),_0x585c0b[_0x268463(0x16e)](0x1f4)[_0x268463(0x77)]({'success':![],'error':_0x28e277['message']});}}),this[_0xa1631d(0x79)]['post'](_0xa1631d(0x13c),async(_0xd6a2e9,_0x1d40fa)=>{const _0x5b0db6=_0xa1631d;try{const {agentId:_0x4a56f9}=_0xd6a2e9['params'],{filePath:_0x4bd72e,mode:_0x4ac4bf,fileName:_0x6a01dd}=_0xd6a2e9[_0x5b0db6(0x146)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x1d40fa[_0x5b0db6(0x16e)](0x1f4)['json']({'success':![],'error':_0x5b0db6(0xa5)});const _0x4d3f9f=await this['orchestrator']['fileAttachmentService'][_0x5b0db6(0x12a)]({'agentId':_0x4a56f9,'filePath':_0x4bd72e,'mode':_0x4ac4bf||'content','fileName':_0x6a01dd});this['logger']['info']('File\x20attachment\x20uploaded',{'agentId':_0x4a56f9,'fileId':_0x4d3f9f['fileId'],'fileName':_0x4d3f9f[_0x5b0db6(0x8d)]}),_0x1d40fa[_0x5b0db6(0x77)]({'success':!![],'attachment':_0x4d3f9f});}catch(_0x11c2b8){this['logger'][_0x5b0db6(0x160)]('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0xd6a2e9[_0x5b0db6(0xb3)]['agentId'],'error':_0x11c2b8['message']}),_0x1d40fa[_0x5b0db6(0x16e)](0x1f4)['json']({'success':![],'error':_0x11c2b8['message']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x17d)](_0xa1631d(0x149),async(_0x4faa26,_0x3bb7c7)=>{const _0x4a1605=_0xa1631d;try{const {agentId:_0x168ae8}=_0x4faa26[_0x4a1605(0xb3)],{mode:_0x4cfbea,active:_0x47d4b4}=_0x4faa26['query'];if(!this[_0x4a1605(0x17a)]?.['fileAttachmentService'])return _0x3bb7c7['status'](0x1f4)[_0x4a1605(0x77)]({'success':![],'error':_0x4a1605(0xa5)});const _0x59fd54={};if(_0x4cfbea)_0x59fd54['mode']=_0x4cfbea;if(_0x47d4b4!==undefined)_0x59fd54['active']=_0x47d4b4==='true';const _0x527e1e=await this[_0x4a1605(0x17a)]['fileAttachmentService'][_0x4a1605(0x175)](_0x168ae8,_0x59fd54);_0x3bb7c7['json']({'success':!![],'attachments':_0x527e1e,'total':_0x527e1e['length']});}catch(_0x5bdc81){this[_0x4a1605(0xb8)]['error']('Failed\x20to\x20get\x20attachments',{'agentId':_0x4faa26['params']['agentId'],'error':_0x5bdc81['message']}),_0x3bb7c7['status'](0x1f4)['json']({'success':![],'error':_0x5bdc81['message']});}}),this['app'][_0xa1631d(0x17d)]('/api/attachments/:fileId',async(_0x40e23c,_0x3e0a7e)=>{const _0x150d84=_0xa1631d;try{const {fileId:_0x37e175}=_0x40e23c[_0x150d84(0xb3)];if(!this['orchestrator']?.[_0x150d84(0x10f)])return _0x3e0a7e['status'](0x1f4)['json']({'success':![],'error':_0x150d84(0xa5)});const _0x4fa86a=await this['orchestrator']['fileAttachmentService']['getAttachment'](_0x37e175);if(!_0x4fa86a)return _0x3e0a7e['status'](0x194)[_0x150d84(0x77)]({'success':![],'error':_0x150d84(0x122)});_0x3e0a7e[_0x150d84(0x77)]({'success':!![],'attachment':_0x4fa86a});}catch(_0x34e794){this['logger'][_0x150d84(0x160)]('Failed\x20to\x20get\x20attachment',{'fileId':_0x40e23c[_0x150d84(0xb3)][_0x150d84(0x165)],'error':_0x34e794['message']}),_0x3e0a7e['status'](0x1f4)[_0x150d84(0x77)]({'success':![],'error':_0x34e794['message']});}}),this[_0xa1631d(0x79)]['patch']('/api/attachments/:fileId/toggle',async(_0x45b690,_0x2cc63a)=>{const _0x2b0be8=_0xa1631d;try{const {fileId:_0x5d305d}=_0x45b690['params'];if(!this[_0x2b0be8(0x17a)]?.[_0x2b0be8(0x10f)])return _0x2cc63a['status'](0x1f4)['json']({'success':![],'error':_0x2b0be8(0xa5)});const _0x7ed0b0=await this[_0x2b0be8(0x17a)][_0x2b0be8(0x10f)][_0x2b0be8(0x16d)](_0x5d305d);this[_0x2b0be8(0xb8)]['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0x5d305d,'active':_0x7ed0b0[_0x2b0be8(0x85)]}),_0x2cc63a['json']({'success':!![],'attachment':_0x7ed0b0});}catch(_0x23fbe7){this['logger'][_0x2b0be8(0x160)](_0x2b0be8(0xd9),{'fileId':_0x45b690[_0x2b0be8(0xb3)]['fileId'],'error':_0x23fbe7[_0x2b0be8(0xd5)]}),_0x2cc63a[_0x2b0be8(0x16e)](0x1f4)['json']({'success':![],'error':_0x23fbe7['message']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x102)]('/api/attachments/:fileId',async(_0x185822,_0x509b97)=>{const _0x2c4bde=_0xa1631d;try{const {fileId:_0x3a68a1}=_0x185822[_0x2c4bde(0xb3)],{mode:_0x57d7ac,active:_0x21d01f}=_0x185822[_0x2c4bde(0x146)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x509b97['status'](0x1f4)[_0x2c4bde(0x77)]({'success':![],'error':_0x2c4bde(0xa5)});const _0xe612b9={};if(_0x57d7ac!==undefined)_0xe612b9[_0x2c4bde(0x81)]=_0x57d7ac;if(_0x21d01f!==undefined)_0xe612b9[_0x2c4bde(0x85)]=_0x21d01f;const _0xe2b16d=await this[_0x2c4bde(0x17a)][_0x2c4bde(0x10f)]['updateAttachment'](_0x3a68a1,_0xe612b9);this[_0x2c4bde(0xb8)][_0x2c4bde(0xfb)](_0x2c4bde(0xd8),{'fileId':_0x3a68a1,'updates':_0xe612b9}),_0x509b97[_0x2c4bde(0x77)]({'success':!![],'attachment':_0xe2b16d});}catch(_0x5dbbfe){this['logger']['error'](_0x2c4bde(0x16c),{'fileId':_0x185822[_0x2c4bde(0xb3)]['fileId'],'error':_0x5dbbfe['message']}),_0x509b97['status'](0x1f4)[_0x2c4bde(0x77)]({'success':![],'error':_0x5dbbfe['message']});}}),this['app']['delete'](_0xa1631d(0xc1),async(_0x5a0ef8,_0x40262f)=>{const _0x37b158=_0xa1631d;try{const {fileId:_0x302a1c}=_0x5a0ef8[_0x37b158(0xb3)],{agentId:_0x3bdd81}=_0x5a0ef8[_0x37b158(0x12d)];if(!_0x3bdd81)return _0x40262f[_0x37b158(0x16e)](0x190)[_0x37b158(0x77)]({'success':![],'error':_0x37b158(0x17f)});if(!this[_0x37b158(0x17a)]?.['fileAttachmentService'])return _0x40262f['status'](0x1f4)['json']({'success':![],'error':_0x37b158(0xa5)});const _0x280a7e=await this[_0x37b158(0x17a)][_0x37b158(0x10f)][_0x37b158(0x104)](_0x302a1c,_0x3bdd81);this['logger'][_0x37b158(0xfb)](_0x37b158(0x173),{'fileId':_0x302a1c,'agentId':_0x3bdd81,'physicallyDeleted':_0x280a7e['physicallyDeleted']}),_0x40262f[_0x37b158(0x77)]({'success':!![],'message':_0x280a7e[_0x37b158(0x9b)]?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x280a7e['physicallyDeleted']});}catch(_0x58751a){this[_0x37b158(0xb8)]['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x5a0ef8['params'][_0x37b158(0x165)],'error':_0x58751a['message']}),_0x40262f[_0x37b158(0x16e)](0x1f4)[_0x37b158(0x77)]({'success':![],'error':_0x58751a['message']});}}),this['app']['post']('/api/attachments/:fileId/import',async(_0x3e2303,_0x5096d6)=>{const _0x1090f5=_0xa1631d;try{const {fileId:_0x43c588}=_0x3e2303['params'],{targetAgentId:_0x17ef65}=_0x3e2303['body'];if(!_0x17ef65)return _0x5096d6[_0x1090f5(0x16e)](0x190)['json']({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this['orchestrator']?.[_0x1090f5(0x10f)])return _0x5096d6[_0x1090f5(0x16e)](0x1f4)[_0x1090f5(0x77)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x303605=await this[_0x1090f5(0x17a)]['fileAttachmentService']['importFromAgent'](_0x43c588,_0x17ef65);this['logger']['info']('Attachment imported',{'fileId':_0x43c588,'targetAgentId':_0x17ef65}),_0x5096d6['json']({'success':!![],'attachment':_0x303605});}catch(_0x533e44){this[_0x1090f5(0xb8)][_0x1090f5(0x160)]('Failed to import attachment',{'fileId':_0x3e2303[_0x1090f5(0xb3)][_0x1090f5(0x165)],'error':_0x533e44['message']}),_0x5096d6['status'](0x1f4)['json']({'success':![],'error':_0x533e44[_0x1090f5(0xd5)]});}}),this[_0xa1631d(0x79)]['get'](_0xa1631d(0x109),async(_0xad58d4,_0x56e8fc)=>{const _0x1d9615=_0xa1631d;try{const {fileId:_0x4d6158}=_0xad58d4[_0x1d9615(0xb3)];if(!this[_0x1d9615(0x17a)]?.[_0x1d9615(0x10f)])return _0x56e8fc['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x463dec=await this[_0x1d9615(0x17a)]['fileAttachmentService']['getAttachmentPreview'](_0x4d6158);if(!_0x463dec)return _0x56e8fc[_0x1d9615(0x16e)](0x194)['json']({'success':![],'error':'Attachment\x20not\x20found'});_0x56e8fc['json']({'success':!![],'preview':_0x463dec});}catch(_0x4d4c0f){this[_0x1d9615(0xb8)][_0x1d9615(0x160)](_0x1d9615(0xa6),{'fileId':_0xad58d4['params'][_0x1d9615(0x165)],'error':_0x4d4c0f['message']}),_0x56e8fc[_0x1d9615(0x16e)](0x1f4)[_0x1d9615(0x77)]({'success':![],'error':_0x4d4c0f[_0x1d9615(0xd5)]});}}),this['app']['get'](_0xa1631d(0x112),async(_0x577470,_0xecdd08)=>{const _0x1056e2=_0xa1631d;try{const {sessionId:_0x38b4c1,filename:_0x4c74bf}=_0x577470[_0x1056e2(0xb3)],_0xbc6315=this['sessions'][_0x1056e2(0x17d)](_0x38b4c1);if(!_0xbc6315)return _0xecdd08['status'](HTTP_STATUS['FORBIDDEN'])['json']({'success':![],'error':_0x1056e2(0x98)});const _0x27faf5=a0_0x479b49['basename'](_0x4c74bf);if(_0x27faf5!==_0x4c74bf||_0x4c74bf[_0x1056e2(0x11e)]('..')||_0x4c74bf['includes']('/')||_0x4c74bf[_0x1056e2(0x11e)]('\x5c'))return _0xecdd08[_0x1056e2(0x16e)](HTTP_STATUS[_0x1056e2(0x96)])['json']({'success':![],'error':'Invalid\x20filename'});let _0x4fd52b=null;const _0x2dc865=[a0_0x479b49[_0x1056e2(0x139)](_0xbc6315[_0x1056e2(0xfa)]||process['cwd'](),'images',_0x27faf5),a0_0x479b49[_0x1056e2(0x139)]('/tmp/loxia-images',_0x38b4c1,_0x27faf5),a0_0x479b49[_0x1056e2(0x139)](_0x1056e2(0xab),_0x27faf5)];if(this[_0x1056e2(0x17a)]?.[_0x1056e2(0x9c)])try{const _0x2df74c=await this['orchestrator']['agentPool']['getAllAgents']();for(const _0x3cdc80 of _0x2df74c){_0x3cdc80[_0x1056e2(0x7b)]?.[_0x1056e2(0x7d)]&&_0x2dc865[_0x1056e2(0xe5)](a0_0x479b49['join'](_0x3cdc80['directoryAccess']['workingDirectory'],_0x1056e2(0x10d),_0x27faf5));}}catch(_0x190319){this[_0x1056e2(0xb8)]['warn'](_0x1056e2(0xcd),{'error':_0x190319['message']});}for(const _0x3e4682 of _0x2dc865){try{const _0x5d4faf=await a0_0x1cc18b['stat'](_0x3e4682);if(_0x5d4faf['isFile']()){_0x4fd52b=_0x3e4682,this['logger'][_0x1056e2(0xfb)]('Image\x20found',{'filename':_0x27faf5,'path':_0x4fd52b,'sessionId':_0x38b4c1});break;}}catch(_0x3604a9){continue;}}if(!_0x4fd52b)return this[_0x1056e2(0xb8)][_0x1056e2(0x148)]('Image\x20not\x20found\x20in\x20any\x20search\x20path',{'filename':_0x27faf5,'sessionId':_0x38b4c1,'searchPaths':_0x2dc865}),_0xecdd08[_0x1056e2(0x16e)](HTTP_STATUS[_0x1056e2(0x158)])[_0x1056e2(0x77)]({'success':![],'error':_0x1056e2(0x143)});_0xecdd08[_0x1056e2(0x94)](_0x4fd52b,_0x360a64=>{const _0x3f613b=_0x1056e2;_0x360a64?(this[_0x3f613b(0xb8)][_0x3f613b(0x160)]('Failed\x20to\x20send\x20image\x20file',{'error':_0x360a64[_0x3f613b(0xd5)],'imagePath':_0x4fd52b,'filename':_0x27faf5}),!_0xecdd08['headersSent']&&_0xecdd08['status'](HTTP_STATUS[_0x3f613b(0x84)])[_0x3f613b(0x77)]({'success':![],'error':_0x3f613b(0x130)})):this[_0x3f613b(0xb8)]['info']('Image\x20served\x20successfully',{'filename':_0x27faf5,'path':_0x4fd52b,'sessionId':_0x38b4c1});});}catch(_0x3e5a73){this[_0x1056e2(0xb8)]['error'](_0x1056e2(0xb5),{'error':_0x3e5a73[_0x1056e2(0xd5)],'sessionId':_0x577470[_0x1056e2(0xb3)]['sessionId'],'filename':_0x577470[_0x1056e2(0xb3)]['filename']}),_0xecdd08['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x3e5a73['message']});}}),this['app'][_0xa1631d(0x174)]('/api/agents/:agentId/mode',async(_0x3a49dd,_0x170741)=>{const _0x41213e=_0xa1631d;try{const {agentId:_0xca588b}=_0x3a49dd['params'],{mode:_0x11f8ed,lockMode:lockMode=![],sessionId:_0x1bc082}=_0x3a49dd[_0x41213e(0x146)];if(!Object[_0x41213e(0x123)](AGENT_MODES)[_0x41213e(0x11e)](_0x11f8ed))return _0x170741[_0x41213e(0x16e)](0x190)['json']({'success':![],'error':'Invalid\x20mode.\x20Must\x20be\x20one\x20of:\x20'+Object['values'](AGENT_MODES)[_0x41213e(0x139)](',\x20')});const _0x5a975e=_0x1bc082||_0x3a49dd['sessionID'];!_0x5a975e&&this[_0x41213e(0xb8)]['warn']('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0xca588b,'hasBodySessionId':!!_0x1bc082,'hasReqSessionId':!!_0x3a49dd[_0x41213e(0xf6)]});const _0x52df5e={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x5a975e,'action':_0x41213e(0xb7),'payload':{'agentId':_0xca588b,'updates':{'mode':_0x11f8ed}}},_0x5a75c7=await this['orchestrator'][_0x41213e(0x97)](_0x52df5e);if(_0x5a75c7[_0x41213e(0xff)]){const _0x32f754=_0x5a75c7['data'];this['logger'][_0x41213e(0xfb)]('Agent\x20mode\x20updated:\x20'+_0xca588b,{'newMode':_0x11f8ed,'lockMode':lockMode,'finalMode':_0x32f754?.['mode']}),this['broadcastToSession'](_0x52df5e['sessionId'],{'type':'agent_mode_changed','agentId':_0xca588b,'mode':_0x32f754?.['mode'],'modeState':_0x32f754?.['modeState']}),_0x170741[_0x41213e(0x77)]({'success':!![],'agent':_0x32f754,'message':'Agent\x20mode\x20switched\x20to\x20'+_0x32f754?.['mode']});}else _0x170741[_0x41213e(0x16e)](0x190)['json']({'success':![],'error':_0x5a75c7[_0x41213e(0x160)]||'Failed\x20to\x20update\x20agent\x20mode'});}catch(_0x11ee19){this['logger']['error'](_0x41213e(0x93),{'agentId':_0x3a49dd['params']['agentId'],'error':_0x11ee19[_0x41213e(0xd5)]}),_0x170741['status'](0x1f4)[_0x41213e(0x77)]({'success':![],'error':_0x11ee19['message']});}}),this[_0xa1631d(0x79)][_0xa1631d(0x174)](_0xa1631d(0x113),async(_0x57baa5,_0x2beaba)=>{const _0x4e283a=_0xa1631d;try{const {agentId:_0x53116d}=_0x57baa5[_0x4e283a(0xb3)],_0x29db6f=this[_0x4e283a(0x17a)]['messageProcessor'];if(!_0x29db6f)return _0x2beaba[_0x4e283a(0x16e)](0x1f4)[_0x4e283a(0x77)]({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x1ce501=await _0x29db6f[_0x4e283a(0xb1)](_0x53116d);this['logger'][_0x4e283a(0xfb)](_0x4e283a(0xf7)+_0x53116d);const _0x206a84=_0x57baa5[_0x4e283a(0xf6)]||_0x1ce501[_0x4e283a(0x157)]?.[_0x4e283a(0xc3)];_0x206a84&&this[_0x4e283a(0x119)](_0x206a84,{'type':_0x4e283a(0xca),'agentId':_0x53116d,'mode':_0x1ce501['agent']?.[_0x4e283a(0x81)],'modeState':_0x1ce501[_0x4e283a(0x157)]?.[_0x4e283a(0x117)]}),_0x2beaba['json'](_0x1ce501);}catch(_0x3fd924){this['logger'][_0x4e283a(0x160)]('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x57baa5[_0x4e283a(0xb3)][_0x4e283a(0xa9)],'error':_0x3fd924['message']}),_0x2beaba[_0x4e283a(0x16e)](0x1f4)[_0x4e283a(0x77)]({'success':![],'error':_0x3fd924['message']});}}),this[_0xa1631d(0x79)]['get'](_0xa1631d(0x120),async(_0x5a89f7,_0x1fce98)=>{const _0xa24714=_0xa1631d;try{const {agentId:_0x3a7394}=_0x5a89f7['params'],_0x2319a6={'interface':INTERFACE_TYPES[_0xa24714(0xa7)],'sessionId':_0x5a89f7['sessionID'],'action':_0xa24714(0xe0),'payload':{'agentId':_0x3a7394}},_0x281cb4=await this[_0xa24714(0x17a)]['processRequest'](_0x2319a6);_0x281cb4[_0xa24714(0xff)]&&_0x281cb4['agent']?_0x1fce98[_0xa24714(0x77)]({'success':!![],'mode':_0x281cb4[_0xa24714(0x157)][_0xa24714(0x81)],'modeState':_0x281cb4['agent'][_0xa24714(0x117)],'currentTask':_0x281cb4['agent'][_0xa24714(0x133)],'iterationCount':_0x281cb4['agent']['iterationCount'],'taskStartTime':_0x281cb4[_0xa24714(0x157)][_0xa24714(0xba)],'stopRequested':_0x281cb4['agent']['stopRequested']}):_0x1fce98['status'](0x194)['json']({'success':![],'error':_0xa24714(0x127)});}catch(_0x9bc10a){this['logger'][_0xa24714(0x160)](_0xa24714(0x114),{'agentId':_0x5a89f7['params'][_0xa24714(0xa9)],'error':_0x9bc10a[_0xa24714(0xd5)]}),_0x1fce98['status'](0x1f4)['json']({'success':![],'error':_0x9bc10a['message']});}}),this['app'][_0xa1631d(0x17d)]('/api/agents/available',async(_0x214c28,_0x5bb5e1)=>{const _0x25cdda=_0xa1631d;try{const _0x20eb12=this[_0x25cdda(0x17a)][_0x25cdda(0x179)]['project']?.['directory']||process['cwd'](),_0x3a6f6f=await this['orchestrator'][_0x25cdda(0xcc)][_0x25cdda(0x132)](_0x20eb12,this['orchestrator']['agentPool']);_0x5bb5e1[_0x25cdda(0x77)]({'success':!![],'agents':_0x3a6f6f,'total':_0x3a6f6f[_0x25cdda(0xb9)],'active':_0x3a6f6f[_0x25cdda(0x100)](_0xb9ab6b=>_0xb9ab6b['isLoaded'])['length'],'archived':_0x3a6f6f['filter'](_0x463f4e=>!_0x463f4e[_0x25cdda(0x14b)])['length']});}catch(_0x4e266f){this[_0x25cdda(0xb8)]['error'](_0x25cdda(0x15e),{'error':_0x4e266f[_0x25cdda(0xd5)],'stack':_0x4e266f[_0x25cdda(0xde)]}),_0x5bb5e1[_0x25cdda(0x16e)](0x1f4)['json']({'success':![],'error':_0x4e266f['message']});}}),this['app'][_0xa1631d(0x17d)](_0xa1631d(0xc6),async(_0x1e0195,_0x32f6ef)=>{const _0x1705a0=_0xa1631d;try{const {agentId:_0x573d1a}=_0x1e0195['params'],_0x175f84=this[_0x1705a0(0x17a)]['config']['project']?.['directory']||process['cwd'](),_0x432aec=await this['orchestrator']['stateManager'][_0x1705a0(0xdd)](_0x573d1a,_0x175f84);_0x32f6ef[_0x1705a0(0x77)]({'success':!![],'metadata':_0x432aec});}catch(_0x3f5d8b){this['logger']['error']('Failed\x20to\x20get\x20agent\x20metadata',{'agentId':_0x1e0195['params'][_0x1705a0(0xa9)],'error':_0x3f5d8b[_0x1705a0(0xd5)]}),_0x32f6ef[_0x1705a0(0x16e)](0x194)['json']({'success':![],'error':_0x3f5d8b['message']});}}),this['app'][_0xa1631d(0x174)]('/api/agents/import',async(_0xa7f19e,_0xd52403)=>{const _0x159d82=_0xa1631d;try{const {agentId:_0x191bfa}=_0xa7f19e[_0x159d82(0x146)];if(!_0x191bfa)return _0xd52403['status'](0x190)['json']({'success':![],'error':'agentId\x20is\x20required\x20in\x20request\x20body'});const _0x494014=this[_0x159d82(0x17a)]['config']['project']?.[_0x159d82(0xe6)]||process[_0x159d82(0x170)](),_0x4633ad=await this['orchestrator'][_0x159d82(0xcc)]['importArchivedAgent'](_0x191bfa,_0x494014,this[_0x159d82(0x17a)][_0x159d82(0x9c)]);this[_0x159d82(0xb6)]&&this['wsManager']['broadcast']({'type':'agent-imported','agent':{'id':_0x4633ad['id'],'name':_0x4633ad['name'],'status':_0x4633ad[_0x159d82(0x16e)],'capabilities':_0x4633ad['capabilities'],'model':_0x4633ad[_0x159d82(0x167)]||_0x4633ad[_0x159d82(0x128)]}}),this[_0x159d82(0xb8)]['info']('Agent imported successfully',{'agentId':_0x4633ad['id'],'name':_0x4633ad[_0x159d82(0x10e)]}),_0xd52403['json']({'success':!![],'agent':{'id':_0x4633ad['id'],'name':_0x4633ad[_0x159d82(0x10e)],'status':_0x4633ad[_0x159d82(0x16e)],'model':_0x4633ad['currentModel']||_0x4633ad[_0x159d82(0x128)],'capabilities':_0x4633ad['capabilities'],'lastActivity':_0x4633ad[_0x159d82(0x121)]},'message':_0x159d82(0x16b)+_0x4633ad[_0x159d82(0x10e)]+_0x159d82(0xaf)});}catch(_0x259b8a){this[_0x159d82(0xb8)]['error']('Failed to import agent',{'agentId':_0xa7f19e['body']['agentId'],'error':_0x259b8a['message'],'stack':_0x259b8a['stack']});const _0x25fa8d=_0x259b8a['message']['includes']('already\x20active')?0x199:_0x259b8a['message']['includes'](_0x159d82(0x12e))?0x194:_0x259b8a[_0x159d82(0xd5)]['includes'](_0x159d82(0xda))?0x190:0x1f4;_0xd52403[_0x159d82(0x16e)](_0x25fa8d)[_0x159d82(0x77)]({'success':![],'error':_0x259b8a[_0x159d82(0xd5)]});}}),this[_0xa1631d(0x79)][_0xa1631d(0x17d)]('*',(_0x20bf03,_0x1a53a4)=>{const _0x1a19c6=_0xa1631d,_0x29f8fd=a0_0x479b49['join'](__dirname,'../../web-ui/build/index.html');_0x1a53a4[_0x1a19c6(0x94)](_0x29f8fd,_0x100e96=>{const _0x75fdab=_0x1a19c6;_0x100e96&&_0x1a53a4[_0x75fdab(0x16e)](HTTP_STATUS['NOT_FOUND'])[_0x75fdab(0x129)](_0x75fdab(0x163));});});}[a0_0x8758e3(0x16a)](){const _0x3fb0fe=a0_0x8758e3;this['logger']['info'](_0x3fb0fe(0x75),{'port':this['port'],'host':this['host'],'wsServerExists':!!this['wss'],'httpServerExists':!!this[_0x3fb0fe(0xdb)]}),this['wss']['on'](_0x3fb0fe(0x160),_0x3ca611=>{const _0x35e46e=_0x3fb0fe;this['logger']['error']('WebSocket\x20server\x20error:',{'error':_0x3ca611['message'],'stack':_0x3ca611[_0x35e46e(0xde)],'port':this[_0x35e46e(0xee)]});}),this[_0x3fb0fe(0x137)]['on'](_0x3fb0fe(0x12c),()=>{const _0x3b6d06=_0x3fb0fe;this[_0x3b6d06(0xb8)][_0x3b6d06(0xfb)](_0x3b6d06(0x7f),{'port':this[_0x3b6d06(0xee)],'host':this[_0x3b6d06(0x141)]});}),this['wss']['on']('connection',(_0x21bebb,_0x2fb476)=>{const _0x3fe160=_0x3fb0fe,_0x43f4dd=_0x3fe160(0x95)+Date[_0x3fe160(0x138)]()+'-'+Math[_0x3fe160(0xe8)]()[_0x3fe160(0x142)](0x24)[_0x3fe160(0xa2)](0x2,0x9);this[_0x3fe160(0xb8)][_0x3fe160(0xfb)](_0x3fe160(0x152),{'connectionId':_0x43f4dd,'ip':_0x2fb476[_0x3fe160(0xd7)][_0x3fe160(0x13f)],'origin':_0x2fb476[_0x3fe160(0x92)]['origin'],'host':_0x2fb476[_0x3fe160(0x92)]['host'],'userAgent':_0x2fb476[_0x3fe160(0x92)]['user-agent'],'url':_0x2fb476['url']});const _0x258087={'id':_0x43f4dd,'ws':_0x21bebb,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()['toISOString']()};this['connections'][_0x3fe160(0xd2)](_0x43f4dd,_0x258087),_0x21bebb['on'](_0x3fe160(0xd5),async _0x237912=>{const _0x44ee6f=_0x3fe160;try{const _0x3df670=JSON['parse'](_0x237912['toString']());await this[_0x44ee6f(0x14f)](_0x43f4dd,_0x3df670);}catch(_0x3abb07){this[_0x44ee6f(0xb8)][_0x44ee6f(0x160)](_0x44ee6f(0xec),{'connectionId':_0x43f4dd,'error':_0x3abb07['message']}),_0x21bebb['send'](JSON['stringify']({'type':'error','error':_0x3abb07[_0x44ee6f(0xd5)]}));}}),_0x21bebb['on']('close',()=>{const _0x500e89=_0x3fe160;this[_0x500e89(0xb8)]['info']('WebSocket\x20connection\x20closed',{'connectionId':_0x43f4dd}),this[_0x500e89(0x154)]['delete'](_0x43f4dd);}),_0x21bebb[_0x3fe160(0x129)](JSON[_0x3fe160(0x8b)]({'type':_0x3fe160(0x161),'connectionId':_0x43f4dd,'timestamp':new Date()[_0x3fe160(0xf2)]()}));});}async['handleWebSocketMessage'](_0x14b3de,_0x10031a){const _0xf4e98=a0_0x8758e3,_0x584010=this['connections'][_0xf4e98(0x17d)](_0x14b3de);if(!_0x584010)return;_0x584010['lastActivity']=new Date()['toISOString']();switch(_0x10031a[_0xf4e98(0x14c)]){case'join_session':const _0x298552=_0x10031a['sessionId'];_0x584010[_0xf4e98(0xc3)]=_0x298552,this['logger'][_0xf4e98(0xfb)](_0xf4e98(0x15b),{'connectionId':_0x14b3de,'sessionId':_0x298552,'totalConnectionsForSession':Array['from'](this[_0xf4e98(0x154)]['values']())['filter'](_0x45d355=>_0x45d355['sessionId']===_0x298552)['length']}),_0x584010['ws']['send'](JSON[_0xf4e98(0x8b)]({'type':_0xf4e98(0xfd),'sessionId':_0x298552}));break;case'ping':_0x584010['ws']['send'](JSON['stringify']({'type':'pong','timestamp':new Date()[_0xf4e98(0xf2)]()}));break;case _0xf4e98(0x105):try{const _0x516382={'interface':INTERFACE_TYPES[_0xf4e98(0xa7)],'sessionId':_0x584010['sessionId'],'action':_0x10031a[_0xf4e98(0x124)],'payload':_0x10031a['payload'],'projectDir':_0x10031a[_0xf4e98(0xfa)]||process['cwd']()},_0x1307e3=await this[_0xf4e98(0x17a)][_0xf4e98(0x97)](_0x516382);_0x584010['ws']['send'](JSON[_0xf4e98(0x8b)]({'type':'orchestrator_response','requestId':_0x10031a['requestId'],'response':_0x1307e3}));}catch(_0x1ae0dd){_0x584010['ws']['send'](JSON[_0xf4e98(0x8b)]({'type':'error','requestId':_0x10031a[_0xf4e98(0x90)],'error':_0x1ae0dd[_0xf4e98(0xd5)]}));}break;default:this[_0xf4e98(0xb8)][_0xf4e98(0x148)]('Unknown\x20WebSocket\x20message\x20type',{'connectionId':_0x14b3de,'type':_0x10031a['type']});}}[a0_0x8758e3(0x119)](_0x29951e,_0xcd418a){const _0xc50067=a0_0x8758e3,_0x5068f9=Array['from'](this['connections']['values']())['filter'](_0x359c6f=>_0x359c6f['sessionId']===_0x29951e);let _0x473fbf=[];_0x5068f9[_0xc50067(0xb9)]===0x0&&(_0x473fbf=Array[_0xc50067(0xd1)](this[_0xc50067(0x154)]['values']()),this['logger']?.[_0xc50067(0x148)]('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x29951e,'totalConnections':this['connections'][_0xc50067(0xc2)],'allSessionIds':Array[_0xc50067(0xd1)](this[_0xc50067(0x154)][_0xc50067(0x123)]())[_0xc50067(0x176)](_0x4794ca=>_0x4794ca[_0xc50067(0xc3)])[_0xc50067(0x100)](Boolean)}));const _0x435520=_0x5068f9[_0xc50067(0xb9)]>0x0?_0x5068f9:_0x473fbf;this[_0xc50067(0xb8)]?.['info']('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x29951e,'messageType':_0xcd418a['type'],'agentId':_0xcd418a['agentId'],'totalConnections':this[_0xc50067(0x154)][_0xc50067(0xc2)],'sessionConnections':_0x5068f9[_0xc50067(0xb9)],'targetConnections':_0x435520['length'],'connectionIds':_0x435520[_0xc50067(0x176)](_0x219971=>_0x219971['id']),'usingFallback':_0x5068f9[_0xc50067(0xb9)]===0x0,'messagePreview':_0xcd418a[_0xc50067(0x14c)]==='autonomous_update'&&_0xcd418a[_0xc50067(0xd5)]?{'messageId':_0xcd418a['message']['id'],'messageRole':_0xcd418a['message'][_0xc50067(0x153)],'contentLength':_0xcd418a[_0xc50067(0xd5)][_0xc50067(0x86)]?.['length'],'hasToolResults':!!_0xcd418a['message']['toolResults']}:undefined});for(const _0x3900d0 of _0x435520){try{const _0x3a9766={..._0xcd418a,'timestamp':new Date()[_0xc50067(0xf2)]()};_0x3900d0['ws']['send'](JSON['stringify'](_0x3a9766)),this['logger']?.[_0xc50067(0xfb)]('✅\x20WebSocket\x20message\x20sent\x20to\x20connection:',{'connectionId':_0x3900d0['id'],'messageType':_0xcd418a['type'],'agentId':_0xcd418a[_0xc50067(0xa9)]});}catch(_0x16d5e2){this[_0xc50067(0xb8)][_0xc50067(0x148)]('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x3900d0['id'],'sessionId':_0x29951e,'messageType':_0xcd418a[_0xc50067(0x14c)],'error':_0x16d5e2['message']});}}}async[a0_0x8758e3(0x150)](){return new Promise((_0x5734fb,_0x1587f8)=>{const _0x3c5556=a0_0x42aa;this['server'][_0x3c5556(0xe2)](this['port'],this[_0x3c5556(0x141)],_0x541717=>{const _0x2373cb=_0x3c5556;_0x541717?(this['logger']['error'](_0x2373cb(0x177),{'error':_0x541717['message'],'port':this['port'],'host':this['host']}),_0x1587f8(_0x541717)):(this[_0x2373cb(0xbb)]=!![],this[_0x2373cb(0xb8)][_0x2373cb(0xfb)](_0x2373cb(0xbf),{'port':this['port'],'host':this[_0x2373cb(0x141)],'httpUrl':_0x2373cb(0xdf)+this['host']+':'+this[_0x2373cb(0xee)],'wsUrl':'ws://'+this[_0x2373cb(0x141)]+':'+this['port'],'wsServerAttached':!!this['wss'],'wsConnections':this['connections']['size']}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x5734fb());}),this[_0x3c5556(0xdb)]['on']('error',_0x557324=>{const _0x55dec8=_0x3c5556;this['logger'][_0x55dec8(0x160)]('HTTP\x20server\x20error:',{'error':_0x557324['message'],'stack':_0x557324['stack'],'port':this[_0x55dec8(0xee)]});});});}async[a0_0x8758e3(0x125)](){const _0x4982e5=a0_0x8758e3;try{const {default:_0x442004}=await import('ws'),_0x36e9b6=new _0x442004(_0x4982e5(0x164)+this['port']);_0x36e9b6['on']('open',()=>{const _0x2c53f0=_0x4982e5;this[_0x2c53f0(0xb8)][_0x2c53f0(0xfb)]('✅\x20WebSocket\x20server\x20test:\x20SUCCESSFUL',{'port':this[_0x2c53f0(0xee)],'url':'ws://localhost:'+this[_0x2c53f0(0xee)]}),_0x36e9b6[_0x2c53f0(0x17e)]();}),_0x36e9b6['on']('error',_0xa4e55e=>{const _0x1b9b15=_0x4982e5;this[_0x1b9b15(0xb8)]['error']('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this['port'],'url':'ws://localhost:'+this[_0x1b9b15(0xee)],'error':_0xa4e55e[_0x1b9b15(0xd5)],'code':_0xa4e55e['code']});}),_0x36e9b6['on'](_0x4982e5(0x17e),(_0x22d0f8,_0x3d5c43)=>{const _0x4c5843=_0x4982e5;_0x22d0f8===0x3e8&&this['logger'][_0x4c5843(0xfb)](_0x4c5843(0x73));}),setTimeout(()=>{const _0x119091=_0x4982e5;_0x36e9b6['readyState']===_0x442004[_0x119091(0x15a)]&&(this[_0x119091(0xb8)][_0x119091(0x160)](_0x119091(0xc5),{'port':this[_0x119091(0xee)],'url':_0x119091(0x164)+this['port'],'readyState':_0x36e9b6[_0x119091(0xb4)]}),_0x36e9b6[_0x119091(0xac)]());},0x1388);}catch(_0xa0877e){this[_0x4982e5(0xb8)]['error'](_0x4982e5(0x103),{'error':_0xa0877e[_0x4982e5(0xd5)],'stack':_0xa0877e['stack']});}}[a0_0x8758e3(0xce)](_0x5bb5d0){const _0x15e61b=a0_0x8758e3;this[_0x15e61b(0x17c)]=_0x5bb5d0,this['logger']?.['info'](_0x15e61b(0x118),{'hasManager':!!_0x5bb5d0});}['_getVendorFromModel'](_0x5854b9){const _0x2acc30=a0_0x8758e3;if(!_0x5854b9)return null;const _0x22c640=_0x5854b9['toLowerCase']();if(_0x22c640[_0x2acc30(0x11e)]('anthropic')||_0x22c640['includes'](_0x2acc30(0x134)))return'anthropic';else{if(_0x22c640['includes'](_0x2acc30(0xf5))||_0x22c640[_0x2acc30(0x11e)](_0x2acc30(0xf4)))return'openai';else{if(_0x22c640['includes'](_0x2acc30(0x78)))return _0x2acc30(0x78);else{if(_0x22c640[_0x2acc30(0x11e)](_0x2acc30(0x159)))return'microsoft';}}}return null;}['getStatus'](){const _0x4fd720=a0_0x8758e3;return{'isRunning':this['isRunning'],'port':this[_0x4fd720(0xee)],'host':this[_0x4fd720(0x141)],'connections':this[_0x4fd720(0x154)][_0x4fd720(0xc2)],'sessions':this[_0x4fd720(0x111)][_0x4fd720(0xc2)],'url':_0x4fd720(0xdf)+this['host']+':'+this[_0x4fd720(0xee)]};}async['shutdown'](){const _0x56b028=a0_0x8758e3;if(!this[_0x56b028(0xbb)])return;this[_0x56b028(0xb8)]['info'](_0x56b028(0x12b));for(const _0x3169a4 of this['connections']['values']()){_0x3169a4['ws']['close']();}return this[_0x56b028(0x154)]['clear'](),this['wss']['close'](),new Promise(_0x41a885=>{this['server']['close'](()=>{const _0x2d8e77=a0_0x42aa;this['isRunning']=![],this[_0x2d8e77(0xb8)][_0x2d8e77(0xfb)](_0x2d8e77(0xa4)),_0x41a885();});});}}export default WebServer;if(import.meta.url===a0_0x8758e3(0xd0)+process['argv'][0x1]){const simpleLogger={'info':(_0x20a919,_0xe79a39)=>console['log']('[INFO]\x20'+_0x20a919,_0xe79a39?JSON[a0_0x8758e3(0x8b)](_0xe79a39,null,0x2):''),'error':(_0x5e283c,_0x14c4b8)=>console[a0_0x8758e3(0x160)]('[ERROR]\x20'+_0x5e283c,_0x14c4b8?JSON[a0_0x8758e3(0x8b)](_0x14c4b8,null,0x2):''),'warn':(_0x249a71,_0x5fdd47)=>console[a0_0x8758e3(0x148)]('[WARN]\x20'+_0x249a71,_0x5fdd47?JSON['stringify'](_0x5fdd47,null,0x2):''),'debug':(_0x52872e,_0xc0d3b2)=>console[a0_0x8758e3(0xc0)](a0_0x8758e3(0x131)+_0x52872e,_0xc0d3b2?JSON['stringify'](_0xc0d3b2,null,0x2):'')},mockOrchestrator={'processAction':async(_0x5339f3,_0x4a5efe)=>{const _0xb48edd=a0_0x8758e3;simpleLogger['info'](_0xb48edd(0x169),{'action':_0x5339f3,'data':_0x4a5efe});switch(_0x5339f3){case ORCHESTRATOR_ACTIONS[_0xb48edd(0x76)]:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0xb48edd(0xc4)]:return{'success':!![],'data':{'id':_0xb48edd(0x7e)+Date[_0xb48edd(0x138)](),'name':_0x4a5efe['name']||'New\x20Agent','status':'active','model':_0x4a5efe['model']||_0xb48edd(0xad),'systemPrompt':_0x4a5efe['systemPrompt']||'You\x20are\x20a\x20helpful\x20AI\x20assistant.'}};case ORCHESTRATOR_ACTIONS[_0xb48edd(0x7c)]:return{'success':!![],'data':{'message':{'id':'msg-'+Date['now'](),'content':_0xb48edd(0xd6)+_0x4a5efe['message'],'timestamp':new Date()[_0xb48edd(0xf2)]()}}};default:return{'success':![],'error':_0xb48edd(0xd3)+_0x5339f3};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console['log']('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server['startServer']()['then'](()=>{const _0x49d93e=a0_0x8758e3,_0x36a472=server['getStatus']();console[_0x49d93e(0xc0)](_0x49d93e(0x89)+_0x36a472[_0x49d93e(0x162)]),console[_0x49d93e(0xc0)](_0x49d93e(0x10a)),console[_0x49d93e(0xc0)](_0x49d93e(0x172));})[a0_0x8758e3(0x13a)](_0x3bd9a5=>{const _0xc35ef1=a0_0x8758e3;console[_0xc35ef1(0x160)](_0xc35ef1(0x10b),_0x3bd9a5['message']),process['exit'](0x1);}),process['on']('SIGINT',async()=>{const _0x5a6247=a0_0x8758e3;console['log'](_0x5a6247(0x83)),await server[_0x5a6247(0xd4)](),process[_0x5a6247(0xa8)](0x0);});}
|
|
1
|
+
function a0_0x463c(){const _0x354265=['qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','u0vorf9nrvntquDf','CMvX','u0Lhsu5u','z2v0','qxr0ywnOBwvUDcbUB3qGzM91BMq','8j+AGcbtDgfYDgLUzYbmB3HPysbxzwiGu2vYDMvYigLUihn0yw5KywXVBMuGBw9Kzs4UlG','DgfYz2v0qwDLBNrjzcbPCYbYzxf1AxjLza','tK9ux0zpvu5e','qKfex1jfuvvfu1q','CMvSyxrPDMu','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','ANnVBG','ywDLBNrjzcbXDwvYEsbWyxjHBwv0zxiGAxmGCMvXDwLYzwq','zgvLChnLzwS','z2v0s2v5C0zVCLjLCxvLC3q','Bwv0Ag9K','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','Bw9KzwXZ','C3rHDhvZ','qxr0ywnOBwvUDcb1CgrHDgvK','y29Kzq','yMLYDgH0Aw1L','ywn0Aw9U','qMvHCMvYia','DhLWzq','Aw5MBW','l2fWAs9MAwXLCW','D3nZ','y29UBMvJDgLVBG','z2v0qxr0ywnOBwvUDfbYzxzPzxC','Bw9Kzq','ChjVy2vZC1jLCxvLC3q','zgLYzwn0B3j5qwnJzxnZ','yM9KEq','C29YDa','yw50AhjVCgLJlxnVBM5LDa','yMfZzw5HBwu','l2fWAs9RzxLZlZPZzxnZAw9Uswq','rMfPBgvKihrVigDLDcbHz2vUDcbTzxrHzgf0yq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJO','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','C2v0DxbnAwrKBgv3yxjL','mtaZmtmWmgTWwu5jCa','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','B3jPz2LU','ndC1mJq1vuXPtNbK','zw52','l2fWAs9VCMnOzxn0CMf0B3i','C3rHCNrtzxj2zxi','sw52ywXPza','mJa2nZi0nerfrvPzvG','zgLYBMfTzq','mJm2odG0nJDIz2j2sg0','yxbPs2v5','ywDLBNrjzcbPCYbYzxf1AxjLzcbPBIbYzxf1zxn0igjVzhK','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','C3rHCNrZv2L0Aa','zMLSztOVlW','l2fWAs9MAwXLlwv4CgXVCMvY','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','zgvSzxrL','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9TB2rLBhm','q09otKvdveLorW','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','D3m6lY8','AgvHBhrOEq','CMvTB3rLqwrKCMvZCW','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','ChjLzMvYCMvKtw9KzwW','Dhj1zq','qwDLBNqG','sw1Hz2uGBM90igzVDw5KigLUigfUEsbZzwfYy2GGCgf0Aa','x2DLDfzLBMrVCKzYB21nB2rLBa','C2H1DgrVD24','C2v0DxbxzwjtB2nRzxq','rMfPBgvKihrVihnLBMqGAw1Hz2uGzMLSzq','y29UDgvUDa','rMfPBgvKihrVihnLDcbbueKGA2v5CW','nxD6A3HPEq','C3rYAw5NAwz5','D3nnyw5Hz2vY','DxnL','DxbKyxrLx2fNzw50','CMvHzhLtDgf0zq','C2L6zq','z2v0x2fNzw50x3n0yxr1CW','zMLSzuv4CgXVCMvYtw9KDwXL','Bg9JywXOB3n0','zgLYzwn0B3j5','su5urvjoquXFu0vsvKvsx0vsuK9s','C2v0DxbsB3v0zxm','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','l2fWAs9LEhbSB3jLCI9TA2rPCG','BgvUz3rO','BwfW','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','nJK4nJe3nw1kA1PpvG','C3rHDhvZvgv4Da','DgvZDfDLyLnVy2TLDfnLCNzLCG','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','C3rHy2S','Cgf0Aa','v0vc','y2XVC2u','z2v0qwXSqwDLBNrZ','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrKfjteve','Bw9Kzvn0yxrL','Dg9ju09tDhjPBMC','t1busu9ouW','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3rVz2DSzq','sw1Hz2uGC2vYDMLUzYbLCNjVCG','D3m6lY9SB2nHBgHVC3q6','zMLSzuLK','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','qvbjigTLExmGDxbKyxrLzcbZDwnJzxnZzNvSBhK','ywDLBNrjza','y29UBI0','zgf0yq','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50','qxr0ywnOBwvUDcbHy3rPDMuGC3rHDhvZihrVz2DSzwq','AxnsDw5UAw5N','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','yNjVywrJyxn0vg9tzxnZAw9U','ywDLBNrFBw9Kzv9JAgfUz2vK','ywn0AxzL','zNjVBq','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','AxngAwXL','ms4WlJa','BM9YBwfSAxPL','C3vJy2vZCW','y29UBMvJDgLVBNm','te9ysufFqvbjx0Tfwq','CMvHzgrPCG','teLtvf9br0vovfm','vw5RBM93BIbHy3rPB246ia','A2v5CW','DgfZA1n0yxj0vgLTzq','AgvHzgvYC1nLBNq','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','y3DK','rMfPBgvKihrVigDLDcbHDMfPBgfIBguGywDLBNrZ','l2fWAs9SBg0VBw9KzwXZ','v2vIihnLCNzLCIbPBML0AwfSAxPLza','ywDLBNq','DxjS','B3jJAgvZDhjHDg9Y','C2vUza','CMvXDwvZDeLK','qxP1CMuGyMfJA2vUzcbJAgf0ihjLCxvLC3qGzMfPBgvK','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','C2vYDMvY','C2vZC2LVBNm','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','v2vIu29JA2v0ig1LC3nHz2uGzxjYB3i','vw5RBM93BIbxzwjtB2nRzxqGBwvZC2fNzsb0ExbL','CMvZB2X2zq','l3rTCc9SB3HPys1PBwfNzxm','qxP1CMuGyMfJA2vUzcbLCNjVCJOG','AgvHzgvYCW','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','Aw1WB3j0qxjJAgL2zwrbz2vUDa','rMfPBgvKihrVigDLDcbHz2vUDcb3B3jRAw5NigrPCMvJDg9YAwvZigzVCIbPBwfNzsbZzwfYy2G','AxneAxjLy3rVCNK','DMvYC2LVBG','C2vZC2LVBKLK','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','BwvZC2fNzq','z2v0qxr0ywnOBwvUDhm','Cg9ZDa','CgH5C2LJywXSEurLBgv0zwq','Bg94AwfbCgLlzxK','ywXYzwfKEsbHy3rPDMu','4PYfifDLyLnVy2TLDcbTzxnZywDLihnLBNqGDg8Gy29UBMvJDgLVBJO','sw52ywXPzcbMAwXLBMfTzq','Ahr0CdOVlW','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','sw1Hz2uGC2vYDMvKihn1y2nLC3nMDwXSEq','D2fYBG','CMvMCMvZAa','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','l2fWAs9RzxLZ','y2XLyxi','Aw1Hz2vZ','t3jJAgvZDhjHDg9YiefqssbLCNjVCG','zxHPDa','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','l2fWAs9MAwXLCY91CgXVywq','yxv0Ag9YAxPHDgLVBG','yxbWBgLJyxrPB24VANnVBG','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGveLnru9vva','CgfYyw1Z','ywDLBNrqB29S','yxrPBwu','mtC4ntiYmLjgEM9nBW','DgvYBwLUyxrL','C2v0','w0rfqLvhxsa','zxjYB3i','Cg9UzW','C29JA2v0','l2fWAs9LEhbSB3jLCI9PBMzV','Bg9Nz2vY','mc4WlJaUma','yxbW','BMfTzq','nJrZr1rPzxK','y2fWywjPBgL0AwvZ','cVcFM5eGu2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','qxr0ywnOBwvUDcbKzwXLDgvK','yxbPs2v5twfUywDLCG','u2vYDMLUzYb0B29SCYbPBMzVCM1HDgLVBG','zMLSzw5HBwu','y29UzMLN','m1blrgLyBq','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','yxjNDG','Bw9KzwW','mtbTyG','Aw5JBhvKzxm','lI4VlI4VCgfJA2fNzs5QC29U','D29YA2LUz0rPCMvJDg9YEq','Aw5PDgLHBgL6zq','CgfYC2u','AM9PBL9ZzxnZAw9U','DxbKyxrLqxr0ywnOBwvUDa','otuZmta2zKfOu2nr','DMfSDwvZ','rK9sqKLerevo','C3rHDa','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','CxvLCNK','BxrPBwu','AM9PBG','C2vZC2LVBKLe','Bg9N','z2v0qxzHAwXHyMXLvg9VBhngB3jvsq','tM8GqvbjigTLExmGzM91BMqGzM9YihnLC3nPB24','zMLSzq','zMLSDgvY','r0vulcbqt1nulcbqvvqSierftevursWGt1busu9ouW','CMvHzezPBgu','DxrMoa','qwDLBNqGBw9Kzsb1CgrHDguGCMvXDwvZDgvKihDPDgHVDxqGC2vZC2LVBIbjra','lI4VlI4VD2vIlxvPl2j1AwXK','Cg9YDa','w0LorK9Dia','tMv3iefNzw50','yxv0B25VBw91C191CgrHDgu','y3vYCMvUDe1VzgvS','BM93','BwTKAxi','Ag9ZDa','v2vIu29JA2v0ignVBM5Ly3rPB24Gy2XVC2vK','CMfUzg9T','Cgf0y2G','rMfPBgvKihrVihn0yxj0ieHuvfaGC2vYDMvY','Dgv4Da','B3bLBMfP','rMfPBgvKihrVihjLDhjPzxzLihrVB2XZigLUzM9YBwf0Aw9U','mtbSrLfyCuS','yw50AhjVCgLJ'];a0_0x463c=function(){return _0x354265;};return a0_0x463c();}const a0_0x4b13ea=a0_0x2f20;(function(_0x25fe39,_0x12a76e){const _0x3185f8=a0_0x2f20,_0x589419=_0x25fe39();while(!![]){try{const _0x473c64=-parseInt(_0x3185f8(0x11a))/0x1+parseInt(_0x3185f8(0x169))/0x2+parseInt(_0x3185f8(0x10e))/0x3*(parseInt(_0x3185f8(0x171))/0x4)+parseInt(_0x3185f8(0x18e))/0x5*(-parseInt(_0x3185f8(0x206))/0x6)+-parseInt(_0x3185f8(0x1a0))/0x7+-parseInt(_0x3185f8(0x106))/0x8*(parseInt(_0x3185f8(0x16c))/0x9)+parseInt(_0x3185f8(0x13c))/0xa*(parseInt(_0x3185f8(0x173))/0xb);if(_0x473c64===_0x12a76e)break;else _0x589419['push'](_0x589419['shift']());}catch(_0x3a57d1){_0x589419['push'](_0x589419['shift']());}}}(a0_0x463c,0x7db22));import a0_0x36a16c from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x150199 from'path';import{promises as a0_0x49d238}from'fs';function a0_0x2f20(_0x33be3a,_0x4b96b5){_0x33be3a=_0x33be3a-0xfe;const _0x463c60=a0_0x463c();let _0x2f20e6=_0x463c60[_0x33be3a];if(a0_0x2f20['caDjfd']===undefined){var _0x13026a=function(_0x165029){const _0xd8a7c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36a16c='',_0x150199='';for(let _0x49d238=0x0,_0x55cd55,_0x3af44e,_0x1b068c=0x0;_0x3af44e=_0x165029['charAt'](_0x1b068c++);~_0x3af44e&&(_0x55cd55=_0x49d238%0x4?_0x55cd55*0x40+_0x3af44e:_0x3af44e,_0x49d238++%0x4)?_0x36a16c+=String['fromCharCode'](0xff&_0x55cd55>>(-0x2*_0x49d238&0x6)):0x0){_0x3af44e=_0xd8a7c2['indexOf'](_0x3af44e);}for(let _0x38d74c=0x0,_0x5837cc=_0x36a16c['length'];_0x38d74c<_0x5837cc;_0x38d74c++){_0x150199+='%'+('00'+_0x36a16c['charCodeAt'](_0x38d74c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x150199);};a0_0x2f20['fVtFdV']=_0x13026a,a0_0x2f20['BDOOFu']={},a0_0x2f20['caDjfd']=!![];}const _0x58b6f=_0x463c60[0x0],_0x446323=_0x33be3a+_0x58b6f,_0x27c7dc=a0_0x2f20['BDOOFu'][_0x446323];return!_0x27c7dc?(_0x2f20e6=a0_0x2f20['fVtFdV'](_0x2f20e6),a0_0x2f20['BDOOFu'][_0x446323]=_0x2f20e6):_0x2f20e6=_0x27c7dc,_0x2f20e6;}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_0x150199[a0_0x4b13ea(0x172)](__filename);class WebServer{constructor(_0x55cd55,_0x3af44e,_0x1b068c={}){const _0x5d8337=a0_0x4b13ea;this['orchestrator']=_0x55cd55,this['logger']=_0x3af44e,this[_0x5d8337(0x10d)]=_0x1b068c,this['port']=_0x1b068c['port']||0x1f90,this[_0x5d8337(0x134)]=_0x1b068c[_0x5d8337(0x134)]||_0x5d8337(0x197),this[_0x5d8337(0x104)]=a0_0x36a16c(),this['server']=createServer(this['app']),this[_0x5d8337(0x15a)]=new WebSocketServer({'server':this['server'],'verifyClient':_0x38d74c=>{const _0x22792f=_0x5d8337;return this[_0x22792f(0x102)]?.[_0x22792f(0x158)](_0x22792f(0x1f7),{'origin':_0x38d74c['origin'],'host':_0x38d74c[_0x22792f(0x140)]['headers']['host'],'userAgent':_0x38d74c['req']['headers']['user-agent'],'url':_0x38d74c['req'][_0x22792f(0x1d3)]}),!![];}}),this[_0x5d8337(0x1c5)]=new Map(),this[_0x5d8337(0x1da)]=new Map(),this[_0x5d8337(0x10a)]=null,this[_0x5d8337(0x1ba)]=![];}async[a0_0x4b13ea(0x116)](){const _0x56d322=a0_0x4b13ea;try{this['setupMiddleware'](),this[_0x56d322(0x19a)](),this['setupWebSocket'](),await this['startServer'](),this['logger']['info'](_0x56d322(0x1d1),{'port':this[_0x56d322(0x12d)],'host':this[_0x56d322(0x134)],'url':_0x56d322(0x1f1)+this['host']+':'+this['port']});}catch(_0x5837cc){this[_0x56d322(0x102)][_0x56d322(0xfe)]('Web\x20server\x20initialization\x20failed',{'error':_0x5837cc[_0x56d322(0x1e9)],'stack':_0x5837cc[_0x56d322(0x1a4)]});throw _0x5837cc;}}[a0_0x4b13ea(0x168)](){const _0x5da651=a0_0x4b13ea;this['app']['use']((_0x2a1489,_0x905bff,_0x2293f5)=>{const _0x4b3fca=a0_0x2f20;_0x905bff['header']('Access-Control-Allow-Origin','*'),_0x905bff['header']('Access-Control-Allow-Methods',_0x4b3fca(0x128)),_0x905bff['header']('Access-Control-Allow-Headers','Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x2a1489['method']===_0x4b3fca(0x1ae)?_0x905bff['sendStatus'](HTTP_STATUS['OK']):_0x2293f5();}),this['app'][_0x5da651(0x191)](a0_0x36a16c['json']({'limit':_0x5da651(0x112)})),this['app']['use'](a0_0x36a16c['urlencoded']({'extended':!![],'limit':'10mb'})),this[_0x5da651(0x196)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app']['use'](_0x5da651(0x179),this['fileExplorerModule']['router']);const _0x54a164=a0_0x150199[_0x5da651(0x121)](__dirname,_0x5da651(0x12c));this['app'][_0x5da651(0x191)](a0_0x36a16c['static'](_0x54a164)),this[_0x5da651(0x104)][_0x5da651(0x191)]((_0xc5d815,_0x185880,_0x53fd92)=>{const _0x2e3f55=_0x5da651;this[_0x2e3f55(0x102)]['debug'](_0xc5d815[_0x2e3f55(0x14e)]+'\x20'+_0xc5d815[_0x2e3f55(0x1a5)],{'ip':_0xc5d815['ip'],'userAgent':_0xc5d815['get']('User-Agent')}),_0x53fd92();});}[a0_0x4b13ea(0x19a)](){const _0x163f1b=a0_0x4b13ea;this[_0x163f1b(0x104)][_0x163f1b(0x142)]('/api/health',async(_0x42e0b7,_0x14d42e)=>{const _0x41390e=_0x163f1b;try{const _0x3a1fd2=a0_0x150199['join'](__dirname,_0x41390e(0x114)),_0x3c127e=JSON[_0x41390e(0x117)](await a0_0x49d238['readFile'](_0x3a1fd2,'utf8'));_0x14d42e[_0x41390e(0x14a)]({'status':_0x41390e(0x181),'version':_0x3c127e[_0x41390e(0x1e6)]||_0x41390e(0x1c2),'timestamp':new Date()[_0x41390e(0x1ad)]()});}catch(_0x2d38b6){_0x14d42e['json']({'status':'healthy','version':_0x41390e(0x1c2),'timestamp':new Date()['toISOString']()});}}),this[_0x163f1b(0x104)]['post']('/api/sessions',async(_0x5931f2,_0x5283ea)=>{const _0x493294=_0x163f1b;try{const _0x590e9b='web-'+Date[_0x493294(0x132)]()+'-'+Math['random']()['toString'](0x24)['substr'](0x2,0x9),_0x1796e6=_0x5931f2[_0x493294(0x160)]['projectDir']||process['cwd'](),_0x1fa51e={'id':_0x590e9b,'projectDir':_0x1796e6,'createdAt':new Date()[_0x493294(0x1ad)](),'lastActivity':new Date()[_0x493294(0x1ad)]()};this[_0x493294(0x1da)][_0x493294(0x208)](_0x590e9b,_0x1fa51e),_0x5283ea['json']({'success':!![],'session':_0x1fa51e});}catch(_0x19731e){_0x5283ea[_0x493294(0x151)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x493294(0x14a)]({'success':![],'error':_0x19731e['message']});}}),this[_0x163f1b(0x104)][_0x163f1b(0x1eb)](_0x163f1b(0x16e),async(_0x36686e,_0x2a5ed6)=>{const _0x2c6a92=_0x163f1b;try{const _0x20c46f={'interface':INTERFACE_TYPES[_0x2c6a92(0x1a6)],'sessionId':_0x36686e['body']['sessionId'],'action':_0x36686e['body'][_0x2c6a92(0x155)],'payload':_0x36686e['body']['payload'],'projectDir':_0x36686e[_0x2c6a92(0x160)]['projectDir']||process[_0x2c6a92(0x1ce)]()},_0x95e15e=await this[_0x2c6a92(0x1d4)][_0x2c6a92(0x15e)](_0x20c46f);this[_0x2c6a92(0x1bc)](_0x20c46f[_0x2c6a92(0x1e7)],{'type':_0x2c6a92(0x176),'action':_0x20c46f['action'],'response':_0x95e15e}),_0x2a5ed6[_0x2c6a92(0x14a)](_0x95e15e);}catch(_0x1bc5d9){this['logger'][_0x2c6a92(0xfe)](_0x2c6a92(0x1fb),{'error':_0x1bc5d9['message'],'body':_0x36686e['body']}),_0x2a5ed6['status'](HTTP_STATUS[_0x2c6a92(0x199)])['json']({'success':![],'error':_0x1bc5d9[_0x2c6a92(0x1e9)]});}}),this['app']['get'](_0x163f1b(0x159),async(_0x46fd3a,_0x4ba0f0)=>{const _0x30ac33=_0x163f1b;try{const {path:_0x5b9f06,projectDir:_0x57ca71}=_0x46fd3a['query'],_0x1b0a5f=a0_0x150199[_0x30ac33(0x1de)](_0x57ca71||process['cwd'](),_0x5b9f06||'.'),_0x35dded=await a0_0x49d238['stat'](_0x1b0a5f);if(_0x35dded[_0x30ac33(0x1e5)]()){const _0x402745=await a0_0x49d238[_0x30ac33(0x1c7)](_0x1b0a5f,{'withFileTypes':!![]}),_0x4b5360=_0x402745[_0x30ac33(0x19e)](_0x458924=>({'name':_0x458924[_0x30ac33(0x105)],'type':_0x458924[_0x30ac33(0x1e5)]()?'directory':_0x30ac33(0x126),'path':a0_0x150199['join'](_0x5b9f06||'.',_0x458924[_0x30ac33(0x105)])}));_0x4ba0f0['json']({'success':!![],'files':_0x4b5360});}else{const _0x215258=await a0_0x49d238[_0x30ac33(0x129)](_0x1b0a5f,_0x30ac33(0x12a));_0x4ba0f0['json']({'success':!![],'content':_0x215258,'type':_0x30ac33(0x126)});}}catch(_0x37a300){_0x4ba0f0[_0x30ac33(0x151)](HTTP_STATUS['NOT_FOUND'])[_0x30ac33(0x14a)]({'success':![],'error':_0x37a300[_0x30ac33(0x1e9)]});}}),this[_0x163f1b(0x104)]['post'](_0x163f1b(0x1ff),async(_0x7b0d9f,_0x89c891)=>{const _0x4b94d8=_0x163f1b;try{const {fileName:_0x47f37a,content:_0xedc3bf,projectDir:_0x149d0a}=_0x7b0d9f['body'],_0x2b0751=_0x149d0a||process[_0x4b94d8(0x1ce)](),_0x11fc71=a0_0x150199['resolve'](_0x2b0751,_0x47f37a);await a0_0x49d238[_0x4b94d8(0x133)](_0x2b0751,{'recursive':!![]}),await a0_0x49d238['writeFile'](_0x11fc71,_0xedc3bf,'utf8'),_0x89c891['json']({'success':!![],'message':_0x4b94d8(0x1a3),'path':_0x11fc71});}catch(_0xf44f8d){_0x89c891[_0x4b94d8(0x151)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0xf44f8d['message']});}}),this['app']['get']('/api/explorer',async(_0xa1da71,_0x5b66ce)=>{const _0x2f8004=_0x163f1b;try{const {path:_0x5f984e,showHidden:showHidden=![]}=_0xa1da71[_0x2f8004(0x11f)],_0x16adf6=_0x5f984e||process['cwd'](),_0x5d6935=a0_0x150199[_0x2f8004(0x1de)](_0x16adf6),_0x5e6504=a0_0x150199[_0x2f8004(0x1c3)](_0x5d6935),_0x5d849d=await a0_0x49d238[_0x2f8004(0x11d)](_0x5e6504);if(!_0x5d849d[_0x2f8004(0x1e5)]())return _0x5b66ce['status'](HTTP_STATUS['BAD_REQUEST'])[_0x2f8004(0x14a)]({'success':![],'error':_0x2f8004(0x1fd)});const _0x276ae0=await a0_0x49d238['readdir'](_0x5e6504,{'withFileTypes':!![]}),_0x1a7045=await Promise['all'](_0x276ae0['filter'](_0x21caa8=>showHidden==='true'||!_0x21caa8['name'][_0x2f8004(0x177)]('.'))['map'](async _0x3087b1=>{const _0x44d73f=_0x2f8004,_0x215be9=a0_0x150199['join'](_0x5e6504,_0x3087b1['name']),_0x1e7a53=await a0_0x49d238[_0x44d73f(0x11d)](_0x215be9)['catch'](()=>null);return{'name':_0x3087b1['name'],'type':_0x3087b1['isDirectory']()?_0x44d73f(0x198):'file','path':_0x215be9,'relativePath':a0_0x150199['relative'](process['cwd'](),_0x215be9),'size':_0x1e7a53?.['size']||0x0,'modified':_0x1e7a53?.[_0x44d73f(0x120)]||null,'isHidden':_0x3087b1[_0x44d73f(0x105)]['startsWith']('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x1a7045[_0x2f8004(0x161)]((_0x2ea29e,_0x2b0b2b)=>{const _0x3454ca=_0x2f8004;if(_0x2ea29e['type']!==_0x2b0b2b[_0x3454ca(0x157)])return _0x2ea29e[_0x3454ca(0x157)]==='directory'?-0x1:0x1;return _0x2ea29e['name']['localeCompare'](_0x2b0b2b[_0x3454ca(0x105)]);});const _0x341959=a0_0x150199[_0x2f8004(0x172)](_0x5e6504),_0x527fe5=_0x341959!==_0x5e6504;_0x5b66ce[_0x2f8004(0x14a)]({'success':!![],'currentPath':_0x5e6504,'currentRelativePath':a0_0x150199[_0x2f8004(0x148)](process['cwd'](),_0x5e6504),'parentPath':_0x527fe5?_0x341959:null,'items':_0x1a7045,'totalItems':_0x1a7045['length'],'directories':_0x1a7045[_0x2f8004(0x127)](_0x18d748=>_0x18d748[_0x2f8004(0x157)]==='directory')['length'],'files':_0x1a7045[_0x2f8004(0x127)](_0xb66005=>_0xb66005['type']===_0x2f8004(0x126))['length']});}catch(_0x4d17e7){_0x5b66ce['status'](HTTP_STATUS[_0x2f8004(0x199)])[_0x2f8004(0x14a)]({'success':![],'error':_0x4d17e7['message'],'code':_0x4d17e7[_0x2f8004(0x153)]});}}),this['app'][_0x163f1b(0x1eb)](_0x163f1b(0x19c),async(_0x59b32f,_0x4ac9a1)=>{const _0x4b1f3b=_0x163f1b;try{const {path:_0x567b9a,name:_0x450fa4}=_0x59b32f[_0x4b1f3b(0x160)],_0x48dd61=a0_0x150199['resolve'](_0x567b9a,_0x450fa4);await a0_0x49d238['mkdir'](_0x48dd61,{'recursive':![]}),_0x4ac9a1[_0x4b1f3b(0x14a)]({'success':!![],'path':_0x48dd61,'relativePath':a0_0x150199[_0x4b1f3b(0x148)](process['cwd'](),_0x48dd61)});}catch(_0x7b8ef7){_0x4ac9a1[_0x4b1f3b(0x151)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x4b1f3b(0x14a)]({'success':![],'error':_0x7b8ef7[_0x4b1f3b(0x1e9)],'code':_0x7b8ef7['code']});}}),this['app']['get'](_0x163f1b(0x101),async(_0x749b28,_0xd0e5b7)=>{const _0x56e7c0=_0x163f1b;try{const {path:_0x5aade3}=_0x749b28['query'],_0x2fbdd8=a0_0x150199[_0x56e7c0(0x1de)](_0x5aade3),_0x1c0125=await a0_0x49d238['stat'](_0x2fbdd8);_0xd0e5b7['json']({'success':!![],'path':_0x2fbdd8,'relativePath':a0_0x150199['relative'](process['cwd'](),_0x2fbdd8),'isDirectory':_0x1c0125['isDirectory'](),'isFile':_0x1c0125[_0x56e7c0(0x1c1)](),'size':_0x1c0125[_0x56e7c0(0x194)],'created':_0x1c0125[_0x56e7c0(0x154)],'modified':_0x1c0125[_0x56e7c0(0x120)],'accessed':_0x1c0125[_0x56e7c0(0x205)]});}catch(_0x3a8b04){_0xd0e5b7['status'](HTTP_STATUS[_0x56e7c0(0x199)])['json']({'success':![],'error':_0x3a8b04[_0x56e7c0(0x1e9)],'code':_0x3a8b04['code']});}}),this['app']['post']('/api/llm/chat',async(_0x380e35,_0x49e245)=>{const _0x5629c5=_0x163f1b;try{const {sessionId:_0x3f0fcc,model:_0x514976,platformProvided:_0x32a1dc}=_0x380e35['body'];if(!_0x3f0fcc)return _0x49e245[_0x5629c5(0x151)](0x190)[_0x5629c5(0x14a)]({'error':'Session\x20ID\x20is\x20required'});let _0x2214da=null,_0x5e5dcf=null;if(this[_0x5629c5(0x10a)]){const _0x25c0a1=this[_0x5629c5(0x10a)][_0x5629c5(0x14d)](_0x3f0fcc,{'platformProvided':_0x32a1dc||![],'vendor':this['_getVendorFromModel'](_0x514976)});_0x2214da=_0x25c0a1['loxiaApiKey'],_0x5e5dcf=_0x25c0a1['vendorApiKey'];}!_0x2214da&&(_0x2214da=this[_0x5629c5(0x10d)]['loxiaApiKey']||process['env']['LOXIA_API_KEY']);!_0x2214da&&_0x380e35['body'][_0x5629c5(0x174)]&&(_0x2214da=_0x380e35['body'][_0x5629c5(0x174)]);if(!_0x2214da)return this['logger'][_0x5629c5(0x1f4)]('No\x20API\x20key\x20available\x20for\x20chat\x20request',{'sessionId':_0x3f0fcc,'model':_0x514976,'platformProvided':_0x32a1dc,'hasSessionManager':!!this['apiKeyManager']}),_0x49e245[_0x5629c5(0x151)](0x191)['json']({'error':_0x5629c5(0x1e2)});const _0x1cb04a='https://autopilot-api.azurewebsites.net/llm/chat',_0x3d8512={..._0x380e35['body'],'apiKey':_0x2214da,..._0x5e5dcf&&{'vendorApiKey':_0x5e5dcf}},_0x3a2250={'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x2214da},'body':JSON[_0x5629c5(0x18f)](_0x3d8512)};this[_0x5629c5(0x102)][_0x5629c5(0x158)](_0x5629c5(0x1bb),{'url':_0x1cb04a,'model':_0x380e35['body']['model'],'hasApiKey':!!_0x2214da});const _0x5de97b=await fetch(_0x1cb04a,_0x3a2250);if(_0x5de97b['ok']){const _0x15d25c=await _0x5de97b[_0x5629c5(0x14a)]();this[_0x5629c5(0x102)]['info']('Successfully received response from Azure backend',{'model':_0x15d25c[_0x5629c5(0x111)],'contentLength':_0x15d25c['content']?.['length']||0x0}),_0x49e245['json'](_0x15d25c);}else{const _0x2780d1=await _0x5de97b[_0x5629c5(0x139)]();this['logger'][_0x5629c5(0x1f4)](_0x5629c5(0x1d7),{'status':_0x5de97b[_0x5629c5(0x151)],'statusText':_0x5de97b['statusText'],'error':_0x2780d1}),_0x49e245[_0x5629c5(0x151)](_0x5de97b[_0x5629c5(0x151)])['json']({'error':_0x5629c5(0x1e0)+_0x5de97b['status']+'\x20'+_0x5de97b[_0x5629c5(0x1a1)],'details':_0x2780d1});}}catch(_0x6a7d4f){this['logger'][_0x5629c5(0xfe)]('Failed\x20to\x20proxy\x20chat\x20request\x20to\x20Azure\x20backend',{'error':_0x6a7d4f[_0x5629c5(0x1e9)],'stack':_0x6a7d4f[_0x5629c5(0x1a4)]}),_0x49e245['status'](0x1f4)['json']({'error':'Failed\x20to\x20connect\x20to\x20AI\x20service','details':_0x6a7d4f['message']});}}),this['app']['get'](_0x163f1b(0x1d0),async(_0x3c4c16,_0x45eb92)=>{const _0x46364f=_0x163f1b;try{const _0x680b41=_0x3c4c16[_0x46364f(0x1e1)][_0x46364f(0x200)];let _0x2235b7=null;_0x680b41&&_0x680b41[_0x46364f(0x177)](_0x46364f(0x156))&&(_0x2235b7=_0x680b41['substring'](0x7));!_0x2235b7&&(_0x2235b7=this['config']['loxiaApiKey']||process[_0x46364f(0x16d)][_0x46364f(0x1c6)]);const _0x40327b=_0x46364f(0x17d),_0x2ac38f={'method':'GET','headers':{'Content-Type':_0x46364f(0x201),..._0x2235b7&&{'Authorization':'Bearer\x20'+_0x2235b7}}};this[_0x46364f(0x102)][_0x46364f(0x158)]('Fetching models from Loxia Azure backend',{'url':_0x40327b,'hasApiKey':!!_0x2235b7});const _0x198f9b=await fetch(_0x40327b,_0x2ac38f);if(_0x198f9b['ok']){const _0x1b38a8=await _0x198f9b['json']();this[_0x46364f(0x102)][_0x46364f(0x158)]('Successfully fetched models from Azure backend',{'modelCount':_0x1b38a8[_0x46364f(0x150)]?.['length']||0x0}),_0x45eb92[_0x46364f(0x14a)](_0x1b38a8);}else{const _0x96d7de=await _0x198f9b[_0x46364f(0x139)]();this['logger']['error']('Azure\x20backend\x20request\x20failed\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'status':_0x198f9b[_0x46364f(0x151)],'statusText':_0x198f9b[_0x46364f(0x1a1)],'error':_0x96d7de}),_0x45eb92['status'](_0x198f9b['status'])['json']({'success':![],'error':_0x46364f(0x10f)+_0x198f9b['status']+'\x20'+_0x198f9b['statusText'],'details':_0x96d7de});}}catch(_0xe3fa8){this['logger']['error']('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0xe3fa8[_0x46364f(0x1e9)],'stack':_0xe3fa8[_0x46364f(0x1a4)]}),_0x45eb92['status'](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0xe3fa8[_0x46364f(0x1e9)]});}}),this['app']['get']('/api/tools',async(_0x42d66a,_0x53c738)=>{const _0x3e46cd=_0x163f1b;try{const _0x46e085=this['toolsRegistry'];if(!_0x46e085)return _0x53c738[_0x3e46cd(0x151)](0x1f4)['json']({'error':'Tools\x20registry\x20not\x20available'});const _0x525640=_0x46e085[_0x3e46cd(0x124)]();this['logger'][_0x3e46cd(0x158)](_0x3e46cd(0x10b),{'toolCount':_0x525640['length'],'tools':_0x525640['map'](_0x3aed77=>({'id':_0x3aed77['id'],'name':_0x3aed77['name'],'category':_0x3aed77['category']}))}),_0x53c738[_0x3e46cd(0x14a)]({'success':!![],'tools':_0x525640,'total':_0x525640[_0x3e46cd(0x19d)]});}catch(_0x461bce){this['logger']['error']('Failed\x20to\x20get\x20tools\x20information',{'error':_0x461bce[_0x3e46cd(0x1e9)],'stack':_0x461bce['stack']}),_0x53c738[_0x3e46cd(0x151)](0x1f4)['json']({'error':_0x3e46cd(0x13b),'message':_0x461bce[_0x3e46cd(0x1e9)]});}}),this['app'][_0x163f1b(0x1eb)]('/api/keys',async(_0x39720c,_0x5e2df3)=>{const _0x4fde0e=_0x163f1b;try{const {sessionId:_0x2b8f12,loxiaApiKey:_0x1443b2,vendorKeys:_0xc6a491}=_0x39720c[_0x4fde0e(0x160)];if(!_0x2b8f12)return _0x5e2df3[_0x4fde0e(0x151)](0x190)[_0x4fde0e(0x14a)]({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this[_0x4fde0e(0x10a)])return _0x5e2df3[_0x4fde0e(0x151)](0x1f4)[_0x4fde0e(0x14a)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this[_0x4fde0e(0x10a)]['setSessionKeys'](_0x2b8f12,{'loxiaApiKey':_0x1443b2,'vendorKeys':_0xc6a491||{}}),this[_0x4fde0e(0x102)][_0x4fde0e(0x158)]('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x2b8f12,'hasLoxiaKey':!!_0x1443b2,'vendorKeys':Object[_0x4fde0e(0x1ca)](_0xc6a491||{})});if(this['orchestrator']&&this[_0x4fde0e(0x1d4)]['modelsService']&&_0x1443b2)try{await this['orchestrator']['modelsService'][_0x4fde0e(0x1f5)]({'sessionId':_0x2b8f12,'apiKey':_0x1443b2}),this[_0x4fde0e(0x102)]['info']('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x2b8f12});}catch(_0x1b9a7c){this['logger'][_0x4fde0e(0x1f4)]('Failed\x20to\x20refresh\x20models\x20after\x20API\x20key\x20update',{'error':_0x1b9a7c['message'],'sessionId':_0x2b8f12});}_0x5e2df3[_0x4fde0e(0x14a)]({'success':!![],'message':_0x4fde0e(0x1b4),'sessionId':_0x2b8f12,'hasLoxiaKey':!!_0x1443b2,'vendorKeys':Object['keys'](_0xc6a491||{})});}catch(_0x54b9e6){this['logger']['error'](_0x4fde0e(0x18d),{'error':_0x54b9e6['message'],'sessionId':_0x39720c[_0x4fde0e(0x160)]['sessionId']}),_0x5e2df3[_0x4fde0e(0x151)](0x1f4)['json']({'success':![],'error':_0x54b9e6[_0x4fde0e(0x1e9)]});}}),this[_0x163f1b(0x104)]['get'](_0x163f1b(0x164),async(_0x295a91,_0x17a6a4)=>{const _0x4848cc=_0x163f1b;try{const {sessionId:_0x549165}=_0x295a91['params'];if(!this['apiKeyManager'])return _0x17a6a4['status'](0x1f4)[_0x4848cc(0x14a)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0xd334bb=this['apiKeyManager']['getSessionKeys'](_0x549165);_0x17a6a4[_0x4848cc(0x14a)]({'success':!![],'sessionId':_0x549165,'hasLoxiaKey':!!_0xd334bb[_0x4848cc(0x1ed)],'vendorKeys':Object[_0x4848cc(0x1ca)](_0xd334bb['vendorKeys']||{}),'updatedAt':_0xd334bb['updatedAt']});}catch(_0x2da2af){this[_0x4848cc(0x102)][_0x4848cc(0xfe)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0x2da2af[_0x4848cc(0x1e9)],'sessionId':_0x295a91['params']['sessionId']}),_0x17a6a4['status'](0x1f4)[_0x4848cc(0x14a)]({'success':![],'error':_0x2da2af['message']});}}),this[_0x163f1b(0x104)][_0x163f1b(0x17b)](_0x163f1b(0x164),async(_0x2400a9,_0x1ba07c)=>{const _0xb109cf=_0x163f1b;try{const {sessionId:_0x3a6402}=_0x2400a9['params'];if(!this['apiKeyManager'])return _0x1ba07c[_0xb109cf(0x151)](0x1f4)[_0xb109cf(0x14a)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x3a5d14=this['apiKeyManager']['removeSessionKeys'](_0x3a6402);_0x1ba07c['json']({'success':!![],'removed':_0x3a5d14,'message':_0x3a5d14?_0xb109cf(0x13e):_0xb109cf(0x125)});}catch(_0x11e6b5){this[_0xb109cf(0x102)][_0xb109cf(0xfe)]('Failed\x20to\x20remove\x20API\x20keys',{'error':_0x11e6b5['message'],'sessionId':_0x2400a9['params']['sessionId']}),_0x1ba07c['status'](0x1f4)[_0xb109cf(0x14a)]({'success':![],'error':_0x11e6b5[_0xb109cf(0x1e9)]});}}),this[_0x163f1b(0x104)][_0x163f1b(0x142)](_0x163f1b(0x1f8),async(_0x3ae68e,_0x3a412c)=>{const _0x1e361a=_0x163f1b;try{if(!this[_0x1e361a(0x10a)])return _0x3a412c[_0x1e361a(0x151)](0x1f4)['json']({'success':![],'error':_0x1e361a(0x183)});const _0x1a9a87=this['apiKeyManager']['getActiveSessions']();_0x3a412c['json']({'success':!![],'sessions':_0x1a9a87,'total':_0x1a9a87[_0x1e361a(0x19d)]});}catch(_0x5426d3){this['logger'][_0x1e361a(0xfe)]('Failed\x20to\x20get\x20active\x20sessions',{'error':_0x5426d3['message']}),_0x3a412c[_0x1e361a(0x151)](0x1f4)[_0x1e361a(0x14a)]({'success':![],'error':_0x5426d3[_0x1e361a(0x1e9)]});}}),this['app'][_0x163f1b(0x1eb)]('/api/agents/:agentId/attachments/upload',async(_0x3072cc,_0x57a2a4)=>{const _0x1940e7=_0x163f1b;try{const {agentId:_0x354588}=_0x3072cc[_0x1940e7(0x203)],{filePath:_0x1b42d9,mode:_0x43181e,fileName:_0x35ba73}=_0x3072cc['body'];if(!this[_0x1940e7(0x1d4)]?.[_0x1940e7(0x1d8)])return _0x57a2a4[_0x1940e7(0x151)](0x1f4)[_0x1940e7(0x14a)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x38d520=await this['orchestrator'][_0x1940e7(0x1d8)]['uploadFile']({'agentId':_0x354588,'filePath':_0x1b42d9,'mode':_0x43181e||_0x1940e7(0x18c),'fileName':_0x35ba73});this['logger']['info'](_0x1940e7(0x1cd),{'agentId':_0x354588,'fileId':_0x38d520['fileId'],'fileName':_0x38d520['fileName']}),_0x57a2a4['json']({'success':!![],'attachment':_0x38d520});}catch(_0x1a2fca){this['logger']['error']('Failed\x20to\x20upload\x20file\x20attachment',{'agentId':_0x3072cc[_0x1940e7(0x203)][_0x1940e7(0x1b5)],'error':_0x1a2fca[_0x1940e7(0x1e9)]}),_0x57a2a4['status'](0x1f4)[_0x1940e7(0x14a)]({'success':![],'error':_0x1a2fca['message']});}}),this['app']['get'](_0x163f1b(0x1db),async(_0x3ff8a0,_0x232ea1)=>{const _0x26aaa3=_0x163f1b;try{const {agentId:_0x200b71}=_0x3ff8a0[_0x26aaa3(0x203)],{mode:_0x334592,active:_0xa21962}=_0x3ff8a0[_0x26aaa3(0x11f)];if(!this['orchestrator']?.[_0x26aaa3(0x1d8)])return _0x232ea1[_0x26aaa3(0x151)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x1c3d5c={};if(_0x334592)_0x1c3d5c[_0x26aaa3(0x15d)]=_0x334592;if(_0xa21962!==undefined)_0x1c3d5c[_0x26aaa3(0x1be)]=_0xa21962===_0x26aaa3(0x185);const _0x293dc9=await this['orchestrator']['fileAttachmentService'][_0x26aaa3(0x1ea)](_0x200b71,_0x1c3d5c);_0x232ea1[_0x26aaa3(0x14a)]({'success':!![],'attachments':_0x293dc9,'total':_0x293dc9['length']});}catch(_0x3ef0bf){this['logger']['error']('Failed\x20to\x20get\x20attachments',{'agentId':_0x3ff8a0[_0x26aaa3(0x203)]['agentId'],'error':_0x3ef0bf[_0x26aaa3(0x1e9)]}),_0x232ea1[_0x26aaa3(0x151)](0x1f4)['json']({'success':![],'error':_0x3ef0bf[_0x26aaa3(0x1e9)]});}}),this[_0x163f1b(0x104)][_0x163f1b(0x142)]('/api/attachments/:fileId',async(_0x9790c4,_0xa2259e)=>{const _0x2e3f54=_0x163f1b;try{const {fileId:_0x1bb1f3}=_0x9790c4[_0x2e3f54(0x203)];if(!this[_0x2e3f54(0x1d4)]?.['fileAttachmentService'])return _0xa2259e['status'](0x1f4)[_0x2e3f54(0x14a)]({'success':![],'error':_0x2e3f54(0x1aa)});const _0x4ada01=await this[_0x2e3f54(0x1d4)][_0x2e3f54(0x1d8)]['getAttachment'](_0x1bb1f3);if(!_0x4ada01)return _0xa2259e[_0x2e3f54(0x151)](0x194)[_0x2e3f54(0x14a)]({'success':![],'error':_0x2e3f54(0x143)});_0xa2259e['json']({'success':!![],'attachment':_0x4ada01});}catch(_0x26b48a){this[_0x2e3f54(0x102)][_0x2e3f54(0xfe)](_0x2e3f54(0x1b8),{'fileId':_0x9790c4['params']['fileId'],'error':_0x26b48a['message']}),_0xa2259e['status'](0x1f4)[_0x2e3f54(0x14a)]({'success':![],'error':_0x26b48a['message']});}}),this[_0x163f1b(0x104)]['patch'](_0x163f1b(0x1af),async(_0x23e703,_0x5badec)=>{const _0x28b9e1=_0x163f1b;try{const {fileId:_0x4a719f}=_0x23e703[_0x28b9e1(0x203)];if(!this[_0x28b9e1(0x1d4)]?.[_0x28b9e1(0x1d8)])return _0x5badec['status'](0x1f4)['json']({'success':![],'error':_0x28b9e1(0x1aa)});const _0x420dab=await this['orchestrator'][_0x28b9e1(0x1d8)]['toggleActive'](_0x4a719f);this[_0x28b9e1(0x102)][_0x28b9e1(0x158)](_0x28b9e1(0x1b9),{'fileId':_0x4a719f,'active':_0x420dab[_0x28b9e1(0x1be)]}),_0x5badec[_0x28b9e1(0x14a)]({'success':!![],'attachment':_0x420dab});}catch(_0xe2e533){this[_0x28b9e1(0x102)]['error']('Failed\x20to\x20toggle\x20attachment',{'fileId':_0x23e703['params'][_0x28b9e1(0x1b2)],'error':_0xe2e533[_0x28b9e1(0x1e9)]}),_0x5badec[_0x28b9e1(0x151)](0x1f4)['json']({'success':![],'error':_0xe2e533['message']});}}),this[_0x163f1b(0x104)][_0x163f1b(0x137)]('/api/attachments/:fileId',async(_0x2c5c64,_0x39cc0f)=>{const _0x29c5dc=_0x163f1b;try{const {fileId:_0x4d3dfb}=_0x2c5c64[_0x29c5dc(0x203)],{mode:_0x3f1ac0,active:_0x304f06}=_0x2c5c64['body'];if(!this[_0x29c5dc(0x1d4)]?.[_0x29c5dc(0x1d8)])return _0x39cc0f[_0x29c5dc(0x151)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x3f5110={};if(_0x3f1ac0!==undefined)_0x3f5110['mode']=_0x3f1ac0;if(_0x304f06!==undefined)_0x3f5110['active']=_0x304f06;const _0x3119b9=await this[_0x29c5dc(0x1d4)]['fileAttachmentService'][_0x29c5dc(0x119)](_0x4d3dfb,_0x3f5110);this['logger'][_0x29c5dc(0x158)](_0x29c5dc(0x152),{'fileId':_0x4d3dfb,'updates':_0x3f5110}),_0x39cc0f['json']({'success':!![],'attachment':_0x3119b9});}catch(_0x20391a){this['logger']['error'](_0x29c5dc(0x1a9),{'fileId':_0x2c5c64[_0x29c5dc(0x203)][_0x29c5dc(0x1b2)],'error':_0x20391a[_0x29c5dc(0x1e9)]}),_0x39cc0f['status'](0x1f4)[_0x29c5dc(0x14a)]({'success':![],'error':_0x20391a['message']});}}),this[_0x163f1b(0x104)][_0x163f1b(0x17b)]('/api/attachments/:fileId',async(_0x10e5dc,_0xe2d730)=>{const _0x47f6df=_0x163f1b;try{const {fileId:_0x537eac}=_0x10e5dc[_0x47f6df(0x203)],{agentId:_0x478e4c}=_0x10e5dc['query'];if(!_0x478e4c)return _0xe2d730[_0x47f6df(0x151)](0x190)['json']({'success':![],'error':_0x47f6df(0x14b)});if(!this['orchestrator']?.[_0x47f6df(0x1d8)])return _0xe2d730[_0x47f6df(0x151)](0x1f4)[_0x47f6df(0x14a)]({'success':![],'error':_0x47f6df(0x1aa)});const _0x2e73c3=await this['orchestrator'][_0x47f6df(0x1d8)]['deleteAttachment'](_0x537eac,_0x478e4c);this['logger'][_0x47f6df(0x158)](_0x47f6df(0x109),{'fileId':_0x537eac,'agentId':_0x478e4c,'physicallyDeleted':_0x2e73c3[_0x47f6df(0x1ec)]}),_0xe2d730[_0x47f6df(0x14a)]({'success':!![],'message':_0x2e73c3[_0x47f6df(0x1ec)]?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x2e73c3[_0x47f6df(0x1ec)]});}catch(_0x4a189f){this[_0x47f6df(0x102)]['error']('Failed\x20to\x20delete\x20attachment',{'fileId':_0x10e5dc[_0x47f6df(0x203)][_0x47f6df(0x1b2)],'error':_0x4a189f[_0x47f6df(0x1e9)]}),_0xe2d730[_0x47f6df(0x151)](0x1f4)['json']({'success':![],'error':_0x4a189f[_0x47f6df(0x1e9)]});}}),this[_0x163f1b(0x104)][_0x163f1b(0x1eb)]('/api/attachments/:fileId/import',async(_0x419b41,_0x3a67a4)=>{const _0x2042f0=_0x163f1b;try{const {fileId:_0x413b7a}=_0x419b41['params'],{targetAgentId:_0x54b795}=_0x419b41[_0x2042f0(0x160)];if(!_0x54b795)return _0x3a67a4[_0x2042f0(0x151)](0x190)['json']({'success':![],'error':_0x2042f0(0x145)});if(!this['orchestrator']?.[_0x2042f0(0x1d8)])return _0x3a67a4[_0x2042f0(0x151)](0x1f4)['json']({'success':![],'error':_0x2042f0(0x1aa)});const _0x59cf7c=await this['orchestrator']['fileAttachmentService']['importFromAgent'](_0x413b7a,_0x54b795);this['logger'][_0x2042f0(0x158)]('Attachment imported',{'fileId':_0x413b7a,'targetAgentId':_0x54b795}),_0x3a67a4[_0x2042f0(0x14a)]({'success':!![],'attachment':_0x59cf7c});}catch(_0x1240a2){this[_0x2042f0(0x102)]['error']('Failed to import attachment',{'fileId':_0x419b41['params'][_0x2042f0(0x1b2)],'error':_0x1240a2['message']}),_0x3a67a4[_0x2042f0(0x151)](0x1f4)[_0x2042f0(0x14a)]({'success':![],'error':_0x1240a2['message']});}}),this[_0x163f1b(0x104)]['get']('/api/attachments/:fileId/preview',async(_0x199920,_0x45f5c7)=>{const _0x210634=_0x163f1b;try{const {fileId:_0x22c960}=_0x199920['params'];if(!this[_0x210634(0x1d4)]?.['fileAttachmentService'])return _0x45f5c7[_0x210634(0x151)](0x1f4)[_0x210634(0x14a)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x49e368=await this[_0x210634(0x1d4)]['fileAttachmentService'][_0x210634(0x15c)](_0x22c960);if(!_0x49e368)return _0x45f5c7[_0x210634(0x151)](0x194)['json']({'success':![],'error':_0x210634(0x143)});_0x45f5c7['json']({'success':!![],'preview':_0x49e368});}catch(_0x1abbab){this['logger'][_0x210634(0xfe)](_0x210634(0x1fe),{'fileId':_0x199920[_0x210634(0x203)][_0x210634(0x1b2)],'error':_0x1abbab['message']}),_0x45f5c7[_0x210634(0x151)](0x1f4)['json']({'success':![],'error':_0x1abbab['message']});}}),this[_0x163f1b(0x104)][_0x163f1b(0x142)]('/api/images/:sessionId/:filename',async(_0x1d0cb7,_0x17ee4c)=>{const _0x26ef64=_0x163f1b;try{const {sessionId:_0x390075,filename:_0x4712f0}=_0x1d0cb7[_0x26ef64(0x203)],_0x6639b2=this['sessions']['get'](_0x390075);if(!_0x6639b2)return _0x17ee4c['status'](HTTP_STATUS[_0x26ef64(0x11c)])['json']({'success':![],'error':'Invalid\x20session'});const _0x5962de=a0_0x150199[_0x26ef64(0x163)](_0x4712f0);if(_0x5962de!==_0x4712f0||_0x4712f0[_0x26ef64(0x113)]('..')||_0x4712f0[_0x26ef64(0x113)]('/')||_0x4712f0['includes']('\x5c'))return _0x17ee4c[_0x26ef64(0x151)](HTTP_STATUS[_0x26ef64(0x147)])['json']({'success':![],'error':_0x26ef64(0x1f0)});let _0x19442f=null;const _0x5e9002=[a0_0x150199['join'](_0x6639b2['projectDir']||process['cwd'](),_0x26ef64(0x1fa),_0x5962de),a0_0x150199['join']('/tmp/loxia-images',_0x390075,_0x5962de),a0_0x150199[_0x26ef64(0x121)](_0x26ef64(0x1df),_0x5962de)];if(this[_0x26ef64(0x1d4)]?.[_0x26ef64(0x204)])try{const _0x3b2501=await this[_0x26ef64(0x1d4)][_0x26ef64(0x204)][_0x26ef64(0x1a8)]();for(const _0x97dba8 of _0x3b2501){_0x97dba8[_0x26ef64(0x15f)]?.[_0x26ef64(0x115)]&&_0x5e9002['push'](a0_0x150199[_0x26ef64(0x121)](_0x97dba8['directoryAccess']['workingDirectory'],_0x26ef64(0x1fa),_0x5962de));}}catch(_0x22642f){this['logger'][_0x26ef64(0x1f4)](_0x26ef64(0x1e4),{'error':_0x22642f['message']});}for(const _0x1e82a7 of _0x5e9002){try{const _0x3661e0=await a0_0x49d238[_0x26ef64(0x11d)](_0x1e82a7);if(_0x3661e0['isFile']()){_0x19442f=_0x1e82a7,this[_0x26ef64(0x102)]['info']('Image\x20found',{'filename':_0x5962de,'path':_0x19442f,'sessionId':_0x390075});break;}}catch(_0x54ba61){continue;}}if(!_0x19442f)return this['logger']['warn'](_0x26ef64(0x187),{'filename':_0x5962de,'sessionId':_0x390075,'searchPaths':_0x5e9002}),_0x17ee4c[_0x26ef64(0x151)](HTTP_STATUS[_0x26ef64(0x146)])[_0x26ef64(0x14a)]({'success':![],'error':'Image\x20not\x20found'});_0x17ee4c['sendFile'](_0x19442f,_0x2d3303=>{const _0x343e0b=_0x26ef64;_0x2d3303?(this[_0x343e0b(0x102)]['error'](_0x343e0b(0x18b),{'error':_0x2d3303['message'],'imagePath':_0x19442f,'filename':_0x5962de}),!_0x17ee4c[_0x343e0b(0x1cc)]&&_0x17ee4c['status'](HTTP_STATUS[_0x343e0b(0x199)])[_0x343e0b(0x14a)]({'success':![],'error':'Failed\x20to\x20serve\x20image'})):this[_0x343e0b(0x102)][_0x343e0b(0x158)](_0x343e0b(0x1f3),{'filename':_0x5962de,'path':_0x19442f,'sessionId':_0x390075});});}catch(_0x2cf399){this['logger'][_0x26ef64(0xfe)](_0x26ef64(0x1b0),{'error':_0x2cf399[_0x26ef64(0x1e9)],'sessionId':_0x1d0cb7['params'][_0x26ef64(0x1e7)],'filename':_0x1d0cb7['params'][_0x26ef64(0x10c)]}),_0x17ee4c['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x2cf399['message']});}}),this['app'][_0x163f1b(0x1eb)](_0x163f1b(0x11e),async(_0xc06580,_0x4e5006)=>{const _0x9f4be=_0x163f1b;try{const {agentId:_0x1d840f}=_0xc06580[_0x9f4be(0x203)],{mode:_0x452db2,lockMode:lockMode=![],sessionId:_0x97ef66}=_0xc06580[_0x9f4be(0x160)];if(!Object[_0x9f4be(0x11b)](AGENT_MODES)[_0x9f4be(0x113)](_0x452db2))return _0x4e5006['status'](0x190)['json']({'success':![],'error':'Invalid\x20mode.\x20Must\x20be\x20one\x20of:\x20'+Object[_0x9f4be(0x11b)](AGENT_MODES)[_0x9f4be(0x121)](',\x20')});const _0x46aceb=_0x97ef66||_0xc06580[_0x9f4be(0x122)];!_0x46aceb&&this[_0x9f4be(0x102)]['warn'](_0x9f4be(0x12b),{'agentId':_0x1d840f,'hasBodySessionId':!!_0x97ef66,'hasReqSessionId':!!_0xc06580[_0x9f4be(0x122)]});const _0x2f3b74={'interface':INTERFACE_TYPES[_0x9f4be(0x1a6)],'sessionId':_0x46aceb,'action':_0x9f4be(0x192),'payload':{'agentId':_0x1d840f,'updates':{'mode':_0x452db2}}},_0x1cf7a2=await this[_0x9f4be(0x1d4)]['processRequest'](_0x2f3b74);if(_0x1cf7a2[_0x9f4be(0x1c4)]){const _0x1f6c59=_0x1cf7a2[_0x9f4be(0x1b7)];this['logger'][_0x9f4be(0x158)]('Agent\x20mode\x20updated:\x20'+_0x1d840f,{'newMode':_0x452db2,'lockMode':lockMode,'finalMode':_0x1f6c59?.[_0x9f4be(0x15d)]}),this[_0x9f4be(0x1bc)](_0x2f3b74[_0x9f4be(0x1e7)],{'type':_0x9f4be(0x1bd),'agentId':_0x1d840f,'mode':_0x1f6c59?.[_0x9f4be(0x15d)],'modeState':_0x1f6c59?.[_0x9f4be(0x1ac)]}),_0x4e5006[_0x9f4be(0x14a)]({'success':!![],'agent':_0x1f6c59,'message':'Agent\x20mode\x20switched\x20to\x20'+_0x1f6c59?.[_0x9f4be(0x15d)]});}else _0x4e5006[_0x9f4be(0x151)](0x190)[_0x9f4be(0x14a)]({'success':![],'error':_0x1cf7a2['error']||_0x9f4be(0x1c0)});}catch(_0x13ad62){this[_0x9f4be(0x102)][_0x9f4be(0xfe)]('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0xc06580[_0x9f4be(0x203)]['agentId'],'error':_0x13ad62['message']}),_0x4e5006['status'](0x1f4)['json']({'success':![],'error':_0x13ad62['message']});}}),this[_0x163f1b(0x104)][_0x163f1b(0x1eb)](_0x163f1b(0x1b3),async(_0x31a883,_0x4b564c)=>{const _0x241de4=_0x163f1b;try{const {agentId:_0x1e6b28}=_0x31a883['params'],_0xfa07ac=this['orchestrator']['messageProcessor'];if(!_0xfa07ac)return _0x4b564c['status'](0x1f4)['json']({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x2bda7c=await _0xfa07ac['stopAutonomousExecution'](_0x1e6b28);this['logger']['info'](_0x241de4(0x17c)+_0x1e6b28);const _0x44e11a=_0x31a883['sessionID']||_0x2bda7c['agent']?.[_0x241de4(0x1e7)];_0x44e11a&&this['broadcastToSession'](_0x44e11a,{'type':_0x241de4(0x1bd),'agentId':_0x1e6b28,'mode':_0x2bda7c['agent']?.[_0x241de4(0x15d)],'modeState':_0x2bda7c['agent']?.[_0x241de4(0x1ac)]}),_0x4b564c[_0x241de4(0x14a)](_0x2bda7c);}catch(_0x4fbdaf){this['logger']['error']('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x31a883[_0x241de4(0x203)][_0x241de4(0x1b5)],'error':_0x4fbdaf[_0x241de4(0x1e9)]}),_0x4b564c[_0x241de4(0x151)](0x1f4)['json']({'success':![],'error':_0x4fbdaf['message']});}}),this[_0x163f1b(0x104)][_0x163f1b(0x142)]('/api/agents/:agentId/mode',async(_0xa17f3a,_0x30351b)=>{const _0x4f8989=_0x163f1b;try{const {agentId:_0x398d5f}=_0xa17f3a[_0x4f8989(0x203)],_0x3f45cf={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0xa17f3a['sessionID'],'action':_0x4f8989(0x195),'payload':{'agentId':_0x398d5f}},_0x3fa616=await this[_0x4f8989(0x1d4)]['processRequest'](_0x3f45cf);_0x3fa616[_0x4f8989(0x1c4)]&&_0x3fa616['agent']?_0x30351b['json']({'success':!![],'mode':_0x3fa616[_0x4f8989(0x1d2)]['mode'],'modeState':_0x3fa616[_0x4f8989(0x1d2)][_0x4f8989(0x1ac)],'currentTask':_0x3fa616['agent']['currentTask'],'iterationCount':_0x3fa616[_0x4f8989(0x1d2)]['iterationCount'],'taskStartTime':_0x3fa616[_0x4f8989(0x1d2)][_0x4f8989(0x1cb)],'stopRequested':_0x3fa616['agent']['stopRequested']}):_0x30351b[_0x4f8989(0x151)](0x194)['json']({'success':![],'error':'Agent\x20not\x20found'});}catch(_0x469328){this['logger']['error'](_0x4f8989(0x14f),{'agentId':_0xa17f3a[_0x4f8989(0x203)][_0x4f8989(0x1b5)],'error':_0x469328['message']}),_0x30351b[_0x4f8989(0x151)](0x1f4)['json']({'success':![],'error':_0x469328[_0x4f8989(0x1e9)]});}}),this[_0x163f1b(0x104)][_0x163f1b(0x142)]('/api/agents/available',async(_0x28bb7f,_0x1cdd90)=>{const _0x53a2c5=_0x163f1b;try{const _0x5c1af6=this['orchestrator']['config']['project']?.['directory']||process['cwd'](),_0x39601e=await this[_0x53a2c5(0x1d4)]['stateManager']['getAllAvailableAgents'](_0x5c1af6,this[_0x53a2c5(0x1d4)][_0x53a2c5(0x204)]);_0x1cdd90['json']({'success':!![],'agents':_0x39601e,'total':_0x39601e['length'],'active':_0x39601e['filter'](_0x2388a6=>_0x2388a6['isLoaded'])['length'],'archived':_0x39601e[_0x53a2c5(0x127)](_0x4fdeac=>!_0x4fdeac['isLoaded'])['length']});}catch(_0x197b72){this[_0x53a2c5(0x102)][_0x53a2c5(0xfe)](_0x53a2c5(0x1cf),{'error':_0x197b72[_0x53a2c5(0x1e9)],'stack':_0x197b72[_0x53a2c5(0x1a4)]}),_0x1cdd90['status'](0x1f4)[_0x53a2c5(0x14a)]({'success':![],'error':_0x197b72['message']});}}),this[_0x163f1b(0x104)]['get']('/api/agents/:agentId/metadata',async(_0x233695,_0x27cd5b)=>{const _0x31a21f=_0x163f1b;try{const {agentId:_0x13562f}=_0x233695[_0x31a21f(0x203)],_0x5b174d=this['orchestrator']['config']['project']?.['directory']||process[_0x31a21f(0x1ce)](),_0x54426d=await this['orchestrator']['stateManager']['getAgentMetadata'](_0x13562f,_0x5b174d);_0x27cd5b[_0x31a21f(0x14a)]({'success':!![],'metadata':_0x54426d});}catch(_0x1effb5){this[_0x31a21f(0x102)][_0x31a21f(0xfe)](_0x31a21f(0x165),{'agentId':_0x233695['params']['agentId'],'error':_0x1effb5[_0x31a21f(0x1e9)]}),_0x27cd5b['status'](0x194)['json']({'success':![],'error':_0x1effb5[_0x31a21f(0x1e9)]});}}),this[_0x163f1b(0x104)][_0x163f1b(0x1eb)]('/api/agents/import',async(_0x1ff875,_0x48cd7b)=>{const _0x974ce2=_0x163f1b;try{const {agentId:_0x1216f4}=_0x1ff875[_0x974ce2(0x160)];if(!_0x1216f4)return _0x48cd7b[_0x974ce2(0x151)](0x190)[_0x974ce2(0x14a)]({'success':![],'error':_0x974ce2(0x175)});const _0x552226=this[_0x974ce2(0x1d4)]['config']['project']?.['directory']||process['cwd'](),_0x7f2320=await this[_0x974ce2(0x1d4)]['stateManager'][_0x974ce2(0x1e3)](_0x1216f4,_0x552226,this['orchestrator'][_0x974ce2(0x204)]);this[_0x974ce2(0x190)]&&this['wsManager']['broadcast']({'type':'agent-imported','agent':{'id':_0x7f2320['id'],'name':_0x7f2320[_0x974ce2(0x105)],'status':_0x7f2320['status'],'capabilities':_0x7f2320['capabilities'],'model':_0x7f2320['currentModel']||_0x7f2320[_0x974ce2(0x184)]}}),this[_0x974ce2(0x102)]['info']('Agent imported successfully',{'agentId':_0x7f2320['id'],'name':_0x7f2320[_0x974ce2(0x105)]}),_0x48cd7b[_0x974ce2(0x14a)]({'success':!![],'agent':{'id':_0x7f2320['id'],'name':_0x7f2320['name'],'status':_0x7f2320[_0x974ce2(0x151)],'model':_0x7f2320[_0x974ce2(0x131)]||_0x7f2320[_0x974ce2(0x184)],'capabilities':_0x7f2320[_0x974ce2(0x107)],'lastActivity':_0x7f2320['lastActivity']},'message':_0x974ce2(0x186)+_0x7f2320['name']+'\x20imported\x20successfully'});}catch(_0x3c5d46){this['logger'][_0x974ce2(0xfe)]('Failed to import agent',{'agentId':_0x1ff875[_0x974ce2(0x160)][_0x974ce2(0x1b5)],'error':_0x3c5d46[_0x974ce2(0x1e9)],'stack':_0x3c5d46['stack']});const _0xa3c662=_0x3c5d46['message']['includes'](_0x974ce2(0x1ee))?0x199:_0x3c5d46[_0x974ce2(0x1e9)]['includes']('not\x20found')?0x194:_0x3c5d46[_0x974ce2(0x1e9)]['includes'](_0x974ce2(0x170))?0x190:0x1f4;_0x48cd7b['status'](_0xa3c662)[_0x974ce2(0x14a)]({'success':![],'error':_0x3c5d46[_0x974ce2(0x1e9)]});}}),this['app'][_0x163f1b(0x142)]('*',(_0x8eb425,_0x3134b2)=>{const _0x3ed3c4=a0_0x150199['join'](__dirname,'../../web-ui/build/index.html');_0x3134b2['sendFile'](_0x3ed3c4,_0xac5d76=>{const _0x522e8b=a0_0x2f20;_0xac5d76&&_0x3134b2[_0x522e8b(0x151)](HTTP_STATUS['NOT_FOUND'])['send']('Web\x20UI\x20not\x20built.\x20Run:\x20npm\x20run\x20build:ui');});});}[a0_0x4b13ea(0x18a)](){const _0x49aa80=a0_0x4b13ea;this['logger']['info'](_0x49aa80(0x1e8),{'port':this['port'],'host':this[_0x49aa80(0x134)],'wsServerExists':!!this['wss'],'httpServerExists':!!this['server']}),this[_0x49aa80(0x15a)]['on']('error',_0x1699df=>{const _0x3f215d=_0x49aa80;this[_0x3f215d(0x102)]['error'](_0x3f215d(0x166),{'error':_0x1699df['message'],'stack':_0x1699df['stack'],'port':this[_0x3f215d(0x12d)]});}),this['wss']['on']('listening',()=>{const _0x2aa65e=_0x49aa80;this[_0x2aa65e(0x102)]['info'](_0x2aa65e(0x149),{'port':this[_0x2aa65e(0x12d)],'host':this['host']});}),this['wss']['on'](_0x49aa80(0x15b),(_0xf43390,_0x226aad)=>{const _0x2cbfe8=_0x49aa80,_0x185c03=_0x2cbfe8(0x1b6)+Date['now']()+'-'+Math[_0x2cbfe8(0x136)]()['toString'](0x24)['substr'](0x2,0x9);this['logger'][_0x2cbfe8(0x158)](_0x2cbfe8(0x16a),{'connectionId':_0x185c03,'ip':_0x226aad[_0x2cbfe8(0x100)][_0x2cbfe8(0x182)],'origin':_0x226aad[_0x2cbfe8(0x1e1)][_0x2cbfe8(0x16b)],'host':_0x226aad['headers'][_0x2cbfe8(0x134)],'userAgent':_0x226aad['headers']['user-agent'],'url':_0x226aad['url']});const _0x25a895={'id':_0x185c03,'ws':_0xf43390,'sessionId':null,'connectedAt':new Date()['toISOString'](),'lastActivity':new Date()[_0x2cbfe8(0x1ad)]()};this[_0x2cbfe8(0x1c5)][_0x2cbfe8(0x208)](_0x185c03,_0x25a895),_0xf43390['on']('message',async _0x3e93db=>{const _0x93e3d0=_0x2cbfe8;try{const _0x117f79=JSON[_0x93e3d0(0x117)](_0x3e93db['toString']());await this['handleWebSocketMessage'](_0x185c03,_0x117f79);}catch(_0x567c89){this['logger'][_0x93e3d0(0xfe)](_0x93e3d0(0x1dc),{'connectionId':_0x185c03,'error':_0x567c89[_0x93e3d0(0x1e9)]}),_0xf43390['send'](JSON['stringify']({'type':_0x93e3d0(0xfe),'error':_0x567c89['message']}));}}),_0xf43390['on']('close',()=>{const _0xf52d01=_0x2cbfe8;this[_0xf52d01(0x102)][_0xf52d01(0x158)](_0xf52d01(0x135),{'connectionId':_0x185c03}),this[_0xf52d01(0x1c5)]['delete'](_0x185c03);}),_0xf43390['send'](JSON['stringify']({'type':'connected','connectionId':_0x185c03,'timestamp':new Date()['toISOString']()}));});}async['handleWebSocketMessage'](_0x1021b2,_0x2dbe88){const _0x57a259=a0_0x4b13ea,_0x5a14f1=this['connections'][_0x57a259(0x142)](_0x1021b2);if(!_0x5a14f1)return;_0x5a14f1['lastActivity']=new Date()['toISOString']();switch(_0x2dbe88['type']){case _0x57a259(0x118):const _0xbb38aa=_0x2dbe88[_0x57a259(0x1e7)];_0x5a14f1[_0x57a259(0x1e7)]=_0xbb38aa,this[_0x57a259(0x102)][_0x57a259(0x158)]('WebSocket\x20joined\x20session',{'connectionId':_0x1021b2,'sessionId':_0xbb38aa,'totalConnectionsForSession':Array['from'](this[_0x57a259(0x1c5)][_0x57a259(0x11b)]())['filter'](_0x1f9e38=>_0x1f9e38['sessionId']===_0xbb38aa)[_0x57a259(0x19d)]}),_0x5a14f1['ws'][_0x57a259(0x1d5)](JSON['stringify']({'type':'session_joined','sessionId':_0xbb38aa}));break;case'ping':_0x5a14f1['ws']['send'](JSON['stringify']({'type':_0x57a259(0xff),'timestamp':new Date()[_0x57a259(0x1ad)]()}));break;case'orchestrator_request':try{const _0x4fb564={'interface':INTERFACE_TYPES[_0x57a259(0x1a6)],'sessionId':_0x5a14f1['sessionId'],'action':_0x2dbe88[_0x57a259(0x155)],'payload':_0x2dbe88['payload'],'projectDir':_0x2dbe88['projectDir']||process['cwd']()},_0x2b6365=await this['orchestrator']['processRequest'](_0x4fb564);_0x5a14f1['ws']['send'](JSON['stringify']({'type':'orchestrator_response','requestId':_0x2dbe88[_0x57a259(0x1d6)],'response':_0x2b6365}));}catch(_0x444374){_0x5a14f1['ws']['send'](JSON[_0x57a259(0x18f)]({'type':_0x57a259(0xfe),'requestId':_0x2dbe88[_0x57a259(0x1d6)],'error':_0x444374[_0x57a259(0x1e9)]}));}break;default:this['logger']['warn'](_0x57a259(0x1dd),{'connectionId':_0x1021b2,'type':_0x2dbe88['type']});}}[a0_0x4b13ea(0x1bc)](_0x1369d5,_0x740f68){const _0x28f5ba=a0_0x4b13ea,_0x3d49df=Array['from'](this[_0x28f5ba(0x1c5)][_0x28f5ba(0x11b)]())['filter'](_0x5f53cd=>_0x5f53cd['sessionId']===_0x1369d5);let _0x406db1=[];_0x3d49df['length']===0x0&&(_0x406db1=Array['from'](this['connections']['values']()),this[_0x28f5ba(0x102)]?.[_0x28f5ba(0x1f4)]('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x1369d5,'totalConnections':this[_0x28f5ba(0x1c5)]['size'],'allSessionIds':Array[_0x28f5ba(0x1bf)](this[_0x28f5ba(0x1c5)][_0x28f5ba(0x11b)]())['map'](_0x28e671=>_0x28e671[_0x28f5ba(0x1e7)])[_0x28f5ba(0x127)](Boolean)}));const _0x31367d=_0x3d49df[_0x28f5ba(0x19d)]>0x0?_0x3d49df:_0x406db1;this[_0x28f5ba(0x102)]?.['info']('📡\x20WebSocket\x20broadcastToSession\x20called:',{'sessionId':_0x1369d5,'messageType':_0x740f68[_0x28f5ba(0x157)],'agentId':_0x740f68[_0x28f5ba(0x1b5)],'totalConnections':this[_0x28f5ba(0x1c5)]['size'],'sessionConnections':_0x3d49df['length'],'targetConnections':_0x31367d['length'],'connectionIds':_0x31367d[_0x28f5ba(0x19e)](_0x28477f=>_0x28477f['id']),'usingFallback':_0x3d49df['length']===0x0,'messagePreview':_0x740f68['type']===_0x28f5ba(0x130)&&_0x740f68['message']?{'messageId':_0x740f68[_0x28f5ba(0x1e9)]['id'],'messageRole':_0x740f68[_0x28f5ba(0x1e9)]['role'],'contentLength':_0x740f68['message']['content']?.['length'],'hasToolResults':!!_0x740f68[_0x28f5ba(0x1e9)]['toolResults']}:undefined});for(const _0x243888 of _0x31367d){try{const _0x18391a={..._0x740f68,'timestamp':new Date()['toISOString']()};_0x243888['ws'][_0x28f5ba(0x1d5)](JSON['stringify'](_0x18391a)),this[_0x28f5ba(0x102)]?.[_0x28f5ba(0x158)](_0x28f5ba(0x1ef),{'connectionId':_0x243888['id'],'messageType':_0x740f68[_0x28f5ba(0x157)],'agentId':_0x740f68['agentId']});}catch(_0x43785c){this['logger']['warn']('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x243888['id'],'sessionId':_0x1369d5,'messageType':_0x740f68[_0x28f5ba(0x157)],'error':_0x43785c[_0x28f5ba(0x1e9)]});}}}async[a0_0x4b13ea(0x16f)](){return new Promise((_0x4d5f42,_0xddf565)=>{const _0x54459e=a0_0x2f20;this[_0x54459e(0x1d9)]['listen'](this['port'],this[_0x54459e(0x134)],_0x4fc9c1=>{const _0x548266=_0x54459e;_0x4fc9c1?(this[_0x548266(0x102)]['error'](_0x548266(0x138),{'error':_0x4fc9c1[_0x548266(0x1e9)],'port':this[_0x548266(0x12d)],'host':this[_0x548266(0x134)]}),_0xddf565(_0x4fc9c1)):(this[_0x548266(0x1ba)]=!![],this[_0x548266(0x102)]['info']('HTTP\x20server\x20started\x20successfully',{'port':this['port'],'host':this[_0x548266(0x134)],'httpUrl':'http://'+this[_0x548266(0x134)]+':'+this[_0x548266(0x12d)],'wsUrl':_0x548266(0x180)+this['host']+':'+this[_0x548266(0x12d)],'wsServerAttached':!!this['wss'],'wsConnections':this['connections']['size']}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x4d5f42());}),this[_0x54459e(0x1d9)]['on'](_0x54459e(0xfe),_0x1e2422=>{const _0xca93c5=_0x54459e;this['logger']['error']('HTTP\x20server\x20error:',{'error':_0x1e2422['message'],'stack':_0x1e2422['stack'],'port':this[_0xca93c5(0x12d)]});});});}async[a0_0x4b13ea(0x1a2)](){const _0x43f861=a0_0x4b13ea;try{const {default:_0x58e6ad}=await import('ws'),_0x165d94=new _0x58e6ad(_0x43f861(0x1b1)+this['port']);_0x165d94['on']('open',()=>{const _0x5eee47=_0x43f861;this[_0x5eee47(0x102)][_0x5eee47(0x158)]('✅\x20WebSocket\x20server\x20test:\x20SUCCESSFUL',{'port':this['port'],'url':'ws://localhost:'+this['port']}),_0x165d94['close']();}),_0x165d94['on']('error',_0xe06227=>{const _0x1ff905=_0x43f861;this[_0x1ff905(0x102)][_0x1ff905(0xfe)](_0x1ff905(0x1ab),{'port':this['port'],'url':'ws://localhost:'+this[_0x1ff905(0x12d)],'error':_0xe06227['message'],'code':_0xe06227['code']});}),_0x165d94['on']('close',(_0x12844a,_0x568c2c)=>{const _0x47d6fb=_0x43f861;_0x12844a===0x3e8&&this[_0x47d6fb(0x102)]['info'](_0x47d6fb(0x167));}),setTimeout(()=>{const _0xe6aed5=_0x43f861;_0x165d94['readyState']===_0x58e6ad[_0xe6aed5(0x17e)]&&(this['logger'][_0xe6aed5(0xfe)](_0xe6aed5(0x202),{'port':this['port'],'url':'ws://localhost:'+this['port'],'readyState':_0x165d94[_0xe6aed5(0x193)]}),_0x165d94[_0xe6aed5(0x207)]());},0x1388);}catch(_0x3a9cc5){this['logger'][_0x43f861(0xfe)]('❌\x20WebSocket\x20server\x20test:\x20EXCEPTION',{'error':_0x3a9cc5['message'],'stack':_0x3a9cc5['stack']});}}['setApiKeyManager'](_0x366462){const _0xd887d2=a0_0x4b13ea;this['apiKeyManager']=_0x366462,this[_0xd887d2(0x102)]?.[_0xd887d2(0x158)]('API\x20key\x20manager\x20set\x20for\x20web\x20server',{'hasManager':!!_0x366462});}[a0_0x4b13ea(0x188)](_0x56bd4b){const _0x2eace0=a0_0x4b13ea;if(!_0x56bd4b)return null;const _0x462765=_0x56bd4b['toLowerCase']();if(_0x462765['includes'](_0x2eace0(0x13d))||_0x462765[_0x2eace0(0x113)]('claude'))return'anthropic';else{if(_0x462765['includes']('openai')||_0x462765['includes']('gpt'))return _0x2eace0(0x13a);else{if(_0x462765['includes'](_0x2eace0(0x14c)))return _0x2eace0(0x14c);else{if(_0x462765[_0x2eace0(0x113)]('phi'))return'microsoft';}}}return null;}['getStatus'](){const _0x4ba015=a0_0x4b13ea;return{'isRunning':this['isRunning'],'port':this[_0x4ba015(0x12d)],'host':this[_0x4ba015(0x134)],'connections':this['connections'][_0x4ba015(0x194)],'sessions':this['sessions']['size'],'url':'http://'+this['host']+':'+this[_0x4ba015(0x12d)]};}async[a0_0x4b13ea(0x189)](){const _0x55b966=a0_0x4b13ea;if(!this[_0x55b966(0x1ba)])return;this['logger']['info'](_0x55b966(0x19b));for(const _0x1a8e7e of this['connections'][_0x55b966(0x11b)]()){_0x1a8e7e['ws'][_0x55b966(0x1a7)]();}return this['connections'][_0x55b966(0x1f9)](),this['wss'][_0x55b966(0x1a7)](),new Promise(_0x285e89=>{const _0xe5f24d=_0x55b966;this['server'][_0xe5f24d(0x1a7)](()=>{const _0x3db36f=_0xe5f24d;this['isRunning']=![],this[_0x3db36f(0x102)][_0x3db36f(0x158)]('Web\x20server\x20shutdown\x20complete'),_0x285e89();});});}}export default WebServer;if(import.meta.url===a0_0x4b13ea(0x178)+process[a0_0x4b13ea(0x110)][0x1]){const simpleLogger={'info':(_0x2cac77,_0xa0a15c)=>console['log'](a0_0x4b13ea(0x12e)+_0x2cac77,_0xa0a15c?JSON['stringify'](_0xa0a15c,null,0x2):''),'error':(_0x588b76,_0x16041)=>console[a0_0x4b13ea(0xfe)]('[ERROR]\x20'+_0x588b76,_0x16041?JSON[a0_0x4b13ea(0x18f)](_0x16041,null,0x2):''),'warn':(_0x421686,_0x3a7916)=>console[a0_0x4b13ea(0x1f4)]('[WARN]\x20'+_0x421686,_0x3a7916?JSON['stringify'](_0x3a7916,null,0x2):''),'debug':(_0x5ad097,_0x5b6c67)=>console[a0_0x4b13ea(0x123)](a0_0x4b13ea(0x209)+_0x5ad097,_0x5b6c67?JSON['stringify'](_0x5b6c67,null,0x2):'')},mockOrchestrator={'processAction':async(_0xe956c9,_0xc5ad2d)=>{const _0x2b7a40=a0_0x4b13ea;simpleLogger['info'](_0x2b7a40(0x1f6),{'action':_0xe956c9,'data':_0xc5ad2d});switch(_0xe956c9){case ORCHESTRATOR_ACTIONS[_0x2b7a40(0x1c8)]:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS['CREATE_AGENT']:return{'success':!![],'data':{'id':'agent-'+Date[_0x2b7a40(0x132)](),'name':_0xc5ad2d[_0x2b7a40(0x105)]||_0x2b7a40(0x12f),'status':'active','model':_0xc5ad2d[_0x2b7a40(0x111)]||_0x2b7a40(0x162),'systemPrompt':_0xc5ad2d['systemPrompt']||_0x2b7a40(0x17f)}};case ORCHESTRATOR_ACTIONS[_0x2b7a40(0x13f)]:return{'success':!![],'data':{'message':{'id':'msg-'+Date[_0x2b7a40(0x132)](),'content':'Echo:\x20'+_0xc5ad2d['message'],'timestamp':new Date()[_0x2b7a40(0x1ad)]()}}};default:return{'success':![],'error':_0x2b7a40(0x1c9)+_0xe956c9};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':a0_0x4b13ea(0x103)});console['log'](a0_0x4b13ea(0x144)),server[a0_0x4b13ea(0x16f)]()['then'](()=>{const _0x315696=a0_0x4b13ea,_0x42762e=server['getStatus']();console['log'](_0x315696(0x19f)+_0x42762e[_0x315696(0x1d3)]),console[_0x315696(0x123)](_0x315696(0x17a)),console['log'](_0x315696(0x1f2));})['catch'](_0x36d4ff=>{const _0x142209=a0_0x4b13ea;console[_0x142209(0xfe)]('❌\x20Failed\x20to\x20start\x20web\x20server:',_0x36d4ff[_0x142209(0x1e9)]),process[_0x142209(0x1fc)](0x1);}),process['on'](a0_0x4b13ea(0x141),async()=>{const _0x4956bd=a0_0x4b13ea;console[_0x4956bd(0x123)](_0x4956bd(0x108)),await server[_0x4956bd(0x189)](),process['exit'](0x0);});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2d60b9=a0_0x2123;(function(_0x64cc1c,_0x12b0be){const _0x2e700a=a0_0x2123,_0x588f82=_0x64cc1c();while(!![]){try{const _0xe170c4=-parseInt(_0x2e700a(0xab))/0x1+parseInt(_0x2e700a(0x90))/0x2+-parseInt(_0x2e700a(0xb2))/0x3*(-parseInt(_0x2e700a(0xaf))/0x4)+parseInt(_0x2e700a(0x9c))/0x5+-parseInt(_0x2e700a(0xa8))/0x6+-parseInt(_0x2e700a(0xb5))/0x7*(parseInt(_0x2e700a(0xa4))/0x8)+-parseInt(_0x2e700a(0x94))/0x9;if(_0xe170c4===_0x12b0be)break;else _0x588f82['push'](_0x588f82['shift']());}catch(_0x464563){_0x588f82['push'](_0x588f82['shift']());}}}(a0_0xce37,0x87157));function a0_0xce37(){const _0x1b0b06=['zgLYBMfTzq','AxngAwXL','ndiXodjrvvHdq2u','rMLSzsbUB3qGzM91BMq','y29UzMLN','AgvHBhrOq2HLy2S','mtuZmte3nePKr3LXuq','yMfZzw5HBwu','C29Tzq','zxH0BMfTzq','mte0odC1mJH0y3vVuuK','u2vYDMvYigvYCM9Y','BgvUz3rO','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','y3DK','Dg9ju09tDhjPBMC','C2L6zq','ugf0AcbUB3qGzM91BMqGB3iGAw5Hy2nLC3nPyMXL','nda0nJC4nujxqMnSAG','y3jLyxrLrgLYzwn0B3j5','C2HVDwXKsw5JBhvKzuL0zw0','AxneAxjLy3rVCNK','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNK','C29YDa','AxntywzLugf0Aa','AM9PBG','mJi0q0HAsgz1','BMfTzq','DhLWzq','vw5RBM93BIbLCNjVCG','mJaZodK4Bev1zfH0','Dg9mB3DLCKnHC2u','AgvHBhrOEq','mJq2nZGYC3HZDM53','C2HVD0HPzgrLBG','sw52ywXPzcbMAwXLihbHDgG','zgLYzwn0B3j5','mJrlBgrrzLe','z2v0rMLSzvn0yxrZ','qwnJzxnZihrVihrOAxmGCgf0AcbPCYbYzxn0CMLJDgvK','mZuYmtiYBuDhqKn4'];a0_0xce37=function(){return _0x1b0b06;};return a0_0xce37();}import{promises as a0_0x6412b2}from'fs';function a0_0x2123(_0x42cf10,_0x2b5484){_0x42cf10=_0x42cf10-0x8e;const _0xce3729=a0_0xce37();let _0x212321=_0xce3729[_0x42cf10];if(a0_0x2123['YsFuqu']===undefined){var _0x2fd3d4=function(_0x1e15f7){const _0x268257='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6412b2='',_0x2068d2='';for(let _0x51d096=0x0,_0x587a21,_0x27217d,_0x2a3562=0x0;_0x27217d=_0x1e15f7['charAt'](_0x2a3562++);~_0x27217d&&(_0x587a21=_0x51d096%0x4?_0x587a21*0x40+_0x27217d:_0x27217d,_0x51d096++%0x4)?_0x6412b2+=String['fromCharCode'](0xff&_0x587a21>>(-0x2*_0x51d096&0x6)):0x0){_0x27217d=_0x268257['indexOf'](_0x27217d);}for(let _0x32acda=0x0,_0x4ee159=_0x6412b2['length'];_0x32acda<_0x4ee159;_0x32acda++){_0x2068d2+='%'+('00'+_0x6412b2['charCodeAt'](_0x32acda)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2068d2);};a0_0x2123['jckAHr']=_0x2fd3d4,a0_0x2123['JcPUwm']={},a0_0x2123['YsFuqu']=!![];}const _0x48a7d7=_0xce3729[0x0],_0x3d190d=_0x42cf10+_0x48a7d7,_0x368f86=a0_0x2123['JcPUwm'][_0x3d190d];return!_0x368f86?(_0x212321=a0_0x2123['jckAHr'](_0x212321),a0_0x2123['JcPUwm'][_0x3d190d]=_0x212321):_0x212321=_0x368f86,_0x212321;}import a0_0x2068d2 from'path';import a0_0x51d096 from'os';class FileExplorerController{constructor(_0x587a21={}){const _0xaee65d=a0_0x2123;this[_0xaee65d(0x8e)]={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x587a21};}async['getFileStats'](_0x27217d){const _0x250705=a0_0x2123;try{const _0x2a3562=await a0_0x6412b2['stat'](_0x27217d);return{'stats':_0x2a3562};}catch(_0x32acda){return{'stats':null,'error':_0x32acda instanceof Error?_0x32acda['message']:_0x250705(0xa7)};}}[a0_0x2d60b9(0xa2)](_0x4ee159){const _0x67a7c=a0_0x2d60b9;try{const _0x47b5cf=a0_0x2068d2['resolve'](_0x4ee159);if(this[_0x67a7c(0x8e)]['restrictedPaths'][_0x67a7c(0x92)](_0x5b634a=>_0x47b5cf['startsWith'](a0_0x2068d2['resolve'](_0x5b634a))))return![];return!![];}catch(_0x2c9038){return![];}}[a0_0x2d60b9(0x9e)](_0x12ef63,_0x46c3cc){const _0xa59178=a0_0x2d60b9;if(!this['config'][_0xa59178(0xac)]&&_0x12ef63['startsWith']('.'))return![];if(_0x46c3cc[_0xa59178(0xb4)]()&&this[_0xa59178(0x8e)]['allowedExtensions'][_0xa59178(0x96)]>0x0){const _0xe2014=a0_0x2068d2['extname'](_0x12ef63)[_0xa59178(0xa9)]();if(!this['config']['allowedExtensions']['includes'](_0xe2014))return![];}return!![];}async['browseDirectory'](_0x2f9765=process[a0_0x2d60b9(0x98)](),_0x4a23a8={}){const _0x1f35a4=a0_0x2d60b9;try{const _0x76c9a1=a0_0x2068d2['resolve'](_0x2f9765);if(!this[_0x1f35a4(0xa2)](_0x76c9a1))return{'success':![],'error':_0x1f35a4(0xb1)};const {stats:_0x51f2c2,error:_0x524683}=await this[_0x1f35a4(0xb0)](_0x76c9a1);if(_0x524683||!_0x51f2c2)return{'success':![],'error':_0x1f35a4(0x9b)};if(!_0x51f2c2[_0x1f35a4(0x9f)]())return{'success':![],'error':_0x1f35a4(0x97)};const _0x2303b4=await a0_0x6412b2['readdir'](_0x76c9a1),_0x5357d1=[];for(const _0x4d8a01 of _0x2303b4){const _0x6c62d3=a0_0x2068d2[_0x1f35a4(0xa3)](_0x76c9a1,_0x4d8a01),{stats:_0x111163}=await this[_0x1f35a4(0xb0)](_0x6c62d3);if(_0x111163&&this['shouldIncludeItem'](_0x4d8a01,_0x111163)){const _0x2c3454={'name':_0x4d8a01,'path':_0x6c62d3,'type':_0x111163[_0x1f35a4(0x9f)]()?_0x1f35a4(0xae):'file','size':_0x111163[_0x1f35a4(0xb4)]()?_0x111163[_0x1f35a4(0x9a)]:undefined,'lastModified':_0x111163['mtime'],'extension':_0x111163[_0x1f35a4(0xb4)]()?a0_0x2068d2[_0x1f35a4(0x93)](_0x4d8a01)[_0x1f35a4(0xa9)]():undefined};_0x5357d1['push'](_0x2c3454);}}_0x5357d1[_0x1f35a4(0xa1)]((_0x565938,_0x442731)=>{const _0x2e706a=_0x1f35a4;if(_0x565938['type']===_0x442731[_0x2e706a(0xa6)])return _0x565938[_0x2e706a(0xa5)]['localeCompare'](_0x442731[_0x2e706a(0xa5)]);return _0x565938['type']===_0x2e706a(0xae)?-0x1:0x1;});const _0xbb04be=a0_0x2068d2[_0x1f35a4(0xb3)](_0x76c9a1),_0x4ef270=_0xbb04be!==_0x76c9a1;return{'success':!![],'data':{'currentPath':_0x76c9a1,'parentPath':_0x4ef270?_0xbb04be:null,'items':_0x5357d1,'totalItems':_0x5357d1[_0x1f35a4(0x96)],'directories':_0x5357d1['filter'](_0x313ae5=>_0x313ae5['type']==='directory')['length'],'files':_0x5357d1['filter'](_0x1974ec=>_0x1974ec['type']==='file')[_0x1f35a4(0x96)]}};}catch(_0x39902a){return{'success':![],'error':_0x39902a instanceof Error?_0x39902a['message']:_0x1f35a4(0x95)};}}async['getFileInfo'](_0x27f596){const _0x44bdd6=a0_0x2d60b9;try{if(!_0x27f596||!this['isSafePath'](_0x27f596))return{'success':![],'error':_0x44bdd6(0xad)};const {stats:_0x8807e5,error:_0x24a3f5}=await this['getFileStats'](_0x27f596);if(_0x24a3f5||!_0x8807e5)return{'success':![],'error':_0x44bdd6(0xb6)};const _0x118d97={'name':a0_0x2068d2[_0x44bdd6(0x91)](_0x27f596),'path':_0x27f596,'type':_0x8807e5['isDirectory']()?_0x44bdd6(0xae):'file','size':_0x8807e5['isFile']()?_0x8807e5[_0x44bdd6(0x9a)]:undefined,'lastModified':_0x8807e5['mtime'],'extension':_0x8807e5['isFile']()?a0_0x2068d2['extname'](_0x27f596)[_0x44bdd6(0xa9)]():undefined};return{'success':!![],'data':_0x118d97};}catch(_0x127f95){return{'success':![],'error':_0x127f95 instanceof Error?_0x127f95['message']:'Server\x20error'};}}['getCurrentWorkingDirectory'](){return{'success':!![],'data':{'cwd':process['cwd'](),'platform':process['platform'],'homedir':a0_0x51d096['homedir']()}};}async[a0_0x2d60b9(0x9d)](_0x30152,_0x2e0e50={}){const _0x22155e=a0_0x2d60b9;try{if(!this[_0x22155e(0xa2)](_0x30152))return{'success':![],'error':'Invalid\x20directory\x20path'};return await a0_0x6412b2['mkdir'](_0x30152,{'recursive':_0x2e0e50['recursive']||![]}),{'success':!![],'data':{'path':_0x30152,'relativePath':a0_0x2068d2['relative'](process['cwd'](),_0x30152)}};}catch(_0x2be3b3){return{'success':![],'error':_0x2be3b3 instanceof Error?_0x2be3b3['message']:_0x22155e(0xa0),'code':_0x2be3b3['code']};}}[a0_0x2d60b9(0x8f)](){const _0x52116f=a0_0x2d60b9;return{'success':!![],'data':{'status':_0x52116f(0xaa),'timestamp':new Date()[_0x52116f(0x99)](),'module':'fileExplorer'}};}}export default FileExplorerController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2cb31e,_0x2c9a0){const _0x4eb33f=a0_0x23ba,_0xb93e74=_0x2cb31e();while(!![]){try{const _0x4b87cd=-parseInt(_0x4eb33f(0x1c3))/0x1*(parseInt(_0x4eb33f(0x1c1))/0x2)+parseInt(_0x4eb33f(0x1c6))/0x3*(parseInt(_0x4eb33f(0x1ca))/0x4)+-parseInt(_0x4eb33f(0x1c2))/0x5*(-parseInt(_0x4eb33f(0x1c9))/0x6)+parseInt(_0x4eb33f(0x1c8))/0x7*(-parseInt(_0x4eb33f(0x1c5))/0x8)+parseInt(_0x4eb33f(0x1c7))/0x9+parseInt(_0x4eb33f(0x1c0))/0xa+-parseInt(_0x4eb33f(0x1c4))/0xb*(parseInt(_0x4eb33f(0x1bf))/0xc);if(_0x4b87cd===_0x2c9a0)break;else _0xb93e74['push'](_0xb93e74['shift']());}catch(_0x338984){_0xb93e74['push'](_0xb93e74['shift']());}}}(a0_0x40a0,0xe6aa6));function a0_0x40a0(){const _0x5cebd1=['nNbxwu1VvG','mta1mde5nuPtvu1dza','ndm5mdaZthvYyNrP','mJC1whr3Avzv','ofjur29pAa','mJCYntqXDhLsvwf1','mtuXnZa2nZbqsw52ANu','oduZodKWmwrIz3HVvG','mtHcsM1mvLi','mJbfD3nHA3C','mtKXmtK2C1LMuNLi','mteXmdaWmtbcrLbtuM8'];a0_0x40a0=function(){return _0x5cebd1;};return a0_0x40a0();}import{createFileExplorerRouter,defaultConfig}from'./routes.js';import a0_0x241ddf from'./controller.js';export function initFileExplorerModule(_0x2cf4c3={}){const _0x1e618e={...defaultConfig,..._0x2cf4c3},_0xc13547=createFileExplorerRouter(_0x1e618e),_0x49fd86=new a0_0x241ddf(_0x1e618e);return{'router':_0xc13547,'controller':_0x49fd86,'config':_0x1e618e};}export{default as FileExplorerController}from'./controller.js';function a0_0x23ba(_0x5eece9,_0x31f1a7){_0x5eece9=_0x5eece9-0x1bf;const _0x40a093=a0_0x40a0();let _0x23ba2c=_0x40a093[_0x5eece9];if(a0_0x23ba['lYwJCi']===undefined){var _0x1263e6=function(_0x2e9fcf){const _0xbb84cb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x241ddf='',_0x2cf4c3='';for(let _0x1e618e=0x0,_0xc13547,_0x49fd86,_0x5984fa=0x0;_0x49fd86=_0x2e9fcf['charAt'](_0x5984fa++);~_0x49fd86&&(_0xc13547=_0x1e618e%0x4?_0xc13547*0x40+_0x49fd86:_0x49fd86,_0x1e618e++%0x4)?_0x241ddf+=String['fromCharCode'](0xff&_0xc13547>>(-0x2*_0x1e618e&0x6)):0x0){_0x49fd86=_0xbb84cb['indexOf'](_0x49fd86);}for(let _0xe7520d=0x0,_0x3b2658=_0x241ddf['length'];_0xe7520d<_0x3b2658;_0xe7520d++){_0x2cf4c3+='%'+('00'+_0x241ddf['charCodeAt'](_0xe7520d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2cf4c3);};a0_0x23ba['fqHYGl']=_0x1263e6,a0_0x23ba['AfeoxA']={},a0_0x23ba['lYwJCi']=!![];}const _0xe536ad=_0x40a093[0x0],_0x3c433f=_0x5eece9+_0xe536ad,_0x245933=a0_0x23ba['AfeoxA'][_0x3c433f];return!_0x245933?(_0x23ba2c=a0_0x23ba['fqHYGl'](_0x23ba2c),a0_0x23ba['AfeoxA'][_0x3c433f]=_0x23ba2c):_0x23ba2c=_0x245933,_0x23ba2c;}export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x241ddf,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xc5b316,_0x1fd2d4){const _0x19b607=a0_0x2da9,_0x581151=_0xc5b316();while(!![]){try{const _0xedf14c=parseInt(_0x19b607(0x16b))/0x1*(-parseInt(_0x19b607(0x175))/0x2)+parseInt(_0x19b607(0x183))/0x3*(-parseInt(_0x19b607(0x17c))/0x4)+parseInt(_0x19b607(0x171))/0x5+parseInt(_0x19b607(0x16a))/0x6*(parseInt(_0x19b607(0x176))/0x7)+-parseInt(_0x19b607(0x170))/0x8*(-parseInt(_0x19b607(0x181))/0x9)+-parseInt(_0x19b607(0x184))/0xa*(parseInt(_0x19b607(0x173))/0xb)+parseInt(_0x19b607(0x16e))/0xc;if(_0xedf14c===_0x1fd2d4)break;else _0x581151['push'](_0x581151['shift']());}catch(_0x23976c){_0x581151['push'](_0x581151['shift']());}}}(a0_0x2952,0xcb5f0));export function validatePath(_0x2e6ef5,_0x3ec06f,_0x314d3c){const _0x1cecaf=a0_0x2da9,{path:_0x5458d5}=_0x2e6ef5['query'];if(_0x5458d5&&typeof _0x5458d5!==_0x1cecaf(0x17e))return _0x3ec06f['status'](0x190)[_0x1cecaf(0x178)]({'success':![],'error':'Path\x20parameter\x20must\x20be\x20a\x20string'});_0x314d3c();}export function createRateLimit(_0x18bce2=0x64,_0x4497bc=0xea60){const _0x188e47=new Map();return(_0xb95ed3,_0x50b623,_0x20f8a4)=>{const _0x52d794=a0_0x2da9,_0x35d667=_0xb95ed3['ip']||_0xb95ed3['connection'][_0x52d794(0x16f)]||_0x52d794(0x179),_0x2fd47d=Date[_0x52d794(0x17f)](),_0x283090=_0x2fd47d-_0x4497bc;!_0x188e47[_0x52d794(0x172)](_0x35d667)&&_0x188e47['set'](_0x35d667,[]);const _0x4d9fb0=_0x188e47['get'](_0x35d667),_0xe5ee7b=_0x4d9fb0['filter'](_0x19e3b7=>_0x19e3b7>_0x283090);_0x188e47['set'](_0x35d667,_0xe5ee7b);if(_0xe5ee7b['length']>=_0x18bce2)return _0x50b623[_0x52d794(0x16d)](0x1ad)['json']({'success':![],'error':_0x52d794(0x17a),'retryAfter':Math[_0x52d794(0x16c)](_0x4497bc/0x3e8)});_0xe5ee7b[_0x52d794(0x180)](_0x2fd47d),_0x20f8a4();};}export function securityHeaders(_0xedfd9c,_0xbf1095,_0x40fd01){_0xbf1095['set']({'Cache-Control':'no-cache,\x20no-store,\x20must-revalidate','Pragma':'no-cache','Expires':'0'}),_0x40fd01();}function a0_0x2da9(_0x2bedcb,_0x16a27e){_0x2bedcb=_0x2bedcb-0x16a;const _0x29521b=a0_0x2952();let _0x2da918=_0x29521b[_0x2bedcb];if(a0_0x2da9['eCWzrs']===undefined){var _0x4ca03f=function(_0x4db4da){const _0x5b2464='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e6ef5='',_0x3ec06f='';for(let _0x314d3c=0x0,_0x5458d5,_0x18bce2,_0x4497bc=0x0;_0x18bce2=_0x4db4da['charAt'](_0x4497bc++);~_0x18bce2&&(_0x5458d5=_0x314d3c%0x4?_0x5458d5*0x40+_0x18bce2:_0x18bce2,_0x314d3c++%0x4)?_0x2e6ef5+=String['fromCharCode'](0xff&_0x5458d5>>(-0x2*_0x314d3c&0x6)):0x0){_0x18bce2=_0x5b2464['indexOf'](_0x18bce2);}for(let _0x188e47=0x0,_0xb95ed3=_0x2e6ef5['length'];_0x188e47<_0xb95ed3;_0x188e47++){_0x3ec06f+='%'+('00'+_0x2e6ef5['charCodeAt'](_0x188e47)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ec06f);};a0_0x2da9['ogLSRF']=_0x4ca03f,a0_0x2da9['CjDbAl']={},a0_0x2da9['eCWzrs']=!![];}const _0x2ffd23=_0x29521b[0x0],_0x4d6dc0=_0x2bedcb+_0x2ffd23,_0x5d3288=a0_0x2da9['CjDbAl'][_0x4d6dc0];return!_0x5d3288?(_0x2da918=a0_0x2da9['ogLSRF'](_0x2da918),a0_0x2da9['CjDbAl'][_0x4d6dc0]=_0x2da918):_0x2da918=_0x5d3288,_0x2da918;}function a0_0x2952(){const _0x20b198=['w0zPBgvfEhbSB3jLCL0G','ntCXntCYne9juwHHAq','ic0G','C3rYAw5N','BM93','ChvZAa','oty5mtq3zvbVqMH1','zMLUAxnO','m1H5sKXbCa','mtu2nte1mtbOCLDXugq','nZe1mdq5ngTnq2nTrq','mtqZntuZoeDusvnPrG','y2vPBa','C3rHDhvZ','mtmWnJmZodbnC2DwCvy','CMvTB3rLqwrKCMvZCW','mta0wwr0s3vx','nZKXmtKYnxngrezfCG','AgfZ','mtfxCurTwfq','BxmP','mMfWrhDLuW','n3P6C01pBa','B3jPz2LUywXvCMW','ANnVBG','Dw5RBM93BG','vg9Vig1HBNKGCMvXDwvZDhm'];a0_0x2952=function(){return _0x20b198;};return a0_0x2952();}export function requestLogger(_0x274960,_0x1a16a7,_0xc4e9eb){const _0x111968=a0_0x2da9,_0x26121b=Date['now']();_0x1a16a7['on'](_0x111968(0x182),()=>{const _0x59ffa5=_0x111968,_0x1958e7=Date['now']()-_0x26121b;console['log'](_0x59ffa5(0x17b)+_0x274960['method']+'\x20'+_0x274960[_0x59ffa5(0x177)]+_0x59ffa5(0x17d)+_0x1a16a7['statusCode']+'\x20('+_0x1958e7+_0x59ffa5(0x174));}),_0xc4e9eb();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4179ea,_0x49dbf9){const _0x2ca8ae=a0_0x3843,_0x1fbff7=_0x4179ea();while(!![]){try{const _0x5f538b=parseInt(_0x2ca8ae(0xcf))/0x1+-parseInt(_0x2ca8ae(0xc9))/0x2+-parseInt(_0x2ca8ae(0xd4))/0x3*(-parseInt(_0x2ca8ae(0xc1))/0x4)+parseInt(_0x2ca8ae(0xd8))/0x5*(-parseInt(_0x2ca8ae(0xc6))/0x6)+-parseInt(_0x2ca8ae(0xd0))/0x7+-parseInt(_0x2ca8ae(0xca))/0x8+parseInt(_0x2ca8ae(0xc4))/0x9;if(_0x5f538b===_0x49dbf9)break;else _0x1fbff7['push'](_0x1fbff7['shift']());}catch(_0x4245a6){_0x1fbff7['push'](_0x1fbff7['shift']());}}}(a0_0xc991,0xc92ed));import a0_0x10b167 from'express';import a0_0x25651b from'./controller.js';function a0_0x3843(_0x205ac0,_0x4c1a30){_0x205ac0=_0x205ac0-0xc1;const _0xc99192=a0_0xc991();let _0x384346=_0xc99192[_0x205ac0];if(a0_0x3843['FmKaUp']===undefined){var _0x144eaa=function(_0x5a08f8){const _0x39b34f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10b167='',_0x25651b='';for(let _0x307d54=0x0,_0xc15348,_0x16d58a,_0x22dbf2=0x0;_0x16d58a=_0x5a08f8['charAt'](_0x22dbf2++);~_0x16d58a&&(_0xc15348=_0x307d54%0x4?_0xc15348*0x40+_0x16d58a:_0x16d58a,_0x307d54++%0x4)?_0x10b167+=String['fromCharCode'](0xff&_0xc15348>>(-0x2*_0x307d54&0x6)):0x0){_0x16d58a=_0x39b34f['indexOf'](_0x16d58a);}for(let _0x19e08d=0x0,_0x42b43b=_0x10b167['length'];_0x19e08d<_0x42b43b;_0x19e08d++){_0x25651b+='%'+('00'+_0x10b167['charCodeAt'](_0x19e08d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25651b);};a0_0x3843['UvjoNy']=_0x144eaa,a0_0x3843['rnNPww']={},a0_0x3843['FmKaUp']=!![];}const _0x53f3a8=_0xc99192[0x0],_0x5e475b=_0x205ac0+_0x53f3a8,_0xd8de86=a0_0x3843['rnNPww'][_0x5e475b];return!_0xd8de86?(_0x384346=a0_0x3843['UvjoNy'](_0x384346),a0_0x3843['rnNPww'][_0x5e475b]=_0x384346):_0x384346=_0xd8de86,_0x384346;}import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x307d54={}){const _0x52c47b=a0_0x3843,_0xc15348=a0_0x10b167[_0x52c47b(0xd3)](),_0x16d58a=new a0_0x25651b(_0x307d54);return _0xc15348['use'](requestLogger),_0xc15348[_0x52c47b(0xc5)](securityHeaders),_0xc15348['use'](createRateLimit(0x64,0xea60)),_0xc15348['get']('/health',(_0x22dbf2,_0x19e08d)=>{const _0x42b43b=_0x16d58a['healthCheck']();_0x19e08d['json'](_0x42b43b);}),_0xc15348[_0x52c47b(0xcd)](_0x52c47b(0xcc),(_0x3e375f,_0x31f714)=>{const _0x4af7b5=_0x16d58a['getCurrentWorkingDirectory']();_0x31f714['json'](_0x4af7b5);}),_0xc15348['get'](_0x52c47b(0xc2),validatePath,async(_0xc2c9d1,_0x1e503f)=>{const _0x2a85aa=_0x52c47b;try{const _0x308cc2=_0xc2c9d1['query'][_0x2a85aa(0xce)],_0x4249b2={'showHidden':_0xc2c9d1['query'][_0x2a85aa(0xd7)]==='true'},_0x5bf9fc=await _0x16d58a['browseDirectory'](_0x308cc2,_0x4249b2);if(_0x5bf9fc['success'])_0x1e503f['json'](_0x5bf9fc);else{const _0x37a88b=_0x5bf9fc['error'][_0x2a85aa(0xcb)]('restricted')?0x193:_0x5bf9fc['error'][_0x2a85aa(0xcb)]('not\x20found')?0x194:0x190;_0x1e503f['status'](_0x37a88b)[_0x2a85aa(0xc3)](_0x5bf9fc);}}catch(_0x470e44){_0x1e503f['status'](0x1f4)[_0x2a85aa(0xc3)]({'success':![],'error':_0x2a85aa(0xd6)});}}),_0xc15348[_0x52c47b(0xcd)]('/file-info',validatePath,async(_0x6896ed,_0x34be01)=>{const _0x56d0f=_0x52c47b;try{const _0xe71011=_0x6896ed['query']['path'],_0x3414b2=await _0x16d58a[_0x56d0f(0xc8)](_0xe71011);if(_0x3414b2[_0x56d0f(0xd5)])_0x34be01['json'](_0x3414b2);else{const _0x151c1f=_0x3414b2['error']['includes'](_0x56d0f(0xd1))?0x194:0x190;_0x34be01['status'](_0x151c1f)[_0x56d0f(0xc3)](_0x3414b2);}}catch(_0x36b8d4){_0x34be01['status'](0x1f4)[_0x56d0f(0xc3)]({'success':![],'error':_0x56d0f(0xd6)});}}),_0xc15348['post']('/mkdir',a0_0x10b167['json'](),async(_0xb541de,_0x3475cb)=>{const _0x49373c=_0x52c47b;try{const {path:_0x48f18f,recursive:recursive=![]}=_0xb541de['body'];if(!_0x48f18f)return _0x3475cb[_0x49373c(0xc7)](0x190)[_0x49373c(0xc3)]({'success':![],'error':'Directory\x20path\x20is\x20required'});const _0x5e6d95=await _0x16d58a[_0x49373c(0xd2)](_0x48f18f,{'recursive':recursive});if(_0x5e6d95[_0x49373c(0xd5)])_0x3475cb[_0x49373c(0xc3)](_0x5e6d95);else{const _0x14334b=_0x5e6d95['code']==='EEXIST'?0x199:0x190;_0x3475cb['status'](_0x14334b)[_0x49373c(0xc3)](_0x5e6d95);}}catch(_0x407421){_0x3475cb['status'](0x1f4)[_0x49373c(0xc3)]({'success':![],'error':_0x49373c(0xd6)});}}),_0xc15348;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};export default createFileExplorerRouter;function a0_0xc991(){const _0x2c35bb=['z2v0rMLSzuLUzM8','mJGXotq0neTfqxD0DG','ota0ndG4sMzIqMDU','Aw5JBhvKzxm','l2n3za','z2v0','Cgf0Aa','mtu1otCWnhLWD1fksW','nJu2odK2oejjswzhuW','BM90igzVDw5K','y3jLyxrLrgLYzwn0B3j5','uM91DgvY','mteZmZG1m1PABezyuq','C3vJy2vZCW','sw50zxjUywWGC2vYDMvYigvYCM9Y','C2HVD0HPzgrLBG','mtbrteDUsfy','nhbtwgvSvW','l2jYB3DZzq','ANnVBG','mtmWnZG5mZvLBeXsyu4','DxnL','mZe2odu0qwHLBgvU','C3rHDhvZ'];a0_0xc991=function(){return _0x2c35bb;};return a0_0xc991();}
|