@loxia-labs/loxia-autopilot-one 1.0.7 → 1.0.8

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.
Files changed (119) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-BVF_10a5.css → index-BmKxmRe3.css} +1 -1
  119. package/web-ui/build/static/{index-DE5VFS1q.js → index-BzXbDs8z.js} +63 -63
@@ -1 +1 @@
1
- const a0_0x452fa2=a0_0x3e1c;function a0_0x3e1c(_0x5c3d8b,_0x4c155f){_0x5c3d8b=_0x5c3d8b-0x12c;const _0x178252=a0_0x1782();let _0x3e1c0d=_0x178252[_0x5c3d8b];if(a0_0x3e1c['yUqPiW']===undefined){var _0xd82fc3=function(_0x12f2e6){const _0x1af81c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf16680='',_0x51a210='';for(let _0x1c8270=0x0,_0x2558fc,_0x17e891,_0x581f0c=0x0;_0x17e891=_0x12f2e6['charAt'](_0x581f0c++);~_0x17e891&&(_0x2558fc=_0x1c8270%0x4?_0x2558fc*0x40+_0x17e891:_0x17e891,_0x1c8270++%0x4)?_0xf16680+=String['fromCharCode'](0xff&_0x2558fc>>(-0x2*_0x1c8270&0x6)):0x0){_0x17e891=_0x1af81c['indexOf'](_0x17e891);}for(let _0x4c7f42=0x0,_0x5b669a=_0xf16680['length'];_0x4c7f42<_0x5b669a;_0x4c7f42++){_0x51a210+='%'+('00'+_0xf16680['charCodeAt'](_0x4c7f42)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51a210);};a0_0x3e1c['RGyOwt']=_0xd82fc3,a0_0x3e1c['sOcSKg']={},a0_0x3e1c['yUqPiW']=!![];}const _0x33c74b=_0x178252[0x0],_0x205a5b=_0x5c3d8b+_0x33c74b,_0x160e66=a0_0x3e1c['sOcSKg'][_0x205a5b];return!_0x160e66?(_0x3e1c0d=a0_0x3e1c['RGyOwt'](_0x3e1c0d),a0_0x3e1c['sOcSKg'][_0x205a5b]=_0x3e1c0d):_0x3e1c0d=_0x160e66,_0x3e1c0d;}(function(_0x3d4b6d,_0x5c75f2){const _0x54f1c1=a0_0x3e1c,_0x1d5682=_0x3d4b6d();while(!![]){try{const _0x3a9911=-parseInt(_0x54f1c1(0x175))/0x1+parseInt(_0x54f1c1(0x189))/0x2*(-parseInt(_0x54f1c1(0x12c))/0x3)+-parseInt(_0x54f1c1(0x14c))/0x4+-parseInt(_0x54f1c1(0x22c))/0x5+-parseInt(_0x54f1c1(0x198))/0x6+parseInt(_0x54f1c1(0x174))/0x7*(-parseInt(_0x54f1c1(0x1b8))/0x8)+-parseInt(_0x54f1c1(0x23b))/0x9*(-parseInt(_0x54f1c1(0x1cf))/0xa);if(_0x3a9911===_0x5c75f2)break;else _0x1d5682['push'](_0x1d5682['shift']());}catch(_0x532761){_0x1d5682['push'](_0x1d5682['shift']());}}}(a0_0x1782,0xdc1db));import a0_0xf16680 from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x51a210 from'path';import{promises as a0_0x1c8270}from'fs';import{fileURLToPath}from'url';function a0_0x1782(){const _0x390e0e=['DgvZDfDLyLnVy2TLDfnLCNzLCG','DgvYBwLUyxrL','ywDLBNq','yw50AhjVCgLJ','ywn0Aw9U','yMLYDgH0Aw1L','AxrLCMf0Aw9Uq291BNq','yxv0Ag9YAxPHDgLVBG','qxP1CMuGyMfJA2vUzcbLCNjVCJOG','ANnVBG','CgfYyw1Z','Aw5JBhvKzxm','Dg9mB3DLCKnHC2u','C2vYDMvY','CMvSyxrPDMu','BwTKAxi','D3nZ','DxrMoa','l2fWAs9OzwfSDgG','Dhj1zq','zMLSDgvY','BwvZC2fNzq','DgfZA1n0yxj0vgLTzq','C3rHy2S','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','CMvHzezPBgu','zgLYBMfTzq','DxbSB2fKrMLSzq','CMvZB2X2zq','zgLYzwn0B3j5','qwDLBNqGBM90igzVDw5K','zxHPDa','B3jJAgvZDhjHDg9Yx3jLC3bVBNnL','z2v0u2vZC2LVBKTLExm','l2fWAs9SBg0Vy2HHDa','Bwv0Ag9K','AxnsDw5UAw5N','zMLSzq','rMfPBgvKihrVigrLBgv0zsbHDhrHy2HTzw50','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','y29UBMvJDgLVBNm','ywDLBNrjza','zNjVBq','CxvLCNK','AxneAxjLy3rVCNK','CMvX','Cgf0Aa','CgH5C2LJywXSEurLBgv0zwq','y29UzMLN','ywDLBNqT','AgvHzgvY','y29UDgvUDa','tMv3iefNzw50','qxr0ywnOBwvUDcbHy3rPDMuGC3rHDhvZihrVz2DSzwq','l3rTCc9SB3HPys1PBwfNzxm','D2fYBG','ChvZAa','yxbW','zMLSzw5HBwu','Dg9tDhjPBMC','C29YDa','ww91igfYzsbHigHLBhbMDwWGquKGyxnZAxn0yw50lG','DxjS','Bw9Kzvn0yxrL','ntC4odm2nwzvsgrdAq','rK9sqKLerevo','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','teLtvf9br0vovfm','rMfPBgvKihrVihnLCNzLigLTywDL','z2v0qxr0ywnOBwvUDhm','CMvTB3rLqwrKCMvZCW','Aw1WB3j0rNjVBufNzw50','sw52ywXPzcbMAwXLBMfTzq','Ag9ZDa','DMfSDwvZ','yMfZzw5HBwu','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','8j+tOsbxzwjtB2nRzxqGyNjVywrJyxn0vg9tzxnZAw9UignHBgXLzdO','yxbPs2v5twfUywDLCG','oxvWq2jPDG','mJiYD0rjC2nm','sw1Hz2uGBM90igzVDw5K','zMLSztOVlW','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','twvZC2fNzsbWCM9JzxnZB3iGBM90igf2ywLSywjSzq','D2vIlq','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','rMfPBgvKihrVihnLDcbbueKGA2v5CW','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','Bg9Nz2vY','C2vUzezPBgu','zxjYB3i','DMvUzg9YqxbPs2v5','yw50AhjVCgLJlxnVBM5LDa','CMvHzgrPCG','C2v0DxbsB3v0zxm','v2vIu29JA2v0ihnLCNzLCIbPCYbUB3CGBgLZDgvUAw5N','C3rHDgvnyw5Hz2vY','ywXYzwfKEsbHy3rPDMu','v2vIihnLCNzLCIbPBML0AwfSAxPHDgLVBIbMywLSzwq','C2v0DxbxzwjtB2nRzxq','C2v0u2vZC2LVBKTLExm','BxrPBwu','rMfPBgvKihrVigDLDcbbueKGA2v5ihn0yxr1CW','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','zw52','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','Bw9KzwXZu2vYDMLJzq','BgfZDefJDgL2Axr5','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','BM93','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','mJe2mda3mKLJvuzWAW','Bw9KzwXZ','qwnJzxnZlunVBNrYB2WTqwXSB3CTtwv0Ag9KCW','B3bLBG','C2vZC2LVBNm','C2vUza','AgvHzgvYCW','l2fWAs9RzxLZ','C3rVCef1Dg9UB21VDxnfEgvJDxrPB24','ChjVAMvJDerPCG','rMfPBgvKihrVigDLDcbHz2vUDcbTzxrHzgf0yq','Aw5PDgLHBgL6zq','u0Lhsu5u','C3vIC3rY','Dg9VBfjLC3vSDhm','ChjVy2vZC1jLCxvLC3q','z2v0qxzHAwXHyMXLvg9VBhngB3jvsq','z2v0qwXSqwDLBNrZ','Cg9UzW','BgLZDgvUAw5N','yNjVywrJyxn0vg9tzxnZAw9U','Cgf0y2G','l2fWAs9LEhbSB3jLCI9TA2rPCG','qxr0ywnOBwvUDcbUB3qGzM91BMq','qwDLBNqG','BwLJCM9ZB2z0','ywDLBNrqB29S','y29Kzq','l2fWAs9SBg0VBw9KzwXZ','zgvSzxrLqxr0ywnOBwvUDa','C3vJy2vZCW','v2vIu29JA2v0ignVBM5Ly3rPB24Gzxn0ywjSAxnOzwq','C2vZC2LVBKLe','ms4WlJa','Dg9ju09tDhjPBMC','D29YA2LUz0rPCMvJDg9YEq','Bg9N','Aw5MBW','Cgf5Bg9Hza','u0vorf9nrvntquDf','nde4mtHLvfzOBfG','mte2nta5n29irKTRuW','BwfW','zgLYzwn0B3j5qwnJzxnZ','zgvLChnLzwS','l2fWAs9LEhbSB3jLCG','Bw9Kzq','yxv0B25VBw91C191CgrHDgu','yM9KEq','l2fWAs9MAwXLCY91CgXVywq','Cg9ZDa','CMvTB3zLu2vZC2LVBKTLExm','DMvUzg9Ys2v5CW','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50','v2vIifvjig5VDcbIDwLSDc4GuNvUoIbUCg0GCNvUigj1AwXKoNvP','DhLWzq','y2f0y2G','CMfUzg9T','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','BgLZDgvU','y3vYCMvUDe1VzgvS','mtC0mtbWvhzqAK4','sw1Hz2uGC2vYDMvKihn1y2nLC3nMDwXSEq','zMLSzuLK','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','v2vIihnLCNzLCIbZAhv0zg93BIbJB21WBgv0zq','Aw1WB3j0qxjJAgL2zwrbz2vUDa','qKfex1jfuvvfu1q','w0LorK9Dia','C3rYAw5NAwz5','Ahr0CdOVlW','C3rVCfjLCxvLC3rLza','z2v0qwn0AxzLu2vZC2LVBNm','D3m6lY9SB2nHBgHVC3q6','z2v0','C2vUzfn0yxr1CW','odi5nZm3nK9LsuPOvq','ywn0AxzL','CMvXDwvZDeLK','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3bYzxzPzxC','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','y29UBMvJDgvK','rMfPBgvKihrVihjLDhjPzxzLihrVB2XZigLUzM9YBwf0Aw9U','uMvMzxjLBMnLihjLBw92zwq','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','rMfPBgvKihrVihrVz2DSzsbHDhrHy2HTzw50','rMfPBgvKihrVihvWzgf0zsbHDhrHy2HTzw50','zgvIDwC','C2vZC2LVBKLK','r0vulcbqt1nulcbqvvqSierftevursWGt1busu9ouW','AxngAwXL','ywDLBNrjzcbPCYbYzxf1AxjLzcbPBIbYzxf1zxn0igjVzhK','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','B3jJAgvZDhjHDg9Y','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','w0vsuK9sxsa','lI4VlI4VD2vIlxvPl2j1AwXK','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','l2fWAs9VCMnOzxn0CMf0B3i','D3nnyw5Hz2vY','su5urvjoquXFu0vsvKvsx0vsuK9s','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','C3rHDa','z2v0qxr0ywnOBwvUDa','DMvYC2LVBG','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','ChjLzMvYCMvKtw9KzwW','te9ysufFqvbjx0Tfwq','oty4uu9QtKT4','C2H1DgrVD24','BM9YBwfSAxPL','qxr0ywnOBwvUDcbKzwXLDgvK','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','rMLSzsb1CgXVywrLzcbZDwnJzxnZzNvSBhK','AM9PBG','C3rHDhvZvgv4Da','BgvUz3rO','rMfPBgvKihrVihvWBg9HzcbMAwXLigf0DgfJAg1LBNq','rMfPBgvKihrVihbYB3H5ignOyxqGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5K','l2fWAs9RzxLZlZPZzxnZAw9Uswq','w0rfqLvhxsa','BMfTzq','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','l2fWAs9LEhbSB3jLCI9PBMzV','C3rHCNrtzxj2zxi','Bg94AwfbCgLlzxK','y2XVC2u','C2L6zq','DxnL','v2vIu29JA2v0igPVAw5LzcbZzxnZAw9U','CgHP','nJuXndmWmZbqAgrcBMe','CM9Szq','C3rHCNrZv2L0Aa','CMvHzhLtDgf0zq','z2v0u3rHDhvZ','rMfPBgvKihrVihjLBw92zsbbueKGA2v5CW','vw5RBM93BIbHy3rPB246ia','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','y2fWywjPBgL0AwvZ','y3DK','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','AxnmB2fKzwq','r0vu','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','B3jJAgvZDhjHDg9Yx3jLCxvLC3q','x2DLDfzLBMrVCKzYB21nB2rLBa','Cg9YDa','sfruucbZzxj2zxiGC3rHCNrLzcbZDwnJzxnZzNvSBhK','Bw9KzwW','C29JA2v0','C3rHDhvZ','DxnLCI1Hz2vUDa','DgHLBG','v0vc','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','y2f0zwDVCNK','CgfYC2u','AgvHBhrOEq'];a0_0x1782=function(){return _0x390e0e;};return a0_0x1782();}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_0x51a210['dirname'](__filename);class WebServer{constructor(_0x2558fc,_0x17e891,_0x581f0c={}){const _0x5b18c5=a0_0x3e1c;this[_0x5b18c5(0x1a9)]=_0x2558fc,this[_0x5b18c5(0x135)]=_0x17e891,this['config']=_0x581f0c,this['port']=_0x581f0c['port']||0x1f90,this['host']=_0x581f0c[_0x5b18c5(0x235)]||'localhost',this['app']=a0_0xf16680(),this[_0x5b18c5(0x1f9)]=createServer(this[_0x5b18c5(0x225)]),this[_0x5b18c5(0x1fc)]=new WebSocketServer({'server':this['server'],'verifyClient':_0x4c7f42=>{const _0x1ec214=_0x5b18c5;return this[_0x1ec214(0x135)]?.[_0x1ec214(0x171)](_0x1ec214(0x1aa),{'origin':_0x4c7f42['origin'],'host':_0x4c7f42[_0x1ec214(0x219)]['headers']['host'],'userAgent':_0x4c7f42[_0x1ec214(0x219)][_0x1ec214(0x152)][_0x1ec214(0x1e5)],'url':_0x4c7f42[_0x1ec214(0x219)]['url']}),!![];}}),this['connections']=new Map(),this[_0x5b18c5(0x150)]=new Map(),this['apiKeyManager']=null,this[_0x5b18c5(0x210)]=![];}async[a0_0x452fa2(0x157)](){const _0x91ca9=a0_0x452fa2;try{this['setupMiddleware'](),this[_0x91ca9(0x13b)](),this['setupWebSocket'](),await this[_0x91ca9(0x1c8)](),this[_0x91ca9(0x135)]['info']('Web\x20server\x20initialized',{'port':this[_0x91ca9(0x1e0)],'host':this['host'],'url':'http://'+this[_0x91ca9(0x235)]+':'+this['port']});}catch(_0x5b669a){this['logger']['error'](_0x91ca9(0x13f),{'error':_0x5b669a[_0x91ca9(0x201)],'stack':_0x5b669a[_0x91ca9(0x203)]});throw _0x5b669a;}}['setupMiddleware'](){const _0x415b55=a0_0x452fa2;this[_0x415b55(0x225)][_0x415b55(0x1cc)]((_0x3870dc,_0x321e34,_0x10a941)=>{const _0x3300a8=_0x415b55;_0x321e34[_0x3300a8(0x21e)]('Access-Control-Allow-Origin','*'),_0x321e34[_0x3300a8(0x21e)](_0x3300a8(0x14e),_0x3300a8(0x1a5)),_0x321e34[_0x3300a8(0x21e)]('Access-Control-Allow-Headers','Origin,\x20X-Requested-With,\x20Content-Type,\x20Accept,\x20Authorization'),_0x3870dc[_0x3300a8(0x20f)]==='OPTIONS'?_0x321e34[_0x3300a8(0x197)](HTTP_STATUS['OK']):_0x10a941();}),this[_0x415b55(0x225)]['use'](a0_0xf16680[_0x415b55(0x1f5)]({'limit':'10mb'})),this[_0x415b55(0x225)]['use'](a0_0xf16680['urlencoded']({'extended':!![],'limit':'10mb'})),this['fileExplorerModule']=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this[_0x415b55(0x225)][_0x415b55(0x1cc)]('/api/file-explorer',this['fileExplorerModule']['router']);const _0x2b4fc1=a0_0x51a210[_0x415b55(0x1be)](__dirname,_0x415b55(0x1ac));this[_0x415b55(0x225)]['use'](a0_0xf16680['static'](_0x2b4fc1)),this['app']['use']((_0x35c3bf,_0x75596d,_0x2c7d28)=>{const _0x4437bd=_0x415b55;this['logger'][_0x4437bd(0x1a3)](_0x35c3bf['method']+'\x20'+_0x35c3bf[_0x4437bd(0x21a)],{'ip':_0x35c3bf['ip'],'userAgent':_0x35c3bf['get']('User-Agent')}),_0x2c7d28();});}[a0_0x452fa2(0x13b)](){const _0x8325b2=a0_0x452fa2;this['app'][_0x8325b2(0x196)](_0x8325b2(0x1fe),async(_0x18c518,_0x2cbbb6)=>{const _0xf70cea=_0x8325b2;try{const _0x14d3bf=a0_0x51a210[_0xf70cea(0x1be)](__dirname,'../../package.json'),_0x4200ef=JSON['parse'](await a0_0x1c8270['readFile'](_0x14d3bf,'utf8'));_0x2cbbb6['json']({'status':_0xf70cea(0x1eb),'version':_0x4200ef[_0xf70cea(0x1b4)]||'1.0.0','timestamp':new Date()[_0xf70cea(0x16e)]()});}catch(_0x576249){_0x2cbbb6[_0xf70cea(0x1f5)]({'status':_0xf70cea(0x1eb),'version':_0xf70cea(0x16d),'timestamp':new Date()['toISOString']()});}}),this[_0x8325b2(0x225)][_0x8325b2(0x17e)]('/api/sessions',async(_0x1c3f6e,_0x260302)=>{const _0x413c2a=_0x8325b2;try{const _0xb98a56=_0x413c2a(0x131)+Date[_0x413c2a(0x14a)]()+'-'+Math[_0x413c2a(0x185)]()[_0x413c2a(0x227)](0x24)[_0x413c2a(0x159)](0x2,0x9),_0x5ccbc6=_0x1c3f6e['body'][_0x413c2a(0x155)]||process['cwd'](),_0x1ffd7a={'id':_0xb98a56,'projectDir':_0x5ccbc6,'createdAt':new Date()[_0x413c2a(0x16e)](),'lastActivity':new Date()[_0x413c2a(0x16e)]()};this[_0x413c2a(0x150)]['set'](_0xb98a56,_0x1ffd7a),_0x260302['json']({'success':!![],'session':_0x1ffd7a});}catch(_0x173977){_0x260302['status'](HTTP_STATUS[_0x413c2a(0x1b0)])['json']({'success':![],'error':_0x173977['message']});}}),this[_0x8325b2(0x225)][_0x8325b2(0x17e)](_0x8325b2(0x1ae),async(_0xe89d01,_0x2429ea)=>{const _0x3cfaaf=_0x8325b2;try{const _0x1622c6={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0xe89d01[_0x3cfaaf(0x17c)][_0x3cfaaf(0x1a4)],'action':_0xe89d01['body']['action'],'payload':_0xe89d01['body'][_0x3cfaaf(0x172)],'projectDir':_0xe89d01['body']['projectDir']||process[_0x3cfaaf(0x1d8)]()},_0x24a5cc=await this['orchestrator'][_0x3cfaaf(0x15b)](_0x1622c6);this[_0x3cfaaf(0x160)](_0x1622c6['sessionId'],{'type':_0x3cfaaf(0x20c),'action':_0x1622c6[_0x3cfaaf(0x1f0)],'response':_0x24a5cc}),_0x2429ea['json'](_0x24a5cc);}catch(_0x54916a){this['logger'][_0x3cfaaf(0x137)]('Orchestrator\x20API\x20error',{'error':_0x54916a[_0x3cfaaf(0x201)],'body':_0xe89d01[_0x3cfaaf(0x17c)]}),_0x2429ea[_0x3cfaaf(0x1e4)](HTTP_STATUS[_0x3cfaaf(0x1b0)])[_0x3cfaaf(0x1f5)]({'success':![],'error':_0x54916a[_0x3cfaaf(0x201)]});}}),this['app'][_0x8325b2(0x196)]('/api/files',async(_0x448423,_0x234b9a)=>{const _0x42cc47=_0x8325b2;try{const {path:_0x39ca1c,projectDir:_0x4a53ed}=_0x448423['query'],_0x4ac9bf=a0_0x51a210['resolve'](_0x4a53ed||process[_0x42cc47(0x1d8)](),_0x39ca1c||'.'),_0x1d0370=await a0_0x1c8270[_0x42cc47(0x1b2)](_0x4ac9bf);if(_0x1d0370[_0x42cc47(0x218)]()){const _0x516abf=await a0_0x1c8270[_0x42cc47(0x13a)](_0x4ac9bf,{'withFileTypes':!![]}),_0x3eeaed=_0x516abf[_0x42cc47(0x176)](_0x3b65b6=>({'name':_0x3b65b6[_0x42cc47(0x1c5)],'type':_0x3b65b6[_0x42cc47(0x218)]()?_0x42cc47(0x209):_0x42cc47(0x211),'path':a0_0x51a210['join'](_0x39ca1c||'.',_0x3b65b6[_0x42cc47(0x1c5)])}));_0x234b9a[_0x42cc47(0x1f5)]({'success':!![],'files':_0x3eeaed});}else{const _0x20cea6=await a0_0x1c8270[_0x42cc47(0x205)](_0x4ac9bf,_0x42cc47(0x1fd));_0x234b9a[_0x42cc47(0x1f5)]({'success':!![],'content':_0x20cea6,'type':_0x42cc47(0x211)});}}catch(_0x42267f){_0x234b9a['status'](HTTP_STATUS['NOT_FOUND'])[_0x42cc47(0x1f5)]({'success':![],'error':_0x42267f['message']});}}),this[_0x8325b2(0x225)][_0x8325b2(0x17e)](_0x8325b2(0x17d),async(_0x30d154,_0x1dfc12)=>{const _0x3d3ebd=_0x8325b2;try{const {fileName:_0x501696,content:_0x369916,projectDir:_0x53017e}=_0x30d154[_0x3d3ebd(0x17c)],_0x5af67c=_0x53017e||process[_0x3d3ebd(0x1d8)](),_0xece4db=a0_0x51a210['resolve'](_0x5af67c,_0x501696);await a0_0x1c8270['mkdir'](_0x5af67c,{'recursive':!![]}),await a0_0x1c8270['writeFile'](_0xece4db,_0x369916,'utf8'),_0x1dfc12[_0x3d3ebd(0x1f5)]({'success':!![],'message':_0x3d3ebd(0x1bd),'path':_0xece4db});}catch(_0x433eb4){_0x1dfc12['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x3d3ebd(0x1f5)]({'success':![],'error':_0x433eb4['message']});}}),this['app']['get'](_0x8325b2(0x179),async(_0x59ef1b,_0x161aec)=>{const _0x27de9e=_0x8325b2;try{const {path:_0x187db9,showHidden:showHidden=![]}=_0x59ef1b[_0x27de9e(0x217)],_0xf07922=_0x187db9||process['cwd'](),_0x11137b=a0_0x51a210['resolve'](_0xf07922),_0xd952b=a0_0x51a210[_0x27de9e(0x1ba)](_0x11137b),_0x46cb65=await a0_0x1c8270['stat'](_0xd952b);if(!_0x46cb65['isDirectory']())return _0x161aec['status'](HTTP_STATUS[_0x27de9e(0x18f)])[_0x27de9e(0x1f5)]({'success':![],'error':_0x27de9e(0x1b5)});const _0x17ec46=await a0_0x1c8270['readdir'](_0xd952b,{'withFileTypes':!![]}),_0x1417bf=await Promise['all'](_0x17ec46[_0x27de9e(0x200)](_0x5b59bc=>showHidden===_0x27de9e(0x1ff)||!_0x5b59bc[_0x27de9e(0x1c5)]['startsWith']('.'))[_0x27de9e(0x176)](async _0x165eb5=>{const _0x36ca74=_0x27de9e,_0x3f0f64=a0_0x51a210[_0x36ca74(0x1be)](_0xd952b,_0x165eb5[_0x36ca74(0x1c5)]),_0x33e9e8=await a0_0x1c8270[_0x36ca74(0x1b2)](_0x3f0f64)[_0x36ca74(0x184)](()=>null);return{'name':_0x165eb5[_0x36ca74(0x1c5)],'type':_0x165eb5[_0x36ca74(0x218)]()?'directory':'file','path':_0x3f0f64,'relativePath':a0_0x51a210['relative'](process['cwd'](),_0x3f0f64),'size':_0x33e9e8?.[_0x36ca74(0x1cb)]||0x0,'modified':_0x33e9e8?.[_0x36ca74(0x142)]||null,'isHidden':_0x165eb5[_0x36ca74(0x1c5)][_0x36ca74(0x1d1)]('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0x1417bf[_0x27de9e(0x228)]((_0x21e32b,_0x6f580d)=>{const _0x15af51=_0x27de9e;if(_0x21e32b['type']!==_0x6f580d['type'])return _0x21e32b[_0x15af51(0x183)]==='directory'?-0x1:0x1;return _0x21e32b['name']['localeCompare'](_0x6f580d['name']);});const _0x1e4b8e=a0_0x51a210[_0x27de9e(0x206)](_0xd952b),_0x5b086a=_0x1e4b8e!==_0xd952b;_0x161aec['json']({'success':!![],'currentPath':_0xd952b,'currentRelativePath':a0_0x51a210[_0x27de9e(0x1fa)](process[_0x27de9e(0x1d8)](),_0xd952b),'parentPath':_0x5b086a?_0x1e4b8e:null,'items':_0x1417bf,'totalItems':_0x1417bf[_0x27de9e(0x1c0)],'directories':_0x1417bf['filter'](_0x48fdfd=>_0x48fdfd['type']==='directory')['length'],'files':_0x1417bf[_0x27de9e(0x200)](_0xed8bd4=>_0xed8bd4['type']==='file')[_0x27de9e(0x1c0)]});}catch(_0x92f1e8){_0x161aec[_0x27de9e(0x1e4)](HTTP_STATUS[_0x27de9e(0x1b0)])[_0x27de9e(0x1f5)]({'success':![],'error':_0x92f1e8['message'],'code':_0x92f1e8[_0x27de9e(0x167)]});}}),this[_0x8325b2(0x225)][_0x8325b2(0x17e)](_0x8325b2(0x162),async(_0x41e680,_0x374795)=>{const _0x4d0816=_0x8325b2;try{const {path:_0x2070fe,name:_0x36d1ee}=_0x41e680[_0x4d0816(0x17c)],_0x45dbde=a0_0x51a210[_0x4d0816(0x208)](_0x2070fe,_0x36d1ee);await a0_0x1c8270[_0x4d0816(0x1fb)](_0x45dbde,{'recursive':![]}),_0x374795['json']({'success':!![],'path':_0x45dbde,'relativePath':a0_0x51a210[_0x4d0816(0x1fa)](process[_0x4d0816(0x1d8)](),_0x45dbde)});}catch(_0x5113f9){_0x374795['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x5113f9['message'],'code':_0x5113f9[_0x4d0816(0x167)]});}}),this['app'][_0x8325b2(0x196)](_0x8325b2(0x1c7),async(_0x2556aa,_0x300bcf)=>{const _0x5594f4=_0x8325b2;try{const {path:_0x3fa323}=_0x2556aa['query'],_0x5eaee3=a0_0x51a210['resolve'](_0x3fa323),_0x26c508=await a0_0x1c8270[_0x5594f4(0x1b2)](_0x5eaee3);_0x300bcf[_0x5594f4(0x1f5)]({'success':!![],'path':_0x5eaee3,'relativePath':a0_0x51a210[_0x5594f4(0x1fa)](process[_0x5594f4(0x1d8)](),_0x5eaee3),'isDirectory':_0x26c508[_0x5594f4(0x218)](),'isFile':_0x26c508[_0x5594f4(0x1a6)](),'size':_0x26c508['size'],'created':_0x26c508[_0x5594f4(0x1f1)],'modified':_0x26c508[_0x5594f4(0x142)],'accessed':_0x26c508['atime']});}catch(_0x3834bf){_0x300bcf['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x3834bf[_0x5594f4(0x201)],'code':_0x3834bf[_0x5594f4(0x167)]});}}),this['app'][_0x8325b2(0x17e)](_0x8325b2(0x20e),async(_0x11f427,_0x2f86f9)=>{const _0x279c2c=_0x8325b2;try{const {sessionId:_0x58d0be,model:_0x4eb1e5,platformProvided:_0x52d18b}=_0x11f427['body'];if(!_0x58d0be)return _0x2f86f9[_0x279c2c(0x1e4)](0x190)['json']({'error':'Session\x20ID\x20is\x20required'});let _0x494a36=null,_0x4389df=null;if(this[_0x279c2c(0x23a)]){const _0x3778fc=this[_0x279c2c(0x23a)]['getKeysForRequest'](_0x58d0be,{'platformProvided':_0x52d18b||![],'vendor':this[_0x279c2c(0x1df)](_0x4eb1e5)});_0x494a36=_0x3778fc['loxiaApiKey'],_0x4389df=_0x3778fc[_0x279c2c(0x138)];}!_0x494a36&&(_0x494a36=this['config']['loxiaApiKey']||process[_0x279c2c(0x145)][_0x279c2c(0x1b7)]);!_0x494a36&&_0x11f427[_0x279c2c(0x17c)]['apiKey']&&(_0x494a36=_0x11f427['body']['apiKey']);if(!_0x494a36)return this['logger']['warn']('No\x20API\x20key\x20available\x20for\x20chat\x20request',{'sessionId':_0x58d0be,'model':_0x4eb1e5,'platformProvided':_0x52d18b,'hasSessionManager':!!this[_0x279c2c(0x23a)]}),_0x2f86f9['status'](0x191)['json']({'error':'No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.'});const _0x17b1f9=_0x279c2c(0x1ad),_0x1783c2={..._0x11f427['body'],'apiKey':_0x494a36,..._0x4389df&&{'vendorApiKey':_0x4389df}},_0x4e6823={'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x494a36},'body':JSON[_0x279c2c(0x191)](_0x1783c2)};this[_0x279c2c(0x135)][_0x279c2c(0x171)](_0x279c2c(0x1bc),{'url':_0x17b1f9,'model':_0x11f427[_0x279c2c(0x17c)][_0x279c2c(0x1e2)],'hasApiKey':!!_0x494a36});const _0x1ff582=await fetch(_0x17b1f9,_0x4e6823);if(_0x1ff582['ok']){const _0xc6b1a7=await _0x1ff582['json']();this['logger']['info']('Successfully received response from Azure backend',{'model':_0xc6b1a7['model'],'contentLength':_0xc6b1a7[_0x279c2c(0x21f)]?.[_0x279c2c(0x1c0)]||0x0}),_0x2f86f9['json'](_0xc6b1a7);}else{const _0x156fcd=await _0x1ff582['text']();this['logger'][_0x279c2c(0x223)]('Azure\x20backend\x20chat\x20request\x20failed',{'status':_0x1ff582['status'],'statusText':_0x1ff582[_0x279c2c(0x1bf)],'error':_0x156fcd}),_0x2f86f9['status'](_0x1ff582[_0x279c2c(0x1e4)])[_0x279c2c(0x1f5)]({'error':_0x279c2c(0x1f4)+_0x1ff582[_0x279c2c(0x1e4)]+'\x20'+_0x1ff582[_0x279c2c(0x1bf)],'details':_0x156fcd});}}catch(_0x29ae6e){this[_0x279c2c(0x135)][_0x279c2c(0x137)](_0x279c2c(0x1c2),{'error':_0x29ae6e[_0x279c2c(0x201)],'stack':_0x29ae6e[_0x279c2c(0x203)]}),_0x2f86f9[_0x279c2c(0x1e4)](0x1f4)['json']({'error':'Failed\x20to\x20connect\x20to\x20AI\x20service','details':_0x29ae6e['message']});}}),this[_0x8325b2(0x225)]['get'](_0x8325b2(0x168),async(_0x446019,_0x55825b)=>{const _0x19a582=_0x8325b2;try{const _0x189603=_0x446019['headers'][_0x19a582(0x1f3)];let _0x1a7028=null;_0x189603&&_0x189603[_0x19a582(0x1d1)]('Bearer\x20')&&(_0x1a7028=_0x189603['substring'](0x7));!_0x1a7028&&(_0x1a7028=this[_0x19a582(0x21c)][_0x19a582(0x1c9)]||process['env']['LOXIA_API_KEY']);const _0x2d6c17='https://autopilot-api.azurewebsites.net/llm/models',_0x1a1c26={'method':_0x19a582(0x1db),'headers':{'Content-Type':'application/json',..._0x1a7028&&{'Authorization':'Bearer\x20'+_0x1a7028}}};this[_0x19a582(0x135)][_0x19a582(0x171)]('Fetching models from Loxia Azure backend',{'url':_0x2d6c17,'hasApiKey':!!_0x1a7028});const _0x5e8645=await fetch(_0x2d6c17,_0x1a1c26);if(_0x5e8645['ok']){const _0x2fe22b=await _0x5e8645['json']();this[_0x19a582(0x135)]['info']('Successfully fetched models from Azure backend',{'modelCount':_0x2fe22b[_0x19a582(0x14d)]?.['length']||0x0}),_0x55825b[_0x19a582(0x1f5)](_0x2fe22b);}else{const _0x455808=await _0x5e8645['text']();this['logger']['error'](_0x19a582(0x19c),{'status':_0x5e8645['status'],'statusText':_0x5e8645[_0x19a582(0x1bf)],'error':_0x455808}),_0x55825b['status'](_0x5e8645['status'])['json']({'success':![],'error':'Failed\x20to\x20fetch\x20models\x20from\x20backend:\x20'+_0x5e8645[_0x19a582(0x1e4)]+'\x20'+_0x5e8645[_0x19a582(0x1bf)],'details':_0x455808});}}catch(_0x5ba066){this['logger'][_0x19a582(0x137)]('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x5ba066['message'],'stack':_0x5ba066[_0x19a582(0x203)]}),_0x55825b['status'](0x1f4)['json']({'success':![],'error':'Failed to fetch models from backend','details':_0x5ba066['message']});}}),this['app'][_0x8325b2(0x196)]('/api/tools',async(_0x28ae6b,_0x44a291)=>{const _0x17cce3=_0x8325b2;try{const _0x34b08a=this['toolsRegistry'];if(!_0x34b08a)return _0x44a291['status'](0x1f4)[_0x17cce3(0x1f5)]({'error':_0x17cce3(0x144)});const _0x1c731d=_0x34b08a[_0x17cce3(0x15c)]();this[_0x17cce3(0x135)][_0x17cce3(0x171)]('Serving\x20tools\x20information',{'toolCount':_0x1c731d[_0x17cce3(0x1c0)],'tools':_0x1c731d[_0x17cce3(0x176)](_0x4996e3=>({'id':_0x4996e3['id'],'name':_0x4996e3['name'],'category':_0x4996e3[_0x17cce3(0x1e9)]}))}),_0x44a291['json']({'success':!![],'tools':_0x1c731d,'total':_0x1c731d[_0x17cce3(0x1c0)]});}catch(_0x419374){this['logger'][_0x17cce3(0x137)]('Failed\x20to\x20get\x20tools\x20information',{'error':_0x419374['message'],'stack':_0x419374['stack']}),_0x44a291[_0x17cce3(0x1e4)](0x1f4)[_0x17cce3(0x1f5)]({'error':_0x17cce3(0x19e),'message':_0x419374['message']});}}),this[_0x8325b2(0x225)][_0x8325b2(0x17e)](_0x8325b2(0x153),async(_0x653750,_0x11400e)=>{const _0x3b2b51=_0x8325b2;try{const {sessionId:_0x13069f,loxiaApiKey:_0x37ec0b,vendorKeys:_0x190207}=_0x653750['body'];if(!_0x13069f)return _0x11400e[_0x3b2b51(0x1e4)](0x190)['json']({'success':![],'error':'Session\x20ID\x20is\x20required'});if(!this['apiKeyManager'])return _0x11400e['status'](0x1f4)['json']({'success':![],'error':_0x3b2b51(0x149)});this[_0x3b2b51(0x23a)][_0x3b2b51(0x141)](_0x13069f,{'loxiaApiKey':_0x37ec0b,'vendorKeys':_0x190207||{}}),this[_0x3b2b51(0x135)][_0x3b2b51(0x171)](_0x3b2b51(0x134),{'sessionId':_0x13069f,'hasLoxiaKey':!!_0x37ec0b,'vendorKeys':Object['keys'](_0x190207||{})});if(this['orchestrator']&&this['orchestrator'][_0x3b2b51(0x147)]&&_0x37ec0b)try{await this['orchestrator']['modelsService']['refresh']({'sessionId':_0x13069f,'apiKey':_0x37ec0b}),this['logger'][_0x3b2b51(0x171)]('Models\x20refreshed\x20with\x20new\x20API\x20key',{'sessionId':_0x13069f});}catch(_0x2212fe){this['logger'][_0x3b2b51(0x223)]('Failed\x20to\x20refresh\x20models\x20after\x20API\x20key\x20update',{'error':_0x2212fe[_0x3b2b51(0x201)],'sessionId':_0x13069f});}_0x11400e['json']({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x13069f,'hasLoxiaKey':!!_0x37ec0b,'vendorKeys':Object['keys'](_0x190207||{})});}catch(_0x4a4115){this[_0x3b2b51(0x135)][_0x3b2b51(0x137)](_0x3b2b51(0x133),{'error':_0x4a4115['message'],'sessionId':_0x653750[_0x3b2b51(0x17c)]['sessionId']}),_0x11400e['status'](0x1f4)[_0x3b2b51(0x1f5)]({'success':![],'error':_0x4a4115['message']});}}),this['app'][_0x8325b2(0x196)](_0x8325b2(0x1c3),async(_0x429102,_0x3eca41)=>{const _0x3c9bb4=_0x8325b2;try{const {sessionId:_0x4e835a}=_0x429102['params'];if(!this[_0x3c9bb4(0x23a)])return _0x3eca41['status'](0x1f4)[_0x3c9bb4(0x1f5)]({'success':![],'error':_0x3c9bb4(0x149)});const _0x12d6e6=this[_0x3c9bb4(0x23a)][_0x3c9bb4(0x20d)](_0x4e835a);_0x3eca41['json']({'success':!![],'sessionId':_0x4e835a,'hasLoxiaKey':!!_0x12d6e6['loxiaApiKey'],'vendorKeys':Object['keys'](_0x12d6e6[_0x3c9bb4(0x180)]||{}),'updatedAt':_0x12d6e6['updatedAt']});}catch(_0x364b91){this[_0x3c9bb4(0x135)]['error'](_0x3c9bb4(0x143),{'error':_0x364b91[_0x3c9bb4(0x201)],'sessionId':_0x429102[_0x3c9bb4(0x1f6)][_0x3c9bb4(0x1a4)]}),_0x3eca41['status'](0x1f4)[_0x3c9bb4(0x1f5)]({'success':![],'error':_0x364b91[_0x3c9bb4(0x201)]});}}),this['app']['delete']('/api/keys/:sessionId',async(_0x5b7feb,_0x5e353f)=>{const _0x34273c=_0x8325b2;try{const {sessionId:_0xce8af3}=_0x5b7feb['params'];if(!this[_0x34273c(0x23a)])return _0x5e353f['status'](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x22bc87=this['apiKeyManager'][_0x34273c(0x17f)](_0xce8af3);_0x5e353f['json']({'success':!![],'removed':_0x22bc87,'message':_0x22bc87?_0x34273c(0x1dd):'No\x20API\x20keys\x20found\x20for\x20session'});}catch(_0x5e8a90){this[_0x34273c(0x135)]['error'](_0x34273c(0x1d4),{'error':_0x5e8a90['message'],'sessionId':_0x5b7feb['params'][_0x34273c(0x1a4)]}),_0x5e353f['status'](0x1f4)['json']({'success':![],'error':_0x5e8a90['message']});}}),this['app'][_0x8325b2(0x196)]('/api/keys',async(_0x48421d,_0x245e3d)=>{const _0x129003=_0x8325b2;try{if(!this['apiKeyManager'])return _0x245e3d[_0x129003(0x1e4)](0x1f4)[_0x129003(0x1f5)]({'success':![],'error':_0x129003(0x149)});const _0x5a068b=this[_0x129003(0x23a)][_0x129003(0x194)]();_0x245e3d[_0x129003(0x1f5)]({'success':!![],'sessions':_0x5a068b,'total':_0x5a068b[_0x129003(0x1c0)]});}catch(_0x391298){this['logger']['error'](_0x129003(0x132),{'error':_0x391298[_0x129003(0x201)]}),_0x245e3d['status'](0x1f4)['json']({'success':![],'error':_0x391298['message']});}}),this[_0x8325b2(0x225)][_0x8325b2(0x17e)]('/api/agents/:agentId/attachments/upload',async(_0x5d2af8,_0x585db4)=>{const _0x5d04c6=_0x8325b2;try{const {agentId:_0x1eeaf8}=_0x5d2af8['params'],{filePath:_0x15b15b,mode:_0x393098,fileName:_0x2392a5}=_0x5d2af8[_0x5d04c6(0x17c)];if(!this[_0x5d04c6(0x1a9)]?.['fileAttachmentService'])return _0x585db4['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x3da97e=await this['orchestrator']['fileAttachmentService'][_0x5d04c6(0x207)]({'agentId':_0x1eeaf8,'filePath':_0x15b15b,'mode':_0x393098||'content','fileName':_0x2392a5});this['logger']['info']('File\x20attachment\x20uploaded',{'agentId':_0x1eeaf8,'fileId':_0x3da97e['fileId'],'fileName':_0x3da97e['fileName']}),_0x585db4['json']({'success':!![],'attachment':_0x3da97e});}catch(_0x4ac1db){this[_0x5d04c6(0x135)][_0x5d04c6(0x137)](_0x5d04c6(0x1c1),{'agentId':_0x5d2af8['params'][_0x5d04c6(0x215)],'error':_0x4ac1db[_0x5d04c6(0x201)]}),_0x585db4[_0x5d04c6(0x1e4)](0x1f4)['json']({'success':![],'error':_0x4ac1db[_0x5d04c6(0x201)]});}}),this['app']['get'](_0x8325b2(0x1c6),async(_0x497c48,_0x15a58a)=>{const _0x554b03=_0x8325b2;try{const {agentId:_0x34c537}=_0x497c48['params'],{mode:_0x911a7d,active:_0x15a031}=_0x497c48['query'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x15a58a['status'](0x1f4)['json']({'success':![],'error':_0x554b03(0x14b)});const _0x1f4aa5={};if(_0x911a7d)_0x1f4aa5['mode']=_0x911a7d;if(_0x15a031!==undefined)_0x1f4aa5[_0x554b03(0x199)]=_0x15a031===_0x554b03(0x1ff);const _0x524b12=await this['orchestrator']['fileAttachmentService'][_0x554b03(0x231)](_0x34c537,_0x1f4aa5);_0x15a58a[_0x554b03(0x1f5)]({'success':!![],'attachments':_0x524b12,'total':_0x524b12[_0x554b03(0x1c0)]});}catch(_0x318a09){this['logger'][_0x554b03(0x137)]('Failed\x20to\x20get\x20attachments',{'agentId':_0x497c48[_0x554b03(0x1f6)][_0x554b03(0x215)],'error':_0x318a09[_0x554b03(0x201)]}),_0x15a58a[_0x554b03(0x1e4)](0x1f4)[_0x554b03(0x1f5)]({'success':![],'error':_0x318a09['message']});}}),this['app'][_0x8325b2(0x196)]('/api/attachments/:fileId',async(_0x5517b1,_0x3f7292)=>{const _0x374d3b=_0x8325b2;try{const {fileId:_0x3b315d}=_0x5517b1[_0x374d3b(0x1f6)];if(!this['orchestrator']?.[_0x374d3b(0x1a8)])return _0x3f7292['status'](0x1f4)[_0x374d3b(0x1f5)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x4adfea=await this['orchestrator'][_0x374d3b(0x1a8)][_0x374d3b(0x1b3)](_0x3b315d);if(!_0x4adfea)return _0x3f7292['status'](0x194)['json']({'success':![],'error':_0x374d3b(0x163)});_0x3f7292['json']({'success':!![],'attachment':_0x4adfea});}catch(_0x58c691){this['logger'][_0x374d3b(0x137)](_0x374d3b(0x181),{'fileId':_0x5517b1['params']['fileId'],'error':_0x58c691[_0x374d3b(0x201)]}),_0x3f7292['status'](0x1f4)[_0x374d3b(0x1f5)]({'success':![],'error':_0x58c691['message']});}}),this['app'][_0x8325b2(0x161)]('/api/attachments/:fileId/toggle',async(_0x4f5e09,_0x31f8e)=>{const _0x5c730a=_0x8325b2;try{const {fileId:_0x243830}=_0x4f5e09[_0x5c730a(0x1f6)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x31f8e[_0x5c730a(0x1e4)](0x1f4)[_0x5c730a(0x1f5)]({'success':![],'error':_0x5c730a(0x14b)});const _0x397ab5=await this[_0x5c730a(0x1a9)]['fileAttachmentService']['toggleActive'](_0x243830);this['logger'][_0x5c730a(0x171)](_0x5c730a(0x221),{'fileId':_0x243830,'active':_0x397ab5[_0x5c730a(0x199)]}),_0x31f8e[_0x5c730a(0x1f5)]({'success':!![],'attachment':_0x397ab5});}catch(_0x579a19){this[_0x5c730a(0x135)][_0x5c730a(0x137)](_0x5c730a(0x1a1),{'fileId':_0x4f5e09[_0x5c730a(0x1f6)][_0x5c730a(0x18b)],'error':_0x579a19[_0x5c730a(0x201)]}),_0x31f8e['status'](0x1f4)['json']({'success':![],'error':_0x579a19['message']});}}),this[_0x8325b2(0x225)][_0x8325b2(0x161)](_0x8325b2(0x146),async(_0x2644e4,_0x2dcdb6)=>{const _0x458980=_0x8325b2;try{const {fileId:_0x5a89ab}=_0x2644e4['params'],{mode:_0x1cca81,active:_0x4b6775}=_0x2644e4['body'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x2dcdb6['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x40fbcf={};if(_0x1cca81!==undefined)_0x40fbcf[_0x458980(0x17a)]=_0x1cca81;if(_0x4b6775!==undefined)_0x40fbcf[_0x458980(0x199)]=_0x4b6775;const _0x26b165=await this['orchestrator'][_0x458980(0x1a8)]['updateAttachment'](_0x5a89ab,_0x40fbcf);this[_0x458980(0x135)]['info']('Attachment\x20updated',{'fileId':_0x5a89ab,'updates':_0x40fbcf}),_0x2dcdb6['json']({'success':!![],'attachment':_0x26b165});}catch(_0x581fa1){this['logger'][_0x458980(0x137)](_0x458980(0x1a2),{'fileId':_0x2644e4[_0x458980(0x1f6)][_0x458980(0x18b)],'error':_0x581fa1[_0x458980(0x201)]}),_0x2dcdb6[_0x458980(0x1e4)](0x1f4)[_0x458980(0x1f5)]({'success':![],'error':_0x581fa1[_0x458980(0x201)]});}}),this['app']['delete']('/api/attachments/:fileId',async(_0x55d3ab,_0x2ae8ec)=>{const _0x76cd3=_0x8325b2;try{const {fileId:_0x582b2f}=_0x55d3ab['params'],{agentId:_0x29fef0}=_0x55d3ab[_0x76cd3(0x217)];if(!_0x29fef0)return _0x2ae8ec['status'](0x190)[_0x76cd3(0x1f5)]({'success':![],'error':'agentId\x20query\x20parameter\x20is\x20required'});if(!this['orchestrator']?.['fileAttachmentService'])return _0x2ae8ec['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x1d4978=await this[_0x76cd3(0x1a9)]['fileAttachmentService'][_0x76cd3(0x169)](_0x582b2f,_0x29fef0);this[_0x76cd3(0x135)]['info'](_0x76cd3(0x1bb),{'fileId':_0x582b2f,'agentId':_0x29fef0,'physicallyDeleted':_0x1d4978['physicallyDeleted']}),_0x2ae8ec['json']({'success':!![],'message':_0x1d4978[_0x76cd3(0x21b)]?_0x76cd3(0x1bb):_0x76cd3(0x19f),'physicallyDeleted':_0x1d4978[_0x76cd3(0x21b)]});}catch(_0x1bd903){this['logger'][_0x76cd3(0x137)](_0x76cd3(0x212),{'fileId':_0x55d3ab[_0x76cd3(0x1f6)]['fileId'],'error':_0x1bd903[_0x76cd3(0x201)]}),_0x2ae8ec[_0x76cd3(0x1e4)](0x1f4)[_0x76cd3(0x1f5)]({'success':![],'error':_0x1bd903['message']});}}),this['app'][_0x8325b2(0x17e)]('/api/attachments/:fileId/import',async(_0x335560,_0x2cdb43)=>{const _0x454611=_0x8325b2;try{const {fileId:_0x1d08a0}=_0x335560[_0x454611(0x1f6)],{targetAgentId:_0x3c6ae1}=_0x335560[_0x454611(0x17c)];if(!_0x3c6ae1)return _0x2cdb43[_0x454611(0x1e4)](0x190)[_0x454611(0x1f5)]({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this[_0x454611(0x1a9)]?.[_0x454611(0x1a8)])return _0x2cdb43['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x26edb4=await this['orchestrator'][_0x454611(0x1a8)][_0x454611(0x233)](_0x1d08a0,_0x3c6ae1);this['logger'][_0x454611(0x171)]('Attachment imported',{'fileId':_0x1d08a0,'targetAgentId':_0x3c6ae1}),_0x2cdb43['json']({'success':!![],'attachment':_0x26edb4});}catch(_0x304e1d){this['logger']['error']('Failed to import attachment',{'fileId':_0x335560[_0x454611(0x1f6)][_0x454611(0x18b)],'error':_0x304e1d[_0x454611(0x201)]}),_0x2cdb43['status'](0x1f4)['json']({'success':![],'error':_0x304e1d[_0x454611(0x201)]});}}),this[_0x8325b2(0x225)]['get'](_0x8325b2(0x19b),async(_0x5e3da9,_0x5ac51e)=>{const _0x310113=_0x8325b2;try{const {fileId:_0x13370d}=_0x5e3da9[_0x310113(0x1f6)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x5ac51e['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x2618e6=await this['orchestrator'][_0x310113(0x1a8)]['getAttachmentPreview'](_0x13370d);if(!_0x2618e6)return _0x5ac51e[_0x310113(0x1e4)](0x194)[_0x310113(0x1f5)]({'success':![],'error':'Attachment\x20not\x20found'});_0x5ac51e[_0x310113(0x1f5)]({'success':!![],'preview':_0x2618e6});}catch(_0xfa6b0d){this['logger'][_0x310113(0x137)](_0x310113(0x1d9),{'fileId':_0x5e3da9[_0x310113(0x1f6)][_0x310113(0x18b)],'error':_0xfa6b0d[_0x310113(0x201)]}),_0x5ac51e[_0x310113(0x1e4)](0x1f4)[_0x310113(0x1f5)]({'success':![],'error':_0xfa6b0d[_0x310113(0x201)]});}}),this['app'][_0x8325b2(0x196)](_0x8325b2(0x18c),async(_0x178f5a,_0x7b5c1a)=>{const _0x2f21b0=_0x8325b2;try{const {sessionId:_0x2bfe79,filename:_0x334580}=_0x178f5a[_0x2f21b0(0x1f6)],_0x519ab3=this['sessions'][_0x2f21b0(0x196)](_0x2bfe79);if(!_0x519ab3)return _0x7b5c1a['status'](HTTP_STATUS[_0x2f21b0(0x22d)])['json']({'success':![],'error':'Invalid\x20session'});const _0x1ab0d9=a0_0x51a210[_0x2f21b0(0x237)](_0x334580);if(_0x1ab0d9!==_0x334580||_0x334580['includes']('..')||_0x334580[_0x2f21b0(0x1f7)]('/')||_0x334580[_0x2f21b0(0x1f7)]('\x5c'))return _0x7b5c1a[_0x2f21b0(0x1e4)](HTTP_STATUS[_0x2f21b0(0x18f)])['json']({'success':![],'error':_0x2f21b0(0x234)});let _0x31c4ef=null;const _0x48217d=[a0_0x51a210['join'](_0x519ab3['projectDir']||process[_0x2f21b0(0x1d8)](),'images',_0x1ab0d9),a0_0x51a210['join'](_0x2f21b0(0x222),_0x2bfe79,_0x1ab0d9),a0_0x51a210[_0x2f21b0(0x1be)]('/tmp/loxia-images',_0x1ab0d9)];if(this['orchestrator']?.[_0x2f21b0(0x166)])try{const _0x136030=await this[_0x2f21b0(0x1a9)][_0x2f21b0(0x166)][_0x2f21b0(0x15d)]();for(const _0x18064b of _0x136030){_0x18064b[_0x2f21b0(0x177)]?.['workingDirectory']&&_0x48217d[_0x2f21b0(0x224)](a0_0x51a210['join'](_0x18064b[_0x2f21b0(0x177)][_0x2f21b0(0x16f)],'images',_0x1ab0d9));}}catch(_0x742cf9){this['logger'][_0x2f21b0(0x223)]('Failed\x20to\x20get\x20agent\x20working\x20directories\x20for\x20image\x20search',{'error':_0x742cf9[_0x2f21b0(0x201)]});}for(const _0x561304 of _0x48217d){try{const _0x5b0e2f=await a0_0x1c8270['stat'](_0x561304);if(_0x5b0e2f[_0x2f21b0(0x1a6)]()){_0x31c4ef=_0x561304,this[_0x2f21b0(0x135)][_0x2f21b0(0x171)]('Image\x20found',{'filename':_0x1ab0d9,'path':_0x31c4ef,'sessionId':_0x2bfe79});break;}}catch(_0x453846){continue;}}if(!_0x31c4ef)return this['logger']['warn']('Image\x20not\x20found\x20in\x20any\x20search\x20path',{'filename':_0x1ab0d9,'sessionId':_0x2bfe79,'searchPaths':_0x48217d}),_0x7b5c1a['status'](HTTP_STATUS['NOT_FOUND'])[_0x2f21b0(0x1f5)]({'success':![],'error':_0x2f21b0(0x12d)});_0x7b5c1a['sendFile'](_0x31c4ef,_0x3228ae=>{const _0x5dc932=_0x2f21b0;_0x3228ae?(this[_0x5dc932(0x135)]['error']('Failed\x20to\x20send\x20image\x20file',{'error':_0x3228ae[_0x5dc932(0x201)],'imagePath':_0x31c4ef,'filename':_0x1ab0d9}),!_0x7b5c1a['headersSent']&&_0x7b5c1a[_0x5dc932(0x1e4)](HTTP_STATUS[_0x5dc932(0x1b0)])['json']({'success':![],'error':_0x5dc932(0x230)})):this['logger']['info'](_0x5dc932(0x18a),{'filename':_0x1ab0d9,'path':_0x31c4ef,'sessionId':_0x2bfe79});});}catch(_0x1d6c6a){this[_0x2f21b0(0x135)][_0x2f21b0(0x137)]('Image\x20serving\x20error',{'error':_0x1d6c6a['message'],'sessionId':_0x178f5a[_0x2f21b0(0x1f6)][_0x2f21b0(0x1a4)],'filename':_0x178f5a['params'][_0x2f21b0(0x226)]}),_0x7b5c1a[_0x2f21b0(0x1e4)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x1d6c6a['message']});}}),this[_0x8325b2(0x225)][_0x8325b2(0x17e)](_0x8325b2(0x1dc),async(_0x2d220b,_0x517f01)=>{const _0x1e2a22=_0x8325b2;try{const {agentId:_0x36c9c9}=_0x2d220b[_0x1e2a22(0x1f6)],{mode:_0x45e55d,lockMode:lockMode=![],sessionId:_0x568775}=_0x2d220b[_0x1e2a22(0x17c)];if(!Object[_0x1e2a22(0x236)](AGENT_MODES)['includes'](_0x45e55d))return _0x517f01['status'](0x190)[_0x1e2a22(0x1f5)]({'success':![],'error':_0x1e2a22(0x12f)+Object['values'](AGENT_MODES)['join'](',\x20')});const _0x3d2d69=_0x568775||_0x2d220b[_0x1e2a22(0x16c)];!_0x3d2d69&&this[_0x1e2a22(0x135)]['warn']('Agent\x20mode\x20update\x20requested\x20without\x20session\x20ID',{'agentId':_0x36c9c9,'hasBodySessionId':!!_0x568775,'hasReqSessionId':!!_0x2d220b[_0x1e2a22(0x16c)]});const _0x252492={'interface':INTERFACE_TYPES[_0x1e2a22(0x1e7)],'sessionId':_0x3d2d69,'action':'update_agent','payload':{'agentId':_0x36c9c9,'updates':{'mode':_0x45e55d}}},_0x5adbb7=await this[_0x1e2a22(0x1a9)][_0x1e2a22(0x15b)](_0x252492);if(_0x5adbb7[_0x1e2a22(0x16a)]){const _0x3291d8=_0x5adbb7['data'];this['logger'][_0x1e2a22(0x171)]('Agent\x20mode\x20updated:\x20'+_0x36c9c9,{'newMode':_0x45e55d,'lockMode':lockMode,'finalMode':_0x3291d8?.[_0x1e2a22(0x17a)]}),this[_0x1e2a22(0x160)](_0x252492[_0x1e2a22(0x1a4)],{'type':'agent_mode_changed','agentId':_0x36c9c9,'mode':_0x3291d8?.[_0x1e2a22(0x17a)],'modeState':_0x3291d8?.['modeState']}),_0x517f01['json']({'success':!![],'agent':_0x3291d8,'message':'Agent\x20mode\x20switched\x20to\x20'+_0x3291d8?.[_0x1e2a22(0x17a)]});}else _0x517f01[_0x1e2a22(0x1e4)](0x190)['json']({'success':![],'error':_0x5adbb7['error']||'Failed\x20to\x20update\x20agent\x20mode'});}catch(_0x4033ea){this[_0x1e2a22(0x135)]['error']('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0x2d220b[_0x1e2a22(0x1f6)][_0x1e2a22(0x215)],'error':_0x4033ea['message']}),_0x517f01['status'](0x1f4)[_0x1e2a22(0x1f5)]({'success':![],'error':_0x4033ea[_0x1e2a22(0x201)]});}}),this['app']['post'](_0x8325b2(0x1e8),async(_0x1202a8,_0x28f82d)=>{const _0x277b18=_0x8325b2;try{const {agentId:_0x5cfcf7}=_0x1202a8['params'],_0x39e879=this['orchestrator']['messageProcessor'];if(!_0x39e879)return _0x28f82d[_0x277b18(0x1e4)](0x1f4)[_0x277b18(0x1f5)]({'success':![],'error':_0x277b18(0x130)});const _0x282a88=await _0x39e879[_0x277b18(0x154)](_0x5cfcf7);this[_0x277b18(0x135)]['info']('Autonomous\x20execution\x20stop\x20requested:\x20'+_0x5cfcf7);const _0x1dca7b=_0x1202a8['sessionID']||_0x282a88['agent']?.[_0x277b18(0x1a4)];_0x1dca7b&&this['broadcastToSession'](_0x1dca7b,{'type':'agent_mode_changed','agentId':_0x5cfcf7,'mode':_0x282a88[_0x277b18(0x1ee)]?.['mode'],'modeState':_0x282a88[_0x277b18(0x1ee)]?.[_0x277b18(0x22b)]}),_0x28f82d['json'](_0x282a88);}catch(_0x40b2d9){this['logger'][_0x277b18(0x137)]('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x1202a8['params']['agentId'],'error':_0x40b2d9[_0x277b18(0x201)]}),_0x28f82d['status'](0x1f4)[_0x277b18(0x1f5)]({'success':![],'error':_0x40b2d9['message']});}}),this[_0x8325b2(0x225)][_0x8325b2(0x196)]('/api/agents/:agentId/mode',async(_0x3f364e,_0x384878)=>{const _0xb8838e=_0x8325b2;try{const {agentId:_0x49452c}=_0x3f364e[_0xb8838e(0x1f6)],_0x3be80e={'interface':INTERFACE_TYPES[_0xb8838e(0x1e7)],'sessionId':_0x3f364e['sessionID'],'action':'get_agent_status','payload':{'agentId':_0x49452c}},_0x3f8aae=await this['orchestrator']['processRequest'](_0x3be80e);_0x3f8aae[_0xb8838e(0x16a)]&&_0x3f8aae['agent']?_0x384878['json']({'success':!![],'mode':_0x3f8aae[_0xb8838e(0x1ee)]['mode'],'modeState':_0x3f8aae[_0xb8838e(0x1ee)]['modeState'],'currentTask':_0x3f8aae[_0xb8838e(0x1ee)]['currentTask'],'iterationCount':_0x3f8aae[_0xb8838e(0x1ee)][_0xb8838e(0x1f2)],'taskStartTime':_0x3f8aae[_0xb8838e(0x1ee)][_0xb8838e(0x202)],'stopRequested':_0x3f8aae['agent'][_0xb8838e(0x193)]}):_0x384878[_0xb8838e(0x1e4)](0x194)['json']({'success':![],'error':_0xb8838e(0x20a)});}catch(_0x3426a6){this[_0xb8838e(0x135)][_0xb8838e(0x137)](_0xb8838e(0x1a0),{'agentId':_0x3f364e['params'][_0xb8838e(0x215)],'error':_0x3426a6['message']}),_0x384878['status'](0x1f4)['json']({'success':![],'error':_0x3426a6[_0xb8838e(0x201)]});}}),this['app']['get']('/api/agents/available',async(_0x26f068,_0x37abd6)=>{const _0x3818c8=_0x8325b2;try{const _0x592e0e=this[_0x3818c8(0x1a9)]['config']['project']?.['directory']||process[_0x3818c8(0x1d8)](),_0x47c0e3=await this['orchestrator'][_0x3818c8(0x13d)][_0x3818c8(0x1b1)](_0x592e0e,this[_0x3818c8(0x1a9)]['agentPool']);_0x37abd6['json']({'success':!![],'agents':_0x47c0e3,'total':_0x47c0e3['length'],'active':_0x47c0e3['filter'](_0x386098=>_0x386098[_0x3818c8(0x1da)])[_0x3818c8(0x1c0)],'archived':_0x47c0e3[_0x3818c8(0x200)](_0x129244=>!_0x129244['isLoaded'])[_0x3818c8(0x1c0)]});}catch(_0xed1ca9){this[_0x3818c8(0x135)]['error']('Failed\x20to\x20get\x20available\x20agents',{'error':_0xed1ca9['message'],'stack':_0xed1ca9['stack']}),_0x37abd6[_0x3818c8(0x1e4)](0x1f4)['json']({'success':![],'error':_0xed1ca9['message']});}}),this['app'][_0x8325b2(0x196)]('/api/agents/:agentId/metadata',async(_0x5b6978,_0x2fc648)=>{const _0x30e638=_0x8325b2;try{const {agentId:_0x5a8714}=_0x5b6978[_0x30e638(0x1f6)],_0x7cd96b=this[_0x30e638(0x1a9)]['config']['project']?.['directory']||process['cwd'](),_0x18eaf7=await this[_0x30e638(0x1a9)][_0x30e638(0x13d)]['getAgentMetadata'](_0x5a8714,_0x7cd96b);_0x2fc648['json']({'success':!![],'metadata':_0x18eaf7});}catch(_0x367d11){this[_0x30e638(0x135)][_0x30e638(0x137)](_0x30e638(0x156),{'agentId':_0x5b6978[_0x30e638(0x1f6)]['agentId'],'error':_0x367d11[_0x30e638(0x201)]}),_0x2fc648[_0x30e638(0x1e4)](0x194)['json']({'success':![],'error':_0x367d11['message']});}}),this['app'][_0x8325b2(0x17e)]('/api/agents/import',async(_0x4aa2e7,_0x4f7ae7)=>{const _0x3c80a2=_0x8325b2;try{const {agentId:_0x6f72de}=_0x4aa2e7['body'];if(!_0x6f72de)return _0x4f7ae7[_0x3c80a2(0x1e4)](0x190)[_0x3c80a2(0x1f5)]({'success':![],'error':_0x3c80a2(0x1a7)});const _0x3bec3e=this[_0x3c80a2(0x1a9)][_0x3c80a2(0x21c)]['project']?.['directory']||process[_0x3c80a2(0x1d8)](),_0x2eb2ad=await this[_0x3c80a2(0x1a9)]['stateManager'][_0x3c80a2(0x18e)](_0x6f72de,_0x3bec3e,this[_0x3c80a2(0x1a9)]['agentPool']);this[_0x3c80a2(0x1af)]&&this[_0x3c80a2(0x1af)]['broadcast']({'type':'agent-imported','agent':{'id':_0x2eb2ad['id'],'name':_0x2eb2ad['name'],'status':_0x2eb2ad['status'],'capabilities':_0x2eb2ad['capabilities'],'model':_0x2eb2ad[_0x3c80a2(0x188)]||_0x2eb2ad['preferredModel']}}),this[_0x3c80a2(0x135)]['info']('Agent imported successfully',{'agentId':_0x2eb2ad['id'],'name':_0x2eb2ad[_0x3c80a2(0x1c5)]}),_0x4f7ae7[_0x3c80a2(0x1f5)]({'success':!![],'agent':{'id':_0x2eb2ad['id'],'name':_0x2eb2ad[_0x3c80a2(0x1c5)],'status':_0x2eb2ad['status'],'model':_0x2eb2ad[_0x3c80a2(0x188)]||_0x2eb2ad[_0x3c80a2(0x1b6)],'capabilities':_0x2eb2ad[_0x3c80a2(0x1d7)],'lastActivity':_0x2eb2ad[_0x3c80a2(0x148)]},'message':_0x3c80a2(0x164)+_0x2eb2ad['name']+'\x20imported\x20successfully'});}catch(_0x212e54){this[_0x3c80a2(0x135)][_0x3c80a2(0x137)]('Failed to import agent',{'agentId':_0x4aa2e7[_0x3c80a2(0x17c)][_0x3c80a2(0x215)],'error':_0x212e54['message'],'stack':_0x212e54[_0x3c80a2(0x203)]});const _0x165bb3=_0x212e54['message'][_0x3c80a2(0x1f7)](_0x3c80a2(0x13e))?0x199:_0x212e54[_0x3c80a2(0x201)][_0x3c80a2(0x1f7)]('not\x20found')?0x194:_0x212e54[_0x3c80a2(0x201)]['includes']('Invalid')?0x190:0x1f4;_0x4f7ae7['status'](_0x165bb3)['json']({'success':![],'error':_0x212e54['message']});}}),this[_0x8325b2(0x225)][_0x8325b2(0x196)]('*',(_0xc1459a,_0x29f8c1)=>{const _0xf792d2=_0x8325b2,_0x18404d=a0_0x51a210[_0xf792d2(0x1be)](__dirname,'../../web-ui/build/index.html');_0x29f8c1[_0xf792d2(0x136)](_0x18404d,_0x1bbd58=>{const _0x55514a=_0xf792d2;_0x1bbd58&&_0x29f8c1['status'](HTTP_STATUS['NOT_FOUND'])['send'](_0x55514a(0x182));});});}[a0_0x452fa2(0x140)](){const _0x5eb650=a0_0x452fa2;this['logger']['info'](_0x5eb650(0x238),{'port':this['port'],'host':this[_0x5eb650(0x235)],'wsServerExists':!!this['wss'],'httpServerExists':!!this['server']}),this['wss']['on']('error',_0x4ec1a3=>{const _0x1b582e=_0x5eb650;this[_0x1b582e(0x135)][_0x1b582e(0x137)]('WebSocket\x20server\x20error:',{'error':_0x4ec1a3['message'],'stack':_0x4ec1a3[_0x1b582e(0x203)],'port':this['port']});}),this[_0x5eb650(0x1fc)]['on'](_0x5eb650(0x15f),()=>{const _0x451c52=_0x5eb650;this[_0x451c52(0x135)][_0x451c52(0x171)](_0x451c52(0x13c),{'port':this[_0x451c52(0x1e0)],'host':this[_0x451c52(0x235)]});}),this['wss']['on']('connection',(_0x460aa6,_0x262154)=>{const _0x1068e9=_0x5eb650,_0x41a71f='conn-'+Date['now']()+'-'+Math[_0x1068e9(0x185)]()[_0x1068e9(0x227)](0x24)[_0x1068e9(0x159)](0x2,0x9);this['logger']['info'](_0x1068e9(0x16b),{'connectionId':_0x41a71f,'ip':_0x262154[_0x1068e9(0x1e3)][_0x1068e9(0x232)],'origin':_0x262154['headers']['origin'],'host':_0x262154[_0x1068e9(0x152)]['host'],'userAgent':_0x262154[_0x1068e9(0x152)]['user-agent'],'url':_0x262154['url']});const _0xc14a28={'id':_0x41a71f,'ws':_0x460aa6,'sessionId':null,'connectedAt':new Date()[_0x1068e9(0x16e)](),'lastActivity':new Date()[_0x1068e9(0x16e)]()};this['connections']['set'](_0x41a71f,_0xc14a28),_0x460aa6['on'](_0x1068e9(0x201),async _0x56a161=>{const _0x1e4cfa=_0x1068e9;try{const _0x147376=JSON[_0x1e4cfa(0x1ea)](_0x56a161[_0x1e4cfa(0x227)]());await this['handleWebSocketMessage'](_0x41a71f,_0x147376);}catch(_0x446932){this[_0x1e4cfa(0x135)]['error']('WebSocket\x20message\x20error',{'connectionId':_0x41a71f,'error':_0x446932[_0x1e4cfa(0x201)]}),_0x460aa6[_0x1e4cfa(0x151)](JSON['stringify']({'type':_0x1e4cfa(0x137),'error':_0x446932['message']}));}}),_0x460aa6['on']('close',()=>{const _0x5edbd9=_0x1068e9;this[_0x5edbd9(0x135)][_0x5edbd9(0x171)]('WebSocket\x20connection\x20closed',{'connectionId':_0x41a71f}),this[_0x5edbd9(0x214)]['delete'](_0x41a71f);}),_0x460aa6[_0x1068e9(0x151)](JSON['stringify']({'type':_0x1068e9(0x19d),'connectionId':_0x41a71f,'timestamp':new Date()[_0x1068e9(0x16e)]()}));});}async[a0_0x452fa2(0x213)](_0x3ff97a,_0x43cc20){const _0x28d40b=a0_0x452fa2,_0xf5c750=this[_0x28d40b(0x214)]['get'](_0x3ff97a);if(!_0xf5c750)return;_0xf5c750[_0x28d40b(0x148)]=new Date()[_0x28d40b(0x16e)]();switch(_0x43cc20['type']){case'join_session':const _0x231129=_0x43cc20['sessionId'];_0xf5c750[_0x28d40b(0x1a4)]=_0x231129,this[_0x28d40b(0x135)][_0x28d40b(0x171)](_0x28d40b(0x1cd),{'connectionId':_0x3ff97a,'sessionId':_0x231129,'totalConnectionsForSession':Array[_0x28d40b(0x216)](this['connections']['values']())[_0x28d40b(0x200)](_0x1d9513=>_0x1d9513['sessionId']===_0x231129)[_0x28d40b(0x1c0)]}),_0xf5c750['ws']['send'](JSON['stringify']({'type':'session_joined','sessionId':_0x231129}));break;case'ping':_0xf5c750['ws']['send'](JSON[_0x28d40b(0x191)]({'type':_0x28d40b(0x15e),'timestamp':new Date()['toISOString']()}));break;case _0x28d40b(0x1de):try{const _0x184eea={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0xf5c750['sessionId'],'action':_0x43cc20['action'],'payload':_0x43cc20[_0x28d40b(0x172)],'projectDir':_0x43cc20['projectDir']||process['cwd']()},_0x5ba375=await this[_0x28d40b(0x1a9)]['processRequest'](_0x184eea);_0xf5c750['ws']['send'](JSON['stringify']({'type':_0x28d40b(0x20c),'requestId':_0x43cc20['requestId'],'response':_0x5ba375}));}catch(_0x1119d1){_0xf5c750['ws'][_0x28d40b(0x151)](JSON['stringify']({'type':_0x28d40b(0x137),'requestId':_0x43cc20[_0x28d40b(0x19a)],'error':_0x1119d1['message']}));}break;default:this[_0x28d40b(0x135)][_0x28d40b(0x223)]('Unknown\x20WebSocket\x20message\x20type',{'connectionId':_0x3ff97a,'type':_0x43cc20['type']});}}['broadcastToSession'](_0x411227,_0x59ac43){const _0x40ad15=a0_0x452fa2,_0x2e1f11=Array[_0x40ad15(0x216)](this['connections'][_0x40ad15(0x236)]())[_0x40ad15(0x200)](_0x54887e=>_0x54887e[_0x40ad15(0x1a4)]===_0x411227);let _0x42b8d4=[];_0x2e1f11[_0x40ad15(0x1c0)]===0x0&&(_0x42b8d4=Array['from'](this['connections'][_0x40ad15(0x236)]()),this[_0x40ad15(0x135)]?.['warn']('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x411227,'totalConnections':this['connections']['size'],'allSessionIds':Array[_0x40ad15(0x216)](this[_0x40ad15(0x214)][_0x40ad15(0x236)]())['map'](_0x29fe57=>_0x29fe57[_0x40ad15(0x1a4)])['filter'](Boolean)}));const _0x4b647e=_0x2e1f11['length']>0x0?_0x2e1f11:_0x42b8d4;this[_0x40ad15(0x135)]?.['info'](_0x40ad15(0x239),{'sessionId':_0x411227,'messageType':_0x59ac43[_0x40ad15(0x183)],'agentId':_0x59ac43[_0x40ad15(0x215)],'totalConnections':this['connections'][_0x40ad15(0x1cb)],'sessionConnections':_0x2e1f11[_0x40ad15(0x1c0)],'targetConnections':_0x4b647e[_0x40ad15(0x1c0)],'connectionIds':_0x4b647e['map'](_0x480354=>_0x480354['id']),'usingFallback':_0x2e1f11['length']===0x0,'messagePreview':_0x59ac43[_0x40ad15(0x183)]===_0x40ad15(0x17b)&&_0x59ac43['message']?{'messageId':_0x59ac43[_0x40ad15(0x201)]['id'],'messageRole':_0x59ac43[_0x40ad15(0x201)][_0x40ad15(0x1d0)],'contentLength':_0x59ac43[_0x40ad15(0x201)]['content']?.['length'],'hasToolResults':!!_0x59ac43[_0x40ad15(0x201)][_0x40ad15(0x15a)]}:undefined});for(const _0x59a9b9 of _0x4b647e){try{const _0x30d1cd={..._0x59ac43,'timestamp':new Date()[_0x40ad15(0x16e)]()};_0x59a9b9['ws'][_0x40ad15(0x151)](JSON['stringify'](_0x30d1cd)),this[_0x40ad15(0x135)]?.[_0x40ad15(0x171)]('✅\x20WebSocket\x20message\x20sent\x20to\x20connection:',{'connectionId':_0x59a9b9['id'],'messageType':_0x59ac43[_0x40ad15(0x183)],'agentId':_0x59ac43[_0x40ad15(0x215)]});}catch(_0x23d1aa){this['logger']['warn']('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x59a9b9['id'],'sessionId':_0x411227,'messageType':_0x59ac43[_0x40ad15(0x183)],'error':_0x23d1aa[_0x40ad15(0x201)]});}}}async['startServer'](){return new Promise((_0x1e0d94,_0x7412ae)=>{const _0x2dae25=a0_0x3e1c;this[_0x2dae25(0x1f9)][_0x2dae25(0x187)](this[_0x2dae25(0x1e0)],this['host'],_0x491246=>{const _0x557dee=_0x2dae25;_0x491246?(this['logger']['error']('Failed\x20to\x20start\x20HTTP\x20server',{'error':_0x491246[_0x557dee(0x201)],'port':this[_0x557dee(0x1e0)],'host':this['host']}),_0x7412ae(_0x491246)):(this[_0x557dee(0x210)]=!![],this[_0x557dee(0x135)]['info'](_0x557dee(0x1e1),{'port':this[_0x557dee(0x1e0)],'host':this['host'],'httpUrl':'http://'+this[_0x557dee(0x235)]+':'+this[_0x557dee(0x1e0)],'wsUrl':'ws://'+this['host']+':'+this['port'],'wsServerAttached':!!this[_0x557dee(0x1fc)],'wsConnections':this[_0x557dee(0x214)][_0x557dee(0x1cb)]}),setTimeout(async()=>{await this['testWebSocketServer']();},0x3e8),_0x1e0d94());}),this['server']['on']('error',_0x298961=>{const _0x411639=_0x2dae25;this['logger']['error']('HTTP\x20server\x20error:',{'error':_0x298961[_0x411639(0x201)],'stack':_0x298961[_0x411639(0x203)],'port':this[_0x411639(0x1e0)]});});});}async[a0_0x452fa2(0x1ec)](){const _0x29fa86=a0_0x452fa2;try{const {default:_0x3ffb26}=await import('ws'),_0x303934=new _0x3ffb26(_0x29fa86(0x195)+this[_0x29fa86(0x1e0)]);_0x303934['on'](_0x29fa86(0x14f),()=>{const _0x14a903=_0x29fa86;this[_0x14a903(0x135)][_0x14a903(0x171)]('✅\x20WebSocket\x20server\x20test:\x20SUCCESSFUL',{'port':this[_0x14a903(0x1e0)],'url':_0x14a903(0x195)+this[_0x14a903(0x1e0)]}),_0x303934[_0x14a903(0x1ca)]();}),_0x303934['on'](_0x29fa86(0x137),_0x489b9d=>{const _0x366c6c=_0x29fa86;this['logger'][_0x366c6c(0x137)]('❌\x20WebSocket\x20server\x20test:\x20FAILED',{'port':this['port'],'url':'ws://localhost:'+this[_0x366c6c(0x1e0)],'error':_0x489b9d['message'],'code':_0x489b9d[_0x366c6c(0x167)]});}),_0x303934['on'](_0x29fa86(0x1ca),(_0x443dfd,_0x550858)=>{const _0x6c8fa3=_0x29fa86;_0x443dfd===0x3e8&&this[_0x6c8fa3(0x135)][_0x6c8fa3(0x171)]('WebSocket\x20test\x20connection\x20closed\x20cleanly');}),setTimeout(()=>{const _0x3feb0e=_0x29fa86;_0x303934[_0x3feb0e(0x1d2)]===_0x3ffb26['CONNECTING']&&(this[_0x3feb0e(0x135)][_0x3feb0e(0x137)]('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this[_0x3feb0e(0x1e0)],'url':_0x3feb0e(0x195)+this[_0x3feb0e(0x1e0)],'readyState':_0x303934['readyState']}),_0x303934[_0x3feb0e(0x1ed)]());},0x1388);}catch(_0x5313f3){this[_0x29fa86(0x135)]['error'](_0x29fa86(0x186),{'error':_0x5313f3[_0x29fa86(0x201)],'stack':_0x5313f3['stack']});}}['setApiKeyManager'](_0x4217ee){const _0x24947d=a0_0x452fa2;this[_0x24947d(0x23a)]=_0x4217ee,this['logger']?.['info']('API\x20key\x20manager\x20set\x20for\x20web\x20server',{'hasManager':!!_0x4217ee});}[a0_0x452fa2(0x1df)](_0x241292){const _0x25ee2c=a0_0x452fa2;if(!_0x241292)return null;const _0x30c506=_0x241292[_0x25ee2c(0x1f8)]();if(_0x30c506[_0x25ee2c(0x1f7)]('anthropic')||_0x30c506['includes']('claude'))return _0x25ee2c(0x1ef);else{if(_0x30c506[_0x25ee2c(0x1f7)]('openai')||_0x30c506['includes']('gpt'))return'openai';else{if(_0x30c506['includes'](_0x25ee2c(0x178)))return _0x25ee2c(0x178);else{if(_0x30c506[_0x25ee2c(0x1f7)](_0x25ee2c(0x1ce)))return _0x25ee2c(0x165);}}}return null;}['getStatus'](){const _0x4c2727=a0_0x452fa2;return{'isRunning':this[_0x4c2727(0x210)],'port':this[_0x4c2727(0x1e0)],'host':this[_0x4c2727(0x235)],'connections':this[_0x4c2727(0x214)]['size'],'sessions':this['sessions']['size'],'url':_0x4c2727(0x192)+this['host']+':'+this['port']};}async[a0_0x452fa2(0x1b9)](){const _0x4e9c74=a0_0x452fa2;if(!this[_0x4e9c74(0x210)])return;this['logger'][_0x4e9c74(0x171)](_0x4e9c74(0x204));for(const _0x4d46ee of this['connections'][_0x4e9c74(0x236)]()){_0x4d46ee['ws'][_0x4e9c74(0x1ca)]();}return this[_0x4e9c74(0x214)]['clear'](),this[_0x4e9c74(0x1fc)][_0x4e9c74(0x1ca)](),new Promise(_0xd9df0e=>{const _0x4d3476=_0x4e9c74;this[_0x4d3476(0x1f9)][_0x4d3476(0x1ca)](()=>{const _0x2ba74f=_0x4d3476;this[_0x2ba74f(0x210)]=![],this['logger'][_0x2ba74f(0x171)](_0x2ba74f(0x18d)),_0xd9df0e();});});}}export default WebServer;if(import.meta.url===a0_0x452fa2(0x12e)+process['argv'][0x1]){const simpleLogger={'info':(_0x493d1f,_0x4ddb0d)=>console['log'](a0_0x452fa2(0x190)+_0x493d1f,_0x4ddb0d?JSON['stringify'](_0x4ddb0d,null,0x2):''),'error':(_0x326225,_0x34f428)=>console[a0_0x452fa2(0x137)](a0_0x452fa2(0x1ab)+_0x326225,_0x34f428?JSON[a0_0x452fa2(0x191)](_0x34f428,null,0x2):''),'warn':(_0x4d444c,_0x3cd811)=>console[a0_0x452fa2(0x223)]('[WARN]\x20'+_0x4d444c,_0x3cd811?JSON['stringify'](_0x3cd811,null,0x2):''),'debug':(_0x18c84e,_0x2695d1)=>console[a0_0x452fa2(0x170)](a0_0x452fa2(0x1c4)+_0x18c84e,_0x2695d1?JSON['stringify'](_0x2695d1,null,0x2):'')},mockOrchestrator={'processAction':async(_0x221121,_0xadced0)=>{const _0x53348d=a0_0x452fa2;simpleLogger['info']('Mock\x20orchestrator\x20action',{'action':_0x221121,'data':_0xadced0});switch(_0x221121){case ORCHESTRATOR_ACTIONS[_0x53348d(0x22f)]:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS['CREATE_AGENT']:return{'success':!![],'data':{'id':_0x53348d(0x21d)+Date[_0x53348d(0x14a)](),'name':_0xadced0['name']||_0x53348d(0x220),'status':'active','model':_0xadced0[_0x53348d(0x1e2)]||_0x53348d(0x139),'systemPrompt':_0xadced0['systemPrompt']||_0x53348d(0x229)}};case ORCHESTRATOR_ACTIONS[_0x53348d(0x173)]:return{'success':!![],'data':{'message':{'id':'msg-'+Date[_0x53348d(0x14a)](),'content':'Echo:\x20'+_0xadced0[_0x53348d(0x201)],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':_0x53348d(0x1d5)+_0x221121};}}},server=new WebServer(mockOrchestrator,simpleLogger,{'port':0x1f90,'host':'0.0.0.0'});console[a0_0x452fa2(0x170)]('🚀\x20Starting\x20Loxia\x20Web\x20Server\x20in\x20standalone\x20mode...'),server['startServer']()[a0_0x452fa2(0x1e6)](()=>{const _0x48a7b9=a0_0x452fa2,_0x314738=server[_0x48a7b9(0x1d3)]();console['log']('✅\x20Web\x20Server\x20running\x20at\x20'+_0x314738[_0x48a7b9(0x22a)]),console[_0x48a7b9(0x170)](_0x48a7b9(0x1d6)),console[_0x48a7b9(0x170)]('🔧\x20API\x20available\x20at:\x20http://localhost:8080/api');})['catch'](_0x42988a=>{const _0x21fb4e=a0_0x452fa2;console[_0x21fb4e(0x137)](_0x21fb4e(0x22e),_0x42988a[_0x21fb4e(0x201)]),process[_0x21fb4e(0x20b)](0x1);}),process['on'](a0_0x452fa2(0x158),async()=>{const _0x338f8d=a0_0x452fa2;console[_0x338f8d(0x170)]('\x0a🛑\x20Shutting\x20down\x20web\x20server...'),await server['shutdown'](),process[_0x338f8d(0x20b)](0x0);});}
1
+ const a0_0x2a2533=a0_0x50a8;(function(_0x429d93,_0x5245b3){const _0x1ec1cc=a0_0x50a8,_0x3b2885=_0x429d93();while(!![]){try{const _0x599590=parseInt(_0x1ec1cc(0x239))/0x1*(parseInt(_0x1ec1cc(0x224))/0x2)+-parseInt(_0x1ec1cc(0x26b))/0x3+-parseInt(_0x1ec1cc(0x240))/0x4*(parseInt(_0x1ec1cc(0x2c2))/0x5)+parseInt(_0x1ec1cc(0x21d))/0x6*(parseInt(_0x1ec1cc(0x1ee))/0x7)+parseInt(_0x1ec1cc(0x20e))/0x8*(-parseInt(_0x1ec1cc(0x226))/0x9)+parseInt(_0x1ec1cc(0x296))/0xa*(-parseInt(_0x1ec1cc(0x2bf))/0xb)+-parseInt(_0x1ec1cc(0x257))/0xc*(-parseInt(_0x1ec1cc(0x1e2))/0xd);if(_0x599590===_0x5245b3)break;else _0x3b2885['push'](_0x3b2885['shift']());}catch(_0x1d5e41){_0x3b2885['push'](_0x3b2885['shift']());}}}(a0_0x2489,0x917cb));function a0_0x2489(){const _0x6026ad=['l2fWAs9LEhbSB3jLCI9PBMzV','D3m6lY9SB2nHBgHVC3q6','rMLSzsbHDhrHy2HTzw50ihvWBg9HzgvK','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','zNjVBq','sw52ywXPzcbTB2rLlIbnDxn0igjLig9UzsbVzJOG','z2v0qxr0ywnOBwvUDfbYzxzPzxC','ANnVBG','y29UBMvJDgLVBNm','otG1nJHUyMveEem','l2fWAs9Hz2vUDhmVoMfNzw50swqVyxr0ywnOBwvUDhm','rMLSzsbHDhrHy2HTzw50ihnLCNzPy2uGBM90igf2ywLSywjSzq','Aw5PDgLHBgL6zq','ywn0Aw9U','D3m6lY8','v2vIihnLCNzLCIbZAhv0zg93BIbJB21WBgv0zq','mtHUsxnoB1K','u2H1DhrPBMCGzg93BIb3zwiGC2vYDMvYlI4U','mJK3ouj2sfLtyW','zgvSzxrL','Bw9Kzvn0yxrL','B3jJAgvZDhjHDg9Y','tM8GqvbjigTLEsbHDMfPBgfIBguGzM9YignOyxqGCMvXDwvZDa','y29UzMLN','A2v5CW','zgvIDwC','sw1Hz2uGC2vYDMvKihn1y2nLC3nMDwXSEq','CgLUzW','AxnsDw5UAw5N','Bg94AwfbCgLlzxK','sw1Hz2uGC2vYDMLUzYbLCNjVCG','Bw9KzwXZ','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','l2fWAs90B29SCW','DMvUzg9Ys2v5CW','C3rHDgLJ','D3nZ','odK4ntbIthDgDwO','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrKfjteve','zMLSzq','zMLSDgvY','ywXS','8j+tOsbxzwjtB2nRzxqGyNjVywrJyxn0vg9tzxnZAw9UignHBgXLzdO','nJa1nJu2AuHQquX4','C2vZC2LVBNm','4P2miezHAwXLzcb0BYbZDgfYDcb3zwiGC2vYDMvYoG','Aw5JBhvKzxm','y3DK','qxP1CMuGyMfJA2vUzcbLCNjVCJOG','sw52ywXPza','qvbjigTLEsbTyw5Hz2vYig5VDcbHDMfPBgfIBgu','su5urvjoquXFu0vsvKvsx0vsuK9s','Dg9mB3DLCKnHC2u','yM9KEq','z2v0u2vZC2LVBKTLExm','zgLYzwn0B3j5qwnJzxnZ','CMvXDwvZDeLK','Aw5MBW','AgfUzgXLv2vIu29JA2v0twvZC2fNzq','rMfPBgvKihrVihnLDcbbueKGA2v5CW','tw9KzwXZihjLzNjLC2HLzcb3AxrOig5LDYbbueKGA2v5','l2fWAs9RzxLZ','l2fWAs9PBwfNzxmVoNnLC3nPB25jzc86zMLSzw5HBwu','tM8GqvbjigTLExmGzM91BMqGzM9YihnLC3nPB24','C2v0DxbsB3v0zxm','AgvHBhrOEq','mta5mNfQzNHdDG','l3rTCc9SB3HPys1PBwfNzxm','vxnLCI1bz2vUDa','ChjVAMvJDerPCG','ms4WlJa','C2L6zq','z2v0qwXSqwDLBNrZ','l2fWAs9Hz2vUDhmVyxzHAwXHyMXL','rMfPBgvKihrVihn0yxj0ieHuvfaGC2vYDMvY','l2fWAs9MAwXLlwv4CgXVCMvY','C2v0DxbnAwrKBgv3yxjL','ywDLBNrjza','C3rHDhvZvgv4Da','C2vZC2LVBKLK','DgvZDfDLyLnVy2TLDfnLCNzLCG','DMvYC2LVBG','BMfTzq','C3rHy2S','DhLWzq','t1busu9ouW','mZm5nJm4mwrsuNbZtW','zgf0yq','CMvHzhLtDgf0zq','zMLSzw5HBwu','ChjLzMvYCMvKtw9KzwW','rMfPBgvKihrVigrLBgv0zsbHDhrHy2HTzw50','4PYfifDLyIbtzxj2zxiGCNvUBMLUzYbHDca','tK9ux0zpvu5e','C29YDa','qvbjigTLExmGCMvTB3zLzcbZDwnJzxnZzNvSBhK','Bw9KzwW','Bg9Nz2vY','x2DLDfzLBMrVCKzYB21nB2rLBa','ChjVy2vZC1jLCxvLC3q','sw52ywXPzcbZzxnZAw9U','t3jPz2LUlcbylvjLCxvLC3rLzc1xAxrOlcbdB250zw50lvr5CguSiefJy2vWDcWGqxv0Ag9YAxPHDgLVBG','zxHPDa','qxP1CMuGyMfJA2vUzcbYzxf1zxn0igzHAwXLzcaTie5piezbteXcqunliefwquLmqujmrq','l2fWAs9LEhbSB3jLCG','y29UDgvUDa','zMLSzuv4CgXVCMvYtw9KDwXL','DxrMoa','Aw1WB3j0rNjVBufNzw50','BwvZC2fNzvbYB2nLC3nVCG','BwvZC2fNzq','C29JA2v0','CgfYC2u','qwDLBNqGBw9Kzsb1CgrHDguGCMvXDwvZDgvKihDPDgHVDxqGC2vZC2LVBIbjra','C2vUza','rMfPBgvKihrVihrVz2DSzsbHDhrHy2HTzw50','C3rHCNrtzxj2zxi','BgLZDgvU','te9ysufFqvbjx0Tfwq','Dgv4Da','v2vIu29JA2v0ignVBM5Ly3rPB24Gy2XVC2vK','yxbW','rMfPBgvKihrVihvWBg9HzcbMAwXLigf0DgfJAg1LBNq','qwnJzxnZlunVBNrYB2WTqwXSB3CTsgvHzgvYCW','y2f0y2G','rMfPBgvKihrVigDLDcbHy3rPDMuGC2vZC2LVBNm','v2vIu29JA2v0ignVBM5Ly3rPB24Gyxr0zw1WDa','l2fWAs9ZzxnZAw9UCW','C2vZC2LVBKLe','mte4nZmWs1z3z05k','rMfPBgvKihrVigDLDcbHz2vUDcbTB2rLihn0yxr1CW','BgfZDefJDgL2Axr5','Cg9YDa','BwfW','sfruucbZzxj2zxiGzxjYB3i6','CMfUzg9T','qxr0ywnOBwvUDcbUB3qGzM91BMq','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9TB2rLBhm','CMvSyxrPDMu','ywDLBNqT','z2v0u3rHDhvZ','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','CxvLCNK','Cg9ZDa','qxv0B25VBw91CYbLEgvJDxrPB24GC3rVCcbYzxf1zxn0zwq6ia','C2vYDMvY','C3rHDhvZ','sw1Hz2uGzM91BMq','zMLSzuLK','DxnL','Cgf0Aa','C3vJy2vZCW','v0vc','qxr0ywnOBwvUDcb1CgrHDgvK','Ag9ZDa','u2v0DgLUzYb1CcbxzwjtB2nRzxqGC2vYDMvY','AgvHzgvYCW','y3vYCMvUDfrHC2S','DgvYBwLUyxrL','zMLSztOVlW','z2v0qwXSqxzHAwXHyMXLqwDLBNrZ','AxngAwXL','q09otKvdveLorW','BgLZDgvUAw5N','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLKl3rVz2DSzq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJO','CgfYyw1Z','AgvHzgvY','C3vIC3rY','rMfPBgvKihrVihnLCNzLigLTywDL','odi1rfnLrMHZ','zw52','yxbWBgLJyxrPB24VANnVBG','mJb1rLfrCeG','ChjVAMvJDa','Dg9VBfjLC3vSDhm','Bw9KzwXZu2vYDMLJzq','BwTKAxi','4PYfifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGu1vdq0vtu0zvta','B3jJAgvZDhjHDg9Yx3jLCxvLC3q','C3rYAw5NAwz5','w1DbuK5Dia','Dhj1zq','rMfPBgvKihrVihvWzgf0zsbHz2vUDcbTB2rL','DxjSzw5JB2rLza','Bwv0Ag9K','uhjVEhLPBMCGy2HHDcbYzxf1zxn0ihrVieXVEgLHief6DxjLigjHy2TLBMq','yMfZzw5HBwu','Cgf0y2G','Ahr0CdOVlW','q1jfqvrfx0fhru5u','qwnJzxnZlunVBNrYB2WTqwXSB3CTt3jPz2LU','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50ihbYzxzPzxC','vg9VBhmGCMvNAxn0CNKGBM90igf2ywLSywjSzq','l2fWAs9MAwXLCY91CgXVywq','BM93','C3rHDgvnyw5Hz2vY','CMvTB3rLqwrKCMvZCW','CgHP','C3rHCNrZv2L0Aa','rwnOBZOG','yxv0Ag9YAxPHDgLVBG','CMvHzgrPCG','8j+uPYbbueKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJGWodaVyxbP','sw52ywXPzcbMAwXLBMfTzq','Dg9tDhjPBMC','tw9JAYbVCMnOzxn0CMf0B3iGywn0Aw9U','l2fWAs9RzxLZlZPZzxnZAw9Uswq','l2fWAs9HDhrHy2HTzw50CY86zMLSzuLK','4P2mifDLyLnVy2TLDcbZzxj2zxiGDgvZDdOGrvHdrvbusu9o','teLtvf9br0vovfm','yNjVywrJyxn0vg9tzxnZAw9U','y29UBI0','y3vYCMvUDe1VzgvS','D2fYBG','rMfPBgvKihrVihbYB3H5ignOyxqGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5K','BgvUz3rO','C2vUzezPBgu','AxneAxjLy3rVCNK','yw50AhjVCgLJ','y2fWywjPBgL0AwvZ','AgvHzgvYC1nLBNq','mZC5mZi3Cez1DML6','Bg9N','mtbTyG','BM9YBwfSAxPL','D29YA2LUz0rPCMvJDg9YEq','z2v0','zxjYB3i','v2vIu29JA2v0ihrLC3qGy29UBMvJDgLVBIbJBg9ZzwqGy2XLyw5SEq','C2v0qxbPs2v5twfUywDLCG','ywDLBNrFBw9Kzv9JAgfUz2vK','ywDLBNrqB29S','ywn0AxzL','n3njEevkvW','ywDLBNq','Dg9Nz2XLqwn0AxzL','BxnNlq','CgH5C2LJywXSEurLBgv0zwq','DMfSDwvZ','DxbKyxrLx2fNzw50','DxbKyxrLzef0','C2v0','CMvZB2X2zq','DxjS','C2v0DxbxzwjtB2nRzxq','yxbPs2v5twfUywDLCG','l2fWAs9VCMnOzxn0CMf0B3i','zMLSzuf0DgfJAg1LBNrtzxj2AwnL','v2vIihnLCNzLCIbPBML0AwfSAxPLza','igLTCg9YDgvKihn1y2nLC3nMDwXSEq','rMfPBgvKihrVigDLDcbHDhrHy2HTzw50CW','y29Kzq','qwDLBNqG','yxbPs2v5','Bw9Kzq','rMfPBgvKihrVigzLDgnOig1VzgvSCYbMCM9TigjHy2TLBMq6ia','C3rHDa','zgLYzwn0B3j5','CMvX','rMfPBgvKihrVigDLDcbHz2vUDcbTzxrHzgf0yq','Dg9ju09tDhjPBMC','ywDLBNrjzcbPCYbYzxf1AxjLzcbPBIbYzxf1zxn0igjVzhK','AM9PBG','l2fWAs9LEhbSB3jLCI9TA2rPCG','qMvHCMvYia','nJe5mNfqqu9stq','CM9Szq','y2XVC2u','DMvUzg9YqxbPs2v5','8j+tSsbxzwiGvuKGyxzHAwXHyMXLigf0oIbODhrWoI8VBg9JywXOB3n0oJmWmdeGkgLMihj1BM5PBMCP','DgfZA1n0yxj0vgLTzq'];a0_0x2489=function(){return _0x6026ad;};return a0_0x2489();}import a0_0x51811c from'express';import{createServer}from'http';import{WebSocketServer}from'ws';import a0_0x3c242c from'path';import{promises as a0_0x3d1d73}from'fs';import{fileURLToPath}from'url';import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS,HTTP_STATUS,AGENT_MODES}from'../utilities/constants.js';import{initFileExplorerModule}from'../modules/fileExplorer/index.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x3c242c['dirname'](__filename);function a0_0x50a8(_0xb0ef50,_0x599061){_0xb0ef50=_0xb0ef50-0x1c8;const _0x2489aa=a0_0x2489();let _0x50a8d8=_0x2489aa[_0xb0ef50];if(a0_0x50a8['xxHYKv']===undefined){var _0x1a3102=function(_0x69a5a7){const _0x45d1d3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51811c='',_0x3c242c='';for(let _0x3d1d73=0x0,_0x20421e,_0x3c9eae,_0x3c7dd0=0x0;_0x3c9eae=_0x69a5a7['charAt'](_0x3c7dd0++);~_0x3c9eae&&(_0x20421e=_0x3d1d73%0x4?_0x20421e*0x40+_0x3c9eae:_0x3c9eae,_0x3d1d73++%0x4)?_0x51811c+=String['fromCharCode'](0xff&_0x20421e>>(-0x2*_0x3d1d73&0x6)):0x0){_0x3c9eae=_0x45d1d3['indexOf'](_0x3c9eae);}for(let _0x574433=0x0,_0x31d12a=_0x51811c['length'];_0x574433<_0x31d12a;_0x574433++){_0x3c242c+='%'+('00'+_0x51811c['charCodeAt'](_0x574433)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c242c);};a0_0x50a8['ULCBTA']=_0x1a3102,a0_0x50a8['KXrEdT']={},a0_0x50a8['xxHYKv']=!![];}const _0x2160ee=_0x2489aa[0x0],_0x405123=_0xb0ef50+_0x2160ee,_0x109149=a0_0x50a8['KXrEdT'][_0x405123];return!_0x109149?(_0x50a8d8=a0_0x50a8['ULCBTA'](_0x50a8d8),a0_0x50a8['KXrEdT'][_0x405123]=_0x50a8d8):_0x50a8d8=_0x109149,_0x50a8d8;}class WebServer{constructor(_0x20421e,_0x3c9eae,_0x3c7dd0={}){const _0x3367f6=a0_0x50a8;this['orchestrator']=_0x20421e,this[_0x3367f6(0x276)]=_0x3c9eae,this[_0x3367f6(0x22b)]=_0x3c7dd0,this['port']=_0x3c7dd0[_0x3367f6(0x299)]||0x1f90,this['host']=_0x3c7dd0[_0x3367f6(0x2af)]||'localhost',this['app']=a0_0x51811c(),this[_0x3367f6(0x2a6)]=createServer(this[_0x3367f6(0x28e)]),this['wss']=new WebSocketServer({'server':this['server'],'verifyClient':_0x574433=>{const _0x544553=_0x3367f6;return this['logger']?.['info'](_0x544553(0x293),{'origin':_0x574433['origin'],'host':_0x574433[_0x544553(0x207)]['headers'][_0x544553(0x2af)],'userAgent':_0x574433[_0x544553(0x207)]['headers']['user-agent'],'url':_0x574433['req'][_0x544553(0x1f8)]}),!![];}}),this['connections']=new Map(),this[_0x3367f6(0x241)]=new Map(),this['apiKeyManager']=null,this[_0x3367f6(0x230)]=![];}async[a0_0x2a2533(0x220)](){const _0x1d3dd6=a0_0x2a2533;try{this[_0x1d3dd6(0x261)](),this['setupRoutes'](),this['setupWebSocket'](),await this[_0x1d3dd6(0x289)](),this['logger'][_0x1d3dd6(0x24e)](_0x1d3dd6(0x1fd),{'port':this[_0x1d3dd6(0x299)],'host':this[_0x1d3dd6(0x2af)],'url':'http://'+this['host']+':'+this['port']});}catch(_0x31d12a){this[_0x1d3dd6(0x276)]['error']('Web\x20server\x20initialization\x20failed',{'error':_0x31d12a['message'],'stack':_0x31d12a[_0x1d3dd6(0x268)]});throw _0x31d12a;}}['setupMiddleware'](){const _0x1d37be=a0_0x2a2533;this['app'][_0x1d37be(0x2aa)]((_0x42e815,_0x1d9d33,_0xfa21f6)=>{const _0x4f10cc=_0x1d37be;_0x1d9d33[_0x4f10cc(0x2bc)](_0x4f10cc(0x2d4),'*'),_0x1d9d33[_0x4f10cc(0x2bc)]('Access-Control-Allow-Methods','GET,\x20POST,\x20PUT,\x20DELETE,\x20OPTIONS'),_0x1d9d33['header'](_0x4f10cc(0x290),_0x4f10cc(0x27a)),_0x42e815[_0x4f10cc(0x2ce)]===_0x4f10cc(0x26a)?_0x1d9d33['sendStatus'](HTTP_STATUS['OK']):_0xfa21f6();}),this['app'][_0x1d37be(0x2aa)](a0_0x51811c['json']({'limit':_0x1d37be(0x1e4)})),this['app'][_0x1d37be(0x2aa)](a0_0x51811c[_0x1d37be(0x2cd)]({'extended':!![],'limit':'10mb'})),this[_0x1d37be(0x27f)]=initFileExplorerModule({'showHidden':![],'restrictedPaths':[]}),this['app']['use'](_0x1d37be(0x260),this['fileExplorerModule']['router']);const _0x4b5f88=a0_0x3c242c['join'](__dirname,'../../web-ui/build');this[_0x1d37be(0x28e)]['use'](a0_0x51811c[_0x1d37be(0x237)](_0x4b5f88)),this['app'][_0x1d37be(0x2aa)]((_0x17f591,_0xecee49,_0x1e7e27)=>{const _0x44bd5a=_0x1d37be;this[_0x44bd5a(0x276)][_0x44bd5a(0x22d)](_0x17f591['method']+'\x20'+_0x17f591[_0x44bd5a(0x2ab)],{'ip':_0x17f591['ip'],'userAgent':_0x17f591[_0x44bd5a(0x1e7)](_0x44bd5a(0x259))}),_0x1e7e27();});}[a0_0x2a2533(0x255)](){const _0x193493=a0_0x2a2533;this[_0x193493(0x28e)][_0x193493(0x1e7)]('/api/health',async(_0x129d7b,_0x3f233c)=>{const _0x3be523=_0x193493;try{const _0x48c330=a0_0x3c242c[_0x3be523(0x20b)](__dirname,'../../package.json'),_0x519d20=JSON['parse'](await a0_0x3d1d73['readFile'](_0x48c330,'utf8'));_0x3f233c[_0x3be523(0x21b)]({'status':_0x3be523(0x256),'version':_0x519d20[_0x3be523(0x266)]||_0x3be523(0x25b),'timestamp':new Date()[_0x3be523(0x209)]()});}catch(_0x4827df){_0x3f233c[_0x3be523(0x21b)]({'status':_0x3be523(0x256),'version':'1.0.0','timestamp':new Date()['toISOString']()});}}),this['app'][_0x193493(0x2a4)](_0x193493(0x294),async(_0x3088eb,_0x4101cb)=>{const _0x44e12f=_0x193493;try{const _0xb27719='web-'+Date['now']()+'-'+Math[_0x44e12f(0x29c)]()['toString'](0x24)[_0x44e12f(0x2bd)](0x2,0x9),_0xab412d=_0x3088eb['body'][_0x44e12f(0x25a)]||process[_0x44e12f(0x244)](),_0x483ab0={'id':_0xb27719,'projectDir':_0xab412d,'createdAt':new Date()[_0x44e12f(0x209)](),'lastActivity':new Date()[_0x44e12f(0x209)]()};this[_0x44e12f(0x241)][_0x44e12f(0x1f6)](_0xb27719,_0x483ab0),_0x4101cb['json']({'success':!![],'session':_0x483ab0});}catch(_0x12f8da){_0x4101cb['status'](HTTP_STATUS[_0x44e12f(0x248)])[_0x44e12f(0x21b)]({'success':![],'error':_0x12f8da['message']});}}),this[_0x193493(0x28e)][_0x193493(0x2a4)](_0x193493(0x1fb),async(_0x2ade99,_0x2fb641)=>{const _0x3f7d65=_0x193493;try{const _0x209af6={'interface':INTERFACE_TYPES[_0x3f7d65(0x2ad)],'sessionId':_0x2ade99[_0x3f7d65(0x24a)][_0x3f7d65(0x264)],'action':_0x2ade99[_0x3f7d65(0x24a)][_0x3f7d65(0x221)],'payload':_0x2ade99['body']['payload'],'projectDir':_0x2ade99[_0x3f7d65(0x24a)][_0x3f7d65(0x25a)]||process['cwd']()},_0x4667fc=await this[_0x3f7d65(0x229)]['processRequest'](_0x209af6);this[_0x3f7d65(0x1d7)](_0x209af6['sessionId'],{'type':'orchestrator_response','action':_0x209af6['action'],'response':_0x4667fc}),_0x2fb641['json'](_0x4667fc);}catch(_0x25ce09){this[_0x3f7d65(0x276)]['error']('Orchestrator\x20API\x20error',{'error':_0x25ce09[_0x3f7d65(0x283)],'body':_0x2ade99[_0x3f7d65(0x24a)]}),_0x2fb641[_0x3f7d65(0x2a7)](HTTP_STATUS[_0x3f7d65(0x248)])[_0x3f7d65(0x21b)]({'success':![],'error':_0x25ce09[_0x3f7d65(0x283)]});}}),this[_0x193493(0x28e)][_0x193493(0x1e7)]('/api/files',async(_0x1e6f9e,_0x187096)=>{const _0x5ace26=_0x193493;try{const {path:_0x239a6b,projectDir:_0x58cc11}=_0x1e6f9e[_0x5ace26(0x2a3)],_0x7fd895=a0_0x3c242c['resolve'](_0x58cc11||process[_0x5ace26(0x244)](),_0x239a6b||'.'),_0x65de07=await a0_0x3d1d73[_0x5ace26(0x205)](_0x7fd895);if(_0x65de07['isDirectory']()){const _0x2f9154=await a0_0x3d1d73[_0x5ace26(0x1ce)](_0x7fd895,{'withFileTypes':!![]}),_0x3b560c=_0x2f9154[_0x5ace26(0x29a)](_0xcab908=>({'name':_0xcab908[_0x5ace26(0x267)],'type':_0xcab908['isDirectory']()?_0x5ace26(0x206):_0x5ace26(0x23c),'path':a0_0x3c242c['join'](_0x239a6b||'.',_0xcab908[_0x5ace26(0x267)])}));_0x187096[_0x5ace26(0x21b)]({'success':!![],'files':_0x3b560c});}else{const _0x3f1bc0=await a0_0x3d1d73['readFile'](_0x7fd895,'utf8');_0x187096['json']({'success':!![],'content':_0x3f1bc0,'type':'file'});}}catch(_0x2a66d0){_0x187096[_0x5ace26(0x2a7)](HTTP_STATUS[_0x5ace26(0x272)])['json']({'success':![],'error':_0x2a66d0[_0x5ace26(0x283)]});}}),this[_0x193493(0x28e)][_0x193493(0x2a4)](_0x193493(0x2d7),async(_0x2f68b7,_0x47b1ea)=>{const _0x49aa2f=_0x193493;try{const {fileName:_0x4554df,content:_0x49bed5,projectDir:_0x238b0a}=_0x2f68b7['body'],_0x29be4a=_0x238b0a||process['cwd'](),_0x835c10=a0_0x3c242c['resolve'](_0x29be4a,_0x4554df);await a0_0x3d1d73[_0x49aa2f(0x2c6)](_0x29be4a,{'recursive':!![]}),await a0_0x3d1d73['writeFile'](_0x835c10,_0x49bed5,_0x49aa2f(0x280)),_0x47b1ea[_0x49aa2f(0x21b)]({'success':!![],'message':'File\x20uploaded\x20successfully','path':_0x835c10});}catch(_0x724df6){_0x47b1ea[_0x49aa2f(0x2a7)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x724df6['message']});}}),this[_0x193493(0x28e)][_0x193493(0x1e7)](_0x193493(0x27d),async(_0x3cba77,_0x1233b2)=>{const _0x4cd270=_0x193493;try{const {path:_0x3225cc,showHidden:showHidden=![]}=_0x3cba77['query'],_0x541f14=_0x3225cc||process['cwd'](),_0x3c1211=a0_0x3c242c[_0x4cd270(0x1f7)](_0x541f14),_0x2af7dc=a0_0x3c242c[_0x4cd270(0x1e5)](_0x3c1211),_0x1ca615=await a0_0x3d1d73[_0x4cd270(0x205)](_0x2af7dc);if(!_0x1ca615['isDirectory']())return _0x1233b2['status'](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':_0x4cd270(0x2a2)});const _0x5e6ca4=await a0_0x3d1d73['readdir'](_0x2af7dc,{'withFileTypes':!![]}),_0xbad2ba=await Promise[_0x4cd270(0x23e)](_0x5e6ca4[_0x4cd270(0x23d)](_0x25bb36=>showHidden===_0x4cd270(0x2cb)||!_0x25bb36['name'][_0x4cd270(0x1cb)]('.'))[_0x4cd270(0x29a)](async _0x405f51=>{const _0x2a982e=_0x4cd270,_0x28bf3b=a0_0x3c242c['join'](_0x2af7dc,_0x405f51['name']),_0x10e658=await a0_0x3d1d73[_0x2a982e(0x205)](_0x28bf3b)[_0x2a982e(0x291)](()=>null);return{'name':_0x405f51[_0x2a982e(0x267)],'type':_0x405f51[_0x2a982e(0x1de)]()?_0x2a982e(0x206):'file','path':_0x28bf3b,'relativePath':a0_0x3c242c['relative'](process[_0x2a982e(0x244)](),_0x28bf3b),'size':_0x10e658?.['size']||0x0,'modified':_0x10e658?.['mtime']||null,'isHidden':_0x405f51[_0x2a982e(0x267)]['startsWith']('.'),'permissions':{'readable':!![],'writable':!![]}};}));_0xbad2ba[_0x4cd270(0x273)]((_0x49c315,_0x1e27a2)=>{const _0x51439e=_0x4cd270;if(_0x49c315[_0x51439e(0x269)]!==_0x1e27a2['type'])return _0x49c315['type']==='directory'?-0x1:0x1;return _0x49c315[_0x51439e(0x267)]['localeCompare'](_0x1e27a2['name']);});const _0x3c24a7=a0_0x3c242c['dirname'](_0x2af7dc),_0x5b6a15=_0x3c24a7!==_0x2af7dc;_0x1233b2['json']({'success':!![],'currentPath':_0x2af7dc,'currentRelativePath':a0_0x3c242c[_0x4cd270(0x29f)](process['cwd'](),_0x2af7dc),'parentPath':_0x5b6a15?_0x3c24a7:null,'items':_0xbad2ba,'totalItems':_0xbad2ba[_0x4cd270(0x1dc)],'directories':_0xbad2ba[_0x4cd270(0x23d)](_0x4c5867=>_0x4c5867[_0x4cd270(0x269)]===_0x4cd270(0x206))['length'],'files':_0xbad2ba['filter'](_0x5aa9b2=>_0x5aa9b2[_0x4cd270(0x269)]===_0x4cd270(0x23c))[_0x4cd270(0x1dc)]});}catch(_0x3015d6){_0x1233b2['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x3015d6['message'],'code':_0x3015d6['code']});}}),this[_0x193493(0x28e)]['post'](_0x193493(0x20c),async(_0x35cb0e,_0x148b6b)=>{const _0x2ecc55=_0x193493;try{const {path:_0x366119,name:_0x460a65}=_0x35cb0e[_0x2ecc55(0x24a)],_0x258db6=a0_0x3c242c[_0x2ecc55(0x1f7)](_0x366119,_0x460a65);await a0_0x3d1d73['mkdir'](_0x258db6,{'recursive':![]}),_0x148b6b['json']({'success':!![],'path':_0x258db6,'relativePath':a0_0x3c242c[_0x2ecc55(0x29f)](process[_0x2ecc55(0x244)](),_0x258db6)});}catch(_0x492117){_0x148b6b[_0x2ecc55(0x2a7)](HTTP_STATUS['INTERNAL_SERVER_ERROR'])[_0x2ecc55(0x21b)]({'success':![],'error':_0x492117[_0x2ecc55(0x283)],'code':_0x492117[_0x2ecc55(0x200)]});}}),this[_0x193493(0x28e)]['get'](_0x193493(0x214),async(_0x42d616,_0xb42255)=>{const _0x4aa119=_0x193493;try{const {path:_0x19f73d}=_0x42d616[_0x4aa119(0x2a3)],_0x63896d=a0_0x3c242c[_0x4aa119(0x1f7)](_0x19f73d),_0x2640ed=await a0_0x3d1d73[_0x4aa119(0x205)](_0x63896d);_0xb42255['json']({'success':!![],'path':_0x63896d,'relativePath':a0_0x3c242c['relative'](process[_0x4aa119(0x244)](),_0x63896d),'isDirectory':_0x2640ed[_0x4aa119(0x1de)](),'isFile':_0x2640ed['isFile'](),'size':_0x2640ed[_0x4aa119(0x25c)],'created':_0x2640ed['birthtime'],'modified':_0x2640ed['mtime'],'accessed':_0x2640ed['atime']});}catch(_0x3474b4){_0xb42255[_0x4aa119(0x2a7)](HTTP_STATUS[_0x4aa119(0x248)])[_0x4aa119(0x21b)]({'success':![],'error':_0x3474b4[_0x4aa119(0x283)],'code':_0x3474b4['code']});}}),this['app']['post']('/api/llm/chat',async(_0x13a40c,_0x58f3d4)=>{const _0x314d43=_0x193493;try{const {sessionId:_0x366431,model:_0x4304a4,platformProvided:_0xf718cd}=_0x13a40c[_0x314d43(0x24a)];if(!_0x366431)return _0x58f3d4[_0x314d43(0x2a7)](0x190)['json']({'error':'Session\x20ID\x20is\x20required'});let _0x39d7e2=null,_0x2b197f=null;if(this['apiKeyManager']){const _0x2b27d4=this['apiKeyManager']['getKeysForRequest'](_0x366431,{'platformProvided':_0xf718cd||![],'vendor':this['_getVendorFromModel'](_0x4304a4)});_0x39d7e2=_0x2b27d4[_0x314d43(0x231)],_0x2b197f=_0x2b27d4[_0x314d43(0x211)];}!_0x39d7e2&&(_0x39d7e2=this['config']['loxiaApiKey']||process[_0x314d43(0x2c0)][_0x314d43(0x28b)]);!_0x39d7e2&&_0x13a40c[_0x314d43(0x24a)][_0x314d43(0x202)]&&(_0x39d7e2=_0x13a40c[_0x314d43(0x24a)]['apiKey']);if(!_0x39d7e2)return this['logger']['warn'](_0x314d43(0x22a),{'sessionId':_0x366431,'model':_0x4304a4,'platformProvided':_0xf718cd,'hasSessionManager':!!this[_0x314d43(0x1fa)]}),_0x58f3d4['status'](0x191)['json']({'error':_0x314d43(0x234)});const _0x1e7156='https://autopilot-api.azurewebsites.net/llm/chat',_0x475e28={..._0x13a40c[_0x314d43(0x24a)],'apiKey':_0x39d7e2,..._0x2b197f&&{'vendorApiKey':_0x2b197f}},_0x37332f={'method':'POST','headers':{'Content-Type':_0x314d43(0x2c1),'Authorization':_0x314d43(0x20d)+_0x39d7e2},'body':JSON['stringify'](_0x475e28)};this[_0x314d43(0x276)]['info'](_0x314d43(0x2cf),{'url':_0x1e7156,'model':_0x13a40c['body']['model'],'hasApiKey':!!_0x39d7e2});const _0x30399b=await fetch(_0x1e7156,_0x37332f);if(_0x30399b['ok']){const _0x403430=await _0x30399b['json']();this['logger']['info']('Successfully received response from Azure backend',{'model':_0x403430['model'],'contentLength':_0x403430[_0x314d43(0x27e)]?.['length']||0x0}),_0x58f3d4[_0x314d43(0x21b)](_0x403430);}else{const _0x4dd010=await _0x30399b['text']();this['logger']['warn']('Azure\x20backend\x20chat\x20request\x20failed',{'status':_0x30399b['status'],'statusText':_0x30399b['statusText'],'error':_0x4dd010}),_0x58f3d4['status'](_0x30399b[_0x314d43(0x2a7)])['json']({'error':_0x314d43(0x245)+_0x30399b[_0x314d43(0x2a7)]+'\x20'+_0x30399b['statusText'],'details':_0x4dd010});}}catch(_0x17d9f4){this['logger'][_0x314d43(0x1e8)](_0x314d43(0x1db),{'error':_0x17d9f4[_0x314d43(0x283)],'stack':_0x17d9f4['stack']}),_0x58f3d4[_0x314d43(0x2a7)](0x1f4)['json']({'error':'Failed\x20to\x20connect\x20to\x20AI\x20service','details':_0x17d9f4[_0x314d43(0x283)]});}}),this['app']['get']('/api/llm/models',async(_0x32e8aa,_0x2e5256)=>{const _0x48b68d=_0x193493;try{const _0x49a536=_0x32e8aa[_0x48b68d(0x2b1)][_0x48b68d(0x1cd)];let _0x4e21a5=null;_0x49a536&&_0x49a536[_0x48b68d(0x1cb)]('Bearer\x20')&&(_0x4e21a5=_0x49a536['substring'](0x7));!_0x4e21a5&&(_0x4e21a5=this[_0x48b68d(0x22b)][_0x48b68d(0x231)]||process[_0x48b68d(0x2c0)]['LOXIA_API_KEY']);const _0x2cf26d=_0x48b68d(0x29e),_0x2a8c26={'method':'GET','headers':{'Content-Type':_0x48b68d(0x2c1),..._0x4e21a5&&{'Authorization':_0x48b68d(0x20d)+_0x4e21a5}}};this[_0x48b68d(0x276)]['info']('Fetching models from Loxia Azure backend',{'url':_0x2cf26d,'hasApiKey':!!_0x4e21a5});const _0x551937=await fetch(_0x2cf26d,_0x2a8c26);if(_0x551937['ok']){const _0x1aa6f3=await _0x551937[_0x48b68d(0x21b)]();this['logger']['info']('Successfully fetched models from Azure backend',{'modelCount':_0x1aa6f3[_0x48b68d(0x233)]?.['length']||0x0}),_0x2e5256['json'](_0x1aa6f3);}else{const _0x5e3e5e=await _0x551937[_0x48b68d(0x28c)]();this[_0x48b68d(0x276)]['error'](_0x48b68d(0x27c),{'status':_0x551937[_0x48b68d(0x2a7)],'statusText':_0x551937[_0x48b68d(0x263)],'error':_0x5e3e5e}),_0x2e5256['status'](_0x551937[_0x48b68d(0x2a7)])[_0x48b68d(0x21b)]({'success':![],'error':_0x48b68d(0x204)+_0x551937[_0x48b68d(0x2a7)]+'\x20'+_0x551937[_0x48b68d(0x263)],'details':_0x5e3e5e});}}catch(_0x2ddd3e){this['logger']['error']('Failed to fetch models from Azure backend - NO FALLBACK',{'error':_0x2ddd3e['message'],'stack':_0x2ddd3e['stack']}),_0x2e5256['status'](0x1f4)[_0x48b68d(0x21b)]({'success':![],'error':'Failed to fetch models from backend','details':_0x2ddd3e['message']});}}),this[_0x193493(0x28e)]['get'](_0x193493(0x235),async(_0x5418ea,_0x420ccb)=>{const _0x1b6b8f=_0x193493;try{const _0x5dce86=this['toolsRegistry'];if(!_0x5dce86)return _0x420ccb[_0x1b6b8f(0x2a7)](0x1f4)[_0x1b6b8f(0x21b)]({'error':_0x1b6b8f(0x2d6)});const _0x46c754=_0x5dce86['getAvailableToolsForUI']();this['logger'][_0x1b6b8f(0x24e)]('Serving\x20tools\x20information',{'toolCount':_0x46c754[_0x1b6b8f(0x1dc)],'tools':_0x46c754[_0x1b6b8f(0x29a)](_0x425f70=>({'id':_0x425f70['id'],'name':_0x425f70['name'],'category':_0x425f70['category']}))}),_0x420ccb[_0x1b6b8f(0x21b)]({'success':!![],'tools':_0x46c754,'total':_0x46c754[_0x1b6b8f(0x1dc)]});}catch(_0x1ef03e){this['logger'][_0x1b6b8f(0x1e8)]('Failed\x20to\x20get\x20tools\x20information',{'error':_0x1ef03e['message'],'stack':_0x1ef03e['stack']}),_0x420ccb[_0x1b6b8f(0x2a7)](0x1f4)['json']({'error':'Failed\x20to\x20retrieve\x20tools\x20information','message':_0x1ef03e['message']});}}),this[_0x193493(0x28e)]['post']('/api/keys',async(_0x1e2973,_0x17b61d)=>{const _0x143318=_0x193493;try{const {sessionId:_0x197479,loxiaApiKey:_0x21b4ae,vendorKeys:_0xdaed42}=_0x1e2973['body'];if(!_0x197479)return _0x17b61d[_0x143318(0x2a7)](0x190)[_0x143318(0x21b)]({'success':![],'error':_0x143318(0x23a)});if(!this[_0x143318(0x1fa)])return _0x17b61d[_0x143318(0x2a7)](0x1f4)[_0x143318(0x21b)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});this['apiKeyManager']['setSessionKeys'](_0x197479,{'loxiaApiKey':_0x21b4ae,'vendorKeys':_0xdaed42||{}}),this[_0x143318(0x276)]['info']('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x197479,'hasLoxiaKey':!!_0x21b4ae,'vendorKeys':Object['keys'](_0xdaed42||{})});if(this[_0x143318(0x229)]&&this['orchestrator'][_0x143318(0x2c5)]&&_0x21b4ae)try{await this['orchestrator']['modelsService']['refresh']({'sessionId':_0x197479,'apiKey':_0x21b4ae}),this['logger'][_0x143318(0x24e)](_0x143318(0x251),{'sessionId':_0x197479});}catch(_0x5c93aa){this[_0x143318(0x276)][_0x143318(0x1da)]('Failed\x20to\x20refresh\x20models\x20after\x20API\x20key\x20update',{'error':_0x5c93aa['message'],'sessionId':_0x197479});}_0x17b61d['json']({'success':!![],'message':'API\x20keys\x20updated\x20successfully','sessionId':_0x197479,'hasLoxiaKey':!!_0x21b4ae,'vendorKeys':Object['keys'](_0xdaed42||{})});}catch(_0x255b44){this['logger']['error'](_0x143318(0x250),{'error':_0x255b44['message'],'sessionId':_0x1e2973[_0x143318(0x24a)]['sessionId']}),_0x17b61d['status'](0x1f4)[_0x143318(0x21b)]({'success':![],'error':_0x255b44[_0x143318(0x283)]});}}),this[_0x193493(0x28e)]['get']('/api/keys/:sessionId',async(_0x1d8870,_0x48c44b)=>{const _0x3a4733=_0x193493;try{const {sessionId:_0x89444d}=_0x1d8870[_0x3a4733(0x2bb)];if(!this[_0x3a4733(0x1fa)])return _0x48c44b[_0x3a4733(0x2a7)](0x1f4)[_0x3a4733(0x21b)]({'success':![],'error':_0x3a4733(0x247)});const _0x2824ef=this['apiKeyManager'][_0x3a4733(0x24b)](_0x89444d);_0x48c44b['json']({'success':!![],'sessionId':_0x89444d,'hasLoxiaKey':!!_0x2824ef['loxiaApiKey'],'vendorKeys':Object[_0x3a4733(0x22c)](_0x2824ef[_0x3a4733(0x236)]||{}),'updatedAt':_0x2824ef[_0x3a4733(0x1f5)]});}catch(_0xb7b96){this[_0x3a4733(0x276)][_0x3a4733(0x1e8)]('Failed\x20to\x20get\x20API\x20key\x20status',{'error':_0xb7b96[_0x3a4733(0x283)],'sessionId':_0x1d8870[_0x3a4733(0x2bb)]['sessionId']}),_0x48c44b[_0x3a4733(0x2a7)](0x1f4)[_0x3a4733(0x21b)]({'success':![],'error':_0xb7b96['message']});}}),this['app'][_0x193493(0x227)](_0x193493(0x1d3),async(_0x57137d,_0xd7c445)=>{const _0x5819d4=_0x193493;try{const {sessionId:_0x1d3ccc}=_0x57137d[_0x5819d4(0x2bb)];if(!this[_0x5819d4(0x1fa)])return _0xd7c445[_0x5819d4(0x2a7)](0x1f4)['json']({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x8265b=this['apiKeyManager']['removeSessionKeys'](_0x1d3ccc);_0xd7c445['json']({'success':!![],'removed':_0x8265b,'message':_0x8265b?_0x5819d4(0x274):_0x5819d4(0x254)});}catch(_0x5f80d6){this['logger'][_0x5819d4(0x1e8)]('Failed\x20to\x20remove\x20API\x20keys',{'error':_0x5f80d6[_0x5819d4(0x283)],'sessionId':_0x57137d['params'][_0x5819d4(0x264)]}),_0xd7c445[_0x5819d4(0x2a7)](0x1f4)['json']({'success':![],'error':_0x5f80d6[_0x5819d4(0x283)]});}}),this[_0x193493(0x28e)]['get'](_0x193493(0x252),async(_0x22f9a9,_0x45df16)=>{const _0x552f05=_0x193493;try{if(!this['apiKeyManager'])return _0x45df16[_0x552f05(0x2a7)](0x1f4)[_0x552f05(0x21b)]({'success':![],'error':'API\x20key\x20manager\x20not\x20available'});const _0x417ea6=this[_0x552f05(0x1fa)]['getActiveSessions']();_0x45df16['json']({'success':!![],'sessions':_0x417ea6,'total':_0x417ea6['length']});}catch(_0x51f790){this['logger'][_0x552f05(0x1e8)](_0x552f05(0x292),{'error':_0x51f790['message']}),_0x45df16[_0x552f05(0x2a7)](0x1f4)['json']({'success':![],'error':_0x51f790[_0x552f05(0x283)]});}}),this['app']['post']('/api/agents/:agentId/attachments/upload',async(_0x54d9e3,_0x1c706c)=>{const _0x410edc=_0x193493;try{const {agentId:_0x287148}=_0x54d9e3['params'],{filePath:_0x3329e4,mode:_0xada5d2,fileName:_0x329154}=_0x54d9e3['body'];if(!this['orchestrator']?.[_0x410edc(0x1fc)])return _0x1c706c[_0x410edc(0x2a7)](0x1f4)[_0x410edc(0x21b)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x522f1c=await this['orchestrator'][_0x410edc(0x1fc)]['uploadFile']({'agentId':_0x287148,'filePath':_0x3329e4,'mode':_0xada5d2||'content','fileName':_0x329154});this['logger']['info'](_0x410edc(0x216),{'agentId':_0x287148,'fileId':_0x522f1c['fileId'],'fileName':_0x522f1c['fileName']}),_0x1c706c['json']({'success':!![],'attachment':_0x522f1c});}catch(_0x46979b){this['logger'][_0x410edc(0x1e8)](_0x410edc(0x28f),{'agentId':_0x54d9e3['params'][_0x410edc(0x262)],'error':_0x46979b['message']}),_0x1c706c[_0x410edc(0x2a7)](0x1f4)['json']({'success':![],'error':_0x46979b[_0x410edc(0x283)]});}}),this[_0x193493(0x28e)]['get'](_0x193493(0x21e),async(_0x189b45,_0x3f3a3b)=>{const _0x69ea71=_0x193493;try{const {agentId:_0x4dc1a9}=_0x189b45[_0x69ea71(0x2bb)],{mode:_0x352aaf,active:_0xc97334}=_0x189b45['query'];if(!this[_0x69ea71(0x229)]?.[_0x69ea71(0x1fc)])return _0x3f3a3b['status'](0x1f4)[_0x69ea71(0x21b)]({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x5f55a3={};if(_0x352aaf)_0x5f55a3['mode']=_0x352aaf;if(_0xc97334!==undefined)_0x5f55a3[_0x69ea71(0x1ed)]=_0xc97334==='true';const _0x4fe01e=await this[_0x69ea71(0x229)][_0x69ea71(0x1fc)]['getAttachments'](_0x4dc1a9,_0x5f55a3);_0x3f3a3b['json']({'success':!![],'attachments':_0x4fe01e,'total':_0x4fe01e[_0x69ea71(0x1dc)]});}catch(_0xe49e44){this[_0x69ea71(0x276)]['error'](_0x69ea71(0x1ff),{'agentId':_0x189b45[_0x69ea71(0x2bb)][_0x69ea71(0x262)],'error':_0xe49e44['message']}),_0x3f3a3b['status'](0x1f4)[_0x69ea71(0x21b)]({'success':![],'error':_0xe49e44['message']});}}),this[_0x193493(0x28e)]['get']('/api/attachments/:fileId',async(_0x5c67b5,_0x4c28b4)=>{const _0x51ea24=_0x193493;try{const {fileId:_0x1d9f61}=_0x5c67b5['params'];if(!this['orchestrator']?.['fileAttachmentService'])return _0x4c28b4['status'](0x1f4)['json']({'success':![],'error':_0x51ea24(0x21f)});const _0x3e2b5e=await this['orchestrator']['fileAttachmentService']['getAttachment'](_0x1d9f61);if(!_0x3e2b5e)return _0x4c28b4[_0x51ea24(0x2a7)](0x194)[_0x51ea24(0x21b)]({'success':![],'error':_0x51ea24(0x29d)});_0x4c28b4['json']({'success':!![],'attachment':_0x3e2b5e});}catch(_0x309137){this['logger'][_0x51ea24(0x1e8)]('Failed\x20to\x20get\x20attachment',{'fileId':_0x5c67b5['params'][_0x51ea24(0x2a9)],'error':_0x309137['message']}),_0x4c28b4['status'](0x1f4)['json']({'success':![],'error':_0x309137['message']});}}),this['app'][_0x193493(0x2d1)](_0x193493(0x2b9),async(_0x1f7c59,_0x11cf3a)=>{const _0x589439=_0x193493;try{const {fileId:_0x2cb966}=_0x1f7c59[_0x589439(0x2bb)];if(!this['orchestrator']?.['fileAttachmentService'])return _0x11cf3a['status'](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x20b008=await this['orchestrator'][_0x589439(0x1fc)][_0x589439(0x1f0)](_0x2cb966);this[_0x589439(0x276)]['info']('Attachment\x20active\x20status\x20toggled',{'fileId':_0x2cb966,'active':_0x20b008['active']}),_0x11cf3a['json']({'success':!![],'attachment':_0x20b008});}catch(_0x5d0e3e){this[_0x589439(0x276)]['error'](_0x589439(0x288),{'fileId':_0x1f7c59[_0x589439(0x2bb)][_0x589439(0x2a9)],'error':_0x5d0e3e['message']}),_0x11cf3a[_0x589439(0x2a7)](0x1f4)[_0x589439(0x21b)]({'success':![],'error':_0x5d0e3e['message']});}}),this[_0x193493(0x28e)][_0x193493(0x2d1)](_0x193493(0x1d4),async(_0x523c2f,_0x1eaa08)=>{const _0x1e0631=_0x193493;try{const {fileId:_0x41763c}=_0x523c2f['params'],{mode:_0x3fd4e3,active:_0xd1e4b3}=_0x523c2f['body'];if(!this[_0x1e0631(0x229)]?.[_0x1e0631(0x1fc)])return _0x1eaa08[_0x1e0631(0x2a7)](0x1f4)[_0x1e0631(0x21b)]({'success':![],'error':_0x1e0631(0x21f)});const _0x57baad={};if(_0x3fd4e3!==undefined)_0x57baad[_0x1e0631(0x203)]=_0x3fd4e3;if(_0xd1e4b3!==undefined)_0x57baad[_0x1e0631(0x1ed)]=_0xd1e4b3;const _0x12cd7d=await this[_0x1e0631(0x229)][_0x1e0631(0x1fc)]['updateAttachment'](_0x41763c,_0x57baad);this[_0x1e0631(0x276)]['info'](_0x1e0631(0x2ae),{'fileId':_0x41763c,'updates':_0x57baad}),_0x1eaa08['json']({'success':!![],'attachment':_0x12cd7d});}catch(_0x512198){this['logger']['error']('Failed\x20to\x20update\x20attachment',{'fileId':_0x523c2f['params'][_0x1e0631(0x2a9)],'error':_0x512198[_0x1e0631(0x283)]}),_0x1eaa08[_0x1e0631(0x2a7)](0x1f4)['json']({'success':![],'error':_0x512198[_0x1e0631(0x283)]});}}),this[_0x193493(0x28e)][_0x193493(0x227)](_0x193493(0x1d4),async(_0xf1ae86,_0x5f3625)=>{const _0x2deea2=_0x193493;try{const {fileId:_0x3e468e}=_0xf1ae86['params'],{agentId:_0x155026}=_0xf1ae86[_0x2deea2(0x2a3)];if(!_0x155026)return _0x5f3625['status'](0x190)['json']({'success':![],'error':'agentId\x20query\x20parameter\x20is\x20required'});if(!this['orchestrator']?.[_0x2deea2(0x1fc)])return _0x5f3625[_0x2deea2(0x2a7)](0x1f4)['json']({'success':![],'error':'File\x20attachment\x20service\x20not\x20available'});const _0x317c0d=await this[_0x2deea2(0x229)][_0x2deea2(0x1fc)]['deleteAttachment'](_0x3e468e,_0x155026);this['logger'][_0x2deea2(0x24e)]('Attachment\x20deleted',{'fileId':_0x3e468e,'agentId':_0x155026,'physicallyDeleted':_0x317c0d[_0x2deea2(0x1f2)]}),_0x5f3625[_0x2deea2(0x21b)]({'success':!![],'message':_0x317c0d['physicallyDeleted']?'Attachment\x20deleted':'Reference\x20removed','physicallyDeleted':_0x317c0d[_0x2deea2(0x1f2)]});}catch(_0x52b38d){this[_0x2deea2(0x276)]['error'](_0x2deea2(0x270),{'fileId':_0xf1ae86[_0x2deea2(0x2bb)][_0x2deea2(0x2a9)],'error':_0x52b38d[_0x2deea2(0x283)]}),_0x5f3625[_0x2deea2(0x2a7)](0x1f4)[_0x2deea2(0x21b)]({'success':![],'error':_0x52b38d[_0x2deea2(0x283)]});}}),this[_0x193493(0x28e)]['post']('/api/attachments/:fileId/import',async(_0x2cf659,_0x1046b9)=>{const _0x19a02e=_0x193493;try{const {fileId:_0x1a9d7f}=_0x2cf659['params'],{targetAgentId:_0x2bb45d}=_0x2cf659[_0x19a02e(0x24a)];if(!_0x2bb45d)return _0x1046b9['status'](0x190)[_0x19a02e(0x21b)]({'success':![],'error':'targetAgentId\x20is\x20required'});if(!this[_0x19a02e(0x229)]?.[_0x19a02e(0x1fc)])return _0x1046b9[_0x19a02e(0x2a7)](0x1f4)[_0x19a02e(0x21b)]({'success':![],'error':_0x19a02e(0x21f)});const _0x41fdaf=await this['orchestrator']['fileAttachmentService'][_0x19a02e(0x281)](_0x1a9d7f,_0x2bb45d);this[_0x19a02e(0x276)][_0x19a02e(0x24e)]('Attachment imported',{'fileId':_0x1a9d7f,'targetAgentId':_0x2bb45d}),_0x1046b9['json']({'success':!![],'attachment':_0x41fdaf});}catch(_0x294cf9){this[_0x19a02e(0x276)]['error']('Failed to import attachment',{'fileId':_0x2cf659[_0x19a02e(0x2bb)][_0x19a02e(0x2a9)],'error':_0x294cf9[_0x19a02e(0x283)]}),_0x1046b9[_0x19a02e(0x2a7)](0x1f4)['json']({'success':![],'error':_0x294cf9['message']});}}),this['app']['get']('/api/attachments/:fileId/preview',async(_0x43f6ac,_0x1f58bb)=>{const _0x32edd9=_0x193493;try{const {fileId:_0x357ebb}=_0x43f6ac[_0x32edd9(0x2bb)];if(!this[_0x32edd9(0x229)]?.[_0x32edd9(0x1fc)])return _0x1f58bb[_0x32edd9(0x2a7)](0x1f4)[_0x32edd9(0x21b)]({'success':![],'error':_0x32edd9(0x21f)});const _0x387a1e=await this['orchestrator']['fileAttachmentService'][_0x32edd9(0x21a)](_0x357ebb);if(!_0x387a1e)return _0x1f58bb[_0x32edd9(0x2a7)](0x194)[_0x32edd9(0x21b)]({'success':![],'error':_0x32edd9(0x29d)});_0x1f58bb[_0x32edd9(0x21b)]({'success':!![],'preview':_0x387a1e});}catch(_0x291282){this[_0x32edd9(0x276)]['error'](_0x32edd9(0x2d5),{'fileId':_0x43f6ac['params']['fileId'],'error':_0x291282['message']}),_0x1f58bb[_0x32edd9(0x2a7)](0x1f4)['json']({'success':![],'error':_0x291282['message']});}}),this[_0x193493(0x28e)][_0x193493(0x1e7)](_0x193493(0x253),async(_0x3fa90f,_0x520683)=>{const _0x471a98=_0x193493;try{const {sessionId:_0x495355,filename:_0x265906}=_0x3fa90f['params'],_0x5b37f7=this['sessions']['get'](_0x495355);if(!_0x5b37f7)return _0x520683[_0x471a98(0x2a7)](HTTP_STATUS['FORBIDDEN'])['json']({'success':![],'error':_0x471a98(0x279)});const _0x224ee5=a0_0x3c242c[_0x471a98(0x2d0)](_0x265906);if(_0x224ee5!==_0x265906||_0x265906['includes']('..')||_0x265906['includes']('/')||_0x265906[_0x471a98(0x243)]('\x5c'))return _0x520683[_0x471a98(0x2a7)](HTTP_STATUS['BAD_REQUEST'])['json']({'success':![],'error':_0x471a98(0x1d0)});let _0x17c69d=null;const _0xef8b2e=[a0_0x3c242c[_0x471a98(0x20b)](_0x5b37f7[_0x471a98(0x25a)]||process['cwd'](),'images',_0x224ee5),a0_0x3c242c[_0x471a98(0x20b)]('/tmp/loxia-images',_0x495355,_0x224ee5),a0_0x3c242c[_0x471a98(0x20b)](_0x471a98(0x258),_0x224ee5)];if(this[_0x471a98(0x229)]?.['agentPool'])try{const _0x370ca8=await this['orchestrator']['agentPool'][_0x471a98(0x25d)]();for(const _0x47f3ba of _0x370ca8){_0x47f3ba[_0x471a98(0x24c)]?.['workingDirectory']&&_0xef8b2e['push'](a0_0x3c242c['join'](_0x47f3ba['directoryAccess'][_0x471a98(0x1e6)],'images',_0x224ee5));}}catch(_0x49b444){this['logger'][_0x471a98(0x1da)]('Failed\x20to\x20get\x20agent\x20working\x20directories\x20for\x20image\x20search',{'error':_0x49b444[_0x471a98(0x283)]});}for(const _0x493900 of _0xef8b2e){try{const _0x47a8a6=await a0_0x3d1d73['stat'](_0x493900);if(_0x47a8a6[_0x471a98(0x2b6)]()){_0x17c69d=_0x493900,this['logger'][_0x471a98(0x24e)](_0x471a98(0x2a8),{'filename':_0x224ee5,'path':_0x17c69d,'sessionId':_0x495355});break;}}catch(_0x39e79d){continue;}}if(!_0x17c69d)return this['logger'][_0x471a98(0x1da)]('Image\x20not\x20found\x20in\x20any\x20search\x20path',{'filename':_0x224ee5,'sessionId':_0x495355,'searchPaths':_0xef8b2e}),_0x520683['status'](HTTP_STATUS[_0x471a98(0x272)])['json']({'success':![],'error':'Image\x20not\x20found'});_0x520683['sendFile'](_0x17c69d,_0x529e8e=>{const _0x52d54b=_0x471a98;_0x529e8e?(this['logger']['error']('Failed\x20to\x20send\x20image\x20file',{'error':_0x529e8e['message'],'imagePath':_0x17c69d,'filename':_0x224ee5}),!_0x520683[_0x52d54b(0x1e1)]&&_0x520683[_0x52d54b(0x2a7)](HTTP_STATUS[_0x52d54b(0x248)])[_0x52d54b(0x21b)]({'success':![],'error':_0x52d54b(0x2be)})):this['logger']['info'](_0x52d54b(0x22e),{'filename':_0x224ee5,'path':_0x17c69d,'sessionId':_0x495355});});}catch(_0x3541ce){this[_0x471a98(0x276)]['error'](_0x471a98(0x232),{'error':_0x3541ce['message'],'sessionId':_0x3fa90f['params'][_0x471a98(0x264)],'filename':_0x3fa90f['params'][_0x471a98(0x26e)]}),_0x520683['status'](HTTP_STATUS['INTERNAL_SERVER_ERROR'])['json']({'success':![],'error':_0x3541ce['message']});}}),this[_0x193493(0x28e)][_0x193493(0x2a4)]('/api/agents/:agentId/mode',async(_0x4f106b,_0x5136a5)=>{const _0x1b9124=_0x193493;try{const {agentId:_0xd492db}=_0x4f106b[_0x1b9124(0x2bb)],{mode:_0x180998,lockMode:lockMode=![],sessionId:_0x477063}=_0x4f106b['body'];if(!Object[_0x1b9124(0x1f3)](AGENT_MODES)['includes'](_0x180998))return _0x5136a5[_0x1b9124(0x2a7)](0x190)[_0x1b9124(0x21b)]({'success':![],'error':_0x1b9124(0x219)+Object['values'](AGENT_MODES)['join'](',\x20')});const _0x1d20c4=_0x477063||_0x4f106b['sessionID'];!_0x1d20c4&&this[_0x1b9124(0x276)][_0x1b9124(0x1da)](_0x1b9124(0x286),{'agentId':_0xd492db,'hasBodySessionId':!!_0x477063,'hasReqSessionId':!!_0x4f106b[_0x1b9124(0x295)]});const _0x5f0ae4={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x1d20c4,'action':_0x1b9124(0x1f4),'payload':{'agentId':_0xd492db,'updates':{'mode':_0x180998}}},_0x149fa8=await this['orchestrator']['processRequest'](_0x5f0ae4);if(_0x149fa8['success']){const _0xd6b6d8=_0x149fa8[_0x1b9124(0x26c)];this[_0x1b9124(0x276)][_0x1b9124(0x24e)]('Agent\x20mode\x20updated:\x20'+_0xd492db,{'newMode':_0x180998,'lockMode':lockMode,'finalMode':_0xd6b6d8?.[_0x1b9124(0x203)]}),this[_0x1b9124(0x1d7)](_0x5f0ae4['sessionId'],{'type':_0x1b9124(0x1eb),'agentId':_0xd492db,'mode':_0xd6b6d8?.['mode'],'modeState':_0xd6b6d8?.[_0x1b9124(0x228)]}),_0x5136a5[_0x1b9124(0x21b)]({'success':!![],'agent':_0xd6b6d8,'message':'Agent\x20mode\x20switched\x20to\x20'+_0xd6b6d8?.[_0x1b9124(0x203)]});}else _0x5136a5[_0x1b9124(0x2a7)](0x190)[_0x1b9124(0x21b)]({'success':![],'error':_0x149fa8[_0x1b9124(0x1e8)]||_0x1b9124(0x2cc)});}catch(_0x4035a3){this[_0x1b9124(0x276)][_0x1b9124(0x1e8)]('Failed\x20to\x20update\x20agent\x20mode',{'agentId':_0x4f106b[_0x1b9124(0x2bb)]['agentId'],'error':_0x4035a3[_0x1b9124(0x283)]}),_0x5136a5['status'](0x1f4)['json']({'success':![],'error':_0x4035a3['message']});}}),this[_0x193493(0x28e)][_0x193493(0x2a4)]('/api/agents/:agentId/stop',async(_0x314d74,_0xfe22fe)=>{const _0x189335=_0x193493;try{const {agentId:_0x332c2d}=_0x314d74['params'],_0x2a49f5=this[_0x189335(0x229)][_0x189335(0x282)];if(!_0x2a49f5)return _0xfe22fe['status'](0x1f4)[_0x189335(0x21b)]({'success':![],'error':'Message\x20processor\x20not\x20available'});const _0x5977d5=await _0x2a49f5['stopAutonomousExecution'](_0x332c2d);this[_0x189335(0x276)]['info'](_0x189335(0x2a5)+_0x332c2d);const _0x5d7ee2=_0x314d74[_0x189335(0x295)]||_0x5977d5['agent']?.[_0x189335(0x264)];_0x5d7ee2&&this[_0x189335(0x1d7)](_0x5d7ee2,{'type':_0x189335(0x1eb),'agentId':_0x332c2d,'mode':_0x5977d5['agent']?.[_0x189335(0x203)],'modeState':_0x5977d5['agent']?.['modeState']}),_0xfe22fe[_0x189335(0x21b)](_0x5977d5);}catch(_0xb7d899){this[_0x189335(0x276)][_0x189335(0x1e8)]('Failed\x20to\x20stop\x20autonomous\x20execution',{'agentId':_0x314d74[_0x189335(0x2bb)][_0x189335(0x262)],'error':_0xb7d899[_0x189335(0x283)]}),_0xfe22fe[_0x189335(0x2a7)](0x1f4)[_0x189335(0x21b)]({'success':![],'error':_0xb7d899['message']});}}),this[_0x193493(0x28e)]['get'](_0x193493(0x217),async(_0xd1d9ac,_0x220c14)=>{const _0x564532=_0x193493;try{const {agentId:_0x10db61}=_0xd1d9ac['params'],_0x20c83a={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0xd1d9ac[_0x564532(0x295)],'action':'get_agent_status','payload':{'agentId':_0x10db61}},_0x27efc5=await this['orchestrator'][_0x564532(0x278)](_0x20c83a);_0x27efc5[_0x564532(0x2ac)]&&_0x27efc5[_0x564532(0x1ef)]?_0x220c14[_0x564532(0x21b)]({'success':!![],'mode':_0x27efc5[_0x564532(0x1ef)][_0x564532(0x203)],'modeState':_0x27efc5['agent']['modeState'],'currentTask':_0x27efc5[_0x564532(0x1ef)][_0x564532(0x2b2)],'iterationCount':_0x27efc5['agent']['iterationCount'],'taskStartTime':_0x27efc5[_0x564532(0x1ef)][_0x564532(0x213)],'stopRequested':_0x27efc5['agent']['stopRequested']}):_0x220c14[_0x564532(0x2a7)](0x194)[_0x564532(0x21b)]({'success':![],'error':'Agent\x20not\x20found'});}catch(_0x3b3399){this['logger'][_0x564532(0x1e8)](_0x564532(0x297),{'agentId':_0xd1d9ac[_0x564532(0x2bb)]['agentId'],'error':_0x3b3399[_0x564532(0x283)]}),_0x220c14[_0x564532(0x2a7)](0x1f4)[_0x564532(0x21b)]({'success':![],'error':_0x3b3399[_0x564532(0x283)]});}}),this[_0x193493(0x28e)]['get'](_0x193493(0x25e),async(_0x1c5692,_0x274144)=>{const _0x3f1b0e=_0x193493;try{const _0x3e9414=this[_0x3f1b0e(0x229)][_0x3f1b0e(0x22b)][_0x3f1b0e(0x2c3)]?.[_0x3f1b0e(0x206)]||process[_0x3f1b0e(0x244)](),_0x4dabbc=await this[_0x3f1b0e(0x229)][_0x3f1b0e(0x1c8)][_0x3f1b0e(0x2b5)](_0x3e9414,this['orchestrator'][_0x3f1b0e(0x1ec)]);_0x274144['json']({'success':!![],'agents':_0x4dabbc,'total':_0x4dabbc[_0x3f1b0e(0x1dc)],'active':_0x4dabbc[_0x3f1b0e(0x23d)](_0x13331a=>_0x13331a['isLoaded'])[_0x3f1b0e(0x1dc)],'archived':_0x4dabbc[_0x3f1b0e(0x23d)](_0x571c02=>!_0x571c02['isLoaded'])[_0x3f1b0e(0x1dc)]});}catch(_0x256aac){this[_0x3f1b0e(0x276)][_0x3f1b0e(0x1e8)]('Failed\x20to\x20get\x20available\x20agents',{'error':_0x256aac[_0x3f1b0e(0x283)],'stack':_0x256aac[_0x3f1b0e(0x268)]}),_0x274144['status'](0x1f4)[_0x3f1b0e(0x21b)]({'success':![],'error':_0x256aac['message']});}}),this[_0x193493(0x28e)]['get']('/api/agents/:agentId/metadata',async(_0x23b0e1,_0x23cbe6)=>{const _0x57d59d=_0x193493;try{const {agentId:_0x2b3fb9}=_0x23b0e1['params'],_0x43289b=this['orchestrator'][_0x57d59d(0x22b)]['project']?.['directory']||process['cwd'](),_0x150566=await this['orchestrator']['stateManager']['getAgentMetadata'](_0x2b3fb9,_0x43289b);_0x23cbe6['json']({'success':!![],'metadata':_0x150566});}catch(_0x4ff69d){this['logger']['error'](_0x57d59d(0x208),{'agentId':_0x23b0e1['params']['agentId'],'error':_0x4ff69d['message']}),_0x23cbe6['status'](0x194)['json']({'success':![],'error':_0x4ff69d['message']});}}),this[_0x193493(0x28e)]['post']('/api/agents/import',async(_0x16d6c5,_0x384708)=>{const _0x1043b1=_0x193493;try{const {agentId:_0xaf7d54}=_0x16d6c5[_0x1043b1(0x24a)];if(!_0xaf7d54)return _0x384708[_0x1043b1(0x2a7)](0x190)[_0x1043b1(0x21b)]({'success':![],'error':_0x1043b1(0x20a)});const _0x8559ee=this[_0x1043b1(0x229)][_0x1043b1(0x22b)]['project']?.[_0x1043b1(0x206)]||process['cwd'](),_0x34b439=await this[_0x1043b1(0x229)]['stateManager']['importArchivedAgent'](_0xaf7d54,_0x8559ee,this[_0x1043b1(0x229)][_0x1043b1(0x1ec)]);this['wsManager']&&this['wsManager']['broadcast']({'type':'agent-imported','agent':{'id':_0x34b439['id'],'name':_0x34b439[_0x1043b1(0x267)],'status':_0x34b439[_0x1043b1(0x2a7)],'capabilities':_0x34b439['capabilities'],'model':_0x34b439[_0x1043b1(0x1d9)]||_0x34b439['preferredModel']}}),this[_0x1043b1(0x276)]['info']('Agent imported successfully',{'agentId':_0x34b439['id'],'name':_0x34b439[_0x1043b1(0x267)]}),_0x384708[_0x1043b1(0x21b)]({'success':!![],'agent':{'id':_0x34b439['id'],'name':_0x34b439['name'],'status':_0x34b439[_0x1043b1(0x2a7)],'model':_0x34b439[_0x1043b1(0x1d9)]||_0x34b439[_0x1043b1(0x26f)],'capabilities':_0x34b439[_0x1043b1(0x1e0)],'lastActivity':_0x34b439[_0x1043b1(0x298)]},'message':_0x1043b1(0x201)+_0x34b439['name']+_0x1043b1(0x1fe)});}catch(_0x49b995){this['logger'][_0x1043b1(0x1e8)]('Failed to import agent',{'agentId':_0x16d6c5[_0x1043b1(0x24a)][_0x1043b1(0x262)],'error':_0x49b995['message'],'stack':_0x49b995[_0x1043b1(0x268)]});const _0x140455=_0x49b995[_0x1043b1(0x283)]['includes']('already\x20active')?0x199:_0x49b995['message'][_0x1043b1(0x243)]('not\x20found')?0x194:_0x49b995[_0x1043b1(0x283)][_0x1043b1(0x243)](_0x1043b1(0x246))?0x190:0x1f4;_0x384708[_0x1043b1(0x2a7)](_0x140455)['json']({'success':![],'error':_0x49b995[_0x1043b1(0x283)]});}}),this['app']['get']('*',(_0x3dbccb,_0x19dc65)=>{const _0x1ff716=_0x193493,_0x26df29=a0_0x3c242c['join'](__dirname,'../../web-ui/build/index.html');_0x19dc65[_0x1ff716(0x1dd)](_0x26df29,_0x4a3222=>{const _0x3b1d8e=_0x1ff716;_0x4a3222&&_0x19dc65[_0x3b1d8e(0x2a7)](HTTP_STATUS[_0x3b1d8e(0x272)])[_0x3b1d8e(0x287)]('Web\x20UI\x20not\x20built.\x20Run:\x20npm\x20run\x20build:ui');});});}[a0_0x2a2533(0x1f9)](){const _0x3c8b6a=a0_0x2a2533;this['logger'][_0x3c8b6a(0x24e)](_0x3c8b6a(0x2b0),{'port':this[_0x3c8b6a(0x299)],'host':this[_0x3c8b6a(0x2af)],'wsServerExists':!!this['wss'],'httpServerExists':!!this['server']}),this['wss']['on']('error',_0x2c702c=>{const _0x1d5a18=_0x3c8b6a;this[_0x1d5a18(0x276)]['error'](_0x1d5a18(0x2ba),{'error':_0x2c702c[_0x1d5a18(0x283)],'stack':_0x2c702c[_0x1d5a18(0x268)],'port':this['port']});}),this['wss']['on'](_0x3c8b6a(0x2b8),()=>{const _0x528153=_0x3c8b6a;this[_0x528153(0x276)][_0x528153(0x24e)]('WebSocket\x20server\x20is\x20now\x20listening',{'port':this['port'],'host':this['host']});}),this['wss']['on']('connection',(_0x1f3fc7,_0x1b0744)=>{const _0x1fa419=_0x3c8b6a,_0x89a1ba=_0x1fa419(0x1d8)+Date[_0x1fa419(0x2d8)]()+'-'+Math[_0x1fa419(0x29c)]()['toString'](0x24)['substr'](0x2,0x9);this[_0x1fa419(0x276)][_0x1fa419(0x24e)]('WebSocket\x20connection\x20established',{'connectionId':_0x89a1ba,'ip':_0x1b0744[_0x1fa419(0x284)][_0x1fa419(0x1c9)],'origin':_0x1b0744['headers']['origin'],'host':_0x1b0744[_0x1fa419(0x2b1)][_0x1fa419(0x2af)],'userAgent':_0x1b0744[_0x1fa419(0x2b1)]['user-agent'],'url':_0x1b0744['url']});const _0x10c33d={'id':_0x89a1ba,'ws':_0x1f3fc7,'sessionId':null,'connectedAt':new Date()[_0x1fa419(0x209)](),'lastActivity':new Date()[_0x1fa419(0x209)]()};this['connections']['set'](_0x89a1ba,_0x10c33d),_0x1f3fc7['on']('message',async _0x2d8b80=>{const _0x41ff8d=_0x1fa419;try{const _0x27a6e7=JSON[_0x41ff8d(0x285)](_0x2d8b80[_0x41ff8d(0x1d1)]());await this['handleWebSocketMessage'](_0x89a1ba,_0x27a6e7);}catch(_0x3982fa){this['logger']['error']('WebSocket\x20message\x20error',{'connectionId':_0x89a1ba,'error':_0x3982fa['message']}),_0x1f3fc7['send'](JSON[_0x41ff8d(0x2c9)]({'type':_0x41ff8d(0x1e8),'error':_0x3982fa['message']}));}}),_0x1f3fc7['on']('close',()=>{const _0x342af3=_0x1fa419;this['logger']['info'](_0x342af3(0x28d),{'connectionId':_0x89a1ba}),this['connections']['delete'](_0x89a1ba);}),_0x1f3fc7[_0x1fa419(0x287)](JSON['stringify']({'type':'connected','connectionId':_0x89a1ba,'timestamp':new Date()[_0x1fa419(0x209)]()}));});}async[a0_0x2a2533(0x24f)](_0x1da41a,_0x4be1fe){const _0x1c73f0=a0_0x2a2533,_0x18fafc=this[_0x1c73f0(0x21c)]['get'](_0x1da41a);if(!_0x18fafc)return;_0x18fafc[_0x1c73f0(0x298)]=new Date()[_0x1c73f0(0x209)]();switch(_0x4be1fe[_0x1c73f0(0x269)]){case'join_session':const _0x45a7b8=_0x4be1fe['sessionId'];_0x18fafc[_0x1c73f0(0x264)]=_0x45a7b8,this['logger'][_0x1c73f0(0x24e)]('WebSocket\x20joined\x20session',{'connectionId':_0x1da41a,'sessionId':_0x45a7b8,'totalConnectionsForSession':Array['from'](this['connections']['values']())['filter'](_0x133e81=>_0x133e81[_0x1c73f0(0x264)]===_0x45a7b8)['length']}),_0x18fafc['ws'][_0x1c73f0(0x287)](JSON[_0x1c73f0(0x2c9)]({'type':'session_joined','sessionId':_0x45a7b8}));break;case _0x1c73f0(0x22f):_0x18fafc['ws']['send'](JSON['stringify']({'type':'pong','timestamp':new Date()[_0x1c73f0(0x209)]()}));break;case _0x1c73f0(0x2c8):try{const _0x2cb082={'interface':INTERFACE_TYPES['WEB'],'sessionId':_0x18fafc['sessionId'],'action':_0x4be1fe['action'],'payload':_0x4be1fe['payload'],'projectDir':_0x4be1fe['projectDir']||process['cwd']()},_0x4a5a73=await this['orchestrator']['processRequest'](_0x2cb082);_0x18fafc['ws'][_0x1c73f0(0x287)](JSON[_0x1c73f0(0x2c9)]({'type':'orchestrator_response','requestId':_0x4be1fe[_0x1c73f0(0x24d)],'response':_0x4a5a73}));}catch(_0x172be4){_0x18fafc['ws']['send'](JSON[_0x1c73f0(0x2c9)]({'type':_0x1c73f0(0x1e8),'requestId':_0x4be1fe[_0x1c73f0(0x24d)],'error':_0x172be4['message']}));}break;default:this['logger'][_0x1c73f0(0x1da)]('Unknown\x20WebSocket\x20message\x20type',{'connectionId':_0x1da41a,'type':_0x4be1fe[_0x1c73f0(0x269)]});}}['broadcastToSession'](_0x52d14b,_0x488808){const _0xcc3541=a0_0x2a2533,_0xaa3317=Array[_0xcc3541(0x218)](this[_0xcc3541(0x21c)][_0xcc3541(0x1f3)]())[_0xcc3541(0x23d)](_0x465b3c=>_0x465b3c[_0xcc3541(0x264)]===_0x52d14b);let _0x45559d=[];_0xaa3317[_0xcc3541(0x1dc)]===0x0&&(_0x45559d=Array[_0xcc3541(0x218)](this[_0xcc3541(0x21c)][_0xcc3541(0x1f3)]()),this[_0xcc3541(0x276)]?.[_0xcc3541(0x1da)]('🔄\x20No\x20connections\x20for\x20session,\x20trying\x20all\x20connections:',{'targetSessionId':_0x52d14b,'totalConnections':this[_0xcc3541(0x21c)]['size'],'allSessionIds':Array[_0xcc3541(0x218)](this[_0xcc3541(0x21c)][_0xcc3541(0x1f3)]())['map'](_0x75c4cd=>_0x75c4cd['sessionId'])['filter'](Boolean)}));const _0x170ebb=_0xaa3317[_0xcc3541(0x1dc)]>0x0?_0xaa3317:_0x45559d;this[_0xcc3541(0x276)]?.['info'](_0xcc3541(0x23f),{'sessionId':_0x52d14b,'messageType':_0x488808['type'],'agentId':_0x488808[_0xcc3541(0x262)],'totalConnections':this['connections']['size'],'sessionConnections':_0xaa3317[_0xcc3541(0x1dc)],'targetConnections':_0x170ebb[_0xcc3541(0x1dc)],'connectionIds':_0x170ebb['map'](_0x3ee9af=>_0x3ee9af['id']),'usingFallback':_0xaa3317[_0xcc3541(0x1dc)]===0x0,'messagePreview':_0x488808['type']==='autonomous_update'&&_0x488808['message']?{'messageId':_0x488808[_0xcc3541(0x283)]['id'],'messageRole':_0x488808[_0xcc3541(0x283)][_0xcc3541(0x20f)],'contentLength':_0x488808[_0xcc3541(0x283)]['content']?.[_0xcc3541(0x1dc)],'hasToolResults':!!_0x488808['message'][_0xcc3541(0x2c4)]}:undefined});for(const _0x54ccd9 of _0x170ebb){try{const _0x3c7e94={..._0x488808,'timestamp':new Date()['toISOString']()};_0x54ccd9['ws']['send'](JSON['stringify'](_0x3c7e94)),this['logger']?.['info']('✅\x20WebSocket\x20message\x20sent\x20to\x20connection:',{'connectionId':_0x54ccd9['id'],'messageType':_0x488808[_0xcc3541(0x269)],'agentId':_0x488808[_0xcc3541(0x262)]});}catch(_0x5980a1){this[_0xcc3541(0x276)]['warn']('❌\x20Failed\x20to\x20send\x20WebSocket\x20message',{'connectionId':_0x54ccd9['id'],'sessionId':_0x52d14b,'messageType':_0x488808[_0xcc3541(0x269)],'error':_0x5980a1[_0xcc3541(0x283)]});}}}async['startServer'](){return new Promise((_0xac3ed7,_0x410c41)=>{const _0x105342=a0_0x50a8;this['server'][_0x105342(0x28a)](this[_0x105342(0x299)],this['host'],_0xcca14e=>{const _0x1e2f17=_0x105342;_0xcca14e?(this[_0x1e2f17(0x276)]['error'](_0x1e2f17(0x25f),{'error':_0xcca14e[_0x1e2f17(0x283)],'port':this['port'],'host':this['host']}),_0x410c41(_0xcca14e)):(this['isRunning']=!![],this['logger']['info']('HTTP\x20server\x20started\x20successfully',{'port':this['port'],'host':this['host'],'httpUrl':_0x1e2f17(0x2d2)+this['host']+':'+this['port'],'wsUrl':_0x1e2f17(0x222)+this['host']+':'+this[_0x1e2f17(0x299)],'wsServerAttached':!!this[_0x1e2f17(0x238)],'wsConnections':this[_0x1e2f17(0x21c)][_0x1e2f17(0x25c)]}),setTimeout(async()=>{const _0x161d09=_0x1e2f17;await this[_0x161d09(0x265)]();},0x3e8),_0xac3ed7());}),this[_0x105342(0x2a6)]['on']('error',_0x5d00f8=>{const _0xf55a06=_0x105342;this['logger'][_0xf55a06(0x1e8)](_0xf55a06(0x29b),{'error':_0x5d00f8[_0xf55a06(0x283)],'stack':_0x5d00f8['stack'],'port':this['port']});});});}async[a0_0x2a2533(0x265)](){const _0x10f817=a0_0x2a2533;try{const {default:_0x3778cf}=await import('ws'),_0x416d29=new _0x3778cf(_0x10f817(0x215)+this['port']);_0x416d29['on']('open',()=>{const _0xb3455b=_0x10f817;this['logger'][_0xb3455b(0x24e)](_0xb3455b(0x2c7),{'port':this[_0xb3455b(0x299)],'url':'ws://localhost:'+this[_0xb3455b(0x299)]}),_0x416d29[_0xb3455b(0x210)]();}),_0x416d29['on']('error',_0x3a8fab=>{const _0x592a43=_0x10f817;this[_0x592a43(0x276)]['error'](_0x592a43(0x23b),{'port':this['port'],'url':'ws://localhost:'+this[_0x592a43(0x299)],'error':_0x3a8fab['message'],'code':_0x3a8fab['code']});}),_0x416d29['on'](_0x10f817(0x210),(_0x3e9083,_0x56b1d2)=>{const _0x40c987=_0x10f817;_0x3e9083===0x3e8&&this[_0x40c987(0x276)]['info'](_0x40c987(0x1e9));}),setTimeout(()=>{const _0x8ef92d=_0x10f817;_0x416d29['readyState']===_0x3778cf[_0x8ef92d(0x2b7)]&&(this[_0x8ef92d(0x276)][_0x8ef92d(0x1e8)]('❌\x20WebSocket\x20server\x20test:\x20TIMEOUT',{'port':this['port'],'url':'ws://localhost:'+this[_0x8ef92d(0x299)],'readyState':_0x416d29[_0x8ef92d(0x26d)]}),_0x416d29[_0x8ef92d(0x2b3)]());},0x1388);}catch(_0x266244){this[_0x10f817(0x276)][_0x10f817(0x1e8)](_0x10f817(0x1d5),{'error':_0x266244['message'],'stack':_0x266244['stack']});}}[a0_0x2a2533(0x1ea)](_0x4bebe9){const _0x1d67aa=a0_0x2a2533;this['apiKeyManager']=_0x4bebe9,this['logger']?.[_0x1d67aa(0x24e)]('API\x20key\x20manager\x20set\x20for\x20web\x20server',{'hasManager':!!_0x4bebe9});}[a0_0x2a2533(0x277)](_0x228236){const _0x2c8b5e=a0_0x2a2533;if(!_0x228236)return null;const _0xf3ca74=_0x228236[_0x2c8b5e(0x249)]();if(_0xf3ca74['includes'](_0x2c8b5e(0x1df))||_0xf3ca74['includes']('claude'))return _0x2c8b5e(0x1df);else{if(_0xf3ca74[_0x2c8b5e(0x243)]('openai')||_0xf3ca74['includes']('gpt'))return'openai';else{if(_0xf3ca74[_0x2c8b5e(0x243)]('deepseek'))return'deepseek';else{if(_0xf3ca74[_0x2c8b5e(0x243)](_0x2c8b5e(0x1ca)))return'microsoft';}}}return null;}[a0_0x2a2533(0x2a1)](){const _0x2ba96c=a0_0x2a2533;return{'isRunning':this[_0x2ba96c(0x230)],'port':this[_0x2ba96c(0x299)],'host':this['host'],'connections':this[_0x2ba96c(0x21c)]['size'],'sessions':this['sessions']['size'],'url':_0x2ba96c(0x2d2)+this['host']+':'+this['port']};}async['shutdown'](){const _0x4b5f58=a0_0x2a2533;if(!this[_0x4b5f58(0x230)])return;this[_0x4b5f58(0x276)]['info'](_0x4b5f58(0x225));for(const _0x14f36f of this[_0x4b5f58(0x21c)][_0x4b5f58(0x1f3)]()){_0x14f36f['ws'][_0x4b5f58(0x210)]();}return this['connections']['clear'](),this['wss']['close'](),new Promise(_0x19e87a=>{const _0x4ac62d=_0x4b5f58;this[_0x4ac62d(0x2a6)]['close'](()=>{const _0x3b1ed6=_0x4ac62d;this[_0x3b1ed6(0x230)]=![],this[_0x3b1ed6(0x276)]['info'](_0x3b1ed6(0x223)),_0x19e87a();});});}}export default WebServer;if(import.meta.url===a0_0x2a2533(0x2b4)+process['argv'][0x1]){const simpleLogger={'info':(_0x57e34d,_0x1cd690)=>console['log']('[INFO]\x20'+_0x57e34d,_0x1cd690?JSON[a0_0x2a2533(0x2c9)](_0x1cd690,null,0x2):''),'error':(_0x381475,_0x30733d)=>console['error']('[ERROR]\x20'+_0x381475,_0x30733d?JSON['stringify'](_0x30733d,null,0x2):''),'warn':(_0x2836e8,_0x1be5a0)=>console['warn'](a0_0x2a2533(0x2ca)+_0x2836e8,_0x1be5a0?JSON[a0_0x2a2533(0x2c9)](_0x1be5a0,null,0x2):''),'debug':(_0x3ae84e,_0xbbc361)=>console[a0_0x2a2533(0x1e3)]('[DEBUG]\x20'+_0x3ae84e,_0xbbc361?JSON['stringify'](_0xbbc361,null,0x2):'')},mockOrchestrator={'processAction':async(_0x1f9f91,_0x1a12d2)=>{const _0x2bc9f2=a0_0x2a2533;simpleLogger['info'](_0x2bc9f2(0x1d2),{'action':_0x1f9f91,'data':_0x1a12d2});switch(_0x1f9f91){case ORCHESTRATOR_ACTIONS[_0x2bc9f2(0x1d6)]:return{'success':!![],'data':[]};case ORCHESTRATOR_ACTIONS[_0x2bc9f2(0x2d3)]:return{'success':!![],'data':{'id':_0x2bc9f2(0x2a0)+Date['now'](),'name':_0x1a12d2['name']||'New\x20Agent','status':_0x2bc9f2(0x1ed),'model':_0x1a12d2[_0x2bc9f2(0x275)]||'anthropic-sonnet','systemPrompt':_0x1a12d2['systemPrompt']||'You\x20are\x20a\x20helpful\x20AI\x20assistant.'}};case ORCHESTRATOR_ACTIONS['SEND_MESSAGE']:return{'success':!![],'data':{'message':{'id':_0x2bc9f2(0x1f1)+Date[_0x2bc9f2(0x2d8)](),'content':_0x2bc9f2(0x1cc)+_0x1a12d2['message'],'timestamp':new Date()['toISOString']()}}};default:return{'success':![],'error':'Unknown\x20action:\x20'+_0x1f9f91};}}},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 _0x175c3c=a0_0x2a2533,_0x2aac81=server[_0x175c3c(0x2a1)]();console['log'](_0x175c3c(0x271)+_0x2aac81['url']),console[_0x175c3c(0x1e3)](_0x175c3c(0x212)),console[_0x175c3c(0x1e3)](_0x175c3c(0x1cf));})['catch'](_0x51fdc8=>{const _0x49dd37=a0_0x2a2533;console['error'](_0x49dd37(0x242),_0x51fdc8['message']),process[_0x49dd37(0x27b)](0x1);}),process['on']('SIGINT',async()=>{const _0xc8ccc=a0_0x2a2533;console[_0xc8ccc(0x1e3)]('\x0a🛑\x20Shutting\x20down\x20web\x20server...'),await server['shutdown'](),process[_0xc8ccc(0x27b)](0x0);});}
@@ -1 +1 @@
1
- const a0_0x20a724=a0_0x1896;function a0_0x1896(_0x669415,_0x2d8a56){_0x669415=_0x669415-0x1c9;const _0x257df5=a0_0x257d();let _0x189686=_0x257df5[_0x669415];if(a0_0x1896['ZJsHQR']===undefined){var _0x5d6e6d=function(_0x1bd74d){const _0x72c3ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2cf67d='',_0x3da2ed='';for(let _0x15cdaa=0x0,_0x304d69,_0xa2b902,_0x2b73e4=0x0;_0xa2b902=_0x1bd74d['charAt'](_0x2b73e4++);~_0xa2b902&&(_0x304d69=_0x15cdaa%0x4?_0x304d69*0x40+_0xa2b902:_0xa2b902,_0x15cdaa++%0x4)?_0x2cf67d+=String['fromCharCode'](0xff&_0x304d69>>(-0x2*_0x15cdaa&0x6)):0x0){_0xa2b902=_0x72c3ab['indexOf'](_0xa2b902);}for(let _0x312be7=0x0,_0x5927d2=_0x2cf67d['length'];_0x312be7<_0x5927d2;_0x312be7++){_0x3da2ed+='%'+('00'+_0x2cf67d['charCodeAt'](_0x312be7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3da2ed);};a0_0x1896['JZrHaV']=_0x5d6e6d,a0_0x1896['HmNUEj']={},a0_0x1896['ZJsHQR']=!![];}const _0x33ed22=_0x257df5[0x0],_0x16876f=_0x669415+_0x33ed22,_0x357eaa=a0_0x1896['HmNUEj'][_0x16876f];return!_0x357eaa?(_0x189686=a0_0x1896['JZrHaV'](_0x189686),a0_0x1896['HmNUEj'][_0x16876f]=_0x189686):_0x189686=_0x357eaa,_0x189686;}(function(_0x82b1ca,_0x55d59d){const _0x86b261=a0_0x1896,_0x1f461b=_0x82b1ca();while(!![]){try{const _0x4f70e5=parseInt(_0x86b261(0x1e0))/0x1*(-parseInt(_0x86b261(0x1ea))/0x2)+parseInt(_0x86b261(0x1d7))/0x3*(parseInt(_0x86b261(0x1f2))/0x4)+parseInt(_0x86b261(0x1e3))/0x5+-parseInt(_0x86b261(0x1f1))/0x6*(-parseInt(_0x86b261(0x1d2))/0x7)+-parseInt(_0x86b261(0x1f8))/0x8+parseInt(_0x86b261(0x1d8))/0x9*(parseInt(_0x86b261(0x1f6))/0xa)+parseInt(_0x86b261(0x1e5))/0xb*(-parseInt(_0x86b261(0x1d3))/0xc);if(_0x4f70e5===_0x55d59d)break;else _0x1f461b['push'](_0x1f461b['shift']());}catch(_0x1de5e0){_0x1f461b['push'](_0x1f461b['shift']());}}}(a0_0x257d,0x575bc));import{promises as a0_0x2cf67d}from'fs';import a0_0x3da2ed from'path';import a0_0x15cdaa from'os';class FileExplorerController{constructor(_0x304d69={}){const _0x1d555d=a0_0x1896;this[_0x1d555d(0x1e2)]={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x304d69};}async['getFileStats'](_0xa2b902){const _0x3b11a0=a0_0x1896;try{const _0x2b73e4=await a0_0x2cf67d[_0x3b11a0(0x1f4)](_0xa2b902);return{'stats':_0x2b73e4};}catch(_0x312be7){return{'stats':null,'error':_0x312be7 instanceof Error?_0x312be7['message']:_0x3b11a0(0x1de)};}}['isSafePath'](_0x5927d2){const _0x49a786=a0_0x1896;try{const _0x39c831=a0_0x3da2ed['resolve'](_0x5927d2);if(this['config'][_0x49a786(0x1cc)]['some'](_0x355d5c=>_0x39c831[_0x49a786(0x1d9)](a0_0x3da2ed['resolve'](_0x355d5c))))return![];return!![];}catch(_0x854fd3){return![];}}[a0_0x20a724(0x1ef)](_0x57d521,_0x1f2d1b){const _0x292bc4=a0_0x20a724;if(!this[_0x292bc4(0x1e2)]['showHidden']&&_0x57d521['startsWith']('.'))return![];if(_0x1f2d1b['isFile']()&&this['config']['allowedExtensions'][_0x292bc4(0x1f7)]>0x0){const _0x4d2268=a0_0x3da2ed[_0x292bc4(0x1e8)](_0x57d521)['toLowerCase']();if(!this['config'][_0x292bc4(0x1ca)]['includes'](_0x4d2268))return![];}return!![];}async[a0_0x20a724(0x1d1)](_0x58b06d=process[a0_0x20a724(0x1cd)](),_0x270115={}){const _0x43ba67=a0_0x20a724;try{const _0x119216=a0_0x3da2ed[_0x43ba67(0x1ce)](_0x58b06d);if(!this['isSafePath'](_0x119216))return{'success':![],'error':'Access\x20to\x20this\x20path\x20is\x20restricted'};const {stats:_0x468dd8,error:_0x5c791a}=await this[_0x43ba67(0x1db)](_0x119216);if(_0x5c791a||!_0x468dd8)return{'success':![],'error':_0x43ba67(0x1cb)};if(!_0x468dd8['isDirectory']())return{'success':![],'error':_0x43ba67(0x1dd)};const _0x27f33e=await a0_0x2cf67d['readdir'](_0x119216),_0x8ff083=[];for(const _0x20723b of _0x27f33e){const _0x173b6f=a0_0x3da2ed['join'](_0x119216,_0x20723b),{stats:_0x2702d3}=await this['getFileStats'](_0x173b6f);if(_0x2702d3&&this[_0x43ba67(0x1ef)](_0x20723b,_0x2702d3)){const _0x3bba84={'name':_0x20723b,'path':_0x173b6f,'type':_0x2702d3[_0x43ba67(0x1ec)]()?_0x43ba67(0x1eb):'file','size':_0x2702d3['isFile']()?_0x2702d3['size']:undefined,'lastModified':_0x2702d3['mtime'],'extension':_0x2702d3[_0x43ba67(0x1e4)]()?a0_0x3da2ed['extname'](_0x20723b)['toLowerCase']():undefined};_0x8ff083[_0x43ba67(0x1cf)](_0x3bba84);}}_0x8ff083[_0x43ba67(0x1da)]((_0x29b001,_0x304acb)=>{const _0x2fa016=_0x43ba67;if(_0x29b001[_0x2fa016(0x1e9)]===_0x304acb[_0x2fa016(0x1e9)])return _0x29b001[_0x2fa016(0x1d4)]['localeCompare'](_0x304acb['name']);return _0x29b001['type']==='directory'?-0x1:0x1;});const _0x49ad7f=a0_0x3da2ed[_0x43ba67(0x1f0)](_0x119216),_0x4aec49=_0x49ad7f!==_0x119216;return{'success':!![],'data':{'currentPath':_0x119216,'parentPath':_0x4aec49?_0x49ad7f:null,'items':_0x8ff083,'totalItems':_0x8ff083['length'],'directories':_0x8ff083[_0x43ba67(0x1dc)](_0x56b10a=>_0x56b10a['type']===_0x43ba67(0x1eb))[_0x43ba67(0x1f7)],'files':_0x8ff083[_0x43ba67(0x1dc)](_0x526ed4=>_0x526ed4[_0x43ba67(0x1e9)]==='file')['length']}};}catch(_0x651d2d){return{'success':![],'error':_0x651d2d instanceof Error?_0x651d2d['message']:_0x43ba67(0x1f3)};}}async[a0_0x20a724(0x1e6)](_0x17d2f0){const _0x57a69a=a0_0x20a724;try{if(!_0x17d2f0||!this['isSafePath'](_0x17d2f0))return{'success':![],'error':_0x57a69a(0x1d5)};const {stats:_0x3a74a9,error:_0x309bfa}=await this[_0x57a69a(0x1db)](_0x17d2f0);if(_0x309bfa||!_0x3a74a9)return{'success':![],'error':_0x57a69a(0x1df)};const _0x452b47={'name':a0_0x3da2ed['basename'](_0x17d2f0),'path':_0x17d2f0,'type':_0x3a74a9['isDirectory']()?'directory':'file','size':_0x3a74a9[_0x57a69a(0x1e4)]()?_0x3a74a9['size']:undefined,'lastModified':_0x3a74a9[_0x57a69a(0x1ee)],'extension':_0x3a74a9[_0x57a69a(0x1e4)]()?a0_0x3da2ed['extname'](_0x17d2f0)[_0x57a69a(0x1e1)]():undefined};return{'success':!![],'data':_0x452b47};}catch(_0x286611){return{'success':![],'error':_0x286611 instanceof Error?_0x286611[_0x57a69a(0x1e7)]:_0x57a69a(0x1f3)};}}['getCurrentWorkingDirectory'](){const _0x179538=a0_0x20a724;return{'success':!![],'data':{'cwd':process[_0x179538(0x1cd)](),'platform':process['platform'],'homedir':a0_0x15cdaa['homedir']()}};}async['createDirectory'](_0xf1a5ce,_0x4ef93b={}){const _0x32cc9c=a0_0x20a724;try{if(!this[_0x32cc9c(0x1d6)](_0xf1a5ce))return{'success':![],'error':_0x32cc9c(0x1c9)};return await a0_0x2cf67d['mkdir'](_0xf1a5ce,{'recursive':_0x4ef93b['recursive']||![]}),{'success':!![],'data':{'path':_0xf1a5ce,'relativePath':a0_0x3da2ed['relative'](process[_0x32cc9c(0x1cd)](),_0xf1a5ce)}};}catch(_0x4690cf){return{'success':![],'error':_0x4690cf instanceof Error?_0x4690cf['message']:_0x32cc9c(0x1ed),'code':_0x4690cf['code']};}}[a0_0x20a724(0x1d0)](){const _0x5de782=a0_0x20a724;return{'success':!![],'data':{'status':'healthy','timestamp':new Date()[_0x5de782(0x1f5)](),'module':'fileExplorer'}};}}export default FileExplorerController;function a0_0x257d(){const _0x6d7276=['BMfTzq','sw52ywXPzcbMAwXLihbHDgG','AxntywzLugf0Aa','m3z3s1ftsa','ntaWnJe3oe5ZCK1AuW','C3rHCNrZv2L0Aa','C29YDa','z2v0rMLSzvn0yxrZ','zMLSDgvY','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','vw5RBM93BIbLCNjVCG','rMLSzsbUB3qGzM91BMq','mtm3odmXyNrrA0vS','Dg9mB3DLCKnHC2u','y29UzMLN','mtC5mdmWnw5jALDpva','AxngAwXL','mJjLC1boEKm','z2v0rMLSzuLUzM8','BwvZC2fNzq','zxH0BMfTzq','DhLWzq','mLveqKDztG','zgLYzwn0B3j5','AxneAxjLy3rVCNK','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNK','BxrPBwu','C2HVDwXKsw5JBhvKzuL0zw0','zgLYBMfTzq','nJK5mdm2uervyNPy','mty2mtm0offtwuvYEG','u2vYDMvYigvYCM9Y','C3rHDa','Dg9ju09tDhjPBMC','mtbdv253Awm','BgvUz3rO','ndm0ntC2ogjMshH0BW','sw52ywXPzcbKAxjLy3rVCNKGCgf0Aa','ywXSB3DLzev4DgvUC2LVBNm','ugf0AcbUB3qGzM91BMqGB3iGAw5Hy2nLC3nPyMXL','CMvZDhjPy3rLzfbHDgHZ','y3DK','CMvZB2X2zq','ChvZAa','AgvHBhrOq2HLy2S','yNjVD3nLrgLYzwn0B3j5','mtrTq2XWDwS','mZe0mJy4merVwgHtDq'];a0_0x257d=function(){return _0x6d7276;};return a0_0x257d();}
1
+ const a0_0x118dbe=a0_0x18f6;(function(_0x9f4d4c,_0x54504a){const _0x134e0e=a0_0x18f6,_0x2db26d=_0x9f4d4c();while(!![]){try{const _0x2674bd=-parseInt(_0x134e0e(0x7e))/0x1+-parseInt(_0x134e0e(0x70))/0x2*(parseInt(_0x134e0e(0x8c))/0x3)+-parseInt(_0x134e0e(0x9d))/0x4+-parseInt(_0x134e0e(0x99))/0x5*(-parseInt(_0x134e0e(0x90))/0x6)+parseInt(_0x134e0e(0x73))/0x7+-parseInt(_0x134e0e(0x94))/0x8+parseInt(_0x134e0e(0x80))/0x9*(parseInt(_0x134e0e(0x95))/0xa);if(_0x2674bd===_0x54504a)break;else _0x2db26d['push'](_0x2db26d['shift']());}catch(_0x56e345){_0x2db26d['push'](_0x2db26d['shift']());}}}(a0_0x20a4,0xbae69));function a0_0x20a4(){const _0xe24d96=['CMvZB2X2zq','nLDMwMDlBa','zMLSzq','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','rMLSzsbUB3qGzM91BMq','nNvjr1zTwG','y3DK','y29Kzq','C2L6zq','nJuWmZG5nMXiuK1QAG','mtbcqLH3wKS','AgvHBhrOEq','BxrPBwu','y29UzMLN','nde3mtCZnxbZAxv3DG','zxH0BMfTzq','ywXSB3DLzev4DgvUC2LVBNm','Dg9ju09tDhjPBMC','mJiYmJi2mgrrwhvdvW','vw5RBM93BIbLCNjVCG','zMLSDgvY','CMvJDxjZAxzL','odu1mtmWqLDttK14','ugf0AcbUB3qGzM91BMqGB3iGAw5Hy2nLC3nPyMXL','C29Tzq','nZK1ndGYmwLwBM9ICq','BgvUz3rO','BwvZC2fNzq','DhLWzq','yMfZzw5HBwu','CMvHzgrPCG','z2v0rMLSzvn0yxrZ','AxneAxjLy3rVCNK','sw52ywXPzcbKAxjLy3rVCNKGCgf0Aa','ugf0AcbPCYbUB3qGysbKAxjLy3rVCNK','AxntywzLugf0Aa','mti5ode3mKzcrKHHrq','C3rHCNrZv2L0Aa','mJa4ndK4ndfdqvLyCee','zgLYzwn0B3j5','rMfPBgvKihrVignYzwf0zsbKAxjLy3rVCNK','AM9PBG','Bg9JywXLq29TCgfYzq','Dg9mB3DLCKnHC2u','CgXHDgzVCM0','ChvZAa','AxngAwXL','sw52ywXPzcbMAwXLihbHDgG','AgvHBhrOq2HLy2S'];a0_0x20a4=function(){return _0xe24d96;};return a0_0x20a4();}function a0_0x18f6(_0x3a3a1f,_0x5af118){_0x3a3a1f=_0x3a3a1f-0x6d;const _0x20a4f8=a0_0x20a4();let _0x18f6c5=_0x20a4f8[_0x3a3a1f];if(a0_0x18f6['tkSjOd']===undefined){var _0x279488=function(_0xe2c021){const _0x351852='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5434dd='',_0x128136='';for(let _0x1a5d22=0x0,_0x400679,_0x2816bf,_0x5a6bca=0x0;_0x2816bf=_0xe2c021['charAt'](_0x5a6bca++);~_0x2816bf&&(_0x400679=_0x1a5d22%0x4?_0x400679*0x40+_0x2816bf:_0x2816bf,_0x1a5d22++%0x4)?_0x5434dd+=String['fromCharCode'](0xff&_0x400679>>(-0x2*_0x1a5d22&0x6)):0x0){_0x2816bf=_0x351852['indexOf'](_0x2816bf);}for(let _0x15db12=0x0,_0x3b7edf=_0x5434dd['length'];_0x15db12<_0x3b7edf;_0x15db12++){_0x128136+='%'+('00'+_0x5434dd['charCodeAt'](_0x15db12)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x128136);};a0_0x18f6['CddSsa']=_0x279488,a0_0x18f6['aknsDg']={},a0_0x18f6['tkSjOd']=!![];}const _0x24b7db=_0x20a4f8[0x0],_0x228c3d=_0x3a3a1f+_0x24b7db,_0x33eca3=a0_0x18f6['aknsDg'][_0x228c3d];return!_0x33eca3?(_0x18f6c5=a0_0x18f6['CddSsa'](_0x18f6c5),a0_0x18f6['aknsDg'][_0x228c3d]=_0x18f6c5):_0x18f6c5=_0x33eca3,_0x18f6c5;}import{promises as a0_0x5434dd}from'fs';import a0_0x128136 from'path';import a0_0x1a5d22 from'os';class FileExplorerController{constructor(_0x400679={}){this['config']={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[],..._0x400679};}async[a0_0x118dbe(0x79)](_0x2816bf){const _0x52d2f4=a0_0x118dbe;try{const _0x5a6bca=await a0_0x5434dd['stat'](_0x2816bf);return{'stats':_0x5a6bca};}catch(_0x15db12){return{'stats':null,'error':_0x15db12 instanceof Error?_0x15db12[_0x52d2f4(0x75)]:_0x52d2f4(0x6d)};}}['isSafePath'](_0x3b7edf){const _0x4122ab=a0_0x118dbe;try{const _0x431e01=a0_0x128136['resolve'](_0x3b7edf);if(this[_0x4122ab(0x98)]['restrictedPaths'][_0x4122ab(0x72)](_0xe8d8c0=>_0x431e01['startsWith'](a0_0x128136[_0x4122ab(0x8b)](_0xe8d8c0))))return![];return!![];}catch(_0x13d2ec){return![];}}['shouldIncludeItem'](_0x1addaa,_0x346658){const _0x215893=a0_0x118dbe;if(!this['config']['showHidden']&&_0x1addaa[_0x215893(0x7f)]('.'))return![];if(_0x346658['isFile']()&&this['config']['allowedExtensions']['length']>0x0){const _0x524b4d=a0_0x128136[_0x215893(0x9a)](_0x1addaa)[_0x215893(0x85)]();if(!this['config'][_0x215893(0x9b)]['includes'](_0x524b4d))return![];}return!![];}async['browseDirectory'](_0xb74d9=process[a0_0x118dbe(0x91)](),_0xbb61c0={}){const _0x2e2417=a0_0x118dbe;try{const _0x1d3214=a0_0x128136[_0x2e2417(0x8b)](_0xb74d9);if(!this[_0x2e2417(0x7d)](_0x1d3214))return{'success':![],'error':'Access\x20to\x20this\x20path\x20is\x20restricted'};const {stats:_0x3bbb62,error:_0x1d49bd}=await this[_0x2e2417(0x79)](_0x1d3214);if(_0x1d49bd||!_0x3bbb62)return{'success':![],'error':_0x2e2417(0x71)};if(!_0x3bbb62['isDirectory']())return{'success':![],'error':_0x2e2417(0x7c)};const _0x9a50d1=await a0_0x5434dd[_0x2e2417(0x78)](_0x1d3214),_0x4dd66b=[];for(const _0xb3f0ee of _0x9a50d1){const _0x1497d6=a0_0x128136[_0x2e2417(0x83)](_0x1d3214,_0xb3f0ee),{stats:_0x3184f2}=await this[_0x2e2417(0x79)](_0x1497d6);if(_0x3184f2&&this['shouldIncludeItem'](_0xb3f0ee,_0x3184f2)){const _0x288895={'name':_0xb3f0ee,'path':_0x1497d6,'type':_0x3184f2[_0x2e2417(0x7a)]()?_0x2e2417(0x81):_0x2e2417(0x8d),'size':_0x3184f2['isFile']()?_0x3184f2[_0x2e2417(0x93)]:undefined,'lastModified':_0x3184f2['mtime'],'extension':_0x3184f2[_0x2e2417(0x88)]()?a0_0x128136['extname'](_0xb3f0ee)['toLowerCase']():undefined};_0x4dd66b[_0x2e2417(0x87)](_0x288895);}}_0x4dd66b['sort']((_0x1a59d3,_0x37aeb5)=>{const _0x402859=_0x2e2417;if(_0x1a59d3['type']===_0x37aeb5['type'])return _0x1a59d3['name'][_0x402859(0x84)](_0x37aeb5['name']);return _0x1a59d3['type']==='directory'?-0x1:0x1;});const _0x1fa2ea=a0_0x128136['dirname'](_0x1d3214),_0x1b60db=_0x1fa2ea!==_0x1d3214;return{'success':!![],'data':{'currentPath':_0x1d3214,'parentPath':_0x1b60db?_0x1fa2ea:null,'items':_0x4dd66b,'totalItems':_0x4dd66b['length'],'directories':_0x4dd66b[_0x2e2417(0x6e)](_0x205e13=>_0x205e13['type']==='directory')[_0x2e2417(0x74)],'files':_0x4dd66b[_0x2e2417(0x6e)](_0x1759e6=>_0x1759e6[_0x2e2417(0x76)]===_0x2e2417(0x8d))[_0x2e2417(0x74)]}};}catch(_0x26753d){return{'success':![],'error':_0x26753d instanceof Error?_0x26753d[_0x2e2417(0x75)]:'Server\x20error'};}}async['getFileInfo'](_0x115483){const _0x2cc2f1=a0_0x118dbe;try{if(!_0x115483||!this['isSafePath'](_0x115483))return{'success':![],'error':_0x2cc2f1(0x89)};const {stats:_0xedbd4e,error:_0x3d9977}=await this[_0x2cc2f1(0x79)](_0x115483);if(_0x3d9977||!_0xedbd4e)return{'success':![],'error':_0x2cc2f1(0x8f)};const _0x4353e4={'name':a0_0x128136[_0x2cc2f1(0x77)](_0x115483),'path':_0x115483,'type':_0xedbd4e['isDirectory']()?_0x2cc2f1(0x81):'file','size':_0xedbd4e['isFile']()?_0xedbd4e['size']:undefined,'lastModified':_0xedbd4e[_0x2cc2f1(0x97)],'extension':_0xedbd4e['isFile']()?a0_0x128136['extname'](_0x115483)[_0x2cc2f1(0x85)]():undefined};return{'success':!![],'data':_0x4353e4};}catch(_0x4354c1){return{'success':![],'error':_0x4354c1 instanceof Error?_0x4354c1['message']:'Server\x20error'};}}[a0_0x118dbe(0x8e)](){const _0x27e57b=a0_0x118dbe;return{'success':!![],'data':{'cwd':process[_0x27e57b(0x91)](),'platform':process[_0x27e57b(0x86)],'homedir':a0_0x1a5d22['homedir']()}};}async['createDirectory'](_0x148242,_0x330878={}){const _0x28bc1d=a0_0x118dbe;try{if(!this['isSafePath'](_0x148242))return{'success':![],'error':_0x28bc1d(0x7b)};return await a0_0x5434dd['mkdir'](_0x148242,{'recursive':_0x330878[_0x28bc1d(0x6f)]||![]}),{'success':!![],'data':{'path':_0x148242,'relativePath':a0_0x128136['relative'](process['cwd'](),_0x148242)}};}catch(_0x36929d){return{'success':![],'error':_0x36929d instanceof Error?_0x36929d['message']:_0x28bc1d(0x82),'code':_0x36929d[_0x28bc1d(0x92)]};}}[a0_0x118dbe(0x8a)](){const _0x5e5795=a0_0x118dbe;return{'success':!![],'data':{'status':_0x5e5795(0x96),'timestamp':new Date()[_0x5e5795(0x9c)](),'module':'fileExplorer'}};}}export default FileExplorerController;
@@ -1 +1 @@
1
- function a0_0x5dd5(_0x1153b3,_0x1332b0){_0x1153b3=_0x1153b3-0xf0;const _0x2a34e6=a0_0x2a34();let _0x5dd573=_0x2a34e6[_0x1153b3];if(a0_0x5dd5['FkaUvi']===undefined){var _0x3006b1=function(_0x43d54a){const _0x54b144='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1aaba2='',_0x5a55f1='';for(let _0xea048a=0x0,_0x5b1e8f,_0x55b985,_0x451667=0x0;_0x55b985=_0x43d54a['charAt'](_0x451667++);~_0x55b985&&(_0x5b1e8f=_0xea048a%0x4?_0x5b1e8f*0x40+_0x55b985:_0x55b985,_0xea048a++%0x4)?_0x1aaba2+=String['fromCharCode'](0xff&_0x5b1e8f>>(-0x2*_0xea048a&0x6)):0x0){_0x55b985=_0x54b144['indexOf'](_0x55b985);}for(let _0x3f1ce2=0x0,_0x360126=_0x1aaba2['length'];_0x3f1ce2<_0x360126;_0x3f1ce2++){_0x5a55f1+='%'+('00'+_0x1aaba2['charCodeAt'](_0x3f1ce2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a55f1);};a0_0x5dd5['VelBsQ']=_0x3006b1,a0_0x5dd5['xvbVxz']={},a0_0x5dd5['FkaUvi']=!![];}const _0x25ee37=_0x2a34e6[0x0],_0x11befe=_0x1153b3+_0x25ee37,_0x42cff9=a0_0x5dd5['xvbVxz'][_0x11befe];return!_0x42cff9?(_0x5dd573=a0_0x5dd5['VelBsQ'](_0x5dd573),a0_0x5dd5['xvbVxz'][_0x11befe]=_0x5dd573):_0x5dd573=_0x42cff9,_0x5dd573;}(function(_0x4e6c8d,_0x585eac){const _0x224548=a0_0x5dd5,_0x5ccf9d=_0x4e6c8d();while(!![]){try{const _0x2e2cce=parseInt(_0x224548(0xf4))/0x1+parseInt(_0x224548(0xf3))/0x2*(parseInt(_0x224548(0xfa))/0x3)+parseInt(_0x224548(0xf9))/0x4*(parseInt(_0x224548(0xf0))/0x5)+parseInt(_0x224548(0xf7))/0x6+parseInt(_0x224548(0xf6))/0x7*(-parseInt(_0x224548(0xf2))/0x8)+-parseInt(_0x224548(0xf5))/0x9*(parseInt(_0x224548(0xf8))/0xa)+-parseInt(_0x224548(0xf1))/0xb;if(_0x2e2cce===_0x585eac)break;else _0x5ccf9d['push'](_0x5ccf9d['shift']());}catch(_0x44abab){_0x5ccf9d['push'](_0x5ccf9d['shift']());}}}(a0_0x2a34,0xb795f));import{createFileExplorerRouter,defaultConfig}from'./routes.js';function a0_0x2a34(){const _0x2a9f6d=['mJHmBxnjCMW','mJm5mdDKre1brxy','otq2odu1vwTcv0fq','nZu1nda1mMPIquf3wG','mZi4zLroq1PT','ntbpqvnMq1y','ndG2nti5vKT5AuvT','ndmYEKT0yNPv','mtK4mtq5CK1dEuDQ','ndCXnZyYnMfHDwfoqq','ndeZmJb6qvvXrve'];a0_0x2a34=function(){return _0x2a9f6d;};return a0_0x2a34();}import a0_0x1aaba2 from'./controller.js';export function initFileExplorerModule(_0x5a55f1={}){const _0xea048a={...defaultConfig,..._0x5a55f1},_0x5b1e8f=createFileExplorerRouter(_0xea048a),_0x55b985=new a0_0x1aaba2(_0xea048a);return{'router':_0x5b1e8f,'controller':_0x55b985,'config':_0xea048a};}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x1aaba2,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
1
+ (function(_0x5f4145,_0x57f985){const _0x44b275=a0_0x4d7d,_0x22a090=_0x5f4145();while(!![]){try{const _0x1d1971=parseInt(_0x44b275(0xa5))/0x1+-parseInt(_0x44b275(0xa8))/0x2+parseInt(_0x44b275(0xa4))/0x3+parseInt(_0x44b275(0xa9))/0x4+-parseInt(_0x44b275(0xa6))/0x5+-parseInt(_0x44b275(0xa7))/0x6+-parseInt(_0x44b275(0xa3))/0x7;if(_0x1d1971===_0x57f985)break;else _0x22a090['push'](_0x22a090['shift']());}catch(_0x252563){_0x22a090['push'](_0x22a090['shift']());}}}(a0_0x1d57,0x261a8));import{createFileExplorerRouter,defaultConfig}from'./routes.js';import a0_0x20e282 from'./controller.js';export function initFileExplorerModule(_0x495686={}){const _0x1ced1a={...defaultConfig,..._0x495686},_0x22c43b=createFileExplorerRouter(_0x1ced1a),_0x468322=new a0_0x20e282(_0x1ced1a);return{'router':_0x22c43b,'controller':_0x468322,'config':_0x1ced1a};}function a0_0x4d7d(_0x3ec03b,_0x11f3bd){_0x3ec03b=_0x3ec03b-0xa3;const _0x1d57fc=a0_0x1d57();let _0x4d7d5a=_0x1d57fc[_0x3ec03b];if(a0_0x4d7d['UuIhOv']===undefined){var _0x1f79df=function(_0x466a52){const _0x20cde0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20e282='',_0x495686='';for(let _0x1ced1a=0x0,_0x22c43b,_0x468322,_0x5f35c2=0x0;_0x468322=_0x466a52['charAt'](_0x5f35c2++);~_0x468322&&(_0x22c43b=_0x1ced1a%0x4?_0x22c43b*0x40+_0x468322:_0x468322,_0x1ced1a++%0x4)?_0x20e282+=String['fromCharCode'](0xff&_0x22c43b>>(-0x2*_0x1ced1a&0x6)):0x0){_0x468322=_0x20cde0['indexOf'](_0x468322);}for(let _0x5de690=0x0,_0x1518de=_0x20e282['length'];_0x5de690<_0x1518de;_0x5de690++){_0x495686+='%'+('00'+_0x20e282['charCodeAt'](_0x5de690)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x495686);};a0_0x4d7d['muVlIw']=_0x1f79df,a0_0x4d7d['WXJNIc']={},a0_0x4d7d['UuIhOv']=!![];}const _0x580303=_0x1d57fc[0x0],_0x593781=_0x3ec03b+_0x580303,_0x5463d0=a0_0x4d7d['WXJNIc'][_0x593781];return!_0x5463d0?(_0x4d7d5a=a0_0x4d7d['muVlIw'](_0x4d7d5a),a0_0x4d7d['WXJNIc'][_0x593781]=_0x4d7d5a):_0x4d7d5a=_0x5463d0,_0x4d7d5a;}function a0_0x1d57(){const _0x31e9cf=['nJyXndG4EK5Nr2Lh','mZaYntqYz0fIyNv5','ndm0odbvr0Tntvi','mZi0mtHmBwPJrKO','mZq4mtC2u0zmDvDx','odyZmtG0uxDPDKjd','mJC2mJaYnvHrCNPvAW'];a0_0x1d57=function(){return _0x31e9cf;};return a0_0x1d57();}export{default as FileExplorerController}from'./controller.js';export{createFileExplorerRouter,defaultConfig}from'./routes.js';export*from'./middleware.js';export default{'init':initFileExplorerModule,'Controller':a0_0x20e282,'createRouter':createFileExplorerRouter,'defaultConfig':defaultConfig};
@@ -1 +1 @@
1
- function a0_0x2ec6(){const _0x4675ff=['zMLUAxnO','mteXmdmXovnkr2PvAW','ntriwuXeA0e','B3jPz2LUywXvCMW','ic0G','odvuBgL1wge','zMLSDgvY','mJC0mZuWogDUy1PQAa','Dw5RBM93BG','mtzRCLPvrfe','ANnVBG','BM8Ty2fJAgu','z2v0','ChvZAa','mZK1mtmYmvvQtenJuq','mZq4mJG4m2HftKzLsG','mJm0ndj4q3jqBKe','vg9Vig1HBNKGCMvXDwvZDhm','nxPOAhbkvW','C3rYAw5N','Bg9N','mZqXyuzquKP6','ndm3mJyWrNzyvgvj','C3rHDhvZ','CMvTB3rLqwrKCMvZCW','BM93','mteWodG5nMrWt0D4Aq','Bwv0Ag9K','C3rHDhvZq29Kzq','BM8Ty2fJAguSig5Vlxn0B3jLlcbTDxn0lxjLDMfSAwrHDgu','C2v0','mJCZrwz0t0fm'];a0_0x2ec6=function(){return _0x4675ff;};return a0_0x2ec6();}(function(_0x3653e4,_0x5cf538){const _0x683183=a0_0x39fb,_0x4833fc=_0x3653e4();while(!![]){try{const _0x134b71=-parseInt(_0x683183(0x8f))/0x1*(parseInt(_0x683183(0x9a))/0x2)+parseInt(_0x683183(0x98))/0x3+-parseInt(_0x683183(0x91))/0x4*(-parseInt(_0x683183(0x9c))/0x5)+-parseInt(_0x683183(0x8c))/0x6*(parseInt(_0x683183(0x8b))/0x7)+parseInt(_0x683183(0x93))/0x8*(parseInt(_0x683183(0x99))/0x9)+parseInt(_0x683183(0xa0))/0xa*(-parseInt(_0x683183(0x9f))/0xb)+parseInt(_0x683183(0xa4))/0xc*(parseInt(_0x683183(0xa9))/0xd);if(_0x134b71===_0x5cf538)break;else _0x4833fc['push'](_0x4833fc['shift']());}catch(_0x56b96e){_0x4833fc['push'](_0x4833fc['shift']());}}}(a0_0x2ec6,0xe50c6));function a0_0x39fb(_0x3441b6,_0x4e7267){_0x3441b6=_0x3441b6-0x8a;const _0x2ec611=a0_0x2ec6();let _0x39fbb8=_0x2ec611[_0x3441b6];if(a0_0x39fb['wESSqA']===undefined){var _0x2d05a7=function(_0x3bd3bd){const _0x4b9a8a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36effb='',_0x373ad0='';for(let _0x3da43e=0x0,_0x1466b6,_0xcdbaa0,_0x49b807=0x0;_0xcdbaa0=_0x3bd3bd['charAt'](_0x49b807++);~_0xcdbaa0&&(_0x1466b6=_0x3da43e%0x4?_0x1466b6*0x40+_0xcdbaa0:_0xcdbaa0,_0x3da43e++%0x4)?_0x36effb+=String['fromCharCode'](0xff&_0x1466b6>>(-0x2*_0x3da43e&0x6)):0x0){_0xcdbaa0=_0x4b9a8a['indexOf'](_0xcdbaa0);}for(let _0x4b84fd=0x0,_0x1b5524=_0x36effb['length'];_0x4b84fd<_0x1b5524;_0x4b84fd++){_0x373ad0+='%'+('00'+_0x36effb['charCodeAt'](_0x4b84fd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x373ad0);};a0_0x39fb['UenXNT']=_0x2d05a7,a0_0x39fb['dltKDu']={},a0_0x39fb['wESSqA']=!![];}const _0x1fec56=_0x2ec611[0x0],_0xdc94c9=_0x3441b6+_0x1fec56,_0x4fbec1=a0_0x39fb['dltKDu'][_0xdc94c9];return!_0x4fbec1?(_0x39fbb8=a0_0x39fb['UenXNT'](_0x39fbb8),a0_0x39fb['dltKDu'][_0xdc94c9]=_0x39fbb8):_0x39fbb8=_0x4fbec1,_0x39fbb8;}export function validatePath(_0x36effb,_0x373ad0,_0x3da43e){const _0x16c8c3=a0_0x39fb,{path:_0x1466b6}=_0x36effb['query'];if(_0x1466b6&&typeof _0x1466b6!==_0x16c8c3(0x9d))return _0x373ad0[_0x16c8c3(0xa1)](0x190)[_0x16c8c3(0x94)]({'success':![],'error':'Path\x20parameter\x20must\x20be\x20a\x20string'});_0x3da43e();}export function createRateLimit(_0xcdbaa0=0x64,_0x49b807=0xea60){const _0x4b84fd=new Map();return(_0x1b5524,_0x1ef675,_0x654ed)=>{const _0x187a4d=a0_0x39fb,_0x3922c2=_0x1b5524['ip']||_0x1b5524['connection'][_0x187a4d(0xa2)]||_0x187a4d(0x92),_0x249a58=Date[_0x187a4d(0xa3)](),_0xf4cfba=_0x249a58-_0x49b807;!_0x4b84fd['has'](_0x3922c2)&&_0x4b84fd[_0x187a4d(0xa8)](_0x3922c2,[]);const _0x2ed6cf=_0x4b84fd[_0x187a4d(0x96)](_0x3922c2),_0x25ebc8=_0x2ed6cf[_0x187a4d(0x90)](_0x2b529c=>_0x2b529c>_0xf4cfba);_0x4b84fd['set'](_0x3922c2,_0x25ebc8);if(_0x25ebc8['length']>=_0xcdbaa0)return _0x1ef675['status'](0x1ad)[_0x187a4d(0x94)]({'success':![],'error':_0x187a4d(0x9b),'retryAfter':Math['ceil'](_0x49b807/0x3e8)});_0x25ebc8[_0x187a4d(0x97)](_0x249a58),_0x654ed();};}export function securityHeaders(_0x2f29bd,_0x1bc554,_0x239e8e){const _0x8e7d39=a0_0x39fb;_0x1bc554['set']({'Cache-Control':_0x8e7d39(0xa7),'Pragma':_0x8e7d39(0x95),'Expires':'0'}),_0x239e8e();}export function requestLogger(_0x53d42d,_0x1b1de7,_0x54ac05){const _0x4ffd76=a0_0x39fb,_0x3af45e=Date['now']();_0x1b1de7['on'](_0x4ffd76(0x8a),()=>{const _0x20b41b=_0x4ffd76,_0x1d26b9=Date['now']()-_0x3af45e;console[_0x20b41b(0x9e)]('[FileExplorer]\x20'+_0x53d42d[_0x20b41b(0xa5)]+'\x20'+_0x53d42d[_0x20b41b(0x8d)]+_0x20b41b(0x8e)+_0x1b1de7[_0x20b41b(0xa6)]+'\x20('+_0x1d26b9+'ms)');}),_0x54ac05();}
1
+ function a0_0x2fd3(_0x1c5474,_0x52bada){_0x1c5474=_0x1c5474-0xaa;const _0x20238a=a0_0x2023();let _0x2fd33e=_0x20238a[_0x1c5474];if(a0_0x2fd3['FPcHdP']===undefined){var _0x12d4c5=function(_0x5bda49){const _0x18871d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24f360='',_0xe07fc4='';for(let _0x4ee470=0x0,_0x58b5be,_0x4b959f,_0x4ece5c=0x0;_0x4b959f=_0x5bda49['charAt'](_0x4ece5c++);~_0x4b959f&&(_0x58b5be=_0x4ee470%0x4?_0x58b5be*0x40+_0x4b959f:_0x4b959f,_0x4ee470++%0x4)?_0x24f360+=String['fromCharCode'](0xff&_0x58b5be>>(-0x2*_0x4ee470&0x6)):0x0){_0x4b959f=_0x18871d['indexOf'](_0x4b959f);}for(let _0x1111a4=0x0,_0x586f15=_0x24f360['length'];_0x1111a4<_0x586f15;_0x1111a4++){_0xe07fc4+='%'+('00'+_0x24f360['charCodeAt'](_0x1111a4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe07fc4);};a0_0x2fd3['qYkFOd']=_0x12d4c5,a0_0x2fd3['lSRiuH']={},a0_0x2fd3['FPcHdP']=!![];}const _0x3c4673=_0x20238a[0x0],_0x167e91=_0x1c5474+_0x3c4673,_0x38e15b=a0_0x2fd3['lSRiuH'][_0x167e91];return!_0x38e15b?(_0x2fd33e=a0_0x2fd3['qYkFOd'](_0x2fd33e),a0_0x2fd3['lSRiuH'][_0x167e91]=_0x2fd33e):_0x2fd33e=_0x38e15b,_0x2fd33e;}(function(_0x22e380,_0x58fbee){const _0x357976=a0_0x2fd3,_0x316fa8=_0x22e380();while(!![]){try{const _0x5a49a6=-parseInt(_0x357976(0xba))/0x1*(parseInt(_0x357976(0xac))/0x2)+parseInt(_0x357976(0xbd))/0x3*(parseInt(_0x357976(0xb9))/0x4)+-parseInt(_0x357976(0xb2))/0x5*(-parseInt(_0x357976(0xc0))/0x6)+parseInt(_0x357976(0xb1))/0x7+parseInt(_0x357976(0xad))/0x8*(-parseInt(_0x357976(0xc2))/0x9)+-parseInt(_0x357976(0xaf))/0xa+parseInt(_0x357976(0xae))/0xb;if(_0x5a49a6===_0x58fbee)break;else _0x316fa8['push'](_0x316fa8['shift']());}catch(_0x437fe2){_0x316fa8['push'](_0x316fa8['shift']());}}}(a0_0x2023,0x90561));export function validatePath(_0x24f360,_0xe07fc4,_0x4ee470){const _0x4a424b=a0_0x2fd3,{path:_0x58b5be}=_0x24f360[_0x4a424b(0xb3)];if(_0x58b5be&&typeof _0x58b5be!==_0x4a424b(0xb5))return _0xe07fc4['status'](0x190)['json']({'success':![],'error':'Path\x20parameter\x20must\x20be\x20a\x20string'});_0x4ee470();}function a0_0x2023(){const _0x229dde=['mty0nJfRu0PtDui','y29UBMvJDgLVBG','ChvZAa','nM13DMPisa','BM8Ty2fJAgu','nJi1nJHVuevODva','ic0G','C2v0','CMvTB3rLqwrKCMvZCW','mMLItwXuAa','otq0vxzRuNDW','mJm3mJC2nM9Tshv2AW','nJq4mtGXmfPHqNLHuW','w0zPBgvfEhbSB3jLCL0G','ntaYmZKZnxzeDvnSrW','mZmZmtK3nw1hAK95tW','CxvLCNK','z2v0','C3rYAw5N','B3jPz2LUywXvCMW','y2vPBa','zMLSDgvY','nJq0q3zxwNLk','ndiZndK1CxrgzhrR','Bg9N','vg9Vig1HBNKGCMvXDwvZDhm'];a0_0x2023=function(){return _0x229dde;};return a0_0x2023();}export function createRateLimit(_0x4b959f=0x64,_0x4ece5c=0xea60){const _0x1111a4=new Map();return(_0x586f15,_0xbb8587,_0x53510c)=>{const _0x580a15=a0_0x2fd3,_0x631cd=_0x586f15['ip']||_0x586f15[_0x580a15(0xbe)][_0x580a15(0xab)]||'unknown',_0x57b7b7=Date['now'](),_0x3371b6=_0x57b7b7-_0x4ece5c;!_0x1111a4['has'](_0x631cd)&&_0x1111a4['set'](_0x631cd,[]);const _0x30acc5=_0x1111a4[_0x580a15(0xb4)](_0x631cd),_0x1d1cb2=_0x30acc5[_0x580a15(0xb8)](_0x25b87e=>_0x25b87e>_0x3371b6);_0x1111a4['set'](_0x631cd,_0x1d1cb2);if(_0x1d1cb2['length']>=_0x4b959f)return _0xbb8587['status'](0x1ad)['json']({'success':![],'error':_0x580a15(0xbc),'retryAfter':Math[_0x580a15(0xb7)](_0x4ece5c/0x3e8)});_0x1d1cb2[_0x580a15(0xbf)](_0x57b7b7),_0x53510c();};}export function securityHeaders(_0x3b27cc,_0x432196,_0x2ca078){const _0x1b3250=a0_0x2fd3;_0x432196[_0x1b3250(0xaa)]({'Cache-Control':'no-cache,\x20no-store,\x20must-revalidate','Pragma':_0x1b3250(0xc1),'Expires':'0'}),_0x2ca078();}export function requestLogger(_0x1b6bbe,_0x2057a8,_0x74d145){const _0x457d31=Date['now']();_0x2057a8['on']('finish',()=>{const _0x4b7a9f=a0_0x2fd3,_0x3ad2ed=Date['now']()-_0x457d31;console[_0x4b7a9f(0xbb)](_0x4b7a9f(0xb0)+_0x1b6bbe['method']+'\x20'+_0x1b6bbe[_0x4b7a9f(0xb6)]+_0x4b7a9f(0xc3)+_0x2057a8['statusCode']+'\x20('+_0x3ad2ed+'ms)');}),_0x74d145();}
@@ -1 +1 @@
1
- (function(_0x463e24,_0x5c63da){const _0x30008f=a0_0x39d4,_0x308aeb=_0x463e24();while(!![]){try{const _0x2e58dc=-parseInt(_0x30008f(0x192))/0x1+-parseInt(_0x30008f(0x193))/0x2+-parseInt(_0x30008f(0x182))/0x3*(-parseInt(_0x30008f(0x195))/0x4)+parseInt(_0x30008f(0x17e))/0x5+parseInt(_0x30008f(0x188))/0x6*(-parseInt(_0x30008f(0x18e))/0x7)+parseInt(_0x30008f(0x189))/0x8*(-parseInt(_0x30008f(0x187))/0x9)+parseInt(_0x30008f(0x18f))/0xa*(parseInt(_0x30008f(0x180))/0xb);if(_0x2e58dc===_0x5c63da)break;else _0x308aeb['push'](_0x308aeb['shift']());}catch(_0x2c624a){_0x308aeb['push'](_0x308aeb['shift']());}}}(a0_0x5182,0x67853));import a0_0x4334d4 from'express';import a0_0x189616 from'./controller.js';import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';function a0_0x5182(){const _0x3451fc=['Aw5JBhvKzxm','y29Kzq','zxjYB3i','mZa2mdGWmeH0ALnqyG','l2n3za','mteWmtmYnZDJCgjvvey','Dhj1zq','mti2mtHWz01jthu','z2v0','BM90igzVDw5K','C3rHDhvZ','sw50zxjUywWGC2vYDMvYigvYCM9Y','ou9mB25YyG','mZi5mZq4nfLWsK5Zyq','mJq3nJe0nfHuDhj0Ea','yNjVD3nLrgLYzwn0B3j5','Cgf0Aa','Cg9ZDa','ANnVBG','n1n3rNHLzq','mtb3qNzxDKq','DxnL','ruvysvnu','mZuXnty0y0XSAu9d','mta2mdy3nLDbCMHXzG','CxvLCNK','nti0qKrou29z','C3vJy2vZCW','CMvZDhjPy3rLza'];a0_0x5182=function(){return _0x3451fc;};return a0_0x5182();}export function createFileExplorerRouter(_0x2b061d={}){const _0x3b7ece=a0_0x39d4,_0x39c15d=a0_0x4334d4['Router'](),_0x31b1ab=new a0_0x189616(_0x2b061d);return _0x39c15d[_0x3b7ece(0x190)](requestLogger),_0x39c15d[_0x3b7ece(0x190)](securityHeaders),_0x39c15d['use'](createRateLimit(0x64,0xea60)),_0x39c15d['get']('/health',(_0xe06e6b,_0x23ea03)=>{const _0x5bd52b=_0x3b7ece,_0x243453=_0x31b1ab['healthCheck']();_0x23ea03[_0x5bd52b(0x18d)](_0x243453);}),_0x39c15d['get'](_0x3b7ece(0x17f),(_0xf7233b,_0x669928)=>{const _0x119960=_0x3b7ece,_0x568f15=_0x31b1ab['getCurrentWorkingDirectory']();_0x669928[_0x119960(0x18d)](_0x568f15);}),_0x39c15d[_0x3b7ece(0x183)]('/browse',validatePath,async(_0x11c97f,_0x2b3dee)=>{const _0x1f3038=_0x3b7ece;try{const _0x4520c7=_0x11c97f['query']['path'],_0x1d5aaf={'showHidden':_0x11c97f[_0x1f3038(0x194)]['showHidden']===_0x1f3038(0x181)},_0x4de618=await _0x31b1ab[_0x1f3038(0x18a)](_0x4520c7,_0x1d5aaf);if(_0x4de618['success'])_0x2b3dee[_0x1f3038(0x18d)](_0x4de618);else{const _0x57fbfc=_0x4de618[_0x1f3038(0x17d)]['includes'](_0x1f3038(0x197))?0x193:_0x4de618['error'][_0x1f3038(0x198)](_0x1f3038(0x184))?0x194:0x190;_0x2b3dee[_0x1f3038(0x185)](_0x57fbfc)['json'](_0x4de618);}}catch(_0x2044a6){_0x2b3dee['status'](0x1f4)[_0x1f3038(0x18d)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x39c15d['get']('/file-info',validatePath,async(_0x4566e6,_0x52ff9c)=>{const _0x30b763=_0x3b7ece;try{const _0xd54ecb=_0x4566e6['query'][_0x30b763(0x18b)],_0x497cc3=await _0x31b1ab['getFileInfo'](_0xd54ecb);if(_0x497cc3[_0x30b763(0x196)])_0x52ff9c[_0x30b763(0x18d)](_0x497cc3);else{const _0x4a272d=_0x497cc3['error']['includes'](_0x30b763(0x184))?0x194:0x190;_0x52ff9c['status'](_0x4a272d)[_0x30b763(0x18d)](_0x497cc3);}}catch(_0x146010){_0x52ff9c[_0x30b763(0x185)](0x1f4)[_0x30b763(0x18d)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x39c15d[_0x3b7ece(0x18c)]('/mkdir',a0_0x4334d4['json'](),async(_0x2115a6,_0x2300fd)=>{const _0x5f5b9e=_0x3b7ece;try{const {path:_0x223c53,recursive:recursive=![]}=_0x2115a6['body'];if(!_0x223c53)return _0x2300fd['status'](0x190)[_0x5f5b9e(0x18d)]({'success':![],'error':'Directory\x20path\x20is\x20required'});const _0x21f892=await _0x31b1ab['createDirectory'](_0x223c53,{'recursive':recursive});if(_0x21f892['success'])_0x2300fd['json'](_0x21f892);else{const _0x5b58ee=_0x21f892[_0x5f5b9e(0x199)]===_0x5f5b9e(0x191)?0x199:0x190;_0x2300fd['status'](_0x5b58ee)[_0x5f5b9e(0x18d)](_0x21f892);}}catch(_0x5684a7){_0x2300fd['status'](0x1f4)['json']({'success':![],'error':_0x5f5b9e(0x186)});}}),_0x39c15d;}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};function a0_0x39d4(_0x3b7b3b,_0x29ee6e){_0x3b7b3b=_0x3b7b3b-0x17d;const _0x518263=a0_0x5182();let _0x39d461=_0x518263[_0x3b7b3b];if(a0_0x39d4['nVrpUD']===undefined){var _0x20696f=function(_0x256029){const _0x2a05b8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4334d4='',_0x189616='';for(let _0x2b061d=0x0,_0x39c15d,_0x31b1ab,_0xe06e6b=0x0;_0x31b1ab=_0x256029['charAt'](_0xe06e6b++);~_0x31b1ab&&(_0x39c15d=_0x2b061d%0x4?_0x39c15d*0x40+_0x31b1ab:_0x31b1ab,_0x2b061d++%0x4)?_0x4334d4+=String['fromCharCode'](0xff&_0x39c15d>>(-0x2*_0x2b061d&0x6)):0x0){_0x31b1ab=_0x2a05b8['indexOf'](_0x31b1ab);}for(let _0x23ea03=0x0,_0x243453=_0x4334d4['length'];_0x23ea03<_0x243453;_0x23ea03++){_0x189616+='%'+('00'+_0x4334d4['charCodeAt'](_0x23ea03)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x189616);};a0_0x39d4['XWQaSg']=_0x20696f,a0_0x39d4['HTPMYJ']={},a0_0x39d4['nVrpUD']=!![];}const _0x4cd88f=_0x518263[0x0],_0x19e99f=_0x3b7b3b+_0x4cd88f,_0x4024b2=a0_0x39d4['HTPMYJ'][_0x19e99f];return!_0x4024b2?(_0x39d461=a0_0x39d4['XWQaSg'](_0x39d461),a0_0x39d4['HTPMYJ'][_0x19e99f]=_0x39d461):_0x39d461=_0x4024b2,_0x39d461;}export default createFileExplorerRouter;
1
+ (function(_0x5db4bc,_0x421152){const _0x5712d1=a0_0xcd57,_0x40d416=_0x5db4bc();while(!![]){try{const _0x8229d1=parseInt(_0x5712d1(0x89))/0x1*(parseInt(_0x5712d1(0x97))/0x2)+-parseInt(_0x5712d1(0x93))/0x3*(parseInt(_0x5712d1(0xa0))/0x4)+-parseInt(_0x5712d1(0x94))/0x5+-parseInt(_0x5712d1(0x95))/0x6+parseInt(_0x5712d1(0x86))/0x7*(parseInt(_0x5712d1(0x81))/0x8)+-parseInt(_0x5712d1(0x91))/0x9*(-parseInt(_0x5712d1(0x8d))/0xa)+-parseInt(_0x5712d1(0x9c))/0xb*(parseInt(_0x5712d1(0x8f))/0xc);if(_0x8229d1===_0x421152)break;else _0x40d416['push'](_0x40d416['shift']());}catch(_0x26d056){_0x40d416['push'](_0x40d416['shift']());}}}(a0_0x446f,0x21c0f));import a0_0x50437e from'express';import a0_0x572e5b from'./controller.js';import{validatePath,createRateLimit,securityHeaders,requestLogger}from'./middleware.js';export function createFileExplorerRouter(_0x3e1139={}){const _0x236cf0=a0_0xcd57,_0x4da1cf=a0_0x50437e[_0x236cf0(0x8b)](),_0x4973bb=new a0_0x572e5b(_0x3e1139);return _0x4da1cf[_0x236cf0(0x98)](requestLogger),_0x4da1cf['use'](securityHeaders),_0x4da1cf['use'](createRateLimit(0x64,0xea60)),_0x4da1cf['get'](_0x236cf0(0xa4),(_0x3baf89,_0xc511c5)=>{const _0xa5e017=_0x4973bb['healthCheck']();_0xc511c5['json'](_0xa5e017);}),_0x4da1cf[_0x236cf0(0x8c)](_0x236cf0(0x9f),(_0x2ea9ef,_0xa1d2f4)=>{const _0x258efb=_0x236cf0,_0x302ef9=_0x4973bb[_0x258efb(0x9d)]();_0xa1d2f4['json'](_0x302ef9);}),_0x4da1cf['get']('/browse',validatePath,async(_0x466de5,_0x4a5cac)=>{const _0x58a71a=_0x236cf0;try{const _0x514362=_0x466de5[_0x58a71a(0x83)]['path'],_0x3a035b={'showHidden':_0x466de5['query'][_0x58a71a(0x80)]===_0x58a71a(0x9a)},_0x8f69c6=await _0x4973bb[_0x58a71a(0x84)](_0x514362,_0x3a035b);if(_0x8f69c6['success'])_0x4a5cac[_0x58a71a(0x90)](_0x8f69c6);else{const _0x64e2b9=_0x8f69c6[_0x58a71a(0x96)][_0x58a71a(0x9e)]('restricted')?0x193:_0x8f69c6['error'][_0x58a71a(0x9e)](_0x58a71a(0xa2))?0x194:0x190;_0x4a5cac['status'](_0x64e2b9)[_0x58a71a(0x90)](_0x8f69c6);}}catch(_0x2ff144){_0x4a5cac['status'](0x1f4)[_0x58a71a(0x90)]({'success':![],'error':'Internal\x20server\x20error'});}}),_0x4da1cf[_0x236cf0(0x8c)](_0x236cf0(0x87),validatePath,async(_0x15669e,_0x31d3fd)=>{const _0x13e9d0=_0x236cf0;try{const _0x2ccb54=_0x15669e[_0x13e9d0(0x83)][_0x13e9d0(0xa5)],_0x18de53=await _0x4973bb[_0x13e9d0(0xa1)](_0x2ccb54);if(_0x18de53[_0x13e9d0(0x88)])_0x31d3fd[_0x13e9d0(0x90)](_0x18de53);else{const _0x4886d4=_0x18de53[_0x13e9d0(0x96)]['includes']('not\x20found')?0x194:0x190;_0x31d3fd['status'](_0x4886d4)['json'](_0x18de53);}}catch(_0x178381){_0x31d3fd[_0x13e9d0(0x99)](0x1f4)['json']({'success':![],'error':_0x13e9d0(0x82)});}}),_0x4da1cf[_0x236cf0(0x8a)](_0x236cf0(0x92),a0_0x50437e['json'](),async(_0x377e4c,_0x2d14a)=>{const _0x78e958=_0x236cf0;try{const {path:_0x4eb2a4,recursive:recursive=![]}=_0x377e4c[_0x78e958(0xa3)];if(!_0x4eb2a4)return _0x2d14a[_0x78e958(0x99)](0x190)[_0x78e958(0x90)]({'success':![],'error':_0x78e958(0x9b)});const _0x288ee5=await _0x4973bb['createDirectory'](_0x4eb2a4,{'recursive':recursive});if(_0x288ee5['success'])_0x2d14a[_0x78e958(0x90)](_0x288ee5);else{const _0x49afb6=_0x288ee5[_0x78e958(0x8e)]===_0x78e958(0x85)?0x199:0x190;_0x2d14a[_0x78e958(0x99)](_0x49afb6)['json'](_0x288ee5);}}catch(_0x12f1de){_0x2d14a['status'](0x1f4)['json']({'success':![],'error':_0x78e958(0x82)});}}),_0x4da1cf;}function a0_0xcd57(_0x5d4e6b,_0xa763f){_0x5d4e6b=_0x5d4e6b-0x80;const _0x446f35=a0_0x446f();let _0xcd5761=_0x446f35[_0x5d4e6b];if(a0_0xcd57['ALKYZb']===undefined){var _0x3bf073=function(_0x483310){const _0x516746='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50437e='',_0x572e5b='';for(let _0x3e1139=0x0,_0x4da1cf,_0x4973bb,_0x3baf89=0x0;_0x4973bb=_0x483310['charAt'](_0x3baf89++);~_0x4973bb&&(_0x4da1cf=_0x3e1139%0x4?_0x4da1cf*0x40+_0x4973bb:_0x4973bb,_0x3e1139++%0x4)?_0x50437e+=String['fromCharCode'](0xff&_0x4da1cf>>(-0x2*_0x3e1139&0x6)):0x0){_0x4973bb=_0x516746['indexOf'](_0x4973bb);}for(let _0xc511c5=0x0,_0xa5e017=_0x50437e['length'];_0xc511c5<_0xa5e017;_0xc511c5++){_0x572e5b+='%'+('00'+_0x50437e['charCodeAt'](_0xc511c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x572e5b);};a0_0xcd57['qPRlpI']=_0x3bf073,a0_0xcd57['thZGgK']={},a0_0xcd57['ALKYZb']=!![];}const _0x44bc8f=_0x446f35[0x0],_0x53a645=_0x5d4e6b+_0x44bc8f,_0x5467d3=a0_0xcd57['thZGgK'][_0x53a645];return!_0x5467d3?(_0xcd5761=a0_0xcd57['qPRlpI'](_0xcd5761),a0_0xcd57['thZGgK'][_0x53a645]=_0xcd5761):_0xcd5761=_0x5467d3,_0xcd5761;}function a0_0x446f(){const _0x194fce=['l21RzgLY','mJrluxf3rum','ntC3mJqWDhvHDw1p','ndiWodqWu0zoAxnS','zxjYB3i','mJqZmhrLz0PpEa','DxnL','C3rHDhvZ','Dhj1zq','rgLYzwn0B3j5ihbHDgGGAxmGCMvXDwLYzwq','ndK5nfjzrgDjAW','z2v0q3vYCMvUDfDVCMTPBMDeAxjLy3rVCNK','Aw5JBhvKzxm','l2n3za','nJG4ndb4vNrWuMe','z2v0rMLSzuLUzM8','BM90igzVDw5K','yM9KEq','l2HLywX0Aa','Cgf0Aa','C2HVD0HPzgrLBG','mtiZmdy0qLjuzKrb','sw50zxjUywWGC2vYDMvYigvYCM9Y','CxvLCNK','yNjVD3nLrgLYzwn0B3j5','ruvysvnu','otHczKLyquq','l2zPBguTAw5MBW','C3vJy2vZCW','nu9zqwHqDa','Cg9ZDa','uM91DgvY','z2v0','mJbiv2vpveC','y29Kzq','ode2q2Plzg1h','ANnVBG','mtiXotmXmuTvwejizG'];a0_0x446f=function(){return _0x194fce;};return a0_0x446f();}export const defaultConfig={'showHidden':![],'allowedExtensions':[],'maxDepth':0x32,'restrictedPaths':[]};export default createFileExplorerRouter;